[Scummvm-cvs-logs] SF.net SVN: scummvm: [27164] scummvm/trunk/engines/agos

Kirben at users.sourceforge.net Kirben at users.sourceforge.net
Thu Jun 7 11:37:23 CEST 2007


Revision: 27164
          http://scummvm.svn.sourceforge.net/scummvm/?rev=27164&view=rev
Author:   Kirben
Date:     2007-06-07 02:37:22 -0700 (Thu, 07 Jun 2007)

Log Message:
-----------
Add details for French and German Amiga versions of Elvira 1. Remove restart state from Elvira 1 detection, due to two byte difference in the restart state on each disk of Amiga versions.

Modified Paths:
--------------
    scummvm/trunk/engines/agos/agos.h
    scummvm/trunk/engines/agos/detection_tables.h
    scummvm/trunk/engines/agos/script_e1.cpp
    scummvm/trunk/engines/agos/script_e2.cpp
    scummvm/trunk/engines/agos/script_ww.cpp

Modified: scummvm/trunk/engines/agos/agos.h
===================================================================
--- scummvm/trunk/engines/agos/agos.h	2007-06-07 04:09:41 UTC (rev 27163)
+++ scummvm/trunk/engines/agos/agos.h	2007-06-07 09:37:22 UTC (rev 27164)
@@ -1313,6 +1313,7 @@
 	void oe2_moveDirn();
 	void oe2_doClass();
 	void oe2_pObj();
+	void oe2_loadGame();
 	void oe2_drawItem();
 	void oe2_doTable();
 	void oe2_pauseGame();

Modified: scummvm/trunk/engines/agos/detection_tables.h
===================================================================
--- scummvm/trunk/engines/agos/detection_tables.h	2007-06-07 04:09:41 UTC (rev 27163)
+++ scummvm/trunk/engines/agos/detection_tables.h	2007-06-07 09:37:22 UTC (rev 27164)
@@ -56,7 +56,6 @@
 			{
 	{ "gameamiga",		GAME_BASEFILE,	"7bdaff4a118d8035047cf9b1393b3fa0", -1},
 	{ "icon.dat",		GAME_ICONFILE,	"2db931e84f1ca01f0816dddfae3f49e1", -1},
-	{ "start",		GAME_RESTFILE,	"c111be88c7f6d40e3f9b128939c1236d", -1},
 	{ NULL, 0, NULL, 0}
 			},
 			Common::EN_ANY,
@@ -69,6 +68,46 @@
 		GF_OLD_BUNDLE | GF_CRUNCHED | GF_PLANAR
 	},
 
