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
This commit is contained in:
TakaRikka
2024-05-07 21:21:07 -07:00
committed by GitHub
parent aa64f1837f
commit 06ba045f1d
96 changed files with 1043 additions and 3805 deletions
+4 -4
View File
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
+62 -60
View File
@@ -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;
+22 -22
View File
@@ -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;
};
+2 -2
View File
@@ -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);
+1 -1
View File
@@ -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;
+2 -2
View File
@@ -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;
+13 -1
View File
@@ -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;
+4
View File
@@ -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;
}
+8
View File
@@ -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;
}
+1
View File
@@ -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 \
+1 -1
View File
@@ -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 = {
{
+8 -8
View File
@@ -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);
+9 -9
View File
@@ -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);
+1 -1
View File
@@ -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);
+2 -2
View File
@@ -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);
}
}
+1 -1
View File
@@ -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);
+1 -1
View File
@@ -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);
+1 -1
View File
@@ -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);
+4 -4
View File
@@ -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;
+4 -4
View File
@@ -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;
+1 -1
View File
@@ -726,7 +726,7 @@ static void bee_nest_action(e_nest_class* i_this) {
if (carry_check) {
cLib_onBit<u32>(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;
+3 -3
View File
@@ -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++;
+8 -8
View File
@@ -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(&current.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);
+1 -1
View File
@@ -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);
}
+3 -3
View File
@@ -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);
+1 -1
View File
@@ -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;
+1 -1
View File
@@ -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;
}
+9 -9
View File
@@ -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);
}
}
+1 -1
View File
@@ -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;
+9 -9
View File
@@ -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);
}
}
+6 -6
View File
@@ -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;
+1 -1
View File
@@ -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];
@@ -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;
}
@@ -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;
}
@@ -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();
+1 -1
View File
@@ -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);
@@ -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;
@@ -696,7 +696,7 @@ int daItemKantera_c::actionWaitInit() {
mCollider.OffTgSPrmBit(1);
mCollider.OffCoSPrmBit(1);
cLib_offBit<u32>(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);
+1 -1
View File
@@ -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);
}
@@ -503,7 +503,7 @@ void daObjMasterSword_c::create_init() {
fopAcM_OnCarryType(this, fopAcM_CARRY_UNK_30);
cLib_onBit<u32>(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;
@@ -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,
+1 -1
View File
@@ -729,7 +729,7 @@ int daObjStone_c::Create() {
fopAcM_setCullSizeSphere(this, 0.0f, 0.0f, 0.0f, l_r[mStoneType] * 1.2f);
cLib_onBit<u32>(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;
+3 -3
View File
@@ -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);
@@ -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);
@@ -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;
}
}
}
@@ -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();
}
@@ -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;
@@ -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;
@@ -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;
@@ -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);
}
+1 -1
View File
@@ -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;
+1 -1
View File
@@ -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;
}
@@ -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);
}
}
@@ -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;
@@ -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;
+7 -15
View File
@@ -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;
}
+93 -96
View File
@@ -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, &current.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 */
+36 -26
View File
@@ -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<daItemBase_c*>(actor);
int CheckItemCreateHeap(fopAc_ac_c* i_this) {
daItemBase_c* a_this = static_cast<daItemBase_c*>(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<daItemBase_c*>(actor);
int CheckFieldItemCreateHeap(fopAc_ac_c* i_this) {
daItemBase_c* a_this = static_cast<daItemBase_c*>(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);
+3 -3
View File
@@ -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;
-7
View File
@@ -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 */
+645 -988
View File
File diff suppressed because it is too large Load Diff
+6 -6
View File
@@ -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, &param_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);
+17
View File
@@ -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() {
+1 -1
View File
@@ -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) {
+9 -9
View File
@@ -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);