aboutsummaryrefslogtreecommitdiff
path: root/scumm
diff options
context:
space:
mode:
authorGregory Montoir2005-06-07 20:44:19 +0000
committerGregory Montoir2005-06-07 20:44:19 +0000
commit2c31f4208ed82e7c82b4081b3b46241a077dc093 (patch)
tree94cbbd362b49727cd3cf70dfab7c20e0e7630865 /scumm
parent4b5ff5ba1f8db6dfad5e27e4c0ef7115ce29d3fb (diff)
downloadscummvm-rg350-2c31f4208ed82e7c82b4081b3b46241a077dc093.tar.gz
scummvm-rg350-2c31f4208ed82e7c82b4081b3b46241a077dc093.tar.bz2
scummvm-rg350-2c31f4208ed82e7c82b4081b3b46241a077dc093.zip
Based on indy4demo FMTowns, some minor changes to SO_ROOM_FADE
svn-id: r18362
Diffstat (limited to 'scumm')
-rw-r--r--scumm/script_v5.cpp20
-rw-r--r--scumm/scumm.cpp4
2 files changed, 22 insertions, 2 deletions
diff --git a/scumm/script_v5.cpp b/scumm/script_v5.cpp
index 628cbda27b..43f657ca3f 100644
--- a/scumm/script_v5.cpp
+++ b/scumm/script_v5.cpp
@@ -1921,6 +1921,26 @@ void ScummEngine_v5::o5_roomOps() {
case 10: // SO_ROOM_FADE
a = getVarOrDirectWord(PARAM_1);
if (a) {
+ if (_platform == Common::kPlatformFMTowns) {
+ switch (a) {
+ case 8: // compose kMainVirtScreen over a screen buffer
+ case 9: // call 0x110:0x20 _ax=0x601 _edx=2
+ case 10: // call 0x110:0x20 _ax=0x601 _edx=3
+ case 11: // clear screen 0x1C:0x45000 sizeof(640 * 320)
+ case 12: // call 0x110:0x20 _ax=0x601 _edx=0
+ case 13: // call 0x110:0x20 _ax=0x601 _edx=1
+ case 16: // enable clearing of a screen buffer in drawBitmap()
+ case 17: // disable clearing of a screen buffer in drawBitmap()
+ case 18: // clear a screen buffer
+ case 19: // enable palette operations (palManipulate(), cyclePalette() etc.)
+ case 20: // disable palette operations
+ case 21: // disable clearing of screen 0x1C:0x5000 sizeof(640 * 320) in initScreens()
+ case 22: // enable clearing of screen 0x1C:0x5000 sizeof(640 * 320) in initScreens()
+ warning("o5_roomOps: unhandled FM-TOWNS fadeEffect %d", a);
+ return;
+ break;
+ }
+ }
_switchRoomEffect = (byte)(a & 0xFF);
_switchRoomEffect2 = (byte)(a >> 8);
} else {
diff --git a/scumm/scumm.cpp b/scumm/scumm.cpp
index a59fc95825..fec982de62 100644
--- a/scumm/scumm.cpp
+++ b/scumm/scumm.cpp
@@ -161,9 +161,9 @@ static const ScummGameSettings scumm_settings[] = {
{"fate", "Indiana Jones and the Fate of Atlantis (Demo)", GID_INDY4, 5, 0, MDT_ADLIB | MDT_NATIVE,
GF_USE_KEY, Common::kPlatformPC, 0, 0},
{"indy4", "Indiana Jones and the Fate of Atlantis (FM-TOWNS)", GID_INDY4, 5, 0, MDT_ADLIB | MDT_NATIVE,
- GF_USE_KEY, Common::kPlatformPC, 0, 0},
+ GF_USE_KEY, Common::kPlatformFMTowns, 0, 0},
{"indydemo", "Indiana Jones and the Fate of Atlantis (FM-TOWNS Demo)", GID_INDY4, 5, 0, MDT_ADLIB | MDT_NATIVE,
- GF_USE_KEY, Common::kPlatformPC, 0, 0},
+ GF_USE_KEY, Common::kPlatformFMTowns, 0, 0},
/* Scumm Version 6 */
{"tentacle", "Day Of The Tentacle", GID_TENTACLE, 6, 0, /*MDT_PCSPK |*/ MDT_ADLIB | MDT_NATIVE,