aboutsummaryrefslogtreecommitdiff
path: root/engines/parallaction/objects.h
diff options
context:
space:
mode:
authorNicola Mettifogo2008-07-26 02:09:50 +0000
committerNicola Mettifogo2008-07-26 02:09:50 +0000
commitaee128467893daa3e3482ad3c9a90b66cbc1bcdf (patch)
tree7592267960614da197516beddad2011582d87827 /engines/parallaction/objects.h
parent1174296a664a7e796cf178297b4e65d6a56bb158 (diff)
downloadscummvm-rg350-aee128467893daa3e3482ad3c9a90b66cbc1bcdf.tar.gz
scummvm-rg350-aee128467893daa3e3482ad3c9a90b66cbc1bcdf.tar.bz2
scummvm-rg350-aee128467893daa3e3482ad3c9a90b66cbc1bcdf.zip
BRA now parses path data from the scripts.
svn-id: r33295
Diffstat (limited to 'engines/parallaction/objects.h')
-rw-r--r--engines/parallaction/objects.h18
1 files changed, 17 insertions, 1 deletions
diff --git a/engines/parallaction/objects.h b/engines/parallaction/objects.h
index 19835da9d0..fd855f9dca 100644
--- a/engines/parallaction/objects.h
+++ b/engines/parallaction/objects.h
@@ -54,6 +54,7 @@ typedef Common::SharedPtr<Instruction> InstructionPtr;
typedef Common::List<InstructionPtr> InstructionList;
extern InstructionPtr nullInstructionPtr;
+typedef Common::List<Common::Point> PointList;
enum ZoneTypes {
kZoneExamine = 1, // zone displays comment if activated
@@ -67,7 +68,10 @@ enum ZoneTypes {
kZoneNone = 0x100, // used to prevent parsing on peculiar Animations
kZoneTrap = 0x200, // zone activated when character enters
kZoneYou = 0x400, // marks the character
- kZoneCommand = 0x800
+ kZoneCommand = 0x800,
+
+ // BRA specific
+ kZonePath = 0x1000 // defines nodes for assisting walk calculation routines
};
@@ -256,6 +260,15 @@ struct MergeData { // size = 12
_obj1 = _obj2 = _obj3 = 0;
}
};
+#define MAX_WALKPOINT_LISTS 20
+struct PathData {
+ int _numLists;
+ PointList _lists[MAX_WALKPOINT_LISTS];
+
+ PathData() {
+ _numLists = 0;
+ }
+};
struct TypeData {
GetData *get;
@@ -264,6 +277,8 @@ struct TypeData {
DoorData *door;
HearData *hear;
MergeData *merge;
+ // BRA specific field
+ PathData *path;
TypeData() {
get = NULL;
@@ -272,6 +287,7 @@ struct TypeData {
door = NULL;
hear = NULL;
merge = NULL;
+ path = NULL;
}
};