shithub: choc

Download patch

ref: b10d4acc24278460fc357aa974d7e3e56f0d5953
parent: 71e330f910d9e803c08fe38c02c6828e71dda38f
author: James Haley <haleyjd@hotmail.com>
date: Tue Aug 31 22:25:31 EDT 2010

Handle green palette flash powered by player->nukagecount, and added
Strife mapnames.

Subversion-branch: /branches/strife-branch
Subversion-revision: 1991

--- a/src/strife/d_englsh.h
+++ b/src/strife/d_englsh.h
@@ -144,153 +144,46 @@
 //
 #define HUSTR_MSGU	"[Message unsent]"
 
-#define HUSTR_E1M1	"E1M1: Hangar"
-#define HUSTR_E1M2	"E1M2: Nuclear Plant"
-#define HUSTR_E1M3	"E1M3: Toxin Refinery"
-#define HUSTR_E1M4	"E1M4: Command Control"
-#define HUSTR_E1M5	"E1M5: Phobos Lab"
-#define HUSTR_E1M6	"E1M6: Central Processing"
-#define HUSTR_E1M7	"E1M7: Computer Station"
-#define HUSTR_E1M8	"E1M8: Phobos Anomaly"
-#define HUSTR_E1M9	"E1M9: Military Base"
+// haleyjd 08/31/10: [STRIFE] Strife map names
 
-#define HUSTR_E2M1	"E2M1: Deimos Anomaly"
-#define HUSTR_E2M2	"E2M2: Containment Area"
-#define HUSTR_E2M3	"E2M3: Refinery"
-#define HUSTR_E2M4	"E2M4: Deimos Lab"
-#define HUSTR_E2M5	"E2M5: Command Center"
-#define HUSTR_E2M6	"E2M6: Halls of the Damned"
-#define HUSTR_E2M7	"E2M7: Spawning Vats"
-#define HUSTR_E2M8	"E2M8: Tower of Babel"
-#define HUSTR_E2M9	"E2M9: Fortress of Mystery"
+#define HUSTR_1         "AREA  1: sanctuary"
+#define HUSTR_2         "AREA  2: town"
+#define HUSTR_3         "AREA  3: front base"
+#define HUSTR_4         "AREA  4: power station"
+#define HUSTR_5         "AREA  5: prison"
+#define HUSTR_6         "AREA  6: sewers"
+#define HUSTR_7         "AREA  7: castle"
+#define HUSTR_8         "AREA  8: Audience Chamber"
+#define HUSTR_9         "AREA  9: Castle: Programmer's Keep"
 
-#define HUSTR_E3M1	"E3M1: Hell Keep"
-#define HUSTR_E3M2	"E3M2: Slough of Despair"
-#define HUSTR_E3M3	"E3M3: Pandemonium"
-#define HUSTR_E3M4	"E3M4: House of Pain"
-#define HUSTR_E3M5	"E3M5: Unholy Cathedral"
-#define HUSTR_E3M6	"E3M6: Mt. Erebus"
-#define HUSTR_E3M7	"E3M7: Limbo"
-#define HUSTR_E3M8	"E3M8: Dis"
-#define HUSTR_E3M9	"E3M9: Warrens"
+#define HUSTR_10        "AREA 10: New Front Base"
+#define HUSTR_11        "AREA 11: Borderlands"
+#define HUSTR_12        "AREA 12: the temple of the oracle"
+#define HUSTR_13        "AREA 13: Catacombs"
+#define HUSTR_14        "AREA 14: mines"
+#define HUSTR_15        "AREA 15: Fortress: Administration"
+#define HUSTR_16        "AREA 16: Fortress: Bishop's Tower"
+#define HUSTR_17        "AREA 17: Fortress: The Bailey"
+#define HUSTR_18        "AREA 18: Fortress: Stores"
+#define HUSTR_19        "AREA 19: Fortress: Security Complex"
 
