This reverts
ead859bab7cbd97dea819ac023599c10a3bb017c
forgot to check model offset, oops
and better documents the config.
Player's head no longer sticks out of the bbox, offset and scaling are
equivalent to default settings.
STAT(MOVEVARS_AIRSPEEDLIMIT_NONQW, this) = Physics_ClientOption(this, "airspeedlimit_nonqw", autocvar_sv_airspeedlimit_nonqw) * maxspd_mod;
}
STAT(MOVEVARS_AIRSPEEDLIMIT_NONQW, this) = Physics_ClientOption(this, "airspeedlimit_nonqw", autocvar_sv_airspeedlimit_nonqw) * maxspd_mod;
}
+ /* Q3 uses the following:
+ * MIN '-15 -15 -24'
+ * MAX '15 15 32'
+ * VIEW_OFS '0 0 26'
+ * CROUCH_MIN '-15 -15 -24'
+ * CROUCH_MAX '15 15 16'
+ * CROUCH_VIEW_OFS '0 0 12'
+ * but xon player models have a different z offset to suit the origin at 24/69
+ * at q3compat hitbox and model scale the equivalent offset is origin at 20/56
+ */
bool q3hb = q3compat && autocvar_sv_q3compat_changehitbox;
bool q3hb = q3compat && autocvar_sv_q3compat_changehitbox;
- STAT(PL_MIN, this) = q3hb ? '-15 -15 -24' : autocvar_sv_player_mins;
- STAT(PL_MAX, this) = q3hb ? '15 15 32' : autocvar_sv_player_maxs;
- STAT(PL_VIEW_OFS, this) = q3hb ? '0 0 26' : autocvar_sv_player_viewoffset;
- STAT(PL_CROUCH_MIN, this) = q3hb ? '-15 -15 -24' : autocvar_sv_player_crouch_mins;
- STAT(PL_CROUCH_MAX, this) = q3hb ? '15 15 16' : autocvar_sv_player_crouch_maxs;
- STAT(PL_CROUCH_VIEW_OFS, this) = q3hb ? '0 0 12' : autocvar_sv_player_crouch_viewoffset;
+ STAT(PL_MIN, this) = q3hb ? '-15 -15 -20' : autocvar_sv_player_mins;
+ STAT(PL_MAX, this) = q3hb ? '15 15 36' : autocvar_sv_player_maxs;
+ STAT(PL_VIEW_OFS, this) = q3hb ? '0 0 30' : autocvar_sv_player_viewoffset;
+ STAT(PL_CROUCH_MIN, this) = q3hb ? '-15 -15 -20' : autocvar_sv_player_crouch_mins;
+ STAT(PL_CROUCH_MAX, this) = q3hb ? '15 15 20' : autocvar_sv_player_crouch_maxs;
+ STAT(PL_CROUCH_VIEW_OFS, this) = q3hb ? '0 0 16' : autocvar_sv_player_crouch_viewoffset;
// old stats
// fix some new settings
// old stats
// fix some new settings
this.respawn_flags = 0;
this.respawn_time = 0;
STAT(RESPAWN_TIME, this) = 0;
this.respawn_flags = 0;
this.respawn_time = 0;
STAT(RESPAWN_TIME, this) = 0;
- this.scale = ((q3compat && autocvar_sv_q3compat_changehitbox) ? 0.9 : autocvar_sv_player_scale);
+ // DP model scaling uses 1/16 accuracy and 13/16 is closest to 56/69
+ this.scale = ((q3compat && autocvar_sv_q3compat_changehitbox) ? 0.8125 : autocvar_sv_player_scale);
this.fade_time = 0;
this.pain_finished = 0;
this.pushltime = 0;
this.fade_time = 0;
this.pain_finished = 0;
this.pushltime = 0;