diff --git a/Progress.md b/Progress.md index c4d7b62a8c..04c2ace3e6 100644 --- a/Progress.md +++ b/Progress.md @@ -7,22 +7,22 @@ Section | Percentage | Decompiled (bytes) | Total (bytes) .init | 91.849662% | 8700 | 9472 .extab | 100.000000% | 96 | 96 .extabindex | 100.000000% | 96 | 96 -.text | 12.590531% | 452824 | 3596544 +.text | 13.006820% | 467796 | 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 | 21.791880% | 876180 | 4020672 +Total | 22.164255% | 891152 | 4020672 ## Total Section | Percentage | Decompiled (bytes) | Total (bytes) ---|---|---|--- -main.dol | 21.791880% | 876180 | 4020672 +main.dol | 22.164255% | 891152 | 4020672 RELs | 33.172039% | 3814892 | 11500324 -Total | 30.224040% | 4691072 | 15520996 +Total | 30.320503% | 4706044 | 15520996 ## RELs diff --git a/asm/JSystem/JUtility/JUTGamePad/__ct__10JUTGamePadFQ210JUTGamePad8EPadPort.s b/asm/JSystem/JUtility/JUTGamePad/__ct__10JUTGamePadFQ210JUTGamePad8EPadPort.s deleted file mode 100644 index 84acf2f0a1..0000000000 --- a/asm/JSystem/JUtility/JUTGamePad/__ct__10JUTGamePadFQ210JUTGamePad8EPadPort.s +++ /dev/null @@ -1,55 +0,0 @@ -lbl_802E06DC: -/* 802E06DC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802E06E0 7C 08 02 A6 */ mflr r0 -/* 802E06E4 90 01 00 14 */ stw r0, 0x14(r1) -/* 802E06E8 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802E06EC 93 C1 00 08 */ stw r30, 8(r1) -/* 802E06F0 7C 7E 1B 78 */ mr r30, r3 -/* 802E06F4 7C 9F 23 78 */ mr r31, r4 -/* 802E06F8 4B FF 0D 85 */ bl __ct__11JKRDisposerFv -/* 802E06FC 3C 60 80 3D */ lis r3, __vt__10JUTGamePad@ha /* 0x803CC610@ha */ -/* 802E0700 38 03 C6 10 */ addi r0, r3, __vt__10JUTGamePad@l /* 0x803CC610@l */ -/* 802E0704 90 1E 00 00 */ stw r0, 0(r30) -/* 802E0708 38 7E 00 18 */ addi r3, r30, 0x18 -/* 802E070C 48 00 09 45 */ bl clear__Q210JUTGamePad7CButtonFv -/* 802E0710 38 7E 00 48 */ addi r3, r30, 0x48 -/* 802E0714 48 00 0B 09 */ bl clear__Q210JUTGamePad6CStickFv -/* 802E0718 38 7E 00 58 */ addi r3, r30, 0x58 -/* 802E071C 48 00 0B 01 */ bl clear__Q210JUTGamePad6CStickFv -/* 802E0720 38 7E 00 68 */ addi r3, r30, 0x68 -/* 802E0724 7F C4 F3 78 */ mr r4, r30 -/* 802E0728 48 00 0E B1 */ bl clear__Q210JUTGamePad7CRumbleFP10JUTGamePad -/* 802E072C 38 7E 00 80 */ addi r3, r30, 0x80 -/* 802E0730 7F C4 F3 78 */ mr r4, r30 -/* 802E0734 4B FF B6 C9 */ bl __ct__10JSUPtrLinkFPv -/* 802E0738 38 00 00 00 */ li r0, 0 -/* 802E073C 98 1E 00 98 */ stb r0, 0x98(r30) -/* 802E0740 B3 FE 00 7C */ sth r31, 0x7c(r30) -/* 802E0744 7F C3 F3 78 */ mr r3, r30 -/* 802E0748 A8 1E 00 7C */ lha r0, 0x7c(r30) -/* 802E074C 2C 00 00 00 */ cmpwi r0, 0 -/* 802E0750 41 80 00 14 */ blt lbl_802E0764 -/* 802E0754 38 AD 8F 54 */ la r5, mPadAssign__10JUTGamePad(r13) /* 804514D4-_SDA_BASE_ */ -/* 802E0758 7C 85 F8 AE */ lbzx r4, r5, r31 -/* 802E075C 38 04 00 01 */ addi r0, r4, 1 -/* 802E0760 7C 05 F9 AE */ stbx r0, r5, r31 -lbl_802E0764: -/* 802E0764 48 00 00 F9 */ bl initList__10JUTGamePadFv -/* 802E0768 3C 60 80 43 */ lis r3, mPadList__10JUTGamePad@ha /* 0x804343E4@ha */ -/* 802E076C 38 63 43 E4 */ addi r3, r3, mPadList__10JUTGamePad@l /* 0x804343E4@l */ -/* 802E0770 38 9E 00 80 */ addi r4, r30, 0x80 -/* 802E0774 4B FF B7 D9 */ bl append__10JSUPtrListFP10JSUPtrLink -/* 802E0778 7F C3 F3 78 */ mr r3, r30 -/* 802E077C 48 00 05 5D */ bl update__10JUTGamePadFv -/* 802E0780 38 00 00 00 */ li r0, 0 -/* 802E0784 90 1E 00 90 */ stw r0, 0x90(r30) -/* 802E0788 90 1E 00 94 */ stw r0, 0x94(r30) -/* 802E078C 7F C3 F3 78 */ mr r3, r30 -/* 802E0790 48 00 01 41 */ bl clear__10JUTGamePadFv -/* 802E0794 7F C3 F3 78 */ mr r3, r30 -/* 802E0798 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802E079C 83 C1 00 08 */ lwz r30, 8(r1) -/* 802E07A0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802E07A4 7C 08 03 A6 */ mtlr r0 -/* 802E07A8 38 21 00 10 */ addi r1, r1, 0x10 -/* 802E07AC 4E 80 00 20 */ blr diff --git a/asm/JSystem/JUtility/JUTGamePad/__ct__Q210JUTGamePad6CStickFv.s b/asm/JSystem/JUtility/JUTGamePad/__ct__Q210JUTGamePad6CStickFv.s deleted file mode 100644 index 81ec36be9b..0000000000 --- a/asm/JSystem/JUtility/JUTGamePad/__ct__Q210JUTGamePad6CStickFv.s +++ /dev/null @@ -1,13 +0,0 @@ -lbl_802E1CA8: -/* 802E1CA8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802E1CAC 7C 08 02 A6 */ mflr r0 -/* 802E1CB0 90 01 00 14 */ stw r0, 0x14(r1) -/* 802E1CB4 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802E1CB8 7C 7F 1B 78 */ mr r31, r3 -/* 802E1CBC 4B FF F5 61 */ bl clear__Q210JUTGamePad6CStickFv -/* 802E1CC0 7F E3 FB 78 */ mr r3, r31 -/* 802E1CC4 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802E1CC8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802E1CCC 7C 08 03 A6 */ mtlr r0 -/* 802E1CD0 38 21 00 10 */ addi r1, r1, 0x10 -/* 802E1CD4 4E 80 00 20 */ blr diff --git a/asm/JSystem/JUtility/JUTGamePad/__ct__Q210JUTGamePad7CButtonFv.s b/asm/JSystem/JUtility/JUTGamePad/__ct__Q210JUTGamePad7CButtonFv.s deleted file mode 100644 index fbbd700367..0000000000 --- a/asm/JSystem/JUtility/JUTGamePad/__ct__Q210JUTGamePad7CButtonFv.s +++ /dev/null @@ -1,13 +0,0 @@ -lbl_802E1CD8: -/* 802E1CD8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802E1CDC 7C 08 02 A6 */ mflr r0 -/* 802E1CE0 90 01 00 14 */ stw r0, 0x14(r1) -/* 802E1CE4 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802E1CE8 7C 7F 1B 78 */ mr r31, r3 -/* 802E1CEC 4B FF F3 65 */ bl clear__Q210JUTGamePad7CButtonFv -/* 802E1CF0 7F E3 FB 78 */ mr r3, r31 -/* 802E1CF4 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802E1CF8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802E1CFC 7C 08 03 A6 */ mtlr r0 -/* 802E1D00 38 21 00 10 */ addi r1, r1, 0x10 -/* 802E1D04 4E 80 00 20 */ blr diff --git a/asm/JSystem/JUtility/JUTGamePad/__dt__10JUTGamePadFv.s b/asm/JSystem/JUtility/JUTGamePad/__dt__10JUTGamePadFv.s deleted file mode 100644 index bea6f7e66e..0000000000 --- a/asm/JSystem/JUtility/JUTGamePad/__dt__10JUTGamePadFv.s +++ /dev/null @@ -1,47 +0,0 @@ -lbl_802E07B0: -/* 802E07B0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802E07B4 7C 08 02 A6 */ mflr r0 -/* 802E07B8 90 01 00 14 */ stw r0, 0x14(r1) -/* 802E07BC 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802E07C0 93 C1 00 08 */ stw r30, 8(r1) -/* 802E07C4 7C 7E 1B 79 */ or. r30, r3, r3 -/* 802E07C8 7C 9F 23 78 */ mr r31, r4 -/* 802E07CC 41 82 00 74 */ beq lbl_802E0840 -/* 802E07D0 3C 60 80 3D */ lis r3, __vt__10JUTGamePad@ha /* 0x803CC610@ha */ -/* 802E07D4 38 03 C6 10 */ addi r0, r3, __vt__10JUTGamePad@l /* 0x803CC610@l */ -/* 802E07D8 90 1E 00 00 */ stw r0, 0(r30) -/* 802E07DC A8 BE 00 7C */ lha r5, 0x7c(r30) -/* 802E07E0 7C A0 07 35 */ extsh. r0, r5 -/* 802E07E4 41 80 00 1C */ blt lbl_802E0800 -/* 802E07E8 38 8D 8F 54 */ la r4, mPadAssign__10JUTGamePad(r13) /* 804514D4-_SDA_BASE_ */ -/* 802E07EC 7C 64 28 AE */ lbzx r3, r4, r5 -/* 802E07F0 38 03 FF FF */ addi r0, r3, -1 -/* 802E07F4 7C 04 29 AE */ stbx r0, r4, r5 -/* 802E07F8 38 00 FF FF */ li r0, -1 -/* 802E07FC B0 1E 00 7C */ sth r0, 0x7c(r30) -lbl_802E0800: -/* 802E0800 3C 60 80 43 */ lis r3, mPadList__10JUTGamePad@ha /* 0x804343E4@ha */ -/* 802E0804 38 63 43 E4 */ addi r3, r3, mPadList__10JUTGamePad@l /* 0x804343E4@l */ -/* 802E0808 38 9E 00 80 */ addi r4, r30, 0x80 -/* 802E080C 4B FF B9 51 */ bl remove__10JSUPtrListFP10JSUPtrLink -/* 802E0810 34 1E 00 80 */ addic. r0, r30, 0x80 -/* 802E0814 41 82 00 10 */ beq lbl_802E0824 -/* 802E0818 38 7E 00 80 */ addi r3, r30, 0x80 -/* 802E081C 38 80 00 00 */ li r4, 0 -/* 802E0820 4B FF B5 F5 */ bl __dt__10JSUPtrLinkFv -lbl_802E0824: -/* 802E0824 7F C3 F3 78 */ mr r3, r30 -/* 802E0828 38 80 00 00 */ li r4, 0 -/* 802E082C 4B FF 0C B9 */ bl __dt__11JKRDisposerFv -/* 802E0830 7F E0 07 35 */ extsh. r0, r31 -/* 802E0834 40 81 00 0C */ ble lbl_802E0840 -/* 802E0838 7F C3 F3 78 */ mr r3, r30 -/* 802E083C 4B FE E5 01 */ bl __dl__FPv -lbl_802E0840: -/* 802E0840 7F C3 F3 78 */ mr r3, r30 -/* 802E0844 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802E0848 83 C1 00 08 */ lwz r30, 8(r1) -/* 802E084C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802E0850 7C 08 03 A6 */ mtlr r0 -/* 802E0854 38 21 00 10 */ addi r1, r1, 0x10 -/* 802E0858 4E 80 00 20 */ blr diff --git a/asm/JSystem/JUtility/JUTGamePad/__sinit_JUTGamePad_cpp.s b/asm/JSystem/JUtility/JUTGamePad/__sinit_JUTGamePad_cpp.s deleted file mode 100644 index 6f7f120359..0000000000 --- a/asm/JSystem/JUtility/JUTGamePad/__sinit_JUTGamePad_cpp.s +++ /dev/null @@ -1,62 +0,0 @@ -lbl_802E1B60: -/* 802E1B60 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802E1B64 7C 08 02 A6 */ mflr r0 -/* 802E1B68 90 01 00 14 */ stw r0, 0x14(r1) -/* 802E1B6C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802E1B70 3C 60 80 43 */ lis r3, lit_525@ha /* 0x804343D8@ha */ -/* 802E1B74 3B E3 43 D8 */ addi r31, r3, lit_525@l /* 0x804343D8@l */ -/* 802E1B78 38 7F 00 0C */ addi r3, r31, 0xc -/* 802E1B7C 38 80 00 00 */ li r4, 0 -/* 802E1B80 4B FF A2 F5 */ bl __ct__10JSUPtrListFb -/* 802E1B84 38 7F 00 0C */ addi r3, r31, 0xc -/* 802E1B88 3C 80 80 2E */ lis r4, func_802E1D08@ha /* 0x802E1D08@ha */ -/* 802E1B8C 38 84 1D 08 */ addi r4, r4, func_802E1D08@l /* 0x802E1D08@l */ -/* 802E1B90 38 BF 00 00 */ addi r5, r31, 0 -/* 802E1B94 48 08 00 91 */ bl __register_global_object -/* 802E1B98 38 7F 00 48 */ addi r3, r31, 0x48 -/* 802E1B9C 3C 80 80 2E */ lis r4, __ct__Q210JUTGamePad7CButtonFv@ha /* 0x802E1CD8@ha */ -/* 802E1BA0 38 84 1C D8 */ addi r4, r4, __ct__Q210JUTGamePad7CButtonFv@l /* 0x802E1CD8@l */ -/* 802E1BA4 38 A0 00 00 */ li r5, 0 -/* 802E1BA8 38 C0 00 30 */ li r6, 0x30 -/* 802E1BAC 38 E0 00 04 */ li r7, 4 -/* 802E1BB0 48 08 01 B1 */ bl __construct_array -/* 802E1BB4 38 7F 01 08 */ addi r3, r31, 0x108 -/* 802E1BB8 3C 80 80 2E */ lis r4, __ct__Q210JUTGamePad6CStickFv@ha /* 0x802E1CA8@ha */ -/* 802E1BBC 38 84 1C A8 */ addi r4, r4, __ct__Q210JUTGamePad6CStickFv@l /* 0x802E1CA8@l */ -/* 802E1BC0 38 A0 00 00 */ li r5, 0 -/* 802E1BC4 38 C0 00 10 */ li r6, 0x10 -/* 802E1BC8 38 E0 00 04 */ li r7, 4 -/* 802E1BCC 48 08 01 95 */ bl __construct_array -/* 802E1BD0 38 7F 01 48 */ addi r3, r31, 0x148 -/* 802E1BD4 3C 80 80 2E */ lis r4, __ct__Q210JUTGamePad6CStickFv@ha /* 0x802E1CA8@ha */ -/* 802E1BD8 38 84 1C A8 */ addi r4, r4, __ct__Q210JUTGamePad6CStickFv@l /* 0x802E1CA8@l */ -/* 802E1BDC 38 A0 00 00 */ li r5, 0 -/* 802E1BE0 38 C0 00 10 */ li r6, 0x10 -/* 802E1BE4 38 E0 00 04 */ li r7, 4 -/* 802E1BE8 48 08 01 79 */ bl __construct_array -/* 802E1BEC 3C 60 80 00 */ lis r3, 0x8000 /* 0x800000F8@ha */ -/* 802E1BF0 80 03 00 F8 */ lwz r0, 0x00F8(r3) /* 0x800000F8@l */ -/* 802E1BF4 54 03 F0 BE */ srwi r3, r0, 2 -/* 802E1BF8 38 00 00 3C */ li r0, 0x3c -/* 802E1BFC 7C A3 03 96 */ divwu r5, r3, r0 -/* 802E1C00 38 80 00 00 */ li r4, 0 -/* 802E1C04 38 60 00 1E */ li r3, 0x1e -/* 802E1C08 7C 05 18 16 */ mulhwu r0, r5, r3 -/* 802E1C0C 7C 64 19 D6 */ mullw r3, r4, r3 -/* 802E1C10 1C 85 00 1E */ mulli r4, r5, 0x1e -/* 802E1C14 7C 00 1A 14 */ add r0, r0, r3 -/* 802E1C18 90 8D 8F 7C */ stw r4, sThreshold__Q210JUTGamePad13C3ButtonReset+4(r13) -/* 802E1C1C 90 0D 8F 78 */ stw r0, sThreshold__Q210JUTGamePad13C3ButtonReset(r13) -/* 802E1C20 38 7F 01 94 */ addi r3, r31, 0x194 -/* 802E1C24 38 80 00 00 */ li r4, 0 -/* 802E1C28 4B FF A2 4D */ bl __ct__10JSUPtrListFb -/* 802E1C2C 38 7F 01 94 */ addi r3, r31, 0x194 -/* 802E1C30 3C 80 80 2E */ lis r4, func_802E1C54@ha /* 0x802E1C54@ha */ -/* 802E1C34 38 84 1C 54 */ addi r4, r4, func_802E1C54@l /* 0x802E1C54@l */ -/* 802E1C38 38 BF 01 88 */ addi r5, r31, 0x188 -/* 802E1C3C 48 07 FF E9 */ bl __register_global_object -/* 802E1C40 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802E1C44 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802E1C48 7C 08 03 A6 */ mtlr r0 -/* 802E1C4C 38 21 00 10 */ addi r1, r1, 0x10 -/* 802E1C50 4E 80 00 20 */ blr diff --git a/asm/JSystem/JUtility/JUTGamePad/assign__10JUTGamePadFv.s b/asm/JSystem/JUtility/JUTGamePad/assign__10JUTGamePadFv.s deleted file mode 100644 index 9f2340af7c..0000000000 --- a/asm/JSystem/JUtility/JUTGamePad/assign__10JUTGamePadFv.s +++ /dev/null @@ -1,48 +0,0 @@ -lbl_802E0BBC: -/* 802E0BBC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802E0BC0 7C 08 02 A6 */ mflr r0 -/* 802E0BC4 90 01 00 14 */ stw r0, 0x14(r1) -/* 802E0BC8 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802E0BCC 7C 7F 1B 78 */ mr r31, r3 -/* 802E0BD0 39 00 00 00 */ li r8, 0 -/* 802E0BD4 38 80 00 00 */ li r4, 0 -/* 802E0BD8 3C 60 80 43 */ lis r3, mPadStatus__10JUTGamePad@ha /* 0x804343F0@ha */ -/* 802E0BDC 38 C3 43 F0 */ addi r6, r3, mPadStatus__10JUTGamePad@l /* 0x804343F0@l */ -/* 802E0BE0 38 ED 8F 54 */ la r7, mPadAssign__10JUTGamePad(r13) /* 804514D4-_SDA_BASE_ */ -/* 802E0BE4 7C E3 3B 78 */ mr r3, r7 -/* 802E0BE8 38 00 00 04 */ li r0, 4 -/* 802E0BEC 7C 09 03 A6 */ mtctr r0 -lbl_802E0BF0: -/* 802E0BF0 7C A6 22 14 */ add r5, r6, r4 -/* 802E0BF4 88 05 00 0A */ lbz r0, 0xa(r5) -/* 802E0BF8 7C 00 07 75 */ extsb. r0, r0 -/* 802E0BFC 40 82 00 4C */ bne lbl_802E0C48 -/* 802E0C00 88 03 00 00 */ lbz r0, 0(r3) -/* 802E0C04 28 00 00 00 */ cmplwi r0, 0 -/* 802E0C08 40 82 00 40 */ bne lbl_802E0C48 -/* 802E0C0C B1 1F 00 7C */ sth r8, 0x7c(r31) -/* 802E0C10 38 00 00 01 */ li r0, 1 -/* 802E0C14 7C 07 41 AE */ stbx r0, r7, r8 -/* 802E0C18 1C 88 00 30 */ mulli r4, r8, 0x30 -/* 802E0C1C 3C 60 80 43 */ lis r3, mPadButton__10JUTGamePad@ha /* 0x80434420@ha */ -/* 802E0C20 38 03 44 20 */ addi r0, r3, mPadButton__10JUTGamePad@l /* 0x80434420@l */ -/* 802E0C24 7C 60 22 14 */ add r3, r0, r4 -/* 802E0C28 80 9F 00 3C */ lwz r4, 0x3c(r31) -/* 802E0C2C 80 BF 00 40 */ lwz r5, 0x40(r31) -/* 802E0C30 80 DF 00 44 */ lwz r6, 0x44(r31) -/* 802E0C34 48 00 0E 49 */ bl setRepeat__Q210JUTGamePad7CButtonFUlUlUl -/* 802E0C38 38 7F 00 68 */ addi r3, r31, 0x68 -/* 802E0C3C 7F E4 FB 78 */ mr r4, r31 -/* 802E0C40 48 00 09 99 */ bl clear__Q210JUTGamePad7CRumbleFP10JUTGamePad -/* 802E0C44 48 00 00 14 */ b lbl_802E0C58 -lbl_802E0C48: -/* 802E0C48 39 08 00 01 */ addi r8, r8, 1 -/* 802E0C4C 38 63 00 01 */ addi r3, r3, 1 -/* 802E0C50 38 84 00 0C */ addi r4, r4, 0xc -/* 802E0C54 42 00 FF 9C */ bdnz lbl_802E0BF0 -lbl_802E0C58: -/* 802E0C58 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802E0C5C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802E0C60 7C 08 03 A6 */ mtlr r0 -/* 802E0C64 38 21 00 10 */ addi r1, r1, 0x10 -/* 802E0C68 4E 80 00 20 */ blr diff --git a/asm/JSystem/JUtility/JUTGamePad/checkCallback__19JUTGamePadLongPressFiUl.s b/asm/JSystem/JUtility/JUTGamePad/checkCallback__19JUTGamePadLongPressFiUl.s deleted file mode 100644 index 16e25b0689..0000000000 --- a/asm/JSystem/JUtility/JUTGamePad/checkCallback__19JUTGamePadLongPressFiUl.s +++ /dev/null @@ -1,27 +0,0 @@ -lbl_802E1AFC: -/* 802E1AFC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802E1B00 7C 08 02 A6 */ mflr r0 -/* 802E1B04 90 01 00 14 */ stw r0, 0x14(r1) -/* 802E1B08 7C 66 1B 78 */ mr r6, r3 -/* 802E1B0C 2C 04 00 00 */ cmpwi r4, 0 -/* 802E1B10 41 80 00 40 */ blt lbl_802E1B50 -/* 802E1B14 80 06 00 1C */ lwz r0, 0x1c(r6) -/* 802E1B18 7C 05 00 40 */ cmplw r5, r0 -/* 802E1B1C 41 80 00 34 */ blt lbl_802E1B50 -/* 802E1B20 38 00 00 01 */ li r0, 1 -/* 802E1B24 98 06 00 11 */ stb r0, 0x11(r6) -/* 802E1B28 7C 66 22 14 */ add r3, r6, r4 -/* 802E1B2C 98 03 00 48 */ stb r0, 0x48(r3) -/* 802E1B30 81 86 00 4C */ lwz r12, 0x4c(r6) -/* 802E1B34 28 0C 00 00 */ cmplwi r12, 0 -/* 802E1B38 41 82 00 18 */ beq lbl_802E1B50 -/* 802E1B3C 7C 83 23 78 */ mr r3, r4 -/* 802E1B40 7C C4 33 78 */ mr r4, r6 -/* 802E1B44 80 A6 00 50 */ lwz r5, 0x50(r6) -/* 802E1B48 7D 89 03 A6 */ mtctr r12 -/* 802E1B4C 4E 80 04 21 */ bctrl -lbl_802E1B50: -/* 802E1B50 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802E1B54 7C 08 03 A6 */ mtlr r0 -/* 802E1B58 38 21 00 10 */ addi r1, r1, 0x10 -/* 802E1B5C 4E 80 00 20 */ blr diff --git a/asm/JSystem/JUtility/JUTGamePad/checkResetSwitch__10JUTGamePadFv.s b/asm/JSystem/JUtility/JUTGamePad/checkResetSwitch__10JUTGamePadFv.s deleted file mode 100644 index 04a83bd926..0000000000 --- a/asm/JSystem/JUtility/JUTGamePad/checkResetSwitch__10JUTGamePadFv.s +++ /dev/null @@ -1,36 +0,0 @@ -lbl_802E0FA4: -/* 802E0FA4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802E0FA8 7C 08 02 A6 */ mflr r0 -/* 802E0FAC 90 01 00 14 */ stw r0, 0x14(r1) -/* 802E0FB0 88 0D 8F 81 */ lbz r0, struct_80451500+0x1(r13) -/* 802E0FB4 28 00 00 00 */ cmplwi r0, 0 -/* 802E0FB8 40 82 00 5C */ bne lbl_802E1014 -/* 802E0FBC 48 05 EE B5 */ bl OSGetResetSwitchState -/* 802E0FC0 2C 03 00 00 */ cmpwi r3, 0 -/* 802E0FC4 41 82 00 10 */ beq lbl_802E0FD4 -/* 802E0FC8 38 00 00 01 */ li r0, 1 -/* 802E0FCC 98 0D 8F 80 */ stb r0, struct_80451500+0x0(r13) -/* 802E0FD0 48 00 00 44 */ b lbl_802E1014 -lbl_802E0FD4: -/* 802E0FD4 88 0D 8F 80 */ lbz r0, struct_80451500+0x0(r13) -/* 802E0FD8 28 00 00 01 */ cmplwi r0, 1 -/* 802E0FDC 40 82 00 30 */ bne lbl_802E100C -/* 802E0FE0 38 00 00 01 */ li r0, 1 -/* 802E0FE4 98 0D 8F 81 */ stb r0, struct_80451500+0x1(r13) -/* 802E0FE8 38 00 FF FF */ li r0, -1 -/* 802E0FEC 90 0D 8F 84 */ stw r0, sResetOccurredPort__Q210JUTGamePad13C3ButtonReset(r13) -/* 802E0FF0 81 8D 8F 6C */ lwz r12, sCallback__Q210JUTGamePad13C3ButtonReset(r13) -/* 802E0FF4 28 0C 00 00 */ cmplwi r12, 0 -/* 802E0FF8 41 82 00 14 */ beq lbl_802E100C -/* 802E0FFC 38 60 FF FF */ li r3, -1 -/* 802E1000 80 8D 8F 70 */ lwz r4, sCallbackArg__Q210JUTGamePad13C3ButtonReset(r13) -/* 802E1004 7D 89 03 A6 */ mtctr r12 -/* 802E1008 4E 80 04 21 */ bctrl -lbl_802E100C: -/* 802E100C 38 00 00 00 */ li r0, 0 -/* 802E1010 98 0D 8F 80 */ stb r0, struct_80451500+0x0(r13) -lbl_802E1014: -/* 802E1014 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802E1018 7C 08 03 A6 */ mtlr r0 -/* 802E101C 38 21 00 10 */ addi r1, r1, 0x10 -/* 802E1020 4E 80 00 20 */ blr diff --git a/asm/JSystem/JUtility/JUTGamePad/clearForReset__10JUTGamePadFv.s b/asm/JSystem/JUtility/JUTGamePad/clearForReset__10JUTGamePadFv.s deleted file mode 100644 index c14b911099..0000000000 --- a/asm/JSystem/JUtility/JUTGamePad/clearForReset__10JUTGamePadFv.s +++ /dev/null @@ -1,12 +0,0 @@ -lbl_802E1024: -/* 802E1024 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802E1028 7C 08 02 A6 */ mflr r0 -/* 802E102C 90 01 00 14 */ stw r0, 0x14(r1) -/* 802E1030 38 60 00 00 */ li r3, 0 -/* 802E1034 48 00 09 A5 */ bl setEnabled__Q210JUTGamePad7CRumbleFUl -/* 802E1038 3C 60 F0 00 */ lis r3, 0xf000 -/* 802E103C 48 00 0A 5D */ bl recalibrate__10JUTGamePadFUl -/* 802E1040 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802E1044 7C 08 03 A6 */ mtlr r0 -/* 802E1048 38 21 00 10 */ addi r1, r1, 0x10 -/* 802E104C 4E 80 00 20 */ blr diff --git a/asm/JSystem/JUtility/JUTGamePad/clear__Q210JUTGamePad6CStickFv.s b/asm/JSystem/JUtility/JUTGamePad/clear__Q210JUTGamePad6CStickFv.s deleted file mode 100644 index dcf2eda337..0000000000 --- a/asm/JSystem/JUtility/JUTGamePad/clear__Q210JUTGamePad6CStickFv.s +++ /dev/null @@ -1,8 +0,0 @@ -lbl_802E121C: -/* 802E121C C0 02 C6 28 */ lfs f0, lit_1056(r2) -/* 802E1220 D0 03 00 00 */ stfs f0, 0(r3) -/* 802E1224 D0 03 00 04 */ stfs f0, 4(r3) -/* 802E1228 D0 03 00 08 */ stfs f0, 8(r3) -/* 802E122C 38 00 00 00 */ li r0, 0 -/* 802E1230 B0 03 00 0C */ sth r0, 0xc(r3) -/* 802E1234 4E 80 00 20 */ blr diff --git a/asm/JSystem/JUtility/JUTGamePad/clear__Q210JUTGamePad7CButtonFv.s b/asm/JSystem/JUtility/JUTGamePad/clear__Q210JUTGamePad7CButtonFv.s deleted file mode 100644 index b64ee906e7..0000000000 --- a/asm/JSystem/JUtility/JUTGamePad/clear__Q210JUTGamePad7CButtonFv.s +++ /dev/null @@ -1,16 +0,0 @@ -lbl_802E1050: -/* 802E1050 38 00 00 00 */ li r0, 0 -/* 802E1054 90 03 00 00 */ stw r0, 0(r3) -/* 802E1058 90 03 00 04 */ stw r0, 4(r3) -/* 802E105C 90 03 00 08 */ stw r0, 8(r3) -/* 802E1060 90 03 00 18 */ stw r0, 0x18(r3) -/* 802E1064 98 03 00 0C */ stb r0, 0xc(r3) -/* 802E1068 98 03 00 0D */ stb r0, 0xd(r3) -/* 802E106C 98 03 00 0E */ stb r0, 0xe(r3) -/* 802E1070 98 03 00 0F */ stb r0, 0xf(r3) -/* 802E1074 90 03 00 1C */ stw r0, 0x1c(r3) -/* 802E1078 90 03 00 20 */ stw r0, 0x20(r3) -/* 802E107C 90 03 00 24 */ stw r0, 0x24(r3) -/* 802E1080 90 03 00 28 */ stw r0, 0x28(r3) -/* 802E1084 90 03 00 2C */ stw r0, 0x2c(r3) -/* 802E1088 4E 80 00 20 */ blr diff --git a/asm/JSystem/JUtility/JUTGamePad/clear__Q210JUTGamePad7CRumbleFP10JUTGamePad.s b/asm/JSystem/JUtility/JUTGamePad/clear__Q210JUTGamePad7CRumbleFP10JUTGamePad.s deleted file mode 100644 index a708db816a..0000000000 --- a/asm/JSystem/JUtility/JUTGamePad/clear__Q210JUTGamePad7CRumbleFP10JUTGamePad.s +++ /dev/null @@ -1,25 +0,0 @@ -lbl_802E15D8: -/* 802E15D8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802E15DC 7C 08 02 A6 */ mflr r0 -/* 802E15E0 90 01 00 14 */ stw r0, 0x14(r1) -/* 802E15E4 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802E15E8 7C 7F 1B 78 */ mr r31, r3 -/* 802E15EC A8 04 00 7C */ lha r0, 0x7c(r4) -/* 802E15F0 7C 05 07 35 */ extsh. r5, r0 -/* 802E15F4 41 80 00 24 */ blt lbl_802E1618 -/* 802E15F8 2C 05 00 04 */ cmpwi r5, 4 -/* 802E15FC 40 80 00 1C */ bge lbl_802E1618 -/* 802E1600 38 00 00 00 */ li r0, 0 -/* 802E1604 38 6D 8F 64 */ la r3, mStatus__Q210JUTGamePad7CRumble(r13) /* 804514E4-_SDA_BASE_ */ -/* 802E1608 7C 03 29 AE */ stbx r0, r3, r5 -/* 802E160C A8 64 00 7C */ lha r3, 0x7c(r4) -/* 802E1610 38 80 00 01 */ li r4, 1 -/* 802E1614 48 00 00 79 */ bl stopMotor__Q210JUTGamePad7CRumbleFib -lbl_802E1618: -/* 802E1618 7F E3 FB 78 */ mr r3, r31 -/* 802E161C 4B FF FF 99 */ bl clear__Q210JUTGamePad7CRumbleFv -/* 802E1620 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802E1624 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802E1628 7C 08 03 A6 */ mtlr r0 -/* 802E162C 38 21 00 10 */ addi r1, r1, 0x10 -/* 802E1630 4E 80 00 20 */ blr diff --git a/asm/JSystem/JUtility/JUTGamePad/clear__Q210JUTGamePad7CRumbleFv.s b/asm/JSystem/JUtility/JUTGamePad/clear__Q210JUTGamePad7CRumbleFv.s deleted file mode 100644 index b885cde244..0000000000 --- a/asm/JSystem/JUtility/JUTGamePad/clear__Q210JUTGamePad7CRumbleFv.s +++ /dev/null @@ -1,10 +0,0 @@ -lbl_802E15B4: -/* 802E15B4 38 00 00 00 */ li r0, 0 -/* 802E15B8 90 03 00 00 */ stw r0, 0(r3) -/* 802E15BC 90 03 00 04 */ stw r0, 4(r3) -/* 802E15C0 90 03 00 08 */ stw r0, 8(r3) -/* 802E15C4 90 03 00 0C */ stw r0, 0xc(r3) -/* 802E15C8 90 03 00 10 */ stw r0, 0x10(r3) -/* 802E15CC 3C 00 F0 00 */ lis r0, 0xf000 -/* 802E15D0 90 0D 8F 68 */ stw r0, mEnabled__Q210JUTGamePad7CRumble(r13) -/* 802E15D4 4E 80 00 20 */ blr diff --git a/asm/JSystem/JUtility/JUTGamePad/func_802E1238.s b/asm/JSystem/JUtility/JUTGamePad/func_802E1238.s deleted file mode 100644 index 94bb2e9271..0000000000 --- a/asm/JSystem/JUtility/JUTGamePad/func_802E1238.s +++ /dev/null @@ -1,201 +0,0 @@ -lbl_802E1238: -/* 802E1238 94 21 FF C0 */ stwu r1, -0x40(r1) -/* 802E123C 7C 08 02 A6 */ mflr r0 -/* 802E1240 90 01 00 44 */ stw r0, 0x44(r1) -/* 802E1244 39 61 00 40 */ addi r11, r1, 0x40 -/* 802E1248 48 08 0F 95 */ bl _savegpr_29 -/* 802E124C 7C 7D 1B 78 */ mr r29, r3 -/* 802E1250 7C FE 3B 78 */ mr r30, r7 -/* 802E1254 7D 1F 43 78 */ mr r31, r8 -/* 802E1258 80 0D 83 5C */ lwz r0, sClampMode__10JUTGamePad(r13) -/* 802E125C 2C 00 00 02 */ cmpwi r0, 2 -/* 802E1260 41 82 00 2C */ beq lbl_802E128C -/* 802E1264 40 80 00 40 */ bge lbl_802E12A4 -/* 802E1268 2C 00 00 01 */ cmpwi r0, 1 -/* 802E126C 40 80 00 08 */ bge lbl_802E1274 -/* 802E1270 48 00 00 34 */ b lbl_802E12A4 -lbl_802E1274: -/* 802E1274 2C 1E 00 00 */ cmpwi r30, 0 -/* 802E1278 38 00 00 2A */ li r0, 0x2a -/* 802E127C 40 82 00 08 */ bne lbl_802E1284 -/* 802E1280 38 00 00 36 */ li r0, 0x36 -lbl_802E1284: -/* 802E1284 7C 03 03 78 */ mr r3, r0 -/* 802E1288 48 00 00 30 */ b lbl_802E12B8 -lbl_802E128C: -/* 802E128C 2C 1E 00 00 */ cmpwi r30, 0 -/* 802E1290 38 00 00 1D */ li r0, 0x1d -/* 802E1294 40 82 00 08 */ bne lbl_802E129C -/* 802E1298 38 00 00 26 */ li r0, 0x26 -lbl_802E129C: -/* 802E129C 7C 03 03 78 */ mr r3, r0 -/* 802E12A0 48 00 00 18 */ b lbl_802E12B8 -lbl_802E12A4: -/* 802E12A4 2C 1E 00 00 */ cmpwi r30, 0 -/* 802E12A8 38 00 00 39 */ li r0, 0x39 -/* 802E12AC 40 82 00 08 */ bne lbl_802E12B4 -/* 802E12B0 38 00 00 45 */ li r0, 0x45 -lbl_802E12B4: -/* 802E12B4 7C 03 03 78 */ mr r3, r0 -lbl_802E12B8: -/* 802E12B8 98 9D 00 0E */ stb r4, 0xe(r29) -/* 802E12BC 98 BD 00 0F */ stb r5, 0xf(r29) -/* 802E12C0 7C 80 07 74 */ extsb r0, r4 -/* 802E12C4 C8 42 C6 20 */ lfd f2, lit_1050(r2) -/* 802E12C8 6C 00 80 00 */ xoris r0, r0, 0x8000 -/* 802E12CC 90 01 00 14 */ stw r0, 0x14(r1) -/* 802E12D0 3C 80 43 30 */ lis r4, 0x4330 -/* 802E12D4 90 81 00 10 */ stw r4, 0x10(r1) -/* 802E12D8 C8 01 00 10 */ lfd f0, 0x10(r1) -/* 802E12DC EC 20 10 28 */ fsubs f1, f0, f2 -/* 802E12E0 6C 63 80 00 */ xoris r3, r3, 0x8000 -/* 802E12E4 90 61 00 1C */ stw r3, 0x1c(r1) -/* 802E12E8 90 81 00 18 */ stw r4, 0x18(r1) -/* 802E12EC C8 01 00 18 */ lfd f0, 0x18(r1) -/* 802E12F0 EC 00 10 28 */ fsubs f0, f0, f2 -/* 802E12F4 EC 01 00 24 */ fdivs f0, f1, f0 -/* 802E12F8 D0 1D 00 00 */ stfs f0, 0(r29) -/* 802E12FC 7C A0 07 74 */ extsb r0, r5 -/* 802E1300 6C 00 80 00 */ xoris r0, r0, 0x8000 -/* 802E1304 90 01 00 24 */ stw r0, 0x24(r1) -/* 802E1308 90 81 00 20 */ stw r4, 0x20(r1) -/* 802E130C C8 01 00 20 */ lfd f0, 0x20(r1) -/* 802E1310 EC 20 10 28 */ fsubs f1, f0, f2 -/* 802E1314 90 61 00 2C */ stw r3, 0x2c(r1) -/* 802E1318 90 81 00 28 */ stw r4, 0x28(r1) -/* 802E131C C8 01 00 28 */ lfd f0, 0x28(r1) -/* 802E1320 EC 00 10 28 */ fsubs f0, f0, f2 -/* 802E1324 EC 01 00 24 */ fdivs f0, f1, f0 -/* 802E1328 D0 1D 00 04 */ stfs f0, 4(r29) -/* 802E132C C0 1D 00 00 */ lfs f0, 0(r29) -/* 802E1330 EC 20 00 32 */ fmuls f1, f0, f0 -/* 802E1334 C0 1D 00 04 */ lfs f0, 4(r29) -/* 802E1338 EC 00 00 32 */ fmuls f0, f0, f0 -/* 802E133C EC 81 00 2A */ fadds f4, f1, f0 -/* 802E1340 C0 02 C6 28 */ lfs f0, lit_1056(r2) -/* 802E1344 FC 04 00 40 */ fcmpo cr0, f4, f0 -/* 802E1348 40 81 00 58 */ ble lbl_802E13A0 -/* 802E134C FC 00 20 34 */ frsqrte f0, f4 -/* 802E1350 C8 62 C6 30 */ lfd f3, lit_1117(r2) -/* 802E1354 FC 23 00 32 */ fmul f1, f3, f0 -/* 802E1358 C8 42 C6 38 */ lfd f2, lit_1118(r2) -/* 802E135C FC 00 00 32 */ fmul f0, f0, f0 -/* 802E1360 FC 04 00 32 */ fmul f0, f4, f0 -/* 802E1364 FC 02 00 28 */ fsub f0, f2, f0 -/* 802E1368 FC 01 00 32 */ fmul f0, f1, f0 -/* 802E136C FC 23 00 32 */ fmul f1, f3, f0 -/* 802E1370 FC 00 00 32 */ fmul f0, f0, f0 -/* 802E1374 FC 04 00 32 */ fmul f0, f4, f0 -/* 802E1378 FC 02 00 28 */ fsub f0, f2, f0 -/* 802E137C FC 01 00 32 */ fmul f0, f1, f0 -/* 802E1380 FC 23 00 32 */ fmul f1, f3, f0 -/* 802E1384 FC 00 00 32 */ fmul f0, f0, f0 -/* 802E1388 FC 04 00 32 */ fmul f0, f4, f0 -/* 802E138C FC 02 00 28 */ fsub f0, f2, f0 -/* 802E1390 FC 01 00 32 */ fmul f0, f1, f0 -/* 802E1394 FC 84 00 32 */ fmul f4, f4, f0 -/* 802E1398 FC 80 20 18 */ frsp f4, f4 -/* 802E139C 48 00 00 88 */ b lbl_802E1424 -lbl_802E13A0: -/* 802E13A0 C8 02 C6 40 */ lfd f0, lit_1119(r2) -/* 802E13A4 FC 04 00 40 */ fcmpo cr0, f4, f0 -/* 802E13A8 40 80 00 10 */ bge lbl_802E13B8 -/* 802E13AC 3C 60 80 45 */ lis r3, __float_nan@ha /* 0x80450AE0@ha */ -/* 802E13B0 C0 83 0A E0 */ lfs f4, __float_nan@l(r3) /* 0x80450AE0@l */ -/* 802E13B4 48 00 00 70 */ b lbl_802E1424 -lbl_802E13B8: -/* 802E13B8 D0 81 00 08 */ stfs f4, 8(r1) -/* 802E13BC 80 81 00 08 */ lwz r4, 8(r1) -/* 802E13C0 54 83 00 50 */ rlwinm r3, r4, 0, 1, 8 -/* 802E13C4 3C 00 7F 80 */ lis r0, 0x7f80 -/* 802E13C8 7C 03 00 00 */ cmpw r3, r0 -/* 802E13CC 41 82 00 14 */ beq lbl_802E13E0 -/* 802E13D0 40 80 00 40 */ bge lbl_802E1410 -/* 802E13D4 2C 03 00 00 */ cmpwi r3, 0 -/* 802E13D8 41 82 00 20 */ beq lbl_802E13F8 -/* 802E13DC 48 00 00 34 */ b lbl_802E1410 -lbl_802E13E0: -/* 802E13E0 54 80 02 7F */ clrlwi. r0, r4, 9 -/* 802E13E4 41 82 00 0C */ beq lbl_802E13F0 -/* 802E13E8 38 00 00 01 */ li r0, 1 -/* 802E13EC 48 00 00 28 */ b lbl_802E1414 -lbl_802E13F0: -/* 802E13F0 38 00 00 02 */ li r0, 2 -/* 802E13F4 48 00 00 20 */ b lbl_802E1414 -lbl_802E13F8: -/* 802E13F8 54 80 02 7F */ clrlwi. r0, r4, 9 -/* 802E13FC 41 82 00 0C */ beq lbl_802E1408 -/* 802E1400 38 00 00 05 */ li r0, 5 -/* 802E1404 48 00 00 10 */ b lbl_802E1414 -lbl_802E1408: -/* 802E1408 38 00 00 03 */ li r0, 3 -/* 802E140C 48 00 00 08 */ b lbl_802E1414 -lbl_802E1410: -/* 802E1410 38 00 00 04 */ li r0, 4 -lbl_802E1414: -/* 802E1414 2C 00 00 01 */ cmpwi r0, 1 -/* 802E1418 40 82 00 0C */ bne lbl_802E1424 -/* 802E141C 3C 60 80 45 */ lis r3, __float_nan@ha /* 0x80450AE0@ha */ -/* 802E1420 C0 83 0A E0 */ lfs f4, __float_nan@l(r3) /* 0x80450AE0@l */ -lbl_802E1424: -/* 802E1424 D0 9D 00 08 */ stfs f4, 8(r29) -/* 802E1428 C0 3D 00 08 */ lfs f1, 8(r29) -/* 802E142C C0 02 C6 48 */ lfs f0, lit_1120(r2) -/* 802E1430 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 802E1434 40 81 00 30 */ ble lbl_802E1464 -/* 802E1438 2C 06 00 01 */ cmpwi r6, 1 -/* 802E143C 40 82 00 20 */ bne lbl_802E145C -/* 802E1440 C0 1D 00 00 */ lfs f0, 0(r29) -/* 802E1444 EC 00 08 24 */ fdivs f0, f0, f1 -/* 802E1448 D0 1D 00 00 */ stfs f0, 0(r29) -/* 802E144C C0 3D 00 04 */ lfs f1, 4(r29) -/* 802E1450 C0 1D 00 08 */ lfs f0, 8(r29) -/* 802E1454 EC 01 00 24 */ fdivs f0, f1, f0 -/* 802E1458 D0 1D 00 04 */ stfs f0, 4(r29) -lbl_802E145C: -/* 802E145C C0 02 C6 48 */ lfs f0, lit_1120(r2) -/* 802E1460 D0 1D 00 08 */ stfs f0, 8(r29) -lbl_802E1464: -/* 802E1464 C0 1D 00 08 */ lfs f0, 8(r29) -/* 802E1468 C0 22 C6 28 */ lfs f1, lit_1056(r2) -/* 802E146C FC 00 08 40 */ fcmpo cr0, f0, f1 -/* 802E1470 40 81 00 5C */ ble lbl_802E14CC -/* 802E1474 C0 1D 00 04 */ lfs f0, 4(r29) -/* 802E1478 FC 01 00 00 */ fcmpu cr0, f1, f0 -/* 802E147C 40 82 00 28 */ bne lbl_802E14A4 -/* 802E1480 C0 1D 00 00 */ lfs f0, 0(r29) -/* 802E1484 FC 00 08 40 */ fcmpo cr0, f0, f1 -/* 802E1488 40 81 00 10 */ ble lbl_802E1498 -/* 802E148C 38 00 40 00 */ li r0, 0x4000 -/* 802E1490 B0 1D 00 0C */ sth r0, 0xc(r29) -/* 802E1494 48 00 00 38 */ b lbl_802E14CC -lbl_802E1498: -/* 802E1498 38 00 C0 00 */ li r0, -16384 -/* 802E149C B0 1D 00 0C */ sth r0, 0xc(r29) -/* 802E14A0 48 00 00 2C */ b lbl_802E14CC -lbl_802E14A4: -/* 802E14A4 C0 3D 00 00 */ lfs f1, 0(r29) -/* 802E14A8 FC 40 00 50 */ fneg f2, f0 -/* 802E14AC 48 08 B2 75 */ bl atan2 -/* 802E14B0 FC 20 08 18 */ frsp f1, f1 -/* 802E14B4 C0 02 C6 4C */ lfs f0, lit_1121(r2) -/* 802E14B8 EC 00 00 72 */ fmuls f0, f0, f1 -/* 802E14BC FC 00 00 1E */ fctiwz f0, f0 -/* 802E14C0 D8 01 00 28 */ stfd f0, 0x28(r1) -/* 802E14C4 80 01 00 2C */ lwz r0, 0x2c(r1) -/* 802E14C8 B0 1D 00 0C */ sth r0, 0xc(r29) -lbl_802E14CC: -/* 802E14CC 7F A3 EB 78 */ mr r3, r29 -/* 802E14D0 2C 1E 00 00 */ cmpwi r30, 0 -/* 802E14D4 38 00 00 10 */ li r0, 0x10 -/* 802E14D8 40 82 00 08 */ bne lbl_802E14E0 -/* 802E14DC 38 00 00 18 */ li r0, 0x18 -lbl_802E14E0: -/* 802E14E0 7F E4 04 30 */ srw r4, r31, r0 -/* 802E14E4 48 00 00 1D */ bl getButton__Q210JUTGamePad6CStickFUl -/* 802E14E8 39 61 00 40 */ addi r11, r1, 0x40 -/* 802E14EC 48 08 0D 3D */ bl _restgpr_29 -/* 802E14F0 80 01 00 44 */ lwz r0, 0x44(r1) -/* 802E14F4 7C 08 03 A6 */ mtlr r0 -/* 802E14F8 38 21 00 40 */ addi r1, r1, 0x40 -/* 802E14FC 4E 80 00 20 */ blr diff --git a/asm/JSystem/JUtility/JUTGamePad/func_802E1C54.s b/asm/JSystem/JUtility/JUTGamePad/func_802E1C54.s deleted file mode 100644 index 62add8fc7a..0000000000 --- a/asm/JSystem/JUtility/JUTGamePad/func_802E1C54.s +++ /dev/null @@ -1,23 +0,0 @@ -lbl_802E1C54: -/* 802E1C54 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802E1C58 7C 08 02 A6 */ mflr r0 -/* 802E1C5C 90 01 00 14 */ stw r0, 0x14(r1) -/* 802E1C60 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802E1C64 93 C1 00 08 */ stw r30, 8(r1) -/* 802E1C68 7C 7E 1B 79 */ or. r30, r3, r3 -/* 802E1C6C 7C 9F 23 78 */ mr r31, r4 -/* 802E1C70 41 82 00 1C */ beq lbl_802E1C8C -/* 802E1C74 38 80 00 00 */ li r4, 0 -/* 802E1C78 4B FF A2 35 */ bl __dt__10JSUPtrListFv -/* 802E1C7C 7F E0 07 35 */ extsh. r0, r31 -/* 802E1C80 40 81 00 0C */ ble lbl_802E1C8C -/* 802E1C84 7F C3 F3 78 */ mr r3, r30 -/* 802E1C88 4B FE D0 B5 */ bl __dl__FPv -lbl_802E1C8C: -/* 802E1C8C 7F C3 F3 78 */ mr r3, r30 -/* 802E1C90 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802E1C94 83 C1 00 08 */ lwz r30, 8(r1) -/* 802E1C98 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802E1C9C 7C 08 03 A6 */ mtlr r0 -/* 802E1CA0 38 21 00 10 */ addi r1, r1, 0x10 -/* 802E1CA4 4E 80 00 20 */ blr diff --git a/asm/JSystem/JUtility/JUTGamePad/func_802E1D08.s b/asm/JSystem/JUtility/JUTGamePad/func_802E1D08.s deleted file mode 100644 index debc5c06ef..0000000000 --- a/asm/JSystem/JUtility/JUTGamePad/func_802E1D08.s +++ /dev/null @@ -1,23 +0,0 @@ -lbl_802E1D08: -/* 802E1D08 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802E1D0C 7C 08 02 A6 */ mflr r0 -/* 802E1D10 90 01 00 14 */ stw r0, 0x14(r1) -/* 802E1D14 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802E1D18 93 C1 00 08 */ stw r30, 8(r1) -/* 802E1D1C 7C 7E 1B 79 */ or. r30, r3, r3 -/* 802E1D20 7C 9F 23 78 */ mr r31, r4 -/* 802E1D24 41 82 00 1C */ beq lbl_802E1D40 -/* 802E1D28 38 80 00 00 */ li r4, 0 -/* 802E1D2C 4B FF A1 81 */ bl __dt__10JSUPtrListFv -/* 802E1D30 7F E0 07 35 */ extsh. r0, r31 -/* 802E1D34 40 81 00 0C */ ble lbl_802E1D40 -/* 802E1D38 7F C3 F3 78 */ mr r3, r30 -/* 802E1D3C 4B FE D0 01 */ bl __dl__FPv -lbl_802E1D40: -/* 802E1D40 7F C3 F3 78 */ mr r3, r30 -/* 802E1D44 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802E1D48 83 C1 00 08 */ lwz r30, 8(r1) -/* 802E1D4C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802E1D50 7C 08 03 A6 */ mtlr r0 -/* 802E1D54 38 21 00 10 */ addi r1, r1, 0x10 -/* 802E1D58 4E 80 00 20 */ blr diff --git a/asm/JSystem/JUtility/JUTGamePad/getButton__Q210JUTGamePad6CStickFUl.s b/asm/JSystem/JUtility/JUTGamePad/getButton__Q210JUTGamePad6CStickFUl.s deleted file mode 100644 index 4bf09a972c..0000000000 --- a/asm/JSystem/JUtility/JUTGamePad/getButton__Q210JUTGamePad6CStickFUl.s +++ /dev/null @@ -1,52 +0,0 @@ -lbl_802E1500: -/* 802E1500 54 80 07 3E */ clrlwi r0, r4, 0x1c -/* 802E1504 C0 2D 83 64 */ lfs f1, sReleasePoint__Q210JUTGamePad6CStick(r13) -/* 802E1508 FC 80 08 50 */ fneg f4, f1 -/* 802E150C C0 43 00 00 */ lfs f2, 0(r3) -/* 802E1510 FC 04 10 40 */ fcmpo cr0, f4, f2 -/* 802E1514 40 80 00 14 */ bge lbl_802E1528 -/* 802E1518 FC 02 08 40 */ fcmpo cr0, f2, f1 -/* 802E151C 40 80 00 0C */ bge lbl_802E1528 -/* 802E1520 54 00 00 3A */ rlwinm r0, r0, 0, 0, 0x1d -/* 802E1524 48 00 00 38 */ b lbl_802E155C -lbl_802E1528: -/* 802E1528 C0 6D 83 60 */ lfs f3, sPressPoint__Q210JUTGamePad6CStick(r13) -/* 802E152C FC 00 18 50 */ fneg f0, f3 -/* 802E1530 FC 02 00 40 */ fcmpo cr0, f2, f0 -/* 802E1534 4C 40 13 82 */ cror 2, 0, 2 -/* 802E1538 40 82 00 10 */ bne lbl_802E1548 -/* 802E153C 54 00 07 FA */ rlwinm r0, r0, 0, 0x1f, 0x1d -/* 802E1540 60 00 00 01 */ ori r0, r0, 1 -/* 802E1544 48 00 00 18 */ b lbl_802E155C -lbl_802E1548: -/* 802E1548 FC 02 18 40 */ fcmpo cr0, f2, f3 -/* 802E154C 4C 41 13 82 */ cror 2, 1, 2 -/* 802E1550 40 82 00 0C */ bne lbl_802E155C -/* 802E1554 54 00 00 3C */ rlwinm r0, r0, 0, 0, 0x1e -/* 802E1558 60 00 00 02 */ ori r0, r0, 2 -lbl_802E155C: -/* 802E155C C0 43 00 04 */ lfs f2, 4(r3) -/* 802E1560 FC 04 10 40 */ fcmpo cr0, f4, f2 -/* 802E1564 40 80 00 14 */ bge lbl_802E1578 -/* 802E1568 FC 02 08 40 */ fcmpo cr0, f2, f1 -/* 802E156C 40 80 00 0C */ bge lbl_802E1578 -/* 802E1570 54 00 07 B6 */ rlwinm r0, r0, 0, 0x1e, 0x1b -/* 802E1574 48 00 00 38 */ b lbl_802E15AC -lbl_802E1578: -/* 802E1578 C0 2D 83 60 */ lfs f1, sPressPoint__Q210JUTGamePad6CStick(r13) -/* 802E157C FC 00 08 50 */ fneg f0, f1 -/* 802E1580 FC 02 00 40 */ fcmpo cr0, f2, f0 -/* 802E1584 4C 40 13 82 */ cror 2, 0, 2 -/* 802E1588 40 82 00 10 */ bne lbl_802E1598 -/* 802E158C 54 00 07 76 */ rlwinm r0, r0, 0, 0x1d, 0x1b -/* 802E1590 60 00 00 04 */ ori r0, r0, 4 -/* 802E1594 48 00 00 18 */ b lbl_802E15AC -lbl_802E1598: -/* 802E1598 FC 02 08 40 */ fcmpo cr0, f2, f1 -/* 802E159C 4C 41 13 82 */ cror 2, 1, 2 -/* 802E15A0 40 82 00 0C */ bne lbl_802E15AC -/* 802E15A4 54 00 07 B8 */ rlwinm r0, r0, 0, 0x1e, 0x1c -/* 802E15A8 60 00 00 08 */ ori r0, r0, 8 -lbl_802E15AC: -/* 802E15AC 7C 03 03 78 */ mr r3, r0 -/* 802E15B0 4E 80 00 20 */ blr diff --git a/asm/JSystem/JUtility/JUTGamePad/getGamePad__10JUTGamePadFi.s b/asm/JSystem/JUtility/JUTGamePad/getGamePad__10JUTGamePadFi.s deleted file mode 100644 index cf91b67fd3..0000000000 --- a/asm/JSystem/JUtility/JUTGamePad/getGamePad__10JUTGamePadFi.s +++ /dev/null @@ -1,19 +0,0 @@ -lbl_802E199C: -/* 802E199C 3C 80 80 43 */ lis r4, mPadList__10JUTGamePad@ha /* 0x804343E4@ha */ -/* 802E19A0 38 84 43 E4 */ addi r4, r4, mPadList__10JUTGamePad@l /* 0x804343E4@l */ -/* 802E19A4 80 84 00 00 */ lwz r4, 0(r4) -/* 802E19A8 48 00 00 20 */ b lbl_802E19C8 -lbl_802E19AC: -/* 802E19AC 80 A4 00 00 */ lwz r5, 0(r4) -/* 802E19B0 A8 05 00 7C */ lha r0, 0x7c(r5) -/* 802E19B4 7C 03 00 00 */ cmpw r3, r0 -/* 802E19B8 40 82 00 0C */ bne lbl_802E19C4 -/* 802E19BC 7C A3 2B 78 */ mr r3, r5 -/* 802E19C0 4E 80 00 20 */ blr -lbl_802E19C4: -/* 802E19C4 80 84 00 0C */ lwz r4, 0xc(r4) -lbl_802E19C8: -/* 802E19C8 28 04 00 00 */ cmplwi r4, 0 -/* 802E19CC 40 82 FF E0 */ bne lbl_802E19AC -/* 802E19D0 38 60 00 00 */ li r3, 0 -/* 802E19D4 4E 80 00 20 */ blr diff --git a/asm/JSystem/JUtility/JUTGamePad/read__10JUTGamePadFv.s b/asm/JSystem/JUtility/JUTGamePad/read__10JUTGamePadFv.s index 33bdaa60b4..94e4334ff4 100644 --- a/asm/JSystem/JUtility/JUTGamePad/read__10JUTGamePadFv.s +++ b/asm/JSystem/JUtility/JUTGamePad/read__10JUTGamePadFv.s @@ -4,8 +4,8 @@ lbl_802E08E4: /* 802E08EC 90 01 00 44 */ stw r0, 0x44(r1) /* 802E08F0 39 61 00 40 */ addi r11, r1, 0x40 /* 802E08F4 48 08 18 CD */ bl _savegpr_22 -/* 802E08F8 3C 60 80 43 */ lis r3, lit_525@ha /* 0x804343D8@ha */ -/* 802E08FC 3B E3 43 D8 */ addi r31, r3, lit_525@l /* 0x804343D8@l */ +/* 802E08F8 3C 60 80 43 */ lis r3, mPadList__10JUTGamePad-0xC@ha /* 0x804343D8@ha */ +/* 802E08FC 3B E3 43 D8 */ addi r31, r3, mPadList__10JUTGamePad-0xC@l /* 0x804343D8@l */ /* 802E0900 38 7F 00 18 */ addi r3, r31, 0x18 /* 802E0904 48 06 E5 9D */ bl PADRead /* 802E0908 90 6D 8F 60 */ stw r3, sRumbleSupported__10JUTGamePad(r13) diff --git a/asm/JSystem/JUtility/JUTGamePad/recalibrate__10JUTGamePadFUl.s b/asm/JSystem/JUtility/JUTGamePad/recalibrate__10JUTGamePadFUl.s deleted file mode 100644 index 1a615feda4..0000000000 --- a/asm/JSystem/JUtility/JUTGamePad/recalibrate__10JUTGamePadFUl.s +++ /dev/null @@ -1,28 +0,0 @@ -lbl_802E1A98: -/* 802E1A98 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802E1A9C 7C 08 02 A6 */ mflr r0 -/* 802E1AA0 90 01 00 14 */ stw r0, 0x14(r1) -/* 802E1AA4 38 80 00 00 */ li r4, 0 -/* 802E1AA8 80 ED 8F 58 */ lwz r7, sSuppressPadReset__10JUTGamePad(r13) -/* 802E1AAC 3C A0 80 3D */ lis r5, channel_mask@ha /* 0x803CC600@ha */ -/* 802E1AB0 38 C5 C6 00 */ addi r6, r5, channel_mask@l /* 0x803CC600@l */ -/* 802E1AB4 38 A0 FF FF */ li r5, -1 -/* 802E1AB8 38 00 00 04 */ li r0, 4 -/* 802E1ABC 7C 09 03 A6 */ mtctr r0 -lbl_802E1AC0: -/* 802E1AC0 7D 06 20 2E */ lwzx r8, r6, r4 -/* 802E1AC4 7C E0 40 39 */ and. r0, r7, r8 -/* 802E1AC8 41 82 00 0C */ beq lbl_802E1AD4 -/* 802E1ACC 7D 00 2A 78 */ xor r0, r8, r5 -/* 802E1AD0 7C 63 00 38 */ and r3, r3, r0 -lbl_802E1AD4: -/* 802E1AD4 38 84 00 04 */ addi r4, r4, 4 -/* 802E1AD8 42 00 FF E8 */ bdnz lbl_802E1AC0 -/* 802E1ADC 48 06 D1 61 */ bl PADRecalibrate -/* 802E1AE0 30 03 FF FF */ addic r0, r3, -1 -/* 802E1AE4 7C 00 19 10 */ subfe r0, r0, r3 -/* 802E1AE8 54 03 06 3E */ clrlwi r3, r0, 0x18 -/* 802E1AEC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802E1AF0 7C 08 03 A6 */ mtlr r0 -/* 802E1AF4 38 21 00 10 */ addi r1, r1, 0x10 -/* 802E1AF8 4E 80 00 20 */ blr diff --git a/asm/JSystem/JUtility/JUTGamePad/setEnabled__Q210JUTGamePad7CRumbleFUl.s b/asm/JSystem/JUtility/JUTGamePad/setEnabled__Q210JUTGamePad7CRumbleFUl.s deleted file mode 100644 index c45a70142a..0000000000 --- a/asm/JSystem/JUtility/JUTGamePad/setEnabled__Q210JUTGamePad7CRumbleFUl.s +++ /dev/null @@ -1,45 +0,0 @@ -lbl_802E19D8: -/* 802E19D8 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802E19DC 7C 08 02 A6 */ mflr r0 -/* 802E19E0 90 01 00 24 */ stw r0, 0x24(r1) -/* 802E19E4 39 61 00 20 */ addi r11, r1, 0x20 -/* 802E19E8 48 08 07 ED */ bl _savegpr_27 -/* 802E19EC 7C 7B 1B 78 */ mr r27, r3 -/* 802E19F0 3B 80 00 00 */ li r28, 0 -/* 802E19F4 3B C0 00 00 */ li r30, 0 -/* 802E19F8 3C 60 80 3D */ lis r3, channel_mask@ha /* 0x803CC600@ha */ -/* 802E19FC 3B A3 C6 00 */ addi r29, r3, channel_mask@l /* 0x803CC600@l */ -/* 802E1A00 3B ED 8F 64 */ la r31, mStatus__Q210JUTGamePad7CRumble(r13) /* 804514E4-_SDA_BASE_ */ -lbl_802E1A04: -/* 802E1A04 80 6D 8F 68 */ lwz r3, mEnabled__Q210JUTGamePad7CRumble(r13) -/* 802E1A08 7C 1D F0 2E */ lwzx r0, r29, r30 -/* 802E1A0C 7C 60 00 39 */ and. r0, r3, r0 -/* 802E1A10 40 82 00 38 */ bne lbl_802E1A48 -/* 802E1A14 88 1F 00 00 */ lbz r0, 0(r31) -/* 802E1A18 28 00 00 00 */ cmplwi r0, 0 -/* 802E1A1C 41 82 00 10 */ beq lbl_802E1A2C -/* 802E1A20 7F 83 E3 78 */ mr r3, r28 -/* 802E1A24 38 80 00 00 */ li r4, 0 -/* 802E1A28 4B FF FC 65 */ bl stopMotor__Q210JUTGamePad7CRumbleFib -lbl_802E1A2C: -/* 802E1A2C 7F 83 E3 78 */ mr r3, r28 -/* 802E1A30 4B FF FF 6D */ bl getGamePad__10JUTGamePadFi -/* 802E1A34 7C 64 1B 79 */ or. r4, r3, r3 -/* 802E1A38 41 82 00 10 */ beq lbl_802E1A48 -/* 802E1A3C 38 64 00 68 */ addi r3, r4, 0x68 -/* 802E1A40 A8 84 00 7C */ lha r4, 0x7c(r4) -/* 802E1A44 4B FF FF 05 */ bl stopPatternedRumble__Q210JUTGamePad7CRumbleFs -lbl_802E1A48: -/* 802E1A48 3B 9C 00 01 */ addi r28, r28, 1 -/* 802E1A4C 2C 1C 00 04 */ cmpwi r28, 4 -/* 802E1A50 3B FF 00 01 */ addi r31, r31, 1 -/* 802E1A54 3B DE 00 04 */ addi r30, r30, 4 -/* 802E1A58 41 80 FF AC */ blt lbl_802E1A04 -/* 802E1A5C 57 60 00 06 */ rlwinm r0, r27, 0, 0, 3 -/* 802E1A60 90 0D 8F 68 */ stw r0, mEnabled__Q210JUTGamePad7CRumble(r13) -/* 802E1A64 39 61 00 20 */ addi r11, r1, 0x20 -/* 802E1A68 48 08 07 B9 */ bl _restgpr_27 -/* 802E1A6C 80 01 00 24 */ lwz r0, 0x24(r1) -/* 802E1A70 7C 08 03 A6 */ mtlr r0 -/* 802E1A74 38 21 00 20 */ addi r1, r1, 0x20 -/* 802E1A78 4E 80 00 20 */ blr diff --git a/asm/JSystem/JUtility/JUTGamePad/setRepeat__Q210JUTGamePad7CButtonFUlUlUl.s b/asm/JSystem/JUtility/JUTGamePad/setRepeat__Q210JUTGamePad7CButtonFUlUlUl.s deleted file mode 100644 index a66d7617ac..0000000000 --- a/asm/JSystem/JUtility/JUTGamePad/setRepeat__Q210JUTGamePad7CButtonFUlUlUl.s +++ /dev/null @@ -1,8 +0,0 @@ -lbl_802E1A7C: -/* 802E1A7C 38 00 00 00 */ li r0, 0 -/* 802E1A80 90 03 00 20 */ stw r0, 0x20(r3) -/* 802E1A84 90 03 00 1C */ stw r0, 0x1c(r3) -/* 802E1A88 90 83 00 24 */ stw r4, 0x24(r3) -/* 802E1A8C 90 A3 00 28 */ stw r5, 0x28(r3) -/* 802E1A90 90 C3 00 2C */ stw r6, 0x2c(r3) -/* 802E1A94 4E 80 00 20 */ blr diff --git a/asm/JSystem/JUtility/JUTGamePad/startMotor__Q210JUTGamePad7CRumbleFi.s b/asm/JSystem/JUtility/JUTGamePad/startMotor__Q210JUTGamePad7CRumbleFi.s deleted file mode 100644 index 6084a77137..0000000000 --- a/asm/JSystem/JUtility/JUTGamePad/startMotor__Q210JUTGamePad7CRumbleFi.s +++ /dev/null @@ -1,24 +0,0 @@ -lbl_802E1634: -/* 802E1634 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802E1638 7C 08 02 A6 */ mflr r0 -/* 802E163C 90 01 00 14 */ stw r0, 0x14(r1) -/* 802E1640 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802E1644 7C 7F 1B 78 */ mr r31, r3 -/* 802E1648 80 AD 8F 68 */ lwz r5, mEnabled__Q210JUTGamePad7CRumble(r13) -/* 802E164C 54 60 10 3A */ slwi r0, r3, 2 -/* 802E1650 3C 80 80 3D */ lis r4, sChannelMask__Q210JUTGamePad7CRumble@ha /* 0x803CC5F0@ha */ -/* 802E1654 38 84 C5 F0 */ addi r4, r4, sChannelMask__Q210JUTGamePad7CRumble@l /* 0x803CC5F0@l */ -/* 802E1658 7C 04 00 2E */ lwzx r0, r4, r0 -/* 802E165C 7C A0 00 39 */ and. r0, r5, r0 -/* 802E1660 41 82 00 18 */ beq lbl_802E1678 -/* 802E1664 38 80 00 01 */ li r4, 1 -/* 802E1668 48 06 DB 39 */ bl PADControlMotor -/* 802E166C 38 00 00 01 */ li r0, 1 -/* 802E1670 38 6D 8F 64 */ la r3, mStatus__Q210JUTGamePad7CRumble(r13) /* 804514E4-_SDA_BASE_ */ -/* 802E1674 7C 03 F9 AE */ stbx r0, r3, r31 -lbl_802E1678: -/* 802E1678 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802E167C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802E1680 7C 08 03 A6 */ mtlr r0 -/* 802E1684 38 21 00 10 */ addi r1, r1, 0x10 -/* 802E1688 4E 80 00 20 */ blr diff --git a/asm/JSystem/JUtility/JUTGamePad/stopMotor__Q210JUTGamePad7CRumbleFib.s b/asm/JSystem/JUtility/JUTGamePad/stopMotor__Q210JUTGamePad7CRumbleFib.s deleted file mode 100644 index ce8248e888..0000000000 --- a/asm/JSystem/JUtility/JUTGamePad/stopMotor__Q210JUTGamePad7CRumbleFib.s +++ /dev/null @@ -1,29 +0,0 @@ -lbl_802E168C: -/* 802E168C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802E1690 7C 08 02 A6 */ mflr r0 -/* 802E1694 90 01 00 14 */ stw r0, 0x14(r1) -/* 802E1698 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802E169C 7C 7F 1B 78 */ mr r31, r3 -/* 802E16A0 80 CD 8F 68 */ lwz r6, mEnabled__Q210JUTGamePad7CRumble(r13) -/* 802E16A4 54 60 10 3A */ slwi r0, r3, 2 -/* 802E16A8 3C A0 80 3D */ lis r5, sChannelMask__Q210JUTGamePad7CRumble@ha /* 0x803CC5F0@ha */ -/* 802E16AC 38 A5 C5 F0 */ addi r5, r5, sChannelMask__Q210JUTGamePad7CRumble@l /* 0x803CC5F0@l */ -/* 802E16B0 7C 05 00 2E */ lwzx r0, r5, r0 -/* 802E16B4 7C C0 00 39 */ and. r0, r6, r0 -/* 802E16B8 41 82 00 2C */ beq lbl_802E16E4 -/* 802E16BC 54 80 06 3E */ clrlwi r0, r4, 0x18 -/* 802E16C0 20 00 00 00 */ subfic r0, r0, 0 -/* 802E16C4 7C 80 01 10 */ subfe r4, r0, r0 -/* 802E16C8 38 00 00 02 */ li r0, 2 -/* 802E16CC 7C 00 20 38 */ and r0, r0, r4 -/* 802E16D0 54 04 06 3E */ clrlwi r4, r0, 0x18 -/* 802E16D4 48 06 DA CD */ bl PADControlMotor -/* 802E16D8 38 00 00 00 */ li r0, 0 -/* 802E16DC 38 6D 8F 64 */ la r3, mStatus__Q210JUTGamePad7CRumble(r13) /* 804514E4-_SDA_BASE_ */ -/* 802E16E0 7C 03 F9 AE */ stbx r0, r3, r31 -lbl_802E16E4: -/* 802E16E4 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802E16E8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802E16EC 7C 08 03 A6 */ mtlr r0 -/* 802E16F0 38 21 00 10 */ addi r1, r1, 0x10 -/* 802E16F4 4E 80 00 20 */ blr diff --git a/asm/JSystem/JUtility/JUTGamePad/stopPatternedRumble__Q210JUTGamePad7CRumbleFs.s b/asm/JSystem/JUtility/JUTGamePad/stopPatternedRumble__Q210JUTGamePad7CRumbleFs.s deleted file mode 100644 index 5fb61d0d0e..0000000000 --- a/asm/JSystem/JUtility/JUTGamePad/stopPatternedRumble__Q210JUTGamePad7CRumbleFs.s +++ /dev/null @@ -1,13 +0,0 @@ -lbl_802E1948: -/* 802E1948 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802E194C 7C 08 02 A6 */ mflr r0 -/* 802E1950 90 01 00 14 */ stw r0, 0x14(r1) -/* 802E1954 38 00 00 00 */ li r0, 0 -/* 802E1958 90 03 00 04 */ stw r0, 4(r3) -/* 802E195C 7C 83 07 34 */ extsh r3, r4 -/* 802E1960 38 80 00 01 */ li r4, 1 -/* 802E1964 4B FF FD 29 */ bl stopMotor__Q210JUTGamePad7CRumbleFib -/* 802E1968 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802E196C 7C 08 03 A6 */ mtlr r0 -/* 802E1970 38 21 00 10 */ addi r1, r1, 0x10 -/* 802E1974 4E 80 00 20 */ blr diff --git a/asm/JSystem/JUtility/JUTGamePad/triggerPatternedRumble__Q210JUTGamePad7CRumbleFUl.s b/asm/JSystem/JUtility/JUTGamePad/triggerPatternedRumble__Q210JUTGamePad7CRumbleFUl.s deleted file mode 100644 index 20e7d69edf..0000000000 --- a/asm/JSystem/JUtility/JUTGamePad/triggerPatternedRumble__Q210JUTGamePad7CRumbleFUl.s +++ /dev/null @@ -1,11 +0,0 @@ -lbl_802E18A4: -/* 802E18A4 80 03 00 08 */ lwz r0, 8(r3) -/* 802E18A8 28 00 00 00 */ cmplwi r0, 0 -/* 802E18AC 4D 82 00 20 */ beqlr -/* 802E18B0 80 03 00 0C */ lwz r0, 0xc(r3) -/* 802E18B4 28 00 00 00 */ cmplwi r0, 0 -/* 802E18B8 4D 82 00 20 */ beqlr -/* 802E18BC 90 83 00 04 */ stw r4, 4(r3) -/* 802E18C0 38 00 00 00 */ li r0, 0 -/* 802E18C4 90 03 00 00 */ stw r0, 0(r3) -/* 802E18C8 4E 80 00 20 */ blr diff --git a/asm/JSystem/JUtility/JUTGamePad/update__10JUTGamePadFv.s b/asm/JSystem/JUtility/JUTGamePad/update__10JUTGamePadFv.s index 63fee90829..fa3c1044be 100644 --- a/asm/JSystem/JUtility/JUTGamePad/update__10JUTGamePadFv.s +++ b/asm/JSystem/JUtility/JUTGamePad/update__10JUTGamePadFv.s @@ -5,8 +5,8 @@ lbl_802E0CD8: /* 802E0CE4 39 61 00 20 */ addi r11, r1, 0x20 /* 802E0CE8 48 08 14 F1 */ bl _savegpr_28 /* 802E0CEC 7C 7E 1B 78 */ mr r30, r3 -/* 802E0CF0 3C 60 80 43 */ lis r3, lit_525@ha /* 0x804343D8@ha */ -/* 802E0CF4 38 63 43 D8 */ addi r3, r3, lit_525@l /* 0x804343D8@l */ +/* 802E0CF0 3C 60 80 43 */ lis r3, mPadList__10JUTGamePad-0xC@ha /* 0x804343D8@ha */ +/* 802E0CF4 38 63 43 D8 */ addi r3, r3, mPadList__10JUTGamePad-0xC@l /* 0x804343D8@l */ /* 802E0CF8 A8 9E 00 7C */ lha r4, 0x7c(r30) /* 802E0CFC 2C 04 FF FF */ cmpwi r4, -1 /* 802E0D00 41 82 02 8C */ beq lbl_802E0F8C diff --git a/asm/JSystem/JUtility/JUTGamePad/update__Q210JUTGamePad7CButtonFPC9PADStatusUl.s b/asm/JSystem/JUtility/JUTGamePad/update__Q210JUTGamePad7CButtonFPC9PADStatusUl.s deleted file mode 100644 index efd68e2e7d..0000000000 --- a/asm/JSystem/JUtility/JUTGamePad/update__Q210JUTGamePad7CButtonFPC9PADStatusUl.s +++ /dev/null @@ -1,109 +0,0 @@ -lbl_802E108C: -/* 802E108C 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802E1090 28 04 00 00 */ cmplwi r4, 0 -/* 802E1094 41 82 00 0C */ beq lbl_802E10A0 -/* 802E1098 A0 04 00 00 */ lhz r0, 0(r4) -/* 802E109C 48 00 00 08 */ b lbl_802E10A4 -lbl_802E10A0: -/* 802E10A0 38 00 00 00 */ li r0, 0 -lbl_802E10A4: -/* 802E10A4 7C A7 03 78 */ or r7, r5, r0 -/* 802E10A8 38 A0 00 00 */ li r5, 0 -/* 802E10AC 90 A3 00 18 */ stw r5, 0x18(r3) -/* 802E10B0 80 03 00 28 */ lwz r0, 0x28(r3) -/* 802E10B4 28 00 00 00 */ cmplwi r0, 0 -/* 802E10B8 41 82 00 8C */ beq lbl_802E1144 -/* 802E10BC 80 03 00 24 */ lwz r0, 0x24(r3) -/* 802E10C0 28 00 00 00 */ cmplwi r0, 0 -/* 802E10C4 41 82 00 80 */ beq lbl_802E1144 -/* 802E10C8 7C E8 00 39 */ and. r8, r7, r0 -/* 802E10CC 90 A3 00 18 */ stw r5, 0x18(r3) -/* 802E10D0 40 82 00 10 */ bne lbl_802E10E0 -/* 802E10D4 90 A3 00 20 */ stw r5, 0x20(r3) -/* 802E10D8 90 A3 00 1C */ stw r5, 0x1c(r3) -/* 802E10DC 48 00 00 68 */ b lbl_802E1144 -lbl_802E10E0: -/* 802E10E0 80 C3 00 20 */ lwz r6, 0x20(r3) -/* 802E10E4 7C 06 40 40 */ cmplw r6, r8 -/* 802E10E8 40 82 00 44 */ bne lbl_802E112C -/* 802E10EC 80 A3 00 1C */ lwz r5, 0x1c(r3) -/* 802E10F0 38 05 00 01 */ addi r0, r5, 1 -/* 802E10F4 90 03 00 1C */ stw r0, 0x1c(r3) -/* 802E10F8 80 A3 00 1C */ lwz r5, 0x1c(r3) -/* 802E10FC 80 03 00 28 */ lwz r0, 0x28(r3) -/* 802E1100 7C 05 00 40 */ cmplw r5, r0 -/* 802E1104 41 82 00 20 */ beq lbl_802E1124 -/* 802E1108 40 81 00 3C */ ble lbl_802E1144 -/* 802E110C 7C C0 28 50 */ subf r6, r0, r5 -/* 802E1110 80 A3 00 2C */ lwz r5, 0x2c(r3) -/* 802E1114 7C 06 2B 96 */ divwu r0, r6, r5 -/* 802E1118 7C 00 29 D6 */ mullw r0, r0, r5 -/* 802E111C 7C 00 30 51 */ subf. r0, r0, r6 -/* 802E1120 40 82 00 24 */ bne lbl_802E1144 -lbl_802E1124: -/* 802E1124 91 03 00 18 */ stw r8, 0x18(r3) -/* 802E1128 48 00 00 1C */ b lbl_802E1144 -lbl_802E112C: -/* 802E112C 38 00 FF FF */ li r0, -1 -/* 802E1130 7C C0 02 78 */ xor r0, r6, r0 -/* 802E1134 7D 00 00 38 */ and r0, r8, r0 -/* 802E1138 90 03 00 18 */ stw r0, 0x18(r3) -/* 802E113C 91 03 00 20 */ stw r8, 0x20(r3) -/* 802E1140 90 A3 00 1C */ stw r5, 0x1c(r3) -lbl_802E1144: -/* 802E1144 80 03 00 00 */ lwz r0, 0(r3) -/* 802E1148 7C E0 02 78 */ xor r0, r7, r0 -/* 802E114C 7C E0 00 38 */ and r0, r7, r0 -/* 802E1150 90 03 00 04 */ stw r0, 4(r3) -/* 802E1154 80 A3 00 00 */ lwz r5, 0(r3) -/* 802E1158 7C E0 2A 78 */ xor r0, r7, r5 -/* 802E115C 7C A0 00 38 */ and r0, r5, r0 -/* 802E1160 90 03 00 08 */ stw r0, 8(r3) -/* 802E1164 90 E3 00 00 */ stw r7, 0(r3) -/* 802E1168 80 C3 00 18 */ lwz r6, 0x18(r3) -/* 802E116C 80 A3 00 24 */ lwz r5, 0x24(r3) -/* 802E1170 38 00 FF FF */ li r0, -1 -/* 802E1174 7C A5 02 78 */ xor r5, r5, r0 -/* 802E1178 80 03 00 04 */ lwz r0, 4(r3) -/* 802E117C 7C A0 00 38 */ and r0, r5, r0 -/* 802E1180 7C C0 03 78 */ or r0, r6, r0 -/* 802E1184 90 03 00 18 */ stw r0, 0x18(r3) -/* 802E1188 28 04 00 00 */ cmplwi r4, 0 -/* 802E118C 41 82 00 28 */ beq lbl_802E11B4 -/* 802E1190 88 04 00 08 */ lbz r0, 8(r4) -/* 802E1194 98 03 00 0C */ stb r0, 0xc(r3) -/* 802E1198 88 04 00 09 */ lbz r0, 9(r4) -/* 802E119C 98 03 00 0D */ stb r0, 0xd(r3) -/* 802E11A0 88 04 00 06 */ lbz r0, 6(r4) -/* 802E11A4 98 03 00 0E */ stb r0, 0xe(r3) -/* 802E11A8 88 04 00 07 */ lbz r0, 7(r4) -/* 802E11AC 98 03 00 0F */ stb r0, 0xf(r3) -/* 802E11B0 48 00 00 18 */ b lbl_802E11C8 -lbl_802E11B4: -/* 802E11B4 38 00 00 00 */ li r0, 0 -/* 802E11B8 98 03 00 0C */ stb r0, 0xc(r3) -/* 802E11BC 98 03 00 0D */ stb r0, 0xd(r3) -/* 802E11C0 98 03 00 0E */ stb r0, 0xe(r3) -/* 802E11C4 98 03 00 0F */ stb r0, 0xf(r3) -lbl_802E11C8: -/* 802E11C8 88 03 00 0E */ lbz r0, 0xe(r3) -/* 802E11CC C8 42 C6 20 */ lfd f2, lit_1050(r2) -/* 802E11D0 6C 00 80 00 */ xoris r0, r0, 0x8000 -/* 802E11D4 90 01 00 0C */ stw r0, 0xc(r1) -/* 802E11D8 3C 80 43 30 */ lis r4, 0x4330 -/* 802E11DC 90 81 00 08 */ stw r4, 8(r1) -/* 802E11E0 C8 01 00 08 */ lfd f0, 8(r1) -/* 802E11E4 EC 00 10 28 */ fsubs f0, f0, f2 -/* 802E11E8 C0 22 C6 18 */ lfs f1, lit_1047(r2) -/* 802E11EC EC 00 08 24 */ fdivs f0, f0, f1 -/* 802E11F0 D0 03 00 10 */ stfs f0, 0x10(r3) -/* 802E11F4 88 03 00 0F */ lbz r0, 0xf(r3) -/* 802E11F8 6C 00 80 00 */ xoris r0, r0, 0x8000 -/* 802E11FC 90 01 00 14 */ stw r0, 0x14(r1) -/* 802E1200 90 81 00 10 */ stw r4, 0x10(r1) -/* 802E1204 C8 01 00 10 */ lfd f0, 0x10(r1) -/* 802E1208 EC 00 10 28 */ fsubs f0, f0, f2 -/* 802E120C EC 00 08 24 */ fdivs f0, f0, f1 -/* 802E1210 D0 03 00 14 */ stfs f0, 0x14(r3) -/* 802E1214 38 21 00 20 */ addi r1, r1, 0x20 -/* 802E1218 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/cancelHookshotCarry__9daAlink_cFv.s b/asm/d/a/d_a_alink/cancelHookshotCarry__9daAlink_cFv.s deleted file mode 100644 index 4978cf8221..0000000000 --- a/asm/d/a/d_a_alink/cancelHookshotCarry__9daAlink_cFv.s +++ /dev/null @@ -1,17 +0,0 @@ -lbl_80108828: -/* 80108828 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8010882C 7C 08 02 A6 */ mflr r0 -/* 80108830 90 01 00 14 */ stw r0, 0x14(r1) -/* 80108834 80 83 28 50 */ lwz r4, 0x2850(r3) -/* 80108838 28 04 00 00 */ cmplwi r4, 0 -/* 8010883C 41 82 00 18 */ beq lbl_80108854 -/* 80108840 80 04 04 9C */ lwz r0, 0x49c(r4) -/* 80108844 54 00 03 14 */ rlwinm r0, r0, 0, 0xc, 0xa -/* 80108848 90 04 04 9C */ stw r0, 0x49c(r4) -/* 8010884C 38 63 28 4C */ addi r3, r3, 0x284c -/* 80108850 48 05 64 AD */ bl clearData__16daPy_actorKeep_cFv -lbl_80108854: -/* 80108854 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80108858 7C 08 03 A6 */ mtlr r0 -/* 8010885C 38 21 00 10 */ addi r1, r1, 0x10 -/* 80108860 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/cancelHookshotShot__9daAlink_cFv.s b/asm/d/a/d_a_alink/cancelHookshotShot__9daAlink_cFv.s deleted file mode 100644 index d706720e0e..0000000000 --- a/asm/d/a/d_a_alink/cancelHookshotShot__9daAlink_cFv.s +++ /dev/null @@ -1,33 +0,0 @@ -lbl_80108EEC: -/* 80108EEC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80108EF0 7C 08 02 A6 */ mflr r0 -/* 80108EF4 90 01 00 14 */ stw r0, 0x14(r1) -/* 80108EF8 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80108EFC 7C 7F 1B 78 */ mr r31, r3 -/* 80108F00 A0 63 2F DC */ lhz r3, 0x2fdc(r3) -/* 80108F04 48 05 5C B5 */ bl checkHookshotItem__9daPy_py_cFi -/* 80108F08 2C 03 00 00 */ cmpwi r3, 0 -/* 80108F0C 41 82 00 44 */ beq lbl_80108F50 -/* 80108F10 A8 1F 30 1A */ lha r0, 0x301a(r31) -/* 80108F14 2C 00 00 03 */ cmpwi r0, 3 -/* 80108F18 41 82 00 14 */ beq lbl_80108F2C -/* 80108F1C 2C 00 00 05 */ cmpwi r0, 5 -/* 80108F20 41 82 00 0C */ beq lbl_80108F2C -/* 80108F24 2C 00 00 04 */ cmpwi r0, 4 -/* 80108F28 40 82 00 28 */ bne lbl_80108F50 -lbl_80108F2C: -/* 80108F2C A0 1F 2F E8 */ lhz r0, 0x2fe8(r31) -/* 80108F30 28 00 00 C5 */ cmplwi r0, 0xc5 -/* 80108F34 41 82 00 1C */ beq lbl_80108F50 -/* 80108F38 28 00 00 C6 */ cmplwi r0, 0xc6 -/* 80108F3C 41 82 00 14 */ beq lbl_80108F50 -/* 80108F40 28 00 00 C4 */ cmplwi r0, 0xc4 -/* 80108F44 41 82 00 0C */ beq lbl_80108F50 -/* 80108F48 38 00 00 06 */ li r0, 6 -/* 80108F4C B0 1F 30 1A */ sth r0, 0x301a(r31) -lbl_80108F50: -/* 80108F50 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80108F54 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80108F58 7C 08 03 A6 */ mtlr r0 -/* 80108F5C 38 21 00 10 */ addi r1, r1, 0x10 -/* 80108F60 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/changeHookshotDrawModel__9daAlink_cFv.s b/asm/d/a/d_a_alink/changeHookshotDrawModel__9daAlink_cFv.s deleted file mode 100644 index e45da4f175..0000000000 --- a/asm/d/a/d_a_alink/changeHookshotDrawModel__9daAlink_cFv.s +++ /dev/null @@ -1,16 +0,0 @@ -lbl_80108864: -/* 80108864 A0 03 2F DC */ lhz r0, 0x2fdc(r3) -/* 80108868 28 00 00 44 */ cmplwi r0, 0x44 -/* 8010886C 4C 82 00 20 */ bnelr -/* 80108870 A8 03 30 20 */ lha r0, 0x3020(r3) -/* 80108874 2C 00 00 01 */ cmpwi r0, 1 -/* 80108878 4C 82 00 20 */ bnelr -/* 8010887C 80 83 07 08 */ lwz r4, 0x708(r3) -/* 80108880 80 03 07 10 */ lwz r0, 0x710(r3) -/* 80108884 90 03 07 08 */ stw r0, 0x708(r3) -/* 80108888 90 83 07 10 */ stw r4, 0x710(r3) -/* 8010888C 80 83 07 0C */ lwz r4, 0x70c(r3) -/* 80108890 80 03 07 14 */ lwz r0, 0x714(r3) -/* 80108894 90 03 07 0C */ stw r0, 0x70c(r3) -/* 80108898 90 83 07 14 */ stw r4, 0x714(r3) -/* 8010889C 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkBossOctaIealRoom__9daAlink_cFv.s b/asm/d/a/d_a_alink/checkBossOctaIealRoom__9daAlink_cFv.s deleted file mode 100644 index ff023d0745..0000000000 --- a/asm/d/a/d_a_alink/checkBossOctaIealRoom__9daAlink_cFv.s +++ /dev/null @@ -1,13 +0,0 @@ -lbl_801089E8: -/* 801089E8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 801089EC 7C 08 02 A6 */ mflr r0 -/* 801089F0 90 01 00 14 */ stw r0, 0x14(r1) -/* 801089F4 3C 60 80 39 */ lis r3, d_a_d_a_alink__stringBase0@ha /* 0x80392094@ha */ -/* 801089F8 38 63 20 94 */ addi r3, r3, d_a_d_a_alink__stringBase0@l /* 0x80392094@l */ -/* 801089FC 38 63 00 8E */ addi r3, r3, 0x8e -/* 80108A00 4B F9 50 61 */ bl checkStageName__9daAlink_cFPCc -/* 80108A04 54 63 06 3E */ clrlwi r3, r3, 0x18 -/* 80108A08 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80108A0C 7C 08 03 A6 */ mtlr r0 -/* 80108A10 38 21 00 10 */ addi r1, r1, 0x10 -/* 80108A14 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkChaseHookshot__9daAlink_cFv.s b/asm/d/a/d_a_alink/checkChaseHookshot__9daAlink_cFv.s deleted file mode 100644 index 068f6e2442..0000000000 --- a/asm/d/a/d_a_alink/checkChaseHookshot__9daAlink_cFv.s +++ /dev/null @@ -1,54 +0,0 @@ -lbl_801088C8: -/* 801088C8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 801088CC 7C 08 02 A6 */ mflr r0 -/* 801088D0 90 01 00 14 */ stw r0, 0x14(r1) -/* 801088D4 93 E1 00 0C */ stw r31, 0xc(r1) -/* 801088D8 93 C1 00 08 */ stw r30, 8(r1) -/* 801088DC 80 83 28 04 */ lwz r4, 0x2804(r3) -/* 801088E0 28 04 00 00 */ cmplwi r4, 0 -/* 801088E4 40 82 00 20 */ bne lbl_80108904 -/* 801088E8 80 03 27 EC */ lwz r0, 0x27ec(r3) -/* 801088EC 28 00 00 00 */ cmplwi r0, 0 -/* 801088F0 41 82 00 0C */ beq lbl_801088FC -/* 801088F4 90 03 28 04 */ stw r0, 0x2804(r3) -/* 801088F8 48 00 00 1C */ b lbl_80108914 -lbl_801088FC: -/* 801088FC 90 63 28 04 */ stw r3, 0x2804(r3) -/* 80108900 48 00 00 14 */ b lbl_80108914 -lbl_80108904: -/* 80108904 80 03 27 EC */ lwz r0, 0x27ec(r3) -/* 80108908 7C 04 00 40 */ cmplw r4, r0 -/* 8010890C 41 82 00 08 */ beq lbl_80108914 -/* 80108910 90 63 28 04 */ stw r3, 0x2804(r3) -lbl_80108914: -/* 80108914 80 83 27 EC */ lwz r4, 0x27ec(r3) -/* 80108918 28 04 00 00 */ cmplwi r4, 0 -/* 8010891C 41 82 00 48 */ beq lbl_80108964 -/* 80108920 AB C4 00 08 */ lha r30, 8(r4) -/* 80108924 3B E0 00 00 */ li r31, 0 -/* 80108928 80 03 28 04 */ lwz r0, 0x2804(r3) -/* 8010892C 7C 00 20 40 */ cmplw r0, r4 -/* 80108930 40 82 00 2C */ bne lbl_8010895C -/* 80108934 48 00 00 B5 */ bl checkBossOctaIealRoom__9daAlink_cFv -/* 80108938 2C 03 00 00 */ cmpwi r3, 0 -/* 8010893C 40 82 00 1C */ bne lbl_80108958 -/* 80108940 2C 1E 00 AA */ cmpwi r30, 0xaa -/* 80108944 41 82 00 14 */ beq lbl_80108958 -/* 80108948 2C 1E 00 F7 */ cmpwi r30, 0xf7 -/* 8010894C 41 82 00 0C */ beq lbl_80108958 -/* 80108950 2C 1E 00 E4 */ cmpwi r30, 0xe4 -/* 80108954 40 82 00 08 */ bne lbl_8010895C -lbl_80108958: -/* 80108958 3B E0 00 01 */ li r31, 1 -lbl_8010895C: -/* 8010895C 57 E3 06 3E */ clrlwi r3, r31, 0x18 -/* 80108960 48 00 00 08 */ b lbl_80108968 -lbl_80108964: -/* 80108964 38 60 00 00 */ li r3, 0 -lbl_80108968: -/* 80108968 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8010896C 83 C1 00 08 */ lwz r30, 8(r1) -/* 80108970 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80108974 7C 08 03 A6 */ mtlr r0 -/* 80108978 38 21 00 10 */ addi r1, r1, 0x10 -/* 8010897C 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkHookshotReturnMode__9daAlink_cCFv.s b/asm/d/a/d_a_alink/checkHookshotReturnMode__9daAlink_cCFv.s deleted file mode 100644 index 0e27d93410..0000000000 --- a/asm/d/a/d_a_alink/checkHookshotReturnMode__9daAlink_cCFv.s +++ /dev/null @@ -1,29 +0,0 @@ -lbl_80108600: -/* 80108600 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80108604 7C 08 02 A6 */ mflr r0 -/* 80108608 90 01 00 14 */ stw r0, 0x14(r1) -/* 8010860C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80108610 93 C1 00 08 */ stw r30, 8(r1) -/* 80108614 7C 7E 1B 78 */ mr r30, r3 -/* 80108618 3B E0 00 00 */ li r31, 0 -/* 8010861C A0 63 2F DC */ lhz r3, 0x2fdc(r3) -/* 80108620 48 05 65 99 */ bl checkHookshotItem__9daPy_py_cFi -/* 80108624 2C 03 00 00 */ cmpwi r3, 0 -/* 80108628 41 82 00 24 */ beq lbl_8010864C -/* 8010862C A8 1E 30 1A */ lha r0, 0x301a(r30) -/* 80108630 2C 00 00 04 */ cmpwi r0, 4 -/* 80108634 41 82 00 14 */ beq lbl_80108648 -/* 80108638 2C 00 00 05 */ cmpwi r0, 5 -/* 8010863C 41 82 00 0C */ beq lbl_80108648 -/* 80108640 2C 00 00 06 */ cmpwi r0, 6 -/* 80108644 40 82 00 08 */ bne lbl_8010864C -lbl_80108648: -/* 80108648 3B E0 00 01 */ li r31, 1 -lbl_8010864C: -/* 8010864C 7F E3 FB 78 */ mr r3, r31 -/* 80108650 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80108654 83 C1 00 08 */ lwz r30, 8(r1) -/* 80108658 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8010865C 7C 08 03 A6 */ mtlr r0 -/* 80108660 38 21 00 10 */ addi r1, r1, 0x10 -/* 80108664 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkHookshotRoofLv7Boss__9daAlink_cFv.s b/asm/d/a/d_a_alink/checkHookshotRoofLv7Boss__9daAlink_cFv.s deleted file mode 100644 index dc2ff44379..0000000000 --- a/asm/d/a/d_a_alink/checkHookshotRoofLv7Boss__9daAlink_cFv.s +++ /dev/null @@ -1,12 +0,0 @@ -lbl_801088A0: -/* 801088A0 38 00 00 00 */ li r0, 0 -/* 801088A4 80 63 28 58 */ lwz r3, 0x2858(r3) -/* 801088A8 28 03 00 00 */ cmplwi r3, 0 -/* 801088AC 41 82 00 14 */ beq lbl_801088C0 -/* 801088B0 A8 63 00 08 */ lha r3, 8(r3) -/* 801088B4 2C 03 00 F7 */ cmpwi r3, 0xf7 -/* 801088B8 40 82 00 08 */ bne lbl_801088C0 -/* 801088BC 38 00 00 01 */ li r0, 1 -lbl_801088C0: -/* 801088C0 54 03 06 3E */ clrlwi r3, r0, 0x18 -/* 801088C4 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkHookshotShootReturnMode__9daAlink_cCFv.s b/asm/d/a/d_a_alink/checkHookshotShootReturnMode__9daAlink_cCFv.s deleted file mode 100644 index e800900b8e..0000000000 --- a/asm/d/a/d_a_alink/checkHookshotShootReturnMode__9daAlink_cCFv.s +++ /dev/null @@ -1,33 +0,0 @@ -lbl_80108668: -/* 80108668 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8010866C 7C 08 02 A6 */ mflr r0 -/* 80108670 90 01 00 14 */ stw r0, 0x14(r1) -/* 80108674 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80108678 93 C1 00 08 */ stw r30, 8(r1) -/* 8010867C 7C 7E 1B 78 */ mr r30, r3 -/* 80108680 3B E0 00 00 */ li r31, 0 -/* 80108684 A0 63 2F DC */ lhz r3, 0x2fdc(r3) -/* 80108688 48 05 65 31 */ bl checkHookshotItem__9daPy_py_cFi -/* 8010868C 2C 03 00 00 */ cmpwi r3, 0 -/* 80108690 41 82 00 10 */ beq lbl_801086A0 -/* 80108694 A8 1E 30 1A */ lha r0, 0x301a(r30) -/* 80108698 2C 00 00 03 */ cmpwi r0, 3 -/* 8010869C 41 82 00 20 */ beq lbl_801086BC -lbl_801086A0: -/* 801086A0 7F C3 F3 78 */ mr r3, r30 -/* 801086A4 81 9E 06 28 */ lwz r12, 0x628(r30) -/* 801086A8 81 8C 02 4C */ lwz r12, 0x24c(r12) -/* 801086AC 7D 89 03 A6 */ mtctr r12 -/* 801086B0 4E 80 04 21 */ bctrl -/* 801086B4 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 801086B8 41 82 00 08 */ beq lbl_801086C0 -lbl_801086BC: -/* 801086BC 3B E0 00 01 */ li r31, 1 -lbl_801086C0: -/* 801086C0 7F E3 FB 78 */ mr r3, r31 -/* 801086C4 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 801086C8 83 C1 00 08 */ lwz r30, 8(r1) -/* 801086CC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 801086D0 7C 08 03 A6 */ mtlr r0 -/* 801086D4 38 21 00 10 */ addi r1, r1, 0x10 -/* 801086D8 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkHookshotStickBG__9daAlink_cFR13cBgS_PolyInfo.s b/asm/d/a/d_a_alink/checkHookshotStickBG__9daAlink_cFR13cBgS_PolyInfo.s deleted file mode 100644 index c3919084f8..0000000000 --- a/asm/d/a/d_a_alink/checkHookshotStickBG__9daAlink_cFR13cBgS_PolyInfo.s +++ /dev/null @@ -1,33 +0,0 @@ -lbl_801087B0: -/* 801087B0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 801087B4 7C 08 02 A6 */ mflr r0 -/* 801087B8 90 01 00 14 */ stw r0, 0x14(r1) -/* 801087BC 93 E1 00 0C */ stw r31, 0xc(r1) -/* 801087C0 93 C1 00 08 */ stw r30, 8(r1) -/* 801087C4 7C 9E 23 78 */ mr r30, r4 -/* 801087C8 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 801087CC 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 801087D0 3B E3 0F 38 */ addi r31, r3, 0xf38 -/* 801087D4 7F E3 FB 78 */ mr r3, r31 -/* 801087D8 4B F6 CA 21 */ bl ChkPolyHSStick__4dBgSFRC13cBgS_PolyInfo -/* 801087DC 28 03 00 00 */ cmplwi r3, 0 -/* 801087E0 41 82 00 2C */ beq lbl_8010880C -/* 801087E4 7F E3 FB 78 */ mr r3, r31 -/* 801087E8 7F C4 F3 78 */ mr r4, r30 -/* 801087EC 4B F6 BE 3D */ bl GetBgWBasePointer__4cBgSCFRC13cBgS_PolyInfo -/* 801087F0 28 03 00 00 */ cmplwi r3, 0 -/* 801087F4 41 82 00 18 */ beq lbl_8010880C -/* 801087F8 88 03 00 14 */ lbz r0, 0x14(r3) -/* 801087FC 28 00 00 00 */ cmplwi r0, 0 -/* 80108800 41 82 00 0C */ beq lbl_8010880C -/* 80108804 38 60 00 01 */ li r3, 1 -/* 80108808 48 00 00 08 */ b lbl_80108810 -lbl_8010880C: -/* 8010880C 38 60 00 00 */ li r3, 0 -lbl_80108810: -/* 80108810 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80108814 83 C1 00 08 */ lwz r30, 8(r1) -/* 80108818 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8010881C 7C 08 03 A6 */ mtlr r0 -/* 80108820 38 21 00 10 */ addi r1, r1, 0x10 -/* 80108824 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkHookshotWait__9daAlink_cCFv.s b/asm/d/a/d_a_alink/checkHookshotWait__9daAlink_cCFv.s deleted file mode 100644 index ff15c25db1..0000000000 --- a/asm/d/a/d_a_alink/checkHookshotWait__9daAlink_cCFv.s +++ /dev/null @@ -1,12 +0,0 @@ -lbl_80108A18: -/* 80108A18 38 80 00 00 */ li r4, 0 -/* 80108A1C A8 63 30 1A */ lha r3, 0x301a(r3) -/* 80108A20 7C 60 07 35 */ extsh. r0, r3 -/* 80108A24 41 82 00 0C */ beq lbl_80108A30 -/* 80108A28 2C 03 00 01 */ cmpwi r3, 1 -/* 80108A2C 40 82 00 08 */ bne lbl_80108A34 -lbl_80108A30: -/* 80108A30 38 80 00 01 */ li r4, 1 -lbl_80108A34: -/* 80108A34 54 83 06 3E */ clrlwi r3, r4, 0x18 -/* 80108A38 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkLv7BossRoom__9daAlink_cFv.s b/asm/d/a/d_a_alink/checkLv7BossRoom__9daAlink_cFv.s deleted file mode 100644 index 3a5eab469d..0000000000 --- a/asm/d/a/d_a_alink/checkLv7BossRoom__9daAlink_cFv.s +++ /dev/null @@ -1,12 +0,0 @@ -lbl_80108784: -/* 80108784 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80108788 7C 08 02 A6 */ mflr r0 -/* 8010878C 90 01 00 14 */ stw r0, 0x14(r1) -/* 80108790 3C 60 80 39 */ lis r3, d_a_d_a_alink__stringBase0@ha /* 0x80392094@ha */ -/* 80108794 38 63 20 94 */ addi r3, r3, d_a_d_a_alink__stringBase0@l /* 0x80392094@l */ -/* 80108798 38 63 00 86 */ addi r3, r3, 0x86 -/* 8010879C 4B F9 52 C5 */ bl checkStageName__9daAlink_cFPCc -/* 801087A0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 801087A4 7C 08 03 A6 */ mtlr r0 -/* 801087A8 38 21 00 10 */ addi r1, r1, 0x10 -/* 801087AC 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkOctaIealSpecialCollect__9daAlink_cFv.s b/asm/d/a/d_a_alink/checkOctaIealSpecialCollect__9daAlink_cFv.s deleted file mode 100644 index 9f5a8b26fc..0000000000 --- a/asm/d/a/d_a_alink/checkOctaIealSpecialCollect__9daAlink_cFv.s +++ /dev/null @@ -1,28 +0,0 @@ -lbl_80108980: -/* 80108980 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80108984 7C 08 02 A6 */ mflr r0 -/* 80108988 90 01 00 14 */ stw r0, 0x14(r1) -/* 8010898C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80108990 93 C1 00 08 */ stw r30, 8(r1) -/* 80108994 7C 7E 1B 78 */ mr r30, r3 -/* 80108998 3B E0 00 00 */ li r31, 0 -/* 8010899C A0 03 2F E8 */ lhz r0, 0x2fe8(r3) -/* 801089A0 28 00 00 C6 */ cmplwi r0, 0xc6 -/* 801089A4 40 82 00 28 */ bne lbl_801089CC -/* 801089A8 A0 7E 2F DC */ lhz r3, 0x2fdc(r30) -/* 801089AC 48 05 62 0D */ bl checkHookshotItem__9daPy_py_cFi -/* 801089B0 2C 03 00 00 */ cmpwi r3, 0 -/* 801089B4 41 82 00 18 */ beq lbl_801089CC -/* 801089B8 7F C3 F3 78 */ mr r3, r30 -/* 801089BC 48 00 00 2D */ bl checkBossOctaIealRoom__9daAlink_cFv -/* 801089C0 2C 03 00 00 */ cmpwi r3, 0 -/* 801089C4 41 82 00 08 */ beq lbl_801089CC -/* 801089C8 3B E0 00 01 */ li r31, 1 -lbl_801089CC: -/* 801089CC 57 E3 06 3E */ clrlwi r3, r31, 0x18 -/* 801089D0 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 801089D4 83 C1 00 08 */ lwz r30, 8(r1) -/* 801089D8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 801089DC 7C 08 03 A6 */ mtlr r0 -/* 801089E0 38 21 00 10 */ addi r1, r1, 0x10 -/* 801089E4 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/daAlink_hookshotAtHitCallBack__FP10fopAc_ac_cP12dCcD_GObjInfP10fopAc_ac_cP12dCcD_GObjInf.s b/asm/d/a/d_a_alink/daAlink_hookshotAtHitCallBack__FP10fopAc_ac_cP12dCcD_GObjInfP10fopAc_ac_cP12dCcD_GObjInf.s deleted file mode 100644 index b593690f4c..0000000000 --- a/asm/d/a/d_a_alink/daAlink_hookshotAtHitCallBack__FP10fopAc_ac_cP12dCcD_GObjInfP10fopAc_ac_cP12dCcD_GObjInf.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_8010859C: -/* 8010859C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 801085A0 7C 08 02 A6 */ mflr r0 -/* 801085A4 90 01 00 14 */ stw r0, 0x14(r1) -/* 801085A8 4B FF FE 21 */ bl hookshotAtHitCallBack__9daAlink_cFP12dCcD_GObjInfP10fopAc_ac_cP12dCcD_GObjInf -/* 801085AC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 801085B0 7C 08 03 A6 */ mtlr r0 -/* 801085B4 38 21 00 10 */ addi r1, r1, 0x10 -/* 801085B8 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/getHookshotTopPos__9daAlink_cFv.s b/asm/d/a/d_a_alink/getHookshotTopPos__9daAlink_cFv.s deleted file mode 100644 index 01e9493591..0000000000 --- a/asm/d/a/d_a_alink/getHookshotTopPos__9daAlink_cFv.s +++ /dev/null @@ -1,20 +0,0 @@ -lbl_801085BC: -/* 801085BC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 801085C0 7C 08 02 A6 */ mflr r0 -/* 801085C4 90 01 00 14 */ stw r0, 0x14(r1) -/* 801085C8 93 E1 00 0C */ stw r31, 0xc(r1) -/* 801085CC 7C 7F 1B 78 */ mr r31, r3 -/* 801085D0 A0 63 2F DC */ lhz r3, 0x2fdc(r3) -/* 801085D4 48 05 65 E5 */ bl checkHookshotItem__9daPy_py_cFi -/* 801085D8 2C 03 00 00 */ cmpwi r3, 0 -/* 801085DC 41 82 00 0C */ beq lbl_801085E8 -/* 801085E0 38 7F 37 EC */ addi r3, r31, 0x37ec -/* 801085E4 48 00 00 08 */ b lbl_801085EC -lbl_801085E8: -/* 801085E8 38 60 00 00 */ li r3, 0 -lbl_801085EC: -/* 801085EC 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 801085F0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 801085F4 7C 08 03 A6 */ mtlr r0 -/* 801085F8 38 21 00 10 */ addi r1, r1, 0x10 -/* 801085FC 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/resetHookshotMode__9daAlink_cFv.s b/asm/d/a/d_a_alink/resetHookshotMode__9daAlink_cFv.s deleted file mode 100644 index de44699524..0000000000 --- a/asm/d/a/d_a_alink/resetHookshotMode__9daAlink_cFv.s +++ /dev/null @@ -1,17 +0,0 @@ -lbl_801086DC: -/* 801086DC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 801086E0 7C 08 02 A6 */ mflr r0 -/* 801086E4 90 01 00 14 */ stw r0, 0x14(r1) -/* 801086E8 93 E1 00 0C */ stw r31, 0xc(r1) -/* 801086EC 7C 7F 1B 78 */ mr r31, r3 -/* 801086F0 38 00 00 00 */ li r0, 0 -/* 801086F4 B0 03 30 1A */ sth r0, 0x301a(r3) -/* 801086F8 4B FA 33 E9 */ bl initLockAt__9daAlink_cFv -/* 801086FC 3C 60 80 45 */ lis r3, __float_max@ha /* 0x80450AE8@ha */ -/* 80108700 C0 03 0A E8 */ lfs f0, __float_max@l(r3) /* 0x80450AE8@l */ -/* 80108704 D0 1F 34 90 */ stfs f0, 0x3490(r31) -/* 80108708 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8010870C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80108710 7C 08 03 A6 */ mtlr r0 -/* 80108714 38 21 00 10 */ addi r1, r1, 0x10 -/* 80108718 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/setEnemyBombHookshot__9daAlink_cFP10fopAc_ac_c.s b/asm/d/a/d_a_alink/setEnemyBombHookshot__9daAlink_cFP10fopAc_ac_c.s deleted file mode 100644 index e918eb1374..0000000000 --- a/asm/d/a/d_a_alink/setEnemyBombHookshot__9daAlink_cFP10fopAc_ac_c.s +++ /dev/null @@ -1,29 +0,0 @@ -lbl_8010871C: -/* 8010871C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80108720 7C 08 02 A6 */ mflr r0 -/* 80108724 90 01 00 14 */ stw r0, 0x14(r1) -/* 80108728 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8010872C 93 C1 00 08 */ stw r30, 8(r1) -/* 80108730 7C 7E 1B 78 */ mr r30, r3 -/* 80108734 7C 9F 23 78 */ mr r31, r4 -/* 80108738 80 03 28 50 */ lwz r0, 0x2850(r3) -/* 8010873C 28 00 00 00 */ cmplwi r0, 0 -/* 80108740 41 82 00 28 */ beq lbl_80108768 -/* 80108744 48 00 00 E5 */ bl cancelHookshotCarry__9daAlink_cFv -/* 80108748 38 7E 28 4C */ addi r3, r30, 0x284c -/* 8010874C 7F E4 FB 78 */ mr r4, r31 -/* 80108750 48 05 65 69 */ bl setData__16daPy_actorKeep_cFP10fopAc_ac_c -/* 80108754 80 1F 04 9C */ lwz r0, 0x49c(r31) -/* 80108758 64 00 00 10 */ oris r0, r0, 0x10 -/* 8010875C 90 1F 04 9C */ stw r0, 0x49c(r31) -/* 80108760 38 60 00 01 */ li r3, 1 -/* 80108764 48 00 00 08 */ b lbl_8010876C -lbl_80108768: -/* 80108768 38 60 00 00 */ li r3, 0 -lbl_8010876C: -/* 8010876C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80108770 83 C1 00 08 */ lwz r30, 8(r1) -/* 80108774 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80108778 7C 08 03 A6 */ mtlr r0 -/* 8010877C 38 21 00 10 */ addi r1, r1, 0x10 -/* 80108780 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/setHookshotCarryOffset__9daAlink_cFUiPC4cXyz.s b/asm/d/a/d_a_alink/setHookshotCarryOffset__9daAlink_cFUiPC4cXyz.s deleted file mode 100644 index 6bec931f9a..0000000000 --- a/asm/d/a/d_a_alink/setHookshotCarryOffset__9daAlink_cFUiPC4cXyz.s +++ /dev/null @@ -1,44 +0,0 @@ -lbl_80108A90: -/* 80108A90 3C C0 80 40 */ lis r6, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80108A94 38 C6 61 C0 */ addi r6, r6, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80108A98 80 06 5F 1C */ lwz r0, 0x5f1c(r6) -/* 80108A9C 54 00 03 DF */ rlwinm. r0, r0, 0, 0xf, 0xf -/* 80108AA0 41 82 00 48 */ beq lbl_80108AE8 -/* 80108AA4 80 C3 28 58 */ lwz r6, 0x2858(r3) -/* 80108AA8 28 06 00 00 */ cmplwi r6, 0 -/* 80108AAC 41 82 00 3C */ beq lbl_80108AE8 -/* 80108AB0 80 06 04 9C */ lwz r0, 0x49c(r6) -/* 80108AB4 54 00 02 D7 */ rlwinm. r0, r0, 0, 0xb, 0xb -/* 80108AB8 41 82 00 30 */ beq lbl_80108AE8 -/* 80108ABC 80 03 28 54 */ lwz r0, 0x2854(r3) -/* 80108AC0 7C 04 00 40 */ cmplw r4, r0 -/* 80108AC4 40 82 00 24 */ bne lbl_80108AE8 -/* 80108AC8 C0 05 00 00 */ lfs f0, 0(r5) -/* 80108ACC D0 03 37 C8 */ stfs f0, 0x37c8(r3) -/* 80108AD0 C0 05 00 04 */ lfs f0, 4(r5) -/* 80108AD4 D0 03 37 CC */ stfs f0, 0x37cc(r3) -/* 80108AD8 C0 05 00 08 */ lfs f0, 8(r5) -/* 80108ADC D0 03 37 D0 */ stfs f0, 0x37d0(r3) -/* 80108AE0 38 60 00 01 */ li r3, 1 -/* 80108AE4 4E 80 00 20 */ blr -lbl_80108AE8: -/* 80108AE8 80 C3 28 50 */ lwz r6, 0x2850(r3) -/* 80108AEC 28 06 00 00 */ cmplwi r6, 0 -/* 80108AF0 41 82 00 3C */ beq lbl_80108B2C -/* 80108AF4 80 06 04 9C */ lwz r0, 0x49c(r6) -/* 80108AF8 54 00 02 D7 */ rlwinm. r0, r0, 0, 0xb, 0xb -/* 80108AFC 41 82 00 30 */ beq lbl_80108B2C -/* 80108B00 80 03 28 4C */ lwz r0, 0x284c(r3) -/* 80108B04 7C 04 00 40 */ cmplw r4, r0 -/* 80108B08 40 82 00 24 */ bne lbl_80108B2C -/* 80108B0C C0 05 00 00 */ lfs f0, 0(r5) -/* 80108B10 D0 03 37 F8 */ stfs f0, 0x37f8(r3) -/* 80108B14 C0 05 00 04 */ lfs f0, 4(r5) -/* 80108B18 D0 03 37 FC */ stfs f0, 0x37fc(r3) -/* 80108B1C C0 05 00 08 */ lfs f0, 8(r5) -/* 80108B20 D0 03 38 00 */ stfs f0, 0x3800(r3) -/* 80108B24 38 60 00 01 */ li r3, 1 -/* 80108B28 4E 80 00 20 */ blr -lbl_80108B2C: -/* 80108B2C 38 60 00 00 */ li r3, 0 -/* 80108B30 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/setHookshotModel__9daAlink_cFv.s b/asm/d/a/d_a_alink/setHookshotModel__9daAlink_cFv.s deleted file mode 100644 index 1b205891af..0000000000 --- a/asm/d/a/d_a_alink/setHookshotModel__9daAlink_cFv.s +++ /dev/null @@ -1,165 +0,0 @@ -lbl_80108B34: -/* 80108B34 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80108B38 7C 08 02 A6 */ mflr r0 -/* 80108B3C 90 01 00 24 */ stw r0, 0x24(r1) -/* 80108B40 39 61 00 20 */ addi r11, r1, 0x20 -/* 80108B44 48 25 96 99 */ bl _savegpr_29 -/* 80108B48 7C 7E 1B 78 */ mr r30, r3 -/* 80108B4C 38 7E 21 D8 */ addi r3, r30, 0x21d8 -/* 80108B50 38 80 01 7E */ li r4, 0x17e -/* 80108B54 48 05 65 15 */ bl loadDataIdx__14daPy_anmHeap_cFUs -/* 80108B58 7C 7D 1B 78 */ mr r29, r3 -/* 80108B5C 7F C3 F3 78 */ mr r3, r30 -/* 80108B60 4B F9 B1 2D */ bl setItemHeap__9daAlink_cFv -/* 80108B64 7C 7F 1B 78 */ mr r31, r3 -/* 80108B68 38 7E 07 30 */ addi r3, r30, 0x730 -/* 80108B6C 7F A4 EB 78 */ mr r4, r29 -/* 80108B70 38 A0 00 00 */ li r5, 0 -/* 80108B74 38 C0 00 02 */ li r6, 2 -/* 80108B78 C0 22 92 B8 */ lfs f1, lit_6040(r2) -/* 80108B7C 38 E0 00 00 */ li r7, 0 -/* 80108B80 39 00 FF FF */ li r8, -1 -/* 80108B84 39 20 00 00 */ li r9, 0 -/* 80108B88 4B F0 4C 55 */ bl init__13mDoExt_bckAnmFP15J3DAnmTransformiifssb -/* 80108B8C 7F C3 F3 78 */ mr r3, r30 -/* 80108B90 38 80 03 16 */ li r4, 0x316 -/* 80108B94 38 A0 5C 00 */ li r5, 0x5c00 -/* 80108B98 4B FB 72 B1 */ bl loadAramBmd__9daAlink_cFUsUl -/* 80108B9C 7C 64 1B 78 */ mr r4, r3 -/* 80108BA0 7F C3 F3 78 */ mr r3, r30 -/* 80108BA4 3C A0 00 08 */ lis r5, 8 -/* 80108BA8 38 C0 00 00 */ li r6, 0 -/* 80108BAC 4B F9 B1 D1 */ bl initModel__9daAlink_cFP12J3DModelDataUlUl -/* 80108BB0 90 7E 07 08 */ stw r3, 0x708(r30) -/* 80108BB4 7F C3 F3 78 */ mr r3, r30 -/* 80108BB8 38 80 03 18 */ li r4, 0x318 -/* 80108BBC 38 A0 38 00 */ li r5, 0x3800 -/* 80108BC0 4B FB 72 89 */ bl loadAramBmd__9daAlink_cFUsUl -/* 80108BC4 7C 64 1B 78 */ mr r4, r3 -/* 80108BC8 7F C3 F3 78 */ mr r3, r30 -/* 80108BCC 3C A0 00 08 */ lis r5, 8 -/* 80108BD0 38 C0 00 00 */ li r6, 0 -/* 80108BD4 4B F9 B1 A9 */ bl initModel__9daAlink_cFP12J3DModelDataUlUl -/* 80108BD8 90 7E 07 0C */ stw r3, 0x70c(r30) -/* 80108BDC 80 7E 07 08 */ lwz r3, 0x708(r30) -/* 80108BE0 80 83 00 04 */ lwz r4, 4(r3) -/* 80108BE4 7F C3 F3 78 */ mr r3, r30 -/* 80108BE8 3C A0 00 08 */ lis r5, 8 -/* 80108BEC 38 C0 00 00 */ li r6, 0 -/* 80108BF0 4B F9 B1 8D */ bl initModel__9daAlink_cFP12J3DModelDataUlUl -/* 80108BF4 90 7E 07 10 */ stw r3, 0x710(r30) -/* 80108BF8 80 7E 07 0C */ lwz r3, 0x70c(r30) -/* 80108BFC 80 83 00 04 */ lwz r4, 4(r3) -/* 80108C00 7F C3 F3 78 */ mr r3, r30 -/* 80108C04 3C A0 00 08 */ lis r5, 8 -/* 80108C08 38 C0 00 00 */ li r6, 0 -/* 80108C0C 4B F9 B1 71 */ bl initModel__9daAlink_cFP12J3DModelDataUlUl -/* 80108C10 90 7E 07 14 */ stw r3, 0x714(r30) -/* 80108C14 7F C3 F3 78 */ mr r3, r30 -/* 80108C18 38 80 03 17 */ li r4, 0x317 -/* 80108C1C 38 A0 10 00 */ li r5, 0x1000 -/* 80108C20 4B FB 72 29 */ bl loadAramBmd__9daAlink_cFUsUl -/* 80108C24 90 7E 07 68 */ stw r3, 0x768(r30) -/* 80108C28 38 60 00 10 */ li r3, 0x10 -/* 80108C2C 48 1C 60 21 */ bl __nw__FUl -/* 80108C30 28 03 00 00 */ cmplwi r3, 0 -/* 80108C34 41 82 00 2C */ beq lbl_80108C60 -/* 80108C38 3C 80 80 3D */ lis r4, __vt__9J3DPacket@ha /* 0x803CD97C@ha */ -/* 80108C3C 38 04 D9 7C */ addi r0, r4, __vt__9J3DPacket@l /* 0x803CD97C@l */ -/* 80108C40 90 03 00 00 */ stw r0, 0(r3) -/* 80108C44 38 00 00 00 */ li r0, 0 -/* 80108C48 90 03 00 04 */ stw r0, 4(r3) -/* 80108C4C 90 03 00 08 */ stw r0, 8(r3) -/* 80108C50 90 03 00 0C */ stw r0, 0xc(r3) -/* 80108C54 3C 80 80 3B */ lis r4, __vt__Q29daAlink_c14hsChainShape_c@ha /* 0x803B35EC@ha */ -/* 80108C58 38 04 35 EC */ addi r0, r4, __vt__Q29daAlink_c14hsChainShape_c@l /* 0x803B35EC@l */ -/* 80108C5C 90 03 00 00 */ stw r0, 0(r3) -lbl_80108C60: -/* 80108C60 90 7E 07 70 */ stw r3, 0x770(r30) -/* 80108C64 38 60 00 20 */ li r3, 0x20 -/* 80108C68 48 1C 5F E5 */ bl __nw__FUl -/* 80108C6C 7C 60 1B 79 */ or. r0, r3, r3 -/* 80108C70 41 82 00 0C */ beq lbl_80108C7C -/* 80108C74 48 1B 5B D1 */ bl __ct__16Z2SoundObjSimpleFv -/* 80108C78 7C 60 1B 78 */ mr r0, r3 -lbl_80108C7C: -/* 80108C7C 90 1E 07 6C */ stw r0, 0x76c(r30) -/* 80108C80 38 60 00 70 */ li r3, 0x70 -/* 80108C84 48 1C 5F C9 */ bl __nw__FUl -/* 80108C88 7C 60 1B 79 */ or. r0, r3, r3 -/* 80108C8C 41 82 00 0C */ beq lbl_80108C98 -/* 80108C90 4B F6 F2 CD */ bl __ct__14dBgS_ObjLinChkFv -/* 80108C94 7C 60 1B 78 */ mr r0, r3 -lbl_80108C98: -/* 80108C98 90 1E 07 7C */ stw r0, 0x77c(r30) -/* 80108C9C 80 7E 07 7C */ lwz r3, 0x77c(r30) -/* 80108CA0 80 03 00 6C */ lwz r0, 0x6c(r3) -/* 80108CA4 54 00 00 3A */ rlwinm r0, r0, 0, 0, 0x1d -/* 80108CA8 90 03 00 6C */ stw r0, 0x6c(r3) -/* 80108CAC 80 7E 07 7C */ lwz r3, 0x77c(r30) -/* 80108CB0 80 03 00 6C */ lwz r0, 0x6c(r3) -/* 80108CB4 60 00 00 02 */ ori r0, r0, 2 -/* 80108CB8 90 03 00 6C */ stw r0, 0x6c(r3) -/* 80108CBC 7F C3 F3 78 */ mr r3, r30 -/* 80108CC0 38 80 01 7F */ li r4, 0x17f -/* 80108CC4 38 A0 08 00 */ li r5, 0x800 -/* 80108CC8 4B FB 72 3D */ bl loadAram__9daAlink_cFUsUl -/* 80108CCC 7C 64 1B 78 */ mr r4, r3 -/* 80108CD0 38 7E 07 4C */ addi r3, r30, 0x74c -/* 80108CD4 38 A0 00 00 */ li r5, 0 -/* 80108CD8 38 C0 00 02 */ li r6, 2 -/* 80108CDC C0 22 92 B8 */ lfs f1, lit_6040(r2) -/* 80108CE0 38 E0 00 00 */ li r7, 0 -/* 80108CE4 39 00 FF FF */ li r8, -1 -/* 80108CE8 39 20 00 00 */ li r9, 0 -/* 80108CEC 4B F0 4A F1 */ bl init__13mDoExt_bckAnmFP15J3DAnmTransformiifssb -/* 80108CF0 7F E3 FB 78 */ mr r3, r31 -/* 80108CF4 4B F0 64 D9 */ bl mDoExt_setCurrentHeap__FP7JKRHeap -/* 80108CF8 7F C3 F3 78 */ mr r3, r30 -/* 80108CFC 4B FF F9 E1 */ bl resetHookshotMode__9daAlink_cFv -/* 80108D00 80 7E 07 70 */ lwz r3, 0x770(r30) -/* 80108D04 93 C3 00 0C */ stw r30, 0xc(r3) -/* 80108D08 38 00 00 01 */ li r0, 1 -/* 80108D0C 98 1E 2F 94 */ stb r0, 0x2f94(r30) -/* 80108D10 A0 1E 2F DC */ lhz r0, 0x2fdc(r30) -/* 80108D14 28 00 00 47 */ cmplwi r0, 0x47 -/* 80108D18 40 82 00 0C */ bne lbl_80108D24 -/* 80108D1C 38 00 00 06 */ li r0, 6 -/* 80108D20 98 1E 2F 95 */ stb r0, 0x2f95(r30) -lbl_80108D24: -/* 80108D24 38 80 00 00 */ li r4, 0 -/* 80108D28 B0 9E 30 20 */ sth r4, 0x3020(r30) -/* 80108D2C B0 9E 30 24 */ sth r4, 0x3024(r30) -/* 80108D30 98 9E 12 A3 */ stb r4, 0x12a3(r30) -/* 80108D34 80 1E 12 84 */ lwz r0, 0x1284(r30) -/* 80108D38 54 00 07 FA */ rlwinm r0, r0, 0, 0x1f, 0x1d -/* 80108D3C 90 1E 12 84 */ stw r0, 0x1284(r30) -/* 80108D40 98 9E 12 40 */ stb r4, 0x1240(r30) -/* 80108D44 C0 02 93 3C */ lfs f0, lit_7808(r2) -/* 80108D48 D0 1E 13 6C */ stfs f0, 0x136c(r30) -/* 80108D4C 38 00 00 08 */ li r0, 8 -/* 80108D50 98 1E 12 A0 */ stb r0, 0x12a0(r30) -/* 80108D54 38 00 40 00 */ li r0, 0x4000 -/* 80108D58 90 1E 12 3C */ stw r0, 0x123c(r30) -/* 80108D5C 38 00 00 01 */ li r0, 1 -/* 80108D60 98 1E 12 A2 */ stb r0, 0x12a2(r30) -/* 80108D64 80 1E 12 2C */ lwz r0, 0x122c(r30) -/* 80108D68 60 00 00 01 */ ori r0, r0, 1 -/* 80108D6C 90 1E 12 2C */ stw r0, 0x122c(r30) -/* 80108D70 3C 60 80 11 */ lis r3, daAlink_hookshotAtHitCallBack__FP10fopAc_ac_cP12dCcD_GObjInfP10fopAc_ac_cP12dCcD_GObjInf@ha /* 0x8010859C@ha */ -/* 80108D74 38 03 85 9C */ addi r0, r3, daAlink_hookshotAtHitCallBack__FP10fopAc_ac_cP12dCcD_GObjInfP10fopAc_ac_cP12dCcD_GObjInf@l /* 0x8010859C@l */ -/* 80108D78 90 1E 12 8C */ stw r0, 0x128c(r30) -/* 80108D7C 98 9E 12 A1 */ stb r4, 0x12a1(r30) -/* 80108D80 80 7E 07 6C */ lwz r3, 0x76c(r30) -/* 80108D84 38 9E 37 EC */ addi r4, r30, 0x37ec -/* 80108D88 38 A0 00 01 */ li r5, 1 -/* 80108D8C 81 83 00 10 */ lwz r12, 0x10(r3) -/* 80108D90 81 8C 00 14 */ lwz r12, 0x14(r12) -/* 80108D94 7D 89 03 A6 */ mtctr r12 -/* 80108D98 4E 80 04 21 */ bctrl -/* 80108D9C 39 61 00 20 */ addi r11, r1, 0x20 -/* 80108DA0 48 25 94 89 */ bl _restgpr_29 -/* 80108DA4 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80108DA8 7C 08 03 A6 */ mtlr r0 -/* 80108DAC 38 21 00 20 */ addi r1, r1, 0x20 -/* 80108DB0 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_npc/checkEndSequence__22daNpcT_MotionSeqMngr_cFv.s b/asm/d/a/d_a_npc/checkEndSequence__22daNpcT_MotionSeqMngr_cFv.s deleted file mode 100644 index d98e6a0d3d..0000000000 --- a/asm/d/a/d_a_npc/checkEndSequence__22daNpcT_MotionSeqMngr_cFv.s +++ /dev/null @@ -1,6 +0,0 @@ -lbl_80145A24: -/* 80145A24 88 03 00 1C */ lbz r0, 0x1c(r3) -/* 80145A28 20 00 00 01 */ subfic r0, r0, 1 -/* 80145A2C 7C 00 00 34 */ cntlzw r0, r0 -/* 80145A30 54 03 DE 3E */ rlwinm r3, r0, 0x1b, 0x18, 0x1f -/* 80145A34 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_npc/clrParam__8daNpcT_cFv.s b/asm/d/a/d_a_npc/clrParam__8daNpcT_cFv.s deleted file mode 100644 index 123d3cb6ac..0000000000 --- a/asm/d/a/d_a_npc/clrParam__8daNpcT_cFv.s +++ /dev/null @@ -1,26 +0,0 @@ -lbl_8014A324: -/* 8014A324 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8014A328 7C 08 02 A6 */ mflr r0 -/* 8014A32C 90 01 00 14 */ stw r0, 0x14(r1) -/* 8014A330 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8014A334 7C 7F 1B 78 */ mr r31, r3 -/* 8014A338 A8 03 0D 78 */ lha r0, 0xd78(r3) -/* 8014A33C B0 03 0D 7E */ sth r0, 0xd7e(r3) -/* 8014A340 A8 03 0D 7A */ lha r0, 0xd7a(r3) -/* 8014A344 B0 03 0D 80 */ sth r0, 0xd80(r3) -/* 8014A348 A8 03 0D 7C */ lha r0, 0xd7c(r3) -/* 8014A34C B0 03 0D 82 */ sth r0, 0xd82(r3) -/* 8014A350 38 00 00 00 */ li r0, 0 -/* 8014A354 90 03 0D B0 */ stw r0, 0xdb0(r3) -/* 8014A358 38 7F 0E 30 */ addi r3, r31, 0xe30 -/* 8014A35C 38 80 00 00 */ li r4, 0 -/* 8014A360 38 1F 0E 38 */ addi r0, r31, 0xe38 -/* 8014A364 7C A3 00 50 */ subf r5, r3, r0 -/* 8014A368 4B EB 90 F1 */ bl memset -/* 8014A36C 38 00 00 00 */ li r0, 0 -/* 8014A370 98 1F 0C FF */ stb r0, 0xcff(r31) -/* 8014A374 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8014A378 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8014A37C 7C 08 03 A6 */ mtlr r0 -/* 8014A380 38 21 00 10 */ addi r1, r1, 0x10 -/* 8014A384 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_npc/decTmr__8daNpcT_cFv.s b/asm/d/a/d_a_npc/decTmr__8daNpcT_cFv.s deleted file mode 100644 index f6a64e5c99..0000000000 --- a/asm/d/a/d_a_npc/decTmr__8daNpcT_cFv.s +++ /dev/null @@ -1,7 +0,0 @@ -lbl_8014CBF4: -/* 8014CBF4 80 83 0D BC */ lwz r4, 0xdbc(r3) -/* 8014CBF8 2C 04 00 00 */ cmpwi r4, 0 -/* 8014CBFC 4D 82 00 20 */ beqlr -/* 8014CC00 38 04 FF FF */ addi r0, r4, -1 -/* 8014CC04 90 03 0D BC */ stw r0, 0xdbc(r3) -/* 8014CC08 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_npc/deleteRes__8daNpcT_cFPCScPPCc.s b/asm/d/a/d_a_npc/deleteRes__8daNpcT_cFPCScPPCc.s deleted file mode 100644 index 065d28e20f..0000000000 --- a/asm/d/a/d_a_npc/deleteRes__8daNpcT_cFPCScPPCc.s +++ /dev/null @@ -1,36 +0,0 @@ -lbl_801484AC: -/* 801484AC 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 801484B0 7C 08 02 A6 */ mflr r0 -/* 801484B4 90 01 00 24 */ stw r0, 0x24(r1) -/* 801484B8 39 61 00 20 */ addi r11, r1, 0x20 -/* 801484BC 48 21 9D 19 */ bl _savegpr_27 -/* 801484C0 7C 7B 1B 78 */ mr r27, r3 -/* 801484C4 7C BC 2B 78 */ mr r28, r5 -/* 801484C8 3B A0 00 00 */ li r29, 0 -/* 801484CC 3B C0 00 00 */ li r30, 0 -/* 801484D0 7C 9F 23 78 */ mr r31, r4 -/* 801484D4 48 00 00 28 */ b lbl_801484FC -lbl_801484D8: -/* 801484D8 38 7E 08 E0 */ addi r3, r30, 0x8e0 -/* 801484DC 7C 7B 1A 14 */ add r3, r27, r3 -/* 801484E0 7C 80 07 74 */ extsb r0, r4 -/* 801484E4 54 00 10 3A */ slwi r0, r0, 2 -/* 801484E8 7C 9C 00 2E */ lwzx r4, r28, r0 -/* 801484EC 4B EE 4B 1D */ bl dComIfG_resDelete__FP30request_of_phase_process_classPCc -/* 801484F0 3B BD 00 01 */ addi r29, r29, 1 -/* 801484F4 3B FF 00 01 */ addi r31, r31, 1 -/* 801484F8 3B DE 00 08 */ addi r30, r30, 8 -lbl_801484FC: -/* 801484FC 2C 1D 00 0A */ cmpwi r29, 0xa -/* 80148500 40 80 00 14 */ bge lbl_80148514 -/* 80148504 88 9F 00 00 */ lbz r4, 0(r31) -/* 80148508 7C 80 07 74 */ extsb r0, r4 -/* 8014850C 2C 00 FF FF */ cmpwi r0, -1 -/* 80148510 40 82 FF C8 */ bne lbl_801484D8 -lbl_80148514: -/* 80148514 39 61 00 20 */ addi r11, r1, 0x20 -/* 80148518 48 21 9D 09 */ bl _restgpr_27 -/* 8014851C 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80148520 7C 08 03 A6 */ mtlr r0 -/* 80148524 38 21 00 20 */ addi r1, r1, 0x20 -/* 80148528 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_npc/entry__18daNpcT_ActorMngr_cFP10fopAc_ac_c.s b/asm/d/a/d_a_npc/entry__18daNpcT_ActorMngr_cFP10fopAc_ac_c.s deleted file mode 100644 index cb21398054..0000000000 --- a/asm/d/a/d_a_npc/entry__18daNpcT_ActorMngr_cFP10fopAc_ac_c.s +++ /dev/null @@ -1,10 +0,0 @@ -lbl_801456E0: -/* 801456E0 28 04 00 00 */ cmplwi r4, 0 -/* 801456E4 41 82 00 0C */ beq lbl_801456F0 -/* 801456E8 80 04 00 04 */ lwz r0, 4(r4) -/* 801456EC 48 00 00 08 */ b lbl_801456F4 -lbl_801456F0: -/* 801456F0 38 00 FF FF */ li r0, -1 -lbl_801456F4: -/* 801456F4 90 03 00 00 */ stw r0, 0(r3) -/* 801456F8 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_npc/getActorP__18daNpcT_ActorMngr_cFv.s b/asm/d/a/d_a_npc/getActorP__18daNpcT_ActorMngr_cFv.s deleted file mode 100644 index 6b632adace..0000000000 --- a/asm/d/a/d_a_npc/getActorP__18daNpcT_ActorMngr_cFv.s +++ /dev/null @@ -1,26 +0,0 @@ -lbl_80145708: -/* 80145708 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8014570C 7C 08 02 A6 */ mflr r0 -/* 80145710 90 01 00 14 */ stw r0, 0x14(r1) -/* 80145714 38 00 00 00 */ li r0, 0 -/* 80145718 90 01 00 08 */ stw r0, 8(r1) -/* 8014571C 80 63 00 00 */ lwz r3, 0(r3) -/* 80145720 38 81 00 08 */ addi r4, r1, 8 -/* 80145724 4B ED 42 99 */ bl fopAcM_SearchByID__FUiPP10fopAc_ac_c -/* 80145728 2C 03 00 01 */ cmpwi r3, 1 -/* 8014572C 40 82 00 24 */ bne lbl_80145750 -/* 80145730 80 61 00 08 */ lwz r3, 8(r1) -/* 80145734 28 03 00 00 */ cmplwi r3, 0 -/* 80145738 41 82 00 18 */ beq lbl_80145750 -/* 8014573C 4B ED 35 A5 */ bl fopAc_IsActor__FPv -/* 80145740 2C 03 00 00 */ cmpwi r3, 0 -/* 80145744 41 82 00 0C */ beq lbl_80145750 -/* 80145748 80 61 00 08 */ lwz r3, 8(r1) -/* 8014574C 48 00 00 08 */ b lbl_80145754 -lbl_80145750: -/* 80145750 38 60 00 00 */ li r3, 0 -lbl_80145754: -/* 80145754 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80145758 7C 08 03 A6 */ mtlr r0 -/* 8014575C 38 21 00 10 */ addi r1, r1, 0x10 -/* 80145760 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_npc/getColorAnmP__8daNpcT_cFPCci.s b/asm/d/a/d_a_npc/getColorAnmP__8daNpcT_cFPCci.s deleted file mode 100644 index a7c59ac2ea..0000000000 --- a/asm/d/a/d_a_npc/getColorAnmP__8daNpcT_cFPCci.s +++ /dev/null @@ -1,16 +0,0 @@ -lbl_80148184: -/* 80148184 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80148188 7C 08 02 A6 */ mflr r0 -/* 8014818C 90 01 00 14 */ stw r0, 0x14(r1) -/* 80148190 7C 83 23 78 */ mr r3, r4 -/* 80148194 7C A4 2B 78 */ mr r4, r5 -/* 80148198 3C A0 80 40 */ lis r5, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8014819C 38 A5 61 C0 */ addi r5, r5, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 801481A0 3C A5 00 02 */ addis r5, r5, 2 -/* 801481A4 38 C0 00 80 */ li r6, 0x80 -/* 801481A8 38 A5 C2 F8 */ addi r5, r5, -15624 -/* 801481AC 4B EF 41 41 */ bl getRes__14dRes_control_cFPCclP11dRes_info_ci -/* 801481B0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 801481B4 7C 08 03 A6 */ mtlr r0 -/* 801481B8 38 21 00 10 */ addi r1, r1, 0x10 -/* 801481BC 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_npc/getTevRegKeyAnmP__8daNpcT_cFPCci.s b/asm/d/a/d_a_npc/getTevRegKeyAnmP__8daNpcT_cFPCci.s deleted file mode 100644 index 24ea5aa0db..0000000000 --- a/asm/d/a/d_a_npc/getTevRegKeyAnmP__8daNpcT_cFPCci.s +++ /dev/null @@ -1,16 +0,0 @@ -lbl_80148148: -/* 80148148 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8014814C 7C 08 02 A6 */ mflr r0 -/* 80148150 90 01 00 14 */ stw r0, 0x14(r1) -/* 80148154 7C 83 23 78 */ mr r3, r4 -/* 80148158 7C A4 2B 78 */ mr r4, r5 -/* 8014815C 3C A0 80 40 */ lis r5, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80148160 38 A5 61 C0 */ addi r5, r5, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80148164 3C A5 00 02 */ addis r5, r5, 2 -/* 80148168 38 C0 00 80 */ li r6, 0x80 -/* 8014816C 38 A5 C2 F8 */ addi r5, r5, -15624 -/* 80148170 4B EF 41 7D */ bl getRes__14dRes_control_cFPCclP11dRes_info_ci -/* 80148174 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80148178 7C 08 03 A6 */ mtlr r0 -/* 8014817C 38 21 00 10 */ addi r1, r1, 0x10 -/* 80148180 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_npc/getTexPtrnAnmP__8daNpcT_cFPCci.s b/asm/d/a/d_a_npc/getTexPtrnAnmP__8daNpcT_cFPCci.s deleted file mode 100644 index 49577993e4..0000000000 --- a/asm/d/a/d_a_npc/getTexPtrnAnmP__8daNpcT_cFPCci.s +++ /dev/null @@ -1,16 +0,0 @@ -lbl_801480D0: -/* 801480D0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 801480D4 7C 08 02 A6 */ mflr r0 -/* 801480D8 90 01 00 14 */ stw r0, 0x14(r1) -/* 801480DC 7C 83 23 78 */ mr r3, r4 -/* 801480E0 7C A4 2B 78 */ mr r4, r5 -/* 801480E4 3C A0 80 40 */ lis r5, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 801480E8 38 A5 61 C0 */ addi r5, r5, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 801480EC 3C A5 00 02 */ addis r5, r5, 2 -/* 801480F0 38 C0 00 80 */ li r6, 0x80 -/* 801480F4 38 A5 C2 F8 */ addi r5, r5, -15624 -/* 801480F8 4B EF 41 F5 */ bl getRes__14dRes_control_cFPCclP11dRes_info_ci -/* 801480FC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80148100 7C 08 03 A6 */ mtlr r0 -/* 80148104 38 21 00 10 */ addi r1, r1, 0x10 -/* 80148108 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_npc/getTexSRTKeyAnmP__8daNpcT_cFPCci.s b/asm/d/a/d_a_npc/getTexSRTKeyAnmP__8daNpcT_cFPCci.s deleted file mode 100644 index 46411d3c64..0000000000 --- a/asm/d/a/d_a_npc/getTexSRTKeyAnmP__8daNpcT_cFPCci.s +++ /dev/null @@ -1,16 +0,0 @@ -lbl_8014810C: -/* 8014810C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80148110 7C 08 02 A6 */ mflr r0 -/* 80148114 90 01 00 14 */ stw r0, 0x14(r1) -/* 80148118 7C 83 23 78 */ mr r3, r4 -/* 8014811C 7C A4 2B 78 */ mr r4, r5 -/* 80148120 3C A0 80 40 */ lis r5, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80148124 38 A5 61 C0 */ addi r5, r5, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80148128 3C A5 00 02 */ addis r5, r5, 2 -/* 8014812C 38 C0 00 80 */ li r6, 0x80 -/* 80148130 38 A5 C2 F8 */ addi r5, r5, -15624 -/* 80148134 4B EF 41 B9 */ bl getRes__14dRes_control_cFPCclP11dRes_info_ci -/* 80148138 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8014813C 7C 08 03 A6 */ mtlr r0 -/* 80148140 38 21 00 10 */ addi r1, r1, 0x10 -/* 80148144 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_npc/getTrnsfrmAnmP__8daNpcT_cFPCci.s b/asm/d/a/d_a_npc/getTrnsfrmAnmP__8daNpcT_cFPCci.s deleted file mode 100644 index 545755c153..0000000000 --- a/asm/d/a/d_a_npc/getTrnsfrmAnmP__8daNpcT_cFPCci.s +++ /dev/null @@ -1,16 +0,0 @@ -lbl_80148058: -/* 80148058 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8014805C 7C 08 02 A6 */ mflr r0 -/* 80148060 90 01 00 14 */ stw r0, 0x14(r1) -/* 80148064 7C 83 23 78 */ mr r3, r4 -/* 80148068 7C A4 2B 78 */ mr r4, r5 -/* 8014806C 3C A0 80 40 */ lis r5, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80148070 38 A5 61 C0 */ addi r5, r5, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80148074 3C A5 00 02 */ addis r5, r5, 2 -/* 80148078 38 C0 00 80 */ li r6, 0x80 -/* 8014807C 38 A5 C2 F8 */ addi r5, r5, -15624 -/* 80148080 4B EF 42 6D */ bl getRes__14dRes_control_cFPCclP11dRes_info_ci -/* 80148084 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80148088 7C 08 03 A6 */ mtlr r0 -/* 8014808C 38 21 00 10 */ addi r1, r1, 0x10 -/* 80148090 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_npc/getTrnsfrmKeyAnmP__8daNpcT_cFPCci.s b/asm/d/a/d_a_npc/getTrnsfrmKeyAnmP__8daNpcT_cFPCci.s deleted file mode 100644 index 57a3282ecd..0000000000 --- a/asm/d/a/d_a_npc/getTrnsfrmKeyAnmP__8daNpcT_cFPCci.s +++ /dev/null @@ -1,16 +0,0 @@ -lbl_80148094: -/* 80148094 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80148098 7C 08 02 A6 */ mflr r0 -/* 8014809C 90 01 00 14 */ stw r0, 0x14(r1) -/* 801480A0 7C 83 23 78 */ mr r3, r4 -/* 801480A4 7C A4 2B 78 */ mr r4, r5 -/* 801480A8 3C A0 80 40 */ lis r5, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 801480AC 38 A5 61 C0 */ addi r5, r5, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 801480B0 3C A5 00 02 */ addis r5, r5, 2 -/* 801480B4 38 C0 00 80 */ li r6, 0x80 -/* 801480B8 38 A5 C2 F8 */ addi r5, r5, -15624 -/* 801480BC 4B EF 42 31 */ bl getRes__14dRes_control_cFPCclP11dRes_info_ci -/* 801480C0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 801480C4 7C 08 03 A6 */ mtlr r0 -/* 801480C8 38 21 00 10 */ addi r1, r1, 0x10 -/* 801480CC 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_npc/hitChk__8daNpcT_cFP12dCcD_GObjInfUl.s b/asm/d/a/d_a_npc/hitChk__8daNpcT_cFP12dCcD_GObjInfUl.s deleted file mode 100644 index 4c1ce713bb..0000000000 --- a/asm/d/a/d_a_npc/hitChk__8daNpcT_cFP12dCcD_GObjInfUl.s +++ /dev/null @@ -1,40 +0,0 @@ -lbl_8014AA40: -/* 8014AA40 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8014AA44 7C 08 02 A6 */ mflr r0 -/* 8014AA48 90 01 00 24 */ stw r0, 0x24(r1) -/* 8014AA4C 39 61 00 20 */ addi r11, r1, 0x20 -/* 8014AA50 48 21 77 8D */ bl _savegpr_29 -/* 8014AA54 7C 7D 1B 78 */ mr r29, r3 -/* 8014AA58 7C 9E 23 78 */ mr r30, r4 -/* 8014AA5C 7C BF 2B 78 */ mr r31, r5 -/* 8014AA60 80 64 00 44 */ lwz r3, 0x44(r4) -/* 8014AA64 38 63 00 1C */ addi r3, r3, 0x1c -/* 8014AA68 4B F3 8D C9 */ bl Move__10dCcD_GSttsFv -/* 8014AA6C 80 1D 0D BC */ lwz r0, 0xdbc(r29) -/* 8014AA70 2C 00 00 00 */ cmpwi r0, 0 -/* 8014AA74 40 82 00 40 */ bne lbl_8014AAB4 -/* 8014AA78 38 7E 00 9C */ addi r3, r30, 0x9c -/* 8014AA7C 4B F3 8C 0D */ bl GetAc__22dCcD_GAtTgCoCommonBaseFv -/* 8014AA80 7C 64 1B 79 */ or. r4, r3, r3 -/* 8014AA84 41 82 00 30 */ beq lbl_8014AAB4 -/* 8014AA88 A8 04 00 08 */ lha r0, 8(r4) -/* 8014AA8C 2C 00 01 00 */ cmpwi r0, 0x100 -/* 8014AA90 40 82 00 1C */ bne lbl_8014AAAC -/* 8014AA94 57 E0 07 FF */ clrlwi. r0, r31, 0x1f -/* 8014AA98 41 82 00 14 */ beq lbl_8014AAAC -/* 8014AA9C A0 04 06 BE */ lhz r0, 0x6be(r4) -/* 8014AAA0 60 00 00 04 */ ori r0, r0, 4 -/* 8014AAA4 B0 04 06 BE */ sth r0, 0x6be(r4) -/* 8014AAA8 48 00 00 10 */ b lbl_8014AAB8 -lbl_8014AAAC: -/* 8014AAAC 7C 83 23 78 */ mr r3, r4 -/* 8014AAB0 48 00 00 08 */ b lbl_8014AAB8 -lbl_8014AAB4: -/* 8014AAB4 38 60 00 00 */ li r3, 0 -lbl_8014AAB8: -/* 8014AAB8 39 61 00 20 */ addi r11, r1, 0x20 -/* 8014AABC 48 21 77 6D */ bl _restgpr_29 -/* 8014AAC0 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8014AAC4 7C 08 03 A6 */ mtlr r0 -/* 8014AAC8 38 21 00 20 */ addi r1, r1, 0x20 -/* 8014AACC 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_npc/initialize__15daNpcT_JntAnm_cFv.s b/asm/d/a/d_a_npc/initialize__15daNpcT_JntAnm_cFv.s deleted file mode 100644 index 05b26bf8d7..0000000000 --- a/asm/d/a/d_a_npc/initialize__15daNpcT_JntAnm_cFv.s +++ /dev/null @@ -1,17 +0,0 @@ -lbl_80146C98: -/* 80146C98 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80146C9C 7C 08 02 A6 */ mflr r0 -/* 80146CA0 90 01 00 14 */ stw r0, 0x14(r1) -/* 80146CA4 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80146CA8 7C 7F 1B 78 */ mr r31, r3 -/* 80146CAC 4B FF EA 29 */ bl initialize__18daNpcT_ActorMngr_cFv -/* 80146CB0 38 7F 00 14 */ addi r3, r31, 0x14 -/* 80146CB4 38 80 00 00 */ li r4, 0 -/* 80146CB8 38 1F 01 58 */ addi r0, r31, 0x158 -/* 80146CBC 7C A3 00 50 */ subf r5, r3, r0 -/* 80146CC0 4B EB C7 99 */ bl memset -/* 80146CC4 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80146CC8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80146CCC 7C 08 03 A6 */ mtlr r0 -/* 80146CD0 38 21 00 10 */ addi r1, r1, 0x10 -/* 80146CD4 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_npc/initialize__18daNpcT_ActorMngr_cFv.s b/asm/d/a/d_a_npc/initialize__18daNpcT_ActorMngr_cFv.s deleted file mode 100644 index 7bcd20e123..0000000000 --- a/asm/d/a/d_a_npc/initialize__18daNpcT_ActorMngr_cFv.s +++ /dev/null @@ -1,4 +0,0 @@ -lbl_801456D4: -/* 801456D4 38 00 FF FF */ li r0, -1 -/* 801456D8 90 03 00 00 */ stw r0, 0(r3) -/* 801456DC 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_npc/initialize__22daNpcT_MotionSeqMngr_cFv.s b/asm/d/a/d_a_npc/initialize__22daNpcT_MotionSeqMngr_cFv.s deleted file mode 100644 index 19c51f19a6..0000000000 --- a/asm/d/a/d_a_npc/initialize__22daNpcT_MotionSeqMngr_cFv.s +++ /dev/null @@ -1,11 +0,0 @@ -lbl_80145898: -/* 80145898 38 80 00 00 */ li r4, 0 -/* 8014589C 90 83 00 08 */ stw r4, 8(r3) -/* 801458A0 90 83 00 0C */ stw r4, 0xc(r3) -/* 801458A4 90 83 00 10 */ stw r4, 0x10(r3) -/* 801458A8 38 00 FF FF */ li r0, -1 -/* 801458AC 90 03 00 14 */ stw r0, 0x14(r3) -/* 801458B0 C0 02 99 E8 */ lfs f0, lit_4148(r2) -/* 801458B4 D0 03 00 18 */ stfs f0, 0x18(r3) -/* 801458B8 98 83 00 1C */ stb r4, 0x1c(r3) -/* 801458BC 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_npc/loadRes__8daNpcT_cFPCScPPCc.s b/asm/d/a/d_a_npc/loadRes__8daNpcT_cFPCScPPCc.s deleted file mode 100644 index 2715ae61da..0000000000 --- a/asm/d/a/d_a_npc/loadRes__8daNpcT_cFPCScPPCc.s +++ /dev/null @@ -1,53 +0,0 @@ -lbl_801483F8: -/* 801483F8 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 801483FC 7C 08 02 A6 */ mflr r0 -/* 80148400 90 01 00 24 */ stw r0, 0x24(r1) -/* 80148404 39 61 00 20 */ addi r11, r1, 0x20 -/* 80148408 48 21 9D C9 */ bl _savegpr_26 -/* 8014840C 7C 7A 1B 78 */ mr r26, r3 -/* 80148410 7C BB 2B 78 */ mr r27, r5 -/* 80148414 3B A0 00 00 */ li r29, 0 -/* 80148418 3B 80 00 00 */ li r28, 0 -/* 8014841C 3B E0 00 00 */ li r31, 0 -/* 80148420 7C 9E 23 78 */ mr r30, r4 -lbl_80148424: -/* 80148424 88 1E 00 00 */ lbz r0, 0(r30) -/* 80148428 7C 00 07 74 */ extsb r0, r0 -/* 8014842C 2C 00 FF FF */ cmpwi r0, -1 -/* 80148430 40 82 00 14 */ bne lbl_80148444 -/* 80148434 7C 1C E8 00 */ cmpw r28, r29 -/* 80148438 40 82 00 58 */ bne lbl_80148490 -/* 8014843C 38 60 00 04 */ li r3, 4 -/* 80148440 48 00 00 54 */ b lbl_80148494 -lbl_80148444: -/* 80148444 38 7F 08 E0 */ addi r3, r31, 0x8e0 -/* 80148448 7C 7A 1A 14 */ add r3, r26, r3 -/* 8014844C 54 00 10 3A */ slwi r0, r0, 2 -/* 80148450 7C 9B 00 2E */ lwzx r4, r27, r0 -/* 80148454 4B EE 4A 69 */ bl dComIfG_resLoad__FP30request_of_phase_process_classPCc -/* 80148458 2C 03 00 04 */ cmpwi r3, 4 -/* 8014845C 40 82 00 08 */ bne lbl_80148464 -/* 80148460 3B BD 00 01 */ addi r29, r29, 1 -lbl_80148464: -/* 80148464 2C 03 00 05 */ cmpwi r3, 5 -/* 80148468 41 82 00 0C */ beq lbl_80148474 -/* 8014846C 2C 03 00 03 */ cmpwi r3, 3 -/* 80148470 40 82 00 0C */ bne lbl_8014847C -lbl_80148474: -/* 80148474 38 60 00 05 */ li r3, 5 -/* 80148478 48 00 00 1C */ b lbl_80148494 -lbl_8014847C: -/* 8014847C 3B 9C 00 01 */ addi r28, r28, 1 -/* 80148480 2C 1C 00 0A */ cmpwi r28, 0xa -/* 80148484 3B FF 00 08 */ addi r31, r31, 8 -/* 80148488 3B DE 00 01 */ addi r30, r30, 1 -/* 8014848C 41 80 FF 98 */ blt lbl_80148424 -lbl_80148490: -/* 80148490 38 60 00 00 */ li r3, 0 -lbl_80148494: -/* 80148494 39 61 00 20 */ addi r11, r1, 0x20 -/* 80148498 48 21 9D 85 */ bl _restgpr_26 -/* 8014849C 80 01 00 24 */ lwz r0, 0x24(r1) -/* 801484A0 7C 08 03 A6 */ mtlr r0 -/* 801484A4 38 21 00 20 */ addi r1, r1, 0x20 -/* 801484A8 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_npc/remove__18daNpcT_ActorMngr_cFv.s b/asm/d/a/d_a_npc/remove__18daNpcT_ActorMngr_cFv.s deleted file mode 100644 index e306639073..0000000000 --- a/asm/d/a/d_a_npc/remove__18daNpcT_ActorMngr_cFv.s +++ /dev/null @@ -1,4 +0,0 @@ -lbl_801456FC: -/* 801456FC 38 00 FF FF */ li r0, -1 -/* 80145700 90 03 00 00 */ stw r0, 0(r3) -/* 80145704 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_npc/setAngle__8daNpcT_cF5csXyz.s b/asm/d/a/d_a_npc/setAngle__8daNpcT_cF5csXyz.s deleted file mode 100644 index 66ee9e5a49..0000000000 --- a/asm/d/a/d_a_npc/setAngle__8daNpcT_cF5csXyz.s +++ /dev/null @@ -1,32 +0,0 @@ -lbl_8014A99C: -/* 8014A99C A8 04 00 00 */ lha r0, 0(r4) -/* 8014A9A0 B0 03 04 DC */ sth r0, 0x4dc(r3) -/* 8014A9A4 A8 04 00 02 */ lha r0, 2(r4) -/* 8014A9A8 B0 03 04 DE */ sth r0, 0x4de(r3) -/* 8014A9AC A8 04 00 04 */ lha r0, 4(r4) -/* 8014A9B0 B0 03 04 E0 */ sth r0, 0x4e0(r3) -/* 8014A9B4 A8 03 04 DC */ lha r0, 0x4dc(r3) -/* 8014A9B8 B0 03 04 E4 */ sth r0, 0x4e4(r3) -/* 8014A9BC A8 03 04 DE */ lha r0, 0x4de(r3) -/* 8014A9C0 B0 03 04 E6 */ sth r0, 0x4e6(r3) -/* 8014A9C4 A8 03 04 E0 */ lha r0, 0x4e0(r3) -/* 8014A9C8 B0 03 04 E8 */ sth r0, 0x4e8(r3) -/* 8014A9CC A8 03 04 DC */ lha r0, 0x4dc(r3) -/* 8014A9D0 B0 03 0D 78 */ sth r0, 0xd78(r3) -/* 8014A9D4 A8 03 04 DE */ lha r0, 0x4de(r3) -/* 8014A9D8 B0 03 0D 7A */ sth r0, 0xd7a(r3) -/* 8014A9DC A8 03 04 E0 */ lha r0, 0x4e0(r3) -/* 8014A9E0 B0 03 0D 7C */ sth r0, 0xd7c(r3) -/* 8014A9E4 A8 03 0D 78 */ lha r0, 0xd78(r3) -/* 8014A9E8 B0 03 0D 7E */ sth r0, 0xd7e(r3) -/* 8014A9EC A8 03 0D 7A */ lha r0, 0xd7a(r3) -/* 8014A9F0 B0 03 0D 80 */ sth r0, 0xd80(r3) -/* 8014A9F4 A8 03 0D 7C */ lha r0, 0xd7c(r3) -/* 8014A9F8 B0 03 0D 82 */ sth r0, 0xd82(r3) -/* 8014A9FC A8 03 04 DC */ lha r0, 0x4dc(r3) -/* 8014AA00 B0 03 04 C8 */ sth r0, 0x4c8(r3) -/* 8014AA04 A8 03 04 DE */ lha r0, 0x4de(r3) -/* 8014AA08 B0 03 04 CA */ sth r0, 0x4ca(r3) -/* 8014AA0C A8 03 04 E0 */ lha r0, 0x4e0(r3) -/* 8014AA10 B0 03 04 CC */ sth r0, 0x4cc(r3) -/* 8014AA14 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_npc/setAngle__8daNpcT_cFs.s b/asm/d/a/d_a_npc/setAngle__8daNpcT_cFs.s deleted file mode 100644 index 7d15d3468f..0000000000 --- a/asm/d/a/d_a_npc/setAngle__8daNpcT_cFs.s +++ /dev/null @@ -1,11 +0,0 @@ -lbl_8014AA18: -/* 8014AA18 B0 83 04 DE */ sth r4, 0x4de(r3) -/* 8014AA1C A8 03 04 DE */ lha r0, 0x4de(r3) -/* 8014AA20 B0 03 04 E6 */ sth r0, 0x4e6(r3) -/* 8014AA24 A8 03 04 DE */ lha r0, 0x4de(r3) -/* 8014AA28 B0 03 0D 7A */ sth r0, 0xd7a(r3) -/* 8014AA2C A8 03 0D 7A */ lha r0, 0xd7a(r3) -/* 8014AA30 B0 03 0D 80 */ sth r0, 0xd80(r3) -/* 8014AA34 A8 03 04 DE */ lha r0, 0x4de(r3) -/* 8014AA38 B0 03 04 CA */ sth r0, 0x4ca(r3) -/* 8014AA3C 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_npc/setBckAnm__8daNpcT_cFP15J3DAnmTransformfiiib.s b/asm/d/a/d_a_npc/setBckAnm__8daNpcT_cFP15J3DAnmTransformfiiib.s deleted file mode 100644 index 1d66048b37..0000000000 --- a/asm/d/a/d_a_npc/setBckAnm__8daNpcT_cFP15J3DAnmTransformfiiib.s +++ /dev/null @@ -1,18 +0,0 @@ -lbl_801481C0: -/* 801481C0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 801481C4 7C 08 02 A6 */ mflr r0 -/* 801481C8 90 01 00 14 */ stw r0, 0x14(r1) -/* 801481CC 7C AB 2B 78 */ mr r11, r5 -/* 801481D0 7C CA 33 78 */ mr r10, r6 -/* 801481D4 7C E0 3B 78 */ mr r0, r7 -/* 801481D8 7D 09 43 78 */ mr r9, r8 -/* 801481DC 38 A0 00 01 */ li r5, 1 -/* 801481E0 7D 66 5B 78 */ mr r6, r11 -/* 801481E4 7D 47 07 34 */ extsh r7, r10 -/* 801481E8 7C 08 07 34 */ extsh r8, r0 -/* 801481EC 38 63 06 10 */ addi r3, r3, 0x610 -/* 801481F0 4B EC 55 ED */ bl init__13mDoExt_bckAnmFP15J3DAnmTransformiifssb -/* 801481F4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 801481F8 7C 08 03 A6 */ mtlr r0 -/* 801481FC 38 21 00 10 */ addi r1, r1, 0x10 -/* 80148200 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_npc/setBpkAnm__8daNpcT_cFP11J3DAnmColorP12J3DModelDatafi.s b/asm/d/a/d_a_npc/setBpkAnm__8daNpcT_cFP11J3DAnmColorP12J3DModelDatafi.s deleted file mode 100644 index fe3f184851..0000000000 --- a/asm/d/a/d_a_npc/setBpkAnm__8daNpcT_cFP11J3DAnmColorP12J3DModelDatafi.s +++ /dev/null @@ -1,17 +0,0 @@ -lbl_801483B8: -/* 801483B8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 801483BC 7C 08 02 A6 */ mflr r0 -/* 801483C0 90 01 00 14 */ stw r0, 0x14(r1) -/* 801483C4 7C 80 23 78 */ mr r0, r4 -/* 801483C8 7C C7 33 78 */ mr r7, r6 -/* 801483CC 38 85 00 58 */ addi r4, r5, 0x58 -/* 801483D0 7C 05 03 78 */ mr r5, r0 -/* 801483D4 38 C0 00 01 */ li r6, 1 -/* 801483D8 39 00 00 00 */ li r8, 0 -/* 801483DC 39 20 FF FF */ li r9, -1 -/* 801483E0 38 63 06 74 */ addi r3, r3, 0x674 -/* 801483E4 4B EC 50 99 */ bl init__13mDoExt_bpkAnmFP16J3DMaterialTableP11J3DAnmColoriifss -/* 801483E8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 801483EC 7C 08 03 A6 */ mtlr r0 -/* 801483F0 38 21 00 10 */ addi r1, r1, 0x10 -/* 801483F4 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_npc/setBrkAnm__8daNpcT_cFP15J3DAnmTevRegKeyP12J3DModelDatafi.s b/asm/d/a/d_a_npc/setBrkAnm__8daNpcT_cFP15J3DAnmTevRegKeyP12J3DModelDatafi.s deleted file mode 100644 index f9d6e1baf8..0000000000 --- a/asm/d/a/d_a_npc/setBrkAnm__8daNpcT_cFP15J3DAnmTevRegKeyP12J3DModelDatafi.s +++ /dev/null @@ -1,17 +0,0 @@ -lbl_80148378: -/* 80148378 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8014837C 7C 08 02 A6 */ mflr r0 -/* 80148380 90 01 00 14 */ stw r0, 0x14(r1) -/* 80148384 7C 80 23 78 */ mr r0, r4 -/* 80148388 7C C7 33 78 */ mr r7, r6 -/* 8014838C 38 85 00 58 */ addi r4, r5, 0x58 -/* 80148390 7C 05 03 78 */ mr r5, r0 -/* 80148394 38 C0 00 01 */ li r6, 1 -/* 80148398 39 00 00 00 */ li r8, 0 -/* 8014839C 39 20 FF FF */ li r9, -1 -/* 801483A0 38 63 06 5C */ addi r3, r3, 0x65c -/* 801483A4 4B EC 53 69 */ bl init__13mDoExt_brkAnmFP16J3DMaterialTableP15J3DAnmTevRegKeyiifss -/* 801483A8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 801483AC 7C 08 03 A6 */ mtlr r0 -/* 801483B0 38 21 00 10 */ addi r1, r1, 0x10 -/* 801483B4 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_npc/setBtkAnm__8daNpcT_cFP19J3DAnmTextureSRTKeyP12J3DModelDatafi.s b/asm/d/a/d_a_npc/setBtkAnm__8daNpcT_cFP19J3DAnmTextureSRTKeyP12J3DModelDatafi.s deleted file mode 100644 index 9c48ba38bb..0000000000 --- a/asm/d/a/d_a_npc/setBtkAnm__8daNpcT_cFP19J3DAnmTextureSRTKeyP12J3DModelDatafi.s +++ /dev/null @@ -1,17 +0,0 @@ -lbl_80148338: -/* 80148338 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8014833C 7C 08 02 A6 */ mflr r0 -/* 80148340 90 01 00 14 */ stw r0, 0x14(r1) -/* 80148344 7C 80 23 78 */ mr r0, r4 -/* 80148348 7C C7 33 78 */ mr r7, r6 -/* 8014834C 38 85 00 58 */ addi r4, r5, 0x58 -/* 80148350 7C 05 03 78 */ mr r5, r0 -/* 80148354 38 C0 00 01 */ li r6, 1 -/* 80148358 39 00 00 00 */ li r8, 0 -/* 8014835C 39 20 FF FF */ li r9, -1 -/* 80148360 38 63 06 44 */ addi r3, r3, 0x644 -/* 80148364 4B EC 52 D9 */ bl init__13mDoExt_btkAnmFP16J3DMaterialTableP19J3DAnmTextureSRTKeyiifss -/* 80148368 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8014836C 7C 08 03 A6 */ mtlr r0 -/* 80148370 38 21 00 10 */ addi r1, r1, 0x10 -/* 80148374 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_npc/setBtpAnm__8daNpcT_cFP16J3DAnmTexPatternP12J3DModelDatafi.s b/asm/d/a/d_a_npc/setBtpAnm__8daNpcT_cFP16J3DAnmTexPatternP12J3DModelDatafi.s deleted file mode 100644 index afd72a934b..0000000000 --- a/asm/d/a/d_a_npc/setBtpAnm__8daNpcT_cFP16J3DAnmTexPatternP12J3DModelDatafi.s +++ /dev/null @@ -1,17 +0,0 @@ -lbl_801482F8: -/* 801482F8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 801482FC 7C 08 02 A6 */ mflr r0 -/* 80148300 90 01 00 14 */ stw r0, 0x14(r1) -/* 80148304 7C 80 23 78 */ mr r0, r4 -/* 80148308 7C C7 33 78 */ mr r7, r6 -/* 8014830C 38 85 00 58 */ addi r4, r5, 0x58 -/* 80148310 7C 05 03 78 */ mr r5, r0 -/* 80148314 38 C0 00 01 */ li r6, 1 -/* 80148318 39 00 00 00 */ li r8, 0 -/* 8014831C 39 20 FF FF */ li r9, -1 -/* 80148320 38 63 06 2C */ addi r3, r3, 0x62c -/* 80148324 4B EC 52 29 */ bl init__13mDoExt_btpAnmFP16J3DMaterialTableP16J3DAnmTexPatterniifss -/* 80148328 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8014832C 7C 08 03 A6 */ mtlr r0 -/* 80148330 38 21 00 10 */ addi r1, r1, 0x10 -/* 80148334 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_npc/setEnvTevColor__8daNpcT_cFv.s b/asm/d/a/d_a_npc/setEnvTevColor__8daNpcT_cFv.s deleted file mode 100644 index a4d75d4c38..0000000000 --- a/asm/d/a/d_a_npc/setEnvTevColor__8daNpcT_cFv.s +++ /dev/null @@ -1,24 +0,0 @@ -lbl_80148C70: -/* 80148C70 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80148C74 7C 08 02 A6 */ mflr r0 -/* 80148C78 90 01 00 14 */ stw r0, 0x14(r1) -/* 80148C7C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80148C80 93 C1 00 08 */ stw r30, 8(r1) -/* 80148C84 7C 7E 1B 78 */ mr r30, r3 -/* 80148C88 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80148C8C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80148C90 3B E3 0F 38 */ addi r31, r3, 0xf38 -/* 80148C94 7F E3 FB 78 */ mr r3, r31 -/* 80148C98 38 9E 09 44 */ addi r4, r30, 0x944 -/* 80148C9C 4B F2 BF 4D */ bl GetPolyColor__4dBgSFRC13cBgS_PolyInfo -/* 80148CA0 98 7E 04 8D */ stb r3, 0x48d(r30) -/* 80148CA4 7F E3 FB 78 */ mr r3, r31 -/* 80148CA8 38 9E 09 44 */ addi r4, r30, 0x944 -/* 80148CAC 4B F2 C4 55 */ bl GetRoomId__4dBgSFRC13cBgS_PolyInfo -/* 80148CB0 98 7E 04 8C */ stb r3, 0x48c(r30) -/* 80148CB4 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80148CB8 83 C1 00 08 */ lwz r30, 8(r1) -/* 80148CBC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80148CC0 7C 08 03 A6 */ mtlr r0 -/* 80148CC4 38 21 00 10 */ addi r1, r1, 0x10 -/* 80148CC8 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_npc/setMtx__8daNpcT_cFv.s b/asm/d/a/d_a_npc/setMtx__8daNpcT_cFv.s deleted file mode 100644 index 20f03a1f90..0000000000 --- a/asm/d/a/d_a_npc/setMtx__8daNpcT_cFv.s +++ /dev/null @@ -1,50 +0,0 @@ -lbl_80149190: -/* 80149190 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80149194 7C 08 02 A6 */ mflr r0 -/* 80149198 90 01 00 14 */ stw r0, 0x14(r1) -/* 8014919C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 801491A0 93 C1 00 08 */ stw r30, 8(r1) -/* 801491A4 7C 7E 1B 78 */ mr r30, r3 -/* 801491A8 80 63 05 78 */ lwz r3, 0x578(r3) -/* 801491AC 83 E3 00 04 */ lwz r31, 4(r3) -/* 801491B0 38 7E 04 D0 */ addi r3, r30, 0x4d0 -/* 801491B4 4B EC 3B B1 */ bl transS__14mDoMtx_stack_cFRC4cXyz -/* 801491B8 38 7E 0D 78 */ addi r3, r30, 0xd78 -/* 801491BC 4B EC 3D 89 */ bl ZXYrotM__14mDoMtx_stack_cFRC5csXyz -/* 801491C0 38 7E 04 EC */ addi r3, r30, 0x4ec -/* 801491C4 4B EC 3C AD */ bl scaleM__14mDoMtx_stack_cFRC4cXyz -/* 801491C8 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */ -/* 801491CC 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */ -/* 801491D0 38 9F 00 24 */ addi r4, r31, 0x24 -/* 801491D4 48 1F D2 DD */ bl PSMTXCopy -/* 801491D8 93 DF 00 14 */ stw r30, 0x14(r31) -/* 801491DC 38 00 00 01 */ li r0, 1 -/* 801491E0 80 7E 05 78 */ lwz r3, 0x578(r30) -/* 801491E4 98 03 00 55 */ stb r0, 0x55(r3) -/* 801491E8 C0 1E 0D FC */ lfs f0, 0xdfc(r30) -/* 801491EC FC 00 02 10 */ fabs f0, f0 -/* 801491F0 FC 20 00 18 */ frsp f1, f0 -/* 801491F4 C0 0D 8C 00 */ lfs f0, G_CM3D_F_ABS_MIN(r13) -/* 801491F8 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 801491FC 7C 00 00 26 */ mfcr r0 -/* 80149200 54 00 0F FF */ rlwinm. r0, r0, 1, 0x1f, 0x1f -/* 80149204 41 82 00 10 */ beq lbl_80149214 -/* 80149208 38 00 00 00 */ li r0, 0 -/* 8014920C 80 7E 05 78 */ lwz r3, 0x578(r30) -/* 80149210 98 03 00 55 */ stb r0, 0x55(r3) -lbl_80149214: -/* 80149214 80 1E 0D 98 */ lwz r0, 0xd98(r30) -/* 80149218 54 00 05 6B */ rlwinm. r0, r0, 0, 0x15, 0x15 -/* 8014921C 41 82 00 10 */ beq lbl_8014922C -/* 80149220 C0 1E 06 20 */ lfs f0, 0x620(r30) -/* 80149224 80 7E 06 24 */ lwz r3, 0x624(r30) -/* 80149228 D0 03 00 08 */ stfs f0, 8(r3) -lbl_8014922C: -/* 8014922C 80 7E 05 78 */ lwz r3, 0x578(r30) -/* 80149230 4B EC 7F BD */ bl modelCalc__16mDoExt_McaMorfSOFv -/* 80149234 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80149238 83 C1 00 08 */ lwz r30, 8(r1) -/* 8014923C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80149240 7C 08 03 A6 */ mtlr r0 -/* 80149244 38 21 00 10 */ addi r1, r1, 0x10 -/* 80149248 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_npc/setPos__8daNpcT_cF4cXyz.s b/asm/d/a/d_a_npc/setPos__8daNpcT_cF4cXyz.s deleted file mode 100644 index 7c8556ca10..0000000000 --- a/asm/d/a/d_a_npc/setPos__8daNpcT_cF4cXyz.s +++ /dev/null @@ -1,38 +0,0 @@ -lbl_8014A908: -/* 8014A908 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8014A90C 7C 08 02 A6 */ mflr r0 -/* 8014A910 90 01 00 14 */ stw r0, 0x14(r1) -/* 8014A914 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8014A918 93 C1 00 08 */ stw r30, 8(r1) -/* 8014A91C 7C 7E 1B 78 */ mr r30, r3 -/* 8014A920 7C 9F 23 78 */ mr r31, r4 -/* 8014A924 C0 24 00 04 */ lfs f1, 4(r4) -/* 8014A928 C0 02 9A 48 */ lfs f0, lit_6667(r2) -/* 8014A92C EC 01 00 2A */ fadds f0, f1, f0 -/* 8014A930 D0 04 00 04 */ stfs f0, 4(r4) -/* 8014A934 38 7E 09 30 */ addi r3, r30, 0x930 -/* 8014A938 48 11 D3 F1 */ bl SetPos__11cBgS_GndChkFPC4cXyz -/* 8014A93C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8014A940 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8014A944 38 63 0F 38 */ addi r3, r3, 0xf38 -/* 8014A948 38 9E 09 30 */ addi r4, r30, 0x930 -/* 8014A94C 4B F2 9B 55 */ bl GroundCross__4cBgSFP11cBgS_GndChk -/* 8014A950 D0 3F 00 04 */ stfs f1, 4(r31) -/* 8014A954 C0 1F 00 00 */ lfs f0, 0(r31) -/* 8014A958 D0 1E 04 D0 */ stfs f0, 0x4d0(r30) -/* 8014A95C C0 1F 00 04 */ lfs f0, 4(r31) -/* 8014A960 D0 1E 04 D4 */ stfs f0, 0x4d4(r30) -/* 8014A964 C0 1F 00 08 */ lfs f0, 8(r31) -/* 8014A968 D0 1E 04 D8 */ stfs f0, 0x4d8(r30) -/* 8014A96C C0 1E 04 D0 */ lfs f0, 0x4d0(r30) -/* 8014A970 D0 1E 04 BC */ stfs f0, 0x4bc(r30) -/* 8014A974 C0 1E 04 D4 */ lfs f0, 0x4d4(r30) -/* 8014A978 D0 1E 04 C0 */ stfs f0, 0x4c0(r30) -/* 8014A97C C0 1E 04 D8 */ lfs f0, 0x4d8(r30) -/* 8014A980 D0 1E 04 C4 */ stfs f0, 0x4c4(r30) -/* 8014A984 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8014A988 83 C1 00 08 */ lwz r30, 8(r1) -/* 8014A98C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8014A990 7C 08 03 A6 */ mtlr r0 -/* 8014A994 38 21 00 10 */ addi r1, r1, 0x10 -/* 8014A998 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_npc/setRoomNo__8daNpcT_cFv.s b/asm/d/a/d_a_npc/setRoomNo__8daNpcT_cFv.s deleted file mode 100644 index 801ae3a36f..0000000000 --- a/asm/d/a/d_a_npc/setRoomNo__8daNpcT_cFv.s +++ /dev/null @@ -1,18 +0,0 @@ -lbl_80148CCC: -/* 80148CCC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80148CD0 7C 08 02 A6 */ mflr r0 -/* 80148CD4 90 01 00 14 */ stw r0, 0x14(r1) -/* 80148CD8 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80148CDC 7C 7F 1B 78 */ mr r31, r3 -/* 80148CE0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80148CE4 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80148CE8 38 63 0F 38 */ addi r3, r3, 0xf38 -/* 80148CEC 38 9F 09 44 */ addi r4, r31, 0x944 -/* 80148CF0 4B F2 C4 11 */ bl GetRoomId__4dBgSFRC13cBgS_PolyInfo -/* 80148CF4 98 7F 04 E2 */ stb r3, 0x4e2(r31) -/* 80148CF8 98 7F 08 86 */ stb r3, 0x886(r31) -/* 80148CFC 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80148D00 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80148D04 7C 08 03 A6 */ mtlr r0 -/* 80148D08 38 21 00 10 */ addi r1, r1, 0x10 -/* 80148D0C 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_npc/srchActor__8daNpcT_cFPvPv.s b/asm/d/a/d_a_npc/srchActor__8daNpcT_cFPvPv.s deleted file mode 100644 index f4d62522c6..0000000000 --- a/asm/d/a/d_a_npc/srchActor__8daNpcT_cFPvPv.s +++ /dev/null @@ -1,35 +0,0 @@ -lbl_80147FD4: -/* 80147FD4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80147FD8 7C 08 02 A6 */ mflr r0 -/* 80147FDC 90 01 00 14 */ stw r0, 0x14(r1) -/* 80147FE0 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80147FE4 93 C1 00 08 */ stw r30, 8(r1) -/* 80147FE8 7C 7E 1B 78 */ mr r30, r3 -/* 80147FEC 7C 9F 23 78 */ mr r31, r4 -/* 80147FF0 80 0D 8A 5C */ lwz r0, mFindCount__8daNpcT_c(r13) -/* 80147FF4 2C 00 00 32 */ cmpwi r0, 0x32 -/* 80147FF8 40 80 00 44 */ bge lbl_8014803C -/* 80147FFC 4B ED 0C E5 */ bl fopAc_IsActor__FPv -/* 80148000 2C 03 00 00 */ cmpwi r3, 0 -/* 80148004 41 82 00 38 */ beq lbl_8014803C -/* 80148008 7C 1E F8 40 */ cmplw r30, r31 -/* 8014800C 41 82 00 30 */ beq lbl_8014803C -/* 80148010 A8 6D 8A 58 */ lha r3, mSrchName__8daNpcT_c(r13) -/* 80148014 A8 1E 00 08 */ lha r0, 8(r30) -/* 80148018 7C 03 00 00 */ cmpw r3, r0 -/* 8014801C 40 82 00 20 */ bne lbl_8014803C -/* 80148020 80 8D 8A 5C */ lwz r4, mFindCount__8daNpcT_c(r13) -/* 80148024 54 80 10 3A */ slwi r0, r4, 2 -/* 80148028 3C 60 80 42 */ lis r3, mFindActorPtrs__8daNpcT_c@ha /* 0x80425708@ha */ -/* 8014802C 38 63 57 08 */ addi r3, r3, mFindActorPtrs__8daNpcT_c@l /* 0x80425708@l */ -/* 80148030 7F C3 01 2E */ stwx r30, r3, r0 -/* 80148034 38 04 00 01 */ addi r0, r4, 1 -/* 80148038 90 0D 8A 5C */ stw r0, mFindCount__8daNpcT_c(r13) -lbl_8014803C: -/* 8014803C 38 60 00 00 */ li r3, 0 -/* 80148040 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80148044 83 C1 00 08 */ lwz r30, 8(r1) -/* 80148048 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8014804C 7C 08 03 A6 */ mtlr r0 -/* 80148050 38 21 00 10 */ addi r1, r1, 0x10 -/* 80148054 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_npc/twilight__8daNpcT_cFv.s b/asm/d/a/d_a_npc/twilight__8daNpcT_cFv.s deleted file mode 100644 index 8dcaaaac39..0000000000 --- a/asm/d/a/d_a_npc/twilight__8daNpcT_cFv.s +++ /dev/null @@ -1,21 +0,0 @@ -lbl_8014A064: -/* 8014A064 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8014A068 7C 08 02 A6 */ mflr r0 -/* 8014A06C 90 01 00 14 */ stw r0, 0x14(r1) -/* 8014A070 88 03 0A 89 */ lbz r0, 0xa89(r3) -/* 8014A074 28 00 00 00 */ cmplwi r0, 0 -/* 8014A078 41 82 00 28 */ beq lbl_8014A0A0 -/* 8014A07C 80 03 05 5C */ lwz r0, 0x55c(r3) -/* 8014A080 64 00 00 40 */ oris r0, r0, 0x40 -/* 8014A084 90 03 05 5C */ stw r0, 0x55c(r3) -/* 8014A088 38 00 00 00 */ li r0, 0 -/* 8014A08C 98 03 0E 2B */ stb r0, 0xe2b(r3) -/* 8014A090 80 03 05 5C */ lwz r0, 0x55c(r3) -/* 8014A094 64 00 00 80 */ oris r0, r0, 0x80 -/* 8014A098 90 03 05 5C */ stw r0, 0x55c(r3) -/* 8014A09C 48 00 1F 95 */ bl setHitodamaPrtcl__8daNpcT_cFv -lbl_8014A0A0: -/* 8014A0A0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8014A0A4 7C 08 03 A6 */ mtlr r0 -/* 8014A0A8 38 21 00 10 */ addi r1, r1, 0x10 -/* 8014A0AC 4E 80 00 20 */ blr diff --git a/asm/d/kankyo/d_kankyo/__sinit_d_kankyo_cpp.s b/asm/d/kankyo/d_kankyo/__sinit_d_kankyo_cpp.s deleted file mode 100644 index 51f4c77f61..0000000000 --- a/asm/d/kankyo/d_kankyo/__sinit_d_kankyo_cpp.s +++ /dev/null @@ -1,24 +0,0 @@ -lbl_801ADCA4: -/* 801ADCA4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 801ADCA8 7C 08 02 A6 */ mflr r0 -/* 801ADCAC 90 01 00 14 */ stw r0, 0x14(r1) -/* 801ADCB0 93 E1 00 0C */ stw r31, 0xc(r1) -/* 801ADCB4 3C 60 80 43 */ lis r3, lit_4112@ha /* 0x8042CA48@ha */ -/* 801ADCB8 3B E3 CA 48 */ addi r31, r3, lit_4112@l /* 0x8042CA48@l */ -/* 801ADCBC 38 7F 00 0C */ addi r3, r31, 0xc -/* 801ADCC0 4B FF 16 29 */ bl __ct__18dScnKy_env_light_cFv -/* 801ADCC4 3C 80 80 1B */ lis r4, __dt__18dScnKy_env_light_cFv@ha /* 0x801ADBBC@ha */ -/* 801ADCC8 38 84 DB BC */ addi r4, r4, __dt__18dScnKy_env_light_cFv@l /* 0x801ADBBC@l */ -/* 801ADCCC 38 BF 00 00 */ addi r5, r31, 0 -/* 801ADCD0 48 1B 3F 55 */ bl __register_global_object -/* 801ADCD4 38 7F 13 28 */ addi r3, r31, 0x1328 -/* 801ADCD8 48 11 84 45 */ bl __ct__10Z2EnvSeMgrFv -/* 801ADCDC 3C 80 80 2C */ lis r4, __dt__10Z2EnvSeMgrFv@ha /* 0x802C6540@ha */ -/* 801ADCE0 38 84 65 40 */ addi r4, r4, __dt__10Z2EnvSeMgrFv@l /* 0x802C6540@l */ -/* 801ADCE4 38 BF 13 1C */ addi r5, r31, 0x131c -/* 801ADCE8 48 1B 3F 3D */ bl __register_global_object -/* 801ADCEC 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 801ADCF0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 801ADCF4 7C 08 03 A6 */ mtlr r0 -/* 801ADCF8 38 21 00 10 */ addi r1, r1, 0x10 -/* 801ADCFC 4E 80 00 20 */ blr diff --git a/asm/d/kankyo/d_kankyo/dKy_undwater_filter_draw__Fv.s b/asm/d/kankyo/d_kankyo/dKy_undwater_filter_draw__Fv.s index c71b851158..b3ef3c746a 100644 --- a/asm/d/kankyo/d_kankyo/dKy_undwater_filter_draw__Fv.s +++ b/asm/d/kankyo/d_kankyo/dKy_undwater_filter_draw__Fv.s @@ -4,8 +4,8 @@ lbl_801A572C: /* 801A5734 90 01 00 34 */ stw r0, 0x34(r1) /* 801A5738 39 61 00 30 */ addi r11, r1, 0x30 /* 801A573C 48 1B CA 9D */ bl _savegpr_28 -/* 801A5740 3C 60 80 43 */ lis r3, lit_4112@ha /* 0x8042CA48@ha */ -/* 801A5744 3B E3 CA 48 */ addi r31, r3, lit_4112@l /* 0x8042CA48@l */ +/* 801A5740 3C 60 80 43 */ lis r3, g_env_light-0xC@ha /* 0x8042CA48@ha */ +/* 801A5744 3B E3 CA 48 */ addi r31, r3, g_env_light-0xC@l /* 0x8042CA48@l */ /* 801A5748 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ /* 801A574C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ /* 801A5750 83 A3 5D 74 */ lwz r29, 0x5d74(r3) diff --git a/asm/m_Do/m_Do_DVDError/AlarmHandler__FP7OSAlarmP9OSContext.s b/asm/m_Do/m_Do_DVDError/AlarmHandler__FP7OSAlarmP9OSContext.s deleted file mode 100644 index 5a83584567..0000000000 --- a/asm/m_Do/m_Do_DVDError/AlarmHandler__FP7OSAlarmP9OSContext.s +++ /dev/null @@ -1,11 +0,0 @@ -lbl_80016704: -/* 80016704 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80016708 7C 08 02 A6 */ mflr r0 -/* 8001670C 90 01 00 14 */ stw r0, 0x14(r1) -/* 80016710 3C 60 80 3E */ lis r3, DvdErr_thread@ha /* 0x803DECC0@ha */ -/* 80016714 38 63 EC C0 */ addi r3, r3, DvdErr_thread@l /* 0x803DECC0@l */ -/* 80016718 48 32 B0 9D */ bl OSResumeThread -/* 8001671C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80016720 7C 08 03 A6 */ mtlr r0 -/* 80016724 38 21 00 10 */ addi r1, r1, 0x10 -/* 80016728 4E 80 00 20 */ blr diff --git a/asm/m_Do/m_Do_DVDError/mDoDvdErr_ThdCleanup__Fv.s b/asm/m_Do/m_Do_DVDError/mDoDvdErr_ThdCleanup__Fv.s deleted file mode 100644 index d8985f8eb8..0000000000 --- a/asm/m_Do/m_Do_DVDError/mDoDvdErr_ThdCleanup__Fv.s +++ /dev/null @@ -1,20 +0,0 @@ -lbl_8001665C: -/* 8001665C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80016660 7C 08 02 A6 */ mflr r0 -/* 80016664 90 01 00 14 */ stw r0, 0x14(r1) -/* 80016668 88 0D 87 08 */ lbz r0, data_80450C88(r13) -/* 8001666C 28 00 00 00 */ cmplwi r0, 0 -/* 80016670 41 82 00 24 */ beq lbl_80016694 -/* 80016674 3C 60 80 3E */ lis r3, DvdErr_thread@ha /* 0x803DECC0@ha */ -/* 80016678 38 63 EC C0 */ addi r3, r3, DvdErr_thread@l /* 0x803DECC0@l */ -/* 8001667C 48 32 AE DD */ bl OSCancelThread -/* 80016680 3C 60 80 3E */ lis r3, Alarm@ha /* 0x803DFBE0@ha */ -/* 80016684 38 63 FB E0 */ addi r3, r3, Alarm@l /* 0x803DFBE0@l */ -/* 80016688 48 32 45 B5 */ bl OSCancelAlarm -/* 8001668C 38 00 00 00 */ li r0, 0 -/* 80016690 98 0D 87 08 */ stb r0, data_80450C88(r13) -lbl_80016694: -/* 80016694 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80016698 7C 08 03 A6 */ mtlr r0 -/* 8001669C 38 21 00 10 */ addi r1, r1, 0x10 -/* 800166A0 4E 80 00 20 */ blr diff --git a/asm/m_Do/m_Do_DVDError/mDoDvdErr_ThdInit__Fv.s b/asm/m_Do/m_Do_DVDError/mDoDvdErr_ThdInit__Fv.s deleted file mode 100644 index eceae7759e..0000000000 --- a/asm/m_Do/m_Do_DVDError/mDoDvdErr_ThdInit__Fv.s +++ /dev/null @@ -1,50 +0,0 @@ -lbl_8001659C: -/* 8001659C 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 800165A0 7C 08 02 A6 */ mflr r0 -/* 800165A4 90 01 00 24 */ stw r0, 0x24(r1) -/* 800165A8 39 61 00 20 */ addi r11, r1, 0x20 -/* 800165AC 48 34 BC 31 */ bl _savegpr_29 -/* 800165B0 3C 60 80 3E */ lis r3, DvdErr_thread@ha /* 0x803DECC0@ha */ -/* 800165B4 3B E3 EC C0 */ addi r31, r3, DvdErr_thread@l /* 0x803DECC0@l */ -/* 800165B8 88 0D 87 08 */ lbz r0, data_80450C88(r13) -/* 800165BC 28 00 00 00 */ cmplwi r0, 0 -/* 800165C0 40 82 00 84 */ bne lbl_80016644 -/* 800165C4 48 32 C1 39 */ bl OSGetTime -/* 800165C8 7C 9D 23 78 */ mr r29, r4 -/* 800165CC 7C 7E 1B 78 */ mr r30, r3 -/* 800165D0 48 32 A6 B5 */ bl OSGetCurrentThread -/* 800165D4 48 32 B8 89 */ bl OSGetThreadPriority -/* 800165D8 7C 68 1B 78 */ mr r8, r3 -/* 800165DC 38 7F 00 00 */ addi r3, r31, 0 -/* 800165E0 3C 80 80 01 */ lis r4, mDoDvdErr_Watch__FPv@ha /* 0x800166A4@ha */ -/* 800165E4 38 84 66 A4 */ addi r4, r4, mDoDvdErr_Watch__FPv@l /* 0x800166A4@l */ -/* 800165E8 38 A0 00 00 */ li r5, 0 -/* 800165EC 38 DF 03 20 */ addi r6, r31, 0x320 -/* 800165F0 38 E0 0C 00 */ li r7, 0xc00 -/* 800165F4 39 08 FF FD */ addi r8, r8, -3 -/* 800165F8 39 20 00 01 */ li r9, 1 -/* 800165FC 38 C6 0C 00 */ addi r6, r6, 0xc00 -/* 80016600 48 32 AC 8D */ bl OSCreateThread -/* 80016604 38 7F 00 00 */ addi r3, r31, 0 -/* 80016608 48 32 B1 AD */ bl OSResumeThread -/* 8001660C 38 7F 0F 20 */ addi r3, r31, 0xf20 -/* 80016610 48 32 42 E9 */ bl OSCreateAlarm -/* 80016614 38 7F 0F 20 */ addi r3, r31, 0xf20 -/* 80016618 7F A6 EB 78 */ mr r6, r29 -/* 8001661C 7F C5 F3 78 */ mr r5, r30 -/* 80016620 3C 80 80 00 */ lis r4, 0x8000 /* 0x800000F8@ha */ -/* 80016624 80 04 00 F8 */ lwz r0, 0x00F8(r4) /* 0x800000F8@l */ -/* 80016628 54 08 F0 BE */ srwi r8, r0, 2 -/* 8001662C 38 E0 00 00 */ li r7, 0 -/* 80016630 3C 80 80 01 */ lis r4, AlarmHandler__FP7OSAlarmP9OSContext@ha /* 0x80016704@ha */ -/* 80016634 39 24 67 04 */ addi r9, r4, AlarmHandler__FP7OSAlarmP9OSContext@l /* 0x80016704@l */ -/* 80016638 48 32 45 89 */ bl OSSetPeriodicAlarm -/* 8001663C 38 00 00 01 */ li r0, 1 -/* 80016640 98 0D 87 08 */ stb r0, data_80450C88(r13) -lbl_80016644: -/* 80016644 39 61 00 20 */ addi r11, r1, 0x20 -/* 80016648 48 34 BB E1 */ bl _restgpr_29 -/* 8001664C 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80016650 7C 08 03 A6 */ mtlr r0 -/* 80016654 38 21 00 20 */ addi r1, r1, 0x20 -/* 80016658 4E 80 00 20 */ blr diff --git a/asm/m_Do/m_Do_DVDError/mDoDvdErr_Watch__FPv.s b/asm/m_Do/m_Do_DVDError/mDoDvdErr_Watch__FPv.s deleted file mode 100644 index 53304e6951..0000000000 --- a/asm/m_Do/m_Do_DVDError/mDoDvdErr_Watch__FPv.s +++ /dev/null @@ -1,27 +0,0 @@ -lbl_800166A4: -/* 800166A4 94 21 FF 70 */ stwu r1, -0x90(r1) -/* 800166A8 7C 08 02 A6 */ mflr r0 -/* 800166AC 90 01 00 94 */ stw r0, 0x94(r1) -/* 800166B0 93 E1 00 8C */ stw r31, 0x8c(r1) -/* 800166B4 48 32 70 41 */ bl OSDisableInterrupts -/* 800166B8 48 32 A5 CD */ bl OSGetCurrentThread -/* 800166BC 7C 64 1B 78 */ mr r4, r3 -/* 800166C0 38 61 00 08 */ addi r3, r1, 8 -/* 800166C4 38 A0 00 00 */ li r5, 0 -/* 800166C8 48 2B AF F1 */ bl __ct__9JKRThreadFP8OSThreadi -/* 800166CC 38 61 00 08 */ addi r3, r1, 8 -/* 800166D0 38 80 FF FF */ li r4, -1 -/* 800166D4 48 2B B0 85 */ bl __dt__9JKRThreadFv -/* 800166D8 4B FF 86 0D */ bl mDoExt_getAssertHeap__Fv -/* 800166DC 48 2B 7D 5D */ bl becomeCurrentHeap__7JKRHeapFv -/* 800166E0 3C 60 80 3E */ lis r3, DvdErr_thread@ha /* 0x803DECC0@ha */ -/* 800166E4 3B E3 EC C0 */ addi r31, r3, DvdErr_thread@l /* 0x803DECC0@l */ -lbl_800166E8: -/* 800166E8 48 33 4A E1 */ bl DVDGetDriveStatus -/* 800166EC 2C 03 FF FF */ cmpwi r3, -1 -/* 800166F0 40 82 00 08 */ bne lbl_800166F8 -/* 800166F4 4B FF F1 C1 */ bl suspend__9mDoDvdThdFv -lbl_800166F8: -/* 800166F8 7F E3 FB 78 */ mr r3, r31 -/* 800166FC 48 32 B3 41 */ bl OSSuspendThread -/* 80016700 4B FF FF E8 */ b lbl_800166E8 diff --git a/asm/m_Do/m_Do_Reset/mDoRst_resetCallBack__FiPv.s b/asm/m_Do/m_Do_Reset/mDoRst_resetCallBack__FiPv.s deleted file mode 100644 index a93d0550cb..0000000000 --- a/asm/m_Do/m_Do_Reset/mDoRst_resetCallBack__FiPv.s +++ /dev/null @@ -1,48 +0,0 @@ -lbl_8001574C: -/* 8001574C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80015750 7C 08 02 A6 */ mflr r0 -/* 80015754 90 01 00 14 */ stw r0, 0x14(r1) -/* 80015758 80 8D 86 F8 */ lwz r4, mResetData__6mDoRst(r13) -/* 8001575C 80 04 00 00 */ lwz r0, 0(r4) -/* 80015760 2C 00 00 00 */ cmpwi r0, 0 -/* 80015764 40 82 00 80 */ bne lbl_800157E4 -/* 80015768 2C 03 FF FF */ cmpwi r3, -1 -/* 8001576C 40 82 00 0C */ bne lbl_80015778 -/* 80015770 48 24 DB 1D */ bl cAPICPad_recalibrate__Fv -/* 80015774 48 00 00 40 */ b lbl_800157B4 -lbl_80015778: -/* 80015778 80 04 00 08 */ lwz r0, 8(r4) -/* 8001577C 2C 00 00 00 */ cmpwi r0, 0 -/* 80015780 41 82 00 20 */ beq lbl_800157A0 -/* 80015784 38 80 00 00 */ li r4, 0 -/* 80015788 98 8D 8F 81 */ stb r4, struct_80451500+0x1(r13) -/* 8001578C 3C 60 80 01 */ lis r3, mDoRst_resetCallBack__FiPv@ha /* 0x8001574C@ha */ -/* 80015790 38 03 57 4C */ addi r0, r3, mDoRst_resetCallBack__FiPv@l /* 0x8001574C@l */ -/* 80015794 90 0D 8F 6C */ stw r0, sCallback__Q210JUTGamePad13C3ButtonReset(r13) -/* 80015798 90 8D 8F 70 */ stw r4, sCallbackArg__Q210JUTGamePad13C3ButtonReset(r13) -/* 8001579C 48 00 00 48 */ b lbl_800157E4 -lbl_800157A0: -/* 800157A0 38 00 00 01 */ li r0, 1 -/* 800157A4 90 04 00 08 */ stw r0, 8(r4) -/* 800157A8 80 8D 86 F8 */ lwz r4, mResetData__6mDoRst(r13) -/* 800157AC 90 64 00 0C */ stw r3, 0xc(r4) -/* 800157B0 48 24 DA DD */ bl cAPICPad_recalibrate__Fv -lbl_800157B4: -/* 800157B4 48 33 5E 75 */ bl DVDCheckDisk -/* 800157B8 2C 03 00 00 */ cmpwi r3, 0 -/* 800157BC 40 82 00 1C */ bne lbl_800157D8 -/* 800157C0 48 33 5A 09 */ bl DVDGetDriveStatus -/* 800157C4 2C 03 FF FF */ cmpwi r3, -1 -/* 800157C8 41 82 00 10 */ beq lbl_800157D8 -/* 800157CC 38 00 00 01 */ li r0, 1 -/* 800157D0 80 6D 86 F8 */ lwz r3, mResetData__6mDoRst(r13) -/* 800157D4 98 03 00 11 */ stb r0, 0x11(r3) -lbl_800157D8: -/* 800157D8 38 00 00 01 */ li r0, 1 -/* 800157DC 80 6D 86 F8 */ lwz r3, mResetData__6mDoRst(r13) -/* 800157E0 90 03 00 00 */ stw r0, 0(r3) -lbl_800157E4: -/* 800157E4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800157E8 7C 08 03 A6 */ mtlr r0 -/* 800157EC 38 21 00 10 */ addi r1, r1, 0x10 -/* 800157F0 4E 80 00 20 */ blr diff --git a/asm/m_Do/m_Do_Reset/mDoRst_reset__FiUli.s b/asm/m_Do/m_Do_Reset/mDoRst_reset__FiUli.s deleted file mode 100644 index 1810cc7ed8..0000000000 --- a/asm/m_Do/m_Do_Reset/mDoRst_reset__FiUli.s +++ /dev/null @@ -1,87 +0,0 @@ -lbl_80015614: -/* 80015614 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80015618 7C 08 02 A6 */ mflr r0 -/* 8001561C 90 01 00 24 */ stw r0, 0x24(r1) -/* 80015620 39 61 00 20 */ addi r11, r1, 0x20 -/* 80015624 48 34 CB B1 */ bl _savegpr_27 -/* 80015628 7C 7B 1B 78 */ mr r27, r3 -/* 8001562C 7C 9C 23 78 */ mr r28, r4 -/* 80015630 7C BD 2B 78 */ mr r29, r5 -/* 80015634 80 6D 8F D0 */ lwz r3, sManager__6JUTXfb(r13) -/* 80015638 48 2C FB DD */ bl clearIndex__6JUTXfbFv -/* 8001563C 48 00 10 21 */ bl mDoDvdErr_ThdCleanup__Fv -/* 80015640 48 24 DC 4D */ bl cAPICPad_recalibrate__Fv -/* 80015644 88 0D 86 38 */ lbz r0, struct_80450BB8+0x0(r13) -/* 80015648 28 00 00 00 */ cmplwi r0, 0 -/* 8001564C 41 82 00 14 */ beq lbl_80015660 -lbl_80015650: -/* 80015650 80 6D 8D E8 */ lwz r3, mAudioMgrPtr__10Z2AudioMgr(r13) -/* 80015654 48 2B 84 19 */ bl hasReset__10Z2AudioMgrCFv -/* 80015658 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 8001565C 41 82 FF F4 */ beq lbl_80015650 -lbl_80015660: -/* 80015660 48 33 5B 69 */ bl DVDGetDriveStatus -/* 80015664 2C 03 00 01 */ cmpwi r3, 1 -/* 80015668 40 82 00 14 */ bne lbl_8001567C -/* 8001566C 3C 60 80 37 */ lis r3, m_Do_m_Do_Reset__stringBase0@ha /* 0x80374198@ha */ -/* 80015670 38 63 41 98 */ addi r3, r3, m_Do_m_Do_Reset__stringBase0@l /* 0x80374198@l */ -/* 80015674 4C C6 31 82 */ crclr 6 -/* 80015678 4B FF 11 9D */ bl OSAttention -lbl_8001567C: -/* 8001567C 48 27 A8 81 */ bl getThreadPointer__6JASDvdFv -/* 80015680 7C 7F 1B 79 */ or. r31, r3, r3 -/* 80015684 41 82 00 30 */ beq lbl_800156B4 -/* 80015688 38 80 00 01 */ li r4, 1 -/* 8001568C 48 27 A7 FD */ bl pause__13JASTaskThreadFb -/* 80015690 83 FF 00 2C */ lwz r31, 0x2c(r31) -/* 80015694 28 1F 00 00 */ cmplwi r31, 0 -/* 80015698 41 82 00 1C */ beq lbl_800156B4 -/* 8001569C 7F E3 FB 78 */ mr r3, r31 -/* 800156A0 48 32 C3 9D */ bl OSSuspendThread -/* 800156A4 7F E3 FB 78 */ mr r3, r31 -/* 800156A8 48 32 C0 6D */ bl OSDetachThread -/* 800156AC 7F E3 FB 78 */ mr r3, r31 -/* 800156B0 48 32 BE A9 */ bl OSCancelThread -lbl_800156B4: -/* 800156B4 48 33 73 11 */ bl VIWaitForRetrace -/* 800156B8 48 33 73 0D */ bl VIWaitForRetrace -/* 800156BC 48 34 57 E5 */ bl GXGetCurrentGXThread -/* 800156C0 7C 7F 1B 78 */ mr r31, r3 -/* 800156C4 48 32 80 31 */ bl OSDisableInterrupts -/* 800156C8 7C 7E 1B 78 */ mr r30, r3 -/* 800156CC 48 32 B5 B9 */ bl OSGetCurrentThread -/* 800156D0 7C 1F 18 40 */ cmplw r31, r3 -/* 800156D4 41 82 00 10 */ beq lbl_800156E4 -/* 800156D8 7F E3 FB 78 */ mr r3, r31 -/* 800156DC 48 32 BE 7D */ bl OSCancelThread -/* 800156E0 48 34 57 75 */ bl GXSetCurrentGXThread -lbl_800156E4: -/* 800156E4 48 34 67 E9 */ bl GXFlush -/* 800156E8 48 34 69 AD */ bl GXAbortFrame -/* 800156EC 48 34 6C 09 */ bl GXDrawDone -/* 800156F0 7F C3 F3 78 */ mr r3, r30 -/* 800156F4 48 32 80 29 */ bl OSRestoreInterrupts -/* 800156F8 4B FF FE E5 */ bl destroyVideo__Fv -/* 800156FC 3C 60 80 3F */ lis r3, g_mDoMemCd_control@ha /* 0x803EAF40@ha */ -/* 80015700 3B E3 AF 40 */ addi r31, r3, g_mDoMemCd_control@l /* 0x803EAF40@l */ -/* 80015704 48 00 00 08 */ b lbl_8001570C -lbl_80015708: -/* 80015708 48 33 72 BD */ bl VIWaitForRetrace -lbl_8001570C: -/* 8001570C 80 1F 1F C0 */ lwz r0, 0x1fc0(r31) -/* 80015710 2C 00 00 00 */ cmpwi r0, 0 -/* 80015714 40 82 FF F4 */ bne lbl_80015708 -/* 80015718 4B FF FE C1 */ bl my_OSCancelAlarmAll__Fv -/* 8001571C 48 32 60 D1 */ bl LCDisable -/* 80015720 80 6D 86 F8 */ lwz r3, mResetData__6mDoRst(r13) -/* 80015724 3C 80 80 01 */ lis r4, getResetData__6mDoRstFv@ha /* 0x800157F4@ha */ -/* 80015728 38 84 57 F4 */ addi r4, r4, getResetData__6mDoRstFv@l /* 0x800157F4@l */ -/* 8001572C 38 84 00 18 */ addi r4, r4, 0x18 -/* 80015730 48 32 9F 11 */ bl OSSetSaveRegion -/* 80015734 7F 63 DB 78 */ mr r3, r27 -/* 80015738 7F 84 E3 78 */ mr r4, r28 -/* 8001573C 7F A5 EB 78 */ mr r5, r29 -/* 80015740 48 32 A1 6D */ bl OSResetSystem -lbl_80015744: -/* 80015744 48 33 72 81 */ bl VIWaitForRetrace -/* 80015748 4B FF FF FC */ b lbl_80015744 diff --git a/asm/m_Do/m_Do_audio/mDoAud_Create__Fv.s b/asm/m_Do/m_Do_audio/mDoAud_Create__Fv.s deleted file mode 100644 index b9bdf69bca..0000000000 --- a/asm/m_Do/m_Do_audio/mDoAud_Create__Fv.s +++ /dev/null @@ -1,113 +0,0 @@ -lbl_80006FC0: -/* 80006FC0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80006FC4 7C 08 02 A6 */ mflr r0 -/* 80006FC8 90 01 00 14 */ stw r0, 0x14(r1) -/* 80006FCC 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80006FD0 80 0D 86 40 */ lwz r0, l_affCommand(r13) -/* 80006FD4 28 00 00 00 */ cmplwi r0, 0 -/* 80006FD8 40 82 00 24 */ bne lbl_80006FFC -/* 80006FDC 3C 60 80 37 */ lis r3, m_Do_m_Do_audio__stringBase0@ha /* 0x80373D68@ha */ -/* 80006FE0 38 63 3D 68 */ addi r3, r3, m_Do_m_Do_audio__stringBase0@l /* 0x80373D68@l */ -/* 80006FE4 38 80 00 02 */ li r4, 2 -/* 80006FE8 38 A0 00 00 */ li r5, 0 -/* 80006FEC 48 00 F3 A9 */ bl create__21mDoDvdThd_toMainRam_cFPCcUcP7JKRHeap -/* 80006FF0 90 6D 86 40 */ stw r3, l_affCommand(r13) -/* 80006FF4 28 03 00 00 */ cmplwi r3, 0 -/* 80006FF8 41 82 01 58 */ beq lbl_80007150 -lbl_80006FFC: -/* 80006FFC 80 0D 86 44 */ lwz r0, l_arcCommand(r13) -/* 80007000 28 00 00 00 */ cmplwi r0, 0 -/* 80007004 40 82 00 2C */ bne lbl_80007030 -/* 80007008 3C 60 80 37 */ lis r3, m_Do_m_Do_audio__stringBase0@ha /* 0x80373D68@ha */ -/* 8000700C 38 63 3D 68 */ addi r3, r3, m_Do_m_Do_audio__stringBase0@l /* 0x80373D68@l */ -/* 80007010 38 63 00 16 */ addi r3, r3, 0x16 -/* 80007014 38 80 00 00 */ li r4, 0 -/* 80007018 38 A0 00 03 */ li r5, 3 -/* 8000701C 38 C0 00 00 */ li r6, 0 -/* 80007020 48 00 F1 C1 */ bl create__25mDoDvdThd_mountXArchive_cFPCcUcQ210JKRArchive10EMountModeP7JKRHeap -/* 80007024 90 6D 86 44 */ stw r3, l_arcCommand(r13) -/* 80007028 28 03 00 00 */ cmplwi r3, 0 -/* 8000702C 41 82 01 24 */ beq lbl_80007150 -lbl_80007030: -/* 80007030 80 6D 86 40 */ lwz r3, l_affCommand(r13) -/* 80007034 88 03 00 0C */ lbz r0, 0xc(r3) -/* 80007038 2C 00 00 00 */ cmpwi r0, 0 -/* 8000703C 41 82 01 14 */ beq lbl_80007150 -/* 80007040 80 6D 86 44 */ lwz r3, l_arcCommand(r13) -/* 80007044 88 03 00 0C */ lbz r0, 0xc(r3) -/* 80007048 2C 00 00 00 */ cmpwi r0, 0 -/* 8000704C 41 82 01 04 */ beq lbl_80007150 -/* 80007050 80 0D 86 3C */ lwz r0, g_mDoAud_audioHeap(r13) -/* 80007054 28 00 00 00 */ cmplwi r0, 0 -/* 80007058 41 82 00 50 */ beq lbl_800070A8 -/* 8000705C 80 6D 8D F4 */ lwz r3, sCurrentHeap__7JKRHeap(r13) -/* 80007060 38 80 00 05 */ li r4, 5 -/* 80007064 48 2C 77 4D */ bl changeGroupID__7JKRHeapFUc -/* 80007068 7C 7F 1B 78 */ mr r31, r3 -/* 8000706C 80 6D 86 44 */ lwz r3, l_arcCommand(r13) -/* 80007070 80 E3 00 1C */ lwz r7, 0x1c(r3) -/* 80007074 80 6D 86 40 */ lwz r3, l_affCommand(r13) -/* 80007078 80 C3 00 1C */ lwz r6, 0x1c(r3) -/* 8000707C 3C 60 80 3E */ lis r3, g_mDoAud_zelAudio@ha /* 0x803DBF4C@ha */ -/* 80007080 38 63 BF 4C */ addi r3, r3, g_mDoAud_zelAudio@l /* 0x803DBF4C@l */ -/* 80007084 80 8D 86 3C */ lwz r4, g_mDoAud_audioHeap(r13) -/* 80007088 3C A0 00 A0 */ lis r5, 0xa0 -/* 8000708C 48 2C 62 C1 */ bl init__10Z2AudioMgrFP12JKRSolidHeapUlPvP10JKRArchive -/* 80007090 80 6D 8D F4 */ lwz r3, sCurrentHeap__7JKRHeap(r13) -/* 80007094 57 E4 06 3E */ clrlwi r4, r31, 0x18 -/* 80007098 48 2C 77 19 */ bl changeGroupID__7JKRHeapFUc -/* 8000709C 80 6D 86 3C */ lwz r3, g_mDoAud_audioHeap(r13) -/* 800070A0 48 2C 9B 55 */ bl adjustSize__12JKRSolidHeapFv -/* 800070A4 48 00 00 18 */ b lbl_800070BC -lbl_800070A8: -/* 800070A8 3C 60 80 37 */ lis r3, m_Do_m_Do_audio__stringBase0@ha /* 0x80373D68@ha */ -/* 800070AC 38 63 3D 68 */ addi r3, r3, m_Do_m_Do_audio__stringBase0@l /* 0x80373D68@l */ -/* 800070B0 38 63 00 35 */ addi r3, r3, 0x35 -/* 800070B4 4C C6 31 82 */ crclr 6 -/* 800070B8 4B FF FB 55 */ bl OSReport_Error -lbl_800070BC: -/* 800070BC 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800070C0 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800070C4 38 83 07 F0 */ addi r4, r3, 0x7f0 -/* 800070C8 3C 60 80 3E */ lis r3, g_mDoAud_zelAudio@ha /* 0x803DBF4C@ha */ -/* 800070CC 38 63 BF 4C */ addi r3, r3, g_mDoAud_zelAudio@l /* 0x803DBF4C@l */ -/* 800070D0 38 63 04 C4 */ addi r3, r3, 0x4c4 -/* 800070D4 48 2A F6 85 */ bl setEventBit__11Z2StatusMgrFPv -/* 800070D8 3C 60 80 3E */ lis r3, g_mDoAud_zelAudio@ha /* 0x803DBF4C@ha */ -/* 800070DC 38 63 BF 4C */ addi r3, r3, g_mDoAud_zelAudio@l /* 0x803DBF4C@l */ -/* 800070E0 4B FF FE D5 */ bl reset__17mDoAud_zelAudio_cFv -/* 800070E4 48 33 94 AD */ bl OSGetSoundMode -/* 800070E8 7C 64 1B 78 */ mr r4, r3 -/* 800070EC 80 6D 8D E8 */ lwz r3, mAudioMgrPtr__10Z2AudioMgr(r13) -/* 800070F0 48 2C 67 99 */ bl setOutputMode__10Z2AudioMgrFUl -/* 800070F4 80 6D 86 40 */ lwz r3, l_affCommand(r13) -/* 800070F8 80 63 00 1C */ lwz r3, 0x1c(r3) -/* 800070FC 38 80 00 00 */ li r4, 0 -/* 80007100 48 2C 74 01 */ bl free__7JKRHeapFPvP7JKRHeap -/* 80007104 80 6D 86 40 */ lwz r3, l_affCommand(r13) -/* 80007108 28 03 00 00 */ cmplwi r3, 0 -/* 8000710C 41 82 00 18 */ beq lbl_80007124 -/* 80007110 38 80 00 01 */ li r4, 1 -/* 80007114 81 83 00 10 */ lwz r12, 0x10(r3) -/* 80007118 81 8C 00 08 */ lwz r12, 8(r12) -/* 8000711C 7D 89 03 A6 */ mtctr r12 -/* 80007120 4E 80 04 21 */ bctrl -lbl_80007124: -/* 80007124 80 6D 86 44 */ lwz r3, l_arcCommand(r13) -/* 80007128 28 03 00 00 */ cmplwi r3, 0 -/* 8000712C 41 82 00 18 */ beq lbl_80007144 -/* 80007130 38 80 00 01 */ li r4, 1 -/* 80007134 81 83 00 10 */ lwz r12, 0x10(r3) -/* 80007138 81 8C 00 08 */ lwz r12, 8(r12) -/* 8000713C 7D 89 03 A6 */ mtctr r12 -/* 80007140 4E 80 04 21 */ bctrl -lbl_80007144: -/* 80007144 38 00 00 01 */ li r0, 1 -/* 80007148 98 0D 86 38 */ stb r0, struct_80450BB8+0x0(r13) -/* 8000714C 98 0D 87 00 */ stb r0, struct_80450C80+0x0(r13) -lbl_80007150: -/* 80007150 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80007154 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80007158 7C 08 03 A6 */ mtlr r0 -/* 8000715C 38 21 00 10 */ addi r1, r1, 0x10 -/* 80007160 4E 80 00 20 */ blr diff --git a/asm/m_Do/m_Do_audio/mDoAud_Execute__Fv.s b/asm/m_Do/m_Do_audio/mDoAud_Execute__Fv.s deleted file mode 100644 index 49b53541de..0000000000 --- a/asm/m_Do/m_Do_audio/mDoAud_Execute__Fv.s +++ /dev/null @@ -1,25 +0,0 @@ -lbl_80007164: -/* 80007164 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80007168 7C 08 02 A6 */ mflr r0 -/* 8000716C 90 01 00 14 */ stw r0, 0x14(r1) -/* 80007170 88 0D 86 38 */ lbz r0, struct_80450BB8+0x0(r13) -/* 80007174 28 00 00 00 */ cmplwi r0, 0 -/* 80007178 40 82 00 28 */ bne lbl_800071A0 -/* 8000717C 80 6D 86 F8 */ lwz r3, mResetData__6mDoRst(r13) -/* 80007180 88 03 00 10 */ lbz r0, 0x10(r3) -/* 80007184 2C 00 00 00 */ cmpwi r0, 0 -/* 80007188 40 82 00 24 */ bne lbl_800071AC -/* 8000718C 88 03 00 11 */ lbz r0, 0x11(r3) -/* 80007190 2C 00 00 00 */ cmpwi r0, 0 -/* 80007194 40 82 00 18 */ bne lbl_800071AC -/* 80007198 4B FF FE 29 */ bl mDoAud_Create__Fv -/* 8000719C 48 00 00 10 */ b lbl_800071AC -lbl_800071A0: -/* 800071A0 3C 60 80 3E */ lis r3, g_mDoAud_zelAudio@ha /* 0x803DBF4C@ha */ -/* 800071A4 38 63 BF 4C */ addi r3, r3, g_mDoAud_zelAudio@l /* 0x803DBF4C@l */ -/* 800071A8 48 2C 67 5D */ bl gframeProcess__10Z2AudioMgrFv -lbl_800071AC: -/* 800071AC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800071B0 7C 08 03 A6 */ mtlr r0 -/* 800071B4 38 21 00 10 */ addi r1, r1, 0x10 -/* 800071B8 4E 80 00 20 */ blr diff --git a/asm/m_Do/m_Do_ext/func_8001505C.s b/asm/m_Do/m_Do_ext/func_8001505C.s deleted file mode 100644 index 388b3cae08..0000000000 --- a/asm/m_Do/m_Do_ext/func_8001505C.s +++ /dev/null @@ -1,11 +0,0 @@ -lbl_8001505C: -/* 8001505C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80015060 7C 08 02 A6 */ mflr r0 -/* 80015064 90 01 00 14 */ stw r0, 0x14(r1) -/* 80015068 7C 83 23 78 */ mr r3, r4 -/* 8001506C 7C A4 2B 78 */ mr r4, r5 -/* 80015070 48 31 9C 3D */ bl init__24J3DMtxCalcJ3DSysInitMayaFRC3VecRA3_A4_Cf -/* 80015074 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80015078 7C 08 03 A6 */ mtlr r0 -/* 8001507C 38 21 00 10 */ addi r1, r1, 0x10 -/* 80015080 4E 80 00 20 */ blr diff --git a/asm/m_Do/m_Do_ext/func_80015084.s b/asm/m_Do/m_Do_ext/func_80015084.s deleted file mode 100644 index ada0bb1292..0000000000 --- a/asm/m_Do/m_Do_ext/func_80015084.s +++ /dev/null @@ -1,11 +0,0 @@ -lbl_80015084: -/* 80015084 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80015088 7C 08 02 A6 */ mflr r0 -/* 8001508C 90 01 00 14 */ stw r0, 0x14(r1) -/* 80015090 80 6D 90 74 */ lwz r3, mJoint__10J3DMtxCalc(r13) -/* 80015094 38 63 00 18 */ addi r3, r3, 0x18 -/* 80015098 48 31 9F 25 */ bl calcTransform__27J3DMtxCalcCalcTransformMayaFRC16J3DTransformInfo -/* 8001509C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800150A0 7C 08 03 A6 */ mtlr r0 -/* 800150A4 38 21 00 10 */ addi r1, r1, 0x10 -/* 800150A8 4E 80 00 20 */ blr diff --git a/asm/m_Do/m_Do_main/Debug_console__FUl.s b/asm/m_Do/m_Do_main/Debug_console__FUl.s deleted file mode 100644 index e49dccdc7c..0000000000 --- a/asm/m_Do/m_Do_main/Debug_console__FUl.s +++ /dev/null @@ -1,280 +0,0 @@ -lbl_80005D4C: -/* 80005D4C 94 21 FF B0 */ stwu r1, -0x50(r1) -/* 80005D50 7C 08 02 A6 */ mflr r0 -/* 80005D54 90 01 00 54 */ stw r0, 0x54(r1) -/* 80005D58 DB E1 00 40 */ stfd f31, 0x40(r1) -/* 80005D5C F3 E1 00 48 */ psq_st f31, 72(r1), 0, 0 /* qr0 */ -/* 80005D60 DB C1 00 30 */ stfd f30, 0x30(r1) -/* 80005D64 F3 C1 00 38 */ psq_st f30, 56(r1), 0, 0 /* qr0 */ -/* 80005D68 39 61 00 30 */ addi r11, r1, 0x30 -/* 80005D6C 48 35 C4 6D */ bl _savegpr_28 -/* 80005D70 83 ED 8C 38 */ lwz r31, systemConsole__9JFWSystem(r13) -/* 80005D74 28 1F 00 00 */ cmplwi r31, 0 -/* 80005D78 41 82 03 A8 */ beq lbl_80006120 -/* 80005D7C 88 0D 85 A0 */ lbz r0, data_80450B20(r13) -/* 80005D80 7C 00 07 75 */ extsb. r0, r0 -/* 80005D84 40 82 00 14 */ bne lbl_80005D98 -/* 80005D88 C0 02 80 00 */ lfs f0, lit_3884(r2) -/* 80005D8C D0 0D 85 9C */ stfs f0, console_position_x(r13) -/* 80005D90 38 00 00 01 */ li r0, 1 -/* 80005D94 98 0D 85 A0 */ stb r0, data_80450B20(r13) -lbl_80005D98: -/* 80005D98 88 0D 85 A8 */ lbz r0, data_80450B28(r13) -/* 80005D9C 7C 00 07 75 */ extsb. r0, r0 -/* 80005DA0 40 82 00 14 */ bne lbl_80005DB4 -/* 80005DA4 C0 02 80 04 */ lfs f0, lit_3885(r2) -/* 80005DA8 D0 0D 85 A4 */ stfs f0, console_position_y(r13) -/* 80005DAC 38 00 00 01 */ li r0, 1 -/* 80005DB0 98 0D 85 A8 */ stb r0, data_80450B28(r13) -lbl_80005DB4: -/* 80005DB4 88 0D 85 B0 */ lbz r0, data_80450B30(r13) -/* 80005DB8 7C 00 07 75 */ extsb. r0, r0 -/* 80005DBC 40 82 00 14 */ bne lbl_80005DD0 -/* 80005DC0 C0 02 80 08 */ lfs f0, lit_3886(r2) -/* 80005DC4 D0 0D 85 AC */ stfs f0, console_scroll(r13) -/* 80005DC8 38 00 00 01 */ li r0, 1 -/* 80005DCC 98 0D 85 B0 */ stb r0, data_80450B30(r13) -lbl_80005DD0: -/* 80005DD0 54 64 30 32 */ slwi r4, r3, 6 -/* 80005DD4 3C 60 80 3E */ lis r3, m_cpadInfo__8mDoCPd_c@ha /* 0x803DD2E8@ha */ -/* 80005DD8 38 03 D2 E8 */ addi r0, r3, m_cpadInfo__8mDoCPd_c@l /* 0x803DD2E8@l */ -/* 80005DDC 7F A0 22 14 */ add r29, r0, r4 -/* 80005DE0 3B DD 00 34 */ addi r30, r29, 0x34 -/* 80005DE4 80 1D 00 34 */ lwz r0, 0x34(r29) -/* 80005DE8 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b -/* 80005DEC 41 82 00 28 */ beq lbl_80005E14 -/* 80005DF0 80 1D 00 30 */ lwz r0, 0x30(r29) -/* 80005DF4 54 00 07 35 */ rlwinm. r0, r0, 0, 0x1c, 0x1a -/* 80005DF8 40 82 00 1C */ bne lbl_80005E14 -/* 80005DFC 88 1F 00 68 */ lbz r0, 0x68(r31) -/* 80005E00 7C 00 00 34 */ cntlzw r0, r0 -/* 80005E04 54 00 D9 7E */ srwi r0, r0, 5 -/* 80005E08 98 1F 00 68 */ stb r0, 0x68(r31) -/* 80005E0C 38 60 00 00 */ li r3, 0 -/* 80005E10 48 2D EE 2D */ bl setMessageCount__12JUTAssertionFi -lbl_80005E14: -/* 80005E14 88 1F 00 68 */ lbz r0, 0x68(r31) -/* 80005E18 28 00 00 00 */ cmplwi r0, 0 -/* 80005E1C 41 82 03 04 */ beq lbl_80006120 -/* 80005E20 3B 9D 00 30 */ addi r28, r29, 0x30 -/* 80005E24 80 7D 00 30 */ lwz r3, 0x30(r29) -/* 80005E28 54 60 06 73 */ rlwinm. r0, r3, 0, 0x19, 0x19 -/* 80005E2C 41 82 00 0C */ beq lbl_80005E38 -/* 80005E30 54 60 06 B5 */ rlwinm. r0, r3, 0, 0x1a, 0x1a -/* 80005E34 40 82 00 20 */ bne lbl_80005E54 -lbl_80005E38: -/* 80005E38 C0 1D 00 28 */ lfs f0, 0x28(r29) -/* 80005E3C C0 22 80 08 */ lfs f1, lit_3886(r2) -/* 80005E40 FC 00 08 40 */ fcmpo cr0, f0, f1 -/* 80005E44 40 81 01 B0 */ ble lbl_80005FF4 -/* 80005E48 C0 1D 00 2C */ lfs f0, 0x2c(r29) -/* 80005E4C FC 00 08 40 */ fcmpo cr0, f0, f1 -/* 80005E50 40 81 01 A4 */ ble lbl_80005FF4 -lbl_80005E54: -/* 80005E54 C3 FD 00 00 */ lfs f31, 0(r29) -/* 80005E58 C3 DD 00 04 */ lfs f30, 4(r29) -/* 80005E5C 54 60 05 2B */ rlwinm. r0, r3, 0, 0x14, 0x15 -/* 80005E60 41 82 00 18 */ beq lbl_80005E78 -/* 80005E64 80 1E 00 00 */ lwz r0, 0(r30) -/* 80005E68 54 00 04 E7 */ rlwinm. r0, r0, 0, 0x13, 0x13 -/* 80005E6C 41 82 00 0C */ beq lbl_80005E78 -/* 80005E70 7F E3 FB 78 */ mr r3, r31 -/* 80005E74 48 2E 17 79 */ bl clear__10JUTConsoleFv -lbl_80005E78: -/* 80005E78 80 7C 00 00 */ lwz r3, 0(r28) -/* 80005E7C 54 60 05 2B */ rlwinm. r0, r3, 0, 0x14, 0x15 -/* 80005E80 40 82 00 90 */ bne lbl_80005F10 -/* 80005E84 C0 0D 85 AC */ lfs f0, console_scroll(r13) -/* 80005E88 EC 20 F0 28 */ fsubs f1, f0, f30 -/* 80005E8C D0 2D 85 AC */ stfs f1, console_scroll(r13) -/* 80005E90 C0 02 80 0C */ lfs f0, lit_3887(r2) -/* 80005E94 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 80005E98 40 81 00 14 */ ble lbl_80005EAC -/* 80005E9C FC 00 08 1E */ fctiwz f0, f1 -/* 80005EA0 D8 01 00 08 */ stfd f0, 8(r1) -/* 80005EA4 80 81 00 0C */ lwz r4, 0xc(r1) -/* 80005EA8 48 00 00 2C */ b lbl_80005ED4 -lbl_80005EAC: -/* 80005EAC C0 02 80 10 */ lfs f0, lit_3888(r2) -/* 80005EB0 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 80005EB4 40 80 00 1C */ bge lbl_80005ED0 -/* 80005EB8 FC 00 08 50 */ fneg f0, f1 -/* 80005EBC FC 00 00 1E */ fctiwz f0, f0 -/* 80005EC0 D8 01 00 08 */ stfd f0, 8(r1) -/* 80005EC4 80 01 00 0C */ lwz r0, 0xc(r1) -/* 80005EC8 7C 80 00 D0 */ neg r4, r0 -/* 80005ECC 48 00 00 08 */ b lbl_80005ED4 -lbl_80005ED0: -/* 80005ED0 38 80 00 00 */ li r4, 0 -lbl_80005ED4: -/* 80005ED4 2C 04 00 00 */ cmpwi r4, 0 -/* 80005ED8 41 82 00 60 */ beq lbl_80005F38 -/* 80005EDC C0 4D 85 AC */ lfs f2, console_scroll(r13) -/* 80005EE0 C8 22 80 18 */ lfd f1, lit_3890(r2) -/* 80005EE4 6C 80 80 00 */ xoris r0, r4, 0x8000 -/* 80005EE8 90 01 00 0C */ stw r0, 0xc(r1) -/* 80005EEC 3C 00 43 30 */ lis r0, 0x4330 -/* 80005EF0 90 01 00 08 */ stw r0, 8(r1) -/* 80005EF4 C8 01 00 08 */ lfd f0, 8(r1) -/* 80005EF8 EC 00 08 28 */ fsubs f0, f0, f1 -/* 80005EFC EC 02 00 28 */ fsubs f0, f2, f0 -/* 80005F00 D0 0D 85 AC */ stfs f0, console_scroll(r13) -/* 80005F04 7F E3 FB 78 */ mr r3, r31 -/* 80005F08 48 2E 21 A1 */ bl scroll__10JUTConsoleFi -/* 80005F0C 48 00 00 2C */ b lbl_80005F38 -lbl_80005F10: -/* 80005F10 54 60 05 6B */ rlwinm. r0, r3, 0, 0x15, 0x15 -/* 80005F14 41 82 00 10 */ beq lbl_80005F24 -/* 80005F18 C0 0D 85 9C */ lfs f0, console_position_x(r13) -/* 80005F1C EC 00 F8 2A */ fadds f0, f0, f31 -/* 80005F20 D0 0D 85 9C */ stfs f0, console_position_x(r13) -lbl_80005F24: -/* 80005F24 54 60 05 29 */ rlwinm. r0, r3, 0, 0x14, 0x14 -/* 80005F28 41 82 00 10 */ beq lbl_80005F38 -/* 80005F2C C0 0D 85 A4 */ lfs f0, console_position_y(r13) -/* 80005F30 EC 00 F0 28 */ fsubs f0, f0, f30 -/* 80005F34 D0 0D 85 A4 */ stfs f0, console_position_y(r13) -lbl_80005F38: -/* 80005F38 80 1E 00 00 */ lwz r0, 0(r30) -/* 80005F3C 54 00 05 EF */ rlwinm. r0, r0, 0, 0x17, 0x17 -/* 80005F40 41 82 00 18 */ beq lbl_80005F58 -/* 80005F44 7F E3 FB 78 */ mr r3, r31 -/* 80005F48 38 80 FF FF */ li r4, -1 -/* 80005F4C 48 2E 20 31 */ bl dumpToTerminal__10JUTConsoleFUi -/* 80005F50 38 00 00 03 */ li r0, 3 -/* 80005F54 90 1F 00 58 */ stw r0, 0x58(r31) -lbl_80005F58: -/* 80005F58 38 60 00 1E */ li r3, 0x1e -/* 80005F5C 38 80 01 86 */ li r4, 0x186 -/* 80005F60 38 A0 00 01 */ li r5, 1 -/* 80005F64 3C C0 80 37 */ lis r6, m_Do_m_Do_main__stringBase0@ha /* 0x803739A0@ha */ -/* 80005F68 38 C6 39 A0 */ addi r6, r6, m_Do_m_Do_main__stringBase0@l /* 0x803739A0@l */ -/* 80005F6C 38 C6 01 B1 */ addi r6, r6, 0x1b1 -/* 80005F70 4C C6 31 82 */ crclr 6 -/* 80005F74 48 2D A6 8D */ bl JUTReport__FiiiPCce -/* 80005F78 38 60 00 1E */ li r3, 0x1e -/* 80005F7C 38 80 01 90 */ li r4, 0x190 -/* 80005F80 38 A0 00 01 */ li r5, 1 -/* 80005F84 3C C0 80 37 */ lis r6, m_Do_m_Do_main__stringBase0@ha /* 0x803739A0@ha */ -/* 80005F88 38 C6 39 A0 */ addi r6, r6, m_Do_m_Do_main__stringBase0@l /* 0x803739A0@l */ -/* 80005F8C 38 C6 01 D3 */ addi r6, r6, 0x1d3 -/* 80005F90 4C C6 31 82 */ crclr 6 -/* 80005F94 48 2D A6 6D */ bl JUTReport__FiiiPCce -/* 80005F98 38 60 00 1E */ li r3, 0x1e -/* 80005F9C 38 80 01 9A */ li r4, 0x19a -/* 80005FA0 38 A0 00 01 */ li r5, 1 -/* 80005FA4 3C C0 80 37 */ lis r6, m_Do_m_Do_main__stringBase0@ha /* 0x803739A0@ha */ -/* 80005FA8 38 C6 39 A0 */ addi r6, r6, m_Do_m_Do_main__stringBase0@l /* 0x803739A0@l */ -/* 80005FAC 38 C6 01 ED */ addi r6, r6, 0x1ed -/* 80005FB0 4C C6 31 82 */ crclr 6 -/* 80005FB4 48 2D A6 4D */ bl JUTReport__FiiiPCce -/* 80005FB8 7F E3 FB 78 */ mr r3, r31 -/* 80005FBC 48 2E 21 ED */ bl getLineOffset__10JUTConsoleCFv -/* 80005FC0 7C 67 1B 78 */ mr r7, r3 -/* 80005FC4 38 60 00 1E */ li r3, 0x1e -/* 80005FC8 38 80 01 A4 */ li r4, 0x1a4 -/* 80005FCC 38 A0 00 01 */ li r5, 1 -/* 80005FD0 3C C0 80 37 */ lis r6, m_Do_m_Do_main__stringBase0@ha /* 0x803739A0@ha */ -/* 80005FD4 38 C6 39 A0 */ addi r6, r6, m_Do_m_Do_main__stringBase0@l /* 0x803739A0@l */ -/* 80005FD8 38 C6 02 16 */ addi r6, r6, 0x216 -/* 80005FDC 81 1F 00 40 */ lwz r8, 0x40(r31) -/* 80005FE0 81 3F 00 44 */ lwz r9, 0x44(r31) -/* 80005FE4 81 5F 00 58 */ lwz r10, 0x58(r31) -/* 80005FE8 4C C6 31 82 */ crclr 6 -/* 80005FEC 48 2D A6 15 */ bl JUTReport__FiiiPCce -/* 80005FF0 48 00 01 00 */ b lbl_800060F0 -lbl_80005FF4: -/* 80005FF4 80 9E 00 00 */ lwz r4, 0(r30) -/* 80005FF8 54 80 07 7B */ rlwinm. r0, r4, 0, 0x1d, 0x1d -/* 80005FFC 41 82 00 18 */ beq lbl_80006014 -/* 80006000 3C 60 80 3F */ lis r3, g_HIO@ha /* 0x803F1BBC@ha */ -/* 80006004 38 63 1B BC */ addi r3, r3, g_HIO@l /* 0x803F1BBC@l */ -/* 80006008 88 03 00 15 */ lbz r0, 0x15(r3) -/* 8000600C 68 00 00 01 */ xori r0, r0, 1 -/* 80006010 98 03 00 15 */ stb r0, 0x15(r3) -lbl_80006014: -/* 80006014 54 80 07 FF */ clrlwi. r0, r4, 0x1f -/* 80006018 41 82 00 30 */ beq lbl_80006048 -/* 8000601C 80 6D 8E 48 */ lwz r3, sAramObject__7JKRAram(r13) -/* 80006020 80 63 00 94 */ lwz r3, 0x94(r3) -/* 80006024 28 03 00 00 */ cmplwi r3, 0 -/* 80006028 41 82 00 08 */ beq lbl_80006030 -/* 8000602C 48 2C D1 ED */ bl dump__11JKRAramHeapFv -lbl_80006030: -/* 80006030 48 25 C4 41 */ bl dump__24DynamicModuleControlBaseFv -/* 80006034 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80006038 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8000603C 3C 63 00 02 */ addis r3, r3, 2 -/* 80006040 38 63 C2 F8 */ addi r3, r3, -15624 -/* 80006044 48 03 65 F5 */ bl dump__14dRes_control_cFv -lbl_80006048: -/* 80006048 80 1E 00 00 */ lwz r0, 0(r30) -/* 8000604C 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e -/* 80006050 41 82 00 18 */ beq lbl_80006068 -/* 80006054 80 6D 8D F0 */ lwz r3, sSystemHeap__7JKRHeap(r13) -/* 80006058 81 83 00 00 */ lwz r12, 0(r3) -/* 8000605C 81 8C 00 18 */ lwz r12, 0x18(r12) -/* 80006060 7D 89 03 A6 */ mtctr r12 -/* 80006064 4E 80 04 21 */ bctrl -lbl_80006068: -/* 80006068 80 1E 00 00 */ lwz r0, 0(r30) -/* 8000606C 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c -/* 80006070 41 82 00 40 */ beq lbl_800060B0 -/* 80006074 80 6D 86 AC */ lwz r3, zeldaHeap(r13) -/* 80006078 81 83 00 00 */ lwz r12, 0(r3) -/* 8000607C 81 8C 00 18 */ lwz r12, 0x18(r12) -/* 80006080 7D 89 03 A6 */ mtctr r12 -/* 80006084 4E 80 04 21 */ bctrl -/* 80006088 80 6D 86 A8 */ lwz r3, gameHeap(r13) -/* 8000608C 81 83 00 00 */ lwz r12, 0(r3) -/* 80006090 81 8C 00 18 */ lwz r12, 0x18(r12) -/* 80006094 7D 89 03 A6 */ mtctr r12 -/* 80006098 4E 80 04 21 */ bctrl -/* 8000609C 80 6D 86 B4 */ lwz r3, archiveHeap(r13) -/* 800060A0 81 83 00 00 */ lwz r12, 0(r3) -/* 800060A4 81 8C 00 18 */ lwz r12, 0x18(r12) -/* 800060A8 7D 89 03 A6 */ mtctr r12 -/* 800060AC 4E 80 04 21 */ bctrl -lbl_800060B0: -/* 800060B0 38 60 00 1E */ li r3, 0x1e -/* 800060B4 38 80 01 B8 */ li r4, 0x1b8 -/* 800060B8 38 A0 00 01 */ li r5, 1 -/* 800060BC 3C C0 80 37 */ lis r6, m_Do_m_Do_main__stringBase0@ha /* 0x803739A0@ha */ -/* 800060C0 38 C6 39 A0 */ addi r6, r6, m_Do_m_Do_main__stringBase0@l /* 0x803739A0@l */ -/* 800060C4 38 C6 02 35 */ addi r6, r6, 0x235 -/* 800060C8 4C C6 31 82 */ crclr 6 -/* 800060CC 48 2D A5 35 */ bl JUTReport__FiiiPCce -/* 800060D0 38 60 00 1E */ li r3, 0x1e -/* 800060D4 38 80 01 C2 */ li r4, 0x1c2 -/* 800060D8 38 A0 00 01 */ li r5, 1 -/* 800060DC 3C C0 80 37 */ lis r6, m_Do_m_Do_main__stringBase0@ha /* 0x803739A0@ha */ -/* 800060E0 38 C6 39 A0 */ addi r6, r6, m_Do_m_Do_main__stringBase0@l /* 0x803739A0@l */ -/* 800060E4 38 C6 02 5B */ addi r6, r6, 0x25b -/* 800060E8 4C C6 31 82 */ crclr 6 -/* 800060EC 48 2D A5 15 */ bl JUTReport__FiiiPCce -lbl_800060F0: -/* 800060F0 C0 0D 85 A4 */ lfs f0, console_position_y(r13) -/* 800060F4 FC 00 00 1E */ fctiwz f0, f0 -/* 800060F8 D8 01 00 08 */ stfd f0, 8(r1) -/* 800060FC 80 61 00 0C */ lwz r3, 0xc(r1) -/* 80006100 C0 0D 85 9C */ lfs f0, console_position_x(r13) -/* 80006104 FC 00 00 1E */ fctiwz f0, f0 -/* 80006108 D8 01 00 10 */ stfd f0, 0x10(r1) -/* 8000610C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80006110 90 1F 00 40 */ stw r0, 0x40(r31) -/* 80006114 90 7F 00 44 */ stw r3, 0x44(r31) -/* 80006118 38 60 00 01 */ li r3, 1 -/* 8000611C 48 00 00 08 */ b lbl_80006124 -lbl_80006120: -/* 80006120 38 60 00 00 */ li r3, 0 -lbl_80006124: -/* 80006124 E3 E1 00 48 */ psq_l f31, 72(r1), 0, 0 /* qr0 */ -/* 80006128 CB E1 00 40 */ lfd f31, 0x40(r1) -/* 8000612C E3 C1 00 38 */ psq_l f30, 56(r1), 0, 0 /* qr0 */ -/* 80006130 CB C1 00 30 */ lfd f30, 0x30(r1) -/* 80006134 39 61 00 30 */ addi r11, r1, 0x30 -/* 80006138 48 35 C0 ED */ bl _restgpr_28 -/* 8000613C 80 01 00 54 */ lwz r0, 0x54(r1) -/* 80006140 7C 08 03 A6 */ mtlr r0 -/* 80006144 38 21 00 50 */ addi r1, r1, 0x50 -/* 80006148 4E 80 00 20 */ blr diff --git a/asm/m_Do/m_Do_main/debugDisplay__Fv.s b/asm/m_Do/m_Do_main/debugDisplay__Fv.s deleted file mode 100644 index 03a2896234..0000000000 --- a/asm/m_Do/m_Do_main/debugDisplay__Fv.s +++ /dev/null @@ -1,168 +0,0 @@ -lbl_80005AD8: -/* 80005AD8 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 80005ADC 7C 08 02 A6 */ mflr r0 -/* 80005AE0 90 01 00 34 */ stw r0, 0x34(r1) -/* 80005AE4 39 61 00 30 */ addi r11, r1, 0x30 -/* 80005AE8 48 35 C6 DD */ bl _savegpr_23 -/* 80005AEC 3C 60 80 3A */ lis r3, COPYDATE_STRING__7mDoMain@ha /* 0x803A2EE0@ha */ -/* 80005AF0 3B 23 2E E0 */ addi r25, r3, COPYDATE_STRING__7mDoMain@l /* 0x803A2EE0@l */ -/* 80005AF4 88 0D 85 99 */ lbz r0, struct_80450B18+0x1(r13) -/* 80005AF8 28 00 00 01 */ cmplwi r0, 1 -/* 80005AFC 41 80 00 20 */ blt lbl_80005B1C -/* 80005B00 28 00 00 06 */ cmplwi r0, 6 -/* 80005B04 41 81 00 18 */ bgt lbl_80005B1C -/* 80005B08 38 79 00 14 */ addi r3, r25, 0x14 -/* 80005B0C 54 00 15 BA */ rlwinm r0, r0, 2, 0x16, 0x1d -/* 80005B10 7C 63 02 14 */ add r3, r3, r0 -/* 80005B14 80 63 FF FC */ lwz r3, -4(r3) -/* 80005B18 4B FF FD AD */ bl heapDisplay__9HeapCheckCFv -lbl_80005B1C: -/* 80005B1C 88 0D 80 08 */ lbz r0, data_80450588(r13) -/* 80005B20 28 00 00 05 */ cmplwi r0, 5 -/* 80005B24 40 82 00 A0 */ bne lbl_80005BC4 -/* 80005B28 80 6D 8E 48 */ lwz r3, sAramObject__7JKRAram(r13) -/* 80005B2C 83 23 00 94 */ lwz r25, 0x94(r3) -/* 80005B30 28 19 00 00 */ cmplwi r25, 0 -/* 80005B34 41 82 02 00 */ beq lbl_80005D34 -/* 80005B38 38 60 01 DB */ li r3, 0x1db -/* 80005B3C 38 80 00 64 */ li r4, 0x64 -/* 80005B40 3C A0 80 37 */ lis r5, m_Do_m_Do_main__stringBase0@ha /* 0x803739A0@ha */ -/* 80005B44 38 A5 39 A0 */ addi r5, r5, m_Do_m_Do_main__stringBase0@l /* 0x803739A0@l */ -/* 80005B48 38 A5 01 96 */ addi r5, r5, 0x196 -/* 80005B4C 4C C6 31 82 */ crclr 6 -/* 80005B50 48 2D A9 E1 */ bl JUTReport__FiiPCce -/* 80005B54 7F 23 CB 78 */ mr r3, r25 -/* 80005B58 48 2C D5 DD */ bl getFreeSize__11JKRAramHeapFv -/* 80005B5C 7C 66 1B 78 */ mr r6, r3 -/* 80005B60 38 60 01 DB */ li r3, 0x1db -/* 80005B64 38 80 00 72 */ li r4, 0x72 -/* 80005B68 3C A0 80 37 */ lis r5, m_Do_m_Do_main__stringBase0@ha /* 0x803739A0@ha */ -/* 80005B6C 38 A5 39 A0 */ addi r5, r5, m_Do_m_Do_main__stringBase0@l /* 0x803739A0@l */ -/* 80005B70 38 A5 01 A0 */ addi r5, r5, 0x1a0 -/* 80005B74 4C C6 31 82 */ crclr 6 -/* 80005B78 48 2D A9 B9 */ bl JUTReport__FiiPCce -/* 80005B7C 38 60 01 DB */ li r3, 0x1db -/* 80005B80 38 80 00 80 */ li r4, 0x80 -/* 80005B84 3C A0 80 37 */ lis r5, m_Do_m_Do_main__stringBase0@ha /* 0x803739A0@ha */ -/* 80005B88 38 A5 39 A0 */ addi r5, r5, m_Do_m_Do_main__stringBase0@l /* 0x803739A0@l */ -/* 80005B8C 38 A5 01 50 */ addi r5, r5, 0x150 -/* 80005B90 4C C6 31 82 */ crclr 6 -/* 80005B94 48 2D A9 9D */ bl JUTReport__FiiPCce -/* 80005B98 7F 23 CB 78 */ mr r3, r25 -/* 80005B9C 48 2C D6 11 */ bl getTotalFreeSize__11JKRAramHeapFv -/* 80005BA0 7C 66 1B 78 */ mr r6, r3 -/* 80005BA4 38 60 01 DB */ li r3, 0x1db -/* 80005BA8 38 80 00 8E */ li r4, 0x8e -/* 80005BAC 3C A0 80 37 */ lis r5, m_Do_m_Do_main__stringBase0@ha /* 0x803739A0@ha */ -/* 80005BB0 38 A5 39 A0 */ addi r5, r5, m_Do_m_Do_main__stringBase0@l /* 0x803739A0@l */ -/* 80005BB4 38 A5 01 A0 */ addi r5, r5, 0x1a0 -/* 80005BB8 4C C6 31 82 */ crclr 6 -/* 80005BBC 48 2D A9 75 */ bl JUTReport__FiiPCce -/* 80005BC0 48 00 01 74 */ b lbl_80005D34 -lbl_80005BC4: -/* 80005BC4 28 00 00 00 */ cmplwi r0, 0 -/* 80005BC8 41 82 01 6C */ beq lbl_80005D34 -/* 80005BCC 38 60 01 DB */ li r3, 0x1db -/* 80005BD0 38 80 00 64 */ li r4, 0x64 -/* 80005BD4 3C A0 80 37 */ lis r5, m_Do_m_Do_main__stringBase0@ha /* 0x803739A0@ha */ -/* 80005BD8 38 A5 39 A0 */ addi r5, r5, m_Do_m_Do_main__stringBase0@l /* 0x803739A0@l */ -/* 80005BDC 38 A5 01 A3 */ addi r5, r5, 0x1a3 -/* 80005BE0 54 00 15 BA */ rlwinm r0, r0, 2, 0x16, 0x1d -/* 80005BE4 38 D9 00 34 */ addi r6, r25, 0x34 -/* 80005BE8 7C C6 00 2E */ lwzx r6, r6, r0 -/* 80005BEC 4C C6 31 82 */ crclr 6 -/* 80005BF0 48 2D A9 41 */ bl JUTReport__FiiPCce -/* 80005BF4 38 60 01 DB */ li r3, 0x1db -/* 80005BF8 38 80 00 72 */ li r4, 0x72 -/* 80005BFC 3C A0 80 37 */ lis r5, m_Do_m_Do_main__stringBase0@ha /* 0x803739A0@ha */ -/* 80005C00 38 A5 39 A0 */ addi r5, r5, m_Do_m_Do_main__stringBase0@l /* 0x803739A0@l */ -/* 80005C04 38 A5 01 A3 */ addi r5, r5, 0x1a3 -/* 80005C08 88 0D 80 08 */ lbz r0, data_80450588(r13) -/* 80005C0C 54 00 10 3A */ slwi r0, r0, 2 -/* 80005C10 38 D9 00 48 */ addi r6, r25, 0x48 -/* 80005C14 7C C6 00 2E */ lwzx r6, r6, r0 -/* 80005C18 4C C6 31 82 */ crclr 6 -/* 80005C1C 48 2D A9 15 */ bl JUTReport__FiiPCce -/* 80005C20 3B E0 00 00 */ li r31, 0 -/* 80005C24 3B 80 00 00 */ li r28, 0 -/* 80005C28 3B 60 00 00 */ li r27, 0 -/* 80005C2C 3B 39 00 14 */ addi r25, r25, 0x14 -/* 80005C30 3C 60 80 37 */ lis r3, m_Do_m_Do_main__stringBase0@ha /* 0x803739A0@ha */ -/* 80005C34 3B 43 39 A0 */ addi r26, r3, m_Do_m_Do_main__stringBase0@l /* 0x803739A0@l */ -lbl_80005C38: -/* 80005C38 7E F9 D8 2E */ lwzx r23, r25, r27 -/* 80005C3C 83 17 00 08 */ lwz r24, 8(r23) -/* 80005C40 88 0D 80 08 */ lbz r0, data_80450588(r13) -/* 80005C44 2C 00 00 03 */ cmpwi r0, 3 -/* 80005C48 41 82 00 4C */ beq lbl_80005C94 -/* 80005C4C 40 80 00 14 */ bge lbl_80005C60 -/* 80005C50 2C 00 00 01 */ cmpwi r0, 1 -/* 80005C54 41 82 00 18 */ beq lbl_80005C6C -/* 80005C58 40 80 00 30 */ bge lbl_80005C88 -/* 80005C5C 48 00 00 7C */ b lbl_80005CD8 -lbl_80005C60: -/* 80005C60 2C 00 00 05 */ cmpwi r0, 5 -/* 80005C64 40 80 00 74 */ bge lbl_80005CD8 -/* 80005C68 48 00 00 48 */ b lbl_80005CB0 -lbl_80005C6C: -/* 80005C6C 7F 03 C3 78 */ mr r3, r24 -/* 80005C70 48 2C 8B 15 */ bl getTotalFreeSize__7JKRHeapFv -/* 80005C74 7C 7E 1B 78 */ mr r30, r3 -/* 80005C78 7F 03 C3 78 */ mr r3, r24 -/* 80005C7C 48 2C 8A B1 */ bl getFreeSize__7JKRHeapFv -/* 80005C80 7C 7D 1B 78 */ mr r29, r3 -/* 80005C84 48 00 00 54 */ b lbl_80005CD8 -lbl_80005C88: -/* 80005C88 83 D7 00 0C */ lwz r30, 0xc(r23) -/* 80005C8C 83 B8 00 38 */ lwz r29, 0x38(r24) -/* 80005C90 48 00 00 48 */ b lbl_80005CD8 -lbl_80005C94: -/* 80005C94 7E E3 BB 78 */ mr r3, r23 -/* 80005C98 4B FF FC 09 */ bl getUsedCount__9HeapCheckCFv -/* 80005C9C 7C 7E 1B 78 */ mr r30, r3 -/* 80005CA0 7F 03 C3 78 */ mr r3, r24 -/* 80005CA4 48 2C A0 C1 */ bl getTotalUsedSize__10JKRExpHeapCFv -/* 80005CA8 7C 7D 1B 78 */ mr r29, r3 -/* 80005CAC 48 00 00 2C */ b lbl_80005CD8 -lbl_80005CB0: -/* 80005CB0 7E E3 BB 78 */ mr r3, r23 -/* 80005CB4 4B FF FB ED */ bl getUsedCount__9HeapCheckCFv -/* 80005CB8 80 17 00 20 */ lwz r0, 0x20(r23) -/* 80005CBC 7C 00 18 50 */ subf r0, r0, r3 -/* 80005CC0 7C 1E 03 78 */ mr r30, r0 -/* 80005CC4 80 77 00 08 */ lwz r3, 8(r23) -/* 80005CC8 48 2C A0 9D */ bl getTotalUsedSize__10JKRExpHeapCFv -/* 80005CCC 80 17 00 24 */ lwz r0, 0x24(r23) -/* 80005CD0 7C 00 18 50 */ subf r0, r0, r3 -/* 80005CD4 7C 1D 03 78 */ mr r29, r0 -lbl_80005CD8: -/* 80005CD8 38 60 01 DB */ li r3, 0x1db -/* 80005CDC 38 9C 00 96 */ addi r4, r28, 0x96 -/* 80005CE0 38 BA 01 A6 */ addi r5, r26, 0x1a6 -/* 80005CE4 80 D7 00 00 */ lwz r6, 0(r23) -/* 80005CE8 4C C6 31 82 */ crclr 6 -/* 80005CEC 48 2D A8 45 */ bl JUTReport__FiiPCce -/* 80005CF0 38 60 01 DB */ li r3, 0x1db -/* 80005CF4 38 9C 00 A4 */ addi r4, r28, 0xa4 -/* 80005CF8 38 BA 01 AC */ addi r5, r26, 0x1ac -/* 80005CFC 7F C6 F3 78 */ mr r6, r30 -/* 80005D00 4C C6 31 82 */ crclr 6 -/* 80005D04 48 2D A8 2D */ bl JUTReport__FiiPCce -/* 80005D08 38 60 01 DB */ li r3, 0x1db -/* 80005D0C 38 9C 00 B2 */ addi r4, r28, 0xb2 -/* 80005D10 38 BA 01 AC */ addi r5, r26, 0x1ac -/* 80005D14 7F A6 EB 78 */ mr r6, r29 -/* 80005D18 4C C6 31 82 */ crclr 6 -/* 80005D1C 48 2D A8 15 */ bl JUTReport__FiiPCce -/* 80005D20 3B FF 00 01 */ addi r31, r31, 1 -/* 80005D24 2C 1F 00 08 */ cmpwi r31, 8 -/* 80005D28 3B 9C 00 2C */ addi r28, r28, 0x2c -/* 80005D2C 3B 7B 00 04 */ addi r27, r27, 4 -/* 80005D30 41 80 FF 08 */ blt lbl_80005C38 -lbl_80005D34: -/* 80005D34 39 61 00 30 */ addi r11, r1, 0x30 -/* 80005D38 48 35 C4 D9 */ bl _restgpr_23 -/* 80005D3C 80 01 00 34 */ lwz r0, 0x34(r1) -/* 80005D40 7C 08 03 A6 */ mtlr r0 -/* 80005D44 38 21 00 30 */ addi r1, r1, 0x30 -/* 80005D48 4E 80 00 20 */ blr diff --git a/include/JSystem/J2DGraph/J2DAnimation.h b/include/JSystem/J2DGraph/J2DAnimation.h index 3a99422819..5974961dac 100644 --- a/include/JSystem/J2DGraph/J2DAnimation.h +++ b/include/JSystem/J2DGraph/J2DAnimation.h @@ -11,13 +11,13 @@ class J2DScreen; enum J2DAnmKind { - KIND_TRANSFORM = 0, - KIND_COLOR = 1, + KIND_TRANSFORM = 0, + KIND_COLOR = 1, KIND_TEX_PATTERN = 2, KIND_TEXTURE_SRT = 4, - KIND_TEV_REG = 5, - KIND_VISIBILITY = 6, - KIND_VTX_COLOR = 7 + KIND_TEV_REG = 5, + KIND_VISIBILITY = 6, + KIND_VTX_COLOR = 7 }; class J2DAnmBase { diff --git a/include/JSystem/J3DGraphAnimator/J3DJoint.h b/include/JSystem/J3DGraphAnimator/J3DJoint.h index 28cc3b92f0..b0f77631dd 100644 --- a/include/JSystem/J3DGraphAnimator/J3DJoint.h +++ b/include/JSystem/J3DGraphAnimator/J3DJoint.h @@ -19,7 +19,7 @@ public: /* 80014E94 */ virtual bool getAnmTransform(u8); /* 80014EA4 */ virtual void setWeight(u8, f32); /* 80014EA8 */ virtual void getWeight(u8) const; - virtual void init(Vec const&, Mtx*) = 0; + virtual void init(Vec const& param_0, Mtx*) = 0; virtual void calc() = 0; static J3DMtxBuffer* getMtxBuffer() { return mMtxBuffer; } @@ -34,8 +34,14 @@ public: /* 8000FA8C */ virtual ~J3DMtxCalcNoAnmBase(); }; -template -class J3DMtxCalcNoAnm : public J3DMtxCalcNoAnmBase, public A, public B {}; +template +class J3DMtxCalcNoAnm : public J3DMtxCalcNoAnmBase, public A, public B { +public: + J3DMtxCalcNoAnm() {} + virtual ~J3DMtxCalcNoAnm() {} + virtual void init(Vec const& param_0, f32 const (¶m_1)[3][4]); + virtual void calc(); +}; class J3DJoint; typedef int (*J3DJointCallBack)(J3DJoint*, int); @@ -53,6 +59,7 @@ public: J3DJoint* getYounger() { return mYounger; } void setYounger(J3DJoint* pYounger) { mYounger = pYounger; } void setCurrentMtxCalc(J3DMtxCalc* pMtxCalc) { mCurrentMtxCalc = pMtxCalc; } + J3DTransformInfo& getTransformInfo() { return mTransformInfo; } static J3DMtxCalc* mCurrentMtxCalc; diff --git a/include/JSystem/J3DGraphAnimator/J3DMaterialAnm.h b/include/JSystem/J3DGraphAnimator/J3DMaterialAnm.h index f3c349f72a..db9a5184a6 100644 --- a/include/JSystem/J3DGraphAnimator/J3DMaterialAnm.h +++ b/include/JSystem/J3DGraphAnimator/J3DMaterialAnm.h @@ -114,6 +114,8 @@ private: class J3DMaterialAnm { public: + J3DMaterialAnm() { initialize(); } + /* 8032C320 */ void initialize(); /* 8032C5A4 */ void setMatColorAnm(int, J3DMatColorAnm*); /* 8032C5E4 */ void setTexMtxAnm(int, J3DTexMtxAnm*); diff --git a/include/JSystem/J3DGraphAnimator/J3DMaterialAttach.h b/include/JSystem/J3DGraphAnimator/J3DMaterialAttach.h index 5802a1040b..d635b91979 100644 --- a/include/JSystem/J3DGraphAnimator/J3DMaterialAttach.h +++ b/include/JSystem/J3DGraphAnimator/J3DMaterialAttach.h @@ -15,10 +15,10 @@ class J3DMaterialTable { public: /* 8032F5A8 */ void clear(); /* 8032F5D0 */ J3DMaterialTable(); - /* 8032F64C */ bool removeMatColorAnimator(J3DAnmColor*); - /* 8032F6F8 */ void removeTexNoAnimator(J3DAnmTexPattern*); - /* 8032F7B4 */ void removeTexMtxAnimator(J3DAnmTextureSRTKey*); - /* 8032F880 */ void removeTevRegAnimator(J3DAnmTevRegKey*); + /* 8032F64C */ int removeMatColorAnimator(J3DAnmColor*); + /* 8032F6F8 */ int removeTexNoAnimator(J3DAnmTexPattern*); + /* 8032F7B4 */ int removeTexMtxAnimator(J3DAnmTextureSRTKey*); + /* 8032F880 */ int removeTevRegAnimator(J3DAnmTevRegKey*); /* 8032F9C0 */ void createTexMtxForAnimator(J3DAnmTextureSRTKey*); /* 8032FAF4 */ void entryMatColorAnimator(J3DAnmColor*); /* 8032FBC8 */ void entryTexNoAnimator(J3DAnmTexPattern*); diff --git a/include/JSystem/J3DGraphAnimator/J3DModel.h b/include/JSystem/J3DGraphAnimator/J3DModel.h index 26c7ec72a2..fbd0a35597 100644 --- a/include/JSystem/J3DGraphAnimator/J3DModel.h +++ b/include/JSystem/J3DGraphAnimator/J3DModel.h @@ -68,6 +68,7 @@ public: Mtx33* getBumpMtxPtr(int idx) const { return mMtxBuffer->getBumpMtxPtr(idx); } Mtx33* getNrmMtxPtr() const { return mMtxBuffer->getNrmMtxPtr(); } void setBaseScale(const Vec& scale) { mBaseScale = scale; } + void setUserArea(u32 area) { mUserArea = area; } // is there a better way to handle inlines with same name as non-inlines? MtxP i_getAnmMtx(int p1) { return mMtxBuffer->getAnmMtx(p1); } diff --git a/include/JSystem/J3DGraphAnimator/J3DModelData.h b/include/JSystem/J3DGraphAnimator/J3DModelData.h index 56b896c926..59203403b1 100644 --- a/include/JSystem/J3DGraphAnimator/J3DModelData.h +++ b/include/JSystem/J3DGraphAnimator/J3DModelData.h @@ -43,6 +43,18 @@ public: bool checkFlag(u32 flag) const { return !!(mFlags & flag); } bool checkBumpFlag() const { return mbHasBumpArray; } bool checkBBoardFlag() const { return mbHasBillboard == 1; } + int removeTexNoAnimator(J3DAnmTexPattern* anm) { + return mMaterialTable.removeTexNoAnimator(anm); + } + int removeTexMtxAnimator(J3DAnmTextureSRTKey* anm) { + return mMaterialTable.removeTexMtxAnimator(anm); + } + int removeTevRegAnimator(J3DAnmTevRegKey* anm) { + return mMaterialTable.removeTevRegAnimator(anm); + } + int removeMatColorAnimator(J3DAnmColor* anm) { + return mMaterialTable.removeMatColorAnimator(anm); + } private: /* 0x04 */ void* mpRawData; diff --git a/include/JSystem/J3DGraphBase/J3DPacket.h b/include/JSystem/J3DGraphBase/J3DPacket.h index 14ed0fb5f4..6552c461af 100644 --- a/include/JSystem/J3DGraphBase/J3DPacket.h +++ b/include/JSystem/J3DGraphBase/J3DPacket.h @@ -64,6 +64,8 @@ public: mpFirstChild = NULL; } + void setUserArea(u32 area) { mpUserData = (void*)area; } + virtual bool entry(J3DDrawBuffer*); virtual void draw(); virtual ~J3DPacket() {} diff --git a/include/JSystem/J3DGraphBase/J3DShape.h b/include/JSystem/J3DGraphBase/J3DShape.h index 866dbe34e5..f18551d7ed 100644 --- a/include/JSystem/J3DGraphBase/J3DShape.h +++ b/include/JSystem/J3DGraphBase/J3DShape.h @@ -31,8 +31,8 @@ public: u32 getMtxIdxRegB() const { return mMtxIdxRegB; } inline void load() const { - J3DFifoWriteCPCmd(0x30, getMtxIdxRegA()); // CP_MATINDEX_A - J3DFifoWriteCPCmd(0x40, getMtxIdxRegB()); // CP_MATINDEX_B + J3DFifoWriteCPCmd(0x30, getMtxIdxRegA()); // CP_MATINDEX_A + J3DFifoWriteCPCmd(0x40, getMtxIdxRegB()); // CP_MATINDEX_B J3DFifoWriteXFCmd(0x1018, 2); GFX_FIFO(u32) = getMtxIdxRegA(); GFX_FIFO(u32) = getMtxIdxRegB(); @@ -44,12 +44,12 @@ class J3DVertexData; class J3DDrawMtxData; enum J3DShpFlag { - J3DShpFlag_Visible = 0x0001, - J3DShpFlag_SkinPosCpu = 0x0004, - J3DShpFlag_SkinNrmCpu = 0x0008, - J3DShpFlag_Hidden = 0x0010, - J3DShpFlag_EnableLod = 0x0100, - J3DShpFlag_NoMtx = 0x0200, + J3DShpFlag_Visible = 0x0001, + J3DShpFlag_SkinPosCpu = 0x0004, + J3DShpFlag_SkinNrmCpu = 0x0008, + J3DShpFlag_Hidden = 0x0010, + J3DShpFlag_EnableLod = 0x0100, + J3DShpFlag_NoMtx = 0x0200, }; class J3DShape { diff --git a/include/JSystem/JAudio2/JASDvdThread.h b/include/JSystem/JAudio2/JASDvdThread.h index 5496d6ec04..0e05c452d9 100644 --- a/include/JSystem/JAudio2/JASDvdThread.h +++ b/include/JSystem/JAudio2/JASDvdThread.h @@ -1,6 +1,15 @@ #ifndef JASDVDTHREAD_H #define JASDVDTHREAD_H +#include "JSystem/JAudio2/JASTaskThread.h" #include "dolphin/types.h" +class JASDvd { +public: + /* 8028FEFC */ static JASTaskThread* getThreadPointer(); + /* 8028FF04 */ void createThread(s32, int, u32); + + static JASTaskThread* sThread; +}; + #endif /* JASDVDTHREAD_H */ diff --git a/include/JSystem/JAudio2/JASTaskThread.h b/include/JSystem/JAudio2/JASTaskThread.h index b8cecabc6a..d98f9bb450 100644 --- a/include/JSystem/JAudio2/JASTaskThread.h +++ b/include/JSystem/JAudio2/JASTaskThread.h @@ -1,6 +1,23 @@ #ifndef JASTASKTHREAD_H #define JASTASKTHREAD_H +#include "JSystem/JKernel/JKRThread.h" #include "dolphin/types.h" +class JASTaskThread : public JKRThread { +public: + /* 8028F6C4 */ JASTaskThread(int, int, u32); + /* 8028F9EC */ void allocCallStack(void (*)(void*), void*); + /* 8028F850 */ void allocCallStack(void (*)(void*), void const*, u32); + /* 8028FC54 */ void sendCmdMsg(void (*)(void*), void*); + /* 8028FB5C */ void sendCmdMsg(void (*)(void*), void const*, u32); + /* 8028FE88 */ void pause(bool); + + /* 8028F724 */ virtual ~JASTaskThread(); + /* 8028FD4C */ virtual void run(); + + /* 0x7C */ OSThreadQueue* mpThreadQueue; + /* 0x84 */ bool field_0x84; +}; + #endif /* JASTASKTHREAD_H */ diff --git a/include/JSystem/JKernel/JKRAssertHeap.h b/include/JSystem/JKernel/JKRAssertHeap.h index e285ea9f99..3d8693ea6e 100644 --- a/include/JSystem/JKernel/JKRAssertHeap.h +++ b/include/JSystem/JKernel/JKRAssertHeap.h @@ -10,23 +10,23 @@ protected: virtual ~JKRAssertHeap(); public: - /* vt[04] */ virtual u32 getHeapType(void); /* override */ - /* vt[05] */ virtual bool check(void); /* override */ - /* vt[06] */ virtual bool dump_sort(void); /* override */ - /* vt[07] */ virtual bool dump(void); /* override */ - /* vt[08] */ virtual void do_destroy(void); /* override */ - /* vt[09] */ virtual void* do_alloc(u32, int); /* override */ - /* vt[10] */ virtual void do_free(void*); /* override */ - /* vt[11] */ virtual void do_freeAll(void); /* override */ - /* vt[12] */ virtual void do_freeTail(void); /* override */ - /* vt[13] */ virtual void do_fillFreeArea(void); /* override */ - /* vt[14] */ virtual s32 do_resize(void*, u32); /* override */ - /* vt[15] */ virtual s32 do_getSize(void*); /* override */ - /* vt[16] */ virtual s32 do_getFreeSize(void); /* override */ - /* vt[17] */ virtual void* do_getMaxFreeBlock(void); /* override */ - /* vt[18] */ virtual s32 do_getTotalFreeSize(void); /* override */ - /* vt[19] */ virtual u8 do_changeGroupID(u8 param_1); /* override */ - /* vt[20] */ virtual u8 do_getCurrentGroupId(void); /* override */ + /* vt[04] */ virtual u32 getHeapType(void); /* override */ + /* vt[05] */ virtual bool check(void); /* override */ + /* vt[06] */ virtual bool dump_sort(void); /* override */ + /* vt[07] */ virtual bool dump(void); /* override */ + /* vt[08] */ virtual void do_destroy(void); /* override */ + /* vt[09] */ virtual void* do_alloc(u32, int); /* override */ + /* vt[10] */ virtual void do_free(void*); /* override */ + /* vt[11] */ virtual void do_freeAll(void); /* override */ + /* vt[12] */ virtual void do_freeTail(void); /* override */ + /* vt[13] */ virtual void do_fillFreeArea(void); /* override */ + /* vt[14] */ virtual s32 do_resize(void*, u32); /* override */ + /* vt[15] */ virtual s32 do_getSize(void*); /* override */ + /* vt[16] */ virtual s32 do_getFreeSize(void); /* override */ + /* vt[17] */ virtual void* do_getMaxFreeBlock(void); /* override */ + /* vt[18] */ virtual s32 do_getTotalFreeSize(void); /* override */ + /* vt[19] */ virtual s32 do_changeGroupID(u8 param_1); /* override */ + /* vt[20] */ virtual u8 do_getCurrentGroupId(void); /* override */ public: static JKRAssertHeap* create(JKRHeap*); diff --git a/include/JSystem/JKernel/JKRDvdAramRipper.h b/include/JSystem/JKernel/JKRDvdAramRipper.h index 040015d0d7..fa9f33357c 100644 --- a/include/JSystem/JKernel/JKRDvdAramRipper.h +++ b/include/JSystem/JKernel/JKRDvdAramRipper.h @@ -37,7 +37,8 @@ class JKRDvdAramRipper { public: static JKRAramBlock* loadToAram(long, u32, JKRExpandSwitch, u32, u32, u32*); static JKRAramBlock* loadToAram(JKRDvdFile*, u32, JKRExpandSwitch, u32, u32, u32*); - static JKRADCommand* loadToAram_Async(JKRDvdFile*, u32, JKRExpandSwitch, void (*)(u32), u32, u32, u32*); + static JKRADCommand* loadToAram_Async(JKRDvdFile*, u32, JKRExpandSwitch, void (*)(u32), u32, + u32, u32*); static JKRADCommand* callCommand_Async(JKRADCommand*); static bool syncAram(JKRADCommand*, int); diff --git a/include/JSystem/JKernel/JKRExpHeap.h b/include/JSystem/JKernel/JKRExpHeap.h index d2e93baa53..8ee16b87f0 100644 --- a/include/JSystem/JKernel/JKRExpHeap.h +++ b/include/JSystem/JKernel/JKRExpHeap.h @@ -73,7 +73,7 @@ public: /* vt[16] */ virtual s32 do_getFreeSize(); /* override */ /* vt[17] */ virtual void* do_getMaxFreeBlock(); /* override */ /* vt[18] */ virtual s32 do_getTotalFreeSize(); /* override */ - /* vt[19] */ virtual u8 do_changeGroupID(u8 newGroupID); /* override */ + /* vt[19] */ virtual s32 do_changeGroupID(u8 newGroupID); /* override */ /* vt[20] */ virtual u8 do_getCurrentGroupId(); /* override */ /* vt[21] */ virtual void state_register(JKRHeap::TState*, u32) const; /* override */ /* vt[22] */ virtual bool state_compare(JKRHeap::TState const&, diff --git a/include/JSystem/JKernel/JKRHeap.h b/include/JSystem/JKernel/JKRHeap.h index f2194cb7a8..d0f0fc9c0d 100644 --- a/include/JSystem/JKernel/JKRHeap.h +++ b/include/JSystem/JKernel/JKRHeap.h @@ -43,7 +43,7 @@ public: s32 getFreeSize(); void* getMaxFreeBlock(); s32 getTotalFreeSize(); - u8 changeGroupID(u8 newGroupId); + s32 changeGroupID(u8 newGroupId); u32 getMaxAllocatableSize(int alignment); JKRHeap* find(void* ptr) const; @@ -73,7 +73,7 @@ public: /* vt[16] */ virtual s32 do_getFreeSize() = 0; /* vt[17] */ virtual void* do_getMaxFreeBlock() = 0; /* vt[18] */ virtual s32 do_getTotalFreeSize() = 0; - /* vt[19] */ virtual u8 do_changeGroupID(u8 newGroupID); + /* vt[19] */ virtual s32 do_changeGroupID(u8 newGroupID); /* vt[20] */ virtual u8 do_getCurrentGroupId(); /* vt[21] */ virtual void state_register(JKRHeap::TState*, unsigned long) const; /* vt[22] */ virtual bool state_compare(JKRHeap::TState const&, JKRHeap::TState const&) const; diff --git a/include/JSystem/JParticle/JPADynamicsBlock.h b/include/JSystem/JParticle/JPADynamicsBlock.h index 8b3e441c19..9519972e5f 100644 --- a/include/JSystem/JParticle/JPADynamicsBlock.h +++ b/include/JSystem/JParticle/JPADynamicsBlock.h @@ -43,10 +43,10 @@ struct JPADynamicsBlockData { typedef void (*JPADynamicsCalcVolumeFunc)(JPAEmitterWorkData*); enum { - JPADynFlag_FixedDensity = 0x01, - JPADynFlag_FixedInterval = 0x02, - JPADynFlag_InheritScale = 0x04, - JPADynFlag_FollowEmtr = 0x08, + JPADynFlag_FixedDensity = 0x01, + JPADynFlag_FixedInterval = 0x02, + JPADynFlag_InheritScale = 0x04, + JPADynFlag_FollowEmtr = 0x08, JPADynFlag_FollowEmtrChld = 0x10, }; diff --git a/include/JSystem/JParticle/JPAParticle.h b/include/JSystem/JParticle/JPAParticle.h index ae0a07b8b2..0c009f21b4 100644 --- a/include/JSystem/JParticle/JPAParticle.h +++ b/include/JSystem/JParticle/JPAParticle.h @@ -34,12 +34,13 @@ public: JPARandom() { mSeed = 0; } void set_seed(u32 seed) { mSeed = seed; } - u32 get_rndm_u() { - return mSeed = mSeed * 0x19660du + 0x3c6ef35fu; - } + u32 get_rndm_u() { return mSeed = mSeed * 0x19660du + 0x3c6ef35fu; } f32 get_rndm_f() { - union { u32 u; f32 f; } a; + union { + u32 u; + f32 f; + } a; a.u = ((get_rndm_u() >> 9) | 0x3f800000); return a.f - 1.0f; } @@ -54,9 +55,7 @@ public: return f - 1.0f; } - s16 get_rndm_ss() { - return ((s16)get_rndm_u()) >> 16; - } + s16 get_rndm_ss() { return ((s16)get_rndm_u()) >> 16; } public: u32 mSeed; @@ -203,9 +202,9 @@ public: }; enum { - JPAEmtrStts_StopEmit = 0x01, - JPAEmtrStts_StopCalc = 0x02, - JPAEmtrStts_FirstEmit = 0x10, + JPAEmtrStts_StopEmit = 0x01, + JPAEmtrStts_StopCalc = 0x02, + JPAEmtrStts_FirstEmit = 0x10, JPAEmtrStts_RateStepEmit = 0x20, }; @@ -287,6 +286,7 @@ public: class JPAParticleCallBack { public: + JPAParticleCallBack() {} virtual ~JPAParticleCallBack(); virtual void execute(JPABaseEmitter*, JPABaseParticle*); virtual void draw(JPABaseEmitter*, JPABaseParticle*); diff --git a/include/JSystem/JSupport/JSUList.h b/include/JSystem/JSupport/JSUList.h index b0bbdd4fb9..c1deabae92 100644 --- a/include/JSystem/JSupport/JSUList.h +++ b/include/JSystem/JSupport/JSUList.h @@ -52,7 +52,6 @@ public: class JSUPtrList { public: JSUPtrList() { this->initiate(); } - JSUPtrList(bool init); ~JSUPtrList(); @@ -80,7 +79,6 @@ template class JSUList : public JSUPtrList { public: JSUList() : JSUPtrList() {} - JSUList(bool init) : JSUPtrList(init) {} ~JSUList() {} diff --git a/include/JSystem/JUtility/JUTGamePad.h b/include/JSystem/JUtility/JUTGamePad.h index e1b9639df1..49a5a0315e 100644 --- a/include/JSystem/JUtility/JUTGamePad.h +++ b/include/JSystem/JUtility/JUTGamePad.h @@ -29,26 +29,25 @@ enum { extern bool struct_80451500; extern bool struct_80451501; // sResetOccured +struct JUTGamePadRecordBase { + virtual void unk0() {} + virtual void unk1(PADStatus* pad) {} + virtual void unk2() {} + + /* 0x4 */ bool mActive; +}; + struct JUTGamePad : public JKRDisposer { public: - // TODO: fix types - // static JSUList mPadList; - static u8 mPadList[12]; - static PADStatus mPadStatus[4]; - static u8 mPadButton[192]; - static u8 mPadMStick[64]; - static u8 mPadSStick[64]; - static u32 sStickMode; - static u32 sClampMode; - static u8 mPadAssign[4]; - static u8 sSuppressPadReset[4]; - static s32 sAnalogMode; - static u32 sRumbleSupported; - - enum EStickMode {}; - enum EWhichStick {}; + enum EStickMode { + STICK_MODE_1 = 1, + }; + enum EWhichStick { + WS_MAIN_STICK, + WS_SUB_STICK, + }; enum EPadPort { - Port_Unknown = -1, // used by JUTException + Port_Unknown = -1, Port_1, Port_2, Port_3, @@ -61,15 +60,15 @@ public: void initList(); static s32 init(); void clear(); - static void read(); + static u32 read(); void assign(); - void checkResetCallback(OSTime unk); // todo: weird arg + void checkResetCallback(OSTime unk); void update(); void stopPatternedRumble() { mRumble.stopPatternedRumble(mPortNum); } static void checkResetSwitch(); static void clearForReset(); static JUTGamePad* getGamePad(int pad_index); - static bool recalibrate(/*PADMask*/ u32 pad_mask); + static bool recalibrate(u32 pad_mask); static void setAnalogMode(u32 mode) { sAnalogMode = mode; @@ -113,6 +112,12 @@ public: s8 getErrorStatus() const { return mErrorStatus; } + s16 getPortNum() const { return mPortNum; } + + JUTGamePadRecordBase* getPadReplay() const { return mPadReplay; } + + JUTGamePadRecordBase* getPadRecord() const { return mPadRecord; } + u32 testTrigger(u32 button) const { return mButton.mTrigger & button; } bool isPushing3ButtonReset() const { @@ -124,12 +129,14 @@ public: return isPushingReset; } + void stopMotorHard() { mRumble.stopMotorHard(mPortNum); } + static s8 getPortStatus(u32 port) { return mPadStatus[port].error; } struct CButton { - CButton(); // inline + CButton() { clear(); } void clear(); - u32 update(PADStatus const*, u32 unk); + void update(PADStatus const*, u32 unk); void setRepeat(u32 unk0, u32 unk1, u32 unk2); /* 0x00 */ u32 mButton; @@ -150,7 +157,8 @@ public: }; // Size: 0x30 struct C3ButtonReset { - // TODO: fix types + C3ButtonReset() { mReset = false; } + static u32 sResetPattern; static u32 sResetMaskPattern; static callbackFn sCallback; @@ -165,7 +173,7 @@ public: static f32 sPressPoint; static f32 sReleasePoint; - CStick(); // inline + CStick() { clear(); } void clear(); void clear(JUTGamePad* pad); u32 update(s8 unk0, s8 unk1, JUTGamePad::EStickMode mode, JUTGamePad::EWhichStick stick, @@ -183,6 +191,8 @@ public: void stopMotorWaveHard() { mRumble.stopPatternedRumble(mPortNum); } struct CRumble { + CRumble(JUTGamePad* pad) { clear(pad); } + static PADMask sChannelMask[4]; static bool mStatus[4]; static PADMask mEnabled; @@ -204,6 +214,11 @@ public: void stopPatternedRumbleAtThePeriod(); static void setEnabled(u32 pad_mask); + void stopMotorHard(int portNo) { stopMotor(portNo, true); } + + static bool isEnabled(u32 mask) { return mEnabled & mask; } + static bool isEnabledPort(int port) { return isEnabled(sChannelMask[port]); } + /* 0x00 */ u32 field_0x0; /* 0x04 */ u32 field_0x4; /* 0x08 */ u8* field_0x8; @@ -218,32 +233,45 @@ public: /* 0x7C */ s16 mPortNum; /* 0x7E */ s8 mErrorStatus; /* 0x80 */ JSULink mLink; - /* 0x90 */ u32 mPadRecord; - /* 0x94 */ u32 mPadReplay; + /* 0x90 */ JUTGamePadRecordBase* mPadRecord; + /* 0x94 */ JUTGamePadRecordBase* mPadReplay; /* 0x98 */ C3ButtonReset mButtonReset; /* 0x9C */ u8 field_0x9c[4]; /* 0xA0 */ OSTime mResetTime; /* 0xA8 */ u8 field_0xa8; - friend class CRumble; + static JSUList mPadList; + static bool mListInitialized; + static PADStatus mPadStatus[4]; + static CButton mPadButton[4]; + static CStick mPadMStick[4]; + static CStick mPadSStick[4]; + static EStickMode sStickMode; + static u32 sClampMode; + static u8 mPadAssign[4]; + static u32 sSuppressPadReset; + static s32 sAnalogMode; + static u32 sRumbleSupported; }; struct JUTGamePadLongPress { - // TODO: fix type - // static JSUList sPatternList; - static u8 sPatternList[12]; - void checkCallback(int unk0, u32 unk2); + static JSUList sPatternList; + void checkCallback(int port, u32 timer); - u8 unk0[17]; - bool field_0x11; // bool? - u8 unk1[10]; - u32 field_0x1c; - u8 unk2[28]; - u8 field_0x3c; - u8 unk3[11]; - bool field_0x48[4]; // bool[4]? - void (*callback)(s32, JUTGamePadLongPress*, s32); - s32 field_0x50; + u32 getMaskPattern() const { return mMaskPattern; } + u32 getPattern() const { return mPattern; } + + /* 0x00 */ u8 field_0x0[0x10]; + /* 0x10 */ bool mValid; + /* 0x11 */ bool field_0x11; + /* 0x14 */ u32 mPattern; + /* 0x18 */ u32 mMaskPattern; + /* 0x1C */ u32 field_0x1c; + /* 0x20 */ bool field_0x20[4]; + /* 0x28 */ OSTime mTimer[4]; + /* 0x48 */ bool field_0x48[4]; + /* 0x4C */ void (*mCallback)(s32, JUTGamePadLongPress*, s32); + /* 0x50 */ s32 field_0x50; }; #endif /* JUTGAMEPAD_H */ diff --git a/include/JSystem/JUtility/JUTReport.h b/include/JSystem/JUtility/JUTReport.h index 9fd63ad99b..f38f31706a 100644 --- a/include/JSystem/JUtility/JUTReport.h +++ b/include/JSystem/JUtility/JUTReport.h @@ -1,7 +1,7 @@ #ifndef JSYSTEM_JUTILITY_JUTREPORT_H #define JSYSTEM_JUTILITY_JUTREPORT_H -void JUTReport(int, int, const char*, ...); -void JUTReport(int, int, int, const char*, ...); +void JUTReport(int x_pos, int y_pos, const char* str, ...); +void JUTReport(int x_pos, int y_pos, int, const char* str, ...); #endif \ No newline at end of file diff --git a/include/MSL_C/math.h b/include/MSL_C/math.h index 478829c1f5..837522fb44 100644 --- a/include/MSL_C/math.h +++ b/include/MSL_C/math.h @@ -71,6 +71,10 @@ inline float sqrtf(float mag) { } } +inline float atan2f(float y, float x) { + return (f32)atan2(y, x); +} + #ifdef __cplusplus }; #endif diff --git a/include/SSystem/SComponent/c_cc_d.h b/include/SSystem/SComponent/c_cc_d.h index 27b3df6205..31a435ce5f 100644 --- a/include/SSystem/SComponent/c_cc_d.h +++ b/include/SSystem/SComponent/c_cc_d.h @@ -276,6 +276,7 @@ public: void SetWeight(u8 weight) { mWeight = weight; } fopAc_ac_c* GetAc() { return mActor; } void SetActor(void* ac) { mActor = (fopAc_ac_c*)ac; } + cXyz* GetCCMoveP() { return &mXyz; } }; // Size = 0x1C STATIC_ASSERT(0x1C == sizeof(cCcD_Stts)); diff --git a/include/SSystem/SComponent/c_m3d_g_cyl.h b/include/SSystem/SComponent/c_m3d_g_cyl.h index 7d123f6fa6..ec5c29fc5d 100644 --- a/include/SSystem/SComponent/c_m3d_g_cyl.h +++ b/include/SSystem/SComponent/c_m3d_g_cyl.h @@ -7,7 +7,7 @@ // Cylinder struct cM3dGCylS { - /* 0x00 */ cXyz mCenter; + /* 0x00 */ Vec mCenter; /* 0x0C */ f32 mRadius; /* 0x10 */ f32 mHeight; }; // Size = 0x14 diff --git a/include/Z2AudioLib/Z2AudioMgr.h b/include/Z2AudioLib/Z2AudioMgr.h index 11e9446f36..9e3b540cc1 100644 --- a/include/Z2AudioLib/Z2AudioMgr.h +++ b/include/Z2AudioLib/Z2AudioMgr.h @@ -38,11 +38,7 @@ public: /* 0x04A4 */ Z2SceneMgr mSceneMgr; /* 0x04C4 */ Z2StatusMgr mStatusMgr; /* 0x04F4 */ Z2SoundObjMgr mSoundObjMgr; - - /* 0x0514 */ /* virtual */ void startSound(JAISoundID, JAISoundHandle*, - JGeometry::TVec3 const*); - /* 0x0514 */ void* vtable; // remove later - + /* 0x0514 */ virtual void startSound(JAISoundID, JAISoundHandle*, JGeometry::TVec3 const*); /* 0x0518 */ bool mResettingFlag; /* 0x0519 */ bool field_0x519; /* 0x051C */ JASAudioReseter mAudioReseter; diff --git a/include/Z2AudioLib/Z2EnvSeMgr.h b/include/Z2AudioLib/Z2EnvSeMgr.h index e80ced990c..da494c8791 100644 --- a/include/Z2AudioLib/Z2EnvSeMgr.h +++ b/include/Z2AudioLib/Z2EnvSeMgr.h @@ -118,6 +118,10 @@ struct Z2EnvSeMgr { /* 0x188 */ u8 field_0x188; /* 0x18C */ Z2Calc::FNoise1f field_0x18c; /* 0x19C */ Z2Calc::FNoise1f field_0x19c; + /* 0x1AC */ f32 field_0x1ac; + /* 0x1B0 */ f32 field_0x1b0; + /* 0x1B4 */ f32 field_0x1b4; + /* 0x1B8 */ u8 field_0x1b8; /* 0x1BC */ Z2MultiSeMgr field_0x1bc; /* 0x1D8 */ Z2EnvSeBase field_0x1d8; /* 0x1E0 */ u8 field_0x1e0; @@ -156,4 +160,6 @@ struct Z2EnvSeMgr { /* 0x308 */ f32 field_0x308; }; // Size: 0x30C +STATIC_ASSERT(sizeof(Z2EnvSeMgr) == 0x30C); + #endif /* Z2ENVSEMGR_H */ diff --git a/include/Z2AudioLib/Z2WolfHowlMgr.h b/include/Z2AudioLib/Z2WolfHowlMgr.h index df241f8be4..ba41b0539e 100644 --- a/include/Z2AudioLib/Z2WolfHowlMgr.h +++ b/include/Z2AudioLib/Z2WolfHowlMgr.h @@ -4,18 +4,29 @@ #include "Z2AudioLib/Z2SoundObject.h" #include "dolphin/types.h" -struct Z2WolfHowlData {}; +/* + * Z2WolfHowlData + * mLineNum: Number of lines/points within the song + * mSongData: u16 array which corresponds to each line/point + * + * The high byte of each u16 line corresponds to bar type (low, middle, high) + * The low byte of each u16 line corresponds to length of note + */ +struct Z2WolfHowlData { + u8 mLineNum; + u16* mSongData; +}; class Z2WolfHowlMgr { public: Z2WolfHowlMgr(); void resetState(); - void calcVolumeMod(float); + void calcVolumeMod(f32); void getNowPitch(); void getNowInputValue(); - void calcPitchMod(float, float); - void startWolfHowlSound(float, float, bool, float); + void calcPitchMod(f32, f32); + void startWolfHowlSound(f32, f32, bool, f32); void setCorrectData(s8, Z2WolfHowlData*); void getCorrectLine(u8); void getCorrectLineNum(); @@ -29,37 +40,37 @@ private: /* 0x00 */ JAISoundHandle* field_0x00; /* 0x04 */ JAISoundHandle* field_0x04; /* 0x08 */ JAISoundHandle* field_0x08; - /* 0x0C */ Z2WolfHowlData* field_0x0c; - /* 0x10 */ void* field_0x10; - /* 0x14 */ float mNowInputValue; - /* 0x18 */ float field_0x18; - /* 0x1C */ float field_0x1c; - /* 0x20 */ float field_0x20; - /* 0x24 */ float field_0x24; - /* 0x28 */ float field_0x28; + /* 0x0C */ Z2WolfHowlData* mpCurSong; + /* 0x10 */ Z2WolfHowlData** mpSongList; + /* 0x14 */ f32 mNowInputValue; + /* 0x18 */ f32 field_0x18; + /* 0x1C */ f32 field_0x1c; + /* 0x20 */ f32 field_0x20; + /* 0x24 */ f32 field_0x24; + /* 0x28 */ f32 field_0x28; /* 0x2C */ u8 field_0x2c[4]; - /* 0x30 */ float field_0x30; - /* 0x34 */ float field_0x34; - /* 0x38 */ float field_0x38; - /* 0x3C */ float field_0x3c; - /* 0x40 */ float field_0x40; - /* 0x44 */ float field_0x44; - /* 0x48 */ float field_0x48; - /* 0x4C */ float field_0x4c; - /* 0x50 */ float field_0x50; - /* 0x54 */ float field_0x54; - /* 0x58 */ float field_0x58; - /* 0x5C */ float field_0x5c; - /* 0x60 */ float field_0x60; - /* 0x64 */ float field_0x64; - /* 0x68 */ float field_0x68; - /* 0x6C */ float field_0x6c; - /* 0x70 */ float field_0x70; - /* 0x74 */ float field_0x74; - /* 0x78 */ float field_0x78; - /* 0x7C */ float field_0x7c; - /* 0x80 */ float field_0x80; - /* 0x84 */ float field_0x84; + /* 0x30 */ f32 field_0x30; + /* 0x34 */ f32 field_0x34; + /* 0x38 */ f32 field_0x38; + /* 0x3C */ f32 field_0x3c; + /* 0x40 */ f32 field_0x40; + /* 0x44 */ f32 field_0x44; + /* 0x48 */ f32 field_0x48; + /* 0x4C */ f32 field_0x4c; + /* 0x50 */ f32 field_0x50; + /* 0x54 */ f32 field_0x54; + /* 0x58 */ f32 field_0x58; + /* 0x5C */ f32 field_0x5c; + /* 0x60 */ f32 field_0x60; + /* 0x64 */ f32 field_0x64; + /* 0x68 */ f32 field_0x68; + /* 0x6C */ f32 field_0x6c; + /* 0x70 */ f32 field_0x70; + /* 0x74 */ f32 field_0x74; + /* 0x78 */ f32 field_0x78; + /* 0x7C */ f32 field_0x7c; + /* 0x80 */ f32 field_0x80; + /* 0x84 */ f32 field_0x84; /* 0x88 */ void* mTimer; /* 0x8C */ u8 mReleaseTimer; /* 0x8D */ u8 field_0x8d; diff --git a/include/d/a/d_a_alink.h b/include/d/a/d_a_alink.h index f8921292ec..1513caf469 100644 --- a/include/d/a/d_a_alink.h +++ b/include/d/a/d_a_alink.h @@ -33,6 +33,7 @@ class J2DAnmBase; class daAlink_lockCursor_c : public dDlst_base_c { public: + daAlink_lockCursor_c() {} /* 80125F14 */ BOOL create(); /* 80126358 */ void update(); /* 80126424 */ virtual void draw(); @@ -64,6 +65,7 @@ private: class daAlink_sight_c : public daPy_sightPacket_c { public: + daAlink_sight_c() {} /* 80126650 */ bool create(); /* 80126710 */ void onLockFlg(); @@ -78,6 +80,7 @@ private: class daAlink_blur_c : public J3DPacket { public: + daAlink_blur_c() {} /* 801256EC */ void initBlur(f32, int, cXyz const*, cXyz const*, cXyz const*); /* 8012589C */ void copyBlur(cXyz const*, cXyz const*, cXyz const*); /* 80125B0C */ void traceBlur(cXyz const*, cXyz const*, s16); @@ -100,9 +103,16 @@ private: class dAlink_bottleWaterPcallBack_c : public JPAParticleCallBack { public: + dAlink_bottleWaterPcallBack_c() { initialize(0.0f); } /* 80124A2C */ virtual void execute(JPABaseEmitter*, JPABaseParticle*); /* 800CFCF8 */ virtual ~dAlink_bottleWaterPcallBack_c(); + void initialize(f32 minY) { + mHitFlg = 0; + mAppearFlg = 0; + mKeepMinY = minY; + } + private: /* 0x04 */ s16 mHitFlg; /* 0x06 */ s16 mAppearFlg; @@ -127,6 +137,8 @@ STATIC_ASSERT(sizeof(daAlink_footData_c) == 0xA4); class daAlink_matAnm_c : public J3DMaterialAnm { public: + daAlink_matAnm_c() { init(); } + /* 8009D8E4 */ void init(); /* 800D0180 */ void offSetFlg(); @@ -423,9 +435,10 @@ public: class hsChainShape_c : public J3DPacket { public: + hsChainShape_c() {} /* 80107900 */ virtual void draw(); /* 800D0CDC */ virtual ~hsChainShape_c(); - }; + }; // Size: 0x10 /* 8009D87C */ bool getE3Zhint(); /* 8009D884 */ char* getAlinkArcName(); @@ -574,7 +587,7 @@ public: /* 800B21EC */ BOOL checkSlope() const; /* 800B25CC */ BOOL itemTriggerCheck(u8); /* 800B25E8 */ BOOL itemButtonCheck(u8); - /* 800B2604 */ void itemButton(); + /* 800B2604 */ BOOL itemButton(); /* 800B2634 */ void itemTrigger(); /* 800B2664 */ void spActionButton(); /* 800B2688 */ void spActionTrigger(); @@ -702,7 +715,7 @@ public: /* 800BFDB0 */ BOOL checkZoraWearAbility() const; /* 800BFDFC */ BOOL checkMagicArmorWearAbility() const; /* 800BFE48 */ J3DModelData* loadAramBmd(u16, u32); - /* 800BFF04 */ void loadAram(u16, u32); + /* 800BFF04 */ void* loadAram(u16, u32); /* 800BFF70 */ J3DAnmTevRegKey* loadAramItemBrk(u16, J3DModel*); /* 800BFFCC */ void loadAramItemBtk(u16, J3DModel*); /* 800C0028 */ void loadAramItemBtp(u16, J3DModel*); @@ -1567,21 +1580,21 @@ public: /* 80107744 */ void procBoardCutTurn(); /* 801083C8 */ void hookshotAtHitCallBack(dCcD_GObjInf*, fopAc_ac_c*, dCcD_GObjInf*); /* 801086DC */ void resetHookshotMode(); - /* 8010871C */ void setEnemyBombHookshot(fopAc_ac_c*); - /* 80108784 */ void checkLv7BossRoom(); - /* 801087B0 */ void checkHookshotStickBG(cBgS_PolyInfo&); + /* 8010871C */ bool setEnemyBombHookshot(fopAc_ac_c*); + /* 80108784 */ bool checkLv7BossRoom(); + /* 801087B0 */ bool checkHookshotStickBG(cBgS_PolyInfo&); /* 80108828 */ void cancelHookshotCarry(); /* 80108864 */ void changeHookshotDrawModel(); - /* 801088A0 */ void checkHookshotRoofLv7Boss(); - /* 801088C8 */ void checkChaseHookshot(); - /* 80108980 */ void checkOctaIealSpecialCollect(); - /* 801089E8 */ void checkBossOctaIealRoom(); - /* 80108A18 */ void checkHookshotWait() const; + /* 801088A0 */ BOOL checkHookshotRoofLv7Boss(); + /* 801088C8 */ BOOL checkChaseHookshot(); + /* 80108980 */ BOOL checkOctaIealSpecialCollect(); + /* 801089E8 */ BOOL checkBossOctaIealRoom(); + /* 80108A18 */ BOOL checkHookshotWait() const; /* 80108A3C */ void setHookshotCatchNow(); /* 80108B34 */ void setHookshotModel(); /* 80108DB4 */ void setHookshotSight(); /* 80108EEC */ void cancelHookshotShot(); - /* 80108F64 */ void cancelHookshotMove(); + /* 80108F64 */ bool cancelHookshotMove(); /* 8010903C */ void checkHookshotReadyMaterialOffMode() const; /* 80109070 */ void setHookshotReadyMaterial(); /* 801090EC */ void initHookshotUpperAnimeSpeed(int); @@ -2269,7 +2282,7 @@ public: virtual s16 getGiantPuzzleAimAngle() const; virtual void setGoronSideMove(fopAc_ac_c*); virtual void setCargoCarry(fopAc_ac_c*); - virtual bool getHookshotTopPos(); + virtual cXyz* getHookshotTopPos(); virtual bool checkHookshotReturnMode() const; virtual bool checkHookshotShootReturnMode() const; virtual bool checkOctaIealHang() const; @@ -2427,7 +2440,12 @@ private: /* 0x0072C */ J3DAnmBase* field_0x072c; /* 0x00730 */ mDoExt_bckAnm field_0x730; /* 0x0074C */ mDoExt_bckAnm field_0x74C; - /* 0x00768 */ u8 field_0x0768[0x5C]; + /* 0x00768 */ J3DModelData* field_0x0768; + /* 0x0076C */ Z2SoundObjSimple* field_0x076c; + /* 0x00770 */ hsChainShape_c* field_0x770; + /* 0x00774 */ u8 field_0x0774[0x77C - 0x774]; + /* 0x0077C */ dBgS_ObjLinChk* mpHookshotLinChk; + /* 0x00780 */ u8 field_0x780[0x7C4 - 0x780]; /* 0x007C4 */ daPy_actorKeep_c mWolfLockAcKeep[10]; /* 0x00814 */ dCcD_Stts field_0x814; /* 0x00850 */ dCcD_Cyl field_0x850[3]; @@ -2644,7 +2662,7 @@ private: /* 0x03014 */ s16 mFallVoiceInit; /* 0x03016 */ u8 field_0x3016[2]; /* 0x03018 */ s16 field_0x3018; - /* 0x0301A */ s16 field_0x301a; + /* 0x0301A */ s16 mHookshotMode; /* 0x0301C */ s16 field_0x301c; /* 0x0301E */ s16 field_0x301e; /* 0x03020 */ s16 field_0x3020; @@ -2950,7 +2968,7 @@ private: /* 0x037C8 */ cXyz field_0x37c8; /* 0x037D4 */ cXyz field_0x37d4; /* 0x037E0 */ cXyz field_0x37e0; - /* 0x037EC */ cXyz field_0x37ec; + /* 0x037EC */ cXyz mHookshotTopPos; /* 0x037F8 */ cXyz field_0x37f8; /* 0x03804 */ cXyz field_0x3804; /* 0x03810 */ cXyz field_0x3810; diff --git a/include/d/a/d_a_npc.h b/include/d/a/d_a_npc.h index c27d2b5738..ab76ef43d1 100644 --- a/include/d/a/d_a_npc.h +++ b/include/d/a/d_a_npc.h @@ -7,21 +7,28 @@ class daNpcT_MotionSeqMngr_c { public: - struct sequenceStepData_c {}; + class sequenceStepData_c { + public: + s16 field_0x0; + s8 field_0x2; + s8 field_0x3; + }; // Size: 0x4? /* 80145898 */ void initialize(); - /* 801458C0 */ void play(u16, int*, f32*); - /* 80145A24 */ void checkEndSequence(); + /* 801458C0 */ int play(u16, int*, f32*); + /* 80145A24 */ s32 checkEndSequence(); + + bool checkEntryNewMotion() { return mStepNo == 0 && field_0x14 == -1; } private: - /* 0x00 */ sequenceStepData_c* field_0x0; + /* 0x00 */ sequenceStepData_c* mpSeqData; /* 0x04 */ int field_0x4; /* 0x08 */ int mNo; /* 0x0C */ int mOffset; /* 0x10 */ int mStepNo; /* 0x14 */ int field_0x14; /* 0x18 */ f32 field_0x18; - /* 0x1C */ u8 field_0x1c; + /* 0x1C */ bool mEndSequence; public: /* 8014D0C0 */ virtual ~daNpcT_MotionSeqMngr_c(); @@ -35,14 +42,14 @@ public: /* 801456D4 */ void initialize(); /* 801456E0 */ void entry(fopAc_ac_c*); /* 801456FC */ void remove(); - /* 80145708 */ void getActorP(); + /* 80145708 */ fopAc_ac_c* getActorP(); /* 8014D108 */ virtual ~daNpcT_ActorMngr_c(); }; class daNpcT_JntAnm_c { private: - /* 0x000 */ daNpcT_ActorMngr_c field_0x0; + /* 0x000 */ daNpcT_ActorMngr_c mActrMngr; /* 0x008 */ cXyz field_0x8; /* 0x014 */ cXyz field_0x14; /* 0x020 */ cXyz* field_0x20; @@ -77,6 +84,8 @@ public: /* 80147C38 */ void calcJntRad(f32, f32, f32); /* 8014D150 */ virtual ~daNpcT_JntAnm_c(); + + void clrDirectFlag() { mDirectFlag = 0; } }; class daNpcT_DmgStagger_c { @@ -98,7 +107,9 @@ struct daNpcT_faceMotionAnmData_c {}; struct daNpcT_pntData_c {}; -struct daNpcT_motionAnmData_c {}; +struct daNpcT_motionAnmData_c { + u8 data[8]; +}; class mDoExt_McaMorfSO; @@ -197,28 +208,31 @@ public: /* 0xE32 */ u8 field_0xe32; /* 0xE33 */ u8 field_0xe33; /* 0xE34 */ u8 field_0xe34; - /* 0xE35 */ u8 field_0xe35[7]; + /* 0xE35 */ u8 field_0xe35; + /* 0xE36 */ u8 field_0xe36; + /* 0xE37 */ u8 field_0xe37; + /* 0xE38 */ u8 field_0xe38; /* 0xE3C vtable */ public: /* 80147FA4 */ void tgHitCallBack(fopAc_ac_c*, dCcD_GObjInf*, fopAc_ac_c*, dCcD_GObjInf*); - /* 80147FD4 */ void srchActor(void*, void*); - /* 80148058 */ void getTrnsfrmAnmP(char const*, int); - /* 80148094 */ void getTrnsfrmKeyAnmP(char const*, int); - /* 801480D0 */ void getTexPtrnAnmP(char const*, int); - /* 8014810C */ void getTexSRTKeyAnmP(char const*, int); - /* 80148148 */ void getTevRegKeyAnmP(char const*, int); - /* 80148184 */ void getColorAnmP(char const*, int); + /* 80147FD4 */ static int srchActor(void*, void*); + /* 80148058 */ J3DAnmTransform* getTrnsfrmAnmP(char const*, int); + /* 80148094 */ J3DAnmTransformKey* getTrnsfrmKeyAnmP(char const*, int); + /* 801480D0 */ J3DAnmTexPattern* getTexPtrnAnmP(char const*, int); + /* 8014810C */ J3DAnmTextureSRTKey* getTexSRTKeyAnmP(char const*, int); + /* 80148148 */ J3DAnmTevRegKey* getTevRegKeyAnmP(char const*, int); + /* 80148184 */ J3DAnmColor* getColorAnmP(char const*, int); /* 801481C0 */ void setBckAnm(J3DAnmTransform*, f32, int, int, int, bool); - /* 80148204 */ void setMcaMorfAnm(J3DAnmTransformKey*, f32, f32, int, int, int); + /* 80148204 */ int setMcaMorfAnm(J3DAnmTransformKey*, f32, f32, int, int, int); /* 801482F8 */ void setBtpAnm(J3DAnmTexPattern*, J3DModelData*, f32, int); /* 80148338 */ void setBtkAnm(J3DAnmTextureSRTKey*, J3DModelData*, f32, int); /* 80148378 */ void setBrkAnm(J3DAnmTevRegKey*, J3DModelData*, f32, int); /* 801483B8 */ void setBpkAnm(J3DAnmColor*, J3DModelData*, f32, int); - /* 801483F8 */ void loadRes(s8 const*, char const**); + /* 801483F8 */ int loadRes(s8 const*, char const**); /* 801484AC */ void deleteRes(s8 const*, char const**); - /* 8014852C */ void execute(); - /* 8014886C */ void draw(int, int, f32, _GXColorS10*, f32, int, int, int); + /* 8014852C */ int execute(); + /* 8014886C */ int draw(int, int, f32, _GXColorS10*, f32, int, int, int); /* 80148C70 */ void setEnvTevColor(); /* 80148CCC */ void setRoomNo(); /* 80148D10 */ void checkEndAnm(f32); @@ -233,7 +247,7 @@ public: /* 8014A908 */ void setPos(cXyz); /* 8014AA18 */ void setAngle(s16); /* 8014A99C */ void setAngle(csXyz); - /* 8014AA40 */ void hitChk(dCcD_GObjInf*, u32); + /* 8014AA40 */ fopAc_ac_c* hitChk(dCcD_GObjInf*, u32); /* 8014AAD0 */ void setDamage(int, int, int); /* 8014ABD0 */ void chkActorInSight(fopAc_ac_c*, f32, s16); /* 8014ACF0 */ void chkPointInArea(cXyz, cXyz, f32, f32, f32, s16); @@ -275,7 +289,7 @@ public: /* 8014CC70 */ virtual bool evtEndProc(); /* 8014CC68 */ virtual bool evtCutProc(); /* 8014CC64 */ virtual void setAfterTalkMotion(); - /* 8014997C */ virtual void evtProc(); + /* 8014997C */ virtual int evtProc(); /* 8014CC20 */ virtual void action(); /* 8014CC1C */ virtual void beforeMove(); /* 8014CC18 */ virtual void afterMoved(); @@ -289,7 +303,7 @@ public: /* 8014A0B0 */ virtual void evtOrder(); /* 8014CBF4 */ virtual void decTmr(); /* 8014A324 */ virtual void clrParam(); - /* 8014CC30 */ virtual bool drawDbgInfo(); + /* 8014CC30 */ virtual int drawDbgInfo(); /* 8014CC28 */ virtual void drawOtherMdl(); /* 8014CC2C */ virtual void drawGhost(); /* 8014CCA0 */ virtual bool afterSetFaceMotionAnm(int, int, f32, int); @@ -302,14 +316,202 @@ public: /* 8014CCE8 */ virtual void changeBtk(int*, int*); /* 8014A628 */ virtual void setMotionAnm(int, f32, int); + bool checkHide() { return !field_0xe25 && (!dComIfGs_wolfeye_effect_check() && field_0xa89); } + static u8 const mCcDObjData[48]; static u8 mCcDCyl[68]; static u8 mCcDSph[64]; - static u8 mFindActorPtrs[200]; - static u8 mSrchName[2 + 2 /* padding */]; - static u8 mFindCount[4]; + static fopAc_ac_c* mFindActorPtrs[50]; + static s16 mSrchName; + static s32 mFindCount; }; STATIC_ASSERT(sizeof(daNpcT_c) == 0xE40); +class daNpcF_ActorMngr_c { +private: + /* 0x0 */ u32 mActorID; + +public: + /* 801506B0 */ void initialize(); + /* 801506D8 */ void entry(unsigned int); + /* 801506BC */ void entry(fopAc_ac_c*); + /* 801506E0 */ void remove(); + /* 801506EC */ void getActorP(); + + /* 80155E40 */ virtual ~daNpcF_ActorMngr_c(); +}; + +class daNpcF_c : public fopAc_ac_c { +private: + /* 0x568 */ mDoExt_McaMorfSO* mMcaMorf; + /* 0x56C */ mDoExt_bckAnm mBckAnm; + /* 0x588 */ mDoExt_btpAnm mBtpAnm; + /* 0x5A0 */ mDoExt_btkAnm mBtkAnm; + /* 0x5B8 */ mDoExt_brkAnm mBrkAnm; + /* 0x5D0 */ dBgS_ObjAcch field_0x5d0; + /* 0x7A8 */ dCcD_Stts field_0x7a8; + /* 0x7E4 */ dBgS_AcchCir field_0x7e4; + /* 0x824 */ daNpcF_ActorMngr_c field_0x824; + /* 0x82C */ daNpcF_ActorMngr_c field_0x82c[5]; + /* 0x854 */ cXyz field_0x854[3]; + /* 0x878 */ cXyz field_0x878; + /* 0x884 */ cXyz field_0x884; + /* 0x890 */ cXyz field_0x890; + /* 0x89C */ cXyz field_0x89c; + /* 0x8A8 */ cXyz field_0x8a8; + /* 0x8B4 */ cXyz field_0x8b4; + /* 0x8C0 */ cXyz field_0x8c0; + /* 0x8CC */ cXyz field_0x8cc; + /* 0x8D8 */ cXyz field_0x8d8; + /* 0x8E4 */ cXyz field_0x8e4; + /* 0x8F0 */ csXyz field_0x8f0; + /* 0x8F6 */ csXyz field_0x8f6; + /* 0x8FC */ csXyz field_0x8fc; + /* 0x902 */ csXyz field_0x902; + /* 0x908 */ csXyz field_0x908[3]; + /* 0x91A */ csXyz field_0x91a[3]; + /* 0x92C */ int field_0x92c; + /* 0x930 */ u32 field_0x930; + /* 0x934 */ u32 field_0x934; + /* 0x938 */ u32 field_0x938; + /* 0x93C */ u32 field_0x93c[5]; + /* 0x950 */ int field_0x950; + /* 0x954 */ int field_0x954; + /* 0x958 */ int field_0x958; + /* 0x95C */ int field_0x95c; + /* 0x960 */ int field_0x960; + /* 0x964 */ int field_0x964; + /* 0x968 */ int field_0x968; + /* 0x96C */ int field_0x96c; + /* 0x970 */ f32 field_0x970; + /* 0x974 */ f32 field_0x974; + /* 0x978 */ f32 field_0x978; + /* 0x97C */ f32 field_0x97c; + /* 0x980 */ f32 field_0x980; + /* 0x984 */ f32 field_0x984[3]; + /* 0x990 */ u16 field_0x990; + /* 0x990 */ u16 field_0x992; + /* 0x990 */ u16 field_0x994; + /* 0x990 */ u16 field_0x996; + /* 0x998 */ u16 field_0x998; + /* 0x99C */ u32 field_0x99c; + /* 0x9A0 */ u32 field_0x9a0; + /* 0x9A4 */ int field_0x9a4; + /* 0x9A8 */ int field_0x9a8; + /* 0x9AC */ int field_0x9ac; + /* 0x9B0 */ u32 field_0x9b0; + /* 0x9B4 */ int mFlowNodeNo; + /* 0x9B8 */ cXyz field_0x9b8; + /* 0x9C4 */ cXyz field_0x9c4; + /* 0x9D0 */ u16 field_0x9d0; + /* 0x9D2 */ u16 field_0x9d2; + /* 0x9D4 */ u16 field_0x9d4; + /* 0x9D6 */ u16 field_0x9d6; + /* 0x9D8 */ u16 field_0x9d8; + /* 0x9DA */ u16 field_0x9da; + /* 0x9DC */ u16 field_0x9dc; + /* 0x9DE */ u16 field_0x9de; + /* 0x9E0 */ u16 field_0x9e0; + /* 0x9E2 */ u16 field_0x9e2; + /* 0x9E4 */ u16 field_0x9e4; + /* 0x9E6 */ u16 field_0x9e6; + /* 0x9E8 */ u8 field_0x9e8; + /* 0x9E9 */ u8 field_0x9e9; + /* 0x9EA */ u8 field_0x9ea; + /* 0x9EB */ u8 field_0x9eb; + /* 0x9EC */ u8 field_0x9ec; + /* 0x9ED */ u8 field_0x9ed; + /* 0x9EE */ u8 field_0x9ee; + /* 0x9EF */ u8 field_0x9ef; + /* 0x9F0 */ u8 field_0x9f0; + /* 0x9F1 */ u8 field_0x9f1; + /* 0x9F2 */ bool mHide; + /* 0x9f3 */ u8 field_0x9f3; + /* 0x9F4 */ u8 field_0x9f4; + /* 0x9F5 */ u8 field_0x9f5; + /* 0x9F6 */ u8 field_0x9f6; + /* 0x9F8 */ dMsgFlow_c field_0x9f8; + /* 0xA44 */ cBgS_GndChk field_0xa44; + /* 0xA80 */ dBgS_GndChk field_0xa80; + /* 0xAD4 */ dBgS_LinChk field_0xad4; + +public: + struct daNpcF_anmPlayData {}; + + /* 80152014 */ void execute(); + /* 801522AC */ void draw(int, int, f32, _GXColorS10*, int); + /* 80152614 */ void tgHitCallBack(fopAc_ac_c*, dCcD_GObjInf*, fopAc_ac_c*, dCcD_GObjInf*); + /* 80152654 */ void srchAttnActor1(void*, void*); + /* 801526E8 */ void srchActor(void*, void*); + + /* 801528C8 */ void initialize(); + /* 80152B2C */ void getTrnsfrmKeyAnmP(char*, int); + /* 80152B68 */ void getTexPtrnAnmP(char*, int); + /* 80152BA4 */ void getTexSRTKeyAnmP(char*, int); + /* 80152BE0 */ void getTevRegKeyAnmP(char*, int); + /* 80152C1C */ void setMcaMorfAnm(J3DAnmTransformKey*, f32, f32, int, int, int); + /* 80152C80 */ void setBckAnm(J3DAnmTransform*, f32, int, int, int, bool); + /* 80152CC4 */ void setBtpAnm(J3DAnmTexPattern*, J3DModelData*, f32, int); + /* 80152D04 */ void setBtkAnm(J3DAnmTextureSRTKey*, J3DModelData*, f32, int); + /* 80152D44 */ void setBrkAnm(J3DAnmTevRegKey*, J3DModelData*, f32, int); + /* 80152D84 */ void setEnvTevColor(); + /* 80152DE0 */ void setRoomNo(); + /* 80152E24 */ void chkEndAnm(f32); + /* 80152EC4 */ void chkEndAnm(J3DFrameCtrl*, f32); + /* 80152F40 */ void playAllAnm(); + /* 80153150 */ void playExpressionAnm(daNpcF_c::daNpcF_anmPlayData***); + /* 80153264 */ void playMotionAnm(daNpcF_c::daNpcF_anmPlayData***); + /* 8015337C */ void setLookatMtx(int, int*, f32); + /* 80153578 */ void hitChk2(dCcD_Cyl*, int, int); + /* 80153658 */ void setDamage(int, int, int); + /* 80153718 */ void ctrlMsgAnm(int&, int&, fopAc_ac_c*, int); + /* 8015387C */ void orderEvent(int, char*, u16, u16, u8, u16); + /* 80153954 */ void changeEvent(char*, char*, u16, u16); + /* 801539F0 */ void chkActorInSight(fopAc_ac_c*, f32); + /* 80153A78 */ void chkActorInArea(fopAc_ac_c*, cXyz, cXyz, s16); + /* 80153BDC */ void chkActorInAttnArea(fopAc_ac_c*, fopAc_ac_c*, int); + /* 80153D1C */ void initTalk(int, fopAc_ac_c**); + /* 80153D84 */ void talkProc(int*, int, fopAc_ac_c**); + /* 80153EF4 */ void turn(s16, f32, int); + /* 801540A4 */ void step(s16, int, int, int); + /* 80154250 */ void setAngle(s16); + /* 80154278 */ void getDistTableIdx(int, int); + /* 801542A0 */ void getEvtAreaTagP(int, int); + /* 8015436C */ void getAttnActorP(int, void* (*)(void*, void*), f32, f32, f32, f32, s16, int, + int); + /* 80154730 */ void chkActorInSight2(fopAc_ac_c*, f32, s16); + /* 80154834 */ void chkPointInArea(cXyz, cXyz, f32, f32, f32, s16); + /* 801548F4 */ void chkPointInArea(cXyz, cXyz, cXyz, s16); + /* 8015496C */ void getAttentionPos(fopAc_ac_c*); + /* 801549E0 */ void chkFindPlayer2(int, s16); + /* 80154BD8 */ void setHitodamaPrtcl(); + + /* 80155BF4 */ virtual ~daNpcF_c(); + /* 80155BC8 */ virtual void setParam(); + /* 80155BC0 */ virtual bool main(); + /* 80155BD8 */ virtual bool ctrlBtk(); + /* 80155BBC */ virtual void adjustShapeAngle(); + /* 8015276C */ virtual void setMtx(); + /* 801527FC */ virtual void setMtx2(); + /* 80155BB8 */ virtual void setAttnPos(); + /* 80155BB4 */ virtual void setCollisions(); + /* 80155BE0 */ virtual bool setExpressionAnm(int, bool); + /* 80155EC8 */ virtual bool setExpressionBtp(int); + /* 80155BF0 */ virtual void setExpression(int, f32); + /* 80155BE8 */ virtual void setMotionAnm(int, f32); + /* 80155BEC */ virtual void setMotion(int, f32, int); + /* 80155BD0 */ virtual bool drawDbgInfo(); + /* 80155BCC */ virtual void drawOtherMdls(); + + static u8 const mCcDObjInfo[48]; + static u8 mCcDCyl[68]; + static u8 mCcDSph[64]; + static u8 mFindActorPList[400]; + static u8 mFindCount[4]; + static u8 mSrchActorName[2 + 2 /* padding */]; +}; + +STATIC_ASSERT(sizeof(daNpcF_c) == 0xB48); + #endif /* D_A_D_A_NPC_H */ diff --git a/include/d/a/d_a_player.h b/include/d/a/d_a_player.h index e731cd5086..64b84b96de 100644 --- a/include/d/a/d_a_player.h +++ b/include/d/a/d_a_player.h @@ -13,6 +13,7 @@ class daPy_sightPacket_c : public dDlst_base_c { public: + daPy_sightPacket_c() {} /* 8015F1A0 */ virtual void draw(); /* 80140CDC */ virtual ~daPy_sightPacket_c(); @@ -47,7 +48,8 @@ class daPy_anmHeap_c { public: enum daAlinkHEAP_TYPE {}; - /* 80140DCC */ void __defctor(); + /* 80140DCC */ void __defctor(); // supposed to be the ctor? + daPy_anmHeap_c(u32); ~daPy_anmHeap_c(); void initData(); @@ -480,7 +482,7 @@ public: virtual void setGoronSideMove(fopAc_ac_c*); virtual void setCargoCarry(fopAc_ac_c*); virtual bool getDpdFarFlg() const; - virtual bool getHookshotTopPos(); + virtual cXyz* getHookshotTopPos(); virtual bool checkHookshotReturnMode() const; virtual bool checkHookshotShootReturnMode() const; virtual bool checkOctaIealHang() const; diff --git a/include/d/bg/d_bg_s.h b/include/d/bg/d_bg_s.h index 62219f8cf6..5d9565e561 100644 --- a/include/d/bg/d_bg_s.h +++ b/include/d/bg/d_bg_s.h @@ -91,7 +91,7 @@ public: u32 ChkGrpInf(cBgS_PolyInfo const&, u32); s32 GetRoomId(cBgS_PolyInfo const&); bool GetPolyAttackThrough(cBgS_PolyInfo const&); - bool ChkPolyHSStick(cBgS_PolyInfo const&); + u32 ChkPolyHSStick(cBgS_PolyInfo const&); void WallCorrect(dBgS_Acch*); void WallCorrectSort(dBgS_Acch*); f32 RoofChk(dBgS_RoofChk*); diff --git a/include/d/bg/d_bg_s_acch.h b/include/d/bg/d_bg_s_acch.h index e07a458783..7d14297fd1 100644 --- a/include/d/bg/d_bg_s_acch.h +++ b/include/d/bg/d_bg_s_acch.h @@ -180,6 +180,9 @@ public: }; class dBgS_LinkAcch : public dBgS_Acch { +public: + dBgS_LinkAcch() { SetLink(); } + /* 80140F30 */ virtual ~dBgS_LinkAcch(); }; diff --git a/include/d/bg/d_bg_s_gnd_chk.h b/include/d/bg/d_bg_s_gnd_chk.h index 5087082ca8..bc17ae7176 100644 --- a/include/d/bg/d_bg_s_gnd_chk.h +++ b/include/d/bg/d_bg_s_gnd_chk.h @@ -13,6 +13,7 @@ public: class dBgS_LinkGndChk : public dBgS_GndChk { public: + dBgS_LinkGndChk() { SetLink(); } /* 80140EB8 */ virtual ~dBgS_LinkGndChk(); }; diff --git a/include/d/bg/d_bg_s_grp_pass_chk.h b/include/d/bg/d_bg_s_grp_pass_chk.h index 5d426af4cc..6b9c2b8a66 100644 --- a/include/d/bg/d_bg_s_grp_pass_chk.h +++ b/include/d/bg/d_bg_s_grp_pass_chk.h @@ -8,7 +8,8 @@ class dBgS_GrpPassChk : public cBgS_GrpPassChk { public: enum { /* 0x1 */ NORMAL_GRP = 1, - /* 0x2 */ WATER_GRP + /* 0x2 */ WATER_GRP, + /* 0x3 */ FULL_GRP }; /* 80077BA0 */ dBgS_GrpPassChk(); @@ -19,6 +20,7 @@ public: void OnSpl() { mGrp |= WATER_GRP; } void OnNormalGrp() { mGrp |= NORMAL_GRP; } void OffNormalGrp() { mGrp &= ~NORMAL_GRP; } + void OffFullGrp() { mGrp &= ~FULL_GRP; } private: /* 0x4 */ u32 mGrp; diff --git a/include/d/bg/d_bg_s_roof_chk.h b/include/d/bg/d_bg_s_roof_chk.h index 78a4e64f33..0b1558fba0 100644 --- a/include/d/bg/d_bg_s_roof_chk.h +++ b/include/d/bg/d_bg_s_roof_chk.h @@ -24,8 +24,9 @@ private: /* 0x4C */ f32 mNowY; }; // Size: 0x50 -class dBgS_LinkRoofChk : dBgS_RoofChk { +class dBgS_LinkRoofChk : public dBgS_RoofChk { public: + dBgS_LinkRoofChk() { SetLink(); } /* 80140E40 */ virtual ~dBgS_LinkRoofChk(); }; diff --git a/include/d/bg/d_bg_w.h b/include/d/bg/d_bg_w.h index 02d8cf7287..d2d37fab17 100644 --- a/include/d/bg/d_bg_w.h +++ b/include/d/bg/d_bg_w.h @@ -117,7 +117,7 @@ public: virtual void GetPolyCamThrough(int) = 0; virtual void GetPolyLinkThrough(int) = 0; virtual void GetPolyArrowThrough(int) = 0; - virtual bool GetPolyHSStick(int) = 0; + virtual u32 GetPolyHSStick(int) = 0; virtual void GetPolyBoomerangThrough(int) = 0; virtual void GetPolyRopeThrough(int) = 0; virtual void GetPolyBombThrough(int) = 0; @@ -216,7 +216,7 @@ public: /* 8007B504 */ virtual void GetPolyCamThrough(int); /* 8007B52C */ virtual void GetPolyLinkThrough(int); /* 8007B550 */ virtual void GetPolyArrowThrough(int); - /* 8007B574 */ virtual bool GetPolyHSStick(int); + /* 8007B574 */ virtual u32 GetPolyHSStick(int); /* 8007B598 */ virtual void GetPolyBoomerangThrough(int); /* 8007B5BC */ virtual void GetPolyRopeThrough(int); /* 8007B5E0 */ virtual void GetPolyBombThrough(int); diff --git a/include/d/bg/d_bg_w_base.h b/include/d/bg/d_bg_w_base.h index d2797f66fc..5da858ca4f 100644 --- a/include/d/bg/d_bg_w_base.h +++ b/include/d/bg/d_bg_w_base.h @@ -57,7 +57,7 @@ public: virtual void GetPolyCamThrough(int) = 0; virtual void GetPolyLinkThrough(int) = 0; virtual void GetPolyArrowThrough(int) = 0; - virtual bool GetPolyHSStick(int) = 0; + virtual u32 GetPolyHSStick(int) = 0; virtual void GetPolyBoomerangThrough(int) = 0; virtual void GetPolyRopeThrough(int) = 0; virtual void GetPolyBombThrough(int) = 0; @@ -88,6 +88,7 @@ public: u8 GetRoomId() { return m_roomId; } bool chkStickWall() { return field_0xb & 1; } bool chkStickRoof() { return field_0xb & 2; } + bool ChkPushPullOk() const { return m_pushPull_Ok; } private: /* 0x08 */ u8 m_priority; diff --git a/include/d/bg/d_bg_w_kcol.h b/include/d/bg/d_bg_w_kcol.h index 4fd7aa108d..93a055df04 100644 --- a/include/d/bg/d_bg_w_kcol.h +++ b/include/d/bg/d_bg_w_kcol.h @@ -53,7 +53,7 @@ public: /* 80082B98 */ virtual void GetPolyCamThrough(int); /* 80082BC4 */ virtual void GetPolyLinkThrough(int); /* 80082BF0 */ virtual void GetPolyArrowThrough(int); - /* 80082C1C */ virtual void GetPolyHSStick(int); + /* 80082C1C */ virtual u32 GetPolyHSStick(int); /* 80082C48 */ virtual void GetPolyBoomerangThrough(int); /* 80082C74 */ virtual void GetPolyRopeThrough(int); /* 80082CA0 */ virtual void GetPolyBombThrough(int); diff --git a/include/d/cc/d_cc_d.h b/include/d/cc/d_cc_d.h index b348bee671..51bf27fc4f 100644 --- a/include/d/cc/d_cc_d.h +++ b/include/d/cc/d_cc_d.h @@ -58,6 +58,8 @@ public: /* 8008523C */ virtual ~dCcD_GStts() {} void ClrTg() { mTg = 0; } void SetAtApid(unsigned int id) { mAtApid = id; } + u8 GetRoomId() { return mRoomId; } + void SetRoomId(int id) { mRoomId = id; } // private: /* 0x04 */ u8 mAt; @@ -213,6 +215,7 @@ public: u8 GetAtSe() { return mGObjAt.GetSe(); } s32 GetAtSpl() { return mGObjAt.GetSpl(); } u8 GetAtMtrl() { return mGObjAt.GetMtrl(); } + fopAc_ac_c* GetTgHitAc() { return mGObjTg.GetAc(); } static u32 const m_hitSeID[24]; diff --git a/include/d/com/d_com_inf_game.h b/include/d/com/d_com_inf_game.h index b29ff2157d..ce6b801e64 100644 --- a/include/d/com/d_com_inf_game.h +++ b/include/d/com/d_com_inf_game.h @@ -650,6 +650,7 @@ void* dComIfG_getOldStageRes(char const* resName); void dComIfG_get_timelayer(int* layer); int dComIfG_resDelete(request_of_phase_process_class* i_phase, char const* resName); int dComIfG_changeOpeningScene(scene_class* scene, s16 procName); +int dComIfG_resLoad(request_of_phase_process_class* i_phase, char const* arc_name); inline void dComIfG_setBrightness(u8 brightness) { g_dComIfG_gameInfo.mFadeBrightness = brightness; @@ -755,6 +756,7 @@ void dComIfGs_offZoneSwitch(int param_0, int param_1); void dComIfGs_offOneZoneSwitch(int param_0, int param_1); s8 dComIfGp_getReverb(int roomNo); void dComIfGs_gameStart(); +int dComIfGs_wolfeye_effect_check(); inline void dComIfGs_onDungeonItemMap() { g_dComIfG_gameInfo.info.getMemory().getBit().onDungeonItemMap(); @@ -1355,6 +1357,10 @@ inline void dComIfGs_setNoFile(u8 file) { g_dComIfG_gameInfo.info.setNoFile(file); } +inline void* dComIfGs_getPEventBit() { + return g_dComIfG_gameInfo.info.getEvent().getPEventBit(); +} + void dComIfGp_setItemLifeCount(f32 amount, u8 type); void dComIfGp_setItemRupeeCount(long amount); void dComIfGp_setSelectItem(int index); diff --git a/include/d/d_attention.h b/include/d/d_attention.h index faafe287d9..d288f00c3c 100644 --- a/include/d/d_attention.h +++ b/include/d/d_attention.h @@ -203,17 +203,15 @@ public: /* 8014B010 */ void getDistTable(int); dAttCatch_c& getCatghTarget() { return mCatghTarget; } - bool chkFlag(u32 flag) { return mFlags & flag; } - BOOL Lockon() { - bool chk = true; - if (!LockonTruth()) { - if (!chkFlag(0x20000000)) { - chk = false; - } + BOOL chkFlag(u32 flag) { return mFlags & flag; } + s8 Lockon() { + /* s32 chk = true; + if (!LockonTruth() && !chkFlag(0x20000000)) { + chk = false; } - return chk; + return chk; */ - // return !LockonTruth() && !chkFlag(0x20000000); + return !LockonTruth() && !chkFlag(0x20000000); } static u8 loc_type_tbl[12]; diff --git a/include/d/d_drawlist.h b/include/d/d_drawlist.h index 93df763497..eb4bf4efd6 100644 --- a/include/d/d_drawlist.h +++ b/include/d/d_drawlist.h @@ -14,19 +14,6 @@ #include "dolphin/mtx/mtxvec.h" #include "dolphin/types.h" -struct mDoExt_3DlineMat_c {}; - -class mDoExt_3DlineMatSortPacket : public J3DPacket { -public: - mDoExt_3DlineMatSortPacket(); - - virtual void draw(); - virtual ~mDoExt_3DlineMatSortPacket(); - -private: - /* 0x10 */ mDoExt_3DlineMat_c* mp3DlineMat; -}; - class cM_rnd_c { public: /* 80053CDC */ void init(int, int, int); @@ -42,6 +29,7 @@ public: class dDlst_base_c { public: + dDlst_base_c() {} virtual void draw(); }; diff --git a/include/d/d_eye_hl.h b/include/d/d_eye_hl.h index 8ec08f6b62..157988fb0e 100644 --- a/include/d/d_eye_hl.h +++ b/include/d/d_eye_hl.h @@ -26,6 +26,12 @@ public: class dEyeHL_c : public dEyeHL_mng_c { public: + dEyeHL_c() { + m_timg = NULL; + m_pre = NULL; + m_next = NULL; + } + /* 8009C964 */ void entry(J3DModelData*, char const*); /* 8009CA28 */ void remove(); /* 80140C80 */ ~dEyeHL_c(); diff --git a/include/d/d_procname.h b/include/d/d_procname.h index f47e472e7f..0ec11077fc 100644 --- a/include/d/d_procname.h +++ b/include/d/d_procname.h @@ -1,8 +1,6 @@ - #pragma once -enum -{ +enum { PROC_OVERLAP0 = 0x0000, PROC_OVERLAP1 = 0x0001, PROC_OVERLAP3 = 0x0002, @@ -795,4 +793,4 @@ enum PROC_TIMER = 0x0315, PROC_METER2 = 0x0316, PROC_GAMEOVER = 0x0317, -}; +}; \ No newline at end of file diff --git a/include/d/kankyo/d_kankyo.h b/include/d/kankyo/d_kankyo.h index 093709a7c2..11b0607e4c 100644 --- a/include/d/kankyo/d_kankyo.h +++ b/include/d/kankyo/d_kankyo.h @@ -6,11 +6,14 @@ #include "JSystem/JParticle/JPAParticle.h" #include "SSystem/SComponent/c_sxyz.h" #include "SSystem/SComponent/c_xyz.h" +#include "Z2AudioLib/Z2EnvSeMgr.h" #include "d/kankyo/d_kankyo_wether.h" #include "dolphin/gx/GX.h" #include "dolphin/types.h" #include "m_Do/m_Do_ext.h" +class cBgS_PolyInfo; + void dKankyo_DayProc(); void dKy_set_nexttime(f32); void dKy_itudemo_se(); @@ -20,6 +23,7 @@ void dKy_FiveSenses_fullthrottle_dark(); s32 dKy_daynight_check(); void dKy_clear_game_init(); void dKy_setLight_init(); +u8 dKy_pol_sound_get(cBgS_PolyInfo const* param_0); struct LIGHT_INFLUENCE { /* 800CFC7C */ ~LIGHT_INFLUENCE(); @@ -141,7 +145,7 @@ public: /* 0x358 */ u16 field_0x358; /* 0x35A */ u16 field_0x35a; /* 0x35C */ u16 field_0x35c; - /* 0x35E */ u8 field_0x35e[2]; + /* 0x35E */ u16 field_0x35e; /* 0x360 */ u8 field_0x360; /* 0x361 */ u8 field_0x361; /* 0x362 */ u8 field_0x362; @@ -482,6 +486,9 @@ public: /* 0x130C */ u8 field_0x130c; }; // Size: 0x1310 +extern dScnKy_env_light_c g_env_light; +extern Z2EnvSeMgr g_mEnvSeMgr; + STATIC_ASSERT(sizeof(dScnKy_env_light_c) == 4880); BOOL dKy_darkworld_stage_check(char const*, int); diff --git a/include/d/particle/d_particle.h b/include/d/particle/d_particle.h index ff1857407e..a154b9975d 100644 --- a/include/d/particle/d_particle.h +++ b/include/d/particle/d_particle.h @@ -13,6 +13,8 @@ public: class dPa_hermiteEcallBack_c : public dPa_levelEcallBack { public: + dPa_hermiteEcallBack_c() {} + /* 8004F6B8 */ void setOldPosP(cXyz const*, cXyz const*); /* 8004FCC8 */ virtual ~dPa_hermiteEcallBack_c(); diff --git a/include/d/save/d_save.h b/include/d/save/d_save.h index 7cccd00ae6..5cac4e2acc 100644 --- a/include/d/save/d_save.h +++ b/include/d/save/d_save.h @@ -833,6 +833,8 @@ public: void setEventReg(u16 i_reg, u8 i_no); u8 getEventReg(u16 i_reg) const; + void* getPEventBit() { return (void*)mEvent; } + private: /* 0x0 */ u8 mEvent[256]; }; // Size: 0x100 diff --git a/include/dolphin/card/card.h b/include/dolphin/card/card.h index 04fa0f03eb..447b4cd644 100644 --- a/include/dolphin/card/card.h +++ b/include/dolphin/card/card.h @@ -3,23 +3,23 @@ #include "dolphin/types.h" -#define CARD_ERROR_UNLOCKED 1 -#define CARD_ERROR_READY 0 -#define CARD_ERROR_BUSY -1 -#define CARD_ERROR_WRONGDEVICE -2 -#define CARD_ERROR_NOCARD -3 -#define CARD_ERROR_NOFILE -4 -#define CARD_ERROR_IOERROR -5 -#define CARD_ERROR_BROKEN -6 -#define CARD_ERROR_EXIST -7 -#define CARD_ERROR_NOENT -8 -#define CARD_ERROR_INSSPACE -9 -#define CARD_ERROR_NOPERM -10 -#define CARD_ERROR_LIMIT -11 -#define CARD_ERROR_NAMETOOLONG -12 -#define CARD_ERROR_ENCODING -13 -#define CARD_ERROR_CANCELED -14 -#define CARD_ERROR_FATAL_ERROR -128 +#define CARD_ERROR_UNLOCKED 1 +#define CARD_ERROR_READY 0 +#define CARD_ERROR_BUSY -1 +#define CARD_ERROR_WRONGDEVICE -2 +#define CARD_ERROR_NOCARD -3 +#define CARD_ERROR_NOFILE -4 +#define CARD_ERROR_IOERROR -5 +#define CARD_ERROR_BROKEN -6 +#define CARD_ERROR_EXIST -7 +#define CARD_ERROR_NOENT -8 +#define CARD_ERROR_INSSPACE -9 +#define CARD_ERROR_NOPERM -10 +#define CARD_ERROR_LIMIT -11 +#define CARD_ERROR_NAMETOOLONG -12 +#define CARD_ERROR_ENCODING -13 +#define CARD_ERROR_CANCELED -14 +#define CARD_ERROR_FATAL_ERROR -128 struct CARDFileInfo { /* 0x00 */ s32 channel; @@ -70,5 +70,4 @@ s32 CARDSetStatus(s32 channel, s32 fileNo, CARDStat* stat); s32 CARDGetSerialNo(s32 channel, u32* serial1, u32* serial2); }; - #endif /* CARD_H */ diff --git a/include/dolphin/os/OS.h b/include/dolphin/os/OS.h index 51aff6b9cf..b1ce58846a 100644 --- a/include/dolphin/os/OS.h +++ b/include/dolphin/os/OS.h @@ -224,6 +224,7 @@ u8* OSGetStackPointer(void); void OSCreateAlarm(OSAlarm* alarm); void OSCancelAlarm(OSAlarm* alarm); void OSSetAlarm(OSAlarm* alarm, OSTime time, OSAlarmHandler handler); +void OSSetPeriodicAlarm(OSAlarm*, OSTime, OSTime, OSAlarmHandler); void OSInitCond(OSCond* cond); void OSWaitCond(OSCond* cond, OSMutex* mutex); diff --git a/include/f_op/f_op_actor_mng.h b/include/f_op/f_op_actor_mng.h index d30f8c7c7a..3f57e4d41c 100644 --- a/include/f_op/f_op_actor_mng.h +++ b/include/f_op/f_op_actor_mng.h @@ -166,6 +166,18 @@ inline BOOL fopAcM_IsActor(void* actor) { return fopAc_IsActor(actor); } +inline void fopAcM_SetRoomNo(fopAc_ac_c* actor, s8 roomNo) { + actor->mCurrent.mRoomNo = roomNo; +} + +inline void fopAcM_setHookCarryNow(fopAc_ac_c* actor) { + fopAcM_OnStatus(actor, 0x100000); +} + +inline void fopAcM_cancelHookCarryNow(fopAc_ac_c* actor) { + fopAcM_OffStatus(actor, 0x100000); +} + void* fopAcM_FastCreate(s16 pProcTypeID, FastCreateReqFunc param_2, void* param_3, void* pData); void fopAcM_setStageLayer(void*); int fopAcM_setRoomLayer(void*, int); diff --git a/include/m_Do/m_Do_DVDError.h b/include/m_Do/m_Do_DVDError.h index 5559ee3166..f8bbcb3b37 100644 --- a/include/m_Do/m_Do_DVDError.h +++ b/include/m_Do/m_Do_DVDError.h @@ -1,6 +1,11 @@ #ifndef M_DO_M_DO_DVDERROR_H #define M_DO_M_DO_DVDERROR_H +#include "JSystem/JKernel/JKRThread.h" #include "dolphin/types.h" +void mDoDvdErr_ThdCleanup(); +static void mDoDvdErr_Watch(void*); +static void AlarmHandler(OSAlarm*, OSContext*); + #endif /* M_DO_M_DO_DVDERROR_H */ diff --git a/include/m_Do/m_Do_MemCard.h b/include/m_Do/m_Do_MemCard.h index b91cb63326..f1513f7b1c 100644 --- a/include/m_Do/m_Do_MemCard.h +++ b/include/m_Do/m_Do_MemCard.h @@ -39,6 +39,8 @@ public: /* 800172D4 */ s32 checkspace(); /* 80017360 */ void setCardState(s32); + bool isCardCommNone() { return mCardCommand == CARD_NO_COMMAND; } + /* 0x0000 */ u8 mData[0x1FBC]; /* 0x1FBC */ u8 mChannel; /* 0x1FBD */ u8 mCopyToPos; @@ -59,4 +61,8 @@ static int mDoMemCd_main(void*); extern mDoMemCd_Ctrl_c g_mDoMemCd_control; +inline bool mDoMemCd_isCardCommNone() { + return g_mDoMemCd_control.isCardCommNone(); +} + #endif /* M_DO_M_DO_MEMCARD_H */ diff --git a/include/m_Do/m_Do_Reset.h b/include/m_Do/m_Do_Reset.h index 3045816bd8..5d9609065c 100644 --- a/include/m_Do/m_Do_Reset.h +++ b/include/m_Do/m_Do_Reset.h @@ -38,7 +38,7 @@ public: static u8 getProgSeqFlag() { return mResetData->mProgSeqFlag; } static u8 getWarningDispFlag() { return mResetData->mWarningDispFlag; } static BOOL isReturnToMenu() { return mResetData->mReturnToMenu; } - static bool isShutdown() { return mResetData->mShutdown; } + static BOOL isShutdown() { return mResetData->mShutdown; } static int isReset() { return mResetData->mReset; } static int get3ButtonResetPort() { return mResetData->m3ButtonResetPort; } static int is3ButtonReset() { return mResetData->m3ButtonReset; } @@ -54,4 +54,6 @@ public: static mDoRstData* mResetData; }; +extern u8 data_80450C88; + #endif /* M_DO_M_DO_RESET_H */ diff --git a/include/m_Do/m_Do_audio.h b/include/m_Do/m_Do_audio.h index c589030a83..6798ece84d 100644 --- a/include/m_Do/m_Do_audio.h +++ b/include/m_Do/m_Do_audio.h @@ -20,6 +20,7 @@ extern bool sResetFlag; class mDoAud_zelAudio_c { public: void reset(); + mDoAud_zelAudio_c() {} ~mDoAud_zelAudio_c() {} static void onInitFlag() { struct_80450BB8 = true; } @@ -28,6 +29,7 @@ public: static void onResetFlag() { sResetFlag = true; } static void offResetFlag() { sResetFlag = false; } static bool isBgmSet() { return data_80450bba; } + static void onBgmSet() { data_80450bba = true; } static void offBgmSet() { data_80450bba = false; } Z2AudioMgr mAudioMgr; diff --git a/include/m_Do/m_Do_controller_pad.h b/include/m_Do/m_Do_controller_pad.h index 31cfd81b4a..a9875b6c8e 100644 --- a/include/m_Do/m_Do_controller_pad.h +++ b/include/m_Do/m_Do_controller_pad.h @@ -6,11 +6,11 @@ #include "dolphin/types.h" #include "m_Do/m_Do_Reset.h" +// Controller Ports 1 - 4 +enum { PAD_1, PAD_2, PAD_3, PAD_4 }; + class mDoCPd_c { public: - // Controller Ports 1 - 4 - enum { PAD_0, PAD_1, PAD_2, PAD_3 }; - static void create(); static void read(); static void convert(interface_of_controller_pad*, JUTGamePad*); diff --git a/include/m_Do/m_Do_ext.h b/include/m_Do/m_Do_ext.h index 8902e23641..7868e7274d 100644 --- a/include/m_Do/m_Do_ext.h +++ b/include/m_Do/m_Do_ext.h @@ -7,6 +7,7 @@ #include "JSystem/JKernel/JKRExpHeap.h" #include "JSystem/JKernel/JKRSolidHeap.h" #include "global.h" +#include "m_Do/m_Do_audio.h" class mDoExt_baseAnm { public: @@ -32,7 +33,7 @@ private: class mDoExt_btkAnm : public mDoExt_baseAnm { public: - mDoExt_btkAnm(void) { mBtkAnm = 0; } + mDoExt_btkAnm() { mpAnm = 0; } /* 8000D63C */ int init(J3DMaterialTable*, J3DAnmTextureSRTKey*, int, int, f32, s16, s16); /* 8000D6D8 */ void entry(J3DMaterialTable*, f32); @@ -43,15 +44,17 @@ public: return init(&data->getMaterialTable(), key, param_2, param_3, param_4, param_5, param_6); } + int remove(J3DModelData* data) { return data->removeTexMtxAnimator(mpAnm); } + private: - /* 0x14 */ u32 mBtkAnm; + /* 0x14 */ J3DAnmTextureSRTKey* mpAnm; }; // Size: 0x18 STATIC_ASSERT(sizeof(mDoExt_btkAnm) == 0x18); class mDoExt_brkAnm : public mDoExt_baseAnm { public: - mDoExt_brkAnm(void) { mBrkAnm = 0; } + mDoExt_brkAnm() { mpAnm = 0; } /* 8000D70C */ int init(J3DMaterialTable*, J3DAnmTevRegKey*, int, int, f32, s16, s16); /* 8000D7A8 */ void entry(J3DMaterialTable*, f32); @@ -63,15 +66,17 @@ public: return init(&data->getMaterialTable(), anmKey, param_2, param_3, param_4, param_5, param_6); } + int remove(J3DModelData* data) { return data->removeTevRegAnimator(mpAnm); } + private: - /* 0x14 */ u32 mBrkAnm; + /* 0x14 */ J3DAnmTevRegKey* mpAnm; }; // Size: 0x18 STATIC_ASSERT(sizeof(mDoExt_brkAnm) == 0x18); class mDoExt_bpkAnm : public mDoExt_baseAnm { public: - mDoExt_bpkAnm(void) { mBpkAnm = 0; } + mDoExt_bpkAnm() { mpAnm = 0; } /* 8000D47C */ int init(J3DMaterialTable*, J3DAnmColor*, int, int, f32, s16, s16); /* 8000D518 */ void entry(J3DMaterialTable*, f32); @@ -84,25 +89,29 @@ public: param_6); } + int remove(J3DModelData* data) { return data->removeMatColorAnimator(mpAnm); } + private: - /* 0x14 */ u32 mBpkAnm; + /* 0x14 */ J3DAnmColor* mpAnm; }; // Size: 0x18 STATIC_ASSERT(sizeof(mDoExt_bpkAnm) == 0x18); class mDoExt_bckAnm : public mDoExt_baseAnm { public: - mDoExt_bckAnm(void) { mAnm = 0; } - /* 8000D7DC */ int init(J3DAnmTransform*, int, int, f32, s16, s16, bool); + mDoExt_bckAnm() { mpMtxCalc = NULL; } + /* 8000D7DC */ int init(J3DAnmTransform* i_bck, int i_play, int i_attr, f32 i_rate, + s16 i_startF, s16 i_endF, bool i_modify); /* 8000D990 */ void changeBckOnly(J3DAnmTransform*); /* 8000D9CC */ void entry(J3DModelData*, f32); /* 8000D9E8 */ void entryJoint(J3DModelData*, u16, f32); void entry(J3DModelData* data) { entry(data, getFrame()); } + J3DAnmTransform* getBckAnm() { return mpAnm; } private: - /* 0x14 */ u32 mBckAnm; - /* 0x18 */ u32 mAnm; + /* 0x14 */ J3DAnmTransform* mpAnm; + /* 0x18 */ J3DMtxCalc* mpMtxCalc; }; // Size: 0x1C STATIC_ASSERT(sizeof(mDoExt_bckAnm) == 0x1C); @@ -122,17 +131,22 @@ public: param_6); } + int remove(J3DModelData* data) { return data->removeTexNoAnimator(mpAnm); } + private: /* 0x14 */ J3DAnmTexPattern* mpAnm; }; -class J3DTransformInfo; - -class mDoExt_McaMorfCallBack1_c { +class mDoExt_blkAnm : public mDoExt_baseAnm { public: - virtual void execute(u16, J3DTransformInfo*) = 0; + /* 8000DA08 */ void init(J3DDeformData*, J3DAnmCluster*, int, int, f32, s16, s16); + +private: + /* 0x14 */ J3DAnmCluster* mpAnm; }; +class J3DTransformInfo; + class mDoExt_AnmRatioPack { public: /* 80140DF0 */ ~mDoExt_AnmRatioPack(); @@ -169,8 +183,18 @@ public: /* 0x4 */ mDoExt_invJntPacket* field_0x4; }; -class mDoExt_morf_c - : public J3DMtxCalcNoAnm { +class mDoExt_zelAnime : public Z2SoundObjAnime {}; + +class mDoExt_McaMorfCallBack1_c { +public: + virtual void execute(u16, J3DTransformInfo*) = 0; +}; + +class mDoExt_McaMorfCallBack2_c {}; + +class mDoExt_morf_c { + // : public J3DMtxCalcNoAnm + // inheritance causing issues, fix later public: /* 8000F950 */ mDoExt_morf_c(); /* 8000FB7C */ void setMorf(f32); @@ -178,12 +202,103 @@ public: /* 8000FAE8 */ virtual ~mDoExt_morf_c(); -private: - /* 0x04 */ u32 field_0x4; - /* 0x08 */ u32 mAnm; + /* 0x04 */ J3DModel* mpModel; + /* 0x08 */ J3DAnmTransform* mpAnm; /* 0x0C */ J3DFrameCtrl mFrameCtrl; - /* 0x20 */ u32 field_0x20; - /* 0x24 */ u32 field_0x24; + /* 0x20 */ J3DTransformInfo** mpTransformInfo; + /* 0x24 */ Quaternion* mpQuat; + /* 0x28 */ f32 mCurMorf; + /* 0x2C */ f32 mPrevMorf; + /* 0x30 */ f32 mMorfStep; + /* 0x34 */ f32 field_0x34; +}; + +class mDoExt_McaMorfSO : public mDoExt_morf_c { +public: + /* 800107D0 */ mDoExt_McaMorfSO(J3DModelData*, mDoExt_McaMorfCallBack1_c*, + mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, int, f32, int, + int, Z2Creature*, u32, u32); + /* 800108F0 */ void create(J3DModelData*, mDoExt_McaMorfCallBack1_c*, + mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, int, f32, int, int, + Z2Creature*, u32, u32); + /* 80010E70 */ void setAnm(J3DAnmTransform*, int, f32, f32, f32, f32); + /* 800110B0 */ void play(u32, s8); + /* 80011154 */ void updateDL(); + /* 800111C0 */ void entryDL(); + /* 800111EC */ void modelCalc(); + /* 80011250 */ void getTransform(u16, J3DTransformInfo*); + /* 80011310 */ void stopZelAnime(); + + /* 80010888 */ virtual ~mDoExt_McaMorfSO(); + /* 80010B68 */ virtual void calc(); + + J3DModel* getModel() { return mpModel; } + void offMorfNone() { mMorfNone = false; } + void onMorfNone() { mMorfNone = true; } + +private: + /* 0x38 */ mDoExt_McaMorfCallBack1_c* mpCallback1; + /* 0x3C */ mDoExt_McaMorfCallBack2_c* mpCallback2; + /* 0x40 */ cXyz mTranslateScale; + /* 0x4C */ Z2Creature* mpSound; + /* 0x50 */ void* mpBas; + /* 0x54 */ bool mTranslate; + /* 0x55 */ bool mMorfNone; +}; + +class mDoExt_McaMorf : public mDoExt_morf_c { +public: + /* 8000FC4C */ mDoExt_McaMorf(J3DModelData*, mDoExt_McaMorfCallBack1_c*, + mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, int, f32, int, int, + int, void*, u32, u32); + /* 8000FD94 */ void create(J3DModelData*, mDoExt_McaMorfCallBack1_c*, + mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, int, f32, int, int, + int, void*, u32, u32); + /* 8001037C */ void setAnm(J3DAnmTransform*, int, f32, f32, f32, f32, void*); + /* 800105C8 */ void play(Vec*, u32, s8); + /* 80010680 */ void entryDL(); + /* 800106AC */ void modelCalc(); + /* 80010710 */ void getTransform(u16, J3DTransformInfo*); + + /* 8000FD10 */ virtual ~mDoExt_McaMorf(); + /* 80010074 */ virtual void calc(); + +private: + /* 0x38 */ mDoExt_McaMorfCallBack1_c* mpCallback1; + /* 0x3C */ mDoExt_McaMorfCallBack2_c* mpCallback2; + /* 0x40 */ cXyz mTranslateScale; + /* 0x4C */ mDoExt_zelAnime* mpSound; + /* 0x50 */ bool field_0x50; + /* 0x51 */ bool field_0x51; + /* 0x52 */ bool field_0x52; +}; + +class mDoExt_McaMorf2 : public mDoExt_morf_c { +public: + /* 80011348 */ mDoExt_McaMorf2(J3DModelData*, mDoExt_McaMorfCallBack1_c*, + mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, J3DAnmTransform*, + int, f32, int, int, Z2Creature*, u32, u32); + /* 80011464 */ void create(J3DModelData*, mDoExt_McaMorfCallBack1_c*, + mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, J3DAnmTransform*, int, + f32, int, int, Z2Creature*, u32, u32); + /* 800116B4 */ void ERROR_EXIT(); + /* 80011D70 */ void setAnm(J3DAnmTransform*, J3DAnmTransform*, f32, int, f32, f32, f32, f32); + /* 80011FCC */ void setAnmRate(f32); + /* 800120A0 */ void play(u32, s8); + /* 80012144 */ void entryDL(); + /* 80012170 */ void modelCalc(); + /* 800121E8 */ void stopZelAnime(); + + /* 800113FC */ virtual ~mDoExt_McaMorf2(); + /* 800116F4 */ virtual void calc(); + +private: + /* 0x38 */ mDoExt_McaMorfCallBack1_c* mpCallback1; + /* 0x3C */ mDoExt_McaMorfCallBack2_c* mpCallback2; + /* 0x40 */ J3DAnmTransform* field_0x40; + /* 0x44 */ f32 field_0x44; + /* 0x48 */ Z2Creature* mpSound; + /* 0x4C */ void* mpBas; }; class mDoExt_MtxCalcOldFrame { @@ -204,6 +319,55 @@ private: /* 0x20 */ Quaternion* mOldFrameQuaternion; }; // Size: 0x24 +struct mDoExt_MtxCalcAnmBlendTblOld { + /* 8000F4B0 */ void calc(); + /* 80014EB0 */ ~mDoExt_MtxCalcAnmBlendTblOld(); +}; + +struct mDoExt_MtxCalcAnmBlendTbl { + /* 8000F26C */ void calc(); + /* 800D00BC */ void getAnm(int); + /* 80014F3C */ ~mDoExt_MtxCalcAnmBlendTbl(); +}; + +struct mDoExt_3Dline_c { + /* 800123D0 */ void init(u16, int, int); + /* 800126BC */ mDoExt_3Dline_c(); +}; + +struct mDoExt_3DlineMat_c {}; + +class mDoExt_3DlineMatSortPacket : public J3DPacket { +public: + mDoExt_3DlineMatSortPacket(); + + /* 80014738 */ void setMat(mDoExt_3DlineMat_c*); + virtual void draw(); + virtual ~mDoExt_3DlineMatSortPacket(); + +private: + /* 0x10 */ mDoExt_3DlineMat_c* mp3DlineMat; +}; + +class dKy_tevstr_c; +struct mDoExt_3DlineMat1_c { + /* 80013360 */ void init(u16, u16, ResTIMG*, int); + /* 800134F8 */ void setMaterial(); + /* 800135D0 */ void draw(); + /* 80013FB0 */ void update(int, _GXColor&, dKy_tevstr_c*); + /* 8001373C */ void update(int, f32, _GXColor&, u16, dKy_tevstr_c*); + /* 80014E7C */ bool getMaterialID(); +}; + +struct mDoExt_3DlineMat0_c { + /* 800125E0 */ void init(u16, u16, int); + /* 800126C0 */ void setMaterial(); + /* 80012774 */ void draw(); + /* 80012874 */ void update(int, f32, _GXColor&, u16, dKy_tevstr_c*); + /* 80012E3C */ void update(int, _GXColor&, dKy_tevstr_c*); + /* 80014E84 */ bool getMaterialID(); +}; + JKRSolidHeap* mDoExt_createSolidHeapFromGame(u32, u32); void mDoExt_destroySolidHeap(JKRSolidHeap*); u32 mDoExt_adjustSolidHeap(JKRSolidHeap*); diff --git a/include/m_Do/m_Do_machine.h b/include/m_Do/m_Do_machine.h index 8ea5888795..669ee1aecd 100644 --- a/include/m_Do/m_Do_machine.h +++ b/include/m_Do/m_Do_machine.h @@ -14,6 +14,7 @@ bool exceptionReadPad(u32*, u32*); void exceptionRestart(); void myExceptionCallback(u16, OSContext*, u32, u32); void my_SysPrintHeap(char const*, void*, u32); +void mDoMch_HeapCheckAll(); extern GXRenderModeObj g_ntscZeldaProg; diff --git a/include/m_Do/m_Do_main.h b/include/m_Do/m_Do_main.h index 09a01987a6..6015b935fb 100644 --- a/include/m_Do/m_Do_main.h +++ b/include/m_Do/m_Do_main.h @@ -10,6 +10,20 @@ void* LOAD_COPYDATE(void*); class HeapCheck { public: + // needed for sinit + /* HeapCheck(JKRExpHeap* heap, const char* name, const char* jName) { + mName = name; + mJName = jName; + setHeap(heap); + mMaxTotalUsedSize = 0; + mMaxTotalFreeSize = 0; + field_0x14 = 0; + field_0x18 = 0; + mTargetHeapSize = 0; + mUsedCount = 0; + mTotalUsedSize = 0; + } */ + void CheckHeap1(void); s32 getUsedCount(void) const; void heapDisplay(void) const; @@ -21,19 +35,23 @@ public: void setHeapSize(u32 i_size) { mTargetHeapSize = i_size; } s32 getMaxTotalUsedSize() { return mMaxTotalUsedSize; } s32 getMaxTotalFreeSize() { return mMaxTotalFreeSize; } - char* getName() const { return mName; } + const char* getName() const { return mName; } void saveRelBase() { mUsedCount = getUsedCount(); mTotalUsedSize = mHeap->getTotalUsedSize(); } + u32 getRelUsedCount() const { return getUsedCount() - mUsedCount; } + u32 getRelTotalUsedSize() const { return mHeap->getTotalUsedSize() - mTotalUsedSize; } + private: - /* 0x00 */ char* mName; - /* 0x04 */ char* mJName; + /* 0x00 */ const char* mName; + /* 0x04 */ const char* mJName; /* 0x08 */ JKRExpHeap* mHeap; /* 0x0C */ s32 mMaxTotalUsedSize; /* 0x10 */ s32 mMaxTotalFreeSize; - /* 0x14 */ u8 unk20[8]; + /* 0x14 */ s32 field_0x14; + /* 0x18 */ s32 field_0x18; /* 0x1C */ u32 mTargetHeapSize; /* 0x20 */ u32 mUsedCount; /* 0x24 */ u32 mTotalUsedSize; @@ -47,7 +65,7 @@ struct mDoMain { static OSTime sHungUpTime; }; -extern s8 data_80450580; +extern s8 data_80450580; // Debug enabled extern bool sOSReportDisabled; extern bool data_80450B99; diff --git a/include/rel/d/a/npc/d_a_npc_tk/d_a_npc_tk.h b/include/rel/d/a/npc/d_a_npc_tk/d_a_npc_tk.h index a704a18d3d..6290f2f895 100644 --- a/include/rel/d/a/npc/d_a_npc_tk/d_a_npc_tk.h +++ b/include/rel/d/a/npc/d_a_npc_tk/d_a_npc_tk.h @@ -3,4 +3,66 @@ #include "dolphin/types.h" +struct cXyz; +struct fopAc_ac_c; +struct J3DJoint; +struct J3DModel; + +struct daNPC_TK_c { + /* 80B01498 */ void setBck(int, u8, f32, f32); + /* 80B0153C */ void checkBck(int); + /* 80B01598 */ void draw(); + /* 80B016D4 */ void checkBeforeBg(); + /* 80B01878 */ void setActionMode(int); + /* 80B018F4 */ void setAddCalcSpeedXZ(cXyz&, cXyz const&, f32, f32, f32); + /* 80B01C84 */ void chaseTargetPos(cXyz, f32, f32, s16); + /* 80B01D84 */ void getMasterPointer(); + /* 80B01DA0 */ void setMasterShoulder(cXyz*); + /* 80B01E48 */ void setAwayAction(int); + /* 80B01EF4 */ void setFlySE(); + /* 80B02254 */ void executeFly(); + /* 80B026F8 */ void initPerchDemo(int); + /* 80B02B5C */ void executePerchDemo(int); + /* 80B03658 */ void executePerch(); + /* 80B03754 */ void executeHandOn(); + /* 80B039A8 */ void checkWaterSurface(f32); + /* 80B03A70 */ void executeAttack(); + /* 80B048BC */ void executeAway(); + /* 80B04BF8 */ void setCarryActorMtx(); + /* 80B04F64 */ void getTakePosY(); + /* 80B04FA8 */ void getTakeOffPosY(); + /* 80B04FEC */ void executeBack(); + /* 80B05BD0 */ void getHanjoHandPos(); + /* 80B05C7C */ void executeStayHanjo(); + /* 80B05EC8 */ void executeAttackLink(); + /* 80B0686C */ void executeBackHanjo(); + /* 80B07114 */ void checkAttackDemo(); + /* 80B072CC */ void executeAttackDemo(); + /* 80B07610 */ void executeBackHanjoDemo(); + /* 80B08168 */ void executeWolfEvent(); + /* 80B08208 */ void calcWolfDemoCam(); + /* 80B082A4 */ void calcWolfDemoCam2(); + /* 80B0839C */ void executeWolfPerch(); + /* 80B09A3C */ void executeResistanceDemo(); + /* 80B0A444 */ void setHawkSideCamera(cXyz); + /* 80B0A500 */ void setHawkCamera(fopAc_ac_c*); + /* 80B0A568 */ void endHawkCamera(); + /* 80B0A614 */ void calcDemoCamera(); + /* 80B0B004 */ void checkActionSet(); + /* 80B0B284 */ void action(); + /* 80B0B5CC */ void mtx_set(); + /* 80B0B6DC */ void cc_set(); + /* 80B0B7CC */ void execute(); + /* 80B0B918 */ void _delete(); + /* 80B0B9AC */ void ctrlJoint(J3DJoint*, J3DModel*); + /* 80B0BB7C */ void JointCallBack(J3DJoint*, int); + /* 80B0BBC8 */ void CreateHeap(); + /* 80B0BD24 */ void create(); + + void setBump() { mBump |= 4; } + + u8 field_0x0[0x6BE]; + u16 mBump; +}; + #endif /* D_A_NPC_TK_H */ diff --git a/libs/JSystem/J3DGraphAnimator/J3DMaterialAttach.cpp b/libs/JSystem/J3DGraphAnimator/J3DMaterialAttach.cpp index 6638ede6c7..f7332ea6bf 100644 --- a/libs/JSystem/J3DGraphAnimator/J3DMaterialAttach.cpp +++ b/libs/JSystem/J3DGraphAnimator/J3DMaterialAttach.cpp @@ -114,7 +114,7 @@ bool J3DMaterialTable::removeMatColorAnimator(J3DAnmColor* pAnmColor) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm bool J3DMaterialTable::removeMatColorAnimator(J3DAnmColor* param_0) { +asm int J3DMaterialTable::removeMatColorAnimator(J3DAnmColor* param_0) { nofralloc #include "asm/JSystem/J3DGraphAnimator/J3DMaterialAttach/removeMatColorAnimator__16J3DMaterialTableFP11J3DAnmColor.s" } @@ -126,7 +126,7 @@ asm bool J3DMaterialTable::removeMatColorAnimator(J3DAnmColor* param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void J3DMaterialTable::removeTexNoAnimator(J3DAnmTexPattern* param_0) { +asm int J3DMaterialTable::removeTexNoAnimator(J3DAnmTexPattern* param_0) { nofralloc #include "asm/JSystem/J3DGraphAnimator/J3DMaterialAttach/removeTexNoAnimator__16J3DMaterialTableFP16J3DAnmTexPattern.s" } @@ -137,7 +137,7 @@ asm void J3DMaterialTable::removeTexNoAnimator(J3DAnmTexPattern* param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void J3DMaterialTable::removeTexMtxAnimator(J3DAnmTextureSRTKey* param_0) { +asm int J3DMaterialTable::removeTexMtxAnimator(J3DAnmTextureSRTKey* param_0) { nofralloc #include "asm/JSystem/J3DGraphAnimator/J3DMaterialAttach/removeTexMtxAnimator__16J3DMaterialTableFP19J3DAnmTextureSRTKey.s" } @@ -148,7 +148,7 @@ asm void J3DMaterialTable::removeTexMtxAnimator(J3DAnmTextureSRTKey* param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void J3DMaterialTable::removeTevRegAnimator(J3DAnmTevRegKey* param_0) { +asm int J3DMaterialTable::removeTevRegAnimator(J3DAnmTevRegKey* param_0) { nofralloc #include "asm/JSystem/J3DGraphAnimator/J3DMaterialAttach/removeTevRegAnimator__16J3DMaterialTableFP15J3DAnmTevRegKey.s" } diff --git a/libs/JSystem/JAudio2/JASDvdThread.cpp b/libs/JSystem/JAudio2/JASDvdThread.cpp index d7a5380678..c73bd6c63f 100644 --- a/libs/JSystem/JAudio2/JASDvdThread.cpp +++ b/libs/JSystem/JAudio2/JASDvdThread.cpp @@ -7,26 +7,6 @@ #include "dol2asm.h" #include "dolphin/types.h" -// -// Types: -// - -struct JKRHeap { - static u8 sSystemHeap[4]; - static u8 sCurrentHeap[4]; -}; - -struct JASTaskThread { - /* 8028F6C4 */ JASTaskThread(int, int, u32); -}; - -struct JASDvd { - /* 8028FEFC */ u32 getThreadPointer(); - /* 8028FF04 */ void createThread(s32, int, u32); - - static u8 sThread[4 + 4 /* padding */]; -}; - // // Forward References: // @@ -41,7 +21,6 @@ extern "C" u8 sThread__6JASDvd[4 + 4 /* padding */]; extern "C" void __ct__13JASTaskThreadFiiUl(); extern "C" void* __nw__FUlP7JKRHeapi(); -extern "C" void OSResumeThread(); extern "C" void _savegpr_29(); extern "C" void _restgpr_29(); extern "C" extern u8 JASDram[4]; @@ -54,11 +33,11 @@ extern "C" u8 sCurrentHeap__7JKRHeap[4]; /* ############################################################################################## */ /* 80451208-80451210 000708 0004+04 2/1 0/0 0/0 .sbss sThread__6JASDvd */ -u8 JASDvd::sThread[4 + 4 /* padding */]; +JASTaskThread* JASDvd::sThread; /* 8028FEFC-8028FF04 -00001 0008+00 0/0 0/0 0/0 .text getThreadPointer__6JASDvdFv */ -u32 JASDvd::getThreadPointer() { - return *(u32*)(&JASDvd::sThread); +JASTaskThread* JASDvd::getThreadPointer() { + return JASDvd::sThread; } /* 8028FF04-8028FFA8 28A844 00A4+00 0/0 1/1 0/0 .text createThread__6JASDvdFliUl */ diff --git a/libs/JSystem/JAudio2/JASTaskThread.cpp b/libs/JSystem/JAudio2/JASTaskThread.cpp index 92f70b7072..325c17098c 100644 --- a/libs/JSystem/JAudio2/JASTaskThread.cpp +++ b/libs/JSystem/JAudio2/JASTaskThread.cpp @@ -11,26 +11,6 @@ // Types: // -struct JKRHeap { - static u8 sSystemHeap[4]; -}; - -struct JKRThread { - /* 802D1610 */ JKRThread(JKRHeap*, u32, int, int); - /* 802D1758 */ ~JKRThread(); -}; - -struct JASTaskThread { - /* 8028F6C4 */ JASTaskThread(int, int, u32); - /* 8028F724 */ ~JASTaskThread(); - /* 8028F9EC */ void allocCallStack(void (*)(void*), void*); - /* 8028F850 */ void allocCallStack(void (*)(void*), void const*, u32); - /* 8028FC54 */ void sendCmdMsg(void (*)(void*), void*); - /* 8028FB5C */ void sendCmdMsg(void (*)(void*), void const*, u32); - /* 8028FD4C */ void run(); - /* 8028FE88 */ void pause(bool); -}; - struct JASCalc { /* 8028F354 */ void bcopy(void const*, void*, u32); }; @@ -59,12 +39,6 @@ extern "C" void* __nw__FUlP7JKRHeapi(); extern "C" void __dl__FPv(); extern "C" void __ct__9JKRThreadFP7JKRHeapUlii(); extern "C" void __dt__9JKRThreadFv(); -extern "C" void OSDisableInterrupts(); -extern "C" void OSRestoreInterrupts(); -extern "C" void OSSendMessage(); -extern "C" void OSReceiveMessage(); -extern "C" void OSLockMutex(); -extern "C" void OSUnlockMutex(); extern "C" void OSInitThreadQueue(); extern "C" void OSSleepThread(); extern "C" void OSWakeupThread(); @@ -104,7 +78,8 @@ asm JASTaskThread::JASTaskThread(int param_0, int param_1, u32 param_2) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm JASTaskThread::~JASTaskThread() { +// asm JASTaskThread::~JASTaskThread() { +extern "C" asm void __dt__13JASTaskThreadFv() { nofralloc #include "asm/JSystem/JAudio2/JASTaskThread/__dt__13JASTaskThreadFv.s" } diff --git a/libs/JSystem/JKernel/JKRAssertHeap.cpp b/libs/JSystem/JKernel/JKRAssertHeap.cpp index 6787b3b766..0054cd87a4 100644 --- a/libs/JSystem/JKernel/JKRAssertHeap.cpp +++ b/libs/JSystem/JKernel/JKRAssertHeap.cpp @@ -109,7 +109,7 @@ bool JKRAssertHeap::dump_sort() { /* 802D142C-802D1434 2CBD6C 0008+00 1/0 0/0 0/0 .text do_changeGroupID__13JKRAssertHeapFUc */ -u8 JKRAssertHeap::do_changeGroupID(u8) { +s32 JKRAssertHeap::do_changeGroupID(u8) { return 0; } diff --git a/libs/JSystem/JKernel/JKRExpHeap.cpp b/libs/JSystem/JKernel/JKRExpHeap.cpp index 9bfb17e015..bf368bad54 100644 --- a/libs/JSystem/JKernel/JKRExpHeap.cpp +++ b/libs/JSystem/JKernel/JKRExpHeap.cpp @@ -558,7 +558,7 @@ void JKRExpHeap::do_fillFreeArea() { /* 802CF928-802CF978 2CA268 0050+00 1/0 0/0 0/0 .text do_changeGroupID__10JKRExpHeapFUc */ -u8 JKRExpHeap::do_changeGroupID(u8 param_0) { +s32 JKRExpHeap::do_changeGroupID(u8 param_0) { lock(); u8 prev = mCurrentGroupId; mCurrentGroupId = param_0; diff --git a/libs/JSystem/JKernel/JKRHeap.cpp b/libs/JSystem/JKernel/JKRHeap.cpp index 8274afdebe..10f570d76a 100644 --- a/libs/JSystem/JKernel/JKRHeap.cpp +++ b/libs/JSystem/JKernel/JKRHeap.cpp @@ -352,7 +352,7 @@ s32 JKRHeap::getTotalFreeSize() { } /* 802CE7B0-802CE7DC 2C90F0 002C+00 0/0 1/1 0/0 .text changeGroupID__7JKRHeapFUc */ -u8 JKRHeap::changeGroupID(u8 param_1) { +s32 JKRHeap::changeGroupID(u8 param_1) { return do_changeGroupID(param_1); } @@ -624,7 +624,7 @@ void JKRHeap::state_dump(JKRHeap::TState const& p) const { } /* 802CEDA4-802CEDAC 2C96E4 0008+00 1/0 1/0 0/0 .text do_changeGroupID__7JKRHeapFUc */ -u8 JKRHeap::do_changeGroupID(u8 param_0) { +s32 JKRHeap::do_changeGroupID(u8 param_0) { return 0; } diff --git a/libs/JSystem/JParticle/JPADynamicsBlock.cpp b/libs/JSystem/JParticle/JPADynamicsBlock.cpp index a4576e4903..8a6129ba55 100644 --- a/libs/JSystem/JParticle/JPADynamicsBlock.cpp +++ b/libs/JSystem/JParticle/JPADynamicsBlock.cpp @@ -4,8 +4,8 @@ // #include "JSystem/JParticle/JPADynamicsBlock.h" -#include "JSystem/JParticle/JPAParticle.h" #include "JSystem/JMath/JMATrigonometric.h" +#include "JSystem/JParticle/JPAParticle.h" #include "dol2asm.h" #include "dolphin/types.h" @@ -64,7 +64,8 @@ SECTION_SDATA2 static f32 lit_2289[1 + 1 /* padding */] = { // bug in diff.py preventing me from seeing what's wrong void JPAVolumePoint(JPAEmitterWorkData* work) { work->mVolumePos.zero(); - work->mVelOmni.set(work->mpEmtr->get_r_zh(), work->mpEmtr->get_r_zh(), work->mpEmtr->get_r_zh()); + work->mVelOmni.set(work->mpEmtr->get_r_zh(), work->mpEmtr->get_r_zh(), + work->mpEmtr->get_r_zh()); work->mVelAxis.set(work->mVelOmni.x, 0.0f, work->mVelOmni.z); } @@ -91,7 +92,9 @@ SECTION_SDATA2 static f64 lit_2321 = 4503601774854144.0 /* cast s32 to float */; // bug in diff.py preventing me from seeing what's wrong void JPAVolumeLine(JPAEmitterWorkData* work) { if (work->mpEmtr->checkFlag(JPADynFlag_FixedInterval)) { - work->mVolumePos.set(0.0f, 0.0f, work->mVolumeSize * (s32)((work->mVolumeEmitIdx / (work->mEmitCount - 1.0f) - 0.5f))); + work->mVolumePos.set(0.0f, 0.0f, + work->mVolumeSize * + (s32)((work->mVolumeEmitIdx / (work->mEmitCount - 1.0f) - 0.5f))); work->mVolumeEmitIdx++; } else { work->mVolumePos.set(0.0f, 0.0f, work->mVolumeSize * work->mpEmtr->get_r_zh()); @@ -158,7 +161,8 @@ static asm void JPAVolumeCircle(JPAEmitterWorkData* param_0) { // bug in diff.py preventing me from seeing what's wrong void JPAVolumeCube(JPAEmitterWorkData* work) { f32 size = work->mVolumeSize; - work->mVolumePos.set(size * work->mpEmtr->get_r_zh(), size * work->mpEmtr->get_r_zh(), size * work->mpEmtr->get_r_zh()); + work->mVolumePos.set(size * work->mpEmtr->get_r_zh(), size * work->mpEmtr->get_r_zh(), + size * work->mpEmtr->get_r_zh()); work->mVelOmni.mul(work->mVolumePos, work->mGlobalScl); work->mVelAxis.set(work->mVolumePos.x, 0.0f, work->mVolumePos.z); } @@ -224,25 +228,39 @@ JPADynamicsBlock::JPADynamicsBlock(u8 const* data) { } enum { - VOL_Cube = 0x00, - VOL_Sphere = 0x01, + VOL_Cube = 0x00, + VOL_Sphere = 0x01, VOL_Cylinder = 0x02, - VOL_Torus = 0x03, - VOL_Point = 0x04, - VOL_Circle = 0x05, - VOL_Line = 0x06, + VOL_Torus = 0x03, + VOL_Point = 0x04, + VOL_Circle = 0x05, + VOL_Line = 0x06, }; /* 8027BB4C-8027BBE8 27648C 009C+00 2/1 0/0 0/0 .text init__16JPADynamicsBlockFv */ void JPADynamicsBlock::init() { switch (getVolumeType()) { - case VOL_Cube: mpCalcVolumeFunc = &JPAVolumeCube; break; - case VOL_Sphere: mpCalcVolumeFunc = &JPAVolumeSphere; break; - case VOL_Cylinder: mpCalcVolumeFunc = &JPAVolumeCylinder; break; - case VOL_Torus: mpCalcVolumeFunc = &JPAVolumeTorus; break; - case VOL_Point: mpCalcVolumeFunc = &JPAVolumePoint; break; - case VOL_Circle: mpCalcVolumeFunc = &JPAVolumeCircle; break; - case VOL_Line: mpCalcVolumeFunc = &JPAVolumeLine; break; + case VOL_Cube: + mpCalcVolumeFunc = &JPAVolumeCube; + break; + case VOL_Sphere: + mpCalcVolumeFunc = &JPAVolumeSphere; + break; + case VOL_Cylinder: + mpCalcVolumeFunc = &JPAVolumeCylinder; + break; + case VOL_Torus: + mpCalcVolumeFunc = &JPAVolumeTorus; + break; + case VOL_Point: + mpCalcVolumeFunc = &JPAVolumePoint; + break; + case VOL_Circle: + mpCalcVolumeFunc = &JPAVolumeCircle; + break; + case VOL_Line: + mpCalcVolumeFunc = &JPAVolumeLine; + break; } } @@ -269,13 +287,15 @@ void JPADynamicsBlock::create(JPAEmitterWorkData* work) { work->mVolumeEmitIdx = 0; } else { - f32 newPtclCount = work->mpEmtr->mRate * (getRateRndm() * work->mpEmtr->get_r_zp() + 1.0f); + f32 newPtclCount = + work->mpEmtr->mRate * (getRateRndm() * work->mpEmtr->get_r_zp() + 1.0f); f32 newEmitCount = work->mpEmtr->mEmitCount + newPtclCount; work->mpEmtr->mEmitCount = newEmitCount; emitCount = (s32)newEmitCount; work->mpEmtr->mEmitCount -= emitCount; - if (work->mpEmtr->checkStatus(JPAEmtrStts_FirstEmit) && 0.0f < newPtclCount && newPtclCount < 1.0f) + if (work->mpEmtr->checkStatus(JPAEmtrStts_FirstEmit) && 0.0f < newPtclCount && + newPtclCount < 1.0f) emitCount = 1; } diff --git a/libs/JSystem/JUtility/JUTGamePad.cpp b/libs/JSystem/JUtility/JUTGamePad.cpp index f3cfb0302c..92d6f91cc3 100644 --- a/libs/JSystem/JUtility/JUTGamePad.cpp +++ b/libs/JSystem/JUtility/JUTGamePad.cpp @@ -4,13 +4,10 @@ // #include "JSystem/JUtility/JUTGamePad.h" +#include "MSL_C/math.h" #include "dol2asm.h" #include "dolphin/types.h" -// can't type mPadList correctly because of __sinit -// remove this once __sinit is decompiled -#define mPadListHack (*(JSUList*)&mPadList) - // // Forward References: // @@ -90,7 +87,7 @@ extern "C" void __dt__10JSUPtrListFv(); extern "C" void initiate__10JSUPtrListFv(); extern "C" void append__10JSUPtrListFP10JSUPtrLink(); extern "C" void remove__10JSUPtrListFP10JSUPtrLink(); -extern "C" void OSGetResetSwitchState(); +extern "C" s32 OSGetResetSwitchState(); extern "C" void __register_global_object(); extern "C" void __construct_array(); extern "C" void _savegpr_22(); @@ -101,8 +98,6 @@ extern "C" void _restgpr_22(); extern "C" void _restgpr_27(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); -extern "C" void atan2(); -extern "C" extern u32 __float_nan; // // Declarations: @@ -120,69 +115,52 @@ SECTION_DATA PADMask JUTGamePad::CRumble::sChannelMask[4] = { /* 803CC600-803CC610 029720 0010+00 2/2 0/0 0/0 .data channel_mask */ SECTION_DATA static u32 channel_mask[4] = {0x80000000, 0x40000000, 0x20000000, 0x10000000}; -/* 803CC610-803CC620 029730 000C+04 2/2 0/0 0/0 .data __vt__10JUTGamePad */ -SECTION_DATA extern void* __vt__10JUTGamePad[3 + 1 /* padding */] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__10JUTGamePadFv, - /* padding */ - NULL, -}; - -/* 804343D8-804343E4 0610F8 000C+00 3/3 0/0 0/0 .bss @525 */ -static u8 lit_525[12]; - /* 804343E4-804343F0 061104 000C+00 4/6 0/0 0/0 .bss mPadList__10JUTGamePad */ -u8 JUTGamePad::mPadList[12]; +JSUList JUTGamePad::mPadList(false); /* 804514D0-804514D4 0009D0 0004+00 1/1 0/0 0/0 .sbss None */ -static bool data_804514D0; +bool JUTGamePad::mListInitialized; /* 804514D4-804514D8 0009D4 0004+00 3/3 0/0 0/0 .sbss mPadAssign__10JUTGamePad */ u8 JUTGamePad::mPadAssign[4]; /* 802E06DC-802E07B0 2DB01C 00D4+00 0/0 4/4 0/0 .text __ct__10JUTGamePadFQ210JUTGamePad8EPadPort */ -#ifdef NONMATCHING -// TODO(erin): probably ~easy to do, i just didn't do it yet :) -JUTGamePad::JUTGamePad(EPadPort port) : ptr_link(this) { - this->buttons.clear(); - this->control_stick.clear(); - this->c_stick.clear(); - this->rumble.clear(); +JUTGamePad::JUTGamePad(EPadPort port) : mRumble(this), mLink(this) { + mPortNum = port; + if (mPortNum >= 0) { + mPadAssign[port]++; + } + + initList(); + mPadList.append(&mLink); + update(); + mPadRecord = 0; + mPadReplay = 0; + clear(); } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm JUTGamePad::JUTGamePad(JUTGamePad::EPadPort param_0) { - nofralloc -#include "asm/JSystem/JUtility/JUTGamePad/__ct__10JUTGamePadFQ210JUTGamePad8EPadPort.s" -} -#pragma pop -#endif /* 802E07B0-802E085C 2DB0F0 00AC+00 1/0 2/2 0/0 .text __dt__10JUTGamePadFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm JUTGamePad::~JUTGamePad() { - nofralloc -#include "asm/JSystem/JUtility/JUTGamePad/__dt__10JUTGamePadFv.s" +JUTGamePad::~JUTGamePad() { + if (mPortNum >= 0) { + mPadAssign[mPortNum]--; + mPortNum = -1; + } + + mPadList.remove(&mLink); } -#pragma pop /* 802E085C-802E0898 2DB19C 003C+00 1/1 0/0 0/0 .text initList__10JUTGamePadFv */ void JUTGamePad::initList() { - if (/* mIsPadListInitialized */ data_804514D0 == false) { - mPadListHack.initiate(); - data_804514D0 = true; + if (!mListInitialized) { + mPadList.initiate(); + mListInitialized = true; } } /* ############################################################################################## */ /* 804514D8-804514DC 0009D8 0004+00 2/2 0/0 0/0 .sbss sSuppressPadReset__10JUTGamePad */ -u8 JUTGamePad::sSuppressPadReset[4]; +u32 JUTGamePad::sSuppressPadReset; /* 804514DC-804514E0 0009DC 0004+00 1/1 1/1 0/0 .sbss sAnalogMode__10JUTGamePad */ s32 JUTGamePad::sAnalogMode; @@ -190,9 +168,7 @@ s32 JUTGamePad::sAnalogMode; /* 802E0898-802E08D0 2DB1D8 0038+00 0/0 1/1 0/0 .text init__10JUTGamePadFv */ s32 JUTGamePad::init() { PADSetSpec(5); - sAnalogMode = 3; - PADSetAnalogMode(3); - + setAnalogMode(3); return PADInit(); } @@ -207,22 +183,22 @@ void JUTGamePad::clear() { PADStatus JUTGamePad::mPadStatus[4]; /* 80434420-804344E0 061140 00C0+00 1/4 0/0 0/0 .bss mPadButton__10JUTGamePad */ -u8 JUTGamePad::mPadButton[192]; +JUTGamePad::CButton JUTGamePad::mPadButton[4]; /* 804344E0-80434520 061200 0040+00 0/3 0/0 0/0 .bss mPadMStick__10JUTGamePad */ #pragma push #pragma force_active on -u8 JUTGamePad::mPadMStick[64]; +JUTGamePad::CStick JUTGamePad::mPadMStick[4]; #pragma pop /* 80434520-80434560 061240 0040+00 0/3 0/0 0/0 .bss mPadSStick__10JUTGamePad */ #pragma push #pragma force_active on -u8 JUTGamePad::mPadSStick[64]; +JUTGamePad::CStick JUTGamePad::mPadSStick[4]; #pragma pop /* 804508D8-804508DC 000358 0004+00 1/1 0/0 0/0 .sdata sStickMode__10JUTGamePad */ -SECTION_SDATA u32 JUTGamePad::sStickMode = 0x00000001; +SECTION_SDATA JUTGamePad::EStickMode JUTGamePad::sStickMode = STICK_MODE_1; /* 804508DC-804508E0 00035C 0004+00 2/2 0/0 0/0 .sdata sClampMode__10JUTGamePad */ SECTION_SDATA u32 JUTGamePad::sClampMode = 0x00000001; @@ -231,47 +207,104 @@ SECTION_SDATA u32 JUTGamePad::sClampMode = 0x00000001; u32 JUTGamePad::sRumbleSupported; /* 802E08E4-802E0BBC 2DB224 02D8+00 0/0 2/2 0/0 .text read__10JUTGamePadFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JUTGamePad::read() { - nofralloc -#include "asm/JSystem/JUtility/JUTGamePad/read__10JUTGamePadFv.s" -} -#pragma pop +#ifdef NONMATCHING +u32 JUTGamePad::read() { + sRumbleSupported = PADRead(mPadStatus); -/* 802E0BBC-802E0C6C 2DB4FC 00B0+00 1/1 0/0 0/0 .text assign__10JUTGamePadFv */ -#if 0 -// matches if all static variables have their proper type -void JUTGamePad::assign() { - s32 iVar3 = 0; + switch (sClampMode) { + case 1: + PADClamp(mPadStatus); + break; + case 2: + PADClampCircle(mPadStatus); + break; + } - for (s32 i = 4; i > 0; i--) { - if ((/* mPadStatus */ lbl_804343F0[iVar3].error == 0) && - (/* *puVar2 */ lbl_804514D4[iVar3] == 0)) { - mPortNum = iVar3; - /* JUTGamePad::mPadAssign[iVar3] */ /* *puVar2 */ lbl_804514D4[iVar3] = 1; - /* JUTGamePad::mPadButton */ lbl_80434420[iVar3].setRepeat( - this->buttons.field_0x24, this->buttons.field_0x28, this->buttons.field_0x2c); - this->rumble.clear(this); + u32 mask = 0; + for (int i = 0; i < 4; i++) { + u32 mask_tmp = 0x80000000 >> i; + if (mPadStatus[i].error == 0) { + u32 m_stick = mPadMStick[i].update(mPadStatus[i].stick_x, mPadStatus[i].stick_y, + sStickMode, WS_MAIN_STICK, mPadButton[i].mButton) + << 0x18; + u32 s_stick = mPadSStick[i].update(mPadStatus[i].substick_x, mPadStatus[i].substick_y, + sStickMode, WS_SUB_STICK, mPadButton[i].mButton) + << 0x10; + u32 tmp = m_stick | s_stick; + mPadButton[i].update(&mPadStatus[i], tmp); + } else if (mPadStatus[i].error == -1) { + u32 m_stick = mPadMStick[i].update(0, 0, sStickMode, WS_MAIN_STICK, 0); + u32 s_stick = mPadSStick[i].update(0, 0, sStickMode, WS_SUB_STICK, 0); + mPadButton[i].update(NULL, 0); - return; + if (!(sSuppressPadReset & mask_tmp)) { + mask |= mask_tmp; + } + } else { + mPadButton[i].mTrigger = 0; + mPadButton[i].mRelease = 0; + mPadButton[i].mRepeat = 0; + } + } + + JSUListIterator pad(mPadList.getFirst()); + for (; pad != mPadList.getEnd(); pad++) { + if (pad->getPadReplay() && pad->getPadReplay()->mActive) { + PADStatus status; + pad->getPadReplay()->unk1(&status); + u32 m_stick = pad->mMainStick.update(status.stick_x, status.stick_y, sStickMode, + WS_MAIN_STICK, pad->mButton.mButton) + << 0x18; + u32 s_stick = pad->mSubStick.update(status.substick_x, status.substick_y, sStickMode, + WS_SUB_STICK, pad->mButton.mButton) + << 0x10; + pad->mButton.update(&status, m_stick | s_stick); + } else { + if (pad->mPortNum == -1) { + pad->assign(); + } + pad->update(); } - iVar3++; + if (pad->getPadRecord() && pad->getPadRecord()->mActive) { + s32 portNum = pad->mPortNum; + if (portNum >= 0 && mPadStatus[portNum].error == 0) { + pad->getPadRecord()->unk2(); + } + } } + + if (mask != 0) { + PADReset((PADMask)mask); + } + + checkResetSwitch(); + return sRumbleSupported; } #else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void JUTGamePad::assign() { +asm u32 JUTGamePad::read() { nofralloc -#include "asm/JSystem/JUtility/JUTGamePad/assign__10JUTGamePadFv.s" +#include "asm/JSystem/JUtility/JUTGamePad/read__10JUTGamePadFv.s" } #pragma pop #endif +/* 802E0BBC-802E0C6C 2DB4FC 00B0+00 1/1 0/0 0/0 .text assign__10JUTGamePadFv */ +void JUTGamePad::assign() { + for (int i = 0; i < 4; i++) { + if (mPadStatus[i].error == 0 && mPadAssign[i] == 0) { + mPortNum = i; + mPadAssign[i] = 1; + mPadButton[i].setRepeat(mButton.field_0x24, mButton.field_0x28, mButton.field_0x2c); + mRumble.clear(this); + return; + } + } +} + /* ############################################################################################## */ /* 804514E4-804514E8 0009E4 0004+00 5/5 0/0 0/0 .sbss mStatus__Q210JUTGamePad7CRumble */ bool JUTGamePad::CRumble::mStatus[4]; @@ -287,7 +320,7 @@ callbackFn JUTGamePad::C3ButtonReset::sCallback; void* JUTGamePad::C3ButtonReset::sCallbackArg; /* 804514F8-80451500 0009F8 0008+00 2/2 0/0 0/0 .sbss sThreshold__Q210JUTGamePad13C3ButtonReset */ -OSTime JUTGamePad::C3ButtonReset::sThreshold; +OSTime JUTGamePad::C3ButtonReset::sThreshold = (OSTime)((OS_BUS_CLOCK / 4) / 60) * 30; /* 80451500-80451504 -00001 0004+00 3/3 6/6 0/0 .sbss None */ /* 80451500 0001+00 data_80451500 None */ @@ -301,27 +334,22 @@ s32 JUTGamePad::C3ButtonReset::sResetOccurredPort; /* 802E0C6C-802E0CD8 2DB5AC 006C+00 1/1 1/1 0/0 .text checkResetCallback__10JUTGamePadFx */ -void JUTGamePad::checkResetCallback(OSTime unk) { - if (unk < JUTGamePad::C3ButtonReset::sThreshold) +void JUTGamePad::checkResetCallback(OSTime holdTime) { + if (holdTime < JUTGamePad::C3ButtonReset::sThreshold) { return; + } struct_80451501 = true; JUTGamePad::C3ButtonReset::sResetOccurredPort = mPortNum; + if (JUTGamePad::C3ButtonReset::sCallback != NULL) { JUTGamePad::C3ButtonReset::sCallback(mPortNum, JUTGamePad::C3ButtonReset::sCallbackArg); } } -/* ############################################################################################## */ -/* 80434560-8043456C 061280 000C+00 0/1 0/0 0/0 .bss @1373 */ -#pragma push -#pragma force_active on -static u8 lit_1373[12]; -#pragma pop - /* 8043456C-80434578 06128C 000C+00 1/2 0/0 0/0 .bss sPatternList__19JUTGamePadLongPress */ -u8 JUTGamePadLongPress::sPatternList[12]; +JSUList JUTGamePadLongPress::sPatternList(false); /* 804508E0-804508E4 000360 0004+00 1/1 0/0 0/0 .sdata sPressPoint__Q210JUTGamePad6CStick */ @@ -339,6 +367,52 @@ SECTION_SDATA u32 JUTGamePad::C3ButtonReset::sResetPattern = 0x00001600; SECTION_SDATA u32 JUTGamePad::C3ButtonReset::sResetMaskPattern = 0x0000FFFF; /* 802E0CD8-802E0FA4 2DB618 02CC+00 2/2 0/0 0/0 .text update__10JUTGamePadFv */ +#ifdef NONMATCHING +void JUTGamePad::update() { + if (mPortNum != -1) { + if (mPortNum >= 0 && mPortNum < 4) { + mButton = mPadButton[mPortNum]; + mMainStick = mPadMStick[mPortNum]; + mSubStick = mPadSStick[mPortNum]; + mErrorStatus = mPadStatus[mPortNum].error; + } + + if (field_0xa8 == 0 || + (mButton.mButton & C3ButtonReset::sResetMaskPattern) != C3ButtonReset::sResetPattern) { + mButtonReset.mReset = false; + } else if (!struct_80451501) { + if (mButtonReset.mReset == true) { + checkResetCallback(OSGetTime() - mResetTime); + } else { + mButtonReset.mReset = true; + mResetTime = OSGetTime(); + } + } + + JSUListIterator pad(JUTGamePadLongPress::sPatternList.getFirst()); + for (; pad != JUTGamePadLongPress::sPatternList.getEnd(); pad++) { + if (pad->mValid) { + if (mPortNum >= 0 && mPortNum < 4) { + if ((mButton.mButton & pad->getMaskPattern()) == pad->getPattern()) { + if (pad->field_0x20[mPortNum] == true) { + pad->checkCallback(mPortNum, OSGetTime() - pad->mTimer[mPortNum]); + } else { + pad->field_0x20[mPortNum] = true; + pad->mTimer[mPortNum] = OSGetTime(); + } + } else { + pad->field_0x20[mPortNum] = false; + } + } + } + } + + if (mPortNum >= 0 && mPortNum < 4) { + mRumble.update(mPortNum); + } + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -347,164 +421,226 @@ asm void JUTGamePad::update() { #include "asm/JSystem/JUtility/JUTGamePad/update__10JUTGamePadFv.s" } #pragma pop +#endif /* 802E0FA4-802E1024 2DB8E4 0080+00 1/1 0/0 0/0 .text checkResetSwitch__10JUTGamePadFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JUTGamePad::checkResetSwitch() { - nofralloc -#include "asm/JSystem/JUtility/JUTGamePad/checkResetSwitch__10JUTGamePadFv.s" +void JUTGamePad::checkResetSwitch() { + if (!struct_80451501) { + if (OSGetResetSwitchState()) { + struct_80451500 = true; + } else { + if (struct_80451500 == true) { + struct_80451501 = true; + C3ButtonReset::sResetOccurredPort = -1; + + if (C3ButtonReset::sCallback != NULL) { + C3ButtonReset::sCallback(-1, C3ButtonReset::sCallbackArg); + } + } + struct_80451500 = false; + } + } } -#pragma pop /* 802E1024-802E1050 2DB964 002C+00 0/0 1/1 0/0 .text clearForReset__10JUTGamePadFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JUTGamePad::clearForReset() { - nofralloc -#include "asm/JSystem/JUtility/JUTGamePad/clearForReset__10JUTGamePadFv.s" +void JUTGamePad::clearForReset() { + CRumble::setEnabled(0); + recalibrate(PAD_CHAN3_BIT | PAD_CHAN2_BIT | PAD_CHAN1_BIT | PAD_CHAN0_BIT); } -#pragma pop /* 802E1050-802E108C 2DB990 003C+00 2/2 0/0 0/0 .text clear__Q210JUTGamePad7CButtonFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JUTGamePad::CButton::clear() { - nofralloc -#include "asm/JSystem/JUtility/JUTGamePad/clear__Q210JUTGamePad7CButtonFv.s" +void JUTGamePad::CButton::clear() { + mButton = 0; + mTrigger = 0; + mRelease = 0; + mRepeat = 0; + mAnalogA = 0; + mAnalogB = 0; + mAnalogL = 0; + mAnalogR = 0; + field_0x1c = 0; + field_0x20 = 0; + field_0x24 = 0; + field_0x28 = 0; + field_0x2c = 0; } -#pragma pop - -/* ############################################################################################## */ -/* 80456018-80456020 004618 0004+04 1/1 0/0 0/0 .sdata2 @1047 */ -SECTION_SDATA2 static f32 lit_1047[1 + 1 /* padding */] = { - 150.0f, - /* padding */ - 0.0f, -}; - -/* 80456020-80456028 004620 0008+00 2/2 0/0 0/0 .sdata2 @1050 */ -SECTION_SDATA2 static f64 lit_1050 = 4503601774854144.0 /* cast s32 to float */; /* 802E108C-802E121C 2DB9CC 0190+00 1/1 0/0 0/0 .text * update__Q210JUTGamePad7CButtonFPC9PADStatusUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm u32 JUTGamePad::CButton::update(PADStatus const* param_0, u32 param_1) { - nofralloc -#include "asm/JSystem/JUtility/JUTGamePad/update__Q210JUTGamePad7CButtonFPC9PADStatusUl.s" -} -#pragma pop +void JUTGamePad::CButton::update(PADStatus const* padStatus, u32 stickStatus) { + u32 buttons; + if (padStatus != NULL) { + buttons = padStatus->button; + } else { + buttons = 0; + } -/* ############################################################################################## */ -/* 80456028-80456030 004628 0004+04 2/2 0/0 0/0 .sdata2 @1056 */ -SECTION_SDATA2 static f32 lit_1056[1 + 1 /* padding */] = { - 0.0f, - /* padding */ - 0.0f, -}; + buttons = stickStatus | buttons; + mRepeat = 0; + + if (field_0x28 != 0 && field_0x24 != 0) { + u32 repeatButton = buttons & field_0x24; + mRepeat = 0; + + if (repeatButton == 0) { + field_0x20 = 0; + field_0x1c = 0; + } else if (field_0x20 == repeatButton) { + field_0x1c++; + + if (field_0x1c == field_0x28 || + (field_0x1c > field_0x28 && (field_0x1c - field_0x28) % field_0x2c == 0)) { + mRepeat = repeatButton; + } + } else { + mRepeat = repeatButton & (field_0x20 ^ 0xFFFFFFFF); + field_0x20 = repeatButton; + field_0x1c = 0; + } + } + + mTrigger = buttons & (buttons ^ mButton); + mRelease = mButton & (buttons ^ mButton); + mButton = buttons; + mRepeat |= (field_0x24 ^ 0xFFFFFFFF) & mTrigger; + + if (padStatus != NULL) { + mAnalogA = padStatus->analog_a; + mAnalogB = padStatus->analog_b; + mAnalogL = padStatus->trigger_left; + mAnalogR = padStatus->trigger_right; + } else { + mAnalogA = 0; + mAnalogB = 0; + mAnalogL = 0; + mAnalogR = 0; + } + + mAnalogLf = (s32)mAnalogL / 150.0f; + mAnalogRf = (s32)mAnalogR / 150.0f; +} /* 802E121C-802E1238 2DBB5C 001C+00 2/2 0/0 0/0 .text clear__Q210JUTGamePad6CStickFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JUTGamePad::CStick::clear() { - nofralloc -#include "asm/JSystem/JUtility/JUTGamePad/clear__Q210JUTGamePad6CStickFv.s" +void JUTGamePad::CStick::clear() { + mPosX = 0.0f; + mPosY = 0.0f; + mValue = 0.0f; + mAngle = 0; } -#pragma pop - -/* ############################################################################################## */ -/* 80456030-80456038 004630 0008+00 1/1 0/0 0/0 .sdata2 @1117 */ -SECTION_SDATA2 static f64 lit_1117 = 0.5; - -/* 80456038-80456040 004638 0008+00 1/1 0/0 0/0 .sdata2 @1118 */ -SECTION_SDATA2 static f64 lit_1118 = 3.0; - -/* 80456040-80456048 004640 0008+00 1/1 0/0 0/0 .sdata2 @1119 */ -SECTION_SDATA2 static u8 lit_1119[8] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; - -/* 80456048-8045604C 004648 0004+00 1/1 0/0 0/0 .sdata2 @1120 */ -SECTION_SDATA2 static f32 lit_1120 = 1.0f; - -/* 8045604C-80456050 00464C 0004+00 1/1 0/0 0/0 .sdata2 @1121 */ -SECTION_SDATA2 static f32 lit_1121 = 10430.37890625f; /* 802E1238-802E1500 2DBB78 02C8+00 1/1 0/0 0/0 .text * update__Q210JUTGamePad6CStickFScScQ210JUTGamePad10EStickModeQ210JUTGamePad11EWhichStickUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm u32 JUTGamePad::CStick::update(s8 param_0, s8 param_1, JUTGamePad::EStickMode param_2, - JUTGamePad::EWhichStick param_3, u32 param_4) { - nofralloc -#include "asm/JSystem/JUtility/JUTGamePad/func_802E1238.s" +u32 JUTGamePad::CStick::update(s8 x_val, s8 y_val, JUTGamePad::EStickMode mode, + JUTGamePad::EWhichStick stick, u32 buttons) { + s32 clamp; + switch (sClampMode) { + case 1: + clamp = stick == WS_MAIN_STICK ? 54 : 42; + break; + case 2: + clamp = stick == WS_MAIN_STICK ? 38 : 29; + break; + default: + clamp = stick == WS_MAIN_STICK ? 69 : 57; + break; + } + + field_0xe = x_val; + field_0xf = y_val; + mPosX = (f32)x_val / (f32)clamp; + mPosY = (f32)y_val / (f32)clamp; + mValue = sqrtf((mPosX * mPosX) + (mPosY * mPosY)); + + if (mValue > 1.0f) { + if (mode == STICK_MODE_1) { + mPosX /= mValue; + mPosY /= mValue; + } + mValue = 1.0f; + } + + if (mValue > 0.0f) { + if (mPosY == 0.0f) { + if (mPosX > 0.0f) { + mAngle = 0x4000; + } else { + mAngle = -0x4000; + } + } else { + mAngle = 10430.379f * atan2f(mPosX, -mPosY); + } + } + + u32 buttonType = stick == WS_MAIN_STICK ? 0x18 : 0x10; + return getButton(buttons >> buttonType); } -#pragma pop /* 802E1500-802E15B4 2DBE40 00B4+00 1/1 0/0 0/0 .text getButton__Q210JUTGamePad6CStickFUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm u32 JUTGamePad::CStick::getButton(u32 param_0) { - nofralloc -#include "asm/JSystem/JUtility/JUTGamePad/getButton__Q210JUTGamePad6CStickFUl.s" +u32 JUTGamePad::CStick::getButton(u32 buttons) { + u32 button = buttons & 0xF; + + if (-sReleasePoint < mPosX && mPosX < sReleasePoint) { + button = button & 0xFFFFFFFC; + } else if (mPosX <= -sPressPoint) { + button = (button & 0xFFFFFFFD) | 1; + } else if (mPosX >= sPressPoint) { + button = (button & 0xFFFFFFFE) | 2; + } + + if (-sReleasePoint < mPosY && mPosY < sReleasePoint) { + button = button & 0xFFFFFFF3; + } else if (mPosY <= -sPressPoint) { + button = (button & 0xFFFFFFF7) | 4; + } else if (mPosY >= sPressPoint) { + button = (button & 0xFFFFFFFB) | 8; + } + + return button; } -#pragma pop /* 802E15B4-802E15D8 2DBEF4 0024+00 1/1 0/0 0/0 .text clear__Q210JUTGamePad7CRumbleFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JUTGamePad::CRumble::clear() { - nofralloc -#include "asm/JSystem/JUtility/JUTGamePad/clear__Q210JUTGamePad7CRumbleFv.s" +void JUTGamePad::CRumble::clear() { + field_0x0 = 0; + field_0x4 = 0; + field_0x8 = 0; + field_0xc = 0; + field_0x10 = 0; + mEnabled = (PADMask)(PAD_CHAN3_BIT | PAD_CHAN2_BIT | PAD_CHAN1_BIT | PAD_CHAN0_BIT); } -#pragma pop /* 802E15D8-802E1634 2DBF18 005C+00 2/2 0/0 0/0 .text clear__Q210JUTGamePad7CRumbleFP10JUTGamePad */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JUTGamePad::CRumble::clear(JUTGamePad* param_0) { - nofralloc -#include "asm/JSystem/JUtility/JUTGamePad/clear__Q210JUTGamePad7CRumbleFP10JUTGamePad.s" +void JUTGamePad::CRumble::clear(JUTGamePad* pad) { + if (pad->getPortNum() >= 0 && pad->getPortNum() < 4) { + mStatus[pad->getPortNum()] = false; + pad->stopMotorHard(); + } + clear(); } -#pragma pop /* 802E1634-802E168C 2DBF74 0058+00 1/1 0/0 0/0 .text startMotor__Q210JUTGamePad7CRumbleFi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JUTGamePad::CRumble::startMotor(int param_0) { - nofralloc -#include "asm/JSystem/JUtility/JUTGamePad/startMotor__Q210JUTGamePad7CRumbleFi.s" +void JUTGamePad::CRumble::startMotor(int portNo) { + if (isEnabledPort(portNo)) { + PADControlMotor(portNo, 1); + mStatus[portNo] = true; + } } -#pragma pop /* 802E168C-802E16F8 2DBFCC 006C+00 4/4 3/3 0/0 .text stopMotor__Q210JUTGamePad7CRumbleFib */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JUTGamePad::CRumble::stopMotor(int param_0, bool param_1) { - nofralloc -#include "asm/JSystem/JUtility/JUTGamePad/stopMotor__Q210JUTGamePad7CRumbleFib.s" +void JUTGamePad::CRumble::stopMotor(int portNo, bool stop) { + if (isEnabledPort(portNo)) { + u8 command = stop ? 2 : 0; + PADControlMotor(portNo, command); + mStatus[portNo] = false; + } } -#pragma pop /* 802E16F8-802E1720 2DC038 0028+00 1/1 0/0 0/0 .text getNumBit__FPUci */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void getNumBit(u8* param_0, int param_1) { +static asm u8 getNumBit(u8* param_0, int param_1) { nofralloc #include "asm/JSystem/JUtility/JUTGamePad/getNumBit__FPUci.s" } @@ -522,14 +658,12 @@ asm void JUTGamePad::CRumble::update(s16 param_0) { /* 802E18A4-802E18CC 2DC1E4 0028+00 1/1 0/0 0/0 .text * triggerPatternedRumble__Q210JUTGamePad7CRumbleFUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JUTGamePad::CRumble::triggerPatternedRumble(u32 param_0) { - nofralloc -#include "asm/JSystem/JUtility/JUTGamePad/triggerPatternedRumble__Q210JUTGamePad7CRumbleFUl.s" +void JUTGamePad::CRumble::triggerPatternedRumble(u32 param_0) { + if (field_0x8 != NULL && field_0xc != 0) { + field_0x4 = param_0; + field_0x0 = 0; + } } -#pragma pop /* 802E18CC-802E1948 2DC20C 007C+00 0/0 2/2 0/0 .text * startPatternedRumble__Q210JUTGamePad7CRumbleFPvQ310JUTGamePad7CRumble7ERumbleUl */ @@ -546,14 +680,10 @@ asm void JUTGamePad::CRumble::startPatternedRumble(void* param_0, /* 802E1948-802E1978 2DC288 0030+00 1/1 3/3 0/0 .text * stopPatternedRumble__Q210JUTGamePad7CRumbleFs */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JUTGamePad::CRumble::stopPatternedRumble(s16 param_0) { - nofralloc -#include "asm/JSystem/JUtility/JUTGamePad/stopPatternedRumble__Q210JUTGamePad7CRumbleFs.s" +void JUTGamePad::CRumble::stopPatternedRumble(s16 port) { + field_0x4 = 0; + stopMotor(port, true); } -#pragma pop /* 802E1978-802E199C 2DC2B8 0024+00 0/0 1/1 0/0 .text * stopPatternedRumbleAtThePeriod__Q210JUTGamePad7CRumbleFv */ @@ -567,106 +697,63 @@ asm void JUTGamePad::CRumble::stopPatternedRumbleAtThePeriod() { #pragma pop /* 802E199C-802E19D8 2DC2DC 003C+00 1/1 1/1 0/0 .text getGamePad__10JUTGamePadFi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm JUTGamePad* JUTGamePad::getGamePad(int param_0) { - nofralloc -#include "asm/JSystem/JUtility/JUTGamePad/getGamePad__10JUTGamePadFi.s" +JUTGamePad* JUTGamePad::getGamePad(int padNo) { + JSUListIterator pad(mPadList.getFirst()); + + for (; pad != mPadList.getEnd(); pad++) { + if (padNo == pad->mPortNum) { + return pad.getObject(); + } + } + + return NULL; } -#pragma pop /* 802E19D8-802E1A7C 2DC318 00A4+00 1/1 1/1 0/0 .text setEnabled__Q210JUTGamePad7CRumbleFUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JUTGamePad::CRumble::setEnabled(u32 param_0) { - nofralloc -#include "asm/JSystem/JUtility/JUTGamePad/setEnabled__Q210JUTGamePad7CRumbleFUl.s" +void JUTGamePad::CRumble::setEnabled(u32 mask) { + for (int i = 0; i < 4; i++) { + if ((mEnabled & channel_mask[i]) == 0) { + if (mStatus[i]) { + stopMotor(i, false); + } + + JUTGamePad* pad = getGamePad(i); + if (pad != NULL) { + pad->mRumble.stopPatternedRumble(pad->mPortNum); + } + } + } + mEnabled = (PADMask)(mask & (PAD_CHAN3_BIT | PAD_CHAN2_BIT | PAD_CHAN1_BIT | PAD_CHAN0_BIT)); } -#pragma pop /* 802E1A7C-802E1A98 2DC3BC 001C+00 1/1 0/0 0/0 .text setRepeat__Q210JUTGamePad7CButtonFUlUlUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JUTGamePad::CButton::setRepeat(u32 param_0, u32 param_1, u32 param_2) { - nofralloc -#include "asm/JSystem/JUtility/JUTGamePad/setRepeat__Q210JUTGamePad7CButtonFUlUlUl.s" +void JUTGamePad::CButton::setRepeat(u32 param_0, u32 param_1, u32 param_2) { + field_0x20 = 0; + field_0x1c = 0; + field_0x24 = param_0; + field_0x28 = param_1; + field_0x2c = param_2; } -#pragma pop /* 802E1A98-802E1AFC 2DC3D8 0064+00 1/1 0/0 0/0 .text recalibrate__10JUTGamePadFUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm bool JUTGamePad::recalibrate(u32 param_0) { - nofralloc -#include "asm/JSystem/JUtility/JUTGamePad/recalibrate__10JUTGamePadFUl.s" +bool JUTGamePad::recalibrate(u32 mask) { + for (int i = 0; i < 4; i++) { + if (sSuppressPadReset & channel_mask[i]) { + mask &= channel_mask[i] ^ 0xFFFFFFFF; + } + } + + return PADRecalibrate((PADMask)mask); } -#pragma pop /* 802E1AFC-802E1B60 2DC43C 0064+00 1/1 0/0 0/0 .text checkCallback__19JUTGamePadLongPressFiUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JUTGamePadLongPress::checkCallback(int param_0, u32 param_1) { - nofralloc -#include "asm/JSystem/JUtility/JUTGamePad/checkCallback__19JUTGamePadLongPressFiUl.s" -} -#pragma pop +void JUTGamePadLongPress::checkCallback(int port, u32 timer) { + if (port >= 0 && timer >= field_0x1c) { + field_0x11 = true; + field_0x48[port] = true; -/* 802E1B60-802E1C54 2DC4A0 00F4+00 0/0 1/0 0/0 .text __sinit_JUTGamePad_cpp */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void __sinit_JUTGamePad_cpp() { - nofralloc -#include "asm/JSystem/JUtility/JUTGamePad/__sinit_JUTGamePad_cpp.s" + if (mCallback != NULL) { + mCallback(port, this, field_0x50); + } + } } -#pragma pop - -#pragma push -#pragma force_active on -REGISTER_CTORS(0x802E1B60, __sinit_JUTGamePad_cpp); -#pragma pop - -/* 802E1C54-802E1CA8 2DC594 0054+00 1/1 0/0 0/0 .text __dt__30JSUList<19JUTGamePadLongPress>Fv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -extern "C" asm void func_802E1C54(void* _this) { - nofralloc -#include "asm/JSystem/JUtility/JUTGamePad/func_802E1C54.s" -} -#pragma pop - -/* 802E1CA8-802E1CD8 2DC5E8 0030+00 1/1 0/0 0/0 .text __ct__Q210JUTGamePad6CStickFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm JUTGamePad::CStick::CStick() { - nofralloc -#include "asm/JSystem/JUtility/JUTGamePad/__ct__Q210JUTGamePad6CStickFv.s" -} -#pragma pop - -/* 802E1CD8-802E1D08 2DC618 0030+00 1/1 0/0 0/0 .text __ct__Q210JUTGamePad7CButtonFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm JUTGamePad::CButton::CButton() { - nofralloc -#include "asm/JSystem/JUtility/JUTGamePad/__ct__Q210JUTGamePad7CButtonFv.s" -} -#pragma pop - -/* 802E1D08-802E1D5C 2DC648 0054+00 1/1 0/0 0/0 .text __dt__21JSUList<10JUTGamePad>Fv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -extern "C" asm void func_802E1D08(void* _this) { - nofralloc -#include "asm/JSystem/JUtility/JUTGamePad/func_802E1D08.s" -} -#pragma pop diff --git a/libs/Z2AudioLib/Z2AudioMgr.cpp b/libs/Z2AudioLib/Z2AudioMgr.cpp index a43073d9e1..b6424a7e29 100644 --- a/libs/Z2AudioLib/Z2AudioMgr.cpp +++ b/libs/Z2AudioLib/Z2AudioMgr.cpp @@ -409,8 +409,9 @@ asm bool Z2AudioMgr::hasReset() const { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void Z2AudioMgr::startSound(JAISoundID param_0, JAISoundHandle* param_1, - JGeometry::TVec3 const* param_2) { +// asm void Z2AudioMgr::startSound(JAISoundID param_0, JAISoundHandle* param_1, +// JGeometry::TVec3 const* param_2) { +extern "C" asm void func_802CDB1C() { nofralloc #include "asm/Z2AudioLib/Z2AudioMgr/func_802CDB1C.s" } diff --git a/libs/Z2AudioLib/Z2WolfHowlMgr.cpp b/libs/Z2AudioLib/Z2WolfHowlMgr.cpp index 0c47321529..e99da12893 100644 --- a/libs/Z2AudioLib/Z2WolfHowlMgr.cpp +++ b/libs/Z2AudioLib/Z2WolfHowlMgr.cpp @@ -86,91 +86,53 @@ extern "C" u8 mLinkPtr__14Z2CreatureLink[4 + 4 /* padding */]; /* ############################################################################################## */ /* 804508A0-804508A8 000320 0008+00 1/0 0/0 0/0 .sdata sHowlTobikusa */ -extern "C" u8 sHowlTobikusa[8]; +extern "C" u16 sHowlTobikusa[4]; /* 803CBC50-803CBC5C 028D70 000C+00 1/0 0/0 0/0 .data sHowlUmakusa */ -SECTION_DATA static u8 sHowlUmakusa[12] = { - 0x01, 0x0F, 0x02, 0x0F, 0x03, 0x3C, 0x01, 0x0F, 0x02, 0x0F, 0x03, 0x3C, +SECTION_DATA static u16 sHowlUmakusa[6] = { + 0x010F, 0x020F, 0x033C, 0x010F, 0x020F, 0x033C, }; /* 803CBC5C-803CBC68 028D7C 000C+00 1/0 0/0 0/0 .data sHowlZeldaSong */ -SECTION_DATA static u8 sHowlZeldaSong[12] = { - 0x02, 0x1E, 0x01, 0x0F, 0x03, 0x2D, 0x02, 0x1E, 0x01, 0x0F, 0x03, 0x2D, +SECTION_DATA static u16 sHowlZeldaSong[6] = { + 0x021E, 0x010F, 0x032D, 0x021E, 0x010F, 0x032D, }; /* 803CBC68-803CBC74 028D88 000C+00 1/0 0/0 0/0 .data sHowlLightPrelude */ -SECTION_DATA static u8 sHowlLightPrelude[12] = { - 0x01, 0x14, 0x03, 0x28, 0x01, 0x14, 0x03, 0x14, 0x02, 0x14, 0x01, 0x1E, +SECTION_DATA static u16 sHowlLightPrelude[6] = { + 0x0114, 0x0328, 0x0114, 0x0314, 0x0214, 0x011E, }; /* 803CBC74-803CBC80 028D94 000C+00 1/0 0/0 0/0 .data sHowlSoulRequiem */ -SECTION_DATA static u8 sHowlSoulRequiem[12] = { - 0x03, 0x1E, 0x02, 0x0F, 0x03, 0x0F, 0x01, 0x1E, 0x02, 0x1E, 0x03, 0x1E, +SECTION_DATA static u16 sHowlSoulRequiem[6] = { + 0x031E, 0x020F, 0x030F, 0x011E, 0x021E, 0x031E, }; /* 803CBC80-803CBC8C 028DA0 000C+00 1/0 0/0 0/0 .data sHealingSong */ -SECTION_DATA static u8 sHealingSong[12] = { - 0x01, 0x1E, 0x02, 0x1E, 0x03, 0x1E, 0x01, 0x1E, 0x02, 0x1E, 0x03, 0x1E, +SECTION_DATA static u16 sHealingSong[6] = { + 0x011E, 0x021E, 0x031E, 0x011E, 0x021E, 0x031E, }; /* 803CBC8C-803CBC9C 028DAC 000E+02 1/0 0/0 0/0 .data sNewSong1 */ -SECTION_DATA static u8 sNewSong1[14 + 2 /* padding */] = { - 0x03, - 0x1E, - 0x02, - 0x1E, - 0x01, - 0x1E, - 0x03, - 0x28, - 0x02, - 0x14, - 0x03, - 0x1E, - 0x01, - 0x1E, - /* padding */ - 0x00, - 0x00, +SECTION_DATA static u16 sNewSong1[7] = { + 0x031E, 0x021E, 0x011E, 0x0328, 0x0214, 0x031E, 0x011E, }; /* 803CBC9C-803CBCAC 028DBC 0010+00 1/0 0/0 0/0 .data sNewSong2 */ -SECTION_DATA static u8 sNewSong2[16] = { - 0x01, 0x14, 0x02, 0x14, 0x03, 0x14, 0x02, 0x3C, 0x03, 0x14, 0x01, 0x14, 0x02, 0x14, 0x03, 0x1E, +SECTION_DATA static u16 sNewSong2[8] = { + 0x0114, 0x0214, 0x0314, 0x023C, 0x0314, 0x0114, 0x0214, 0x031E, }; /* 803CBCAC-803CBCC0 028DCC 0012+02 1/0 0/0 0/0 .data sNewSong3 */ -SECTION_DATA static u8 sNewSong3[18 + 2 /* padding */] = { - 0x02, - 0x1E, - 0x03, - 0x3C, - 0x02, - 0x28, - 0x01, - 0x14, - 0x03, - 0x3C, - 0x01, - 0x14, - 0x02, - 0x14, - 0x01, - 0x14, - 0x02, - 0x2D, - /* padding */ - 0x00, - 0x00, +SECTION_DATA static u16 sNewSong3[9] = { + 0x021E, 0x033C, 0x0228, 0x0114, 0x033C, 0x0114, 0x0214, 0x0114, 0x022D, }; /* 803CBCC0-803CBD08 -00001 0048+00 1/1 0/0 0/0 .data sGuideData */ -SECTION_DATA static void* sGuideData[18] = { - (void*)0x04000000, (void*)&sHowlTobikusa, (void*)0x06000000, (void*)&sHowlUmakusa, - (void*)0x06000000, (void*)&sHowlZeldaSong, (void*)0x06000000, (void*)&sHealingSong, - (void*)0x06000000, (void*)&sHowlSoulRequiem, (void*)0x06000000, (void*)&sHowlLightPrelude, - (void*)0x07000000, (void*)&sNewSong1, (void*)0x08000000, (void*)&sNewSong2, - (void*)0x09000000, (void*)&sNewSong3, +SECTION_DATA static Z2WolfHowlData sGuideData[9] = { + {4, sHowlTobikusa}, {6, sHowlUmakusa}, {6, sHowlZeldaSong}, + {6, sHealingSong}, {6, sHowlSoulRequiem}, {6, sHowlLightPrelude}, + {7, sNewSong1}, {8, sNewSong2}, {9, sNewSong3}, }; /* 80450880-80450884 000300 0004+00 2/2 0/0 0/0 .sdata cPitchDown */ @@ -213,8 +175,11 @@ SECTION_SDATA static f32 sStickHigh = 0.5f; SECTION_SDATA static f32 sStickCenter = 1.0f / 5.0f; /* 804508A0-804508A8 000320 0008+00 1/0 0/0 0/0 .sdata sHowlTobikusa */ -SECTION_SDATA static u8 sHowlTobikusa[8] = { - 0x01, 0x1E, 0x03, 0x1E, 0x01, 0x1E, 0x03, 0x1E, +SECTION_SDATA static u16 sHowlTobikusa[4] = { + 0x011E, + 0x031E, + 0x011E, + 0x031E, }; /* 80455E60-80455E64 004460 0004+00 8/8 0/0 0/0 .sdata2 @3485 */ diff --git a/rel/d/a/npc/d_a_npc_tk/d_a_npc_tk.cpp b/rel/d/a/npc/d_a_npc_tk/d_a_npc_tk.cpp index ee8706c31d..bc52e23aa1 100644 --- a/rel/d/a/npc/d_a_npc_tk/d_a_npc_tk.cpp +++ b/rel/d/a/npc/d_a_npc_tk/d_a_npc_tk.cpp @@ -76,58 +76,6 @@ struct J3DModel {}; struct J3DJoint {}; -struct daNPC_TK_c { - /* 80B01498 */ void setBck(int, u8, f32, f32); - /* 80B0153C */ void checkBck(int); - /* 80B01598 */ void draw(); - /* 80B016D4 */ void checkBeforeBg(); - /* 80B01878 */ void setActionMode(int); - /* 80B018F4 */ void setAddCalcSpeedXZ(cXyz&, cXyz const&, f32, f32, f32); - /* 80B01C84 */ void chaseTargetPos(cXyz, f32, f32, s16); - /* 80B01D84 */ void getMasterPointer(); - /* 80B01DA0 */ void setMasterShoulder(cXyz*); - /* 80B01E48 */ void setAwayAction(int); - /* 80B01EF4 */ void setFlySE(); - /* 80B02254 */ void executeFly(); - /* 80B026F8 */ void initPerchDemo(int); - /* 80B02B5C */ void executePerchDemo(int); - /* 80B03658 */ void executePerch(); - /* 80B03754 */ void executeHandOn(); - /* 80B039A8 */ void checkWaterSurface(f32); - /* 80B03A70 */ void executeAttack(); - /* 80B048BC */ void executeAway(); - /* 80B04BF8 */ void setCarryActorMtx(); - /* 80B04F64 */ void getTakePosY(); - /* 80B04FA8 */ void getTakeOffPosY(); - /* 80B04FEC */ void executeBack(); - /* 80B05BD0 */ void getHanjoHandPos(); - /* 80B05C7C */ void executeStayHanjo(); - /* 80B05EC8 */ void executeAttackLink(); - /* 80B0686C */ void executeBackHanjo(); - /* 80B07114 */ void checkAttackDemo(); - /* 80B072CC */ void executeAttackDemo(); - /* 80B07610 */ void executeBackHanjoDemo(); - /* 80B08168 */ void executeWolfEvent(); - /* 80B08208 */ void calcWolfDemoCam(); - /* 80B082A4 */ void calcWolfDemoCam2(); - /* 80B0839C */ void executeWolfPerch(); - /* 80B09A3C */ void executeResistanceDemo(); - /* 80B0A444 */ void setHawkSideCamera(cXyz); - /* 80B0A500 */ void setHawkCamera(fopAc_ac_c*); - /* 80B0A568 */ void endHawkCamera(); - /* 80B0A614 */ void calcDemoCamera(); - /* 80B0B004 */ void checkActionSet(); - /* 80B0B284 */ void action(); - /* 80B0B5CC */ void mtx_set(); - /* 80B0B6DC */ void cc_set(); - /* 80B0B7CC */ void execute(); - /* 80B0B918 */ void _delete(); - /* 80B0B9AC */ void ctrlJoint(J3DJoint*, J3DModel*); - /* 80B0BB7C */ void JointCallBack(J3DJoint*, int); - /* 80B0BBC8 */ void CreateHeap(); - /* 80B0BD24 */ void create(); -}; - struct daNPC_TK_HIO_c { /* 80B0140C */ daNPC_TK_HIO_c(); /* 80B0C104 */ ~daNPC_TK_HIO_c(); diff --git a/src/d/a/d_a_alink.cpp b/src/d/a/d_a_alink.cpp index 1625dd2140..df0a1b555d 100644 --- a/src/d/a/d_a_alink.cpp +++ b/src/d/a/d_a_alink.cpp @@ -13,6 +13,7 @@ #include "d/a/d_a_horse_static.h" #include "d/com/d_com_inf_game.h" #include "d/d_bomb.h" +#include "d/d_procname.h" #include "dol2asm.h" #include "dolphin/types.h" #include "f_op/f_op_actor_mng.h" @@ -27,14 +28,6 @@ // Types: // -struct mDoExt_blkAnm { - /* 8000DA08 */ void init(J3DDeformData*, J3DAnmCluster*, int, int, f32, s16, s16); -}; - -struct mDoExt_MtxCalcAnmBlendTbl { - /* 800D00BC */ void getAnm(int); -}; - struct fopEn_enemy_c {}; struct daTagMist_c { @@ -3315,7 +3308,6 @@ extern "C" u8 mGndCheck__11fopAcM_gc_c[84]; extern "C" u8 mWaterCheck__11fopAcM_wt_c[84 + 4 /* padding */]; extern "C" u8 mDemoArcName__20dStage_roomControl_c[10 + 2 /* padding */]; extern "C" u8 mSimpleTexObj__21dDlst_shadowControl_c[32]; -extern "C" extern u8 g_env_light[4880]; extern "C" f32 Zero__4cXyz[3]; extern "C" u8 BaseX__4cXyz[12]; extern "C" u8 BaseY__4cXyz[12]; @@ -3355,6 +3347,10 @@ inline BOOL i_dComIfGs_isEventBit(u16 id) { return g_dComIfG_gameInfo.info.getEvent().isEventBit(id); } +inline bool i_dComIfGp_checkPlayerStatus1(int param_0, u32 flag) { + return g_dComIfG_gameInfo.play.checkPlayerStatus(param_0, 1, flag); +} + /* 8009D87C-8009D884 0981BC 0008+00 0/0 1/1 0/0 .text getE3Zhint__9daAlink_cFv */ bool daAlink_c::getE3Zhint() { return false; @@ -15673,8 +15669,8 @@ BOOL daAlink_c::itemButtonCheck(u8 pButton) { return mItemButton & pButton; } -void daAlink_c::itemButton() { - itemButtonCheck(1 << mSelectItemId); +BOOL daAlink_c::itemButton() { + return itemButtonCheck(1 << mSelectItemId); } void daAlink_c::itemTrigger() { @@ -17160,7 +17156,7 @@ asm J3DModelData* daAlink_c::loadAramBmd(u16 param_0, u32 param_1) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::loadAram(u16 param_0, u32 param_1) { +asm void* daAlink_c::loadAram(u16 param_0, u32 param_1) { nofralloc #include "asm/d/a/d_a_alink/loadAram__9daAlink_cFUsUl.s" } @@ -28039,164 +28035,145 @@ asm void daAlink_c::hookshotAtHitCallBack(dCcD_GObjInf* param_0, fopAc_ac_c* par /* 8010859C-801085BC 102EDC 0020+00 1/1 0/0 0/0 .text * daAlink_hookshotAtHitCallBack__FP10fopAc_ac_cP12dCcD_GObjInfP10fopAc_ac_cP12dCcD_GObjInf */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daAlink_hookshotAtHitCallBack(fopAc_ac_c* param_0, dCcD_GObjInf* param_1, - fopAc_ac_c* param_2, dCcD_GObjInf* param_3) { - nofralloc -#include "asm/d/a/d_a_alink/daAlink_hookshotAtHitCallBack__FP10fopAc_ac_cP12dCcD_GObjInfP10fopAc_ac_cP12dCcD_GObjInf.s" +static void daAlink_hookshotAtHitCallBack(fopAc_ac_c* player, dCcD_GObjInf* param_1, + fopAc_ac_c* param_2, dCcD_GObjInf* param_3) { + ((daAlink_c*)player)->hookshotAtHitCallBack(param_1, param_2, param_3); } -#pragma pop /* 801085BC-80108600 102EFC 0044+00 1/0 0/0 0/0 .text getHookshotTopPos__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm bool daAlink_c::getHookshotTopPos() { - nofralloc -#include "asm/d/a/d_a_alink/getHookshotTopPos__9daAlink_cFv.s" +cXyz* daAlink_c::getHookshotTopPos() { + if (checkHookshotItem(mEquipItem)) { + return &mHookshotTopPos; + } + + return NULL; } -#pragma pop /* 80108600-80108668 102F40 0068+00 1/0 0/0 0/0 .text checkHookshotReturnMode__9daAlink_cCFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm bool daAlink_c::checkHookshotReturnMode() const { - nofralloc -#include "asm/d/a/d_a_alink/checkHookshotReturnMode__9daAlink_cCFv.s" +bool daAlink_c::checkHookshotReturnMode() const { + return checkHookshotItem(mEquipItem) && + (mHookshotMode == 4 || mHookshotMode == 5 || mHookshotMode == 6); } -#pragma pop /* 80108668-801086DC 102FA8 0074+00 1/0 0/0 0/0 .text checkHookshotShootReturnMode__9daAlink_cCFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm bool daAlink_c::checkHookshotShootReturnMode() const { - nofralloc -#include "asm/d/a/d_a_alink/checkHookshotShootReturnMode__9daAlink_cCFv.s" +bool daAlink_c::checkHookshotShootReturnMode() const { + return (checkHookshotItem(mEquipItem) && mHookshotMode == 3) || checkHookshotReturnMode(); } -#pragma pop /* 801086DC-8010871C 10301C 0040+00 6/6 0/0 0/0 .text resetHookshotMode__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::resetHookshotMode() { - nofralloc -#include "asm/d/a/d_a_alink/resetHookshotMode__9daAlink_cFv.s" +void daAlink_c::resetHookshotMode() { + mHookshotMode = 0; + initLockAt(); + mSearchBallScale = __float_max[0]; } -#pragma pop /* 8010871C-80108784 10305C 0068+00 0/0 0/0 1/1 .text * setEnemyBombHookshot__9daAlink_cFP10fopAc_ac_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::setEnemyBombHookshot(fopAc_ac_c* param_0) { - nofralloc -#include "asm/d/a/d_a_alink/setEnemyBombHookshot__9daAlink_cFP10fopAc_ac_c.s" +bool daAlink_c::setEnemyBombHookshot(fopAc_ac_c* actor) { + if (field_0x284c.getActor() != NULL) { + cancelHookshotCarry(); + field_0x284c.setData(actor); + fopAcM_setHookCarryNow(actor); + return true; + } + return false; } -#pragma pop /* 80108784-801087B0 1030C4 002C+00 3/3 0/0 0/0 .text checkLv7BossRoom__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::checkLv7BossRoom() { - nofralloc -#include "asm/d/a/d_a_alink/checkLv7BossRoom__9daAlink_cFv.s" +bool daAlink_c::checkLv7BossRoom() { + return checkStageName("D_MN07A"); } -#pragma pop /* 801087B0-80108828 1030F0 0078+00 6/6 0/0 0/0 .text * checkHookshotStickBG__9daAlink_cFR13cBgS_PolyInfo */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::checkHookshotStickBG(cBgS_PolyInfo& param_0) { - nofralloc -#include "asm/d/a/d_a_alink/checkHookshotStickBG__9daAlink_cFR13cBgS_PolyInfo.s" +bool daAlink_c::checkHookshotStickBG(cBgS_PolyInfo& poly) { + if (dComIfG_Bgsp().ChkPolyHSStick(poly)) { + dBgW_Base* bgw = dComIfG_Bgsp().GetBgWBasePointer(poly); + if (bgw != NULL && bgw->ChkPushPullOk()) { + return true; + } + } + + return false; } -#pragma pop /* 80108828-80108864 103168 003C+00 4/4 0/0 0/0 .text cancelHookshotCarry__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::cancelHookshotCarry() { - nofralloc -#include "asm/d/a/d_a_alink/cancelHookshotCarry__9daAlink_cFv.s" +void daAlink_c::cancelHookshotCarry() { + if (field_0x284c.getActor() != NULL) { + fopAcM_cancelHookCarryNow(field_0x284c.getActor()); + field_0x284c.clearData(); + } } -#pragma pop /* 80108864-801088A0 1031A4 003C+00 2/2 0/0 0/0 .text changeHookshotDrawModel__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::changeHookshotDrawModel() { - nofralloc -#include "asm/d/a/d_a_alink/changeHookshotDrawModel__9daAlink_cFv.s" +void daAlink_c::changeHookshotDrawModel() { + if (mEquipItem == HOOKSHOT && field_0x3020 == 1) { + J3DModel* old_item = mHeldItemModel; + mHeldItemModel = field_0x0710; + field_0x0710 = old_item; + + J3DModel* old_item2 = field_0x070c; + field_0x070c = field_0x0714; + field_0x0714 = old_item2; + } } -#pragma pop /* 801088A0-801088C8 1031E0 0028+00 6/6 0/0 0/0 .text checkHookshotRoofLv7Boss__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::checkHookshotRoofLv7Boss() { - nofralloc -#include "asm/d/a/d_a_alink/checkHookshotRoofLv7Boss__9daAlink_cFv.s" +BOOL daAlink_c::checkHookshotRoofLv7Boss() { + return mCargoCarryActor.getActor() != NULL && + fopAcM_GetName(mCargoCarryActor.getActor()) == PROC_B_DR; } -#pragma pop /* 801088C8-80108980 103208 00B8+00 2/2 0/0 0/0 .text checkChaseHookshot__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::checkChaseHookshot() { - nofralloc -#include "asm/d/a/d_a_alink/checkChaseHookshot__9daAlink_cFv.s" +BOOL daAlink_c::checkChaseHookshot() { + if (field_0x2804 == NULL) { + if (mTargetedActor != NULL) { + field_0x2804 = mTargetedActor; + } else { + field_0x2804 = this; + } + } else if (field_0x2804 != mTargetedActor) { + field_0x2804 = this; + } + + if (mTargetedActor != NULL) { + s16 actorName = fopAcM_GetName(mTargetedActor); + return field_0x2804 == mTargetedActor && + (checkBossOctaIealRoom() || actorName == PROC_Obj_FallObj || + actorName == PROC_B_DR || actorName == PROC_E_PH); + } + + return false; } -#pragma pop /* 80108980-801089E8 1032C0 0068+00 2/2 0/0 0/0 .text checkOctaIealSpecialCollect__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::checkOctaIealSpecialCollect() { - nofralloc -#include "asm/d/a/d_a_alink/checkOctaIealSpecialCollect__9daAlink_cFv.s" +BOOL daAlink_c::checkOctaIealSpecialCollect() { + return mActionID == 0xC6 && checkHookshotItem(mEquipItem) && checkBossOctaIealRoom(); } -#pragma pop /* 801089E8-80108A18 103328 0030+00 5/5 0/0 0/0 .text checkBossOctaIealRoom__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::checkBossOctaIealRoom() { - nofralloc -#include "asm/d/a/d_a_alink/checkBossOctaIealRoom__9daAlink_cFv.s" +BOOL daAlink_c::checkBossOctaIealRoom() { + return checkStageName("D_MN01A"); } -#pragma pop /* 80108A18-80108A3C 103358 0024+00 19/19 0/0 0/0 .text checkHookshotWait__9daAlink_cCFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::checkHookshotWait() const { - nofralloc -#include "asm/d/a/d_a_alink/checkHookshotWait__9daAlink_cCFv.s" +BOOL daAlink_c::checkHookshotWait() const { + return mHookshotMode == 0 || mHookshotMode == 1; } -#pragma pop /* 80108A3C-80108A90 10337C 0054+00 1/1 0/0 0/0 .text setHookshotCatchNow__9daAlink_cFv */ +// matches with literals +#ifdef NONMATCHING +void daAlink_c::setHookshotCatchNow() { + field_0x3026 = 5; + dComIfGp_getVibration().StartShock(4, 1, cXyz(0.0f, 1.0f, 0.0f)); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -28205,27 +28182,79 @@ asm void daAlink_c::setHookshotCatchNow() { #include "asm/d/a/d_a_alink/setHookshotCatchNow__9daAlink_cFv.s" } #pragma pop +#endif /* 80108A90-80108B34 1033D0 00A4+00 1/0 0/0 0/0 .text setHookshotCarryOffset__9daAlink_cFUiPC4cXyz */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm bool daAlink_c::setHookshotCarryOffset(unsigned int param_0, cXyz const* param_1) { - nofralloc -#include "asm/d/a/d_a_alink/setHookshotCarryOffset__9daAlink_cFUiPC4cXyz.s" +bool daAlink_c::setHookshotCarryOffset(unsigned int actorID, cXyz const* offset) { + if (i_dComIfGp_checkPlayerStatus1(0, 0x10000)) { + fopAc_ac_c* carryActor = mCargoCarryActor.getActor(); + + if (carryActor != NULL && fopAcM_checkHookCarryNow(carryActor) && + actorID == mCargoCarryActor.getID()) { + field_0x37c8 = *offset; + return true; + } + } + + fopAc_ac_c* actor = field_0x284c.getActor(); + if (actor != NULL && fopAcM_checkHookCarryNow(actor) && actorID == field_0x284c.getID()) { + field_0x37f8 = *offset; + return true; + } + + return false; } -#pragma pop /* 80108B34-80108DB4 103474 0280+00 1/1 0/0 0/0 .text setHookshotModel__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::setHookshotModel() { - nofralloc -#include "asm/d/a/d_a_alink/setHookshotModel__9daAlink_cFv.s" +void daAlink_c::setHookshotModel() { + J3DAnmTransform* bck = (J3DAnmTransform*)mAnmHeap9.loadDataIdx(0x17E); + + JKRHeap* heap = setItemHeap(); + field_0x730.init(bck, 0, 2, lit_6040, 0, -1, false); + + J3DModelData* heldItem_modelData = loadAramBmd(0x316, 0x5C00); + mHeldItemModel = initModel(heldItem_modelData, 0x80000, 0); + + J3DModelData* modelData = loadAramBmd(0x318, 0x3800); + field_0x070c = initModel(modelData, 0x80000, 0); + field_0x0710 = initModel(mHeldItemModel->getModelData(), 0x80000, 0); + field_0x0714 = initModel(field_0x070c->getModelData(), 0x80000, 0); + + field_0x0768 = loadAramBmd(0x317, 0x1000); + field_0x770 = new hsChainShape_c(); + field_0x076c = new Z2SoundObjSimple(); + + mpHookshotLinChk = new dBgS_ObjLinChk(); + mpHookshotLinChk->OffFullGrp(); + mpHookshotLinChk->OnWaterGrp(); + + J3DAnmTransform* bck2 = (J3DAnmTransform*)loadAram(0x17F, 0x800); + field_0x74C.init(bck2, 0, 2, lit_6040, 0, -1, false); + mDoExt_setCurrentHeap(heap); + + resetHookshotMode(); + field_0x770->setUserArea((u32)this); + field_0x2f94 = 1; + if (mEquipItem == W_HOOKSHOT) { + field_0x2f95 = 6; + } + + field_0x3020 = 0; + field_0x3024 = 0; + + field_0x122C[0].SetAtSpl(dCcG_At_Spl_UNK_0); + field_0x122C[0].OffAtNoHitMark(); + field_0x122C[0].SetAtAtp(0); + field_0x122C[0].SetR(lit_7808); + field_0x122C[0].SetAtSe(8); + field_0x122C[0].SetAtType(0x4000); + field_0x122C[0].SetAtHitMark(1); + field_0x122C[0].OnAtSetBit(); + field_0x122C[0].SetAtHitCallback(daAlink_hookshotAtHitCallBack); + field_0x122C[0].SetAtMtrl(0); + field_0x076c->init(&mHookshotTopPos, 1); } -#pragma pop /* 80108DB4-80108EEC 1036F4 0138+00 6/6 0/0 0/0 .text setHookshotSight__9daAlink_cFv */ #pragma push @@ -28238,24 +28267,39 @@ asm void daAlink_c::setHookshotSight() { #pragma pop /* 80108EEC-80108F64 10382C 0078+00 1/1 0/0 0/0 .text cancelHookshotShot__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::cancelHookshotShot() { - nofralloc -#include "asm/d/a/d_a_alink/cancelHookshotShot__9daAlink_cFv.s" +void daAlink_c::cancelHookshotShot() { + if (checkHookshotItem(mEquipItem) && + (mHookshotMode == 3 || mHookshotMode == 5 || mHookshotMode == 4)) { + if (mActionID != 0xC5 && mActionID != 0xC6 && mActionID != 0xC4) { + mHookshotMode = 6; + } + } } -#pragma pop /* 80108F64-8010903C 1038A4 00D8+00 4/4 0/0 0/0 .text cancelHookshotMove__9daAlink_cFv */ +// checkAttentionLock has weird codegen +#ifdef NONMATCHING +bool daAlink_c::cancelHookshotMove() { + if (mFastShotTime == 0 && mHookshotMode == 0) { + if (checkHookshotAnime() && + (mTargetedActor == NULL && !i_checkAttentionLock() || !itemButton())) { + resetUpperAnime(UPPER_NOW, -1.0f); + return 1; + } + } + + return 0; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::cancelHookshotMove() { +asm bool daAlink_c::cancelHookshotMove() { nofralloc #include "asm/d/a/d_a_alink/cancelHookshotMove__9daAlink_cFv.s" } #pragma pop +#endif /* 8010903C-80109070 10397C 0034+00 2/2 0/0 0/0 .text * checkHookshotReadyMaterialOffMode__9daAlink_cCFv */ @@ -32167,10 +32211,6 @@ asm void daAlink_c::checkWolfLandAction(int param_0) { } #pragma pop -inline bool i_dComIfGp_checkPlayerStatus1(int param_0, u32 flag) { - return g_dComIfG_gameInfo.play.checkPlayerStatus(param_0, 1, flag); -} - /* 80129958-801299A8 124298 0050+00 1/1 0/0 1/1 .text checkMidnaUseAbility__9daAlink_cCFv */ BOOL daAlink_c::checkMidnaUseAbility() const { @@ -35901,8 +35941,8 @@ bool daPy_py_c::getDpdFarFlg() const { } /* 8014188C-80141894 13C1CC 0008+00 1/0 0/0 0/0 .text getHookshotTopPos__9daPy_py_cFv */ -bool daPy_py_c::getHookshotTopPos() { - return false; +cXyz* daPy_py_c::getHookshotTopPos() { + return NULL; } /* 80141894-8014189C 13C1D4 0008+00 1/0 0/0 0/0 .text checkHookshotReturnMode__9daPy_py_cCFv */ diff --git a/src/d/a/d_a_npc.cpp b/src/d/a/d_a_npc.cpp index 589f0076cd..f447131223 100644 --- a/src/d/a/d_a_npc.cpp +++ b/src/d/a/d_a_npc.cpp @@ -4,32 +4,16 @@ // #include "d/a/d_a_npc.h" +#include "d/d_procname.h" #include "dol2asm.h" #include "dolphin/types.h" +#include "m_Do/m_Do_mtx.h" +#include "rel/d/a/npc/d_a_npc_tk/d_a_npc_tk.h" // // Types: // -struct mDoMtx_stack_c { - /* 8000CD64 */ void transS(cXyz const&); - /* 8000CD9C */ void transM(f32, f32, f32); - /* 8000CE70 */ void scaleM(cXyz const&); - /* 8000CE9C */ void XYZrotS(csXyz const&); - /* 8000CED4 */ void XYZrotM(csXyz const&); - /* 8000CF0C */ void ZXYrotS(csXyz const&); - /* 8000CF44 */ void ZXYrotM(csXyz const&); - - static u8 now[48]; -}; - -struct mDoExt_McaMorfSO { - /* 80010E70 */ void setAnm(J3DAnmTransform*, int, f32, f32, f32, f32); - /* 800110B0 */ void play(u32, s8); - /* 800111C0 */ void entryDL(); - /* 800111EC */ void modelCalc(); -}; - struct daNpcT_Hermite_c { /* 8014CBAC */ ~daNpcT_Hermite_c(); }; @@ -53,80 +37,6 @@ struct daNpcT_MatAnm_c { /* 8014D24C */ ~daNpcT_MatAnm_c(); }; -struct daNpcF_c { - struct daNpcF_anmPlayData {}; - - /* 80152014 */ void execute(); - /* 801522AC */ void draw(int, int, f32, _GXColorS10*, int); - /* 80152614 */ void tgHitCallBack(fopAc_ac_c*, dCcD_GObjInf*, fopAc_ac_c*, dCcD_GObjInf*); - /* 80152654 */ void srchAttnActor1(void*, void*); - /* 801526E8 */ void srchActor(void*, void*); - /* 8015276C */ void setMtx(); - /* 801527FC */ void setMtx2(); - /* 801528C8 */ void initialize(); - /* 80152B2C */ void getTrnsfrmKeyAnmP(char*, int); - /* 80152B68 */ void getTexPtrnAnmP(char*, int); - /* 80152BA4 */ void getTexSRTKeyAnmP(char*, int); - /* 80152BE0 */ void getTevRegKeyAnmP(char*, int); - /* 80152C1C */ void setMcaMorfAnm(J3DAnmTransformKey*, f32, f32, int, int, int); - /* 80152C80 */ void setBckAnm(J3DAnmTransform*, f32, int, int, int, bool); - /* 80152CC4 */ void setBtpAnm(J3DAnmTexPattern*, J3DModelData*, f32, int); - /* 80152D04 */ void setBtkAnm(J3DAnmTextureSRTKey*, J3DModelData*, f32, int); - /* 80152D44 */ void setBrkAnm(J3DAnmTevRegKey*, J3DModelData*, f32, int); - /* 80152D84 */ void setEnvTevColor(); - /* 80152DE0 */ void setRoomNo(); - /* 80152E24 */ void chkEndAnm(f32); - /* 80152EC4 */ void chkEndAnm(J3DFrameCtrl*, f32); - /* 80152F40 */ void playAllAnm(); - /* 80153150 */ void playExpressionAnm(daNpcF_c::daNpcF_anmPlayData***); - /* 80153264 */ void playMotionAnm(daNpcF_c::daNpcF_anmPlayData***); - /* 8015337C */ void setLookatMtx(int, int*, f32); - /* 80153578 */ void hitChk2(dCcD_Cyl*, int, int); - /* 80153658 */ void setDamage(int, int, int); - /* 80153718 */ void ctrlMsgAnm(int&, int&, fopAc_ac_c*, int); - /* 8015387C */ void orderEvent(int, char*, u16, u16, u8, u16); - /* 80153954 */ void changeEvent(char*, char*, u16, u16); - /* 801539F0 */ void chkActorInSight(fopAc_ac_c*, f32); - /* 80153A78 */ void chkActorInArea(fopAc_ac_c*, cXyz, cXyz, s16); - /* 80153BDC */ void chkActorInAttnArea(fopAc_ac_c*, fopAc_ac_c*, int); - /* 80153D1C */ void initTalk(int, fopAc_ac_c**); - /* 80153D84 */ void talkProc(int*, int, fopAc_ac_c**); - /* 80153EF4 */ void turn(s16, f32, int); - /* 801540A4 */ void step(s16, int, int, int); - /* 80154250 */ void setAngle(s16); - /* 80154278 */ void getDistTableIdx(int, int); - /* 801542A0 */ void getEvtAreaTagP(int, int); - /* 8015436C */ void getAttnActorP(int, void* (*)(void*, void*), f32, f32, f32, f32, s16, int, - int); - /* 80154730 */ void chkActorInSight2(fopAc_ac_c*, f32, s16); - /* 80154834 */ void chkPointInArea(cXyz, cXyz, f32, f32, f32, s16); - /* 801548F4 */ void chkPointInArea(cXyz, cXyz, cXyz, s16); - /* 8015496C */ void getAttentionPos(fopAc_ac_c*); - /* 801549E0 */ void chkFindPlayer2(int, s16); - /* 80154BD8 */ void setHitodamaPrtcl(); - /* 80155BB4 */ void setCollisions(); - /* 80155BB8 */ void setAttnPos(); - /* 80155BBC */ void adjustShapeAngle(); - /* 80155BC0 */ bool main(); - /* 80155BC8 */ void setParam(); - /* 80155BCC */ void drawOtherMdls(); - /* 80155BD0 */ bool drawDbgInfo(); - /* 80155BD8 */ bool ctrlBtk(); - /* 80155BE0 */ bool setExpressionAnm(int, bool); - /* 80155BE8 */ void setMotionAnm(int, f32); - /* 80155BEC */ void setMotion(int, f32, int); - /* 80155BF0 */ void setExpression(int, f32); - /* 80155BF4 */ ~daNpcF_c(); - /* 80155EC8 */ bool setExpressionBtp(int); - - static u8 const mCcDObjInfo[48]; - static u8 mCcDCyl[68]; - static u8 mCcDSph[64]; - static u8 mFindActorPList[400]; - static u8 mFindCount[4]; - static u8 mSrchActorName[2 + 2 /* padding */]; -}; - struct dPath {}; struct daNpcF_SPCurve_c { @@ -179,15 +89,6 @@ struct daNpcF_Lookat_c { /* 80151FE0 */ void clrRotAngle(); }; -struct daNpcF_ActorMngr_c { - /* 801506B0 */ void initialize(); - /* 801506D8 */ void entry(unsigned int); - /* 801506BC */ void entry(fopAc_ac_c*); - /* 801506E0 */ void remove(); - /* 801506EC */ void getActorP(); - /* 80155E40 */ ~daNpcF_ActorMngr_c(); -}; - struct daBaseNpc_path_c { /* 8014D998 */ daBaseNpc_path_c(); /* 8014D9A8 */ void isPath(); @@ -289,10 +190,6 @@ struct dMsgObject_c { /* 802383A4 */ void isMouthCheck(); }; -struct JMath { - static u8 sincosTable_[65536]; -}; - // // Forward References: // @@ -873,7 +770,7 @@ extern "C" extern void* __vt__9cCcD_Stts[8]; extern "C" extern void* __vt__14J3DMaterialAnm[4]; extern "C" u8 now__14mDoMtx_stack_c[48]; extern "C" u8 mSimpleTexObj__21dDlst_shadowControl_c[32]; -extern "C" extern u8 g_env_light[4880]; +extern "C" extern dScnKy_env_light_c g_env_light; extern "C" u8 mCurrentMtx__6J3DSys[48]; extern "C" u8 sincosTable___5JMath[65536]; extern "C" u8 Zero__5csXyz[4]; @@ -884,46 +781,32 @@ extern "C" extern u8 data_80451164[4]; // /* 801456D4-801456E0 140014 000C+00 1/1 0/0 159/159 .text initialize__18daNpcT_ActorMngr_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daNpcT_ActorMngr_c::initialize() { - nofralloc -#include "asm/d/a/d_a_npc/initialize__18daNpcT_ActorMngr_cFv.s" +void daNpcT_ActorMngr_c::initialize() { + mActorID = -1; } -#pragma pop /* 801456E0-801456FC 140020 001C+00 1/1 0/0 160/160 .text * entry__18daNpcT_ActorMngr_cFP10fopAc_ac_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daNpcT_ActorMngr_c::entry(fopAc_ac_c* param_0) { - nofralloc -#include "asm/d/a/d_a_npc/entry__18daNpcT_ActorMngr_cFP10fopAc_ac_c.s" +void daNpcT_ActorMngr_c::entry(fopAc_ac_c* actor) { + mActorID = fopAcM_GetID(actor); } -#pragma pop /* 801456FC-80145708 14003C 000C+00 1/1 0/0 382/382 .text remove__18daNpcT_ActorMngr_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daNpcT_ActorMngr_c::remove() { - nofralloc -#include "asm/d/a/d_a_npc/remove__18daNpcT_ActorMngr_cFv.s" +void daNpcT_ActorMngr_c::remove() { + mActorID = -1; } -#pragma pop /* 80145708-80145764 140048 005C+00 2/2 1/1 233/233 .text getActorP__18daNpcT_ActorMngr_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daNpcT_ActorMngr_c::getActorP() { - nofralloc -#include "asm/d/a/d_a_npc/getActorP__18daNpcT_ActorMngr_cFv.s" +fopAc_ac_c* daNpcT_ActorMngr_c::getActorP() { + fopAc_ac_c* actor = NULL; + + if (fopAcM_SearchByID(mActorID, &actor) == 1 && actor != NULL && fopAcM_IsActor(actor)) { + return actor; + } + + return NULL; } -#pragma pop /* ############################################################################################## */ /* 804533D8-804533DC 0019D8 0004+00 54/54 0/0 0/0 .sdata2 @4116 */ @@ -968,35 +851,66 @@ SECTION_SDATA2 static f32 lit_4148 = -1.0f; /* 80145898-801458C0 1401D8 0028+00 4/4 0/0 533/533 .text initialize__22daNpcT_MotionSeqMngr_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daNpcT_MotionSeqMngr_c::initialize() { - nofralloc -#include "asm/d/a/d_a_npc/initialize__22daNpcT_MotionSeqMngr_cFv.s" +void daNpcT_MotionSeqMngr_c::initialize() { + mNo = 0; + mOffset = 0; + mStepNo = 0; + field_0x14 = -1; + field_0x18 = lit_4148; + mEndSequence = false; } -#pragma pop /* 801458C0-80145A24 140200 0164+00 2/2 0/0 2/2 .text play__22daNpcT_MotionSeqMngr_cFUsPiPf */ +// matches with literals +#ifdef NONMATCHING +int daNpcT_MotionSeqMngr_c::play(u16 param_0, int* param_1, f32* param_2) { + int ret = 0; + + if (field_0x14 == mStepNo && mStepNo < field_0x4) { + if ((&mpSeqData[mNo * field_0x4])[mStepNo].field_0x0 != -1) { + s8 tmp = (&mpSeqData[mNo * field_0x4])[mStepNo].field_0x3; + + if (tmp > 0 && tmp <= param_0) { + mStepNo++; + } else if (tmp == 0 && param_0 != 0) { + mEndSequence = true; + } + } + } + + if (field_0x14 != mStepNo && mStepNo < field_0x4) { + if ((&mpSeqData[mNo * field_0x4])[mStepNo].field_0x0 != -1) { + *param_1 = (&mpSeqData[mNo * field_0x4])[mStepNo].field_0x0; + *param_2 = (&mpSeqData[mNo * field_0x4])[mStepNo].field_0x2; + + if (field_0x14 == -1 && -1.0f < field_0x18) { + *param_2 = field_0x18; + } + ret = 1; + } else { + mEndSequence = true; + } + } + + field_0x14 = mStepNo; + return ret; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daNpcT_MotionSeqMngr_c::play(u16 param_0, int* param_1, f32* param_2) { +asm int daNpcT_MotionSeqMngr_c::play(u16 param_0, int* param_1, f32* param_2) { nofralloc #include "asm/d/a/d_a_npc/play__22daNpcT_MotionSeqMngr_cFUsPiPf.s" } #pragma pop +#endif /* 80145A24-80145A38 140364 0014+00 0/0 0/0 43/43 .text * checkEndSequence__22daNpcT_MotionSeqMngr_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daNpcT_MotionSeqMngr_c::checkEndSequence() { - nofralloc -#include "asm/d/a/d_a_npc/checkEndSequence__22daNpcT_MotionSeqMngr_cFv.s" +s32 daNpcT_MotionSeqMngr_c::checkEndSequence() { + return mEndSequence == true; } -#pragma pop /* 80145A38-80145A78 140378 0040+00 2/2 0/0 0/0 .text daNpcT_addIdx__FiiRUsi */ #pragma push @@ -1512,14 +1426,10 @@ static asm void daNpcT_chkPassed(cXyz param_0, dPnt* param_1, u16 param_2, u16 p /* 80146C98-80146CD8 1415D8 0040+00 0/0 0/0 121/121 .text initialize__15daNpcT_JntAnm_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daNpcT_JntAnm_c::initialize() { - nofralloc -#include "asm/d/a/d_a_npc/initialize__15daNpcT_JntAnm_cFv.s" +void daNpcT_JntAnm_c::initialize() { + mActrMngr.initialize(); + memset(&field_0x14, 0, (u32)&field_0x158 - (u32)&field_0x14); } -#pragma pop /* ############################################################################################## */ /* 80453408-80453410 001A08 0008+00 8/8 0/0 0/0 .sdata2 @4723 */ @@ -1631,225 +1541,358 @@ asm void daNpcT_c::tgHitCallBack(fopAc_ac_c* param_0, dCcD_GObjInf* param_1, fop /* ############################################################################################## */ /* 80425708-804257D0 052428 00C8+00 4/4 0/0 40/40 .bss mFindActorPtrs__8daNpcT_c */ -u8 daNpcT_c::mFindActorPtrs[200]; +fopAc_ac_c* daNpcT_c::mFindActorPtrs[50]; /* 80450FD8-80450FDC 0004D8 0002+02 4/4 0/0 2/2 .sbss mSrchName__8daNpcT_c */ -u8 daNpcT_c::mSrchName[2 + 2 /* padding */]; +s16 daNpcT_c::mSrchName; /* 80450FDC-80450FE0 0004DC 0004+00 4/4 0/0 42/42 .sbss mFindCount__8daNpcT_c */ -u8 daNpcT_c::mFindCount[4]; +s32 daNpcT_c::mFindCount; /* 80147FD4-80148058 142914 0084+00 3/3 0/0 2/2 .text srchActor__8daNpcT_cFPvPv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daNpcT_c::srchActor(void* param_0, void* param_1) { - nofralloc -#include "asm/d/a/d_a_npc/srchActor__8daNpcT_cFPvPv.s" +int daNpcT_c::srchActor(void* actor, void* param_1) { + if (mFindCount < 50 && fopAcM_IsActor(actor) && actor != param_1) { + if (mSrchName == fopAcM_GetName((fopAc_ac_c*)actor)) { + mFindActorPtrs[mFindCount] = (fopAc_ac_c*)actor; + mFindCount++; + } + } + + return 0; } -#pragma pop /* 80148058-80148094 142998 003C+00 1/1 0/0 7/7 .text getTrnsfrmAnmP__8daNpcT_cFPCci */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daNpcT_c::getTrnsfrmAnmP(char const* param_0, int param_1) { - nofralloc -#include "asm/d/a/d_a_npc/getTrnsfrmAnmP__8daNpcT_cFPCci.s" +J3DAnmTransform* daNpcT_c::getTrnsfrmAnmP(char const* arcName, int fileIdx) { + return (J3DAnmTransform*)dComIfG_getObjectRes(arcName, fileIdx); } -#pragma pop /* 80148094-801480D0 1429D4 003C+00 1/1 0/0 11/11 .text getTrnsfrmKeyAnmP__8daNpcT_cFPCci */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daNpcT_c::getTrnsfrmKeyAnmP(char const* param_0, int param_1) { - nofralloc -#include "asm/d/a/d_a_npc/getTrnsfrmKeyAnmP__8daNpcT_cFPCci.s" +J3DAnmTransformKey* daNpcT_c::getTrnsfrmKeyAnmP(char const* arcName, int fileIdx) { + return (J3DAnmTransformKey*)dComIfG_getObjectRes(arcName, fileIdx); } -#pragma pop /* 801480D0-8014810C 142A10 003C+00 1/1 0/0 1/1 .text getTexPtrnAnmP__8daNpcT_cFPCci */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daNpcT_c::getTexPtrnAnmP(char const* param_0, int param_1) { - nofralloc -#include "asm/d/a/d_a_npc/getTexPtrnAnmP__8daNpcT_cFPCci.s" +J3DAnmTexPattern* daNpcT_c::getTexPtrnAnmP(char const* arcName, int fileIdx) { + return (J3DAnmTexPattern*)dComIfG_getObjectRes(arcName, fileIdx); } -#pragma pop /* 8014810C-80148148 142A4C 003C+00 1/1 0/0 7/7 .text getTexSRTKeyAnmP__8daNpcT_cFPCci */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daNpcT_c::getTexSRTKeyAnmP(char const* param_0, int param_1) { - nofralloc -#include "asm/d/a/d_a_npc/getTexSRTKeyAnmP__8daNpcT_cFPCci.s" +J3DAnmTextureSRTKey* daNpcT_c::getTexSRTKeyAnmP(char const* arcName, int fileIdx) { + return (J3DAnmTextureSRTKey*)dComIfG_getObjectRes(arcName, fileIdx); } -#pragma pop /* 80148148-80148184 142A88 003C+00 0/0 0/0 9/9 .text getTevRegKeyAnmP__8daNpcT_cFPCci */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daNpcT_c::getTevRegKeyAnmP(char const* param_0, int param_1) { - nofralloc -#include "asm/d/a/d_a_npc/getTevRegKeyAnmP__8daNpcT_cFPCci.s" +J3DAnmTevRegKey* daNpcT_c::getTevRegKeyAnmP(char const* arcName, int fileIdx) { + return (J3DAnmTevRegKey*)dComIfG_getObjectRes(arcName, fileIdx); } -#pragma pop /* 80148184-801481C0 142AC4 003C+00 0/0 0/0 2/2 .text getColorAnmP__8daNpcT_cFPCci */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daNpcT_c::getColorAnmP(char const* param_0, int param_1) { - nofralloc -#include "asm/d/a/d_a_npc/getColorAnmP__8daNpcT_cFPCci.s" +J3DAnmColor* daNpcT_c::getColorAnmP(char const* arcName, int fileIdx) { + return (J3DAnmColor*)dComIfG_getObjectRes(arcName, fileIdx); } -#pragma pop /* 801481C0-80148204 142B00 0044+00 1/1 0/0 0/0 .text setBckAnm__8daNpcT_cFP15J3DAnmTransformfiiib */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daNpcT_c::setBckAnm(J3DAnmTransform* param_0, f32 param_1, int param_2, int param_3, - int param_4, bool param_5) { - nofralloc -#include "asm/d/a/d_a_npc/setBckAnm__8daNpcT_cFP15J3DAnmTransformfiiib.s" +void daNpcT_c::setBckAnm(J3DAnmTransform* bck, f32 rate, int attr, int startF, int endF, + bool modify) { + mBckAnm.init(bck, TRUE, attr, rate, startF, endF, modify); } -#pragma pop /* 80148204-801482F8 142B44 00F4+00 1/1 0/0 1/1 .text * setMcaMorfAnm__8daNpcT_cFP18J3DAnmTransformKeyffiii */ +// matches with literals +#ifdef NONMATCHING +int daNpcT_c::setMcaMorfAnm(J3DAnmTransformKey* bck, f32 morf, f32 frame, int mode, int startF, + int endF) { + f32 start = startF; + f32 end = endF; + + mMcaMorfAnm[0]->setAnm(bck, mode, frame, morf, start, end); + + if (mMcaMorfAnm[1] != NULL) { + mMcaMorfAnm[1]->setAnm(bck, mode, frame, morf, start, end); + } + + return 1; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daNpcT_c::setMcaMorfAnm(J3DAnmTransformKey* param_0, f32 param_1, f32 param_2, int param_3, - int param_4, int param_5) { +asm int daNpcT_c::setMcaMorfAnm(J3DAnmTransformKey* param_0, f32 param_1, f32 param_2, int param_3, + int param_4, int param_5) { nofralloc #include "asm/d/a/d_a_npc/setMcaMorfAnm__8daNpcT_cFP18J3DAnmTransformKeyffiii.s" } #pragma pop +#endif /* 801482F8-80148338 142C38 0040+00 1/1 0/0 1/1 .text * setBtpAnm__8daNpcT_cFP16J3DAnmTexPatternP12J3DModelDatafi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daNpcT_c::setBtpAnm(J3DAnmTexPattern* param_0, J3DModelData* param_1, f32 param_2, - int param_3) { - nofralloc -#include "asm/d/a/d_a_npc/setBtpAnm__8daNpcT_cFP16J3DAnmTexPatternP12J3DModelDatafi.s" +void daNpcT_c::setBtpAnm(J3DAnmTexPattern* param_0, J3DModelData* modelData, f32 param_2, + int param_3) { + mBtpAnm.init(modelData, param_0, 1, param_3, param_2, 0, -1); } -#pragma pop /* 80148338-80148378 142C78 0040+00 1/1 0/0 6/6 .text * setBtkAnm__8daNpcT_cFP19J3DAnmTextureSRTKeyP12J3DModelDatafi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daNpcT_c::setBtkAnm(J3DAnmTextureSRTKey* param_0, J3DModelData* param_1, f32 param_2, - int param_3) { - nofralloc -#include "asm/d/a/d_a_npc/setBtkAnm__8daNpcT_cFP19J3DAnmTextureSRTKeyP12J3DModelDatafi.s" +void daNpcT_c::setBtkAnm(J3DAnmTextureSRTKey* param_0, J3DModelData* modelData, f32 param_2, + int param_3) { + mBtkAnm.init(modelData, param_0, 1, param_3, param_2, 0, -1); } -#pragma pop /* 80148378-801483B8 142CB8 0040+00 0/0 0/0 9/9 .text * setBrkAnm__8daNpcT_cFP15J3DAnmTevRegKeyP12J3DModelDatafi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daNpcT_c::setBrkAnm(J3DAnmTevRegKey* param_0, J3DModelData* param_1, f32 param_2, - int param_3) { - nofralloc -#include "asm/d/a/d_a_npc/setBrkAnm__8daNpcT_cFP15J3DAnmTevRegKeyP12J3DModelDatafi.s" +void daNpcT_c::setBrkAnm(J3DAnmTevRegKey* param_0, J3DModelData* modelData, f32 param_2, + int param_3) { + mBrkAnm.init(modelData, param_0, 1, param_3, param_2, 0, -1); } -#pragma pop /* 801483B8-801483F8 142CF8 0040+00 0/0 0/0 2/2 .text * setBpkAnm__8daNpcT_cFP11J3DAnmColorP12J3DModelDatafi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daNpcT_c::setBpkAnm(J3DAnmColor* param_0, J3DModelData* param_1, f32 param_2, - int param_3) { - nofralloc -#include "asm/d/a/d_a_npc/setBpkAnm__8daNpcT_cFP11J3DAnmColorP12J3DModelDatafi.s" +void daNpcT_c::setBpkAnm(J3DAnmColor* param_0, J3DModelData* modelData, f32 param_2, int param_3) { + mBpkAnm.init(modelData, param_0, 1, param_3, param_2, 0, -1); } -#pragma pop /* 801483F8-801484AC 142D38 00B4+00 0/0 0/0 58/58 .text loadRes__8daNpcT_cFPCScPPCc */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daNpcT_c::loadRes(s8 const* param_0, char const** param_1) { - nofralloc -#include "asm/d/a/d_a_npc/loadRes__8daNpcT_cFPCScPPCc.s" +int daNpcT_c::loadRes(s8 const* resNoList, char const** resNameList) { + for (int resLoad_cnt = 0, i = 0; i < 10; i++) { + if (resNoList[i] == -1) { + if (i != resLoad_cnt) { + break; + } + return cPhs_COMPLEATE_e; + } + + int status = dComIfG_resLoad(&field_0x8e0[i], resNameList[resNoList[i]]); + if (status == cPhs_COMPLEATE_e) { + resLoad_cnt++; + } + + if (status == cPhs_ERROR_e || status == 3) { + return cPhs_ERROR_e; + } + } + + return cPhs_ZERO_e; } -#pragma pop /* 801484AC-8014852C 142DEC 0080+00 0/0 0/0 58/58 .text deleteRes__8daNpcT_cFPCScPPCc */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daNpcT_c::deleteRes(s8 const* param_0, char const** param_1) { - nofralloc -#include "asm/d/a/d_a_npc/deleteRes__8daNpcT_cFPCScPPCc.s" +void daNpcT_c::deleteRes(s8 const* resNoList, char const** resNameList) { + for (int i = 0; i < 10 && resNoList[i] != -1; i++) { + dComIfG_resDelete(&field_0x8e0[i], resNameList[resNoList[i]]); + } } -#pragma pop /* ############################################################################################## */ /* 80453440-80453444 001A40 0004+00 3/3 0/0 0/0 .sdata2 @5667 */ SECTION_SDATA2 static f32 lit_5667 = -1000000000.0f; +inline dEvt_control_c& dComIfGp_getEvent() { + return g_dComIfG_gameInfo.play.getEvent(); +} + +inline BOOL dComIfGp_event_runCheck() { + return g_dComIfG_gameInfo.play.getEvent().runCheck(); +} + /* 8014852C-8014886C 142E6C 0340+00 0/0 0/0 59/59 .text execute__8daNpcT_cFv */ +// matches with literals +#ifdef NONMATCHING +int daNpcT_c::execute() { + setParam(); + if (!evtProc()) { + action(); + } + + beforeMove(); + fopAcM_posMoveF(this, field_0x864.GetCCMoveP()); + field_0x68c.CrrPos(dComIfG_Bgsp()); + field_0x930 = field_0x68c.m_gnd; + field_0xdca = fopAcM_getPolygonAngle(field_0x930, mCurrent.mAngle.y); + field_0xdf4 = field_0x68c.GetGroundH(); + if (field_0xdf4 != -1000000000.0f) { + field_0xda8 = dKy_pol_sound_get(&field_0x68c.m_gnd); + field_0xe24 = dComIfGp_getReverb(field_0x864.GetRoomId()); + + if (field_0x68c.ChkWaterHit() && field_0x68c.m_wtr.GetHeight() > field_0xdf4) { + field_0xda8 = dKy_pol_sound_get(&field_0x68c.m_wtr); + } + } + + afterMoved(); + if (field_0xdf4 != -1000000000.0f) { + setEnvTevColor(); + setRoomNo(); + } + + if (field_0xb50.checkEntryNewMotion()) { + ctrlFaceMotion(); + ctrlSubFaceMotion(1); + } + + if (field_0xb74.checkEntryNewMotion()) { + ctrlMotion(); + } + + playAllAnm(); + ctrlFaceMotion(); + ctrlSubFaceMotion(0); + ctrlMotion(); + setAttnPos(); + cLib_chaseF(&field_0xdfc, 0.0f, 1.0f); + twilight(); + setCollision(); + + if (!field_0xe2c) { + if ((field_0xe33 && dComIfGp_getEvent().i_isOrderOK()) || !dComIfGp_event_runCheck()) { + evtOrder(); + } + } + + clrParam(); + decTmr(); + return 1; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daNpcT_c::execute() { +asm int daNpcT_c::execute() { nofralloc #include "asm/d/a/d_a_npc/execute__8daNpcT_cFv.s" } #pragma pop +#endif /* ############################################################################################## */ /* 80453444-80453448 001A44 0004+00 3/3 0/0 0/0 .sdata2 @5794 */ SECTION_SDATA2 static f32 lit_5794 = 20.0f; /* 8014886C-80148C70 1431AC 0404+00 0/0 0/0 58/58 .text draw__8daNpcT_cFiifP11_GXColorS10fiii */ +// close. literals + few wrong areas +#ifdef NONMATCHING +int daNpcT_c::draw(int param_0, int param_1, f32 param_2, GXColorS10* color, f32 param_4, + int param_5, int param_6, int param_7) { + J3DModel* model = mMcaMorfAnm[0]->getModel(); + J3DModelData* modelData = model->getModelData(); + field_0xe34 = 1; + + if (drawDbgInfo() || checkHide() || field_0xe2b) { + return 1; + } + + mTevStr.field_0x358 = 0; + mTevStr.field_0x35a = 0; + mTevStr.field_0x35c = 0; + mTevStr.field_0x35e = 0; + + if (color != NULL) { + mTevStr.field_0x358 = color->r; + mTevStr.field_0x35a = color->g; + mTevStr.field_0x35c = color->b; + mTevStr.field_0x35e = color->a; + } + + if (field_0xdb8 != 0 && mTimer != 0) { + f32 r = (f32)field_0xdb8 / (f32)mTimer; + if (!cM3d_IsZero(r)) { + mTevStr.field_0x358 = r * 20.0f; + } + } else if (param_0 != 0) { + mTevStr.field_0x35a = 20; + } + + if (field_0xd98 & 0x800) { + mBtpAnm.entry(modelData); + } + + if (field_0xd98 & 0x80) { + mBtkAnm.entry(modelData); + } + + if (field_0xd98 & 0x100) { + mBrkAnm.entry(modelData); + } + + if (field_0xd98 & 0x200) { + mBpkAnm.entry(modelData); + } + + if (param_1 != 0) { + fopAcM_setEffectMtx(this, modelData); + } + + if (param_5 != 0) { + drawGhost(); + } else if (field_0xa89 != 0) { + g_env_light.settingTevStruct(4, &mCurrent.mPosition, &mTevStr); + g_env_light.setLightTevColorType_MAJI(modelData, &mTevStr); + dComIfGd_setListDark(); + mMcaMorfAnm[0]->entryDL(); + dComIfGd_setList(); + } else { + g_env_light.settingTevStruct(0, &mCurrent.mPosition, &mTevStr); + g_env_light.setLightTevColorType_MAJI(modelData, &mTevStr); + mMcaMorfAnm[0]->entryDL(); + } + + if (field_0xd98 & 0x800) { + mBtpAnm.remove(modelData); + } + + if (field_0xd98 & 0x80) { + mBtkAnm.remove(modelData); + } + + if (field_0xd98 & 0x100) { + mBrkAnm.remove(modelData); + } + + if (field_0xd98 & 0x200) { + mBpkAnm.remove(modelData); + } + + if (param_6 == 0) { + if (param_7 == 0) { + field_0xd94 = dComIfGd_setShadow( + field_0xd94, 1, model, &mCurrent.mPosition, param_2, param_4, mCurrent.mPosition.y, + field_0xdf4, field_0x930, &mTevStr, 0, 1.0f, dDlst_shadowControl_c::getSimpleTex()); + } else { + dComIfGd_setSimpleShadow(&mCurrent.mPosition, field_0xdf4, param_4, field_0x930, 0, + 1.0f, dDlst_shadowControl_c::getSimpleTex()); + } + } + + drawOtherMdl(); + return 1; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daNpcT_c::draw(int param_0, int param_1, f32 param_2, _GXColorS10* param_3, f32 param_4, - int param_5, int param_6, int param_7) { +asm int daNpcT_c::draw(int param_0, int param_1, f32 param_2, _GXColorS10* param_3, f32 param_4, + int param_5, int param_6, int param_7) { nofralloc #include "asm/d/a/d_a_npc/draw__8daNpcT_cFiifP11_GXColorS10fiii.s" } #pragma pop +#endif /* 80148C70-80148CCC 1435B0 005C+00 1/1 0/0 58/58 .text setEnvTevColor__8daNpcT_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daNpcT_c::setEnvTevColor() { - nofralloc -#include "asm/d/a/d_a_npc/setEnvTevColor__8daNpcT_cFv.s" +void daNpcT_c::setEnvTevColor() { + mTevStr.field_0x381 = dComIfG_Bgsp().GetPolyColor(field_0x930); + mTevStr.field_0x380 = dComIfG_Bgsp().GetRoomId(field_0x930); } -#pragma pop /* 80148CCC-80148D10 14360C 0044+00 1/1 0/0 58/58 .text setRoomNo__8daNpcT_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daNpcT_c::setRoomNo() { - nofralloc -#include "asm/d/a/d_a_npc/setRoomNo__8daNpcT_cFv.s" +void daNpcT_c::setRoomNo() { + int roomId = dComIfG_Bgsp().GetRoomId(field_0x930); + + fopAcM_SetRoomNo(this, roomId); + field_0x864.SetRoomId(roomId); } -#pragma pop /* 80148D10-80148DD0 143650 00C0+00 1/1 0/0 0/0 .text checkEndAnm__8daNpcT_cFf */ #pragma push @@ -1892,14 +1935,28 @@ asm void daNpcT_c::ctrlBtk() { #pragma pop /* 80149190-8014924C 143AD0 00BC+00 0/0 0/0 57/57 .text setMtx__8daNpcT_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daNpcT_c::setMtx() { - nofralloc -#include "asm/d/a/d_a_npc/setMtx__8daNpcT_cFv.s" +void daNpcT_c::setMtx() { + J3DModel* model = mMcaMorfAnm[0]->getModel(); + J3DModelData* modelData = model->getModelData(); + + mDoMtx_stack_c::transS(mCurrent.mPosition); + mDoMtx_stack_c::ZXYrotM(field_0xd78); + mDoMtx_stack_c::scaleM(mScale); + + model->i_setBaseTRMtx(mDoMtx_stack_c::get()); + model->setUserArea((u32)this); + + mMcaMorfAnm[0]->onMorfNone(); + if (cM3d_IsZero(field_0xdfc) != 0) { + mMcaMorfAnm[0]->offMorfNone(); + } + + if (field_0xd98 & 0x400) { + mBckAnm.getBckAnm()->setFrame(mBckAnm.getFrame()); + } + + mMcaMorfAnm[0]->modelCalc(); } -#pragma pop /* 8014924C-80149300 143B8C 00B4+00 1/1 0/0 0/0 .text ctrlFaceMotion__8daNpcT_cFv */ #pragma push @@ -1953,7 +2010,7 @@ SECTION_DEAD static char const* const stringBase_80392710 = "DEFAULT_GETITEM"; #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daNpcT_c::evtProc() { +asm int daNpcT_c::evtProc() { nofralloc #include "asm/d/a/d_a_npc/evtProc__8daNpcT_cFv.s" } @@ -1986,14 +2043,14 @@ bool daNpcT_c::checkCullDraw() { } /* 8014A064-8014A0B0 1449A4 004C+00 1/0 1/0 60/0 .text twilight__8daNpcT_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daNpcT_c::twilight() { - nofralloc -#include "asm/d/a/d_a_npc/twilight__8daNpcT_cFv.s" +void daNpcT_c::twilight() { + if (field_0xa89 != 0) { + mAttentionInfo.mFlags |= 0x400000; + field_0xe2b = 0; + mAttentionInfo.mFlags |= 0x800000; + setHitodamaPrtcl(); + } } -#pragma pop /* 8014A0B0-8014A224 1449F0 0174+00 1/0 1/0 59/0 .text evtOrder__8daNpcT_cFv */ #pragma push @@ -2016,14 +2073,12 @@ asm void daNpcT_c::evtChange() { #pragma pop /* 8014A324-8014A388 144C64 0064+00 1/0 1/0 60/0 .text clrParam__8daNpcT_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daNpcT_c::clrParam() { - nofralloc -#include "asm/d/a/d_a_npc/clrParam__8daNpcT_cFv.s" +void daNpcT_c::clrParam() { + field_0xd7e = field_0xd78; + mCutType = 0; + memset(&field_0xe30, 0, (u32)&field_0xe38 - (u32)&field_0xe30); + field_0xba8.clrDirectFlag(); } -#pragma pop /* 8014A388-8014A628 144CC8 02A0+00 1/1 0/0 57/57 .text setFaceMotionAnm__8daNpcT_cFib */ #pragma push @@ -2050,44 +2105,52 @@ asm void daNpcT_c::setMotionAnm(int param_0, f32 param_1, int param_2) { SECTION_SDATA2 static f32 lit_6667 = 300.0f; /* 8014A908-8014A99C 145248 0094+00 0/0 0/0 40/40 .text setPos__8daNpcT_cF4cXyz */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daNpcT_c::setPos(cXyz param_0) { - nofralloc -#include "asm/d/a/d_a_npc/setPos__8daNpcT_cF4cXyz.s" +void daNpcT_c::setPos(cXyz i_pos) { + i_pos.y += 300.0f; + field_0x930.SetPos(&i_pos); + i_pos.y = dComIfG_Bgsp().GroundCross(&field_0x930); + + mCurrent.mPosition = i_pos; + mNext.mPosition = mCurrent.mPosition; } -#pragma pop /* 8014A99C-8014AA18 1452DC 007C+00 0/0 0/0 29/29 .text setAngle__8daNpcT_cF5csXyz */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daNpcT_c::setAngle(csXyz param_0) { - nofralloc -#include "asm/d/a/d_a_npc/setAngle__8daNpcT_cF5csXyz.s" +void daNpcT_c::setAngle(csXyz i_angle) { + mCurrent.mAngle = i_angle; + mCollisionRot = mCurrent.mAngle; + field_0xd78 = mCurrent.mAngle; + field_0xd7e = field_0xd78; + mNext.mAngle = mCurrent.mAngle; } -#pragma pop /* 8014AA18-8014AA40 145358 0028+00 0/0 0/0 138/138 .text setAngle__8daNpcT_cFs */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daNpcT_c::setAngle(s16 param_0) { - nofralloc -#include "asm/d/a/d_a_npc/setAngle__8daNpcT_cFs.s" +void daNpcT_c::setAngle(s16 i_angle) { + mCurrent.mAngle.y = i_angle; + mCollisionRot.y = mCurrent.mAngle.y; + field_0xd78.y = mCurrent.mAngle.y; + field_0xd7e.y = field_0xd78.y; + mNext.mAngle.y = mCurrent.mAngle.y; } -#pragma pop /* 8014AA40-8014AAD0 145380 0090+00 0/0 0/0 33/33 .text hitChk__8daNpcT_cFP12dCcD_GObjInfUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daNpcT_c::hitChk(dCcD_GObjInf* param_0, u32 param_1) { - nofralloc -#include "asm/d/a/d_a_npc/hitChk__8daNpcT_cFP12dCcD_GObjInfUl.s" +fopAc_ac_c* daNpcT_c::hitChk(dCcD_GObjInf* i_objInf, u32 param_1) { + dCcD_Stts* stts = (dCcD_Stts*)i_objInf->GetStts(); + stts->Move(); + + if (mTimer == 0) { + fopAc_ac_c* hitAc = i_objInf->GetTgHitAc(); + + if (hitAc != NULL) { + if (fopAcM_GetName(hitAc) == PROC_NPC_TK && param_1 & 1) { + ((daNPC_TK_c*)hitAc)->setBump(); + return hitAc; + } + return hitAc; + } + } + + return NULL; } -#pragma pop /* 8014AAD0-8014ABD0 145410 0100+00 0/0 0/0 27/27 .text setDamage__8daNpcT_cFiii */ #pragma push @@ -2498,14 +2561,11 @@ asm daNpcT_Hermite_c::~daNpcT_Hermite_c() { #pragma pop /* 8014CBF4-8014CC0C 147534 0018+00 1/0 1/0 0/0 .text decTmr__8daNpcT_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daNpcT_c::decTmr() { - nofralloc -#include "asm/d/a/d_a_npc/decTmr__8daNpcT_cFv.s" +void daNpcT_c::decTmr() { + if (mTimer != 0) { + mTimer--; + } } -#pragma pop /* 8014CC0C-8014CC10 14754C 0004+00 1/0 1/0 0/0 .text setCollision__8daNpcT_cFv */ void daNpcT_c::setCollision() { @@ -2553,7 +2613,7 @@ void daNpcT_c::drawGhost() { } /* 8014CC30-8014CC38 147570 0008+00 1/0 1/0 0/0 .text drawDbgInfo__8daNpcT_cFv */ -bool daNpcT_c::drawDbgInfo() { +int daNpcT_c::drawDbgInfo() { return false; } @@ -4621,7 +4681,8 @@ void daNpcF_c::setExpression(int param_0, f32 param_1) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm daNpcF_c::~daNpcF_c() { +// asm daNpcF_c::~daNpcF_c() { +extern "C" asm void __dt__8daNpcF_cFv() { nofralloc #include "asm/d/a/d_a_npc/__dt__8daNpcF_cFv.s" } @@ -4631,7 +4692,8 @@ asm daNpcF_c::~daNpcF_c() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm daNpcF_ActorMngr_c::~daNpcF_ActorMngr_c() { +// asm daNpcF_ActorMngr_c::~daNpcF_ActorMngr_c() { +extern "C" asm void __dt__18daNpcF_ActorMngr_cFv() { nofralloc #include "asm/d/a/d_a_npc/__dt__18daNpcF_ActorMngr_cFv.s" } diff --git a/src/d/bg/d_bg_s.cpp b/src/d/bg/d_bg_s.cpp index 5516f14d1e..fb90040c4f 100644 --- a/src/d/bg/d_bg_s.cpp +++ b/src/d/bg/d_bg_s.cpp @@ -671,7 +671,7 @@ bool dBgS::GetPolyAttackThrough(cBgS_PolyInfo const& poly) { } /* 800751F8-8007524C 06FB38 0054+00 0/0 1/1 0/0 .text ChkPolyHSStick__4dBgSFRC13cBgS_PolyInfo */ -bool dBgS::ChkPolyHSStick(cBgS_PolyInfo const& poly) { +u32 dBgS::ChkPolyHSStick(cBgS_PolyInfo const& poly) { int bg_index = poly.GetBgIndex(); if (m_chk_element[bg_index].ChkUsed()) { return m_chk_element[bg_index].m_bgw_base_ptr->GetPolyHSStick(poly.GetPolyIndex()); diff --git a/src/d/bg/d_bg_w.cpp b/src/d/bg/d_bg_w.cpp index ba90aee54a..9676d73678 100644 --- a/src/d/bg/d_bg_w.cpp +++ b/src/d/bg/d_bg_w.cpp @@ -1076,7 +1076,7 @@ asm void dBgW::GetPolyArrowThrough(int param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm bool dBgW::GetPolyHSStick(int param_0) { +asm u32 dBgW::GetPolyHSStick(int param_0) { nofralloc #include "asm/d/bg/d_bg_w/GetPolyHSStick__4dBgWFi.s" } diff --git a/src/d/bg/d_bg_w_kcol.cpp b/src/d/bg/d_bg_w_kcol.cpp index 4332c70011..a35621f5b4 100644 --- a/src/d/bg/d_bg_w_kcol.cpp +++ b/src/d/bg/d_bg_w_kcol.cpp @@ -15,10 +15,6 @@ struct cM3dGTri { /* 8026F8C8 */ void set(Vec const*, Vec const*, Vec const*, Vec const*); }; -struct JMath { - static u8 sincosTable_[65536]; -}; - // // Forward References: // @@ -690,7 +686,7 @@ asm void dBgWKCol::GetPolyArrowThrough(int param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dBgWKCol::GetPolyHSStick(int param_0) { +asm u32 dBgWKCol::GetPolyHSStick(int param_0) { nofralloc #include "asm/d/bg/d_bg_w_kcol/GetPolyHSStick__8dBgWKColFi.s" } diff --git a/src/d/com/d_com_inf_game.cpp b/src/d/com/d_com_inf_game.cpp index a559d27c22..bc98c495aa 100644 --- a/src/d/com/d_com_inf_game.cpp +++ b/src/d/com/d_com_inf_game.cpp @@ -2503,7 +2503,7 @@ int dComIfGs_wolfeye_effect_check() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dComIfGs_wolfeye_effect_check() { +asm int dComIfGs_wolfeye_effect_check() { nofralloc #include "asm/d/com/d_com_inf_game/dComIfGs_wolfeye_effect_check__Fv.s" } diff --git a/src/d/d_attention.cpp b/src/d/d_attention.cpp index e38167ef3e..a4d6949074 100644 --- a/src/d/d_attention.cpp +++ b/src/d/d_attention.cpp @@ -21,20 +21,6 @@ struct dAttDrawParam_c { /* 80073FC4 */ ~dAttDrawParam_c(); }; -struct Z2SeqMgr { - /* 802B5E88 */ void bgmNowBattle(f32); -}; - -struct JAISoundID {}; - -struct Z2SeMgr { - /* 802AB984 */ void seStart(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8); -}; - -struct Z2AudioMgr { - static u8 mAudioMgrPtr[4 + 4 /* padding */]; -}; - // // Forward References: // diff --git a/src/d/d_camera.cpp b/src/d/d_camera.cpp index b2034a0ff3..ba60b9996d 100644 --- a/src/d/d_camera.cpp +++ b/src/d/d_camera.cpp @@ -280,26 +280,6 @@ struct cM3dGCyl { /* 8026F0A8 */ cM3dGCyl(cXyz const*, f32, f32); }; -struct Z2StatusMgr { - /* 802B6760 */ void setCameraPolygonPos(Vec*); - /* 802B6784 */ void setCameraGroupInfo(u8); - /* 802B6788 */ void setCameraInWaterDepth(f32); -}; - -struct JAISoundID {}; - -struct Z2SeMgr { - /* 802AC50C */ void seStartLevel(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8); -}; - -struct Z2AudioMgr { - static u8 mAudioMgrPtr[4 + 4 /* padding */]; -}; - -struct Z2Audience { - /* 802BD2DC */ void setAudioCamera(f32 (*)[4], Vec&, Vec&, f32, f32, bool, int, bool); -}; - // // Forward References: // diff --git a/src/d/d_drawlist.cpp b/src/d/d_drawlist.cpp index 4833a9c046..936ab7279b 100644 --- a/src/d/d_drawlist.cpp +++ b/src/d/d_drawlist.cpp @@ -88,10 +88,6 @@ struct ShdwDrawPoly_c { /* 80054A6C */ ~ShdwDrawPoly_c(); }; -struct JMath { - static u8 sincosTable_[65536]; -}; - struct J3DUClipper { /* 8027378C */ void calcViewFrustum(); /* 80273A44 */ void clip(f32 const (*)[4], Vec*, Vec*) const; @@ -267,7 +263,6 @@ extern "C" extern void* __vt__9J3DPacket[5]; extern "C" u8 now__14mDoMtx_stack_c[48]; extern "C" u8 mClipper__14mDoLib_clipper[92]; extern "C" extern u8 g_dComIfG_gameInfo[122384]; -extern "C" extern u8 g_env_light[4880]; extern "C" extern u8 g_envHIO[68]; extern "C" u8 sincosTable___5JMath[65536]; extern "C" u8 mBackColor__13mDoGph_gInf_c[4]; diff --git a/src/d/d_lib.cpp b/src/d/d_lib.cpp index 882afebe9a..3030b34766 100644 --- a/src/d/d_lib.cpp +++ b/src/d/d_lib.cpp @@ -23,10 +23,6 @@ struct dEvt_control_c { struct JKRExpandSwitch {}; -struct JKRArchive { - /* 802D65A4 */ void findFsResource(char const*, u32) const; -}; - struct JKRAramArchive { /* 802D781C */ void getAramAddress(char const*); }; @@ -167,19 +163,19 @@ asm void STControl::Yinit() { #endif f32 STControl::getValueStick() { - return mDoCPd_c::getStickValue(mDoCPd_c::PAD_0); + return mDoCPd_c::getStickValue(PAD_1); } s16 STControl::getAngleStick() { - return mDoCPd_c::getStickAngle(mDoCPd_c::PAD_0); + return mDoCPd_c::getStickAngle(PAD_1); } f32 CSTControl::getValueStick() { - return mDoCPd_c::getSubStickValue(mDoCPd_c::PAD_0); + return mDoCPd_c::getSubStickValue(PAD_1); } s16 CSTControl::getAngleStick() { - return mDoCPd_c::getSubStickAngle(mDoCPd_c::PAD_0); + return mDoCPd_c::getSubStickAngle(PAD_1); } /* 8003219C-8003242C 02CADC 0290+00 0/0 24/24 0/0 .text checkTrigger__9STControlFv */ diff --git a/src/d/d_resorce.cpp b/src/d/d_resorce.cpp index d735f1a7ec..c2d2534697 100644 --- a/src/d/d_resorce.cpp +++ b/src/d/d_resorce.cpp @@ -154,7 +154,6 @@ extern "C" void _restgpr_29(); extern "C" void memcmp(); extern "C" extern void* __vt__14J3DMaterialAnm[4]; extern "C" u8 now__14mDoMtx_stack_c[48]; -extern "C" extern u8 g_env_light[4880]; extern "C" u8 mFrameBufferTimg__13mDoGph_gInf_c[4]; extern "C" u8 mZbufferTimg__13mDoGph_gInf_c[4]; extern "C" u8 sCurrentHeap__7JKRHeap[4]; diff --git a/src/d/d_stage.cpp b/src/d/d_stage.cpp index a7d546d29e..c1c0dcd5f6 100644 --- a/src/d/d_stage.cpp +++ b/src/d/d_stage.cpp @@ -14,8 +14,8 @@ #include "dolphin/types.h" #include "f_op/f_op_kankyo_mng.h" #include "f_op/f_op_msg_mng.h" -#include "m_Do/m_Do_ext.h" #include "m_Do/m_Do_Reset.h" +#include "m_Do/m_Do_ext.h" // // Forward References: @@ -597,7 +597,8 @@ dStage_roomStatus_c* dStage_roomControl_c::getStatusRoomDt(int i_statusIdx) { return &mStatus[i_statusIdx]; } -#define OBJNAME(name, proc, sub) { name, proc, sub } +#define OBJNAME(name, proc, sub) \ + { name, proc, sub } /* ############################################################################################## */ /* 803A3B18-803A65CC 000C38 2AB4+00 2/2 0/0 0/0 .data l_objectName */ @@ -2272,11 +2273,10 @@ asm u8 dStage_stagInfo_GetParticleNo(stage_stag_info_class* p_info, int layer) { #endif /* 80025744-8002582C 020084 00E8+00 1/0 0/0 0/0 .text dStage_stagInfoInit__FP11dStage_dt_cPviPv */ -static int dStage_stagInfoInit(dStage_dt_c* stageDt, void* i_data, int entryNum, - void* param_3) { +static int dStage_stagInfoInit(dStage_dt_c* stageDt, void* i_data, int entryNum, void* param_3) { dStage_nodeHeader* stag_info = (dStage_nodeHeader*)(i_data); stageDt->setStagInfo((stage_stag_info_class*)stag_info->m_offset); - + if (!dStage_isBossStage(stageDt)) { dComIfG_deleteStageRes("Xtg_00"); dComIfGp_resetOldMulti(); diff --git a/src/d/d_timer.cpp b/src/d/d_timer.cpp index 66f360b7ab..c45998a6a3 100644 --- a/src/d/d_timer.cpp +++ b/src/d/d_timer.cpp @@ -45,14 +45,6 @@ struct dDlst_TimerScrnDraw_c { /* 80261394 */ ~dDlst_TimerScrnDraw_c(); }; -struct Z2SeMgr { - /* 802AB984 */ void seStart(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8); -}; - -struct Z2AudioMgr { - static u8 mAudioMgrPtr[4 + 4 /* padding */]; -}; - struct J2DAnmLoaderDataBase { /* 80308A6C */ void load(void const*); }; diff --git a/src/d/event/d_event.cpp b/src/d/event/d_event.cpp index efa6e95b28..025b6f7473 100644 --- a/src/d/event/d_event.cpp +++ b/src/d/event/d_event.cpp @@ -24,14 +24,6 @@ struct dCamera_c { /* 801614C4 */ void QuickStart(); }; -struct Z2StatusMgr { - /* 802B61E8 */ void setDemoName(char*); -}; - -struct Z2AudioMgr { - static u8 mAudioMgrPtr[4 + 4 /* padding */]; -}; - // // Forward References: // diff --git a/src/d/event/d_event_data.cpp b/src/d/event/d_event_data.cpp index 6545d61c9a..9f3c49323c 100644 --- a/src/d/event/d_event_data.cpp +++ b/src/d/event/d_event_data.cpp @@ -25,19 +25,6 @@ struct dCamera_c { /* 80181170 */ void StartBlure(int, fopAc_ac_c*, f32, f32); }; -struct Z2SeqMgr { - /* 802AF408 */ void bgmStop(u32, s32); - /* 802AFE18 */ void bgmStreamPlay(); -}; - -struct Z2SeMgr { - /* 802AB984 */ void seStart(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8); -}; - -struct Z2AudioMgr { - static u8 mAudioMgrPtr[4 + 4 /* padding */]; -}; - // // Forward References: // diff --git a/src/d/kankyo/d_kankyo.cpp b/src/d/kankyo/d_kankyo.cpp index 709ecb2717..25cf1ff6b8 100644 --- a/src/d/kankyo/d_kankyo.cpp +++ b/src/d/kankyo/d_kankyo.cpp @@ -5,7 +5,6 @@ #include "d/kankyo/d_kankyo.h" #include "MSL_C/MSL_Common/Src/mem.h" -#include "Z2AudioLib/Z2EnvSeMgr.h" #include "d/com/d_com_inf_game.h" #include "d/kankyo/d_kankyo_data.h" #include "d/msg/d_msg_object.h" @@ -755,12 +754,8 @@ static asm void dKy_pos2_get_angle(cXyz* param_0, cXyz* param_1, s16* param_2, s } #pragma pop -/* ############################################################################################## */ -/* 8042CA48-8042CA54 059768 000C+00 2/2 0/0 0/0 .bss @4112 */ -static u8 lit_4112[12]; - /* 8042CA54-8042DD64 059774 1310+00 116/118 128/128 649/649 .bss g_env_light */ -u8 g_env_light[4880]; +dScnKy_env_light_c g_env_light; /* 80453C28-80453C2C 002228 0004+00 1/1 0/0 0/0 .sdata2 @4441 */ SECTION_SDATA2 static f32 lit_4441 = 0.0054931640625f; @@ -1018,7 +1013,7 @@ static asm void dKy_eflight_influence_id(cXyz param_0, int param_1) { /* 8019E404-8019E430 198D44 002C+00 1/1 0/0 0/0 .text dKy_light_influence_col__Fi */ static GXColorS10 dKy_light_influence_col(int param_0) { - dScnKy_env_light_c* env_light = ((dScnKy_env_light_c*)g_env_light); + dScnKy_env_light_c* env_light = &g_env_light; return env_light->mPointLight[param_0 >= 0 ? param_0 : 0]->mColor; } @@ -1038,13 +1033,13 @@ asm void dKy_light_influence_col(_GXColor* param_0, f32 param_1) { /* 8019E520-8019E548 198E60 0028+00 1/1 0/0 0/0 .text dKy_light_influence_power__Fi */ static f32 dKy_light_influence_power(int param_0) { - dScnKy_env_light_c* env_light = ((dScnKy_env_light_c*)g_env_light); + dScnKy_env_light_c* env_light = &g_env_light; return env_light->mPointLight[param_0 >= 0 ? param_0 : 0]->mPow; } /* 8019E548-8019E570 198E88 0028+00 1/1 0/0 0/0 .text dKy_light_influence_yuragi__Fi */ static f32 dKy_light_influence_yuragi(int param_0) { - dScnKy_env_light_c* env_light = ((dScnKy_env_light_c*)g_env_light); + dScnKy_env_light_c* env_light = &g_env_light; return env_light->mPointLight[param_0 >= 0 ? param_0 : 0]->mFluctuation; } @@ -1064,25 +1059,25 @@ SECTION_SDATA2 static f32 lit_5077 = 99999.8984375f; /* 8019E694-8019E708 198FD4 0074+00 2/2 0/0 0/0 .text plight_init__Fv */ static void plight_init() { - (*(dScnKy_env_light_c*)g_env_light).field_0x38[0].mPow = lit_5077; + g_env_light.field_0x38[0].mPow = lit_5077; for (int i = 0; i < 100; i++) { - (*(dScnKy_env_light_c*)g_env_light).mPointLight[i] = NULL; + g_env_light.mPointLight[i] = NULL; } for (int i = 0; i < 5; i++) { - (*(dScnKy_env_light_c*)g_env_light).mEfPLight[i] = NULL; - (*(dScnKy_env_light_c*)g_env_light).field_0x72c[i] = NULL; + g_env_light.mEfPLight[i] = NULL; + g_env_light.field_0x72c[i] = NULL; } - (*(dScnKy_env_light_c*)g_env_light).field_0x12a4 = -1; - (*(dScnKy_env_light_c*)g_env_light).field_0x12a8 = -1; + g_env_light.field_0x12a4 = -1; + g_env_light.field_0x12a8 = -1; } /* 8019E708-8019E734 199048 002C+00 1/1 0/0 0/0 .text darkmist_init__Fv */ static void darkmist_init() { for (int i = 0; i < 10; i++) { - (*(dScnKy_env_light_c*)g_env_light).mDalkmistInf[i] = NULL; + g_env_light.mDalkmistInf[i] = NULL; } } @@ -1152,25 +1147,22 @@ static asm void dungeonlight_init() { /* 8019EAA0-8019EBD0 1993E0 0130+00 1/1 0/0 0/0 .text undwater_init__Fv */ static void undwater_init() { J3DModelData* modelData2 = (J3DModelData*)dComIfG_getObjectRes("Always", 0x1D); - (*(dScnKy_env_light_c*)g_env_light).field_0xf38 = - mDoExt_createSolidHeapFromGameToCurrent(0x600, 0x20); + g_env_light.field_0xf38 = mDoExt_createSolidHeapFromGameToCurrent(0x600, 0x20); - if ((*(dScnKy_env_light_c*)g_env_light).field_0xf38 != NULL) { - (*(dScnKy_env_light_c*)g_env_light).field_0xf30 = - mDoExt_J3DModel__create(modelData2, 0x80000, 0x11020202); + if (g_env_light.field_0xf38 != NULL) { + g_env_light.field_0xf30 = mDoExt_J3DModel__create(modelData2, 0x80000, 0x11020202); - if ((*(dScnKy_env_light_c*)g_env_light).field_0xf30 != NULL) { - (*(dScnKy_env_light_c*)g_env_light).field_0x105c = new mDoExt_btkAnm(); + if (g_env_light.field_0xf30 != NULL) { + g_env_light.field_0x105c = new mDoExt_btkAnm(); - if ((*(dScnKy_env_light_c*)g_env_light).field_0x105c != NULL) { + if (g_env_light.field_0x105c != NULL) { J3DAnmTextureSRTKey* key = (J3DAnmTextureSRTKey*)dComIfG_getObjectRes("Always", 0x3C); - (*(dScnKy_env_light_c*)g_env_light) - .field_0x105c->init(modelData2, key, 1, 2, lit_4505, 0, -1); + g_env_light.field_0x105c->init(modelData2, key, 1, 2, lit_4505, 0, -1); } } mDoExt_restoreCurrentHeap(); - mDoExt_adjustSolidHeap((*(dScnKy_env_light_c*)g_env_light).field_0xf38); + mDoExt_adjustSolidHeap(g_env_light.field_0xf38); } } @@ -1182,7 +1174,7 @@ static void dKy_light_size_get(char const* stage) { if (!dKy_darkworld_check()) { for (int i = 0; i < 36; i++) { if (!strcmp(stage, lightTbl->stageName)) { - (*(dScnKy_env_light_c*)g_env_light).field_0x1309 = lightTbl->size; + g_env_light.field_0x1309 = lightTbl->size; return; } lightTbl++; @@ -1190,7 +1182,7 @@ static void dKy_light_size_get(char const* stage) { } else { for (int i = 0; i < 9; i++) { if (!strcmp(stage, lightTwTbl->stageName)) { - (*(dScnKy_env_light_c*)g_env_light).field_0x1309 = lightTwTbl->size; + g_env_light.field_0x1309 = lightTwTbl->size; return; } lightTwTbl++; @@ -1603,7 +1595,7 @@ void dScnKy_env_light_c::setDaytime() { mDoAud_setMinute(dKy_getdaytime_minute()); mDoAud_setWeekday(dKy_get_dayofweek()); dComIfGs_setDate(mDate); - (*(dScnKy_env_light_c*)g_env_light).field_0x12fb = 0; + g_env_light.field_0x12fb = 0; } #else #pragma push @@ -1704,7 +1696,7 @@ s32 dKy_daynight_check() { /* 8019FAF4-8019FB30 19A434 003C+00 0/0 0/0 22/22 .text dKy_getDarktime_hour__Fv */ s32 dKy_getDarktime_hour() { - return (*(dScnKy_env_light_c*)g_env_light).getDarkDaytime() / lit_5347; + return g_env_light.getDarkDaytime() / lit_5347; } /* 8019FB30-8019FBBC 19A470 008C+00 0/0 0/0 19/19 .text dKy_getDarktime_minute__Fv */ @@ -1719,7 +1711,7 @@ asm void dKy_getDarktime_minute() { /* 8019FBBC-8019FBCC 19A4FC 0010+00 0/0 0/0 8/8 .text dKy_getDarktime_week__Fv */ s32 dKy_getDarktime_week() { - return (*(dScnKy_env_light_c*)g_env_light).mDarktimeWeek; + return g_env_light.mDarktimeWeek; } /* 8019FBCC-8019FBD4 19A50C 0008+00 2/2 0/0 0/0 .text getDarkDaytime__18dScnKy_env_light_cFv */ @@ -1937,16 +1929,8 @@ asm void dScnKy_env_light_c::settingTevStruct_plightcol_plus(cXyz* param_0, dKy_ } #pragma pop -/* ############################################################################################## */ -/* 8042DD64-8042DD70 05AA84 000C+00 0/1 0/0 0/0 .bss @4113 */ -#pragma push -#pragma force_active on -static u8 lit_4113[12]; -#pragma pop - /* 8042DD70-8042E07C 05AA90 030C+00 1/2 8/8 9/9 .bss g_mEnvSeMgr */ -extern u8 g_mEnvSeMgr[780]; -u8 g_mEnvSeMgr[780]; +Z2EnvSeMgr g_mEnvSeMgr; /* 8042E07C-8042E7BC 05AD9C 0740+00 5/4 0/0 0/0 .bss lightStatusData */ static u8 lightStatusData[1856]; @@ -2148,7 +2132,7 @@ void dScnKy_env_light_c::drawKankyo() { setSunpos(); SetBaseLight(); setLight(); - dKy_setLight_nowroom((*(dScnKy_env_light_c*)g_env_light).mNowRoom); + dKy_setLight_nowroom(g_env_light.mNowRoom); } /* ############################################################################################## */ @@ -2370,13 +2354,13 @@ static cXyz dKy_light_influence_pos(int param_0) { param_0 = 0; } - dScnKy_env_light_c* env_light = ((dScnKy_env_light_c*)g_env_light); + dScnKy_env_light_c* env_light = &g_env_light; return env_light->mPointLight[param_0]->mPosition; } /* 801A7714-801A7738 1A2054 0024+00 0/0 1/1 0/0 .text dKy_plight_near_pos__Fv */ cXyz dKy_plight_near_pos() { - return (*(dScnKy_env_light_c*)g_env_light).mPLightNearPos; + return g_env_light.mPLightNearPos; } /* 801A7738-801A7790 1A2078 0058+00 0/0 0/0 1/1 .text @@ -3131,7 +3115,7 @@ asm void dKy_pol_efftype2_get(cBgS_PolyInfo const* param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dKy_pol_sound_get(cBgS_PolyInfo const* param_0) { +asm u8 dKy_pol_sound_get(cBgS_PolyInfo const* param_0) { nofralloc #include "asm/d/kankyo/d_kankyo/dKy_pol_sound_get__FPC13cBgS_PolyInfo.s" } @@ -3491,17 +3475,17 @@ static asm void dKy_murky_set(J3DMaterial* param_0) { /* 801ACCDC-801ACCF4 1A761C 0018+00 2/2 1/1 0/0 .text dKy_shadow_mode_set__FUc */ void dKy_shadow_mode_set(u8 mode) { - (*(dScnKy_env_light_c*)g_env_light).mShadowMode |= mode; + g_env_light.mShadowMode |= mode; } /* 801ACCF4-801ACD0C 1A7634 0018+00 2/2 1/1 0/0 .text dKy_shadow_mode_reset__FUc */ void dKy_shadow_mode_reset(u8 mode) { - (*(dScnKy_env_light_c*)g_env_light).mShadowMode &= ~mode; + g_env_light.mShadowMode &= ~mode; } /* 801ACD0C-801ACD24 1A764C 0018+00 3/3 0/0 1/1 .text dKy_shadow_mode_check__FUc */ u8 dKy_shadow_mode_check(u8 mode) { - return (*(dScnKy_env_light_c*)g_env_light).mShadowMode & mode; + return g_env_light.mShadowMode & mode; } /* ############################################################################################## */ @@ -3621,21 +3605,6 @@ extern "C" asm void __dt__18dScnKy_env_light_cFv() { } #pragma pop -/* 801ADCA4-801ADD00 1A85E4 005C+00 0/0 1/0 0/0 .text __sinit_d_kankyo_cpp */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void __sinit_d_kankyo_cpp() { - nofralloc -#include "asm/d/kankyo/d_kankyo/__sinit_d_kankyo_cpp.s" -} -#pragma pop - -#pragma push -#pragma force_active on -REGISTER_CTORS(0x801ADCA4, __sinit_d_kankyo_cpp); -#pragma pop - /* ############################################################################################## */ /* 80451070-80451078 -00001 0008+00 0/0 1/1 0/0 .sbss None */ /* 80451070 0001+00 data_80451070 None */ diff --git a/src/d/menu/d_menu_collect.cpp b/src/d/menu/d_menu_collect.cpp index d79e83d118..a6a90f09f7 100644 --- a/src/d/menu/d_menu_collect.cpp +++ b/src/d/menu/d_menu_collect.cpp @@ -117,16 +117,6 @@ struct dMenu_Fishing_c { /* 801C5470 */ void _close(); }; -struct JAISoundID {}; - -struct Z2SeMgr { - /* 802AB984 */ void seStart(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8); -}; - -struct Z2AudioMgr { - static u8 mAudioMgrPtr[4 + 4 /* padding */]; -}; - struct J3DTexNoAnm { /* 8003B1F8 */ ~J3DTexNoAnm(); /* 8003B240 */ J3DTexNoAnm(); @@ -437,7 +427,6 @@ extern "C" extern void* __vt__8J3DModel[9]; extern "C" extern void* __vt__14J3DMaterialAnm[4]; extern "C" u8 now__14mDoMtx_stack_c[48]; extern "C" extern u8 g_dComIfG_gameInfo[122384]; -extern "C" extern u8 g_env_light[4880]; extern "C" extern u8 g_drawHIO[3880]; extern "C" extern u8 g_meter2_info[248]; extern "C" f32 Zero__4cXyz[3]; diff --git a/src/d/menu/d_menu_dmap.cpp b/src/d/menu/d_menu_dmap.cpp index 29af0cfc34..361e6c7699 100644 --- a/src/d/menu/d_menu_dmap.cpp +++ b/src/d/menu/d_menu_dmap.cpp @@ -163,21 +163,6 @@ struct dMenuMapCommon_c { /* 801C443C */ void clearIconInfo(); }; -struct JAISoundID {}; - -struct Z2SeMgr { - /* 802AB984 */ void seStart(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8); - /* 802AC50C */ void seStartLevel(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8); -}; - -struct Z2AudioMgr { - static u8 mAudioMgrPtr[4 + 4 /* padding */]; -}; - -struct JMath { - static u8 sincosTable_[65536]; -}; - struct J2DAnmLoaderDataBase { /* 80308A6C */ void load(void const*); }; diff --git a/src/d/menu/d_menu_fmap.cpp b/src/d/menu/d_menu_fmap.cpp index 4e63663e93..5cdec65eac 100644 --- a/src/d/menu/d_menu_fmap.cpp +++ b/src/d/menu/d_menu_fmap.cpp @@ -166,16 +166,6 @@ struct dMapInfo_n { /* 8003F02C */ void getMapRestartPos(); }; -struct JAISoundID {}; - -struct Z2SeMgr { - /* 802AB984 */ void seStart(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8); -}; - -struct Z2AudioMgr { - static u8 mAudioMgrPtr[4 + 4 /* padding */]; -}; - struct JKRAramArchive {}; // diff --git a/src/d/menu/d_menu_insect.cpp b/src/d/menu/d_menu_insect.cpp index 81282c73a5..b9b41b1b05 100644 --- a/src/d/menu/d_menu_insect.cpp +++ b/src/d/menu/d_menu_insect.cpp @@ -65,16 +65,6 @@ struct dMeter2Info_c { J2DPicture*, void*, J2DPicture*, int); }; -struct JAISoundID {}; - -struct Z2SeMgr { - /* 802AB984 */ void seStart(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8); -}; - -struct Z2AudioMgr { - static u8 mAudioMgrPtr[4 + 4 /* padding */]; -}; - // // Forward References: // diff --git a/src/d/menu/d_menu_letter.cpp b/src/d/menu/d_menu_letter.cpp index 33d406e774..0e6bbd1735 100644 --- a/src/d/menu/d_menu_letter.cpp +++ b/src/d/menu/d_menu_letter.cpp @@ -64,16 +64,6 @@ struct dMenu_Letter { static u8 letter_data[512]; }; -struct JAISoundID {}; - -struct Z2SeMgr { - /* 802AB984 */ void seStart(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8); -}; - -struct Z2AudioMgr { - static u8 mAudioMgrPtr[4 + 4 /* padding */]; -}; - // // Forward References: // diff --git a/src/d/menu/d_menu_option.cpp b/src/d/menu/d_menu_option.cpp index f16ff8f134..4aaf5028dc 100644 --- a/src/d/menu/d_menu_option.cpp +++ b/src/d/menu/d_menu_option.cpp @@ -67,18 +67,6 @@ struct dComIfG_play_c { /* 8002B3B0 */ void getNowVibration(); }; -struct JAISoundID {}; - -struct Z2SeMgr { - /* 802AB984 */ void seStart(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8); -}; - -struct Z2AudioMgr { - /* 802CD888 */ void setOutputMode(u32); - - static u8 mAudioMgrPtr[4 + 4 /* padding */]; -}; - struct JUTGamePad { struct CRumble { struct ERumble {}; diff --git a/src/d/menu/d_menu_ring.cpp b/src/d/menu/d_menu_ring.cpp index 8bcd53e40c..fdab7a3d83 100644 --- a/src/d/menu/d_menu_ring.cpp +++ b/src/d/menu/d_menu_ring.cpp @@ -73,20 +73,6 @@ struct dItem_data { static void* item_resource[1530]; }; -struct JAISoundID {}; - -struct Z2SeMgr { - /* 802AB984 */ void seStart(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8); -}; - -struct Z2AudioMgr { - static u8 mAudioMgrPtr[4 + 4 /* padding */]; -}; - -struct JMath { - static u8 sincosTable_[65536]; -}; - // // Forward References: // diff --git a/src/d/menu/d_menu_save.cpp b/src/d/menu/d_menu_save.cpp index 2db66924ab..99d58569f3 100644 --- a/src/d/menu/d_menu_save.cpp +++ b/src/d/menu/d_menu_save.cpp @@ -99,21 +99,6 @@ struct dFile_info_c { /* 80192D60 */ void _draw(); }; -struct Z2SeqMgr { - /* 802B3EAC */ void checkBgmIDPlaying(u32); -}; - -struct JAISoundID {}; - -struct Z2SeMgr { - /* 802AB984 */ void seStart(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8); - /* 802AC50C */ void seStartLevel(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8); -}; - -struct Z2AudioMgr { - static u8 mAudioMgrPtr[4 + 4 /* padding */]; -}; - struct JFWDisplay { static u8 sManager[4]; }; diff --git a/src/d/menu/d_menu_skill.cpp b/src/d/menu/d_menu_skill.cpp index 0c92b021bc..4eb93188d5 100644 --- a/src/d/menu/d_menu_skill.cpp +++ b/src/d/menu/d_menu_skill.cpp @@ -42,16 +42,6 @@ struct dMeter2Info_c { /* 8021C544 */ void getStringKanji(u32, char*, JMSMesgEntry_c*); }; -struct JAISoundID {}; - -struct Z2SeMgr { - /* 802AB984 */ void seStart(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8); -}; - -struct Z2AudioMgr { - static u8 mAudioMgrPtr[4 + 4 /* padding */]; -}; - // // Forward References: // diff --git a/src/d/menu/d_menu_window.cpp b/src/d/menu/d_menu_window.cpp index d4bee51560..af15b9a5d8 100644 --- a/src/d/menu/d_menu_window.cpp +++ b/src/d/menu/d_menu_window.cpp @@ -277,15 +277,15 @@ inline BOOL dComIfGp_event_runCheck() { } BOOL dMw_UP_TRIGGER() { - return (bool)mDoCPd_c::getTrigUp(mDoCPd_c::PAD_0); + return (bool)mDoCPd_c::getTrigUp(PAD_1); } bool dMw_DOWN_TRIGGER() { - return mDoCPd_c::getTrigDown(mDoCPd_c::PAD_0); + return mDoCPd_c::getTrigDown(PAD_1); } BOOL dMw_LEFT_TRIGGER() { - if (mDoCPd_c::getTrigLeft(mDoCPd_c::PAD_0) && !dMw_UP_TRIGGER()) { + if (mDoCPd_c::getTrigLeft(PAD_1) && !dMw_UP_TRIGGER()) { return true; } else { return false; @@ -293,7 +293,7 @@ BOOL dMw_LEFT_TRIGGER() { } BOOL dMw_RIGHT_TRIGGER() { - if (mDoCPd_c::getTrigRight(mDoCPd_c::PAD_0) && !dMw_UP_TRIGGER()) { + if (mDoCPd_c::getTrigRight(PAD_1) && !dMw_UP_TRIGGER()) { return true; } else { return false; @@ -301,19 +301,19 @@ BOOL dMw_RIGHT_TRIGGER() { } bool dMw_A_TRIGGER() { - return mDoCPd_c::getTrigA(mDoCPd_c::PAD_0); + return mDoCPd_c::getTrigA(PAD_1); } BOOL dMw_B_TRIGGER() { - return (bool)mDoCPd_c::getTrigB(mDoCPd_c::PAD_0); + return (bool)mDoCPd_c::getTrigB(PAD_1); } bool dMw_Z_TRIGGER() { - return mDoCPd_c::getTrigZ(mDoCPd_c::PAD_0); + return mDoCPd_c::getTrigZ(PAD_1); } BOOL dMw_START_TRIGGER() { - return (bool)mDoCPd_c::getTrigStart(mDoCPd_c::PAD_0); + return (bool)mDoCPd_c::getTrigStart(PAD_1); } void dMw_onPauseWindow() { @@ -2011,9 +2011,9 @@ void dMw_c::dMw_collect_create() { mpMenuCollect = new dMenu_Collect_c(mpHeap, mpStick, mpCStick); mpMenuCollect->_create(); - if (mDoCPd_c::getHoldLockL(mDoCPd_c::PAD_0)) { + if (mDoCPd_c::getHoldLockL(PAD_1)) { dMw_onButtonBit(1); - } else if (mDoCPd_c::getHoldLockR(mDoCPd_c::PAD_0)) { + } else if (mDoCPd_c::getHoldLockR(PAD_1)) { dMw_onButtonBit(2); } } diff --git a/src/d/meter/d_meter2_draw.cpp b/src/d/meter/d_meter2_draw.cpp index 4fe4ed13bf..1d870c06f7 100644 --- a/src/d/meter/d_meter2_draw.cpp +++ b/src/d/meter/d_meter2_draw.cpp @@ -12,19 +12,6 @@ #include "dol2asm.h" #include "dolphin/types.h" -// -// Types: -// - -struct Z2SeMgr { - /* 802AB984 */ void seStart(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8); - /* 802AC50C */ void seStartLevel(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8); -}; - -struct Z2AudioMgr { - static u8 mAudioMgrPtr[4 + 4 /* padding */]; -}; - // // Forward References: // diff --git a/src/d/msg/d_msg_class.cpp b/src/d/msg/d_msg_class.cpp index fa67684d0c..5485ab9440 100644 --- a/src/d/msg/d_msg_class.cpp +++ b/src/d/msg/d_msg_class.cpp @@ -236,21 +236,6 @@ struct dMsgObject_c { /* 80238638 */ void getItemEquipButton(); }; -struct Z2SpeechMgr2 { - /* 802CBD88 */ void setString(u16 const*, s16, u8, u16); - /* 802CCA18 */ void playOneShotVoice(u8, u16, Vec*, s8); -}; - -struct JAISoundID {}; - -struct Z2SeMgr { - /* 802AB984 */ void seStart(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8); -}; - -struct Z2AudioMgr { - static u8 mAudioMgrPtr[4 + 4 /* padding */]; -}; - struct STControl { /* 80032044 */ STControl(s16, s16, s16, s16, f32, f32, s16, s16); /* 80032088 */ void setWaitParm(s16, s16, s16, s16, f32, f32, s16, s16); diff --git a/src/d/msg/d_msg_object.cpp b/src/d/msg/d_msg_object.cpp index 53b349a53e..4363fcea84 100644 --- a/src/d/msg/d_msg_object.cpp +++ b/src/d/msg/d_msg_object.cpp @@ -90,27 +90,6 @@ struct dDemo_c { static u8 m_mesgControl[4]; }; -struct Z2StatusMgr { - /* 802B60CC */ void talkIn(); - /* 802B6104 */ void talkOut(); -}; - -struct Z2SpeechMgr2 { - /* 802CBF60 */ void setTextCount(s16); -}; - -struct Z2SeqMgr { - /* 802AFF8C */ void changeBgmStatus(s32); -}; - -struct Z2SeMgr { - /* 802AB984 */ void seStart(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8); -}; - -struct Z2AudioMgr { - static u8 mAudioMgrPtr[4 + 4 /* padding */]; -}; - // // Forward References: // diff --git a/src/d/particle/d_particle.cpp b/src/d/particle/d_particle.cpp index b44228ba19..b581e837dd 100644 --- a/src/d/particle/d_particle.cpp +++ b/src/d/particle/d_particle.cpp @@ -177,10 +177,6 @@ struct cBgS { /* 80074744 */ void GetTriPla(cBgS_PolyInfo const&, cM3dGPla*) const; }; -struct JMath { - static u8 sincosTable_[65536]; -}; - struct J3DUClipper { /* 802738FC */ void clip(f32 const (*)[4], Vec, f32) const; }; @@ -478,7 +474,6 @@ extern "C" u8 j_o_id__8dPa_name[10 + 2 /* padding */]; extern "C" u8 s_o_id__8dPa_name[28]; extern "C" u8 mClipper__14mDoLib_clipper[92]; extern "C" extern u8 g_dComIfG_gameInfo[122384]; -extern "C" extern u8 g_env_light[4880]; extern "C" u8 sincosTable___5JMath[65536]; extern "C" extern u32 g_whiteColor; extern "C" u8 mFrameBufferTimg__13mDoGph_gInf_c[4]; diff --git a/src/f_op/f_op_actor.cpp b/src/f_op/f_op_actor.cpp index ea987b19bb..21578c3f41 100644 --- a/src/f_op/f_op_actor.cpp +++ b/src/f_op/f_op_actor.cpp @@ -126,7 +126,6 @@ extern "C" void __construct_array(); extern "C" void _savegpr_29(); extern "C" void _restgpr_29(); extern "C" extern u8 g_dComIfG_gameInfo[122384]; -extern "C" extern u8 g_env_light[4880]; extern "C" f32 Zero__4cXyz[3]; extern "C" extern u8 g_dComIfAc_gameInfo[8]; extern "C" u8 m_object__7dDemo_c[4]; diff --git a/src/f_op/f_op_msg_mng.cpp b/src/f_op/f_op_msg_mng.cpp index 3b92dad6cd..ff889b9ded 100644 --- a/src/f_op/f_op_msg_mng.cpp +++ b/src/f_op/f_op_msg_mng.cpp @@ -11,14 +11,6 @@ #include "dol2asm.h" #include "dolphin/types.h" -// -// Types: -// - -struct JMath { - static u8 sincosTable_[65536]; -}; - // // Forward References: // diff --git a/src/m_Do/m_Do_DVDError.cpp b/src/m_Do/m_Do_DVDError.cpp index 6fc91edc2a..63ae92cb55 100644 --- a/src/m_Do/m_Do_DVDError.cpp +++ b/src/m_Do/m_Do_DVDError.cpp @@ -6,63 +6,9 @@ #include "m_Do/m_Do_DVDError.h" #include "dol2asm.h" #include "dolphin/types.h" - -// -// Types: -// - -struct mDoDvdThd { - /* 800158B4 */ void suspend(); -}; - -struct OSThread {}; - -struct OSContext {}; - -struct OSAlarm {}; - -struct JKRThread { - /* 802D16B8 */ JKRThread(OSThread*, int); - /* 802D1758 */ ~JKRThread(); -}; - -struct JKRHeap { - /* 802CE438 */ void becomeCurrentHeap(); -}; - -// -// Forward References: -// - -extern "C" void mDoDvdErr_ThdInit__Fv(); -extern "C" void mDoDvdErr_ThdCleanup__Fv(); -extern "C" static void mDoDvdErr_Watch__FPv(); -extern "C" static void AlarmHandler__FP7OSAlarmP9OSContext(); - -// -// External References: -// - -extern "C" void mDoExt_getAssertHeap__Fv(); -extern "C" void suspend__9mDoDvdThdFv(); -extern "C" void becomeCurrentHeap__7JKRHeapFv(); -extern "C" void __ct__9JKRThreadFP8OSThreadi(); -extern "C" void __dt__9JKRThreadFv(); -extern "C" void OSCreateAlarm(); -extern "C" void OSSetPeriodicAlarm(); -extern "C" void OSCancelAlarm(); -extern "C" void OSDisableInterrupts(); -extern "C" void OSGetCurrentThread(); -extern "C" void OSCreateThread(); -extern "C" void OSCancelThread(); -extern "C" void OSResumeThread(); -extern "C" void OSSuspendThread(); -extern "C" void OSGetThreadPriority(); -extern "C" void OSGetTime(); -extern "C" void DVDGetDriveStatus(); -extern "C" void _savegpr_29(); -extern "C" void _restgpr_29(); -extern "C" extern u8 data_80450C88[8]; +#include "m_Do/m_Do_dvd_thread.h" +#include "m_Do/m_Do_ext.h" +#include "m_Do/m_Do_reset.h" // // Declarations: @@ -70,54 +16,60 @@ extern "C" extern u8 data_80450C88[8]; /* ############################################################################################## */ /* 803DECC0-803DEFE0 00B9E0 0318+08 4/4 0/0 0/0 .bss DvdErr_thread */ -static u8 DvdErr_thread[792 + 8 /* padding */]; +static OSThread DvdErr_thread; /* 803DEFE0-803DFBE0 00BD00 0C00+00 0/1 0/0 0/0 .bss DvdErr_stack */ #pragma push #pragma force_active on -static u8 DvdErr_stack[3072]; +static u8 DvdErr_stack[3072] ALIGN_DECL(16); #pragma pop /* 803DFBE0-803DFC20 00C900 0028+18 1/2 0/0 0/0 .bss Alarm */ -static u8 Alarm[40 + 24 /* padding */]; +static OSAlarm Alarm; /* 8001659C-8001665C 010EDC 00C0+00 0/0 1/1 0/0 .text mDoDvdErr_ThdInit__Fv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void mDoDvdErr_ThdInit() { - nofralloc -#include "asm/m_Do/m_Do_DVDError/mDoDvdErr_ThdInit__Fv.s" +void mDoDvdErr_ThdInit() { + if (!data_80450C88) { + OSTime time = OSGetTime(); + OSThread* curThread = OSGetCurrentThread(); + s32 priority = OSGetThreadPriority(curThread); + + OSCreateThread(&DvdErr_thread, mDoDvdErr_Watch, NULL, DvdErr_stack + sizeof(DvdErr_stack), + sizeof(DvdErr_stack), priority - 3, 1); + OSResumeThread(&DvdErr_thread); + OSCreateAlarm(&Alarm); + OSSetPeriodicAlarm(&Alarm, time, OS_BUS_CLOCK / 4, AlarmHandler); + + data_80450C88 = 1; + } } -#pragma pop /* 8001665C-800166A4 010F9C 0048+00 0/0 1/1 0/0 .text mDoDvdErr_ThdCleanup__Fv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void mDoDvdErr_ThdCleanup() { - nofralloc -#include "asm/m_Do/m_Do_DVDError/mDoDvdErr_ThdCleanup__Fv.s" +void mDoDvdErr_ThdCleanup() { + if (data_80450C88) { + OSCancelThread(&DvdErr_thread); + OSCancelAlarm(&Alarm); + data_80450C88 = 0; + } } -#pragma pop /* 800166A4-80016704 010FE4 0060+00 1/1 0/0 0/0 .text mDoDvdErr_Watch__FPv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void mDoDvdErr_Watch(void* param_0) { - nofralloc -#include "asm/m_Do/m_Do_DVDError/mDoDvdErr_Watch__FPv.s" +static void mDoDvdErr_Watch(void*) { + OSDisableInterrupts(); + { JKRThread thread(OSGetCurrentThread(), 0); } + + mDoExt_getAssertHeap()->becomeCurrentHeap(); + + do { + if (DVDGetDriveStatus() == DVD_STATE_FATAL_ERROR) { + mDoDvdThd::suspend(); + } + OSSuspendThread(&DvdErr_thread); + } while (true); } -#pragma pop /* 80016704-8001672C 011044 0028+00 1/1 0/0 0/0 .text AlarmHandler__FP7OSAlarmP9OSContext */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void AlarmHandler(OSAlarm* param_0, OSContext* param_1) { - nofralloc -#include "asm/m_Do/m_Do_DVDError/AlarmHandler__FP7OSAlarmP9OSContext.s" +static void AlarmHandler(OSAlarm*, OSContext*) { + OSResumeThread(&DvdErr_thread); } -#pragma pop diff --git a/src/m_Do/m_Do_Reset.cpp b/src/m_Do/m_Do_Reset.cpp index 5abaa68cea..7b4c12c94b 100644 --- a/src/m_Do/m_Do_Reset.cpp +++ b/src/m_Do/m_Do_Reset.cpp @@ -4,40 +4,17 @@ // #include "m_Do/m_Do_Reset.h" +#include "JSystem/JAudio2/JASDvdThread.h" +#include "JSystem/JUtility/JUTGamePad.h" +#include "JSystem/JUtility/JUTVideo.h" +#include "JSystem/JUtility/JUTXfb.h" +#include "SSystem/SComponent/c_API_controller_pad.h" #include "dol2asm.h" #include "dolphin/gx/GX.h" #include "dolphin/types.h" - -// -// Types: -// - -struct Z2AudioMgr { - /* 802CDA6C */ void hasReset() const; - - static u8 mAudioMgrPtr[4 + 4 /* padding */]; -}; - -struct JUTXfb { - /* 802E5214 */ void clearIndex(); - - static u8 sManager[4 + 4 /* padding */]; -}; - -struct JUTVideo { - /* 802E4CAC */ void destroyManager(); -}; - -struct JUTGamePad { - struct C3ButtonReset { - static u8 sCallback[4]; - static u8 sCallbackArg[4 + 4 /* padding */]; - }; -}; - -struct JASTaskThread { - /* 8028FE88 */ void pause(bool); -}; +#include "m_Do/m_Do_Audio.h" +#include "m_Do/m_Do_DVDError.h" +#include "m_Do/m_Do_MemCard.h" // // Forward References: @@ -51,13 +28,11 @@ extern "C" u32 getResetData__6mDoRstFv(); extern "C" extern char const* const m_Do_m_Do_Reset__stringBase0; extern "C" u8 mResetData__6mDoRst[4 + 4 /* padding */]; extern "C" extern u8 struct_80450C80; -extern "C" extern u8 data_80450C88[8]; // // External References: // -extern "C" void OSAttention(); extern "C" void mDoDvdErr_ThdCleanup__Fv(); extern "C" void cAPICPad_recalibrate__Fv(); extern "C" void pause__13JASTaskThreadFb(); @@ -66,29 +41,15 @@ extern "C" void hasReset__10Z2AudioMgrCFv(); extern "C" void destroyManager__8JUTVideoFv(); extern "C" void clearIndex__6JUTXfbFv(); extern "C" void LCDisable(); -extern "C" void OSDisableInterrupts(); -extern "C" void OSRestoreInterrupts(); -extern "C" void OSSetSaveRegion(); -extern "C" void OSResetSystem(); -extern "C" void OSGetCurrentThread(); -extern "C" void OSCancelThread(); -extern "C" void OSDetachThread(); -extern "C" void OSSuspendThread(); -extern "C" void DVDGetDriveStatus(); -extern "C" void DVDCheckDisk(); extern "C" void VIWaitForRetrace(); extern "C" void VIFlush(); -extern "C" void VISetBlack(s32); extern "C" void GXFlush(); extern "C" void GXAbortFrame(); extern "C" void GXDrawDone(); extern "C" void _savegpr_27(); -extern "C" extern u8 g_mDoMemCd_control[8192]; -extern "C" extern u8 struct_80450BB8[4]; extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; extern "C" u8 sCallback__Q210JUTGamePad13C3ButtonReset[4]; extern "C" u8 sCallbackArg__Q210JUTGamePad13C3ButtonReset[4 + 4 /* padding */]; -extern "C" extern u8 struct_80451500[4]; extern "C" u8 sManager__6JUTXfb[4 + 4 /* padding */]; // @@ -100,7 +61,7 @@ static void my_OSCancelAlarmAll() { } static void destroyVideo() { - destroyManager__8JUTVideoFv(); + JUTVideo::destroyManager(); GXSetDrawDoneCallback(NULL); VISetBlack(1); VIFlush(); @@ -108,40 +69,30 @@ static void destroyVideo() { return; } -/* ############################################################################################## */ -/* 80374198-80374198 0007F8 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80374198 = "DVD_STATE_BUSY\n"; -#pragma pop - /* 80450C78-80450C80 000178 0004+04 3/2 42/42 2/2 .sbss mResetData__6mDoRst */ mDoRstData* mDoRst::mResetData; /* 80015614-8001574C 00FF54 0138+00 0/0 3/3 0/0 .text mDoRst_reset__FiUli */ -#ifdef NONMATCHING -void mDoRst_reset(int p1, u32 p2, int p3) { - mDoCPd_c* pmVar1; - u32 uVar2; - DVDState DVar3; - OSThread* thread; - s32 enable; - /* sManager */ lbl_80451550->clearIndex(); - mDoDvdErr_ThdCleanup__Fv(); - cAPICPad_recalibrate__Fv(); - if (lbl_80450BB8 != false) { +void mDoRst_reset(int param_0, u32 param_1, int param_2) { + JUTXfb::getManager()->clearIndex(); + mDoDvdErr_ThdCleanup(); + cAPICPad_recalibrate(); + + if (mDoAud_zelAudio_c::isInitFlag()) { + bool audioReset; do { - uVar2 = lbl_80451368->hasReset(); - } while ((uVar2 & 0xff) == 0); + audioReset = Z2AudioMgr::getInterface()->hasReset(); + } while (!audioReset); } - if ((s32)DVDGetDriveStatus() == (s32)DVD_STATE_BUSY) { - OSAttention(lbl_80374198); + if (DVDGetDriveStatus() == DVD_STATE_BUSY) { + OSAttention("DVD_STATE_BUSY\n"); } - JASTaskThread* task_thread = getThreadPointer__6JASDvdFv(); + + JASTaskThread* task_thread = JASDvd::getThreadPointer(); if (task_thread != NULL) { - pause__13JASTaskThreadFb(task_thread, true); - thread = task_thread->thread; + task_thread->pause(true); + OSThread* thread = task_thread->getThreadRecord(); if (thread != NULL) { OSSuspendThread(thread); OSDetachThread(thread); @@ -152,79 +103,57 @@ void mDoRst_reset(int p1, u32 p2, int p3) { VIWaitForRetrace(); VIWaitForRetrace(); - thread = GXGetCurrentGXThread(); - enable = OSDisableInterrupts(); - OSThread* ourThread = OSGetCurrentThread(); - if (thread != ourThread) { - OSCancelThread(thread); + OSThread* gxThread = GXGetCurrentGXThread(); + s32 enable = OSDisableInterrupts(); + + if (gxThread != OSGetCurrentThread()) { + OSCancelThread(gxThread); GXSetCurrentGXThread(); } + GXFlush(); GXAbortFrame(); GXDrawDone(); - OSRestoreInterrupts(enable); destroyVideo(); - while (mDoMemCd_isCardCommNone() != 0) { + while (!mDoMemCd_isCardCommNone()) { VIWaitForRetrace(); } my_OSCancelAlarmAll(); LCDisable(); - // probably false match; check out 80015728 or thereabouts in Ghidra - OSSetSaveRegion(mDoRst::mResetData, (u8*)(&mDoRst::getResetData()) + 0x18); - OSResetSystem(p1, p2, p3); + OSSetSaveRegion(mDoRst::mResetData, (u8*)&mDoRst::getResetData + 0x18); + OSResetSystem(param_0, param_1, param_2); + do { VIWaitForRetrace(); } while (true); } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void mDoRst_reset(int param_0, u32 param_1, int param_2) { - nofralloc -#include "asm/m_Do/m_Do_Reset/mDoRst_reset__FiUli.s" -} -#pragma pop -#endif /* 8001574C-800157F4 01008C 00A8+00 0/0 3/3 0/0 .text mDoRst_resetCallBack__FiPv */ -// fix JUTGamePad data -#ifdef NONMATCHING -void mDoRst_resetCallBack(int port, void* p2) { +void mDoRst_resetCallBack(int port, void*) { if (!mDoRst::isReset()) { if (port == -1) { - cAPICPad_recalibrate__Fv(); + cAPICPad_recalibrate(); } else { - if (mDoRst::is3ButtonReset() != 0) { - lbl_80451501 = false; - /* sCallback */ lbl_804514EC = &mDoRst_resetCallBack; - /* sCallbackArg */ lbl_804514F0 = 0; + if (mDoRst::is3ButtonReset()) { + struct_80451501 = false; + JUTGamePad::C3ButtonReset::sCallback = mDoRst_resetCallBack; + JUTGamePad::C3ButtonReset::sCallbackArg = NULL; return; } mDoRst::on3ButtonReset(); mDoRst::set3ButtonResetPort(port); - cAPICPad_recalibrate__Fv(); + cAPICPad_recalibrate(); } - if ((DVDCheckDisk() == 0) && (DVDGetDriveStatus() != DVD_STATE_FATAL_ERROR)) { + if (DVDCheckDisk() == 0 && DVDGetDriveStatus() != DVD_STATE_FATAL_ERROR) { mDoRst::onReturnToMenu(); } mDoRst::onReset(); } } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void mDoRst_resetCallBack(int param_0, void* param_1) { - nofralloc -#include "asm/m_Do/m_Do_Reset/mDoRst_resetCallBack__FiPv.s" -} -#pragma pop -#endif /* 800157F4-800157FC -00001 0008+00 0/0 0/0 0/0 .text getResetData__6mDoRstFv */ mDoRstData* mDoRst::getResetData() { @@ -253,7 +182,6 @@ u8 struct_80450C87; #pragma pop /* 80450C88-80450C90 000188 0008+00 0/0 2/2 0/0 .sbss None */ -extern u8 data_80450C88[8]; -u8 data_80450C88[8]; +u8 data_80450C88; /* 80374198-80374198 0007F8 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ diff --git a/src/m_Do/m_Do_audio.cpp b/src/m_Do/m_Do_audio.cpp index b5365c30af..d2a678d2ac 100644 --- a/src/m_Do/m_Do_audio.cpp +++ b/src/m_Do/m_Do_audio.cpp @@ -4,25 +4,16 @@ // #include "m_Do/m_Do_audio.h" +#include "d/com/d_com_inf_game.h" #include "dol2asm.h" #include "dolphin/types.h" +#include "m_Do/m_Do_Reset.h" +#include "m_Do/m_Do_dvd_thread.h" // // Types: // -struct mDoRst { - static u8 mResetData[4 + 4 /* padding */]; -}; - -struct mDoDvdThd_toMainRam_c { - /* 80016394 */ void create(char const*, u8, JKRHeap*); -}; - -struct mDoDvdThd_mountXArchive_c { - /* 800161E0 */ void create(char const*, u8, JKRArchive::EMountMode, JKRHeap*); -}; - struct JAIStreamDataMgr { /* 802A3AD8 */ ~JAIStreamDataMgr(); }; @@ -96,7 +87,6 @@ extern "C" extern void* __vt__14Z2SoundStarter[5 + 1 /* padding */]; extern "C" extern void* __vt__11Z2SoundInfo[20]; extern "C" extern void* __vt__15Z2SpeechStarter[5]; extern "C" extern void* __vt__10Z2AudioMgr[3]; -extern "C" extern u8 g_dComIfG_gameInfo[122384]; extern "C" extern u8 data_80450B40[4]; extern "C" extern u8 data_80450B48[4]; extern "C" extern u8 data_80450B4C[4]; @@ -112,7 +102,7 @@ extern "C" extern u8 data_80450B80[4]; extern "C" extern u8 data_80450B84[4]; extern "C" extern u8 data_80450B88[4]; extern "C" u8 mResetData__6mDoRst[4 + 4 /* padding */]; -extern "C" extern u8 struct_80450C80[8]; +extern "C" extern bool struct_80450C80; extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; extern "C" u8 sCurrentHeap__7JKRHeap[4]; @@ -140,18 +130,6 @@ void mDoAud_zelAudio_c::reset() { data_80450bba = false; } -/* ############################################################################################## */ -/* 80373D68-80373D68 0003C8 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80373D68 = "/Audiores/Z2Sound.baa"; -SECTION_DEAD static char const* const stringBase_80373D7E = "/Audiores/Seqs/Z2SoundSeqs.arc"; -SECTION_DEAD static char const* const stringBase_80373D9D = - "ヒープ確保失敗につきオーディオ初期化できません\n"; -/* @stringBase0 padding */ -SECTION_DEAD static char const* const pad_80373DCD = "\0\0"; -#pragma pop - /* 803DBF40-803DBF4C 008C60 000C+00 1/1 0/1 0/0 .bss @3620 */ static u8 lit_3620[12]; @@ -168,24 +146,62 @@ static mDoDvdThd_toMainRam_c* l_affCommand; static mDoDvdThd_mountXArchive_c* l_arcCommand; /* 80006FC0-80007164 001900 01A4+00 1/1 0/0 0/0 .text mDoAud_Create__Fv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void mDoAud_Create() { - nofralloc -#include "asm/m_Do/m_Do_audio/mDoAud_Create__Fv.s" +static void mDoAud_Create() { + if (l_affCommand == NULL) { + l_affCommand = mDoDvdThd_toMainRam_c::create("/Audiores/Z2Sound.baa", 2, NULL); + + if (l_affCommand == NULL) { + return; + } + } + + if (l_arcCommand == NULL) { + l_arcCommand = mDoDvdThd_mountXArchive_c::create("/Audiores/Seqs/Z2SoundSeqs.arc", 0, + JKRArchive::MOUNT_DVD, NULL); + + if (l_arcCommand == NULL) { + return; + } + } + + if (l_affCommand->sync() && l_arcCommand->sync()) { + if (g_mDoAud_audioHeap != NULL) { + s32 groupID = JKRHeap::sCurrentHeap->changeGroupID(5); + (*(mDoAud_zelAudio_c*)g_mDoAud_zelAudio) + .mAudioMgr.init(g_mDoAud_audioHeap, 0xA00000, l_affCommand->getMemAddress(), + l_arcCommand->getArchive()); + JKRHeap::sCurrentHeap->changeGroupID(groupID); + g_mDoAud_audioHeap->adjustSize(); + } else { + // "Cannot initialize audio due to heap allocation failure\n" + OSReport_Error("ヒープ確保失敗につきオーディオ初期化できません\n"); + } + + (*(mDoAud_zelAudio_c*)g_mDoAud_zelAudio) + .mAudioMgr.mStatusMgr.setEventBit(dComIfGs_getPEventBit()); + (*(mDoAud_zelAudio_c*)g_mDoAud_zelAudio).reset(); + + u32 soundMode = OSGetSoundMode(); + Z2AudioMgr::getInterface()->setOutputMode(soundMode); + JKRHeap::free(l_affCommand->getMemAddress(), NULL); + l_affCommand->destroy(); + l_arcCommand->destroy(); + + mDoAud_zelAudio_c::onInitFlag(); + struct_80450C80 = true; + } } -#pragma pop /* 80007164-800071BC 001AA4 0058+00 0/0 1/1 0/0 .text mDoAud_Execute__Fv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void mDoAud_Execute() { - nofralloc -#include "asm/m_Do/m_Do_audio/mDoAud_Execute__Fv.s" +void mDoAud_Execute() { + if (!mDoAud_zelAudio_c::isInitFlag()) { + if (!mDoRst::isShutdown() && !mDoRst::isReturnToMenu()) { + mDoAud_Create(); + } + } else { + (*(mDoAud_zelAudio_c*)g_mDoAud_zelAudio).mAudioMgr.gframeProcess(); + } } -#pragma pop /* 800071BC-800071F8 001AFC 003C+00 0/0 3/3 0/0 .text mDoAud_setSceneName__FPCcll */ void mDoAud_setSceneName(char const* spot, s32 room, s32 layer) { diff --git a/src/m_Do/m_Do_ext.cpp b/src/m_Do/m_Do_ext.cpp index 08ec75cdfc..0bb3866ef9 100644 --- a/src/m_Do/m_Do_ext.cpp +++ b/src/m_Do/m_Do_ext.cpp @@ -18,112 +18,8 @@ // Types: // -struct mDoExt_blkAnm { - /* 8000DA08 */ void init(J3DDeformData*, J3DAnmCluster*, int, int, f32, s16, s16); -}; - -struct mDoExt_MtxCalcAnmBlendTblOld { - /* 8000F4B0 */ void calc(); - /* 80014EB0 */ ~mDoExt_MtxCalcAnmBlendTblOld(); -}; - -struct mDoExt_MtxCalcAnmBlendTbl { - /* 8000F26C */ void calc(); - /* 80014F3C */ ~mDoExt_MtxCalcAnmBlendTbl(); -}; - -struct mDoExt_McaMorfCallBack2_c {}; - -struct Z2Creature { - /* 802C0628 */ void initAnime(void*, bool, f32, f32); - /* 802C06D0 */ void updateAnime(f32, f32); -}; - -struct mDoExt_McaMorfSO { - /* 800107D0 */ mDoExt_McaMorfSO(J3DModelData*, mDoExt_McaMorfCallBack1_c*, - mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, int, f32, int, - int, Z2Creature*, u32, u32); - /* 80010888 */ ~mDoExt_McaMorfSO(); - /* 800108F0 */ void create(J3DModelData*, mDoExt_McaMorfCallBack1_c*, - mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, int, f32, int, int, - Z2Creature*, u32, u32); - /* 80010B68 */ void calc(); - /* 80010E70 */ void setAnm(J3DAnmTransform*, int, f32, f32, f32, f32); - /* 800110B0 */ void play(u32, s8); - /* 80011154 */ void updateDL(); - /* 800111C0 */ void entryDL(); - /* 800111EC */ void modelCalc(); - /* 80011250 */ void getTransform(u16, J3DTransformInfo*); - /* 80011310 */ void stopZelAnime(); -}; - -struct mDoExt_McaMorf2 { - /* 80011348 */ mDoExt_McaMorf2(J3DModelData*, mDoExt_McaMorfCallBack1_c*, - mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, J3DAnmTransform*, - int, f32, int, int, Z2Creature*, u32, u32); - /* 800113FC */ ~mDoExt_McaMorf2(); - /* 80011464 */ void create(J3DModelData*, mDoExt_McaMorfCallBack1_c*, - mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, J3DAnmTransform*, int, - f32, int, int, Z2Creature*, u32, u32); - /* 800116B4 */ void ERROR_EXIT(); - /* 800116F4 */ void calc(); - /* 80011D70 */ void setAnm(J3DAnmTransform*, J3DAnmTransform*, f32, int, f32, f32, f32, f32); - /* 80011FCC */ void setAnmRate(f32); - /* 800120A0 */ void play(u32, s8); - /* 80012144 */ void entryDL(); - /* 80012170 */ void modelCalc(); - /* 800121E8 */ void stopZelAnime(); -}; - -struct mDoExt_McaMorf { - /* 8000FC4C */ mDoExt_McaMorf(J3DModelData*, mDoExt_McaMorfCallBack1_c*, - mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, int, f32, int, int, - int, void*, u32, u32); - /* 8000FD10 */ ~mDoExt_McaMorf(); - /* 8000FD94 */ void create(J3DModelData*, mDoExt_McaMorfCallBack1_c*, - mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, int, f32, int, int, - int, void*, u32, u32); - /* 80010074 */ void calc(); - /* 8001037C */ void setAnm(J3DAnmTransform*, int, f32, f32, f32, f32, void*); - /* 800105C8 */ void play(Vec*, u32, s8); - /* 80010680 */ void entryDL(); - /* 800106AC */ void modelCalc(); - /* 80010710 */ void getTransform(u16, J3DTransformInfo*); -}; - -struct mDoExt_3Dline_c { - /* 800123D0 */ void init(u16, int, int); - /* 800126BC */ mDoExt_3Dline_c(); -}; - -struct mDoExt_3DlineMat_c {}; - -struct mDoExt_3DlineMatSortPacket { - /* 80014738 */ void setMat(mDoExt_3DlineMat_c*); - /* 8001479C */ void draw(); - /* 80014E20 */ ~mDoExt_3DlineMatSortPacket(); -}; - struct dKy_tevstr_c {}; -struct mDoExt_3DlineMat1_c { - /* 80013360 */ void init(u16, u16, ResTIMG*, int); - /* 800134F8 */ void setMaterial(); - /* 800135D0 */ void draw(); - /* 80013FB0 */ void update(int, _GXColor&, dKy_tevstr_c*); - /* 8001373C */ void update(int, f32, _GXColor&, u16, dKy_tevstr_c*); - /* 80014E7C */ bool getMaterialID(); -}; - -struct mDoExt_3DlineMat0_c { - /* 800125E0 */ void init(u16, u16, int); - /* 800126C0 */ void setMaterial(); - /* 80012774 */ void draw(); - /* 80012874 */ void update(int, f32, _GXColor&, u16, dKy_tevstr_c*); - /* 80012E3C */ void update(int, _GXColor&, dKy_tevstr_c*); - /* 80014E84 */ bool getMaterialID(); -}; - struct J3DDrawBuffer; struct J3DDrawBuffer { @@ -134,25 +30,6 @@ struct dDlst_list_c { /* 800565EC */ void entryZSortXluDrawList(J3DDrawBuffer*, J3DPacket*, cXyz&); }; -struct JAISoundID {}; - -struct Z2SoundHandlePool {}; - -struct Z2SoundObjBase { - /* 802BE038 */ void framework(u32, s8); - /* 802BE070 */ void dispose(); - /* 802BE104 */ void stopOK(Z2SoundHandlePool&); - /* 802BE144 */ void startSound(JAISoundID, u32, s8); - /* 802BE2D4 */ void startLevelSound(JAISoundID, u32, s8); -}; - -struct Z2SoundObjAnime { - /* 802BEB94 */ Z2SoundObjAnime(); - /* 802BEBDC */ void init(Vec*, u8); - /* 802BEBFC */ void initAnime(void*, bool, f32, f32); - /* 802BEED4 */ void updateAnime(f32, f32); -}; - struct ResFONT {}; struct JUtility { @@ -1446,8 +1323,8 @@ SECTION_DATA extern void* __vt__10J3DMtxCalc[11 + 1 /* padding */] = { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm int mDoExt_bckAnm::init(J3DAnmTransform* param_0, int param_1, int param_2, f32 param_3, - s16 param_4, s16 param_5, bool param_6) { +asm int mDoExt_bckAnm::init(J3DAnmTransform* i_bck, int i_play, int i_attr, f32 i_rate, + s16 i_startF, s16 i_endF, bool i_modify) { nofralloc #include "asm/m_Do/m_Do_ext/init__13mDoExt_bckAnmFP15J3DAnmTransformiifssb.s" } @@ -2539,7 +2416,8 @@ asm mDoExt_McaMorf::mDoExt_McaMorf(J3DModelData* param_0, mDoExt_McaMorfCallBack #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm mDoExt_McaMorf::~mDoExt_McaMorf() { +// asm mDoExt_McaMorf::~mDoExt_McaMorf() { +extern "C" asm void __dt__14mDoExt_McaMorfFv() { nofralloc #include "asm/m_Do/m_Do_ext/__dt__14mDoExt_McaMorfFv.s" } @@ -2647,7 +2525,8 @@ asm mDoExt_McaMorfSO::mDoExt_McaMorfSO(J3DModelData* param_0, mDoExt_McaMorfCall #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm mDoExt_McaMorfSO::~mDoExt_McaMorfSO() { +// asm mDoExt_McaMorfSO::~mDoExt_McaMorfSO() { +extern "C" asm void __dt__16mDoExt_McaMorfSOFv() { nofralloc #include "asm/m_Do/m_Do_ext/__dt__16mDoExt_McaMorfSOFv.s" } @@ -2774,7 +2653,8 @@ asm mDoExt_McaMorf2::mDoExt_McaMorf2(J3DModelData* param_0, mDoExt_McaMorfCallBa #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm mDoExt_McaMorf2::~mDoExt_McaMorf2() { +// asm mDoExt_McaMorf2::~mDoExt_McaMorf2() { +extern "C" asm void __dt__15mDoExt_McaMorf2Fv() { nofralloc #include "asm/m_Do/m_Do_ext/__dt__15mDoExt_McaMorf2Fv.s" } @@ -3080,7 +2960,8 @@ asm void mDoExt_3DlineMatSortPacket::setMat(mDoExt_3DlineMat_c* param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void mDoExt_3DlineMatSortPacket::draw() { +// asm void mDoExt_3DlineMatSortPacket::draw() { +extern "C" asm void draw__26mDoExt_3DlineMatSortPacketFv() { nofralloc #include "asm/m_Do/m_Do_ext/draw__26mDoExt_3DlineMatSortPacketFv.s" } @@ -3456,25 +3337,16 @@ extern "C" asm void func_80015034(void* _this, Vec const& param_0, f32 const (&p /* 8001505C-80015084 00F99C 0028+00 7/0 0/0 0/0 .text * init__73J3DMtxCalcNoAnm<27J3DMtxCalcCalcTransformMaya,24J3DMtxCalcJ3DSysInitMaya>FRC3VecRA3_A4_Cf */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -extern "C" asm void func_8001505C(void* _this, Vec const& param_0, f32 const (¶m_1)[3][4]) { - nofralloc -#include "asm/m_Do/m_Do_ext/func_8001505C.s" +void J3DMtxCalcNoAnm::init( + Vec const& param_0, f32 const (¶m_1)[3][4]) { + J3DMtxCalcJ3DSysInitMaya::init(param_0, param_1); } -#pragma pop /* 80015084-800150AC 00F9C4 0028+00 2/0 0/0 0/0 .text * calc__73J3DMtxCalcNoAnm<27J3DMtxCalcCalcTransformMaya,24J3DMtxCalcJ3DSysInitMaya>Fv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -extern "C" asm void func_80015084(void* _this) { - nofralloc -#include "asm/m_Do/m_Do_ext/func_80015084.s" +void J3DMtxCalcNoAnm::calc() { + calcTransform(getJoint()->getTransformInfo()); } -#pragma pop /* 800150AC-8001513C 00F9EC 0090+00 1/0 0/0 0/0 .text * calc__114J3DMtxCalcAnimation<64J3DMtxCalcAnimationAdaptorDefault<27J3DMtxCalcCalcTransformMaya>,24J3DMtxCalcJ3DSysInitMaya>Fv diff --git a/src/m_Do/m_Do_graphic.cpp b/src/m_Do/m_Do_graphic.cpp index a4b1b4f12e..5008983ab4 100644 --- a/src/m_Do/m_Do_graphic.cpp +++ b/src/m_Do/m_Do_graphic.cpp @@ -18,10 +18,6 @@ // Types: // -struct JMath { - static u8 sincosTable_[65536]; -}; - struct J2DPrint { /* 802F4658 */ void setBuffer(u32); }; @@ -144,13 +140,11 @@ extern "C" void _restgpr_28(); extern "C" extern void* __vt__14J2DGrafContext[10]; extern "C" extern void* __vt__13J2DOrthoGraph[10]; extern "C" u8 now__14mDoMtx_stack_c[48]; -extern "C" extern u8 g_env_light[4880]; extern "C" f32 Zero__4cXyz[3]; extern "C" u8 mPadStatus__10JUTGamePad[48]; extern "C" u8 sincosTable___5JMath[65536]; extern "C" extern s8 data_80450580; extern "C" void* mRenderModeObj__15mDoMch_render_c[1 + 1 /* padding */]; -; extern "C" u8 systemConsole__9JFWSystem[4]; extern "C" u8 sManager__10JFWDisplay[4]; extern "C" u8 sCurrentHeap__7JKRHeap[4]; diff --git a/src/m_Do/m_Do_main.cpp b/src/m_Do/m_Do_main.cpp index 9e206cc8ca..46981db166 100644 --- a/src/m_Do/m_Do_main.cpp +++ b/src/m_Do/m_Do_main.cpp @@ -4,6 +4,7 @@ // #include "m_Do/m_Do_main.h" +#include "DynamicLink.h" #include "JSystem/JFramework/JFWSystem.h" #include "JSystem/JKernel/JKRAram.h" #include "JSystem/JUtility/JUTAssert.h" @@ -17,14 +18,7 @@ #include "m_Do/m_Do_controller_pad.h" #include "m_Do/m_Do_dvd_thread.h" #include "m_Do/m_Do_graphic.h" - -// -// Types: -// - -struct DynamicModuleControlBase { - /* 80262470 */ void dump(); -}; +#include "m_Do/m_Do_machine.h" // // Forward References: @@ -220,21 +214,21 @@ static HeapCheck CommandHeapCheck; /* 8000578C-80005848 0000CC 00BC+00 1/1 0/0 0/0 .text CheckHeap__FUl */ void CheckHeap(u32 i_padNo) { - mDoMch_HeapCheckAll__Fv(); + mDoMch_HeapCheckAll(); OSCheckActiveThreads(); bool comboCheck = false; - // if L + R + Z is pressed... + // if L + R + Z is pressed if ((mDoCPd_c::getHold(i_padNo) & ~CButton::Z) == (CButton::L + CButton::R) && mDoCPd_c::getTrig(i_padNo) & CButton::Z) { comboCheck = true; } - int unk2 = comboCheck; + int saveRel = comboCheck; for (int i = 0; i < 8; i++) { HeapCheckTable[i]->CheckHeap1(); - if (unk2) { + if (saveRel) { HeapCheckTable[i]->saveRelBase(); } } @@ -266,59 +260,24 @@ void HeapCheck::heapDisplay() const { s32 total_free_size = mHeap->getTotalFreeSize(); s32 heap_free_size = mHeap->getFreeSize(); - JUTReport(0x64, 0xd4, "[%sName]", mName); - JUTReport(0x64, 0xe3, "HeapSize %8ld", heap_size); - JUTReport(0x64, 0xf0, "TargetHeapSize %8ld", mTargetHeapSize); - JUTReport(0x64, 0xfd, "TotalFree %8ld", total_free_size - used_count); - JUTReport(0x64, 0x10a, "FreeSize %8ld", heap_free_size - used_count); - JUTReport(0x64, 0x117, "TotalUsedSize %8ld", total_used_size); - JUTReport(0x64, 0x124, "TotalUsedRate %3ld%%", + JUTReport(100, 212, "[%sName]", mName); + JUTReport(100, 227, "HeapSize %8ld", heap_size); + JUTReport(100, 240, "TargetHeapSize %8ld", mTargetHeapSize); + JUTReport(100, 253, "TotalFree %8ld", total_free_size - used_count); + JUTReport(100, 266, "FreeSize %8ld", heap_free_size - used_count); + JUTReport(100, 279, "TotalUsedSize %8ld", total_used_size); + JUTReport(100, 292, "TotalUsedRate %3ld%%", (int)(total_used_size * 0x64) / (int)mTargetHeapSize); - JUTReport(0x64, 0x131, "MaxTotalUsedSize %8ld", mMaxTotalUsedSize); - JUTReport(0x64, 0x13e, "MaxTotalUsedRate %3ld%%", + JUTReport(100, 305, "MaxTotalUsedSize %8ld", mMaxTotalUsedSize); + JUTReport(100, 318, "MaxTotalUsedRate %3ld%%", (mMaxTotalUsedSize * 0x64) / (int)mTargetHeapSize); - JUTReport(0x64, 0x14b, "MinFreeSize %8ld", mMaxTotalFreeSize - used_count); - JUTReport(0x64, 0x158, "MinFreeRate %3ld%%", + JUTReport(100, 331, "MinFreeSize %8ld", mMaxTotalFreeSize - used_count); + JUTReport(100, 344, "MinFreeRate %3ld%%", ((mMaxTotalFreeSize - used_count) * 0x64) / (int)mTargetHeapSize); used_count = countUsed(mHeap); - JUTReport(0x64, 0x165, "UsedCount %3ld%", used_count); + JUTReport(100, 357, "UsedCount %3ld%", used_count); } -/* ############################################################################################## */ -/* 803739A0-803739A0 000000 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80373AEF = ""; -SECTION_DEAD static char const* const stringBase_80373AF0 = "TotalFree"; -SECTION_DEAD static char const* const stringBase_80373AFA = "MaxUsed "; -SECTION_DEAD static char const* const stringBase_80373B04 = "Used "; -SECTION_DEAD static char const* const stringBase_80373B0E = "RelUsed "; -SECTION_DEAD static char const* const stringBase_80373B18 = "/ MaxFree"; -SECTION_DEAD static char const* const stringBase_80373B22 = "/HeapSize"; -SECTION_DEAD static char const* const stringBase_80373B2C = "Blk/Bytes"; -SECTION_DEAD static char const* const stringBase_80373B36 = "ARAM Free"; -SECTION_DEAD static char const* const stringBase_80373B40 = "%d"; -SECTION_DEAD static char const* const stringBase_80373B43 = "%s"; -SECTION_DEAD static char const* const stringBase_80373B46 = " [%s]"; -SECTION_DEAD static char const* const stringBase_80373B4C = "%10d"; -#pragma pop - -/* 803A2F14-803A2F28 -00001 0014+00 0/1 0/0 0/0 .data desc1$3717 */ -#pragma push -#pragma force_active on -SECTION_DATA static char* desc1[5] = { - "", "TotalFree", "MaxUsed ", "Used ", "RelUsed ", -}; -#pragma pop - -/* 803A2F28-803A2F40 -00001 0014+04 0/1 0/0 0/0 .data desc2$3718 */ -#pragma push -#pragma force_active on -SECTION_DATA static char* desc2[5] = { - "", "/ MaxFree", "/HeapSize", "Blk/Bytes", "Blk/Bytes", -}; -#pragma pop - /* 80450580-80450584 000000 0004+00 3/3 6/6 0/0 .sdata None */ SECTION_SDATA s8 data_80450580 = 0xFF; @@ -326,10 +285,7 @@ SECTION_SDATA s8 data_80450580 = 0xFF; SECTION_SDATA u32 mDoMain::memMargin = 0xFFFFFFFF; /* 80450588-80450590 000008 0008+00 2/2 0/0 0/0 .sdata None */ -// 0x04 is mDoMain::mHeapBriefType -SECTION_SDATA static u8 data_80450588[8] = { - 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; +SECTION_SDATA u8 mDoMain::mHeapBriefType = 4; /* 80450B00-80450B08 000000 0008+00 1/1 0/0 0/0 .sbss None */ static u8 data_80450B00; @@ -344,201 +300,136 @@ OSTime mDoMain::sHungUpTime; /* 80450B18 0001+00 data_80450B18 None */ /* 80450B19 0001+00 data_80450B19 None */ /* 80450B1A 0002+00 data_80450B1A None */ -static u8 struct_80450B18[2]; - -static u8 data_80450B1A; -static u8 data_80450B1B; +static bool struct_80450B18; // sDisplayHeapDebug +static u8 sDisplayHeap; +static bool sCheckHeap; /* 80005AD8-80005D4C 000418 0274+00 1/1 0/0 0/0 .text debugDisplay__Fv */ -#ifdef NONMATCHING -void debugDisplay(void) { - int tmp1; - int tmp2; +void debugDisplay() { + static char* desc1[5] = { + "", "TotalFree", "MaxUsed ", "Used ", "RelUsed ", + }; - if (struct_80450B18[1] >= 1 && struct_80450B18[1] <= 6) { - HeapCheckTable[struct_80450B18[1]]->heapDisplay(); + static char* desc2[5] = { + "", "/ MaxFree", "/HeapSize", "Blk/Bytes", "Blk/Bytes", + }; + + if (sDisplayHeap >= 1 && sDisplayHeap <= 6) { + HeapCheckTable[sDisplayHeap - 1]->heapDisplay(); } - if (data_80450588[0] == 5) { + if (mDoMain::mHeapBriefType == 5) { JKRAramHeap* heap = JKRAram::getAramHeap(); if (heap) { - JUTReport(0x1db, 100, "ARAM Free"); - JUTReport(0x1db, 0x72, "%d", heap->getFreeSize()); - JUTReport(0x1db, 0x80, "TotalFree"); - JUTReport(0x1db, 0x8e, "%d", heap->getTotalFreeSize()); + JUTReport(475, 100, "ARAM Free"); + JUTReport(475, 114, "%d", heap->getFreeSize()); + JUTReport(475, 128, "TotalFree"); + JUTReport(475, 142, "%d", heap->getTotalFreeSize()); + return; } - } else { - if (data_80450588[0] != 0) { - JUTReport(0x1db, 100, "%s", desc1[data_80450588[0]]); - JUTReport(0x1db, 0x72, "%s", lbl_803A2F28[data_80450588[0]]); + } else if (mDoMain::mHeapBriefType != 0) { + JUTReport(475, 100, "%s", desc1[mDoMain::mHeapBriefType]); + JUTReport(475, 114, "%s", desc2[mDoMain::mHeapBriefType]); - int k = 0; - for (int i = 0; i < 8; i++, k += 0x2C) { - HeapCheck* heap_check = HeapCheckTable[i]; + for (int i = 0; i < 8; i++) { + HeapCheck* heap_check = HeapCheckTable[i]; + JKRExpHeap* expHeap = heap_check->getHeap(); - switch (data_80450588[0]) { - case 3: { - tmp1 = heap_check->getUsedCount(); - tmp2 = heap_check->getHeap()->getTotalUsedSize(); - break; - } - case 1: { - tmp1 = heap_check->getHeap()->getTotalFreeSize(); - tmp2 = heap_check->getHeap()->getFreeSize(); - break; - } - case 2: { - tmp1 = heap_check->getMaxTotalUsedSize(); - tmp2 = heap_check->getHeap()->getSize(); - break; - } - case 4: { - tmp1 = heap_check->getUsedCount() - heap_check->getUsedCountRef(); - tmp2 = heap_check->getHeap()->getTotalUsedSize() - - heap_check->getTotalUsedSizeRef(); - break; - } - - JUTReport(0x1db, k + 0x96, " [%s]", heap_check->getName()); - JUTReport(0x1db, k + 0xA4, "%10d", tmp1); - JUTReport(0x1db, k + 0xB2, "%10d", tmp2); - } + s32 check1; + s32 check2; + switch (mDoMain::mHeapBriefType) { + case 1: + check1 = expHeap->getTotalFreeSize(); + check2 = expHeap->getFreeSize(); + break; + case 2: + check1 = heap_check->getMaxTotalUsedSize(); + check2 = expHeap->getHeapSize(); + break; + case 3: + check1 = heap_check->getUsedCount(); + check2 = expHeap->getTotalUsedSize(); + break; + case 4: + check1 = heap_check->getRelUsedCount(); + check2 = heap_check->getRelTotalUsedSize(); + break; } + + JUTReport(475, (i * 44) + 150, " [%s]", heap_check->getName()); + JUTReport(475, (i * 44) + 164, "%10d", check1); + JUTReport(475, (i * 44) + 178, "%10d", check2); } } } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void debugDisplay() { - nofralloc -#include "asm/m_Do/m_Do_main/debugDisplay__Fv.s" -} -#pragma pop -#endif - -/* ############################################################################################## */ -/* 803739A0-803739A0 000000 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80373B51 = "Press X+Y+START to CLEAR console."; -SECTION_DEAD static char const* const stringBase_80373B73 = "3DStick UP/Down to scroll"; -SECTION_DEAD static char const* const stringBase_80373B8D = - "Press A to output terminal from console."; -SECTION_DEAD static char const* const stringBase_80373BB6 = "SCROLL:%3d %3d %3d Output=%1x"; -SECTION_DEAD static char const* const stringBase_80373BD5 = "Press L+R trigger to control console."; -SECTION_DEAD static char const* const stringBase_80373BFB = - "Press [Z] trigger to close this window."; -#pragma pop - -/* 80450B1C-80450B20 00001C 0004+00 1/1 0/0 0/0 .sbss console_position_x$3776 */ -static f32 console_position_x; - -/* 80450B20-80450B24 000020 0004+00 1/1 0/0 0/0 .sbss None */ -static s8 data_80450B20; - -/* 80450B24-80450B28 000024 0004+00 1/1 0/0 0/0 .sbss console_position_y$3779 */ -static f32 console_position_y; - -/* 80450B28-80450B2C 000028 0004+00 1/1 0/0 0/0 .sbss None */ -static s8 data_80450B28; - -/* 80450B2C-80450B30 00002C 0004+00 1/1 0/0 0/0 .sbss console_scroll$3782 */ -static f32 console_scroll; - -/* 80450B30-80450B34 000030 0004+00 1/1 0/0 0/0 .sbss None */ -static s8 data_80450B30; - -/* 80451A00-80451A04 000000 0004+00 1/1 0/0 0/0 .sdata2 @3884 */ -SECTION_SDATA2 static f32 lit_3884 = 20.0f; - -/* 80451A04-80451A08 000004 0004+00 1/1 0/0 0/0 .sdata2 @3885 */ -SECTION_SDATA2 static f32 lit_3885 = 30.0f; - -/* 80451A08-80451A0C 000008 0004+00 1/1 0/0 0/0 .sdata2 @3886 */ -SECTION_SDATA2 static u8 lit_3886[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; - -/* 80451A0C-80451A10 00000C 0004+00 1/1 0/0 0/0 .sdata2 @3887 */ -SECTION_SDATA2 static f32 lit_3887 = 1.0f; - -/* 80451A10-80451A18 000010 0004+04 1/1 0/0 0/0 .sdata2 @3888 */ -SECTION_SDATA2 static f32 lit_3888[1 + 1 /* padding */] = { - -1.0f, - /* padding */ - 0.0f, -}; - -/* 80451A18-80451A20 000018 0008+00 1/1 0/0 0/0 .sdata2 @3890 */ -SECTION_SDATA2 static f64 lit_3890 = 4503601774854144.0 /* cast s32 to float */; /* 80005D4C-8000614C 00068C 0400+00 1/1 0/0 0/0 .text Debug_console__FUl */ -// middle section has lots of issues -#ifdef NONMATCHING bool Debug_console(u32 i_padNo) { - float tmp2; - float tmp3; - int tmp6; + static f32 console_position_x; + static s8 console_x_init; + + static f32 console_position_y; + static s8 console_y_init; + + static f32 console_scroll; + static s8 console_scroll_init; JUTConsole* console = JFWSystem::getSystemConsole(); if (console) { - if (!data_80450B20) { + if (!console_x_init) { console_position_x = 20.0f; - data_80450B20 = 1; + console_x_init = 1; } - if (!data_80450B28) { + if (!console_y_init) { console_position_y = 30.0f; - data_80450B28 = 1; + console_y_init = 1; } - if (!data_80450B30) { + if (!console_scroll_init) { console_scroll = 0.0f; - data_80450B30 = 1; + console_scroll_init = 1; } if (mDoCPd_c::getTrig(i_padNo) & CButton::Z && !(mDoCPd_c::getHold(i_padNo) & ~CButton::Z)) { - bool visible = console->isVisible() == false; - console->setVisible(visible); + console->setVisible(console->isVisible() == false); JUTAssertion::setMessageCount(0); } if (console->isVisible()) { - // if R and L are pressed - if ((mDoCPd_c::getHold(i_padNo) & CButton::L && - mDoCPd_c::getHold(i_padNo) & CButton::R) || - ((mDoCPd_c::getAnalogL(i_padNo) > 0.0f && - (0.0f > mDoCPd_c::getAnalogR(i_padNo))))) { - if (mDoCPd_c::getTrig(i_padNo) & (CButton::Y | CButton::X) && + u32 holdButtons = mDoCPd_c::getHold(i_padNo); + if ((holdButtons & CButton::L && holdButtons & CButton::R) || + ((mDoCPd_c::getAnalogL(i_padNo) > 0.0f && mDoCPd_c::getAnalogR(i_padNo) > 0.0f))) { + f32 stick_x = mDoCPd_c::getStickX(i_padNo); + f32 stick_y = mDoCPd_c::getStickY(i_padNo); + + if (holdButtons & (CButton::Y | CButton::X) && mDoCPd_c::getTrig(i_padNo) & CButton::START) { console->clear(); } if (!(mDoCPd_c::getHold(i_padNo) & (CButton::Y | CButton::X))) { - // subtract console scroll value from stick Y - console_scroll -= mDoCPd_c::getStickY(i_padNo); - int tmp; - if (1.0f <= console_scroll) { - -1.0f <= console_scroll ? tmp = 0 : tmp = -console_scroll; + console_scroll -= stick_y; + + int scrollAmount; + if (console_scroll > 1.0f) { + scrollAmount = console_scroll; + } else if (console_scroll < -1.0f) { + scrollAmount = -(int)-console_scroll; } else { - tmp = mDoCPd_c::getStickX(i_padNo) - mDoCPd_c::getStickY(i_padNo); + scrollAmount = 0; } - if (tmp) { - console_scroll -= tmp; - console->scroll(tmp); + if (scrollAmount != 0) { + console_scroll -= scrollAmount; + console->scroll(scrollAmount); } } else { if (mDoCPd_c::getHold(i_padNo) & CButton::X) { - console_position_x += mDoCPd_c::getStickX(i_padNo); + console_position_x += stick_x; } if (mDoCPd_c::getHold(i_padNo) & CButton::Y) { - console_position_y -= mDoCPd_c::getStickY(i_padNo); + console_position_y -= stick_y; } } @@ -547,54 +438,45 @@ bool Debug_console(u32 i_padNo) { console->setOutput(JUTConsole::OUTPUT_OSREPORT | JUTConsole::OUTPUT_CONSOLE); } - JUTReport(0x1E, 0x186, 1, "Press X+Y+START to CLEAR console."); - JUTReport(0x1E, 400, 1, "3DStick UP/Down to scroll"); - JUTReport(0x1E, 0x19A, 1, "Press A to output terminal from console."); - JUTReport(0x1E, 0x1A4, 1, "SCROLL:%3d %3d %3d Output=%1x", - console->getLineOffset(), console->getPositionX(), - console->getPositionY(), console->getOutput()); - } - } else { - if (mDoCPd_c::getTrig(i_padNo) & CButton::DPAD_DOWN) { - g_HIO.mDisplayMeter ^= 1; - } + JUTReport(30, 390, 1, "Press X+Y+START to CLEAR console."); + JUTReport(30, 400, 1, "3DStick UP/Down to scroll"); + JUTReport(30, 410, 1, "Press A to output terminal from console."); + JUTReport(30, 420, 1, "SCROLL:%3d %3d %3d Output=%1x", console->getLineOffset(), + console->getPositionX(), console->getPositionY(), console->getOutput()); + } else { + u32 pressButtons = mDoCPd_c::getTrig(i_padNo); - if (mDoCPd_c::getTrig(i_padNo) & CButton::DPAD_LEFT) { - if (JKRAram::getAramHeap()) { - JKRAram::getAramHeap()->dump(); + if (pressButtons & CButton::DPAD_DOWN) { + g_HIO.mDisplayMeter ^= 1; } - dump__24DynamicModuleControlBaseFv(); - g_dComIfG_gameInfo.mResControl.dump(); - } + if (pressButtons & CButton::DPAD_LEFT) { + if (JKRAram::getAramHeap()) { + JKRAram::getAramHeap()->dump(); + } - if (mDoCPd_c::getTrig(i_padNo) & CButton::DPAD_RIGHT) { - JKRHeap::getSystemHeap()->dump_sort(); - } + dump__24DynamicModuleControlBaseFv(); + g_dComIfG_gameInfo.mResControl.dump(); + } - if (mDoCPd_c::getTrig(i_padNo) & CButton::DPAD_UP) { - zeldaHeap->dump_sort(); - gameHeap->dump_sort(); - archiveHeap->dump_sort(); + if (mDoCPd_c::getTrig(i_padNo) & CButton::DPAD_RIGHT) { + JKRHeap::getSystemHeap()->dump_sort(); + } + + if (mDoCPd_c::getTrig(i_padNo) & CButton::DPAD_UP) { + zeldaHeap->dump_sort(); + gameHeap->dump_sort(); + archiveHeap->dump_sort(); + } + JUTReport(30, 440, 1, "Press L+R trigger to control console."); + JUTReport(30, 450, 1, "Press [Z] trigger to close this window."); } - JUTReport(0x1E, 0x1B8, 1, "Press L+R trigger to control console."); - JUTReport(0x1E, 0x1C2, 1, "Press [Z] trigger to close this window."); + console->setPosition(console_position_x, console_position_y); + return 1; } - console->setPosition(console_position_x, console_position_y); - return 1; } return 0; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void Debug_console(u32 param_0) { - nofralloc -#include "asm/m_Do/m_Do_main/Debug_console__FUl.s" -} -#pragma pop -#endif /* ############################################################################################## */ /* 803739A0-803739A0 000000 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ @@ -633,25 +515,26 @@ asm void* LOAD_COPYDATE(void* param_0) { static void debug() { if (data_80450580) { - if (data_80450B1A) { - CheckHeap(2); + if (sCheckHeap) { + CheckHeap(PAD_3); } - if ((mDoCPd_c::getGamePad(2)->getButton() & ~CButton::Z) == CButton::R && - mDoCPd_c::getGamePad(2)->testTrigger(CButton::Z)) { - struct_80450B18[0] ^= 0x1; + if ((mDoCPd_c::getGamePad(PAD_3)->getButton() & ~CButton::Z) == CButton::R && + mDoCPd_c::getGamePad(PAD_3)->testTrigger(CButton::Z)) { + struct_80450B18 ^= 1; } - if (struct_80450B18[0]) { - if ((mDoCPd_c::getGamePad(2)->getButton() & ~CButton::Z) == CButton::L && - mDoCPd_c::getGamePad(2)->testTrigger(CButton::Z)) { - data_80450588[0] < 0x5 ? data_80450588[0]++ : data_80450588[0] = 0x1; + if (struct_80450B18) { + if ((mDoCPd_c::getGamePad(PAD_3)->getButton() & ~CButton::Z) == CButton::L && + mDoCPd_c::getGamePad(PAD_3)->testTrigger(CButton::Z)) { + mDoMain::mHeapBriefType < 5 ? mDoMain::mHeapBriefType++ : + mDoMain::mHeapBriefType = 1; } debugDisplay(); } - Debug_console(2); + Debug_console(PAD_3); } } @@ -660,7 +543,7 @@ static void debug() { static u32 frame; /* 8000628C-80006454 000BCC 01C8+00 1/1 0/0 0/0 .text main01__Fv */ -// almost +// only issue is output check section with weird code gen #ifdef NONMATCHING void main01(void) { mDoMch_Create__Fv(); @@ -708,18 +591,18 @@ void main01(void) { } JUTConsole* console = JFWSystem::getSystemConsole(); - u32 output = JUTConsole::OUTPUT_OSREPORT | JUTConsole::OUTPUT_CONSOLE; + s32 output = 0; if (data_80450580 != 0) { - data_80450580 = JUTConsole::OUTPUT_NONE; + output = JUTConsole::OUTPUT_OSREPORT | JUTConsole::OUTPUT_CONSOLE; } - console->setOutput(output); + console->setOutput(output); console->setPosition(32, 42); mDoDvdThd_callback_c::create(LOAD_COPYDATE, NULL); fapGm_Create__Fv(); fopAcM_initManager__Fv(); - struct_80450B18[0] = 0; + struct_80450B18 = 0; cDyl_InitAsync__Fv(); g_mDoAud_audioHeap = JKRSolidHeap::create(0x14D800, JKRHeap::getCurrentHeap(), false); @@ -761,7 +644,7 @@ static OSThread mainThread; /* 80006454-800065D8 000D94 0184+00 0/0 1/1 0/0 .text main */ void main() { OSThread* current_thread = OSGetCurrentThread(); - u8* stack = &mainThreadStack[0]; + u8* stack = mainThreadStack; mDoMain::sPowerOnTime = OSGetTime(); OSReportInit(); version_check(); @@ -795,7 +678,7 @@ void main() { data_80450580 = 1; } else if (disk_id->game_version > 0x80) { u32 consoleType = OSGetConsoleType(); - data_80450580 = (consoleType >> 0x1c) & 1; + data_80450580 = (consoleType >> 0x1C) & 1; } else { data_80450580 = 0; }