ScummVM API documentation
standard_data.h
1 /* ScummVM - Graphic Adventure Engine
2  *
3  * ScummVM is the legal property of its developers, whose names
4  * are too numerous to list here. Please refer to the COPYRIGHT
5  * file distributed with this source distribution.
6  *
7  * This program is free software: you can redistribute it and/or modify
8  * it under the terms of the GNU General Public License as published by
9  * the Free Software Foundation, either version 3 of the License, or
10  * (at your option) any later version.
11  *
12  * This program is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15  * GNU General Public License for more details.
16  *
17  * You should have received a copy of the GNU General Public License
18  * along with this program. If not, see <http://www.gnu.org/licenses/>.
19  *
20  */
21 
22 #ifndef MTROPOLIS_PLUGIN_STANDARD_DATA_H
23 #define MTROPOLIS_PLUGIN_STANDARD_DATA_H
24 
25 #include "mtropolis/data.h"
26 
27 namespace MTropolis {
28 
29 namespace Data {
30 
31 namespace Standard {
32 
35 
36  bool haveRemoveWhen;
37 
38  PlugInTypeTaggedValue applyWhen;
39  PlugInTypeTaggedValue removeWhen;
40  PlugInTypeTaggedValue cursorIDAsLabel;
41 
42 protected:
43  DataReadErrorCode load(PlugIn &plugIn, const PlugInModifier &prefix, DataReader &reader) override;
44 };
45 
47  PlugInTypeTaggedValue enableWhen; // Event
48  PlugInTypeTaggedValue disableWhen; // Event
49  PlugInTypeTaggedValue transitionType; // int
50  PlugInTypeTaggedValue transitionDirection; // int
51  PlugInTypeTaggedValue unknown1; // int, seems to always be 1
52  PlugInTypeTaggedValue steps; // int, seems to always be 32
53  PlugInTypeTaggedValue duration; // int, always observed as 60000
54  PlugInTypeTaggedValue fullScreen; // bool
55 
56 protected:
57  DataReadErrorCode load(PlugIn &plugIn, const PlugInModifier &prefix, DataReader &reader) override;
58 };
59 
61  enum MessageFlags {
62  kMessageFlagImmediate = 0x1,
63  kMessageFlagCascade = 0x2,
64  kMessageFlagRelay = 0x4,
65  };
66 
67  enum TriggerTiming {
68  kTriggerTimingStart = 0,
69  kTriggerTimingDuring = 1,
70  kTriggerTimingEnd = 2,
71  };
72 
74 
75  PlugInTypeTaggedValue enableWhen;
76  PlugInTypeTaggedValue disableWhen;
77  PlugInTypeTaggedValue sendEvent;
78  PlugInTypeTaggedValue nonStandardMessageFlags; // int type, non-standard
79  uint16 unknown1;
80  uint32 destination;
81  uint32 unknown2;
83  PlugInTypeTaggedValue executeAt; // May validly be a label, variable, integer, or integer range
84  PlugInTypeTaggedValue triggerTiming; // int type
85 
86 protected:
87  DataReadErrorCode load(PlugIn &plugIn, const PlugInModifier &prefix, DataReader &reader) override;
88 };
89 
91  PlugInTypeTaggedValue setToSourceParentWhen;
92  PlugInTypeTaggedValue unknown1;
93  PlugInTypeTaggedValue objectPath;
94 
95 protected:
96  DataReadErrorCode load(PlugIn &plugIn, const PlugInModifier &prefix, DataReader &reader) override;
97 };
98 
100  enum ContentsType {
101  kContentsTypeInteger = 1,
102  kContentsTypePoint = 2,
103  kContentsTypeRange = 3,
104  kContentsTypeFloat = 4,
105  kContentsTypeString = 5,
106  kContentsTypeObject = 6,
107  kContentsTypeVector = 8,
108  kContentsTypeBoolean = 9,
109  };
110 
113 
114  uint16 unknown1;
115  uint32 contentsType;
116  uint8 unknown2[4];
117 
118  bool havePersistentData;
119  uint32 numValues;
120  PlugInTypeTaggedValue *values;
121 
122  bool persistentValuesGarbled;
123 
124 protected:
125  DataReadErrorCode load(PlugIn &plugIn, const PlugInModifier &prefix, DataReader &reader) override;
126 };
127 
129 protected:
130  DataReadErrorCode load(PlugIn &plugIn, const PlugInModifier &prefix, DataReader &reader) override;
131 };
132 
134  PlugInTypeTaggedValue unknown1Event; // Probably "Enable When"
135  PlugInTypeTaggedValue unknown2Event; // Probably "Disable When"
136  PlugInTypeTaggedValue unknown3Int; // Int
137  PlugInTypeTaggedValue unknown4Int; // Int
138  PlugInTypeTaggedValue unknown5Int; // Int
139 
140 protected:
141  DataReadErrorCode load(PlugIn &plugIn, const PlugInModifier &prefix, DataReader &reader) override;
142 };
143 
145  PlugInTypeTaggedValue unknown1Event; // Probably "Enable When"
146  PlugInTypeTaggedValue unknown2Event; // Probably "Disable When"
147  PlugInTypeTaggedValue unknown3Int; // Int
148  PlugInTypeTaggedValue unknown4Int; // Int
149  PlugInTypeTaggedValue unknown5Int; // Int
150 
151 protected:
152  DataReadErrorCode load(PlugIn &plugIn, const PlugInModifier &prefix, DataReader &reader) override;
153 };
154 
155 } // End of namespace Standard
156 
157 } // End of namespace Data
158 
159 } // End of namespace MTropolis
160 
161 #endif
Definition: standard_data.h:46
Definition: runtime.h:1185
Definition: standard_data.h:128
Definition: standard_data.h:133
Definition: actions.h:25
Definition: standard_data.h:144
Definition: data.h:1891
Definition: data.h:261
Definition: standard_data.h:33