aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGregory Montoir2003-12-03 14:09:37 +0000
committerGregory Montoir2003-12-03 14:09:37 +0000
commit5bfbb9e954076cc9782121f4e8a490de9ce3019d (patch)
tree66881502fb291c22a6f9ca6b09b75f5340660b82
parent894360920bc5596570eedc039de0116513d26225 (diff)
downloadscummvm-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.cpp20
-rw-r--r--queen/display.cpp30
-rw-r--r--queen/display.h2
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);