]> git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/common/physics.qh
Stats: port vectors
[xonotic/xonotic-data.pk3dir.git] / qcsrc / common / physics.qh
index 0afd9aeddb25ceaa4a90bf1b30a36d102d13a78e..682e58712fe718a15c5639fcbbe6d893391fd35c 100644 (file)
+#ifndef COMMON_PHYSICS_H
+#define COMMON_PHYSICS_H
+
 // Client/server mappings
 
+.entity conveyor;
+
+.float race_penalty;
+
+.float gravity;
+.float swamp_slowdown;
+.float lastflags;
+.float lastground;
+.float wasFlying;
+.float spectatorspeed;
+
+.vector movement_old;
+.float buttons_old;
+.vector v_angle_old;
+.string lastclassname;
+
+.float() PlayerPhysplug;
+float AdjustAirAccelQW(float accelqw, float factor);
+
+bool IsFlying(entity a);
+
+#define BUFFS_STAT(s)                       STAT(BUFFS, s)
+
+#define GAMEPLAYFIX_DOWNTRACEONGROUND       STAT(GAMEPLAYFIX_DOWNTRACEONGROUND, this)
+#define GAMEPLAYFIX_EASIERWATERJUMP         STAT(GAMEPLAYFIX_EASIERWATERJUMP, this)
+#define GAMEPLAYFIX_STEPDOWN                STAT(GAMEPLAYFIX_STEPDOWN, this)
+#define GAMEPLAYFIX_STEPMULTIPLETIMES       STAT(GAMEPLAYFIX_STEPMULTIPLETIMES, this)
+#define GAMEPLAYFIX_UNSTICKPLAYERS          STAT(GAMEPLAYFIX_UNSTICKPLAYERS, this)
+
+#define PHYS_ACCELERATE                     STAT(MOVEVARS_ACCELERATE, this)
+#define PHYS_AIRACCELERATE                  STAT(MOVEVARS_AIRACCELERATE, this)
+#define PHYS_AIRACCEL_QW(s)                 STAT(MOVEVARS_AIRACCEL_QW, s)
+#define PHYS_AIRACCEL_QW_STRETCHFACTOR(s)   STAT(MOVEVARS_AIRACCEL_QW_STRETCHFACTOR, s)
+#define PHYS_AIRACCEL_SIDEWAYS_FRICTION     STAT(MOVEVARS_AIRACCEL_SIDEWAYS_FRICTION, this)
+#define PHYS_AIRCONTROL                     STAT(MOVEVARS_AIRCONTROL, this)
+#define PHYS_AIRCONTROL_PENALTY             STAT(MOVEVARS_AIRCONTROL_PENALTY, this)
+#define PHYS_AIRCONTROL_POWER               STAT(MOVEVARS_AIRCONTROL_POWER, this)
+#define PHYS_AIRSPEEDLIMIT_NONQW(s)         STAT(MOVEVARS_AIRSPEEDLIMIT_NONQW, s)
+#define PHYS_AIRSTOPACCELERATE              STAT(MOVEVARS_AIRSTOPACCELERATE, this)
+#define PHYS_AIRSTRAFEACCELERATE(s)         STAT(MOVEVARS_AIRSTRAFEACCELERATE, this)
+#define PHYS_AIRSTRAFEACCEL_QW(s)           STAT(MOVEVARS_AIRSTRAFEACCEL_QW, s)
+
+#define PHYS_AMMO_FUEL(s)                   STAT(FUEL, s)
+
+#define PHYS_BUGRIGS                        STAT(BUGRIGS, this)
+#define PHYS_BUGRIGS_ACCEL                  STAT(BUGRIGS_ACCEL, this)
+#define PHYS_BUGRIGS_AIR_STEERING           STAT(BUGRIGS_AIR_STEERING, this)
+#define PHYS_BUGRIGS_ANGLE_SMOOTHING        STAT(BUGRIGS_ANGLE_SMOOTHING, this)
+#define PHYS_BUGRIGS_CAR_JUMPING            STAT(BUGRIGS_CAR_JUMPING, this)
+#define PHYS_BUGRIGS_FRICTION_AIR           STAT(BUGRIGS_FRICTION_AIR, this)
+#define PHYS_BUGRIGS_FRICTION_BRAKE         STAT(BUGRIGS_FRICTION_BRAKE, this)
+#define PHYS_BUGRIGS_FRICTION_FLOOR         STAT(BUGRIGS_FRICTION_FLOOR, this)
+#define PHYS_BUGRIGS_PLANAR_MOVEMENT        STAT(BUGRIGS_PLANAR_MOVEMENT, this)
+#define PHYS_BUGRIGS_REVERSE_SPEEDING       STAT(BUGRIGS_REVERSE_SPEEDING, this)
+#define PHYS_BUGRIGS_REVERSE_SPINNING       STAT(BUGRIGS_REVERSE_SPINNING, this)
+#define PHYS_BUGRIGS_REVERSE_STOPPING       STAT(BUGRIGS_REVERSE_STOPPING, this)
+#define PHYS_BUGRIGS_SPEED_POW              STAT(BUGRIGS_SPEED_POW, this)
+#define PHYS_BUGRIGS_SPEED_REF              STAT(BUGRIGS_SPEED_REF, this)
+#define PHYS_BUGRIGS_STEER                  STAT(BUGRIGS_STEER, this)
+
+#define PHYS_DODGING_FROZEN                                    STAT(DODGING_FROZEN, this)
+
+#define PHYS_DOUBLEJUMP                     STAT(DOUBLEJUMP, this)
+
+#define PHYS_FRICTION                       STAT(MOVEVARS_FRICTION, this)
+#define PHYS_FRICTION_ONLAND                STAT(MOVEVARS_FRICTION_ONLAND, this)
+#define PHYS_FRICTION_SLICK                 STAT(MOVEVARS_FRICTION_SLICK, this)
+
+#define PHYS_FROZEN(s)                      STAT(FROZEN, s)
+
+#define PHYS_GRAVITY(s)                     STAT(MOVEVARS_GRAVITY, s)
+
+#define PHYS_HIGHSPEED                      STAT(MOVEVARS_HIGHSPEED, this)
+
+#define PHYS_JETPACK_ACCEL_SIDE                        STAT(JETPACK_ACCEL_SIDE, this)
+#define PHYS_JETPACK_ACCEL_UP                          STAT(JETPACK_ACCEL_UP, this)
+#define PHYS_JETPACK_ANTIGRAVITY                       STAT(JETPACK_ANTIGRAVITY, this)
+#define PHYS_JETPACK_FUEL                                      STAT(JETPACK_FUEL, this)
+#define PHYS_JETPACK_MAXSPEED_SIDE                     STAT(JETPACK_MAXSPEED_SIDE, this)
+#define PHYS_JETPACK_MAXSPEED_UP                       STAT(JETPACK_MAXSPEED_UP, this)
+
+#define PHYS_JUMPSPEEDCAP_DISABLE_ONRAMPS   STAT(MOVEVARS_JUMPSPEEDCAP_DISABLE_ONRAMPS, this)
+#define PHYS_JUMPSTEP                                          STAT(MOVEVARS_JUMPSTEP, this)
+#define PHYS_JUMPVELOCITY                   STAT(MOVEVARS_JUMPVELOCITY, this)
+
+#define PHYS_MAXAIRSPEED(s)                 STAT(MOVEVARS_MAXAIRSPEED, s)
+#define PHYS_MAXAIRSTRAFESPEED              STAT(MOVEVARS_MAXAIRSTRAFESPEED, this)
+#define PHYS_MAXSPEED(s)                    STAT(MOVEVARS_MAXSPEED, s)
+
+#define PHYS_NOSTEP                                                    STAT(NOSTEP, this)
+#define PHYS_STEPHEIGHT                     STAT(MOVEVARS_STEPHEIGHT, this)
+
+#define PHYS_STOPSPEED                      STAT(MOVEVARS_STOPSPEED, this)
+
+#define PHYS_TRACK_CANJUMP(s)               STAT(MOVEVARS_TRACK_CANJUMP, s)
+
+#define PHYS_WALLFRICTION                                      STAT(MOVEVARS_WALLFRICTION, this)
+
+#define PHYS_WARSOWBUNNY_ACCEL              STAT(MOVEVARS_WARSOWBUNNY_ACCEL, this)
+#define PHYS_WARSOWBUNNY_AIRFORWARDACCEL    STAT(MOVEVARS_WARSOWBUNNY_AIRFORWARDACCEL, this)
+#define PHYS_WARSOWBUNNY_BACKTOSIDERATIO    STAT(MOVEVARS_WARSOWBUNNY_BACKTOSIDERATIO, this)
+#define PHYS_WARSOWBUNNY_TOPSPEED           STAT(MOVEVARS_WARSOWBUNNY_TOPSPEED, this)
+#define PHYS_WARSOWBUNNY_TURNACCEL          STAT(MOVEVARS_WARSOWBUNNY_TURNACCEL, this)
+
+#define UPWARD_VELOCITY_CLEARS_ONGROUND     STAT(GAMEPLAYFIX_UPVELOCITYCLEARSONGROUND, this)
+
 #ifdef CSQC
 
