Commit graph

98 commits

Author SHA1 Message Date
53561ff881 TODO: figure out why we need to do this 2024-09-05 00:09:55 +02:00
1475964e61 Fixed some edge cases where camera position wouldn't match screen 2024-09-04 23:07:48 +02:00
e12b3581e2 Optimized entity look ups 2024-09-04 22:01:08 +02:00
caebd1970f Removed entityexists 2024-09-04 00:07:33 +02:00
f696159421 Improved lag compensation for entities 2024-09-03 23:07:40 +02:00
87337859f4 More Fixes to lag compensation, it is always almost pixel perfect now
- 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
2024-09-03 16:41:03 +02:00
f4ded28fe0 Added more infos to debug out hitboxes 2024-09-03 15:49:04 +02:00
ece2f9a81f Improved bone cache invalidation
Also improved lag comp, for now animations won't be interpolated
2024-09-03 07:41:16 +02:00
2782633e53 Now setupbones uses the right angles for cs players 2024-09-02 01:26:08 +02:00
be7d8cc228 Improved show hitboxes commands and networked m_fFlags from animoverlays 2024-09-02 00:03:24 +02:00
867f106584 Increased weapon range 2024-08-31 22:41:36 +02:00
d942381df3 Commenting debug stuff 2024-08-31 06:48:01 +02:00
11d345802e General fixes and improved lag comp performance 2024-08-31 06:23:10 +02:00
380f352adf Fixed possible buffer overflow & optimized network 2024-08-31 00:24:01 +02:00
a21cd2aa97 Somehow this breaks lag comp 2024-08-29 02:07:55 +02:00
60c8599e4c Optimized network 2024-08-28 15:59:44 +02:00
f46d09bab1 Removed useless check 2024-08-28 15:03:35 +02:00
399e6e674a Send interpolated_amount 2024-08-28 05:24:34 +02:00
956d26bcb3 This is a start to lag compensate the local player.
Normally,
this would be needed to be inside StartLagCompensation,
but for now, this is enough.
2024-08-28 00:50:03 +02:00
22cfdaabc9 Added interpolated_shoot_position
While the old fix was working, it was a bit too much noticeable while
surfing, this is an issue we don't want.
We need a proper check for cheaters too.
2024-08-27 22:44:41 +02:00
70d7c82ff9 Updated again server setupbones to match more the client's 2024-08-27 22:12:50 +02:00
96a8e373be Since there's trigger prediction, we send everything
adjusted also client frame for full updates
2024-08-23 19:52:32 +02:00
bef50ed5ce Moved viewoffset adjustement to shared code 2024-08-23 18:29:51 +02:00
14717d8092 Added prediction for triggers, thanks oblivious
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.
2024-08-23 00:42:58 +02:00
dc471576a1 Removed DEBUG_HITBOXES_ALWAYS_ON (bandwidth problems) 2024-07-26 17:50:55 +02:00
69312da01b Fixed few stuff & now server bullet impacts are events
- 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
2024-07-26 05:34:50 +02:00
542b2c2711 Reworked cl_show* commands to use game events instead 2024-07-25 18:10:35 +02:00
73845dfe4c Improved cl_show* commands 2024-07-25 14:05:36 +02:00
a9bd881a56 Debug only local player bullets, the rest is useless 2024-07-23 16:08:50 +02:00
96e8394525 Corrected again a bit more cl_showimpacts 2024-07-19 18:05:58 +02:00
860bd3e883 Added smoothed interpolation amount & fixed fews issues with prediction
Added vprof too
2024-07-19 05:03:08 +02:00
4067d7cfe6 Added zstd training set 2024-07-18 21:15:37 +02:00
1a3e348316 Replace snappy with trained zstd dictionary 2024-07-18 08:27:54 +02:00
366edb18a7 Changed animation data to simulation data 2024-07-17 08:08:43 +02:00
81793ee7a4 Optimized usercmd network 2024-07-16 05:13:14 +02:00
469c74b8b3 SweptBox material wasn't initialized, corrected some stuff 2024-07-16 01:31:45 +02:00
95bb5cb8a5 vecSrc bullet should be taken into an array 2024-07-16 00:19:52 +02:00
449017c859 Better bullet debug 2024-07-16 00:01:44 +02:00
204d296ca0 If debug hitboxes always on, send everything 2024-07-15 23:31:50 +02:00
466b0ea280 Fixed last issues with bullet tracing 2024-07-15 21:56:11 +02:00
94060e8c19 Simplified bullet trace 2024-07-15 21:10:58 +02:00
e8ea86f895 Added a better way to debug hit registration 2024-07-15 18:21:56 +02:00
7efea83011 Added cl_showfirebullethitboxes 2024-07-15 16:54:19 +02:00
ba82e0f107 Game has now bullet thickness (diameter) 2024-07-15 07:46:53 +02:00
e360866bf5 Added a better way to debug hitboxes & new waf script 2024-07-15 06:52:33 +02:00
b750f22f08 Reverted some regression & pitch should be set in FinishMove 2024-07-14 04:30:25 +02:00
cfa5b12eea Fixed local player interpolation and added debug_screenshot_bullet_position
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 !
2024-07-14 00:54:57 +02:00
f8c641a9e5 Improved prediction & fix being 1 off tick problems 2024-07-13 19:18:03 +02:00
cd6ecdc726 Fixed lag compensation with low fps 2024-07-12 15:15:40 +02:00
2e5867b300 Removed interpolation for animations for now
This cause looping issues due to cycle,
until I find a proper solution for it,
it is disabled for accuracy purposes
and also because we can't trust the client.

This is really hard to see though with high tickrate.
2024-07-12 04:04:53 +02:00