- In theory, to have even more perfect values, we could go the other way
around, let the client send the values and see if it's within range of
lerp time
- The fact that the netvar gets compressed and touched made it worse for
lag compensation
Prediction is fixed by me by adding two more functions in prediction
class, there had before some issues because
starttouch/endtouch weren't predicted.
The result is that with lag, it restores touched entities,
including the triggers touched entity list.
- Fixed some game events not being sent to clients
- Use event instead of descriptor for sending it to client
- Moved server bullets to events
- Re-trained zstd data
- Corrected some stuff on clock correction
This check permits to fix interpolation problems on the
local player that valve has been (fucking finally)
caring about on counter-strike 2.
To recall the original issue, the
problem that Valve cared about is that interpolation
had some problems with interpolating the local
player because the screen would never in the first
place match the tick "screen", because interpolation
amount could never reach 0.0 or 1.0
Valve solution was to introduce bugs with lag
compensating the local player and made the game worse,
introducing a new way for cheaters to cheat even more
on their games.
I'm joking, but you can clearly see the outcome anyway.
My solution is to simply set interpolation amount
to 0.0 when a tick arrives.
So when we shoot, we get the frame we shot with an
interpolation amount at 0.0, perfectly aligned to user
commands which is ideal for us.
It might look a bit more unsmooth with lower fps
but with high enough fps, the issue goes away anyway.
It's not very noticeable which is very nice for us.
No need to lag compensate the local player anymore !