Loading [MathJax]/extensions/MathZoom.js
Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages
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 /* 802FCFF0 */ virtual ~J2DPicture();
58 /* 802FF2E8 */ virtual u16 getTypeID() const { return 18; }
59 /* 802FDB28 */ virtual void drawSelf(f32, f32);
60 /* 802FDB90 */ virtual void drawSelf(f32, f32, Mtx*);
61 /* 802FCCDC */ virtual void initiate(ResTIMG const*, ResTLUT const*);
62 /* 802FD098 */ virtual bool prepareTexture(u8);
63 /* 801BDD40 */ virtual bool append(ResTIMG const* param_0, f32 param_1) {
64 return insert(param_0, mTextureNum, param_1);
65 }
66 /* 802FF238 */ 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 /* 80020338 */ virtual bool append(char const* param_0, f32 param_1) {
70 return insert(param_0, mTextureNum, param_1);
71 }
72 /* 802FF2F0 */ 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 /* 802FF208 */ virtual bool append(JUTTexture* param_0, f32 param_1) {
76 return insert(param_0, mTextureNum, param_1);
77 }
78 /* 802FF3E0 */ virtual void prepend(ResTIMG const* param_0, f32 param_1) {
79 insert(param_0, 0, param_1);
80 }
81 /* 802FF3B0 */ virtual void prepend(ResTIMG const* param_0, JUTPalette* param_1, f32 param_2) {
82 insert(param_0, param_1, 0, param_2);
83 }
84 /* 802FF380 */ virtual void prepend(char const* param_0, f32 param_1) {
85 insert(param_0, 0, param_1);
86 }
87 /* 802FF350 */ virtual void prepend(char const* param_0, JUTPalette* param_1, f32 param_2) {
88 insert(param_0, param_1, 0, param_2);
89 }
90 /* 802FF320 */ virtual void prepend(JUTTexture* param_0, f32 param_1) {
91 insert(param_0, 0, param_1);
92 }
93 /* 801BDD70 */ virtual bool insert(ResTIMG const*, u8, f32);
94 /* 802FD168 */ virtual bool insert(ResTIMG const*, JUTPalette*, u8, f32);
95 /* 80020368 */ virtual bool insert(char const* param_0, u8 param_1, f32 param_2) {
96 return insert(param_0, NULL, param_1, param_2);
97 }
98 /* 802FD4B4 */ virtual bool insert(char const*, JUTPalette*, u8, f32);
99 /* 802FD524 */ virtual bool insert(JUTTexture*, u8, f32);
100 /* 802FD6F4 */ virtual bool remove(u8);
101 /* 802FF410 */ virtual bool remove() { return remove(mTextureNum - 1); }
102 /* 802FD814 */ virtual bool remove(JUTTexture*);
103 /* 802FF4E0 */ virtual void draw(f32 param_0, f32 param_1, bool param_2, bool param_3,
104 bool param_4) {
105 draw(param_0, param_1, 0, param_2, param_3, param_4);
106 }
107 /* 802FF448 */ virtual void draw(f32 param_0, f32 param_1, u8 param_2, bool param_3,
108 bool param_4, bool param_5) {
109 if (param_2 < mTextureNum && mTexture[param_2] != NULL) {
110 draw(param_0, param_1, mTexture[param_2]->getWidth(), mTexture[param_2]->getHeight(),
111 param_3, param_4, param_5);
112 }
113 }
114 /* 802FDC70 */ virtual void draw(f32, f32, f32, f32, bool, bool, bool);
115 /* 802FF588 */ virtual void drawOut(f32 param_0, f32 param_1, f32 param_2, f32 param_3,
116 f32 param_4, f32 param_5) {
117 if (mTexture[0] != NULL) {
118 drawOut(JGeometry::TBox2<f32>(param_0, param_1, param_0 + param_2, param_1 + param_3),
119 JGeometry::TBox2<f32>(param_4, param_5, param_4 + mTexture[0]->getWidth(),
120 param_5 + mTexture[0]->getHeight()));
121 }
122 }
123 /* 802FF524 */ virtual void drawOut(f32 param_0, f32 param_1, f32 param_2, f32 param_3,
124 f32 param_4, f32 param_5, f32 param_6, f32 param_7) {
125 drawOut(JGeometry::TBox2<f32>(param_0, param_1, param_0 + param_2, param_1 + param_3),
126 JGeometry::TBox2<f32>(param_4, param_5, param_4 + param_6, param_5 + param_7));
127 }
128 /* 802FDF88 */ virtual void drawOut(JGeometry::TBox2<f32> const&, JGeometry::TBox2<f32> const&);
129 /* 802FF29C */ virtual void load(_GXTexMapID param_0, u8 param_1) {
130 if (param_1 < mTextureNum && param_1 < 2 && mTexture[param_1] != NULL) {
131 mTexture[param_1]->load(param_0);
132 }
133 }
134 /* 802FF268 */ virtual void load(u8 param_0) { load((_GXTexMapID)param_0, param_0); }
135 /* 800202CC */ virtual void setBlendRatio(f32 param_0, f32 param_1) {
136 setBlendColorRatio(param_0, param_1);
137 setBlendAlphaRatio(param_0, param_1);
138 }
139 /* 802FEA74 */ virtual void setBlendColorRatio(f32, f32);
140 /* 802FEA9C */ virtual void setBlendAlphaRatio(f32, f32);
141 /* 802FD874 */ virtual const ResTIMG* changeTexture(ResTIMG const*, u8);
142 /* 802FD964 */ virtual const ResTIMG* changeTexture(char const*, u8);
143 /* 802FD9BC */ virtual const ResTIMG* changeTexture(ResTIMG const*, u8, JUTPalette*);
144 /* 802FDAC8 */ virtual const ResTIMG* changeTexture(char const*, u8, JUTPalette*);
145 /* 800539DC */ virtual JUTTexture* getTexture(u8) const;
146 /* 802FF634 */ virtual u8 getTextureCount() const { return mTextureNum; }
147 /* 80053C6C */ virtual bool setBlack(JUtility::TColor i_black) {
148 mBlack = i_black;
149 return true;
150 }
151 /* 80053C44 */ virtual bool setWhite(JUtility::TColor i_white) {
152 mWhite = i_white;
153 return true;
154 }
155 /* 8018BEE0 */ virtual bool setBlackWhite(JUtility::TColor i_black, JUtility::TColor i_white) {
156 mBlack = i_black;
157 mWhite = i_white;
158 return true;
159 }
160 /* 801DFA4C */ virtual JUtility::TColor getBlack() const {
161 return mBlack;
162 }
163 /* 801DFA40 */ virtual JUtility::TColor getWhite() const {
164 return mWhite;
165 }
166 /* 8025603C */ virtual J2DMaterial* getMaterial() const { return NULL; }
167 /* 802FDBFC */ virtual void drawFullSet(f32, f32, f32, f32, Mtx*);
168 /* 802FE380 */ virtual void drawTexCoord(f32, f32, f32, f32, s16, s16, s16, s16, s16, s16, s16,
169 s16, Mtx*);
170 /* 802FF100 */ virtual u8 getUsableTlut(u8);
171 /* 802FF09C */ virtual bool isUsed(ResTIMG const*);
172 /* 802FF63C */ virtual bool isUsed(ResFONT const* param_0) { return J2DPane::isUsed(param_0); }
173 /* 802FF65C */ virtual void rewriteAlpha() {}
174
175 /* 802FC800 */ J2DPicture(u64, JGeometry::TBox2<f32> const&, ResTIMG const*, ResTLUT const*);
176 /* 802FC708 */ J2DPicture(ResTIMG const*);
178 /* 802FC050 */ J2DPicture();
181 /* 802FCD70 */ void private_initiate(ResTIMG const*, ResTLUT const*);
182 /* 802FCE9C */ void initinfo();
183 /* 802FE5D0 */ void setTevMode();
184 /* 802FEA60 */ static void swap(f32&, f32&);
185 /* 802FEAC4 */ void setBlendKonstColor();
186 /* 802FEB94 */ void setBlendKonstAlpha();
187 /* 802FEC64 */ void getNewColor(JUtility::TColor*);
188 /* 802FED84 */ void setTexCoord(JGeometry::TVec2<s16>*, JUTTexture const*, J2DBinding,
189 J2DMirror, bool);
190 /* 802FED44 */ void setTexCoord(JUTTexture const*, J2DBinding, J2DMirror, bool);
191 /* 802FF1D0 */ GXTlut getTlutID(ResTIMG const*, u8);
192
194 JUtility::TColor c3) {
195 mCornerColor[0] = c0;
196 mCornerColor[1] = c1;
197 mCornerColor[2] = c2;
198 mCornerColor[3] = c3;
199 }
201 setCornerColor(c0, c0, c0, c0);
202 }
203
204protected:
205 /* 0x100 */ JUTTexture* mTexture[2];
206 /* 0x108 */ u8 mTextureNum;
207 /* 0x109 */ u8 field_0x109;
209 /* 0x11C */ f32 field_0x11c[2];
210 /* 0x124 */ f32 field_0x124[2];
211 /* 0x12C */ JUTPalette* mPalette;
217};
218
219#endif /* J2DPICTURE_H */
enum _GXTlut GXTlut
_GXTexMapID
Definition GXEnum.h:187
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:499
void initiate()
Definition J2DPane.cpp:22
Definition J2DPicture.h:55
virtual bool isUsed(ResFONT const *param_0)
Definition J2DPicture.h:172
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:123
JUtility::TColor mBlendKonstColor
Definition J2DPicture.h:215
void private_readStream(J2DPane *, JSURandomInputStream *, JKRArchive *)
Definition J2DPicture.cpp:172
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:134
virtual bool insert(ResTIMG const *, u8, f32)
virtual u8 getTextureCount() const
Definition J2DPicture.h:146
virtual void rewriteAlpha()
Definition J2DPicture.h:173
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:163
virtual void setBlendColorRatio(f32, f32)
Definition J2DPicture.cpp:852
u8 mTextureNum
Definition J2DPicture.h:206
virtual const ResTIMG * changeTexture(ResTIMG const *, u8)
Definition J2DPicture.cpp:488
void setCornerColor(JUtility::TColor c0, JUtility::TColor c1, JUtility::TColor c2, JUtility::TColor c3)
Definition J2DPicture.h:193
virtual bool remove()
Definition J2DPicture.h:101
JUtility::TColor mBlack
Definition J2DPicture.h:213
void setTexCoord(JGeometry::TVec2< s16 > *, JUTTexture const *, J2DBinding, J2DMirror, bool)
Definition J2DPicture.cpp:929
virtual bool setWhite(JUtility::TColor i_white)
Definition J2DPicture.h:151
void initinfo()
Definition J2DPicture.cpp:288
virtual void setBlendAlphaRatio(f32, f32)
Definition J2DPicture.cpp:860
f32 field_0x124[2]
Definition J2DPicture.h:210
virtual void load(_GXTexMapID param_0, u8 param_1)
Definition J2DPicture.h:129
virtual bool setBlack(JUtility::TColor i_black)
Definition J2DPicture.h:147
virtual void drawTexCoord(f32, f32, f32, f32, s16, s16, s16, s16, s16, s16, s16, s16, Mtx *)
Definition J2DPicture.cpp:704
void getNewColor(JUtility::TColor *)
Definition J2DPicture.cpp:906
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:311
void setCornerColor(JUtility::TColor c0)
Definition J2DPicture.h:200
JUtility::TColor mWhite
Definition J2DPicture.h:212
virtual void draw(f32 param_0, f32 param_1, bool param_2, bool param_3, bool param_4)
Definition J2DPicture.h:103
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:155
virtual J2DMaterial * getMaterial() const
Definition J2DPicture.h:166
JUTPalette * mPalette
Definition J2DPicture.h:211
J2DPicture()
Definition J2DPicture.cpp:16
virtual JUTTexture * getTexture(u8) const
Definition d_drawlist.cpp:893
void setTevMode()
Definition J2DPicture.cpp:759
f32 field_0x11c[2]
Definition J2DPicture.h:209
void private_initiate(ResTIMG const *, ResTLUT const *)
Definition J2DPicture.cpp:259
virtual void prepend(char const *param_0, JUTPalette *param_1, f32 param_2)
Definition J2DPicture.h:87
JUTTexture * mTexture[2]
Definition J2DPicture.h:205
virtual void drawSelf(f32, f32)
Definition J2DPicture.cpp:556
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:115
virtual void setBlendRatio(f32 param_0, f32 param_1)
Definition J2DPicture.h:135
void setBlendKonstColor()
Definition J2DPicture.cpp:868
virtual bool append(JUTTexture *param_0, f32 param_1)
Definition J2DPicture.h:75
virtual u8 getUsableTlut(u8)
Definition J2DPicture.cpp:1055
JUtility::TColor mCornerColor[4]
Definition J2DPicture.h:214
JUtility::TColor mBlendKonstAlpha
Definition J2DPicture.h:216
JGeometry::TVec2< s16 > field_0x10a[4]
Definition J2DPicture.h:208
GXTlut getTlutID(ResTIMG const *, u8)
Definition J2DPicture.cpp:1086
virtual JUtility::TColor getBlack() const
Definition J2DPicture.h:160
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:107
virtual void drawFullSet(f32, f32, f32, f32, Mtx *)
Definition J2DPicture.cpp:573
virtual bool isUsed(ResTIMG const *)
Definition J2DPicture.cpp:1044
u8 field_0x109
Definition J2DPicture.h:207
void setBlendKonstAlpha()
Definition J2DPicture.cpp:887
virtual ~J2DPicture()
Definition J2DPicture.cpp:300
virtual bool insert(char const *param_0, u8 param_1, f32 param_2)
Definition J2DPicture.h:95
Definition JKRArchive.h:57
Definition JSURandomInputStream.h:10
Definition JUTPalette.h:22
Definition JUTTexture.h:46
void load(_GXTexMapID)
Definition JUTTexture.cpp:183
f32 Mtx[3][4]
Definition mtx.h:22
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:508
Definition JGeometry.h:413
Definition TColor.h:12
Definition JUTFont.h:11
Image data header.
Definition d_menu_dmap_map.cpp:109
Definition JUTPalette.h:12
unsigned long u32
Definition types.h:9
signed short int s16
Definition types.h:6
float f32
Definition types.h:22
unsigned short int u16
Definition types.h:7
unsigned long long int u64
Definition types.h:11
unsigned char u8
Definition types.h:5