dol2asm OK

This commit is contained in:
Julgodis
2021-03-28 22:49:05 +02:00
parent 3d66902e1a
commit 1e95d29b60
60106 changed files with 4755966 additions and 1107376 deletions
+151 -79
View File
@@ -1,97 +1,169 @@
#include "JSystem/JUtility/JUTXfb/JUTXfb.h"
#include "JSystem/JUtility/JUTVideo/JUTVideo.h"
#include "global.h"
//
// Generated By: dol2asm
// Translation Unit: JUTXfb
//
extern "C" {
void common_init__6JUTXfbFi(void);
void initiate__6JUTXfbFUsUsP7JKRHeapQ26JUTXfb10EXfbNumber(void);
#include "dol2asm.h"
#include "dolphin/types.h"
#include "JSystem/JUtility/JUTXfb.h"
//
// Types:
//
struct _GXRenderModeObj {
};
struct JKRHeap {
};
struct JUTXfb {
struct EXfbNumber {
};
/* 802E5214 */ void clearIndex();
/* 802E5228 */ void common_init(int);
/* 802E5260 */ JUTXfb(_GXRenderModeObj const*, JKRHeap*, JUTXfb::EXfbNumber);
/* 802E5308 */ ~JUTXfb();
/* 802E5378 */ void delXfb(int);
/* 802E53B8 */ void createManager(JKRHeap*, JUTXfb::EXfbNumber);
/* 802E5424 */ void destroyManager();
/* 802E5454 */ void initiate(u16, u16, JKRHeap*, JUTXfb::EXfbNumber);
};
//
// Forward References:
//
extern "C" extern u8 sManager__6JUTXfb[4 + 4 /* padding */];
extern "C" void clearIndex__6JUTXfbFv();
extern "C" void common_init__6JUTXfbFi();
extern "C" void __ct__6JUTXfbFPC16_GXRenderModeObjP7JKRHeapQ26JUTXfb10EXfbNumber();
extern "C" void __dt__6JUTXfbFv();
extern "C" void delXfb__6JUTXfbFi();
extern "C" void createManager__6JUTXfbFP7JKRHeapQ26JUTXfb10EXfbNumber();
extern "C" void destroyManager__6JUTXfbFv();
extern "C" void initiate__6JUTXfbFUsUsP7JKRHeapQ26JUTXfb10EXfbNumber();
extern "C" extern u8 sManager__6JUTXfb[4 + 4 /* padding */];
//
// External References:
//
void* operator new(u32);
void* operator new[](u32, JKRHeap*, int);
void operator delete(void*);
extern "C" extern u8 sSystemHeap__7JKRHeap[4];
extern "C" extern u8 sManager__8JUTVideo[4];
extern "C" void* __nw__FUl();
extern "C" void* __nwa__FUlP7JKRHeapi();
extern "C" void __dl__FPv();
extern "C" void GXGetNumXfbLines();
extern "C" void GXGetYScaleFactor();
extern "C" void _savegpr_27();
extern "C" void _savegpr_28();
extern "C" void _savegpr_29();
extern "C" void _restgpr_27();
extern "C" void _restgpr_28();
extern "C" void _restgpr_29();
extern "C" extern u8 sSystemHeap__7JKRHeap[4];
extern "C" extern u8 sManager__8JUTVideo[4];
//
// Declarations:
//
/* 802E5214-802E5228 0014+00 s=1 e=1 z=0 None .text clearIndex__6JUTXfbFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void JUTXfb::clearIndex() {
nofralloc
#include "asm/JSystem/JUtility/JUTXfb/clearIndex__6JUTXfbFv.s"
}
#pragma pop
void JUTXfb::clearIndex() {
this->active_xfb_index = -1;
this->last_drawn_xfb_index = -1;
this->next_xfb_buffer = -1;
return;
/* 802E5228-802E5260 0038+00 s=1 e=0 z=0 None .text common_init__6JUTXfbFi */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void JUTXfb::common_init(int param_0) {
nofralloc
#include "asm/JSystem/JUtility/JUTXfb/common_init__6JUTXfbFi.s"
}
#pragma pop
void JUTXfb::common_init(int p1) {
this->num_xfbs = p1;
this->clearIndex();
this->field_0x1c = 99;
/* 802E5260-802E5308 00A8+00 s=1 e=0 z=0 None .text __ct__6JUTXfbFPC16_GXRenderModeObjP7JKRHeapQ26JUTXfb10EXfbNumber */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm JUTXfb::JUTXfb(_GXRenderModeObj const* param_0, JKRHeap* param_1, JUTXfb::EXfbNumber param_2) {
nofralloc
#include "asm/JSystem/JUtility/JUTXfb/__ct__6JUTXfbFPC16_GXRenderModeObjP7JKRHeapQ26JUTXfb10EXfbNumber.s"
}
#pragma pop
#ifdef NONMATCHING
JUTXfb::JUTXfb(GXRenderModeObj* obj, JKRHeap* heap, JUTXfb::EXfbNumber xfb_number) {
this->common_init(xfb_number);
if (obj != NULL) {
this->initiate(obj->fb_width, obj->xfb_height, heap, xfb_number);
} else {
GXRenderModeObj* render_obj = /* JUTVideo::sManager */ lbl_80451538->render_object;
u16 fb_width = render_obj->fb_width;
u16 efb_height = render_obj->efb_height;
u16 xfb_height = render_obj->xfb_height;
f32 scale_factor = GXGetYScaleFactor(efb_height, xfb_height);
this->initiate(fb_width, GXGetNumXfbLines(efb_height, scale_factor), heap, xfb_number);
}
/* ############################################################################################## */
/* 80451550-80451558 0004+04 s=3 e=13 z=0 None .sbss sManager__6JUTXfb */
u8 sManager__6JUTXfb[4 + 4 /* padding */];
/* 802E5308-802E5378 0070+00 s=1 e=0 z=0 None .text __dt__6JUTXfbFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm JUTXfb::~JUTXfb() {
nofralloc
#include "asm/JSystem/JUtility/JUTXfb/__dt__6JUTXfbFv.s"
}
#else
asm JUTXfb::JUTXfb(GXRenderModeObj* obj, JKRHeap* heap, JUTXfb::EXfbNumber xfb_number) {
nofralloc
#include "JSystem/JUtility/JUTXfb/asm/func_802E5260.s"
#pragma pop
/* 802E5378-802E53B8 0040+00 s=1 e=0 z=0 None .text delXfb__6JUTXfbFi */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void JUTXfb::delXfb(int param_0) {
nofralloc
#include "asm/JSystem/JUtility/JUTXfb/delXfb__6JUTXfbFi.s"
}
#endif
#pragma pop
JUTXfb::~JUTXfb() {
for (int i = 0; i < 3; i++) {
this->delXfb(i);
}
/* sManager */ lbl_80451550 = NULL;
/* 802E53B8-802E5424 006C+00 s=0 e=1 z=0 None .text createManager__6JUTXfbFP7JKRHeapQ26JUTXfb10EXfbNumber */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void JUTXfb::createManager(JKRHeap* param_0, JUTXfb::EXfbNumber param_1) {
nofralloc
#include "asm/JSystem/JUtility/JUTXfb/createManager__6JUTXfbFP7JKRHeapQ26JUTXfb10EXfbNumber.s"
}
#pragma pop
void JUTXfb::delXfb(int index) {
if ((this->is_xfb_allocated[index] != false) && (this->xfb_buffer[index] != NULL)) {
delete this->xfb_buffer[index];
}
/* 802E5424-802E5454 0030+00 s=0 e=1 z=0 None .text destroyManager__6JUTXfbFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void JUTXfb::destroyManager() {
nofralloc
#include "asm/JSystem/JUtility/JUTXfb/destroyManager__6JUTXfbFv.s"
}
#pragma pop
JUTXfb* JUTXfb::createManager(JKRHeap* heap, JUTXfb::EXfbNumber xfb_number) {
if (/* sManager */ lbl_80451550 == NULL) {
lbl_80451550 = new JUTXfb(NULL, heap, xfb_number);
}
return lbl_80451550;
/* 802E5454-802E5530 00DC+00 s=1 e=0 z=0 None .text initiate__6JUTXfbFUsUsP7JKRHeapQ26JUTXfb10EXfbNumber */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void JUTXfb::initiate(u16 param_0, u16 param_1, JKRHeap* param_2, JUTXfb::EXfbNumber param_3) {
nofralloc
#include "asm/JSystem/JUtility/JUTXfb/initiate__6JUTXfbFUsUsP7JKRHeapQ26JUTXfb10EXfbNumber.s"
}
#pragma pop
void JUTXfb::destroyManager() {
delete lbl_80451550;
lbl_80451550 = NULL;
}
void JUTXfb::initiate(u16 width, u16 height, JKRHeap* heap, JUTXfb::EXfbNumber xfb_number) {
if (heap == NULL) {
heap = JKRHeap::getSystemHeap();
}
int size = ((u32)width + 0xf & 0xfff0) * (u32)height * 2;
void* pvVar1 = ::operator new[](size, heap, 0x20);
this->xfb_buffer[0] = pvVar1;
this->is_xfb_allocated[0] = true;
if (xfb_number >= 2) {
pvVar1 = ::operator new[](size, heap, 0x20);
this->xfb_buffer[1] = pvVar1;
this->is_xfb_allocated[1] = true;
} else {
this->xfb_buffer[1] = NULL;
this->is_xfb_allocated[1] = false;
}
if (xfb_number >= 3) {
pvVar1 = ::operator new[](size, heap, 0x20);
this->xfb_buffer[2] = pvVar1;
this->is_xfb_allocated[2] = true;
} else {
this->xfb_buffer[2] = NULL;
this->is_xfb_allocated[2] = false;
}
}