Player cannot join the map because of vphysics (IVP at core_plausible_check()) crash #211
Labels
No labels
branch-old
branch-rewrite
bug
cannot-reproduce
duplicate
enhancement
fixed-old
fixed-rewrite
game
invalid
might-return-to
need-feedback
need-search
question
tools
wiki
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
Archive/LeakNet#211
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
get_rot_inertia() from IVP is returning infs when starting a map
That's because of "player_stand" physics shadow inertia in SetupVPhysicsShadow. Calculation of it is done in IVP_Real_Object::init_object_core().
The "temporary"(?) solution is setting player physics shadow inertia not to 1e24f, but to some other value (I've set that to 0 just in case, and it's working fine for now).
The proper solution - is to determine what causes those wrong calculations
Looking for the proper solution
Looks like there's lack of precision for calculating the quad_length() (IVP_Real_Object::init_object_core() -->rot_inertia.real_length() --> quad_length())
http://cpp.sh/8ares
Actually, 1e24 is much greater than P_FLOAT_MAX definition in ivu_types.hxx, which is 1e20f. Why Valve decided to choose exactly 1e24? Not sure about this.
Fixed in
gitlab.com/UAVXP/LeakNet/-@799bbda5faclosed
I might change this magic constant through the whole codebase
gitlab.com/UAVXP/LeakNet/-@982ce40914mentioned in issue #218
marked this issue as related to #353
mentioned in issue #353
gitlab.com/leaknet/LeakNet/-@748b1f58de