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 "math.h"
6
7namespace JStudio {
8namespace math {
9 /* 802859DC */ void getRotation_xyz(MtxP, f32, f32, f32);
10 /* 80285B44 */ void getTransformation_SRxyzT(MtxP, Vec const&, Vec const&, Vec const&);
11 /* 80285BCC */ void getFromTransformation_SRxyzT(Vec*, Vec*, Vec*, CMtxP);
12
13 inline void getRotation_y(Mtx param_0, f32 param_1) {
14 MTXRotRad(param_0, 0x79, DEG_TO_RAD(param_1));
15 }
16
17 inline void getTransformation_RyT(Mtx param_0, const Vec& param_1, f32 param_2) {
18 Mtx amStack_40;
19 getRotation_y(amStack_40, param_2);
20 MTXTransApply(amStack_40, param_0, param_1.x, param_1.y, param_1.z);
21 }
22
23 inline void rotate_y(Mtx param_0, Mtx param_1, f32 param_2) {
24 Mtx afStack_38;
25 getRotation_y(afStack_38, param_2);
26 MTXConcat(afStack_38, param_1, param_0);
27 }
28
29 inline void rotate_xyz(Mtx param_0, Mtx param_1, f32 param_2, f32 param_3, f32 param_4) {
30 Mtx amStack_30;
31 getRotation_xyz(amStack_30, param_2, param_3, param_4);
32 MTXConcat(amStack_30, param_0, param_1);
33 }
34
35 inline void rotate_xyz(Mtx param_0, Mtx param_1, const Vec& param_2) {
36 rotate_xyz(param_0, param_1, param_2.x, param_2.y, param_2.z);
37 }
38
39 inline f32 getFromTransformation_Sn(CMtxP param_1, u32 param_2) {
40 Vec local_18;
41 local_18.x = param_1[0][param_2];
42 local_18.y = param_1[1][param_2];
43 local_18.z = param_1[2][param_2];
44 return VECMag(&local_18);
45 }
46
47 inline void getFromTransformation_S(CMtxP param_1, Vec* param_2) {
48 param_2->x = getFromTransformation_Sn(param_1, 0);
49 param_2->y = getFromTransformation_Sn(param_1, 1);
50 param_2->z = getFromTransformation_Sn(param_1, 2);
51 }
52
53 inline void getFromTransformation_T(CMtxP param_1, Vec* param_2) {
54 param_2->x = param_1[0][3];
55 param_2->y = param_1[1][3];
56 param_2->z = param_1[2][3];
57 }
58
59 inline void getTransformation_T(Mtx mtx, const Vec* param_2) {
60 MTXTrans(mtx, param_2->x, param_2->y, param_2->z);
61 }
62};
63}; // namespace JStudio
64
65#endif /* JSTUDIO_MATH_H */
static Mtx mtx[10]
Definition c_lib.cpp:510
const f32(* CMtxP)[4]
Definition mtx.h:36
f32(* MtxP)[4]
Definition mtx.h:35
f32 Mtx[3][4]
Definition mtx.h:22
void getFromTransformation_T(CMtxP param_1, Vec *param_2)
Definition jstudio-math.h:53
void getTransformation_RyT(Mtx param_0, const Vec &param_1, f32 param_2)
Definition jstudio-math.h:17
void getFromTransformation_S(CMtxP param_1, Vec *param_2)
Definition jstudio-math.h:47
void getRotation_y(Mtx param_0, f32 param_1)
Definition jstudio-math.h:13
void rotate_xyz(Mtx param_0, Mtx param_1, f32 param_2, f32 param_3, f32 param_4)
Definition jstudio-math.h:29
f32 getFromTransformation_Sn(CMtxP param_1, u32 param_2)
Definition jstudio-math.h:39
void getTransformation_SRxyzT(MtxP, Vec const &, Vec const &, Vec const &)
Definition jstudio-math.cpp:78
void getFromTransformation_SRxyzT(Vec *, Vec *, Vec *, CMtxP)
Definition jstudio-math.cpp:115
void getRotation_xyz(MtxP, f32, f32, f32)
Definition jstudio-math.cpp:47
void getTransformation_T(Mtx mtx, const Vec *param_2)
Definition jstudio-math.h:59
void rotate_y(Mtx param_0, Mtx param_1, f32 param_2)
Definition jstudio-math.h:23
Definition functionvalue.cpp:318
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