fopOvlp_Draw OK, fopOvlp_Execute OK, fopOvlp_IsDelete OK, fopOvlp_Delete OK

This commit is contained in:
Pheenoh 2021-02-16 13:21:52 -05:00
parent 1d3c5cd1cf
commit d06ba53d39
No known key found for this signature in database
GPG Key ID: 4312662758CE7D5A
14 changed files with 74 additions and 70 deletions

View File

@ -240,14 +240,14 @@ lbl_80259744:
/* 8025974C 0025668C 38 7E 4C 9C */ addi r3, r30, 0x4c9c
/* 80259750 00256690 4B E1 67 E9 */ bl dVibration_c_NS_Pause
lbl_80259754:
/* 80259754 00256694 4B DC 6C F1 */ bl fopDwIt_Begin
/* 80259754 00256694 4B DC 6C F1 */ bl fopDwIt_Begin__Fv
/* 80259758 00256698 7C 7C 1B 78 */ mr r28, r3
/* 8025975C 0025669C 48 00 00 18 */ b lbl_80259774
lbl_80259760:
/* 80259760 002566A0 80 7C 00 0C */ lwz r3, 0xc(r28)
/* 80259764 002566A4 4B DC 89 3D */ bl fpcM_Draw
/* 80259768 002566A8 7F 83 E3 78 */ mr r3, r28
/* 8025976C 002566AC 4B DC 6D 15 */ bl fopDwIt_Next
/* 8025976C 002566AC 4B DC 6D 15 */ bl fopDwIt_Next__FP16create_tag_class
/* 80259770 002566B0 7C 7C 1B 78 */ mr r28, r3
lbl_80259774:
/* 80259774 002566B4 28 1C 00 00 */ cmplwi r28, 0

View File

@ -368,8 +368,8 @@ lbl_80450CE8:
.global lbl_80450CF0
lbl_80450CF0:
.skip 0x8
.global lbl_80450CF8
lbl_80450CF8:
.global l_fopDwTg_id
l_fopDwTg_id:
.skip 0x8
.global lbl_80450D00
lbl_80450D00:

View File

@ -41,8 +41,8 @@ lbl_804505C0:
.global lbl_804505C8
lbl_804505C8:
.incbin "baserom.dol", 0x3D0328, 0x8
.global lbl_804505D0
lbl_804505D0:
.global g_fopDwTg_Queue
g_fopDwTg_Queue:
.incbin "baserom.dol", 0x3D0330, 0x8
.global lbl_804505D8
lbl_804505D8:

View File

@ -0,0 +1,10 @@
#ifndef F_F_OP_DRAW_ITER_H_
#define F_F_OP_DRAW_ITER_H_
#include "SComponent/c_tag.h"
void fopDwIt_GetTag(void);
void fopDwIt_Begin(void);
void fopDwIt_Next(create_tag_class* pCreateTag);
#endif

View File

@ -1,17 +1,17 @@
/* 80020400 0001D340 80 8D 80 50 */ lwz r4, lbl_804505D0-_SDA_BASE_(r13)
/* 80020404 0001D344 38 6D 80 50 */ la r3, lbl_804505D0(r13)
/* 80020400 0001D340 80 8D 80 50 */ lwz r4, g_fopDwTg_Queue-_SDA_BASE_(r13)
/* 80020404 0001D344 38 6D 80 50 */ la r3, g_fopDwTg_Queue(r13)
/* 80020408 0001D348 80 A3 00 04 */ lwz r5, 4(r3)
/* 8002040C 0001D34C 48 00 00 20 */ b lbl_8002042C
lbl_80020410:
/* 80020410 0001D350 80 6D 87 78 */ lwz r3, lbl_80450CF8-_SDA_BASE_(r13)
/* 80020410 0001D350 80 6D 87 78 */ lwz r3, l_fopDwTg_id-_SDA_BASE_(r13)
/* 80020414 0001D354 38 03 00 01 */ addi r0, r3, 1
/* 80020418 0001D358 90 0D 87 78 */ stw r0, lbl_80450CF8-_SDA_BASE_(r13)
/* 80020418 0001D358 90 0D 87 78 */ stw r0, l_fopDwTg_id-_SDA_BASE_(r13)
/* 8002041C 0001D35C 1C 00 00 0C */ mulli r0, r0, 0xc
/* 80020420 0001D360 7C 64 00 2E */ lwzx r3, r4, r0
/* 80020424 0001D364 28 03 00 00 */ cmplwi r3, 0
/* 80020428 0001D368 4C 82 00 20 */ bnelr
lbl_8002042C:
/* 8002042C 0001D36C 80 6D 87 78 */ lwz r3, lbl_80450CF8-_SDA_BASE_(r13)
/* 8002042C 0001D36C 80 6D 87 78 */ lwz r3, l_fopDwTg_id-_SDA_BASE_(r13)
/* 80020430 0001D370 38 03 00 01 */ addi r0, r3, 1
/* 80020434 0001D374 7C 00 28 00 */ cmpw r0, r5
/* 80020438 0001D378 41 80 FF D8 */ blt lbl_80020410

