From b728ec1ef544571b02ef5fe05f418b9935c2b071 Mon Sep 17 00:00:00 2001 From: lepelog Date: Wed, 2 Jun 2021 14:13:31 +0200 Subject: [PATCH] J3duclip, fop_actor_mng and related stuff (#131) * J3DUClipper sinit * sincosTable_ etc * decompile JMATrigonometric sinit * f_op_actor_mng * move f_op_actor_mng and parts of mDo_ext * J3DSys sinit * f_op_scene_req * failed matching attempt for decodeSZS__9JKRDecompFPUcPUcUlUl * mX -> x * fix mCull and fopAcM_prm_class members * fix a few function parameters * move missing NON_MATCHING * remove some unneeded data * turns out that data was not unused * remove unused asm * readd asm deleted by accident --- .../callDL__17J3DDisplayListObjCFv.s | 12 - .../J3DPacket/draw__13J3DDrawPacketFv.s | 10 - .../J3DGraphBase/J3DSys/__sinit_J3DSys_cpp.s | 11 - .../calcViewFrustum__11J3DUClipperFv.s | 93 -- .../J3DU/J3DUClipper/init__11J3DUClipperFv.s | 6 - .../__sinit_JMATrigonometric_cpp.s | 117 -- .../JMath/JMATrigonometric/func_80339CB0.s | 5 - ...Append__FUsUlPC4cXyziPC5csXyzPC4cXyzScUi.s | 96 -- .../f_op_actor_mng/enemySearchJugge__FPvPv.s | 23 - .../f_op_actor_mng/fopAcM_CreateAppend__Fv.s | 31 - .../fopAcM_DeleteHeap__FP10fopAc_ac_c.s | 22 - .../fopAcM_FastCreate__FsPFPv_iPvPv.s | 9 - .../fopAcM_SearchByID__FUiPP10fopAc_ac_c.s | 32 - .../fopAcM_SearchByName__FsPP10fopAc_ac_c.s | 37 - .../fopAcM_SetMax__FP10fopAc_ac_cfff.s | 5 - .../fopAcM_SetMin__FP10fopAc_ac_cfff.s | 5 - .../fopAcM_addAngleY__FP10fopAc_ac_css.s | 13 - .../fopAcM_calcSpeed__FP10fopAc_ac_c.s | 23 - ...FP10fopAc_ac_cPFP10fopAc_ac_c_iP7JKRHeap.s | 25 - .../fopAcM_checkCullingBox__FPA4_fffffff.s | 44 - ...cM_createBokkuri__FUsPC4cXyziiiPC4cXyzii.s | 61 - ...t__FsUiUlPC4cXyziPC5csXyzPC4cXyzScPFPv_i.s | 119 -- ...d__FsUiUlPC4cXyziPC5csXyzPC4cXyzScPFPv_i.s | 37 - ...teDemoItem__FPC4cXyziiPC5csXyziPC4cXyzUc.s | 26 - ...eDisappear__FPC10fopAc_ac_cPC4cXyzUcUcUc.s | 31 - ...temForBoss__FPC4cXyziiPC5csXyzPC4cXyzffi.s | 44 - ...orDirectGet__FPC4cXyziiPC5csXyzPC4cXyzff.s | 18 - ...mForMidBoss__FPC4cXyziiPC5csXyzPC4cXyzii.s | 18 - ...rSimpleDemo__FPC4cXyziiPC5csXyzPC4cXyzff.s | 18 - ..._createItem__FPC4cXyziiiPC5csXyzPC4cXyzi.s | 115 -- ..._createWarpHole__FPC4cXyzPC5csXyziUcUcUc.s | 30 - ...cM_create__FsUlPC4cXyziPC5csXyzPC4cXyzSc.s | 28 - ...e__FsUsUlPC4cXyziPC5csXyzPC4cXyzScPFPv_i.s | 35 - .../fopAcM_delete__FP10fopAc_ac_c.s | 16 - ...dHeap__FP10fopAc_ac_cPFP10fopAc_ac_c_iUl.s | 34 - ...Heap___FP10fopAc_ac_cPFP10fopAc_ac_c_iUl.s | 193 --- ...CreateItem2__FPC4cXyziiiiPC5csXyzPC4cXyz.s | 127 -- ...e__FPCcUlPC4cXyziPC5csXyzPC4cXyzPFPv_iPv.s | 36 - ...e__FsUlPC4cXyziPC5csXyzPC4cXyzScPFPv_iPv.s | 29 - ...opAcM_getProcNameString__FPC10fopAc_ac_c.s | 21 - .../fopAcM_posMoveF__FP10fopAc_ac_cPC4cXyz.s | 18 - .../fopAcM_posMove__FP10fopAc_ac_cPC4cXyz.s | 28 - ...torAngleY__FPC10fopAc_ac_cPC10fopAc_ac_c.s | 11 - ...Distance2__FPC10fopAc_ac_cPC10fopAc_ac_c.s | 21 - ...rDistance__FPC10fopAc_ac_cPC10fopAc_ac_c.s | 87 -- ...torAngleY__FPC10fopAc_ac_cPC10fopAc_ac_c.s | 18 - ...AcM_setCullSizeBox__FP10fopAc_ac_cffffff.s | 8 - ...cM_setCullSizeSphere__FP10fopAc_ac_cffff.s | 6 - .../get_vectle_calc__FPC4cXyzPC4cXyzP4cXyz.s | 23 - .../vectle_calc__FPC10DOUBLE_POSP4cXyz.s | 45 - ...fopScnRq_Cancel__FP19scene_request_class.s | 19 - ...opScnRq_Execute__FP19scene_request_class.s | 21 - .../fopScnRq_FadeRequest__FsUs.s | 19 - .../f_op_scene_req/fopScnRq_Handler__Fv.s | 9 - ...Rq_PostMethod__FPvP19scene_request_class.s | 19 - .../fopScnRq_ReRequest__FUisPv.s | 9 - ...fopScnRq_Request__FiP11scene_classsPvsUs.s | 54 - ...se_ClearOverlap__FP19scene_request_class.s | 14 - ...cnRq_phase_Done__FP19scene_request_class.s | 18 - ...q_phase_Execute__FP19scene_request_class.s | 9 - ..._IsDoingOverlap__FP19scene_request_class.s | 14 - ...e_IsDoneOverlap__FP19scene_request_class.s | 14 - ...djustSolidHeapToSystem__FP12JKRSolidHeap.s | 14 - ...mDoExt_adjustSolidHeap__FP12JKRSolidHeap.s | 57 - .../mDoExt_createArchiveHeap__FUlP7JKRHeap.s | 14 - .../mDoExt_createAssertHeap__FP7JKRHeap.s | 10 - .../mDoExt_createCommandHeap__FUlP7JKRHeap.s | 11 - .../mDoExt_createDbPrintHeap__FUlP7JKRHeap.s | 11 - .../mDoExt_createGameHeap__FUlP7JKRHeap.s | 14 - .../mDoExt_createJ2dHeap__FUlP7JKRHeap.s | 14 - ...idHeapFromGameToCurrent__FPP7JKRHeapUlUl.s | 21 - ..._createSolidHeapFromGameToCurrent__FUlUl.s | 19 - .../mDoExt_createSolidHeapFromGame__FUlUl.s | 19 - .../mDoExt_createSolidHeapFromSystem__FUlUl.s | 19 - ...dHeapToCurrent__FPP7JKRHeapUlP7JKRHeapUl.s | 24 - ...createSolidHeapToCurrent__FUlP7JKRHeapUl.s | 15 - .../mDoExt_createSolidHeap__FUlP7JKRHeapUl.s | 45 - .../mDoExt_createZeldaHeap__FUlP7JKRHeap.s | 11 - .../mDoExt_destroyExpHeap__FP10JKRExpHeap.s | 9 - ...DoExt_destroySolidHeap__FP12JKRSolidHeap.s | 9 - .../m_Do_ext/mDoExt_restoreCurrentHeap__Fv.s | 12 - .../mDoExt_setCurrentHeap__FP7JKRHeap.s | 9 - asm/m_Do/m_Do_lib/__dt__11J3DUClipperFv.s | 20 - asm/m_Do/m_Do_lib/__sinit_m_Do_lib_cpp.s | 20 - .../d_a_tag_myna2/func_80D5CA18.s | 9 + include/JSystem/J3DGraphBase/J3DSys.h | 28 + include/JSystem/J3DU/J3DUClipper.h | 22 + include/JSystem/JKernel/JKRExpHeap.h | 9 +- include/JSystem/JKernel/JKRSolidHeap.h | 3 +- include/JSystem/JMath/JMATrigonometric.h | 32 + include/JSystem/JMath/JMath.h | 4 - include/SSystem/SComponent/c_malloc.h | 7 +- include/SSystem/SComponent/c_math.h | 9 + include/SSystem/SComponent/c_phase.h | 2 + include/SSystem/SComponent/c_sxyz.h | 6 +- include/d/d_resorce.h | 12 +- include/d/d_stage.h | 2 + include/f_op/f_op_actor.h | 14 +- include/f_op/f_op_actor_mng.h | 42 +- include/f_op/f_op_scene_req.h | 4 +- include/m_Do/m_Do_ext.h | 8 + include/m_Do/m_Do_lib.h | 9 + libs/JSystem/J3DGraphBase/J3DDrawBuffer.cpp | 1 - libs/JSystem/J3DGraphBase/J3DPacket.cpp | 1 - libs/JSystem/J3DGraphBase/J3DSys.cpp | 42 +- libs/JSystem/J3DU/J3DUClipper.cpp | 105 +- libs/JSystem/JKernel/JKRAram.cpp | 9 +- libs/JSystem/JKernel/JKRDecomp.cpp | 67 + libs/JSystem/JKernel/JKRExpHeap.cpp | 6 +- libs/JSystem/JMath/JMATrigonometric.cpp | 152 +- libs/SSystem/SComponent/c_sxyz.cpp | 18 +- src/d/a/d_a_alink.cpp | 15 +- src/d/a/d_a_player.cpp | 5 - src/d/d_attention.cpp | 1 - src/d/d_drawlist.cpp | 5 - src/d/d_resorce.cpp | 1 + src/d/d_stage.cpp | 2 +- src/f_op/f_op_actor_mng.cpp | 1366 ++++++++++------- src/f_op/f_op_scene_req.cpp | 283 ++-- src/m_Do/m_Do_ext.cpp | 342 ++--- src/m_Do/m_Do_lib.cpp | 59 +- 121 files changed, 1367 insertions(+), 3871 deletions(-) delete mode 100644 asm/JSystem/J3DGraphBase/J3DPacket/callDL__17J3DDisplayListObjCFv.s delete mode 100644 asm/JSystem/J3DGraphBase/J3DPacket/draw__13J3DDrawPacketFv.s delete mode 100644 asm/JSystem/J3DGraphBase/J3DSys/__sinit_J3DSys_cpp.s delete mode 100644 asm/JSystem/J3DU/J3DUClipper/calcViewFrustum__11J3DUClipperFv.s delete mode 100644 asm/JSystem/J3DU/J3DUClipper/init__11J3DUClipperFv.s delete mode 100644 asm/JSystem/JMath/JMATrigonometric/__sinit_JMATrigonometric_cpp.s delete mode 100644 asm/JSystem/JMath/JMATrigonometric/func_80339CB0.s delete mode 100644 asm/f_op/f_op_actor_mng/createAppend__FUsUlPC4cXyziPC5csXyzPC4cXyzScUi.s delete mode 100644 asm/f_op/f_op_actor_mng/enemySearchJugge__FPvPv.s delete mode 100644 asm/f_op/f_op_actor_mng/fopAcM_CreateAppend__Fv.s delete mode 100644 asm/f_op/f_op_actor_mng/fopAcM_DeleteHeap__FP10fopAc_ac_c.s delete mode 100644 asm/f_op/f_op_actor_mng/fopAcM_FastCreate__FsPFPv_iPvPv.s delete mode 100644 asm/f_op/f_op_actor_mng/fopAcM_SearchByID__FUiPP10fopAc_ac_c.s delete mode 100644 asm/f_op/f_op_actor_mng/fopAcM_SearchByName__FsPP10fopAc_ac_c.s delete mode 100644 asm/f_op/f_op_actor_mng/fopAcM_SetMax__FP10fopAc_ac_cfff.s delete mode 100644 asm/f_op/f_op_actor_mng/fopAcM_SetMin__FP10fopAc_ac_cfff.s delete mode 100644 asm/f_op/f_op_actor_mng/fopAcM_addAngleY__FP10fopAc_ac_css.s delete mode 100644 asm/f_op/f_op_actor_mng/fopAcM_calcSpeed__FP10fopAc_ac_c.s delete mode 100644 asm/f_op/f_op_actor_mng/fopAcM_callCallback__FP10fopAc_ac_cPFP10fopAc_ac_c_iP7JKRHeap.s delete mode 100644 asm/f_op/f_op_actor_mng/fopAcM_checkCullingBox__FPA4_fffffff.s delete mode 100644 asm/f_op/f_op_actor_mng/fopAcM_createBokkuri__FUsPC4cXyziiiPC4cXyzii.s delete mode 100644 asm/f_op/f_op_actor_mng/fopAcM_createChildFromOffset__FsUiUlPC4cXyziPC5csXyzPC4cXyzScPFPv_i.s delete mode 100644 asm/f_op/f_op_actor_mng/fopAcM_createChild__FsUiUlPC4cXyziPC5csXyzPC4cXyzScPFPv_i.s delete mode 100644 asm/f_op/f_op_actor_mng/fopAcM_createDemoItem__FPC4cXyziiPC5csXyziPC4cXyzUc.s delete mode 100644 asm/f_op/f_op_actor_mng/fopAcM_createDisappear__FPC10fopAc_ac_cPC4cXyzUcUcUc.s delete mode 100644 asm/f_op/f_op_actor_mng/fopAcM_createItemForBoss__FPC4cXyziiPC5csXyzPC4cXyzffi.s delete mode 100644 asm/f_op/f_op_actor_mng/fopAcM_createItemForDirectGet__FPC4cXyziiPC5csXyzPC4cXyzff.s delete mode 100644 asm/f_op/f_op_actor_mng/fopAcM_createItemForMidBoss__FPC4cXyziiPC5csXyzPC4cXyzii.s delete mode 100644 asm/f_op/f_op_actor_mng/fopAcM_createItemForSimpleDemo__FPC4cXyziiPC5csXyzPC4cXyzff.s delete mode 100644 asm/f_op/f_op_actor_mng/fopAcM_createItem__FPC4cXyziiiPC5csXyzPC4cXyzi.s delete mode 100644 asm/f_op/f_op_actor_mng/fopAcM_createWarpHole__FPC4cXyzPC5csXyziUcUcUc.s delete mode 100644 asm/f_op/f_op_actor_mng/fopAcM_create__FsUlPC4cXyziPC5csXyzPC4cXyzSc.s delete mode 100644 asm/f_op/f_op_actor_mng/fopAcM_create__FsUsUlPC4cXyziPC5csXyzPC4cXyzScPFPv_i.s delete mode 100644 asm/f_op/f_op_actor_mng/fopAcM_delete__FP10fopAc_ac_c.s delete mode 100644 asm/f_op/f_op_actor_mng/fopAcM_entrySolidHeap__FP10fopAc_ac_cPFP10fopAc_ac_c_iUl.s delete mode 100644 asm/f_op/f_op_actor_mng/fopAcM_entrySolidHeap___FP10fopAc_ac_cPFP10fopAc_ac_c_iUl.s delete mode 100644 asm/f_op/f_op_actor_mng/fopAcM_fastCreateItem2__FPC4cXyziiiiPC5csXyzPC4cXyz.s delete mode 100644 asm/f_op/f_op_actor_mng/fopAcM_fastCreate__FPCcUlPC4cXyziPC5csXyzPC4cXyzPFPv_iPv.s delete mode 100644 asm/f_op/f_op_actor_mng/fopAcM_fastCreate__FsUlPC4cXyziPC5csXyzPC4cXyzScPFPv_iPv.s delete mode 100644 asm/f_op/f_op_actor_mng/fopAcM_getProcNameString__FPC10fopAc_ac_c.s delete mode 100644 asm/f_op/f_op_actor_mng/fopAcM_posMoveF__FP10fopAc_ac_cPC4cXyz.s delete mode 100644 asm/f_op/f_op_actor_mng/fopAcM_posMove__FP10fopAc_ac_cPC4cXyz.s delete mode 100644 asm/f_op/f_op_actor_mng/fopAcM_searchActorAngleY__FPC10fopAc_ac_cPC10fopAc_ac_c.s delete mode 100644 asm/f_op/f_op_actor_mng/fopAcM_searchActorDistance2__FPC10fopAc_ac_cPC10fopAc_ac_c.s delete mode 100644 asm/f_op/f_op_actor_mng/fopAcM_searchActorDistance__FPC10fopAc_ac_cPC10fopAc_ac_c.s delete mode 100644 asm/f_op/f_op_actor_mng/fopAcM_seenActorAngleY__FPC10fopAc_ac_cPC10fopAc_ac_c.s delete mode 100644 asm/f_op/f_op_actor_mng/fopAcM_setCullSizeBox__FP10fopAc_ac_cffffff.s delete mode 100644 asm/f_op/f_op_actor_mng/fopAcM_setCullSizeSphere__FP10fopAc_ac_cffff.s delete mode 100644 asm/f_op/f_op_actor_mng/get_vectle_calc__FPC4cXyzPC4cXyzP4cXyz.s delete mode 100644 asm/f_op/f_op_actor_mng/vectle_calc__FPC10DOUBLE_POSP4cXyz.s delete mode 100644 asm/f_op/f_op_scene_req/fopScnRq_Cancel__FP19scene_request_class.s delete mode 100644 asm/f_op/f_op_scene_req/fopScnRq_Execute__FP19scene_request_class.s delete mode 100644 asm/f_op/f_op_scene_req/fopScnRq_FadeRequest__FsUs.s delete mode 100644 asm/f_op/f_op_scene_req/fopScnRq_Handler__Fv.s delete mode 100644 asm/f_op/f_op_scene_req/fopScnRq_PostMethod__FPvP19scene_request_class.s delete mode 100644 asm/f_op/f_op_scene_req/fopScnRq_ReRequest__FUisPv.s delete mode 100644 asm/f_op/f_op_scene_req/fopScnRq_Request__FiP11scene_classsPvsUs.s delete mode 100644 asm/f_op/f_op_scene_req/fopScnRq_phase_ClearOverlap__FP19scene_request_class.s delete mode 100644 asm/f_op/f_op_scene_req/fopScnRq_phase_Done__FP19scene_request_class.s delete mode 100644 asm/f_op/f_op_scene_req/fopScnRq_phase_Execute__FP19scene_request_class.s delete mode 100644 asm/f_op/f_op_scene_req/fopScnRq_phase_IsDoingOverlap__FP19scene_request_class.s delete mode 100644 asm/f_op/f_op_scene_req/fopScnRq_phase_IsDoneOverlap__FP19scene_request_class.s delete mode 100644 asm/m_Do/m_Do_ext/mDoExt_adjustSolidHeapToSystem__FP12JKRSolidHeap.s delete mode 100644 asm/m_Do/m_Do_ext/mDoExt_adjustSolidHeap__FP12JKRSolidHeap.s delete mode 100644 asm/m_Do/m_Do_ext/mDoExt_createArchiveHeap__FUlP7JKRHeap.s delete mode 100644 asm/m_Do/m_Do_ext/mDoExt_createAssertHeap__FP7JKRHeap.s delete mode 100644 asm/m_Do/m_Do_ext/mDoExt_createCommandHeap__FUlP7JKRHeap.s delete mode 100644 asm/m_Do/m_Do_ext/mDoExt_createDbPrintHeap__FUlP7JKRHeap.s delete mode 100644 asm/m_Do/m_Do_ext/mDoExt_createGameHeap__FUlP7JKRHeap.s delete mode 100644 asm/m_Do/m_Do_ext/mDoExt_createJ2dHeap__FUlP7JKRHeap.s delete mode 100644 asm/m_Do/m_Do_ext/mDoExt_createSolidHeapFromGameToCurrent__FPP7JKRHeapUlUl.s delete mode 100644 asm/m_Do/m_Do_ext/mDoExt_createSolidHeapFromGameToCurrent__FUlUl.s delete mode 100644 asm/m_Do/m_Do_ext/mDoExt_createSolidHeapFromGame__FUlUl.s delete mode 100644 asm/m_Do/m_Do_ext/mDoExt_createSolidHeapFromSystem__FUlUl.s delete mode 100644 asm/m_Do/m_Do_ext/mDoExt_createSolidHeapToCurrent__FPP7JKRHeapUlP7JKRHeapUl.s delete mode 100644 asm/m_Do/m_Do_ext/mDoExt_createSolidHeapToCurrent__FUlP7JKRHeapUl.s delete mode 100644 asm/m_Do/m_Do_ext/mDoExt_createSolidHeap__FUlP7JKRHeapUl.s delete mode 100644 asm/m_Do/m_Do_ext/mDoExt_createZeldaHeap__FUlP7JKRHeap.s delete mode 100644 asm/m_Do/m_Do_ext/mDoExt_destroyExpHeap__FP10JKRExpHeap.s delete mode 100644 asm/m_Do/m_Do_ext/mDoExt_destroySolidHeap__FP12JKRSolidHeap.s delete mode 100644 asm/m_Do/m_Do_ext/mDoExt_restoreCurrentHeap__Fv.s delete mode 100644 asm/m_Do/m_Do_ext/mDoExt_setCurrentHeap__FP7JKRHeap.s delete mode 100644 asm/m_Do/m_Do_lib/__dt__11J3DUClipperFv.s delete mode 100644 asm/m_Do/m_Do_lib/__sinit_m_Do_lib_cpp.s create mode 100644 asm/rel/d/a/tag/d_a_tag_myna2/d_a_tag_myna2/func_80D5CA18.s diff --git a/asm/JSystem/J3DGraphBase/J3DPacket/callDL__17J3DDisplayListObjCFv.s b/asm/JSystem/J3DGraphBase/J3DPacket/callDL__17J3DDisplayListObjCFv.s deleted file mode 100644 index d74f35e3cd..0000000000 --- a/asm/JSystem/J3DGraphBase/J3DPacket/callDL__17J3DDisplayListObjCFv.s +++ /dev/null @@ -1,12 +0,0 @@ -lbl_80312618: -/* 80312618 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8031261C 7C 08 02 A6 */ mflr r0 -/* 80312620 90 01 00 14 */ stw r0, 0x14(r1) -/* 80312624 7C 64 1B 78 */ mr r4, r3 -/* 80312628 80 63 00 00 */ lwz r3, 0(r3) -/* 8031262C 80 84 00 08 */ lwz r4, 8(r4) -/* 80312630 48 04 D8 C1 */ bl GXCallDisplayList -/* 80312634 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80312638 7C 08 03 A6 */ mtlr r0 -/* 8031263C 38 21 00 10 */ addi r1, r1, 0x10 -/* 80312640 4E 80 00 20 */ blr diff --git a/asm/JSystem/J3DGraphBase/J3DPacket/draw__13J3DDrawPacketFv.s b/asm/JSystem/J3DGraphBase/J3DPacket/draw__13J3DDrawPacketFv.s deleted file mode 100644 index 9e09210d7e..0000000000 --- a/asm/JSystem/J3DGraphBase/J3DPacket/draw__13J3DDrawPacketFv.s +++ /dev/null @@ -1,10 +0,0 @@ -lbl_80312924: -/* 80312924 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80312928 7C 08 02 A6 */ mflr r0 -/* 8031292C 90 01 00 14 */ stw r0, 0x14(r1) -/* 80312930 80 63 00 20 */ lwz r3, 0x20(r3) -/* 80312934 4B FF FC E5 */ bl callDL__17J3DDisplayListObjCFv -/* 80312938 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8031293C 7C 08 03 A6 */ mtlr r0 -/* 80312940 38 21 00 10 */ addi r1, r1, 0x10 -/* 80312944 4E 80 00 20 */ blr diff --git a/asm/JSystem/J3DGraphBase/J3DSys/__sinit_J3DSys_cpp.s b/asm/JSystem/J3DGraphBase/J3DSys/__sinit_J3DSys_cpp.s deleted file mode 100644 index d71b70337e..0000000000 --- a/asm/JSystem/J3DGraphBase/J3DSys/__sinit_J3DSys_cpp.s +++ /dev/null @@ -1,11 +0,0 @@ -lbl_80310ED0: -/* 80310ED0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80310ED4 7C 08 02 A6 */ mflr r0 -/* 80310ED8 90 01 00 14 */ stw r0, 0x14(r1) -/* 80310EDC 3C 60 80 43 */ lis r3, j3dSys@ha /* 0x80434AC8@ha */ -/* 80310EE0 38 63 4A C8 */ addi r3, r3, j3dSys@l /* 0x80434AC8@l */ -/* 80310EE4 4B FF EF 05 */ bl __ct__6J3DSysFv -/* 80310EE8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80310EEC 7C 08 03 A6 */ mtlr r0 -/* 80310EF0 38 21 00 10 */ addi r1, r1, 0x10 -/* 80310EF4 4E 80 00 20 */ blr diff --git a/asm/JSystem/J3DU/J3DUClipper/calcViewFrustum__11J3DUClipperFv.s b/asm/JSystem/J3DU/J3DUClipper/calcViewFrustum__11J3DUClipperFv.s deleted file mode 100644 index 21e4acc725..0000000000 --- a/asm/JSystem/J3DU/J3DUClipper/calcViewFrustum__11J3DUClipperFv.s +++ /dev/null @@ -1,93 +0,0 @@ -lbl_8027378C: -/* 8027378C 94 21 FF C0 */ stwu r1, -0x40(r1) -/* 80273790 7C 08 02 A6 */ mflr r0 -/* 80273794 90 01 00 44 */ stw r0, 0x44(r1) -/* 80273798 93 E1 00 3C */ stw r31, 0x3c(r1) -/* 8027379C 93 C1 00 38 */ stw r30, 0x38(r1) -/* 802737A0 7C 7E 1B 78 */ mr r30, r3 -/* 802737A4 3C 60 80 3A */ lis r3, lit_898@ha /* 0x8039A948@ha */ -/* 802737A8 3B E3 A9 48 */ addi r31, r3, lit_898@l /* 0x8039A948@l */ -/* 802737AC C0 42 B8 80 */ lfs f2, lit_913(r2) -/* 802737B0 C0 22 B8 84 */ lfs f1, lit_914(r2) -/* 802737B4 C0 1E 00 4C */ lfs f0, 0x4c(r30) -/* 802737B8 EC 01 00 32 */ fmuls f0, f1, f0 -/* 802737BC EC 22 00 32 */ fmuls f1, f2, f0 -/* 802737C0 48 0F 8E A9 */ bl tan -/* 802737C4 FC 00 08 18 */ frsp f0, f1 -/* 802737C8 C0 3E 00 54 */ lfs f1, 0x54(r30) -/* 802737CC EC 81 00 32 */ fmuls f4, f1, f0 -/* 802737D0 C0 1E 00 50 */ lfs f0, 0x50(r30) -/* 802737D4 EC A0 01 32 */ fmuls f5, f0, f4 -/* 802737D8 80 7F 00 0C */ lwz r3, 0xc(r31) -/* 802737DC 80 1F 00 10 */ lwz r0, 0x10(r31) -/* 802737E0 90 61 00 2C */ stw r3, 0x2c(r1) -/* 802737E4 90 01 00 30 */ stw r0, 0x30(r1) -/* 802737E8 80 1F 00 14 */ lwz r0, 0x14(r31) -/* 802737EC 90 01 00 34 */ stw r0, 0x34(r1) -/* 802737F0 FC 40 28 50 */ fneg f2, f5 -/* 802737F4 D0 41 00 2C */ stfs f2, 0x2c(r1) -/* 802737F8 FC 60 20 50 */ fneg f3, f4 -/* 802737FC D0 61 00 30 */ stfs f3, 0x30(r1) -/* 80273800 FC 00 08 50 */ fneg f0, f1 -/* 80273804 D0 01 00 34 */ stfs f0, 0x34(r1) -/* 80273808 80 7F 00 18 */ lwz r3, 0x18(r31) -/* 8027380C 80 1F 00 1C */ lwz r0, 0x1c(r31) -/* 80273810 90 61 00 20 */ stw r3, 0x20(r1) -/* 80273814 90 01 00 24 */ stw r0, 0x24(r1) -/* 80273818 80 1F 00 20 */ lwz r0, 0x20(r31) -/* 8027381C 90 01 00 28 */ stw r0, 0x28(r1) -/* 80273820 D0 41 00 20 */ stfs f2, 0x20(r1) -/* 80273824 D0 81 00 24 */ stfs f4, 0x24(r1) -/* 80273828 D0 01 00 28 */ stfs f0, 0x28(r1) -/* 8027382C 80 7F 00 24 */ lwz r3, 0x24(r31) -/* 80273830 80 1F 00 28 */ lwz r0, 0x28(r31) -/* 80273834 90 61 00 14 */ stw r3, 0x14(r1) -/* 80273838 90 01 00 18 */ stw r0, 0x18(r1) -/* 8027383C 80 1F 00 2C */ lwz r0, 0x2c(r31) -/* 80273840 90 01 00 1C */ stw r0, 0x1c(r1) -/* 80273844 D0 A1 00 14 */ stfs f5, 0x14(r1) -/* 80273848 D0 81 00 18 */ stfs f4, 0x18(r1) -/* 8027384C D0 01 00 1C */ stfs f0, 0x1c(r1) -/* 80273850 80 7F 00 30 */ lwz r3, 0x30(r31) -/* 80273854 80 1F 00 34 */ lwz r0, 0x34(r31) -/* 80273858 90 61 00 08 */ stw r3, 8(r1) -/* 8027385C 90 01 00 0C */ stw r0, 0xc(r1) -/* 80273860 80 1F 00 38 */ lwz r0, 0x38(r31) -/* 80273864 90 01 00 10 */ stw r0, 0x10(r1) -/* 80273868 D0 A1 00 08 */ stfs f5, 8(r1) -/* 8027386C D0 61 00 0C */ stfs f3, 0xc(r1) -/* 80273870 D0 01 00 10 */ stfs f0, 0x10(r1) -/* 80273874 38 61 00 20 */ addi r3, r1, 0x20 -/* 80273878 38 81 00 2C */ addi r4, r1, 0x2c -/* 8027387C 38 BE 00 04 */ addi r5, r30, 4 -/* 80273880 48 0D 39 35 */ bl PSVECCrossProduct -/* 80273884 38 61 00 14 */ addi r3, r1, 0x14 -/* 80273888 38 81 00 20 */ addi r4, r1, 0x20 -/* 8027388C 38 BE 00 10 */ addi r5, r30, 0x10 -/* 80273890 48 0D 39 25 */ bl PSVECCrossProduct -/* 80273894 38 61 00 08 */ addi r3, r1, 8 -/* 80273898 38 81 00 14 */ addi r4, r1, 0x14 -/* 8027389C 38 BE 00 1C */ addi r5, r30, 0x1c -/* 802738A0 48 0D 39 15 */ bl PSVECCrossProduct -/* 802738A4 38 61 00 2C */ addi r3, r1, 0x2c -/* 802738A8 38 81 00 08 */ addi r4, r1, 8 -/* 802738AC 38 BE 00 28 */ addi r5, r30, 0x28 -/* 802738B0 48 0D 39 05 */ bl PSVECCrossProduct -/* 802738B4 38 7E 00 04 */ addi r3, r30, 4 -/* 802738B8 7C 64 1B 78 */ mr r4, r3 -/* 802738BC 48 0D 38 39 */ bl PSVECNormalize -/* 802738C0 38 7E 00 10 */ addi r3, r30, 0x10 -/* 802738C4 7C 64 1B 78 */ mr r4, r3 -/* 802738C8 48 0D 38 2D */ bl PSVECNormalize -/* 802738CC 38 7E 00 1C */ addi r3, r30, 0x1c -/* 802738D0 7C 64 1B 78 */ mr r4, r3 -/* 802738D4 48 0D 38 21 */ bl PSVECNormalize -/* 802738D8 38 7E 00 28 */ addi r3, r30, 0x28 -/* 802738DC 7C 64 1B 78 */ mr r4, r3 -/* 802738E0 48 0D 38 15 */ bl PSVECNormalize -/* 802738E4 83 E1 00 3C */ lwz r31, 0x3c(r1) -/* 802738E8 83 C1 00 38 */ lwz r30, 0x38(r1) -/* 802738EC 80 01 00 44 */ lwz r0, 0x44(r1) -/* 802738F0 7C 08 03 A6 */ mtlr r0 -/* 802738F4 38 21 00 40 */ addi r1, r1, 0x40 -/* 802738F8 4E 80 00 20 */ blr diff --git a/asm/JSystem/J3DU/J3DUClipper/init__11J3DUClipperFv.s b/asm/JSystem/J3DU/J3DUClipper/init__11J3DUClipperFv.s deleted file mode 100644 index cac0603f2a..0000000000 --- a/asm/JSystem/J3DU/J3DUClipper/init__11J3DUClipperFv.s +++ /dev/null @@ -1,6 +0,0 @@ -lbl_80273778: -/* 80273778 C0 02 B8 78 */ lfs f0, lit_893(r2) -/* 8027377C D0 03 00 54 */ stfs f0, 0x54(r3) -/* 80273780 C0 02 B8 7C */ lfs f0, lit_894(r2) -/* 80273784 D0 03 00 58 */ stfs f0, 0x58(r3) -/* 80273788 4E 80 00 20 */ blr diff --git a/asm/JSystem/JMath/JMATrigonometric/__sinit_JMATrigonometric_cpp.s b/asm/JSystem/JMath/JMATrigonometric/__sinit_JMATrigonometric_cpp.s deleted file mode 100644 index 552a9dec67..0000000000 --- a/asm/JSystem/JMath/JMATrigonometric/__sinit_JMATrigonometric_cpp.s +++ /dev/null @@ -1,117 +0,0 @@ -lbl_80339AEC: -/* 80339AEC 94 21 FF 90 */ stwu r1, -0x70(r1) -/* 80339AF0 7C 08 02 A6 */ mflr r0 -/* 80339AF4 90 01 00 74 */ stw r0, 0x74(r1) -/* 80339AF8 DB E1 00 60 */ stfd f31, 0x60(r1) -/* 80339AFC F3 E1 00 68 */ psq_st f31, 104(r1), 0, 0 /* qr0 */ -/* 80339B00 DB C1 00 50 */ stfd f30, 0x50(r1) -/* 80339B04 F3 C1 00 58 */ psq_st f30, 88(r1), 0, 0 /* qr0 */ -/* 80339B08 DB A1 00 40 */ stfd f29, 0x40(r1) -/* 80339B0C F3 A1 00 48 */ psq_st f29, 72(r1), 0, 0 /* qr0 */ -/* 80339B10 DB 81 00 30 */ stfd f28, 0x30(r1) -/* 80339B14 F3 81 00 38 */ psq_st f28, 56(r1), 0, 0 /* qr0 */ -/* 80339B18 39 61 00 30 */ addi r11, r1, 0x30 -/* 80339B1C 48 02 86 B9 */ bl _savegpr_27 -/* 80339B20 3C 60 80 44 */ lis r3, sincosTable___5JMath@ha /* 0x80439A20@ha */ -/* 80339B24 38 63 9A 20 */ addi r3, r3, sincosTable___5JMath@l /* 0x80439A20@l */ -/* 80339B28 3C 80 80 34 */ lis r4, func_80339CB0@ha /* 0x80339CB0@ha */ -/* 80339B2C 38 84 9C B0 */ addi r4, r4, func_80339CB0@l /* 0x80339CB0@l */ -/* 80339B30 38 A0 00 00 */ li r5, 0 -/* 80339B34 38 C0 00 08 */ li r6, 8 -/* 80339B38 38 E0 20 00 */ li r7, 0x2000 -/* 80339B3C 48 02 82 25 */ bl __construct_array -/* 80339B40 3B 80 00 00 */ li r28, 0 -/* 80339B44 7F 9F E3 78 */ mr r31, r28 -/* 80339B48 CB A2 CB 00 */ lfd f29, lit_441(r2) -/* 80339B4C 3F C0 43 30 */ lis r30, 0x4330 -/* 80339B50 CB E2 CA E0 */ lfd f31, lit_436(r2) -/* 80339B54 CB C2 CA E8 */ lfd f30, lit_437(r2) -/* 80339B58 3C 60 80 44 */ lis r3, sincosTable___5JMath@ha /* 0x80439A20@ha */ -/* 80339B5C 3B A3 9A 20 */ addi r29, r3, sincosTable___5JMath@l /* 0x80439A20@l */ -lbl_80339B60: -/* 80339B60 6F 80 80 00 */ xoris r0, r28, 0x8000 -/* 80339B64 90 01 00 0C */ stw r0, 0xc(r1) -/* 80339B68 93 C1 00 08 */ stw r30, 8(r1) -/* 80339B6C C8 01 00 08 */ lfd f0, 8(r1) -/* 80339B70 FC 00 E8 28 */ fsub f0, f0, f29 -/* 80339B74 FC 00 07 F2 */ fmul f0, f0, f31 -/* 80339B78 FF 80 F0 24 */ fdiv f28, f0, f30 -/* 80339B7C FC 20 E0 90 */ fmr f1, f28 -/* 80339B80 48 03 2A 11 */ bl sin -/* 80339B84 FC 00 08 18 */ frsp f0, f1 -/* 80339B88 7F 7D FA 14 */ add r27, r29, r31 -/* 80339B8C D0 1B 00 00 */ stfs f0, 0(r27) -/* 80339B90 FC 20 E0 90 */ fmr f1, f28 -/* 80339B94 48 03 24 95 */ bl cos -/* 80339B98 FC 00 08 18 */ frsp f0, f1 -/* 80339B9C D0 1B 00 04 */ stfs f0, 4(r27) -/* 80339BA0 3B 9C 00 01 */ addi r28, r28, 1 -/* 80339BA4 2C 1C 20 00 */ cmpwi r28, 0x2000 -/* 80339BA8 3B FF 00 08 */ addi r31, r31, 8 -/* 80339BAC 41 80 FF B4 */ blt lbl_80339B60 -/* 80339BB0 3B 80 00 00 */ li r28, 0 -/* 80339BB4 3B E0 00 00 */ li r31, 0 -/* 80339BB8 CB E2 CB 00 */ lfd f31, lit_441(r2) -/* 80339BBC 3F C0 43 30 */ lis r30, 0x4330 -/* 80339BC0 CB C2 CA F0 */ lfd f30, lit_438(r2) -/* 80339BC4 3C 60 80 45 */ lis r3, atanTable___5JMath@ha /* 0x80449A20@ha */ -/* 80339BC8 3B A3 9A 20 */ addi r29, r3, atanTable___5JMath@l /* 0x80449A20@l */ -lbl_80339BCC: -/* 80339BCC 6F 80 80 00 */ xoris r0, r28, 0x8000 -/* 80339BD0 90 01 00 0C */ stw r0, 0xc(r1) -/* 80339BD4 93 C1 00 08 */ stw r30, 8(r1) -/* 80339BD8 C8 01 00 08 */ lfd f0, 8(r1) -/* 80339BDC FC 00 F8 28 */ fsub f0, f0, f31 -/* 80339BE0 FC 20 07 B2 */ fmul f1, f0, f30 -/* 80339BE4 48 03 20 C1 */ bl atan -/* 80339BE8 FC 00 08 18 */ frsp f0, f1 -/* 80339BEC 7C 1D FD 2E */ stfsx f0, r29, r31 -/* 80339BF0 3B 9C 00 01 */ addi r28, r28, 1 -/* 80339BF4 28 1C 04 00 */ cmplwi r28, 0x400 -/* 80339BF8 3B FF 00 04 */ addi r31, r31, 4 -/* 80339BFC 41 80 FF D0 */ blt lbl_80339BCC -/* 80339C00 C0 02 CA D8 */ lfs f0, lit_326(r2) -/* 80339C04 3C 60 80 45 */ lis r3, atanTable___5JMath@ha /* 0x80449A20@ha */ -/* 80339C08 D4 03 9A 20 */ stfsu f0, atanTable___5JMath@l(r3) /* 0x80449A20@l */ -/* 80339C0C C0 02 CA F8 */ lfs f0, lit_439(r2) -/* 80339C10 D0 03 10 00 */ stfs f0, 0x1000(r3) -/* 80339C14 3B 80 00 00 */ li r28, 0 -/* 80339C18 3B E0 00 00 */ li r31, 0 -/* 80339C1C CB C2 CB 00 */ lfd f30, lit_441(r2) -/* 80339C20 3F A0 43 30 */ lis r29, 0x4330 -/* 80339C24 CB E2 CA F0 */ lfd f31, lit_438(r2) -/* 80339C28 3C 60 80 45 */ lis r3, asinAcosTable___5JMath@ha /* 0x8044AA40@ha */ -/* 80339C2C 3B C3 AA 40 */ addi r30, r3, asinAcosTable___5JMath@l /* 0x8044AA40@l */ -lbl_80339C30: -/* 80339C30 6F 80 80 00 */ xoris r0, r28, 0x8000 -/* 80339C34 90 01 00 0C */ stw r0, 0xc(r1) -/* 80339C38 93 A1 00 08 */ stw r29, 8(r1) -/* 80339C3C C8 01 00 08 */ lfd f0, 8(r1) -/* 80339C40 FC 00 F0 28 */ fsub f0, f0, f30 -/* 80339C44 FC 20 07 F2 */ fmul f1, f0, f31 -/* 80339C48 48 03 2A B9 */ bl asin -/* 80339C4C FC 00 08 18 */ frsp f0, f1 -/* 80339C50 7C 1E FD 2E */ stfsx f0, r30, r31 -/* 80339C54 3B 9C 00 01 */ addi r28, r28, 1 -/* 80339C58 2C 1C 04 00 */ cmpwi r28, 0x400 -/* 80339C5C 3B FF 00 04 */ addi r31, r31, 4 -/* 80339C60 41 80 FF D0 */ blt lbl_80339C30 -/* 80339C64 C0 02 CA D8 */ lfs f0, lit_326(r2) -/* 80339C68 3C 60 80 45 */ lis r3, asinAcosTable___5JMath@ha /* 0x8044AA40@ha */ -/* 80339C6C D4 03 AA 40 */ stfsu f0, asinAcosTable___5JMath@l(r3) /* 0x8044AA40@l */ -/* 80339C70 C0 02 CA F8 */ lfs f0, lit_439(r2) -/* 80339C74 D0 03 10 00 */ stfs f0, 0x1000(r3) -/* 80339C78 E3 E1 00 68 */ psq_l f31, 104(r1), 0, 0 /* qr0 */ -/* 80339C7C CB E1 00 60 */ lfd f31, 0x60(r1) -/* 80339C80 E3 C1 00 58 */ psq_l f30, 88(r1), 0, 0 /* qr0 */ -/* 80339C84 CB C1 00 50 */ lfd f30, 0x50(r1) -/* 80339C88 E3 A1 00 48 */ psq_l f29, 72(r1), 0, 0 /* qr0 */ -/* 80339C8C CB A1 00 40 */ lfd f29, 0x40(r1) -/* 80339C90 E3 81 00 38 */ psq_l f28, 56(r1), 0, 0 /* qr0 */ -/* 80339C94 CB 81 00 30 */ lfd f28, 0x30(r1) -/* 80339C98 39 61 00 30 */ addi r11, r1, 0x30 -/* 80339C9C 48 02 85 85 */ bl _restgpr_27 -/* 80339CA0 80 01 00 74 */ lwz r0, 0x74(r1) -/* 80339CA4 7C 08 03 A6 */ mtlr r0 -/* 80339CA8 38 21 00 70 */ addi r1, r1, 0x70 -/* 80339CAC 4E 80 00 20 */ blr diff --git a/asm/JSystem/JMath/JMATrigonometric/func_80339CB0.s b/asm/JSystem/JMath/JMATrigonometric/func_80339CB0.s deleted file mode 100644 index ce75ba66b4..0000000000 --- a/asm/JSystem/JMath/JMATrigonometric/func_80339CB0.s +++ /dev/null @@ -1,5 +0,0 @@ -lbl_80339CB0: -/* 80339CB0 C0 02 CA D8 */ lfs f0, lit_326(r2) -/* 80339CB4 D0 03 00 00 */ stfs f0, 0(r3) -/* 80339CB8 D0 03 00 04 */ stfs f0, 4(r3) -/* 80339CBC 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_actor_mng/createAppend__FUsUlPC4cXyziPC5csXyzPC4cXyzScUi.s b/asm/f_op/f_op_actor_mng/createAppend__FUsUlPC4cXyziPC5csXyzPC4cXyzScUi.s deleted file mode 100644 index 5019dccd2d..0000000000 --- a/asm/f_op/f_op_actor_mng/createAppend__FUsUlPC4cXyziPC5csXyzPC4cXyzScUi.s +++ /dev/null @@ -1,96 +0,0 @@ -lbl_80019B1C: -/* 80019B1C 94 21 FF C0 */ stwu r1, -0x40(r1) -/* 80019B20 7C 08 02 A6 */ mflr r0 -/* 80019B24 90 01 00 44 */ stw r0, 0x44(r1) -/* 80019B28 39 61 00 40 */ addi r11, r1, 0x40 -/* 80019B2C 48 34 86 9D */ bl _savegpr_24 -/* 80019B30 7C 78 1B 78 */ mr r24, r3 -/* 80019B34 7C 9D 23 78 */ mr r29, r4 -/* 80019B38 7C B9 2B 78 */ mr r25, r5 -/* 80019B3C 7C DA 33 78 */ mr r26, r6 -/* 80019B40 7C FB 3B 78 */ mr r27, r7 -/* 80019B44 7D 1C 43 78 */ mr r28, r8 -/* 80019B48 7D 3E 4B 78 */ mr r30, r9 -/* 80019B4C 7D 5F 53 78 */ mr r31, r10 -/* 80019B50 4B FF FF 59 */ bl fopAcM_CreateAppend__Fv -/* 80019B54 28 03 00 00 */ cmplwi r3, 0 -/* 80019B58 40 82 00 0C */ bne lbl_80019B64 -/* 80019B5C 38 60 00 00 */ li r3, 0 -/* 80019B60 48 00 01 00 */ b lbl_80019C60 -lbl_80019B64: -/* 80019B64 B3 03 00 16 */ sth r24, 0x16(r3) -/* 80019B68 28 19 00 00 */ cmplwi r25, 0 -/* 80019B6C 41 82 00 20 */ beq lbl_80019B8C -/* 80019B70 C0 19 00 00 */ lfs f0, 0(r25) -/* 80019B74 D0 03 00 04 */ stfs f0, 4(r3) -/* 80019B78 C0 19 00 04 */ lfs f0, 4(r25) -/* 80019B7C D0 03 00 08 */ stfs f0, 8(r3) -/* 80019B80 C0 19 00 08 */ lfs f0, 8(r25) -/* 80019B84 D0 03 00 0C */ stfs f0, 0xc(r3) -/* 80019B88 48 00 00 20 */ b lbl_80019BA8 -lbl_80019B8C: -/* 80019B8C 3C 80 80 43 */ lis r4, Zero__4cXyz@ha /* 0x80430CF4@ha */ -/* 80019B90 C4 04 0C F4 */ lfsu f0, Zero__4cXyz@l(r4) /* 0x80430CF4@l */ -/* 80019B94 D0 03 00 04 */ stfs f0, 4(r3) -/* 80019B98 C0 04 00 04 */ lfs f0, 4(r4) -/* 80019B9C D0 03 00 08 */ stfs f0, 8(r3) -/* 80019BA0 C0 04 00 08 */ lfs f0, 8(r4) -/* 80019BA4 D0 03 00 0C */ stfs f0, 0xc(r3) -lbl_80019BA8: -/* 80019BA8 9B 43 00 21 */ stb r26, 0x21(r3) -/* 80019BAC 28 1B 00 00 */ cmplwi r27, 0 -/* 80019BB0 41 82 00 20 */ beq lbl_80019BD0 -/* 80019BB4 A8 1B 00 00 */ lha r0, 0(r27) -/* 80019BB8 B0 03 00 10 */ sth r0, 0x10(r3) -/* 80019BBC A8 1B 00 02 */ lha r0, 2(r27) -/* 80019BC0 B0 03 00 12 */ sth r0, 0x12(r3) -/* 80019BC4 A8 1B 00 04 */ lha r0, 4(r27) -/* 80019BC8 B0 03 00 14 */ sth r0, 0x14(r3) -/* 80019BCC 48 00 00 20 */ b lbl_80019BEC -lbl_80019BD0: -/* 80019BD0 A8 0D 8B E0 */ lha r0, Zero__5csXyz(r13) -/* 80019BD4 B0 03 00 10 */ sth r0, 0x10(r3) -/* 80019BD8 38 8D 8B E0 */ la r4, Zero__5csXyz(r13) /* 80451160-_SDA_BASE_ */ -/* 80019BDC A8 04 00 02 */ lha r0, 2(r4) -/* 80019BE0 B0 03 00 12 */ sth r0, 0x12(r3) -/* 80019BE4 A8 04 00 04 */ lha r0, 4(r4) -/* 80019BE8 B0 03 00 14 */ sth r0, 0x14(r3) -lbl_80019BEC: -/* 80019BEC 28 1C 00 00 */ cmplwi r28, 0 -/* 80019BF0 41 82 00 54 */ beq lbl_80019C44 -/* 80019BF4 C0 22 82 00 */ lfs f1, lit_4263(r2) -/* 80019BF8 C0 1C 00 00 */ lfs f0, 0(r28) -/* 80019BFC EC 01 00 32 */ fmuls f0, f1, f0 -/* 80019C00 FC 00 00 1E */ fctiwz f0, f0 -/* 80019C04 D8 01 00 08 */ stfd f0, 8(r1) -/* 80019C08 80 01 00 0C */ lwz r0, 0xc(r1) -/* 80019C0C 98 03 00 18 */ stb r0, 0x18(r3) -/* 80019C10 C0 1C 00 04 */ lfs f0, 4(r28) -/* 80019C14 EC 01 00 32 */ fmuls f0, f1, f0 -/* 80019C18 FC 00 00 1E */ fctiwz f0, f0 -/* 80019C1C D8 01 00 10 */ stfd f0, 0x10(r1) -/* 80019C20 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80019C24 98 03 00 19 */ stb r0, 0x19(r3) -/* 80019C28 C0 1C 00 08 */ lfs f0, 8(r28) -/* 80019C2C EC 01 00 32 */ fmuls f0, f1, f0 -/* 80019C30 FC 00 00 1E */ fctiwz f0, f0 -/* 80019C34 D8 01 00 18 */ stfd f0, 0x18(r1) -/* 80019C38 80 01 00 1C */ lwz r0, 0x1c(r1) -/* 80019C3C 98 03 00 1A */ stb r0, 0x1a(r3) -/* 80019C40 48 00 00 14 */ b lbl_80019C54 -lbl_80019C44: -/* 80019C44 38 00 00 0A */ li r0, 0xa -/* 80019C48 98 03 00 18 */ stb r0, 0x18(r3) -/* 80019C4C 98 03 00 19 */ stb r0, 0x19(r3) -/* 80019C50 98 03 00 1A */ stb r0, 0x1a(r3) -lbl_80019C54: -/* 80019C54 93 A3 00 00 */ stw r29, 0(r3) -/* 80019C58 93 E3 00 1C */ stw r31, 0x1c(r3) -/* 80019C5C 9B C3 00 20 */ stb r30, 0x20(r3) -lbl_80019C60: -/* 80019C60 39 61 00 40 */ addi r11, r1, 0x40 -/* 80019C64 48 34 85 B1 */ bl _restgpr_24 -/* 80019C68 80 01 00 44 */ lwz r0, 0x44(r1) -/* 80019C6C 7C 08 03 A6 */ mtlr r0 -/* 80019C70 38 21 00 40 */ addi r1, r1, 0x40 -/* 80019C74 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_actor_mng/enemySearchJugge__FPvPv.s b/asm/f_op/f_op_actor_mng/enemySearchJugge__FPvPv.s deleted file mode 100644 index 47843662fb..0000000000 --- a/asm/f_op/f_op_actor_mng/enemySearchJugge__FPvPv.s +++ /dev/null @@ -1,23 +0,0 @@ -lbl_8001C9CC: -/* 8001C9CC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8001C9D0 7C 08 02 A6 */ mflr r0 -/* 8001C9D4 90 01 00 14 */ stw r0, 0x14(r1) -/* 8001C9D8 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8001C9DC 7C 7F 1B 79 */ or. r31, r3, r3 -/* 8001C9E0 41 82 00 24 */ beq lbl_8001CA04 -/* 8001C9E4 4B FF C2 FD */ bl fopAc_IsActor__FPv -/* 8001C9E8 2C 03 00 00 */ cmpwi r3, 0 -/* 8001C9EC 41 82 00 18 */ beq lbl_8001CA04 -/* 8001C9F0 88 1F 04 96 */ lbz r0, 0x496(r31) -/* 8001C9F4 28 00 00 02 */ cmplwi r0, 2 -/* 8001C9F8 40 82 00 0C */ bne lbl_8001CA04 -/* 8001C9FC 7F E3 FB 78 */ mr r3, r31 -/* 8001CA00 48 00 00 08 */ b lbl_8001CA08 -lbl_8001CA04: -/* 8001CA04 38 60 00 00 */ li r3, 0 -lbl_8001CA08: -/* 8001CA08 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8001CA0C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8001CA10 7C 08 03 A6 */ mtlr r0 -/* 8001CA14 38 21 00 10 */ addi r1, r1, 0x10 -/* 8001CA18 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_actor_mng/fopAcM_CreateAppend__Fv.s b/asm/f_op/f_op_actor_mng/fopAcM_CreateAppend__Fv.s deleted file mode 100644 index b3c857b06d..0000000000 --- a/asm/f_op/f_op_actor_mng/fopAcM_CreateAppend__Fv.s +++ /dev/null @@ -1,31 +0,0 @@ -lbl_80019AA8: -/* 80019AA8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80019AAC 7C 08 02 A6 */ mflr r0 -/* 80019AB0 90 01 00 14 */ stw r0, 0x14(r1) -/* 80019AB4 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80019AB8 38 60 FF FC */ li r3, -4 -/* 80019ABC 38 80 00 24 */ li r4, 0x24 -/* 80019AC0 48 24 97 69 */ bl memalignB__3cMlFiUl -/* 80019AC4 7C 7F 1B 79 */ or. r31, r3, r3 -/* 80019AC8 41 82 00 3C */ beq lbl_80019B04 -/* 80019ACC 38 80 00 00 */ li r4, 0 -/* 80019AD0 38 A0 00 24 */ li r5, 0x24 -/* 80019AD4 48 25 5E 89 */ bl cLib_memSet__FPviUl -/* 80019AD8 3C 60 00 01 */ lis r3, 0x0001 /* 0x0000FFFF@ha */ -/* 80019ADC 38 03 FF FF */ addi r0, r3, 0xFFFF /* 0x0000FFFF@l */ -/* 80019AE0 B0 1F 00 16 */ sth r0, 0x16(r31) -/* 80019AE4 38 60 FF FF */ li r3, -1 -/* 80019AE8 98 7F 00 21 */ stb r3, 0x21(r31) -/* 80019AEC 38 00 00 0A */ li r0, 0xa -/* 80019AF0 98 1F 00 18 */ stb r0, 0x18(r31) -/* 80019AF4 98 1F 00 19 */ stb r0, 0x19(r31) -/* 80019AF8 98 1F 00 1A */ stb r0, 0x1a(r31) -/* 80019AFC 90 7F 00 1C */ stw r3, 0x1c(r31) -/* 80019B00 98 7F 00 20 */ stb r3, 0x20(r31) -lbl_80019B04: -/* 80019B04 7F E3 FB 78 */ mr r3, r31 -/* 80019B08 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80019B0C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80019B10 7C 08 03 A6 */ mtlr r0 -/* 80019B14 38 21 00 10 */ addi r1, r1, 0x10 -/* 80019B18 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_actor_mng/fopAcM_DeleteHeap__FP10fopAc_ac_c.s b/asm/f_op/f_op_actor_mng/fopAcM_DeleteHeap__FP10fopAc_ac_c.s deleted file mode 100644 index 7b59a7fc8e..0000000000 --- a/asm/f_op/f_op_actor_mng/fopAcM_DeleteHeap__FP10fopAc_ac_c.s +++ /dev/null @@ -1,22 +0,0 @@ -lbl_8001A138: -/* 8001A138 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8001A13C 7C 08 02 A6 */ mflr r0 -/* 8001A140 90 01 00 14 */ stw r0, 0x14(r1) -/* 8001A144 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8001A148 7C 7F 1B 78 */ mr r31, r3 -/* 8001A14C 3C 80 80 38 */ lis r4, f_op_f_op_actor_mng__stringBase0@ha /* 0x803788C8@ha */ -/* 8001A150 38 84 88 C8 */ addi r4, r4, f_op_f_op_actor_mng__stringBase0@l /* 0x803788C8@l */ -/* 8001A154 38 84 00 42 */ addi r4, r4, 0x42 -/* 8001A158 4B FF FB 21 */ bl fopAcM_Log__FPC10fopAc_ac_cPCc -/* 8001A15C 80 7F 00 F0 */ lwz r3, 0xf0(r31) -/* 8001A160 28 03 00 00 */ cmplwi r3, 0 -/* 8001A164 41 82 00 10 */ beq lbl_8001A174 -/* 8001A168 4B FF 50 25 */ bl mDoExt_destroySolidHeap__FP12JKRSolidHeap -/* 8001A16C 38 00 00 00 */ li r0, 0 -/* 8001A170 90 1F 00 F0 */ stw r0, 0xf0(r31) -lbl_8001A174: -/* 8001A174 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8001A178 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8001A17C 7C 08 03 A6 */ mtlr r0 -/* 8001A180 38 21 00 10 */ addi r1, r1, 0x10 -/* 8001A184 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_actor_mng/fopAcM_FastCreate__FsPFPv_iPvPv.s b/asm/f_op/f_op_actor_mng/fopAcM_FastCreate__FsPFPv_iPvPv.s deleted file mode 100644 index b239ea660a..0000000000 --- a/asm/f_op/f_op_actor_mng/fopAcM_FastCreate__FsPFPv_iPvPv.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_800198A4: -/* 800198A4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800198A8 7C 08 02 A6 */ mflr r0 -/* 800198AC 90 01 00 14 */ stw r0, 0x14(r1) -/* 800198B0 48 00 8A 45 */ bl fpcM_FastCreate__FsPFPv_iPvPv -/* 800198B4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800198B8 7C 08 03 A6 */ mtlr r0 -/* 800198BC 38 21 00 10 */ addi r1, r1, 0x10 -/* 800198C0 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_actor_mng/fopAcM_SearchByID__FUiPP10fopAc_ac_c.s b/asm/f_op/f_op_actor_mng/fopAcM_SearchByID__FUiPP10fopAc_ac_c.s deleted file mode 100644 index 64f19c1615..0000000000 --- a/asm/f_op/f_op_actor_mng/fopAcM_SearchByID__FUiPP10fopAc_ac_c.s +++ /dev/null @@ -1,32 +0,0 @@ -lbl_800199BC: -/* 800199BC 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 800199C0 7C 08 02 A6 */ mflr r0 -/* 800199C4 90 01 00 24 */ stw r0, 0x24(r1) -/* 800199C8 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 800199CC 90 61 00 08 */ stw r3, 8(r1) -/* 800199D0 7C 9F 23 78 */ mr r31, r4 -/* 800199D4 48 00 87 65 */ bl fpcM_IsCreating__FUi -/* 800199D8 2C 03 00 00 */ cmpwi r3, 0 -/* 800199DC 41 82 00 10 */ beq lbl_800199EC -/* 800199E0 38 00 00 00 */ li r0, 0 -/* 800199E4 90 1F 00 00 */ stw r0, 0(r31) -/* 800199E8 48 00 00 2C */ b lbl_80019A14 -lbl_800199EC: -/* 800199EC 3C 60 80 02 */ lis r3, fpcSch_JudgeByID__FPvPv@ha /* 0x80023590@ha */ -/* 800199F0 38 63 35 90 */ addi r3, r3, fpcSch_JudgeByID__FPvPv@l /* 0x80023590@l */ -/* 800199F4 38 81 00 08 */ addi r4, r1, 8 -/* 800199F8 4B FF FE 01 */ bl fopAcIt_Judge__FPFPvPv_PvPv -/* 800199FC 90 7F 00 00 */ stw r3, 0(r31) -/* 80019A00 80 1F 00 00 */ lwz r0, 0(r31) -/* 80019A04 28 00 00 00 */ cmplwi r0, 0 -/* 80019A08 40 82 00 0C */ bne lbl_80019A14 -/* 80019A0C 38 60 00 00 */ li r3, 0 -/* 80019A10 48 00 00 08 */ b lbl_80019A18 -lbl_80019A14: -/* 80019A14 38 60 00 01 */ li r3, 1 -lbl_80019A18: -/* 80019A18 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 80019A1C 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80019A20 7C 08 03 A6 */ mtlr r0 -/* 80019A24 38 21 00 20 */ addi r1, r1, 0x20 -/* 80019A28 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_actor_mng/fopAcM_SearchByName__FsPP10fopAc_ac_c.s b/asm/f_op/f_op_actor_mng/fopAcM_SearchByName__FsPP10fopAc_ac_c.s deleted file mode 100644 index b0c21c47f1..0000000000 --- a/asm/f_op/f_op_actor_mng/fopAcM_SearchByName__FsPP10fopAc_ac_c.s +++ /dev/null @@ -1,37 +0,0 @@ -lbl_80019A2C: -/* 80019A2C 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80019A30 7C 08 02 A6 */ mflr r0 -/* 80019A34 90 01 00 24 */ stw r0, 0x24(r1) -/* 80019A38 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 80019A3C B0 61 00 08 */ sth r3, 8(r1) -/* 80019A40 7C 9F 23 78 */ mr r31, r4 -/* 80019A44 3C 60 80 02 */ lis r3, fpcSch_JudgeForPName__FPvPv@ha /* 0x80023578@ha */ -/* 80019A48 38 63 35 78 */ addi r3, r3, fpcSch_JudgeForPName__FPvPv@l /* 0x80023578@l */ -/* 80019A4C 38 81 00 08 */ addi r4, r1, 8 -/* 80019A50 4B FF FD A9 */ bl fopAcIt_Judge__FPFPvPv_PvPv -/* 80019A54 90 7F 00 00 */ stw r3, 0(r31) -/* 80019A58 80 7F 00 00 */ lwz r3, 0(r31) -/* 80019A5C 28 03 00 00 */ cmplwi r3, 0 -/* 80019A60 40 82 00 0C */ bne lbl_80019A6C -/* 80019A64 38 60 00 00 */ li r3, 0 -/* 80019A68 48 00 00 2C */ b lbl_80019A94 -lbl_80019A6C: -/* 80019A6C 41 82 00 0C */ beq lbl_80019A78 -/* 80019A70 80 63 00 04 */ lwz r3, 4(r3) -/* 80019A74 48 00 00 08 */ b lbl_80019A7C -lbl_80019A78: -/* 80019A78 38 60 FF FF */ li r3, -1 -lbl_80019A7C: -/* 80019A7C 48 00 86 BD */ bl fpcM_IsCreating__FUi -/* 80019A80 2C 03 00 00 */ cmpwi r3, 0 -/* 80019A84 41 82 00 0C */ beq lbl_80019A90 -/* 80019A88 38 00 00 00 */ li r0, 0 -/* 80019A8C 90 1F 00 00 */ stw r0, 0(r31) -lbl_80019A90: -/* 80019A90 38 60 00 01 */ li r3, 1 -lbl_80019A94: -/* 80019A94 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 80019A98 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80019A9C 7C 08 03 A6 */ mtlr r0 -/* 80019AA0 38 21 00 20 */ addi r1, r1, 0x20 -/* 80019AA4 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_actor_mng/fopAcM_SetMax__FP10fopAc_ac_cfff.s b/asm/f_op/f_op_actor_mng/fopAcM_SetMax__FP10fopAc_ac_cfff.s deleted file mode 100644 index 268758d304..0000000000 --- a/asm/f_op/f_op_actor_mng/fopAcM_SetMax__FP10fopAc_ac_cfff.s +++ /dev/null @@ -1,5 +0,0 @@ -lbl_8001A538: -/* 8001A538 D0 23 05 14 */ stfs f1, 0x514(r3) -/* 8001A53C D0 43 05 18 */ stfs f2, 0x518(r3) -/* 8001A540 D0 63 05 1C */ stfs f3, 0x51c(r3) -/* 8001A544 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_actor_mng/fopAcM_SetMin__FP10fopAc_ac_cfff.s b/asm/f_op/f_op_actor_mng/fopAcM_SetMin__FP10fopAc_ac_cfff.s deleted file mode 100644 index 3e6025e63f..0000000000 --- a/asm/f_op/f_op_actor_mng/fopAcM_SetMin__FP10fopAc_ac_cfff.s +++ /dev/null @@ -1,5 +0,0 @@ -lbl_8001A528: -/* 8001A528 D0 23 05 08 */ stfs f1, 0x508(r3) -/* 8001A52C D0 43 05 0C */ stfs f2, 0x50c(r3) -/* 8001A530 D0 63 05 10 */ stfs f3, 0x510(r3) -/* 8001A534 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_actor_mng/fopAcM_addAngleY__FP10fopAc_ac_css.s b/asm/f_op/f_op_actor_mng/fopAcM_addAngleY__FP10fopAc_ac_css.s deleted file mode 100644 index 16fd75207d..0000000000 --- a/asm/f_op/f_op_actor_mng/fopAcM_addAngleY__FP10fopAc_ac_css.s +++ /dev/null @@ -1,13 +0,0 @@ -lbl_8001A5DC: -/* 8001A5DC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8001A5E0 7C 08 02 A6 */ mflr r0 -/* 8001A5E4 90 01 00 14 */ stw r0, 0x14(r1) -/* 8001A5E8 38 63 04 DE */ addi r3, r3, 0x4de -/* 8001A5EC 48 25 65 A5 */ bl cLib_chaseAngleS__FPsss -/* 8001A5F0 30 03 FF FF */ addic r0, r3, -1 -/* 8001A5F4 7C 00 19 10 */ subfe r0, r0, r3 -/* 8001A5F8 54 03 06 3E */ clrlwi r3, r0, 0x18 -/* 8001A5FC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8001A600 7C 08 03 A6 */ mtlr r0 -/* 8001A604 38 21 00 10 */ addi r1, r1, 0x10 -/* 8001A608 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_actor_mng/fopAcM_calcSpeed__FP10fopAc_ac_c.s b/asm/f_op/f_op_actor_mng/fopAcM_calcSpeed__FP10fopAc_ac_c.s deleted file mode 100644 index 7788f00a27..0000000000 --- a/asm/f_op/f_op_actor_mng/fopAcM_calcSpeed__FP10fopAc_ac_c.s +++ /dev/null @@ -1,23 +0,0 @@ -lbl_8001A60C: -/* 8001A60C C0 23 05 2C */ lfs f1, 0x52c(r3) -/* 8001A610 C0 43 05 30 */ lfs f2, 0x530(r3) -/* 8001A614 A8 03 04 DE */ lha r0, 0x4de(r3) -/* 8001A618 54 00 04 38 */ rlwinm r0, r0, 0, 0x10, 0x1c -/* 8001A61C 3C 80 80 44 */ lis r4, sincosTable___5JMath@ha /* 0x80439A20@ha */ -/* 8001A620 38 84 9A 20 */ addi r4, r4, sincosTable___5JMath@l /* 0x80439A20@l */ -/* 8001A624 7C 04 04 2E */ lfsx f0, r4, r0 -/* 8001A628 EC 61 00 32 */ fmuls f3, f1, f0 -/* 8001A62C C0 03 04 FC */ lfs f0, 0x4fc(r3) -/* 8001A630 EC 40 10 2A */ fadds f2, f0, f2 -/* 8001A634 7C 84 02 14 */ add r4, r4, r0 -/* 8001A638 C0 04 00 04 */ lfs f0, 4(r4) -/* 8001A63C EC 21 00 32 */ fmuls f1, f1, f0 -/* 8001A640 C0 03 05 34 */ lfs f0, 0x534(r3) -/* 8001A644 FC 02 00 40 */ fcmpo cr0, f2, f0 -/* 8001A648 40 80 00 08 */ bge lbl_8001A650 -/* 8001A64C FC 40 00 90 */ fmr f2, f0 -lbl_8001A650: -/* 8001A650 D0 63 04 F8 */ stfs f3, 0x4f8(r3) -/* 8001A654 D0 43 04 FC */ stfs f2, 0x4fc(r3) -/* 8001A658 D0 23 05 00 */ stfs f1, 0x500(r3) -/* 8001A65C 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_actor_mng/fopAcM_callCallback__FP10fopAc_ac_cPFP10fopAc_ac_c_iP7JKRHeap.s b/asm/f_op/f_op_actor_mng/fopAcM_callCallback__FP10fopAc_ac_cPFP10fopAc_ac_c_iP7JKRHeap.s deleted file mode 100644 index ec090237dc..0000000000 --- a/asm/f_op/f_op_actor_mng/fopAcM_callCallback__FP10fopAc_ac_cPFP10fopAc_ac_c_iP7JKRHeap.s +++ /dev/null @@ -1,25 +0,0 @@ -lbl_8001A188: -/* 8001A188 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8001A18C 7C 08 02 A6 */ mflr r0 -/* 8001A190 90 01 00 24 */ stw r0, 0x24(r1) -/* 8001A194 39 61 00 20 */ addi r11, r1, 0x20 -/* 8001A198 48 34 80 45 */ bl _savegpr_29 -/* 8001A19C 7C 7D 1B 78 */ mr r29, r3 -/* 8001A1A0 7C 9E 23 78 */ mr r30, r4 -/* 8001A1A4 7C A3 2B 78 */ mr r3, r5 -/* 8001A1A8 4B FF 50 25 */ bl mDoExt_setCurrentHeap__FP7JKRHeap -/* 8001A1AC 7C 7F 1B 78 */ mr r31, r3 -/* 8001A1B0 7F A3 EB 78 */ mr r3, r29 -/* 8001A1B4 7F CC F3 78 */ mr r12, r30 -/* 8001A1B8 7D 89 03 A6 */ mtctr r12 -/* 8001A1BC 4E 80 04 21 */ bctrl -/* 8001A1C0 7C 7E 1B 78 */ mr r30, r3 -/* 8001A1C4 7F E3 FB 78 */ mr r3, r31 -/* 8001A1C8 4B FF 50 05 */ bl mDoExt_setCurrentHeap__FP7JKRHeap -/* 8001A1CC 7F C3 F3 78 */ mr r3, r30 -/* 8001A1D0 39 61 00 20 */ addi r11, r1, 0x20 -/* 8001A1D4 48 34 80 55 */ bl _restgpr_29 -/* 8001A1D8 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8001A1DC 7C 08 03 A6 */ mtlr r0 -/* 8001A1E0 38 21 00 20 */ addi r1, r1, 0x20 -/* 8001A1E4 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_actor_mng/fopAcM_checkCullingBox__FPA4_fffffff.s b/asm/f_op/f_op_actor_mng/fopAcM_checkCullingBox__FPA4_fffffff.s deleted file mode 100644 index d7c8256354..0000000000 --- a/asm/f_op/f_op_actor_mng/fopAcM_checkCullingBox__FPA4_fffffff.s +++ /dev/null @@ -1,44 +0,0 @@ -lbl_8001AC40: -/* 8001AC40 94 21 FF B0 */ stwu r1, -0x50(r1) -/* 8001AC44 7C 08 02 A6 */ mflr r0 -/* 8001AC48 90 01 00 54 */ stw r0, 0x54(r1) -/* 8001AC4C 7C 64 1B 78 */ mr r4, r3 -/* 8001AC50 3C 60 80 38 */ lis r3, lit_4932@ha /* 0x80378880@ha */ -/* 8001AC54 38 A3 88 80 */ addi r5, r3, lit_4932@l /* 0x80378880@l */ -/* 8001AC58 80 65 00 00 */ lwz r3, 0(r5) -/* 8001AC5C 80 05 00 04 */ lwz r0, 4(r5) -/* 8001AC60 90 61 00 14 */ stw r3, 0x14(r1) -/* 8001AC64 90 01 00 18 */ stw r0, 0x18(r1) -/* 8001AC68 80 05 00 08 */ lwz r0, 8(r5) -/* 8001AC6C 90 01 00 1C */ stw r0, 0x1c(r1) -/* 8001AC70 D0 21 00 14 */ stfs f1, 0x14(r1) -/* 8001AC74 D0 41 00 18 */ stfs f2, 0x18(r1) -/* 8001AC78 D0 61 00 1C */ stfs f3, 0x1c(r1) -/* 8001AC7C 3C 60 80 38 */ lis r3, lit_4933@ha /* 0x8037888C@ha */ -/* 8001AC80 38 A3 88 8C */ addi r5, r3, lit_4933@l /* 0x8037888C@l */ -/* 8001AC84 80 65 00 00 */ lwz r3, 0(r5) -/* 8001AC88 80 05 00 04 */ lwz r0, 4(r5) -/* 8001AC8C 90 61 00 08 */ stw r3, 8(r1) -/* 8001AC90 90 01 00 0C */ stw r0, 0xc(r1) -/* 8001AC94 80 05 00 08 */ lwz r0, 8(r5) -/* 8001AC98 90 01 00 10 */ stw r0, 0x10(r1) -/* 8001AC9C D0 81 00 08 */ stfs f4, 8(r1) -/* 8001ACA0 D0 A1 00 0C */ stfs f5, 0xc(r1) -/* 8001ACA4 D0 C1 00 10 */ stfs f6, 0x10(r1) -/* 8001ACA8 3C 60 80 43 */ lis r3, j3dSys@ha /* 0x80434AC8@ha */ -/* 8001ACAC 38 63 4A C8 */ addi r3, r3, j3dSys@l /* 0x80434AC8@l */ -/* 8001ACB0 38 A1 00 20 */ addi r5, r1, 0x20 -/* 8001ACB4 48 32 B8 31 */ bl PSMTXConcat -/* 8001ACB8 3C 60 80 3E */ lis r3, mClipper__14mDoLib_clipper@ha /* 0x803DD8E4@ha */ -/* 8001ACBC 38 63 D8 E4 */ addi r3, r3, mClipper__14mDoLib_clipper@l /* 0x803DD8E4@l */ -/* 8001ACC0 38 81 00 20 */ addi r4, r1, 0x20 -/* 8001ACC4 38 A1 00 08 */ addi r5, r1, 8 -/* 8001ACC8 38 C1 00 14 */ addi r6, r1, 0x14 -/* 8001ACCC 48 25 8D 79 */ bl clip__11J3DUClipperCFPA4_CfP3VecP3Vec -/* 8001ACD0 30 03 FF FF */ addic r0, r3, -1 -/* 8001ACD4 7C 00 19 10 */ subfe r0, r0, r3 -/* 8001ACD8 54 03 06 3E */ clrlwi r3, r0, 0x18 -/* 8001ACDC 80 01 00 54 */ lwz r0, 0x54(r1) -/* 8001ACE0 7C 08 03 A6 */ mtlr r0 -/* 8001ACE4 38 21 00 50 */ addi r1, r1, 0x50 -/* 8001ACE8 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_actor_mng/fopAcM_createBokkuri__FUsPC4cXyziiiPC4cXyzii.s b/asm/f_op/f_op_actor_mng/fopAcM_createBokkuri__FUsPC4cXyziiiPC4cXyzii.s deleted file mode 100644 index 1f20b51bb1..0000000000 --- a/asm/f_op/f_op_actor_mng/fopAcM_createBokkuri__FUsPC4cXyziiiPC4cXyzii.s +++ /dev/null @@ -1,61 +0,0 @@ -lbl_8001C870: -/* 8001C870 94 21 FF C0 */ stwu r1, -0x40(r1) -/* 8001C874 7C 08 02 A6 */ mflr r0 -/* 8001C878 90 01 00 44 */ stw r0, 0x44(r1) -/* 8001C87C 39 61 00 40 */ addi r11, r1, 0x40 -/* 8001C880 48 34 59 49 */ bl _savegpr_24 -/* 8001C884 7C 7E 1B 78 */ mr r30, r3 -/* 8001C888 7C 9F 23 78 */ mr r31, r4 -/* 8001C88C 7C B8 2B 78 */ mr r24, r5 -/* 8001C890 7C D9 33 78 */ mr r25, r6 -/* 8001C894 7C FA 3B 78 */ mr r26, r7 -/* 8001C898 7D 1B 43 78 */ mr r27, r8 -/* 8001C89C 7D 3C 4B 78 */ mr r28, r9 -/* 8001C8A0 7D 5D 53 78 */ mr r29, r10 -/* 8001C8A4 38 61 00 10 */ addi r3, r1, 0x10 -/* 8001C8A8 38 80 00 00 */ li r4, 0 -/* 8001C8AC 38 A0 00 00 */ li r5, 0 -/* 8001C8B0 38 C0 00 00 */ li r6, 0 -/* 8001C8B4 48 24 AB 41 */ bl __ct__5csXyzFsss -/* 8001C8B8 28 1B 00 00 */ cmplwi r27, 0 -/* 8001C8BC 41 82 00 3C */ beq lbl_8001C8F8 -/* 8001C8C0 7F 63 DB 78 */ mr r3, r27 -/* 8001C8C4 48 24 A8 65 */ bl atan2sX_Z__4cXyzCFv -/* 8001C8C8 B0 61 00 12 */ sth r3, 0x12(r1) -/* 8001C8CC C0 22 82 38 */ lfs f1, lit_5810(r2) -/* 8001C8D0 48 24 B0 BD */ bl cM_rndFX__Ff -/* 8001C8D4 C0 02 82 44 */ lfs f0, lit_5845(r2) -/* 8001C8D8 EC 00 00 72 */ fmuls f0, f0, f1 -/* 8001C8DC FC 00 00 1E */ fctiwz f0, f0 -/* 8001C8E0 D8 01 00 18 */ stfd f0, 0x18(r1) -/* 8001C8E4 80 61 00 1C */ lwz r3, 0x1c(r1) -/* 8001C8E8 A8 01 00 12 */ lha r0, 0x12(r1) -/* 8001C8EC 7C 00 1A 14 */ add r0, r0, r3 -/* 8001C8F0 B0 01 00 12 */ sth r0, 0x12(r1) -/* 8001C8F4 3B A0 00 01 */ li r29, 1 -lbl_8001C8F8: -/* 8001C8F8 57 00 06 3E */ clrlwi r0, r24, 0x18 -/* 8001C8FC 53 20 44 2E */ rlwimi r0, r25, 8, 0x10, 0x17 -/* 8001C900 B0 01 00 10 */ sth r0, 0x10(r1) -/* 8001C904 57 83 06 3E */ clrlwi r3, r28, 0x18 -/* 8001C908 57 A0 6A E4 */ rlwinm r0, r29, 0xd, 0xb, 0x12 -/* 8001C90C 60 00 00 0C */ ori r0, r0, 0xc -/* 8001C910 7C 60 03 78 */ or r0, r3, r0 -/* 8001C914 B0 01 00 14 */ sth r0, 0x14(r1) -/* 8001C918 38 00 00 00 */ li r0, 0 -/* 8001C91C 90 01 00 08 */ stw r0, 8(r1) -/* 8001C920 38 60 02 FC */ li r3, 0x2fc -/* 8001C924 7F C4 F3 78 */ mr r4, r30 -/* 8001C928 38 A0 00 00 */ li r5, 0 -/* 8001C92C 7F E6 FB 78 */ mr r6, r31 -/* 8001C930 7F 47 D3 78 */ mr r7, r26 -/* 8001C934 39 01 00 10 */ addi r8, r1, 0x10 -/* 8001C938 39 20 00 00 */ li r9, 0 -/* 8001C93C 39 40 FF FF */ li r10, -1 -/* 8001C940 4B FF D3 D9 */ bl fopAcM_create__FsUsUlPC4cXyziPC5csXyzPC4cXyzScPFPv_i -/* 8001C944 39 61 00 40 */ addi r11, r1, 0x40 -/* 8001C948 48 34 58 CD */ bl _restgpr_24 -/* 8001C94C 80 01 00 44 */ lwz r0, 0x44(r1) -/* 8001C950 7C 08 03 A6 */ mtlr r0 -/* 8001C954 38 21 00 40 */ addi r1, r1, 0x40 -/* 8001C958 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_actor_mng/fopAcM_createChildFromOffset__FsUiUlPC4cXyziPC5csXyzPC4cXyzScPFPv_i.s b/asm/f_op/f_op_actor_mng/fopAcM_createChildFromOffset__FsUiUlPC4cXyziPC5csXyzPC4cXyzScPFPv_i.s deleted file mode 100644 index 64cc22381f..0000000000 --- a/asm/f_op/f_op_actor_mng/fopAcM_createChildFromOffset__FsUiUlPC4cXyziPC5csXyzPC4cXyzScPFPv_i.s +++ /dev/null @@ -1,119 +0,0 @@ -lbl_80019F78: -/* 80019F78 94 21 FF A0 */ stwu r1, -0x60(r1) -/* 80019F7C 7C 08 02 A6 */ mflr r0 -/* 80019F80 90 01 00 64 */ stw r0, 0x64(r1) -/* 80019F84 39 61 00 60 */ addi r11, r1, 0x60 -/* 80019F88 48 34 82 3D */ bl _savegpr_23 -/* 80019F8C 7C 79 1B 78 */ mr r25, r3 -/* 80019F90 7C 9A 23 78 */ mr r26, r4 -/* 80019F94 7C BB 2B 78 */ mr r27, r5 -/* 80019F98 7C D7 33 78 */ mr r23, r6 -/* 80019F9C 7C FC 3B 78 */ mr r28, r7 -/* 80019FA0 7D 18 43 78 */ mr r24, r8 -/* 80019FA4 7D 3D 4B 78 */ mr r29, r9 -/* 80019FA8 7D 5E 53 78 */ mr r30, r10 -/* 80019FAC 83 E1 00 68 */ lwz r31, 0x68(r1) -/* 80019FB0 93 41 00 08 */ stw r26, 8(r1) -/* 80019FB4 3C 60 80 02 */ lis r3, fpcSch_JudgeByID__FPvPv@ha /* 0x80023590@ha */ -/* 80019FB8 38 63 35 90 */ addi r3, r3, fpcSch_JudgeByID__FPvPv@l /* 0x80023590@l */ -/* 80019FBC 38 81 00 08 */ addi r4, r1, 8 -/* 80019FC0 4B FF F8 39 */ bl fopAcIt_Judge__FPFPvPv_PvPv -/* 80019FC4 A8 A3 04 DE */ lha r5, 0x4de(r3) -/* 80019FC8 28 17 00 00 */ cmplwi r23, 0 -/* 80019FCC 40 82 00 24 */ bne lbl_80019FF0 -/* 80019FD0 3C 80 80 43 */ lis r4, Zero__4cXyz@ha /* 0x80430CF4@ha */ -/* 80019FD4 C4 04 0C F4 */ lfsu f0, Zero__4cXyz@l(r4) /* 0x80430CF4@l */ -/* 80019FD8 D0 01 00 28 */ stfs f0, 0x28(r1) -/* 80019FDC C0 04 00 04 */ lfs f0, 4(r4) -/* 80019FE0 D0 01 00 2C */ stfs f0, 0x2c(r1) -/* 80019FE4 C0 04 00 08 */ lfs f0, 8(r4) -/* 80019FE8 D0 01 00 30 */ stfs f0, 0x30(r1) -/* 80019FEC 48 00 00 1C */ b lbl_8001A008 -lbl_80019FF0: -/* 80019FF0 C0 17 00 00 */ lfs f0, 0(r23) -/* 80019FF4 D0 01 00 28 */ stfs f0, 0x28(r1) -/* 80019FF8 C0 17 00 04 */ lfs f0, 4(r23) -/* 80019FFC D0 01 00 2C */ stfs f0, 0x2c(r1) -/* 8001A000 C0 17 00 08 */ lfs f0, 8(r23) -/* 8001A004 D0 01 00 30 */ stfs f0, 0x30(r1) -lbl_8001A008: -/* 8001A008 28 18 00 00 */ cmplwi r24, 0 -/* 8001A00C 40 82 00 24 */ bne lbl_8001A030 -/* 8001A010 A8 0D 8B E0 */ lha r0, Zero__5csXyz(r13) -/* 8001A014 B0 01 00 14 */ sth r0, 0x14(r1) -/* 8001A018 38 8D 8B E0 */ la r4, Zero__5csXyz(r13) /* 80451160-_SDA_BASE_ */ -/* 8001A01C A8 04 00 02 */ lha r0, 2(r4) -/* 8001A020 B0 01 00 16 */ sth r0, 0x16(r1) -/* 8001A024 A8 04 00 04 */ lha r0, 4(r4) -/* 8001A028 B0 01 00 18 */ sth r0, 0x18(r1) -/* 8001A02C 48 00 00 1C */ b lbl_8001A048 -lbl_8001A030: -/* 8001A030 A8 18 00 00 */ lha r0, 0(r24) -/* 8001A034 B0 01 00 14 */ sth r0, 0x14(r1) -/* 8001A038 A8 18 00 02 */ lha r0, 2(r24) -/* 8001A03C B0 01 00 16 */ sth r0, 0x16(r1) -/* 8001A040 A8 18 00 04 */ lha r0, 4(r24) -/* 8001A044 B0 01 00 18 */ sth r0, 0x18(r1) -lbl_8001A048: -/* 8001A048 C0 83 04 D0 */ lfs f4, 0x4d0(r3) -/* 8001A04C D0 81 00 1C */ stfs f4, 0x1c(r1) -/* 8001A050 C0 63 04 D4 */ lfs f3, 0x4d4(r3) -/* 8001A054 D0 61 00 20 */ stfs f3, 0x20(r1) -/* 8001A058 C0 43 04 D8 */ lfs f2, 0x4d8(r3) -/* 8001A05C D0 41 00 24 */ stfs f2, 0x24(r1) -/* 8001A060 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8001A064 90 01 00 0C */ stw r0, 0xc(r1) -/* 8001A068 A0 01 00 18 */ lhz r0, 0x18(r1) -/* 8001A06C B0 01 00 10 */ sth r0, 0x10(r1) -/* 8001A070 A8 01 00 0E */ lha r0, 0xe(r1) -/* 8001A074 7C 00 2A 14 */ add r0, r0, r5 -/* 8001A078 B0 01 00 0E */ sth r0, 0xe(r1) -/* 8001A07C 54 A0 04 38 */ rlwinm r0, r5, 0, 0x10, 0x1c -/* 8001A080 C1 01 00 30 */ lfs f8, 0x30(r1) -/* 8001A084 3C 60 80 44 */ lis r3, sincosTable___5JMath@ha /* 0x80439A20@ha */ -/* 8001A088 38 63 9A 20 */ addi r3, r3, sincosTable___5JMath@l /* 0x80439A20@l */ -/* 8001A08C 7C A3 04 2E */ lfsx f5, r3, r0 -/* 8001A090 EC 28 01 72 */ fmuls f1, f8, f5 -/* 8001A094 C0 C1 00 28 */ lfs f6, 0x28(r1) -/* 8001A098 7C 63 02 14 */ add r3, r3, r0 -/* 8001A09C C0 E3 00 04 */ lfs f7, 4(r3) -/* 8001A0A0 EC 06 01 F2 */ fmuls f0, f6, f7 -/* 8001A0A4 EC 01 00 2A */ fadds f0, f1, f0 -/* 8001A0A8 EC 04 00 2A */ fadds f0, f4, f0 -/* 8001A0AC D0 01 00 1C */ stfs f0, 0x1c(r1) -/* 8001A0B0 C0 01 00 2C */ lfs f0, 0x2c(r1) -/* 8001A0B4 EC 03 00 2A */ fadds f0, f3, f0 -/* 8001A0B8 D0 01 00 20 */ stfs f0, 0x20(r1) -/* 8001A0BC EC 28 01 F2 */ fmuls f1, f8, f7 -/* 8001A0C0 EC 06 01 72 */ fmuls f0, f6, f5 -/* 8001A0C4 EC 01 00 28 */ fsubs f0, f1, f0 -/* 8001A0C8 EC 02 00 2A */ fadds f0, f2, f0 -/* 8001A0CC D0 01 00 24 */ stfs f0, 0x24(r1) -/* 8001A0D0 3C 60 00 01 */ lis r3, 0x0001 /* 0x0000FFFF@ha */ -/* 8001A0D4 38 63 FF FF */ addi r3, r3, 0xFFFF /* 0x0000FFFF@l */ -/* 8001A0D8 7F 64 DB 78 */ mr r4, r27 -/* 8001A0DC 38 A1 00 1C */ addi r5, r1, 0x1c -/* 8001A0E0 7F 86 E3 78 */ mr r6, r28 -/* 8001A0E4 38 E1 00 0C */ addi r7, r1, 0xc -/* 8001A0E8 7F A8 EB 78 */ mr r8, r29 -/* 8001A0EC 7F C9 F3 78 */ mr r9, r30 -/* 8001A0F0 7F 4A D3 78 */ mr r10, r26 -/* 8001A0F4 4B FF FA 29 */ bl createAppend__FUsUlPC4cXyziPC5csXyzPC4cXyzScUi -/* 8001A0F8 7C 7A 1B 79 */ or. r26, r3, r3 -/* 8001A0FC 40 82 00 0C */ bne lbl_8001A108 -/* 8001A100 38 60 FF FF */ li r3, -1 -/* 8001A104 48 00 00 1C */ b lbl_8001A120 -lbl_8001A108: -/* 8001A108 48 00 75 ED */ bl fpcLy_CurrentLayer__Fv -/* 8001A10C 7F 24 CB 78 */ mr r4, r25 -/* 8001A110 7F E5 FB 78 */ mr r5, r31 -/* 8001A114 38 C0 00 00 */ li r6, 0 -/* 8001A118 7F 47 D3 78 */ mr r7, r26 -/* 8001A11C 48 00 9C 79 */ bl fpcSCtRq_Request__FP11layer_classsPFPvPv_iPvPv -lbl_8001A120: -/* 8001A120 39 61 00 60 */ addi r11, r1, 0x60 -/* 8001A124 48 34 80 ED */ bl _restgpr_23 -/* 8001A128 80 01 00 64 */ lwz r0, 0x64(r1) -/* 8001A12C 7C 08 03 A6 */ mtlr r0 -/* 8001A130 38 21 00 60 */ addi r1, r1, 0x60 -/* 8001A134 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_actor_mng/fopAcM_createChild__FsUiUlPC4cXyziPC5csXyzPC4cXyzScPFPv_i.s b/asm/f_op/f_op_actor_mng/fopAcM_createChild__FsUiUlPC4cXyziPC5csXyzPC4cXyzScPFPv_i.s deleted file mode 100644 index 693517e0c7..0000000000 --- a/asm/f_op/f_op_actor_mng/fopAcM_createChild__FsUiUlPC4cXyziPC5csXyzPC4cXyzScPFPv_i.s +++ /dev/null @@ -1,37 +0,0 @@ -lbl_80019EF0: -/* 80019EF0 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80019EF4 7C 08 02 A6 */ mflr r0 -/* 80019EF8 90 01 00 24 */ stw r0, 0x24(r1) -/* 80019EFC 39 61 00 20 */ addi r11, r1, 0x20 -/* 80019F00 48 34 82 DD */ bl _savegpr_29 -/* 80019F04 7C 7D 1B 78 */ mr r29, r3 -/* 80019F08 7C 80 23 78 */ mr r0, r4 -/* 80019F0C 83 C1 00 28 */ lwz r30, 0x28(r1) -/* 80019F10 3C 60 00 01 */ lis r3, 0x0001 /* 0x0000FFFF@ha */ -/* 80019F14 38 63 FF FF */ addi r3, r3, 0xFFFF /* 0x0000FFFF@l */ -/* 80019F18 7C A4 2B 78 */ mr r4, r5 -/* 80019F1C 7C C5 33 78 */ mr r5, r6 -/* 80019F20 7C E6 3B 78 */ mr r6, r7 -/* 80019F24 7D 07 43 78 */ mr r7, r8 -/* 80019F28 7D 28 4B 78 */ mr r8, r9 -/* 80019F2C 7D 49 53 78 */ mr r9, r10 -/* 80019F30 7C 0A 03 78 */ mr r10, r0 -/* 80019F34 4B FF FB E9 */ bl createAppend__FUsUlPC4cXyziPC5csXyzPC4cXyzScUi -/* 80019F38 7C 7F 1B 79 */ or. r31, r3, r3 -/* 80019F3C 40 82 00 0C */ bne lbl_80019F48 -/* 80019F40 38 60 FF FF */ li r3, -1 -/* 80019F44 48 00 00 1C */ b lbl_80019F60 -lbl_80019F48: -/* 80019F48 48 00 77 AD */ bl fpcLy_CurrentLayer__Fv -/* 80019F4C 7F A4 EB 78 */ mr r4, r29 -/* 80019F50 7F C5 F3 78 */ mr r5, r30 -/* 80019F54 38 C0 00 00 */ li r6, 0 -/* 80019F58 7F E7 FB 78 */ mr r7, r31 -/* 80019F5C 48 00 9E 39 */ bl fpcSCtRq_Request__FP11layer_classsPFPvPv_iPvPv -lbl_80019F60: -/* 80019F60 39 61 00 20 */ addi r11, r1, 0x20 -/* 80019F64 48 34 82 C5 */ bl _restgpr_29 -/* 80019F68 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80019F6C 7C 08 03 A6 */ mtlr r0 -/* 80019F70 38 21 00 20 */ addi r1, r1, 0x20 -/* 80019F74 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_actor_mng/fopAcM_createDemoItem__FPC4cXyziiPC5csXyziPC4cXyzUc.s b/asm/f_op/f_op_actor_mng/fopAcM_createDemoItem__FPC4cXyziiPC5csXyziPC4cXyzUc.s deleted file mode 100644 index 40039267a2..0000000000 --- a/asm/f_op/f_op_actor_mng/fopAcM_createDemoItem__FPC4cXyziiPC5csXyziPC4cXyzUc.s +++ /dev/null @@ -1,26 +0,0 @@ -lbl_8001C078: -/* 8001C078 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8001C07C 7C 08 02 A6 */ mflr r0 -/* 8001C080 90 01 00 14 */ stw r0, 0x14(r1) -/* 8001C084 7C 6B 1B 78 */ mr r11, r3 -/* 8001C088 7C CA 33 78 */ mr r10, r6 -/* 8001C08C 2C 04 00 FF */ cmpwi r4, 0xff -/* 8001C090 40 82 00 0C */ bne lbl_8001C09C -/* 8001C094 38 60 FF FF */ li r3, -1 -/* 8001C098 48 00 00 2C */ b lbl_8001C0C4 -lbl_8001C09C: -/* 8001C09C 38 60 02 1D */ li r3, 0x21d -/* 8001C0A0 54 A0 44 6E */ rlwinm r0, r5, 8, 0x11, 0x17 -/* 8001C0A4 50 80 06 3E */ rlwimi r0, r4, 0, 0x18, 0x1f -/* 8001C0A8 7C 04 03 78 */ mr r4, r0 -/* 8001C0AC 51 24 82 1E */ rlwimi r4, r9, 0x10, 8, 0xf -/* 8001C0B0 7D 65 5B 78 */ mr r5, r11 -/* 8001C0B4 7C E6 3B 78 */ mr r6, r7 -/* 8001C0B8 7D 47 53 78 */ mr r7, r10 -/* 8001C0BC 39 20 FF FF */ li r9, -1 -/* 8001C0C0 4B FF DC D9 */ bl fopAcM_create__FsUlPC4cXyziPC5csXyzPC4cXyzSc -lbl_8001C0C4: -/* 8001C0C4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8001C0C8 7C 08 03 A6 */ mtlr r0 -/* 8001C0CC 38 21 00 10 */ addi r1, r1, 0x10 -/* 8001C0D0 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_actor_mng/fopAcM_createDisappear__FPC10fopAc_ac_cPC4cXyzUcUcUc.s b/asm/f_op/f_op_actor_mng/fopAcM_createDisappear__FPC10fopAc_ac_cPC4cXyzUcUcUc.s deleted file mode 100644 index 4a16fd9dbf..0000000000 --- a/asm/f_op/f_op_actor_mng/fopAcM_createDisappear__FPC10fopAc_ac_cPC4cXyzUcUcUc.s +++ /dev/null @@ -1,31 +0,0 @@ -lbl_8001CAD8: -/* 8001CAD8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8001CADC 7C 08 02 A6 */ mflr r0 -/* 8001CAE0 90 01 00 14 */ stw r0, 0x14(r1) -/* 8001CAE4 7C 69 1B 78 */ mr r9, r3 -/* 8001CAE8 7C 88 23 78 */ mr r8, r4 -/* 8001CAEC 38 00 00 00 */ li r0, 0 -/* 8001CAF0 90 01 00 08 */ stw r0, 8(r1) -/* 8001CAF4 38 60 01 39 */ li r3, 0x139 -/* 8001CAF8 54 A4 44 2E */ rlwinm r4, r5, 8, 0x10, 0x17 -/* 8001CAFC 50 E4 82 1E */ rlwimi r4, r7, 0x10, 8, 0xf -/* 8001CB00 50 C4 06 3E */ rlwimi r4, r6, 0, 0x18, 0x1f -/* 8001CB04 7D 05 43 78 */ mr r5, r8 -/* 8001CB08 88 09 04 E2 */ lbz r0, 0x4e2(r9) -/* 8001CB0C 7C 06 07 74 */ extsb r6, r0 -/* 8001CB10 38 E9 04 DC */ addi r7, r9, 0x4dc -/* 8001CB14 39 00 00 00 */ li r8, 0 -/* 8001CB18 39 20 FF FF */ li r9, -1 -/* 8001CB1C 39 40 00 00 */ li r10, 0 -/* 8001CB20 4B FF D2 E5 */ bl fopAcM_fastCreate__FsUlPC4cXyziPC5csXyzPC4cXyzScPFPv_iPv -/* 8001CB24 28 03 00 00 */ cmplwi r3, 0 -/* 8001CB28 41 82 00 0C */ beq lbl_8001CB34 -/* 8001CB2C 80 63 00 04 */ lwz r3, 4(r3) -/* 8001CB30 48 00 00 08 */ b lbl_8001CB38 -lbl_8001CB34: -/* 8001CB34 38 60 FF FF */ li r3, -1 -lbl_8001CB38: -/* 8001CB38 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8001CB3C 7C 08 03 A6 */ mtlr r0 -/* 8001CB40 38 21 00 10 */ addi r1, r1, 0x10 -/* 8001CB44 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_actor_mng/fopAcM_createItemForBoss__FPC4cXyziiPC5csXyzPC4cXyzffi.s b/asm/f_op/f_op_actor_mng/fopAcM_createItemForBoss__FPC4cXyziiPC5csXyzPC4cXyzffi.s deleted file mode 100644 index 6b363f5bd7..0000000000 --- a/asm/f_op/f_op_actor_mng/fopAcM_createItemForBoss__FPC4cXyziiPC5csXyzPC4cXyzffi.s +++ /dev/null @@ -1,44 +0,0 @@ -lbl_8001C0D4: -/* 8001C0D4 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8001C0D8 7C 08 02 A6 */ mflr r0 -/* 8001C0DC 90 01 00 24 */ stw r0, 0x24(r1) -/* 8001C0E0 DB E1 00 18 */ stfd f31, 0x18(r1) -/* 8001C0E4 DB C1 00 10 */ stfd f30, 0x10(r1) -/* 8001C0E8 7C 6C 1B 78 */ mr r12, r3 -/* 8001C0EC 7C AB 2B 78 */ mr r11, r5 -/* 8001C0F0 7C CA 33 78 */ mr r10, r6 -/* 8001C0F4 7C E9 3B 78 */ mr r9, r7 -/* 8001C0F8 FF C0 08 90 */ fmr f30, f1 -/* 8001C0FC FF E0 10 90 */ fmr f31, f2 -/* 8001C100 38 00 00 00 */ li r0, 0 -/* 8001C104 90 01 00 08 */ stw r0, 8(r1) -/* 8001C108 38 60 02 1B */ li r3, 0x21b -/* 8001C10C 55 00 40 2E */ slwi r0, r8, 8 -/* 8001C110 64 05 FF FF */ oris r5, r0, 0xffff -/* 8001C114 54 80 06 3E */ clrlwi r0, r4, 0x18 -/* 8001C118 7C A4 03 78 */ or r4, r5, r0 -/* 8001C11C 7D 85 63 78 */ mr r5, r12 -/* 8001C120 7D 66 5B 78 */ mr r6, r11 -/* 8001C124 7D 47 53 78 */ mr r7, r10 -/* 8001C128 7D 28 4B 78 */ mr r8, r9 -/* 8001C12C 39 20 FF FF */ li r9, -1 -/* 8001C130 39 40 00 00 */ li r10, 0 -/* 8001C134 4B FF DC D1 */ bl fopAcM_fastCreate__FsUlPC4cXyziPC5csXyzPC4cXyzScPFPv_iPv -/* 8001C138 28 03 00 00 */ cmplwi r3, 0 -/* 8001C13C 41 82 00 0C */ beq lbl_8001C148 -/* 8001C140 D3 C3 05 2C */ stfs f30, 0x52c(r3) -/* 8001C144 D3 E3 04 FC */ stfs f31, 0x4fc(r3) -lbl_8001C148: -/* 8001C148 28 03 00 00 */ cmplwi r3, 0 -/* 8001C14C 41 82 00 0C */ beq lbl_8001C158 -/* 8001C150 80 63 00 04 */ lwz r3, 4(r3) -/* 8001C154 48 00 00 08 */ b lbl_8001C15C -lbl_8001C158: -/* 8001C158 38 60 FF FF */ li r3, -1 -lbl_8001C15C: -/* 8001C15C CB E1 00 18 */ lfd f31, 0x18(r1) -/* 8001C160 CB C1 00 10 */ lfd f30, 0x10(r1) -/* 8001C164 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8001C168 7C 08 03 A6 */ mtlr r0 -/* 8001C16C 38 21 00 20 */ addi r1, r1, 0x20 -/* 8001C170 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_actor_mng/fopAcM_createItemForDirectGet__FPC4cXyziiPC5csXyzPC4cXyzff.s b/asm/f_op/f_op_actor_mng/fopAcM_createItemForDirectGet__FPC4cXyziiPC5csXyzPC4cXyzff.s deleted file mode 100644 index 5f18db20fd..0000000000 --- a/asm/f_op/f_op_actor_mng/fopAcM_createItemForDirectGet__FPC4cXyziiPC5csXyzPC4cXyzff.s +++ /dev/null @@ -1,18 +0,0 @@ -lbl_8001C1B8: -/* 8001C1B8 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8001C1BC 7C 08 02 A6 */ mflr r0 -/* 8001C1C0 90 01 00 24 */ stw r0, 0x24(r1) -/* 8001C1C4 D0 21 00 10 */ stfs f1, 0x10(r1) -/* 8001C1C8 D0 41 00 14 */ stfs f2, 0x14(r1) -/* 8001C1CC 38 00 00 07 */ li r0, 7 -/* 8001C1D0 90 01 00 08 */ stw r0, 8(r1) -/* 8001C1D4 38 00 00 00 */ li r0, 0 -/* 8001C1D8 90 01 00 0C */ stw r0, 0xc(r1) -/* 8001C1DC 39 01 00 10 */ addi r8, r1, 0x10 -/* 8001C1E0 39 21 00 14 */ addi r9, r1, 0x14 -/* 8001C1E4 39 40 FF FF */ li r10, -1 -/* 8001C1E8 48 00 03 C9 */ bl fopAcM_fastCreateItem__FPC4cXyziiPC5csXyzPC4cXyzPfPfiiPFPv_i -/* 8001C1EC 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8001C1F0 7C 08 03 A6 */ mtlr r0 -/* 8001C1F4 38 21 00 20 */ addi r1, r1, 0x20 -/* 8001C1F8 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_actor_mng/fopAcM_createItemForMidBoss__FPC4cXyziiPC5csXyzPC4cXyzii.s b/asm/f_op/f_op_actor_mng/fopAcM_createItemForMidBoss__FPC4cXyziiPC5csXyzPC4cXyzii.s deleted file mode 100644 index 754cc497c5..0000000000 --- a/asm/f_op/f_op_actor_mng/fopAcM_createItemForMidBoss__FPC4cXyziiPC5csXyzPC4cXyzii.s +++ /dev/null @@ -1,18 +0,0 @@ -lbl_8001C174: -/* 8001C174 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8001C178 7C 08 02 A6 */ mflr r0 -/* 8001C17C 90 01 00 14 */ stw r0, 0x14(r1) -/* 8001C180 7C A6 2B 78 */ mr r6, r5 -/* 8001C184 7C E8 3B 78 */ mr r8, r7 -/* 8001C188 80 0D 8B E0 */ lwz r0, Zero__5csXyz(r13) -/* 8001C18C 90 01 00 08 */ stw r0, 8(r1) -/* 8001C190 A0 0D 8B E4 */ lhz r0, Zero__5csXyz+4(r13) -/* 8001C194 B0 01 00 0C */ sth r0, 0xc(r1) -/* 8001C198 7D 25 4B 78 */ mr r5, r9 -/* 8001C19C 38 E1 00 08 */ addi r7, r1, 8 -/* 8001C1A0 39 20 00 06 */ li r9, 6 -/* 8001C1A4 48 00 00 9D */ bl fopAcM_createItem__FPC4cXyziiiPC5csXyzPC4cXyzi -/* 8001C1A8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8001C1AC 7C 08 03 A6 */ mtlr r0 -/* 8001C1B0 38 21 00 10 */ addi r1, r1, 0x10 -/* 8001C1B4 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_actor_mng/fopAcM_createItemForSimpleDemo__FPC4cXyziiPC5csXyzPC4cXyzff.s b/asm/f_op/f_op_actor_mng/fopAcM_createItemForSimpleDemo__FPC4cXyziiPC5csXyzPC4cXyzff.s deleted file mode 100644 index 8946d140cb..0000000000 --- a/asm/f_op/f_op_actor_mng/fopAcM_createItemForSimpleDemo__FPC4cXyziiPC5csXyzPC4cXyzff.s +++ /dev/null @@ -1,18 +0,0 @@ -lbl_8001C1FC: -/* 8001C1FC 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8001C200 7C 08 02 A6 */ mflr r0 -/* 8001C204 90 01 00 24 */ stw r0, 0x24(r1) -/* 8001C208 D0 21 00 10 */ stfs f1, 0x10(r1) -/* 8001C20C D0 41 00 14 */ stfs f2, 0x14(r1) -/* 8001C210 38 00 00 04 */ li r0, 4 -/* 8001C214 90 01 00 08 */ stw r0, 8(r1) -/* 8001C218 38 00 00 00 */ li r0, 0 -/* 8001C21C 90 01 00 0C */ stw r0, 0xc(r1) -/* 8001C220 39 01 00 10 */ addi r8, r1, 0x10 -/* 8001C224 39 21 00 14 */ addi r9, r1, 0x14 -/* 8001C228 39 40 FF FF */ li r10, -1 -/* 8001C22C 48 00 03 85 */ bl fopAcM_fastCreateItem__FPC4cXyziiPC5csXyzPC4cXyzPfPfiiPFPv_i -/* 8001C230 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8001C234 7C 08 03 A6 */ mtlr r0 -/* 8001C238 38 21 00 20 */ addi r1, r1, 0x20 -/* 8001C23C 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_actor_mng/fopAcM_createItem__FPC4cXyziiiPC5csXyzPC4cXyzi.s b/asm/f_op/f_op_actor_mng/fopAcM_createItem__FPC4cXyziiiPC5csXyzPC4cXyzi.s deleted file mode 100644 index bb38c03e8b..0000000000 --- a/asm/f_op/f_op_actor_mng/fopAcM_createItem__FPC4cXyziiiPC5csXyzPC4cXyzi.s +++ /dev/null @@ -1,115 +0,0 @@ -lbl_8001C240: -/* 8001C240 94 21 FF C0 */ stwu r1, -0x40(r1) -/* 8001C244 7C 08 02 A6 */ mflr r0 -/* 8001C248 90 01 00 44 */ stw r0, 0x44(r1) -/* 8001C24C 39 61 00 40 */ addi r11, r1, 0x40 -/* 8001C250 48 34 5F 7D */ bl _savegpr_25 -/* 8001C254 7C 7B 1B 78 */ mr r27, r3 -/* 8001C258 7C 9C 23 78 */ mr r28, r4 -/* 8001C25C 7C B9 2B 78 */ mr r25, r5 -/* 8001C260 7C DD 33 78 */ mr r29, r6 -/* 8001C264 7C FE 3B 78 */ mr r30, r7 -/* 8001C268 7D 1F 43 78 */ mr r31, r8 -/* 8001C26C 7D 3A 4B 78 */ mr r26, r9 -/* 8001C270 2C 1C 00 FF */ cmpwi r28, 0xff -/* 8001C274 40 82 00 0C */ bne lbl_8001C280 -/* 8001C278 38 60 FF FF */ li r3, -1 -/* 8001C27C 48 00 01 4C */ b lbl_8001C3C8 -lbl_8001C280: -/* 8001C280 80 0D 8B E0 */ lwz r0, Zero__5csXyz(r13) -/* 8001C284 90 01 00 08 */ stw r0, 8(r1) -/* 8001C288 A0 0D 8B E4 */ lhz r0, Zero__5csXyz+4(r13) -/* 8001C28C B0 01 00 0C */ sth r0, 0xc(r1) -/* 8001C290 28 1E 00 00 */ cmplwi r30, 0 -/* 8001C294 41 82 00 20 */ beq lbl_8001C2B4 -/* 8001C298 A8 1E 00 00 */ lha r0, 0(r30) -/* 8001C29C B0 01 00 08 */ sth r0, 8(r1) -/* 8001C2A0 A8 1E 00 02 */ lha r0, 2(r30) -/* 8001C2A4 B0 01 00 0A */ sth r0, 0xa(r1) -/* 8001C2A8 A8 1E 00 04 */ lha r0, 4(r30) -/* 8001C2AC B0 01 00 0C */ sth r0, 0xc(r1) -/* 8001C2B0 48 00 00 1C */ b lbl_8001C2CC -lbl_8001C2B4: -/* 8001C2B4 C0 22 82 2C */ lfs f1, lit_5711(r2) -/* 8001C2B8 48 24 B6 D5 */ bl cM_rndFX__Ff -/* 8001C2BC FC 00 08 1E */ fctiwz f0, f1 -/* 8001C2C0 D8 01 00 10 */ stfd f0, 0x10(r1) -/* 8001C2C4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8001C2C8 B0 01 00 0A */ sth r0, 0xa(r1) -lbl_8001C2CC: -/* 8001C2CC 38 00 00 FF */ li r0, 0xff -/* 8001C2D0 B0 01 00 0C */ sth r0, 0xc(r1) -/* 8001C2D4 7F 83 E3 78 */ mr r3, r28 -/* 8001C2D8 48 07 F4 ED */ bl check_itemno__Fi -/* 8001C2DC 57 44 C1 0E */ rlwinm r4, r26, 0x18, 4, 7 -/* 8001C2E0 54 60 06 3E */ clrlwi r0, r3, 0x18 -/* 8001C2E4 53 20 44 2E */ rlwimi r0, r25, 8, 0x10, 0x17 -/* 8001C2E8 64 00 00 FF */ oris r0, r0, 0xff -/* 8001C2EC 7C 9A 03 78 */ or r26, r4, r0 -/* 8001C2F0 2C 1C 00 20 */ cmpwi r28, 0x20 -/* 8001C2F4 41 82 00 B4 */ beq lbl_8001C3A8 -/* 8001C2F8 40 80 00 14 */ bge lbl_8001C30C -/* 8001C2FC 2C 1C 00 1E */ cmpwi r28, 0x1e -/* 8001C300 41 82 00 18 */ beq lbl_8001C318 -/* 8001C304 40 80 00 5C */ bge lbl_8001C360 -/* 8001C308 48 00 00 A0 */ b lbl_8001C3A8 -lbl_8001C30C: -/* 8001C30C 2C 1C 00 23 */ cmpwi r28, 0x23 -/* 8001C310 40 80 00 98 */ bge lbl_8001C3A8 -/* 8001C314 48 00 00 28 */ b lbl_8001C33C -lbl_8001C318: -/* 8001C318 38 60 01 3F */ li r3, 0x13f -/* 8001C31C 38 80 FF FF */ li r4, -1 -/* 8001C320 7F 65 DB 78 */ mr r5, r27 -/* 8001C324 7F A6 EB 78 */ mr r6, r29 -/* 8001C328 7F C7 F3 78 */ mr r7, r30 -/* 8001C32C 7F E8 FB 78 */ mr r8, r31 -/* 8001C330 39 20 FF FF */ li r9, -1 -/* 8001C334 4B FF DA 65 */ bl fopAcM_create__FsUlPC4cXyziPC5csXyzPC4cXyzSc -/* 8001C338 48 00 00 90 */ b lbl_8001C3C8 -lbl_8001C33C: -/* 8001C33C 38 60 02 1B */ li r3, 0x21b -/* 8001C340 7F 44 D3 78 */ mr r4, r26 -/* 8001C344 7F 65 DB 78 */ mr r5, r27 -/* 8001C348 7F A6 EB 78 */ mr r6, r29 -/* 8001C34C 7F C7 F3 78 */ mr r7, r30 -/* 8001C350 7F E8 FB 78 */ mr r8, r31 -/* 8001C354 39 20 FF FF */ li r9, -1 -/* 8001C358 4B FF DA 41 */ bl fopAcM_create__FsUlPC4cXyziPC5csXyzPC4cXyzSc -/* 8001C35C 48 00 00 6C */ b lbl_8001C3C8 -lbl_8001C360: -/* 8001C360 3B 80 00 00 */ li r28, 0 -lbl_8001C364: -/* 8001C364 38 60 02 18 */ li r3, 0x218 -/* 8001C368 7F 44 D3 78 */ mr r4, r26 -/* 8001C36C 7F 65 DB 78 */ mr r5, r27 -/* 8001C370 7F A6 EB 78 */ mr r6, r29 -/* 8001C374 38 E1 00 08 */ addi r7, r1, 8 -/* 8001C378 7F E8 FB 78 */ mr r8, r31 -/* 8001C37C 39 20 FF FF */ li r9, -1 -/* 8001C380 4B FF DA 19 */ bl fopAcM_create__FsUlPC4cXyziPC5csXyzPC4cXyzSc -/* 8001C384 C0 22 82 2C */ lfs f1, lit_5711(r2) -/* 8001C388 48 24 B6 05 */ bl cM_rndFX__Ff -/* 8001C38C FC 00 08 1E */ fctiwz f0, f1 -/* 8001C390 D8 01 00 10 */ stfd f0, 0x10(r1) -/* 8001C394 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8001C398 B0 01 00 0A */ sth r0, 0xa(r1) -/* 8001C39C 3B 9C 00 01 */ addi r28, r28, 1 -/* 8001C3A0 2C 1C 00 02 */ cmpwi r28, 2 -/* 8001C3A4 41 80 FF C0 */ blt lbl_8001C364 -lbl_8001C3A8: -/* 8001C3A8 38 60 02 18 */ li r3, 0x218 -/* 8001C3AC 7F 44 D3 78 */ mr r4, r26 -/* 8001C3B0 7F 65 DB 78 */ mr r5, r27 -/* 8001C3B4 7F A6 EB 78 */ mr r6, r29 -/* 8001C3B8 38 E1 00 08 */ addi r7, r1, 8 -/* 8001C3BC 7F E8 FB 78 */ mr r8, r31 -/* 8001C3C0 39 20 FF FF */ li r9, -1 -/* 8001C3C4 4B FF D9 D5 */ bl fopAcM_create__FsUlPC4cXyziPC5csXyzPC4cXyzSc -lbl_8001C3C8: -/* 8001C3C8 39 61 00 40 */ addi r11, r1, 0x40 -/* 8001C3CC 48 34 5E 4D */ bl _restgpr_25 -/* 8001C3D0 80 01 00 44 */ lwz r0, 0x44(r1) -/* 8001C3D4 7C 08 03 A6 */ mtlr r0 -/* 8001C3D8 38 21 00 40 */ addi r1, r1, 0x40 -/* 8001C3DC 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_actor_mng/fopAcM_createWarpHole__FPC4cXyzPC5csXyziUcUcUc.s b/asm/f_op/f_op_actor_mng/fopAcM_createWarpHole__FPC4cXyzPC5csXyziUcUcUc.s deleted file mode 100644 index ad54140021..0000000000 --- a/asm/f_op/f_op_actor_mng/fopAcM_createWarpHole__FPC4cXyzPC5csXyziUcUcUc.s +++ /dev/null @@ -1,30 +0,0 @@ -lbl_8001C95C: -/* 8001C95C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8001C960 7C 08 02 A6 */ mflr r0 -/* 8001C964 90 01 00 14 */ stw r0, 0x14(r1) -/* 8001C968 7C 6B 1B 78 */ mr r11, r3 -/* 8001C96C 7C 8A 23 78 */ mr r10, r4 -/* 8001C970 7C A9 2B 78 */ mr r9, r5 -/* 8001C974 55 00 06 3E */ clrlwi r0, r8, 0x18 -/* 8001C978 28 00 00 FF */ cmplwi r0, 0xff -/* 8001C97C 40 82 00 08 */ bne lbl_8001C984 -/* 8001C980 7C C8 33 78 */ mr r8, r6 -lbl_8001C984: -/* 8001C984 38 60 01 63 */ li r3, 0x163 -/* 8001C988 54 C5 44 2E */ rlwinm r5, r6, 8, 0x10, 0x17 -/* 8001C98C 55 04 82 1E */ rlwinm r4, r8, 0x10, 8, 0xf -/* 8001C990 54 E0 D8 08 */ slwi r0, r7, 0x1b -/* 8001C994 64 00 17 00 */ oris r0, r0, 0x1700 -/* 8001C998 60 00 00 FF */ ori r0, r0, 0xff -/* 8001C99C 7C 80 03 78 */ or r0, r4, r0 -/* 8001C9A0 7C A4 03 78 */ or r4, r5, r0 -/* 8001C9A4 7D 65 5B 78 */ mr r5, r11 -/* 8001C9A8 7D 26 4B 78 */ mr r6, r9 -/* 8001C9AC 7D 47 53 78 */ mr r7, r10 -/* 8001C9B0 39 00 00 00 */ li r8, 0 -/* 8001C9B4 39 20 FF FF */ li r9, -1 -/* 8001C9B8 4B FF D3 E1 */ bl fopAcM_create__FsUlPC4cXyziPC5csXyzPC4cXyzSc -/* 8001C9BC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8001C9C0 7C 08 03 A6 */ mtlr r0 -/* 8001C9C4 38 21 00 10 */ addi r1, r1, 0x10 -/* 8001C9C8 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_actor_mng/fopAcM_create__FsUlPC4cXyziPC5csXyzPC4cXyzSc.s b/asm/f_op/f_op_actor_mng/fopAcM_create__FsUlPC4cXyziPC5csXyzPC4cXyzSc.s deleted file mode 100644 index 5ca3fe7637..0000000000 --- a/asm/f_op/f_op_actor_mng/fopAcM_create__FsUlPC4cXyziPC5csXyzPC4cXyzSc.s +++ /dev/null @@ -1,28 +0,0 @@ -lbl_80019D98: -/* 80019D98 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80019D9C 7C 08 02 A6 */ mflr r0 -/* 80019DA0 90 01 00 24 */ stw r0, 0x24(r1) -/* 80019DA4 39 61 00 20 */ addi r11, r1, 0x20 -/* 80019DA8 48 34 84 35 */ bl _savegpr_29 -/* 80019DAC 7C 9D 23 78 */ mr r29, r4 -/* 80019DB0 7C BE 2B 78 */ mr r30, r5 -/* 80019DB4 7C DF 33 78 */ mr r31, r6 -/* 80019DB8 7C EC 3B 78 */ mr r12, r7 -/* 80019DBC 7D 0B 43 78 */ mr r11, r8 -/* 80019DC0 7D 2A 4B 78 */ mr r10, r9 -/* 80019DC4 38 00 00 00 */ li r0, 0 -/* 80019DC8 90 01 00 08 */ stw r0, 8(r1) -/* 80019DCC 3C 80 00 01 */ lis r4, 0x0001 /* 0x0000FFFF@ha */ -/* 80019DD0 38 84 FF FF */ addi r4, r4, 0xFFFF /* 0x0000FFFF@l */ -/* 80019DD4 7F A5 EB 78 */ mr r5, r29 -/* 80019DD8 7F C6 F3 78 */ mr r6, r30 -/* 80019DDC 7F E7 FB 78 */ mr r7, r31 -/* 80019DE0 7D 88 63 78 */ mr r8, r12 -/* 80019DE4 7D 69 5B 78 */ mr r9, r11 -/* 80019DE8 4B FF FF 31 */ bl fopAcM_create__FsUsUlPC4cXyziPC5csXyzPC4cXyzScPFPv_i -/* 80019DEC 39 61 00 20 */ addi r11, r1, 0x20 -/* 80019DF0 48 34 84 39 */ bl _restgpr_29 -/* 80019DF4 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80019DF8 7C 08 03 A6 */ mtlr r0 -/* 80019DFC 38 21 00 20 */ addi r1, r1, 0x20 -/* 80019E00 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_actor_mng/fopAcM_create__FsUsUlPC4cXyziPC5csXyzPC4cXyzScPFPv_i.s b/asm/f_op/f_op_actor_mng/fopAcM_create__FsUsUlPC4cXyziPC5csXyzPC4cXyzScPFPv_i.s deleted file mode 100644 index aea2429ce9..0000000000 --- a/asm/f_op/f_op_actor_mng/fopAcM_create__FsUsUlPC4cXyziPC5csXyzPC4cXyzScPFPv_i.s +++ /dev/null @@ -1,35 +0,0 @@ -lbl_80019D18: -/* 80019D18 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80019D1C 7C 08 02 A6 */ mflr r0 -/* 80019D20 90 01 00 24 */ stw r0, 0x24(r1) -/* 80019D24 39 61 00 20 */ addi r11, r1, 0x20 -/* 80019D28 48 34 84 B5 */ bl _savegpr_29 -/* 80019D2C 7C 7D 1B 78 */ mr r29, r3 -/* 80019D30 83 C1 00 28 */ lwz r30, 0x28(r1) -/* 80019D34 7C 83 23 78 */ mr r3, r4 -/* 80019D38 7C A4 2B 78 */ mr r4, r5 -/* 80019D3C 7C C5 33 78 */ mr r5, r6 -/* 80019D40 7C E6 3B 78 */ mr r6, r7 -/* 80019D44 7D 07 43 78 */ mr r7, r8 -/* 80019D48 7D 28 4B 78 */ mr r8, r9 -/* 80019D4C 7D 49 53 78 */ mr r9, r10 -/* 80019D50 39 40 FF FF */ li r10, -1 -/* 80019D54 4B FF FD C9 */ bl createAppend__FUsUlPC4cXyziPC5csXyzPC4cXyzScUi -/* 80019D58 7C 7F 1B 79 */ or. r31, r3, r3 -/* 80019D5C 40 82 00 0C */ bne lbl_80019D68 -/* 80019D60 38 60 FF FF */ li r3, -1 -/* 80019D64 48 00 00 1C */ b lbl_80019D80 -lbl_80019D68: -/* 80019D68 48 00 79 8D */ bl fpcLy_CurrentLayer__Fv -/* 80019D6C 7F A4 EB 78 */ mr r4, r29 -/* 80019D70 7F C5 F3 78 */ mr r5, r30 -/* 80019D74 38 C0 00 00 */ li r6, 0 -/* 80019D78 7F E7 FB 78 */ mr r7, r31 -/* 80019D7C 48 00 A0 19 */ bl fpcSCtRq_Request__FP11layer_classsPFPvPv_iPvPv -lbl_80019D80: -/* 80019D80 39 61 00 20 */ addi r11, r1, 0x20 -/* 80019D84 48 34 84 A5 */ bl _restgpr_29 -/* 80019D88 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80019D8C 7C 08 03 A6 */ mtlr r0 -/* 80019D90 38 21 00 20 */ addi r1, r1, 0x20 -/* 80019D94 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_actor_mng/fopAcM_delete__FP10fopAc_ac_c.s b/asm/f_op/f_op_actor_mng/fopAcM_delete__FP10fopAc_ac_c.s deleted file mode 100644 index 2ba758007b..0000000000 --- a/asm/f_op/f_op_actor_mng/fopAcM_delete__FP10fopAc_ac_c.s +++ /dev/null @@ -1,16 +0,0 @@ -lbl_80019C7C: -/* 80019C7C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80019C80 7C 08 02 A6 */ mflr r0 -/* 80019C84 90 01 00 14 */ stw r0, 0x14(r1) -/* 80019C88 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80019C8C 7C 7F 1B 78 */ mr r31, r3 -/* 80019C90 3C 80 80 38 */ lis r4, f_op_f_op_actor_mng__stringBase0@ha /* 0x803788C8@ha */ -/* 80019C94 38 84 88 C8 */ addi r4, r4, f_op_f_op_actor_mng__stringBase0@l /* 0x803788C8@l */ -/* 80019C98 4B FF FF E1 */ bl fopAcM_Log__FPC10fopAc_ac_cPCc -/* 80019C9C 7F E3 FB 78 */ mr r3, r31 -/* 80019CA0 48 00 84 79 */ bl fpcM_Delete__FPv -/* 80019CA4 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80019CA8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80019CAC 7C 08 03 A6 */ mtlr r0 -/* 80019CB0 38 21 00 10 */ addi r1, r1, 0x10 -/* 80019CB4 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_actor_mng/fopAcM_entrySolidHeap__FP10fopAc_ac_cPFP10fopAc_ac_c_iUl.s b/asm/f_op/f_op_actor_mng/fopAcM_entrySolidHeap__FP10fopAc_ac_cPFP10fopAc_ac_c_iUl.s deleted file mode 100644 index a1305586ca..0000000000 --- a/asm/f_op/f_op_actor_mng/fopAcM_entrySolidHeap__FP10fopAc_ac_cPFP10fopAc_ac_c_iUl.s +++ /dev/null @@ -1,34 +0,0 @@ -lbl_8001A4B0: -/* 8001A4B0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8001A4B4 7C 08 02 A6 */ mflr r0 -/* 8001A4B8 90 01 00 14 */ stw r0, 0x14(r1) -/* 8001A4BC 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8001A4C0 93 C1 00 08 */ stw r30, 8(r1) -/* 8001A4C4 8B ED 87 49 */ lbz r31, struct_80450CC8+0x1(r13) -/* 8001A4C8 54 A0 00 01 */ rlwinm. r0, r5, 0, 0, 0 -/* 8001A4CC 41 82 00 0C */ beq lbl_8001A4D8 -/* 8001A4D0 38 00 00 01 */ li r0, 1 -/* 8001A4D4 98 0D 87 49 */ stb r0, struct_80450CC8+0x1(r13) -lbl_8001A4D8: -/* 8001A4D8 8B CD 87 48 */ lbz r30, struct_80450CC8+0x0(r13) -/* 8001A4DC 54 A0 00 85 */ rlwinm. r0, r5, 0, 2, 2 -/* 8001A4E0 41 82 00 10 */ beq lbl_8001A4F0 -/* 8001A4E4 38 00 00 00 */ li r0, 0 -/* 8001A4E8 98 0D 87 48 */ stb r0, struct_80450CC8+0x0(r13) -/* 8001A4EC 48 00 00 14 */ b lbl_8001A500 -lbl_8001A4F0: -/* 8001A4F0 54 A0 00 C7 */ rlwinm. r0, r5, 0, 3, 3 -/* 8001A4F4 41 82 00 0C */ beq lbl_8001A500 -/* 8001A4F8 38 00 00 01 */ li r0, 1 -/* 8001A4FC 98 0D 87 48 */ stb r0, struct_80450CC8+0x0(r13) -lbl_8001A500: -/* 8001A500 54 A5 02 3E */ clrlwi r5, r5, 8 -/* 8001A504 4B FF FC E5 */ bl fopAcM_entrySolidHeap___FP10fopAc_ac_cPFP10fopAc_ac_c_iUl -/* 8001A508 9B ED 87 49 */ stb r31, struct_80450CC8+0x1(r13) -/* 8001A50C 9B CD 87 48 */ stb r30, struct_80450CC8+0x0(r13) -/* 8001A510 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8001A514 83 C1 00 08 */ lwz r30, 8(r1) -/* 8001A518 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8001A51C 7C 08 03 A6 */ mtlr r0 -/* 8001A520 38 21 00 10 */ addi r1, r1, 0x10 -/* 8001A524 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_actor_mng/fopAcM_entrySolidHeap___FP10fopAc_ac_cPFP10fopAc_ac_c_iUl.s b/asm/f_op/f_op_actor_mng/fopAcM_entrySolidHeap___FP10fopAc_ac_cPFP10fopAc_ac_c_iUl.s deleted file mode 100644 index e4d335fc9f..0000000000 --- a/asm/f_op/f_op_actor_mng/fopAcM_entrySolidHeap___FP10fopAc_ac_cPFP10fopAc_ac_c_iUl.s +++ /dev/null @@ -1,193 +0,0 @@ -lbl_8001A1E8: -/* 8001A1E8 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 8001A1EC 7C 08 02 A6 */ mflr r0 -/* 8001A1F0 90 01 00 34 */ stw r0, 0x34(r1) -/* 8001A1F4 39 61 00 30 */ addi r11, r1, 0x30 -/* 8001A1F8 48 34 7F D1 */ bl _savegpr_24 -/* 8001A1FC 7C 7B 1B 78 */ mr r27, r3 -/* 8001A200 7C 9C 23 78 */ mr r28, r4 -/* 8001A204 7C BD 2B 78 */ mr r29, r5 -/* 8001A208 48 00 33 9D */ bl fopAcM_getProcNameString__FPC10fopAc_ac_c -/* 8001A20C 7C 7F 1B 78 */ mr r31, r3 -/* 8001A210 3B C0 00 00 */ li r30, 0 -/* 8001A214 28 1D 00 00 */ cmplwi r29, 0 -/* 8001A218 41 82 00 0C */ beq lbl_8001A224 -/* 8001A21C 38 1D 00 0F */ addi r0, r29, 0xf -/* 8001A220 54 1D 00 36 */ rlwinm r29, r0, 0, 0, 0x1b -lbl_8001A224: -/* 8001A224 3C 60 80 38 */ lis r3, f_op_f_op_actor_mng__stringBase0@ha /* 0x803788C8@ha */ -/* 8001A228 3B 43 88 C8 */ addi r26, r3, f_op_f_op_actor_mng__stringBase0@l /* 0x803788C8@l */ -lbl_8001A22C: -/* 8001A22C 28 1D 00 00 */ cmplwi r29, 0 -/* 8001A230 41 82 00 8C */ beq lbl_8001A2BC -/* 8001A234 7F A3 EB 78 */ mr r3, r29 -/* 8001A238 38 80 00 20 */ li r4, 0x20 -/* 8001A23C 4B FF 4C 9D */ bl mDoExt_createSolidHeapFromGame__FUlUl -/* 8001A240 7C 7E 1B 79 */ or. r30, r3, r3 -/* 8001A244 41 82 00 5C */ beq lbl_8001A2A0 -/* 8001A248 7F 63 DB 78 */ mr r3, r27 -/* 8001A24C 7F 84 E3 78 */ mr r4, r28 -/* 8001A250 7F C5 F3 78 */ mr r5, r30 -/* 8001A254 4B FF FF 35 */ bl fopAcM_callCallback__FP10fopAc_ac_cPFP10fopAc_ac_c_iP7JKRHeap -/* 8001A258 30 03 FF FF */ addic r0, r3, -1 -/* 8001A25C 7C 00 19 10 */ subfe r0, r0, r3 -/* 8001A260 54 00 06 3F */ clrlwi. r0, r0, 0x18 -/* 8001A264 40 82 00 58 */ bne lbl_8001A2BC -/* 8001A268 7F C3 F3 78 */ mr r3, r30 -/* 8001A26C 48 2B 44 C1 */ bl getFreeSize__7JKRHeapFv -/* 8001A270 7C 65 1B 78 */ mr r5, r3 -/* 8001A274 3C 60 80 38 */ lis r3, f_op_f_op_actor_mng__stringBase0@ha /* 0x803788C8@ha */ -/* 8001A278 38 63 88 C8 */ addi r3, r3, f_op_f_op_actor_mng__stringBase0@l /* 0x803788C8@l */ -/* 8001A27C 38 63 00 59 */ addi r3, r3, 0x59 -/* 8001A280 7F A4 EB 78 */ mr r4, r29 -/* 8001A284 7F E6 FB 78 */ mr r6, r31 -/* 8001A288 4C C6 31 82 */ crclr 6 -/* 8001A28C 4B FE C9 81 */ bl OSReport_Error -/* 8001A290 7F C3 F3 78 */ mr r3, r30 -/* 8001A294 4B FF 4E F9 */ bl mDoExt_destroySolidHeap__FP12JKRSolidHeap -/* 8001A298 3B C0 00 00 */ li r30, 0 -/* 8001A29C 48 00 00 20 */ b lbl_8001A2BC -lbl_8001A2A0: -/* 8001A2A0 3C 60 80 38 */ lis r3, f_op_f_op_actor_mng__stringBase0@ha /* 0x803788C8@ha */ -/* 8001A2A4 38 63 88 C8 */ addi r3, r3, f_op_f_op_actor_mng__stringBase0@l /* 0x803788C8@l */ -/* 8001A2A8 38 63 00 91 */ addi r3, r3, 0x91 -/* 8001A2AC 7F A4 EB 78 */ mr r4, r29 -/* 8001A2B0 7F E5 FB 78 */ mr r5, r31 -/* 8001A2B4 4C C6 31 82 */ crclr 6 -/* 8001A2B8 4B FE C9 55 */ bl OSReport_Error -lbl_8001A2BC: -/* 8001A2BC 28 1E 00 00 */ cmplwi r30, 0 -/* 8001A2C0 40 82 00 8C */ bne lbl_8001A34C -/* 8001A2C4 38 60 FF FF */ li r3, -1 -/* 8001A2C8 38 80 00 20 */ li r4, 0x20 -/* 8001A2CC 4B FF 4C 0D */ bl mDoExt_createSolidHeapFromGame__FUlUl -/* 8001A2D0 7C 7E 1B 79 */ or. r30, r3, r3 -/* 8001A2D4 40 82 00 24 */ bne lbl_8001A2F8 -/* 8001A2D8 3C 60 80 38 */ lis r3, f_op_f_op_actor_mng__stringBase0@ha /* 0x803788C8@ha */ -/* 8001A2DC 38 63 88 C8 */ addi r3, r3, f_op_f_op_actor_mng__stringBase0@l /* 0x803788C8@l */ -/* 8001A2E0 38 63 00 C3 */ addi r3, r3, 0xc3 -/* 8001A2E4 7F E4 FB 78 */ mr r4, r31 -/* 8001A2E8 4C C6 31 82 */ crclr 6 -/* 8001A2EC 4B FE C9 21 */ bl OSReport_Error -/* 8001A2F0 38 60 00 00 */ li r3, 0 -/* 8001A2F4 48 00 01 A4 */ b lbl_8001A498 -lbl_8001A2F8: -/* 8001A2F8 7F 63 DB 78 */ mr r3, r27 -/* 8001A2FC 7F 84 E3 78 */ mr r4, r28 -/* 8001A300 7F C5 F3 78 */ mr r5, r30 -/* 8001A304 4B FF FE 85 */ bl fopAcM_callCallback__FP10fopAc_ac_cPFP10fopAc_ac_c_iP7JKRHeap -/* 8001A308 30 03 FF FF */ addic r0, r3, -1 -/* 8001A30C 7C 00 19 10 */ subfe r0, r0, r3 -/* 8001A310 54 00 06 3F */ clrlwi. r0, r0, 0x18 -/* 8001A314 40 82 00 38 */ bne lbl_8001A34C -/* 8001A318 7F C3 F3 78 */ mr r3, r30 -/* 8001A31C 48 2B 44 11 */ bl getFreeSize__7JKRHeapFv -/* 8001A320 7C 64 1B 78 */ mr r4, r3 -/* 8001A324 3C 60 80 38 */ lis r3, f_op_f_op_actor_mng__stringBase0@ha /* 0x803788C8@ha */ -/* 8001A328 38 63 88 C8 */ addi r3, r3, f_op_f_op_actor_mng__stringBase0@l /* 0x803788C8@l */ -/* 8001A32C 38 63 00 E9 */ addi r3, r3, 0xe9 -/* 8001A330 7F E5 FB 78 */ mr r5, r31 -/* 8001A334 4C C6 31 82 */ crclr 6 -/* 8001A338 4B FE C8 D5 */ bl OSReport_Error -/* 8001A33C 7F C3 F3 78 */ mr r3, r30 -/* 8001A340 4B FF 4E 4D */ bl mDoExt_destroySolidHeap__FP12JKRSolidHeap -/* 8001A344 38 60 00 00 */ li r3, 0 -/* 8001A348 48 00 01 50 */ b lbl_8001A498 -lbl_8001A34C: -/* 8001A34C 28 1E 00 00 */ cmplwi r30, 0 -/* 8001A350 41 82 01 2C */ beq lbl_8001A47C -/* 8001A354 88 0D 87 48 */ lbz r0, struct_80450CC8+0x0(r13) -/* 8001A358 28 00 00 00 */ cmplwi r0, 0 -/* 8001A35C 40 82 00 18 */ bne lbl_8001A374 -/* 8001A360 7F C3 F3 78 */ mr r3, r30 -/* 8001A364 4B FF 4D 29 */ bl mDoExt_adjustSolidHeap__FP12JKRSolidHeap -/* 8001A368 93 DB 00 F0 */ stw r30, 0xf0(r27) -/* 8001A36C 38 60 00 01 */ li r3, 1 -/* 8001A370 48 00 01 28 */ b lbl_8001A498 -lbl_8001A374: -/* 8001A374 3B 00 00 00 */ li r24, 0 -/* 8001A378 83 3E 00 38 */ lwz r25, 0x38(r30) -/* 8001A37C 7F C3 F3 78 */ mr r3, r30 -/* 8001A380 48 2B 43 AD */ bl getFreeSize__7JKRHeapFv -/* 8001A384 7C 63 C8 50 */ subf r3, r3, r25 -/* 8001A388 38 03 00 1F */ addi r0, r3, 0x1f -/* 8001A38C 54 19 00 34 */ rlwinm r25, r0, 0, 0, 0x1a -/* 8001A390 4B FF 49 C1 */ bl mDoExt_getGameHeap__Fv -/* 8001A394 48 2B 43 99 */ bl getFreeSize__7JKRHeapFv -/* 8001A398 38 19 00 90 */ addi r0, r25, 0x90 -/* 8001A39C 7C 00 18 40 */ cmplw r0, r3 -/* 8001A3A0 40 80 00 14 */ bge lbl_8001A3B4 -/* 8001A3A4 7F 23 CB 78 */ mr r3, r25 -/* 8001A3A8 38 80 00 20 */ li r4, 0x20 -/* 8001A3AC 4B FF 4B 2D */ bl mDoExt_createSolidHeapFromGame__FUlUl -/* 8001A3B0 7C 78 1B 78 */ mr r24, r3 -lbl_8001A3B4: -/* 8001A3B4 28 18 00 00 */ cmplwi r24, 0 -/* 8001A3B8 41 82 00 68 */ beq lbl_8001A420 -/* 8001A3BC 7C 18 F0 40 */ cmplw r24, r30 -/* 8001A3C0 40 80 00 54 */ bge lbl_8001A414 -/* 8001A3C4 7F C3 F3 78 */ mr r3, r30 -/* 8001A3C8 4B FF 4D C5 */ bl mDoExt_destroySolidHeap__FP12JKRSolidHeap -/* 8001A3CC 3B C0 00 00 */ li r30, 0 -/* 8001A3D0 7F 63 DB 78 */ mr r3, r27 -/* 8001A3D4 7F 84 E3 78 */ mr r4, r28 -/* 8001A3D8 7F 05 C3 78 */ mr r5, r24 -/* 8001A3DC 4B FF FD AD */ bl fopAcM_callCallback__FP10fopAc_ac_cPFP10fopAc_ac_c_iP7JKRHeap -/* 8001A3E0 30 03 FF FF */ addic r0, r3, -1 -/* 8001A3E4 7C 00 19 10 */ subfe r0, r0, r3 -/* 8001A3E8 54 00 06 3F */ clrlwi. r0, r0, 0x18 -/* 8001A3EC 40 82 00 34 */ bne lbl_8001A420 -/* 8001A3F0 3C 60 80 38 */ lis r3, f_op_f_op_actor_mng__stringBase0@ha /* 0x803788C8@ha */ -/* 8001A3F4 38 63 88 C8 */ addi r3, r3, f_op_f_op_actor_mng__stringBase0@l /* 0x803788C8@l */ -/* 8001A3F8 38 63 01 13 */ addi r3, r3, 0x113 -/* 8001A3FC 4C C6 31 82 */ crclr 6 -/* 8001A400 4B FE C8 0D */ bl OSReport_Error -/* 8001A404 7F 03 C3 78 */ mr r3, r24 -/* 8001A408 4B FF 4D 85 */ bl mDoExt_destroySolidHeap__FP12JKRSolidHeap -/* 8001A40C 3B 00 00 00 */ li r24, 0 -/* 8001A410 48 00 00 10 */ b lbl_8001A420 -lbl_8001A414: -/* 8001A414 7F 03 C3 78 */ mr r3, r24 -/* 8001A418 4B FF 4D 75 */ bl mDoExt_destroySolidHeap__FP12JKRSolidHeap -/* 8001A41C 3B 00 00 00 */ li r24, 0 -lbl_8001A420: -/* 8001A420 28 18 00 00 */ cmplwi r24, 0 -/* 8001A424 41 82 00 18 */ beq lbl_8001A43C -/* 8001A428 7F 03 C3 78 */ mr r3, r24 -/* 8001A42C 4B FF 4C 61 */ bl mDoExt_adjustSolidHeap__FP12JKRSolidHeap -/* 8001A430 93 1B 00 F0 */ stw r24, 0xf0(r27) -/* 8001A434 38 60 00 01 */ li r3, 1 -/* 8001A438 48 00 00 60 */ b lbl_8001A498 -lbl_8001A43C: -/* 8001A43C 28 1E 00 00 */ cmplwi r30, 0 -/* 8001A440 41 82 00 18 */ beq lbl_8001A458 -/* 8001A444 7F C3 F3 78 */ mr r3, r30 -/* 8001A448 4B FF 4C 45 */ bl mDoExt_adjustSolidHeap__FP12JKRSolidHeap -/* 8001A44C 93 DB 00 F0 */ stw r30, 0xf0(r27) -/* 8001A450 38 60 00 01 */ li r3, 1 -/* 8001A454 48 00 00 44 */ b lbl_8001A498 -lbl_8001A458: -/* 8001A458 38 7A 01 37 */ addi r3, r26, 0x137 -/* 8001A45C 4C C6 31 82 */ crclr 6 -/* 8001A460 4B FE C7 AD */ bl OSReport_Error -/* 8001A464 38 7A 01 45 */ addi r3, r26, 0x145 -/* 8001A468 4C C6 31 82 */ crclr 6 -/* 8001A46C 4B FE C7 A1 */ bl OSReport_Error -/* 8001A470 38 00 00 00 */ li r0, 0 -/* 8001A474 98 0D 87 48 */ stb r0, struct_80450CC8+0x0(r13) -/* 8001A478 4B FF FD B4 */ b lbl_8001A22C -lbl_8001A47C: -/* 8001A47C 3C 60 80 38 */ lis r3, f_op_f_op_actor_mng__stringBase0@ha /* 0x803788C8@ha */ -/* 8001A480 38 63 88 C8 */ addi r3, r3, f_op_f_op_actor_mng__stringBase0@l /* 0x803788C8@l */ -/* 8001A484 38 63 01 53 */ addi r3, r3, 0x153 -/* 8001A488 7F E4 FB 78 */ mr r4, r31 -/* 8001A48C 4C C6 31 82 */ crclr 6 -/* 8001A490 4B FE C7 7D */ bl OSReport_Error -/* 8001A494 38 60 00 00 */ li r3, 0 -lbl_8001A498: -/* 8001A498 39 61 00 30 */ addi r11, r1, 0x30 -/* 8001A49C 48 34 7D 79 */ bl _restgpr_24 -/* 8001A4A0 80 01 00 34 */ lwz r0, 0x34(r1) -/* 8001A4A4 7C 08 03 A6 */ mtlr r0 -/* 8001A4A8 38 21 00 30 */ addi r1, r1, 0x30 -/* 8001A4AC 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_actor_mng/fopAcM_fastCreateItem2__FPC4cXyziiiiPC5csXyzPC4cXyz.s b/asm/f_op/f_op_actor_mng/fopAcM_fastCreateItem2__FPC4cXyziiiiPC5csXyzPC4cXyz.s deleted file mode 100644 index 7a893bb0b7..0000000000 --- a/asm/f_op/f_op_actor_mng/fopAcM_fastCreateItem2__FPC4cXyziiiiPC5csXyzPC4cXyz.s +++ /dev/null @@ -1,127 +0,0 @@ -lbl_8001C3E0: -/* 8001C3E0 94 21 FF C0 */ stwu r1, -0x40(r1) -/* 8001C3E4 7C 08 02 A6 */ mflr r0 -/* 8001C3E8 90 01 00 44 */ stw r0, 0x44(r1) -/* 8001C3EC 39 61 00 40 */ addi r11, r1, 0x40 -/* 8001C3F0 48 34 5D DD */ bl _savegpr_25 -/* 8001C3F4 7C 7B 1B 78 */ mr r27, r3 -/* 8001C3F8 7C 9C 23 78 */ mr r28, r4 -/* 8001C3FC 7C B9 2B 78 */ mr r25, r5 -/* 8001C400 7C DD 33 78 */ mr r29, r6 -/* 8001C404 7C FA 3B 78 */ mr r26, r7 -/* 8001C408 7D 1E 43 78 */ mr r30, r8 -/* 8001C40C 7D 3F 4B 78 */ mr r31, r9 -/* 8001C410 80 0D 8B E0 */ lwz r0, Zero__5csXyz(r13) -/* 8001C414 90 01 00 10 */ stw r0, 0x10(r1) -/* 8001C418 A0 0D 8B E4 */ lhz r0, Zero__5csXyz+4(r13) -/* 8001C41C B0 01 00 14 */ sth r0, 0x14(r1) -/* 8001C420 2C 1C 00 FF */ cmpwi r28, 0xff -/* 8001C424 40 82 00 0C */ bne lbl_8001C430 -/* 8001C428 38 60 00 00 */ li r3, 0 -/* 8001C42C 48 00 01 6C */ b lbl_8001C598 -lbl_8001C430: -/* 8001C430 28 1E 00 00 */ cmplwi r30, 0 -/* 8001C434 41 82 00 20 */ beq lbl_8001C454 -/* 8001C438 A8 1E 00 00 */ lha r0, 0(r30) -/* 8001C43C B0 01 00 10 */ sth r0, 0x10(r1) -/* 8001C440 A8 1E 00 02 */ lha r0, 2(r30) -/* 8001C444 B0 01 00 12 */ sth r0, 0x12(r1) -/* 8001C448 A8 1E 00 04 */ lha r0, 4(r30) -/* 8001C44C B0 01 00 14 */ sth r0, 0x14(r1) -/* 8001C450 48 00 00 1C */ b lbl_8001C46C -lbl_8001C454: -/* 8001C454 C0 22 82 2C */ lfs f1, lit_5711(r2) -/* 8001C458 48 24 B5 35 */ bl cM_rndFX__Ff -/* 8001C45C FC 00 08 1E */ fctiwz f0, f1 -/* 8001C460 D8 01 00 18 */ stfd f0, 0x18(r1) -/* 8001C464 80 01 00 1C */ lwz r0, 0x1c(r1) -/* 8001C468 B0 01 00 12 */ sth r0, 0x12(r1) -lbl_8001C46C: -/* 8001C46C 38 00 00 FF */ li r0, 0xff -/* 8001C470 B0 01 00 14 */ sth r0, 0x14(r1) -/* 8001C474 7F 83 E3 78 */ mr r3, r28 -/* 8001C478 48 07 F3 4D */ bl check_itemno__Fi -/* 8001C47C 57 44 C1 0E */ rlwinm r4, r26, 0x18, 4, 7 -/* 8001C480 54 60 06 3E */ clrlwi r0, r3, 0x18 -/* 8001C484 53 20 44 2E */ rlwimi r0, r25, 8, 0x10, 0x17 -/* 8001C488 64 00 00 FF */ oris r0, r0, 0xff -/* 8001C48C 7C 9A 03 78 */ or r26, r4, r0 -/* 8001C490 2C 1C 00 20 */ cmpwi r28, 0x20 -/* 8001C494 41 82 00 D8 */ beq lbl_8001C56C -/* 8001C498 40 80 00 14 */ bge lbl_8001C4AC -/* 8001C49C 2C 1C 00 1E */ cmpwi r28, 0x1e -/* 8001C4A0 41 82 00 18 */ beq lbl_8001C4B8 -/* 8001C4A4 40 80 00 74 */ bge lbl_8001C518 -/* 8001C4A8 48 00 00 C4 */ b lbl_8001C56C -lbl_8001C4AC: -/* 8001C4AC 2C 1C 00 23 */ cmpwi r28, 0x23 -/* 8001C4B0 40 80 00 BC */ bge lbl_8001C56C -/* 8001C4B4 48 00 00 34 */ b lbl_8001C4E8 -lbl_8001C4B8: -/* 8001C4B8 38 00 00 00 */ li r0, 0 -/* 8001C4BC 90 01 00 08 */ stw r0, 8(r1) -/* 8001C4C0 38 60 01 3F */ li r3, 0x13f -/* 8001C4C4 38 80 FF FF */ li r4, -1 -/* 8001C4C8 7F 65 DB 78 */ mr r5, r27 -/* 8001C4CC 7F A6 EB 78 */ mr r6, r29 -/* 8001C4D0 7F C7 F3 78 */ mr r7, r30 -/* 8001C4D4 7F E8 FB 78 */ mr r8, r31 -/* 8001C4D8 39 20 FF FF */ li r9, -1 -/* 8001C4DC 39 40 00 00 */ li r10, 0 -/* 8001C4E0 4B FF D9 25 */ bl fopAcM_fastCreate__FsUlPC4cXyziPC5csXyzPC4cXyzScPFPv_iPv -/* 8001C4E4 48 00 00 B4 */ b lbl_8001C598 -lbl_8001C4E8: -/* 8001C4E8 38 00 00 00 */ li r0, 0 -/* 8001C4EC 90 01 00 08 */ stw r0, 8(r1) -/* 8001C4F0 38 60 02 1B */ li r3, 0x21b -/* 8001C4F4 7F 44 D3 78 */ mr r4, r26 -/* 8001C4F8 7F 65 DB 78 */ mr r5, r27 -/* 8001C4FC 7F A6 EB 78 */ mr r6, r29 -/* 8001C500 7F C7 F3 78 */ mr r7, r30 -/* 8001C504 7F E8 FB 78 */ mr r8, r31 -/* 8001C508 39 20 FF FF */ li r9, -1 -/* 8001C50C 39 40 00 00 */ li r10, 0 -/* 8001C510 4B FF D8 F5 */ bl fopAcM_fastCreate__FsUlPC4cXyziPC5csXyzPC4cXyzScPFPv_iPv -/* 8001C514 48 00 00 84 */ b lbl_8001C598 -lbl_8001C518: -/* 8001C518 3B C0 00 00 */ li r30, 0 -/* 8001C51C 3B 80 00 00 */ li r28, 0 -lbl_8001C520: -/* 8001C520 93 81 00 08 */ stw r28, 8(r1) -/* 8001C524 38 60 02 18 */ li r3, 0x218 -/* 8001C528 7F 44 D3 78 */ mr r4, r26 -/* 8001C52C 7F 65 DB 78 */ mr r5, r27 -/* 8001C530 7F A6 EB 78 */ mr r6, r29 -/* 8001C534 38 E1 00 10 */ addi r7, r1, 0x10 -/* 8001C538 7F E8 FB 78 */ mr r8, r31 -/* 8001C53C 39 20 FF FF */ li r9, -1 -/* 8001C540 39 40 00 00 */ li r10, 0 -/* 8001C544 4B FF D8 C1 */ bl fopAcM_fastCreate__FsUlPC4cXyziPC5csXyzPC4cXyzScPFPv_iPv -/* 8001C548 C0 22 82 2C */ lfs f1, lit_5711(r2) -/* 8001C54C 48 24 B4 41 */ bl cM_rndFX__Ff -/* 8001C550 FC 00 08 1E */ fctiwz f0, f1 -/* 8001C554 D8 01 00 18 */ stfd f0, 0x18(r1) -/* 8001C558 80 01 00 1C */ lwz r0, 0x1c(r1) -/* 8001C55C B0 01 00 12 */ sth r0, 0x12(r1) -/* 8001C560 3B DE 00 01 */ addi r30, r30, 1 -/* 8001C564 2C 1E 00 02 */ cmpwi r30, 2 -/* 8001C568 41 80 FF B8 */ blt lbl_8001C520 -lbl_8001C56C: -/* 8001C56C 38 00 00 00 */ li r0, 0 -/* 8001C570 90 01 00 08 */ stw r0, 8(r1) -/* 8001C574 38 60 02 18 */ li r3, 0x218 -/* 8001C578 7F 44 D3 78 */ mr r4, r26 -/* 8001C57C 7F 65 DB 78 */ mr r5, r27 -/* 8001C580 7F A6 EB 78 */ mr r6, r29 -/* 8001C584 38 E1 00 10 */ addi r7, r1, 0x10 -/* 8001C588 7F E8 FB 78 */ mr r8, r31 -/* 8001C58C 39 20 FF FF */ li r9, -1 -/* 8001C590 39 40 00 00 */ li r10, 0 -/* 8001C594 4B FF D8 71 */ bl fopAcM_fastCreate__FsUlPC4cXyziPC5csXyzPC4cXyzScPFPv_iPv -lbl_8001C598: -/* 8001C598 39 61 00 40 */ addi r11, r1, 0x40 -/* 8001C59C 48 34 5C 7D */ bl _restgpr_25 -/* 8001C5A0 80 01 00 44 */ lwz r0, 0x44(r1) -/* 8001C5A4 7C 08 03 A6 */ mtlr r0 -/* 8001C5A8 38 21 00 40 */ addi r1, r1, 0x40 -/* 8001C5AC 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_actor_mng/fopAcM_fastCreate__FPCcUlPC4cXyziPC5csXyzPC4cXyzPFPv_iPv.s b/asm/f_op/f_op_actor_mng/fopAcM_fastCreate__FPCcUlPC4cXyziPC5csXyzPC4cXyzPFPv_iPv.s deleted file mode 100644 index e339d2f1d2..0000000000 --- a/asm/f_op/f_op_actor_mng/fopAcM_fastCreate__FPCcUlPC4cXyziPC5csXyzPC4cXyzPFPv_iPv.s +++ /dev/null @@ -1,36 +0,0 @@ -lbl_80019E6C: -/* 80019E6C 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 80019E70 7C 08 02 A6 */ mflr r0 -/* 80019E74 90 01 00 34 */ stw r0, 0x34(r1) -/* 80019E78 39 61 00 30 */ addi r11, r1, 0x30 -/* 80019E7C 48 34 83 51 */ bl _savegpr_25 -/* 80019E80 7C 99 23 78 */ mr r25, r4 -/* 80019E84 7C BA 2B 78 */ mr r26, r5 -/* 80019E88 7C DB 33 78 */ mr r27, r6 -/* 80019E8C 7C FC 3B 78 */ mr r28, r7 -/* 80019E90 7D 1D 43 78 */ mr r29, r8 -/* 80019E94 7D 3E 4B 78 */ mr r30, r9 -/* 80019E98 7D 5F 53 78 */ mr r31, r10 -/* 80019E9C 48 00 AF 25 */ bl dStage_searchName__FPCc -/* 80019EA0 7C 69 1B 79 */ or. r9, r3, r3 -/* 80019EA4 40 82 00 0C */ bne lbl_80019EB0 -/* 80019EA8 38 60 00 00 */ li r3, 0 -/* 80019EAC 48 00 00 2C */ b lbl_80019ED8 -lbl_80019EB0: -/* 80019EB0 93 E1 00 08 */ stw r31, 8(r1) -/* 80019EB4 A8 69 00 08 */ lha r3, 8(r9) -/* 80019EB8 7F 24 CB 78 */ mr r4, r25 -/* 80019EBC 7F 45 D3 78 */ mr r5, r26 -/* 80019EC0 7F 66 DB 78 */ mr r6, r27 -/* 80019EC4 7F 87 E3 78 */ mr r7, r28 -/* 80019EC8 7F A8 EB 78 */ mr r8, r29 -/* 80019ECC 89 29 00 0A */ lbz r9, 0xa(r9) -/* 80019ED0 7F CA F3 78 */ mr r10, r30 -/* 80019ED4 4B FF FF 31 */ bl fopAcM_fastCreate__FsUlPC4cXyziPC5csXyzPC4cXyzScPFPv_iPv -lbl_80019ED8: -/* 80019ED8 39 61 00 30 */ addi r11, r1, 0x30 -/* 80019EDC 48 34 83 3D */ bl _restgpr_25 -/* 80019EE0 80 01 00 34 */ lwz r0, 0x34(r1) -/* 80019EE4 7C 08 03 A6 */ mtlr r0 -/* 80019EE8 38 21 00 30 */ addi r1, r1, 0x30 -/* 80019EEC 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_actor_mng/fopAcM_fastCreate__FsUlPC4cXyziPC5csXyzPC4cXyzScPFPv_iPv.s b/asm/f_op/f_op_actor_mng/fopAcM_fastCreate__FsUlPC4cXyziPC5csXyzPC4cXyzScPFPv_iPv.s deleted file mode 100644 index dfd98a38f8..0000000000 --- a/asm/f_op/f_op_actor_mng/fopAcM_fastCreate__FsUlPC4cXyziPC5csXyzPC4cXyzScPFPv_iPv.s +++ /dev/null @@ -1,29 +0,0 @@ -lbl_80019E04: -/* 80019E04 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80019E08 7C 08 02 A6 */ mflr r0 -/* 80019E0C 90 01 00 24 */ stw r0, 0x24(r1) -/* 80019E10 39 61 00 20 */ addi r11, r1, 0x20 -/* 80019E14 48 34 83 C9 */ bl _savegpr_29 -/* 80019E18 7C 7D 1B 78 */ mr r29, r3 -/* 80019E1C 7D 5E 53 78 */ mr r30, r10 -/* 80019E20 83 E1 00 28 */ lwz r31, 0x28(r1) -/* 80019E24 3C 60 00 01 */ lis r3, 0x0001 /* 0x0000FFFF@ha */ -/* 80019E28 38 63 FF FF */ addi r3, r3, 0xFFFF /* 0x0000FFFF@l */ -/* 80019E2C 39 40 FF FF */ li r10, -1 -/* 80019E30 4B FF FC ED */ bl createAppend__FUsUlPC4cXyziPC5csXyzPC4cXyzScUi -/* 80019E34 7C 66 1B 79 */ or. r6, r3, r3 -/* 80019E38 40 82 00 0C */ bne lbl_80019E44 -/* 80019E3C 38 60 00 00 */ li r3, 0 -/* 80019E40 48 00 00 14 */ b lbl_80019E54 -lbl_80019E44: -/* 80019E44 7F A3 EB 78 */ mr r3, r29 -/* 80019E48 7F C4 F3 78 */ mr r4, r30 -/* 80019E4C 7F E5 FB 78 */ mr r5, r31 -/* 80019E50 48 00 84 A5 */ bl fpcM_FastCreate__FsPFPv_iPvPv -lbl_80019E54: -/* 80019E54 39 61 00 20 */ addi r11, r1, 0x20 -/* 80019E58 48 34 83 D1 */ bl _restgpr_29 -/* 80019E5C 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80019E60 7C 08 03 A6 */ mtlr r0 -/* 80019E64 38 21 00 20 */ addi r1, r1, 0x20 -/* 80019E68 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_actor_mng/fopAcM_getProcNameString__FPC10fopAc_ac_c.s b/asm/f_op/f_op_actor_mng/fopAcM_getProcNameString__FPC10fopAc_ac_c.s deleted file mode 100644 index 4d0555408b..0000000000 --- a/asm/f_op/f_op_actor_mng/fopAcM_getProcNameString__FPC10fopAc_ac_c.s +++ /dev/null @@ -1,21 +0,0 @@ -lbl_8001D5A4: -/* 8001D5A4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8001D5A8 7C 08 02 A6 */ mflr r0 -/* 8001D5AC 90 01 00 14 */ stw r0, 0x14(r1) -/* 8001D5B0 7C 64 1B 78 */ mr r4, r3 -/* 8001D5B4 A8 63 00 0E */ lha r3, 0xe(r3) -/* 8001D5B8 88 04 04 99 */ lbz r0, 0x499(r4) -/* 8001D5BC 7C 04 07 74 */ extsb r4, r0 -/* 8001D5C0 48 00 79 1D */ bl dStage_getName2__FsSc -/* 8001D5C4 28 03 00 00 */ cmplwi r3, 0 -/* 8001D5C8 41 82 00 08 */ beq lbl_8001D5D0 -/* 8001D5CC 48 00 00 10 */ b lbl_8001D5DC -lbl_8001D5D0: -/* 8001D5D0 3C 60 80 38 */ lis r3, f_op_f_op_actor_mng__stringBase0@ha /* 0x803788C8@ha */ -/* 8001D5D4 38 63 88 C8 */ addi r3, r3, f_op_f_op_actor_mng__stringBase0@l /* 0x803788C8@l */ -/* 8001D5D8 38 63 01 7A */ addi r3, r3, 0x17a -lbl_8001D5DC: -/* 8001D5DC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8001D5E0 7C 08 03 A6 */ mtlr r0 -/* 8001D5E4 38 21 00 10 */ addi r1, r1, 0x10 -/* 8001D5E8 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_actor_mng/fopAcM_posMoveF__FP10fopAc_ac_cPC4cXyz.s b/asm/f_op/f_op_actor_mng/fopAcM_posMoveF__FP10fopAc_ac_cPC4cXyz.s deleted file mode 100644 index 9e37b830b1..0000000000 --- a/asm/f_op/f_op_actor_mng/fopAcM_posMoveF__FP10fopAc_ac_cPC4cXyz.s +++ /dev/null @@ -1,18 +0,0 @@ -lbl_8001A6CC: -/* 8001A6CC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8001A6D0 7C 08 02 A6 */ mflr r0 -/* 8001A6D4 90 01 00 14 */ stw r0, 0x14(r1) -/* 8001A6D8 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8001A6DC 93 C1 00 08 */ stw r30, 8(r1) -/* 8001A6E0 7C 7E 1B 78 */ mr r30, r3 -/* 8001A6E4 7C 9F 23 78 */ mr r31, r4 -/* 8001A6E8 4B FF FF 25 */ bl fopAcM_calcSpeed__FP10fopAc_ac_c -/* 8001A6EC 7F C3 F3 78 */ mr r3, r30 -/* 8001A6F0 7F E4 FB 78 */ mr r4, r31 -/* 8001A6F4 4B FF FF 6D */ bl fopAcM_posMove__FP10fopAc_ac_cPC4cXyz -/* 8001A6F8 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8001A6FC 83 C1 00 08 */ lwz r30, 8(r1) -/* 8001A700 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8001A704 7C 08 03 A6 */ mtlr r0 -/* 8001A708 38 21 00 10 */ addi r1, r1, 0x10 -/* 8001A70C 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_actor_mng/fopAcM_posMove__FP10fopAc_ac_cPC4cXyz.s b/asm/f_op/f_op_actor_mng/fopAcM_posMove__FP10fopAc_ac_cPC4cXyz.s deleted file mode 100644 index ac1ebbe7aa..0000000000 --- a/asm/f_op/f_op_actor_mng/fopAcM_posMove__FP10fopAc_ac_cPC4cXyz.s +++ /dev/null @@ -1,28 +0,0 @@ -lbl_8001A660: -/* 8001A660 C0 23 04 D0 */ lfs f1, 0x4d0(r3) -/* 8001A664 C0 03 04 F8 */ lfs f0, 0x4f8(r3) -/* 8001A668 EC 01 00 2A */ fadds f0, f1, f0 -/* 8001A66C D0 03 04 D0 */ stfs f0, 0x4d0(r3) -/* 8001A670 C0 23 04 D4 */ lfs f1, 0x4d4(r3) -/* 8001A674 C0 03 04 FC */ lfs f0, 0x4fc(r3) -/* 8001A678 EC 01 00 2A */ fadds f0, f1, f0 -/* 8001A67C D0 03 04 D4 */ stfs f0, 0x4d4(r3) -/* 8001A680 C0 23 04 D8 */ lfs f1, 0x4d8(r3) -/* 8001A684 C0 03 05 00 */ lfs f0, 0x500(r3) -/* 8001A688 EC 01 00 2A */ fadds f0, f1, f0 -/* 8001A68C D0 03 04 D8 */ stfs f0, 0x4d8(r3) -/* 8001A690 28 04 00 00 */ cmplwi r4, 0 -/* 8001A694 4D 82 00 20 */ beqlr -/* 8001A698 C0 23 04 D0 */ lfs f1, 0x4d0(r3) -/* 8001A69C C0 04 00 00 */ lfs f0, 0(r4) -/* 8001A6A0 EC 01 00 2A */ fadds f0, f1, f0 -/* 8001A6A4 D0 03 04 D0 */ stfs f0, 0x4d0(r3) -/* 8001A6A8 C0 23 04 D4 */ lfs f1, 0x4d4(r3) -/* 8001A6AC C0 04 00 04 */ lfs f0, 4(r4) -/* 8001A6B0 EC 01 00 2A */ fadds f0, f1, f0 -/* 8001A6B4 D0 03 04 D4 */ stfs f0, 0x4d4(r3) -/* 8001A6B8 C0 23 04 D8 */ lfs f1, 0x4d8(r3) -/* 8001A6BC C0 04 00 08 */ lfs f0, 8(r4) -/* 8001A6C0 EC 01 00 2A */ fadds f0, f1, f0 -/* 8001A6C4 D0 03 04 D8 */ stfs f0, 0x4d8(r3) -/* 8001A6C8 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_actor_mng/fopAcM_searchActorAngleY__FPC10fopAc_ac_cPC10fopAc_ac_c.s b/asm/f_op/f_op_actor_mng/fopAcM_searchActorAngleY__FPC10fopAc_ac_cPC10fopAc_ac_c.s deleted file mode 100644 index 1ce194ffb0..0000000000 --- a/asm/f_op/f_op_actor_mng/fopAcM_searchActorAngleY__FPC10fopAc_ac_cPC10fopAc_ac_c.s +++ /dev/null @@ -1,11 +0,0 @@ -lbl_8001A710: -/* 8001A710 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8001A714 7C 08 02 A6 */ mflr r0 -/* 8001A718 90 01 00 14 */ stw r0, 0x14(r1) -/* 8001A71C 38 63 04 D0 */ addi r3, r3, 0x4d0 -/* 8001A720 38 84 04 D0 */ addi r4, r4, 0x4d0 -/* 8001A724 48 25 64 E1 */ bl cLib_targetAngleY__FPC3VecPC3Vec -/* 8001A728 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8001A72C 7C 08 03 A6 */ mtlr r0 -/* 8001A730 38 21 00 10 */ addi r1, r1, 0x10 -/* 8001A734 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_actor_mng/fopAcM_searchActorDistance2__FPC10fopAc_ac_cPC10fopAc_ac_c.s b/asm/f_op/f_op_actor_mng/fopAcM_searchActorDistance2__FPC10fopAc_ac_cPC10fopAc_ac_c.s deleted file mode 100644 index 8e395c1466..0000000000 --- a/asm/f_op/f_op_actor_mng/fopAcM_searchActorDistance2__FPC10fopAc_ac_cPC10fopAc_ac_c.s +++ /dev/null @@ -1,21 +0,0 @@ -lbl_8001A914: -/* 8001A914 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8001A918 7C 08 02 A6 */ mflr r0 -/* 8001A91C 90 01 00 24 */ stw r0, 0x24(r1) -/* 8001A920 7C 65 1B 78 */ mr r5, r3 -/* 8001A924 38 61 00 08 */ addi r3, r1, 8 -/* 8001A928 38 84 04 D0 */ addi r4, r4, 0x4d0 -/* 8001A92C 38 A5 04 D0 */ addi r5, r5, 0x4d0 -/* 8001A930 48 24 C2 05 */ bl __mi__4cXyzCFRC3Vec -/* 8001A934 C0 01 00 08 */ lfs f0, 8(r1) -/* 8001A938 D0 01 00 14 */ stfs f0, 0x14(r1) -/* 8001A93C C0 01 00 0C */ lfs f0, 0xc(r1) -/* 8001A940 D0 01 00 18 */ stfs f0, 0x18(r1) -/* 8001A944 C0 01 00 10 */ lfs f0, 0x10(r1) -/* 8001A948 D0 01 00 1C */ stfs f0, 0x1c(r1) -/* 8001A94C 38 61 00 14 */ addi r3, r1, 0x14 -/* 8001A950 48 32 C7 E9 */ bl PSVECSquareMag -/* 8001A954 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8001A958 7C 08 03 A6 */ mtlr r0 -/* 8001A95C 38 21 00 20 */ addi r1, r1, 0x20 -/* 8001A960 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_actor_mng/fopAcM_searchActorDistance__FPC10fopAc_ac_cPC10fopAc_ac_c.s b/asm/f_op/f_op_actor_mng/fopAcM_searchActorDistance__FPC10fopAc_ac_cPC10fopAc_ac_c.s deleted file mode 100644 index 4eccc78947..0000000000 --- a/asm/f_op/f_op_actor_mng/fopAcM_searchActorDistance__FPC10fopAc_ac_cPC10fopAc_ac_c.s +++ /dev/null @@ -1,87 +0,0 @@ -lbl_8001A7E0: -/* 8001A7E0 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 8001A7E4 7C 08 02 A6 */ mflr r0 -/* 8001A7E8 90 01 00 34 */ stw r0, 0x34(r1) -/* 8001A7EC 7C 65 1B 78 */ mr r5, r3 -/* 8001A7F0 38 61 00 0C */ addi r3, r1, 0xc -/* 8001A7F4 38 84 04 D0 */ addi r4, r4, 0x4d0 -/* 8001A7F8 38 A5 04 D0 */ addi r5, r5, 0x4d0 -/* 8001A7FC 48 24 C3 39 */ bl __mi__4cXyzCFRC3Vec -/* 8001A800 C0 01 00 0C */ lfs f0, 0xc(r1) -/* 8001A804 D0 01 00 18 */ stfs f0, 0x18(r1) -/* 8001A808 C0 01 00 10 */ lfs f0, 0x10(r1) -/* 8001A80C D0 01 00 1C */ stfs f0, 0x1c(r1) -/* 8001A810 C0 01 00 14 */ lfs f0, 0x14(r1) -/* 8001A814 D0 01 00 20 */ stfs f0, 0x20(r1) -/* 8001A818 38 61 00 18 */ addi r3, r1, 0x18 -/* 8001A81C 48 32 C9 1D */ bl PSVECSquareMag -/* 8001A820 C0 02 82 04 */ lfs f0, lit_4645(r2) -/* 8001A824 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 8001A828 40 81 00 58 */ ble lbl_8001A880 -/* 8001A82C FC 00 08 34 */ frsqrte f0, f1 -/* 8001A830 C8 82 82 08 */ lfd f4, lit_4745(r2) -/* 8001A834 FC 44 00 32 */ fmul f2, f4, f0 -/* 8001A838 C8 62 82 10 */ lfd f3, lit_4746(r2) -/* 8001A83C FC 00 00 32 */ fmul f0, f0, f0 -/* 8001A840 FC 01 00 32 */ fmul f0, f1, f0 -/* 8001A844 FC 03 00 28 */ fsub f0, f3, f0 -/* 8001A848 FC 02 00 32 */ fmul f0, f2, f0 -/* 8001A84C FC 44 00 32 */ fmul f2, f4, f0 -/* 8001A850 FC 00 00 32 */ fmul f0, f0, f0 -/* 8001A854 FC 01 00 32 */ fmul f0, f1, f0 -/* 8001A858 FC 03 00 28 */ fsub f0, f3, f0 -/* 8001A85C FC 02 00 32 */ fmul f0, f2, f0 -/* 8001A860 FC 44 00 32 */ fmul f2, f4, f0 -/* 8001A864 FC 00 00 32 */ fmul f0, f0, f0 -/* 8001A868 FC 01 00 32 */ fmul f0, f1, f0 -/* 8001A86C FC 03 00 28 */ fsub f0, f3, f0 -/* 8001A870 FC 02 00 32 */ fmul f0, f2, f0 -/* 8001A874 FC 21 00 32 */ fmul f1, f1, f0 -/* 8001A878 FC 20 08 18 */ frsp f1, f1 -/* 8001A87C 48 00 00 88 */ b lbl_8001A904 -lbl_8001A880: -/* 8001A880 C8 02 82 18 */ lfd f0, lit_4747(r2) -/* 8001A884 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 8001A888 40 80 00 10 */ bge lbl_8001A898 -/* 8001A88C 3C 60 80 45 */ lis r3, __float_nan@ha /* 0x80450AE0@ha */ -/* 8001A890 C0 23 0A E0 */ lfs f1, __float_nan@l(r3) /* 0x80450AE0@l */ -/* 8001A894 48 00 00 70 */ b lbl_8001A904 -lbl_8001A898: -/* 8001A898 D0 21 00 08 */ stfs f1, 8(r1) -/* 8001A89C 80 81 00 08 */ lwz r4, 8(r1) -/* 8001A8A0 54 83 00 50 */ rlwinm r3, r4, 0, 1, 8 -/* 8001A8A4 3C 00 7F 80 */ lis r0, 0x7f80 -/* 8001A8A8 7C 03 00 00 */ cmpw r3, r0 -/* 8001A8AC 41 82 00 14 */ beq lbl_8001A8C0 -/* 8001A8B0 40 80 00 40 */ bge lbl_8001A8F0 -/* 8001A8B4 2C 03 00 00 */ cmpwi r3, 0 -/* 8001A8B8 41 82 00 20 */ beq lbl_8001A8D8 -/* 8001A8BC 48 00 00 34 */ b lbl_8001A8F0 -lbl_8001A8C0: -/* 8001A8C0 54 80 02 7F */ clrlwi. r0, r4, 9 -/* 8001A8C4 41 82 00 0C */ beq lbl_8001A8D0 -/* 8001A8C8 38 00 00 01 */ li r0, 1 -/* 8001A8CC 48 00 00 28 */ b lbl_8001A8F4 -lbl_8001A8D0: -/* 8001A8D0 38 00 00 02 */ li r0, 2 -/* 8001A8D4 48 00 00 20 */ b lbl_8001A8F4 -lbl_8001A8D8: -/* 8001A8D8 54 80 02 7F */ clrlwi. r0, r4, 9 -/* 8001A8DC 41 82 00 0C */ beq lbl_8001A8E8 -/* 8001A8E0 38 00 00 05 */ li r0, 5 -/* 8001A8E4 48 00 00 10 */ b lbl_8001A8F4 -lbl_8001A8E8: -/* 8001A8E8 38 00 00 03 */ li r0, 3 -/* 8001A8EC 48 00 00 08 */ b lbl_8001A8F4 -lbl_8001A8F0: -/* 8001A8F0 38 00 00 04 */ li r0, 4 -lbl_8001A8F4: -/* 8001A8F4 2C 00 00 01 */ cmpwi r0, 1 -/* 8001A8F8 40 82 00 0C */ bne lbl_8001A904 -/* 8001A8FC 3C 60 80 45 */ lis r3, __float_nan@ha /* 0x80450AE0@ha */ -/* 8001A900 C0 23 0A E0 */ lfs f1, __float_nan@l(r3) /* 0x80450AE0@l */ -lbl_8001A904: -/* 8001A904 80 01 00 34 */ lwz r0, 0x34(r1) -/* 8001A908 7C 08 03 A6 */ mtlr r0 -/* 8001A90C 38 21 00 30 */ addi r1, r1, 0x30 -/* 8001A910 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_actor_mng/fopAcM_seenActorAngleY__FPC10fopAc_ac_cPC10fopAc_ac_c.s b/asm/f_op/f_op_actor_mng/fopAcM_seenActorAngleY__FPC10fopAc_ac_cPC10fopAc_ac_c.s deleted file mode 100644 index 515fa22907..0000000000 --- a/asm/f_op/f_op_actor_mng/fopAcM_seenActorAngleY__FPC10fopAc_ac_cPC10fopAc_ac_c.s +++ /dev/null @@ -1,18 +0,0 @@ -lbl_8001A79C: -/* 8001A79C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8001A7A0 7C 08 02 A6 */ mflr r0 -/* 8001A7A4 90 01 00 14 */ stw r0, 0x14(r1) -/* 8001A7A8 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8001A7AC 7C 7F 1B 78 */ mr r31, r3 -/* 8001A7B0 38 7F 04 D0 */ addi r3, r31, 0x4d0 -/* 8001A7B4 38 84 04 D0 */ addi r4, r4, 0x4d0 -/* 8001A7B8 48 25 64 4D */ bl cLib_targetAngleY__FPC3VecPC3Vec -/* 8001A7BC A8 1F 04 E6 */ lha r0, 0x4e6(r31) -/* 8001A7C0 7C 00 18 50 */ subf r0, r0, r3 -/* 8001A7C4 7C 03 07 34 */ extsh r3, r0 -/* 8001A7C8 48 34 A9 09 */ bl abs -/* 8001A7CC 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8001A7D0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8001A7D4 7C 08 03 A6 */ mtlr r0 -/* 8001A7D8 38 21 00 10 */ addi r1, r1, 0x10 -/* 8001A7DC 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_actor_mng/fopAcM_setCullSizeBox__FP10fopAc_ac_cffffff.s b/asm/f_op/f_op_actor_mng/fopAcM_setCullSizeBox__FP10fopAc_ac_cffffff.s deleted file mode 100644 index fb661ba60d..0000000000 --- a/asm/f_op/f_op_actor_mng/fopAcM_setCullSizeBox__FP10fopAc_ac_cffffff.s +++ /dev/null @@ -1,8 +0,0 @@ -lbl_8001A548: -/* 8001A548 D0 23 05 08 */ stfs f1, 0x508(r3) -/* 8001A54C D0 43 05 0C */ stfs f2, 0x50c(r3) -/* 8001A550 D0 63 05 10 */ stfs f3, 0x510(r3) -/* 8001A554 D0 83 05 14 */ stfs f4, 0x514(r3) -/* 8001A558 D0 A3 05 18 */ stfs f5, 0x518(r3) -/* 8001A55C D0 C3 05 1C */ stfs f6, 0x51c(r3) -/* 8001A560 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_actor_mng/fopAcM_setCullSizeSphere__FP10fopAc_ac_cffff.s b/asm/f_op/f_op_actor_mng/fopAcM_setCullSizeSphere__FP10fopAc_ac_cffff.s deleted file mode 100644 index dea9ea4808..0000000000 --- a/asm/f_op/f_op_actor_mng/fopAcM_setCullSizeSphere__FP10fopAc_ac_cffff.s +++ /dev/null @@ -1,6 +0,0 @@ -lbl_8001A564: -/* 8001A564 D0 23 05 08 */ stfs f1, 0x508(r3) -/* 8001A568 D0 43 05 0C */ stfs f2, 0x50c(r3) -/* 8001A56C D0 63 05 10 */ stfs f3, 0x510(r3) -/* 8001A570 D0 83 05 14 */ stfs f4, 0x514(r3) -/* 8001A574 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_actor_mng/get_vectle_calc__FPC4cXyzPC4cXyzP4cXyz.s b/asm/f_op/f_op_actor_mng/get_vectle_calc__FPC4cXyzPC4cXyzP4cXyz.s deleted file mode 100644 index 2b7d276d19..0000000000 --- a/asm/f_op/f_op_actor_mng/get_vectle_calc__FPC4cXyzPC4cXyzP4cXyz.s +++ /dev/null @@ -1,23 +0,0 @@ -lbl_8001D3D4: -/* 8001D3D4 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8001D3D8 7C 08 02 A6 */ mflr r0 -/* 8001D3DC 90 01 00 24 */ stw r0, 0x24(r1) -/* 8001D3E0 C0 24 00 00 */ lfs f1, 0(r4) -/* 8001D3E4 C0 03 00 00 */ lfs f0, 0(r3) -/* 8001D3E8 EC 01 00 28 */ fsubs f0, f1, f0 -/* 8001D3EC D8 01 00 08 */ stfd f0, 8(r1) -/* 8001D3F0 C0 24 00 04 */ lfs f1, 4(r4) -/* 8001D3F4 C0 03 00 04 */ lfs f0, 4(r3) -/* 8001D3F8 EC 01 00 28 */ fsubs f0, f1, f0 -/* 8001D3FC D8 01 00 10 */ stfd f0, 0x10(r1) -/* 8001D400 C0 24 00 08 */ lfs f1, 8(r4) -/* 8001D404 C0 03 00 08 */ lfs f0, 8(r3) -/* 8001D408 EC 01 00 28 */ fsubs f0, f1, f0 -/* 8001D40C D8 01 00 18 */ stfd f0, 0x18(r1) -/* 8001D410 38 61 00 08 */ addi r3, r1, 8 -/* 8001D414 7C A4 2B 78 */ mr r4, r5 -/* 8001D418 4B FF FF 15 */ bl vectle_calc__FPC10DOUBLE_POSP4cXyz -/* 8001D41C 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8001D420 7C 08 03 A6 */ mtlr r0 -/* 8001D424 38 21 00 20 */ addi r1, r1, 0x20 -/* 8001D428 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_actor_mng/vectle_calc__FPC10DOUBLE_POSP4cXyz.s b/asm/f_op/f_op_actor_mng/vectle_calc__FPC10DOUBLE_POSP4cXyz.s deleted file mode 100644 index b9891075bf..0000000000 --- a/asm/f_op/f_op_actor_mng/vectle_calc__FPC10DOUBLE_POSP4cXyz.s +++ /dev/null @@ -1,45 +0,0 @@ -lbl_8001D32C: -/* 8001D32C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8001D330 7C 08 02 A6 */ mflr r0 -/* 8001D334 90 01 00 14 */ stw r0, 0x14(r1) -/* 8001D338 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8001D33C 93 C1 00 08 */ stw r30, 8(r1) -/* 8001D340 7C 7E 1B 78 */ mr r30, r3 -/* 8001D344 7C 9F 23 78 */ mr r31, r4 -/* 8001D348 C8 03 00 10 */ lfd f0, 0x10(r3) -/* 8001D34C FC 40 00 32 */ fmul f2, f0, f0 -/* 8001D350 C8 03 00 00 */ lfd f0, 0(r3) -/* 8001D354 FC 20 00 32 */ fmul f1, f0, f0 -/* 8001D358 C8 03 00 08 */ lfd f0, 8(r3) -/* 8001D35C FC 00 00 32 */ fmul f0, f0, f0 -/* 8001D360 FC 01 00 2A */ fadd f0, f1, f0 -/* 8001D364 FC 22 00 2A */ fadd f1, f2, f0 -/* 8001D368 48 34 F6 ED */ bl sqrt -/* 8001D36C C8 02 82 18 */ lfd f0, lit_4747(r2) -/* 8001D370 FC 00 08 00 */ fcmpu cr0, f0, f1 -/* 8001D374 41 82 00 38 */ beq lbl_8001D3AC -/* 8001D378 C8 1E 00 00 */ lfd f0, 0(r30) -/* 8001D37C FC 00 08 24 */ fdiv f0, f0, f1 -/* 8001D380 FC 00 00 18 */ frsp f0, f0 -/* 8001D384 D0 1F 00 00 */ stfs f0, 0(r31) -/* 8001D388 C8 1E 00 08 */ lfd f0, 8(r30) -/* 8001D38C FC 00 08 24 */ fdiv f0, f0, f1 -/* 8001D390 FC 00 00 18 */ frsp f0, f0 -/* 8001D394 D0 1F 00 04 */ stfs f0, 4(r31) -/* 8001D398 C8 1E 00 10 */ lfd f0, 0x10(r30) -/* 8001D39C FC 00 08 24 */ fdiv f0, f0, f1 -/* 8001D3A0 FC 00 00 18 */ frsp f0, f0 -/* 8001D3A4 D0 1F 00 08 */ stfs f0, 8(r31) -/* 8001D3A8 48 00 00 14 */ b lbl_8001D3BC -lbl_8001D3AC: -/* 8001D3AC C0 02 82 04 */ lfs f0, lit_4645(r2) -/* 8001D3B0 D0 1F 00 00 */ stfs f0, 0(r31) -/* 8001D3B4 D0 1F 00 04 */ stfs f0, 4(r31) -/* 8001D3B8 D0 1F 00 08 */ stfs f0, 8(r31) -lbl_8001D3BC: -/* 8001D3BC 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8001D3C0 83 C1 00 08 */ lwz r30, 8(r1) -/* 8001D3C4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8001D3C8 7C 08 03 A6 */ mtlr r0 -/* 8001D3CC 38 21 00 10 */ addi r1, r1, 0x10 -/* 8001D3D0 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_scene_req/fopScnRq_Cancel__FP19scene_request_class.s b/asm/f_op/f_op_scene_req/fopScnRq_Cancel__FP19scene_request_class.s deleted file mode 100644 index 8ce102033d..0000000000 --- a/asm/f_op/f_op_scene_req/fopScnRq_Cancel__FP19scene_request_class.s +++ /dev/null @@ -1,19 +0,0 @@ -lbl_8001EFB0: -/* 8001EFB0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8001EFB4 7C 08 02 A6 */ mflr r0 -/* 8001EFB8 90 01 00 14 */ stw r0, 0x14(r1) -/* 8001EFBC 80 03 00 64 */ lwz r0, 0x64(r3) -/* 8001EFC0 28 00 00 00 */ cmplwi r0, 0 -/* 8001EFC4 41 82 00 18 */ beq lbl_8001EFDC -/* 8001EFC8 4B FF F6 D1 */ bl fopOvlpM_Cancel__Fv -/* 8001EFCC 2C 03 00 00 */ cmpwi r3, 0 -/* 8001EFD0 40 82 00 0C */ bne lbl_8001EFDC -/* 8001EFD4 38 60 00 00 */ li r3, 0 -/* 8001EFD8 48 00 00 08 */ b lbl_8001EFE0 -lbl_8001EFDC: -/* 8001EFDC 38 60 00 01 */ li r3, 1 -lbl_8001EFE0: -/* 8001EFE0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8001EFE4 7C 08 03 A6 */ mtlr r0 -/* 8001EFE8 38 21 00 10 */ addi r1, r1, 0x10 -/* 8001EFEC 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_scene_req/fopScnRq_Execute__FP19scene_request_class.s b/asm/f_op/f_op_scene_req/fopScnRq_Execute__FP19scene_request_class.s deleted file mode 100644 index 912c4e99c6..0000000000 --- a/asm/f_op/f_op_scene_req/fopScnRq_Execute__FP19scene_request_class.s +++ /dev/null @@ -1,21 +0,0 @@ -lbl_8001EF24: -/* 8001EF24 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8001EF28 7C 08 02 A6 */ mflr r0 -/* 8001EF2C 90 01 00 14 */ stw r0, 0x14(r1) -/* 8001EF30 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8001EF34 7C 7F 1B 78 */ mr r31, r3 -/* 8001EF38 38 7F 00 68 */ addi r3, r31, 0x68 -/* 8001EF3C 7F E4 FB 78 */ mr r4, r31 -/* 8001EF40 48 24 77 99 */ bl cPhs_Do__FP30request_of_phase_process_classPv -/* 8001EF44 2C 03 00 02 */ cmpwi r3, 2 -/* 8001EF48 41 82 00 08 */ beq lbl_8001EF50 -/* 8001EF4C 48 00 00 0C */ b lbl_8001EF58 -lbl_8001EF50: -/* 8001EF50 7F E3 FB 78 */ mr r3, r31 -/* 8001EF54 4B FF FF D1 */ bl fopScnRq_Execute__FP19scene_request_class -lbl_8001EF58: -/* 8001EF58 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8001EF5C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8001EF60 7C 08 03 A6 */ mtlr r0 -/* 8001EF64 38 21 00 10 */ addi r1, r1, 0x10 -/* 8001EF68 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_scene_req/fopScnRq_FadeRequest__FsUs.s b/asm/f_op/f_op_scene_req/fopScnRq_FadeRequest__FsUs.s deleted file mode 100644 index a4c1ebfed8..0000000000 --- a/asm/f_op/f_op_scene_req/fopScnRq_FadeRequest__FsUs.s +++ /dev/null @@ -1,19 +0,0 @@ -lbl_8001EFF0: -/* 8001EFF0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8001EFF4 7C 08 02 A6 */ mflr r0 -/* 8001EFF8 90 01 00 14 */ stw r0, 0x14(r1) -/* 8001EFFC 38 A0 00 00 */ li r5, 0 -/* 8001F000 80 0D 87 60 */ lwz r0, l_fopScnRq_IsUsingOfOverlap(r13) -/* 8001F004 2C 00 00 00 */ cmpwi r0, 0 -/* 8001F008 40 82 00 18 */ bne lbl_8001F020 -/* 8001F00C 4B FF F5 F9 */ bl fopOvlpM_Request__FsUs -/* 8001F010 7C 65 1B 79 */ or. r5, r3, r3 -/* 8001F014 41 82 00 0C */ beq lbl_8001F020 -/* 8001F018 38 00 00 01 */ li r0, 1 -/* 8001F01C 90 0D 87 60 */ stw r0, l_fopScnRq_IsUsingOfOverlap(r13) -lbl_8001F020: -/* 8001F020 7C A3 2B 78 */ mr r3, r5 -/* 8001F024 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8001F028 7C 08 03 A6 */ mtlr r0 -/* 8001F02C 38 21 00 10 */ addi r1, r1, 0x10 -/* 8001F030 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_scene_req/fopScnRq_Handler__Fv.s b/asm/f_op/f_op_scene_req/fopScnRq_Handler__Fv.s deleted file mode 100644 index 27271932cd..0000000000 --- a/asm/f_op/f_op_scene_req/fopScnRq_Handler__Fv.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_8001F11C: -/* 8001F11C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8001F120 7C 08 02 A6 */ mflr r0 -/* 8001F124 90 01 00 14 */ stw r0, 0x14(r1) -/* 8001F128 48 00 39 D5 */ bl fpcNdRq_Handler__Fv -/* 8001F12C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8001F130 7C 08 03 A6 */ mtlr r0 -/* 8001F134 38 21 00 10 */ addi r1, r1, 0x10 -/* 8001F138 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_scene_req/fopScnRq_PostMethod__FPvP19scene_request_class.s b/asm/f_op/f_op_scene_req/fopScnRq_PostMethod__FPvP19scene_request_class.s deleted file mode 100644 index ae6a084f16..0000000000 --- a/asm/f_op/f_op_scene_req/fopScnRq_PostMethod__FPvP19scene_request_class.s +++ /dev/null @@ -1,19 +0,0 @@ -lbl_8001EF6C: -/* 8001EF6C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8001EF70 7C 08 02 A6 */ mflr r0 -/* 8001EF74 90 01 00 14 */ stw r0, 0x14(r1) -/* 8001EF78 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8001EF7C 7C 7F 1B 78 */ mr r31, r3 -/* 8001EF80 80 04 00 64 */ lwz r0, 0x64(r4) -/* 8001EF84 28 00 00 00 */ cmplwi r0, 0 -/* 8001EF88 41 82 00 10 */ beq lbl_8001EF98 -/* 8001EF8C 48 00 15 BD */ bl fopScnPause_Enable__FP11scene_class -/* 8001EF90 80 7F 00 04 */ lwz r3, 4(r31) -/* 8001EF94 4B FF F5 AD */ bl fopOvlpM_ToldAboutID__FUi -lbl_8001EF98: -/* 8001EF98 38 60 00 01 */ li r3, 1 -/* 8001EF9C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8001EFA0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8001EFA4 7C 08 03 A6 */ mtlr r0 -/* 8001EFA8 38 21 00 10 */ addi r1, r1, 0x10 -/* 8001EFAC 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_scene_req/fopScnRq_ReRequest__FUisPv.s b/asm/f_op/f_op_scene_req/fopScnRq_ReRequest__FUisPv.s deleted file mode 100644 index 4a52944286..0000000000 --- a/asm/f_op/f_op_scene_req/fopScnRq_ReRequest__FUisPv.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_8001F0FC: -/* 8001F0FC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8001F100 7C 08 02 A6 */ mflr r0 -/* 8001F104 90 01 00 14 */ stw r0, 0x14(r1) -/* 8001F108 48 00 40 09 */ bl fpcNdRq_ReRequest__FUisPv -/* 8001F10C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8001F110 7C 08 03 A6 */ mtlr r0 -/* 8001F114 38 21 00 10 */ addi r1, r1, 0x10 -/* 8001F118 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_scene_req/fopScnRq_Request__FiP11scene_classsPvsUs.s b/asm/f_op/f_op_scene_req/fopScnRq_Request__FiP11scene_classsPvsUs.s deleted file mode 100644 index 189e60ede2..0000000000 --- a/asm/f_op/f_op_scene_req/fopScnRq_Request__FiP11scene_classsPvsUs.s +++ /dev/null @@ -1,54 +0,0 @@ -lbl_8001F034: -/* 8001F034 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8001F038 7C 08 02 A6 */ mflr r0 -/* 8001F03C 90 01 00 24 */ stw r0, 0x24(r1) -/* 8001F040 39 61 00 20 */ addi r11, r1, 0x20 -/* 8001F044 48 34 31 8D */ bl _savegpr_26 -/* 8001F048 7C 6B 1B 78 */ mr r11, r3 -/* 8001F04C 7C 8A 23 78 */ mr r10, r4 -/* 8001F050 7C A9 2B 78 */ mr r9, r5 -/* 8001F054 7C C0 33 78 */ mr r0, r6 -/* 8001F058 7C FA 3B 78 */ mr r26, r7 -/* 8001F05C 7D 1B 43 78 */ mr r27, r8 -/* 8001F060 3C 60 80 3A */ lis r3, submethod@ha /* 0x803A38C8@ha */ -/* 8001F064 3B E3 38 C8 */ addi r31, r3, submethod@l /* 0x803A38C8@l */ -/* 8001F068 3B C0 00 00 */ li r30, 0 -/* 8001F06C 3B BF 00 10 */ addi r29, r31, 0x10 -/* 8001F070 38 60 00 74 */ li r3, 0x74 -/* 8001F074 7D 64 5B 78 */ mr r4, r11 -/* 8001F078 7D 45 53 78 */ mr r5, r10 -/* 8001F07C 7D 26 4B 78 */ mr r6, r9 -/* 8001F080 7C 07 03 78 */ mr r7, r0 -/* 8001F084 39 1F 00 00 */ addi r8, r31, 0 -/* 8001F088 48 00 3F 61 */ bl fpcNdRq_Request__FUliP18process_node_classsPvP32node_create_request_method_class -/* 8001F08C 7C 7C 1B 79 */ or. r28, r3, r3 -/* 8001F090 40 82 00 0C */ bne lbl_8001F09C -/* 8001F094 38 60 FF FF */ li r3, -1 -/* 8001F098 48 00 00 4C */ b lbl_8001F0E4 -lbl_8001F09C: -/* 8001F09C 7F 40 07 34 */ extsh r0, r26 -/* 8001F0A0 2C 00 7F FF */ cmpwi r0, 0x7fff -/* 8001F0A4 41 82 00 2C */ beq lbl_8001F0D0 -/* 8001F0A8 3B BF 00 30 */ addi r29, r31, 0x30 -/* 8001F0AC 7F 43 D3 78 */ mr r3, r26 -/* 8001F0B0 7F 64 DB 78 */ mr r4, r27 -/* 8001F0B4 4B FF FF 3D */ bl fopScnRq_FadeRequest__FsUs -/* 8001F0B8 7C 7E 1B 79 */ or. r30, r3, r3 -/* 8001F0BC 40 82 00 14 */ bne lbl_8001F0D0 -/* 8001F0C0 7F 83 E3 78 */ mr r3, r28 -/* 8001F0C4 48 00 39 79 */ bl fpcNdRq_Delete__FP19node_create_request -/* 8001F0C8 38 60 FF FF */ li r3, -1 -/* 8001F0CC 48 00 00 18 */ b lbl_8001F0E4 -lbl_8001F0D0: -/* 8001F0D0 93 DC 00 64 */ stw r30, 0x64(r28) -/* 8001F0D4 38 7C 00 68 */ addi r3, r28, 0x68 -/* 8001F0D8 7F A4 EB 78 */ mr r4, r29 -/* 8001F0DC 48 24 75 55 */ bl cPhs_Set__FP30request_of_phase_process_classPPFPv_i -/* 8001F0E0 80 7C 00 44 */ lwz r3, 0x44(r28) -lbl_8001F0E4: -/* 8001F0E4 39 61 00 20 */ addi r11, r1, 0x20 -/* 8001F0E8 48 34 31 35 */ bl _restgpr_26 -/* 8001F0EC 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8001F0F0 7C 08 03 A6 */ mtlr r0 -/* 8001F0F4 38 21 00 20 */ addi r1, r1, 0x20 -/* 8001F0F8 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_scene_req/fopScnRq_phase_ClearOverlap__FP19scene_request_class.s b/asm/f_op/f_op_scene_req/fopScnRq_phase_ClearOverlap__FP19scene_request_class.s deleted file mode 100644 index 5877ae470f..0000000000 --- a/asm/f_op/f_op_scene_req/fopScnRq_phase_ClearOverlap__FP19scene_request_class.s +++ /dev/null @@ -1,14 +0,0 @@ -lbl_8001EE34: -/* 8001EE34 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8001EE38 7C 08 02 A6 */ mflr r0 -/* 8001EE3C 90 01 00 14 */ stw r0, 0x14(r1) -/* 8001EE40 4B FF F7 91 */ bl fopOvlpM_ClearOfReq__Fv -/* 8001EE44 2C 03 00 01 */ cmpwi r3, 1 -/* 8001EE48 38 60 00 00 */ li r3, 0 -/* 8001EE4C 40 82 00 08 */ bne lbl_8001EE54 -/* 8001EE50 38 60 00 02 */ li r3, 2 -lbl_8001EE54: -/* 8001EE54 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8001EE58 7C 08 03 A6 */ mtlr r0 -/* 8001EE5C 38 21 00 10 */ addi r1, r1, 0x10 -/* 8001EE60 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_scene_req/fopScnRq_phase_Done__FP19scene_request_class.s b/asm/f_op/f_op_scene_req/fopScnRq_phase_Done__FP19scene_request_class.s deleted file mode 100644 index 7d170ee2d3..0000000000 --- a/asm/f_op/f_op_scene_req/fopScnRq_phase_Done__FP19scene_request_class.s +++ /dev/null @@ -1,18 +0,0 @@ -lbl_8001EEE4: -/* 8001EEE4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8001EEE8 7C 08 02 A6 */ mflr r0 -/* 8001EEEC 90 01 00 14 */ stw r0, 0x14(r1) -/* 8001EEF0 80 03 00 40 */ lwz r0, 0x40(r3) -/* 8001EEF4 2C 00 00 01 */ cmpwi r0, 1 -/* 8001EEF8 41 82 00 10 */ beq lbl_8001EF08 -/* 8001EEFC 80 63 00 54 */ lwz r3, 0x54(r3) -/* 8001EF00 48 00 24 59 */ bl fpcEx_SearchByID__FUi -/* 8001EF04 48 00 16 91 */ bl fopScnPause_Disable__FP11scene_class -lbl_8001EF08: -/* 8001EF08 38 00 00 00 */ li r0, 0 -/* 8001EF0C 90 0D 87 60 */ stw r0, l_fopScnRq_IsUsingOfOverlap(r13) -/* 8001EF10 38 60 00 02 */ li r3, 2 -/* 8001EF14 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8001EF18 7C 08 03 A6 */ mtlr r0 -/* 8001EF1C 38 21 00 10 */ addi r1, r1, 0x10 -/* 8001EF20 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_scene_req/fopScnRq_phase_Execute__FP19scene_request_class.s b/asm/f_op/f_op_scene_req/fopScnRq_phase_Execute__FP19scene_request_class.s deleted file mode 100644 index 8b35d1cda0..0000000000 --- a/asm/f_op/f_op_scene_req/fopScnRq_phase_Execute__FP19scene_request_class.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_8001EE64: -/* 8001EE64 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8001EE68 7C 08 02 A6 */ mflr r0 -/* 8001EE6C 90 01 00 14 */ stw r0, 0x14(r1) -/* 8001EE70 48 00 3B 69 */ bl fpcNdRq_Execute__FP19node_create_request -/* 8001EE74 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8001EE78 7C 08 03 A6 */ mtlr r0 -/* 8001EE7C 38 21 00 10 */ addi r1, r1, 0x10 -/* 8001EE80 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_scene_req/fopScnRq_phase_IsDoingOverlap__FP19scene_request_class.s b/asm/f_op/f_op_scene_req/fopScnRq_phase_IsDoingOverlap__FP19scene_request_class.s deleted file mode 100644 index dd51995c2e..0000000000 --- a/asm/f_op/f_op_scene_req/fopScnRq_phase_IsDoingOverlap__FP19scene_request_class.s +++ /dev/null @@ -1,14 +0,0 @@ -lbl_8001EE84: -/* 8001EE84 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8001EE88 7C 08 02 A6 */ mflr r0 -/* 8001EE8C 90 01 00 14 */ stw r0, 0x14(r1) -/* 8001EE90 4B FF F7 19 */ bl fopOvlpM_IsDoingReq__Fv -/* 8001EE94 2C 03 00 01 */ cmpwi r3, 1 -/* 8001EE98 38 60 00 00 */ li r3, 0 -/* 8001EE9C 40 82 00 08 */ bne lbl_8001EEA4 -/* 8001EEA0 38 60 00 02 */ li r3, 2 -lbl_8001EEA4: -/* 8001EEA4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8001EEA8 7C 08 03 A6 */ mtlr r0 -/* 8001EEAC 38 21 00 10 */ addi r1, r1, 0x10 -/* 8001EEB0 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_scene_req/fopScnRq_phase_IsDoneOverlap__FP19scene_request_class.s b/asm/f_op/f_op_scene_req/fopScnRq_phase_IsDoneOverlap__FP19scene_request_class.s deleted file mode 100644 index c68ffef815..0000000000 --- a/asm/f_op/f_op_scene_req/fopScnRq_phase_IsDoneOverlap__FP19scene_request_class.s +++ /dev/null @@ -1,14 +0,0 @@ -lbl_8001EEB4: -/* 8001EEB4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8001EEB8 7C 08 02 A6 */ mflr r0 -/* 8001EEBC 90 01 00 14 */ stw r0, 0x14(r1) -/* 8001EEC0 4B FF F6 B5 */ bl fopOvlpM_IsDone__Fv -/* 8001EEC4 2C 03 00 01 */ cmpwi r3, 1 -/* 8001EEC8 38 60 00 00 */ li r3, 0 -/* 8001EECC 40 82 00 08 */ bne lbl_8001EED4 -/* 8001EED0 38 60 00 02 */ li r3, 2 -lbl_8001EED4: -/* 8001EED4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8001EED8 7C 08 03 A6 */ mtlr r0 -/* 8001EEDC 38 21 00 10 */ addi r1, r1, 0x10 -/* 8001EEE0 4E 80 00 20 */ blr diff --git a/asm/m_Do/m_Do_ext/mDoExt_adjustSolidHeapToSystem__FP12JKRSolidHeap.s b/asm/m_Do/m_Do_ext/mDoExt_adjustSolidHeapToSystem__FP12JKRSolidHeap.s deleted file mode 100644 index 5f45af04f3..0000000000 --- a/asm/m_Do/m_Do_ext/mDoExt_adjustSolidHeapToSystem__FP12JKRSolidHeap.s +++ /dev/null @@ -1,14 +0,0 @@ -lbl_8000F158: -/* 8000F158 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8000F15C 7C 08 02 A6 */ mflr r0 -/* 8000F160 90 01 00 14 */ stw r0, 0x14(r1) -/* 8000F164 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8000F168 4B FF FF 25 */ bl mDoExt_adjustSolidHeap__FP12JKRSolidHeap -/* 8000F16C 7C 7F 1B 78 */ mr r31, r3 -/* 8000F170 48 00 00 85 */ bl mDoExt_restoreCurrentHeap__Fv -/* 8000F174 7F E3 FB 78 */ mr r3, r31 -/* 8000F178 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8000F17C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8000F180 7C 08 03 A6 */ mtlr r0 -/* 8000F184 38 21 00 10 */ addi r1, r1, 0x10 -/* 8000F188 4E 80 00 20 */ blr diff --git a/asm/m_Do/m_Do_ext/mDoExt_adjustSolidHeap__FP12JKRSolidHeap.s b/asm/m_Do/m_Do_ext/mDoExt_adjustSolidHeap__FP12JKRSolidHeap.s deleted file mode 100644 index 0c8171b6f3..0000000000 --- a/asm/m_Do/m_Do_ext/mDoExt_adjustSolidHeap__FP12JKRSolidHeap.s +++ /dev/null @@ -1,57 +0,0 @@ -lbl_8000F08C: -/* 8000F08C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8000F090 7C 08 02 A6 */ mflr r0 -/* 8000F094 90 01 00 14 */ stw r0, 0x14(r1) -/* 8000F098 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8000F09C 93 C1 00 08 */ stw r30, 8(r1) -/* 8000F0A0 7C 7E 1B 79 */ or. r30, r3, r3 -/* 8000F0A4 40 82 00 0C */ bne lbl_8000F0B0 -/* 8000F0A8 38 60 FF FF */ li r3, -1 -/* 8000F0AC 48 00 00 94 */ b lbl_8000F140 -lbl_8000F0B0: -/* 8000F0B0 80 7E 00 50 */ lwz r3, 0x50(r30) -/* 8000F0B4 83 E3 00 0C */ lwz r31, 0xc(r3) -/* 8000F0B8 28 1F 00 00 */ cmplwi r31, 0 -/* 8000F0BC 41 82 00 24 */ beq lbl_8000F0E0 -/* 8000F0C0 7F E3 FB 78 */ mr r3, r31 -/* 8000F0C4 81 9F 00 00 */ lwz r12, 0(r31) -/* 8000F0C8 81 8C 00 10 */ lwz r12, 0x10(r12) -/* 8000F0CC 7D 89 03 A6 */ mtctr r12 -/* 8000F0D0 4E 80 04 21 */ bctrl -/* 8000F0D4 3C 03 BA A8 */ addis r0, r3, 0xbaa8 -/* 8000F0D8 28 00 50 48 */ cmplwi r0, 0x5048 -/* 8000F0DC 41 82 00 28 */ beq lbl_8000F104 -lbl_8000F0E0: -/* 8000F0E0 3C 60 80 37 */ lis r3, m_Do_m_Do_ext__stringBase0@ha /* 0x803740FC@ha */ -/* 8000F0E4 38 63 40 FC */ addi r3, r3, m_Do_m_Do_ext__stringBase0@l /* 0x803740FC@l */ -/* 8000F0E8 38 63 00 23 */ addi r3, r3, 0x23 -/* 8000F0EC 7F C4 F3 78 */ mr r4, r30 -/* 8000F0F0 7F E5 FB 78 */ mr r5, r31 -/* 8000F0F4 4C C6 31 82 */ crclr 6 -/* 8000F0F8 4B FF 7B 15 */ bl OSReport_Error -/* 8000F0FC 38 60 FF FF */ li r3, -1 -/* 8000F100 48 00 00 40 */ b lbl_8000F140 -lbl_8000F104: -/* 8000F104 7F C3 F3 78 */ mr r3, r30 -/* 8000F108 48 2C 1A ED */ bl adjustSize__12JKRSolidHeapFv -/* 8000F10C 2C 03 00 00 */ cmpwi r3, 0 -/* 8000F110 40 80 00 24 */ bge lbl_8000F134 -/* 8000F114 3C 60 80 37 */ lis r3, m_Do_m_Do_ext__stringBase0@ha /* 0x803740FC@ha */ -/* 8000F118 38 63 40 FC */ addi r3, r3, m_Do_m_Do_ext__stringBase0@l /* 0x803740FC@l */ -/* 8000F11C 38 63 00 5A */ addi r3, r3, 0x5a -/* 8000F120 7F C4 F3 78 */ mr r4, r30 -/* 8000F124 4C C6 31 82 */ crclr 6 -/* 8000F128 4B FF 7A E5 */ bl OSReport_Error -/* 8000F12C 38 60 FF FF */ li r3, -1 -/* 8000F130 48 00 00 10 */ b lbl_8000F140 -lbl_8000F134: -/* 8000F134 28 03 00 80 */ cmplwi r3, 0x80 -/* 8000F138 41 80 00 08 */ blt lbl_8000F140 -/* 8000F13C 38 63 FF 80 */ addi r3, r3, -128 -lbl_8000F140: -/* 8000F140 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8000F144 83 C1 00 08 */ lwz r30, 8(r1) -/* 8000F148 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8000F14C 7C 08 03 A6 */ mtlr r0 -/* 8000F150 38 21 00 10 */ addi r1, r1, 0x10 -/* 8000F154 4E 80 00 20 */ blr diff --git a/asm/m_Do/m_Do_ext/mDoExt_createArchiveHeap__FUlP7JKRHeap.s b/asm/m_Do/m_Do_ext/mDoExt_createArchiveHeap__FUlP7JKRHeap.s deleted file mode 100644 index 950f80f00c..0000000000 --- a/asm/m_Do/m_Do_ext/mDoExt_createArchiveHeap__FUlP7JKRHeap.s +++ /dev/null @@ -1,14 +0,0 @@ -lbl_8000EDB8: -/* 8000EDB8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8000EDBC 7C 08 02 A6 */ mflr r0 -/* 8000EDC0 90 01 00 14 */ stw r0, 0x14(r1) -/* 8000EDC4 38 A0 00 01 */ li r5, 1 -/* 8000EDC8 48 2C 00 65 */ bl create__10JKRExpHeapFUlP7JKRHeapb -/* 8000EDCC 90 6D 86 B4 */ stw r3, archiveHeap(r13) -/* 8000EDD0 38 00 00 01 */ li r0, 1 -/* 8000EDD4 98 03 00 6C */ stb r0, 0x6c(r3) -/* 8000EDD8 80 6D 86 B4 */ lwz r3, archiveHeap(r13) -/* 8000EDDC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8000EDE0 7C 08 03 A6 */ mtlr r0 -/* 8000EDE4 38 21 00 10 */ addi r1, r1, 0x10 -/* 8000EDE8 4E 80 00 20 */ blr diff --git a/asm/m_Do/m_Do_ext/mDoExt_createAssertHeap__FP7JKRHeap.s b/asm/m_Do/m_Do_ext/mDoExt_createAssertHeap__FP7JKRHeap.s deleted file mode 100644 index c8bc688963..0000000000 --- a/asm/m_Do/m_Do_ext/mDoExt_createAssertHeap__FP7JKRHeap.s +++ /dev/null @@ -1,10 +0,0 @@ -lbl_8000ECC0: -/* 8000ECC0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8000ECC4 7C 08 02 A6 */ mflr r0 -/* 8000ECC8 90 01 00 14 */ stw r0, 0x14(r1) -/* 8000ECCC 48 2C 26 9D */ bl create__13JKRAssertHeapFP7JKRHeap -/* 8000ECD0 90 6D 86 A0 */ stw r3, AssertHeap(r13) -/* 8000ECD4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8000ECD8 7C 08 03 A6 */ mtlr r0 -/* 8000ECDC 38 21 00 10 */ addi r1, r1, 0x10 -/* 8000ECE0 4E 80 00 20 */ blr diff --git a/asm/m_Do/m_Do_ext/mDoExt_createCommandHeap__FUlP7JKRHeap.s b/asm/m_Do/m_Do_ext/mDoExt_createCommandHeap__FUlP7JKRHeap.s deleted file mode 100644 index b8a8ddd39b..0000000000 --- a/asm/m_Do/m_Do_ext/mDoExt_createCommandHeap__FUlP7JKRHeap.s +++ /dev/null @@ -1,11 +0,0 @@ -lbl_8000ED88: -/* 8000ED88 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8000ED8C 7C 08 02 A6 */ mflr r0 -/* 8000ED90 90 01 00 14 */ stw r0, 0x14(r1) -/* 8000ED94 38 A0 00 01 */ li r5, 1 -/* 8000ED98 48 2C 00 95 */ bl create__10JKRExpHeapFUlP7JKRHeapb -/* 8000ED9C 90 6D 86 B0 */ stw r3, commandHeap(r13) -/* 8000EDA0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8000EDA4 7C 08 03 A6 */ mtlr r0 -/* 8000EDA8 38 21 00 10 */ addi r1, r1, 0x10 -/* 8000EDAC 4E 80 00 20 */ blr diff --git a/asm/m_Do/m_Do_ext/mDoExt_createDbPrintHeap__FUlP7JKRHeap.s b/asm/m_Do/m_Do_ext/mDoExt_createDbPrintHeap__FUlP7JKRHeap.s deleted file mode 100644 index a1530aeec2..0000000000 --- a/asm/m_Do/m_Do_ext/mDoExt_createDbPrintHeap__FUlP7JKRHeap.s +++ /dev/null @@ -1,11 +0,0 @@ -lbl_8000ECEC: -/* 8000ECEC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8000ECF0 7C 08 02 A6 */ mflr r0 -/* 8000ECF4 90 01 00 14 */ stw r0, 0x14(r1) -/* 8000ECF8 38 A0 00 01 */ li r5, 1 -/* 8000ECFC 48 2C 01 31 */ bl create__10JKRExpHeapFUlP7JKRHeapb -/* 8000ED00 90 6D 86 A4 */ stw r3, DbPrintHeap(r13) -/* 8000ED04 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8000ED08 7C 08 03 A6 */ mtlr r0 -/* 8000ED0C 38 21 00 10 */ addi r1, r1, 0x10 -/* 8000ED10 4E 80 00 20 */ blr diff --git a/asm/m_Do/m_Do_ext/mDoExt_createGameHeap__FUlP7JKRHeap.s b/asm/m_Do/m_Do_ext/mDoExt_createGameHeap__FUlP7JKRHeap.s deleted file mode 100644 index ed332b3a92..0000000000 --- a/asm/m_Do/m_Do_ext/mDoExt_createGameHeap__FUlP7JKRHeap.s +++ /dev/null @@ -1,14 +0,0 @@ -lbl_8000ED1C: -/* 8000ED1C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8000ED20 7C 08 02 A6 */ mflr r0 -/* 8000ED24 90 01 00 14 */ stw r0, 0x14(r1) -/* 8000ED28 38 A0 00 01 */ li r5, 1 -/* 8000ED2C 48 2C 01 01 */ bl create__10JKRExpHeapFUlP7JKRHeapb -/* 8000ED30 90 6D 86 A8 */ stw r3, gameHeap(r13) -/* 8000ED34 38 00 00 01 */ li r0, 1 -/* 8000ED38 98 03 00 6C */ stb r0, 0x6c(r3) -/* 8000ED3C 80 6D 86 A8 */ lwz r3, gameHeap(r13) -/* 8000ED40 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8000ED44 7C 08 03 A6 */ mtlr r0 -/* 8000ED48 38 21 00 10 */ addi r1, r1, 0x10 -/* 8000ED4C 4E 80 00 20 */ blr diff --git a/asm/m_Do/m_Do_ext/mDoExt_createJ2dHeap__FUlP7JKRHeap.s b/asm/m_Do/m_Do_ext/mDoExt_createJ2dHeap__FUlP7JKRHeap.s deleted file mode 100644 index eac4c91bb8..0000000000 --- a/asm/m_Do/m_Do_ext/mDoExt_createJ2dHeap__FUlP7JKRHeap.s +++ /dev/null @@ -1,14 +0,0 @@ -lbl_8000EDFC: -/* 8000EDFC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8000EE00 7C 08 02 A6 */ mflr r0 -/* 8000EE04 90 01 00 14 */ stw r0, 0x14(r1) -/* 8000EE08 38 A0 00 01 */ li r5, 1 -/* 8000EE0C 48 2C 00 21 */ bl create__10JKRExpHeapFUlP7JKRHeapb -/* 8000EE10 90 6D 86 B8 */ stw r3, j2dHeap(r13) -/* 8000EE14 38 00 00 01 */ li r0, 1 -/* 8000EE18 98 03 00 6C */ stb r0, 0x6c(r3) -/* 8000EE1C 80 6D 86 B8 */ lwz r3, j2dHeap(r13) -/* 8000EE20 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8000EE24 7C 08 03 A6 */ mtlr r0 -/* 8000EE28 38 21 00 10 */ addi r1, r1, 0x10 -/* 8000EE2C 4E 80 00 20 */ blr diff --git a/asm/m_Do/m_Do_ext/mDoExt_createSolidHeapFromGameToCurrent__FPP7JKRHeapUlUl.s b/asm/m_Do/m_Do_ext/mDoExt_createSolidHeapFromGameToCurrent__FPP7JKRHeapUlUl.s deleted file mode 100644 index 0947dc7118..0000000000 --- a/asm/m_Do/m_Do_ext/mDoExt_createSolidHeapFromGameToCurrent__FPP7JKRHeapUlUl.s +++ /dev/null @@ -1,21 +0,0 @@ -lbl_8000EFF4: -/* 8000EFF4 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8000EFF8 7C 08 02 A6 */ mflr r0 -/* 8000EFFC 90 01 00 24 */ stw r0, 0x24(r1) -/* 8000F000 39 61 00 20 */ addi r11, r1, 0x20 -/* 8000F004 48 35 31 D9 */ bl _savegpr_29 -/* 8000F008 7C 7D 1B 78 */ mr r29, r3 -/* 8000F00C 7C 9E 23 78 */ mr r30, r4 -/* 8000F010 7C BF 2B 78 */ mr r31, r5 -/* 8000F014 4B FF FD 3D */ bl mDoExt_getGameHeap__Fv -/* 8000F018 7C 65 1B 78 */ mr r5, r3 -/* 8000F01C 7F A3 EB 78 */ mr r3, r29 -/* 8000F020 7F C4 F3 78 */ mr r4, r30 -/* 8000F024 7F E6 FB 78 */ mr r6, r31 -/* 8000F028 4B FF FF 41 */ bl mDoExt_createSolidHeapToCurrent__FPP7JKRHeapUlP7JKRHeapUl -/* 8000F02C 39 61 00 20 */ addi r11, r1, 0x20 -/* 8000F030 48 35 31 F9 */ bl _restgpr_29 -/* 8000F034 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8000F038 7C 08 03 A6 */ mtlr r0 -/* 8000F03C 38 21 00 20 */ addi r1, r1, 0x20 -/* 8000F040 4E 80 00 20 */ blr diff --git a/asm/m_Do/m_Do_ext/mDoExt_createSolidHeapFromGameToCurrent__FUlUl.s b/asm/m_Do/m_Do_ext/mDoExt_createSolidHeapFromGameToCurrent__FUlUl.s deleted file mode 100644 index 50119820fb..0000000000 --- a/asm/m_Do/m_Do_ext/mDoExt_createSolidHeapFromGameToCurrent__FUlUl.s +++ /dev/null @@ -1,19 +0,0 @@ -lbl_8000F044: -/* 8000F044 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8000F048 7C 08 02 A6 */ mflr r0 -/* 8000F04C 90 01 00 14 */ stw r0, 0x14(r1) -/* 8000F050 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8000F054 93 C1 00 08 */ stw r30, 8(r1) -/* 8000F058 7C 7E 1B 78 */ mr r30, r3 -/* 8000F05C 7C 9F 23 78 */ mr r31, r4 -/* 8000F060 4B FF FC F1 */ bl mDoExt_getGameHeap__Fv -/* 8000F064 7C 64 1B 78 */ mr r4, r3 -/* 8000F068 7F C3 F3 78 */ mr r3, r30 -/* 8000F06C 7F E5 FB 78 */ mr r5, r31 -/* 8000F070 4B FF FF 4D */ bl mDoExt_createSolidHeapToCurrent__FUlP7JKRHeapUl -/* 8000F074 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8000F078 83 C1 00 08 */ lwz r30, 8(r1) -/* 8000F07C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8000F080 7C 08 03 A6 */ mtlr r0 -/* 8000F084 38 21 00 10 */ addi r1, r1, 0x10 -/* 8000F088 4E 80 00 20 */ blr diff --git a/asm/m_Do/m_Do_ext/mDoExt_createSolidHeapFromGame__FUlUl.s b/asm/m_Do/m_Do_ext/mDoExt_createSolidHeapFromGame__FUlUl.s deleted file mode 100644 index 7097c6b7f1..0000000000 --- a/asm/m_Do/m_Do_ext/mDoExt_createSolidHeapFromGame__FUlUl.s +++ /dev/null @@ -1,19 +0,0 @@ -lbl_8000EED8: -/* 8000EED8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8000EEDC 7C 08 02 A6 */ mflr r0 -/* 8000EEE0 90 01 00 14 */ stw r0, 0x14(r1) -/* 8000EEE4 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8000EEE8 93 C1 00 08 */ stw r30, 8(r1) -/* 8000EEEC 7C 7E 1B 78 */ mr r30, r3 -/* 8000EEF0 7C 9F 23 78 */ mr r31, r4 -/* 8000EEF4 4B FF FE 5D */ bl mDoExt_getGameHeap__Fv -/* 8000EEF8 7C 64 1B 78 */ mr r4, r3 -/* 8000EEFC 7F C3 F3 78 */ mr r3, r30 -/* 8000EF00 7F E5 FB 78 */ mr r5, r31 -/* 8000EF04 4B FF FF 3D */ bl mDoExt_createSolidHeap__FUlP7JKRHeapUl -/* 8000EF08 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8000EF0C 83 C1 00 08 */ lwz r30, 8(r1) -/* 8000EF10 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8000EF14 7C 08 03 A6 */ mtlr r0 -/* 8000EF18 38 21 00 10 */ addi r1, r1, 0x10 -/* 8000EF1C 4E 80 00 20 */ blr diff --git a/asm/m_Do/m_Do_ext/mDoExt_createSolidHeapFromSystem__FUlUl.s b/asm/m_Do/m_Do_ext/mDoExt_createSolidHeapFromSystem__FUlUl.s deleted file mode 100644 index 7f1bb353e2..0000000000 --- a/asm/m_Do/m_Do_ext/mDoExt_createSolidHeapFromSystem__FUlUl.s +++ /dev/null @@ -1,19 +0,0 @@ -lbl_8000EF20: -/* 8000EF20 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8000EF24 7C 08 02 A6 */ mflr r0 -/* 8000EF28 90 01 00 14 */ stw r0, 0x14(r1) -/* 8000EF2C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8000EF30 93 C1 00 08 */ stw r30, 8(r1) -/* 8000EF34 7C 7E 1B 78 */ mr r30, r3 -/* 8000EF38 7C 9F 23 78 */ mr r31, r4 -/* 8000EF3C 4B FF FE 45 */ bl mDoExt_getZeldaHeap__Fv -/* 8000EF40 7C 64 1B 78 */ mr r4, r3 -/* 8000EF44 7F C3 F3 78 */ mr r3, r30 -/* 8000EF48 7F E5 FB 78 */ mr r5, r31 -/* 8000EF4C 4B FF FE F5 */ bl mDoExt_createSolidHeap__FUlP7JKRHeapUl -/* 8000EF50 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8000EF54 83 C1 00 08 */ lwz r30, 8(r1) -/* 8000EF58 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8000EF5C 7C 08 03 A6 */ mtlr r0 -/* 8000EF60 38 21 00 10 */ addi r1, r1, 0x10 -/* 8000EF64 4E 80 00 20 */ blr diff --git a/asm/m_Do/m_Do_ext/mDoExt_createSolidHeapToCurrent__FPP7JKRHeapUlP7JKRHeapUl.s b/asm/m_Do/m_Do_ext/mDoExt_createSolidHeapToCurrent__FPP7JKRHeapUlP7JKRHeapUl.s deleted file mode 100644 index 9819eb35fb..0000000000 --- a/asm/m_Do/m_Do_ext/mDoExt_createSolidHeapToCurrent__FPP7JKRHeapUlP7JKRHeapUl.s +++ /dev/null @@ -1,24 +0,0 @@ -lbl_8000EF68: -/* 8000EF68 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8000EF6C 7C 08 02 A6 */ mflr r0 -/* 8000EF70 90 01 00 14 */ stw r0, 0x14(r1) -/* 8000EF74 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8000EF78 28 03 00 00 */ cmplwi r3, 0 -/* 8000EF7C 41 82 00 0C */ beq lbl_8000EF88 -/* 8000EF80 80 0D 8D F4 */ lwz r0, sCurrentHeap__7JKRHeap(r13) -/* 8000EF84 90 03 00 00 */ stw r0, 0(r3) -lbl_8000EF88: -/* 8000EF88 7C 83 23 78 */ mr r3, r4 -/* 8000EF8C 7C A4 2B 78 */ mr r4, r5 -/* 8000EF90 7C C5 33 78 */ mr r5, r6 -/* 8000EF94 4B FF FE AD */ bl mDoExt_createSolidHeap__FUlP7JKRHeapUl -/* 8000EF98 7C 7F 1B 79 */ or. r31, r3, r3 -/* 8000EF9C 41 82 00 08 */ beq lbl_8000EFA4 -/* 8000EFA0 48 00 02 2D */ bl mDoExt_setCurrentHeap__FP7JKRHeap -lbl_8000EFA4: -/* 8000EFA4 7F E3 FB 78 */ mr r3, r31 -/* 8000EFA8 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8000EFAC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8000EFB0 7C 08 03 A6 */ mtlr r0 -/* 8000EFB4 38 21 00 10 */ addi r1, r1, 0x10 -/* 8000EFB8 4E 80 00 20 */ blr diff --git a/asm/m_Do/m_Do_ext/mDoExt_createSolidHeapToCurrent__FUlP7JKRHeapUl.s b/asm/m_Do/m_Do_ext/mDoExt_createSolidHeapToCurrent__FUlP7JKRHeapUl.s deleted file mode 100644 index 4690f29605..0000000000 --- a/asm/m_Do/m_Do_ext/mDoExt_createSolidHeapToCurrent__FUlP7JKRHeapUl.s +++ /dev/null @@ -1,15 +0,0 @@ -lbl_8000EFBC: -/* 8000EFBC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8000EFC0 7C 08 02 A6 */ mflr r0 -/* 8000EFC4 90 01 00 14 */ stw r0, 0x14(r1) -/* 8000EFC8 7C 67 1B 78 */ mr r7, r3 -/* 8000EFCC 7C 80 23 78 */ mr r0, r4 -/* 8000EFD0 7C A6 2B 78 */ mr r6, r5 -/* 8000EFD4 38 6D 86 C0 */ la r3, mDoExt_SaveCurrentHeap(r13) /* 80450C40-_SDA_BASE_ */ -/* 8000EFD8 7C E4 3B 78 */ mr r4, r7 -/* 8000EFDC 7C 05 03 78 */ mr r5, r0 -/* 8000EFE0 4B FF FF 89 */ bl mDoExt_createSolidHeapToCurrent__FPP7JKRHeapUlP7JKRHeapUl -/* 8000EFE4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8000EFE8 7C 08 03 A6 */ mtlr r0 -/* 8000EFEC 38 21 00 10 */ addi r1, r1, 0x10 -/* 8000EFF0 4E 80 00 20 */ blr diff --git a/asm/m_Do/m_Do_ext/mDoExt_createSolidHeap__FUlP7JKRHeapUl.s b/asm/m_Do/m_Do_ext/mDoExt_createSolidHeap__FUlP7JKRHeapUl.s deleted file mode 100644 index 1df3782f04..0000000000 --- a/asm/m_Do/m_Do_ext/mDoExt_createSolidHeap__FUlP7JKRHeapUl.s +++ /dev/null @@ -1,45 +0,0 @@ -lbl_8000EE40: -/* 8000EE40 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8000EE44 7C 08 02 A6 */ mflr r0 -/* 8000EE48 90 01 00 14 */ stw r0, 0x14(r1) -/* 8000EE4C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8000EE50 28 04 00 00 */ cmplwi r4, 0 -/* 8000EE54 40 82 00 08 */ bne lbl_8000EE5C -/* 8000EE58 80 8D 8D F4 */ lwz r4, sCurrentHeap__7JKRHeap(r13) -lbl_8000EE5C: -/* 8000EE5C 28 03 00 00 */ cmplwi r3, 0 -/* 8000EE60 41 82 00 10 */ beq lbl_8000EE70 -/* 8000EE64 3C 03 00 01 */ addis r0, r3, 1 -/* 8000EE68 28 00 FF FF */ cmplwi r0, 0xffff -/* 8000EE6C 40 82 00 18 */ bne lbl_8000EE84 -lbl_8000EE70: -/* 8000EE70 38 60 FF FF */ li r3, -1 -/* 8000EE74 38 A0 00 00 */ li r5, 0 -/* 8000EE78 48 2C 1B AD */ bl create__12JKRSolidHeapFUlP7JKRHeapb -/* 8000EE7C 7C 7F 1B 78 */ mr r31, r3 -/* 8000EE80 48 00 00 2C */ b lbl_8000EEAC -lbl_8000EE84: -/* 8000EE84 38 03 00 0F */ addi r0, r3, 0xf -/* 8000EE88 54 03 00 36 */ rlwinm r3, r0, 0, 0, 0x1b -/* 8000EE8C 28 05 00 10 */ cmplwi r5, 0x10 -/* 8000EE90 38 63 00 80 */ addi r3, r3, 0x80 -/* 8000EE94 40 81 00 0C */ ble lbl_8000EEA0 -/* 8000EE98 7C 65 1A 14 */ add r3, r5, r3 -/* 8000EE9C 38 63 FF F0 */ addi r3, r3, -16 -lbl_8000EEA0: -/* 8000EEA0 38 A0 00 00 */ li r5, 0 -/* 8000EEA4 48 2C 1B 81 */ bl create__12JKRSolidHeapFUlP7JKRHeapb -/* 8000EEA8 7C 7F 1B 78 */ mr r31, r3 -lbl_8000EEAC: -/* 8000EEAC 28 1F 00 00 */ cmplwi r31, 0 -/* 8000EEB0 41 82 00 10 */ beq lbl_8000EEC0 -/* 8000EEB4 7F E3 FB 78 */ mr r3, r31 -/* 8000EEB8 38 80 00 01 */ li r4, 1 -/* 8000EEBC 48 2B FC BD */ bl setErrorFlag__7JKRHeapFb -lbl_8000EEC0: -/* 8000EEC0 7F E3 FB 78 */ mr r3, r31 -/* 8000EEC4 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8000EEC8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8000EECC 7C 08 03 A6 */ mtlr r0 -/* 8000EED0 38 21 00 10 */ addi r1, r1, 0x10 -/* 8000EED4 4E 80 00 20 */ blr diff --git a/asm/m_Do/m_Do_ext/mDoExt_createZeldaHeap__FUlP7JKRHeap.s b/asm/m_Do/m_Do_ext/mDoExt_createZeldaHeap__FUlP7JKRHeap.s deleted file mode 100644 index 4b0c3d5df1..0000000000 --- a/asm/m_Do/m_Do_ext/mDoExt_createZeldaHeap__FUlP7JKRHeap.s +++ /dev/null @@ -1,11 +0,0 @@ -lbl_8000ED58: -/* 8000ED58 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8000ED5C 7C 08 02 A6 */ mflr r0 -/* 8000ED60 90 01 00 14 */ stw r0, 0x14(r1) -/* 8000ED64 38 A0 00 01 */ li r5, 1 -/* 8000ED68 48 2C 00 C5 */ bl create__10JKRExpHeapFUlP7JKRHeapb -/* 8000ED6C 90 6D 86 AC */ stw r3, zeldaHeap(r13) -/* 8000ED70 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8000ED74 7C 08 03 A6 */ mtlr r0 -/* 8000ED78 38 21 00 10 */ addi r1, r1, 0x10 -/* 8000ED7C 4E 80 00 20 */ blr diff --git a/asm/m_Do/m_Do_ext/mDoExt_destroyExpHeap__FP10JKRExpHeap.s b/asm/m_Do/m_Do_ext/mDoExt_destroyExpHeap__FP10JKRExpHeap.s deleted file mode 100644 index 07b84e7f78..0000000000 --- a/asm/m_Do/m_Do_ext/mDoExt_destroyExpHeap__FP10JKRExpHeap.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_8000F1AC: -/* 8000F1AC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8000F1B0 7C 08 02 A6 */ mflr r0 -/* 8000F1B4 90 01 00 14 */ stw r0, 0x14(r1) -/* 8000F1B8 48 2B F2 91 */ bl destroy__7JKRHeapFv -/* 8000F1BC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8000F1C0 7C 08 03 A6 */ mtlr r0 -/* 8000F1C4 38 21 00 10 */ addi r1, r1, 0x10 -/* 8000F1C8 4E 80 00 20 */ blr diff --git a/asm/m_Do/m_Do_ext/mDoExt_destroySolidHeap__FP12JKRSolidHeap.s b/asm/m_Do/m_Do_ext/mDoExt_destroySolidHeap__FP12JKRSolidHeap.s deleted file mode 100644 index 6b3d29b907..0000000000 --- a/asm/m_Do/m_Do_ext/mDoExt_destroySolidHeap__FP12JKRSolidHeap.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_8000F18C: -/* 8000F18C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8000F190 7C 08 02 A6 */ mflr r0 -/* 8000F194 90 01 00 14 */ stw r0, 0x14(r1) -/* 8000F198 48 2B F2 B1 */ bl destroy__7JKRHeapFv -/* 8000F19C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8000F1A0 7C 08 03 A6 */ mtlr r0 -/* 8000F1A4 38 21 00 10 */ addi r1, r1, 0x10 -/* 8000F1A8 4E 80 00 20 */ blr diff --git a/asm/m_Do/m_Do_ext/mDoExt_restoreCurrentHeap__Fv.s b/asm/m_Do/m_Do_ext/mDoExt_restoreCurrentHeap__Fv.s deleted file mode 100644 index c66b80de56..0000000000 --- a/asm/m_Do/m_Do_ext/mDoExt_restoreCurrentHeap__Fv.s +++ /dev/null @@ -1,12 +0,0 @@ -lbl_8000F1F4: -/* 8000F1F4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8000F1F8 7C 08 02 A6 */ mflr r0 -/* 8000F1FC 90 01 00 14 */ stw r0, 0x14(r1) -/* 8000F200 80 6D 86 C0 */ lwz r3, mDoExt_SaveCurrentHeap(r13) -/* 8000F204 48 2B F2 35 */ bl becomeCurrentHeap__7JKRHeapFv -/* 8000F208 38 00 00 00 */ li r0, 0 -/* 8000F20C 90 0D 86 C0 */ stw r0, mDoExt_SaveCurrentHeap(r13) -/* 8000F210 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8000F214 7C 08 03 A6 */ mtlr r0 -/* 8000F218 38 21 00 10 */ addi r1, r1, 0x10 -/* 8000F21C 4E 80 00 20 */ blr diff --git a/asm/m_Do/m_Do_ext/mDoExt_setCurrentHeap__FP7JKRHeap.s b/asm/m_Do/m_Do_ext/mDoExt_setCurrentHeap__FP7JKRHeap.s deleted file mode 100644 index b5fcb56c8c..0000000000 --- a/asm/m_Do/m_Do_ext/mDoExt_setCurrentHeap__FP7JKRHeap.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_8000F1CC: -/* 8000F1CC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8000F1D0 7C 08 02 A6 */ mflr r0 -/* 8000F1D4 90 01 00 14 */ stw r0, 0x14(r1) -/* 8000F1D8 48 2B F2 61 */ bl becomeCurrentHeap__7JKRHeapFv -/* 8000F1DC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8000F1E0 7C 08 03 A6 */ mtlr r0 -/* 8000F1E4 38 21 00 10 */ addi r1, r1, 0x10 -/* 8000F1E8 4E 80 00 20 */ blr diff --git a/asm/m_Do/m_Do_lib/__dt__11J3DUClipperFv.s b/asm/m_Do/m_Do_lib/__dt__11J3DUClipperFv.s deleted file mode 100644 index 6ecd5f6f3c..0000000000 --- a/asm/m_Do/m_Do_lib/__dt__11J3DUClipperFv.s +++ /dev/null @@ -1,20 +0,0 @@ -lbl_80015590: -/* 80015590 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80015594 7C 08 02 A6 */ mflr r0 -/* 80015598 90 01 00 14 */ stw r0, 0x14(r1) -/* 8001559C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800155A0 7C 7F 1B 79 */ or. r31, r3, r3 -/* 800155A4 41 82 00 1C */ beq lbl_800155C0 -/* 800155A8 3C A0 80 3A */ lis r5, __vt__11J3DUClipper@ha /* 0x803A3498@ha */ -/* 800155AC 38 05 34 98 */ addi r0, r5, __vt__11J3DUClipper@l /* 0x803A3498@l */ -/* 800155B0 90 1F 00 00 */ stw r0, 0(r31) -/* 800155B4 7C 80 07 35 */ extsh. r0, r4 -/* 800155B8 40 81 00 08 */ ble lbl_800155C0 -/* 800155BC 48 2B 97 81 */ bl __dl__FPv -lbl_800155C0: -/* 800155C0 7F E3 FB 78 */ mr r3, r31 -/* 800155C4 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800155C8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800155CC 7C 08 03 A6 */ mtlr r0 -/* 800155D0 38 21 00 10 */ addi r1, r1, 0x10 -/* 800155D4 4E 80 00 20 */ blr diff --git a/asm/m_Do/m_Do_lib/__sinit_m_Do_lib_cpp.s b/asm/m_Do/m_Do_lib/__sinit_m_Do_lib_cpp.s deleted file mode 100644 index c24898202f..0000000000 --- a/asm/m_Do/m_Do_lib/__sinit_m_Do_lib_cpp.s +++ /dev/null @@ -1,20 +0,0 @@ -lbl_80015544: -/* 80015544 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80015548 7C 08 02 A6 */ mflr r0 -/* 8001554C 90 01 00 14 */ stw r0, 0x14(r1) -/* 80015550 3C 60 80 3A */ lis r3, __vt__11J3DUClipper@ha /* 0x803A3498@ha */ -/* 80015554 38 03 34 98 */ addi r0, r3, __vt__11J3DUClipper@l /* 0x803A3498@l */ -/* 80015558 3C 60 80 3E */ lis r3, mClipper__14mDoLib_clipper@ha /* 0x803DD8E4@ha */ -/* 8001555C 94 03 D8 E4 */ stwu r0, mClipper__14mDoLib_clipper@l(r3) /* 0x803DD8E4@l */ -/* 80015560 48 25 E2 19 */ bl init__11J3DUClipperFv -/* 80015564 3C 60 80 3E */ lis r3, mClipper__14mDoLib_clipper@ha /* 0x803DD8E4@ha */ -/* 80015568 38 63 D8 E4 */ addi r3, r3, mClipper__14mDoLib_clipper@l /* 0x803DD8E4@l */ -/* 8001556C 3C 80 80 01 */ lis r4, __dt__11J3DUClipperFv@ha /* 0x80015590@ha */ -/* 80015570 38 84 55 90 */ addi r4, r4, __dt__11J3DUClipperFv@l /* 0x80015590@l */ -/* 80015574 3C A0 80 3E */ lis r5, lit_3727@ha /* 0x803DD8D8@ha */ -/* 80015578 38 A5 D8 D8 */ addi r5, r5, lit_3727@l /* 0x803DD8D8@l */ -/* 8001557C 48 34 C6 A9 */ bl __register_global_object -/* 80015580 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80015584 7C 08 03 A6 */ mtlr r0 -/* 80015588 38 21 00 10 */ addi r1, r1, 0x10 -/* 8001558C 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_myna2/d_a_tag_myna2/func_80D5CA18.s b/asm/rel/d/a/tag/d_a_tag_myna2/d_a_tag_myna2/func_80D5CA18.s new file mode 100644 index 0000000000..d0f248d573 --- /dev/null +++ b/asm/rel/d/a/tag/d_a_tag_myna2/d_a_tag_myna2/func_80D5CA18.s @@ -0,0 +1,9 @@ +lbl_80D5CA18: +/* 80D5CA18 A8 83 00 00 */ lha r4, 0(r3) +/* 80D5CA1C 2C 04 00 00 */ cmpwi r4, 0 +/* 80D5CA20 41 82 00 0C */ beq lbl_80D5CA2C +/* 80D5CA24 38 04 FF FF */ addi r0, r4, -1 +/* 80D5CA28 B0 03 00 00 */ sth r0, 0(r3) +lbl_80D5CA2C: +/* 80D5CA2C A8 63 00 00 */ lha r3, 0(r3) +/* 80D5CA30 4E 80 00 20 */ blr diff --git a/include/JSystem/J3DGraphBase/J3DSys.h b/include/JSystem/J3DGraphBase/J3DSys.h index 73cef8bde9..9320bcdd02 100644 --- a/include/JSystem/J3DGraphBase/J3DSys.h +++ b/include/JSystem/J3DGraphBase/J3DSys.h @@ -1,6 +1,7 @@ #ifndef J3DSYS_H #define J3DSYS_H +#include "dolphin/mtx/mtx.h" #include "dolphin/types.h" // Perhaps move to a new J3DEnum.h? @@ -9,4 +10,31 @@ enum J3DError { kJ3DError_Alloc = 4, }; +struct _GXTexCacheSize {}; + +struct J3DSys { + Mtx mMtx; + u8 _30[0x11C - 0x30]; + /* 8030FDE8 */ J3DSys(); + /* 8030FEC0 */ void loadPosMtxIndx(int, u16) const; + /* 8030FEE4 */ void loadNrmMtxIndx(int, u16) const; + /* 8030FF0C */ void setTexCacheRegion(_GXTexCacheSize); + /* 803100BC */ void drawInit(); + /* 8031073C */ void reinitGX(); + /* 8031079C */ void reinitGenMode(); + /* 803107E8 */ void reinitLighting(); + /* 80310894 */ void reinitTransform(); + /* 80310998 */ void reinitTexture(); + /* 80310A3C */ void reinitTevStages(); + /* 80310D44 */ void reinitIndStages(); + /* 80310E3C */ void reinitPixelProc(); + + static u8 mCurrentMtx[48]; + static f32 mCurrentS[3]; + static f32 mParentS[3]; + static u8 sTexCoordScaleTable[64 + 4 /* padding */]; +}; + +extern J3DSys j3dSys; + #endif /* J3DSYS_H */ diff --git a/include/JSystem/J3DU/J3DUClipper.h b/include/JSystem/J3DU/J3DUClipper.h index d9d67d386a..072bbe337a 100644 --- a/include/JSystem/J3DU/J3DUClipper.h +++ b/include/JSystem/J3DU/J3DUClipper.h @@ -1,6 +1,28 @@ #ifndef J3DUCLIPPER_H #define J3DUCLIPPER_H +#include "dolphin/mtx/vec.h" #include "dolphin/types.h" +class J3DUClipper { +public: + J3DUClipper() { init(); } + virtual ~J3DUClipper() {} + /* 80273778 */ void init(); + /* 8027378C */ void calcViewFrustum(); + /* 802738FC */ u32 clip(f32 const (*)[4], Vec, f32) const; + /* 80273A44 */ u32 clip(f32 const (*)[4], Vec*, Vec*) const; + +private: + Vec _04; + Vec _10; + Vec _1C; + Vec _28; + u8 _34[0x4C - 0x34]; + f32 mFovY; + f32 mAspect; + f32 mNear; + f32 mFar; +}; + #endif /* J3DUCLIPPER_H */ diff --git a/include/JSystem/JKernel/JKRExpHeap.h b/include/JSystem/JKernel/JKRExpHeap.h index 57fad0b8f6..dcadbef8d4 100644 --- a/include/JSystem/JKernel/JKRExpHeap.h +++ b/include/JSystem/JKernel/JKRExpHeap.h @@ -75,8 +75,9 @@ public: /* vt[22] */ virtual bool state_compare(JKRHeap::TState const&, JKRHeap::TState const&) const; /* override */ + u8 field_0x6c; + private: - u32 field_0x6c; u32 field_0x70; u32 field_0x74; CMemBlock* mHeadFreeList; @@ -85,9 +86,9 @@ private: CMemBlock* mTailUsedList; public: - static void createRoot(int, bool); - static void create(u32, JKRHeap*, bool); - static void create(void*, u32, JKRHeap*, bool); + static JKRExpHeap* createRoot(int, bool); + static JKRExpHeap* create(u32, JKRHeap*, bool); + static JKRExpHeap* create(void*, u32, JKRHeap*, bool); }; #endif /* JKREXPHEAP_H */ diff --git a/include/JSystem/JKernel/JKRSolidHeap.h b/include/JSystem/JKernel/JKRSolidHeap.h index c190314459..a61e8cc78b 100644 --- a/include/JSystem/JKernel/JKRSolidHeap.h +++ b/include/JSystem/JKernel/JKRSolidHeap.h @@ -18,7 +18,6 @@ protected: JKRSolidHeap(void*, u32, JKRHeap*, bool); virtual ~JKRSolidHeap(); - s32 adjustSize(void); void* allocFromHead(u32, int); void* allocFromTail(u32, int); @@ -54,6 +53,8 @@ private: /* 0x78 */ Unknown* field_0x78; public: + s32 adjustSize(void); + static JKRSolidHeap* create(u32, JKRHeap*, bool); }; diff --git a/include/JSystem/JMath/JMATrigonometric.h b/include/JSystem/JMath/JMATrigonometric.h index e47f6ef294..79d3798ed2 100644 --- a/include/JSystem/JMath/JMATrigonometric.h +++ b/include/JSystem/JMath/JMATrigonometric.h @@ -3,4 +3,36 @@ #include "dolphin/types.h" +namespace std { +template +struct pair { + A1 a1; + B1 b1; + pair() { + a1 = A1(); + b1 = B1(); + } +}; +} // namespace std + +struct TSinCosTable { + std::pair table[0x2000]; +}; + +struct TAtanTable { + f32 table[1025]; + u8 pad[0x1C]; +}; + +struct TAsinAcosTable { + f32 table[1025]; + u8 pad[0x1C]; +}; + +namespace JMath { +extern TSinCosTable sincosTable_; +extern TAtanTable atanTable_; +extern TAsinAcosTable asinAcosTable_; +}; // namespace JMath + #endif /* JMATRIGONOMETRIC_H */ diff --git a/include/JSystem/JMath/JMath.h b/include/JSystem/JMath/JMath.h index 228c129d1c..802d24f2aa 100644 --- a/include/JSystem/JMath/JMath.h +++ b/include/JSystem/JMath/JMath.h @@ -3,8 +3,4 @@ #include "dolphin/types.h" -struct JMath { - static u8 sincosTable_[65536]; -}; - #endif /* JMATH_H */ diff --git a/include/SSystem/SComponent/c_malloc.h b/include/SSystem/SComponent/c_malloc.h index c7ca63e5a3..0732d73266 100644 --- a/include/SSystem/SComponent/c_malloc.h +++ b/include/SSystem/SComponent/c_malloc.h @@ -1,14 +1,9 @@ #ifndef C_MALLOC_H #define C_MALLOC_H +#include "JSystem/JKernel/JKRHeap.h" #include "dolphin/types.h" -// TODO: move to correct include -struct JKRHeap { - /* 802CE4D4 */ void* alloc(u32, int); - /* 802CE548 */ void free(void*); -}; - struct cMl { static JKRHeap* Heap; /* 80263220 */ static void init(JKRHeap*); diff --git a/include/SSystem/SComponent/c_math.h b/include/SSystem/SComponent/c_math.h index 25aa15451c..632fa9091e 100644 --- a/include/SSystem/SComponent/c_math.h +++ b/include/SSystem/SComponent/c_math.h @@ -1,6 +1,7 @@ #ifndef C_MATH_H #define C_MATH_H +#include "JSystem/JMath/JMATrigonometric.h" #include "dolphin/types.h" s16 cM_rad2s(float); @@ -16,4 +17,12 @@ float cM_rnd2(void); float cM_rndF2(float); float cM_rndFX2(float); +inline f32 cM_scos(s16 s) { + return JMath::sincosTable_.table[static_cast(s) >> 3].b1; +} + +inline f32 cM_ssin(s16 s) { + return JMath::sincosTable_.table[static_cast(s) >> 3].a1; +} + #endif /* C_MATH_H */ diff --git a/include/SSystem/SComponent/c_phase.h b/include/SSystem/SComponent/c_phase.h index 0c7bcc7c9c..5ab4f80537 100644 --- a/include/SSystem/SComponent/c_phase.h +++ b/include/SSystem/SComponent/c_phase.h @@ -7,6 +7,8 @@ typedef int (*cPhs__Handler)(void*); enum cPhs__Step { cPhs_ZERO_e = 0x00, + cPhs_UNK_1 = 0x01, + cPhs_UNK_2 = 0x02, // names from Wind Waker debug strings cPhs_COMPLEATE_e = 0x04, cPhs_ERROR_e = 0x05, diff --git a/include/SSystem/SComponent/c_sxyz.h b/include/SSystem/SComponent/c_sxyz.h index 51d8beafde..61843437ef 100644 --- a/include/SSystem/SComponent/c_sxyz.h +++ b/include/SSystem/SComponent/c_sxyz.h @@ -4,9 +4,8 @@ #include "dolphin/types.h" struct SVec { - s16 mX, mY, mZ; + s16 x, y, z; }; - class csXyz : public SVec { public: static const csXyz Zero; @@ -18,6 +17,9 @@ public: /* 8026745C */ void operator+=(csXyz&); /* 80267490 */ csXyz operator-(csXyz&); /* 802674E8 */ csXyz operator*(f32); + s16 GetX() const { return x; } + s16 GetY() const { return y; } + s16 GetZ() const { return z; } }; #endif /* C_SXYZ_H */ diff --git a/include/d/d_resorce.h b/include/d/d_resorce.h index de0b4315aa..41ba119581 100644 --- a/include/d/d_resorce.h +++ b/include/d/d_resorce.h @@ -1,20 +1,12 @@ #ifndef D_D_RESORCE_H #define D_D_RESORCE_H +#include "JSystem/JKernel/JKRArchive.h" +#include "JSystem/JKernel/JKRHeap.h" #include "SSystem/SComponent/c_xyz.h" -#include "dolphin/mtx/mtx.h" #include "dolphin/types.h" #include "m_Do/m_Do_ext.h" -struct JKRArchive { - /* 802D5CE4 */ void getIdxResource(u32); - /* 802D625C */ void getFileAttribute(u32) const; - /* 802D6684 */ void findIdxResource(u32) const; - /* 802D66AC */ void findNameResource(char const*) const; - /* 802D5ECC */ void readIdxResource(void*, u32, u32); - /* 802D5B38 */ void getGlbResource(u32, char const*, JKRArchive*); -}; - #pragma pack(push, 1) class dRes_info_c { public: diff --git a/include/d/d_stage.h b/include/d/d_stage.h index aeb8a3b23d..ad130ac8d2 100644 --- a/include/d/d_stage.h +++ b/include/d/d_stage.h @@ -447,4 +447,6 @@ struct objectNameInfo { s8 unkA; }; // Size: 0xC +const char* dStage_getName2(s16, s8); + #endif /* D_D_STAGE_H */ diff --git a/include/f_op/f_op_actor.h b/include/f_op/f_op_actor.h index 024f86809d..3a517a5d9e 100644 --- a/include/f_op/f_op_actor.h +++ b/include/f_op/f_op_actor.h @@ -34,8 +34,16 @@ public: /* 0x4EC */ cXyz mScale; /* 0x4F8 */ cXyz mSpeed; /* 0x504 */ Mtx* mCullMtx; - /* 0x508 */ cXyz mCullMin; - /* 0x514 */ cXyz mCullMax; + union { + struct { + /* 0x508 */ cXyz mMin; + /* 0x514 */ cXyz mMax; + } mBox; + struct { + /* 0x508 */ cXyz mCenter; + /* 0x514 */ f32 mRadius; + } mSphere; + } mCull; /* 0x520 */ u8 unk_0x520[0xC]; /* 0x52C */ f32 mSpeedF; /* 0x530 */ f32 mGravity; @@ -50,4 +58,4 @@ public: const csXyz& getAngle() const { return mCurrent.mAngle; } }; // Size: unknown -#endif \ No newline at end of file +#endif diff --git a/include/f_op/f_op_actor_mng.h b/include/f_op/f_op_actor_mng.h index a9ec1550f4..e6b196f887 100644 --- a/include/f_op/f_op_actor_mng.h +++ b/include/f_op/f_op_actor_mng.h @@ -2,6 +2,7 @@ #define F_OP_ACTOR_MNG_H_ #include "JSystem/J3DGraphAnimator/J3DModelData.h" +#include "JSystem/JKernel/JKRHeap.h" #include "SSystem/SComponent/c_m3d_g_pla.h" #include "SSystem/SComponent/c_sxyz.h" #include "SSystem/SComponent/c_xyz.h" @@ -13,38 +14,36 @@ #include "f_pc/f_pc_searcher.h" #include "f_pc/f_pc_stdcreate_req.h" +class J3DModelData; // placeholder + 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; + /* 0x00 */ u32 mParameter; // single U32 Parameter + /* 0x04 */ cXyz mPos; + /* 0x10 */ csXyz mAngle; // rotation + /* 0x16 */ u16 mEnemyNo; + /* 0x18 */ u8 mScale[3]; + /* 0x1B */ u8 mGbaName; // from WW, maybe a different parameter here + /* 0x1C */ s32 mParentPId; // parent process ID + /* 0x20 */ s8 mSubtype; + /* 0x21 */ s8 mRoomNo; }; class fopAcM_lc_c { public: static bool lineCheck(const cXyz*, const cXyz*, const fopAc_ac_c*); - static u8 mLineCheck[112]; }; class fopAcM_rc_c { public: static bool roofCheck(const cXyz*); + static u8 mRoofCheck[80]; + static f32 mRoofY; }; class fopAcM_gc_c { public: static bool gndCheck(const cXyz*); - static u8 mGndCheck[84]; static f32 mGroundY; }; @@ -52,7 +51,6 @@ public: class fopAcM_wt_c { public: static bool waterCheck(const cXyz*); - static u8 mWaterCheck[84 + 4 /* padding */]; static f32 mWaterY[1 + 1 /* padding */]; }; @@ -145,7 +143,7 @@ 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_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); @@ -172,11 +170,11 @@ s32 fopAcM_effSmokeSet1(u32*, u32*, const cXyz*, const csXyz*, f32, const dKy_te 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 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*); +static 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); @@ -290,4 +288,4 @@ void fopAcM_GetID__FPCv(void); // mostly inlined void fopAcM_GetParam__FPCv(void); // mostly inlined } -#endif \ No newline at end of file +#endif diff --git a/include/f_op/f_op_scene_req.h b/include/f_op/f_op_scene_req.h index 0b8f44d3e8..3968124dce 100644 --- a/include/f_op/f_op_scene_req.h +++ b/include/f_op/f_op_scene_req.h @@ -14,12 +14,12 @@ void fopScnRq_ReRequest(void); class scene_request_class { public: node_create_request mCrtReq; - u32 mFadeRequest; + u32 mFadeRequest; // TODO: type is wrong request_of_phase_process_class mReqPhsProcCls; u8 field_0x70[4]; }; -scene_request_class* fopScnRq_phase_ClearOverlap(scene_request_class* param_1); +// cPhs__Step 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); diff --git a/include/m_Do/m_Do_ext.h b/include/m_Do/m_Do_ext.h index aa669108c9..c56cb12b18 100644 --- a/include/m_Do/m_Do_ext.h +++ b/include/m_Do/m_Do_ext.h @@ -128,4 +128,12 @@ private: /* 0x4 */ J3DAnmTransform* mAnmTransform; }; // Size = 0x8 +JKRSolidHeap* mDoExt_createSolidHeapFromGame(u32, u32); +void mDoExt_destroySolidHeap(JKRSolidHeap*); +u32 mDoExt_adjustSolidHeap(JKRSolidHeap*); +void mDoExt_restoreCurrentHeap(); +JKRHeap* mDoExt_getGameHeap(); +void mDoExt_destroySolidHeap(JKRSolidHeap*); +JKRHeap* mDoExt_setCurrentHeap(JKRHeap*); + #endif /* M_DO_M_DO_EXT_H */ diff --git a/include/m_Do/m_Do_lib.h b/include/m_Do/m_Do_lib.h index 29ffa9032d..c7259619ec 100644 --- a/include/m_Do/m_Do_lib.h +++ b/include/m_Do/m_Do_lib.h @@ -1,6 +1,15 @@ #ifndef M_DO_M_DO_LIB_H #define M_DO_M_DO_LIB_H +#include "JSystem/J3DU/J3DUClipper.h" #include "dolphin/types.h" +struct mDoLib_clipper { + /* 8001528C */ void setup(f32, f32, f32, f32); + + static J3DUClipper mClipper; + static f32 mSystemFar; + static f32 mFovyRate; +}; + #endif /* M_DO_M_DO_LIB_H */ diff --git a/libs/JSystem/J3DGraphBase/J3DDrawBuffer.cpp b/libs/JSystem/J3DGraphBase/J3DDrawBuffer.cpp index bd429fb830..1d6bba0f71 100644 --- a/libs/JSystem/J3DGraphBase/J3DDrawBuffer.cpp +++ b/libs/JSystem/J3DGraphBase/J3DDrawBuffer.cpp @@ -49,7 +49,6 @@ extern "C" void _savegpr_27(); extern "C" void _savegpr_28(); extern "C" void _restgpr_27(); extern "C" void _restgpr_28(); -extern "C" extern u8 j3dSys[284]; // // Declarations: diff --git a/libs/JSystem/J3DGraphBase/J3DPacket.cpp b/libs/JSystem/J3DGraphBase/J3DPacket.cpp index 1786915338..5755d6de59 100644 --- a/libs/JSystem/J3DGraphBase/J3DPacket.cpp +++ b/libs/JSystem/J3DGraphBase/J3DPacket.cpp @@ -97,7 +97,6 @@ extern "C" void __ptmf_scall(); extern "C" void _savegpr_28(); extern "C" void _restgpr_28(); extern "C" u8 sortFuncTable__13J3DDrawBuffer[72]; -extern "C" extern u8 j3dSys[284]; extern "C" extern u8 struct_804515B0[4]; extern "C" u8 sTexGenBlock__17J3DDifferedTexMtx[4]; extern "C" u8 sTexMtxObj__17J3DDifferedTexMtx[4]; diff --git a/libs/JSystem/J3DGraphBase/J3DSys.cpp b/libs/JSystem/J3DGraphBase/J3DSys.cpp index ff49232f94..85eb95bde8 100644 --- a/libs/JSystem/J3DGraphBase/J3DSys.cpp +++ b/libs/JSystem/J3DGraphBase/J3DSys.cpp @@ -13,29 +13,6 @@ struct _GXTexMapID {}; -struct _GXTexCacheSize {}; - -struct J3DSys { - /* 8030FDE8 */ J3DSys(); - /* 8030FEC0 */ void loadPosMtxIndx(int, u16) const; - /* 8030FEE4 */ void loadNrmMtxIndx(int, u16) const; - /* 8030FF0C */ void setTexCacheRegion(_GXTexCacheSize); - /* 803100BC */ void drawInit(); - /* 8031073C */ void reinitGX(); - /* 8031079C */ void reinitGenMode(); - /* 803107E8 */ void reinitLighting(); - /* 80310894 */ void reinitTransform(); - /* 80310998 */ void reinitTexture(); - /* 80310A3C */ void reinitTevStages(); - /* 80310D44 */ void reinitIndStages(); - /* 80310E3C */ void reinitPixelProc(); - - static u8 mCurrentMtx[48]; - static f32 mCurrentS[3]; - static f32 mParentS[3]; - static u8 sTexCoordScaleTable[64 + 4 /* padding */]; -}; - // // Forward References: // @@ -69,7 +46,6 @@ extern "C" void makeTexCoordTable__Fv(); extern "C" void makeAlphaCmpTable__Fv(); extern "C" void makeZModeTable__Fv(); extern "C" void makeTevSwapTable__Fv(); -extern "C" void PSMTXIdentity(); extern "C" void GXSetVtxAttrFmt(); extern "C" void GXInvalidateVtxCache(); extern "C" void GXSetTexCoordGen2(); @@ -132,8 +108,7 @@ extern "C" extern u32 j3dDefaultTevKColor; /* ############################################################################################## */ /* 80434AC8-80434BE4 0617E8 011C+00 1/1 151/151 486/486 .bss j3dSys */ -extern u8 j3dSys[284]; -u8 j3dSys[284]; +J3DSys j3dSys; /* 80434BE4-80434C14 061904 0030+00 0/0 17/17 154/154 .bss mCurrentMtx__6J3DSys */ u8 J3DSys::mCurrentMtx[48]; @@ -349,21 +324,6 @@ asm void J3DSys::reinitPixelProc() { } #pragma pop -/* 80310ED0-80310EF8 30B810 0028+00 0/0 1/0 0/0 .text __sinit_J3DSys_cpp */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void __sinit_J3DSys_cpp() { - nofralloc -#include "asm/JSystem/J3DGraphBase/J3DSys/__sinit_J3DSys_cpp.s" -} -#pragma pop - -#pragma push -#pragma force_active on -REGISTER_CTORS(0x80310ED0, __sinit_J3DSys_cpp); -#pragma pop - /* ############################################################################################## */ /* 80451598-804515A0 000A98 0004+04 0/0 1/1 0/0 .sbss j3dDefaultViewNo */ extern u8 j3dDefaultViewNo[4 + 4 /* padding */]; diff --git a/libs/JSystem/J3DU/J3DUClipper.cpp b/libs/JSystem/J3DU/J3DUClipper.cpp index 4ccdad38e9..192667f169 100644 --- a/libs/JSystem/J3DU/J3DUClipper.cpp +++ b/libs/JSystem/J3DU/J3DUClipper.cpp @@ -5,20 +5,9 @@ #include "JSystem/J3DU/J3DUClipper.h" #include "dol2asm.h" +#include "dolphin/mtx/mtxvec.h" #include "dolphin/types.h" - -// -// Types: -// - -struct Vec {}; - -struct J3DUClipper { - /* 80273778 */ void init(); - /* 8027378C */ void calcViewFrustum(); - /* 802738FC */ void clip(f32 const (*)[4], Vec, f32) const; - /* 80273A44 */ void clip(f32 const (*)[4], Vec*, Vec*) const; -}; +#include "msl_c/math.h" // // Forward References: @@ -34,33 +23,18 @@ extern "C" extern char const* const J3DUClipper__stringBase0; // External References: // -extern "C" void PSMTXMultVec(); -extern "C" void PSVECNormalize(); -extern "C" void PSVECCrossProduct(); extern "C" void _savegpr_29(); extern "C" void _restgpr_29(); -extern "C" void tan(); // // Declarations: // -/* ############################################################################################## */ -/* 80455278-8045527C 003878 0004+00 1/1 0/0 0/0 .sdata2 @893 */ -SECTION_SDATA2 static f32 lit_893 = 1.0f; - -/* 8045527C-80455280 00387C 0004+00 1/1 0/0 0/0 .sdata2 @894 */ -SECTION_SDATA2 static f32 lit_894 = 100000.0f; - /* 80273778-8027378C 26E0B8 0014+00 0/0 1/1 0/0 .text init__11J3DUClipperFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J3DUClipper::init() { - nofralloc -#include "asm/JSystem/J3DU/J3DUClipper/init__11J3DUClipperFv.s" +void J3DUClipper::init() { + mNear = 1.0f; + mFar = 100000.0f; } -#pragma pop /* ############################################################################################## */ /* 8039A948-8039A954 026FA8 000C+00 1/1 0/0 0/0 .rodata @898 */ @@ -69,63 +43,30 @@ SECTION_RODATA static u8 const lit_898[12] = { }; COMPILER_STRIP_GATE(0x8039A948, &lit_898); -/* 8039A954-8039A960 026FB4 000C+00 0/1 0/0 0/0 .rodata @899 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_899[12] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x8039A954, &lit_899); -#pragma pop - -/* 8039A960-8039A96C 026FC0 000C+00 0/1 0/0 0/0 .rodata @900 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_900[12] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x8039A960, &lit_900); -#pragma pop - -/* 8039A96C-8039A978 026FCC 000C+00 0/1 0/0 0/0 .rodata @901 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_901[12] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x8039A96C, &lit_901); -#pragma pop - -/* 8039A978-8039A984 026FD8 000C+00 0/1 0/0 0/0 .rodata @902 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_902[12] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x8039A978, &lit_902); -#pragma pop - -/* 80455280-80455284 003880 0004+00 1/1 0/0 0/0 .sdata2 @913 */ -SECTION_SDATA2 static f32 lit_913 = 0.01745329238474369f; - -/* 80455284-80455288 003884 0004+00 1/1 0/0 0/0 .sdata2 @914 */ -SECTION_SDATA2 static f32 lit_914 = 0.5f; - /* 8027378C-802738FC 26E0CC 0170+00 0/0 3/3 4/4 .text calcViewFrustum__11J3DUClipperFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J3DUClipper::calcViewFrustum() { - nofralloc -#include "asm/JSystem/J3DU/J3DUClipper/calcViewFrustum__11J3DUClipperFv.s" +void J3DUClipper::calcViewFrustum() { + f32 f0 = tan(0.5f * mFovY * 0.01745329238474369f); + f32 f4 = mNear * f0; + f32 f5 = mAspect * f4; + Vec tmp1 = {-f5, -f4, -mNear}; + Vec tmp2 = {-f5, f4, -mNear}; + Vec tmp3 = {f5, f4, -mNear}; + Vec tmp4 = {f5, -f4, -mNear}; + PSVECCrossProduct(&tmp2, &tmp1, &_04); + PSVECCrossProduct(&tmp3, &tmp2, &_10); + PSVECCrossProduct(&tmp4, &tmp3, &_1C); + PSVECCrossProduct(&tmp1, &tmp4, &_28); + PSVECNormalize(&_04, &_04); + PSVECNormalize(&_10, &_10); + PSVECNormalize(&_1C, &_1C); + PSVECNormalize(&_28, &_28); } -#pragma pop /* 802738FC-80273A44 26E23C 0148+00 0/0 3/3 2/2 .text clip__11J3DUClipperCFPA4_Cf3Vecf */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void J3DUClipper::clip(f32 const (*param_0)[4], Vec param_1, f32 param_2) const { +asm u32 J3DUClipper::clip(f32 const (*param_0)[4], Vec param_1, f32 param_2) const { nofralloc #include "asm/JSystem/J3DU/J3DUClipper/clip__11J3DUClipperCFPA4_Cf3Vecf.s" } @@ -143,7 +84,7 @@ SECTION_SDATA2 static f32 lit_991[1 + 1 /* padding */] = { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void J3DUClipper::clip(f32 const (*param_0)[4], Vec* param_1, Vec* param_2) const { +asm u32 J3DUClipper::clip(f32 const (*param_0)[4], Vec* param_1, Vec* param_2) const { nofralloc #include "asm/JSystem/J3DU/J3DUClipper/clip__11J3DUClipperCFPA4_CfP3VecP3Vec.s" } diff --git a/libs/JSystem/JKernel/JKRAram.cpp b/libs/JSystem/JKernel/JKRAram.cpp index 0cceabd354..2e62f309a0 100644 --- a/libs/JSystem/JKernel/JKRAram.cpp +++ b/libs/JSystem/JKernel/JKRAram.cpp @@ -156,15 +156,16 @@ JKRAram::~JKRAram() { void* JKRAram::run(void) { int result; JKRAMCommand* command; - JKRAMCommand::Message* message; + JKRAramPiece::Message* message; OSInitMessageQueue(&sMessageQueue, sMessageBuffer, 4); do { - OSReceiveMessage(&sMessageQueue, &message, OS_MESSAGE_BLOCKING); - result = message->field_0x0; + OSReceiveMessage(&sMessageQueue, (OSMessage*)&message, OS_MESSAGE_BLOCKING); + result = message->field_0x00; command = message->command; delete message; - if (result == 1) { + if (result != 1) { + } else { JKRAramPiece::startDMA(command); } } while (true); diff --git a/libs/JSystem/JKernel/JKRDecomp.cpp b/libs/JSystem/JKernel/JKRDecomp.cpp index 051f2ade42..0b64fd9130 100644 --- a/libs/JSystem/JKernel/JKRDecomp.cpp +++ b/libs/JSystem/JKernel/JKRDecomp.cpp @@ -265,6 +265,72 @@ asm void JKRDecomp::decodeSZP(u8* param_0, u8* param_1, u32 param_2, u32 param_3 #endif /* 802DBC14-802DBCF8 2D6554 00E4+00 1/1 0/0 0/0 .text decodeSZS__9JKRDecompFPUcPUcUlUl */ +#ifdef NON_MATCHING +void JKRDecomp::decodeSZS(u8* src_buffer, u8* dst_buffer, u32 param_3, u32 param_4) { + int copyByteCount; + u8* decompEnd; + u8* copyStart; + int chunkBitsLeft = 0; + int chunkBits; + decompEnd = dst_buffer + *(int*)(src_buffer + 4) - param_4; + if (param_3 == 0) { + return; + } + if (param_4 > *(u32*)src_buffer) { + return; + } + u8* curSrcPos = src_buffer + 0x10; + do { + if (chunkBitsLeft == 0) { + chunkBits = *curSrcPos; + chunkBitsLeft = 8; + curSrcPos++; + } + if ((chunkBits & 0x80) != 0) { + if (param_4 == 0) { + *dst_buffer = *curSrcPos; + param_3--; + dst_buffer++; + if (param_3 == 0) { + return; + } + } else { + param_4--; + } + curSrcPos++; + } else { + int curVal = *curSrcPos; + // load is inversed + copyStart = dst_buffer - ((curVal & 0xF) << 8 | curSrcPos[1]); + // copyByteCount = ; + curSrcPos += 2; + // instruction order differences + if (curVal >> 4 == 0) { + copyByteCount = *curSrcPos + 0x12; + curSrcPos++; + } else { + copyByteCount = (curVal >> 4) + 2; + } + do { + if (param_4 == 0) { + *dst_buffer = *(copyStart - 1); + param_3--; + dst_buffer++; + if (param_3 == 0) { + return; + } + } else { + param_4--; + } + copyByteCount--; + copyStart++; + } while (copyByteCount != 0); + } + chunkBits <<= 1; + chunkBitsLeft--; + } while (dst_buffer != decompEnd); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -273,6 +339,7 @@ asm void JKRDecomp::decodeSZS(u8* param_0, u8* param_1, u32 param_2, u32 param_3 #include "asm/JSystem/JKernel/JKRDecomp/decodeSZS__9JKRDecompFPUcPUcUlUl.s" } #pragma pop +#endif /* 802DBCF8-802DBD70 2D6638 0078+00 1/1 4/4 0/0 .text checkCompressed__9JKRDecompFPUc */ JKRCompression JKRDecomp::checkCompressed(u8* src) { diff --git a/libs/JSystem/JKernel/JKRExpHeap.cpp b/libs/JSystem/JKernel/JKRExpHeap.cpp index cdbb8c6960..6dca878c65 100644 --- a/libs/JSystem/JKernel/JKRExpHeap.cpp +++ b/libs/JSystem/JKernel/JKRExpHeap.cpp @@ -99,7 +99,7 @@ extern "C" u8 mErrorHandler__7JKRHeap[4]; #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void JKRExpHeap::createRoot(int param_0, bool param_1) { +asm JKRExpHeap* JKRExpHeap::createRoot(int param_0, bool param_1) { nofralloc #include "asm/JSystem/JKernel/JKRExpHeap/createRoot__10JKRExpHeapFib.s" } @@ -110,7 +110,7 @@ asm void JKRExpHeap::createRoot(int param_0, bool param_1) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void JKRExpHeap::create(u32 param_0, JKRHeap* param_1, bool param_2) { +asm JKRExpHeap* JKRExpHeap::create(u32 param_0, JKRHeap* param_1, bool param_2) { nofralloc #include "asm/JSystem/JKernel/JKRExpHeap/create__10JKRExpHeapFUlP7JKRHeapb.s" } @@ -121,7 +121,7 @@ asm void JKRExpHeap::create(u32 param_0, JKRHeap* param_1, bool param_2) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void JKRExpHeap::create(void* param_0, u32 param_1, JKRHeap* param_2, bool param_3) { +asm JKRExpHeap* JKRExpHeap::create(void* param_0, u32 param_1, JKRHeap* param_2, bool param_3) { nofralloc #include "asm/JSystem/JKernel/JKRExpHeap/create__10JKRExpHeapFPvUlP7JKRHeapb.s" } diff --git a/libs/JSystem/JMath/JMATrigonometric.cpp b/libs/JSystem/JMath/JMATrigonometric.cpp index e1e7f6b9e1..b19d28526a 100644 --- a/libs/JSystem/JMath/JMATrigonometric.cpp +++ b/libs/JSystem/JMath/JMATrigonometric.cpp @@ -3,113 +3,87 @@ // Translation Unit: JMATrigonometric // -#include "JSystem/JMath/JMATrigonometric.h" +// don't include header until this "zero" mess is figured out +// #include "JSystem/JMath/JMATrigonometric.h" #include "dol2asm.h" -#include "dolphin/types.h" - -// -// Types: -// +#include "global.h" +#include "msl_c/math.h" namespace std { template -struct pair {}; -/* pair */ -struct pair__template0 { - /* 80339CB0 */ void func_80339CB0(void* _this); +struct pair { + A1 a1; + B1 b1; + pair() { + f32 tmp = FLOAT_LABEL(zero); + a1 = tmp; + b1 = tmp; + // a1 = A1(); + // b1 = B1(); + } +}; +} // namespace std + +// fake, but couldn't find another way to make 0.0f go first in sdata2 in this TU +SECTION_SDATA2 static f32 zero[1 + 1] = {0.0f, 0.0f}; + +inline f64 getConst() { + return 6.2831854820251465; +} + +struct TSinCosTable { + std::pair table[0x2000]; + TSinCosTable() { + for (int i = 0; i < 0x2000; i++) { + table[i].a1 = sin((i * getConst()) / 8192.0); + table[i].b1 = cos((i * getConst()) / 8192.0); + } + } }; -}; // namespace std +inline f64 getConst2() { + return 9.765625E-4; +} -struct JMath { - static u8 sincosTable_[65536]; - static f32 atanTable_[1032]; - static f32 asinAcosTable_[1032]; +struct TAtanTable { + f32 table[1025]; + u8 pad[0x1C]; + TAtanTable() { + // (u32) cast needed for cmplwi instead of cmpwi + for (int i = 0; i < (u32)1024; i++) { + table[i] = atan(getConst2() * i); + } + table[0] = FLOAT_LABEL(zero); + table[1024] = 0.7853982; // 0.25 * PI + } }; -// -// Forward References: -// - -extern "C" void __sinit_JMATrigonometric_cpp(); -extern "C" void func_80339CB0(void* _this); -extern "C" u8 sincosTable___5JMath[65536]; -extern "C" f32 atanTable___5JMath[1032]; -extern "C" f32 asinAcosTable___5JMath[1032]; - -// -// External References: -// - -extern "C" void __construct_array(); -extern "C" void _savegpr_27(); -extern "C" void _restgpr_27(); -extern "C" void atan(); -extern "C" void cos(); -extern "C" void sin(); -extern "C" void asin(); +struct TAsinAcosTable { + f32 table[1025]; + u8 pad[0x1C]; + TAsinAcosTable() { + for (int i = 0; i < 1024; i++) { + table[i] = asin(getConst2() * i); + } + table[0] = FLOAT_LABEL(zero); + table[1024] = 0.7853982; // 0.25 * PI + } +}; // // Declarations: // +namespace JMath { + /* ############################################################################################## */ /* 80439A20-80449A20 066740 10000+00 1/1 265/265 705/705 .bss sincosTable___5JMath */ -u8 JMath::sincosTable_[65536]; +TSinCosTable sincosTable_; /* 80449A20-8044AA40 076740 1020+00 1/1 0/0 0/0 .bss atanTable___5JMath */ -f32 JMath::atanTable_[1032]; +TAtanTable atanTable_; /* 8044AA40-8044BA60 077760 1020+00 1/1 1/1 0/0 .bss asinAcosTable___5JMath */ -f32 JMath::asinAcosTable_[1032]; +TAsinAcosTable asinAcosTable_; -/* 804564D8-804564E0 004AD8 0004+04 2/2 0/0 0/0 .sdata2 @326 */ -SECTION_SDATA2 static f32 lit_326[1 + 1 /* padding */] = { - 0.0f, - /* padding */ - 0.0f, -}; - -/* 804564E0-804564E8 004AE0 0008+00 1/1 0/0 0/0 .sdata2 @436 */ -SECTION_SDATA2 static f64 lit_436 = 6.2831854820251465; - -/* 804564E8-804564F0 004AE8 0008+00 1/1 0/0 0/0 .sdata2 @437 */ -SECTION_SDATA2 static f64 lit_437 = 8192.0; - -/* 804564F0-804564F8 004AF0 0008+00 1/1 0/0 0/0 .sdata2 @438 */ -SECTION_SDATA2 static f64 lit_438 = 0.0009765625; - -/* 804564F8-80456500 004AF8 0004+04 1/1 0/0 0/0 .sdata2 @439 */ -SECTION_SDATA2 static f32 lit_439[1 + 1 /* padding */] = { - 0.7853981852531433f, - /* padding */ - 0.0f, -}; - -/* 80456500-80456508 004B00 0008+00 1/1 0/0 0/0 .sdata2 @441 */ -SECTION_SDATA2 static f64 lit_441 = 4503601774854144.0 /* cast s32 to float */; - -/* 80339AEC-80339CB0 33442C 01C4+00 0/0 1/0 0/0 .text __sinit_JMATrigonometric_cpp */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void __sinit_JMATrigonometric_cpp() { - nofralloc -#include "asm/JSystem/JMath/JMATrigonometric/__sinit_JMATrigonometric_cpp.s" -} -#pragma pop - -#pragma push -#pragma force_active on -REGISTER_CTORS(0x80339AEC, __sinit_JMATrigonometric_cpp); -#pragma pop - -/* 80339CB0-80339CC0 3345F0 0010+00 1/1 0/0 0/0 .text __ct__Q23std9pairFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -extern "C" asm void func_80339CB0(void* _this) { - nofralloc -#include "asm/JSystem/JMath/JMATrigonometric/func_80339CB0.s" -} -#pragma pop +} // namespace JMath \ No newline at end of file diff --git a/libs/SSystem/SComponent/c_sxyz.cpp b/libs/SSystem/SComponent/c_sxyz.cpp index 9a6c4e295d..22433567f4 100644 --- a/libs/SSystem/SComponent/c_sxyz.cpp +++ b/libs/SSystem/SComponent/c_sxyz.cpp @@ -15,29 +15,29 @@ const csXyz csXyz::Zero = csXyz(0, 0, 0); /* 802673F4-80267404 0010+00 s=4 e=19 z=119 None .text __ct__5csXyzFsss */ csXyz::csXyz(s16 param_0, s16 param_1, s16 param_2) { - mX = param_0; - mY = param_1; - mZ = param_2; + x = param_0; + y = param_1; + z = param_2; } /* 80267404-8026745C 0058+00 s=0 e=0 z=3 None .text __pl__5csXyzFR5csXyz */ csXyz csXyz::operator+(csXyz& param_0) { - return csXyz(mX + param_0.mX, mY + param_0.mY, mZ + param_0.mZ); + return csXyz(x + param_0.x, y + param_0.y, z + param_0.z); } /* 8026745C-80267490 0034+00 s=0 e=2 z=11 None .text __apl__5csXyzFR5csXyz */ void csXyz::operator+=(csXyz& param_0) { - mX += param_0.mX; - mY += param_0.mY; - mZ += param_0.mZ; + x += param_0.x; + y += param_0.y; + z += param_0.z; } /* 80267490-802674E8 0058+00 s=0 e=0 z=1 None .text __mi__5csXyzFR5csXyz */ csXyz csXyz::operator-(csXyz& param_0) { - return csXyz(mX - param_0.mX, mY - param_0.mY, mZ - param_0.mZ); + return csXyz(x - param_0.x, y - param_0.y, z - param_0.z); } /* 802674E8-8026758C 00A4+00 s=0 e=0 z=1 None .text __ml__5csXyzFf */ csXyz csXyz::operator*(f32 param_0) { - return csXyz(mX * param_0, mY * param_0, mZ * param_0); + return csXyz(x * param_0, y * param_0, z * param_0); } diff --git a/src/d/a/d_a_alink.cpp b/src/d/a/d_a_alink.cpp index a22a39077f..38eb17bcfe 100644 --- a/src/d/a/d_a_alink.cpp +++ b/src/d/a/d_a_alink.cpp @@ -753,10 +753,6 @@ struct JMath { static u8 sincosTable_[65536]; }; -struct JKRFileLoader { - /* 802D4270 */ void getGlbResource(char const*, JKRFileLoader*); -}; - struct JASKernel { /* 80290B08 */ void getAramHeap(); }; @@ -796,12 +792,6 @@ struct J3DTevBlock { /* 80110E80 */ void setTevColor(u32, J3DGXColorS10 const*); }; -struct J3DSys { - /* 8031073C */ void reinitGX(); - - static u8 mCurrentMtx[48]; -}; - struct J3DShape { /* 80315300 */ void loadPreDrawSetting() const; @@ -3854,7 +3844,6 @@ extern "C" f32 Zero__4cXyz[3]; extern "C" u8 BaseX__4cXyz[12]; extern "C" u8 BaseY__4cXyz[12]; extern "C" u8 BaseZ__4cXyz[12]; -extern "C" extern u8 j3dSys[284]; extern "C" u8 mCurrentMtx__6J3DSys[48]; extern "C" u8 sincosTable___5JMath[65536]; extern "C" extern u32 g_whiteColor; @@ -17982,7 +17971,7 @@ bool daAlink_c::procServiceWaitInit() { commonProcInit(SERVICE_WAIT); setSingleAnimeBase(0x90); mNormalSpeed = 0.0f; - mNext.mAngle.mY = mCollisionRot.mY; + mNext.mAngle.y = mCollisionRot.y; field_0x2f98 = 4; return true; } @@ -36001,7 +35990,7 @@ void daPy_py_c::setSumouLoseHeadUp() { /* 80141874-8014187C 13C1B4 0008+00 1/0 0/0 0/0 .text getGiantPuzzleAimAngle__9daPy_py_cCFv */ s16 daPy_py_c::getGiantPuzzleAimAngle() const { - return mCollisionRot.mY; + return mCollisionRot.y; } /* 8014187C-80141880 13C1BC 0004+00 1/0 0/0 0/0 .text setGoronSideMove__9daPy_py_cFP10fopAc_ac_c diff --git a/src/d/a/d_a_player.cpp b/src/d/a/d_a_player.cpp index 85a9045b37..17e81247f8 100644 --- a/src/d/a/d_a_player.cpp +++ b/src/d/a/d_a_player.cpp @@ -38,10 +38,6 @@ struct JMath { static u8 sincosTable_[65536]; }; -struct J3DSys { - /* 8031073C */ void reinitGX(); -}; - struct J3DShape { static u8 sOldVcdVatCmd[4]; }; @@ -174,7 +170,6 @@ extern "C" extern void* __vt__18J3DAnmTransformKey[5]; extern "C" u8 now__14mDoMtx_stack_c[48]; extern "C" u8 mDemoArcName__20dStage_roomControl_c[10 + 2 /* padding */]; extern "C" extern u8 g_dComIfG_gameInfo[122384]; -extern "C" extern u8 j3dSys[284]; extern "C" u8 sincosTable___5JMath[65536]; extern "C" extern u32 __float_nan; extern "C" u8 sOldVcdVatCmd__8J3DShape[4]; diff --git a/src/d/d_attention.cpp b/src/d/d_attention.cpp index a958077a0e..dddf783c51 100644 --- a/src/d/d_attention.cpp +++ b/src/d/d_attention.cpp @@ -193,7 +193,6 @@ extern "C" u8 dist_table__12dAttention_c[6552]; extern "C" u8 m_cpadInfo__8mDoCPd_c[256]; extern "C" u8 now__14mDoMtx_stack_c[48]; extern "C" extern u8 g_dComIfG_gameInfo[122384]; -extern "C" extern u8 j3dSys[284]; extern "C" extern u32 __float_nan; extern "C" extern u32 __float_max; extern "C" extern u8 struct_80450D64[4]; diff --git a/src/d/d_drawlist.cpp b/src/d/d_drawlist.cpp index ce391e069a..08b27a7b51 100644 --- a/src/d/d_drawlist.cpp +++ b/src/d/d_drawlist.cpp @@ -180,10 +180,6 @@ struct J3DUClipper { /* 80273A44 */ void clip(f32 const (*)[4], Vec*, Vec*) const; }; -struct J3DSys { - /* 8031073C */ void reinitGX(); -}; - struct J3DShape { /* 80315300 */ void loadPreDrawSetting() const; @@ -435,7 +431,6 @@ extern "C" u8 mClipper__14mDoLib_clipper[92]; extern "C" extern u8 g_dComIfG_gameInfo[122384]; extern "C" extern u8 g_env_light[4880]; extern "C" extern u8 g_envHIO[68]; -extern "C" extern u8 j3dSys[284]; extern "C" u8 sincosTable___5JMath[65536]; extern "C" u8 mBackColor__13mDoGph_gInf_c[4]; extern "C" extern u8 g_clearColor[4]; diff --git a/src/d/d_resorce.cpp b/src/d/d_resorce.cpp index 40614e185b..91b00f2685 100644 --- a/src/d/d_resorce.cpp +++ b/src/d/d_resorce.cpp @@ -4,6 +4,7 @@ // #include "d/d_resorce.h" +#include "JSystem/JKernel/JKRSolidHeap.h" #include "dol2asm.h" #include "dolphin/mtx/mtx.h" #include "dolphin/types.h" diff --git a/src/d/d_stage.cpp b/src/d/d_stage.cpp index b6b0a2eb75..d21b0b4a9f 100644 --- a/src/d/d_stage.cpp +++ b/src/d/d_stage.cpp @@ -1862,7 +1862,7 @@ static asm void dStage_getName(s16 param_0, s8 param_1) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dStage_getName2(s16 param_0, s8 param_1) { +asm const char* dStage_getName2(s16 param_0, s8 param_1) { nofralloc #include "asm/d/d_stage/dStage_getName2__FsSc.s" } diff --git a/src/f_op/f_op_actor_mng.cpp b/src/f_op/f_op_actor_mng.cpp index 74eb5fcb11..f55418ed53 100644 --- a/src/f_op/f_op_actor_mng.cpp +++ b/src/f_op/f_op_actor_mng.cpp @@ -3,71 +3,38 @@ // 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 "JSystem/JKernel/JKRHeap.h" +#include "JSystem/JKernel/JKRSolidHeap.h" +#include "SSystem/SComponent/c_lib.h" +#include "SSystem/SComponent/c_malloc.h" #include "dol2asm.h" -#include "dolphin/types.h" +#include "global.h" +#include "msl_c/math.h" +// #include "d/com/d_com_inf_game.h" +#include "JSystem/J3DGraphBase/J3DSys.h" +#include "JSystem/J3DU/J3DUClipper.h" +#include "SSystem/SComponent/c_math.h" +#include "d/d_stage.h" +#include "f_op/f_op_actor.h" +#include "f_op/f_op_actor_iter.h" +#include "m_Do/m_Do_ext.h" +#include "m_Do/m_Do_lib.h" +#include "msl_c/math.h" +#include "msl_c/string.h" // // Types: // -struct process_priority_class {}; - struct mDoMtx_stack_c { static u8 now[48]; }; -struct mDoLib_clipper { - static u8 mClipper[92]; - static f32 mSystemFar; -}; - -struct layer_class {}; - struct l_HIO { /* 8001E098 */ ~l_HIO(); }; -struct fopAc_ac_c {}; - -struct Vec {}; - -struct cXyz { - /* 80266B34 */ void operator-(Vec const&) const; - /* 80266F48 */ void normalizeZP(); - /* 80267128 */ void atan2sX_Z() const; - - static f32 Zero[3]; - static u8 BaseY[12]; -}; - -struct fopAcM_wt_c { - /* 8001DD84 */ void waterCheck(cXyz const*); - - static u8 mWaterCheck[84 + 4 /* padding */]; - static f32 mWaterY[1 + 1 /* padding */]; -}; - -struct fopAcM_rc_c { - /* 8001DD1C */ void roofCheck(cXyz const*); - - static u8 mRoofCheck[80]; - static f32 mRoofY; -}; - -struct fopAcM_lc_c { - /* 8001DC68 */ void lineCheck(cXyz const*, cXyz const*, fopAc_ac_c const*); - - static u8 mLineCheck[112]; -}; - -struct fopAcM_gc_c { - /* 8001DCBC */ void gndCheck(cXyz const*); - - static u8 mGndCheck[84]; - static f32 mGroundY; -}; - struct daTagStream_c { /* 800318B4 */ void checkArea(cXyz const*); @@ -82,27 +49,12 @@ struct daPy_py_c { /* 8001E138 */ s32 getGrabActorID() const; }; -struct dSv_info_c { - /* 80035644 */ void onActor(int, int); -}; - -struct dStage_roomControl_c { - static u8 mStatus[65792]; - static u8 mProcID[4]; -}; - struct dPa_levelEcallBack {}; struct dKy_tevstr_c {}; struct cBgS_PolyInfo {}; -struct csXyz { - /* 802673F4 */ csXyz(s16, s16, s16); - - static u8 Zero[4]; -}; - struct _GXColor {}; struct dPa_control_c { @@ -183,14 +135,6 @@ struct dBgS { /* 80075564 */ void SplGrpChk(dBgS_SplGrpChk*); }; -struct cMl { - /* 80263228 */ void memalignB(int, u32); -}; - -struct cM3dGPla { - /* 8001DB90 */ ~cM3dGPla(); -}; - struct cBgS_LinChk {}; struct cBgS_GndChk { @@ -204,30 +148,10 @@ struct cBgS { /* 80074744 */ void GetTriPla(cBgS_PolyInfo const&, cM3dGPla*) const; }; -struct JMath { - static u8 sincosTable_[65536]; -}; - -struct JKRSolidHeap {}; - -struct JKRHeap { - /* 802CE72C */ void getFreeSize(); -}; - -struct J3DUClipper { - /* 8027378C */ void calcViewFrustum(); - /* 802738FC */ void clip(f32 const (*)[4], Vec, f32) const; - /* 80273A44 */ void clip(f32 const (*)[4], Vec*, Vec*) const; -}; - struct J3DTexMtxInfo { /* 80325794 */ void setEffectMtx(f32 (*)[4]); }; -struct J3DModelData {}; - -struct DOUBLE_POS {}; - // // Forward References: // @@ -239,18 +163,18 @@ extern "C" void fopAcM_SearchByID__FUiPP10fopAc_ac_c(); extern "C" void fopAcM_SearchByName__FsPP10fopAc_ac_c(); extern "C" void fopAcM_CreateAppend__Fv(); extern "C" static void createAppend__FUsUlPC4cXyziPC5csXyzPC4cXyzScUi(); -extern "C" static void fopAcM_Log__FPC10fopAc_ac_cPCc(); +extern "C" void fopAcM_Log__FPC10fopAc_ac_cPCc(); extern "C" void fopAcM_delete__FP10fopAc_ac_c(); extern "C" void fopAcM_delete__FUi(); -extern "C" static void fopAcM_create__FsUsUlPC4cXyziPC5csXyzPC4cXyzScPFPv_i(); +extern "C" void fopAcM_create__FsUsUlPC4cXyziPC5csXyzPC4cXyzScPFPv_i(); extern "C" void fopAcM_create__FsUlPC4cXyziPC5csXyzPC4cXyzSc(); extern "C" void fopAcM_fastCreate__FsUlPC4cXyziPC5csXyzPC4cXyzScPFPv_iPv(); extern "C" void fopAcM_fastCreate__FPCcUlPC4cXyziPC5csXyzPC4cXyzPFPv_iPv(); extern "C" void fopAcM_createChild__FsUiUlPC4cXyziPC5csXyzPC4cXyzScPFPv_i(); extern "C" void fopAcM_createChildFromOffset__FsUiUlPC4cXyziPC5csXyzPC4cXyzScPFPv_i(); extern "C" void fopAcM_DeleteHeap__FP10fopAc_ac_c(); -extern "C" static void fopAcM_callCallback__FP10fopAc_ac_cPFP10fopAc_ac_c_iP7JKRHeap(); -extern "C" static void fopAcM_entrySolidHeap___FP10fopAc_ac_cPFP10fopAc_ac_c_iUl(); +extern "C" void fopAcM_callCallback__FP10fopAc_ac_cPFP10fopAc_ac_c_iP7JKRHeap(); +extern "C" void fopAcM_entrySolidHeap___FP10fopAc_ac_cPFP10fopAc_ac_c_iUl(); extern "C" void fopAcM_entrySolidHeap__FP10fopAc_ac_cPFP10fopAc_ac_c_iUl(); extern "C" void fopAcM_SetMin__FP10fopAc_ac_cfff(); extern "C" void fopAcM_SetMax__FP10fopAc_ac_cfff(); @@ -271,7 +195,7 @@ extern "C" void fopAcM_searchActorDistanceXZ2__FPC10fopAc_ac_cPC10fopAc_ac_c(); extern "C" void fopAcM_rollPlayerCrash__FPC10fopAc_ac_cfUlffif(); extern "C" void fopAcM_checkCullingBox__FPA4_fffffff(); extern "C" void fopAcM_cullingCheck__FPC10fopAc_ac_c(); -extern "C" static void event_second_actor__FUs(); +extern "C" void event_second_actor__FUs(); extern "C" void fopAcM_orderTalkEvent__FP10fopAc_ac_cP10fopAc_ac_cUsUs(); extern "C" void fopAcM_orderTalkItemBtnEvent__FUsP10fopAc_ac_cP10fopAc_ac_cUsUs(); extern "C" void fopAcM_orderSpeakEvent__FP10fopAc_ac_cUsUs(); @@ -291,20 +215,20 @@ extern "C" void fopAcM_getItemEventPartner__FPC10fopAc_ac_c(); extern "C" void fopAcM_getEventPartner__FPC10fopAc_ac_c(); extern "C" void fopAcM_createItemForPresentDemo__FPC4cXyziUciiPC5csXyzPC4cXyz(); extern "C" void fopAcM_createItemForTrBoxDemo__FPC4cXyziiiPC5csXyzPC4cXyz(); -extern "C" static void fopAcM_getItemNoFromTableNo__FUc(); +extern "C" void fopAcM_getItemNoFromTableNo__FUc(); extern "C" void fopAcM_createItemFromEnemyID__FUcPC4cXyziiPC5csXyzPC4cXyzPfPf(); extern "C" void fopAcM_createItemFromTable__FPC4cXyziiiPC5csXyziPC4cXyzPfPfb(); -extern "C" static void fopAcM_createDemoItem__FPC4cXyziiPC5csXyziPC4cXyzUc(); +extern "C" void fopAcM_createDemoItem__FPC4cXyziiPC5csXyziPC4cXyzUc(); extern "C" void fopAcM_createItemForBoss__FPC4cXyziiPC5csXyzPC4cXyzffi(); extern "C" void fopAcM_createItemForMidBoss__FPC4cXyziiPC5csXyzPC4cXyzii(); extern "C" void fopAcM_createItemForDirectGet__FPC4cXyziiPC5csXyzPC4cXyzff(); extern "C" void fopAcM_createItemForSimpleDemo__FPC4cXyziiPC5csXyzPC4cXyzff(); extern "C" void fopAcM_createItem__FPC4cXyziiiPC5csXyzPC4cXyzi(); -extern "C" static void fopAcM_fastCreateItem2__FPC4cXyziiiiPC5csXyzPC4cXyz(); +extern "C" void fopAcM_fastCreateItem2__FPC4cXyziiiiPC5csXyzPC4cXyz(); extern "C" void fopAcM_fastCreateItem__FPC4cXyziiPC5csXyzPC4cXyzPfPfiiPFPv_i(); extern "C" void fopAcM_createBokkuri__FUsPC4cXyziiiPC4cXyzii(); extern "C" void fopAcM_createWarpHole__FPC4cXyzPC5csXyziUcUcUc(); -extern "C" static void enemySearchJugge__FPvPv(); +extern "C" void enemySearchJugge__FPvPv(); extern "C" void fopAcM_myRoomSearchEnemy__FSc(); extern "C" void fopAcM_createDisappear__FPC10fopAc_ac_cPC4cXyzUcUcUc(); extern "C" void fopAcM_setCarryNow__FP10fopAc_ac_ci(); @@ -315,15 +239,14 @@ extern "C" void fopAcM_wayBgCheck__FPC10fopAc_ac_cff(); extern "C" void fopAcM_plAngleCheck__FPC10fopAc_ac_cs(); extern "C" void fopAcM_effSmokeSet1__FPUlPUlPC4cXyzPC5csXyzfPC12dKy_tevstr_ci(); extern "C" void fopAcM_effHamonSet__FPUlPC4cXyzff(); -extern "C" bool fopAcM_riverStream__FP4cXyzPsPff(); extern "C" void fopAcM_carryOffRevise__FP10fopAc_ac_c(); extern "C" static void vectle_calc__FPC10DOUBLE_POSP4cXyz(); extern "C" static void get_vectle_calc__FPC4cXyzPC4cXyzP4cXyz(); extern "C" void fopAcM_setEffectMtx__FPC10fopAc_ac_cPC12J3DModelData(); -extern "C" static void fopAcM_getProcNameString__FPC10fopAc_ac_c(); -extern "C" static void fopAcM_findObjectCB__FPC10fopAc_ac_cPv(); +extern "C" void fopAcM_getProcNameString__FPC10fopAc_ac_c(); +extern "C" void fopAcM_findObjectCB__FPC10fopAc_ac_cPv(); extern "C" void fopAcM_searchFromName__FPCcUlUl(); -extern "C" static void fopAcM_findObject4EventCB__FP10fopAc_ac_cPv(); +extern "C" void fopAcM_findObject4EventCB__FP10fopAc_ac_cPv(); extern "C" void fopAcM_searchFromName4Event__FPCcs(); extern "C" void fopAcM_getWaterY__FPC4cXyzPf(); extern "C" void fpoAcM_relativePos__FPC10fopAc_ac_cPC4cXyzP4cXyz(); @@ -364,18 +287,18 @@ extern "C" f32 mGroundY__11fopAcM_gc_c; extern "C" f32 mRoofY__11fopAcM_rc_c; extern "C" f32 mWaterY__11fopAcM_wt_c[1 + 1 /* padding */]; +// TODO: move + +u32 check_itemno(int param1); +BOOL isHeart(u8); + +extern "C" void* calc_mtx; + // // External References: // -extern "C" void OSReport_Error(); extern "C" void mDoMtx_YrotS__FPA4_fs(); -extern "C" void mDoExt_getGameHeap__Fv(); -extern "C" void mDoExt_createSolidHeapFromGame__FUlUl(); -extern "C" void mDoExt_adjustSolidHeap__FP12JKRSolidHeap(); -extern "C" void mDoExt_destroySolidHeap__FP12JKRSolidHeap(); -extern "C" void mDoExt_setCurrentHeap__FP7JKRHeap(); -extern "C" void fopAc_IsActor__FPv(); extern "C" void fopAcIt_Judge__FPFPvPv_PvPv(); extern "C" void fopScnM_SearchByID__FUi(); extern "C" void fpcBs_Is_JustOfType__Fii(); @@ -449,13 +372,6 @@ extern "C" void clip__11J3DUClipperCFPA4_CfP3VecP3Vec(); extern "C" void getFreeSize__7JKRHeapFv(); extern "C" void __dl__FPv(); extern "C" void setEffectMtx__13J3DTexMtxInfoFPA4_f(); -extern "C" void PSMTXCopy(); -extern "C" void PSMTXConcat(); -extern "C" void PSMTXScale(); -extern "C" void C_MTXLookAt(); -extern "C" void PSVECAdd(); -extern "C" void PSVECSquareMag(); -extern "C" void C_VECHalfAngle(); extern "C" void __register_global_object(); extern "C" void _savegpr_19(); extern "C" void _savegpr_21(); @@ -473,24 +389,15 @@ extern "C" void _restgpr_25(); extern "C" void _restgpr_26(); extern "C" void _restgpr_27(); extern "C" void _restgpr_29(); -extern "C" void abs(); -extern "C" void strchr(); -extern "C" void strcmp(); -extern "C" void strcpy(); -extern "C" void sqrt(); extern "C" u8 now__14mDoMtx_stack_c[48]; -extern "C" u8 mClipper__14mDoLib_clipper[92]; extern "C" u8 mStatus__20dStage_roomControl_c[65792]; extern "C" extern u8 g_dComIfG_gameInfo[122384]; extern "C" f32 Zero__4cXyz[3]; extern "C" u8 BaseY__4cXyz[12]; -extern "C" extern u8 j3dSys[284]; extern "C" u8 sincosTable___5JMath[65536]; -extern "C" extern void* calc_mtx[1 + 1 /* padding */]; -extern "C" extern u32 __float_nan; extern "C" f32 mSystemFar__14mDoLib_clipper; -extern "C" extern u8 g_fpcNd_type[4 + 4 /* padding */]; extern "C" u8 mProcID__20dStage_roomControl_c[4]; +extern "C" void* mClipper__14mDoLib_clipper; extern "C" extern u8 struct_80450D64[4]; extern "C" u8 m_top__13daTagStream_c[4]; extern "C" u8 mData__12dEnemyItem_c[4 + 4 /* padding */]; @@ -502,14 +409,9 @@ extern "C" extern u8 data_80451164[4]; // /* 800198A4-800198C4 0141E4 0020+00 0/0 1/1 0/0 .text fopAcM_FastCreate__FsPFPv_iPvPv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void fopAcM_FastCreate(s16 param_0, int (*param_1)(void*), void* param_2, void* param_3) { - nofralloc -#include "asm/f_op/f_op_actor_mng/fopAcM_FastCreate__FsPFPv_iPvPv.s" +void* fopAcM_FastCreate(s16 pProcTypeID, FastCreateReqFunc param_2, void* param_3, void* pData) { + return fpcM_FastCreate(pProcTypeID, param_2, param_3, pData); } -#pragma pop /* 800198C4-80019934 014204 0070+00 1/1 5/5 18/18 .text fopAcM_setStageLayer__FPv */ #pragma push @@ -525,41 +427,54 @@ asm void fopAcM_setStageLayer(void* param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void fopAcM_setRoomLayer(void* param_0, int param_1) { +asm int fopAcM_setRoomLayer(void* param_0, int param_1) { nofralloc #include "asm/f_op/f_op_actor_mng/fopAcM_setRoomLayer__FPvi.s" } #pragma pop /* 800199BC-80019A2C 0142FC 0070+00 0/0 4/4 114/114 .text fopAcM_SearchByID__FUiPP10fopAc_ac_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void fopAcM_SearchByID(unsigned int param_0, fopAc_ac_c** param_1) { - nofralloc -#include "asm/f_op/f_op_actor_mng/fopAcM_SearchByID__FUiPP10fopAc_ac_c.s" +s32 fopAcM_SearchByID(unsigned int id, fopAc_ac_c** actor) { + if (fpcM_IsCreating(id) != 0) { + *actor = NULL; + } else { + *actor = (fopAc_ac_c*)fopAcIt_Judge((fopAcIt_JudgeFunc)fpcSch_JudgeByID, &id); + if (*actor == NULL) { + return 0; + } + } + return 1; } -#pragma pop /* 80019A2C-80019AA8 01436C 007C+00 0/0 0/0 28/28 .text fopAcM_SearchByName__FsPP10fopAc_ac_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void fopAcM_SearchByName(s16 param_0, fopAc_ac_c** param_1) { - nofralloc -#include "asm/f_op/f_op_actor_mng/fopAcM_SearchByName__FsPP10fopAc_ac_c.s" +s32 fopAcM_SearchByName(s16 procName, fopAc_ac_c** actor) { + *actor = (fopAc_ac_c*)fopAcIt_Judge((fopAcIt_JudgeFunc)fpcSch_JudgeForPName, &procName); + if (*actor == NULL) { + return 0; + } else { + if (fpcM_IsCreating(fopAcM_GetID(*actor)) != 0) { + *actor = NULL; + } + return 1; + } } -#pragma pop /* 80019AA8-80019B1C 0143E8 0074+00 1/1 7/7 0/0 .text fopAcM_CreateAppend__Fv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void fopAcM_CreateAppend() { - nofralloc -#include "asm/f_op/f_op_actor_mng/fopAcM_CreateAppend__Fv.s" +fopAcM_prm_class* fopAcM_CreateAppend(void) { + fopAcM_prm_class* params = + static_cast(cMl::memalignB(-4, sizeof(fopAcM_prm_class))); + if (params != NULL) { + cLib_memSet(params, 0, sizeof(fopAcM_prm_class)); + params->mEnemyNo = 0xFFFF; + params->mRoomNo = -1; + params->mScale[0] = 0xA; + params->mScale[1] = 0xA; + params->mScale[2] = 0xA; + params->mParentPId = -1; + params->mSubtype = -1; + } + return params; } -#pragma pop /* ############################################################################################## */ /* 80451C00-80451C04 000200 0004+00 1/1 0/0 0/0 .sdata2 @4263 */ @@ -567,126 +482,184 @@ SECTION_SDATA2 static f32 lit_4263 = 10.0f; /* 80019B1C-80019C78 01445C 015C+00 4/4 0/0 0/0 .text * createAppend__FUsUlPC4cXyziPC5csXyzPC4cXyzScUi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void createAppend(u16 param_0, u32 param_1, cXyz const* param_2, int param_3, - csXyz const* param_4, cXyz const* param_5, s8 param_6, - unsigned int param_7) { - nofralloc -#include "asm/f_op/f_op_actor_mng/createAppend__FUsUlPC4cXyziPC5csXyzPC4cXyzScUi.s" +fopAcM_prm_class* createAppend(u16 enemyNo, u32 parameter, const cXyz* pPos, int roomNo, + const csXyz* pAngle, const cXyz* pScale, s8 subType, + unsigned int parentPId) { + fopAcM_prm_class* params = fopAcM_CreateAppend(); + if (params == NULL) { + return NULL; + } else { + params->mEnemyNo = enemyNo; + if (pPos != NULL) { + params->mPos = *pPos; + } else { + params->mPos = cXyz::Zero; + } + params->mRoomNo = roomNo; + if (pAngle != NULL) { + params->mAngle = *pAngle; + } else { + params->mAngle = csXyz::Zero; + } + if (pScale != NULL) { + f32 ten = FLOAT_LABEL(lit_4263); // temp not necessary when using literal + params->mScale[0] = ten * pScale->x; + params->mScale[1] = ten * pScale->y; + params->mScale[2] = ten * pScale->z; + } else { + params->mScale[0] = 0xA; + params->mScale[1] = 0xA; + params->mScale[2] = 0xA; + } + params->mParameter = parameter; + params->mParentPId = parentPId; + params->mSubtype = subType; + return params; + } } -#pragma pop /* 80019C78-80019C7C 0145B8 0004+00 3/3 0/0 0/0 .text fopAcM_Log__FPC10fopAc_ac_cPCc */ -static void fopAcM_Log(fopAc_ac_c const* param_0, char const* param_1) { +void fopAcM_Log(fopAc_ac_c const* param_0, char const* param_1) { /* empty function */ } -/* ############################################################################################## */ -/* 803788C8-803788C8 004F28 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_803788C8 = "アクターの削除"; -#pragma pop - /* 80019C7C-80019CB8 0145BC 003C+00 0/0 10/10 483/483 .text fopAcM_delete__FP10fopAc_ac_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void fopAcM_delete(fopAc_ac_c* param_0) { - nofralloc -#include "asm/f_op/f_op_actor_mng/fopAcM_delete__FP10fopAc_ac_c.s" +void fopAcM_delete(fopAc_ac_c* pActor) { + fopAcM_Log(pActor, "アクターの削除"); + fpcM_Delete(pActor); } -#pragma pop /* 80019CB8-80019D18 0145F8 0060+00 0/0 3/3 12/12 .text fopAcM_delete__FUi */ +#ifdef NON_MATCHING +s32 fopAcM_delete(unsigned int pID) { + void* searchResult = (void*)fopAcIt_Judge((fopAcIt_JudgeFunc)fpcSch_JudgeByID, &pID); + const fopAc_ac_c* actor = (fopAc_ac_c*)searchResult; + // original moves r3 -> r0, then r0 -> r31 for 0 check + // this generates r3 -> r31 with 0 check directly + if (searchResult != NULL) { + fopAcM_Log(actor, "アクターの削除"); + return fpcM_Delete(searchResult); + } else { + return 1; + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void fopAcM_delete(unsigned int param_0) { +asm s32 fopAcM_delete(unsigned int param_0) { nofralloc #include "asm/f_op/f_op_actor_mng/fopAcM_delete__FUi.s" } #pragma pop +#endif /* 80019D18-80019D98 014658 0080+00 2/2 0/0 0/0 .text * fopAcM_create__FsUsUlPC4cXyziPC5csXyzPC4cXyzScPFPv_i */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void fopAcM_create(s16 param_0, u16 param_1, u32 param_2, cXyz const* param_3, - int param_4, csXyz const* param_5, cXyz const* param_6, s8 param_7, - int (*param_8)(void*)) { - nofralloc -#include "asm/f_op/f_op_actor_mng/fopAcM_create__FsUsUlPC4cXyziPC5csXyzPC4cXyzScPFPv_i.s" +s32 fopAcM_create(s16 procName, u16 enemyNo, u32 parameter, const cXyz* pPos, int roomNo, + const csXyz* pRot, const cXyz* pScale, s8 subType, createFunc pCreateFunc) { + fopAcM_prm_class* params = + createAppend(enemyNo, parameter, pPos, roomNo, pRot, pScale, subType, 0xFFFFFFFF); + if (params == NULL) { + return 0xFFFFFFFF; + } else { + return fpcSCtRq_Request(fpcLy_CurrentLayer(), procName, (stdCreateFunc)pCreateFunc, NULL, + params); + } } -#pragma pop /* 80019D98-80019E04 0146D8 006C+00 3/3 11/11 70/70 .text * fopAcM_create__FsUlPC4cXyziPC5csXyzPC4cXyzSc */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void fopAcM_create(s16 param_0, u32 param_1, cXyz const* param_2, int param_3, - csXyz const* param_4, cXyz const* param_5, s8 param_6) { - nofralloc -#include "asm/f_op/f_op_actor_mng/fopAcM_create__FsUlPC4cXyziPC5csXyzPC4cXyzSc.s" +s32 fopAcM_create(s16 procName, u32 parameter, const cXyz* pPos, int roomNo, const csXyz* pRot, + const cXyz* pScale, s8 subType) { + return fopAcM_create(procName, 0xFFFF, parameter, pPos, roomNo, pRot, pScale, subType, NULL); } -#pragma pop /* 80019E04-80019E6C 014744 0068+00 5/5 6/6 18/18 .text * fopAcM_fastCreate__FsUlPC4cXyziPC5csXyzPC4cXyzScPFPv_iPv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void fopAcM_fastCreate(s16 param_0, u32 param_1, cXyz const* param_2, int param_3, - csXyz const* param_4, cXyz const* param_5, s8 param_6, - int (*param_7)(void*), void* param_8) { - nofralloc -#include "asm/f_op/f_op_actor_mng/fopAcM_fastCreate__FsUlPC4cXyziPC5csXyzPC4cXyzScPFPv_iPv.s" +void* fopAcM_fastCreate(s16 procTypeID, u32 parameter, const cXyz* pPos, int roomNo, + const csXyz* pRot, const cXyz* pScale, s8 subType, createFunc pCreateFunc, + void* pCreateFuncData) { + fopAcM_prm_class* prmClass = + createAppend(0xFFFF, parameter, pPos, roomNo, pRot, pScale, subType, 0xFFFFFFFF); + if (prmClass == NULL) { + return NULL; + } else { + return fpcM_FastCreate(procTypeID, pCreateFunc, pCreateFuncData, prmClass); + } } -#pragma pop + +objectNameInfo* dStage_searchName(const char*); /* 80019E6C-80019EF0 0147AC 0084+00 0/0 1/1 0/0 .text * fopAcM_fastCreate__FPCcUlPC4cXyziPC5csXyzPC4cXyzPFPv_iPv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void fopAcM_fastCreate(char const* param_0, u32 param_1, cXyz const* param_2, int param_3, - csXyz const* param_4, cXyz const* param_5, int (*param_6)(void*), - void* param_7) { - nofralloc -#include "asm/f_op/f_op_actor_mng/fopAcM_fastCreate__FPCcUlPC4cXyziPC5csXyzPC4cXyzPFPv_iPv.s" +void* fopAcM_fastCreate(const char* pActorName, u32 parameter, const cXyz* pActorPos, int roomNo, + const csXyz* pActorRot, const cXyz* pScale, createFunc pCreateFunc, + void* pCreateFuncData) { + objectNameInfo* nameInfo = dStage_searchName(pActorName); + if (nameInfo == NULL) { + return NULL; + } else { + return fopAcM_fastCreate(nameInfo->mProcTypeID, parameter, pActorPos, roomNo, pActorRot, + pScale, nameInfo->unkA, pCreateFunc, pCreateFuncData); + } } -#pragma pop /* 80019EF0-80019F78 014830 0088+00 0/0 1/1 105/105 .text * fopAcM_createChild__FsUiUlPC4cXyziPC5csXyzPC4cXyzScPFPv_i */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void fopAcM_createChild(s16 param_0, unsigned int param_1, u32 param_2, cXyz const* param_3, - int param_4, csXyz const* param_5, cXyz const* param_6, s8 param_7, - int (*param_8)(void*)) { - nofralloc -#include "asm/f_op/f_op_actor_mng/fopAcM_createChild__FsUiUlPC4cXyziPC5csXyzPC4cXyzScPFPv_i.s" +s32 fopAcM_createChild(s16 pProcTypeID, unsigned int pParentPId, u32 pParameter, const cXyz* pPos, + int pRoomNo, const csXyz* pAngle, const cXyz* pScale, s8 pSubType, + createFunc param_9) { + fopAcM_prm_class* paramClass = + createAppend(0xFFFF, pParameter, pPos, pRoomNo, pAngle, pScale, pSubType, pParentPId); + if (paramClass == NULL) { + return -1; + } else { + return fpcSCtRq_Request(fpcLy_CurrentLayer(), pProcTypeID, (stdCreateFunc)param_9, NULL, + paramClass); + } } -#pragma pop /* 80019F78-8001A138 0148B8 01C0+00 0/0 0/0 6/6 .text * fopAcM_createChildFromOffset__FsUiUlPC4cXyziPC5csXyzPC4cXyzScPFPv_i */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void fopAcM_createChildFromOffset(s16 param_0, unsigned int param_1, u32 param_2, - cXyz const* param_3, int param_4, csXyz const* param_5, - cXyz const* param_6, s8 param_7, int (*param_8)(void*)) { - nofralloc -#include "asm/f_op/f_op_actor_mng/fopAcM_createChildFromOffset__FsUiUlPC4cXyziPC5csXyzPC4cXyzScPFPv_i.s" +s32 fopAcM_createChildFromOffset(s16 procTypeID, unsigned int parentProcID, u32 actorParams, + const cXyz* pActorPos, int roomNo, const csXyz* pActorRot, + const cXyz* pScale, s8 subType, createFunc pCreateFunc) { + struct { + s32 procID; + } searchParams; + searchParams.procID = parentProcID; + fopAc_ac_c* parentActor = + static_cast(fopAcIt_Judge((fopAcIt_JudgeFunc)fpcSch_JudgeByID, &searchParams)); + s16 parentRotY = parentActor->getAngle().GetY(); + cXyz tmpPos; + if (pActorPos == NULL) { + tmpPos = cXyz::Zero; + } else { + tmpPos = *pActorPos; + } + csXyz tmpRot; + if (pActorRot == NULL) { + tmpRot = csXyz::Zero; + } else { + tmpRot = *pActorRot; + } + cXyz parentPos = parentActor->getPosition(); + csXyz tmpRotCopy(tmpRot); + tmpRotCopy.y += parentRotY; + parentPos.x += tmpPos.z * cM_ssin(parentRotY) + tmpPos.x * cM_scos(parentRotY); + parentPos.y += tmpPos.y; + parentPos.z += tmpPos.z * cM_scos(parentRotY) - tmpPos.x * cM_ssin(parentRotY); + fopAcM_prm_class* prmClass = createAppend(0xFFFF, actorParams, &parentPos, roomNo, &tmpRotCopy, + pScale, subType, parentProcID); + if (prmClass == NULL) { + return -1; + } else { + return fpcSCtRq_Request(fpcLy_CurrentLayer(), procTypeID, (stdCreateFunc)pCreateFunc, NULL, + prmClass); + } } -#pragma pop /* ############################################################################################## */ /* 803788C8-803788C8 004F28 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ @@ -699,117 +672,158 @@ SECTION_DEAD static char const* const stringBase_8037890A = "アクターのヒ /* 8001A138-8001A188 014A78 0050+00 0/0 1/1 1/1 .text fopAcM_DeleteHeap__FP10fopAc_ac_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void fopAcM_DeleteHeap(fopAc_ac_c* param_0) { - nofralloc -#include "asm/f_op/f_op_actor_mng/fopAcM_DeleteHeap__FP10fopAc_ac_c.s" +void fopAcM_DeleteHeap(fopAc_ac_c* pActor) { + fopAcM_Log(pActor, "アクターのヒープの破壊"); + if (pActor->unk_0x0F0 != NULL) { + mDoExt_destroySolidHeap(pActor->unk_0x0F0); + pActor->unk_0x0F0 = NULL; + } } -#pragma pop /* 8001A188-8001A1E8 014AC8 0060+00 1/1 0/0 0/0 .text * fopAcM_callCallback__FP10fopAc_ac_cPFP10fopAc_ac_c_iP7JKRHeap */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void fopAcM_callCallback(fopAc_ac_c* param_0, int (*param_1)(fopAc_ac_c*), - JKRHeap* param_2) { - nofralloc -#include "asm/f_op/f_op_actor_mng/fopAcM_callCallback__FP10fopAc_ac_cPFP10fopAc_ac_c_iP7JKRHeap.s" +s32 fopAcM_callCallback(fopAc_ac_c* pActor, heapCallbackFunc pCallbackFunc, JKRHeap* pHeap) { + JKRHeap* oldHeap = mDoExt_setCurrentHeap(pHeap); + s32 ret = pCallbackFunc(pActor); + mDoExt_setCurrentHeap(oldHeap); + return ret; } -#pragma pop - -/* ############################################################################################## */ -/* 803788C8-803788C8 004F28 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80378921 = - "見積もりヒープサイズ(%08x)で登録失敗しました。%08x[%s]\n"; -SECTION_DEAD static char const* const stringBase_80378959 = - "見積もりヒープが確保できませんでした。 %08x [%s]\n"; -SECTION_DEAD static char const* const stringBase_8037898B = - "最大空きヒープサイズで確保失敗。[%s]\n"; -SECTION_DEAD static char const* const stringBase_803789B1 = - "最大空きヒープサイズで登録失敗。%08x[%s]\n"; -SECTION_DEAD static char const* const stringBase_803789DB = "ぴったりサイズで、登録失敗?(バグ)\n"; -SECTION_DEAD static char const* const stringBase_803789FF = "ばぐばぐです\n"; -SECTION_DEAD static char const* const stringBase_80378A0D = "緊急回避措置\n"; -SECTION_DEAD static char const* const stringBase_80378A1B = - "fopAcM_entrySolidHeap だめでした [%s]\n"; -#pragma pop /* 80450CC8-80450CCC -00001 0004+00 2/2 0/0 0/0 .sbss None */ /* 80450CC8 0001+00 data_80450CC8 None */ /* 80450CC9 0003+00 data_80450CC9 None */ -static u8 struct_80450CC8[4]; +static u8 lbl_80450CC8; +static u8 lbl_80450CC9; /* 8001A1E8-8001A4B0 014B28 02C8+00 1/1 0/0 0/0 .text * fopAcM_entrySolidHeap___FP10fopAc_ac_cPFP10fopAc_ac_c_iUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void fopAcM_entrySolidHeap_(fopAc_ac_c* param_0, int (*param_1)(fopAc_ac_c*), - u32 param_2) { - nofralloc -#include "asm/f_op/f_op_actor_mng/fopAcM_entrySolidHeap___FP10fopAc_ac_cPFP10fopAc_ac_c_iUl.s" +bool fopAcM_entrySolidHeap_(fopAc_ac_c* pActor, heapCallbackFunc pHeapCallback, u32 pSize) { + const char* procNameString = fopAcM_getProcNameString(pActor); + JKRSolidHeap* heap00 = NULL; + if (pSize != 0) { + pSize = ALIGN_NEXT(pSize, 0x10); + } + while (true) { + if (pSize != 0) { + heap00 = mDoExt_createSolidHeapFromGame(pSize, 0x20); + if (heap00 != NULL) { + bool status = fopAcM_callCallback(pActor, pHeapCallback, heap00) != 0; + if (!status) { + OSReport_Error("見積もりヒープサイズ(%08x)で登録失敗しました。%08x[%s]\n", + pSize, heap00->getFreeSize(), procNameString); + mDoExt_destroySolidHeap(heap00); + heap00 = NULL; + } + } else { + OSReport_Error("見積もりヒープが確保できませんでした。 %08x [%s]\n", pSize, + procNameString); + } + } + if (heap00 == NULL) { + heap00 = mDoExt_createSolidHeapFromGame(0xFFFFFFFF, 0x20); + if (heap00 == NULL) { + OSReport_Error("最大空きヒープサイズで確保失敗。[%s]\n", procNameString); + return false; + } + bool status = fopAcM_callCallback(pActor, pHeapCallback, heap00) != 0; + if (!status) { + OSReport_Error("最大空きヒープサイズで登録失敗。%08x[%s]\n", heap00->getFreeSize(), + procNameString); + mDoExt_destroySolidHeap(heap00); + return false; + } + } + if (heap00 == NULL) { + break; + } + if (lbl_80450CC8 == 0) { + mDoExt_adjustSolidHeap(heap00); + pActor->unk_0x0F0 = heap00; + return true; + } else { + JKRSolidHeap* heap = NULL; + u32 heap00Size = heap00->getSize(); + u32 alignedSize = ALIGN_NEXT(heap00Size - heap00->getFreeSize(), 0x20); + if (alignedSize + 0x90 < mDoExt_getGameHeap()->getFreeSize()) { + heap = mDoExt_createSolidHeapFromGame(alignedSize, 0x20); + } + if (heap != NULL) { + if (heap < heap00) { + mDoExt_destroySolidHeap(heap00); + heap00 = NULL; + bool status = fopAcM_callCallback(pActor, pHeapCallback, heap) != 0; + if (!status) { + OSReport_Error("ぴったりサイズで、登録失敗?(バグ)\n"); + mDoExt_destroySolidHeap(heap); + heap = NULL; + } + } else { + mDoExt_destroySolidHeap(heap); + heap = NULL; + } + } + if (heap != NULL) { + mDoExt_adjustSolidHeap(heap); + pActor->unk_0x0F0 = heap; + return true; + } + if (heap00 != NULL) { + mDoExt_adjustSolidHeap(heap00); + pActor->unk_0x0F0 = heap00; + return true; + } + OSReport_Error("ばぐばぐです\n"); + OSReport_Error("緊急回避措置\n"); + lbl_80450CC8 = 0; + } + } + OSReport_Error("fopAcM_entrySolidHeap だめでした [%s]\n", procNameString); + return false; } -#pragma pop /* 8001A4B0-8001A528 014DF0 0078+00 0/0 4/4 446/446 .text * fopAcM_entrySolidHeap__FP10fopAc_ac_cPFP10fopAc_ac_c_iUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void fopAcM_entrySolidHeap(fopAc_ac_c* param_0, int (*param_1)(fopAc_ac_c*), u32 param_2) { - nofralloc -#include "asm/f_op/f_op_actor_mng/fopAcM_entrySolidHeap__FP10fopAc_ac_cPFP10fopAc_ac_c_iUl.s" +bool fopAcM_entrySolidHeap(fopAc_ac_c* pActor, heapCallbackFunc pHeapCallback, u32 size) { + u8 oldCC9 = lbl_80450CC9; + if (size & 0x80000000) { + lbl_80450CC9 = 1; + } + u8 oldCC8 = lbl_80450CC8; + if (size & 0x20000000) { + lbl_80450CC8 = 0; + } else if (size & 0x10000000) { + lbl_80450CC8 = 1; + } + bool result = fopAcM_entrySolidHeap_(pActor, pHeapCallback, size & 0xFFFFFF); + lbl_80450CC9 = oldCC9; + lbl_80450CC8 = oldCC8; + return result; } -#pragma pop /* 8001A528-8001A538 014E68 0010+00 0/0 0/0 136/136 .text fopAcM_SetMin__FP10fopAc_ac_cfff */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void fopAcM_SetMin(fopAc_ac_c* param_0, f32 param_1, f32 param_2, f32 param_3) { - nofralloc -#include "asm/f_op/f_op_actor_mng/fopAcM_SetMin__FP10fopAc_ac_cfff.s" +void fopAcM_SetMin(fopAc_ac_c* pActor, f32 minX, f32 minY, f32 minZ) { + pActor->mCull.mBox.mMin.set(minX, minY, minZ); } -#pragma pop /* 8001A538-8001A548 014E78 0010+00 0/0 0/0 136/136 .text fopAcM_SetMax__FP10fopAc_ac_cfff */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void fopAcM_SetMax(fopAc_ac_c* param_0, f32 param_1, f32 param_2, f32 param_3) { - nofralloc -#include "asm/f_op/f_op_actor_mng/fopAcM_SetMax__FP10fopAc_ac_cfff.s" +void fopAcM_SetMax(fopAc_ac_c* pActor, f32 maxX, f32 maxY, f32 maxZ) { + pActor->mCull.mBox.mMax.set(maxX, maxY, maxZ); } -#pragma pop /* 8001A548-8001A564 014E88 001C+00 1/1 0/0 260/260 .text * fopAcM_setCullSizeBox__FP10fopAc_ac_cffffff */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void fopAcM_setCullSizeBox(fopAc_ac_c* param_0, f32 param_1, f32 param_2, f32 param_3, - f32 param_4, f32 param_5, f32 param_6) { - nofralloc -#include "asm/f_op/f_op_actor_mng/fopAcM_setCullSizeBox__FP10fopAc_ac_cffffff.s" +void fopAcM_setCullSizeBox(fopAc_ac_c* pActor, f32 minX, f32 minY, f32 minZ, f32 maxX, f32 maxY, + f32 maxZ) { + pActor->mCull.mBox.mMin.set(minX, minY, minZ); + pActor->mCull.mBox.mMax.set(maxX, maxY, maxZ); } -#pragma pop /* 8001A564-8001A578 014EA4 0014+00 0/0 0/0 4/4 .text fopAcM_setCullSizeSphere__FP10fopAc_ac_cffff */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void fopAcM_setCullSizeSphere(fopAc_ac_c* param_0, f32 param_1, f32 param_2, f32 param_3, - f32 param_4) { - nofralloc -#include "asm/f_op/f_op_actor_mng/fopAcM_setCullSizeSphere__FP10fopAc_ac_cffff.s" +void fopAcM_setCullSizeSphere(fopAc_ac_c* pActor, f32 minX, f32 minY, f32 minZ, f32 radius) { + pActor->mCull.mSphere.mCenter.set(minX, minY, minZ); + pActor->mCull.mSphere.mRadius = radius; } -#pragma pop /* 8001A578-8001A5DC 014EB8 0064+00 0/0 0/0 123/123 .text * fopAcM_setCullSizeBox2__FP10fopAc_ac_cP12J3DModelData */ @@ -824,56 +838,71 @@ asm void fopAcM_setCullSizeBox2(fopAc_ac_c* param_0, J3DModelData* param_1) { /* 8001A5DC-8001A60C 014F1C 0030+00 0/0 0/0 1/1 .text fopAcM_addAngleY__FP10fopAc_ac_css */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void fopAcM_addAngleY(fopAc_ac_c* param_0, s16 param_1, s16 param_2) { - nofralloc -#include "asm/f_op/f_op_actor_mng/fopAcM_addAngleY__FP10fopAc_ac_css.s" +bool fopAcM_addAngleY(fopAc_ac_c* pActor, s16 target, s16 step) { + return cLib_chaseAngleS(&fopAcM_GetAngle_p(pActor).y, target, step); +} + +inline void fopAcM_SetSpeed(fopAc_ac_c* pActor, f32 speedX, f32 speedY, f32 speedZ) { + pActor->mSpeed.set(speedX, speedY, speedZ); +} + +inline f32 fopAcM_GetSpeedF(const fopAc_ac_c* pActor) { + return pActor->mSpeedF; +} + +inline f32 fopAcM_GetGravity(const fopAc_ac_c* pActor) { + return pActor->mGravity; +} + +inline f32 fopAcM_GetMaxFallSpeed(const fopAc_ac_c* pActor) { + return pActor->mMaxFallSpeed; +} + +inline const cXyz& fopAcM_GetSpeed_p(const fopAc_ac_c* pActor) { + return pActor->mSpeed; +} + +inline const cXyz& fopAcM_GetPosition_p(const fopAc_ac_c* pActor) { + return pActor->mCurrent.mPosition; +} + +inline void clampMin(f32& val, f32 min) { + if (val < min) { + val = min; + } } -#pragma pop /* 8001A60C-8001A660 014F4C 0054+00 1/1 0/0 8/8 .text fopAcM_calcSpeed__FP10fopAc_ac_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void fopAcM_calcSpeed(fopAc_ac_c* param_0) { - nofralloc -#include "asm/f_op/f_op_actor_mng/fopAcM_calcSpeed__FP10fopAc_ac_c.s" +void fopAcM_calcSpeed(fopAc_ac_c* pActor) { + f32 speedF = fopAcM_GetSpeedF(pActor); + f32 gravity = fopAcM_GetGravity(pActor); + f32 xSpeed = speedF * cM_ssin(pActor->getAngle().GetY()); + f32 ySpeed = pActor->mSpeed.y + gravity; + f32 zSpeed = speedF * cM_scos(pActor->getAngle().GetY()); + clampMin(ySpeed, fopAcM_GetMaxFallSpeed(pActor)); + fopAcM_SetSpeed(pActor, xSpeed, ySpeed, zSpeed); } -#pragma pop /* 8001A660-8001A6CC 014FA0 006C+00 1/1 1/1 17/17 .text fopAcM_posMove__FP10fopAc_ac_cPC4cXyz */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void fopAcM_posMove(fopAc_ac_c* param_0, cXyz const* param_1) { - nofralloc -#include "asm/f_op/f_op_actor_mng/fopAcM_posMove__FP10fopAc_ac_cPC4cXyz.s" +void fopAcM_posMove(fopAc_ac_c* pActor, const cXyz* pXyz) { + pActor->mCurrent.mPosition += pActor->mSpeed; + if (pXyz != NULL) { + pActor->mCurrent.mPosition += *pXyz; + } } -#pragma pop /* 8001A6CC-8001A710 01500C 0044+00 0/0 5/5 137/137 .text fopAcM_posMoveF__FP10fopAc_ac_cPC4cXyz */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void fopAcM_posMoveF(fopAc_ac_c* param_0, cXyz const* param_1) { - nofralloc -#include "asm/f_op/f_op_actor_mng/fopAcM_posMoveF__FP10fopAc_ac_cPC4cXyz.s" +void fopAcM_posMoveF(fopAc_ac_c* pActor, const cXyz* pXyz) { + fopAcM_calcSpeed(pActor); + fopAcM_posMove(pActor, pXyz); } -#pragma pop /* 8001A710-8001A738 015050 0028+00 1/1 26/26 596/596 .text * fopAcM_searchActorAngleY__FPC10fopAc_ac_cPC10fopAc_ac_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void fopAcM_searchActorAngleY(fopAc_ac_c const* param_0, fopAc_ac_c const* param_1) { - nofralloc -#include "asm/f_op/f_op_actor_mng/fopAcM_searchActorAngleY__FPC10fopAc_ac_cPC10fopAc_ac_c.s" +s16 fopAcM_searchActorAngleY(const fopAc_ac_c* pActorA, const fopAc_ac_c* pActorB) { + return cLib_targetAngleY(&pActorA->mCurrent.mPosition, &pActorB->mCurrent.mPosition); } -#pragma pop /* ############################################################################################## */ /* 80451C04-80451C08 000204 0004+00 13/13 0/0 0/0 .sdata2 @4645 */ @@ -884,27 +913,44 @@ SECTION_SDATA2 static u8 lit_4645[4] = { 0x00, }; +inline f32 JMAFastSqrt__Ff(f32 f) { + if (f > /* 0.0f */ FLOAT_LABEL(lit_4645)) { + f *= __frsqrte(f); // generates a useless frsp + } + return f; +} + +inline f32 square(f32 f) { + return f * f; +} + /* 8001A738-8001A79C 015078 0064+00 0/0 0/0 13/13 .text * fopAcM_searchActorAngleX__FPC10fopAc_ac_cPC10fopAc_ac_c */ +#ifdef NON_MATCHING +s16 fopAcM_searchActorAngleX(const fopAc_ac_c* pActorA, const fopAc_ac_c* pActorB) { + const cXyz& posA = fopAcM_GetPosition_p(pActorA); + const cXyz& posB = fopAcM_GetPosition_p(pActorB); + return cM_atan2s(posB.y - posA.y, + JMAFastSqrt__Ff(square(posB.x - posA.x) + square(posB.z - posA.z))); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void fopAcM_searchActorAngleX(fopAc_ac_c const* param_0, fopAc_ac_c const* param_1) { +asm s16 fopAcM_searchActorAngleX(fopAc_ac_c const* param_0, fopAc_ac_c const* param_1) { nofralloc #include "asm/f_op/f_op_actor_mng/fopAcM_searchActorAngleX__FPC10fopAc_ac_cPC10fopAc_ac_c.s" } #pragma pop +#endif /* 8001A79C-8001A7E0 0150DC 0044+00 0/0 3/3 15/15 .text * fopAcM_seenActorAngleY__FPC10fopAc_ac_cPC10fopAc_ac_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void fopAcM_seenActorAngleY(fopAc_ac_c const* param_0, fopAc_ac_c const* param_1) { - nofralloc -#include "asm/f_op/f_op_actor_mng/fopAcM_seenActorAngleY__FPC10fopAc_ac_cPC10fopAc_ac_c.s" +s32 fopAcM_seenActorAngleY(const fopAc_ac_c* pActorA, const fopAc_ac_c* pActorB) { + return abs(static_cast( + cLib_targetAngleY(&pActorA->mCurrent.mPosition, &pActorB->mCurrent.mPosition) - + pActorA->mCollisionRot.y)); } -#pragma pop /* ############################################################################################## */ /* 80451C08-80451C10 000208 0008+00 3/3 0/0 0/0 .sdata2 @4745 */ @@ -918,49 +964,74 @@ SECTION_SDATA2 static u8 lit_4747[8] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }; +inline f32 local_sqrtf(f32 mag) { + if (mag > FLOAT_LABEL(lit_4645)) { + f64 tmpd = __frsqrte(mag); + tmpd = DOUBLE_LABEL(lit_4745) * tmpd * (DOUBLE_LABEL(lit_4746) - tmpd * tmpd * mag); + tmpd = DOUBLE_LABEL(lit_4745) * tmpd * (DOUBLE_LABEL(lit_4746) - tmpd * tmpd * mag); + return DOUBLE_LABEL(lit_4745) * tmpd * (DOUBLE_LABEL(lit_4746) - tmpd * tmpd * mag) * mag; + } else if (mag < DOUBLE_LABEL(lit_4747)) { + return __float_nan[0]; + } else if (fpclassify(mag) == 1) { + return __float_nan[0]; + } else { + return mag; + } +} + /* 8001A7E0-8001A914 015120 0134+00 0/0 5/5 188/188 .text * fopAcM_searchActorDistance__FPC10fopAc_ac_cPC10fopAc_ac_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void fopAcM_searchActorDistance(fopAc_ac_c const* param_0, fopAc_ac_c const* param_1) { - nofralloc -#include "asm/f_op/f_op_actor_mng/fopAcM_searchActorDistance__FPC10fopAc_ac_cPC10fopAc_ac_c.s" +f32 fopAcM_searchActorDistance(const fopAc_ac_c* pActorA, const fopAc_ac_c* pActorB) { + cXyz tmp = (pActorB->mCurrent.mPosition - pActorA->mCurrent.mPosition); + return local_sqrtf(tmp.abs2()); } -#pragma pop /* 8001A914-8001A964 015254 0050+00 0/0 0/0 2/2 .text * fopAcM_searchActorDistance2__FPC10fopAc_ac_cPC10fopAc_ac_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void fopAcM_searchActorDistance2(fopAc_ac_c const* param_0, fopAc_ac_c const* param_1) { - nofralloc -#include "asm/f_op/f_op_actor_mng/fopAcM_searchActorDistance2__FPC10fopAc_ac_cPC10fopAc_ac_c.s" +f32 fopAcM_searchActorDistance2(const fopAc_ac_c* pActorA, const fopAc_ac_c* pActorB) { + cXyz tmp = (pActorB->mCurrent.mPosition - pActorA->mCurrent.mPosition); + return tmp.abs2(); } -#pragma pop /* 8001A964-8001AA94 0152A4 0130+00 0/0 3/3 125/125 .text * fopAcM_searchActorDistanceXZ__FPC10fopAc_ac_cPC10fopAc_ac_c */ +#ifdef NON_MATCHING +// matches besides data +f32 fopAcM_searchActorDistanceXZ(const fopAc_ac_c* pActorA, const fopAc_ac_c* pActorB) { + const cXyz& posA = fopAcM_GetPosition_p(pActorA); + const cXyz& posB = fopAcM_GetPosition_p(pActorB); + return sqrtf((posB - posA).abs2XZ()); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void fopAcM_searchActorDistanceXZ(fopAc_ac_c const* param_0, fopAc_ac_c const* param_1) { +asm f32 fopAcM_searchActorDistanceXZ(fopAc_ac_c const* param_0, fopAc_ac_c const* param_1) { nofralloc #include "asm/f_op/f_op_actor_mng/fopAcM_searchActorDistanceXZ__FPC10fopAc_ac_cPC10fopAc_ac_c.s" } #pragma pop +#endif /* 8001AA94-8001AAE0 0153D4 004C+00 1/1 4/4 30/30 .text * fopAcM_searchActorDistanceXZ2__FPC10fopAc_ac_cPC10fopAc_ac_c */ +#ifdef NON_MATCHING +// matches besides data +f32 fopAcM_searchActorDistanceXZ2(const fopAc_ac_c* pActorA, const fopAc_ac_c* pActorB) { + const cXyz& posA = fopAcM_GetPosition_p(pActorA); + const cXyz& posB = fopAcM_GetPosition_p(pActorB); + return (posB - posA).abs2XZ(); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void fopAcM_searchActorDistanceXZ2(fopAc_ac_c const* param_0, fopAc_ac_c const* param_1) { +asm f32 fopAcM_searchActorDistanceXZ2(fopAc_ac_c const* param_0, fopAc_ac_c const* param_1) { nofralloc #include "asm/f_op/f_op_actor_mng/fopAcM_searchActorDistanceXZ2__FPC10fopAc_ac_cPC10fopAc_ac_c.s" } #pragma pop +#endif /* ############################################################################################## */ /* 80451C20-80451C24 000220 0004+00 1/1 0/0 0/0 .sdata2 @4922 */ @@ -974,36 +1045,21 @@ SECTION_SDATA2 static f32 lit_4923 = 55.0f; #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void fopAcM_rollPlayerCrash(fopAc_ac_c const* param_0, f32 param_1, u32 param_2, f32 param_3, - f32 param_4, int param_5, f32 param_6) { +asm s32 fopAcM_rollPlayerCrash(fopAc_ac_c const* param_0, f32 param_1, u32 param_2, f32 param_3, + f32 param_4, int param_5, f32 param_6) { nofralloc #include "asm/f_op/f_op_actor_mng/fopAcM_rollPlayerCrash__FPC10fopAc_ac_cfUlffif.s" } #pragma pop -/* ############################################################################################## */ -/* 80378880-8037888C 004EE0 000C+00 1/1 0/0 0/0 .rodata @4932 */ -SECTION_RODATA static u8 const lit_4932[12] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80378880, &lit_4932); - -/* 8037888C-80378898 004EEC 000C+00 1/1 0/0 0/0 .rodata @4933 */ -SECTION_RODATA static u8 const lit_4933[12] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x8037888C, &lit_4933); - /* 8001AC40-8001ACEC 015580 00AC+00 0/0 0/0 2/2 .text fopAcM_checkCullingBox__FPA4_fffffff */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void fopAcM_checkCullingBox(f32 (*param_0)[4], f32 param_1, f32 param_2, f32 param_3, - f32 param_4, f32 param_5, f32 param_6) { - nofralloc -#include "asm/f_op/f_op_actor_mng/fopAcM_checkCullingBox__FPA4_fffffff.s" +s32 fopAcM_checkCullingBox(Mtx pMtx, f32 x1, f32 y1, f32 z1, f32 x2, f32 y2, f32 z2) { + Vec tmp1 = {x1, y1, z1}; + Vec tmp2 = {x2, y2, z2}; + Mtx tmpMtx; + PSMTXConcat(j3dSys.mMtx, pMtx, tmpMtx); + return mDoLib_clipper::mClipper.clip(tmpMtx, &tmp2, &tmp1) != 0; } -#pragma pop /* ############################################################################################## */ /* 803A35F0-803A3740 000710 0150+00 1/1 0/0 0/0 .data l_cullSizeBox */ @@ -1047,7 +1103,7 @@ SECTION_DATA static u8 l_cullSizeSphere[128] = { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void fopAcM_cullingCheck(fopAc_ac_c const* param_0) { +asm s32 fopAcM_cullingCheck(fopAc_ac_c const* param_0) { nofralloc #include "asm/f_op/f_op_actor_mng/fopAcM_cullingCheck__FPC10fopAc_ac_c.s" } @@ -1057,7 +1113,7 @@ asm void fopAcM_cullingCheck(fopAc_ac_c const* param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void event_second_actor(u16 param_0) { +asm s32 event_second_actor(u16 param_0) { nofralloc #include "asm/f_op/f_op_actor_mng/event_second_actor__FUs.s" } @@ -1068,7 +1124,7 @@ static asm void event_second_actor(u16 param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void fopAcM_orderTalkEvent(fopAc_ac_c* param_0, fopAc_ac_c* param_1, u16 param_2, u16 param_3) { +asm s32 fopAcM_orderTalkEvent(fopAc_ac_c* param_0, fopAc_ac_c* param_1, u16 param_2, u16 param_3) { nofralloc #include "asm/f_op/f_op_actor_mng/fopAcM_orderTalkEvent__FP10fopAc_ac_cP10fopAc_ac_cUsUs.s" } @@ -1079,8 +1135,8 @@ asm void fopAcM_orderTalkEvent(fopAc_ac_c* param_0, fopAc_ac_c* param_1, u16 par #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void fopAcM_orderTalkItemBtnEvent(u16 param_0, fopAc_ac_c* param_1, fopAc_ac_c* param_2, - u16 param_3, u16 param_4) { +asm s32 fopAcM_orderTalkItemBtnEvent(u16 param_0, fopAc_ac_c* param_1, fopAc_ac_c* param_2, + u16 param_3, u16 param_4) { nofralloc #include "asm/f_op/f_op_actor_mng/fopAcM_orderTalkItemBtnEvent__FUsP10fopAc_ac_cP10fopAc_ac_cUsUs.s" } @@ -1091,7 +1147,7 @@ asm void fopAcM_orderTalkItemBtnEvent(u16 param_0, fopAc_ac_c* param_1, fopAc_ac #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void fopAcM_orderSpeakEvent(fopAc_ac_c* param_0, u16 param_1, u16 param_2) { +asm s32 fopAcM_orderSpeakEvent(fopAc_ac_c* param_0, u16 param_1, u16 param_2) { nofralloc #include "asm/f_op/f_op_actor_mng/fopAcM_orderSpeakEvent__FP10fopAc_ac_cUsUs.s" } @@ -1102,7 +1158,7 @@ asm void fopAcM_orderSpeakEvent(fopAc_ac_c* param_0, u16 param_1, u16 param_2) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void fopAcM_orderDoorEvent(fopAc_ac_c* param_0, fopAc_ac_c* param_1, u16 param_2, u16 param_3) { +asm s32 fopAcM_orderDoorEvent(fopAc_ac_c* param_0, fopAc_ac_c* param_1, u16 param_2, u16 param_3) { nofralloc #include "asm/f_op/f_op_actor_mng/fopAcM_orderDoorEvent__FP10fopAc_ac_cP10fopAc_ac_cUsUs.s" } @@ -1113,8 +1169,7 @@ asm void fopAcM_orderDoorEvent(fopAc_ac_c* param_0, fopAc_ac_c* param_1, u16 par #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void fopAcM_orderCatchEvent(fopAc_ac_c* param_0, fopAc_ac_c* param_1, u16 param_2, - u16 param_3) { +asm s32 fopAcM_orderCatchEvent(fopAc_ac_c* param_0, fopAc_ac_c* param_1, u16 param_2, u16 param_3) { nofralloc #include "asm/f_op/f_op_actor_mng/fopAcM_orderCatchEvent__FP10fopAc_ac_cP10fopAc_ac_cUsUs.s" } @@ -1125,8 +1180,8 @@ asm void fopAcM_orderCatchEvent(fopAc_ac_c* param_0, fopAc_ac_c* param_1, u16 pa #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void fopAcM_orderOtherEvent(fopAc_ac_c* param_0, char const* param_1, u16 param_2, u16 param_3, - u16 param_4) { +asm s32 fopAcM_orderOtherEvent(fopAc_ac_c* param_0, char const* param_1, u16 param_2, u16 param_3, + u16 param_4) { nofralloc #include "asm/f_op/f_op_actor_mng/fopAcM_orderOtherEvent__FP10fopAc_ac_cPCcUsUsUs.s" } @@ -1137,8 +1192,8 @@ asm void fopAcM_orderOtherEvent(fopAc_ac_c* param_0, char const* param_1, u16 pa #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void fopAcM_orderOtherEvent(fopAc_ac_c* param_0, fopAc_ac_c* param_1, char const* param_2, - u16 param_3, u16 param_4, u16 param_5) { +asm s32 fopAcM_orderOtherEvent(fopAc_ac_c* param_0, fopAc_ac_c* param_1, char const* param_2, + u16 param_3, u16 param_4, u16 param_5) { nofralloc #include "asm/f_op/f_op_actor_mng/fopAcM_orderOtherEvent__FP10fopAc_ac_cP10fopAc_ac_cPCcUsUsUs.s" } @@ -1149,7 +1204,7 @@ asm void fopAcM_orderOtherEvent(fopAc_ac_c* param_0, fopAc_ac_c* param_1, char c #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void fopAcM_orderChangeEventId(fopAc_ac_c* param_0, s16 param_1, u16 param_2, u16 param_3) { +asm s32 fopAcM_orderChangeEventId(fopAc_ac_c* param_0, s16 param_1, u16 param_2, u16 param_3) { nofralloc #include "asm/f_op/f_op_actor_mng/fopAcM_orderChangeEventId__FP10fopAc_ac_csUsUs.s" } @@ -1160,8 +1215,8 @@ asm void fopAcM_orderChangeEventId(fopAc_ac_c* param_0, s16 param_1, u16 param_2 #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void fopAcM_orderOtherEventId(fopAc_ac_c* param_0, s16 param_1, u8 param_2, u16 param_3, - u16 param_4, u16 param_5) { +asm s32 fopAcM_orderOtherEventId(fopAc_ac_c* param_0, s16 param_1, u8 param_2, u16 param_3, + u16 param_4, u16 param_5) { nofralloc #include "asm/f_op/f_op_actor_mng/fopAcM_orderOtherEventId__FP10fopAc_ac_csUcUsUsUs.s" } @@ -1172,8 +1227,8 @@ asm void fopAcM_orderOtherEventId(fopAc_ac_c* param_0, s16 param_1, u8 param_2, #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void fopAcM_orderMapToolEvent(fopAc_ac_c* param_0, u8 param_1, s16 param_2, u16 param_3, - u16 param_4, u16 param_5) { +asm s32 fopAcM_orderMapToolEvent(fopAc_ac_c* param_0, u8 param_1, s16 param_2, u16 param_3, + u16 param_4, u16 param_5) { nofralloc #include "asm/f_op/f_op_actor_mng/fopAcM_orderMapToolEvent__FP10fopAc_ac_cUcsUsUsUs.s" } @@ -1184,8 +1239,8 @@ asm void fopAcM_orderMapToolEvent(fopAc_ac_c* param_0, u8 param_1, s16 param_2, #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void fopAcM_orderMapToolAutoNextEvent(fopAc_ac_c* param_0, u8 param_1, s16 param_2, u16 param_3, - u16 param_4, u16 param_5) { +asm s32 fopAcM_orderMapToolAutoNextEvent(fopAc_ac_c* param_0, u8 param_1, s16 param_2, u16 param_3, + u16 param_4, u16 param_5) { nofralloc #include "asm/f_op/f_op_actor_mng/fopAcM_orderMapToolAutoNextEvent__FP10fopAc_ac_cUcsUsUsUs.s" } @@ -1196,7 +1251,7 @@ asm void fopAcM_orderMapToolAutoNextEvent(fopAc_ac_c* param_0, u8 param_1, s16 p #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void fopAcM_orderPotentialEvent(fopAc_ac_c* param_0, u16 param_1, u16 param_2, u16 param_3) { +asm s32 fopAcM_orderPotentialEvent(fopAc_ac_c* param_0, u16 param_1, u16 param_2, u16 param_3) { nofralloc #include "asm/f_op/f_op_actor_mng/fopAcM_orderPotentialEvent__FP10fopAc_ac_cUsUsUs.s" } @@ -1207,7 +1262,7 @@ asm void fopAcM_orderPotentialEvent(fopAc_ac_c* param_0, u16 param_1, u16 param_ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void fopAcM_orderItemEvent(fopAc_ac_c* param_0, u16 param_1, u16 param_2) { +asm s32 fopAcM_orderItemEvent(fopAc_ac_c* param_0, u16 param_1, u16 param_2) { nofralloc #include "asm/f_op/f_op_actor_mng/fopAcM_orderItemEvent__FP10fopAc_ac_cUsUs.s" } @@ -1218,8 +1273,8 @@ asm void fopAcM_orderItemEvent(fopAc_ac_c* param_0, u16 param_1, u16 param_2) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void fopAcM_orderTreasureEvent(fopAc_ac_c* param_0, fopAc_ac_c* param_1, u16 param_2, - u16 param_3) { +asm s32 fopAcM_orderTreasureEvent(fopAc_ac_c* param_0, fopAc_ac_c* param_1, u16 param_2, + u16 param_3) { nofralloc #include "asm/f_op/f_op_actor_mng/fopAcM_orderTreasureEvent__FP10fopAc_ac_cP10fopAc_ac_cUsUs.s" } @@ -1230,7 +1285,7 @@ asm void fopAcM_orderTreasureEvent(fopAc_ac_c* param_0, fopAc_ac_c* param_1, u16 #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void fopAcM_getTalkEventPartner(fopAc_ac_c const* param_0) { +asm s32 fopAcM_getTalkEventPartner(fopAc_ac_c const* param_0) { nofralloc #include "asm/f_op/f_op_actor_mng/fopAcM_getTalkEventPartner__FPC10fopAc_ac_c.s" } @@ -1241,7 +1296,7 @@ asm void fopAcM_getTalkEventPartner(fopAc_ac_c const* param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void fopAcM_getItemEventPartner(fopAc_ac_c const* param_0) { +asm s32 fopAcM_getItemEventPartner(fopAc_ac_c const* param_0) { nofralloc #include "asm/f_op/f_op_actor_mng/fopAcM_getItemEventPartner__FPC10fopAc_ac_c.s" } @@ -1251,7 +1306,7 @@ asm void fopAcM_getItemEventPartner(fopAc_ac_c const* param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void fopAcM_getEventPartner(fopAc_ac_c const* param_0) { +asm s32 fopAcM_getEventPartner(fopAc_ac_c const* param_0) { nofralloc #include "asm/f_op/f_op_actor_mng/fopAcM_getEventPartner__FPC10fopAc_ac_c.s" } @@ -1262,8 +1317,8 @@ asm void fopAcM_getEventPartner(fopAc_ac_c const* param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void fopAcM_createItemForPresentDemo(cXyz const* param_0, int param_1, u8 param_2, int param_3, - int param_4, csXyz const* param_5, cXyz const* param_6) { +asm s32 fopAcM_createItemForPresentDemo(cXyz const* param_0, int param_1, u8 param_2, int param_3, + int param_4, csXyz const* param_5, cXyz const* param_6) { nofralloc #include "asm/f_op/f_op_actor_mng/fopAcM_createItemForPresentDemo__FPC4cXyziUciiPC5csXyzPC4cXyz.s" } @@ -1274,8 +1329,8 @@ asm void fopAcM_createItemForPresentDemo(cXyz const* param_0, int param_1, u8 pa #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void fopAcM_createItemForTrBoxDemo(cXyz const* param_0, int param_1, int param_2, int param_3, - csXyz const* param_4, cXyz const* param_5) { +asm s32 fopAcM_createItemForTrBoxDemo(cXyz const* param_0, int param_1, int param_2, int param_3, + csXyz const* param_4, cXyz const* param_5) { nofralloc #include "asm/f_op/f_op_actor_mng/fopAcM_createItemForTrBoxDemo__FPC4cXyziiiPC5csXyzPC4cXyz.s" } @@ -1289,7 +1344,7 @@ SECTION_SDATA2 static f32 lit_5584 = 15.999899864196777f; #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void fopAcM_getItemNoFromTableNo(u8 param_0) { +asm s32 fopAcM_getItemNoFromTableNo(u8 param_0) { nofralloc #include "asm/f_op/f_op_actor_mng/fopAcM_getItemNoFromTableNo__FUc.s" } @@ -1300,9 +1355,9 @@ static asm void fopAcM_getItemNoFromTableNo(u8 param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void fopAcM_createItemFromEnemyID(u8 param_0, cXyz const* param_1, int param_2, int param_3, - csXyz const* param_4, cXyz const* param_5, f32* param_6, - f32* param_7) { +asm s32 fopAcM_createItemFromEnemyID(u8 param_0, cXyz const* param_1, int param_2, int param_3, + csXyz const* param_4, cXyz const* param_5, f32* param_6, + f32* param_7) { nofralloc #include "asm/f_op/f_op_actor_mng/fopAcM_createItemFromEnemyID__FUcPC4cXyziiPC5csXyzPC4cXyzPfPf.s" } @@ -1313,9 +1368,9 @@ asm void fopAcM_createItemFromEnemyID(u8 param_0, cXyz const* param_1, int param #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void fopAcM_createItemFromTable(cXyz const* param_0, int param_1, int param_2, int param_3, - csXyz const* param_4, int param_5, cXyz const* param_6, - f32* param_7, f32* param_8, bool param_9) { +asm s32 fopAcM_createItemFromTable(cXyz const* param_0, int param_1, int param_2, int param_3, + csXyz const* param_4, int param_5, cXyz const* param_6, + f32* param_7, f32* param_8, bool param_9) { nofralloc #include "asm/f_op/f_op_actor_mng/fopAcM_createItemFromTable__FPC4cXyziiiPC5csXyziPC4cXyzPfPfb.s" } @@ -1323,68 +1378,75 @@ asm void fopAcM_createItemFromTable(cXyz const* param_0, int param_1, int param_ /* 8001C078-8001C0D4 0169B8 005C+00 2/2 0/0 0/0 .text * fopAcM_createDemoItem__FPC4cXyziiPC5csXyziPC4cXyzUc */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void fopAcM_createDemoItem(cXyz const* param_0, int param_1, int param_2, - csXyz const* param_3, int param_4, cXyz const* param_5, - u8 param_6) { - nofralloc -#include "asm/f_op/f_op_actor_mng/fopAcM_createDemoItem__FPC4cXyziiPC5csXyziPC4cXyzUc.s" +s32 fopAcM_createDemoItem(const cXyz* pPos, int itemNo, int itemBitNo, const csXyz* pRot, + int roomNo, const cXyz* scale, u8 param_7) { + if (itemNo == 0xFF) { + return -1; + } else { + // TODO: actor enum + return fopAcM_create(0x21d, (itemNo & 0xFF) | (itemBitNo & 0x7F) << 0x8 | (param_7 << 0x10), + pPos, roomNo, pRot, scale, -1); + } } -#pragma pop /* 8001C0D4-8001C174 016A14 00A0+00 0/0 0/0 18/18 .text * fopAcM_createItemForBoss__FPC4cXyziiPC5csXyzPC4cXyzffi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void fopAcM_createItemForBoss(cXyz const* param_0, int param_1, int param_2, - csXyz const* param_3, cXyz const* param_4, f32 param_5, - f32 param_6, int param_7) { - nofralloc -#include "asm/f_op/f_op_actor_mng/fopAcM_createItemForBoss__FPC4cXyziiPC5csXyzPC4cXyzffi.s" +s32 fopAcM_createItemForBoss(const cXyz* pPos, int param_2, int roomNo, const csXyz* pRot, + const cXyz* pScale, f32 speed, f32 speedY, int param_8) { + fopAc_ac_c* actor = static_cast( + fopAcM_fastCreate(0x21b, 0xFFFF0000 | param_8 << 0x8 | (param_2 & 0xFF), pPos, roomNo, pRot, + pScale, -1, NULL, NULL)); + if (actor != NULL) { + actor->mSpeedF = speed; + actor->mSpeed.y = speedY; + } + return fopAcM_GetID(actor); } -#pragma pop /* 8001C174-8001C1B8 016AB4 0044+00 0/0 0/0 2/2 .text * fopAcM_createItemForMidBoss__FPC4cXyziiPC5csXyzPC4cXyzii */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void fopAcM_createItemForMidBoss(cXyz const* param_0, int param_1, int param_2, - csXyz const* param_3, cXyz const* param_4, int param_5, - int param_6) { - nofralloc -#include "asm/f_op/f_op_actor_mng/fopAcM_createItemForMidBoss__FPC4cXyziiPC5csXyzPC4cXyzii.s" +s32 fopAcM_createItemForMidBoss(const cXyz* pPos, int param_2, int param_3, const csXyz* pRot, + const cXyz* param_5, int param_6, int param_7) { + return fopAcM_createItem(pPos, param_2, param_7, param_3, &csXyz(csXyz::Zero), param_5, 0x6); } -#pragma pop /* 8001C1B8-8001C1FC 016AF8 0044+00 2/2 0/0 1/1 .text * fopAcM_createItemForDirectGet__FPC4cXyziiPC5csXyzPC4cXyzff */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void fopAcM_createItemForDirectGet(cXyz const* param_0, int param_1, int param_2, - csXyz const* param_3, cXyz const* param_4, f32 param_5, - f32 param_6) { - nofralloc -#include "asm/f_op/f_op_actor_mng/fopAcM_createItemForDirectGet__FPC4cXyziiPC5csXyzPC4cXyzff.s" +void* fopAcM_createItemForDirectGet(const cXyz* pPos, int param_2, int param_3, const csXyz* pRot, + const cXyz* param_5, f32 param_6, f32 param_7) { + return fopAcM_fastCreateItem(pPos, param_2, param_3, pRot, param_5, ¶m_6, ¶m_7, -1, 0x7, + NULL); } -#pragma pop /* 8001C1FC-8001C240 016B3C 0044+00 0/0 2/2 3/3 .text * fopAcM_createItemForSimpleDemo__FPC4cXyziiPC5csXyzPC4cXyzff */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void fopAcM_createItemForSimpleDemo(cXyz const* param_0, int param_1, int param_2, - csXyz const* param_3, cXyz const* param_4, f32 param_5, - f32 param_6) { - nofralloc -#include "asm/f_op/f_op_actor_mng/fopAcM_createItemForSimpleDemo__FPC4cXyziiPC5csXyzPC4cXyzff.s" +void* fopAcM_createItemForSimpleDemo(const cXyz* pPos, int param_2, int param_3, const csXyz* pRot, + const cXyz* param_5, f32 param_6, f32 param_7) { + return fopAcM_fastCreateItem(pPos, param_2, param_3, pRot, param_5, ¶m_6, ¶m_7, -1, 0x4, + NULL); +} + +inline u32 maskShift(int val, int bits, int shift) { + return (val & ((1 << bits) - 1)) << shift; +} + +inline u32 makeItemParams(int iNo, int p8, int unk, int p9) { + // iNo = ; + // u32 part1 = (p8 & 0xFF) << 0x8; + // iNo &= 0xFF; + // u32 part2 = (iNo); + // u32 part3 = (unk & 0xFF) << 0x10; + // u32 part4 = ((p9 & 0xF) << 0x18); + // return part1 | part2 | part3 | part4; + // u32 part2 = (p8 & 0xFF) << 0x8; + // u32 part2 = maskShift(p8, 8, 0x8); + // part2 |= maskShift(iNo, 8, 0); + // part2 |= maskShift(unk, 8, 0x10); + // part2 |= maskShift(p9, 4, 0x18); + // return part2; + return maskShift(p8, 8, 0x8) | maskShift(iNo, 8, 0) | maskShift(unk, 8, 0x10) | + maskShift(p9, 4, 0x18); } -#pragma pop /* ############################################################################################## */ /* 80451C2C-80451C30 00022C 0004+00 2/2 0/0 0/0 .sdata2 @5711 */ @@ -1392,27 +1454,69 @@ SECTION_SDATA2 static f32 lit_5711 = 32767.0f; /* 8001C240-8001C3E0 016B80 01A0+00 1/1 1/1 17/17 .text * fopAcM_createItem__FPC4cXyziiiPC5csXyzPC4cXyzi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void fopAcM_createItem(cXyz const* param_0, int param_1, int param_2, int param_3, - csXyz const* param_4, cXyz const* param_5, int param_6) { - nofralloc -#include "asm/f_op/f_op_actor_mng/fopAcM_createItem__FPC4cXyziiiPC5csXyzPC4cXyzi.s" +s32 fopAcM_createItem(const cXyz* pPos, int itemNo, int param_3, int roomNo, const csXyz* pRot, + const cXyz* pScale, int param_7) { + if (itemNo == 0xFF) { + return 0xFFFFFFFF; + } + csXyz tmps(csXyz::Zero); + if (pRot != NULL) { + tmps = *pRot; + } else { + tmps.y = cM_rndFX(FLOAT_LABEL(/* 32767.0f */ lit_5711)); + } + tmps.z = 0xFF; + u32 itemActorParams = makeItemParams(check_itemno(itemNo), param_3, 0xFF, param_7); + switch (itemNo) { + case RECOVERY_FAILY: + return fopAcM_create(0x13f, 0xFFFFFFFF, pPos, roomNo, pRot, pScale, -1); + case KAKERA_HEART: + case UTAWA_HEART: + return fopAcM_create(0x21b, itemActorParams, pPos, roomNo, pRot, pScale, -1); + case TRIPLE_HEART: + for (int i = 0; i < 2; i++) { + fopAcM_create(0x218, itemActorParams, pPos, roomNo, &tmps, pScale, -1); + tmps.y = cM_rndFX(FLOAT_LABEL(lit_5711)); + } + default: + return fopAcM_create(0x218, itemActorParams, pPos, roomNo, &tmps, pScale, -1); + } } -#pragma pop /* 8001C3E0-8001C5B0 016D20 01D0+00 1/1 0/0 0/0 .text * fopAcM_fastCreateItem2__FPC4cXyziiiiPC5csXyzPC4cXyz */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void fopAcM_fastCreateItem2(cXyz const* param_0, int param_1, int param_2, int param_3, - int param_4, csXyz const* param_5, cXyz const* param_6) { - nofralloc -#include "asm/f_op/f_op_actor_mng/fopAcM_fastCreateItem2__FPC4cXyziiiiPC5csXyzPC4cXyz.s" +void* fopAcM_fastCreateItem2(const cXyz* pPos, int itemNo, int param_3, int roomNo, int param_5, + const csXyz* pRot, const cXyz* pScale) { + csXyz tmps(csXyz::Zero); + if (itemNo == 0xFF) { + return NULL; + } + if (pRot != NULL) { + tmps = *pRot; + } else { + tmps.y = cM_rndFX(FLOAT_LABEL(/* 32767.0f */ lit_5711)); + } + tmps.z = 0xFF; + int tmpItemNo = check_itemno(itemNo); + u32 itemActorParams = + (param_3 & 0xFF) << 0x8 | (tmpItemNo & 0xFF) | 0xFF << 0x10 | ((param_5 & 0xF) << 0x18); + switch (itemNo) { + case RECOVERY_FAILY: + return fopAcM_fastCreate(0x13f, 0xFFFFFFFF, pPos, roomNo, pRot, pScale, -1, NULL, NULL); + case KAKERA_HEART: + case UTAWA_HEART: + return fopAcM_fastCreate(0x21b, itemActorParams, pPos, roomNo, pRot, pScale, -1, NULL, + NULL); + case TRIPLE_HEART: + for (int i = 0; i < 2; i++) { + fopAcM_fastCreate(0x218, itemActorParams, pPos, roomNo, &tmps, pScale, -1, NULL, NULL); + tmps.y = cM_rndFX(FLOAT_LABEL(lit_5711)); + } + default: + return fopAcM_fastCreate(0x218, itemActorParams, pPos, roomNo, &tmps, pScale, -1, NULL, + NULL); + } } -#pragma pop /* ############################################################################################## */ /* 80451C30-80451C34 000230 0004+00 1/1 0/0 0/0 .sdata2 @5808 */ @@ -1432,60 +1536,147 @@ SECTION_SDATA2 static f32 lit_5812 = 1.0f / 5.0f; /* 8001C5B0-8001C870 016EF0 02C0+00 3/3 0/0 4/4 .text * fopAcM_fastCreateItem__FPC4cXyziiPC5csXyzPC4cXyzPfPfiiPFPv_i */ +#ifdef NON_MATCHING +void* fopAcM_fastCreateItem(const cXyz* pPos, int param_2, int param_3, const csXyz* pRot, + const cXyz* param_5, f32* param_6, f32* param_7, int param_8, + int param_9, createFunc param_10) { + // regalloc: r30 -> r29, r31 -> r30, r29 -> r31 + if (param_2 == 0xFF) { + return NULL; + } + csXyz tmps; + u32 tmpItemNo = check_itemno(param_2); + // u32 itemActorParams; + // make_prm_item(&itemActorParams, tmpItemNo, param_8, param_9); + u32 itemActorParams = + makeItemParams(tmpItemNo, param_8, 0xFF, param_9); // uses r0 instead of r3 + if (param_6 != NULL && isHeart(param_2) != false) { + *param_6 = FLOAT_LABEL(/* 2.0f */ lit_5808) * *param_6; + } + switch (param_2) { + case RECOVERY_FAILY: + return fopAcM_fastCreate(0x13f, 0xFFFFFFFF, pPos, param_3, pRot, param_5, -1, NULL, NULL); + case KAKERA_HEART: + case UTAWA_HEART: + return fopAcM_fastCreate(0x21b, itemActorParams, pPos, param_3, pRot, param_5, -1, NULL, + NULL); + case TRIPLE_HEART: + for (int i = 0; i < 2; i++) { + if (pRot != NULL) { + tmps = *pRot; + } else { + tmps = csXyz::Zero; + } + tmps.z = 0xFF; + tmps.y += (s16)cM_rndFX(FLOAT_LABEL(/* 8192.0f */ lit_5809)); + fopAc_ac_c* actor = static_cast(fopAcM_fastCreate( + 0x218, itemActorParams, pPos, param_3, &tmps, param_5, -1, param_10, NULL)); + if (actor != NULL) { + if (param_6 != NULL) { + actor->mSpeedF = *param_6 * (FLOAT_LABEL(/* 1.0f */ lit_5810) + + cM_rndFX(FLOAT_LABEL(/* 0.3f */ lit_5811))); + } + if (param_7 != NULL) { + actor->mSpeed.y = *param_7 * (FLOAT_LABEL(/* 1.0f */ lit_5810) + + cM_rndFX(FLOAT_LABEL(/* 0.2f */ lit_5812))); + } + } + } + default: + if (pRot != NULL) { + tmps = *pRot; + } else { + tmps = csXyz::Zero; + } + tmps.z = 0xFF; + fopAc_ac_c* actor = static_cast(fopAcM_fastCreate( + 0x218, itemActorParams, pPos, param_3, &tmps, param_5, -1, param_10, NULL)); + if (actor != NULL) { + if (param_6 != NULL) { + actor->mSpeedF = *param_6; + } + if (param_7 != NULL) { + actor->mSpeed.y = *param_7; + } + } + return actor; + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void fopAcM_fastCreateItem(cXyz const* param_0, int param_1, int param_2, csXyz const* param_3, - cXyz const* param_4, f32* param_5, f32* param_6, int param_7, - int param_8, int (*param_9)(void*)) { +asm void* fopAcM_fastCreateItem(cXyz const* param_0, int param_1, int param_2, csXyz const* param_3, + cXyz const* param_4, f32* param_5, f32* param_6, int param_7, + int param_8, int (*param_9)(void*)) { nofralloc #include "asm/f_op/f_op_actor_mng/fopAcM_fastCreateItem__FPC4cXyziiPC5csXyzPC4cXyzPfPfiiPFPv_i.s" } #pragma pop +#endif /* ############################################################################################## */ /* 80451C44-80451C48 000244 0004+00 1/1 0/0 0/0 .sdata2 @5845 */ SECTION_SDATA2 static f32 lit_5845 = 2048.0f; +inline void make_prm_bokkuri(u32* pActorParams, csXyz* pRot, u8 param_2, u8 param_3, u8 param_4, + u8 param_5, u8 param_6) { + pRot->x = (param_4 << 0x8) | (param_3 & 0xFF); + pRot->z = (param_6 << 0xD) | (param_2 << 0x1) | param_5; +} + /* 8001C870-8001C95C 0171B0 00EC+00 0/0 0/0 1/1 .text fopAcM_createBokkuri__FUsPC4cXyziiiPC4cXyzii */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void fopAcM_createBokkuri(u16 param_0, cXyz const* param_1, int param_2, int param_3, - int param_4, cXyz const* param_5, int param_6, int param_7) { - nofralloc -#include "asm/f_op/f_op_actor_mng/fopAcM_createBokkuri__FUsPC4cXyziiiPC4cXyzii.s" +s32 fopAcM_createBokkuri(u16 enemyNo, const cXyz* pPos, int param_3, int param_4, int roomNo, + const cXyz* param_6, int param_7, int param_8) { + csXyz tmps(0, 0, 0); + if (param_6 != NULL) { + tmps.y = param_6->atan2sX_Z(); + tmps.y += static_cast(FLOAT_LABEL(/* 2048.0f */ lit_5845) * + cM_rndFX(FLOAT_LABEL(/* 1.0f */ lit_5810))); + param_8 = 1; + } + u32 actorParams = 0; + make_prm_bokkuri(&actorParams, &tmps, 6, param_3, param_4, param_7, param_8); + return fopAcM_create(0x2fc, enemyNo, actorParams, pPos, roomNo, &tmps, NULL, 0xFF, NULL); +} + +inline void make_prm_warp_hole(u32* actorParams, u8 p1, u8 p2, u8 p3) { + u32 pp1 = (p3 << 0x8); + u32 pp2 = (p2 << 0x10); + u32 pp3 = (p1 << 0x1B) | 0x170000FF; + *actorParams = pp2 | pp3 | pp1; } -#pragma pop /* 8001C95C-8001C9CC 01729C 0070+00 0/0 0/0 12/12 .text * fopAcM_createWarpHole__FPC4cXyzPC5csXyziUcUcUc */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void fopAcM_createWarpHole(cXyz const* param_0, csXyz const* param_1, int param_2, u8 param_3, - u8 param_4, u8 param_5) { - nofralloc -#include "asm/f_op/f_op_actor_mng/fopAcM_createWarpHole__FPC4cXyzPC5csXyziUcUcUc.s" +s32 fopAcM_createWarpHole(const cXyz* pPos, const csXyz* pRot, int roomNo, u8 param_4, u8 param_5, + u8 param_6) { + if (param_6 == 0xFF) { + param_6 = param_4; + } + u32 actorParams; + make_prm_warp_hole(&actorParams, param_5, param_6, param_4); + return fopAcM_create(0x163, actorParams, pPos, roomNo, pRot, NULL, -1); } -#pragma pop + +s32 fopAc_IsActor(void*); /* 8001C9CC-8001CA1C 01730C 0050+00 1/1 0/0 0/0 .text enemySearchJugge__FPvPv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void enemySearchJugge(void* param_0, void* param_1) { - nofralloc -#include "asm/f_op/f_op_actor_mng/enemySearchJugge__FPvPv.s" +void* enemySearchJugge(void* pActor, void* pData) { + if (pActor != NULL && fopAc_IsActor(pActor) && + static_cast(pActor)->unk_0x496 == 2) { + return pActor; + } else { + return NULL; + } } -#pragma pop /* 8001CA1C-8001CAD8 01735C 00BC+00 0/0 0/0 6/6 .text fopAcM_myRoomSearchEnemy__FSc */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void fopAcM_myRoomSearchEnemy(s8 param_0) { +asm s32 fopAcM_myRoomSearchEnemy(s8 param_0) { nofralloc #include "asm/f_op/f_op_actor_mng/fopAcM_myRoomSearchEnemy__FSc.s" } @@ -1493,22 +1684,20 @@ asm void fopAcM_myRoomSearchEnemy(s8 param_0) { /* 8001CAD8-8001CB48 017418 0070+00 0/0 0/0 81/81 .text * fopAcM_createDisappear__FPC10fopAc_ac_cPC4cXyzUcUcUc */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void fopAcM_createDisappear(fopAc_ac_c const* param_0, cXyz const* param_1, u8 param_2, - u8 param_3, u8 param_4) { - nofralloc -#include "asm/f_op/f_op_actor_mng/fopAcM_createDisappear__FPC10fopAc_ac_cPC4cXyzUcUcUc.s" +s32 fopAcM_createDisappear(const fopAc_ac_c* pActor, const cXyz* pPos, u8 param_3, u8 param_4, + u8 param_5) { + s8 roomNo = pActor->mCurrent.mRoomNo; + return fopAcM_GetID(fopAcM_fastCreate(0x139, (param_5 << 0x10) | (param_3 << 0x8) | param_4, + pPos, roomNo, &pActor->mCurrent.mAngle, NULL, 0xFF, NULL, + NULL)); } -#pragma pop /* 8001CB48-8001CBA0 017488 0058+00 0/0 6/6 7/7 .text fopAcM_setCarryNow__FP10fopAc_ac_ci */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void fopAcM_setCarryNow(fopAc_ac_c* param_0, int param_1) { +asm s32 fopAcM_setCarryNow(fopAc_ac_c* param_0, int param_1) { nofralloc #include "asm/f_op/f_op_actor_mng/fopAcM_setCarryNow__FP10fopAc_ac_ci.s" } @@ -1518,7 +1707,7 @@ asm void fopAcM_setCarryNow(fopAc_ac_c* param_0, int param_1) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void fopAcM_cancelCarryNow(fopAc_ac_c* param_0) { +asm s32 fopAcM_cancelCarryNow(fopAc_ac_c* param_0) { nofralloc #include "asm/f_op/f_op_actor_mng/fopAcM_cancelCarryNow__FP10fopAc_ac_c.s" } @@ -1529,7 +1718,7 @@ asm void fopAcM_cancelCarryNow(fopAc_ac_c* param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void fopAcM_otoCheck(fopAc_ac_c const* param_0, f32 param_1) { +asm f32 fopAcM_otoCheck(fopAc_ac_c const* param_0, f32 param_1) { nofralloc #include "asm/f_op/f_op_actor_mng/fopAcM_otoCheck__FPC10fopAc_ac_cf.s" } @@ -1544,7 +1733,7 @@ SECTION_SDATA2 static f32 lit_6035 = 100.0f; #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void fopAcM_otherBgCheck(fopAc_ac_c const* param_0, fopAc_ac_c const* param_1) { +asm s32 fopAcM_otherBgCheck(fopAc_ac_c const* param_0, fopAc_ac_c const* param_1) { nofralloc #include "asm/f_op/f_op_actor_mng/fopAcM_otherBgCheck__FPC10fopAc_ac_cPC10fopAc_ac_c.s" } @@ -1558,7 +1747,7 @@ SECTION_SDATA2 static f32 lit_6068 = 50.0f; #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void fopAcM_wayBgCheck(fopAc_ac_c const* param_0, f32 param_1, f32 param_2) { +asm s32 fopAcM_wayBgCheck(fopAc_ac_c const* param_0, f32 param_1, f32 param_2) { nofralloc #include "asm/f_op/f_op_actor_mng/fopAcM_wayBgCheck__FPC10fopAc_ac_cff.s" } @@ -1568,7 +1757,7 @@ asm void fopAcM_wayBgCheck(fopAc_ac_c const* param_0, f32 param_1, f32 param_2) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void fopAcM_plAngleCheck(fopAc_ac_c const* param_0, s16 param_1) { +asm s32 fopAcM_plAngleCheck(fopAc_ac_c const* param_0, s16 param_1) { nofralloc #include "asm/f_op/f_op_actor_mng/fopAcM_plAngleCheck__FPC10fopAc_ac_cs.s" } @@ -1631,8 +1820,8 @@ f32 fopAcM_gc_c::mGroundY; #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void fopAcM_effSmokeSet1(u32* param_0, u32* param_1, cXyz const* param_2, csXyz const* param_3, - f32 param_4, dKy_tevstr_c const* param_5, int param_6) { +asm s32 fopAcM_effSmokeSet1(u32* param_0, u32* param_1, cXyz const* param_2, csXyz const* param_3, + f32 param_4, dKy_tevstr_c const* param_5, int param_6) { nofralloc #include "asm/f_op/f_op_actor_mng/fopAcM_effSmokeSet1__FPUlPUlPC4cXyzPC5csXyzfPC12dKy_tevstr_ci.s" } @@ -1652,15 +1841,15 @@ SECTION_SDATA2 static u8 hamon_name[4] = { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void fopAcM_effHamonSet(u32* param_0, cXyz const* param_1, f32 param_2, f32 param_3) { +asm s32 fopAcM_effHamonSet(u32* param_0, cXyz const* param_1, f32 param_2, f32 param_3) { nofralloc #include "asm/f_op/f_op_actor_mng/fopAcM_effHamonSet__FPUlPC4cXyzff.s" } #pragma pop /* 8001D1F4-8001D1FC 017B34 0008+00 0/0 0/0 7/7 .text fopAcM_riverStream__FP4cXyzPsPff */ -bool fopAcM_riverStream(cXyz* param_0, s16* param_1, f32* param_2, f32 param_3) { - return false; +s32 fopAcM_riverStream(cXyz* param_0, s16* param_1, f32* param_2, f32 param_3) { + return 0; } /* ############################################################################################## */ @@ -1671,7 +1860,7 @@ SECTION_SDATA2 static f32 lit_6174 = 150.0f; #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void fopAcM_carryOffRevise(fopAc_ac_c* param_0) { +asm s32 fopAcM_carryOffRevise(fopAc_ac_c* param_0) { nofralloc #include "asm/f_op/f_op_actor_mng/fopAcM_carryOffRevise__FP10fopAc_ac_c.s" } @@ -1679,31 +1868,35 @@ asm void fopAcM_carryOffRevise(fopAc_ac_c* param_0) { /* 8001D32C-8001D3D4 017C6C 00A8+00 1/1 0/0 0/0 .text vectle_calc__FPC10DOUBLE_POSP4cXyz */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void vectle_calc(DOUBLE_POS const* param_0, cXyz* param_1) { - nofralloc -#include "asm/f_op/f_op_actor_mng/vectle_calc__FPC10DOUBLE_POSP4cXyz.s" +static void vectle_calc(const DOUBLE_POS* pDpos, cXyz* pOut) { + f64 len = sqrt(pDpos->x * pDpos->x + pDpos->y * pDpos->y + pDpos->z * pDpos->z); + if (DOUBLE_LABEL(/* 0.0 */ lit_4747) != len) { + pOut->x = pDpos->x / len; + pOut->y = pDpos->y / len; + pOut->z = pDpos->z / len; + } else { + f32 tmp0 = FLOAT_LABEL(/* 0.0f */ lit_4645); // temp not needed when data is moved + pOut->x = tmp0; + pOut->y = tmp0; + pOut->z = tmp0; + } } -#pragma pop /* 8001D3D4-8001D42C 017D14 0058+00 1/1 0/0 0/0 .text get_vectle_calc__FPC4cXyzPC4cXyzP4cXyz */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void get_vectle_calc(cXyz const* param_0, cXyz const* param_1, cXyz* param_2) { - nofralloc -#include "asm/f_op/f_op_actor_mng/get_vectle_calc__FPC4cXyzPC4cXyzP4cXyz.s" +static void get_vectle_calc(const cXyz* pXyzA, const cXyz* pXyzB, cXyz* pOut) { + DOUBLE_POS dPos; + dPos.x = pXyzB->x - pXyzA->x; + dPos.y = pXyzB->y - pXyzA->y; + dPos.z = pXyzB->z - pXyzA->z; + vectle_calc(&dPos, pOut); } -#pragma pop /* ############################################################################################## */ /* 80378898-803788C8 004EF8 0030+00 1/1 0/0 0/0 .rodata mtx_adj$6195 */ -SECTION_RODATA static u8 const mtx_adj[48] = { - 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0xBF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +SECTION_RODATA static Mtx const mtx_adj = { + {0.5f, 0.0f, 0.0f, 0.5f}, + {0.0f, -0.5f, 0.0f, 0.5f}, + {0.0f, 0.0f, 1.0f, 0.0f}, }; COMPILER_STRIP_GATE(0x80378898, &mtx_adj); @@ -1718,30 +1911,17 @@ asm void fopAcM_setEffectMtx(fopAc_ac_c const* param_0, J3DModelData const* para } #pragma pop -/* ############################################################################################## */ -/* 803788C8-803788C8 004F28 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80378A42 = "UNKOWN"; -/* @stringBase0 padding */ -SECTION_DEAD static char const* const pad_80378A49 = "\0\0\0\0\0\0"; -#pragma pop - /* 8001D5A4-8001D5EC 017EE4 0048+00 1/1 0/0 0/0 .text fopAcM_getProcNameString__FPC10fopAc_ac_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void fopAcM_getProcNameString(fopAc_ac_c const* param_0) { - nofralloc -#include "asm/f_op/f_op_actor_mng/fopAcM_getProcNameString__FPC10fopAc_ac_c.s" +static const char* fopAcM_getProcNameString(const fopAc_ac_c* pActor) { + const char* name = dStage_getName2(pActor->mBase.mBsTypeId, pActor->unk_0x499); + return name != NULL ? name : "UNKOWN"; } -#pragma pop /* 8001D5EC-8001D698 017F2C 00AC+00 1/1 0/0 0/0 .text fopAcM_findObjectCB__FPC10fopAc_ac_cPv */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void fopAcM_findObjectCB(fopAc_ac_c const* param_0, void* param_1) { +static asm s32 fopAcM_findObjectCB(fopAc_ac_c const* param_0, void* param_1) { nofralloc #include "asm/f_op/f_op_actor_mng/fopAcM_findObjectCB__FPC10fopAc_ac_cPv.s" } @@ -1751,7 +1931,7 @@ static asm void fopAcM_findObjectCB(fopAc_ac_c const* param_0, void* param_1) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void fopAcM_searchFromName(char const* param_0, u32 param_1, u32 param_2) { +asm s32 fopAcM_searchFromName(char const* param_0, u32 param_1, u32 param_2) { nofralloc #include "asm/f_op/f_op_actor_mng/fopAcM_searchFromName__FPCcUlUl.s" } @@ -1762,7 +1942,7 @@ asm void fopAcM_searchFromName(char const* param_0, u32 param_1, u32 param_2) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void fopAcM_findObject4EventCB(fopAc_ac_c* param_0, void* param_1) { +asm s32 fopAcM_findObject4EventCB(fopAc_ac_c* param_0, void* param_1) { nofralloc #include "asm/f_op/f_op_actor_mng/fopAcM_findObject4EventCB__FP10fopAc_ac_cPv.s" } @@ -1773,7 +1953,7 @@ static asm void fopAcM_findObject4EventCB(fopAc_ac_c* param_0, void* param_1) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void fopAcM_searchFromName4Event(char const* param_0, s16 param_1) { +asm s32 fopAcM_searchFromName4Event(char const* param_0, s16 param_1) { nofralloc #include "asm/f_op/f_op_actor_mng/fopAcM_searchFromName4Event__FPCcs.s" } @@ -1811,7 +1991,7 @@ SECTION_SDATA2 static f32 lit_6353 = -1000000000.0f; #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void fopAcM_getWaterY(cXyz const* param_0, f32* param_1) { +asm s32 fopAcM_getWaterY(cXyz const* param_0, f32* param_1) { nofralloc #include "asm/f_op/f_op_actor_mng/fopAcM_getWaterY__FPC4cXyzPf.s" } @@ -1833,8 +2013,8 @@ asm void fpoAcM_relativePos(fopAc_ac_c const* param_0, cXyz const* param_1, cXyz #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void fopAcM_getWaterStream(cXyz const* param_0, cBgS_PolyInfo const& param_1, cXyz* param_2, - int* param_3, int param_4) { +asm s32 fopAcM_getWaterStream(cXyz const* param_0, cBgS_PolyInfo const& param_1, cXyz* param_2, + int* param_3, int param_4) { nofralloc #include "asm/f_op/f_op_actor_mng/fopAcM_getWaterStream__FPC4cXyzRC13cBgS_PolyInfoP4cXyzPii.s" } @@ -1853,7 +2033,7 @@ SECTION_DATA extern void* __vt__8cM3dGPla[3] = { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void fopAcM_getPolygonAngle(cBgS_PolyInfo const& param_0, s16 param_1) { +asm s16 fopAcM_getPolygonAngle(cBgS_PolyInfo const& param_0, s16 param_1) { nofralloc #include "asm/f_op/f_op_actor_mng/fopAcM_getPolygonAngle__FRC13cBgS_PolyInfos.s" } @@ -1863,7 +2043,7 @@ asm void fopAcM_getPolygonAngle(cBgS_PolyInfo const& param_0, s16 param_1) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cM3dGPla::~cM3dGPla() { +extern "C" asm void __dt__8cM3dGPlaFv() { nofralloc #include "asm/f_op/f_op_actor_mng/__dt__8cM3dGPlaFv.s" } @@ -1884,7 +2064,7 @@ asm void fopAcM_getPolygonAngle(cM3dGPla const* param_0, s16 param_1) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void fopAcM_lc_c::lineCheck(cXyz const* param_0, cXyz const* param_1, +asm bool fopAcM_lc_c::lineCheck(cXyz const* param_0, cXyz const* param_1, fopAc_ac_c const* param_2) { nofralloc #include "asm/f_op/f_op_actor_mng/lineCheck__11fopAcM_lc_cFPC4cXyzPC4cXyzPC10fopAc_ac_c.s" @@ -1895,7 +2075,7 @@ asm void fopAcM_lc_c::lineCheck(cXyz const* param_0, cXyz const* param_1, #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void fopAcM_gc_c::gndCheck(cXyz const* param_0) { +asm bool fopAcM_gc_c::gndCheck(cXyz const* param_0) { nofralloc #include "asm/f_op/f_op_actor_mng/gndCheck__11fopAcM_gc_cFPC4cXyz.s" } @@ -1909,7 +2089,7 @@ SECTION_SDATA2 static f32 lit_6517 = 1000000000.0f; #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void fopAcM_rc_c::roofCheck(cXyz const* param_0) { +asm bool fopAcM_rc_c::roofCheck(cXyz const* param_0) { nofralloc #include "asm/f_op/f_op_actor_mng/roofCheck__11fopAcM_rc_cFPC4cXyz.s" } @@ -1928,7 +2108,7 @@ SECTION_SDATA2 static f32 lit_6538[1 + 1 /* padding */] = { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void fopAcM_wt_c::waterCheck(cXyz const* param_0) { +asm bool fopAcM_wt_c::waterCheck(cXyz const* param_0) { nofralloc #include "asm/f_op/f_op_actor_mng/waterCheck__11fopAcM_wt_cFPC4cXyz.s" } diff --git a/src/f_op/f_op_scene_req.cpp b/src/f_op/f_op_scene_req.cpp index 67aec14073..cb93c14a8f 100644 --- a/src/f_op/f_op_scene_req.cpp +++ b/src/f_op/f_op_scene_req.cpp @@ -3,65 +3,11 @@ // 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" - -// -// Types: -// - -struct scene_request_class {}; - -struct scene_class {}; - -struct request_of_phase_process_class {}; - -struct process_node_class {}; - -struct node_create_request_method_class {}; - -struct node_create_request {}; - -// -// Forward References: -// - -extern "C" static void fopScnRq_phase_ClearOverlap__FP19scene_request_class(); -extern "C" static void fopScnRq_phase_Execute__FP19scene_request_class(); -extern "C" static void fopScnRq_phase_IsDoingOverlap__FP19scene_request_class(); -extern "C" static void fopScnRq_phase_IsDoneOverlap__FP19scene_request_class(); -extern "C" static void fopScnRq_phase_Done__FP19scene_request_class(); -extern "C" static void fopScnRq_Execute__FP19scene_request_class(); -extern "C" static void fopScnRq_PostMethod__FPvP19scene_request_class(); -extern "C" static void fopScnRq_Cancel__FP19scene_request_class(); -extern "C" static void fopScnRq_FadeRequest__FsUs(); -extern "C" void fopScnRq_Request__FiP11scene_classsPvsUs(); -extern "C" void fopScnRq_ReRequest__FUisPv(); -extern "C" void fopScnRq_Handler__Fv(); - -// -// External References: -// - -extern "C" void fopOvlpM_ToldAboutID__FUi(); -extern "C" void fopOvlpM_IsDone__Fv(); -extern "C" void fopOvlpM_IsDoingReq__Fv(); -extern "C" void fopOvlpM_ClearOfReq__Fv(); -extern "C" void fopOvlpM_Request__FsUs(); -extern "C" void fopOvlpM_Cancel__Fv(); -extern "C" void fopScnPause_Enable__FP11scene_class(); -extern "C" void fopScnPause_Disable__FP11scene_class(); -extern "C" void fpcEx_SearchByID__FUi(); -extern "C" void fpcNdRq_Execute__FP19node_create_request(); -extern "C" void fpcNdRq_Delete__FP19node_create_request(); -extern "C" void fpcNdRq_Handler__Fv(); -extern "C" void fpcNdRq_Request__FUliP18process_node_classsPvP32node_create_request_method_class(); -extern "C" void fpcNdRq_ReRequest__FUisPv(); -extern "C" void cPhs_Set__FP30request_of_phase_process_classPPFPv_i(); -extern "C" void cPhs_Do__FP30request_of_phase_process_classPv(); -extern "C" void _savegpr_26(); -extern "C" void _restgpr_26(); +#include "f_op/f_op_overlap_mng.h" +#include "f_pc/f_pc_executor.h" // // Declarations: @@ -69,170 +15,163 @@ extern "C" void _restgpr_26(); /* 8001EE34-8001EE64 019774 0030+00 1/0 0/0 0/0 .text * fopScnRq_phase_ClearOverlap__FP19scene_request_class */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void fopScnRq_phase_ClearOverlap(scene_request_class* param_0) { - nofralloc -#include "asm/f_op/f_op_scene_req/fopScnRq_phase_ClearOverlap__FP19scene_request_class.s" +static cPhs__Step fopScnRq_phase_ClearOverlap(scene_request_class* param_0) { + if (fopOvlpM_ClearOfReq() == 1) { + return cPhs_UNK_2; + } else { + return cPhs_ZERO_e; + } } -#pragma pop /* 8001EE64-8001EE84 0197A4 0020+00 2/0 0/0 0/0 .text * fopScnRq_phase_Execute__FP19scene_request_class */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void fopScnRq_phase_Execute(scene_request_class* param_0) { - nofralloc -#include "asm/f_op/f_op_scene_req/fopScnRq_phase_Execute__FP19scene_request_class.s" +static cPhs__Step fopScnRq_phase_Execute(scene_request_class* param_0) { + return (cPhs__Step)fpcNdRq_Execute(¶m_0->mCrtReq); } -#pragma pop /* 8001EE84-8001EEB4 0197C4 0030+00 1/0 0/0 0/0 .text * fopScnRq_phase_IsDoingOverlap__FP19scene_request_class */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void fopScnRq_phase_IsDoingOverlap(scene_request_class* param_0) { - nofralloc -#include "asm/f_op/f_op_scene_req/fopScnRq_phase_IsDoingOverlap__FP19scene_request_class.s" +static cPhs__Step fopScnRq_phase_IsDoingOverlap(scene_request_class* param_0) { + if (fopOvlpM_IsDoingReq() == 1) { + return cPhs_UNK_2; + } else { + return cPhs_ZERO_e; + } } -#pragma pop /* 8001EEB4-8001EEE4 0197F4 0030+00 1/0 0/0 0/0 .text * fopScnRq_phase_IsDoneOverlap__FP19scene_request_class */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void fopScnRq_phase_IsDoneOverlap(scene_request_class* param_0) { - nofralloc -#include "asm/f_op/f_op_scene_req/fopScnRq_phase_IsDoneOverlap__FP19scene_request_class.s" +static cPhs__Step fopScnRq_phase_IsDoneOverlap(scene_request_class* param_0) { + if (fopOvlpM_IsDone() == 1) { + return cPhs_UNK_2; + } else { + return cPhs_ZERO_e; + } } -#pragma pop /* ############################################################################################## */ /* 80450CE0-80450CE8 0001E0 0004+04 2/2 0/0 0/0 .sbss l_fopScnRq_IsUsingOfOverlap */ -static u8 l_fopScnRq_IsUsingOfOverlap[4 + 4 /* padding */]; +static s32 l_fopScnRq_IsUsingOfOverlap; /* 8001EEE4-8001EF24 019824 0040+00 2/0 0/0 0/0 .text fopScnRq_phase_Done__FP19scene_request_class */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void fopScnRq_phase_Done(scene_request_class* param_0) { - nofralloc -#include "asm/f_op/f_op_scene_req/fopScnRq_phase_Done__FP19scene_request_class.s" +static cPhs__Step fopScnRq_phase_Done(scene_request_class* pScnRq) { + if (pScnRq->mCrtReq.mParameter != 1) { + fopScnPause_Disable((scene_class*)fpcEx_SearchByID(pScnRq->mCrtReq.mCreatingID)); + } + l_fopScnRq_IsUsingOfOverlap = 0; + return cPhs_UNK_2; } -#pragma pop /* 8001EF24-8001EF6C 019864 0048+00 1/0 0/0 0/0 .text fopScnRq_Execute__FP19scene_request_class */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void fopScnRq_Execute(scene_request_class* param_0) { - nofralloc -#include "asm/f_op/f_op_scene_req/fopScnRq_Execute__FP19scene_request_class.s" +static void fopScnRq_Execute(scene_request_class* pScnRq) { + int tmp = cPhs_Do(&pScnRq->mReqPhsProcCls, pScnRq); + switch (tmp) { + case 2: { + fopScnRq_Execute(pScnRq); + } + } } -#pragma pop /* 8001EF6C-8001EFB0 0198AC 0044+00 1/0 0/0 0/0 .text * fopScnRq_PostMethod__FPvP19scene_request_class */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void fopScnRq_PostMethod(void* param_0, scene_request_class* param_1) { - nofralloc -#include "asm/f_op/f_op_scene_req/fopScnRq_PostMethod__FPvP19scene_request_class.s" +static int fopScnRq_PostMethod(void* param_1, scene_request_class* pScnRq) { + if (pScnRq->mFadeRequest) { + fopScnPause_Enable((scene_class*)param_1); + fopOvlpM_ToldAboutID(((scene_class*)param_1)->field_0x04); + } + return 1; } -#pragma pop /* 8001EFB0-8001EFF0 0198F0 0040+00 1/0 0/0 0/0 .text fopScnRq_Cancel__FP19scene_request_class */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void fopScnRq_Cancel(scene_request_class* param_0) { - nofralloc -#include "asm/f_op/f_op_scene_req/fopScnRq_Cancel__FP19scene_request_class.s" +static int fopScnRq_Cancel(scene_request_class* pScnRq) { + if (pScnRq->mFadeRequest && !fopOvlpM_Cancel()) { + return 0; + } else { + return 1; + } } -#pragma pop /* 8001EFF0-8001F034 019930 0044+00 1/1 0/0 0/0 .text fopScnRq_FadeRequest__FsUs */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void fopScnRq_FadeRequest(s16 param_0, u16 param_1) { - nofralloc -#include "asm/f_op/f_op_scene_req/fopScnRq_FadeRequest__FsUs.s" +static scene_request_class* fopScnRq_FadeRequest(s16 param_1, u16 param_2) { + request_base_class* tmp = NULL; + + if (l_fopScnRq_IsUsingOfOverlap == 0 && (tmp = fopOvlpM_Request(param_1, param_2), tmp != 0)) { + l_fopScnRq_IsUsingOfOverlap = 1; + } + + return (scene_request_class*)tmp; } -#pragma pop /* ############################################################################################## */ /* 803A38C8-803A38D8 -00001 0010+00 1/1 0/0 0/0 .data submethod$2274 */ -SECTION_DATA static void* submethod[4] = { - (void*)fopScnRq_Execute__FP19scene_request_class, - (void*)fopScnRq_Cancel__FP19scene_request_class, - (void*)NULL, - (void*)fopScnRq_PostMethod__FPvP19scene_request_class, +static node_create_request_method_class submethod = { + (process_method_func)fopScnRq_Execute, + (process_method_func)fopScnRq_Cancel, + NULL, + (process_method_func)fopScnRq_PostMethod, }; /* 803A38D8-803A38F8 -00001 0020+00 0/1 0/0 0/0 .data noFadeFase$2275 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* noFadeFase[8] = { - (void*)fopScnRq_phase_Execute__FP19scene_request_class, - (void*)fopScnRq_phase_Done__FP19scene_request_class, - (void*)NULL, - (void*)NULL, - (void*)NULL, - (void*)NULL, - (void*)NULL, - (void*)NULL, +static cPhs__Handler noFadeFase[8] = { + (cPhs__Handler)fopScnRq_phase_Execute, + (cPhs__Handler)fopScnRq_phase_Done, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, }; -#pragma pop /* 803A38F8-803A3918 -00001 0020+00 0/1 0/0 0/0 .data fadeFase$2276 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* fadeFase[8] = { - (void*)fopScnRq_phase_IsDoingOverlap__FP19scene_request_class, - (void*)fopScnRq_phase_IsDoneOverlap__FP19scene_request_class, - (void*)fopScnRq_phase_Execute__FP19scene_request_class, - (void*)fopScnRq_phase_ClearOverlap__FP19scene_request_class, - (void*)fopScnRq_phase_IsDoneOverlap__FP19scene_request_class, - (void*)fopScnRq_phase_Done__FP19scene_request_class, - (void*)NULL, - (void*)NULL, +static cPhs__Handler fadeFase[8] = { + (cPhs__Handler)fopScnRq_phase_IsDoingOverlap, + (cPhs__Handler)fopScnRq_phase_IsDoneOverlap, + (cPhs__Handler)fopScnRq_phase_Execute, + (cPhs__Handler)fopScnRq_phase_ClearOverlap, + (cPhs__Handler)fopScnRq_phase_IsDoneOverlap, + (cPhs__Handler)fopScnRq_phase_Done, + NULL, + NULL, }; -#pragma pop /* 8001F034-8001F0FC 019974 00C8+00 0/0 3/3 0/0 .text fopScnRq_Request__FiP11scene_classsPvsUs */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void fopScnRq_Request(int param_0, scene_class* param_1, s16 param_2, void* param_3, - s16 param_4, u16 param_5) { - nofralloc -#include "asm/f_op/f_op_scene_req/fopScnRq_Request__FiP11scene_classsPvsUs.s" +s32 fopScnRq_Request(int param_1, scene_class* param_2, s16 param_3, void* param_4, s16 param_5, + u16 param_6) { + s32 ret; + int tmp = 0; + cPhs__Handler* phase_handler_table; + phase_handler_table = noFadeFase; + scene_request_class* pScnReq = (scene_request_class*)fpcNdRq_Request( + sizeof(scene_request_class), param_1, (process_node_class*)param_2, param_3, param_4, + &submethod); + + if (!pScnReq) { + ret = -1; + } else { + if (param_5 != 0x7fff) { + phase_handler_table = fadeFase; + tmp = (int)fopScnRq_FadeRequest(param_5, param_6); + if (!tmp) { + fpcNdRq_Delete(&pScnReq->mCrtReq); + return -1; + } + } + pScnReq->mFadeRequest = tmp; + cPhs_Set(&pScnReq->mReqPhsProcCls, phase_handler_table); + ret = pScnReq->mCrtReq.mRequestId; + } + + return ret; } -#pragma pop /* 8001F0FC-8001F11C 019A3C 0020+00 0/0 1/1 0/0 .text fopScnRq_ReRequest__FUisPv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void fopScnRq_ReRequest(unsigned int param_0, s16 param_1, void* param_2) { - nofralloc -#include "asm/f_op/f_op_scene_req/fopScnRq_ReRequest__FUisPv.s" +s32 fopScnRq_ReRequest(unsigned int param_1, s16 param_2, void* param_3) { + return fpcNdRq_ReRequest(param_1, param_2, param_3); } -#pragma pop /* 8001F11C-8001F13C 019A5C 0020+00 0/0 1/1 0/0 .text fopScnRq_Handler__Fv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void fopScnRq_Handler() { - nofralloc -#include "asm/f_op/f_op_scene_req/fopScnRq_Handler__Fv.s" +void fopScnRq_Handler(void) { + fpcNdRq_Handler(); } -#pragma pop diff --git a/src/m_Do/m_Do_ext.cpp b/src/m_Do/m_Do_ext.cpp index 67005d5af5..fb8a3cf2f7 100644 --- a/src/m_Do/m_Do_ext.cpp +++ b/src/m_Do/m_Do_ext.cpp @@ -4,7 +4,12 @@ // #include "m_Do/m_Do_ext.h" +#include "JSystem/JKernel/JKRArchive.h" +#include "JSystem/JKernel/JKRAssertHeap.h" +#include "JSystem/JKernel/JKRExpHeap.h" +#include "SSystem/SComponent/c_xyz.h" #include "dol2asm.h" +#include "dolphin/mtx/mtx.h" #include "dolphin/types.h" // @@ -18,16 +23,6 @@ struct mDoExt_morf_c { /* 8000FBC0 */ void frameUpdate(); }; -struct cXyz { - /* 80009184 */ ~cXyz(); - /* 800125DC */ cXyz(); - /* 80266AE4 */ void operator+(Vec const&) const; - /* 80266B34 */ void operator-(Vec const&) const; - /* 80266B84 */ void operator*(f32) const; - /* 80266CBC */ void outprod(Vec const&) const; - /* 80266F48 */ void normalizeZP(); -}; - struct mDoExt_invisibleModel { /* 8000E53C */ void create(J3DModel*, u8); /* 8000E6C8 */ void entryJoint(cXyz*); @@ -230,19 +225,6 @@ struct JUTCacheFont { /* 802DD188 */ JUTCacheFont(ResFONT const*, u32, JKRHeap*); }; -struct JKRFileLoader { - /* 802D4308 */ void removeResource(void*, JKRFileLoader*); -}; - -struct JKRAssertHeap { - /* 802D1368 */ void create(JKRHeap*); -}; - -struct JKRArchive { - /* 802D5B38 */ void getGlbResource(u32, char const*, JKRArchive*); - /* 802D6770 */ void findIdResource(u16) const; -}; - struct J3DZMode {}; struct J3DVertexBuffer { @@ -2405,314 +2387,265 @@ asm void mDoExt_setupStageTexture(J3DModelData* param_0) { /* ############################################################################################## */ /* 80450C20-80450C24 000120 0004+00 2/1 0/0 0/0 .sbss AssertHeap */ -static u8 AssertHeap[4]; +static JKRAssertHeap* AssertHeap; /* 8000ECC0-8000ECE4 009600 0024+00 0/0 1/1 0/0 .text mDoExt_createAssertHeap__FP7JKRHeap */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void mDoExt_createAssertHeap(JKRHeap* param_0) { - nofralloc -#include "asm/m_Do/m_Do_ext/mDoExt_createAssertHeap__FP7JKRHeap.s" +JKRAssertHeap* mDoExt_createAssertHeap(JKRHeap* param_0) { + return AssertHeap = JKRAssertHeap::create(param_0); } -#pragma pop /* 8000ECE4-8000ECEC -00001 0008+00 0/0 0/0 0/0 .text mDoExt_getAssertHeap__Fv */ -u32 mDoExt_getAssertHeap() { - return *(u32*)(&AssertHeap); +JKRAssertHeap* mDoExt_getAssertHeap() { + return AssertHeap; } /* ############################################################################################## */ /* 80450C24-80450C28 000124 0004+00 2/1 0/0 0/0 .sbss DbPrintHeap */ -static u8 DbPrintHeap[4]; +static JKRExpHeap* DbPrintHeap; /* 8000ECEC-8000ED14 00962C 0028+00 0/0 1/1 0/0 .text mDoExt_createDbPrintHeap__FUlP7JKRHeap */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void mDoExt_createDbPrintHeap(u32 param_0, JKRHeap* param_1) { - nofralloc -#include "asm/m_Do/m_Do_ext/mDoExt_createDbPrintHeap__FUlP7JKRHeap.s" +JKRExpHeap* mDoExt_createDbPrintHeap(u32 param_0, JKRHeap* param_1) { + return DbPrintHeap = JKRExpHeap::create(param_0, param_1, true); } -#pragma pop /* 8000ED14-8000ED1C -00001 0008+00 0/0 0/0 0/0 .text mDoExt_getDbPrintHeap__Fv */ -u32 mDoExt_getDbPrintHeap() { - return *(u32*)(&DbPrintHeap); +JKRExpHeap* mDoExt_getDbPrintHeap() { + return DbPrintHeap; } /* ############################################################################################## */ /* 80450C28-80450C2C 000128 0004+00 2/1 3/3 0/0 .sbss gameHeap */ -extern u8 gameHeap[4]; -u8 gameHeap[4]; +JKRExpHeap* gameHeap; /* 8000ED1C-8000ED50 00965C 0034+00 0/0 1/1 0/0 .text mDoExt_createGameHeap__FUlP7JKRHeap */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void mDoExt_createGameHeap(u32 param_0, JKRHeap* param_1) { - nofralloc -#include "asm/m_Do/m_Do_ext/mDoExt_createGameHeap__FUlP7JKRHeap.s" +JKRExpHeap* mDoExt_createGameHeap(u32 param_0, JKRHeap* param_1) { + gameHeap = JKRExpHeap::create(param_0, param_1, true); + gameHeap->field_0x6c = 1; + return gameHeap; } -#pragma pop /* 8000ED50-8000ED58 -00001 0008+00 0/0 0/0 0/0 .text mDoExt_getGameHeap__Fv */ -u32 mDoExt_getGameHeap() { - return *(u32*)(&gameHeap); +JKRHeap* mDoExt_getGameHeap() { + return gameHeap; } /* ############################################################################################## */ /* 80450C2C-80450C30 00012C 0004+00 2/1 3/3 0/0 .sbss zeldaHeap */ -extern u8 zeldaHeap[4]; -u8 zeldaHeap[4]; +JKRExpHeap* zeldaHeap; /* 8000ED58-8000ED80 009698 0028+00 0/0 1/1 0/0 .text mDoExt_createZeldaHeap__FUlP7JKRHeap */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void mDoExt_createZeldaHeap(u32 param_0, JKRHeap* param_1) { - nofralloc -#include "asm/m_Do/m_Do_ext/mDoExt_createZeldaHeap__FUlP7JKRHeap.s" +JKRExpHeap* mDoExt_createZeldaHeap(u32 param_0, JKRHeap* param_1) { + return zeldaHeap = JKRExpHeap::create(param_0, param_1, true); } -#pragma pop /* 8000ED80-8000ED88 -00001 0008+00 0/0 0/0 0/0 .text mDoExt_getZeldaHeap__Fv */ -u32 mDoExt_getZeldaHeap() { - return *(u32*)(&zeldaHeap); +JKRExpHeap* mDoExt_getZeldaHeap() { + return zeldaHeap; } /* ############################################################################################## */ /* 80450C30-80450C34 000130 0004+00 2/1 1/1 0/0 .sbss commandHeap */ -extern u8 commandHeap[4]; -u8 commandHeap[4]; +JKRExpHeap* commandHeap; /* 8000ED88-8000EDB0 0096C8 0028+00 0/0 1/1 0/0 .text mDoExt_createCommandHeap__FUlP7JKRHeap */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void mDoExt_createCommandHeap(u32 param_0, JKRHeap* param_1) { - nofralloc -#include "asm/m_Do/m_Do_ext/mDoExt_createCommandHeap__FUlP7JKRHeap.s" +JKRExpHeap* mDoExt_createCommandHeap(u32 param_0, JKRHeap* param_1) { + return commandHeap = JKRExpHeap::create(param_0, param_1, true); } -#pragma pop /* 8000EDB0-8000EDB8 -00001 0008+00 0/0 0/0 0/0 .text mDoExt_getCommandHeap__Fv */ -u32 mDoExt_getCommandHeap() { - return *(u32*)(&commandHeap); +JKRExpHeap* mDoExt_getCommandHeap() { + return commandHeap; } /* ############################################################################################## */ /* 80450C34-80450C38 000134 0004+00 3/1 5/5 0/0 .sbss archiveHeap */ -extern u8 archiveHeap[4]; -u8 archiveHeap[4]; +JKRExpHeap* archiveHeap; /* 8000EDB8-8000EDEC 0096F8 0034+00 0/0 1/1 0/0 .text mDoExt_createArchiveHeap__FUlP7JKRHeap */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void mDoExt_createArchiveHeap(u32 param_0, JKRHeap* param_1) { - nofralloc -#include "asm/m_Do/m_Do_ext/mDoExt_createArchiveHeap__FUlP7JKRHeap.s" +JKRExpHeap* mDoExt_createArchiveHeap(u32 param_0, JKRHeap* param_1) { + archiveHeap = JKRExpHeap::create(param_0, param_1, true); + archiveHeap->field_0x6c = 1; + return archiveHeap; } -#pragma pop /* 8000EDEC-8000EDF4 -00001 0008+00 0/0 0/0 0/0 .text mDoExt_getArchiveHeap__Fv */ -u32 mDoExt_getArchiveHeap() { - return *(u32*)(&archiveHeap); +JKRExpHeap* mDoExt_getArchiveHeap() { + return archiveHeap; } /* 8000EDF4-8000EDFC -00001 0008+00 0/0 0/0 0/0 .text mDoExt_getArchiveHeapPtr__Fv */ -u32 mDoExt_getArchiveHeapPtr() { - return *(u32*)(&archiveHeap); +JKRExpHeap* mDoExt_getArchiveHeapPtr() { + return archiveHeap; } /* ############################################################################################## */ /* 80450C38-80450C3C 000138 0004+00 2/1 0/0 0/0 .sbss j2dHeap */ -static u8 j2dHeap[4]; +static JKRExpHeap* j2dHeap; /* 8000EDFC-8000EE30 00973C 0034+00 0/0 1/1 0/0 .text mDoExt_createJ2dHeap__FUlP7JKRHeap */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void mDoExt_createJ2dHeap(u32 param_0, JKRHeap* param_1) { - nofralloc -#include "asm/m_Do/m_Do_ext/mDoExt_createJ2dHeap__FUlP7JKRHeap.s" +JKRExpHeap* mDoExt_createJ2dHeap(u32 param_0, JKRHeap* param_1) { + j2dHeap = JKRExpHeap::create(param_0, param_1, true); + j2dHeap->field_0x6c = 1; + return j2dHeap; } -#pragma pop /* 8000EE30-8000EE38 -00001 0008+00 0/0 0/0 0/0 .text mDoExt_getJ2dHeap__Fv */ -u32 mDoExt_getJ2dHeap() { - return *(u32*)(&j2dHeap); +JKRExpHeap* mDoExt_getJ2dHeap() { + return j2dHeap; } /* ############################################################################################## */ /* 80450C3C-80450C40 00013C 0004+00 1/0 0/0 0/0 .sbss HostIOHeap */ -static u8 HostIOHeap[4]; +static JKRExpHeap* HostIOHeap; /* 8000EE38-8000EE40 -00001 0008+00 0/0 0/0 0/0 .text mDoExt_getHostIOHeap__Fv */ -u32 mDoExt_getHostIOHeap() { - return *(u32*)(&HostIOHeap); +JKRExpHeap* mDoExt_getHostIOHeap() { + return HostIOHeap; } /* 8000EE40-8000EED8 009780 0098+00 3/3 0/0 0/0 .text mDoExt_createSolidHeap__FUlP7JKRHeapUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void mDoExt_createSolidHeap(u32 param_0, JKRHeap* param_1, u32 param_2) { - nofralloc -#include "asm/m_Do/m_Do_ext/mDoExt_createSolidHeap__FUlP7JKRHeapUl.s" +static JKRSolidHeap* mDoExt_createSolidHeap(u32 pSize, JKRHeap* pHeap, u32 pAlignment) { + if (pHeap == NULL) { + pHeap = JKRHeap::getCurrentHeap(); + } + JKRSolidHeap* createdHeap; + if (pSize == 0 || pSize == 0xFFFFFFFF) { + createdHeap = JKRSolidHeap::create(0xFFFFFFFFFF, pHeap, false); + } else { + pSize = ALIGN_NEXT(pSize, 0x10); + pSize += 0x80; + if (0x10 < pAlignment) { + pSize = (pAlignment - 0x10 + pSize); + } + createdHeap = JKRSolidHeap::create(pSize, pHeap, false); + } + if (createdHeap != NULL) { + createdHeap->setErrorFlag(true); + } + return createdHeap; } -#pragma pop /* 8000EED8-8000EF20 009818 0048+00 0/0 2/2 0/0 .text mDoExt_createSolidHeapFromGame__FUlUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void mDoExt_createSolidHeapFromGame(u32 param_0, u32 param_1) { - nofralloc -#include "asm/m_Do/m_Do_ext/mDoExt_createSolidHeapFromGame__FUlUl.s" +JKRSolidHeap* mDoExt_createSolidHeapFromGame(u32 pSize, u32 pAlignment) { + return mDoExt_createSolidHeap(pSize, mDoExt_getGameHeap(), pAlignment); } -#pragma pop /* 8000EF20-8000EF68 009860 0048+00 0/0 1/1 0/0 .text mDoExt_createSolidHeapFromSystem__FUlUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void mDoExt_createSolidHeapFromSystem(u32 param_0, u32 param_1) { - nofralloc -#include "asm/m_Do/m_Do_ext/mDoExt_createSolidHeapFromSystem__FUlUl.s" +JKRSolidHeap* mDoExt_createSolidHeapFromSystem(u32 pSize, u32 pAlignment) { + return mDoExt_createSolidHeap(pSize, mDoExt_getZeldaHeap(), pAlignment); } -#pragma pop /* 8000EF68-8000EFBC 0098A8 0054+00 2/2 0/0 0/0 .text * mDoExt_createSolidHeapToCurrent__FPP7JKRHeapUlP7JKRHeapUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void mDoExt_createSolidHeapToCurrent(JKRHeap** param_0, u32 param_1, JKRHeap* param_2, - u32 param_3) { - nofralloc -#include "asm/m_Do/m_Do_ext/mDoExt_createSolidHeapToCurrent__FPP7JKRHeapUlP7JKRHeapUl.s" +static JKRSolidHeap* mDoExt_createSolidHeapToCurrent(JKRHeap** pOutHeap, u32 pSize, + JKRHeap* pParentHeap, u32 pAlignment) { + if (pOutHeap != NULL) { + *pOutHeap = JKRHeap::getCurrentHeap(); + } + JKRSolidHeap* resultHeap = mDoExt_createSolidHeap(pSize, pParentHeap, pAlignment); + if (resultHeap != NULL) { + mDoExt_setCurrentHeap(resultHeap); + } + return resultHeap; } -#pragma pop /* ############################################################################################## */ /* 80450C40-80450C44 000140 0004+00 2/2 0/0 0/0 .sbss mDoExt_SaveCurrentHeap */ -static u8 mDoExt_SaveCurrentHeap[4]; +static JKRHeap* mDoExt_SaveCurrentHeap; /* 8000EFBC-8000EFF4 0098FC 0038+00 1/1 3/3 0/0 .text * mDoExt_createSolidHeapToCurrent__FUlP7JKRHeapUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void mDoExt_createSolidHeapToCurrent(u32 param_0, JKRHeap* param_1, u32 param_2) { - nofralloc -#include "asm/m_Do/m_Do_ext/mDoExt_createSolidHeapToCurrent__FUlP7JKRHeapUl.s" +JKRSolidHeap* mDoExt_createSolidHeapToCurrent(u32 pSize, JKRHeap* pParentHeap, u32 pAlignment) { + return mDoExt_createSolidHeapToCurrent(&mDoExt_SaveCurrentHeap, pSize, pParentHeap, pAlignment); } -#pragma pop /* 8000EFF4-8000F044 009934 0050+00 0/0 2/2 0/0 .text * mDoExt_createSolidHeapFromGameToCurrent__FPP7JKRHeapUlUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void mDoExt_createSolidHeapFromGameToCurrent(JKRHeap** param_0, u32 param_1, u32 param_2) { - nofralloc -#include "asm/m_Do/m_Do_ext/mDoExt_createSolidHeapFromGameToCurrent__FPP7JKRHeapUlUl.s" +JKRSolidHeap* mDoExt_createSolidHeapFromGameToCurrent(JKRHeap** pOutHeap, u32 pSize, + u32 pAlignment) { + return mDoExt_createSolidHeapToCurrent(pOutHeap, pSize, mDoExt_getGameHeap(), pAlignment); } -#pragma pop /* 8000F044-8000F08C 009984 0048+00 0/0 7/7 0/0 .text * mDoExt_createSolidHeapFromGameToCurrent__FUlUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void mDoExt_createSolidHeapFromGameToCurrent(u32 param_0, u32 param_1) { - nofralloc -#include "asm/m_Do/m_Do_ext/mDoExt_createSolidHeapFromGameToCurrent__FUlUl.s" +JKRSolidHeap* mDoExt_createSolidHeapFromGameToCurrent(u32 pSize, u32 pAlignment) { + return mDoExt_createSolidHeapToCurrent(pSize, mDoExt_getGameHeap(), pAlignment); } -#pragma pop /* ############################################################################################## */ /* 803740FC-803740FC 00075C 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_8037411F = - "親ヒープがExpでないのでアジャストできません %08x %08x\n"; -SECTION_DEAD static char const* const stringBase_80374156 = "adjustSize失敗 %08x\n"; -#pragma pop +// #pragma push +// #pragma force_active on +// SECTION_DEAD static char const* const stringBase_8037411F = +// "親ヒープがExpでないのでアジャストできません %08x %08x\n"; +// SECTION_DEAD static char const* const stringBase_80374156 = "adjustSize失敗 %08x\n"; +// #pragma pop /* 8000F08C-8000F158 0099CC 00CC+00 1/1 11/11 0/0 .text mDoExt_adjustSolidHeap__FP12JKRSolidHeap */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void mDoExt_adjustSolidHeap(JKRSolidHeap* param_0) { - nofralloc -#include "asm/m_Do/m_Do_ext/mDoExt_adjustSolidHeap__FP12JKRSolidHeap.s" +u32 mDoExt_adjustSolidHeap(JKRSolidHeap* pHeap) { + if (pHeap == NULL) { + return -1; + } + JKRHeap* parentHeap = pHeap->getParent(); + if (parentHeap == NULL || parentHeap->getHeapType() != 'EXPH') { + OSReport_Error("親ヒープがExpでないのでアジャストできません %08x %08x\n", pHeap, + parentHeap); + return -1; + } else { + s32 result = pHeap->adjustSize(); + if (result < 0) { + OSReport_Error("adjustSize失敗 %08x\n", pHeap); + return -1; + } else { + // this probably indicates that 0x80 is some constant, maybe from a sizeof(JKRSolidHeap) + // with alignment? + if (result >= (u32)0x80) { + result -= 0x80; + } + return result; + } + } } -#pragma pop /* 8000F158-8000F18C 009A98 0034+00 0/0 1/1 0/0 .text * mDoExt_adjustSolidHeapToSystem__FP12JKRSolidHeap */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void mDoExt_adjustSolidHeapToSystem(JKRSolidHeap* param_0) { - nofralloc -#include "asm/m_Do/m_Do_ext/mDoExt_adjustSolidHeapToSystem__FP12JKRSolidHeap.s" +u32 mDoExt_adjustSolidHeapToSystem(JKRSolidHeap* pHeap) { + u32 result = mDoExt_adjustSolidHeap(pHeap); + mDoExt_restoreCurrentHeap(); + return result; } -#pragma pop /* 8000F18C-8000F1AC 009ACC 0020+00 0/0 13/13 0/0 .text mDoExt_destroySolidHeap__FP12JKRSolidHeap */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void mDoExt_destroySolidHeap(JKRSolidHeap* param_0) { - nofralloc -#include "asm/m_Do/m_Do_ext/mDoExt_destroySolidHeap__FP12JKRSolidHeap.s" +void mDoExt_destroySolidHeap(JKRSolidHeap* pHeap) { + pHeap->destroy(); } -#pragma pop /* 8000F1AC-8000F1CC 009AEC 0020+00 0/0 7/7 0/0 .text mDoExt_destroyExpHeap__FP10JKRExpHeap */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void mDoExt_destroyExpHeap(JKRExpHeap* param_0) { - nofralloc -#include "asm/m_Do/m_Do_ext/mDoExt_destroyExpHeap__FP10JKRExpHeap.s" +void mDoExt_destroyExpHeap(JKRExpHeap* pHeap) { + pHeap->destroy(); } -#pragma pop /* 8000F1CC-8000F1EC 009B0C 0020+00 1/1 78/78 2/2 .text mDoExt_setCurrentHeap__FP7JKRHeap */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void mDoExt_setCurrentHeap(JKRHeap* param_0) { - nofralloc -#include "asm/m_Do/m_Do_ext/mDoExt_setCurrentHeap__FP7JKRHeap.s" +JKRHeap* mDoExt_setCurrentHeap(JKRHeap* pHeap) { + return pHeap->becomeCurrentHeap(); } -#pragma pop /* 8000F1EC-8000F1F4 -00001 0008+00 0/0 0/0 0/0 .text mDoExt_getCurrentHeap__Fv */ -u32 mDoExt_getCurrentHeap() { - return *(u32*)(&JKRHeap::sCurrentHeap); +JKRHeap* mDoExt_getCurrentHeap() { + return JKRHeap::getCurrentHeap(); } /* 8000F1F4-8000F220 009B34 002C+00 1/1 9/9 0/0 .text mDoExt_restoreCurrentHeap__Fv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void mDoExt_restoreCurrentHeap() { - nofralloc -#include "asm/m_Do/m_Do_ext/mDoExt_restoreCurrentHeap__Fv.s" +void mDoExt_restoreCurrentHeap() { + mDoExt_SaveCurrentHeap->becomeCurrentHeap(); + mDoExt_SaveCurrentHeap = NULL; } -#pragma pop /* 8000F220-8000F26C 009B60 004C+00 0/0 1/1 0/0 .text mDoExt_resIDToIndex__FP10JKRArchiveUs */ #pragma push @@ -3221,7 +3154,8 @@ asm void mDoExt_3Dline_c::init(u16 param_0, int param_1, int param_2) { #pragma pop /* 800125DC-800125E0 00CF1C 0004+00 1/1 9/9 0/0 .text __ct__4cXyzFv */ -cXyz::cXyz() { +// cXyz::cXyz() { +extern "C" void __ct__4cXyzFv() { /* empty function */ } diff --git a/src/m_Do/m_Do_lib.cpp b/src/m_Do/m_Do_lib.cpp index 00968e3e56..fc736654ed 100644 --- a/src/m_Do/m_Do_lib.cpp +++ b/src/m_Do/m_Do_lib.cpp @@ -11,32 +11,16 @@ // Types: // -struct mDoLib_clipper { - /* 8001528C */ void setup(f32, f32, f32, f32); - - static u8 mClipper[92]; - static f32 mSystemFar; - static f32 mFovyRate; -}; - struct _GXTlutObj {}; struct _GXTexObj {}; -struct Vec {}; - struct ResTIMG {}; struct JMath { static u8 sincosTable_[65536]; }; -struct J3DUClipper { - /* 80015590 */ ~J3DUClipper(); - /* 80273778 */ void init(); - /* 8027378C */ void calcViewFrustum(); -}; - // // Forward References: // @@ -95,12 +79,8 @@ asm void mDoLib_setResTimgObj(ResTIMG const* param_0, _GXTexObj* param_1, u32 pa } #pragma pop -/* ############################################################################################## */ -/* 803DD8D8-803DD8E4 00A5F8 000C+00 1/1 0/0 0/0 .bss @3727 */ -static u8 lit_3727[12]; - /* 803DD8E4-803DD940 00A604 005C+00 2/2 5/5 5/5 .bss mClipper__14mDoLib_clipper */ -u8 mDoLib_clipper::mClipper[92]; +J3DUClipper mDoLib_clipper::mClipper; /* 80450C70-80450C74 000170 0004+00 1/1 2/2 4/4 .sbss mSystemFar__14mDoLib_clipper */ f32 mDoLib_clipper::mSystemFar; @@ -173,39 +153,4 @@ asm void mDoLib_pos2camera(Vec* param_0, Vec* param_1) { nofralloc #include "asm/m_Do/m_Do_lib/mDoLib_pos2camera__FP3VecP3Vec.s" } -#pragma pop - -/* ############################################################################################## */ -/* 803A3498-803A34A8 0005B8 000C+04 2/2 0/0 0/0 .data __vt__11J3DUClipper */ -SECTION_DATA extern void* __vt__11J3DUClipper[3 + 1 /* padding */] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__11J3DUClipperFv, - /* padding */ - NULL, -}; - -/* 80015544-80015590 00FE84 004C+00 0/0 1/0 0/0 .text __sinit_m_Do_lib_cpp */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void __sinit_m_Do_lib_cpp() { - nofralloc -#include "asm/m_Do/m_Do_lib/__sinit_m_Do_lib_cpp.s" -} -#pragma pop - -#pragma push -#pragma force_active on -REGISTER_CTORS(0x80015544, __sinit_m_Do_lib_cpp); -#pragma pop - -/* 80015590-800155D8 00FED0 0048+00 2/1 0/0 0/0 .text __dt__11J3DUClipperFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm J3DUClipper::~J3DUClipper() { - nofralloc -#include "asm/m_Do/m_Do_lib/__dt__11J3DUClipperFv.s" -} -#pragma pop +#pragma pop \ No newline at end of file