Fixes longstanding issues with low nb_update_frequency.
Current list of fixes
Infected stucking at corners
Commons pushing themselves out of the way
Climb up ledge activity stucking
ConVars
PHP Code:
// 0 - Use original function, 1 - Use extension implementation with fix, 2 - Use extension implementation without fix, 3 - Neither of calls
z_resolve_collision "1"
// Listen server only
// 0 - Disable collision overlay, 1 - Enable collision overlay, 2 - Enable clean collision overlay (works only for 1 common but smoother)
z_resolve_collision_debug "0"
// 0 - Use original function, 1 - Use extension implementation
z_resolve_zombie_climb_up_ledge "1"
// 0 - Use original function; 1 - Use extension implementation
z_resolve_zombie_collision "1"
// Multiplier of commons collision force
z_resolve_zombie_collision_multiplier "1.0"
// Automatically manages power of collision between commons
z_resolve_zombie_collision_auto_multiplier "1"
For developers?
Spoiler
If you are curious what was the problem then keep reading.
You probably know about problem where with high tickrate and low nb_update_frequency value, common infected starts getting stuck at every possible corner.
It's because due to lower interval between updates common infected moves less distance and that starts triggering early return for collision check without a chance to escape collision resolution or try to solve it (See code references).
Yep that's it.
Why thread has "Experimental" in parentheses?
Because even tho I removed those 2 checks and this fixed the problem I still have no idea why someone added them and what could potentially break without them.
Extension doesn't fix every possible stuck situations.
Only those that were affected by ResolveCollision early return but thanks for report, I will try to fix it.
Extension doesn't fix every possible stuck situations.
Only those that were affected by ResolveCollision early return but thanks for report, I will try to fix it.