diff options
author | Robert Göffringmann | 2003-12-28 23:24:03 +0000 |
---|---|---|
committer | Robert Göffringmann | 2003-12-28 23:24:03 +0000 |
commit | e9766658b666dfe5065ccb5f27549f0719b16cda (patch) | |
tree | 1083411aca1741dedc6d8269ac267d6c31e73e4f /sword1/sword1.cpp | |
parent | 2548df9cf8ae51a55a7959ca24741a9f8ceb8414 (diff) | |
download | scummvm-rg350-e9766658b666dfe5065ccb5f27549f0719b16cda.tar.gz scummvm-rg350-e9766658b666dfe5065ccb5f27549f0719b16cda.tar.bz2 scummvm-rg350-e9766658b666dfe5065ccb5f27549f0719b16cda.zip |
this fixes the remaining glitches
svn-id: r12004
Diffstat (limited to 'sword1/sword1.cpp')
-rw-r--r-- | sword1/sword1.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/sword1/sword1.cpp b/sword1/sword1.cpp index 16318f4956..21c4287364 100644 --- a/sword1/sword1.cpp +++ b/sword1/sword1.cpp @@ -148,7 +148,7 @@ void SwordEngine::initialize(void) { _logic->initialize(); _objectMan->initialize(); _mouse->initialize(); - _control = new SwordControl(_resMan, _objectMan, _system, _mouse, getSavePath()); + _control = new SwordControl(_resMan, _objectMan, _system, _mouse, _music, getSavePath()); } void SwordEngine::reinitialize(void) { @@ -1023,6 +1023,7 @@ void SwordEngine::startPositions(int32 startNumber) { compact = (BsObject*)_objectMan->fetchObject(PLAYER); _logic->fnEnterSection(compact, PLAYER, startNumber, 0, 0, 0, 0, 0); // (automatically opens the compact resource for that section) _systemVars.deathScreenFlag = 0; + _systemVars.wantFade = true; } void SwordEngine::go(void) { @@ -1055,6 +1056,8 @@ void SwordEngine::go(void) { reinitialize(); if (action == CONTROL_GAME_RESTORED) _control->doRestore(); + else if (action == CONTROL_RESTART_GAME) + startPositions(1); _systemVars.forceRestart = false; _systemVars.deathScreenFlag = 0; } while (true); @@ -1108,7 +1111,7 @@ uint8 SwordEngine::mainLoop(void) { if (_systemVars.forceRestart) retCode = CONTROL_RESTART_GAME; - else if (_keyPressed == 63) { + else if (((_keyPressed == 63) && (SwordLogic::_scriptVars[MOUSE_STATUS] & 1)) || (_systemVars.deathScreenFlag)) { retCode = _control->runPanel(); if (!retCode) _screen->refreshPalette(); |