aboutsummaryrefslogtreecommitdiff
path: root/queen/logic.cpp
diff options
context:
space:
mode:
authorGregory Montoir2004-02-28 06:34:58 +0000
committerGregory Montoir2004-02-28 06:34:58 +0000
commitd94c096f368a40e4ff1c9ecd42d63f808ebb17af (patch)
treebe1f03b460ea954fc709d2f9f185c42135251b61 /queen/logic.cpp
parentec45e8dd811e2a61f95b863cdcc8bdf6d78c9762 (diff)
downloadscummvm-rg350-d94c096f368a40e4ff1c9ecd42d63f808ebb17af.tar.gz
scummvm-rg350-d94c096f368a40e4ff1c9ecd42d63f808ebb17af.tar.bz2
scummvm-rg350-d94c096f368a40e4ff1c9ecd42d63f808ebb17af.zip
removed hack from loading code
svn-id: r13080
Diffstat (limited to 'queen/logic.cpp')
-rw-r--r--queen/logic.cpp30
1 files changed, 21 insertions, 9 deletions
diff --git a/queen/logic.cpp b/queen/logic.cpp
index 9612520069..4a871346f1 100644
--- a/queen/logic.cpp
+++ b/queen/logic.cpp
@@ -1360,9 +1360,6 @@ void Logic::loadState(uint32 ver, byte *&ptr) {
}
void Logic::setupRestoredGame() {
- uint16 flag = _vm->bam()->_flag;
- _vm->bam()->_flag = BamScene::F_STOP;
-
_vm->sound()->playLastSong();
switch (gameState(VAR_DRESSING_MODE)) {
@@ -1380,19 +1377,34 @@ void Logic::setupRestoredGame() {
break;
}
- _joe.cutFacing = _joe.facing;
- joeFace();
+ BobSlot *pbs = _vm->graphics()->bob(0);
+ pbs->xflip = (joeFacing() == DIR_LEFT);
+ joePrevFacing(joeFacing());
+ joeCutFacing(joeFacing());
+ switch (joeFacing()) {
+ case DIR_FRONT:
+ pbs->frameNum = 34 + FRAMES_JOE_XTRA;
+ _vm->bankMan()->unpack(3, 29 + FRAMES_JOE_XTRA, 7);
+ break;
+ case DIR_BACK:
+ pbs->frameNum = 35 + FRAMES_JOE_XTRA;
+ _vm->bankMan()->unpack(5, 29 + FRAMES_JOE_XTRA, 7);
+ break;
+ default:
+ pbs->frameNum = 33 + FRAMES_JOE_XTRA;
+ _vm->bankMan()->unpack(1, 29 + FRAMES_JOE_XTRA, 7);
+ break;
+ }
_oldRoom = 0;
_newRoom = _currentRoom;
_entryObj = 0;
- inventoryRefresh();
-
- if (flag != BamScene::F_STOP) {
- _vm->bam()->_flag = flag;
+ if (_vm->bam()->_flag != BamScene::F_STOP) {
_vm->bam()->prepareAnimation();
}
+
+ inventoryRefresh();
}
void Logic::sceneStart() {