[nexuiz-commits] r6300 - in trunk/data/qcsrc: client common server
DONOTREPLY at icculus.org
DONOTREPLY at icculus.org
Thu Mar 26 05:17:51 EDT 2009
Author: div0
Date: 2009-03-26 05:17:51 -0400 (Thu, 26 Mar 2009)
New Revision: 6300
Modified:
trunk/data/qcsrc/client/sbar.qc
trunk/data/qcsrc/common/items.qh
trunk/data/qcsrc/server/cl_client.qc
trunk/data/qcsrc/server/cl_physics.qc
trunk/data/qcsrc/server/cl_weapons.qc
Log:
jetpack fuel HUD
Modified: trunk/data/qcsrc/client/sbar.qc
===================================================================
--- trunk/data/qcsrc/client/sbar.qc 2009-03-26 08:58:56 UTC (rev 6299)
+++ trunk/data/qcsrc/client/sbar.qc 2009-03-26 09:17:51 UTC (rev 6300)
@@ -1967,7 +1967,16 @@
}
// ammo
- x = getstati(STAT_AMMO);
+ if (stat_items & IT_SHELLS)
+ x = getstati(STAT_SHELLS);
+ else if (stat_items & IT_NAILS)
+ x = getstati(STAT_NAILS);
+ else if (stat_items & IT_ROCKETS)
+ x = getstati(STAT_ROCKETS);
+ else if (stat_items & IT_CELLS)
+ x = getstati(STAT_CELLS);
+ else
+ x = 0;
if ((stat_items & IT_AMMO) || x != 0)
{
if (stat_items & IT_SHELLS)
@@ -1984,6 +1993,18 @@
Sbar_DrawXNum('224 0 0', x, 3, 24, '0.7 0 0', 1, 0);
}
+ // jetpack cells
+ if(stat_items & IT_USING_JETPACK)
+ if not(stat_items & IT_CELLS)
+ {
+ x = getstati(STAT_CELLS);
+ drawpic(sbar + '296 -30 0', "gfx/sb_cells", '24 24 0', '1 1 1', sbar_alpha_fg, 0);
+ if(x > 10)
+ Sbar_DrawXNum('224 -30 0', x, 3, 24, '0.6 0.7 0.8', 1, 0);
+ else
+ Sbar_DrawXNum('224 -30 0', x, 3, 24, '0.7 0 0', 1, 0);
+ }
+
if (sbar_x + 320 + 160 <= vid_conwidth)
Sbar_MiniDeathmatchOverlay(sbar + '320 0 0');
if (sbar_x > 0)
@@ -2034,7 +2055,16 @@
else
Sbar_DrawXNum('81 12 0', x, 3, 24, '0.6 0.7 0.8', 1, 0);
- x = getstati(STAT_AMMO);
+ if (stat_items & IT_SHELLS)
+ x = getstati(STAT_SHELLS);
+ else if (stat_items & IT_NAILS)
+ x = getstati(STAT_NAILS);
+ else if (stat_items & IT_ROCKETS)
+ x = getstati(STAT_ROCKETS);
+ else if (stat_items & IT_CELLS)
+ x = getstati(STAT_CELLS);
+ else
+ x = 0;
if ((stat_items & IT_AMMO) || x != 0)
{
// (519-3*24) = 447
@@ -2052,6 +2082,18 @@
Sbar_DrawXNum('447 12 0', x, 3, 24, '0.7 0 0', 1, 0);
}
+ // jetpack cells
+ if(stat_items & IT_USING_JETPACK)
+ if not(stat_items & IT_CELLS)
+ {
+ x = getstati(STAT_CELLS);
+ drawpic(sbar + '519 -40 0', "gfx/sb_cells", '0 0 0', '1 1 1', sbar_alpha_fg, 0);
+ if(x > 10)
+ Sbar_DrawXNum('447 -28 0', x, 3, 24, '0.6 0.7 0.8', 1, 0);
+ else
+ Sbar_DrawXNum('447 -28 0', x, 3, 24, '0.7 0 0', 1, 0);
+ }
+
if (sb_lines > 24)
drawpic(sbar, "gfx/sbar_overlay", '0 0 0', '1 1 1', 1, DRAWFLAG_MODULATE);
Modified: trunk/data/qcsrc/common/items.qh
===================================================================
--- trunk/data/qcsrc/common/items.qh 2009-03-26 08:58:56 UTC (rev 6299)
+++ trunk/data/qcsrc/common/items.qh 2009-03-26 09:17:51 UTC (rev 6300)
@@ -30,6 +30,8 @@
float IT_UNLIMITED_AMMO = 3;
// both of these combined
float IT_CTF_SHIELDED = 4; // set for the flag shield
+// using jetpack
+float IT_USING_JETPACK = 8;
float IT_SHELLS = 256;
float IT_NAILS = 512;
float IT_ROCKETS = 1024;
Modified: trunk/data/qcsrc/server/cl_client.qc
===================================================================
--- trunk/data/qcsrc/server/cl_client.qc 2009-03-26 08:58:56 UTC (rev 6299)
+++ trunk/data/qcsrc/server/cl_client.qc 2009-03-26 09:17:51 UTC (rev 6300)
@@ -1829,7 +1829,10 @@
void SpectateCopy(entity spectatee) {
self.armortype = spectatee.armortype;
self.armorvalue = spectatee.armorvalue;
- self.currentammo = spectatee.currentammo;
+ self.ammo_cells = spectatee.ammo_cells;
+ self.ammo_shells = spectatee.ammo_shells;
+ self.ammo_nails = spectatee.ammo_nails;
+ self.ammo_rockets = spectatee.ammo_rockets;
self.effects = spectatee.effects & EFMASK_CHEAP; // eat performance
self.health = spectatee.health;
self.impulse = 0;
Modified: trunk/data/qcsrc/server/cl_physics.qc
===================================================================
--- trunk/data/qcsrc/server/cl_physics.qc 2009-03-26 08:58:56 UTC (rev 6299)
+++ trunk/data/qcsrc/server/cl_physics.qc 2009-03-26 09:17:51 UTC (rev 6300)
@@ -356,6 +356,7 @@
local vector wishvel, wishdir, v;
local float wishspeed, f, maxspd_mod, spd, maxairspd, airaccel, swampspd_mod, shtest_score, buttons;
string temps;
+ float buttons_prev;
buttons = self.BUTTON_ATCK + 2 * self.BUTTON_JUMP + 4 * self.BUTTON_ATCK2 + 8 * self.BUTTON_ZOOM + 16 * self.BUTTON_CROUCH + 32 * self.BUTTON_HOOK + 64 * self.BUTTON_USE;
if(!sv_maxidle_spectatorsareidle || self.movetype == MOVETYPE_WALK)
@@ -363,6 +364,7 @@
if(buttons != self.buttons_old || self.movement != self.movement_old || self.v_angle != self.v_angle_old)
self.parm_idlesince = time;
}
+ buttons_prev = self.buttons_old;
self.buttons_old = buttons;
self.movement_old = self.movement;
self.v_angle_old = self.v_angle;
@@ -389,6 +391,7 @@
bot_think();
self.modelflags &~= MF_ROCKET;
+ self.items &~= IT_USING_JETPACK;
if (self.movetype == MOVETYPE_NONE && self.disableclientprediction != 2)
return;
@@ -680,19 +683,18 @@
if (f > 0 && wishvel != '0 0 0')
{
self.velocity = self.velocity + wishvel * f * frametime;
- float c;
- c = self.ammo_cells;
self.ammo_cells -= cvar("g_jetpack_ammo") * frametime * fvel * f;
- if(floor(c / 5) != floor(self.ammo_cells / 5))
- sprint(self, strcat("jetpack: less than ", ftos(floor(c)), " cells left\n"));
- else if(self.ammo_cells < 0.01 && cvar("g_jetpack_ammo"))
- sprint(self, "jetpack: out of fuel\n");
self.flags &~= FL_ONGROUND;
self.modelflags |= MF_ROCKET;
+ self.items |= IT_USING_JETPACK;
}
}
else if (self.flags & FL_ONGROUND)
{
+ // we get here if we ran out of ammo
+ if(g_jetpack && self.BUTTON_HOOK && !(buttons_prev & 32))
+ sprint(self, "You don't have any fuel for the ^2Jetpack\n");
+
// walking
makevectors(self.v_angle_y * '0 1 0');
wishvel = v_forward * self.movement_x + v_right * self.movement_y;
@@ -739,6 +741,10 @@
}
else
{
+ // we get here if we ran out of ammo
+ if(g_jetpack && self.BUTTON_HOOK && !(buttons_prev & 32))
+ sprint(self, "You don't have any fuel for the ^2Jetpack\n");
+
if(maxspd_mod < 1)
{
maxairspd = sv_maxairspeed*maxspd_mod;
Modified: trunk/data/qcsrc/server/cl_weapons.qc
===================================================================
--- trunk/data/qcsrc/server/cl_weapons.qc 2009-03-26 08:58:56 UTC (rev 6299)
+++ trunk/data/qcsrc/server/cl_weapons.qc 2009-03-26 09:17:51 UTC (rev 6300)
@@ -368,6 +368,7 @@
// self.weapon_nextthink = time;
// update currentammo incase it has changed
+#if 0
if (self.items & IT_CELLS)
self.currentammo = self.ammo_cells;
else if (self.items & IT_ROCKETS)
@@ -378,7 +379,7 @@
self.currentammo = self.ammo_shells;
else
self.currentammo = 1;
-
+#endif
};
float nixnex_weapon;
More information about the nexuiz-commits
mailing list