diff options
author | Travis Howell | 2004-08-22 06:16:16 +0000 |
---|---|---|
committer | Travis Howell | 2004-08-22 06:16:16 +0000 |
commit | 82b9f1e599b0cd37d81eeda573a5b23bd0d85d9b (patch) | |
tree | 0a6ec72f2468188f593464d66c5f5f5e1fe3c710 /scumm/scumm.cpp | |
parent | 0574c35fa45a856f4176ad72e597311c65b4f677 (diff) | |
download | scummvm-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.cpp | 18 |
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); |