diff options
author | Travis Howell | 2004-08-21 03:29:02 +0000 |
---|---|---|
committer | Travis Howell | 2004-08-21 03:29:02 +0000 |
commit | 47785295d26f7af94e3846384a74a9f01fdbf440 (patch) | |
tree | a9d6518d42b2891da004147f212649c29a1a0b85 | |
parent | 396ae19f5d189119513c11ea2866a39eb167dbe1 (diff) | |
download | scummvm-rg350-47785295d26f7af94e3846384a74a9f01fdbf440.tar.gz scummvm-rg350-47785295d26f7af94e3846384a74a9f01fdbf440.tar.bz2 scummvm-rg350-47785295d26f7af94e3846384a74a9f01fdbf440.zip |
Change to allow FM Towns platform to be used with later games
svn-id: r14658
-rw-r--r-- | scumm/script_v5.cpp | 4 | ||||
-rw-r--r-- | scumm/scumm.cpp | 10 |
2 files changed, 7 insertions, 7 deletions
diff --git a/scumm/script_v5.cpp b/scumm/script_v5.cpp index 3a266ecfd2..5525c21988 100644 --- a/scumm/script_v5.cpp +++ b/scumm/script_v5.cpp @@ -2093,7 +2093,7 @@ void ScummEngine_v5::o5_setVarRange() { } 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 @@ void ScummEngine_v5::o5_oldRoomEffect() { 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 diff --git a/scumm/scumm.cpp b/scumm/scumm.cpp index 0afcb15530..4ac57c3e8a 100644 --- a/scumm/scumm.cpp +++ b/scumm/scumm.cpp @@ -792,7 +792,7 @@ ScummEngine::ScummEngine(GameDetector *detector, OSystem *syst, const ScummGameS _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 @@ void ScummEngine::processKbd(bool smushMode) { _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 @@ void ScummEngine::processKbd(bool smushMode) { #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 @@ void ScummEngine::processKbd(bool smushMode) { 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 @@ Engine *Engine_SCUMM_create(GameDetector *detector, OSystem *syst) { } 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; |