From 68fa601716f0e90aff30aa958324501c1257441e Mon Sep 17 00:00:00 2001 From: Yotona Date: Thu, 27 Jul 2023 19:55:39 -0600 Subject: [PATCH] daTagLightBall OK --- Progress.md | 8 +- .../Create__16daTagLightBall_cFv.s | 86 ----- .../_delete__16daTagLightBall_cFv.s | 20 -- .../daTagLightBall_Create__FP10fopAc_ac_c.s | 9 - ...agLightBall_Delete__FP16daTagLightBall_c.s | 9 - ...aTagLightBall_Draw__FP16daTagLightBall_c.s | 9 - ...gLightBall_Execute__FP16daTagLightBall_c.s | 9 - .../execute__16daTagLightBall_cFv.s | 101 ------ .../d_a_tag_lightball/func_80D5A9B8.s | 31 -- .../initBaseMtx__16daTagLightBall_cFv.s | 9 - .../setBaseMtx__16daTagLightBall_cFv.s | 23 -- include/d/kankyo/d_kankyo.h | 5 +- .../tag/d_a_tag_lightball/d_a_tag_lightball.h | 23 ++ .../d_a_tag_lightball/d_a_tag_lightball.cpp | 312 +++++++----------- 14 files changed, 154 insertions(+), 500 deletions(-) delete mode 100644 asm/rel/d/a/tag/d_a_tag_lightball/d_a_tag_lightball/Create__16daTagLightBall_cFv.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_lightball/d_a_tag_lightball/_delete__16daTagLightBall_cFv.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_lightball/d_a_tag_lightball/daTagLightBall_Create__FP10fopAc_ac_c.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_lightball/d_a_tag_lightball/daTagLightBall_Delete__FP16daTagLightBall_c.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_lightball/d_a_tag_lightball/daTagLightBall_Draw__FP16daTagLightBall_c.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_lightball/d_a_tag_lightball/daTagLightBall_Execute__FP16daTagLightBall_c.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_lightball/d_a_tag_lightball/execute__16daTagLightBall_cFv.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_lightball/d_a_tag_lightball/func_80D5A9B8.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_lightball/d_a_tag_lightball/initBaseMtx__16daTagLightBall_cFv.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_lightball/d_a_tag_lightball/setBaseMtx__16daTagLightBall_cFv.s diff --git a/Progress.md b/Progress.md index 13168fece6d..21ac12fb402 100644 --- a/Progress.md +++ b/Progress.md @@ -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 diff --git a/asm/rel/d/a/tag/d_a_tag_lightball/d_a_tag_lightball/Create__16daTagLightBall_cFv.s b/asm/rel/d/a/tag/d_a_tag_lightball/d_a_tag_lightball/Create__16daTagLightBall_cFv.s deleted file mode 100644 index ee6d9e3d638..00000000000 --- a/asm/rel/d/a/tag/d_a_tag_lightball/d_a_tag_lightball/Create__16daTagLightBall_cFv.s +++ /dev/null @@ -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 diff --git a/asm/rel/d/a/tag/d_a_tag_lightball/d_a_tag_lightball/_delete__16daTagLightBall_cFv.s b/asm/rel/d/a/tag/d_a_tag_lightball/d_a_tag_lightball/_delete__16daTagLightBall_cFv.s deleted file mode 100644 index b1e7ee1d81e..00000000000 --- a/asm/rel/d/a/tag/d_a_tag_lightball/d_a_tag_lightball/_delete__16daTagLightBall_cFv.s +++ /dev/null @@ -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 diff --git a/asm/rel/d/a/tag/d_a_tag_lightball/d_a_tag_lightball/daTagLightBall_Create__FP10fopAc_ac_c.s b/asm/rel/d/a/tag/d_a_tag_lightball/d_a_tag_lightball/daTagLightBall_Create__FP10fopAc_ac_c.s deleted file mode 100644 index 77037cbc0f1..00000000000 --- a/asm/rel/d/a/tag/d_a_tag_lightball/d_a_tag_lightball/daTagLightBall_Create__FP10fopAc_ac_c.s +++ /dev/null @@ -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 diff --git a/asm/rel/d/a/tag/d_a_tag_lightball/d_a_tag_lightball/daTagLightBall_Delete__FP16daTagLightBall_c.s b/asm/rel/d/a/tag/d_a_tag_lightball/d_a_tag_lightball/daTagLightBall_Delete__FP16daTagLightBall_c.s deleted file mode 100644 index 622246a10c8..00000000000 --- a/asm/rel/d/a/tag/d_a_tag_lightball/d_a_tag_lightball/daTagLightBall_Delete__FP16daTagLightBall_c.s +++ /dev/null @@ -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 diff --git a/asm/rel/d/a/tag/d_a_tag_lightball/d_a_tag_lightball/daTagLightBall_Draw__FP16daTagLightBall_c.s b/asm/rel/d/a/tag/d_a_tag_lightball/d_a_tag_lightball/daTagLightBall_Draw__FP16daTagLightBall_c.s deleted file mode 100644 index 114a7510f5e..00000000000 --- a/asm/rel/d/a/tag/d_a_tag_lightball/d_a_tag_lightball/daTagLightBall_Draw__FP16daTagLightBall_c.s +++ /dev/null @@ -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 diff --git a/asm/rel/d/a/tag/d_a_tag_lightball/d_a_tag_lightball/daTagLightBall_Execute__FP16daTagLightBall_c.s b/asm/rel/d/a/tag/d_a_tag_lightball/d_a_tag_lightball/daTagLightBall_Execute__FP16daTagLightBall_c.s deleted file mode 100644 index 3260488bdac..00000000000 --- a/asm/rel/d/a/tag/d_a_tag_lightball/d_a_tag_lightball/daTagLightBall_Execute__FP16daTagLightBall_c.s +++ /dev/null @@ -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 diff --git a/asm/rel/d/a/tag/d_a_tag_lightball/d_a_tag_lightball/execute__16daTagLightBall_cFv.s b/asm/rel/d/a/tag/d_a_tag_lightball/d_a_tag_lightball/execute__16daTagLightBall_cFv.s deleted file mode 100644 index dc76e966aa8..00000000000 --- a/asm/rel/d/a/tag/d_a_tag_lightball/d_a_tag_lightball/execute__16daTagLightBall_cFv.s +++ /dev/null @@ -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 diff --git a/asm/rel/d/a/tag/d_a_tag_lightball/d_a_tag_lightball/func_80D5A9B8.s b/asm/rel/d/a/tag/d_a_tag_lightball/d_a_tag_lightball/func_80D5A9B8.s deleted file mode 100644 index eee0501ad06..00000000000 --- a/asm/rel/d/a/tag/d_a_tag_lightball/d_a_tag_lightball/func_80D5A9B8.s +++ /dev/null @@ -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 diff --git a/asm/rel/d/a/tag/d_a_tag_lightball/d_a_tag_lightball/initBaseMtx__16daTagLightBall_cFv.s b/asm/rel/d/a/tag/d_a_tag_lightball/d_a_tag_lightball/initBaseMtx__16daTagLightBall_cFv.s deleted file mode 100644 index f428e1657ac..00000000000 --- a/asm/rel/d/a/tag/d_a_tag_lightball/d_a_tag_lightball/initBaseMtx__16daTagLightBall_cFv.s +++ /dev/null @@ -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 diff --git a/asm/rel/d/a/tag/d_a_tag_lightball/d_a_tag_lightball/setBaseMtx__16daTagLightBall_cFv.s b/asm/rel/d/a/tag/d_a_tag_lightball/d_a_tag_lightball/setBaseMtx__16daTagLightBall_cFv.s deleted file mode 100644 index a789ec7c01c..00000000000 --- a/asm/rel/d/a/tag/d_a_tag_lightball/d_a_tag_lightball/setBaseMtx__16daTagLightBall_cFv.s +++ /dev/null @@ -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 diff --git a/include/d/kankyo/d_kankyo.h b/include/d/kankyo/d_kankyo.h index 24f7e67cb00..8a380332974 100644 --- a/include/d/kankyo/d_kankyo.h +++ b/include/d/kankyo/d_kankyo.h @@ -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); diff --git a/include/rel/d/a/tag/d_a_tag_lightball/d_a_tag_lightball.h b/include/rel/d/a/tag/d_a_tag_lightball/d_a_tag_lightball.h index ff85be46dc2..dd13513ebaa 100644 --- a/include/rel/d/a/tag/d_a_tag_lightball/d_a_tag_lightball.h +++ b/include/rel/d/a/tag/d_a_tag_lightball/d_a_tag_lightball.h @@ -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 */ diff --git a/rel/d/a/tag/d_a_tag_lightball/d_a_tag_lightball.cpp b/rel/d/a/tag/d_a_tag_lightball/d_a_tag_lightball.cpp index 59c52265afd..0bfe0948763 100644 --- a/rel/d/a/tag/d_a_tag_lightball/d_a_tag_lightball.cpp +++ b/rel/d/a/tag/d_a_tag_lightball/d_a_tag_lightball.cpp @@ -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 };