diff options
Diffstat (limited to 'apps/plugins/doom/hu_stuff.c')
-rw-r--r-- | apps/plugins/doom/hu_stuff.c | 245 |
1 files changed, 46 insertions, 199 deletions
diff --git a/apps/plugins/doom/hu_stuff.c b/apps/plugins/doom/hu_stuff.c index cc240de8c1..747be18df0 100644 --- a/apps/plugins/doom/hu_stuff.c +++ b/apps/plugins/doom/hu_stuff.c | |||
@@ -56,10 +56,10 @@ int hud_graph_keys=1; //jff 3/7/98 display HUD keys as graphics | |||
56 | // | 56 | // |
57 | // Ty 03/28/98 - | 57 | // Ty 03/28/98 - |
58 | // These four shortcuts modifed to reflect char ** of mapnamesx[] | 58 | // These four shortcuts modifed to reflect char ** of mapnamesx[] |
59 | #define HU_TITLE (mapnames[(gameepisode-1)*9+gamemap-1]) | 59 | #define HU_TITLE (*mapnames[(gameepisode-1)*9+gamemap-1]) |
60 | #define HU_TITLE2 (mapnames2[gamemap-1]) | 60 | #define HU_TITLE2 (*mapnames2[gamemap-1]) |
61 | #define HU_TITLEP (mapnamesp[gamemap-1]) | 61 | #define HU_TITLEP (*mapnamesp[gamemap-1]) |
62 | #define HU_TITLET (mapnamest[gamemap-1]) | 62 | #define HU_TITLET (*mapnamest[gamemap-1]) |
63 | #define HU_TITLEHEIGHT 1 | 63 | #define HU_TITLEHEIGHT 1 |
64 | #define HU_TITLEX 0 | 64 | #define HU_TITLEX 0 |
65 | //jff 2/16/98 change 167 to ST_Y-1 | 65 | //jff 2/16/98 change 167 to ST_Y-1 |
@@ -131,16 +131,16 @@ const char* chat_macros[] = | |||
131 | // Ty 03/27/98 - *not* externalized | 131 | // Ty 03/27/98 - *not* externalized |
132 | // CPhipps - const char* | 132 | // CPhipps - const char* |
133 | { | 133 | { |
134 | HUSTR_CHATMACRO0, | ||
135 | HUSTR_CHATMACRO1, | 134 | HUSTR_CHATMACRO1, |
136 | HUSTR_CHATMACRO2, | 135 | HUSTR_CHATMACRO1, |
137 | HUSTR_CHATMACRO3, | 136 | HUSTR_CHATMACRO1, |
138 | HUSTR_CHATMACRO4, | 137 | HUSTR_CHATMACRO1, |
139 | HUSTR_CHATMACRO5, | 138 | HUSTR_CHATMACRO1, |
140 | HUSTR_CHATMACRO6, | 139 | HUSTR_CHATMACRO1, |
141 | HUSTR_CHATMACRO7, | 140 | HUSTR_CHATMACRO1, |
142 | HUSTR_CHATMACRO8, | 141 | HUSTR_CHATMACRO1, |
143 | HUSTR_CHATMACRO9 | 142 | HUSTR_CHATMACRO1, |
143 | HUSTR_CHATMACRO1 | ||
144 | }; | 144 | }; |
145 | 145 | ||
146 | const char* player_names[] = | 146 | const char* player_names[] = |
@@ -206,16 +206,16 @@ int hudcolor_list; // list of messages color | |||
206 | int hud_list_bgon; // enable for solid window background for message list | 206 | int hud_list_bgon; // enable for solid window background for message list |
207 | 207 | ||
208 | //jff 2/16/98 initialization strings for ammo, health, armor widgets | 208 | //jff 2/16/98 initialization strings for ammo, health, armor widgets |
209 | static char hud_coordstrx[32]; | 209 | static char *hud_coordstrx; |
210 | static char hud_coordstry[32]; | 210 | static char *hud_coordstry; |
211 | static char hud_coordstrz[32]; | 211 | static char *hud_coordstrz; |
212 | static char hud_ammostr[80]; | 212 | static char *hud_ammostr; |
213 | static char hud_healthstr[80]; | 213 | static char *hud_healthstr; |
214 | static char hud_armorstr[80]; | 214 | static char *hud_armorstr; |
215 | static char hud_weapstr[80]; | 215 | static char *hud_weapstr; |
216 | static char hud_keysstr[80]; | 216 | static char *hud_keysstr; |
217 | static char hud_gkeysstr[80]; //jff 3/7/98 add support for graphic key display | 217 | static char *hud_gkeysstr; //jff 3/7/98 add support for graphic key display |
218 | static char hud_monsecstr[80]; | 218 | static char *hud_monsecstr; |
219 | 219 | ||
220 | //jff 2/16/98 declaration of color switch points | 220 | //jff 2/16/98 declaration of color switch points |
221 | extern int ammo_red; | 221 | extern int ammo_red; |
@@ -234,175 +234,10 @@ extern int armor_green; | |||
234 | // Ty 03/27/98 - externalized map name arrays - now in d_deh.c | 234 | // Ty 03/27/98 - externalized map name arrays - now in d_deh.c |
235 | // and converted to arrays of pointers to char * | 235 | // and converted to arrays of pointers to char * |
236 | // See modified HUTITLEx macros | 236 | // See modified HUTITLEx macros |
237 | char* mapnames[] = // DOOM shareware/registered/retail (Ultimate) names. | 237 | extern char **mapnames[]; |
238 | { | 238 | extern char **mapnames2[]; |
239 | 239 | extern char **mapnamesp[]; | |
240 | HUSTR_E1M1, | 240 | extern char **mapnamest[]; |
241 | HUSTR_E1M2, | ||
242 | HUSTR_E1M3, | ||
243 | HUSTR_E1M4, | ||
244 | HUSTR_E1M5, | ||
245 | HUSTR_E1M6, | ||
246 | HUSTR_E1M7, | ||
247 | HUSTR_E1M8, | ||
248 | HUSTR_E1M9, | ||
249 | |||
250 | HUSTR_E2M1, | ||
251 | HUSTR_E2M2, | ||
252 | HUSTR_E2M3, | ||
253 | HUSTR_E2M4, | ||
254 | HUSTR_E2M5, | ||
255 | HUSTR_E2M6, | ||
256 | HUSTR_E2M7, | ||
257 | HUSTR_E2M8, | ||
258 | HUSTR_E2M9, | ||
259 | |||
260 | HUSTR_E3M1, | ||
261 | HUSTR_E3M2, | ||
262 | HUSTR_E3M3, | ||
263 | HUSTR_E3M4, | ||
264 | HUSTR_E3M5, | ||
265 | HUSTR_E3M6, | ||
266 | HUSTR_E3M7, | ||
267 | HUSTR_E3M8, | ||
268 | HUSTR_E3M9, | ||
269 | |||
270 | HUSTR_E4M1, | ||
271 | HUSTR_E4M2, | ||
272 | HUSTR_E4M3, | ||
273 | HUSTR_E4M4, | ||
274 | HUSTR_E4M5, | ||
275 | HUSTR_E4M6, | ||
276 | HUSTR_E4M7, | ||
277 | HUSTR_E4M8, | ||
278 | HUSTR_E4M9, | ||
279 | |||
280 | "NEWLEVEL", | ||
281 | "NEWLEVEL", | ||
282 | "NEWLEVEL", | ||
283 | "NEWLEVEL", | ||
284 | "NEWLEVEL", | ||
285 | "NEWLEVEL", | ||
286 | "NEWLEVEL", | ||
287 | "NEWLEVEL", | ||
288 | "NEWLEVEL" | ||
289 | }; | ||
290 | |||
291 | char* mapnames2[] = // DOOM 2 map names. | ||
292 | { | ||
293 | HUSTR_1, | ||
294 | HUSTR_2, | ||
295 | HUSTR_3, | ||
296 | HUSTR_4, | ||
297 | HUSTR_5, | ||
298 | HUSTR_6, | ||
299 | HUSTR_7, | ||
300 | HUSTR_8, | ||
301 | HUSTR_9, | ||
302 | HUSTR_10, | ||
303 | HUSTR_11, | ||
304 | |||
305 | HUSTR_12, | ||
306 | HUSTR_13, | ||
307 | HUSTR_14, | ||
308 | HUSTR_15, | ||
309 | HUSTR_16, | ||
310 | HUSTR_17, | ||
311 | HUSTR_18, | ||
312 | HUSTR_19, | ||
313 | HUSTR_20, | ||
314 | |||
315 | HUSTR_21, | ||
316 | HUSTR_22, | ||
317 | HUSTR_23, | ||
318 | HUSTR_24, | ||
319 | HUSTR_25, | ||
320 | HUSTR_26, | ||
321 | HUSTR_27, | ||
322 | HUSTR_28, | ||
323 | HUSTR_29, | ||
324 | HUSTR_30, | ||
325 | HUSTR_31, | ||
326 | HUSTR_32 | ||
327 | }; | ||
328 | |||
329 | |||
330 | char* mapnamesp[] = // Plutonia WAD map names. | ||
331 | { | ||
332 | PHUSTR_1, | ||
333 | PHUSTR_2, | ||
334 | PHUSTR_3, | ||
335 | PHUSTR_4, | ||
336 | PHUSTR_5, | ||
337 | PHUSTR_6, | ||
338 | PHUSTR_7, | ||
339 | PHUSTR_8, | ||
340 | PHUSTR_9, | ||
341 | PHUSTR_10, | ||
342 | PHUSTR_11, | ||
343 | |||
344 | PHUSTR_12, | ||
345 | PHUSTR_13, | ||
346 | PHUSTR_14, | ||
347 | PHUSTR_15, | ||
348 | PHUSTR_16, | ||
349 | PHUSTR_17, | ||
350 | PHUSTR_18, | ||
351 | PHUSTR_19, | ||
352 | PHUSTR_20, | ||
353 | |||
354 | PHUSTR_21, | ||
355 | PHUSTR_22, | ||
356 | PHUSTR_23, | ||
357 | PHUSTR_24, | ||
358 | PHUSTR_25, | ||
359 | PHUSTR_26, | ||
360 | PHUSTR_27, | ||
361 | PHUSTR_28, | ||
362 | PHUSTR_29, | ||
363 | PHUSTR_30, | ||
364 | PHUSTR_31, | ||
365 | PHUSTR_32 | ||
366 | }; | ||
367 | |||
368 | |||
369 | char *mapnamest[] = // TNT WAD map names. | ||
370 | { | ||
371 | THUSTR_1, | ||
372 | THUSTR_2, | ||
373 | THUSTR_3, | ||
374 | THUSTR_4, | ||
375 | THUSTR_5, | ||
376 | THUSTR_6, | ||
377 | THUSTR_7, | ||
378 | THUSTR_8, | ||
379 | THUSTR_9, | ||
380 | THUSTR_10, | ||
381 | THUSTR_11, | ||
382 | |||
383 | THUSTR_12, | ||
384 | THUSTR_13, | ||
385 | THUSTR_14, | ||
386 | THUSTR_15, | ||
387 | THUSTR_16, | ||
388 | THUSTR_17, | ||
389 | THUSTR_18, | ||
390 | THUSTR_19, | ||
391 | THUSTR_20, | ||
392 | |||
393 | THUSTR_21, | ||
394 | THUSTR_22, | ||
395 | THUSTR_23, | ||
396 | THUSTR_24, | ||
397 | THUSTR_25, | ||
398 | THUSTR_26, | ||
399 | THUSTR_27, | ||
400 | THUSTR_28, | ||
401 | THUSTR_29, | ||
402 | THUSTR_30, | ||
403 | THUSTR_31, | ||
404 | THUSTR_32 | ||
405 | }; | ||
406 | 241 | ||
407 | // key tables | 242 | // key tables |
408 | // jff 5/10/98 french support removed, | 243 | // jff 5/10/98 french support removed, |
@@ -466,6 +301,18 @@ void HU_Init(void) | |||
466 | 301 | ||
467 | shiftxform = english_shiftxform; | 302 | shiftxform = english_shiftxform; |
468 | 303 | ||
304 | // malloc all the strings, trying to get size down | ||
305 | hud_ammostr=malloc(80*sizeof(char)); | ||
306 | hud_healthstr=malloc(80*sizeof(char)); | ||
307 | hud_armorstr=malloc(80*sizeof(char)); | ||
308 | hud_weapstr=malloc(80*sizeof(char)); | ||
309 | hud_keysstr=malloc(80*sizeof(char)); | ||
310 | hud_gkeysstr=malloc(80*sizeof(char)); | ||
311 | hud_monsecstr=malloc(80*sizeof(char)); | ||
312 | hud_coordstrx=malloc(32*sizeof(char)); | ||
313 | hud_coordstry=malloc(32*sizeof(char)); | ||
314 | hud_coordstrz=malloc(32*sizeof(char)); | ||
315 | |||
469 | // load the heads-up font | 316 | // load the heads-up font |
470 | j = HU_FONTSTART; | 317 | j = HU_FONTSTART; |
471 | for (i=0;i<HU_FONTSIZE;i++,j++) | 318 | for (i=0;i<HU_FONTSIZE;i++,j++) |
@@ -768,15 +615,15 @@ void HU_Start(void) | |||
768 | 615 | ||
769 | // initialize the automaps coordinate widget | 616 | // initialize the automaps coordinate widget |
770 | //jff 3/3/98 split coordstr widget into 3 parts | 617 | //jff 3/3/98 split coordstr widget into 3 parts |
771 | snprintf(hud_coordstrx,sizeof(hud_coordstrx),"X: %d",0); //jff 2/22/98 added z | 618 | snprintf(hud_coordstrx,32*sizeof(char),"X: %d",0); //jff 2/22/98 added z |
772 | s = hud_coordstrx; | 619 | s = hud_coordstrx; |
773 | while (*s) | 620 | while (*s) |
774 | HUlib_addCharToTextLine(&w_coordx, *(s++)); | 621 | HUlib_addCharToTextLine(&w_coordx, *(s++)); |
775 | snprintf(hud_coordstry,sizeof(hud_coordstry),"Y: %d",0); //jff 3/3/98 split x,y,z | 622 | snprintf(hud_coordstry,32*sizeof(char),"Y: %d",0); //jff 3/3/98 split x,y,z |
776 | s = hud_coordstry; | 623 | s = hud_coordstry; |
777 | while (*s) | 624 | while (*s) |
778 | HUlib_addCharToTextLine(&w_coordy, *(s++)); | 625 | HUlib_addCharToTextLine(&w_coordy, *(s++)); |
779 | snprintf(hud_coordstrz,sizeof(hud_coordstrz),"Z: %d",0); //jff 3/3/98 split x,y,z | 626 | snprintf(hud_coordstrz,32*sizeof(char),"Z: %d",0); //jff 3/3/98 split x,y,z |
780 | s = hud_coordstrz; | 627 | s = hud_coordstrz; |
781 | while (*s) | 628 | while (*s) |
782 | HUlib_addCharToTextLine(&w_coordz, *(s++)); | 629 | HUlib_addCharToTextLine(&w_coordz, *(s++)); |
@@ -915,7 +762,7 @@ void HU_Drawer(void) | |||
915 | 762 | ||
916 | //jff 2/16/98 output new coord display | 763 | //jff 2/16/98 output new coord display |
917 | // x-coord | 764 | // x-coord |
918 | snprintf(hud_coordstrx,sizeof(hud_coordstrx),"X: %d", (plr->mo->x)>>FRACBITS); | 765 | snprintf(hud_coordstrx,32*sizeof(char),"X: %d", (plr->mo->x)>>FRACBITS); |
919 | HUlib_clearTextLine(&w_coordx); | 766 | HUlib_clearTextLine(&w_coordx); |
920 | s = hud_coordstrx; | 767 | s = hud_coordstrx; |
921 | while (*s) | 768 | while (*s) |
@@ -924,7 +771,7 @@ void HU_Drawer(void) | |||
924 | 771 | ||
925 | //jff 3/3/98 split coord display into x,y,z lines | 772 | //jff 3/3/98 split coord display into x,y,z lines |
926 | // y-coord | 773 | // y-coord |
927 | snprintf(hud_coordstry,sizeof(hud_coordstry),"Y: %d", (plr->mo->y)>>FRACBITS); | 774 | snprintf(hud_coordstry,32*sizeof(char),"Y: %d", (plr->mo->y)>>FRACBITS); |
928 | HUlib_clearTextLine(&w_coordy); | 775 | HUlib_clearTextLine(&w_coordy); |
929 | s = hud_coordstry; | 776 | s = hud_coordstry; |
930 | while (*s) | 777 | while (*s) |
@@ -934,7 +781,7 @@ void HU_Drawer(void) | |||
934 | //jff 3/3/98 split coord display into x,y,z lines | 781 | //jff 3/3/98 split coord display into x,y,z lines |
935 | //jff 2/22/98 added z | 782 | //jff 2/22/98 added z |
936 | // z-coord | 783 | // z-coord |
937 | snprintf(hud_coordstrz,sizeof(hud_coordstrz),"Z: %d", (plr->mo->z)>>FRACBITS); | 784 | snprintf(hud_coordstrz,32*sizeof(char),"Z: %d", (plr->mo->z)>>FRACBITS); |
938 | HUlib_clearTextLine(&w_coordz); | 785 | HUlib_clearTextLine(&w_coordz); |
939 | s = hud_coordstrz; | 786 | s = hud_coordstrz; |
940 | while (*s) | 787 | while (*s) |
@@ -1399,7 +1246,7 @@ void HU_Drawer(void) | |||
1399 | // build the init string with fixed colors | 1246 | // build the init string with fixed colors |
1400 | snprintf | 1247 | snprintf |
1401 | ( | 1248 | ( |
1402 | hud_monsecstr,sizeof(hud_monsecstr), | 1249 | hud_monsecstr,80*sizeof(char), |
1403 | "STS \x1b\x36K \x1b\x33%d \x1b\x36M \x1b\x33%d \x1b\x37I \x1b\x33%d/%d \x1b\x35S \x1b\x33%d/%d", | 1250 | "STS \x1b\x36K \x1b\x33%d \x1b\x36M \x1b\x33%d \x1b\x37I \x1b\x33%d/%d \x1b\x35S \x1b\x33%d/%d", |
1404 | plr->killcount,totallive, | 1251 | plr->killcount,totallive, |
1405 | plr->itemcount,totalitems, | 1252 | plr->itemcount,totalitems, |