It seems there is an issue with Halo (at least with Custom Edition, It might happen on Trial too) when you attempt to spawn a biped object in a map defined as UI the games crashes, I tried several things to make it work but all of them end with a crash due to some kind of validation the game does to biped objects, more specifically an empty EDX pointer in some float comparision instruction is causing the crash.
So in order to be able to use bipeds for another project I am working on I wanted to apply a "fix" to that wierd validation, more like a workaroud tbh, I was not able to fully understand the purpose of that function and why it is crashing due to that empty register but at least I do know that we can bypass the object float validation on the UI safely.
Here is a stock ui.zip with an object pre added to the scenario map to replicate the issue (it happens in any kind of case, different bsp, different camera position, object, etc) It only happens if the object is a biped and it spawns on a UI type map.
Use object_create test to crash the game and get an exception.
It seems there is an issue with Halo (at least with Custom Edition, It might happen on Trial too) when you attempt to spawn a biped object in a map defined as UI the games crashes, I tried several things to make it work but all of them end with a crash due to some kind of validation the game does to biped objects, more specifically an empty EDX pointer in some float comparision instruction is causing the crash.
So in order to be able to use bipeds for another project I am working on I wanted to apply a "fix" to that wierd validation, more like a workaroud tbh, I was not able to fully understand the purpose of that function and why it is crashing due to that empty register but at least I do know that we can bypass the object float validation on the UI safely.
Here is a stock ui.zip with an object pre added to the scenario map to replicate the issue (it happens in any kind of case, different bsp, different camera position, object, etc) It only happens if the object is a biped and it spawns on a UI type map.
Use
object_create test
to crash the game and get an exception.And a video showing the workaround fix in action: https://github.com/SnowyMouse/chimera/assets/40512223/d08cc914-770b-41f9-ada8-5186a440cdbb
I confirmed fix gets reverted when you are not in a UI map type anymore so it should be safe, let me know your toughts :)