1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237
|
/* ScummVM - Graphic Adventure Engine
*
* ScummVM is the legal property of its developers, whose names
* are too numerous to list here. Please refer to the COPYRIGHT
* file distributed with this source distribution.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
#ifndef MTROPOLIS_PLUGIN_THEREWARE_DATA_H
#define MTROPOLIS_PLUGIN_THEREWARE_DATA_H
#include "mtropolis/data.h"
namespace MTropolis {
namespace Data {
namespace Thereware {
// Known Thereware custom modifiers:
// * Alpha Kit:
// - Alpha: Alpha channel support for graphics and mToons
// - AlphaMatic: Automatically creates alpha information on graphics
//
// * HotText Kit:
// - HotText: Hypertext and scrolling text
// - KeyScroll: Keyboard scrolling for HotText
//
// * Spinner Kit:
// - Spinner: Effect for spinning an element with depth/two-sidedness
// - TurnOver: Like spinner, but specifically for 180 degree spins
// - Flipper: reflect graphics elements around horizontal or vertical axis
// - Squish: Squishing and elasticity for images
//
// * Rotator Kit:
// - Rotator: Rotation of graphics and mToons
// - Tracker: Track mouse or elements as a rotation angle source
//
// * WrapAround Kit:
// - WrapAround: wraparound effect for graphics and mToons
// - EasyScroller: various detail controls for scrolling behavior
//
// * Quick Kit:
// - Flasher: Lets objects blink on the screen
// - Snapper: Creates an invisible grid that elements can snap onto when dragged
// - Conductor: Forward messages to all the children of an element
// - Randomizer: Use random numbers without Miniscript
//
// * Mercury Kit:
// - DoubleClick: Messages on doubleclick. Can also do the same as the Counter messenger.
// - MouseTrap: Blocks/filters messages for a certain time period.
// - RandomTimer: Allows Miniscript altercations to the Timer messenger
// Same as FlexiTimer in FixIt Kit
// - Repeater: Timer messenger that adds a certain delay before looping
// - Counter: Sends a message after a certain number of incoming messages
// - TimeLoop: Sends message a certain number of times
//
// * System Kit:
// - Platform: Indicates computer type and OS
//
// * FixIt Kit:
// - GoThere: Moves an element to an arbitrary point on the screen.
// Superceded by the Point Motion modifier in mTropolis 2.0.
// - FlexiTimer: Allows Miniscript altercations to the Timer messenger
// Same as RandomTimer in Mercury Kit
//
//
// While those Kits were available individually, for mTropolis 2.0
// they were also available as a complete bundle in a single plugin,
// the Thereware Pro Kit.
struct ConductorModifier : public PlugInModifierData {
PlugInTypeTaggedValue unknown1Null;
PlugInTypeTaggedValue unknown2Null;
PlugInTypeTaggedValue unknown3Int;
PlugInTypeTaggedValue unknown4Null;
PlugInTypeTaggedValue unknown5Null;
PlugInTypeTaggedValue unknown6Null;
PlugInTypeTaggedValue unknown7Event;
PlugInTypeTaggedValue unknown8Null;
PlugInTypeTaggedValue unknown9Int;
protected:
DataReadErrorCode load(PlugIn &plugIn, const PlugInModifier &prefix, DataReader &reader) override;
};
struct AlphaMaticModifier : public PlugInModifierData {
protected:
DataReadErrorCode load(PlugIn &plugIn, const PlugInModifier &prefix, DataReader &reader) override;
};
struct RotatorModifier : public PlugInModifierData {
PlugInTypeTaggedValue unknown1Event;
PlugInTypeTaggedValue unknown2Event;
PlugInTypeTaggedValue unknown3Bool;
PlugInTypeTaggedValue unknown4Int;
PlugInTypeTaggedValue unknown5Float;
PlugInTypeTaggedValue unknown6Bool;
PlugInTypeTaggedValue unknown7Point;
PlugInTypeTaggedValue unknown8Int;
PlugInTypeTaggedValue unknown9Bool;
PlugInTypeTaggedValue unknown10Int;
PlugInTypeTaggedValue unknown11Event;
PlugInTypeTaggedValue unknown12Label;
PlugInTypeTaggedValue unknown13Null;
PlugInTypeTaggedValue unknown14Int;
PlugInTypeTaggedValue unknown15Point;
PlugInTypeTaggedValue unknown16Point;
PlugInTypeTaggedValue unknown17Point;
PlugInTypeTaggedValue unknown18Bool;
PlugInTypeTaggedValue unknown19Point;
PlugInTypeTaggedValue unknown20Int;
protected:
DataReadErrorCode load(PlugIn &plugIn, const PlugInModifier &prefix, DataReader &reader) override;
};
struct TrackerModifier : public PlugInModifierData {
PlugInTypeTaggedValue unknown1Event;
PlugInTypeTaggedValue unknown2Event;
PlugInTypeTaggedValue unknown3Label;
PlugInTypeTaggedValue unknown4Int;
PlugInTypeTaggedValue unknown5Int;
PlugInTypeTaggedValue unknown6Label;
PlugInTypeTaggedValue unknown7Bool;
protected:
DataReadErrorCode load(PlugIn &plugIn, const PlugInModifier &prefix, DataReader &reader) override;
};
struct DoubleClickModifier : public PlugInModifierData {
PlugInTypeTaggedValue unknown1UniversalTime;
PlugInTypeTaggedValue unknown2Event;
PlugInTypeTaggedValue unknown3Event;
PlugInTypeTaggedValue unknown4Null;
PlugInTypeTaggedValue unknown5Label;
PlugInTypeTaggedValue unknown6Int;
PlugInTypeTaggedValue unknown7Int;
protected:
DataReadErrorCode load(PlugIn &plugIn, const PlugInModifier &prefix, DataReader &reader) override;
};
struct MouseTrapModifier : public PlugInModifierData {
PlugInTypeTaggedValue unknown1UniversalTime;
PlugInTypeTaggedValue unknown2Event;
PlugInTypeTaggedValue unknown3Event;
PlugInTypeTaggedValue unknown4Event;
PlugInTypeTaggedValue unknown5Null;
PlugInTypeTaggedValue unknown6Label;
PlugInTypeTaggedValue unknown7Int;
protected:
DataReadErrorCode load(PlugIn &plugIn, const PlugInModifier &prefix, DataReader &reader) override;
};
struct WrapAroundModifier : public PlugInModifierData {
PlugInTypeTaggedValue unknown1Event;
PlugInTypeTaggedValue unknown2Event;
PlugInTypeTaggedValue unknown3Point;
PlugInTypeTaggedValue unknown4Int;
PlugInTypeTaggedValue unknown5Bool;
PlugInTypeTaggedValue unknown6Int;
protected:
DataReadErrorCode load(PlugIn &plugIn, const PlugInModifier &prefix, DataReader &reader) override;
};
struct EasyScrollerModifier : public PlugInModifierData {
PlugInTypeTaggedValue unknown1Event;
PlugInTypeTaggedValue unknown2Event;
PlugInTypeTaggedValue unknown3Int;
PlugInTypeTaggedValue unknown4Int;
PlugInTypeTaggedValue unknown5Label;
PlugInTypeTaggedValue unknown6Int;
PlugInTypeTaggedValue unknown7Int;
PlugInTypeTaggedValue unknown8Int;
PlugInTypeTaggedValue unknown9Int;
protected:
DataReadErrorCode load(PlugIn &plugIn, const PlugInModifier &prefix, DataReader &reader) override;
};
struct TimeLoopModifier : public PlugInModifierData {
PlugInTypeTaggedValue unknown1Event;
PlugInTypeTaggedValue unknown2Event;
PlugInTypeTaggedValue unknown3Event;
PlugInTypeTaggedValue unknown4Null;
PlugInTypeTaggedValue unknown5Label;
PlugInTypeTaggedValue unknown6Int;
PlugInTypeTaggedValue unknown7Int;
PlugInTypeTaggedValue unknown8UniversalTime;
PlugInTypeTaggedValue unknown9Bool;
protected:
DataReadErrorCode load(PlugIn &plugIn, const PlugInModifier &prefix, DataReader &reader) override;
};
struct GoThereModifier : public PlugInModifierData {
PlugInTypeTaggedValue unknown1Event;
PlugInTypeTaggedValue unknown2Event;
PlugInTypeTaggedValue unknown3Point;
PlugInTypeTaggedValue unknown4UniversalTime;
PlugInTypeTaggedValue unknown5Event;
PlugInTypeTaggedValue unknown6Label;
PlugInTypeTaggedValue unknown7Null;
PlugInTypeTaggedValue unknown8Int;
PlugInTypeTaggedValue unknown9Int;
PlugInTypeTaggedValue unknown10Bool;
PlugInTypeTaggedValue unknown11Bool;
protected:
DataReadErrorCode load(PlugIn &plugIn, const PlugInModifier &prefix, DataReader &reader) override;
};
struct RandomizerModifier : public PlugInModifierData {
PlugInTypeTaggedValue unknown1Int;
PlugInTypeTaggedValue unknown2Int;
PlugInTypeTaggedValue unknown3Int;
protected:
DataReadErrorCode load(PlugIn &plugIn, const PlugInModifier &prefix, DataReader &reader) override;
};
} // End of namespace Thereware
} // End of namespace Data
} // End of namespace MTropolis
#endif
|