diff --git a/src/Event.hpp b/src/Event.hpp index 7f125442..e5d92592 100644 --- a/src/Event.hpp +++ b/src/Event.hpp @@ -89,6 +89,7 @@ namespace Event { bool server; void *player; CMoveData *move; + CUserCmd *cmd; bool grounded; }; template <> diff --git a/src/Modules/Client.cpp b/src/Modules/Client.cpp index 6ceed844..5754498f 100644 --- a/src/Modules/Client.cpp +++ b/src/Modules/Client.cpp @@ -535,10 +535,8 @@ DETOUR(Client::DecodeUserCmdFromBuffer, int nSlot, int buf, signed int sequence_ void *player = client->GetPlayer(nSlot + 1); if (player) { bool grounded = CE(player)->ground_entity(); - groundFramesCounter->HandleMovementFrame(nSlot, grounded); - strafeQualityHud->OnMovement(nSlot, grounded); strafeHud.SetData(nSlot, player, cmd, false); - Event::Trigger({nSlot, false}); // There isn't really one, just pretend it's here lol + Event::Trigger({nSlot, false, player, nullptr, cmd, grounded}); // There isn't really one, just pretend it's here lol } if (cmd->buttons & IN_ATTACK) { @@ -714,14 +712,8 @@ DETOUR(Client::ProcessMovement, void *player, CMoveData *move) { if (tick != lastTick) { bool grounded = CE(player)->ground_entity(); slot = client->GetSplitScreenPlayerSlot(player); - groundFramesCounter->HandleMovementFrame(slot, grounded); - rhythmGameHud->HandleGroundframeLogic(slot, grounded); - strafeQualityHud->OnMovement(slot, grounded); - if (move->m_nButtons & IN_JUMP) scrollSpeedHud->OnJump(slot, grounded); - if (move->m_nButtons & IN_JUMP && grounded) rhythmGameHud->OnJump(slot); - - - Event::Trigger({slot, false}); + + Event::Trigger({slot, false, player, move, nullptr, grounded}); lastTick = tick; } } diff --git a/src/Modules/Server.cpp b/src/Modules/Server.cpp index 8d755d12..f2040651 100644 --- a/src/Modules/Server.cpp +++ b/src/Modules/Server.cpp @@ -328,7 +328,7 @@ Hook g_ViewPunch_Hook(&Server::ViewPunch_Hook); DETOUR(Server::ProcessMovement, void *player, CMoveData *move) { int slot = server->GetSplitScreenPlayerSlot(player); bool grounded = SE(player)->ground_entity(); - Event::Trigger({ slot, true, player, move, grounded }); + Event::Trigger({ slot, true, player, move, nullptr, grounded }); auto res = Server::ProcessMovement(thisptr, player, move); @@ -759,7 +759,7 @@ Variable sar_fix_viewmodel_bug("sar_fix_viewmodel_bug", "0", "Fixes the viewmode ON_EVENT(SESSION_START) { g_sendResetDoneAt = -1; - /* spawn viewmodel if it doesnt exist */ + /* spawn viewmodel if it doesn't exist */ if (sar_fix_viewmodel_bug.GetBool()) if (CreateViewModel && !engine->IsCoop() && !entityList->GetEntityInfoByClassName("viewmodel") && !engine->demoplayer->IsPlaying()) CreateViewModel(server->GetPlayer(1), 0);