Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
JFWDisplay.h
Go to the documentation of this file.
1#ifndef JFWDISPLAY_H
2#define JFWDISPLAY_H
3
8#include <dolphin/os.h>
9
10typedef struct _GXColor GXColor;
12class JKRHeap;
13
14typedef void (*JFWDisplayUnkFunc)(void);
15
20class JFWAlarm : public OSAlarm {
21public:
22 JFWAlarm() : mLink(this) {}
24 void createAlarm() { OSCreateAlarm(this); }
25 void cancelAlarm() { OSCancelAlarm(this); }
28 OSThread* getThread() const { return mThread; }
29 void setThread(OSThread* thread) { mThread = thread; }
30
32
33public:
34 /* 0x28 */ OSThread* mThread;
36};
37
43public:
44 enum EDrawDone {
45 /* 0x0 */ UNK_METHOD_0 = 0,
46 /* 0x1 */ UNK_METHOD_1 = 1
47 };
48
49 void ctor_subroutine(bool);
52 JUTXfb::EXfbNumber, bool);
53 void prepareCopyDisp();
54 void drawendXfb_single();
55 void exchangeXfb_double();
56 void exchangeXfb_triple();
57 void copyXfb_triple();
58 void preGX();
59 void endGX();
60 void waitBlanking(int);
61 void threadSleep(s64);
62 void clearEfb_init();
63 void clearEfb(int, int, int, int, _GXColor);
64 void clearEfb();
65 void clearEfb(_GXColor);
67
68 virtual void beginRender();
69 virtual void endRender();
70 virtual void endFrame();
71 virtual ~JFWDisplay();
72
73 static JFWDisplay* getManager() { return sManager; }
74
75 static JFWDisplay* createManager(JKRHeap* i_heap, JUTXfb::EXfbNumber i_xfbNum, bool param_2) {
76 return createManager(NULL, i_heap, i_xfbNum, param_2);
77 }
78
79 bool startFadeOut(int param_0) {
80 if (mFader != NULL) {
81 return mFader->startFadeOut(param_0);
82 }
83 return 1;
84 }
85
86 int startFadeIn(int param_0) {
87 if (mFader != NULL) {
88 return mFader->startFadeIn(param_0);
89 }
90 return 1;
91 }
92
93 void setTickRate(u32 rate) {
94 mTickRate = rate;
95 mFrameRate = 0;
96 }
97
98 void setFrameRate(u16 rate) {
99 mFrameRate = rate;
100 mTickRate = 0;
101 }
102
103 void setDrawDoneMethod(EDrawDone drawDone) { mDrawDoneMethod = drawDone; }
104 void setFader(JUTFader* fader) { mFader = fader; }
105 void resetFader() { setFader(NULL); }
106 JUTFader* getFader() const { return mFader; }
108 int getEfbWidth() const { return JUTVideo::getManager()->getFbWidth(); }
109 int getEfbHeight() const { return JUTVideo::getManager()->getEfbHeight(); }
110 JUTXfb* getXfbManager() const { return mXfbManager; }
111
113
114private:
115 /* 0x04 */ JUTFader* mFader;
117 /* 0x0C */ u32 mZClear;
118 /* 0x10 */ JUTXfb* mXfbManager;
119 /* 0x14 */ u16 mGamma;
121 /* 0x1C */ u16 mFrameRate;
122 /* 0x20 */ u32 mTickRate;
123 /* 0x24 */ bool mEnableAlpha;
124 /* 0x26 */ u16 mClamp;
126 /* 0x2C */ u32 field_0x2c;
127 /* 0x30 */ u32 field_0x30;
128 /* 0x34 */ u32 field_0x34;
129 /* 0x38 */ int field_0x38;
130 /* 0x3C */ int field_0x3c;
131 /* 0x40 */ bool field_0x40;
133 /* 0x48 */ s16 field_0x48;
134 /* 0x4A */ u8 field_0x4a;
135};
136
137inline void JUTChangeFrameBuffer(void* buffer, u16 height, u16 width) {
139}
140
141static void JFWDrawDoneAlarm();
144static void waitForTick(u32, u16);
145static void diagnoseGpHang();
146
147#endif /* JFWDISPLAY_H */
void(* JFWDisplayUnkFunc)(void)
Definition JFWDisplay.h:14
static void diagnoseGpHang()
void JUTChangeFrameBuffer(void *buffer, u16 height, u16 width)
Definition JFWDisplay.h:137
static void JFWDrawDoneAlarm()
static void JFWThreadAlarmHandler(OSAlarm *, OSContext *)
static void JFWGXAbortAlarmHandler(OSAlarm *, OSContext *)
static void waitForTick(u32, u16)
static OSTime buffer
Definition ai.c:24
Definition JFWDisplay.h:20
static JSUList< JFWAlarm > sList
Definition JFWDisplay.h:31
void appendLink()
Definition JFWDisplay.h:27
JFWAlarm()
Definition JFWDisplay.h:22
void removeLink()
Definition JFWDisplay.h:26
OSThread * mThread
Definition JFWDisplay.h:34
void createAlarm()
Definition JFWDisplay.h:24
JSULink< JFWAlarm > mLink
Definition JFWDisplay.h:35
void cancelAlarm()
Definition JFWDisplay.h:25
OSThread * getThread() const
Definition JFWDisplay.h:28
~JFWAlarm()
Definition JFWDisplay.h:23
void setThread(OSThread *thread)
Definition JFWDisplay.h:29
Definition JFWDisplay.h:42
int getEfbHeight() const
Definition JFWDisplay.h:109
int field_0x38
Definition JFWDisplay.h:129
u16 mGamma
Definition JFWDisplay.h:119
void drawendXfb_single()
Definition JFWDisplay.cpp:110
u16 mClamp
Definition JFWDisplay.h:124
int startFadeIn(int param_0)
Definition JFWDisplay.h:86
static JFWDisplay * createManager(_GXRenderModeObj const *, JKRHeap *, JUTXfb::EXfbNumber, bool)
Definition JFWDisplay.cpp:68
bool field_0x40
Definition JFWDisplay.h:131
JUTFader * getFader() const
Definition JFWDisplay.h:106
void calcCombinationRatio()
Definition JFWDisplay.cpp:476
void clearEfb()
Definition JFWDisplay.cpp:399
virtual void endFrame()
Definition JFWDisplay.cpp:310
JUTXfb * getXfbManager() const
Definition JFWDisplay.h:110
EDrawDone mDrawDoneMethod
Definition JFWDisplay.h:120
virtual void beginRender()
Definition JFWDisplay.cpp:230
void preGX()
Definition JFWDisplay.cpp:185
void setFader(JUTFader *fader)
Definition JFWDisplay.h:104
void prepareCopyDisp()
Definition JFWDisplay.cpp:88
void threadSleep(s64)
Definition JFWDisplay.cpp:379
u32 mZClear
Definition JFWDisplay.h:117
JUTFader * mFader
Definition JFWDisplay.h:115
f32 mCombinationRatio
Definition JFWDisplay.h:125
void setFrameRate(u16 rate)
Definition JFWDisplay.h:98
JUtility::TColor mClearColor
Definition JFWDisplay.h:116
void clearEfb_init()
Definition JFWDisplay.cpp:393
bool mEnableAlpha
Definition JFWDisplay.h:123
u32 field_0x30
Definition JFWDisplay.h:127
u32 field_0x34
Definition JFWDisplay.h:128
void resetFader()
Definition JFWDisplay.h:105
void setClearColor(JUtility::TColor color)
Definition JFWDisplay.h:107
u32 field_0x2c
Definition JFWDisplay.h:126
static JFWDisplay * createManager(JKRHeap *i_heap, JUTXfb::EXfbNumber i_xfbNum, bool param_2)
Definition JFWDisplay.h:75
void waitBlanking(int)
Definition JFWDisplay.cpp:342
void copyXfb_triple()
Definition JFWDisplay.cpp:172
static JFWDisplay * getManager()
Definition JFWDisplay.h:73
u8 field_0x4a
Definition JFWDisplay.h:134
s16 field_0x48
Definition JFWDisplay.h:133
JUTXfb * mXfbManager
Definition JFWDisplay.h:118
virtual void endRender()
Definition JFWDisplay.cpp:290
int getEfbWidth() const
Definition JFWDisplay.h:108
void ctor_subroutine(bool)
Definition JFWDisplay.cpp:14
JFWDisplay(JKRHeap *, JUTXfb::EXfbNumber, bool)
Definition JFWDisplay.cpp:52
void exchangeXfb_double()
Definition JFWDisplay.cpp:120
void setDrawDoneMethod(EDrawDone drawDone)
Definition JFWDisplay.h:103
void exchangeXfb_triple()
Definition JFWDisplay.cpp:154
JFWDisplayUnkFunc field_0x44
Definition JFWDisplay.h:132
u32 mTickRate
Definition JFWDisplay.h:122
u16 mFrameRate
Definition JFWDisplay.h:121
virtual ~JFWDisplay()
Definition JFWDisplay.cpp:57
int field_0x3c
Definition JFWDisplay.h:130
bool startFadeOut(int param_0)
Definition JFWDisplay.h:79
static JFWDisplay * sManager
Definition JFWDisplay.h:112
void setTickRate(u32 rate)
Definition JFWDisplay.h:93
EDrawDone
Definition JFWDisplay.h:44
@ UNK_METHOD_0
Definition JFWDisplay.h:45
@ UNK_METHOD_1
Definition JFWDisplay.h:46
void endGX()
Definition JFWDisplay.cpp:203
Definition JKRHeap.h:20
Definition JSUList.h:96
bool remove(JSULink< T > *link)
Definition JSUList.h:111
bool append(JSULink< T > *link)
Definition JSUList.h:103
static JUTDirectPrint * getManager()
Definition JUTDirectPrint.h:33
void changeFrameBuffer(void *, u16, u16)
Definition JUTDirectPrint.cpp:148
Definition JUTFader.h:11
virtual bool startFadeIn(int)
Definition JUTFader.cpp:63
virtual bool startFadeOut(int)
Definition JUTFader.cpp:75
u16 getEfbHeight() const
Definition JUTVideo.h:34
static JUTVideo * getManager()
Definition JUTVideo.h:45
u16 getFbWidth() const
Definition JUTVideo.h:33
Definition JUTXfb.h:13
EXfbNumber
Definition JUTXfb.h:15
static GXColor color
Definition d_a_obj_crope.cpp:39
void OSCreateAlarm(OSAlarm *alarm)
Definition OSAlarm.c:59
void OSCancelAlarm(OSAlarm *alarm)
Definition OSAlarm.c:151
unsigned long u32
Definition types.h:12
signed short int s16
Definition types.h:9
signed long long int s64
Definition types.h:13
float f32
Definition types.h:25
unsigned short int u16
Definition types.h:10
unsigned char u8
Definition types.h:8
Definition TColor.h:12
Definition OSAlarm.h:15
Definition OSContext.h:140
Definition OSThread.h:42
Definition GXStruct.h:30
Definition GXStruct.h:14