]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blob - qcsrc/common/mutators/mutator/waypoints/waypointsprites.qh
Purge most cases of self from the client folder
[xonotic/xonotic-data.pk3dir.git] / qcsrc / common / mutators / mutator / waypoints / waypointsprites.qh
1 #ifndef WAYPOINTSPRITES_H
2 #define WAYPOINTSPRITES_H
3
4 #include "all.qh"
5
6 /** Additional networked waypoint state, used for items, weapons, buffs */
7 .int wp_extra;
8
9 #ifdef CSQC
10 entityclass(WaypointSprite);
11 class(WaypointSprite) .float helpme;
12 class(WaypointSprite) .float rule;
13 class(WaypointSprite) .string netname; // primary picture
14 class(WaypointSprite) .string netname2; // secondary picture
15 class(WaypointSprite) .string netname3; // tertiary picture
16 class(WaypointSprite) .int team; // team that gets netname2
17 class(WaypointSprite) .float lifetime;
18 class(WaypointSprite) .float fadetime;
19 class(WaypointSprite) .float maxdistance;
20 class(WaypointSprite) .int hideflags;
21 class(WaypointSprite) .float spawntime;
22 class(WaypointSprite) .float health;
23 class(WaypointSprite) .float build_started;
24 class(WaypointSprite) .float build_starthealth;
25 class(WaypointSprite) .float build_finished;
26
27 bool autocvar_g_waypointsprite_uppercase;
28 float autocvar_g_waypointsprite_alpha;
29 float autocvar_g_waypointsprite_crosshairfadealpha;
30 float autocvar_g_waypointsprite_crosshairfadedistance;
31 float autocvar_g_waypointsprite_crosshairfadescale;
32 float autocvar_g_waypointsprite_distancealphaexponent;
33 float autocvar_g_waypointsprite_distancefadealpha;
34 float autocvar_g_waypointsprite_distancefadedistancemultiplier;
35 float autocvar_g_waypointsprite_distancefadescale;
36 float autocvar_g_waypointsprite_edgefadealpha;
37 float autocvar_g_waypointsprite_edgefadedistance;
38 float autocvar_g_waypointsprite_edgefadescale;
39 float autocvar_g_waypointsprite_edgeoffset_bottom;
40 float autocvar_g_waypointsprite_edgeoffset_left;
41 float autocvar_g_waypointsprite_edgeoffset_right;
42 float autocvar_g_waypointsprite_edgeoffset_top;
43 float autocvar_g_waypointsprite_fontsize;
44 int autocvar_g_waypointsprite_itemstime;
45 float autocvar_g_waypointsprite_minalpha;
46 float autocvar_g_waypointsprite_minscale;
47 float autocvar_g_waypointsprite_normdistance;
48 float autocvar_g_waypointsprite_scale;
49 int autocvar_g_waypointsprite_spam;
50 float autocvar_g_waypointsprite_timealphaexponent;
51 bool autocvar_g_waypointsprite_turrets = true;
52 float autocvar_g_waypointsprite_turrets_maxdist = 5000;
53
54 float waypointsprite_fadedistance;
55 float waypointsprite_normdistance;
56 float waypointsprite_minscale;
57 float waypointsprite_minalpha;
58 float waypointsprite_distancealphaexponent;
59 float waypointsprite_timealphaexponent;
60 float waypointsprite_scale;
61 float waypointsprite_fontsize;
62 float waypointsprite_edgefadealpha;
63 float waypointsprite_edgefadescale;
64 float waypointsprite_edgefadedistance;
65 float waypointsprite_edgeoffset_bottom;
66 float waypointsprite_edgeoffset_left;
67 float waypointsprite_edgeoffset_right;
68 float waypointsprite_edgeoffset_top;
69 float waypointsprite_crosshairfadealpha;
70 float waypointsprite_crosshairfadescale;
71 float waypointsprite_crosshairfadedistance;
72 float waypointsprite_distancefadealpha;
73 float waypointsprite_distancefadescale;
74 float waypointsprite_distancefadedistance;
75 float waypointsprite_alpha;
76
77 const float SPRITE_HEALTHBAR_WIDTH = 144;
78 const float SPRITE_HEALTHBAR_HEIGHT = 9;
79 const float SPRITE_HEALTHBAR_MARGIN = 6;
80 const float SPRITE_HEALTHBAR_BORDER = 2;
81 const float SPRITE_HEALTHBAR_BORDERALPHA = 1;
82 const float SPRITE_HEALTHBAR_HEALTHALPHA = 0.5;
83 const float SPRITE_ARROW_SCALE = 1.0;
84 const float SPRITE_HELPME_BLINK = 2;
85
86 float waypointsprite_count, waypointsprite_newcount;
87
88 void drawrotpic(vector org, float rot, string pic, vector sz, vector hotspot, vector rgb, float a, float f);
89
90 void drawquad(vector o, vector ri, vector up, string pic, vector rgb, float a, float f);
91
92 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
94 // returns location of sprite text
95 vector drawspritearrow(vector o, float ang, vector rgb, float a, float t);
96
97 // returns location of sprite healthbar
98 vector drawspritetext(vector o, float ang, float minwidth, vector rgb, float a, vector fontsize, string s);
99
100 float spritelookupblinkvalue(string s);
101 vector spritelookupcolor(entity this, string s, vector def);
102 string spritelookuptext(string s);
103
104 vector fixrgbexcess_move(vector rgb, vector src, vector dst);
105 vector fixrgbexcess(vector rgb);
106
107 // they are drawn using a .draw function
108
109 void Ent_RemoveWaypointSprite(entity this);
110
111 void Ent_WaypointSprite();
112
113 void WaypointSprite_Load_Frames(string ext);
114
115 void WaypointSprite_Load();
116 .float alpha;
117 void Draw_WaypointSprite(entity this);
118 #endif
119
120 #ifdef SVQC
121 float autocvar_sv_waypointsprite_deadlifetime;
122 float autocvar_sv_waypointsprite_deployed_lifetime;
123 float autocvar_sv_waypointsprite_limitedrange;
124
125 ..entity owned_by_field;
126 .float rule;
127 .string model1;
128 .string model2;
129 .string model3;
130
131 .float(entity) waypointsprite_visible_for_player;
132
133 void WaypointSprite_UpdateSprites(entity e, entity m1, entity m2, entity m3);
134
135 void WaypointSprite_UpdateHealth(entity e, float f);
136
137 void WaypointSprite_UpdateMaxHealth(entity e, float f);
138
139 void WaypointSprite_UpdateBuildFinished(entity e, float f);
140
141 void WaypointSprite_UpdateOrigin(entity e, vector o);
142
143 void WaypointSprite_UpdateRule(entity e, float t, float r);
144
145 void WaypointSprite_UpdateTeamRadar(entity e, entity icon, vector col);
146
147 .float waypointsprite_pingtime;
148 .float waypointsprite_helpmetime;
149 void WaypointSprite_Ping(entity e);
150
151 float waypointsprite_limitedrange, waypointsprite_deployed_lifetime, waypointsprite_deadlifetime;
152
153 void WaypointSprite_HelpMePing(entity e);
154
155 void WaypointSprite_FadeOutIn(entity e, float t);
156
157 void WaypointSprite_Init();
158
159 void WaypointSprite_Kill(entity wp);
160
161 void WaypointSprite_Disown(entity wp, float fadetime);
162
163 void WaypointSprite_Think();
164
165 float WaypointSprite_visible_for_player(entity e);
166
167 entity WaypointSprite_getviewentity(entity e);
168
169 float WaypointSprite_isteammate(entity e, entity e2);
170
171 float WaypointSprite_Customize();
172
173 bool WaypointSprite_SendEntity(entity this, entity to, float sendflags);
174
175 void WaypointSprite_Reset();
176
177 entity WaypointSprite_Spawn(
178     entity spr, // sprite
179     float lifetime, float maxdistance, // lifetime, max distance
180     entity ref, vector ofs, // position
181     entity showto, float t, // show to whom? Use a flag to indicate a team
182     entity own, .entity ownfield, // remove when own gets killed
183     float hideable, // true when it should be controlled by cl_hidewaypoints
184     entity icon // initial icon
185 );
186
187 entity WaypointSprite_SpawnFixed(
188     entity spr,
189     vector ofs,
190     entity own,
191     .entity ownfield,
192     entity icon // initial icon
193 );
194
195 .entity waypointsprite_deployed_fixed;
196 entity WaypointSprite_DeployFixed(
197     entity spr,
198     float limited_range,
199     vector ofs,
200     entity icon // initial icon
201 );
202
203 .entity waypointsprite_deployed_personal;
204 entity WaypointSprite_DeployPersonal(
205     entity spr,
206     vector ofs,
207     entity icon // initial icon
208 );
209
210 .entity waypointsprite_attached;
211 .entity waypointsprite_attachedforcarrier;
212 entity WaypointSprite_Attach(
213     entity spr,
214     float limited_range,
215     entity icon // initial icon
216 );
217
218 entity WaypointSprite_AttachCarrier(
219     entity spr,
220     entity carrier,
221     entity icon // initial icon
222 );
223
224 void WaypointSprite_DetachCarrier(entity carrier);
225
226 void WaypointSprite_ClearPersonal();
227
228 void WaypointSprite_ClearOwned();
229
230 void WaypointSprite_PlayerDead(entity this);
231
232 void WaypointSprite_PlayerGone();
233 #endif
234
235 #endif