ScummVM API documentation
thereware_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_THEREWARE_DATA_H
23
#define MTROPOLIS_PLUGIN_THEREWARE_DATA_H
24
25
#include "mtropolis/data.h"
26
27
namespace
MTropolis
{
28
29
namespace
Data {
30
31
namespace
Thereware {
32
33
// Known Thereware custom modifiers:
34
// * Alpha Kit:
35
// - Alpha: Alpha channel support for graphics and mToons
36
// - AlphaMatic: Automatically creates alpha information on graphics
37
//
38
// * HotText Kit:
39
// - HotText: Hypertext and scrolling text
40
// - KeyScroll: Keyboard scrolling for HotText
41
//
42
// * Spinner Kit:
43
// - Spinner: Effect for spinning an element with depth/two-sidedness
44
// - TurnOver: Like spinner, but specifically for 180 degree spins
45
// - Flipper: reflect graphics elements around horizontal or vertical axis
46
// - Squish: Squishing and elasticity for images
47
//
48
// * Rotator Kit:
49
// - Rotator: Rotation of graphics and mToons
50
// - Tracker: Track mouse or elements as a rotation angle source
51
//
52
// * WrapAround Kit:
53
// - WrapAround: wraparound effect for graphics and mToons
54
// - EasyScroller: various detail controls for scrolling behavior
55
//
56
// * Quick Kit:
57
// - Flasher: Lets objects blink on the screen
58
// - Snapper: Creates an invisible grid that elements can snap onto when dragged
59
// - Conductor: Forward messages to all the children of an element
60
// - Randomizer: Use random numbers without Miniscript
61
//
62
// * Mercury Kit:
63
// - DoubleClick: Messages on doubleclick. Can also do the same as the Counter messenger.
64
// - MouseTrap: Blocks/filters messages for a certain time period.
65
// - RandomTimer: Allows Miniscript altercations to the Timer messenger
66
// Same as FlexiTimer in FixIt Kit
67
// - Repeater: Timer messenger that adds a certain delay before looping
68
// - Counter: Sends a message after a certain number of incoming messages
69
// - TimeLoop: Sends message a certain number of times
70
//
71
// * System Kit:
72
// - Platform: Indicates computer type and OS
73
//
74
// * FixIt Kit:
75
// - GoThere: Moves an element to an arbitrary point on the screen.
76
// Superceded by the Point Motion modifier in mTropolis 2.0.
77
// - FlexiTimer: Allows Miniscript altercations to the Timer messenger
78
// Same as RandomTimer in Mercury Kit
79
//
80
//
81
// While those Kits were available individually, for mTropolis 2.0
82
// they were also available as a complete bundle in a single plugin,
83
// the Thereware Pro Kit.
84
85
86
struct
ConductorModifier
:
public
PlugInModifierData
{
87
PlugInTypeTaggedValue
unknown1Null;
88
PlugInTypeTaggedValue
unknown2Null;
89
PlugInTypeTaggedValue
unknown3Int;
90
PlugInTypeTaggedValue
unknown4Null;
91
PlugInTypeTaggedValue
unknown5Null;
92
PlugInTypeTaggedValue
unknown6Null;
93
PlugInTypeTaggedValue
unknown7Event;
94
PlugInTypeTaggedValue
unknown8Null;
95
PlugInTypeTaggedValue
unknown9Int;
96
protected
:
97
DataReadErrorCode load(
PlugIn
&plugIn,
const
PlugInModifier
&prefix,
DataReader
&reader)
override
;
98
};
99
100
struct
AlphaMaticModifier
:
public
PlugInModifierData
{
101
protected
:
102
DataReadErrorCode load(
PlugIn
&plugIn,
const
PlugInModifier
&prefix,
DataReader
&reader)
override
;
103
};
104
105
struct
RotatorModifier
:
public
PlugInModifierData
{
106
PlugInTypeTaggedValue
unknown1Event;
107
PlugInTypeTaggedValue
unknown2Event;
108
PlugInTypeTaggedValue
unknown3Bool;
109
PlugInTypeTaggedValue
unknown4Int;
110
PlugInTypeTaggedValue
unknown5Float;
111
PlugInTypeTaggedValue
unknown6Bool;
112
PlugInTypeTaggedValue
unknown7Point;
113
PlugInTypeTaggedValue
unknown8Int;
114
PlugInTypeTaggedValue
unknown9Bool;
115
PlugInTypeTaggedValue
unknown10Int;
116
PlugInTypeTaggedValue
unknown11Event;
117
PlugInTypeTaggedValue
unknown12Label;
118
PlugInTypeTaggedValue
unknown13Null;
119
PlugInTypeTaggedValue
unknown14Int;
120
PlugInTypeTaggedValue
unknown15Point;
121
PlugInTypeTaggedValue
unknown16Point;
122
PlugInTypeTaggedValue
unknown17Point;
123
PlugInTypeTaggedValue
unknown18Bool;
124
PlugInTypeTaggedValue
unknown19Point;
125
PlugInTypeTaggedValue
unknown20Int;
126
protected
:
127
DataReadErrorCode load(
PlugIn
&plugIn,
const
PlugInModifier
&prefix,
DataReader
&reader)
override
;
128
};
129
130
struct
TrackerModifier
:
public
PlugInModifierData
{
131
PlugInTypeTaggedValue
unknown1Event;
132
PlugInTypeTaggedValue
unknown2Event;
133
PlugInTypeTaggedValue
unknown3Label;
134
PlugInTypeTaggedValue
unknown4Int;
135
PlugInTypeTaggedValue
unknown5Int;
136
PlugInTypeTaggedValue
unknown6Label;
137
PlugInTypeTaggedValue
unknown7Bool;
138
protected
:
139
DataReadErrorCode load(
PlugIn
&plugIn,
const
PlugInModifier
&prefix,
DataReader
&reader)
override
;
140
};
141
142
143
struct
DoubleClickModifier
:
public
PlugInModifierData
{
144
PlugInTypeTaggedValue
unknown1UniversalTime;
145
PlugInTypeTaggedValue
unknown2Event;
146
PlugInTypeTaggedValue
unknown3Event;
147
PlugInTypeTaggedValue
unknown4Null;
148
PlugInTypeTaggedValue
unknown5Label;
149
PlugInTypeTaggedValue
unknown6Int;
150
PlugInTypeTaggedValue
unknown7Int;
151
152
protected
:
153
DataReadErrorCode load(
PlugIn
&plugIn,
const
PlugInModifier
&prefix,
DataReader
&reader)
override
;
154
};
155
156
struct
MouseTrapModifier
:
public
PlugInModifierData
{
157
PlugInTypeTaggedValue
unknown1UniversalTime;
158
PlugInTypeTaggedValue
unknown2Event;
159
PlugInTypeTaggedValue
unknown3Event;
160
PlugInTypeTaggedValue
unknown4Event;
161
PlugInTypeTaggedValue
unknown5Null;
162
PlugInTypeTaggedValue
unknown6Label;
163
PlugInTypeTaggedValue
unknown7Int;
164
protected
:
165
DataReadErrorCode load(
PlugIn
&plugIn,
const
PlugInModifier
&prefix,
DataReader
&reader)
override
;
166
};
167
168
struct
WrapAroundModifier
:
public
PlugInModifierData
{
169
PlugInTypeTaggedValue
unknown1Event;
170
PlugInTypeTaggedValue
unknown2Event;
171
PlugInTypeTaggedValue
unknown3Point;
172
PlugInTypeTaggedValue
unknown4Int;
173
PlugInTypeTaggedValue
unknown5Bool;
174
PlugInTypeTaggedValue
unknown6Int;
175
protected
:
176
DataReadErrorCode load(
PlugIn
&plugIn,
const
PlugInModifier
&prefix,
DataReader
&reader)
override
;
177
};
178
179
struct
EasyScrollerModifier
:
public
PlugInModifierData
{
180
PlugInTypeTaggedValue
unknown1Event;
181
PlugInTypeTaggedValue
unknown2Event;
182
PlugInTypeTaggedValue
unknown3Int;
183
PlugInTypeTaggedValue
unknown4Int;
184
PlugInTypeTaggedValue
unknown5Label;
185
PlugInTypeTaggedValue
unknown6Int;
186
PlugInTypeTaggedValue
unknown7Int;
187
PlugInTypeTaggedValue
unknown8Int;
188
PlugInTypeTaggedValue
unknown9Int;
189
protected
:
190
DataReadErrorCode load(
PlugIn
&plugIn,
const
PlugInModifier
&prefix,
DataReader
&reader)
override
;
191
};
192
193
struct
TimeLoopModifier
:
public
PlugInModifierData
{
194
PlugInTypeTaggedValue
unknown1Event;
195
PlugInTypeTaggedValue
unknown2Event;
196
PlugInTypeTaggedValue
unknown3Event;
197
PlugInTypeTaggedValue
unknown4Null;
198
PlugInTypeTaggedValue
unknown5Label;
199
PlugInTypeTaggedValue
unknown6Int;
200
PlugInTypeTaggedValue
unknown7Int;
201
PlugInTypeTaggedValue
unknown8UniversalTime;
202
PlugInTypeTaggedValue
unknown9Bool;
203
protected
:
204
DataReadErrorCode load(
PlugIn
&plugIn,
const
PlugInModifier
&prefix,
DataReader
&reader)
override
;
205
};
206
207
struct
GoThereModifier
:
public
PlugInModifierData
{
208
PlugInTypeTaggedValue
unknown1Event;
209
PlugInTypeTaggedValue
unknown2Event;
210
PlugInTypeTaggedValue
unknown3Point;
211
PlugInTypeTaggedValue
unknown4UniversalTime;
212
PlugInTypeTaggedValue
unknown5Event;
213
PlugInTypeTaggedValue
unknown6Label;
214
PlugInTypeTaggedValue
unknown7Null;
215
PlugInTypeTaggedValue
unknown8Int;
216
PlugInTypeTaggedValue
unknown9Int;
217
PlugInTypeTaggedValue
unknown10Bool;
218
PlugInTypeTaggedValue
unknown11Bool;
219
protected
:
220
DataReadErrorCode load(
PlugIn
&plugIn,
const
PlugInModifier
&prefix,
DataReader
&reader)
override
;
221
};
222
223
struct
RandomizerModifier
:
public
PlugInModifierData
{
224
PlugInTypeTaggedValue
unknown1Int;
225
PlugInTypeTaggedValue
unknown2Int;
226
PlugInTypeTaggedValue
unknown3Int;
227
protected
:
228
DataReadErrorCode load(
PlugIn
&plugIn,
const
PlugInModifier
&prefix,
DataReader
&reader)
override
;
229
};
230
231
struct
HotTextModifier
:
public
PlugInModifierData
{
232
233
protected
:
234
DataReadErrorCode load(
PlugIn
&plugIn,
const
PlugInModifier
&prefix,
DataReader
&reader)
override
;
235
};
236
237
struct
KeyScrollModifier
:
public
PlugInModifierData
{
238
239
protected
:
240
DataReadErrorCode load(
PlugIn
&plugIn,
const
PlugInModifier
&prefix,
DataReader
&reader)
override
;
241
};
242
243
}
// End of namespace Thereware
244
245
}
// End of namespace Data
246
247
}
// End of namespace MTropolis
248
249
#endif
MTropolis::Data::Thereware::TrackerModifier
Definition:
thereware_data.h:130
MTropolis::Data::Thereware::AlphaMaticModifier
Definition:
thereware_data.h:100
MTropolis::Data::Thereware::KeyScrollModifier
Definition:
thereware_data.h:237
MTropolis::Data::Thereware::TimeLoopModifier
Definition:
thereware_data.h:193
MTropolis::Data::Thereware::RandomizerModifier
Definition:
thereware_data.h:223
MTropolis::Data::Thereware::GoThereModifier
Definition:
thereware_data.h:207
MTropolis::Data::Thereware::ConductorModifier
Definition:
thereware_data.h:86
MTropolis::Data::Thereware::EasyScrollerModifier
Definition:
thereware_data.h:179
MTropolis::Data::PlugInTypeTaggedValue
Definition:
data.h:467
MTropolis::PlugIn
Definition:
runtime.h:1185
MTropolis::Data::Thereware::RotatorModifier
Definition:
thereware_data.h:105
MTropolis::Data::Thereware::HotTextModifier
Definition:
thereware_data.h:231
MTropolis
Definition:
actions.h:25
MTropolis::Data::PlugInModifierData
Definition:
data.h:1899
MTropolis::Data::Thereware::WrapAroundModifier
Definition:
thereware_data.h:168
MTropolis::Data::PlugInModifier
Definition:
data.h:1904
MTropolis::Data::DataReader
Definition:
data.h:261
MTropolis::Data::Thereware::MouseTrapModifier
Definition:
thereware_data.h:156
MTropolis::Data::Thereware::DoubleClickModifier
Definition:
thereware_data.h:143
engines
mtropolis
plugin
thereware_data.h
Generated on Wed Sep 3 2025 09:12:19 for ScummVM API documentation by
1.8.13