diff options
author | Gregory Montoir | 2003-12-03 14:09:37 +0000 |
---|---|---|
committer | Gregory Montoir | 2003-12-03 14:09:37 +0000 |
commit | 5bfbb9e954076cc9782121f4e8a490de9ce3019d (patch) | |
tree | 66881502fb291c22a6f9ca6b09b75f5340660b82 | |
parent | 894360920bc5596570eedc039de0116513d26225 (diff) | |
download | scummvm-rg350-5bfbb9e954076cc9782121f4e8a490de9ce3019d.tar.gz scummvm-rg350-5bfbb9e954076cc9782121f4e8a490de9ce3019d.tar.bz2 scummvm-rg350-5bfbb9e954076cc9782121f4e8a490de9ce3019d.zip |
remaining stuff for Azura/Floda
svn-id: r11487
-rw-r--r-- | queen/cutaway.cpp | 20 | ||||
-rw-r--r-- | queen/display.cpp | 30 | ||||
-rw-r--r-- | queen/display.h | 2 |
3 files changed, 51 insertions, 1 deletions
diff --git a/queen/cutaway.cpp b/queen/cutaway.cpp index 32a9472a83..786200c973 100644 --- a/queen/cutaway.cpp +++ b/queen/cutaway.cpp @@ -404,6 +404,26 @@ void Cutaway::actionSpecialMove(int index) { _graphics->cameraBob(0); break; + + case 19: + _logic->gameState(VAR_AZURA_IN_LOVE, 1); + break; + + + case 21: + _logic->display()->palCustomLightsOff(_logic->currentRoom()); + break; + + case 22: + _logic->display()->palCustomLightsOn(_logic->currentRoom()); + break; + + // manequin area on + case 23: + _logic->area(ROOM_FLODA_FRONTDESK, 7)->mapNeighbours = ABS(_logic->area(ROOM_FLODA_FRONTDESK, 7)->mapNeighbours); + break; + + // c75b.cut - Lightning hits plane case 28: { 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); diff --git a/queen/display.h b/queen/display.h index 5a7c0575b7..b7bb4427e3 100644 --- a/queen/display.h +++ b/queen/display.h @@ -80,6 +80,8 @@ public: void palCustomColors(uint16 roomNum); void palCustomScroll(uint16 roomNum); void palCustomFlash(); + void palCustomLightsOff(uint16 roomNum); + void palCustomLightsOn(uint16 roomNum); void palSetAllDirty() { _pal.dirtyMin = 0; _pal.dirtyMax = 255; } void screenMode(int comPanel, bool inCutaway); |