]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
Fix vehicle not returning if driver dissconnect
authorJakob MG <jakob_mg@hotmail.com>
Thu, 9 Jun 2011 13:42:25 +0000 (15:42 +0200)
committerJakob MG <jakob_mg@hotmail.com>
Thu, 9 Jun 2011 13:42:25 +0000 (15:42 +0200)
qcsrc/server/cl_client.qc
qcsrc/server/vehicles/raptor.qc
qcsrc/server/vehicles/spiderbot.qc
qcsrc/server/vehicles/vehicles_def.qh

index 053233b0c160aacc7de1517cfcd9365c07664799..8bffe778306cec30e1603642765bf24ea0a82d9d 100644 (file)
@@ -1791,7 +1791,7 @@ void ClientDisconnect (void)
            entity oldself;
            oldself = self;
            self = self.vehicle;
-           self.vehicle_exit(VHEF_RELESE);
+           vehicles_exit(VHEF_RELESE);
            self = oldself;
        }
 
index 50501456670db84bf209f52c3b445067a490c73e..bc2e961605ef6815281408431e32faf5b33e6719 100644 (file)
@@ -316,29 +316,30 @@ float raptor_frame()
     player = self;
     raptor = self.vehicle;
     self   = raptor;
-    
+        
     /*
     ftmp = vlen(self.velocity);
     if(ftmp > autocvar_g_vehicle_raptor_speed_forward) 
         ftmp = 1;
     else  
         ftmp = ftmp / autocvar_g_vehicle_raptor_speed_forward;
-    */    
+    */
+        
     if(self.sound_nexttime < time)
     {        
         self.sound_nexttime = time + 7.955812; 
-        //dprint("LEN:", ftos(soundlength("vehicles/raptor_fly.wav")), "\n");
-        //sound (self, CHAN_VOICE, "vehicles/raptor_fly.wav", 1 - ftmp,   ATTN_NORM );
-        sound (self, CHAN_TRIGGER, "vehicles/raptor_speed.wav", VOL_VEHICLEENGINE, ATTN_NORM);        
-        //self.wait = ftmp;
-    }    
+        //sound (self.tur_head, CHAN_TRIGGER, "vehicles/raptor_fly.wav", 1 - ftmp,   ATTN_NORM );
+        sound (self, CHAN_TRIGGER, "vehicles/raptor_speed.wav", 1, ATTN_NORM);        
+        self.wait = ftmp;
+    }        
     /*
     else if(fabs(ftmp - self.wait) > 0.2)
     {
-        sound (self, CHAN_VOICE, "", 1 - ftmp,   ATTN_NORM );
-        sound (self, CHAN_PLAYER, "", ftmp, ATTN_NORM);        
+        sound (self.tur_head, CHAN_TRIGGER, "", 1 - ftmp,   ATTN_NORM );
+        sound (self, CHAN_TRIGGER, "", ftmp, ATTN_NORM);        
         self.wait = ftmp;
-    }*/
+    }
+    */
     
     if(player.BUTTON_USE && raptor.deadflag == DEAD_NO)
     {
@@ -728,8 +729,6 @@ void spawnfunc_vehicle_raptor()
 {
     vehicles_configcheck("vehicle_raptor.cfg", autocvar_g_vehicle_raptor_health);
     
-    
-
     if(autocvar_g_vehicle_raptor_shield)
         self.vehicle_flags |= VHF_HASSHIELD;
 
@@ -749,8 +748,10 @@ void spawnfunc_vehicle_raptor()
     precache_model ("models/vehicles/clusterbomb.md3");
     precache_model ("models/vehicles/clusterbomb_folded.md3");
     precache_model ("models/vehicles/raptor_body.dpm");
+    
     precache_sound ("vehicles/raptor_fly.wav");
     precache_sound ("vehicles/raptor_speed.wav");
+    precache_sound ("");
     
     self.think = raptor_dinit;
     self.nextthink = time + (autocvar_g_vehicles_delayspawn ? autocvar_g_vehicle_raptor_respawntime + (random() * autocvar_g_vehicles_delayspawn_jitter) : 0.5);
index 71b672ed15b04826dc55bb6a6ed1dec9af6a18ae..255960ae668a5a8182c512fbff3a70d5b02e820b 100644 (file)
@@ -576,20 +576,19 @@ void spiderbot_die()
     sound (self, CHAN_TRIGGER, "vehicles/spiderbot_die.wav", VOL_BASE, ATTN_NORM);
     pointparticles(particleeffectnum("explosion_medium"), self.origin + '0 0 100', '0 0 0', 1);
 
-    self.health         = 0;
-    self.event_damage   = SUB_Null;
-    self.takedamage     = DAMAGE_NO;
-    self.touch          = SUB_Null;
-    self.cnt            = 3.4 + time + random() * 2;
-    self.think          = spiderbot_blowup;
-    self.nextthink      = time;
-    self.deadflag       = DEAD_DYING;
-       self.frame          = 5;
-       self.tur_head.effects        |= EF_FLAME;
-       self.colormod = self.tur_head.colormod = '-1 -1 -1';
-       self.frame = 10;
-       self.movetype = MOVETYPE_TOSS;
-
+    self.health             = 0;
+    self.event_damage       = SUB_Null;
+    self.takedamage         = DAMAGE_NO;
+    self.touch              = SUB_Null;
+    self.cnt                = 3.4 + time + random() * 2;
+    self.think              = spiderbot_blowup;
+    self.nextthink          = time;
+    self.deadflag           = DEAD_DYING;
+       self.frame              = 5;
+       self.tur_head.effects  |= EF_FLAME;
+       self.colormod           = self.tur_head.colormod = '-1 -1 -1';
+       self.frame              = 10;
+       self.movetype           = MOVETYPE_TOSS;
 }
 
 void vewhicle_spiderbot_dinit()
index 9f21eaf7b6297904fa5c5c28f22d368b89edd0ad..ad0e56c6bd2cf3ba4c221c49e284145552834175 100644 (file)
@@ -40,6 +40,7 @@ float VHF_MOVE_FLY      = 512;  /// Vehicle is airborn
 .float  vehicle_respawntime;
 .void() vehicle_spawn;
 
+void vehicles_exit(float eject);
 var .void(float exit_flags) vehicle_exit;
 float VHEF_NORMAL = 0;  /// User pressed exit key
 float VHEF_EJECT  = 1;  /// User pressed exit key 3 times fast (not implemented) or vehile is dying