aboutsummaryrefslogtreecommitdiff
path: root/saga/events.cpp
diff options
context:
space:
mode:
authorEugene Sandulenko2005-10-05 01:31:46 +0000
committerEugene Sandulenko2005-10-05 01:31:46 +0000
commit579478a586b6d6c51bd5f652def24b362251d082 (patch)
tree7b5ebec5bcf25e30c217232969213ec0be768f50 /saga/events.cpp
parentc7e8af5e5e620b9a4fec4a88460e42410eae6e5d (diff)
downloadscummvm-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.cpp25
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);
}
}
}