[nexuiz-commits] r7423 - in trunk/data: models/spiderbot qcsrc/common qcsrc/server/vehicles

DONOTREPLY at icculus.org DONOTREPLY at icculus.org
Tue Aug 11 10:41:49 EDT 2009


Author: tzork
Date: 2009-08-11 10:41:49 -0400 (Tue, 11 Aug 2009)
New Revision: 7423

Added:
   trunk/data/models/spiderbot/spiderbot.dpm.framegroups
Modified:
   trunk/data/qcsrc/common/constants.qh
   trunk/data/qcsrc/server/vehicles/spiderbot.qc
Log:
make spiderbot use framegroups, fix HUD_SPIDEBOT typo.

Added: trunk/data/models/spiderbot/spiderbot.dpm.framegroups
===================================================================
--- trunk/data/models/spiderbot/spiderbot.dpm.framegroups	                        (rev 0)
+++ trunk/data/models/spiderbot/spiderbot.dpm.framegroups	2009-08-11 14:41:49 UTC (rev 7423)
@@ -0,0 +1,6 @@
+1   30  20 1 // forward
+32  30  20 1 // backward
+63  30  20 1 // left
+94  30 20 1 // right
+125 30 20 0 // jump
+0   1   20 0 // idle

Modified: trunk/data/qcsrc/common/constants.qh
===================================================================
--- trunk/data/qcsrc/common/constants.qh	2009-08-11 08:44:27 UTC (rev 7422)
+++ trunk/data/qcsrc/common/constants.qh	2009-08-11 14:41:49 UTC (rev 7423)
@@ -267,7 +267,7 @@
 
 const float STAT_HUD = 50;
 const float HUD_NORMAL = 0;
-const float HUD_SPIDEBOT = 10;
+const float HUD_SPIDERBOT = 10;
 
 const float STAT_SPIDERBOT_HEALTH  = 60;
 const float STAT_SPIDERBOT_ROCKETS = 61;

Modified: trunk/data/qcsrc/server/vehicles/spiderbot.qc
===================================================================
--- trunk/data/qcsrc/server/vehicles/spiderbot.qc	2009-08-11 08:44:27 UTC (rev 7422)
+++ trunk/data/qcsrc/server/vehicles/spiderbot.qc	2009-08-11 14:41:49 UTC (rev 7423)
@@ -116,6 +116,7 @@
 
 */
 
+/*
 void anim_do()
 {
     self.frame = self.frame + 0.8;
@@ -128,6 +129,7 @@
         else
             self.frame = self.anim_start;
 }
+*/
 
 void spiderbot_exit(float eject);
 void spiderbot_enter();
@@ -347,6 +349,13 @@
             self.owner.vehicle_heat = max(self.owner.vehicle_heat - cvar("g_vehicle_spiderbot_minigun_cooldown"),0);
 
 }
