aboutsummaryrefslogtreecommitdiff
path: root/scumm/scumm.cpp
diff options
context:
space:
mode:
authorTravis Howell2004-08-22 06:16:16 +0000
committerTravis Howell2004-08-22 06:16:16 +0000
commit82b9f1e599b0cd37d81eeda573a5b23bd0d85d9b (patch)
tree0a6ec72f2468188f593464d66c5f5f5e1fe3c710 /scumm/scumm.cpp
parent0574c35fa45a856f4176ad72e597311c65b4f677 (diff)
downloadscummvm-rg350-82b9f1e599b0cd37d81eeda573a5b23bd0d85d9b.tar.gz
scummvm-rg350-82b9f1e599b0cd37d81eeda573a5b23bd0d85d9b.tar.bz2
scummvm-rg350-82b9f1e599b0cd37d81eeda573a5b23bd0d85d9b.zip
Mac. version of indy3 uses VAR_VIDEOMODE value of 50
Add initial support for loading EGA resource svn-id: r14671
Diffstat (limited to 'scumm/scumm.cpp')
-rw-r--r--scumm/scumm.cpp18
1 files changed, 16 insertions, 2 deletions
diff --git a/scumm/scumm.cpp b/scumm/scumm.cpp
index 8303712236..481d7fb267 100644
--- a/scumm/scumm.cpp
+++ b/scumm/scumm.cpp
@@ -559,6 +559,7 @@ ScummEngine::ScummEngine(GameDetector *detector, OSystem *syst, const ScummGameS
_ENCD_offs = 0;
_EXCD_offs = 0;
_CLUT_offs = 0;
+ _EPAL_offs = 0;
_IM00_offs = 0;
_PALS_offs = 0;
_fullRedraw = false;
@@ -1360,13 +1361,14 @@ void ScummEngine::initScummVars() {
} else
VAR(VAR_SOUNDCARD) = 3;
}
- // Amiga version of MI2 and FM Towns versions use unique values
if (_features & GF_FMTOWNS)
VAR(VAR_VIDEOMODE) = 42;
+ else if (_gameId == GID_INDY3 && (_features & GF_MACINTOSH))
+ VAR(VAR_VIDEOMODE) = 50;
else if (_gameId == GID_MONKEY2 && (_features & GF_AMIGA))
VAR(VAR_VIDEOMODE) = 82;
else
- VAR(VAR_VIDEOMODE) = 19;
+ VAR(VAR_VIDEOMODE) = 14;
if (_gameId == GID_LOOM && _features & GF_OLD_BUNDLE) {
// Set number of sound resources
if (!(_features & GF_MACINTOSH))
@@ -2306,6 +2308,7 @@ void ScummEngine::initRoomSubBlocks() {
_ENCD_offs = 0;
_EXCD_offs = 0;
+ _EPAL_offs = 0;
_CLUT_offs = 0;
_PALS_offs = 0;
@@ -2606,6 +2609,17 @@ void ScummEngine::initRoomSubBlocks() {
if (_features & GF_OLD_BUNDLE)
ptr = 0;
else if (_features & GF_SMALL_HEADER)
+ ptr = findResourceSmall(MKID('EPAL'), roomptr);
+ else
+ ptr = findResourceData(MKID('EPAL'), roomptr);
+
+ if (ptr) {
+ _EPAL_offs = ptr - roomptr;
+ }
+
+ if (_features & GF_OLD_BUNDLE)
+ ptr = 0; // TODO ? do 16 bit games use a palette?!?
+ else if (_features & GF_SMALL_HEADER)
ptr = findResourceSmall(MKID('CLUT'), roomptr);
else
ptr = findResourceData(MKID('CLUT'), roomptr);