Skip to content

Conversation

@ficool2
Copy link
Contributor

@ficool2 ficool2 commented Oct 24, 2025

If an entity is bonemerging to a parent whose model has not been loaded yet, this will cause a server crash. This has been a top cause of crashing on a specific community server across various maps.

Specifically this is caused by CBaseAnimating::SetupBones not checking if the model pointer is valid when attempting to fetch the parent's bone cache. This PR introduces a check for validity.

In addition, all call sites to CBaseAnimating::GetBoneCache are required now to pass the model pointer. This is consistent with the client (see C_BaseAnimating::GetBoneCache), and also prevents inefficiency, as GetModelPtr() is expensive.

image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant