]> git.rm.cloudns.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
Re-do handling of cvars for mins/maxs with eventchase and spectating
authorSamual Lenks <samual@xonotic.org>
Tue, 5 Feb 2013 16:56:00 +0000 (11:56 -0500)
committerSamual Lenks <samual@xonotic.org>
Tue, 5 Feb 2013 16:56:00 +0000 (11:56 -0500)
qcsrc/client/View.qc
qcsrc/client/autocvars.qh
qcsrc/common/constants.qh
qcsrc/server/cl_client.qc

index 46fa47f1a957b158999beeb32c34b639a9f87096..6838f3c06fdb85cb1c7ec15530ece84ed0787009 100644 (file)
@@ -450,7 +450,7 @@ void CSQC_UpdateView(float w, float h)
                if(spectatee_status >= 0 && (autocvar_cl_eventchase_death && getstati(STAT_HEALTH) <= 0 && !intermission) || intermission)
                {
                        // make special vector since we can't use view_origin (It is one frame old as of this code, it gets set later with the results this code makes.)
-                       vector current_view_origin = ((csqcplayer ? csqcplayer.origin : pmove_org) + autocvar_sv_spectator_viewoffset);
+                       vector current_view_origin = ((csqcplayer ? csqcplayer.origin : pmove_org) + autocvar_cl_eventchase_viewoffset);
 
                        // We must enable chase_active to get a third person view (weapon viewmodel hidden and own player model showing).
                        // Ideally, there should be another way to enable third person cameras, such as through setproperty()
@@ -466,14 +466,14 @@ void CSQC_UpdateView(float w, float h)
                        makevectors(view_angles);
 
                        vector eventchase_target_origin = (current_view_origin - (v_forward * eventchase_current_distance));
-                       WarpZone_TraceBox(current_view_origin, autocvar_sv_spectator_mins, autocvar_sv_spectator_maxs, eventchase_target_origin, MOVE_WORLDONLY, self);
+                       WarpZone_TraceBox(current_view_origin, autocvar_cl_eventchase_mins, autocvar_cl_eventchase_maxs, eventchase_target_origin, MOVE_WORLDONLY, self);
 
                        // If the boxtrace fails, revert back to line tracing.
                        if(trace_startsolid)
                        {
                                eventchase_target_origin = (current_view_origin - (v_forward * eventchase_current_distance));
                                WarpZone_TraceLine(current_view_origin, eventchase_target_origin, MOVE_WORLDONLY, self);
-                               setproperty(VF_ORIGIN, (trace_endpos - (v_forward * autocvar_sv_spectator_mins_z)));
+                               setproperty(VF_ORIGIN, (trace_endpos - (v_forward * autocvar_cl_eventchase_mins_z)));
                        }
                        else { setproperty(VF_ORIGIN, trace_endpos); }
 
index 94cd1a5c03bb4b03450aa61a3facea5e0e874145..72d7ec557c642eb28cd6a256ce5df913c383f9ea 100644 (file)
@@ -384,6 +384,9 @@ float autocvar_cl_hitsound_antispam_time;
 var float autocvar_cl_eventchase_death = 1;
 var float autocvar_cl_eventchase_distance = 140;
 var float autocvar_cl_eventchase_speed = 1.3;
+var vector autocvar_cl_eventchase_maxs = '12 12 8';
+var vector autocvar_cl_eventchase_mins = '-12 -12 -8';
+var vector autocvar_cl_eventchase_viewoffset = '0 0 20';
 float autocvar_cl_lerpexcess;
 string autocvar__togglezoom;
 float autocvar_cl_damageeffect;
index 2835240b04aadcb3f8e6120f62d8d0e13da208d4..75f5a0bde762037387dbeb344989a47b1409bc01 100644 (file)
@@ -579,10 +579,6 @@ noref var vector autocvar_sv_player_crouch_mins = '-16 -16 -24';
 noref var vector autocvar_sv_player_crouch_viewoffset = '0 0 20';
 noref var vector autocvar_sv_player_headsize = '24 24 12';
 
-noref var vector autocvar_sv_spectator_maxs = '12 12 8';
-noref var vector autocvar_sv_spectator_mins = '-12 -12 -8';
-noref var vector autocvar_sv_spectator_viewoffset = '0 0 20';
-
 #define PL_VIEW_OFS autocvar_sv_player_viewoffset
 #define PL_MIN autocvar_sv_player_mins
 #define PL_MAX autocvar_sv_player_maxs
index f45424fd722280a16f3e48ade017b9c216a2edc9..a6bc87f9f6af76752d7e104625483f88b365c584 100644 (file)
@@ -482,7 +482,7 @@ void PutObserverInServer (void)
        self.fixangle = TRUE;
        self.crouch = FALSE;
 
-       setorigin (self, (spot.origin + autocvar_sv_spectator_viewoffset)); // offset it so that the spectator spawns higher off the ground, looks better this way
+       setorigin (self, (spot.origin + PL_VIEW_OFS)); // offset it so that the spectator spawns higher off the ground, looks better this way
        self.prevorigin = self.origin;
        self.items = 0;
        WEPSET_CLEAR_E(self);
@@ -491,7 +491,7 @@ void PutObserverInServer (void)
        setmodel(self, "null");
        self.drawonlytoclient = self;
 
-       setsize (self, autocvar_sv_spectator_mins, autocvar_sv_spectator_maxs); // give the spectator some space between walls for MOVETYPE_FLY_WORLDONLY
+       setsize (self, PL_CROUCH_MIN, PL_CROUCH_MAX); // give the spectator some space between walls for MOVETYPE_FLY_WORLDONLY
        self.view_ofs = '0 0 0'; // so that your view doesn't go into the ceiling with MOVETYPE_FLY_WORLDONLY, previously "PL_VIEW_OFS"
 
        self.weapon = 0;