From 71b055104099688a2cf227de535095da246408e2 Mon Sep 17 00:00:00 2001 From: Noah McQueen <67965519+Yotona@users.noreply.github.com> Date: Sat, 2 Sep 2023 07:39:54 -0600 Subject: [PATCH] da_b_Zant_sima OK (#1905) * d_a_b_zant_sima OK * d_a_b_zant_sima OK * d_a_b_zant_sima OK --- Progress.md | 10 +- .../CreateHeap__11daB_ZANTS_cFv.s | 158 ----- .../d_a_b_zant_sima/__dt__12J3DFrameCtrlFv.s | 20 - .../_delete__11daB_ZANTS_cFv.s | 24 - .../d_a_b_zant_sima/action__11daB_ZANTS_cFv.s | 176 ----- .../d_a_b_zant_sima/create__11daB_ZANTS_cFv.s | 78 --- .../daB_ZANTS_Create__FP11daB_ZANTS_c.s | 9 - .../daB_ZANTS_Delete__FP11daB_ZANTS_c.s | 9 - .../daB_ZANTS_Draw__FP11daB_ZANTS_c.s | 9 - .../daB_ZANTS_Execute__FP11daB_ZANTS_c.s | 9 - .../d_a_b_zant_sima/draw__11daB_ZANTS_cFv.s | 54 -- .../execute__11daB_ZANTS_cFv.s | 62 -- .../useHeapInit__FP10fopAc_ac_c.s | 9 - ..._back__FP4dBgWP10fopAc_ac_cP10fopAc_ac_c.s | 29 - .../d/a/b/d_a_b_zant_sima/d_a_b_zant_sima.h | 24 + rel/d/a/b/d_a_b_zant_sima/d_a_b_zant_sima.cpp | 602 ++++++------------ 16 files changed, 228 insertions(+), 1054 deletions(-) delete mode 100644 asm/rel/d/a/b/d_a_b_zant_sima/d_a_b_zant_sima/CreateHeap__11daB_ZANTS_cFv.s delete mode 100644 asm/rel/d/a/b/d_a_b_zant_sima/d_a_b_zant_sima/__dt__12J3DFrameCtrlFv.s delete mode 100644 asm/rel/d/a/b/d_a_b_zant_sima/d_a_b_zant_sima/_delete__11daB_ZANTS_cFv.s delete mode 100644 asm/rel/d/a/b/d_a_b_zant_sima/d_a_b_zant_sima/action__11daB_ZANTS_cFv.s delete mode 100644 asm/rel/d/a/b/d_a_b_zant_sima/d_a_b_zant_sima/create__11daB_ZANTS_cFv.s delete mode 100644 asm/rel/d/a/b/d_a_b_zant_sima/d_a_b_zant_sima/daB_ZANTS_Create__FP11daB_ZANTS_c.s delete mode 100644 asm/rel/d/a/b/d_a_b_zant_sima/d_a_b_zant_sima/daB_ZANTS_Delete__FP11daB_ZANTS_c.s delete mode 100644 asm/rel/d/a/b/d_a_b_zant_sima/d_a_b_zant_sima/daB_ZANTS_Draw__FP11daB_ZANTS_c.s delete mode 100644 asm/rel/d/a/b/d_a_b_zant_sima/d_a_b_zant_sima/daB_ZANTS_Execute__FP11daB_ZANTS_c.s delete mode 100644 asm/rel/d/a/b/d_a_b_zant_sima/d_a_b_zant_sima/draw__11daB_ZANTS_cFv.s delete mode 100644 asm/rel/d/a/b/d_a_b_zant_sima/d_a_b_zant_sima/execute__11daB_ZANTS_cFv.s delete mode 100644 asm/rel/d/a/b/d_a_b_zant_sima/d_a_b_zant_sima/useHeapInit__FP10fopAc_ac_c.s delete mode 100644 asm/rel/d/a/b/d_a_b_zant_sima/d_a_b_zant_sima/zants_ride_call_back__FP4dBgWP10fopAc_ac_cP10fopAc_ac_c.s diff --git a/Progress.md b/Progress.md index c1c48513cc8..6bcebba6422 100644 --- a/Progress.md +++ b/Progress.md @@ -21,8 +21,8 @@ Total | 39.061132% | 1570520 | 4020672 Section | Percentage | Decompiled (bytes) | Total (bytes) ---|---|---|--- main.dol | 39.061132% | 1570520 | 4020672 -RELs | 34.390440% | 3955012 | 11500324 -Total | 35.600370% | 5525532 | 15520996 +RELs | 34.410518% | 3957288 | 11500228 +Total | 35.615254% | 5527808 | 15520900 ## RELs @@ -54,8 +54,8 @@ d_a_b_yo | 25.613486% | 14404 | 56236 d_a_b_yo_ice | 28.297953% | 5972 | 21104 d_a_b_zant | 22.203940% | 19432 | 87516 d_a_b_zant_magic | 42.453480% | 2464 | 5804 -d_a_b_zant_mobile | 36.326402% | 4612 | 12696 -d_a_b_zant_sima | 40.995025% | 1648 | 4020 +d_a_b_zant_mobile | 35.841270% | 4516 | 12600 +d_a_b_zant_sima | 100.000000% | 4020 | 4020 d_a_balloon_2D | 29.886212% | 3572 | 11952 d_a_bd | 31.115418% | 5780 | 18576 d_a_bg | 41.505376% | 3860 | 9300 @@ -785,4 +785,4 @@ d_a_vrbox2 | 44.907111% | 2804 | 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.390440% | 3955012 | 11500324 +Total | 34.410518% | 3957288 | 11500228 diff --git a/asm/rel/d/a/b/d_a_b_zant_sima/d_a_b_zant_sima/CreateHeap__11daB_ZANTS_cFv.s b/asm/rel/d/a/b/d_a_b_zant_sima/d_a_b_zant_sima/CreateHeap__11daB_ZANTS_cFv.s deleted file mode 100644 index d1a0be4ddbf..00000000000 --- a/asm/rel/d/a/b/d_a_b_zant_sima/d_a_b_zant_sima/CreateHeap__11daB_ZANTS_cFv.s +++ /dev/null @@ -1,158 +0,0 @@ -lbl_80652F38: -/* 80652F38 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80652F3C 7C 08 02 A6 */ mflr r0 -/* 80652F40 90 01 00 24 */ stw r0, 0x24(r1) -/* 80652F44 39 61 00 20 */ addi r11, r1, 0x20 -/* 80652F48 4B D0 F2 95 */ bl _savegpr_29 -/* 80652F4C 7C 7E 1B 78 */ mr r30, r3 -/* 80652F50 3C 60 80 65 */ lis r3, d_a_b_zant_sima__stringBase0@ha /* 0x80653364@ha */ -/* 80652F54 38 63 33 64 */ addi r3, r3, d_a_b_zant_sima__stringBase0@l /* 0x80653364@l */ -/* 80652F58 38 80 00 07 */ li r4, 7 -/* 80652F5C 3C A0 80 40 */ lis r5, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80652F60 38 A5 61 C0 */ addi r5, r5, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80652F64 3F E5 00 02 */ addis r31, r5, 2 -/* 80652F68 3B FF C2 F8 */ addi r31, r31, -15624 -/* 80652F6C 7F E5 FB 78 */ mr r5, r31 -/* 80652F70 38 C0 00 80 */ li r6, 0x80 -/* 80652F74 4B 9E 93 79 */ bl getRes__14dRes_control_cFPCclP11dRes_info_ci -/* 80652F78 3C 80 00 08 */ lis r4, 8 -/* 80652F7C 3C A0 11 00 */ lis r5, 0x1100 /* 0x11000084@ha */ -/* 80652F80 38 A5 00 84 */ addi r5, r5, 0x0084 /* 0x11000084@l */ -/* 80652F84 4B 9C 1C D1 */ bl mDoExt_J3DModel__create__FP12J3DModelDataUlUl -/* 80652F88 90 7E 05 70 */ stw r3, 0x570(r30) -/* 80652F8C 80 1E 05 70 */ lwz r0, 0x570(r30) -/* 80652F90 28 00 00 00 */ cmplwi r0, 0 -/* 80652F94 40 82 00 0C */ bne lbl_80652FA0 -/* 80652F98 38 60 00 00 */ li r3, 0 -/* 80652F9C 48 00 01 CC */ b lbl_80653168 -lbl_80652FA0: -/* 80652FA0 38 60 00 18 */ li r3, 0x18 -/* 80652FA4 4B C7 BC A9 */ bl __nw__FUl -/* 80652FA8 7C 7D 1B 79 */ or. r29, r3, r3 -/* 80652FAC 41 82 00 20 */ beq lbl_80652FCC -/* 80652FB0 3C 80 80 65 */ lis r4, __vt__12J3DFrameCtrl@ha /* 0x806533C0@ha */ -/* 80652FB4 38 04 33 C0 */ addi r0, r4, __vt__12J3DFrameCtrl@l /* 0x806533C0@l */ -/* 80652FB8 90 1D 00 00 */ stw r0, 0(r29) -/* 80652FBC 38 80 00 00 */ li r4, 0 -/* 80652FC0 4B CD 54 3D */ bl init__12J3DFrameCtrlFs -/* 80652FC4 38 00 00 00 */ li r0, 0 -/* 80652FC8 90 1D 00 14 */ stw r0, 0x14(r29) -lbl_80652FCC: -/* 80652FCC 93 BE 05 78 */ stw r29, 0x578(r30) -/* 80652FD0 80 1E 05 78 */ lwz r0, 0x578(r30) -/* 80652FD4 28 00 00 00 */ cmplwi r0, 0 -/* 80652FD8 40 82 00 0C */ bne lbl_80652FE4 -/* 80652FDC 38 60 00 00 */ li r3, 0 -/* 80652FE0 48 00 01 88 */ b lbl_80653168 -lbl_80652FE4: -/* 80652FE4 3C 60 80 65 */ lis r3, d_a_b_zant_sima__stringBase0@ha /* 0x80653364@ha */ -/* 80652FE8 38 63 33 64 */ addi r3, r3, d_a_b_zant_sima__stringBase0@l /* 0x80653364@l */ -/* 80652FEC 38 80 00 0D */ li r4, 0xd -/* 80652FF0 7F E5 FB 78 */ mr r5, r31 -/* 80652FF4 38 C0 00 80 */ li r6, 0x80 -/* 80652FF8 4B 9E 92 F5 */ bl getRes__14dRes_control_cFPCclP11dRes_info_ci -/* 80652FFC 7C 65 1B 78 */ mr r5, r3 -/* 80653000 80 7E 05 70 */ lwz r3, 0x570(r30) -/* 80653004 80 83 00 04 */ lwz r4, 4(r3) -/* 80653008 80 7E 05 78 */ lwz r3, 0x578(r30) -/* 8065300C 38 84 00 58 */ addi r4, r4, 0x58 -/* 80653010 38 C0 00 01 */ li r6, 1 -/* 80653014 38 E0 00 02 */ li r7, 2 -/* 80653018 3D 00 80 65 */ lis r8, lit_3917@ha /* 0x80653350@ha */ -/* 8065301C C0 28 33 50 */ lfs f1, lit_3917@l(r8) /* 0x80653350@l */ -/* 80653020 39 00 00 00 */ li r8, 0 -/* 80653024 39 20 FF FF */ li r9, -1 -/* 80653028 4B 9B A6 15 */ bl init__13mDoExt_btkAnmFP16J3DMaterialTableP19J3DAnmTextureSRTKeyiifss -/* 8065302C 2C 03 00 00 */ cmpwi r3, 0 -/* 80653030 40 82 00 0C */ bne lbl_8065303C -/* 80653034 38 60 00 00 */ li r3, 0 -/* 80653038 48 00 01 30 */ b lbl_80653168 -lbl_8065303C: -/* 8065303C 38 60 00 18 */ li r3, 0x18 -/* 80653040 4B C7 BC 0D */ bl __nw__FUl -/* 80653044 7C 7D 1B 79 */ or. r29, r3, r3 -/* 80653048 41 82 00 20 */ beq lbl_80653068 -/* 8065304C 3C 80 80 65 */ lis r4, __vt__12J3DFrameCtrl@ha /* 0x806533C0@ha */ -/* 80653050 38 04 33 C0 */ addi r0, r4, __vt__12J3DFrameCtrl@l /* 0x806533C0@l */ -/* 80653054 90 1D 00 00 */ stw r0, 0(r29) -/* 80653058 38 80 00 00 */ li r4, 0 -/* 8065305C 4B CD 53 A1 */ bl init__12J3DFrameCtrlFs -/* 80653060 38 00 00 00 */ li r0, 0 -/* 80653064 90 1D 00 14 */ stw r0, 0x14(r29) -lbl_80653068: -/* 80653068 93 BE 05 74 */ stw r29, 0x574(r30) -/* 8065306C 80 1E 05 74 */ lwz r0, 0x574(r30) -/* 80653070 28 00 00 00 */ cmplwi r0, 0 -/* 80653074 40 82 00 0C */ bne lbl_80653080 -/* 80653078 38 60 00 00 */ li r3, 0 -/* 8065307C 48 00 00 EC */ b lbl_80653168 -lbl_80653080: -/* 80653080 3C 60 80 65 */ lis r3, d_a_b_zant_sima__stringBase0@ha /* 0x80653364@ha */ -/* 80653084 38 63 33 64 */ addi r3, r3, d_a_b_zant_sima__stringBase0@l /* 0x80653364@l */ -/* 80653088 38 80 00 0A */ li r4, 0xa -/* 8065308C 7F E5 FB 78 */ mr r5, r31 -/* 80653090 38 C0 00 80 */ li r6, 0x80 -/* 80653094 4B 9E 92 59 */ bl getRes__14dRes_control_cFPCclP11dRes_info_ci -/* 80653098 7C 65 1B 78 */ mr r5, r3 -/* 8065309C 80 7E 05 70 */ lwz r3, 0x570(r30) -/* 806530A0 80 83 00 04 */ lwz r4, 4(r3) -/* 806530A4 80 7E 05 74 */ lwz r3, 0x574(r30) -/* 806530A8 38 84 00 58 */ addi r4, r4, 0x58 -/* 806530AC 38 C0 00 01 */ li r6, 1 -/* 806530B0 38 E0 00 02 */ li r7, 2 -/* 806530B4 3D 00 80 65 */ lis r8, lit_3917@ha /* 0x80653350@ha */ -/* 806530B8 C0 28 33 50 */ lfs f1, lit_3917@l(r8) /* 0x80653350@l */ -/* 806530BC 39 00 00 00 */ li r8, 0 -/* 806530C0 39 20 FF FF */ li r9, -1 -/* 806530C4 4B 9B A6 49 */ bl init__13mDoExt_brkAnmFP16J3DMaterialTableP15J3DAnmTevRegKeyiifss -/* 806530C8 2C 03 00 00 */ cmpwi r3, 0 -/* 806530CC 40 82 00 0C */ bne lbl_806530D8 -/* 806530D0 38 60 00 00 */ li r3, 0 -/* 806530D4 48 00 00 94 */ b lbl_80653168 -lbl_806530D8: -/* 806530D8 38 60 00 C0 */ li r3, 0xc0 -/* 806530DC 4B C7 BB 71 */ bl __nw__FUl -/* 806530E0 7C 60 1B 79 */ or. r0, r3, r3 -/* 806530E4 41 82 00 0C */ beq lbl_806530F0 -/* 806530E8 4B A2 88 89 */ bl __ct__4dBgWFv -/* 806530EC 7C 60 1B 78 */ mr r0, r3 -lbl_806530F0: -/* 806530F0 90 1E 05 C4 */ stw r0, 0x5c4(r30) -/* 806530F4 80 1E 05 C4 */ lwz r0, 0x5c4(r30) -/* 806530F8 28 00 00 00 */ cmplwi r0, 0 -/* 806530FC 40 82 00 0C */ bne lbl_80653108 -/* 80653100 38 60 00 00 */ li r3, 0 -/* 80653104 48 00 00 64 */ b lbl_80653168 -lbl_80653108: -/* 80653108 3C 60 80 65 */ lis r3, d_a_b_zant_sima__stringBase0@ha /* 0x80653364@ha */ -/* 8065310C 38 63 33 64 */ addi r3, r3, d_a_b_zant_sima__stringBase0@l /* 0x80653364@l */ -/* 80653110 38 80 00 10 */ li r4, 0x10 -/* 80653114 7F E5 FB 78 */ mr r5, r31 -/* 80653118 38 C0 00 80 */ li r6, 0x80 -/* 8065311C 4B 9E 91 D1 */ bl getRes__14dRes_control_cFPCclP11dRes_info_ci -/* 80653120 7C 64 1B 78 */ mr r4, r3 -/* 80653124 80 7E 05 C4 */ lwz r3, 0x5c4(r30) -/* 80653128 38 A0 00 01 */ li r5, 1 -/* 8065312C 38 DE 05 94 */ addi r6, r30, 0x594 -/* 80653130 4B A2 6E 09 */ bl Set__4cBgWFP6cBgD_tUlPA3_A4_f -/* 80653134 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 80653138 41 82 00 0C */ beq lbl_80653144 -/* 8065313C 38 60 00 00 */ li r3, 0 -/* 80653140 48 00 00 28 */ b lbl_80653168 -lbl_80653144: -/* 80653144 3C 60 80 07 */ lis r3, dBgS_MoveBGProc_Typical__FP4dBgWPvRC13cBgS_PolyInfobP4cXyzP5csXyzP5csXyz@ha /* 0x80075A24@ha */ -/* 80653148 38 03 5A 24 */ addi r0, r3, dBgS_MoveBGProc_Typical__FP4dBgWPvRC13cBgS_PolyInfobP4cXyzP5csXyzP5csXyz@l /* 0x80075A24@l */ -/* 8065314C 80 7E 05 C4 */ lwz r3, 0x5c4(r30) -/* 80653150 90 03 00 B0 */ stw r0, 0xb0(r3) -/* 80653154 3C 60 80 65 */ lis r3, zants_ride_call_back__FP4dBgWP10fopAc_ac_cP10fopAc_ac_c@ha /* 0x80652ACC@ha */ -/* 80653158 38 03 2A CC */ addi r0, r3, zants_ride_call_back__FP4dBgWP10fopAc_ac_cP10fopAc_ac_c@l /* 0x80652ACC@l */ -/* 8065315C 80 7E 05 C4 */ lwz r3, 0x5c4(r30) -/* 80653160 90 03 00 B4 */ stw r0, 0xb4(r3) -/* 80653164 38 60 00 01 */ li r3, 1 -lbl_80653168: -/* 80653168 39 61 00 20 */ addi r11, r1, 0x20 -/* 8065316C 4B D0 F0 BD */ bl _restgpr_29 -/* 80653170 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80653174 7C 08 03 A6 */ mtlr r0 -/* 80653178 38 21 00 20 */ addi r1, r1, 0x20 -/* 8065317C 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/b/d_a_b_zant_sima/d_a_b_zant_sima/__dt__12J3DFrameCtrlFv.s b/asm/rel/d/a/b/d_a_b_zant_sima/d_a_b_zant_sima/__dt__12J3DFrameCtrlFv.s deleted file mode 100644 index ed360440c04..00000000000 --- a/asm/rel/d/a/b/d_a_b_zant_sima/d_a_b_zant_sima/__dt__12J3DFrameCtrlFv.s +++ /dev/null @@ -1,20 +0,0 @@ -lbl_80653180: -/* 80653180 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80653184 7C 08 02 A6 */ mflr r0 -/* 80653188 90 01 00 14 */ stw r0, 0x14(r1) -/* 8065318C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80653190 7C 7F 1B 79 */ or. r31, r3, r3 -/* 80653194 41 82 00 1C */ beq lbl_806531B0 -/* 80653198 3C A0 80 65 */ lis r5, __vt__12J3DFrameCtrl@ha /* 0x806533C0@ha */ -/* 8065319C 38 05 33 C0 */ addi r0, r5, __vt__12J3DFrameCtrl@l /* 0x806533C0@l */ -/* 806531A0 90 1F 00 00 */ stw r0, 0(r31) -/* 806531A4 7C 80 07 35 */ extsh. r0, r4 -/* 806531A8 40 81 00 08 */ ble lbl_806531B0 -/* 806531AC 4B C7 BB 91 */ bl __dl__FPv -lbl_806531B0: -/* 806531B0 7F E3 FB 78 */ mr r3, r31 -/* 806531B4 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 806531B8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 806531BC 7C 08 03 A6 */ mtlr r0 -/* 806531C0 38 21 00 10 */ addi r1, r1, 0x10 -/* 806531C4 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/b/d_a_b_zant_sima/d_a_b_zant_sima/_delete__11daB_ZANTS_cFv.s b/asm/rel/d/a/b/d_a_b_zant_sima/d_a_b_zant_sima/_delete__11daB_ZANTS_cFv.s deleted file mode 100644 index 6c918d4c42b..00000000000 --- a/asm/rel/d/a/b/d_a_b_zant_sima/d_a_b_zant_sima/_delete__11daB_ZANTS_cFv.s +++ /dev/null @@ -1,24 +0,0 @@ -lbl_80652EC0: -/* 80652EC0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80652EC4 7C 08 02 A6 */ mflr r0 -/* 80652EC8 90 01 00 14 */ stw r0, 0x14(r1) -/* 80652ECC 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80652ED0 7C 7F 1B 78 */ mr r31, r3 -/* 80652ED4 38 7F 05 68 */ addi r3, r31, 0x568 -/* 80652ED8 3C 80 80 65 */ lis r4, d_a_b_zant_sima__stringBase0@ha /* 0x80653364@ha */ -/* 80652EDC 38 84 33 64 */ addi r4, r4, d_a_b_zant_sima__stringBase0@l /* 0x80653364@l */ -/* 80652EE0 4B 9D A1 29 */ bl dComIfG_resDelete__FP30request_of_phase_process_classPCc -/* 80652EE4 80 9F 05 C4 */ lwz r4, 0x5c4(r31) -/* 80652EE8 28 04 00 00 */ cmplwi r4, 0 -/* 80652EEC 41 82 00 14 */ beq lbl_80652F00 -/* 80652EF0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80652EF4 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80652EF8 38 63 0F 38 */ addi r3, r3, 0xf38 -/* 80652EFC 4B A2 13 55 */ bl Release__4cBgSFP9dBgW_Base -lbl_80652F00: -/* 80652F00 38 60 00 01 */ li r3, 1 -/* 80652F04 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80652F08 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80652F0C 7C 08 03 A6 */ mtlr r0 -/* 80652F10 38 21 00 10 */ addi r1, r1, 0x10 -/* 80652F14 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/b/d_a_b_zant_sima/d_a_b_zant_sima/action__11daB_ZANTS_cFv.s b/asm/rel/d/a/b/d_a_b_zant_sima/d_a_b_zant_sima/action__11daB_ZANTS_cFv.s deleted file mode 100644 index 505c8f52753..00000000000 --- a/asm/rel/d/a/b/d_a_b_zant_sima/d_a_b_zant_sima/action__11daB_ZANTS_cFv.s +++ /dev/null @@ -1,176 +0,0 @@ -lbl_80652B28: -/* 80652B28 94 21 FF A0 */ stwu r1, -0x60(r1) -/* 80652B2C 7C 08 02 A6 */ mflr r0 -/* 80652B30 90 01 00 64 */ stw r0, 0x64(r1) -/* 80652B34 DB E1 00 50 */ stfd f31, 0x50(r1) -/* 80652B38 F3 E1 00 58 */ psq_st f31, 88(r1), 0, 0 /* qr0 */ -/* 80652B3C DB C1 00 40 */ stfd f30, 0x40(r1) -/* 80652B40 F3 C1 00 48 */ psq_st f30, 72(r1), 0, 0 /* qr0 */ -/* 80652B44 39 61 00 40 */ addi r11, r1, 0x40 -/* 80652B48 4B D0 F6 95 */ bl _savegpr_29 -/* 80652B4C 7C 7E 1B 78 */ mr r30, r3 -/* 80652B50 3C 60 80 65 */ lis r3, lit_3800@ha /* 0x8065332C@ha */ -/* 80652B54 3B E3 33 2C */ addi r31, r3, lit_3800@l /* 0x8065332C@l */ -/* 80652B58 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80652B5C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80652B60 80 63 5D AC */ lwz r3, 0x5dac(r3) -/* 80652B64 80 03 05 70 */ lwz r0, 0x570(r3) -/* 80652B68 54 00 04 E7 */ rlwinm. r0, r0, 0, 0x13, 0x13 -/* 80652B6C 41 82 00 24 */ beq lbl_80652B90 -/* 80652B70 38 00 00 03 */ li r0, 3 -/* 80652B74 98 1E 05 84 */ stb r0, 0x584(r30) -/* 80652B78 28 03 00 00 */ cmplwi r3, 0 -/* 80652B7C 41 82 00 0C */ beq lbl_80652B88 -/* 80652B80 80 03 00 04 */ lwz r0, 4(r3) -/* 80652B84 48 00 00 08 */ b lbl_80652B8C -lbl_80652B88: -/* 80652B88 38 00 FF FF */ li r0, -1 -lbl_80652B8C: -/* 80652B8C 90 1E 05 7C */ stw r0, 0x57c(r30) -lbl_80652B90: -/* 80652B90 C0 1E 04 D0 */ lfs f0, 0x4d0(r30) -/* 80652B94 D0 01 00 24 */ stfs f0, 0x24(r1) -/* 80652B98 C0 1E 04 D4 */ lfs f0, 0x4d4(r30) -/* 80652B9C D0 01 00 28 */ stfs f0, 0x28(r1) -/* 80652BA0 C0 1E 04 D8 */ lfs f0, 0x4d8(r30) -/* 80652BA4 D0 01 00 2C */ stfs f0, 0x2c(r1) -/* 80652BA8 88 1E 05 85 */ lbz r0, 0x585(r30) -/* 80652BAC 28 00 00 00 */ cmplwi r0, 0 -/* 80652BB0 41 82 00 34 */ beq lbl_80652BE4 -/* 80652BB4 80 7E 05 80 */ lwz r3, 0x580(r30) -/* 80652BB8 38 81 00 08 */ addi r4, r1, 8 -/* 80652BBC 4B 9C 6E 01 */ bl fopAcM_SearchByID__FUiPP10fopAc_ac_c -/* 80652BC0 80 61 00 08 */ lwz r3, 8(r1) -/* 80652BC4 28 03 00 00 */ cmplwi r3, 0 -/* 80652BC8 41 82 00 1C */ beq lbl_80652BE4 -/* 80652BCC C0 03 04 D0 */ lfs f0, 0x4d0(r3) -/* 80652BD0 D0 01 00 24 */ stfs f0, 0x24(r1) -/* 80652BD4 C0 03 04 D4 */ lfs f0, 0x4d4(r3) -/* 80652BD8 D0 01 00 28 */ stfs f0, 0x28(r1) -/* 80652BDC C0 03 04 D8 */ lfs f0, 0x4d8(r3) -/* 80652BE0 D0 01 00 2C */ stfs f0, 0x2c(r1) -lbl_80652BE4: -/* 80652BE4 8B BE 05 87 */ lbz r29, 0x587(r30) -/* 80652BE8 38 00 00 00 */ li r0, 0 -/* 80652BEC 98 1E 05 87 */ stb r0, 0x587(r30) -/* 80652BF0 98 1E 05 86 */ stb r0, 0x586(r30) -/* 80652BF4 88 1E 05 85 */ lbz r0, 0x585(r30) -/* 80652BF8 28 00 00 00 */ cmplwi r0, 0 -/* 80652BFC 41 82 00 0C */ beq lbl_80652C08 -/* 80652C00 38 00 00 01 */ li r0, 1 -/* 80652C04 98 1E 05 87 */ stb r0, 0x587(r30) -lbl_80652C08: -/* 80652C08 88 1E 05 84 */ lbz r0, 0x584(r30) -/* 80652C0C 28 00 00 00 */ cmplwi r0, 0 -/* 80652C10 41 82 00 0C */ beq lbl_80652C1C -/* 80652C14 38 00 00 01 */ li r0, 1 -/* 80652C18 98 1E 05 86 */ stb r0, 0x586(r30) -lbl_80652C1C: -/* 80652C1C C0 21 00 24 */ lfs f1, 0x24(r1) -/* 80652C20 C0 1E 04 D0 */ lfs f0, 0x4d0(r30) -/* 80652C24 EF E1 00 28 */ fsubs f31, f1, f0 -/* 80652C28 C0 41 00 2C */ lfs f2, 0x2c(r1) -/* 80652C2C C0 1E 04 D8 */ lfs f0, 0x4d8(r30) -/* 80652C30 EF C2 00 28 */ fsubs f30, f2, f0 -/* 80652C34 D0 21 00 0C */ stfs f1, 0xc(r1) -/* 80652C38 C0 3F 00 00 */ lfs f1, 0(r31) -/* 80652C3C D0 21 00 10 */ stfs f1, 0x10(r1) -/* 80652C40 D0 41 00 14 */ stfs f2, 0x14(r1) -/* 80652C44 C0 5E 04 D8 */ lfs f2, 0x4d8(r30) -/* 80652C48 C0 1E 04 D0 */ lfs f0, 0x4d0(r30) -/* 80652C4C D0 01 00 18 */ stfs f0, 0x18(r1) -/* 80652C50 D0 21 00 1C */ stfs f1, 0x1c(r1) -/* 80652C54 D0 41 00 20 */ stfs f2, 0x20(r1) -/* 80652C58 38 61 00 0C */ addi r3, r1, 0xc -/* 80652C5C 38 81 00 18 */ addi r4, r1, 0x18 -/* 80652C60 4B CF 47 3D */ bl PSVECSquareDistance -/* 80652C64 C0 1F 00 00 */ lfs f0, 0(r31) -/* 80652C68 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 80652C6C 40 81 00 08 */ ble lbl_80652C74 -/* 80652C70 48 00 00 0C */ b lbl_80652C7C -lbl_80652C74: -/* 80652C74 C8 1F 00 08 */ lfd f0, 8(r31) -/* 80652C78 FC 01 00 40 */ fcmpo cr0, f1, f0 -lbl_80652C7C: -/* 80652C7C FC 20 F8 90 */ fmr f1, f31 -/* 80652C80 FC 40 F0 90 */ fmr f2, f30 -/* 80652C84 4B C1 49 F1 */ bl cM_atan2s__Fff -/* 80652C88 7C 64 1B 78 */ mr r4, r3 -/* 80652C8C 38 7E 05 8E */ addi r3, r30, 0x58e -/* 80652C90 38 A0 00 08 */ li r5, 8 -/* 80652C94 38 C0 04 00 */ li r6, 0x400 -/* 80652C98 4B C1 D9 71 */ bl cLib_addCalcAngleS2__FPssss -/* 80652C9C 28 1D 00 00 */ cmplwi r29, 0 -/* 80652CA0 40 82 00 34 */ bne lbl_80652CD4 -/* 80652CA4 88 1E 05 87 */ lbz r0, 0x587(r30) -/* 80652CA8 28 00 00 00 */ cmplwi r0, 0 -/* 80652CAC 41 82 00 28 */ beq lbl_80652CD4 -/* 80652CB0 A8 1E 05 8C */ lha r0, 0x58c(r30) -/* 80652CB4 2C 00 00 00 */ cmpwi r0, 0 -/* 80652CB8 40 82 00 14 */ bne lbl_80652CCC -/* 80652CBC FC 20 F8 90 */ fmr f1, f31 -/* 80652CC0 FC 40 F0 90 */ fmr f2, f30 -/* 80652CC4 4B C1 49 B1 */ bl cM_atan2s__Fff -/* 80652CC8 B0 7E 05 8E */ sth r3, 0x58e(r30) -lbl_80652CCC: -/* 80652CCC 38 00 04 00 */ li r0, 0x400 -/* 80652CD0 B0 1E 05 90 */ sth r0, 0x590(r30) -lbl_80652CD4: -/* 80652CD4 38 7E 05 8C */ addi r3, r30, 0x58c -/* 80652CD8 38 80 00 00 */ li r4, 0 -/* 80652CDC 38 A0 00 08 */ li r5, 8 -/* 80652CE0 38 C0 00 40 */ li r6, 0x40 -/* 80652CE4 4B C1 D9 25 */ bl cLib_addCalcAngleS2__FPssss -/* 80652CE8 A8 7E 05 8C */ lha r3, 0x58c(r30) -/* 80652CEC A8 1E 05 90 */ lha r0, 0x590(r30) -/* 80652CF0 7C 03 02 14 */ add r0, r3, r0 -/* 80652CF4 B0 1E 05 8C */ sth r0, 0x58c(r30) -/* 80652CF8 A8 1E 05 8C */ lha r0, 0x58c(r30) -/* 80652CFC 2C 00 14 00 */ cmpwi r0, 0x1400 -/* 80652D00 40 81 00 14 */ ble lbl_80652D14 -/* 80652D04 38 00 14 00 */ li r0, 0x1400 -/* 80652D08 B0 1E 05 8C */ sth r0, 0x58c(r30) -/* 80652D0C 38 00 00 00 */ li r0, 0 -/* 80652D10 B0 1E 05 90 */ sth r0, 0x590(r30) -lbl_80652D14: -/* 80652D14 38 7E 05 90 */ addi r3, r30, 0x590 -/* 80652D18 38 80 00 00 */ li r4, 0 -/* 80652D1C 38 A0 00 80 */ li r5, 0x80 -/* 80652D20 4B C1 DE 71 */ bl cLib_chaseAngleS__FPsss -/* 80652D24 C0 3F 00 10 */ lfs f1, 0x10(r31) -/* 80652D28 88 1E 05 84 */ lbz r0, 0x584(r30) -/* 80652D2C 28 00 00 00 */ cmplwi r0, 0 -/* 80652D30 40 82 00 10 */ bne lbl_80652D40 -/* 80652D34 88 1E 05 85 */ lbz r0, 0x585(r30) -/* 80652D38 28 00 00 00 */ cmplwi r0, 0 -/* 80652D3C 41 82 00 08 */ beq lbl_80652D44 -lbl_80652D40: -/* 80652D40 C0 3F 00 14 */ lfs f1, 0x14(r31) -lbl_80652D44: -/* 80652D44 38 7E 05 88 */ addi r3, r30, 0x588 -/* 80652D48 C0 5F 00 18 */ lfs f2, 0x18(r31) -/* 80652D4C C0 7F 00 1C */ lfs f3, 0x1c(r31) -/* 80652D50 4B C1 CC ED */ bl cLib_addCalc2__FPffff -/* 80652D54 38 A0 00 00 */ li r5, 0 -/* 80652D58 38 00 00 02 */ li r0, 2 -/* 80652D5C 7C 09 03 A6 */ mtctr r0 -lbl_80652D60: -/* 80652D60 38 85 05 84 */ addi r4, r5, 0x584 -/* 80652D64 7C 7E 20 AE */ lbzx r3, r30, r4 -/* 80652D68 28 03 00 00 */ cmplwi r3, 0 -/* 80652D6C 41 82 00 0C */ beq lbl_80652D78 -/* 80652D70 38 03 FF FF */ addi r0, r3, -1 -/* 80652D74 7C 1E 21 AE */ stbx r0, r30, r4 -lbl_80652D78: -/* 80652D78 38 A5 00 01 */ addi r5, r5, 1 -/* 80652D7C 42 00 FF E4 */ bdnz lbl_80652D60 -/* 80652D80 E3 E1 00 58 */ psq_l f31, 88(r1), 0, 0 /* qr0 */ -/* 80652D84 CB E1 00 50 */ lfd f31, 0x50(r1) -/* 80652D88 E3 C1 00 48 */ psq_l f30, 72(r1), 0, 0 /* qr0 */ -/* 80652D8C CB C1 00 40 */ lfd f30, 0x40(r1) -/* 80652D90 39 61 00 40 */ addi r11, r1, 0x40 -/* 80652D94 4B D0 F4 95 */ bl _restgpr_29 -/* 80652D98 80 01 00 64 */ lwz r0, 0x64(r1) -/* 80652D9C 7C 08 03 A6 */ mtlr r0 -/* 80652DA0 38 21 00 60 */ addi r1, r1, 0x60 -/* 80652DA4 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/b/d_a_b_zant_sima/d_a_b_zant_sima/create__11daB_ZANTS_cFv.s b/asm/rel/d/a/b/d_a_b_zant_sima/d_a_b_zant_sima/create__11daB_ZANTS_cFv.s deleted file mode 100644 index bd0c769b754..00000000000 --- a/asm/rel/d/a/b/d_a_b_zant_sima/d_a_b_zant_sima/create__11daB_ZANTS_cFv.s +++ /dev/null @@ -1,78 +0,0 @@ -lbl_806531E8: -/* 806531E8 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 806531EC 7C 08 02 A6 */ mflr r0 -/* 806531F0 90 01 00 24 */ stw r0, 0x24(r1) -/* 806531F4 39 61 00 20 */ addi r11, r1, 0x20 -/* 806531F8 4B D0 EF E5 */ bl _savegpr_29 -/* 806531FC 7C 7F 1B 78 */ mr r31, r3 -/* 80653200 3C 80 80 65 */ lis r4, lit_3800@ha /* 0x8065332C@ha */ -/* 80653204 3B C4 33 2C */ addi r30, r4, lit_3800@l /* 0x8065332C@l */ -/* 80653208 80 03 04 A0 */ lwz r0, 0x4a0(r3) -/* 8065320C 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c -/* 80653210 40 82 00 1C */ bne lbl_8065322C -/* 80653214 28 1F 00 00 */ cmplwi r31, 0 -/* 80653218 41 82 00 08 */ beq lbl_80653220 -/* 8065321C 4B 9C 59 49 */ bl __ct__10fopAc_ac_cFv -lbl_80653220: -/* 80653220 80 1F 04 A0 */ lwz r0, 0x4a0(r31) -/* 80653224 60 00 00 08 */ ori r0, r0, 8 -/* 80653228 90 1F 04 A0 */ stw r0, 0x4a0(r31) -lbl_8065322C: -/* 8065322C 38 7F 05 68 */ addi r3, r31, 0x568 -/* 80653230 3C 80 80 65 */ lis r4, d_a_b_zant_sima__stringBase0@ha /* 0x80653364@ha */ -/* 80653234 38 84 33 64 */ addi r4, r4, d_a_b_zant_sima__stringBase0@l /* 0x80653364@l */ -/* 80653238 4B 9D 9C 85 */ bl dComIfG_resLoad__FP30request_of_phase_process_classPCc -/* 8065323C 7C 7D 1B 78 */ mr r29, r3 -/* 80653240 2C 1D 00 04 */ cmpwi r29, 4 -/* 80653244 40 82 00 A4 */ bne lbl_806532E8 -/* 80653248 7F E3 FB 78 */ mr r3, r31 -/* 8065324C 3C 80 80 65 */ lis r4, useHeapInit__FP10fopAc_ac_c@ha /* 0x806531C8@ha */ -/* 80653250 38 84 31 C8 */ addi r4, r4, useHeapInit__FP10fopAc_ac_c@l /* 0x806531C8@l */ -/* 80653254 38 A0 3A A0 */ li r5, 0x3aa0 -/* 80653258 4B 9C 72 59 */ bl fopAcM_entrySolidHeap__FP10fopAc_ac_cPFP10fopAc_ac_c_iUl -/* 8065325C 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 80653260 40 82 00 0C */ bne lbl_8065326C -/* 80653264 38 60 00 05 */ li r3, 5 -/* 80653268 48 00 00 84 */ b lbl_806532EC -lbl_8065326C: -/* 8065326C 80 9F 05 C4 */ lwz r4, 0x5c4(r31) -/* 80653270 28 04 00 00 */ cmplwi r4, 0 -/* 80653274 41 82 00 28 */ beq lbl_8065329C -/* 80653278 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8065327C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80653280 38 63 0F 38 */ addi r3, r3, 0xf38 -/* 80653284 7F E5 FB 78 */ mr r5, r31 -/* 80653288 4B A2 17 81 */ bl Regist__4dBgSFP9dBgW_BaseP10fopAc_ac_c -/* 8065328C 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 80653290 41 82 00 0C */ beq lbl_8065329C -/* 80653294 38 60 00 05 */ li r3, 5 -/* 80653298 48 00 00 54 */ b lbl_806532EC -lbl_8065329C: -/* 8065329C 38 00 00 00 */ li r0, 0 -/* 806532A0 90 1F 05 5C */ stw r0, 0x55c(r31) -/* 806532A4 C0 1E 00 10 */ lfs f0, 0x10(r30) -/* 806532A8 D0 1F 05 88 */ stfs f0, 0x588(r31) -/* 806532AC 80 7F 05 70 */ lwz r3, 0x570(r31) -/* 806532B0 38 03 00 24 */ addi r0, r3, 0x24 -/* 806532B4 90 1F 05 04 */ stw r0, 0x504(r31) -/* 806532B8 7F E3 FB 78 */ mr r3, r31 -/* 806532BC C0 3E 00 28 */ lfs f1, 0x28(r30) -/* 806532C0 C0 5E 00 2C */ lfs f2, 0x2c(r30) -/* 806532C4 FC 60 10 90 */ fmr f3, f2 -/* 806532C8 4B 9C 72 61 */ bl fopAcM_SetMin__FP10fopAc_ac_cfff -/* 806532CC 7F E3 FB 78 */ mr r3, r31 -/* 806532D0 C0 3E 00 30 */ lfs f1, 0x30(r30) -/* 806532D4 C0 5E 00 34 */ lfs f2, 0x34(r30) -/* 806532D8 FC 60 10 90 */ fmr f3, f2 -/* 806532DC 4B 9C 72 5D */ bl fopAcM_SetMax__FP10fopAc_ac_cfff -/* 806532E0 7F E3 FB 78 */ mr r3, r31 -/* 806532E4 4B FF FB B5 */ bl daB_ZANTS_Execute__FP11daB_ZANTS_c -lbl_806532E8: -/* 806532E8 7F A3 EB 78 */ mr r3, r29 -lbl_806532EC: -/* 806532EC 39 61 00 20 */ addi r11, r1, 0x20 -/* 806532F0 4B D0 EF 39 */ bl _restgpr_29 -/* 806532F4 80 01 00 24 */ lwz r0, 0x24(r1) -/* 806532F8 7C 08 03 A6 */ mtlr r0 -/* 806532FC 38 21 00 20 */ addi r1, r1, 0x20 -/* 80653300 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/b/d_a_b_zant_sima/d_a_b_zant_sima/daB_ZANTS_Create__FP11daB_ZANTS_c.s b/asm/rel/d/a/b/d_a_b_zant_sima/d_a_b_zant_sima/daB_ZANTS_Create__FP11daB_ZANTS_c.s deleted file mode 100644 index d3d6a27218a..00000000000 --- a/asm/rel/d/a/b/d_a_b_zant_sima/d_a_b_zant_sima/daB_ZANTS_Create__FP11daB_ZANTS_c.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_80653304: -/* 80653304 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80653308 7C 08 02 A6 */ mflr r0 -/* 8065330C 90 01 00 14 */ stw r0, 0x14(r1) -/* 80653310 4B FF FE D9 */ bl create__11daB_ZANTS_cFv -/* 80653314 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80653318 7C 08 03 A6 */ mtlr r0 -/* 8065331C 38 21 00 10 */ addi r1, r1, 0x10 -/* 80653320 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/b/d_a_b_zant_sima/d_a_b_zant_sima/daB_ZANTS_Delete__FP11daB_ZANTS_c.s b/asm/rel/d/a/b/d_a_b_zant_sima/d_a_b_zant_sima/daB_ZANTS_Delete__FP11daB_ZANTS_c.s deleted file mode 100644 index 7599282d33b..00000000000 --- a/asm/rel/d/a/b/d_a_b_zant_sima/d_a_b_zant_sima/daB_ZANTS_Delete__FP11daB_ZANTS_c.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_80652F18: -/* 80652F18 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80652F1C 7C 08 02 A6 */ mflr r0 -/* 80652F20 90 01 00 14 */ stw r0, 0x14(r1) -/* 80652F24 4B FF FF 9D */ bl _delete__11daB_ZANTS_cFv -/* 80652F28 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80652F2C 7C 08 03 A6 */ mtlr r0 -/* 80652F30 38 21 00 10 */ addi r1, r1, 0x10 -/* 80652F34 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/b/d_a_b_zant_sima/d_a_b_zant_sima/daB_ZANTS_Draw__FP11daB_ZANTS_c.s b/asm/rel/d/a/b/d_a_b_zant_sima/d_a_b_zant_sima/daB_ZANTS_Draw__FP11daB_ZANTS_c.s deleted file mode 100644 index 0cd394df072..00000000000 --- a/asm/rel/d/a/b/d_a_b_zant_sima/d_a_b_zant_sima/daB_ZANTS_Draw__FP11daB_ZANTS_c.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_80652AAC: -/* 80652AAC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80652AB0 7C 08 02 A6 */ mflr r0 -/* 80652AB4 90 01 00 14 */ stw r0, 0x14(r1) -/* 80652AB8 4B FF FF 21 */ bl draw__11daB_ZANTS_cFv -/* 80652ABC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80652AC0 7C 08 03 A6 */ mtlr r0 -/* 80652AC4 38 21 00 10 */ addi r1, r1, 0x10 -/* 80652AC8 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/b/d_a_b_zant_sima/d_a_b_zant_sima/daB_ZANTS_Execute__FP11daB_ZANTS_c.s b/asm/rel/d/a/b/d_a_b_zant_sima/d_a_b_zant_sima/daB_ZANTS_Execute__FP11daB_ZANTS_c.s deleted file mode 100644 index dccf1725fb4..00000000000 --- a/asm/rel/d/a/b/d_a_b_zant_sima/d_a_b_zant_sima/daB_ZANTS_Execute__FP11daB_ZANTS_c.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_80652E98: -/* 80652E98 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80652E9C 7C 08 02 A6 */ mflr r0 -/* 80652EA0 90 01 00 14 */ stw r0, 0x14(r1) -/* 80652EA4 4B FF FF 05 */ bl execute__11daB_ZANTS_cFv -/* 80652EA8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80652EAC 7C 08 03 A6 */ mtlr r0 -/* 80652EB0 38 21 00 10 */ addi r1, r1, 0x10 -/* 80652EB4 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/b/d_a_b_zant_sima/d_a_b_zant_sima/draw__11daB_ZANTS_cFv.s b/asm/rel/d/a/b/d_a_b_zant_sima/d_a_b_zant_sima/draw__11daB_ZANTS_cFv.s deleted file mode 100644 index 684f27da2ef..00000000000 --- a/asm/rel/d/a/b/d_a_b_zant_sima/d_a_b_zant_sima/draw__11daB_ZANTS_cFv.s +++ /dev/null @@ -1,54 +0,0 @@ -lbl_806529D8: -/* 806529D8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 806529DC 7C 08 02 A6 */ mflr r0 -/* 806529E0 90 01 00 14 */ stw r0, 0x14(r1) -/* 806529E4 93 E1 00 0C */ stw r31, 0xc(r1) -/* 806529E8 93 C1 00 08 */ stw r30, 8(r1) -/* 806529EC 7C 7E 1B 78 */ mr r30, r3 -/* 806529F0 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */ -/* 806529F4 38 63 CA 54 */ addi r3, r3, g_env_light@l /* 0x8042CA54@l */ -/* 806529F8 38 80 00 10 */ li r4, 0x10 -/* 806529FC 38 BE 04 D0 */ addi r5, r30, 0x4d0 -/* 80652A00 38 DE 01 0C */ addi r6, r30, 0x10c -/* 80652A04 4B B5 0D C1 */ bl settingTevStruct__18dScnKy_env_light_cFiP4cXyzP12dKy_tevstr_c -/* 80652A08 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */ -/* 80652A0C 38 63 CA 54 */ addi r3, r3, g_env_light@l /* 0x8042CA54@l */ -/* 80652A10 80 9E 05 70 */ lwz r4, 0x570(r30) -/* 80652A14 80 84 00 04 */ lwz r4, 4(r4) -/* 80652A18 38 BE 01 0C */ addi r5, r30, 0x10c -/* 80652A1C 4B B5 23 85 */ bl setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c -/* 80652A20 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80652A24 38 83 61 C0 */ addi r4, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80652A28 80 04 5F 70 */ lwz r0, 0x5f70(r4) -/* 80652A2C 3C 60 80 43 */ lis r3, j3dSys@ha /* 0x80434AC8@ha */ -/* 80652A30 3B E3 4A C8 */ addi r31, r3, j3dSys@l /* 0x80434AC8@l */ -/* 80652A34 90 1F 00 48 */ stw r0, 0x48(r31) -/* 80652A38 80 04 5F 74 */ lwz r0, 0x5f74(r4) -/* 80652A3C 90 1F 00 4C */ stw r0, 0x4c(r31) -/* 80652A40 80 7E 05 70 */ lwz r3, 0x570(r30) -/* 80652A44 80 83 00 04 */ lwz r4, 4(r3) -/* 80652A48 80 7E 05 78 */ lwz r3, 0x578(r30) -/* 80652A4C C0 23 00 10 */ lfs f1, 0x10(r3) -/* 80652A50 38 84 00 58 */ addi r4, r4, 0x58 -/* 80652A54 4B 9B AC 85 */ bl entry__13mDoExt_btkAnmFP16J3DMaterialTablef -/* 80652A58 80 7E 05 70 */ lwz r3, 0x570(r30) -/* 80652A5C 80 83 00 04 */ lwz r4, 4(r3) -/* 80652A60 80 7E 05 74 */ lwz r3, 0x574(r30) -/* 80652A64 C0 23 00 10 */ lfs f1, 0x10(r3) -/* 80652A68 38 84 00 58 */ addi r4, r4, 0x58 -/* 80652A6C 4B 9B AD 3D */ bl entry__13mDoExt_brkAnmFP16J3DMaterialTablef -/* 80652A70 80 7E 05 70 */ lwz r3, 0x570(r30) -/* 80652A74 4B 9B B2 51 */ bl mDoExt_modelUpdateDL__FP8J3DModel -/* 80652A78 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80652A7C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80652A80 80 03 5F 80 */ lwz r0, 0x5f80(r3) -/* 80652A84 90 1F 00 48 */ stw r0, 0x48(r31) -/* 80652A88 80 03 5F 84 */ lwz r0, 0x5f84(r3) -/* 80652A8C 90 1F 00 4C */ stw r0, 0x4c(r31) -/* 80652A90 38 60 00 01 */ li r3, 1 -/* 80652A94 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80652A98 83 C1 00 08 */ lwz r30, 8(r1) -/* 80652A9C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80652AA0 7C 08 03 A6 */ mtlr r0 -/* 80652AA4 38 21 00 10 */ addi r1, r1, 0x10 -/* 80652AA8 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/b/d_a_b_zant_sima/d_a_b_zant_sima/execute__11daB_ZANTS_cFv.s b/asm/rel/d/a/b/d_a_b_zant_sima/d_a_b_zant_sima/execute__11daB_ZANTS_cFv.s deleted file mode 100644 index cf200e9b387..00000000000 --- a/asm/rel/d/a/b/d_a_b_zant_sima/d_a_b_zant_sima/execute__11daB_ZANTS_cFv.s +++ /dev/null @@ -1,62 +0,0 @@ -lbl_80652DA8: -/* 80652DA8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80652DAC 7C 08 02 A6 */ mflr r0 -/* 80652DB0 90 01 00 14 */ stw r0, 0x14(r1) -/* 80652DB4 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80652DB8 7C 7F 1B 78 */ mr r31, r3 -/* 80652DBC 80 63 05 74 */ lwz r3, 0x574(r3) -/* 80652DC0 4B 9B A6 69 */ bl play__14mDoExt_baseAnmFv -/* 80652DC4 80 7F 05 78 */ lwz r3, 0x578(r31) -/* 80652DC8 4B 9B A6 61 */ bl play__14mDoExt_baseAnmFv -/* 80652DCC 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */ -/* 80652DD0 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */ -/* 80652DD4 C0 3F 04 D0 */ lfs f1, 0x4d0(r31) -/* 80652DD8 C0 5F 04 D4 */ lfs f2, 0x4d4(r31) -/* 80652DDC C0 1F 05 88 */ lfs f0, 0x588(r31) -/* 80652DE0 EC 42 00 2A */ fadds f2, f2, f0 -/* 80652DE4 C0 7F 04 D8 */ lfs f3, 0x4d8(r31) -/* 80652DE8 4B CF 3B 01 */ bl PSMTXTrans -/* 80652DEC 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */ -/* 80652DF0 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */ -/* 80652DF4 A8 9F 05 8E */ lha r4, 0x58e(r31) -/* 80652DF8 4B 9B 96 3D */ bl mDoMtx_YrotM__FPA4_fs -/* 80652DFC 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */ -/* 80652E00 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */ -/* 80652E04 A8 9F 05 8C */ lha r4, 0x58c(r31) -/* 80652E08 4B 9B 95 95 */ bl mDoMtx_XrotM__FPA4_fs -/* 80652E0C 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */ -/* 80652E10 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */ -/* 80652E14 A8 1F 05 8E */ lha r0, 0x58e(r31) -/* 80652E18 7C 00 00 D0 */ neg r0, r0 -/* 80652E1C 7C 04 07 34 */ extsh r4, r0 -/* 80652E20 4B 9B 96 15 */ bl mDoMtx_YrotM__FPA4_fs -/* 80652E24 38 7F 04 E4 */ addi r3, r31, 0x4e4 -/* 80652E28 4B 9B A1 1D */ bl ZXYrotM__14mDoMtx_stack_cFRC5csXyz -/* 80652E2C 3C 60 80 65 */ lis r3, lit_3800@ha /* 0x8065332C@ha */ -/* 80652E30 C0 23 33 2C */ lfs f1, lit_3800@l(r3) /* 0x8065332C@l */ -/* 80652E34 3C 60 80 65 */ lis r3, lit_3831@ha /* 0x8065334C@ha */ -/* 80652E38 C0 43 33 4C */ lfs f2, lit_3831@l(r3) /* 0x8065334C@l */ -/* 80652E3C FC 60 08 90 */ fmr f3, f1 -/* 80652E40 4B 9B 9F 5D */ bl transM__14mDoMtx_stack_cFfff -/* 80652E44 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */ -/* 80652E48 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */ -/* 80652E4C 80 9F 05 70 */ lwz r4, 0x570(r31) -/* 80652E50 38 84 00 24 */ addi r4, r4, 0x24 -/* 80652E54 4B CF 36 5D */ bl PSMTXCopy -/* 80652E58 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */ -/* 80652E5C 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */ -/* 80652E60 38 9F 05 94 */ addi r4, r31, 0x594 -/* 80652E64 4B CF 36 4D */ bl PSMTXCopy -/* 80652E68 80 7F 05 C4 */ lwz r3, 0x5c4(r31) -/* 80652E6C 28 03 00 00 */ cmplwi r3, 0 -/* 80652E70 41 82 00 08 */ beq lbl_80652E78 -/* 80652E74 4B A2 8B 4D */ bl Move__4dBgWFv -lbl_80652E78: -/* 80652E78 7F E3 FB 78 */ mr r3, r31 -/* 80652E7C 4B FF FC AD */ bl action__11daB_ZANTS_cFv -/* 80652E80 38 60 00 01 */ li r3, 1 -/* 80652E84 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80652E88 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80652E8C 7C 08 03 A6 */ mtlr r0 -/* 80652E90 38 21 00 10 */ addi r1, r1, 0x10 -/* 80652E94 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/b/d_a_b_zant_sima/d_a_b_zant_sima/useHeapInit__FP10fopAc_ac_c.s b/asm/rel/d/a/b/d_a_b_zant_sima/d_a_b_zant_sima/useHeapInit__FP10fopAc_ac_c.s deleted file mode 100644 index 2ee0c389e60..00000000000 --- a/asm/rel/d/a/b/d_a_b_zant_sima/d_a_b_zant_sima/useHeapInit__FP10fopAc_ac_c.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_806531C8: -/* 806531C8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 806531CC 7C 08 02 A6 */ mflr r0 -/* 806531D0 90 01 00 14 */ stw r0, 0x14(r1) -/* 806531D4 4B FF FD 65 */ bl CreateHeap__11daB_ZANTS_cFv -/* 806531D8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 806531DC 7C 08 03 A6 */ mtlr r0 -/* 806531E0 38 21 00 10 */ addi r1, r1, 0x10 -/* 806531E4 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/b/d_a_b_zant_sima/d_a_b_zant_sima/zants_ride_call_back__FP4dBgWP10fopAc_ac_cP10fopAc_ac_c.s b/asm/rel/d/a/b/d_a_b_zant_sima/d_a_b_zant_sima/zants_ride_call_back__FP4dBgWP10fopAc_ac_cP10fopAc_ac_c.s deleted file mode 100644 index c8d0c5a2dfe..00000000000 --- a/asm/rel/d/a/b/d_a_b_zant_sima/d_a_b_zant_sima/zants_ride_call_back__FP4dBgWP10fopAc_ac_cP10fopAc_ac_c.s +++ /dev/null @@ -1,29 +0,0 @@ -lbl_80652ACC: -/* 80652ACC A8 05 00 08 */ lha r0, 8(r5) -/* 80652AD0 2C 00 00 FD */ cmpwi r0, 0xfd -/* 80652AD4 40 82 00 28 */ bne lbl_80652AFC -/* 80652AD8 28 05 00 00 */ cmplwi r5, 0 -/* 80652ADC 41 82 00 0C */ beq lbl_80652AE8 -/* 80652AE0 80 05 00 04 */ lwz r0, 4(r5) -/* 80652AE4 48 00 00 08 */ b lbl_80652AEC -lbl_80652AE8: -/* 80652AE8 38 00 FF FF */ li r0, -1 -lbl_80652AEC: -/* 80652AEC 90 04 05 7C */ stw r0, 0x57c(r4) -/* 80652AF0 38 00 00 03 */ li r0, 3 -/* 80652AF4 98 04 05 84 */ stb r0, 0x584(r4) -/* 80652AF8 4E 80 00 20 */ blr -lbl_80652AFC: -/* 80652AFC 2C 00 00 F9 */ cmpwi r0, 0xf9 -/* 80652B00 4C 82 00 20 */ bnelr -/* 80652B04 28 05 00 00 */ cmplwi r5, 0 -/* 80652B08 41 82 00 0C */ beq lbl_80652B14 -/* 80652B0C 80 05 00 04 */ lwz r0, 4(r5) -/* 80652B10 48 00 00 08 */ b lbl_80652B18 -lbl_80652B14: -/* 80652B14 38 00 FF FF */ li r0, -1 -lbl_80652B18: -/* 80652B18 90 04 05 80 */ stw r0, 0x580(r4) -/* 80652B1C 38 00 00 03 */ li r0, 3 -/* 80652B20 98 04 05 85 */ stb r0, 0x585(r4) -/* 80652B24 4E 80 00 20 */ blr diff --git a/include/rel/d/a/b/d_a_b_zant_sima/d_a_b_zant_sima.h b/include/rel/d/a/b/d_a_b_zant_sima/d_a_b_zant_sima.h index e03b988b847..f55bb9ca7b6 100644 --- a/include/rel/d/a/b/d_a_b_zant_sima/d_a_b_zant_sima.h +++ b/include/rel/d/a/b/d_a_b_zant_sima/d_a_b_zant_sima.h @@ -1,6 +1,30 @@ #ifndef D_A_B_ZANT_SIMA_H #define D_A_B_ZANT_SIMA_H +#include "d/bg/d_bg_w.h" #include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +class daB_ZANTS_c : public fopAc_ac_c { +public: + /* 806529D8 */ int draw(); + /* 80652B28 */ void action(); + /* 80652DA8 */ int execute(); + /* 80652EC0 */ int _delete(); + /* 80652F38 */ int CreateHeap(); + /* 806531E8 */ int create(); + + /* 0x568 */ request_of_phase_process_class mPhase; + /* 0x570 */ J3DModel* mpModel; + /* 0x574 */ mDoExt_brkAnm* mpBrkAnm; + /* 0x578 */ mDoExt_btkAnm* mpBtkAnm; + /* 0x57C */ u32 mPlayerID; + /* 0x580 */ u32 mBossID; + /* 0x584 */ u8 field_0x584[4]; + /* 0x588 */ f32 field_0x588; + /* 0x58C */ csXyz field_0x58c; + /* 0x594 */ Mtx field_0x594; + /* 0x5C4 */ dBgW* mpBgW; +}; #endif /* D_A_B_ZANT_SIMA_H */ diff --git a/rel/d/a/b/d_a_b_zant_sima/d_a_b_zant_sima.cpp b/rel/d/a/b/d_a_b_zant_sima/d_a_b_zant_sima.cpp index 29580205b37..f7c744f6e72 100644 --- a/rel/d/a/b/d_a_b_zant_sima/d_a_b_zant_sima.cpp +++ b/rel/d/a/b/d_a_b_zant_sima/d_a_b_zant_sima.cpp @@ -4,442 +4,238 @@ // #include "rel/d/a/b/d_a_b_zant_sima/d_a_b_zant_sima.h" -#include "dol2asm.h" - -// -// Types: -// - -struct request_of_phase_process_class {}; - -struct csXyz {}; - -struct mDoMtx_stack_c { - /* 8000CD9C */ void transM(f32, f32, f32); - /* 8000CF44 */ void ZXYrotM(csXyz const&); - - static u8 now[48]; -}; - -struct J3DMaterialTable {}; - -struct J3DAnmTextureSRTKey {}; - -struct mDoExt_btkAnm { - /* 8000D63C */ void init(J3DMaterialTable*, J3DAnmTextureSRTKey*, int, int, f32, s16, s16); - /* 8000D6D8 */ void entry(J3DMaterialTable*, f32); -}; - -struct J3DAnmTevRegKey {}; - -struct mDoExt_brkAnm { - /* 8000D70C */ void init(J3DMaterialTable*, J3DAnmTevRegKey*, int, int, f32, s16, s16); - /* 8000D7A8 */ void entry(J3DMaterialTable*, f32); -}; - -struct mDoExt_baseAnm { - /* 8000D428 */ void play(); -}; - -struct fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); -}; - -struct daB_ZANTS_c { - /* 806529D8 */ void draw(); - /* 80652B28 */ void action(); - /* 80652DA8 */ void execute(); - /* 80652EC0 */ void _delete(); - /* 80652F38 */ void CreateHeap(); - /* 806531E8 */ void create(); -}; - -struct dKy_tevstr_c {}; - -struct J3DModelData {}; - -struct cXyz {}; - -struct dScnKy_env_light_c { - /* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*); - /* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*); -}; - -struct dRes_info_c {}; - -struct dRes_control_c { - /* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int); -}; - -struct dBgW_Base {}; - -struct dBgW { - /* 8007B970 */ dBgW(); - /* 8007B9C0 */ void Move(); -}; - -struct dBgS { - /* 80074A08 */ void Regist(dBgW_Base*, fopAc_ac_c*); -}; - -struct cBgD_t {}; - -struct cBgW { - /* 80079F38 */ void Set(cBgD_t*, u32, f32 (*)[3][4]); -}; - -struct cBgS_PolyInfo {}; - -struct cBgS { - /* 80074250 */ void Release(dBgW_Base*); -}; - -struct J3DModel {}; - -struct J3DFrameCtrl { - /* 803283FC */ void init(s16); - /* 80653180 */ ~J3DFrameCtrl(); -}; +#include "JSystem/JKernel/JKRHeap.h" +#include "SSystem/SComponent/c_math.h" +#include "d/a/d_a_player.h" +#include "d/com/d_com_inf_game.h" +#include "d/d_procname.h" // // Forward References: // -extern "C" void draw__11daB_ZANTS_cFv(); -extern "C" static void daB_ZANTS_Draw__FP11daB_ZANTS_c(); -extern "C" static void zants_ride_call_back__FP4dBgWP10fopAc_ac_cP10fopAc_ac_c(); -extern "C" void action__11daB_ZANTS_cFv(); -extern "C" void execute__11daB_ZANTS_cFv(); -extern "C" static void daB_ZANTS_Execute__FP11daB_ZANTS_c(); -extern "C" static bool daB_ZANTS_IsDelete__FP11daB_ZANTS_c(); -extern "C" void _delete__11daB_ZANTS_cFv(); -extern "C" static void daB_ZANTS_Delete__FP11daB_ZANTS_c(); -extern "C" void CreateHeap__11daB_ZANTS_cFv(); -extern "C" void __dt__12J3DFrameCtrlFv(); -extern "C" static void useHeapInit__FP10fopAc_ac_c(); -extern "C" void create__11daB_ZANTS_cFv(); -extern "C" static void daB_ZANTS_Create__FP11daB_ZANTS_c(); -extern "C" extern char const* const d_a_b_zant_sima__stringBase0; - -// -// External References: -// - -extern "C" void mDoMtx_XrotM__FPA4_fs(); -extern "C" void mDoMtx_YrotM__FPA4_fs(); -extern "C" void transM__14mDoMtx_stack_cFfff(); -extern "C" void ZXYrotM__14mDoMtx_stack_cFRC5csXyz(); -extern "C" void play__14mDoExt_baseAnmFv(); -extern "C" void init__13mDoExt_btkAnmFP16J3DMaterialTableP19J3DAnmTextureSRTKeyiifss(); -extern "C" void entry__13mDoExt_btkAnmFP16J3DMaterialTablef(); -extern "C" void init__13mDoExt_brkAnmFP16J3DMaterialTableP15J3DAnmTevRegKeyiifss(); -extern "C" void entry__13mDoExt_brkAnmFP16J3DMaterialTablef(); -extern "C" void mDoExt_modelUpdateDL__FP8J3DModel(); -extern "C" void mDoExt_J3DModel__create__FP12J3DModelDataUlUl(); -extern "C" void __ct__10fopAc_ac_cFv(); -extern "C" void fopAcM_SearchByID__FUiPP10fopAc_ac_c(); -extern "C" void fopAcM_entrySolidHeap__FP10fopAc_ac_cPFP10fopAc_ac_c_iUl(); -extern "C" void fopAcM_SetMin__FP10fopAc_ac_cfff(); -extern "C" void fopAcM_SetMax__FP10fopAc_ac_cfff(); -extern "C" void dComIfG_resLoad__FP30request_of_phase_process_classPCc(); -extern "C" void dComIfG_resDelete__FP30request_of_phase_process_classPCc(); -extern "C" void getRes__14dRes_control_cFPCclP11dRes_info_ci(); -extern "C" void Release__4cBgSFP9dBgW_Base(); -extern "C" void Regist__4dBgSFP9dBgW_BaseP10fopAc_ac_c(); -extern "C" void dBgS_MoveBGProc_Typical__FP4dBgWPvRC13cBgS_PolyInfobP4cXyzP5csXyzP5csXyz(); -extern "C" void Set__4cBgWFP6cBgD_tUlPA3_A4_f(); -extern "C" void __ct__4dBgWFv(); -extern "C" void Move__4dBgWFv(); -extern "C" void settingTevStruct__18dScnKy_env_light_cFiP4cXyzP12dKy_tevstr_c(); -extern "C" void setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c(); -extern "C" void cM_atan2s__Fff(); -extern "C" void cLib_addCalc2__FPffff(); -extern "C" void cLib_addCalcAngleS2__FPssss(); -extern "C" void cLib_chaseAngleS__FPsss(); -extern "C" void* __nw__FUl(); -extern "C" void __dl__FPv(); -extern "C" void init__12J3DFrameCtrlFs(); -extern "C" void PSMTXCopy(); -extern "C" void PSMTXTrans(); -extern "C" void PSVECSquareDistance(); -extern "C" void _savegpr_29(); -extern "C" void _restgpr_29(); -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]; -extern "C" extern u8 g_env_light[4880]; -extern "C" extern u8 j3dSys[284]; +static int daB_ZANTS_Draw(daB_ZANTS_c*); +static int daB_ZANTS_Execute(daB_ZANTS_c*); +static int daB_ZANTS_IsDelete(daB_ZANTS_c*); +static int daB_ZANTS_Delete(daB_ZANTS_c*); +static int daB_ZANTS_Create(daB_ZANTS_c*); // // Declarations: // -/* 806529D8-80652AAC 000078 00D4+00 1/1 0/0 0/0 .text draw__11daB_ZANTS_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daB_ZANTS_c::draw() { - nofralloc -#include "asm/rel/d/a/b/d_a_b_zant_sima/d_a_b_zant_sima/draw__11daB_ZANTS_cFv.s" +/* 806529D8-80652AAC 000078 00D4+00 1/1 0/0 0/0 .text draw__11daB_ZANTS_cFv */ +int daB_ZANTS_c::draw() { + g_env_light.settingTevStruct(16, ¤t.pos, &mTevStr); + g_env_light.setLightTevColorType_MAJI(mpModel, &mTevStr); + dComIfGd_setListBG(); + mpBtkAnm->entry(mpModel->getModelData()); + mpBrkAnm->entry(mpModel->getModelData()); + mDoExt_modelUpdateDL(mpModel); + dComIfGd_setList(); + return 1; } -#pragma pop -/* 80652AAC-80652ACC 00014C 0020+00 1/0 0/0 0/0 .text daB_ZANTS_Draw__FP11daB_ZANTS_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daB_ZANTS_Draw(daB_ZANTS_c* param_0) { - nofralloc -#include "asm/rel/d/a/b/d_a_b_zant_sima/d_a_b_zant_sima/daB_ZANTS_Draw__FP11daB_ZANTS_c.s" +/* 80652AAC-80652ACC 00014C 0020+00 1/0 0/0 0/0 .text daB_ZANTS_Draw__FP11daB_ZANTS_c */ +static int daB_ZANTS_Draw(daB_ZANTS_c* i_this) { + return i_this->draw(); } -#pragma pop /* 80652ACC-80652B28 00016C 005C+00 1/1 0/0 0/0 .text * zants_ride_call_back__FP4dBgWP10fopAc_ac_cP10fopAc_ac_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void zants_ride_call_back(dBgW* param_0, fopAc_ac_c* param_1, fopAc_ac_c* param_2) { - nofralloc -#include "asm/rel/d/a/b/d_a_b_zant_sima/d_a_b_zant_sima/zants_ride_call_back__FP4dBgWP10fopAc_ac_cP10fopAc_ac_c.s" -} -#pragma pop - -/* ############################################################################################## */ -/* 8065332C-80653334 000000 0004+04 3/3 0/0 0/0 .rodata @3800 */ -SECTION_RODATA static u8 const lit_3800[4 + 4 /* padding */] = { - 0x00, - 0x00, - 0x00, - 0x00, - /* padding */ - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x8065332C, &lit_3800); - -/* 80653334-8065333C 000008 0008+00 0/1 0/0 0/0 .rodata @3801 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_3801[8] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80653334, &lit_3801); -#pragma pop - -/* 8065333C-80653340 000010 0004+00 0/2 0/0 0/0 .rodata @3802 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3802 = 150.0f; -COMPILER_STRIP_GATE(0x8065333C, &lit_3802); -#pragma pop - -/* 80653340-80653344 000014 0004+00 0/1 0/0 0/0 .rodata @3803 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3803 = 130.0f; -COMPILER_STRIP_GATE(0x80653340, &lit_3803); -#pragma pop - -/* 80653344-80653348 000018 0004+00 0/1 0/0 0/0 .rodata @3804 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3804 = 1.0f / 5.0f; -COMPILER_STRIP_GATE(0x80653344, &lit_3804); -#pragma pop - -/* 80653348-8065334C 00001C 0004+00 0/1 0/0 0/0 .rodata @3805 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3805 = 20.0f; -COMPILER_STRIP_GATE(0x80653348, &lit_3805); -#pragma pop - -/* 80652B28-80652DA8 0001C8 0280+00 1/1 0/0 0/0 .text action__11daB_ZANTS_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daB_ZANTS_c::action() { - nofralloc -#include "asm/rel/d/a/b/d_a_b_zant_sima/d_a_b_zant_sima/action__11daB_ZANTS_cFv.s" -} -#pragma pop - -/* ############################################################################################## */ -/* 8065334C-80653350 000020 0004+00 1/1 0/0 0/0 .rodata @3831 */ -SECTION_RODATA static f32 const lit_3831 = -30.0f; -COMPILER_STRIP_GATE(0x8065334C, &lit_3831); - -/* 80652DA8-80652E98 000448 00F0+00 1/1 0/0 0/0 .text execute__11daB_ZANTS_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daB_ZANTS_c::execute() { - nofralloc -#include "asm/rel/d/a/b/d_a_b_zant_sima/d_a_b_zant_sima/execute__11daB_ZANTS_cFv.s" -} -#pragma pop - -/* 80652E98-80652EB8 000538 0020+00 2/1 0/0 0/0 .text daB_ZANTS_Execute__FP11daB_ZANTS_c - */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daB_ZANTS_Execute(daB_ZANTS_c* param_0) { - nofralloc -#include "asm/rel/d/a/b/d_a_b_zant_sima/d_a_b_zant_sima/daB_ZANTS_Execute__FP11daB_ZANTS_c.s" -} -#pragma pop - -/* 80652EB8-80652EC0 000558 0008+00 1/0 0/0 0/0 .text daB_ZANTS_IsDelete__FP11daB_ZANTS_c - */ -static bool daB_ZANTS_IsDelete(daB_ZANTS_c* param_0) { - return true; +static void zants_ride_call_back(dBgW* param_0, fopAc_ac_c* i_this, fopAc_ac_c* i_target) { + if (fopAcM_GetName(i_target) == PROC_ALINK) { + ((daB_ZANTS_c*)i_this)->mPlayerID = fopAcM_GetID(i_target); + ((daB_ZANTS_c*)i_this)->field_0x584[0] = 3; + } else if (fopAcM_GetName(i_target) == PROC_B_ZANT) { + ((daB_ZANTS_c*)i_this)->mBossID = fopAcM_GetID(i_target); + ((daB_ZANTS_c*)i_this)->field_0x584[1] = 3; + } } -/* ############################################################################################## */ -/* 80653364-80653364 000038 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80653364 = "MAGNESIMA"; -#pragma pop - -/* 80652EC0-80652F18 000560 0058+00 1/1 0/0 0/0 .text _delete__11daB_ZANTS_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daB_ZANTS_c::_delete() { - nofralloc -#include "asm/rel/d/a/b/d_a_b_zant_sima/d_a_b_zant_sima/_delete__11daB_ZANTS_cFv.s" +/* 80652B28-80652DA8 0001C8 0280+00 1/1 0/0 0/0 .text action__11daB_ZANTS_cFv */ +void daB_ZANTS_c::action() { + daPy_py_c* player = daPy_getPlayerActorClass(); + if (player->i_checkMagneBootsOn()) { + field_0x584[0] = 3; + mPlayerID = fopAcM_GetID(player); + } + cXyz pos = current.pos; + fopAc_ac_c* target; + if (field_0x584[1] != 0) { + if (fopAcM_SearchByID(mBossID, &target), target != NULL) { + pos = target->current.pos; + } + } + u8 temp = field_0x584[3]; + field_0x584[3] = 0; + field_0x584[2] = 0; + if (field_0x584[1]) { + field_0x584[3] = 1; + } + if (field_0x584[0]) { + field_0x584[2] = 1; + } + f32 x = pos.x - current.pos.x; + f32 z = pos.z - current.pos.z; + pos.absXZ(current.pos); + cLib_addCalcAngleS2(&field_0x58c.y, cM_atan2s(x, z), 8, 1024); + if (temp == 0 && field_0x584[3] != 0) { + if (field_0x58c.x == 0) { + field_0x58c.y = cM_atan2s(x, z); + } + field_0x58c.z = 0x400; + } + cLib_addCalcAngleS2(&field_0x58c.x, 0, 8, 64); + field_0x58c.x += field_0x58c.z; + if (0x1400 < field_0x58c.x) { + field_0x58c.x = 0x1400; + field_0x58c.z = 0; + } + cLib_chaseAngleS(&field_0x58c.z, 0, 128); + f32 temp2 = 150.0f; + if (field_0x584[0] || field_0x584[1]) { + temp2 = 130.0f; + } + cLib_addCalc2(&field_0x588, temp2, 0.2f, 20.0f); + for (int i = 0; i < 2; i++) { + if (field_0x584[i] != 0) { + field_0x584[i] -= 1; + } + } } -#pragma pop -/* 80652F18-80652F38 0005B8 0020+00 1/0 0/0 0/0 .text daB_ZANTS_Delete__FP11daB_ZANTS_c - */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daB_ZANTS_Delete(daB_ZANTS_c* param_0) { - nofralloc -#include "asm/rel/d/a/b/d_a_b_zant_sima/d_a_b_zant_sima/daB_ZANTS_Delete__FP11daB_ZANTS_c.s" +/* 80652DA8-80652E98 000448 00F0+00 1/1 0/0 0/0 .text execute__11daB_ZANTS_cFv */ +int daB_ZANTS_c::execute() { + mpBrkAnm->play(); + mpBtkAnm->play(); + mDoMtx_stack_c::transS(current.pos.x, current.pos.y + field_0x588, current.pos.z); + mDoMtx_stack_c::YrotM(field_0x58c.y); + mDoMtx_stack_c::XrotM(field_0x58c.x); + mDoMtx_stack_c::YrotM(-field_0x58c.y); + mDoMtx_stack_c::ZXYrotM(shape_angle); + mDoMtx_stack_c::transM(0.0f, -30.0f, 0.0f); + mpModel->i_setBaseTRMtx(mDoMtx_stack_c::get()); + cMtx_copy(mDoMtx_stack_c::get(), field_0x594); + if (mpBgW) { + mpBgW->Move(); + } + action(); + return 1; } -#pragma pop -/* ############################################################################################## */ -/* 80653350-80653354 000024 0004+00 1/1 0/0 0/0 .rodata @3917 */ -SECTION_RODATA static f32 const lit_3917 = 1.0f; -COMPILER_STRIP_GATE(0x80653350, &lit_3917); +/* 80652E98-80652EB8 000538 0020+00 2/1 0/0 0/0 .text daB_ZANTS_Execute__FP11daB_ZANTS_c */ +static int daB_ZANTS_Execute(daB_ZANTS_c* i_this) { + return i_this->execute(); +} + +/* 80652EB8-80652EC0 000558 0008+00 1/0 0/0 0/0 .text daB_ZANTS_IsDelete__FP11daB_ZANTS_c */ +static int daB_ZANTS_IsDelete(daB_ZANTS_c* i_this) { + return 1; +} + +/* 80652EC0-80652F18 000560 0058+00 1/1 0/0 0/0 .text _delete__11daB_ZANTS_cFv */ +int daB_ZANTS_c::_delete() { + dComIfG_resDelete(&mPhase, "MAGNESIMA"); + if (mpBgW) { + dComIfG_Bgsp().Release(mpBgW); + } + return 1; +} + +/* 80652F18-80652F38 0005B8 0020+00 1/0 0/0 0/0 .text daB_ZANTS_Delete__FP11daB_ZANTS_c */ +static int daB_ZANTS_Delete(daB_ZANTS_c* i_this) { + return i_this->_delete(); +} /* 80653370-80653390 -00001 0020+00 1/0 0/0 0/0 .data l_daB_ZANTS_Method */ -SECTION_DATA static void* l_daB_ZANTS_Method[8] = { - (void*)daB_ZANTS_Create__FP11daB_ZANTS_c, - (void*)daB_ZANTS_Delete__FP11daB_ZANTS_c, - (void*)daB_ZANTS_Execute__FP11daB_ZANTS_c, - (void*)daB_ZANTS_IsDelete__FP11daB_ZANTS_c, - (void*)daB_ZANTS_Draw__FP11daB_ZANTS_c, - (void*)NULL, - (void*)NULL, - (void*)NULL, +static actor_method_class l_daB_ZANTS_Method = { + (process_method_func)daB_ZANTS_Create, (process_method_func)daB_ZANTS_Delete, + (process_method_func)daB_ZANTS_Execute, (process_method_func)daB_ZANTS_IsDelete, + (process_method_func)daB_ZANTS_Draw, }; /* 80653390-806533C0 -00001 0030+00 0/0 0/0 1/0 .data g_profile_B_ZANTS */ -SECTION_DATA extern void* g_profile_B_ZANTS[12] = { - (void*)0xFFFFFFFD, (void*)0x0003FFFD, - (void*)0x007D0000, (void*)&g_fpcLf_Method, - (void*)0x000005C8, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x00E50000, (void*)&l_daB_ZANTS_Method, - (void*)0x00040000, (void*)0x000E0000, +extern actor_process_profile_definition g_profile_B_ZANTS = { + -3, + 3, + -3, + PROC_B_ZANTS, + &g_fpcLf_Method.mBase, + sizeof(daB_ZANTS_c), + 0, + 0, + &g_fopAc_Method.base, + 229, + &l_daB_ZANTS_Method, + 0x40000, + 0, + 14, }; -/* 806533C0-806533CC 000050 000C+00 2/2 0/0 0/0 .data __vt__12J3DFrameCtrl */ -SECTION_DATA extern void* __vt__12J3DFrameCtrl[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__12J3DFrameCtrlFv, -}; - -/* 80652F38-80653180 0005D8 0248+00 1/1 0/0 0/0 .text CreateHeap__11daB_ZANTS_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daB_ZANTS_c::CreateHeap() { - nofralloc -#include "asm/rel/d/a/b/d_a_b_zant_sima/d_a_b_zant_sima/CreateHeap__11daB_ZANTS_cFv.s" +/* 80652F38-80653180 0005D8 0248+00 1/1 0/0 0/0 .text CreateHeap__11daB_ZANTS_cFv */ +int daB_ZANTS_c::CreateHeap() { + J3DModelData* model_data = (J3DModelData*)dComIfG_getObjectRes("MAGNESIMA", 7); + mpModel = mDoExt_J3DModel__create(model_data, 0x80000, 0x11000084); + if (mpModel == NULL) { + return 0; + } + mpBtkAnm = new mDoExt_btkAnm(); + if (mpBtkAnm == NULL) { + return 0; + } + J3DAnmTextureSRTKey* srtkey = (J3DAnmTextureSRTKey*)dComIfG_getObjectRes("MAGNESIMA", 13); + if (!mpBtkAnm->init(mpModel->getModelData(), srtkey, 1, 2, 1.0f, 0, -1)) { + return 0; + } + mpBrkAnm = new mDoExt_brkAnm(); + if (mpBrkAnm == NULL) { + return 0; + } + J3DAnmTevRegKey* tevkey = (J3DAnmTevRegKey*)dComIfG_getObjectRes("MAGNESIMA", 10); + if (!mpBrkAnm->init(mpModel->getModelData(), tevkey, 1, 2, 1.0f, 0, -1)) { + return 0; + } + mpBgW = new dBgW(); + if (mpBgW == NULL) { + return 0; + } + cBgD_t* bgt = (cBgD_t*)dComIfG_getObjectRes("MAGNESIMA", 16); + if (mpBgW->Set(bgt, 1, &field_0x594)) { + return 0; + } + mpBgW->SetCrrFunc(dBgS_MoveBGProc_Typical); + mpBgW->SetRideCallback(zants_ride_call_back); + return 1; } -#pragma pop -/* 80653180-806531C8 000820 0048+00 1/0 0/0 0/0 .text __dt__12J3DFrameCtrlFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm J3DFrameCtrl::~J3DFrameCtrl() { - nofralloc -#include "asm/rel/d/a/b/d_a_b_zant_sima/d_a_b_zant_sima/__dt__12J3DFrameCtrlFv.s" +/* 806531C8-806531E8 000868 0020+00 1/1 0/0 0/0 .text useHeapInit__FP10fopAc_ac_c */ +static int useHeapInit(fopAc_ac_c* i_this) { + return static_cast(i_this)->CreateHeap(); } -#pragma pop -/* 806531C8-806531E8 000868 0020+00 1/1 0/0 0/0 .text useHeapInit__FP10fopAc_ac_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void useHeapInit(fopAc_ac_c* param_0) { - nofralloc -#include "asm/rel/d/a/b/d_a_b_zant_sima/d_a_b_zant_sima/useHeapInit__FP10fopAc_ac_c.s" +/* 806531E8-80653304 000888 011C+00 1/1 0/0 0/0 .text create__11daB_ZANTS_cFv */ +int daB_ZANTS_c::create() { + fopAcM_SetupActor(this, daB_ZANTS_c); + int result = dComIfG_resLoad(&mPhase, "MAGNESIMA"); + if (result == cPhs_COMPLEATE_e) { + if (!fopAcM_entrySolidHeap(this, useHeapInit, 0x3AA0)) { + return cPhs_ERROR_e; + } + if (mpBgW && dComIfG_Bgsp().Regist(mpBgW, this)) { + return cPhs_ERROR_e; + } + mAttentionInfo.mFlags = 0; + field_0x588 = 150.0f; + fopAcM_SetMtx(this, mpModel->getBaseTRMtx()); + fopAcM_SetMin(this, -200.0f, -500.0f, -500.0f); + fopAcM_SetMax(this, 200.0f, 500.0f, 500.0f); + daB_ZANTS_Execute(this); + } + return result; } -#pragma pop -/* ############################################################################################## */ -/* 80653354-80653358 000028 0004+00 0/1 0/0 0/0 .rodata @3967 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3967 = -200.0f; -COMPILER_STRIP_GATE(0x80653354, &lit_3967); -#pragma pop - -/* 80653358-8065335C 00002C 0004+00 0/1 0/0 0/0 .rodata @3968 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3968 = -500.0f; -COMPILER_STRIP_GATE(0x80653358, &lit_3968); -#pragma pop - -/* 8065335C-80653360 000030 0004+00 0/1 0/0 0/0 .rodata @3969 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3969 = 200.0f; -COMPILER_STRIP_GATE(0x8065335C, &lit_3969); -#pragma pop - -/* 80653360-80653364 000034 0004+00 0/1 0/0 0/0 .rodata @3970 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3970 = 500.0f; -COMPILER_STRIP_GATE(0x80653360, &lit_3970); -#pragma pop - -/* 806531E8-80653304 000888 011C+00 1/1 0/0 0/0 .text create__11daB_ZANTS_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daB_ZANTS_c::create() { - nofralloc -#include "asm/rel/d/a/b/d_a_b_zant_sima/d_a_b_zant_sima/create__11daB_ZANTS_cFv.s" +/* 80653304-80653324 0009A4 0020+00 1/0 0/0 0/0 .text daB_ZANTS_Create__FP11daB_ZANTS_c */ +static int daB_ZANTS_Create(daB_ZANTS_c* i_this) { + return i_this->create(); } -#pragma pop - -/* 80653304-80653324 0009A4 0020+00 1/0 0/0 0/0 .text daB_ZANTS_Create__FP11daB_ZANTS_c - */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daB_ZANTS_Create(daB_ZANTS_c* param_0) { - nofralloc -#include "asm/rel/d/a/b/d_a_b_zant_sima/d_a_b_zant_sima/daB_ZANTS_Create__FP11daB_ZANTS_c.s" -} -#pragma pop - -/* 80653364-80653364 000038 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */