daTagLightBall OK

This commit is contained in:
Yotona 2023-07-27 19:55:39 -06:00
parent b898811613
commit 68fa601716
14 changed files with 154 additions and 500 deletions

View File

@ -21,8 +21,8 @@ Total | 37.234870% | 1497092 | 4020672
Section | Percentage | Decompiled (bytes) | Total (bytes)
---|---|---|---
main.dol | 37.234870% | 1497092 | 4020672
RELs | 34.025372% | 3913028 | 11500324
Total | 34.856784% | 5410120 | 15520996
RELs | 34.035250% | 3914164 | 11500324
Total | 34.864103% | 5411256 | 15520996
## RELs
@ -736,7 +736,7 @@ d_a_tag_instruction | 100.000000% | 712 | 712
d_a_tag_kago_fall | 34.469328% | 1416 | 4108
d_a_tag_kmsg | 32.037997% | 1484 | 4632
d_a_tag_lantern | 100.000000% | 2384 | 2384
d_a_tag_lightball | 46.212121% | 976 | 2112
d_a_tag_lightball | 100.000000% | 2112 | 2112
d_a_tag_lv2prchk | 100.000000% | 2776 | 2776
d_a_tag_lv5soup | 100.000000% | 1908 | 1908
d_a_tag_lv6CstaSw | 100.000000% | 2560 | 2560
@ -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.025372% | 3913028 | 11500324
Total | 34.035250% | 3914164 | 11500324

View File

@ -1,86 +0,0 @@
lbl_80D5A870:
/* 80D5A870 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80D5A874 7C 08 02 A6 */ mflr r0
/* 80D5A878 90 01 00 14 */ stw r0, 0x14(r1)
/* 80D5A87C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80D5A880 93 C1 00 08 */ stw r30, 8(r1)
/* 80D5A884 7C 7E 1B 78 */ mr r30, r3
/* 80D5A888 4B FF FF 71 */ bl initBaseMtx__16daTagLightBall_cFv
/* 80D5A88C 80 1E 00 B0 */ lwz r0, 0xb0(r30)
/* 80D5A890 54 1F 06 3E */ clrlwi r31, r0, 0x18
/* 80D5A894 88 1E 04 E2 */ lbz r0, 0x4e2(r30)
/* 80D5A898 2C 00 00 07 */ cmpwi r0, 7
/* 80D5A89C 40 82 00 3C */ bne lbl_80D5A8D8
/* 80D5A8A0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80D5A8A4 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80D5A8A8 38 80 00 46 */ li r4, 0x46
/* 80D5A8AC 88 1E 04 BA */ lbz r0, 0x4ba(r30)
/* 80D5A8B0 7C 05 07 74 */ extsb r5, r0
/* 80D5A8B4 4B 2D AA AD */ bl isSwitch__10dSv_info_cCFii
/* 80D5A8B8 2C 03 00 00 */ cmpwi r3, 0
/* 80D5A8BC 40 82 00 1C */ bne lbl_80D5A8D8
/* 80D5A8C0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80D5A8C4 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80D5A8C8 7F E4 FB 78 */ mr r4, r31
/* 80D5A8CC 88 1E 04 BA */ lbz r0, 0x4ba(r30)
/* 80D5A8D0 7C 05 07 74 */ extsb r5, r0
/* 80D5A8D4 4B 2D A9 DD */ bl offSwitch__10dSv_info_cFii
lbl_80D5A8D8:
/* 80D5A8D8 C0 1E 04 D0 */ lfs f0, 0x4d0(r30)
/* 80D5A8DC D0 1E 05 68 */ stfs f0, 0x568(r30)
/* 80D5A8E0 C0 1E 04 D4 */ lfs f0, 0x4d4(r30)
/* 80D5A8E4 D0 1E 05 6C */ stfs f0, 0x56c(r30)
/* 80D5A8E8 C0 1E 04 D8 */ lfs f0, 0x4d8(r30)
/* 80D5A8EC D0 1E 05 70 */ stfs f0, 0x570(r30)
/* 80D5A8F0 3C 60 80 D6 */ lis r3, lit_3682@ha /* 0x80D5AC78@ha */
/* 80D5A8F4 C0 23 AC 78 */ lfs f1, lit_3682@l(r3) /* 0x80D5AC78@l */
/* 80D5A8F8 C0 1E 04 EC */ lfs f0, 0x4ec(r30)
/* 80D5A8FC EC 01 00 32 */ fmuls f0, f1, f0
/* 80D5A900 D0 1E 05 74 */ stfs f0, 0x574(r30)
/* 80D5A904 28 1F 00 FF */ cmplwi r31, 0xff
/* 80D5A908 41 82 00 78 */ beq lbl_80D5A980
/* 80D5A90C 80 1E 00 B0 */ lwz r0, 0xb0(r30)
/* 80D5A910 54 00 C7 3E */ rlwinm r0, r0, 0x18, 0x1c, 0x1f
/* 80D5A914 28 00 00 0F */ cmplwi r0, 0xf
/* 80D5A918 40 82 00 38 */ bne lbl_80D5A950
/* 80D5A91C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80D5A920 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80D5A924 7F E4 FB 78 */ mr r4, r31
/* 80D5A928 88 1E 04 BA */ lbz r0, 0x4ba(r30)
/* 80D5A92C 7C 05 07 74 */ extsb r5, r0
/* 80D5A930 4B 2D AA 31 */ bl isSwitch__10dSv_info_cCFii
/* 80D5A934 2C 03 00 00 */ cmpwi r3, 0
/* 80D5A938 41 82 00 48 */ beq lbl_80D5A980
/* 80D5A93C 38 7E 05 68 */ addi r3, r30, 0x568
/* 80D5A940 4B 44 CE D5 */ bl dKy_dalkmist_inf_set__FP18DALKMIST_INFLUENCE
/* 80D5A944 38 00 00 01 */ li r0, 1
/* 80D5A948 98 1E 05 7D */ stb r0, 0x57d(r30)
/* 80D5A94C 48 00 00 34 */ b lbl_80D5A980
lbl_80D5A950:
/* 80D5A950 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80D5A954 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80D5A958 7F E4 FB 78 */ mr r4, r31
/* 80D5A95C 88 1E 04 BA */ lbz r0, 0x4ba(r30)
/* 80D5A960 7C 05 07 74 */ extsb r5, r0
/* 80D5A964 4B 2D A9 FD */ bl isSwitch__10dSv_info_cCFii
/* 80D5A968 2C 03 00 00 */ cmpwi r3, 0
/* 80D5A96C 40 82 00 14 */ bne lbl_80D5A980
/* 80D5A970 38 7E 05 68 */ addi r3, r30, 0x568
/* 80D5A974 4B 44 CE A1 */ bl dKy_dalkmist_inf_set__FP18DALKMIST_INFLUENCE
/* 80D5A978 38 00 00 01 */ li r0, 1
/* 80D5A97C 98 1E 05 7D */ stb r0, 0x57d(r30)
lbl_80D5A980:
/* 80D5A980 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80D5A984 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80D5A988 7F E4 FB 78 */ mr r4, r31
/* 80D5A98C 88 1E 04 BA */ lbz r0, 0x4ba(r30)
/* 80D5A990 7C 05 07 74 */ extsb r5, r0
/* 80D5A994 4B 2D A9 CD */ bl isSwitch__10dSv_info_cCFii
/* 80D5A998 98 7E 05 7C */ stb r3, 0x57c(r30)
/* 80D5A99C 38 60 00 01 */ li r3, 1
/* 80D5A9A0 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80D5A9A4 83 C1 00 08 */ lwz r30, 8(r1)
/* 80D5A9A8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80D5A9AC 7C 08 03 A6 */ mtlr r0
/* 80D5A9B0 38 21 00 10 */ addi r1, r1, 0x10
/* 80D5A9B4 4E 80 00 20 */ blr

