[Scummvm-cvs-logs] SF.net SVN: scummvm: [28129] scummvm/trunk/engines/agi

thebluegr at users.sourceforge.net thebluegr at users.sourceforge.net
Tue Jul 17 22:17:28 CEST 2007


Revision: 28129
          http://scummvm.svn.sourceforge.net/scummvm/?rev=28129&view=rev
Author:   thebluegr
Date:     2007-07-17 13:17:28 -0700 (Tue, 17 Jul 2007)

Log Message:
-----------
Re-enabled the 3 entries that can't have menus (KQ3 ST, KQ3 DOS 1.01, SQ1 DOS 1.0X). The ESC key will pause the game in those 3 games

Modified Paths:
--------------
    scummvm/trunk/engines/agi/agi.h
    scummvm/trunk/engines/agi/detection.cpp
    scummvm/trunk/engines/agi/keyboard.cpp

Modified: scummvm/trunk/engines/agi/agi.h
===================================================================
--- scummvm/trunk/engines/agi/agi.h	2007-07-17 18:27:24 UTC (rev 28128)
+++ scummvm/trunk/engines/agi/agi.h	2007-07-17 20:17:28 UTC (rev 28129)
@@ -112,7 +112,8 @@
 	GF_AGIPAL =      (1 << 4),
 	GF_MACGOLDRUSH = (1 << 5),
 	GF_FANMADE =     (1 << 6),
-	GF_MENUS =		 (1 << 7)
+	GF_MENUS =		 (1 << 7),
+	GF_ESCPAUSE =	 (1 << 8)
 };
 
 enum AgiGameID {

Modified: scummvm/trunk/engines/agi/detection.cpp
===================================================================
--- scummvm/trunk/engines/agi/detection.cpp	2007-07-17 18:27:24 UTC (rev 28128)
+++ scummvm/trunk/engines/agi/detection.cpp	2007-07-17 20:17:28 UTC (rev 28129)
@@ -648,10 +648,10 @@
 		0x2440,
 	},
 
-#if 0
+
 	{
 		// King's Quest 3 (ST) 1.02 11/18/86
-		// Problematic: does not have menus, crashes if menus are enforced
+		// Does not have menus, crashes if menus are enforced. Therefore, ESC pauses the game
 		{
 			"kq3",
 			"1.02 1986-11-18",
@@ -662,11 +662,11 @@
 		},
 		GID_KQ3,
 		GType_V2,
-		0,
+		GF_ESCPAUSE,
 		0x2272,
 	},
-#endif
 
+
 	{
 		// King's Quest 3 (Mac) 2.14 3/15/88
 		{
@@ -717,10 +717,10 @@
 		0x3086,
 	},
 
-#if 0
+
 	{
 		// King's Quest 3 (PC) 1.01 11/08/86 [AGI 2.272]
-		// Problematic: does not have menus, crashes if menus are enforced
+		// Does not have menus, crashes if menus are enforced. Therefore, ESC pauses the game
 		{
 			"kq3",
 			"1.01 1986-11-08",
@@ -731,11 +731,11 @@
 		},
 		GID_KQ3,
 		GType_V2,
-		0,
+		GF_ESCPAUSE,
 		0x2272,
 	},
-#endif
 
+
 	{
 		// King's Quest 3 (PC 5.25") 2.00 5/25/87 [AGI 2.435]
 		{
@@ -1411,10 +1411,10 @@
 		0x2917,
 	},
 
-#if 0
+
 	{
 		// Space Quest 1 (PC) 1.0X [AGI 2.089]
-		// Problematic: does not have menus, crashes if menus are enforced
+		// Does not have menus, crashes if menus are enforced. Therefore, ESC pauses the game
 		{
 			"sq1",
 			"1.0X 1986-09-24",
@@ -1425,12 +1425,12 @@
 		},
 		GID_SQ1,
 		GType_V2,
-		0,
+		GF_ESCPAUSE,
 		0x2089,
 	},
-#endif
 
 
+
 	{
 		// Space Quest 1 (PC 5.25"/3.5") 2.2 [AGI 2.426/2.917]
 		{

Modified: scummvm/trunk/engines/agi/keyboard.cpp
===================================================================
--- scummvm/trunk/engines/agi/keyboard.cpp	2007-07-17 18:27:24 UTC (rev 28128)
+++ scummvm/trunk/engines/agi/keyboard.cpp	2007-07-17 20:17:28 UTC (rev 28129)
@@ -107,8 +107,10 @@
 	VtEntry *v = &_game.viewTable[0];
 	int i;
 
-	/* AGI 3.149 games and The Black Cauldron need KEY_ESCAPE to use menus */
-	if (key == 0 || (key == KEY_ESCAPE && agiGetRelease() != 0x3149 && getGameID() != GID_BC) )
+	// AGI 3.149 games and The Black Cauldron need KEY_ESCAPE to use menus
+	// Games with the GF_ESCPAUSE flag need KEY_ESCAPE to pause the game
+	if (key == 0 || 
+		(key == KEY_ESCAPE && agiGetRelease() != 0x3149 && getGameID() != GID_BC && !(getFeatures() & GF_ESCPAUSE)) )
 		return false;
 
 	if ((getGameID() == GID_MH1 || getGameID() == GID_MH2) && (key == KEY_ENTER) &&


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.




More information about the Scummvm-git-logs mailing list