From: Mario <mario@smbclan.net>
Date: Thu, 27 Sep 2018 04:34:49 +0000 (+1000)
Subject: Add an option to use the Quake 3 hitbox size when playing VQ3 maps
X-Git-Tag: xonotic-v0.8.5~1826
X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=452fb919098c1def940666f0a078db337cf3627c;p=xonotic%2Fxonotic-data.pk3dir.git

Add an option to use the Quake 3 hitbox size when playing VQ3 maps
---

diff --git a/qcsrc/common/physics/player.qc b/qcsrc/common/physics/player.qc
index 3f220e84d..093e8dc71 100644
--- a/qcsrc/common/physics/player.qc
+++ b/qcsrc/common/physics/player.qc
@@ -49,11 +49,12 @@ void Physics_UpdateStats(entity this)
 	STAT(MOVEVARS_AIRSPEEDLIMIT_NONQW, this) = Physics_ClientOption(this, "airspeedlimit_nonqw", autocvar_sv_airspeedlimit_nonqw) * maxspd_mod;
 	STAT(MOVEVARS_MAXSPEED, this) = Physics_ClientOption(this, "maxspeed", autocvar_sv_maxspeed) * maxspd_mod; // also slow walking
 
-	STAT(PL_MIN, this) = autocvar_sv_player_mins;
-	STAT(PL_MAX, this) = autocvar_sv_player_maxs;
+	bool vq3compat = STAT(VQ3COMPAT) && autocvar_sv_vq3compat_changehitbox; // NOTE: these hitboxes are off by 1 due to engine differences
+	STAT(PL_MIN, this) = (vq3compat) ? '-15 -15 -24' : autocvar_sv_player_mins;
+	STAT(PL_MAX, this) = (vq3compat) ? '15 15 32' : autocvar_sv_player_maxs;
 	STAT(PL_VIEW_OFS, this) = autocvar_sv_player_viewoffset;
-	STAT(PL_CROUCH_MIN, this) = autocvar_sv_player_crouch_mins;
-	STAT(PL_CROUCH_MAX, this) = autocvar_sv_player_crouch_maxs;
+	STAT(PL_CROUCH_MIN, this) = (vq3compat) ? '-15 -15 -24' : autocvar_sv_player_crouch_mins;
+	STAT(PL_CROUCH_MAX, this) = (vq3compat) ? '15 15 16' : autocvar_sv_player_crouch_maxs;
 	STAT(PL_CROUCH_VIEW_OFS, this) = autocvar_sv_player_crouch_viewoffset;
 
 	// old stats
diff --git a/qcsrc/server/autocvars.qh b/qcsrc/server/autocvars.qh
index 4e180f731..83b766b40 100644
--- a/qcsrc/server/autocvars.qh
+++ b/qcsrc/server/autocvars.qh
@@ -520,3 +520,4 @@ float autocvar_sv_track_canjump;
 bool autocvar_sv_showspectators;
 bool autocvar_g_weaponswitch_debug;
 bool autocvar_g_allow_checkpoints;
+bool autocvar_sv_vq3compat_changehitbox = false;