summaryrefslogtreecommitdiff
path: root/src/heretic
diff options
context:
space:
mode:
authorSimon Howard2008-09-25 20:00:31 +0000
committerSimon Howard2008-09-25 20:00:31 +0000
commitb05a3f9448a690bf1d6805ed20081227921f64d9 (patch)
tree962ed1be7fd32614e8d765aa3396cf2dea93c3a8 /src/heretic
parent9ba60f243d1ae1ab14ba28eac92fca7b5891801a (diff)
downloadchocolate-doom-b05a3f9448a690bf1d6805ed20081227921f64d9.tar.gz
chocolate-doom-b05a3f9448a690bf1d6805ed20081227921f64d9.tar.bz2
chocolate-doom-b05a3f9448a690bf1d6805ed20081227921f64d9.zip
Remove ExtendedWAD variable; use gamemode == retail.
Subversion-branch: /branches/raven-branch Subversion-revision: 1286
Diffstat (limited to 'src/heretic')
-rw-r--r--src/heretic/am_map.c14
-rw-r--r--src/heretic/d_main.c15
-rw-r--r--src/heretic/in_lude.c2
-rw-r--r--src/heretic/m_misc.c47
-rw-r--r--src/heretic/mn_menu.c3
5 files changed, 36 insertions, 45 deletions
diff --git a/src/heretic/am_map.c b/src/heretic/am_map.c
index 923c4fbd..ec003c0f 100644
--- a/src/heretic/am_map.c
+++ b/src/heretic/am_map.c
@@ -1453,6 +1453,8 @@ void AM_drawCrosshair(int color)
void AM_Drawer(void)
{
+ int numepisodes;
+
if (!automapactive)
return;
@@ -1471,7 +1473,17 @@ void AM_Drawer(void)
{
AM_drawkeys();
}
- if ((gameepisode < (ExtendedWAD ? 6 : 4)) && gamemap < 10)
+
+ if (gamemode == retail)
+ {
+ numepisodes = 5;
+ }
+ else
+ {
+ numepisodes = 3;
+ }
+
+ if (gameepisode <= numepisodes && gamemap < 10)
{
MN_DrTextA(LevelNames[(gameepisode - 1) * 9 + gamemap - 1], 20, 145);
}
diff --git a/src/heretic/d_main.c b/src/heretic/d_main.c
index 54d51238..309079b6 100644
--- a/src/heretic/d_main.c
+++ b/src/heretic/d_main.c
@@ -39,7 +39,6 @@
GameMission_t gamemission = heretic;
GameMode_t gamemode = indetermined;
-boolean ExtendedWAD = false; // true if episodes 4 and 5 present
boolean nomonsters; // checkparm of -nomonsters
boolean respawnparm; // checkparm of -respawn
@@ -926,18 +925,18 @@ void D_DoomMain(void)
}
if (W_CheckNumForName("E2M1") == -1)
- { // Can't find episode 2 maps, must be the shareware WAD
+ {
gamemode = shareware;
}
+ else if (W_CheckNumForName("EXTENDED") != -1)
+ {
+ // Presence of the EXTENDED lump indicates the retail version
+
+ gamemode = retail;
+ }
else
{
gamemode = registered;
-
- // Is this the extended WAD?
- if (W_CheckNumForName("EXTENDED") != -1)
- {
- ExtendedWAD = true;
- }
}
#ifdef __WATCOMC__
diff --git a/src/heretic/in_lude.c b/src/heretic/in_lude.c
index c64bd55b..38c84631 100644
--- a/src/heretic/in_lude.c
+++ b/src/heretic/in_lude.c
@@ -734,7 +734,7 @@ void IN_DrawSingleStats(void)
sounds++;
}
- if (!ExtendedWAD || gameepisode < 4)
+ if (gamemode != retail || gameepisode <= 3)
{
IN_DrTextB("TIME", 85, 160);
IN_DrawTime(155, 160, hours, minutes, seconds);
diff --git a/src/heretic/m_misc.c b/src/heretic/m_misc.c
index ceb56cfb..39674e4b 100644
--- a/src/heretic/m_misc.c
+++ b/src/heretic/m_misc.c
@@ -48,42 +48,21 @@ boolean M_ValidEpisodeMap(int episode, int map)
{
return false;
}
- if (gamemode == shareware)
- { // Shareware version checks
- if (episode != 1)
- {
- return false;
- }
- }
- else if (ExtendedWAD)
- { // Extended version checks
- if (episode == 6)
- {
- if (map > 3)
- {
- return false;
- }
- }
- else if (episode > 5)
- {
- return false;
- }
- }
- else
- { // Registered version checks
- if (episode == 4)
- {
- if (map != 1)
- {
- return false;
- }
- }
- else if (episode > 3)
- {
+
+ switch (gamemode)
+ {
+ case shareware:
+ return episode == 1;
+
+ case retail:
+ return episode <= 5 || (episode == 6 && map <= 3);
+
+ case registered:
+ return episode <= 3 || (episode == 4 && map == 1);
+
+ default:
return false;
- }
}
- return true;
}
//---------------------------------------------------------------------------
diff --git a/src/heretic/mn_menu.c b/src/heretic/mn_menu.c
index 716282d6..f295c076 100644
--- a/src/heretic/mn_menu.c
+++ b/src/heretic/mn_menu.c
@@ -303,7 +303,8 @@ void MN_Init(void)
MenuActive = false;
messageson = true;
SkullBaseLump = W_GetNumForName("M_SKL00");
- if (ExtendedWAD)
+
+ if (gamemode == retail)
{ // Add episodes 4 and 5 to the menu
EpisodeMenu.itemCount = 5;
EpisodeMenu.y -= ITEM_HEIGHT;