diff --git a/akos.cpp b/akos.cpp index 379b2227f91..54db7e3c6e0 100644 --- a/akos.cpp +++ b/akos.cpp @@ -773,15 +773,17 @@ void Scumm::akos_codec1(AkosRenderer *ar) { return; case 2: // akos_c1_spec2(ar); + warning("akos_c1_spec2"); return; case 3: // akos_c1_spec3(ar); + warning("akos_c1_spec3"); return; } akos_generic_decode(ar); - // akos_c1_0y_decode(ar); +// akos_c1_0y_decode(ar); #if 0 diff --git a/script_v2.cpp b/script_v2.cpp index acdd81466cf..058dabd7c58 100644 --- a/script_v2.cpp +++ b/script_v2.cpp @@ -2509,7 +2509,7 @@ void Scumm::o6_miscOps() { remapActor(derefActorSafe(args[1], "o6_miscOps:14"), args[2],args[3],args[4],args[5]); break; case 15: - warning("o6_miscOps: stub15(%d)", args[1]); + _insaneFlag = args[1]; break; case 16: { byte buf[200]; diff --git a/scumm.h b/scumm.h index cb12b104ca3..b2baf2ea4a6 100644 --- a/scumm.h +++ b/scumm.h @@ -588,6 +588,10 @@ public: void mainRun(); int delta; // global time + /* _insane vars */ + + int _insaneFlag; + void scummInit(); void scummMain(int argc, char **argv); // is it still used ? diff --git a/scummvm.cpp b/scummvm.cpp index 87ed4dcd569..5fb8785ca9a 100644 --- a/scummvm.cpp +++ b/scummvm.cpp @@ -790,7 +790,11 @@ void Scumm::processKbd() { if (_lastKeyHit==_vars[VAR_CUTSCENEEXIT_KEY]) { exitCutscene(); } else if (_lastKeyHit==_vars[VAR_SAVELOADDIALOG_KEY]) { + if ( _features & GF_AFTER_V7) + runScript(_vars[VAR_UNK_SCRIPT],0,0,0); ((Gui*)_gui)->saveLoadDialog(); + if ( _features & GF_AFTER_V7) + runScript(_vars[VAR_UNK_SCRIPT_2],0,0,0); } else if (_lastKeyHit==_vars[VAR_TALKSTOP_KEY]) { _talkDelay = 0; if (_sfxMode==2) diff --git a/sdl.cpp b/sdl.cpp index f127d66f861..74d94b22a4e 100644 --- a/sdl.cpp +++ b/sdl.cpp @@ -1084,6 +1084,9 @@ int main(int argc, char* argv[]) { } scumm->_charsetColor = 0; + + scumm->_insaneFlag = 12; + /* */ scumm->_fullScreen = detector._fullScreen;