X-Git-Url: https://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fcommon%2Fphysics.qh;h=5ee8954d0c1bd9cbdeb8232f0aef5692672d7b7d;hb=317ec3eb27ada1c4668876e9499136125acb7984;hp=01b08745597852768ed3158ae58e86a8b24ea2d0;hpb=8e1c65f7b42e5eb96e2bf245f8b019411d053f14;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/common/physics.qh b/qcsrc/common/physics.qh index 01b087455..5ee8954d0 100644 --- a/qcsrc/common/physics.qh +++ b/qcsrc/common/physics.qh @@ -33,15 +33,19 @@ bool IsFlying(entity a); 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; + //float player_multijump; + //float player_jumpheight; #define PHYS_INPUT_ANGLES(s) input_angles // TODO @@ -64,7 +68,7 @@ bool IsFlying(entity a); #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 & 2048) + #define PHYS_INPUT_BUTTON_JETPACK(s) !!(input_buttons & 4096) #define PHYS_DEAD(s) s.csqcmodel_isdead @@ -91,8 +95,8 @@ bool IsFlying(entity a); #define WAS_ONGROUND(s) !!(s.lastflags & FL_ONGROUND) - #define ITEMS(s) (s).items - #define BUFFS(s) getstati(STAT_BUFFS) + #define ITEMS_STAT(s) (s).items + #define BUFFS_STAT(s) getstati(STAT_BUFFS) #define PHYS_AMMO_FUEL(s) getstati(STAT_FUEL) @@ -116,10 +120,11 @@ bool IsFlying(entity a); #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_MIN cvar_string("cl_jumpspeedcap_min") + #define PHYS_JUMPSPEEDCAP_MAX cvar_string("cl_jumpspeedcap_max") #define PHYS_JUMPSPEEDCAP_DISABLE_ONRAMPS getstati(STAT_MOVEVARS_JUMPSPEEDCAP_DISABLE_ONRAMPS) + #define PHYS_CL_TRACK_CANJUMP(s) getstati(STAT_MOVEVARS_CL_TRACK_CANJUMP) #define PHYS_TRACK_CANJUMP(s) getstati(STAT_MOVEVARS_TRACK_CANJUMP) #define PHYS_ACCELERATE getstatf(STAT_MOVEVARS_ACCELERATE) #define PHYS_AIRACCEL_QW(s) getstatf(STAT_MOVEVARS_AIRACCEL_QW) @@ -132,7 +137,7 @@ bool IsFlying(entity a); #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_AIRSTRAFEACCELERATE(s) getstatf(STAT_MOVEVARS_AIRSTRAFEACCELERATE) #define PHYS_ENTGRAVITY(s) getstatf(STAT_MOVEVARS_ENTGRAVITY) #define PHYS_FRICTION getstatf(STAT_MOVEVARS_FRICTION) #define PHYS_FRICTION_SLICK getstatf(STAT_MOVEVARS_FRICTION_SLICK) @@ -140,7 +145,7 @@ bool IsFlying(entity a); #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_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) @@ -167,6 +172,16 @@ bool IsFlying(entity a); #elif defined(SVQC) + bool Physics_Valid(string thecvar); + + .vector stat_pl_view_ofs; + .vector stat_pl_crouch_view_ofs; + + .vector stat_pl_min; + .vector stat_pl_max; + .vector stat_pl_crouch_min; + .vector stat_pl_crouch_max; + .float stat_sv_airaccel_qw; .float stat_sv_airstrafeaccel_qw; .float stat_sv_airspeedlimit_nonqw; @@ -178,8 +193,8 @@ bool IsFlying(entity a); .float stat_doublejump; - .float stat_jumpspeedcap_min; - .float stat_jumpspeedcap_max; + .string stat_jumpspeedcap_min; + .string stat_jumpspeedcap_max; .float stat_jumpspeedcap_disable_onramps; .float stat_jetpack_accel_side; @@ -210,9 +225,32 @@ bool IsFlying(entity a); .float stat_bugrigs_reverse_spinning; .float 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_warsowbunny_backtosideratio; + .float stat_sv_friction; + .float stat_sv_accelerate; + .float stat_sv_stopspeed; + .float stat_sv_airaccelerate; + .float stat_sv_airstopaccelerate; + .float stat_nostep; .float stat_jumpstep; + .bool stat_sv_track_canjump; + #define PHYS_INPUT_ANGLES(s) s.v_angle #define PHYS_WORLD_ANGLES(s) s.angles @@ -254,14 +292,14 @@ bool IsFlying(entity a); #define SET_JUMP_HELD(s) s.flags &= ~FL_JUMPRELEASED #define UNSET_JUMP_HELD(s) s.flags |= FL_JUMPRELEASED - #define IS_ONGROUND(s) !!(self.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 WAS_ONGROUND(s) !!((s).lastflags & FL_ONGROUND) - #define ITEMS(s) s.items - #define BUFFS(s) (s).buffs + #define ITEMS_STAT(s) s.items + #define BUFFS_STAT(s) (s).buffs #define PHYS_AMMO_FUEL(s) s.ammo_fuel @@ -289,36 +327,37 @@ bool IsFlying(entity a); #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_ACCELERATE autocvar_sv_accelerate + #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) 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_AIRACCEL_QW_STRETCHFACTOR(s) self.stat_sv_airaccel_qw_stretchfactor + #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_AIRSTOPACCELERATE autocvar_sv_airstopaccelerate + #define PHYS_AIRSTOPACCELERATE self.stat_sv_airstopaccelerate #define PHYS_AIRSTRAFEACCEL_QW(s) s.stat_sv_airstrafeaccel_qw - #define PHYS_AIRSTRAFEACCELERATE autocvar_sv_airstrafeaccelerate + #define PHYS_AIRSTRAFEACCELERATE(s) s.stat_sv_airstrafeaccelerate #define PHYS_ENTGRAVITY(s) s.gravity - #define PHYS_FRICTION autocvar_sv_friction + #define PHYS_FRICTION self.stat_sv_friction #define PHYS_FRICTION_SLICK autocvar_sv_friction_slick #define PHYS_FRICTION_ONLAND autocvar_sv_friction_on_land #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_JUMPVELOCITY self.stat_sv_jumpvelocity + #define PHYS_MAXAIRSPEED(s) self.stat_sv_maxairspeed + #define PHYS_MAXAIRSTRAFESPEED self.stat_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_STOPSPEED self.stat_sv_stopspeed + #define PHYS_WARSOWBUNNY_ACCEL self.stat_sv_warsowbunny_accel + #define PHYS_WARSOWBUNNY_BACKTOSIDERATIO self.stat_sv_warsowbunny_backtosideratio + #define PHYS_WARSOWBUNNY_AIRFORWARDACCEL self.stat_sv_warsowbunny_airforwardaccel + #define PHYS_WARSOWBUNNY_TOPSPEED self.stat_sv_warsowbunny_topspeed + #define PHYS_WARSOWBUNNY_TURNACCEL self.stat_sv_warsowbunny_turnaccel #define PHYS_WALLFRICTION cvar("sv_wallfriction")