Made vehicle wheel suspension job 95% faster in the worst case scenarios.
Made soldier grounding IK job 70% faster.
Made helicopter and plane movement jobs about 90% faster by time slicing obstacle avoidance physics queries.
Re-ordered systems at the end of the physics fixed step to increase multithreading.
Improved physics collider compounding to use larger compounding areas, which saves another 25% of physics time.
Compounded physics objects of all kinds into the same compound collider cells to drastically accelerate physics world building and broadphase.
Compounded static road props into those same cells, reducing rigid body counts even further. Reduced physics object counts by 50%.
Optimized pooled and unused unit indicators to have less impact on the rendering pipeline.
Improved unit indicators system to save text processing time on indicator texts that are not being displayed or have empty texts (96% improvement = 7ms of savings in Braccia adding all threads).
Migrated almost every object in the game to this new collider compounding system, reducing dependency on the per cell freezing I used before. This allow granular dynamic freezing at the object level even if other objects are moving around it.
Fixed a memory leak related to the new compound colliders disposal. In the process I found another related memory leak due to collider disposal that has been there since the beginning so I ended up reducing RAM memory usage too!
OTHER IMPROVEMENTS:
Fixed bomb target orders preview staying in place after canceling or switching to a different order type to draw(on escape? on change of order type?)
Fixed missiles hovering sideways in the air. Now I am applying proper sideways drag instead of turning velocity vector.
Fixed Templar negative backup ammo issue after supply. Added warnings so it doesn’t happen again to any other unit in the future.
Increased Templar arty projectile size and explosive power.
Fixed tank and arty projectile colliders size.
Fixed helicopters rockets not hitting where you are aiming when moving fast.
Improved order panel design to be less blindingly yellow and have better spacing.
Made right click cancel any current action like building, drawing orders or the eraser tool.
Make clicking to delete an order not cancel the eraser tool (in addition to being able to click and drag to delete orders like an eraser on a blackboard)
Made jets stabilize their pitch and yaw angular velocity when no input is given.
Fixed debugging issue that was making some crashes unexplicable, and fixed a crash as a result.
Fixed some explosive projectiles randomly not exploding on impact as expected.
Made jets 30mm cannons way more damaging, with larger and explosive rounds.
Improved tracer rounds to match ammo calibers better.
Made big rounds (for example from Charly) kill infantry in a small radius from impact and not only on direct hits.
Improved helicopter shooting flash particles.
Fixed long fire trails when vehicles are moving.
Fixed helicopters shooting non-stop forever if they are killed exactly in the frame they are shooting
Hiding factory icons when close to the camera and making them a bit larger.
Reduced explosion damage radius.
Made explosions look as powerful as they are.
Fixed some physics freezing/unfreezing behaviors causing heavy objects to fly away at high speeds after an explosion or hard impact due to incorrect mass.
Fixed selection outlines on units not showing up against ocean background.
Stop helicopter rotors and dust kick-up properly on rotor destruction.
Fixed slow footsteps still audible when soldiers are stopped or dead.