aboutsummaryrefslogtreecommitdiff
path: root/engines/parallaction/objects.h
diff options
context:
space:
mode:
authorNicola Mettifogo2009-03-23 20:41:54 +0000
committerNicola Mettifogo2009-03-23 20:41:54 +0000
commit2223627c7541651efd49f0718bbfe71a1625cee3 (patch)
treee0ef02054a967b3ea4b733d75b30e32e2e517963 /engines/parallaction/objects.h
parent7f641cc6becc7481460d77c3e3b78a2eeb5788b0 (diff)
downloadscummvm-rg350-2223627c7541651efd49f0718bbfe71a1625cee3.tar.gz
scummvm-rg350-2223627c7541651efd49f0718bbfe71a1625cee3.tar.bz2
scummvm-rg350-2223627c7541651efd49f0718bbfe71a1625cee3.zip
Merged GetData, HearData, SpeakData, PathData, ExamineData, MergeData into TypeData struct. This simplifies life a bit especially in the parsers.
svn-id: r39645
Diffstat (limited to 'engines/parallaction/objects.h')
-rw-r--r--engines/parallaction/objects.h139
1 files changed, 50 insertions, 89 deletions
diff --git a/engines/parallaction/objects.h b/engines/parallaction/objects.h
index 89ed1350bd..b97c168327 100644
--- a/engines/parallaction/objects.h
+++ b/engines/parallaction/objects.h
@@ -193,102 +193,63 @@ struct Dialogue {
~Dialogue();
};
-struct GetData {
- uint32 _icon;
- GfxObj *gfxobj;
+#define MAX_WALKPOINT_LISTS 20
- GetData() {
- _icon = 0;
- gfxobj = NULL;
- }
-};
-struct SpeakData {
- char _name[32];
- Dialogue *_dialogue;
+struct TypeData {
+ // common
+ GfxObj *_gfxobj; // get, examine, door
+ Common::String _filename; // speak, examine, hear
- SpeakData() {
- _name[0] = '\0';
- _dialogue = NULL;
- }
-};
-struct ExamineData {
- GfxObj *_cnv;
- Common::String _description;
- char* _filename;
-
- ExamineData() {
- _filename = NULL;
- _cnv = NULL;
- }
-};
-struct DoorData {
- char* _location;
- GfxObj *gfxobj;
- Common::Point _startPos;
- uint16 _startFrame;
- // BRA specific
- Common::Point _startPos2;
- uint16 _startFrame2;
-
- DoorData() {
- _location = NULL;
- _startFrame = 0;
- _startPos.x = -1000;
- _startPos.y = -1000;
- _startFrame2 = 0;
- _startPos2.x = -1000;
- _startPos2.y = -1000;
- gfxobj = NULL;
- }
-};
-struct HearData { // size = 20
- char _name[20];
- int _channel;
- int _freq;
-
- HearData() {
- _channel = -1;
- _freq = -1;
- _name[0] = '\0';
- }
-};
-struct MergeData { // size = 12
- uint32 _obj1;
- uint32 _obj2;
- uint32 _obj3;
+ // get
+ uint32 _getIcon;
- MergeData() {
- _obj1 = _obj2 = _obj3 = 0;
- }
-};
-#define MAX_WALKPOINT_LISTS 20
-struct PathData {
- int _numLists;
- PointList _lists[MAX_WALKPOINT_LISTS];
+ // speak
+ Dialogue *_speakDialogue;
- PathData() {
- _numLists = 0;
- }
-};
+ // examine
+ Common::String _examineText;
-struct TypeData {
- GetData *get;
- SpeakData *speak;
- ExamineData *examine;
- DoorData *door;
- HearData *hear;
- MergeData *merge;
- // BRA specific field
- PathData *path;
+ // door
+ Common::String _doorLocation;
+ Common::Point _doorStartPos;
+ uint16 _doorStartFrame;
+ Common::Point _doorStartPos2_br;
+ uint16 _doorStartFrame2_br;
+
+ // hear
+ int _hearChannel;
+ int _hearFreq;
+
+ // merge
+ uint32 _mergeObj1;
+ uint32 _mergeObj2;
+ uint32 _mergeObj3;
+
+ // path
+ int _pathNumLists;
+ PointList _pathLists[MAX_WALKPOINT_LISTS];
TypeData() {
- get = NULL;
- speak = NULL;
- examine = NULL;
- door = NULL;
- hear = NULL;
- merge = NULL;
- path = NULL;
+ _gfxobj = 0;
+ _getIcon = 0;
+ _speakDialogue = 0;
+ _doorStartFrame = 0;
+ _doorStartPos.x = -1000;
+ _doorStartPos.y = -1000;
+ _doorStartFrame2_br = 0;
+ _doorStartPos2_br.x = -1000;
+ _doorStartPos2_br.y = -1000;
+ _hearChannel = -1;
+ _hearFreq = -1;
+ _mergeObj1 = 0;
+ _mergeObj2 = 0;
+ _mergeObj3 = 0;
+ _pathNumLists = 0;
+ }
+
+ ~TypeData() {
+ _gfxobj->release();
+ delete _speakDialogue;
}
};