aboutsummaryrefslogtreecommitdiff
path: root/engines/sherlock/objects.h
diff options
context:
space:
mode:
authorPaul Gilbert2015-03-20 19:44:32 -0400
committerPaul Gilbert2015-03-20 19:44:32 -0400
commitcf92e540db2d58f243abe595da40a7da4450911f (patch)
tree378de11bcde5fb1bbfc453c7f785b8bfa43e175a /engines/sherlock/objects.h
parent43381e98197f8adb5ee73f8dc05c81b972fedeae (diff)
downloadscummvm-rg350-cf92e540db2d58f243abe595da40a7da4450911f.tar.gz
scummvm-rg350-cf92e540db2d58f243abe595da40a7da4450911f.tar.bz2
scummvm-rg350-cf92e540db2d58f243abe595da40a7da4450911f.zip
SHERLOCK: More scene loading code and support methods
Diffstat (limited to 'engines/sherlock/objects.h')
-rw-r--r--engines/sherlock/objects.h26
1 files changed, 25 insertions, 1 deletions
diff --git a/engines/sherlock/objects.h b/engines/sherlock/objects.h
index 31d9520932..f3879b1143 100644
--- a/engines/sherlock/objects.h
+++ b/engines/sherlock/objects.h
@@ -49,9 +49,31 @@ enum SpriteType {
HIDE_SHAPE = 8 // Object needs to be hidden
};
+enum AType {
+ OBJECT = 0,
+ PERSON = 1,
+ SOLID = 2,
+ TALK = 3, // Standard talk zone
+ FLAG_SET = 4,
+ DELTA = 5,
+ WALK_AROUND = 6,
+ TALK_EVERY = 7, // Talk zone that turns on every room visit
+ TALK_MOVE = 8, // Talk zone that only activates when Holmes moves
+ PAL_CHANGE = 9, // Changes the palette down so that it gets darker
+ PAL_CHANGE2 = 10, // Same as PAL_CHANGE, except that it goes up
+ SCRIPT_ZONE = 11, // If this is clicked in, it is activated
+ BLANK_ZONE = 12, // This masks out other objects when entered
+ NOWALK_ZONE = 13 // Player cannot walk here
+};
+
#define MAX_HOLMES_SEQUENCE 16
#define MAX_FRAME 30
+// code put into sequences to defines 1-10 type seqs
+#define SEQ_TO_CODE 67
+#define FLIP_CODE (64 + 128)
+#define SOUND_CODE (34 + 128)
+
struct Sprite {
Common::String _name; // Name
Common::String _description; // Description
@@ -131,7 +153,7 @@ struct Object {
int _maxFrames; // Number of frames
int _flags; // Tells if object can be walked behind
ActionType _aOpen; // Holds data for moving object
- int _aType; // Tells if this is an object, person, talk, etc.
+ AType _aType; // Tells if this is an object, person, talk, etc.
int _lookFrames; // How many frames to play of the look anim before pausing
int _seqCounter; // How many times this sequence has been executed
Common::Point _lookPosition; // Where to walk when examining object
@@ -147,6 +169,8 @@ struct Object {
UseType _use[4];
void synchronize(Common::SeekableReadStream &s);
+
+ void toggleHidden();
};
struct CAnim {