[Scummvm-cvs-logs] CVS: scummvm/scumm script_v5.cpp,1.253,1.254 scumm.cpp,1.121,1.122

Travis Howell kirben at users.sourceforge.net
Fri Aug 20 20:31:15 CEST 2004


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

Modified Files:
	script_v5.cpp scumm.cpp 
Log Message:

Change to allow FM Towns platform to be used with later games


Index: script_v5.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/script_v5.cpp,v
retrieving revision 1.253
retrieving revision 1.254
diff -u -d -r1.253 -r1.254
--- script_v5.cpp	20 Aug 2004 01:26:56 -0000	1.253
+++ script_v5.cpp	21 Aug 2004 03:29:02 -0000	1.254
@@ -2093,7 +2093,7 @@
 }
 
 void ScummEngine_v5::o5_startMusic() {
-	if (_features & GF_FMTOWNS) {
+	if (_features & GF_FMTOWNS && _version == 3) {
 		// In FM Towns games this is some kind of Audio CD status query function.
 		// See also bug #762589 (thanks to Hibernatus for providing the information).
 		getResultPos();
@@ -2742,7 +2742,7 @@
 		a = getVarOrDirectWord(PARAM_1);
 
 #if 1
-		if (_features & GF_FMTOWNS) {
+		if (_features & GF_FMTOWNS && _version == 3) {
 			// FIXME / TODO: OK the first thing to note is: at least in Zak256,
 			// maybe also in other games, this opcode does a bit more. I added
 			// some stubs here, but somebody with a full IDA or more knowledge

Index: scumm.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/scumm.cpp,v
retrieving revision 1.121
retrieving revision 1.122
diff -u -d -r1.121 -r1.122
--- scumm.cpp	21 Aug 2004 01:36:59 -0000	1.121
+++ scumm.cpp	21 Aug 2004 03:29:02 -0000	1.122
@@ -792,7 +792,7 @@
 	_hexdumpScripts = false;
 	_showStack = false;
 
-	if (_features & GF_FMTOWNS) {	// FMTowns V3 games use 320x240
+	if (_features & GF_FMTOWNS && _version == 3) {	// FMTowns V3 games use 320x240
 		_screenWidth = 320;
 		_screenHeight = 240;
 	} else if (_features & GF_DEFAULT_TO_1X_SCALER) {
@@ -1918,7 +1918,7 @@
 
 	_lastKeyHit = _keyPressed;
 	_keyPressed = 0;
-	if (((_version <= 2) || (_features & GF_FMTOWNS)) && 315 <= _lastKeyHit && _lastKeyHit < 315+12) {
+	if (((_version <= 2) || (_features & GF_FMTOWNS && _version == 3)) && 315 <= _lastKeyHit && _lastKeyHit < 315+12) {
 		// Convert F-Keys for V1/V2 games (they start at 1 instead of at 315)
 		_lastKeyHit -= 314;
 	}
@@ -2043,7 +2043,7 @@
 #endif
 
 	if (VAR_RESTART_KEY != 0xFF && _lastKeyHit == VAR(VAR_RESTART_KEY) ||
-	   (((_version <= 2) || (_features & GF_FMTOWNS)) && _lastKeyHit == 8)) {
+	   (((_version <= 2) || (_features & GF_FMTOWNS && _version == 3)) && _lastKeyHit == 8)) {
 		confirmrestartDialog();
 		return;
 	}
@@ -2061,7 +2061,7 @@
 		return;
 	}
 
-	if ((_version <= 2) || (_features & GF_FMTOWNS))
+	if ((_version <= 2) || (_features & GF_FMTOWNS && _version == 3))
 		saveloadkey = 5;	// F5
 	else if ((_version <= 3) || (_gameId == GID_SAMNMAX) || (_gameId == GID_CMI))
 		saveloadkey = 319;	// F5
@@ -3173,9 +3173,9 @@
 		}
 		break;
 	case Common::kPlatformFMTowns:
+		game.features |= GF_FMTOWNS;
 		if (game.version == 3) {
 			// The V5 FM-TOWNS games are mostly identical to the PC versions, it seems?
-			game.features |= GF_FMTOWNS;
 			game.midi = MDT_TOWNS;
 		}
 		break;





More information about the Scummvm-git-logs mailing list