aboutsummaryrefslogtreecommitdiff
path: root/saga/events.cpp
diff options
context:
space:
mode:
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);
}
}
}