Decompile `func_8007382C`

This commit is contained in:
gijs 2023-10-19 18:42:31 +02:00
parent 8a0544efc3
commit 6f3f544f26
1 changed files with 47 additions and 10 deletions

View File

@ -37,7 +37,6 @@ void func_800E9CEC(); /* extern */
void func_800EA714(); /* extern */ void func_800EA714(); /* extern */
void func_800EA8E0(); /* extern */ void func_800EA8E0(); /* extern */
void func_8016C900(); /* extern */ void func_8016C900(); /* extern */
void func_8016CD50(s32); /* extern */
void func_80179060(); /* extern */ void func_80179060(); /* extern */
void func_8017BDC0(); /* extern */ void func_8017BDC0(); /* extern */
void func_80184D70(); /* extern */ void func_80184D70(); /* extern */
@ -47,7 +46,6 @@ extern s32 D_800A81F4;
extern s32 D_800A8204; extern s32 D_800A8204;
extern Unknown1 D_800ABD80; extern Unknown1 D_800ABD80;
extern Unknown1 D_800E9C08; extern Unknown1 D_800E9C08;
extern s8 D_800A8213;
extern u8 D_800AEF98; extern u8 D_800AEF98;
extern s8 D_800AEF99; extern s8 D_800AEF99;
extern s8 D_800AEF9A; extern s8 D_800AEF9A;
@ -64,22 +62,15 @@ extern s32 D_8018FDC0;
extern s32 D_80190F10; extern s32 D_80190F10;
extern s32 D_80243DB0; extern s32 D_80243DB0;
extern s8 D_800A8210;
extern s8 D_800A8211;
extern s8 D_800A8212;
extern s8 D_800A8213;
extern Arg_800712C4* D_800AEF9C; extern Arg_800712C4* D_800AEF9C;
extern s32 D_800A81F4; extern s32 D_800A81F4;
extern s32 D_800A81F8; extern s32 D_800A81F8;
extern s32 D_800C4BCC; extern s32 D_800C4BCC;
extern s8 D_800AEF9A; extern s8 D_800AEF9A;
extern void* D_800C4BB8; extern void* D_800C4BB8;
extern OSContPad __GLOBAL_CONTROLLER_DATA_COPY[4];
extern struct { extern struct {
// s32 field_0x0; // s32 field_0x0;
// s32 field_0x4; // s32 field_0x4;
@ -102,6 +93,8 @@ extern struct {
s8 field_0x2; s8 field_0x2;
} D_800A81F0; } D_800A81F0;
extern void* D_800E8210;
DECLARE_SEGMENT(segment_song); DECLARE_SEGMENT(segment_song);
DECLARE_SEGMENT(segment_obdata); DECLARE_SEGMENT(segment_obdata);
@ -406,7 +399,51 @@ void func_800737A0(void) {
gSPDisplayList(obPtrDisplayList++, DISPLAY_LIST_801869C8); gSPDisplayList(obPtrDisplayList++, DISPLAY_LIST_801869C8);
} }
INCLUDE_ASM(const s32, "main", func_8007382C); /* 3C2C 8007382C */
void func_8007382C(void) {
u32 temp_a1;
if (__get_compared_osTvType() != 0)
return;
if (D_800A8213 != 0) {
temp_a1 = D_800C4B20 - 0x80000000;
gDPSetDepthImage(obPtrDisplayList++, temp_a1);
gDPPipeSync(obPtrDisplayList++);
gDPPipeSync(obPtrDisplayList++);
gDPSetCycleType(obPtrDisplayList++, G_CYC_FILL);
gDPPipeSync(obPtrDisplayList++);
gDPSetRenderMode(obPtrDisplayList++, G_RM_NOOP, G_RM_NOOP2);
gDPSetColorImage(obPtrDisplayList++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 320, temp_a1);
gDPSetFillColor(obPtrDisplayList++, 0xFFFCFFFC);
gDPPipeSync(obPtrDisplayList++);
gDPFillRectangle(obPtrDisplayList++, 0, 0, 319, 239);
gDPPipeSync(obPtrDisplayList++);
gDPPipeSync(obPtrDisplayList++);
}
gDPPipeSync(obPtrDisplayList++);
gDPPipeSync(obPtrDisplayList++);
gDPSetCycleType(obPtrDisplayList++, G_CYC_FILL);
gDPPipeSync(obPtrDisplayList++);
gDPSetRenderMode(obPtrDisplayList++, G_RM_NOOP, G_RM_NOOP2);
gDPSetColorImage(obPtrDisplayList++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 320, osVirtualToPhysical(D_800E8210));
gDPSetFillColor(obPtrDisplayList++, 0x00010001);
gDPPipeSync(obPtrDisplayList++);
gDPFillRectangle(obPtrDisplayList++, 0, 0, 319, 239);
gDPPipeSync(obPtrDisplayList++);
gSPDisplayList(obPtrDisplayList++, DISPLAY_LIST_801869C8);
}
INCLUDE_ASM(const s32, "main", func_80073AE4); INCLUDE_ASM(const s32, "main", func_80073AE4);