1 #ifndef COMMON_PHYSICS_H
2 #define COMMON_PHYSICS_H
4 // Client/server mappings
11 .float swamp_slowdown;
15 .float spectatorspeed;
20 .string lastclassname;
22 .float() PlayerPhysplug;
23 float AdjustAirAccelQW(float accelqw, float factor);
25 bool IsFlying(entity a);
27 #define PHYS_AMMO_FUEL(s) STAT(FUEL, s)
31 const int FL_WATERJUMP = 2048; // player jumping out of water
32 const int FL_JUMPRELEASED = 4096; // for jump debouncing
34 float PM_multijump_checkjump();
45 #define IS_CLIENT(s) (s).isplayermodel
46 #define IS_PLAYER(s) (s).isplayermodel
47 #define isPushable(s) (s).isplayermodel
49 //float player_multijump;
50 //float player_jumpheight;
52 #define PHYS_INPUT_ANGLES(s) input_angles
54 #define PHYS_WORLD_ANGLES(s) input_angles
56 #define PHYS_INPUT_TIMELENGTH input_timelength
57 #define PHYS_INPUT_FRAMETIME serverdeltatime
59 #define PHYS_INPUT_MOVEVALUES(s) input_movevalues
61 #define PHYS_INPUT_BUTTON_MASK(s) (input_buttons | 128 * (input_movevalues_x < 0) | 256 * (input_movevalues_x > 0) | 512 * (input_movevalues_y < 0) | 1024 * (input_movevalues_y > 0))
62 #define PHYS_INPUT_BUTTON_ATCK(s) !!(input_buttons & 1)
63 #define PHYS_INPUT_BUTTON_JUMP(s) !!(input_buttons & 2)
64 #define PHYS_INPUT_BUTTON_ATCK2(s) !!(input_buttons & 4)
65 #define PHYS_INPUT_BUTTON_ZOOM(s) !!(input_buttons & 8)
66 #define PHYS_INPUT_BUTTON_CROUCH(s) !!(input_buttons & 16)
67 #define PHYS_INPUT_BUTTON_HOOK(s) !!(input_buttons & 32)
68 #define PHYS_INPUT_BUTTON_USE(s) !!(input_buttons & 64)
69 #define PHYS_INPUT_BUTTON_BACKWARD(s) !!(input_buttons & 128)
70 #define PHYS_INPUT_BUTTON_FORWARD(s) !!(input_buttons & 256)
71 #define PHYS_INPUT_BUTTON_LEFT(s) !!(input_buttons & 512)
72 #define PHYS_INPUT_BUTTON_RIGHT(s) !!(input_buttons & 1024)
73 #define PHYS_INPUT_BUTTON_JETPACK(s) !!(input_buttons & 4096)
75 #define PHYS_DEAD(s) s.csqcmodel_isdead
77 #define GAMEPLAYFIX_GRAVITYUNAFFECTEDBYTICRATE !!(moveflags & MOVEFLAG_GRAVITYUNAFFECTEDBYTICRATE)
78 #define GAMEPLAYFIX_NOGRAVITYONGROUND cvar("sv_gameplayfix_nogravityonground")
79 #define GAMEPLAYFIX_Q2AIRACCELERATE cvar("sv_gameplayfix_q2airaccelerate")
80 #define GAMEPLAYFIX_EASIERWATERJUMP getstati(STAT_GAMEPLAYFIX_EASIERWATERJUMP)
81 #define GAMEPLAYFIX_DOWNTRACEONGROUND getstati(STAT_GAMEPLAYFIX_DOWNTRACEONGROUND)
82 #define GAMEPLAYFIX_STEPMULTIPLETIMES getstati(STAT_GAMEPLAYFIX_STEPMULTIPLETIMES)
83 #define GAMEPLAYFIX_UNSTICKPLAYERS getstati(STAT_GAMEPLAYFIX_UNSTICKPLAYERS)
84 #define GAMEPLAYFIX_STEPDOWN getstati(STAT_GAMEPLAYFIX_STEPDOWN)
86 #define IS_DUCKED(s) !!(s.flags & FL_DUCKED)
87 #define SET_DUCKED(s) s.flags |= FL_DUCKED
88 #define UNSET_DUCKED(s) s.flags &= ~FL_DUCKED
90 #define IS_JUMP_HELD(s) !(s.flags & FL_JUMPRELEASED)
91 #define SET_JUMP_HELD(s) s.flags &= ~FL_JUMPRELEASED
92 #define UNSET_JUMP_HELD(s) s.flags |= FL_JUMPRELEASED
94 #define IS_ONGROUND(s) !!(s.flags & FL_ONGROUND)
95 #define SET_ONGROUND(s) s.flags |= FL_ONGROUND
96 #define UNSET_ONGROUND(s) s.flags &= ~FL_ONGROUND
98 #define WAS_ONGROUND(s) !!(s.lastflags & FL_ONGROUND)
100 #define ITEMS_STAT(s) (s).items
101 #define BUFFS_STAT(s) STAT(BUFFS)
103 #define PHYS_FROZEN(s) STAT(FROZEN)
105 #define PHYS_DOUBLEJUMP getstati(STAT_DOUBLEJUMP)
107 #define PHYS_BUGRIGS getstati(STAT_BUGRIGS)
108 #define PHYS_BUGRIGS_ANGLE_SMOOTHING getstati(STAT_BUGRIGS_ANGLE_SMOOTHING)
109 #define PHYS_BUGRIGS_PLANAR_MOVEMENT getstati(STAT_BUGRIGS_PLANAR_MOVEMENT)
110 #define PHYS_BUGRIGS_REVERSE_SPEEDING getstati(STAT_BUGRIGS_REVERSE_SPEEDING)
111 #define PHYS_BUGRIGS_FRICTION_FLOOR getstatf(STAT_BUGRIGS_FRICTION_FLOOR)
112 #define PHYS_BUGRIGS_AIR_STEERING getstati(STAT_BUGRIGS_AIR_STEERING)
113 #define PHYS_BUGRIGS_FRICTION_BRAKE getstatf(STAT_BUGRIGS_FRICTION_BRAKE)
114 #define PHYS_BUGRIGS_ACCEL getstatf(STAT_BUGRIGS_ACCEL)
115 #define PHYS_BUGRIGS_SPEED_REF getstatf(STAT_BUGRIGS_SPEED_REF)
116 #define PHYS_BUGRIGS_SPEED_POW getstatf(STAT_BUGRIGS_SPEED_POW)
117 #define PHYS_BUGRIGS_STEER getstatf(STAT_BUGRIGS_STEER)
118 #define PHYS_BUGRIGS_FRICTION_AIR getstatf(STAT_BUGRIGS_FRICTION_AIR)
119 #define PHYS_BUGRIGS_CAR_JUMPING getstatf(STAT_BUGRIGS_CAR_JUMPING)
120 #define PHYS_BUGRIGS_REVERSE_SPINNING getstatf(STAT_BUGRIGS_REVERSE_SPINNING)
121 #define PHYS_BUGRIGS_REVERSE_STOPPING getstatf(STAT_BUGRIGS_REVERSE_STOPPING)
123 #define PHYS_JUMPSPEEDCAP_MIN cvar_string("cl_jumpspeedcap_min")
124 #define PHYS_JUMPSPEEDCAP_MAX cvar_string("cl_jumpspeedcap_max")
125 #define PHYS_JUMPSPEEDCAP_DISABLE_ONRAMPS getstati(STAT_MOVEVARS_JUMPSPEEDCAP_DISABLE_ONRAMPS)
127 #define PHYS_CL_TRACK_CANJUMP(s) getstati(STAT_MOVEVARS_CL_TRACK_CANJUMP)
128 #define PHYS_TRACK_CANJUMP(s) getstati(STAT_MOVEVARS_TRACK_CANJUMP)
129 #define PHYS_ACCELERATE getstatf(STAT_MOVEVARS_ACCELERATE)
130 #define PHYS_AIRACCEL_QW(s) getstatf(STAT_MOVEVARS_AIRACCEL_QW)
131 #define PHYS_AIRACCEL_QW_STRETCHFACTOR(s) STAT(MOVEVARS_AIRACCEL_QW_STRETCHFACTOR, s)
132 #define PHYS_AIRACCEL_SIDEWAYS_FRICTION getstatf(STAT_MOVEVARS_AIRACCEL_SIDEWAYS_FRICTION)
133 #define PHYS_AIRACCELERATE getstatf(STAT_MOVEVARS_AIRACCELERATE)
134 #define PHYS_AIRCONTROL getstatf(STAT_MOVEVARS_AIRCONTROL)
135 #define PHYS_AIRCONTROL_PENALTY STAT(MOVEVARS_AIRCONTROL_PENALTY)
136 #define PHYS_AIRCONTROL_POWER STAT(MOVEVARS_AIRCONTROL_POWER)
137 #define PHYS_AIRSPEEDLIMIT_NONQW(s) STAT(MOVEVARS_AIRSPEEDLIMIT_NONQW, s)
138 #define PHYS_AIRSTOPACCELERATE getstatf(STAT_MOVEVARS_AIRSTOPACCELERATE)
139 #define PHYS_AIRSTRAFEACCEL_QW(s) STAT(MOVEVARS_AIRSTRAFEACCEL_QW, s)
140 #define PHYS_AIRSTRAFEACCELERATE(s) getstatf(STAT_MOVEVARS_AIRSTRAFEACCELERATE)
141 #define PHYS_ENTGRAVITY(s) STAT(MOVEVARS_ENTGRAVITY)
142 #define PHYS_FRICTION getstatf(STAT_MOVEVARS_FRICTION)
143 #define PHYS_FRICTION_SLICK getstatf(STAT_MOVEVARS_FRICTION_SLICK)
144 #define PHYS_FRICTION_ONLAND getstatf(STAT_MOVEVARS_FRICTION_ONLAND)
145 #define PHYS_GRAVITY STAT(MOVEVARS_GRAVITY)
146 #define PHYS_HIGHSPEED getstatf(STAT_MOVEVARS_HIGHSPEED)
147 #define PHYS_JUMPVELOCITY getstatf(STAT_MOVEVARS_JUMPVELOCITY)
148 #define PHYS_MAXAIRSPEED(s) getstatf(STAT_MOVEVARS_MAXAIRSPEED)
149 #define PHYS_MAXAIRSTRAFESPEED getstatf(STAT_MOVEVARS_MAXAIRSTRAFESPEED)
150 #define PHYS_MAXSPEED(s) getstatf(STAT_MOVEVARS_MAXSPEED)
151 #define PHYS_STEPHEIGHT STAT(MOVEVARS_STEPHEIGHT)
152 #define PHYS_STOPSPEED getstatf(STAT_MOVEVARS_STOPSPEED)
153 #define PHYS_WARSOWBUNNY_ACCEL getstatf(STAT_MOVEVARS_WARSOWBUNNY_ACCEL)
154 #define PHYS_WARSOWBUNNY_BACKTOSIDERATIO getstatf(STAT_MOVEVARS_WARSOWBUNNY_BACKTOSIDERATIO)
155 #define PHYS_WARSOWBUNNY_AIRFORWARDACCEL getstatf(STAT_MOVEVARS_WARSOWBUNNY_AIRFORWARDACCEL)
156 #define PHYS_WARSOWBUNNY_TOPSPEED getstatf(STAT_MOVEVARS_WARSOWBUNNY_TOPSPEED)
157 #define PHYS_WARSOWBUNNY_TURNACCEL getstatf(STAT_MOVEVARS_WARSOWBUNNY_TURNACCEL)
159 #define PHYS_WALLFRICTION STAT(MOVEVARS_WALLFRICTION)
161 #define PHYS_JETPACK_ACCEL_UP getstatf(STAT_JETPACK_ACCEL_UP)
162 #define PHYS_JETPACK_ACCEL_SIDE getstatf(STAT_JETPACK_ACCEL_SIDE)
163 #define PHYS_JETPACK_ANTIGRAVITY getstatf(STAT_JETPACK_ANTIGRAVITY)
164 #define PHYS_JETPACK_FUEL getstatf(STAT_JETPACK_FUEL)
165 #define PHYS_JETPACK_MAXSPEED_UP getstatf(STAT_JETPACK_MAXSPEED_UP)
166 #define PHYS_JETPACK_MAXSPEED_SIDE getstatf(STAT_JETPACK_MAXSPEED_SIDE)
168 #define PHYS_DODGING_FROZEN getstati(STAT_DODGING_FROZEN)
170 #define PHYS_NOSTEP getstati(STAT_NOSTEP)
171 #define PHYS_JUMPSTEP getstati(STAT_MOVEVARS_JUMPSTEP)
175 bool Physics_Valid(string thecvar);
177 .vector stat_pl_view_ofs;
178 .vector stat_pl_crouch_view_ofs;
182 .vector stat_pl_crouch_min;
183 .vector stat_pl_crouch_max;
185 .float stat_sv_airaccel_qw;
186 .float stat_sv_airspeedlimit_nonqw = _STAT(MOVEVARS_AIRSPEEDLIMIT_NONQW);
187 .float stat_sv_maxspeed;
188 .float stat_movement_highspeed;
190 .float stat_sv_friction_on_land;
191 .float stat_sv_friction_slick;
193 .float stat_doublejump;
195 .string stat_jumpspeedcap_min;
196 .string stat_jumpspeedcap_max;
197 .float stat_jumpspeedcap_disable_onramps;
199 .float stat_jetpack_accel_side;
200 .float stat_jetpack_accel_up;
201 .float stat_jetpack_antigravity;
202 .float stat_jetpack_fuel;
203 .float stat_jetpack_maxspeed_up;
204 .float stat_jetpack_maxspeed_side;
205 .float stat_gameplayfix_easierwaterjump;
206 .float stat_gameplayfix_downtracesupportsongroundflag;
207 .float stat_gameplayfix_stepmultipletimes;
208 .float stat_gameplayfix_unstickplayers;
209 .float stat_gameplayfix_stepdown;
212 .float stat_bugrigs_angle_smoothing;
213 .float stat_bugrigs_planar_movement;
214 .float stat_bugrigs_reverse_speeding;
215 .float stat_bugrigs_friction_floor;
216 .float stat_bugrigs_air_steering;
217 .float stat_bugrigs_friction_brake;
218 .float stat_bugrigs_accel;
219 .float stat_bugrigs_speed_ref;
220 .float stat_bugrigs_speed_pow;
221 .float stat_bugrigs_steer;
222 .float stat_bugrigs_friction_air;
223 .float stat_bugrigs_car_jumping;
224 .float stat_bugrigs_reverse_spinning;
225 .float stat_bugrigs_reverse_stopping;
228 .float stat_sv_jumpvelocity;
229 .float stat_sv_maxairstrafespeed;
230 .float stat_sv_maxairspeed;
231 .float stat_sv_airstrafeaccelerate;
232 .float stat_sv_warsowbunny_turnaccel;
233 .float stat_sv_airaccel_sideways_friction;
234 .float stat_sv_aircontrol;
235 .float stat_sv_warsowbunny_airforwardaccel;
236 .float stat_sv_warsowbunny_topspeed;
237 .float stat_sv_warsowbunny_accel;
238 .float stat_sv_warsowbunny_backtosideratio;
239 .float stat_sv_friction;
240 .float stat_sv_accelerate;
241 .float stat_sv_stopspeed;
242 .float stat_sv_airaccelerate;
243 .float stat_sv_airstopaccelerate;
246 .float stat_jumpstep;
248 .bool stat_sv_track_canjump;
250 #define PHYS_INPUT_ANGLES(s) s.v_angle
251 #define PHYS_WORLD_ANGLES(s) s.angles
253 #define PHYS_INPUT_TIMELENGTH frametime
254 #define PHYS_INPUT_FRAMETIME sys_frametime
256 #define PHYS_INPUT_MOVEVALUES(s) s.movement
258 #define PHYS_INPUT_BUTTON_MASK(s) (s.BUTTON_ATCK | 2 * s.BUTTON_JUMP | 4 * s.BUTTON_ATCK2 | 8 * s.BUTTON_ZOOM | 16 * s.BUTTON_CROUCH | 32 * s.BUTTON_HOOK | 64 * s.BUTTON_USE | 128 * (s.movement_x < 0) | 256 * (s.movement_x > 0) | 512 * (s.movement_y < 0) | 1024 * (s.movement_y > 0))
259 #define PHYS_INPUT_BUTTON_ATCK(s) s.BUTTON_ATCK
260 #define PHYS_INPUT_BUTTON_JUMP(s) s.BUTTON_JUMP
261 #define PHYS_INPUT_BUTTON_ATCK2(s) s.BUTTON_ATCK2
262 #define PHYS_INPUT_BUTTON_ZOOM(s) s.BUTTON_ZOOM
263 #define PHYS_INPUT_BUTTON_CROUCH(s) s.BUTTON_CROUCH
264 #define PHYS_INPUT_BUTTON_HOOK(s) s.BUTTON_HOOK
265 #define PHYS_INPUT_BUTTON_USE(s) s.BUTTON_USE
266 #define PHYS_INPUT_BUTTON_BACKWARD(s) (s.movement_x < 0)
267 #define PHYS_INPUT_BUTTON_FORWARD(s) (s.movement_x > 0)
268 #define PHYS_INPUT_BUTTON_LEFT(s) (s.movement_y < 0)
269 #define PHYS_INPUT_BUTTON_RIGHT(s) (s.movement_y > 0)
270 #define PHYS_INPUT_BUTTON_JETPACK(s) s.BUTTON_JETPACK
272 #define PHYS_DEAD(s) s.deadflag != DEAD_NO
274 #define GAMEPLAYFIX_GRAVITYUNAFFECTEDBYTICRATE autocvar_sv_gameplayfix_gravityunaffectedbyticrate
275 #define GAMEPLAYFIX_NOGRAVITYONGROUND cvar("sv_gameplayfix_nogravityonground")
276 #define GAMEPLAYFIX_Q2AIRACCELERATE autocvar_sv_gameplayfix_q2airaccelerate
277 #define GAMEPLAYFIX_EASIERWATERJUMP cvar("sv_gameplayfix_easierwaterjump")
278 #define GAMEPLAYFIX_DOWNTRACEONGROUND cvar("sv_gameplayfix_downtracesupportsongroundflag")
279 #define GAMEPLAYFIX_STEPMULTIPLETIMES cvar("sv_gameplayfix_stepmultipletimes")
280 #define GAMEPLAYFIX_UNSTICKPLAYERS cvar("sv_gameplayfix_unstickplayers")
281 #define GAMEPLAYFIX_STEPDOWN cvar("sv_gameplayfix_stepdown")
283 #define IS_DUCKED(s) s.crouch
284 #define SET_DUCKED(s) s.crouch = true
285 #define UNSET_DUCKED(s) s.crouch = false
287 #define IS_JUMP_HELD(s) !(s.flags & FL_JUMPRELEASED)
288 #define SET_JUMP_HELD(s) s.flags &= ~FL_JUMPRELEASED
289 #define UNSET_JUMP_HELD(s) s.flags |= FL_JUMPRELEASED
291 #define IS_ONGROUND(s) !!(s.flags & FL_ONGROUND)
292 #define SET_ONGROUND(s) s.flags |= FL_ONGROUND
293 #define UNSET_ONGROUND(s) s.flags &= ~FL_ONGROUND
295 #define WAS_ONGROUND(s) !!((s).lastflags & FL_ONGROUND)
297 #define ITEMS_STAT(s) s.items
298 #define BUFFS_STAT(s) (s).buffs
300 #define PHYS_FROZEN(s) s.frozen
302 #define PHYS_DOUBLEJUMP autocvar_sv_doublejump
304 #define PHYS_BUGRIGS g_bugrigs
305 #define PHYS_BUGRIGS_ANGLE_SMOOTHING g_bugrigs_angle_smoothing
306 #define PHYS_BUGRIGS_PLANAR_MOVEMENT g_bugrigs_planar_movement
307 #define PHYS_BUGRIGS_REVERSE_SPEEDING g_bugrigs_reverse_speeding
308 #define PHYS_BUGRIGS_FRICTION_FLOOR g_bugrigs_friction_floor
309 #define PHYS_BUGRIGS_AIR_STEERING g_bugrigs_air_steering
310 #define PHYS_BUGRIGS_FRICTION_BRAKE g_bugrigs_friction_brake
311 #define PHYS_BUGRIGS_ACCEL g_bugrigs_accel
312 #define PHYS_BUGRIGS_SPEED_REF g_bugrigs_speed_ref
313 #define PHYS_BUGRIGS_SPEED_POW g_bugrigs_speed_pow
314 #define PHYS_BUGRIGS_STEER g_bugrigs_steer
315 #define PHYS_BUGRIGS_FRICTION_AIR g_bugrigs_friction_air
316 #define PHYS_BUGRIGS_CAR_JUMPING g_bugrigs_planar_movement_car_jumping
317 #define PHYS_BUGRIGS_REVERSE_SPINNING g_bugrigs_reverse_spinning
318 #define PHYS_BUGRIGS_REVERSE_STOPPING g_bugrigs_reverse_stopping
320 #define PHYS_JUMPSPEEDCAP_MIN autocvar_sv_jumpspeedcap_min
321 #define PHYS_JUMPSPEEDCAP_MAX autocvar_sv_jumpspeedcap_max
322 #define PHYS_JUMPSPEEDCAP_DISABLE_ONRAMPS autocvar_sv_jumpspeedcap_max_disable_on_ramps
324 #define PHYS_CL_TRACK_CANJUMP(s) s.cvar_cl_movement_track_canjump
325 #define PHYS_TRACK_CANJUMP(s) s.stat_sv_track_canjump
326 #define PHYS_ACCELERATE self.stat_sv_accelerate
327 #define PHYS_AIRACCEL_QW(s) s.stat_sv_airaccel_qw
328 #define PHYS_AIRACCEL_QW_STRETCHFACTOR(s) STAT(MOVEVARS_AIRACCEL_QW_STRETCHFACTOR, s)
329 #define PHYS_AIRACCEL_SIDEWAYS_FRICTION self.stat_sv_airaccel_sideways_friction
330 #define PHYS_AIRACCELERATE self.stat_sv_airaccelerate
331 #define PHYS_AIRCONTROL self.stat_sv_aircontrol
332 #define PHYS_AIRCONTROL_PENALTY STAT(MOVEVARS_AIRCONTROL_PENALTY, self)
333 #define PHYS_AIRCONTROL_POWER STAT(MOVEVARS_AIRCONTROL_POWER, self)
334 #define PHYS_AIRSPEEDLIMIT_NONQW(s) STAT(MOVEVARS_AIRSPEEDLIMIT_NONQW, s)
335 #define PHYS_AIRSTOPACCELERATE self.stat_sv_airstopaccelerate
336 #define PHYS_AIRSTRAFEACCEL_QW(s) STAT(MOVEVARS_AIRSTRAFEACCEL_QW, s)
337 #define PHYS_AIRSTRAFEACCELERATE(s) s.stat_sv_airstrafeaccelerate
338 #define PHYS_ENTGRAVITY(s) s.gravity
339 #define PHYS_FRICTION self.stat_sv_friction
340 #define PHYS_FRICTION_SLICK autocvar_sv_friction_slick
341 #define PHYS_FRICTION_ONLAND autocvar_sv_friction_on_land
342 #define PHYS_GRAVITY autocvar_sv_gravity
343 #define PHYS_HIGHSPEED autocvar_g_movement_highspeed
344 #define PHYS_JUMPVELOCITY self.stat_sv_jumpvelocity
345 #define PHYS_MAXAIRSPEED(s) self.stat_sv_maxairspeed
346 #define PHYS_MAXAIRSTRAFESPEED self.stat_sv_maxairstrafespeed
347 #define PHYS_MAXSPEED(s) s.stat_sv_maxspeed
348 #define PHYS_STEPHEIGHT autocvar_sv_stepheight
349 #define PHYS_STOPSPEED self.stat_sv_stopspeed
350 #define PHYS_WARSOWBUNNY_ACCEL self.stat_sv_warsowbunny_accel
351 #define PHYS_WARSOWBUNNY_BACKTOSIDERATIO self.stat_sv_warsowbunny_backtosideratio
352 #define PHYS_WARSOWBUNNY_AIRFORWARDACCEL self.stat_sv_warsowbunny_airforwardaccel
353 #define PHYS_WARSOWBUNNY_TOPSPEED self.stat_sv_warsowbunny_topspeed
354 #define PHYS_WARSOWBUNNY_TURNACCEL self.stat_sv_warsowbunny_turnaccel
356 #define PHYS_WALLFRICTION cvar("sv_wallfriction")
358 #define PHYS_JETPACK_ACCEL_UP autocvar_g_jetpack_acceleration_up
359 #define PHYS_JETPACK_ACCEL_SIDE autocvar_g_jetpack_acceleration_side
360 #define PHYS_JETPACK_ANTIGRAVITY autocvar_g_jetpack_antigravity
361 #define PHYS_JETPACK_FUEL autocvar_g_jetpack_fuel
362 #define PHYS_JETPACK_MAXSPEED_UP autocvar_g_jetpack_maxspeed_up
363 #define PHYS_JETPACK_MAXSPEED_SIDE autocvar_g_jetpack_maxspeed_side
365 #define PHYS_DODGING_FROZEN autocvar_sv_dodging_frozen
367 #define PHYS_NOSTEP cvar("sv_nostep")
368 #define PHYS_JUMPSTEP cvar("sv_jumpstep")