The core of this issue was the unlock on the GFXGLTextureObject
Few other bug fixes around setting a texture binding to 0, notice in clear function we now also clear the glprogram and the buffers. This seems to fix most of the warnings around id 131204
This warning was triggered every frame, now it just triggers when a shader expects a texture but none is active.
player and vehicle were not loading some of thier sounds.
we'll want to revisit this with a more comprehensive solution in the future, but this will at least allow folks to use the systems in place
There is an exception on teardown usually during a debug build that is caused during shapeBase onRemove calling hasAccumulation.
This fix reorders the hasAccumulation check to be before shapebase calls Parent::onRemove, and also hard sets the mMaterialList to NULL when setMaterialList is called
from marauder:
Fixing transform plane as some descrepencies between the simd function and the c math caused issues with precision.
Use c math for inverse functions until a proper simd implementation can be found.
In Player::updatePos(), when processing physics collision results, the code was incorrectly using col.object instead of colCheck.object when checking if the collision object is a player.
This caused:
- First iteration: col.object is uninitialized (zeroed), leading to null pointer access
- Subsequent iterations: col.object contains the previous iteration's value, causing incorrect type checks
The fix changes col.object to colCheck.object to properly check the current collision object.
the opened ddsfs file for pulling metadata was leaking. The FileStream function close does not delete the pointer to the original file only FileObject does this. It might be worthwhile instead to switch to using fileObject anywhere we use a filestream that way we can be at least somewhat safe in using the object and once it goes out of scope the raw pointer will be freed
wrap safety around normal checks, this was done on the scalar math may as well do it here just in case.
Ad the impl.inl files to libraries so they can actually be found.
removed some x86 intrinsic functions that were in the mat44_impl file
reinstated some mMath_C functions and mMathFn ptrs trying to diagnose an issue.
Had to come up with a different way to initialize the scalar table if the isa tables are not initialized yet. Mac did not like the static initialization.
Had to change neon over to using explicit masks for shifting, cross product was failing during bakes and matrix calculations