From 343a71d97b31a480687f5b54d4b76abd014e088e Mon Sep 17 00:00:00 2001 From: Mario Date: Sat, 28 Nov 2015 00:48:44 +1000 Subject: [PATCH] Finish off the last of the stats --- .../mutators/mutator/dodging/dodging.qc | 58 ++++++------- .../mutators/mutator/multijump/multijump.qc | 38 +++------ qcsrc/common/physics.qc | 59 +++++-------- qcsrc/common/physics.qh | 82 +++++++++---------- qcsrc/common/stats.qh | 73 ++++++++--------- qcsrc/server/defs.qh | 2 +- 6 files changed, 135 insertions(+), 177 deletions(-) diff --git a/qcsrc/common/mutators/mutator/dodging/dodging.qc b/qcsrc/common/mutators/mutator/dodging/dodging.qc index f014ebbc57..c4deba5eab 100644 --- a/qcsrc/common/mutators/mutator/dodging/dodging.qc +++ b/qcsrc/common/mutators/mutator/dodging/dodging.qc @@ -2,18 +2,18 @@ #ifdef CSQC #define PHYS_DODGING_FRAMETIME (1 / (frametime <= 0 ? 60 : frametime)) - #define PHYS_DODGING getstati(STAT_DODGING) - #define PHYS_DODGING_DELAY getstatf(STAT_DODGING_DELAY) - #define PHYS_DODGING_TIMEOUT(s) getstatf(STAT_DODGING_TIMEOUT) - #define PHYS_DODGING_HORIZ_SPEED_FROZEN getstatf(STAT_DODGING_HORIZ_SPEED_FROZEN) - #define PHYS_DODGING_FROZEN_NODOUBLETAP getstati(STAT_DODGING_FROZEN_NO_DOUBLETAP) - #define PHYS_DODGING_HORIZ_SPEED getstatf(STAT_DODGING_HORIZ_SPEED) + #define PHYS_DODGING STAT(DODGING) + #define PHYS_DODGING_DELAY STAT(DODGING_DELAY) + #define PHYS_DODGING_TIMEOUT(s) STAT(DODGING_TIMEOUT) + #define PHYS_DODGING_HORIZ_SPEED_FROZEN STAT(DODGING_HORIZ_SPEED_FROZEN) + #define PHYS_DODGING_FROZEN_NODOUBLETAP STAT(DODGING_FROZEN_NO_DOUBLETAP) + #define PHYS_DODGING_HORIZ_SPEED STAT(DODGING_HORIZ_SPEED) #define PHYS_DODGING_PRESSED_KEYS(s) s.pressedkeys - #define PHYS_DODGING_HEIGHT_THRESHOLD getstatf(STAT_DODGING_HEIGHT_THRESHOLD) - #define PHYS_DODGING_DISTANCE_THRESHOLD getstatf(STAT_DODGING_DISTANCE_THRESHOLD) - #define PHYS_DODGING_RAMP_TIME getstatf(STAT_DODGING_RAMP_TIME) - #define PHYS_DODGING_UP_SPEED getstatf(STAT_DODGING_UP_SPEED) - #define PHYS_DODGING_WALL getstatf(STAT_DODGING_WALL) + #define PHYS_DODGING_HEIGHT_THRESHOLD STAT(DODGING_HEIGHT_THRESHOLD) + #define PHYS_DODGING_DISTANCE_THRESHOLD STAT(DODGING_DISTANCE_THRESHOLD) + #define PHYS_DODGING_RAMP_TIME STAT(DODGING_RAMP_TIME) + #define PHYS_DODGING_UP_SPEED STAT(DODGING_UP_SPEED) + #define PHYS_DODGING_WALL STAT(DODGING_WALL) #elif defined(SVQC) #define PHYS_DODGING_FRAMETIME sys_frametime #define PHYS_DODGING g_dodging @@ -54,19 +54,19 @@ float g_dodging; #include "../../../animdecide.qh" #include "../../../physics.qh" -.float cvar_cl_dodging_timeout; +.float cvar_cl_dodging_timeout = _STAT(DODGING_TIMEOUT); -.float stat_dodging; -.float stat_dodging_delay; -.float stat_dodging_horiz_speed_frozen; -.float stat_dodging_frozen_nodoubletap; -.float stat_dodging_frozen; -.float stat_dodging_horiz_speed; -.float stat_dodging_height_threshold; -.float stat_dodging_distance_threshold; -.float stat_dodging_ramp_time; -.float stat_dodging_up_speed; -.float stat_dodging_wall; +.float stat_dodging = _STAT(DODGING); +.float stat_dodging_delay = _STAT(DODGING_DELAY); +.float stat_dodging_horiz_speed_frozen = _STAT(DODGING_HORIZ_SPEED_FROZEN); +.float stat_dodging_frozen_nodoubletap = _STAT(DODGING_FROZEN_NO_DOUBLETAP); +.float stat_dodging_frozen = _STAT(DODGING_FROZEN); +.float stat_dodging_horiz_speed = _STAT(DODGING_HORIZ_SPEED); +.float stat_dodging_height_threshold = _STAT(DODGING_HEIGHT_THRESHOLD); +.float stat_dodging_distance_threshold = _STAT(DODGING_DISTANCE_THRESHOLD); +.float stat_dodging_ramp_time = _STAT(DODGING_RAMP_TIME); +.float stat_dodging_up_speed = _STAT(DODGING_UP_SPEED); +.float stat_dodging_wall = _STAT(DODGING_WALL); REGISTER_MUTATOR(dodging, cvar("g_dodging")) { @@ -74,18 +74,6 @@ REGISTER_MUTATOR(dodging, cvar("g_dodging")) MUTATOR_ONADD { g_dodging = cvar("g_dodging"); - addstat(STAT_DODGING, AS_INT, stat_dodging); - addstat(STAT_DODGING_DELAY, AS_FLOAT, stat_dodging_delay); - addstat(STAT_DODGING_TIMEOUT, AS_FLOAT, cvar_cl_dodging_timeout); // we stat this, so it is updated on the client when updated on server (otherwise, chaos) - addstat(STAT_DODGING_FROZEN_NO_DOUBLETAP, AS_INT, stat_dodging_frozen_nodoubletap); - addstat(STAT_DODGING_HORIZ_SPEED_FROZEN, AS_FLOAT, stat_dodging_horiz_speed_frozen); - addstat(STAT_DODGING_FROZEN, AS_INT, stat_dodging_frozen); - addstat(STAT_DODGING_HORIZ_SPEED, AS_FLOAT, stat_dodging_horiz_speed); - addstat(STAT_DODGING_HEIGHT_THRESHOLD, AS_FLOAT, stat_dodging_height_threshold); - addstat(STAT_DODGING_DISTANCE_THRESHOLD, AS_FLOAT, stat_dodging_distance_threshold); - addstat(STAT_DODGING_RAMP_TIME, AS_FLOAT, stat_dodging_ramp_time); - addstat(STAT_DODGING_UP_SPEED, AS_FLOAT, stat_dodging_up_speed); - addstat(STAT_DODGING_WALL, AS_FLOAT, stat_dodging_wall); } // this just turns off the cvar. diff --git a/qcsrc/common/mutators/mutator/multijump/multijump.qc b/qcsrc/common/mutators/mutator/multijump/multijump.qc index 3ee7e02055..688202cf9a 100644 --- a/qcsrc/common/mutators/mutator/multijump/multijump.qc +++ b/qcsrc/common/mutators/mutator/multijump/multijump.qc @@ -10,9 +10,9 @@ #ifdef CSQC -#define PHYS_MULTIJUMP getstati(STAT_MULTIJUMP) -#define PHYS_MULTIJUMP_SPEED getstatf(STAT_MULTIJUMP_SPEED) -#define PHYS_MULTIJUMP_ADD getstati(STAT_MULTIJUMP_ADD) +#define PHYS_MULTIJUMP STAT(MULTIJUMP) +#define PHYS_MULTIJUMP_SPEED STAT(MULTIJUMP_SPEED) +#define PHYS_MULTIJUMP_ADD STAT(MULTIJUMP_ADD) #define PHYS_MULTIJUMP_MAXSPEED STAT(MULTIJUMP_MAXSPEED) #define PHYS_MULTIJUMP_DODGING STAT(MULTIJUMP_DODGING) @@ -30,26 +30,19 @@ float autocvar_g_multijump_dodging = 1; #define PHYS_MULTIJUMP_MAXSPEED autocvar_g_multijump_maxspeed #define PHYS_MULTIJUMP_DODGING autocvar_g_multijump_dodging -.float stat_multijump; -.float stat_multijump_speed; -.float stat_multijump_add; +.float stat_multijump = _STAT(MULTIJUMP); +.float stat_multijump_speed = _STAT(MULTIJUMP_SPEED); +.float stat_multijump_add = _STAT(MULTIJUMP_ADD); .float stat_multijump_maxspeed = _STAT(MULTIJUMP_MAXSPEED); .float stat_multijump_dodging = _STAT(MULTIJUMP_DODGING); void multijump_UpdateStats() {SELFPARAM(); - self.stat_multijump = PHYS_MULTIJUMP; - self.stat_multijump_speed = PHYS_MULTIJUMP_SPEED; - self.stat_multijump_add = PHYS_MULTIJUMP_ADD; - self.stat_multijump_maxspeed = PHYS_MULTIJUMP_MAXSPEED; - self.stat_multijump_dodging = PHYS_MULTIJUMP_DODGING; -} - -void multijump_AddStats() -{ - addstat(STAT_MULTIJUMP, AS_INT, stat_multijump); - addstat(STAT_MULTIJUMP_SPEED, AS_FLOAT, stat_multijump_speed); - addstat(STAT_MULTIJUMP_ADD, AS_INT, stat_multijump_add); + STAT(MULTIJUMP, this) = PHYS_MULTIJUMP; + STAT(MULTIJUMP_SPEED, this) = PHYS_MULTIJUMP_SPEED; + STAT(MULTIJUMP_ADD, this) = PHYS_MULTIJUMP_ADD; + STAT(MULTIJUMP_MAXSPEED, this) = PHYS_MULTIJUMP_MAXSPEED; + STAT(MULTIJUMP_DODGING, this) = PHYS_MULTIJUMP_DODGING; } #endif @@ -141,14 +134,7 @@ bool PM_multijump_checkjump() } #ifdef SVQC -REGISTER_MUTATOR(multijump, cvar("g_multijump")) -{ - MUTATOR_ONADD - { - multijump_AddStats(); - } - return false; -} +REGISTER_MUTATOR(multijump, cvar("g_multijump")); MUTATOR_HOOKFUNCTION(multijump, PlayerPhysics) { diff --git a/qcsrc/common/physics.qc b/qcsrc/common/physics.qc index 835f1dbe82..341a40f2e5 100644 --- a/qcsrc/common/physics.qc +++ b/qcsrc/common/physics.qc @@ -57,30 +57,6 @@ void Physics_AddStats() // g_movementspeed hack addstat(STAT_MOVEVARS_MAXSPEED, AS_FLOAT, stat_sv_maxspeed); addstat(STAT_MOVEVARS_AIRACCEL_QW, AS_FLOAT, stat_sv_airaccel_qw); - addstat(STAT_MOVEVARS_HIGHSPEED, AS_FLOAT, stat_movement_highspeed); - - // jet pack - addstat(STAT_JETPACK_ACCEL_SIDE, AS_FLOAT, stat_jetpack_accel_side); - addstat(STAT_JETPACK_ACCEL_UP, AS_FLOAT, stat_jetpack_accel_up); - addstat(STAT_JETPACK_ANTIGRAVITY, AS_FLOAT, stat_jetpack_antigravity); - addstat(STAT_JETPACK_FUEL, AS_FLOAT, stat_jetpack_fuel); - addstat(STAT_JETPACK_MAXSPEED_UP, AS_FLOAT, stat_jetpack_maxspeed_up); - addstat(STAT_JETPACK_MAXSPEED_SIDE, AS_FLOAT, stat_jetpack_maxspeed_side); - - // hack to fix track_canjump - addstat(STAT_MOVEVARS_CL_TRACK_CANJUMP, AS_INT, cvar_cl_movement_track_canjump); - addstat(STAT_MOVEVARS_TRACK_CANJUMP, AS_INT, stat_sv_track_canjump); - - // double jump - addstat(STAT_DOUBLEJUMP, AS_INT, stat_doublejump); - - // jump speed caps - addstat(STAT_MOVEVARS_JUMPSPEEDCAP_DISABLE_ONRAMPS, AS_INT, stat_jumpspeedcap_disable_onramps); - - // hacks - addstat(STAT_MOVEVARS_FRICTION_ONLAND, AS_FLOAT, stat_sv_friction_on_land); - addstat(STAT_MOVEVARS_FRICTION_SLICK, AS_FLOAT, stat_sv_friction_slick); - addstat(STAT_GAMEPLAYFIX_EASIERWATERJUMP, AS_INT, stat_gameplayfix_easierwaterjump); // new properties addstat(STAT_MOVEVARS_JUMPVELOCITY, AS_FLOAT, stat_sv_jumpvelocity); @@ -119,23 +95,32 @@ void Physics_UpdateStats(float maxspd_mod) : 0; STAT(MOVEVARS_AIRSPEEDLIMIT_NONQW, this) = Physics_ClientOption(self, "airspeedlimit_nonqw") * maxspd_mod; self.stat_sv_maxspeed = Physics_ClientOption(self, "maxspeed") * maxspd_mod; // also slow walking - self.stat_movement_highspeed = PHYS_HIGHSPEED; // TODO: remove this! + STAT(MOVEVARS_HIGHSPEED, this) = PHYS_HIGHSPEED; // TODO: remove this! + + STAT(DOUBLEJUMP, this) = PHYS_DOUBLEJUMP; + + STAT(JETPACK_ANTIGRAVITY, this) = PHYS_JETPACK_ANTIGRAVITY; + STAT(JETPACK_ACCEL_UP, this) = PHYS_JETPACK_ACCEL_UP; + STAT(JETPACK_ACCEL_SIDE, this) = PHYS_JETPACK_ACCEL_SIDE; + STAT(JETPACK_MAXSPEED_SIDE, this) = PHYS_JETPACK_MAXSPEED_SIDE; + STAT(JETPACK_MAXSPEED_UP, this) = PHYS_JETPACK_MAXSPEED_UP; + STAT(JETPACK_FUEL, this) = PHYS_JETPACK_FUEL; + + STAT(MOVEVARS_JUMPSPEEDCAP_DISABLE_ONRAMPS, this) = PHYS_JUMPSPEEDCAP_DISABLE_ONRAMPS; - self.stat_doublejump = PHYS_DOUBLEJUMP; + STAT(MOVEVARS_FRICTION_ONLAND, this) = PHYS_FRICTION_ONLAND; + STAT(MOVEVARS_FRICTION_SLICK, this) = PHYS_FRICTION_SLICK; - self.stat_jetpack_antigravity = PHYS_JETPACK_ANTIGRAVITY; - self.stat_jetpack_accel_up = PHYS_JETPACK_ACCEL_UP; - self.stat_jetpack_accel_side = PHYS_JETPACK_ACCEL_SIDE; - self.stat_jetpack_maxspeed_side = PHYS_JETPACK_MAXSPEED_SIDE; - self.stat_jetpack_maxspeed_up = PHYS_JETPACK_MAXSPEED_UP; - self.stat_jetpack_fuel = PHYS_JETPACK_FUEL; + STAT(MOVEVARS_JUMPSTEP, this) = PHYS_JUMPSTEP; - self.stat_jumpspeedcap_disable_onramps = PHYS_JUMPSPEEDCAP_DISABLE_ONRAMPS; + STAT(GAMEPLAYFIX_STEPDOWN, this) = GAMEPLAYFIX_STEPDOWN; - self.stat_sv_friction_on_land = PHYS_FRICTION_ONLAND; - self.stat_sv_friction_slick = PHYS_FRICTION_SLICK; + STAT(NOSTEP, this) = PHYS_NOSTEP; - self.stat_gameplayfix_easierwaterjump = GAMEPLAYFIX_EASIERWATERJUMP; + STAT(GAMEPLAYFIX_EASIERWATERJUMP, this) = GAMEPLAYFIX_EASIERWATERJUMP; + STAT(GAMEPLAYFIX_DOWNTRACEONGROUND, this) = GAMEPLAYFIX_DOWNTRACEONGROUND; + STAT(GAMEPLAYFIX_STEPMULTIPLETIMES, this) = GAMEPLAYFIX_STEPMULTIPLETIMES; + STAT(GAMEPLAYFIX_UNSTICKPLAYERS, this) = GAMEPLAYFIX_UNSTICKPLAYERS; // old stats @@ -160,7 +145,7 @@ void Physics_UpdateStats(float maxspd_mod) self.stat_sv_airstopaccelerate = Physics_ClientOption(self, "airstopaccelerate"); self.stat_sv_jumpvelocity = Physics_ClientOption(self, "jumpvelocity"); - self.stat_sv_track_canjump = Physics_ClientOption(self, "track_canjump"); + STAT(MOVEVARS_TRACK_CANJUMP, this) = Physics_ClientOption(self, "track_canjump"); self.stat_gameplayfix_upvelocityclearsonground = UPWARD_VELOCITY_CLEARS_ONGROUND; } diff --git a/qcsrc/common/physics.qh b/qcsrc/common/physics.qh index 821568411c..e70b489fd6 100644 --- a/qcsrc/common/physics.qh +++ b/qcsrc/common/physics.qh @@ -77,11 +77,11 @@ bool IsFlying(entity a); #define GAMEPLAYFIX_GRAVITYUNAFFECTEDBYTICRATE !!(moveflags & MOVEFLAG_GRAVITYUNAFFECTEDBYTICRATE) #define GAMEPLAYFIX_NOGRAVITYONGROUND cvar("sv_gameplayfix_nogravityonground") #define GAMEPLAYFIX_Q2AIRACCELERATE cvar("sv_gameplayfix_q2airaccelerate") - #define GAMEPLAYFIX_EASIERWATERJUMP getstati(STAT_GAMEPLAYFIX_EASIERWATERJUMP) - #define GAMEPLAYFIX_DOWNTRACEONGROUND getstati(STAT_GAMEPLAYFIX_DOWNTRACEONGROUND) - #define GAMEPLAYFIX_STEPMULTIPLETIMES getstati(STAT_GAMEPLAYFIX_STEPMULTIPLETIMES) - #define GAMEPLAYFIX_UNSTICKPLAYERS getstati(STAT_GAMEPLAYFIX_UNSTICKPLAYERS) - #define GAMEPLAYFIX_STEPDOWN getstati(STAT_GAMEPLAYFIX_STEPDOWN) + #define GAMEPLAYFIX_EASIERWATERJUMP STAT(GAMEPLAYFIX_EASIERWATERJUMP) + #define GAMEPLAYFIX_DOWNTRACEONGROUND STAT(GAMEPLAYFIX_DOWNTRACEONGROUND) + #define GAMEPLAYFIX_STEPMULTIPLETIMES STAT(GAMEPLAYFIX_STEPMULTIPLETIMES) + #define GAMEPLAYFIX_UNSTICKPLAYERS STAT(GAMEPLAYFIX_UNSTICKPLAYERS) + #define GAMEPLAYFIX_STEPDOWN STAT(GAMEPLAYFIX_STEPDOWN) #define IS_DUCKED(s) !!(s.flags & FL_DUCKED) #define SET_DUCKED(s) s.flags |= FL_DUCKED @@ -102,7 +102,7 @@ bool IsFlying(entity a); #define PHYS_FROZEN(s) STAT(FROZEN) - #define PHYS_DOUBLEJUMP getstati(STAT_DOUBLEJUMP) + #define PHYS_DOUBLEJUMP STAT(DOUBLEJUMP) #define PHYS_BUGRIGS STAT(BUGRIGS) #define PHYS_BUGRIGS_ANGLE_SMOOTHING STAT(BUGRIGS_ANGLE_SMOOTHING) @@ -122,10 +122,10 @@ bool IsFlying(entity a); #define PHYS_JUMPSPEEDCAP_MIN cvar_string("cl_jumpspeedcap_min") #define PHYS_JUMPSPEEDCAP_MAX cvar_string("cl_jumpspeedcap_max") - #define PHYS_JUMPSPEEDCAP_DISABLE_ONRAMPS getstati(STAT_MOVEVARS_JUMPSPEEDCAP_DISABLE_ONRAMPS) + #define PHYS_JUMPSPEEDCAP_DISABLE_ONRAMPS STAT(MOVEVARS_JUMPSPEEDCAP_DISABLE_ONRAMPS) - #define PHYS_CL_TRACK_CANJUMP(s) getstati(STAT_MOVEVARS_CL_TRACK_CANJUMP) - #define PHYS_TRACK_CANJUMP(s) getstati(STAT_MOVEVARS_TRACK_CANJUMP) + #define PHYS_CL_TRACK_CANJUMP(s) STAT(MOVEVARS_CL_TRACK_CANJUMP) + #define PHYS_TRACK_CANJUMP(s) STAT(MOVEVARS_TRACK_CANJUMP) #define PHYS_ACCELERATE getstatf(STAT_MOVEVARS_ACCELERATE) #define PHYS_AIRACCEL_QW(s) getstatf(STAT_MOVEVARS_AIRACCEL_QW) #define PHYS_AIRACCEL_QW_STRETCHFACTOR(s) STAT(MOVEVARS_AIRACCEL_QW_STRETCHFACTOR, s) @@ -140,10 +140,10 @@ bool IsFlying(entity a); #define PHYS_AIRSTRAFEACCELERATE(s) getstatf(STAT_MOVEVARS_AIRSTRAFEACCELERATE) #define PHYS_ENTGRAVITY(s) STAT(MOVEVARS_ENTGRAVITY) #define PHYS_FRICTION getstatf(STAT_MOVEVARS_FRICTION) - #define PHYS_FRICTION_SLICK getstatf(STAT_MOVEVARS_FRICTION_SLICK) - #define PHYS_FRICTION_ONLAND getstatf(STAT_MOVEVARS_FRICTION_ONLAND) + #define PHYS_FRICTION_SLICK STAT(MOVEVARS_FRICTION_SLICK) + #define PHYS_FRICTION_ONLAND STAT(MOVEVARS_FRICTION_ONLAND) #define PHYS_GRAVITY STAT(MOVEVARS_GRAVITY) - #define PHYS_HIGHSPEED getstatf(STAT_MOVEVARS_HIGHSPEED) + #define PHYS_HIGHSPEED STAT(MOVEVARS_HIGHSPEED) #define PHYS_JUMPVELOCITY getstatf(STAT_MOVEVARS_JUMPVELOCITY) #define PHYS_MAXAIRSPEED(s) getstatf(STAT_MOVEVARS_MAXAIRSPEED) #define PHYS_MAXAIRSTRAFESPEED getstatf(STAT_MOVEVARS_MAXAIRSTRAFESPEED) @@ -158,17 +158,17 @@ bool IsFlying(entity a); #define PHYS_WALLFRICTION STAT(MOVEVARS_WALLFRICTION) - #define PHYS_JETPACK_ACCEL_UP getstatf(STAT_JETPACK_ACCEL_UP) - #define PHYS_JETPACK_ACCEL_SIDE getstatf(STAT_JETPACK_ACCEL_SIDE) - #define PHYS_JETPACK_ANTIGRAVITY getstatf(STAT_JETPACK_ANTIGRAVITY) - #define PHYS_JETPACK_FUEL getstatf(STAT_JETPACK_FUEL) - #define PHYS_JETPACK_MAXSPEED_UP getstatf(STAT_JETPACK_MAXSPEED_UP) - #define PHYS_JETPACK_MAXSPEED_SIDE getstatf(STAT_JETPACK_MAXSPEED_SIDE) + #define PHYS_JETPACK_ACCEL_UP STAT(JETPACK_ACCEL_UP) + #define PHYS_JETPACK_ACCEL_SIDE STAT(JETPACK_ACCEL_SIDE) + #define PHYS_JETPACK_ANTIGRAVITY STAT(JETPACK_ANTIGRAVITY) + #define PHYS_JETPACK_FUEL STAT(JETPACK_FUEL) + #define PHYS_JETPACK_MAXSPEED_UP STAT(JETPACK_MAXSPEED_UP) + #define PHYS_JETPACK_MAXSPEED_SIDE STAT(JETPACK_MAXSPEED_SIDE) - #define PHYS_DODGING_FROZEN getstati(STAT_DODGING_FROZEN) + #define PHYS_DODGING_FROZEN STAT(DODGING_FROZEN) - #define PHYS_NOSTEP getstati(STAT_NOSTEP) - #define PHYS_JUMPSTEP getstati(STAT_MOVEVARS_JUMPSTEP) + #define PHYS_NOSTEP STAT(NOSTEP) + #define PHYS_JUMPSTEP STAT(MOVEVARS_JUMPSTEP) #elif defined(SVQC) @@ -185,28 +185,28 @@ bool IsFlying(entity a); .float stat_sv_airaccel_qw; .float stat_sv_airspeedlimit_nonqw = _STAT(MOVEVARS_AIRSPEEDLIMIT_NONQW); .float stat_sv_maxspeed; - .float stat_movement_highspeed; + .float stat_movement_highspeed = _STAT(MOVEVARS_HIGHSPEED); - .float stat_sv_friction_on_land; - .float stat_sv_friction_slick; + .float stat_sv_friction_on_land = _STAT(MOVEVARS_FRICTION_ONLAND); + .float stat_sv_friction_slick = _STAT(MOVEVARS_FRICTION_SLICK); - .float stat_doublejump; + .float stat_doublejump = _STAT(DOUBLEJUMP); .string stat_jumpspeedcap_min; .string stat_jumpspeedcap_max; - .float stat_jumpspeedcap_disable_onramps; - - .float stat_jetpack_accel_side; - .float stat_jetpack_accel_up; - .float stat_jetpack_antigravity; - .float stat_jetpack_fuel; - .float stat_jetpack_maxspeed_up; - .float stat_jetpack_maxspeed_side; - .float stat_gameplayfix_easierwaterjump; - .float stat_gameplayfix_downtracesupportsongroundflag; - .float stat_gameplayfix_stepmultipletimes; - .float stat_gameplayfix_unstickplayers; - .float stat_gameplayfix_stepdown; + .float stat_jumpspeedcap_disable_onramps = _STAT(MOVEVARS_JUMPSPEEDCAP_DISABLE_ONRAMPS); + + .float stat_jetpack_accel_side = _STAT(JETPACK_ACCEL_SIDE); + .float stat_jetpack_accel_up = _STAT(JETPACK_ACCEL_UP); + .float stat_jetpack_antigravity = _STAT(JETPACK_ANTIGRAVITY); + .float stat_jetpack_fuel = _STAT(JETPACK_FUEL); + .float stat_jetpack_maxspeed_up = _STAT(JETPACK_MAXSPEED_UP); + .float stat_jetpack_maxspeed_side = _STAT(JETPACK_MAXSPEED_SIDE); + .float stat_gameplayfix_easierwaterjump = _STAT(GAMEPLAYFIX_EASIERWATERJUMP); + .float stat_gameplayfix_downtracesupportsongroundflag = _STAT(GAMEPLAYFIX_DOWNTRACEONGROUND); + .float stat_gameplayfix_stepmultipletimes = _STAT(GAMEPLAYFIX_STEPMULTIPLETIMES); + .float stat_gameplayfix_unstickplayers = _STAT(GAMEPLAYFIX_UNSTICKPLAYERS); + .float stat_gameplayfix_stepdown = _STAT(GAMEPLAYFIX_STEPDOWN); .float stat_bugrigs = _STAT(BUGRIGS); .float stat_bugrigs_angle_smoothing = _STAT(BUGRIGS_ANGLE_SMOOTHING); @@ -242,10 +242,10 @@ bool IsFlying(entity a); .float stat_sv_airaccelerate; .float stat_sv_airstopaccelerate; - .float stat_nostep; - .float stat_jumpstep; + .float stat_nostep = _STAT(NOSTEP); + .float stat_jumpstep = _STAT(MOVEVARS_JUMPSTEP); - .bool stat_sv_track_canjump; + .bool stat_sv_track_canjump = _STAT(MOVEVARS_TRACK_CANJUMP); #define PHYS_INPUT_ANGLES(s) s.v_angle #define PHYS_WORLD_ANGLES(s) s.angles diff --git a/qcsrc/common/stats.qh b/qcsrc/common/stats.qh index 4f1d5812a3..e8c05c7183 100644 --- a/qcsrc/common/stats.qh +++ b/qcsrc/common/stats.qh @@ -53,7 +53,7 @@ enum { STAT_LAST_VECTOR }; -const int REGISTERED_STATS = 86; +const int REGISTERED_STATS = 121; REGISTER_STAT(KH_KEYS, int) /** weapon requested to switch to; next WANTED weapon (for HUD) */ @@ -132,46 +132,45 @@ REGISTER_STAT(BUGRIGS_REVERSE_SPEEDING, int) REGISTER_STAT(BUGRIGS_PLANAR_MOVEMENT, int) REGISTER_STAT(BUGRIGS_ANGLE_SMOOTHING, int) REGISTER_STAT(BUGRIGS, int) +REGISTER_STAT(GAMEPLAYFIX_STEPDOWN, int) +REGISTER_STAT(MOVEVARS_JUMPSTEP, int) +REGISTER_STAT(NOSTEP, int) +REGISTER_STAT(GAMEPLAYFIX_UNSTICKPLAYERS, int) +REGISTER_STAT(GAMEPLAYFIX_STEPMULTIPLETIMES, int) +REGISTER_STAT(GAMEPLAYFIX_DOWNTRACEONGROUND, int) +REGISTER_STAT(GAMEPLAYFIX_EASIERWATERJUMP, int) +REGISTER_STAT(MOVEVARS_FRICTION_SLICK, float) +REGISTER_STAT(MOVEVARS_FRICTION_ONLAND, float) +REGISTER_STAT(MOVEVARS_JUMPSPEEDCAP_DISABLE_ONRAMPS, int) +REGISTER_STAT(MOVEVARS_TRACK_CANJUMP, int) +REGISTER_STAT(DOUBLEJUMP, int) +REGISTER_STAT(MOVEVARS_CL_TRACK_CANJUMP, int) +REGISTER_STAT(MULTIJUMP_ADD, int) +REGISTER_STAT(MULTIJUMP_SPEED, float) +REGISTER_STAT(MULTIJUMP, int) +REGISTER_STAT(DODGING_TIMEOUT, float) +REGISTER_STAT(DODGING_WALL, int) +REGISTER_STAT(DODGING_UP_SPEED, float) +REGISTER_STAT(DODGING_RAMP_TIME, float) +REGISTER_STAT(DODGING_HEIGHT_THRESHOLD, float) +REGISTER_STAT(DODGING_DISTANCE_THRESHOLD, float) +REGISTER_STAT(DODGING_HORIZ_SPEED, float) +REGISTER_STAT(DODGING_DELAY, float) +REGISTER_STAT(DODGING_FROZEN_NO_DOUBLETAP, int) +REGISTER_STAT(DODGING_HORIZ_SPEED_FROZEN, float) +REGISTER_STAT(DODGING, int) +REGISTER_STAT(DODGING_FROZEN, int) +REGISTER_STAT(JETPACK_MAXSPEED_UP, float) +REGISTER_STAT(JETPACK_MAXSPEED_SIDE, float) +REGISTER_STAT(JETPACK_FUEL, float) +REGISTER_STAT(JETPACK_ANTIGRAVITY, float) +REGISTER_STAT(JETPACK_ACCEL_SIDE, float) +REGISTER_STAT(JETPACK_ACCEL_UP, float) +REGISTER_STAT(MOVEVARS_HIGHSPEED, float) enum { STAT_FIRST_MAIN = (STAT_LAST_VECTOR - 1) + REGISTERED_STATS, - STAT_GAMEPLAYFIX_STEPDOWN, - STAT_MOVEVARS_JUMPSTEP, - STAT_NOSTEP, - STAT_GAMEPLAYFIX_UNSTICKPLAYERS, - STAT_GAMEPLAYFIX_STEPMULTIPLETIMES, - STAT_GAMEPLAYFIX_DOWNTRACEONGROUND, - STAT_GAMEPLAYFIX_EASIERWATERJUMP, - STAT_MOVEVARS_FRICTION_SLICK, - STAT_MOVEVARS_FRICTION_ONLAND, - STAT_MOVEVARS_JUMPSPEEDCAP_DISABLE_ONRAMPS, - STAT_MOVEVARS_TRACK_CANJUMP, - STAT_DOUBLEJUMP, - STAT_MOVEVARS_CL_TRACK_CANJUMP, - STAT_MULTIJUMP_ADD, - STAT_MULTIJUMP_SPEED, - STAT_MULTIJUMP, - STAT_DODGING_TIMEOUT, - STAT_DODGING_WALL, - STAT_DODGING_UP_SPEED, - STAT_DODGING_RAMP_TIME, - STAT_DODGING_HEIGHT_THRESHOLD, - STAT_DODGING_DISTANCE_THRESHOLD, - STAT_DODGING_HORIZ_SPEED, - STAT_DODGING_DELAY, - STAT_DODGING_FROZEN_NO_DOUBLETAP, - STAT_DODGING_HORIZ_SPEED_FROZEN, - STAT_DODGING, - STAT_DODGING_FROZEN, - STAT_JETPACK_MAXSPEED_UP, - STAT_JETPACK_MAXSPEED_SIDE, - STAT_JETPACK_FUEL, - STAT_JETPACK_ANTIGRAVITY, - STAT_JETPACK_ACCEL_SIDE, - STAT_JETPACK_ACCEL_UP, - STAT_MOVEVARS_HIGHSPEED, - STAT_LAST_MAIN }; diff --git a/qcsrc/server/defs.qh b/qcsrc/server/defs.qh index 88a994d840..a54ca8cc3b 100644 --- a/qcsrc/server/defs.qh +++ b/qcsrc/server/defs.qh @@ -227,7 +227,7 @@ float default_weapon_alpha; .float cvar_cl_clippedspectating; .float cvar_cl_autoscreenshot; .float cvar_cl_jetpack_jump; -.float cvar_cl_movement_track_canjump; +.float cvar_cl_movement_track_canjump = _STAT(MOVEVARS_CL_TRACK_CANJUMP); .float cvar_cl_newusekeysupported; .string cvar_g_xonoticversion; -- 2.39.2