View File

@ -1,20 +0,0 @@
lbl_80D5ABA8:
/* 80D5ABA8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80D5ABAC 7C 08 02 A6 */ mflr r0
/* 80D5ABB0 90 01 00 14 */ stw r0, 0x14(r1)
/* 80D5ABB4 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80D5ABB8 7C 7F 1B 78 */ mr r31, r3
/* 80D5ABBC 88 03 05 7D */ lbz r0, 0x57d(r3)
/* 80D5ABC0 28 00 00 00 */ cmplwi r0, 0
/* 80D5ABC4 41 82 00 14 */ beq lbl_80D5ABD8
/* 80D5ABC8 38 7F 05 68 */ addi r3, r31, 0x568
/* 80D5ABCC 4B 44 CC 9D */ bl dKy_dalkmist_inf_cut__FP18DALKMIST_INFLUENCE
/* 80D5ABD0 38 00 00 00 */ li r0, 0
/* 80D5ABD4 98 1F 05 7D */ stb r0, 0x57d(r31)
lbl_80D5ABD8:
/* 80D5ABD8 38 60 00 01 */ li r3, 1
/* 80D5ABDC 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80D5ABE0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80D5ABE4 7C 08 03 A6 */ mtlr r0
/* 80D5ABE8 38 21 00 10 */ addi r1, r1, 0x10
/* 80D5ABEC 4E 80 00 20 */ blr

View File

@ -1,9 +0,0 @@
lbl_80D5AC50:
/* 80D5AC50 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80D5AC54 7C 08 02 A6 */ mflr r0
/* 80D5AC58 90 01 00 14 */ stw r0, 0x14(r1)
/* 80D5AC5C 4B FF FD 5D */ bl create__16daTagLightBall_cFv
/* 80D5AC60 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80D5AC64 7C 08 03 A6 */ mtlr r0
/* 80D5AC68 38 21 00 10 */ addi r1, r1, 0x10
/* 80D5AC6C 4E 80 00 20 */ blr

View File