-       float pm_multijump;
+       const int FL_WATERJUMP = 2048;  // player jumping out of water
+       const int FL_JUMPRELEASED = 4096;       // for jump debouncing
+
+       float PM_multijump_checkjump();
+       void PM_multijump();
+
+       .float watertype;
+       .float waterlevel;
+       .int items;
+
+       .vector movement;
+       .vector v_angle;
+
+// TODO
+       #define IS_CLIENT(s)                                            (s).isplayermodel
+       #define IS_PLAYER(s)                                            (s).isplayermodel
+       #define isPushable(s)                                           (s).isplayermodel
+
+       //float player_multijump;
+       //float player_jumpheight;
+
+       #define TICRATE ticrate
 
        #define PHYS_INPUT_ANGLES(s)                            input_angles
 // TODO
        #define PHYS_WORLD_ANGLES(s)                            input_angles
 
        #define PHYS_INPUT_TIMELENGTH                           input_timelength
+       #define PHYS_INPUT_FRAMETIME                            serverdeltatime
 
        #define PHYS_INPUT_MOVEVALUES(s)                        input_movevalues
 
        #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))
-       #define PHYS_INPUT_BUTTON_ATCK(s)                       (input_buttons & 1)
-       #define PHYS_INPUT_BUTTON_JUMP(s)                       (input_buttons & 2)
-       #define PHYS_INPUT_BUTTON_ATCK2(s)                      (input_buttons & 4)
-       #define PHYS_INPUT_BUTTON_ZOOM(s)                       (input_buttons & 8)
-       #define PHYS_INPUT_BUTTON_CROUCH(s)                     (input_buttons & 16)
-       #define PHYS_INPUT_BUTTON_HOOK(s)                       (input_buttons & 32)
-       #define PHYS_INPUT_BUTTON_USE(s)                        (input_buttons & 64)
-       #define PHYS_INPUT_BUTTON_BACKWARD(s)           (input_buttons & 128)
-       #define PHYS_INPUT_BUTTON_FORWARD(s)            (input_buttons & 256)
-       #define PHYS_INPUT_BUTTON_LEFT(s)                       (input_buttons & 512)
-       #define PHYS_INPUT_BUTTON_RIGHT(s)                      (input_buttons & 1024)
+       #define PHYS_INPUT_BUTTON_ATCK(s)                       !!(input_buttons & 1)
+       #define PHYS_INPUT_BUTTON_JUMP(s)                       !!(input_buttons & 2)
+       #define PHYS_INPUT_BUTTON_ATCK2(s)                      !!(input_buttons & 4)
+       #define PHYS_INPUT_BUTTON_ZOOM(s)                       !!(input_buttons & 8)
+       #define PHYS_INPUT_BUTTON_CROUCH(s)                     !!(input_buttons & 16)
+       #define PHYS_INPUT_BUTTON_HOOK(s)                       !!(input_buttons & 32)
+       #define PHYS_INPUT_BUTTON_USE(s)                        !!(input_buttons & 64)
+       #define PHYS_INPUT_BUTTON_BACKWARD(s)           !!(input_buttons & 128)
+       #define PHYS_INPUT_BUTTON_FORWARD(s)            !!(input_buttons & 256)
+       #define PHYS_INPUT_BUTTON_LEFT(s)                       !!(input_buttons & 512)
+       #define PHYS_INPUT_BUTTON_RIGHT(s)                      !!(input_buttons & 1024)
+       #define PHYS_INPUT_BUTTON_JETPACK(s)            !!(input_buttons & 4096)
 
        #define PHYS_DEAD(s)                                            s.csqcmodel_isdead
 
