OK preRetraceProc__8JUTVideoFUl

This commit is contained in:
Julgodis
2021-09-26 13:58:04 +02:00
parent 0e03ff4e3a
commit a38b487493
6 changed files with 147 additions and 59 deletions
+9 -5
View File
@@ -8,7 +8,7 @@
class JUTVideo {
public:
typedef void (*CallbackFn)(void);
typedef void (*Callback)(u32);
JUTVideo(GXRenderModeObj const*);
virtual ~JUTVideo();
@@ -30,8 +30,8 @@ public:
private:
static JUTVideo* sManager;
static u32 sVideoLastTick;
static u32 sVideoInterval;
static OSTick sVideoLastTick;
static OSTick sVideoInterval;
private:
/* 0x04 */ _GXRenderModeObj* mRenderObj;
@@ -42,12 +42,16 @@ private:
/* 0x18 */ u32 field_0x18;
/* 0x1C */ VIRetraceCallback mPreRetraceCallback;
/* 0x20 */ VIRetraceCallback mPostRetraceCallback;
/* 0x24 */ CallbackFn unknown_callback_1;
/* 0x28 */ CallbackFn unknown_callback_2;
/* 0x24 */ Callback mPreCallback;
/* 0x28 */ Callback mPostCallback;
/* 0x2C */ bool mSetBlack;
/* 0x30 */ s32 mSetBlackFrameCount;
/* 0x34 */ OSMessage mMessage;
/* 0x38 */ OSMessageQueue mMessageQueue;
};
inline JUTVideo* JUTGetVideoManager() {
return JUTVideo::getManager();
}
#endif /* JUTVIDEO_H */
+23
View File
@@ -23,6 +23,29 @@ public:
/* 802E5424 */ static void destroyManager();
/* 802E5454 */ void initiate(u16, u16, JKRHeap*, JUTXfb::EXfbNumber);
s32 getBufferNum() const { return mBufferNum; }
s16 getDrawnXfbIndex() const { return mDrawnXfbIndex; }
s16 getDrawningXfbIndex() const { return mDrawingXfbIndex; }
s16 getDisplayingXfbIndex() const { return mDisplayingXfbIndex; }
s32 getSDrawingFlag() const { return mSDrawingFlag; }
void* getDisplayingXfb() const {
if (mDisplayingXfbIndex >= 0)
return mBuffer[mDisplayingXfbIndex];
return NULL;
}
void setDisplayingXfbIndex(s16 index) {
mDisplayingXfbIndex = index;
}
void setSDrawingFlag(s32 flag) {
mSDrawingFlag = flag;
}
static JUTXfb* getManager() { return sManager; }
private:
static JUTXfb* sManager;
private:
+11
View File
@@ -2,9 +2,20 @@
#define VI_H
#include "dolphin/types.h"
#include "dolphin/gx/GX.h"
typedef void (*VIRetraceCallback)(u32);
extern "C" void VIWaitForRetrace(void);
extern "C" void VISetNextFrameBuffer(void*);
extern "C" VIRetraceCallback VISetPreRetraceCallback(VIRetraceCallback);
extern "C" VIRetraceCallback VISetPostRetraceCallback(VIRetraceCallback);
extern "C" void VIInit();
extern "C" void VIConfigure(GXRenderModeObj*);
extern "C" void VIFlush();
extern "C" void* VIGetNextFrameBuffer();
extern "C" void* VIGetCurrentFrameBuffer();
extern "C" void VISetBlack(BOOL);
extern "C" u32 VIGetRetraceCount();
#endif /* VI_H */