-#define HUSTR_E4M1	"E4M1: Hell Beneath"
-#define HUSTR_E4M2	"E4M2: Perfect Hatred"
-#define HUSTR_E4M3	"E4M3: Sever The Wicked"
-#define HUSTR_E4M4	"E4M4: Unruly Evil"
-#define HUSTR_E4M5	"E4M5: They Will Repent"
-#define HUSTR_E4M6	"E4M6: Against Thee Wickedly"
-#define HUSTR_E4M7	"E4M7: And Hell Followed"
-#define HUSTR_E4M8	"E4M8: Unto The Cruel"
-#define HUSTR_E4M9	"E4M9: Fear"
+#define HUSTR_20        "AREA 20: Factory: Receiving"
+#define HUSTR_21        "AREA 21: Factory: Manufacturing"
+#define HUSTR_22        "AREA 22: Factory: Forge"
+#define HUSTR_23        "AREA 23: Order Commons"
+#define HUSTR_24        "AREA 24: Factory: Conversion Chapel"
+#define HUSTR_25        "AREA 25: Catacombs: Ruined Temple"
+#define HUSTR_26        "AREA 26: proving grounds"
+#define HUSTR_27        "AREA 27: The Lab"
+#define HUSTR_28        "AREA 28: Alien Ship"
+#define HUSTR_29        "AREA 29: Entity"
 
-#define HUSTR_1	"level 1: entryway"
-#define HUSTR_2	"level 2: underhalls"
-#define HUSTR_3	"level 3: the gantlet"
-#define HUSTR_4	"level 4: the focus"
-#define HUSTR_5	"level 5: the waste tunnels"
-#define HUSTR_6	"level 6: the crusher"
-#define HUSTR_7	"level 7: dead simple"
-#define HUSTR_8	"level 8: tricks and traps"
-#define HUSTR_9	"level 9: the pit"
-#define HUSTR_10	"level 10: refueling base"
-#define HUSTR_11	"level 11: 'o' of destruction!"
+#define HUSTR_30        "AREA 30: Abandoned Front Base"
+#define HUSTR_31        "AREA 31: Training Facility"
 
-#define HUSTR_12	"level 12: the factory"
-#define HUSTR_13	"level 13: downtown"
-#define HUSTR_14	"level 14: the inmost dens"
-#define HUSTR_15	"level 15: industrial zone"
-#define HUSTR_16	"level 16: suburbs"
-#define HUSTR_17	"level 17: tenements"
-#define HUSTR_18	"level 18: the courtyard"
-#define HUSTR_19	"level 19: the citadel"
-#define HUSTR_20	"level 20: gotcha!"
-
-#define HUSTR_21	"level 21: nirvana"
-#define HUSTR_22	"level 22: the catacombs"
-#define HUSTR_23	"level 23: barrels o' fun"
-#define HUSTR_24	"level 24: the chasm"
-#define HUSTR_25	"level 25: bloodfalls"
-#define HUSTR_26	"level 26: the abandoned mines"
-#define HUSTR_27	"level 27: monster condo"
-#define HUSTR_28	"level 28: the spirit world"
-#define HUSTR_29	"level 29: the living end"
-#define HUSTR_30	"level 30: icon of sin"
-
-#define HUSTR_31	"level 31: wolfenstein"
-#define HUSTR_32	"level 32: grosse"
-
-#define PHUSTR_1	"level 1: congo"
-#define PHUSTR_2	"level 2: well of souls"
-#define PHUSTR_3	"level 3: aztec"
-#define PHUSTR_4	"level 4: caged"
-#define PHUSTR_5	"level 5: ghost town"
-#define PHUSTR_6	"level 6: baron's lair"
-#define PHUSTR_7	"level 7: caughtyard"
-#define PHUSTR_8	"level 8: realm"
-#define PHUSTR_9	"level 9: abattoire"
-#define PHUSTR_10	"level 10: onslaught"
-#define PHUSTR_11	"level 11: hunted"
-
-#define PHUSTR_12	"level 12: speed"
-#define PHUSTR_13	"level 13: the crypt"
-#define PHUSTR_14	"level 14: genesis"
-#define PHUSTR_15	"level 15: the twilight"
-#define PHUSTR_16	"level 16: the omen"
-#define PHUSTR_17	"level 17: compound"
-#define PHUSTR_18	"level 18: neurosphere"
-#define PHUSTR_19	"level 19: nme"
-#define PHUSTR_20	"level 20: the death domain"
-
-#define PHUSTR_21	"level 21: slayer"
-#define PHUSTR_22	"level 22: impossible mission"
-#define PHUSTR_23	"level 23: tombstone"
-#define PHUSTR_24	"level 24: the final frontier"
-#define PHUSTR_25	"level 25: the temple of darkness"
-#define PHUSTR_26	"level 26: bunker"
-#define PHUSTR_27	"level 27: anti-christ"
-#define PHUSTR_28	"level 28: the sewers"
-#define PHUSTR_29	"level 29: odyssey of noises"
-#define PHUSTR_30	"level 30: the gateway of hell"
-
-#define PHUSTR_31	"level 31: cyberden"
-#define PHUSTR_32	"level 32: go 2 it"
-
-#define THUSTR_1	"level 1: system control"
-#define THUSTR_2	"level 2: human bbq"
-#define THUSTR_3	"level 3: power control"
-#define THUSTR_4	"level 4: wormhole"
-#define THUSTR_5	"level 5: hanger"
-#define THUSTR_6	"level 6: open season"
-#define THUSTR_7	"level 7: prison"
-#define THUSTR_8	"level 8: metal"
-#define THUSTR_9	"level 9: stronghold"
-#define THUSTR_10	"level 10: redemption"
-#define THUSTR_11	"level 11: storage facility"
-
-#define THUSTR_12	"level 12: crater"
-#define THUSTR_13	"level 13: nukage processing"
-#define THUSTR_14	"level 14: steel works"
-#define THUSTR_15	"level 15: dead zone"
-#define THUSTR_16	"level 16: deepest reaches"
-#define THUSTR_17	"level 17: processing area"
-#define THUSTR_18	"level 18: mill"
-#define THUSTR_19	"level 19: shipping/respawning"
-#define THUSTR_20	"level 20: central processing"
-
-#define THUSTR_21	"level 21: administration center"
-#define THUSTR_22	"level 22: habitat"
-#define THUSTR_23	"level 23: lunar mining project"
-#define THUSTR_24	"level 24: quarry"
-#define THUSTR_25	"level 25: baron's den"
-#define THUSTR_26	"level 26: ballistyx"
-#define THUSTR_27	"level 27: mount pain"
-#define THUSTR_28	"level 28: heck"
-#define THUSTR_29	"level 29: river styx"
-#define THUSTR_30	"level 30: last call"
-
-#define THUSTR_31	"level 31: pharaoh"
-#define THUSTR_32	"level 32: caribbean"
+#define HUSTR_32        "AREA  1: Sanctuary"
+#define HUSTR_33        "AREA  2: Town"
+#define HUSTR_34        "AREA  3: Movement Base"
 
 #define HUSTR_CHATMACRO1	"I'm ready to kick butt!"
 #define HUSTR_CHATMACRO2	"I'm OK."
--- a/src/strife/hu_stuff.c
+++ b/src/strife/hu_stuff.c
@@ -51,11 +51,7 @@
 //
 // Locally used constants, shortcuts.
 //
-#define HU_TITLE	(mapnames[(gameepisode-1)*9+gamemap-1])
-#define HU_TITLE2	(mapnames_commercial[gamemap-1])
-#define HU_TITLEP	(mapnames_commercial[gamemap-1 + 32])
-#define HU_TITLET	(mapnames_commercial[gamemap-1 + 64])
-#define HU_TITLE_CHEX   (mapnames[gamemap - 1])
+#define HU_TITLE	(mapnames[gamemap-1])
 #define HU_TITLEHEIGHT	1
 #define HU_TITLEX	0
 #define HU_TITLEY	(167 - SHORT(hu_font[0]->height))
@@ -117,70 +113,14 @@
 // The actual names can be found in DStrings.h.
 //
 
-char*	mapnames[] =	// DOOM shareware/registered/retail (Ultimate) names.
-{
+// haleyjd 08/31/10: [STRIFE] Changed for Strife level names.
+// List of names for levels.
 
-    HUSTR_E1M1,
-    HUSTR_E1M2,
-    HUSTR_E1M3,
-    HUSTR_E1M4,
-    HUSTR_E1M5,
-    HUSTR_E1M6,
-    HUSTR_E1M7,
-    HUSTR_E1M8,
-    HUSTR_E1M9,
-
-    HUSTR_E2M1,
-    HUSTR_E2M2,
-    HUSTR_E2M3,
-    HUSTR_E2M4,
-    HUSTR_E2M5,
-    HUSTR_E2M6,
-    HUSTR_E2M7,
-    HUSTR_E2M8,
-    HUSTR_E2M9,
-
-    HUSTR_E3M1,
-    HUSTR_E3M2,
-    HUSTR_E3M3,
-    HUSTR_E3M4,
-    HUSTR_E3M5,
-    HUSTR_E3M6,
-    HUSTR_E3M7,
-    HUSTR_E3M8,
-    HUSTR_E3M9,
-
-    HUSTR_E4M1,
-    HUSTR_E4M2,
-    HUSTR_E4M3,
-    HUSTR_E4M4,
-    HUSTR_E4M5,
-    HUSTR_E4M6,
-    HUSTR_E4M7,
-    HUSTR_E4M8,
-    HUSTR_E4M9,
-
-    "NEWLEVEL",
-    "NEWLEVEL",
-    "NEWLEVEL",
-    "NEWLEVEL",
-    "NEWLEVEL",
-    "NEWLEVEL",
-    "NEWLEVEL",
-    "NEWLEVEL",
-    "NEWLEVEL"
-};
-
-// List of names for levels in commercial IWADs
-// (doom2.wad, plutonia.wad, tnt.wad).  These are stored in a
-// single large array; WADs like pl2.wad have a MAP33, and rely on
-// the layout in the Vanilla executable, where it is possible to
-// overflow the end of one array into the next.
-
-char *mapnames_commercial[] =
+char *mapnames[] =
 {
-    // DOOM 2 map names.
+    // Strife map names
 
+    // First "episode" - Quest to destroy the Order's Castle
     HUSTR_1,
     HUSTR_2,
     HUSTR_3,
@@ -190,9 +130,10 @@
     HUSTR_7,
     HUSTR_8,
     HUSTR_9,
+
+    // Second "episode" - Kill the Bishop and Make a Choice
     HUSTR_10,
     HUSTR_11,
-	
     HUSTR_12,
     HUSTR_13,
     HUSTR_14,
@@ -201,8 +142,9 @@
     HUSTR_17,
     HUSTR_18,
     HUSTR_19,
+
+    // Third "episode" - Shut down Factory, kill Loremaster and Entity
     HUSTR_20,
-	
     HUSTR_21,
     HUSTR_22,
     HUSTR_23,
@@ -212,83 +154,15 @@
     HUSTR_27,
     HUSTR_28,
     HUSTR_29,
+
+    // "Secret" levels - Abandoned Base and Training Facility
     HUSTR_30,
     HUSTR_31,
-    HUSTR_32,
 
-    // Plutonia WAD map names.
-
-    PHUSTR_1,
-    PHUSTR_2,
-    PHUSTR_3,
-    PHUSTR_4,
-    PHUSTR_5,
-    PHUSTR_6,
-    PHUSTR_7,
-    PHUSTR_8,
-    PHUSTR_9,
-    PHUSTR_10,
-    PHUSTR_11,
-	
-    PHUSTR_12,
-    PHUSTR_13,
-    PHUSTR_14,
-    PHUSTR_15,
-    PHUSTR_16,
-    PHUSTR_17,
-    PHUSTR_18,
-    PHUSTR_19,
-    PHUSTR_20,
-	
-    PHUSTR_21,
-    PHUSTR_22,
-    PHUSTR_23,
-    PHUSTR_24,
-    PHUSTR_25,
-    PHUSTR_26,
-    PHUSTR_27,
-    PHUSTR_28,
-    PHUSTR_29,
-    PHUSTR_30,
-    PHUSTR_31,
-    PHUSTR_32,
-    
-    // TNT WAD map names.
-
-    THUSTR_1,
-    THUSTR_2,
-    THUSTR_3,
-    THUSTR_4,
-    THUSTR_5,
-    THUSTR_6,
-    THUSTR_7,
-    THUSTR_8,
-    THUSTR_9,
-    THUSTR_10,
-    THUSTR_11,
-	
-    THUSTR_12,
-    THUSTR_13,
-    THUSTR_14,
-    THUSTR_15,
-    THUSTR_16,
-    THUSTR_17,
-    THUSTR_18,
-    THUSTR_19,
-    THUSTR_20,
-	
-    THUSTR_21,
-    THUSTR_22,
-    THUSTR_23,
-    THUSTR_24,
-    THUSTR_25,
-    THUSTR_26,
-    THUSTR_27,
-    THUSTR_28,
-    THUSTR_29,
-    THUSTR_30,
-    THUSTR_31,
-    THUSTR_32
+    // Demo version maps
+    HUSTR_32,
+    HUSTR_33,
+    HUSTR_34
 };
 
 void HU_Init(void)
