diff options
-rw-r--r-- | engines/toltecs/input.cpp | 2 | ||||
-rw-r--r-- | engines/toltecs/saveload.cpp | 11 |
2 files changed, 13 insertions, 0 deletions
diff --git a/engines/toltecs/input.cpp b/engines/toltecs/input.cpp index b658c6278b..174818323e 100644 --- a/engines/toltecs/input.cpp +++ b/engines/toltecs/input.cpp @@ -79,6 +79,8 @@ void Input::update() { break; case Common::EVENT_QUIT: + // FIXME: Find a nicer way to quit + g_system->quit(); break; case Common::EVENT_MOUSEMOVE: _mouseX = event.mouse.x; diff --git a/engines/toltecs/saveload.cpp b/engines/toltecs/saveload.cpp index 42ef4a33fb..3da15f4a07 100644 --- a/engines/toltecs/saveload.cpp +++ b/engines/toltecs/saveload.cpp @@ -80,6 +80,10 @@ void ToltecsEngine::savegame(const char *filename) { out->writeByte(_movieSceneFlag ? 1 : 0); out->writeByte(_flag01); + out->writeUint16LE(_input->_mouseX); + out->writeUint16LE(_input->_mouseY); + out->writeUint16LE(_input->_mouseDisabled); + _palette->saveState(out); _script->saveState(out); _anim->saveState(out); @@ -136,6 +140,13 @@ void ToltecsEngine::loadgame(const char *filename) { _movieSceneFlag = in->readByte() != 0; _flag01 = in->readByte(); + _input->_mouseX = in->readUint16LE(); + _input->_mouseY = in->readUint16LE(); + _input->_mouseDisabled = in->readUint16LE(); + + _system->warpMouse(_input->_mouseX, _input->_mouseY); + _system->showMouse(_input->_mouseDisabled == 0); + _palette->loadState(in); _script->loadState(in); _anim->loadState(in); |