r4802 - in trunk/data/qcsrc: common server
DONOTREPLY at icculus.org
DONOTREPLY at icculus.org
Wed Oct 22 04:15:00 EDT 2008
Author: div0
Date: 2008-10-22 04:14:49 -0400 (Wed, 22 Oct 2008)
New Revision: 4802
Modified:
trunk/data/qcsrc/common/constants.qh
trunk/data/qcsrc/server/mode_onslaught.qc
Log:
add simple radar icons for ons
Modified: trunk/data/qcsrc/common/constants.qh
===================================================================
--- trunk/data/qcsrc/common/constants.qh 2008-10-22 07:34:05 UTC (rev 4801)
+++ trunk/data/qcsrc/common/constants.qh 2008-10-22 08:14:49 UTC (rev 4802)
@@ -62,6 +62,8 @@
const float RADARICON_DANGER = 1;
const float RADARICON_WAYPOINT = 1;
const float RADARICON_HELPME = 1;
+ const float RADARICON_CONTROLPOINT = 1;
+ const float RADARICON_GENERATOR = 1;
///////////////////////////
// key constants
Modified: trunk/data/qcsrc/server/mode_onslaught.qc
===================================================================
--- trunk/data/qcsrc/server/mode_onslaught.qc 2008-10-22 07:34:05 UTC (rev 4801)
+++ trunk/data/qcsrc/server/mode_onslaught.qc 2008-10-22 08:14:49 UTC (rev 4802)
@@ -11,7 +11,11 @@
.float iscpneighbor_blue;
.float isshielded;
.float lasthealth;
+.float lastteam;
+.float lastshielded;
+.string model1, model2, model3;
+
void onslaught_updatelinks()
{
local entity l, links;
@@ -447,6 +451,31 @@
s2 = onslaught_generator_waypointsprite_for_team(e, COLOR_TEAM2);
s3 = onslaught_generator_waypointsprite_for_team(e, -1);
WaypointSprite_UpdateSprites(e.sprite, s1, s2, s3);
+
+ if(e.lastteam != e.team + 2 || e.lastshielded != e.isshielded)
+ {
+ e.lastteam = e.team + 2;
+ e.lastshielded = e.isshielded;
+ if(e.lastshielded)
+ {
+ if(e.team == COLOR_TEAM1)
+ WaypointSprite_UpdateTeamRadar(e.sprite, RADARICON_GENERATOR, '0.5 0 0');
+ else if(e.team == COLOR_TEAM2)
+ WaypointSprite_UpdateTeamRadar(e.sprite, RADARICON_GENERATOR, '0 0 0.5');
+ else
+ WaypointSprite_UpdateTeamRadar(e.sprite, RADARICON_GENERATOR, '0.5 0.5 0.5');
+ }
+ else
+ {
+ if(e.team == COLOR_TEAM1)
+ WaypointSprite_UpdateTeamRadar(e.sprite, RADARICON_GENERATOR, '1 0 0');
+ else if(e.team == COLOR_TEAM2)
+ WaypointSprite_UpdateTeamRadar(e.sprite, RADARICON_GENERATOR, '0 0 1');
+ else
+ WaypointSprite_UpdateTeamRadar(e.sprite, RADARICON_GENERATOR, '0.75 0.75 0.75');
+ }
+ WaypointSprite_Ping(e.sprite);
+ }
}
string onslaught_controlpoint_waypointsprite_for_team(entity e, float t)
@@ -500,6 +529,34 @@
s2 = onslaught_controlpoint_waypointsprite_for_team(e, COLOR_TEAM2);
s3 = onslaught_controlpoint_waypointsprite_for_team(e, -1);
WaypointSprite_UpdateSprites(e.sprite, s1, s2, s3);
+
+ float sh;
+ sh = !(onslaught_controlpoint_can_be_linked(e, COLOR_TEAM1) || onslaught_controlpoint_can_be_linked(e, COLOR_TEAM2));
+
+ if(e.lastteam != e.team + 2 || e.lastshielded != sh)
+ {
+ e.lastteam = e.team + 2;
+ e.lastshielded = sh;
+ if(e.lastshielded)
+ {
+ if(e.team == COLOR_TEAM1)
+ WaypointSprite_UpdateTeamRadar(e.sprite, RADARICON_CONTROLPOINT, '0.5 0 0');
+ else if(e.team == COLOR_TEAM2)
+ WaypointSprite_UpdateTeamRadar(e.sprite, RADARICON_CONTROLPOINT, '0 0 0.5');
+ else
+ WaypointSprite_UpdateTeamRadar(e.sprite, RADARICON_CONTROLPOINT, '0.5 0.5 0.5');
+ }
+ else
+ {
+ if(e.team == COLOR_TEAM1)
+ WaypointSprite_UpdateTeamRadar(e.sprite, RADARICON_CONTROLPOINT, '1 0 0');
+ else if(e.team == COLOR_TEAM2)
+ WaypointSprite_UpdateTeamRadar(e.sprite, RADARICON_CONTROLPOINT, '0 0 1');
+ else
+ WaypointSprite_UpdateTeamRadar(e.sprite, RADARICON_CONTROLPOINT, '0.75 0.75 0.75');
+ }
+ WaypointSprite_Ping(e.sprite);
+ }
}
/*QUAKED spawnfunc_onslaught_generator (0 .5 .8) (-32 -32 -24) (32 32 64)
@@ -557,7 +614,8 @@
WaypointSprite_SpawnFixed(string_null, e.origin + '0 0 1' * e.maxs_z, self, sprite);
WaypointSprite_UpdateRule(self.sprite, COLOR_TEAM2, SPRITERULE_TEAMPLAY);
- onslaught_generator_updatesprite(self);
+
+ onslaught_updatelinks();
};
void onslaught_generator_reset()
@@ -751,13 +809,13 @@
//setsize(e, '-32 -32 0', '32 32 128');
setorigin(e, self.origin);
e.colormap = self.colormap;
- onslaught_updatelinks();
waypoint_spawnforitem(self);
WaypointSprite_SpawnFixed(string_null, e.origin + '0 0 1' * e.maxs_z, self, sprite);
WaypointSprite_UpdateRule(self.sprite, COLOR_TEAM2, SPRITERULE_TEAMPLAY);
- onslaught_controlpoint_updatesprite(self);
+
+ onslaught_updatelinks();
};
void onslaught_controlpoint_reset()
More information about the nexuiz-commits
mailing list