From 442764cf681796bd08bbc8499bb60d1ec7c440bc Mon Sep 17 00:00:00 2001 From: lepelog Date: Fri, 9 Apr 2021 01:22:16 +0200 Subject: [PATCH] some f_op --- .../fopAcIt_Executor__FPFPvPv_iPv.s | 16 - .../fopAcIt_Judge__FPFPvPv_PvPv.s | 16 - .../fopAcTg_ActorQTo__FP16create_tag_class.s | 9 - .../fopAcTg_Init__FP16create_tag_classPv.s | 10 - .../fopAcTg_ToActorQ__FP16create_tag_class.s | 12 - .../fopCam_Delete__FP12camera_class.s | 23 -- .../fopCam_IsDelete__FP12camera_class.s | 23 -- .../f_op_camera_mng/fopCamM_Create__FisPv.s | 26 -- .../fopCamM_GetParam__FP12camera_class.s | 3 - .../f_op_draw_tag/fopDwTg_CreateQueue__Fv.s | 13 - .../fopDwTg_DrawQTo__FP16create_tag_class.s | 9 - .../fopDwTg_Init__FP16create_tag_classPv.s | 10 - .../fopDwTg_ToDrawQ__FP16create_tag_classi.s | 11 - .../f_op_overlap_mng/fopOvlpM_Cancel__Fv.s | 24 -- .../fopOvlpM_ClearOfReq__Fv.s | 16 - .../fopOvlpM_Done__FP18overlap_task_class.s | 10 - .../fopOvlpM_IsDoingReq__Fv.s | 12 - .../f_op_overlap_mng/fopOvlpM_IsDone__Fv.s | 16 - ...opOvlpM_IsOutReq__FP18overlap_task_class.s | 7 - .../f_op_overlap_mng/fopOvlpM_IsPeek__Fv.s | 9 - .../fopOvlpM_Management__Fv.s | 21 -- .../f_op_overlap_mng/fopOvlpM_Request__FsUs.s | 22 -- .../fopOvlpM_SceneIsStart__Fv.s | 19 -- .../fopOvlpM_SceneIsStop__Fv.s | 19 -- .../fopOvlpM_ToldAboutID__FUi.s | 7 - ...vlpReq_Cancel__FP21overlap_request_class.s | 12 - ...lpReq_Handler__FP21overlap_request_class.s | 47 --- ...PeektimeLimit__FP21overlap_request_class.s | 5 - ...eq_OverlapClr__FP21overlap_request_class.s | 27 -- ...eq_Request__FP21overlap_request_classsUs.s | 42 --- ...SetPeektime__FP21overlap_request_classUs.s | 6 - ..._phase_Create__FP21overlap_request_class.s | 21 -- ...eq_phase_Done__FP21overlap_request_class.s | 26 -- ...se_IsComplete__FP21overlap_request_class.s | 23 -- ...ase_IsCreated__FP21overlap_request_class.s | 28 -- ..._phase_IsDone__FP21overlap_request_class.s | 20 -- ...WaitOfFadeout__FP21overlap_request_class.s | 23 -- ...WaitOfFadeout__FP21overlap_request_class.s | 32 -- .../f_op_scene/fopScn_Draw__FP11scene_class.s | 11 - .../fopScn_Execute__FP11scene_class.s | 11 - asm/f_op/f_op_scene/fopScn_IsDelete__FPv.s | 11 - .../fopScnIt_Judge__FPFPvPv_PvPv.s | 16 - .../fopScnM_ChangeReq__FP11scene_classssUs.s | 26 -- .../fopScnM_CreateReq__FssUsUl.s | 19 -- .../fopScnM_DeleteReq__FP11scene_class.s | 19 -- .../f_op_scene_mng/fopScnM_Management__Fv.s | 9 - .../f_op_scene_mng/fopScnM_ReRequest__FsUl.s | 20 -- .../f_op_scene_mng/fopScnM_SearchByID__FUi.s | 13 - .../fopScnPause_Disable__FP11scene_class.s | 52 ---- .../fopScnPause_Enable__FP11scene_class.s | 22 -- .../fopScnTg_Init__FP15scene_tag_classPv.s | 9 - .../fopScnTg_QueueTo__FP15scene_tag_class.s | 9 - .../fopScnTg_ToQueue__FP15scene_tag_class.s | 12 - .../f_op_view/fopVw_Delete__FP10view_class.s | 11 - .../f_op_view/fopVw_Draw__FP10view_class.s | 11 - .../f_op_view/fopVw_Execute__FP10view_class.s | 11 - asm/f_op/f_op_view/fopVw_IsDelete__FPv.s | 11 - include/JSystem/JAudio2/JAUAudioArcLoader.h | 2 + include/SSystem/SComponent/c_request.h | 203 +++++++++++++ include/Z2AudioLib/Z2AudioArcLoader.h | 10 + include/Z2AudioLib/Z2Calc.h | 26 ++ include/f_op/f_op_actor.h | 45 ++- include/f_op/f_op_actor_iter.h | 12 +- include/f_op/f_op_actor_mng.h | 277 +++++++++++++++++- include/f_op/f_op_actor_tag.h | 10 +- include/f_op/f_op_camera.h | 12 +- include/f_op/f_op_camera_mng.h | 21 +- include/f_op/f_op_draw_iter.h | 12 +- include/f_op/f_op_draw_tag.h | 10 +- include/f_op/f_op_kankyo_mng.h | 14 +- include/f_op/f_op_msg_mng.h | 9 +- include/f_op/f_op_overlap.h | 8 +- include/f_op/f_op_overlap_mng.h | 26 +- include/f_op/f_op_overlap_req.h | 33 ++- include/f_op/f_op_scene.h | 19 +- include/f_op/f_op_scene_iter.h | 10 +- include/f_op/f_op_scene_mng.h | 16 +- include/f_op/f_op_scene_pause.h | 10 +- include/f_op/f_op_scene_req.h | 27 +- include/f_op/f_op_scene_tag.h | 15 +- include/f_op/f_op_view.h | 15 +- libs/SSystem/SComponent/c_request.cpp | 14 +- libs/Z2AudioLib/Z2AudioArcLoader.cpp | 10 - libs/Z2AudioLib/Z2Calc.cpp | 30 +- src/f_op/f_op_actor.cpp | 27 +- src/f_op/f_op_actor_iter.cpp | 64 ++-- src/f_op/f_op_actor_mng.cpp | 2 +- src/f_op/f_op_actor_tag.cpp | 73 +---- src/f_op/f_op_camera.cpp | 77 ++--- src/f_op/f_op_camera_mng.cpp | 54 +--- src/f_op/f_op_draw_iter.cpp | 12 +- src/f_op/f_op_draw_tag.cpp | 73 +---- src/f_op/f_op_kankyo_mng.cpp | 2 +- src/f_op/f_op_msg_mng.cpp | 2 +- src/f_op/f_op_overlap.cpp | 10 - src/f_op/f_op_overlap_mng.cpp | 174 +++++------ src/f_op/f_op_overlap_req.cpp | 226 +++++++------- src/f_op/f_op_scene.cpp | 62 ++-- src/f_op/f_op_scene_iter.cpp | 46 +-- src/f_op/f_op_scene_mng.cpp | 103 ++----- src/f_op/f_op_scene_pause.cpp | 64 ++-- src/f_op/f_op_scene_req.cpp | 2 +- src/f_op/f_op_scene_tag.cpp | 73 +---- src/f_op/f_op_view.cpp | 57 +--- 104 files changed, 1182 insertions(+), 1895 deletions(-) delete mode 100644 asm/f_op/f_op_actor_iter/fopAcIt_Executor__FPFPvPv_iPv.s delete mode 100644 asm/f_op/f_op_actor_iter/fopAcIt_Judge__FPFPvPv_PvPv.s delete mode 100644 asm/f_op/f_op_actor_tag/fopAcTg_ActorQTo__FP16create_tag_class.s delete mode 100644 asm/f_op/f_op_actor_tag/fopAcTg_Init__FP16create_tag_classPv.s delete mode 100644 asm/f_op/f_op_actor_tag/fopAcTg_ToActorQ__FP16create_tag_class.s delete mode 100644 asm/f_op/f_op_camera/fopCam_Delete__FP12camera_class.s delete mode 100644 asm/f_op/f_op_camera/fopCam_IsDelete__FP12camera_class.s delete mode 100644 asm/f_op/f_op_camera_mng/fopCamM_Create__FisPv.s delete mode 100644 asm/f_op/f_op_camera_mng/fopCamM_GetParam__FP12camera_class.s delete mode 100644 asm/f_op/f_op_draw_tag/fopDwTg_CreateQueue__Fv.s delete mode 100644 asm/f_op/f_op_draw_tag/fopDwTg_DrawQTo__FP16create_tag_class.s delete mode 100644 asm/f_op/f_op_draw_tag/fopDwTg_Init__FP16create_tag_classPv.s delete mode 100644 asm/f_op/f_op_draw_tag/fopDwTg_ToDrawQ__FP16create_tag_classi.s delete mode 100644 asm/f_op/f_op_overlap_mng/fopOvlpM_Cancel__Fv.s delete mode 100644 asm/f_op/f_op_overlap_mng/fopOvlpM_ClearOfReq__Fv.s delete mode 100644 asm/f_op/f_op_overlap_mng/fopOvlpM_Done__FP18overlap_task_class.s delete mode 100644 asm/f_op/f_op_overlap_mng/fopOvlpM_IsDoingReq__Fv.s delete mode 100644 asm/f_op/f_op_overlap_mng/fopOvlpM_IsDone__Fv.s delete mode 100644 asm/f_op/f_op_overlap_mng/fopOvlpM_IsOutReq__FP18overlap_task_class.s delete mode 100644 asm/f_op/f_op_overlap_mng/fopOvlpM_IsPeek__Fv.s delete mode 100644 asm/f_op/f_op_overlap_mng/fopOvlpM_Management__Fv.s delete mode 100644 asm/f_op/f_op_overlap_mng/fopOvlpM_Request__FsUs.s delete mode 100644 asm/f_op/f_op_overlap_mng/fopOvlpM_SceneIsStart__Fv.s delete mode 100644 asm/f_op/f_op_overlap_mng/fopOvlpM_SceneIsStop__Fv.s delete mode 100644 asm/f_op/f_op_overlap_mng/fopOvlpM_ToldAboutID__FUi.s delete mode 100644 asm/f_op/f_op_overlap_req/fopOvlpReq_Cancel__FP21overlap_request_class.s delete mode 100644 asm/f_op/f_op_overlap_req/fopOvlpReq_Handler__FP21overlap_request_class.s delete mode 100644 asm/f_op/f_op_overlap_req/fopOvlpReq_Is_PeektimeLimit__FP21overlap_request_class.s delete mode 100644 asm/f_op/f_op_overlap_req/fopOvlpReq_OverlapClr__FP21overlap_request_class.s delete mode 100644 asm/f_op/f_op_overlap_req/fopOvlpReq_Request__FP21overlap_request_classsUs.s delete mode 100644 asm/f_op/f_op_overlap_req/fopOvlpReq_SetPeektime__FP21overlap_request_classUs.s delete mode 100644 asm/f_op/f_op_overlap_req/fopOvlpReq_phase_Create__FP21overlap_request_class.s delete mode 100644 asm/f_op/f_op_overlap_req/fopOvlpReq_phase_Done__FP21overlap_request_class.s delete mode 100644 asm/f_op/f_op_overlap_req/fopOvlpReq_phase_IsComplete__FP21overlap_request_class.s delete mode 100644 asm/f_op/f_op_overlap_req/fopOvlpReq_phase_IsCreated__FP21overlap_request_class.s delete mode 100644 asm/f_op/f_op_overlap_req/fopOvlpReq_phase_IsDone__FP21overlap_request_class.s delete mode 100644 asm/f_op/f_op_overlap_req/fopOvlpReq_phase_IsWaitOfFadeout__FP21overlap_request_class.s delete mode 100644 asm/f_op/f_op_overlap_req/fopOvlpReq_phase_WaitOfFadeout__FP21overlap_request_class.s delete mode 100644 asm/f_op/f_op_scene/fopScn_Draw__FP11scene_class.s delete mode 100644 asm/f_op/f_op_scene/fopScn_Execute__FP11scene_class.s delete mode 100644 asm/f_op/f_op_scene/fopScn_IsDelete__FPv.s delete mode 100644 asm/f_op/f_op_scene_iter/fopScnIt_Judge__FPFPvPv_PvPv.s delete mode 100644 asm/f_op/f_op_scene_mng/fopScnM_ChangeReq__FP11scene_classssUs.s delete mode 100644 asm/f_op/f_op_scene_mng/fopScnM_CreateReq__FssUsUl.s delete mode 100644 asm/f_op/f_op_scene_mng/fopScnM_DeleteReq__FP11scene_class.s delete mode 100644 asm/f_op/f_op_scene_mng/fopScnM_Management__Fv.s delete mode 100644 asm/f_op/f_op_scene_mng/fopScnM_ReRequest__FsUl.s delete mode 100644 asm/f_op/f_op_scene_mng/fopScnM_SearchByID__FUi.s delete mode 100644 asm/f_op/f_op_scene_pause/fopScnPause_Disable__FP11scene_class.s delete mode 100644 asm/f_op/f_op_scene_pause/fopScnPause_Enable__FP11scene_class.s delete mode 100644 asm/f_op/f_op_scene_tag/fopScnTg_Init__FP15scene_tag_classPv.s delete mode 100644 asm/f_op/f_op_scene_tag/fopScnTg_QueueTo__FP15scene_tag_class.s delete mode 100644 asm/f_op/f_op_scene_tag/fopScnTg_ToQueue__FP15scene_tag_class.s delete mode 100644 asm/f_op/f_op_view/fopVw_Delete__FP10view_class.s delete mode 100644 asm/f_op/f_op_view/fopVw_Draw__FP10view_class.s delete mode 100644 asm/f_op/f_op_view/fopVw_Execute__FP10view_class.s delete mode 100644 asm/f_op/f_op_view/fopVw_IsDelete__FPv.s diff --git a/asm/f_op/f_op_actor_iter/fopAcIt_Executor__FPFPvPv_iPv.s b/asm/f_op/f_op_actor_iter/fopAcIt_Executor__FPFPvPv_iPv.s deleted file mode 100644 index 0f7a6a8046..0000000000 --- a/asm/f_op/f_op_actor_iter/fopAcIt_Executor__FPFPvPv_iPv.s +++ /dev/null @@ -1,16 +0,0 @@ -lbl_800197BC: -/* 800197BC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800197C0 7C 08 02 A6 */ mflr r0 -/* 800197C4 90 01 00 14 */ stw r0, 0x14(r1) -/* 800197C8 90 61 00 08 */ stw r3, 8(r1) -/* 800197CC 90 81 00 0C */ stw r4, 0xc(r1) -/* 800197D0 3C 60 80 3A */ lis r3, g_fopAcTg_Queue@ha /* 0x803A35E0@ha */ -/* 800197D4 38 63 35 E0 */ addi r3, r3, g_fopAcTg_Queue@l /* 0x803A35E0@l */ -/* 800197D8 3C 80 80 26 */ lis r4, cTgIt_MethodCall__FP16create_tag_classP13method_filter@ha /* 0x80266A7C@ha */ -/* 800197DC 38 84 6A 7C */ addi r4, r4, cTgIt_MethodCall__FP16create_tag_classP13method_filter@l /* 0x80266A7C@l */ -/* 800197E0 38 A1 00 08 */ addi r5, r1, 8 -/* 800197E4 48 24 C8 7D */ bl cLsIt_Method__FP15node_list_classPFP10node_classPv_iPv -/* 800197E8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800197EC 7C 08 03 A6 */ mtlr r0 -/* 800197F0 38 21 00 10 */ addi r1, r1, 0x10 -/* 800197F4 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_actor_iter/fopAcIt_Judge__FPFPvPv_PvPv.s b/asm/f_op/f_op_actor_iter/fopAcIt_Judge__FPFPvPv_PvPv.s deleted file mode 100644 index cdb3ae9991..0000000000 --- a/asm/f_op/f_op_actor_iter/fopAcIt_Judge__FPFPvPv_PvPv.s +++ /dev/null @@ -1,16 +0,0 @@ -lbl_800197F8: -/* 800197F8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800197FC 7C 08 02 A6 */ mflr r0 -/* 80019800 90 01 00 14 */ stw r0, 0x14(r1) -/* 80019804 90 61 00 08 */ stw r3, 8(r1) -/* 80019808 90 81 00 0C */ stw r4, 0xc(r1) -/* 8001980C 3C 60 80 3A */ lis r3, g_fopAcTg_Queue@ha /* 0x803A35E0@ha */ -/* 80019810 38 63 35 E0 */ addi r3, r3, g_fopAcTg_Queue@l /* 0x803A35E0@l */ -/* 80019814 3C 80 80 26 */ lis r4, cTgIt_JudgeFilter__FP16create_tag_classP12judge_filter@ha /* 0x80266AB0@ha */ -/* 80019818 38 84 6A B0 */ addi r4, r4, cTgIt_JudgeFilter__FP16create_tag_classP12judge_filter@l /* 0x80266AB0@l */ -/* 8001981C 38 A1 00 08 */ addi r5, r1, 8 -/* 80019820 48 24 C8 79 */ bl cLsIt_Judge__FP15node_list_classPFP10node_classPv_PvPv -/* 80019824 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80019828 7C 08 03 A6 */ mtlr r0 -/* 8001982C 38 21 00 10 */ addi r1, r1, 0x10 -/* 80019830 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_actor_tag/fopAcTg_ActorQTo__FP16create_tag_class.s b/asm/f_op/f_op_actor_tag/fopAcTg_ActorQTo__FP16create_tag_class.s deleted file mode 100644 index caf15ccb6c..0000000000 --- a/asm/f_op/f_op_actor_tag/fopAcTg_ActorQTo__FP16create_tag_class.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_80019860: -/* 80019860 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80019864 7C 08 02 A6 */ mflr r0 -/* 80019868 90 01 00 14 */ stw r0, 0x14(r1) -/* 8001986C 48 24 D0 21 */ bl cTg_SingleCutFromTree__FP16create_tag_class -/* 80019870 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80019874 7C 08 03 A6 */ mtlr r0 -/* 80019878 38 21 00 10 */ addi r1, r1, 0x10 -/* 8001987C 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_actor_tag/fopAcTg_Init__FP16create_tag_classPv.s b/asm/f_op/f_op_actor_tag/fopAcTg_Init__FP16create_tag_classPv.s deleted file mode 100644 index f0c139a10c..0000000000 --- a/asm/f_op/f_op_actor_tag/fopAcTg_Init__FP16create_tag_classPv.s +++ /dev/null @@ -1,10 +0,0 @@ -lbl_80019880: -/* 80019880 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80019884 7C 08 02 A6 */ mflr r0 -/* 80019888 90 01 00 14 */ stw r0, 0x14(r1) -/* 8001988C 48 24 D1 A9 */ bl cTg_Create__FP16create_tag_classPv -/* 80019890 38 60 00 01 */ li r3, 1 -/* 80019894 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80019898 7C 08 03 A6 */ mtlr r0 -/* 8001989C 38 21 00 10 */ addi r1, r1, 0x10 -/* 800198A0 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_actor_tag/fopAcTg_ToActorQ__FP16create_tag_class.s b/asm/f_op/f_op_actor_tag/fopAcTg_ToActorQ__FP16create_tag_class.s deleted file mode 100644 index 43fb87a753..0000000000 --- a/asm/f_op/f_op_actor_tag/fopAcTg_ToActorQ__FP16create_tag_class.s +++ /dev/null @@ -1,12 +0,0 @@ -lbl_80019834: -/* 80019834 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80019838 7C 08 02 A6 */ mflr r0 -/* 8001983C 90 01 00 14 */ stw r0, 0x14(r1) -/* 80019840 7C 64 1B 78 */ mr r4, r3 -/* 80019844 3C 60 80 3A */ lis r3, g_fopAcTg_Queue@ha /* 0x803A35E0@ha */ -/* 80019848 38 63 35 E0 */ addi r3, r3, g_fopAcTg_Queue@l /* 0x803A35E0@l */ -/* 8001984C 48 24 D1 99 */ bl cTg_Addition__FP15node_list_classP16create_tag_class -/* 80019850 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80019854 7C 08 03 A6 */ mtlr r0 -/* 80019858 38 21 00 10 */ addi r1, r1, 0x10 -/* 8001985C 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_camera/fopCam_Delete__FP12camera_class.s b/asm/f_op/f_op_camera/fopCam_Delete__FP12camera_class.s deleted file mode 100644 index 861392d132..0000000000 --- a/asm/f_op/f_op_camera/fopCam_Delete__FP12camera_class.s +++ /dev/null @@ -1,23 +0,0 @@ -lbl_8001E21C: -/* 8001E21C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8001E220 7C 08 02 A6 */ mflr r0 -/* 8001E224 90 01 00 14 */ stw r0, 0x14(r1) -/* 8001E228 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8001E22C 93 C1 00 08 */ stw r30, 8(r1) -/* 8001E230 7C 7E 1B 78 */ mr r30, r3 -/* 8001E234 80 63 02 24 */ lwz r3, 0x224(r3) -/* 8001E238 7F C4 F3 78 */ mr r4, r30 -/* 8001E23C 48 00 42 6D */ bl fpcMtd_Delete__FP20process_method_classPv -/* 8001E240 7C 7F 1B 78 */ mr r31, r3 -/* 8001E244 2C 1F 00 01 */ cmpwi r31, 1 -/* 8001E248 40 82 00 0C */ bne lbl_8001E254 -/* 8001E24C 38 7E 02 10 */ addi r3, r30, 0x210 -/* 8001E250 48 00 22 85 */ bl fopDwTg_DrawQTo__FP16create_tag_class -lbl_8001E254: -/* 8001E254 7F E3 FB 78 */ mr r3, r31 -/* 8001E258 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8001E25C 83 C1 00 08 */ lwz r30, 8(r1) -/* 8001E260 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8001E264 7C 08 03 A6 */ mtlr r0 -/* 8001E268 38 21 00 10 */ addi r1, r1, 0x10 -/* 8001E26C 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_camera/fopCam_IsDelete__FP12camera_class.s b/asm/f_op/f_op_camera/fopCam_IsDelete__FP12camera_class.s deleted file mode 100644 index 5443d8c40d..0000000000 --- a/asm/f_op/f_op_camera/fopCam_IsDelete__FP12camera_class.s +++ /dev/null @@ -1,23 +0,0 @@ -lbl_8001E1C8: -/* 8001E1C8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8001E1CC 7C 08 02 A6 */ mflr r0 -/* 8001E1D0 90 01 00 14 */ stw r0, 0x14(r1) -/* 8001E1D4 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8001E1D8 93 C1 00 08 */ stw r30, 8(r1) -/* 8001E1DC 7C 7E 1B 78 */ mr r30, r3 -/* 8001E1E0 80 63 02 24 */ lwz r3, 0x224(r3) -/* 8001E1E4 7F C4 F3 78 */ mr r4, r30 -/* 8001E1E8 48 00 42 9D */ bl fpcMtd_IsDelete__FP20process_method_classPv -/* 8001E1EC 7C 7F 1B 78 */ mr r31, r3 -/* 8001E1F0 2C 1F 00 01 */ cmpwi r31, 1 -/* 8001E1F4 40 82 00 0C */ bne lbl_8001E200 -/* 8001E1F8 38 7E 02 10 */ addi r3, r30, 0x210 -/* 8001E1FC 48 00 22 D9 */ bl fopDwTg_DrawQTo__FP16create_tag_class -lbl_8001E200: -/* 8001E200 7F E3 FB 78 */ mr r3, r31 -/* 8001E204 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8001E208 83 C1 00 08 */ lwz r30, 8(r1) -/* 8001E20C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8001E210 7C 08 03 A6 */ mtlr r0 -/* 8001E214 38 21 00 10 */ addi r1, r1, 0x10 -/* 8001E218 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_camera_mng/fopCamM_Create__FisPv.s b/asm/f_op/f_op_camera_mng/fopCamM_Create__FisPv.s deleted file mode 100644 index b1d2851636..0000000000 --- a/asm/f_op/f_op_camera_mng/fopCamM_Create__FisPv.s +++ /dev/null @@ -1,26 +0,0 @@ -lbl_8001E310: -/* 8001E310 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8001E314 7C 08 02 A6 */ mflr r0 -/* 8001E318 90 01 00 24 */ stw r0, 0x24(r1) -/* 8001E31C 39 61 00 20 */ addi r11, r1, 0x20 -/* 8001E320 48 34 3E BD */ bl _savegpr_29 -/* 8001E324 7C 7D 1B 78 */ mr r29, r3 -/* 8001E328 7C 9E 23 78 */ mr r30, r4 -/* 8001E32C 7C BF 2B 78 */ mr r31, r5 -/* 8001E330 48 00 33 C5 */ bl fpcLy_CurrentLayer__Fv -/* 8001E334 7F C4 F3 78 */ mr r4, r30 -/* 8001E338 38 A0 00 00 */ li r5, 0 -/* 8001E33C 38 C0 00 00 */ li r6, 0 -/* 8001E340 7F E7 FB 78 */ mr r7, r31 -/* 8001E344 48 00 5A 51 */ bl fpcSCtRq_Request__FP11layer_classsPFPvPv_iPvPv -/* 8001E348 57 A0 10 3A */ slwi r0, r29, 2 -/* 8001E34C 3C 80 80 3F */ lis r4, l_fopCamM_id@ha /* 0x803F1DD8@ha */ -/* 8001E350 38 84 1D D8 */ addi r4, r4, l_fopCamM_id@l /* 0x803F1DD8@l */ -/* 8001E354 7C 64 01 2E */ stwx r3, r4, r0 -/* 8001E358 7C 64 00 2E */ lwzx r3, r4, r0 -/* 8001E35C 39 61 00 20 */ addi r11, r1, 0x20 -/* 8001E360 48 34 3E C9 */ bl _restgpr_29 -/* 8001E364 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8001E368 7C 08 03 A6 */ mtlr r0 -/* 8001E36C 38 21 00 20 */ addi r1, r1, 0x20 -/* 8001E370 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_camera_mng/fopCamM_GetParam__FP12camera_class.s b/asm/f_op/f_op_camera_mng/fopCamM_GetParam__FP12camera_class.s deleted file mode 100644 index 0bfb356782..0000000000 --- a/asm/f_op/f_op_camera_mng/fopCamM_GetParam__FP12camera_class.s +++ /dev/null @@ -1,3 +0,0 @@ -lbl_8001E308: -/* 8001E308 80 63 00 B0 */ lwz r3, 0xb0(r3) -/* 8001E30C 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_draw_tag/fopDwTg_CreateQueue__Fv.s b/asm/f_op/f_op_draw_tag/fopDwTg_CreateQueue__Fv.s deleted file mode 100644 index 03822c5c9d..0000000000 --- a/asm/f_op/f_op_draw_tag/fopDwTg_CreateQueue__Fv.s +++ /dev/null @@ -1,13 +0,0 @@ -lbl_80020518: -/* 80020518 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8002051C 7C 08 02 A6 */ mflr r0 -/* 80020520 90 01 00 14 */ stw r0, 0x14(r1) -/* 80020524 38 6D 80 50 */ la r3, g_fopDwTg_Queue(r13) /* 804505D0-_SDA_BASE_ */ -/* 80020528 3C 80 80 3F */ lis r4, lists@ha /* 0x803F1E10@ha */ -/* 8002052C 38 84 1E 10 */ addi r4, r4, lists@l /* 0x803F1E10@l */ -/* 80020530 38 A0 03 E8 */ li r5, 0x3e8 -/* 80020534 48 24 5F B5 */ bl cTr_Create__FP21node_lists_tree_classP15node_list_classi -/* 80020538 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8002053C 7C 08 03 A6 */ mtlr r0 -/* 80020540 38 21 00 10 */ addi r1, r1, 0x10 -/* 80020544 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_draw_tag/fopDwTg_DrawQTo__FP16create_tag_class.s b/asm/f_op/f_op_draw_tag/fopDwTg_DrawQTo__FP16create_tag_class.s deleted file mode 100644 index 4a36b27771..0000000000 --- a/asm/f_op/f_op_draw_tag/fopDwTg_DrawQTo__FP16create_tag_class.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_800204D4: -/* 800204D4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800204D8 7C 08 02 A6 */ mflr r0 -/* 800204DC 90 01 00 14 */ stw r0, 0x14(r1) -/* 800204E0 48 24 63 AD */ bl cTg_SingleCutFromTree__FP16create_tag_class -/* 800204E4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800204E8 7C 08 03 A6 */ mtlr r0 -/* 800204EC 38 21 00 10 */ addi r1, r1, 0x10 -/* 800204F0 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_draw_tag/fopDwTg_Init__FP16create_tag_classPv.s b/asm/f_op/f_op_draw_tag/fopDwTg_Init__FP16create_tag_classPv.s deleted file mode 100644 index fd89812ed5..0000000000 --- a/asm/f_op/f_op_draw_tag/fopDwTg_Init__FP16create_tag_classPv.s +++ /dev/null @@ -1,10 +0,0 @@ -lbl_800204F4: -/* 800204F4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800204F8 7C 08 02 A6 */ mflr r0 -/* 800204FC 90 01 00 14 */ stw r0, 0x14(r1) -/* 80020500 48 24 65 35 */ bl cTg_Create__FP16create_tag_classPv -/* 80020504 38 60 00 01 */ li r3, 1 -/* 80020508 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8002050C 7C 08 03 A6 */ mtlr r0 -/* 80020510 38 21 00 10 */ addi r1, r1, 0x10 -/* 80020514 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_draw_tag/fopDwTg_ToDrawQ__FP16create_tag_classi.s b/asm/f_op/f_op_draw_tag/fopDwTg_ToDrawQ__FP16create_tag_classi.s deleted file mode 100644 index b5ec8860fc..0000000000 --- a/asm/f_op/f_op_draw_tag/fopDwTg_ToDrawQ__FP16create_tag_classi.s +++ /dev/null @@ -1,11 +0,0 @@ -lbl_800204AC: -/* 800204AC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800204B0 7C 08 02 A6 */ mflr r0 -/* 800204B4 90 01 00 14 */ stw r0, 0x14(r1) -/* 800204B8 7C 65 1B 78 */ mr r5, r3 -/* 800204BC 38 6D 80 50 */ la r3, g_fopDwTg_Queue(r13) /* 804505D0-_SDA_BASE_ */ -/* 800204C0 48 24 64 0D */ bl cTg_AdditionToTree__FP21node_lists_tree_classiP16create_tag_class -/* 800204C4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800204C8 7C 08 03 A6 */ mtlr r0 -/* 800204CC 38 21 00 10 */ addi r1, r1, 0x10 -/* 800204D0 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_overlap_mng/fopOvlpM_Cancel__Fv.s b/asm/f_op/f_op_overlap_mng/fopOvlpM_Cancel__Fv.s deleted file mode 100644 index e83d3c43d5..0000000000 --- a/asm/f_op/f_op_overlap_mng/fopOvlpM_Cancel__Fv.s +++ /dev/null @@ -1,24 +0,0 @@ -lbl_8001E698: -/* 8001E698 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8001E69C 7C 08 02 A6 */ mflr r0 -/* 8001E6A0 90 01 00 14 */ stw r0, 0x14(r1) -/* 8001E6A4 80 6D 80 30 */ lwz r3, l_fopOvlpM_overlap(r13) -/* 8001E6A8 28 03 00 00 */ cmplwi r3, 0 -/* 8001E6AC 40 82 00 0C */ bne lbl_8001E6B8 -/* 8001E6B0 38 60 00 01 */ li r3, 1 -/* 8001E6B4 48 00 00 24 */ b lbl_8001E6D8 -lbl_8001E6B8: -/* 8001E6B8 48 00 03 D1 */ bl fopOvlpReq_Cancel__FP21overlap_request_class -/* 8001E6BC 2C 03 00 01 */ cmpwi r3, 1 -/* 8001E6C0 40 82 00 14 */ bne lbl_8001E6D4 -/* 8001E6C4 38 00 00 00 */ li r0, 0 -/* 8001E6C8 90 0D 80 30 */ stw r0, l_fopOvlpM_overlap(r13) -/* 8001E6CC 38 60 00 01 */ li r3, 1 -/* 8001E6D0 48 00 00 08 */ b lbl_8001E6D8 -lbl_8001E6D4: -/* 8001E6D4 38 60 00 00 */ li r3, 0 -lbl_8001E6D8: -/* 8001E6D8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8001E6DC 7C 08 03 A6 */ mtlr r0 -/* 8001E6E0 38 21 00 10 */ addi r1, r1, 0x10 -/* 8001E6E4 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_overlap_mng/fopOvlpM_ClearOfReq__Fv.s b/asm/f_op/f_op_overlap_mng/fopOvlpM_ClearOfReq__Fv.s deleted file mode 100644 index d83b536284..0000000000 --- a/asm/f_op/f_op_overlap_mng/fopOvlpM_ClearOfReq__Fv.s +++ /dev/null @@ -1,16 +0,0 @@ -lbl_8001E5D0: -/* 8001E5D0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8001E5D4 7C 08 02 A6 */ mflr r0 -/* 8001E5D8 90 01 00 14 */ stw r0, 0x14(r1) -/* 8001E5DC 80 6D 80 30 */ lwz r3, l_fopOvlpM_overlap(r13) -/* 8001E5E0 28 03 00 00 */ cmplwi r3, 0 -/* 8001E5E4 41 82 00 0C */ beq lbl_8001E5F0 -/* 8001E5E8 48 00 04 F1 */ bl fopOvlpReq_OverlapClr__FP21overlap_request_class -/* 8001E5EC 48 00 00 08 */ b lbl_8001E5F4 -lbl_8001E5F0: -/* 8001E5F0 38 60 00 00 */ li r3, 0 -lbl_8001E5F4: -/* 8001E5F4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8001E5F8 7C 08 03 A6 */ mtlr r0 -/* 8001E5FC 38 21 00 10 */ addi r1, r1, 0x10 -/* 8001E600 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_overlap_mng/fopOvlpM_Done__FP18overlap_task_class.s b/asm/f_op/f_op_overlap_mng/fopOvlpM_Done__FP18overlap_task_class.s deleted file mode 100644 index 0f74b3df00..0000000000 --- a/asm/f_op/f_op_overlap_mng/fopOvlpM_Done__FP18overlap_task_class.s +++ /dev/null @@ -1,10 +0,0 @@ -lbl_8001E51C: -/* 8001E51C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8001E520 7C 08 02 A6 */ mflr r0 -/* 8001E524 90 01 00 14 */ stw r0, 0x14(r1) -/* 8001E528 38 63 00 C4 */ addi r3, r3, 0xc4 -/* 8001E52C 48 24 82 D5 */ bl cReq_Done__FP18request_base_class -/* 8001E530 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8001E534 7C 08 03 A6 */ mtlr r0 -/* 8001E538 38 21 00 10 */ addi r1, r1, 0x10 -/* 8001E53C 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_overlap_mng/fopOvlpM_IsDoingReq__Fv.s b/asm/f_op/f_op_overlap_mng/fopOvlpM_IsDoingReq__Fv.s deleted file mode 100644 index 65a1145cd6..0000000000 --- a/asm/f_op/f_op_overlap_mng/fopOvlpM_IsDoingReq__Fv.s +++ /dev/null @@ -1,12 +0,0 @@ -lbl_8001E5A8: -/* 8001E5A8 80 6D 80 30 */ lwz r3, l_fopOvlpM_overlap(r13) -/* 8001E5AC 28 03 00 00 */ cmplwi r3, 0 -/* 8001E5B0 41 82 00 18 */ beq lbl_8001E5C8 -/* 8001E5B4 A0 03 00 04 */ lhz r0, 4(r3) -/* 8001E5B8 28 00 00 01 */ cmplwi r0, 1 -/* 8001E5BC 40 82 00 0C */ bne lbl_8001E5C8 -/* 8001E5C0 38 60 00 01 */ li r3, 1 -/* 8001E5C4 4E 80 00 20 */ blr -lbl_8001E5C8: -/* 8001E5C8 38 60 00 00 */ li r3, 0 -/* 8001E5CC 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_overlap_mng/fopOvlpM_IsDone__Fv.s b/asm/f_op/f_op_overlap_mng/fopOvlpM_IsDone__Fv.s deleted file mode 100644 index 86ea8f4025..0000000000 --- a/asm/f_op/f_op_overlap_mng/fopOvlpM_IsDone__Fv.s +++ /dev/null @@ -1,16 +0,0 @@ -lbl_8001E574: -/* 8001E574 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8001E578 7C 08 02 A6 */ mflr r0 -/* 8001E57C 90 01 00 14 */ stw r0, 0x14(r1) -/* 8001E580 80 6D 80 30 */ lwz r3, l_fopOvlpM_overlap(r13) -/* 8001E584 28 03 00 00 */ cmplwi r3, 0 -/* 8001E588 41 82 00 0C */ beq lbl_8001E594 -/* 8001E58C 48 24 82 49 */ bl cReq_Is_Done__FP18request_base_class -/* 8001E590 48 00 00 08 */ b lbl_8001E598 -lbl_8001E594: -/* 8001E594 38 60 00 00 */ li r3, 0 -lbl_8001E598: -/* 8001E598 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8001E59C 7C 08 03 A6 */ mtlr r0 -/* 8001E5A0 38 21 00 10 */ addi r1, r1, 0x10 -/* 8001E5A4 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_overlap_mng/fopOvlpM_IsOutReq__FP18overlap_task_class.s b/asm/f_op/f_op_overlap_mng/fopOvlpM_IsOutReq__FP18overlap_task_class.s deleted file mode 100644 index ad5632ef99..0000000000 --- a/asm/f_op/f_op_overlap_mng/fopOvlpM_IsOutReq__FP18overlap_task_class.s +++ /dev/null @@ -1,7 +0,0 @@ -lbl_8001E504: -/* 8001E504 88 03 00 C4 */ lbz r0, 0xc4(r3) -/* 8001E508 54 00 06 BE */ clrlwi r0, r0, 0x1a -/* 8001E50C 20 00 00 02 */ subfic r0, r0, 2 -/* 8001E510 7C 00 00 34 */ cntlzw r0, r0 -/* 8001E514 54 03 DE 3E */ rlwinm r3, r0, 0x1b, 0x18, 0x1f -/* 8001E518 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_overlap_mng/fopOvlpM_IsPeek__Fv.s b/asm/f_op/f_op_overlap_mng/fopOvlpM_IsPeek__Fv.s deleted file mode 100644 index 01735e087b..0000000000 --- a/asm/f_op/f_op_overlap_mng/fopOvlpM_IsPeek__Fv.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_8001E558: -/* 8001E558 80 6D 80 30 */ lwz r3, l_fopOvlpM_overlap(r13) -/* 8001E55C 28 03 00 00 */ cmplwi r3, 0 -/* 8001E560 41 82 00 0C */ beq lbl_8001E56C -/* 8001E564 80 63 00 08 */ lwz r3, 8(r3) -/* 8001E568 4E 80 00 20 */ blr -lbl_8001E56C: -/* 8001E56C 38 60 00 00 */ li r3, 0 -/* 8001E570 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_overlap_mng/fopOvlpM_Management__Fv.s b/asm/f_op/f_op_overlap_mng/fopOvlpM_Management__Fv.s deleted file mode 100644 index 85d33820c8..0000000000 --- a/asm/f_op/f_op_overlap_mng/fopOvlpM_Management__Fv.s +++ /dev/null @@ -1,21 +0,0 @@ -lbl_8001E650: -/* 8001E650 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8001E654 7C 08 02 A6 */ mflr r0 -/* 8001E658 90 01 00 14 */ stw r0, 0x14(r1) -/* 8001E65C 80 6D 80 30 */ lwz r3, l_fopOvlpM_overlap(r13) -/* 8001E660 28 03 00 00 */ cmplwi r3, 0 -/* 8001E664 41 82 00 24 */ beq lbl_8001E688 -/* 8001E668 48 00 03 89 */ bl fopOvlpReq_Handler__FP21overlap_request_class -/* 8001E66C 2C 03 00 06 */ cmpwi r3, 6 -/* 8001E670 40 80 00 18 */ bge lbl_8001E688 -/* 8001E674 2C 03 00 03 */ cmpwi r3, 3 -/* 8001E678 40 80 00 08 */ bge lbl_8001E680 -/* 8001E67C 48 00 00 0C */ b lbl_8001E688 -lbl_8001E680: -/* 8001E680 38 00 00 00 */ li r0, 0 -/* 8001E684 90 0D 80 30 */ stw r0, l_fopOvlpM_overlap(r13) -lbl_8001E688: -/* 8001E688 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8001E68C 7C 08 03 A6 */ mtlr r0 -/* 8001E690 38 21 00 10 */ addi r1, r1, 0x10 -/* 8001E694 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_overlap_mng/fopOvlpM_Request__FsUs.s b/asm/f_op/f_op_overlap_mng/fopOvlpM_Request__FsUs.s deleted file mode 100644 index c53e27933c..0000000000 --- a/asm/f_op/f_op_overlap_mng/fopOvlpM_Request__FsUs.s +++ /dev/null @@ -1,22 +0,0 @@ -lbl_8001E604: -/* 8001E604 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8001E608 7C 08 02 A6 */ mflr r0 -/* 8001E60C 90 01 00 14 */ stw r0, 0x14(r1) -/* 8001E610 7C 66 1B 78 */ mr r6, r3 -/* 8001E614 7C 85 23 78 */ mr r5, r4 -/* 8001E618 80 0D 80 30 */ lwz r0, l_fopOvlpM_overlap(r13) -/* 8001E61C 28 00 00 00 */ cmplwi r0, 0 -/* 8001E620 40 82 00 1C */ bne lbl_8001E63C -/* 8001E624 3C 60 80 3F */ lis r3, l_fopOvlpM_Request@ha /* 0x803F1DE8@ha */ -/* 8001E628 38 63 1D E8 */ addi r3, r3, l_fopOvlpM_Request@l /* 0x803F1DE8@l */ -/* 8001E62C 7C C4 33 78 */ mr r4, r6 -/* 8001E630 48 00 03 25 */ bl fopOvlpReq_Request__FP21overlap_request_classsUs -/* 8001E634 90 6D 80 30 */ stw r3, l_fopOvlpM_overlap(r13) -/* 8001E638 48 00 00 08 */ b lbl_8001E640 -lbl_8001E63C: -/* 8001E63C 38 60 00 00 */ li r3, 0 -lbl_8001E640: -/* 8001E640 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8001E644 7C 08 03 A6 */ mtlr r0 -/* 8001E648 38 21 00 10 */ addi r1, r1, 0x10 -/* 8001E64C 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_overlap_mng/fopOvlpM_SceneIsStart__Fv.s b/asm/f_op/f_op_overlap_mng/fopOvlpM_SceneIsStart__Fv.s deleted file mode 100644 index 82871eba4a..0000000000 --- a/asm/f_op/f_op_overlap_mng/fopOvlpM_SceneIsStart__Fv.s +++ /dev/null @@ -1,19 +0,0 @@ -lbl_8001E4C4: -/* 8001E4C4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8001E4C8 7C 08 02 A6 */ mflr r0 -/* 8001E4CC 90 01 00 14 */ stw r0, 0x14(r1) -/* 8001E4D0 80 6D 80 30 */ lwz r3, l_fopOvlpM_overlap(r13) -/* 8001E4D4 28 03 00 00 */ cmplwi r3, 0 -/* 8001E4D8 41 82 00 18 */ beq lbl_8001E4F0 -/* 8001E4DC 80 63 00 20 */ lwz r3, 0x20(r3) -/* 8001E4E0 80 63 00 C8 */ lwz r3, 0xc8(r3) -/* 8001E4E4 48 00 2E 75 */ bl fpcEx_SearchByID__FUi -/* 8001E4E8 48 00 20 AD */ bl fopScnPause_Disable__FP11scene_class -/* 8001E4EC 48 00 00 08 */ b lbl_8001E4F4 -lbl_8001E4F0: -/* 8001E4F0 38 60 00 00 */ li r3, 0 -lbl_8001E4F4: -/* 8001E4F4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8001E4F8 7C 08 03 A6 */ mtlr r0 -/* 8001E4FC 38 21 00 10 */ addi r1, r1, 0x10 -/* 8001E500 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_overlap_mng/fopOvlpM_SceneIsStop__Fv.s b/asm/f_op/f_op_overlap_mng/fopOvlpM_SceneIsStop__Fv.s deleted file mode 100644 index e6002bccc9..0000000000 --- a/asm/f_op/f_op_overlap_mng/fopOvlpM_SceneIsStop__Fv.s +++ /dev/null @@ -1,19 +0,0 @@ -lbl_8001E484: -/* 8001E484 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8001E488 7C 08 02 A6 */ mflr r0 -/* 8001E48C 90 01 00 14 */ stw r0, 0x14(r1) -/* 8001E490 80 6D 80 30 */ lwz r3, l_fopOvlpM_overlap(r13) -/* 8001E494 28 03 00 00 */ cmplwi r3, 0 -/* 8001E498 41 82 00 18 */ beq lbl_8001E4B0 -/* 8001E49C 80 63 00 20 */ lwz r3, 0x20(r3) -/* 8001E4A0 80 63 00 C8 */ lwz r3, 0xc8(r3) -/* 8001E4A4 48 00 2E B5 */ bl fpcEx_SearchByID__FUi -/* 8001E4A8 48 00 20 A1 */ bl fopScnPause_Enable__FP11scene_class -/* 8001E4AC 48 00 00 08 */ b lbl_8001E4B4 -lbl_8001E4B0: -/* 8001E4B0 38 60 00 00 */ li r3, 0 -lbl_8001E4B4: -/* 8001E4B4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8001E4B8 7C 08 03 A6 */ mtlr r0 -/* 8001E4BC 38 21 00 10 */ addi r1, r1, 0x10 -/* 8001E4C0 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_overlap_mng/fopOvlpM_ToldAboutID__FUi.s b/asm/f_op/f_op_overlap_mng/fopOvlpM_ToldAboutID__FUi.s deleted file mode 100644 index 812d180364..0000000000 --- a/asm/f_op/f_op_overlap_mng/fopOvlpM_ToldAboutID__FUi.s +++ /dev/null @@ -1,7 +0,0 @@ -lbl_8001E540: -/* 8001E540 80 8D 80 30 */ lwz r4, l_fopOvlpM_overlap(r13) -/* 8001E544 28 04 00 00 */ cmplwi r4, 0 -/* 8001E548 4D 82 00 20 */ beqlr -/* 8001E54C 80 84 00 20 */ lwz r4, 0x20(r4) -/* 8001E550 90 64 00 C8 */ stw r3, 0xc8(r4) -/* 8001E554 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_overlap_req/fopOvlpReq_Cancel__FP21overlap_request_class.s b/asm/f_op/f_op_overlap_req/fopOvlpReq_Cancel__FP21overlap_request_class.s deleted file mode 100644 index 7102487796..0000000000 --- a/asm/f_op/f_op_overlap_req/fopOvlpReq_Cancel__FP21overlap_request_class.s +++ /dev/null @@ -1,12 +0,0 @@ -lbl_8001EA88: -/* 8001EA88 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8001EA8C 7C 08 02 A6 */ mflr r0 -/* 8001EA90 90 01 00 14 */ stw r0, 0x14(r1) -/* 8001EA94 4B FF FC 59 */ bl fopOvlpReq_phase_Done__FP21overlap_request_class -/* 8001EA98 20 03 00 02 */ subfic r0, r3, 2 -/* 8001EA9C 7C 00 00 34 */ cntlzw r0, r0 -/* 8001EAA0 54 03 D9 7E */ srwi r3, r0, 5 -/* 8001EAA4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8001EAA8 7C 08 03 A6 */ mtlr r0 -/* 8001EAAC 38 21 00 10 */ addi r1, r1, 0x10 -/* 8001EAB0 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_overlap_req/fopOvlpReq_Handler__FP21overlap_request_class.s b/asm/f_op/f_op_overlap_req/fopOvlpReq_Handler__FP21overlap_request_class.s deleted file mode 100644 index 3610bdb611..0000000000 --- a/asm/f_op/f_op_overlap_req/fopOvlpReq_Handler__FP21overlap_request_class.s +++ /dev/null @@ -1,47 +0,0 @@ -lbl_8001E9F0: -/* 8001E9F0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8001E9F4 7C 08 02 A6 */ mflr r0 -/* 8001E9F8 90 01 00 14 */ stw r0, 0x14(r1) -/* 8001E9FC 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8001EA00 7C 7F 1B 78 */ mr r31, r3 -/* 8001EA04 38 7F 00 18 */ addi r3, r31, 0x18 -/* 8001EA08 7F E4 FB 78 */ mr r4, r31 -/* 8001EA0C 48 24 7C CD */ bl cPhs_Do__FP30request_of_phase_process_classPv -/* 8001EA10 2C 03 00 03 */ cmpwi r3, 3 -/* 8001EA14 41 82 00 54 */ beq lbl_8001EA68 -/* 8001EA18 40 80 00 1C */ bge lbl_8001EA34 -/* 8001EA1C 2C 03 00 01 */ cmpwi r3, 1 -/* 8001EA20 41 82 00 38 */ beq lbl_8001EA58 -/* 8001EA24 40 80 00 20 */ bge lbl_8001EA44 -/* 8001EA28 2C 03 00 00 */ cmpwi r3, 0 -/* 8001EA2C 40 80 00 24 */ bge lbl_8001EA50 -/* 8001EA30 48 00 00 40 */ b lbl_8001EA70 -lbl_8001EA34: -/* 8001EA34 2C 03 00 05 */ cmpwi r3, 5 -/* 8001EA38 41 82 00 30 */ beq lbl_8001EA68 -/* 8001EA3C 40 80 00 34 */ bge lbl_8001EA70 -/* 8001EA40 48 00 00 20 */ b lbl_8001EA60 -lbl_8001EA44: -/* 8001EA44 7F E3 FB 78 */ mr r3, r31 -/* 8001EA48 4B FF FF A9 */ bl fopOvlpReq_Handler__FP21overlap_request_class -/* 8001EA4C 48 00 00 28 */ b lbl_8001EA74 -lbl_8001EA50: -/* 8001EA50 38 60 00 00 */ li r3, 0 -/* 8001EA54 48 00 00 20 */ b lbl_8001EA74 -lbl_8001EA58: -/* 8001EA58 38 60 00 00 */ li r3, 0 -/* 8001EA5C 48 00 00 18 */ b lbl_8001EA74 -lbl_8001EA60: -/* 8001EA60 38 60 00 04 */ li r3, 4 -/* 8001EA64 48 00 00 10 */ b lbl_8001EA74 -lbl_8001EA68: -/* 8001EA68 38 60 00 05 */ li r3, 5 -/* 8001EA6C 48 00 00 08 */ b lbl_8001EA74 -lbl_8001EA70: -/* 8001EA70 38 60 00 05 */ li r3, 5 -lbl_8001EA74: -/* 8001EA74 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8001EA78 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8001EA7C 7C 08 03 A6 */ mtlr r0 -/* 8001EA80 38 21 00 10 */ addi r1, r1, 0x10 -/* 8001EA84 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_overlap_req/fopOvlpReq_Is_PeektimeLimit__FP21overlap_request_class.s b/asm/f_op/f_op_overlap_req/fopOvlpReq_Is_PeektimeLimit__FP21overlap_request_class.s deleted file mode 100644 index 1d2d49fa01..0000000000 --- a/asm/f_op/f_op_overlap_req/fopOvlpReq_Is_PeektimeLimit__FP21overlap_request_class.s +++ /dev/null @@ -1,5 +0,0 @@ -lbl_8001EAB4: -/* 8001EAB4 A0 03 00 06 */ lhz r0, 6(r3) -/* 8001EAB8 7C 00 00 34 */ cntlzw r0, r0 -/* 8001EABC 54 03 D9 7E */ srwi r3, r0, 5 -/* 8001EAC0 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_overlap_req/fopOvlpReq_OverlapClr__FP21overlap_request_class.s b/asm/f_op/f_op_overlap_req/fopOvlpReq_OverlapClr__FP21overlap_request_class.s deleted file mode 100644 index 032a379062..0000000000 --- a/asm/f_op/f_op_overlap_req/fopOvlpReq_OverlapClr__FP21overlap_request_class.s +++ /dev/null @@ -1,27 +0,0 @@ -lbl_8001EAD8: -/* 8001EAD8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8001EADC 7C 08 02 A6 */ mflr r0 -/* 8001EAE0 90 01 00 14 */ stw r0, 0x14(r1) -/* 8001EAE4 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8001EAE8 7C 7F 1B 78 */ mr r31, r3 -/* 8001EAEC 88 03 00 00 */ lbz r0, 0(r3) -/* 8001EAF0 54 00 CF FE */ rlwinm r0, r0, 0x19, 0x1f, 0x1f -/* 8001EAF4 28 00 00 01 */ cmplwi r0, 1 -/* 8001EAF8 41 82 00 10 */ beq lbl_8001EB08 -/* 8001EAFC 4B FF FF B9 */ bl fopOvlpReq_Is_PeektimeLimit__FP21overlap_request_class -/* 8001EB00 2C 03 00 00 */ cmpwi r3, 0 -/* 8001EB04 40 82 00 0C */ bne lbl_8001EB10 -lbl_8001EB08: -/* 8001EB08 38 60 00 00 */ li r3, 0 -/* 8001EB0C 48 00 00 14 */ b lbl_8001EB20 -lbl_8001EB10: -/* 8001EB10 7F E3 FB 78 */ mr r3, r31 -/* 8001EB14 38 80 00 02 */ li r4, 2 -/* 8001EB18 48 24 7D 39 */ bl cReq_Create__FP18request_base_classUc -/* 8001EB1C 38 60 00 01 */ li r3, 1 -lbl_8001EB20: -/* 8001EB20 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8001EB24 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8001EB28 7C 08 03 A6 */ mtlr r0 -/* 8001EB2C 38 21 00 10 */ addi r1, r1, 0x10 -/* 8001EB30 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_overlap_req/fopOvlpReq_Request__FP21overlap_request_classsUs.s b/asm/f_op/f_op_overlap_req/fopOvlpReq_Request__FP21overlap_request_classsUs.s deleted file mode 100644 index 6df205cb43..0000000000 --- a/asm/f_op/f_op_overlap_req/fopOvlpReq_Request__FP21overlap_request_classsUs.s +++ /dev/null @@ -1,42 +0,0 @@ -lbl_8001E954: -/* 8001E954 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8001E958 7C 08 02 A6 */ mflr r0 -/* 8001E95C 90 01 00 24 */ stw r0, 0x24(r1) -/* 8001E960 39 61 00 20 */ addi r11, r1, 0x20 -/* 8001E964 48 34 38 79 */ bl _savegpr_29 -/* 8001E968 7C 7D 1B 78 */ mr r29, r3 -/* 8001E96C 7C 9E 23 78 */ mr r30, r4 -/* 8001E970 7C BF 2B 78 */ mr r31, r5 -/* 8001E974 A0 03 00 04 */ lhz r0, 4(r3) -/* 8001E978 28 00 00 01 */ cmplwi r0, 1 -/* 8001E97C 40 82 00 0C */ bne lbl_8001E988 -/* 8001E980 38 60 00 00 */ li r3, 0 -/* 8001E984 48 00 00 54 */ b lbl_8001E9D8 -lbl_8001E988: -/* 8001E988 38 80 00 01 */ li r4, 1 -/* 8001E98C 48 24 7E A5 */ bl cReq_Command__FP18request_base_classUc -/* 8001E990 B3 DD 00 10 */ sth r30, 0x10(r29) -/* 8001E994 38 7D 00 18 */ addi r3, r29, 0x18 -/* 8001E998 3C 80 80 3A */ lis r4, phaseMethod@ha /* 0x803A3890@ha */ -/* 8001E99C 38 84 38 90 */ addi r4, r4, phaseMethod@l /* 0x803A3890@l */ -/* 8001E9A0 48 24 7C 91 */ bl cPhs_Set__FP30request_of_phase_process_classPPFPv_i -/* 8001E9A4 7F A3 EB 78 */ mr r3, r29 -/* 8001E9A8 7F E4 FB 78 */ mr r4, r31 -/* 8001E9AC 48 00 01 19 */ bl fopOvlpReq_SetPeektime__FP21overlap_request_classUs -/* 8001E9B0 38 00 00 01 */ li r0, 1 -/* 8001E9B4 B0 1D 00 04 */ sth r0, 4(r29) -/* 8001E9B8 B0 1D 00 02 */ sth r0, 2(r29) -/* 8001E9BC 38 00 00 00 */ li r0, 0 -/* 8001E9C0 90 1D 00 20 */ stw r0, 0x20(r29) -/* 8001E9C4 90 1D 00 08 */ stw r0, 8(r29) -/* 8001E9C8 90 1D 00 0C */ stw r0, 0xc(r29) -/* 8001E9CC 48 00 2D 11 */ bl fpcLy_RootLayer__Fv -/* 8001E9D0 90 7D 00 24 */ stw r3, 0x24(r29) -/* 8001E9D4 7F A3 EB 78 */ mr r3, r29 -lbl_8001E9D8: -/* 8001E9D8 39 61 00 20 */ addi r11, r1, 0x20 -/* 8001E9DC 48 34 38 4D */ bl _restgpr_29 -/* 8001E9E0 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8001E9E4 7C 08 03 A6 */ mtlr r0 -/* 8001E9E8 38 21 00 20 */ addi r1, r1, 0x20 -/* 8001E9EC 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_overlap_req/fopOvlpReq_SetPeektime__FP21overlap_request_classUs.s b/asm/f_op/f_op_overlap_req/fopOvlpReq_SetPeektime__FP21overlap_request_classUs.s deleted file mode 100644 index 02a1085a9b..0000000000 --- a/asm/f_op/f_op_overlap_req/fopOvlpReq_SetPeektime__FP21overlap_request_classUs.s +++ /dev/null @@ -1,6 +0,0 @@ -lbl_8001EAC4: -/* 8001EAC4 54 80 04 3E */ clrlwi r0, r4, 0x10 -/* 8001EAC8 28 00 7F FF */ cmplwi r0, 0x7fff -/* 8001EACC 4D 81 00 20 */ bgtlr -/* 8001EAD0 B0 83 00 06 */ sth r4, 6(r3) -/* 8001EAD4 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_overlap_req/fopOvlpReq_phase_Create__FP21overlap_request_class.s b/asm/f_op/f_op_overlap_req/fopOvlpReq_phase_Create__FP21overlap_request_class.s deleted file mode 100644 index 382892233f..0000000000 --- a/asm/f_op/f_op_overlap_req/fopOvlpReq_phase_Create__FP21overlap_request_class.s +++ /dev/null @@ -1,21 +0,0 @@ -lbl_8001E904: -/* 8001E904 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8001E908 7C 08 02 A6 */ mflr r0 -/* 8001E90C 90 01 00 14 */ stw r0, 0x14(r1) -/* 8001E910 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8001E914 7C 7F 1B 78 */ mr r31, r3 -/* 8001E918 80 63 00 24 */ lwz r3, 0x24(r3) -/* 8001E91C 48 00 2D D1 */ bl fpcLy_SetCurrentLayer__FP11layer_class -/* 8001E920 48 00 2D D5 */ bl fpcLy_CurrentLayer__Fv -/* 8001E924 A8 9F 00 10 */ lha r4, 0x10(r31) -/* 8001E928 38 A0 00 00 */ li r5, 0 -/* 8001E92C 38 C0 00 00 */ li r6, 0 -/* 8001E930 38 E0 00 00 */ li r7, 0 -/* 8001E934 48 00 54 61 */ bl fpcSCtRq_Request__FP11layer_classsPFPvPv_iPvPv -/* 8001E938 90 7F 00 14 */ stw r3, 0x14(r31) -/* 8001E93C 38 60 00 02 */ li r3, 2 -/* 8001E940 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8001E944 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8001E948 7C 08 03 A6 */ mtlr r0 -/* 8001E94C 38 21 00 10 */ addi r1, r1, 0x10 -/* 8001E950 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_overlap_req/fopOvlpReq_phase_Done__FP21overlap_request_class.s b/asm/f_op/f_op_overlap_req/fopOvlpReq_phase_Done__FP21overlap_request_class.s deleted file mode 100644 index 37329d1d27..0000000000 --- a/asm/f_op/f_op_overlap_req/fopOvlpReq_phase_Done__FP21overlap_request_class.s +++ /dev/null @@ -1,26 +0,0 @@ -lbl_8001E6EC: -/* 8001E6EC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8001E6F0 7C 08 02 A6 */ mflr r0 -/* 8001E6F4 90 01 00 14 */ stw r0, 0x14(r1) -/* 8001E6F8 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8001E6FC 7C 7F 1B 78 */ mr r31, r3 -/* 8001E700 80 63 00 20 */ lwz r3, 0x20(r3) -/* 8001E704 48 00 3A 15 */ bl fpcM_Delete__FPv -/* 8001E708 2C 03 00 01 */ cmpwi r3, 1 -/* 8001E70C 40 82 00 24 */ bne lbl_8001E730 -/* 8001E710 38 00 00 00 */ li r0, 0 -/* 8001E714 90 1F 00 20 */ stw r0, 0x20(r31) -/* 8001E718 B0 1F 00 04 */ sth r0, 4(r31) -/* 8001E71C B0 1F 00 06 */ sth r0, 6(r31) -/* 8001E720 90 1F 00 08 */ stw r0, 8(r31) -/* 8001E724 90 1F 00 0C */ stw r0, 0xc(r31) -/* 8001E728 38 60 00 02 */ li r3, 2 -/* 8001E72C 48 00 00 08 */ b lbl_8001E734 -lbl_8001E730: -/* 8001E730 38 60 00 00 */ li r3, 0 -lbl_8001E734: -/* 8001E734 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8001E738 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8001E73C 7C 08 03 A6 */ mtlr r0 -/* 8001E740 38 21 00 10 */ addi r1, r1, 0x10 -/* 8001E744 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_overlap_req/fopOvlpReq_phase_IsComplete__FP21overlap_request_class.s b/asm/f_op/f_op_overlap_req/fopOvlpReq_phase_IsComplete__FP21overlap_request_class.s deleted file mode 100644 index 4d1ace44bb..0000000000 --- a/asm/f_op/f_op_overlap_req/fopOvlpReq_phase_IsComplete__FP21overlap_request_class.s +++ /dev/null @@ -1,23 +0,0 @@ -lbl_8001E854: -/* 8001E854 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8001E858 7C 08 02 A6 */ mflr r0 -/* 8001E85C 90 01 00 14 */ stw r0, 0x14(r1) -/* 8001E860 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8001E864 7C 7F 1B 78 */ mr r31, r3 -/* 8001E868 80 63 00 20 */ lwz r3, 0x20(r3) -/* 8001E86C 38 63 00 C4 */ addi r3, r3, 0xc4 -/* 8001E870 48 24 7F 65 */ bl cReq_Is_Done__FP18request_base_class -/* 8001E874 2C 03 00 00 */ cmpwi r3, 0 -/* 8001E878 41 82 00 14 */ beq lbl_8001E88C -/* 8001E87C 7F E3 FB 78 */ mr r3, r31 -/* 8001E880 48 24 7F 81 */ bl cReq_Done__FP18request_base_class -/* 8001E884 38 60 00 02 */ li r3, 2 -/* 8001E888 48 00 00 08 */ b lbl_8001E890 -lbl_8001E88C: -/* 8001E88C 38 60 00 00 */ li r3, 0 -lbl_8001E890: -/* 8001E890 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8001E894 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8001E898 7C 08 03 A6 */ mtlr r0 -/* 8001E89C 38 21 00 10 */ addi r1, r1, 0x10 -/* 8001E8A0 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_overlap_req/fopOvlpReq_phase_IsCreated__FP21overlap_request_class.s b/asm/f_op/f_op_overlap_req/fopOvlpReq_phase_IsCreated__FP21overlap_request_class.s deleted file mode 100644 index 81c081decf..0000000000 --- a/asm/f_op/f_op_overlap_req/fopOvlpReq_phase_IsCreated__FP21overlap_request_class.s +++ /dev/null @@ -1,28 +0,0 @@ -lbl_8001E8A4: -/* 8001E8A4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8001E8A8 7C 08 02 A6 */ mflr r0 -/* 8001E8AC 90 01 00 14 */ stw r0, 0x14(r1) -/* 8001E8B0 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8001E8B4 7C 7F 1B 78 */ mr r31, r3 -/* 8001E8B8 80 63 00 14 */ lwz r3, 0x14(r3) -/* 8001E8BC 48 00 38 7D */ bl fpcM_IsCreating__FUi -/* 8001E8C0 2C 03 00 00 */ cmpwi r3, 0 -/* 8001E8C4 40 82 00 28 */ bne lbl_8001E8EC -/* 8001E8C8 80 7F 00 14 */ lwz r3, 0x14(r31) -/* 8001E8CC 48 00 2A 8D */ bl fpcEx_SearchByID__FUi -/* 8001E8D0 28 03 00 00 */ cmplwi r3, 0 -/* 8001E8D4 40 82 00 0C */ bne lbl_8001E8E0 -/* 8001E8D8 38 60 00 05 */ li r3, 5 -/* 8001E8DC 48 00 00 14 */ b lbl_8001E8F0 -lbl_8001E8E0: -/* 8001E8E0 90 7F 00 20 */ stw r3, 0x20(r31) -/* 8001E8E4 38 60 00 02 */ li r3, 2 -/* 8001E8E8 48 00 00 08 */ b lbl_8001E8F0 -lbl_8001E8EC: -/* 8001E8EC 38 60 00 00 */ li r3, 0 -lbl_8001E8F0: -/* 8001E8F0 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8001E8F4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8001E8F8 7C 08 03 A6 */ mtlr r0 -/* 8001E8FC 38 21 00 10 */ addi r1, r1, 0x10 -/* 8001E900 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_overlap_req/fopOvlpReq_phase_IsDone__FP21overlap_request_class.s b/asm/f_op/f_op_overlap_req/fopOvlpReq_phase_IsDone__FP21overlap_request_class.s deleted file mode 100644 index c95a35b108..0000000000 --- a/asm/f_op/f_op_overlap_req/fopOvlpReq_phase_IsDone__FP21overlap_request_class.s +++ /dev/null @@ -1,20 +0,0 @@ -lbl_8001E748: -/* 8001E748 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8001E74C 7C 08 02 A6 */ mflr r0 -/* 8001E750 90 01 00 14 */ stw r0, 0x14(r1) -/* 8001E754 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8001E758 7C 7F 1B 78 */ mr r31, r3 -/* 8001E75C 48 24 80 A5 */ bl cReq_Done__FP18request_base_class -/* 8001E760 A8 7F 00 02 */ lha r3, 2(r31) -/* 8001E764 38 03 FF FF */ addi r0, r3, -1 -/* 8001E768 B0 1F 00 02 */ sth r0, 2(r31) -/* 8001E76C 7C 03 00 D0 */ neg r0, r3 -/* 8001E770 7C 60 03 38 */ orc r0, r3, r0 -/* 8001E774 7C 03 FE 70 */ srawi r3, r0, 0x1f -/* 8001E778 38 00 00 02 */ li r0, 2 -/* 8001E77C 7C 03 18 38 */ and r3, r0, r3 -/* 8001E780 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8001E784 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8001E788 7C 08 03 A6 */ mtlr r0 -/* 8001E78C 38 21 00 10 */ addi r1, r1, 0x10 -/* 8001E790 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_overlap_req/fopOvlpReq_phase_IsWaitOfFadeout__FP21overlap_request_class.s b/asm/f_op/f_op_overlap_req/fopOvlpReq_phase_IsWaitOfFadeout__FP21overlap_request_class.s deleted file mode 100644 index 6ab7ddc213..0000000000 --- a/asm/f_op/f_op_overlap_req/fopOvlpReq_phase_IsWaitOfFadeout__FP21overlap_request_class.s +++ /dev/null @@ -1,23 +0,0 @@ -lbl_8001E794: -/* 8001E794 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8001E798 7C 08 02 A6 */ mflr r0 -/* 8001E79C 90 01 00 14 */ stw r0, 0x14(r1) -/* 8001E7A0 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8001E7A4 7C 7F 1B 78 */ mr r31, r3 -/* 8001E7A8 80 63 00 20 */ lwz r3, 0x20(r3) -/* 8001E7AC 38 63 00 C4 */ addi r3, r3, 0xc4 -/* 8001E7B0 48 24 80 25 */ bl cReq_Is_Done__FP18request_base_class -/* 8001E7B4 2C 03 00 00 */ cmpwi r3, 0 -/* 8001E7B8 41 82 00 14 */ beq lbl_8001E7CC -/* 8001E7BC 38 00 00 00 */ li r0, 0 -/* 8001E7C0 90 1F 00 08 */ stw r0, 8(r31) -/* 8001E7C4 38 60 00 02 */ li r3, 2 -/* 8001E7C8 48 00 00 08 */ b lbl_8001E7D0 -lbl_8001E7CC: -/* 8001E7CC 38 60 00 00 */ li r3, 0 -lbl_8001E7D0: -/* 8001E7D0 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8001E7D4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8001E7D8 7C 08 03 A6 */ mtlr r0 -/* 8001E7DC 38 21 00 10 */ addi r1, r1, 0x10 -/* 8001E7E0 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_overlap_req/fopOvlpReq_phase_WaitOfFadeout__FP21overlap_request_class.s b/asm/f_op/f_op_overlap_req/fopOvlpReq_phase_WaitOfFadeout__FP21overlap_request_class.s deleted file mode 100644 index 398da253fa..0000000000 --- a/asm/f_op/f_op_overlap_req/fopOvlpReq_phase_WaitOfFadeout__FP21overlap_request_class.s +++ /dev/null @@ -1,32 +0,0 @@ -lbl_8001E7E4: -/* 8001E7E4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8001E7E8 7C 08 02 A6 */ mflr r0 -/* 8001E7EC 90 01 00 14 */ stw r0, 0x14(r1) -/* 8001E7F0 A0 83 00 06 */ lhz r4, 6(r3) -/* 8001E7F4 28 04 00 00 */ cmplwi r4, 0 -/* 8001E7F8 41 82 00 0C */ beq lbl_8001E804 -/* 8001E7FC 38 04 FF FF */ addi r0, r4, -1 -/* 8001E800 B0 03 00 06 */ sth r0, 6(r3) -lbl_8001E804: -/* 8001E804 88 03 00 00 */ lbz r0, 0(r3) -/* 8001E808 54 00 06 BE */ clrlwi r0, r0, 0x1a -/* 8001E80C 28 00 00 02 */ cmplwi r0, 2 -/* 8001E810 40 82 00 28 */ bne lbl_8001E838 -/* 8001E814 A0 03 00 06 */ lhz r0, 6(r3) -/* 8001E818 28 00 00 00 */ cmplwi r0, 0 -/* 8001E81C 40 82 00 1C */ bne lbl_8001E838 -/* 8001E820 80 63 00 20 */ lwz r3, 0x20(r3) -/* 8001E824 38 63 00 C4 */ addi r3, r3, 0xc4 -/* 8001E828 38 80 00 02 */ li r4, 2 -/* 8001E82C 48 24 80 05 */ bl cReq_Command__FP18request_base_classUc -/* 8001E830 38 60 00 02 */ li r3, 2 -/* 8001E834 48 00 00 10 */ b lbl_8001E844 -lbl_8001E838: -/* 8001E838 38 00 00 01 */ li r0, 1 -/* 8001E83C 90 03 00 08 */ stw r0, 8(r3) -/* 8001E840 38 60 00 00 */ li r3, 0 -lbl_8001E844: -/* 8001E844 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8001E848 7C 08 03 A6 */ mtlr r0 -/* 8001E84C 38 21 00 10 */ addi r1, r1, 0x10 -/* 8001E850 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_scene/fopScn_Draw__FP11scene_class.s b/asm/f_op/f_op_scene/fopScn_Draw__FP11scene_class.s deleted file mode 100644 index c29ce482ef..0000000000 --- a/asm/f_op/f_op_scene/fopScn_Draw__FP11scene_class.s +++ /dev/null @@ -1,11 +0,0 @@ -lbl_8001EB34: -/* 8001EB34 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8001EB38 7C 08 02 A6 */ mflr r0 -/* 8001EB3C 90 01 00 14 */ stw r0, 0x14(r1) -/* 8001EB40 7C 64 1B 78 */ mr r4, r3 -/* 8001EB44 80 63 01 AC */ lwz r3, 0x1ac(r3) -/* 8001EB48 48 00 39 A9 */ bl fpcNd_DrawMethod__FP21nodedraw_method_classPv -/* 8001EB4C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8001EB50 7C 08 03 A6 */ mtlr r0 -/* 8001EB54 38 21 00 10 */ addi r1, r1, 0x10 -/* 8001EB58 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_scene/fopScn_Execute__FP11scene_class.s b/asm/f_op/f_op_scene/fopScn_Execute__FP11scene_class.s deleted file mode 100644 index 9ffedc5fe2..0000000000 --- a/asm/f_op/f_op_scene/fopScn_Execute__FP11scene_class.s +++ /dev/null @@ -1,11 +0,0 @@ -lbl_8001EB5C: -/* 8001EB5C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8001EB60 7C 08 02 A6 */ mflr r0 -/* 8001EB64 90 01 00 14 */ stw r0, 0x14(r1) -/* 8001EB68 7C 64 1B 78 */ mr r4, r3 -/* 8001EB6C 80 63 01 AC */ lwz r3, 0x1ac(r3) -/* 8001EB70 48 00 38 F1 */ bl fpcMtd_Execute__FP20process_method_classPv -/* 8001EB74 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8001EB78 7C 08 03 A6 */ mtlr r0 -/* 8001EB7C 38 21 00 10 */ addi r1, r1, 0x10 -/* 8001EB80 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_scene/fopScn_IsDelete__FPv.s b/asm/f_op/f_op_scene/fopScn_IsDelete__FPv.s deleted file mode 100644 index d2646de181..0000000000 --- a/asm/f_op/f_op_scene/fopScn_IsDelete__FPv.s +++ /dev/null @@ -1,11 +0,0 @@ -lbl_8001EB84: -/* 8001EB84 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8001EB88 7C 08 02 A6 */ mflr r0 -/* 8001EB8C 90 01 00 14 */ stw r0, 0x14(r1) -/* 8001EB90 7C 64 1B 78 */ mr r4, r3 -/* 8001EB94 80 63 01 AC */ lwz r3, 0x1ac(r3) -/* 8001EB98 48 00 38 ED */ bl fpcMtd_IsDelete__FP20process_method_classPv -/* 8001EB9C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8001EBA0 7C 08 03 A6 */ mtlr r0 -/* 8001EBA4 38 21 00 10 */ addi r1, r1, 0x10 -/* 8001EBA8 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_scene_iter/fopScnIt_Judge__FPFPvPv_PvPv.s b/asm/f_op/f_op_scene_iter/fopScnIt_Judge__FPFPvPv_PvPv.s deleted file mode 100644 index e55a625027..0000000000 --- a/asm/f_op/f_op_scene_iter/fopScnIt_Judge__FPFPvPv_PvPv.s +++ /dev/null @@ -1,16 +0,0 @@ -lbl_8001EC74: -/* 8001EC74 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8001EC78 7C 08 02 A6 */ mflr r0 -/* 8001EC7C 90 01 00 14 */ stw r0, 0x14(r1) -/* 8001EC80 90 61 00 08 */ stw r3, 8(r1) -/* 8001EC84 90 81 00 0C */ stw r4, 0xc(r1) -/* 8001EC88 3C 60 80 3A */ lis r3, g_fopScnTg_SceneList@ha /* 0x803A3918@ha */ -/* 8001EC8C 38 63 39 18 */ addi r3, r3, g_fopScnTg_SceneList@l /* 0x803A3918@l */ -/* 8001EC90 3C 80 80 26 */ lis r4, cTgIt_JudgeFilter__FP16create_tag_classP12judge_filter@ha /* 0x80266AB0@ha */ -/* 8001EC94 38 84 6A B0 */ addi r4, r4, cTgIt_JudgeFilter__FP16create_tag_classP12judge_filter@l /* 0x80266AB0@l */ -/* 8001EC98 38 A1 00 08 */ addi r5, r1, 8 -/* 8001EC9C 48 24 73 FD */ bl cLsIt_Judge__FP15node_list_classPFP10node_classPv_PvPv -/* 8001ECA0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8001ECA4 7C 08 03 A6 */ mtlr r0 -/* 8001ECA8 38 21 00 10 */ addi r1, r1, 0x10 -/* 8001ECAC 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_scene_mng/fopScnM_ChangeReq__FP11scene_classssUs.s b/asm/f_op/f_op_scene_mng/fopScnM_ChangeReq__FP11scene_classssUs.s deleted file mode 100644 index 0af2af3637..0000000000 --- a/asm/f_op/f_op_scene_mng/fopScnM_ChangeReq__FP11scene_classssUs.s +++ /dev/null @@ -1,26 +0,0 @@ -lbl_8001ECE0: -/* 8001ECE0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8001ECE4 7C 08 02 A6 */ mflr r0 -/* 8001ECE8 90 01 00 14 */ stw r0, 0x14(r1) -/* 8001ECEC 7C 69 1B 78 */ mr r9, r3 -/* 8001ECF0 7C 80 23 78 */ mr r0, r4 -/* 8001ECF4 7C A7 2B 78 */ mr r7, r5 -/* 8001ECF8 7C C8 33 78 */ mr r8, r6 -/* 8001ECFC 38 60 00 02 */ li r3, 2 -/* 8001ED00 7D 24 4B 78 */ mr r4, r9 -/* 8001ED04 7C 05 03 78 */ mr r5, r0 -/* 8001ED08 38 C0 00 00 */ li r6, 0 -/* 8001ED0C 48 00 03 29 */ bl fopScnRq_Request__FiP11scene_classsPvsUs -/* 8001ED10 3C 03 00 01 */ addis r0, r3, 1 -/* 8001ED14 28 00 FF FF */ cmplwi r0, 0xffff -/* 8001ED18 40 82 00 0C */ bne lbl_8001ED24 -/* 8001ED1C 38 60 00 00 */ li r3, 0 -/* 8001ED20 48 00 00 0C */ b lbl_8001ED2C -lbl_8001ED24: -/* 8001ED24 90 6D 80 38 */ stw r3, l_scnRqID(r13) -/* 8001ED28 38 60 00 01 */ li r3, 1 -lbl_8001ED2C: -/* 8001ED2C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8001ED30 7C 08 03 A6 */ mtlr r0 -/* 8001ED34 38 21 00 10 */ addi r1, r1, 0x10 -/* 8001ED38 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_scene_mng/fopScnM_CreateReq__FssUsUl.s b/asm/f_op/f_op_scene_mng/fopScnM_CreateReq__FssUsUl.s deleted file mode 100644 index 568b21cb40..0000000000 --- a/asm/f_op/f_op_scene_mng/fopScnM_CreateReq__FssUsUl.s +++ /dev/null @@ -1,19 +0,0 @@ -lbl_8001ED84: -/* 8001ED84 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8001ED88 7C 08 02 A6 */ mflr r0 -/* 8001ED8C 90 01 00 14 */ stw r0, 0x14(r1) -/* 8001ED90 7C 60 1B 78 */ mr r0, r3 -/* 8001ED94 7C 87 23 78 */ mr r7, r4 -/* 8001ED98 7C A8 2B 78 */ mr r8, r5 -/* 8001ED9C 38 60 00 00 */ li r3, 0 -/* 8001EDA0 38 80 00 00 */ li r4, 0 -/* 8001EDA4 7C 05 03 78 */ mr r5, r0 -/* 8001EDA8 48 00 02 8D */ bl fopScnRq_Request__FiP11scene_classsPvsUs -/* 8001EDAC 20 63 FF FF */ subfic r3, r3, -1 -/* 8001EDB0 30 03 FF FF */ addic r0, r3, -1 -/* 8001EDB4 7C 00 19 10 */ subfe r0, r0, r3 -/* 8001EDB8 54 03 06 3E */ clrlwi r3, r0, 0x18 -/* 8001EDBC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8001EDC0 7C 08 03 A6 */ mtlr r0 -/* 8001EDC4 38 21 00 10 */ addi r1, r1, 0x10 -/* 8001EDC8 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_scene_mng/fopScnM_DeleteReq__FP11scene_class.s b/asm/f_op/f_op_scene_mng/fopScnM_DeleteReq__FP11scene_class.s deleted file mode 100644 index c0d224d9d6..0000000000 --- a/asm/f_op/f_op_scene_mng/fopScnM_DeleteReq__FP11scene_class.s +++ /dev/null @@ -1,19 +0,0 @@ -lbl_8001ED3C: -/* 8001ED3C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8001ED40 7C 08 02 A6 */ mflr r0 -/* 8001ED44 90 01 00 14 */ stw r0, 0x14(r1) -/* 8001ED48 7C 64 1B 78 */ mr r4, r3 -/* 8001ED4C 38 60 00 01 */ li r3, 1 -/* 8001ED50 38 A0 7F FF */ li r5, 0x7fff -/* 8001ED54 38 C0 00 00 */ li r6, 0 -/* 8001ED58 38 E0 7F FF */ li r7, 0x7fff -/* 8001ED5C 39 00 00 00 */ li r8, 0 -/* 8001ED60 48 00 02 D5 */ bl fopScnRq_Request__FiP11scene_classsPvsUs -/* 8001ED64 20 63 FF FF */ subfic r3, r3, -1 -/* 8001ED68 30 03 FF FF */ addic r0, r3, -1 -/* 8001ED6C 7C 00 19 10 */ subfe r0, r0, r3 -/* 8001ED70 54 03 06 3E */ clrlwi r3, r0, 0x18 -/* 8001ED74 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8001ED78 7C 08 03 A6 */ mtlr r0 -/* 8001ED7C 38 21 00 10 */ addi r1, r1, 0x10 -/* 8001ED80 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_scene_mng/fopScnM_Management__Fv.s b/asm/f_op/f_op_scene_mng/fopScnM_Management__Fv.s deleted file mode 100644 index e86c66a88e..0000000000 --- a/asm/f_op/f_op_scene_mng/fopScnM_Management__Fv.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_8001EE10: -/* 8001EE10 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8001EE14 7C 08 02 A6 */ mflr r0 -/* 8001EE18 90 01 00 14 */ stw r0, 0x14(r1) -/* 8001EE1C 48 00 03 01 */ bl fopScnRq_Handler__Fv -/* 8001EE20 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8001EE24 7C 08 03 A6 */ mtlr r0 -/* 8001EE28 38 21 00 10 */ addi r1, r1, 0x10 -/* 8001EE2C 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_scene_mng/fopScnM_ReRequest__FsUl.s b/asm/f_op/f_op_scene_mng/fopScnM_ReRequest__FsUl.s deleted file mode 100644 index 25851ef821..0000000000 --- a/asm/f_op/f_op_scene_mng/fopScnM_ReRequest__FsUl.s +++ /dev/null @@ -1,20 +0,0 @@ -lbl_8001EDCC: -/* 8001EDCC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8001EDD0 7C 08 02 A6 */ mflr r0 -/* 8001EDD4 90 01 00 14 */ stw r0, 0x14(r1) -/* 8001EDD8 7C 66 1B 78 */ mr r6, r3 -/* 8001EDDC 7C 85 23 78 */ mr r5, r4 -/* 8001EDE0 80 6D 80 38 */ lwz r3, l_scnRqID(r13) -/* 8001EDE4 3C 03 00 01 */ addis r0, r3, 1 -/* 8001EDE8 28 00 FF FF */ cmplwi r0, 0xffff -/* 8001EDEC 40 82 00 0C */ bne lbl_8001EDF8 -/* 8001EDF0 38 60 00 00 */ li r3, 0 -/* 8001EDF4 48 00 00 0C */ b lbl_8001EE00 -lbl_8001EDF8: -/* 8001EDF8 7C C4 33 78 */ mr r4, r6 -/* 8001EDFC 48 00 03 01 */ bl fopScnRq_ReRequest__FUisPv -lbl_8001EE00: -/* 8001EE00 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8001EE04 7C 08 03 A6 */ mtlr r0 -/* 8001EE08 38 21 00 10 */ addi r1, r1, 0x10 -/* 8001EE0C 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_scene_mng/fopScnM_SearchByID__FUi.s b/asm/f_op/f_op_scene_mng/fopScnM_SearchByID__FUi.s deleted file mode 100644 index eb220caa28..0000000000 --- a/asm/f_op/f_op_scene_mng/fopScnM_SearchByID__FUi.s +++ /dev/null @@ -1,13 +0,0 @@ -lbl_8001ECB0: -/* 8001ECB0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8001ECB4 7C 08 02 A6 */ mflr r0 -/* 8001ECB8 90 01 00 14 */ stw r0, 0x14(r1) -/* 8001ECBC 90 61 00 08 */ stw r3, 8(r1) -/* 8001ECC0 3C 60 80 02 */ lis r3, fpcSch_JudgeByID__FPvPv@ha /* 0x80023590@ha */ -/* 8001ECC4 38 63 35 90 */ addi r3, r3, fpcSch_JudgeByID__FPvPv@l /* 0x80023590@l */ -/* 8001ECC8 38 81 00 08 */ addi r4, r1, 8 -/* 8001ECCC 4B FF FF A9 */ bl fopScnIt_Judge__FPFPvPv_PvPv -/* 8001ECD0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8001ECD4 7C 08 03 A6 */ mtlr r0 -/* 8001ECD8 38 21 00 10 */ addi r1, r1, 0x10 -/* 8001ECDC 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_scene_pause/fopScnPause_Disable__FP11scene_class.s b/asm/f_op/f_op_scene_pause/fopScnPause_Disable__FP11scene_class.s deleted file mode 100644 index 9b217561a7..0000000000 --- a/asm/f_op/f_op_scene_pause/fopScnPause_Disable__FP11scene_class.s +++ /dev/null @@ -1,52 +0,0 @@ -lbl_80020594: -/* 80020594 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80020598 7C 08 02 A6 */ mflr r0 -/* 8002059C 90 01 00 14 */ stw r0, 0x14(r1) -/* 800205A0 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800205A4 93 C1 00 08 */ stw r30, 8(r1) -/* 800205A8 7C 7E 1B 79 */ or. r30, r3, r3 -/* 800205AC 41 82 00 84 */ beq lbl_80020630 -/* 800205B0 80 9E 00 2C */ lwz r4, 0x2c(r30) -/* 800205B4 83 E4 00 18 */ lwz r31, 0x18(r4) -/* 800205B8 28 1F 00 00 */ cmplwi r31, 0 -/* 800205BC 40 82 00 1C */ bne lbl_800205D8 -/* 800205C0 38 80 00 01 */ li r4, 1 -/* 800205C4 48 00 1D CD */ bl fpcM_PauseDisable__FPvUc -/* 800205C8 7F C3 F3 78 */ mr r3, r30 -/* 800205CC 38 80 00 02 */ li r4, 2 -/* 800205D0 48 00 1D C1 */ bl fpcM_PauseDisable__FPvUc -/* 800205D4 48 00 00 54 */ b lbl_80020628 -lbl_800205D8: -/* 800205D8 80 7F 00 04 */ lwz r3, 4(r31) -/* 800205DC 48 00 0D C1 */ bl fpcEx_IsExist__FUi -/* 800205E0 2C 03 00 01 */ cmpwi r3, 1 -/* 800205E4 40 82 00 44 */ bne lbl_80020628 -/* 800205E8 7F E3 FB 78 */ mr r3, r31 -/* 800205EC 38 80 00 01 */ li r4, 1 -/* 800205F0 48 00 1D 59 */ bl fpcM_IsPause__FPvUc -/* 800205F4 2C 03 00 00 */ cmpwi r3, 0 -/* 800205F8 40 82 00 10 */ bne lbl_80020608 -/* 800205FC 7F C3 F3 78 */ mr r3, r30 -/* 80020600 38 80 00 01 */ li r4, 1 -/* 80020604 48 00 1D 8D */ bl fpcM_PauseDisable__FPvUc -lbl_80020608: -/* 80020608 7F E3 FB 78 */ mr r3, r31 -/* 8002060C 38 80 00 02 */ li r4, 2 -/* 80020610 48 00 1D 39 */ bl fpcM_IsPause__FPvUc -/* 80020614 2C 03 00 00 */ cmpwi r3, 0 -/* 80020618 40 82 00 10 */ bne lbl_80020628 -/* 8002061C 7F C3 F3 78 */ mr r3, r30 -/* 80020620 38 80 00 02 */ li r4, 2 -/* 80020624 48 00 1D 6D */ bl fpcM_PauseDisable__FPvUc -lbl_80020628: -/* 80020628 38 60 00 01 */ li r3, 1 -/* 8002062C 48 00 00 08 */ b lbl_80020634 -lbl_80020630: -/* 80020630 38 60 00 00 */ li r3, 0 -lbl_80020634: -/* 80020634 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80020638 83 C1 00 08 */ lwz r30, 8(r1) -/* 8002063C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80020640 7C 08 03 A6 */ mtlr r0 -/* 80020644 38 21 00 10 */ addi r1, r1, 0x10 -/* 80020648 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_scene_pause/fopScnPause_Enable__FP11scene_class.s b/asm/f_op/f_op_scene_pause/fopScnPause_Enable__FP11scene_class.s deleted file mode 100644 index 166023d5b9..0000000000 --- a/asm/f_op/f_op_scene_pause/fopScnPause_Enable__FP11scene_class.s +++ /dev/null @@ -1,22 +0,0 @@ -lbl_80020548: -/* 80020548 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8002054C 7C 08 02 A6 */ mflr r0 -/* 80020550 90 01 00 14 */ stw r0, 0x14(r1) -/* 80020554 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80020558 7C 7F 1B 79 */ or. r31, r3, r3 -/* 8002055C 41 82 00 20 */ beq lbl_8002057C -/* 80020560 38 80 00 01 */ li r4, 1 -/* 80020564 48 00 1E 09 */ bl fpcM_PauseEnable__FPvUc -/* 80020568 7F E3 FB 78 */ mr r3, r31 -/* 8002056C 38 80 00 02 */ li r4, 2 -/* 80020570 48 00 1D FD */ bl fpcM_PauseEnable__FPvUc -/* 80020574 38 60 00 01 */ li r3, 1 -/* 80020578 48 00 00 08 */ b lbl_80020580 -lbl_8002057C: -/* 8002057C 38 60 00 00 */ li r3, 0 -lbl_80020580: -/* 80020580 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80020584 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80020588 7C 08 03 A6 */ mtlr r0 -/* 8002058C 38 21 00 10 */ addi r1, r1, 0x10 -/* 80020590 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_scene_tag/fopScnTg_Init__FP15scene_tag_classPv.s b/asm/f_op/f_op_scene_tag/fopScnTg_Init__FP15scene_tag_classPv.s deleted file mode 100644 index 84155d24dc..0000000000 --- a/asm/f_op/f_op_scene_tag/fopScnTg_Init__FP15scene_tag_classPv.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_8001F188: -/* 8001F188 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8001F18C 7C 08 02 A6 */ mflr r0 -/* 8001F190 90 01 00 14 */ stw r0, 0x14(r1) -/* 8001F194 48 24 78 A1 */ bl cTg_Create__FP16create_tag_classPv -/* 8001F198 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8001F19C 7C 08 03 A6 */ mtlr r0 -/* 8001F1A0 38 21 00 10 */ addi r1, r1, 0x10 -/* 8001F1A4 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_scene_tag/fopScnTg_QueueTo__FP15scene_tag_class.s b/asm/f_op/f_op_scene_tag/fopScnTg_QueueTo__FP15scene_tag_class.s deleted file mode 100644 index b0bc00b83f..0000000000 --- a/asm/f_op/f_op_scene_tag/fopScnTg_QueueTo__FP15scene_tag_class.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_8001F13C: -/* 8001F13C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8001F140 7C 08 02 A6 */ mflr r0 -/* 8001F144 90 01 00 14 */ stw r0, 0x14(r1) -/* 8001F148 48 24 78 5D */ bl cTg_SingleCut__FP16create_tag_class -/* 8001F14C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8001F150 7C 08 03 A6 */ mtlr r0 -/* 8001F154 38 21 00 10 */ addi r1, r1, 0x10 -/* 8001F158 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_scene_tag/fopScnTg_ToQueue__FP15scene_tag_class.s b/asm/f_op/f_op_scene_tag/fopScnTg_ToQueue__FP15scene_tag_class.s deleted file mode 100644 index 1f28fc3c11..0000000000 --- a/asm/f_op/f_op_scene_tag/fopScnTg_ToQueue__FP15scene_tag_class.s +++ /dev/null @@ -1,12 +0,0 @@ -lbl_8001F15C: -/* 8001F15C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8001F160 7C 08 02 A6 */ mflr r0 -/* 8001F164 90 01 00 14 */ stw r0, 0x14(r1) -/* 8001F168 7C 64 1B 78 */ mr r4, r3 -/* 8001F16C 3C 60 80 3A */ lis r3, g_fopScnTg_SceneList@ha /* 0x803A3918@ha */ -/* 8001F170 38 63 39 18 */ addi r3, r3, g_fopScnTg_SceneList@l /* 0x803A3918@l */ -/* 8001F174 48 24 78 71 */ bl cTg_Addition__FP15node_list_classP16create_tag_class -/* 8001F178 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8001F17C 7C 08 03 A6 */ mtlr r0 -/* 8001F180 38 21 00 10 */ addi r1, r1, 0x10 -/* 8001F184 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_view/fopVw_Delete__FP10view_class.s b/asm/f_op/f_op_view/fopVw_Delete__FP10view_class.s deleted file mode 100644 index b527caed0a..0000000000 --- a/asm/f_op/f_op_view/fopVw_Delete__FP10view_class.s +++ /dev/null @@ -1,11 +0,0 @@ -lbl_8001F220: -/* 8001F220 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8001F224 7C 08 02 A6 */ mflr r0 -/* 8001F228 90 01 00 14 */ stw r0, 0x14(r1) -/* 8001F22C 7C 64 1B 78 */ mr r4, r3 -/* 8001F230 80 63 00 C0 */ lwz r3, 0xc0(r3) -/* 8001F234 48 00 32 75 */ bl fpcMtd_Delete__FP20process_method_classPv -/* 8001F238 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8001F23C 7C 08 03 A6 */ mtlr r0 -/* 8001F240 38 21 00 10 */ addi r1, r1, 0x10 -/* 8001F244 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_view/fopVw_Draw__FP10view_class.s b/asm/f_op/f_op_view/fopVw_Draw__FP10view_class.s deleted file mode 100644 index d30ee2b89c..0000000000 --- a/asm/f_op/f_op_view/fopVw_Draw__FP10view_class.s +++ /dev/null @@ -1,11 +0,0 @@ -lbl_8001F1A8: -/* 8001F1A8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8001F1AC 7C 08 02 A6 */ mflr r0 -/* 8001F1B0 90 01 00 14 */ stw r0, 0x14(r1) -/* 8001F1B4 7C 64 1B 78 */ mr r4, r3 -/* 8001F1B8 80 63 00 C0 */ lwz r3, 0xc0(r3) -/* 8001F1BC 48 00 28 69 */ bl fpcLf_DrawMethod__FP21leafdraw_method_classPv -/* 8001F1C0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8001F1C4 7C 08 03 A6 */ mtlr r0 -/* 8001F1C8 38 21 00 10 */ addi r1, r1, 0x10 -/* 8001F1CC 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_view/fopVw_Execute__FP10view_class.s b/asm/f_op/f_op_view/fopVw_Execute__FP10view_class.s deleted file mode 100644 index 7408fd6aa4..0000000000 --- a/asm/f_op/f_op_view/fopVw_Execute__FP10view_class.s +++ /dev/null @@ -1,11 +0,0 @@ -lbl_8001F1D0: -/* 8001F1D0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8001F1D4 7C 08 02 A6 */ mflr r0 -/* 8001F1D8 90 01 00 14 */ stw r0, 0x14(r1) -/* 8001F1DC 7C 64 1B 78 */ mr r4, r3 -/* 8001F1E0 80 63 00 C0 */ lwz r3, 0xc0(r3) -/* 8001F1E4 48 00 32 7D */ bl fpcMtd_Execute__FP20process_method_classPv -/* 8001F1E8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8001F1EC 7C 08 03 A6 */ mtlr r0 -/* 8001F1F0 38 21 00 10 */ addi r1, r1, 0x10 -/* 8001F1F4 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_view/fopVw_IsDelete__FPv.s b/asm/f_op/f_op_view/fopVw_IsDelete__FPv.s deleted file mode 100644 index 7daeee71eb..0000000000 --- a/asm/f_op/f_op_view/fopVw_IsDelete__FPv.s +++ /dev/null @@ -1,11 +0,0 @@ -lbl_8001F1F8: -/* 8001F1F8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8001F1FC 7C 08 02 A6 */ mflr r0 -/* 8001F200 90 01 00 14 */ stw r0, 0x14(r1) -/* 8001F204 7C 64 1B 78 */ mr r4, r3 -/* 8001F208 80 63 00 C0 */ lwz r3, 0xc0(r3) -/* 8001F20C 48 00 32 79 */ bl fpcMtd_IsDelete__FP20process_method_classPv -/* 8001F210 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8001F214 7C 08 03 A6 */ mtlr r0 -/* 8001F218 38 21 00 10 */ addi r1, r1, 0x10 -/* 8001F21C 4E 80 00 20 */ blr diff --git a/include/JSystem/JAudio2/JAUAudioArcLoader.h b/include/JSystem/JAudio2/JAUAudioArcLoader.h index 85d4c8bd65..cd8ed559b2 100644 --- a/include/JSystem/JAudio2/JAUAudioArcLoader.h +++ b/include/JSystem/JAudio2/JAUAudioArcLoader.h @@ -3,4 +3,6 @@ #include "dolphin/types.h" +struct JAUSection; + #endif /* JAUAUDIOARCLOADER_H */ diff --git a/include/SSystem/SComponent/c_request.h b/include/SSystem/SComponent/c_request.h index d8650437ea..09ae61efae 100644 --- a/include/SSystem/SComponent/c_request.h +++ b/include/SSystem/SComponent/c_request.h @@ -2,5 +2,208 @@ #define C_REQUEST_H #include "dolphin/types.h" +#include "f_pc/f_pc_base.h" + +struct request_base_class { + u8 field_0x0; + u8 field_0x1; + u8 field_0x2; + u8 field_0x3; + u16 field_0x4; + u8 field_0x6; + u8 field_0x7; + u32 field_0x8; + s8 field_0xc; + u8 field_0xd; + u8 field_0xe; + u8 field_0xf; + int* field_0x10; + // u8 field_0x11; + // u8 field_0x12; + // u8 field_0x13; + u8 field_0x14; + u8 field_0x15; + u8 field_0x16; + u8 field_0x17; + u8 field_0x18; + u8 field_0x19; + u8 field_0x1a; + u8 field_0x1b; + u8 field_0x1c; + u8 field_0x1d; + u8 field_0x1e; + u8 field_0x1f; + u32* field_0x20; + u8 field_0x24; + u8 field_0x25; + u8 field_0x26; + u8 field_0x27; + u8 field_0x28; + u8 field_0x29; + u8 field_0x2a; + u8 field_0x2b; + u8 field_0x2c; + u8 field_0x2d; + u8 field_0x2e; + u8 field_0x2f; + u8 field_0x30; + u8 field_0x31; + u8 field_0x32; + u8 field_0x33; + u8 field_0x34; + u8 field_0x35; + u8 field_0x36; + u8 field_0x37; + u8 field_0x38; + u8 field_0x39; + u8 field_0x3a; + u8 field_0x3b; + u8 field_0x3c; + u8 field_0x3d; + u8 field_0x3e; + u8 field_0x3f; + u8 field_0x40; + u8 field_0x41; + u8 field_0x42; + u8 field_0x43; + u8 field_0x44; + u8 field_0x45; + u8 field_0x46; + u8 field_0x47; + u8 field_0x48; + u8 field_0x49; + u8 field_0x4a; + u8 field_0x4b; + u8 field_0x4c; + u8 field_0x4d; + u8 field_0x4e; + u8 field_0x4f; + u8 field_0x50; + u8 field_0x51; + u8 field_0x52; + u8 field_0x53; + u8 field_0x54; + u8 field_0x55; + u8 field_0x56; + u8 field_0x57; + u8 field_0x58; + u8 field_0x59; + u8 field_0x5a; + u8 field_0x5b; + u8 field_0x5c; + u8 field_0x5d; + u8 field_0x5e; + u8 field_0x5f; + u8 field_0x60; + u8 field_0x61; + u8 field_0x62; + u8 field_0x63; + u8 field_0x64; + u8 field_0x65; + u8 field_0x66; + u8 field_0x67; + u8 field_0x68; + u8 field_0x69; + u8 field_0x6a; + u8 field_0x6b; + u8 field_0x6c; + u8 field_0x6d; + u8 field_0x6e; + u8 field_0x6f; + u8 field_0x70; + u8 field_0x71; + u8 field_0x72; + u8 field_0x73; + u8 field_0x74; + u8 field_0x75; + u8 field_0x76; + u8 field_0x77; + u8 field_0x78; + u8 field_0x79; + u8 field_0x7a; + u8 field_0x7b; + u8 field_0x7c; + u8 field_0x7d; + u8 field_0x7e; + u8 field_0x7f; + u8 field_0x80; + u8 field_0x81; + u8 field_0x82; + u8 field_0x83; + u8 field_0x84; + u8 field_0x85; + u8 field_0x86; + u8 field_0x87; + u8 field_0x88; + u8 field_0x89; + u8 field_0x8a; + u8 field_0x8b; + u8 field_0x8c; + u8 field_0x8d; + u8 field_0x8e; + u8 field_0x8f; + u8 field_0x90; + u8 field_0x91; + u8 field_0x92; + u8 field_0x93; + u8 field_0x94; + u8 field_0x95; + u8 field_0x96; + u8 field_0x97; + u8 field_0x98; + u8 field_0x99; + u8 field_0x9a; + u8 field_0x9b; + u8 field_0x9c; + u8 field_0x9d; + u8 field_0x9e; + u8 field_0x9f; + u8 field_0xa0; + u8 field_0xa1; + u8 field_0xa2; + u8 field_0xa3; + u8 field_0xa4; + u8 field_0xa5; + u8 field_0xa6; + u8 field_0xa7; + u8 field_0xa8; + u8 field_0xa9; + u8 field_0xaa; + u8 field_0xab; + u8 field_0xac; + u8 field_0xad; + u8 field_0xae; + u8 field_0xaf; + u8 field_0xb0; + u8 field_0xb1; + u8 field_0xb2; + u8 field_0xb3; + u8 field_0xb4; + u8 field_0xb5; + u8 field_0xb6; + u8 field_0xb7; + u8 field_0xb8; + u8 field_0xb9; + u8 field_0xba; + u8 field_0xbb; + u8 field_0xbc; + u8 field_0xbd; + u8 field_0xbe; + u8 field_0xbf; + u32 field_0xc0; + // u8 field_0xc1; + // u8 field_0xc2; + // u8 field_0xc3; + request_base_class* field_0xc4; + // u8 field_0xc5; + // u8 field_0xc6; + // u8 field_0xc7; + u32* field_0xc8; +}; + +int cReq_Is_Done(request_base_class*); +int cReq_Done(request_base_class*); +int cReq_Command(request_base_class*, u8); +int cReq_Create(request_base_class*, u8); #endif /* C_REQUEST_H */ diff --git a/include/Z2AudioLib/Z2AudioArcLoader.h b/include/Z2AudioLib/Z2AudioArcLoader.h index 2a5808770c..17506b38ef 100644 --- a/include/Z2AudioLib/Z2AudioArcLoader.h +++ b/include/Z2AudioLib/Z2AudioArcLoader.h @@ -2,5 +2,15 @@ #define Z2AUDIOARCLOADER_H #include "dolphin/types.h" +#include "JSystem/JAudio2/JAUAudioArcLoader.h" + +class Z2AudioArcLoader { + Z2AudioArcLoader(JAUSection*); + ~Z2AudioArcLoader(); + + void readCommandMore(u32); + void readBFCA(const void*); + void readBSTN(const void*, u32); +}; #endif /* Z2AUDIOARCLOADER_H */ diff --git a/include/Z2AudioLib/Z2Calc.h b/include/Z2AudioLib/Z2Calc.h index c2d7f0f56c..920d287894 100644 --- a/include/Z2AudioLib/Z2Calc.h +++ b/include/Z2AudioLib/Z2Calc.h @@ -3,4 +3,30 @@ #include "dolphin/types.h" +namespace Z2Calc { +enum CurveSign { + CURVE_SIGN_0 = 0, + CURVE_SIGN_1 = 1, +}; + +struct FNoise1f { + void setParam(float, float, float); + float tau(float); + float calcNoise1f(); + + float unk0; + float unk4; + float unk8; + float unk12; +}; + +float linearTransform(float, float, float, float, float, bool); +float getParamByExp(float, float, float, float, float, float, Z2Calc::CurveSign); +float getRandom(float, float, float); +float getRandom_0_1(void); + +extern f32 cEqualCSlope; +extern f32 cEqualPSlope; +} // namespace Z2Calc + #endif /* Z2CALC_H */ diff --git a/include/f_op/f_op_actor.h b/include/f_op/f_op_actor.h index 6c9808e440..6ac1889545 100644 --- a/include/f_op/f_op_actor.h +++ b/include/f_op/f_op_actor.h @@ -1,6 +1,43 @@ -#ifndef F_OP_F_OP_ACTOR_H -#define F_OP_F_OP_ACTOR_H +#ifndef F_OP_ACTOR_H_ +#define F_OP_ACTOR_H_ -#include "dolphin/types.h" +#include "SSystem/SComponent/c_sxyz.h" +#include "SSystem/SComponent/c_xyz.h" +#include "f_pc/f_pc_base.h" -#endif /* F_OP_F_OP_ACTOR_H */ +struct JKRSolidHeap; + +class fopAc_ac_c : public base_process_class { +public: + /* 0x0B8 */ u8 unk_0x0B8[0xF0 - 0xB8]; + /* 0x0F0 */ JKRSolidHeap* unk_0x0F0; + /* 0x0F4 */ u8 unk_0x0F4[0x496 - 0xF4]; + /* 0x496 */ u8 unk_0x496; + /* 0x497 */ u8 unk_0x497[0x499 - 0x497]; + /* 0x499 */ s8 unk_0x499; + /* 0x497 */ u8 unk_0x49A[0x4D0 - 0x49A]; + /* 0x4D0 */ cXyz mPosition; + /* 0x4DC */ csXyz mAngle; + /* 0x4E2 */ s8 mRoomNo; + /* 0x4E3 */ u8 unk_0x4E3[0x4E6 - 0x4E3]; + /* 0x4E6 */ s16 unk_0x4E6; + /* 0x4E8 */ u8 unk_0x4E8[0x4F8 - 0x4E8]; + /* 0x4F8 */ cXyz mSpeed; + /* 0x504 */ u8 unk_0x504[4]; + /* 0x508 */ cXyz mCullMin; + /* 0x514 */ cXyz mCullMax; + /* 0x520 */ u8 unk_0x520[0xC]; + /* 0x52C */ f32 mSpeedF; + /* 0x530 */ f32 mGravity; + /* 0x534 */ f32 mMaxFallSpeed; + + /* 80018B64 */ fopAc_ac_c(); + /* 80018C8C */ ~fopAc_ac_c(); + + static u8 stopStatus[4]; + + const cXyz& getPosition() const { return mPosition; } + const csXyz& getAngle() const { return mAngle; } +}; // Size: unknown + +#endif \ No newline at end of file diff --git a/include/f_op/f_op_actor_iter.h b/include/f_op/f_op_actor_iter.h index d599a0e031..d5ea6fe257 100644 --- a/include/f_op/f_op_actor_iter.h +++ b/include/f_op/f_op_actor_iter.h @@ -1,6 +1,12 @@ -#ifndef F_OP_F_OP_ACTOR_ITER_H -#define F_OP_F_OP_ACTOR_ITER_H +#ifndef F_OP_ACTOR_ITER_H_ +#define F_OP_ACTOR_ITER_H_ #include "dolphin/types.h" -#endif /* F_OP_F_OP_ACTOR_ITER_H */ +typedef int (*fopAcIt_ExecutorFunc)(void*, void*); +typedef void* (*fopAcIt_JudgeFunc)(void*, void*); + +int fopAcIt_Executor(fopAcIt_ExecutorFunc, void*); +void* fopAcIt_Judge(fopAcIt_JudgeFunc, void*); + +#endif \ No newline at end of file diff --git a/include/f_op/f_op_actor_mng.h b/include/f_op/f_op_actor_mng.h index 0fb5fe4b5d..147bce9abe 100644 --- a/include/f_op/f_op_actor_mng.h +++ b/include/f_op/f_op_actor_mng.h @@ -1,6 +1,277 @@ -#ifndef F_OP_F_OP_ACTOR_MNG_H -#define F_OP_F_OP_ACTOR_MNG_H +#ifndef F_OP_ACTOR_MNG_H_ +#define F_OP_ACTOR_MNG_H_ +#include "JSystem/J3DGraphAnimator/J3DModelData.h" +#include "SSystem/SComponent/c_m3d_g_pla.h" +#include "SSystem/SComponent/c_sxyz.h" +#include "SSystem/SComponent/c_xyz.h" +#include "f_op/f_op_actor.h" +#include "f_pc/f_pc_executor.h" +#include "f_pc/f_pc_fstcreate_req.h" +#include "f_pc/f_pc_manager.h" +#include "f_pc/f_pc_searcher.h" +#include "f_pc/f_pc_stdcreate_req.h" #include "dolphin/types.h" -#endif /* F_OP_F_OP_ACTOR_MNG_H */ +struct fopAcM_prm_class { + /* 0x00 */ u32 unk_0x00; + /* 0x04 */ cXyz unk_0x04; + /* 0x10 */ csXyz unk_0x10; + /* 0x16 */ u16 unk_0x16; + /* 0x18 */ u8 unk_0x18; + /* 0x19 */ u8 unk_0x19; + /* 0x1A */ u8 unk_0x1A; + /* 0x1B */ u8 unk_0x1B; + /* 0x1C */ s32 unk_0x1C; + /* 0x20 */ s8 unk_0x20; + /* 0x21 */ s8 unk_0x21; + /* 0x22 */ u8 unk_0x22; + /* 0x23 */ u8 unk_0x23; +}; + +class fopAcM_lc_c { +public: + static bool lineCheck(const cXyz*, const cXyz*, const fopAc_ac_c*); +}; + +class fopAcM_rc_c { +public: + static bool roofCheck(const cXyz*); +}; + +class fopAcM_gc_c { +public: + static bool gndCheck(const cXyz*); +}; + +class fopAcM_wt_c { +public: + static bool waterCheck(const cXyz*); +}; + +struct dKy_tevstr_c; +struct cBgS_PolyInfo; +typedef int (*heapCallbackFunc)(fopAc_ac_c*); +typedef int (*createFunc)(void*); + +struct DOUBLE_POS { + double x, y, z; +}; + +inline s32 fopAcM_GetRoomNo(const fopAc_ac_c* pActor) { + return pActor->mRoomNo; +} + +void* fopAcM_FastCreate(s16 pProcTypeID, FastCreateReqFunc param_2, void* param_3, void* pData); +void fopAcM_setStageLayer(void*); +int fopAcM_setRoomLayer(void*, int); +s32 fopAcM_SearchByID(unsigned int id, fopAc_ac_c** actor); +s32 fopAcM_SearchByName(s16 procName, fopAc_ac_c** actor); +fopAcM_prm_class* fopAcM_CreateAppend(void); +fopAcM_prm_class* createAppend(u16, u32, const cXyz*, int, const csXyz*, const cXyz*, s8, + unsigned int); +void fopAcM_Log(const fopAc_ac_c*, const char*); +void fopAcM_delete(fopAc_ac_c*); +s32 fopAcM_delete(unsigned int); +s32 fopAcM_create(s16, u16, u32, const cXyz*, int, const csXyz*, const cXyz*, s8, createFunc); +s32 fopAcM_create(s16, u32, const cXyz*, int, const csXyz*, const cXyz*, s8); +void* fopAcM_fastCreate(s16, u32, const cXyz*, int, const csXyz*, const cXyz*, s8, createFunc, + void*); +void* fopAcM_fastCreate(const char*, u32, const cXyz*, int, const csXyz*, const cXyz*, createFunc, + void*); +s32 fopAcM_createChild(s16, unsigned int, u32, const cXyz*, int, const csXyz*, const cXyz*, s8, + createFunc); +s32 fopAcM_createChildFromOffset(s16, unsigned int, u32, const cXyz*, int, const csXyz*, + const cXyz*, s8, createFunc); +void fopAcM_DeleteHeap(fopAc_ac_c*); +s32 fopAcM_callCallback(fopAc_ac_c*, heapCallbackFunc, JKRHeap*); +bool fopAcM_entrySolidHeap_(fopAc_ac_c*, heapCallbackFunc, u32); +bool fopAcM_entrySolidHeap(fopAc_ac_c*, heapCallbackFunc, u32); +void fopAcM_SetMin(fopAc_ac_c*, f32, f32, f32); +void fopAcM_SetMax(fopAc_ac_c*, f32, f32, f32); +void fopAcM_setCullSizeBox(fopAc_ac_c*, f32, f32, f32, f32, f32, f32); +void fopAcM_setCullSizeSphere(fopAc_ac_c*, f32, f32, f32, f32); +void fopAcM_setCullSizeBox2(fopAc_ac_c*, J3DModelData*); +bool fopAcM_addAngleY(fopAc_ac_c*, s16, s16); +inline csXyz& fopAcM_GetAngle_p(fopAc_ac_c* pActor) { + return pActor->mAngle; +} +void fopAcM_calcSpeed(fopAc_ac_c*); +void fopAcM_posMove(fopAc_ac_c*, const cXyz*); +void fopAcM_posMoveF(fopAc_ac_c*, const cXyz*); +s16 fopAcM_searchActorAngleY(const fopAc_ac_c*, const fopAc_ac_c*); +s16 fopAcM_searchActorAngleX(const fopAc_ac_c*, const fopAc_ac_c*); +s32 fopAcM_seenActorAngleY(const fopAc_ac_c*, const fopAc_ac_c*); +f32 fopAcM_searchActorDistance(const fopAc_ac_c*, const fopAc_ac_c*); +f32 fopAcM_searchActorDistance2(const fopAc_ac_c*, const fopAc_ac_c*); +f32 fopAcM_searchActorDistanceXZ(const fopAc_ac_c*, const fopAc_ac_c*); +f32 fopAcM_searchActorDistanceXZ2(const fopAc_ac_c*, const fopAc_ac_c*); +s32 fopAcM_rollPlayerCrash(const fopAc_ac_c*, f32, u32, f32, f32, int, f32); +s32 fopAcM_checkCullingBox(f32[3][4], f32, f32, f32, f32, f32, f32); +s32 fopAcM_cullingCheck(const fopAc_ac_c*); +s32 event_second_actor(u16); +s32 fopAcM_orderTalkEvent(fopAc_ac_c*, fopAc_ac_c*, u16, u16); +s32 fopAcM_orderTalkItemBtnEvent(u16, fopAc_ac_c*, fopAc_ac_c*, u16, u16); +s32 fopAcM_orderSpeakEvent(fopAc_ac_c*, u16, u16); +s32 fopAcM_orderDoorEvent(fopAc_ac_c*, fopAc_ac_c*, u16, u16); +s32 fopAcM_orderCatchEvent(fopAc_ac_c*, fopAc_ac_c*, u16, u16); +s32 fopAcM_orderOtherEvent(fopAc_ac_c*, const char*, u16, u16, u16); +s32 fopAcM_orderOtherEvent(fopAc_ac_c*, fopAc_ac_c*, const char*, u16, u16, u16); +s32 fopAcM_orderChangeEventId(fopAc_ac_c*, s16, u16, u16); +s32 fopAcM_orderOtherEventId(fopAc_ac_c*, s16, u8, u16, u16, u16); +s32 fopAcM_orderMapToolEvent(fopAc_ac_c*, u8, s16, u16, u16, u16); +s32 fopAcM_orderMapToolAutoNextEvent(fopAc_ac_c*, u8, s16, u16, u16, u16); +s32 fopAcM_orderPotentialEvent(fopAc_ac_c*, u16, u16, u16); +s32 fopAcM_orderItemEvent(fopAc_ac_c*, u16, u16); +s32 fopAcM_orderTreasureEvent(fopAc_ac_c*, fopAc_ac_c*, u16, u16); +s32 fopAcM_getTalkEventPartner(const fopAc_ac_c*); +s32 fopAcM_getItemEventPartner(const fopAc_ac_c*); +s32 fopAcM_getEventPartner(const fopAc_ac_c*); +s32 fopAcM_createItemForPresentDemo(const cXyz*, int, u8, int, int, const csXyz*, const cXyz*); +s32 fopAcM_createItemForTrBoxDemo(const cXyz*, int, int, int, const csXyz*, const cXyz*); +s32 fopAcM_getItemNoFromTableNo(u8); +s32 fopAcM_createItemFromEnemyID(u8, const cXyz*, int, int, const csXyz*, const cXyz*, f32*, f32*); +s32 fopAcM_createItemFromTable(const cXyz*, int, int, int, const csXyz*, int, const cXyz*, f32*, + f32*, bool); +s32 fopAcM_createDemoItem(const cXyz*, int, int, const csXyz*, int, const cXyz*, u8); +s32 fopAcM_createItemForBoss(const cXyz*, int, int, const csXyz*, const cXyz*, f32, f32, int); +s32 fopAcM_createItemForMidBoss(const cXyz*, int, int, const csXyz*, const cXyz*, int, int); +void* fopAcM_createItemForDirectGet(const cXyz*, int, int, const csXyz*, const cXyz*, f32, f32); +void* fopAcM_createItemForSimpleDemo(const cXyz*, int, int, const csXyz*, const cXyz*, f32, f32); +s32 fopAcM_createItem(const cXyz*, int, int, int, const csXyz*, const cXyz*, int); +void* fopAcM_fastCreateItem2(const cXyz*, int, int, int, int, const csXyz*, const cXyz*); +void* fopAcM_fastCreateItem(const cXyz*, int, int, const csXyz*, const cXyz*, f32*, f32*, int, int, + createFunc); +s32 fopAcM_createBokkuri(u16, const cXyz*, int, int, int, const cXyz*, int, int); +s32 fopAcM_createWarpHole(const cXyz*, const csXyz*, int, u8, u8, u8); +s32 fopAcM_myRoomSearchEnemy(s8); +s32 fopAcM_createDisappear(const fopAc_ac_c*, const cXyz*, u8, u8, u8); +s32 fopAcM_setCarryNow(fopAc_ac_c*, int); +s32 fopAcM_cancelCarryNow(fopAc_ac_c*); +f32 fopAcM_otoCheck(const fopAc_ac_c*, f32); +s32 fopAcM_otherBgCheck(const fopAc_ac_c*, const fopAc_ac_c*); +s32 fopAcM_wayBgCheck(const fopAc_ac_c*, f32, f32); +s32 fopAcM_plAngleCheck(const fopAc_ac_c*, s16); +s32 fopAcM_effSmokeSet1(u32*, u32*, const cXyz*, const csXyz*, f32, const dKy_tevstr_c*, int); +s32 fopAcM_effHamonSet(u32*, const cXyz*, f32, f32); +s32 fopAcM_riverStream(cXyz*, s16*, f32*, f32); +s32 fopAcM_carryOffRevise(fopAc_ac_c*); +void vectle_calc(const DOUBLE_POS*, cXyz*); +void get_vectle_calc(const cXyz*, const cXyz*, cXyz*); +void fopAcM_setEffectMtx(const fopAc_ac_c*, const J3DModelData*); +const char* fopAcM_getProcNameString(const fopAc_ac_c*); +s32 fopAcM_findObjectCB(const fopAc_ac_c*, void*); +s32 fopAcM_searchFromName(const char*, u32, u32); +s32 fopAcM_findObject4EventCB(fopAc_ac_c*, void*); +s32 fopAcM_searchFromName4Event(const char*, s16); +s32 fopAcM_getWaterY(const cXyz*, f32*); +void fpoAcM_relativePos(const fopAc_ac_c*, const cXyz*, cXyz*); +s32 fopAcM_getWaterStream(const cXyz*, const cBgS_PolyInfo&, cXyz*, int*, int); +s16 fopAcM_getPolygonAngle(const cBgS_PolyInfo&, s16); + +extern "C" { +void fopAcM_initManager__Fv(void); +void fopAcM_CreateAppend__Fv(void); +void fopAcM_DeleteHeap__FP10fopAc_ac_c(void); +void fopAcM_FastCreate__FsPFPv_iPvPv(void); +void fopAcM_Log__FPC10fopAc_ac_cPCc(void); +void fopAcM_SearchByID__FUiPP10fopAc_ac_c(void); +void fopAcM_calcSpeed__FP10fopAc_ac_c(void); +void fopAcM_callCallback__FP10fopAc_ac_cPFP10fopAc_ac_c_iP7JKRHeap(void); +void fopAcM_cancelCarryNow__FP10fopAc_ac_c(void); +void fopAcM_create__FsUsUlPC4cXyziPC5csXyzPC4cXyzScPFPv_i(void); +void fopAcM_createChild__FsUiUlPC4cXyziPC5csXyzPC4cXyzScPFPv_i(void); +void fopAcM_createDemoItem__FPC4cXyziiPC5csXyziPC4cXyzUc(void); +void fopAcM_createItem__FPC4cXyziiiPC5csXyzPC4cXyzi(void); +void fopAcM_createItemForDirectGet__FPC4cXyziiPC5csXyzPC4cXyzff(void); +void fopAcM_createItemForPresentDemo__FPC4cXyziUciiPC5csXyzPC4cXyz(void); +void fopAcM_createItemForSimpleDemo__FPC4cXyziiPC5csXyzPC4cXyzff(void); +void fopAcM_createItemForTrBoxDemo__FPC4cXyziiiPC5csXyzPC4cXyz(void); +void fopAcM_createItemFromTable__FPC4cXyziiiPC5csXyziPC4cXyzPfPfb(void); +void fopAcM_create__FsUlPC4cXyziPC5csXyzPC4cXyzSc(void); +void fopAcM_cullingCheck__FPC10fopAc_ac_c(void); +void fopAcM_delete__FP10fopAc_ac_c(void); +void fopAcM_delete__FUi(void); +void fopAcM_effHamonSet__FPUlPC4cXyzff(void); +void fopAcM_entrySolidHeap__FP10fopAc_ac_cPFP10fopAc_ac_c_iUl(void); +void fopAcM_entrySolidHeap___FP10fopAc_ac_cPFP10fopAc_ac_c_iUl(void); +void fopAcM_fastCreate__FsUlPC4cXyziPC5csXyzPC4cXyzScPFPv_iPv(void); +void fopAcM_fastCreateItem__FPC4cXyziiPC5csXyzPC4cXyzPfPfiiPFPv_i(void); +void fopAcM_fastCreateItem2__FPC4cXyziiiiPC5csXyzPC4cXyz(void); +void fopAcM_fastCreate__FPCcUlPC4cXyziPC5csXyzPC4cXyzPFPv_iPv(void); +void fopAcM_findObject4EventCB__FP10fopAc_ac_cPv(void); +void fopAcM_findObjectCB__FPC10fopAc_ac_cPv(void); +void gndCheck__11fopAcM_gc_cFPC4cXyz(void); +void fopAcM_getEventPartner__FPC10fopAc_ac_c(void); +void fopAcM_getItemEventPartner__FPC10fopAc_ac_c(void); +void fopAcM_getItemNoFromTableNo__FUc(void); +void fopAcM_getPolygonAngle__FRC13cBgS_PolyInfos(void); +void fopAcM_getPolygonAngle__FPC8cM3dGPlas(void); +void fopAcM_getProcNameString__FPC10fopAc_ac_c(void); +void fopAcM_getTalkEventPartner__FPC10fopAc_ac_c(void); +void fopAcM_getWaterStream__FPC4cXyzRC13cBgS_PolyInfoP4cXyzPii(void); +void fopAcM_getWaterY__FPC4cXyzPf(void); +void lineCheck__11fopAcM_lc_cFPC4cXyzPC4cXyzPC10fopAc_ac_c(void); +void fopAcM_orderCatchEvent__FP10fopAc_ac_cP10fopAc_ac_cUsUs(void); +void fopAcM_orderChangeEventId__FP10fopAc_ac_csUsUs(void); +void fopAcM_orderDoorEvent__FP10fopAc_ac_cP10fopAc_ac_cUsUs(void); +void fopAcM_orderItemEvent__FP10fopAc_ac_cUsUs(void); +void fopAcM_orderMapToolAutoNextEvent__FP10fopAc_ac_cUcsUsUsUs(void); +void fopAcM_orderMapToolEvent__FP10fopAc_ac_cUcsUsUsUs(void); +void fopAcM_orderOtherEvent__FP10fopAc_ac_cPCcUsUsUs(void); +void fopAcM_orderOtherEventId__FP10fopAc_ac_csUcUsUsUs(void); +void fopAcM_orderOtherEvent__FP10fopAc_ac_cP10fopAc_ac_cPCcUsUsUs(void); +void fopAcM_orderSpeakEvent__FP10fopAc_ac_cUsUs(void); +void fopAcM_orderTalkEvent__FP10fopAc_ac_cP10fopAc_ac_cUsUs(void); +void fopAcM_orderTalkItemBtnEvent__FUsP10fopAc_ac_cP10fopAc_ac_cUsUs(void); +void fopAcM_orderTreasureEvent__FP10fopAc_ac_cP10fopAc_ac_cUsUs(void); +void fopAcM_posMove__FP10fopAc_ac_cPC4cXyz(void); +void fopAcM_posMoveF__FP10fopAc_ac_cPC4cXyz(void); +void fopAcM_searchActorAngleY__FPC10fopAc_ac_cPC10fopAc_ac_c(void); +void fopAcM_searchActorDistance__FPC10fopAc_ac_cPC10fopAc_ac_c(void); +void fopAcM_searchActorDistanceXZ__FPC10fopAc_ac_cPC10fopAc_ac_c(void); +void fopAcM_searchActorDistanceXZ2__FPC10fopAc_ac_cPC10fopAc_ac_c(void); +void fopAcM_searchFromName__FPCcUlUl(void); +void fopAcM_searchFromName4Event__FPCcs(void); +void fopAcM_seenActorAngleY__FPC10fopAc_ac_cPC10fopAc_ac_c(void); +void fopAcM_setCarryNow__FP10fopAc_ac_ci(void); +void fopAcM_setCullSizeBox__FP10fopAc_ac_cffffff(void); +void fopAcM_setEffectMtx__FPC10fopAc_ac_cPC12J3DModelData(void); +void fopAcM_setRoomLayer__FPvi(void); +void fopAcM_setStageLayer__FPv(void); +void waterCheck__11fopAcM_wt_cFPC4cXyz(void); +void fopScnM_SearchByID(void); +void fpoAcM_relativePos__FPC10fopAc_ac_cPC4cXyzP4cXyz(void); +void fopAcM_SearchByName__FsPP10fopAc_ac_c(void); +void fopAcM_createChildFromOffset__FsUiUlPC4cXyziPC5csXyzPC4cXyzScPFPv_i(void); +void fopAcM_SetMin__FP10fopAc_ac_cfff(void); +void fopAcM_SetMax__FP10fopAc_ac_cfff(void); +void fopAcM_setCullSizeSphere__FP10fopAc_ac_cffff(void); +void fopAcM_setCullSizeBox2__FP10fopAc_ac_cP12J3DModelData(void); +void fopAcM_addAngleY__FP10fopAc_ac_css(void); +void fopAcM_searchActorAngleX__FPC10fopAc_ac_cPC10fopAc_ac_c(void); +void fopAcM_searchActorDistance2__FPC10fopAc_ac_cPC10fopAc_ac_c(void); +void fopAcM_rollPlayerCrash__FPC10fopAc_ac_cfUlffif(void); +void fopAcM_checkCullingBox__FPA4_fffffff(void); +void fopAcM_orderPotentialEvent__FP10fopAc_ac_cUsUsUs(void); +void fopAcM_createItemFromEnemyID__FUcPC4cXyziiPC5csXyzPC4cXyzPfPf(void); +void fopAcM_createItemForBoss__FPC4cXyziiPC5csXyzPC4cXyzffi(void); +void fopAcM_createItemForMidBoss__FPC4cXyziiPC5csXyzPC4cXyzii(void); +void fopAcM_createBokkuri__FUsPC4cXyziiiPC4cXyzii(void); +void fopAcM_createWarpHole__FPC4cXyzPC5csXyziUcUcUc(void); +void fopAcM_myRoomSearchEnemy__FSc(void); +void fopAcM_createDisappear__FPC10fopAc_ac_cPC4cXyzUcUcUc(void); +void fopAcM_otoCheck__FPC10fopAc_ac_cf(void); +void fopAcM_otherBgCheck__FPC10fopAc_ac_cPC10fopAc_ac_c(void); +void fopAcM_wayBgCheck__FPC10fopAc_ac_cff(void); +void fopAcM_plAngleCheck__FPC10fopAc_ac_cs(void); +void fopAcM_effSmokeSet1__FPUlPUlPC4cXyzPC5csXyzfPC12dKy_tevstr_ci(void); +void fopAcM_riverStream__FP4cXyzPsPff(void); +void fopAcM_carryOffRevise__FP10fopAc_ac_c(void); +void fopAcM_searchFromName4Event__FPCcs(void); +void fopAcM_GetName__FPv(void); // mostly inlined +void fopAcM_GetID__FPCv(void); // mostly inlined +void fopAcM_GetParam__FPCv(void); // mostly inlined +} + +#endif \ No newline at end of file diff --git a/include/f_op/f_op_actor_tag.h b/include/f_op/f_op_actor_tag.h index 0877197c93..fdd16d0cf6 100644 --- a/include/f_op/f_op_actor_tag.h +++ b/include/f_op/f_op_actor_tag.h @@ -1,6 +1,10 @@ -#ifndef F_OP_F_OP_ACTOR_TAG_H -#define F_OP_F_OP_ACTOR_TAG_H +#ifndef F_OP_ACTOR_TAG_H_ +#define F_OP_ACTOR_TAG_H_ +#include "SSystem/SComponent/c_tag.h" #include "dolphin/types.h" -#endif /* F_OP_F_OP_ACTOR_TAG_H */ +// f_op_actor_tag::g_fopAcTg_Queue +extern node_list_class g_fopAcTg_Queue; + +#endif \ No newline at end of file diff --git a/include/f_op/f_op_camera.h b/include/f_op/f_op_camera.h index 3bfc5f9a6c..f857af2a0d 100644 --- a/include/f_op/f_op_camera.h +++ b/include/f_op/f_op_camera.h @@ -1,6 +1,8 @@ -#ifndef F_OP_F_OP_CAMERA_H -#define F_OP_F_OP_CAMERA_H +#ifndef F_F_OP_CAMERA_H_ +#define F_F_OP_CAMERA_H_ -#include "dolphin/types.h" - -#endif /* F_OP_F_OP_CAMERA_H */ +#include "f_op/f_op_camera_mng.h" +static s32 fopCam_Draw(camera_class* param_1); +static void fopCam_Execute(camera_class* pCamera); +int fopCam_IsDelete(camera_class* pCamera); +#endif \ No newline at end of file diff --git a/include/f_op/f_op_camera_mng.h b/include/f_op/f_op_camera_mng.h index fcb5191a0a..0871dc0882 100644 --- a/include/f_op/f_op_camera_mng.h +++ b/include/f_op/f_op_camera_mng.h @@ -1,6 +1,21 @@ -#ifndef F_OP_F_OP_CAMERA_MNG_H -#define F_OP_F_OP_CAMERA_MNG_H +#ifndef F_F_OP_CAMERA_MNG_H_ +#define F_F_OP_CAMERA_MNG_H_ #include "dolphin/types.h" +#include "f_op/f_op_draw_tag.h" +#include "f_pc/f_pc_leaf.h" -#endif /* F_OP_F_OP_CAMERA_MNG_H */ +class camera_class { +public: + /* 0x000 */ u8 field_0x00[0xB0]; + /* 0x0B0 */ u32 parameter; + /* 0x0B4 */ u8 field_0xB4[0x15C]; + /* 0x210 */ create_tag_class pCreateTag; + /* 0x224 */ leafdraw_method_class* pMthd; +}; + +void fopCamM_Management(void); +u32 fopCamM_GetParam(camera_class* pCamera); +void fopCamM_Init(void); + +#endif \ No newline at end of file diff --git a/include/f_op/f_op_draw_iter.h b/include/f_op/f_op_draw_iter.h index 8abc0d7c63..a9e1048b60 100644 --- a/include/f_op/f_op_draw_iter.h +++ b/include/f_op/f_op_draw_iter.h @@ -1,6 +1,10 @@ -#ifndef F_OP_F_OP_DRAW_ITER_H -#define F_OP_F_OP_DRAW_ITER_H +#ifndef F_F_OP_DRAW_ITER_H_ +#define F_F_OP_DRAW_ITER_H_ -#include "dolphin/types.h" +#include "SSystem/SComponent/c_tag.h" -#endif /* F_OP_F_OP_DRAW_ITER_H */ +static create_tag_class* fopDwIt_GetTag(void); +create_tag_class* fopDwIt_Begin(void); +create_tag_class* fopDwIt_Next(create_tag_class* pCreateTag); + +#endif \ No newline at end of file diff --git a/include/f_op/f_op_draw_tag.h b/include/f_op/f_op_draw_tag.h index 29603c6df6..2787c92801 100644 --- a/include/f_op/f_op_draw_tag.h +++ b/include/f_op/f_op_draw_tag.h @@ -1,6 +1,8 @@ -#ifndef F_OP_F_OP_DRAW_TAG_H -#define F_OP_F_OP_DRAW_TAG_H +#ifndef F_F_OP_DRAW_TAG +#define F_F_OP_DRAW_TAG -#include "dolphin/types.h" +#include "SSystem/SComponent/c_tag.h" -#endif /* F_OP_F_OP_DRAW_TAG_H */ +void fopDwTg_DrawQTo(create_tag_class* pTag); + +#endif \ No newline at end of file diff --git a/include/f_op/f_op_kankyo_mng.h b/include/f_op/f_op_kankyo_mng.h index 92473bcdea..06f72dae2c 100644 --- a/include/f_op/f_op_kankyo_mng.h +++ b/include/f_op/f_op_kankyo_mng.h @@ -1,6 +1,14 @@ -#ifndef F_OP_F_OP_KANKYO_MNG_H -#define F_OP_F_OP_KANKYO_MNG_H +#ifndef F_F_OP_KANKYO_MNG_H_ +#define F_F_OP_KANKYO_MNG_H_ +#include "SSystem/SComponent/c_xyz.h" #include "dolphin/types.h" -#endif /* F_OP_F_OP_KANKYO_MNG_H */ +typedef int (*fopKyMCreateFunc)(void*); + +void* fopKyM_CreateAppend(void); +f32* createAppend(int param_1, cXyz* param_2, cXyz* param_3); +void fopKyM_Delete(void* param_1); +void fopKyM_Create(s16 param_1, fopKyMCreateFunc param_2, void* param_3); + +#endif \ No newline at end of file diff --git a/include/f_op/f_op_msg_mng.h b/include/f_op/f_op_msg_mng.h index 9272cfdcfd..e5796a0a8d 100644 --- a/include/f_op/f_op_msg_mng.h +++ b/include/f_op/f_op_msg_mng.h @@ -1,6 +1,9 @@ -#ifndef F_OP_F_OP_MSG_MNG_H -#define F_OP_F_OP_MSG_MNG_H +#ifndef F_F_OP_MSG_MNG_H_ +#define F_F_OP_MSG_MNG_H_ #include "dolphin/types.h" +#include "f_op/f_op_actor.h" -#endif /* F_OP_F_OP_MSG_MNG_H */ +typedef int (*fopMsgCreateFunc)(void*); + +#endif \ No newline at end of file diff --git a/include/f_op/f_op_overlap.h b/include/f_op/f_op_overlap.h index ae0c441c49..768d610f17 100644 --- a/include/f_op/f_op_overlap.h +++ b/include/f_op/f_op_overlap.h @@ -1,6 +1,8 @@ -#ifndef F_OP_F_OP_OVERLAP_H -#define F_OP_F_OP_OVERLAP_H +#ifndef F_F_OP_OVERLAP_H_ +#define F_F_OP_OVERLAP_H_ #include "dolphin/types.h" -#endif /* F_OP_F_OP_OVERLAP_H */ +static void fopOvlp_Draw(void* param_1); + +#endif \ No newline at end of file diff --git a/include/f_op/f_op_overlap_mng.h b/include/f_op/f_op_overlap_mng.h index 37dc0f18df..82d8b64200 100644 --- a/include/f_op/f_op_overlap_mng.h +++ b/include/f_op/f_op_overlap_mng.h @@ -1,6 +1,26 @@ -#ifndef F_OP_F_OP_OVERLAP_MNG_H -#define F_OP_F_OP_OVERLAP_MNG_H +#ifndef F_F_OP_OVERLAP_MNG_H_ +#define F_F_OP_OVERLAP_MNG_H_ +#include "SSystem/SComponent/c_request.h" #include "dolphin/types.h" -#endif /* F_OP_F_OP_OVERLAP_MNG_H */ +class overlap_task_class { +public: + /* 0x00 */ u8 field_0x00[0xC4]; + /* 0xC4 */ u8 field_0xc4; +}; + +int fopOvlpM_SceneIsStop(void); +int fopOvlpM_SceneIsStart(void); +void fopOvlpM_Management(void); +int fopOvlpM_IsOutReq(overlap_task_class* pTaskClass); +void fopOvlpM_Done(overlap_task_class* pTaskClass); +void fopOvlpM_ToldAboutID(unsigned int param_1); +int fopOvlpM_IsPeek(void); +int fopOvlpM_IsDone(void); +int fopOvlpM_IsDoingReq(void); +int fopOvlpM_ClearOfReq(void); +request_base_class* fopOvlpM_Request(s16 param_1, u16 param_2); +int fopOvlpM_Cancel(void); + +#endif \ No newline at end of file diff --git a/include/f_op/f_op_overlap_req.h b/include/f_op/f_op_overlap_req.h index 03e0604028..0a88ab8cbe 100644 --- a/include/f_op/f_op_overlap_req.h +++ b/include/f_op/f_op_overlap_req.h @@ -1,6 +1,33 @@ -#ifndef F_OP_F_OP_OVERLAP_REQ_H -#define F_OP_F_OP_OVERLAP_REQ_H +#ifndef F_F_OP_OVERLAP_REQ_H_ +#define F_F_OP_OVERLAP_REQ_H_ +#include "SSystem/SComponent/c_phase.h" +#include "SSystem/SComponent/c_request.h" #include "dolphin/types.h" +#include "f_pc/f_pc_layer.h" -#endif /* F_OP_F_OP_OVERLAP_REQ_H */ +class overlap_request_class { +public: + s8 field_0x0; + u8 field_0x1; + s16 field_0x2; + u16 field_0x4; + u16 mPeektime; + u32 field_0x8; + u32 field_0xc; + s16 field_0x10; + u8 field_0x12; + u8 field_0x13; + int field_0x14; + request_of_phase_process_class field_0x18; + u8* field_0x20; + layer_class* pCurrentLayer; +}; +int fopOvlpReq_OverlapClr(overlap_request_class* param_1); +request_base_class* fopOvlpReq_Request(overlap_request_class*, s16, u16); +int fopOvlpReq_Handler(overlap_request_class*); +int fopOvlpReq_Cancel(overlap_request_class*); +static int fopOvlpReq_phase_Done(overlap_request_class* param_1); +int fopOvlpReq_Is_PeektimeLimit(overlap_request_class*); + +#endif \ No newline at end of file diff --git a/include/f_op/f_op_scene.h b/include/f_op/f_op_scene.h index 2359fc3e72..3f8aa67441 100644 --- a/include/f_op/f_op_scene.h +++ b/include/f_op/f_op_scene.h @@ -1,6 +1,19 @@ -#ifndef F_OP_F_OP_SCENE_H -#define F_OP_F_OP_SCENE_H +#ifndef F_F_OP_SCENE_H_ +#define F_F_OP_SCENE_H_ #include "dolphin/types.h" +#include "f_op/f_op_scene_tag.h" +#include "f_pc/f_pc_node.h" -#endif /* F_OP_F_OP_SCENE_H */ +class scene_class { +public: + /* 0x000 */ u8 field_0x00; + /* 0x004 */ u32 field_0x04; + /* 0x008 */ u8 field_0x08[0x24]; + /* 0x02C */ int* field_0x2C; + /* 0x030 */ u8 field_0x30[0x17C]; + /* 0x1AC */ process_method_class* mpProcessMtd; + /* 0x1B0 */ scene_tag_class* field_0x1b0; +}; + +#endif \ No newline at end of file diff --git a/include/f_op/f_op_scene_iter.h b/include/f_op/f_op_scene_iter.h index 0515e180e3..b135a73f2d 100644 --- a/include/f_op/f_op_scene_iter.h +++ b/include/f_op/f_op_scene_iter.h @@ -1,6 +1,10 @@ -#ifndef F_OP_F_OP_SCENE_ITER_H -#define F_OP_F_OP_SCENE_ITER_H +#ifndef F_F_OP_SCENE_ITER_H_ +#define F_F_OP_SCENE_ITER_H_ #include "dolphin/types.h" +#include "f_pc/f_pc_base.h" -#endif /* F_OP_F_OP_SCENE_ITER_H */ +typedef void* (*fop_ScnItFunc)(void* pProc, void* pUserData); +void* fopScnIt_Judge(fop_ScnItFunc pFunc1, void* pUserData); + +#endif \ No newline at end of file diff --git a/include/f_op/f_op_scene_mng.h b/include/f_op/f_op_scene_mng.h index 07fe2a6c4d..55d546ec74 100644 --- a/include/f_op/f_op_scene_mng.h +++ b/include/f_op/f_op_scene_mng.h @@ -1,6 +1,14 @@ -#ifndef F_OP_F_OP_SCENE_MNG_H -#define F_OP_F_OP_SCENE_MNG_H +#ifndef F_F_OP_SCENE_MNG_H_ +#define F_F_OP_SCENE_MNG_H_ -#include "dolphin/types.h" +#include "f_op/f_op_scene_pause.h" -#endif /* F_OP_F_OP_SCENE_MNG_H */ +void* fopScnM_SearchByID(unsigned int id); +int fopScnM_ChangeReq(scene_class*, s16, s16, u16); +unsigned int fopScnM_DeleteReq(scene_class*); +int fopScnM_CreateReq(s16, s16, u16, u32); +u32 fopScnM_ReRequest(s16, u32); +void fopScnM_Management(void); +void fopScnM_Init(void); + +#endif \ No newline at end of file diff --git a/include/f_op/f_op_scene_pause.h b/include/f_op/f_op_scene_pause.h index 33a698c771..d80452174e 100644 --- a/include/f_op/f_op_scene_pause.h +++ b/include/f_op/f_op_scene_pause.h @@ -1,6 +1,10 @@ -#ifndef F_OP_F_OP_SCENE_PAUSE_H -#define F_OP_F_OP_SCENE_PAUSE_H +#ifndef F_F_OP_SCENE_PAUSE_H_ +#define F_F_OP_SCENE_PAUSE_H_ #include "dolphin/types.h" +#include "f_op/f_op_scene.h" -#endif /* F_OP_F_OP_SCENE_PAUSE_H */ +int fopScnPause_Enable(scene_class* pScene); +int fopScnPause_Disable(scene_class* pScene); + +#endif \ No newline at end of file diff --git a/include/f_op/f_op_scene_req.h b/include/f_op/f_op_scene_req.h index 38f482ef27..0b8f44d3e8 100644 --- a/include/f_op/f_op_scene_req.h +++ b/include/f_op/f_op_scene_req.h @@ -1,6 +1,27 @@ -#ifndef F_OP_F_OP_SCENE_REQ_H -#define F_OP_F_OP_SCENE_REQ_H +#ifndef F_F_OP_SCENE_REQ_H_ +#define F_F_OP_SCENE_REQ_H_ +#include "SSystem/SComponent/c_phase.h" #include "dolphin/types.h" +#include "f_op/f_op_scene_pause.h" +#include "f_pc/f_pc_node_req.h" -#endif /* F_OP_F_OP_SCENE_REQ_H */ +extern "C" { +void fopScnRq_Handler__Fv(void); +void fopScnRq_ReRequest(void); +} + +class scene_request_class { +public: + node_create_request mCrtReq; + u32 mFadeRequest; + request_of_phase_process_class mReqPhsProcCls; + u8 field_0x70[4]; +}; + +scene_request_class* fopScnRq_phase_ClearOverlap(scene_request_class* param_1); +s32 fopScnRq_Request(int, scene_class*, s16, void*, s16, u16); +s32 fopScnRq_ReRequest(unsigned int, s16, void*); +void fopScnRq_Handler(void); + +#endif \ No newline at end of file diff --git a/include/f_op/f_op_scene_tag.h b/include/f_op/f_op_scene_tag.h index 52275d4a40..afb233a977 100644 --- a/include/f_op/f_op_scene_tag.h +++ b/include/f_op/f_op_scene_tag.h @@ -1,6 +1,15 @@ -#ifndef F_OP_F_OP_SCENE_TAG_H -#define F_OP_F_OP_SCENE_TAG_H +#ifndef F_F_OP_SCENE_TAG_H_ +#define F_F_OP_SCENE_TAG_H_ #include "dolphin/types.h" +#include "f_pc/f_pc_node.h" -#endif /* F_OP_F_OP_SCENE_TAG_H */ +class scene_tag_class; + +void fopScnTg_QueueTo(scene_tag_class* pSceneTag); +void fopScnTg_ToQueue(scene_tag_class* pSceneTag); +void fopScnTg_Init(scene_tag_class* pSceneTag, void* pData); + +extern node_list_class g_fopScnTg_SceneList; + +#endif \ No newline at end of file diff --git a/include/f_op/f_op_view.h b/include/f_op/f_op_view.h index 3e12fe9792..5ab7d8c7ee 100644 --- a/include/f_op/f_op_view.h +++ b/include/f_op/f_op_view.h @@ -1,6 +1,15 @@ -#ifndef F_OP_F_OP_VIEW_H -#define F_OP_F_OP_VIEW_H +#ifndef F_F_OP_VIEW_H_ +#define F_F_OP_VIEW_H_ #include "dolphin/types.h" +#include "f_pc/f_pc_leaf.h" -#endif /* F_OP_F_OP_VIEW_H */ +class view_class { +public: + /* 0x00 */ u8 field_0x00[0x10]; + /* 0x10 */ leafdraw_class* pLeafdraw; + /* 0x14 */ u8 field_0x14[0xac]; + /* 0xC0 */ process_method_class* pmProcessMtd; +}; + +#endif \ No newline at end of file diff --git a/libs/SSystem/SComponent/c_request.cpp b/libs/SSystem/SComponent/c_request.cpp index 9feb2b5098..159ae315cc 100644 --- a/libs/SSystem/SComponent/c_request.cpp +++ b/libs/SSystem/SComponent/c_request.cpp @@ -7,12 +7,6 @@ #include "dol2asm.h" #include "dolphin/types.h" -// -// Types: -// - -struct request_base_class {}; - // // Forward References: // @@ -34,7 +28,7 @@ extern "C" void cReq_Create__FP18request_base_classUc(); #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void cReq_Is_Done(request_base_class* param_0) { +asm int cReq_Is_Done(request_base_class* param_0) { nofralloc #include "asm/SSystem/SComponent/c_request/cReq_Is_Done__FP18request_base_class.s" } @@ -45,7 +39,7 @@ asm void cReq_Is_Done(request_base_class* param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void cReq_Done(request_base_class* param_0) { +asm int cReq_Done(request_base_class* param_0) { nofralloc #include "asm/SSystem/SComponent/c_request/cReq_Done__FP18request_base_class.s" } @@ -55,7 +49,7 @@ asm void cReq_Done(request_base_class* param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void cReq_Command(request_base_class* param_0, u8 param_1) { +asm int cReq_Command(request_base_class* param_0, u8 param_1) { nofralloc #include "asm/SSystem/SComponent/c_request/cReq_Command__FP18request_base_classUc.s" } @@ -65,7 +59,7 @@ asm void cReq_Command(request_base_class* param_0, u8 param_1) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void cReq_Create(request_base_class* param_0, u8 param_1) { +asm int cReq_Create(request_base_class* param_0, u8 param_1) { nofralloc #include "asm/SSystem/SComponent/c_request/cReq_Create__FP18request_base_classUc.s" } diff --git a/libs/Z2AudioLib/Z2AudioArcLoader.cpp b/libs/Z2AudioLib/Z2AudioArcLoader.cpp index 2f004caf47..6e60099099 100644 --- a/libs/Z2AudioLib/Z2AudioArcLoader.cpp +++ b/libs/Z2AudioLib/Z2AudioArcLoader.cpp @@ -25,16 +25,6 @@ struct Z2FxLineMgr { /* 802BA7FC */ void initDataArc(JKRArchive*, JKRHeap*); }; -struct JAUSection {}; - -struct Z2AudioArcLoader { - /* 802A9A34 */ Z2AudioArcLoader(JAUSection*); - /* 802A9A70 */ void readCommandMore(u32); - /* 802A9AC8 */ void readBFCA(void const*); - /* 802A9B54 */ void readBSTN(void const*, u32); - /* 802A9B58 */ ~Z2AudioArcLoader(); -}; - struct JAUSectionHeap { /* 802A6094 */ void getOpenSection(); }; diff --git a/libs/Z2AudioLib/Z2Calc.cpp b/libs/Z2AudioLib/Z2Calc.cpp index da897c37a2..583740ec1a 100644 --- a/libs/Z2AudioLib/Z2Calc.cpp +++ b/libs/Z2AudioLib/Z2Calc.cpp @@ -11,24 +11,6 @@ // Types: // -struct Z2Calc { - struct CurveSign {}; - - struct FNoise1f { - /* 802A9944 */ void setParam(f32, f32, f32); - /* 802A9958 */ void tau(f32); - /* 802A99A0 */ void calcNoise1f(); - }; - - /* 802A968C */ void linearTransform(f32, f32, f32, f32, f32, bool); - /* 802A96F4 */ void getParamByExp(f32, f32, f32, f32, f32, f32, Z2Calc::CurveSign); - /* 802A9814 */ void getRandom(f32, f32, f32); - /* 802A98D4 */ void getRandom_0_1(); - - static f32 cEqualCSlope; - static f32 cEqualPSlope; -}; - struct JMath { struct TRandom_fast_ { /* 80339AE4 */ TRandom_fast_(u32); @@ -66,7 +48,7 @@ extern "C" void pow(); #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void Z2Calc::linearTransform(f32 param_0, f32 param_1, f32 param_2, f32 param_3, f32 param_4, +asm f32 Z2Calc::linearTransform(f32 param_0, f32 param_1, f32 param_2, f32 param_3, f32 param_4, bool param_5) { nofralloc #include "asm/Z2AudioLib/Z2Calc/linearTransform__6Z2CalcFfffffb.s" @@ -96,7 +78,7 @@ SECTION_SDATA2 static f32 lit_381 = 1.0f; #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void Z2Calc::getParamByExp(f32 param_0, f32 param_1, f32 param_2, f32 param_3, f32 param_4, +asm f32 Z2Calc::getParamByExp(f32 param_0, f32 param_1, f32 param_2, f32 param_3, f32 param_4, f32 param_5, Z2Calc::CurveSign param_6) { nofralloc #include "asm/Z2AudioLib/Z2Calc/getParamByExp__6Z2CalcFffffffQ26Z2Calc9CurveSign.s" @@ -114,7 +96,7 @@ SECTION_SDATA2 static f32 lit_397 = -2.0f; #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void Z2Calc::getRandom(f32 param_0, f32 param_1, f32 param_2) { +asm f32 Z2Calc::getRandom(f32 param_0, f32 param_1, f32 param_2) { nofralloc #include "asm/Z2AudioLib/Z2Calc/getRandom__6Z2CalcFfff.s" } @@ -131,7 +113,7 @@ static u8 oRandom[4]; #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void Z2Calc::getRandom_0_1() { +asm f32 Z2Calc::getRandom_0_1() { nofralloc #include "asm/Z2AudioLib/Z2Calc/getRandom_0_1__6Z2CalcFv.s" } @@ -151,7 +133,7 @@ asm void Z2Calc::FNoise1f::setParam(f32 param_0, f32 param_1, f32 param_2) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void Z2Calc::FNoise1f::tau(f32 param_0) { +asm f32 Z2Calc::FNoise1f::tau(f32 param_0) { nofralloc #include "asm/Z2AudioLib/Z2Calc/tau__Q26Z2Calc8FNoise1fFf.s" } @@ -162,7 +144,7 @@ asm void Z2Calc::FNoise1f::tau(f32 param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void Z2Calc::FNoise1f::calcNoise1f() { +asm f32 Z2Calc::FNoise1f::calcNoise1f() { nofralloc #include "asm/Z2AudioLib/Z2Calc/calcNoise1f__Q26Z2Calc8FNoise1fFv.s" } diff --git a/src/f_op/f_op_actor.cpp b/src/f_op/f_op_actor.cpp index b568b9b9dd..ddaa231eb7 100644 --- a/src/f_op/f_op_actor.cpp +++ b/src/f_op/f_op_actor.cpp @@ -11,12 +11,6 @@ // Types: // -struct process_method_class {}; - -struct leafdraw_method_class {}; - -struct leafdraw_class {}; - struct dKy_tevstr_c {}; struct fopEn_enemy_c { @@ -26,13 +20,6 @@ struct fopEn_enemy_c { /* 800196A0 */ void drawBallModel(dKy_tevstr_c*); }; -struct fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); - /* 80018C8C */ ~fopAc_ac_c(); - - static u8 stopStatus[4]; -}; - struct daSus_c { /* 800314D4 */ void check(fopAc_ac_c*); }; @@ -63,16 +50,8 @@ struct dRes_control_c { struct dPa_levelEcallBack {}; -struct cXyz { - static f32 Zero[3]; -}; - struct _GXColor {}; -struct csXyz { - /* 80018BD0 */ ~csXyz(); -}; - struct dPa_control_c { /* 8004D4CC */ void set(u32, u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, cXyz const*, u8, dPa_levelEcallBack*, s8, _GXColor const*, @@ -101,8 +80,6 @@ struct dDemo_actor_c { /* 8003815C */ void setActor(fopAc_ac_c*); }; -struct create_tag_class {}; - struct J3DModel {}; struct J3DAnmTevRegKey { @@ -194,7 +171,6 @@ extern "C" void searchUpdateMaterialID__19J3DAnmTextureSRTKeyFP12J3DModelData(); extern "C" void searchUpdateMaterialID__15J3DAnmTevRegKeyFP12J3DModelData(); extern "C" void entryTexMtxAnimator__16J3DMaterialTableFP19J3DAnmTextureSRTKey(); extern "C" void entryTevRegAnimator__16J3DMaterialTableFP15J3DAnmTevRegKey(); -extern "C" void PSMTXTrans(); extern "C" void __construct_array(); extern "C" void _savegpr_29(); extern "C" void _restgpr_29(); @@ -225,7 +201,8 @@ asm fopAc_ac_c::fopAc_ac_c() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm csXyz::~csXyz() { +// asm csXyz::~csXyz() { +extern "C" asm void __dt__5csXyzFv() { nofralloc #include "asm/f_op/f_op_actor/__dt__5csXyzFv.s" } diff --git a/src/f_op/f_op_actor_iter.cpp b/src/f_op/f_op_actor_iter.cpp index 0bdf8e471e..30c9da9813 100644 --- a/src/f_op/f_op_actor_iter.cpp +++ b/src/f_op/f_op_actor_iter.cpp @@ -6,59 +6,35 @@ #include "f_op/f_op_actor_iter.h" #include "dol2asm.h" #include "dolphin/types.h" +#include "SSystem/SComponent/c_list_iter.h" +#include "SSystem/SComponent/c_tag_iter.h" +#include "f_op/f_op_actor_tag.h" -// -// Types: -// - -struct node_list_class {}; - -struct node_class {}; - -struct method_filter {}; - -struct judge_filter {}; - -struct create_tag_class {}; - -// -// Forward References: -// - -extern "C" void fopAcIt_Executor__FPFPvPv_iPv(); -extern "C" void fopAcIt_Judge__FPFPvPv_PvPv(); - -// -// External References: -// - -extern "C" void cLsIt_Method__FP15node_list_classPFP10node_classPv_iPv(); -extern "C" void cLsIt_Judge__FP15node_list_classPFP10node_classPv_PvPv(); -extern "C" void cTgIt_MethodCall__FP16create_tag_classP13method_filter(); -extern "C" void cTgIt_JudgeFilter__FP16create_tag_classP12judge_filter(); -extern "C" extern u8 g_fopAcTg_Queue[12 + 4 /* padding */]; +extern node_list_class g_fopAcTg_Queue; // // Declarations: // /* 800197BC-800197F8 0140FC 003C+00 0/0 5/5 3/3 .text fopAcIt_Executor__FPFPvPv_iPv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void fopAcIt_Executor(int (*)(void*, void*), void* param_1) { - nofralloc -#include "asm/f_op/f_op_actor_iter/fopAcIt_Executor__FPFPvPv_iPv.s" +int fopAcIt_Executor(fopAcIt_ExecutorFunc pExecFunc, void* pData) { + struct { + fopAcIt_ExecutorFunc func; + void* data; + } userData; + userData.func = pExecFunc; + userData.data = pData; + return cLsIt_Method(&g_fopAcTg_Queue, (cNdIt_MethodFunc)cTgIt_MethodCall, &userData); } -#pragma pop /* 800197F8-80019834 014138 003C+00 0/0 67/67 388/388 .text fopAcIt_Judge__FPFPvPv_PvPv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void fopAcIt_Judge(void* (*)(void*, void*), void* param_1) { - nofralloc -#include "asm/f_op/f_op_actor_iter/fopAcIt_Judge__FPFPvPv_PvPv.s" +void* fopAcIt_Judge(fopAcIt_JudgeFunc pJudgeFunc, void* pData) { + struct { + fopAcIt_JudgeFunc func; + void* data; + } userData; + userData.func = pJudgeFunc; + userData.data = pData; + return cLsIt_Judge(&g_fopAcTg_Queue, (cNdIt_JudgeFunc)cTgIt_JudgeFilter, &userData); } -#pragma pop diff --git a/src/f_op/f_op_actor_mng.cpp b/src/f_op/f_op_actor_mng.cpp index 1deee3700b..e431eaa371 100644 --- a/src/f_op/f_op_actor_mng.cpp +++ b/src/f_op/f_op_actor_mng.cpp @@ -3,7 +3,7 @@ // Translation Unit: f_op/f_op_actor_mng // -#include "f_op/f_op_actor_mng.h" +// #include "f_op/f_op_actor_mng.h" #include "dol2asm.h" #include "dolphin/types.h" diff --git a/src/f_op/f_op_actor_tag.cpp b/src/f_op/f_op_actor_tag.cpp index 989cb9a695..47a25e78d7 100644 --- a/src/f_op/f_op_actor_tag.cpp +++ b/src/f_op/f_op_actor_tag.cpp @@ -6,30 +6,7 @@ #include "f_op/f_op_actor_tag.h" #include "dol2asm.h" #include "dolphin/types.h" - -// -// Types: -// - -struct node_list_class {}; - -struct create_tag_class {}; - -// -// Forward References: -// - -extern "C" void fopAcTg_ToActorQ__FP16create_tag_class(); -extern "C" void fopAcTg_ActorQTo__FP16create_tag_class(); -extern "C" void fopAcTg_Init__FP16create_tag_classPv(); - -// -// External References: -// - -extern "C" void cTg_SingleCutFromTree__FP16create_tag_class(); -extern "C" void cTg_Addition__FP15node_list_classP16create_tag_class(); -extern "C" void cTg_Create__FP16create_tag_classPv(); +#include "SSystem/SComponent/c_tag.h" // // Declarations: @@ -37,52 +14,20 @@ extern "C" void cTg_Create__FP16create_tag_classPv(); /* ############################################################################################## */ /* 803A35E0-803A35F0 000700 000C+04 1/1 2/2 0/0 .data g_fopAcTg_Queue */ -SECTION_DATA extern u8 g_fopAcTg_Queue[12 + 4 /* padding */] = { - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - /* padding */ - 0x00, - 0x00, - 0x00, - 0x00, -}; +node_list_class g_fopAcTg_Queue = {NULL, NULL, 0}; /* 80019834-80019860 014174 002C+00 0/0 1/1 0/0 .text fopAcTg_ToActorQ__FP16create_tag_class */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void fopAcTg_ToActorQ(create_tag_class* param_0) { - nofralloc -#include "asm/f_op/f_op_actor_tag/fopAcTg_ToActorQ__FP16create_tag_class.s" +u32 fopAcTg_ToActorQ(create_tag_class* c) { + return cTg_Addition(&g_fopAcTg_Queue, c); } -#pragma pop /* 80019860-80019880 0141A0 0020+00 0/0 1/1 0/0 .text fopAcTg_ActorQTo__FP16create_tag_class */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void fopAcTg_ActorQTo(create_tag_class* param_0) { - nofralloc -#include "asm/f_op/f_op_actor_tag/fopAcTg_ActorQTo__FP16create_tag_class.s" +u32 fopAcTg_ActorQTo(create_tag_class* pTag) { + return cTg_SingleCutFromTree(pTag); } -#pragma pop /* 80019880-800198A4 0141C0 0024+00 0/0 1/1 0/0 .text fopAcTg_Init__FP16create_tag_classPv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void fopAcTg_Init(create_tag_class* param_0, void* param_1) { - nofralloc -#include "asm/f_op/f_op_actor_tag/fopAcTg_Init__FP16create_tag_classPv.s" +u32 fopAcTg_Init(create_tag_class* pTag, void* data) { + cTg_Create(pTag, data); + return 1; } -#pragma pop diff --git a/src/f_op/f_op_camera.cpp b/src/f_op/f_op_camera.cpp index 8c8c1ae5c1..50b01d2cc1 100644 --- a/src/f_op/f_op_camera.cpp +++ b/src/f_op/f_op_camera.cpp @@ -6,20 +6,8 @@ #include "f_op/f_op_camera.h" #include "dol2asm.h" #include "dolphin/types.h" - -// -// Types: -// - -struct process_method_class {}; - -struct leafdraw_method_class {}; - -struct leafdraw_class {}; - -struct create_tag_class {}; - -struct camera_class {}; +#include "f_op/f_op_draw_tag.h" +#include "f_pc/f_pc_leaf.h" // // Forward References: @@ -53,16 +41,36 @@ extern "C" extern u8 struct_80451124[4]; // /* 8001E140-8001E180 018A80 0040+00 1/0 0/0 0/0 .text fopCam_Draw__FP12camera_class */ +#if 0 +// TODO: move dComIfG +static s32 fopCam_Draw(camera_class* pCamera) { + s32 tmp = 1; + + if (g_dComIfG_gameInfo.getPlay().isPauseFlag() == false) { + tmp = fpcLf_DrawMethod(pCamera->pMthd, pCamera); + } + return tmp; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void fopCam_Draw(camera_class* param_0) { +static asm s32 fopCam_Draw(camera_class* param_0) { nofralloc #include "asm/f_op/f_op_camera/fopCam_Draw__FP12camera_class.s" } #pragma pop +#endif /* 8001E180-8001E1C8 018AC0 0048+00 1/0 0/0 0/0 .text fopCam_Execute__FP12camera_class */ +// Matches, but wrong registers +#ifdef NONMATCHING +static void fopCam_Execute(camera_class* pCamera) { + if (!g_dComIfG_gameInfo.getPlay().isPauseFlag() && !lbl_80451124) { + fpcMtd_Execute((process_method_class*)pCamera->pMthd, pCamera); + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -71,27 +79,28 @@ static asm void fopCam_Execute(camera_class* param_0) { #include "asm/f_op/f_op_camera/fopCam_Execute__FP12camera_class.s" } #pragma pop +#endif /* 8001E1C8-8001E21C 018B08 0054+00 1/0 0/0 0/0 .text fopCam_IsDelete__FP12camera_class */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void fopCam_IsDelete(camera_class* param_0) { - nofralloc -#include "asm/f_op/f_op_camera/fopCam_IsDelete__FP12camera_class.s" +int fopCam_IsDelete(camera_class* pCamera) { + int tmp = fpcMtd_IsDelete((process_method_class*)pCamera->pMthd, pCamera); + if (tmp == 1) { + fopDwTg_DrawQTo(&pCamera->pCreateTag); + } + + return tmp; } -#pragma pop /* 8001E21C-8001E270 018B5C 0054+00 1/0 0/0 0/0 .text fopCam_Delete__FP12camera_class */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void fopCam_Delete(camera_class* param_0) { - nofralloc -#include "asm/f_op/f_op_camera/fopCam_Delete__FP12camera_class.s" +int fopCam_Delete(camera_class* pCamera) { + int tmp = fpcMtd_Delete((process_method_class*)pCamera->pMthd, pCamera); + if (tmp == 1) { + fopDwTg_DrawQTo(&pCamera->pCreateTag); + } + + return tmp; } -#pragma pop /* 8001E270-8001E308 018BB0 0098+00 1/0 0/0 0/0 .text fopCam_Create__FPv */ #pragma push @@ -106,11 +115,11 @@ static asm void fopCam_Create(void* param_0) { /* ############################################################################################## */ /* 803A3860-803A3878 -00001 0014+04 0/0 2/0 0/0 .data g_fopCam_Method */ SECTION_DATA extern void* g_fopCam_Method[5 + 1 /* padding */] = { - (void*)fopCam_Create__FPv, - (void*)fopCam_Delete__FP12camera_class, - (void*)fopCam_Execute__FP12camera_class, - (void*)fopCam_IsDelete__FP12camera_class, - (void*)fopCam_Draw__FP12camera_class, + (void*)fopCam_Create, + (void*)fopCam_Delete, + (void*)fopCam_Execute, + (void*)fopCam_IsDelete, + (void*)fopCam_Draw, /* padding */ NULL, }; diff --git a/src/f_op/f_op_camera_mng.cpp b/src/f_op/f_op_camera_mng.cpp index 14af29ae54..7c8f5d8d6e 100644 --- a/src/f_op/f_op_camera_mng.cpp +++ b/src/f_op/f_op_camera_mng.cpp @@ -6,60 +6,26 @@ #include "f_op/f_op_camera_mng.h" #include "dol2asm.h" #include "dolphin/types.h" - -// -// Types: -// - -struct layer_class {}; - -struct camera_class {}; - -// -// Forward References: -// - -extern "C" void fopCamM_GetParam__FP12camera_class(); -extern "C" void fopCamM_Create__FisPv(); -extern "C" void fopCamM_Management__Fv(); -extern "C" void fopCamM_Init__Fv(); - -// -// External References: -// - -extern "C" void fpcLy_CurrentLayer__Fv(); -extern "C" void fpcSCtRq_Request__FP11layer_classsPFPvPv_iPvPv(); -extern "C" void _savegpr_29(); -extern "C" void _restgpr_29(); +#include "f_pc/f_pc_stdcreate_req.h" // // Declarations: // -/* 8001E308-8001E310 018C48 0008+00 0/0 12/12 2/2 .text fopCamM_GetParam__FP12camera_class */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void fopCamM_GetParam(camera_class* param_0) { - nofralloc -#include "asm/f_op/f_op_camera_mng/fopCamM_GetParam__FP12camera_class.s" -} -#pragma pop - /* ############################################################################################## */ /* 803F1DD8-803F1DE8 01EAF8 0010+00 1/1 0/0 0/0 .bss l_fopCamM_id */ -static u8 l_fopCamM_id[16]; +static u32 l_fopCamM_id[4]; + +/* 8001E308-8001E310 018C48 0008+00 0/0 12/12 2/2 .text fopCamM_GetParam__FP12camera_class */ +u32 fopCamM_GetParam(camera_class* pCamera) { + return pCamera->parameter; +} /* 8001E310-8001E374 018C50 0064+00 0/0 1/1 0/0 .text fopCamM_Create__FisPv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void fopCamM_Create(int param_0, s16 param_1, void* param_2) { - nofralloc -#include "asm/f_op/f_op_camera_mng/fopCamM_Create__FisPv.s" +u32 fopCamM_Create(int i_cameraIdx, s16 pProcName, void* param_3) { + l_fopCamM_id[i_cameraIdx] = fpcSCtRq_Request(fpcLy_CurrentLayer(), pProcName, 0, 0, param_3); + return l_fopCamM_id[i_cameraIdx]; } -#pragma pop /* 8001E374-8001E378 018CB4 0004+00 0/0 1/1 0/0 .text fopCamM_Management__Fv */ void fopCamM_Management() { diff --git a/src/f_op/f_op_draw_iter.cpp b/src/f_op/f_op_draw_iter.cpp index c5c938e019..659e70f587 100644 --- a/src/f_op/f_op_draw_iter.cpp +++ b/src/f_op/f_op_draw_iter.cpp @@ -7,12 +7,6 @@ #include "dol2asm.h" #include "dolphin/types.h" -// -// Types: -// - -struct create_tag_class {}; - // // Forward References: // @@ -39,7 +33,7 @@ static u8 l_fopDwTg_id[4 + 4 /* padding */]; #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void fopDwIt_GetTag() { +static asm create_tag_class* fopDwIt_GetTag() { nofralloc #include "asm/f_op/f_op_draw_iter/fopDwIt_GetTag__Fv.s" } @@ -49,7 +43,7 @@ static asm void fopDwIt_GetTag() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void fopDwIt_Begin() { +asm create_tag_class* fopDwIt_Begin() { nofralloc #include "asm/f_op/f_op_draw_iter/fopDwIt_Begin__Fv.s" } @@ -60,7 +54,7 @@ asm void fopDwIt_Begin() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void fopDwIt_Next(create_tag_class* param_0) { +asm create_tag_class* fopDwIt_Next(create_tag_class* param_0) { nofralloc #include "asm/f_op/f_op_draw_iter/fopDwIt_Next__FP16create_tag_class.s" } diff --git a/src/f_op/f_op_draw_tag.cpp b/src/f_op/f_op_draw_tag.cpp index 2c9568fc13..44f58ccee6 100644 --- a/src/f_op/f_op_draw_tag.cpp +++ b/src/f_op/f_op_draw_tag.cpp @@ -5,35 +5,7 @@ #include "f_op/f_op_draw_tag.h" #include "dol2asm.h" -#include "dolphin/types.h" - -// -// Types: -// - -struct node_lists_tree_class {}; - -struct node_list_class {}; - -struct create_tag_class {}; - -// -// Forward References: -// - -extern "C" void fopDwTg_ToDrawQ__FP16create_tag_classi(); -extern "C" void fopDwTg_DrawQTo__FP16create_tag_class(); -extern "C" void fopDwTg_Init__FP16create_tag_classPv(); -extern "C" void fopDwTg_CreateQueue__Fv(); - -// -// External References: -// - -extern "C" void cTr_Create__FP21node_lists_tree_classP15node_list_classi(); -extern "C" void cTg_SingleCutFromTree__FP16create_tag_class(); -extern "C" void cTg_AdditionToTree__FP21node_lists_tree_classiP16create_tag_class(); -extern "C" void cTg_Create__FP16create_tag_classPv(); +#include "global.h" // // Declarations: @@ -41,50 +13,29 @@ extern "C" void cTg_Create__FP16create_tag_classPv(); /* ############################################################################################## */ /* 804505D0-804505D8 000050 0008+00 2/2 2/2 0/0 .sdata g_fopDwTg_Queue */ -SECTION_SDATA extern u8 g_fopDwTg_Queue[8] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; +node_lists_tree_class g_fopDwTg_Queue = {NULL, 0}; /* 800204AC-800204D4 01ADEC 0028+00 0/0 4/4 2/2 .text fopDwTg_ToDrawQ__FP16create_tag_classi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void fopDwTg_ToDrawQ(create_tag_class* param_0, int param_1) { - nofralloc -#include "asm/f_op/f_op_draw_tag/fopDwTg_ToDrawQ__FP16create_tag_classi.s" +void fopDwTg_ToDrawQ(create_tag_class* pCreateTagClass, int priority) { + cTg_AdditionToTree(&g_fopDwTg_Queue, priority, pCreateTagClass); } -#pragma pop /* 800204D4-800204F4 01AE14 0020+00 0/0 8/8 3/3 .text fopDwTg_DrawQTo__FP16create_tag_class */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void fopDwTg_DrawQTo(create_tag_class* param_0) { - nofralloc -#include "asm/f_op/f_op_draw_tag/fopDwTg_DrawQTo__FP16create_tag_class.s" +void fopDwTg_DrawQTo(create_tag_class* pCreateTagClass) { + cTg_SingleCutFromTree(pCreateTagClass); } -#pragma pop /* 800204F4-80020518 01AE34 0024+00 0/0 4/4 0/0 .text fopDwTg_Init__FP16create_tag_classPv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void fopDwTg_Init(create_tag_class* param_0, void* param_1) { - nofralloc -#include "asm/f_op/f_op_draw_tag/fopDwTg_Init__FP16create_tag_classPv.s" +bool fopDwTg_Init(create_tag_class* pCreateTagClass, void* pActor) { + cTg_Create(pCreateTagClass, pActor); + return true; } -#pragma pop /* ############################################################################################## */ /* 803F1E10-803F4CF0 01EB30 2EE0+00 1/1 0/0 0/0 .bss lists$2216 */ -static u8 lists[12000]; +static node_list_class lists[1000]; /* 80020518-80020548 01AE58 0030+00 0/0 1/1 0/0 .text fopDwTg_CreateQueue__Fv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void fopDwTg_CreateQueue() { - nofralloc -#include "asm/f_op/f_op_draw_tag/fopDwTg_CreateQueue__Fv.s" +void fopDwTg_CreateQueue(void) { + cTr_Create(&g_fopDwTg_Queue, lists, ARRAY_SIZE(lists)); } -#pragma pop diff --git a/src/f_op/f_op_kankyo_mng.cpp b/src/f_op/f_op_kankyo_mng.cpp index f318fc43b7..6968d632bc 100644 --- a/src/f_op/f_op_kankyo_mng.cpp +++ b/src/f_op/f_op_kankyo_mng.cpp @@ -3,7 +3,7 @@ // Translation Unit: f_op/f_op_kankyo_mng // -#include "f_op/f_op_kankyo_mng.h" +// #include "f_op/f_op_kankyo_mng.h" #include "dol2asm.h" #include "dolphin/types.h" diff --git a/src/f_op/f_op_msg_mng.cpp b/src/f_op/f_op_msg_mng.cpp index a6e1391ef6..4fc9ce5d9d 100644 --- a/src/f_op/f_op_msg_mng.cpp +++ b/src/f_op/f_op_msg_mng.cpp @@ -3,7 +3,7 @@ // Translation Unit: f_op/f_op_msg_mng // -#include "f_op/f_op_msg_mng.h" +// #include "f_op/f_op_msg_mng.h" #include "dol2asm.h" #include "dolphin/types.h" diff --git a/src/f_op/f_op_overlap.cpp b/src/f_op/f_op_overlap.cpp index f62547498a..4438ab317c 100644 --- a/src/f_op/f_op_overlap.cpp +++ b/src/f_op/f_op_overlap.cpp @@ -7,16 +7,6 @@ #include "dol2asm.h" #include "dolphin/types.h" -// -// Types: -// - -struct request_base_class {}; - -struct process_method_class {}; - -struct leafdraw_method_class {}; - // // Forward References: // diff --git a/src/f_op/f_op_overlap_mng.cpp b/src/f_op/f_op_overlap_mng.cpp index 688085a5d1..ad9018b06c 100644 --- a/src/f_op/f_op_overlap_mng.cpp +++ b/src/f_op/f_op_overlap_mng.cpp @@ -6,18 +6,10 @@ #include "f_op/f_op_overlap_mng.h" #include "dol2asm.h" #include "dolphin/types.h" - -// -// Types: -// - -struct scene_class {}; - -struct request_base_class {}; - -struct overlap_task_class {}; - -struct overlap_request_class {}; +#include "SSystem/SComponent/c_request.h" +#include "f_op/f_op_overlap_req.h" +#include "f_op/f_op_scene_pause.h" +#include "f_pc/f_pc_executor.h" // // Forward References: @@ -57,141 +49,107 @@ extern "C" void cReq_Done__FP18request_base_class(); /* ############################################################################################## */ /* 804505B0-804505B8 000030 0004+04 10/10 0/0 0/0 .sdata l_fopOvlpM_overlap */ -SECTION_SDATA static u8 l_fopOvlpM_overlap[4 + 4 /* padding */] = { - 0x00, - 0x00, - 0x00, - 0x00, - /* padding */ - 0x00, - 0x00, - 0x00, - 0x00, -}; +// making it not an array put it in .bss +static request_base_class* l_fopOvlpM_overlap[1] = {NULL}; /* 8001E484-8001E4C4 018DC4 0040+00 0/0 1/1 0/0 .text fopOvlpM_SceneIsStop__Fv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void fopOvlpM_SceneIsStop() { - nofralloc -#include "asm/f_op/f_op_overlap_mng/fopOvlpM_SceneIsStop__Fv.s" +int fopOvlpM_SceneIsStop(void) { + if (l_fopOvlpM_overlap[0]) { + return fopScnPause_Enable( + (scene_class*)fpcEx_SearchByID(l_fopOvlpM_overlap[0]->field_0x20[0x32])); + } else { + return 0; + } } -#pragma pop /* 8001E4C4-8001E504 018E04 0040+00 0/0 5/5 0/0 .text fopOvlpM_SceneIsStart__Fv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void fopOvlpM_SceneIsStart() { - nofralloc -#include "asm/f_op/f_op_overlap_mng/fopOvlpM_SceneIsStart__Fv.s" +int fopOvlpM_SceneIsStart(void) { + if (l_fopOvlpM_overlap[0]) { + return fopScnPause_Disable( + (scene_class*)fpcEx_SearchByID(l_fopOvlpM_overlap[0]->field_0x20[0x32])); + } else { + return 0; + } } -#pragma pop /* 8001E504-8001E51C 018E44 0018+00 0/0 3/3 0/0 .text fopOvlpM_IsOutReq__FP18overlap_task_class */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void fopOvlpM_IsOutReq(overlap_task_class* param_0) { - nofralloc -#include "asm/f_op/f_op_overlap_mng/fopOvlpM_IsOutReq__FP18overlap_task_class.s" +int fopOvlpM_IsOutReq(overlap_task_class* pTaskClass) { + return (pTaskClass->field_0xc4 & 0x3F) == 2; } -#pragma pop /* 8001E51C-8001E540 018E5C 0024+00 0/0 6/6 0/0 .text fopOvlpM_Done__FP18overlap_task_class */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void fopOvlpM_Done(overlap_task_class* param_0) { - nofralloc -#include "asm/f_op/f_op_overlap_mng/fopOvlpM_Done__FP18overlap_task_class.s" +void fopOvlpM_Done(overlap_task_class* pTaskClass) { + cReq_Done((request_base_class*)&pTaskClass->field_0xc4); } -#pragma pop /* 8001E540-8001E558 018E80 0018+00 0/0 1/1 0/0 .text fopOvlpM_ToldAboutID__FUi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void fopOvlpM_ToldAboutID(unsigned int param_0) { - nofralloc -#include "asm/f_op/f_op_overlap_mng/fopOvlpM_ToldAboutID__FUi.s" +void fopOvlpM_ToldAboutID(unsigned int param_1) { + l_fopOvlpM_overlap[0] ? l_fopOvlpM_overlap[0]->field_0x20[0x32] = param_1 : 0; } -#pragma pop /* 8001E558-8001E574 018E98 001C+00 0/0 6/6 7/7 .text fopOvlpM_IsPeek__Fv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void fopOvlpM_IsPeek() { - nofralloc -#include "asm/f_op/f_op_overlap_mng/fopOvlpM_IsPeek__Fv.s" +int fopOvlpM_IsPeek(void) { + return l_fopOvlpM_overlap[0] ? l_fopOvlpM_overlap[0]->field_0x8 : 0; } -#pragma pop /* 8001E574-8001E5A8 018EB4 0034+00 0/0 1/1 0/0 .text fopOvlpM_IsDone__Fv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void fopOvlpM_IsDone() { - nofralloc -#include "asm/f_op/f_op_overlap_mng/fopOvlpM_IsDone__Fv.s" +int fopOvlpM_IsDone(void) { + return l_fopOvlpM_overlap[0] ? cReq_Is_Done(l_fopOvlpM_overlap[0]) : 0; } -#pragma pop /* 8001E5A8-8001E5D0 018EE8 0028+00 0/0 3/3 1/1 .text fopOvlpM_IsDoingReq__Fv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void fopOvlpM_IsDoingReq() { - nofralloc -#include "asm/f_op/f_op_overlap_mng/fopOvlpM_IsDoingReq__Fv.s" +int fopOvlpM_IsDoingReq(void) { + if (l_fopOvlpM_overlap[0] && l_fopOvlpM_overlap[0]->field_0x4 == 1) { + return 1; + } + + return 0; } -#pragma pop /* 8001E5D0-8001E604 018F10 0034+00 0/0 1/1 0/0 .text fopOvlpM_ClearOfReq__Fv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void fopOvlpM_ClearOfReq() { - nofralloc -#include "asm/f_op/f_op_overlap_mng/fopOvlpM_ClearOfReq__Fv.s" +int fopOvlpM_ClearOfReq(void) { + return l_fopOvlpM_overlap[0] ? fopOvlpReq_OverlapClr((overlap_request_class*)l_fopOvlpM_overlap[0]) : + 0; } -#pragma pop /* ############################################################################################## */ /* 803F1DE8-803F1E10 01EB08 0028+00 1/1 0/0 0/0 .bss l_fopOvlpM_Request */ -static u8 l_fopOvlpM_Request[40]; +static overlap_request_class l_fopOvlpM_Request; /* 8001E604-8001E650 018F44 004C+00 0/0 1/1 0/0 .text fopOvlpM_Request__FsUs */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void fopOvlpM_Request(s16 param_0, u16 param_1) { - nofralloc -#include "asm/f_op/f_op_overlap_mng/fopOvlpM_Request__FsUs.s" +request_base_class* fopOvlpM_Request(s16 param_1, u16 param_2) { + if (!l_fopOvlpM_overlap[0]) { + request_base_class* tmp = fopOvlpReq_Request(&l_fopOvlpM_Request, param_1, param_2); + l_fopOvlpM_overlap[0] = tmp; + return tmp; + } + + return 0; } -#pragma pop /* 8001E650-8001E698 018F90 0048+00 0/0 1/1 0/0 .text fopOvlpM_Management__Fv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void fopOvlpM_Management() { - nofralloc -#include "asm/f_op/f_op_overlap_mng/fopOvlpM_Management__Fv.s" +void fopOvlpM_Management(void) { + if (l_fopOvlpM_overlap[0]) { + int tmp = fopOvlpReq_Handler((overlap_request_class*)l_fopOvlpM_overlap[0]); + if (6 <= tmp || 3 > tmp) { + return; + } + l_fopOvlpM_overlap[0] = NULL; + } } -#pragma pop /* 8001E698-8001E6E8 018FD8 0050+00 0/0 1/1 0/0 .text fopOvlpM_Cancel__Fv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void fopOvlpM_Cancel() { - nofralloc -#include "asm/f_op/f_op_overlap_mng/fopOvlpM_Cancel__Fv.s" +int fopOvlpM_Cancel(void) { + if (!l_fopOvlpM_overlap[0]) { + return 1; + } + if (fopOvlpReq_Cancel((overlap_request_class*)l_fopOvlpM_overlap[0]) == true) { + l_fopOvlpM_overlap[0] = NULL; + return 1; + } + + return 0; } -#pragma pop /* 8001E6E8-8001E6EC 019028 0004+00 0/0 1/1 0/0 .text fopOvlpM_Init__Fv */ void fopOvlpM_Init() { diff --git a/src/f_op/f_op_overlap_req.cpp b/src/f_op/f_op_overlap_req.cpp index 8b189fd8dc..689005a448 100644 --- a/src/f_op/f_op_overlap_req.cpp +++ b/src/f_op/f_op_overlap_req.cpp @@ -4,21 +4,12 @@ // #include "f_op/f_op_overlap_req.h" +#include "f_pc/f_pc_executor.h" +#include "f_pc/f_pc_manager.h" +#include "f_pc/f_pc_stdcreate_req.h" #include "dol2asm.h" #include "dolphin/types.h" -// -// Types: -// - -struct request_of_phase_process_class {}; - -struct request_base_class {}; - -struct overlap_request_class {}; - -struct layer_class {}; - // // Forward References: // @@ -57,162 +48,173 @@ extern "C" void cReq_Create__FP18request_base_classUc(); extern "C" void _savegpr_29(); extern "C" void _restgpr_29(); +void fopOvlpReq_SetPeektime(overlap_request_class*, u16); + // // Declarations: // /* 8001E6EC-8001E748 01902C 005C+00 2/1 0/0 0/0 .text * fopOvlpReq_phase_Done__FP21overlap_request_class */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void fopOvlpReq_phase_Done(overlap_request_class* param_0) { - nofralloc -#include "asm/f_op/f_op_overlap_req/fopOvlpReq_phase_Done__FP21overlap_request_class.s" +static int fopOvlpReq_phase_Done(overlap_request_class* pOvlpReq) { + if (fpcM_Delete(pOvlpReq->field_0x20) == 1) { + pOvlpReq->field_0x20 = 0; + pOvlpReq->field_0x4 = 0; + pOvlpReq->mPeektime = 0; + pOvlpReq->field_0x8 = 0; + pOvlpReq->field_0xc = 0; + return 2; + } + return 0; } -#pragma pop /* 8001E748-8001E794 019088 004C+00 1/0 0/0 0/0 .text * fopOvlpReq_phase_IsDone__FP21overlap_request_class */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void fopOvlpReq_phase_IsDone(overlap_request_class* param_0) { - nofralloc -#include "asm/f_op/f_op_overlap_req/fopOvlpReq_phase_IsDone__FP21overlap_request_class.s" +static s32 fopOvlpReq_phase_IsDone(overlap_request_class* param_1) { + cReq_Done((request_base_class*)param_1); + return param_1->field_0x2-- <= 0 ? 2 : 0; } -#pragma pop /* 8001E794-8001E7E4 0190D4 0050+00 1/0 0/0 0/0 .text * fopOvlpReq_phase_IsWaitOfFadeout__FP21overlap_request_class */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void fopOvlpReq_phase_IsWaitOfFadeout(overlap_request_class* param_0) { - nofralloc -#include "asm/f_op/f_op_overlap_req/fopOvlpReq_phase_IsWaitOfFadeout__FP21overlap_request_class.s" +static int fopOvlpReq_phase_IsWaitOfFadeout(overlap_request_class* pOvlpReq) { + if (cReq_Is_Done((request_base_class*)(pOvlpReq->field_0x20 + 0xC4))) { + pOvlpReq->field_0x8 = 0; + return 2; + } + return 0; } -#pragma pop /* 8001E7E4-8001E854 019124 0070+00 1/0 0/0 0/0 .text * fopOvlpReq_phase_WaitOfFadeout__FP21overlap_request_class */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void fopOvlpReq_phase_WaitOfFadeout(overlap_request_class* param_0) { - nofralloc -#include "asm/f_op/f_op_overlap_req/fopOvlpReq_phase_WaitOfFadeout__FP21overlap_request_class.s" +static int fopOvlpReq_phase_WaitOfFadeout(overlap_request_class* pOvlpReq) { + if (pOvlpReq->mPeektime) { + pOvlpReq->mPeektime--; + } + + if (((u8)(pOvlpReq->field_0x0 & 0x3F)) == 2 && !pOvlpReq->mPeektime) { + cReq_Command((request_base_class*)(pOvlpReq->field_0x20 + 0xC4), 2); + return 2; + } + + pOvlpReq->field_0x8 = 1; + return 0; } -#pragma pop /* 8001E854-8001E8A4 019194 0050+00 1/0 0/0 0/0 .text * fopOvlpReq_phase_IsComplete__FP21overlap_request_class */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void fopOvlpReq_phase_IsComplete(overlap_request_class* param_0) { - nofralloc -#include "asm/f_op/f_op_overlap_req/fopOvlpReq_phase_IsComplete__FP21overlap_request_class.s" +static int fopOvlpReq_phase_IsComplete(overlap_request_class* pOvlpReq) { + if (cReq_Is_Done((request_base_class*)(pOvlpReq->field_0x20 + 0xC4))) { + cReq_Done((request_base_class*)pOvlpReq); + return 2; + } + return 0; } -#pragma pop /* 8001E8A4-8001E904 0191E4 0060+00 1/0 0/0 0/0 .text * fopOvlpReq_phase_IsCreated__FP21overlap_request_class */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void fopOvlpReq_phase_IsCreated(overlap_request_class* param_0) { - nofralloc -#include "asm/f_op/f_op_overlap_req/fopOvlpReq_phase_IsCreated__FP21overlap_request_class.s" +static int fopOvlpReq_phase_IsCreated(overlap_request_class* pOvlpReq) { + if (fpcM_IsCreating(pOvlpReq->field_0x14) == 0) { + base_process_class* pBaseProc = fpcEx_SearchByID(pOvlpReq->field_0x14); + if (!pBaseProc) { + return 5; + } + pOvlpReq->field_0x20 = (u8*)pBaseProc; + return 2; + } + return 0; } -#pragma pop /* 8001E904-8001E954 019244 0050+00 1/0 0/0 0/0 .text * fopOvlpReq_phase_Create__FP21overlap_request_class */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void fopOvlpReq_phase_Create(overlap_request_class* param_0) { - nofralloc -#include "asm/f_op/f_op_overlap_req/fopOvlpReq_phase_Create__FP21overlap_request_class.s" +static int fopOvlpReq_phase_Create(overlap_request_class* pOvlpReq) { + fpcLy_SetCurrentLayer(pOvlpReq->pCurrentLayer); + pOvlpReq->field_0x14 = fpcSCtRq_Request(fpcLy_CurrentLayer(), pOvlpReq->field_0x10, 0, 0, 0); + return 2; } -#pragma pop /* ############################################################################################## */ /* 803A3890-803A38B0 -00001 0020+00 1/1 0/0 0/0 .data phaseMethod$2260 */ -SECTION_DATA static void* phaseMethod[8] = { - (void*)fopOvlpReq_phase_Create__FP21overlap_request_class, - (void*)fopOvlpReq_phase_IsCreated__FP21overlap_request_class, - (void*)fopOvlpReq_phase_IsComplete__FP21overlap_request_class, - (void*)fopOvlpReq_phase_WaitOfFadeout__FP21overlap_request_class, - (void*)fopOvlpReq_phase_IsWaitOfFadeout__FP21overlap_request_class, - (void*)fopOvlpReq_phase_IsDone__FP21overlap_request_class, - (void*)fopOvlpReq_phase_Done__FP21overlap_request_class, - (void*)NULL, +cPhs__Handler phaseMethod[8] = { + (cPhs__Handler)fopOvlpReq_phase_Create, + (cPhs__Handler)fopOvlpReq_phase_IsCreated, + (cPhs__Handler)fopOvlpReq_phase_IsComplete, + (cPhs__Handler)fopOvlpReq_phase_WaitOfFadeout, + (cPhs__Handler)fopOvlpReq_phase_IsWaitOfFadeout, + (cPhs__Handler)fopOvlpReq_phase_IsDone, + (cPhs__Handler)fopOvlpReq_phase_Done, + (cPhs__Handler)NULL, }; /* 8001E954-8001E9F0 019294 009C+00 0/0 1/1 0/0 .text * fopOvlpReq_Request__FP21overlap_request_classsUs */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void fopOvlpReq_Request(overlap_request_class* param_0, s16 param_1, u16 param_2) { - nofralloc -#include "asm/f_op/f_op_overlap_req/fopOvlpReq_Request__FP21overlap_request_classsUs.s" +request_base_class* fopOvlpReq_Request(overlap_request_class* pOvlpReq, s16 param_2, u16 param_3) { + if (pOvlpReq->field_0x4 == 1) { + pOvlpReq = 0; + return (request_base_class*)pOvlpReq; + } + + cReq_Command((request_base_class*)pOvlpReq, 1); + pOvlpReq->field_0x10 = param_2; + cPhs_Set(&pOvlpReq->field_0x18, phaseMethod); + fopOvlpReq_SetPeektime(pOvlpReq, param_3); + pOvlpReq->field_0x4 = 1; + pOvlpReq->field_0x2 = 1; + pOvlpReq->field_0x20 = 0; + pOvlpReq->field_0x8 = 0; + pOvlpReq->field_0xc = 0; + pOvlpReq->pCurrentLayer = fpcLy_RootLayer(); + return (request_base_class*)pOvlpReq; } -#pragma pop /* 8001E9F0-8001EA88 019330 0098+00 0/0 1/1 0/0 .text * fopOvlpReq_Handler__FP21overlap_request_class */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void fopOvlpReq_Handler(overlap_request_class* param_0) { - nofralloc -#include "asm/f_op/f_op_overlap_req/fopOvlpReq_Handler__FP21overlap_request_class.s" +int fopOvlpReq_Handler(overlap_request_class* pOvlpReq) { + int phsDo = cPhs_Do(&pOvlpReq->field_0x18, pOvlpReq); + switch (phsDo) { + case 2: + return fopOvlpReq_Handler(pOvlpReq); + case 0: + return 0; + case 1: + return 0; + case 4: + return 4; + case 3: + case 5: + return 5; + default: + return 5; + } } -#pragma pop /* 8001EA88-8001EAB4 0193C8 002C+00 0/0 1/1 0/0 .text fopOvlpReq_Cancel__FP21overlap_request_class */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void fopOvlpReq_Cancel(overlap_request_class* param_0) { - nofralloc -#include "asm/f_op/f_op_overlap_req/fopOvlpReq_Cancel__FP21overlap_request_class.s" +int fopOvlpReq_Cancel(overlap_request_class* pOvlpReq) { + return fopOvlpReq_phase_Done(pOvlpReq) == 2 ? 1 : 0; } -#pragma pop /* 8001EAB4-8001EAC4 0193F4 0010+00 1/1 0/0 0/0 .text * fopOvlpReq_Is_PeektimeLimit__FP21overlap_request_class */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void fopOvlpReq_Is_PeektimeLimit(overlap_request_class* param_0) { - nofralloc -#include "asm/f_op/f_op_overlap_req/fopOvlpReq_Is_PeektimeLimit__FP21overlap_request_class.s" +int fopOvlpReq_Is_PeektimeLimit(overlap_request_class* pOvlpReq) { + return pOvlpReq->mPeektime == 0 ? 1 : 0; } -#pragma pop /* 8001EAC4-8001EAD8 019404 0014+00 1/1 0/0 0/0 .text * fopOvlpReq_SetPeektime__FP21overlap_request_classUs */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void fopOvlpReq_SetPeektime(overlap_request_class* param_0, u16 param_1) { - nofralloc -#include "asm/f_op/f_op_overlap_req/fopOvlpReq_SetPeektime__FP21overlap_request_classUs.s" +void fopOvlpReq_SetPeektime(overlap_request_class* pOvlpReq, u16 param_2) { + if (0x7fff < param_2) { + return; + } + pOvlpReq->mPeektime = param_2; } -#pragma pop /* 8001EAD8-8001EB34 019418 005C+00 0/0 1/1 0/0 .text * fopOvlpReq_OverlapClr__FP21overlap_request_class */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void fopOvlpReq_OverlapClr(overlap_request_class* param_0) { - nofralloc -#include "asm/f_op/f_op_overlap_req/fopOvlpReq_OverlapClr__FP21overlap_request_class.s" +int fopOvlpReq_OverlapClr(overlap_request_class* pOvlpReq) { + if ((u8)((pOvlpReq->field_0x0 >> 7) & 1) == 1 || !fopOvlpReq_Is_PeektimeLimit(pOvlpReq)) { + return 0; + } + cReq_Create((request_base_class*)pOvlpReq, 2); + return 1; } -#pragma pop diff --git a/src/f_op/f_op_scene.cpp b/src/f_op/f_op_scene.cpp index d5fe06250a..480c0e3de5 100644 --- a/src/f_op/f_op_scene.cpp +++ b/src/f_op/f_op_scene.cpp @@ -7,18 +7,6 @@ #include "dol2asm.h" #include "dolphin/types.h" -// -// Types: -// - -struct scene_tag_class {}; - -struct scene_class {}; - -struct process_method_class {}; - -struct nodedraw_method_class {}; - // // Forward References: // @@ -48,44 +36,40 @@ extern "C" void fpcNd_DrawMethod__FP21nodedraw_method_classPv(); // /* 8001EB34-8001EB5C 019474 0028+00 1/0 0/0 0/0 .text fopScn_Draw__FP11scene_class */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void fopScn_Draw(scene_class* param_0) { - nofralloc -#include "asm/f_op/f_op_scene/fopScn_Draw__FP11scene_class.s" +static void fopScn_Draw(scene_class* pScene) { + fpcNd_DrawMethod((nodedraw_method_class*)pScene->mpProcessMtd, pScene); } -#pragma pop /* 8001EB5C-8001EB84 01949C 0028+00 1/0 0/0 0/0 .text fopScn_Execute__FP11scene_class */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void fopScn_Execute(scene_class* param_0) { - nofralloc -#include "asm/f_op/f_op_scene/fopScn_Execute__FP11scene_class.s" +static void fopScn_Execute(scene_class* pScene) { + fpcMtd_Execute(pScene->mpProcessMtd, pScene); } -#pragma pop /* 8001EB84-8001EBAC 0194C4 0028+00 1/0 0/0 0/0 .text fopScn_IsDelete__FPv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void fopScn_IsDelete(void* param_0) { - nofralloc -#include "asm/f_op/f_op_scene/fopScn_IsDelete__FPv.s" +static s32 fopScn_IsDelete(void* param_1) { + return fpcMtd_IsDelete(((scene_class*)param_1)->mpProcessMtd, param_1); } -#pragma pop /* 8001EBAC-8001EC00 0194EC 0054+00 1/0 0/0 0/0 .text fopScn_Delete__FPv */ +#ifdef NON_MATCHING +static s32 fopScn_Delete(void* param_1) { + scene_class* pScene = (scene_class*)param_1; + s32 ret = fpcMtd_Delete(pScene->mpProcessMtd, param_1); + if (ret == 1) { + fopScnTg_QueueTo(pScene->field_0x1b0); + } + return ret; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void fopScn_Delete(void* param_0) { +static asm s32 fopScn_Delete(void* param_0) { nofralloc #include "asm/f_op/f_op_scene/fopScn_Delete__FPv.s" } #pragma pop +#endif /* 8001EC00-8001EC74 019540 0074+00 1/0 0/0 0/0 .text fopScn_Create__FPv */ #pragma push @@ -100,11 +84,11 @@ static asm void fopScn_Create(void* param_0) { /* ############################################################################################## */ /* 803A38B0-803A38C8 -00001 0014+04 0/0 9/0 0/0 .data g_fopScn_Method */ SECTION_DATA extern void* g_fopScn_Method[5 + 1 /* padding */] = { - (void*)fopScn_Create__FPv, - (void*)fopScn_Delete__FPv, - (void*)fopScn_Execute__FP11scene_class, - (void*)fopScn_IsDelete__FPv, - (void*)fopScn_Draw__FP11scene_class, + (void*)fopScn_Create, + (void*)fopScn_Delete, + (void*)fopScn_Execute, + (void*)fopScn_IsDelete, + (void*)fopScn_Draw, /* padding */ NULL, }; diff --git a/src/f_op/f_op_scene_iter.cpp b/src/f_op/f_op_scene_iter.cpp index 4eedcbbf2e..cf88f1ccf0 100644 --- a/src/f_op/f_op_scene_iter.cpp +++ b/src/f_op/f_op_scene_iter.cpp @@ -6,43 +6,23 @@ #include "f_op/f_op_scene_iter.h" #include "dol2asm.h" #include "dolphin/types.h" - -// -// Types: -// - -struct node_list_class {}; - -struct node_class {}; - -struct judge_filter {}; - -struct create_tag_class {}; - -// -// Forward References: -// - -extern "C" void fopScnIt_Judge__FPFPvPv_PvPv(); - -// -// External References: -// - -extern "C" void cLsIt_Judge__FP15node_list_classPFP10node_classPv_PvPv(); -extern "C" void cTgIt_JudgeFilter__FP16create_tag_classP12judge_filter(); -extern "C" extern u8 g_fopScnTg_SceneList[12 + 4 /* padding */]; +#include "SSystem/SComponent/c_list.h" +#include "SSystem/SComponent/c_list_iter.h" +#include "SSystem/SComponent/c_tag_iter.h" +#include "f_op/f_op_scene_tag.h" // // Declarations: // /* 8001EC74-8001ECB0 0195B4 003C+00 0/0 1/1 0/0 .text fopScnIt_Judge__FPFPvPv_PvPv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void fopScnIt_Judge(void* (*)(void*, void*), void* param_1) { - nofralloc -#include "asm/f_op/f_op_scene_iter/fopScnIt_Judge__FPFPvPv_PvPv.s" +void* fopScnIt_Judge(fop_ScnItFunc pFunc1, void* pData) { + struct { + fop_ScnItFunc mFunc; + void* mpData; + } iterParams; + + iterParams.mFunc = pFunc1; + iterParams.mpData = pData; + return cLsIt_Judge(&g_fopScnTg_SceneList, (cNdIt_JudgeFunc)cTgIt_JudgeFilter, &iterParams); } -#pragma pop diff --git a/src/f_op/f_op_scene_mng.cpp b/src/f_op/f_op_scene_mng.cpp index 148a3edff9..915072ef59 100644 --- a/src/f_op/f_op_scene_mng.cpp +++ b/src/f_op/f_op_scene_mng.cpp @@ -4,109 +4,62 @@ // #include "f_op/f_op_scene_mng.h" +#include "f_op/f_op_scene_iter.h" +#include "f_op/f_op_scene_req.h" +#include "f_pc/f_pc_searcher.h" #include "dol2asm.h" #include "dolphin/types.h" -// -// Types: -// - -struct scene_class {}; - -// -// Forward References: -// - -extern "C" void fopScnM_SearchByID__FUi(); -extern "C" void fopScnM_ChangeReq__FP11scene_classssUs(); -extern "C" void fopScnM_DeleteReq__FP11scene_class(); -extern "C" void fopScnM_CreateReq__FssUsUl(); -extern "C" void fopScnM_ReRequest__FsUl(); -extern "C" void fopScnM_Management__Fv(); -extern "C" void fopScnM_Init__Fv(); - -// -// External References: -// - -extern "C" void fopScnIt_Judge__FPFPvPv_PvPv(); -extern "C" void fopScnRq_Request__FiP11scene_classsPvsUs(); -extern "C" void fopScnRq_ReRequest__FUisPv(); -extern "C" void fopScnRq_Handler__Fv(); -extern "C" void fpcSch_JudgeByID__FPvPv(); - // // Declarations: // /* 8001ECB0-8001ECE0 0195F0 0030+00 0/0 7/7 1/1 .text fopScnM_SearchByID__FUi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void fopScnM_SearchByID(unsigned int param_0) { - nofralloc -#include "asm/f_op/f_op_scene_mng/fopScnM_SearchByID__FUi.s" +void* fopScnM_SearchByID(unsigned int id) { + return fopScnIt_Judge((fop_ScnItFunc)fpcSch_JudgeByID, &id); } -#pragma pop /* ############################################################################################## */ /* 804505B8-804505C0 000038 0004+04 2/2 0/0 0/0 .sdata l_scnRqID */ -SECTION_SDATA static u32 l_scnRqID[1 + 1 /* padding */] = { - 0xFFFFFFFF, - /* padding */ - 0x00000000, -}; +static u32 l_scnRqID = 0xFFFFFFFF; /* 8001ECE0-8001ED3C 019620 005C+00 0/0 4/4 1/1 .text fopScnM_ChangeReq__FP11scene_classssUs */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void fopScnM_ChangeReq(scene_class* param_0, s16 param_1, s16 param_2, u16 param_3) { - nofralloc -#include "asm/f_op/f_op_scene_mng/fopScnM_ChangeReq__FP11scene_classssUs.s" +int fopScnM_ChangeReq(scene_class* pScene, s16 param_2, s16 param_3, u16 param_4) { + u32 sceneRequestID = fopScnRq_Request(2, pScene, param_2, 0, param_3, param_4); + + if (sceneRequestID == 0xFFFFFFFF) { + return 0; + } + l_scnRqID = sceneRequestID; + return 1; } -#pragma pop /* 8001ED3C-8001ED84 01967C 0048+00 0/0 1/1 0/0 .text fopScnM_DeleteReq__FP11scene_class */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void fopScnM_DeleteReq(scene_class* param_0) { - nofralloc -#include "asm/f_op/f_op_scene_mng/fopScnM_DeleteReq__FP11scene_class.s" +unsigned int fopScnM_DeleteReq(scene_class* pScene) { + u32 sceneRequestID = fopScnRq_Request(1, pScene, 0x7fff, 0, 0x7fff, 0); + return sceneRequestID != 0xFFFFFFFF; } -#pragma pop /* 8001ED84-8001EDCC 0196C4 0048+00 0/0 2/2 0/0 .text fopScnM_CreateReq__FssUsUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void fopScnM_CreateReq(s16 param_0, s16 param_1, u16 param_2, u32 param_3) { - nofralloc -#include "asm/f_op/f_op_scene_mng/fopScnM_CreateReq__FssUsUl.s" +int fopScnM_CreateReq(s16 param_1, s16 param_2, u16 param_3, u32 param_4) { + u32 sceneRequestID = fopScnRq_Request(0, 0, param_1, (void*)param_4, param_2, param_3); + return sceneRequestID != 0xFFFFFFFF; } -#pragma pop /* 8001EDCC-8001EE10 01970C 0044+00 0/0 1/1 0/0 .text fopScnM_ReRequest__FsUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void fopScnM_ReRequest(s16 param_0, u32 param_1) { - nofralloc -#include "asm/f_op/f_op_scene_mng/fopScnM_ReRequest__FsUl.s" +u32 fopScnM_ReRequest(s16 param_1, u32 param_2) { + if (l_scnRqID == 0xFFFFFFFF) { + return 0; + } + + return fopScnRq_ReRequest(l_scnRqID, param_1, (void*)param_2); } -#pragma pop /* 8001EE10-8001EE30 019750 0020+00 0/0 1/1 0/0 .text fopScnM_Management__Fv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void fopScnM_Management() { - nofralloc -#include "asm/f_op/f_op_scene_mng/fopScnM_Management__Fv.s" +void fopScnM_Management(void) { + fopScnRq_Handler(); } -#pragma pop /* 8001EE30-8001EE34 019770 0004+00 0/0 1/1 0/0 .text fopScnM_Init__Fv */ void fopScnM_Init() { diff --git a/src/f_op/f_op_scene_pause.cpp b/src/f_op/f_op_scene_pause.cpp index fe4e40aa89..0abc80501d 100644 --- a/src/f_op/f_op_scene_pause.cpp +++ b/src/f_op/f_op_scene_pause.cpp @@ -4,52 +4,44 @@ // #include "f_op/f_op_scene_pause.h" +#include "f_pc/f_pc_executor.h" +#include "f_pc/f_pc_manager.h" #include "dol2asm.h" #include "dolphin/types.h" -// -// Types: -// - -struct scene_class {}; - -// -// Forward References: -// - -extern "C" void fopScnPause_Enable__FP11scene_class(); -extern "C" void fopScnPause_Disable__FP11scene_class(); - -// -// External References: -// - -extern "C" void fpcEx_IsExist__FUi(); -extern "C" void fpcM_IsPause__FPvUc(); -extern "C" void fpcM_PauseEnable__FPvUc(); -extern "C" void fpcM_PauseDisable__FPvUc(); - // // Declarations: // /* 80020548-80020594 01AE88 004C+00 0/0 2/2 0/0 .text fopScnPause_Enable__FP11scene_class */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void fopScnPause_Enable(scene_class* param_0) { - nofralloc -#include "asm/f_op/f_op_scene_pause/fopScnPause_Enable__FP11scene_class.s" +int fopScnPause_Enable(scene_class* pScene) { + if (pScene) { + fpcM_PauseEnable(pScene, 1); + fpcM_PauseEnable(pScene, 2); + return 1; + } + return 0; } -#pragma pop /* 80020594-8002064C 01AED4 00B8+00 0/0 2/2 0/0 .text fopScnPause_Disable__FP11scene_class */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void fopScnPause_Disable(scene_class* param_0) { - nofralloc -#include "asm/f_op/f_op_scene_pause/fopScnPause_Disable__FP11scene_class.s" +int fopScnPause_Disable(scene_class* pScene) { + if (pScene) { + void* tmp = (void*)pScene->field_0x2C[6]; + + if (!tmp) { + fpcM_PauseDisable(pScene, 1); + fpcM_PauseDisable(pScene, 2); + } else if (fpcEx_IsExist((s32)((int*)tmp)[1]) == 1) { + if (!fpcM_IsPause(tmp, 1)) { + fpcM_PauseDisable(pScene, 1); + } + + if (!fpcM_IsPause(tmp, 2)) { + fpcM_PauseDisable(pScene, 2); + } + } + return 1; + } + return 0; } -#pragma pop diff --git a/src/f_op/f_op_scene_req.cpp b/src/f_op/f_op_scene_req.cpp index 1990c5bbd7..67aec14073 100644 --- a/src/f_op/f_op_scene_req.cpp +++ b/src/f_op/f_op_scene_req.cpp @@ -3,7 +3,7 @@ // Translation Unit: f_op/f_op_scene_req // -#include "f_op/f_op_scene_req.h" +// #include "f_op/f_op_scene_req.h" #include "dol2asm.h" #include "dolphin/types.h" diff --git a/src/f_op/f_op_scene_tag.cpp b/src/f_op/f_op_scene_tag.cpp index df877fd226..307aad4db5 100644 --- a/src/f_op/f_op_scene_tag.cpp +++ b/src/f_op/f_op_scene_tag.cpp @@ -7,84 +7,25 @@ #include "dol2asm.h" #include "dolphin/types.h" -// -// Types: -// - -struct scene_tag_class {}; - -struct node_list_class {}; - -struct create_tag_class {}; - -// -// Forward References: -// - -extern "C" void fopScnTg_QueueTo__FP15scene_tag_class(); -extern "C" void fopScnTg_ToQueue__FP15scene_tag_class(); -extern "C" void fopScnTg_Init__FP15scene_tag_classPv(); - -// -// External References: -// - -extern "C" void cTg_SingleCut__FP16create_tag_class(); -extern "C" void cTg_Addition__FP15node_list_classP16create_tag_class(); -extern "C" void cTg_Create__FP16create_tag_classPv(); - // // Declarations: // /* 8001F13C-8001F15C 019A7C 0020+00 0/0 1/1 0/0 .text fopScnTg_QueueTo__FP15scene_tag_class */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void fopScnTg_QueueTo(scene_tag_class* param_0) { - nofralloc -#include "asm/f_op/f_op_scene_tag/fopScnTg_QueueTo__FP15scene_tag_class.s" +void fopScnTg_QueueTo(scene_tag_class* pSceneTag) { + cTg_SingleCut((create_tag_class*)pSceneTag); } -#pragma pop /* ############################################################################################## */ /* 803A3918-803A3928 000A38 000C+04 1/1 1/1 0/0 .data g_fopScnTg_SceneList */ -SECTION_DATA extern u8 g_fopScnTg_SceneList[12 + 4 /* padding */] = { - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - /* padding */ - 0x00, - 0x00, - 0x00, - 0x00, -}; +node_list_class g_fopScnTg_SceneList = {NULL, NULL, 0}; /* 8001F15C-8001F188 019A9C 002C+00 0/0 1/1 0/0 .text fopScnTg_ToQueue__FP15scene_tag_class */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void fopScnTg_ToQueue(scene_tag_class* param_0) { - nofralloc -#include "asm/f_op/f_op_scene_tag/fopScnTg_ToQueue__FP15scene_tag_class.s" +void fopScnTg_ToQueue(scene_tag_class* pSceneTag) { + cTg_Addition(&g_fopScnTg_SceneList, (create_tag_class*)pSceneTag); } -#pragma pop /* 8001F188-8001F1A8 019AC8 0020+00 0/0 1/1 0/0 .text fopScnTg_Init__FP15scene_tag_classPv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void fopScnTg_Init(scene_tag_class* param_0, void* param_1) { - nofralloc -#include "asm/f_op/f_op_scene_tag/fopScnTg_Init__FP15scene_tag_classPv.s" +void fopScnTg_Init(scene_tag_class* pSceneTag, void* pData) { + cTg_Create((create_tag_class*)pSceneTag, pData); } -#pragma pop diff --git a/src/f_op/f_op_view.cpp b/src/f_op/f_op_view.cpp index 533a1d4573..1413019f21 100644 --- a/src/f_op/f_op_view.cpp +++ b/src/f_op/f_op_view.cpp @@ -7,16 +7,6 @@ #include "dol2asm.h" #include "dolphin/types.h" -// -// Types: -// - -struct view_class {}; - -struct process_method_class {}; - -struct leafdraw_method_class {}; - // // Forward References: // @@ -43,44 +33,25 @@ extern "C" void fpcMtd_Create__FP20process_method_classPv(); // /* 8001F1A8-8001F1D0 019AE8 0028+00 1/0 0/0 0/0 .text fopVw_Draw__FP10view_class */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void fopVw_Draw(view_class* param_0) { - nofralloc -#include "asm/f_op/f_op_view/fopVw_Draw__FP10view_class.s" +void fopVw_Draw(view_class* pView) { + fpcLf_DrawMethod((leafdraw_method_class*)pView->pmProcessMtd, pView); } -#pragma pop /* 8001F1D0-8001F1F8 019B10 0028+00 1/0 0/0 0/0 .text fopVw_Execute__FP10view_class */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void fopVw_Execute(view_class* param_0) { - nofralloc -#include "asm/f_op/f_op_view/fopVw_Execute__FP10view_class.s" +void fopVw_Execute(view_class* pView) { + fpcMtd_Execute(pView->pmProcessMtd, pView); } -#pragma pop /* 8001F1F8-8001F220 019B38 0028+00 1/0 0/0 0/0 .text fopVw_IsDelete__FPv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void fopVw_IsDelete(void* param_0) { - nofralloc -#include "asm/f_op/f_op_view/fopVw_IsDelete__FPv.s" +s32 fopVw_IsDelete(void* param_1) { + view_class* pView = (view_class*)param_1; + return fpcMtd_IsDelete(pView->pmProcessMtd, pView); } -#pragma pop /* 8001F220-8001F248 019B60 0028+00 1/0 0/0 0/0 .text fopVw_Delete__FP10view_class */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void fopVw_Delete(view_class* param_0) { - nofralloc -#include "asm/f_op/f_op_view/fopVw_Delete__FP10view_class.s" +s32 fopVw_Delete(view_class* pView) { + return fpcMtd_Delete(pView->pmProcessMtd, pView); } -#pragma pop /* 8001F248-8001F284 019B88 003C+00 1/0 0/0 0/0 .text fopVw_Create__FPv */ #pragma push @@ -95,11 +66,11 @@ static asm void fopVw_Create(void* param_0) { /* ############################################################################################## */ /* 803A3928-803A3940 -00001 0014+04 0/0 2/0 0/0 .data g_fopVw_Method */ SECTION_DATA extern void* g_fopVw_Method[5 + 1 /* padding */] = { - (void*)fopVw_Create__FPv, - (void*)fopVw_Delete__FP10view_class, - (void*)fopVw_Execute__FP10view_class, - (void*)fopVw_IsDelete__FPv, - (void*)fopVw_Draw__FP10view_class, + (void*)fopVw_Create, + (void*)fopVw_Delete, + (void*)fopVw_Execute, + (void*)fopVw_IsDelete, + (void*)fopVw_Draw, /* padding */ NULL, };