1.added min and max prone look angle to datablock
2.added crawlsound, triggered like footsteps by animation trigger 3
3.added missing code for prone_side and prone_right animations
4.replaced box left/right/back/front head percentages with torso percentages, makes more sense for general use.
5.getDamageLocation() overhauled for better results in every pose
6.tweak to canSwim() to make sure player is actually submerged enough for the swim bounding box
7.fixed canCrouch(), canProne(), and canStand() calculations to work with lower boxSize.z values.
8.swapped order of canCrouch() and canProne() checks crouch so crouch does not need to be released in order to go prone (allows for scripting momentary crouch but toggle prone type setup if desired)
9.Added an engineMethod to check canProne() from script
10.tweaked canSprint to not allow if mWaterCoverage > 0.5
update bitmapPng reading from libpng to have context in warnings and errors, also add a bit of a better structure around the read and write functions.
Interlaced PNG's were never being accounted for before so add the png_set_interlace_handling for interlaced pngs
clearing the active program caused issues during a target bake as we call glClear after setting the shader etc. As this warning id 131204 seems to be a product of doing this, everything i read up on it says it is safe to silence it.
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.