Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
m_Do_graphic.h
Go to the documentation of this file.
1#ifndef M_DO_M_DO_GRAPHIC_H
2#define M_DO_M_DO_GRAPHIC_H
3
5#include "m_Do/m_Do_mtx.h"
6#include "global.h"
7
8#if WIDESCREEN_SUPPORT
9#define FB_WIDTH (640)
10#define FB_HEIGHT (456)
11#else
12#define FB_WIDTH (608)
13#define FB_HEIGHT (448)
14#endif
15
16int mDoGph_Create();
17void mDoGph_drawFilterQuad(s8 param_0, s8 param_1);
18
19struct ResTIMG;
20class JKRSolidHeap;
22public:
23 class bloom_c {
24 public:
25 bloom_c() { m_buffer = NULL; }
26 void create();
27 void remove();
28 void draw();
29
30 u8 getEnable() { return mEnable; }
31 void setEnable(u8 i_enable) { mEnable = i_enable; }
34 void setPoint(u8 i_point) { mPoint = i_point; }
35 void setBlureSize(u8 i_size) { mBlureSize = i_size; }
36 void setBlureRatio(u8 i_ratio) { mBlureRatio = i_ratio; }
37 void setBlendColor(GXColor i_color) { mBlendColor = i_color; }
38 void setMonoColor(GXColor i_color) { mMonoColor = i_color; }
39 void setMode(u8 i_mode) { mMode = i_mode; }
40 void* getBuffer() { return m_buffer; }
41 u8 getPoint() { return mPoint; }
44
45 /* 0x00 */ GXColor mBlendColor;
46 /* 0x04 */ GXColor mMonoColor;
47 /* 0x08 */ u8 mEnable;
48 /* 0x09 */ u8 mMode;
49 /* 0x0A */ u8 mPoint;
50 /* 0x0B */ u8 mBlureSize;
51 /* 0x0C */ u8 mBlureRatio;
52 /* 0x10 */ void* m_buffer;
53 };
54
55 #if PLATFORM_WII || PLATFORM_SHIELD
56 class csr_c {
57 public:
58 virtual ~csr_c() {}
59 virtual bool isPointer();
60
61 static void particleExecute();
62 static u32 getBlurID() { return m_blurID; }
63
64 static u32 m_blurID;
68 };
69
70 static void entryBaseCsr(csr_c*);
71 #endif
72
73 static void create();
74 static void beginRender();
75 static void fadeOut(f32);
76 static void fadeOut(f32, _GXColor&);
77 static void fadeIn(f32 fadeSpeed, _GXColor& fadeColor) {
78 fadeOut(-fadeSpeed, fadeColor);
79 }
80 static void fadeOut_f(f32, _GXColor&);
81 static void onBlure(const Mtx);
82 static void onBlure();
83 static void calcFade();
84
85 static void fadeIn(f32 fadeSpeed) {
86 fadeOut(-fadeSpeed);
87 }
88
89 static JUTFader* getFader() { return mFader; }
90 static void setFader(JUTFader* fader) {
92 mFader = fader;
93 }
94
95 static int startFadeOut(int param_0) { return JFWDisplay::getManager()->startFadeOut(param_0); }
96 static int startFadeIn(int param_0) { return JFWDisplay::getManager()->startFadeIn(param_0); }
101 static void offFade() { mFade = 0; }
102 static u8 isFade() { return mFade; }
103 static void fadeIn_f(f32 i_fadeSpeed, _GXColor& i_fadeColor) { fadeOut_f(-i_fadeSpeed, i_fadeColor); }
104 static void offBlure() { mBlureFlag = false; }
105 static u8 isBlure() { return mBlureFlag; }
106 static void setBlureRate(u8 i_rate) { mBlureRate = i_rate; }
107 static u8 getBlureRate() { return mBlureRate; }
108 static MtxP getBlureMtx() { return mBlureMtx; }
109 static void offAutoForcus() { mAutoForcus = 0; }
110 static BOOL isAutoForcus() { return mAutoForcus; }
111 static void setTickRate(u32 rate) { JFWDisplay::getManager()->setTickRate(rate); }
113
114 static void setBlureMtx(const Mtx m) {
116 }
117
118 static f32 getWidthF() {
119 #if WIDESCREEN_SUPPORT
120 return m_widthF;
121 #else
122 return FB_WIDTH;
123 #endif
124 }
125
126 static f32 getHeightF() {
127 #if WIDESCREEN_SUPPORT
128 return m_heightF;
129 #else
130 return FB_HEIGHT;
131 #endif
132 }
133
134 static f32 getWidth() { return FB_WIDTH; }
135 static f32 getHeight() { return FB_HEIGHT; }
136
137 static f32 getMinYF() {
138 #if WIDESCREEN_SUPPORT
139 return m_minYF;
140 #else
141 return 0.0f;
142 #endif
143 }
144
145 static f32 getMinXF() {
146 #if WIDESCREEN_SUPPORT
147 return m_minXF;
148 #else
149 return 0.0f;
150 #endif
151 }
152
153 static f32 getMaxYF() {
154 #if WIDESCREEN_SUPPORT
155 return m_maxYF;
156 #else
157 return FB_HEIGHT;
158 #endif
159 }
160
161 static f32 getMaxXF() {
162 #if WIDESCREEN_SUPPORT
163 return m_maxXF;
164 #else
165 return FB_WIDTH;
166 #endif
167 }
168
169 static f32 getAspect() {
170 #if WIDESCREEN_SUPPORT
171 return m_aspect;
172 #else
173 return 1.3571428f;
174 #endif
175 }
176
177 static int getMinY() {
178 #if WIDESCREEN_SUPPORT
179 return m_minY;
180 #else
181 return 0;
182 #endif
183 }
184
185 static int getMinX() {
186 #if WIDESCREEN_SUPPORT
187 return m_minX;
188 #else
189 return 0;
190 #endif
191 }
192
193 static int getMaxY() {
194 #if WIDESCREEN_SUPPORT
195 return m_maxY;
196 #else
197 return FB_HEIGHT;
198 #endif
199 }
200
201 static int getMaxX() {
202 #if WIDESCREEN_SUPPORT
203 return m_maxX;
204 #else
205 return FB_WIDTH;
206 #endif
207 }
208
210 static ResTIMG* getZbufferTimg() { return mZbufferTimg; }
211 static void* getFrameBufferTex() { return mFrameBufferTex; }
212 static void* getZbufferTex() { return mZbufferTex; }
213 static void setFadeRate(f32 rate) { mFadeRate = rate; }
214 static f32 getFadeRate() { return mFadeRate; }
215 static bloom_c* getBloom() { return &m_bloom; }
216 static GXColor& getFadeColor() { return mFadeColor; }
217 static GXColor& getBackColor() { return mBackColor; }
221 static void setFrameRate(u16 i_rate) { JFWDisplay::getManager()->setFrameRate(i_rate); }
222
223 static int getFrameBufferSize() {
224 #define RoundUp16b(x) (u16)(((u16)(x) + 16 - 1) & ~(16 - 1))
225 return RoundUp16b(JFWDisplay::getManager()->getEfbWidth()) * JFWDisplay::getManager()->getEfbHeight() * 2;
226 }
227
231
232 static f32 getInvScale() {
233 #if WIDESCREEN_SUPPORT
234 return m_invScale;
235 #else
236 return 1.0f;
237 #endif
238 }
239
240 static f32 getScale() {
241 #if WIDESCREEN_SUPPORT
242 return m_scale;
243 #else
244 return 1.0f;
245 #endif
246 }
247
248 #if WIDESCREEN_SUPPORT
249 static void setTvSize();
250
251 static void onWide();
252 static void offWide();
253 static u8 isWide();
254
255 static void onWideZoom();
256 static void offWideZoom();
257 static BOOL isWideZoom();
258
259 static void setWideZoomProjection(Mtx44& m);
260 static void setWideZoomLightProjection(Mtx& m);
261 #endif
262
268 static GXColor mFadeColor;
271 static void* mFrameBufferTex;
273 static void* mZbufferTex;
278 static u8 mFade;
279 static bool mAutoForcus;
280
281 #if PLATFORM_SHIELD
282 static JKRHeap* getHeap() {
283 return m_heap;
284 }
285
286 static void setHeap(JKRSolidHeap* i_heap) {
287 m_heap = (JKRHeap*)i_heap;
288 }
289
291 #endif
292
293 #if PLATFORM_WII || PLATFORM_SHIELD
294 static void resetDimming();
295
297 static csr_c* m_csr;
298
302 #endif
303
304 #if WIDESCREEN_SUPPORT
305 static u8 mWide;
306 static u8 mWideZoom;
310
311 static f32 m_aspect;
312 static f32 m_scale;
314
315 static f32 m_minXF;
316 static f32 m_minYF;
317 static int m_minX;
318 static int m_minY;
319
320 static f32 m_maxXF;
321 static f32 m_maxYF;
322 static int m_maxX;
323 static int m_maxY;
324
325 static int m_width;
326 static int m_height;
328 static f32 m_widthF;
329 #endif
330};
331
332#endif /* M_DO_M_DO_GRAPHIC_H */
int getEfbHeight() const
Definition JFWDisplay.h:109
int startFadeIn(int param_0)
Definition JFWDisplay.h:86
virtual void endFrame()
Definition JFWDisplay.cpp:310
JUTXfb * getXfbManager() const
Definition JFWDisplay.h:110
void setFader(JUTFader *fader)
Definition JFWDisplay.h:104
void setFrameRate(u16 rate)
Definition JFWDisplay.h:98
void setClearColor(JUtility::TColor color)
Definition JFWDisplay.h:107
void waitBlanking(int)
Definition JFWDisplay.cpp:342
static JFWDisplay * getManager()
Definition JFWDisplay.h:73
virtual void endRender()
Definition JFWDisplay.cpp:290
bool startFadeOut(int param_0)
Definition JFWDisplay.h:79
void setTickRate(u32 rate)
Definition JFWDisplay.h:93
Definition JKRHeap.h:20
Definition JKRSolidHeap.h:10
Definition JUTFader.h:11
void setColor(JUtility::TColor color)
Definition JUTFader.h:28
void * getDisplayingXfb() const
Definition JUTXfb.h:49
Definition m_Do_graphic.h:23
GXColor * getBlendColor()
Definition m_Do_graphic.h:33
void setMonoColor(GXColor i_color)
Definition m_Do_graphic.h:38
u8 mBlureRatio
Definition m_Do_graphic.h:51
void draw()
Definition m_Do_graphic.cpp:1096
GXColor * getMonoColor()
Definition m_Do_graphic.h:32
u8 mPoint
Definition m_Do_graphic.h:49
void setBlendColor(GXColor i_color)
Definition m_Do_graphic.h:37
void remove()
Definition m_Do_graphic.cpp:1088
void * m_buffer
Definition m_Do_graphic.h:52
u8 mMode
Definition m_Do_graphic.h:48
void create()
Definition m_Do_graphic.cpp:1073
void setMode(u8 i_mode)
Definition m_Do_graphic.h:39
GXColor mBlendColor
Definition m_Do_graphic.h:45
u8 mBlureSize
Definition m_Do_graphic.h:50
u8 getEnable()
Definition m_Do_graphic.h:30
u8 mEnable
Definition m_Do_graphic.h:47
void setBlureRatio(u8 i_ratio)
Definition m_Do_graphic.h:36
void setPoint(u8 i_point)
Definition m_Do_graphic.h:34
u8 getPoint()
Definition m_Do_graphic.h:41
GXColor mMonoColor
Definition m_Do_graphic.h:46
void setEnable(u8 i_enable)
Definition m_Do_graphic.h:31
void setBlureSize(u8 i_size)
Definition m_Do_graphic.h:35
u8 getBlureSize()
Definition m_Do_graphic.h:42
bloom_c()
Definition m_Do_graphic.h:25
void * getBuffer()
Definition m_Do_graphic.h:40
u8 getBlureRatio()
Definition m_Do_graphic.h:43
Definition m_Do_graphic.h:56
virtual bool isPointer()
virtual ~csr_c()
Definition m_Do_graphic.h:58
static u32 getBlurID()
Definition m_Do_graphic.h:62
static u32 m_blurID
Definition m_Do_graphic.h:64
static cXyz m_oldEffPos
Definition m_Do_graphic.h:65
static void particleExecute()
Definition m_Do_graphic.cpp:470
static cXyz m_oldOldEffPos
Definition m_Do_graphic.h:66
static cXyz m_nowEffPos
Definition m_Do_graphic.h:67
Definition m_Do_graphic.h:21
static bloom_c * getBloom()
Definition m_Do_graphic.h:215
static ResTIMG * m_fullFrameBufferTimg
Definition m_Do_graphic.h:307
static f32 getInvScale()
Definition m_Do_graphic.h:232
static int m_height
Definition m_Do_graphic.h:326
static int getFrameBufferSize()
Definition m_Do_graphic.h:223
static csr_c * m_csr
Definition m_Do_graphic.h:297
static void setFadeRate(f32 rate)
Definition m_Do_graphic.h:213
static void onBlure()
Definition m_Do_graphic.cpp:375
static f32 m_minYF
Definition m_Do_graphic.h:316
static ResTIMG * getZbufferTimg()
Definition m_Do_graphic.h:210
static ResTIMG * mFrameBufferTimg
Definition m_Do_graphic.h:270
static f32 m_maxXF
Definition m_Do_graphic.h:320
static u8 mBlureFlag
Definition m_Do_graphic.h:276
static f32 getMinYF()
Definition m_Do_graphic.h:137
static f32 m_invScale
Definition m_Do_graphic.h:313
static void setBlureMtx(const Mtx m)
Definition m_Do_graphic.h:114
static f32 m_minXF
Definition m_Do_graphic.h:315
static void * mZbufferTex
Definition m_Do_graphic.h:273
static MtxP getBlureMtx()
Definition m_Do_graphic.h:108
static cXyz m_oldOldEffPos
Definition m_Do_graphic.h:301
static int startFadeIn(int param_0)
Definition m_Do_graphic.h:96
static u8 mBlureRate
Definition m_Do_graphic.h:277
static void setHeap(JKRSolidHeap *i_heap)
Definition m_Do_graphic.h:286
static void setFrameRate(u16 i_rate)
Definition m_Do_graphic.h:221
static u8 isWide()
Definition m_Do_graphic.cpp:575
static GXTexObj * getFrameBufferTexObj()
Definition m_Do_graphic.h:220
static int getMaxY()
Definition m_Do_graphic.h:193
static int m_minY
Definition m_Do_graphic.h:318
static int getMaxX()
Definition m_Do_graphic.h:201
static csr_c * m_baseCsr
Definition m_Do_graphic.h:296
static GXTexObj mZbufferTexObj
Definition m_Do_graphic.h:264
static void fadeIn(f32 fadeSpeed, _GXColor &fadeColor)
Definition m_Do_graphic.h:77
static u8 isFade()
Definition m_Do_graphic.h:102
static GXColor mBackColor
Definition m_Do_graphic.h:265
static int startFadeOut(int param_0)
Definition m_Do_graphic.h:95
static JKRHeap * m_heap
Definition m_Do_graphic.h:290
static cXyz m_oldEffPos
Definition m_Do_graphic.h:300
static GXTexObj m_fullFrameBufferTexObj
Definition m_Do_graphic.h:309
static void setFadeColor(JUtility::TColor &color)
Definition m_Do_graphic.h:97
static void endRender()
Definition m_Do_graphic.h:218
static void waitBlanking(int wait)
Definition m_Do_graphic.h:112
static f32 getWidthF()
Definition m_Do_graphic.h:118
static void setBackColor(GXColor &color)
Definition m_Do_graphic.h:99
static u8 getBlureRate()
Definition m_Do_graphic.h:107
static GXTexObj * getZbufferTexObj()
Definition m_Do_graphic.h:219
static f32 getFadeRate()
Definition m_Do_graphic.h:214
static void setFader(JUTFader *fader)
Definition m_Do_graphic.h:90
static JUTFader * mFader
Definition m_Do_graphic.h:269
static void setBlureRate(u8 i_rate)
Definition m_Do_graphic.h:106
static void beginRender()
Definition m_Do_graphic.cpp:338
static GXColor & getBackColor()
Definition m_Do_graphic.h:217
static void setTickRate(u32 rate)
Definition m_Do_graphic.h:111
static u8 mWide
Definition m_Do_graphic.h:305
static int m_maxY
Definition m_Do_graphic.h:323
static ResTIMG * mZbufferTimg
Definition m_Do_graphic.h:272
static f32 getAspect()
Definition m_Do_graphic.h:169
static void entryBaseCsr(csr_c *)
Definition m_Do_graphic.cpp:659
static JKRHeap * getHeap()
Definition m_Do_graphic.h:282
static f32 m_scale
Definition m_Do_graphic.h:312
static int m_minX
Definition m_Do_graphic.h:317
static void endFrame()
Definition m_Do_graphic.h:100
static void setWideZoomLightProjection(Mtx &m)
Definition m_Do_graphic.cpp:623
static cXyz m_nowEffPos
Definition m_Do_graphic.h:299
static f32 m_aspect
Definition m_Do_graphic.h:311
static f32 mFadeRate
Definition m_Do_graphic.h:274
static f32 getScale()
Definition m_Do_graphic.h:240
static void offBlure()
Definition m_Do_graphic.h:104
static f32 getHeight()
Definition m_Do_graphic.h:135
static void * getFrameBufferTex()
Definition m_Do_graphic.h:211
static void setTvSize()
Definition m_Do_graphic.cpp:529
static void setClearColor(JUtility::TColor color)
Definition m_Do_graphic.h:98
static void onWide()
Definition m_Do_graphic.cpp:551
static f32 m_maxYF
Definition m_Do_graphic.h:321
static void resetDimming()
Definition m_Do_graphic.cpp:356
static void offFade()
Definition m_Do_graphic.h:101
static GXTexObj mFrameBufferTexObj
Definition m_Do_graphic.h:263
static void fadeOut(f32)
Definition m_Do_graphic.cpp:396
static void * getFrameBufferMemory()
Definition m_Do_graphic.h:228
static int m_width
Definition m_Do_graphic.h:325
static GXColor & getFadeColor()
Definition m_Do_graphic.h:216
static bloom_c m_bloom
Definition m_Do_graphic.h:265
static f32 m_heightF
Definition m_Do_graphic.h:327
static u8 isBlure()
Definition m_Do_graphic.h:105
static void offWideZoom()
Definition m_Do_graphic.cpp:567
static void * getZbufferTex()
Definition m_Do_graphic.h:212
static f32 m_widthF
Definition m_Do_graphic.h:328
static void * mFrameBufferTex
Definition m_Do_graphic.h:271
static f32 mFadeSpeed
Definition m_Do_graphic.h:275
static f32 getHeightF()
Definition m_Do_graphic.h:126
static ResTIMG * getFrameBufferTimg()
Definition m_Do_graphic.h:209
static GXColor mFadeColor
Definition m_Do_graphic.h:267
static void create()
Definition m_Do_graphic.cpp:281
static void fadeIn(f32 fadeSpeed)
Definition m_Do_graphic.h:85
static Mtx mBlureMtx
Definition m_Do_graphic.h:266
static void fadeOut_f(f32, _GXColor &)
Definition m_Do_graphic.cpp:368
static int getMinX()
Definition m_Do_graphic.h:185
static JUTFader * getFader()
Definition m_Do_graphic.h:89
static bool mAutoForcus
Definition m_Do_graphic.h:279
static f32 getMinXF()
Definition m_Do_graphic.h:145
static void offWide()
Definition m_Do_graphic.cpp:557
static int getMinY()
Definition m_Do_graphic.h:177
static void * m_fullFrameBufferTex
Definition m_Do_graphic.h:308
static f32 getWidth()
Definition m_Do_graphic.h:134
static f32 getMaxYF()
Definition m_Do_graphic.h:153
static u8 mFade
Definition m_Do_graphic.h:278
static BOOL isAutoForcus()
Definition m_Do_graphic.h:110
static u8 mWideZoom
Definition m_Do_graphic.h:306
static BOOL isWideZoom()
Definition m_Do_graphic.cpp:571
static f32 getMaxXF()
Definition m_Do_graphic.h:161
static void setWideZoomProjection(Mtx44 &m)
Definition m_Do_graphic.cpp:579
static void offAutoForcus()
Definition m_Do_graphic.h:109
static void fadeIn_f(f32 i_fadeSpeed, _GXColor &i_fadeColor)
Definition m_Do_graphic.h:103
static void onWideZoom()
Definition m_Do_graphic.cpp:563
static void calcFade()
Definition m_Do_graphic.cpp:438
static int m_maxX
Definition m_Do_graphic.h:322
static void wait(b_gos_class *i_this)
Definition d_a_b_gos.cpp:70
static GXColor color
Definition d_a_obj_crope.cpp:39
f32 Mtx44[4][4]
Definition mtx.h:28
f32 Mtx[3][4]
Definition mtx.h:25
f32(* MtxP)[4]
Definition mtx.h:38
int BOOL
Definition types.h:33
signed char s8
Definition types.h:7
unsigned long u32
Definition types.h:12
float f32
Definition types.h:25
unsigned short int u16
Definition types.h:10
unsigned char u8
Definition types.h:8
int m
Definition e_atan2.c:62
int mDoGph_Create()
Definition m_Do_graphic.cpp:1974
void mDoGph_drawFilterQuad(s8 param_0, s8 param_1)
Definition m_Do_graphic.cpp:1059
void cMtx_copy(const Mtx src, Mtx dst)
Definition m_Do_mtx.h:99
Definition TColor.h:12
Image data header.
Definition JUTTexture.h:18
Definition GXStruct.h:30
Definition GXStruct.h:38
Definition c_xyz.h:7