diff options
-rw-r--r-- | engines/access/martian/martian_scripts.cpp | 18 | ||||
-rw-r--r-- | engines/access/martian/martian_scripts.h | 1 |
2 files changed, 18 insertions, 1 deletions
diff --git a/engines/access/martian/martian_scripts.cpp b/engines/access/martian/martian_scripts.cpp index bb8230e7e5..3907e5cd55 100644 --- a/engines/access/martian/martian_scripts.cpp +++ b/engines/access/martian/martian_scripts.cpp @@ -34,6 +34,19 @@ MartianScripts::MartianScripts(AccessEngine *vm) : Scripts(vm) { _game = (MartianEngine *)_vm; } +void MartianScripts::cmdSpecial1(int param1) { + _vm->_events->hideCursor(); + + if (param1 != -1) { + _vm->_files->loadScreen(49, param1); + _vm->_buffer2.copyBuffer(_vm->_screen); + } + + _vm->_screen->setIconPalette(); + _vm->_screen->forceFadeIn(); + _vm->_events->showCursor(); +} + void MartianScripts::cmdSpecial3() { _vm->_screen->forceFadeOut(); _vm->_events->hideCursor(); @@ -55,7 +68,7 @@ void MartianScripts::executeSpecial(int commandIndex, int param1, int param2) { warning("TODO: cmdSpecial0"); break; case 1: - warning("TODO: cmdSpecial1"); + cmdSpecial1(param1); break; case 2: warning("TODO: cmdSpecial2"); @@ -72,6 +85,9 @@ void MartianScripts::executeSpecial(int commandIndex, int param1, int param2) { case 6: warning("TODO: cmdSpecial6"); break; + case 7: + warning("TODO: cmdSpecial7"); + break; default: warning("Unexpected Special code %d - Skipped", commandIndex); } diff --git a/engines/access/martian/martian_scripts.h b/engines/access/martian/martian_scripts.h index 9e9c3b6d7f..64b888f090 100644 --- a/engines/access/martian/martian_scripts.h +++ b/engines/access/martian/martian_scripts.h @@ -36,6 +36,7 @@ class MartianScripts : public Scripts { private: MartianEngine *_game; + void cmdSpecial1(int param1); void cmdSpecial3(); void doIntro(int param1); |