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