-       #define GAMEPLAYFIX_GRAVITYUNAFFECTEDBYTICRATE  moveflags & MOVEFLAG_GRAVITYUNAFFECTEDBYTICRATE
-       #define GAMEPLAYFIX_NOGRAVITYONGROUND                   cvar("sv_gameplayfix_nogravityonground")
-       #define GAMEPLAYFIX_Q2AIRACCELERATE                             cvar("sv_gameplayfix_q2airaccelerate")
-
-       #define IS_DUCKED(s)                                            (s.pmove_flags & PMF_DUCKED)
-       #define SET_DUCKED(s)                                           s.pmove_flags |= PMF_DUCKED
-       #define UNSET_DUCKED(s)                                         s.pmove_flags &= ~PMF_DUCKED
-
-       #define IS_JUMP_HELD(s)                                         (s.pmove_flags & PMF_JUMP_HELD)
-       #define SET_JUMP_HELD(s)                                        s.pmove_flags |= PMF_JUMP_HELD
-       #define UNSET_JUMP_HELD(s)                                      s.pmove_flags &= ~PMF_JUMP_HELD
-
-       #define IS_ONGROUND(s)                                          (s.pmove_flags & PMF_ONGROUND)
-       #define SET_ONGROUND(s)                                         s.pmove_flags |= PMF_ONGROUND
-       #define UNSET_ONGROUND(s)                                       s.pmove_flags &= ~PMF_ONGROUND
-
-       #define ITEMS(s)                                                        getstati(STAT_ITEMS, 0, 24)
-
-       #define PHYS_AMMO_FUEL(s)                                       getstati(STAT_FUEL)
-
-       #define PHYS_FROZEN(s)                                          getstati(STAT_FROZEN)
-
-       #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_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_AIRSTOPACCELERATE                          getstatf(STAT_MOVEVARS_AIRSTOPACCELERATE)
-       #define PHYS_AIRSTRAFEACCEL_QW(s)                       getstatf(STAT_MOVEVARS_AIRSTRAFEACCEL_QW)
-       #define PHYS_AIRSTRAFEACCELERATE                        getstatf(STAT_MOVEVARS_AIRSTRAFEACCELERATE)
-       #define PHYS_ENTGRAVITY(s)                                      getstatf(STAT_MOVEVARS_ENTGRAVITY)
-       #define PHYS_FRICTION                                           getstatf(STAT_MOVEVARS_FRICTION)
-       #define PHYS_GRAVITY                                            getstatf(STAT_MOVEVARS_GRAVITY)
-       #define PHYS_HIGHSPEED                                          getstatf(STAT_MOVEVARS_HIGHSPEED)
-       #define PHYS_JUMPVELOCITY                                       getstatf(STAT_MOVEVARS_JUMPVELOCITY)
-       #define PHYS_MAXAIRSPEED                                        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_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_AIRFORWARDACCEL        getstatf(STAT_MOVEVARS_WARSOWBUNNY_AIRFORWARDACCEL)
-       #define PHYS_WARSOWBUNNY_TOPSPEED                       getstatf(STAT_MOVEVARS_WARSOWBUNNY_TOPSPEED)
-       #define PHYS_WARSOWBUNNY_TURNACCEL                      getstatf(STAT_MOVEVARS_WARSOWBUNNY_TURNACCEL)
-
-       #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_DODGING_FROZEN                                     getstati(STAT_DODGING_FROZEN)
+       #define GAMEPLAYFIX_GRAVITYUNAFFECTEDBYTICRATE  (boolean(moveflags & MOVEFLAG_GRAVITYUNAFFECTEDBYTICRATE))
+       #define GAMEPLAYFIX_NOGRAVITYONGROUND                   (boolean(moveflags & MOVEFLAG_NOGRAVITYONGROUND))
+       #define GAMEPLAYFIX_Q2AIRACCELERATE                             (boolean(moveflags & MOVEFLAG_Q2AIRACCELERATE))
+
+       #define IS_DUCKED(s)                                            !!(s.flags & FL_DUCKED)
+       #define SET_DUCKED(s)                                           s.flags |= FL_DUCKED
+       #define UNSET_DUCKED(s)                                         s.flags &= ~FL_DUCKED
+
+       #define IS_JUMP_HELD(s)                                         !(s.flags & FL_JUMPRELEASED)
+       #define SET_JUMP_HELD(s)                                        s.flags &= ~FL_JUMPRELEASED
+       #define UNSET_JUMP_HELD(s)                                      s.flags |= FL_JUMPRELEASED
+
+       #define IS_ONGROUND(s)                                          !!(s.flags & FL_ONGROUND)
+       #define SET_ONGROUND(s)                                         s.flags |= FL_ONGROUND
+       #define UNSET_ONGROUND(s)                                       s.flags &= ~FL_ONGROUND
+
+       #define WAS_ONGROUND(s)                                         !!(s.lastflags & FL_ONGROUND)
+
+       #define ITEMS_STAT(s)                                           (s).items
+
+       #define PHYS_JUMPSPEEDCAP_MIN                           cvar_string("cl_jumpspeedcap_min")
+       #define PHYS_JUMPSPEEDCAP_MAX                           cvar_string("cl_jumpspeedcap_max")
+
+       #define PHYS_CL_TRACK_CANJUMP(s)            STAT(MOVEVARS_CL_TRACK_CANJUMP, s)
+       // FIXME: 0 doesn't mean zero gravity
+       #define PHYS_ENTGRAVITY(s)                  STAT(MOVEVARS_ENTGRAVITY, s)
 
 #elif defined(SVQC)
 
