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 void draw(f32, f32) = 0;
60 virtual bool isPointer();
61
62 static void particleExecute();
63 static u32 getBlurID() { return m_blurID; }
64
65 static u32 m_blurID;
69 };
70
71 static void entryBaseCsr(csr_c*);
72 static void releaseCsr(void);
73 static void entryCsr(csr_c*);
74 #endif
75
76 static void create();
77 static void beginRender();
78 static void fadeOut(f32);
79 static void fadeOut(f32, _GXColor&);
80 static void fadeIn(f32 fadeSpeed, _GXColor& fadeColor) {
81 fadeOut(-fadeSpeed, fadeColor);
82 }
83 static void fadeOut_f(f32, _GXColor&);
84 static void onBlure(const Mtx);
85 static void onBlure();
86 static void calcFade();
87
88 static void fadeIn(f32 fadeSpeed) {
89 fadeOut(-fadeSpeed);
90 }
91
92 static JUTFader* getFader() { return mFader; }
93 static void setFader(JUTFader* fader) {
95 mFader = fader;
96 }
97
98 static int startFadeOut(int param_0) { return JFWDisplay::getManager()->startFadeOut(param_0); }
99 static int startFadeIn(int param_0) { return JFWDisplay::getManager()->startFadeIn(param_0); }
100 static void setFadeColor(JUtility::TColor& color) { mFader->setColor(color); }
102 static void setBackColor(GXColor& color) { mBackColor = color; }
104 static void offFade() { mFade = 0; }
105 static u8 isFade() { return mFade; }
106 static void fadeIn_f(f32 i_fadeSpeed, _GXColor& i_fadeColor) { fadeOut_f(-i_fadeSpeed, i_fadeColor); }
107 static void offBlure() { mBlureFlag = false; }
108 static u8 isBlure() { return mBlureFlag; }
109 static void setBlureRate(u8 i_rate) { mBlureRate = i_rate; }
110 static u8 getBlureRate() { return mBlureRate; }
111 static MtxP getBlureMtx() { return mBlureMtx; }
112 static void offAutoForcus() { mAutoForcus = 0; }
113 static BOOL isAutoForcus() { return mAutoForcus; }
114 static void setTickRate(u32 rate) { JFWDisplay::getManager()->setTickRate(rate); }
116
117 static void setBlureMtx(const Mtx m) {
119 }
120
121 static f32 getWidthF() {
122 #if WIDESCREEN_SUPPORT
123 return m_widthF;
124 #else
125 return FB_WIDTH;
126 #endif
127 }
128
129 static f32 getHeightF() {
130 #if WIDESCREEN_SUPPORT
131 return m_heightF;
132 #else
133 return FB_HEIGHT;
134 #endif
135 }
136
137 static f32 getWidth() { return FB_WIDTH; }
138 static f32 getHeight() { return FB_HEIGHT; }
139
140 static f32 getMinYF() {
141 #if WIDESCREEN_SUPPORT
142 return m_minYF;
143 #else
144 return 0.0f;
145 #endif
146 }
147
148 static f32 getMinXF() {
149 #if WIDESCREEN_SUPPORT
150 return m_minXF;
151 #else
152 return 0.0f;
153 #endif
154 }
155
156 static f32 getMaxYF() {
157 #if WIDESCREEN_SUPPORT
158 return m_maxYF;
159 #else
160 return FB_HEIGHT;
161 #endif
162 }
163
164 static f32 getMaxXF() {
165 #if WIDESCREEN_SUPPORT
166 return m_maxXF;
167 #else
168 return FB_WIDTH;
169 #endif
170 }
171
172 static f32 getAspect() {
173 #if WIDESCREEN_SUPPORT
174 return m_aspect;
175 #else
176 return 1.3571428f;
177 #endif
178 }
179
180 static int getMinY() {
181 #if WIDESCREEN_SUPPORT
182 return m_minY;
183 #else
184 return 0;
185 #endif
186 }
187
188 static int getMinX() {
189 #if WIDESCREEN_SUPPORT
190 return m_minX;
191 #else
192 return 0;
193 #endif
194 }
195
196 static int getMaxY() {
197 #if WIDESCREEN_SUPPORT
198 return m_maxY;
199 #else
200 return FB_HEIGHT;
201 #endif
202 }
203
204 static int getMaxX() {
205 #if WIDESCREEN_SUPPORT
206 return m_maxX;
207 #else
208 return FB_WIDTH;
209 #endif
210 }
211
213 static ResTIMG* getZbufferTimg() { return mZbufferTimg; }
214 static void* getFrameBufferTex() { return mFrameBufferTex; }
215 static void* getZbufferTex() { return mZbufferTex; }
216 static void setFadeRate(f32 rate) { mFadeRate = rate; }
217 static f32 getFadeRate() { return mFadeRate; }
218 static bloom_c* getBloom() { return &m_bloom; }
219 static GXColor& getFadeColor() { return mFadeColor; }
220 static GXColor& getBackColor() { return mBackColor; }
224 static void setFrameRate(u16 i_rate) { JFWDisplay::getManager()->setFrameRate(i_rate); }
225
226 static int getFrameBufferSize() {
227 #define RoundUp16b(x) (u16)(((u16)(x) + 16 - 1) & ~(16 - 1))
228 return RoundUp16b(JFWDisplay::getManager()->getEfbWidth()) * JFWDisplay::getManager()->getEfbHeight() * 2;
229 }
230
234
235 static f32 getInvScale() {
236 #if WIDESCREEN_SUPPORT
237 return m_invScale;
238 #else
239 return 1.0f;
240 #endif
241 }
242
243 static f32 getScale() {
244 #if WIDESCREEN_SUPPORT
245 return m_scale;
246 #else
247 return 1.0f;
248 #endif
249 }
250
251 #if WIDESCREEN_SUPPORT
252 static void setTvSize();
253
254 static void onWide();
255 static void offWide();
256 static u8 isWide();
257
258 static void onWideZoom();
259 static void offWideZoom();
260 static BOOL isWideZoom();
261
262 static void setWideZoomProjection(Mtx44& m);
263 static void setWideZoomLightProjection(Mtx& m);
264 #endif
265
271 static GXColor mFadeColor;
274 static void* mFrameBufferTex;
276 static void* mZbufferTex;
281 static u8 mFade;
282 static bool mAutoForcus;
283
284 #if PLATFORM_SHIELD
285 static JKRHeap* getHeap() {
286 return m_heap;
287 }
288
289 static void setHeap(JKRSolidHeap* i_heap) {
290 m_heap = (JKRHeap*)i_heap;
291 }
292
294 #endif
295
296 #if PLATFORM_WII || PLATFORM_SHIELD
297 static void resetDimming();
298
300 static csr_c* m_csr;
301
305 #endif
306
307 #if WIDESCREEN_SUPPORT
308 static u8 mWide;
309 static u8 mWideZoom;
313
314 static f32 m_aspect;
315 static f32 m_scale;
317
318 static f32 m_minXF;
319 static f32 m_minYF;
320 static int m_minX;
321 static int m_minY;
322
323 static f32 m_maxXF;
324 static f32 m_maxYF;
325 static int m_maxX;
326 static int m_maxY;
327
328 static int m_width;
329 static int m_height;
331 static f32 m_widthF;
332 #endif
333};
334
335#endif /* M_DO_M_DO_GRAPHIC_H */
int getEfbHeight() const
Definition JFWDisplay.h:110
int startFadeIn(int param_0)
Definition JFWDisplay.h:87
virtual void endFrame()
Definition JFWDisplay.cpp:303
JUTXfb * getXfbManager() const
Definition JFWDisplay.h:111
void setFader(JUTFader *fader)
Definition JFWDisplay.h:105
void setFrameRate(u16 rate)
Definition JFWDisplay.h:99
void setClearColor(JUtility::TColor color)
Definition JFWDisplay.h:108
void waitBlanking(int)
Definition JFWDisplay.cpp:336
static JFWDisplay * getManager()
Definition JFWDisplay.h:74
virtual void endRender()
Definition JFWDisplay.cpp:283
bool startFadeOut(int param_0)
Definition JFWDisplay.h:80
void setTickRate(u32 rate)
Definition JFWDisplay.h:94
Definition JKRHeap.h:23
Definition JKRSolidHeap.h:10
Definition JUTFader.h:11
void setColor(JUtility::TColor color)
Definition JUTFader.h:28
void * getDisplayingXfb() const
Definition JUTXfb.h:57
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:1113
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:1105
void * m_buffer
Definition m_Do_graphic.h:52
u8 mMode
Definition m_Do_graphic.h:48
void create()
Definition m_Do_graphic.cpp:1090
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 void draw(f32, f32)=0
virtual ~csr_c()
Definition m_Do_graphic.h:58
static u32 getBlurID()
Definition m_Do_graphic.h:63
static u32 m_blurID
Definition m_Do_graphic.h:65
static cXyz m_oldEffPos
Definition m_Do_graphic.h:66
static void particleExecute()
Definition m_Do_graphic.cpp:475
static cXyz m_oldOldEffPos
Definition m_Do_graphic.h:67
static cXyz m_nowEffPos
Definition m_Do_graphic.h:68
Definition m_Do_graphic.h:21
static bloom_c * getBloom()
Definition m_Do_graphic.h:218
static ResTIMG * m_fullFrameBufferTimg
Definition m_Do_graphic.h:310
static f32 getInvScale()
Definition m_Do_graphic.h:235
static int m_height
Definition m_Do_graphic.h:329
static int getFrameBufferSize()
Definition m_Do_graphic.h:226
static csr_c * m_csr
Definition m_Do_graphic.h:300
static void setFadeRate(f32 rate)
Definition m_Do_graphic.h:216
static void onBlure()
Definition m_Do_graphic.cpp:374
static f32 m_minYF
Definition m_Do_graphic.h:319
static void releaseCsr(void)
Definition m_Do_graphic.cpp:678
static ResTIMG * getZbufferTimg()
Definition m_Do_graphic.h:213
static ResTIMG * mFrameBufferTimg
Definition m_Do_graphic.h:273
static f32 m_maxXF
Definition m_Do_graphic.h:323
static u8 mBlureFlag
Definition m_Do_graphic.h:279
static f32 getMinYF()
Definition m_Do_graphic.h:140
static f32 m_invScale
Definition m_Do_graphic.h:316
static void setBlureMtx(const Mtx m)
Definition m_Do_graphic.h:117
static f32 m_minXF
Definition m_Do_graphic.h:318
static void * mZbufferTex
Definition m_Do_graphic.h:276
static MtxP getBlureMtx()
Definition m_Do_graphic.h:111
static cXyz m_oldOldEffPos
Definition m_Do_graphic.h:304
static int startFadeIn(int param_0)
Definition m_Do_graphic.h:99
static u8 mBlureRate
Definition m_Do_graphic.h:280
static void setHeap(JKRSolidHeap *i_heap)
Definition m_Do_graphic.h:289
static void setFrameRate(u16 i_rate)
Definition m_Do_graphic.h:224
static u8 isWide()
Definition m_Do_graphic.cpp:580
static GXTexObj * getFrameBufferTexObj()
Definition m_Do_graphic.h:223
static int getMaxY()
Definition m_Do_graphic.h:196
static int m_minY
Definition m_Do_graphic.h:321
static int getMaxX()
Definition m_Do_graphic.h:204
static csr_c * m_baseCsr
Definition m_Do_graphic.h:299
static GXTexObj mZbufferTexObj
Definition m_Do_graphic.h:267
static void fadeIn(f32 fadeSpeed, _GXColor &fadeColor)
Definition m_Do_graphic.h:80
static u8 isFade()
Definition m_Do_graphic.h:105
static GXColor mBackColor
Definition m_Do_graphic.h:268
static int startFadeOut(int param_0)
Definition m_Do_graphic.h:98
static JKRHeap * m_heap
Definition m_Do_graphic.h:293
static cXyz m_oldEffPos
Definition m_Do_graphic.h:303
static GXTexObj m_fullFrameBufferTexObj
Definition m_Do_graphic.h:312
static void setFadeColor(JUtility::TColor &color)
Definition m_Do_graphic.h:100
static void endRender()
Definition m_Do_graphic.h:221
static void waitBlanking(int wait)
Definition m_Do_graphic.h:115
static f32 getWidthF()
Definition m_Do_graphic.h:121
static void setBackColor(GXColor &color)
Definition m_Do_graphic.h:102
static u8 getBlureRate()
Definition m_Do_graphic.h:110
static GXTexObj * getZbufferTexObj()
Definition m_Do_graphic.h:222
static f32 getFadeRate()
Definition m_Do_graphic.h:217
static void setFader(JUTFader *fader)
Definition m_Do_graphic.h:93
static JUTFader * mFader
Definition m_Do_graphic.h:272
static void setBlureRate(u8 i_rate)
Definition m_Do_graphic.h:109
static void beginRender()
Definition m_Do_graphic.cpp:337
static GXColor & getBackColor()
Definition m_Do_graphic.h:220
static void setTickRate(u32 rate)
Definition m_Do_graphic.h:114
static u8 mWide
Definition m_Do_graphic.h:308
static int m_maxY
Definition m_Do_graphic.h:326
static ResTIMG * mZbufferTimg
Definition m_Do_graphic.h:275
static f32 getAspect()
Definition m_Do_graphic.h:172
static void entryBaseCsr(csr_c *)
Definition m_Do_graphic.cpp:668
static JKRHeap * getHeap()
Definition m_Do_graphic.h:285
static f32 m_scale
Definition m_Do_graphic.h:315
static int m_minX
Definition m_Do_graphic.h:320
static void endFrame()
Definition m_Do_graphic.h:103
static void setWideZoomLightProjection(Mtx &m)
Definition m_Do_graphic.cpp:630
static cXyz m_nowEffPos
Definition m_Do_graphic.h:302
static f32 m_aspect
Definition m_Do_graphic.h:314
static f32 mFadeRate
Definition m_Do_graphic.h:277
static f32 getScale()
Definition m_Do_graphic.h:243
static void offBlure()
Definition m_Do_graphic.h:107
static f32 getHeight()
Definition m_Do_graphic.h:138
static void * getFrameBufferTex()
Definition m_Do_graphic.h:214
static void setTvSize()
Definition m_Do_graphic.cpp:534
static void setClearColor(JUtility::TColor color)
Definition m_Do_graphic.h:101
static void onWide()
Definition m_Do_graphic.cpp:556
static f32 m_maxYF
Definition m_Do_graphic.h:324
static void resetDimming()
Definition m_Do_graphic.cpp:355
static void offFade()
Definition m_Do_graphic.h:104
static GXTexObj mFrameBufferTexObj
Definition m_Do_graphic.h:266
static void fadeOut(f32)
Definition m_Do_graphic.cpp:401
static void * getFrameBufferMemory()
Definition m_Do_graphic.h:231
static int m_width
Definition m_Do_graphic.h:328
static GXColor & getFadeColor()
Definition m_Do_graphic.h:219
static bloom_c m_bloom
Definition m_Do_graphic.h:268
static f32 m_heightF
Definition m_Do_graphic.h:330
static u8 isBlure()
Definition m_Do_graphic.h:108
static void offWideZoom()
Definition m_Do_graphic.cpp:572
static void * getZbufferTex()
Definition m_Do_graphic.h:215
static f32 m_widthF
Definition m_Do_graphic.h:331
static void * mFrameBufferTex
Definition m_Do_graphic.h:274
static f32 mFadeSpeed
Definition m_Do_graphic.h:278
static f32 getHeightF()
Definition m_Do_graphic.h:129
static ResTIMG * getFrameBufferTimg()
Definition m_Do_graphic.h:212
static GXColor mFadeColor
Definition m_Do_graphic.h:270
static void create()
Definition m_Do_graphic.cpp:280
static void fadeIn(f32 fadeSpeed)
Definition m_Do_graphic.h:88
static Mtx mBlureMtx
Definition m_Do_graphic.h:269
static void entryCsr(csr_c *)
Definition m_Do_graphic.cpp:674
static void fadeOut_f(f32, _GXColor &)
Definition m_Do_graphic.cpp:367
static int getMinX()
Definition m_Do_graphic.h:188
static JUTFader * getFader()
Definition m_Do_graphic.h:92
static bool mAutoForcus
Definition m_Do_graphic.h:282
static f32 getMinXF()
Definition m_Do_graphic.h:148
static void offWide()
Definition m_Do_graphic.cpp:562
static int getMinY()
Definition m_Do_graphic.h:180
static void * m_fullFrameBufferTex
Definition m_Do_graphic.h:311
static f32 getWidth()
Definition m_Do_graphic.h:137
static f32 getMaxYF()
Definition m_Do_graphic.h:156
static u8 mFade
Definition m_Do_graphic.h:281
static BOOL isAutoForcus()
Definition m_Do_graphic.h:113
static u8 mWideZoom
Definition m_Do_graphic.h:309
static BOOL isWideZoom()
Definition m_Do_graphic.cpp:576
static f32 getMaxXF()
Definition m_Do_graphic.h:164
static void setWideZoomProjection(Mtx44 &m)
Definition m_Do_graphic.cpp:584
static void offAutoForcus()
Definition m_Do_graphic.h:112
static void fadeIn_f(f32 i_fadeSpeed, _GXColor &i_fadeColor)
Definition m_Do_graphic.h:106
static void onWideZoom()
Definition m_Do_graphic.cpp:568
static void calcFade()
Definition m_Do_graphic.cpp:443
static int m_maxX
Definition m_Do_graphic.h:325
static void wait(b_gos_class *i_this)
Definition d_a_b_gos.cpp:70
f32 Mtx44[4][4]
Definition mtx.h:28
f32 Mtx[3][4]
Definition mtx.h:25
f32(* MtxP)[4]
Definition mtx.h:38
int m
Definition e_atan2.c:62
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 mDoGph_Create()
Definition m_Do_graphic.cpp:2120
void mDoGph_drawFilterQuad(s8 param_0, s8 param_1)
Definition m_Do_graphic.cpp:1076
void cMtx_copy(const Mtx src, Mtx dst)
Definition m_Do_mtx.h:98
Definition TColor.h:12
Image data header.
Definition JUTTexture.h:18
Definition GXStruct.h:30
Definition GXStruct.h:38
Definition c_xyz.h:7