[Scummvm-cvs-logs] CVS: scummvm/scumm dialogs.cpp,1.152.2.3,1.152.2.4 help.cpp,1.24.2.2,1.24.2.3 help.h,1.8.2.2,1.8.2.3 scumm.cpp,1.603.2.37,1.603.2.38 scumm.h,1.647.2.14,1.647.2.15 sound.cpp,1.479.2.10,1.479.2.11 util.cpp,2.14.2.2,2.14.2.3 util.h,2.14.2.2,2.14.2.3 vars.cpp,1.150.2.9,1.150.2.10

kirben kirben at users.sourceforge.net
Fri Jan 20 15:04:02 CET 2006


Update of /cvsroot/scummvm/scummvm/scumm
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv28659/scumm

Modified Files:
      Tag: branch-0-8-0
	dialogs.cpp help.cpp help.h scumm.cpp scumm.h sound.cpp 
	util.cpp util.h vars.cpp 
Log Message:

Backport SegaCD platform changes.
Backport Maniac NES detection changes.


Index: dialogs.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/dialogs.cpp,v
retrieving revision 1.152.2.3
retrieving revision 1.152.2.4
diff -u -d -r1.152.2.3 -r1.152.2.4
--- dialogs.cpp	18 Jan 2006 18:07:31 -0000	1.152.2.3
+++ dialogs.cpp	20 Jan 2006 23:03:18 -0000	1.152.2.4
@@ -794,7 +794,7 @@
 
 	String titleStr, *keyStr, *dscStr;
 
