.float lastflags;
.float lastground;
.float wasFlying;
+#ifdef SVQC
+.float spectatorspeed = _STAT(SPECTATORSPEED);
+#elif defined(CSQC)
.float spectatorspeed;
+#endif
.vector movement_old;
.float buttons_old;
#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)
#ifdef CSQC
+ string autocvar_cl_jumpspeedcap_min;
+ string autocvar_cl_jumpspeedcap_max;
+
noref float pmove_waterjumptime;
const int FL_WATERJUMP = 2048; // player jumping out of water
// TODO
#define IS_CLIENT(s) (s).isplayermodel
#define IS_PLAYER(s) (s).isplayermodel
- #define isPushable(s) (s).isplayermodel
+ #define IS_NOT_A_CLIENT(s) !(s).isplayermodel
+ #define isPushable(s) ((s).isplayermodel || (s).pushable || ((s).flags & FL_PROJECTILE))
//float player_multijump;
//float player_jumpheight;
- #define PHYS_TELEPORT_TIME(s) pmove_waterjumptime
+ #define PHYS_GRAVITY(s) STAT(MOVEVARS_GRAVITY, s)
+
+ #define PHYS_TELEPORT_TIME(s) s.teleport_time
#define TICRATE ticrate
#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_JUMPSPEEDCAP_MIN autocvar_cl_jumpspeedcap_min
+ #define PHYS_JUMPSPEEDCAP_MAX autocvar_cl_jumpspeedcap_max
#define PHYS_CL_TRACK_CANJUMP(s) STAT(MOVEVARS_CL_TRACK_CANJUMP, s)
// FIXME: 0 doesn't mean zero gravity
.float stat_sv_maxspeed = _STAT(MOVEVARS_MAXSPEED);
/** Not real stats */
- .string stat_jumpspeedcap_min, stat_jumpspeedcap_max;
+ .string jumpspeedcap_min;
+ .string jumpspeedcap_max;
#define PHYS_TELEPORT_TIME(s) s.teleport_time
+ #define PHYS_GRAVITY(s) autocvar_sv_gravity
+
#define TICRATE sys_frametime
#define PHYS_INPUT_ANGLES(s) s.v_angle