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
|
#ifndef JSTUDIO_JSTAGE_CONTROL_H
#define JSTUDIO_JSTAGE_CONTROL_H
#include "JSystem/JStage/JSGActor.h"
#include "JSystem/JStage/JSGAmbientLight.h"
#include "JSystem/JStage/JSGCamera.h"
#include "JSystem/JStage/JSGFog.h"
#include "JSystem/JStage/JSGLight.h"
#include "JSystem/JStage/JSGSystem.h"
#include "JSystem/JStudio/JStudio/jstudio-object.h"
namespace JStudio_JStage {
struct TCreateObject : public JStudio::TCreateObject {
TCreateObject(const JStage::TSystem* pSystem) {
mSystem = pSystem;
}
virtual ~TCreateObject();
virtual bool create(JStudio::TObject**, JStudio::stb::data::TParse_TBlock_object const&);
virtual JStage::TObject* find(const JStudio::stb::data::TParse_TBlock_object&, JStage::TEObject);
/* 0x0C */ const JStage::TSystem* mSystem;
};
template <typename Adaptor, typename Object>
struct TVariableValueOutput_object_;
struct TAdaptor_object_ {
static void adaptor_data_(JStage::TObject*, void const*, u32, void const*, u32);
static void adaptor_ENABLE_(JStage::TObject*, JStudio::data::TEOperationData, void const*, u32);
/* 0x0 */ JStudio::TAdaptor* field_0x0;
/* 0x4 */ JStage::TSystem* mSystem;
/* 0x8 */ JStage::TObject* mObject;
};
struct TAdaptor_actor : public JStudio::TAdaptor_actor {
typedef void (JStage::TActor::*IDFunction)(u32);
typedef TVariableValueOutput_object_<TAdaptor_actor, JStage::TActor> TVVOutputObject;
struct TVVOutput_ANIMATION_FRAME_ : public JStudio::TVariableValue::TOutput {
typedef void (JStage::TActor::*Setter)(f32);
typedef f32 (JStage::TActor::*Getter)() const;
typedef f32 (JStage::TActor::*MaxGetter)() const;
TVVOutput_ANIMATION_FRAME_(int valueIndex, u32 val, Setter setter, Getter getter, MaxGetter maxGetter)
: TOutput()
, mValueIndex(valueIndex)
, _08(val)
, mSetter(setter)
, mGetter(getter)
, mMaxGetter(maxGetter)
{
}
virtual void operator()(f32, JStudio::TAdaptor*) const;
inline virtual ~TVVOutput_ANIMATION_FRAME_();
// _00 = VTBL
int mValueIndex; // _04
u32 _08; // _08
Setter mSetter; // _0C
Getter mGetter; // _18
MaxGetter mMaxGetter; // _24
};
TAdaptor_actor(JStage::TSystem const*, JStage::TActor*);
virtual ~TAdaptor_actor();
virtual void adaptor_do_prepare(const JStudio::TObject*);
virtual void adaptor_do_begin(const JStudio::TObject*);
virtual void adaptor_do_end(const JStudio::TObject*);
virtual void adaptor_do_update(const JStudio::TObject*, u32);
virtual void adaptor_do_data(const JStudio::TObject*, void const*, u32, void const*, u32);
virtual void adaptor_do_PARENT(JStudio::data::TEOperationData, void const*, u32);
virtual void adaptor_do_PARENT_NODE(JStudio::data::TEOperationData, void const*, u32);
virtual void adaptor_do_PARENT_ENABLE(JStudio::data::TEOperationData, void const*, u32);
virtual void adaptor_do_RELATION(JStudio::data::TEOperationData, void const*, u32);
virtual void adaptor_do_RELATION_NODE(JStudio::data::TEOperationData, void const*, u32);
virtual void adaptor_do_RELATION_ENABLE(JStudio::data::TEOperationData, void const*, u32);
virtual void adaptor_do_SHAPE(JStudio::data::TEOperationData, void const*, u32);
virtual void adaptor_do_ANIMATION(JStudio::data::TEOperationData, void const*, u32);
virtual void adaptor_do_ANIMATION_MODE(JStudio::data::TEOperationData, void const*, u32);
virtual void adaptor_do_TEXTURE_ANIMATION(JStudio::data::TEOperationData, void const*, u32);
virtual void adaptor_do_TEXTURE_ANIMATION_MODE(JStudio::data::TEOperationData, void const*, u32);
void setJSG_ID_(void (JStage::TActor::*)(u32),
JStudio::data::TEOperationData, void const*, u32);
static const TVVOutputObject saoVVOutput_[];
static const TVVOutput_ANIMATION_FRAME_ saoVVOutput_ANIMATION_FRAME_[];
/* 0x124 */ const JStage::TSystem* mSystem;
/* 0x128 */ JStage::TActor* mObject;
/* 0x12C */ JStage::TObject* m12C;
/* 0x130 */ u32 m130;
/* 0x134 */ JStage::TObject* m134;
/* 0x138 */ u32 m138;
/* 0x13C */ u32 m13C;
/* 0x140 */ u32 m140;
}; // Size: 0x144
struct TAdaptor_ambientLight : public JStudio::TAdaptor_ambientLight {
TAdaptor_ambientLight(JStage::TSystem const*, JStage::TAmbientLight*);
virtual ~TAdaptor_ambientLight();
virtual void adaptor_do_prepare(const JStudio::TObject*);
virtual void adaptor_do_begin(const JStudio::TObject*);
virtual void adaptor_do_end(const JStudio::TObject*);
virtual void adaptor_do_update(const JStudio::TObject*, u32);
virtual void adaptor_do_data(const JStudio::TObject*, void const*, u32, void const*, u32);
/* 0x5C */ const JStage::TSystem* mSystem;
/* 0x60 */ JStage::TAmbientLight* mLight;
}; // Size: 0x64
struct TAdaptor_camera : public JStudio::TAdaptor_camera {
typedef TVariableValueOutput_object_<TAdaptor_camera, JStage::TCamera> TVVOutput;
TAdaptor_camera(JStage::TSystem const*, JStage::TCamera*);
virtual ~TAdaptor_camera();
virtual void adaptor_do_prepare(const JStudio::TObject*);
virtual void adaptor_do_begin(const JStudio::TObject*);
virtual void adaptor_do_end(const JStudio::TObject*);
virtual void adaptor_do_update(const JStudio::TObject*, u32);
virtual void adaptor_do_data(const JStudio::TObject*, void const*, u32, void const*, u32);
virtual void adaptor_do_PARENT(JStudio::data::TEOperationData, void const*, u32);
virtual void adaptor_do_PARENT_NODE(JStudio::data::TEOperationData, void const*, u32);
virtual void adaptor_do_PARENT_ENABLE(JStudio::data::TEOperationData, void const*, u32);
static const TVVOutput saoVVOutput_[];
/* 0xE8 */ const JStage::TSystem* mSystem;
/* 0xEC */ JStage::TCamera* mObject;
/* 0xF0 */ JStage::TObject* mF0;
/* 0xF4 */ u32 mF4;
}; // Size: 0xF8
struct TAdaptor_fog : public JStudio::TAdaptor_fog {
typedef TVariableValueOutput_object_<TAdaptor_fog, JStage::TFog> TVVOutput;
TAdaptor_fog(JStage::TSystem const*, JStage::TFog*);
virtual ~TAdaptor_fog();
virtual void adaptor_do_prepare(const JStudio::TObject*);
virtual void adaptor_do_begin(const JStudio::TObject*);
virtual void adaptor_do_end(const JStudio::TObject*);
virtual void adaptor_do_update(const JStudio::TObject*, u32);
virtual void adaptor_do_data(const JStudio::TObject*, void const*, u32, void const*, u32);
static const TVVOutput saoVVOutput_[];
/* 0x84 */ const JStage::TSystem* mSystem;
/* 0x88 */ JStage::TFog* mObject;
}; // Size: 0x8C
template <typename Adaptor, typename Object>
struct TVariableValueOutput_object_ : public JStudio::TVariableValue::TOutput {
typedef void (Object::*Setter)(f32);
typedef f32 (Object::*Getter)() const;
TVariableValueOutput_object_(typename Adaptor::TEVariableValue valueIndex, Setter setter, Getter getter)
: TOutput()
, mValueIndex(valueIndex)
, mSetter(setter)
, mGetter(getter)
{
}
virtual void operator()(f32 value, JStudio::TAdaptor* adaptor) const // _08 (weak)
{
(static_cast<Object*>(static_cast<Adaptor*>(adaptor)->mObject)->*mSetter)(value);
}
virtual ~TVariableValueOutput_object_() { } // _0C (weak)
int mValueIndex; // _04
Setter mSetter; // _08
Getter mGetter; // _14
};
struct TAdaptor_light : public JStudio::TAdaptor_light {
struct TVVOutput_direction_ : public JStudio::TVariableValue::TOutput {
TVVOutput_direction_(JStudio::TAdaptor_light::TEVariableValue val, JStudio_JStage::TAdaptor_light::TEDirection_ dir)
{
mValueIndex = val;
_08 = dir;
}
virtual void operator()(f32, JStudio::TAdaptor*) const;
virtual ~TVVOutput_direction_() {}
void adaptor_setOutput_(JStudio::TAdaptor* adaptor) const {
adaptor->adaptor_referVariableValue(mValueIndex)->setOutput(this);
}
bool isEnd_() const { return mValueIndex != -1; }
/* 0x04 */ int mValueIndex;
/* 0x08 */ int _08;
};
TAdaptor_light(JStage::TSystem const*, JStage::TLight*);
virtual ~TAdaptor_light();
virtual void adaptor_do_prepare(const JStudio::TObject*);
virtual void adaptor_do_begin(const JStudio::TObject*);
virtual void adaptor_do_end(const JStudio::TObject*);
virtual void adaptor_do_update(const JStudio::TObject*, u32);
virtual void adaptor_do_data(const JStudio::TObject*, void const*, u32, void const*, u32);
virtual void adaptor_do_ENABLE(JStudio::data::TEOperationData, void const*, u32);
virtual void adaptor_do_FACULTY(JStudio::data::TEOperationData, void const*, u32);
static TVVOutput_direction_ saoVVOutput_direction_[6];
/* 0x110 */ const JStage::TSystem* mSystem;
/* 0x114 */ JStage::TLight* mObject;
/* 0x118 */ int _118;
}; // Size: 0x11C
}; // namespace JStudio_JStage
#endif /* JSTUDIO_JSTAGE_CONTROL_H */
|