-	ScummHelp::updateStrings(_vm->_gameId, _vm->_version, _page, titleStr, keyStr, dscStr);
+	ScummHelp::updateStrings(_vm->_gameId, _vm->_version, _vm->_platform, _page, titleStr, keyStr, dscStr);
 
 	_title->setLabel(titleStr);
 	for (int i = 0; i < HELP_NUM_LINES; i++) {

Index: help.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/help.cpp,v
retrieving revision 1.24.2.2
retrieving revision 1.24.2.3
diff -u -d -r1.24.2.2 -r1.24.2.3
--- help.cpp	18 Jan 2006 18:07:32 -0000	1.24.2.2
+++ help.cpp	20 Jan 2006 23:03:18 -0000	1.24.2.3
@@ -20,9 +20,12 @@
  */
 
 #include "common/stdafx.h"
+
+#include "common/str.h"
+#include "common/util.h"
+
 #include "scumm/help.h"
 #include "scumm/scumm.h"
-#include "common/str.h"
 
 namespace Scumm {
 
@@ -40,7 +43,6 @@
 	case GID_LOOM256:
 	case GID_MONKEY_EGA:
 	case GID_MONKEY_VGA:
-	case GID_MONKEY_SEGA:
 	case GID_MONKEY:
 	case GID_MONKEY2:
 	case GID_INDY4:
@@ -64,8 +66,8 @@
 #define ADD_TEXT(d) ADD_BIND("",d)
 #define ADD_LINE ADD_BIND("","")
 
-void ScummHelp::updateStrings(byte gameId, byte version, int page,
-				String &title, String *&key, String *&dsc) {
+void ScummHelp::updateStrings(byte gameId, byte version, Common::Platform platform,
+				int page, String &title, String *&key, String *&dsc) {
 	key = new String[HELP_NUM_LINES];
 	dsc = new String[HELP_NUM_LINES];
 	int i = 0;
@@ -206,7 +208,6 @@
 			ADD_BIND("f", "turn oFf");
 			break;
 		case GID_MONKEY:
-		case GID_MONKEY_SEGA:
 		case GID_MONKEY2:
 		case GID_INDY4:
 		case GID_TENTACLE:
@@ -219,7 +220,7 @@
 			ADD_BIND("u", "Use");
 			ADD_BIND("s", "puSh");
 			ADD_BIND("y", "pull (Yank)");
-			if (gameId == GID_MONKEY_SEGA) {
+			if (platform == Common::kPlatformSegaCD) {
 			// FIXME look at scripts to figure all options out...
 			// keys 1->4 seem to do something as well
 				ADD_BIND("6", "Highlight prev dialogue");

Index: help.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/help.h,v
retrieving revision 1.8.2.2
retrieving revision 1.8.2.3
diff -u -d -r1.8.2.2 -r1.8.2.3
--- help.h	18 Jan 2006 18:07:32 -0000	1.8.2.2
+++ help.h	20 Jan 2006 23:03:18 -0000	1.8.2.3
@@ -34,8 +34,8 @@
 
 public:
 	static int numPages(byte gameId);
-	static void updateStrings(byte gameId, byte version, int page,
-			String &title, String *&key, String *&dsc);
+	static void updateStrings(byte gameId, byte version, Common::Platform platform,
+			int page, String &title, String *&key, String *&dsc);
 };
 
 } // End of namespace Scumm

Index: scumm.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/scumm.cpp,v
retrieving revision 1.603.2.37
retrieving revision 1.603.2.38
diff -u -d -r1.603.2.37 -r1.603.2.38
--- scumm.cpp	18 Jan 2006 18:07:33 -0000	1.603.2.37
+++ scumm.cpp	20 Jan 2006 23:03:18 -0000	1.603.2.38
@@ -330,7 +330,7 @@
 	{"baseball2001", "Backyard Baseball 2001", GID_HEGAME, 6, 99, MDT_NONE,
 	 GF_USE_KEY | GF_NEW_COSTUMES | GF_16BIT_COLOR, Common::kPlatformWindows},
 	{"SoccerMLS", "Backyard Soccer MLS Edition", GID_HEGAME, 6, 99, MDT_NONE,
-	 GF_USE_KEY | GF_NEW_COSTUMES, Common::kPlatformWindows},
+	 GF_USE_KEY | GF_NEW_COSTUMES | GF_HE_LOCALIZED | GF_16BIT_COLOR, Common::kPlatformWindows},
 
 	// Humongous Entertainment Scumm Version ?
 	{"basketball", "Backyard Basketball", GID_HEGAME, 6, 100, MDT_NONE,
@@ -501,13 +501,15 @@
 	{"31b8fda4c8c7413fa6b39997e776eba4", "Loom (FM-TOWNS Jp)", GID_LOOM, 3, 0, MDT_TOWNS,
 	 GF_SMALL_HEADER | GF_NO_SCALING | GF_OLD256 | GF_AUDIOTRACKS, Common::kPlatformFMTowns},
 
-	{"d8d07efcb88f396bee0b402b10c3b1c9", "Maniac Mansion (NES E)", GID_MANIAC, 1, 0, MDT_NONE,
+	{"3905799e081b80a61d4460b7b733c206", "Maniac Mansion (NES E)", GID_MANIAC, 1, 0, MDT_NONE,
 	 GF_SMALL_HEADER | GF_USE_KEY | GF_16COLOR | GF_OLD_BUNDLE | GF_NO_SCALING, Common::kPlatformNES},
 	{"81bbfa181184cb494e7a81dcfa94fbd9", "Maniac Mansion (NES F)", GID_MANIAC, 1, 0, MDT_NONE,
 	 GF_SMALL_HEADER | GF_USE_KEY | GF_16COLOR | GF_OLD_BUNDLE | GF_NO_SCALING, Common::kPlatformNES},
+	{"257f8c14d8c584f7ddd601bcb00920c7", "Maniac Mansion (NES G)", GID_MANIAC, 1, 0, MDT_NONE,
+	 GF_SMALL_HEADER | GF_USE_KEY | GF_16COLOR | GF_OLD_BUNDLE | GF_NO_SCALING, Common::kPlatformNES},
 	{"22d07d6c386c9c25aca5dac2a0c0d94b", "Maniac Mansion (NES SW)", GID_MANIAC, 1, 0, MDT_NONE,
 	 GF_SMALL_HEADER | GF_USE_KEY | GF_16COLOR | GF_OLD_BUNDLE | GF_NO_SCALING, Common::kPlatformNES},
-	{"3905799e081b80a61d4460b7b733c206", "Maniac Mansion (NES U)", GID_MANIAC, 1, 0, MDT_NONE,
+	{"d8d07efcb88f396bee0b402b10c3b1c9", "Maniac Mansion (NES U)", GID_MANIAC, 1, 0, MDT_NONE,
 	 GF_SMALL_HEADER | GF_USE_KEY | GF_16COLOR | GF_OLD_BUNDLE | GF_NO_SCALING, Common::kPlatformNES},
 	{"7f45ddd6dbfbf8f80c0c0efea4c295bc", "Maniac Mansion (v1)", GID_MANIAC, 1, 0, MDT_PCSPK,
 	 GF_SMALL_HEADER | GF_USE_KEY | GF_16COLOR | GF_OLD_BUNDLE | GF_NO_SCALING, Common::kPlatformPC},
@@ -649,8 +651,8 @@
 	{"e17db1ddf91b39ca6bbc8ad3ed19e883", "The Secret of Monkey Island (FM-TOWNS Jp)", GID_MONKEY, 5, 0, /*MDT_PCSPK |*/ MDT_ADLIB,
 	 GF_USE_KEY | GF_AUDIOTRACKS, Common::kPlatformFMTowns},
 
-	{"c13225cb1bbd3bc9fe578301696d8021", "The Secret of Monkey Island (SegaCD)", GID_MONKEY_SEGA, 5, 0, MDT_NONE,
-	 GF_USE_KEY | GF_AUDIOTRACKS, Common::kPlatformPC},
+	{"c13225cb1bbd3bc9fe578301696d8021", "The Secret of Monkey Island (SegaCD)", GID_MONKEY, 5, 0, MDT_NONE,
+	 GF_USE_KEY | GF_AUDIOTRACKS, Common::kPlatformSegaCD},
 
 	{"3de99ef0523f8ca7958faa3afccd035a", "Spy Fox 1: Dry Cereal (Updated)", GID_HEGAME, 6, 100, MDT_NONE,
 	 GF_USE_KEY | GF_NEW_COSTUMES, Common::kPlatformWindows},
@@ -711,6 +713,7 @@
 	{ "00.LFL", "Maniac Mansion (F).prg", kGenAsIs },
 	{ "00.LFL", "Maniac Mansion (SW).prg", kGenAsIs },
 	{ "00.LFL", "Maniac Mansion (U).prg", kGenAsIs },
+	{ "00.LFL", "Maniac Mansion (G).prg", kGenAsIs },
 	{ "00.LFL", "maniac1.d64", kGenAsIs }, // Do not
 	{ "01.LFL", "maniac2.d64", kGenAsIs }, // swap
 	{ "00.LFL", "zak1.d64", kGenAsIs },    // these

Index: scumm.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/scumm.h,v
retrieving revision 1.647.2.14
retrieving revision 1.647.2.15
diff -u -d -r1.647.2.14 -r1.647.2.15
--- scumm.h	18 Jan 2006 18:07:33 -0000	1.647.2.14
+++ scumm.h	20 Jan 2006 23:03:18 -0000	1.647.2.15
@@ -230,7 +230,6 @@
 	GID_CMI,
 	GID_MANIAC,
 	GID_ZAK,
-	GID_MONKEY_SEGA,
 	GID_HEGAME,      // Generic name for all HE games with default behaviour
 	GID_PUTTDEMO,
 	GID_FBEAR,

Index: sound.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/sound.cpp,v
retrieving revision 1.479.2.10
retrieving revision 1.479.2.11
diff -u -d -r1.479.2.10 -r1.479.2.11
--- sound.cpp	18 Jan 2006 18:07:33 -0000	1.479.2.10
+++ sound.cpp	20 Jan 2006 23:03:18 -0000	1.479.2.11
@@ -298,7 +298,7 @@
 		// I'll add some code to test that theory for now.
 
 		// Check if the resource has already been demangled
-		if ((_vm->_gameId == GID_MONKEY_SEGA) && (ptr[0] != 1))	{
+		if ((_vm->_platform == Common::kPlatformSegaCD) && (ptr[0] != 1))	{
 			for (int i = 0; i < size; i++)   {
 				ptr[i] ^= 0x16;
 				if (ptr[i] >= 0x7F) {

Index: util.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/util.cpp,v
retrieving revision 2.14.2.2
retrieving revision 2.14.2.3
diff -u -d -r2.14.2.2 -r2.14.2.3
--- util.cpp	18 Jan 2006 18:07:33 -0000	2.14.2.2
+++ util.cpp	20 Jan 2006 23:03:19 -0000	2.14.2.3
@@ -296,8 +296,8 @@
 };
 
 struct ScummNESFile::Resource {
-	uint32 offset[kROMsetNum];
-	uint16 length[kROMsetNum];
+	uint32 offset;
+	uint16 length;
 	ResType type;
 };
 
@@ -314,461 +314,713 @@
[...1494 lines suppressed...]
 
@@ -1201,7 +1450,7 @@
 	write_byte(&out, 0x43);
 	write_byte(&out, 0x46);
 
-	extractResource(&out, &res_globdata);
+	extractResource(&out, &res_globdata[_ROMset][0]);
 
 	for (i = 0; i < (int)sizeof(lfl_index); i++)
 		write_byte(&out, ((byte *)&lfl_index)[i]);
@@ -1236,6 +1485,9 @@
 			} else if (!strcmp(md5str, "81bbfa181184cb494e7a81dcfa94fbd9")) {
 				_ROMset = kROMsetFrance;
 				debug(2, "ROM contents verified as Maniac Mansion (France)");
+			} else if (!strcmp(md5str, "257f8c14d8c584f7ddd601bcb00920c7")) {
+				_ROMset = kROMsetGermany;
+				debug(2, "ROM contents verified as Maniac Mansion (Germany)");
 			} else {
 				error("Unsupported Maniac Mansion ROM, md5: %s", md5str);
 				return false;

Index: util.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/util.h,v
retrieving revision 2.14.2.2
retrieving revision 2.14.2.3
diff -u -d -r2.14.2.2 -r2.14.2.3
--- util.h	18 Jan 2006 18:07:33 -0000	2.14.2.2
+++ util.h	20 Jan 2006 23:03:19 -0000	2.14.2.3
@@ -74,10 +74,13 @@
 		kROMsetEurope,
 		kROMsetSweden,
 		kROMsetFrance,
+		kROMsetGermany,
 		kROMsetNum
 	};
 
 	struct Resource;
+	struct LFLEntry;
+	struct LFL;
 
 private:
 	Common::MemoryReadStream *_stream;
@@ -88,9 +91,6 @@
 	bool generateResource(int res);
 	uint16 extractResource(Common::WriteStream *out, Resource *res);
 
-	uint32 resOffset(Resource *res);
-	uint16 resLength(Resource *res);
-
 	byte fileReadByte();
 	uint16 fileReadUint16LE();
 

Index: vars.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/vars.cpp,v
retrieving revision 1.150.2.9
retrieving revision 1.150.2.10
diff -u -d -r1.150.2.9 -r1.150.2.10
--- vars.cpp	18 Jan 2006 18:07:33 -0000	1.150.2.9
+++ vars.cpp	20 Jan 2006 23:03:19 -0000	1.150.2.10
@@ -552,7 +552,7 @@
 		VAR(VAR_CURRENT_LIGHTS) = LIGHTMODE_actor_base | LIGHTMODE_actor_color | LIGHTMODE_screen;
 	}
 
-	if (_gameId == GID_MONKEY || _gameId == GID_MONKEY_SEGA)
+	if (_gameId == GID_MONKEY)
 		_scummVars[74] = 1225;
 }
 





More information about the Scummvm-git-logs mailing list