diff --git a/Progress.md b/Progress.md index 0d034c14263..ea5881b52cf 100644 --- a/Progress.md +++ b/Progress.md @@ -7,22 +7,22 @@ Section | Percentage | Decompiled (bytes) | Total (bytes) .init | 97.972973% | 9280 | 9472 .extab | 100.000000% | 96 | 96 .extabindex | 100.000000% | 96 | 96 -.text | 27.931926% | 1004584 | 3596544 +.text | 28.003550% | 1007160 | 3596544 .ctors | 100.000000% | 448 | 448 .dtors | 100.000000% | 32 | 32 .rodata | 100.000000% | 193856 | 193856 .data | 100.000000% | 197632 | 197632 .sdata | 100.000000% | 1408 | 1408 .sdata2 | 100.000000% | 20832 | 20832 -Total | 35.529384% | 1428520 | 4020672 +Total | 35.593453% | 1431096 | 4020672 ## Total Section | Percentage | Decompiled (bytes) | Total (bytes) ---|---|---|--- -main.dol | 35.529384% | 1428520 | 4020672 -RELs | 33.657973% | 3870776 | 11500324 -Total | 34.142757% | 5299296 | 15520996 +main.dol | 35.593453% | 1431096 | 4020672 +RELs | 33.667817% | 3871908 | 11500324 +Total | 34.166648% | 5303004 | 15520996 ## RELs @@ -66,7 +66,7 @@ d_a_canoe | 28.479263% | 4944 | 17360 d_a_coach_2D | 38.344915% | 2428 | 6332 d_a_coach_fire | 44.050104% | 1688 | 3832 d_a_cow | 22.936702% | 12784 | 55736 -d_a_crod | 98.228128% | 7096 | 7224 +d_a_crod | 100.000000% | 7224 | 7224 d_a_cstaF | 32.377740% | 3840 | 11860 d_a_cstatue | 29.155833% | 6728 | 23076 d_a_demo00 | 29.136000% | 7284 | 25000 @@ -775,7 +775,7 @@ d_a_tag_watchge | 100.000000% | 1240 | 1240 d_a_tag_waterfall | 46.361502% | 1580 | 3408 d_a_tag_wljump | 45.248380% | 1676 | 3704 d_a_tag_yami | 42.650334% | 1532 | 3592 -d_a_talk | 45.434783% | 836 | 1840 +d_a_talk | 100.000000% | 1840 | 1840 d_a_tbox | 30.165503% | 9332 | 30936 d_a_tbox2 | 42.486445% | 4388 | 10328 d_a_tboxSw | 100.000000% | 1016 | 1016 @@ -785,4 +785,4 @@ d_a_vrbox2 | 34.977578% | 2184 | 6244 d_a_warp_bug | 54.940711% | 1112 | 2024 d_a_ykgr | 44.400631% | 2252 | 5072 f_pc_profile_lst | 100.000000% | 28156 | 28156 -Total | 33.657973% | 3870776 | 11500324 +Total | 33.667817% | 3871908 | 11500324 diff --git a/asm/d/com/d_com_static/add__Q27daSus_c6room_cFPQ27daSus_c6data_c.s b/asm/d/com/d_com_static/add__Q27daSus_c6room_cFPQ27daSus_c6data_c.s deleted file mode 100644 index 06f2b049add..00000000000 --- a/asm/d/com/d_com_static/add__Q27daSus_c6room_cFPQ27daSus_c6data_c.s +++ /dev/null @@ -1,33 +0,0 @@ -lbl_80031190: -/* 80031190 80 A3 00 00 */ lwz r5, 0(r3) -/* 80031194 28 05 00 00 */ cmplwi r5, 0 -/* 80031198 40 82 00 14 */ bne lbl_800311AC -/* 8003119C 90 83 00 00 */ stw r4, 0(r3) -/* 800311A0 38 00 00 00 */ li r0, 0 -/* 800311A4 90 04 00 20 */ stw r0, 0x20(r4) -/* 800311A8 4E 80 00 20 */ blr -lbl_800311AC: -/* 800311AC 88 04 00 04 */ lbz r0, 4(r4) -/* 800311B0 28 00 00 00 */ cmplwi r0, 0 -/* 800311B4 40 82 00 10 */ bne lbl_800311C4 -/* 800311B8 90 A4 00 20 */ stw r5, 0x20(r4) -/* 800311BC 90 83 00 00 */ stw r4, 0(r3) -/* 800311C0 4E 80 00 20 */ blr -lbl_800311C4: -/* 800311C4 7C A3 2B 78 */ mr r3, r5 -/* 800311C8 80 A5 00 20 */ lwz r5, 0x20(r5) -/* 800311CC 48 00 00 18 */ b lbl_800311E4 -lbl_800311D0: -/* 800311D0 88 03 00 04 */ lbz r0, 4(r3) -/* 800311D4 28 00 00 00 */ cmplwi r0, 0 -/* 800311D8 40 82 00 14 */ bne lbl_800311EC -/* 800311DC 7C A3 2B 78 */ mr r3, r5 -/* 800311E0 80 A5 00 20 */ lwz r5, 0x20(r5) -lbl_800311E4: -/* 800311E4 28 05 00 00 */ cmplwi r5, 0 -/* 800311E8 40 82 FF E8 */ bne lbl_800311D0 -lbl_800311EC: -/* 800311EC 80 03 00 20 */ lwz r0, 0x20(r3) -/* 800311F0 90 04 00 20 */ stw r0, 0x20(r4) -/* 800311F4 90 83 00 20 */ stw r4, 0x20(r3) -/* 800311F8 4E 80 00 20 */ blr diff --git a/asm/d/com/d_com_static/checkArea__13daTagStream_cFPC4cXyz.s b/asm/d/com/d_com_static/checkArea__13daTagStream_cFPC4cXyz.s deleted file mode 100644 index 2f81d832a78..00000000000 --- a/asm/d/com/d_com_static/checkArea__13daTagStream_cFPC4cXyz.s +++ /dev/null @@ -1,41 +0,0 @@ -lbl_800318B4: -/* 800318B4 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 800318B8 7C 08 02 A6 */ mflr r0 -/* 800318BC 90 01 00 24 */ stw r0, 0x24(r1) -/* 800318C0 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 800318C4 7C 7F 1B 78 */ mr r31, r3 -/* 800318C8 38 A1 00 08 */ addi r5, r1, 8 -/* 800318CC 4B FE C0 35 */ bl fpoAcM_relativePos__FPC10fopAc_ac_cPC4cXyzP4cXyz -/* 800318D0 C0 21 00 0C */ lfs f1, 0xc(r1) -/* 800318D4 C0 02 83 54 */ lfs f0, lit_4338(r2) -/* 800318D8 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 800318DC 4C 41 13 82 */ cror 2, 1, 2 -/* 800318E0 40 82 00 54 */ bne lbl_80031934 -/* 800318E4 C0 1F 04 F0 */ lfs f0, 0x4f0(r31) -/* 800318E8 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 800318EC 4C 40 13 82 */ cror 2, 0, 2 -/* 800318F0 40 82 00 44 */ bne lbl_80031934 -/* 800318F4 C0 01 00 08 */ lfs f0, 8(r1) -/* 800318F8 FC 00 02 10 */ fabs f0, f0 -/* 800318FC FC 20 00 18 */ frsp f1, f0 -/* 80031900 C0 1F 04 EC */ lfs f0, 0x4ec(r31) -/* 80031904 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 80031908 4C 40 13 82 */ cror 2, 0, 2 -/* 8003190C 40 82 00 28 */ bne lbl_80031934 -/* 80031910 C0 01 00 10 */ lfs f0, 0x10(r1) -/* 80031914 FC 00 02 10 */ fabs f0, f0 -/* 80031918 FC 20 00 18 */ frsp f1, f0 -/* 8003191C C0 1F 04 F4 */ lfs f0, 0x4f4(r31) -/* 80031920 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 80031924 4C 40 13 82 */ cror 2, 0, 2 -/* 80031928 40 82 00 0C */ bne lbl_80031934 -/* 8003192C 38 60 00 01 */ li r3, 1 -/* 80031930 48 00 00 08 */ b lbl_80031938 -lbl_80031934: -/* 80031934 38 60 00 00 */ li r3, 0 -lbl_80031938: -/* 80031938 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 8003193C 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80031940 7C 08 03 A6 */ mtlr r0 -/* 80031944 38 21 00 20 */ addi r1, r1, 0x20 -/* 80031948 4E 80 00 20 */ blr diff --git a/asm/d/com/d_com_static/check__7daSus_cFP10fopAc_ac_c.s b/asm/d/com/d_com_static/check__7daSus_cFP10fopAc_ac_c.s deleted file mode 100644 index a89ff143655..00000000000 --- a/asm/d/com/d_com_static/check__7daSus_cFP10fopAc_ac_c.s +++ /dev/null @@ -1,58 +0,0 @@ -lbl_800314D4: -/* 800314D4 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 800314D8 7C 08 02 A6 */ mflr r0 -/* 800314DC 90 01 00 24 */ stw r0, 0x24(r1) -/* 800314E0 39 61 00 20 */ addi r11, r1, 0x20 -/* 800314E4 48 33 0C F5 */ bl _savegpr_28 -/* 800314E8 7C 7F 1B 78 */ mr r31, r3 -/* 800314EC 88 03 04 96 */ lbz r0, 0x496(r3) -/* 800314F0 28 00 00 01 */ cmplwi r0, 1 -/* 800314F4 41 82 00 98 */ beq lbl_8003158C -/* 800314F8 54 00 06 3E */ clrlwi r0, r0, 0x18 -/* 800314FC 28 00 00 05 */ cmplwi r0, 5 -/* 80031500 41 82 00 8C */ beq lbl_8003158C -/* 80031504 3C 60 80 42 */ lis r3, mData__7daSus_c@ha /* 0x80423FFC@ha */ -/* 80031508 38 03 3F FC */ addi r0, r3, mData__7daSus_c@l /* 0x80423FFC@l */ -/* 8003150C 7C 1E 03 78 */ mr r30, r0 -/* 80031510 3B A0 00 00 */ li r29, 0 -/* 80031514 3B 80 00 00 */ li r28, 0 -/* 80031518 48 00 00 34 */ b lbl_8003154C -lbl_8003151C: -/* 8003151C 88 1E 00 00 */ lbz r0, 0(r30) -/* 80031520 7C 00 07 75 */ extsb. r0, r0 -/* 80031524 41 80 00 20 */ blt lbl_80031544 -/* 80031528 88 1E 00 04 */ lbz r0, 4(r30) -/* 8003152C 28 00 00 00 */ cmplwi r0, 0 -/* 80031530 40 82 00 14 */ bne lbl_80031544 -/* 80031534 7F C3 F3 78 */ mr r3, r30 -/* 80031538 7F E4 FB 78 */ mr r4, r31 -/* 8003153C 4B FF FB 8D */ bl check__Q27daSus_c6data_cFP10fopAc_ac_c -/* 80031540 7F BD 1B 78 */ or r29, r29, r3 -lbl_80031544: -/* 80031544 3B DE 00 24 */ addi r30, r30, 0x24 -/* 80031548 3B 9C 00 01 */ addi r28, r28, 1 -lbl_8003154C: -/* 8003154C 7F 80 07 34 */ extsh r0, r28 -/* 80031550 2C 00 00 20 */ cmpwi r0, 0x20 -/* 80031554 41 80 FF C8 */ blt lbl_8003151C -/* 80031558 57 A3 06 3E */ clrlwi r3, r29, 0x18 -/* 8003155C 57 A0 06 31 */ rlwinm. r0, r29, 0, 0x18, 0x18 -/* 80031560 41 82 00 2C */ beq lbl_8003158C -/* 80031564 54 60 07 BE */ clrlwi r0, r3, 0x1e -/* 80031568 2C 00 00 03 */ cmpwi r0, 3 -/* 8003156C 40 82 00 14 */ bne lbl_80031580 -/* 80031570 80 1F 04 9C */ lwz r0, 0x49c(r31) -/* 80031574 64 00 20 00 */ oris r0, r0, 0x2000 -/* 80031578 90 1F 04 9C */ stw r0, 0x49c(r31) -/* 8003157C 48 00 00 10 */ b lbl_8003158C -lbl_80031580: -/* 80031580 80 1F 04 9C */ lwz r0, 0x49c(r31) -/* 80031584 54 00 00 C2 */ rlwinm r0, r0, 0, 3, 1 -/* 80031588 90 1F 04 9C */ stw r0, 0x49c(r31) -lbl_8003158C: -/* 8003158C 39 61 00 20 */ addi r11, r1, 0x20 -/* 80031590 48 33 0C 95 */ bl _restgpr_28 -/* 80031594 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80031598 7C 08 03 A6 */ mtlr r0 -/* 8003159C 38 21 00 20 */ addi r1, r1, 0x20 -/* 800315A0 4E 80 00 20 */ blr diff --git a/asm/d/com/d_com_static/check__7daSus_cFScRC4cXyz.s b/asm/d/com/d_com_static/check__7daSus_cFScRC4cXyz.s deleted file mode 100644 index 49d28c962d4..00000000000 --- a/asm/d/com/d_com_static/check__7daSus_cFScRC4cXyz.s +++ /dev/null @@ -1,45 +0,0 @@ -lbl_80031434: -/* 80031434 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80031438 7C 08 02 A6 */ mflr r0 -/* 8003143C 90 01 00 24 */ stw r0, 0x24(r1) -/* 80031440 39 61 00 20 */ addi r11, r1, 0x20 -/* 80031444 48 33 0D 95 */ bl _savegpr_28 -/* 80031448 7C 9C 23 78 */ mr r28, r4 -/* 8003144C 3C 80 80 42 */ lis r4, mData__7daSus_c@ha /* 0x80423FFC@ha */ -/* 80031450 38 04 3F FC */ addi r0, r4, mData__7daSus_c@l /* 0x80423FFC@l */ -/* 80031454 7C 1E 03 78 */ mr r30, r0 -/* 80031458 3B A0 00 00 */ li r29, 0 -/* 8003145C 7C 7F 07 74 */ extsb r31, r3 -/* 80031460 48 00 00 4C */ b lbl_800314AC -lbl_80031464: -/* 80031464 88 7E 00 00 */ lbz r3, 0(r30) -/* 80031468 7C 60 07 75 */ extsb. r0, r3 -/* 8003146C 41 80 00 38 */ blt lbl_800314A4 -/* 80031470 7C 60 07 74 */ extsb r0, r3 -/* 80031474 7C 1F 00 00 */ cmpw r31, r0 -/* 80031478 40 82 00 2C */ bne lbl_800314A4 -/* 8003147C 88 1E 00 04 */ lbz r0, 4(r30) -/* 80031480 28 00 00 00 */ cmplwi r0, 0 -/* 80031484 41 82 00 20 */ beq lbl_800314A4 -/* 80031488 7F C3 F3 78 */ mr r3, r30 -/* 8003148C 7F 84 E3 78 */ mr r4, r28 -/* 80031490 4B FF FB A9 */ bl check__Q27daSus_c6data_cFRC4cXyz -/* 80031494 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 80031498 41 82 00 0C */ beq lbl_800314A4 -/* 8003149C 38 60 00 01 */ li r3, 1 -/* 800314A0 48 00 00 1C */ b lbl_800314BC -lbl_800314A4: -/* 800314A4 3B DE 00 24 */ addi r30, r30, 0x24 -/* 800314A8 3B BD 00 01 */ addi r29, r29, 1 -lbl_800314AC: -/* 800314AC 7F A0 07 34 */ extsh r0, r29 -/* 800314B0 2C 00 00 20 */ cmpwi r0, 0x20 -/* 800314B4 41 80 FF B0 */ blt lbl_80031464 -/* 800314B8 38 60 00 00 */ li r3, 0 -lbl_800314BC: -/* 800314BC 39 61 00 20 */ addi r11, r1, 0x20 -/* 800314C0 48 33 0D 65 */ bl _restgpr_28 -/* 800314C4 80 01 00 24 */ lwz r0, 0x24(r1) -/* 800314C8 7C 08 03 A6 */ mtlr r0 -/* 800314CC 38 21 00 20 */ addi r1, r1, 0x20 -/* 800314D0 4E 80 00 20 */ blr diff --git a/asm/d/com/d_com_static/deleteRoomFlower__9daGrass_cFi.s b/asm/d/com/d_com_static/deleteRoomFlower__9daGrass_cFi.s deleted file mode 100644 index df4108cb9c3..00000000000 --- a/asm/d/com/d_com_static/deleteRoomFlower__9daGrass_cFi.s +++ /dev/null @@ -1,24 +0,0 @@ -lbl_80031A20: -/* 80031A20 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80031A24 7C 08 02 A6 */ mflr r0 -/* 80031A28 90 01 00 24 */ stw r0, 0x24(r1) -/* 80031A2C 7C 64 1B 78 */ mr r4, r3 -/* 80031A30 80 6D 88 34 */ lwz r3, m_flower__9daGrass_c(r13) -/* 80031A34 28 03 00 00 */ cmplwi r3, 0 -/* 80031A38 41 82 00 30 */ beq lbl_80031A68 -/* 80031A3C 3C A0 80 42 */ lis r5, m_deleteRoom__16dFlower_packet_c@ha /* 0x80424594@ha */ -/* 80031A40 38 C5 45 94 */ addi r6, r5, m_deleteRoom__16dFlower_packet_c@l /* 0x80424594@l */ -/* 80031A44 80 A6 00 00 */ lwz r5, 0(r6) -/* 80031A48 80 06 00 04 */ lwz r0, 4(r6) -/* 80031A4C 90 A1 00 08 */ stw r5, 8(r1) -/* 80031A50 90 01 00 0C */ stw r0, 0xc(r1) -/* 80031A54 80 06 00 08 */ lwz r0, 8(r6) -/* 80031A58 90 01 00 10 */ stw r0, 0x10(r1) -/* 80031A5C 39 81 00 08 */ addi r12, r1, 8 -/* 80031A60 48 33 06 25 */ bl __ptmf_scall -/* 80031A64 60 00 00 00 */ nop -lbl_80031A68: -/* 80031A68 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80031A6C 7C 08 03 A6 */ mtlr r0 -/* 80031A70 38 21 00 20 */ addi r1, r1, 0x20 -/* 80031A74 4E 80 00 20 */ blr diff --git a/asm/d/com/d_com_static/deleteRoomGrass__9daGrass_cFi.s b/asm/d/com/d_com_static/deleteRoomGrass__9daGrass_cFi.s deleted file mode 100644 index 072464b587a..00000000000 --- a/asm/d/com/d_com_static/deleteRoomGrass__9daGrass_cFi.s +++ /dev/null @@ -1,24 +0,0 @@ -lbl_800319C8: -/* 800319C8 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 800319CC 7C 08 02 A6 */ mflr r0 -/* 800319D0 90 01 00 24 */ stw r0, 0x24(r1) -/* 800319D4 7C 64 1B 78 */ mr r4, r3 -/* 800319D8 80 6D 88 30 */ lwz r3, m_grass__9daGrass_c(r13) -/* 800319DC 28 03 00 00 */ cmplwi r3, 0 -/* 800319E0 41 82 00 30 */ beq lbl_80031A10 -/* 800319E4 3C A0 80 42 */ lis r5, m_deleteRoom__15dGrass_packet_c@ha /* 0x80424588@ha */ -/* 800319E8 38 C5 45 88 */ addi r6, r5, m_deleteRoom__15dGrass_packet_c@l /* 0x80424588@l */ -/* 800319EC 80 A6 00 00 */ lwz r5, 0(r6) -/* 800319F0 80 06 00 04 */ lwz r0, 4(r6) -/* 800319F4 90 A1 00 08 */ stw r5, 8(r1) -/* 800319F8 90 01 00 0C */ stw r0, 0xc(r1) -/* 800319FC 80 06 00 08 */ lwz r0, 8(r6) -/* 80031A00 90 01 00 10 */ stw r0, 0x10(r1) -/* 80031A04 39 81 00 08 */ addi r12, r1, 8 -/* 80031A08 48 33 06 7D */ bl __ptmf_scall -/* 80031A0C 60 00 00 00 */ nop -lbl_80031A10: -/* 80031A10 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80031A14 7C 08 03 A6 */ mtlr r0 -/* 80031A18 38 21 00 20 */ addi r1, r1, 0x20 -/* 80031A1C 4E 80 00 20 */ blr diff --git a/asm/d/com/d_com_static/entry__10daMirror_cFP8J3DModel.s b/asm/d/com/d_com_static/entry__10daMirror_cFP8J3DModel.s deleted file mode 100644 index aadc7774280..00000000000 --- a/asm/d/com/d_com_static/entry__10daMirror_cFP8J3DModel.s +++ /dev/null @@ -1,20 +0,0 @@ -lbl_8003194C: -/* 8003194C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80031950 7C 08 02 A6 */ mflr r0 -/* 80031954 90 01 00 14 */ stw r0, 0x14(r1) -/* 80031958 7C 64 1B 78 */ mr r4, r3 -/* 8003195C 80 6D 88 28 */ lwz r3, m_myObj__10daMirror_c(r13) -/* 80031960 28 03 00 00 */ cmplwi r3, 0 -/* 80031964 40 82 00 0C */ bne lbl_80031970 -/* 80031968 38 60 00 00 */ li r3, 0 -/* 8003196C 48 00 00 14 */ b lbl_80031980 -lbl_80031970: -/* 80031970 3C A0 80 42 */ lis r5, m_entryModel__10daMirror_c@ha /* 0x8042457C@ha */ -/* 80031974 39 85 45 7C */ addi r12, r5, m_entryModel__10daMirror_c@l /* 0x8042457C@l */ -/* 80031978 48 33 07 0D */ bl __ptmf_scall -/* 8003197C 60 00 00 00 */ nop -lbl_80031980: -/* 80031980 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80031984 7C 08 03 A6 */ mtlr r0 -/* 80031988 38 21 00 10 */ addi r1, r1, 0x10 -/* 8003198C 4E 80 00 20 */ blr diff --git a/asm/d/com/d_com_static/execute__7daSus_cFv.s b/asm/d/com/d_com_static/execute__7daSus_cFv.s deleted file mode 100644 index 521afc10cad..00000000000 --- a/asm/d/com/d_com_static/execute__7daSus_cFv.s +++ /dev/null @@ -1,30 +0,0 @@ -lbl_800315A4: -/* 800315A4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800315A8 7C 08 02 A6 */ mflr r0 -/* 800315AC 90 01 00 14 */ stw r0, 0x14(r1) -/* 800315B0 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800315B4 93 C1 00 08 */ stw r30, 8(r1) -/* 800315B8 3C 60 80 42 */ lis r3, mData__7daSus_c@ha /* 0x80423FFC@ha */ -/* 800315BC 38 03 3F FC */ addi r0, r3, mData__7daSus_c@l /* 0x80423FFC@l */ -/* 800315C0 7C 1F 03 78 */ mr r31, r0 -/* 800315C4 3B C0 00 00 */ li r30, 0 -/* 800315C8 48 00 00 20 */ b lbl_800315E8 -lbl_800315CC: -/* 800315CC 88 1F 00 00 */ lbz r0, 0(r31) -/* 800315D0 7C 00 07 75 */ extsb. r0, r0 -/* 800315D4 41 80 00 0C */ blt lbl_800315E0 -/* 800315D8 7F E3 FB 78 */ mr r3, r31 -/* 800315DC 4B FF FB 75 */ bl execute__Q27daSus_c6data_cFv -lbl_800315E0: -/* 800315E0 3B FF 00 24 */ addi r31, r31, 0x24 -/* 800315E4 3B DE 00 01 */ addi r30, r30, 1 -lbl_800315E8: -/* 800315E8 7F C0 07 34 */ extsh r0, r30 -/* 800315EC 2C 00 00 20 */ cmpwi r0, 0x20 -/* 800315F0 41 80 FF DC */ blt lbl_800315CC -/* 800315F4 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800315F8 83 C1 00 08 */ lwz r30, 8(r1) -/* 800315FC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80031600 7C 08 03 A6 */ mtlr r0 -/* 80031604 38 21 00 10 */ addi r1, r1, 0x10 -/* 80031608 4E 80 00 20 */ blr diff --git a/asm/d/com/d_com_static/getPos__12daObjCarry_cFi.s b/asm/d/com/d_com_static/getPos__12daObjCarry_cFi.s deleted file mode 100644 index 7dc1fa770c0..00000000000 --- a/asm/d/com/d_com_static/getPos__12daObjCarry_cFi.s +++ /dev/null @@ -1,6 +0,0 @@ -lbl_80031D24: -/* 80031D24 1C 83 00 0C */ mulli r4, r3, 0xc -/* 80031D28 3C 60 80 42 */ lis r3, mPos__12daObjCarry_c@ha /* 0x804245AC@ha */ -/* 80031D2C 38 03 45 AC */ addi r0, r3, mPos__12daObjCarry_c@l /* 0x804245AC@l */ -/* 80031D30 7C 60 22 14 */ add r3, r0, r4 -/* 80031D34 4E 80 00 20 */ blr diff --git a/asm/d/com/d_com_static/remove__10daMirror_cFv.s b/asm/d/com/d_com_static/remove__10daMirror_cFv.s deleted file mode 100644 index 0885c28c7e6..00000000000 --- a/asm/d/com/d_com_static/remove__10daMirror_cFv.s +++ /dev/null @@ -1,17 +0,0 @@ -lbl_80031990: -/* 80031990 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80031994 7C 08 02 A6 */ mflr r0 -/* 80031998 90 01 00 14 */ stw r0, 0x14(r1) -/* 8003199C 80 6D 88 28 */ lwz r3, m_myObj__10daMirror_c(r13) -/* 800319A0 28 03 00 00 */ cmplwi r3, 0 -/* 800319A4 40 82 00 0C */ bne lbl_800319B0 -/* 800319A8 38 60 00 00 */ li r3, 0 -/* 800319AC 48 00 00 0C */ b lbl_800319B8 -lbl_800319B0: -/* 800319B0 4B FE 82 CD */ bl fopAcM_delete__FP10fopAc_ac_c -/* 800319B4 38 60 00 01 */ li r3, 1 -lbl_800319B8: -/* 800319B8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800319BC 7C 08 03 A6 */ mtlr r0 -/* 800319C0 38 21 00 10 */ addi r1, r1, 0x10 -/* 800319C4 4E 80 00 20 */ blr diff --git a/asm/d/com/d_com_static/reset__7daSus_cFv.s b/asm/d/com/d_com_static/reset__7daSus_cFv.s deleted file mode 100644 index abce034d48e..00000000000 --- a/asm/d/com/d_com_static/reset__7daSus_cFv.s +++ /dev/null @@ -1,33 +0,0 @@ -lbl_800313BC: -/* 800313BC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800313C0 7C 08 02 A6 */ mflr r0 -/* 800313C4 90 01 00 14 */ stw r0, 0x14(r1) -/* 800313C8 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800313CC 93 C1 00 08 */ stw r30, 8(r1) -/* 800313D0 3C 60 80 42 */ lis r3, mData__7daSus_c@ha /* 0x80423FFC@ha */ -/* 800313D4 38 03 3F FC */ addi r0, r3, mData__7daSus_c@l /* 0x80423FFC@l */ -/* 800313D8 7C 1F 03 78 */ mr r31, r0 -/* 800313DC 3B C0 00 00 */ li r30, 0 -lbl_800313E0: -/* 800313E0 7F E3 FB 78 */ mr r3, r31 -/* 800313E4 4B FF FB D9 */ bl reset__Q27daSus_c6data_cFv -/* 800313E8 3B DE 00 01 */ addi r30, r30, 1 -/* 800313EC 2C 1E 00 20 */ cmpwi r30, 0x20 -/* 800313F0 3B FF 00 24 */ addi r31, r31, 0x24 -/* 800313F4 41 80 FF EC */ blt lbl_800313E0 -/* 800313F8 3C 60 80 42 */ lis r3, mRoom__7daSus_c@ha /* 0x8042447C@ha */ -/* 800313FC 38 03 44 7C */ addi r0, r3, mRoom__7daSus_c@l /* 0x8042447C@l */ -/* 80031400 7C 04 03 78 */ mr r4, r0 -/* 80031404 38 60 00 00 */ li r3, 0 -/* 80031408 38 00 00 40 */ li r0, 0x40 -/* 8003140C 7C 09 03 A6 */ mtctr r0 -lbl_80031410: -/* 80031410 90 64 00 00 */ stw r3, 0(r4) -/* 80031414 38 84 00 04 */ addi r4, r4, 4 -/* 80031418 42 00 FF F8 */ bdnz lbl_80031410 -/* 8003141C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80031420 83 C1 00 08 */ lwz r30, 8(r1) -/* 80031424 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80031428 7C 08 03 A6 */ mtlr r0 -/* 8003142C 38 21 00 10 */ addi r1, r1, 0x10 -/* 80031430 4E 80 00 20 */ blr diff --git a/asm/d/com/d_com_static/savePos__12daObjCarry_cFi4cXyz.s b/asm/d/com/d_com_static/savePos__12daObjCarry_cFi4cXyz.s deleted file mode 100644 index ebb8d6c7b1f..00000000000 --- a/asm/d/com/d_com_static/savePos__12daObjCarry_cFi4cXyz.s +++ /dev/null @@ -1,12 +0,0 @@ -lbl_80031D38: -/* 80031D38 C0 04 00 00 */ lfs f0, 0(r4) -/* 80031D3C 1C 03 00 0C */ mulli r0, r3, 0xc -/* 80031D40 3C 60 80 42 */ lis r3, mPos__12daObjCarry_c@ha /* 0x804245AC@ha */ -/* 80031D44 38 63 45 AC */ addi r3, r3, mPos__12daObjCarry_c@l /* 0x804245AC@l */ -/* 80031D48 7C 03 05 2E */ stfsx f0, r3, r0 -/* 80031D4C C0 04 00 04 */ lfs f0, 4(r4) -/* 80031D50 7C 63 02 14 */ add r3, r3, r0 -/* 80031D54 D0 03 00 04 */ stfs f0, 4(r3) -/* 80031D58 C0 04 00 08 */ lfs f0, 8(r4) -/* 80031D5C D0 03 00 08 */ stfs f0, 8(r3) -/* 80031D60 4E 80 00 20 */ blr diff --git a/asm/d/d_select_cursor/__dt__16dSelect_cursor_cFv.s b/asm/d/d_select_cursor/__dt__16dSelect_cursor_cFv.s deleted file mode 100644 index f1498d8ee47..00000000000 --- a/asm/d/d_select_cursor/__dt__16dSelect_cursor_cFv.s +++ /dev/null @@ -1,168 +0,0 @@ -lbl_801949EC: -/* 801949EC 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 801949F0 7C 08 02 A6 */ mflr r0 -/* 801949F4 90 01 00 24 */ stw r0, 0x24(r1) -/* 801949F8 39 61 00 20 */ addi r11, r1, 0x20 -/* 801949FC 48 1C D7 D5 */ bl _savegpr_26 -/* 80194A00 7C 7E 1B 79 */ or. r30, r3, r3 -/* 80194A04 7C 9F 23 78 */ mr r31, r4 -/* 80194A08 41 82 02 0C */ beq lbl_80194C14 -/* 80194A0C 3C 60 80 3C */ lis r3, __vt__16dSelect_cursor_c@ha /* 0x803BB78C@ha */ -/* 80194A10 38 03 B7 8C */ addi r0, r3, __vt__16dSelect_cursor_c@l /* 0x803BB78C@l */ -/* 80194A14 90 1E 00 00 */ stw r0, 0(r30) -/* 80194A18 80 7E 00 04 */ lwz r3, 4(r30) -/* 80194A1C 28 03 00 00 */ cmplwi r3, 0 -/* 80194A20 41 82 00 18 */ beq lbl_80194A38 -/* 80194A24 38 80 00 01 */ li r4, 1 -/* 80194A28 81 83 00 00 */ lwz r12, 0(r3) -/* 80194A2C 81 8C 00 08 */ lwz r12, 8(r12) -/* 80194A30 7D 89 03 A6 */ mtctr r12 -/* 80194A34 4E 80 04 21 */ bctrl -lbl_80194A38: -/* 80194A38 38 00 00 00 */ li r0, 0 -/* 80194A3C 90 1E 00 04 */ stw r0, 4(r30) -/* 80194A40 80 7E 00 10 */ lwz r3, 0x10(r30) -/* 80194A44 28 03 00 00 */ cmplwi r3, 0 -/* 80194A48 41 82 00 24 */ beq lbl_80194A6C -/* 80194A4C 41 82 00 18 */ beq lbl_80194A64 -/* 80194A50 38 80 00 01 */ li r4, 1 -/* 80194A54 81 83 00 00 */ lwz r12, 0(r3) -/* 80194A58 81 8C 00 08 */ lwz r12, 8(r12) -/* 80194A5C 7D 89 03 A6 */ mtctr r12 -/* 80194A60 4E 80 04 21 */ bctrl -lbl_80194A64: -/* 80194A64 38 00 00 00 */ li r0, 0 -/* 80194A68 90 1E 00 10 */ stw r0, 0x10(r30) -lbl_80194A6C: -/* 80194A6C 3B 40 00 00 */ li r26, 0 -/* 80194A70 3B A0 00 00 */ li r29, 0 -/* 80194A74 7F BC EB 78 */ mr r28, r29 -lbl_80194A78: -/* 80194A78 3B 7D 00 1C */ addi r27, r29, 0x1c -/* 80194A7C 7C 7E D8 2E */ lwzx r3, r30, r27 -/* 80194A80 28 03 00 00 */ cmplwi r3, 0 -/* 80194A84 41 82 00 20 */ beq lbl_80194AA4 -/* 80194A88 41 82 00 18 */ beq lbl_80194AA0 -/* 80194A8C 38 80 00 01 */ li r4, 1 -/* 80194A90 81 83 00 00 */ lwz r12, 0(r3) -/* 80194A94 81 8C 00 08 */ lwz r12, 8(r12) -/* 80194A98 7D 89 03 A6 */ mtctr r12 -/* 80194A9C 4E 80 04 21 */ bctrl -lbl_80194AA0: -/* 80194AA0 7F 9E D9 2E */ stwx r28, r30, r27 -lbl_80194AA4: -/* 80194AA4 3B 5A 00 01 */ addi r26, r26, 1 -/* 80194AA8 2C 1A 00 04 */ cmpwi r26, 4 -/* 80194AAC 3B BD 00 04 */ addi r29, r29, 4 -/* 80194AB0 41 80 FF C8 */ blt lbl_80194A78 -/* 80194AB4 80 7E 00 14 */ lwz r3, 0x14(r30) -/* 80194AB8 28 03 00 00 */ cmplwi r3, 0 -/* 80194ABC 41 82 00 24 */ beq lbl_80194AE0 -/* 80194AC0 41 82 00 18 */ beq lbl_80194AD8 -/* 80194AC4 38 80 00 01 */ li r4, 1 -/* 80194AC8 81 83 00 00 */ lwz r12, 0(r3) -/* 80194ACC 81 8C 00 08 */ lwz r12, 8(r12) -/* 80194AD0 7D 89 03 A6 */ mtctr r12 -/* 80194AD4 4E 80 04 21 */ bctrl -lbl_80194AD8: -/* 80194AD8 38 00 00 00 */ li r0, 0 -/* 80194ADC 90 1E 00 14 */ stw r0, 0x14(r30) -lbl_80194AE0: -/* 80194AE0 80 7E 00 18 */ lwz r3, 0x18(r30) -/* 80194AE4 28 03 00 00 */ cmplwi r3, 0 -/* 80194AE8 41 82 00 24 */ beq lbl_80194B0C -/* 80194AEC 41 82 00 18 */ beq lbl_80194B04 -/* 80194AF0 38 80 00 01 */ li r4, 1 -/* 80194AF4 81 83 00 00 */ lwz r12, 0(r3) -/* 80194AF8 81 8C 00 08 */ lwz r12, 8(r12) -/* 80194AFC 7D 89 03 A6 */ mtctr r12 -/* 80194B00 4E 80 04 21 */ bctrl -lbl_80194B04: -/* 80194B04 38 00 00 00 */ li r0, 0 -/* 80194B08 90 1E 00 18 */ stw r0, 0x18(r30) -lbl_80194B0C: -/* 80194B0C 80 7E 00 0C */ lwz r3, 0xc(r30) -/* 80194B10 28 03 00 00 */ cmplwi r3, 0 -/* 80194B14 41 82 00 24 */ beq lbl_80194B38 -/* 80194B18 41 82 00 18 */ beq lbl_80194B30 -/* 80194B1C 38 80 00 01 */ li r4, 1 -/* 80194B20 81 83 00 00 */ lwz r12, 0(r3) -/* 80194B24 81 8C 00 08 */ lwz r12, 8(r12) -/* 80194B28 7D 89 03 A6 */ mtctr r12 -/* 80194B2C 4E 80 04 21 */ bctrl -lbl_80194B30: -/* 80194B30 38 00 00 00 */ li r0, 0 -/* 80194B34 90 1E 00 0C */ stw r0, 0xc(r30) -lbl_80194B38: -/* 80194B38 80 7E 00 30 */ lwz r3, 0x30(r30) -/* 80194B3C 28 03 00 00 */ cmplwi r3, 0 -/* 80194B40 41 82 00 24 */ beq lbl_80194B64 -/* 80194B44 41 82 00 18 */ beq lbl_80194B5C -/* 80194B48 38 80 00 01 */ li r4, 1 -/* 80194B4C 81 83 00 00 */ lwz r12, 0(r3) -/* 80194B50 81 8C 00 08 */ lwz r12, 8(r12) -/* 80194B54 7D 89 03 A6 */ mtctr r12 -/* 80194B58 4E 80 04 21 */ bctrl -lbl_80194B5C: -/* 80194B5C 38 00 00 00 */ li r0, 0 -/* 80194B60 90 1E 00 30 */ stw r0, 0x30(r30) -lbl_80194B64: -/* 80194B64 3B 40 00 00 */ li r26, 0 -/* 80194B68 3B A0 00 00 */ li r29, 0 -/* 80194B6C 3B 80 00 00 */ li r28, 0 -lbl_80194B70: -/* 80194B70 3B 7D 00 34 */ addi r27, r29, 0x34 -/* 80194B74 7C 7E D8 2E */ lwzx r3, r30, r27 -/* 80194B78 28 03 00 00 */ cmplwi r3, 0 -/* 80194B7C 41 82 00 20 */ beq lbl_80194B9C -/* 80194B80 41 82 00 18 */ beq lbl_80194B98 -/* 80194B84 38 80 00 01 */ li r4, 1 -/* 80194B88 81 83 00 00 */ lwz r12, 0(r3) -/* 80194B8C 81 8C 00 08 */ lwz r12, 8(r12) -/* 80194B90 7D 89 03 A6 */ mtctr r12 -/* 80194B94 4E 80 04 21 */ bctrl -lbl_80194B98: -/* 80194B98 7F 9E D9 2E */ stwx r28, r30, r27 -lbl_80194B9C: -/* 80194B9C 3B 5A 00 01 */ addi r26, r26, 1 -/* 80194BA0 2C 1A 00 02 */ cmpwi r26, 2 -/* 80194BA4 3B BD 00 04 */ addi r29, r29, 4 -/* 80194BA8 41 80 FF C8 */ blt lbl_80194B70 -/* 80194BAC 80 7E 00 2C */ lwz r3, 0x2c(r30) -/* 80194BB0 28 03 00 00 */ cmplwi r3, 0 -/* 80194BB4 41 82 00 24 */ beq lbl_80194BD8 -/* 80194BB8 41 82 00 18 */ beq lbl_80194BD0 -/* 80194BBC 38 80 00 01 */ li r4, 1 -/* 80194BC0 81 83 00 00 */ lwz r12, 0(r3) -/* 80194BC4 81 8C 00 08 */ lwz r12, 8(r12) -/* 80194BC8 7D 89 03 A6 */ mtctr r12 -/* 80194BCC 4E 80 04 21 */ bctrl -lbl_80194BD0: -/* 80194BD0 38 00 00 00 */ li r0, 0 -/* 80194BD4 90 1E 00 2C */ stw r0, 0x2c(r30) -lbl_80194BD8: -/* 80194BD8 80 7E 00 3C */ lwz r3, 0x3c(r30) -/* 80194BDC 28 03 00 00 */ cmplwi r3, 0 -/* 80194BE0 41 82 00 24 */ beq lbl_80194C04 -/* 80194BE4 41 82 00 18 */ beq lbl_80194BFC -/* 80194BE8 38 80 00 01 */ li r4, 1 -/* 80194BEC 81 83 00 00 */ lwz r12, 0(r3) -/* 80194BF0 81 8C 00 08 */ lwz r12, 8(r12) -/* 80194BF4 7D 89 03 A6 */ mtctr r12 -/* 80194BF8 4E 80 04 21 */ bctrl -lbl_80194BFC: -/* 80194BFC 38 00 00 00 */ li r0, 0 -/* 80194C00 90 1E 00 3C */ stw r0, 0x3c(r30) -lbl_80194C04: -/* 80194C04 7F E0 07 35 */ extsh. r0, r31 -/* 80194C08 40 81 00 0C */ ble lbl_80194C14 -/* 80194C0C 7F C3 F3 78 */ mr r3, r30 -/* 80194C10 48 13 A1 2D */ bl __dl__FPv -lbl_80194C14: -/* 80194C14 7F C3 F3 78 */ mr r3, r30 -/* 80194C18 39 61 00 20 */ addi r11, r1, 0x20 -/* 80194C1C 48 1C D6 01 */ bl _restgpr_26 -/* 80194C20 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80194C24 7C 08 03 A6 */ mtlr r0 -/* 80194C28 38 21 00 20 */ addi r1, r1, 0x20 -/* 80194C2C 4E 80 00 20 */ blr diff --git a/asm/d/d_select_cursor/__dt__19dSelect_cursorHIO_cFv.s b/asm/d/d_select_cursor/__dt__19dSelect_cursorHIO_cFv.s deleted file mode 100644 index e9114890d78..00000000000 --- a/asm/d/d_select_cursor/__dt__19dSelect_cursorHIO_cFv.s +++ /dev/null @@ -1,20 +0,0 @@ -lbl_80195978: -/* 80195978 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8019597C 7C 08 02 A6 */ mflr r0 -/* 80195980 90 01 00 14 */ stw r0, 0x14(r1) -/* 80195984 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80195988 7C 7F 1B 79 */ or. r31, r3, r3 -/* 8019598C 41 82 00 1C */ beq lbl_801959A8 -/* 80195990 3C A0 80 3C */ lis r5, __vt__19dSelect_cursorHIO_c@ha /* 0x803BB7A8@ha */ -/* 80195994 38 05 B7 A8 */ addi r0, r5, __vt__19dSelect_cursorHIO_c@l /* 0x803BB7A8@l */ -/* 80195998 90 1F 00 00 */ stw r0, 0(r31) -/* 8019599C 7C 80 07 35 */ extsh. r0, r4 -/* 801959A0 40 81 00 08 */ ble lbl_801959A8 -/* 801959A4 48 13 93 99 */ bl __dl__FPv -lbl_801959A8: -/* 801959A8 7F E3 FB 78 */ mr r3, r31 -/* 801959AC 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 801959B0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 801959B4 7C 08 03 A6 */ mtlr r0 -/* 801959B8 38 21 00 10 */ addi r1, r1, 0x10 -/* 801959BC 4E 80 00 20 */ blr diff --git a/asm/d/d_select_cursor/setBpkAnimation__16dSelect_cursor_cFP11J2DAnmColor.s b/asm/d/d_select_cursor/setBpkAnimation__16dSelect_cursor_cFP11J2DAnmColor.s deleted file mode 100644 index 9ec387620dd..00000000000 --- a/asm/d/d_select_cursor/setBpkAnimation__16dSelect_cursor_cFP11J2DAnmColor.s +++ /dev/null @@ -1,108 +0,0 @@ -lbl_80195460: -/* 80195460 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80195464 7C 08 02 A6 */ mflr r0 -/* 80195468 90 01 00 24 */ stw r0, 0x24(r1) -/* 8019546C 39 61 00 20 */ addi r11, r1, 0x20 -/* 80195470 48 1C CD 65 */ bl _savegpr_27 -/* 80195474 7C 7B 1B 78 */ mr r27, r3 -/* 80195478 7C 9C 23 78 */ mr r28, r4 -/* 8019547C 88 03 00 B5 */ lbz r0, 0xb5(r3) -/* 80195480 2C 00 00 02 */ cmpwi r0, 2 -/* 80195484 41 82 00 78 */ beq lbl_801954FC -/* 80195488 40 80 00 10 */ bge lbl_80195498 -/* 8019548C 2C 00 00 00 */ cmpwi r0, 0 -/* 80195490 41 82 00 14 */ beq lbl_801954A4 -/* 80195494 48 00 01 0C */ b lbl_801955A0 -lbl_80195498: -/* 80195498 2C 00 00 04 */ cmpwi r0, 4 -/* 8019549C 40 80 01 04 */ bge lbl_801955A0 -/* 801954A0 48 00 00 C8 */ b lbl_80195568 -lbl_801954A4: -/* 801954A4 3B A0 00 00 */ li r29, 0 -/* 801954A8 3B E0 00 00 */ li r31, 0 -/* 801954AC 3C 60 80 39 */ lis r3, tag_4181@ha /* 0x80394A30@ha */ -/* 801954B0 3B C3 4A 30 */ addi r30, r3, tag_4181@l /* 0x80394A30@l */ -lbl_801954B4: -/* 801954B4 80 7B 00 04 */ lwz r3, 4(r27) -/* 801954B8 7C 9E FA 14 */ add r4, r30, r31 -/* 801954BC 80 A4 00 00 */ lwz r5, 0(r4) -/* 801954C0 80 C4 00 04 */ lwz r6, 4(r4) -/* 801954C4 81 83 00 00 */ lwz r12, 0(r3) -/* 801954C8 81 8C 00 3C */ lwz r12, 0x3c(r12) -/* 801954CC 7D 89 03 A6 */ mtctr r12 -/* 801954D0 4E 80 04 21 */ bctrl -/* 801954D4 7F 84 E3 78 */ mr r4, r28 -/* 801954D8 81 83 00 00 */ lwz r12, 0(r3) -/* 801954DC 81 8C 00 64 */ lwz r12, 0x64(r12) -/* 801954E0 7D 89 03 A6 */ mtctr r12 -/* 801954E4 4E 80 04 21 */ bctrl -/* 801954E8 3B BD 00 01 */ addi r29, r29, 1 -/* 801954EC 2C 1D 00 04 */ cmpwi r29, 4 -/* 801954F0 3B FF 00 08 */ addi r31, r31, 8 -/* 801954F4 41 80 FF C0 */ blt lbl_801954B4 -/* 801954F8 48 00 00 E0 */ b lbl_801955D8 -lbl_801954FC: -/* 801954FC 80 7B 00 04 */ lwz r3, 4(r27) -/* 80195500 3C 80 69 67 */ lis r4, 0x6967 /* 0x69676874@ha */ -/* 80195504 38 C4 68 74 */ addi r6, r4, 0x6874 /* 0x69676874@l */ -/* 80195508 38 A0 00 6C */ li r5, 0x6c -/* 8019550C 81 83 00 00 */ lwz r12, 0(r3) -/* 80195510 81 8C 00 3C */ lwz r12, 0x3c(r12) -/* 80195514 7D 89 03 A6 */ mtctr r12 -/* 80195518 4E 80 04 21 */ bctrl -/* 8019551C 7F 84 E3 78 */ mr r4, r28 -/* 80195520 81 83 00 00 */ lwz r12, 0(r3) -/* 80195524 81 8C 00 64 */ lwz r12, 0x64(r12) -/* 80195528 7D 89 03 A6 */ mtctr r12 -/* 8019552C 4E 80 04 21 */ bctrl -/* 80195530 80 7B 00 04 */ lwz r3, 4(r27) -/* 80195534 3C 80 63 6B */ lis r4, 0x636B /* 0x636B5F6C@ha */ -/* 80195538 38 C4 5F 6C */ addi r6, r4, 0x5F6C /* 0x636B5F6C@l */ -/* 8019553C 38 A0 62 61 */ li r5, 0x6261 -/* 80195540 81 83 00 00 */ lwz r12, 0(r3) -/* 80195544 81 8C 00 3C */ lwz r12, 0x3c(r12) -/* 80195548 7D 89 03 A6 */ mtctr r12 -/* 8019554C 4E 80 04 21 */ bctrl -/* 80195550 7F 84 E3 78 */ mr r4, r28 -/* 80195554 81 83 00 00 */ lwz r12, 0(r3) -/* 80195558 81 8C 00 64 */ lwz r12, 0x64(r12) -/* 8019555C 7D 89 03 A6 */ mtctr r12 -/* 80195560 4E 80 04 21 */ bctrl -/* 80195564 48 00 00 74 */ b lbl_801955D8 -lbl_80195568: -/* 80195568 80 7B 00 04 */ lwz r3, 4(r27) -/* 8019556C 3C 80 61 74 */ lis r4, 0x6174 /* 0x61747375@ha */ -/* 80195570 38 C4 73 75 */ addi r6, r4, 0x7375 /* 0x61747375@l */ -/* 80195574 38 A0 00 62 */ li r5, 0x62 -/* 80195578 81 83 00 00 */ lwz r12, 0(r3) -/* 8019557C 81 8C 00 3C */ lwz r12, 0x3c(r12) -/* 80195580 7D 89 03 A6 */ mtctr r12 -/* 80195584 4E 80 04 21 */ bctrl -/* 80195588 7F 84 E3 78 */ mr r4, r28 -/* 8019558C 81 83 00 00 */ lwz r12, 0(r3) -/* 80195590 81 8C 00 64 */ lwz r12, 0x64(r12) -/* 80195594 7D 89 03 A6 */ mtctr r12 -/* 80195598 4E 80 04 21 */ bctrl -/* 8019559C 48 00 00 3C */ b lbl_801955D8 -lbl_801955A0: -/* 801955A0 80 7B 00 04 */ lwz r3, 4(r27) -/* 801955A4 3C 80 68 74 */ lis r4, 0x6874 /* 0x68743030@ha */ -/* 801955A8 38 C4 30 30 */ addi r6, r4, 0x3030 /* 0x68743030@l */ -/* 801955AC 3C 80 00 6C */ lis r4, 0x006C /* 0x006C6967@ha */ -/* 801955B0 38 A4 69 67 */ addi r5, r4, 0x6967 /* 0x006C6967@l */ -/* 801955B4 81 83 00 00 */ lwz r12, 0(r3) -/* 801955B8 81 8C 00 3C */ lwz r12, 0x3c(r12) -/* 801955BC 7D 89 03 A6 */ mtctr r12 -/* 801955C0 4E 80 04 21 */ bctrl -/* 801955C4 7F 84 E3 78 */ mr r4, r28 -/* 801955C8 81 83 00 00 */ lwz r12, 0(r3) -/* 801955CC 81 8C 00 64 */ lwz r12, 0x64(r12) -/* 801955D0 7D 89 03 A6 */ mtctr r12 -/* 801955D4 4E 80 04 21 */ bctrl -lbl_801955D8: -/* 801955D8 39 61 00 20 */ addi r11, r1, 0x20 -/* 801955DC 48 1C CC 45 */ bl _restgpr_27 -/* 801955E0 80 01 00 24 */ lwz r0, 0x24(r1) -/* 801955E4 7C 08 03 A6 */ mtlr r0 -/* 801955E8 38 21 00 20 */ addi r1, r1, 0x20 -/* 801955EC 4E 80 00 20 */ blr diff --git a/asm/d/d_select_cursor/setBtk0Animation__16dSelect_cursor_cFP19J2DAnmTextureSRTKey.s b/asm/d/d_select_cursor/setBtk0Animation__16dSelect_cursor_cFP19J2DAnmTextureSRTKey.s deleted file mode 100644 index 772060d02e2..00000000000 --- a/asm/d/d_select_cursor/setBtk0Animation__16dSelect_cursor_cFP19J2DAnmTextureSRTKey.s +++ /dev/null @@ -1,84 +0,0 @@ -lbl_801955F0: -/* 801955F0 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 801955F4 7C 08 02 A6 */ mflr r0 -/* 801955F8 90 01 00 24 */ stw r0, 0x24(r1) -/* 801955FC 39 61 00 20 */ addi r11, r1, 0x20 -/* 80195600 48 1C CB D5 */ bl _savegpr_27 -/* 80195604 7C 7B 1B 78 */ mr r27, r3 -/* 80195608 7C 9C 23 78 */ mr r28, r4 -/* 8019560C 88 03 00 B5 */ lbz r0, 0xb5(r3) -/* 80195610 2C 00 00 01 */ cmpwi r0, 1 -/* 80195614 41 82 00 6C */ beq lbl_80195680 -/* 80195618 40 80 00 C0 */ bge lbl_801956D8 -/* 8019561C 2C 00 00 00 */ cmpwi r0, 0 -/* 80195620 40 80 00 08 */ bge lbl_80195628 -/* 80195624 48 00 00 B4 */ b lbl_801956D8 -lbl_80195628: -/* 80195628 3B A0 00 00 */ li r29, 0 -/* 8019562C 3B E0 00 00 */ li r31, 0 -/* 80195630 3C 60 80 39 */ lis r3, tag_4197@ha /* 0x80394A50@ha */ -/* 80195634 3B C3 4A 50 */ addi r30, r3, tag_4197@l /* 0x80394A50@l */ -lbl_80195638: -/* 80195638 80 7B 00 04 */ lwz r3, 4(r27) -/* 8019563C 7C 9E FA 14 */ add r4, r30, r31 -/* 80195640 80 A4 00 00 */ lwz r5, 0(r4) -/* 80195644 80 C4 00 04 */ lwz r6, 4(r4) -/* 80195648 81 83 00 00 */ lwz r12, 0(r3) -/* 8019564C 81 8C 00 3C */ lwz r12, 0x3c(r12) -/* 80195650 7D 89 03 A6 */ mtctr r12 -/* 80195654 4E 80 04 21 */ bctrl -/* 80195658 7F 84 E3 78 */ mr r4, r28 -/* 8019565C 81 83 00 00 */ lwz r12, 0(r3) -/* 80195660 81 8C 00 6C */ lwz r12, 0x6c(r12) -/* 80195664 7D 89 03 A6 */ mtctr r12 -/* 80195668 4E 80 04 21 */ bctrl -/* 8019566C 3B BD 00 01 */ addi r29, r29, 1 -/* 80195670 2C 1D 00 08 */ cmpwi r29, 8 -/* 80195674 3B FF 00 08 */ addi r31, r31, 8 -/* 80195678 41 80 FF C0 */ blt lbl_80195638 -/* 8019567C 48 00 00 90 */ b lbl_8019570C -lbl_80195680: -/* 80195680 3B A0 00 00 */ li r29, 0 -/* 80195684 3B E0 00 00 */ li r31, 0 -/* 80195688 3C 60 80 39 */ lis r3, tag_4204@ha /* 0x80394A90@ha */ -/* 8019568C 3B C3 4A 90 */ addi r30, r3, tag_4204@l /* 0x80394A90@l */ -lbl_80195690: -/* 80195690 80 7B 00 04 */ lwz r3, 4(r27) -/* 80195694 7C 9E FA 14 */ add r4, r30, r31 -/* 80195698 80 A4 00 00 */ lwz r5, 0(r4) -/* 8019569C 80 C4 00 04 */ lwz r6, 4(r4) -/* 801956A0 81 83 00 00 */ lwz r12, 0(r3) -/* 801956A4 81 8C 00 3C */ lwz r12, 0x3c(r12) -/* 801956A8 7D 89 03 A6 */ mtctr r12 -/* 801956AC 4E 80 04 21 */ bctrl -/* 801956B0 7F 84 E3 78 */ mr r4, r28 -/* 801956B4 81 83 00 00 */ lwz r12, 0(r3) -/* 801956B8 81 8C 00 6C */ lwz r12, 0x6c(r12) -/* 801956BC 7D 89 03 A6 */ mtctr r12 -/* 801956C0 4E 80 04 21 */ bctrl -/* 801956C4 3B BD 00 01 */ addi r29, r29, 1 -/* 801956C8 2C 1D 00 02 */ cmpwi r29, 2 -/* 801956CC 3B FF 00 08 */ addi r31, r31, 8 -/* 801956D0 41 80 FF C0 */ blt lbl_80195690 -/* 801956D4 48 00 00 38 */ b lbl_8019570C -lbl_801956D8: -/* 801956D8 80 7B 00 04 */ lwz r3, 4(r27) -/* 801956DC 3C 80 6C 64 */ lis r4, 0x6C64 /* 0x6C643031@ha */ -/* 801956E0 38 C4 30 31 */ addi r6, r4, 0x3031 /* 0x6C643031@l */ -/* 801956E4 38 A0 67 6F */ li r5, 0x676f -/* 801956E8 81 83 00 00 */ lwz r12, 0(r3) -/* 801956EC 81 8C 00 3C */ lwz r12, 0x3c(r12) -/* 801956F0 7D 89 03 A6 */ mtctr r12 -/* 801956F4 4E 80 04 21 */ bctrl -/* 801956F8 7F 84 E3 78 */ mr r4, r28 -/* 801956FC 81 83 00 00 */ lwz r12, 0(r3) -/* 80195700 81 8C 00 6C */ lwz r12, 0x6c(r12) -/* 80195704 7D 89 03 A6 */ mtctr r12 -/* 80195708 4E 80 04 21 */ bctrl -lbl_8019570C: -/* 8019570C 39 61 00 20 */ addi r11, r1, 0x20 -/* 80195710 48 1C CB 11 */ bl _restgpr_27 -/* 80195714 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80195718 7C 08 03 A6 */ mtlr r0 -/* 8019571C 38 21 00 20 */ addi r1, r1, 0x20 -/* 80195720 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/d_a_crod/d_a_crod/posMove__8daCrod_cFv.s b/asm/rel/d/a/d_a_crod/d_a_crod/posMove__8daCrod_cFv.s deleted file mode 100644 index 76a4a79f2c7..00000000000 --- a/asm/rel/d/a/d_a_crod/d_a_crod/posMove__8daCrod_cFv.s +++ /dev/null @@ -1,33 +0,0 @@ -lbl_804A3500: -/* 804A3500 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 804A3504 7C 08 02 A6 */ mflr r0 -/* 804A3508 90 01 00 14 */ stw r0, 0x14(r1) -/* 804A350C 7C 66 1B 78 */ mr r6, r3 -/* 804A3510 3C 60 80 44 */ lis r3, sincosTable___5JMath@ha /* 0x80439A20@ha */ -/* 804A3514 38 63 9A 20 */ addi r3, r3, sincosTable___5JMath@l /* 0x80439A20@l */ -/* 804A3518 38 83 00 04 */ addi r4, r3, 4 -/* 804A351C A8 06 04 DC */ lha r0, 0x4dc(r6) -/* 804A3520 54 05 04 38 */ rlwinm r5, r0, 0, 0x10, 0x1c -/* 804A3524 7C 84 2C 2E */ lfsx f4, r4, r5 -/* 804A3528 A8 06 04 DE */ lha r0, 0x4de(r6) -/* 804A352C 54 00 04 38 */ rlwinm r0, r0, 0, 0x10, 0x1c -/* 804A3530 7C 04 04 2E */ lfsx f0, r4, r0 -/* 804A3534 C0 66 05 2C */ lfs f3, 0x52c(r6) -/* 804A3538 EC 03 00 32 */ fmuls f0, f3, f0 -/* 804A353C EC 40 01 32 */ fmuls f2, f0, f4 -/* 804A3540 7C 03 2C 2E */ lfsx f0, r3, r5 -/* 804A3544 EC 23 00 32 */ fmuls f1, f3, f0 -/* 804A3548 7C 03 04 2E */ lfsx f0, r3, r0 -/* 804A354C EC 03 00 32 */ fmuls f0, f3, f0 -/* 804A3550 EC 00 01 32 */ fmuls f0, f0, f4 -/* 804A3554 D0 06 04 F8 */ stfs f0, 0x4f8(r6) -/* 804A3558 D0 26 04 FC */ stfs f1, 0x4fc(r6) -/* 804A355C D0 46 05 00 */ stfs f2, 0x500(r6) -/* 804A3560 38 66 04 D0 */ addi r3, r6, 0x4d0 -/* 804A3564 38 86 04 F8 */ addi r4, r6, 0x4f8 -/* 804A3568 7C 65 1B 78 */ mr r5, r3 -/* 804A356C 4B EA 3B 25 */ bl PSVECAdd -/* 804A3570 80 01 00 14 */ lwz r0, 0x14(r1) -/* 804A3574 7C 08 03 A6 */ mtlr r0 -/* 804A3578 38 21 00 10 */ addi r1, r1, 0x10 -/* 804A357C 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/d_a_talk/d_a_talk/__dt__8daTalk_cFv.s b/asm/rel/d/a/d_a_talk/d_a_talk/__dt__8daTalk_cFv.s deleted file mode 100644 index 1cac3064c10..00000000000 --- a/asm/rel/d/a/d_a_talk/d_a_talk/__dt__8daTalk_cFv.s +++ /dev/null @@ -1,29 +0,0 @@ -lbl_80D66378: -/* 80D66378 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80D6637C 7C 08 02 A6 */ mflr r0 -/* 80D66380 90 01 00 14 */ stw r0, 0x14(r1) -/* 80D66384 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80D66388 93 C1 00 08 */ stw r30, 8(r1) -/* 80D6638C 7C 7E 1B 79 */ or. r30, r3, r3 -/* 80D66390 7C 9F 23 78 */ mr r31, r4 -/* 80D66394 41 82 00 34 */ beq lbl_80D663C8 -/* 80D66398 38 60 FF FF */ li r3, -1 -/* 80D6639C 4B 4D 1D ED */ bl setProcessID__12dMsgObject_cFUi -/* 80D663A0 38 7E 05 68 */ addi r3, r30, 0x568 -/* 80D663A4 38 80 FF FF */ li r4, -1 -/* 80D663A8 4B 4E 3B A1 */ bl __dt__10dMsgFlow_cFv -/* 80D663AC 7F C3 F3 78 */ mr r3, r30 -/* 80D663B0 38 80 00 00 */ li r4, 0 -/* 80D663B4 4B 2B 28 D9 */ bl __dt__10fopAc_ac_cFv -/* 80D663B8 7F E0 07 35 */ extsh. r0, r31 -/* 80D663BC 40 81 00 0C */ ble lbl_80D663C8 -/* 80D663C0 7F C3 F3 78 */ mr r3, r30 -/* 80D663C4 4B 56 89 79 */ bl __dl__FPv -lbl_80D663C8: -/* 80D663C8 7F C3 F3 78 */ mr r3, r30 -/* 80D663CC 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80D663D0 83 C1 00 08 */ lwz r30, 8(r1) -/* 80D663D4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80D663D8 7C 08 03 A6 */ mtlr r0 -/* 80D663DC 38 21 00 10 */ addi r1, r1, 0x10 -/* 80D663E0 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/d_a_talk/d_a_talk/create__8daTalk_cFv.s b/asm/rel/d/a/d_a_talk/d_a_talk/create__8daTalk_cFv.s deleted file mode 100644 index 20934184569..00000000000 --- a/asm/rel/d/a/d_a_talk/d_a_talk/create__8daTalk_cFv.s +++ /dev/null @@ -1,55 +0,0 @@ -lbl_80D663E4: -/* 80D663E4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80D663E8 7C 08 02 A6 */ mflr r0 -/* 80D663EC 90 01 00 14 */ stw r0, 0x14(r1) -/* 80D663F0 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80D663F4 93 C1 00 08 */ stw r30, 8(r1) -/* 80D663F8 7C 7E 1B 78 */ mr r30, r3 -/* 80D663FC 80 03 04 A0 */ lwz r0, 0x4a0(r3) -/* 80D66400 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c -/* 80D66404 40 82 00 28 */ bne lbl_80D6642C -/* 80D66408 7F C0 F3 79 */ or. r0, r30, r30 -/* 80D6640C 41 82 00 14 */ beq lbl_80D66420 -/* 80D66410 7C 1F 03 78 */ mr r31, r0 -/* 80D66414 4B 2B 27 51 */ bl __ct__10fopAc_ac_cFv -/* 80D66418 38 7F 05 68 */ addi r3, r31, 0x568 -/* 80D6641C 4B 4E 3A E5 */ bl __ct__10dMsgFlow_cFv -lbl_80D66420: -/* 80D66420 80 1E 04 A0 */ lwz r0, 0x4a0(r30) -/* 80D66424 60 00 00 08 */ ori r0, r0, 8 -/* 80D66428 90 1E 04 A0 */ stw r0, 0x4a0(r30) -lbl_80D6642C: -/* 80D6642C 7F C3 F3 78 */ mr r3, r30 -/* 80D66430 48 00 02 59 */ bl getStatus__8daTalk_cFv -/* 80D66434 54 60 04 3E */ clrlwi r0, r3, 0x10 -/* 80D66438 28 00 00 01 */ cmplwi r0, 1 -/* 80D6643C 41 82 00 0C */ beq lbl_80D66448 -/* 80D66440 38 60 00 05 */ li r3, 5 -/* 80D66444 48 00 00 50 */ b lbl_80D66494 -lbl_80D66448: -/* 80D66448 4B 4D 1D 79 */ bl getpTalkActor__12dMsgObject_cFv -/* 80D6644C 3B E3 05 44 */ addi r31, r3, 0x544 -/* 80D66450 38 7E 05 44 */ addi r3, r30, 0x544 -/* 80D66454 7F E4 FB 78 */ mr r4, r31 -/* 80D66458 38 A0 00 09 */ li r5, 9 -/* 80D6645C 4B 5F B7 E1 */ bl __copy -/* 80D66460 A8 1F 00 0A */ lha r0, 0xa(r31) -/* 80D66464 B0 1E 05 4E */ sth r0, 0x54e(r30) -/* 80D66468 C0 1F 00 0C */ lfs f0, 0xc(r31) -/* 80D6646C D0 1E 05 50 */ stfs f0, 0x550(r30) -/* 80D66470 C0 1F 00 10 */ lfs f0, 0x10(r31) -/* 80D66474 D0 1E 05 54 */ stfs f0, 0x554(r30) -/* 80D66478 C0 1F 00 14 */ lfs f0, 0x14(r31) -/* 80D6647C D0 1E 05 58 */ stfs f0, 0x558(r30) -/* 80D66480 80 1F 00 18 */ lwz r0, 0x18(r31) -/* 80D66484 90 1E 05 5C */ stw r0, 0x55c(r30) -/* 80D66488 38 00 FF FF */ li r0, -1 -/* 80D6648C 90 1E 05 B4 */ stw r0, 0x5b4(r30) -/* 80D66490 38 60 00 04 */ li r3, 4 -lbl_80D66494: -/* 80D66494 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80D66498 83 C1 00 08 */ lwz r30, 8(r1) -/* 80D6649C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80D664A0 7C 08 03 A6 */ mtlr r0 -/* 80D664A4 38 21 00 10 */ addi r1, r1, 0x10 -/* 80D664A8 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/d_a_talk/d_a_talk/daTalk_Create__FP10fopAc_ac_c.s b/asm/rel/d/a/d_a_talk/d_a_talk/daTalk_Create__FP10fopAc_ac_c.s deleted file mode 100644 index 441b81fd84f..00000000000 --- a/asm/rel/d/a/d_a_talk/d_a_talk/daTalk_Create__FP10fopAc_ac_c.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_80D666E4: -/* 80D666E4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80D666E8 7C 08 02 A6 */ mflr r0 -/* 80D666EC 90 01 00 14 */ stw r0, 0x14(r1) -/* 80D666F0 4B FF FC F5 */ bl create__8daTalk_cFv -/* 80D666F4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80D666F8 7C 08 03 A6 */ mtlr r0 -/* 80D666FC 38 21 00 10 */ addi r1, r1, 0x10 -/* 80D66700 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/d_a_talk/d_a_talk/daTalk_Delete__FP8daTalk_c.s b/asm/rel/d/a/d_a_talk/d_a_talk/daTalk_Delete__FP8daTalk_c.s deleted file mode 100644 index ea88beb6233..00000000000 --- a/asm/rel/d/a/d_a_talk/d_a_talk/daTalk_Delete__FP8daTalk_c.s +++ /dev/null @@ -1,11 +0,0 @@ -lbl_80D66704: -/* 80D66704 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80D66708 7C 08 02 A6 */ mflr r0 -/* 80D6670C 90 01 00 14 */ stw r0, 0x14(r1) -/* 80D66710 38 80 FF FF */ li r4, -1 -/* 80D66714 4B FF FC 65 */ bl __dt__8daTalk_cFv -/* 80D66718 38 60 00 01 */ li r3, 1 -/* 80D6671C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80D66720 7C 08 03 A6 */ mtlr r0 -/* 80D66724 38 21 00 10 */ addi r1, r1, 0x10 -/* 80D66728 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/d_a_talk/d_a_talk/daTalk_Draw__FP8daTalk_c.s b/asm/rel/d/a/d_a_talk/d_a_talk/daTalk_Draw__FP8daTalk_c.s deleted file mode 100644 index 024e655efd1..00000000000 --- a/asm/rel/d/a/d_a_talk/d_a_talk/daTalk_Draw__FP8daTalk_c.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_80D6674C: -/* 80D6674C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80D66750 7C 08 02 A6 */ mflr r0 -/* 80D66754 90 01 00 14 */ stw r0, 0x14(r1) -/* 80D66758 4B FF FF 05 */ bl draw__8daTalk_cFv -/* 80D6675C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80D66760 7C 08 03 A6 */ mtlr r0 -/* 80D66764 38 21 00 10 */ addi r1, r1, 0x10 -/* 80D66768 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/d_a_talk/d_a_talk/daTalk_Execute__FP8daTalk_c.s b/asm/rel/d/a/d_a_talk/d_a_talk/daTalk_Execute__FP8daTalk_c.s deleted file mode 100644 index e71ecdf6b65..00000000000 --- a/asm/rel/d/a/d_a_talk/d_a_talk/daTalk_Execute__FP8daTalk_c.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_80D6672C: -/* 80D6672C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80D66730 7C 08 02 A6 */ mflr r0 -/* 80D66734 90 01 00 14 */ stw r0, 0x14(r1) -/* 80D66738 4B FF FD 75 */ bl execute__8daTalk_cFv -/* 80D6673C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80D66740 7C 08 03 A6 */ mtlr r0 -/* 80D66744 38 21 00 10 */ addi r1, r1, 0x10 -/* 80D66748 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/d_a_talk/d_a_talk/execute__8daTalk_cFv.s b/asm/rel/d/a/d_a_talk/d_a_talk/execute__8daTalk_cFv.s deleted file mode 100644 index 0ac2d7960a5..00000000000 --- a/asm/rel/d/a/d_a_talk/d_a_talk/execute__8daTalk_cFv.s +++ /dev/null @@ -1,117 +0,0 @@ -lbl_80D664AC: -/* 80D664AC 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80D664B0 7C 08 02 A6 */ mflr r0 -/* 80D664B4 90 01 00 24 */ stw r0, 0x24(r1) -/* 80D664B8 39 61 00 20 */ addi r11, r1, 0x20 -/* 80D664BC 4B 5F BD 21 */ bl _savegpr_29 -/* 80D664C0 7C 7E 1B 78 */ mr r30, r3 -/* 80D664C4 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80D664C8 3B E4 61 C0 */ addi r31, r4, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80D664CC 88 1F 4F AD */ lbz r0, 0x4fad(r31) -/* 80D664D0 28 00 00 00 */ cmplwi r0, 0 -/* 80D664D4 41 82 00 18 */ beq lbl_80D664EC -/* 80D664D8 A0 1E 00 F8 */ lhz r0, 0xf8(r30) -/* 80D664DC 28 00 00 01 */ cmplwi r0, 1 -/* 80D664E0 41 82 00 54 */ beq lbl_80D66534 -/* 80D664E4 4B 2B 37 99 */ bl fopAcM_delete__FP10fopAc_ac_c -/* 80D664E8 48 00 00 4C */ b lbl_80D66534 -lbl_80D664EC: -/* 80D664EC 88 1E 05 45 */ lbz r0, 0x545(r30) -/* 80D664F0 1C A0 00 1C */ mulli r5, r0, 0x1c -/* 80D664F4 3C 80 80 3B */ lis r4, dist_table__12dAttention_c@ha /* 0x803A9C70@ha */ -/* 80D664F8 38 04 9C 70 */ addi r0, r4, dist_table__12dAttention_c@l /* 0x803A9C70@l */ -/* 80D664FC 7F A0 2A 14 */ add r29, r0, r5 -/* 80D66500 80 9F 5D AC */ lwz r4, 0x5dac(r31) -/* 80D66504 4B 2B 44 61 */ bl fopAcM_searchActorDistanceXZ__FPC10fopAc_ac_cPC10fopAc_ac_c -/* 80D66508 C0 1D 00 04 */ lfs f0, 4(r29) -/* 80D6650C FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 80D66510 40 81 00 18 */ ble lbl_80D66528 -/* 80D66514 38 00 FF FF */ li r0, -1 -/* 80D66518 90 1E 05 B4 */ stw r0, 0x5b4(r30) -/* 80D6651C 7F C3 F3 78 */ mr r3, r30 -/* 80D66520 4B 2B 37 5D */ bl fopAcM_delete__FP10fopAc_ac_c -/* 80D66524 48 00 00 10 */ b lbl_80D66534 -lbl_80D66528: -/* 80D66528 A0 1E 00 FA */ lhz r0, 0xfa(r30) -/* 80D6652C 60 00 00 01 */ ori r0, r0, 1 -/* 80D66530 B0 1E 00 FA */ sth r0, 0xfa(r30) -lbl_80D66534: -/* 80D66534 A0 1E 00 F8 */ lhz r0, 0xf8(r30) -/* 80D66538 28 00 00 01 */ cmplwi r0, 1 -/* 80D6653C 40 82 01 04 */ bne lbl_80D66640 -/* 80D66540 4B 4D 1C A9 */ bl getNodeIdx__12dMsgObject_cFv -/* 80D66544 54 60 04 3E */ clrlwi r0, r3, 0x10 -/* 80D66548 28 00 00 FF */ cmplwi r0, 0xff -/* 80D6654C 40 82 00 84 */ bne lbl_80D665D0 -/* 80D66550 80 7E 05 B4 */ lwz r3, 0x5b4(r30) -/* 80D66554 3C 03 00 01 */ addis r0, r3, 1 -/* 80D66558 28 00 FF FF */ cmplwi r0, 0xffff -/* 80D6655C 40 82 00 14 */ bne lbl_80D66570 -/* 80D66560 7F C3 F3 78 */ mr r3, r30 -/* 80D66564 48 00 01 45 */ bl messageSet__8daTalk_cFv -/* 80D66568 90 7E 05 B4 */ stw r3, 0x5b4(r30) -/* 80D6656C 48 00 00 D4 */ b lbl_80D66640 -lbl_80D66570: -/* 80D66570 7F C3 F3 78 */ mr r3, r30 -/* 80D66574 48 00 01 15 */ bl getStatus__8daTalk_cFv -/* 80D66578 54 60 04 3E */ clrlwi r0, r3, 0x10 -/* 80D6657C 28 00 00 0E */ cmplwi r0, 0xe -/* 80D66580 40 82 00 14 */ bne lbl_80D66594 -/* 80D66584 7F C3 F3 78 */ mr r3, r30 -/* 80D66588 38 80 00 10 */ li r4, 0x10 -/* 80D6658C 48 00 00 D9 */ bl setStatus__8daTalk_cFUs -/* 80D66590 48 00 00 B0 */ b lbl_80D66640 -lbl_80D66594: -/* 80D66594 7F C3 F3 78 */ mr r3, r30 -/* 80D66598 48 00 00 F1 */ bl getStatus__8daTalk_cFv -/* 80D6659C 54 60 04 3E */ clrlwi r0, r3, 0x10 -/* 80D665A0 28 00 00 12 */ cmplwi r0, 0x12 -/* 80D665A4 40 82 00 9C */ bne lbl_80D66640 -/* 80D665A8 38 7F 4E C8 */ addi r3, r31, 0x4ec8 -/* 80D665AC 4B 2D BE BD */ bl reset__14dEvt_control_cFv -/* 80D665B0 7F C3 F3 78 */ mr r3, r30 -/* 80D665B4 38 80 00 13 */ li r4, 0x13 -/* 80D665B8 48 00 00 AD */ bl setStatus__8daTalk_cFUs -/* 80D665BC 38 00 FF FF */ li r0, -1 -/* 80D665C0 90 1E 05 B4 */ stw r0, 0x5b4(r30) -/* 80D665C4 7F C3 F3 78 */ mr r3, r30 -/* 80D665C8 4B 2B 36 B5 */ bl fopAcM_delete__FP10fopAc_ac_c -/* 80D665CC 48 00 00 74 */ b lbl_80D66640 -lbl_80D665D0: -/* 80D665D0 80 7E 05 B4 */ lwz r3, 0x5b4(r30) -/* 80D665D4 3C 03 00 01 */ addis r0, r3, 1 -/* 80D665D8 28 00 FF FF */ cmplwi r0, 0xffff -/* 80D665DC 40 82 00 2C */ bne lbl_80D66608 -/* 80D665E0 4B 4D 1C 09 */ bl getNodeIdx__12dMsgObject_cFv -/* 80D665E4 54 65 04 3E */ clrlwi r5, r3, 0x10 -/* 80D665E8 38 7E 05 68 */ addi r3, r30, 0x568 -/* 80D665EC 7F C4 F3 78 */ mr r4, r30 -/* 80D665F0 38 C0 00 00 */ li r6, 0 -/* 80D665F4 38 E0 00 00 */ li r7, 0 -/* 80D665F8 4B 4E 39 99 */ bl init__10dMsgFlow_cFP10fopAc_ac_ciiPP10fopAc_ac_c -/* 80D665FC 38 00 00 02 */ li r0, 2 -/* 80D66600 90 1E 05 B4 */ stw r0, 0x5b4(r30) -/* 80D66604 48 00 00 3C */ b lbl_80D66640 -lbl_80D66608: -/* 80D66608 4B 4D 1B B9 */ bl getpTalkActor__12dMsgObject_cFv -/* 80D6660C 7C 64 1B 78 */ mr r4, r3 -/* 80D66610 38 7E 05 68 */ addi r3, r30, 0x568 -/* 80D66614 38 A0 00 00 */ li r5, 0 -/* 80D66618 38 C0 00 00 */ li r6, 0 -/* 80D6661C 4B 4E 3C BD */ bl doFlow__10dMsgFlow_cFP10fopAc_ac_cPP10fopAc_ac_ci -/* 80D66620 2C 03 00 00 */ cmpwi r3, 0 -/* 80D66624 41 82 00 1C */ beq lbl_80D66640 -/* 80D66628 38 7F 4E C8 */ addi r3, r31, 0x4ec8 -/* 80D6662C 4B 2D BE 3D */ bl reset__14dEvt_control_cFv -/* 80D66630 38 00 FF FF */ li r0, -1 -/* 80D66634 90 1E 05 B4 */ stw r0, 0x5b4(r30) -/* 80D66638 7F C3 F3 78 */ mr r3, r30 -/* 80D6663C 4B 2B 36 41 */ bl fopAcM_delete__FP10fopAc_ac_c -lbl_80D66640: -/* 80D66640 38 60 00 01 */ li r3, 1 -/* 80D66644 39 61 00 20 */ addi r11, r1, 0x20 -/* 80D66648 4B 5F BB E1 */ bl _restgpr_29 -/* 80D6664C 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80D66650 7C 08 03 A6 */ mtlr r0 -/* 80D66654 38 21 00 20 */ addi r1, r1, 0x20 -/* 80D66658 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/d_a_talk/d_a_talk/getStatus__8daTalk_cFv.s b/asm/rel/d/a/d_a_talk/d_a_talk/getStatus__8daTalk_cFv.s deleted file mode 100644 index 61b0b6f50d0..00000000000 --- a/asm/rel/d/a/d_a_talk/d_a_talk/getStatus__8daTalk_cFv.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_80D66688: -/* 80D66688 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80D6668C 7C 08 02 A6 */ mflr r0 -/* 80D66690 90 01 00 14 */ stw r0, 0x14(r1) -/* 80D66694 4B 4D 1B 99 */ bl getStatus__12dMsgObject_cFv -/* 80D66698 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80D6669C 7C 08 03 A6 */ mtlr r0 -/* 80D666A0 38 21 00 10 */ addi r1, r1, 0x10 -/* 80D666A4 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/d_a_talk/d_a_talk/messageSet__8daTalk_cFv.s b/asm/rel/d/a/d_a_talk/d_a_talk/messageSet__8daTalk_cFv.s deleted file mode 100644 index f99dbcad84b..00000000000 --- a/asm/rel/d/a/d_a_talk/d_a_talk/messageSet__8daTalk_cFv.s +++ /dev/null @@ -1,16 +0,0 @@ -lbl_80D666A8: -/* 80D666A8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80D666AC 7C 08 02 A6 */ mflr r0 -/* 80D666B0 90 01 00 14 */ stw r0, 0x14(r1) -/* 80D666B4 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80D666B8 4B 4D 1B 09 */ bl getpTalkActor__12dMsgObject_cFv -/* 80D666BC 7C 7F 1B 78 */ mr r31, r3 -/* 80D666C0 4B 4D 1B 15 */ bl getIdx__12dMsgObject_cFv -/* 80D666C4 7F E4 FB 78 */ mr r4, r31 -/* 80D666C8 38 A0 03 E8 */ li r5, 0x3e8 -/* 80D666CC 4B 2B 96 69 */ bl fopMsgM_messageSet__FUlP10fopAc_ac_cUl -/* 80D666D0 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80D666D4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80D666D8 7C 08 03 A6 */ mtlr r0 -/* 80D666DC 38 21 00 10 */ addi r1, r1, 0x10 -/* 80D666E0 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/d_a_talk/d_a_talk/setStatus__8daTalk_cFUs.s b/asm/rel/d/a/d_a_talk/d_a_talk/setStatus__8daTalk_cFUs.s deleted file mode 100644 index d9451093627..00000000000 --- a/asm/rel/d/a/d_a_talk/d_a_talk/setStatus__8daTalk_cFUs.s +++ /dev/null @@ -1,10 +0,0 @@ -lbl_80D66664: -/* 80D66664 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80D66668 7C 08 02 A6 */ mflr r0 -/* 80D6666C 90 01 00 14 */ stw r0, 0x14(r1) -/* 80D66670 7C 83 23 78 */ mr r3, r4 -/* 80D66674 4B 4D 1B 89 */ bl setStatus__12dMsgObject_cFUs -/* 80D66678 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80D6667C 7C 08 03 A6 */ mtlr r0 -/* 80D66680 38 21 00 10 */ addi r1, r1, 0x10 -/* 80D66684 4E 80 00 20 */ blr diff --git a/include/d/d_select_cursor.h b/include/d/d_select_cursor.h index 698156c485d..fcea7acd66d 100644 --- a/include/d/d_select_cursor.h +++ b/include/d/d_select_cursor.h @@ -14,8 +14,7 @@ public: /* 80195978 */ virtual ~dSelect_cursorHIO_c(); -private: - /* 0x04 */ u8 field_0x4; + /* 0x04 */ s8 field_0x4; /* 0x08 */ f32 field_0x8; /* 0x0C */ f32 mXAxisExpansion; /* 0x10 */ f32 mYAxisExpansion; @@ -58,6 +57,7 @@ public: void onPlayAnime(int i_flag) { field_0xb4 |= (1 << i_flag); } void offPlayAnime(int i_flag) { field_0xb4 &= ~(1 << i_flag); } + bool chkPlayAnime(int i_flag) { return field_0xb4 & (1 << i_flag); } void onPlayAllAnime() { field_0xb4 = 0xff; } void offPlayAllAnime() { field_0xb4 = 0; } @@ -66,9 +66,16 @@ private: /* 0x08 */ J2DPane* mpPane; /* 0x0C */ dSelect_icon_c* mpSelectIcon; /* 0x10 */ CPaneMgr* mpPaneMgr; - /* 0x14 */ u8 field_0x14[40]; + /* 0x14 */ CPaneMgr* field_0x14; + /* 0x18 */ CPaneMgr* field_0x18; + /* 0x18 */ CPaneMgr* field_0x1C[4]; + /* 0x2C */ J2DAnmTransformKey* field_0x2C; + /* 0x30 */ J2DAnmColor* field_0x30; + /* 0x34 */ J2DAnmTextureSRTKey* field_0x34[2]; /* 0x3C */ dSelect_cursorHIO_c* mpCursorHIO; - /* 0x40 */ u8 field_0x40[16]; + /* 0x40 */ f32 field_0x40; + /* 0x44 */ f32 field_0x44; + /* 0x48 */ f32 field_0x48[2]; /* 0x50 */ f32 field_0x50; /* 0x54 */ f32 field_0x54; /* 0x58 */ f32 mPositionX; @@ -78,11 +85,12 @@ private: /* 0x68 */ f32 mParam3; /* 0x6C */ f32 mParam4; /* 0x70 */ f32 mParam5; - /* 0x74 */ u8 field_0x74[32]; + /* 0x74 */ f32 field_0x74[4]; + /* 0x84 */ f32 field_0x84[4]; /* 0x94 */ f32 field_0x94[4]; /* 0xA4 */ f32 field_0xa4[4]; /* 0xB4 */ u8 field_0xb4; - /* 0xB5 */ s8 mNameIdx; + /* 0xB5 */ u8 mNameIdx; /* 0xB6 */ u8 field_0xb6; /* 0xB7 */ bool mUpdateFlag; }; diff --git a/include/d/d_select_icon.h b/include/d/d_select_icon.h index de1814657b1..34fc301b967 100644 --- a/include/d/d_select_icon.h +++ b/include/d/d_select_icon.h @@ -17,8 +17,13 @@ public: /* 80195A3C */ void animation(); /* 80195B40 */ void setAlpha(u8); /* 80195B70 */ void setPos(J2DPane*, f32, f32); + virtual ~dSelect_icon_c() {} - /* 0x00 */ u8 field_0x0[8]; + void drawSelf() { + // Not sure what field_0x4 is + } + + /* 0x04 */ u8 field_0x4[4]; /* 0x08 */ J2DScreen* field_0x8; /* 0x0C */ CPaneMgrAlpha* field_0xc; /* 0x10 */ CPaneMgr* field_0x10; diff --git a/include/rel/d/a/d_a_suspend/d_a_suspend.h b/include/rel/d/a/d_a_suspend/d_a_suspend.h index 97eb0a4a7d4..4449d0580a7 100644 --- a/include/rel/d/a/d_a_suspend/d_a_suspend.h +++ b/include/rel/d/a/d_a_suspend/d_a_suspend.h @@ -19,6 +19,8 @@ public: void setNext(data_c* i_next) { mpNext = i_next; } data_c* getNext() { return mpNext; } u8 getType() { return mType; } + bool isUsed() { return mRoomNo < 0; } + s8 getRoomNo() { return mRoomNo; } /* 0x00 */ s8 mRoomNo; /* 0x01 */ bool field_0x1; @@ -35,11 +37,12 @@ public: /* 80031190 */ void add(daSus_c::data_c*); /* 800311FC */ void reset(); /* 80031EE4 */ room_c(); + void init() { mpData = NULL; } /* 0x0 */ data_c* mpData; }; // Size: 0x4 - /* 80031248 */ static void newData(s8, cXyz const&, cXyz const&, u8, u8, u8); + /* 80031248 */ static int newData(s8, cXyz const&, cXyz const&, u8, u8, u8); /* 800313BC */ void reset(); /* 800314D4 */ static void check(fopAc_ac_c*); /* 80031434 */ static bool check(s8 i_roomNo, cXyz const& i_pos); diff --git a/include/rel/d/a/obj/d_a_obj_carry/d_a_obj_carry.h b/include/rel/d/a/obj/d_a_obj_carry/d_a_obj_carry.h index 47be9da007f..edb85d9da91 100644 --- a/include/rel/d/a/obj/d_a_obj_carry/d_a_obj_carry.h +++ b/include/rel/d/a/obj/d_a_obj_carry/d_a_obj_carry.h @@ -29,8 +29,8 @@ public: /* 80031CF8 */ static void clrSaveFlag(); /* 80031D04 */ static void setSaveFlag(); /* 80031D10 */ static bool chkSaveFlag(); - /* 80031D24 */ void getPos(int); - /* 80031D38 */ void savePos(int, cXyz); + /* 80031D24 */ static const cXyz& getPos(int); + /* 80031D38 */ static void savePos(int, cXyz); /* 80031D64 */ static void onSttsFlag(int, u8); /* 80031D78 */ static void offSttsFlag(int, u8); /* 80031D8C */ static u8 chkSttsFlag(int, u8); @@ -185,7 +185,7 @@ public: s32 getType() { return mType; } static u8 const mData[2072]; - static u8 mPos[60]; + static Vec mPos[5]; static u8 mSttsFlag[5]; static s8 mRoomNo[5]; static bool mSaveFlag; diff --git a/rel/d/a/d_a_crod/d_a_crod.cpp b/rel/d/a/d_a_crod/d_a_crod.cpp index 80264fbb54c..e031eeb2394 100644 --- a/rel/d/a/d_a_crod/d_a_crod.cpp +++ b/rel/d/a/d_a_crod/d_a_crod.cpp @@ -8,7 +8,6 @@ #include "SSystem/SComponent/c_math.h" #include "d/a/d_a_alink.h" #include "d/d_procname.h" -#include "dol2asm.h" #include "f_op/f_op_actor_mng.h" #include "rel/d/a/d_a_cstaF/d_a_cstaF.h" #include "rel/d/a/d_a_cstatue/d_a_cstatue.h" @@ -26,15 +25,12 @@ enum daCrod_ANM { /* 18 */ ANM_WAIT_C, }; -extern "C" u8 sincosTable___5JMath[65536]; - /* ############################################################################################## */ /* 804A40EC-804A40F8 000000 000C+00 2/2 0/0 0/0 .rodata @3759 */ // not sure what this is -SECTION_RODATA static u8 const lit_3759[12] = { +static u8 const lit_3759[12] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }; -COMPILER_STRIP_GATE(0x804A40EC, &lit_3759); /* 804A40F8-804A4104 00000C 000C+00 1/2 0/0 0/0 .rodata l_localRodPos */ static const Vec l_localRodPos = {81.0f, -12.5f, -12.0f}; @@ -170,25 +166,16 @@ void daCrod_c::setMatrix() { } /* 804A3500-804A3580 000740 0080+00 1/1 0/0 0/0 .text posMove__8daCrod_cFv */ -// close -#ifdef NONMATCHING void daCrod_c::posMove() { f32 cosx = cM_scos(current.angle.x); f32 cosy = cM_scos(current.angle.y); + f32 speedfy = (speedF * cosy); + //probably fake match + f32 speedz; speed.set(speedF * cM_ssin(current.angle.y) * cM_scos(current.angle.x), - speedF * cM_ssin(current.angle.x), (speedF * cosy) * cosx); + speedF * cM_ssin(current.angle.x), speedz = speedfy * cosx); current.pos += speed; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daCrod_c::posMove() { - nofralloc -#include "asm/rel/d/a/d_a_crod/d_a_crod/posMove__8daCrod_cFv.s" -} -#pragma pop -#endif /* 804A3580-804A35FC 0007C0 007C+00 2/2 0/0 0/0 .text setBckAnm__8daCrod_cFUs */ void daCrod_c::setBckAnm(u16 i_anmResID) { diff --git a/rel/d/a/d_a_talk/d_a_talk.cpp b/rel/d/a/d_a_talk/d_a_talk.cpp index 0146c7907a8..428a907aa3d 100644 --- a/rel/d/a/d_a_talk/d_a_talk.cpp +++ b/rel/d/a/d_a_talk/d_a_talk.cpp @@ -8,51 +8,16 @@ #include "d/com/d_com_inf_game.h" #include "d/d_procname.h" #include "d/msg/d_msg_object.h" -#include "dol2asm.h" #include "f_op/f_op_msg_mng.h" // // Forward References: // -extern "C" void __dt__8daTalk_cFv(); -extern "C" void create__8daTalk_cFv(); -extern "C" void execute__8daTalk_cFv(); -extern "C" bool draw__8daTalk_cFv(); -extern "C" void setStatus__8daTalk_cFUs(); -extern "C" void getStatus__8daTalk_cFv(); -extern "C" void messageSet__8daTalk_cFv(); -extern "C" static void daTalk_Create__FP10fopAc_ac_c(); -extern "C" static void daTalk_Delete__FP8daTalk_c(); -extern "C" static void daTalk_Execute__FP8daTalk_c(); -extern "C" static void daTalk_Draw__FP8daTalk_c(); - // // External References: // -extern "C" void __ct__10fopAc_ac_cFv(); -extern "C" void __dt__10fopAc_ac_cFv(); -extern "C" void fopAcM_delete__FP10fopAc_ac_c(); -extern "C" void fopAcM_searchActorDistanceXZ__FPC10fopAc_ac_cPC10fopAc_ac_c(); -extern "C" void fopMsgM_messageSet__FUlP10fopAc_ac_cUl(); -extern "C" void reset__14dEvt_control_cFv(); -extern "C" void setProcessID__12dMsgObject_cFUi(); -extern "C" void getpTalkActor__12dMsgObject_cFv(); -extern "C" void getIdx__12dMsgObject_cFv(); -extern "C" void getNodeIdx__12dMsgObject_cFv(); -extern "C" void setStatus__12dMsgObject_cFUs(); -extern "C" void getStatus__12dMsgObject_cFv(); -extern "C" void __ct__10dMsgFlow_cFv(); -extern "C" void __dt__10dMsgFlow_cFv(); -extern "C" void init__10dMsgFlow_cFP10fopAc_ac_ciiPP10fopAc_ac_c(); -extern "C" void doFlow__10dMsgFlow_cFP10fopAc_ac_cPP10fopAc_ac_ci(); -extern "C" void __dl__FPv(); -extern "C" void __copy(); -extern "C" void _savegpr_29(); -extern "C" void _restgpr_29(); -extern "C" u8 dist_table__12dAttention_c[6552]; - // // Declarations: // @@ -79,10 +44,9 @@ int daTalk_c::create() { } /* 80D664AC-80D6665C 0001AC 01B0+00 1/1 0/0 0/0 .text execute__8daTalk_cFv */ -// g_dComIfG_gameInfo.play.mEvent being reloaded when it shouldnt be -#ifdef NONMATCHING int daTalk_c::execute() { - if (i_dComIfGp_event_runCheck()) { + dComIfG_inf_c& dcomif = g_dComIfG_gameInfo; + if (dcomif.play.getEvent().runCheck()) { if (!mEvtInfo.checkCommandTalk()) { fopAcM_delete(this); } @@ -104,7 +68,7 @@ int daTalk_c::execute() { } else if (getStatus() == 14) { setStatus(16); } else if (getStatus() == 18) { - i_dComIfGp_event_reset(); + dcomif.play.getEvent().reset(); setStatus(19); mMessageID = -1; fopAcM_delete(this); @@ -113,7 +77,7 @@ int daTalk_c::execute() { mMsgFlow.init(this, dMsgObject_getMsgObjectClass()->getNodeIdx(), 0, NULL); mMessageID = 2; } else if (mMsgFlow.doFlow(dMsgObject_getMsgObjectClass()->getpTalkActor(), NULL, 0)) { - i_dComIfGp_event_reset(); + dcomif.play.getEvent().reset(); mMessageID = -1; fopAcM_delete(this); } @@ -121,16 +85,6 @@ int daTalk_c::execute() { return 1; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm int daTalk_c::execute() { - nofralloc -#include "asm/rel/d/a/d_a_talk/d_a_talk/execute__8daTalk_cFv.s" -} -#pragma pop -#endif /* 80D6665C-80D66664 00035C 0008+00 1/1 0/0 0/0 .text draw__8daTalk_cFv */ int daTalk_c::draw() { diff --git a/src/d/com/d_com_static.cpp b/src/d/com/d_com_static.cpp index 599b7cfdb2c..cbb4dff884e 100644 --- a/src/d/com/d_com_static.cpp +++ b/src/d/com/d_com_static.cpp @@ -13,6 +13,7 @@ #include "rel/d/a/d_a_movie_player/d_a_movie_player.h" #include "rel/d/a/obj/d_a_obj_carry/d_a_obj_carry.h" #include "rel/d/a/tag/d_a_tag_magne/d_a_tag_magne.h" +#include "rel/d/a/tag/d_a_tag_stream/d_a_tag_stream.h" // // Types: @@ -24,12 +25,6 @@ struct daYkgr_c { static u8 m_emitter[4]; }; -struct daTagStream_c { - /* 800318B4 */ void checkArea(cXyz const*); - - static u8 m_top[4]; -}; - struct daTagMist_c { /* 80031CF0 */ static u8 getPlayerNo(); @@ -46,21 +41,35 @@ struct daObjMovebox { }; }; -struct daMirror_c { - /* 8003194C */ void entry(J3DModel*); - /* 80031990 */ void remove(); +struct dMirror_packet_c { +}; - static u8 m_entryModel[12]; - static u8 m_myObj[4]; +struct daMirror_c: fopAc_ac_c { + /* 8003194C */ static int entry(J3DModel*); + /* 80031990 */ static int remove(); + + typedef int (daMirror_c::*entryModelFunc)(J3DModel*); + static entryModelFunc m_entryModel; + static daMirror_c* m_myObj; +}; + +struct dFlower_packet_c { + typedef void (dFlower_packet_c::*DeleteRoomFunc)(int); + static DeleteRoomFunc m_deleteRoom; +}; + +struct dGrass_packet_c { + typedef void (dGrass_packet_c::*DeleteRoomFunc)(int); + static DeleteRoomFunc m_deleteRoom; }; struct daGrass_c { - /* 800319C8 */ void deleteRoomGrass(int); - /* 80031A20 */ void deleteRoomFlower(int); + /* 800319C8 */ static void deleteRoomGrass(int); + /* 80031A20 */ static void deleteRoomFlower(int); static u8 m_myObj[4]; - static u8 m_grass[4]; - static u8 m_flower[4]; + static dGrass_packet_c* m_grass; + static dFlower_packet_c* m_flower; }; struct daDsh_c { @@ -75,14 +84,6 @@ struct daDsh_c { static f32 CLOSE_BOUND_RATIO; }; -struct dGrass_packet_c { - static u8 m_deleteRoom[12]; -}; - -struct dFlower_packet_c { - static u8 m_deleteRoom[12]; -}; - // // Forward References: // @@ -276,8 +277,6 @@ void daSus_c::data_c::execute() { } /* 80031190-800311FC 02BAD0 006C+00 1/1 0/0 0/0 .text add__Q27daSus_c6room_cFPQ27daSus_c6data_c */ -// instruction reorder -#ifdef NONMATCHING void daSus_c::room_c::add(daSus_c::data_c* i_data) { if (mpData == NULL) { mpData = i_data; @@ -293,7 +292,8 @@ void daSus_c::room_c::add(daSus_c::data_c* i_data) { daSus_c::data_c* data1 = mpData; daSus_c::data_c* data2 = data1->getNext(); - while (data1->getType() == 0 && data2 != NULL) { + while (data2 != NULL) { + if (data1->getType() != 0) break; data1 = data2; data2 = data2->getNext(); } @@ -301,16 +301,6 @@ void daSus_c::room_c::add(daSus_c::data_c* i_data) { i_data->setNext(data1->getNext()); data1->setNext(i_data); } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daSus_c::room_c::add(daSus_c::data_c* param_0) { - nofralloc -#include "asm/d/com/d_com_static/add__Q27daSus_c6room_cFPQ27daSus_c6data_c.s" -} -#pragma pop -#endif /* 800311FC-80031248 02BB3C 004C+00 0/0 0/0 1/1 .text reset__Q27daSus_c6room_cFv */ void daSus_c::room_c::reset() { @@ -338,55 +328,102 @@ s16 m_count__9daArrow_c; s16 daSus_c::mSetTop; /* 80031248-800313BC 02BB88 0174+00 0/0 0/0 1/1 .text newData__7daSus_cFScRC4cXyzRC4cXyzUcUcUc */ +// Issues with mSetTop and m_count__9daArrow_c relocation +#ifdef NONMATCHING +int daSus_c::newData(s8 i_roomNo, cXyz const& param_1, cXyz const& param_2, u8 param_3, + u8 param_4, u8 i_type) { + s16 setTop = mSetTop; + daSus_c::data_c* pData = ((daSus_c::data_c*)mData) + setTop; + for (s16 i = setTop; i < 32; pData++, i++) { + if (pData->isUsed()) { + pData->set(i_roomNo, param_1, param_2, param_3, param_4, i_type); + daSus_c::room_c* pRoom = ((daSus_c::room_c*)mRoom) + i_roomNo; + pRoom->add(pData); + mSetTop = (i + 1) % 32; + return 1; + } + } + + pData = ((daSus_c::data_c*)mData); + for (s16 i = 0; i < setTop; pData++, i++) { + if (pData->isUsed()) { + pData->set(i_roomNo, param_1, param_2, param_3, param_4, i_type); + ((daSus_c::room_c*)mRoom)[i_roomNo].add(pData); + mSetTop = (i + 1) % 32; + return 1; + } + } + + return 0; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daSus_c::newData(s8 param_0, cXyz const& param_1, cXyz const& param_2, u8 param_3, +asm int daSus_c::newData(s8 param_0, cXyz const& param_1, cXyz const& param_2, u8 param_3, u8 param_4, u8 param_5) { nofralloc #include "asm/d/com/d_com_static/newData__7daSus_cFScRC4cXyzRC4cXyzUcUcUc.s" } #pragma pop +#endif /* 800313BC-80031434 02BCFC 0078+00 0/0 1/1 0/0 .text reset__7daSus_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daSus_c::reset() { - nofralloc -#include "asm/d/com/d_com_static/reset__7daSus_cFv.s" +void daSus_c::reset() { + daSus_c::data_c* pData = (daSus_c::data_c*)mData; + for (int i = 0; i < 0x20; i++, pData++) { + pData->reset(); + } + + daSus_c::room_c* pRoom = (daSus_c::room_c*)mRoom; + for (int i = 0; i < 0x40; i++, pRoom++) { + pRoom->init(); + } } -#pragma pop /* 80031434-800314D4 02BD74 00A0+00 0/0 4/4 0/0 .text check__7daSus_cFScRC4cXyz */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm bool daSus_c::check(s8 i_roomNo, cXyz const& i_pos) { - nofralloc -#include "asm/d/com/d_com_static/check__7daSus_cFScRC4cXyz.s" +bool daSus_c::check(s8 i_roomNo, cXyz const& i_pos) { + daSus_c::data_c* pData = (daSus_c::data_c*)mData; + for (s16 i = 0; i < 0x20; pData++, i++) { + if (!pData->isUsed() && i_roomNo == pData->getRoomNo() && pData->getType()) { + if (pData->check(i_pos)) { + return true; + } + } + } + return false; } -#pragma pop /* 800314D4-800315A4 02BE14 00D0+00 0/0 1/1 0/0 .text check__7daSus_cFP10fopAc_ac_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daSus_c::check(fopAc_ac_c* param_0) { - nofralloc -#include "asm/d/com/d_com_static/check__7daSus_cFP10fopAc_ac_c.s" +void daSus_c::check(fopAc_ac_c* i_actor) { + if (fopAcM_GetGroup(i_actor) != 1 && fopAcM_GetGroup(i_actor) != 5) { + daSus_c::data_c* pData = (daSus_c::data_c*)mData; + u8 res = 0; + for (s16 i = 0; i < 0x20; pData++, i++) { + if (!pData->isUsed() && pData->getType() == 0) { + res |= pData->check(i_actor); + } + } + + if ((res & 0x80) != 0) { + if ((res & 3) == 3) { + fopAcM_OnStatus(i_actor, 0x20000000); + } else { + fopAcM_OffStatus(i_actor, 0x20000000); + } + } + } } -#pragma pop /* 800315A4-8003160C 02BEE4 0068+00 0/0 2/2 0/0 .text execute__7daSus_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daSus_c::execute() { - nofralloc -#include "asm/d/com/d_com_static/execute__7daSus_cFv.s" +void daSus_c::execute() { + daSus_c::data_c* pData = (daSus_c::data_c*)mData; + for (s16 i = 0; i < 0x20; pData++, i++) { + if (!pData->isUsed()) { + pData->execute(); + } + } } -#pragma pop /* 8003160C-80031648 02BF4C 003C+00 0/0 0/0 1/1 .text daNpcMsg_setEvtNum__FUc */ int daNpcMsg_setEvtNum(u8 iEvtNum) { @@ -514,91 +551,80 @@ SECTION_SDATA2 f32 daDsh_c::CLOSE_BOUND_SPEED = 30.0f; /* 80451D50-80451D54 000350 0004+00 0/0 0/0 1/1 .sdata2 CLOSE_BOUND_RATIO__7daDsh_c */ SECTION_SDATA2 f32 daDsh_c::CLOSE_BOUND_RATIO = -0.4f; -/* 80451D54-80451D58 000354 0004+00 1/1 0/0 0/0 .sdata2 @4338 */ -SECTION_SDATA2 static u8 lit_4338[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; - /* 800318B4-8003194C 02C1F4 0098+00 0/0 1/1 0/0 .text checkArea__13daTagStream_cFPC4cXyz */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daTagStream_c::checkArea(cXyz const* param_0) { - nofralloc -#include "asm/d/com/d_com_static/checkArea__13daTagStream_cFPC4cXyz.s" +int daTagStream_c::checkArea(cXyz const* param_0) { + cXyz relativePos; + fpoAcM_relativePos(this, param_0, &relativePos); + if (relativePos.y >= 0.0f && relativePos.y <= mScale.y && + fabsf(relativePos.x) <= mScale.x && + fabsf(relativePos.z) <= mScale.z) + { + return 1; + } + return 0; } -#pragma pop /* ############################################################################################## */ /* 8042457C-80424588 05129C 000C+00 1/2 0/0 1/1 .bss m_entryModel__10daMirror_c */ -u8 daMirror_c::m_entryModel[12]; +daMirror_c::entryModelFunc daMirror_c::m_entryModel; /* 80450DA4-80450DA8 0002A4 0004+00 0/0 1/1 2/2 .sbss m_top__13daTagStream_c */ -u8 daTagStream_c::m_top[4]; +daTagStream_c* daTagStream_c::m_top; /* 80450DA8-80450DAC 0002A8 0004+00 2/2 0/0 4/4 .sbss m_myObj__10daMirror_c */ -u8 daMirror_c::m_myObj[4]; +daMirror_c* daMirror_c::m_myObj; /* 8003194C-80031990 02C28C 0044+00 0/0 1/1 9/9 .text entry__10daMirror_cFP8J3DModel */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daMirror_c::entry(J3DModel* param_0) { - nofralloc -#include "asm/d/com/d_com_static/entry__10daMirror_cFP8J3DModel.s" +int daMirror_c::entry(J3DModel* param_0) { + if (m_myObj == NULL) { + return 0; + } + return (m_myObj->*(daMirror_c::m_entryModel))(param_0); } -#pragma pop /* 80031990-800319C8 02C2D0 0038+00 0/0 0/0 2/2 .text remove__10daMirror_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daMirror_c::remove() { - nofralloc -#include "asm/d/com/d_com_static/remove__10daMirror_cFv.s" +int daMirror_c::remove() { + if (m_myObj == NULL) { + return 0; + } + + fopAcM_delete(m_myObj); + return 1; } -#pragma pop /* ############################################################################################## */ /* 80424588-80424594 0512A8 000C+00 1/2 0/0 1/1 .bss m_deleteRoom__15dGrass_packet_c */ -u8 dGrass_packet_c::m_deleteRoom[12]; +dGrass_packet_c::DeleteRoomFunc dGrass_packet_c::m_deleteRoom; /* 80450DAC-80450DB0 0002AC 0004+00 0/0 0/0 2/2 .sbss m_myObj__9daGrass_c */ u8 daGrass_c::m_myObj[4]; /* 80450DB0-80450DB4 0002B0 0004+00 1/1 0/0 11/11 .sbss m_grass__9daGrass_c */ -u8 daGrass_c::m_grass[4]; +dGrass_packet_c* daGrass_c::m_grass; /* 800319C8-80031A20 02C308 0058+00 0/0 0/0 1/1 .text deleteRoomGrass__9daGrass_cFi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daGrass_c::deleteRoomGrass(int param_0) { - nofralloc -#include "asm/d/com/d_com_static/deleteRoomGrass__9daGrass_cFi.s" +void daGrass_c::deleteRoomGrass(int param_0) { + if (m_grass) { + dGrass_packet_c::DeleteRoomFunc func = dGrass_packet_c::m_deleteRoom; + (m_grass->*(func))(param_0); + } } -#pragma pop /* ############################################################################################## */ /* 80424594-804245A0 0512B4 000C+00 1/2 0/0 1/1 .bss m_deleteRoom__16dFlower_packet_c */ -u8 dFlower_packet_c::m_deleteRoom[12]; +dFlower_packet_c::DeleteRoomFunc dFlower_packet_c::m_deleteRoom; /* 80450DB4-80450DB8 0002B4 0004+00 1/1 0/0 9/9 .sbss m_flower__9daGrass_c */ -u8 daGrass_c::m_flower[4]; +dFlower_packet_c* daGrass_c::m_flower; /* 80031A20-80031A78 02C360 0058+00 0/0 0/0 1/1 .text deleteRoomFlower__9daGrass_cFi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daGrass_c::deleteRoomFlower(int param_0) { - nofralloc -#include "asm/d/com/d_com_static/deleteRoomFlower__9daGrass_cFi.s" +void daGrass_c::deleteRoomFlower(int param_0) { + if (m_flower) { + dFlower_packet_c::DeleteRoomFunc func = dFlower_packet_c::m_deleteRoom; + (m_flower->*(func))(param_0); + } } -#pragma pop /* ############################################################################################## */ /* 80450DB8-80450DBC 0002B8 0004+00 4/4 0/0 2/2 .sbss m_myObj__6daMP_c */ @@ -713,27 +739,19 @@ static u8 lit_4480[12]; #pragma pop /* 804245AC-804245E8 0512CC 003C+00 3/4 0/0 0/0 .bss mPos__12daObjCarry_c */ -u8 daObjCarry_c::mPos[60]; +Vec daObjCarry_c::mPos[5]; /* 80031D24-80031D38 02C664 0014+00 0/0 0/0 1/1 .text getPos__12daObjCarry_cFi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daObjCarry_c::getPos(int param_0) { - nofralloc -#include "asm/d/com/d_com_static/getPos__12daObjCarry_cFi.s" +const cXyz& daObjCarry_c::getPos(int param_0) { + return *(cXyz*)&mPos[param_0]; } -#pragma pop /* 80031D38-80031D64 02C678 002C+00 0/0 0/0 2/2 .text savePos__12daObjCarry_cFi4cXyz */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daObjCarry_c::savePos(int param_0, cXyz param_1) { - nofralloc -#include "asm/d/com/d_com_static/savePos__12daObjCarry_cFi4cXyz.s" +void daObjCarry_c::savePos(int param_0, cXyz param_1) { + mPos[param_0].x = param_1.x; + mPos[param_0].y = param_1.y; + mPos[param_0].z = param_1.z; } -#pragma pop /* ############################################################################################## */ /* 80450DC4-80450DCC 0002C4 0005+03 3/3 0/0 0/0 .sbss mSttsFlag__12daObjCarry_c */ diff --git a/src/d/d_select_cursor.cpp b/src/d/d_select_cursor.cpp index 603748c8f68..090817e4cc2 100644 --- a/src/d/d_select_cursor.cpp +++ b/src/d/d_select_cursor.cpp @@ -4,19 +4,19 @@ // #include "d/d_select_cursor.h" +#include "d/com/d_com_inf_game.h" +#include "JSystem/J2DGraph/J2DAnmLoader.h" +#include "JSystem/J2DGraph/J2DAnimation.h" +#include "JSystem/J2DGraph/J2DGrafContext.h" #include "dol2asm.h" #include "dolphin/types.h" -#include "d/com/d_com_inf_game.h" +#include "dolphin/os/OS.h" #include "global.h" // // Types: // -struct J2DAnmLoaderDataBase { - /* 80308A6C */ void load(void const*); -}; - // // Forward References: // @@ -83,24 +83,7 @@ extern "C" extern void* __vt__18J2DAnmTransformKey[6]; /* ############################################################################################## */ /* 80394AA0-80394AA0 021100 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80394AA0 = "zelda_select_cursor_4parts.blo"; -SECTION_DEAD static char const* const stringBase_80394ABF = "zelda_store_select_icon.blo"; -SECTION_DEAD static char const* const stringBase_80394ADB = "zelda_map_screen_portal_icon.blo"; -SECTION_DEAD static char const* const stringBase_80394AFC = "zelda_map_screen_batsumark.blo"; -SECTION_DEAD static char const* const stringBase_80394B1B = ""; -SECTION_DEAD static char const* const stringBase_80394B1C = "zelda_store_select_icon.bck"; -SECTION_DEAD static char const* const stringBase_80394B38 = "zelda_select_cursor_4parts.bpk"; -SECTION_DEAD static char const* const stringBase_80394B57 = "zelda_store_select_icon.bpk"; -SECTION_DEAD static char const* const stringBase_80394B73 = "zelda_map_screen_portal_icon.bpk"; -SECTION_DEAD static char const* const stringBase_80394B94 = "zelda_map_screen_batsumark.bpk"; -SECTION_DEAD static char const* const stringBase_80394BB3 = "zelda_select_cursor_4parts.btk"; -SECTION_DEAD static char const* const stringBase_80394BD2 = "zelda_store_select_icon.btk"; -SECTION_DEAD static char const* const stringBase_80394BEE = "zelda_store_select_icon_02.btk"; -/* @stringBase0 padding */ -SECTION_DEAD static char const* const pad_80394C0D = "\0\0"; -#pragma pop + /* 803BB700-803BB70C 018820 000C+00 1/1 0/0 0/0 .data cNullVec__6Z2Calc */ SECTION_DATA static u8 cNullVec__6Z2Calc[12] = { @@ -110,55 +93,55 @@ SECTION_DATA static u8 cNullVec__6Z2Calc[12] = { /* 803BB70C-803BB71C -00001 0010+00 0/1 0/0 0/0 .data blo_name$3684 */ #pragma push #pragma force_active on -SECTION_DATA static void* blo_name[4] = { - (void*)&d_d_select_cursor__stringBase0, - (void*)(((char*)&d_d_select_cursor__stringBase0) + 0x1F), - (void*)(((char*)&d_d_select_cursor__stringBase0) + 0x3B), - (void*)(((char*)&d_d_select_cursor__stringBase0) + 0x5C), +SECTION_DATA static char* blo_name[4] = { + "zelda_select_cursor_4parts.blo", + "zelda_store_select_icon.blo", + "zelda_map_screen_portal_icon.blo", + "zelda_map_screen_batsumark.blo", }; #pragma pop /* 803BB71C-803BB72C -00001 0010+00 0/1 0/0 0/0 .data bck_name$3685 */ #pragma push #pragma force_active on -SECTION_DATA static void* bck_name[4] = { - (void*)(((char*)&d_d_select_cursor__stringBase0) + 0x7B), - (void*)(((char*)&d_d_select_cursor__stringBase0) + 0x7C), - (void*)(((char*)&d_d_select_cursor__stringBase0) + 0x7B), - (void*)(((char*)&d_d_select_cursor__stringBase0) + 0x7B), +SECTION_DATA static char* bck_name[4] = { + "", + "zelda_store_select_icon.bck", + "", + "", }; #pragma pop /* 803BB72C-803BB73C -00001 0010+00 0/1 0/0 0/0 .data bpk_name$3686 */ #pragma push #pragma force_active on -SECTION_DATA static void* bpk_name[4] = { - (void*)(((char*)&d_d_select_cursor__stringBase0) + 0x98), - (void*)(((char*)&d_d_select_cursor__stringBase0) + 0xB7), - (void*)(((char*)&d_d_select_cursor__stringBase0) + 0xD3), - (void*)(((char*)&d_d_select_cursor__stringBase0) + 0xF4), +SECTION_DATA static char* bpk_name[4] = { + "zelda_select_cursor_4parts.bpk", + "zelda_store_select_icon.bpk", + "zelda_map_screen_portal_icon.bpk", + "zelda_map_screen_batsumark.bpk", }; #pragma pop /* 803BB73C-803BB74C -00001 0010+00 0/1 0/0 0/0 .data btk_name$3687 */ #pragma push #pragma force_active on -SECTION_DATA static void* btk_name[4] = { - (void*)(((char*)&d_d_select_cursor__stringBase0) + 0x113), - (void*)(((char*)&d_d_select_cursor__stringBase0) + 0x132), - (void*)(((char*)&d_d_select_cursor__stringBase0) + 0x7B), - (void*)(((char*)&d_d_select_cursor__stringBase0) + 0x7B), +SECTION_DATA static char* btk_name[4] = { + "zelda_select_cursor_4parts.btk", + "zelda_store_select_icon.btk", + "", + "", }; #pragma pop /* 803BB74C-803BB78C -00001 0010+30 0/1 0/0 0/0 .data btk2_name$3688 */ #pragma push #pragma force_active on -SECTION_DATA static void* btk2_name[4 + 12 /* padding */] = { - (void*)(((char*)&d_d_select_cursor__stringBase0) + 0x7B), - (void*)(((char*)&d_d_select_cursor__stringBase0) + 0x14E), - (void*)(((char*)&d_d_select_cursor__stringBase0) + 0x7B), - (void*)(((char*)&d_d_select_cursor__stringBase0) + 0x7B), +SECTION_DATA static char* btk2_name[4 + 12 /* padding */] = { + "", + "zelda_store_select_icon_02.btk", + "", + "", /* padding */ NULL, NULL, @@ -175,6 +158,11 @@ SECTION_DATA static void* btk2_name[4 + 12 /* padding */] = { }; #pragma pop +#pragma push +#pragma force_active on +SECTION_DEAD static char const* const pad_80394C0D = "\0\0"; +#pragma pop + /* 803BB78C-803BB7A8 0188AC 0010+0C 2/2 0/0 0/0 .data __vt__16dSelect_cursor_c */ SECTION_DATA extern void* __vt__16dSelect_cursor_c[4 + 3 /* padding */] = { (void*)NULL /* RTTI */, @@ -203,6 +191,19 @@ SECTION_SDATA2 static f32 lit_3673 = 1.0f; SECTION_SDATA2 static f32 lit_3674 = 3.0f / 10.0f; /* 801941E4-80194220 18EB24 003C+00 1/1 0/0 0/0 .text __ct__19dSelect_cursorHIO_cFv */ +// matches with literals +#ifdef NONMATCHING +dSelect_cursorHIO_c::dSelect_cursorHIO_c() { + field_0x8 = 1.0f; + mXAxisExpansion = 1.0f; + mYAxisExpansion = 1.0f; + mOscillation = 3.0f / 10.0f; + field_0x18 = 1.0f; + mRatioX = 1.0f; + mRatioY = 1.0f; + mDebugON = false; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -211,12 +212,12 @@ asm dSelect_cursorHIO_c::dSelect_cursorHIO_c() { #include "asm/d/d_select_cursor/__ct__19dSelect_cursorHIO_cFv.s" } #pragma pop +#endif /* ############################################################################################## */ /* 80394A10-80394A30 021070 0020+00 1/1 0/0 0/0 .rodata corner_tag$3707 */ -SECTION_RODATA static u8 const corner_tag[32] = { - 0x6C, 0x5F, 0x75, 0x5F, 0x6E, 0x75, 0x6C, 0x6C, 0x6C, 0x5F, 0x64, 0x5F, 0x6E, 0x75, 0x6C, 0x6C, - 0x72, 0x5F, 0x75, 0x5F, 0x6E, 0x75, 0x6C, 0x6C, 0x72, 0x5F, 0x64, 0x5F, 0x6E, 0x75, 0x6C, 0x6C, +SECTION_RODATA static u64 const corner_tag[4] = { + 'l_u_null', 'l_d_null', 'r_u_null', 'r_d_null', }; COMPILER_STRIP_GATE(0x80394A10, &corner_tag); @@ -230,6 +231,150 @@ SECTION_SDATA2 static u8 lit_3808[4] = { /* 80194220-801949EC 18EB60 07CC+00 0/0 14/14 0/0 .text __ct__16dSelect_cursor_cFUcfP10JKRArchive */ +// Matches with literals +#ifdef NONMATCHING +dSelect_cursor_c::dSelect_cursor_c(u8 param_0, f32 param_1, JKRArchive* param_2) { + mpCursorHIO = new dSelect_cursorHIO_c(); + mpCursorHIO->field_0x4 = -1; + mNameIdx = 0; + field_0xb6 = param_0; + field_0xb4 = 0xff; + mUpdateFlag = true; + mpPane = NULL; + for (int i = 0; i < 4; i++) { + field_0x94[i] = 0.0f; + field_0xa4[i] = 0.0f; + field_0x74[i] = 0.0f; + field_0x84[i] = 0.0f; + } + mParam1 = mpCursorHIO->mXAxisExpansion; + mParam2 = mpCursorHIO->mYAxisExpansion; + mParam3 = mpCursorHIO->mOscillation; + mParam4 = mpCursorHIO->mRatioX; + mParam5 = mpCursorHIO->mRatioY; + + switch(field_0xb6) { + case 1: + case 2: + case 3: + case 4: + mNameIdx = 0; + break; + case 5: + mNameIdx = 2; + break; + case 6: + mNameIdx = 3; + break; + } + + if (param_2 == NULL) { + param_2 = dComIfGp_getMain2DArchive(); + } + + mpScreen = new J2DScreen(); + mpScreen->setPriority((char*) blo_name[mNameIdx], 0x20000, param_2); + dPaneClass_showNullPane(mpScreen); + + for (int i = 0; i < 4; i++) { + field_0x1C[i] = NULL; + } + + switch(mNameIdx) { + case 0: + mpPaneMgr = new CPaneMgr(mpScreen, 'n_all', 2, NULL); + mpPaneMgr->hide(); + mpPaneMgr->setAlpha(0); + + for (int i = 0; i< 4; i++) { + field_0x1C[i] = new CPaneMgr(mpScreen, ((u64*)corner_tag)[i], 0, NULL); + field_0x94[i] = mpScreen->search( ((u64*)corner_tag)[i])->getTranslateX(); + field_0xa4[i] = mpScreen->search( ((u64*)corner_tag)[i])->getTranslateY(); + field_0x74[i] = field_0x94[i]; + field_0x84[i] = field_0xa4[i]; + } + + mpPaneMgr->scale(param_1, param_1); + field_0x14 = NULL; + field_0x18 = NULL; + break; + case 1: + mpPaneMgr = new CPaneMgr(mpScreen, 'n_all', 2, NULL); + mpPaneMgr->hide(); + mpPaneMgr->setAlpha(0); + mpPaneMgr->scale(param_1, param_1); + field_0x14 = new CPaneMgr(mpScreen, 'sel_po00', 0, NULL); + field_0x14->hide(); + field_0x18 = new CPaneMgr(mpScreen, 'n_all2', 2, NULL); + break; + case 2: + mpPaneMgr = new CPaneMgr(mpScreen, 'Null', 2, NULL); + mpPaneMgr->hide(); + mpPaneMgr->setAlpha(0); + mpPaneMgr->scale(param_1, param_1); + field_0x14 = NULL; + field_0x18 = NULL; + break; + case 3: + mpPaneMgr = new CPaneMgr(mpScreen, 'batsu', 2, NULL); + mpPaneMgr->hide(); + mpPaneMgr->setAlpha(0); + mpPaneMgr->scale(param_1, param_1); + field_0x14 = NULL; + field_0x18 = NULL; + break; + } + + mpSelectIcon = NULL; + i_OSInitFastCast(); + if (strcmp(bpk_name[mNameIdx], "") != 0) { + field_0x30 = (J2DAnmColor*)J2DAnmLoaderDataBase::load(JKRFileLoader::getGlbResource(bpk_name[mNameIdx], param_2)); + field_0x30->searchUpdateMaterialID(mpScreen); + } else { + field_0x30 = NULL; + } + + field_0x44 = 0.0f; + if (strcmp(btk_name[mNameIdx], "") != 0) { + field_0x34[0] = (J2DAnmTextureSRTKey*)J2DAnmLoaderDataBase::load(JKRFileLoader::getGlbResource(btk_name[mNameIdx], param_2)); + field_0x34[0]->searchUpdateMaterialID(mpScreen); + } else { + field_0x34[0] = NULL; + } + + field_0x48[0] = 0.0f; + if (strcmp(btk2_name[mNameIdx], "") != 0) { + field_0x34[1] = (J2DAnmTextureSRTKey*)J2DAnmLoaderDataBase::load(JKRFileLoader::getGlbResource(btk2_name[mNameIdx], param_2)); + field_0x34[1]->searchUpdateMaterialID(mpScreen); + } else { + field_0x34[1] = NULL; + } + + field_0x48[1] = 0.0f; + if (strcmp(bck_name[mNameIdx], "") != 0) { + field_0x2C = (J2DAnmTransformKey*)J2DAnmLoaderDataBase::load(JKRFileLoader::getGlbResource(bck_name[mNameIdx], param_2)); + } else { + field_0x2C = NULL; + } + + field_0x40 = 0.0f; + switch(mNameIdx) { + case 1: + field_0x50 = mpScreen->search('ssel_ico')->getTranslateX(); + field_0x54 = mpScreen->search('ssel_ico')->getTranslateY(); + break; + case 0: + case 2: + case 3: + field_0x50 = 0.0f; + field_0x54 = 0.0f; + break; + } + + mPositionY = 0.0f; + mPositionX = 0.0f; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -238,16 +383,53 @@ asm dSelect_cursor_c::dSelect_cursor_c(u8 param_0, f32 param_1, JKRArchive* para #include "asm/d/d_select_cursor/__ct__16dSelect_cursor_cFUcfP10JKRArchive.s" } #pragma pop +#endif /* 801949EC-80194C30 18F32C 0244+00 1/0 0/0 0/0 .text __dt__16dSelect_cursor_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm dSelect_cursor_c::~dSelect_cursor_c() { - nofralloc -#include "asm/d/d_select_cursor/__dt__16dSelect_cursor_cFv.s" +dSelect_cursor_c::~dSelect_cursor_c() { + delete mpScreen; + mpScreen = NULL; + if (mpPaneMgr) { + delete mpPaneMgr; + mpPaneMgr = NULL; + } + for (int i = 0; i < 4; i++) { + if (field_0x1C[i]) { + delete field_0x1C[i]; + field_0x1C[i] = NULL; + } + } + if (field_0x14) { + delete field_0x14; + field_0x14 = NULL; + } + if (field_0x18) { + delete field_0x18; + field_0x18 = NULL; + } + if (mpSelectIcon) { + delete mpSelectIcon; + mpSelectIcon = NULL; + } + if (field_0x30) { + delete field_0x30; + field_0x30 = NULL; + } + for (int i = 0; i < 2; i++) { + if (field_0x34[i]) { + delete field_0x34[i]; + field_0x34[i] = NULL; + } + } + if (field_0x2C) { + delete field_0x2C; + field_0x2C = NULL; + } + if (mpCursorHIO) { + delete mpCursorHIO; + mpCursorHIO = NULL; + } } -#pragma pop /* 80194C30-80194CC0 18F570 0090+00 1/0 0/0 0/0 .text draw__16dSelect_cursor_cFv */ #ifdef NONMATCHING @@ -256,9 +438,9 @@ void dSelect_cursor_c::draw() { update(); J2DGrafContext* gphCtx = dComIfGp_getCurrentGrafPort(); gphCtx->setup2D(); - mpScreen->draw(FLOAT_LABEL(lit_3808),FLOAT_LABEL(lit_3808),gphCtx); + mpScreen->draw(0.0f, 0.0f, gphCtx); if (mpSelectIcon) { - // mpSelectIcon->drawSelf(); // inline here, but not sure how to properly define it + mpSelectIcon->drawSelf(); // inline here, but not sure how to properly define it } } #else @@ -281,6 +463,100 @@ SECTION_SDATA2 static f32 lit_4062 = 0.5f; SECTION_SDATA2 static f64 lit_4064 = 4503601774854144.0 /* cast s32 to float */; /* 80194CC0-801950F4 18F600 0434+00 1/1 0/0 0/0 .text update__16dSelect_cursor_cFv */ +// matches with literals +#ifdef NONMATCHING +void dSelect_cursor_c::update() { + f32 fVar1 = 1.0f; + if (field_0xb6 == 3) { + fVar1 = 0.5f; + } + mpPaneMgr->translate(mPositionX, mPositionY); + if (mpCursorHIO->mDebugON) { + mParam1 = mpCursorHIO->mXAxisExpansion; + mParam2 = mpCursorHIO->mYAxisExpansion; + mParam3 = mpCursorHIO->mOscillation; + mParam4 = mpCursorHIO->mRatioX; + mParam5 = mpCursorHIO->mRatioY; + } + + if (mUpdateFlag) { + if (field_0x30) { + if (chkPlayAnime(0)) { + if (mNameIdx == 1) { + field_0x44 += mpCursorHIO->field_0x8 * fVar1; + } else { + field_0x44 += fVar1; + } + + if (field_0x44 >= field_0x30->getFrameMax()) { + field_0x44 -= field_0x30->getFrameMax(); + } + + field_0x30->setFrame(field_0x44); + setBpkAnimation(field_0x30); + } else { + if (field_0x44 != 1.0f) { + field_0x44 = 1.0f; + field_0x30->setFrame(field_0x44); + setBpkAnimation(field_0x30); + } + } + } + + for (int i = 0; i < 2; i++) { + if (field_0x34[i]) { + if ((i == 0 && chkPlayAnime(2)) || (i == 1 && chkPlayAnime(3))) { + if (mNameIdx == 1) { + field_0x48[i] += mpCursorHIO->field_0x8 * fVar1; + } else { + field_0x48[i] += fVar1; + } + if (field_0x48[i] >= field_0x34[i]->getFrameMax()) { + field_0x48[i] -= field_0x34[i]->getFrameMax(); + } + + field_0x34[i]->setFrame(field_0x48[i]); + } + setBtk0Animation(field_0x34[i]); + } + } + + if (field_0x2C && chkPlayAnime(1)) { + if (mNameIdx == 1) { + field_0x40 += mpCursorHIO->field_0x8 * fVar1; + } else { + field_0x40 += fVar1; + } + if (field_0x40 >= field_0x2C->getFrameMax()) { + field_0x40 -= field_0x2C->getFrameMax(); + } + + field_0x2C->setFrame(field_0x40); + setBckAnimation(field_0x2C); + + } + + if (chkPlayAnime(1) && mNameIdx == 0) { + setCursorAnimation(); + } + + mpScreen->animation(); + } + + if (mpSelectIcon && field_0x14) { + Vec res = field_0x14->getGlobalVtxCenter(field_0x14->mPane, false, 0); + mpSelectIcon->setPos(field_0x14->getPanePtr(), res.x, res.y); + mpSelectIcon->animation(); + mpSelectIcon->setAlpha(field_0x14->getPanePtr()->getAlpha()); + } + + for (int i = 0; i < 4; i++) { + if (field_0x1C[i]) { + field_0x1C[i]->scale(mParam4, mParam5); + } + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -289,12 +565,14 @@ asm void dSelect_cursor_c::update() { #include "asm/d/d_select_cursor/update__16dSelect_cursor_cFv.s" } #pragma pop +#endif /* ############################################################################################## */ /* 80453A60-80453A64 002060 0004+00 1/1 0/0 0/0 .sdata2 @4089 */ SECTION_SDATA2 static f32 lit_4089 = -1.0f; /* 801950F4-801951B0 18FA34 00BC+00 0/0 30/30 0/0 .text setPos__16dSelect_cursor_cFffP7J2DPaneb */ +// matches with literals #ifdef NONMATCHING void dSelect_cursor_c::setPos(f32 i_posX, f32 i_posY, J2DPane* i_pane, bool i_scaleBounds) { mpPane = i_pane; @@ -304,15 +582,16 @@ void dSelect_cursor_c::setPos(f32 i_posX, f32 i_posY, J2DPane* i_pane, bool i_sc return; } - f32 width = i_pane->getWidth() * FLOAT_LABEL(lit_3673) * FLOAT_LABEL(lit_4062); - f32 height = i_pane->getHeight() * FLOAT_LABEL(lit_4062); + f32 val1 = 1.0f; + f32 width = (i_pane->getWidth()) * val1 * 0.5f; + f32 height = i_pane->getHeight() * 0.5f; if (i_scaleBounds) { width *= i_pane->getScaleX(); height *= i_pane->getScaleY(); } - f32 tmp7 = FLOAT_LABEL(lit_4089); + f32 tmp7 = -1.0f; for (int i = 0; i < 4; i++) { @@ -323,7 +602,7 @@ void dSelect_cursor_c::setPos(f32 i_posX, f32 i_posY, J2DPane* i_pane, bool i_sc field_0x94[i] *= tmp7; } - if ((i & 1) ^ (i >> 0x1f) == i >> 0x1f) { + if (i % 2 == 0) { field_0xa4[i] *= tmp7; } } @@ -351,19 +630,23 @@ void dSelect_cursor_c::setParam(f32 i_param1, f32 i_param2, f32 i_param3, f32 i_ } /* 801951C8-801952A0 18FB08 00D8+00 0/0 14/14 0/0 .text setScale__16dSelect_cursor_cFf */ +// matches with literals #ifdef NONMATCHING -// first conditional has issues void dSelect_cursor_c::setScale(f32 i_scale) { J2DPane* pane = mpPaneMgr->getPanePtr(); pane->scale(i_scale,i_scale); - s8 name_idx = mNameIdx; - if ((name_idx == 1 || name_idx < 1) || (name_idx < 0 && name_idx < 4)) { + switch (mNameIdx) { + case 1: field_0x50 = mpScreen->search('ssel_ico')->getTranslateX(); field_0x54 = mpScreen->search('ssel_ico')->getTranslateY(); - } else { + break; + case 0: + case 2: + case 3: field_0x50 = 0.0f; field_0x54 = 0.0f; + break; } } #else @@ -398,8 +681,8 @@ void dSelect_cursor_c::setAlphaRate(f32 i_alphaRate) { SECTION_SDATA2 static f32 lit_4157 = 5.0f; /* 80195330-801953CC 18FC70 009C+00 0/0 1/1 0/0 .text addAlpha__16dSelect_cursor_cFv */ -#ifdef NONMATCHING // matches with literals +#ifdef NONMATCHING int dSelect_cursor_c::addAlpha() { s16 alpha_timer = mpPaneMgr->getAlphaTimer(); @@ -412,7 +695,7 @@ int dSelect_cursor_c::addAlpha() { } else { alpha_timer++; mpPaneMgr->alphaAnimeStart(alpha_timer); - mpPaneMgr->setAlphaRate(alpha_timer/FLOAT_LABEL(lit_4157)); + mpPaneMgr->setAlphaRate(alpha_timer/5.0f); } return 0; @@ -429,8 +712,8 @@ asm int dSelect_cursor_c::addAlpha() { #endif /* 801953CC-80195460 18FD0C 0094+00 0/0 1/1 0/0 .text decAlpha__16dSelect_cursor_cFv */ -#ifdef NONMATCHING // matches with literals +#ifdef NONMATCHING int dSelect_cursor_c::decAlpha() { s16 alpha_timer = mpPaneMgr->getAlphaTimer(); @@ -442,7 +725,7 @@ int dSelect_cursor_c::decAlpha() { } else { alpha_timer--; mpPaneMgr->alphaAnimeStart(alpha_timer); - mpPaneMgr->setAlphaRate(alpha_timer/FLOAT_LABEL(lit_4157)); + mpPaneMgr->setAlphaRate(alpha_timer/5.0f); } return 0; @@ -460,49 +743,62 @@ asm int dSelect_cursor_c::decAlpha() { /* ############################################################################################## */ /* 80394A30-80394A50 021090 0020+00 1/1 0/0 0/0 .rodata tag$4181 */ -SECTION_RODATA static u8 const tag_4181[32] = { - 0x00, 0x00, 0x00, 0x00, 0x6C, 0x5F, 0x6C, 0x64, 0x00, 0x00, 0x00, 0x00, 0x6C, 0x5F, 0x6C, 0x75, - 0x00, 0x00, 0x00, 0x00, 0x6C, 0x5F, 0x72, 0x64, 0x00, 0x00, 0x00, 0x00, 0x6C, 0x5F, 0x72, 0x75, +static u64 const tag_4181[4] = { + 'l_ld', 'l_lu', 'l_rd', 'l_ru', }; -COMPILER_STRIP_GATE(0x80394A30, &tag_4181); /* 80195460-801955F0 18FDA0 0190+00 1/1 0/0 0/0 .text * setBpkAnimation__16dSelect_cursor_cFP11J2DAnmColor */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dSelect_cursor_c::setBpkAnimation(J2DAnmColor* param_0) { - nofralloc -#include "asm/d/d_select_cursor/setBpkAnimation__16dSelect_cursor_cFP11J2DAnmColor.s" +void dSelect_cursor_c::setBpkAnimation(J2DAnmColor* param_0) { + switch (mNameIdx) { + case 0: + for (int i = 0; i < 4; i++) { + mpScreen->search(tag_4181[i])->setAnimation(param_0); + } + break; + case 2: + mpScreen->search('light')->setAnimation(param_0); + mpScreen->search('back_l')->setAnimation(param_0); + break; + case 3: + mpScreen->search('batsu')->setAnimation(param_0); + break; + default: + mpScreen->search('light00')->setAnimation(param_0); + break; + } } -#pragma pop /* ############################################################################################## */ /* 80394A50-80394A90 0210B0 0040+00 1/1 0/0 0/0 .rodata tag$4197 */ -SECTION_RODATA static u8 const tag_4197[64] = { - 0x00, 0x69, 0x5F, 0x63, 0x5F, 0x6C, 0x64, 0x31, 0x00, 0x69, 0x5F, 0x63, 0x5F, 0x6C, 0x64, 0x32, - 0x00, 0x69, 0x5F, 0x63, 0x5F, 0x6C, 0x75, 0x31, 0x00, 0x69, 0x5F, 0x63, 0x5F, 0x6C, 0x75, 0x32, - 0x00, 0x69, 0x5F, 0x63, 0x5F, 0x72, 0x64, 0x31, 0x00, 0x69, 0x5F, 0x63, 0x5F, 0x72, 0x64, 0x32, - 0x00, 0x69, 0x5F, 0x63, 0x5F, 0x72, 0x75, 0x31, 0x00, 0x69, 0x5F, 0x63, 0x5F, 0x72, 0x75, 0x32, +static u64 const tag_4197[8] = { + 'i_c_ld1', 'i_c_ld2', 'i_c_lu1', 'i_c_lu2', 'i_c_rd1', 'i_c_rd2', 'i_c_ru1', 'i_c_ru2', }; -COMPILER_STRIP_GATE(0x80394A50, &tag_4197); /* 80394A90-80394AA0 0210F0 0010+00 1/1 0/0 0/0 .rodata tag$4204 */ -SECTION_RODATA static u8 const tag_4204[16] = { - 0x00, 0x00, 0x67, 0x6F, 0x6C, 0x64, 0x30, 0x31, 0x00, 0x00, 0x67, 0x6F, 0x6C, 0x64, 0x30, 0x32, +static u64 const tag_4204[2] = { + 'gold01', 'gold02', }; -COMPILER_STRIP_GATE(0x80394A90, &tag_4204); /* 801955F0-80195724 18FF30 0134+00 1/1 0/0 0/0 .text * setBtk0Animation__16dSelect_cursor_cFP19J2DAnmTextureSRTKey */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dSelect_cursor_c::setBtk0Animation(J2DAnmTextureSRTKey* param_0) { - nofralloc -#include "asm/d/d_select_cursor/setBtk0Animation__16dSelect_cursor_cFP19J2DAnmTextureSRTKey.s" +void dSelect_cursor_c::setBtk0Animation(J2DAnmTextureSRTKey* param_0) { + switch (mNameIdx) { + case 0: + for (int i = 0; i < 8; i++) { + mpScreen->search(tag_4197[i])->setAnimation(param_0); + } + break; + case 1: + for (int i = 0; i < 2; i++) { + mpScreen->search(tag_4204[i])->setAnimation(param_0); + } + break; + default: + mpScreen->search('gold01')->setAnimation(param_0); + break; + } } -#pragma pop /* ############################################################################################## */ /* 80453A68-80453A6C 002068 0004+00 1/1 0/0 0/0 .sdata2 @4237 */ @@ -512,6 +808,38 @@ SECTION_SDATA2 static f32 lit_4237 = 20.0f; SECTION_SDATA2 static f32 lit_4238 = 10.0f; /* 80195724-801958E0 190064 01BC+00 1/1 0/0 0/0 .text setCursorAnimation__16dSelect_cursor_cFv */ +// Matches without literals +#ifdef NONMATCHING +void dSelect_cursor_c::setCursorAnimation() { + f32 fVar1 = 1.0f; + if (field_0xb6 == 3) { + fVar1 = 0.5f; + } + + field_0x40 += fVar1; + if (field_0x40 >= 20.0f) { + field_0x40 -= 20.0f; + } + f32 fVar2; + f32 param3 = mParam3; + fVar2 = field_0x40; + if (fVar2 < 10.0f) { + fVar2 /= 10.0f; + } else { + fVar2 = (20.0f - fVar2) / 10.0f; + } + + for (int i = 0; i < 4; i++) { + field_0x74[i] = mParam1 * (field_0x94[i] * ((1.0f - param3) + fVar2 * param3)); + field_0x84[i] = mParam2 * (field_0xa4[i] * ((1.0f - param3) + fVar2 * param3)); + } + + moveCenter(mpScreen->search('l_u_null'), field_0x74[0], field_0x84[0]); + moveCenter(mpScreen->search('l_d_null'), field_0x74[1], field_0x84[1]); + moveCenter(mpScreen->search('r_u_null'), field_0x74[2], field_0x84[2]); + moveCenter(mpScreen->search('r_d_null'), field_0x74[3], field_0x84[3]); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -520,6 +848,7 @@ asm void dSelect_cursor_c::setCursorAnimation() { #include "asm/d/d_select_cursor/setCursorAnimation__16dSelect_cursor_cFv.s" } #pragma pop +#endif /* 801958E0-80195940 190220 0060+00 1/1 0/0 0/0 .text * setBckAnimation__16dSelect_cursor_cFP18J2DAnmTransformKey */ @@ -534,14 +863,8 @@ void dSelect_cursor_c::moveCenter(J2DPane* i_pane, f32 i_x, f32 i_y) { } /* 80195978-801959C0 1902B8 0048+00 1/0 0/0 0/0 .text __dt__19dSelect_cursorHIO_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm dSelect_cursorHIO_c::~dSelect_cursorHIO_c() { - nofralloc -#include "asm/d/d_select_cursor/__dt__19dSelect_cursorHIO_cFv.s" +dSelect_cursorHIO_c::~dSelect_cursorHIO_c() { } -#pragma pop /* 801959C0-80195A2C 190300 006C+00 0/0 1/0 0/0 .text __dt__18J2DAnmTransformKeyFv */ #pragma push diff --git a/src/d/d_simple_model.cpp b/src/d/d_simple_model.cpp index 9ad7bf70efb..ae25d3e3549 100644 --- a/src/d/d_simple_model.cpp +++ b/src/d/d_simple_model.cpp @@ -4,8 +4,8 @@ // #include "d/d_simple_model.h" +#include "d/kankyo/d_kankyo.h" #include "d/com/d_com_inf_game.h" -#include "dol2asm.h" #include "dolphin/types.h" #include "m_Do/m_Do_mtx.h" @@ -13,8 +13,6 @@ // External References: // -extern "C" extern dScnKy_env_light_c g_env_light; - // // Declarations: //