work on d_a_spinner

This commit is contained in:
Trueffeloot
2023-08-05 22:58:21 +02:00
parent 044f4753be
commit 166d6fc0e5
17 changed files with 209 additions and 786 deletions
+4 -4
View File
@@ -21,8 +21,8 @@ Total | 37.746227% | 1517652 | 4020672
Section | Percentage | Decompiled (bytes) | Total (bytes)
---|---|---|---
main.dol | 37.746227% | 1517652 | 4020672
RELs | 34.092883% | 3920792 | 11500324
Total | 35.039272% | 5438444 | 15520996
RELs | 34.103178% | 3921976 | 11500324
Total | 35.046900% | 5439628 | 15520996
## RELs
@@ -694,7 +694,7 @@ d_a_scene_exit2 | 99.075297% | 3000 | 3028
d_a_set_bgobj | 100.000000% | 1108 | 1108
d_a_shop_item | 43.088737% | 2020 | 4688
d_a_skip_2D | 100.000000% | 1332 | 1332
d_a_spinner | 27.874187% | 5140 | 18440
d_a_spinner | 34.295011% | 6324 | 18440
d_a_sq | 35.488722% | 3776 | 10640
d_a_startAndGoal | 41.918528% | 1276 | 3044
d_a_suspend | 100.000000% | 896 | 896
@@ -785,4 +785,4 @@ d_a_vrbox2 | 34.977578% | 2184 | 6244
d_a_warp_bug | 100.000000% | 2024 | 2024
d_a_ykgr | 44.400631% | 2252 | 5072
f_pc_profile_lst | 100.000000% | 28156 | 28156
Total | 34.092883% | 3920792 | 11500324
Total | 34.103178% | 3921976 | 11500324
@@ -1,36 +0,0 @@
lbl_804D36F4:
/* 804D36F4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 804D36F8 7C 08 02 A6 */ mflr r0
/* 804D36FC 90 01 00 14 */ stw r0, 0x14(r1)
/* 804D3700 93 E1 00 0C */ stw r31, 0xc(r1)
/* 804D3704 7C 7F 1B 78 */ mr r31, r3
/* 804D3708 38 7F 08 24 */ addi r3, r31, 0x824
/* 804D370C 7F E6 FB 78 */ mr r6, r31
/* 804D3710 4B BA 46 55 */ bl Set__11dBgS_LinChkFPC4cXyzPC4cXyzPC10fopAc_ac_c
/* 804D3714 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 804D3718 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 804D371C 38 63 0F 38 */ addi r3, r3, 0xf38
/* 804D3720 38 9F 08 24 */ addi r4, r31, 0x824
/* 804D3724 4B BA 0C 91 */ bl LineCross__4cBgSFP11cBgS_LinChk
/* 804D3728 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 804D372C 41 82 00 30 */ beq lbl_804D375C
/* 804D3730 38 7F 08 38 */ addi r3, r31, 0x838
/* 804D3734 4B BA 25 D9 */ bl dBgS_CheckBWallPoly__FRC13cBgS_PolyInfo
/* 804D3738 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 804D373C 40 82 00 18 */ bne lbl_804D3754
/* 804D3740 3C 60 80 4D */ lis r3, d_a_spinner__stringBase0@ha /* 0x804D4EA0@ha */
/* 804D3744 38 63 4E A0 */ addi r3, r3, d_a_spinner__stringBase0@l /* 0x804D4EA0@l */
/* 804D3748 4B BC A3 19 */ bl checkStageName__9daAlink_cFPCc
/* 804D374C 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 804D3750 41 82 00 0C */ beq lbl_804D375C
lbl_804D3754:
/* 804D3754 38 60 00 01 */ li r3, 1
/* 804D3758 48 00 00 08 */ b lbl_804D3760
lbl_804D375C:
/* 804D375C 38 60 00 00 */ li r3, 0
lbl_804D3760:
/* 804D3760 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 804D3764 80 01 00 14 */ lwz r0, 0x14(r1)
/* 804D3768 7C 08 03 A6 */ mtlr r0
/* 804D376C 38 21 00 10 */ addi r1, r1, 0x10
/* 804D3770 4E 80 00 20 */ blr
@@ -1,33 +0,0 @@
lbl_804D3F14:
/* 804D3F14 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 804D3F18 7C 08 02 A6 */ mflr r0
/* 804D3F1C 90 01 00 24 */ stw r0, 0x24(r1)
/* 804D3F20 39 61 00 20 */ addi r11, r1, 0x20
/* 804D3F24 4B E8 E2 B5 */ bl _savegpr_28
/* 804D3F28 7C 7C 1B 78 */ mr r28, r3
/* 804D3F2C 3B A0 00 00 */ li r29, 0
/* 804D3F30 3B E0 00 00 */ li r31, 0
/* 804D3F34 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 804D3F38 3B C3 61 C0 */ addi r30, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
lbl_804D3F3C:
/* 804D3F3C 80 7E 5D 3C */ lwz r3, 0x5d3c(r30)
/* 804D3F40 38 63 02 10 */ addi r3, r3, 0x210
/* 804D3F44 38 1F 0A 8C */ addi r0, r31, 0xa8c
/* 804D3F48 7C 9C 00 2E */ lwzx r4, r28, r0
/* 804D3F4C 4B B7 79 CD */ bl getEmitter__Q213dPa_control_c7level_cFUl
/* 804D3F50 28 03 00 00 */ cmplwi r3, 0
/* 804D3F54 41 82 00 10 */ beq lbl_804D3F64
/* 804D3F58 80 03 00 F4 */ lwz r0, 0xf4(r3)
/* 804D3F5C 60 00 00 04 */ ori r0, r0, 4
/* 804D3F60 90 03 00 F4 */ stw r0, 0xf4(r3)
lbl_804D3F64:
/* 804D3F64 3B BD 00 01 */ addi r29, r29, 1
/* 804D3F68 2C 1D 00 02 */ cmpwi r29, 2
/* 804D3F6C 3B FF 00 04 */ addi r31, r31, 4
/* 804D3F70 41 80 FF CC */ blt lbl_804D3F3C
/* 804D3F74 39 61 00 20 */ addi r11, r1, 0x20
/* 804D3F78 4B E8 E2 AD */ bl _restgpr_28
/* 804D3F7C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 804D3F80 7C 08 03 A6 */ mtlr r0
/* 804D3F84 38 21 00 20 */ addi r1, r1, 0x20
/* 804D3F88 4E 80 00 20 */ blr
@@ -1,9 +0,0 @@
lbl_804D1FB0:
/* 804D1FB0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 804D1FB4 7C 08 02 A6 */ mflr r0
/* 804D1FB8 90 01 00 14 */ stw r0, 0x14(r1)
/* 804D1FBC 4B FF FA B5 */ bl create__11daSpinner_cFv
/* 804D1FC0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 804D1FC4 7C 08 03 A6 */ mtlr r0
/* 804D1FC8 38 21 00 10 */ addi r1, r1, 0x10
/* 804D1FCC 4E 80 00 20 */ blr
@@ -1,11 +0,0 @@
lbl_804D21B8:
/* 804D21B8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 804D21BC 7C 08 02 A6 */ mflr r0
/* 804D21C0 90 01 00 14 */ stw r0, 0x14(r1)
/* 804D21C4 38 80 FF FF */ li r4, -1
/* 804D21C8 4B FF FE 09 */ bl __dt__11daSpinner_cFv
/* 804D21CC 38 60 00 01 */ li r3, 1
/* 804D21D0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 804D21D4 7C 08 03 A6 */ mtlr r0
/* 804D21D8 38 21 00 10 */ addi r1, r1, 0x10
/* 804D21DC 4E 80 00 20 */ blr
@@ -1,9 +0,0 @@
lbl_804D4D08:
/* 804D4D08 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 804D4D0C 7C 08 02 A6 */ mflr r0
/* 804D4D10 90 01 00 14 */ stw r0, 0x14(r1)
/* 804D4D14 4B FF FE A1 */ bl draw__11daSpinner_cFv
/* 804D4D18 80 01 00 14 */ lwz r0, 0x14(r1)
/* 804D4D1C 7C 08 03 A6 */ mtlr r0
/* 804D4D20 38 21 00 10 */ addi r1, r1, 0x10
/* 804D4D24 4E 80 00 20 */ blr
@@ -1,9 +0,0 @@
lbl_804D4B94:
/* 804D4B94 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 804D4B98 7C 08 02 A6 */ mflr r0
/* 804D4B9C 90 01 00 14 */ stw r0, 0x14(r1)
/* 804D4BA0 4B FF F3 ED */ bl execute__11daSpinner_cFv
/* 804D4BA4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 804D4BA8 7C 08 03 A6 */ mtlr r0
/* 804D4BAC 38 21 00 10 */ addi r1, r1, 0x10
/* 804D4BB0 4E 80 00 20 */ blr
@@ -1,9 +0,0 @@
lbl_804D1A50:
/* 804D1A50 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 804D1A54 7C 08 02 A6 */ mflr r0
/* 804D1A58 90 01 00 14 */ stw r0, 0x14(r1)
/* 804D1A5C 4B FF FF 31 */ bl createHeap__11daSpinner_cFv
/* 804D1A60 80 01 00 14 */ lwz r0, 0x14(r1)
/* 804D1A64 7C 08 03 A6 */ mtlr r0
/* 804D1A68 38 21 00 10 */ addi r1, r1, 0x10
/* 804D1A6C 4E 80 00 20 */ blr
@@ -1,27 +0,0 @@
lbl_804D3694:
/* 804D3694 88 83 0A 72 */ lbz r4, 0xa72(r3)
/* 804D3698 88 03 0A 73 */ lbz r0, 0xa73(r3)
/* 804D369C 7C 00 07 74 */ extsb r0, r0
/* 804D36A0 7C 84 02 15 */ add. r4, r4, r0
/* 804D36A4 40 80 00 20 */ bge lbl_804D36C4
/* 804D36A8 80 63 0A 64 */ lwz r3, 0xa64(r3)
/* 804D36AC 80 83 00 08 */ lwz r4, 8(r3)
/* 804D36B0 A0 03 00 00 */ lhz r0, 0(r3)
/* 804D36B4 54 03 20 36 */ slwi r3, r0, 4
/* 804D36B8 38 63 FF F4 */ addi r3, r3, -12
/* 804D36BC 7C 64 1A 14 */ add r3, r4, r3
/* 804D36C0 4E 80 00 20 */ blr
lbl_804D36C4:
/* 804D36C4 80 63 0A 64 */ lwz r3, 0xa64(r3)
/* 804D36C8 A0 03 00 00 */ lhz r0, 0(r3)
/* 804D36CC 7C 04 00 00 */ cmpw r4, r0
/* 804D36D0 41 80 00 10 */ blt lbl_804D36E0
/* 804D36D4 80 63 00 08 */ lwz r3, 8(r3)
/* 804D36D8 38 63 00 04 */ addi r3, r3, 4
/* 804D36DC 4E 80 00 20 */ blr
lbl_804D36E0:
/* 804D36E0 80 03 00 08 */ lwz r0, 8(r3)
/* 804D36E4 54 83 20 36 */ slwi r3, r4, 4
/* 804D36E8 38 63 00 04 */ addi r3, r3, 4
/* 804D36EC 7C 60 1A 14 */ add r3, r0, r3
/* 804D36F0 4E 80 00 20 */ blr
@@ -1,43 +0,0 @@
lbl_804D2278:
/* 804D2278 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 804D227C 7C 08 02 A6 */ mflr r0
/* 804D2280 90 01 00 14 */ stw r0, 0x14(r1)
/* 804D2284 93 E1 00 0C */ stw r31, 0xc(r1)
/* 804D2288 7C 7F 1B 78 */ mr r31, r3
/* 804D228C 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */
/* 804D2290 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */
/* 804D2294 C0 3F 04 D0 */ lfs f1, 0x4d0(r31)
/* 804D2298 3C 80 80 4D */ lis r4, lit_4429@ha /* 0x804D4DCC@ha */
/* 804D229C C0 64 4D CC */ lfs f3, lit_4429@l(r4) /* 0x804D4DCC@l */
/* 804D22A0 C0 5F 04 D4 */ lfs f2, 0x4d4(r31)
/* 804D22A4 C0 1F 0A 84 */ lfs f0, 0xa84(r31)
/* 804D22A8 EC 02 00 2A */ fadds f0, f2, f0
/* 804D22AC EC 43 00 2A */ fadds f2, f3, f0
/* 804D22B0 C0 7F 04 D8 */ lfs f3, 0x4d8(r31)
/* 804D22B4 4B E7 46 35 */ bl PSMTXTrans
/* 804D22B8 38 7F 04 E4 */ addi r3, r31, 0x4e4
/* 804D22BC 4B B3 AC 89 */ bl ZXYrotM__14mDoMtx_stack_cFRC5csXyz
/* 804D22C0 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */
/* 804D22C4 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */
/* 804D22C8 A8 9F 0A 7E */ lha r4, 0xa7e(r31)
/* 804D22CC 4B B3 A1 69 */ bl mDoMtx_YrotM__FPA4_fs
/* 804D22D0 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */
/* 804D22D4 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */
/* 804D22D8 80 9F 05 68 */ lwz r4, 0x568(r31)
/* 804D22DC 38 84 00 24 */ addi r4, r4, 0x24
/* 804D22E0 4B E7 41 D1 */ bl PSMTXCopy
/* 804D22E4 80 7F 05 68 */ lwz r3, 0x568(r31)
/* 804D22E8 80 83 00 04 */ lwz r4, 4(r3)
/* 804D22EC 38 7F 05 6C */ addi r3, r31, 0x56c
/* 804D22F0 C0 3F 05 7C */ lfs f1, 0x57c(r31)
/* 804D22F4 4B B3 B6 D9 */ bl entry__13mDoExt_bckAnmFP12J3DModelDataf
/* 804D22F8 80 7F 05 68 */ lwz r3, 0x568(r31)
/* 804D22FC 81 83 00 00 */ lwz r12, 0(r3)
/* 804D2300 81 8C 00 10 */ lwz r12, 0x10(r12)
/* 804D2304 7D 89 03 A6 */ mtctr r12
/* 804D2308 4E 80 04 21 */ bctrl
/* 804D230C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 804D2310 80 01 00 14 */ lwz r0, 0x14(r1)
/* 804D2314 7C 08 03 A6 */ mtlr r0
/* 804D2318 38 21 00 10 */ addi r1, r1, 0x10
/* 804D231C 4E 80 00 20 */ blr
@@ -1,35 +0,0 @@
lbl_804D3618:
/* 804D3618 88 A3 0A 72 */ lbz r5, 0xa72(r3)
/* 804D361C 28 05 00 00 */ cmplwi r5, 0
/* 804D3620 40 82 00 28 */ bne lbl_804D3648
/* 804D3624 88 03 0A 73 */ lbz r0, 0xa73(r3)
/* 804D3628 7C 00 07 74 */ extsb r0, r0
/* 804D362C 2C 00 FF FF */ cmpwi r0, -1
/* 804D3630 40 82 00 18 */ bne lbl_804D3648
/* 804D3634 80 83 0A 64 */ lwz r4, 0xa64(r3)
/* 804D3638 A0 84 00 00 */ lhz r4, 0(r4)
/* 804D363C 38 04 FF FF */ addi r0, r4, -1
/* 804D3640 98 03 0A 72 */ stb r0, 0xa72(r3)
/* 804D3644 48 00 00 48 */ b lbl_804D368C
lbl_804D3648:
/* 804D3648 80 83 0A 64 */ lwz r4, 0xa64(r3)
/* 804D364C A0 84 00 00 */ lhz r4, 0(r4)
/* 804D3650 38 04 FF FF */ addi r0, r4, -1
/* 804D3654 7C 05 00 00 */ cmpw r5, r0
/* 804D3658 40 82 00 1C */ bne lbl_804D3674
/* 804D365C 88 03 0A 73 */ lbz r0, 0xa73(r3)
/* 804D3660 2C 00 00 01 */ cmpwi r0, 1
/* 804D3664 40 82 00 10 */ bne lbl_804D3674
/* 804D3668 38 00 00 00 */ li r0, 0
/* 804D366C 98 03 0A 72 */ stb r0, 0xa72(r3)
/* 804D3670 48 00 00 1C */ b lbl_804D368C
lbl_804D3674:
/* 804D3674 88 83 0A 72 */ lbz r4, 0xa72(r3)
/* 804D3678 88 03 0A 73 */ lbz r0, 0xa73(r3)
/* 804D367C 7C 04 02 14 */ add r0, r4, r0
/* 804D3680 98 03 0A 72 */ stb r0, 0xa72(r3)
/* 804D3684 38 60 00 01 */ li r3, 1
/* 804D3688 4E 80 00 20 */ blr
lbl_804D368C:
/* 804D368C 38 60 00 00 */ li r3, 0
/* 804D3690 4E 80 00 20 */ blr
@@ -1,62 +0,0 @@
lbl_804D3090:
/* 804D3090 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 804D3094 7C 08 02 A6 */ mflr r0
/* 804D3098 90 01 00 14 */ stw r0, 0x14(r1)
/* 804D309C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 804D30A0 93 C1 00 08 */ stw r30, 8(r1)
/* 804D30A4 7C 7F 1B 78 */ mr r31, r3
/* 804D30A8 80 03 0A 64 */ lwz r0, 0xa64(r3)
/* 804D30AC 28 00 00 00 */ cmplwi r0, 0
/* 804D30B0 41 82 00 40 */ beq lbl_804D30F0
/* 804D30B4 A8 9F 04 DE */ lha r4, 0x4de(r31)
/* 804D30B8 3C 84 00 01 */ addis r4, r4, 1
/* 804D30BC 38 04 80 00 */ addi r0, r4, -32768
/* 804D30C0 B0 1F 04 DE */ sth r0, 0x4de(r31)
/* 804D30C4 A8 1F 04 DC */ lha r0, 0x4dc(r31)
/* 804D30C8 1C 00 FF FF */ mulli r0, r0, -1
/* 804D30CC B0 1F 04 DC */ sth r0, 0x4dc(r31)
/* 804D30D0 48 00 05 49 */ bl setNextPathNum__11daSpinner_cFv
/* 804D30D4 88 1F 0A 73 */ lbz r0, 0xa73(r31)
/* 804D30D8 1C 00 FF FF */ mulli r0, r0, -1
/* 804D30DC 98 1F 0A 73 */ stb r0, 0xa73(r31)
/* 804D30E0 88 1F 0A 76 */ lbz r0, 0xa76(r31)
/* 804D30E4 1C 00 FF FF */ mulli r0, r0, -1
/* 804D30E8 98 1F 0A 76 */ stb r0, 0xa76(r31)
/* 804D30EC 48 00 00 70 */ b lbl_804D315C
lbl_804D30F0:
/* 804D30F0 A8 7F 0A 80 */ lha r3, 0xa80(r31)
/* 804D30F4 A8 1F 04 DE */ lha r0, 0x4de(r31)
/* 804D30F8 7C 03 00 50 */ subf r0, r3, r0
/* 804D30FC 7C 1E 07 34 */ extsh r30, r0
/* 804D3100 7F C3 F3 78 */ mr r3, r30
/* 804D3104 4B E9 1F CD */ bl abs
/* 804D3108 2C 03 48 00 */ cmpwi r3, 0x4800
/* 804D310C 40 81 00 24 */ ble lbl_804D3130
/* 804D3110 A8 7F 04 DE */ lha r3, 0x4de(r31)
/* 804D3114 3C 63 00 01 */ addis r3, r3, 1
/* 804D3118 38 63 80 00 */ addi r3, r3, -32768
/* 804D311C A8 1F 0A 80 */ lha r0, 0xa80(r31)
/* 804D3120 54 00 08 3C */ slwi r0, r0, 1
/* 804D3124 7C 03 00 50 */ subf r0, r3, r0
/* 804D3128 B0 1F 04 DE */ sth r0, 0x4de(r31)
/* 804D312C 48 00 00 30 */ b lbl_804D315C
lbl_804D3130:
/* 804D3130 2C 1E 38 00 */ cmpwi r30, 0x3800
/* 804D3134 40 81 00 14 */ ble lbl_804D3148
/* 804D3138 A8 7F 0A 80 */ lha r3, 0xa80(r31)
/* 804D313C 38 03 38 00 */ addi r0, r3, 0x3800
/* 804D3140 B0 1F 04 DE */ sth r0, 0x4de(r31)
/* 804D3144 48 00 00 18 */ b lbl_804D315C
lbl_804D3148:
/* 804D3148 2C 1E C8 00 */ cmpwi r30, -14336
/* 804D314C 40 80 00 10 */ bge lbl_804D315C
/* 804D3150 A8 7F 0A 80 */ lha r3, 0xa80(r31)
/* 804D3154 38 03 C8 00 */ addi r0, r3, -14336
/* 804D3158 B0 1F 04 DE */ sth r0, 0x4de(r31)
lbl_804D315C:
/* 804D315C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 804D3160 83 C1 00 08 */ lwz r30, 8(r1)
/* 804D3164 80 01 00 14 */ lwz r0, 0x14(r1)
/* 804D3168 7C 08 03 A6 */ mtlr r0
/* 804D316C 38 21 00 10 */ addi r1, r1, 0x10
/* 804D3170 4E 80 00 20 */ blr
@@ -1,41 +0,0 @@
lbl_804D21E0:
/* 804D21E0 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 804D21E4 7C 08 02 A6 */ mflr r0
/* 804D21E8 90 01 00 24 */ stw r0, 0x24(r1)
/* 804D21EC 39 61 00 20 */ addi r11, r1, 0x20
/* 804D21F0 4B E8 FF ED */ bl _savegpr_29
/* 804D21F4 7C 7D 1B 78 */ mr r29, r3
/* 804D21F8 3C 60 80 4D */ lis r3, lit_4409@ha /* 0x804D4DC8@ha */
/* 804D21FC C0 23 4D C8 */ lfs f1, lit_4409@l(r3) /* 0x804D4DC8@l */
/* 804D2200 C0 1D 06 E4 */ lfs f0, 0x6e4(r29)
/* 804D2204 FC 01 00 00 */ fcmpu cr0, f1, f0
/* 804D2208 41 82 00 34 */ beq lbl_804D223C
/* 804D220C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 804D2210 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 804D2214 3B E3 0F 38 */ addi r31, r3, 0xf38
/* 804D2218 7F E3 FB 78 */ mr r3, r31
/* 804D221C 38 9D 07 3C */ addi r4, r29, 0x73c
/* 804D2220 4B BA 2E E1 */ bl GetRoomId__4dBgSFRC13cBgS_PolyInfo
/* 804D2224 7C 7E 1B 78 */ mr r30, r3
/* 804D2228 7F E3 FB 78 */ mr r3, r31
/* 804D222C 38 9D 07 3C */ addi r4, r29, 0x73c
/* 804D2230 4B BA 29 B9 */ bl GetPolyColor__4dBgSFRC13cBgS_PolyInfo
/* 804D2234 98 7D 04 8D */ stb r3, 0x48d(r29)
/* 804D2238 48 00 00 10 */ b lbl_804D2248
lbl_804D223C:
/* 804D223C 3C 60 80 45 */ lis r3, mStayNo__20dStage_roomControl_c+0x0@ha /* 0x80450D64@ha */
/* 804D2240 8B C3 0D 64 */ lbz r30, mStayNo__20dStage_roomControl_c+0x0@l(r3) /* 0x80450D64@l */
/* 804D2244 7F DE 07 74 */ extsb r30, r30
lbl_804D2248:
/* 804D2248 9B DD 04 8C */ stb r30, 0x48c(r29)
/* 804D224C 7F C3 F3 78 */ mr r3, r30
/* 804D2250 4B B5 AE 1D */ bl dComIfGp_getReverb__Fi
/* 804D2254 98 7D 0A 6E */ stb r3, 0xa6e(r29)
/* 804D2258 9B DD 09 0E */ stb r30, 0x90e(r29)
/* 804D225C 9B DD 04 E2 */ stb r30, 0x4e2(r29)
/* 804D2260 39 61 00 20 */ addi r11, r1, 0x20
/* 804D2264 4B E8 FF C5 */ bl _restgpr_29
/* 804D2268 80 01 00 24 */ lwz r0, 0x24(r1)
/* 804D226C 7C 08 03 A6 */ mtlr r0
/* 804D2270 38 21 00 20 */ addi r1, r1, 0x20
/* 804D2274 4E 80 00 20 */ blr
+2 -1
View File
@@ -38,7 +38,8 @@ enum cCcD_ObjAtType {
/* 0x00002000 */ AT_TYPE_ARROW = (1 << 13),
/* 0x00004000 */ AT_TYPE_HOOKSHOT = (1 << 14),
/* 0x00010000 */ AT_TYPE_BOOMERANG = (1 << 16),
/* 0x00040000 */ AT_TYPE_SPINNER = (1 << 18),
/* 0x00040000 */ AT_TYPE_40000 = (1 << 18),
/* 0x00080000 */ AT_TYPE_SPINNER = (1 << 19),
/* 0x00100000 */ AT_TYPE_CSTATUE_BOSS_SWING = (1 << 20),
/* 0x00200000 */ AT_TYPE_HEAVY_BOOTS = (1 << 21),
/* 0x00400000 */ AT_TYPE_IRON_BALL = (1 << 22),
+16 -14
View File
@@ -4,31 +4,33 @@
#include "d/com/d_com_inf_game.h"
#include "d/particle/d_particle_copoly.h"
#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
#include "d/d_path.h"
class daSpinner_c : public fopAc_ac_c {
public:
/* 804D198C */ void createHeap();
/* 804D1A70 */ void create();
/* 804D198C */ int createHeap();
/* 804D1A70 */ int create();
/* 804D1FD0 */ ~daSpinner_c();
/* 804D21E0 */ void setRoomInfo();
/* 804D2278 */ void setMatrix();
/* 804D2320 */ void setEffect();
/* 804D25F4 */ void posMove();
/* 804D25F4 */ int posMove();
/* 804D3090 */ void setReflectAngle();
/* 804D3174 */ void setWallHit(s16, u32);
/* 804D34B0 */ void setAnm();
/* 804D3618 */ void setNextPathNum();
/* 804D3694 */ void getPathNextPos();
/* 804D36F4 */ void checkLineWallHit(cXyz*, cXyz*);
/* 804D3774 */ void checkPathMove();
/* 804D3618 */ int setNextPathNum();
/* 804D3694 */ cXyz* getPathNextPos();
/* 804D36F4 */ int checkLineWallHit(cXyz*, cXyz*);
/* 804D3774 */ int checkPathMove();
/* 804D3D60 */ void setSpreadEffect();
/* 804D3F14 */ void clearSpreadEffect();
/* 804D3F8C */ void execute();
/* 804D4BB4 */ void draw();
/* 804D3F8C */ int execute();
/* 804D4BB4 */ int draw();
void onPathForceRemove() { mPathForceRemove = true; }
void* checkPathMoveNow() { return mpPathMove; }
dPath* checkPathMoveNow() { return mpPathMove; }
static u32 getWaitArg() { return 0; }
@@ -82,16 +84,16 @@ private:
/* 0x8CC */ Z2SoundObjSimple field_0x8cc;
/* 0x8EC */ dCcD_Stts mStts;
/* 0x928 */ dCcD_Cyl mCyl;
/* 0xA64 */ void* mpPathMove;
/* 0xA68 */ void* field_0xa68;
/* 0xA64 */ dPath* mpPathMove;
/* 0xA68 */ dPath* field_0xa68;
/* 0xA6C */ u8 field_0xa6c;
/* 0xA6D */ u8 mJumpFlg;
/* 0xA6E */ u8 field_0xa6e;
/* 0xA6E */ s8 field_0xa6e;
/* 0xA6F */ u8 mSpinnerTag;
/* 0xA70 */ u8 mButtonJump;
/* 0xA71 */ u8 mDeleteFlg;
/* 0xA72 */ u8 field_0xa72;
/* 0xA73 */ u8 field_0xa73;
/* 0xA73 */ s8 field_0xa73;
/* 0xA74 */ u8 field_0xa74;
/* 0xA75 */ u8 field_0xa75;
/* 0xA76 */ u8 field_0xa76;
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -3258,7 +3258,7 @@ bool daAlink_c::checkStageName(const char* stage) {
/* 8009DA98-8009DB64 0983D8 00CC+00 1/1 0/0 0/0 .text
* tgHitCallback__9daAlink_cFP10fopAc_ac_cP12dCcD_GObjInfP12dCcD_GObjInf */
void daAlink_c::tgHitCallback(fopAc_ac_c* param_0, dCcD_GObjInf* param_1, dCcD_GObjInf* param_2) {
if (param_2->ChkAtType(AT_TYPE_SPINNER)) {
if (param_2->ChkAtType(AT_TYPE_40000)) {
field_0x369c = *param_2->GetAtVecP();
for (int i = 0; i < 3; i++) {
if (param_1 == &field_0x850[i]) {