mirror of https://github.com/zeldaret/tp.git
53 lines
1.4 KiB
C
53 lines
1.4 KiB
C
#ifndef JUTVIDEO_H
|
|
#define JUTVIDEO_H
|
|
|
|
#include "dolphin/gx/GX.h"
|
|
#include "dolphin/os/OS.h"
|
|
#include "dolphin/types.h"
|
|
#include "dolphin/vi/vi.h"
|
|
|
|
// TODO: placeholder
|
|
struct _GXRenderModeObj {};
|
|
|
|
struct JUTVideo {
|
|
static JUTVideo* sManager;
|
|
// TODO: figure out type
|
|
static u8 sVideoLastTick[4];
|
|
static u8 sVideoInterval[4];
|
|
|
|
JUTVideo(_GXRenderModeObj const*);
|
|
virtual ~JUTVideo();
|
|
|
|
typedef void (*CallbackFn)(void);
|
|
|
|
// struct JUTVideo_vtable * vtable;
|
|
GXRenderModeObj* render_object;
|
|
u32 field_0x8;
|
|
u32 retrace_count;
|
|
u32 field_0x10;
|
|
u32 field_0x14;
|
|
u32 field_0x18;
|
|
VIRetraceCallback pre_retrace_callback;
|
|
VIRetraceCallback post_retrace_callback;
|
|
CallbackFn unknown_callback_1;
|
|
CallbackFn unknown_callback_2;
|
|
bool set_black;
|
|
u8 padding[3];
|
|
s32 set_black_frame_counter;
|
|
OSMessage message;
|
|
OSMessageQueue message_queue;
|
|
|
|
// TODO: return types not confirmed
|
|
/* 802E4C54 */ void createManager(_GXRenderModeObj const*);
|
|
/* 802E4CAC */ void destroyManager();
|
|
/* 802E4E50 */ void preRetraceProc(u32);
|
|
/* 802E5088 */ void drawDoneStart();
|
|
/* 802E50B0 */ void dummyNoDrawWait();
|
|
/* 802E50BC */ void drawDoneCallback();
|
|
/* 802E5144 */ void postRetraceProc(u32);
|
|
/* 802E5198 */ void setRenderMode(_GXRenderModeObj const*);
|
|
/* 802E5210 */ void waitRetraceIfNeed();
|
|
};
|
|
|
|
#endif /* JUTVIDEO_H */
|