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);
}
}