Commit Graph

56 Commits

Author SHA1 Message Date
31043114f0 recompute climbing damage 2025-02-04 13:27:57 +03:00
1fc61ba184 ensure pointer isn't dangling (on reconnect)
which is undefined behaviour, as memory isn't necessarily deallocated
2025-02-03 06:29:38 +03:00
359928047c prevent memory corruption on packet loss
realistically, shouldn't ever happen;
theoretically, may happen on great uptime.
2025-02-02 11:00:15 +03:00
631d1e1358 fix typo, anti-afk (fixes #3)
typo is actually on valve's side (array was taken from game's SurvivorCharacterDisplayName function)
2025-02-02 09:06:49 +03:00
d5a3de9a21 disable prediction error smoothing
also z_sidespeed
2025-01-25 07:51:56 +03:00
0b54788d15 ignore burning common, potential collision fix 2025-01-11 17:52:47 +03:00
d12933fe27 fix uninitialized crosshair type
reproduce: give fireaxe; jointeam 1 and sb_takecontrol
2025-01-10 20:00:36 +03:00
f819000cfe s_iSurvivorSet for custom campaigns
e.g., glubtastic5_5 getting into APC affects m_iGender
2025-01-03 19:03:11 +03:00
a402400c01 test action owner
`Shove_Multiplier` wasn't asynchronous but `z_show_swings`
03.01.2025
2025-01-03 16:18:13 +03:00
519d56c138 predicted chainsaw state 2/2
unfortunately there's no reliable way due to *::Deploy not being called in certain scenarios but that should serve as good foundation for later improvement.

