From 1a85ce8e036a292b3d2569d8044b787e76ce48f9 Mon Sep 17 00:00:00 2001 From: Filippos Karapetis Date: Tue, 9 Nov 2010 19:37:42 +0000 Subject: SCI: Some slight work on SCI3 - Enabled the SCI3 game entries for testing purposes - The resource manager is initialized fully now (with a slight hack) - Added a hack for the demo of Shivers 2 (which seemingly has no scripts or vocabularies) - The engine will stop before parsing any game scripts in SCI3 games, and opens the console for resource manager-related functionality svn-id: r54167 --- engines/sci/sci.cpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'engines/sci/sci.cpp') diff --git a/engines/sci/sci.cpp b/engines/sci/sci.cpp index c9b94d1a8b..60b4ad4098 100644 --- a/engines/sci/sci.cpp +++ b/engines/sci/sci.cpp @@ -224,6 +224,19 @@ Common::Error SciEngine::run() { _audio = new AudioPlayer(_resMan); _gamestate = new EngineState(segMan); _eventMan = new EventManager(_resMan->detectFontExtended()); + + // TODO/FIXME: Remove once SCI3 support is improved + if (getSciVersion() == SCI_VERSION_3) { + initGraphics(); // invoked to init the graphics subsystem + _gamestate->_msgState = NULL; // for proper engine destruction + // Attach the console to use resource manager functionality + _console->attach(); + _console->DebugPrintf("\nSCI3 game, stopping before actual game initialization.\n" + "Resource-related functionality should be usable at this point\n\n"); + _console->onFrame(); + + return Common::kNoError; + } // The game needs to be initialized before the graphics system is initialized, as // the graphics code checks parts of the seg manager upon initialization (e.g. for -- cgit v1.2.3