Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
control.h
Go to the documentation of this file.
1#ifndef JSTUDIO_JSTAGE_CONTROL_H
2#define JSTUDIO_JSTAGE_CONTROL_H
3
12
13namespace JStudio_JStage {
15
20
21 /* 80289B00 */ virtual ~TCreateObject();
22 /* 80289B60 */ virtual bool create(JStudio::TObject**,
24
25 /* 0x0C */ const JStage::TSystem* pJSGSystem_;
26};
27
30 pJSGSystem_(param_2), pJSGObject_(param_3) {}
31 /* 8028A470 */ void adaptor_object_data_(void const*, u32, void const*, u32);
32 /* 8028A4BC */ JStage::TObject* adaptor_object_findJSGObject_(char const*);
33 /* 8028A50C */ s32 adaptor_object_findJSGObjectNode_(JStage::TObject const*, char const*);
34 /* 8028A550 */ void adaptor_object_ENABLE_(JStudio::data::TEOperationData, void const*, u32);
35
38
39 /* 0x0 */ JStage::TSystem const* pJSGSystem_;
41};
42
43
44template<class TAdaptor, class TStageObject>
49 TVariableValueOutput_object_(typename TAdaptor::TEVariableValue param_1,
51
52 }
53
55 (((TAdaptor*)param_2)->get_pJSG_()->*field_0x8)(param_1);
56 }
58
59 bool isEnd_() { return field_0x4 == -1; }
60 void adaptor_setOutput_(TAdaptor* adaptor) {
61 adaptor->adaptor_referVariableValue(field_0x4)->setOutput(this);
62 }
64 f32 val = (pObj->*field_0x14)();
65 pAdaptor->adaptor_setVariableValue_immediate(field_0x4, val);
66 }
67
71};
72
79
82 };
83
86 {
98 mSetter = param_3;
99 mGetter = param_4;
101 }
102
103 /* 8028B064 */ virtual void operator()(f32, JStudio::TAdaptor*) const;
104 /* 8028B138 */ virtual ~TVVOutput_ANIMATION_FRAME_();
105
107 adaptor->adaptor_referVariableValue(mValueIndex)->setOutput(this);
108 }
109
111 f32 val = (param_1->*mGetter)();
112 param_2->adaptor_setVariableValue_immediate(mValueIndex, val);
113 }
114
115 bool isEnd_() { return mValueIndex == -1; }
116
117 /* 0x04 */ int mValueIndex;
118 /* 0x08 */ u32 field_0x8;
119 /* 0x0C */ Setter mSetter;
120 /* 0x18 */ Getter mGetter;
122 };
123
124 /* 8028A5F0 */ TAdaptor_actor(JStage::TSystem const*, JStage::TActor*);
125
126 /* 8028A6B4 */ virtual ~TAdaptor_actor();
127 /* 8028A728 */ virtual void adaptor_do_prepare();
128 /* 8028A7B4 */ virtual void adaptor_do_begin();
129 /* 8028A8D8 */ virtual void adaptor_do_end();
130 /* 8028A92C */ virtual void adaptor_do_update(u32);
131 /* 8028A974 */ virtual void adaptor_do_data(void const*, u32, void const*, u32);
132 /* 8028AAC8 */ virtual void adaptor_do_PARENT(JStudio::data::TEOperationData, void const*, u32);
133 /* 8028AB0C */ virtual void adaptor_do_PARENT_NODE(JStudio::data::TEOperationData, void const*,
134 u32);
135 /* 8028AB68 */ virtual void adaptor_do_PARENT_ENABLE(JStudio::data::TEOperationData, void const*,
136 u32);
137 /* 8028ABF0 */ virtual void adaptor_do_PARENT_FUNCTION(JStudio::data::TEOperationData, void const*,
138 u32);
139 /* 8028AC04 */ virtual void adaptor_do_RELATION(JStudio::data::TEOperationData, void const*, u32);
140 /* 8028AC48 */ virtual void adaptor_do_RELATION_NODE(JStudio::data::TEOperationData, void const*,
141 u32);
142 /* 8028ACA4 */ virtual void adaptor_do_RELATION_ENABLE(JStudio::data::TEOperationData, void const*,
143 u32);
144 /* 8028A998 */ virtual void adaptor_do_SHAPE(JStudio::data::TEOperationData, void const*, u32);
145 /* 8028A9F0 */ virtual void adaptor_do_ANIMATION(JStudio::data::TEOperationData, void const*, u32);
146 /* 8028AA48 */ virtual void adaptor_do_ANIMATION_MODE(JStudio::data::TEOperationData, void const*,
147 u32);
149 void const*, u32);
151 void const*, u32);
152
153 /* 8028ACFC */ void setJSG_ID_(void (JStage::TActor::*)(u32),
154 JStudio::data::TEOperationData, void const*, u32);
155 /* 8028AD38 */ void setJSG_SRT_(JStudio::TControl const*);
156 /* 8028AECC */ void getJSG_SRT_(JStudio::TControl const*);
157
159
162
163 /* 0x130 */ u32 field_0x130;
164 /* 0x134 */ u32 field_0x134;
165 /* 0x138 */ u32 field_0x138;
167 /* 0x140 */ u32 field_0x140;
168 /* 0x144 */ u8 field_0x144;
170 /* 0x14C */ u32 field_0x14c;
171};
172
176
177 /* 8028B6AC */ virtual ~TAdaptor_ambientLight();
178 /* 8028B720 */ virtual void adaptor_do_prepare();
179 /* 8028B724 */ virtual void adaptor_do_begin();
180 /* 8028B7B0 */ virtual void adaptor_do_end();
181 /* 8028B804 */ virtual void adaptor_do_update(u32);
182 /* 8028B87C */ virtual void adaptor_do_data(void const*, u32, void const*, u32);
183
185};
186
190
197
198 /* 8028B8A0 */ TAdaptor_camera(JStage::TSystem const*, JStage::TCamera*);
199 /* 8028B960 */ virtual ~TAdaptor_camera();
200 /* 8028B9D4 */ virtual void adaptor_do_prepare();
201 /* 8028BA1C */ virtual void adaptor_do_begin();
202 /* 8028BAF8 */ virtual void adaptor_do_end();
203 /* 8028BB4C */ virtual void adaptor_do_update(u32);
204 /* 8028BBAC */ virtual void adaptor_do_data(void const*, u32, void const*, u32);
205 /* 8028BBD0 */ virtual void adaptor_do_PARENT(JStudio::data::TEOperationData, void const*, u32);
206 /* 8028BC14 */ virtual void adaptor_do_PARENT_NODE(JStudio::data::TEOperationData, void const*, u32);
207 /* 8028BC70 */ virtual void adaptor_do_PARENT_ENABLE(JStudio::data::TEOperationData, void const*, u32);
208 /* 8028BCEC */ virtual void adaptor_do_PARENT_FUNCTION(JStudio::data::TEOperationData, void const*,
209 u32);
210 /* 8028BD00 */ virtual void adaptor_do_TARGET_PARENT(JStudio::data::TEOperationData, void const*, u32);
211 /* 8028BD44 */ virtual void adaptor_do_TARGET_PARENT_NODE(JStudio::data::TEOperationData, void const*,
212 u32);
213 /* 8028BDA0 */ virtual void adaptor_do_TARGET_PARENT_ENABLE(JStudio::data::TEOperationData, void const*,
214 u32);
215
216 /* 8028BDBC */ void setJSG_position_(JStudio::TControl const*);
217 /* 8028BEB8 */ void getJSG_position_(JStudio::TControl const*);
218 /* 8028BFBC */ void setJSG_targetPosition_(JStudio::TControl const*);
219 /* 8028C09C */ void getJSG_targetPosition_(JStudio::TControl const*);
220
222
223 static TVVOutput saoVVOutput_[5];
224
225 /* 0x108 */ int field_0x108;
227 /* 0x110 */ int field_0x110;
228 /* 0x114 */ u8 field_0x114;
230 /* 0x11C */ int field_0x11c;
231 /* 0x120 */ u8 field_0x120;
232};
233
239 };
240
241 /* 8028C574 */ TAdaptor_fog(JStage::TSystem const*, JStage::TFog*);
242 /* 8028C610 */ virtual ~TAdaptor_fog();
243 /* 8028C684 */ virtual void adaptor_do_prepare();
244 /* 8028C6CC */ virtual void adaptor_do_begin();
245 /* 8028C7B4 */ virtual void adaptor_do_end();
246 /* 8028C808 */ virtual void adaptor_do_update(u32);
247 /* 8028C880 */ virtual void adaptor_do_data(void const*, u32, void const*, u32);
248
250
252};
253
256
279
280 /* 8028D24C */ virtual void operator()(f32, JStudio::TAdaptor*) const;
281 /* 8028D258 */ virtual ~TVVOutput_direction_() {}
282
284 adaptor->adaptor_referVariableValue(field_0x4)->setOutput(this);
285 }
286
287 bool isEnd_() { return field_0x4 == -1; }
288
291 };
292
293 /* 8028CB50 */ TAdaptor_light(JStage::TSystem const*, JStage::TLight*);
294 /* 8028CBF4 */ virtual ~TAdaptor_light();
295 /* 8028CC68 */ virtual void adaptor_do_prepare();
296 /* 8028CCB0 */ virtual void adaptor_do_begin();
297 /* 8028CF68 */ virtual void adaptor_do_end();
298 /* 8028CFBC */ virtual void adaptor_do_update(u32);
299 /* 8028D18C */ virtual void adaptor_do_data(void const*, u32, void const*, u32);
300 /* 8028D228 */ virtual void adaptor_do_ENABLE(JStudio::data::TEOperationData, void const*, u32);
301 /* 8028D1B0 */ virtual void adaptor_do_FACULTY(JStudio::data::TEOperationData, void const*, u32);
302
304
306
308};
309
310/* 8028A1F8 */ bool
313 JStage::TObject const*, u32);
314/* 8028A290 */ bool transform_toGlobalFromLocal(f32 (*)[4],
316 JStage::TObject const*, u32);
317
329/* 8028A328 */ bool
332 JStage::TObject const*, u32);
333/* 8028A3CC */ bool transform_toLocalFromGlobal(f32 (*)[4],
335 JStage::TObject const*, u32);
336}; // namespace JStudio_JStage
337
338#endif /* JSTUDIO_JSTAGE_CONTROL_H */
T cLib_calcTimer(T *value)
Definition c_lib.h:74
Definition jstudio-control.h:42
Definition jstudio-object.h:104
Definition stb-data-parse.h:82
static u16 data[4]
Definition d_vibration.cpp:114
f32 Mtx[3][4]
Definition mtx.h:15
TEOperationData
Definition jstudio-object.h:12
void getFromTransformation_T(CMtxP param_1, Vec *param_2)
Definition jstudio-math.h:53
Definition control.h:13
bool transform_toGlobalFromLocal(f32(*)[4], JStudio::TControl::TTransform_translation_rotation_scaling const &, JStage::TObject const *, u32)
Definition object.cpp:10
bool transform_toLocalFromGlobal(f32(*)[4], JStudio::TControl::TTransform_translation_rotation_scaling const &, JStage::TObject const *, u32)
Definition object.cpp:49
Definition functionvalue.cpp:318
Definition JSGActor.h:12
Definition JSGAmbientLight.h:13
Definition JSGCamera.h:24
Definition JSGFog.h:13
Definition JSGLight.h:19
Definition JSGObject.h:11
void JSGFDisableFlag(u32 flag)
Definition JSGObject.h:30
void JSGFEnableFlag(u32 flag)
Definition JSGObject.h:26
Definition JSGSystem.h:21
Definition jstudio-object.h:211
TAdaptor_actor()
Definition jstudio-object.h:212
Definition jstudio-object.h:242
TAdaptor_ambientLight()
Definition jstudio-object.h:243
Definition jstudio-object.h:260
TAdaptor_camera()
Definition jstudio-object.h:261
Definition jstudio-object.h:287
TAdaptor_fog()
Definition jstudio-object.h:288
Definition jstudio-object.h:306
TAdaptor_light()
Definition jstudio-object.h:307
Definition jstudio-object.h:137
TAdaptor(TVariableValue *param_1, u32 param_2)
Definition jstudio-object.h:146
Definition jstudio-control.h:49
Definition jstudio-control.h:11
Definition jstudio-object.h:234
Definition jstudio-object.h:252
Definition jstudio-object.h:279
Definition jstudio-object.h:298
Definition jstudio-object.h:319
Definition jstudio-object.h:25
virtual ~TVVOutput_ANIMATION_FRAME_()
Definition object-actor.cpp:680
void setVariableValue_(JStage::TActor *param_1, JStudio::TAdaptor *param_2)
Definition control.h:110
TVVOutput_ANIMATION_FRAME_(int param_1, u32 param_2, Setter param_3, Getter param_4, MaxGetter param_5)
Definition control.h:94
virtual void operator()(f32, JStudio::TAdaptor *) const
Definition object-actor.cpp:653
void adaptor_setOutput_(TAdaptor *adaptor)
Definition control.h:106
Definition control.h:73
JStage::TActor * get_pJSG_()
Definition control.h:158
TVariableValueOutput_object_< TAdaptor_actor, JStage::TActor > TVVOutputObject
Definition control.h:75
virtual void adaptor_do_PARENT_NODE(JStudio::data::TEOperationData, void const *, u32)
Definition object-actor.cpp:447
void(JStage::TActor::* Setter)(f32)
Definition control.h:76
virtual void adaptor_do_ANIMATION(JStudio::data::TEOperationData, void const *, u32)
Definition object-actor.cpp:388
void setJSG_ID_(void(JStage::TActor::*)(u32), JStudio::data::TEOperationData, void const *, u32)
Definition object-actor.cpp:556
virtual void adaptor_do_TEXTURE_ANIMATION(JStudio::data::TEOperationData, void const *, u32)
Definition object-actor.cpp:411
virtual void adaptor_do_RELATION_ENABLE(JStudio::data::TEOperationData, void const *, u32)
Definition object-actor.cpp:542
JStage::TObject * field_0x13c
Definition control.h:166
virtual void adaptor_do_RELATION_NODE(JStudio::data::TEOperationData, void const *, u32)
Definition object-actor.cpp:523
f32(JStage::TActor::* MaxGetter)() const
Definition control.h:78
virtual void adaptor_do_PARENT_FUNCTION(JStudio::data::TEOperationData, void const *, u32)
Definition object-actor.cpp:496
void setJSG_SRT_(JStudio::TControl const *)
Definition object-actor.cpp:568
virtual void adaptor_do_ANIMATION_MODE(JStudio::data::TEOperationData, void const *, u32)
Definition object-actor.cpp:397
virtual void adaptor_do_end()
Definition object-actor.cpp:356
u32 field_0x138
Definition control.h:165
virtual void adaptor_do_SHAPE(JStudio::data::TEOperationData, void const *, u32)
Definition object-actor.cpp:380
virtual void adaptor_do_RELATION(JStudio::data::TEOperationData, void const *, u32)
Definition object-actor.cpp:509
virtual void adaptor_do_begin()
Definition object-actor.cpp:327
JStage::TObject * field_0x148
Definition control.h:169
u32 field_0x140
Definition control.h:167
TEVariableValue
Definition control.h:80
@ TEACTOR_1
Definition control.h:81
u32 field_0x130
Definition control.h:163
u32 field_0x14c
Definition control.h:170
virtual ~TAdaptor_actor()
Definition object-actor.cpp:265
static TVVOutput_ANIMATION_FRAME_ saoVVOutput_ANIMATION_FRAME_[3]
Definition control.h:161
void getJSG_SRT_(JStudio::TControl const *)
Definition object-actor.cpp:610
virtual void adaptor_do_PARENT(JStudio::data::TEOperationData, void const *, u32)
Definition object-actor.cpp:433
u32 field_0x134
Definition control.h:164
JStudio::TObject_actor ObjectType
Definition control.h:74
virtual void adaptor_do_update(u32)
Definition object-actor.cpp:362
virtual void adaptor_do_data(void const *, u32, void const *, u32)
Definition object-actor.cpp:373
virtual void adaptor_do_PARENT_ENABLE(JStudio::data::TEOperationData, void const *, u32)
Definition object-actor.cpp:466
u8 field_0x144
Definition control.h:168
f32(JStage::TActor::* Getter)() const
Definition control.h:77
static TVVOutputObject saoVVOutput_[2]
Definition control.h:160
virtual void adaptor_do_prepare()
Definition object-actor.cpp:308
virtual void adaptor_do_TEXTURE_ANIMATION_MODE(JStudio::data::TEOperationData, void const *, u32)
Definition object-actor.cpp:420
virtual void adaptor_do_prepare()
Definition object-ambientlight.cpp:21
JStage::TAmbientLight * get_pJSG_()
Definition control.h:184
virtual void adaptor_do_update(u32)
Definition object-ambientlight.cpp:40
virtual void adaptor_do_data(void const *, u32, void const *, u32)
Definition object-ambientlight.cpp:50
JStudio::TObject_ambientLight ObjectType
Definition control.h:174
virtual void adaptor_do_begin()
Definition object-ambientlight.cpp:26
virtual ~TAdaptor_ambientLight()
Definition object-ambientlight.cpp:15
virtual void adaptor_do_end()
Definition object-ambientlight.cpp:34
Definition control.h:187
virtual void adaptor_do_TARGET_PARENT_ENABLE(JStudio::data::TEOperationData, void const *, u32)
Definition object-camera.cpp:205
virtual void adaptor_do_TARGET_PARENT(JStudio::data::TEOperationData, void const *, u32)
Definition object-camera.cpp:172
virtual void adaptor_do_PARENT_NODE(JStudio::data::TEOperationData, void const *, u32)
Definition object-camera.cpp:110
virtual void adaptor_do_update(u32)
Definition object-camera.cpp:77
void getJSG_targetPosition_(JStudio::TControl const *)
Definition object-camera.cpp:304
virtual void adaptor_do_TARGET_PARENT_NODE(JStudio::data::TEOperationData, void const *, u32)
Definition object-camera.cpp:186
void setJSG_targetPosition_(JStudio::TControl const *)
Definition object-camera.cpp:284
TVariableValueOutput_object_< TAdaptor_camera, JStage::TCamera > TVVOutput
Definition control.h:189
virtual void adaptor_do_PARENT_ENABLE(JStudio::data::TEOperationData, void const *, u32)
Definition object-camera.cpp:130
virtual void adaptor_do_PARENT_FUNCTION(JStudio::data::TEOperationData, void const *, u32)
Definition object-camera.cpp:158
virtual ~TAdaptor_camera()
Definition object-camera.cpp:23
TEVariableValue
Definition control.h:191
@ TECAMERA_6
Definition control.h:192
@ TECAMERA_7
Definition control.h:193
@ TECAMERA_9
Definition control.h:195
@ TECAMERA_8
Definition control.h:194
virtual void adaptor_do_end()
Definition object-camera.cpp:71
JStage::TCamera * get_pJSG_()
Definition control.h:221
virtual void adaptor_do_prepare()
Definition object-camera.cpp:43
virtual void adaptor_do_data(void const *, u32, void const *, u32)
Definition object-camera.cpp:89
int field_0x110
Definition control.h:227
u8 field_0x114
Definition control.h:228
void getJSG_position_(JStudio::TControl const *)
Definition object-camera.cpp:245
void setJSG_position_(JStudio::TControl const *)
Definition object-camera.cpp:218
JStage::TObject * field_0x10c
Definition control.h:226
virtual void adaptor_do_begin()
Definition object-camera.cpp:53
int field_0x108
Definition control.h:225
JStage::TObject * field_0x118
Definition control.h:229
int field_0x11c
Definition control.h:230
u8 field_0x120
Definition control.h:231
virtual void adaptor_do_PARENT(JStudio::data::TEOperationData, void const *, u32)
Definition object-camera.cpp:96
JStudio::TObject_camera ObjectType
Definition control.h:188
static TVVOutput saoVVOutput_[5]
Definition control.h:29
Definition control.h:234
virtual ~TAdaptor_fog()
Definition object-fog.cpp:13
JStage::TFog * get_pJSG_()
Definition control.h:249
virtual void adaptor_do_end()
Definition object-fog.cpp:52
TEVariableValue
Definition control.h:236
@ TEFOG_4
Definition control.h:237
@ TEFOG_5
Definition control.h:238
JStudio::TObject_fog ObjectType
Definition control.h:235
virtual void adaptor_do_update(u32)
Definition object-fog.cpp:58
virtual void adaptor_do_prepare()
Definition object-fog.cpp:27
virtual void adaptor_do_begin()
Definition object-fog.cpp:38
static TVariableValueOutput_object_< TAdaptor_fog, JStage::TFog > saoVVOutput_[3]
Definition control.h:19
virtual void adaptor_do_data(void const *, u32, void const *, u32)
Definition object-fog.cpp:68
TEDirection_ field_0x8
Definition control.h:290
virtual void operator()(f32, JStudio::TAdaptor *) const
Definition object-light.cpp:263
TEVariableValue field_0x4
Definition control.h:289
TVVOutput_direction_(TEVariableValue param_1, TEDirection_ param_2)
Definition control.h:275
virtual ~TVVOutput_direction_()
Definition control.h:281
void adaptor_setOutput_(TAdaptor *adaptor)
Definition control.h:283
Definition control.h:254
TEDirection_
Definition control.h:265
@ DIRECTION_1
Definition control.h:267
@ DIRECTION_0
Definition control.h:266
@ DIRECTION_2
Definition control.h:268
virtual void adaptor_do_data(void const *, u32, void const *, u32)
Definition object-light.cpp:220
virtual void adaptor_do_ENABLE(JStudio::data::TEOperationData, void const *, u32)
Definition object-light.cpp:256
virtual void adaptor_do_FACULTY(JStudio::data::TEOperationData, void const *, u32)
Definition object-light.cpp:227
virtual ~TAdaptor_light()
Definition object-light.cpp:68
virtual void adaptor_do_end()
Definition object-light.cpp:165
virtual void adaptor_do_begin()
Definition object-light.cpp:130
int field_0x11c
Definition control.h:305
JStage::TLight * get_pJSG_()
Definition control.h:303
JStudio::TObject_light ObjectType
Definition control.h:255
TEVariableValue
Definition control.h:257
@ TE_VALUE_7
Definition control.h:259
@ TE_VALUE_11
Definition control.h:263
@ TE_VALUE_10
Definition control.h:262
@ TE_VALUE_8
Definition control.h:260
@ TE_VALUE_9
Definition control.h:261
@ TE_VALUE_NONE
Definition control.h:258
virtual void adaptor_do_prepare()
Definition object-light.cpp:96
virtual void adaptor_do_update(u32)
Definition object-light.cpp:177
static TVVOutput_direction_ saoVVOutput_direction_[6]
Definition control.h:75
Definition control.h:28
void adaptor_object_data_(void const *, u32, void const *, u32)
Definition object.cpp:91
void adaptor_object_end_()
Definition control.h:37
JStage::TObject * adaptor_object_findJSGObject_(char const *)
Definition object.cpp:105
void adaptor_object_begin_()
Definition control.h:36
JStage::TObject * pJSGObject_
Definition control.h:40
void adaptor_object_ENABLE_(JStudio::data::TEOperationData, void const *, u32)
Definition object.cpp:129
s32 adaptor_object_findJSGObjectNode_(JStage::TObject const *, char const *)
Definition object.cpp:117
JStage::TSystem const * pJSGSystem_
Definition control.h:39
Definition control.h:16
virtual bool create(JStudio::TObject **, JStudio::stb::data::TParse_TBlock_object const &)
Definition control.cpp:37
TCreateObject(const JStage::TSystem *pSystem)
Definition control.h:17
const JStage::TSystem * pJSGSystem_
Definition control.h:25
virtual ~TCreateObject()
Definition control.cpp:15
void adaptor_setOutput_(TAdaptor *adaptor)
Definition control.h:60
TVariableValueOutput_object_()
Definition control.h:48
virtual ~TVariableValueOutput_object_()
Definition control.h:57
void setVariableValue_(TStageObject *pObj, TAdaptor *pAdaptor)
Definition control.h:63
GetFunc field_0x14
Definition control.h:70
bool isEnd_()
Definition control.h:59
f32(TStageObject::* GetFunc)() const
Definition control.h:46
void(TStageObject::* SetFunc)(f32)
Definition control.h:47
TVariableValueOutput_object_(typename TAdaptor::TEVariableValue param_1, SetFunc param_2, GetFunc param_3)
Definition control.h:49
SetFunc field_0x8
Definition control.h:69
virtual void operator()(f32 param_1, JStudio::TAdaptor *param_2) const
Definition control.h:54
unsigned long u32
Definition types.h:10
float f32
Definition types.h:22
signed long s32
Definition types.h:6
unsigned char u8
Definition types.h:8