aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/sci.cpp
diff options
context:
space:
mode:
authorFilippos Karapetis2010-11-09 19:37:42 +0000
committerFilippos Karapetis2010-11-09 19:37:42 +0000
commit1a85ce8e036a292b3d2569d8044b787e76ce48f9 (patch)
treeef6a631b35fa012598d89323b2e63cc7fa3a2c85 /engines/sci/sci.cpp
parent45f4f84e03320cdcac569405b6209b5e763f0bdf (diff)
downloadscummvm-rg350-1a85ce8e036a292b3d2569d8044b787e76ce48f9.tar.gz
scummvm-rg350-1a85ce8e036a292b3d2569d8044b787e76ce48f9.tar.bz2
scummvm-rg350-1a85ce8e036a292b3d2569d8044b787e76ce48f9.zip
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
Diffstat (limited to 'engines/sci/sci.cpp')
-rw-r--r--engines/sci/sci.cpp13
1 files changed, 13 insertions, 0 deletions
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