Skip to content
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

tf_viewmodel entities don't render correctly when the server changes their model to anything other than the one the client expects for a given class #3545

Closed
triggerhurt opened this issue Apr 26, 2021 · 1 comment

Comments

@triggerhurt
Copy link

I tried using the in-game bug reporter, not sure if those actually go through or not so I'm submitting it here as well. Apologies if this is redundant.

If the tf_viewmodel's model is changed to literally any other model (regardless of validity), three odd behaviors occur:

  1. The original viewmodel arms and animations will display for a single frame at the start (end?) of each animation cycle
  2. Animations stop blending whatsoever when the action related to that animation ends, causing the motion to snap instead of blending like it does when no change occurs (this is best demonstrated with melee weapons, which rely on that smooth transition to look correct)
  3. Despite the change taking place server-side, the sequence order is not updated (correctly?), because the client will display animations with matching numbers on the new model, even if the activities are different.

I believe this may be related to prediction because the first two issues don't occur when spectating other players in first person; to my knowledge, the client does not (and cannot) predict the viewmodel of other players, only their own.

Many sendprops that should be inherited from CBaseAnimating appear to be missing, at least server-side. Possibly related?

@triggerhurt
Copy link
Author

Recent tf2 update added a solution to this problem via m_nCustomViewmodelModelIndex; technically the issue of changing the model index directly still exists, but this new sendprop allows you to avoid doing that in the first place, therein solving the problem.

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

No branches or pull requests

2 participants