aboutsummaryrefslogtreecommitdiff
path: root/engines/sherlock/sherlock.cpp
diff options
context:
space:
mode:
authorPaul Gilbert2015-03-19 23:31:28 -0400
committerPaul Gilbert2015-03-19 23:31:28 -0400
commit77a4227aa4915a860accdd761fb9695d390641dd (patch)
treefa1d9cbb7fe84bc1b851bdbb662c82c9255dab67 /engines/sherlock/sherlock.cpp
parenta02461fcb15da3b2e7e91d9cfb1bca559a1d277b (diff)
downloadscummvm-rg350-77a4227aa4915a860accdd761fb9695d390641dd.tar.gz
scummvm-rg350-77a4227aa4915a860accdd761fb9695d390641dd.tar.bz2
scummvm-rg350-77a4227aa4915a860accdd761fb9695d390641dd.zip
SHERLOCK: Added loading of scene objects
Diffstat (limited to 'engines/sherlock/sherlock.cpp')
-rw-r--r--engines/sherlock/sherlock.cpp11
1 files changed, 9 insertions, 2 deletions
diff --git a/engines/sherlock/sherlock.cpp b/engines/sherlock/sherlock.cpp
index a292ee675c..a963d0bfe5 100644
--- a/engines/sherlock/sherlock.cpp
+++ b/engines/sherlock/sherlock.cpp
@@ -34,6 +34,7 @@ SherlockEngine::SherlockEngine(OSystem *syst, const SherlockGameDescription *gam
_debugger = nullptr;
_events = nullptr;
_journal = nullptr;
+ _people = nullptr;
_res = nullptr;
_scene = nullptr;
_screen = nullptr;
@@ -49,6 +50,7 @@ SherlockEngine::~SherlockEngine() {
delete _debugger;
delete _events;
delete _journal;
+ delete _people;
delete _res;
delete _scene;
delete _screen;
@@ -80,6 +82,7 @@ void SherlockEngine::initialize() {
_debugger = new Debugger(this);
_events = new EventsManager(this);
_journal = new Journal();
+ _people = new People(this);
_scene = new Scene(this);
_screen = new Screen(this);
_sound = new Sound(this);
@@ -92,12 +95,16 @@ Common::Error SherlockEngine::run() {
showOpening();
while (!shouldQuit()) {
- // Prepare for scene, and handle any game-specific scenes
+ // Prepare for scene, and handle any game-specific scenes. This allows
+ // for game specific cutscenes or mini-games that aren't standard scenes
startScene();
if (shouldQuit())
break;
- // Initialize the scene
+ // Reset the active characters to initially just Sherlock
+ _people->reset();
+
+ // Initialize and load the scene.
_scene->selectScene();
// TODO: Implement game and remove this dummy loop