Commit graph

315 commits

Author SHA1 Message Date
d8598a8d22 We might prefer to set to local instead to lag compensate 2024-09-05 02:23:15 +02:00
d40a479e85 Revert "TODO: figure out why we need to do this"
This reverts commit 53561ff881.
2024-09-05 01:58:30 +02:00
84672b5c24 Reset to m_flInterpolatedAnimTime 2024-09-05 01:50:04 +02:00
fb349dbd9f The compiler is a bit dumb sometimes, let's help a bit 2024-09-05 00:55:22 +02:00
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
4b2b5e7388 Added more VPROF to see what's taking that much fps 2024-09-04 18:41:58 +02:00
2e40751236 Removed useless mdl critical cache call & sv_unlag can now be disabled for performance 2024-09-04 17:45:09 +02:00
caebd1970f Removed entityexists 2024-09-04 00:07:33 +02:00
8a118ad4d9 Removed potential slow function calls 2024-09-04 00:06:22 +02:00
1a471233bc Allow for some tolerance for previous pred origin 2024-09-03 23:15:40 +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
b9586237f1 Only update events on PostThink to be extra sure 2024-09-02 05:47:52 +02:00
859232b6ab Somehow windows doesn't like too much ticks to save on heap.. 2024-09-02 04:06:25 +02:00
315f3c398c Renamed some stuff in lag compensation 2024-09-02 03:58:07 +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
2e304e0e8d Send raw values for critical animation layers 2024-08-31 10:19:02 +02:00
4cfcfb67cd Allow to not draw hud (2) 2024-08-31 10:13:10 +02:00
e4d907c306 Allow to not draw hud 2024-08-31 10:05:15 +02:00
bbfea9863e Removed client side animation checks for animation events
Since it doesn't modify pose parameters or anything, should be safe
2024-08-31 07:25:36 +02:00
f58a59661c Allow localplayer for AnimationEvents 2024-08-31 07:20:09 +02:00
d942381df3 Commenting debug stuff 2024-08-31 06:48:01 +02:00
1a173a2073 Added VPROF for trigger prediction 2024-08-31 06:36:59 +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
dcf5536d93 Fixed evenqueue problems 2024-08-30 01:09:10 +02:00
ed09c1781c Re-enable IKs 2024-08-29 02:47:25 +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
1e82d50c88 Remove cl_interpolation_amount_fix 2024-08-28 05:10:42 +02:00
01a5f946ec Make m_vecPreviousShootPosition a predicted variable 2024-08-28 04:44:06 +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
273ac76745 Don't use IKs for now 2024-08-27 22:17:54 +02:00
70d7c82ff9 Updated again server setupbones to match more the client's 2024-08-27 22:12:50 +02:00
457fc82dc7 Check for numbonecontrollers in setupbones 2024-08-27 21:57:07 +02:00
658d9c1ade Interp fixes still causes some subtbles but noticeable jittering
This isn't wanted, we'll likely need to lag compensate the local player
2024-08-27 21:25:24 +02:00
ad3b1ca178 Added the old clock correction, new one caused flickering 2024-08-27 17:12:39 +02:00
a9b7bf8e2f Disable m_vecVelocity interpolation 2024-08-24 19:10:15 +02:00
7a92c3afde Change to FL_EDICT_ALWAYS 2024-08-24 04:56:53 +02:00
1856a9ee30 Corrected smoothed out interp amount 2024-08-24 04:40:01 +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
340eeb7e03 Added trigger teleport prediction 2024-08-23 18:24:23 +02:00
186b8c046d Added trigger push prediction 2024-08-23 06:42:34 +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
d947a36e86 Fixed server side setupbones 2024-08-23 00:18:07 +02:00
5a0367c8d7 Removed useless variable 2024-07-26 18:23:23 +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
d1c62bb858 Do not wait for simulation to change to set values 2024-07-24 00:18:37 +02:00
a9bd881a56 Debug only local player bullets, the rest is useless 2024-07-23 16:08:50 +02:00
f67ec63443 Whitelist localplayer for showing hitboxes etc 2024-07-23 05:26:42 +02:00
e09d89d7ed Check for non-bot for out of sync 2024-07-23 05:10:32 +02:00
6691968046 Added enhanced cl_clock_correction & misc
- Added vprof
- Fixed few issues again with cl_showhitboxes
- Fixed some shader compilation
- Fixed few issues with bitbuf
2024-07-23 03:05:29 +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
139f81eb02 Put back cl_extrapolate 2024-07-18 21:56:06 +02:00
359eb10e4e Put back ResizeAnimationLayerCallback 2024-07-18 21:54:38 +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
4186c83682 Added new compression for floats 2024-07-17 08:29:22 +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
6661ad2e3c Fixed bullet diameter hitbox test 2024-07-15 23:27:48 +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
3306fd5b21 Fixed buy, hostage, bomb zones detections 2024-07-15 16:47:27 +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
7625fd7947 Fixed crash while firing 2024-07-14 15:44:31 +02:00
a54eabf77a Fixed planting bomb 2024-07-14 05:15:41 +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
854991ab8c Fixed lag compensation for animations
The problem is that we still trust the client, although now we have a
good base to start with; The key difference here is that we don't need
to use anymore the cs player animestate client side anymore
because server side values are used

There are minor bugs like fire effect but they can be fixed
2024-07-11 02:12:51 +02:00
9d17d2252c Improved lag compensation for animations
Now we can debug properly lag compensation for animations and make it
more perfect without using the CUserCmd struct
For now it's used to sync better with client but in theory this can be
removed soon.
There's a lot of work to do in anim layers too.
2024-07-10 16:14:53 +02:00
7028c910e7 Use client side animation for hostages for now
Also added GetSkeleton for animating overlay
2024-04-03 05:27:07 +02:00
35b1d272a0 Remove DevMsgs for shooting in CreateMove 2024-04-03 02:05:15 +02:00
a2e1d119de CS Player is now synced with server
There's more TODO:
- Fix sequence transitions (remove animation interpolation or fix lag compensation)
2024-04-03 01:45:56 +02:00
ee6d99f17c Revert SendProxy_ClientSideAnimation sendproxy 2024-04-03 01:12:22 +02:00
446b3f348b various BuildTransformations fixes 2024-04-03 00:52:33 +02:00