+       bool Physics_Valid(string thecvar);
+
+       .float stat_sv_airspeedlimit_nonqw = _STAT(MOVEVARS_AIRSPEEDLIMIT_NONQW);
+       .float stat_sv_maxspeed = _STAT(MOVEVARS_MAXSPEED);
+
+       /** Not real stats */
+       .string stat_jumpspeedcap_min, stat_jumpspeedcap_max;
+
+       #define TICRATE sys_frametime
+
        #define PHYS_INPUT_ANGLES(s)                            s.v_angle
        #define PHYS_WORLD_ANGLES(s)                            s.angles
 
        #define PHYS_INPUT_TIMELENGTH                           frametime
+       #define PHYS_INPUT_FRAMETIME                            sys_frametime
 
        #define PHYS_INPUT_MOVEVALUES(s)                        s.movement
        // TODO: cache
        #define PHYS_INPUT_BUTTON_FORWARD(s)            (s.movement_x > 0)
        #define PHYS_INPUT_BUTTON_LEFT(s)                       (s.movement_y < 0)
        #define PHYS_INPUT_BUTTON_RIGHT(s)                      (s.movement_y > 0)
+       #define PHYS_INPUT_BUTTON_JETPACK(s)            s.BUTTON_JETPACK
 
        #define PHYS_DEAD(s)                                            s.deadflag != DEAD_NO
 
        #define GAMEPLAYFIX_GRAVITYUNAFFECTEDBYTICRATE  autocvar_sv_gameplayfix_gravityunaffectedbyticrate
