From bcaeacf1246b652f1564fc7696719ca9429b5acf Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Fri, 18 May 2012 22:57:25 +1000 Subject: TONY: Implemented support for loading savegames directly from the launcher. It's not perfect.. the startup screen briefly flashes, and Tony briefly disappears when you do a first action afterwards. --- engines/tony/mpal/mpal.cpp | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'engines/tony/mpal/mpal.cpp') diff --git a/engines/tony/mpal/mpal.cpp b/engines/tony/mpal/mpal.cpp index a173b707f2..854372cdda 100644 --- a/engines/tony/mpal/mpal.cpp +++ b/engines/tony/mpal/mpal.cpp @@ -767,8 +767,6 @@ void ActionThread(CORO_PARAM, const void *param) { debugC(DEBUG_DETAILED, kTonyDebugActions, "Action Process %d ended", CoroScheduler.getCurrentPID()); - CORO_KILL_SELF(); - CORO_END_CODE; } @@ -780,6 +778,7 @@ void ActionThread(CORO_PARAM, const void *param) { void ShutUpActionThread(CORO_PARAM, const void *param) { // COROUTINE CORO_BEGIN_CONTEXT; + int slotNumber; CORO_END_CONTEXT(_ctx); uint32 pid = *(const uint32 *)param; @@ -790,7 +789,13 @@ void ShutUpActionThread(CORO_PARAM, const void *param) { GLOBALS.bExecutingAction = false; - CORO_KILL_SELF(); + if (_vm->_initialLoadSlotNumber != -1) { + _ctx->slotNumber = _vm->_initialLoadSlotNumber; + _vm->_initialLoadSlotNumber = -1; + + CORO_INVOKE_1(_vm->LoadState, _ctx->slotNumber); + } + CORO_END_CODE; } -- cgit v1.2.3