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 /* 1 */ J2DBind_Bottom = (1 << 0),
21 /* 2 */ J2DBind_Top = (1 << 1),
22 /* 4 */ J2DBind_Right = (1 << 2),
23 /* 8 */ J2DBind_Left = (1 << 3),
24
25 /* 0xF */ BIND15 = 15, // temp, figure out later
26};
27
33 /* 0x0 */ u32 mTag;
34 /* 0x4 */ u32 mSize;
35};
36
42 /* 0x00 */ u16 field_0x0;
43 /* 0x02 */ u16 mMaterialNum;
44 /* 0x04 */ u16 field_0x4;
45 /* 0x06 */ u16 field_0x6;
46 /* 0x08 */ u16 field_0x8[4];
48 /* 0x20 */ u32 mCornerColor[4];
49}; // Size: 0x30
50
55class J2DPicture : public J2DPane {
56public:
57 virtual ~J2DPicture();
58 virtual u16 getTypeID() const { return 18; }
59 virtual void drawSelf(f32, f32);
60 virtual void drawSelf(f32, f32, Mtx*);
61 virtual void initiate(ResTIMG const*, ResTLUT const*);
62 virtual bool prepareTexture(u8);
63 virtual bool append(ResTIMG const* param_0, f32 param_1) {
64 return insert(param_0, mTextureNum, param_1);
65 }
66 virtual bool append(ResTIMG const* param_0, JUTPalette* param_1, f32 param_2) {
67 return insert(param_0, param_1, mTextureNum, param_2);
68 }
69 virtual bool append(char const* param_0, f32 param_1) {
70 return insert(param_0, mTextureNum, param_1);
71 }
72 virtual bool append(char const* param_0, JUTPalette* param_1, f32 param_2) {
73 return insert(param_0, param_1, mTextureNum, param_2);
74 }
75 virtual bool append(JUTTexture* param_0, f32 param_1) {
76 return insert(param_0, mTextureNum, param_1);
77 }
78 virtual void prepend(ResTIMG const* param_0, f32 param_1) {
79 insert(param_0, 0, param_1);
80 }
81 virtual void prepend(ResTIMG const* param_0, JUTPalette* param_1, f32 param_2) {
82 insert(param_0, param_1, 0, param_2);
83 }
84 virtual void prepend(char const* param_0, f32 param_1) {
85 insert(param_0, 0, param_1);
86 }
87 virtual void prepend(char const* param_0, JUTPalette* param_1, f32 param_2) {
88 insert(param_0, param_1, 0, param_2);
89 }
90 virtual void prepend(JUTTexture* param_0, f32 param_1) {
91 insert(param_0, 0, param_1);
92 }
93 virtual bool insert(ResTIMG const* param_0, u8 param_1, f32 param_2) {
94 return insert(param_0, NULL, param_1, param_2);
95 }
96 virtual bool insert(ResTIMG const*, JUTPalette*, u8, f32);
97 virtual bool insert(char const* param_0, u8 param_1, f32 param_2) {
98 return insert(param_0, NULL, param_1, param_2);
99 }
100 virtual bool insert(char const*, JUTPalette*, u8, f32);
101 virtual bool insert(JUTTexture*, u8, f32);
102 virtual bool remove(u8);
103 virtual bool remove() { return remove(mTextureNum - 1); }
104 virtual bool remove(JUTTexture*);
105 virtual void draw(f32 param_0, f32 param_1, bool param_2, bool param_3,
106 bool param_4) {
107 draw(param_0, param_1, 0, param_2, param_3, param_4);
108 }
109 virtual void draw(f32 param_0, f32 param_1, u8 param_2, bool param_3,
110 bool param_4, bool param_5) {
111 if (param_2 < mTextureNum && mTexture[param_2] != NULL) {
112 draw(param_0, param_1, mTexture[param_2]->getWidth(), mTexture[param_2]->getHeight(),
113 param_3, param_4, param_5);
114 }
115 }
116 virtual void draw(f32, f32, f32, f32, bool, bool, bool);
117 virtual void drawOut(f32 param_0, f32 param_1, f32 param_2, f32 param_3,
118 f32 param_4, f32 param_5) {
119 if (mTexture[0] != NULL) {
120 drawOut(JGeometry::TBox2<f32>(param_0, param_1, param_0 + param_2, param_1 + param_3),
121 JGeometry::TBox2<f32>(param_4, param_5, param_4 + mTexture[0]->getWidth(),
122 param_5 + mTexture[0]->getHeight()));
123 }
124 }
125 virtual void drawOut(f32 param_0, f32 param_1, f32 param_2, f32 param_3,
126 f32 param_4, f32 param_5, f32 param_6, f32 param_7) {
127 drawOut(JGeometry::TBox2<f32>(param_0, param_1, param_0 + param_2, param_1 + param_3),
128 JGeometry::TBox2<f32>(param_4, param_5, param_4 + param_6, param_5 + param_7));
129 }
130 virtual void drawOut(JGeometry::TBox2<f32> const&, JGeometry::TBox2<f32> const&);
131 virtual void load(_GXTexMapID param_0, u8 param_1) {
132 if (param_1 < mTextureNum && param_1 < 2 && mTexture[param_1] != NULL) {
133 mTexture[param_1]->load(param_0);
134 }
135 }
136 virtual void load(u8 param_0) { load((_GXTexMapID)param_0, param_0); }
137 virtual void setBlendRatio(f32 param_0, f32 param_1) {
138 setBlendColorRatio(param_0, param_1);
139 setBlendAlphaRatio(param_0, param_1);
140 }
141 virtual void setBlendColorRatio(f32, f32);
142 virtual void setBlendAlphaRatio(f32, f32);
143 virtual const ResTIMG* changeTexture(ResTIMG const*, u8);
144 virtual const ResTIMG* changeTexture(char const*, u8);
145 virtual const ResTIMG* changeTexture(ResTIMG const*, u8, JUTPalette*);
146 virtual const ResTIMG* changeTexture(char const*, u8, JUTPalette*);
147 virtual JUTTexture* getTexture(u8 param_0) const {
148 if (param_0 < 2) {
149 return mTexture[param_0];
150 }
151 return NULL;
152 }
153 virtual u8 getTextureCount() const { return mTextureNum; }
154 /* vt 0x128 */ virtual bool setBlack(JUtility::TColor i_black) {
155 mBlack = i_black;
156 return true;
157 }
158 /* vt 0x12C */ virtual bool setWhite(JUtility::TColor i_white) {
159 mWhite = i_white;
160 return true;
161 }
162 virtual bool setBlackWhite(JUtility::TColor i_black, JUtility::TColor i_white) {
163 mBlack = i_black;
164 mWhite = i_white;
165 return true;
166 }
167 virtual JUtility::TColor getBlack() const {
168 return mBlack;
169 }
170 virtual JUtility::TColor getWhite() const {
171 return mWhite;
172 }
173 virtual J2DMaterial* getMaterial() const { return NULL; }
174 virtual void drawFullSet(f32, f32, f32, f32, Mtx*);
175 virtual void drawTexCoord(f32, f32, f32, f32, s16, s16, s16, s16, s16, s16, s16,
176 s16, Mtx*);
177 virtual u8 getUsableTlut(u8);
178 virtual bool isUsed(ResTIMG const*);
179 virtual bool isUsed(ResFONT const* param_0) { return J2DPane::isUsed(param_0); }
180 virtual void rewriteAlpha() {}
181
182 J2DPicture(u64, JGeometry::TBox2<f32> const&, ResTIMG const*, ResTLUT const*);
183 J2DPicture(ResTIMG const*);
185 J2DPicture();
188 void private_initiate(ResTIMG const*, ResTLUT const*);
189 void initinfo();
190 void setTevMode();
191 static void swap(f32&, f32&);
192 void setBlendKonstColor();
193 void setBlendKonstAlpha();
196 J2DMirror, bool);
197 void setTexCoord(JUTTexture const*, J2DBinding, J2DMirror, bool);
198 GXTlut getTlutID(ResTIMG const*, u8);
199
201 JUtility::TColor c3) {
202 mCornerColor[0] = c0;
203 mCornerColor[1] = c1;
204 mCornerColor[2] = c2;
205 mCornerColor[3] = c3;
206 }
208 setCornerColor(c0, c0, c0, c0);
209 }
210
211protected:
212 /* 0x100 */ JUTTexture* mTexture[2];
213 /* 0x108 */ u8 mTextureNum;
214 /* 0x109 */ u8 field_0x109;
216 /* 0x11C */ f32 field_0x11c[2];
217 /* 0x124 */ f32 field_0x124[2];
218 /* 0x12C */ JUTPalette* mPalette;
224};
225
226#endif /* J2DPICTURE_H */
u32 swap
Definition GXTev.c:55
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:22
@ BIND15
Definition J2DPicture.h:25
@ J2DBind_Bottom
Definition J2DPicture.h:20
@ J2DBind_Left
Definition J2DPicture.h:23
@ J2DBind_Top
Definition J2DPicture.h:21
Definition J2DMaterial.h:11
Definition J2DPane.h:51
f32 getHeight() const
Definition J2DPane.h:124
f32 getWidth() const
Definition J2DPane.h:125
virtual bool isUsed(const ResTIMG *timg)
Definition J2DPane.cpp:469
void initiate()
Definition J2DPane.cpp:22
Definition J2DPicture.h:55
virtual bool isUsed(ResFONT const *param_0)
Definition J2DPicture.h:179
virtual bool append(ResTIMG const *param_0, f32 param_1)
Definition J2DPicture.h:63
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:125
JUtility::TColor mBlendKonstColor
Definition J2DPicture.h:222
void private_readStream(J2DPane *, JSURandomInputStream *, JKRArchive *)
Definition J2DPicture.cpp:159
virtual bool append(ResTIMG const *param_0, JUTPalette *param_1, f32 param_2)
Definition J2DPicture.h:66
virtual bool append(char const *param_0, JUTPalette *param_1, f32 param_2)
Definition J2DPicture.h:72
virtual void load(u8 param_0)
Definition J2DPicture.h:136
virtual u8 getTextureCount() const
Definition J2DPicture.h:153
virtual void rewriteAlpha()
Definition J2DPicture.h:180
virtual void prepend(ResTIMG const *param_0, JUTPalette *param_1, f32 param_2)
Definition J2DPicture.h:81
virtual JUtility::TColor getWhite() const
Definition J2DPicture.h:170
virtual void setBlendColorRatio(f32, f32)
Definition J2DPicture.cpp:805
u8 mTextureNum
Definition J2DPicture.h:213
virtual bool insert(ResTIMG const *param_0, u8 param_1, f32 param_2)
Definition J2DPicture.h:93
virtual const ResTIMG * changeTexture(ResTIMG const *, u8)
Definition J2DPicture.cpp:460
void setCornerColor(JUtility::TColor c0, JUtility::TColor c1, JUtility::TColor c2, JUtility::TColor c3)
Definition J2DPicture.h:200
virtual bool remove()
Definition J2DPicture.h:103
JUtility::TColor mBlack
Definition J2DPicture.h:220
void setTexCoord(JGeometry::TVec2< s16 > *, JUTTexture const *, J2DBinding, J2DMirror, bool)
Definition J2DPicture.cpp:870
virtual bool setWhite(JUtility::TColor i_white)
Definition J2DPicture.h:158
void initinfo()
Definition J2DPicture.cpp:270
virtual void setBlendAlphaRatio(f32, f32)
Definition J2DPicture.cpp:811
f32 field_0x124[2]
Definition J2DPicture.h:217
virtual void load(_GXTexMapID param_0, u8 param_1)
Definition J2DPicture.h:131
virtual bool setBlack(JUtility::TColor i_black)
Definition J2DPicture.h:154
virtual void drawTexCoord(f32, f32, f32, f32, s16, s16, s16, s16, s16, s16, s16, s16, Mtx *)
Definition J2DPicture.cpp:661
void getNewColor(JUtility::TColor *)
Definition J2DPicture.cpp:851
virtual void prepend(ResTIMG const *param_0, f32 param_1)
Definition J2DPicture.h:78
virtual u16 getTypeID() const
Definition J2DPicture.h:58
virtual bool prepareTexture(u8)
Definition J2DPicture.cpp:291
void setCornerColor(JUtility::TColor c0)
Definition J2DPicture.h:207
JUtility::TColor mWhite
Definition J2DPicture.h:219
virtual void draw(f32 param_0, f32 param_1, bool param_2, bool param_3, bool param_4)
Definition J2DPicture.h:105
virtual bool append(char const *param_0, f32 param_1)
Definition J2DPicture.h:69
virtual bool setBlackWhite(JUtility::TColor i_black, JUtility::TColor i_white)
Definition J2DPicture.h:162
virtual J2DMaterial * getMaterial() const
Definition J2DPicture.h:173
JUTPalette * mPalette
Definition J2DPicture.h:218
J2DPicture()
Definition J2DPicture.cpp:12
void setTevMode()
Definition J2DPicture.cpp:715
f32 field_0x11c[2]
Definition J2DPicture.h:216
void private_initiate(ResTIMG const *, ResTLUT const *)
Definition J2DPicture.cpp:242
virtual void prepend(char const *param_0, JUTPalette *param_1, f32 param_2)
Definition J2DPicture.h:87
JUTTexture * mTexture[2]
Definition J2DPicture.h:212
virtual void drawSelf(f32, f32)
Definition J2DPicture.cpp:521
virtual void prepend(char const *param_0, f32 param_1)
Definition J2DPicture.h:84
virtual void drawOut(f32 param_0, f32 param_1, f32 param_2, f32 param_3, f32 param_4, f32 param_5)
Definition J2DPicture.h:117
virtual void setBlendRatio(f32 param_0, f32 param_1)
Definition J2DPicture.h:137
void setBlendKonstColor()
Definition J2DPicture.cpp:817
virtual bool append(JUTTexture *param_0, f32 param_1)
Definition J2DPicture.h:75
virtual JUTTexture * getTexture(u8 param_0) const
Definition J2DPicture.h:147
virtual u8 getUsableTlut(u8)
Definition J2DPicture.cpp:994
JUtility::TColor mCornerColor[4]
Definition J2DPicture.h:221
JUtility::TColor mBlendKonstAlpha
Definition J2DPicture.h:223
JGeometry::TVec2< s16 > field_0x10a[4]
Definition J2DPicture.h:215
GXTlut getTlutID(ResTIMG const *, u8)
Definition J2DPicture.cpp:1024
virtual JUtility::TColor getBlack() const
Definition J2DPicture.h:167
virtual void prepend(JUTTexture *param_0, f32 param_1)
Definition J2DPicture.h:90
virtual void draw(f32 param_0, f32 param_1, u8 param_2, bool param_3, bool param_4, bool param_5)
Definition J2DPicture.h:109
virtual void drawFullSet(f32, f32, f32, f32, Mtx *)
Definition J2DPicture.cpp:535
virtual bool isUsed(ResTIMG const *)
Definition J2DPicture.cpp:984
u8 field_0x109
Definition J2DPicture.h:214
void setBlendKonstAlpha()
Definition J2DPicture.cpp:834
virtual ~J2DPicture()
Definition J2DPicture.cpp:281
virtual bool insert(char const *param_0, u8 param_1, f32 param_2)
Definition J2DPicture.h:97
Definition JKRArchive.h:57
Definition JSURandomInputStream.h:10
Definition JUTPalette.h:22
Definition JUTTexture.h:47
void load(_GXTexMapID)
Definition JUTTexture.cpp:172
enum _GXTlut GXTlut
_GXTexMapID
Definition GXEnum.h:190
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:32
u32 mTag
Definition J2DPicture.h:33
u32 mSize
Definition J2DPicture.h:34
Definition J2DPicture.h:41
u16 field_0x0
Definition J2DPicture.h:42
u16 field_0x4
Definition J2DPicture.h:44
u16 field_0x6
Definition J2DPicture.h:45
u16 mMaterialNum
Definition J2DPicture.h:43
u16 field_0x8[4]
Definition J2DPicture.h:46
u32 mCornerColor[4]
Definition J2DPicture.h:48
JGeometry::TVec2< s16 > field_0x10[4]
Definition J2DPicture.h:47
Definition JGeometry.h:499
Definition JGeometry.h:405
Definition TColor.h:12
Definition JUTFont.h:11
Image data header.
Definition JUTTexture.h:18
Definition JUTPalette.h:12