X-Git-Url: http://git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fcommon%2Fphysics%2Fplayer.qh;h=9f540148deb9b8c08908376e644c4c5e93a862a0;hb=7a83212927a9bcfc8738eadba9e332f5ecede45e;hp=73d2ec932c86da5e5fe06aa702e9f38f95648007;hpb=c4230403a60e672acde0b6dfa32ca67f56879183;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/common/physics/player.qh b/qcsrc/common/physics/player.qh index 73d2ec932..9f540148d 100644 --- a/qcsrc/common/physics/player.qh +++ b/qcsrc/common/physics/player.qh @@ -1,5 +1,4 @@ -#ifndef COMMON_PHYSICS_H -#define COMMON_PHYSICS_H +#pragma once // Client/server mappings @@ -25,7 +24,7 @@ .vector v_angle_old; .string lastclassname; -.float(entity) PlayerPhysplug; +.float(entity,float) PlayerPhysplug; float AdjustAirAccelQW(float accelqw, float factor); bool IsFlying(entity a); @@ -37,6 +36,7 @@ bool IsFlying(entity a); #define GAMEPLAYFIX_STEPDOWN(s) STAT(GAMEPLAYFIX_STEPDOWN, s) #define GAMEPLAYFIX_STEPMULTIPLETIMES(s) STAT(GAMEPLAYFIX_STEPMULTIPLETIMES, s) #define GAMEPLAYFIX_UNSTICKPLAYERS(s) STAT(GAMEPLAYFIX_UNSTICKPLAYERS, s) +#define GAMEPLAYFIX_WATERTRANSITION(s) STAT(GAMEPLAYFIX_WATERTRANSITION, s) #define PHYS_ACCELERATE(s) STAT(MOVEVARS_ACCELERATE, s) #define PHYS_AIRACCELERATE(s) STAT(MOVEVARS_AIRACCELERATE, s) @@ -46,6 +46,7 @@ bool IsFlying(entity a); #define PHYS_AIRCONTROL(s) STAT(MOVEVARS_AIRCONTROL, s) #define PHYS_AIRCONTROL_PENALTY(s) STAT(MOVEVARS_AIRCONTROL_PENALTY, s) #define PHYS_AIRCONTROL_POWER(s) STAT(MOVEVARS_AIRCONTROL_POWER, s) +#define PHYS_AIRCONTROL_BACKWARDS(s) STAT(MOVEVARS_AIRCONTROL_BACKWARDS, s) #define PHYS_AIRSPEEDLIMIT_NONQW(s) STAT(MOVEVARS_AIRSPEEDLIMIT_NONQW, s) #define PHYS_AIRSTOPACCELERATE(s) STAT(MOVEVARS_AIRSTOPACCELERATE, s) #define PHYS_AIRSTRAFEACCELERATE(s) STAT(MOVEVARS_AIRSTRAFEACCELERATE, s) @@ -159,14 +160,18 @@ STATIC_INIT(PHYS_INPUT_BUTTON_JETPACK) #define ITEMS_STAT(s) ((s).items) .float teleport_time; +#define PHYS_TELEPORT_TIME(s) ((s).teleport_time) + +.float waterjump_time; +#define PHYS_WATERJUMP_TIME(s) ((s).waterjump_time) #ifdef CSQC + #define PHYS_FIXANGLE(s) ('0 0 0') + string autocvar_cl_jumpspeedcap_min; string autocvar_cl_jumpspeedcap_max; - noref float pmove_waterjumptime; - const int FL_WATERJUMP = 2048; // player jumping out of water const int FL_JUMPRELEASED = 4096; // for jump debouncing @@ -180,9 +185,9 @@ STATIC_INIT(PHYS_INPUT_BUTTON_JETPACK) .entity hook; // TODO - #define IS_CLIENT(s) ((s).isplayermodel) + #define IS_CLIENT(s) ((s).isplayermodel || (s) == csqcplayer) #define IS_PLAYER(s) ((s).isplayermodel) - #define IS_NOT_A_CLIENT(s) (!(s).isplayermodel) + #define IS_NOT_A_CLIENT(s) (!(s).isplayermodel && (s) != csqcplayer) #define isPushable(s) ((s).isplayermodel || (s).pushable || ((s).flags & FL_PROJECTILE)) //float player_multijump; @@ -190,8 +195,6 @@ STATIC_INIT(PHYS_INPUT_BUTTON_JETPACK) #define PHYS_GRAVITY(s) STAT(MOVEVARS_GRAVITY, s) - #define PHYS_TELEPORT_TIME(s) ((s).teleport_time) - #define TICRATE ticrate #define PHYS_INPUT_ANGLES(s) input_angles @@ -240,6 +243,8 @@ STATIC_INIT(PHYS_INPUT_BUTTON_JETPACK) #elif defined(SVQC) + #define PHYS_FIXANGLE(s) ((s).fixangle) + bool Physics_Valid(string thecvar); .float stat_sv_airspeedlimit_nonqw = _STAT(MOVEVARS_AIRSPEEDLIMIT_NONQW); @@ -249,8 +254,6 @@ STATIC_INIT(PHYS_INPUT_BUTTON_JETPACK) .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 @@ -322,5 +325,3 @@ NET_HANDLE(setpause, bool) return true; } #endif - -#endif