From b1f4bb8a22e05de3facf61aa03bbb8b8166e4547 Mon Sep 17 00:00:00 2001 From: Mario Date: Wed, 28 Jun 2017 19:44:50 +1000 Subject: [PATCH] Hack around some more includes in csqcmodel lib (effectively self contained now) --- qcsrc/common/csqcmodel_settings.qh | 2 +- qcsrc/common/physics/player.qh | 11 ++++++++++ qcsrc/lib/csqcmodel/cl_model.qc | 3 --- qcsrc/lib/csqcmodel/cl_player.qc | 34 +++++++++--------------------- 4 files changed, 22 insertions(+), 28 deletions(-) diff --git a/qcsrc/common/csqcmodel_settings.qh b/qcsrc/common/csqcmodel_settings.qh index c95bd62ae..9e96756ba 100644 --- a/qcsrc/common/csqcmodel_settings.qh +++ b/qcsrc/common/csqcmodel_settings.qh @@ -68,7 +68,7 @@ // add hook function calls here #define CSQCPLAYER_HOOK_POSTCAMERASETUP() \ - CSQCPlayer_SetViewLocation() + viewloc_SetViewLocation() // force updates of player entities this frequently (per second) even if unchanged #ifndef CSQCPLAYER_FORCE_UPDATES diff --git a/qcsrc/common/physics/player.qh b/qcsrc/common/physics/player.qh index 0a9008b4e..7c093c15d 100644 --- a/qcsrc/common/physics/player.qh +++ b/qcsrc/common/physics/player.qh @@ -29,6 +29,17 @@ float AdjustAirAccelQW(float accelqw, float factor); bool IsFlying(entity a); +#define PHYS_PL_MAX(s) STAT(PL_MAX, s) +#define PHYS_PL_MIN(s) STAT(PL_MIN, s) +#define PHYS_PL_CROUCH_MAX(s) STAT(PL_CROUCH_MAX, s) +#define PHYS_PL_CROUCH_MIN(s) STAT(PL_CROUCH_MIN, s) + +#define PHYS_PL_VIEWOFS(s) STAT(PL_VIEW_OFS, s) +#define PHYS_PL_CROUCH_VIEWOFS(s) STAT(PL_CROUCH_VIEW_OFS, s) + +#define PHYS_VIEWHEIGHT(s) STAT(VIEWHEIGHT, s) +#define PHYS_HEALTH(s) STAT(HEALTH, s) + #define BUFFS_STAT(s) STAT(BUFFS, s) #define PHYS_ACCELERATE(s) STAT(MOVEVARS_ACCELERATE, s) diff --git a/qcsrc/lib/csqcmodel/cl_model.qc b/qcsrc/lib/csqcmodel/cl_model.qc index e4e1d536a..05aba388c 100644 --- a/qcsrc/lib/csqcmodel/cl_model.qc +++ b/qcsrc/lib/csqcmodel/cl_model.qc @@ -24,10 +24,7 @@ #include "cl_player.qh" #include "common.qh" #include "interpolate.qh" -#include -#include #include -#include float autocvar_cl_lerpanim_maxdelta_framegroups = 0.1; float autocvar_cl_nolerp = 0; diff --git a/qcsrc/lib/csqcmodel/cl_player.qc b/qcsrc/lib/csqcmodel/cl_player.qc index 9e26e70fb..faefdcad4 100644 --- a/qcsrc/lib/csqcmodel/cl_player.qc +++ b/qcsrc/lib/csqcmodel/cl_player.qc @@ -25,15 +25,6 @@ #include "cl_model.qh" #include "common.qh" #include "interpolate.qh" -#include -#include -#include -#include -#include -#include -#include -#include -#include float autocvar_cl_movement_errorcompensation = 0; bool autocvar_cl_movement_intermissionrunning = false; @@ -109,15 +100,15 @@ void CSQCPlayer_SetMinsMaxs(entity this) { if (IS_DUCKED(this) || !this.isplayermodel) { - this.mins = STAT(PL_CROUCH_MIN, this); - this.maxs = STAT(PL_CROUCH_MAX, this); - this.view_ofs = STAT(PL_CROUCH_VIEW_OFS, this); + this.mins = PHYS_PL_CROUCH_MIN(this); + this.maxs = PHYS_PL_CROUCH_MAX(this); + this.view_ofs = PHYS_PL_CROUCH_VIEWOFS(this); } else { - this.mins = STAT(PL_MIN, this); - this.maxs = STAT(PL_MAX, this); - this.view_ofs = STAT(PL_VIEW_OFS, this); + this.mins = PHYS_PL_MIN(this); + this.maxs = PHYS_PL_MAX(this); + this.view_ofs = PHYS_PL_VIEWOFS(this); } } @@ -216,18 +207,13 @@ bool CSQCPlayer_IsLocalPlayer(entity this) return (this == csqcplayer); } -void CSQCPlayer_SetViewLocation() -{ - viewloc_SetViewLocation(); -} - /** Called once per CSQC_UpdateView() */ void CSQCPlayer_SetCamera() { const vector v0 = ((intermission && !autocvar_cl_movement_intermissionrunning) ? '0 0 0' : pmove_vel); // TRICK: pmove_vel is set by the engine when we get here. No need to network velocity - const float vh = STAT(VIEWHEIGHT); - const vector pl_viewofs = STAT(PL_VIEW_OFS); - const vector pl_viewofs_crouch = STAT(PL_CROUCH_VIEW_OFS); + const float vh = PHYS_VIEWHEIGHT(NULL); + const vector pl_viewofs = PHYS_PL_VIEWOFS(NULL); + const vector pl_viewofs_crouch = PHYS_PL_CROUCH_VIEWOFS(NULL); const entity e = csqcplayer; if (e) { @@ -303,7 +289,7 @@ void CSQCPlayer_SetCamera() if (view.csqcmodel_teleported) refdefflags |= REFDEFFLAG_TELEPORTED; if (input_buttons & BIT(1)) refdefflags |= REFDEFFLAG_JUMPING; // note: these two only work in WIP2, but are harmless in WIP1 - if (STAT(HEALTH) <= 0 && STAT(HEALTH) != -666 && STAT(HEALTH) != -2342) refdefflags |= REFDEFFLAG_DEAD; + if (PHYS_HEALTH(NULL) <= 0 && PHYS_HEALTH(NULL) != -666 && PHYS_HEALTH(NULL) != -2342) refdefflags |= REFDEFFLAG_DEAD; if (intermission) refdefflags |= REFDEFFLAG_INTERMISSION; V_CalcRefdef(view, refdefflags); } -- 2.39.2