Skip to content

Commit d061342

Browse files
committed
fix: client process movement
1 parent eba941c commit d061342

File tree

3 files changed

+6
-13
lines changed

3 files changed

+6
-13
lines changed

src/Event.hpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,7 @@ namespace Event {
8989
bool server;
9090
void *player;
9191
CMoveData *move;
92+
CUserCmd *cmd;
9293
bool grounded;
9394
};
9495
template <>

src/Modules/Client.cpp

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -535,10 +535,8 @@ DETOUR(Client::DecodeUserCmdFromBuffer, int nSlot, int buf, signed int sequence_
535535
void *player = client->GetPlayer(nSlot + 1);
536536
if (player) {
537537
bool grounded = CE(player)->ground_entity();
538-
groundFramesCounter->HandleMovementFrame(nSlot, grounded);
539-
strafeQualityHud->OnMovement(nSlot, grounded);
540538
strafeHud.SetData(nSlot, player, cmd, false);
541-
Event::Trigger<Event::PROCESS_MOVEMENT>({nSlot, false}); // There isn't really one, just pretend it's here lol
539+
Event::Trigger<Event::PROCESS_MOVEMENT>({nSlot, false, player, nullptr, cmd, grounded}); // There isn't really one, just pretend it's here lol
542540
}
543541

544542
if (cmd->buttons & IN_ATTACK) {
@@ -714,14 +712,8 @@ DETOUR(Client::ProcessMovement, void *player, CMoveData *move) {
714712
if (tick != lastTick) {
715713
bool grounded = CE(player)->ground_entity();
716714
slot = client->GetSplitScreenPlayerSlot(player);
717-
groundFramesCounter->HandleMovementFrame(slot, grounded);
718-
rhythmGameHud->HandleGroundframeLogic(slot, grounded);
719-
strafeQualityHud->OnMovement(slot, grounded);
720-
if (move->m_nButtons & IN_JUMP) scrollSpeedHud->OnJump(slot, grounded);
721-
if (move->m_nButtons & IN_JUMP && grounded) rhythmGameHud->OnJump(slot);
722-
723-
724-
Event::Trigger<Event::PROCESS_MOVEMENT>({slot, false});
715+
716+
Event::Trigger<Event::PROCESS_MOVEMENT>({slot, false, player, move, nullptr, grounded});
725717
lastTick = tick;
726718
}
727719
}

src/Modules/Server.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -328,7 +328,7 @@ Hook g_ViewPunch_Hook(&Server::ViewPunch_Hook);
328328
DETOUR(Server::ProcessMovement, void *player, CMoveData *move) {
329329
int slot = server->GetSplitScreenPlayerSlot(player);
330330
bool grounded = SE(player)->ground_entity();
331-
Event::Trigger<Event::PROCESS_MOVEMENT>({ slot, true, player, move, grounded });
331+
Event::Trigger<Event::PROCESS_MOVEMENT>({ slot, true, player, move, nullptr, grounded });
332332

333333
auto res = Server::ProcessMovement(thisptr, player, move);
334334

@@ -759,7 +759,7 @@ Variable sar_fix_viewmodel_bug("sar_fix_viewmodel_bug", "0", "Fixes the viewmode
759759
ON_EVENT(SESSION_START) {
760760
g_sendResetDoneAt = -1;
761761

762-
/* spawn viewmodel if it doesnt exist */
762+
/* spawn viewmodel if it doesn't exist */
763763
if (sar_fix_viewmodel_bug.GetBool())
764764
if (CreateViewModel && !engine->IsCoop() && !entityList->GetEntityInfoByClassName("viewmodel") && !engine->demoplayer->IsPlaying())
765765
CreateViewModel(server->GetPlayer(1), 0);

0 commit comments

Comments
 (0)