Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
jstudio-math.h
Go to the documentation of this file.
1#ifndef JSTUDIO_MATH_H
2#define JSTUDIO_MATH_H
3
4#include <dolphin/mtx.h>
5#include <cmath>
6
7#define m_PI_D 3.141592653589793
8
9namespace JStudio {
10namespace math {
12 void getTransformation_SRxyzT(MtxP, Vec const&, Vec const&, Vec const&);
14
15 inline void getRotation_y(Mtx param_0, f32 param_1) {
16 MTXRotRad(param_0, 0x79, DEG_TO_RAD(param_1));
17 }
18
19 inline void getTransformation_RyT(Mtx param_0, const Vec& param_1, f32 param_2) {
20 Mtx amStack_40;
21 getRotation_y(amStack_40, param_2);
22 MTXTransApply(amStack_40, param_0, param_1.x, param_1.y, param_1.z);
23 }
24
25 inline void rotate_y(Mtx param_0, Mtx param_1, f32 param_2) {
26 Mtx afStack_38;
27 getRotation_y(afStack_38, param_2);
28 MTXConcat(afStack_38, param_1, param_0);
29 }
30
31 inline void rotate_xyz(Mtx param_0, Mtx param_1, f32 param_2, f32 param_3, f32 param_4) {
32 Mtx amStack_30;
33 getRotation_xyz(amStack_30, param_2, param_3, param_4);
34 MTXConcat(amStack_30, param_0, param_1);
35 }
36
37 inline void rotate_xyz(Mtx param_0, Mtx param_1, const Vec& param_2) {
38 rotate_xyz(param_0, param_1, param_2.x, param_2.y, param_2.z);
39 }
40
41 inline f32 getFromTransformation_Sn(CMtxP param_1, u32 param_2) {
42 Vec local_18;
43 local_18.x = param_1[0][param_2];
44 local_18.y = param_1[1][param_2];
45 local_18.z = param_1[2][param_2];
46 return VECMag(&local_18);
47 }
48
49 inline void getFromTransformation_S(Vec* param_1, CMtxP param_2) {
50 param_1->x = getFromTransformation_Sn(param_2, 0);
51 param_1->y = getFromTransformation_Sn(param_2, 1);
52 param_1->z = getFromTransformation_Sn(param_2, 2);
53 }
54
55 inline void getFromTransformation_T(Vec* param_1, CMtxP param_2) {
56 param_1->x = param_2[0][3];
57 param_1->y = param_2[1][3];
58 param_1->z = param_2[2][3];
59 }
60
61 inline void getTransformation_T(Mtx mtx, const Vec* param_2) {
62 MTXTrans(mtx, param_2->x, param_2->y, param_2->z);
63 }
64};
65}; // namespace JStudio
66
67#endif /* JSTUDIO_MATH_H */
static Mtx mtx[10]
Definition c_lib.cpp:486
const f32(* CMtxP)[4]
Definition mtx.h:39
f32 Mtx[3][4]
Definition mtx.h:25
f32(* MtxP)[4]
Definition mtx.h:38
unsigned long u32
Definition types.h:12
float f32
Definition types.h:25
void getTransformation_RyT(Mtx param_0, const Vec &param_1, f32 param_2)
Definition jstudio-math.h:19
void getRotation_y(Mtx param_0, f32 param_1)
Definition jstudio-math.h:15
void rotate_xyz(Mtx param_0, Mtx param_1, f32 param_2, f32 param_3, f32 param_4)
Definition jstudio-math.h:31
f32 getFromTransformation_Sn(CMtxP param_1, u32 param_2)
Definition jstudio-math.h:41
void getTransformation_SRxyzT(MtxP, Vec const &, Vec const &, Vec const &)
Definition jstudio-math.cpp:34
void getFromTransformation_SRxyzT(Vec *, Vec *, Vec *, CMtxP)
Definition jstudio-math.cpp:43
void getRotation_xyz(MtxP, f32, f32, f32)
Definition jstudio-math.cpp:8
void getFromTransformation_S(Vec *param_1, CMtxP param_2)
Definition jstudio-math.h:49
void getFromTransformation_T(Vec *param_1, CMtxP param_2)
Definition jstudio-math.h:55
void getTransformation_T(Mtx mtx, const Vec *param_2)
Definition jstudio-math.h:61
void rotate_y(Mtx param_0, Mtx param_1, f32 param_2)
Definition jstudio-math.h:25
Definition functionvalue.cpp:12
Definition mtx.h:13
f32 z
Definition mtx.h:14
f32 x
Definition mtx.h:14
f32 y
Definition mtx.h:14