sezero / quakespasm

QuakeSpasm -- A modern, cross-platform Quake game engine based on FitzQuake.
https://sourceforge.net/projects/quakespasm/
GNU General Public License v2.0
244 stars 97 forks source link

Fixed first person view stutter going up a fast elevator #3

Closed IvoryDuke closed 4 years ago

IvoryDuke commented 4 years ago

As per title. The train of though is: entity is detected to be on a rising elevator, flag FL_ONELEVATOR is set on v.flags, which is then transfered to the client in sv_main.c and cl_parse.c (like FL_ONGROUND). If cl.onelevator is true the step ups view smoothing in V_CalcRefdef is not processed.

Here is a before/after video comparison https://youtu.be/r3UmACLNWI8

sezero commented 4 years ago

@ericwa: what do you say?

IvoryDuke commented 4 years ago

I realized there was one very fringe although possible scenario I had not considered. Now code also account for the possibility that player is teleported while going up a platform, which previously could have resulted in the flag not being toggled off until player was in the air again.