+#define SBS_IDLE  0
+#define SBS_JUMP  1
+#define SBS_WALK  2
+#define SBS_BACK  3
+#define SBS_LEFT  4
+#define SBS_RIGHT 5
+.float state;
 
 float spiderbot_pplug()
 {
@@ -417,12 +426,15 @@
     self = spider;
     if(spider.flags & FL_ONGROUND)
     {
+        //if(spider.state != SBS_JUMP)
         if(player.BUTTON_JUMP)
         {
             player.BUTTON_JUMP = 0;
             spider.anim_start = MODEL_SPIDERBOT_JUMP_START;
             spider.anim_end   = MODEL_SPIDERBOT_JUMP_END;
             spider.velocity   = v_forward * 700 + v_up * 600;
+            spider.state = SBS_JUMP;
+            spider.frame = 4;
         }
         else
         {
@@ -431,6 +443,8 @@
                 movelib_beak_simple(cvar("g_vehicle_spiderbot_speed_stop"));
                 spider.anim_start = 0;
                 spider.anim_end = 0;
+                spider.state = SBS_IDLE;
+                spider.frame = 5;
             }
             else
             {
@@ -444,13 +458,16 @@
                         player.movement_x = 1;
                         spider.anim_start = MODEL_SPIDERBOT_FORWARD_START;
                         spider.anim_end   = MODEL_SPIDERBOT_FORWARD_END;
+                        spider.state = SBS_WALK;
+                        spider.frame = 0;
                     }
                     else if(player.movement_x < 0)
                     {
                         player.movement_x = -1;
                         spider.anim_start = MODEL_SPIDERBOT_BACKWARDS_START;
                         spider.anim_end   = MODEL_SPIDERBOT_BACKWARDS_END;
-
+                        spider.state = SBS_BACK;
+                        spider.frame = 1;
                     }
                     player.movement_y = 0;
                     movelib_move_simple(normalize(v_forward * player.movement_x),cvar("g_vehicle_spiderbot_speed_walk"),cvar("g_vehicle_spiderbot_movement_inertia"));
@@ -462,12 +479,16 @@
                         player.movement_y = -1;
                         spider.anim_start = MODEL_SPIDERBOT_LEFT_START;
                         spider.anim_end   = MODEL_SPIDERBOT_LEFT_END;
+                        spider.state = SBS_LEFT;
+                        spider.frame = 2;
                     }
                     else if(player.movement_y > 0)
                     {
                         player.movement_y = 1;
                         spider.anim_start = MODEL_SPIDERBOT_RIGHT_START;
                         spider.anim_end   = MODEL_SPIDERBOT_RIGHT_END;
+                        spider.state = SBS_RIGHT;
+                        spider.frame = 3;
                     }
                     movelib_move_simple(normalize(v_right * player.movement_y),cvar("g_vehicle_spiderbot_speed_strafe"),cvar("g_vehicle_spiderbot_movement_inertia"));
                 }
@@ -477,7 +498,7 @@
         movelib_groundalign4point(300,100,0.25);
     }
 
-    anim_do();
+    //anim_do();
     spiderbot_miniguns_do();
     spiderbot_rocket_do();
     vehicle_stdproc_regen();
@@ -526,7 +547,7 @@
     self.owner.PlayerPhysplug = spiderbot_pplug;
     self.owner.vehicle        = self;
     self.owner.event_damage   = SUB_Null;
-    self.owner.hud            = HUD_SPIDEBOT;
+    self.owner.hud            = HUD_SPIDERBOT;
     self.owner.vehicle_health = (self.vehicle_health / cvar("g_vehicle_spiderbot_health"));
     self.owner.vehicle_shield = (self.vehicle_shield / cvar("g_vehicle_spiderbot_shield"));
     self.team                   = self.owner.team;
@@ -552,7 +573,7 @@
 void spiderbot_exit(float eject)
 {
     entity e;
-
+    self.frame = 5;
     e = findchain(classname,"spiderbot_rocket");
     while(e)
     {
@@ -654,6 +675,7 @@
 //void spiderbot_damage(entity inflictor, entity attacker, float damage, float deathtype, vector hitloc, vector force);
 void spiderbot_spawn()
 {
+    self.frame = 5;
     self.think = spiderbot_think;
     self.nextthink = time;
 
@@ -733,7 +755,7 @@
     self.cvar_basename = "g_vehicle_spiderbot";
 
     setmodel (self.vehicle_hudmodel, "models/spiderbot/cp.md3");
-    setmodel (self.vehicle_viewport, "models/null.md3");
+    setmodel (self.vehicle_viewport, "null");
     setmodel(self,"models/spiderbot/spiderbot.dpm");
     setmodel(self.tur_head,"models/spiderbot/spiderbot_top.dpm");
     setmodel(self.gun1,"models/spiderbot/spiderbot_barrels.dpm");
@@ -760,7 +782,6 @@
 {
     // g_turrets_common_precash();
 
-    precache_model ( "models/spiderbot/cr.md3");
     precache_model ( "models/vhshield.md3");
     precache_model ( "models/spiderbot/cp.md3");
     precache_model ( "models/spiderbot/spiderbot.dpm");



More information about the nexuiz-commits mailing list