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 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
42
43class TControl : public stb::TControl {
44public:
50 struct TTransform_position : public Vec {};
55
56 TControl();
57 virtual ~TControl();
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!=NULL);
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!=NULL);
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!=NULL);
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 const 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!=NULL);
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!=NULL);
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!=NULL);
195 }
196
197 const 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
208 TTransform_position* pDst) const {
210 }
211
212 const 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!=NULL);
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!=NULL);
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!=NULL);
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!=NULL);
265 }
266
267 const 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
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
f64 getSecondPerFrame() const
Definition jstudio-control.h:92
int transformOnGet_setOrigin_TxyzRy(Vec const &, f32)
Definition jstudio-control.cpp:40
Mtx mTransformOnGet_Matrix
Definition jstudio-control.h:287
void setSecondPerFrame(f64 param_0)
Definition jstudio-control.h:91
fvb::TObject * fvb_getObject_index(u32 index)
Definition jstudio-control.h:102
const TTransform_position * transformOnGet_transform_ifEnabled(const TTransform_position &param_1, TTransform_position *param_2) const
Definition jstudio-control.h:213
void transformOnSet_enable(bool param_0)
Definition jstudio-control.h:74
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
const TTransform_position_direction * transformOnSet_transform_ifEnabled(const TTransform_position_direction &param_1, TTransform_position_direction *param_2) const
Definition jstudio-control.h:268
bool transform_setOrigin_ctb_index(u32)
Definition jstudio-control.cpp:66
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:21
fvb::TObject * fvb_getObject(const void *param_1, u32 param_2)
Definition jstudio-control.h:98
int transformOnSet_setOrigin_TxyzRy(Vec const &, f32)
Definition jstudio-control.cpp:33
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:49
const TTransform_position * transformOnSet_transform_ifEnabled(const TTransform_position &param_1, TTransform_position *param_2) const
Definition jstudio-control.h:156
void transformOnGet_transform(const TTransform_position &param_1, TTransform_position *pDst) const
Definition jstudio-control.h:207
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
const TTransform_translation_rotation_scaling * transformOnSet_transform_ifEnabled(const TTransform_translation_rotation_scaling &param_1, TTransform_translation_rotation_scaling *param_2) const
Definition jstudio-control.h:166
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:12
void transformOnSet_transform(const TTransform_position &param_1, TTransform_position *param_2) const
Definition jstudio-control.h:145
void transform_enable(bool param_0)
Definition jstudio-control.h:77
Vec field_0x8c
Definition jstudio-control.h:282
void transformOnGet_transform(const TTransform_position_direction &param_1, TTransform_position_direction *pDst) const
Definition jstudio-control.h:190
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
void transformOnSet_transform(const TTransform_position_direction &param_1, TTransform_position_direction *pDst) const
Definition jstudio-control.h:260
void transformOnSet_transform(const TTransform_translation_rotation_scaling &param_1, TTransform_translation_rotation_scaling *param_2) const
Definition jstudio-control.h:149
f64 mSecondPerFrame
Definition jstudio-control.h:277
void ctb_destroyObject_all()
Definition jstudio-control.h:66
const TTransform_position_direction * transformOnGet_transform_ifEnabled(const TTransform_position_direction &param_1, TTransform_position_direction *param_2) const
Definition jstudio-control.h:198
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
Definition functionvalue.h:22
Definition jstudio-object.h:110
Definition fvb.h:58
TObject * getObject(void const *, u32)
Definition fvb.cpp:331
void destroyObject_all()
Definition fvb.cpp:325
TObject * getObject_index(u32)
Definition fvb.cpp:339
Definition fvb.h:49
Definition fvb.h:26
TFunctionValue *const referFunctionValue()
Definition fvb.h:42
Definition stb.h:124
void destroyObject_all()
Definition stb.cpp:318
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:39
f32 Mtx[3][4]
Definition mtx.h:25
unsigned long u32
Definition types.h:12
float f32
Definition types.h:25
double f64
Definition types.h:26
Definition functionvalue.cpp:11
Definition linklist.h:11
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:75
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:84
void appendCreateObject(JStudio::TCreateObject *)
Definition jstudio-control.cpp:79
virtual ~TFactory()
Definition jstudio-control.cpp:77
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:99
virtual bool parseHeader(JStudio::stb::data::TParse_THeader const &, u32)
Definition jstudio-control.cpp:101
virtual bool parseBlock_block(JStudio::stb::data::TParse_TBlock const &, u32)
Definition jstudio-control.cpp:123
TParse(JStudio::TControl *)
Definition jstudio-control.cpp:96
bool parseBlock_block_ctb_(JStudio::stb::data::TParse_TBlock const &, u32)
Definition jstudio-control.cpp:158
bool parseBlock_block_fvb_(JStudio::stb::data::TParse_TBlock const &, u32)
Definition jstudio-control.cpp:135
TControl * getControl()
Definition jstudio-control.h:299
Definition ctb.h:126
void destroyObject_all()
Definition ctb.cpp:40
JStudio::ctb::TObject * getObject_index(u32)
Definition ctb.cpp:57
Definition ctb.h:118
Definition ctb.h:11
Definition mtx.h:13
f32 z
Definition mtx.h:14
f32 x
Definition mtx.h:14
f32 y
Definition mtx.h:14