@ -1,9 +0,0 @@
lbl_80D5AC30:
/* 80D5AC30 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80D5AC34 7C 08 02 A6 */ mflr r0
/* 80D5AC38 90 01 00 14 */ stw r0, 0x14(r1)
/* 80D5AC3C 4B FF FF 6D */ bl _delete__16daTagLightBall_cFv
/* 80D5AC40 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80D5AC44 7C 08 03 A6 */ mtlr r0
/* 80D5AC48 38 21 00 10 */ addi r1, r1, 0x10
/* 80D5AC4C 4E 80 00 20 */ blr

View File

@ -1,9 +0,0 @@
lbl_80D5ABF0:
/* 80D5ABF0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80D5ABF4 7C 08 02 A6 */ mflr r0
/* 80D5ABF8 90 01 00 14 */ stw r0, 0x14(r1)
/* 80D5ABFC 4B FF FF A5 */ bl draw__16daTagLightBall_cFv
/* 80D5AC00 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80D5AC04 7C 08 03 A6 */ mtlr r0
/* 80D5AC08 38 21 00 10 */ addi r1, r1, 0x10
/* 80D5AC0C 4E 80 00 20 */ blr

View File

@ -1,9 +0,0 @@
lbl_80D5AC10:
/* 80D5AC10 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80D5AC14 7C 08 02 A6 */ mflr r0
/* 80D5AC18 90 01 00 14 */ stw r0, 0x14(r1)
/* 80D5AC1C 4B FF FE 05 */ bl execute__16daTagLightBall_cFv
/* 80D5AC20 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80D5AC24 7C 08 03 A6 */ mtlr r0
/* 80D5AC28 38 21 00 10 */ addi r1, r1, 0x10
/* 80D5AC2C 4E 80 00 20 */ blr

View File

