diff options
Diffstat (limited to 'queen/display.cpp')
-rw-r--r-- | queen/display.cpp | 30 |
1 files changed, 29 insertions, 1 deletions
diff --git a/queen/display.cpp b/queen/display.cpp index b231c25a5a..d4dbddb71b 100644 --- a/queen/display.cpp +++ b/queen/display.cpp @@ -291,7 +291,7 @@ void Display::palFadeOut(int start, int end, uint16 roomNum) { int n = end - start + 1; if (!(roomNum < 90 || (roomNum > 94 && roomNum < 114))) { memset(_pal.screen + start * 3, 0, n * 3); - palSet(_pal.screen, start, end); + palSet(_pal.screen, start, end, true); } else { uint8 tempPal[256 * 3]; @@ -617,6 +617,34 @@ void Display::palCustomFlash() { } +void Display::palCustomLightsOff(uint16 roomNum) { + + int end = 223; + int start = (roomNum == ROOM_FLODA_FRONTDESK) ? 32 : 16; + int n = end - start + 1; + + memset(_pal.screen + start * 3, 0, n * 3); + palSet(_pal.screen, start, end, true); + + _pal.scrollable = false; +} + + +void Display::palCustomLightsOn(uint16 roomNum) { + + int end = 223; + int start = (roomNum == ROOM_FLODA_FRONTDESK) ? 32 : 0; + int n = end - start + 1; + + memcpy(_pal.screen + start * 3, _pal.room + start * 3, n * 3); + palSet(_pal.screen, start, end, true); + + _pal.dirtyMin = 0; + _pal.dirtyMax = 223; + _pal.scrollable = true; +} + + void Display::screenMode(int comPanel, bool inCutaway) { debug(0, "Display::screenMode(%d, %d)", comPanel, inCutaway); |