ScummVM API documentation
obsidian_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_OBSIDIAN_DATA_H
23
#define MTROPOLIS_PLUGIN_OBSIDIAN_DATA_H
24
25
#include "mtropolis/data.h"
26
27
namespace
MTropolis
{
28
29
namespace
Data {
30
31
namespace
Obsidian {
32
33
// Known Obsidian custom modifiers:
34
// Movement - Heat/water effects, "fly" behavior (?)
35
// rectshift - Heat/water/star effects (?)
36
// xorCheck - Inspiration realm canvas puzzle
37
// xorMod - Inspiration realm canvas puzzle
38
// WordMixer - Bureau realm WordMixer terminal
39
// Dictionary - Bureau realm file cabinet dictionary
40
// TextWork - Text manipulation operations
41
42
struct
MovementModifier
:
public
PlugInModifierData
{
43
PlugInTypeTaggedValue
enableWhen;
// Event
44
PlugInTypeTaggedValue
disableWhen;
// Event
45
PlugInTypeTaggedValue
dest;
// Point
46
PlugInTypeTaggedValue
type;
// Bool, seems to always be "false"
47
PlugInTypeTaggedValue
unknown5Point;
// Point, always (0,0)
48
PlugInTypeTaggedValue
unknown6Int;
// Int, always 5
49
PlugInTypeTaggedValue
rate;
// Float
50
PlugInTypeTaggedValue
frequency;
// Int
51
PlugInTypeTaggedValue
triggerEvent;
52
PlugInTypeTaggedValue
unknown10Label;
// Label, always (5,108) which doesn't seem to correspond to anything
53
PlugInTypeTaggedValue
unknown11Null;
// Null, possibly message payload
54
PlugInTypeTaggedValue
unknown12Int;
// Int, always 3, possibly message flags
55
56
protected
:
57
DataReadErrorCode load(
PlugIn
&plugIn,
const
PlugInModifier
&prefix,
DataReader
&reader)
override
;
58
};
59
60
struct
RectShiftModifier
:
public
PlugInModifierData
{
61
PlugInTypeTaggedValue
enableWhen;
// Event, enable when
62
PlugInTypeTaggedValue
disableWhen;
// Event, disable when
63
PlugInTypeTaggedValue
direction;
// Int, 4 = horizontal, 1 = vertical
64
65
protected
:
66
DataReadErrorCode load(
PlugIn
&plugIn,
const
PlugInModifier
&prefix,
DataReader
&reader)
override
;
67
};
68
69
struct
TextWorkModifier
:
public
PlugInModifierData
{
70
protected
:
71
DataReadErrorCode load(
PlugIn
&plugIn,
const
PlugInModifier
&prefix,
DataReader
&reader)
override
;
72
};
73
74
struct
DictionaryModifier
:
public
PlugInModifierData
{
75
PlugInTypeTaggedValue
str;
76
PlugInTypeTaggedValue
index;
77
78
protected
:
79
DataReadErrorCode load(
PlugIn
&plugIn,
const
PlugInModifier
&prefix,
DataReader
&reader)
override
;
80
};
81
82
struct
WordMixerModifier
:
public
PlugInModifierData
{
83
protected
:
84
DataReadErrorCode load(
PlugIn
&plugIn,
const
PlugInModifier
&prefix,
DataReader
&reader)
override
;
85
};
86
87
struct
XorModModifier
:
public
PlugInModifierData
{
88
PlugInTypeTaggedValue
enableWhen;
// Probably "enable when"
89
PlugInTypeTaggedValue
disableWhen;
// Probably "disable when"
90
PlugInTypeTaggedValue
shapeID;
91
92
protected
:
93
DataReadErrorCode load(
PlugIn
&plugIn,
const
PlugInModifier
&prefix,
DataReader
&reader)
override
;
94
};
95
96
struct
XorCheckModifier
:
public
PlugInModifierData
{
97
PlugInTypeTaggedValue
unknown1Event;
// Probably "enable when"
98
PlugInTypeTaggedValue
unknown2Event;
// Probably "disable when"
99
100
protected
:
101
DataReadErrorCode load(
PlugIn
&plugIn,
const
PlugInModifier
&prefix,
DataReader
&reader)
override
;
102
};
103
104
}
// End of namespace Obsidian
105
106
}
// End of namespace Data
107
108
}
// End of namespace MTropolis
109
110
#endif
MTropolis::Data::Obsidian::XorModModifier
Definition:
obsidian_data.h:87
MTropolis::Data::PlugInTypeTaggedValue
Definition:
data.h:458
MTropolis::PlugIn
Definition:
runtime.h:1185
MTropolis::Data::Obsidian::XorCheckModifier
Definition:
obsidian_data.h:96
MTropolis::Data::Obsidian::WordMixerModifier
Definition:
obsidian_data.h:82
MTropolis::Data::Obsidian::DictionaryModifier
Definition:
obsidian_data.h:74
MTropolis::Data::Obsidian::TextWorkModifier
Definition:
obsidian_data.h:69
MTropolis
Definition:
actions.h:25
MTropolis::Data::PlugInModifierData
Definition:
data.h:1886
MTropolis::Data::PlugInModifier
Definition:
data.h:1891
MTropolis::Data::Obsidian::RectShiftModifier
Definition:
obsidian_data.h:60
MTropolis::Data::DataReader
Definition:
data.h:261
MTropolis::Data::Obsidian::MovementModifier
Definition:
obsidian_data.h:42
engines
mtropolis
plugin
obsidian_data.h
Generated on Fri Aug 30 2024 09:15:14 for ScummVM API documentation by
1.8.13