@ -1,101 +0,0 @@
lbl_80D5AA20:
/* 80D5AA20 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80D5AA24 7C 08 02 A6 */ mflr r0
/* 80D5AA28 90 01 00 14 */ stw r0, 0x14(r1)
/* 80D5AA2C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80D5AA30 93 C1 00 08 */ stw r30, 8(r1)
/* 80D5AA34 7C 7E 1B 78 */ mr r30, r3
/* 80D5AA38 80 03 00 B0 */ lwz r0, 0xb0(r3)
/* 80D5AA3C 54 1F 06 3E */ clrlwi r31, r0, 0x18
/* 80D5AA40 28 1F 00 FF */ cmplwi r31, 0xff
/* 80D5AA44 41 82 01 0C */ beq lbl_80D5AB50
/* 80D5AA48 54 00 C7 3E */ rlwinm r0, r0, 0x18, 0x1c, 0x1f
/* 80D5AA4C 28 00 00 0F */ cmplwi r0, 0xf
/* 80D5AA50 40 82 00 84 */ bne lbl_80D5AAD4
/* 80D5AA54 88 1E 05 7C */ lbz r0, 0x57c(r30)
/* 80D5AA58 28 00 00 00 */ cmplwi r0, 0
/* 80D5AA5C 41 82 00 38 */ beq lbl_80D5AA94
/* 80D5AA60 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80D5AA64 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80D5AA68 7F E4 FB 78 */ mr r4, r31
/* 80D5AA6C 88 1E 04 BA */ lbz r0, 0x4ba(r30)
/* 80D5AA70 7C 05 07 74 */ extsb r5, r0
/* 80D5AA74 4B 2D A8 ED */ bl isSwitch__10dSv_info_cCFii
/* 80D5AA78 2C 03 00 00 */ cmpwi r3, 0
/* 80D5AA7C 40 82 00 18 */ bne lbl_80D5AA94
/* 80D5AA80 38 7E 05 68 */ addi r3, r30, 0x568
/* 80D5AA84 4B 44 CD E5 */ bl dKy_dalkmist_inf_cut__FP18DALKMIST_INFLUENCE
/* 80D5AA88 38 00 00 00 */ li r0, 0
/* 80D5AA8C 98 1E 05 7D */ stb r0, 0x57d(r30)
/* 80D5AA90 48 00 00 C0 */ b lbl_80D5AB50
lbl_80D5AA94:
/* 80D5AA94 88 1E 05 7C */ lbz r0, 0x57c(r30)
/* 80D5AA98 28 00 00 00 */ cmplwi r0, 0
/* 80D5AA9C 40 82 00 B4 */ bne lbl_80D5AB50
/* 80D5AAA0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80D5AAA4 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80D5AAA8 7F E4 FB 78 */ mr r4, r31
/* 80D5AAAC 88 1E 04 BA */ lbz r0, 0x4ba(r30)
/* 80D5AAB0 7C 05 07 74 */ extsb r5, r0
/* 80D5AAB4 4B 2D A8 AD */ bl isSwitch__10dSv_info_cCFii
/* 80D5AAB8 2C 03 00 00 */ cmpwi r3, 0
/* 80D5AABC 41 82 00 94 */ beq lbl_80D5AB50
/* 80D5AAC0 38 7E 05 68 */ addi r3, r30, 0x568
/* 80D5AAC4 4B 44 CD 51 */ bl dKy_dalkmist_inf_set__FP18DALKMIST_INFLUENCE
/* 80D5AAC8 38 00 00 01 */ li r0, 1
/* 80D5AACC 98 1E 05 7D */ stb r0, 0x57d(r30)
/* 80D5AAD0 48 00 00 80 */ b lbl_80D5AB50
lbl_80D5AAD4:
/* 80D5AAD4 88 1E 05 7C */ lbz r0, 0x57c(r30)
/* 80D5AAD8 28 00 00 00 */ cmplwi r0, 0
/* 80D5AADC 40 82 00 38 */ bne lbl_80D5AB14
/* 80D5AAE0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80D5AAE4 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80D5AAE8 7F E4 FB 78 */ mr r4, r31
/* 80D5AAEC 88 1E 04 BA */ lbz r0, 0x4ba(r30)
/* 80D5AAF0 7C 05 07 74 */ extsb r5, r0
/* 80D5AAF4 4B 2D A8 6D */ bl isSwitch__10dSv_info_cCFii
/* 80D5AAF8 2C 03 00 00 */ cmpwi r3, 0
/* 80D5AAFC 41 82 00 18 */ beq lbl_80D5AB14
/* 80D5AB00 38 7E 05 68 */ addi r3, r30, 0x568
/* 80D5AB04 4B 44 CD 65 */ bl dKy_dalkmist_inf_cut__FP18DALKMIST_INFLUENCE
/* 80D5AB08 38 00 00 00 */ li r0, 0
/* 80D5AB0C 98 1E 05 7D */ stb r0, 0x57d(r30)
/* 80D5AB10 48 00 00 40 */ b lbl_80D5AB50
lbl_80D5AB14:
/* 80D5AB14 88 1E 05 7C */ lbz r0, 0x57c(r30)
/* 80D5AB18 28 00 00 00 */ cmplwi r0, 0
/* 80D5AB1C 41 82 00 34 */ beq lbl_80D5AB50
/* 80D5AB20 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80D5AB24 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80D5AB28 7F E4 FB 78 */ mr r4, r31
/* 80D5AB2C 88 1E 04 BA */ lbz r0, 0x4ba(r30)
/* 80D5AB30 7C 05 07 74 */ extsb r5, r0
/* 80D5AB34 4B 2D A8 2D */ bl isSwitch__10dSv_info_cCFii
/* 80D5AB38 2C 03 00 00 */ cmpwi r3, 0
/* 80D5AB3C 40 82 00 14 */ bne lbl_80D5AB50
/* 80D5AB40 38 7E 05 68 */ addi r3, r30, 0x568
/* 80D5AB44 4B 44 CC D1 */ bl dKy_dalkmist_inf_set__FP18DALKMIST_INFLUENCE
/* 80D5AB48 38 00 00 01 */ li r0, 1
/* 80D5AB4C 98 1E 05 7D */ stb r0, 0x57d(r30)
lbl_80D5AB50:
/* 80D5AB50 C0 1E 04 D0 */ lfs f0, 0x4d0(r30)
/* 80D5AB54 D0 1E 05 68 */ stfs f0, 0x568(r30)
/* 80D5AB58 C0 1E 04 D4 */ lfs f0, 0x4d4(r30)
/* 80D5AB5C D0 1E 05 6C */ stfs f0, 0x56c(r30)
/* 80D5AB60 C0 1E 04 D8 */ lfs f0, 0x4d8(r30)
/* 80D5AB64 D0 1E 05 70 */ stfs f0, 0x570(r30)
/* 80D5AB68 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80D5AB6C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80D5AB70 7F E4 FB 78 */ mr r4, r31
/* 80D5AB74 88 1E 04 BA */ lbz r0, 0x4ba(r30)
/* 80D5AB78 7C 05 07 74 */ extsb r5, r0
/* 80D5AB7C 4B 2D A7 E5 */ bl isSwitch__10dSv_info_cCFii
/* 80D5AB80 98 7E 05 7C */ stb r3, 0x57c(r30)
/* 80D5AB84 38 60 00 01 */ li r3, 1
/* 80D5AB88 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80D5AB8C 83 C1 00 08 */ lwz r30, 8(r1)
/* 80D5AB90 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80D5AB94 7C 08 03 A6 */ mtlr r0
/* 80D5AB98 38 21 00 10 */ addi r1, r1, 0x10
/* 80D5AB9C 4E 80 00 20 */ blr

View File

