foxygit / doom Log in
commit 530888d2e243f27bd36aa71a68570195276c4173
Author:     Simon Howard <fraggle@gmail.com>
AuthorDate: Sat Jul 26 23:51:25 2008 +0000
Commit:     Simon Howard <fraggle@gmail.com>
CommitDate: Sat Jul 26 23:51:25 2008 +0000

    In chex mode, always warp to an episode 1 level, and display the level
    title in the automap for the equivalent episode 1 level.

    Subversion-branch: /trunk/chocolate-doom
    Subversion-revision: 1159
---
 src/hu_stuff.c | 11 ++++++++++-
 src/st_stuff.c |  9 ++++++++-
 2 files changed, 18 insertions(+), 2 deletions(-)

diff --git a/src/hu_stuff.c b/src/hu_stuff.c
index e6699438..886236ba 100644
--- a/src/hu_stuff.c
+++ b/src/hu_stuff.c
@@ -53,6 +53,7 @@
 #define HU_TITLE2	(mapnames2[gamemap-1])
 #define HU_TITLEP	(mapnamesp[gamemap-1])
 #define HU_TITLET	(mapnamest[gamemap-1])
+#define HU_TITLE_CHEX   (mapnames[gamemap - 1])
 #define HU_TITLEHEIGHT	1
 #define HU_TITLEX	0
 #define HU_TITLEY	(167 - SHORT(hu_font[0]->height))
@@ -395,7 +396,15 @@ void HU_Start(void)
          s = "Unknown level";
          break;
     }
-
+
+    // Chex.exe always uses the episode 1 level title
+    // eg. E2M1 gives the title for E1M1
+
+    if (gameversion == exe_chex)
+    {
+        s = HU_TITLE_CHEX;
+    }
+
     // dehacked substitution to get modified level name

     s = DEH_String(s);
diff --git a/src/st_stuff.c b/src/st_stuff.c
index 766a0ec1..f92d2dda 100644
--- a/src/st_stuff.c
+++ b/src/st_stuff.c
@@ -624,13 +624,20 @@ ST_Responder (event_t* ev)
 	map = buf[1] - '0';
       }

+      // Chex.exe always warps to episode 1.
+
+      if (gameversion == exe_chex)
+      {
+        epsd = 1;
+      }
+
       // Catch invalid maps.
       if (epsd < 1)
 	return false;

       if (map < 1)
 	return false;
-
+
       // Ohmygod - this is not going to work.
       if ((gamemode == retail)
 	  && ((epsd > 4) || (map > 9)))