aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGregory Montoir2004-11-30 21:01:25 +0000
committerGregory Montoir2004-11-30 21:01:25 +0000
commitf2fb63ffd9b32a21d985b8e41cc272edec8f0f50 (patch)
tree4a7f21034784f54cc5652ec0db3e4ffd3abf1643
parentbe58f22feb25ab840282fd38517c6c48db1b6c01 (diff)
downloadscummvm-rg350-f2fb63ffd9b32a21d985b8e41cc272edec8f0f50.tar.gz
scummvm-rg350-f2fb63ffd9b32a21d985b8e41cc272edec8f0f50.tar.bz2
scummvm-rg350-f2fb63ffd9b32a21d985b8e41cc272edec8f0f50.zip
enabled savegame loading on startup
svn-id: r15964
-rw-r--r--queen/display.cpp6
-rw-r--r--queen/display.h2
-rw-r--r--queen/logic.cpp8
-rw-r--r--queen/queen.cpp3
-rw-r--r--queen/resource.cpp2
-rw-r--r--queen/xref.txt2
6 files changed, 12 insertions, 11 deletions
diff --git a/queen/display.cpp b/queen/display.cpp
index e6eebb11a4..32fda4126a 100644
--- a/queen/display.cpp
+++ b/queen/display.cpp
@@ -188,6 +188,7 @@ void Display::palSetJoeNormal() {
void Display::palSetPanel() {
memcpy(_pal.room + 144 * 3, _pal.panel, (256 - 144) * 3);
+ memcpy(_pal.screen + 144 * 3, _pal.panel, (256 - 144) * 3);
}
void Display::palFadeIn(int start, int end, uint16 roomNum, bool dynalum, int16 dynaX, int16 dynaY) {
@@ -218,7 +219,7 @@ void Display::palFadeIn(int start, int end, uint16 roomNum, bool dynalum, int16
}
void Display::palFadeOut(int start, int end, uint16 roomNum) {
- debug(9, "Display::palFadeOut(%d, %d)", start, end);
+ debug(9, "Display::palFadeOut(%d, %d, %d)", start, end, roomNum);
_pal.scrollable = false;
int n = end - start + 1;
if (Logic::isAltIntroRoom(roomNum) || Logic::isIntroRoom(roomNum)) {
@@ -242,7 +243,8 @@ void Display::palFadeOut(int start, int end, uint16 roomNum) {
}
}
-void Display::palFadePanel() {
+void Display::palGreyPanel() {
+ debug(9, "Display::palGreyPanel()");
int i;
uint8 tempPal[256 * 3];
for (i = 224 * 3; i < 256 * 3; i += 3) {
diff --git a/queen/display.h b/queen/display.h
index 83c41d1167..6aa111ca4d 100644
--- a/queen/display.h
+++ b/queen/display.h
@@ -48,7 +48,7 @@ public:
void palSetPanel();
void palFadeIn(int start, int end, uint16 roomNum, bool dynalum = false, int16 dynaX = 0, int16 dynaY = 0);
void palFadeOut(int start, int end, uint16 roomNum);
- void palFadePanel();
+ void palGreyPanel();
void palScroll(int start, int end);
void palCustomColors(uint16 roomNum);
void palCustomScroll(uint16 roomNum);
diff --git a/queen/logic.cpp b/queen/logic.cpp
index 777e7ec77d..d5756584c0 100644
--- a/queen/logic.cpp
+++ b/queen/logic.cpp
@@ -262,6 +262,7 @@ void Logic::start() {
_vm->graphics()->setupMouseCursor();
setupJoe();
_vm->grid()->setupPanel();
+ inventorySetup();
_oldRoom = 0;
_newRoom = _currentRoom;
@@ -1430,7 +1431,7 @@ void Logic::sceneStart() {
_vm->display()->showMouseCursor(false);
if (1 == _scene) {
- _vm->display()->palFadePanel();
+ _vm->display()->palGreyPanel();
}
_vm->update();
@@ -2059,7 +2060,6 @@ bool LogicDemo::preChangeRoom() {
displayRoom(currentRoom(), RDM_FADE_JOE, 100, 2, true);
playCutaway("c70d.cut");
gameState(VAR_INTRO_PLAYED, 1);
- inventorySetup();
inventoryRefresh();
return true;
}
@@ -2093,7 +2093,6 @@ bool LogicInterview::preChangeRoom() {
displayRoom(currentRoom(), RDM_FADE_NOJOE, 100, 2, true);
playCutaway("start.cut");
gameState(2, 1);
- inventorySetup();
inventoryRefresh();
return true;
}
@@ -2133,17 +2132,16 @@ bool LogicGame::preChangeRoom() {
playCutaway("cintr.cut");
} else {
playCutaway("cdint.cut");
- _vm->display()->palSetPanel();
}
playCutaway("cred.cut");
+ _vm->display()->palSetPanel();
sceneReset();
currentRoom(ROOM_HOTEL_LOBBY);
entryObj(584);
displayRoom(currentRoom(), RDM_FADE_JOE, 100, 2, true);
playCutaway("c70d.cut");
gameState(VAR_INTRO_PLAYED, 1);
- inventorySetup();
inventoryRefresh();
return true;
}
diff --git a/queen/queen.cpp b/queen/queen.cpp
index 54074c00ee..93ba371edc 100644
--- a/queen/queen.cpp
+++ b/queen/queen.cpp
@@ -290,6 +290,9 @@ void QueenEngine::errorString(const char *buf1, char *buf2) {
int QueenEngine::go() {
_logic->start();
+ if (ConfMan.hasKey("save_slot") && !(_resource->isDemo() || _resource->isInterview())) {
+ loadGameState(ConfMan.getInt("save_slot"));
+ }
_quit = false;
while (!_quit) {
// queen.c lines 4080-4104
diff --git a/queen/resource.cpp b/queen/resource.cpp
index 14324295e2..8525f0cd8e 100644
--- a/queen/resource.cpp
+++ b/queen/resource.cpp
@@ -93,8 +93,6 @@ ResourceEntry *Resource::resourceEntry(const char *filename) const {
}
} while (cur++ < _resourceEntries);
#endif
-
- debug(7, "Couldn't find file '%s'", entryName);
return re;
}
diff --git a/queen/xref.txt b/queen/xref.txt
index 5c0bdf2414..55067aa922 100644
--- a/queen/xref.txt
+++ b/queen/xref.txt
@@ -299,7 +299,7 @@ drawbackdrop() Display::prepareUpdate
drawpanel() Display::prepareUpdate
drawscreen() Display::update
dynalum() Display::dynalumUpdate
-fade_panel() Display::palFadePanel
+fade_panel() Display::palGreyPanel
fadein() Display::palFadeIn
fadeout() Display::palFadeOut
flashspecial() Display::palCustomFlash