@ -1,31 +0,0 @@
lbl_80D5A9B8:
/* 80D5A9B8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80D5A9BC 7C 08 02 A6 */ mflr r0
/* 80D5A9C0 90 01 00 14 */ stw r0, 0x14(r1)
/* 80D5A9C4 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80D5A9C8 7C 7F 1B 78 */ mr r31, r3
/* 80D5A9CC 80 03 04 A0 */ lwz r0, 0x4a0(r3)
/* 80D5A9D0 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c
/* 80D5A9D4 40 82 00 1C */ bne lbl_80D5A9F0
/* 80D5A9D8 28 1F 00 00 */ cmplwi r31, 0
/* 80D5A9DC 41 82 00 08 */ beq lbl_80D5A9E4
/* 80D5A9E0 4B 2B E1 85 */ bl __ct__10fopAc_ac_cFv
lbl_80D5A9E4:
/* 80D5A9E4 80 1F 04 A0 */ lwz r0, 0x4a0(r31)
/* 80D5A9E8 60 00 00 08 */ ori r0, r0, 8
/* 80D5A9EC 90 1F 04 A0 */ stw r0, 0x4a0(r31)
lbl_80D5A9F0:
/* 80D5A9F0 7F E3 FB 78 */ mr r3, r31
/* 80D5A9F4 4B FF FE 7D */ bl Create__16daTagLightBall_cFv
/* 80D5A9F8 2C 03 00 00 */ cmpwi r3, 0
/* 80D5A9FC 40 82 00 0C */ bne lbl_80D5AA08
/* 80D5AA00 38 60 00 05 */ li r3, 5
/* 80D5AA04 48 00 00 08 */ b lbl_80D5AA0C
lbl_80D5AA08:
/* 80D5AA08 38 60 00 04 */ li r3, 4
lbl_80D5AA0C:
/* 80D5AA0C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80D5AA10 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80D5AA14 7C 08 03 A6 */ mtlr r0
/* 80D5AA18 38 21 00 10 */ addi r1, r1, 0x10
/* 80D5AA1C 4E 80 00 20 */ blr

View File

@ -1,9 +0,0 @@
lbl_80D5A7F8:
/* 80D5A7F8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80D5A7FC 7C 08 02 A6 */ mflr r0
/* 80D5A800 90 01 00 14 */ stw r0, 0x14(r1)
/* 80D5A804 48 00 00 15 */ bl setBaseMtx__16daTagLightBall_cFv
/* 80D5A808 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80D5A80C 7C 08 03 A6 */ mtlr r0
/* 80D5A810 38 21 00 10 */ addi r1, r1, 0x10
/* 80D5A814 4E 80 00 20 */ blr

View File

@ -1,23 +0,0 @@
lbl_80D5A818:
/* 80D5A818 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80D5A81C 7C 08 02 A6 */ mflr r0
/* 80D5A820 90 01 00 14 */ stw r0, 0x14(r1)
/* 80D5A824 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80D5A828 7C 7F 1B 78 */ mr r31, r3
/* 80D5A82C 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */
/* 80D5A830 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */
/* 80D5A834 C0 3F 04 D0 */ lfs f1, 0x4d0(r31)
/* 80D5A838 C0 5F 04 D4 */ lfs f2, 0x4d4(r31)
/* 80D5A83C C0 7F 04 D8 */ lfs f3, 0x4d8(r31)
/* 80D5A840 4B 5E C0 A9 */ bl PSMTXTrans
/* 80D5A844 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */
/* 80D5A848 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */
/* 80D5A84C A8 9F 04 E4 */ lha r4, 0x4e4(r31)
/* 80D5A850 A8 BF 04 E6 */ lha r5, 0x4e6(r31)
/* 80D5A854 A8 DF 04 E8 */ lha r6, 0x4e8(r31)
/* 80D5A858 4B 2B 1A 49 */ bl mDoMtx_ZXYrotM__FPA4_fsss
/* 80D5A85C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80D5A860 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80D5A864 7C 08 03 A6 */ mtlr r0
/* 80D5A868 38 21 00 10 */ addi r1, r1, 0x10
/* 80D5A86C 4E 80 00 20 */ blr

View File

