Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
J3DSys.h
Go to the documentation of this file.
1#ifndef J3DSYS_H
2#define J3DSYS_H
3
4#include <dolphin/gx.h>
5#include <dolphin/mtx.h>
6
7// Perhaps move to a new J3DEnum.h?
12
17
18class J3DMtxCalc;
19class J3DModel;
20class J3DMatPacket;
21class J3DShapePacket;
22class J3DShape;
23class J3DDrawBuffer;
24class J3DTexture;
25
31 /* 0x0 */ u16 field_0x00;
32 /* 0x2 */ u16 field_0x02;
33 /* 0x4 */ u16 field_0x04;
34 /* 0x6 */ u16 field_0x06;
35};
36
41};
42
47struct J3DSys {
48 /* 0x000 */ Mtx mViewMtx;
50 /* 0x034 */ u32 mFlags;
51 /* 0x038 */ J3DModel* mModel;
54 /* 0x044 */ J3DShape* mShape;
55 /* 0x048 */ J3DDrawBuffer* mDrawBuffer[2];
56 /* 0x050 */ u32 mDrawMode;
57 /* 0x054 */ u32 mMaterialMode;
58 /* 0x058 */ J3DTexture* mTexture;
59 /* 0x05C */ u8 field_0x5c[0x04];
62 /* 0x0E4 */ u8 field_0xe4[0x20];
63 /* 0x104 */ Mtx* mModelDrawMtx;
64 /* 0x108 */ Mtx33* mModelNrmMtx;
65 /* 0x10C */ void* mVtxPos;
66 /* 0x110 */ void* mVtxNrm;
67 /* 0x114 */ _GXColor* mVtxCol;
68 /* 0x118 */ Vec* mNBTScale;
69
70 /* 8030FDE8 */ J3DSys();
71 /* 8030FEC0 */ void loadPosMtxIndx(int, u16) const;
72 /* 8030FEE4 */ void loadNrmMtxIndx(int, u16) const;
73 /* 8030FF0C */ void setTexCacheRegion(_GXTexCacheSize);
74 /* 803100BC */ void drawInit();
75 /* 8031073C */ void reinitGX();
76 /* 8031079C */ void reinitGenMode();
77 /* 803107E8 */ void reinitLighting();
78 /* 80310894 */ void reinitTransform();
79 /* 80310998 */ void reinitTexture();
80 /* 80310A3C */ void reinitTevStages();
81 /* 80310D44 */ void reinitIndStages();
82 /* 80310E3C */ void reinitPixelProc();
83
84 enum DrawMode {
85 /* 0x3 */ OPA_TEX_EDGE = 3,
86 /* 0x4 */ XLU,
87 };
88
89 MtxP getViewMtx() { return mViewMtx; }
90
92
94
95 void* getVtxPos() const { return mVtxPos; }
96 void setVtxPos(void* pVtxPos) { mVtxPos = pVtxPos; }
97
98 void* getVtxNrm() const { return mVtxNrm; }
99 void setVtxNrm(void* pVtxNrm) { mVtxNrm = pVtxNrm; }
100
101 void* getVtxCol() const { return mVtxCol; }
102 void setVtxCol(_GXColor* pVtxCol) { mVtxCol = pVtxCol; }
103
104 void setModel(J3DModel* pModel) { mModel = pModel; }
105 void setShapePacket(J3DShapePacket* pPacket) { mShapePacket = pPacket; }
106 void setMatPacket(J3DMatPacket* pPacket) { mMatPacket = pPacket; }
109
112
113 void setTexture(J3DTexture* pTex) { mTexture = pTex; }
115
116 void setNBTScale(Vec* scale) { mNBTScale = scale; }
117 Vec* getNBTScale() { return mNBTScale; }
118
119 void onFlag(u32 flag) { mFlags |= flag; }
120
121 void offFlag(u32 flag) { mFlags &= ~flag; }
122
123 bool checkFlag(u32 flag) { return mFlags & flag; }
124
125 void setModelDrawMtx(Mtx* pMtxArr) {
126 mModelDrawMtx = pMtxArr;
128 }
129
130 void setModelNrmMtx(Mtx33* pMtxArr) {
131 mModelNrmMtx = pMtxArr;
133 }
134
135 // Type 0: Opa Buffer
136 // Type 1: Xlu Buffer
138
139 // Type 0: Opa Buffer
140 // Type 1: Xlu Buffer
141 J3DDrawBuffer* getDrawBuffer(int type) { return mDrawBuffer[type]; }
142
143 Mtx& getModelDrawMtx(u16 no) const { return mModelDrawMtx[no]; }
145
146 void setViewMtx(Mtx m) { MTXCopy(m, mViewMtx); }
147
148 J3DModel* getModel() { return mModel; }
149
152 static Vec mParentS;
154};
155
156extern u32 j3dDefaultViewNo;
157extern J3DSys j3dSys;
158
159#endif /* J3DSYS_H */
static BOOL flag
Definition DEMOAVX.c:20
void GXSetArray(GXAttr attr, void *base_ptr, u8 stride)
Definition GXAttr.c:508
@ GX_NRM_MTX_ARRAY
Definition GXEnum.h:107
@ GX_POS_MTX_ARRAY
Definition GXEnum.h:106
_GXTexCacheSize
Definition GXEnum.h:842
u32 mode
Definition GXTev.c:56
J3DSysFlag
Definition J3DSys.h:37
@ J3DSysFlag_SkinNrmCpu
Definition J3DSys.h:39
@ J3DSysFlag_SkinPosCpu
Definition J3DSys.h:38
@ J3DSysFlag_PostTexMtx
Definition J3DSys.h:40
J3DSysDrawBuffer
Definition J3DSys.h:13
@ J3DSys_XLU_BUFFER_e
Definition J3DSys.h:15
@ J3DSys_OPA_BUFFER_e
Definition J3DSys.h:14
u32 j3dDefaultViewNo
Definition J3DSys.cpp:400
J3DError
Definition J3DSys.h:8
@ kJ3DError_Success
Definition J3DSys.h:9
@ kJ3DError_Alloc
Definition J3DSys.h:10
J3DSys j3dSys
Definition J3DSys.cpp:39
static OSTime buffer
Definition ai.c:24
Definition J3DDrawBuffer.h:43
Definition J3DPacket.h:206
Definition J3DPacket.h:174
Definition J3DShape.h:82
Definition J3DTexture.h:12
int m
Definition e_atan2.c:62
f32 Mtx33[3][3]
Definition mtx.h:32
f32(* MtxP)[4]
Definition mtx.h:35
f32 Mtx[3][4]
Definition mtx.h:22
Definition d_a_ep.cpp:151
Definition d_a_hozelda.cpp:217
Definition d_a_hozelda.cpp:192
J3DDrawBuffer * mDrawBuffer[2]
Definition J3DSys.h:55
void reinitTevStages()
Definition J3DSys.cpp:318
Mtx * mModelDrawMtx
Definition J3DSys.h:63
J3DModel * getModel()
Definition J3DSys.h:148
Mtx33 * mModelNrmMtx
Definition J3DSys.h:64
J3DShape * mShape
Definition J3DSys.h:54
static Mtx mCurrentMtx
Definition J3DSys.h:150
void * mVtxNrm
Definition J3DSys.h:66
void offFlag(u32 flag)
Definition J3DSys.h:121
void * getVtxPos() const
Definition J3DSys.h:95
u8 field_0x5c[0x04]
Definition J3DSys.h:59
Mtx & getModelDrawMtx(u16 no) const
Definition J3DSys.h:143
void setVtxNrm(void *pVtxNrm)
Definition J3DSys.h:99
void reinitLighting()
Definition J3DSys.cpp:279
void setDrawModeXlu()
Definition J3DSys.h:93
J3DMatPacket * mMatPacket
Definition J3DSys.h:52
J3DMtxCalc * mCurrentMtxCalc
Definition J3DSys.h:49
void reinitTexture()
Definition J3DSys.cpp:304
DrawMode
Definition J3DSys.h:84
@ OPA_TEX_EDGE
Definition J3DSys.h:85
@ XLU
Definition J3DSys.h:86
void setShapePacket(J3DShapePacket *pPacket)
Definition J3DSys.h:105
void setCurrentMtxCalc(J3DMtxCalc *pCalc)
Definition J3DSys.h:110
void * mVtxPos
Definition J3DSys.h:65
void reinitIndStages()
Definition J3DSys.cpp:368
_GXColor * mVtxCol
Definition J3DSys.h:67
void setDrawBuffer(J3DDrawBuffer *buffer, int type)
Definition J3DSys.h:137
void * getVtxNrm() const
Definition J3DSys.h:98
u8 field_0xe4[0x20]
Definition J3DSys.h:62
void setNBTScale(Vec *scale)
Definition J3DSys.h:116
MtxP getViewMtx()
Definition J3DSys.h:89
void onFlag(u32 flag)
Definition J3DSys.h:119
void loadNrmMtxIndx(int, u16) const
Definition J3DSys.cpp:91
u32 mTexCacheRegionNum
Definition J3DSys.h:60
Mtx mViewMtx
Definition J3DSys.h:48
void * getVtxCol() const
Definition J3DSys.h:101
void setMatPacket(J3DMatPacket *pPacket)
Definition J3DSys.h:106
void loadPosMtxIndx(int, u16) const
Definition J3DSys.cpp:86
J3DDrawBuffer * getDrawBuffer(int type)
Definition J3DSys.h:141
void setModelDrawMtx(Mtx *pMtxArr)
Definition J3DSys.h:125
void setModelNrmMtx(Mtx33 *pMtxArr)
Definition J3DSys.h:130
void reinitGX()
Definition J3DSys.cpp:250
u32 mMaterialMode
Definition J3DSys.h:57
Vec * getNBTScale()
Definition J3DSys.h:117
J3DMtxCalc * getCurrentMtxCalc() const
Definition J3DSys.h:111
GXTexRegion mTexCacheRegion[8]
Definition J3DSys.h:61
void setMaterialMode(u32 mode)
Definition J3DSys.h:108
static Vec mCurrentS
Definition J3DSys.h:151
void setVtxPos(void *pVtxPos)
Definition J3DSys.h:96
J3DTexture * mTexture
Definition J3DSys.h:58
void setViewMtx(Mtx m)
Definition J3DSys.h:146
void drawInit()
Definition J3DSys.cpp:144
J3DSys()
Definition J3DSys.cpp:54
J3DModel * mModel
Definition J3DSys.h:51
void reinitPixelProc()
Definition J3DSys.cpp:387
u32 mFlags
Definition J3DSys.h:50
void reinitGenMode()
Definition J3DSys.cpp:262
Vec * mNBTScale
Definition J3DSys.h:68
J3DMatPacket * getMatPacket()
Definition J3DSys.h:107
void setModel(J3DModel *pModel)
Definition J3DSys.h:104
static J3DTexCoordScaleInfo sTexCoordScaleTable[8]
Definition J3DSys.h:153
u32 mDrawMode
Definition J3DSys.h:56
bool checkFlag(u32 flag)
Definition J3DSys.h:123
J3DTexture * getTexture()
Definition J3DSys.h:114
void setVtxCol(_GXColor *pVtxCol)
Definition J3DSys.h:102
J3DShapePacket * getShapePacket() const
Definition J3DSys.h:144
J3DShapePacket * mShapePacket
Definition J3DSys.h:53
void setTexCacheRegion(_GXTexCacheSize)
Definition J3DSys.cpp:97
void setDrawModeOpaTexEdge()
Definition J3DSys.h:91
static Vec mParentS
Definition J3DSys.h:152
void reinitTransform()
Definition J3DSys.cpp:291
void setTexture(J3DTexture *pTex)
Definition J3DSys.h:113
Definition J3DSys.h:30
u16 field_0x06
Definition J3DSys.h:34
u16 field_0x02
Definition J3DSys.h:32
u16 field_0x04
Definition J3DSys.h:33
u16 field_0x00
Definition J3DSys.h:31
Definition d_a_hozelda.cpp:18
Definition d_menu_dmap_map.cpp:90
Definition GXStruct.h:43
unsigned long u32
Definition types.h:9
unsigned short int u16
Definition types.h:7
unsigned char u8
Definition types.h:5