+	// Elvira 1 - French Amiga Floppy
+	{
+		{
+			"elvira1",
+			"Floppy",
+			{
+	{ "gameamiga",		GAME_BASEFILE,	"ab1a0798f74e71cc58a06e7e0db6f8a7", -1},
+	{ "icon.dat",		GAME_ICONFILE,	"2db931e84f1ca01f0816dddfae3f49e1", -1},
+	{ NULL, 0, NULL, 0}
+			},
+			Common::FR_FRA,
+			Common::kPlatformAmiga,
+			Common::ADGF_NO_FLAGS
+		},
+
+		GType_ELVIRA1,
+		GID_ELVIRA1,
+		GF_OLD_BUNDLE | GF_CRUNCHED | GF_PLANAR
+	},
+
+	// Elvira 1 - German Amiga Floppy
+	{
+		{
+			"elvira1",
+			"Floppy",
+			{
+	{ "gameamiga",		GAME_BASEFILE,	"bde0334344c7b3a278ccc9a300f3085c", -1},
+	{ "icon.dat",		GAME_ICONFILE,	"2db931e84f1ca01f0816dddfae3f49e1", -1},
+	{ NULL, 0, NULL, 0}
+			},
+			Common::DE_DEU,
+			Common::kPlatformAmiga,
+			Common::ADGF_NO_FLAGS
+		},
+
+		GType_ELVIRA1,
+		GID_ELVIRA1,
+		GF_OLD_BUNDLE | GF_CRUNCHED | GF_PLANAR
+	},
+
 	// Elvira 1 - English Atari ST Floppy Demo
 	{
 		{
@@ -100,7 +139,6 @@
 			{
 	{ "gamest",		GAME_BASEFILE,	"8942859018fcfb2dbed13e83d974d1ab", -1},
 	{ "icon.dat",		GAME_ICONFILE,	"2db931e84f1ca01f0816dddfae3f49e1", -1},
-	{ "start",		GAME_RESTFILE,	"cd711028e209c47b81d04141fff2587b", -1},
 	{ "tbllist",		GAME_TBLFILE,	"5b6ff494bf7e24213758598ef4ac0a8b", -1},
 	{ NULL, 0, NULL, 0}
 			},
@@ -123,7 +161,6 @@
 			{
 	{ "gamest",		GAME_BASEFILE,	"ce2100ba71284f55ac302847d7f94747", -1},
 	{ "icon.dat",		GAME_ICONFILE,	"2db931e84f1ca01f0816dddfae3f49e1", -1},
-	{ "start",		GAME_RESTFILE,	"cd711028e209c47b81d04141fff2587b", -1},
 	{ "tbllist",		GAME_TBLFILE,	"5b6ff494bf7e24213758598ef4ac0a8b", -1},
 	{ NULL, 0, NULL, 0}
 			},
@@ -146,7 +183,6 @@
 			{
 	{ "gamepc",		GAME_BASEFILE,	"a49e132a1f18306dd5d1ec2fe435e178", -1},
 	{ "icon.dat",		GAME_ICONFILE,	"fda48c9da7f3e72d0313e2f5f760fc45", -1},
-	{ "start",		GAME_RESTFILE,	"69fb4f12108b39ae659f108cad4d3efe", -1},
 	{ "tbllist",		GAME_TBLFILE,	"319f6b227c7822a551f57d24e70f8149", -1},
 	{ NULL, 0, NULL, 0}
 			},
@@ -160,20 +196,19 @@
 		GF_OLD_BUNDLE
 	},
 
-	// Elvira 1 - German DOS Floppy
+	// Elvira 1 - French DOS Floppy
 	{
 		{
 			"elvira1",
 			"Floppy",
 
 			{
-	{ "gamepc",		GAME_BASEFILE,	"d0b593143e21fc150c044819df2c0b98", -1},
+	{ "gamepc",		GAME_BASEFILE,	"9076d507d60cc454df662316438ec843", -1},
 	{ "icon.dat",		GAME_ICONFILE,	"fda48c9da7f3e72d0313e2f5f760fc45", -1},
-	{ "start",		GAME_RESTFILE,	"69fb4f12108b39ae659f108cad4d3efe", -1},
 	{ "tbllist",		GAME_TBLFILE,	"319f6b227c7822a551f57d24e70f8149", -1},
 	{ NULL, 0, NULL, 0}
 			},
-			Common::DE_DEU,
+			Common::FR_FRA,
 			Common::kPlatformPC,
 			Common::ADGF_NO_FLAGS
 		},
@@ -183,20 +218,19 @@
 		GF_OLD_BUNDLE
 	},
 
-	// Elvira 1 - French DOS Floppy
+	// Elvira 1 - German DOS Floppy
 	{
 		{
 			"elvira1",
 			"Floppy",
 
 			{
-	{ "gamepc",		GAME_BASEFILE,	"9076d507d60cc454df662316438ec843", -1},
+	{ "gamepc",		GAME_BASEFILE,	"d0b593143e21fc150c044819df2c0b98", -1},
 	{ "icon.dat",		GAME_ICONFILE,	"fda48c9da7f3e72d0313e2f5f760fc45", -1},
-	{ "start",		GAME_RESTFILE,	"69fb4f12108b39ae659f108cad4d3efe", -1},
 	{ "tbllist",		GAME_TBLFILE,	"319f6b227c7822a551f57d24e70f8149", -1},
 	{ NULL, 0, NULL, 0}
 			},
-			Common::FR_FRA,
+			Common::DE_DEU,
 			Common::kPlatformPC,
 			Common::ADGF_NO_FLAGS
 		},
@@ -382,22 +416,22 @@
 		GF_OLD_BUNDLE
 	},
 
-	// Elvira 2 - German DOS Floppy
+	// Elvira 2 - French DOS Floppy
 	{
 		{
 			"elvira2",
 			"Floppy",
 
 			{
-	{ "gamepc",		GAME_BASEFILE,	"d1979d2fbc5fb5276563578ca55cbcec", -1},
+	{ "gamepc",		GAME_BASEFILE,	"4bf28ab00f5324fd938e632595742382", -1},
 	{ "icon.dat",		GAME_ICONFILE,	"83a7278bff55c82fbb3aef92981866c9", -1},
 	{ "menus.dat",		GAME_MENUFILE,	"a2fdc88a77c8bdffec6b36cbeda4d955", -1},
-	{ "start",		GAME_RESTFILE,	"016107aced82d0cc5d758a9fba716270", -1},
+	{ "start",		GAME_RESTFILE,	"4d380a35ba941d03ee5084c71d20055b", -1},
 	{ "stripped.txt",	GAME_STRFILE,	"c3a8f644551a27c8a2fec0f8070b46b7", -1},
 	{ "tbllist",		GAME_TBLFILE,	"8252660df0edbdbc3e6377e155bbd0c5", -1},
 	{ NULL, 0, NULL, 0}
 			},
-			Common::DE_DEU,
+			Common::FR_FRA,
 			Common::kPlatformPC,
 			Common::ADGF_NO_FLAGS
 		},
@@ -407,22 +441,22 @@
 		GF_OLD_BUNDLE
 	},
 
-	// Elvira 2 - French DOS Floppy
+	// Elvira 2 - German DOS Floppy
 	{
 		{
 			"elvira2",
 			"Floppy",
 
 			{
-	{ "gamepc",		GAME_BASEFILE,	"4bf28ab00f5324fd938e632595742382", -1},
+	{ "gamepc",		GAME_BASEFILE,	"d1979d2fbc5fb5276563578ca55cbcec", -1},
 	{ "icon.dat",		GAME_ICONFILE,	"83a7278bff55c82fbb3aef92981866c9", -1},
 	{ "menus.dat",		GAME_MENUFILE,	"a2fdc88a77c8bdffec6b36cbeda4d955", -1},
-	{ "start",		GAME_RESTFILE,	"4d380a35ba941d03ee5084c71d20055b", -1},
+	{ "start",		GAME_RESTFILE,	"016107aced82d0cc5d758a9fba716270", -1},
 	{ "stripped.txt",	GAME_STRFILE,	"c3a8f644551a27c8a2fec0f8070b46b7", -1},
 	{ "tbllist",		GAME_TBLFILE,	"8252660df0edbdbc3e6377e155bbd0c5", -1},
 	{ NULL, 0, NULL, 0}
 			},
-			Common::FR_FRA,
+			Common::DE_DEU,
 			Common::kPlatformPC,
 			Common::ADGF_NO_FLAGS
 		},

Modified: scummvm/trunk/engines/agos/script_e1.cpp
===================================================================
--- scummvm/trunk/engines/agos/script_e1.cpp	2007-06-07 04:09:41 UTC (rev 27163)
+++ scummvm/trunk/engines/agos/script_e1.cpp	2007-06-07 09:37:22 UTC (rev 27164)
@@ -707,8 +707,8 @@
 	uint16 stringId = getNextStringID();
 	debug(0, "oe1_loadGame: stub (%s)", (const char *)getStringPtrByID(stringId));
 
-	if (!scumm_stricmp(getFileName(GAME_RESTFILE), (const char *)getStringPtrByID(stringId))) {
-		loadGame(getFileName(GAME_RESTFILE), true);
+	if (!scumm_stricmp("START", (const char *)getStringPtrByID(stringId))) {
+		loadGame("START", true);
 	} else {
 		loadGame((const char *)getStringPtrByID(stringId));
 	}

Modified: scummvm/trunk/engines/agos/script_e2.cpp
===================================================================
--- scummvm/trunk/engines/agos/script_e2.cpp	2007-06-07 04:09:41 UTC (rev 27163)
+++ scummvm/trunk/engines/agos/script_e2.cpp	2007-06-07 09:37:22 UTC (rev 27164)
@@ -145,7 +145,7 @@
 		OPCODE(o_comment),
 		/* 88 */
 		OPCODE(o_invalid),
-		OPCODE(oe1_loadGame),
+		OPCODE(oe2_loadGame),
 		OPCODE(o_getParent),
 		OPCODE(o_getNext),
 		/* 92 */
@@ -315,6 +315,17 @@
 		showMessageFormat("%s\n", (const char *)getStringPtrByID(subObject->objectFlagValue[0])); // Difference
 }
 
+void AGOSEngine_Elvira2::oe2_loadGame() {
+	// 89: load game
+	uint16 stringId = getNextStringID();
+
+	if (!scumm_stricmp(getFileName(GAME_RESTFILE), (const char *)getStringPtrByID(stringId))) {
+		loadGame(getFileName(GAME_RESTFILE), true);
+	} else {
+		loadGame((const char *)getStringPtrByID(stringId));
+	}
+}
+
 void AGOSEngine_Elvira2::oe2_drawItem() {
 	// 113: draw item
 	Item *i = getNextItemPtr();

Modified: scummvm/trunk/engines/agos/script_ww.cpp
===================================================================
--- scummvm/trunk/engines/agos/script_ww.cpp	2007-06-07 04:09:41 UTC (rev 27163)
+++ scummvm/trunk/engines/agos/script_ww.cpp	2007-06-07 09:37:22 UTC (rev 27164)
@@ -147,7 +147,7 @@
 		OPCODE(o_comment),
 		/* 88 */
 		OPCODE(o_invalid),
-		OPCODE(oe1_loadGame),
+		OPCODE(oe2_loadGame),
 		OPCODE(o_getParent),
 		OPCODE(o_getNext),
 		/* 92 */


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