diff options
author | Paul Gilbert | 2015-03-20 22:01:52 -0400 |
---|---|---|
committer | Paul Gilbert | 2015-03-20 22:01:52 -0400 |
commit | f0ad2f624bddcc031c99a487bff1d5ec89956477 (patch) | |
tree | f296f220023cb9309102b4468a0b441ddb3751b1 /engines/sherlock/sherlock.cpp | |
parent | cf92e540db2d58f243abe595da40a7da4450911f (diff) | |
download | scummvm-rg350-f0ad2f624bddcc031c99a487bff1d5ec89956477.tar.gz scummvm-rg350-f0ad2f624bddcc031c99a487bff1d5ec89956477.tar.bz2 scummvm-rg350-f0ad2f624bddcc031c99a487bff1d5ec89956477.zip |
SHERLOCK: More scene loading, implemented Inventory class
Diffstat (limited to 'engines/sherlock/sherlock.cpp')
-rw-r--r-- | engines/sherlock/sherlock.cpp | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/engines/sherlock/sherlock.cpp b/engines/sherlock/sherlock.cpp index 115d9f0130..65dc6c80a5 100644 --- a/engines/sherlock/sherlock.cpp +++ b/engines/sherlock/sherlock.cpp @@ -33,6 +33,7 @@ SherlockEngine::SherlockEngine(OSystem *syst, const SherlockGameDescription *gam _animation = nullptr; _debugger = nullptr; _events = nullptr; + _inventory = nullptr; _journal = nullptr; _people = nullptr; _res = nullptr; @@ -50,6 +51,7 @@ SherlockEngine::~SherlockEngine() { delete _animation; delete _debugger; delete _events; + delete _inventory; delete _journal; delete _people; delete _res; @@ -82,6 +84,7 @@ void SherlockEngine::initialize() { _animation = new Animation(this); _debugger = new Debugger(this); _events = new EventsManager(this); + _inventory = new Inventory(); _journal = new Journal(); _people = new People(this); _scene = new Scene(this); @@ -116,4 +119,25 @@ Common::Error SherlockEngine::run() { return Common::kNoError; } +/** + * Read the state of a global flag + */ +bool SherlockEngine::readFlags(int flagNum) { + bool value = _flags[ABS(flagNum)]; + if (flagNum < 0) + value = !value; + + return value; +} + +/** + * Sets a global flag to either true or false depending on whether the specified + * flag is positive or negative + */ +void SherlockEngine::setFlags(int flagNum) { + _flags[ABS(flagNum)] = flagNum >= 0; + + _scene->checkSceneFlags(true); +} + } // End of namespace Comet |