From d94c096f368a40e4ff1c9ecd42d63f808ebb17af Mon Sep 17 00:00:00 2001 From: Gregory Montoir Date: Sat, 28 Feb 2004 06:34:58 +0000 Subject: removed hack from loading code svn-id: r13080 --- queen/logic.cpp | 30 +++++++++++++++++++++--------- 1 file changed, 21 insertions(+), 9 deletions(-) (limited to 'queen/logic.cpp') 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() { -- cgit v1.2.3