aboutsummaryrefslogtreecommitdiff
path: root/engines/sherlock/scene.h
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/scene.h
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/scene.h')
-rw-r--r--engines/sherlock/scene.h35
1 files changed, 35 insertions, 0 deletions
diff --git a/engines/sherlock/scene.h b/engines/sherlock/scene.h
index f92dfccfad..e216c2bd9d 100644
--- a/engines/sherlock/scene.h
+++ b/engines/sherlock/scene.h
@@ -24,6 +24,9 @@
#define SHERLOCK_SCENE_H
#include "common/scummsys.h"
+#include "common/array.h"
+#include "common/rect.h"
+#include "sherlock/objects.h"
#include "sherlock/resources.h"
namespace Sherlock {
@@ -32,11 +35,32 @@ namespace Sherlock {
class SherlockEngine;
+struct BgFileHeader {
+ int _numStructs;
+ int _numImages;
+ int _numcAnimations;
+ int _descSize;
+ int _seqSize;
+ int _fill;
+
+ void synchronize(Common::SeekableReadStream &s);
+};
+
+struct BgfileheaderInfo {
+ int _fSize; // How long images are
+ int _maxFrames; // How many unique frames in object
+ Common::String _filename; // Filename of object
+
+ void synchronize(Common::SeekableReadStream &s);
+};
+
class Scene {
private:
SherlockEngine *_vm;
void loadScene();
+
+ void loadScene(const Common::String &filename);
public:
bool _stats[SCENES_COUNT][9];
bool _savedStats[SCENES_COUNT][9];
@@ -50,6 +74,17 @@ public:
int _menuMode, _keyboardInput;
int _oldKey, _help, _oldHelp;
int _oldTemp, _temp;
+ bool _walkedInScene;
+ int _ongoingCans;
+ int _version;
+ bool _lzwMode;
+ int _invGraphicItems;
+ Common::String _comments;
+ Common::Array<char> _descText;
+ Common::Array<Common::Rect> _roomBounds;
+ Common::Array<Object> _bgShapes;
+ Common::Array<CAnim> _cAnim;
+ Common::Array<byte> _sequenceBuffer;
public:
Scene(SherlockEngine *vm);
~Scene();