Skip to content

(Temporary workaround) Fix issues with dynamic models on listen servers #1483

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

ficool2
Copy link
Contributor

@ficool2 ficool2 commented Aug 8, 2025

Disclaimer: This is a temporary pull request until the engine is updated with the fixes, this is not intended to be merged

TF2 has some issues with dynamic models on listen servers. Dynamic models are models that are loaded on-demand rather than precached, and this system is used by cosmetics and taunts.

This PR adds a workaround to fix these two engine issues:

  1. Dynamic models that are loaded on the host clientside first will not appear for other servers. For example, opening the class menu registers the models clientside, and other players will not see the host's cosmetics. This is because when the server registers the dynamic model, the model is are already loaded and the engine thinks they have been marked as loaded for networking, but they aren't.
  2. Cosmetics render as the wrong model for the host after a map change (e.g. via changelevel), as the engine clears the dynamic model list on the server but forgets to do it on the client

This also fixes the host client crash on changelevel related to invalid bones in cosmetics (this was caused by bug 2).

Once the engine receives these fixes, these temporary workarounds can be removed.

@ficool2 ficool2 marked this pull request as draft August 8, 2025 21:54
TheBetaM added a commit to TheBetaM/tf-solo that referenced this pull request Aug 8, 2025
Bitl added a commit to BitlDevelopmentStudios/source-sdk-2013-bds-base that referenced this pull request Aug 10, 2025
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