2 ==================================================
\r
3 Menu.qc (originally) By: Chris Voss 3-18-99 (I simplified it a bit -Urre)
\r
4 ==================================================
\r
7 void(entity navn, entity delplane) RemovePlane;
\r
9 void(float i) Select =
\r
13 if (self.confirm == C_DELETE_NAVNODE)
\r
17 if (self.current_navnode.plane_chain)
\r
19 e = self.current_navnode.plane_chain;
\r
22 e.think = SUB_Remove;
\r
25 while (e != self.current_navnode.plane_chain)
\r
27 e.think = SUB_Remove;
\r
36 if (e.link0 == self.current_navnode)
\r
38 else if (e.link1 == self.current_navnode)
\r
40 else if (e.link2 == self.current_navnode)
\r
42 else if (e.link3 == self.current_navnode)
\r
44 else if (e.link4 == self.current_navnode)
\r
46 else if (e.link5 == self.current_navnode)
\r
48 else if (e.link6 == self.current_navnode)
\r
50 else if (e.link7 == self.current_navnode)
\r
52 else if (e.link8 == self.current_navnode)
\r
54 else if (e.link9 == self.current_navnode)
\r
56 else if (e.link10 == self.current_navnode)
\r
58 else if (e.link11 == self.current_navnode)
\r
60 else if (e.link12 == self.current_navnode)
\r
62 else if (e.link13 == self.current_navnode)
\r
64 else if (e.link14 == self.current_navnode)
\r
66 else if (e.link15 == self.current_navnode)
\r
68 else if (e.link16 == self.current_navnode)
\r
70 else if (e.link17 == self.current_navnode)
\r
72 else if (e.link18 == self.current_navnode)
\r
74 else if (e.link19 == self.current_navnode)
\r
78 remove(self.current_navnode);
\r
80 self.current_navnode = world;
\r
82 self.lockselection = FALSE;
\r
85 else if (self.confirm == C_DELETE_PLANE)
\r
88 RemovePlane(self.current_navnode, self.current_plane);
\r
89 self.current_plane = world;
\r
91 self.lockselection = FALSE;
\r
94 else if (self.confirm == C_AUTOFLAGGER)
\r
98 self.current_plane = world;
\r
99 self.confirm = C_WAIT;
\r
100 self.lockselection = FALSE;
\r
103 centerprint(self, "\n");
\r
110 if (self.menu_time < time)
\r
112 self.menu_time = time + 0.5;
\r
116 if (self.current_navnode)
\r
118 s = strcat("^5Gridsize^7: ", ftos(self.gridsize));
\r
119 s = strcat(s, "\n^2self^7.origin: ");
\r
120 s = strcat(s, vtos(self.origin));
\r
121 s = strcat(s, "\nCURRENT AXIS: ");
\r
122 if (self.axis == 0)
\r
123 s = strcat(s, "^4X^7");
\r
124 else if (self.axis == 1)
\r
125 s = strcat(s, "^3Y^7");
\r
126 else if (self.axis == 2)
\r
127 s = strcat(s, "^1Z^7");
\r
128 if (self.current_navnode.sflags)
\r
130 s = strcat(s, "\nnavnode.sflags:");
\r
131 if (self.current_navnode.sflags & S_TELEPORT)
\r
132 s = strcat(s, " S_TELEPORT");
\r
133 if (self.current_navnode.sflags & S_DOOR)
\r
134 s = strcat(s, " S_DOOR");
\r
135 if (self.current_navnode.sflags & S_TOUCH)
\r
136 s = strcat(s, " S_TOUCH");
\r
138 if (self.current_navnode.lflags0)
\r
140 s = strcat(s, "\nnavnode.lflags0:");
\r
141 if (self.current_navnode.lflags0 & LF_NOLINK)
\r
142 s = strcat(s, " LF_NOLINK");
\r
143 if (self.current_navnode.lflags0 & LF_NOWALK)
\r
144 s = strcat(s, " LF_NOWALK");
\r
145 if (self.current_navnode.lflags0 & LF_BAD)
\r
146 s = strcat(s, " LF_BAD");
\r
147 if (self.current_navnode.lflags0 & LF_BIGDROP)
\r
148 s = strcat(s, " LF_BIGDROP");
\r
149 if (self.current_navnode.lflags0 & LF_REMOTE)
\r
150 s = strcat(s, " LF_REMOTE");
\r
152 if (self.current_navnode.lflags1)
\r
154 s = strcat(s, "\nnavnode.lflags1:");
\r
155 if (self.current_navnode.lflags1 & LF_NOLINK)
\r
156 s = strcat(s, " LF_NOLINK");
\r
157 if (self.current_navnode.lflags1 & LF_NOWALK)
\r
158 s = strcat(s, " LF_NOWALK");
\r
159 if (self.current_navnode.lflags1 & LF_BAD)
\r
160 s = strcat(s, " LF_BAD");
\r
161 if (self.current_navnode.lflags1 & LF_BIGDROP)
\r
162 s = strcat(s, " LF_BIGDROP");
\r
163 if (self.current_navnode.lflags1 & LF_REMOTE)
\r
164 s = strcat(s, " LF_REMOTE");
\r
166 if (self.current_navnode.lflags2)
\r
168 s = strcat(s, "\nnavnode.lflags2:");
\r
169 if (self.current_navnode.lflags2 & LF_NOLINK)
\r
170 s = strcat(s, " LF_NOLINK");
\r
171 if (self.current_navnode.lflags2 & LF_NOWALK)
\r
172 s = strcat(s, " LF_NOWALK");
\r
173 if (self.current_navnode.lflags2 & LF_BAD)
\r
174 s = strcat(s, " LF_BAD");
\r
175 if (self.current_navnode.lflags2 & LF_BIGDROP)
\r
176 s = strcat(s, " LF_BIGDROP");
\r
177 if (self.current_navnode.lflags2 & LF_REMOTE)
\r
178 s = strcat(s, " LF_REMOTE");
\r
180 if (self.current_navnode.lflags3)
\r
182 s = strcat(s, "\nnavnode.lflags3:");
\r
183 if (self.current_navnode.lflags3 & LF_NOLINK)
\r
184 s = strcat(s, " LF_NOLINK");
\r
185 if (self.current_navnode.lflags3 & LF_NOWALK)
\r
186 s = strcat(s, " LF_NOWALK");
\r
187 if (self.current_navnode.lflags3 & LF_BAD)
\r
188 s = strcat(s, " LF_BAD");
\r
189 if (self.current_navnode.lflags3 & LF_BIGDROP)
\r
190 s = strcat(s, " LF_BIGDROP");
\r
191 if (self.current_navnode.lflags3 & LF_REMOTE)
\r
192 s = strcat(s, " LF_REMOTE");
\r
194 if (self.current_navnode.lflags4)
\r
196 s = strcat(s, "\nnavnode.lflags4:");
\r
197 if (self.current_navnode.lflags4 & LF_NOLINK)
\r
198 s = strcat(s, " LF_NOLINK");
\r
199 if (self.current_navnode.lflags4 & LF_NOWALK)
\r
200 s = strcat(s, " LF_NOWALK");
\r
201 if (self.current_navnode.lflags4 & LF_BAD)
\r
202 s = strcat(s, " LF_BAD");
\r
203 if (self.current_navnode.lflags4 & LF_BIGDROP)
\r
204 s = strcat(s, " LF_BIGDROP");
\r
205 if (self.current_navnode.lflags4 & LF_REMOTE)
\r
206 s = strcat(s, " LF_REMOTE");
\r
208 if (self.current_navnode.lflags5)
\r
210 s = strcat(s, "\nnavnode.lflags5:");
\r
211 if (self.current_navnode.lflags5 & LF_NOLINK)
\r
212 s = strcat(s, " LF_NOLINK");
\r
213 if (self.current_navnode.lflags5 & LF_NOWALK)
\r
214 s = strcat(s, " LF_NOWALK");
\r
215 if (self.current_navnode.lflags5 & LF_BAD)
\r
216 s = strcat(s, " LF_BAD");
\r
217 if (self.current_navnode.lflags5 & LF_BIGDROP)
\r
218 s = strcat(s, " LF_BIGDROP");
\r
219 if (self.current_navnode.lflags5 & LF_REMOTE)
\r
220 s = strcat(s, " LF_REMOTE");
\r
222 if (self.current_navnode.lflags6)
\r
224 s = strcat(s, "\nnavnode.lflags6:");
\r
225 if (self.current_navnode.lflags6 & LF_NOLINK)
\r
226 s = strcat(s, " LF_NOLINK");
\r
227 if (self.current_navnode.lflags6 & LF_NOWALK)
\r
228 s = strcat(s, " LF_NOWALK");
\r
229 if (self.current_navnode.lflags6 & LF_BAD)
\r
230 s = strcat(s, " LF_BAD");
\r
231 if (self.current_navnode.lflags6 & LF_BIGDROP)
\r
232 s = strcat(s, " LF_BIGDROP");
\r
233 if (self.current_navnode.lflags6 & LF_REMOTE)
\r
234 s = strcat(s, " LF_REMOTE");
\r
236 if (self.current_navnode.lflags7)
\r
238 s = strcat(s, "\nnavnode.lflags7:");
\r
239 if (self.current_navnode.lflags7 & LF_NOLINK)
\r
240 s = strcat(s, " LF_NOLINK");
\r
241 if (self.current_navnode.lflags7 & LF_NOWALK)
\r
242 s = strcat(s, " LF_NOWALK");
\r
243 if (self.current_navnode.lflags7 & LF_BAD)
\r
244 s = strcat(s, " LF_BAD");
\r
245 if (self.current_navnode.lflags7 & LF_BIGDROP)
\r
246 s = strcat(s, " LF_BIGDROP");
\r
247 if (self.current_navnode.lflags7 & LF_REMOTE)
\r
248 s = strcat(s, " LF_REMOTE");
\r
250 if (self.current_navnode.lflags8)
\r
252 s = strcat(s, "\nnavnode.lflags8:");
\r
253 if (self.current_navnode.lflags8 & LF_NOLINK)
\r
254 s = strcat(s, " LF_NOLINK");
\r
255 if (self.current_navnode.lflags8 & LF_NOWALK)
\r
256 s = strcat(s, " LF_NOWALK");
\r
257 if (self.current_navnode.lflags8 & LF_BAD)
\r
258 s = strcat(s, " LF_BAD");
\r
259 if (self.current_navnode.lflags8 & LF_BIGDROP)
\r
260 s = strcat(s, " LF_BIGDROP");
\r
261 if (self.current_navnode.lflags8 & LF_REMOTE)
\r
262 s = strcat(s, " LF_REMOTE");
\r
264 if (self.current_navnode.lflags9)
\r
266 s = strcat(s, "\nnavnode.lflags9:");
\r
267 if (self.current_navnode.lflags9 & LF_NOLINK)
\r
268 s = strcat(s, " LF_NOLINK");
\r
269 if (self.current_navnode.lflags9 & LF_NOWALK)
\r
270 s = strcat(s, " LF_NOWALK");
\r
271 if (self.current_navnode.lflags9 & LF_BAD)
\r
272 s = strcat(s, " LF_BAD");
\r
273 if (self.current_navnode.lflags9 & LF_BIGDROP)
\r
274 s = strcat(s, " LF_BIGDROP");
\r
275 if (self.current_navnode.lflags9 & LF_REMOTE)
\r
276 s = strcat(s, " LF_REMOTE");
\r
278 if (self.current_navnode.lflags10)
\r
280 s = strcat(s, "\nnavnode.lflags10:");
\r
281 if (self.current_navnode.lflags10 & LF_NOLINK)
\r
282 s = strcat(s, " LF_NOLINK");
\r
283 if (self.current_navnode.lflags10 & LF_NOWALK)
\r
284 s = strcat(s, " LF_NOWALK");
\r
285 if (self.current_navnode.lflags10 & LF_BAD)
\r
286 s = strcat(s, " LF_BAD");
\r
287 if (self.current_navnode.lflags10 & LF_BIGDROP)
\r
288 s = strcat(s, " LF_BIGDROP");
\r
289 if (self.current_navnode.lflags10 & LF_REMOTE)
\r
290 s = strcat(s, " LF_REMOTE");
\r
292 if (self.current_navnode.lflags11)
\r
294 s = strcat(s, "\nnavnode.lflags11:");
\r
295 if (self.current_navnode.lflags11 & LF_NOLINK)
\r
296 s = strcat(s, " LF_NOLINK");
\r
297 if (self.current_navnode.lflags11 & LF_NOWALK)
\r
298 s = strcat(s, " LF_NOWALK");
\r
299 if (self.current_navnode.lflags11 & LF_BAD)
\r
300 s = strcat(s, " LF_BAD");
\r
301 if (self.current_navnode.lflags11 & LF_BIGDROP)
\r
302 s = strcat(s, " LF_BIGDROP");
\r
303 if (self.current_navnode.lflags11 & LF_REMOTE)
\r
304 s = strcat(s, " LF_REMOTE");
\r
306 if (self.current_navnode.lflags12)
\r
308 s = strcat(s, "\nnavnode.lflags12:");
\r
309 if (self.current_navnode.lflags12 & LF_NOLINK)
\r
310 s = strcat(s, " LF_NOLINK");
\r
311 if (self.current_navnode.lflags12 & LF_NOWALK)
\r
312 s = strcat(s, " LF_NOWALK");
\r
313 if (self.current_navnode.lflags12 & LF_BAD)
\r
314 s = strcat(s, " LF_BAD");
\r
315 if (self.current_navnode.lflags12 & LF_BIGDROP)
\r
316 s = strcat(s, " LF_BIGDROP");
\r
317 if (self.current_navnode.lflags12 & LF_REMOTE)
\r
318 s = strcat(s, " LF_REMOTE");
\r
320 if (self.current_navnode.lflags13)
\r
322 s = strcat(s, "\nnavnode.lflags13:");
\r
323 if (self.current_navnode.lflags13 & LF_NOLINK)
\r
324 s = strcat(s, " LF_NOLINK");
\r
325 if (self.current_navnode.lflags13 & LF_NOWALK)
\r
326 s = strcat(s, " LF_NOWALK");
\r
327 if (self.current_navnode.lflags13 & LF_BAD)
\r
328 s = strcat(s, " LF_BAD");
\r
329 if (self.current_navnode.lflags13 & LF_BIGDROP)
\r
330 s = strcat(s, " LF_BIGDROP");
\r
331 if (self.current_navnode.lflags13 & LF_REMOTE)
\r
332 s = strcat(s, " LF_REMOTE");
\r
334 if (self.current_navnode.lflags14)
\r
336 s = strcat(s, "\nnavnode.lflags14:");
\r
337 if (self.current_navnode.lflags14 & LF_NOLINK)
\r
338 s = strcat(s, " LF_NOLINK");
\r
339 if (self.current_navnode.lflags14 & LF_NOWALK)
\r
340 s = strcat(s, " LF_NOWALK");
\r
341 if (self.current_navnode.lflags14 & LF_BAD)
\r
342 s = strcat(s, " LF_BAD");
\r
343 if (self.current_navnode.lflags14 & LF_BIGDROP)
\r
344 s = strcat(s, " LF_BIGDROP");
\r
345 if (self.current_navnode.lflags14 & LF_REMOTE)
\r
346 s = strcat(s, " LF_REMOTE");
\r
348 if (self.current_navnode.lflags15)
\r
350 s = strcat(s, "\nnavnode.lflags15:");
\r
351 if (self.current_navnode.lflags15 & LF_NOLINK)
\r
352 s = strcat(s, " LF_NOLINK");
\r
353 if (self.current_navnode.lflags15 & LF_NOWALK)
\r
354 s = strcat(s, " LF_NOWALK");
\r
355 if (self.current_navnode.lflags15 & LF_BAD)
\r
356 s = strcat(s, " LF_BAD");
\r
357 if (self.current_navnode.lflags15 & LF_BIGDROP)
\r
358 s = strcat(s, " LF_BIGDROP");
\r
359 if (self.current_navnode.lflags15 & LF_REMOTE)
\r
360 s = strcat(s, " LF_REMOTE");
\r
362 if (self.current_navnode.lflags16)
\r
364 s = strcat(s, "\nnavnode.lflags16:");
\r
365 if (self.current_navnode.lflags16 & LF_NOLINK)
\r
366 s = strcat(s, " LF_NOLINK");
\r
367 if (self.current_navnode.lflags16 & LF_NOWALK)
\r
368 s = strcat(s, " LF_NOWALK");
\r
369 if (self.current_navnode.lflags16 & LF_BAD)
\r
370 s = strcat(s, " LF_BAD");
\r
371 if (self.current_navnode.lflags16 & LF_BIGDROP)
\r
372 s = strcat(s, " LF_BIGDROP");
\r
373 if (self.current_navnode.lflags16 & LF_REMOTE)
\r
374 s = strcat(s, " LF_REMOTE");
\r
376 if (self.current_navnode.lflags17)
\r
378 s = strcat(s, "\nnavnode.lflags17:");
\r
379 if (self.current_navnode.lflags17 & LF_NOLINK)
\r
380 s = strcat(s, " LF_NOLINK");
\r
381 if (self.current_navnode.lflags17 & LF_NOWALK)
\r
382 s = strcat(s, " LF_NOWALK");
\r
383 if (self.current_navnode.lflags17 & LF_BAD)
\r
384 s = strcat(s, " LF_BAD");
\r
385 if (self.current_navnode.lflags17 & LF_BIGDROP)
\r
386 s = strcat(s, " LF_BIGDROP");
\r
387 if (self.current_navnode.lflags17 & LF_REMOTE)
\r
388 s = strcat(s, " LF_REMOTE");
\r
390 if (self.current_navnode.lflags18)
\r
392 s = strcat(s, "\nnavnode.lflags18:");
\r
393 if (self.current_navnode.lflags18 & LF_NOLINK)
\r
394 s = strcat(s, " LF_NOLINK");
\r
395 if (self.current_navnode.lflags18 & LF_NOWALK)
\r
396 s = strcat(s, " LF_NOWALK");
\r
397 if (self.current_navnode.lflags18 & LF_BAD)
\r
398 s = strcat(s, " LF_BAD");
\r
399 if (self.current_navnode.lflags18 & LF_BIGDROP)
\r
400 s = strcat(s, " LF_BIGDROP");
\r
401 if (self.current_navnode.lflags18 & LF_REMOTE)
\r
402 s = strcat(s, " LF_REMOTE");
\r
404 if (self.current_navnode.lflags19)
\r
406 s = strcat(s, "\nnavnode.lflags19:");
\r
407 if (self.current_navnode.lflags19 & LF_NOLINK)
\r
408 s = strcat(s, " LF_NOLINK");
\r
409 if (self.current_navnode.lflags19 & LF_NOWALK)
\r
410 s = strcat(s, " LF_NOWALK");
\r
411 if (self.current_navnode.lflags19 & LF_BAD)
\r
412 s = strcat(s, " LF_BAD");
\r
413 if (self.current_navnode.lflags19 & LF_BIGDROP)
\r
414 s = strcat(s, " LF_BIGDROP");
\r
415 if (self.current_navnode.lflags19 & LF_REMOTE)
\r
416 s = strcat(s, " LF_REMOTE");
\r
418 s = strcat(s, "\n^6NavNode^7.origin: ");
\r
419 s = strcat(s, vtos(self.current_navnode.origin));
\r
420 s = strcat(s, "\n^6NavNode^7.absmin: ");
\r
421 s = strcat(s, vtos(self.current_navnode.origin + self.current_navnode.mins));
\r
422 s = strcat(s, "\n^6NavNode^7.absmax: ");
\r
423 s = strcat(s, vtos(self.current_navnode.origin + self.current_navnode.maxs));
\r
424 s = strcat(s, "\n");
\r
425 centerprint(self, s);
\r
429 s = strcat("^5Gridsize^7: ", ftos(self.gridsize));
\r
430 s = strcat(s, "\n^2Self^7.origin: ");
\r
431 s = strcat(s, vtos(self.origin));
\r
432 s = strcat(s, "\nCURRENT AXIS: ");
\r
433 if (self.axis == 0)
\r
434 s = strcat(s, "^4X^7");
\r
435 else if (self.axis == 1)
\r
436 s = strcat(s, "^3Y^7");
\r
437 else if (self.axis == 2)
\r
438 s = strcat(s, "^1Z^7");
\r
439 s = strcat(s, "\n");
\r
440 centerprint(self, s);
\r
443 else if (self.confirm == C_DELETE_NAVNODE)
\r
444 centerprint(self, "Are you sure you wish to delete this NavNode?\n^11. Yes\n^42. No\n^7");
\r
445 else if (self.confirm == C_DELETE_PLANE)
\r
446 centerprint(self, "Are you sure you wish to delete this Plane?\n^11. Yes\n^42. No\n^7");
\r
447 else if (self.confirm == C_AUTOFLAGGER)
\r
448 centerprint(self, "Are you sure you wish to automaticly generate link flags (this will override all current link flags)?\n^11. Yes\n^42. No\n^7");
\r
449 else if (self.confirm == C_WAIT)
\r
450 centerprint(self, "^1PLEASE WAIT\n^7");
\r