5 /** Additional networked waypoint state, used for items, weapons, buffs */
9 entityclass(WaypointSprite);
10 class(WaypointSprite) .float helpme;
11 class(WaypointSprite) .float rule;
12 class(WaypointSprite) .string netname; // primary picture
13 class(WaypointSprite) .string netname2; // secondary picture
14 class(WaypointSprite) .string netname3; // tertiary picture
15 class(WaypointSprite) .int team; // team that gets netname2
16 class(WaypointSprite) .float lifetime;
17 class(WaypointSprite) .float fadetime;
18 class(WaypointSprite) .float maxdistance;
19 class(WaypointSprite) .int hideflags;
20 class(WaypointSprite) .float spawntime;
21 class(WaypointSprite) .float health;
22 class(WaypointSprite) .float build_started;
23 class(WaypointSprite) .float build_starthealth;
24 class(WaypointSprite) .float build_finished;
26 bool autocvar_g_waypointsprite_uppercase;
27 float autocvar_g_waypointsprite_alpha;
28 float autocvar_g_waypointsprite_crosshairfadealpha;
29 float autocvar_g_waypointsprite_crosshairfadedistance;
30 float autocvar_g_waypointsprite_crosshairfadescale;
31 float autocvar_g_waypointsprite_distancealphaexponent;
32 float autocvar_g_waypointsprite_distancefadealpha;
33 float autocvar_g_waypointsprite_distancefadedistancemultiplier;
34 float autocvar_g_waypointsprite_distancefadescale;
35 float autocvar_g_waypointsprite_edgefadealpha;
36 float autocvar_g_waypointsprite_edgefadedistance;
37 float autocvar_g_waypointsprite_edgefadescale;
38 float autocvar_g_waypointsprite_edgeoffset_bottom;
39 float autocvar_g_waypointsprite_edgeoffset_left;
40 float autocvar_g_waypointsprite_edgeoffset_right;
41 float autocvar_g_waypointsprite_edgeoffset_top;
42 float autocvar_g_waypointsprite_fontsize;
43 int autocvar_g_waypointsprite_itemstime;
44 float autocvar_g_waypointsprite_minalpha;
45 float autocvar_g_waypointsprite_minscale;
46 float autocvar_g_waypointsprite_normdistance;
47 float autocvar_g_waypointsprite_scale;
48 int autocvar_g_waypointsprite_spam;
49 float autocvar_g_waypointsprite_timealphaexponent;
50 bool autocvar_g_waypointsprite_turrets = true;
51 float autocvar_g_waypointsprite_turrets_maxdist = 5000;
53 float waypointsprite_fadedistance;
54 float waypointsprite_normdistance;
55 float waypointsprite_minscale;
56 float waypointsprite_minalpha;
57 float waypointsprite_distancealphaexponent;
58 float waypointsprite_timealphaexponent;
59 float waypointsprite_scale;
60 float waypointsprite_fontsize;
61 float waypointsprite_edgefadealpha;
62 float waypointsprite_edgefadescale;
63 float waypointsprite_edgefadedistance;
64 float waypointsprite_edgeoffset_bottom;
65 float waypointsprite_edgeoffset_left;
66 float waypointsprite_edgeoffset_right;
67 float waypointsprite_edgeoffset_top;
68 float waypointsprite_crosshairfadealpha;
69 float waypointsprite_crosshairfadescale;
70 float waypointsprite_crosshairfadedistance;
71 float waypointsprite_distancefadealpha;
72 float waypointsprite_distancefadescale;
73 float waypointsprite_distancefadedistance;
74 float waypointsprite_alpha;
76 const float SPRITE_HEALTHBAR_WIDTH = 104;
77 const float SPRITE_HEALTHBAR_HEIGHT = 7;
78 const float SPRITE_HEALTHBAR_MARGIN = 6;
79 const float SPRITE_HEALTHBAR_BORDER = 2;
80 const float SPRITE_HEALTHBAR_BORDERALPHA = 1;
81 const float SPRITE_HEALTHBAR_HEALTHALPHA = 0.5;
82 const float SPRITE_ARROW_SCALE = 1.0;
83 const float SPRITE_HELPME_BLINK = 2;
85 float waypointsprite_count, waypointsprite_newcount;
87 void drawrotpic(vector org, float rot, string pic, vector sz, vector hotspot, vector rgb, float a, float f);
89 void drawquad(vector o, vector ri, vector up, string pic, vector rgb, float a, float f);
91 void drawhealthbar(vector org, float rot, float h, vector sz, vector hotspot, float width, float height, float margin, float border, float align, vector rgb, float a, vector hrgb, float ha, float f);
93 // returns location of sprite text
94 vector drawspritearrow(vector o, float ang, vector rgb, float a, float t);
96 // returns location of sprite healthbar
97 vector drawspritetext(vector o, float ang, float minwidth, vector rgb, float a, vector fontsize, string s);
99 float spritelookupblinkvalue(entity this, string s);
100 vector spritelookupcolor(entity this, string s, vector def);
101 string spritelookuptext(entity this, string s);
103 vector fixrgbexcess_move(vector rgb, vector src, vector dst);
104 vector fixrgbexcess(vector rgb);
106 // they are drawn using a .draw function
108 void Ent_RemoveWaypointSprite(entity this);
110 void Ent_WaypointSprite(entity this, bool isnew);
112 void WaypointSprite_Load_Frames(string ext);
114 void WaypointSprite_Load();
116 void Draw_WaypointSprite(entity this);
122 float autocvar_sv_waypointsprite_deadlifetime;
123 float autocvar_sv_waypointsprite_deployed_lifetime;
124 float autocvar_sv_waypointsprite_limitedrange;
126 ..entity owned_by_field;
132 .bool(entity, entity, entity) waypointsprite_visible_for_player;
134 void WaypointSprite_UpdateSprites(entity e, entity m1, entity m2, entity m3);
136 void WaypointSprite_UpdateHealth(entity e, float f);
138 void WaypointSprite_UpdateMaxHealth(entity e, float f);
140 void WaypointSprite_UpdateBuildFinished(entity e, float f);
142 void WaypointSprite_UpdateOrigin(entity e, vector o);
144 void WaypointSprite_UpdateRule(entity e, float t, float r);
146 void WaypointSprite_UpdateTeamRadar(entity e, entity icon, vector col);
148 .float waypointsprite_pingtime;
149 .float waypointsprite_helpmetime;
150 void WaypointSprite_Ping(entity e);
152 float waypointsprite_limitedrange, waypointsprite_deployed_lifetime, waypointsprite_deadlifetime;
154 void WaypointSprite_HelpMePing(entity e);
156 void WaypointSprite_FadeOutIn(entity e, float t);
158 void WaypointSprite_Init();
160 void WaypointSprite_Kill(entity wp);
162 void WaypointSprite_Disown(entity wp, float fadetime);
164 void WaypointSprite_Think(entity this);
166 bool WaypointSprite_visible_for_player(entity this, entity player, entity view);
168 entity WaypointSprite_getviewentity(entity e);
170 float WaypointSprite_isteammate(entity e, entity e2);
172 bool WaypointSprite_Customize(entity this, entity client);
174 bool WaypointSprite_SendEntity(entity this, entity to, float sendflags);
176 void WaypointSprite_Reset(entity this);
178 entity WaypointSprite_Spawn(
179 entity spr, // sprite
180 float lifetime, float maxdistance, // lifetime, max distance
181 entity ref, vector ofs, // position
182 entity showto, float t, // show to whom? Use a flag to indicate a team
183 entity own, .entity ownfield, // remove when own gets killed
184 float hideable, // true when it should be controlled by cl_hidewaypoints
185 entity icon // initial icon
188 entity WaypointSprite_SpawnFixed(
193 entity icon // initial icon
196 .entity waypointsprite_deployed_fixed;
197 entity WaypointSprite_DeployFixed(
202 entity icon // initial icon
205 .entity waypointsprite_deployed_personal;
206 entity WaypointSprite_DeployPersonal(
210 entity icon // initial icon
213 .entity waypointsprite_attached;
214 .entity waypointsprite_attachedforcarrier;
215 entity WaypointSprite_Attach(
219 entity icon // initial icon
222 entity WaypointSprite_AttachCarrier(
225 entity icon // initial icon
228 void WaypointSprite_DetachCarrier(entity carrier);
230 void WaypointSprite_ClearPersonal(entity this);
232 void WaypointSprite_ClearOwned(entity this);
234 void WaypointSprite_PlayerDead(entity this);
236 void WaypointSprite_PlayerGone(entity this);