View File

@ -1,15 +1,15 @@
/* 80020444 0001D384 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80020448 0001D388 7C 08 02 A6 */ mflr r0
/* 8002044C 0001D38C 90 01 00 14 */ stw r0, 0x14(r1)
/* 80020450 0001D390 80 6D 80 50 */ lwz r3, lbl_804505D0-_SDA_BASE_(r13)
/* 80020450 0001D390 80 6D 80 50 */ lwz r3, g_fopDwTg_Queue-_SDA_BASE_(r13)
/* 80020454 0001D394 80 63 00 00 */ lwz r3, 0(r3)
/* 80020458 0001D398 38 00 00 00 */ li r0, 0
/* 8002045C 0001D39C 90 0D 87 78 */ stw r0, lbl_80450CF8-_SDA_BASE_(r13)
/* 8002045C 0001D39C 90 0D 87 78 */ stw r0, l_fopDwTg_id-_SDA_BASE_(r13)
/* 80020460 0001D3A0 28 03 00 00 */ cmplwi r3, 0
/* 80020464 0001D3A4 41 82 00 08 */ beq lbl_8002046C
/* 80020468 0001D3A8 48 00 00 08 */ b lbl_80020470
lbl_8002046C:
/* 8002046C 0001D3AC 4B FF FF 95 */ bl fopDwIt_GetTag
/* 8002046C 0001D3AC 4B FF FF 95 */ bl fopDwIt_GetTag__Fv
lbl_80020470:
/* 80020470 0001D3B0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80020474 0001D3B4 7C 08 03 A6 */ mtlr r0

View File

@ -4,7 +4,7 @@
/* 8002048C 0001D3CC 80 63 00 08 */ lwz r3, 8(r3)
/* 80020490 0001D3D0 28 03 00 00 */ cmplwi r3, 0
/* 80020494 0001D3D4 40 82 00 08 */ bne lbl_8002049C
/* 80020498 0001D3D8 4B FF FF 69 */ bl fopDwIt_GetTag
/* 80020498 0001D3D8 4B FF FF 69 */ bl fopDwIt_GetTag__Fv
lbl_8002049C:
/* 8002049C 0001D3DC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 800204A0 0001D3E0 7C 08 03 A6 */ mtlr r0

View File

@ -2,7 +2,7 @@
/* 800204B0 0001D3F0 7C 08 02 A6 */ mflr r0
/* 800204B4 0001D3F4 90 01 00 14 */ stw r0, 0x14(r1)
/* 800204B8 0001D3F8 7C 65 1B 78 */ mr r5, r3
/* 800204BC 0001D3FC 38 6D 80 50 */ la r3, lbl_804505D0(r13)
/* 800204BC 0001D3FC 38 6D 80 50 */ la r3, g_fopDwTg_Queue(r13)
/* 800204C0 0001D400 48 24 64 0D */ bl cTg_AdditionToTree
/* 800204C4 0001D404 80 01 00 14 */ lwz r0, 0x14(r1)
/* 800204C8 0001D408 7C 08 03 A6 */ mtlr r0

View File

@ -1,7 +1,7 @@
/* 80020518 0001D458 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8002051C 0001D45C 7C 08 02 A6 */ mflr r0
/* 80020520 0001D460 90 01 00 14 */ stw r0, 0x14(r1)
/* 80020524 0001D464 38 6D 80 50 */ la r3, lbl_804505D0(r13)
/* 80020524 0001D464 38 6D 80 50 */ la r3, g_fopDwTg_Queue(r13)
/* 80020528 0001D468 3C 80 80 3F */ lis r4, lbl_803F1E10@ha
/* 8002052C 0001D46C 38 84 1E 10 */ addi r4, r4, lbl_803F1E10@l
/* 80020530 0001D470 38 A0 03 E8 */ li r5, 0x3e8

View File

@ -0,0 +1,8 @@
#ifndef F_F_OP_OVERLAP_H_
#define F_F_OP_OVERLAP_H_
#include "dolphin/types.h"
void fopOvlp_Draw(void* param_1);
#endif

View File

