aboutsummaryrefslogtreecommitdiff
path: root/sky/sky.cpp
diff options
context:
space:
mode:
authorRobert Göffringmann2003-07-01 13:04:00 +0000
committerRobert Göffringmann2003-07-01 13:04:00 +0000
commit6e3cfa8a4edc77e0d642d54ec3a52910fcac051e (patch)
tree9dafb356b339768449d1a4be546cc19f6d590d90 /sky/sky.cpp
parente1483a6eac96c0ae93e7302eb9baa42b6f94a2ef (diff)
downloadscummvm-rg350-6e3cfa8a4edc77e0d642d54ec3a52910fcac051e.tar.gz
scummvm-rg350-6e3cfa8a4edc77e0d642d54ec3a52910fcac051e.tar.bz2
scummvm-rg350-6e3cfa8a4edc77e0d642d54ec3a52910fcac051e.zip
bypassed copy protection, fixed crash when disconnecting from link space, fixed logix swing seqs
svn-id: r8686
Diffstat (limited to 'sky/sky.cpp')
-rw-r--r--sky/sky.cpp19
1 files changed, 10 insertions, 9 deletions
diff --git a/sky/sky.cpp b/sky/sky.cpp
index c62064ed18..9228b66616 100644
--- a/sky/sky.cpp
+++ b/sky/sky.cpp
@@ -116,12 +116,14 @@ void SkyState::go() {
}
_skyMouse->mouseEngine((uint16)_sdl_mouse_x, (uint16)_sdl_mouse_y);
_skyLogic->engine();
- //_skyScreen->forceRefresh();
- _skyScreen->recreate();
- _skyScreen->spriteEngine();
- _skyScreen->flip();
- //_skyScreen->showGrid(_skyLogic->_skyGrid->giveGrid(SkyLogic::_scriptVariables[SCREEN]));
- _system->update_screen();
+ if (!_skyLogic->checkProtection()) { // don't let copy prot. screen flash up
+ //_skyScreen->forceRefresh();
+ _skyScreen->recreate();
+ _skyScreen->spriteEngine();
+ _skyScreen->flip();
+ //_skyScreen->showGrid(_skyLogic->_skyGrid->giveGrid(SkyLogic::_scriptVariables[SCREEN]));
+ _system->update_screen();
+ }
}
}
@@ -164,6 +166,7 @@ void SkyState::initialise(void) {
_timer->installProcedure(&timerHandler, 1000000 / 50); //call 50 times per second
_skyControl = new SkyControl(_skyScreen, _skyDisk, _skyMouse, _skyText, _skyMusic, _skyLogic, _system, getSavePath());
+ _skyLogic->useControlInstance(_skyControl);
}
void SkyState::initItemList() {
@@ -279,9 +282,7 @@ void SkyState::delay(uint amount) { //copied and mutilated from Simon.cpp
break;
case OSystem::EVENT_QUIT:
- _skyControl->showGameQuitMsg();
- delay(1500);
- _system->quit();
+ _skyControl->showGameQuitMsg(); // will call _system->quit()
break;
default: