bool IsFlying(entity a);
+#define PHYS_AMMO_FUEL(s) STAT(FUEL, s)
+
#ifdef CSQC
const int FL_WATERJUMP = 2048; // player jumping out of water
void PM_multijump();
.float watertype;
+ .float waterlevel;
.int items;
.vector movement;
#define IS_PLAYER(s) (s).isplayermodel
#define isPushable(s) (s).isplayermodel
- float player_multijump;
- float player_jumpheight;
+ //float player_multijump;
+ //float player_jumpheight;
#define PHYS_INPUT_ANGLES(s) input_angles
// TODO
#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
#define WAS_ONGROUND(s) !!(s.lastflags & FL_ONGROUND)
#define ITEMS_STAT(s) (s).items
- #define BUFFS(s) getstati(STAT_BUFFS)
-
- #define PHYS_AMMO_FUEL(s) getstati(STAT_FUEL)
-
- #define PHYS_FROZEN(s) getstati(STAT_FROZEN)
-
- #define PHYS_DOUBLEJUMP getstati(STAT_DOUBLEJUMP)
-
- #define PHYS_BUGRIGS getstati(STAT_BUGRIGS)
- #define PHYS_BUGRIGS_ANGLE_SMOOTHING getstati(STAT_BUGRIGS_ANGLE_SMOOTHING)
- #define PHYS_BUGRIGS_PLANAR_MOVEMENT getstati(STAT_BUGRIGS_PLANAR_MOVEMENT)
- #define PHYS_BUGRIGS_REVERSE_SPEEDING getstati(STAT_BUGRIGS_REVERSE_SPEEDING)
- #define PHYS_BUGRIGS_FRICTION_FLOOR getstatf(STAT_BUGRIGS_FRICTION_FLOOR)
- #define PHYS_BUGRIGS_AIR_STEERING getstati(STAT_BUGRIGS_AIR_STEERING)
- #define PHYS_BUGRIGS_FRICTION_BRAKE getstatf(STAT_BUGRIGS_FRICTION_BRAKE)
- #define PHYS_BUGRIGS_ACCEL getstatf(STAT_BUGRIGS_ACCEL)
- #define PHYS_BUGRIGS_SPEED_REF getstatf(STAT_BUGRIGS_SPEED_REF)
- #define PHYS_BUGRIGS_SPEED_POW getstatf(STAT_BUGRIGS_SPEED_POW)
- #define PHYS_BUGRIGS_STEER getstatf(STAT_BUGRIGS_STEER)
- #define PHYS_BUGRIGS_FRICTION_AIR getstatf(STAT_BUGRIGS_FRICTION_AIR)
- #define PHYS_BUGRIGS_CAR_JUMPING getstatf(STAT_BUGRIGS_CAR_JUMPING)
- #define PHYS_BUGRIGS_REVERSE_SPINNING getstatf(STAT_BUGRIGS_REVERSE_SPINNING)
- #define PHYS_BUGRIGS_REVERSE_STOPPING getstatf(STAT_BUGRIGS_REVERSE_STOPPING)
-
- #define PHYS_JUMPSPEEDCAP_MIN getstatf(STAT_MOVEVARS_JUMPSPEEDCAP_MIN)
- #define PHYS_JUMPSPEEDCAP_MAX getstatf(STAT_MOVEVARS_JUMPSPEEDCAP_MAX)
- #define PHYS_JUMPSPEEDCAP_DISABLE_ONRAMPS getstati(STAT_MOVEVARS_JUMPSPEEDCAP_DISABLE_ONRAMPS)
-
- #define PHYS_TRACK_CANJUMP(s) getstati(STAT_MOVEVARS_TRACK_CANJUMP)
+ #define BUFFS_STAT(s) STAT(BUFFS)
+
+ #define PHYS_FROZEN(s) STAT(FROZEN)
+
+ #define PHYS_DOUBLEJUMP STAT(DOUBLEJUMP)
+
+ #define PHYS_BUGRIGS STAT(BUGRIGS)
+ #define PHYS_BUGRIGS_ANGLE_SMOOTHING STAT(BUGRIGS_ANGLE_SMOOTHING)
+ #define PHYS_BUGRIGS_PLANAR_MOVEMENT STAT(BUGRIGS_PLANAR_MOVEMENT)
+ #define PHYS_BUGRIGS_REVERSE_SPEEDING STAT(BUGRIGS_REVERSE_SPEEDING)
+ #define PHYS_BUGRIGS_FRICTION_FLOOR STAT(BUGRIGS_FRICTION_FLOOR)
+ #define PHYS_BUGRIGS_AIR_STEERING STAT(BUGRIGS_AIR_STEERING)
+ #define PHYS_BUGRIGS_FRICTION_BRAKE STAT(BUGRIGS_FRICTION_BRAKE)
+ #define PHYS_BUGRIGS_ACCEL STAT(BUGRIGS_ACCEL)
+ #define PHYS_BUGRIGS_SPEED_REF STAT(BUGRIGS_SPEED_REF)
+ #define PHYS_BUGRIGS_SPEED_POW STAT(BUGRIGS_SPEED_POW)
+ #define PHYS_BUGRIGS_STEER STAT(BUGRIGS_STEER)
+ #define PHYS_BUGRIGS_FRICTION_AIR STAT(BUGRIGS_FRICTION_AIR)
+ #define PHYS_BUGRIGS_CAR_JUMPING STAT(BUGRIGS_CAR_JUMPING)
+ #define PHYS_BUGRIGS_REVERSE_SPINNING STAT(BUGRIGS_REVERSE_SPINNING)
+ #define PHYS_BUGRIGS_REVERSE_STOPPING STAT(BUGRIGS_REVERSE_STOPPING)
+
+ #define PHYS_JUMPSPEEDCAP_MIN cvar_string("cl_jumpspeedcap_min")
+ #define PHYS_JUMPSPEEDCAP_MAX cvar_string("cl_jumpspeedcap_max")
+ #define PHYS_JUMPSPEEDCAP_DISABLE_ONRAMPS STAT(MOVEVARS_JUMPSPEEDCAP_DISABLE_ONRAMPS)
+
+ #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) getstatf(STAT_MOVEVARS_AIRACCEL_QW_STRETCHFACTOR)
+ #define PHYS_AIRACCEL_QW_STRETCHFACTOR(s) STAT(MOVEVARS_AIRACCEL_QW_STRETCHFACTOR, s)
#define PHYS_AIRACCEL_SIDEWAYS_FRICTION getstatf(STAT_MOVEVARS_AIRACCEL_SIDEWAYS_FRICTION)
#define PHYS_AIRACCELERATE getstatf(STAT_MOVEVARS_AIRACCELERATE)
#define PHYS_AIRCONTROL getstatf(STAT_MOVEVARS_AIRCONTROL)
- #define PHYS_AIRCONTROL_PENALTY getstatf(STAT_MOVEVARS_AIRCONTROL_PENALTY)
- #define PHYS_AIRCONTROL_POWER getstatf(STAT_MOVEVARS_AIRCONTROL_POWER)
- #define PHYS_AIRSPEEDLIMIT_NONQW(s) getstatf(STAT_MOVEVARS_AIRSPEEDLIMIT_NONQW)
+ #define PHYS_AIRCONTROL_PENALTY STAT(MOVEVARS_AIRCONTROL_PENALTY)
+ #define PHYS_AIRCONTROL_POWER STAT(MOVEVARS_AIRCONTROL_POWER)
+ #define PHYS_AIRSPEEDLIMIT_NONQW(s) STAT(MOVEVARS_AIRSPEEDLIMIT_NONQW, s)
#define PHYS_AIRSTOPACCELERATE getstatf(STAT_MOVEVARS_AIRSTOPACCELERATE)
- #define PHYS_AIRSTRAFEACCEL_QW(s) getstatf(STAT_MOVEVARS_AIRSTRAFEACCEL_QW)
+ #define PHYS_AIRSTRAFEACCEL_QW(s) STAT(MOVEVARS_AIRSTRAFEACCEL_QW, s)
#define PHYS_AIRSTRAFEACCELERATE(s) getstatf(STAT_MOVEVARS_AIRSTRAFEACCELERATE)
- #define PHYS_ENTGRAVITY(s) getstatf(STAT_MOVEVARS_ENTGRAVITY)
+ #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_GRAVITY getstatf(STAT_MOVEVARS_GRAVITY)
- #define PHYS_HIGHSPEED getstatf(STAT_MOVEVARS_HIGHSPEED)
+ #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 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)
#define PHYS_MAXSPEED(s) getstatf(STAT_MOVEVARS_MAXSPEED)
- #define PHYS_STEPHEIGHT getstatf(STAT_MOVEVARS_STEPHEIGHT)
+ #define PHYS_STEPHEIGHT STAT(MOVEVARS_STEPHEIGHT)
#define PHYS_STOPSPEED getstatf(STAT_MOVEVARS_STOPSPEED)
#define PHYS_WARSOWBUNNY_ACCEL getstatf(STAT_MOVEVARS_WARSOWBUNNY_ACCEL)
#define PHYS_WARSOWBUNNY_BACKTOSIDERATIO getstatf(STAT_MOVEVARS_WARSOWBUNNY_BACKTOSIDERATIO)
#define PHYS_WARSOWBUNNY_TOPSPEED getstatf(STAT_MOVEVARS_WARSOWBUNNY_TOPSPEED)
#define PHYS_WARSOWBUNNY_TURNACCEL getstatf(STAT_MOVEVARS_WARSOWBUNNY_TURNACCEL)
- #define PHYS_WALLFRICTION getstati(STAT_MOVEVARS_WALLFRICTION)
+ #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)
.vector stat_pl_crouch_max;
.float stat_sv_airaccel_qw;
- .float stat_sv_airstrafeaccel_qw;
- .float stat_sv_airspeedlimit_nonqw;
+ .float stat_sv_airspeedlimit_nonqw = _STAT(MOVEVARS_AIRSPEEDLIMIT_NONQW);
.float stat_sv_maxspeed;
- .float stat_movement_highspeed;
-
- .float stat_sv_friction_on_land;
- .float stat_sv_friction_slick;
-
- .float stat_doublejump;
-
- .float stat_jumpspeedcap_min;
- .float 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_bugrigs;
- .float stat_bugrigs_angle_smoothing;
- .float stat_bugrigs_planar_movement;
- .float stat_bugrigs_reverse_speeding;
- .float stat_bugrigs_friction_floor;
- .float stat_bugrigs_air_steering;
- .float stat_bugrigs_friction_brake;
- .float stat_bugrigs_accel;
- .float stat_bugrigs_speed_ref;
- .float stat_bugrigs_speed_pow;
- .float stat_bugrigs_steer;
- .float stat_bugrigs_friction_air;
- .float stat_bugrigs_car_jumping;
- .float stat_bugrigs_reverse_spinning;
- .float stat_bugrigs_reverse_stopping;
+ .float stat_movement_highspeed = _STAT(MOVEVARS_HIGHSPEED);
+
+ .float stat_sv_friction_on_land = _STAT(MOVEVARS_FRICTION_ONLAND);
+ .float stat_sv_friction_slick = _STAT(MOVEVARS_FRICTION_SLICK);
+
+ .float stat_doublejump = _STAT(DOUBLEJUMP);
+
+ .string stat_jumpspeedcap_min;
+ .string stat_jumpspeedcap_max;
+ .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);
+ .float stat_bugrigs_planar_movement = _STAT(BUGRIGS_PLANAR_MOVEMENT);
+ .float stat_bugrigs_reverse_speeding = _STAT(BUGRIGS_REVERSE_SPEEDING);
+ .float stat_bugrigs_friction_floor = _STAT(BUGRIGS_FRICTION_FLOOR);
+ .float stat_bugrigs_air_steering = _STAT(BUGRIGS_AIR_STEERING);
+ .float stat_bugrigs_friction_brake = _STAT(BUGRIGS_FRICTION_BRAKE);
+ .float stat_bugrigs_accel = _STAT(BUGRIGS_ACCEL);
+ .float stat_bugrigs_speed_ref = _STAT(BUGRIGS_SPEED_REF);
+ .float stat_bugrigs_speed_pow = _STAT(BUGRIGS_SPEED_POW);
+ .float stat_bugrigs_steer = _STAT(BUGRIGS_STEER);
+ .float stat_bugrigs_friction_air = _STAT(BUGRIGS_FRICTION_AIR);
+ .float stat_bugrigs_car_jumping = _STAT(BUGRIGS_CAR_JUMPING);
+ .float stat_bugrigs_reverse_spinning = _STAT(BUGRIGS_REVERSE_SPINNING);
+ .float stat_bugrigs_reverse_stopping = _STAT(BUGRIGS_REVERSE_STOPPING);
// new properties
.float stat_sv_jumpvelocity;
- .float stat_sv_airaccel_qw_stretchfactor;
.float stat_sv_maxairstrafespeed;
.float stat_sv_maxairspeed;
.float stat_sv_airstrafeaccelerate;
.float stat_sv_warsowbunny_turnaccel;
.float stat_sv_airaccel_sideways_friction;
.float stat_sv_aircontrol;
- .float stat_sv_aircontrol_power;
- .float stat_sv_aircontrol_penalty;
.float stat_sv_warsowbunny_airforwardaccel;
.float stat_sv_warsowbunny_topspeed;
.float stat_sv_warsowbunny_accel;
.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 = _STAT(MOVEVARS_TRACK_CANJUMP);
#define PHYS_INPUT_ANGLES(s) s.v_angle
#define PHYS_WORLD_ANGLES(s) s.angles
#define WAS_ONGROUND(s) !!((s).lastflags & FL_ONGROUND)
#define ITEMS_STAT(s) s.items
- #define BUFFS(s) (s).buffs
-
- #define PHYS_AMMO_FUEL(s) s.ammo_fuel
+ #define BUFFS_STAT(s) (s).buffs
#define PHYS_FROZEN(s) s.frozen
#define PHYS_JUMPSPEEDCAP_MAX autocvar_sv_jumpspeedcap_max
#define PHYS_JUMPSPEEDCAP_DISABLE_ONRAMPS autocvar_sv_jumpspeedcap_max_disable_on_ramps
- #define PHYS_TRACK_CANJUMP(s) s.cvar_cl_movement_track_canjump
+ #define PHYS_CL_TRACK_CANJUMP(s) s.cvar_cl_movement_track_canjump
+ #define PHYS_TRACK_CANJUMP(s) s.stat_sv_track_canjump
#define PHYS_ACCELERATE self.stat_sv_accelerate
#define PHYS_AIRACCEL_QW(s) s.stat_sv_airaccel_qw
- #define PHYS_AIRACCEL_QW_STRETCHFACTOR(s) self.stat_sv_airaccel_qw_stretchfactor
+ #define PHYS_AIRACCEL_QW_STRETCHFACTOR(s) STAT(MOVEVARS_AIRACCEL_QW_STRETCHFACTOR, s)
#define PHYS_AIRACCEL_SIDEWAYS_FRICTION self.stat_sv_airaccel_sideways_friction
#define PHYS_AIRACCELERATE self.stat_sv_airaccelerate
#define PHYS_AIRCONTROL self.stat_sv_aircontrol
- #define PHYS_AIRCONTROL_PENALTY self.stat_sv_aircontrol_penalty
- #define PHYS_AIRCONTROL_POWER self.stat_sv_aircontrol_power
- #define PHYS_AIRSPEEDLIMIT_NONQW(s) s.stat_sv_airspeedlimit_nonqw
+ #define PHYS_AIRCONTROL_PENALTY STAT(MOVEVARS_AIRCONTROL_PENALTY, self)
+ #define PHYS_AIRCONTROL_POWER STAT(MOVEVARS_AIRCONTROL_POWER, self)
+ #define PHYS_AIRSPEEDLIMIT_NONQW(s) STAT(MOVEVARS_AIRSPEEDLIMIT_NONQW, s)
#define PHYS_AIRSTOPACCELERATE self.stat_sv_airstopaccelerate
- #define PHYS_AIRSTRAFEACCEL_QW(s) s.stat_sv_airstrafeaccel_qw
+ #define PHYS_AIRSTRAFEACCEL_QW(s) STAT(MOVEVARS_AIRSTRAFEACCEL_QW, s)
#define PHYS_AIRSTRAFEACCELERATE(s) s.stat_sv_airstrafeaccelerate
#define PHYS_ENTGRAVITY(s) s.gravity
#define PHYS_FRICTION self.stat_sv_friction