Bug #735

Player model is shaking

Added by Saukko over 4 years ago. Updated about 4 years ago.

Status:Fixed% Done:

100%

Priority:Normal
Assignee:-
Category:Mod generic
Target version:2.74
OS: Arch:

Description

Pretty cool dance moves. Check the demo.
Probably has something to do with the new hitbox commits.

-*S

demo0017.dm_84 (174 KB) Saukko, 18.12.2014 10:35


Related issues

Related to ET: Legacy Development - Feature #198: All new hitbox and bounding box system New 10.02.2013
Related to ET: Legacy Development - Bug #285: Make sv_fps independent from the code New 07.04.2013
Related to ET: Legacy Development - Bug #707: Players warping in LAN games (listen server) Fixed 11.12.2014

Associated revisions

Revision 3ec570f3
Added by IR4T4 over 4 years ago

game: fix warnings refs #735

Revision 36e994ba
Added by IR4T4 over 4 years ago

game: SnapVector removed - see BG_PlayerStateToEntityState refs #735

Revision 4badfd4b
Added by Spyhawk over 4 years ago

game: temporary workaround for shaking models, refs #735

Revision 00a9ee39
Added by Spyhawk over 4 years ago

Revert "game: temporary workaround for shaking models, refs #735"

This reverts commit 4badfd4b0819f4ed5132eca23acf7aafd22ecbcc.

Revision 7e92fb58
Added by IR4T4 about 4 years ago

game: use float instead of int to calculate move

Revision a847c9cf
Added by Zecklar about 4 years ago

game: Possible player model shake fix, refs #735

Revision 625c1199
Added by Spyhawk about 4 years ago

game: keep client frames interpolation synchronized, refs #735

History

#1 Updated by RaFaL over 4 years ago

I watched that demo and for me nothing is happening

#2 Updated by Saukko over 4 years ago

  • Priority changed from Normal to High

It seems that the problem can’t be seen on the demo. You have to do it yourself then. Host a game and open a new client to join the local game. You will see it when you spectate it.

-*S

#3 Updated by Spyhawk over 4 years ago

  • Status changed from New to Confirmed

#4 Updated by Spyhawk over 4 years ago

  • Related to Feature #198: All new hitbox and bounding box system added

#5 Updated by Spyhawk over 4 years ago

Responsible commit seems to be eb6b0b62c3635eb1fec5ca0d3bcddcfc6ffb0da3.

I’ve also 2 additional related warnings:

/src/game/g_antilag.c:520:8: warning: unused variable 'buffer' [-Wunused-variable]        
        char  buffer[MAX_CVAR_VALUE_STRING];
              ^
/src/game/g_antilag.c:919:2: warning: implicit declaration of function 'PmovePredict' is  
      invalid in C99 [-Wimplicit-function-declaration]
        PmovePredict(&pm, frametime);
        ^

#6 Updated by IR4T4 over 4 years ago

I have no shake. How to reproduce?

#7 Updated by Saukko over 4 years ago

I had those same warnings on VS. Well there’s no way to reproduce it... Just spectate a player model with another client. All I can give as advice.

-*S

#8 Updated by RaFaL over 4 years ago

I can reproduce it it only occurs in hosted client

@IR4T4
Host Game with 1 client and connect to this sercer with 2nd one

#9 Updated by Spyhawk over 4 years ago

Yes, it does occurs only with a listen server.

Also, in the client console (not the listen server console) the following warning appears:

WARNING: server is not allowed to set sv_fps=20

This might be related to this issue.

#10 Updated by Saukko over 4 years ago

Spyhawk wrote:

... WARNING: server is not allowed to set sv_fps=20 ...

I get this warning always when I play with ET:L in nq servers but just got this warning for the first time in a local game today.

-*S

#11 Updated by Spyhawk over 4 years ago

Not sure if this helps, but the issue isn’t visible when reverting the last parameter of BG_PlayerStateToEntityState() to qfalse in g_active.

#12 Updated by IR4T4 over 4 years ago

  • Target version changed from 2.71 to 2.72

#13 Updated by Spyhawk over 4 years ago

Interesting fact: this issue only happens at the initial map spawn. Once killed + respawn, models aren’t shaking anymore.

Hmm, no. Seems somewhat random...

#14 Updated by IR4T4 over 4 years ago

  • Target version changed from 2.72 to 2.78

#15 Updated by IR4T4 over 4 years ago

  • Priority changed from High to Normal

#16 Updated by Saukko over 4 years ago

I just found out today that this issue isn’t mod related at all. I had this bug occuring also in NQ. I tried out overheating stuff there in \devmap.

-*S

#17 Updated by Spyhawk over 4 years ago

For what it’s worth: setting com_maxfps = 20 "fixes" the issue. It seems related to sv_fps = 20 sets server-side.

#18 Updated by Spyhawk over 4 years ago

  • Related to Bug #285: Make sv_fps independent from the code added

#19 Updated by IR4T4 about 4 years ago

  • Status changed from Confirmed to Feedback
  • Target version changed from 2.78 to 2.74

This issue seems fixed. I can’t reproduce it with latest code.

I did start a listen server and connected with another client → no shaky shaky

#20 Updated by Spyhawk about 4 years ago

I can still reproduce.

#21 Updated by Zecklar about 4 years ago

I didn’t manage to reproduce the problem. I hosted a game with client and connected with another client. I couldn’t see anything strange while spectating. Isn’t there any a bit more detailed info to share?

#22 Updated by Spyhawk about 4 years ago

The two clients should be playing (look one with the other), you won’t notice the bug as spectator. Bots aren’t affected.

#23 Updated by Saukko about 4 years ago

Start two clients, one on Allies, one on Axis. Choose either of those players and go to the other. If you can’t see the shake, shoot once and it should at latest start then.
I can’t test this myself now. Next week probably.

-*S

#24 Updated by IR4T4 about 4 years ago

I’ve got the impression it’s a cvar related bug.

#25 Updated by Zecklar about 4 years ago

IR4T4, please confim!

#26 Updated by Spyhawk about 4 years ago

  • Category set to Mod generic
  • Status changed from Feedback to Fixed
  • % Done changed from 0 to 100

"A fast client will have multiple ClientThink for each ClientEndFrame, while a slow client may have multiple ClientEndFrame between ClientThink."

The shaking appears because we kept passing from corrected/interpolated value to the non corrected value. We need to enable the interpolation code in ClientThink_real, AND in ClientEndFrame at the same time. This also explain why having com_maxfps=20 doesn’t produce shaking, because sv_fps=20 too! So... ClientEndFrame = ClientThink

#27 Updated by Spyhawk about 4 years ago

  • Related to Bug #707: Players warping in LAN games (listen server) added

Also available in: Atom PDF