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 static void loadExecute(f32 const (*)[4]);
18
19 static inline void load(const Mtx m) {
20 if (sTexGenBlock != NULL)
22 }
23
26};
27
30
36public:
37 J3DShapeMtxMulti(u16 useMtxIndex, u16 useMtxNum, u16* useMtxIndexTable)
38 : J3DShapeMtx(useMtxIndex)
39 , mUseMtxNum(useMtxNum)
40 , mUseMtxIndexTable(useMtxIndexTable)
41 {}
42
43 virtual ~J3DShapeMtxMulti() {}
44 virtual u32 getType() const { return 'SMML'; }
45 virtual u16 getUseMtxNum() const { return mUseMtxNum; }
46 virtual u16 getUseMtxIndex(u16 no) const { return mUseMtxIndexTable[no]; }
47 virtual void load() const;
48 virtual void calcNBTScale(Vec const&, f32 (*)[3][3], f32 (*)[3][3]);
49
50private:
51 /* 0x8 */ u16 mUseMtxNum;
53};
54
60public:
62 : J3DShapeMtx(useMtxIndex)
63 {}
64
66 virtual u32 getType() const { return 'SMCV'; }
67 virtual void load() const;
68 virtual void loadNrmMtx(int, u16) const {}
69 virtual void loadNrmMtx(int, u16, f32 (*)[4]) const;
70
71 void loadMtxConcatView_PNGP(int, u16) const;
72 void loadMtxConcatView_PCPU(int, u16) const;
73 void loadMtxConcatView_NCPU(int, u16) const;
74 void loadMtxConcatView_PNCPU(int, u16) const;
75 void loadMtxConcatView_PNGP_LOD(int, u16) const;
76
79 static MtxP sMtxPtrTbl[2];
80};
81
87public:
88 J3DShapeMtxMultiConcatView(u16 useMtxIndex, u16 useMtxNum, u16* useMtxIndexTable)
89 : J3DShapeMtxConcatView(useMtxIndex)
90 , mUseMtxNum(useMtxNum)
91 , mUseMtxIndexTable(useMtxIndexTable)
92 {}
93
95 virtual u32 getType() const { return 'SMMC'; }
96 virtual u16 getUseMtxNum() const { return mUseMtxNum; }
97 virtual u16 getUseMtxIndex(u16 no) const { return mUseMtxIndexTable[no]; }
98 virtual void load() const;
99 virtual void loadNrmMtx(int, u16) const {}
100 virtual void loadNrmMtx(int, u16, f32 (*)[4]) const;
101
102private:
103 /* 0x8 */ u16 mUseMtxNum;
105};
106
112public:
114 : J3DShapeMtxConcatView(useMtxIndex)
115 {}
116
118 virtual u32 getType() const { return 'SMBB'; }
119 virtual void load() const;
120};
121
127public:
129 : J3DShapeMtxConcatView(useMtxIndex)
130 {}
131
133 virtual u32 getType() const { return 'SMYB'; }
134 virtual void load() const;
135};
136
137#endif /* J3DSHAPEMTX_H */
void(J3DShapeMtxConcatView::* J3DShapeMtxConcatView_LoadFunc)(int, u16) const
Definition J3DShapeMtx.h:29
Definition J3DShapeMtx.h:15
static void load(const Mtx m)
Definition J3DShapeMtx.h:19
static J3DTexMtxObj * sTexMtxObj
Definition J3DShapeMtx.h:25
static void loadExecute(f32 const (*)[4])
Definition J3DShapeMtx.cpp:83
static J3DTexGenBlock * sTexGenBlock
Definition J3DShapeMtx.h:24
Definition J3DShapeMtx.h:111
J3DShapeMtxBBoardConcatView(u16 useMtxIndex)
Definition J3DShapeMtx.h:113
virtual u32 getType() const
Definition J3DShapeMtx.h:118
virtual void load() const
Definition J3DShapeMtx.cpp:486
virtual ~J3DShapeMtxBBoardConcatView()
Definition J3DShapeMtx.h:117
Definition J3DShapeMtx.h:59
virtual ~J3DShapeMtxConcatView()
Definition J3DShapeMtx.h:65
void loadMtxConcatView_PNCPU(int, u16) const
Definition J3DShapeMtx.cpp:318
void loadMtxConcatView_PNGP(int, u16) const
Definition J3DShapeMtx.cpp:291
virtual u32 getType() const
Definition J3DShapeMtx.h:66
static MtxP sMtxPtrTbl[2]
Definition J3DShapeMtx.h:79
virtual void loadNrmMtx(int, u16, f32(*)[4]) const
static J3DShapeMtxConcatView_LoadFunc sMtxLoadLODPipeline[4]
Definition J3DShapeMtx.h:60
static J3DShapeMtxConcatView_LoadFunc sMtxLoadPipeline[4]
Definition J3DShapeMtx.h:53
J3DShapeMtxConcatView(u16 useMtxIndex)
Definition J3DShapeMtx.h:61
virtual void loadNrmMtx(int, u16) const
Definition J3DShapeMtx.h:68
void loadMtxConcatView_NCPU(int, u16) const
Definition J3DShapeMtx.cpp:307
void loadMtxConcatView_PNGP_LOD(int, u16) const
Definition J3DShapeMtx.cpp:332
virtual void load() const
Definition J3DShapeMtx.cpp:351
void loadMtxConcatView_PCPU(int, u16) const
Definition J3DShapeMtx.cpp:299
Definition J3DShapeMtx.h:86
u16 * mUseMtxIndexTable
Definition J3DShapeMtx.h:104
virtual ~J3DShapeMtxMultiConcatView()
Definition J3DShapeMtx.h:94
virtual u16 getUseMtxNum() const
Definition J3DShapeMtx.h:96
u16 mUseMtxNum
Definition J3DShapeMtx.h:103
virtual u16 getUseMtxIndex(u16 no) const
Definition J3DShapeMtx.h:97
J3DShapeMtxMultiConcatView(u16 useMtxIndex, u16 useMtxNum, u16 *useMtxIndexTable)
Definition J3DShapeMtx.h:88
virtual u32 getType() const
Definition J3DShapeMtx.h:95
virtual void load() const
Definition J3DShapeMtx.cpp:415
virtual void loadNrmMtx(int, u16) const
Definition J3DShapeMtx.h:99
virtual void loadNrmMtx(int, u16, f32(*)[4]) const
Definition J3DShapeMtx.h:35
u16 mUseMtxNum
Definition J3DShapeMtx.h:51
virtual void calcNBTScale(Vec const &, f32(*)[3][3], f32(*)[3][3])
Definition J3DShapeMtx.cpp:405
virtual u16 getUseMtxIndex(u16 no) const
Definition J3DShapeMtx.h:46
J3DShapeMtxMulti(u16 useMtxIndex, u16 useMtxNum, u16 *useMtxIndexTable)
Definition J3DShapeMtx.h:37
u16 * mUseMtxIndexTable
Definition J3DShapeMtx.h:52
virtual ~J3DShapeMtxMulti()
Definition J3DShapeMtx.h:43
virtual void load() const
Definition J3DShapeMtx.cpp:394
virtual u32 getType() const
Definition J3DShapeMtx.h:44
virtual u16 getUseMtxNum() const
Definition J3DShapeMtx.h:45
Definition J3DShapeMtx.h:126
virtual u32 getType() const
Definition J3DShapeMtx.h:133
J3DShapeMtxYBBoardConcatView(u16 useMtxIndex)
Definition J3DShapeMtx.h:128
virtual ~J3DShapeMtxYBBoardConcatView()
Definition J3DShapeMtx.h:132
virtual void load() const
Definition J3DShapeMtx.cpp:516
Definition J3DShape.h:62
Definition J3DMatBlock.h:416
Definition J3DPacket.h:142
Definition J3DTexture.h:51
f32 Mtx[3][4]
Definition mtx.h:25
f32(* MtxP)[4]
Definition mtx.h:38
int m
Definition e_atan2.c:62
unsigned long u32
Definition types.h:12
float f32
Definition types.h:25
unsigned short int u16
Definition types.h:10
Definition mtx.h:13