diff options
author | Eugene Sandulenko | 2011-08-27 10:23:19 -0700 |
---|---|---|
committer | Eugene Sandulenko | 2011-08-27 10:23:19 -0700 |
commit | 064ab0fd628f660d8565512dfbffb0c11a82f046 (patch) | |
tree | ac553523b5442af31bad9a1a3fa80bb3af85682f /engines/scumm/scumm.cpp | |
parent | 35aa235e4b4c4212b59d00adb77d2e3d00dd440e (diff) | |
parent | cd45d63e064c5f45e911256de75c3efef156337d (diff) | |
download | scummvm-rg350-064ab0fd628f660d8565512dfbffb0c11a82f046.tar.gz scummvm-rg350-064ab0fd628f660d8565512dfbffb0c11a82f046.tar.bz2 scummvm-rg350-064ab0fd628f660d8565512dfbffb0c11a82f046.zip |
Merge pull request #77 from lordhoto/indy4amiga
SCUMM: Implement proper Indy4 Amiga palette handling.
Diffstat (limited to 'engines/scumm/scumm.cpp')
-rw-r--r-- | engines/scumm/scumm.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/engines/scumm/scumm.cpp b/engines/scumm/scumm.cpp index 3b83019275..81f6af453c 100644 --- a/engines/scumm/scumm.cpp +++ b/engines/scumm/scumm.cpp @@ -290,6 +290,7 @@ ScummEngine::ScummEngine(OSystem *syst, const DetectorResult &dr) #endif _shadowPalette = NULL; _shadowPaletteSize = 0; + _verbPalette = NULL; memset(_currentPalette, 0, sizeof(_currentPalette)); memset(_darkenPalette, 0, sizeof(_darkenPalette)); memset(_HEV7ActorPalette, 0, sizeof(_HEV7ActorPalette)); @@ -610,6 +611,7 @@ ScummEngine::~ScummEngine() { _textSurface.free(); free(_shadowPalette); + free(_verbPalette); free(_palManipPalette); free(_palManipIntermediatePal); @@ -1408,6 +1410,10 @@ void ScummEngine::resetScumm() { _16BitPalette = (uint16 *)calloc(512, sizeof(uint16)); #endif + // Indy4 Amiga needs another palette map for the verb area. + if (_game.platform == Common::kPlatformAmiga && _game.id == GID_INDY4 && !_verbPalette) + _verbPalette = (uint8 *)calloc(256, 1); + #ifndef DISABLE_TOWNS_DUAL_LAYER_MODE if (_game.platform == Common::kPlatformFMTowns) { delete _townsScreen; |