From 05bbb4956ae6b9af4bdee867ef7ae76801447ae9 Mon Sep 17 00:00:00 2001 From: Pheenoh Date: Mon, 15 Feb 2021 15:19:28 -0500 Subject: [PATCH] split f_op_draw_tag --- asm/f/op/draw/f_op_draw_tag.s | 56 ------------------- .../f/f_op/f_op_draw_tag/asm/func_800204AC.s | 10 ++++ .../f/f_op/f_op_draw_tag/asm/func_800204D4.s | 8 +++ .../f/f_op/f_op_draw_tag/asm/func_800204F4.s | 9 +++ .../f/f_op/f_op_draw_tag/asm/func_80020518.s | 12 ++++ obj_files.mk | 2 +- src/f/f_op/f_op_draw_tag.cpp | 54 +++++++++++++++++- 7 files changed, 93 insertions(+), 58 deletions(-) delete mode 100644 asm/f/op/draw/f_op_draw_tag.s create mode 100644 include/f/f_op/f_op_draw_tag/asm/func_800204AC.s create mode 100644 include/f/f_op/f_op_draw_tag/asm/func_800204D4.s create mode 100644 include/f/f_op/f_op_draw_tag/asm/func_800204F4.s create mode 100644 include/f/f_op/f_op_draw_tag/asm/func_80020518.s diff --git a/asm/f/op/draw/f_op_draw_tag.s b/asm/f/op/draw/f_op_draw_tag.s deleted file mode 100644 index 1a9e95c5868..00000000000 --- a/asm/f/op/draw/f_op_draw_tag.s +++ /dev/null @@ -1,56 +0,0 @@ -.include "macros.inc" - -.section .text, "ax" # 800204ac - - -.global fopDwTg_ToDrawQ -fopDwTg_ToDrawQ: -/* 800204AC 0001D3EC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 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 */ addi r3, r13, lbl_804505D0-_SDA_BASE_ -/* 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 -/* 800204CC 0001D40C 38 21 00 10 */ addi r1, r1, 0x10 -/* 800204D0 0001D410 4E 80 00 20 */ blr - -.global fopDwTg_DrawQTo -fopDwTg_DrawQTo: -/* 800204D4 0001D414 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800204D8 0001D418 7C 08 02 A6 */ mflr r0 -/* 800204DC 0001D41C 90 01 00 14 */ stw r0, 0x14(r1) -/* 800204E0 0001D420 48 24 63 AD */ bl cTg_SingleCutFromTree -/* 800204E4 0001D424 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800204E8 0001D428 7C 08 03 A6 */ mtlr r0 -/* 800204EC 0001D42C 38 21 00 10 */ addi r1, r1, 0x10 -/* 800204F0 0001D430 4E 80 00 20 */ blr - -.global fopDwTg_Init -fopDwTg_Init: -/* 800204F4 0001D434 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800204F8 0001D438 7C 08 02 A6 */ mflr r0 -/* 800204FC 0001D43C 90 01 00 14 */ stw r0, 0x14(r1) -/* 80020500 0001D440 48 24 65 35 */ bl cTg_Create -/* 80020504 0001D444 38 60 00 01 */ li r3, 1 -/* 80020508 0001D448 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8002050C 0001D44C 7C 08 03 A6 */ mtlr r0 -/* 80020510 0001D450 38 21 00 10 */ addi r1, r1, 0x10 -/* 80020514 0001D454 4E 80 00 20 */ blr - -.global fopDwTg_CreateQueue -fopDwTg_CreateQueue: -/* 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 */ addi r3, r13, lbl_804505D0-_SDA_BASE_ -/* 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 -/* 80020534 0001D474 48 24 5F B5 */ bl cTr_Create -/* 80020538 0001D478 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8002053C 0001D47C 7C 08 03 A6 */ mtlr r0 -/* 80020540 0001D480 38 21 00 10 */ addi r1, r1, 0x10 -/* 80020544 0001D484 4E 80 00 20 */ blr - diff --git a/include/f/f_op/f_op_draw_tag/asm/func_800204AC.s b/include/f/f_op/f_op_draw_tag/asm/func_800204AC.s new file mode 100644 index 00000000000..e2fe579cd16 --- /dev/null +++ b/include/f/f_op/f_op_draw_tag/asm/func_800204AC.s @@ -0,0 +1,10 @@ +/* 800204AC 0001D3EC 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 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) +/* 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 +/* 800204CC 0001D40C 38 21 00 10 */ addi r1, r1, 0x10 +/* 800204D0 0001D410 4E 80 00 20 */ blr diff --git a/include/f/f_op/f_op_draw_tag/asm/func_800204D4.s b/include/f/f_op/f_op_draw_tag/asm/func_800204D4.s new file mode 100644 index 00000000000..9dcc0fdea9f --- /dev/null +++ b/include/f/f_op/f_op_draw_tag/asm/func_800204D4.s @@ -0,0 +1,8 @@ +/* 800204D4 0001D414 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 800204D8 0001D418 7C 08 02 A6 */ mflr r0 +/* 800204DC 0001D41C 90 01 00 14 */ stw r0, 0x14(r1) +/* 800204E0 0001D420 48 24 63 AD */ bl cTg_SingleCutFromTree +/* 800204E4 0001D424 80 01 00 14 */ lwz r0, 0x14(r1) +/* 800204E8 0001D428 7C 08 03 A6 */ mtlr r0 +/* 800204EC 0001D42C 38 21 00 10 */ addi r1, r1, 0x10 +/* 800204F0 0001D430 4E 80 00 20 */ blr diff --git a/include/f/f_op/f_op_draw_tag/asm/func_800204F4.s b/include/f/f_op/f_op_draw_tag/asm/func_800204F4.s new file mode 100644 index 00000000000..b4d0946fbe1 --- /dev/null +++ b/include/f/f_op/f_op_draw_tag/asm/func_800204F4.s @@ -0,0 +1,9 @@ +/* 800204F4 0001D434 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 800204F8 0001D438 7C 08 02 A6 */ mflr r0 +/* 800204FC 0001D43C 90 01 00 14 */ stw r0, 0x14(r1) +/* 80020500 0001D440 48 24 65 35 */ bl cTg_Create +/* 80020504 0001D444 38 60 00 01 */ li r3, 1 +/* 80020508 0001D448 80 01 00 14 */ lwz r0, 0x14(r1) +/* 8002050C 0001D44C 7C 08 03 A6 */ mtlr r0 +/* 80020510 0001D450 38 21 00 10 */ addi r1, r1, 0x10 +/* 80020514 0001D454 4E 80 00 20 */ blr diff --git a/include/f/f_op/f_op_draw_tag/asm/func_80020518.s b/include/f/f_op/f_op_draw_tag/asm/func_80020518.s new file mode 100644 index 00000000000..18bb008cae2 --- /dev/null +++ b/include/f/f_op/f_op_draw_tag/asm/func_80020518.s @@ -0,0 +1,12 @@ +/* 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) +/* 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 +/* 80020534 0001D474 48 24 5F B5 */ bl cTr_Create +/* 80020538 0001D478 80 01 00 14 */ lwz r0, 0x14(r1) +/* 8002053C 0001D47C 7C 08 03 A6 */ mtlr r0 +/* 80020540 0001D480 38 21 00 10 */ addi r1, r1, 0x10 +/* 80020544 0001D484 4E 80 00 20 */ blr diff --git a/obj_files.mk b/obj_files.mk index c7425a30593..4837ad75650 100644 --- a/obj_files.mk +++ b/obj_files.mk @@ -73,7 +73,7 @@ TEXT_O_FILES := \ $(BUILD_DIR)/asm/sdata2/f_op_msg_mng.o \ $(BUILD_DIR)/asm/f/op/msg/f_op_msg_mng.o \ $(BUILD_DIR)/src/f/f_op/f_op_draw_iter.o \ - $(BUILD_DIR)/asm/f/op/draw/f_op_draw_tag.o \ + $(BUILD_DIR)/src/f/f_op/f_op_draw_tag.o \ $(BUILD_DIR)/asm/f/op/scene/f_op_scene_pause.o \ $(BUILD_DIR)/src/f/f_pc/f_pc_base.o \ $(BUILD_DIR)/src/f/f_pc/f_pc_create_iter.o \ diff --git a/src/f/f_op/f_op_draw_tag.cpp b/src/f/f_op/f_op_draw_tag.cpp index 4bf93c8658d..0afb14a3a46 100644 --- a/src/f/f_op/f_op_draw_tag.cpp +++ b/src/f/f_op/f_op_draw_tag.cpp @@ -1 +1,53 @@ -// ok +/* f_op_draw_tag.cpp autogenerated by split.py v0.4 at 2021-02-15 20:18:52.463012 */ + +#include "global.h" + +// additional symbols needed for f_op_draw_tag.cpp +// autogenerated by split.py v0.4 at 2021-02-15 20:18:52.463040 +extern "C" { + void cTg_AdditionToTree(void); + void cTg_Create(void); + void cTg_SingleCutFromTree(void); + void cTr_Create(void); + void fopDwTg_CreateQueue(void); + void fopDwTg_DrawQTo(void); + void fopDwTg_Init(void); + 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 "C" { +// fopDwTg_ToDrawQ__FP16create_tag_classi +// fopDwTg_ToDrawQ(create_tag_class*, int) +asm void fopDwTg_ToDrawQ(void) { + nofralloc + #include "f/f_op/f_op_draw_tag/asm/func_800204AC.s" +} + +// fopDwTg_DrawQTo__FP16create_tag_class +// fopDwTg_DrawQTo(create_tag_class*) +asm void fopDwTg_DrawQTo(void) { + nofralloc + #include "f/f_op/f_op_draw_tag/asm/func_800204D4.s" +} + +// fopDwTg_Init__FP16create_tag_classPv +// fopDwTg_Init(create_tag_class*, void*) +asm void fopDwTg_Init(void) { + nofralloc + #include "f/f_op/f_op_draw_tag/asm/func_800204F4.s" +} + +// fopDwTg_CreateQueue__Fv +// fopDwTg_CreateQueue(void) +asm void fopDwTg_CreateQueue(void) { + nofralloc + #include "f/f_op/f_op_draw_tag/asm/func_80020518.s" +} + +};