diff options
author | Eugene Sandulenko | 2005-10-05 01:31:46 +0000 |
---|---|---|
committer | Eugene Sandulenko | 2005-10-05 01:31:46 +0000 |
commit | 579478a586b6d6c51bd5f652def24b362251d082 (patch) | |
tree | 7b5ebec5bcf25e30c217232969213ec0be768f50 /saga/events.cpp | |
parent | c7e8af5e5e620b9a4fec4a88460e42410eae6e5d (diff) | |
download | scummvm-rg350-579478a586b6d6c51bd5f652def24b362251d082.tar.gz scummvm-rg350-579478a586b6d6c51bd5f652def24b362251d082.tar.bz2 scummvm-rg350-579478a586b6d6c51bd5f652def24b362251d082.zip |
IHNM used only 248 colors for game graphics. Top part of the palette
was read from resources. Switching to this scheme fixes magenta outlines
in subtitles.
svn-id: r18935
Diffstat (limited to 'saga/events.cpp')
-rw-r--r-- | saga/events.cpp | 25 |
1 files changed, 20 insertions, 5 deletions
diff --git a/saga/events.cpp b/saga/events.cpp index 457051e35a..85ba125910 100644 --- a/saga/events.cpp +++ b/saga/events.cpp @@ -149,11 +149,17 @@ int Events::handleContinuous(Event *event) { case kPalEvent: switch (event->op) { case kEventBlackToPal: - _vm->_gfx->blackToPal((PalEntry *)event->data, event_pc); + if (_vm->getGameType() == GType_IHNM) + _vm->_gfx->blackToPal((PalEntry *)event->data, event_pc, 0, 248); + else + _vm->_gfx->blackToPal((PalEntry *)event->data, event_pc); break; case kEventPalToBlack: - _vm->_gfx->palToBlack((PalEntry *)event->data, event_pc); + if (_vm->getGameType() == GType_IHNM) + _vm->_gfx->palToBlack((PalEntry *)event->data, event_pc, 0, 248); + else + _vm->_gfx->palToBlack((PalEntry *)event->data, event_pc); break; default: break; @@ -232,11 +238,17 @@ int Events::handleImmediate(Event *event) { case kPalEvent: switch (event->op) { case kEventBlackToPal: - _vm->_gfx->blackToPal((PalEntry *)event->data, event_pc); + if (_vm->getGameType() == GType_IHNM) + _vm->_gfx->blackToPal((PalEntry *)event->data, event_pc, 0, 248); + else + _vm->_gfx->blackToPal((PalEntry *)event->data, event_pc); break; case kEventPalToBlack: - _vm->_gfx->palToBlack((PalEntry *)event->data, event_pc); + if (_vm->getGameType() == GType_IHNM) + _vm->_gfx->palToBlack((PalEntry *)event->data, event_pc, 0, 248); + else + _vm->_gfx->palToBlack((PalEntry *)event->data, event_pc); break; default: break; @@ -332,7 +344,10 @@ int Events::handleOneShot(Event *event) { if (event->param == kEvPSetPalette) { PalEntry *palPointer; _vm->_scene->getBGPal(palPointer); - _vm->_gfx->setPalette(palPointer); + if (_vm->getGameType() == GType_IHNM) + _vm->_gfx->setPalette(palPointer, 0, 248); + else + _vm->_gfx->setPalette(palPointer); } } } |