@ -93,7 +93,8 @@ struct SND_INFLUENCE {
};
struct DALKMIST_INFLUENCE {
/* 0x00 */ u8 field_0x0[0x10];
/* 0x00 */ cXyz mPos;
/* 0x0C */ f32 field_0xc;
};
struct DUNGEON_LIGHT {
@ -567,6 +568,8 @@ void dKy_plight_priority_set(LIGHT_INFLUENCE* param_0);
void dKy_tevstr_init(dKy_tevstr_c* param_0, s8 param_1, u8 param_2);
SND_INFLUENCE* dKy_Sound_get();
void dKy_plight_cut(LIGHT_INFLUENCE* param_0);
void dKy_dalkmist_inf_set(DALKMIST_INFLUENCE*);
void dKy_dalkmist_inf_cut(DALKMIST_INFLUENCE*);
int dKy_rain_check();
void dKy_set_actcol_ratio(f32 ratio);
void dKy_set_bgcol_ratio(f32 ratio);

View File

@ -1,6 +1,29 @@
#ifndef D_A_TAG_LIGHTBALL_H
#define D_A_TAG_LIGHTBALL_H
#include "d/kankyo/d_kankyo.h"
#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
class daTagLightBall_c : public fopAc_ac_c {
public:
/* 80D5A7F8 */ void initBaseMtx();
/* 80D5A818 */ void setBaseMtx();
/* 80D5A870 */ int Create();
/* 80D5A9B8 */ int create();
/* 80D5AA20 */ int execute();
/* 80D5ABA0 */ int draw();
/* 80D5ABA8 */ int _delete();
u8 getSwBit() { return fopAcM_GetParamBit(this, 0, 8); }
u32 getType() { return fopAcM_GetParamBit(this, 8, 4); }
/* 0x568 */ DALKMIST_INFLUENCE mInfluence;
/* 0x578 */ int field_0x578;
/* 0x57C */ u8 field_0x57c;
/* 0x57D */ u8 field_0x57d;
/* 0x57E */ u8 field_0x57e;
/* 0x57F */ u8 field_0x57f;
};
#endif /* D_A_TAG_LIGHTBALL_H */

View File

@ -1,210 +1,144 @@
//
// Generated By: dol2asm
// Translation Unit: d_a_tag_lightball
//
#include "rel/d/a/tag/d_a_tag_lightball/d_a_tag_lightball.h"
#include "dol2asm.h"
#include "dolphin/types.h"
#include "JSystem/JKernel/JKRHeap.h"
#include "d/com/d_com_inf_game.h"
#include "d/d_procname.h"
//
// Types:
//
/* 80D5A7F8-80D5A818 000078 0020+00 1/1 0/0 0/0 .text initBaseMtx__16daTagLightBall_cFv */
void daTagLightBall_c::initBaseMtx() {
setBaseMtx();
}
struct mDoMtx_stack_c {
static u8 now[48];
};
/* 80D5A818-80D5A870 000098 0058+00 1/1 0/0 0/0 .text setBaseMtx__16daTagLightBall_cFv */
void daTagLightBall_c::setBaseMtx() {
PSMTXTrans(mDoMtx_stack_c::now, current.pos.x, current.pos.y, current.pos.z);
mDoMtx_ZXYrotM(mDoMtx_stack_c::now, shape_angle.x, shape_angle.y, shape_angle.z);
}
struct fopAc_ac_c {
/* 80018B64 */ fopAc_ac_c();
};
/* 80D5A870-80D5A9B8 0000F0 0148+00 1/1 0/0 0/0 .text Create__16daTagLightBall_cFv */
int daTagLightBall_c::Create() {
initBaseMtx();
u8 swbit = getSwBit();
if (fopAcM_GetRoomNo(this) == 7) {
if (!i_fopAcM_isSwitch(this, 70)) {
i_fopAcM_offSwitch(this, swbit);
}
}
mInfluence.mPos = current.pos;
mInfluence.field_0xc = mScale.x * 100.0f;
if (swbit != 0xFF) {
if (getType() == 15) {
if (i_fopAcM_isSwitch(this, swbit)) {
dKy_dalkmist_inf_set(&mInfluence);
field_0x57d = 1;
}
} else {
if (!i_fopAcM_isSwitch(this, swbit)) {
dKy_dalkmist_inf_set(&mInfluence);
field_0x57d = 1;
}
}
}
field_0x57c = i_fopAcM_isSwitch(this, swbit);
return 1;
}
struct daTagLightBall_c {
/* 80D5A7F8 */ void initBaseMtx();
/* 80D5A818 */ void setBaseMtx();
/* 80D5A870 */ void Create();
/* 80D5A9B8 */ void create();
/* 80D5AA20 */ void execute();
/* 80D5ABA0 */ bool draw();
/* 80D5ABA8 */ void _delete();
};
/* 80D5A9B8-80D5AA20 000238 0068+00 1/1 0/0 0/0 .text create__16daTagLightBall_cFv */
int daTagLightBall_c::create() {
if (!fopAcM_CheckCondition(this, 8)) {
new (this) daTagLightBall_c;
fopAcM_OnCondition(this, 8);
}
if (Create() == 0) {
return cPhs_ERROR_e;
}
return cPhs_COMPLEATE_e;
}
struct dSv_info_c {
/* 800352B0 */ void offSwitch(int, int);
/* 80035360 */ void isSwitch(int, int) const;
};
/* 80D5AA20-80D5ABA0 0002A0 0180+00 1/1 0/0 0/0 .text execute__16daTagLightBall_cFv */
int daTagLightBall_c::execute() {
u8 swbit = getSwBit();
if (swbit != 0xFF) {
if (getType() == 15) {
if (field_0x57c != 0 && !i_fopAcM_isSwitch(this, swbit)) {
dKy_dalkmist_inf_cut(&mInfluence);
field_0x57d = 0;
} else if (field_0x57c == 0 && i_fopAcM_isSwitch(this, swbit)) {
dKy_dalkmist_inf_set(&mInfluence);
field_0x57d = 1;
}
} else if (field_0x57c == 0 && i_fopAcM_isSwitch(this, swbit)) {
dKy_dalkmist_inf_cut(&mInfluence);
field_0x57d = 0;
} else if (field_0x57c != 0 && !i_fopAcM_isSwitch(this, swbit)) {
dKy_dalkmist_inf_set(&mInfluence);
field_0x57d = 1;
}
}
mInfluence.mPos = current.pos;
field_0x57c = i_fopAcM_isSwitch(this, swbit);
return 1;
}
struct DALKMIST_INFLUENCE {};
/* 80D5ABA0-80D5ABA8 000420 0008+00 1/1 0/0 0/0 .text draw__16daTagLightBall_cFv */
int daTagLightBall_c::draw() {
return 1;
}
//
// Forward References:
//
/* 80D5ABA8-80D5ABF0 000428 0048+00 1/1 0/0 0/0 .text _delete__16daTagLightBall_cFv */
int daTagLightBall_c::_delete() {
if (field_0x57d) {
dKy_dalkmist_inf_cut(&mInfluence);
field_0x57d = 0;
}
return 1;
}
extern "C" void initBaseMtx__16daTagLightBall_cFv();
extern "C" void setBaseMtx__16daTagLightBall_cFv();
extern "C" void Create__16daTagLightBall_cFv();
extern "C" void create__16daTagLightBall_cFv();
extern "C" void execute__16daTagLightBall_cFv();
extern "C" bool draw__16daTagLightBall_cFv();
extern "C" void _delete__16daTagLightBall_cFv();
extern "C" static void daTagLightBall_Draw__FP16daTagLightBall_c();
extern "C" static void daTagLightBall_Execute__FP16daTagLightBall_c();
extern "C" static void daTagLightBall_Delete__FP16daTagLightBall_c();
extern "C" static void daTagLightBall_Create__FP10fopAc_ac_c();
extern "C" extern void* g_profile_Tag_LightBall[12];
/* 80D5ABF0-80D5AC10 000470 0020+00 1/0 0/0 0/0 .text daTagLightBall_Draw__FP16daTagLightBall_c */
static void daTagLightBall_Draw(daTagLightBall_c* i_this) {
((daTagLightBall_c*)i_this)->draw();
}
//
// External References:
//
extern "C" void mDoMtx_ZXYrotM__FPA4_fsss();
extern "C" void __ct__10fopAc_ac_cFv();
extern "C" void offSwitch__10dSv_info_cFii();
extern "C" void isSwitch__10dSv_info_cCFii();
extern "C" void dKy_dalkmist_inf_set__FP18DALKMIST_INFLUENCE();
extern "C" void dKy_dalkmist_inf_cut__FP18DALKMIST_INFLUENCE();
extern "C" void PSMTXTrans();
extern "C" extern void* g_fopAc_Method[8];
extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */];
extern "C" u8 now__14mDoMtx_stack_c[48];
extern "C" extern u8 g_dComIfG_gameInfo[122384];
//
// Declarations:
//
/* 80D5A7F8-80D5A818 000078 0020+00 1/1 0/0 0/0 .text initBaseMtx__16daTagLightBall_cFv
/* 80D5AC10-80D5AC30 000490 0020+00 1/0 0/0 0/0 .text daTagLightBall_Execute__FP16daTagLightBall_c
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daTagLightBall_c::initBaseMtx() {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_lightball/d_a_tag_lightball/initBaseMtx__16daTagLightBall_cFv.s"
static void daTagLightBall_Execute(daTagLightBall_c* i_this) {
((daTagLightBall_c*)i_this)->execute();
}
#pragma pop
/* 80D5A818-80D5A870 000098 0058+00 1/1 0/0 0/0 .text setBaseMtx__16daTagLightBall_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daTagLightBall_c::setBaseMtx() {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_lightball/d_a_tag_lightball/setBaseMtx__16daTagLightBall_cFv.s"
/* 80D5AC30-80D5AC50 0004B0 0020+00 1/0 0/0 0/0 .text daTagLightBall_Delete__FP16daTagLightBall_c
*/
static void daTagLightBall_Delete(daTagLightBall_c* i_this) {
((daTagLightBall_c*)i_this)->_delete();
}
/* 80D5AC50-80D5AC70 0004D0 0020+00 1/0 0/0 0/0 .text daTagLightBall_Create__FP10fopAc_ac_c */
static void daTagLightBall_Create(fopAc_ac_c* i_this) {
((daTagLightBall_c*)i_this)->create();
}
#pragma pop
/* ############################################################################################## */
/* 80D5AC78-80D5AC7C 000000 0004+00 1/1 0/0 0/0 .rodata @3682 */
SECTION_RODATA static f32 const lit_3682 = 100.0f;
COMPILER_STRIP_GATE(0x80D5AC78, &lit_3682);
/* 80D5A870-80D5A9B8 0000F0 0148+00 1/1 0/0 0/0 .text Create__16daTagLightBall_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daTagLightBall_c::Create() {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_lightball/d_a_tag_lightball/Create__16daTagLightBall_cFv.s"
}
#pragma pop
/* 80D5A9B8-80D5AA20 000238 0068+00 1/1 0/0 0/0 .text create__16daTagLightBall_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daTagLightBall_c::create() {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_lightball/d_a_tag_lightball/func_80D5A9B8.s"
}
#pragma pop
/* 80D5AA20-80D5ABA0 0002A0 0180+00 1/1 0/0 0/0 .text execute__16daTagLightBall_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daTagLightBall_c::execute() {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_lightball/d_a_tag_lightball/execute__16daTagLightBall_cFv.s"
}
#pragma pop
/* 80D5ABA0-80D5ABA8 000420 0008+00 1/1 0/0 0/0 .text draw__16daTagLightBall_cFv */
bool daTagLightBall_c::draw() {
return true;
}
/* 80D5ABA8-80D5ABF0 000428 0048+00 1/1 0/0 0/0 .text _delete__16daTagLightBall_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daTagLightBall_c::_delete() {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_lightball/d_a_tag_lightball/_delete__16daTagLightBall_cFv.s"
}
#pragma pop
/* 80D5ABF0-80D5AC10 000470 0020+00 1/0 0/0 0/0 .text daTagLightBall_Draw__FP16daTagLightBall_c */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daTagLightBall_Draw(daTagLightBall_c* param_0) {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_lightball/d_a_tag_lightball/daTagLightBall_Draw__FP16daTagLightBall_c.s"
}
#pragma pop
/* 80D5AC10-80D5AC30 000490 0020+00 1/0 0/0 0/0 .text daTagLightBall_Execute__FP16daTagLightBall_c
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daTagLightBall_Execute(daTagLightBall_c* param_0) {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_lightball/d_a_tag_lightball/daTagLightBall_Execute__FP16daTagLightBall_c.s"
}
#pragma pop
/* 80D5AC30-80D5AC50 0004B0 0020+00 1/0 0/0 0/0 .text daTagLightBall_Delete__FP16daTagLightBall_c
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daTagLightBall_Delete(daTagLightBall_c* param_0) {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_lightball/d_a_tag_lightball/daTagLightBall_Delete__FP16daTagLightBall_c.s"
}
#pragma pop
/* 80D5AC50-80D5AC70 0004D0 0020+00 1/0 0/0 0/0 .text daTagLightBall_Create__FP10fopAc_ac_c */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daTagLightBall_Create(fopAc_ac_c* param_0) {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_lightball/d_a_tag_lightball/daTagLightBall_Create__FP10fopAc_ac_c.s"
}
#pragma pop
/* ############################################################################################## */
/* 80D5AC7C-80D5AC9C -00001 0020+00 1/0 0/0 0/0 .data l_daTagLightBall_Method */
SECTION_DATA static void* l_daTagLightBall_Method[8] = {
(void*)daTagLightBall_Create__FP10fopAc_ac_c,
(void*)daTagLightBall_Delete__FP16daTagLightBall_c,
(void*)daTagLightBall_Execute__FP16daTagLightBall_c,
(void*)NULL,
(void*)daTagLightBall_Draw__FP16daTagLightBall_c,
(void*)NULL,
(void*)NULL,
(void*)NULL,
/* 80D5AC7C-80D5AC9C -00001 0020+00 1/0 0/0 0/0 .data l_daTagLightBall_Method */
static actor_method_class l_daTagLightBall_Method = {
(process_method_func)daTagLightBall_Create, (process_method_func)daTagLightBall_Delete,
(process_method_func)daTagLightBall_Execute, (process_method_func)NULL,
(process_method_func)daTagLightBall_Draw,
};
/* 80D5AC9C-80D5ACCC -00001 0030+00 0/0 0/0 1/0 .data g_profile_Tag_LightBall */
SECTION_DATA extern void* g_profile_Tag_LightBall[12] = {
(void*)0xFFFFFFFD, (void*)0x0007FFFD,
(void*)0x017C0000, (void*)&g_fpcLf_Method,
(void*)0x00000580, (void*)NULL,
(void*)NULL, (void*)&g_fopAc_Method,
(void*)0x02230000, (void*)&l_daTagLightBall_Method,
(void*)0x00040100, (void*)0x000E0000,
/* 80D5AC9C-80D5ACCC -00001 0030+00 0/0 0/0 1/0 .data g_profile_Tag_LightBall */
extern actor_process_profile_definition g_profile_Tag_LightBall = {
-3, // mLayerID
7, // mListID
-3, // mListPrio
PROC_Tag_LightBall, // mProcName
&g_fpcLf_Method.mBase, // mSubMtd
sizeof(daTagLightBall_c), // mSize
0, // mSizeOther
0, // mParameters
&g_fopAc_Method.base, // mSubMtd
547, // mPriority
&l_daTagLightBall_Method, // mSubMtd
0x40100, // mStatus
0, // mActorType
14, // mCullType
};