@ -3439,6 +3439,11 @@ fopCam_Execute__FP12camera_class
fopCam_IsDelete__FP12camera_class
fopCam_Delete__FP12camera_class
fopCam_Create__FPv
fopOvlp_Draw__FPv
fopOvlp_Execute__FPv
fopOvlp_IsDelete__FPv
fopOvlp_Delete__FPv
fopOvlp_Create__FPv
}
/*
.init 80003100 - 80005600

View File

@ -1,39 +1,41 @@
/* f_op_draw_iter.cpp autogenerated by split.py v0.4 at 2021-02-15 20:16:49.147351 */
#include "f/f_op/f_op_draw_iter.h"
#include "SComponent/c_tree.h"
#include "global.h"
// additional symbols needed for f_op_draw_iter.cpp
// autogenerated by split.py v0.4 at 2021-02-15 20:16:49.147373
extern "C" {
void fopDwIt_Begin(void);
void fopDwIt_GetTag(void);
void fopDwIt_Next(void);
void fopDwIt_GetTag__Fv(void);
}
// additional symbols needed for f_op_draw_iter.cpp
// autogenerated by split.py v0.4 at 2021-02-15 20:16:49.147378
extern u8 lbl_804505D0;
extern u8 lbl_80450CF8;
extern node_lists_tree_class g_fopDwTg_Queue;
extern u32 l_fopDwTg_id;
// void fopDwIt_GetTag(void) {
// u32 tmp = l_fopDwTg_id;
// while (!g_fopDwTg_Queue.mpLists[tmp].mpHead) {
// if (g_fopDwTg_Queue.mNumLists <= tmp + 1) {
// return;
// }
// l_fopDwTg_id++;
// }
// }
extern "C" {
// fopDwIt_GetTag__Fv
// fopDwIt_GetTag(void)
asm void fopDwIt_GetTag(void) {
nofralloc
#include "f/f_op/f_op_draw_iter/asm/func_80020400.s"
}
// fopDwIt_Begin__Fv
// fopDwIt_Begin(void)
asm void fopDwIt_Begin(void) {
nofralloc
#include "f/f_op/f_op_draw_iter/asm/func_80020444.s"
}
// fopDwIt_Next__FP16create_tag_class
// fopDwIt_Next(create_tag_class*)
asm void fopDwIt_Next(void) {
asm void fopDwIt_Next(create_tag_class* pCreateTag) {
nofralloc
#include "f/f_op/f_op_draw_iter/asm/func_80020480.s"
}
};

View File

@ -15,7 +15,7 @@ void fopDwTg_ToDrawQ(void);
// additional symbols needed for f_op_draw_tag.cpp
// autogenerated by split.py v0.4 at 2021-02-15 20:18:52.463045
extern u8 lbl_803F1E10;
extern u8 lbl_804505D0;
extern u8 g_fopDwTg_Queue;
extern "C" {
// fopDwTg_ToDrawQ__FP16create_tag_classi

View File

@ -1,59 +1,38 @@
/* f_op_overlap.cpp autogenerated by split.py v0.4 at 2021-02-15 21:08:55.000952 */
#include "f/f_op/f_op_overlap.h"
#include "SComponent/c_request.h"
#include "f/f_pc/f_pc_leaf.h"
#include "global.h"
// additional symbols needed for f_op_overlap.cpp
// autogenerated by split.py v0.4 at 2021-02-15 21:08:55.000975
extern "C" {
void cReq_Create__FP18request_base_classUc(void);
void fopOvlp_Draw(void);
void fpcLf_DrawMethod(void);
void fpcMtd_Create(void);
void fpcMtd_Delete(void);
void fpcMtd_Execute(void);
void fpcMtd_IsDelete(void);
void func_8001E3A4(void);
void func_8001E3CC(void);
void func_8001E3F4(void);
void func_8001E41C(void);
}
// additional symbols needed for f_op_overlap.cpp
// autogenerated by split.py v0.4 at 2021-02-15 21:08:55.000980
extern "C" {
// fopOvlp_Draw__FPv
// fopOvlp_Draw(void*)
asm void fopOvlp_Draw(void) {
nofralloc
#include "f/f_op/f_op_overlap/asm/func_8001E37C.s"
void fopOvlp_Draw(void* param_1) {
// matches but is probably wrong
fpcLf_DrawMethod(
(leafdraw_method_class*)((leafdraw_method_class*)param_1)[9].mBase.mpIsDeleteFunc, param_1);
}
// fopOvlp_Execute__FPv
// fopOvlp_Execute(void*)
asm void func_8001E3A4(void) {
nofralloc
#include "f/f_op/f_op_overlap/asm/func_8001E3A4.s"
void fopOvlp_Execute(void* param_1) {
// matches but is probably wrong
fpcMtd_Execute((process_method_class*)((int*)param_1)[0x30], param_1);
}
// fopOvlp_IsDelete__FPv
// fopOvlp_IsDelete(void*)
asm void func_8001E3CC(void) {
nofralloc
#include "f/f_op/f_op_overlap/asm/func_8001E3CC.s"
void fopOvlp_IsDelete(void* param_1) {
// matches but is probably wrong
fpcMtd_IsDelete((process_method_class*)((int*)param_1)[0x30], param_1);
}
// fopOvlp_Delete__FPv
// fopOvlp_Delete(void*)
asm void func_8001E3F4(void) {
nofralloc
#include "f/f_op/f_op_overlap/asm/func_8001E3F4.s"
void fopOvlp_Delete(void* param_1) {
// matches but is probably wrong
fpcMtd_Delete((process_method_class*)((int*)param_1)[0x30], param_1);
}
// fopOvlp_Create__FPv
// fopOvlp_Create(void*)
asm void func_8001E41C(void) {
asm void fopOvlp_Create(void* param_1) {
nofralloc
#include "f/f_op/f_op_overlap/asm/func_8001E41C.s"
}
};