From 06ba045f1d0b9efdc366d2523bd0d3a6621474c6 Mon Sep 17 00:00:00 2001 From: TakaRikka <38417346+TakaRikka@users.noreply.github.com> Date: Tue, 7 May 2024 21:21:07 -0700 Subject: [PATCH] d_a_obj_item done (#2150) * d_a_obj_item 99% done * item cleanup * remove asm * add actor attention dist type enum * change dist_entry names slightly --- Progress.md | 8 +- .../d_a_obj_item/CreateInit__8daItem_cFv.s | 262 --- .../Reflect__FP4cXyzRC13cBgS_PolyInfof.s | 209 --- .../d_a_obj_item/__sinit_d_a_obj_item_cpp.s | 67 - .../_daItem_create__8daItem_cFv.s | 163 -- .../_daItem_execute__8daItem_cFv.s | 196 -- .../obj/d_a_obj_item/bg_check__8daItem_cFv.s | 71 - .../d_a_obj_item/checkYogan__8daItem_cFv.s | 30 - .../daItem_Create__FP10fopAc_ac_c.s | 9 - .../d_a_obj_item/daItem_Delete__FP8daItem_c.s | 9 - .../d_a_obj_item/daItem_Draw__FP8daItem_c.s | 9 - .../daItem_Execute__FP8daItem_c.s | 9 - .../d_a_obj_item/getItemPos__9daPy_py_cCFv.s | 8 - .../getLeftHandPos__9daPy_py_cCFv.s | 8 - .../d_a_obj_item/initAction__8daItem_cFv.s | 49 - .../obj/d_a_obj_item/initFlag__8daItem_cFv.s | 84 - .../obj/d_a_obj_item/initScale__8daItem_cFv.s | 22 - .../obj/d_a_obj_item/initSpeed__8daItem_cFi.s | 133 -- .../itemActionForArrow__8daItem_cFv.s | 32 - .../itemActionForBoomerang__8daItem_cFv.s | 14 - .../itemActionForHeart__8daItem_cFv.s | 76 - ...dCcD_GObjInfP10fopAc_ac_cP12dCcD_GObjInf.s | 51 - asm/a/obj/d_a_obj_item/itemGet__8daItem_cFv.s | 192 -- .../d_a_obj_item/mode_water__8daItem_cFv.s | 57 - .../move_proc_call__8daItem_cFv.s | 109 -- .../procInitBoomerangCarry__8daItem_cFv.s | 63 - .../procInitSimpleGetDemo__8daItem_cFv.s | 56 - .../procMainBoomHitWait__8daItem_cFv.s | 237 --- .../procMainBoomerangCarry__8daItem_cFv.s | 59 - .../procMainSimpleGetDemo__8daItem_cFv.s | 54 - .../d_a_obj_item/setBaseMtx_1__8daItem_cFv.s | 36 - .../d_a_obj_item/set_bound_se__8daItem_cFv.s | 81 - include/d/a/d_a_item_static.h | 122 +- include/d/a/d_a_itembase.h | 44 +- include/d/a/d_a_npc.h | 4 +- include/d/a/d_a_player.h | 2 +- include/d/d_attention.h | 4 +- include/f_op/f_op_actor.h | 14 +- include/f_op/f_op_actor_mng.h | 4 + include/f_op/f_op_camera_mng.h | 8 + obj_files.mk | 1 + rel/d/a/b/d_a_b_bq/d_a_b_bq_NONMATCHING.cpp | 2 +- rel/d/a/b/d_a_b_ds/d_a_b_ds.cpp | 16 +- rel/d/a/b/d_a_b_ds/d_a_b_ds_NONMATCHING.cpp | 18 +- rel/d/a/d_a_do/d_a_do_NONMATCHING.cpp | 2 +- rel/d/a/d_a_myna/d_a_myna.cpp | 4 +- rel/d/a/d_a_ni/d_a_ni_NONMATCHING.cpp | 2 +- rel/d/a/d_a_sq/d_a_sq.cpp | 2 +- rel/d/a/d_a_talk/d_a_talk.cpp | 2 +- rel/d/a/e/d_a_e_fz/d_a_e_fz.cpp | 8 +- rel/d/a/e/d_a_e_fz/d_a_e_fz_nonmatching.cpp | 8 +- rel/d/a/e/d_a_e_nest/d_a_e_nest.cpp | 2 +- rel/d/a/e/d_a_e_oct_bg/d_a_e_oct_bg.cpp | 6 +- rel/d/a/e/d_a_e_ph/d_a_e_ph.cpp | 16 +- rel/d/a/e/d_a_e_yc/d_a_e_yc.cpp | 2 +- rel/d/a/e/d_a_e_ym/d_a_e_ym.cpp | 6 +- rel/d/a/kytag/d_a_kytag03/d_a_kytag03.cpp | 2 +- rel/d/a/kytag/d_a_kytag05/d_a_kytag05.cpp | 2 +- rel/d/a/npc/d_a_npc_ash/d_a_npc_ash.cpp | 18 +- rel/d/a/npc/d_a_npc_ne/d_a_npc_ne.cpp | 2 +- rel/d/a/npc/d_a_npc_the/d_a_npc_the.cpp | 18 +- rel/d/a/npc/d_a_npc_zra/d_a_npc_zra.cpp | 12 +- rel/d/a/obj/d_a_obj_cho/d_a_obj_cho.cpp | 2 +- .../a/obj/d_a_obj_digholl/d_a_obj_digholl.cpp | 2 +- .../obj/d_a_obj_digplace/d_a_obj_digplace.cpp | 2 +- .../a/obj/d_a_obj_digsnow/d_a_obj_digsnow.cpp | 2 +- rel/d/a/obj/d_a_obj_food/d_a_obj_food.cpp | 2 +- rel/d/a/obj/d_a_obj_kabuto/d_a_obj_kabuto.cpp | 2 +- .../a/obj/d_a_obj_kantera/d_a_obj_kantera.cpp | 2 +- rel/d/a/obj/d_a_obj_lbox/d_a_obj_lbox.cpp | 2 +- .../d_a_obj_master_sword.cpp | 2 +- .../a/obj/d_a_obj_ss_item/d_a_obj_ss_item.cpp | 2 +- rel/d/a/obj/d_a_obj_stone/d_a_obj_stone.cpp | 2 +- rel/d/a/obj/d_a_obj_table/d_a_obj_table.cpp | 6 +- rel/d/a/obj/d_a_obj_wchain/d_a_obj_wchain.cpp | 2 +- .../d_a_obj_wind_stone/d_a_obj_wind_stone.cpp | 2 +- .../obj/d_a_obj_yobikusa/d_a_obj_yobikusa.cpp | 4 +- .../a/tag/d_a_tag_Lv6Gate/d_a_tag_Lv6Gate.cpp | 2 +- .../a/tag/d_a_tag_Lv8Gate/d_a_tag_Lv8Gate.cpp | 2 +- .../d_a_tag_attention/d_a_tag_attention.cpp | 2 +- .../d_a_tag_bottle_item.cpp | 6 +- rel/d/a/tag/d_a_tag_howl/d_a_tag_howl.cpp | 2 +- rel/d/a/tag/d_a_tag_mwait/d_a_tag_mwait.cpp | 2 +- .../tag/d_a_tag_ss_drink/d_a_tag_ss_drink.cpp | 6 +- .../d_a_tag_wara_howl/d_a_tag_wara_howl.cpp | 2 +- rel/d/a/tag/d_a_tag_wljump/d_a_tag_wljump.cpp | 4 +- src/d/a/d_a_item_static.cpp | 22 +- src/d/a/d_a_itembase.cpp | 189 +- src/d/a/d_a_itembase_static.cpp | 62 +- src/d/a/d_a_npc.cpp | 6 +- src/d/a/d_a_npc_cd2.cpp | 7 - src/d/a/d_a_obj_item.cpp | 1633 +++++++---------- src/d/d_attention.cpp | 12 +- src/d/d_insect.cpp | 17 + src/d/msg/d_msg_flow.cpp | 2 +- src/f_op/f_op_actor.cpp | 18 +- 96 files changed, 1043 insertions(+), 3805 deletions(-) delete mode 100644 asm/a/obj/d_a_obj_item/CreateInit__8daItem_cFv.s delete mode 100644 asm/a/obj/d_a_obj_item/Reflect__FP4cXyzRC13cBgS_PolyInfof.s delete mode 100644 asm/a/obj/d_a_obj_item/__sinit_d_a_obj_item_cpp.s delete mode 100644 asm/a/obj/d_a_obj_item/_daItem_create__8daItem_cFv.s delete mode 100644 asm/a/obj/d_a_obj_item/_daItem_execute__8daItem_cFv.s delete mode 100644 asm/a/obj/d_a_obj_item/bg_check__8daItem_cFv.s delete mode 100644 asm/a/obj/d_a_obj_item/checkYogan__8daItem_cFv.s delete mode 100644 asm/a/obj/d_a_obj_item/daItem_Create__FP10fopAc_ac_c.s delete mode 100644 asm/a/obj/d_a_obj_item/daItem_Delete__FP8daItem_c.s delete mode 100644 asm/a/obj/d_a_obj_item/daItem_Draw__FP8daItem_c.s delete mode 100644 asm/a/obj/d_a_obj_item/daItem_Execute__FP8daItem_c.s delete mode 100644 asm/a/obj/d_a_obj_item/getItemPos__9daPy_py_cCFv.s delete mode 100644 asm/a/obj/d_a_obj_item/getLeftHandPos__9daPy_py_cCFv.s delete mode 100644 asm/a/obj/d_a_obj_item/initAction__8daItem_cFv.s delete mode 100644 asm/a/obj/d_a_obj_item/initFlag__8daItem_cFv.s delete mode 100644 asm/a/obj/d_a_obj_item/initScale__8daItem_cFv.s delete mode 100644 asm/a/obj/d_a_obj_item/initSpeed__8daItem_cFi.s delete mode 100644 asm/a/obj/d_a_obj_item/itemActionForArrow__8daItem_cFv.s delete mode 100644 asm/a/obj/d_a_obj_item/itemActionForBoomerang__8daItem_cFv.s delete mode 100644 asm/a/obj/d_a_obj_item/itemActionForHeart__8daItem_cFv.s delete mode 100644 asm/a/obj/d_a_obj_item/itemGetTgCallBack__FP10fopAc_ac_cP12dCcD_GObjInfP10fopAc_ac_cP12dCcD_GObjInf.s delete mode 100644 asm/a/obj/d_a_obj_item/itemGet__8daItem_cFv.s delete mode 100644 asm/a/obj/d_a_obj_item/mode_water__8daItem_cFv.s delete mode 100644 asm/a/obj/d_a_obj_item/move_proc_call__8daItem_cFv.s delete mode 100644 asm/a/obj/d_a_obj_item/procInitBoomerangCarry__8daItem_cFv.s delete mode 100644 asm/a/obj/d_a_obj_item/procInitSimpleGetDemo__8daItem_cFv.s delete mode 100644 asm/a/obj/d_a_obj_item/procMainBoomHitWait__8daItem_cFv.s delete mode 100644 asm/a/obj/d_a_obj_item/procMainBoomerangCarry__8daItem_cFv.s delete mode 100644 asm/a/obj/d_a_obj_item/procMainSimpleGetDemo__8daItem_cFv.s delete mode 100644 asm/a/obj/d_a_obj_item/setBaseMtx_1__8daItem_cFv.s delete mode 100644 asm/a/obj/d_a_obj_item/set_bound_se__8daItem_cFv.s diff --git a/Progress.md b/Progress.md index 62d51dbe1c..11969a0ec4 100644 --- a/Progress.md +++ b/Progress.md @@ -7,22 +7,22 @@ Section | Percentage | Decompiled (bytes) | Total (bytes) .init | 97.972973% | 9280 | 9472 .extab | 100.000000% | 96 | 96 .extabindex | 100.000000% | 96 | 96 -.text | 49.040635% | 1763768 | 3596544 +.text | 49.296436% | 1772968 | 3596544 .ctors | 100.000000% | 448 | 448 .dtors | 100.000000% | 32 | 32 .rodata | 100.000000% | 193856 | 193856 .data | 100.000000% | 197632 | 197632 .sdata | 100.000000% | 1408 | 1408 .sdata2 | 100.000000% | 20832 | 20832 -Total | 54.411402% | 2187704 | 4020672 +Total | 54.640219% | 2196904 | 4020672 ## Total Section | Percentage | Decompiled (bytes) | Total (bytes) ---|---|---|--- -main.dol | 54.411402% | 2187704 | 4020672 +main.dol | 54.640219% | 2196904 | 4020672 RELs | 38.593660% | 4438396 | 11500324 -Total | 42.691204% | 6626100 | 15520996 +Total | 42.750478% | 6635300 | 15520996 ## RELs diff --git a/asm/a/obj/d_a_obj_item/CreateInit__8daItem_cFv.s b/asm/a/obj/d_a_obj_item/CreateInit__8daItem_cFv.s deleted file mode 100644 index 2d8fda1a88..0000000000 --- a/asm/a/obj/d_a_obj_item/CreateInit__8daItem_cFv.s +++ /dev/null @@ -1,262 +0,0 @@ -lbl_8015B3D8: -/* 8015B3D8 94 21 FF A0 */ stwu r1, -0x60(r1) -/* 8015B3DC 7C 08 02 A6 */ mflr r0 -/* 8015B3E0 90 01 00 64 */ stw r0, 0x64(r1) -/* 8015B3E4 DB E1 00 50 */ stfd f31, 0x50(r1) -/* 8015B3E8 F3 E1 00 58 */ psq_st f31, 88(r1), 0, 0 /* qr0 */ -/* 8015B3EC 93 E1 00 4C */ stw r31, 0x4c(r1) -/* 8015B3F0 7C 7F 1B 78 */ mr r31, r3 -/* 8015B3F4 38 7F 07 64 */ addi r3, r31, 0x764 -/* 8015B3F8 C0 22 9B 74 */ lfs f1, lit_4067(r2) -/* 8015B3FC FC 40 08 90 */ fmr f2, f1 -/* 8015B400 4B F1 AB 59 */ bl SetWall__12dBgS_AcchCirFff -/* 8015B404 38 00 00 00 */ li r0, 0 -/* 8015B408 90 01 00 08 */ stw r0, 8(r1) -/* 8015B40C 38 7F 05 8C */ addi r3, r31, 0x58c -/* 8015B410 38 9F 04 D0 */ addi r4, r31, 0x4d0 -/* 8015B414 38 BF 04 BC */ addi r5, r31, 0x4bc -/* 8015B418 7F E6 FB 78 */ mr r6, r31 -/* 8015B41C 38 E0 00 01 */ li r7, 1 -/* 8015B420 39 1F 07 64 */ addi r8, r31, 0x764 -/* 8015B424 39 3F 04 F8 */ addi r9, r31, 0x4f8 -/* 8015B428 39 40 00 00 */ li r10, 0 -/* 8015B42C 4B F1 AE 1D */ bl Set__9dBgS_AcchFP4cXyzP4cXyzP10fopAc_ac_ciP12dBgS_AcchCirP4cXyzP5csXyzP5csXyz -/* 8015B430 80 1F 05 B8 */ lwz r0, 0x5b8(r31) -/* 8015B434 54 00 05 A8 */ rlwinm r0, r0, 0, 0x16, 0x14 -/* 8015B438 90 1F 05 B8 */ stw r0, 0x5b8(r31) -/* 8015B43C 80 1F 05 B8 */ lwz r0, 0x5b8(r31) -/* 8015B440 54 00 07 76 */ rlwinm r0, r0, 0, 0x1d, 0x1b -/* 8015B444 90 1F 05 B8 */ stw r0, 0x5b8(r31) -/* 8015B448 38 00 00 02 */ li r0, 2 -/* 8015B44C 98 1F 07 60 */ stb r0, 0x760(r31) -/* 8015B450 C0 02 9B 78 */ lfs f0, lit_4068(r2) -/* 8015B454 D0 1F 06 5C */ stfs f0, 0x65c(r31) -/* 8015B458 38 7F 07 A4 */ addi r3, r31, 0x7a4 -/* 8015B45C 38 80 00 00 */ li r4, 0 -/* 8015B460 38 A0 00 FF */ li r5, 0xff -/* 8015B464 7F E6 FB 78 */ mr r6, r31 -/* 8015B468 4B F2 83 F9 */ bl Init__9dCcD_SttsFiiP10fopAc_ac_c -/* 8015B46C 38 7F 07 E0 */ addi r3, r31, 0x7e0 -/* 8015B470 3C 80 80 3C */ lis r4, m_cyl_src__8daItem_c@ha /* 0x803B9F10@ha */ -/* 8015B474 38 84 9F 10 */ addi r4, r4, m_cyl_src__8daItem_c@l /* 0x803B9F10@l */ -/* 8015B478 4B F2 94 3D */ bl Set__8dCcD_CylFRC11dCcD_SrcCyl -/* 8015B47C 38 1F 07 A4 */ addi r0, r31, 0x7a4 -/* 8015B480 90 1F 08 24 */ stw r0, 0x824(r31) -/* 8015B484 3C 60 80 16 */ lis r3, itemGetCoCallBack__FP10fopAc_ac_cP12dCcD_GObjInfP10fopAc_ac_cP12dCcD_GObjInf@ha /* 0x8015B254@ha */ -/* 8015B488 38 03 B2 54 */ addi r0, r3, itemGetCoCallBack__FP10fopAc_ac_cP12dCcD_GObjInfP10fopAc_ac_cP12dCcD_GObjInf@l /* 0x8015B254@l */ -/* 8015B48C 90 1F 08 D0 */ stw r0, 0x8d0(r31) -/* 8015B490 3C 60 80 16 */ lis r3, itemGetTgCallBack__FP10fopAc_ac_cP12dCcD_GObjInfP10fopAc_ac_cP12dCcD_GObjInf@ha /* 0x8015B320@ha */ -/* 8015B494 38 03 B3 20 */ addi r0, r3, itemGetTgCallBack__FP10fopAc_ac_cP12dCcD_GObjInfP10fopAc_ac_cP12dCcD_GObjInf@l /* 0x8015B320@l */ -/* 8015B498 90 1F 08 84 */ stw r0, 0x884(r31) -/* 8015B49C 3C 60 80 3B */ lis r3, item_info__10dItem_data@ha /* 0x803AED78@ha */ -/* 8015B4A0 38 63 ED 78 */ addi r3, r3, item_info__10dItem_data@l /* 0x803AED78@l */ -/* 8015B4A4 88 1F 09 2A */ lbz r0, 0x92a(r31) -/* 8015B4A8 54 00 10 3A */ slwi r0, r0, 2 -/* 8015B4AC 7C 83 02 14 */ add r4, r3, r0 -/* 8015B4B0 88 04 00 01 */ lbz r0, 1(r4) -/* 8015B4B4 C8 22 9B 88 */ lfd f1, lit_4072(r2) -/* 8015B4B8 90 01 00 34 */ stw r0, 0x34(r1) -/* 8015B4BC 3C 60 43 30 */ lis r3, 0x4330 -/* 8015B4C0 90 61 00 30 */ stw r3, 0x30(r1) -/* 8015B4C4 C8 01 00 30 */ lfd f0, 0x30(r1) -/* 8015B4C8 EF E0 08 28 */ fsubs f31, f0, f1 -/* 8015B4CC 88 04 00 02 */ lbz r0, 2(r4) -/* 8015B4D0 90 01 00 3C */ stw r0, 0x3c(r1) -/* 8015B4D4 90 61 00 38 */ stw r3, 0x38(r1) -/* 8015B4D8 C8 01 00 38 */ lfd f0, 0x38(r1) -/* 8015B4DC EC 20 08 28 */ fsubs f1, f0, f1 -/* 8015B4E0 C0 5F 04 EC */ lfs f2, 0x4ec(r31) -/* 8015B4E4 C0 02 9B 7C */ lfs f0, lit_4069(r2) -/* 8015B4E8 FC 02 00 40 */ fcmpo cr0, f2, f0 -/* 8015B4EC 40 81 00 0C */ ble lbl_8015B4F8 -/* 8015B4F0 EF FF 00 B2 */ fmuls f31, f31, f2 -/* 8015B4F4 EC 21 00 B2 */ fmuls f1, f1, f2 -lbl_8015B4F8: -/* 8015B4F8 38 7F 09 04 */ addi r3, r31, 0x904 -/* 8015B4FC 48 11 3D 05 */ bl SetR__8cM3dGCylFf -/* 8015B500 38 7F 09 04 */ addi r3, r31, 0x904 -/* 8015B504 FC 20 F8 90 */ fmr f1, f31 -/* 8015B508 48 11 3C F1 */ bl SetH__8cM3dGCylFf -/* 8015B50C 7F E3 FB 78 */ mr r3, r31 -/* 8015B510 48 00 02 AD */ bl setCullInfo__8daItem_cFv -/* 8015B514 7F E3 FB 78 */ mr r3, r31 -/* 8015B518 4B FF FB A1 */ bl getData__12daItemBase_cFv -/* 8015B51C A8 03 00 16 */ lha r0, 0x16(r3) -/* 8015B520 B0 1F 09 42 */ sth r0, 0x942(r31) -/* 8015B524 7F E3 FB 78 */ mr r3, r31 -/* 8015B528 4B FF FB 91 */ bl getData__12daItemBase_cFv -/* 8015B52C A8 03 00 18 */ lha r0, 0x18(r3) -/* 8015B530 B0 1F 09 44 */ sth r0, 0x944(r31) -/* 8015B534 7F E3 FB 78 */ mr r3, r31 -/* 8015B538 48 00 09 29 */ bl procInitNormal__8daItem_cFv -/* 8015B53C 7F E3 FB 78 */ mr r3, r31 -/* 8015B540 4B ED C5 35 */ bl show__12daItemBase_cFv -/* 8015B544 C0 02 9B 7C */ lfs f0, lit_4069(r2) -/* 8015B548 D0 1F 09 30 */ stfs f0, 0x930(r31) -/* 8015B54C D0 1F 09 34 */ stfs f0, 0x934(r31) -/* 8015B550 D0 1F 09 38 */ stfs f0, 0x938(r31) -/* 8015B554 80 7F 00 B0 */ lwz r3, 0xb0(r31) -/* 8015B558 54 60 47 3E */ rlwinm r0, r3, 8, 0x1c, 0x1f -/* 8015B55C 2C 00 00 06 */ cmpwi r0, 6 -/* 8015B560 41 82 00 58 */ beq lbl_8015B5B8 -/* 8015B564 40 80 00 14 */ bge lbl_8015B578 -/* 8015B568 2C 00 00 04 */ cmpwi r0, 4 -/* 8015B56C 41 82 00 38 */ beq lbl_8015B5A4 -/* 8015B570 40 80 00 14 */ bge lbl_8015B584 -/* 8015B574 48 00 00 44 */ b lbl_8015B5B8 -lbl_8015B578: -/* 8015B578 2C 00 00 08 */ cmpwi r0, 8 -/* 8015B57C 40 80 00 3C */ bge lbl_8015B5B8 -/* 8015B580 48 00 00 18 */ b lbl_8015B598 -lbl_8015B584: -/* 8015B584 7F E3 FB 78 */ mr r3, r31 -/* 8015B588 4B ED C4 DD */ bl hide__12daItemBase_cFv -/* 8015B58C 7F E3 FB 78 */ mr r3, r31 -/* 8015B590 48 00 11 79 */ bl procInitBoomHitWait__8daItem_cFv -/* 8015B594 48 00 00 70 */ b lbl_8015B604 -lbl_8015B598: -/* 8015B598 7F E3 FB 78 */ mr r3, r31 -/* 8015B59C 48 00 0A 51 */ bl procInitForceGet__8daItem_cFv -/* 8015B5A0 48 00 00 64 */ b lbl_8015B604 -lbl_8015B5A4: -/* 8015B5A4 7F E3 FB 78 */ mr r3, r31 -/* 8015B5A8 48 00 0A B1 */ bl procInitSimpleGetDemo__8daItem_cFv -/* 8015B5AC 7F E3 FB 78 */ mr r3, r31 -/* 8015B5B0 48 00 0B 85 */ bl procMainSimpleGetDemo__8daItem_cFv -/* 8015B5B4 48 00 00 50 */ b lbl_8015B604 -lbl_8015B5B8: -/* 8015B5B8 54 60 86 3E */ rlwinm r0, r3, 0x10, 0x18, 0x1f -/* 8015B5BC 90 1F 09 3C */ stw r0, 0x93c(r31) -/* 8015B5C0 80 9F 09 3C */ lwz r4, 0x93c(r31) -/* 8015B5C4 2C 04 00 FF */ cmpwi r4, 0xff -/* 8015B5C8 41 82 00 3C */ beq lbl_8015B604 -/* 8015B5CC 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8015B5D0 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8015B5D4 88 1F 04 BA */ lbz r0, 0x4ba(r31) -/* 8015B5D8 7C 05 07 74 */ extsb r5, r0 -/* 8015B5DC 4B ED 9D 85 */ bl isSwitch__10dSv_info_cCFii -/* 8015B5E0 2C 03 00 00 */ cmpwi r3, 0 -/* 8015B5E4 40 82 00 20 */ bne lbl_8015B604 -/* 8015B5E8 7F E3 FB 78 */ mr r3, r31 -/* 8015B5EC 4B ED C4 79 */ bl hide__12daItemBase_cFv -/* 8015B5F0 88 1F 09 48 */ lbz r0, 0x948(r31) -/* 8015B5F4 60 00 00 08 */ ori r0, r0, 8 -/* 8015B5F8 98 1F 09 48 */ stb r0, 0x948(r31) -/* 8015B5FC 7F E3 FB 78 */ mr r3, r31 -/* 8015B600 48 00 0F F5 */ bl procInitSwOnWait__8daItem_cFv -lbl_8015B604: -/* 8015B604 7F E3 FB 78 */ mr r3, r31 -/* 8015B608 48 00 23 E9 */ bl initAction__8daItem_cFv -/* 8015B60C 7F E3 FB 78 */ mr r3, r31 -/* 8015B610 4B FF FA B5 */ bl initBaseMtx__8daItem_cFv -/* 8015B614 7F E3 FB 78 */ mr r3, r31 -/* 8015B618 C0 22 9B 7C */ lfs f1, lit_4069(r2) -/* 8015B61C FC 40 08 90 */ fmr f2, f1 -/* 8015B620 FC 60 08 90 */ fmr f3, f1 -/* 8015B624 FC 80 08 90 */ fmr f4, f1 -/* 8015B628 FC A0 08 90 */ fmr f5, f1 -/* 8015B62C FC C0 08 90 */ fmr f6, f1 -/* 8015B630 4B FE 9A 0D */ bl animPlay__12daItemBase_cFffffff -/* 8015B634 88 1F 09 2A */ lbz r0, 0x92a(r31) -/* 8015B638 28 00 00 40 */ cmplwi r0, 0x40 -/* 8015B63C 40 82 00 10 */ bne lbl_8015B64C -/* 8015B640 7F E3 FB 78 */ mr r3, r31 -/* 8015B644 48 00 18 A9 */ bl itemGetNextExecute__8daItem_cFv -/* 8015B648 48 00 00 70 */ b lbl_8015B6B8 -lbl_8015B64C: -/* 8015B64C 28 00 00 06 */ cmplwi r0, 6 -/* 8015B650 41 82 00 0C */ beq lbl_8015B65C -/* 8015B654 28 00 00 07 */ cmplwi r0, 7 -/* 8015B658 40 82 00 60 */ bne lbl_8015B6B8 -lbl_8015B65C: -/* 8015B65C 80 1F 09 9C */ lwz r0, 0x99c(r31) -/* 8015B660 28 00 00 00 */ cmplwi r0, 0 -/* 8015B664 40 82 00 54 */ bne lbl_8015B6B8 -/* 8015B668 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8015B66C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8015B670 80 63 5D 3C */ lwz r3, 0x5d3c(r3) -/* 8015B674 38 1F 09 98 */ addi r0, r31, 0x998 -/* 8015B678 90 01 00 08 */ stw r0, 8(r1) -/* 8015B67C 38 00 FF FF */ li r0, -1 -/* 8015B680 90 01 00 0C */ stw r0, 0xc(r1) -/* 8015B684 38 00 00 00 */ li r0, 0 -/* 8015B688 90 01 00 10 */ stw r0, 0x10(r1) -/* 8015B68C 90 01 00 14 */ stw r0, 0x14(r1) -/* 8015B690 90 01 00 18 */ stw r0, 0x18(r1) -/* 8015B694 38 80 00 00 */ li r4, 0 -/* 8015B698 38 A0 0C 14 */ li r5, 0xc14 -/* 8015B69C 38 DF 09 AC */ addi r6, r31, 0x9ac -/* 8015B6A0 38 E0 00 00 */ li r7, 0 -/* 8015B6A4 39 00 00 00 */ li r8, 0 -/* 8015B6A8 39 20 00 00 */ li r9, 0 -/* 8015B6AC 39 40 00 FF */ li r10, 0xff -/* 8015B6B0 C0 22 9B 7C */ lfs f1, lit_4069(r2) -/* 8015B6B4 4B EF 13 DD */ bl set__13dPa_control_cFUcUsPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyzUcP18dPa_levelEcallBackScPC8_GXColorPC8_GXColorPC4cXyzf -lbl_8015B6B8: -/* 8015B6B8 38 7F 09 78 */ addi r3, r31, 0x978 -/* 8015B6BC 38 9F 04 D0 */ addi r4, r31, 0x4d0 -/* 8015B6C0 38 A0 00 01 */ li r5, 1 -/* 8015B6C4 81 9F 09 88 */ lwz r12, 0x988(r31) -/* 8015B6C8 81 8C 00 14 */ lwz r12, 0x14(r12) -/* 8015B6CC 7D 89 03 A6 */ mtctr r12 -/* 8015B6D0 4E 80 04 21 */ bctrl -/* 8015B6D4 C3 FF 05 2C */ lfs f31, 0x52c(r31) -/* 8015B6D8 C0 1F 04 F8 */ lfs f0, 0x4f8(r31) -/* 8015B6DC D0 01 00 20 */ stfs f0, 0x20(r1) -/* 8015B6E0 C0 1F 04 FC */ lfs f0, 0x4fc(r31) -/* 8015B6E4 D0 01 00 24 */ stfs f0, 0x24(r1) -/* 8015B6E8 C0 1F 05 00 */ lfs f0, 0x500(r31) -/* 8015B6EC D0 01 00 28 */ stfs f0, 0x28(r1) -/* 8015B6F0 38 7F 05 8C */ addi r3, r31, 0x58c -/* 8015B6F4 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8015B6F8 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8015B6FC 38 84 0F 38 */ addi r4, r4, 0xf38 -/* 8015B700 4B F1 B3 AD */ bl CrrPos__9dBgS_AcchFR4dBgS -/* 8015B704 80 1F 05 B8 */ lwz r0, 0x5b8(r31) -/* 8015B708 54 00 05 29 */ rlwinm. r0, r0, 0, 0x14, 0x14 -/* 8015B70C 41 82 00 24 */ beq lbl_8015B730 -/* 8015B710 C0 5F 07 58 */ lfs f2, 0x758(r31) -/* 8015B714 C0 22 9B 80 */ lfs f1, lit_4070(r2) -/* 8015B718 C0 1F 04 AC */ lfs f0, 0x4ac(r31) -/* 8015B71C EC 01 00 2A */ fadds f0, f1, f0 -/* 8015B720 FC 02 00 40 */ fcmpo cr0, f2, f0 -/* 8015B724 40 81 00 0C */ ble lbl_8015B730 -/* 8015B728 38 00 00 01 */ li r0, 1 -/* 8015B72C 98 1F 09 C0 */ stb r0, 0x9c0(r31) -lbl_8015B730: -/* 8015B730 80 1F 00 B0 */ lwz r0, 0xb0(r31) -/* 8015B734 54 00 27 3E */ srwi r0, r0, 0x1c -/* 8015B738 28 00 00 01 */ cmplwi r0, 1 -/* 8015B73C 40 82 00 0C */ bne lbl_8015B748 -/* 8015B740 38 00 00 01 */ li r0, 1 -/* 8015B744 98 1F 09 C0 */ stb r0, 0x9c0(r31) -lbl_8015B748: -/* 8015B748 D3 FF 05 2C */ stfs f31, 0x52c(r31) -/* 8015B74C C0 01 00 20 */ lfs f0, 0x20(r1) -/* 8015B750 D0 1F 04 F8 */ stfs f0, 0x4f8(r31) -/* 8015B754 C0 01 00 24 */ lfs f0, 0x24(r1) -/* 8015B758 D0 1F 04 FC */ stfs f0, 0x4fc(r31) -/* 8015B75C C0 01 00 28 */ lfs f0, 0x28(r1) -/* 8015B760 D0 1F 05 00 */ stfs f0, 0x500(r31) -/* 8015B764 80 1F 05 B8 */ lwz r0, 0x5b8(r31) -/* 8015B768 54 00 06 6E */ rlwinm r0, r0, 0, 0x19, 0x17 -/* 8015B76C 90 1F 05 B8 */ stw r0, 0x5b8(r31) -/* 8015B770 80 1F 05 B8 */ lwz r0, 0x5b8(r31) -/* 8015B774 54 00 06 F2 */ rlwinm r0, r0, 0, 0x1b, 0x19 -/* 8015B778 90 1F 05 B8 */ stw r0, 0x5b8(r31) -/* 8015B77C 80 1F 05 B8 */ lwz r0, 0x5b8(r31) -/* 8015B780 54 00 05 66 */ rlwinm r0, r0, 0, 0x15, 0x13 -/* 8015B784 90 1F 05 B8 */ stw r0, 0x5b8(r31) -/* 8015B788 80 1F 05 B8 */ lwz r0, 0x5b8(r31) -/* 8015B78C 54 00 05 24 */ rlwinm r0, r0, 0, 0x14, 0x12 -/* 8015B790 90 1F 05 B8 */ stw r0, 0x5b8(r31) -/* 8015B794 80 1F 05 B8 */ lwz r0, 0x5b8(r31) -/* 8015B798 54 00 07 34 */ rlwinm r0, r0, 0, 0x1c, 0x1a -/* 8015B79C 90 1F 05 B8 */ stw r0, 0x5b8(r31) -/* 8015B7A0 E3 E1 00 58 */ psq_l f31, 88(r1), 0, 0 /* qr0 */ -/* 8015B7A4 CB E1 00 50 */ lfd f31, 0x50(r1) -/* 8015B7A8 83 E1 00 4C */ lwz r31, 0x4c(r1) -/* 8015B7AC 80 01 00 64 */ lwz r0, 0x64(r1) -/* 8015B7B0 7C 08 03 A6 */ mtlr r0 -/* 8015B7B4 38 21 00 60 */ addi r1, r1, 0x60 -/* 8015B7B8 4E 80 00 20 */ blr diff --git a/asm/a/obj/d_a_obj_item/Reflect__FP4cXyzRC13cBgS_PolyInfof.s b/asm/a/obj/d_a_obj_item/Reflect__FP4cXyzRC13cBgS_PolyInfof.s deleted file mode 100644 index 052df5c990..0000000000 --- a/asm/a/obj/d_a_obj_item/Reflect__FP4cXyzRC13cBgS_PolyInfof.s +++ /dev/null @@ -1,209 +0,0 @@ -lbl_8015ADCC: -/* 8015ADCC 94 21 FF 70 */ stwu r1, -0x90(r1) -/* 8015ADD0 7C 08 02 A6 */ mflr r0 -/* 8015ADD4 90 01 00 94 */ stw r0, 0x94(r1) -/* 8015ADD8 DB E1 00 80 */ stfd f31, 0x80(r1) -/* 8015ADDC F3 E1 00 88 */ psq_st f31, 136(r1), 0, 0 /* qr0 */ -/* 8015ADE0 DB C1 00 70 */ stfd f30, 0x70(r1) -/* 8015ADE4 F3 C1 00 78 */ psq_st f30, 120(r1), 0, 0 /* qr0 */ -/* 8015ADE8 93 E1 00 6C */ stw r31, 0x6c(r1) -/* 8015ADEC 7C 7F 1B 78 */ mr r31, r3 -/* 8015ADF0 FF E0 08 90 */ fmr f31, f1 -/* 8015ADF4 3C 60 80 3A */ lis r3, __vt__8cM3dGPla@ha /* 0x803A37C0@ha */ -/* 8015ADF8 38 03 37 C0 */ addi r0, r3, __vt__8cM3dGPla@l /* 0x803A37C0@l */ -/* 8015ADFC 90 01 00 5C */ stw r0, 0x5c(r1) -/* 8015AE00 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8015AE04 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8015AE08 38 63 0F 38 */ addi r3, r3, 0xf38 -/* 8015AE0C 38 A1 00 4C */ addi r5, r1, 0x4c -/* 8015AE10 4B F1 99 35 */ bl GetTriPla__4cBgSCFRC13cBgS_PolyInfoP8cM3dGPla -/* 8015AE14 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 8015AE18 41 82 02 6C */ beq lbl_8015B084 -/* 8015AE1C C0 3F 00 08 */ lfs f1, 8(r31) -/* 8015AE20 C0 1F 00 00 */ lfs f0, 0(r31) -/* 8015AE24 D0 01 00 1C */ stfs f0, 0x1c(r1) -/* 8015AE28 C0 02 9B 50 */ lfs f0, lit_3857(r2) -/* 8015AE2C D0 01 00 20 */ stfs f0, 0x20(r1) -/* 8015AE30 D0 21 00 24 */ stfs f1, 0x24(r1) -/* 8015AE34 38 61 00 1C */ addi r3, r1, 0x1c -/* 8015AE38 48 1E C3 01 */ bl PSVECSquareMag -/* 8015AE3C C0 02 9B 50 */ lfs f0, lit_3857(r2) -/* 8015AE40 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 8015AE44 40 81 00 58 */ ble lbl_8015AE9C -/* 8015AE48 FC 00 08 34 */ frsqrte f0, f1 -/* 8015AE4C C8 82 9B 58 */ lfd f4, lit_3858(r2) -/* 8015AE50 FC 44 00 32 */ fmul f2, f4, f0 -/* 8015AE54 C8 62 9B 60 */ lfd f3, lit_3859(r2) -/* 8015AE58 FC 00 00 32 */ fmul f0, f0, f0 -/* 8015AE5C FC 01 00 32 */ fmul f0, f1, f0 -/* 8015AE60 FC 03 00 28 */ fsub f0, f3, f0 -/* 8015AE64 FC 02 00 32 */ fmul f0, f2, f0 -/* 8015AE68 FC 44 00 32 */ fmul f2, f4, f0 -/* 8015AE6C FC 00 00 32 */ fmul f0, f0, f0 -/* 8015AE70 FC 01 00 32 */ fmul f0, f1, f0 -/* 8015AE74 FC 03 00 28 */ fsub f0, f3, f0 -/* 8015AE78 FC 02 00 32 */ fmul f0, f2, f0 -/* 8015AE7C FC 44 00 32 */ fmul f2, f4, f0 -/* 8015AE80 FC 00 00 32 */ fmul f0, f0, f0 -/* 8015AE84 FC 01 00 32 */ fmul f0, f1, f0 -/* 8015AE88 FC 03 00 28 */ fsub f0, f3, f0 -/* 8015AE8C FC 02 00 32 */ fmul f0, f2, f0 -/* 8015AE90 FF C1 00 32 */ fmul f30, f1, f0 -/* 8015AE94 FF C0 F0 18 */ frsp f30, f30 -/* 8015AE98 48 00 00 90 */ b lbl_8015AF28 -lbl_8015AE9C: -/* 8015AE9C C8 02 9B 68 */ lfd f0, lit_3860(r2) -/* 8015AEA0 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 8015AEA4 40 80 00 10 */ bge lbl_8015AEB4 -/* 8015AEA8 3C 60 80 45 */ lis r3, __float_nan@ha /* 0x80450AE0@ha */ -/* 8015AEAC C3 C3 0A E0 */ lfs f30, __float_nan@l(r3) /* 0x80450AE0@l */ -/* 8015AEB0 48 00 00 78 */ b lbl_8015AF28 -lbl_8015AEB4: -/* 8015AEB4 D0 21 00 0C */ stfs f1, 0xc(r1) -/* 8015AEB8 80 81 00 0C */ lwz r4, 0xc(r1) -/* 8015AEBC 54 83 00 50 */ rlwinm r3, r4, 0, 1, 8 -/* 8015AEC0 3C 00 7F 80 */ lis r0, 0x7f80 -/* 8015AEC4 7C 03 00 00 */ cmpw r3, r0 -/* 8015AEC8 41 82 00 14 */ beq lbl_8015AEDC -/* 8015AECC 40 80 00 40 */ bge lbl_8015AF0C -/* 8015AED0 2C 03 00 00 */ cmpwi r3, 0 -/* 8015AED4 41 82 00 20 */ beq lbl_8015AEF4 -/* 8015AED8 48 00 00 34 */ b lbl_8015AF0C -lbl_8015AEDC: -/* 8015AEDC 54 80 02 7F */ clrlwi. r0, r4, 9 -/* 8015AEE0 41 82 00 0C */ beq lbl_8015AEEC -/* 8015AEE4 38 00 00 01 */ li r0, 1 -/* 8015AEE8 48 00 00 28 */ b lbl_8015AF10 -lbl_8015AEEC: -/* 8015AEEC 38 00 00 02 */ li r0, 2 -/* 8015AEF0 48 00 00 20 */ b lbl_8015AF10 -lbl_8015AEF4: -/* 8015AEF4 54 80 02 7F */ clrlwi. r0, r4, 9 -/* 8015AEF8 41 82 00 0C */ beq lbl_8015AF04 -/* 8015AEFC 38 00 00 05 */ li r0, 5 -/* 8015AF00 48 00 00 10 */ b lbl_8015AF10 -lbl_8015AF04: -/* 8015AF04 38 00 00 03 */ li r0, 3 -/* 8015AF08 48 00 00 08 */ b lbl_8015AF10 -lbl_8015AF0C: -/* 8015AF0C 38 00 00 04 */ li r0, 4 -lbl_8015AF10: -/* 8015AF10 2C 00 00 01 */ cmpwi r0, 1 -/* 8015AF14 40 82 00 10 */ bne lbl_8015AF24 -/* 8015AF18 3C 60 80 45 */ lis r3, __float_nan@ha /* 0x80450AE0@ha */ -/* 8015AF1C C3 C3 0A E0 */ lfs f30, __float_nan@l(r3) /* 0x80450AE0@l */ -/* 8015AF20 48 00 00 08 */ b lbl_8015AF28 -lbl_8015AF24: -/* 8015AF24 FF C0 08 90 */ fmr f30, f1 -lbl_8015AF28: -/* 8015AF28 7F E3 FB 78 */ mr r3, r31 -/* 8015AF2C 38 81 00 4C */ addi r4, r1, 0x4c -/* 8015AF30 38 A1 00 40 */ addi r5, r1, 0x40 -/* 8015AF34 48 1E C3 95 */ bl C_VECReflect -/* 8015AF38 38 61 00 34 */ addi r3, r1, 0x34 -/* 8015AF3C 38 81 00 40 */ addi r4, r1, 0x40 -/* 8015AF40 FC 20 F0 90 */ fmr f1, f30 -/* 8015AF44 48 10 BC 41 */ bl __ml__4cXyzCFf -/* 8015AF48 38 61 00 28 */ addi r3, r1, 0x28 -/* 8015AF4C 38 81 00 34 */ addi r4, r1, 0x34 -/* 8015AF50 FC 20 F8 90 */ fmr f1, f31 -/* 8015AF54 48 10 BC 31 */ bl __ml__4cXyzCFf -/* 8015AF58 C0 01 00 28 */ lfs f0, 0x28(r1) -/* 8015AF5C D0 1F 00 00 */ stfs f0, 0(r31) -/* 8015AF60 C0 01 00 2C */ lfs f0, 0x2c(r1) -/* 8015AF64 D0 1F 00 04 */ stfs f0, 4(r31) -/* 8015AF68 C0 01 00 30 */ lfs f0, 0x30(r1) -/* 8015AF6C D0 1F 00 08 */ stfs f0, 8(r31) -/* 8015AF70 C0 3F 00 08 */ lfs f1, 8(r31) -/* 8015AF74 C0 1F 00 00 */ lfs f0, 0(r31) -/* 8015AF78 D0 01 00 10 */ stfs f0, 0x10(r1) -/* 8015AF7C C0 02 9B 50 */ lfs f0, lit_3857(r2) -/* 8015AF80 D0 01 00 14 */ stfs f0, 0x14(r1) -/* 8015AF84 D0 21 00 18 */ stfs f1, 0x18(r1) -/* 8015AF88 38 61 00 10 */ addi r3, r1, 0x10 -/* 8015AF8C 48 1E C1 AD */ bl PSVECSquareMag -/* 8015AF90 C0 02 9B 50 */ lfs f0, lit_3857(r2) -/* 8015AF94 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 8015AF98 40 81 00 58 */ ble lbl_8015AFF0 -/* 8015AF9C FC 00 08 34 */ frsqrte f0, f1 -/* 8015AFA0 C8 82 9B 58 */ lfd f4, lit_3858(r2) -/* 8015AFA4 FC 44 00 32 */ fmul f2, f4, f0 -/* 8015AFA8 C8 62 9B 60 */ lfd f3, lit_3859(r2) -/* 8015AFAC FC 00 00 32 */ fmul f0, f0, f0 -/* 8015AFB0 FC 01 00 32 */ fmul f0, f1, f0 -/* 8015AFB4 FC 03 00 28 */ fsub f0, f3, f0 -/* 8015AFB8 FC 02 00 32 */ fmul f0, f2, f0 -/* 8015AFBC FC 44 00 32 */ fmul f2, f4, f0 -/* 8015AFC0 FC 00 00 32 */ fmul f0, f0, f0 -/* 8015AFC4 FC 01 00 32 */ fmul f0, f1, f0 -/* 8015AFC8 FC 03 00 28 */ fsub f0, f3, f0 -/* 8015AFCC FC 02 00 32 */ fmul f0, f2, f0 -/* 8015AFD0 FC 44 00 32 */ fmul f2, f4, f0 -/* 8015AFD4 FC 00 00 32 */ fmul f0, f0, f0 -/* 8015AFD8 FC 01 00 32 */ fmul f0, f1, f0 -/* 8015AFDC FC 03 00 28 */ fsub f0, f3, f0 -/* 8015AFE0 FC 02 00 32 */ fmul f0, f2, f0 -/* 8015AFE4 FC 21 00 32 */ fmul f1, f1, f0 -/* 8015AFE8 FC 20 08 18 */ frsp f1, f1 -/* 8015AFEC 48 00 00 88 */ b lbl_8015B074 -lbl_8015AFF0: -/* 8015AFF0 C8 02 9B 68 */ lfd f0, lit_3860(r2) -/* 8015AFF4 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 8015AFF8 40 80 00 10 */ bge lbl_8015B008 -/* 8015AFFC 3C 60 80 45 */ lis r3, __float_nan@ha /* 0x80450AE0@ha */ -/* 8015B000 C0 23 0A E0 */ lfs f1, __float_nan@l(r3) /* 0x80450AE0@l */ -/* 8015B004 48 00 00 70 */ b lbl_8015B074 -lbl_8015B008: -/* 8015B008 D0 21 00 08 */ stfs f1, 8(r1) -/* 8015B00C 80 81 00 08 */ lwz r4, 8(r1) -/* 8015B010 54 83 00 50 */ rlwinm r3, r4, 0, 1, 8 -/* 8015B014 3C 00 7F 80 */ lis r0, 0x7f80 -/* 8015B018 7C 03 00 00 */ cmpw r3, r0 -/* 8015B01C 41 82 00 14 */ beq lbl_8015B030 -/* 8015B020 40 80 00 40 */ bge lbl_8015B060 -/* 8015B024 2C 03 00 00 */ cmpwi r3, 0 -/* 8015B028 41 82 00 20 */ beq lbl_8015B048 -/* 8015B02C 48 00 00 34 */ b lbl_8015B060 -lbl_8015B030: -/* 8015B030 54 80 02 7F */ clrlwi. r0, r4, 9 -/* 8015B034 41 82 00 0C */ beq lbl_8015B040 -/* 8015B038 38 00 00 01 */ li r0, 1 -/* 8015B03C 48 00 00 28 */ b lbl_8015B064 -lbl_8015B040: -/* 8015B040 38 00 00 02 */ li r0, 2 -/* 8015B044 48 00 00 20 */ b lbl_8015B064 -lbl_8015B048: -/* 8015B048 54 80 02 7F */ clrlwi. r0, r4, 9 -/* 8015B04C 41 82 00 0C */ beq lbl_8015B058 -/* 8015B050 38 00 00 05 */ li r0, 5 -/* 8015B054 48 00 00 10 */ b lbl_8015B064 -lbl_8015B058: -/* 8015B058 38 00 00 03 */ li r0, 3 -/* 8015B05C 48 00 00 08 */ b lbl_8015B064 -lbl_8015B060: -/* 8015B060 38 00 00 04 */ li r0, 4 -lbl_8015B064: -/* 8015B064 2C 00 00 01 */ cmpwi r0, 1 -/* 8015B068 40 82 00 0C */ bne lbl_8015B074 -/* 8015B06C 3C 60 80 45 */ lis r3, __float_nan@ha /* 0x80450AE0@ha */ -/* 8015B070 C0 23 0A E0 */ lfs f1, __float_nan@l(r3) /* 0x80450AE0@l */ -lbl_8015B074: -/* 8015B074 3C 60 80 3A */ lis r3, __vt__8cM3dGPla@ha /* 0x803A37C0@ha */ -/* 8015B078 38 03 37 C0 */ addi r0, r3, __vt__8cM3dGPla@l /* 0x803A37C0@l */ -/* 8015B07C 90 01 00 5C */ stw r0, 0x5c(r1) -/* 8015B080 48 00 00 14 */ b lbl_8015B094 -lbl_8015B084: -/* 8015B084 3C 60 80 3A */ lis r3, __vt__8cM3dGPla@ha /* 0x803A37C0@ha */ -/* 8015B088 38 03 37 C0 */ addi r0, r3, __vt__8cM3dGPla@l /* 0x803A37C0@l */ -/* 8015B08C 90 01 00 5C */ stw r0, 0x5c(r1) -/* 8015B090 C0 22 9B 50 */ lfs f1, lit_3857(r2) -lbl_8015B094: -/* 8015B094 E3 E1 00 88 */ psq_l f31, 136(r1), 0, 0 /* qr0 */ -/* 8015B098 CB E1 00 80 */ lfd f31, 0x80(r1) -/* 8015B09C E3 C1 00 78 */ psq_l f30, 120(r1), 0, 0 /* qr0 */ -/* 8015B0A0 CB C1 00 70 */ lfd f30, 0x70(r1) -/* 8015B0A4 83 E1 00 6C */ lwz r31, 0x6c(r1) -/* 8015B0A8 80 01 00 94 */ lwz r0, 0x94(r1) -/* 8015B0AC 7C 08 03 A6 */ mtlr r0 -/* 8015B0B0 38 21 00 90 */ addi r1, r1, 0x90 -/* 8015B0B4 4E 80 00 20 */ blr diff --git a/asm/a/obj/d_a_obj_item/__sinit_d_a_obj_item_cpp.s b/asm/a/obj/d_a_obj_item/__sinit_d_a_obj_item_cpp.s deleted file mode 100644 index eab4e9ef37..0000000000 --- a/asm/a/obj/d_a_obj_item/__sinit_d_a_obj_item_cpp.s +++ /dev/null @@ -1,67 +0,0 @@ -lbl_8015DED0: -/* 8015DED0 3C 60 80 3C */ lis r3, cNullVec__6Z2Calc@ha /* 0x803B9DA0@ha */ -/* 8015DED4 38 A3 9D A0 */ addi r5, r3, cNullVec__6Z2Calc@l /* 0x803B9DA0@l */ -/* 8015DED8 80 65 00 8C */ lwz r3, 0x8c(r5) -/* 8015DEDC 80 05 00 90 */ lwz r0, 0x90(r5) -/* 8015DEE0 90 65 00 F8 */ stw r3, 0xf8(r5) -/* 8015DEE4 90 05 00 FC */ stw r0, 0xfc(r5) -/* 8015DEE8 80 05 00 94 */ lwz r0, 0x94(r5) -/* 8015DEEC 90 05 01 00 */ stw r0, 0x100(r5) -/* 8015DEF0 38 65 00 F8 */ addi r3, r5, 0xf8 -/* 8015DEF4 80 85 00 98 */ lwz r4, 0x98(r5) -/* 8015DEF8 80 05 00 9C */ lwz r0, 0x9c(r5) -/* 8015DEFC 90 83 00 0C */ stw r4, 0xc(r3) -/* 8015DF00 90 03 00 10 */ stw r0, 0x10(r3) -/* 8015DF04 80 05 00 A0 */ lwz r0, 0xa0(r5) -/* 8015DF08 90 03 00 14 */ stw r0, 0x14(r3) -/* 8015DF0C 80 85 00 A4 */ lwz r4, 0xa4(r5) -/* 8015DF10 80 05 00 A8 */ lwz r0, 0xa8(r5) -/* 8015DF14 90 83 00 18 */ stw r4, 0x18(r3) -/* 8015DF18 90 03 00 1C */ stw r0, 0x1c(r3) -/* 8015DF1C 80 05 00 AC */ lwz r0, 0xac(r5) -/* 8015DF20 90 03 00 20 */ stw r0, 0x20(r3) -/* 8015DF24 80 85 00 B0 */ lwz r4, 0xb0(r5) -/* 8015DF28 80 05 00 B4 */ lwz r0, 0xb4(r5) -/* 8015DF2C 90 83 00 24 */ stw r4, 0x24(r3) -/* 8015DF30 90 03 00 28 */ stw r0, 0x28(r3) -/* 8015DF34 80 05 00 B8 */ lwz r0, 0xb8(r5) -/* 8015DF38 90 03 00 2C */ stw r0, 0x2c(r3) -/* 8015DF3C 80 85 00 BC */ lwz r4, 0xbc(r5) -/* 8015DF40 80 05 00 C0 */ lwz r0, 0xc0(r5) -/* 8015DF44 90 83 00 30 */ stw r4, 0x30(r3) -/* 8015DF48 90 03 00 34 */ stw r0, 0x34(r3) -/* 8015DF4C 80 05 00 C4 */ lwz r0, 0xc4(r5) -/* 8015DF50 90 03 00 38 */ stw r0, 0x38(r3) -/* 8015DF54 80 85 00 C8 */ lwz r4, 0xc8(r5) -/* 8015DF58 80 05 00 CC */ lwz r0, 0xcc(r5) -/* 8015DF5C 90 83 00 3C */ stw r4, 0x3c(r3) -/* 8015DF60 90 03 00 40 */ stw r0, 0x40(r3) -/* 8015DF64 80 05 00 D0 */ lwz r0, 0xd0(r5) -/* 8015DF68 90 03 00 44 */ stw r0, 0x44(r3) -/* 8015DF6C 80 85 00 D4 */ lwz r4, 0xd4(r5) -/* 8015DF70 80 05 00 D8 */ lwz r0, 0xd8(r5) -/* 8015DF74 90 83 00 48 */ stw r4, 0x48(r3) -/* 8015DF78 90 03 00 4C */ stw r0, 0x4c(r3) -/* 8015DF7C 80 05 00 DC */ lwz r0, 0xdc(r5) -/* 8015DF80 90 03 00 50 */ stw r0, 0x50(r3) -/* 8015DF84 80 85 00 E0 */ lwz r4, 0xe0(r5) -/* 8015DF88 80 05 00 E4 */ lwz r0, 0xe4(r5) -/* 8015DF8C 90 83 00 54 */ stw r4, 0x54(r3) -/* 8015DF90 90 03 00 58 */ stw r0, 0x58(r3) -/* 8015DF94 80 05 00 E8 */ lwz r0, 0xe8(r5) -/* 8015DF98 90 03 00 5C */ stw r0, 0x5c(r3) -/* 8015DF9C 80 85 00 EC */ lwz r4, 0xec(r5) -/* 8015DFA0 80 05 00 F0 */ lwz r0, 0xf0(r5) -/* 8015DFA4 90 83 00 60 */ stw r4, 0x60(r3) -/* 8015DFA8 90 03 00 64 */ stw r0, 0x64(r3) -/* 8015DFAC 80 05 00 F4 */ lwz r0, 0xf4(r5) -/* 8015DFB0 90 03 00 68 */ stw r0, 0x68(r3) -/* 8015DFB4 3C 80 80 3A */ lis r4, __ptmf_null@ha /* 0x803A2180@ha */ -/* 8015DFB8 38 A4 21 80 */ addi r5, r4, __ptmf_null@l /* 0x803A2180@l */ -/* 8015DFBC 80 85 00 00 */ lwz r4, 0(r5) -/* 8015DFC0 80 05 00 04 */ lwz r0, 4(r5) -/* 8015DFC4 90 83 00 6C */ stw r4, 0x6c(r3) -/* 8015DFC8 90 03 00 70 */ stw r0, 0x70(r3) -/* 8015DFCC 80 05 00 08 */ lwz r0, 8(r5) -/* 8015DFD0 90 03 00 74 */ stw r0, 0x74(r3) -/* 8015DFD4 4E 80 00 20 */ blr diff --git a/asm/a/obj/d_a_obj_item/_daItem_create__8daItem_cFv.s b/asm/a/obj/d_a_obj_item/_daItem_create__8daItem_cFv.s deleted file mode 100644 index c5daa40ea4..0000000000 --- a/asm/a/obj/d_a_obj_item/_daItem_create__8daItem_cFv.s +++ /dev/null @@ -1,163 +0,0 @@ -lbl_8015B7D4: -/* 8015B7D4 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8015B7D8 7C 08 02 A6 */ mflr r0 -/* 8015B7DC 90 01 00 24 */ stw r0, 0x24(r1) -/* 8015B7E0 39 61 00 20 */ addi r11, r1, 0x20 -/* 8015B7E4 48 20 69 F5 */ bl _savegpr_28 -/* 8015B7E8 7C 7F 1B 78 */ mr r31, r3 -/* 8015B7EC 80 03 04 A0 */ lwz r0, 0x4a0(r3) -/* 8015B7F0 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c -/* 8015B7F4 40 82 01 14 */ bne lbl_8015B908 -/* 8015B7F8 7F E0 FB 79 */ or. r0, r31, r31 -/* 8015B7FC 41 82 01 00 */ beq lbl_8015B8FC -/* 8015B800 7C 1E 03 78 */ mr r30, r0 -/* 8015B804 7C 1D 03 78 */ mr r29, r0 -/* 8015B808 4B EB D3 5D */ bl __ct__10fopAc_ac_cFv -/* 8015B80C 3C 60 80 3B */ lis r3, __vt__12daItemBase_c@ha /* 0x803B3610@ha */ -/* 8015B810 38 03 36 10 */ addi r0, r3, __vt__12daItemBase_c@l /* 0x803B3610@l */ -/* 8015B814 90 1D 05 68 */ stw r0, 0x568(r29) -/* 8015B818 3B 9D 05 8C */ addi r28, r29, 0x58c -/* 8015B81C 7F 83 E3 78 */ mr r3, r28 -/* 8015B820 4B F1 A8 81 */ bl __ct__9dBgS_AcchFv -/* 8015B824 3C 60 80 3B */ lis r3, __vt__12dBgS_ObjAcch@ha /* 0x803B35C8@ha */ -/* 8015B828 38 63 35 C8 */ addi r3, r3, __vt__12dBgS_ObjAcch@l /* 0x803B35C8@l */ -/* 8015B82C 90 7C 00 10 */ stw r3, 0x10(r28) -/* 8015B830 38 03 00 0C */ addi r0, r3, 0xc -/* 8015B834 90 1C 00 14 */ stw r0, 0x14(r28) -/* 8015B838 38 03 00 18 */ addi r0, r3, 0x18 -/* 8015B83C 90 1C 00 24 */ stw r0, 0x24(r28) -/* 8015B840 38 7C 00 14 */ addi r3, r28, 0x14 -/* 8015B844 4B F1 D6 25 */ bl SetObj__16dBgS_PolyPassChkFv -/* 8015B848 38 7D 07 64 */ addi r3, r29, 0x764 -/* 8015B84C 4B F1 A6 61 */ bl __ct__12dBgS_AcchCirFv -/* 8015B850 3C 60 80 3C */ lis r3, __vt__9cCcD_Stts@ha /* 0x803C3728@ha */ -/* 8015B854 38 03 37 28 */ addi r0, r3, __vt__9cCcD_Stts@l /* 0x803C3728@l */ -/* 8015B858 90 1D 07 BC */ stw r0, 0x7bc(r29) -/* 8015B85C 38 7D 07 C0 */ addi r3, r29, 0x7c0 -/* 8015B860 4B F2 7F 01 */ bl __ct__10dCcD_GSttsFv -/* 8015B864 3C 60 80 3B */ lis r3, __vt__9dCcD_Stts@ha /* 0x803AC2E4@ha */ -/* 8015B868 38 63 C2 E4 */ addi r3, r3, __vt__9dCcD_Stts@l /* 0x803AC2E4@l */ -/* 8015B86C 90 7D 07 BC */ stw r3, 0x7bc(r29) -/* 8015B870 38 03 00 20 */ addi r0, r3, 0x20 -/* 8015B874 90 1D 07 C0 */ stw r0, 0x7c0(r29) -/* 8015B878 3B 9D 07 E0 */ addi r28, r29, 0x7e0 -/* 8015B87C 7F 83 E3 78 */ mr r3, r28 -/* 8015B880 4B F2 81 A9 */ bl __ct__12dCcD_GObjInfFv -/* 8015B884 3C 60 80 3C */ lis r3, __vt__14cCcD_ShapeAttr@ha /* 0x803C36D0@ha */ -/* 8015B888 38 03 36 D0 */ addi r0, r3, __vt__14cCcD_ShapeAttr@l /* 0x803C36D0@l */ -/* 8015B88C 90 1C 01 20 */ stw r0, 0x120(r28) -/* 8015B890 3C 60 80 3A */ lis r3, __vt__8cM3dGAab@ha /* 0x803A7218@ha */ -/* 8015B894 38 03 72 18 */ addi r0, r3, __vt__8cM3dGAab@l /* 0x803A7218@l */ -/* 8015B898 90 1C 01 1C */ stw r0, 0x11c(r28) -/* 8015B89C 3C 60 80 3A */ lis r3, __vt__8cM3dGCyl@ha /* 0x803A720C@ha */ -/* 8015B8A0 38 03 72 0C */ addi r0, r3, __vt__8cM3dGCyl@l /* 0x803A720C@l */ -/* 8015B8A4 90 1C 01 38 */ stw r0, 0x138(r28) -/* 8015B8A8 3C 60 80 3C */ lis r3, __vt__12cCcD_CylAttr@ha /* 0x803C35A4@ha */ -/* 8015B8AC 38 63 35 A4 */ addi r3, r3, __vt__12cCcD_CylAttr@l /* 0x803C35A4@l */ -/* 8015B8B0 90 7C 01 20 */ stw r3, 0x120(r28) -/* 8015B8B4 38 03 00 58 */ addi r0, r3, 0x58 -/* 8015B8B8 90 1C 01 38 */ stw r0, 0x138(r28) -/* 8015B8BC 3C 60 80 3B */ lis r3, __vt__8dCcD_Cyl@ha /* 0x803AC050@ha */ -/* 8015B8C0 38 63 C0 50 */ addi r3, r3, __vt__8dCcD_Cyl@l /* 0x803AC050@l */ -/* 8015B8C4 90 7C 00 3C */ stw r3, 0x3c(r28) -/* 8015B8C8 38 03 00 2C */ addi r0, r3, 0x2c -/* 8015B8CC 90 1C 01 20 */ stw r0, 0x120(r28) -/* 8015B8D0 38 03 00 84 */ addi r0, r3, 0x84 -/* 8015B8D4 90 1C 01 38 */ stw r0, 0x138(r28) -/* 8015B8D8 3C 60 80 3C */ lis r3, __vt__8daItem_c@ha /* 0x803B9FA4@ha */ -/* 8015B8DC 38 03 9F A4 */ addi r0, r3, __vt__8daItem_c@l /* 0x803B9FA4@l */ -/* 8015B8E0 90 1E 05 68 */ stw r0, 0x568(r30) -/* 8015B8E4 38 7E 09 78 */ addi r3, r30, 0x978 -/* 8015B8E8 48 16 2F 5D */ bl __ct__16Z2SoundObjSimpleFv -/* 8015B8EC 38 7E 09 98 */ addi r3, r30, 0x998 -/* 8015B8F0 38 80 00 00 */ li r4, 0 -/* 8015B8F4 38 A0 00 00 */ li r5, 0 -/* 8015B8F8 4B EE DC 89 */ bl __ct__19dPa_followEcallBackFUcUc -lbl_8015B8FC: -/* 8015B8FC 80 1F 04 A0 */ lwz r0, 0x4a0(r31) -/* 8015B900 60 00 00 08 */ ori r0, r0, 8 -/* 8015B904 90 1F 04 A0 */ stw r0, 0x4a0(r31) -lbl_8015B908: -/* 8015B908 88 1F 09 5D */ lbz r0, 0x95d(r31) -/* 8015B90C 28 00 00 00 */ cmplwi r0, 0 -/* 8015B910 40 82 00 38 */ bne lbl_8015B948 -/* 8015B914 A8 1F 04 B4 */ lha r0, 0x4b4(r31) -/* 8015B918 B0 1F 09 2C */ sth r0, 0x92c(r31) -/* 8015B91C A8 1F 04 B8 */ lha r0, 0x4b8(r31) -/* 8015B920 B0 1F 09 2E */ sth r0, 0x92e(r31) -/* 8015B924 38 00 00 00 */ li r0, 0 -/* 8015B928 B0 1F 04 B8 */ sth r0, 0x4b8(r31) -/* 8015B92C B0 1F 04 B4 */ sth r0, 0x4b4(r31) -/* 8015B930 B0 1F 04 E0 */ sth r0, 0x4e0(r31) -/* 8015B934 B0 1F 04 DC */ sth r0, 0x4dc(r31) -/* 8015B938 B0 1F 04 E8 */ sth r0, 0x4e8(r31) -/* 8015B93C B0 1F 04 E4 */ sth r0, 0x4e4(r31) -/* 8015B940 38 00 00 01 */ li r0, 1 -/* 8015B944 98 1F 09 5D */ stb r0, 0x95d(r31) -lbl_8015B948: -/* 8015B948 80 1F 00 B0 */ lwz r0, 0xb0(r31) -/* 8015B94C 98 1F 09 2A */ stb r0, 0x92a(r31) -/* 8015B950 3C 60 80 3B */ lis r3, item_info__10dItem_data@ha /* 0x803AED78@ha */ -/* 8015B954 38 63 ED 78 */ addi r3, r3, item_info__10dItem_data@l /* 0x803AED78@l */ -/* 8015B958 88 1F 09 2A */ lbz r0, 0x92a(r31) -/* 8015B95C 54 00 10 3A */ slwi r0, r0, 2 -/* 8015B960 7C 63 02 14 */ add r3, r3, r0 -/* 8015B964 88 03 00 03 */ lbz r0, 3(r3) -/* 8015B968 54 1E 07 BC */ rlwinm r30, r0, 0, 0x1e, 0x1e -/* 8015B96C 80 1F 00 B0 */ lwz r0, 0xb0(r31) -/* 8015B970 54 00 C6 3E */ rlwinm r0, r0, 0x18, 0x18, 0x1f -/* 8015B974 90 1F 09 20 */ stw r0, 0x920(r31) -/* 8015B978 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8015B97C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8015B980 80 9F 09 20 */ lwz r4, 0x920(r31) -/* 8015B984 88 1F 04 BA */ lbz r0, 0x4ba(r31) -/* 8015B988 7C 05 07 74 */ extsb r5, r0 -/* 8015B98C 4B ED 9C 05 */ bl isItem__10dSv_info_cCFii -/* 8015B990 2C 03 00 00 */ cmpwi r3, 0 -/* 8015B994 41 82 00 0C */ beq lbl_8015B9A0 -/* 8015B998 38 60 00 05 */ li r3, 5 -/* 8015B99C 48 00 00 88 */ b lbl_8015BA24 -lbl_8015B9A0: -/* 8015B9A0 3B A0 00 04 */ li r29, 4 -/* 8015B9A4 2C 1E 00 00 */ cmpwi r30, 0 -/* 8015B9A8 41 82 00 10 */ beq lbl_8015B9B8 -/* 8015B9AC 7F E3 FB 78 */ mr r3, r31 -/* 8015B9B0 4B FF FA 29 */ bl CreateInit__8daItem_cFv -/* 8015B9B4 48 00 00 6C */ b lbl_8015BA20 -lbl_8015B9B8: -/* 8015B9B8 88 1F 09 2A */ lbz r0, 0x92a(r31) -/* 8015B9BC 54 00 20 36 */ slwi r0, r0, 4 -/* 8015B9C0 3C 60 80 3B */ lis r3, field_item_res__10dItem_data@ha /* 0x803ADD88@ha */ -/* 8015B9C4 38 63 DD 88 */ addi r3, r3, field_item_res__10dItem_data@l /* 0x803ADD88@l */ -/* 8015B9C8 7C 83 00 2E */ lwzx r4, r3, r0 -/* 8015B9CC 38 7F 05 6C */ addi r3, r31, 0x56c -/* 8015B9D0 4B ED 14 ED */ bl dComIfG_resLoad__FP30request_of_phase_process_classPCc -/* 8015B9D4 7C 7D 1B 78 */ mr r29, r3 -/* 8015B9D8 2C 1D 00 04 */ cmpwi r29, 4 -/* 8015B9DC 40 82 00 44 */ bne lbl_8015BA20 -/* 8015B9E0 3C 60 80 3B */ lis r3, field_item_res__10dItem_data@ha /* 0x803ADD88@ha */ -/* 8015B9E4 38 63 DD 88 */ addi r3, r3, field_item_res__10dItem_data@l /* 0x803ADD88@l */ -/* 8015B9E8 88 1F 09 2A */ lbz r0, 0x92a(r31) -/* 8015B9EC 54 00 20 36 */ slwi r0, r0, 4 -/* 8015B9F0 7C 63 02 14 */ add r3, r3, r0 -/* 8015B9F4 A0 A3 00 0C */ lhz r5, 0xc(r3) -/* 8015B9F8 7F E3 FB 78 */ mr r3, r31 -/* 8015B9FC 3C 80 80 03 */ lis r4, CheckFieldItemCreateHeap__FP10fopAc_ac_c@ha /* 0x80037B78@ha */ -/* 8015BA00 38 84 7B 78 */ addi r4, r4, CheckFieldItemCreateHeap__FP10fopAc_ac_c@l /* 0x80037B78@l */ -/* 8015BA04 4B EB EA AD */ bl fopAcM_entrySolidHeap__FP10fopAc_ac_cPFP10fopAc_ac_c_iUl -/* 8015BA08 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 8015BA0C 40 82 00 0C */ bne lbl_8015BA18 -/* 8015BA10 38 60 00 05 */ li r3, 5 -/* 8015BA14 48 00 00 10 */ b lbl_8015BA24 -lbl_8015BA18: -/* 8015BA18 7F E3 FB 78 */ mr r3, r31 -/* 8015BA1C 4B FF F9 BD */ bl CreateInit__8daItem_cFv -lbl_8015BA20: -/* 8015BA20 7F A3 EB 78 */ mr r3, r29 -lbl_8015BA24: -/* 8015BA24 39 61 00 20 */ addi r11, r1, 0x20 -/* 8015BA28 48 20 67 FD */ bl _restgpr_28 -/* 8015BA2C 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8015BA30 7C 08 03 A6 */ mtlr r0 -/* 8015BA34 38 21 00 20 */ addi r1, r1, 0x20 -/* 8015BA38 4E 80 00 20 */ blr diff --git a/asm/a/obj/d_a_obj_item/_daItem_execute__8daItem_cFv.s b/asm/a/obj/d_a_obj_item/_daItem_execute__8daItem_cFv.s deleted file mode 100644 index 5c6d6f5b7c..0000000000 --- a/asm/a/obj/d_a_obj_item/_daItem_execute__8daItem_cFv.s +++ /dev/null @@ -1,196 +0,0 @@ -lbl_8015BA9C: -/* 8015BA9C 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 8015BAA0 7C 08 02 A6 */ mflr r0 -/* 8015BAA4 90 01 00 34 */ stw r0, 0x34(r1) -/* 8015BAA8 93 E1 00 2C */ stw r31, 0x2c(r1) -/* 8015BAAC 7C 7F 1B 78 */ mr r31, r3 -/* 8015BAB0 C0 03 04 F8 */ lfs f0, 0x4f8(r3) -/* 8015BAB4 D0 03 09 50 */ stfs f0, 0x950(r3) -/* 8015BAB8 C0 03 04 FC */ lfs f0, 0x4fc(r3) -/* 8015BABC D0 03 09 54 */ stfs f0, 0x954(r3) -/* 8015BAC0 C0 03 05 00 */ lfs f0, 0x500(r3) -/* 8015BAC4 D0 03 09 58 */ stfs f0, 0x958(r3) -/* 8015BAC8 48 00 1E 95 */ bl CountTimer__8daItem_cFv -/* 8015BACC C0 1F 04 D0 */ lfs f0, 0x4d0(r31) -/* 8015BAD0 D0 1F 05 38 */ stfs f0, 0x538(r31) -/* 8015BAD4 C0 1F 04 D4 */ lfs f0, 0x4d4(r31) -/* 8015BAD8 D0 1F 05 3C */ stfs f0, 0x53c(r31) -/* 8015BADC C0 1F 04 D8 */ lfs f0, 0x4d8(r31) -/* 8015BAE0 D0 1F 05 40 */ stfs f0, 0x540(r31) -/* 8015BAE4 3C 60 80 3B */ lis r3, item_info__10dItem_data@ha /* 0x803AED78@ha */ -/* 8015BAE8 38 63 ED 78 */ addi r3, r3, item_info__10dItem_data@l /* 0x803AED78@l */ -/* 8015BAEC 88 1F 09 2A */ lbz r0, 0x92a(r31) -/* 8015BAF0 54 00 10 3A */ slwi r0, r0, 2 -/* 8015BAF4 7C 63 02 14 */ add r3, r3, r0 -/* 8015BAF8 88 03 00 01 */ lbz r0, 1(r3) -/* 8015BAFC C0 5F 05 3C */ lfs f2, 0x53c(r31) -/* 8015BB00 C8 22 9B 88 */ lfd f1, lit_4072(r2) -/* 8015BB04 90 01 00 1C */ stw r0, 0x1c(r1) -/* 8015BB08 3C 00 43 30 */ lis r0, 0x4330 -/* 8015BB0C 90 01 00 18 */ stw r0, 0x18(r1) -/* 8015BB10 C8 01 00 18 */ lfd f0, 0x18(r1) -/* 8015BB14 EC 20 08 28 */ fsubs f1, f0, f1 -/* 8015BB18 C0 02 9B 70 */ lfs f0, lit_3923(r2) -/* 8015BB1C EC 01 00 32 */ fmuls f0, f1, f0 -/* 8015BB20 EC 02 00 2A */ fadds f0, f2, f0 -/* 8015BB24 D0 1F 05 3C */ stfs f0, 0x53c(r31) -/* 8015BB28 C0 1F 04 D0 */ lfs f0, 0x4d0(r31) -/* 8015BB2C D0 1F 05 50 */ stfs f0, 0x550(r31) -/* 8015BB30 C0 1F 04 D4 */ lfs f0, 0x4d4(r31) -/* 8015BB34 D0 1F 05 54 */ stfs f0, 0x554(r31) -/* 8015BB38 C0 1F 04 D8 */ lfs f0, 0x4d8(r31) -/* 8015BB3C D0 1F 05 58 */ stfs f0, 0x558(r31) -/* 8015BB40 38 7F 07 E0 */ addi r3, r31, 0x7e0 -/* 8015BB44 4B F2 89 1D */ bl ChkTgHit__12dCcD_GObjInfFv -/* 8015BB48 28 03 00 00 */ cmplwi r3, 0 -/* 8015BB4C 41 82 00 38 */ beq lbl_8015BB84 -/* 8015BB50 38 7F 07 E0 */ addi r3, r31, 0x7e0 -/* 8015BB54 4B F2 89 A5 */ bl GetTgHitObj__12dCcD_GObjInfFv -/* 8015BB58 28 03 00 00 */ cmplwi r3, 0 -/* 8015BB5C 41 82 00 28 */ beq lbl_8015BB84 -/* 8015BB60 80 03 00 10 */ lwz r0, 0x10(r3) -/* 8015BB64 54 00 04 63 */ rlwinm. r0, r0, 0, 0x11, 0x11 -/* 8015BB68 41 82 00 1C */ beq lbl_8015BB84 -/* 8015BB6C 38 7F 09 78 */ addi r3, r31, 0x978 -/* 8015BB70 3C 80 00 04 */ lis r4, 0x0004 /* 0x00040009@ha */ -/* 8015BB74 38 84 00 09 */ addi r4, r4, 0x0009 /* 0x00040009@l */ -/* 8015BB78 38 A0 00 00 */ li r5, 0 -/* 8015BB7C 38 C0 00 00 */ li r6, 0 -/* 8015BB80 48 16 29 25 */ bl startCollisionSE__14Z2SoundObjBaseFUlUlP14Z2SoundObjBase -lbl_8015BB84: -/* 8015BB84 88 1F 09 4A */ lbz r0, 0x94a(r31) -/* 8015BB88 1C 80 00 0C */ mulli r4, r0, 0xc -/* 8015BB8C 3C 60 80 3C */ lis r3, mFuncPtr__8daItem_c@ha /* 0x803B9E98@ha */ -/* 8015BB90 38 03 9E 98 */ addi r0, r3, mFuncPtr__8daItem_c@l /* 0x803B9E98@l */ -/* 8015BB94 7C 60 22 14 */ add r3, r0, r4 -/* 8015BB98 48 20 64 81 */ bl __ptmf_test -/* 8015BB9C 2C 03 00 00 */ cmpwi r3, 0 -/* 8015BBA0 41 82 00 24 */ beq lbl_8015BBC4 -/* 8015BBA4 7F E3 FB 78 */ mr r3, r31 -/* 8015BBA8 88 1F 09 4A */ lbz r0, 0x94a(r31) -/* 8015BBAC 1C A0 00 0C */ mulli r5, r0, 0xc -/* 8015BBB0 3C 80 80 3C */ lis r4, mFuncPtr__8daItem_c@ha /* 0x803B9E98@ha */ -/* 8015BBB4 38 04 9E 98 */ addi r0, r4, mFuncPtr__8daItem_c@l /* 0x803B9E98@l */ -/* 8015BBB8 7D 80 2A 14 */ add r12, r0, r5 -/* 8015BBBC 48 20 64 C9 */ bl __ptmf_scall -/* 8015BBC0 60 00 00 00 */ nop -lbl_8015BBC4: -/* 8015BBC4 88 1F 09 5F */ lbz r0, 0x95f(r31) -/* 8015BBC8 28 00 00 00 */ cmplwi r0, 0 -/* 8015BBCC 41 82 00 38 */ beq lbl_8015BC04 -/* 8015BBD0 80 1F 04 9C */ lwz r0, 0x49c(r31) -/* 8015BBD4 54 00 02 D7 */ rlwinm. r0, r0, 0, 0xb, 0xb -/* 8015BBD8 40 82 00 2C */ bne lbl_8015BC04 -/* 8015BBDC 7F E3 FB 78 */ mr r3, r31 -/* 8015BBE0 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8015BBE4 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8015BBE8 80 84 5D AC */ lwz r4, 0x5dac(r4) -/* 8015BBEC 4B EB EB F5 */ bl fopAcM_searchActorDistance__FPC10fopAc_ac_cPC10fopAc_ac_c -/* 8015BBF0 C0 02 9B 90 */ lfs f0, lit_4320(r2) -/* 8015BBF4 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 8015BBF8 40 80 00 0C */ bge lbl_8015BC04 -/* 8015BBFC 7F E3 FB 78 */ mr r3, r31 -/* 8015BC00 48 00 12 ED */ bl itemGetNextExecute__8daItem_cFv -lbl_8015BC04: -/* 8015BC04 80 1F 04 9C */ lwz r0, 0x49c(r31) -/* 8015BC08 54 00 02 D7 */ rlwinm. r0, r0, 0, 0xb, 0xb -/* 8015BC0C 41 82 00 B0 */ beq lbl_8015BCBC -/* 8015BC10 C0 1F 04 D0 */ lfs f0, 0x4d0(r31) -/* 8015BC14 D0 01 00 08 */ stfs f0, 8(r1) -/* 8015BC18 C0 5F 04 D4 */ lfs f2, 0x4d4(r31) -/* 8015BC1C D0 41 00 0C */ stfs f2, 0xc(r1) -/* 8015BC20 C0 1F 04 D8 */ lfs f0, 0x4d8(r31) -/* 8015BC24 D0 01 00 10 */ stfs f0, 0x10(r1) -/* 8015BC28 80 7F 05 74 */ lwz r3, 0x574(r31) -/* 8015BC2C 28 03 00 00 */ cmplwi r3, 0 -/* 8015BC30 41 82 00 24 */ beq lbl_8015BC54 -/* 8015BC34 80 63 00 04 */ lwz r3, 4(r3) -/* 8015BC38 80 63 00 28 */ lwz r3, 0x28(r3) -/* 8015BC3C 80 63 00 00 */ lwz r3, 0(r3) -/* 8015BC40 C0 22 9B 70 */ lfs f1, lit_3923(r2) -/* 8015BC44 C0 03 00 4C */ lfs f0, 0x4c(r3) -/* 8015BC48 EC 01 00 32 */ fmuls f0, f1, f0 -/* 8015BC4C EC 02 00 2A */ fadds f0, f2, f0 -/* 8015BC50 D0 01 00 0C */ stfs f0, 0xc(r1) -lbl_8015BC54: -/* 8015BC54 38 7F 04 D0 */ addi r3, r31, 0x4d0 -/* 8015BC58 4B EB 11 0D */ bl transS__14mDoMtx_stack_cFRC4cXyz -/* 8015BC5C 38 7F 04 E4 */ addi r3, r31, 0x4e4 -/* 8015BC60 4B EB 12 E5 */ bl ZXYrotM__14mDoMtx_stack_cFRC5csXyz -/* 8015BC64 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */ -/* 8015BC68 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */ -/* 8015BC6C 7C 64 1B 78 */ mr r4, r3 -/* 8015BC70 48 1E A9 41 */ bl PSMTXInverse -/* 8015BC74 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */ -/* 8015BC78 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */ -/* 8015BC7C 38 81 00 08 */ addi r4, r1, 8 -/* 8015BC80 7C 85 23 78 */ mr r5, r4 -/* 8015BC84 48 1E B0 E9 */ bl PSMTXMultVec -/* 8015BC88 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8015BC8C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8015BC90 80 63 5D AC */ lwz r3, 0x5dac(r3) -/* 8015BC94 28 1F 00 00 */ cmplwi r31, 0 -/* 8015BC98 41 82 00 0C */ beq lbl_8015BCA4 -/* 8015BC9C 80 9F 00 04 */ lwz r4, 4(r31) -/* 8015BCA0 48 00 00 08 */ b lbl_8015BCA8 -lbl_8015BCA4: -/* 8015BCA4 38 80 FF FF */ li r4, -1 -lbl_8015BCA8: -/* 8015BCA8 38 A1 00 08 */ addi r5, r1, 8 -/* 8015BCAC 81 83 06 28 */ lwz r12, 0x628(r3) -/* 8015BCB0 81 8C 01 38 */ lwz r12, 0x138(r12) -/* 8015BCB4 7D 89 03 A6 */ mtctr r12 -/* 8015BCB8 4E 80 04 21 */ bctrl -lbl_8015BCBC: -/* 8015BCBC 7F E3 FB 78 */ mr r3, r31 -/* 8015BCC0 C0 22 9B 7C */ lfs f1, lit_4069(r2) -/* 8015BCC4 FC 40 08 90 */ fmr f2, f1 -/* 8015BCC8 FC 60 08 90 */ fmr f3, f1 -/* 8015BCCC FC 80 08 90 */ fmr f4, f1 -/* 8015BCD0 FC A0 08 90 */ fmr f5, f1 -/* 8015BCD4 FC C0 08 90 */ fmr f6, f1 -/* 8015BCD8 4B FE 93 65 */ bl animPlay__12daItemBase_cFffffff -/* 8015BCDC 7F E3 FB 78 */ mr r3, r31 -/* 8015BCE0 4B FF F4 29 */ bl setBaseMtx__8daItem_cFv -/* 8015BCE4 88 1F 04 E2 */ lbz r0, 0x4e2(r31) -/* 8015BCE8 7C 03 07 74 */ extsb r3, r0 -/* 8015BCEC 4B ED 13 81 */ bl dComIfGp_getReverb__Fi -/* 8015BCF0 7C 65 1B 78 */ mr r5, r3 -/* 8015BCF4 38 7F 09 78 */ addi r3, r31, 0x978 -/* 8015BCF8 38 80 00 00 */ li r4, 0 -/* 8015BCFC 81 9F 09 88 */ lwz r12, 0x988(r31) -/* 8015BD00 81 8C 00 08 */ lwz r12, 8(r12) -/* 8015BD04 7D 89 03 A6 */ mtctr r12 -/* 8015BD08 4E 80 04 21 */ bctrl -/* 8015BD0C C0 1F 04 D0 */ lfs f0, 0x4d0(r31) -/* 8015BD10 D0 1F 09 6C */ stfs f0, 0x96c(r31) -/* 8015BD14 C0 1F 04 D4 */ lfs f0, 0x4d4(r31) -/* 8015BD18 D0 1F 09 70 */ stfs f0, 0x970(r31) -/* 8015BD1C C0 1F 04 D8 */ lfs f0, 0x4d8(r31) -/* 8015BD20 D0 1F 09 74 */ stfs f0, 0x974(r31) -/* 8015BD24 80 1F 04 9C */ lwz r0, 0x49c(r31) -/* 8015BD28 54 00 67 FE */ rlwinm r0, r0, 0xc, 0x1f, 0x1f -/* 8015BD2C 98 1F 09 5F */ stb r0, 0x95f(r31) -/* 8015BD30 88 1F 09 2A */ lbz r0, 0x92a(r31) -/* 8015BD34 28 00 00 06 */ cmplwi r0, 6 -/* 8015BD38 41 82 00 0C */ beq lbl_8015BD44 -/* 8015BD3C 28 00 00 07 */ cmplwi r0, 7 -/* 8015BD40 40 82 00 2C */ bne lbl_8015BD6C -lbl_8015BD44: -/* 8015BD44 C0 1F 04 D0 */ lfs f0, 0x4d0(r31) -/* 8015BD48 D0 1F 09 AC */ stfs f0, 0x9ac(r31) -/* 8015BD4C C0 1F 04 D4 */ lfs f0, 0x4d4(r31) -/* 8015BD50 D0 1F 09 B0 */ stfs f0, 0x9b0(r31) -/* 8015BD54 C0 1F 04 D8 */ lfs f0, 0x4d8(r31) -/* 8015BD58 D0 1F 09 B4 */ stfs f0, 0x9b4(r31) -/* 8015BD5C C0 3F 09 B0 */ lfs f1, 0x9b0(r31) -/* 8015BD60 C0 02 9B 94 */ lfs f0, lit_4321(r2) -/* 8015BD64 EC 01 00 2A */ fadds f0, f1, f0 -/* 8015BD68 D0 1F 09 B0 */ stfs f0, 0x9b0(r31) -lbl_8015BD6C: -/* 8015BD6C 38 60 00 01 */ li r3, 1 -/* 8015BD70 83 E1 00 2C */ lwz r31, 0x2c(r1) -/* 8015BD74 80 01 00 34 */ lwz r0, 0x34(r1) -/* 8015BD78 7C 08 03 A6 */ mtlr r0 -/* 8015BD7C 38 21 00 30 */ addi r1, r1, 0x30 -/* 8015BD80 4E 80 00 20 */ blr diff --git a/asm/a/obj/d_a_obj_item/bg_check__8daItem_cFv.s b/asm/a/obj/d_a_obj_item/bg_check__8daItem_cFv.s deleted file mode 100644 index aa789b4e43..0000000000 --- a/asm/a/obj/d_a_obj_item/bg_check__8daItem_cFv.s +++ /dev/null @@ -1,71 +0,0 @@ -lbl_8015D734: -/* 8015D734 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8015D738 7C 08 02 A6 */ mflr r0 -/* 8015D73C 90 01 00 24 */ stw r0, 0x24(r1) -/* 8015D740 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 8015D744 7C 7F 1B 78 */ mr r31, r3 -/* 8015D748 80 03 05 B8 */ lwz r0, 0x5b8(r3) -/* 8015D74C 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b -/* 8015D750 41 82 00 34 */ beq lbl_8015D784 -/* 8015D754 C0 3F 05 2C */ lfs f1, 0x52c(r31) -/* 8015D758 C0 02 9B C4 */ lfs f0, lit_5050(r2) -/* 8015D75C FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 8015D760 40 81 00 14 */ ble lbl_8015D774 -/* 8015D764 38 7F 04 F8 */ addi r3, r31, 0x4f8 -/* 8015D768 38 9F 07 64 */ addi r4, r31, 0x764 -/* 8015D76C C0 22 9B 7C */ lfs f1, lit_4069(r2) -/* 8015D770 4B FF D6 5D */ bl Reflect__FP4cXyzRC13cBgS_PolyInfof -lbl_8015D774: -/* 8015D774 C0 3F 04 F8 */ lfs f1, 0x4f8(r31) -/* 8015D778 C0 5F 05 00 */ lfs f2, 0x500(r31) -/* 8015D77C 48 10 9E F9 */ bl cM_atan2s__Fff -/* 8015D780 B0 7F 04 DE */ sth r3, 0x4de(r31) -lbl_8015D784: -/* 8015D784 80 1F 05 B8 */ lwz r0, 0x5b8(r31) -/* 8015D788 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18 -/* 8015D78C 41 82 00 94 */ beq lbl_8015D820 -/* 8015D790 C0 1F 04 F8 */ lfs f0, 0x4f8(r31) -/* 8015D794 D0 01 00 08 */ stfs f0, 8(r1) -/* 8015D798 C0 1F 04 FC */ lfs f0, 0x4fc(r31) -/* 8015D79C D0 01 00 0C */ stfs f0, 0xc(r1) -/* 8015D7A0 C0 1F 05 00 */ lfs f0, 0x500(r31) -/* 8015D7A4 D0 01 00 10 */ stfs f0, 0x10(r1) -/* 8015D7A8 C0 3F 05 2C */ lfs f1, 0x52c(r31) -/* 8015D7AC C0 02 9B C4 */ lfs f0, lit_5050(r2) -/* 8015D7B0 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 8015D7B4 40 81 00 1C */ ble lbl_8015D7D0 -/* 8015D7B8 7F E3 FB 78 */ mr r3, r31 -/* 8015D7BC 4B FF D8 FD */ bl getData__12daItemBase_cFv -/* 8015D7C0 C0 23 00 04 */ lfs f1, 4(r3) -/* 8015D7C4 38 61 00 08 */ addi r3, r1, 8 -/* 8015D7C8 38 9F 07 64 */ addi r4, r31, 0x764 -/* 8015D7CC 4B FF D6 01 */ bl Reflect__FP4cXyzRC13cBgS_PolyInfof -lbl_8015D7D0: -/* 8015D7D0 7F E3 FB 78 */ mr r3, r31 -/* 8015D7D4 4B FF D8 E5 */ bl getData__12daItemBase_cFv -/* 8015D7D8 C0 23 00 04 */ lfs f1, 4(r3) -/* 8015D7DC C0 1F 09 54 */ lfs f0, 0x954(r31) -/* 8015D7E0 FC 00 00 50 */ fneg f0, f0 -/* 8015D7E4 EC 00 00 72 */ fmuls f0, f0, f1 -/* 8015D7E8 D0 1F 04 FC */ stfs f0, 0x4fc(r31) -/* 8015D7EC C0 3F 04 FC */ lfs f1, 0x4fc(r31) -/* 8015D7F0 C0 02 9B C8 */ lfs f0, lit_5051(r2) -/* 8015D7F4 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 8015D7F8 40 80 00 0C */ bge lbl_8015D804 -/* 8015D7FC C0 02 9B 50 */ lfs f0, lit_3857(r2) -/* 8015D800 D0 1F 05 2C */ stfs f0, 0x52c(r31) -lbl_8015D804: -/* 8015D804 88 7F 09 4B */ lbz r3, 0x94b(r31) -/* 8015D808 28 03 00 64 */ cmplwi r3, 0x64 -/* 8015D80C 40 80 00 0C */ bge lbl_8015D818 -/* 8015D810 38 03 00 01 */ addi r0, r3, 1 -/* 8015D814 98 1F 09 4B */ stb r0, 0x94b(r31) -lbl_8015D818: -/* 8015D818 7F E3 FB 78 */ mr r3, r31 -/* 8015D81C 48 00 00 19 */ bl set_bound_se__8daItem_cFv -lbl_8015D820: -/* 8015D820 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 8015D824 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8015D828 7C 08 03 A6 */ mtlr r0 -/* 8015D82C 38 21 00 20 */ addi r1, r1, 0x20 -/* 8015D830 4E 80 00 20 */ blr diff --git a/asm/a/obj/d_a_obj_item/checkYogan__8daItem_cFv.s b/asm/a/obj/d_a_obj_item/checkYogan__8daItem_cFv.s deleted file mode 100644 index 371bc7fd25..0000000000 --- a/asm/a/obj/d_a_obj_item/checkYogan__8daItem_cFv.s +++ /dev/null @@ -1,30 +0,0 @@ -lbl_8015D410: -/* 8015D410 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8015D414 7C 08 02 A6 */ mflr r0 -/* 8015D418 90 01 00 14 */ stw r0, 0x14(r1) -/* 8015D41C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8015D420 7C 7F 1B 78 */ mr r31, r3 -/* 8015D424 80 03 05 B8 */ lwz r0, 0x5b8(r3) -/* 8015D428 54 00 05 29 */ rlwinm. r0, r0, 0, 0x14, 0x14 -/* 8015D42C 41 82 00 40 */ beq lbl_8015D46C -/* 8015D430 C0 5F 07 58 */ lfs f2, 0x758(r31) -/* 8015D434 C0 22 9B A4 */ lfs f1, lit_4665(r2) -/* 8015D438 C0 1F 04 D4 */ lfs f0, 0x4d4(r31) -/* 8015D43C EC 01 00 2A */ fadds f0, f1, f0 -/* 8015D440 FC 02 00 40 */ fcmpo cr0, f2, f0 -/* 8015D444 40 81 00 28 */ ble lbl_8015D46C -/* 8015D448 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8015D44C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8015D450 38 63 0F 38 */ addi r3, r3, 0xf38 -/* 8015D454 38 9F 07 0C */ addi r4, r31, 0x70c -/* 8015D458 4B F1 79 F9 */ bl GetPolyAtt0__4dBgSFRC13cBgS_PolyInfo -/* 8015D45C 2C 03 00 06 */ cmpwi r3, 6 -/* 8015D460 40 82 00 0C */ bne lbl_8015D46C -/* 8015D464 7F E3 FB 78 */ mr r3, r31 -/* 8015D468 48 00 00 19 */ bl deleteItem__8daItem_cFv -lbl_8015D46C: -/* 8015D46C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8015D470 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8015D474 7C 08 03 A6 */ mtlr r0 -/* 8015D478 38 21 00 10 */ addi r1, r1, 0x10 -/* 8015D47C 4E 80 00 20 */ blr diff --git a/asm/a/obj/d_a_obj_item/daItem_Create__FP10fopAc_ac_c.s b/asm/a/obj/d_a_obj_item/daItem_Create__FP10fopAc_ac_c.s deleted file mode 100644 index e3b342b8bd..0000000000 --- a/asm/a/obj/d_a_obj_item/daItem_Create__FP10fopAc_ac_c.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_8015DEB0: -/* 8015DEB0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8015DEB4 7C 08 02 A6 */ mflr r0 -/* 8015DEB8 90 01 00 14 */ stw r0, 0x14(r1) -/* 8015DEBC 4B FF D9 19 */ bl _daItem_create__8daItem_cFv -/* 8015DEC0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8015DEC4 7C 08 03 A6 */ mtlr r0 -/* 8015DEC8 38 21 00 10 */ addi r1, r1, 0x10 -/* 8015DECC 4E 80 00 20 */ blr diff --git a/asm/a/obj/d_a_obj_item/daItem_Delete__FP8daItem_c.s b/asm/a/obj/d_a_obj_item/daItem_Delete__FP8daItem_c.s deleted file mode 100644 index 65efcbb23a..0000000000 --- a/asm/a/obj/d_a_obj_item/daItem_Delete__FP8daItem_c.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_8015DE90: -/* 8015DE90 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8015DE94 7C 08 02 A6 */ mflr r0 -/* 8015DE98 90 01 00 14 */ stw r0, 0x14(r1) -/* 8015DE9C 4B FF DF 4D */ bl _daItem_delete__8daItem_cFv -/* 8015DEA0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8015DEA4 7C 08 03 A6 */ mtlr r0 -/* 8015DEA8 38 21 00 10 */ addi r1, r1, 0x10 -/* 8015DEAC 4E 80 00 20 */ blr diff --git a/asm/a/obj/d_a_obj_item/daItem_Draw__FP8daItem_c.s b/asm/a/obj/d_a_obj_item/daItem_Draw__FP8daItem_c.s deleted file mode 100644 index 0c204a0d7e..0000000000 --- a/asm/a/obj/d_a_obj_item/daItem_Draw__FP8daItem_c.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_8015DE50: -/* 8015DE50 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8015DE54 7C 08 02 A6 */ mflr r0 -/* 8015DE58 90 01 00 14 */ stw r0, 0x14(r1) -/* 8015DE5C 4B FF DF 29 */ bl _daItem_draw__8daItem_cFv -/* 8015DE60 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8015DE64 7C 08 03 A6 */ mtlr r0 -/* 8015DE68 38 21 00 10 */ addi r1, r1, 0x10 -/* 8015DE6C 4E 80 00 20 */ blr diff --git a/asm/a/obj/d_a_obj_item/daItem_Execute__FP8daItem_c.s b/asm/a/obj/d_a_obj_item/daItem_Execute__FP8daItem_c.s deleted file mode 100644 index f9ad309dd9..0000000000 --- a/asm/a/obj/d_a_obj_item/daItem_Execute__FP8daItem_c.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_8015DE70: -/* 8015DE70 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8015DE74 7C 08 02 A6 */ mflr r0 -/* 8015DE78 90 01 00 14 */ stw r0, 0x14(r1) -/* 8015DE7C 4B FF DC 21 */ bl _daItem_execute__8daItem_cFv -/* 8015DE80 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8015DE84 7C 08 03 A6 */ mtlr r0 -/* 8015DE88 38 21 00 10 */ addi r1, r1, 0x10 -/* 8015DE8C 4E 80 00 20 */ blr diff --git a/asm/a/obj/d_a_obj_item/getItemPos__9daPy_py_cCFv.s b/asm/a/obj/d_a_obj_item/getItemPos__9daPy_py_cCFv.s deleted file mode 100644 index e77c8e9c32..0000000000 --- a/asm/a/obj/d_a_obj_item/getItemPos__9daPy_py_cCFv.s +++ /dev/null @@ -1,8 +0,0 @@ -lbl_8015DFD8: -/* 8015DFD8 C0 04 05 B0 */ lfs f0, 0x5b0(r4) -/* 8015DFDC D0 03 00 00 */ stfs f0, 0(r3) -/* 8015DFE0 C0 04 05 B4 */ lfs f0, 0x5b4(r4) -/* 8015DFE4 D0 03 00 04 */ stfs f0, 4(r3) -/* 8015DFE8 C0 04 05 B8 */ lfs f0, 0x5b8(r4) -/* 8015DFEC D0 03 00 08 */ stfs f0, 8(r3) -/* 8015DFF0 4E 80 00 20 */ blr diff --git a/asm/a/obj/d_a_obj_item/getLeftHandPos__9daPy_py_cCFv.s b/asm/a/obj/d_a_obj_item/getLeftHandPos__9daPy_py_cCFv.s deleted file mode 100644 index 757603e1d2..0000000000 --- a/asm/a/obj/d_a_obj_item/getLeftHandPos__9daPy_py_cCFv.s +++ /dev/null @@ -1,8 +0,0 @@ -lbl_8015DFF4: -/* 8015DFF4 C0 04 05 C8 */ lfs f0, 0x5c8(r4) -/* 8015DFF8 D0 03 00 00 */ stfs f0, 0(r3) -/* 8015DFFC C0 04 05 CC */ lfs f0, 0x5cc(r4) -/* 8015E000 D0 03 00 04 */ stfs f0, 4(r3) -/* 8015E004 C0 04 05 D0 */ lfs f0, 0x5d0(r4) -/* 8015E008 D0 03 00 08 */ stfs f0, 8(r3) -/* 8015E00C 4E 80 00 20 */ blr diff --git a/asm/a/obj/d_a_obj_item/initAction__8daItem_cFv.s b/asm/a/obj/d_a_obj_item/initAction__8daItem_cFv.s deleted file mode 100644 index 829ca9f17d..0000000000 --- a/asm/a/obj/d_a_obj_item/initAction__8daItem_cFv.s +++ /dev/null @@ -1,49 +0,0 @@ -lbl_8015D9F0: -/* 8015D9F0 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8015D9F4 7C 08 02 A6 */ mflr r0 -/* 8015D9F8 90 01 00 24 */ stw r0, 0x24(r1) -/* 8015D9FC 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 8015DA00 7C 7F 1B 78 */ mr r31, r3 -/* 8015DA04 48 00 00 A9 */ bl initFlag__8daItem_cFv -/* 8015DA08 7F E3 FB 78 */ mr r3, r31 -/* 8015DA0C 48 00 01 E5 */ bl initScale__8daItem_cFv -/* 8015DA10 7F E3 FB 78 */ mr r3, r31 -/* 8015DA14 38 80 00 00 */ li r4, 0 -/* 8015DA18 48 00 02 29 */ bl initSpeed__8daItem_cFi -/* 8015DA1C 7F E3 FB 78 */ mr r3, r31 -/* 8015DA20 48 00 04 19 */ bl initAngle__8daItem_cFv -/* 8015DA24 88 7F 09 2A */ lbz r3, 0x92a(r31) -/* 8015DA28 4B F3 DD 55 */ bl isHeart__FUc -/* 8015DA2C 2C 03 00 00 */ cmpwi r3, 0 -/* 8015DA30 41 82 00 5C */ beq lbl_8015DA8C -/* 8015DA34 C0 22 9B C4 */ lfs f1, lit_5050(r2) -/* 8015DA38 48 10 9F 1D */ bl cM_rndF__Ff -/* 8015DA3C C0 02 9B CC */ lfs f0, lit_5110(r2) -/* 8015DA40 EC 20 08 2A */ fadds f1, f0, f1 -/* 8015DA44 C0 02 9B 98 */ lfs f0, lit_4404(r2) -/* 8015DA48 EC 01 00 28 */ fsubs f0, f1, f0 -/* 8015DA4C D0 1F 05 2C */ stfs f0, 0x52c(r31) -/* 8015DA50 7F E3 FB 78 */ mr r3, r31 -/* 8015DA54 4B FF D6 65 */ bl getData__12daItemBase_cFv -/* 8015DA58 A8 03 00 2A */ lha r0, 0x2a(r3) -/* 8015DA5C C8 22 9B B0 */ lfd f1, lit_4668(r2) -/* 8015DA60 6C 00 80 00 */ xoris r0, r0, 0x8000 -/* 8015DA64 90 01 00 0C */ stw r0, 0xc(r1) -/* 8015DA68 3C 00 43 30 */ lis r0, 0x4330 -/* 8015DA6C 90 01 00 08 */ stw r0, 8(r1) -/* 8015DA70 C8 01 00 08 */ lfd f0, 8(r1) -/* 8015DA74 EC 20 08 28 */ fsubs f1, f0, f1 -/* 8015DA78 48 10 9F 15 */ bl cM_rndFX__Ff -/* 8015DA7C FC 00 08 1E */ fctiwz f0, f1 -/* 8015DA80 D8 01 00 10 */ stfd f0, 0x10(r1) -/* 8015DA84 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8015DA88 B0 1F 04 E8 */ sth r0, 0x4e8(r31) -lbl_8015DA8C: -/* 8015DA8C 38 00 00 00 */ li r0, 0 -/* 8015DA90 98 1F 09 49 */ stb r0, 0x949(r31) -/* 8015DA94 38 60 00 01 */ li r3, 1 -/* 8015DA98 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 8015DA9C 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8015DAA0 7C 08 03 A6 */ mtlr r0 -/* 8015DAA4 38 21 00 20 */ addi r1, r1, 0x20 -/* 8015DAA8 4E 80 00 20 */ blr diff --git a/asm/a/obj/d_a_obj_item/initFlag__8daItem_cFv.s b/asm/a/obj/d_a_obj_item/initFlag__8daItem_cFv.s deleted file mode 100644 index 505cc1fc17..0000000000 --- a/asm/a/obj/d_a_obj_item/initFlag__8daItem_cFv.s +++ /dev/null @@ -1,84 +0,0 @@ -lbl_8015DAAC: -/* 8015DAAC 80 03 00 B0 */ lwz r0, 0xb0(r3) -/* 8015DAB0 54 00 47 3E */ rlwinm r0, r0, 8, 0x1c, 0x1f -/* 8015DAB4 28 00 00 09 */ cmplwi r0, 9 -/* 8015DAB8 41 81 00 1C */ bgt lbl_8015DAD4 -/* 8015DABC 3C 80 80 3C */ lis r4, lit_5171@ha /* 0x803B9DDC@ha */ -/* 8015DAC0 38 84 9D DC */ addi r4, r4, lit_5171@l /* 0x803B9DDC@l */ -/* 8015DAC4 54 00 10 3A */ slwi r0, r0, 2 -/* 8015DAC8 7C 04 00 2E */ lwzx r0, r4, r0 -/* 8015DACC 7C 09 03 A6 */ mtctr r0 -/* 8015DAD0 4E 80 04 20 */ bctr -lbl_8015DAD4: -/* 8015DAD4 88 03 09 48 */ lbz r0, 0x948(r3) -/* 8015DAD8 54 00 07 B8 */ rlwinm r0, r0, 0, 0x1e, 0x1c -/* 8015DADC 98 03 09 48 */ stb r0, 0x948(r3) -/* 8015DAE0 88 03 09 48 */ lbz r0, 0x948(r3) -/* 8015DAE4 54 00 07 76 */ rlwinm r0, r0, 0, 0x1d, 0x1b -/* 8015DAE8 98 03 09 48 */ stb r0, 0x948(r3) -/* 8015DAEC 88 03 09 48 */ lbz r0, 0x948(r3) -/* 8015DAF0 60 00 00 02 */ ori r0, r0, 2 -/* 8015DAF4 98 03 09 48 */ stb r0, 0x948(r3) -/* 8015DAF8 48 00 00 C8 */ b lbl_8015DBC0 -/* 8015DAFC 88 03 09 48 */ lbz r0, 0x948(r3) -/* 8015DB00 60 00 00 04 */ ori r0, r0, 4 -/* 8015DB04 98 03 09 48 */ stb r0, 0x948(r3) -/* 8015DB08 88 03 09 48 */ lbz r0, 0x948(r3) -/* 8015DB0C 60 00 00 08 */ ori r0, r0, 8 -/* 8015DB10 98 03 09 48 */ stb r0, 0x948(r3) -/* 8015DB14 88 03 09 48 */ lbz r0, 0x948(r3) -/* 8015DB18 54 00 07 FA */ rlwinm r0, r0, 0, 0x1f, 0x1d -/* 8015DB1C 98 03 09 48 */ stb r0, 0x948(r3) -/* 8015DB20 48 00 00 A0 */ b lbl_8015DBC0 -/* 8015DB24 88 03 09 48 */ lbz r0, 0x948(r3) -/* 8015DB28 54 00 07 B8 */ rlwinm r0, r0, 0, 0x1e, 0x1c -/* 8015DB2C 98 03 09 48 */ stb r0, 0x948(r3) -/* 8015DB30 88 03 09 48 */ lbz r0, 0x948(r3) -/* 8015DB34 60 00 00 08 */ ori r0, r0, 8 -/* 8015DB38 98 03 09 48 */ stb r0, 0x948(r3) -/* 8015DB3C 88 03 09 48 */ lbz r0, 0x948(r3) -/* 8015DB40 54 00 07 FA */ rlwinm r0, r0, 0, 0x1f, 0x1d -/* 8015DB44 98 03 09 48 */ stb r0, 0x948(r3) -/* 8015DB48 48 00 00 78 */ b lbl_8015DBC0 -/* 8015DB4C 88 03 09 48 */ lbz r0, 0x948(r3) -/* 8015DB50 60 00 00 04 */ ori r0, r0, 4 -/* 8015DB54 98 03 09 48 */ stb r0, 0x948(r3) -/* 8015DB58 88 03 09 48 */ lbz r0, 0x948(r3) -/* 8015DB5C 60 00 00 08 */ ori r0, r0, 8 -/* 8015DB60 98 03 09 48 */ stb r0, 0x948(r3) -/* 8015DB64 88 03 09 48 */ lbz r0, 0x948(r3) -/* 8015DB68 54 00 07 FA */ rlwinm r0, r0, 0, 0x1f, 0x1d -/* 8015DB6C 98 03 09 48 */ stb r0, 0x948(r3) -/* 8015DB70 48 00 00 50 */ b lbl_8015DBC0 -/* 8015DB74 88 03 09 48 */ lbz r0, 0x948(r3) -/* 8015DB78 54 00 07 B8 */ rlwinm r0, r0, 0, 0x1e, 0x1c -/* 8015DB7C 98 03 09 48 */ stb r0, 0x948(r3) -/* 8015DB80 88 03 09 48 */ lbz r0, 0x948(r3) -/* 8015DB84 54 00 07 76 */ rlwinm r0, r0, 0, 0x1d, 0x1b -/* 8015DB88 98 03 09 48 */ stb r0, 0x948(r3) -/* 8015DB8C 88 03 09 48 */ lbz r0, 0x948(r3) -/* 8015DB90 60 00 00 02 */ ori r0, r0, 2 -/* 8015DB94 98 03 09 48 */ stb r0, 0x948(r3) -/* 8015DB98 48 00 00 28 */ b lbl_8015DBC0 -/* 8015DB9C 88 03 09 48 */ lbz r0, 0x948(r3) -/* 8015DBA0 60 00 00 04 */ ori r0, r0, 4 -/* 8015DBA4 98 03 09 48 */ stb r0, 0x948(r3) -/* 8015DBA8 88 03 09 48 */ lbz r0, 0x948(r3) -/* 8015DBAC 60 00 00 08 */ ori r0, r0, 8 -/* 8015DBB0 98 03 09 48 */ stb r0, 0x948(r3) -/* 8015DBB4 88 03 09 48 */ lbz r0, 0x948(r3) -/* 8015DBB8 54 00 07 FA */ rlwinm r0, r0, 0, 0x1f, 0x1d -/* 8015DBBC 98 03 09 48 */ stb r0, 0x948(r3) -lbl_8015DBC0: -/* 8015DBC0 3C 80 80 3B */ lis r4, item_info__10dItem_data@ha /* 0x803AED78@ha */ -/* 8015DBC4 38 84 ED 78 */ addi r4, r4, item_info__10dItem_data@l /* 0x803AED78@l */ -/* 8015DBC8 88 03 09 2A */ lbz r0, 0x92a(r3) -/* 8015DBCC 54 00 10 3A */ slwi r0, r0, 2 -/* 8015DBD0 7C 84 02 14 */ add r4, r4, r0 -/* 8015DBD4 88 04 00 03 */ lbz r0, 3(r4) -/* 8015DBD8 54 00 07 FF */ clrlwi. r0, r0, 0x1f -/* 8015DBDC 4D 82 00 20 */ beqlr -/* 8015DBE0 88 03 09 48 */ lbz r0, 0x948(r3) -/* 8015DBE4 60 00 00 08 */ ori r0, r0, 8 -/* 8015DBE8 98 03 09 48 */ stb r0, 0x948(r3) -/* 8015DBEC 4E 80 00 20 */ blr diff --git a/asm/a/obj/d_a_obj_item/initScale__8daItem_cFv.s b/asm/a/obj/d_a_obj_item/initScale__8daItem_cFv.s deleted file mode 100644 index e164d468dc..0000000000 --- a/asm/a/obj/d_a_obj_item/initScale__8daItem_cFv.s +++ /dev/null @@ -1,22 +0,0 @@ -lbl_8015DBF0: -/* 8015DBF0 80 03 00 B0 */ lwz r0, 0xb0(r3) -/* 8015DBF4 54 00 47 3E */ rlwinm r0, r0, 8, 0x1c, 0x1f -/* 8015DBF8 28 00 00 09 */ cmplwi r0, 9 -/* 8015DBFC 41 81 00 30 */ bgt lbl_8015DC2C -/* 8015DC00 3C 80 80 3C */ lis r4, lit_5193@ha /* 0x803B9E04@ha */ -/* 8015DC04 38 84 9E 04 */ addi r4, r4, lit_5193@l /* 0x803B9E04@l */ -/* 8015DC08 54 00 10 3A */ slwi r0, r0, 2 -/* 8015DC0C 7C 04 00 2E */ lwzx r0, r4, r0 -/* 8015DC10 7C 09 03 A6 */ mtctr r0 -/* 8015DC14 4E 80 04 20 */ bctr -/* 8015DC18 C0 02 9B 50 */ lfs f0, lit_3857(r2) -/* 8015DC1C D0 03 04 EC */ stfs f0, 0x4ec(r3) -/* 8015DC20 D0 03 04 F0 */ stfs f0, 0x4f0(r3) -/* 8015DC24 D0 03 04 F4 */ stfs f0, 0x4f4(r3) -/* 8015DC28 4E 80 00 20 */ blr -lbl_8015DC2C: -/* 8015DC2C C0 02 9B 7C */ lfs f0, lit_4069(r2) -/* 8015DC30 D0 03 04 EC */ stfs f0, 0x4ec(r3) -/* 8015DC34 D0 03 04 F0 */ stfs f0, 0x4f0(r3) -/* 8015DC38 D0 03 04 F4 */ stfs f0, 0x4f4(r3) -/* 8015DC3C 4E 80 00 20 */ blr diff --git a/asm/a/obj/d_a_obj_item/initSpeed__8daItem_cFi.s b/asm/a/obj/d_a_obj_item/initSpeed__8daItem_cFi.s deleted file mode 100644 index 27fc6fb636..0000000000 --- a/asm/a/obj/d_a_obj_item/initSpeed__8daItem_cFi.s +++ /dev/null @@ -1,133 +0,0 @@ -lbl_8015DC40: -/* 8015DC40 94 21 FF A0 */ stwu r1, -0x60(r1) -/* 8015DC44 7C 08 02 A6 */ mflr r0 -/* 8015DC48 90 01 00 64 */ stw r0, 0x64(r1) -/* 8015DC4C DB E1 00 50 */ stfd f31, 0x50(r1) -/* 8015DC50 F3 E1 00 58 */ psq_st f31, 88(r1), 0, 0 /* qr0 */ -/* 8015DC54 DB C1 00 40 */ stfd f30, 0x40(r1) -/* 8015DC58 F3 C1 00 48 */ psq_st f30, 72(r1), 0, 0 /* qr0 */ -/* 8015DC5C 39 61 00 40 */ addi r11, r1, 0x40 -/* 8015DC60 48 20 45 7D */ bl _savegpr_29 -/* 8015DC64 7C 7D 1B 78 */ mr r29, r3 -/* 8015DC68 7C 9E 23 78 */ mr r30, r4 -/* 8015DC6C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8015DC70 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8015DC74 83 E3 5D AC */ lwz r31, 0x5dac(r3) -/* 8015DC78 C0 22 9B C4 */ lfs f1, lit_5050(r2) -/* 8015DC7C 48 10 9D 11 */ bl cM_rndFX__Ff -/* 8015DC80 FF E0 08 90 */ fmr f31, f1 -/* 8015DC84 7F A3 EB 78 */ mr r3, r29 -/* 8015DC88 4B FF D4 31 */ bl getData__12daItemBase_cFv -/* 8015DC8C C0 03 00 08 */ lfs f0, 8(r3) -/* 8015DC90 EF E0 F8 2A */ fadds f31, f0, f31 -/* 8015DC94 7F A3 EB 78 */ mr r3, r29 -/* 8015DC98 4B FF D4 21 */ bl getData__12daItemBase_cFv -/* 8015DC9C C3 C3 00 10 */ lfs f30, 0x10(r3) -/* 8015DCA0 80 1D 00 B0 */ lwz r0, 0xb0(r29) -/* 8015DCA4 54 03 47 3E */ rlwinm r3, r0, 8, 0x1c, 0x1f -/* 8015DCA8 2C 1E 00 00 */ cmpwi r30, 0 -/* 8015DCAC 40 82 01 40 */ bne lbl_8015DDEC -/* 8015DCB0 28 03 00 03 */ cmplwi r3, 3 -/* 8015DCB4 41 82 00 18 */ beq lbl_8015DCCC -/* 8015DCB8 28 03 00 05 */ cmplwi r3, 5 -/* 8015DCBC 41 82 00 10 */ beq lbl_8015DCCC -/* 8015DCC0 88 1D 09 2A */ lbz r0, 0x92a(r29) -/* 8015DCC4 28 00 00 40 */ cmplwi r0, 0x40 -/* 8015DCC8 40 82 00 10 */ bne lbl_8015DCD8 -lbl_8015DCCC: -/* 8015DCCC C3 E2 9B 50 */ lfs f31, lit_3857(r2) -/* 8015DCD0 FF C0 F8 90 */ fmr f30, f31 -/* 8015DCD4 48 00 01 18 */ b lbl_8015DDEC -lbl_8015DCD8: -/* 8015DCD8 28 03 00 06 */ cmplwi r3, 6 -/* 8015DCDC 41 82 00 0C */ beq lbl_8015DCE8 -/* 8015DCE0 28 03 00 01 */ cmplwi r3, 1 -/* 8015DCE4 40 82 00 20 */ bne lbl_8015DD04 -lbl_8015DCE8: -/* 8015DCE8 7F A3 EB 78 */ mr r3, r29 -/* 8015DCEC 4B FF D3 CD */ bl getData__12daItemBase_cFv -/* 8015DCF0 C3 E3 00 08 */ lfs f31, 8(r3) -/* 8015DCF4 7F A3 EB 78 */ mr r3, r29 -/* 8015DCF8 4B FF D3 C1 */ bl getData__12daItemBase_cFv -/* 8015DCFC C3 C3 00 10 */ lfs f30, 0x10(r3) -/* 8015DD00 48 00 00 EC */ b lbl_8015DDEC -lbl_8015DD04: -/* 8015DD04 28 03 00 08 */ cmplwi r3, 8 -/* 8015DD08 40 82 00 6C */ bne lbl_8015DD74 -/* 8015DD0C 7F A3 EB 78 */ mr r3, r29 -/* 8015DD10 4B FF D3 A9 */ bl getData__12daItemBase_cFv -/* 8015DD14 C0 23 00 08 */ lfs f1, 8(r3) -/* 8015DD18 C0 02 9B D0 */ lfs f0, lit_5230(r2) -/* 8015DD1C EF E0 00 72 */ fmuls f31, f0, f1 -/* 8015DD20 7F A3 EB 78 */ mr r3, r29 -/* 8015DD24 4B FF D3 95 */ bl getData__12daItemBase_cFv -/* 8015DD28 C0 23 00 10 */ lfs f1, 0x10(r3) -/* 8015DD2C C0 02 9B D0 */ lfs f0, lit_5230(r2) -/* 8015DD30 EF C0 00 72 */ fmuls f30, f0, f1 -/* 8015DD34 C0 22 9B A8 */ lfs f1, lit_4666(r2) -/* 8015DD38 48 10 9C 55 */ bl cM_rndFX__Ff -/* 8015DD3C A8 1F 04 E6 */ lha r0, 0x4e6(r31) -/* 8015DD40 C8 42 9B B0 */ lfd f2, lit_4668(r2) -/* 8015DD44 6C 00 80 00 */ xoris r0, r0, 0x8000 -/* 8015DD48 90 01 00 1C */ stw r0, 0x1c(r1) -/* 8015DD4C 3C 00 43 30 */ lis r0, 0x4330 -/* 8015DD50 90 01 00 18 */ stw r0, 0x18(r1) -/* 8015DD54 C8 01 00 18 */ lfd f0, 0x18(r1) -/* 8015DD58 EC 00 10 28 */ fsubs f0, f0, f2 -/* 8015DD5C EC 00 08 2A */ fadds f0, f0, f1 -/* 8015DD60 FC 00 00 1E */ fctiwz f0, f0 -/* 8015DD64 D8 01 00 20 */ stfd f0, 0x20(r1) -/* 8015DD68 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8015DD6C B0 1D 04 DE */ sth r0, 0x4de(r29) -/* 8015DD70 48 00 00 7C */ b lbl_8015DDEC -lbl_8015DD74: -/* 8015DD74 28 03 00 09 */ cmplwi r3, 9 -/* 8015DD78 40 82 00 74 */ bne lbl_8015DDEC -/* 8015DD7C 7F A3 EB 78 */ mr r3, r29 -/* 8015DD80 4B FF D3 39 */ bl getData__12daItemBase_cFv -/* 8015DD84 C0 23 00 08 */ lfs f1, 8(r3) -/* 8015DD88 C0 02 9B D4 */ lfs f0, lit_5231(r2) -/* 8015DD8C EF E0 00 72 */ fmuls f31, f0, f1 -/* 8015DD90 7F A3 EB 78 */ mr r3, r29 -/* 8015DD94 4B FF D3 25 */ bl getData__12daItemBase_cFv -/* 8015DD98 C0 23 00 10 */ lfs f1, 0x10(r3) -/* 8015DD9C C0 02 9B D8 */ lfs f0, lit_5232(r2) -/* 8015DDA0 EF C0 00 72 */ fmuls f30, f0, f1 -/* 8015DDA4 C0 02 9B 50 */ lfs f0, lit_3857(r2) -/* 8015DDA8 D0 01 00 08 */ stfs f0, 8(r1) -/* 8015DDAC D0 01 00 0C */ stfs f0, 0xc(r1) -/* 8015DDB0 C0 02 9B DC */ lfs f0, lit_5233(r2) -/* 8015DDB4 D0 01 00 10 */ stfs f0, 0x10(r1) -/* 8015DDB8 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */ -/* 8015DDBC 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */ -/* 8015DDC0 A8 9F 04 E6 */ lha r4, 0x4e6(r31) -/* 8015DDC4 4B EA E6 19 */ bl mDoMtx_YrotS__FPA4_fs -/* 8015DDC8 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */ -/* 8015DDCC 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */ -/* 8015DDD0 38 81 00 08 */ addi r4, r1, 8 -/* 8015DDD4 7C 85 23 78 */ mr r5, r4 -/* 8015DDD8 48 1E 8F 95 */ bl PSMTXMultVec -/* 8015DDDC 38 7D 04 D0 */ addi r3, r29, 0x4d0 -/* 8015DDE0 38 81 00 08 */ addi r4, r1, 8 -/* 8015DDE4 7C 65 1B 78 */ mr r5, r3 -/* 8015DDE8 48 1E 92 A9 */ bl PSVECAdd -lbl_8015DDEC: -/* 8015DDEC 7F A3 EB 78 */ mr r3, r29 -/* 8015DDF0 4B FF D2 C9 */ bl getData__12daItemBase_cFv -/* 8015DDF4 C0 03 00 00 */ lfs f0, 0(r3) -/* 8015DDF8 D0 1D 05 30 */ stfs f0, 0x530(r29) -/* 8015DDFC C0 02 9B 50 */ lfs f0, lit_3857(r2) -/* 8015DE00 D0 1D 04 F8 */ stfs f0, 0x4f8(r29) -/* 8015DE04 D3 FD 04 FC */ stfs f31, 0x4fc(r29) -/* 8015DE08 D0 1D 05 00 */ stfs f0, 0x500(r29) -/* 8015DE0C D3 DD 05 2C */ stfs f30, 0x52c(r29) -/* 8015DE10 E3 E1 00 58 */ psq_l f31, 88(r1), 0, 0 /* qr0 */ -/* 8015DE14 CB E1 00 50 */ lfd f31, 0x50(r1) -/* 8015DE18 E3 C1 00 48 */ psq_l f30, 72(r1), 0, 0 /* qr0 */ -/* 8015DE1C CB C1 00 40 */ lfd f30, 0x40(r1) -/* 8015DE20 39 61 00 40 */ addi r11, r1, 0x40 -/* 8015DE24 48 20 44 05 */ bl _restgpr_29 -/* 8015DE28 80 01 00 64 */ lwz r0, 0x64(r1) -/* 8015DE2C 7C 08 03 A6 */ mtlr r0 -/* 8015DE30 38 21 00 60 */ addi r1, r1, 0x60 -/* 8015DE34 4E 80 00 20 */ blr diff --git a/asm/a/obj/d_a_obj_item/itemActionForArrow__8daItem_cFv.s b/asm/a/obj/d_a_obj_item/itemActionForArrow__8daItem_cFv.s deleted file mode 100644 index 39254b6ad1..0000000000 --- a/asm/a/obj/d_a_obj_item/itemActionForArrow__8daItem_cFv.s +++ /dev/null @@ -1,32 +0,0 @@ -lbl_8015D688: -/* 8015D688 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8015D68C 7C 08 02 A6 */ mflr r0 -/* 8015D690 90 01 00 14 */ stw r0, 0x14(r1) -/* 8015D694 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8015D698 7C 7F 1B 78 */ mr r31, r3 -/* 8015D69C 38 7F 05 8C */ addi r3, r31, 0x58c -/* 8015D6A0 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8015D6A4 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8015D6A8 38 84 0F 38 */ addi r4, r4, 0xf38 -/* 8015D6AC 4B F1 94 01 */ bl CrrPos__9dBgS_AcchFR4dBgS -/* 8015D6B0 7F E3 FB 78 */ mr r3, r31 -/* 8015D6B4 48 00 00 81 */ bl bg_check__8daItem_cFv -/* 8015D6B8 80 7F 05 B8 */ lwz r3, 0x5b8(r31) -/* 8015D6BC 54 60 06 B5 */ rlwinm. r0, r3, 0, 0x1a, 0x1a -/* 8015D6C0 41 82 00 28 */ beq lbl_8015D6E8 -/* 8015D6C4 54 60 06 31 */ rlwinm. r0, r3, 0, 0x18, 0x18 -/* 8015D6C8 40 82 00 20 */ bne lbl_8015D6E8 -/* 8015D6CC C0 02 9B 50 */ lfs f0, lit_3857(r2) -/* 8015D6D0 D0 1F 05 2C */ stfs f0, 0x52c(r31) -/* 8015D6D4 7F E3 FB 78 */ mr r3, r31 -/* 8015D6D8 81 9F 05 68 */ lwz r12, 0x568(r31) -/* 8015D6DC 81 8C 00 20 */ lwz r12, 0x20(r12) -/* 8015D6E0 7D 89 03 A6 */ mtctr r12 -/* 8015D6E4 4E 80 04 21 */ bctrl -lbl_8015D6E8: -/* 8015D6E8 38 60 00 01 */ li r3, 1 -/* 8015D6EC 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8015D6F0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8015D6F4 7C 08 03 A6 */ mtlr r0 -/* 8015D6F8 38 21 00 10 */ addi r1, r1, 0x10 -/* 8015D6FC 4E 80 00 20 */ blr diff --git a/asm/a/obj/d_a_obj_item/itemActionForBoomerang__8daItem_cFv.s b/asm/a/obj/d_a_obj_item/itemActionForBoomerang__8daItem_cFv.s deleted file mode 100644 index c685489e0f..0000000000 --- a/asm/a/obj/d_a_obj_item/itemActionForBoomerang__8daItem_cFv.s +++ /dev/null @@ -1,14 +0,0 @@ -lbl_8015D700: -/* 8015D700 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8015D704 7C 08 02 A6 */ mflr r0 -/* 8015D708 90 01 00 14 */ stw r0, 0x14(r1) -/* 8015D70C 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8015D710 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8015D714 38 84 0F 38 */ addi r4, r4, 0xf38 -/* 8015D718 38 63 05 8C */ addi r3, r3, 0x58c -/* 8015D71C 4B F1 93 91 */ bl CrrPos__9dBgS_AcchFR4dBgS -/* 8015D720 38 60 00 01 */ li r3, 1 -/* 8015D724 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8015D728 7C 08 03 A6 */ mtlr r0 -/* 8015D72C 38 21 00 10 */ addi r1, r1, 0x10 -/* 8015D730 4E 80 00 20 */ blr diff --git a/asm/a/obj/d_a_obj_item/itemActionForHeart__8daItem_cFv.s b/asm/a/obj/d_a_obj_item/itemActionForHeart__8daItem_cFv.s deleted file mode 100644 index 86d8c24507..0000000000 --- a/asm/a/obj/d_a_obj_item/itemActionForHeart__8daItem_cFv.s +++ /dev/null @@ -1,76 +0,0 @@ -lbl_8015D56C: -/* 8015D56C 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8015D570 7C 08 02 A6 */ mflr r0 -/* 8015D574 90 01 00 24 */ stw r0, 0x24(r1) -/* 8015D578 DB E1 00 10 */ stfd f31, 0x10(r1) -/* 8015D57C F3 E1 00 18 */ psq_st f31, 24(r1), 0, 0 /* qr0 */ -/* 8015D580 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8015D584 7C 7F 1B 78 */ mr r31, r3 -/* 8015D588 C3 E3 04 FC */ lfs f31, 0x4fc(r3) -/* 8015D58C C0 02 9B 50 */ lfs f0, lit_3857(r2) -/* 8015D590 FC 1F 00 40 */ fcmpo cr0, f31, f0 -/* 8015D594 4C 40 13 82 */ cror 2, 0, 2 -/* 8015D598 40 82 00 20 */ bne lbl_8015D5B8 -/* 8015D59C D0 1F 05 30 */ stfs f0, 0x530(r31) -/* 8015D5A0 4B FF DB 19 */ bl getData__12daItemBase_cFv -/* 8015D5A4 C0 23 00 20 */ lfs f1, 0x20(r3) -/* 8015D5A8 C0 02 9B 50 */ lfs f0, lit_3857(r2) -/* 8015D5AC D0 1F 04 F8 */ stfs f0, 0x4f8(r31) -/* 8015D5B0 D0 3F 04 FC */ stfs f1, 0x4fc(r31) -/* 8015D5B4 D0 1F 05 00 */ stfs f0, 0x500(r31) -lbl_8015D5B8: -/* 8015D5B8 38 7F 05 8C */ addi r3, r31, 0x58c -/* 8015D5BC 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8015D5C0 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8015D5C4 38 84 0F 38 */ addi r4, r4, 0xf38 -/* 8015D5C8 4B F1 94 E5 */ bl CrrPos__9dBgS_AcchFR4dBgS -/* 8015D5CC 80 7F 05 B8 */ lwz r3, 0x5b8(r31) -/* 8015D5D0 54 60 06 31 */ rlwinm. r0, r3, 0, 0x18, 0x18 -/* 8015D5D4 40 82 00 0C */ bne lbl_8015D5E0 -/* 8015D5D8 54 60 06 B5 */ rlwinm. r0, r3, 0, 0x1a, 0x1a -/* 8015D5DC 41 82 00 34 */ beq lbl_8015D610 -lbl_8015D5E0: -/* 8015D5E0 88 1F 09 48 */ lbz r0, 0x948(r31) -/* 8015D5E4 54 00 07 FA */ rlwinm r0, r0, 0, 0x1f, 0x1d -/* 8015D5E8 98 1F 09 48 */ stb r0, 0x948(r31) -/* 8015D5EC 38 00 00 00 */ li r0, 0 -/* 8015D5F0 B0 1F 04 E8 */ sth r0, 0x4e8(r31) -/* 8015D5F4 C0 22 9B 50 */ lfs f1, lit_3857(r2) -/* 8015D5F8 D0 3F 04 F8 */ stfs f1, 0x4f8(r31) -/* 8015D5FC C0 02 9B BC */ lfs f0, lit_4923(r2) -/* 8015D600 D0 1F 04 FC */ stfs f0, 0x4fc(r31) -/* 8015D604 D0 3F 05 00 */ stfs f1, 0x500(r31) -/* 8015D608 D0 3F 05 2C */ stfs f1, 0x52c(r31) -/* 8015D60C 48 00 00 48 */ b lbl_8015D654 -lbl_8015D610: -/* 8015D610 C0 02 9B 50 */ lfs f0, lit_3857(r2) -/* 8015D614 FC 1F 00 40 */ fcmpo cr0, f31, f0 -/* 8015D618 40 80 00 3C */ bge lbl_8015D654 -/* 8015D61C 7F E3 FB 78 */ mr r3, r31 -/* 8015D620 4B FF DA 99 */ bl getData__12daItemBase_cFv -/* 8015D624 C3 E3 00 24 */ lfs f31, 0x24(r3) -/* 8015D628 7F E3 FB 78 */ mr r3, r31 -/* 8015D62C 4B FF DA 8D */ bl getData__12daItemBase_cFv -/* 8015D630 A8 63 00 28 */ lha r3, 0x28(r3) -/* 8015D634 80 1F 09 24 */ lwz r0, 0x924(r31) -/* 8015D638 7C 00 19 D6 */ mullw r0, r0, r3 -/* 8015D63C 54 00 04 38 */ rlwinm r0, r0, 0, 0x10, 0x1c -/* 8015D640 3C 60 80 44 */ lis r3, sincosTable___5JMath@ha /* 0x80439A20@ha */ -/* 8015D644 38 63 9A 20 */ addi r3, r3, sincosTable___5JMath@l /* 0x80439A20@l */ -/* 8015D648 7C 03 04 2E */ lfsx f0, r3, r0 -/* 8015D64C EC 1F 00 32 */ fmuls f0, f31, f0 -/* 8015D650 D0 1F 05 2C */ stfs f0, 0x52c(r31) -lbl_8015D654: -/* 8015D654 7F E3 FB 78 */ mr r3, r31 -/* 8015D658 81 9F 05 68 */ lwz r12, 0x568(r31) -/* 8015D65C 81 8C 00 20 */ lwz r12, 0x20(r12) -/* 8015D660 7D 89 03 A6 */ mtctr r12 -/* 8015D664 4E 80 04 21 */ bctrl -/* 8015D668 38 60 00 01 */ li r3, 1 -/* 8015D66C E3 E1 00 18 */ psq_l f31, 24(r1), 0, 0 /* qr0 */ -/* 8015D670 CB E1 00 10 */ lfd f31, 0x10(r1) -/* 8015D674 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8015D678 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8015D67C 7C 08 03 A6 */ mtlr r0 -/* 8015D680 38 21 00 20 */ addi r1, r1, 0x20 -/* 8015D684 4E 80 00 20 */ blr diff --git a/asm/a/obj/d_a_obj_item/itemGetTgCallBack__FP10fopAc_ac_cP12dCcD_GObjInfP10fopAc_ac_cP12dCcD_GObjInf.s b/asm/a/obj/d_a_obj_item/itemGetTgCallBack__FP10fopAc_ac_cP12dCcD_GObjInfP10fopAc_ac_cP12dCcD_GObjInf.s deleted file mode 100644 index ce620477e0..0000000000 --- a/asm/a/obj/d_a_obj_item/itemGetTgCallBack__FP10fopAc_ac_cP12dCcD_GObjInfP10fopAc_ac_cP12dCcD_GObjInf.s +++ /dev/null @@ -1,51 +0,0 @@ -lbl_8015B320: -/* 8015B320 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8015B324 7C 08 02 A6 */ mflr r0 -/* 8015B328 90 01 00 14 */ stw r0, 0x14(r1) -/* 8015B32C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8015B330 93 C1 00 08 */ stw r30, 8(r1) -/* 8015B334 7C DE 33 78 */ mr r30, r6 -/* 8015B338 7C 7F 1B 79 */ or. r31, r3, r3 -/* 8015B33C 41 82 00 84 */ beq lbl_8015B3C0 -/* 8015B340 48 00 20 8D */ bl checkPlayerGet__8daItem_cFv -/* 8015B344 2C 03 00 00 */ cmpwi r3, 0 -/* 8015B348 41 82 00 78 */ beq lbl_8015B3C0 -/* 8015B34C 80 7E 00 10 */ lwz r3, 0x10(r30) -/* 8015B350 54 60 07 BD */ rlwinm. r0, r3, 0, 0x1e, 0x1e -/* 8015B354 41 82 00 10 */ beq lbl_8015B364 -/* 8015B358 7F E3 FB 78 */ mr r3, r31 -/* 8015B35C 48 00 1B 91 */ bl itemGetNextExecute__8daItem_cFv -/* 8015B360 48 00 00 60 */ b lbl_8015B3C0 -lbl_8015B364: -/* 8015B364 54 60 06 73 */ rlwinm. r0, r3, 0, 0x19, 0x19 -/* 8015B368 40 82 00 0C */ bne lbl_8015B374 -/* 8015B36C 54 60 03 DF */ rlwinm. r0, r3, 0, 0xf, 0xf -/* 8015B370 41 82 00 3C */ beq lbl_8015B3AC -lbl_8015B374: -/* 8015B374 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8015B378 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8015B37C 88 03 4F AD */ lbz r0, 0x4fad(r3) -/* 8015B380 28 00 00 00 */ cmplwi r0, 0 -/* 8015B384 40 82 00 3C */ bne lbl_8015B3C0 -/* 8015B388 88 1F 09 5E */ lbz r0, 0x95e(r31) -/* 8015B38C 28 00 00 00 */ cmplwi r0, 0 -/* 8015B390 40 82 00 30 */ bne lbl_8015B3C0 -/* 8015B394 88 1F 09 4A */ lbz r0, 0x94a(r31) -/* 8015B398 2C 00 00 05 */ cmpwi r0, 5 -/* 8015B39C 41 82 00 24 */ beq lbl_8015B3C0 -/* 8015B3A0 7F E3 FB 78 */ mr r3, r31 -/* 8015B3A4 48 00 10 79 */ bl procInitBoomerangCarry__8daItem_cFv -/* 8015B3A8 48 00 00 18 */ b lbl_8015B3C0 -lbl_8015B3AC: -/* 8015B3AC 54 60 04 63 */ rlwinm. r0, r3, 0, 0x11, 0x11 -/* 8015B3B0 41 82 00 10 */ beq lbl_8015B3C0 -/* 8015B3B4 88 1F 09 48 */ lbz r0, 0x948(r31) -/* 8015B3B8 54 00 07 B8 */ rlwinm r0, r0, 0, 0x1e, 0x1c -/* 8015B3BC 98 1F 09 48 */ stb r0, 0x948(r31) -lbl_8015B3C0: -/* 8015B3C0 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8015B3C4 83 C1 00 08 */ lwz r30, 8(r1) -/* 8015B3C8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8015B3CC 7C 08 03 A6 */ mtlr r0 -/* 8015B3D0 38 21 00 10 */ addi r1, r1, 0x10 -/* 8015B3D4 4E 80 00 20 */ blr diff --git a/asm/a/obj/d_a_obj_item/itemGet__8daItem_cFv.s b/asm/a/obj/d_a_obj_item/itemGet__8daItem_cFv.s deleted file mode 100644 index 7e2c7bcb5f..0000000000 --- a/asm/a/obj/d_a_obj_item/itemGet__8daItem_cFv.s +++ /dev/null @@ -1,192 +0,0 @@ -lbl_8015D0A8: -/* 8015D0A8 94 21 FF C0 */ stwu r1, -0x40(r1) -/* 8015D0AC 7C 08 02 A6 */ mflr r0 -/* 8015D0B0 90 01 00 44 */ stw r0, 0x44(r1) -/* 8015D0B4 93 E1 00 3C */ stw r31, 0x3c(r1) -/* 8015D0B8 7C 7F 1B 78 */ mr r31, r3 -/* 8015D0BC 88 03 09 2A */ lbz r0, 0x92a(r3) -/* 8015D0C0 2C 00 00 06 */ cmpwi r0, 6 -/* 8015D0C4 41 82 01 DC */ beq lbl_8015D2A0 -/* 8015D0C8 40 80 00 30 */ bge lbl_8015D0F8 -/* 8015D0CC 2C 00 00 02 */ cmpwi r0, 2 -/* 8015D0D0 41 82 00 D0 */ beq lbl_8015D1A0 -/* 8015D0D4 40 80 00 14 */ bge lbl_8015D0E8 -/* 8015D0D8 2C 00 00 00 */ cmpwi r0, 0 -/* 8015D0DC 41 82 00 44 */ beq lbl_8015D120 -/* 8015D0E0 40 80 00 80 */ bge lbl_8015D160 -/* 8015D0E4 48 00 02 78 */ b lbl_8015D35C -lbl_8015D0E8: -/* 8015D0E8 2C 00 00 04 */ cmpwi r0, 4 -/* 8015D0EC 41 82 01 34 */ beq lbl_8015D220 -/* 8015D0F0 40 80 01 70 */ bge lbl_8015D260 -/* 8015D0F4 48 00 00 EC */ b lbl_8015D1E0 -lbl_8015D0F8: -/* 8015D0F8 2C 00 00 13 */ cmpwi r0, 0x13 -/* 8015D0FC 40 80 00 18 */ bge lbl_8015D114 -/* 8015D100 2C 00 00 0E */ cmpwi r0, 0xe -/* 8015D104 40 80 02 1C */ bge lbl_8015D320 -/* 8015D108 2C 00 00 08 */ cmpwi r0, 8 -/* 8015D10C 40 80 02 50 */ bge lbl_8015D35C -/* 8015D110 48 00 01 D0 */ b lbl_8015D2E0 -lbl_8015D114: -/* 8015D114 2C 00 00 40 */ cmpwi r0, 0x40 -/* 8015D118 41 82 02 44 */ beq lbl_8015D35C -/* 8015D11C 48 00 02 40 */ b lbl_8015D35C -lbl_8015D120: -/* 8015D120 38 00 00 17 */ li r0, 0x17 -/* 8015D124 90 01 00 28 */ stw r0, 0x28(r1) -/* 8015D128 80 6D 8D E8 */ lwz r3, mAudioMgrPtr__10Z2AudioMgr(r13) -/* 8015D12C 38 81 00 28 */ addi r4, r1, 0x28 -/* 8015D130 38 A0 00 00 */ li r5, 0 -/* 8015D134 38 C0 00 00 */ li r6, 0 -/* 8015D138 38 E0 00 00 */ li r7, 0 -/* 8015D13C C0 22 9B 7C */ lfs f1, lit_4069(r2) -/* 8015D140 FC 40 08 90 */ fmr f2, f1 -/* 8015D144 C0 62 9B BC */ lfs f3, lit_4923(r2) -/* 8015D148 FC 80 18 90 */ fmr f4, f3 -/* 8015D14C 39 00 00 00 */ li r8, 0 -/* 8015D150 48 14 E8 35 */ bl seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc -/* 8015D154 88 7F 09 2A */ lbz r3, 0x92a(r31) -/* 8015D158 4B F3 AD 35 */ bl execItemGet__FUc -/* 8015D15C 48 00 02 00 */ b lbl_8015D35C -lbl_8015D160: -/* 8015D160 38 00 00 70 */ li r0, 0x70 -/* 8015D164 90 01 00 24 */ stw r0, 0x24(r1) -/* 8015D168 80 6D 8D E8 */ lwz r3, mAudioMgrPtr__10Z2AudioMgr(r13) -/* 8015D16C 38 81 00 24 */ addi r4, r1, 0x24 -/* 8015D170 38 A0 00 00 */ li r5, 0 -/* 8015D174 38 C0 00 00 */ li r6, 0 -/* 8015D178 38 E0 00 00 */ li r7, 0 -/* 8015D17C C0 22 9B 7C */ lfs f1, lit_4069(r2) -/* 8015D180 FC 40 08 90 */ fmr f2, f1 -/* 8015D184 C0 62 9B BC */ lfs f3, lit_4923(r2) -/* 8015D188 FC 80 18 90 */ fmr f4, f3 -/* 8015D18C 39 00 00 00 */ li r8, 0 -/* 8015D190 48 14 E7 F5 */ bl seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc -/* 8015D194 88 7F 09 2A */ lbz r3, 0x92a(r31) -/* 8015D198 4B F3 AC F5 */ bl execItemGet__FUc -/* 8015D19C 48 00 01 C0 */ b lbl_8015D35C -lbl_8015D1A0: -/* 8015D1A0 38 00 00 71 */ li r0, 0x71 -/* 8015D1A4 90 01 00 20 */ stw r0, 0x20(r1) -/* 8015D1A8 80 6D 8D E8 */ lwz r3, mAudioMgrPtr__10Z2AudioMgr(r13) -/* 8015D1AC 38 81 00 20 */ addi r4, r1, 0x20 -/* 8015D1B0 38 A0 00 00 */ li r5, 0 -/* 8015D1B4 38 C0 00 00 */ li r6, 0 -/* 8015D1B8 38 E0 00 00 */ li r7, 0 -/* 8015D1BC C0 22 9B 7C */ lfs f1, lit_4069(r2) -/* 8015D1C0 FC 40 08 90 */ fmr f2, f1 -/* 8015D1C4 C0 62 9B BC */ lfs f3, lit_4923(r2) -/* 8015D1C8 FC 80 18 90 */ fmr f4, f3 -/* 8015D1CC 39 00 00 00 */ li r8, 0 -/* 8015D1D0 48 14 E7 B5 */ bl seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc -/* 8015D1D4 88 7F 09 2A */ lbz r3, 0x92a(r31) -/* 8015D1D8 4B F3 AC B5 */ bl execItemGet__FUc -/* 8015D1DC 48 00 01 80 */ b lbl_8015D35C -lbl_8015D1E0: -/* 8015D1E0 38 00 00 71 */ li r0, 0x71 -/* 8015D1E4 90 01 00 1C */ stw r0, 0x1c(r1) -/* 8015D1E8 80 6D 8D E8 */ lwz r3, mAudioMgrPtr__10Z2AudioMgr(r13) -/* 8015D1EC 38 81 00 1C */ addi r4, r1, 0x1c -/* 8015D1F0 38 A0 00 00 */ li r5, 0 -/* 8015D1F4 38 C0 00 00 */ li r6, 0 -/* 8015D1F8 38 E0 00 00 */ li r7, 0 -/* 8015D1FC C0 22 9B 7C */ lfs f1, lit_4069(r2) -/* 8015D200 FC 40 08 90 */ fmr f2, f1 -/* 8015D204 C0 62 9B BC */ lfs f3, lit_4923(r2) -/* 8015D208 FC 80 18 90 */ fmr f4, f3 -/* 8015D20C 39 00 00 00 */ li r8, 0 -/* 8015D210 48 14 E7 75 */ bl seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc -/* 8015D214 88 7F 09 2A */ lbz r3, 0x92a(r31) -/* 8015D218 4B F3 AC 75 */ bl execItemGet__FUc -/* 8015D21C 48 00 01 40 */ b lbl_8015D35C -lbl_8015D220: -/* 8015D220 38 00 00 72 */ li r0, 0x72 -/* 8015D224 90 01 00 18 */ stw r0, 0x18(r1) -/* 8015D228 80 6D 8D E8 */ lwz r3, mAudioMgrPtr__10Z2AudioMgr(r13) -/* 8015D22C 38 81 00 18 */ addi r4, r1, 0x18 -/* 8015D230 38 A0 00 00 */ li r5, 0 -/* 8015D234 38 C0 00 00 */ li r6, 0 -/* 8015D238 38 E0 00 00 */ li r7, 0 -/* 8015D23C C0 22 9B 7C */ lfs f1, lit_4069(r2) -/* 8015D240 FC 40 08 90 */ fmr f2, f1 -/* 8015D244 C0 62 9B BC */ lfs f3, lit_4923(r2) -/* 8015D248 FC 80 18 90 */ fmr f4, f3 -/* 8015D24C 39 00 00 00 */ li r8, 0 -/* 8015D250 48 14 E7 35 */ bl seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc -/* 8015D254 88 7F 09 2A */ lbz r3, 0x92a(r31) -/* 8015D258 4B F3 AC 35 */ bl execItemGet__FUc -/* 8015D25C 48 00 01 00 */ b lbl_8015D35C -lbl_8015D260: -/* 8015D260 38 00 00 72 */ li r0, 0x72 -/* 8015D264 90 01 00 14 */ stw r0, 0x14(r1) -/* 8015D268 80 6D 8D E8 */ lwz r3, mAudioMgrPtr__10Z2AudioMgr(r13) -/* 8015D26C 38 81 00 14 */ addi r4, r1, 0x14 -/* 8015D270 38 A0 00 00 */ li r5, 0 -/* 8015D274 38 C0 00 00 */ li r6, 0 -/* 8015D278 38 E0 00 00 */ li r7, 0 -/* 8015D27C C0 22 9B 7C */ lfs f1, lit_4069(r2) -/* 8015D280 FC 40 08 90 */ fmr f2, f1 -/* 8015D284 C0 62 9B BC */ lfs f3, lit_4923(r2) -/* 8015D288 FC 80 18 90 */ fmr f4, f3 -/* 8015D28C 39 00 00 00 */ li r8, 0 -/* 8015D290 48 14 E6 F5 */ bl seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc -/* 8015D294 88 7F 09 2A */ lbz r3, 0x92a(r31) -/* 8015D298 4B F3 AB F5 */ bl execItemGet__FUc -/* 8015D29C 48 00 00 C0 */ b lbl_8015D35C -lbl_8015D2A0: -/* 8015D2A0 38 00 00 72 */ li r0, 0x72 -/* 8015D2A4 90 01 00 10 */ stw r0, 0x10(r1) -/* 8015D2A8 80 6D 8D E8 */ lwz r3, mAudioMgrPtr__10Z2AudioMgr(r13) -/* 8015D2AC 38 81 00 10 */ addi r4, r1, 0x10 -/* 8015D2B0 38 A0 00 00 */ li r5, 0 -/* 8015D2B4 38 C0 00 00 */ li r6, 0 -/* 8015D2B8 38 E0 00 00 */ li r7, 0 -/* 8015D2BC C0 22 9B 7C */ lfs f1, lit_4069(r2) -/* 8015D2C0 FC 40 08 90 */ fmr f2, f1 -/* 8015D2C4 C0 62 9B BC */ lfs f3, lit_4923(r2) -/* 8015D2C8 FC 80 18 90 */ fmr f4, f3 -/* 8015D2CC 39 00 00 00 */ li r8, 0 -/* 8015D2D0 48 14 E6 B5 */ bl seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc -/* 8015D2D4 88 7F 09 2A */ lbz r3, 0x92a(r31) -/* 8015D2D8 4B F3 AB B5 */ bl execItemGet__FUc -/* 8015D2DC 48 00 00 80 */ b lbl_8015D35C -lbl_8015D2E0: -/* 8015D2E0 38 00 00 72 */ li r0, 0x72 -/* 8015D2E4 90 01 00 0C */ stw r0, 0xc(r1) -/* 8015D2E8 80 6D 8D E8 */ lwz r3, mAudioMgrPtr__10Z2AudioMgr(r13) -/* 8015D2EC 38 81 00 0C */ addi r4, r1, 0xc -/* 8015D2F0 38 A0 00 00 */ li r5, 0 -/* 8015D2F4 38 C0 00 00 */ li r6, 0 -/* 8015D2F8 38 E0 00 00 */ li r7, 0 -/* 8015D2FC C0 22 9B 7C */ lfs f1, lit_4069(r2) -/* 8015D300 FC 40 08 90 */ fmr f2, f1 -/* 8015D304 C0 62 9B BC */ lfs f3, lit_4923(r2) -/* 8015D308 FC 80 18 90 */ fmr f4, f3 -/* 8015D30C 39 00 00 00 */ li r8, 0 -/* 8015D310 48 14 E6 75 */ bl seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc -/* 8015D314 88 7F 09 2A */ lbz r3, 0x92a(r31) -/* 8015D318 4B F3 AB 75 */ bl execItemGet__FUc -/* 8015D31C 48 00 00 40 */ b lbl_8015D35C -lbl_8015D320: -/* 8015D320 38 00 00 18 */ li r0, 0x18 -/* 8015D324 90 01 00 08 */ stw r0, 8(r1) -/* 8015D328 80 6D 8D E8 */ lwz r3, mAudioMgrPtr__10Z2AudioMgr(r13) -/* 8015D32C 38 81 00 08 */ addi r4, r1, 8 -/* 8015D330 38 A0 00 00 */ li r5, 0 -/* 8015D334 38 C0 00 00 */ li r6, 0 -/* 8015D338 38 E0 00 00 */ li r7, 0 -/* 8015D33C C0 22 9B 7C */ lfs f1, lit_4069(r2) -/* 8015D340 FC 40 08 90 */ fmr f2, f1 -/* 8015D344 C0 62 9B BC */ lfs f3, lit_4923(r2) -/* 8015D348 FC 80 18 90 */ fmr f4, f3 -/* 8015D34C 39 00 00 00 */ li r8, 0 -/* 8015D350 48 14 E6 35 */ bl seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc -/* 8015D354 88 7F 09 2A */ lbz r3, 0x92a(r31) -/* 8015D358 4B F3 AB 35 */ bl execItemGet__FUc -lbl_8015D35C: -/* 8015D35C 83 E1 00 3C */ lwz r31, 0x3c(r1) -/* 8015D360 80 01 00 44 */ lwz r0, 0x44(r1) -/* 8015D364 7C 08 03 A6 */ mtlr r0 -/* 8015D368 38 21 00 40 */ addi r1, r1, 0x40 -/* 8015D36C 4E 80 00 20 */ blr diff --git a/asm/a/obj/d_a_obj_item/mode_water__8daItem_cFv.s b/asm/a/obj/d_a_obj_item/mode_water__8daItem_cFv.s deleted file mode 100644 index 79ec822924..0000000000 --- a/asm/a/obj/d_a_obj_item/mode_water__8daItem_cFv.s +++ /dev/null @@ -1,57 +0,0 @@ -lbl_8015CDCC: -/* 8015CDCC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8015CDD0 7C 08 02 A6 */ mflr r0 -/* 8015CDD4 90 01 00 14 */ stw r0, 0x14(r1) -/* 8015CDD8 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8015CDDC 7C 7F 1B 78 */ mr r31, r3 -/* 8015CDE0 38 7F 05 8C */ addi r3, r31, 0x58c -/* 8015CDE4 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8015CDE8 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8015CDEC 38 84 0F 38 */ addi r4, r4, 0xf38 -/* 8015CDF0 4B F1 9C BD */ bl CrrPos__9dBgS_AcchFR4dBgS -/* 8015CDF4 80 1F 05 B8 */ lwz r0, 0x5b8(r31) -/* 8015CDF8 54 00 05 29 */ rlwinm. r0, r0, 0, 0x14, 0x14 -/* 8015CDFC 41 82 00 14 */ beq lbl_8015CE10 -/* 8015CE00 C0 3F 07 58 */ lfs f1, 0x758(r31) -/* 8015CE04 C0 1F 04 D4 */ lfs f0, 0x4d4(r31) -/* 8015CE08 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 8015CE0C 40 80 00 10 */ bge lbl_8015CE1C -lbl_8015CE10: -/* 8015CE10 7F E3 FB 78 */ mr r3, r31 -/* 8015CE14 4B FF FE 39 */ bl mode_wait_init__8daItem_cFv -/* 8015CE18 48 00 00 08 */ b lbl_8015CE20 -lbl_8015CE1C: -/* 8015CE1C D0 3F 04 D4 */ stfs f1, 0x4d4(r31) -lbl_8015CE20: -/* 8015CE20 C0 22 9B 7C */ lfs f1, lit_4069(r2) -/* 8015CE24 88 1F 09 2A */ lbz r0, 0x92a(r31) -/* 8015CE28 2C 00 00 0E */ cmpwi r0, 0xe -/* 8015CE2C 40 80 00 1C */ bge lbl_8015CE48 -/* 8015CE30 2C 00 00 00 */ cmpwi r0, 0 -/* 8015CE34 41 82 00 24 */ beq lbl_8015CE58 -/* 8015CE38 41 80 00 24 */ blt lbl_8015CE5C -/* 8015CE3C 2C 00 00 07 */ cmpwi r0, 7 -/* 8015CE40 40 80 00 1C */ bge lbl_8015CE5C -/* 8015CE44 48 00 00 18 */ b lbl_8015CE5C -lbl_8015CE48: -/* 8015CE48 2C 00 00 12 */ cmpwi r0, 0x12 -/* 8015CE4C 41 82 00 10 */ beq lbl_8015CE5C -/* 8015CE50 40 80 00 0C */ bge lbl_8015CE5C -/* 8015CE54 48 00 00 08 */ b lbl_8015CE5C -lbl_8015CE58: -/* 8015CE58 C0 22 9B 70 */ lfs f1, lit_3923(r2) -lbl_8015CE5C: -/* 8015CE5C 38 7F 09 B8 */ addi r3, r31, 0x9b8 -/* 8015CE60 38 9F 04 D0 */ addi r4, r31, 0x4d0 -/* 8015CE64 C0 42 9B B8 */ lfs f2, lit_4781(r2) -/* 8015CE68 4B EC 02 A5 */ bl fopAcM_effHamonSet__FPUlPC4cXyzff -/* 8015CE6C 7F E3 FB 78 */ mr r3, r31 -/* 8015CE70 81 9F 05 68 */ lwz r12, 0x568(r31) -/* 8015CE74 81 8C 00 20 */ lwz r12, 0x20(r12) -/* 8015CE78 7D 89 03 A6 */ mtctr r12 -/* 8015CE7C 4E 80 04 21 */ bctrl -/* 8015CE80 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8015CE84 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8015CE88 7C 08 03 A6 */ mtlr r0 -/* 8015CE8C 38 21 00 10 */ addi r1, r1, 0x10 -/* 8015CE90 4E 80 00 20 */ blr diff --git a/asm/a/obj/d_a_obj_item/move_proc_call__8daItem_cFv.s b/asm/a/obj/d_a_obj_item/move_proc_call__8daItem_cFv.s deleted file mode 100644 index e9e2a07f9e..0000000000 --- a/asm/a/obj/d_a_obj_item/move_proc_call__8daItem_cFv.s +++ /dev/null @@ -1,109 +0,0 @@ -lbl_8015CAB8: -/* 8015CAB8 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8015CABC 7C 08 02 A6 */ mflr r0 -/* 8015CAC0 90 01 00 24 */ stw r0, 0x24(r1) -/* 8015CAC4 39 61 00 20 */ addi r11, r1, 0x20 -/* 8015CAC8 48 20 57 15 */ bl _savegpr_29 -/* 8015CACC 7C 7E 1B 78 */ mr r30, r3 -/* 8015CAD0 3C 60 80 3C */ lis r3, cNullVec__6Z2Calc@ha /* 0x803B9DA0@ha */ -/* 8015CAD4 3B E3 9D A0 */ addi r31, r3, cNullVec__6Z2Calc@l /* 0x803B9DA0@l */ -/* 8015CAD8 88 0D 8A 90 */ lbz r0, data_80451010(r13) -/* 8015CADC 7C 00 07 75 */ extsb. r0, r0 -/* 8015CAE0 40 82 00 40 */ bne lbl_8015CB20 -/* 8015CAE4 80 7F 00 0C */ lwz r3, 0xc(r31) -/* 8015CAE8 80 1F 00 10 */ lwz r0, 0x10(r31) -/* 8015CAEC 90 7F 00 24 */ stw r3, 0x24(r31) -/* 8015CAF0 90 1F 00 28 */ stw r0, 0x28(r31) -/* 8015CAF4 80 1F 00 14 */ lwz r0, 0x14(r31) -/* 8015CAF8 90 1F 00 2C */ stw r0, 0x2c(r31) -/* 8015CAFC 38 9F 00 24 */ addi r4, r31, 0x24 -/* 8015CB00 80 7F 00 18 */ lwz r3, 0x18(r31) -/* 8015CB04 80 1F 00 1C */ lwz r0, 0x1c(r31) -/* 8015CB08 90 64 00 0C */ stw r3, 0xc(r4) -/* 8015CB0C 90 04 00 10 */ stw r0, 0x10(r4) -/* 8015CB10 80 1F 00 20 */ lwz r0, 0x20(r31) -/* 8015CB14 90 04 00 14 */ stw r0, 0x14(r4) -/* 8015CB18 38 00 00 01 */ li r0, 1 -/* 8015CB1C 98 0D 8A 90 */ stb r0, data_80451010(r13) -lbl_8015CB20: -/* 8015CB20 88 1E 09 48 */ lbz r0, 0x948(r30) -/* 8015CB24 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d -/* 8015CB28 41 82 00 1C */ beq lbl_8015CB44 -/* 8015CB2C 7F C3 F3 78 */ mr r3, r30 -/* 8015CB30 81 9E 05 68 */ lwz r12, 0x568(r30) -/* 8015CB34 81 8C 00 20 */ lwz r12, 0x20(r12) -/* 8015CB38 7D 89 03 A6 */ mtctr r12 -/* 8015CB3C 4E 80 04 21 */ bctrl -/* 8015CB40 48 00 00 F4 */ b lbl_8015CC34 -lbl_8015CB44: -/* 8015CB44 3B A0 00 01 */ li r29, 1 -/* 8015CB48 80 7E 05 B8 */ lwz r3, 0x5b8(r30) -/* 8015CB4C 54 60 06 B5 */ rlwinm. r0, r3, 0, 0x1a, 0x1a -/* 8015CB50 41 82 00 7C */ beq lbl_8015CBCC -/* 8015CB54 54 60 06 31 */ rlwinm. r0, r3, 0, 0x18, 0x18 -/* 8015CB58 40 82 00 74 */ bne lbl_8015CBCC -/* 8015CB5C 54 60 06 F7 */ rlwinm. r0, r3, 0, 0x1b, 0x1b -/* 8015CB60 40 82 00 6C */ bne lbl_8015CBCC -/* 8015CB64 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8015CB68 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8015CB6C 38 63 0F 38 */ addi r3, r3, 0xf38 -/* 8015CB70 38 9E 06 7C */ addi r4, r30, 0x67c -/* 8015CB74 4B F1 7F CD */ bl ChkMoveBG_NoDABg__4dBgSFRC13cBgS_PolyInfo -/* 8015CB78 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 8015CB7C 40 82 00 50 */ bne lbl_8015CBCC -/* 8015CB80 38 7E 07 E0 */ addi r3, r30, 0x7e0 -/* 8015CB84 4B F2 7A D5 */ bl ChkCoHit__12dCcD_GObjInfFv -/* 8015CB88 28 03 00 00 */ cmplwi r3, 0 -/* 8015CB8C 40 82 00 40 */ bne lbl_8015CBCC -/* 8015CB90 38 7E 09 6C */ addi r3, r30, 0x96c -/* 8015CB94 38 9E 04 D0 */ addi r4, r30, 0x4d0 -/* 8015CB98 48 10 A4 95 */ bl __eq__4cXyzCFRC3Vec -/* 8015CB9C 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 8015CBA0 41 82 00 2C */ beq lbl_8015CBCC -/* 8015CBA4 80 1E 05 B8 */ lwz r0, 0x5b8(r30) -/* 8015CBA8 60 00 00 02 */ ori r0, r0, 2 -/* 8015CBAC 90 1E 05 B8 */ stw r0, 0x5b8(r30) -/* 8015CBB0 80 1E 05 B8 */ lwz r0, 0x5b8(r30) -/* 8015CBB4 60 00 00 08 */ ori r0, r0, 8 -/* 8015CBB8 90 1E 05 B8 */ stw r0, 0x5b8(r30) -/* 8015CBBC 38 7E 05 8C */ addi r3, r30, 0x58c -/* 8015CBC0 4B F1 A7 C9 */ bl SetMoveBGOnly__9dBgS_AcchFv -/* 8015CBC4 3B A0 00 00 */ li r29, 0 -/* 8015CBC8 48 00 00 24 */ b lbl_8015CBEC -lbl_8015CBCC: -/* 8015CBCC 80 1E 05 B8 */ lwz r0, 0x5b8(r30) -/* 8015CBD0 54 00 07 FA */ rlwinm r0, r0, 0, 0x1f, 0x1d -/* 8015CBD4 90 1E 05 B8 */ stw r0, 0x5b8(r30) -/* 8015CBD8 80 1E 05 B8 */ lwz r0, 0x5b8(r30) -/* 8015CBDC 54 00 07 76 */ rlwinm r0, r0, 0, 0x1d, 0x1b -/* 8015CBE0 90 1E 05 B8 */ stw r0, 0x5b8(r30) -/* 8015CBE4 38 7E 05 8C */ addi r3, r30, 0x58c -/* 8015CBE8 4B F1 A7 BD */ bl ClrMoveBGOnly__9dBgS_AcchFv -lbl_8015CBEC: -/* 8015CBEC 7F C3 F3 78 */ mr r3, r30 -/* 8015CBF0 48 00 08 21 */ bl checkYogan__8daItem_cFv -/* 8015CBF4 80 1E 04 9C */ lwz r0, 0x49c(r30) -/* 8015CBF8 54 00 02 D7 */ rlwinm. r0, r0, 0, 0xb, 0xb -/* 8015CBFC 41 82 00 08 */ beq lbl_8015CC04 -/* 8015CC00 3B A0 00 00 */ li r29, 0 -lbl_8015CC04: -/* 8015CC04 57 A0 06 3F */ clrlwi. r0, r29, 0x18 -/* 8015CC08 41 82 00 10 */ beq lbl_8015CC18 -/* 8015CC0C 7F C3 F3 78 */ mr r3, r30 -/* 8015CC10 38 9E 07 A4 */ addi r4, r30, 0x7a4 -/* 8015CC14 4B EB DA B9 */ bl fopAcM_posMoveF__FP10fopAc_ac_cPC4cXyz -lbl_8015CC18: -/* 8015CC18 7F C3 F3 78 */ mr r3, r30 -/* 8015CC1C 88 1E 09 49 */ lbz r0, 0x949(r30) -/* 8015CC20 1C 00 00 0C */ mulli r0, r0, 0xc -/* 8015CC24 39 9F 00 24 */ addi r12, r31, 0x24 -/* 8015CC28 7D 8C 02 14 */ add r12, r12, r0 -/* 8015CC2C 48 20 54 59 */ bl __ptmf_scall -/* 8015CC30 60 00 00 00 */ nop -lbl_8015CC34: -/* 8015CC34 39 61 00 20 */ addi r11, r1, 0x20 -/* 8015CC38 48 20 55 F1 */ bl _restgpr_29 -/* 8015CC3C 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8015CC40 7C 08 03 A6 */ mtlr r0 -/* 8015CC44 38 21 00 20 */ addi r1, r1, 0x20 -/* 8015CC48 4E 80 00 20 */ blr diff --git a/asm/a/obj/d_a_obj_item/procInitBoomerangCarry__8daItem_cFv.s b/asm/a/obj/d_a_obj_item/procInitBoomerangCarry__8daItem_cFv.s deleted file mode 100644 index 904d3040c6..0000000000 --- a/asm/a/obj/d_a_obj_item/procInitBoomerangCarry__8daItem_cFv.s +++ /dev/null @@ -1,63 +0,0 @@ -lbl_8015C41C: -/* 8015C41C 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8015C420 7C 08 02 A6 */ mflr r0 -/* 8015C424 90 01 00 24 */ stw r0, 0x24(r1) -/* 8015C428 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 8015C42C 93 C1 00 18 */ stw r30, 0x18(r1) -/* 8015C430 7C 7F 1B 78 */ mr r31, r3 -/* 8015C434 88 03 09 48 */ lbz r0, 0x948(r3) -/* 8015C438 54 00 07 B8 */ rlwinm r0, r0, 0, 0x1e, 0x1c -/* 8015C43C 98 03 09 48 */ stb r0, 0x948(r3) -/* 8015C440 C0 03 09 30 */ lfs f0, 0x930(r3) -/* 8015C444 D0 03 04 EC */ stfs f0, 0x4ec(r3) -/* 8015C448 C0 03 09 34 */ lfs f0, 0x934(r3) -/* 8015C44C D0 03 04 F0 */ stfs f0, 0x4f0(r3) -/* 8015C450 C0 03 09 38 */ lfs f0, 0x938(r3) -/* 8015C454 D0 03 04 F4 */ stfs f0, 0x4f4(r3) -/* 8015C458 38 7F 09 60 */ addi r3, r31, 0x960 -/* 8015C45C 38 9F 04 D0 */ addi r4, r31, 0x4d0 -/* 8015C460 48 00 21 51 */ bl initOffset__20daPy_boomerangMove_cFPC4cXyz -/* 8015C464 3C 60 80 3B */ lis r3, item_info__10dItem_data@ha /* 0x803AED78@ha */ -/* 8015C468 38 63 ED 78 */ addi r3, r3, item_info__10dItem_data@l /* 0x803AED78@l */ -/* 8015C46C 88 1F 09 2A */ lbz r0, 0x92a(r31) -/* 8015C470 54 00 10 3A */ slwi r0, r0, 2 -/* 8015C474 7C 63 02 14 */ add r3, r3, r0 -/* 8015C478 8B C3 00 01 */ lbz r30, 1(r3) -/* 8015C47C 88 03 00 02 */ lbz r0, 2(r3) -/* 8015C480 38 7F 09 04 */ addi r3, r31, 0x904 -/* 8015C484 C0 42 9B 9C */ lfs f2, lit_4506(r2) -/* 8015C488 C8 22 9B 88 */ lfd f1, lit_4072(r2) -/* 8015C48C 90 01 00 0C */ stw r0, 0xc(r1) -/* 8015C490 3C 00 43 30 */ lis r0, 0x4330 -/* 8015C494 90 01 00 08 */ stw r0, 8(r1) -/* 8015C498 C8 01 00 08 */ lfd f0, 8(r1) -/* 8015C49C EC 00 08 28 */ fsubs f0, f0, f1 -/* 8015C4A0 EC 22 00 32 */ fmuls f1, f2, f0 -/* 8015C4A4 48 11 2D 5D */ bl SetR__8cM3dGCylFf -/* 8015C4A8 38 7F 09 04 */ addi r3, r31, 0x904 -/* 8015C4AC C0 42 9B 9C */ lfs f2, lit_4506(r2) -/* 8015C4B0 57 C0 06 3E */ clrlwi r0, r30, 0x18 -/* 8015C4B4 C8 22 9B 88 */ lfd f1, lit_4072(r2) -/* 8015C4B8 90 01 00 14 */ stw r0, 0x14(r1) -/* 8015C4BC 3C 00 43 30 */ lis r0, 0x4330 -/* 8015C4C0 90 01 00 10 */ stw r0, 0x10(r1) -/* 8015C4C4 C8 01 00 10 */ lfd f0, 0x10(r1) -/* 8015C4C8 EC 00 08 28 */ fsubs f0, f0, f1 -/* 8015C4CC EC 22 00 32 */ fmuls f1, f2, f0 -/* 8015C4D0 48 11 2D 29 */ bl SetH__8cM3dGCylFf -/* 8015C4D4 80 1F 08 0C */ lwz r0, 0x80c(r31) -/* 8015C4D8 60 00 00 01 */ ori r0, r0, 1 -/* 8015C4DC 90 1F 08 0C */ stw r0, 0x80c(r31) -/* 8015C4E0 80 1F 05 B8 */ lwz r0, 0x5b8(r31) -/* 8015C4E4 54 00 07 FA */ rlwinm r0, r0, 0, 0x1f, 0x1d -/* 8015C4E8 90 1F 05 B8 */ stw r0, 0x5b8(r31) -/* 8015C4EC 38 7F 05 8C */ addi r3, r31, 0x58c -/* 8015C4F0 4B F1 AE B5 */ bl ClrMoveBGOnly__9dBgS_AcchFv -/* 8015C4F4 38 00 00 05 */ li r0, 5 -/* 8015C4F8 98 1F 09 4A */ stb r0, 0x94a(r31) -/* 8015C4FC 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 8015C500 83 C1 00 18 */ lwz r30, 0x18(r1) -/* 8015C504 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8015C508 7C 08 03 A6 */ mtlr r0 -/* 8015C50C 38 21 00 20 */ addi r1, r1, 0x20 -/* 8015C510 4E 80 00 20 */ blr diff --git a/asm/a/obj/d_a_obj_item/procInitSimpleGetDemo__8daItem_cFv.s b/asm/a/obj/d_a_obj_item/procInitSimpleGetDemo__8daItem_cFv.s deleted file mode 100644 index d7a846c690..0000000000 --- a/asm/a/obj/d_a_obj_item/procInitSimpleGetDemo__8daItem_cFv.s +++ /dev/null @@ -1,56 +0,0 @@ -lbl_8015C058: -/* 8015C058 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8015C05C 7C 08 02 A6 */ mflr r0 -/* 8015C060 90 01 00 24 */ stw r0, 0x24(r1) -/* 8015C064 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 8015C068 7C 7F 1B 78 */ mr r31, r3 -/* 8015C06C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8015C070 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8015C074 80 83 5D AC */ lwz r4, 0x5dac(r3) -/* 8015C078 38 61 00 08 */ addi r3, r1, 8 -/* 8015C07C 48 00 1F 5D */ bl getItemPos__9daPy_py_cCFv -/* 8015C080 C0 01 00 08 */ lfs f0, 8(r1) -/* 8015C084 D0 1F 04 D0 */ stfs f0, 0x4d0(r31) -/* 8015C088 C0 01 00 0C */ lfs f0, 0xc(r1) -/* 8015C08C D0 1F 04 D4 */ stfs f0, 0x4d4(r31) -/* 8015C090 C0 01 00 10 */ lfs f0, 0x10(r1) -/* 8015C094 D0 1F 04 D8 */ stfs f0, 0x4d8(r31) -/* 8015C098 C0 3F 04 D4 */ lfs f1, 0x4d4(r31) -/* 8015C09C C0 02 9B 98 */ lfs f0, lit_4404(r2) -/* 8015C0A0 EC 01 00 2A */ fadds f0, f1, f0 -/* 8015C0A4 D0 1F 04 D4 */ stfs f0, 0x4d4(r31) -/* 8015C0A8 38 00 00 00 */ li r0, 0 -/* 8015C0AC B0 1F 04 E8 */ sth r0, 0x4e8(r31) -/* 8015C0B0 B0 1F 04 E4 */ sth r0, 0x4e4(r31) -/* 8015C0B4 C0 1F 09 30 */ lfs f0, 0x930(r31) -/* 8015C0B8 D0 1F 04 EC */ stfs f0, 0x4ec(r31) -/* 8015C0BC C0 1F 09 34 */ lfs f0, 0x934(r31) -/* 8015C0C0 D0 1F 04 F0 */ stfs f0, 0x4f0(r31) -/* 8015C0C4 C0 1F 09 38 */ lfs f0, 0x938(r31) -/* 8015C0C8 D0 1F 04 F4 */ stfs f0, 0x4f4(r31) -/* 8015C0CC 7F E3 FB 78 */ mr r3, r31 -/* 8015C0D0 4B FF EF E9 */ bl getData__12daItemBase_cFv -/* 8015C0D4 C0 23 00 2C */ lfs f1, 0x2c(r3) -/* 8015C0D8 C0 02 9B 50 */ lfs f0, lit_3857(r2) -/* 8015C0DC D0 1F 04 F8 */ stfs f0, 0x4f8(r31) -/* 8015C0E0 D0 3F 04 FC */ stfs f1, 0x4fc(r31) -/* 8015C0E4 D0 1F 05 00 */ stfs f0, 0x500(r31) -/* 8015C0E8 7F E3 FB 78 */ mr r3, r31 -/* 8015C0EC 4B FF EF CD */ bl getData__12daItemBase_cFv -/* 8015C0F0 C0 03 00 30 */ lfs f0, 0x30(r3) -/* 8015C0F4 D0 1F 05 30 */ stfs f0, 0x530(r31) -/* 8015C0F8 7F E3 FB 78 */ mr r3, r31 -/* 8015C0FC 4B ED B9 79 */ bl show__12daItemBase_cFv -/* 8015C100 7F E3 FB 78 */ mr r3, r31 -/* 8015C104 4B FF EF B5 */ bl getData__12daItemBase_cFv -/* 8015C108 A8 03 00 34 */ lha r0, 0x34(r3) -/* 8015C10C B0 1F 09 46 */ sth r0, 0x946(r31) -/* 8015C110 3C 00 00 02 */ lis r0, 2 -/* 8015C114 90 1F 04 9C */ stw r0, 0x49c(r31) -/* 8015C118 38 00 00 02 */ li r0, 2 -/* 8015C11C 98 1F 09 4A */ stb r0, 0x94a(r31) -/* 8015C120 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 8015C124 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8015C128 7C 08 03 A6 */ mtlr r0 -/* 8015C12C 38 21 00 20 */ addi r1, r1, 0x20 -/* 8015C130 4E 80 00 20 */ blr diff --git a/asm/a/obj/d_a_obj_item/procMainBoomHitWait__8daItem_cFv.s b/asm/a/obj/d_a_obj_item/procMainBoomHitWait__8daItem_cFv.s deleted file mode 100644 index b5f9c0007a..0000000000 --- a/asm/a/obj/d_a_obj_item/procMainBoomHitWait__8daItem_cFv.s +++ /dev/null @@ -1,237 +0,0 @@ -lbl_8015C738: -/* 8015C738 94 21 FF A0 */ stwu r1, -0x60(r1) -/* 8015C73C 7C 08 02 A6 */ mflr r0 -/* 8015C740 90 01 00 64 */ stw r0, 0x64(r1) -/* 8015C744 93 E1 00 5C */ stw r31, 0x5c(r1) -/* 8015C748 93 C1 00 58 */ stw r30, 0x58(r1) -/* 8015C74C 7C 7F 1B 78 */ mr r31, r3 -/* 8015C750 38 00 00 00 */ li r0, 0 -/* 8015C754 B0 03 09 28 */ sth r0, 0x928(r3) -/* 8015C758 38 7F 07 E0 */ addi r3, r31, 0x7e0 -/* 8015C75C 4B F2 7D 05 */ bl ChkTgHit__12dCcD_GObjInfFv -/* 8015C760 28 03 00 00 */ cmplwi r3, 0 -/* 8015C764 41 82 00 B4 */ beq lbl_8015C818 -/* 8015C768 38 7F 07 E0 */ addi r3, r31, 0x7e0 -/* 8015C76C 4B F2 7D 8D */ bl GetTgHitObj__12dCcD_GObjInfFv -/* 8015C770 28 03 00 00 */ cmplwi r3, 0 -/* 8015C774 41 82 03 0C */ beq lbl_8015CA80 -/* 8015C778 80 63 00 10 */ lwz r3, 0x10(r3) -/* 8015C77C 54 60 03 DF */ rlwinm. r0, r3, 0, 0xf, 0xf -/* 8015C780 40 82 00 0C */ bne lbl_8015C78C -/* 8015C784 54 60 06 B5 */ rlwinm. r0, r3, 0, 0x1a, 0x1a -/* 8015C788 41 82 02 F8 */ beq lbl_8015CA80 -lbl_8015C78C: -/* 8015C78C 38 00 00 64 */ li r0, 0x64 -/* 8015C790 B0 1F 09 28 */ sth r0, 0x928(r31) -/* 8015C794 7F E3 FB 78 */ mr r3, r31 -/* 8015C798 4B ED B2 DD */ bl show__12daItemBase_cFv -/* 8015C79C 88 1F 09 48 */ lbz r0, 0x948(r31) -/* 8015C7A0 54 00 07 B8 */ rlwinm r0, r0, 0, 0x1e, 0x1c -/* 8015C7A4 98 1F 09 48 */ stb r0, 0x948(r31) -/* 8015C7A8 88 1F 09 48 */ lbz r0, 0x948(r31) -/* 8015C7AC 54 00 07 76 */ rlwinm r0, r0, 0, 0x1d, 0x1b -/* 8015C7B0 98 1F 09 48 */ stb r0, 0x948(r31) -/* 8015C7B4 88 1F 09 48 */ lbz r0, 0x948(r31) -/* 8015C7B8 60 00 00 02 */ ori r0, r0, 2 -/* 8015C7BC 98 1F 09 48 */ stb r0, 0x948(r31) -/* 8015C7C0 7F E3 FB 78 */ mr r3, r31 -/* 8015C7C4 38 80 00 01 */ li r4, 1 -/* 8015C7C8 48 00 14 79 */ bl initSpeed__8daItem_cFi -/* 8015C7CC 38 00 FF FF */ li r0, -1 -/* 8015C7D0 90 1F 08 08 */ stw r0, 0x808(r31) -/* 8015C7D4 3C 60 80 16 */ lis r3, itemGetCoCallBack__FP10fopAc_ac_cP12dCcD_GObjInfP10fopAc_ac_cP12dCcD_GObjInf@ha /* 0x8015B254@ha */ -/* 8015C7D8 38 03 B2 54 */ addi r0, r3, itemGetCoCallBack__FP10fopAc_ac_cP12dCcD_GObjInfP10fopAc_ac_cP12dCcD_GObjInf@l /* 0x8015B254@l */ -/* 8015C7DC 90 1F 08 D0 */ stw r0, 0x8d0(r31) -/* 8015C7E0 3C 60 80 16 */ lis r3, itemGetTgCallBack__FP10fopAc_ac_cP12dCcD_GObjInfP10fopAc_ac_cP12dCcD_GObjInf@ha /* 0x8015B320@ha */ -/* 8015C7E4 38 03 B3 20 */ addi r0, r3, itemGetTgCallBack__FP10fopAc_ac_cP12dCcD_GObjInfP10fopAc_ac_cP12dCcD_GObjInf@l /* 0x8015B320@l */ -/* 8015C7E8 90 1F 08 84 */ stw r0, 0x884(r31) -/* 8015C7EC 80 1F 08 0C */ lwz r0, 0x80c(r31) -/* 8015C7F0 60 00 00 01 */ ori r0, r0, 1 -/* 8015C7F4 90 1F 08 0C */ stw r0, 0x80c(r31) -/* 8015C7F8 80 1F 07 F8 */ lwz r0, 0x7f8(r31) -/* 8015C7FC 60 00 00 01 */ ori r0, r0, 1 -/* 8015C800 90 1F 07 F8 */ stw r0, 0x7f8(r31) -/* 8015C804 38 00 00 05 */ li r0, 5 -/* 8015C808 98 1F 09 5E */ stb r0, 0x95e(r31) -/* 8015C80C 7F E3 FB 78 */ mr r3, r31 -/* 8015C810 4B FF F6 51 */ bl procInitNormal__8daItem_cFv -/* 8015C814 48 00 02 6C */ b lbl_8015CA80 -lbl_8015C818: -/* 8015C818 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8015C81C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8015C820 83 C3 5D AC */ lwz r30, 0x5dac(r3) -/* 8015C824 7F C3 F3 78 */ mr r3, r30 -/* 8015C828 81 9E 06 28 */ lwz r12, 0x628(r30) -/* 8015C82C 81 8C 00 B4 */ lwz r12, 0xb4(r12) -/* 8015C830 7D 89 03 A6 */ mtctr r12 -/* 8015C834 4E 80 04 21 */ bctrl -/* 8015C838 2C 03 00 00 */ cmpwi r3, 0 -/* 8015C83C 41 82 02 44 */ beq lbl_8015CA80 -/* 8015C840 38 61 00 24 */ addi r3, r1, 0x24 -/* 8015C844 7F C4 F3 78 */ mr r4, r30 -/* 8015C848 48 00 17 AD */ bl getLeftHandPos__9daPy_py_cCFv -/* 8015C84C 38 61 00 18 */ addi r3, r1, 0x18 -/* 8015C850 38 81 00 24 */ addi r4, r1, 0x24 -/* 8015C854 38 BF 04 D0 */ addi r5, r31, 0x4d0 -/* 8015C858 48 10 A2 DD */ bl __mi__4cXyzCFRC3Vec -/* 8015C85C C0 01 00 18 */ lfs f0, 0x18(r1) -/* 8015C860 D0 01 00 3C */ stfs f0, 0x3c(r1) -/* 8015C864 C0 01 00 1C */ lfs f0, 0x1c(r1) -/* 8015C868 D0 01 00 40 */ stfs f0, 0x40(r1) -/* 8015C86C C0 01 00 20 */ lfs f0, 0x20(r1) -/* 8015C870 D0 01 00 44 */ stfs f0, 0x44(r1) -/* 8015C874 38 61 00 3C */ addi r3, r1, 0x3c -/* 8015C878 48 1E A8 C1 */ bl PSVECSquareMag -/* 8015C87C C0 02 9B 50 */ lfs f0, lit_3857(r2) -/* 8015C880 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 8015C884 40 81 00 58 */ ble lbl_8015C8DC -/* 8015C888 FC 00 08 34 */ frsqrte f0, f1 -/* 8015C88C C8 82 9B 58 */ lfd f4, lit_3858(r2) -/* 8015C890 FC 44 00 32 */ fmul f2, f4, f0 -/* 8015C894 C8 62 9B 60 */ lfd f3, lit_3859(r2) -/* 8015C898 FC 00 00 32 */ fmul f0, f0, f0 -/* 8015C89C FC 01 00 32 */ fmul f0, f1, f0 -/* 8015C8A0 FC 03 00 28 */ fsub f0, f3, f0 -/* 8015C8A4 FC 02 00 32 */ fmul f0, f2, f0 -/* 8015C8A8 FC 44 00 32 */ fmul f2, f4, f0 -/* 8015C8AC FC 00 00 32 */ fmul f0, f0, f0 -/* 8015C8B0 FC 01 00 32 */ fmul f0, f1, f0 -/* 8015C8B4 FC 03 00 28 */ fsub f0, f3, f0 -/* 8015C8B8 FC 02 00 32 */ fmul f0, f2, f0 -/* 8015C8BC FC 44 00 32 */ fmul f2, f4, f0 -/* 8015C8C0 FC 00 00 32 */ fmul f0, f0, f0 -/* 8015C8C4 FC 01 00 32 */ fmul f0, f1, f0 -/* 8015C8C8 FC 03 00 28 */ fsub f0, f3, f0 -/* 8015C8CC FC 02 00 32 */ fmul f0, f2, f0 -/* 8015C8D0 FC 21 00 32 */ fmul f1, f1, f0 -/* 8015C8D4 FC 20 08 18 */ frsp f1, f1 -/* 8015C8D8 48 00 00 88 */ b lbl_8015C960 -lbl_8015C8DC: -/* 8015C8DC C8 02 9B 68 */ lfd f0, lit_3860(r2) -/* 8015C8E0 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 8015C8E4 40 80 00 10 */ bge lbl_8015C8F4 -/* 8015C8E8 3C 60 80 45 */ lis r3, __float_nan@ha /* 0x80450AE0@ha */ -/* 8015C8EC C0 23 0A E0 */ lfs f1, __float_nan@l(r3) /* 0x80450AE0@l */ -/* 8015C8F0 48 00 00 70 */ b lbl_8015C960 -lbl_8015C8F4: -/* 8015C8F4 D0 21 00 08 */ stfs f1, 8(r1) -/* 8015C8F8 80 81 00 08 */ lwz r4, 8(r1) -/* 8015C8FC 54 83 00 50 */ rlwinm r3, r4, 0, 1, 8 -/* 8015C900 3C 00 7F 80 */ lis r0, 0x7f80 -/* 8015C904 7C 03 00 00 */ cmpw r3, r0 -/* 8015C908 41 82 00 14 */ beq lbl_8015C91C -/* 8015C90C 40 80 00 40 */ bge lbl_8015C94C -/* 8015C910 2C 03 00 00 */ cmpwi r3, 0 -/* 8015C914 41 82 00 20 */ beq lbl_8015C934 -/* 8015C918 48 00 00 34 */ b lbl_8015C94C -lbl_8015C91C: -/* 8015C91C 54 80 02 7F */ clrlwi. r0, r4, 9 -/* 8015C920 41 82 00 0C */ beq lbl_8015C92C -/* 8015C924 38 00 00 01 */ li r0, 1 -/* 8015C928 48 00 00 28 */ b lbl_8015C950 -lbl_8015C92C: -/* 8015C92C 38 00 00 02 */ li r0, 2 -/* 8015C930 48 00 00 20 */ b lbl_8015C950 -lbl_8015C934: -/* 8015C934 54 80 02 7F */ clrlwi. r0, r4, 9 -/* 8015C938 41 82 00 0C */ beq lbl_8015C944 -/* 8015C93C 38 00 00 05 */ li r0, 5 -/* 8015C940 48 00 00 10 */ b lbl_8015C950 -lbl_8015C944: -/* 8015C944 38 00 00 03 */ li r0, 3 -/* 8015C948 48 00 00 08 */ b lbl_8015C950 -lbl_8015C94C: -/* 8015C94C 38 00 00 04 */ li r0, 4 -lbl_8015C950: -/* 8015C950 2C 00 00 01 */ cmpwi r0, 1 -/* 8015C954 40 82 00 0C */ bne lbl_8015C960 -/* 8015C958 3C 60 80 45 */ lis r3, __float_nan@ha /* 0x80450AE0@ha */ -/* 8015C95C C0 23 0A E0 */ lfs f1, __float_nan@l(r3) /* 0x80450AE0@l */ -lbl_8015C960: -/* 8015C960 C0 02 9B A0 */ lfs f0, lit_4524(r2) -/* 8015C964 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 8015C968 40 80 01 18 */ bge lbl_8015CA80 -/* 8015C96C C0 02 9B 50 */ lfs f0, lit_3857(r2) -/* 8015C970 D0 01 00 30 */ stfs f0, 0x30(r1) -/* 8015C974 D0 01 00 34 */ stfs f0, 0x34(r1) -/* 8015C978 C0 02 9B A4 */ lfs f0, lit_4665(r2) -/* 8015C97C D0 01 00 38 */ stfs f0, 0x38(r1) -/* 8015C980 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */ -/* 8015C984 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */ -/* 8015C988 A8 9E 04 E6 */ lha r4, 0x4e6(r30) -/* 8015C98C 4B EA FA 51 */ bl mDoMtx_YrotS__FPA4_fs -/* 8015C990 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */ -/* 8015C994 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */ -/* 8015C998 38 81 00 30 */ addi r4, r1, 0x30 -/* 8015C99C 7C 85 23 78 */ mr r5, r4 -/* 8015C9A0 48 1E A3 CD */ bl PSMTXMultVec -/* 8015C9A4 38 61 00 0C */ addi r3, r1, 0xc -/* 8015C9A8 38 9E 04 D0 */ addi r4, r30, 0x4d0 -/* 8015C9AC 38 A1 00 30 */ addi r5, r1, 0x30 -/* 8015C9B0 48 10 A1 35 */ bl __pl__4cXyzCFRC3Vec -/* 8015C9B4 C0 01 00 0C */ lfs f0, 0xc(r1) -/* 8015C9B8 D0 1F 04 D0 */ stfs f0, 0x4d0(r31) -/* 8015C9BC C0 01 00 10 */ lfs f0, 0x10(r1) -/* 8015C9C0 D0 1F 04 D4 */ stfs f0, 0x4d4(r31) -/* 8015C9C4 C0 01 00 14 */ lfs f0, 0x14(r1) -/* 8015C9C8 D0 1F 04 D8 */ stfs f0, 0x4d8(r31) -/* 8015C9CC C0 22 9B A8 */ lfs f1, lit_4666(r2) -/* 8015C9D0 48 10 AF BD */ bl cM_rndFX__Ff -/* 8015C9D4 A8 1E 04 E6 */ lha r0, 0x4e6(r30) -/* 8015C9D8 C8 42 9B B0 */ lfd f2, lit_4668(r2) -/* 8015C9DC 6C 00 80 00 */ xoris r0, r0, 0x8000 -/* 8015C9E0 90 01 00 4C */ stw r0, 0x4c(r1) -/* 8015C9E4 3C 00 43 30 */ lis r0, 0x4330 -/* 8015C9E8 90 01 00 48 */ stw r0, 0x48(r1) -/* 8015C9EC C8 01 00 48 */ lfd f0, 0x48(r1) -/* 8015C9F0 EC 00 10 28 */ fsubs f0, f0, f2 -/* 8015C9F4 EC 00 08 2A */ fadds f0, f0, f1 -/* 8015C9F8 FC 00 00 1E */ fctiwz f0, f0 -/* 8015C9FC D8 01 00 50 */ stfd f0, 0x50(r1) -/* 8015CA00 80 01 00 54 */ lwz r0, 0x54(r1) -/* 8015CA04 B0 1F 04 DE */ sth r0, 0x4de(r31) -/* 8015CA08 7F E3 FB 78 */ mr r3, r31 -/* 8015CA0C 4B ED B0 69 */ bl show__12daItemBase_cFv -/* 8015CA10 88 1F 09 48 */ lbz r0, 0x948(r31) -/* 8015CA14 54 00 07 B8 */ rlwinm r0, r0, 0, 0x1e, 0x1c -/* 8015CA18 98 1F 09 48 */ stb r0, 0x948(r31) -/* 8015CA1C 88 1F 09 48 */ lbz r0, 0x948(r31) -/* 8015CA20 54 00 07 76 */ rlwinm r0, r0, 0, 0x1d, 0x1b -/* 8015CA24 98 1F 09 48 */ stb r0, 0x948(r31) -/* 8015CA28 88 1F 09 48 */ lbz r0, 0x948(r31) -/* 8015CA2C 60 00 00 02 */ ori r0, r0, 2 -/* 8015CA30 98 1F 09 48 */ stb r0, 0x948(r31) -/* 8015CA34 7F E3 FB 78 */ mr r3, r31 -/* 8015CA38 38 80 00 01 */ li r4, 1 -/* 8015CA3C 48 00 12 05 */ bl initSpeed__8daItem_cFi -/* 8015CA40 38 00 FF FF */ li r0, -1 -/* 8015CA44 90 1F 08 08 */ stw r0, 0x808(r31) -/* 8015CA48 3C 60 80 16 */ lis r3, itemGetCoCallBack__FP10fopAc_ac_cP12dCcD_GObjInfP10fopAc_ac_cP12dCcD_GObjInf@ha /* 0x8015B254@ha */ -/* 8015CA4C 38 03 B2 54 */ addi r0, r3, itemGetCoCallBack__FP10fopAc_ac_cP12dCcD_GObjInfP10fopAc_ac_cP12dCcD_GObjInf@l /* 0x8015B254@l */ -/* 8015CA50 90 1F 08 D0 */ stw r0, 0x8d0(r31) -/* 8015CA54 3C 60 80 16 */ lis r3, itemGetTgCallBack__FP10fopAc_ac_cP12dCcD_GObjInfP10fopAc_ac_cP12dCcD_GObjInf@ha /* 0x8015B320@ha */ -/* 8015CA58 38 03 B3 20 */ addi r0, r3, itemGetTgCallBack__FP10fopAc_ac_cP12dCcD_GObjInfP10fopAc_ac_cP12dCcD_GObjInf@l /* 0x8015B320@l */ -/* 8015CA5C 90 1F 08 84 */ stw r0, 0x884(r31) -/* 8015CA60 80 1F 08 0C */ lwz r0, 0x80c(r31) -/* 8015CA64 60 00 00 01 */ ori r0, r0, 1 -/* 8015CA68 90 1F 08 0C */ stw r0, 0x80c(r31) -/* 8015CA6C 80 1F 07 F8 */ lwz r0, 0x7f8(r31) -/* 8015CA70 60 00 00 01 */ ori r0, r0, 1 -/* 8015CA74 90 1F 07 F8 */ stw r0, 0x7f8(r31) -/* 8015CA78 7F E3 FB 78 */ mr r3, r31 -/* 8015CA7C 4B FF F3 E5 */ bl procInitNormal__8daItem_cFv -lbl_8015CA80: -/* 8015CA80 38 7F 09 04 */ addi r3, r31, 0x904 -/* 8015CA84 38 9F 04 D0 */ addi r4, r31, 0x4d0 -/* 8015CA88 48 11 27 55 */ bl SetC__8cM3dGCylFRC4cXyz -/* 8015CA8C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8015CA90 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8015CA94 38 63 23 3C */ addi r3, r3, 0x233c -/* 8015CA98 38 9F 07 E0 */ addi r4, r31, 0x7e0 -/* 8015CA9C 48 10 81 0D */ bl Set__4cCcSFP8cCcD_Obj -/* 8015CAA0 83 E1 00 5C */ lwz r31, 0x5c(r1) -/* 8015CAA4 83 C1 00 58 */ lwz r30, 0x58(r1) -/* 8015CAA8 80 01 00 64 */ lwz r0, 0x64(r1) -/* 8015CAAC 7C 08 03 A6 */ mtlr r0 -/* 8015CAB0 38 21 00 60 */ addi r1, r1, 0x60 -/* 8015CAB4 4E 80 00 20 */ blr diff --git a/asm/a/obj/d_a_obj_item/procMainBoomerangCarry__8daItem_cFv.s b/asm/a/obj/d_a_obj_item/procMainBoomerangCarry__8daItem_cFv.s deleted file mode 100644 index a19f74d1fc..0000000000 --- a/asm/a/obj/d_a_obj_item/procMainBoomerangCarry__8daItem_cFv.s +++ /dev/null @@ -1,59 +0,0 @@ -lbl_8015C514: -/* 8015C514 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8015C518 7C 08 02 A6 */ mflr r0 -/* 8015C51C 90 01 00 24 */ stw r0, 0x24(r1) -/* 8015C520 39 61 00 20 */ addi r11, r1, 0x20 -/* 8015C524 48 20 5C B9 */ bl _savegpr_29 -/* 8015C528 7C 7D 1B 78 */ mr r29, r3 -/* 8015C52C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8015C530 3B E3 61 C0 */ addi r31, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8015C534 83 DF 5D AC */ lwz r30, 0x5dac(r31) -/* 8015C538 38 7D 09 60 */ addi r3, r29, 0x960 -/* 8015C53C 38 9D 04 D0 */ addi r4, r29, 0x4d0 -/* 8015C540 38 BD 04 E6 */ addi r5, r29, 0x4e6 -/* 8015C544 38 C0 00 00 */ li r6, 0 -/* 8015C548 38 E0 1C 00 */ li r7, 0x1c00 -/* 8015C54C 48 00 21 09 */ bl posMove__20daPy_boomerangMove_cFP4cXyzPsP10fopAc_ac_cs -/* 8015C550 2C 03 00 00 */ cmpwi r3, 0 -/* 8015C554 40 82 00 48 */ bne lbl_8015C59C -/* 8015C558 7F A3 EB 78 */ mr r3, r29 -/* 8015C55C 80 9F 5D AC */ lwz r4, 0x5dac(r31) -/* 8015C560 4B EB E2 81 */ bl fopAcM_searchActorDistance__FPC10fopAc_ac_cPC10fopAc_ac_c -/* 8015C564 C0 02 9B A0 */ lfs f0, lit_4524(r2) -/* 8015C568 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 8015C56C 40 80 00 28 */ bge lbl_8015C594 -/* 8015C570 38 7D 04 D0 */ addi r3, r29, 0x4d0 -/* 8015C574 38 9E 04 D0 */ addi r4, r30, 0x4d0 -/* 8015C578 7F A5 EB 78 */ mr r5, r29 -/* 8015C57C 4B EC 16 ED */ bl lineCheck__11fopAcM_lc_cFPC4cXyzPC4cXyzPC10fopAc_ac_c -/* 8015C580 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 8015C584 40 82 00 10 */ bne lbl_8015C594 -/* 8015C588 7F A3 EB 78 */ mr r3, r29 -/* 8015C58C 48 00 09 61 */ bl itemGetNextExecute__8daItem_cFv -/* 8015C590 48 00 00 0C */ b lbl_8015C59C -lbl_8015C594: -/* 8015C594 7F A3 EB 78 */ mr r3, r29 -/* 8015C598 4B FF F8 C9 */ bl procInitNormal__8daItem_cFv -lbl_8015C59C: -/* 8015C59C 38 7D 05 8C */ addi r3, r29, 0x58c -/* 8015C5A0 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8015C5A4 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8015C5A8 38 84 0F 38 */ addi r4, r4, 0xf38 -/* 8015C5AC 4B F1 A5 01 */ bl CrrPos__9dBgS_AcchFR4dBgS -/* 8015C5B0 38 7D 09 60 */ addi r3, r29, 0x960 -/* 8015C5B4 38 9D 04 D0 */ addi r4, r29, 0x4d0 -/* 8015C5B8 48 00 22 C5 */ bl bgCheckAfterOffset__20daPy_boomerangMove_cFPC4cXyz -/* 8015C5BC 38 7D 09 04 */ addi r3, r29, 0x904 -/* 8015C5C0 38 9D 04 D0 */ addi r4, r29, 0x4d0 -/* 8015C5C4 48 11 2C 19 */ bl SetC__8cM3dGCylFRC4cXyz -/* 8015C5C8 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8015C5CC 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8015C5D0 38 63 23 3C */ addi r3, r3, 0x233c -/* 8015C5D4 38 9D 07 E0 */ addi r4, r29, 0x7e0 -/* 8015C5D8 48 10 85 D1 */ bl Set__4cCcSFP8cCcD_Obj -/* 8015C5DC 39 61 00 20 */ addi r11, r1, 0x20 -/* 8015C5E0 48 20 5C 49 */ bl _restgpr_29 -/* 8015C5E4 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8015C5E8 7C 08 03 A6 */ mtlr r0 -/* 8015C5EC 38 21 00 20 */ addi r1, r1, 0x20 -/* 8015C5F0 4E 80 00 20 */ blr diff --git a/asm/a/obj/d_a_obj_item/procMainSimpleGetDemo__8daItem_cFv.s b/asm/a/obj/d_a_obj_item/procMainSimpleGetDemo__8daItem_cFv.s deleted file mode 100644 index e9b9522598..0000000000 --- a/asm/a/obj/d_a_obj_item/procMainSimpleGetDemo__8daItem_cFv.s +++ /dev/null @@ -1,54 +0,0 @@ -lbl_8015C134: -/* 8015C134 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 8015C138 7C 08 02 A6 */ mflr r0 -/* 8015C13C 90 01 00 34 */ stw r0, 0x34(r1) -/* 8015C140 93 E1 00 2C */ stw r31, 0x2c(r1) -/* 8015C144 7C 7F 1B 78 */ mr r31, r3 -/* 8015C148 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8015C14C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8015C150 80 83 5D AC */ lwz r4, 0x5dac(r3) -/* 8015C154 38 61 00 08 */ addi r3, r1, 8 -/* 8015C158 48 00 1E 81 */ bl getItemPos__9daPy_py_cCFv -/* 8015C15C C0 61 00 08 */ lfs f3, 8(r1) -/* 8015C160 D0 61 00 14 */ stfs f3, 0x14(r1) -/* 8015C164 C0 41 00 0C */ lfs f2, 0xc(r1) -/* 8015C168 D0 41 00 18 */ stfs f2, 0x18(r1) -/* 8015C16C C0 21 00 10 */ lfs f1, 0x10(r1) -/* 8015C170 D0 21 00 1C */ stfs f1, 0x1c(r1) -/* 8015C174 C0 02 9B 98 */ lfs f0, lit_4404(r2) -/* 8015C178 EC 02 00 2A */ fadds f0, f2, f0 -/* 8015C17C D0 01 00 18 */ stfs f0, 0x18(r1) -/* 8015C180 D0 7F 04 D0 */ stfs f3, 0x4d0(r31) -/* 8015C184 D0 3F 04 D8 */ stfs f1, 0x4d8(r31) -/* 8015C188 7F E3 FB 78 */ mr r3, r31 -/* 8015C18C 38 80 00 00 */ li r4, 0 -/* 8015C190 4B EB E5 3D */ bl fopAcM_posMoveF__FP10fopAc_ac_cPC4cXyz -/* 8015C194 C0 1F 04 D4 */ lfs f0, 0x4d4(r31) -/* 8015C198 C0 21 00 18 */ lfs f1, 0x18(r1) -/* 8015C19C FC 00 08 40 */ fcmpo cr0, f0, f1 -/* 8015C1A0 40 80 00 08 */ bge lbl_8015C1A8 -/* 8015C1A4 D0 3F 04 D4 */ stfs f1, 0x4d4(r31) -lbl_8015C1A8: -/* 8015C1A8 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8015C1AC 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8015C1B0 80 63 5D 74 */ lwz r3, 0x5d74(r3) -/* 8015C1B4 A8 03 02 30 */ lha r0, 0x230(r3) -/* 8015C1B8 B0 1F 04 E4 */ sth r0, 0x4e4(r31) -/* 8015C1BC A8 03 02 32 */ lha r0, 0x232(r3) -/* 8015C1C0 B0 1F 04 E6 */ sth r0, 0x4e6(r31) -/* 8015C1C4 A8 03 02 34 */ lha r0, 0x234(r3) -/* 8015C1C8 B0 1F 04 E8 */ sth r0, 0x4e8(r31) -/* 8015C1CC A8 7F 09 46 */ lha r3, 0x946(r31) -/* 8015C1D0 38 03 FF FF */ addi r0, r3, -1 -/* 8015C1D4 B0 1F 09 46 */ sth r0, 0x946(r31) -/* 8015C1D8 A8 1F 09 46 */ lha r0, 0x946(r31) -/* 8015C1DC 2C 00 00 00 */ cmpwi r0, 0 -/* 8015C1E0 40 80 00 0C */ bge lbl_8015C1EC -/* 8015C1E4 7F E3 FB 78 */ mr r3, r31 -/* 8015C1E8 4B EB DA 95 */ bl fopAcM_delete__FP10fopAc_ac_c -lbl_8015C1EC: -/* 8015C1EC 83 E1 00 2C */ lwz r31, 0x2c(r1) -/* 8015C1F0 80 01 00 34 */ lwz r0, 0x34(r1) -/* 8015C1F4 7C 08 03 A6 */ mtlr r0 -/* 8015C1F8 38 21 00 30 */ addi r1, r1, 0x30 -/* 8015C1FC 4E 80 00 20 */ blr diff --git a/asm/a/obj/d_a_obj_item/setBaseMtx_1__8daItem_cFv.s b/asm/a/obj/d_a_obj_item/setBaseMtx_1__8daItem_cFv.s deleted file mode 100644 index 7b7df0b82e..0000000000 --- a/asm/a/obj/d_a_obj_item/setBaseMtx_1__8daItem_cFv.s +++ /dev/null @@ -1,36 +0,0 @@ -lbl_8015B1C8: -/* 8015B1C8 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8015B1CC 7C 08 02 A6 */ mflr r0 -/* 8015B1D0 90 01 00 24 */ stw r0, 0x24(r1) -/* 8015B1D4 DB E1 00 10 */ stfd f31, 0x10(r1) -/* 8015B1D8 F3 E1 00 18 */ psq_st f31, 24(r1), 0, 0 /* qr0 */ -/* 8015B1DC 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8015B1E0 7C 7F 1B 78 */ mr r31, r3 -/* 8015B1E4 80 63 05 74 */ lwz r3, 0x574(r3) -/* 8015B1E8 80 63 00 04 */ lwz r3, 4(r3) -/* 8015B1EC 80 63 00 28 */ lwz r3, 0x28(r3) -/* 8015B1F0 80 63 00 00 */ lwz r3, 0(r3) -/* 8015B1F4 C0 23 00 4C */ lfs f1, 0x4c(r3) -/* 8015B1F8 C0 02 9B 70 */ lfs f0, lit_3923(r2) -/* 8015B1FC EC 21 00 32 */ fmuls f1, f1, f0 -/* 8015B200 C0 1F 04 F0 */ lfs f0, 0x4f0(r31) -/* 8015B204 EF E1 00 32 */ fmuls f31, f1, f0 -/* 8015B208 38 7F 04 D0 */ addi r3, r31, 0x4d0 -/* 8015B20C 4B EB 1B 59 */ bl transS__14mDoMtx_stack_cFRC4cXyz -/* 8015B210 C0 22 9B 50 */ lfs f1, lit_3857(r2) -/* 8015B214 FC 40 F8 90 */ fmr f2, f31 -/* 8015B218 FC 60 08 90 */ fmr f3, f1 -/* 8015B21C 4B EB 1B 81 */ bl transM__14mDoMtx_stack_cFfff -/* 8015B220 38 7F 04 E4 */ addi r3, r31, 0x4e4 -/* 8015B224 4B EB 1D 21 */ bl ZXYrotM__14mDoMtx_stack_cFRC5csXyz -/* 8015B228 C0 22 9B 50 */ lfs f1, lit_3857(r2) -/* 8015B22C FC 40 F8 50 */ fneg f2, f31 -/* 8015B230 FC 60 08 90 */ fmr f3, f1 -/* 8015B234 4B EB 1B 69 */ bl transM__14mDoMtx_stack_cFfff -/* 8015B238 E3 E1 00 18 */ psq_l f31, 24(r1), 0, 0 /* qr0 */ -/* 8015B23C CB E1 00 10 */ lfd f31, 0x10(r1) -/* 8015B240 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8015B244 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8015B248 7C 08 03 A6 */ mtlr r0 -/* 8015B24C 38 21 00 20 */ addi r1, r1, 0x20 -/* 8015B250 4E 80 00 20 */ blr diff --git a/asm/a/obj/d_a_obj_item/set_bound_se__8daItem_cFv.s b/asm/a/obj/d_a_obj_item/set_bound_se__8daItem_cFv.s deleted file mode 100644 index ac3a6c5a09..0000000000 --- a/asm/a/obj/d_a_obj_item/set_bound_se__8daItem_cFv.s +++ /dev/null @@ -1,81 +0,0 @@ -lbl_8015D834: -/* 8015D834 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8015D838 7C 08 02 A6 */ mflr r0 -/* 8015D83C 90 01 00 24 */ stw r0, 0x24(r1) -/* 8015D840 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 8015D844 93 C1 00 18 */ stw r30, 0x18(r1) -/* 8015D848 7C 7E 1B 78 */ mr r30, r3 -/* 8015D84C A8 03 09 28 */ lha r0, 0x928(r3) -/* 8015D850 2C 00 00 0A */ cmpwi r0, 0xa -/* 8015D854 41 80 00 F0 */ blt lbl_8015D944 -/* 8015D858 C0 1E 09 54 */ lfs f0, 0x954(r30) -/* 8015D85C FC 00 02 10 */ fabs f0, f0 -/* 8015D860 FC 20 00 18 */ frsp f1, f0 -/* 8015D864 C0 02 9B 9C */ lfs f0, lit_4506(r2) -/* 8015D868 EC 20 00 72 */ fmuls f1, f0, f1 -/* 8015D86C 48 20 48 41 */ bl __cvt_fp2unsigned -/* 8015D870 7C 7F 1B 78 */ mr r31, r3 -/* 8015D874 28 1F 00 64 */ cmplwi r31, 0x64 -/* 8015D878 40 81 00 08 */ ble lbl_8015D880 -/* 8015D87C 3B E0 00 64 */ li r31, 0x64 -lbl_8015D880: -/* 8015D880 88 1E 09 2A */ lbz r0, 0x92a(r30) -/* 8015D884 2C 00 00 12 */ cmpwi r0, 0x12 -/* 8015D888 40 80 00 24 */ bge lbl_8015D8AC -/* 8015D88C 2C 00 00 07 */ cmpwi r0, 7 -/* 8015D890 40 80 00 10 */ bge lbl_8015D8A0 -/* 8015D894 2C 00 00 01 */ cmpwi r0, 1 -/* 8015D898 40 80 00 20 */ bge lbl_8015D8B8 -/* 8015D89C 48 00 00 A8 */ b lbl_8015D944 -lbl_8015D8A0: -/* 8015D8A0 2C 00 00 0E */ cmpwi r0, 0xe -/* 8015D8A4 40 80 00 5C */ bge lbl_8015D900 -/* 8015D8A8 48 00 00 9C */ b lbl_8015D944 -lbl_8015D8AC: -/* 8015D8AC 2C 00 00 53 */ cmpwi r0, 0x53 -/* 8015D8B0 41 82 00 50 */ beq lbl_8015D900 -/* 8015D8B4 48 00 00 90 */ b lbl_8015D944 -lbl_8015D8B8: -/* 8015D8B8 88 1E 04 E2 */ lbz r0, 0x4e2(r30) -/* 8015D8BC 7C 03 07 74 */ extsb r3, r0 -/* 8015D8C0 4B EC F7 AD */ bl dComIfGp_getReverb__Fi -/* 8015D8C4 7C 67 1B 78 */ mr r7, r3 -/* 8015D8C8 3C 60 00 08 */ lis r3, 0x0008 /* 0x00080083@ha */ -/* 8015D8CC 38 03 00 83 */ addi r0, r3, 0x0083 /* 0x00080083@l */ -/* 8015D8D0 90 01 00 0C */ stw r0, 0xc(r1) -/* 8015D8D4 80 6D 8D E8 */ lwz r3, mAudioMgrPtr__10Z2AudioMgr(r13) -/* 8015D8D8 38 81 00 0C */ addi r4, r1, 0xc -/* 8015D8DC 38 BE 05 38 */ addi r5, r30, 0x538 -/* 8015D8E0 7F E6 FB 78 */ mr r6, r31 -/* 8015D8E4 C0 22 9B 7C */ lfs f1, lit_4069(r2) -/* 8015D8E8 FC 40 08 90 */ fmr f2, f1 -/* 8015D8EC C0 62 9B BC */ lfs f3, lit_4923(r2) -/* 8015D8F0 FC 80 18 90 */ fmr f4, f3 -/* 8015D8F4 39 00 00 00 */ li r8, 0 -/* 8015D8F8 48 14 E0 8D */ bl seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc -/* 8015D8FC 48 00 00 48 */ b lbl_8015D944 -lbl_8015D900: -/* 8015D900 88 1E 04 E2 */ lbz r0, 0x4e2(r30) -/* 8015D904 7C 03 07 74 */ extsb r3, r0 -/* 8015D908 4B EC F7 65 */ bl dComIfGp_getReverb__Fi -/* 8015D90C 7C 67 1B 78 */ mr r7, r3 -/* 8015D910 3C 60 00 08 */ lis r3, 0x0008 /* 0x00080085@ha */ -/* 8015D914 38 03 00 85 */ addi r0, r3, 0x0085 /* 0x00080085@l */ -/* 8015D918 90 01 00 08 */ stw r0, 8(r1) -/* 8015D91C 80 6D 8D E8 */ lwz r3, mAudioMgrPtr__10Z2AudioMgr(r13) -/* 8015D920 38 81 00 08 */ addi r4, r1, 8 -/* 8015D924 38 BE 05 38 */ addi r5, r30, 0x538 -/* 8015D928 7F E6 FB 78 */ mr r6, r31 -/* 8015D92C C0 22 9B 7C */ lfs f1, lit_4069(r2) -/* 8015D930 FC 40 08 90 */ fmr f2, f1 -/* 8015D934 C0 62 9B BC */ lfs f3, lit_4923(r2) -/* 8015D938 FC 80 18 90 */ fmr f4, f3 -/* 8015D93C 39 00 00 00 */ li r8, 0 -/* 8015D940 48 14 E0 45 */ bl seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc -lbl_8015D944: -/* 8015D944 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 8015D948 83 C1 00 18 */ lwz r30, 0x18(r1) -/* 8015D94C 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8015D950 7C 08 03 A6 */ mtlr r0 -/* 8015D954 38 21 00 20 */ addi r1, r1, 0x20 -/* 8015D958 4E 80 00 20 */ blr diff --git a/include/d/a/d_a_item_static.h b/include/d/a/d_a_item_static.h index d4d206fb2c..3748cd8e65 100644 --- a/include/d/a/d_a_item_static.h +++ b/include/d/a/d_a_item_static.h @@ -4,13 +4,52 @@ #include "SSystem/SComponent/c_lib.h" #include "d/a/d_a_itembase.h" #include "d/particle/d_particle.h" +#include "d/a/d_a_player.h" class daItem_c; typedef void (daItem_c::*procFunc)(); class daItem_c : public daItemBase_c { public: - daItem_c() : field_0x998(0, 0) {} + enum Type_e { + TYPE_LAUNCH_e, + TYPE_FIXED_PLACE_e, + TYPE_UNK2_e, + TYPE_WAIT_e, + TYPE_SIMPLE_GET_e, + TYPE_BOOM_HIT_e, + TYPE_LAUNCH_NO_RND_e, + TYPE_FORCE_GET_e, + TYPE_LAUNCH_SMALL_e, + TYPE_LAUNCH_FROM_PLAYER_e, + }; + + enum Flag_e { + FLAG_UNK_2_e = (1 << 1), + FLAG_NO_MOVE_e = (1 << 2), + FLAG_NO_TIMER_e = (1 << 3), + FLAG_INIT_GET_ITEM_e = (1 << 4), + FLAG_DELETE_ITEM_e = (1 << 5), + }; + + enum Mode_e { + MODE_WAIT_e, + MODE_WATER_e, + }; + + enum Status_e { + STATUS_NORMAL_e, + STATUS_ENEMY_CARRY_e, + STATUS_SIMPLE_GET_DEMO_e, + STATUS_WAIT_GET_DEMO_EVENT_e, + STATUS_GET_DEMO_EVENT_e, + STATUS_BOOMERANG_CARRY_e, + STATUS_SW_ON_WAIT_e, + STATUS_BOOM_HIT_WAIT_e, + STATUS_FORCE_GET_e, + }; + + daItem_c() : mSparkleEmtr(0, 0) {} /* 8015B0C4 */ void initBaseMtx(); /* 8015B108 */ void setBaseMtx(); /* 8015B190 */ void setBaseMtx_0(); @@ -45,13 +84,13 @@ public: /* 8015CEEC */ void itemGetNextExecute(); /* 8015D0A8 */ void itemGet(); /* 8015D370 */ BOOL checkCountTimer(); - /* 8015D3CC */ bool checkPlayerGet(); + /* 8015D3CC */ BOOL checkPlayerGet(); /* 8015D410 */ void checkYogan(); /* 8015D480 */ void deleteItem(); /* 8015D4AC */ int itemActionForRupee(); - /* 8015D56C */ void itemActionForHeart(); - /* 8015D688 */ void itemActionForArrow(); - /* 8015D700 */ void itemActionForBoomerang(); + /* 8015D56C */ int itemActionForHeart(); + /* 8015D688 */ int itemActionForArrow(); + /* 8015D700 */ int itemActionForBoomerang(); /* 8015D734 */ void bg_check(); /* 8015D834 */ void set_bound_se(); /* 8015D95C */ int CountTimer(); @@ -65,80 +104,43 @@ public: u32 endControl(); /* 8015CE94 */ virtual void setTevStr(); - virtual void unk0() = 0; - virtual void unk1() = 0; - virtual void unk2() = 0; - virtual void unk3() = 0; - virtual void unk4() = 0; - virtual void unk5() = 0; - virtual void unk6() = 0; - virtual void unk7() = 0; - virtual void unk8() = 0; - virtual void unk9() = 0; - virtual void unk10() = 0; - virtual void unk11() = 0; - virtual void unk12() = 0; - virtual void unk13() = 0; - virtual void unk14() = 0; - virtual void unk15() = 0; - virtual void unk16() = 0; - virtual void unk17() = 0; - virtual void unk18() = 0; - virtual void unk19() = 0; - virtual void unk20() = 0; - virtual void unk21() = 0; - virtual void unk22() = 0; - virtual void unk23() = 0; - virtual void unk24() = 0; - virtual void unk25() = 0; - virtual void unk26() = 0; - virtual void unk27() = 0; - virtual void unk28() = 0; - virtual void unk29() = 0; - virtual void unk30() = 0; - virtual void unk31() = 0; - virtual void unk32() = 0; - virtual void unk33() = 0; - virtual void unk34() = 0; - virtual void unk35() = 0; + + void setStatus(u8 status) { mStatus = status; } + int getStatus() { return mStatus; } void setFlag(u8 pFlag) { cLib_onBit(mFlag, pFlag); } - void setStatus(u8 status) { mStatus = status; } - u8 getStatus() { return mStatus; } bool checkFlag(u8 flag) { return cLib_checkBit(mFlag, flag); } void clrFlag(u8 flag) { cLib_offBit(mFlag, flag); } -#ifdef NONMATCHING - static procFunc mFuncPtr[9]; -#else - static u8 mFuncPtr[120]; -#endif + bool checkBoomWindTgTimer() { return mBoomWindTgTimer == 0; } + + static procFunc mFuncPtr[]; static dCcD_SrcCyl m_cyl_src; static s32 m_timer_max; /* 0x92C */ s16 field_0x92c; /* 0x92E */ u16 field_0x92e; - /* 0x930 */ cXyz field_0x930; - /* 0x93C */ int field_0x93c; + /* 0x930 */ cXyz mItemScale; + /* 0x93C */ int mSwitchNo; /* 0x940 */ u16 field_0x940; - /* 0x942 */ s16 field_0x942; - /* 0x944 */ s16 field_0x944; - /* 0x946 */ s16 field_0x946; + /* 0x942 */ s16 mWaitTimer; + /* 0x944 */ s16 mDisappearTimer; + /* 0x946 */ s16 mSimpleExistTimer; /* 0x948 */ u8 mFlag; - /* 0x949 */ u8 field_0x949; + /* 0x949 */ u8 mMode; /* 0x94A */ u8 mStatus; /* 0x94B */ u8 field_0x94b; /* 0x94C */ u32 m_item_id; /* 0x950 */ cXyz field_0x950; - /* 0x95C */ u8 field_0x95c; + /* 0x95C */ u8 mSwOnWaitTimer; /* 0x95D */ bool field_0x95d; /* 0x95E */ u8 mBoomWindTgTimer; /* 0x95F */ u8 field_0x95f; - /* 0x960 */ u8 field_0x960[0xC]; - /* 0x96C */ cXyz field_0x96c; - /* 0x978 */ Z2SoundObjSimple field_0x978; - /* 0x998 */ dPa_followEcallBack field_0x998; - /* 0x9AC */ cXyz field_0x9ac; + /* 0x960 */ daPy_boomerangMove_c mBoomerangMove; + /* 0x96C */ cXyz mLastPos; + /* 0x978 */ Z2SoundObjSimple mSound; + /* 0x998 */ dPa_followEcallBack mSparkleEmtr; + /* 0x9AC */ cXyz mSparklePos; /* 0x9B8 */ u32 field_0x9b8; /* 0x9BC */ u8 field_0x9bc[4]; /* 0x9C0 */ u8 field_0x9c0; diff --git a/include/d/a/d_a_itembase.h b/include/d/a/d_a_itembase.h index eb6c46c431..0777960bc1 100644 --- a/include/d/a/d_a_itembase.h +++ b/include/d/a/d_a_itembase.h @@ -7,23 +7,23 @@ struct daItemBase_data { /* 0x00 */ f32 mGravity; - /* 0x04 */ f32 field_0x4; - /* 0x08 */ f32 field_0x8; - /* 0x0C */ f32 field_0xc; - /* 0x10 */ f32 field_0x10; - /* 0x14 */ s16 field_0x14; - /* 0x16 */ s16 field_0x16; - /* 0x18 */ s16 field_0x18; - /* 0x1A */ s16 field_0x1a; - /* 0x1C */ s16 field_0x1c; - /* 0x20 */ f32 field_0x20; - /* 0x24 */ f32 field_0x24; - /* 0x28 */ s16 field_0x28; - /* 0x2A */ s16 field_0x2a; - /* 0x2C */ f32 field_0x2c; - /* 0x30 */ f32 field_0x30; - /* 0x34 */ s16 field_0x34; - /* 0x36 */ s16 field_0x36; + /* 0x04 */ f32 mGroundReflect; + /* 0x08 */ f32 mLaunchSpeed; + /* 0x0C */ f32 mScalingTime; + /* 0x10 */ f32 mSpeedH; + /* 0x14 */ s16 mFlashCycleTime; + /* 0x16 */ s16 mWaitTime; + /* 0x18 */ s16 mDisappearTime; + /* 0x1A */ s16 mRotateXSpeed; + /* 0x1C */ s16 mRotateYSpeed; + /* 0x20 */ f32 mHeartFallSpeed; + /* 0x24 */ f32 mHeartAmplitude; + /* 0x28 */ s16 mHeartFallCycleTime; + /* 0x2A */ s16 mHeartTilt; + /* 0x2C */ f32 mGetDemoLaunchSpeed; + /* 0x30 */ f32 mGetDemoGravity; + /* 0x34 */ s16 mSimpleExistTime; + /* 0x36 */ s16 mNoGetTime; }; class daItemBase_c : public fopAc_ac_c { @@ -68,12 +68,12 @@ public: /* 0x588 */ mDoExt_btpAnm* mpBtpAnm; /* 0x58C */ dBgS_ObjAcch mAcch; /* 0x764 */ dBgS_AcchCir mAcchCir; - /* 0x7A4 */ dCcD_Stts mColStatus; - /* 0x7E0 */ dCcD_Cyl mCollider; + /* 0x7A4 */ dCcD_Stts mCcStts; + /* 0x7E0 */ dCcD_Cyl mCcCyl; /* 0x91C */ u32 mShadowKey; - /* 0x920 */ u32 field_0x920; - /* 0x924 */ int field_0x924; - /* 0x928 */ s16 field_0x928; + /* 0x920 */ u32 mItemBitNo; + /* 0x924 */ int m_timer; + /* 0x928 */ s16 m_get_timer; /* 0x92A */ u8 m_itemNo; /* 0x92B */ u8 field_0x92b; }; diff --git a/include/d/a/d_a_npc.h b/include/d/a/d_a_npc.h index 70c4d898dd..461ce645a2 100644 --- a/include/d/a/d_a_npc.h +++ b/include/d/a/d_a_npc.h @@ -809,13 +809,13 @@ public: /* 80155BCC */ virtual void drawOtherMdls(); BOOL chkActorInSpeakArea(fopAc_ac_c* i_actorCheck, fopAc_ac_c* i_actorArea) { - return chkActorInAttnArea(i_actorCheck, i_actorArea, attention_info.field_0x0[3]); + return chkActorInAttnArea(i_actorCheck, i_actorArea, attention_info.distances[fopAc_attn_SPEAK_e]); } BOOL chkPlayerInSpeakArea(fopAc_ac_c* i_actor) { return chkActorInSpeakArea(daPy_getPlayerActorClass(), i_actor); } BOOL chkActorInTalkArea(fopAc_ac_c* i_actorCheck, fopAc_ac_c* i_actorArea) { - return chkActorInAttnArea(i_actorCheck, i_actorArea, attention_info.field_0x0[1]); + return chkActorInAttnArea(i_actorCheck, i_actorArea, attention_info.distances[fopAc_attn_TALK_e]); } BOOL chkPlayerInTalkArea(fopAc_ac_c* i_actor) { return chkActorInTalkArea(daPy_getPlayerActorClass(), i_actor); diff --git a/include/d/a/d_a_player.h b/include/d/a/d_a_player.h index c2c708741c..5cc382ba63 100644 --- a/include/d/a/d_a_player.h +++ b/include/d/a/d_a_player.h @@ -533,7 +533,7 @@ public: BOOL checkCopyRodThrowAfter() const { return checkNoResetFlg3(FLG3_COPY_ROD_THROW_AFTER); } BOOL checkRide() const { return checkHorseRide() || checkBoarRide() || checkSpinnerRide() || checkCanoeRide() || checkBoardRide(); } const cXyz& getRightHandPos() const { return mRightHandPos; } - const cXyz* getLeftHandPos() const { return &mLeftHandPos; } + const cXyz getLeftHandPos() const { return mLeftHandPos; } const cXyz getItemPos() const { return mItemPos; } virtual cXyz* getMidnaAtnPos() const; diff --git a/include/d/d_attention.h b/include/d/d_attention.h index 27a8a9a34e..1f09ef2664 100644 --- a/include/d/d_attention.h +++ b/include/d/d_attention.h @@ -141,8 +141,8 @@ public: }; struct dist_entry { - /* 0x00 */ f32 mRadius1; - /* 0x04 */ f32 mRadius2; + /* 0x00 */ f32 mDistMax; + /* 0x04 */ f32 mDistMaxRelease; /* 0x08 */ f32 mDistanceAdjust; /* 0x0C */ f32 mUpperY; /* 0x10 */ f32 mLowerY; diff --git a/include/f_op/f_op_actor.h b/include/f_op/f_op_actor.h index 654426d2b7..38fd93e00a 100644 --- a/include/f_op/f_op_actor.h +++ b/include/f_op/f_op_actor.h @@ -82,6 +82,18 @@ enum fopAc_Cull_e { fopAc_CULLSPHERE_CUSTOM_e, }; +enum fopAc_attention_type { + fopAc_attn_LOCK_e, + fopAc_attn_TALK_e, + fopAc_attn_BATTLE_e, + fopAc_attn_SPEAK_e, + fopAc_attn_CARRY_e, + fopAc_attn_DOOR_e, + fopAc_attn_JUEL_e, + fopAc_attn_ETC_e, + fopAc_attn_CHECK_e, +}; + class JKRSolidHeap; enum dEvt_Command_e { @@ -162,7 +174,7 @@ struct actor_place { }; struct actor_attention_types { - /* 0x00 */ u8 field_0x0[9]; + /* 0x00 */ u8 distances[9]; /* 0x0A */ s16 field_0xa; /* 0x0C */ cXyz position; /* 0x18 */ u32 flags; diff --git a/include/f_op/f_op_actor_mng.h b/include/f_op/f_op_actor_mng.h index 186910df6a..6f46d277e2 100644 --- a/include/f_op/f_op_actor_mng.h +++ b/include/f_op/f_op_actor_mng.h @@ -362,6 +362,10 @@ inline const cXyz* fopAcM_GetSpeed_p(const fopAc_ac_c* p_actor) { return &p_actor->speed; } +inline cXyz& fopAcM_GetSpeed(fopAc_ac_c* p_actor) { + return p_actor->speed; +} + inline const cXyz* fopAcM_GetPosition_p(const fopAc_ac_c* p_actor) { return &p_actor->current.pos; } diff --git a/include/f_op/f_op_camera_mng.h b/include/f_op/f_op_camera_mng.h index bea066a964..dde9de4ff4 100644 --- a/include/f_op/f_op_camera_mng.h +++ b/include/f_op/f_op_camera_mng.h @@ -55,10 +55,18 @@ void fopCamM_SetBank(camera_class* cam, s16 bank) { cam->mBank = bank; } */ +inline s16 fopCamM_GetAngleX(camera_class* i_camera) { + return i_camera->mAngle.x; +} + inline s16 fopCamM_GetAngleY(camera_class* i_camera) { return i_camera->mAngle.y; } +inline s16 fopCamM_GetAngleZ(camera_class* i_camera) { + return i_camera->mAngle.z; +} + inline f32 fopCamM_GetFovy(camera_class* i_camera) { return i_camera->mFovy; } diff --git a/obj_files.mk b/obj_files.mk index 02df0c196b..03327f60b4 100644 --- a/obj_files.mk +++ b/obj_files.mk @@ -1087,4 +1087,5 @@ O_FILES_SYM_ON := \ $(BUILD_DIR)/src/f_op/f_op_actor_mng.o \ $(BUILD_DIR)/src/d/map/d_map.o \ $(BUILD_DIR)/src/m_Do/m_Do_Reset.o \ + $(BUILD_DIR)/src/d/a/d_a_obj_item.o \ \ No newline at end of file diff --git a/rel/d/a/b/d_a_b_bq/d_a_b_bq_NONMATCHING.cpp b/rel/d/a/b/d_a_b_bq/d_a_b_bq_NONMATCHING.cpp index 32ff2145c5..a98e2e704c 100644 --- a/rel/d/a/b/d_a_b_bq/d_a_b_bq_NONMATCHING.cpp +++ b/rel/d/a/b/d_a_b_bq/d_a_b_bq_NONMATCHING.cpp @@ -2649,7 +2649,7 @@ static int daB_BQ_Create(fopAc_ac_c* i_this) { } a_this->attention_info.flags = 4; - a_this->attention_info.field_0x0[2] = 0x16; + a_this->attention_info.distances[fopAc_attn_BATTLE_e] = 0x16; static dCcD_SrcSph cc_sph_src = { { diff --git a/rel/d/a/b/d_a_b_ds/d_a_b_ds.cpp b/rel/d/a/b/d_a_b_ds/d_a_b_ds.cpp index 97a8edc2ee..2298b1b81b 100644 --- a/rel/d/a/b/d_a_b_ds/d_a_b_ds.cpp +++ b/rel/d/a/b/d_a_b_ds/d_a_b_ds.cpp @@ -3930,7 +3930,7 @@ void daB_DS_c::executeOpeningDemo() { camera->mCamera.Start(); camera->mCamera.SetTrimSize(0); dComIfGp_event_reset(); - attention_info.field_0x0[2] = 0; + attention_info.distances[fopAc_attn_BATTLE_e] = 0; attention_info.flags = 4; group = 2; Z2GetAudioMgr()->bgmStart(Z2BGM_HARAGIGANT_BTL01, 0, 0); @@ -6272,7 +6272,7 @@ void daB_DS_c::executeBattle2OpeningDemo() { } else { vec.set(644.0f, -1600.0f, 2195.0f); dComIfGs_setRestartRoom(vec, -0x664a, 50); - attention_info.field_0x0[2] = 0; + attention_info.distances[fopAc_attn_BATTLE_e] = 0; attention_info.flags = 4; group = 2; Z2GetAudioMgr()->bgmStart(Z2BGM_HARAGIGANT_BTL02, 0, 0); @@ -7043,7 +7043,7 @@ void daB_DS_c::executeBattle2Damage() { camera->mCamera.Start(); camera->mCamera.SetTrimSize(0); dComIfGp_event_reset(); - attention_info.field_0x0[2] = 0x16; + attention_info.distances[fopAc_attn_BATTLE_e] = 0x16; mWeakSph.OnTgSetBit(); mP2FallTimer = l_HIO.mP2FallTime; mMode++; @@ -7074,7 +7074,7 @@ void daB_DS_c::executeBattle2Damage() { if (emitter != NULL) { emitter->stopDrawParticle(); } - attention_info.field_0x0[2] = 0; + attention_info.distances[fopAc_attn_BATTLE_e] = 0; setBck(ANM_HEAD_DOWN_UP, 0, 3.0f, 1.0f); Z2GetAudioMgr()->changeBgmStatus(1); mWeakSph.OffTgSetBit(); @@ -9907,7 +9907,7 @@ cPhs__Step daB_DS_c::create() { arg0 = TYPE_BATTLE_1; } if (arg0 == TYPE_BULLET_A || arg0 == TYPE_BULLET_B || arg0 == TYPE_BULLET_C) { - attention_info.field_0x0[2] = 0; + attention_info.distances[fopAc_attn_BATTLE_e] = 0; attention_info.flags &= ~4; fopAcM_SetGroup(this, 0); fopAcM_OffStatus(this, 0); @@ -9937,7 +9937,7 @@ cPhs__Step daB_DS_c::create() { shape_angle.z = 0; shape_angle.x = 0; shape_angle.y = current.angle.y; - attention_info.field_0x0[2] = 0; + attention_info.distances[fopAc_attn_BATTLE_e] = 0; attention_info.flags = 4; fopAcM_SetMtx(this, mpMorf->mpModel->getBaseTRMtx()); fopAcM_SetMin(this, -40000.0f, -40000.0f, -40000.0f); @@ -10011,7 +10011,7 @@ cPhs__Step daB_DS_c::create() { if (bitSw != 0xff) { fopAcM_offSwitch(this, bitSw); } - attention_info.field_0x0[2] = 0; + attention_info.distances[fopAc_attn_BATTLE_e] = 0; attention_info.flags &= ~4; fopAcM_SetGroup(this, 0); fopAcM_OffStatus(this, 0); @@ -10038,7 +10038,7 @@ cPhs__Step daB_DS_c::create() { } else { mChangeVer2(); gravity = -1.0f; - attention_info.field_0x0[2] = 0; + attention_info.distances[fopAc_attn_BATTLE_e] = 0; attention_info.flags &= ~4; fopAcM_SetGroup(this, 0); fopAcM_OffStatus(this, 0); diff --git a/rel/d/a/b/d_a_b_ds/d_a_b_ds_NONMATCHING.cpp b/rel/d/a/b/d_a_b_ds/d_a_b_ds_NONMATCHING.cpp index f3ad1fd386..07058e50ac 100644 --- a/rel/d/a/b/d_a_b_ds/d_a_b_ds_NONMATCHING.cpp +++ b/rel/d/a/b/d_a_b_ds/d_a_b_ds_NONMATCHING.cpp @@ -2220,7 +2220,7 @@ void daB_DS_c::executeOpeningDemo() { camera->mCamera.SetTrimSize(0); dComIfGp_event_reset(); - attention_info.field_0x0[2] = 0; + attention_info.distances[fopAc_attn_BATTLE_e] = 0; attention_info.flags = 4; fopAcM_SetGroup(this, 2); fopAcM_OnStatus(this, 0); @@ -3376,7 +3376,7 @@ void daB_DS_c::executeBattle2OpeningDemo() { vec.set(644.0f, -1600.0f, 2195.0f); dComIfGs_setRestartRoom(vec, -0x664A, 50); - attention_info.field_0x0[2] = 0; + attention_info.distances[fopAc_attn_BATTLE_e] = 0; attention_info.flags = 4; fopAcM_SetGroup(this, 2); @@ -3999,7 +3999,7 @@ void daB_DS_c::executeBattle2Damage() { camera->mCamera.SetTrimSize(0); dComIfGp_event_reset(); - attention_info.field_0x0[2] = 0x16; + attention_info.distances[fopAc_attn_BATTLE_e] = 0x16; mWeakSph.OnTgSetBit(); mP2FallTimer = l_HIO.mP2FallTime; mMode++; @@ -4031,7 +4031,7 @@ void daB_DS_c::executeBattle2Damage() { emitter->stopDrawParticle(); } - attention_info.field_0x0[2] = 0; + attention_info.distances[fopAc_attn_BATTLE_e] = 0; setBck(ANM_HEAD_DOWN_UP, 0, 3.0f, 1.0f); Z2GetAudioMgr()->changeBgmStatus(1); mWeakSph.OffTgSetBit(); @@ -5886,7 +5886,7 @@ int daB_DS_c::CreateHeap() { home.pos.set(0.0f, 1900.0f, 0.0f); current.pos.set(0.0f, 1900.0f, 0.0f); - attention_info.field_0x0[2] = 0; + attention_info.distances[fopAc_attn_BATTLE_e] = 0; attention_info.flags = 4; fopAcM_SetGroup(this, 2); @@ -6072,7 +6072,7 @@ cPhs__Step daB_DS_c::create() { } if (arg0 == TYPE_BULLET_A || arg0 == TYPE_BULLET_B || arg0 == TYPE_BULLET_C) { - attention_info.field_0x0[2] = 0; + attention_info.distances[fopAc_attn_BATTLE_e] = 0; attention_info.flags &= ~4; fopAcM_SetGroup(this, 0); @@ -6115,7 +6115,7 @@ cPhs__Step daB_DS_c::create() { shape_angle.x = 0; shape_angle.y = current.angle.y; - attention_info.field_0x0[2] = 0; + attention_info.distances[fopAc_attn_BATTLE_e] = 0; attention_info.flags = 4; fopAcM_SetMtx(this, mpMorf->mpModel->getBaseTRMtx()); @@ -6217,7 +6217,7 @@ cPhs__Step daB_DS_c::create() { fopAcM_offSwitch(this, bitSw); } - attention_info.field_0x0[2] = 0; + attention_info.distances[fopAc_attn_BATTLE_e] = 0; attention_info.flags &= ~4; fopAcM_SetGroup(this, 0); @@ -6250,7 +6250,7 @@ cPhs__Step daB_DS_c::create() { mChangeVer2(); gravity = -1.0f; - attention_info.field_0x0[2] = 0; + attention_info.distances[fopAc_attn_BATTLE_e] = 0; attention_info.flags &= ~4; fopAcM_SetGroup(this, 0); diff --git a/rel/d/a/d_a_do/d_a_do_NONMATCHING.cpp b/rel/d/a/d_a_do/d_a_do_NONMATCHING.cpp index bd1a968797..cdf5bbd887 100644 --- a/rel/d/a/d_a_do/d_a_do_NONMATCHING.cpp +++ b/rel/d/a/d_a_do/d_a_do_NONMATCHING.cpp @@ -2572,7 +2572,7 @@ static cPhs__Step daDo_Create(fopAc_ac_c* i_this) { fopAcM_OnStatus(i_this, fopAcStts_CULL_e); fopAcM_OnCarryType(i_this, fopAcM_CARRY_TYPE_8); i_this->attention_info.flags = 0; - i_this->attention_info.field_0x0[4] = 7; + i_this->attention_info.distances[fopAc_attn_SPEAK_e] = 7; fopAcM_SetMtx(i_this, _this->mpMorf->getModel()->getBaseTRMtx()); _this->mBgS_Acch.Set(fopAcM_GetPosition_p(i_this), fopAcM_GetOldPosition_p(i_this), i_this, 1, &_this->mBgS_AcchCir, fopAcM_GetSpeed_p(i_this), NULL, NULL); diff --git a/rel/d/a/d_a_myna/d_a_myna.cpp b/rel/d/a/d_a_myna/d_a_myna.cpp index e1d1217ef4..2e122b34cd 100644 --- a/rel/d/a/d_a_myna/d_a_myna.cpp +++ b/rel/d/a/d_a_myna/d_a_myna.cpp @@ -2856,8 +2856,8 @@ int daMyna_c::orderEvent() { attention_info.flags = 10; } if (attention_info.flags == 10) { - attention_info.field_0x0[1] = 0x8B; - attention_info.field_0x0[3] = 0x8B; + attention_info.distances[fopAc_attn_TALK_e] = 0x8B; + attention_info.distances[fopAc_attn_SPEAK_e] = 0x8B; eventInfo.i_onCondition(1); } } diff --git a/rel/d/a/d_a_ni/d_a_ni_NONMATCHING.cpp b/rel/d/a/d_a_ni/d_a_ni_NONMATCHING.cpp index 64ca48a4c2..85f985d015 100644 --- a/rel/d/a/d_a_ni/d_a_ni_NONMATCHING.cpp +++ b/rel/d/a/d_a_ni/d_a_ni_NONMATCHING.cpp @@ -2445,7 +2445,7 @@ static int daNi_Create(fopAc_ac_c* i_this) { a_this->mCcSph.OffTgSetBit(); } - i_this->attention_info.field_0x0[4] = 7; + i_this->attention_info.distances[fopAc_attn_SPEAK_e] = 7; a_this->mCounter = cM_rndF(0x10000); cXyz sp34(i_this->current.pos); diff --git a/rel/d/a/d_a_sq/d_a_sq.cpp b/rel/d/a/d_a_sq/d_a_sq.cpp index e3e4c9b3fa..bf6080321a 100644 --- a/rel/d/a/d_a_sq/d_a_sq.cpp +++ b/rel/d/a/d_a_sq/d_a_sq.cpp @@ -578,7 +578,7 @@ static cPhs__Step daSq_Create(fopAc_ac_c* i_this) { _this->mAtSph.Set(at_sph_src); _this->mAtSph.SetStts(&_this->mCcStts); - _this->attention_info.field_0x0[4] = 7; + _this->attention_info.distances[fopAc_attn_CARRY_e] = 7; if (_this->mParam1 == 0xff) { _this->mBtkFrame = cM_rndF(3.999f); diff --git a/rel/d/a/d_a_talk/d_a_talk.cpp b/rel/d/a/d_a_talk/d_a_talk.cpp index 6f7d3a558e..a984d66345 100644 --- a/rel/d/a/d_a_talk/d_a_talk.cpp +++ b/rel/d/a/d_a_talk/d_a_talk.cpp @@ -46,7 +46,7 @@ int daTalk_c::execute() { } } else { if (fopAcM_searchPlayerDistanceXZ(this) > - dAttention_c::i_getDistTable(attention_info.field_0x0[1]).mRadius2) + dAttention_c::i_getDistTable(attention_info.distances[fopAc_attn_TALK_e]).mDistMaxRelease) { mMessageID = -1; fopAcM_delete(this); diff --git a/rel/d/a/e/d_a_e_fz/d_a_e_fz.cpp b/rel/d/a/e/d_a_e_fz/d_a_e_fz.cpp index 7719563d54..b12f9870c3 100644 --- a/rel/d/a/e/d_a_e_fz/d_a_e_fz.cpp +++ b/rel/d/a/e/d_a_e_fz/d_a_e_fz.cpp @@ -1604,8 +1604,8 @@ s32 daE_FZ_c::execute() { return 1; } - if (attention_info.field_0x0[2] == 0) { - attention_info.field_0x0[2] = 69; + if (attention_info.distances[fopAc_attn_BATTLE_e] == 0) { + attention_info.distances[fopAc_attn_BATTLE_e] = 69; fopAcM_SetGroup(this,2); #if DEBUG fopAcM_OnStatus(this,0); @@ -1790,7 +1790,7 @@ s32 daE_FZ_c::create() { } attention_info.flags = 4; - attention_info.field_0x0[2] = 69; + attention_info.distances[fopAc_attn_BATTLE_e] = 69; fopAcM_SetMtx(this,mpModel->getBaseTRMtx()); fopAcM_SetMin(this,-200.0f,-200.0f,-200.0f); @@ -1855,7 +1855,7 @@ s32 daE_FZ_c::create() { } if (field_0x714 == 2 && !checkItemGet(IRONBALL,1)) { - attention_info.field_0x0[2] = 0; + attention_info.distances[fopAc_attn_BATTLE_e] = 0; fopAcM_SetGroup(this,0); fopAcM_OffStatus(this,0); attention_info.flags &= 0xfffffffb; diff --git a/rel/d/a/e/d_a_e_fz/d_a_e_fz_nonmatching.cpp b/rel/d/a/e/d_a_e_fz/d_a_e_fz_nonmatching.cpp index 113ca1402a..7644ae8528 100644 --- a/rel/d/a/e/d_a_e_fz/d_a_e_fz_nonmatching.cpp +++ b/rel/d/a/e/d_a_e_fz/d_a_e_fz_nonmatching.cpp @@ -878,8 +878,8 @@ s32 daE_FZ_c::execute() { return 1; } - if (attention_info.field_0x0[2] == 0) { - attention_info.field_0x0[2] = 69; + if (attention_info.distances[fopAc_attn_BATTLE_e] == 0) { + attention_info.distances[fopAc_attn_BATTLE_e] = 69; fopAcM_SetGroup(this,2); #if DEBUG fopAcM_OnStatus(this,0); @@ -994,7 +994,7 @@ s32 daE_FZ_c::create() { } attention_info.flags = 4; - attention_info.field_0x0[2] = 69; + attention_info.distances[fopAc_attn_BATTLE_e] = 69; fopAcM_SetMtx(this,mpModel->getBaseTRMtx()); fopAcM_SetMin(this,-200.0f,-200.0f,-200.0f); @@ -1059,7 +1059,7 @@ s32 daE_FZ_c::create() { } if (field_0x714 == 2 && !checkItemGet(IRONBALL,1)) { - attention_info.field_0x0[2] = 0; + attention_info.distances[fopAc_attn_BATTLE_e] = 0; fopAcM_SetGroup(this,0); fopAcM_OffStatus(this,0); attention_info.flags &= 0xfffffffb; diff --git a/rel/d/a/e/d_a_e_nest/d_a_e_nest.cpp b/rel/d/a/e/d_a_e_nest/d_a_e_nest.cpp index edadc44815..47dcaf6d2e 100644 --- a/rel/d/a/e/d_a_e_nest/d_a_e_nest.cpp +++ b/rel/d/a/e/d_a_e_nest/d_a_e_nest.cpp @@ -726,7 +726,7 @@ static void bee_nest_action(e_nest_class* i_this) { if (carry_check) { cLib_onBit(i_this->attention_info.flags, 0x10); - i_this->attention_info.field_0x0[4] = 0x2c; + i_this->attention_info.distances[fopAc_attn_CARRY_e] = 0x2c; if (fopAcM_checkCarryNow(i_this)) { i_this->mAction = e_nest_class::ACT_CARRY; i_this->mMode = 0; diff --git a/rel/d/a/e/d_a_e_oct_bg/d_a_e_oct_bg.cpp b/rel/d/a/e/d_a_e_oct_bg/d_a_e_oct_bg.cpp index 07f4d8efa7..3c60f25cd4 100644 --- a/rel/d/a/e/d_a_e_oct_bg/d_a_e_oct_bg.cpp +++ b/rel/d/a/e/d_a_e_oct_bg/d_a_e_oct_bg.cpp @@ -425,10 +425,10 @@ void daE_OctBg_c::swim() { field_0x660.x = cM_ssin(field_0xb96) * 500.0f; field_0x660.z = cM_scos(field_0xb96) * 500.0f; field_0xbae = cM_rndFX(30.0f) + 100.0f; - attention_info.field_0x0[2] = 3; + attention_info.distances[fopAc_attn_BATTLE_e] = 3; field_0xb70++; } else if (field_0xb70 == -1) { - attention_info.field_0x0[2] = 4; + attention_info.distances[fopAc_attn_BATTLE_e] = 4; } else { if (checkNormalAttack()) { setAction(&daE_OctBg_c::normal_attack); @@ -972,7 +972,7 @@ int daE_OctBg_c::create() { field_0xb30.mpSound = &field_0x5bc; field_0xb30.mPowerType = 1; gravity = 0.0f; - attention_info.field_0x0[2] = 4; + attention_info.distances[fopAc_attn_BATTLE_e] = 4; field_0xb74 = false; field_0xbac = fopAcM_GetID(this) & 1; struct_8073A14C_field_0x23++; diff --git a/rel/d/a/e/d_a_e_ph/d_a_e_ph.cpp b/rel/d/a/e/d_a_e_ph/d_a_e_ph.cpp index 924164b5f0..b26a41b3de 100644 --- a/rel/d/a/e/d_a_e_ph/d_a_e_ph.cpp +++ b/rel/d/a/e/d_a_e_ph/d_a_e_ph.cpp @@ -1041,25 +1041,25 @@ void daE_PH_c::AttentionSet() { if (mAnmID != ANM_HANG_START && mAnmID != ANM_HANG_WAIT && mAnmID != ANM_HANG_END) { if (strcmp(dComIfGp_getStartStageName(), "D_MN07A") == 0) { - attention_info.field_0x0[2] = 0x52; + attention_info.distances[fopAc_attn_BATTLE_e] = 0x52; } else { - attention_info.field_0x0[2] = 0x53; + attention_info.distances[fopAc_attn_BATTLE_e] = 0x53; } attention_info.flags = 4; } else if (current.pos.absXZ(fopAcM_GetPosition(player_p)) > 1000.0f) { if (strcmp(dComIfGp_getStartStageName(), "D_MN07A") == 0) { - attention_info.field_0x0[2] = 0x52; + attention_info.distances[fopAc_attn_BATTLE_e] = 0x52; } else { - attention_info.field_0x0[2] = 0x53; + attention_info.distances[fopAc_attn_BATTLE_e] = 0x53; } } else { - attention_info.field_0x0[2] = 0; + attention_info.distances[fopAc_attn_BATTLE_e] = 0; attention_info.flags = 0; } if (player_p->checkDragonHangRide()) { - attention_info.field_0x0[2] = 0; + attention_info.distances[fopAc_attn_BATTLE_e] = 0; attention_info.flags = 0; } } @@ -1267,7 +1267,7 @@ int daE_PH_c::create() { fopAcM_GetSpeed_p(this), NULL, NULL); attention_info.flags = 4; - attention_info.field_0x0[2] = 0x22; + attention_info.distances[fopAc_attn_BATTLE_e] = 0x22; cXyz sp3C(current.pos.x, current.pos.y + 200.0f, current.pos.z); mSound.init(¤t.pos, &sp3C, 3, 1); @@ -1297,7 +1297,7 @@ int daE_PH_c::create() { mCcSph.OffTgShield(); mCcSph.OnTgNoHitMark(); - attention_info.field_0x0[2] = 0; + attention_info.distances[fopAc_attn_BATTLE_e] = 0; attention_info.flags = 0; cXyz sp48(current.pos.x, current.pos.y, current.pos.z); diff --git a/rel/d/a/e/d_a_e_yc/d_a_e_yc.cpp b/rel/d/a/e/d_a_e_yc/d_a_e_yc.cpp index 951eb898a6..692808d16d 100644 --- a/rel/d/a/e/d_a_e_yc/d_a_e_yc.cpp +++ b/rel/d/a/e/d_a_e_yc/d_a_e_yc.cpp @@ -833,7 +833,7 @@ static cPhs__Step daE_YC_Create(fopAc_ac_c* i_this) { _this->mAction = e_yc_class::ACT_FLY; _this->attention_info.flags = 4; - _this->attention_info.field_0x0[2] = 26; + _this->attention_info.distances[fopAc_attn_BATTLE_e] = 26; daE_YC_Execute(_this); } diff --git a/rel/d/a/e/d_a_e_ym/d_a_e_ym.cpp b/rel/d/a/e/d_a_e_ym/d_a_e_ym.cpp index 7faef93f09..9e527385d9 100644 --- a/rel/d/a/e/d_a_e_ym/d_a_e_ym.cpp +++ b/rel/d/a/e/d_a_e_ym/d_a_e_ym.cpp @@ -1554,7 +1554,7 @@ asm void daE_YM_c::checkFlyTerritory() { /* 8080E630-8080E6A0 0065F0 0070+00 1/1 0/0 0/0 .text initFly__8daE_YM_cFv */ void daE_YM_c::initFly() { - attention_info.field_0x0[2] = 46; + attention_info.distances[fopAc_attn_BATTLE_e] = 46; gravity = FLOAT_LABEL(lit_3926); field_0x6e4 = 0; @@ -2208,7 +2208,7 @@ int daE_YM_c::create() { } field_0x714 = 4; - attention_info.field_0x0[2] = 58; + attention_info.distances[fopAc_attn_BATTLE_e] = 58; fopAcM_SetMtx(this, field_0x5b4->getModel()->getBaseTRMtx()); fopAcM_SetMin(this, -200.0f, -100.0f, -200.0f); fopAcM_SetMax(this, 200.0f, 100.0f, 200.0f); @@ -2253,7 +2253,7 @@ int daE_YM_c::create() { mpPath = dPath_GetRoomPath(tmp0, fopAcM_GetRoomNo(this)); if (mpPath != NULL) { - attention_info.field_0x0[7] = 31; + attention_info.distances[fopAc_attn_ETC_e] = 31; field_0x6a6 = 4; field_0x670 = current.pos; setActionMode(ACT_WAIT); diff --git a/rel/d/a/kytag/d_a_kytag03/d_a_kytag03.cpp b/rel/d/a/kytag/d_a_kytag03/d_a_kytag03.cpp index dd8a65940a..65b0981572 100644 --- a/rel/d/a/kytag/d_a_kytag03/d_a_kytag03.cpp +++ b/rel/d/a/kytag/d_a_kytag03/d_a_kytag03.cpp @@ -375,7 +375,7 @@ static int daKytag03_Execute(kytag03_class* i_this) { if (player->current.pos.abs(a_this->current.pos) < i_this->field_0x574 && daPy_py_c::i_checkNowWolf() && !var_r28) { - i_this->attention_info.field_0x0[7] = 0x3D; + i_this->attention_info.distances[fopAc_attn_ETC_e] = 0x3D; a_this->attention_info.flags |= 0x80; } else { a_this->attention_info.flags &= ~0x80; diff --git a/rel/d/a/kytag/d_a_kytag05/d_a_kytag05.cpp b/rel/d/a/kytag/d_a_kytag05/d_a_kytag05.cpp index 1d6cedc570..f7bbf4d963 100644 --- a/rel/d/a/kytag/d_a_kytag05/d_a_kytag05.cpp +++ b/rel/d/a/kytag/d_a_kytag05/d_a_kytag05.cpp @@ -38,7 +38,7 @@ static int daKytag05_Create(fopAc_ac_c* i_this) { a_this->field_0x568 = 100.0f * a_this->scale.x; if (!a_this->field_0x56c) { - a_this->attention_info.field_0x0[7] = 0x21; + a_this->attention_info.distances[fopAc_attn_ETC_e] = 0x21; a_this->attention_info.flags |= 0x80; } diff --git a/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash.cpp b/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash.cpp index 1eebc5998f..5f49a16f8e 100644 --- a/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash.cpp +++ b/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash.cpp @@ -2465,20 +2465,20 @@ void daNpcAsh_c::setParam() { searchActors(); attention_info.flags = 0xa; if (isSneaking()) { - attention_info.field_0x0[0] = 0x4e; - attention_info.field_0x0[1] = attention_info.field_0x0[0]; - attention_info.field_0x0[3] = 0x4d; + attention_info.distances[fopAc_attn_LOCK_e] = 0x4e; + attention_info.distances[fopAc_attn_TALK_e] = attention_info.distances[fopAc_attn_LOCK_e]; + attention_info.distances[fopAc_attn_SPEAK_e] = 0x4d; attention_info.flags |= 0x800000; } else { if (!strcmp(dComIfGp_getStartStageName(), "R_SP116")) { - attention_info.field_0x0[0] = getDistTableIdx(3, 6); - attention_info.field_0x0[1] = attention_info.field_0x0[0]; - attention_info.field_0x0[3] = getDistTableIdx(2, 6); + attention_info.distances[fopAc_attn_LOCK_e] = getDistTableIdx(3, 6); + attention_info.distances[fopAc_attn_TALK_e] = attention_info.distances[fopAc_attn_LOCK_e]; + attention_info.distances[fopAc_attn_SPEAK_e] = getDistTableIdx(2, 6); } else { - attention_info.field_0x0[0] = getDistTableIdx(daNpcAsh_Param_c::m.mTalkDistIdx, + attention_info.distances[fopAc_attn_LOCK_e] = getDistTableIdx(daNpcAsh_Param_c::m.mTalkDistIdx, daNpcAsh_Param_c::m.mTalkAngleIdx); - attention_info.field_0x0[1] = attention_info.field_0x0[0]; - attention_info.field_0x0[3] = getDistTableIdx(daNpcAsh_Param_c::m.mSpeakDistIdx, + attention_info.distances[fopAc_attn_TALK_e] = attention_info.distances[fopAc_attn_LOCK_e]; + attention_info.distances[fopAc_attn_SPEAK_e] = getDistTableIdx(daNpcAsh_Param_c::m.mSpeakDistIdx, daNpcAsh_Param_c::m.mSpeakAngleIdx); } } diff --git a/rel/d/a/npc/d_a_npc_ne/d_a_npc_ne.cpp b/rel/d/a/npc/d_a_npc_ne/d_a_npc_ne.cpp index 3024e71bb2..85ed5996ef 100644 --- a/rel/d/a/npc/d_a_npc_ne/d_a_npc_ne.cpp +++ b/rel/d/a/npc/d_a_npc_ne/d_a_npc_ne.cpp @@ -4981,7 +4981,7 @@ static cPhs__Step daNpc_Ne_Create(fopAc_ac_c* i_this) { fopAcM_OnStatus(i_this, fopAcStts_CULL_e); fopAcM_OnCarryType(i_this, fopAcM_CARRY_TYPE_8); i_this->attention_info.flags = 0; - i_this->attention_info.field_0x0[4] = 7; + i_this->attention_info.distances[fopAc_attn_SPEAK_e] = 7; fopAcM_SetMtx(i_this, _this->mpMorf->getModel()->getBaseTRMtx()); i_this->health = 1; _this->field_0x560 = 1; diff --git a/rel/d/a/npc/d_a_npc_the/d_a_npc_the.cpp b/rel/d/a/npc/d_a_npc_the/d_a_npc_the.cpp index 0d3c12b963..0818166509 100644 --- a/rel/d/a/npc/d_a_npc_the/d_a_npc_the.cpp +++ b/rel/d/a/npc/d_a_npc_the/d_a_npc_the.cpp @@ -2437,22 +2437,22 @@ void daNpcThe_c::setParam() { int talk_angle_idx = mType == TYPE_KAKARIKO ? (s16)1 : daNpcThe_Param_c::m.mTalkAngleIdx; attention_info.flags = 0xa; if (isSneaking()) { - attention_info.field_0x0[0] = 0x4e; - attention_info.field_0x0[1] = attention_info.field_0x0[0]; - attention_info.field_0x0[3] = 0x4d; + attention_info.distances[fopAc_attn_LOCK_e] = 0x4e; + attention_info.distances[fopAc_attn_TALK_e] = attention_info.distances[fopAc_attn_LOCK_e]; + attention_info.distances[fopAc_attn_SPEAK_e] = 0x4d; attention_info.flags |= 0x800000; } else { if (!strcmp(dComIfGp_getStartStageName(), "R_SP116")) { - attention_info.field_0x0[0] = getDistTableIdx(daNpcThe_Param_c::m.mTalkDistIdx, + attention_info.distances[fopAc_attn_LOCK_e] = getDistTableIdx(daNpcThe_Param_c::m.mTalkDistIdx, talk_angle_idx); - attention_info.field_0x0[1] = attention_info.field_0x0[0]; - attention_info.field_0x0[3] = getDistTableIdx(daNpcThe_Param_c::m.mSpeakDistIdx + 1, + attention_info.distances[fopAc_attn_TALK_e] = attention_info.distances[fopAc_attn_LOCK_e]; + attention_info.distances[fopAc_attn_SPEAK_e] = getDistTableIdx(daNpcThe_Param_c::m.mSpeakDistIdx + 1, speak_angle_idx); } else { - attention_info.field_0x0[0] = getDistTableIdx(daNpcThe_Param_c::m.mTalkDistIdx, + attention_info.distances[fopAc_attn_LOCK_e] = getDistTableIdx(daNpcThe_Param_c::m.mTalkDistIdx, talk_angle_idx); - attention_info.field_0x0[1] = attention_info.field_0x0[0]; - attention_info.field_0x0[3] = getDistTableIdx(daNpcThe_Param_c::m.mSpeakDistIdx, + attention_info.distances[fopAc_attn_TALK_e] = attention_info.distances[fopAc_attn_LOCK_e]; + attention_info.distances[fopAc_attn_SPEAK_e] = getDistTableIdx(daNpcThe_Param_c::m.mSpeakDistIdx, speak_angle_idx); } } diff --git a/rel/d/a/npc/d_a_npc_zra/d_a_npc_zra.cpp b/rel/d/a/npc/d_a_npc_zra/d_a_npc_zra.cpp index fc672f093a..0ca3d563f1 100644 --- a/rel/d/a/npc/d_a_npc_zra/d_a_npc_zra.cpp +++ b/rel/d/a/npc/d_a_npc_zra/d_a_npc_zra.cpp @@ -2745,9 +2745,9 @@ void daNpc_zrA_c::setParam() { attn_flags = 0; } - attention_info.field_0x0[0] = 64; - attention_info.field_0x0[1] = attention_info.field_0x0[0]; - attention_info.field_0x0[3] = 63; + attention_info.distances[fopAc_attn_LOCK_e] = 64; + attention_info.distances[fopAc_attn_TALK_e] = attention_info.distances[fopAc_attn_LOCK_e]; + attention_info.distances[fopAc_attn_SPEAK_e] = 63; } else { if (mType != TYPE_WAIT && mType != TYPE_SPA && mType != TYPE_SEARCH && (mType != TYPE_WATERFALL || mActionSelect != 0)) @@ -2758,9 +2758,9 @@ void daNpc_zrA_c::setParam() { field_0x14d0 = 0; field_0x14d4 = 0; - attention_info.field_0x0[0] = getDistTableIdx(5, 6); - attention_info.field_0x0[1] = attention_info.field_0x0[0]; - attention_info.field_0x0[3] = getDistTableIdx(3, 6); + attention_info.distances[fopAc_attn_LOCK_e] = getDistTableIdx(5, 6); + attention_info.distances[fopAc_attn_TALK_e] = attention_info.distances[fopAc_attn_LOCK_e]; + attention_info.distances[fopAc_attn_SPEAK_e] = getDistTableIdx(3, 6); } attention_info.flags = attn_flags; diff --git a/rel/d/a/obj/d_a_obj_cho/d_a_obj_cho.cpp b/rel/d/a/obj/d_a_obj_cho/d_a_obj_cho.cpp index 04ac3ef3a8..a84f3bc7e5 100644 --- a/rel/d/a/obj/d_a_obj_cho/d_a_obj_cho.cpp +++ b/rel/d/a/obj/d_a_obj_cho/d_a_obj_cho.cpp @@ -570,7 +570,7 @@ cPhs__Step daObjCHO_c::create() { mDraw = true; mAction = ACT_MOVE; } - attention_info.field_0x0[4] = 0x5D; + attention_info.distances[fopAc_attn_CARRY_e] = 0x5D; mSex = (fopAcM_GetParam(this) >> 4) & 1; m_itemNo = l_cho_itemno[mSex]; diff --git a/rel/d/a/obj/d_a_obj_digholl/d_a_obj_digholl.cpp b/rel/d/a/obj/d_a_obj_digholl/d_a_obj_digholl.cpp index 829cca1c68..b2d4f6258a 100644 --- a/rel/d/a/obj/d_a_obj_digholl/d_a_obj_digholl.cpp +++ b/rel/d/a/obj/d_a_obj_digholl/d_a_obj_digholl.cpp @@ -24,7 +24,7 @@ int daObjDigholl_c::create() { fopAcM_SetMax(this, 60.0f, 10.0f, 100.0f); attention_info.position = current.pos; eyePos = attention_info.position; - attention_info.field_0x0[7] = 0x20; + attention_info.distances[fopAc_attn_ETC_e] = 0x20; return cPhs_COMPLEATE_e; } diff --git a/rel/d/a/obj/d_a_obj_digplace/d_a_obj_digplace.cpp b/rel/d/a/obj/d_a_obj_digplace/d_a_obj_digplace.cpp index eca3a49ba1..1f539c3ba9 100644 --- a/rel/d/a/obj/d_a_obj_digplace/d_a_obj_digplace.cpp +++ b/rel/d/a/obj/d_a_obj_digplace/d_a_obj_digplace.cpp @@ -39,7 +39,7 @@ int daObjDigpl_c::create() { tevStr.mRoomNo = dComIfGp_roomControl_getStayNo(); fopAcM_SetMin(this, -550.0f, -250.0f, -550.0f); fopAcM_SetMax(this, 550.0f, 250.0f, 550.0f); - attention_info.field_0x0[7] = 27; + attention_info.distances[fopAc_attn_ETC_e] = 27; return cPhs_COMPLEATE_e; } diff --git a/rel/d/a/obj/d_a_obj_digsnow/d_a_obj_digsnow.cpp b/rel/d/a/obj/d_a_obj_digsnow/d_a_obj_digsnow.cpp index 65155019d7..7e13e747ce 100644 --- a/rel/d/a/obj/d_a_obj_digsnow/d_a_obj_digsnow.cpp +++ b/rel/d/a/obj/d_a_obj_digsnow/d_a_obj_digsnow.cpp @@ -32,7 +32,7 @@ int daObjDigSnow_c::Create() { fopAcM_SetMtx(this, mpModel->getBaseTRMtx()); fopAcM_setCullSizeBox2(this, mpModel->getModelData()); - attention_info.field_0x0[0x07] = 31; + attention_info.distances[0x07] = 31; mode_init_wait(); diff --git a/rel/d/a/obj/d_a_obj_food/d_a_obj_food.cpp b/rel/d/a/obj/d_a_obj_food/d_a_obj_food.cpp index 9da817fce7..c8e66ebb3d 100644 --- a/rel/d/a/obj/d_a_obj_food/d_a_obj_food.cpp +++ b/rel/d/a/obj/d_a_obj_food/d_a_obj_food.cpp @@ -481,7 +481,7 @@ static cPhs__Step daObj_Food_Create(fopAc_ac_c* i_this) { fopAcM_SetFoodStatus(_this, fopAcM_FOOD_5); } else { _this->mAcchCir.SetWall(30.0f, 30.0f); - _this->attention_info.field_0x0[4] = 7; + _this->attention_info.distances[fopAc_attn_CARRY_e] = 7; _this->gravity = -5.0f; fopAcM_SetFoodStatus(_this, fopAcM_FOOD_0); fopAcM_OnCarryType(_this, fopAcM_CARRY_UNK_30); diff --git a/rel/d/a/obj/d_a_obj_kabuto/d_a_obj_kabuto.cpp b/rel/d/a/obj/d_a_obj_kabuto/d_a_obj_kabuto.cpp index 99c43c6074..32f17a35c8 100644 --- a/rel/d/a/obj/d_a_obj_kabuto/d_a_obj_kabuto.cpp +++ b/rel/d/a/obj/d_a_obj_kabuto/d_a_obj_kabuto.cpp @@ -759,7 +759,7 @@ cPhs__Step daObjKABUTO_c::create() { fopAcM_OnStatus(this, 0x4000); } else { mDraw = true; - attention_info.field_0x0[4] = 0x5D; + attention_info.distances[fopAc_attn_CARRY_e] = 0x5D; } mSex = (fopAcM_GetParam(this) >> 4) & 1; diff --git a/rel/d/a/obj/d_a_obj_kantera/d_a_obj_kantera.cpp b/rel/d/a/obj/d_a_obj_kantera/d_a_obj_kantera.cpp index e467a54794..f01499a3a7 100644 --- a/rel/d/a/obj/d_a_obj_kantera/d_a_obj_kantera.cpp +++ b/rel/d/a/obj/d_a_obj_kantera/d_a_obj_kantera.cpp @@ -696,7 +696,7 @@ int daItemKantera_c::actionWaitInit() { mCollider.OffTgSPrmBit(1); mCollider.OffCoSPrmBit(1); cLib_offBit(attention_info.flags, 0x10); - attention_info.field_0x0[4] = 16; + attention_info.distances[fopAc_attn_SPEAK_e] = 16; attention_info.position = current.pos; show(); setStatus(1); diff --git a/rel/d/a/obj/d_a_obj_lbox/d_a_obj_lbox.cpp b/rel/d/a/obj/d_a_obj_lbox/d_a_obj_lbox.cpp index 8556184fc3..ac460a6d63 100644 --- a/rel/d/a/obj/d_a_obj_lbox/d_a_obj_lbox.cpp +++ b/rel/d/a/obj/d_a_obj_lbox/d_a_obj_lbox.cpp @@ -193,7 +193,7 @@ static cPhs__Step daObj_Lbox_Create(fopAc_ac_c* i_this) { &a_this->mAcchCir, fopAcM_GetSpeed_p(a_this), NULL, NULL); a_this->mAcchCir.SetWall(50.0f, 50.0f); - a_this->attention_info.field_0x0[2] = 0x16; + a_this->attention_info.distances[fopAc_attn_BATTLE_e] = 0x16; daObj_Lbox_Execute(a_this); } diff --git a/rel/d/a/obj/d_a_obj_master_sword/d_a_obj_master_sword.cpp b/rel/d/a/obj/d_a_obj_master_sword/d_a_obj_master_sword.cpp index d4c6dfdfc1..c0faa43994 100644 --- a/rel/d/a/obj/d_a_obj_master_sword/d_a_obj_master_sword.cpp +++ b/rel/d/a/obj/d_a_obj_master_sword/d_a_obj_master_sword.cpp @@ -503,7 +503,7 @@ void daObjMasterSword_c::create_init() { fopAcM_OnCarryType(this, fopAcM_CARRY_UNK_30); cLib_onBit(attention_info.flags, 0x10); - attention_info.field_0x0[4] = 74; + attention_info.distances[fopAc_attn_SPEAK_e] = 74; attention_info.position = current.pos; attention_info.position.y += 100.0f; eyePos = attention_info.position; diff --git a/rel/d/a/obj/d_a_obj_ss_item/d_a_obj_ss_item.cpp b/rel/d/a/obj/d_a_obj_ss_item/d_a_obj_ss_item.cpp index ce2c22bd35..d081e3d24f 100644 --- a/rel/d/a/obj/d_a_obj_ss_item/d_a_obj_ss_item.cpp +++ b/rel/d/a/obj/d_a_obj_ss_item/d_a_obj_ss_item.cpp @@ -248,7 +248,7 @@ void daObj_SSItem_c::initialize() { fopAcM_setCullSizeBox(this, -30.0f, -15.0f, -30.0f, 30.0f, 45.0f, 30.0f); eventInfo.setArchiveName(getResName()); attention_info.flags = 0; - attention_info.field_0x0[4] = 6; + attention_info.distances[fopAc_attn_CARRY_e] = 6; fopAcM_OnCarryType(this, fopAcM_CARRY_SIDE); mAcchCir.SetWall(24.0f, 12.0f); mAcch.Set(fopAcM_GetPosition_p(this), fopAcM_GetOldPosition_p(this), this, 1, &mAcchCir, diff --git a/rel/d/a/obj/d_a_obj_stone/d_a_obj_stone.cpp b/rel/d/a/obj/d_a_obj_stone/d_a_obj_stone.cpp index c127152de8..54a2096c78 100644 --- a/rel/d/a/obj/d_a_obj_stone/d_a_obj_stone.cpp +++ b/rel/d/a/obj/d_a_obj_stone/d_a_obj_stone.cpp @@ -729,7 +729,7 @@ int daObjStone_c::Create() { fopAcM_setCullSizeSphere(this, 0.0f, 0.0f, 0.0f, l_r[mStoneType] * 1.2f); cLib_onBit(attention_info.flags, 0x10); - attention_info.field_0x0[4] = 0x2A; + attention_info.distances[fopAc_attn_SPEAK_e] = 0x2A; fopAcM_OnCarryType(this, fopAcM_CARRY_LIGHT); cXyz other_pos = current.pos; diff --git a/rel/d/a/obj/d_a_obj_table/d_a_obj_table.cpp b/rel/d/a/obj/d_a_obj_table/d_a_obj_table.cpp index 0043b5f2c1..7f8ae4b613 100644 --- a/rel/d/a/obj/d_a_obj_table/d_a_obj_table.cpp +++ b/rel/d/a/obj/d_a_obj_table/d_a_obj_table.cpp @@ -119,9 +119,9 @@ int daObjTable_c::Create() { } else { attention_info.flags = 0x2000000a; - attention_info.field_0x0[0] = dKy_darkworld_check() ? 218 : 98; - attention_info.field_0x0[1] = attention_info.field_0x0[0]; - attention_info.field_0x0[3] = attention_info.field_0x0[0]; + attention_info.distances[fopAc_attn_LOCK_e] = dKy_darkworld_check() ? 218 : 98; + attention_info.distances[fopAc_attn_TALK_e] = attention_info.distances[fopAc_attn_LOCK_e]; + attention_info.distances[fopAc_attn_SPEAK_e] = attention_info.distances[fopAc_attn_LOCK_e]; } attention_info.position.set(current.pos.x, current.pos.y + 100.0f, current.pos.z); diff --git a/rel/d/a/obj/d_a_obj_wchain/d_a_obj_wchain.cpp b/rel/d/a/obj/d_a_obj_wchain/d_a_obj_wchain.cpp index a03ad2f95a..c33ffc5799 100644 --- a/rel/d/a/obj/d_a_obj_wchain/d_a_obj_wchain.cpp +++ b/rel/d/a/obj/d_a_obj_wchain/d_a_obj_wchain.cpp @@ -292,7 +292,7 @@ cPhs__Step daObjWchain_c::create() { tevStr.mRoomNo = dStage_roomControl_c::mStayNo; attention_info.position = current.pos; eyePos = attention_info.position; - attention_info.field_0x0[0] = 0x1c; + attention_info.distances[fopAc_attn_LOCK_e] = 0x1c; fopAcM_SetMtx(this, mpHandleModel->getBaseTRMtx()); fopAcM_SetMin(this, -200.0f, -45.0f, -200.0f); fopAcM_SetMax(this, 200.0f, 800.0f, 200.0f); diff --git a/rel/d/a/obj/d_a_obj_wind_stone/d_a_obj_wind_stone.cpp b/rel/d/a/obj/d_a_obj_wind_stone/d_a_obj_wind_stone.cpp index 5ae326060a..fd4ccade60 100644 --- a/rel/d/a/obj/d_a_obj_wind_stone/d_a_obj_wind_stone.cpp +++ b/rel/d/a/obj/d_a_obj_wind_stone/d_a_obj_wind_stone.cpp @@ -186,7 +186,7 @@ void daWindStone_c::exeModeHowl() { attention_info.flags = 0; if (chkWlfInRange()) { attention_info.flags |= 0x80; - attention_info.field_0x0[7] = 65; + attention_info.distances[fopAc_attn_ETC_e] = 65; } } } diff --git a/rel/d/a/obj/d_a_obj_yobikusa/d_a_obj_yobikusa.cpp b/rel/d/a/obj/d_a_obj_yobikusa/d_a_obj_yobikusa.cpp index 41b0d39989..7d885942eb 100644 --- a/rel/d/a/obj/d_a_obj_yobikusa/d_a_obj_yobikusa.cpp +++ b/rel/d/a/obj/d_a_obj_yobikusa/d_a_obj_yobikusa.cpp @@ -176,7 +176,7 @@ void daObjYobikusa_c::create_init() { fopAcM_OnCarryType(this, fopAcM_CARRY_LIGHT); attention_info.flags |= 0x10; - attention_info.field_0x0[4] = 42; + attention_info.distances[fopAc_attn_CARRY_e] = 42; initCcCylinder(); setAction(MODE_SWING_WIND); @@ -411,7 +411,7 @@ int daObjYobikusa_c::execute() { setAction(MODE_PICK_LEAF); } - attention_info.field_0x0[4] = daPy_py_c::i_checkNowWolf() ? 73 : 42; + attention_info.distances[fopAc_attn_CARRY_e] = daPy_py_c::i_checkNowWolf() ? 73 : 42; callExecute(); } diff --git a/rel/d/a/tag/d_a_tag_Lv6Gate/d_a_tag_Lv6Gate.cpp b/rel/d/a/tag/d_a_tag_Lv6Gate/d_a_tag_Lv6Gate.cpp index a152130483..e72fd75118 100644 --- a/rel/d/a/tag/d_a_tag_Lv6Gate/d_a_tag_Lv6Gate.cpp +++ b/rel/d/a/tag/d_a_tag_Lv6Gate/d_a_tag_Lv6Gate.cpp @@ -181,7 +181,7 @@ void daTagLv6Gate_c::create_init() { fopAcM_setCullSizeBox(this, -50.0f, 0.0f, -50.0f, 50.0f, 100.0f, 50.0f); attention_info.position = current.pos; attention_info.flags = (fopAcM_isSwitch(this, getSwitchNo1()) != 0) ? 0 : 0x80; - attention_info.field_0x0[7] = 89; + attention_info.distances[fopAc_attn_ETC_e] = 89; mEvtId = -1; field_0x76a = 0; diff --git a/rel/d/a/tag/d_a_tag_Lv8Gate/d_a_tag_Lv8Gate.cpp b/rel/d/a/tag/d_a_tag_Lv8Gate/d_a_tag_Lv8Gate.cpp index b36b7b761c..4779b7f919 100644 --- a/rel/d/a/tag/d_a_tag_Lv8Gate/d_a_tag_Lv8Gate.cpp +++ b/rel/d/a/tag/d_a_tag_Lv8Gate/d_a_tag_Lv8Gate.cpp @@ -40,7 +40,7 @@ inline void daTagLv8Gate_c::create_init() { fopAcM_OnCarryType(this, fopAcM_CARRY_LIGHT); attention_info.flags = 0x10; - attention_info.field_0x0[4] = 90; + attention_info.distances[fopAc_attn_CARRY_e] = 90; mEventID = -1; diff --git a/rel/d/a/tag/d_a_tag_attention/d_a_tag_attention.cpp b/rel/d/a/tag/d_a_tag_attention/d_a_tag_attention.cpp index b32bc1e31d..c505b6819d 100644 --- a/rel/d/a/tag/d_a_tag_attention/d_a_tag_attention.cpp +++ b/rel/d/a/tag/d_a_tag_attention/d_a_tag_attention.cpp @@ -10,7 +10,7 @@ static const u8 l_dist_tbl[] = { 0x23, 0x24 }; /* 804D5318-804D5354 000078 003C+00 1/1 0/0 0/0 .text Create__8daAttp_cFv */ int daAttp_c::Create() { - attention_info.field_0x0[0] = l_dist_tbl[daAttp_prm::getArg4(this)]; + attention_info.distances[fopAc_attn_LOCK_e] = l_dist_tbl[daAttp_prm::getArg4(this)]; execute(); return 1; diff --git a/rel/d/a/tag/d_a_tag_bottle_item/d_a_tag_bottle_item.cpp b/rel/d/a/tag/d_a_tag_bottle_item/d_a_tag_bottle_item.cpp index 18d508f114..c9f0a6fd4f 100644 --- a/rel/d/a/tag/d_a_tag_bottle_item/d_a_tag_bottle_item.cpp +++ b/rel/d/a/tag/d_a_tag_bottle_item/d_a_tag_bottle_item.cpp @@ -67,7 +67,7 @@ void daTag_BottleItem_c::restart() { void daTag_BottleItem_c::initialize() { fopAcM_setCullSizeBox(this,-30.0f,-15.0f,-30.0f,30.0f,45.0f,30.0f); attention_info.flags = 0; - attention_info.field_0x0[4] = 6; + attention_info.distances[fopAc_attn_CARRY_e] = 6; fopAcM_OnCarryType(this,fopAcM_CARRY_SIDE); restart(); Execute(); @@ -137,8 +137,8 @@ s32 daTag_BottleItem_c::orderEvent() { } if (attention_info.flags == 0x20000008) { - attention_info.field_0x0[1] = EMPTY_BOTTLE; - attention_info.field_0x0[3] = EMPTY_BOTTLE; + attention_info.distances[fopAc_attn_TALK_e] = EMPTY_BOTTLE; + attention_info.distances[fopAc_attn_SPEAK_e] = EMPTY_BOTTLE; eventInfo.i_onCondition(dEvtCnd_CANTALK_e); } diff --git a/rel/d/a/tag/d_a_tag_howl/d_a_tag_howl.cpp b/rel/d/a/tag/d_a_tag_howl/d_a_tag_howl.cpp index d2ca01529a..f7dd9f02c1 100644 --- a/rel/d/a/tag/d_a_tag_howl/d_a_tag_howl.cpp +++ b/rel/d/a/tag/d_a_tag_howl/d_a_tag_howl.cpp @@ -27,7 +27,7 @@ int daTag_Howl_c::execute() { if (isAreaCheck()) { attention_info.flags |= 0x80; - attention_info.field_0x0[7] = 0x41; + attention_info.distances[fopAc_attn_ETC_e] = 0x41; } return 1; diff --git a/rel/d/a/tag/d_a_tag_mwait/d_a_tag_mwait.cpp b/rel/d/a/tag/d_a_tag_mwait/d_a_tag_mwait.cpp index 8dd5c267b5..66edac8d4a 100644 --- a/rel/d/a/tag/d_a_tag_mwait/d_a_tag_mwait.cpp +++ b/rel/d/a/tag/d_a_tag_mwait/d_a_tag_mwait.cpp @@ -47,7 +47,7 @@ int daTagMwait_c::create() { attention_info.position.set(mWaitPosition.x, mWaitPosition.y + 220.0f, mWaitPosition.z); eyePos.set(mWaitPosition.x, mWaitPosition.y + 150.0f, mWaitPosition.z); - attention_info.field_0x0[1] = 54; + attention_info.distances[fopAc_attn_TALK_e] = 54; attention_info.flags = 0; return cPhs_COMPLEATE_e; } diff --git a/rel/d/a/tag/d_a_tag_ss_drink/d_a_tag_ss_drink.cpp b/rel/d/a/tag/d_a_tag_ss_drink/d_a_tag_ss_drink.cpp index 70a9b56aa3..5c41006b21 100644 --- a/rel/d/a/tag/d_a_tag_ss_drink/d_a_tag_ss_drink.cpp +++ b/rel/d/a/tag/d_a_tag_ss_drink/d_a_tag_ss_drink.cpp @@ -112,7 +112,7 @@ void daTag_SSDrink_c::restart() { void daTag_SSDrink_c::initialize() { fopAcM_setCullSizeBox(this, -30.0f, -15.0f, -30.0f, 30.0f, 45.0f, 30.0f); attention_info.flags = 0; - attention_info.field_0x0[4] = 6; + attention_info.distances[fopAc_attn_CARRY_e] = 6; fopAcM_OnCarryType(this, fopAcM_CARRY_SIDE); restart(); Execute(); @@ -193,8 +193,8 @@ int daTag_SSDrink_c::orderEvent() { if (attention_info.flags == 0x40000008) { if (fopAcM_searchPlayerDistanceXZ(this) <= 160.0f && fopAcM_seenPlayerAngleY() <= 0x2000) { - attention_info.field_0x0[1] = 0x9D; - attention_info.field_0x0[3] = 0x9D; + attention_info.distances[fopAc_attn_TALK_e] = 0x9D; + attention_info.distances[fopAc_attn_SPEAK_e] = 0x9D; eventInfo.i_onCondition(1); } } diff --git a/rel/d/a/tag/d_a_tag_wara_howl/d_a_tag_wara_howl.cpp b/rel/d/a/tag/d_a_tag_wara_howl/d_a_tag_wara_howl.cpp index 46227a76f5..2797b84eb6 100644 --- a/rel/d/a/tag/d_a_tag_wara_howl/d_a_tag_wara_howl.cpp +++ b/rel/d/a/tag/d_a_tag_wara_howl/d_a_tag_wara_howl.cpp @@ -37,7 +37,7 @@ int daTagWrHowl_c::execute() { if (chkWlfInTag()) { attention_info.flags |= 0x80; - attention_info.field_0x0[7] = 65; + attention_info.distances[fopAc_attn_ETC_e] = 65; } return 1; diff --git a/rel/d/a/tag/d_a_tag_wljump/d_a_tag_wljump.cpp b/rel/d/a/tag/d_a_tag_wljump/d_a_tag_wljump.cpp index 50f308d97a..c44a23c2e7 100644 --- a/rel/d/a/tag/d_a_tag_wljump/d_a_tag_wljump.cpp +++ b/rel/d/a/tag/d_a_tag_wljump/d_a_tag_wljump.cpp @@ -69,8 +69,8 @@ int daTagWljump_c::create() { return 5; } - attention_info.field_0x0[0] = 0x32; - attention_info.field_0x0[7] = 0x32; + attention_info.distances[fopAc_attn_LOCK_e] = 0x32; + attention_info.distances[fopAc_attn_ETC_e] = 0x32; shape_angle.z = 0; field_0x568 = -1; field_0x56c[0] = (fopAcM_GetParam(this) >> 16) & 0xf; diff --git a/src/d/a/d_a_item_static.cpp b/src/d/a/d_a_item_static.cpp index 40d2e8c864..e835bbb4f4 100644 --- a/src/d/a/d_a_item_static.cpp +++ b/src/d/a/d_a_item_static.cpp @@ -1,29 +1,21 @@ -// -// Generated By: dol2asm -// Translation Unit: d/a/d_a_item_static -// +/** + * d_a_item_static.cpp + * + */ #include "d/a/d_a_item_static.h" -// -// Forward References: -// - -extern "C" void startCtrl__8daItem_cFv(); -extern "C" void startControl__8daItem_cFv(); -extern "C" void endControl__8daItem_cFv(); - u32 daItem_c::startCtrl() { - setFlag(4); + setFlag(FLAG_NO_MOVE_e); return 1; } u32 daItem_c::startControl() { - mStatus = 1; + mStatus = STATUS_ENEMY_CARRY_e; return 1; } u32 daItem_c::endControl() { - mStatus = 0; + mStatus = STATUS_NORMAL_e; return 1; } diff --git a/src/d/a/d_a_itembase.cpp b/src/d/a/d_a_itembase.cpp index 076fe8dace..527cec5ed5 100644 --- a/src/d/a/d_a_itembase.cpp +++ b/src/d/a/d_a_itembase.cpp @@ -1,26 +1,16 @@ -// -// Generated By: dol2asm -// Translation Unit: d/a/d_a_itembase -// +/** + * d_a_itembase.cpp + * Item Actor base + */ #include "d/a/d_a_itembase.h" #include "d/com/d_com_inf_game.h" #include "d/d_item_data.h" #include "f_op/f_op_actor_mng.h" -// -// External References: -// - -extern "C" extern dScnKy_env_light_c g_env_light; - -// -// Declarations: -// - /* 80144724-8014474C 13F064 0028+00 0/0 1/1 8/8 .text DeleteBase__12daItemBase_cFPCc */ -int daItemBase_c::DeleteBase(char const* res) { - dComIfG_resDelete(&mPhase, res); +int daItemBase_c::DeleteBase(const char* i_resName) { + dComIfG_resDelete(&mPhase, i_resName); return 1; } @@ -35,97 +25,104 @@ int daItemBase_c::__CreateHeap() { } /* 8014475C-80144B94 13F09C 0438+00 0/0 3/3 0/0 .text CreateItemHeap__12daItemBase_cFPCcsssssss */ -int daItemBase_c::CreateItemHeap(char const* arcName, s16 bmdName, s16 btkName, s16 bpkName, - s16 bckName, s16 bxaName, s16 brkName, s16 btpName) { - J3DModelData* modelData = (J3DModelData*)dComIfG_getObjectRes(arcName, bmdName); +int daItemBase_c::CreateItemHeap(char const* i_arcName, s16 i_bmdName, s16 i_btkName, s16 i_bpkName, + s16 i_bckName, s16 i_bxaName, s16 i_brkName, s16 i_btpName) { + JUT_ASSERT(0 <= m_itemNo && m_itemNo <= 255); + + J3DModelData* modelData = (J3DModelData*)dComIfG_getObjectRes(i_arcName, i_bmdName); + JUT_ASSERT(modelData != 0); u32 flags = 0x11000084; - u32 uvar7 = 0x80000; + u32 modelflags = 0x80000; - if (btkName > 0) { + if (i_btkName > 0) { flags |= 0x200; } - if (bpkName > 0) { + if (i_bpkName > 0) { flags |= 0x1; } - if (btpName > 0) { + if (i_btpName > 0) { flags |= 0x20000; } if (chkFlag(4)) { - uvar7 = 0; + modelflags = 0; } - mpModel = mDoExt_J3DModel__create(modelData, uvar7, flags); - + mpModel = mDoExt_J3DModel__create(modelData, modelflags, flags); if (mpModel == NULL) { return 0; - } else { - mpBtkAnm = NULL; - if (btkName > 0) { - J3DAnmTextureSRTKey* pbtk = - (J3DAnmTextureSRTKey*)dComIfG_getObjectRes(arcName, btkName); - mpBtkAnm = new mDoExt_btkAnm(); + } - if (mpBtkAnm == NULL || !mpBtkAnm->init(modelData, pbtk, 1, 2, 1.0f, 0, -1)) { - return 0; - } - } + mpBtkAnm = NULL; + if (i_btkName > 0) { + J3DAnmTextureSRTKey* pbtk = + (J3DAnmTextureSRTKey*)dComIfG_getObjectRes(i_arcName, i_btkName); + JUT_ASSERT(pbtk != 0); - mpBpkAnm = NULL; - if (bpkName > 0) { - J3DAnmColor* pbpk = (J3DAnmColor*)dComIfG_getObjectRes(arcName, bpkName); - mpBpkAnm = new mDoExt_bpkAnm(); - - if (mpBpkAnm == NULL || !mpBpkAnm->init(modelData, pbpk, 1, 2, 1.0f, 0, -1)) { - return 0; - } - } - - mpBckAnm = NULL; - if (bckName > 0) { - J3DAnmTransform* pbck = (J3DAnmTransform*)dComIfG_getObjectRes(arcName, bckName); - mpBckAnm = new mDoExt_bckAnm(); - - if (mpBckAnm == NULL || !mpBckAnm->init(pbck, 1, 2, 1.0f, 0, -1, false)) { - return 0; - } - } - - mpBrkAnm = NULL; - if (brkName > 0) { - J3DAnmTevRegKey* pbrk = (J3DAnmTevRegKey*)dComIfG_getObjectRes(arcName, brkName); - s8 tevFrm = getTevFrm(); - int anmPlay = 1; - if (tevFrm != -1) { - anmPlay = 0; - } - - mpBrkAnm = new mDoExt_brkAnm(); - - if (mpBrkAnm == NULL || !mpBrkAnm->init(modelData, pbrk, anmPlay, 2, 1.0f, 0, -1)) { - return 0; - } - } - - mpBtpAnm = NULL; - if (btpName > 0) { - J3DAnmTexPattern* pbtp = (J3DAnmTexPattern*)dComIfG_getObjectRes(arcName, btpName); - mpBtpAnm = new mDoExt_btpAnm(); - - if (mpBtpAnm == NULL || !mpBtpAnm->init(modelData, pbtp, 1, 2, 1.0f, 0, -1)) { - return 0; - } - } - - if (!clothCreate()) { + mpBtkAnm = new mDoExt_btkAnm(); + if (mpBtkAnm == NULL || !mpBtkAnm->init(modelData, pbtk, TRUE, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f, 0, -1)) { return 0; } } - return __CreateHeap() ? 1 : 0; + mpBpkAnm = NULL; + if (i_bpkName > 0) { + J3DAnmColor* pbpk = (J3DAnmColor*)dComIfG_getObjectRes(i_arcName, i_bpkName); + JUT_ASSERT(pbpk != 0); + + mpBpkAnm = new mDoExt_bpkAnm(); + if (mpBpkAnm == NULL || !mpBpkAnm->init(modelData, pbpk, TRUE, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f, 0, -1)) { + return 0; + } + } + + mpBckAnm = NULL; + if (i_bckName > 0) { + J3DAnmTransform* pbck = (J3DAnmTransform*)dComIfG_getObjectRes(i_arcName, i_bckName); + JUT_ASSERT(pbck != 0); + + mpBckAnm = new mDoExt_bckAnm(); + if (mpBckAnm == NULL || !mpBckAnm->init(pbck, TRUE, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f, 0, -1, false)) { + return 0; + } + } + + mpBrkAnm = NULL; + if (i_brkName > 0) { + J3DAnmTevRegKey* pbrk = (J3DAnmTevRegKey*)dComIfG_getObjectRes(i_arcName, i_brkName); + JUT_ASSERT(pbrk != 0); + + s8 tevFrm = getTevFrm(); + int anmPlay = TRUE; + if (tevFrm != -1) { + anmPlay = FALSE; + } + + mpBrkAnm = new mDoExt_brkAnm(); + if (mpBrkAnm == NULL || !mpBrkAnm->init(modelData, pbrk, anmPlay, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f, 0, -1)) { + return 0; + } + } + + mpBtpAnm = NULL; + if (i_btpName > 0) { + J3DAnmTexPattern* pbtp = (J3DAnmTexPattern*)dComIfG_getObjectRes(i_arcName, i_btpName); + JUT_ASSERT(pbtp != 0); + + mpBtpAnm = new mDoExt_btpAnm(); + if (mpBtpAnm == NULL || !mpBtpAnm->init(modelData, pbtp, TRUE, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f, 0, -1)) { + return 0; + } + } + + if (!clothCreate()) { + return 0; + } + + return __CreateHeap() ? TRUE : FALSE; } /* 80144B94-80144C30 13F4D4 009C+00 1/0 1/0 9/0 .text DrawBase__12daItemBase_cFv */ @@ -142,7 +139,7 @@ int daItemBase_c::DrawBase() { /* 80144C30-80144C7C 13F570 004C+00 1/0 1/0 9/0 .text RotateYBase__12daItemBase_cFv */ void daItemBase_c::RotateYBase() { - shape_angle.y += (s16)(0xFFFF / getData().field_0x1c); + shape_angle.y += (s16)(0xFFFF / getData().mRotateYSpeed); } /* 80144C7C-80144CA0 13F5BC 0024+00 1/0 1/0 5/0 .text setListStart__12daItemBase_cFv */ @@ -185,8 +182,8 @@ void daItemBase_c::setShadow() { } mShadowKey = dComIfGd_setShadow(mShadowKey, 3, mpModel, ¤t.pos, shadowSize, 0.0f, - current.pos.y, mAcch.GetGroundH(), mAcch.m_gnd, &tevStr, - 0, 1.0f, dDlst_shadowControl_c::getSimpleTex()); + current.pos.y, mAcch.GetGroundH(), mAcch.m_gnd, &tevStr, 0, + 1.0f, dDlst_shadowControl_c::getSimpleTex()); } } @@ -224,37 +221,37 @@ void daItemBase_c::animEntry() { } /* 8014503C-80145144 13F97C 0108+00 0/0 2/2 4/4 .text animPlay__12daItemBase_cFffffff */ -void daItemBase_c::animPlay(f32 btkSpeed, f32 bpkSpeed, f32 bckSpeed, f32 param_3, f32 brkSpeed, - f32 btpSpeed) { +void daItemBase_c::animPlay(f32 i_btkSpeed, f32 i_bpkSpeed, f32 i_bckSpeed, f32 param_3, f32 i_brkSpeed, + f32 i_btpSpeed) { if (mpBrkAnm != NULL && getTevFrm() == -1) { - mpBrkAnm->setPlaySpeed(brkSpeed); + mpBrkAnm->setPlaySpeed(i_brkSpeed); mpBrkAnm->play(); } if (mpBtpAnm != NULL && getBtpFrm() == -1) { - mpBtpAnm->setPlaySpeed(btpSpeed); + mpBtpAnm->setPlaySpeed(i_btpSpeed); mpBtpAnm->play(); } if (mpBtkAnm != NULL) { - mpBtkAnm->setPlaySpeed(btkSpeed); + mpBtkAnm->setPlaySpeed(i_btkSpeed); mpBtkAnm->play(); } if (mpBpkAnm != NULL) { - mpBpkAnm->setPlaySpeed(bpkSpeed); + mpBpkAnm->setPlaySpeed(i_bpkSpeed); mpBpkAnm->play(); } if (mpBckAnm != NULL) { - mpBckAnm->setPlaySpeed(bckSpeed); + mpBckAnm->setPlaySpeed(i_bckSpeed); mpBckAnm->play(); } } /* 80145144-80145164 13FA84 0020+00 1/0 1/0 8/0 .text chkFlag__12daItemBase_cFi */ -BOOL daItemBase_c::chkFlag(int flag) { - return dItem_data::chkFlag(m_itemNo, flag); +BOOL daItemBase_c::chkFlag(int i_flag) { + return dItem_data::chkFlag(m_itemNo, i_flag); } /* 80145164-80145180 13FAA4 001C+00 1/0 1/0 8/0 .text getTevFrm__12daItemBase_cFv */ diff --git a/src/d/a/d_a_itembase_static.cpp b/src/d/a/d_a_itembase_static.cpp index 7266807dc2..e6fe5966cc 100644 --- a/src/d/a/d_a_itembase_static.cpp +++ b/src/d/a/d_a_itembase_static.cpp @@ -1,13 +1,12 @@ -// -// Generated By: dol2asm -// Translation Unit: d/a/d_a_itembase_static -// +/** + * d_a_itembase_static.cpp + * + */ #include "d/a/d_a_itembase_static.h" -#include "d/a/d_a_itembase.h" #include "SSystem/SComponent/c_lib.h" +#include "d/a/d_a_itembase.h" #include "d/d_item_data.h" -#include "dol2asm.h" u8 daItemBase_c::getItemNo() { return m_itemNo; @@ -43,35 +42,46 @@ u8 daItemBase_c::chkDead() { /* 80037B0C-80037B78 03244C 006C+00 0/0 0/0 1/1 .text CheckItemCreateHeap__FP10fopAc_ac_c */ -int CheckItemCreateHeap(fopAc_ac_c* actor) { - daItemBase_c* item = static_cast(actor); +int CheckItemCreateHeap(fopAc_ac_c* i_this) { + daItemBase_c* a_this = static_cast(i_this); - u8 item_no = item->getItemNo(); - return item->CreateItemHeap( - dItem_data::getArcName(item_no), dItem_data::getBmdName(item_no), - dItem_data::getBtkName(item_no), dItem_data::getBpkName(item_no), - dItem_data::getBckName(item_no), dItem_data::getBxaName(item_no), - dItem_data::getBrkName(item_no), dItem_data::getBtpName(item_no) - ); + u8 item_no = a_this->getItemNo(); + return a_this->CreateItemHeap(dItem_data::getArcName(item_no), dItem_data::getBmdName(item_no), + dItem_data::getBtkName(item_no), dItem_data::getBpkName(item_no), + dItem_data::getBckName(item_no), dItem_data::getBxaName(item_no), + dItem_data::getBrkName(item_no), dItem_data::getBtpName(item_no)); } /* 80037B78-80037BE0 0324B8 0068+00 0/0 1/1 7/7 .text CheckFieldItemCreateHeap__FP10fopAc_ac_c */ -int CheckFieldItemCreateHeap(fopAc_ac_c* actor) { - daItemBase_c* item = static_cast(actor); +int CheckFieldItemCreateHeap(fopAc_ac_c* i_this) { + daItemBase_c* a_this = static_cast(i_this); - u8 item_no = item->getItemNo(); - return item->CreateItemHeap( + u8 item_no = a_this->getItemNo(); + return a_this->CreateItemHeap( dItem_data::getFieldArc(item_no), dItem_data::getItemBmdName(item_no), dItem_data::getItemBtkName(item_no), dItem_data::getItemBpkName(item_no), dItem_data::getItemBckName(item_no), dItem_data::getItemBxaName(item_no), - dItem_data::getItemBrkName(item_no), dItem_data::getItemBtpName(item_no) - ); + dItem_data::getItemBrkName(item_no), dItem_data::getItemBtpName(item_no)); } -/* ############################################################################################## */ /* 803792B0-803792E8 005910 0038+00 0/0 1/1 0/0 .rodata m_data__12daItemBase_c */ -SECTION_RODATA daItemBase_data const daItemBase_c::m_data = { - -4.5f, 0.62f, 45.0f, 10.0f, 6.0f, 1, 240, 60, 4000, - 120, -4.0f, 3.5f, 1100, 3000, 23.0f, -6.0f, 13, 10, +const daItemBase_data daItemBase_c::m_data = { + -4.5f, // mGravity + 0.62f, // mGroundReflect + 45.0f, // mLaunchSpeed + 10.0f, // mScalingTime + 6.0f, // mSpeedH + 1, // mFlashCycleTime + 240, // mWaitTime + 60, // mDisappearTime + 4000, // mRotateXSpeed + 120, // mRotateYSpeed + -4.0f, // mHeartFallSpeed + 3.5f, // mHeartAmplitude + 1100, // mHeartFallCycleTime + 3000, // mHeartTilt + 23.0f, // mGetDemoLaunchSpeed + -6.0f, // mGetDemoGravity + 13, // mSimpleExistTime + 10, // mNoGetTime }; -COMPILER_STRIP_GATE(0x803792B0, &daItemBase_c::m_data); diff --git a/src/d/a/d_a_npc.cpp b/src/d/a/d_a_npc.cpp index d9e5d5c50f..d5689046cd 100644 --- a/src/d/a/d_a_npc.cpp +++ b/src/d/a/d_a_npc.cpp @@ -5509,9 +5509,9 @@ BOOL daNpcF_c::chkActorInAttnArea(fopAc_ac_c* i_actorCheck, fopAc_ac_c* i_actorA f32 neg_upper_y = dComIfGp_getAttention().getDistTable(i_distIndex).mUpperY * -1.0f; cXyz center = i_actorAttn->current.pos; cXyz bounds; - bounds.x = dComIfGp_getAttention().getDistTable(i_distIndex).mRadius1; + bounds.x = dComIfGp_getAttention().getDistTable(i_distIndex).mDistMax; bounds.y = (fabsf(neg_lower_y) + fabsf(neg_upper_y)) / 2.0f; - bounds.z = dComIfGp_getAttention().getDistTable(i_distIndex).mRadius1; + bounds.z = dComIfGp_getAttention().getDistTable(i_distIndex).mDistMax; center.y = bounds.y + (center.y + neg_upper_y); if (chkActorInArea(i_actorCheck, center, bounds, i_actorAttn->shape_angle.y)) { ret = true; @@ -5911,7 +5911,7 @@ cXyz daNpcF_c::getAttentionPos(fopAc_ac_c* i_ActorP) { // matches with literals BOOL daNpcF_c::chkFindPlayer2(BOOL i_hasAttn, s16 i_angle) { cXyz attn_pos = getAttentionPos(daPy_getPlayerActorClass()); - int attn_no = i_hasAttn == false ? attention_info.field_0x0[3] : attention_info.field_0x0[1]; + int attn_no = i_hasAttn == false ? attention_info.distances[fopAc_attn_SPEAK_e] : attention_info.distances[fopAc_attn_TALK_e]; f32 fvar2 = i_hasAttn == false ? dAttention_c::getDistTable(attn_no).field_0x0 : dAttention_c::getDistTable(attn_no).field_0x4; f32 fvar3 = dAttention_c::getDistTable(attn_no).field_0x10 * -1.0f; diff --git a/src/d/a/d_a_npc_cd2.cpp b/src/d/a/d_a_npc_cd2.cpp index 8b138f33cc..f113cb9e53 100644 --- a/src/d/a/d_a_npc_cd2.cpp +++ b/src/d/a/d_a_npc_cd2.cpp @@ -2330,10 +2330,3 @@ asm void __sinit_d_a_npc_cd2_cpp(){nofralloc #pragma force_active on REGISTER_CTORS(0x8015A90C, __sinit_d_a_npc_cd2_cpp); #pragma pop - -/* ############################################################################################## */ -/* 80451010-80451018 000510 0008+00 0/0 1/1 0/0 .sbss None */ -extern u8 data_80451010[8]; -u8 data_80451010[8]; - -/* 80393B70-80393B70 0201D0 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ diff --git a/src/d/a/d_a_obj_item.cpp b/src/d/a/d_a_obj_item.cpp index 6ce96e2919..b05f141af9 100644 --- a/src/d/a/d_a_obj_item.cpp +++ b/src/d/a/d_a_obj_item.cpp @@ -1,13 +1,16 @@ -// -// Generated By: dol2asm -// Translation Unit: a/obj/d_a_obj_item -// +/** + * d_a_obj_item.cpp + * Item (Rupee, Arrow, Heart, etc) Object Actor + */ #include "d/a/d_a_obj_item.h" +#include "SSystem/SComponent/c_math.h" +#include "d/a/d_a_itembase_static.h" #include "d/a/d_a_player.h" #include "d/com/d_com_inf_game.h" #include "d/d_item.h" #include "d/d_item_data.h" +#include "d/s/d_s_play.h" #include "dol2asm.h" #include "m_Do/m_Do_mtx.h" @@ -15,232 +18,36 @@ // Forward References: // -extern "C" static void Reflect__FP4cXyzRC13cBgS_PolyInfof(); -extern "C" void getData__12daItemBase_cFv(); -extern "C" void initBaseMtx__8daItem_cFv(); -extern "C" void setBaseMtx__8daItem_cFv(); -extern "C" void setBaseMtx_0__8daItem_cFv(); -extern "C" void setBaseMtx_1__8daItem_cFv(); -extern "C" static void -itemGetCoCallBack__FP10fopAc_ac_cP12dCcD_GObjInfP10fopAc_ac_cP12dCcD_GObjInf(); -extern "C" static void -itemGetTgCallBack__FP10fopAc_ac_cP12dCcD_GObjInfP10fopAc_ac_cP12dCcD_GObjInf(); -extern "C" void CreateInit__8daItem_cFv(); -extern "C" void setCullInfo__8daItem_cFv(); -extern "C" void _daItem_create__8daItem_cFv(); -extern "C" void __dt__16Z2SoundObjSimpleFv(); -extern "C" void _daItem_execute__8daItem_cFv(); -extern "C" void _daItem_draw__8daItem_cFv(); -extern "C" void _daItem_delete__8daItem_cFv(); -extern "C" void procInitNormal__8daItem_cFv(); -extern "C" void procMainNormal__8daItem_cFv(); -extern "C" void procMainEnemyCarry__8daItem_cFv(); -extern "C" void procInitForceGet__8daItem_cFv(); -extern "C" void procMainForceGet__8daItem_cFv(); -extern "C" void procInitSimpleGetDemo__8daItem_cFv(); -extern "C" void procMainSimpleGetDemo__8daItem_cFv(); -extern "C" void procInitGetDemoEvent__8daItem_cFv(); -extern "C" void procWaitGetDemoEvent__8daItem_cFv(); -extern "C" void procMainGetDemoEvent__8daItem_cFv(); -extern "C" void procInitBoomerangCarry__8daItem_cFv(); -extern "C" void procMainBoomerangCarry__8daItem_cFv(); -extern "C" void procInitSwOnWait__8daItem_cFv(); -extern "C" void procMainSwOnWait__8daItem_cFv(); -extern "C" void procInitBoomHitWait__8daItem_cFv(); -extern "C" void procMainBoomHitWait__8daItem_cFv(); -extern "C" void move_proc_call__8daItem_cFv(); -extern "C" void mode_wait_init__8daItem_cFv(); -extern "C" void mode_water_init__8daItem_cFv(); -extern "C" void mode_wait__8daItem_cFv(); -extern "C" void mode_water__8daItem_cFv(); -extern "C" void setTevStr__8daItem_cFv(); extern "C" void itemGetNextExecute__8daItem_cFv(); -extern "C" void itemGet__8daItem_cFv(); -extern "C" void checkCountTimer__8daItem_cFv(); extern "C" void checkPlayerGet__8daItem_cFv(); -extern "C" void checkYogan__8daItem_cFv(); -extern "C" void deleteItem__8daItem_cFv(); -extern "C" void itemActionForRupee__8daItem_cFv(); -extern "C" void itemActionForHeart__8daItem_cFv(); -extern "C" void itemActionForArrow__8daItem_cFv(); -extern "C" void itemActionForBoomerang__8daItem_cFv(); -extern "C" void bg_check__8daItem_cFv(); -extern "C" void set_bound_se__8daItem_cFv(); -extern "C" void CountTimer__8daItem_cFv(); -extern "C" void initAction__8daItem_cFv(); -extern "C" void initFlag__8daItem_cFv(); -extern "C" void initScale__8daItem_cFv(); -extern "C" void initSpeed__8daItem_cFi(); -extern "C" void initAngle__8daItem_cFv(); -extern "C" static void daItem_Draw__FP8daItem_c(); -extern "C" static void daItem_Execute__FP8daItem_c(); -extern "C" static void daItem_Delete__FP8daItem_c(); -extern "C" static void daItem_Create__FP10fopAc_ac_c(); -extern "C" void __sinit_d_a_obj_item_cpp(); -extern "C" void getItemPos__9daPy_py_cCFv(); -extern "C" void getLeftHandPos__9daPy_py_cCFv(); -extern "C" extern char const* const a_obj_d_a_obj_item__stringBase0; -extern "C" u8 mFuncPtr__8daItem_c[120]; -extern "C" u8 m_cyl_src__8daItem_c[68]; -extern "C" u32 m_timer_max__8daItem_c[1 + 1 /* padding */]; // // External References: // -extern "C" void mDoMtx_YrotS__FPA4_fs(); -extern "C" void transS__14mDoMtx_stack_cFRC4cXyz(); -extern "C" void transM__14mDoMtx_stack_cFfff(); -extern "C" void ZXYrotM__14mDoMtx_stack_cFRC5csXyz(); -extern "C" void __ct__10fopAc_ac_cFv(); -extern "C" void fopAcM_delete__FP10fopAc_ac_c(); -extern "C" void fopAcM_delete__FUi(); -extern "C" void fopAcM_entrySolidHeap__FP10fopAc_ac_cPFP10fopAc_ac_c_iUl(); -extern "C" void fopAcM_posMoveF__FP10fopAc_ac_cPC4cXyz(); -extern "C" void fopAcM_searchActorDistance__FPC10fopAc_ac_cPC10fopAc_ac_c(); -extern "C" void fopAcM_orderItemEvent__FP10fopAc_ac_cUsUs(); -extern "C" void fopAcM_createItemForTrBoxDemo__FPC4cXyziiiPC5csXyzPC4cXyz(); -extern "C" void fopAcM_effHamonSet__FPUlPC4cXyzff(); -extern "C" void lineCheck__11fopAcM_lc_cFPC4cXyzPC4cXyzPC10fopAc_ac_c(); -extern "C" void dComIfG_resLoad__FP30request_of_phase_process_classPCc(); -extern "C" void dComIfGp_getReverb__Fi(); -extern "C" void offFirstBit__21dSv_player_get_item_cFUc(); -extern "C" void isSwitch__10dSv_info_cCFii(); -extern "C" void onItem__10dSv_info_cFii(); -extern "C" void isItem__10dSv_info_cCFii(); -extern "C" void hide__12daItemBase_cFv(); -extern "C" void show__12daItemBase_cFv(); -extern "C" void changeDraw__12daItemBase_cFv(); -extern "C" void chkDraw__12daItemBase_cFv(); -extern "C" void CheckFieldItemCreateHeap__FP10fopAc_ac_c(); -extern "C" void reset__14dEvt_control_cFv(); -extern "C" void setPtI_Id__14dEvt_control_cFUi(); -extern "C" void endCheckOld__16dEvent_manager_cFPCc(); -extern "C" void __ct__19dPa_followEcallBackFUcUc(); -extern "C" void -set__13dPa_control_cFUcUsPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyzUcP18dPa_levelEcallBackScPC8_GXColorPC8_GXColorPC4cXyzf(); -extern "C" void GetTriPla__4cBgSCFRC13cBgS_PolyInfoP8cM3dGPla(); -extern "C" void ChkMoveBG_NoDABg__4dBgSFRC13cBgS_PolyInfo(); -extern "C" void GetPolyAtt0__4dBgSFRC13cBgS_PolyInfo(); -extern "C" void __ct__12dBgS_AcchCirFv(); -extern "C" void SetWall__12dBgS_AcchCirFff(); -extern "C" void __ct__9dBgS_AcchFv(); -extern "C" void Set__9dBgS_AcchFP4cXyzP4cXyzP10fopAc_ac_ciP12dBgS_AcchCirP4cXyzP5csXyzP5csXyz(); -extern "C" void CrrPos__9dBgS_AcchFR4dBgS(); -extern "C" void SetMoveBGOnly__9dBgS_AcchFv(); -extern "C" void ClrMoveBGOnly__9dBgS_AcchFv(); -extern "C" void SetObj__16dBgS_PolyPassChkFv(); -extern "C" void __ct__10dCcD_GSttsFv(); -extern "C" void Init__9dCcD_SttsFiiP10fopAc_ac_c(); -extern "C" void __ct__12dCcD_GObjInfFv(); -extern "C" void ChkTgHit__12dCcD_GObjInfFv(); -extern "C" void GetTgHitObj__12dCcD_GObjInfFv(); -extern "C" void ChkCoHit__12dCcD_GObjInfFv(); -extern "C" void Set__8dCcD_CylFRC11dCcD_SrcCyl(); -extern "C" void execItemGet__FUc(); -extern "C" void checkItemGet__FUci(); -extern "C" void isHeart__FUc(); +// cLib_calcTimer extern "C" u8 func_80141AE8(u8*); -extern "C" void DeleteBase__12daItemBase_cFPCc(); -extern "C" bool clothCreate__12daItemBase_cFv(); -extern "C" bool __CreateHeap__12daItemBase_cFv(); -extern "C" void DrawBase__12daItemBase_cFv(); -extern "C" void RotateYBase__12daItemBase_cFv(); -extern "C" void setListStart__12daItemBase_cFv(); -extern "C" void settingBeforeDraw__12daItemBase_cFv(); -extern "C" void setShadow__12daItemBase_cFv(); -extern "C" void animEntry__12daItemBase_cFv(); -extern "C" void animPlay__12daItemBase_cFffffff(); -extern "C" void chkFlag__12daItemBase_cFi(); -extern "C" void getTevFrm__12daItemBase_cFv(); -extern "C" void getBtpFrm__12daItemBase_cFv(); -extern "C" void getShadowSize__12daItemBase_cFv(); -extern "C" void getCollisionH__12daItemBase_cFv(); -extern "C" void getCollisionR__12daItemBase_cFv(); -extern "C" void initOffset__20daPy_boomerangMove_cFPC4cXyz(); -extern "C" void posMove__20daPy_boomerangMove_cFP4cXyzPsP10fopAc_ac_cs(); -extern "C" void bgCheckAfterOffset__20daPy_boomerangMove_cFPC4cXyz(); -extern "C" void settingTevStruct__18dScnKy_env_light_cFiP4cXyzP12dKy_tevstr_c(); -extern "C" void setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c(); -extern "C" void Set__4cCcSFP8cCcD_Obj(); -extern "C" void __pl__4cXyzCFRC3Vec(); -extern "C" void __mi__4cXyzCFRC3Vec(); -extern "C" void __ml__4cXyzCFf(); -extern "C" bool __eq__4cXyzCFRC3Vec(); -extern "C" bool __ne__4cXyzCFRC3Vec(); -extern "C" void cM_atan2s__Fff(); -extern "C" void cM_rndF__Ff(); -extern "C" void cM_rndFX__Ff(); -extern "C" void SetC__8cM3dGCylFRC4cXyz(); -extern "C" void SetH__8cM3dGCylFf(); -extern "C" void SetR__8cM3dGCylFf(); -extern "C" void cLib_chaseF__FPfff(); -extern "C" void seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc(); -extern "C" void __dt__14Z2SoundObjBaseFv(); -extern "C" void deleteObject__14Z2SoundObjBaseFv(); -extern "C" void startCollisionSE__14Z2SoundObjBaseFUlUlP14Z2SoundObjBase(); -extern "C" void __ct__16Z2SoundObjSimpleFv(); -extern "C" void __dl__FPv(); -extern "C" void __ptmf_test(); -extern "C" void __ptmf_scall(); -extern "C" void __cvt_fp2unsigned(); -extern "C" void _savegpr_28(); -extern "C" void _savegpr_29(); -extern "C" void _restgpr_28(); -extern "C" void _restgpr_29(); -extern "C" u8 const m_data__12daItemBase_c[56]; -extern "C" extern u8 const __ptmf_null[12 + 4 /* padding */]; -extern "C" extern void* __vt__8cM3dGPla[3]; -extern "C" extern void* __vt__8cM3dGCyl[3]; -extern "C" extern void* __vt__8cM3dGAab[3]; -extern "C" extern void* __vt__8dCcD_Cyl[36]; -extern "C" extern void* __vt__9dCcD_Stts[11]; -extern "C" void* field_item_res__10dItem_data[1020]; -extern "C" u8 item_info__10dItem_data[1020 + 4 /* padding */]; -extern "C" extern void* __vt__12dBgS_ObjAcch[9]; -extern "C" extern void* __vt__12daItemBase_c[17 + 1 /* padding */]; -extern "C" extern void* __vt__12cCcD_CylAttr[25]; -extern "C" extern void* __vt__14cCcD_ShapeAttr[22]; -extern "C" extern void* __vt__9cCcD_Stts[8]; + extern "C" extern void* __vt__16Z2SoundObjSimple[8]; -extern "C" u8 now__14mDoMtx_stack_c[48]; -extern "C" u8 sincosTable___5JMath[65536]; -extern "C" extern u8 data_80451010[8]; -extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; - -// -// Declarations: -// - -/* ############################################################################################## */ -/* 80453550-80453558 001B50 0004+04 11/11 0/0 0/0 .sdata2 @3857 */ -SECTION_SDATA2 static f32 lit_3857[1 + 1 /* padding */] = { - 0.0f, - /* padding */ - 0.0f, -}; - -/* 80453558-80453560 001B58 0008+00 2/2 0/0 0/0 .sdata2 @3858 */ -SECTION_SDATA2 static f64 lit_3858 = 0.5; - -/* 80453560-80453568 001B60 0008+00 2/2 0/0 0/0 .sdata2 @3859 */ -SECTION_SDATA2 static f64 lit_3859 = 3.0; - -/* 80453568-80453570 001B68 0008+00 2/2 0/0 0/0 .sdata2 @3860 */ -SECTION_SDATA2 static u8 lit_3860[8] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; +extern "C" void __dl__FPv(); +extern "C" void __dt__14Z2SoundObjBaseFv(); /* 8015ADCC-8015B0B8 15570C 02EC+00 1/1 0/0 0/0 .text Reflect__FP4cXyzRC13cBgS_PolyInfof */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void Reflect(cXyz* param_0, cBgS_PolyInfo const& param_1, f32 param_2) { - nofralloc -#include "asm/a/obj/d_a_obj_item/Reflect__FP4cXyzRC13cBgS_PolyInfof.s" +static f32 Reflect(cXyz* i_vec, cBgS_PolyInfo const& i_polyinfo, f32 i_scale) { + cM3dGPla plane; + + if (dComIfG_Bgsp().GetTriPla(i_polyinfo, &plane)) { + cXyz reflect_vec; + f32 mag = i_vec->absXZ(); + + C_VECReflect(i_vec, &plane.mNormal, &reflect_vec); + *i_vec = (reflect_vec * mag) * i_scale; + return i_vec->absXZ(); + } + + return 0.0f; } -#pragma pop /* 8015B0B8-8015B0C4 1559F8 000C+00 10/10 1/1 1/1 .text getData__12daItemBase_cFv */ const daItemBase_data& daItemBase_c::getData() { @@ -285,13 +92,7 @@ void daItem_c::setBaseMtx_0() { mDoMtx_stack_c::ZXYrotM(shape_angle); } -/* ############################################################################################## */ -/* 80453570-80453574 001B70 0004+00 3/3 0/0 0/0 .sdata2 @3923 */ -SECTION_SDATA2 static f32 lit_3923 = 0.5f; - /* 8015B1C8-8015B254 155B08 008C+00 1/1 0/0 0/0 .text setBaseMtx_1__8daItem_cFv */ -// matches with literals -#ifdef NONMATCHING void daItem_c::setBaseMtx_1() { f32 max_y = mpModel->getModelData()->getJointNodePointer(0)->getMax()->y; f32 y = (max_y / 2) * scale.y; @@ -302,19 +103,31 @@ void daItem_c::setBaseMtx_1() { mDoMtx_stack_c::ZXYrotM(shape_angle); mDoMtx_stack_c::transM(0.0f, -y, 0.0f); } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daItem_c::setBaseMtx_1() { - nofralloc -#include "asm/a/obj/d_a_obj_item/setBaseMtx_1__8daItem_cFv.s" -} -#pragma pop -#endif /* 8015B254-8015B320 155B94 00CC+00 2/2 0/0 0/0 .text * itemGetCoCallBack__FP10fopAc_ac_cP12dCcD_GObjInfP10fopAc_ac_cP12dCcD_GObjInf */ +// matches, but pushes up weak daPy_py_c functions incorrectly +// might need other TUs that use daPy_py_c weaks to be finished first +#ifdef NONMATCHING +static void itemGetCoCallBack(fopAc_ac_c* i_coActorA, dCcD_GObjInf* i_coObjInfA, + fopAc_ac_c* i_coActorB, dCcD_GObjInf* i_coObjInfB) { + daItem_c* a_coActorA = (daItem_c*)i_coActorA; + + if (a_coActorA != NULL) { + if (a_coActorA->checkPlayerGet() && i_coActorB != NULL) { + if (fopAcM_GetName(i_coActorB) == fopAcM_GetName(dComIfGp_getLinkPlayer()) || + fopAcM_GetName(i_coActorB) == PROC_NPC_P2 || + (fopAcM_GetName(i_coActorB) == PROC_CANOE && + daPy_getPlayerActorClass()->checkCanoeRide()) || + (fopAcM_GetName(i_coActorB) == PROC_HORSE && + daPy_getPlayerActorClass()->checkHorseRide())) + { + a_coActorA->itemGetNextExecute(); + } + } + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -324,226 +137,35 @@ static asm void itemGetCoCallBack(fopAc_ac_c* param_0, dCcD_GObjInf* param_1, fo #include "asm/a/obj/d_a_obj_item/itemGetCoCallBack__FP10fopAc_ac_cP12dCcD_GObjInfP10fopAc_ac_cP12dCcD_GObjInf.s" } #pragma pop +#endif /* 8015B320-8015B3D8 155C60 00B8+00 2/2 0/0 0/0 .text * itemGetTgCallBack__FP10fopAc_ac_cP12dCcD_GObjInfP10fopAc_ac_cP12dCcD_GObjInf */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void itemGetTgCallBack(fopAc_ac_c* param_0, dCcD_GObjInf* param_1, fopAc_ac_c* param_2, - dCcD_GObjInf* param_3) { - nofralloc -#include "asm/a/obj/d_a_obj_item/itemGetTgCallBack__FP10fopAc_ac_cP12dCcD_GObjInfP10fopAc_ac_cP12dCcD_GObjInf.s" -} -#pragma pop +static void itemGetTgCallBack(fopAc_ac_c* i_tgActor, dCcD_GObjInf* i_tgObjInf, + fopAc_ac_c* i_atActor, dCcD_GObjInf* i_atObjInf) { + daItem_c* a_tgActor = (daItem_c*)i_tgActor; + + if (a_tgActor != NULL && a_tgActor->checkPlayerGet()) { + if (i_atObjInf->ChkAtType(2)) { + a_tgActor->itemGetNextExecute(); + } else if (i_atObjInf->ChkAtType(AT_TYPE_40) || i_atObjInf->ChkAtType(AT_TYPE_BOOMERANG)) { + if (!dComIfGp_event_runCheck() && a_tgActor->checkBoomWindTgTimer() && + a_tgActor->getStatus() != daItem_c::STATUS_BOOMERANG_CARRY_e) + { + a_tgActor->procInitBoomerangCarry(); + } + } else if (i_atObjInf->ChkAtType(AT_TYPE_HOOKSHOT)) { + a_tgActor->clrFlag(daItem_c::FLAG_NO_MOVE_e); + } + } +} -/* ############################################################################################## */ /* 803B9DA0-803B9DAC 016EC0 000C+00 2/2 0/0 0/0 .data cNullVec__6Z2Calc */ SECTION_DATA static u8 cNullVec__6Z2Calc[12] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }; -/* 803B9DAC-803B9DB8 -00001 000C+00 0/1 0/0 0/0 .data @4679 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4679[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)mode_wait__8daItem_cFv, -}; -#pragma pop - -/* 803B9DB8-803B9DC4 -00001 000C+00 0/1 0/0 0/0 .data @4680 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4680[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)mode_water__8daItem_cFv, -}; -#pragma pop - -/* 803B9DC4-803B9DDC 016EE4 0018+00 0/1 0/0 0/0 .data mode_proc$4678 */ -#pragma push -#pragma force_active on -SECTION_DATA static u8 mode_proc[24] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -#pragma pop - -/* 803B9DDC-803B9E04 -00001 0028+00 1/1 0/0 0/0 .data @5171 */ -SECTION_DATA static void* lit_5171[10] = { - (void*)(((char*)initFlag__8daItem_cFv) + 0x28), (void*)(((char*)initFlag__8daItem_cFv) + 0x50), - (void*)(((char*)initFlag__8daItem_cFv) + 0x28), (void*)(((char*)initFlag__8daItem_cFv) + 0x78), - (void*)(((char*)initFlag__8daItem_cFv) + 0x114), (void*)(((char*)initFlag__8daItem_cFv) + 0xA0), - (void*)(((char*)initFlag__8daItem_cFv) + 0xC8), (void*)(((char*)initFlag__8daItem_cFv) + 0xF0), - (void*)(((char*)initFlag__8daItem_cFv) + 0x28), (void*)(((char*)initFlag__8daItem_cFv) + 0x28), -}; - -/* 803B9E04-803B9E2C -00001 0028+00 1/1 0/0 0/0 .data @5193 */ -SECTION_DATA static void* lit_5193[10] = { - (void*)(((char*)initScale__8daItem_cFv) + 0x28), - (void*)(((char*)initScale__8daItem_cFv) + 0x3C), - (void*)(((char*)initScale__8daItem_cFv) + 0x3C), - (void*)(((char*)initScale__8daItem_cFv) + 0x3C), - (void*)(((char*)initScale__8daItem_cFv) + 0x3C), - (void*)(((char*)initScale__8daItem_cFv) + 0x28), - (void*)(((char*)initScale__8daItem_cFv) + 0x3C), - (void*)(((char*)initScale__8daItem_cFv) + 0x3C), - (void*)(((char*)initScale__8daItem_cFv) + 0x28), - (void*)(((char*)initScale__8daItem_cFv) + 0x3C), -}; - -#ifdef NONMATCHING -procFunc daItem_c::mFuncPtr[9] = { - &daItem_c::procMainNormal, &daItem_c::procMainEnemyCarry, - &daItem_c::procMainSimpleGetDemo, &daItem_c::procWaitGetDemoEvent, - &daItem_c::procMainGetDemoEvent, &daItem_c::procMainBoomerangCarry, - &daItem_c::procMainSwOnWait, &daItem_c::procMainBoomHitWait, - &daItem_c::procMainForceGet, -}; -#else -/* 803B9E2C-803B9E38 -00001 000C+00 0/1 0/0 0/0 .data @5240 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_5240[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)procMainNormal__8daItem_cFv, -}; -#pragma pop - -/* 803B9E38-803B9E44 -00001 000C+00 0/1 0/0 0/0 .data @5241 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_5241[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)procMainEnemyCarry__8daItem_cFv, -}; -#pragma pop - -/* 803B9E44-803B9E50 -00001 000C+00 0/1 0/0 0/0 .data @5242 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_5242[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)procMainSimpleGetDemo__8daItem_cFv, -}; -#pragma pop - -/* 803B9E50-803B9E5C -00001 000C+00 0/1 0/0 0/0 .data @5243 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_5243[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)procWaitGetDemoEvent__8daItem_cFv, -}; -#pragma pop - -/* 803B9E5C-803B9E68 -00001 000C+00 0/1 0/0 0/0 .data @5244 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_5244[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)procMainGetDemoEvent__8daItem_cFv, -}; -#pragma pop - -/* 803B9E68-803B9E74 -00001 000C+00 0/1 0/0 0/0 .data @5245 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_5245[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)procMainBoomerangCarry__8daItem_cFv, -}; -#pragma pop - -/* 803B9E74-803B9E80 -00001 000C+00 0/1 0/0 0/0 .data @5246 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_5246[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)procMainSwOnWait__8daItem_cFv, -}; -#pragma pop - -/* 803B9E80-803B9E8C -00001 000C+00 0/1 0/0 0/0 .data @5247 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_5247[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)procMainBoomHitWait__8daItem_cFv, -}; -#pragma pop - -/* 803B9E8C-803B9E98 -00001 000C+00 0/1 0/0 0/0 .data @5248 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_5248[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)procMainForceGet__8daItem_cFv, -}; -#pragma pop - -/* 803B9E98-803B9F10 016FB8 0078+00 1/2 0/0 0/0 .data mFuncPtr__8daItem_c */ -SECTION_DATA u8 daItem_c::mFuncPtr[120] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -#endif - -/* 803B9F10-803B9F54 017030 0044+00 1/1 0/0 0/0 .data m_cyl_src__8daItem_c */ -dCcD_SrcCyl daItem_c::m_cyl_src = { - { - {0, {{0, 0, 0}, {0xFFFFFFFF, 17}, 0x59}}, - {dCcD_SE_NONE, 0, 0, 0, {0}}, - {dCcD_SE_NONE, 0, 0, 0, {4}}, - {0}, - }, - { - {0.0f, 0.0f, 0.0f}, - 10.0f, - 50.0f, - }, -}; - -/* 80453574-80453578 001B74 0004+00 1/1 0/0 0/0 .sdata2 @4067 */ -SECTION_SDATA2 static f32 lit_4067 = 30.0f; - -/* 80453578-8045357C 001B78 0004+00 1/1 0/0 0/0 .sdata2 @4068 */ -SECTION_SDATA2 static f32 lit_4068 = 10000.0f; - -/* 8045357C-80453580 001B7C 0004+00 7/7 0/0 0/0 .sdata2 @4069 */ -SECTION_SDATA2 static f32 lit_4069 = 1.0f; - -/* 80453580-80453588 001B80 0004+04 2/2 0/0 0/0 .sdata2 @4070 */ -SECTION_SDATA2 static f32 lit_4070[1 + 1 /* padding */] = { - 150.0f, - /* padding */ - 0.0f, -}; - -/* 80453588-80453590 001B88 0008+00 3/3 0/0 0/0 .sdata2 @4072 */ -SECTION_SDATA2 static f64 lit_4072 = 4503599627370496.0 /* cast u32 to float */; - /* 8015B3D8-8015B7BC 155D18 03E4+00 1/1 0/0 0/0 .text CreateInit__8daItem_cFv */ -// matches with literals -#ifdef NONMATCHING void daItem_c::CreateInit() { mAcchCir.SetWall(30.0f, 30.0f); mAcch.Set(¤t.pos, &old.pos, this, 1, &mAcchCir, &speed, NULL, NULL); @@ -552,11 +174,11 @@ void daItem_c::CreateInit() { mAcch.SetWtrChkMode(2); mAcch.SetWaterCheckOffset(10000.0f); - mColStatus.Init(0, 0xFF, this); - mCollider.Set(m_cyl_src); - mCollider.SetStts(&mColStatus); - mCollider.SetCoHitCallback(itemGetCoCallBack); - mCollider.SetTgHitCallback(itemGetTgCallBack); + mCcStts.Init(0, 0xFF, this); + mCcCyl.Set(m_cyl_src); + mCcCyl.SetStts(&mCcStts); + mCcCyl.SetCoHitCallback(itemGetCoCallBack); + mCcCyl.SetTgHitCallback(itemGetTgCallBack); f32 cylHeight = dItem_data::getH(m_itemNo); f32 cylRadius = dItem_data::getR(m_itemNo); @@ -566,37 +188,37 @@ void daItem_c::CreateInit() { cylRadius *= scale.x; } - mCollider.SetR(cylRadius); - mCollider.SetH(cylHeight); + mCcCyl.SetR(cylRadius); + mCcCyl.SetH(cylHeight); setCullInfo(); - field_0x942 = getData().field_0x16; - field_0x944 = getData().field_0x18; + mWaitTimer = getData().mWaitTime; + mDisappearTimer = getData().mDisappearTime; procInitNormal(); show(); - field_0x930.setall(1.0f); + mItemScale.setall(1.0f); switch (daItem_prm::getType(this)) { - case 5: + case TYPE_BOOM_HIT_e: hide(); procInitBoomHitWait(); break; - case 7: + case TYPE_FORCE_GET_e: procInitForceGet(); break; - case 4: + case TYPE_SIMPLE_GET_e: procInitSimpleGetDemo(); procMainSimpleGetDemo(); break; default: - case 6: - field_0x93c = daItem_prm::getSwitchNo(this); - if (field_0x93c != 0xFF && !fopAcM_isSwitch(this, field_0x93c)) { + case TYPE_LAUNCH_NO_RND_e: + mSwitchNo = daItem_prm::getSwitchNo(this); + if (mSwitchNo != 0xFF && !fopAcM_isSwitch(this, mSwitchNo)) { hide(); - setFlag(8); + setFlag(FLAG_NO_TIMER_e); procInitSwOnWait(); } break; @@ -609,13 +231,13 @@ void daItem_c::CreateInit() { if (m_itemNo == BOOMERANG) { itemGetNextExecute(); } else if ((m_itemNo == ORANGE_RUPEE || m_itemNo == SILVER_RUPEE) && - field_0x998.getEmitter() == NULL) + mSparkleEmtr.getEmitter() == NULL) { - dComIfGp_particle_set(0x0C14, &field_0x9ac, NULL, NULL, -1, &field_0x998, -1, NULL, NULL, + dComIfGp_particle_set(0x0C14, &mSparklePos, NULL, NULL, -1, &mSparkleEmtr, -1, NULL, NULL, NULL); } - field_0x978.init(¤t.pos, 1); + mSound.init(¤t.pos, 1); f32 old_speedF = speedF; cXyz old_speed = speed; @@ -638,17 +260,12 @@ void daItem_c::CreateInit() { mAcch.ClrWaterHit(); mAcch.ClrWaterIn(); mAcch.ClrWallHit(); + + if (field_0x9c0) { + // "Occurs below water surface wtr<%.2f>my<%.2f>\n" + OS_REPORT("水面より下で発生wtr<%.2f>my<%.2f>\n", mAcch.m_wtr.GetHeight(), home.pos.y); + } } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daItem_c::CreateInit() { - nofralloc -#include "asm/a/obj/d_a_obj_item/CreateInit__8daItem_cFv.s" -} -#pragma pop -#endif /* 8015B7BC-8015B7D4 1560FC 0018+00 1/1 0/0 0/0 .text setCullInfo__8daItem_cFv */ void daItem_c::setCullInfo() { @@ -657,90 +274,7 @@ void daItem_c::setCullInfo() { } } -/* ############################################################################################## */ -/* 803B9F54-803B9F74 -00001 0020+00 1/0 0/0 0/0 .data l_daItem_Method */ -SECTION_DATA static void* l_daItem_Method[8] = { - (void*)daItem_Create__FP10fopAc_ac_c, - (void*)daItem_Delete__FP8daItem_c, - (void*)daItem_Execute__FP8daItem_c, - (void*)NULL, - (void*)daItem_Draw__FP8daItem_c, - (void*)NULL, - (void*)NULL, - (void*)NULL, -}; - -/* 803B9F74-803B9FA4 -00001 0030+00 0/0 0/0 1/0 .data g_profile_ITEM */ -SECTION_DATA extern void* g_profile_ITEM[12] = { - (void*)0xFFFFFFFD, (void*)0x0007FFFD, - (void*)0x02180000, (void*)&g_fpcLf_Method, - (void*)0x000009C4, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x00EC0000, (void*)&l_daItem_Method, - (void*)0x000C0100, (void*)0x000F0000, -}; - -/* 803B9FA4-803BA078 0170C4 0044+90 1/1 0/0 0/0 .data __vt__8daItem_c */ -SECTION_DATA extern void* __vt__8daItem_c[17 + 36 /* padding */] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)DrawBase__12daItemBase_cFv, - (void*)setListStart__12daItemBase_cFv, - (void*)settingBeforeDraw__12daItemBase_cFv, - (void*)setTevStr__8daItem_cFv, - (void*)setShadow__12daItemBase_cFv, - (void*)animEntry__12daItemBase_cFv, - (void*)RotateYBase__12daItemBase_cFv, - (void*)clothCreate__12daItemBase_cFv, - (void*)__CreateHeap__12daItemBase_cFv, - (void*)chkFlag__12daItemBase_cFi, - (void*)getTevFrm__12daItemBase_cFv, - (void*)getBtpFrm__12daItemBase_cFv, - (void*)getShadowSize__12daItemBase_cFv, - (void*)getCollisionH__12daItemBase_cFv, - (void*)getCollisionR__12daItemBase_cFv, - /* padding */ - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, -}; - /* 8015B7D4-8015BA3C 156114 0268+00 1/1 0/0 0/0 .text _daItem_create__8daItem_cFv */ -// matches, but issues with vtable -#ifdef NONMATCHING int daItem_c::_daItem_create() { fopAcM_SetupActor(this, daItem_c); @@ -759,43 +293,55 @@ int daItem_c::_daItem_create() { m_itemNo = daItem_prm::getItemNo(this); BOOL flag = dItem_data::chkFlag(m_itemNo, 2); - field_0x920 = daItem_prm::getItemBitNo(this); - if (fopAcM_isItem(this, field_0x920)) { +#ifdef DEBUG + if (dItem_data::getFieldArc(m_itemNo) == NULL) { + // "Item Num<%d>: No Resource Archive specified!!\n" + OS_REPORT_ERROR("アイテム番号<%d>:リソースのアーカイブ指定がありません!!\n", m_itemNo); + return cPhs_ERROR_e; + } + + if (m_itemNo == SMALL_KEY || m_itemNo == KANTERA || m_itemNo == LIGHT_DROP || + m_itemNo == UTAWA_HEART || m_itemNo == KAKERA_HEART) + { + // "fpcNm_(ITEM) is an unhandled item<%d>\n" + OS_REPORT_ERROR("fpcNm_(ITEM)では扱わないアイテムです<%d>\n", m_itemNo); + JUT_ASSERT(0); + return cPhs_ERROR_e; + } else if (m_itemNo == BOMB_5 || m_itemNo == BOMB_10 || m_itemNo == BOMB_20 || + m_itemNo == BOMB_30) + { + // "Bomb Replenish Items are no longer in use!\n" + OS_REPORT_ERROR("補給アイテムの爆弾は使用不可になりました!\n"); return cPhs_ERROR_e; - } else { - int phase_state = cPhs_COMPLEATE_e; - - if (flag) { - CreateInit(); - } else { - phase_state = dComIfG_resLoad(&mPhase, dItem_data::getFieldArc(m_itemNo)); - - if (phase_state == cPhs_COMPLEATE_e) { - if (!fopAcM_entrySolidHeap(this, (heapCallbackFunc)CheckFieldItemCreateHeap, - dItem_data::getFieldHeapSize(m_itemNo))) - { - return cPhs_ERROR_e; - } else { - CreateInit(); - } - } - } - - return phase_state; } -} -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm int daItem_c::_daItem_create() { - nofralloc -#include "asm/a/obj/d_a_obj_item/_daItem_create__8daItem_cFv.s" -} -#pragma pop #endif + mItemBitNo = daItem_prm::getItemBitNo(this); + if (fopAcM_isItem(this, mItemBitNo)) { + return cPhs_ERROR_e; + } + + int phase_state = cPhs_COMPLEATE_e; + + if (flag) { + CreateInit(); + } else { + phase_state = dComIfG_resLoad(&mPhase, dItem_data::getFieldArc(m_itemNo)); + if (phase_state == cPhs_COMPLEATE_e) { + if (!fopAcM_entrySolidHeap(this, CheckFieldItemCreateHeap, + dItem_data::getFieldHeapSize(m_itemNo))) + { + return cPhs_ERROR_e; + } + + CreateInit(); + } + } + + return phase_state; +} + /* 8015BA3C-8015BA9C 15637C 0060+00 0/0 1/1 0/0 .text __dt__16Z2SoundObjSimpleFv */ #pragma push #pragma optimization_level 0 @@ -807,16 +353,7 @@ extern "C" asm void __dt__16Z2SoundObjSimpleFv() { } #pragma pop -/* ############################################################################################## */ -/* 80453590-80453594 001B90 0004+00 1/1 0/0 0/0 .sdata2 @4320 */ -SECTION_SDATA2 static f32 lit_4320 = 300.0f; - -/* 80453594-80453598 001B94 0004+00 1/1 0/0 0/0 .sdata2 @4321 */ -SECTION_SDATA2 static f32 lit_4321 = 18.0f; - /* 8015BA9C-8015BD84 1563DC 02E8+00 1/1 0/0 0/0 .text _daItem_execute__8daItem_cFv */ -// matches with sinit -#ifdef NONMATCHING int daItem_c::_daItem_execute() { field_0x950 = speed; CountTimer(); @@ -826,10 +363,10 @@ int daItem_c::_daItem_execute() { attention_info.position = current.pos; - if (mCollider.ChkTgHit()) { - cCcD_Obj* hitObj = mCollider.GetTgHitObj(); + if (mCcCyl.ChkTgHit()) { + cCcD_Obj* hitObj = mCcCyl.GetTgHitObj(); if (hitObj != NULL && hitObj->ChkAtType(AT_TYPE_HOOKSHOT)) { - field_0x978.startCollisionSE(Z2SE_HIT_HOOKSHOT_STICK, 0, NULL); + mSound.startCollisionSE(Z2SE_HIT_HOOKSHOT_STICK, 0, NULL); } } @@ -859,28 +396,18 @@ int daItem_c::_daItem_execute() { animPlay(1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); setBaseMtx(); - field_0x978.framework(0, dComIfGp_getReverb(fopAcM_GetRoomNo(this))); + mSound.framework(0, dComIfGp_getReverb(fopAcM_GetRoomNo(this))); - field_0x96c = current.pos; + mLastPos = current.pos; field_0x95f = (fopAcM_checkHookCarryNow(this) >> 0x14) & 1; if (m_itemNo == ORANGE_RUPEE || m_itemNo == SILVER_RUPEE) { - field_0x9ac = current.pos; - field_0x9ac.y += 18.0f; + mSparklePos = current.pos; + mSparklePos.y += 18.0f; } return 1; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm int daItem_c::_daItem_execute() { - nofralloc -#include "asm/a/obj/d_a_obj_item/_daItem_execute__8daItem_cFv.s" -} -#pragma pop -#endif /* 8015BD84-8015BDE8 1566C4 0064+00 1/1 0/0 0/0 .text _daItem_draw__8daItem_cFv */ int daItem_c::_daItem_draw() { @@ -897,10 +424,10 @@ int daItem_c::_daItem_draw() { /* 8015BDE8-8015BE60 156728 0078+00 1/1 0/0 0/0 .text _daItem_delete__8daItem_cFv */ int daItem_c::_daItem_delete() { - field_0x978.deleteObject(); + mSound.deleteObject(); if (m_itemNo == ORANGE_RUPEE || m_itemNo == SILVER_RUPEE) { - field_0x998.remove(); + mSparkleEmtr.remove(); } DeleteBase(dItem_data::getFieldArc(m_itemNo)); @@ -911,47 +438,45 @@ int daItem_c::_daItem_delete() { void daItem_c::procInitNormal() { mAcch.ClrGrndNone(); mAcch.ClrMoveBGOnly(); - setStatus(0); + setStatus(STATUS_NORMAL_e); } /* 8015BEA4-8015BFE8 1567E4 0144+00 1/0 0/0 0/0 .text procMainNormal__8daItem_cFv */ void daItem_c::procMainNormal() { move_proc_call(); - if (scale != field_0x930) { - f32 chase_x = field_0x930.x / getData().field_0xc; - f32 chase_y = field_0x930.y / getData().field_0xc; - f32 chase_z = field_0x930.z / getData().field_0xc; + if (scale != mItemScale) { + f32 step_x = mItemScale.x / getData().mScalingTime; + f32 step_y = mItemScale.y / getData().mScalingTime; + f32 step_z = mItemScale.z / getData().mScalingTime; - cLib_chaseF(&scale.x, field_0x930.x, chase_x); - cLib_chaseF(&scale.y, field_0x930.y, chase_y); - cLib_chaseF(&scale.z, field_0x930.z, chase_z); + cLib_chaseF(&scale.x, mItemScale.x, step_x); + cLib_chaseF(&scale.y, mItemScale.y, step_y); + cLib_chaseF(&scale.z, mItemScale.z, step_z); } - if (field_0x942 == 0) { - if (field_0x944 == 0) { + if (mWaitTimer == 0) { + if (mDisappearTimer == 0) { deleteItem(); } - if (field_0x924 % getData().field_0x14 == 0) { + if (m_timer % getData().mFlashCycleTime == 0) { changeDraw(); } } - mCollider.SetC(current.pos); - dComIfG_Ccsp()->Set(&mCollider); + mCcCyl.SetC(current.pos); + dComIfG_Ccsp()->Set(&mCcCyl); } /* 8015BFE8-8015BFEC 156928 0004+00 1/0 0/0 0/0 .text procMainEnemyCarry__8daItem_cFv */ -void daItem_c::procMainEnemyCarry() { - /* empty function */ -} +void daItem_c::procMainEnemyCarry() {} /* 8015BFEC-8015C038 15692C 004C+00 1/1 0/0 0/0 .text procInitForceGet__8daItem_cFv */ void daItem_c::procInitForceGet() { mAcch.ClrGrndNone(); mAcch.ClrMoveBGOnly(); - setStatus(8); + setStatus(STATUS_FORCE_GET_e); itemGetNextExecute(); } @@ -960,48 +485,48 @@ void daItem_c::procMainForceGet() { procInitSimpleGetDemo(); } -/* ############################################################################################## */ -/* 80453598-8045359C 001B98 0004+00 3/3 0/0 0/0 .sdata2 @4404 */ -SECTION_SDATA2 static f32 lit_4404 = 15.0f; - /* 8015C058-8015C134 156998 00DC+00 4/4 0/0 0/0 .text procInitSimpleGetDemo__8daItem_cFv */ -// literals / addi in wrong place -#ifdef NONMATCHING void daItem_c::procInitSimpleGetDemo() { - current.pos = daPy_getPlayerActorClass()->getItemPos(); + daPy_py_c* player = daPy_getPlayerActorClass(); + current.pos = player->getItemPos(); current.pos.y += 15.0f; shape_angle.z = 0; shape_angle.x = 0; - scale = field_0x930; - fopAcM_SetSpeed(this, 0, getData().field_0x2c, 0); - fopAcM_SetGravity(this, getData().field_0x30); + scale = mItemScale; + fopAcM_SetSpeed(this, 0, getData().mGetDemoLaunchSpeed, 0); + fopAcM_SetGravity(this, getData().mGetDemoGravity); show(); - field_0x946 = getData().field_0x34; + mSimpleExistTimer = getData().mSimpleExistTime; fopAcM_SetStatus(this, 0x20000); - setStatus(2); + setStatus(STATUS_SIMPLE_GET_DEMO_e); } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daItem_c::procInitSimpleGetDemo() { - nofralloc -#include "asm/a/obj/d_a_obj_item/procInitSimpleGetDemo__8daItem_cFv.s" -} -#pragma pop -#endif /* 8015C134-8015C200 156A74 00CC+00 2/1 0/0 0/0 .text procMainSimpleGetDemo__8daItem_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daItem_c::procMainSimpleGetDemo() { - nofralloc -#include "asm/a/obj/d_a_obj_item/procMainSimpleGetDemo__8daItem_cFv.s" +void daItem_c::procMainSimpleGetDemo() { + daPy_py_c* player = daPy_getPlayerActorClass(); + cXyz item_pos = player->getItemPos(); + item_pos.y += 15.0f; + + current.pos.x = item_pos.x; + current.pos.z = item_pos.z; + fopAcM_posMoveF(this, NULL); + + if (current.pos.y < item_pos.y) { + current.pos.y = item_pos.y; + } + + camera_class* camera = dComIfGp_getCamera(0); + shape_angle.x = fopCamM_GetAngleX(camera); + shape_angle.y = fopCamM_GetAngleY(camera); + shape_angle.z = fopCamM_GetAngleZ(camera); + + mSimpleExistTimer--; + if (mSimpleExistTimer < 0) { + fopAcM_delete(this); + } } -#pragma pop /* 8015C200-8015C2A4 156B40 00A4+00 1/1 0/0 0/0 .text procInitGetDemoEvent__8daItem_cFv */ @@ -1009,7 +534,7 @@ void daItem_c::procInitGetDemoEvent() { hide(); if (m_itemNo == ORANGE_RUPEE || m_itemNo == SILVER_RUPEE) { - field_0x998.remove(); + mSparkleEmtr.remove(); } field_0x9c1 = 10; @@ -1018,14 +543,16 @@ void daItem_c::procInitGetDemoEvent() { m_item_id = fopAcM_createItemForTrBoxDemo(¤t.pos, m_itemNo, -1, fopAcM_GetRoomNo(this), NULL, NULL); - setStatus(3); + JUT_ASSERT(m_item_id != fpcM_ERROR_PROCESS_ID_e); + + setStatus(STATUS_WAIT_GET_DEMO_EVENT_e); } /* 8015C2A4-8015C3BC 156BE4 0118+00 1/0 0/0 0/0 .text procWaitGetDemoEvent__8daItem_cFv */ void daItem_c::procWaitGetDemoEvent() { if (eventInfo.checkCommandItem()) { - setStatus(4); + setStatus(STATUS_GET_DEMO_EVENT_e); if (m_item_id != -1) { dComIfGp_event_setItemPartnerId(m_item_id); } @@ -1037,7 +564,11 @@ void daItem_c::procWaitGetDemoEvent() { } if (func_80141AE8(&field_0x9c1) == 0 || checkItemGet(m_itemNo, 1)) { - fopAcM_delete(m_item_id); + if (fopAcM_delete(m_item_id)) { + // "Item: Get Item deleted because Get Demo was canceled\n" + OS_REPORT("アイテム:ゲットデモ中止されたので、ゲットアイテム削除しました\n"); + } + BOOL haveItem = checkItemGet(m_itemNo, 1); procInitSimpleGetDemo(); @@ -1061,55 +592,64 @@ void daItem_c::procMainGetDemoEvent() { } } -/* ############################################################################################## */ -/* 8045359C-804535A0 001B9C 0004+00 2/2 0/0 0/0 .sdata2 @4506 */ -SECTION_SDATA2 static f32 lit_4506 = 2.0f; - /* 8015C41C-8015C514 156D5C 00F8+00 1/1 0/0 0/0 .text procInitBoomerangCarry__8daItem_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daItem_c::procInitBoomerangCarry() { - nofralloc -#include "asm/a/obj/d_a_obj_item/procInitBoomerangCarry__8daItem_cFv.s" -} -#pragma pop +void daItem_c::procInitBoomerangCarry() { + clrFlag(FLAG_NO_MOVE_e); + scale = mItemScale; + mBoomerangMove.initOffset(¤t.pos); -/* ############################################################################################## */ -/* 804535A0-804535A4 001BA0 0004+00 2/2 0/0 0/0 .sdata2 @4524 */ -SECTION_SDATA2 static f32 lit_4524 = 200.0f; + u8 height = dItem_data::getH(m_itemNo); + u8 radius = dItem_data::getR(m_itemNo); + mCcCyl.SetR((f32)radius * 2.0f); + mCcCyl.SetH((f32)height * 2.0f); + mCcCyl.OnCoSPrmBit(1); + + mAcch.ClrGrndNone(); + mAcch.ClrMoveBGOnly(); + setStatus(STATUS_BOOMERANG_CARRY_e); +} /* 8015C514-8015C5F4 156E54 00E0+00 1/0 0/0 0/0 .text procMainBoomerangCarry__8daItem_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daItem_c::procMainBoomerangCarry() { - nofralloc -#include "asm/a/obj/d_a_obj_item/procMainBoomerangCarry__8daItem_cFv.s" +void daItem_c::procMainBoomerangCarry() { + daPy_py_c* player = daPy_getPlayerActorClass(); + + if (!mBoomerangMove.posMove(¤t.pos, &shape_angle.y, NULL, 0x1C00)) { + if (fopAcM_searchPlayerDistance(this) < KREG_F(0) + 200.0f && + !fopAcM_lc_c::lineCheck(¤t.pos, &player->current.pos, this)) + { + itemGetNextExecute(); + } else { + procInitNormal(); + } + } + + mAcch.CrrPos(dComIfG_Bgsp()); + mBoomerangMove.bgCheckAfterOffset(¤t.pos); + mCcCyl.SetC(current.pos); + dComIfG_Ccsp()->Set(&mCcCyl); } -#pragma pop /* 8015C5F4-8015C648 156F34 0054+00 1/1 0/0 0/0 .text procInitSwOnWait__8daItem_cFv */ void daItem_c::procInitSwOnWait() { hide(); if (daItem_prm::getSwOnWaitTimer(this) == 63) { - field_0x95c = 15; + mSwOnWaitTimer = 15; } else { - field_0x95c = daItem_prm::getSwOnWaitTimer(this); + mSwOnWaitTimer = daItem_prm::getSwOnWaitTimer(this); } - setStatus(6); + setStatus(STATUS_SW_ON_WAIT_e); } /* 8015C648-8015C708 156F88 00C0+00 1/0 0/0 0/0 .text procMainSwOnWait__8daItem_cFv */ void daItem_c::procMainSwOnWait() { - if (fopAcM_isSwitch(this, field_0x93c)) { + if (fopAcM_isSwitch(this, mSwitchNo)) { mAcch.CrrPos(dComIfG_Bgsp()); - if (mAcch.ChkWaterHit() && mAcch.m_wtr.GetHeight() > lit_4070[0] + home.pos.y) { + if (mAcch.ChkWaterHit() && mAcch.m_wtr.GetHeight() > 150.0f + home.pos.y) { field_0x9c0 = 1; } @@ -1117,7 +657,12 @@ void daItem_c::procMainSwOnWait() { field_0x9c0 = 1; } - if (func_80141AE8(&field_0x95c) == 0) { + if (field_0x9c0) { + // "Occurs below water surface wtr<%.2f>my<%.2f>\n" + OS_REPORT("水面より下で発生wtr<%.2f>my<%.2f>\n", mAcch.m_wtr.GetHeight(), home.pos.y); + } + + if (func_80141AE8(&mSwOnWaitTimer) == 0) { show(); procInitNormal(); } @@ -1126,68 +671,125 @@ void daItem_c::procMainSwOnWait() { /* 8015C708-8015C738 157048 0030+00 1/1 0/0 0/0 .text procInitBoomHitWait__8daItem_cFv */ void daItem_c::procInitBoomHitWait() { - mCollider.SetCoHitCallback(NULL); - mCollider.SetTgHitCallback(NULL); - mCollider.OffCoSPrmBit(1); - mCollider.SetTgType(0x10020); - setStatus(7); + mCcCyl.SetCoHitCallback(NULL); + mCcCyl.SetTgHitCallback(NULL); + mCcCyl.OffCoSPrmBit(1); + mCcCyl.SetTgType(0x10020); + setStatus(STATUS_BOOM_HIT_WAIT_e); } -/* ############################################################################################## */ -/* 804535A4-804535A8 001BA4 0004+00 2/2 0/0 0/0 .sdata2 @4665 */ -SECTION_SDATA2 static f32 lit_4665 = 100.0f; - -/* 804535A8-804535B0 001BA8 0004+04 2/2 0/0 0/0 .sdata2 @4666 */ -SECTION_SDATA2 static f32 lit_4666[1 + 1 /* padding */] = { - 16383.0f, - /* padding */ - 0.0f, -}; - -/* 804535B0-804535B8 001BB0 0008+00 3/3 0/0 0/0 .sdata2 @4668 */ -SECTION_SDATA2 static f64 lit_4668 = 4503601774854144.0 /* cast s32 to float */; - /* 8015C738-8015CAB8 157078 0380+00 1/0 0/0 0/0 .text procMainBoomHitWait__8daItem_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daItem_c::procMainBoomHitWait() { - nofralloc -#include "asm/a/obj/d_a_obj_item/procMainBoomHitWait__8daItem_cFv.s" +void daItem_c::procMainBoomHitWait() { + m_get_timer = 0; + + if (mCcCyl.ChkTgHit()) { + cCcD_Obj* hit_obj = mCcCyl.GetTgHitObj(); + + if (hit_obj != NULL && (hit_obj->ChkAtType(AT_TYPE_BOOMERANG) || hit_obj->ChkAtType(AT_TYPE_BOMB))) { + m_get_timer = 100; + + show(); + clrFlag(FLAG_NO_MOVE_e); + clrFlag(FLAG_NO_TIMER_e); + setFlag(FLAG_UNK_2_e); + initSpeed(TRUE); + + mCcCyl.SetTgType(0xFFFFFFFF); + mCcCyl.SetCoHitCallback(itemGetCoCallBack); + mCcCyl.SetTgHitCallback(itemGetTgCallBack); + mCcCyl.OnCoSPrmBit(1); + mCcCyl.OnTgSPrmBit(1); + mBoomWindTgTimer = 5; + procInitNormal(); + } + } else { + daPy_py_c* player = daPy_getPlayerActorClass(); + if (player->checkWolfDig()) { + cXyz sp34 = player->getLeftHandPos() - current.pos; + if (sp34.abs() < 200.0f) { + cXyz pos_offset(0.0f, 0.0f, KREG_F(1) + 100.0f); + mDoMtx_stack_c::YrotS(player->shape_angle.y); + mDoMtx_stack_c::multVec(&pos_offset, &pos_offset); + current.pos = player->current.pos + pos_offset; + + current.angle.y = (f32)player->shape_angle.y + cM_rndFX(16383.0f); + show(); + clrFlag(FLAG_NO_MOVE_e); + clrFlag(FLAG_NO_TIMER_e); + setFlag(FLAG_UNK_2_e); + initSpeed(TRUE); + + mCcCyl.SetTgType(0xFFFFFFFF); + mCcCyl.SetCoHitCallback(itemGetCoCallBack); + mCcCyl.SetTgHitCallback(itemGetTgCallBack); + mCcCyl.OnCoSPrmBit(1); + mCcCyl.OnTgSPrmBit(1); + procInitNormal(); + } + } + } + + mCcCyl.SetC(current.pos); + dComIfG_Ccsp()->Set(&mCcCyl); } -#pragma pop /* 8015CAB8-8015CC4C 1573F8 0194+00 1/1 0/0 0/0 .text move_proc_call__8daItem_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daItem_c::move_proc_call() { - nofralloc -#include "asm/a/obj/d_a_obj_item/move_proc_call__8daItem_cFv.s" +void daItem_c::move_proc_call() { + static procFunc mode_proc[] = {&daItem_c::mode_wait, &daItem_c::mode_water}; + + if (checkFlag(FLAG_NO_MOVE_e)) { + RotateYBase(); + return; + } + + bool update_pos = true; + if (mAcch.i_ChkGroundHit() && !mAcch.ChkGroundLanding() && !mAcch.ChkWallHit() && + !dComIfG_Bgsp().ChkMoveBG_NoDABg(mAcch.m_gnd) && !mCcCyl.ChkCoHit() && + mLastPos == current.pos) + { + mAcch.SetGrndNone(); + mAcch.SetRoofNone(); + mAcch.SetMoveBGOnly(); + update_pos = false; + } else { + mAcch.ClrGrndNone(); + mAcch.ClrRoofNone(); + mAcch.ClrMoveBGOnly(); + } + + checkYogan(); + + if (fopAcM_checkHookCarryNow(this)) { + update_pos = false; + } + + if (update_pos) { + fopAcM_posMoveF(this, mCcStts.GetCCMoveP()); + } + + (this->*mode_proc[mMode])(); } -#pragma pop /* 8015CC4C-8015CC88 15758C 003C+00 1/1 0/0 0/0 .text mode_wait_init__8daItem_cFv */ void daItem_c::mode_wait_init() { - field_0x949 = 0; + mMode = MODE_WAIT_e; fopAcM_SetGravity(this, getData().mGravity); } /* 8015CC88-8015CCD0 1575C8 0048+00 1/1 0/0 0/0 .text mode_water_init__8daItem_cFv */ void daItem_c::mode_water_init() { - field_0x949 = 1; - f32 tmp_0 = FLOAT_LABEL(lit_3857); - fopAcM_SetSpeed(this, tmp_0, tmp_0, tmp_0); - fopAcM_SetSpeedF(this, tmp_0); + mMode = MODE_WATER_e; + fopAcM_SetSpeed(this, 0.0f, 0.0f, 0.0f); + fopAcM_SetSpeedF(this, 0.0f); shape_angle.z = 0; shape_angle.x = 0; field_0x940 = 0; - scale = field_0x930; + scale = mItemScale; } /* 8015CCD0-8015CDCC 157610 00FC+00 1/0 0/0 0/0 .text mode_wait__8daItem_cFv */ void daItem_c::mode_wait() { - if (field_0x924 < 5 && speed.y > FLOAT_LABEL(lit_3857)) { + if (m_timer < 5 && speed.y > 0.0f) { mAcch.SetGrndNone(); } @@ -1225,13 +827,7 @@ void daItem_c::mode_wait() { mAcch.ClrGrndNone(); } -/* ############################################################################################## */ -/* 804535B8-804535BC 001BB8 0004+00 1/1 0/0 0/0 .sdata2 @4781 */ -SECTION_SDATA2 static f32 lit_4781 = 1.0f / 10.0f; - /* 8015CDCC-8015CE94 15770C 00C8+00 1/0 0/0 0/0 .text mode_water__8daItem_cFv */ -// switch issues -#ifdef NONMATCHING void daItem_c::mode_water() { mAcch.CrrPos(dComIfG_Bgsp()); @@ -1241,16 +837,10 @@ void daItem_c::mode_water() { current.pos.y = mAcch.m_wtr.GetHeight(); } - f32 var_f1 = 1.0f; + f32 scale = 1.0f; switch (m_itemNo) { case HEART: - var_f1 = 0.5f; - break; - case ARROW_10: - case ARROW_20: - case ARROW_30: - case ARROW_1: - case PACHINKO_SHOT: + scale = 0.5f; break; case GREEN_RUPEE: case BLUE_RUPEE: @@ -1258,24 +848,22 @@ void daItem_c::mode_water() { case RED_RUPEE: case PURPLE_RUPEE: case ORANGE_RUPEE: - case SILVER_RUPEE: - default: + scale = 1.0f; + break; + case ARROW_10: + case ARROW_20: + case ARROW_30: + case ARROW_1: + scale = 1.0f; + break; + case PACHINKO_SHOT: + scale = 1.0f; break; } - fopAcM_effHamonSet(&field_0x9b8, ¤t.pos, var_f1, 0.1f); + fopAcM_effHamonSet(&field_0x9b8, ¤t.pos, scale, 0.1f); RotateYBase(); } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daItem_c::mode_water() { - nofralloc -#include "asm/a/obj/d_a_obj_item/mode_water__8daItem_cFv.s" -} -#pragma pop -#endif /* 8015CE94-8015CEEC 1577D4 0058+00 1/0 0/0 0/0 .text setTevStr__8daItem_cFv */ void daItem_c::setTevStr() { @@ -1285,9 +873,9 @@ void daItem_c::setTevStr() { /* 8015CEEC-8015D0A8 15782C 01BC+00 6/6 0/0 0/0 .text itemGetNextExecute__8daItem_cFv */ void daItem_c::itemGetNextExecute() { - if (!checkFlag(0x20) && !checkFlag(0x10)) { - setFlag(0x10); - s32 haveItem = false; + if (!checkFlag(FLAG_DELETE_ITEM_e) && !checkFlag(FLAG_INIT_GET_ITEM_e)) { + setFlag(FLAG_INIT_GET_ITEM_e); + BOOL haveItem = false; switch (m_itemNo) { case HEART: @@ -1328,105 +916,99 @@ void daItem_c::itemGetNextExecute() { case BOOMERANG: procInitGetDemoEvent(); break; + default: + // "[daItem_c] Get process not defined[%d]\n" + OS_REPORT_ERROR("[daItem_c]ゲット処理が定義されていません[%d]\n", m_itemNo); } - fopAcM_onItem(this, field_0x920); - mCollider.SetTgType(0); - mCollider.OffCoSPrmBit(1); - mCollider.ClrTgHit(); - mCollider.ClrCoHit(); + fopAcM_onItem(this, mItemBitNo); + mCcCyl.SetTgType(0); + mCcCyl.OffCoSPrmBit(1); + mCcCyl.ClrTgHit(); + mCcCyl.ClrCoHit(); } } -/* ############################################################################################## */ -/* 804535BC-804535C0 001BBC 0004+00 3/3 0/0 0/0 .sdata2 @4923 */ -SECTION_SDATA2 static f32 lit_4923 = -1.0f; - /* 8015D0A8-8015D370 1579E8 02C8+00 2/2 0/0 0/0 .text itemGet__8daItem_cFv */ -// should be correct but it turns the switch into data? -#ifdef NONMATCHING void daItem_c::itemGet() { switch (m_itemNo) { case HEART: mDoAud_seStart(Z2SE_HEART_PIECE_GET, NULL, 0, 0); execItemGet(m_itemNo); - return; + break; case GREEN_RUPEE: mDoAud_seStart(Z2SE_GREEN_LUPY_GET, NULL, 0, 0); execItemGet(m_itemNo); - return; + break; case BLUE_RUPEE: mDoAud_seStart(Z2SE_BLUE_LUPY_GET, NULL, 0, 0); execItemGet(m_itemNo); - return; + break; case YELLOW_RUPEE: mDoAud_seStart(Z2SE_BLUE_LUPY_GET, NULL, 0, 0); execItemGet(m_itemNo); - return; + break; case RED_RUPEE: mDoAud_seStart(Z2SE_RED_LUPY_GET, NULL, 0, 0); execItemGet(m_itemNo); - return; + break; case PURPLE_RUPEE: mDoAud_seStart(Z2SE_RED_LUPY_GET, NULL, 0, 0); execItemGet(m_itemNo); - return; + break; case ORANGE_RUPEE: mDoAud_seStart(Z2SE_RED_LUPY_GET, NULL, 0, 0); execItemGet(m_itemNo); - return; + break; case SILVER_RUPEE: mDoAud_seStart(Z2SE_RED_LUPY_GET, NULL, 0, 0); execItemGet(m_itemNo); - return; - default: + break; + case BOOMERANG: + break; + case ARROW_10: + case ARROW_20: + case ARROW_30: + case ARROW_1: + case PACHINKO_SHOT: mDoAud_seStart(Z2SE_CONSUMP_ITEM_GET, NULL, 0, 0); execItemGet(m_itemNo); - return; + default: + // "[daItem_c] Get process not defined[%d]\n" + OS_REPORT_ERROR("[daItem_c]ゲット処理が定義されていません[%d]\n", m_itemNo); + break; } } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daItem_c::itemGet() { - nofralloc -#include "asm/a/obj/d_a_obj_item/itemGet__8daItem_cFv.s" -} -#pragma pop -#endif /* 8015D370-8015D3CC 157CB0 005C+00 1/1 0/0 0/0 .text checkCountTimer__8daItem_cFv */ BOOL daItem_c::checkCountTimer() { - BOOL count = true; + BOOL can_count = true; - if (mStatus == 1) { - count = false; + if (mStatus == STATUS_ENEMY_CARRY_e) { + can_count = false; } - if (checkFlag(8)) { - count = false; + if (checkFlag(FLAG_NO_TIMER_e)) { + can_count = false; } if (dComIfGp_event_runCheck()) { - count = false; + can_count = false; } - if (mStatus == 5 || fopAcM_checkHookCarryNow(this)) { - count = false; + if (mStatus == STATUS_BOOMERANG_CARRY_e || fopAcM_checkHookCarryNow(this)) { + can_count = false; } - return count; + return can_count; } /* 8015D3CC-8015D410 157D0C 0044+00 2/2 0/0 0/0 .text checkPlayerGet__8daItem_cFv */ -bool daItem_c::checkPlayerGet() { - return getData().field_0x36 <= field_0x928; +BOOL daItem_c::checkPlayerGet() { + return getData().mNoGetTime <= m_get_timer ? TRUE : FALSE; } /* 8015D410-8015D480 157D50 0070+00 1/1 0/0 0/0 .text checkYogan__8daItem_cFv */ -// matches with literals -#ifdef NONMATCHING void daItem_c::checkYogan() { if (mAcch.ChkWaterHit() && mAcch.m_wtr.GetHeight() > current.pos.y + 100.0f) { if (dComIfG_Bgsp().GetPolyAtt0(mAcch.m_wtr) == 6) { @@ -1434,20 +1016,10 @@ void daItem_c::checkYogan() { } } } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daItem_c::checkYogan() { - nofralloc -#include "asm/a/obj/d_a_obj_item/checkYogan__8daItem_cFv.s" -} -#pragma pop -#endif /* 8015D480-8015D4AC 157DC0 002C+00 2/2 0/0 0/0 .text deleteItem__8daItem_cFv */ void daItem_c::deleteItem() { - setFlag(0x20); + setFlag(FLAG_DELETE_ITEM_e); fopAcM_delete(this); } @@ -1462,11 +1034,11 @@ int daItem_c::itemActionForRupee() { } if (field_0x94b >= 2) { - clrFlag(2); + clrFlag(FLAG_UNK_2_e); } if (field_0x94b == 0) { - shape_angle.x += getData().field_0x1a; + shape_angle.x += getData().mRotateXSpeed; } else { shape_angle.x = 0; } @@ -1475,80 +1047,126 @@ int daItem_c::itemActionForRupee() { } /* 8015D56C-8015D688 157EAC 011C+00 1/1 0/0 0/0 .text itemActionForHeart__8daItem_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daItem_c::itemActionForHeart() { - nofralloc -#include "asm/a/obj/d_a_obj_item/itemActionForHeart__8daItem_cFv.s" +int daItem_c::itemActionForHeart() { + f32 var_f31 = fopAcM_GetSpeed(this).y; + + if (fopAcM_GetSpeed_p(this)->y <= 0.0f) { + fopAcM_SetGravity(this, 0.0f); + fopAcM_SetSpeed(this, 0.0f, getData().mHeartFallSpeed, 0.0f); + } + + mAcch.CrrPos(dComIfG_Bgsp()); + + if (mAcch.ChkGroundLanding() || mAcch.i_ChkGroundHit()) { + clrFlag(FLAG_UNK_2_e); + shape_angle.z = 0; + fopAcM_SetSpeed(this, 0.0f, -1.0f, 0.0f); + fopAcM_SetSpeedF(this, 0.0f); + } else if (var_f31 < 0.0f) { + var_f31 = getData().mHeartAmplitude; + fopAcM_SetSpeedF(this, var_f31 * cM_ssin(m_timer * getData().mHeartFallCycleTime)); + } + + RotateYBase(); + return 1; } -#pragma pop /* 8015D688-8015D700 157FC8 0078+00 1/1 0/0 0/0 .text itemActionForArrow__8daItem_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daItem_c::itemActionForArrow() { - nofralloc -#include "asm/a/obj/d_a_obj_item/itemActionForArrow__8daItem_cFv.s" +int daItem_c::itemActionForArrow() { + mAcch.CrrPos(dComIfG_Bgsp()); + bg_check(); + + if (mAcch.i_ChkGroundHit() && !mAcch.ChkGroundLanding()) { + fopAcM_SetSpeedF(this, 0.0f); + RotateYBase(); + } + + return 1; } -#pragma pop /* 8015D700-8015D734 158040 0034+00 1/1 0/0 0/0 .text itemActionForBoomerang__8daItem_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daItem_c::itemActionForBoomerang() { - nofralloc -#include "asm/a/obj/d_a_obj_item/itemActionForBoomerang__8daItem_cFv.s" +int daItem_c::itemActionForBoomerang() { + mAcch.CrrPos(dComIfG_Bgsp()); + return 1; } -#pragma pop - -/* ############################################################################################## */ -/* 804535C4-804535C8 001BC4 0004+00 3/3 0/0 0/0 .sdata2 @5050 */ -SECTION_SDATA2 static f32 lit_5050 = 5.0f; - -/* 804535C8-804535CC 001BC8 0004+00 1/1 0/0 0/0 .sdata2 @5051 */ -SECTION_SDATA2 static f32 lit_5051 = 3.0f; /* 8015D734-8015D834 158074 0100+00 2/2 0/0 0/0 .text bg_check__8daItem_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daItem_c::bg_check() { - nofralloc -#include "asm/a/obj/d_a_obj_item/bg_check__8daItem_cFv.s" +void daItem_c::bg_check() { + if (mAcch.ChkWallHit()) { + if (speedF > 5.0f) { + Reflect(&speed, mAcchCir, 1.0f); + } + + current.angle.y = cM_atan2s(speed.x, speed.z); + } + + if (mAcch.ChkGroundLanding()) { + cXyz vec(speed); + + if (speedF > 5.0f) { + Reflect(&vec, mAcchCir, getData().mGroundReflect); + } + + speed.y = -field_0x950.y * getData().mGroundReflect; + if (speed.y < 3.0f) { + speedF = 0.0f; + } + + if (field_0x94b < 100) { + field_0x94b++; + } + + set_bound_se(); + } } -#pragma pop /* 8015D834-8015D95C 158174 0128+00 1/1 0/0 0/0 .text set_bound_se__8daItem_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daItem_c::set_bound_se() { - nofralloc -#include "asm/a/obj/d_a_obj_item/set_bound_se__8daItem_cFv.s" -} -#pragma pop +void daItem_c::set_bound_se() { + if (m_get_timer < 10) { + return; + } + + u32 var_r31 = fabsf(field_0x950.y) * 2.0f; + if (var_r31 > 100) { + var_r31 = 100; + } + + switch (m_itemNo) { + case GREEN_RUPEE: + case BLUE_RUPEE: + case YELLOW_RUPEE: + case RED_RUPEE: + case PURPLE_RUPEE: + case ORANGE_RUPEE: + fopAcM_seStart(this, Z2SE_OBJ_LUPY_BOUND, var_r31); + break; + case ARROW_10: + case ARROW_20: + case ARROW_30: + case ARROW_1: + case LIGHT_ARROW: + fopAcM_seStart(this, Z2SE_OBJ_ARROW_BOUND, var_r31); + break; + } +} -/* ############################################################################################## */ /* 804506A8-804506B0 000128 0004+04 1/1 0/0 0/0 .sdata m_timer_max__8daItem_c */ -SECTION_SDATA s32 daItem_c::m_timer_max = 10000; +s32 daItem_c::m_timer_max = 10000; /* 8015D95C-8015D9F0 15829C 0094+00 1/1 0/0 0/0 .text CountTimer__8daItem_cFv */ int daItem_c::CountTimer() { - field_0x924++; + m_timer++; - if (field_0x928 < m_timer_max) { - field_0x928++; + if (m_get_timer < m_timer_max) { + m_get_timer++; } if (checkCountTimer()) { - if (field_0x942 > 0) { - field_0x942--; - } else if (field_0x944 > 0) { - field_0x944--; + if (mWaitTimer > 0) { + mWaitTimer--; + } else if (mDisappearTimer > 0) { + mDisappearTimer--; } } @@ -1556,80 +1174,152 @@ int daItem_c::CountTimer() { return 1; } -/* ############################################################################################## */ -/* 804535CC-804535D0 001BCC 0004+00 1/1 0/0 0/0 .sdata2 @5110 */ -SECTION_SDATA2 static f32 lit_5110 = 20.0f; - /* 8015D9F0-8015DAAC 158330 00BC+00 1/1 0/0 0/0 .text initAction__8daItem_cFv */ -// matches with literals -#ifdef NONMATCHING int daItem_c::initAction() { initFlag(); initScale(); - initSpeed(0); + initSpeed(FALSE); initAngle(); if (isHeart(m_itemNo)) { speedF = (cM_rndF(5.0f) + 20.0f) - 15.0f; - shape_angle.z = cM_rndFX(getData().field_0x2a); + shape_angle.z = cM_rndFX(getData().mHeartTilt); } - field_0x949 = 0; + mMode = MODE_WAIT_e; return 1; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm int daItem_c::initAction() { - nofralloc -#include "asm/a/obj/d_a_obj_item/initAction__8daItem_cFv.s" -} -#pragma pop -#endif /* 8015DAAC-8015DBF0 1583EC 0144+00 2/1 0/0 0/0 .text initFlag__8daItem_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daItem_c::initFlag() { - nofralloc -#include "asm/a/obj/d_a_obj_item/initFlag__8daItem_cFv.s" +void daItem_c::initFlag() { + u8 type = daItem_prm::getType(this); + + switch (type) { + default: + // "Item: Set Type<%d>\n" + OS_REPORT("アイテム:セットタイプ<%d>\n", type); + JUT_ASSERT(0); + case TYPE_LAUNCH_e: + case TYPE_LAUNCH_SMALL_e: + case TYPE_LAUNCH_FROM_PLAYER_e: + clrFlag(FLAG_NO_MOVE_e); + clrFlag(FLAG_NO_TIMER_e); + setFlag(FLAG_UNK_2_e); + break; + case TYPE_FIXED_PLACE_e: + setFlag(FLAG_NO_MOVE_e); + setFlag(FLAG_NO_TIMER_e); + clrFlag(FLAG_UNK_2_e); + break; + case TYPE_WAIT_e: + clrFlag(FLAG_NO_MOVE_e); + setFlag(FLAG_NO_TIMER_e); + clrFlag(FLAG_UNK_2_e); + break; + case TYPE_BOOM_HIT_e: + setFlag(FLAG_NO_MOVE_e); + setFlag(FLAG_NO_TIMER_e); + clrFlag(FLAG_UNK_2_e); + break; + case TYPE_LAUNCH_NO_RND_e: + clrFlag(FLAG_NO_MOVE_e); + clrFlag(FLAG_NO_TIMER_e); + setFlag(FLAG_UNK_2_e); + break; + case TYPE_FORCE_GET_e: + setFlag(FLAG_NO_MOVE_e); + setFlag(FLAG_NO_TIMER_e); + clrFlag(FLAG_UNK_2_e); + break; + case TYPE_SIMPLE_GET_e: + break; + } + + if (dItem_data::chkFlag(m_itemNo, 1)) { + setFlag(FLAG_NO_TIMER_e); + } } -#pragma pop /* 8015DBF0-8015DC40 158530 0050+00 2/1 0/0 0/0 .text initScale__8daItem_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daItem_c::initScale() { - nofralloc -#include "asm/a/obj/d_a_obj_item/initScale__8daItem_cFv.s" +void daItem_c::initScale() { + switch (daItem_prm::getType(this)) { + case TYPE_LAUNCH_e: + case TYPE_BOOM_HIT_e: + case TYPE_LAUNCH_SMALL_e: + scale.setall(0.0f); + break; + default: + JUT_ASSERT(0); + case TYPE_FIXED_PLACE_e: + case TYPE_WAIT_e: + case TYPE_SIMPLE_GET_e: + case TYPE_LAUNCH_NO_RND_e: + case TYPE_FORCE_GET_e: + case TYPE_LAUNCH_FROM_PLAYER_e: + scale.setall(1.0f); + break; + } } -#pragma pop -/* ############################################################################################## */ -/* 804535D0-804535D4 001BD0 0004+00 1/1 0/0 0/0 .sdata2 @5230 */ -SECTION_SDATA2 static f32 lit_5230 = 7.0f / 10.0f; +/* 803B9E98-803B9F10 016FB8 0078+00 1/2 0/0 0/0 .data mFuncPtr__8daItem_c */ +procFunc daItem_c::mFuncPtr[] = { + &daItem_c::procMainNormal, &daItem_c::procMainEnemyCarry, + &daItem_c::procMainSimpleGetDemo, &daItem_c::procWaitGetDemoEvent, + &daItem_c::procMainGetDemoEvent, &daItem_c::procMainBoomerangCarry, + &daItem_c::procMainSwOnWait, &daItem_c::procMainBoomHitWait, + &daItem_c::procMainForceGet, NULL, +}; -/* 804535D4-804535D8 001BD4 0004+00 1/1 0/0 0/0 .sdata2 @5231 */ -SECTION_SDATA2 static f32 lit_5231 = 6.0f / 5.0f; - -/* 804535D8-804535DC 001BD8 0004+00 1/1 0/0 0/0 .sdata2 @5232 */ -SECTION_SDATA2 static f32 lit_5232 = 11.0f / 20.0f; - -/* 804535DC-804535E0 001BDC 0004+00 1/1 0/0 0/0 .sdata2 @5233 */ -SECTION_SDATA2 static f32 lit_5233 = 50.0f; +/* 803B9F10-803B9F54 017030 0044+00 1/1 0/0 0/0 .data m_cyl_src__8daItem_c */ +dCcD_SrcCyl daItem_c::m_cyl_src = { + { + {0, {{0, 0, 0}, {0xFFFFFFFF, 17}, 0x59}}, + {dCcD_SE_NONE, 0, 0, 0, {0}}, + {dCcD_SE_NONE, 0, 0, 0, {4}}, + {0}, + }, + { + {0.0f, 0.0f, 0.0f}, + 10.0f, + 50.0f, + }, +}; /* 8015DC40-8015DE38 158580 01F8+00 2/2 0/0 0/0 .text initSpeed__8daItem_cFi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daItem_c::initSpeed(int param_0) { - nofralloc -#include "asm/a/obj/d_a_obj_item/initSpeed__8daItem_cFi.s" +void daItem_c::initSpeed(BOOL i_noTypeChk) { + daPy_py_c* player = daPy_getPlayerActorClass(); + + f32 y_speed = getData().mLaunchSpeed + cM_rndFX(5.0f); + f32 speedf = getData().mSpeedH; + u8 type = daItem_prm::getType(this); + + if (!i_noTypeChk) { + if (type == TYPE_WAIT_e || type == TYPE_BOOM_HIT_e || m_itemNo == BOOMERANG) { + y_speed = 0.0f; + speedf = 0.0f; + } else if (type == TYPE_LAUNCH_NO_RND_e || type == TYPE_FIXED_PLACE_e) { + y_speed = getData().mLaunchSpeed; + speedf = getData().mSpeedH; + } else if (type == TYPE_LAUNCH_SMALL_e) { + y_speed = getData().mLaunchSpeed * 0.7f; + speedf = getData().mSpeedH * 0.7f; + + current.angle.y = (f32)player->shape_angle.y + cM_rndFX(16383.0f); + } else if (type == TYPE_LAUNCH_FROM_PLAYER_e) { + y_speed = getData().mLaunchSpeed * 1.2f; + speedf = getData().mSpeedH * 0.55f; + + cXyz launch_pos(0.0f, 0.0f, KREG_F(1) + 50.0f); + mDoMtx_stack_c::YrotS(player->shape_angle.y); + mDoMtx_stack_c::multVec(&launch_pos, &launch_pos); + current.pos += launch_pos; + } + } + + fopAcM_SetGravity(this, getData().mGravity); + fopAcM_SetSpeed(this, 0.0f, y_speed, 0.0f); + fopAcM_SetSpeedF(this, speedf); } -#pragma pop /* 8015DE38-8015DE50 158778 0018+00 1/1 0/0 0/0 .text initAngle__8daItem_cFv */ void daItem_c::initAngle() { @@ -1640,79 +1330,46 @@ void daItem_c::initAngle() { } /* 8015DE50-8015DE70 158790 0020+00 1/0 0/0 0/0 .text daItem_Draw__FP8daItem_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daItem_Draw(daItem_c* param_0) { - nofralloc -#include "asm/a/obj/d_a_obj_item/daItem_Draw__FP8daItem_c.s" +static int daItem_Draw(daItem_c* i_this) { + return i_this->_daItem_draw(); } -#pragma pop /* 8015DE70-8015DE90 1587B0 0020+00 1/0 0/0 0/0 .text daItem_Execute__FP8daItem_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daItem_Execute(daItem_c* param_0) { - nofralloc -#include "asm/a/obj/d_a_obj_item/daItem_Execute__FP8daItem_c.s" +static int daItem_Execute(daItem_c* i_this) { + return i_this->_daItem_execute(); } -#pragma pop /* 8015DE90-8015DEB0 1587D0 0020+00 1/0 0/0 0/0 .text daItem_Delete__FP8daItem_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daItem_Delete(daItem_c* param_0) { - nofralloc -#include "asm/a/obj/d_a_obj_item/daItem_Delete__FP8daItem_c.s" +static int daItem_Delete(daItem_c* i_this) { + return i_this->_daItem_delete(); } -#pragma pop /* 8015DEB0-8015DED0 1587F0 0020+00 1/0 0/0 0/0 .text daItem_Create__FP10fopAc_ac_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daItem_Create(fopAc_ac_c* param_0) { - nofralloc -#include "asm/a/obj/d_a_obj_item/daItem_Create__FP10fopAc_ac_c.s" +static int daItem_Create(fopAc_ac_c* i_this) { + return static_cast(i_this)->_daItem_create(); } -#pragma pop -/* 8015DED0-8015DFD8 158810 0108+00 0/0 1/0 0/0 .text __sinit_d_a_obj_item_cpp */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void __sinit_d_a_obj_item_cpp(){nofralloc -#include "asm/a/obj/d_a_obj_item/__sinit_d_a_obj_item_cpp.s" -} -#pragma pop +/* 803B9F54-803B9F74 -00001 0020+00 1/0 0/0 0/0 .data l_daItem_Method */ +static actor_method_class l_daItem_Method = { + (process_method_func)daItem_Create, (process_method_func)daItem_Delete, + (process_method_func)daItem_Execute, (process_method_func)NULL, + (process_method_func)daItem_Draw, +}; -#pragma push -#pragma force_active on -REGISTER_CTORS(0x8015DED0, __sinit_d_a_obj_item_cpp); -#pragma pop - -/* 8015DFD8-8015DFF4 158918 001C+00 2/2 0/0 0/0 .text getItemPos__9daPy_py_cCFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -// asm const cXyz daPy_py_c::getItemPos() const { -extern "C" asm void getItemPos__9daPy_py_cCFv() { - nofralloc -#include "asm/a/obj/d_a_obj_item/getItemPos__9daPy_py_cCFv.s" -} -#pragma pop - -/* 8015DFF4-8015E010 158934 001C+00 1/1 1/1 0/0 .text getLeftHandPos__9daPy_py_cCFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -// asm const cXyz& daPy_py_c::getLeftHandPos() const { -extern "C" asm void getLeftHandPos__9daPy_py_cCFv() { - nofralloc -#include "asm/a/obj/d_a_obj_item/getLeftHandPos__9daPy_py_cCFv.s" -} -#pragma pop - -/* 80393D88-80393D88 0203E8 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ +/* 803B9F74-803B9FA4 -00001 0030+00 0/0 0/0 1/0 .data g_profile_ITEM */ +extern actor_process_profile_definition g_profile_ITEM = { + fpcLy_CURRENT_e, + 7, + fpcPi_CURRENT_e, + PROC_ITEM, + &g_fpcLf_Method.mBase, + sizeof(daItem_c), + 0, + 0, + &g_fopAc_Method.base, + 236, + &l_daItem_Method, + 0xC0100, + fopAc_ACTOR_e, + fopAc_CULLSPHERE_0_e, +}; diff --git a/src/d/d_attention.cpp b/src/d/d_attention.cpp index ac4c0084ef..8e344b0cd6 100644 --- a/src/d/d_attention.cpp +++ b/src/d/d_attention.cpp @@ -793,7 +793,7 @@ f32 dAttention_c::calcWeight(int param_0, fopAc_ac_c* param_1, f32 param_2, s16 type_tbl_entry* entry = &table[i]; if (mPlayerAttentionFlags & entry->field_0x2 & param_1->attention_info.flags) { - u8 index = param_1->attention_info.field_0x0[entry->field_0x0]; + u8 index = param_1->attention_info.distances[entry->field_0x0]; dist_entry* d_entry = &dist_table[index]; if (fopAcM_checkStatus(param_1, 0x20000000) || @@ -802,7 +802,7 @@ f32 dAttention_c::calcWeight(int param_0, fopAc_ac_c* param_1, f32 param_2, s16 } else if (check_flontofplayer(d_entry->mAngleSelect, param_3, param_4)) { dvar12 = 0.0f; } else if (!check_distace(&mOwnerAttnPos, param_3, ¶m_1->attention_info.position, - d_entry->mRadius1, d_entry->mDistanceAdjust, d_entry->mUpperY, + d_entry->mDistMax, d_entry->mDistanceAdjust, d_entry->mUpperY, d_entry->mLowerY)) { dvar12 = 0.0f; } else { @@ -1143,7 +1143,7 @@ bool dAttention_c::chaseAttention() { f32 weight = calcWeight(0x4C, actor, g1.R(), a1.Val(), a2.Val(), &type); if (weight <= 0.0f) { type = mLockOnList[offset].mType; - int tbl_idx = actor->attention_info.field_0x0[type]; + int tbl_idx = actor->attention_info.distances[type]; if (!chkAttMask(type, actor->attention_info.flags)) { return false; @@ -1152,7 +1152,7 @@ bool dAttention_c::chaseAttention() { } else if (check_flontofplayer(dist_table[tbl_idx].mAngleSelect, a1.Val(), a2.Val())) { return false; } else if (check_distace(&mOwnerAttnPos, a1.Val(), &actor->attention_info.position, - dist_table[tbl_idx].mRadius2, + dist_table[tbl_idx].mDistMaxRelease, dist_table[tbl_idx].mDistanceAdjust, dist_table[tbl_idx].mUpperY, dist_table[tbl_idx].mLowerY)) { mLockOnList[offset].mWeight = distace_weight(g1.R(), a1.Val(), 0.5f); @@ -1198,7 +1198,7 @@ f32 dAttention_c::EnemyDistance(fopAc_ac_c* i_actor) { distance = -1.0f; } else { distance = fopAcM_searchActorDistance(mpPlayer, i_actor); - u8 tmp = i_actor->attention_info.field_0x0[2]; + u8 tmp = i_actor->attention_info.distances[fopAc_attn_BATTLE_e]; if (distance < dist_table[tmp].field_0x0 + dist_table[tmp].field_0x8) { return distance; @@ -1958,7 +1958,7 @@ f32 dAttention_c::LockonReleaseDistanse() { return 0.0f; } - int idx = actor->attention_info.field_0x0[mLockOnList[mLockOnOffset].mType]; + int idx = actor->attention_info.distances[mLockOnList[mLockOnOffset].mType]; cSGlobe tmp_g(actor->attention_info.position - mOwnerAttnPos); cSAngle tmp_a(tmp_g.U() - fopAcM_GetShapeAngle_p(mpPlayer)->y); diff --git a/src/d/d_insect.cpp b/src/d/d_insect.cpp index 096ac4efd6..28781f7c75 100644 --- a/src/d/d_insect.cpp +++ b/src/d/d_insect.cpp @@ -6,6 +6,23 @@ #include "d/d_insect.h" #include "d/menu/d_menu_insect.h" #include "m_Do/m_Do_lib.h" +#include "dol2asm.h" + +// This is a HACK to get d_insect data at correct address due to +// issues with the d_a_obj_item vtable. TODO: fix daItem_c vtable +#pragma push +#pragma force_active on +SECTION_DATA extern void* __vt__8daItem_c__HACK[] = { + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, +}; +#pragma pop /* 8015E010-8015E078 158950 0068+00 0/0 0/0 13/13 .text __ct__9dInsect_cFv */ dInsect_c::dInsect_c() { diff --git a/src/d/msg/d_msg_flow.cpp b/src/d/msg/d_msg_flow.cpp index d8e063c345..6f7c26269f 100644 --- a/src/d/msg/d_msg_flow.cpp +++ b/src/d/msg/d_msg_flow.cpp @@ -1214,7 +1214,7 @@ int dMsgFlow_c::query007(mesg_flow_node_branch* flow_node, fopAc_ac_c* param_1, cXyz this_00 = daPy_getPlayerActorClass()->attention_info.position; this_00.y -= daPy_getPlayerActorClass()->getAttentionOffsetY(); s16 uVar8 = (cSGlobe(param_1->attention_info.position - this_00).U() - daPy_getPlayerActorClass()->shape_angle.GetY()); - u8 attentionId = param_1->attention_info.field_0x0[3]; + u8 attentionId = param_1->attention_info.distances[fopAc_attn_SPEAK_e]; f32 fVar1 = dAttention_c::getDistTable(attentionId).field_0x4; u16 x = uVar3; if (x != 0) { diff --git a/src/f_op/f_op_actor.cpp b/src/f_op/f_op_actor.cpp index a17640c7f2..306afb480b 100644 --- a/src/f_op/f_op_actor.cpp +++ b/src/f_op/f_op_actor.cpp @@ -164,15 +164,15 @@ static int fopAc_Create(void* i_this) { a_this->current = a_this->home; a_this->eyePos = a_this->home.pos; a_this->maxFallSpeed = -100.0f; - a_this->attention_info.field_0x0[0] = 1; - a_this->attention_info.field_0x0[1] = 2; - a_this->attention_info.field_0x0[2] = 3; - a_this->attention_info.field_0x0[3] = 5; - a_this->attention_info.field_0x0[4] = 6; - a_this->attention_info.field_0x0[7] = 14; - a_this->attention_info.field_0x0[5] = 15; - a_this->attention_info.field_0x0[6] = 15; - a_this->attention_info.field_0x0[8] = 51; + a_this->attention_info.distances[fopAc_attn_LOCK_e] = 1; + a_this->attention_info.distances[fopAc_attn_TALK_e] = 2; + a_this->attention_info.distances[fopAc_attn_BATTLE_e] = 3; + a_this->attention_info.distances[fopAc_attn_SPEAK_e] = 5; + a_this->attention_info.distances[fopAc_attn_CARRY_e] = 6; + a_this->attention_info.distances[fopAc_attn_ETC_e] = 14; + a_this->attention_info.distances[fopAc_attn_DOOR_e] = 15; + a_this->attention_info.distances[fopAc_attn_JUEL_e] = 15; + a_this->attention_info.distances[fopAc_attn_CHECK_e] = 51; a_this->attention_info.position = a_this->home.pos; a_this->attention_info.field_0xa = 30; dKy_tevstr_init(&a_this->tevStr, a_this->home.roomNo, -1);