-       #define GAMEPLAYFIX_NOGRAVITYONGROUND                   cvar("sv_gameplayfix_nogravityonground")
+       #define GAMEPLAYFIX_NOGRAVITYONGROUND                   autocvar_sv_gameplayfix_nogravityonground
        #define GAMEPLAYFIX_Q2AIRACCELERATE                             autocvar_sv_gameplayfix_q2airaccelerate
 
        #define IS_DUCKED(s)                                            s.crouch
-       #define SET_DUCKED(s)                                           s.crouch = TRUE
-       #define UNSET_DUCKED(s)                                         s.crouch = FALSE
+       #define SET_DUCKED(s)                                           s.crouch = true
+       #define UNSET_DUCKED(s)                                         s.crouch = false
 
-       #define IS_JUMP_HELD(s)                                         (s.flags & FL_JUMPRELEASED == 0)
+       #define IS_JUMP_HELD(s)                                         !(s.flags & FL_JUMPRELEASED)
        #define SET_JUMP_HELD(s)                                        s.flags &= ~FL_JUMPRELEASED
        #define UNSET_JUMP_HELD(s)                                      s.flags |= FL_JUMPRELEASED
 
-       #define IS_ONGROUND(s)                                          (s.flags & FL_ONGROUND)
+       #define IS_ONGROUND(s)                                          !!(s.flags & FL_ONGROUND)
        #define SET_ONGROUND(s)                                         s.flags |= FL_ONGROUND
        #define UNSET_ONGROUND(s)                                       s.flags &= ~FL_ONGROUND
 
