mirror of
https://github.com/TwilitRealm/dusklight
synced 2026-07-11 05:04:40 -04:00
m_Do cleanup, d_resource, drawlist stuff (#145)
* d_resource / some d_stage * setup dDlst_list_c / d_select_icon OK * JUTXfb / some JUTVideo + various * some J2D classes / JUTVideo/Fader attempts * bunch of m_Do cleanup + matches / f_ap_game OK * mDoLib_clipper::setup OK * most of d_meter_HIO OK * pane_class / kantera_icon_meter
This commit is contained in:
@@ -47,16 +47,16 @@ extern "C" u8 sVideoInterval__8JUTVideo[4];
|
||||
extern "C" void* __nw__FUl();
|
||||
extern "C" void __dl__FPv();
|
||||
extern "C" void changeFrameBuffer__14JUTDirectPrintFPvUsUs();
|
||||
extern "C" void VISetPreRetraceCallback();
|
||||
extern "C" void VISetPostRetraceCallback();
|
||||
extern "C" void VISetPreRetraceCallback(VIRetraceCallback);
|
||||
extern "C" void VISetPostRetraceCallback(VIRetraceCallback);
|
||||
extern "C" void VIInit();
|
||||
extern "C" void VIWaitForRetrace();
|
||||
extern "C" void VIConfigure();
|
||||
extern "C" void VIConfigure(_GXRenderModeObj*);
|
||||
extern "C" void VIFlush();
|
||||
extern "C" void VISetNextFrameBuffer();
|
||||
extern "C" void VIGetNextFrameBuffer();
|
||||
extern "C" void VISetBlack();
|
||||
extern "C" void VIGetRetraceCount();
|
||||
extern "C" void VISetBlack(s32);
|
||||
extern "C" u32 VIGetRetraceCount();
|
||||
extern "C" void GXSetDrawDone();
|
||||
extern "C" void GXCopyDisp();
|
||||
extern "C" u8 sDirectPrint__14JUTDirectPrint[4 + 4 /* padding */];
|
||||
@@ -72,24 +72,20 @@ JUTVideo* JUTVideo::sManager;
|
||||
|
||||
/* 802E4C54-802E4CAC 2DF594 0058+00 0/0 1/1 0/0 .text
|
||||
* createManager__8JUTVideoFPC16_GXRenderModeObj */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void JUTVideo::createManager(_GXRenderModeObj const* param_0) {
|
||||
nofralloc
|
||||
#include "asm/JSystem/JUtility/JUTVideo/createManager__8JUTVideoFPC16_GXRenderModeObj.s"
|
||||
JUTVideo* JUTVideo::createManager(_GXRenderModeObj const* param_0) {
|
||||
if (sManager == NULL) {
|
||||
sManager = new JUTVideo(param_0);
|
||||
}
|
||||
return sManager;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 802E4CAC-802E4CF4 2DF5EC 0048+00 0/0 2/2 0/0 .text destroyManager__8JUTVideoFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void JUTVideo::destroyManager() {
|
||||
nofralloc
|
||||
#include "asm/JSystem/JUtility/JUTVideo/destroyManager__8JUTVideoFv.s"
|
||||
void JUTVideo::destroyManager() {
|
||||
if (sManager != NULL) {
|
||||
delete sManager;
|
||||
sManager = NULL;
|
||||
}
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 803CC980-803CC990 029AA0 000C+04 2/2 0/0 0/0 .data __vt__8JUTVideo */
|
||||
@@ -102,12 +98,35 @@ SECTION_DATA extern void* __vt__8JUTVideo[3 + 1 /* padding */] = {
|
||||
};
|
||||
|
||||
/* 8045153C-80451540 000A3C 0004+00 2/2 1/1 0/0 .sbss sVideoLastTick__8JUTVideo */
|
||||
u8 JUTVideo::sVideoLastTick[4];
|
||||
u32 JUTVideo::sVideoLastTick;
|
||||
|
||||
/* 80451540-80451544 000A40 0004+00 2/2 1/1 0/0 .sbss sVideoInterval__8JUTVideo */
|
||||
u8 JUTVideo::sVideoInterval[4];
|
||||
u32 JUTVideo::sVideoInterval;
|
||||
|
||||
/* 802E4CF4-802E4DE8 2DF634 00F4+00 1/1 0/0 0/0 .text __ct__8JUTVideoFPC16_GXRenderModeObj */
|
||||
#ifdef NONMATCHING
|
||||
JUTVideo::JUTVideo(_GXRenderModeObj const* param_0) {
|
||||
mRenderObj = NULL;
|
||||
VIInit();
|
||||
mSetBlack = true;
|
||||
mSetBlackFrameCount = 2;
|
||||
setRenderMode(param_0);
|
||||
VISetBlack(1);
|
||||
VIFlush();
|
||||
field_0x8 = 0;
|
||||
mRetraceCount = VIGetRetraceCount();
|
||||
field_0x10 = 1;
|
||||
field_0x18 = 0;
|
||||
sVideoLastTick = OSGetTick();
|
||||
sVideoInterval = 670000;
|
||||
mPreRetraceCallback = VISetPreRetraceCallback(preRetraceProc);
|
||||
mPostRetraceCallback = VISetPreRetraceCallback(postRetraceProc);
|
||||
unknown_callback_1 = NULL;
|
||||
unknown_callback_2 = NULL;
|
||||
OSInitMessageQueue(mMessageQueue, mMessage, 1);
|
||||
GXSetDrawDoneCallback(drawDoneCallback);
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
@@ -116,23 +135,20 @@ asm JUTVideo::JUTVideo(_GXRenderModeObj const* param_0) {
|
||||
#include "asm/JSystem/JUtility/JUTVideo/__ct__8JUTVideoFPC16_GXRenderModeObj.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 802E4DE8-802E4E50 2DF728 0068+00 1/0 0/0 0/0 .text __dt__8JUTVideoFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm JUTVideo::~JUTVideo() {
|
||||
nofralloc
|
||||
#include "asm/JSystem/JUtility/JUTVideo/__dt__8JUTVideoFv.s"
|
||||
JUTVideo::~JUTVideo() {
|
||||
VISetPreRetraceCallback(mPreRetraceCallback);
|
||||
VISetPostRetraceCallback(mPostRetraceCallback);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80451544-80451548 000A44 0004+00 4/4 0/0 0/0 .sbss None */
|
||||
static u8 data_80451544[4];
|
||||
|
||||
/* 80451548-8045154C 000A48 0004+00 1/1 0/0 0/0 .sbss frameBuffer$2222 */
|
||||
static u8 frameBuffer[4];
|
||||
static void* frameBuffer;
|
||||
|
||||
/* 8045154C-80451550 000A4C 0004+00 1/1 0/0 0/0 .sbss None */
|
||||
static u8 data_8045154C[4];
|
||||
@@ -148,24 +164,15 @@ asm void JUTVideo::preRetraceProc(u32 param_0) {
|
||||
#pragma pop
|
||||
|
||||
/* 802E5088-802E50B0 2DF9C8 0028+00 0/0 1/1 0/0 .text drawDoneStart__8JUTVideoFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void JUTVideo::drawDoneStart() {
|
||||
nofralloc
|
||||
#include "asm/JSystem/JUtility/JUTVideo/drawDoneStart__8JUTVideoFv.s"
|
||||
void JUTVideo::drawDoneStart() {
|
||||
data_80451544[0] = 1;
|
||||
GXSetDrawDone();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 802E50B0-802E50BC 2DF9F0 000C+00 0/0 1/1 0/0 .text dummyNoDrawWait__8JUTVideoFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void JUTVideo::dummyNoDrawWait() {
|
||||
nofralloc
|
||||
#include "asm/JSystem/JUtility/JUTVideo/dummyNoDrawWait__8JUTVideoFv.s"
|
||||
void JUTVideo::dummyNoDrawWait() {
|
||||
data_80451544[0] = 0;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 802E50BC-802E5144 2DF9FC 0088+00 1/1 0/0 0/0 .text drawDoneCallback__8JUTVideoFv */
|
||||
#pragma push
|
||||
@@ -178,6 +185,18 @@ asm void JUTVideo::drawDoneCallback() {
|
||||
#pragma pop
|
||||
|
||||
/* 802E5144-802E5198 2DFA84 0054+00 1/1 0/0 0/0 .text postRetraceProc__8JUTVideoFUl */
|
||||
#ifdef NONMATCHING
|
||||
void JUTVideo::postRetraceProc(u32 param_0) {
|
||||
void* message;
|
||||
if (sManager != NULL) {
|
||||
if (sManager->unknown_callback_2 != NULL) {
|
||||
sManager->unknown_callback_2();
|
||||
}
|
||||
message = (void*)VIGetRetraceCount();
|
||||
OSSendMessage(&sManager->mMessageQueue, message, OS_MESSAGE_NON_BLOCKING);
|
||||
}
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
@@ -186,17 +205,24 @@ asm void JUTVideo::postRetraceProc(u32 param_0) {
|
||||
#include "asm/JSystem/JUtility/JUTVideo/postRetraceProc__8JUTVideoFUl.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 802E5198-802E5210 2DFAD8 0078+00 1/1 2/2 0/0 .text
|
||||
* setRenderMode__8JUTVideoFPC16_GXRenderModeObj */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void JUTVideo::setRenderMode(_GXRenderModeObj const* param_0) {
|
||||
nofralloc
|
||||
#include "asm/JSystem/JUtility/JUTVideo/setRenderMode__8JUTVideoFPC16_GXRenderModeObj.s"
|
||||
void JUTVideo::setRenderMode(_GXRenderModeObj const* pObj) {
|
||||
if (mRenderObj != NULL && pObj->vi_tv_mode != mRenderObj->vi_tv_mode) {
|
||||
mSetBlack = true;
|
||||
mSetBlackFrameCount = 4;
|
||||
}
|
||||
mRenderObj = (_GXRenderModeObj*)pObj;
|
||||
VIConfigure(mRenderObj);
|
||||
VIFlush();
|
||||
|
||||
if (mSetBlack) {
|
||||
VIWaitForRetrace();
|
||||
VIWaitForRetrace();
|
||||
}
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 802E5210-802E5214 2DFB50 0004+00 0/0 1/1 0/0 .text waitRetraceIfNeed__8JUTVideoFv */
|
||||
void JUTVideo::waitRetraceIfNeed() {
|
||||
|
||||
Reference in New Issue
Block a user