1,593 Commits over 608 Days - 0.11cph!
Budget the main thread part of navmesh building
Fix binary saving overwriting the beginning of the previous save but leaving without truncating the end
Fix incorrect cleanup on load fail
Better logs, fix out of bounds tile index, fix incorrect warning when loading a navmesh from a save
Fix tilesLoaded never being incremented, causing loading to fail
Finish refactor to have individual navmesh instances instead of a singleton, todo fix crash on destroy
Prepare refactor to have multiple navmeshes in same world
* new namespace for all new nav stuff to avoid confusion with old
* separate global methods
* navmesh instance methods
* C++ wrapper methods
* path helper methods
* geometry helper methods
Prepare work on moving navmesh
Update rust native lib for all platforms to contains the new recast code
Cherry pick to compensate scientist dmg lowered by armor buff, should now be on par previous patch (fullmetal is same ttk, hazmat will take less dmg, naked will take more dmg)
Rebalance scientist damage to compensate armor buff, should kill fullmetal when landing every shot in one full mp5 mag
Potential fix for red card room scientist turning invisible
Potential fix for scientists weapon leak
Fix animals and naval scientists only fleeing or being passive
Fix path not logging to vddraw, fix animals always fleeing
Fix animals running in circles
Fix compile errors from merge
Fix scientist weapons floating at world origin on server
Fix naval scientists new entity weapons leak, make sure new scientist weapon are not saved if the scientists themselves are not saved
Add convar to tweak radius of the vision occluding ball generated by smokes for NPCs
Fix naval scientist laser sight not being on during the day
Fix FSMTransitionBase.get_Senses NRE
Fix "SwitchParent Missed scientist2.corpse" log when naval scientist dies
Add option to debug traces to ai debug prefab, to test bushes / smoke in editor
Fix scientists not repositionning when a sniper flanks them, even if the shots land near them
Potential fix for scientists rendering while sleeping, then being shot without reacting, and dying only if the player gets close again
Fix scientists bypassing a big part of player armor, eg hazmat only blocking 5% of scientist damage, and fullmetal only blocking 25%. Most clothing will now block damage as you'd expect (eg hazmat blocks 30% and fullmetal around 50%).
Fix "navmesh ready" log spam
Merge from naval_cleanup_scientist_fixes
Refine fix for scientists going to the floor above when player stands on something like a desk, better but not ideal, need our recast integration sadly to properly fix this
Go through the SetHeld flow for weapon scientists to allow the lights to be turned on by SetLightsOn
Fix some cases where scientists were still seeing you too easily through smoke
Fix naval scientist flashlight/lasersight not working
Remove option to have transitions and state not receive a payload, it's less bug prone
Refactor fsm transition->state parameter passing (eg for grenades, covers etc), not super happy as it feels very "blackboardy" but couldn't find a way to do it with polymorphism/interfaces without boxing structs
Manually merge recast logic with new code
Only use the fallback if the sample radius was large
Remove unecessary trace in SamplePosition fallback
Only call smoke detection code if the target is in the view cone to save on perf, allow seeing through smoke if the target is within touch distance
Potential fix for scientists seeing through smoke, will be applied to bushes if it's successful
Potential fix for "Standing on desks on ghostships tricks the AI"
Temp fix for "When there is no cover around and the scientists need to reload, they jitter awkwardly"