summaryrefslogtreecommitdiff
path: root/apps/plugins/doom/f_finale.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/plugins/doom/f_finale.c')
-rw-r--r--apps/plugins/doom/f_finale.c103
1 files changed, 51 insertions, 52 deletions
diff --git a/apps/plugins/doom/f_finale.c b/apps/plugins/doom/f_finale.c
index 3af27d2785..0b912c8239 100644
--- a/apps/plugins/doom/f_finale.c
+++ b/apps/plugins/doom/f_finale.c
@@ -32,13 +32,12 @@
32 32
33#include "doomstat.h" 33#include "doomstat.h"
34#include "d_event.h" 34#include "d_event.h"
35#include "d_englsh.h"
36#include "m_swap.h" 35#include "m_swap.h"
37#include "v_video.h" 36#include "v_video.h"
38#include "w_wad.h" 37#include "w_wad.h"
39#include "s_sound.h" 38#include "s_sound.h"
40#include "sounds.h" 39#include "sounds.h"
41//#include "d_deh.h" // Ty 03/22/98 - externalizations 40#include "d_deh.h" // Ty 03/22/98 - externalizations
42#include "f_finale.h" // CPhipps - hmm... 41#include "f_finale.h" // CPhipps - hmm...
43#include "rockmacros.h" 42#include "rockmacros.h"
44 43
@@ -98,20 +97,20 @@ void F_StartFinale (void)
98 switch (gameepisode) 97 switch (gameepisode)
99 { 98 {
100 case 1: 99 case 1:
101 finaleflat = "FLOOR4_8"; 100 finaleflat = bgflatE1; // Ty 03/30/98 - new externalized bg flats
102 finaletext = E1TEXT; 101 finaletext = s_E1TEXT; // Ty 03/23/98 - Was e1text variable.
103 break; 102 break;
104 case 2: 103 case 2:
105 finaleflat = "SFLR6_1"; 104 finaleflat = bgflatE2;
106 finaletext = E2TEXT; 105 finaletext = s_E2TEXT; // Ty 03/23/98 - Same stuff for each
107 break; 106 break;
108 case 3: 107 case 3:
109 finaleflat = "MFLR8_4"; 108 finaleflat = bgflatE3;
110 finaletext = E3TEXT; 109 finaletext = s_E3TEXT;
111 break; 110 break;
112 case 4: 111 case 4:
113 finaleflat = "MFLR8_3"; 112 finaleflat = bgflatE4;
114 finaletext = E4TEXT; 113 finaletext = s_E4TEXT;
115 break; 114 break;
116 default: 115 default:
117 // Ouch. 116 // Ouch.
@@ -129,48 +128,48 @@ void F_StartFinale (void)
129 switch (gamemap) 128 switch (gamemap)
130 { 129 {
131 case 6: 130 case 6:
132 finaleflat = "SLIME16"; 131 finaleflat = bgflat06;
133 finaletext = (gamemission==pack_tnt) ? T1TEXT : 132 finaletext = (gamemission==pack_tnt) ? s_T1TEXT :
134 (gamemission==pack_plut) ? P1TEXT : C1TEXT; 133 (gamemission==pack_plut) ? s_P1TEXT : s_C1TEXT;
135 break; 134 break;
136 case 11: 135 case 11:
137 finaleflat = "RROCK14"; 136 finaleflat = bgflat11;
138 finaletext = (gamemission==pack_tnt) ? T2TEXT : 137 finaletext = (gamemission==pack_tnt) ? s_T2TEXT :
139 (gamemission==pack_plut) ? P2TEXT : C2TEXT; 138 (gamemission==pack_plut) ? s_P2TEXT : s_C2TEXT;
140 break; 139 break;
141 case 20: 140 case 20:
142 finaleflat = "RROCK07"; 141 finaleflat = bgflat20;
143 finaletext = (gamemission==pack_tnt) ? T3TEXT : 142 finaletext = (gamemission==pack_tnt) ? s_T3TEXT :
144 (gamemission==pack_plut) ? P3TEXT : C3TEXT; 143 (gamemission==pack_plut) ? s_P3TEXT : s_C3TEXT;
145 break; 144 break;
146 case 30: 145 case 30:
147 finaleflat = "RROCK17"; 146 finaleflat = bgflat30;
148 finaletext = (gamemission==pack_tnt) ? T4TEXT : 147 finaletext = (gamemission==pack_tnt) ? s_T4TEXT :
149 (gamemission==pack_plut) ? P4TEXT : C4TEXT; 148 (gamemission==pack_plut) ? s_P4TEXT : s_C4TEXT;
150 break; 149 break;
151 case 15: 150 case 15:
152 finaleflat = "RROCK13"; 151 finaleflat = bgflat15;
153 finaletext = (gamemission==pack_tnt) ? T5TEXT : 152 finaletext = (gamemission==pack_tnt) ? s_T5TEXT :
154 (gamemission==pack_plut) ? P5TEXT : C5TEXT; 153 (gamemission==pack_plut) ? s_P5TEXT : s_C5TEXT;
155 break; 154 break;
156 case 31: 155 case 31:
157 finaleflat = "RROCK19"; 156 finaleflat = bgflat31;
158 finaletext = (gamemission==pack_tnt) ? T6TEXT : 157 finaletext = (gamemission==pack_tnt) ? s_T6TEXT :
159 (gamemission==pack_plut) ? P6TEXT : C6TEXT; 158 (gamemission==pack_plut) ? s_P6TEXT : s_C6TEXT;
160 break; 159 break;
161 default: 160 default:
162 // Ouch. 161 // Ouch.
163 break; 162 break;
164 } 163 }
165 break; 164 break;
165 // Ty 08/27/98 - end gamemission logic
166 } 166 }
167 167
168
169 // Indeterminate. 168 // Indeterminate.
170 default: 169 default: // Ty 03/30/98 - not externalized
171 S_ChangeMusic(mus_read_m, true); 170 S_ChangeMusic(mus_read_m, true);
172 finaleflat = "F_SKY1"; // Not used anywhere else. 171 finaleflat = "F_SKY1"; // Not used anywhere else.
173 finaletext = C1TEXT; // FIXME - other text, music? 172 finaletext = s_C1TEXT; // FIXME - other text, music?
174 break; 173 break;
175 } 174 }
176 175
@@ -320,29 +319,29 @@ void F_TextWrite (void)
320// 319//
321typedef struct 320typedef struct
322{ 321{
323 const char *name; // CPhipps - const** 322 const char **name; // CPhipps - const**
324 mobjtype_t type; 323 mobjtype_t type;
325} castinfo_t; 324} castinfo_t;
326 325
327#define MAX_CASTORDER 18 /* Ty - hard coded for now */ 326#define MAX_CASTORDER 18 /* Ty - hard coded for now */
328static const castinfo_t castorder[] = { // CPhipps - static const, initialised here 327static const castinfo_t castorder[] = { // CPhipps - static const, initialised here
329 { CC_ZOMBIE, MT_POSSESSED }, 328 { &s_CC_ZOMBIE, MT_POSSESSED },
330 { CC_SHOTGUN, MT_SHOTGUY }, 329 { &s_CC_SHOTGUN, MT_SHOTGUY },
331 { CC_HEAVY, MT_CHAINGUY }, 330 { &s_CC_HEAVY, MT_CHAINGUY },
332 { CC_IMP, MT_TROOP }, 331 { &s_CC_IMP, MT_TROOP },
333 { CC_DEMON, MT_SERGEANT }, 332 { &s_CC_DEMON, MT_SERGEANT },
334 { CC_LOST, MT_SKULL }, 333 { &s_CC_LOST, MT_SKULL },
335 { CC_CACO, MT_HEAD }, 334 { &s_CC_CACO, MT_HEAD },
336 { CC_HELL, MT_KNIGHT }, 335 { &s_CC_HELL, MT_KNIGHT },
337 { CC_BARON, MT_BRUISER }, 336 { &s_CC_BARON, MT_BRUISER },
338 { CC_ARACH, MT_BABY }, 337 { &s_CC_ARACH, MT_BABY },
339 { CC_PAIN, MT_PAIN }, 338 { &s_CC_PAIN, MT_PAIN },
340 { CC_REVEN, MT_UNDEAD }, 339 { &s_CC_REVEN, MT_UNDEAD },
341 { CC_MANCU, MT_FATSO }, 340 { &s_CC_MANCU, MT_FATSO },
342 { CC_ARCH, MT_VILE }, 341 { &s_CC_ARCH, MT_VILE },
343 { CC_SPIDER, MT_SPIDER }, 342 { &s_CC_SPIDER, MT_SPIDER },
344 { CC_CYBER, MT_CYBORG }, 343 { &s_CC_CYBER, MT_CYBORG },
345 { CC_HERO, MT_PLAYER }, 344 { &s_CC_HERO, MT_PLAYER },
346 { NULL, 0} 345 { NULL, 0}
347 }; 346 };
348 347
@@ -560,7 +559,6 @@ static void F_CastPrint (const char* text) // CPhipps - static, const char*
560// 559//
561// F_CastDrawer 560// F_CastDrawer
562// 561//
563void V_DrawPatchFlipped (int x, int y, int scrn, patch_t *patch);
564 562
565void F_CastDrawer (void) 563void F_CastDrawer (void)
566{ 564{
@@ -570,9 +568,10 @@ void F_CastDrawer (void)
570 boolean flip; 568 boolean flip;
571 569
572 // erase the entire screen to a background 570 // erase the entire screen to a background
573 V_DrawNamePatch(0,0,0, "BOSSBACK", CR_DEFAULT, VPT_STRETCH); // Ty 03/30/98 bg texture extern 571 // CPhipps - patch drawing updated
572 V_DrawNamePatch(0,0,0, bgcastcall, CR_DEFAULT, VPT_STRETCH); // Ty 03/30/98 bg texture extern
574 573
575 F_CastPrint (castorder[castnum].name); 574 F_CastPrint (*(castorder[castnum].name));
576 575
577 // draw the current frame in the middle of the screen 576 // draw the current frame in the middle of the screen
578 sprdef = &sprites[caststate->sprite]; 577 sprdef = &sprites[caststate->sprite];