From 31ee8e9ab12174e89a84ac15badb3b22cb932c01 Mon Sep 17 00:00:00 2001 From: khang Date: Thu, 7 Mar 2024 21:31:00 -0500 Subject: [PATCH] by default no speed change --- BunnymodXT/cvars.hpp | 2 +- BunnymodXT/modules/ServerDLL.cpp | 13 ++++++------- 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/BunnymodXT/cvars.hpp b/BunnymodXT/cvars.hpp index afcc3814..81a2db96 100644 --- a/BunnymodXT/cvars.hpp +++ b/BunnymodXT/cvars.hpp @@ -237,7 +237,7 @@ X(bxt_ch_checkpoint_onground_only, "0") \ X(bxt_ch_fix_sticky_slide, "0") \ X(bxt_ch_fix_sticky_slide_offset, "0.01") \ - X(bxt_ch_noclip_speed, "1000") + X(bxt_ch_noclip_speed, "0") class CVarWrapper { diff --git a/BunnymodXT/modules/ServerDLL.cpp b/BunnymodXT/modules/ServerDLL.cpp index 2511bd8e..ccbe4aae 100644 --- a/BunnymodXT/modules/ServerDLL.cpp +++ b/BunnymodXT/modules/ServerDLL.cpp @@ -2816,20 +2816,19 @@ HOOK_DEF_2(ServerDLL, void, __cdecl, PM_Move, struct playermove_s*, ppmove, int, int *movetype = reinterpret_cast(pmove + offMoveType); auto start_origin = Vector(origin); + auto ch_noclip_vel = CVars::bxt_ch_noclip_speed.GetFloat(); - if (*movetype == MOVETYPE_NOCLIP) { - auto new_maxspeed = CVars::bxt_ch_noclip_speed.GetFloat(); - + if (*movetype == MOVETYPE_NOCLIP && ch_noclip_vel != 0.f) { ch_noclip_vel_prev_maxspeed = *maxspeed; ch_noclip_vel_prev_clientmaxspeed = *clientmaxspeed; if (*clientmaxspeed == 0.0f) *clientmaxspeed = *maxspeed; - cmd->forwardmove = cmd->forwardmove / *clientmaxspeed * new_maxspeed; - cmd->sidemove = cmd->sidemove / *clientmaxspeed * new_maxspeed; - cmd->upmove = cmd->upmove / *clientmaxspeed * new_maxspeed; - *maxspeed = *clientmaxspeed = new_maxspeed; + cmd->forwardmove = cmd->forwardmove / *clientmaxspeed * ch_noclip_vel; + cmd->sidemove = cmd->sidemove / *clientmaxspeed * ch_noclip_vel; + cmd->upmove = cmd->upmove / *clientmaxspeed * ch_noclip_vel; + *maxspeed = *clientmaxspeed = ch_noclip_vel; } ORIG_PM_Move(ppmove, server);