minor precision loss possibly due to addition being replaced with multiplication (ie. cycle + rate * interval -> ticks * rate * interval)
2025-01-02 21:31:37 +03:00
f5fb3e4d30 predicted chainsaw state 1/2 2024-12-29 15:49:51 +03:00
81feda0668 predicted clock correction 2024-12-27 19:06:35 +03:00
61f5cad124 workaround jockey prediction errors
for some reason networked value (of when jockey wasn't on ground) is getting latched
2024-12-25 14:43:08 +03:00
8496bfcbeb fast actions, fix versus crash
"immobilized" attacks in versus are also considered as action
2024-12-22 14:35:23 +03:00
7b440b4004 precise timers 2/2
may be inaccurate (m_bRedraw, pain/adrenaline timer)
2024-12-21 16:29:02 +03:00
7c6d951aee precise timers 1/2 2024-12-20 14:12:42 +03:00
e2437349a0 shove assist, shotgun shove (finished)
https://www.youtube.com/watch?v=FApMeI1KlVo

shoving is also beneficial during unholstering for ~266.667ms (depends on sequence_duration, z_gun_swing_interval)

that's amended commit (prototype -> finished)
2024-12-17 11:02:26 +03:00
0381620f7d prediction, autoshove
fix undefined timing correction;
add shove timing condition;
adjust chainsaw shoving logic.
14.12.2024
2024-12-14 07:56:48 +03:00
309a0f2c27 respect Penetrate_Teammates; guaranteed +use 2024-12-13 13:53:38 +03:00
6026914241 better *::Holster detection
m_flTimeAttackQueued is hack to get reload unaffected m_flNextAttack

there are probably false periods before m_flNextSecondaryAttack for Get_Target_Time which isn't critical (with Target_On_Simulation 0) but should be solved eventually
2024-12-12 07:54:57 +03:00
9efc44f17e autoshove during unholstering, use m_Gender instead of m_survivorCharacter
valve uses translator based on s_iSurvivorSet for m_survivorCharacter which is avoidable using m_Gender but potentially unsafe (on modded servers)
2024-12-11 06:54:07 +03:00
02e94e451c m_bInReload check for shotguns, predicted Sequence_Shift
they're using queued attacks.
2024-12-09 06:14:20 +03:00
5d9ab0c46b respect Interpolate_Extra_Commands 2024-12-08 03:59:45 +03:00
6768e29ea6 survivor names
useful for targeted healing/attacks
2024-12-08 02:17:09 +03:00
485ff54642 extend interpolation history; events ordering
intentionally was kept until "something" along with watermark inside of datamap lol

jitters in certain scenarios due to interpolation history not being filled which doesn't bothers anyone (probably) so i've removed "fading"
06.12.2024
2024-12-06 03:11:27 +03:00
bd318c5576 Update README.md 2024-11-09 17:50:59 +03:00
82e3a8fd55 nothing 2024-11-09 17:36:57 +03:00
bdf8f51f29 nothing
merged from seg
2024-11-09 15:31:28 +03:00
e462dff4f5 revert to old approach
i've got problem with imagination regarding reliable method of relative correction on networking errors so old approach is preferable for moment

currently focusing on gmod-x64 fork of segregation so probably won't update l4d2 for period of time

[^\S\r\n]+(?=\r?$)
2024-11-05 18:11:13 +03:00
2dc81b9839 adjust special infected shotgun scaling
also explicitly specifying value type seems to be good practice to prevent unintended fraction down-rounding (just what've happened in paint.hpp with color 128 -> 127)
also remove scope check i've competely forgot about in draw_crosshair.hpp
2024-11-01 16:43:34 +03:00
6554d9e04e CTerrorPlayer::IsInvulnerable embryo
i'll get rid of server's timer eventually

also there's bug (i'll take look on later) of "correction accumulation" on tickbase when server is paused which causes memory corruption
2024-10-31 13:33:26 +03:00
68cc187ac7 remove addon restriction
if it doesn't works, probably because i've used magic offset (94)
2024-10-28 12:54:37 +03:00
bc24cea3b5 eliminate m_flStamina induced errors as spitter
for whatever reason m_flStamina inside of C_SpitAbility::UpdateAbility gets pinned at 3000.f (extreme latency concern? or just typo) which in result softlocks C_TerrorPlayer::IsImmobilized for moment ability is updated
it does seems as logic remnant before buffering of 1000.f got implemented (C_TerrorPlayer::IsImmobilized tests for >2000.f) which is needed to keep m_flStamina predicted rather than networked... applying same logic but once solves problem

hopefully i'm not breaking things by omitting m_zombieClass lol

on side note i've thought about adding infinite spit but unfortunately projectiles are using timer-based acceleration

revert: prevent buffer underrun on ack build-up (only for css)
2024-10-28 10:33:10 +03:00
5a7e62dd6f prevent buffer underrun on ack build-up 2024-10-26 16:13:36 +03:00
5420ace13d normalize action value for xor testing 25.10.2024 2024-10-25 08:39:34 +03:00
08820dca32 game update, cwitch::getglowcolor 2024-10-25 08:12:24 +03:00
338a781f22 prediction redesignment (details in description)
my plan to use constant buffering to instantize actions (as healing, reviving) turned out ill-fated:
- many things are using server relative timing: rock stuns, lagcompensation and many of interactables (they're all getting delayed by 150*(1/30) seconds)
- there's always undefined behaviour no matter whether i'm constantly buffering or periodically
- implementing logic that prevents buffering on when you're about to get hit by rock or to use something would adjust weapon timings (they're all getting delayed by 150*(1/30) seconds)
thus i've removed some of things i've worked on (as exploits, viewmodel timing correction)

mostly same thing about extra commands up to 21 while exploiting (my old trick doesn't works anymore): it's either undefined behaviour or feature cuttage

but on good note:
- prediction got hardened against timing fluctations
- prediction now respects network timing updates
- speedhacking issued undefined behaviour is significantly mitigated (not completely but i'd prefer to not bloat my code over such rare cases)

i'll be working on features from now, here's potential list (anything that involves guessing is very low priority):
rock prediction (involves guessing, it's not lagcompensated)
tongue cutter (involves guessing)
tongue aimbot/triggerbot (i've actually forgot to adjust lagcompensation for it but i'm not playing versus anyway)
animation cycles prediction (involves guessing, u-rates are synced already so it's just about latency adjustments now)
minigun aimbot (i'd like to work on it but just one thing that it's angle is limited thus impossibility to compensate spread accurately ruins it for me)
visual improvements (such as visually removing m_duckUntilOnGround)
2024-10-24 12:39:44 +03:00
f26e099d55 some more progress on prediction redesignment
don't have much time today. postponing cl_sendmove for tomorrow
2024-10-22 07:00:10 +03:00
924e32b297 some progress on prediction redesignment 2024-10-21 06:13:28 +03:00
cd2b23d069 ensure CPredictionCopy contains correct value for given frame
water? maybe. +20 is to be removed anyway
2024-10-19 03:42:23 +03:00
83ad090b63 overlook (binaries are not affected) 2024-10-18 05:45:58 +03:00
d9bf5dea6d overlook (binaries not affected) 2024-10-18 04:07:32 +03:00
2028a2886b bug fixes, logic fixes 18.10.2024 2024-10-18 01:46:40 +03:00
1af4705b49 instant heal (prototype), minor logic fixes
instant revive, rapidfire or anything timer based uses same logic
2024-10-17 05:02:19 +03:00
d174b651c9 infinite charger (https://imgur.com/WXCNAdt) 2024-10-16 04:08:17 +03:00
58cd042e46 typo: shouldn't use raw id 15.10.2024 2024-10-15 02:38:32 +03:00
91e0f1e238 Update README.md 2024-10-15 01:38:36 +03:00
60192c7dfb satisfied 2024-10-15 01:32:36 +03:00
f0e7cf6300 latching workaround 2024-10-14 04:52:51 +03:00
319fed21a4 autoshove logic (on reload) 2024-10-13 05:42:41 +03:00