Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
jstudio-control.h
Go to the documentation of this file.
1#ifndef JSTUDIO_CONTROL_H
2#define JSTUDIO_CONTROL_H
3
7#include <dolphin/gx.h>
8#include <dolphin/mtx.h>
9
10namespace JStudio {
11struct TObject;
14 /* 80285488 */ virtual ~TCreateObject() = 0;
16
17 template<class AdaptorT>
18 static typename AdaptorT::ObjectType* createFromAdaptor(JStudio::stb::data::TParse_TBlock_object const& param_1, AdaptorT* param_2) {
19 typename AdaptorT::ObjectType* rv = new typename AdaptorT::ObjectType(param_1, param_2);
20 if (rv == NULL) {
21 return NULL;
22 }
23 rv->prepareAdaptor();
24 return rv;
25 }
26
28}; // Size: 0xC
29
30struct TFactory : public stb::TFactory {
32
33 /* 802854D0 */ virtual ~TFactory();
34 /* 802855AC */ virtual TObject* create(JStudio::stb::data::TParse_TBlock_object const&);
35
36 /* 80285560 */ void appendCreateObject(JStudio::TCreateObject*);
37
41};
42
43class TControl : public stb::TControl {
44public:
50 struct TTransform_position : public Vec {};
55
56 /* 80285114 */ TControl();
57 /* 802851AC */ virtual ~TControl();
58 /* 80285228 */ void setFactory(JStudio::TFactory*);
59 /* 80285250 */ int transformOnSet_setOrigin_TxyzRy(Vec const&, f32);
60 /* 802852D0 */ int transformOnGet_setOrigin_TxyzRy(Vec const&, f32);
61 /* 80285368 */ int transform_setOrigin_ctb(JStudio::ctb::TObject const&);
62 /* 8028543C */ bool transform_setOrigin_ctb_index(u32);
63
67
73
74 void transformOnSet_enable(bool param_0) { mTransformOnSet = param_0; }
75 void transformOnGet_enable(bool param_0) { mTransformOnGet = param_0; }
76
77 void transform_enable(bool param_0) {
78 transformOnSet_enable(param_0);
79 transformOnGet_enable(param_0);
80 }
81
82 void transform_setOrigin_TxyzRy(const Vec& xyz, f32 rotY) {
85 }
86
87 void transform_setOrigin(const Vec& xyz, f32 rotY) {
89 }
90
91 void setSecondPerFrame(f64 param_0) { mSecondPerFrame = param_0; }
93
97
98 fvb::TObject* fvb_getObject(const void* param_1, u32 param_2) {
99 return fvb_Control.getObject(param_1, param_2);
100 }
101
105
106 TFunctionValue* getFunctionValue(const void* param_1, u32 param_2) {
107 fvb::TObject* obj = fvb_getObject(param_1, param_2);
108 if (obj == NULL) {
109 return NULL;
110 }
111 return obj->referFunctionValue();
112 }
113
116 if (obj == NULL) {
117 return NULL;
118 }
119 return obj->referFunctionValue();
120 }
121
124
125 void transformOnSet_transformTranslation(const Vec& rSrc, Vec* pDst) const {
126 JUT_ASSERT(226, pDst!=0);
127 JUT_ASSERT(227, &rSrc!=pDst);
128 MTXMultVec(transformOnSet_getMatrix(), &rSrc, pDst);
129 }
130
131 void transformOnSet_transformRotation(const Vec& rSrc, Vec* pDst) const {
132 JUT_ASSERT(232, pDst!=0);
133 JUT_ASSERT(233, &rSrc!=pDst);
134 pDst->x = rSrc.x;
135 pDst->y = rSrc.y + mTransformOnSet_RotationY;
136 pDst->z = rSrc.z;
137 }
138
139 void transformOnSet_transformScaling(const Vec& rSrc, Vec* pDst) const {
140 JUT_ASSERT(240, pDst!=0);
141 JUT_ASSERT(241, &rSrc!=pDst);
142 *pDst = rSrc;
143 }
144
146 transformOnSet_transformTranslation(*param_1, param_2);
147 }
148
155
157 TTransform_position* param_2) const {
159 return param_1;
160 }
161 transformOnSet_transform(param_1, param_2);
162 return param_2;
163 }
164
165 TTransform_translation_rotation_scaling*
169 return param_1;
170 }
171 transformOnSet_transform(param_1, param_2);
172 return param_2;
173 }
174
177
178 void transformOnGet_transformTranslation(const Vec& rSrc, Vec* pDst) const {
179 JUT_ASSERT(296, pDst!=0);
180 JUT_ASSERT(297, &rSrc!=pDst);
181 MTXMultVec(transformOnGet_getMatrix(), &rSrc, pDst);
182 }
183
184 void transformOnGet_transformDirection(const Vec& rSrc, Vec* pDst) const {
185 JUT_ASSERT(316, pDst!=0);
186 JUT_ASSERT(317, &rSrc!=pDst);
187 MTXMultVecSR(transformOnGet_getMatrix(), &rSrc, pDst);
188 }
189
191 TTransform_position_direction* pDst) const {
192 JUT_ASSERT(289, pDst!=0);
195 }
196
197 TTransform_position_direction*
199 TTransform_position_direction* param_2) const {
201 return param_1;
202 }
203 transformOnGet_transform(param_1, param_2);
204 return param_2;
205 }
206
211
212 TTransform_position*
214 TTransform_position* param_2) const {
216 return param_1;
217 }
218 transformOnGet_transform(param_1, param_2);
219 return param_2;
220 }
221
222 void transformOnGet_transformRotation(const Vec& rSrc, Vec* pDst) const {
223 JUT_ASSERT(302, pDst!=0);
224 JUT_ASSERT(303, &rSrc!=pDst);
225 pDst->x = rSrc.x;
226 pDst->y = rSrc.y + mTransformOnGet_RotationY;
227 pDst->z = rSrc.z;
228 }
229
230 void transformOnGet_transformScaling(const Vec& rSrc, Vec* pDst) const {
231 JUT_ASSERT(310, pDst!=0);
232 JUT_ASSERT(311, &rSrc!=pDst);
233 *pDst = rSrc;
234 }
235
243
244 TTransform_translation_rotation_scaling*
248 return param_1;
249 }
250 transformOnGet_transform(param_1, param_2);
251 return param_2;
252 }
253
254 void transformOnSet_transformDirection(const Vec& rSrc, Vec* pDst) const {
255 JUT_ASSERT(246, pDst!=0);
256 JUT_ASSERT(247, &rSrc!=pDst);
257 MTXMultVecSR(transformOnSet_getMatrix(), &rSrc, pDst);
258 }
259
261 TTransform_position_direction* pDst) const {
262 JUT_ASSERT(219, pDst!=0);
265 }
266
267 TTransform_position_direction*
269 TTransform_position_direction* param_2) const {
271 return param_1;
272 }
273 transformOnSet_transform(param_1, param_2);
274 return param_2;
275 }
276
280 /* 0x88 */ bool mTransformOnSet;
281 /* 0x89 */ bool mTransformOnGet;
282 /* 0x8C */ Vec field_0x8c;
283 /* 0x98 */ Vec field_0x98;
288};
289
290struct TParse : public stb::TParse {
291 /* 8028566C */ TParse(JStudio::TControl*);
294
295 /* 802856A8 */ virtual ~TParse();
296 /* 80285708 */ virtual bool parseHeader(JStudio::stb::data::TParse_THeader const&, u32);
297 /* 802857E4 */ virtual bool parseBlock_block(JStudio::stb::data::TParse_TBlock const&, u32);
298
300};
301
302}; // namespace JStudio
303
304#endif /* JSTUDIO_CONTROL_H */
static u8 index[20][3]
Definition GXDraw.c:434
Definition jstudio-control.h:43
void fvb_destroyObject_all()
Definition jstudio-control.h:65
Vec field_0x98
Definition jstudio-control.h:283
fvb::TControl fvb_Control
Definition jstudio-control.h:278
TTransform_translation_rotation_scaling * transformOnSet_transform_ifEnabled(TTransform_translation_rotation_scaling *param_1, TTransform_translation_rotation_scaling *param_2) const
Definition jstudio-control.h:166
f64 getSecondPerFrame() const
Definition jstudio-control.h:92
TTransform_position * transformOnSet_transform_ifEnabled(TTransform_position *param_1, TTransform_position *param_2) const
Definition jstudio-control.h:156
void transformOnSet_transform(TTransform_position *param_1, TTransform_position *param_2) const
Definition jstudio-control.h:145
int transformOnGet_setOrigin_TxyzRy(Vec const &, f32)
Definition jstudio-control.cpp:46
Mtx mTransformOnGet_Matrix
Definition jstudio-control.h:287
void transformOnGet_transform(TTransform_position_direction *param_1, TTransform_position_direction *pDst) const
Definition jstudio-control.h:190
void setSecondPerFrame(f64 param_0)
Definition jstudio-control.h:91
fvb::TObject * fvb_getObject_index(u32 index)
Definition jstudio-control.h:102
void transformOnSet_enable(bool param_0)
Definition jstudio-control.h:74
TTransform_position_direction * transformOnSet_transform_ifEnabled(TTransform_position_direction *param_1, TTransform_position_direction *param_2) const
Definition jstudio-control.h:268
void transformOnGet_enable(bool param_0)
Definition jstudio-control.h:75
void transformOnGet_transformRotation(const Vec &rSrc, Vec *pDst) const
Definition jstudio-control.h:222
bool transformOnSet_isEnabled() const
Definition jstudio-control.h:122
bool transform_setOrigin_ctb_index(u32)
Definition jstudio-control.cpp:75
TFunctionValue * getFunctionValue(const void *param_1, u32 param_2)
Definition jstudio-control.h:106
void transformOnSet_transformRotation(const Vec &rSrc, Vec *pDst) const
Definition jstudio-control.h:131
bool mTransformOnGet
Definition jstudio-control.h:281
void setFactory(JStudio::TFactory *)
Definition jstudio-control.cpp:23
fvb::TObject * fvb_getObject(const void *param_1, u32 param_2)
Definition jstudio-control.h:98
void transformOnSet_transform(TTransform_translation_rotation_scaling *param_1, TTransform_translation_rotation_scaling *param_2) const
Definition jstudio-control.h:149
int transformOnSet_setOrigin_TxyzRy(Vec const &, f32)
Definition jstudio-control.cpp:37
void destroyObject_all()
Definition jstudio-control.h:68
void transformOnSet_transformDirection(const Vec &rSrc, Vec *pDst) const
Definition jstudio-control.h:254
void transformOnGet_transformScaling(const Vec &rSrc, Vec *pDst) const
Definition jstudio-control.h:230
int transform_setOrigin_ctb(JStudio::ctb::TObject const &)
Definition jstudio-control.cpp:57
void transformOnSet_transformTranslation(const Vec &rSrc, Vec *pDst) const
Definition jstudio-control.h:125
ctb::TObject * ctb_getObject_index(u32 index)
Definition jstudio-control.h:94
void transformOnGet_transformTranslation(const Vec &rSrc, Vec *pDst) const
Definition jstudio-control.h:178
void transform_setOrigin(const Vec &xyz, f32 rotY)
Definition jstudio-control.h:87
void transformOnSet_transformScaling(const Vec &rSrc, Vec *pDst) const
Definition jstudio-control.h:139
TControl()
Definition jstudio-control.cpp:11
void transform_enable(bool param_0)
Definition jstudio-control.h:77
Vec field_0x8c
Definition jstudio-control.h:282
bool mTransformOnSet
Definition jstudio-control.h:280
ctb::TControl ctb_Control
Definition jstudio-control.h:279
f32 mTransformOnGet_RotationY
Definition jstudio-control.h:285
Mtx mTransformOnSet_Matrix
Definition jstudio-control.h:286
f32 mTransformOnSet_RotationY
Definition jstudio-control.h:284
void transformOnGet_transform(TTransform_translation_rotation_scaling *param_1, TTransform_translation_rotation_scaling *pDst) const
Definition jstudio-control.h:236
void stb_destroyObject_all()
Definition jstudio-control.h:64
TTransform_position_direction * transformOnGet_transform_ifEnabled(TTransform_position_direction *param_1, TTransform_position_direction *param_2) const
Definition jstudio-control.h:198
void transformOnGet_transform(TTransform_position *param_1, TTransform_position *pDst) const
Definition jstudio-control.h:207
f64 mSecondPerFrame
Definition jstudio-control.h:277
void ctb_destroyObject_all()
Definition jstudio-control.h:66
void transform_setOrigin_TxyzRy(const Vec &xyz, f32 rotY)
Definition jstudio-control.h:82
CMtxP transformOnSet_getMatrix() const
Definition jstudio-control.h:123
CMtxP transformOnGet_getMatrix() const
Definition jstudio-control.h:176
virtual ~TControl()
Definition jstudio-control.cpp:19
TTransform_translation_rotation_scaling * transformOnGet_transform_ifEnabled(TTransform_translation_rotation_scaling *param_1, TTransform_translation_rotation_scaling *param_2) const
Definition jstudio-control.h:245
TFunctionValue * getFunctionValue_index(u32 index)
Definition jstudio-control.h:114
void transformOnGet_transformDirection(const Vec &rSrc, Vec *pDst) const
Definition jstudio-control.h:184
bool transformOnGet_isEnabled() const
Definition jstudio-control.h:175
void transformOnSet_transform(TTransform_position_direction *param_1, TTransform_position_direction *pDst) const
Definition jstudio-control.h:260
TTransform_position * transformOnGet_transform_ifEnabled(TTransform_position *param_1, TTransform_position *param_2) const
Definition jstudio-control.h:213
Definition functionvalue.h:19
Definition jstudio-object.h:104
Definition fvb.h:58
TObject * getObject(void const *, u32)
Definition fvb.cpp:664
void destroyObject_all()
Definition fvb.cpp:659
TObject * getObject_index(u32)
Definition fvb.cpp:670
Definition fvb.h:49
Definition fvb.h:26
TFunctionValue *const & referFunctionValue()
Definition fvb.h:42
Definition stb.h:125
void destroyObject_all()
Definition stb.cpp:355
Definition stb.h:109
Definition stb.h:15
TControl * getControl() const
Definition stb.h:25
Definition stb-data-parse.h:82
Definition stb-data-parse.h:27
Definition stb-data-parse.h:14
const f32(* CMtxP)[4]
Definition mtx.h:36
f32 Mtx[3][4]
Definition mtx.h:22
Definition functionvalue.cpp:318
Definition linklist.h:7
Vec direction
Definition jstudio-control.h:53
Vec position
Definition jstudio-control.h:52
Definition jstudio-control.h:50
Definition jstudio-control.h:12
virtual ~TCreateObject()=0
Definition jstudio-control.cpp:86
JGadget::TLinkListNode mNode
Definition jstudio-control.h:27
TCreateObject()
Definition jstudio-control.h:13
static AdaptorT::ObjectType * createFromAdaptor(JStudio::stb::data::TParse_TBlock_object const &param_1, AdaptorT *param_2)
Definition jstudio-control.h:18
virtual bool create(TObject **, JStudio::stb::data::TParse_TBlock_object const &)=0
Definition jstudio-control.h:30
fvb::TFactory fvb_Factory
Definition jstudio-control.h:39
virtual TObject * create(JStudio::stb::data::TParse_TBlock_object const &)
Definition jstudio-control.cpp:99
void appendCreateObject(JStudio::TCreateObject *)
Definition jstudio-control.cpp:93
virtual ~TFactory()
Definition jstudio-control.cpp:89
TFactory()
Definition jstudio-control.h:31
JGadget::TLinkList< TCreateObject, -4 > mList
Definition jstudio-control.h:38
ctb::TFactory ctb_Factory
Definition jstudio-control.h:40
Definition jstudio-control.h:290
virtual ~TParse()
Definition jstudio-control.cpp:117
virtual bool parseHeader(JStudio::stb::data::TParse_THeader const &, u32)
Definition jstudio-control.cpp:121
virtual bool parseBlock_block(JStudio::stb::data::TParse_TBlock const &, u32)
Definition jstudio-control.cpp:145
TParse(JStudio::TControl *)
Definition jstudio-control.cpp:113
bool parseBlock_block_ctb_(JStudio::stb::data::TParse_TBlock const &, u32)
Definition jstudio-control.cpp:184
bool parseBlock_block_fvb_(JStudio::stb::data::TParse_TBlock const &, u32)
Definition jstudio-control.cpp:159
TControl * getControl()
Definition jstudio-control.h:299
Definition ctb.h:127
void destroyObject_all()
Definition ctb.cpp:163
JStudio::ctb::TObject * getObject_index(u32)
Definition ctb.cpp:183
Definition ctb.h:119
Definition ctb.h:11
Definition d_a_hozelda.cpp:18
f32 z
Definition mtx.h:11
f32 x
Definition mtx.h:11
f32 y
Definition mtx.h:11
unsigned long u32
Definition types.h:9
float f32
Definition types.h:22
double f64
Definition types.h:23