aboutsummaryrefslogtreecommitdiff
path: root/scumm/script_v5.cpp
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/script_v5.cpp
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/script_v5.cpp')
-rw-r--r--scumm/script_v5.cpp20
1 files changed, 20 insertions, 0 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 {