[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