@@ -340,35 +214,13 @@
 		       hu_font,
 		       HU_FONTSTART);
     
-    switch ( gamemission )
-    {
-      case doom:
-	s = HU_TITLE;
-	break;
-      case doom2:
-	 s = HU_TITLE2;
-	 break;
-      case pack_plut:
-	s = HU_TITLEP;
-	break;
-      case pack_tnt:
-	s = HU_TITLET;
-	break;
-      default:
-         s = "Unknown level";
-         break;
-    }
 
-    // Chex.exe always uses the episode 1 level title
-    // eg. E2M1 gives the title for E1M1
+    // haleyjd 08/31/10: [STRIFE] Get proper map name.
+    s = HU_TITLE;
 
-    if (gameversion == exe_chex)
-    {
-        s = HU_TITLE_CHEX;
-    }
+    // [STRIFE] Removed Chex Quest stuff.
 
     // dehacked substitution to get modified level name
-
     s = DEH_String(s);
     
     while (*s)
--- a/src/strife/st_stuff.c
+++ b/src/strife/st_stuff.c
@@ -934,6 +934,13 @@
 
 static int st_palette = 0;
 
+//
+// ST_doPaletteStuff
+//
+// haleyjd 08/31/10: [STRIFE]
+// * Changed radsuit palette handling for Strife nukagecount.
+// * All other logic verified to be unmodified.
+//
 void ST_doPaletteStuff(void)
 {
 
@@ -946,55 +953,48 @@
 
     if (plyr->powers[pw_strength])
     {
-	// slowly fade the berzerk out
-  	bzc = 12 - (plyr->powers[pw_strength]>>6);
+        // slowly fade the berzerk out
+        bzc = 12 - (plyr->powers[pw_strength]>>6);
 
-	if (bzc > cnt)
-	    cnt = bzc;
+        if (bzc > cnt)
+            cnt = bzc;
     }
-	
+
     if (cnt)
     {
-	palette = (cnt+7)>>3;
-	
-	if (palette >= NUMREDPALS)
-	    palette = NUMREDPALS-1;
+        palette = (cnt+7)>>3;
 
-	palette += STARTREDPALS;
+        if (palette >= NUMREDPALS)
+            palette = NUMREDPALS-1;
+
+        palette += STARTREDPALS;
     }
 
     else if (plyr->bonuscount)
     {
-	palette = (plyr->bonuscount+7)>>3;
+        palette = (plyr->bonuscount+7)>>3;
 
-	if (palette >= NUMBONUSPALS)
-	    palette = NUMBONUSPALS-1;
+        if (palette >= NUMBONUSPALS)
+            palette = NUMBONUSPALS-1;
 
-	palette += STARTBONUSPALS;
+        palette += STARTBONUSPALS;
     }
-
-    else if ( plyr->powers[pw_ironfeet] > 4*32
-	      || plyr->powers[pw_ironfeet]&8)
-	palette = RADIATIONPAL;
+    // haleyjd 08/31/10: [STRIFE] Flash green when in nukage, not when has
+    // an environment suit (a breathing sound is played to indicate that
+    // instead).
+    else if ( plyr->nukagecount > 16*TICRATE || 
+              (plyr->nukagecount & 8))
+        palette = RADIATIONPAL;
     else
-	palette = 0;
+        palette = 0;
 
-    // In Chex Quest, the player never sees red.  Instead, the
-    // radiation suit palette is used to tint the screen green,
-    // as though the player is being covered in goo by an
-    // attacking flemoid.
+    // haleyjd 08/31/10: Removed Chex Quest
 
-    if (gameversion == exe_chex
-     && palette >= STARTREDPALS && palette < STARTREDPALS + NUMREDPALS)
-    {
-        palette = RADIATIONPAL;
-    }
-
     if (palette != st_palette)
     {
-	st_palette = palette;
-	pal = (byte *) W_CacheLumpNum (lu_palette, PU_CACHE)+palette*768;
-	I_SetPalette (pal);
+        st_palette = palette;
+        pal = (byte *) W_CacheLumpNum (lu_palette, PU_CACHE)+palette*768;
+        I_SetPalette (pal);
     }
 
 }