diff options
author | Alyssa Milburn | 2011-07-16 00:57:50 +0200 |
---|---|---|
committer | Alyssa Milburn | 2011-07-16 00:57:50 +0200 |
commit | 70ae2c74e04ac84503cfe9c1a555495700d55e68 (patch) | |
tree | 937e99240814217d2ffea632062501b2dbc59e39 /engines/composer/composer.h | |
parent | 28d4aaf095e4f3979d1f6dc75b53d73f412e83a0 (diff) | |
download | scummvm-rg350-70ae2c74e04ac84503cfe9c1a555495700d55e68.tar.gz scummvm-rg350-70ae2c74e04ac84503cfe9c1a555495700d55e68.tar.bz2 scummvm-rg350-70ae2c74e04ac84503cfe9c1a555495700d55e68.zip |
COMPOSER: Handle loading/unloading pages properly.
Diffstat (limited to 'engines/composer/composer.h')
-rw-r--r-- | engines/composer/composer.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/engines/composer/composer.h b/engines/composer/composer.h index a90eb61459..eba51759a2 100644 --- a/engines/composer/composer.h +++ b/engines/composer/composer.h @@ -139,6 +139,14 @@ struct QueuedScript { uint16 _scriptId; }; +struct PendingPageChange { + PendingPageChange() { } + PendingPageChange(uint16 id, bool remove) : _pageId(id), _remove(remove) { } + + uint16 _pageId; + bool _remove; +}; + class ComposerEngine : public Engine { protected: Common::Error run(); @@ -168,6 +176,7 @@ private: uint _directoriesToStrip; Common::ConfigFile _bookIni; Common::List<Library> _libraries; + Common::Array<PendingPageChange> _pendingPageChanges; Common::Array<uint16> _stack; Common::Array<uint16> _vars; @@ -179,6 +188,7 @@ private: Common::String getStringFromConfig(const Common::String §ion, const Common::String &key); Common::String getFilename(const Common::String §ion, uint id); void loadLibrary(uint id); + void unloadLibrary(uint id); bool hasResource(uint32 tag, uint16 id); Common::SeekableReadStream *getResource(uint32 tag, uint16 id); |