From 91fbfb86a93dcfb66d563d792837d8de67c14d18 Mon Sep 17 00:00:00 2001 From: Rudolf Polzer Date: Sun, 7 Nov 2010 22:06:45 +0100 Subject: [PATCH] fix player view offset and headshot bbox --- defaultXonotic.cfg | 3 ++- qcsrc/server/g_damage.qc | 4 ++-- qcsrc/server/miscfunctions.qc | 2 ++ 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/defaultXonotic.cfg b/defaultXonotic.cfg index c38cf5ff5d..59c3be6e4a 100644 --- a/defaultXonotic.cfg +++ b/defaultXonotic.cfg @@ -370,9 +370,10 @@ set sv_fragmessage_information_typefrag 1 "Enable typefrag display information, // use default physics set sv_friction_on_land 0 -set sv_player_viewoffset "0 0 42" "view offset of the player model" +set sv_player_viewoffset "0 0 35" "view offset of the player model" set sv_player_mins "-16 -16 -24" "playermodel mins" set sv_player_maxs "16 16 45" "playermodel maxs" +set sv_player_headsize "24 24 12" "playermodel headshot bbox size (centered at top of player bbox, preview with r_showbboxes)" // actually SHOULD be 19.2 19.2 10 according to docs set sv_player_crouch_viewoffset "0 0 20" "view offset of the player model when crouched" set sv_player_crouch_mins "-16 -16 -24" "mins of a crouched playermodel" set sv_player_crouch_maxs "16 16 25" "maxs of a crouched playermodel" diff --git a/qcsrc/server/g_damage.qc b/qcsrc/server/g_damage.qc index 1246d2681c..809df9ecbd 100644 --- a/qcsrc/server/g_damage.qc +++ b/qcsrc/server/g_damage.qc @@ -88,11 +88,11 @@ float IsFlying(entity a) vector GetHeadshotMins(entity targ) { - return '0.6 0 0' * targ.mins_x + '0 0.6 0' * targ.mins_y + '0 0 1' * (1.3 * targ.view_ofs_z - 0.3 * targ.maxs_z); + return '-0.5 0 0' * PL_HEAD_x + '0 -0.5 0' * PL_HEAD_y + '0 0 1' * (targ.maxs_z - PL_HEAD_z); } vector GetHeadshotMaxs(entity targ) { - return '0.6 0 0' * targ.maxs_x + '0 0.6 0' * targ.maxs_y + '0 0 1' * targ.maxs_z; + return '0.5 0 0' * PL_HEAD_x + '0 0.5 0' * PL_HEAD_y + '0 0 1' * targ.maxs_z; } void UpdateFrags(entity player, float f) diff --git a/qcsrc/server/miscfunctions.qc b/qcsrc/server/miscfunctions.qc index 5485cc10db..08550a15cb 100644 --- a/qcsrc/server/miscfunctions.qc +++ b/qcsrc/server/miscfunctions.qc @@ -181,6 +181,7 @@ void GameLogClose() vector PL_VIEW_OFS; vector PL_MIN; vector PL_MAX; +vector PL_HEAD; vector PL_CROUCH_VIEW_OFS; vector PL_CROUCH_MIN; vector PL_CROUCH_MAX; @@ -191,6 +192,7 @@ void relocate_spawnpoint() PL_VIEW_OFS = stov(cvar_string("sv_player_viewoffset")); PL_MIN = stov(cvar_string("sv_player_mins")); PL_MAX = stov(cvar_string("sv_player_maxs")); + PL_HEAD = stov(cvar_string("sv_player_headsize")); PL_CROUCH_VIEW_OFS = stov(cvar_string("sv_player_crouch_viewoffset")); PL_CROUCH_MIN = stov(cvar_string("sv_player_crouch_mins")); PL_CROUCH_MAX = stov(cvar_string("sv_player_crouch_maxs")); -- 2.39.2