Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
J2DPicture.h
Go to the documentation of this file.
1#ifndef J2DPICTURE_H
2#define J2DPICTURE_H
3
7
8class J2DMaterial;
9class JUTPalette;
10struct ResTIMG;
11struct ResTLUT;
12
14 /* 0 */ MIRROR0, // temp, figure out later
15 /* 1 */ J2DMirror_Y = (1 << 0),
16 /* 2 */ J2DMirror_X = (1 << 1),
17};
18
20 /* 0 */ J2DBind_None = 0,
21 /* 1 */ J2DBind_Bottom = (1 << 0),
22 /* 2 */ J2DBind_Top = (1 << 1),
23 /* 4 */ J2DBind_Right = (1 << 2),
24 /* 8 */ J2DBind_Left = (1 << 3),
25
26 /* 0xF */ BIND15 = 15, // temp, figure out later
27};
28
34 /* 0x0 */ u32 mTag;
35 /* 0x4 */ u32 mSize;
36};
37
43 /* 0x00 */ u16 field_0x0;
44 /* 0x02 */ u16 mMaterialNum;
45 /* 0x04 */ u16 field_0x4;
46 /* 0x06 */ u16 field_0x6;
47 /* 0x08 */ u16 field_0x8[4];
49 /* 0x20 */ u32 mCornerColor[4];
50}; // Size: 0x30
51
56class J2DPicture : public J2DPane {
57public:
58 virtual ~J2DPicture();
59 virtual u16 getTypeID() const { return 18; }
60 virtual void drawSelf(f32, f32);
61 virtual void drawSelf(f32, f32, Mtx*);
62 virtual void initiate(ResTIMG const*, ResTLUT const*);
63 virtual bool prepareTexture(u8);
64 virtual bool append(ResTIMG const* param_0, f32 param_1) {
65 return insert(param_0, mTextureNum, param_1);
66 }
67 virtual bool append(ResTIMG const* param_0, JUTPalette* param_1, f32 param_2) {
68 return insert(param_0, param_1, mTextureNum, param_2);
69 }
70 virtual bool append(char const* param_0, f32 param_1) {
71 return insert(param_0, mTextureNum, param_1);
72 }
73 virtual bool append(char const* param_0, JUTPalette* param_1, f32 param_2) {
74 return insert(param_0, param_1, mTextureNum, param_2);
75 }
76 virtual bool append(JUTTexture* param_0, f32 param_1) {
77 return insert(param_0, mTextureNum, param_1);
78 }
79 virtual void prepend(ResTIMG const* param_0, f32 param_1) {
80 insert(param_0, 0, param_1);
81 }
82 virtual void prepend(ResTIMG const* param_0, JUTPalette* param_1, f32 param_2) {
83 insert(param_0, param_1, 0, param_2);
84 }
85 virtual void prepend(char const* param_0, f32 param_1) {
86 insert(param_0, 0, param_1);
87 }
88 virtual void prepend(char const* param_0, JUTPalette* param_1, f32 param_2) {
89 insert(param_0, param_1, 0, param_2);
90 }
91 virtual void prepend(JUTTexture* param_0, f32 param_1) {
92 insert(param_0, 0, param_1);
93 }
94 virtual bool insert(ResTIMG const* param_0, u8 param_1, f32 param_2) {
95 return insert(param_0, NULL, param_1, param_2);
96 }
97 virtual bool insert(ResTIMG const*, JUTPalette*, u8, f32);
98 virtual bool insert(char const* param_0, u8 param_1, f32 param_2) {
99 return insert(param_0, NULL, param_1, param_2);
100 }
101 virtual bool insert(char const*, JUTPalette*, u8, f32);
102 virtual bool insert(JUTTexture*, u8, f32);
103 virtual bool remove(u8);
104 virtual bool remove() { return remove(mTextureNum - 1); }
105 virtual bool remove(JUTTexture*);
106 virtual void draw(f32 param_0, f32 param_1, bool param_2, bool param_3,
107 bool param_4) {
108 draw(param_0, param_1, 0, param_2, param_3, param_4);
109 }
110 virtual void draw(f32 param_0, f32 param_1, u8 param_2, bool param_3,
111 bool param_4, bool param_5) {
112 if (param_2 < mTextureNum && mTexture[param_2] != NULL) {
113 draw(param_0, param_1, mTexture[param_2]->getWidth(), mTexture[param_2]->getHeight(),
114 param_3, param_4, param_5);
115 }
116 }
117 virtual void draw(f32, f32, f32, f32, bool, bool, bool);
118 virtual void drawOut(f32 param_0, f32 param_1, f32 param_2, f32 param_3,
119 f32 param_4, f32 param_5) {
120 if (mTexture[0] != NULL) {
121 drawOut(JGeometry::TBox2<f32>(param_0, param_1, param_0 + param_2, param_1 + param_3),
122 JGeometry::TBox2<f32>(param_4, param_5, param_4 + mTexture[0]->getWidth(),
123 param_5 + mTexture[0]->getHeight()));
124 }
125 }
126 virtual void drawOut(f32 param_0, f32 param_1, f32 param_2, f32 param_3,
127 f32 param_4, f32 param_5, f32 param_6, f32 param_7) {
128 drawOut(JGeometry::TBox2<f32>(param_0, param_1, param_0 + param_2, param_1 + param_3),
129 JGeometry::TBox2<f32>(param_4, param_5, param_4 + param_6, param_5 + param_7));
130 }
131 virtual void drawOut(JGeometry::TBox2<f32> const&, JGeometry::TBox2<f32> const&);
132 virtual void load(_GXTexMapID param_0, u8 param_1) {
133 if (param_1 < mTextureNum && param_1 < 2 && mTexture[param_1] != NULL) {
134 mTexture[param_1]->load(param_0);
135 }
136 }
137 virtual void load(u8 param_0) { load((_GXTexMapID)param_0, param_0); }
138 virtual void setBlendRatio(f32 param_0, f32 param_1) {
139 setBlendColorRatio(param_0, param_1);
140 setBlendAlphaRatio(param_0, param_1);
141 }
142 virtual void setBlendColorRatio(f32, f32);
143 virtual void setBlendAlphaRatio(f32, f32);
144 virtual const ResTIMG* changeTexture(ResTIMG const*, u8);
145 virtual const ResTIMG* changeTexture(char const*, u8);
146 virtual const ResTIMG* changeTexture(ResTIMG const*, u8, JUTPalette*);
147 virtual const ResTIMG* changeTexture(char const*, u8, JUTPalette*);
148 virtual JUTTexture* getTexture(u8 param_0) const {
149 if (param_0 < 2) {
150 return mTexture[param_0];
151 }
152 return NULL;
153 }
154 virtual u8 getTextureCount() const { return mTextureNum; }
155 /* vt 0x128 */ virtual bool setBlack(JUtility::TColor i_black) {
156 mBlack = i_black;
157 return true;
158 }
159 /* vt 0x12C */ virtual bool setWhite(JUtility::TColor i_white) {
160 mWhite = i_white;
161 return true;
162 }
163 virtual bool setBlackWhite(JUtility::TColor i_black, JUtility::TColor i_white) {
164 mBlack = i_black;
165 mWhite = i_white;
166 return true;
167 }
168 virtual JUtility::TColor getBlack() const {
169 return mBlack;
170 }
171 virtual JUtility::TColor getWhite() const {
172 return mWhite;
173 }
174 virtual J2DMaterial* getMaterial() const { return NULL; }
175 virtual void drawFullSet(f32, f32, f32, f32, Mtx*);
176 virtual void drawTexCoord(f32, f32, f32, f32, s16, s16, s16, s16, s16, s16, s16,
177 s16, Mtx*);
178 virtual u8 getUsableTlut(u8);
179 virtual bool isUsed(ResTIMG const*);
180 virtual bool isUsed(ResFONT const* param_0) { return J2DPane::isUsed(param_0); }
181 virtual void rewriteAlpha() {}
182
183 J2DPicture(u64, JGeometry::TBox2<f32> const&, ResTIMG const*, ResTLUT const*);
184 J2DPicture(ResTIMG const*);
186 J2DPicture();
189 void private_initiate(ResTIMG const*, ResTLUT const*);
190 void initinfo();
191 void setTevMode();
192 static void swap(f32&, f32&);
193 J2DBinding getBinding() const;
194 void setMirror(J2DMirror);
195 bool isTumble() const;
196 void setBlendKonstColor();
197 void setBlendKonstAlpha();
200 J2DMirror, bool);
201 void setTexCoord(JUTTexture const*, J2DBinding, J2DMirror, bool);
202 GXTlut getTlutID(ResTIMG const*, u8);
203
205 JUtility::TColor c3) {
206 mCornerColor[0] = c0;
207 mCornerColor[1] = c1;
208 mCornerColor[2] = c2;
209 mCornerColor[3] = c3;
210 }
212 setCornerColor(c0, c0, c0, c0);
213 }
214
215protected:
216 /* 0x100 */ JUTTexture* mTexture[2];
217 /* 0x108 */ u8 mTextureNum;
218 /* 0x109 */ u8 field_0x109;
220 /* 0x11C */ f32 field_0x11c[2];
221 /* 0x124 */ f32 field_0x124[2];
222 /* 0x12C */ JUTPalette* mPalette;
228};
229
230#endif /* J2DPICTURE_H */
J2DMirror
Definition J2DPicture.h:13
@ J2DMirror_X
Definition J2DPicture.h:16
@ J2DMirror_Y
Definition J2DPicture.h:15
@ MIRROR0
Definition J2DPicture.h:14
J2DBinding
Definition J2DPicture.h:19
@ J2DBind_Right
Definition J2DPicture.h:23
@ BIND15
Definition J2DPicture.h:26
@ J2DBind_Bottom
Definition J2DPicture.h:21
@ J2DBind_Left
Definition J2DPicture.h:24
@ J2DBind_Top
Definition J2DPicture.h:22
@ J2DBind_None
Definition J2DPicture.h:20
Definition J2DMaterial.h:11
Definition J2DPane.h:51
f32 getHeight() const
Definition J2DPane.h:143
f32 getWidth() const
Definition J2DPane.h:144
virtual bool isUsed(const ResTIMG *timg)
Definition J2DPane.cpp:490
void initiate()
Definition J2DPane.cpp:23
Definition J2DPicture.h:56
virtual bool isUsed(ResFONT const *param_0)
Definition J2DPicture.h:180
virtual bool append(ResTIMG const *param_0, f32 param_1)
Definition J2DPicture.h:64
virtual void drawOut(f32 param_0, f32 param_1, f32 param_2, f32 param_3, f32 param_4, f32 param_5, f32 param_6, f32 param_7)
Definition J2DPicture.h:126
JUtility::TColor mBlendKonstColor
Definition J2DPicture.h:226
void private_readStream(J2DPane *, JSURandomInputStream *, JKRArchive *)
Definition J2DPicture.cpp:148
virtual bool append(ResTIMG const *param_0, JUTPalette *param_1, f32 param_2)
Definition J2DPicture.h:67
virtual bool append(char const *param_0, JUTPalette *param_1, f32 param_2)
Definition J2DPicture.h:73
virtual void load(u8 param_0)
Definition J2DPicture.h:137
virtual u8 getTextureCount() const
Definition J2DPicture.h:154
virtual void rewriteAlpha()
Definition J2DPicture.h:181
virtual void prepend(ResTIMG const *param_0, JUTPalette *param_1, f32 param_2)
Definition J2DPicture.h:82
virtual JUtility::TColor getWhite() const
Definition J2DPicture.h:171
virtual void setBlendColorRatio(f32, f32)
Definition J2DPicture.cpp:821
u8 mTextureNum
Definition J2DPicture.h:217
virtual bool insert(ResTIMG const *param_0, u8 param_1, f32 param_2)
Definition J2DPicture.h:94
virtual const ResTIMG * changeTexture(ResTIMG const *, u8)
Definition J2DPicture.cpp:448
void setCornerColor(JUtility::TColor c0, JUtility::TColor c1, JUtility::TColor c2, JUtility::TColor c3)
Definition J2DPicture.h:204
virtual bool remove()
Definition J2DPicture.h:104
JUtility::TColor mBlack
Definition J2DPicture.h:224
void setTexCoord(JGeometry::TVec2< s16 > *, JUTTexture const *, J2DBinding, J2DMirror, bool)
Definition J2DPicture.cpp:884
virtual bool setWhite(JUtility::TColor i_white)
Definition J2DPicture.h:159
void initinfo()
Definition J2DPicture.cpp:260
virtual void setBlendAlphaRatio(f32, f32)
Definition J2DPicture.cpp:827
f32 field_0x124[2]
Definition J2DPicture.h:221
virtual void load(_GXTexMapID param_0, u8 param_1)
Definition J2DPicture.h:132
J2DBinding getBinding() const
Definition J2DPicture.cpp:791
virtual bool setBlack(JUtility::TColor i_black)
Definition J2DPicture.h:155
virtual void drawTexCoord(f32, f32, f32, f32, s16, s16, s16, s16, s16, s16, s16, s16, Mtx *)
Definition J2DPicture.cpp:647
void getNewColor(JUtility::TColor *)
Definition J2DPicture.cpp:865
virtual void prepend(ResTIMG const *param_0, f32 param_1)
Definition J2DPicture.h:79
virtual u16 getTypeID() const
Definition J2DPicture.h:59
virtual bool prepareTexture(u8)
Definition J2DPicture.cpp:281
void setCornerColor(JUtility::TColor c0)
Definition J2DPicture.h:211
JUtility::TColor mWhite
Definition J2DPicture.h:223
virtual void draw(f32 param_0, f32 param_1, bool param_2, bool param_3, bool param_4)
Definition J2DPicture.h:106
virtual bool append(char const *param_0, f32 param_1)
Definition J2DPicture.h:70
virtual bool setBlackWhite(JUtility::TColor i_black, JUtility::TColor i_white)
Definition J2DPicture.h:163
virtual J2DMaterial * getMaterial() const
Definition J2DPicture.h:174
JUTPalette * mPalette
Definition J2DPicture.h:222
J2DPicture()
Definition J2DPicture.cpp:12
void setTevMode()
Definition J2DPicture.cpp:701
f32 field_0x11c[2]
Definition J2DPicture.h:220
void private_initiate(ResTIMG const *, ResTLUT const *)
Definition J2DPicture.cpp:232
virtual void prepend(char const *param_0, JUTPalette *param_1, f32 param_2)
Definition J2DPicture.h:88
JUTTexture * mTexture[2]
Definition J2DPicture.h:216
virtual void drawSelf(f32, f32)
Definition J2DPicture.cpp:505
bool isTumble() const
Definition J2DPicture.cpp:817
virtual void prepend(char const *param_0, f32 param_1)
Definition J2DPicture.h:85
virtual void drawOut(f32 param_0, f32 param_1, f32 param_2, f32 param_3, f32 param_4, f32 param_5)
Definition J2DPicture.h:118
virtual void setBlendRatio(f32 param_0, f32 param_1)
Definition J2DPicture.h:138
void setBlendKonstColor()
Definition J2DPicture.cpp:833
virtual bool append(JUTTexture *param_0, f32 param_1)
Definition J2DPicture.h:76
virtual JUTTexture * getTexture(u8 param_0) const
Definition J2DPicture.h:148
virtual u8 getUsableTlut(u8)
Definition J2DPicture.cpp:978
JUtility::TColor mCornerColor[4]
Definition J2DPicture.h:225
JUtility::TColor mBlendKonstAlpha
Definition J2DPicture.h:227
JGeometry::TVec2< s16 > field_0x10a[4]
Definition J2DPicture.h:219
GXTlut getTlutID(ResTIMG const *, u8)
Definition J2DPicture.cpp:1015
virtual JUtility::TColor getBlack() const
Definition J2DPicture.h:168
virtual void prepend(JUTTexture *param_0, f32 param_1)
Definition J2DPicture.h:91
void setMirror(J2DMirror)
Definition J2DPicture.cpp:809
virtual void draw(f32 param_0, f32 param_1, u8 param_2, bool param_3, bool param_4, bool param_5)
Definition J2DPicture.h:110
virtual void drawFullSet(f32, f32, f32, f32, Mtx *)
Definition J2DPicture.cpp:519
virtual bool isUsed(ResTIMG const *)
Definition J2DPicture.cpp:968
u8 field_0x109
Definition J2DPicture.h:218
void setBlendKonstAlpha()
Definition J2DPicture.cpp:849
virtual ~J2DPicture()
Definition J2DPicture.cpp:271
virtual bool insert(char const *param_0, u8 param_1, f32 param_2)
Definition J2DPicture.h:98
Definition JKRArchive.h:57
Definition JSURandomInputStream.h:10
Definition JUTPalette.h:22
Definition JUTTexture.h:47
void load(GXTexMapID)
Definition JUTTexture.cpp:159
enum _GXTlut GXTlut
_GXTexMapID
Definition GXEnum.h:190
u32 swap
Definition GXTev.c:55
f32 Mtx[3][4]
Definition mtx.h:25
unsigned long u32
Definition types.h:12
signed short int s16
Definition types.h:9
float f32
Definition types.h:25
unsigned short int u16
Definition types.h:10
unsigned long long int u64
Definition types.h:14
unsigned char u8
Definition types.h:8
Definition J2DPicture.h:33
u32 mTag
Definition J2DPicture.h:34
u32 mSize
Definition J2DPicture.h:35
Definition J2DPicture.h:42
u16 field_0x0
Definition J2DPicture.h:43
u16 field_0x4
Definition J2DPicture.h:45
u16 field_0x6
Definition J2DPicture.h:46
u16 mMaterialNum
Definition J2DPicture.h:44
u16 field_0x8[4]
Definition J2DPicture.h:47
u32 mCornerColor[4]
Definition J2DPicture.h:49
JGeometry::TVec2< s16 > field_0x10[4]
Definition J2DPicture.h:48
Definition JGeometry.h:533
Definition JGeometry.h:415
Definition TColor.h:12
Definition JUTFont.h:11
Image data header.
Definition JUTTexture.h:18
Definition JUTPalette.h:12