shithub: choc

Download patch

ref: 530888d2e243f27bd36aa71a68570195276c4173
parent: 6e8d5f118991efdc040f367b208f32219457bb39
author: Simon Howard <[email protected]>
date: Sat Jul 26 19:51:25 EDT 2008

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

--- 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 @@
          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);
--- a/src/st_stuff.c
+++ b/src/st_stuff.c
@@ -624,6 +624,13 @@
 	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;
@@ -630,7 +637,7 @@
 
       if (map < 1)
 	return false;
-      
+
       // Ohmygod - this is not going to work.
       if ((gamemode == retail)
 	  && ((epsd > 4) || (map > 9)))