-       #define ITEMS(s)                                                        s.items
+       #define WAS_ONGROUND(s)                                         !!((s).lastflags & FL_ONGROUND)
 
-       #define PHYS_AMMO_FUEL(s)                                       s.ammo_fuel
+       #define ITEMS_STAT(s)                                           s.items
 
-       #define PHYS_FROZEN(s)                                          s.frozen
+       #define PHYS_JUMPSPEEDCAP_MIN                           autocvar_sv_jumpspeedcap_min
+       #define PHYS_JUMPSPEEDCAP_MAX                           autocvar_sv_jumpspeedcap_max
 
-       #define PHYS_ACCELERATE                                         autocvar_sv_accelerate
-       #define PHYS_AIRACCEL_QW(s)                                     s.stat_sv_airaccel_qw
-       #define PHYS_AIRACCEL_QW_STRETCHFACTOR(s)       autocvar_sv_airaccel_qw_stretchfactor
-       #define PHYS_AIRACCEL_SIDEWAYS_FRICTION         autocvar_sv_airaccel_sideways_friction
-       #define PHYS_AIRACCELERATE                                      autocvar_sv_airaccelerate
-       #define PHYS_AIRCONTROL                                         autocvar_sv_aircontrol
-       #define PHYS_AIRCONTROL_PENALTY                         autocvar_sv_aircontrol_penalty
-       #define PHYS_AIRCONTROL_POWER                           autocvar_sv_aircontrol_power
-       #define PHYS_AIRSPEEDLIMIT_NONQW(s)                     s.stat_sv_airspeedlimit_nonqw
-       #define PHYS_AIRSTOPACCELERATE                          autocvar_sv_airstopaccelerate
-       #define PHYS_AIRSTRAFEACCEL_QW(s)                       s.stat_sv_airstrafeaccel_qw
-       #define PHYS_AIRSTRAFEACCELERATE                        autocvar_sv_airstrafeaccelerate
+       #define PHYS_CL_TRACK_CANJUMP(s)                        s.cvar_cl_movement_track_canjump
        #define PHYS_ENTGRAVITY(s)                                      s.gravity
-       #define PHYS_FRICTION                                           autocvar_sv_friction
-       #define PHYS_GRAVITY                                            autocvar_sv_gravity
-       #define PHYS_HIGHSPEED                                          autocvar_g_movement_highspeed
-       #define PHYS_JUMPVELOCITY                                       autocvar_sv_jumpvelocity
-       #define PHYS_MAXAIRSPEED                                        autocvar_sv_maxairspeed
-       #define PHYS_MAXAIRSTRAFESPEED                          autocvar_sv_maxairstrafespeed
-       #define PHYS_MAXSPEED(s)                                        s.stat_sv_maxspeed
-       #define PHYS_STEPHEIGHT                                         autocvar_sv_stepheight
-       #define PHYS_STOPSPEED                                          autocvar_sv_stopspeed
-       #define PHYS_WARSOWBUNNY_ACCEL                          autocvar_sv_warsowbunny_accel
-       #define PHYS_WARSOWBUNNY_BACKTOSIDERATIO        autocvar_sv_warsowbunny_backtosideratio
-       #define PHYS_WARSOWBUNNY_AIRFORWARDACCEL        autocvar_sv_warsowbunny_airforwardaccel
-       #define PHYS_WARSOWBUNNY_TOPSPEED                       autocvar_sv_warsowbunny_topspeed
-       #define PHYS_WARSOWBUNNY_TURNACCEL                      autocvar_sv_warsowbunny_turnaccel
-
-       #define PHYS_JETPACK_ACCEL_UP                           autocvar_g_jetpack_acceleration_up
-       #define PHYS_JETPACK_ACCEL_SIDE                         autocvar_g_jetpack_acceleration_side
-       #define PHYS_JETPACK_ANTIGRAVITY                        autocvar_g_jetpack_antigravity
-       #define PHYS_JETPACK_FUEL                                       autocvar_g_jetpack_fuel
-       #define PHYS_JETPACK_MAXSPEED_UP                        autocvar_g_jetpack_maxspeed_up
-       #define PHYS_JETPACK_MAXSPEED_SIDE                      autocvar_g_jetpack_maxspeed_side
-
-       #define PHYS_DODGING_FROZEN                                     autocvar_sv_dodging_frozen
-
-#endif
\ No newline at end of file
+
+#endif
+#endif