Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
J3DShapeMtx.h
Go to the documentation of this file.
1#ifndef J3DSHAPEMTX_H
2#define J3DSHAPEMTX_H
3
5#include "JSystem/J3DAssert.h"
6#include "dolphin/mtx.h"
7
8class J3DTexMtx;
10
16public:
17 Mtx& getMtx(u16 idx) {
18 J3D_ASSERT_RANGE(275, idx < mTexMtxNum);
19 return mpTexMtx[idx];
20 }
21
22 void setMtx(u16 idx, const Mtx mtx) {
23 J3D_ASSERT_RANGE(288, idx < mTexMtxNum);
24 MTXCopy(mtx, mpTexMtx[idx]);
25 }
26
28 J3D_ASSERT_RANGE(293, idx < mTexMtxNum);
29 return mpEffectMtx[idx];
30 }
31
32 u16 getNumTexMtx() const { return mTexMtxNum; }
33
34 /* 0x00 */ Mtx* mpTexMtx;
35 /* 0x04 */ Mtx44* mpEffectMtx;
36 /* 0x08 */ u16 mTexMtxNum;
37};
38
44public:
45 static void loadExecute(f32 const (*)[4]);
46
47 static inline void load(const Mtx m) {
48 if (sTexGenBlock != NULL)
50 }
51
58
64public:
66 : J3DShapeMtx(useMtxIndex)
67 {}
68
70 virtual u32 getType() const { return 'SMCV'; }
71 virtual void load() const;
72 virtual void loadNrmMtx(int, u16) const {}
73 virtual void loadNrmMtx(int, u16, f32 (*)[4]) const;
74
75 void loadMtxConcatView_PNGP(int, u16) const;
76 void loadMtxConcatView_PCPU(int, u16) const;
77 void loadMtxConcatView_NCPU(int, u16) const;
78 void loadMtxConcatView_PNCPU(int, u16) const;
79 void loadMtxConcatView_PNGP_LOD(int, u16) const;
80
83 static MtxP sMtxPtrTbl[2];
84};
85
91public:
93 : J3DShapeMtxConcatView(useMtxIndex)
94 {}
95
97 virtual u32 getType() const { return 'SMYB'; }
98 virtual void load() const;
99};
100
106public:
108 : J3DShapeMtxConcatView(useMtxIndex)
109 {}
110
112 virtual u32 getType() const { return 'SMBB'; }
113 virtual void load() const;
114};
115
121public:
122 J3DShapeMtxMulti(u16 useMtxIndex, u16 useMtxNum, u16* useMtxIndexTable)
123 : J3DShapeMtx(useMtxIndex)
124 , mUseMtxNum(useMtxNum)
125 , mUseMtxIndexTable(useMtxIndexTable)
126 {}
127
128 virtual ~J3DShapeMtxMulti() {}
129 virtual u32 getType() const { return 'SMML'; }
130 virtual u16 getUseMtxNum() const { return mUseMtxNum; }
131 virtual u16 getUseMtxIndex(u16 no) const { return mUseMtxIndexTable[no]; }
132 virtual void load() const;
133 virtual void calcNBTScale(Vec const&, f32 (*)[3][3], f32 (*)[3][3]);
134
135private:
136 /* 0x8 */ u16 mUseMtxNum;
138};
139
145public:
146 J3DShapeMtxMultiConcatView(u16 useMtxIndex, u16 useMtxNum, u16* useMtxIndexTable)
147 : J3DShapeMtxConcatView(useMtxIndex)
148 , mUseMtxNum(useMtxNum)
149 , mUseMtxIndexTable(useMtxIndexTable)
150 {}
151
153 virtual u32 getType() const { return 'SMMC'; }
154 virtual u16 getUseMtxNum() const { return mUseMtxNum; }
155 virtual u16 getUseMtxIndex(u16 no) const { return mUseMtxIndexTable[no]; }
156 virtual void load() const;
157 virtual void loadNrmMtx(int, u16) const {}
158 virtual void loadNrmMtx(int, u16, f32 (*)[4]) const;
159
160private:
161 /* 0x8 */ u16 mUseMtxNum;
163};
164
165#endif /* J3DSHAPEMTX_H */
void(J3DShapeMtxConcatView::* J3DShapeMtxConcatView_LoadFunc)(int, u16) const
Definition J3DShapeMtx.h:57
static Mtx mtx[10]
Definition c_lib.cpp:486
Definition J3DShapeMtx.h:43
static void load(const Mtx m)
Definition J3DShapeMtx.h:47
static J3DTexMtxObj * sTexMtxObj
Definition J3DShapeMtx.h:53
static void loadExecute(f32 const (*)[4])
Definition J3DShapeMtx.cpp:85
static J3DTexGenBlock * sTexGenBlock
Definition J3DShapeMtx.h:52
Definition J3DShapeMtx.h:105
J3DShapeMtxBBoardConcatView(u16 useMtxIndex)
Definition J3DShapeMtx.h:107
virtual u32 getType() const
Definition J3DShapeMtx.h:112
virtual void load() const
Definition J3DShapeMtx.cpp:486
virtual ~J3DShapeMtxBBoardConcatView()
Definition J3DShapeMtx.h:111
Definition J3DShapeMtx.h:63
virtual ~J3DShapeMtxConcatView()
Definition J3DShapeMtx.h:69
void loadMtxConcatView_PNCPU(int, u16) const
Definition J3DShapeMtx.cpp:322
void loadMtxConcatView_PNGP(int, u16) const
Definition J3DShapeMtx.cpp:295
virtual u32 getType() const
Definition J3DShapeMtx.h:70
static MtxP sMtxPtrTbl[2]
Definition J3DShapeMtx.h:83
virtual void loadNrmMtx(int, u16, f32(*)[4]) const
static J3DShapeMtxConcatView_LoadFunc sMtxLoadLODPipeline[4]
Definition J3DShapeMtx.h:59
static J3DShapeMtxConcatView_LoadFunc sMtxLoadPipeline[4]
Definition J3DShapeMtx.h:52
J3DShapeMtxConcatView(u16 useMtxIndex)
Definition J3DShapeMtx.h:65
virtual void loadNrmMtx(int, u16) const
Definition J3DShapeMtx.h:72
void loadMtxConcatView_NCPU(int, u16) const
Definition J3DShapeMtx.cpp:311
void loadMtxConcatView_PNGP_LOD(int, u16) const
Definition J3DShapeMtx.cpp:336
virtual void load() const
Definition J3DShapeMtx.cpp:355
void loadMtxConcatView_PCPU(int, u16) const
Definition J3DShapeMtx.cpp:303
Definition J3DShapeMtx.h:144
u16 * mUseMtxIndexTable
Definition J3DShapeMtx.h:162
virtual ~J3DShapeMtxMultiConcatView()
Definition J3DShapeMtx.h:152
virtual u16 getUseMtxNum() const
Definition J3DShapeMtx.h:154
u16 mUseMtxNum
Definition J3DShapeMtx.h:161
virtual u16 getUseMtxIndex(u16 no) const
Definition J3DShapeMtx.h:155
J3DShapeMtxMultiConcatView(u16 useMtxIndex, u16 useMtxNum, u16 *useMtxIndexTable)
Definition J3DShapeMtx.h:146
virtual u32 getType() const
Definition J3DShapeMtx.h:153
virtual void load() const
Definition J3DShapeMtx.cpp:419
virtual void loadNrmMtx(int, u16) const
Definition J3DShapeMtx.h:157
virtual void loadNrmMtx(int, u16, f32(*)[4]) const
Definition J3DShapeMtx.h:120
u16 mUseMtxNum
Definition J3DShapeMtx.h:136
virtual void calcNBTScale(Vec const &, f32(*)[3][3], f32(*)[3][3])
Definition J3DShapeMtx.cpp:409
virtual u16 getUseMtxIndex(u16 no) const
Definition J3DShapeMtx.h:131
J3DShapeMtxMulti(u16 useMtxIndex, u16 useMtxNum, u16 *useMtxIndexTable)
Definition J3DShapeMtx.h:122
u16 * mUseMtxIndexTable
Definition J3DShapeMtx.h:137
virtual ~J3DShapeMtxMulti()
Definition J3DShapeMtx.h:128
virtual void load() const
Definition J3DShapeMtx.cpp:398
virtual u32 getType() const
Definition J3DShapeMtx.h:129
virtual u16 getUseMtxNum() const
Definition J3DShapeMtx.h:130
Definition J3DShapeMtx.h:90
virtual u32 getType() const
Definition J3DShapeMtx.h:97
J3DShapeMtxYBBoardConcatView(u16 useMtxIndex)
Definition J3DShapeMtx.h:92
virtual ~J3DShapeMtxYBBoardConcatView()
Definition J3DShapeMtx.h:96
virtual void load() const
Definition J3DShapeMtx.cpp:516
Definition J3DShape.h:62
Definition J3DMatBlock.h:445
Definition J3DShapeMtx.h:15
u16 mTexMtxNum
Definition J3DShapeMtx.h:36
Mtx * mpTexMtx
Definition J3DShapeMtx.h:34
void setMtx(u16 idx, const Mtx mtx)
Definition J3DShapeMtx.h:22
u16 getNumTexMtx() const
Definition J3DShapeMtx.h:32
Mtx & getMtx(u16 idx)
Definition J3DShapeMtx.h:17
Mtx44 & getEffectMtx(u16 idx)
Definition J3DShapeMtx.h:27
Mtx44 * mpEffectMtx
Definition J3DShapeMtx.h:35
Definition J3DTexture.h:48
f32 Mtx44[4][4]
Definition mtx.h:28
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
unsigned short int u16
Definition types.h:10
int m
Definition e_atan2.c:62
Definition mtx.h:13