diff --git a/asm/JSystem/JUtility/JUTFader/__ct__8JUTFaderFiiiiQ28JUtility6TColor.s b/asm/JSystem/JUtility/JUTFader/__ct__8JUTFaderFiiiiQ28JUtility6TColor.s deleted file mode 100644 index e97233ddcb..0000000000 --- a/asm/JSystem/JUtility/JUTFader/__ct__8JUTFaderFiiiiQ28JUtility6TColor.s +++ /dev/null @@ -1,44 +0,0 @@ -lbl_802E5530: -/* 802E5530 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 802E5534 3D 20 80 3D */ lis r9, __vt__8JUTFader@ha /* 0x803CC990@ha */ -/* 802E5538 38 09 C9 90 */ addi r0, r9, __vt__8JUTFader@l /* 0x803CC990@l */ -/* 802E553C 90 03 00 00 */ stw r0, 0(r3) -/* 802E5540 80 08 00 00 */ lwz r0, 0(r8) -/* 802E5544 90 03 00 0C */ stw r0, 0xc(r3) -/* 802E5548 C8 22 C6 D0 */ lfd f1, lit_2196(r2) -/* 802E554C 6C 80 80 00 */ xoris r0, r4, 0x8000 -/* 802E5550 90 01 00 0C */ stw r0, 0xc(r1) -/* 802E5554 3D 00 43 30 */ lis r8, 0x4330 -/* 802E5558 91 01 00 08 */ stw r8, 8(r1) -/* 802E555C C8 01 00 08 */ lfd f0, 8(r1) -/* 802E5560 EC 00 08 28 */ fsubs f0, f0, f1 -/* 802E5564 D0 03 00 10 */ stfs f0, 0x10(r3) -/* 802E5568 6C A0 80 00 */ xoris r0, r5, 0x8000 -/* 802E556C 90 01 00 14 */ stw r0, 0x14(r1) -/* 802E5570 91 01 00 10 */ stw r8, 0x10(r1) -/* 802E5574 C8 01 00 10 */ lfd f0, 0x10(r1) -/* 802E5578 EC 00 08 28 */ fsubs f0, f0, f1 -/* 802E557C D0 03 00 14 */ stfs f0, 0x14(r3) -/* 802E5580 7C 04 32 14 */ add r0, r4, r6 -/* 802E5584 6C 00 80 00 */ xoris r0, r0, 0x8000 -/* 802E5588 90 01 00 1C */ stw r0, 0x1c(r1) -/* 802E558C 91 01 00 18 */ stw r8, 0x18(r1) -/* 802E5590 C8 01 00 18 */ lfd f0, 0x18(r1) -/* 802E5594 EC 00 08 28 */ fsubs f0, f0, f1 -/* 802E5598 D0 03 00 18 */ stfs f0, 0x18(r3) -/* 802E559C 7C 05 3A 14 */ add r0, r5, r7 -/* 802E55A0 6C 00 80 00 */ xoris r0, r0, 0x8000 -/* 802E55A4 90 01 00 24 */ stw r0, 0x24(r1) -/* 802E55A8 91 01 00 20 */ stw r8, 0x20(r1) -/* 802E55AC C8 01 00 20 */ lfd f0, 0x20(r1) -/* 802E55B0 EC 00 08 28 */ fsubs f0, f0, f1 -/* 802E55B4 D0 03 00 1C */ stfs f0, 0x1c(r3) -/* 802E55B8 38 00 00 00 */ li r0, 0 -/* 802E55BC 90 03 00 04 */ stw r0, 4(r3) -/* 802E55C0 B0 03 00 08 */ sth r0, 8(r3) -/* 802E55C4 B0 03 00 0A */ sth r0, 0xa(r3) -/* 802E55C8 90 03 00 24 */ stw r0, 0x24(r3) -/* 802E55CC 38 00 FF FF */ li r0, -1 -/* 802E55D0 90 03 00 20 */ stw r0, 0x20(r3) -/* 802E55D4 38 21 00 30 */ addi r1, r1, 0x30 -/* 802E55D8 4E 80 00 20 */ blr diff --git a/asm/JSystem/JUtility/JUTFader/__dt__8JUTFaderFv.s b/asm/JSystem/JUtility/JUTFader/__dt__8JUTFaderFv.s deleted file mode 100644 index dbddfc9c06..0000000000 --- a/asm/JSystem/JUtility/JUTFader/__dt__8JUTFaderFv.s +++ /dev/null @@ -1,20 +0,0 @@ -lbl_802E5840: -/* 802E5840 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802E5844 7C 08 02 A6 */ mflr r0 -/* 802E5848 90 01 00 14 */ stw r0, 0x14(r1) -/* 802E584C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802E5850 7C 7F 1B 79 */ or. r31, r3, r3 -/* 802E5854 41 82 00 1C */ beq lbl_802E5870 -/* 802E5858 3C A0 80 3D */ lis r5, __vt__8JUTFader@ha /* 0x803CC990@ha */ -/* 802E585C 38 05 C9 90 */ addi r0, r5, __vt__8JUTFader@l /* 0x803CC990@l */ -/* 802E5860 90 1F 00 00 */ stw r0, 0(r31) -/* 802E5864 7C 80 07 35 */ extsh. r0, r4 -/* 802E5868 40 81 00 08 */ ble lbl_802E5870 -/* 802E586C 4B FE 94 D1 */ bl __dl__FPv -lbl_802E5870: -/* 802E5870 7F E3 FB 78 */ mr r3, r31 -/* 802E5874 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802E5878 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802E587C 7C 08 03 A6 */ mtlr r0 -/* 802E5880 38 21 00 10 */ addi r1, r1, 0x10 -/* 802E5884 4E 80 00 20 */ blr diff --git a/asm/JSystem/JUtility/JUTFader/startFadeIn__8JUTFaderFi.s b/asm/JSystem/JUtility/JUTFader/startFadeIn__8JUTFaderFi.s deleted file mode 100644 index c4a22c9f06..0000000000 --- a/asm/JSystem/JUtility/JUTFader/startFadeIn__8JUTFaderFi.s +++ /dev/null @@ -1,14 +0,0 @@ -lbl_802E576C: -/* 802E576C 80 03 00 04 */ lwz r0, 4(r3) -/* 802E5770 7C 00 00 34 */ cntlzw r0, r0 -/* 802E5774 54 05 D9 7E */ srwi r5, r0, 5 -/* 802E5778 54 00 DE 3F */ rlwinm. r0, r0, 0x1b, 0x18, 0x1f -/* 802E577C 41 82 00 18 */ beq lbl_802E5794 -/* 802E5780 38 00 00 02 */ li r0, 2 -/* 802E5784 90 03 00 04 */ stw r0, 4(r3) -/* 802E5788 38 00 00 00 */ li r0, 0 -/* 802E578C B0 03 00 0A */ sth r0, 0xa(r3) -/* 802E5790 B0 83 00 08 */ sth r4, 8(r3) -lbl_802E5794: -/* 802E5794 7C A3 2B 78 */ mr r3, r5 -/* 802E5798 4E 80 00 20 */ blr diff --git a/asm/JSystem/JUtility/JUTFader/startFadeOut__8JUTFaderFi.s b/asm/JSystem/JUtility/JUTFader/startFadeOut__8JUTFaderFi.s deleted file mode 100644 index 58b020ffd5..0000000000 --- a/asm/JSystem/JUtility/JUTFader/startFadeOut__8JUTFaderFi.s +++ /dev/null @@ -1,15 +0,0 @@ -lbl_802E579C: -/* 802E579C 80 03 00 04 */ lwz r0, 4(r3) -/* 802E57A0 20 00 00 01 */ subfic r0, r0, 1 -/* 802E57A4 7C 00 00 34 */ cntlzw r0, r0 -/* 802E57A8 54 05 D9 7E */ srwi r5, r0, 5 -/* 802E57AC 54 00 DE 3F */ rlwinm. r0, r0, 0x1b, 0x18, 0x1f -/* 802E57B0 41 82 00 18 */ beq lbl_802E57C8 -/* 802E57B4 38 00 00 03 */ li r0, 3 -/* 802E57B8 90 03 00 04 */ stw r0, 4(r3) -/* 802E57BC 38 00 00 00 */ li r0, 0 -/* 802E57C0 B0 03 00 0A */ sth r0, 0xa(r3) -/* 802E57C4 B0 83 00 08 */ sth r4, 8(r3) -lbl_802E57C8: -/* 802E57C8 7C A3 2B 78 */ mr r3, r5 -/* 802E57CC 4E 80 00 20 */ blr diff --git a/asm/JSystem/JUtility/JUTVideo/__dt__8JUTVideoFv.s b/asm/JSystem/JUtility/JUTVideo/__dt__8JUTVideoFv.s deleted file mode 100644 index bbcae5ed35..0000000000 --- a/asm/JSystem/JUtility/JUTVideo/__dt__8JUTVideoFv.s +++ /dev/null @@ -1,28 +0,0 @@ -lbl_802E4DE8: -/* 802E4DE8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802E4DEC 7C 08 02 A6 */ mflr r0 -/* 802E4DF0 90 01 00 14 */ stw r0, 0x14(r1) -/* 802E4DF4 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802E4DF8 93 C1 00 08 */ stw r30, 8(r1) -/* 802E4DFC 7C 7E 1B 79 */ or. r30, r3, r3 -/* 802E4E00 7C 9F 23 78 */ mr r31, r4 -/* 802E4E04 41 82 00 30 */ beq lbl_802E4E34 -/* 802E4E08 3C 60 80 3D */ lis r3, __vt__8JUTVideo@ha /* 0x803CC980@ha */ -/* 802E4E0C 38 03 C9 80 */ addi r0, r3, __vt__8JUTVideo@l /* 0x803CC980@l */ -/* 802E4E10 90 1E 00 00 */ stw r0, 0(r30) -/* 802E4E14 80 7E 00 1C */ lwz r3, 0x1c(r30) -/* 802E4E18 48 06 73 C9 */ bl VISetPreRetraceCallback -/* 802E4E1C 80 7E 00 20 */ lwz r3, 0x20(r30) -/* 802E4E20 48 06 74 05 */ bl VISetPostRetraceCallback -/* 802E4E24 7F E0 07 35 */ extsh. r0, r31 -/* 802E4E28 40 81 00 0C */ ble lbl_802E4E34 -/* 802E4E2C 7F C3 F3 78 */ mr r3, r30 -/* 802E4E30 4B FE 9F 0D */ bl __dl__FPv -lbl_802E4E34: -/* 802E4E34 7F C3 F3 78 */ mr r3, r30 -/* 802E4E38 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802E4E3C 83 C1 00 08 */ lwz r30, 8(r1) -/* 802E4E40 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802E4E44 7C 08 03 A6 */ mtlr r0 -/* 802E4E48 38 21 00 10 */ addi r1, r1, 0x10 -/* 802E4E4C 4E 80 00 20 */ blr diff --git a/asm/JSystem/JUtility/JUTVideo/createManager__8JUTVideoFPC16_GXRenderModeObj.s b/asm/JSystem/JUtility/JUTVideo/createManager__8JUTVideoFPC16_GXRenderModeObj.s deleted file mode 100644 index a359a94119..0000000000 --- a/asm/JSystem/JUtility/JUTVideo/createManager__8JUTVideoFPC16_GXRenderModeObj.s +++ /dev/null @@ -1,25 +0,0 @@ -lbl_802E4C54: -/* 802E4C54 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802E4C58 7C 08 02 A6 */ mflr r0 -/* 802E4C5C 90 01 00 14 */ stw r0, 0x14(r1) -/* 802E4C60 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802E4C64 7C 7F 1B 78 */ mr r31, r3 -/* 802E4C68 80 0D 8F B8 */ lwz r0, sManager__8JUTVideo(r13) -/* 802E4C6C 28 00 00 00 */ cmplwi r0, 0 -/* 802E4C70 40 82 00 24 */ bne lbl_802E4C94 -/* 802E4C74 38 60 00 58 */ li r3, 0x58 -/* 802E4C78 4B FE 9F D5 */ bl __nw__FUl -/* 802E4C7C 7C 60 1B 79 */ or. r0, r3, r3 -/* 802E4C80 41 82 00 10 */ beq lbl_802E4C90 -/* 802E4C84 7F E4 FB 78 */ mr r4, r31 -/* 802E4C88 48 00 00 6D */ bl __ct__8JUTVideoFPC16_GXRenderModeObj -/* 802E4C8C 7C 60 1B 78 */ mr r0, r3 -lbl_802E4C90: -/* 802E4C90 90 0D 8F B8 */ stw r0, sManager__8JUTVideo(r13) -lbl_802E4C94: -/* 802E4C94 80 6D 8F B8 */ lwz r3, sManager__8JUTVideo(r13) -/* 802E4C98 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802E4C9C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802E4CA0 7C 08 03 A6 */ mtlr r0 -/* 802E4CA4 38 21 00 10 */ addi r1, r1, 0x10 -/* 802E4CA8 4E 80 00 20 */ blr diff --git a/asm/JSystem/JUtility/JUTVideo/destroyManager__8JUTVideoFv.s b/asm/JSystem/JUtility/JUTVideo/destroyManager__8JUTVideoFv.s deleted file mode 100644 index 65853aca6b..0000000000 --- a/asm/JSystem/JUtility/JUTVideo/destroyManager__8JUTVideoFv.s +++ /dev/null @@ -1,21 +0,0 @@ -lbl_802E4CAC: -/* 802E4CAC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802E4CB0 7C 08 02 A6 */ mflr r0 -/* 802E4CB4 90 01 00 14 */ stw r0, 0x14(r1) -/* 802E4CB8 80 6D 8F B8 */ lwz r3, sManager__8JUTVideo(r13) -/* 802E4CBC 28 03 00 00 */ cmplwi r3, 0 -/* 802E4CC0 41 82 00 24 */ beq lbl_802E4CE4 -/* 802E4CC4 41 82 00 18 */ beq lbl_802E4CDC -/* 802E4CC8 38 80 00 01 */ li r4, 1 -/* 802E4CCC 81 83 00 00 */ lwz r12, 0(r3) -/* 802E4CD0 81 8C 00 08 */ lwz r12, 8(r12) -/* 802E4CD4 7D 89 03 A6 */ mtctr r12 -/* 802E4CD8 4E 80 04 21 */ bctrl -lbl_802E4CDC: -/* 802E4CDC 38 00 00 00 */ li r0, 0 -/* 802E4CE0 90 0D 8F B8 */ stw r0, sManager__8JUTVideo(r13) -lbl_802E4CE4: -/* 802E4CE4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802E4CE8 7C 08 03 A6 */ mtlr r0 -/* 802E4CEC 38 21 00 10 */ addi r1, r1, 0x10 -/* 802E4CF0 4E 80 00 20 */ blr diff --git a/asm/JSystem/JUtility/JUTVideo/drawDoneStart__8JUTVideoFv.s b/asm/JSystem/JUtility/JUTVideo/drawDoneStart__8JUTVideoFv.s deleted file mode 100644 index 7a3e50ad14..0000000000 --- a/asm/JSystem/JUtility/JUTVideo/drawDoneStart__8JUTVideoFv.s +++ /dev/null @@ -1,11 +0,0 @@ -lbl_802E5088: -/* 802E5088 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802E508C 7C 08 02 A6 */ mflr r0 -/* 802E5090 90 01 00 14 */ stw r0, 0x14(r1) -/* 802E5094 38 00 00 01 */ li r0, 1 -/* 802E5098 98 0D 8F C4 */ stb r0, data_80451544(r13) -/* 802E509C 48 07 71 C1 */ bl GXSetDrawDone -/* 802E50A0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802E50A4 7C 08 03 A6 */ mtlr r0 -/* 802E50A8 38 21 00 10 */ addi r1, r1, 0x10 -/* 802E50AC 4E 80 00 20 */ blr diff --git a/asm/JSystem/JUtility/JUTVideo/dummyNoDrawWait__8JUTVideoFv.s b/asm/JSystem/JUtility/JUTVideo/dummyNoDrawWait__8JUTVideoFv.s deleted file mode 100644 index 8f216c53ae..0000000000 --- a/asm/JSystem/JUtility/JUTVideo/dummyNoDrawWait__8JUTVideoFv.s +++ /dev/null @@ -1,4 +0,0 @@ -lbl_802E50B0: -/* 802E50B0 38 00 00 00 */ li r0, 0 -/* 802E50B4 98 0D 8F C4 */ stb r0, data_80451544(r13) -/* 802E50B8 4E 80 00 20 */ blr diff --git a/asm/JSystem/JUtility/JUTVideo/setRenderMode__8JUTVideoFPC16_GXRenderModeObj.s b/asm/JSystem/JUtility/JUTVideo/setRenderMode__8JUTVideoFPC16_GXRenderModeObj.s deleted file mode 100644 index b1997c5393..0000000000 --- a/asm/JSystem/JUtility/JUTVideo/setRenderMode__8JUTVideoFPC16_GXRenderModeObj.s +++ /dev/null @@ -1,33 +0,0 @@ -lbl_802E5198: -/* 802E5198 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802E519C 7C 08 02 A6 */ mflr r0 -/* 802E51A0 90 01 00 14 */ stw r0, 0x14(r1) -/* 802E51A4 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802E51A8 7C 7F 1B 78 */ mr r31, r3 -/* 802E51AC 80 A3 00 04 */ lwz r5, 4(r3) -/* 802E51B0 28 05 00 00 */ cmplwi r5, 0 -/* 802E51B4 41 82 00 24 */ beq lbl_802E51D8 -/* 802E51B8 80 64 00 00 */ lwz r3, 0(r4) -/* 802E51BC 80 05 00 00 */ lwz r0, 0(r5) -/* 802E51C0 7C 03 00 00 */ cmpw r3, r0 -/* 802E51C4 41 82 00 14 */ beq lbl_802E51D8 -/* 802E51C8 38 00 00 01 */ li r0, 1 -/* 802E51CC 98 1F 00 2C */ stb r0, 0x2c(r31) -/* 802E51D0 38 00 00 04 */ li r0, 4 -/* 802E51D4 90 1F 00 30 */ stw r0, 0x30(r31) -lbl_802E51D8: -/* 802E51D8 90 9F 00 04 */ stw r4, 4(r31) -/* 802E51DC 80 7F 00 04 */ lwz r3, 4(r31) -/* 802E51E0 48 06 7C AD */ bl VIConfigure -/* 802E51E4 48 06 84 B1 */ bl VIFlush -/* 802E51E8 88 1F 00 2C */ lbz r0, 0x2c(r31) -/* 802E51EC 28 00 00 00 */ cmplwi r0, 0 -/* 802E51F0 41 82 00 0C */ beq lbl_802E51FC -/* 802E51F4 48 06 77 D1 */ bl VIWaitForRetrace -/* 802E51F8 48 06 77 CD */ bl VIWaitForRetrace -lbl_802E51FC: -/* 802E51FC 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802E5200 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802E5204 7C 08 03 A6 */ mtlr r0 -/* 802E5208 38 21 00 10 */ addi r1, r1, 0x10 -/* 802E520C 4E 80 00 20 */ blr diff --git a/asm/JSystem/JUtility/JUTXfb/__dt__6JUTXfbFv.s b/asm/JSystem/JUtility/JUTXfb/__dt__6JUTXfbFv.s deleted file mode 100644 index c3680ea3b0..0000000000 --- a/asm/JSystem/JUtility/JUTXfb/__dt__6JUTXfbFv.s +++ /dev/null @@ -1,31 +0,0 @@ -lbl_802E5308: -/* 802E5308 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802E530C 7C 08 02 A6 */ mflr r0 -/* 802E5310 90 01 00 24 */ stw r0, 0x24(r1) -/* 802E5314 39 61 00 20 */ addi r11, r1, 0x20 -/* 802E5318 48 07 CE C5 */ bl _savegpr_29 -/* 802E531C 7C 7D 1B 79 */ or. r29, r3, r3 -/* 802E5320 7C 9E 23 78 */ mr r30, r4 -/* 802E5324 41 82 00 38 */ beq lbl_802E535C -/* 802E5328 3B E0 00 00 */ li r31, 0 -lbl_802E532C: -/* 802E532C 7F A3 EB 78 */ mr r3, r29 -/* 802E5330 7F E4 FB 78 */ mr r4, r31 -/* 802E5334 48 00 00 45 */ bl delXfb__6JUTXfbFi -/* 802E5338 3B FF 00 01 */ addi r31, r31, 1 -/* 802E533C 2C 1F 00 03 */ cmpwi r31, 3 -/* 802E5340 41 80 FF EC */ blt lbl_802E532C -/* 802E5344 38 00 00 00 */ li r0, 0 -/* 802E5348 90 0D 8F D0 */ stw r0, sManager__6JUTXfb(r13) -/* 802E534C 7F C0 07 35 */ extsh. r0, r30 -/* 802E5350 40 81 00 0C */ ble lbl_802E535C -/* 802E5354 7F A3 EB 78 */ mr r3, r29 -/* 802E5358 4B FE 99 E5 */ bl __dl__FPv -lbl_802E535C: -/* 802E535C 7F A3 EB 78 */ mr r3, r29 -/* 802E5360 39 61 00 20 */ addi r11, r1, 0x20 -/* 802E5364 48 07 CE C5 */ bl _restgpr_29 -/* 802E5368 80 01 00 24 */ lwz r0, 0x24(r1) -/* 802E536C 7C 08 03 A6 */ mtlr r0 -/* 802E5370 38 21 00 20 */ addi r1, r1, 0x20 -/* 802E5374 4E 80 00 20 */ blr diff --git a/asm/JSystem/JUtility/JUTXfb/clearIndex__6JUTXfbFv.s b/asm/JSystem/JUtility/JUTXfb/clearIndex__6JUTXfbFv.s deleted file mode 100644 index 4b79720d17..0000000000 --- a/asm/JSystem/JUtility/JUTXfb/clearIndex__6JUTXfbFv.s +++ /dev/null @@ -1,6 +0,0 @@ -lbl_802E5214: -/* 802E5214 38 00 FF FF */ li r0, -1 -/* 802E5218 B0 03 00 14 */ sth r0, 0x14(r3) -/* 802E521C B0 03 00 16 */ sth r0, 0x16(r3) -/* 802E5220 B0 03 00 18 */ sth r0, 0x18(r3) -/* 802E5224 4E 80 00 20 */ blr diff --git a/asm/JSystem/JUtility/JUTXfb/common_init__6JUTXfbFi.s b/asm/JSystem/JUtility/JUTXfb/common_init__6JUTXfbFi.s deleted file mode 100644 index 5886ca6a99..0000000000 --- a/asm/JSystem/JUtility/JUTXfb/common_init__6JUTXfbFi.s +++ /dev/null @@ -1,15 +0,0 @@ -lbl_802E5228: -/* 802E5228 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802E522C 7C 08 02 A6 */ mflr r0 -/* 802E5230 90 01 00 14 */ stw r0, 0x14(r1) -/* 802E5234 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802E5238 7C 7F 1B 78 */ mr r31, r3 -/* 802E523C 90 83 00 10 */ stw r4, 0x10(r3) -/* 802E5240 4B FF FF D5 */ bl clearIndex__6JUTXfbFv -/* 802E5244 38 00 00 63 */ li r0, 0x63 -/* 802E5248 90 1F 00 1C */ stw r0, 0x1c(r31) -/* 802E524C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802E5250 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802E5254 7C 08 03 A6 */ mtlr r0 -/* 802E5258 38 21 00 10 */ addi r1, r1, 0x10 -/* 802E525C 4E 80 00 20 */ blr diff --git a/asm/JSystem/JUtility/JUTXfb/createManager__6JUTXfbFP7JKRHeapQ26JUTXfb10EXfbNumber.s b/asm/JSystem/JUtility/JUTXfb/createManager__6JUTXfbFP7JKRHeapQ26JUTXfb10EXfbNumber.s deleted file mode 100644 index 3f9751eb77..0000000000 --- a/asm/JSystem/JUtility/JUTXfb/createManager__6JUTXfbFP7JKRHeapQ26JUTXfb10EXfbNumber.s +++ /dev/null @@ -1,30 +0,0 @@ -lbl_802E53B8: -/* 802E53B8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802E53BC 7C 08 02 A6 */ mflr r0 -/* 802E53C0 90 01 00 14 */ stw r0, 0x14(r1) -/* 802E53C4 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802E53C8 93 C1 00 08 */ stw r30, 8(r1) -/* 802E53CC 7C 7E 1B 78 */ mr r30, r3 -/* 802E53D0 7C 9F 23 78 */ mr r31, r4 -/* 802E53D4 80 0D 8F D0 */ lwz r0, sManager__6JUTXfb(r13) -/* 802E53D8 28 00 00 00 */ cmplwi r0, 0 -/* 802E53DC 40 82 00 2C */ bne lbl_802E5408 -/* 802E53E0 38 60 00 20 */ li r3, 0x20 -/* 802E53E4 4B FE 98 69 */ bl __nw__FUl -/* 802E53E8 7C 60 1B 79 */ or. r0, r3, r3 -/* 802E53EC 41 82 00 18 */ beq lbl_802E5404 -/* 802E53F0 38 80 00 00 */ li r4, 0 -/* 802E53F4 7F C5 F3 78 */ mr r5, r30 -/* 802E53F8 7F E6 FB 78 */ mr r6, r31 -/* 802E53FC 4B FF FE 65 */ bl __ct__6JUTXfbFPC16_GXRenderModeObjP7JKRHeapQ26JUTXfb10EXfbNumber -/* 802E5400 7C 60 1B 78 */ mr r0, r3 -lbl_802E5404: -/* 802E5404 90 0D 8F D0 */ stw r0, sManager__6JUTXfb(r13) -lbl_802E5408: -/* 802E5408 80 6D 8F D0 */ lwz r3, sManager__6JUTXfb(r13) -/* 802E540C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802E5410 83 C1 00 08 */ lwz r30, 8(r1) -/* 802E5414 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802E5418 7C 08 03 A6 */ mtlr r0 -/* 802E541C 38 21 00 10 */ addi r1, r1, 0x10 -/* 802E5420 4E 80 00 20 */ blr diff --git a/asm/JSystem/JUtility/JUTXfb/delXfb__6JUTXfbFi.s b/asm/JSystem/JUtility/JUTXfb/delXfb__6JUTXfbFi.s deleted file mode 100644 index 52d26404cd..0000000000 --- a/asm/JSystem/JUtility/JUTXfb/delXfb__6JUTXfbFi.s +++ /dev/null @@ -1,18 +0,0 @@ -lbl_802E5378: -/* 802E5378 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802E537C 7C 08 02 A6 */ mflr r0 -/* 802E5380 90 01 00 14 */ stw r0, 0x14(r1) -/* 802E5384 7C A3 22 14 */ add r5, r3, r4 -/* 802E5388 88 05 00 0C */ lbz r0, 0xc(r5) -/* 802E538C 28 00 00 00 */ cmplwi r0, 0 -/* 802E5390 41 82 00 18 */ beq lbl_802E53A8 -/* 802E5394 54 80 10 3A */ slwi r0, r4, 2 -/* 802E5398 7C 63 00 2E */ lwzx r3, r3, r0 -/* 802E539C 28 03 00 00 */ cmplwi r3, 0 -/* 802E53A0 41 82 00 08 */ beq lbl_802E53A8 -/* 802E53A4 4B FE 99 99 */ bl __dl__FPv -lbl_802E53A8: -/* 802E53A8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802E53AC 7C 08 03 A6 */ mtlr r0 -/* 802E53B0 38 21 00 10 */ addi r1, r1, 0x10 -/* 802E53B4 4E 80 00 20 */ blr diff --git a/asm/JSystem/JUtility/JUTXfb/destroyManager__6JUTXfbFv.s b/asm/JSystem/JUtility/JUTXfb/destroyManager__6JUTXfbFv.s deleted file mode 100644 index 20a48f9307..0000000000 --- a/asm/JSystem/JUtility/JUTXfb/destroyManager__6JUTXfbFv.s +++ /dev/null @@ -1,13 +0,0 @@ -lbl_802E5424: -/* 802E5424 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802E5428 7C 08 02 A6 */ mflr r0 -/* 802E542C 90 01 00 14 */ stw r0, 0x14(r1) -/* 802E5430 80 6D 8F D0 */ lwz r3, sManager__6JUTXfb(r13) -/* 802E5434 38 80 00 01 */ li r4, 1 -/* 802E5438 4B FF FE D1 */ bl __dt__6JUTXfbFv -/* 802E543C 38 00 00 00 */ li r0, 0 -/* 802E5440 90 0D 8F D0 */ stw r0, sManager__6JUTXfb(r13) -/* 802E5444 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802E5448 7C 08 03 A6 */ mtlr r0 -/* 802E544C 38 21 00 10 */ addi r1, r1, 0x10 -/* 802E5450 4E 80 00 20 */ blr diff --git a/asm/JSystem/JUtility/JUTXfb/initiate__6JUTXfbFUsUsP7JKRHeapQ26JUTXfb10EXfbNumber.s b/asm/JSystem/JUtility/JUTXfb/initiate__6JUTXfbFUsUsP7JKRHeapQ26JUTXfb10EXfbNumber.s deleted file mode 100644 index d3b236a269..0000000000 --- a/asm/JSystem/JUtility/JUTXfb/initiate__6JUTXfbFUsUsP7JKRHeapQ26JUTXfb10EXfbNumber.s +++ /dev/null @@ -1,61 +0,0 @@ -lbl_802E5454: -/* 802E5454 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802E5458 7C 08 02 A6 */ mflr r0 -/* 802E545C 90 01 00 24 */ stw r0, 0x24(r1) -/* 802E5460 39 61 00 20 */ addi r11, r1, 0x20 -/* 802E5464 48 07 CD 75 */ bl _savegpr_28 -/* 802E5468 7C 7C 1B 78 */ mr r28, r3 -/* 802E546C 7C DD 33 79 */ or. r29, r6, r6 -/* 802E5470 7C FE 3B 78 */ mr r30, r7 -/* 802E5474 40 82 00 08 */ bne lbl_802E547C -/* 802E5478 83 AD 8D F0 */ lwz r29, sSystemHeap__7JKRHeap(r13) -lbl_802E547C: -/* 802E547C 54 83 04 3E */ clrlwi r3, r4, 0x10 -/* 802E5480 38 03 00 0F */ addi r0, r3, 0xf -/* 802E5484 54 03 04 36 */ rlwinm r3, r0, 0, 0x10, 0x1b -/* 802E5488 54 A0 04 3E */ clrlwi r0, r5, 0x10 -/* 802E548C 7C 03 01 D6 */ mullw r0, r3, r0 -/* 802E5490 54 03 08 3C */ slwi r3, r0, 1 -/* 802E5494 7C 7F 1B 78 */ mr r31, r3 -/* 802E5498 7F A4 EB 78 */ mr r4, r29 -/* 802E549C 38 A0 00 20 */ li r5, 0x20 -/* 802E54A0 4B FE 98 71 */ bl __nwa__FUlP7JKRHeapi -/* 802E54A4 90 7C 00 00 */ stw r3, 0(r28) -/* 802E54A8 38 00 00 01 */ li r0, 1 -/* 802E54AC 98 1C 00 0C */ stb r0, 0xc(r28) -/* 802E54B0 2C 1E 00 02 */ cmpwi r30, 2 -/* 802E54B4 41 80 00 24 */ blt lbl_802E54D8 -/* 802E54B8 7F E3 FB 78 */ mr r3, r31 -/* 802E54BC 7F A4 EB 78 */ mr r4, r29 -/* 802E54C0 38 A0 00 20 */ li r5, 0x20 -/* 802E54C4 4B FE 98 4D */ bl __nwa__FUlP7JKRHeapi -/* 802E54C8 90 7C 00 04 */ stw r3, 4(r28) -/* 802E54CC 38 00 00 01 */ li r0, 1 -/* 802E54D0 98 1C 00 0D */ stb r0, 0xd(r28) -/* 802E54D4 48 00 00 10 */ b lbl_802E54E4 -lbl_802E54D8: -/* 802E54D8 38 00 00 00 */ li r0, 0 -/* 802E54DC 90 1C 00 04 */ stw r0, 4(r28) -/* 802E54E0 98 1C 00 0D */ stb r0, 0xd(r28) -lbl_802E54E4: -/* 802E54E4 2C 1E 00 03 */ cmpwi r30, 3 -/* 802E54E8 41 80 00 24 */ blt lbl_802E550C -/* 802E54EC 7F E3 FB 78 */ mr r3, r31 -/* 802E54F0 7F A4 EB 78 */ mr r4, r29 -/* 802E54F4 38 A0 00 20 */ li r5, 0x20 -/* 802E54F8 4B FE 98 19 */ bl __nwa__FUlP7JKRHeapi -/* 802E54FC 90 7C 00 08 */ stw r3, 8(r28) -/* 802E5500 38 00 00 01 */ li r0, 1 -/* 802E5504 98 1C 00 0E */ stb r0, 0xe(r28) -/* 802E5508 48 00 00 10 */ b lbl_802E5518 -lbl_802E550C: -/* 802E550C 38 00 00 00 */ li r0, 0 -/* 802E5510 90 1C 00 08 */ stw r0, 8(r28) -/* 802E5514 98 1C 00 0E */ stb r0, 0xe(r28) -lbl_802E5518: -/* 802E5518 39 61 00 20 */ addi r11, r1, 0x20 -/* 802E551C 48 07 CD 09 */ bl _restgpr_28 -/* 802E5520 80 01 00 24 */ lwz r0, 0x24(r1) -/* 802E5524 7C 08 03 A6 */ mtlr r0 -/* 802E5528 38 21 00 20 */ addi r1, r1, 0x20 -/* 802E552C 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_player/__dt__14daPy_anmHeap_cFv.s b/asm/d/a/d_a_player/__dt__14daPy_anmHeap_cFv.s deleted file mode 100644 index 1ed0dff9f5..0000000000 --- a/asm/d/a/d_a_player/__dt__14daPy_anmHeap_cFv.s +++ /dev/null @@ -1,26 +0,0 @@ -lbl_8015ED50: -/* 8015ED50 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8015ED54 7C 08 02 A6 */ mflr r0 -/* 8015ED58 90 01 00 14 */ stw r0, 0x14(r1) -/* 8015ED5C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8015ED60 93 C1 00 08 */ stw r30, 8(r1) -/* 8015ED64 7C 7E 1B 79 */ or. r30, r3, r3 -/* 8015ED68 7C 9F 23 78 */ mr r31, r4 -/* 8015ED6C 41 82 00 24 */ beq lbl_8015ED90 -/* 8015ED70 80 7E 00 10 */ lwz r3, 0x10(r30) -/* 8015ED74 28 03 00 00 */ cmplwi r3, 0 -/* 8015ED78 41 82 00 08 */ beq lbl_8015ED80 -/* 8015ED7C 4B EB 04 11 */ bl mDoExt_destroySolidHeap__FP12JKRSolidHeap -lbl_8015ED80: -/* 8015ED80 7F E0 07 35 */ extsh. r0, r31 -/* 8015ED84 40 81 00 0C */ ble lbl_8015ED90 -/* 8015ED88 7F C3 F3 78 */ mr r3, r30 -/* 8015ED8C 48 16 FF B1 */ bl __dl__FPv -lbl_8015ED90: -/* 8015ED90 7F C3 F3 78 */ mr r3, r30 -/* 8015ED94 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8015ED98 83 C1 00 08 */ lwz r30, 8(r1) -/* 8015ED9C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8015EDA0 7C 08 03 A6 */ mtlr r0 -/* 8015EDA4 38 21 00 10 */ addi r1, r1, 0x10 -/* 8015EDA8 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_player/checkBowItem__9daPy_py_cFi.s b/asm/d/a/d_a_player/checkBowItem__9daPy_py_cFi.s deleted file mode 100644 index eb6473c330..0000000000 --- a/asm/d/a/d_a_player/checkBowItem__9daPy_py_cFi.s +++ /dev/null @@ -1,13 +0,0 @@ -lbl_8015EB90: -/* 8015EB90 38 00 00 00 */ li r0, 0 -/* 8015EB94 2C 03 00 43 */ cmpwi r3, 0x43 -/* 8015EB98 41 82 00 14 */ beq lbl_8015EBAC -/* 8015EB9C 2C 03 00 59 */ cmpwi r3, 0x59 -/* 8015EBA0 41 82 00 0C */ beq lbl_8015EBAC -/* 8015EBA4 2C 03 00 5A */ cmpwi r3, 0x5a -/* 8015EBA8 40 82 00 08 */ bne lbl_8015EBB0 -lbl_8015EBAC: -/* 8015EBAC 38 00 00 01 */ li r0, 1 -lbl_8015EBB0: -/* 8015EBB0 54 03 06 3E */ clrlwi r3, r0, 0x18 -/* 8015EBB4 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_player/checkDungeonWarpItem__9daPy_py_cFi.s b/asm/d/a/d_a_player/checkDungeonWarpItem__9daPy_py_cFi.s deleted file mode 100644 index 15d0694a99..0000000000 --- a/asm/d/a/d_a_player/checkDungeonWarpItem__9daPy_py_cFi.s +++ /dev/null @@ -1,11 +0,0 @@ -lbl_8015EC28: -/* 8015EC28 38 00 00 00 */ li r0, 0 -/* 8015EC2C 2C 03 00 25 */ cmpwi r3, 0x25 -/* 8015EC30 41 82 00 0C */ beq lbl_8015EC3C -/* 8015EC34 2C 03 00 27 */ cmpwi r3, 0x27 -/* 8015EC38 40 82 00 08 */ bne lbl_8015EC40 -lbl_8015EC3C: -/* 8015EC3C 38 00 00 01 */ li r0, 1 -lbl_8015EC40: -/* 8015EC40 54 03 06 3E */ clrlwi r3, r0, 0x18 -/* 8015EC44 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_player/checkHookshotItem__9daPy_py_cFi.s b/asm/d/a/d_a_player/checkHookshotItem__9daPy_py_cFi.s deleted file mode 100644 index ec993c4049..0000000000 --- a/asm/d/a/d_a_player/checkHookshotItem__9daPy_py_cFi.s +++ /dev/null @@ -1,11 +0,0 @@ -lbl_8015EBB8: -/* 8015EBB8 38 00 00 00 */ li r0, 0 -/* 8015EBBC 2C 03 00 44 */ cmpwi r3, 0x44 -/* 8015EBC0 41 82 00 0C */ beq lbl_8015EBCC -/* 8015EBC4 2C 03 00 47 */ cmpwi r3, 0x47 -/* 8015EBC8 40 82 00 08 */ bne lbl_8015EBD0 -lbl_8015EBCC: -/* 8015EBCC 38 00 00 01 */ li r0, 1 -lbl_8015EBD0: -/* 8015EBD0 54 03 06 3E */ clrlwi r3, r0, 0x18 -/* 8015EBD4 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_player/checkMasterSwordEquip__9daPy_py_cFv.s b/asm/d/a/d_a_player/checkMasterSwordEquip__9daPy_py_cFv.s deleted file mode 100644 index 728c1b0868..0000000000 --- a/asm/d/a/d_a_player/checkMasterSwordEquip__9daPy_py_cFv.s +++ /dev/null @@ -1,14 +0,0 @@ -lbl_8015F398: -/* 8015F398 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8015F39C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8015F3A0 88 03 00 14 */ lbz r0, 0x14(r3) -/* 8015F3A4 38 60 00 00 */ li r3, 0 -/* 8015F3A8 28 00 00 29 */ cmplwi r0, 0x29 -/* 8015F3AC 41 82 00 0C */ beq lbl_8015F3B8 -/* 8015F3B0 28 00 00 49 */ cmplwi r0, 0x49 -/* 8015F3B4 40 82 00 08 */ bne lbl_8015F3BC -lbl_8015F3B8: -/* 8015F3B8 38 60 00 01 */ li r3, 1 -lbl_8015F3BC: -/* 8015F3BC 54 63 06 3E */ clrlwi r3, r3, 0x18 -/* 8015F3C0 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_player/checkNowWolfEyeUp__9daPy_py_cFv.s b/asm/d/a/d_a_player/checkNowWolfEyeUp__9daPy_py_cFv.s deleted file mode 100644 index b41daa927a..0000000000 --- a/asm/d/a/d_a_player/checkNowWolfEyeUp__9daPy_py_cFv.s +++ /dev/null @@ -1,6 +0,0 @@ -lbl_8015F424: -/* 8015F424 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8015F428 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8015F42C 80 63 5D B4 */ lwz r3, 0x5db4(r3) -/* 8015F430 A8 63 30 AC */ lha r3, 0x30ac(r3) -/* 8015F434 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_player/checkOilBottleItem__9daPy_py_cFi.s b/asm/d/a/d_a_player/checkOilBottleItem__9daPy_py_cFi.s deleted file mode 100644 index 35aa5a2d9a..0000000000 --- a/asm/d/a/d_a_player/checkOilBottleItem__9daPy_py_cFi.s +++ /dev/null @@ -1,13 +0,0 @@ -lbl_8015EB40: -/* 8015EB40 38 00 00 00 */ li r0, 0 -/* 8015EB44 2C 03 00 7B */ cmpwi r3, 0x7b -/* 8015EB48 41 82 00 14 */ beq lbl_8015EB5C -/* 8015EB4C 2C 03 00 68 */ cmpwi r3, 0x68 -/* 8015EB50 41 82 00 0C */ beq lbl_8015EB5C -/* 8015EB54 2C 03 00 66 */ cmpwi r3, 0x66 -/* 8015EB58 40 82 00 08 */ bne lbl_8015EB60 -lbl_8015EB5C: -/* 8015EB5C 38 00 00 01 */ li r0, 1 -lbl_8015EB60: -/* 8015EB60 54 03 06 3E */ clrlwi r3, r0, 0x18 -/* 8015EB64 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_player/checkOpenBottleItem__9daPy_py_cFi.s b/asm/d/a/d_a_player/checkOpenBottleItem__9daPy_py_cFi.s deleted file mode 100644 index 15e844a420..0000000000 --- a/asm/d/a/d_a_player/checkOpenBottleItem__9daPy_py_cFi.s +++ /dev/null @@ -1,13 +0,0 @@ -lbl_8015EB68: -/* 8015EB68 38 00 00 00 */ li r0, 0 -/* 8015EB6C 2C 03 00 67 */ cmpwi r3, 0x67 -/* 8015EB70 41 82 00 14 */ beq lbl_8015EB84 -/* 8015EB74 2C 03 00 74 */ cmpwi r3, 0x74 -/* 8015EB78 41 82 00 0C */ beq lbl_8015EB84 -/* 8015EB7C 2C 03 00 6C */ cmpwi r3, 0x6c -/* 8015EB80 40 82 00 08 */ bne lbl_8015EB88 -lbl_8015EB84: -/* 8015EB84 38 00 00 01 */ li r0, 1 -lbl_8015EB88: -/* 8015EB88 54 03 06 3E */ clrlwi r3, r0, 0x18 -/* 8015EB8C 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_player/getAttentionOffsetY__9daPy_py_cFv.s b/asm/d/a/d_a_player/getAttentionOffsetY__9daPy_py_cFv.s deleted file mode 100644 index e71460a74e..0000000000 --- a/asm/d/a/d_a_player/getAttentionOffsetY__9daPy_py_cFv.s +++ /dev/null @@ -1,12 +0,0 @@ -lbl_8015F3FC: -/* 8015F3FC 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8015F400 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8015F404 80 63 5D B4 */ lwz r3, 0x5db4(r3) -/* 8015F408 80 03 05 74 */ lwz r0, 0x574(r3) -/* 8015F40C 54 00 01 8D */ rlwinm. r0, r0, 0, 6, 6 -/* 8015F410 41 82 00 0C */ beq lbl_8015F41C -/* 8015F414 C0 22 9C 84 */ lfs f1, lit_4741(r2) -/* 8015F418 4E 80 00 20 */ blr -lbl_8015F41C: -/* 8015F41C C0 22 9C 88 */ lfs f1, lit_4742(r2) -/* 8015F420 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_player/setActor__16daPy_actorKeep_cFv.s b/asm/d/a/d_a_player/setActor__16daPy_actorKeep_cFv.s deleted file mode 100644 index 9e68332a52..0000000000 --- a/asm/d/a/d_a_player/setActor__16daPy_actorKeep_cFv.s +++ /dev/null @@ -1,31 +0,0 @@ -lbl_8015EC48: -/* 8015EC48 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8015EC4C 7C 08 02 A6 */ mflr r0 -/* 8015EC50 90 01 00 24 */ stw r0, 0x24(r1) -/* 8015EC54 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 8015EC58 7C 7F 1B 78 */ mr r31, r3 -/* 8015EC5C 80 63 00 00 */ lwz r3, 0(r3) -/* 8015EC60 3C 03 00 01 */ addis r0, r3, 1 -/* 8015EC64 28 00 FF FF */ cmplwi r0, 0xffff -/* 8015EC68 41 82 00 34 */ beq lbl_8015EC9C -/* 8015EC6C 90 61 00 08 */ stw r3, 8(r1) -/* 8015EC70 3C 60 80 02 */ lis r3, fpcSch_JudgeByID__FPvPv@ha /* 0x80023590@ha */ -/* 8015EC74 38 63 35 90 */ addi r3, r3, fpcSch_JudgeByID__FPvPv@l /* 0x80023590@l */ -/* 8015EC78 38 81 00 08 */ addi r4, r1, 8 -/* 8015EC7C 4B EB AB 7D */ bl fopAcIt_Judge__FPFPvPv_PvPv -/* 8015EC80 90 7F 00 04 */ stw r3, 4(r31) -/* 8015EC84 80 1F 00 04 */ lwz r0, 4(r31) -/* 8015EC88 28 00 00 00 */ cmplwi r0, 0 -/* 8015EC8C 40 82 00 18 */ bne lbl_8015ECA4 -/* 8015EC90 38 00 FF FF */ li r0, -1 -/* 8015EC94 90 1F 00 00 */ stw r0, 0(r31) -/* 8015EC98 48 00 00 0C */ b lbl_8015ECA4 -lbl_8015EC9C: -/* 8015EC9C 38 00 00 00 */ li r0, 0 -/* 8015ECA0 90 1F 00 04 */ stw r0, 4(r31) -lbl_8015ECA4: -/* 8015ECA4 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 8015ECA8 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8015ECAC 7C 08 03 A6 */ mtlr r0 -/* 8015ECB0 38 21 00 20 */ addi r1, r1, 0x20 -/* 8015ECB4 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_player/setAnimeHeap__14daPy_anmHeap_cFv.s b/asm/d/a/d_a_player/setAnimeHeap__14daPy_anmHeap_cFv.s deleted file mode 100644 index 3c61c6fcfc..0000000000 --- a/asm/d/a/d_a_player/setAnimeHeap__14daPy_anmHeap_cFv.s +++ /dev/null @@ -1,15 +0,0 @@ -lbl_8015F168: -/* 8015F168 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8015F16C 7C 08 02 A6 */ mflr r0 -/* 8015F170 90 01 00 14 */ stw r0, 0x14(r1) -/* 8015F174 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8015F178 7C 7F 1B 78 */ mr r31, r3 -/* 8015F17C 80 63 00 10 */ lwz r3, 0x10(r3) -/* 8015F180 48 16 F4 4D */ bl freeAll__7JKRHeapFv -/* 8015F184 80 7F 00 10 */ lwz r3, 0x10(r31) -/* 8015F188 4B EB 00 45 */ bl mDoExt_setCurrentHeap__FP7JKRHeap -/* 8015F18C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8015F190 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8015F194 7C 08 03 A6 */ mtlr r0 -/* 8015F198 38 21 00 10 */ addi r1, r1, 0x10 -/* 8015F19C 4E 80 00 20 */ blr diff --git a/asm/d/com/d_com_inf_game/dComIfG_getOldStageRes__FPCc.s b/asm/d/com/d_com_inf_game/dComIfG_getOldStageRes__FPCc.s deleted file mode 100644 index 44c2b0447b..0000000000 --- a/asm/d/com/d_com_inf_game/dComIfG_getOldStageRes__FPCc.s +++ /dev/null @@ -1,18 +0,0 @@ -lbl_8002F478: -/* 8002F478 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8002F47C 7C 08 02 A6 */ mflr r0 -/* 8002F480 90 01 00 14 */ stw r0, 0x14(r1) -/* 8002F484 7C 64 1B 78 */ mr r4, r3 -/* 8002F488 3C 60 80 38 */ lis r3, d_com_d_com_inf_game__stringBase0@ha /* 0x80378F38@ha */ -/* 8002F48C 38 63 8F 38 */ addi r3, r3, d_com_d_com_inf_game__stringBase0@l /* 0x80378F38@l */ -/* 8002F490 38 63 01 67 */ addi r3, r3, 0x167 -/* 8002F494 3C A0 80 40 */ lis r5, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8002F498 38 A5 61 C0 */ addi r5, r5, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8002F49C 3C A5 00 02 */ addis r5, r5, 2 -/* 8002F4A0 38 A5 D4 F8 */ addi r5, r5, -11016 -/* 8002F4A4 38 C0 00 40 */ li r6, 0x40 -/* 8002F4A8 48 00 CE D5 */ bl getRes__14dRes_control_cFPCcPCcP11dRes_info_ci -/* 8002F4AC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8002F4B0 7C 08 03 A6 */ mtlr r0 -/* 8002F4B4 38 21 00 10 */ addi r1, r1, 0x10 -/* 8002F4B8 4E 80 00 20 */ blr diff --git a/asm/d/com/d_com_inf_game/dComIfG_getStageRes__FPCc.s b/asm/d/com/d_com_inf_game/dComIfG_getStageRes__FPCc.s deleted file mode 100644 index 7c0861f727..0000000000 --- a/asm/d/com/d_com_inf_game/dComIfG_getStageRes__FPCc.s +++ /dev/null @@ -1,18 +0,0 @@ -lbl_8002F434: -/* 8002F434 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8002F438 7C 08 02 A6 */ mflr r0 -/* 8002F43C 90 01 00 14 */ stw r0, 0x14(r1) -/* 8002F440 7C 64 1B 78 */ mr r4, r3 -/* 8002F444 3C 60 80 38 */ lis r3, d_com_d_com_inf_game__stringBase0@ha /* 0x80378F38@ha */ -/* 8002F448 38 63 8F 38 */ addi r3, r3, d_com_d_com_inf_game__stringBase0@l /* 0x80378F38@l */ -/* 8002F44C 38 63 01 60 */ addi r3, r3, 0x160 -/* 8002F450 3C A0 80 40 */ lis r5, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8002F454 38 A5 61 C0 */ addi r5, r5, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8002F458 3C A5 00 02 */ addis r5, r5, 2 -/* 8002F45C 38 A5 D4 F8 */ addi r5, r5, -11016 -/* 8002F460 38 C0 00 40 */ li r6, 0x40 -/* 8002F464 48 00 CF 19 */ bl getRes__14dRes_control_cFPCcPCcP11dRes_info_ci -/* 8002F468 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8002F46C 7C 08 03 A6 */ mtlr r0 -/* 8002F470 38 21 00 10 */ addi r1, r1, 0x10 -/* 8002F474 4E 80 00 20 */ blr diff --git a/asm/d/com/d_com_inf_game/phase_01__FP12phaseParam_c.s b/asm/d/com/d_com_inf_game/phase_01__FP12phaseParam_c.s deleted file mode 100644 index 3335f696cd..0000000000 --- a/asm/d/com/d_com_inf_game/phase_01__FP12phaseParam_c.s +++ /dev/null @@ -1,26 +0,0 @@ -lbl_8002CEFC: -/* 8002CEFC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8002CF00 7C 08 02 A6 */ mflr r0 -/* 8002CF04 90 01 00 14 */ stw r0, 0x14(r1) -/* 8002CF08 7C 68 1B 78 */ mr r8, r3 -/* 8002CF0C 80 63 00 00 */ lwz r3, 0(r3) -/* 8002CF10 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8002CF14 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8002CF18 3C 84 00 02 */ addis r4, r4, 2 -/* 8002CF1C 38 A0 00 80 */ li r5, 0x80 -/* 8002CF20 3C C0 80 38 */ lis r6, d_com_d_com_inf_game__stringBase0@ha /* 0x80378F38@ha */ -/* 8002CF24 38 C6 8F 38 */ addi r6, r6, d_com_d_com_inf_game__stringBase0@l /* 0x80378F38@l */ -/* 8002CF28 38 C6 01 13 */ addi r6, r6, 0x113 -/* 8002CF2C 38 E0 00 00 */ li r7, 0 -/* 8002CF30 81 08 00 04 */ lwz r8, 4(r8) -/* 8002CF34 38 84 C2 F8 */ addi r4, r4, -15624 -/* 8002CF38 48 00 F1 41 */ bl setRes__14dRes_control_cFPCcP11dRes_info_ciPCcUcP7JKRHeap -/* 8002CF3C 2C 03 00 00 */ cmpwi r3, 0 -/* 8002CF40 38 60 00 02 */ li r3, 2 -/* 8002CF44 40 82 00 08 */ bne lbl_8002CF4C -/* 8002CF48 38 60 00 05 */ li r3, 5 -lbl_8002CF4C: -/* 8002CF4C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8002CF50 7C 08 03 A6 */ mtlr r0 -/* 8002CF54 38 21 00 10 */ addi r1, r1, 0x10 -/* 8002CF58 4E 80 00 20 */ blr diff --git a/asm/d/com/d_com_inf_game/phase_02__FP12phaseParam_c.s b/asm/d/com/d_com_inf_game/phase_02__FP12phaseParam_c.s deleted file mode 100644 index 5e18c81290..0000000000 --- a/asm/d/com/d_com_inf_game/phase_02__FP12phaseParam_c.s +++ /dev/null @@ -1,26 +0,0 @@ -lbl_8002CF5C: -/* 8002CF5C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8002CF60 7C 08 02 A6 */ mflr r0 -/* 8002CF64 90 01 00 14 */ stw r0, 0x14(r1) -/* 8002CF68 80 63 00 00 */ lwz r3, 0(r3) -/* 8002CF6C 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8002CF70 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8002CF74 3C 84 00 02 */ addis r4, r4, 2 -/* 8002CF78 38 A0 00 80 */ li r5, 0x80 -/* 8002CF7C 38 84 C2 F8 */ addi r4, r4, -15624 -/* 8002CF80 48 00 F1 E1 */ bl syncRes__14dRes_control_cFPCcP11dRes_info_ci -/* 8002CF84 2C 03 00 00 */ cmpwi r3, 0 -/* 8002CF88 40 80 00 0C */ bge lbl_8002CF94 -/* 8002CF8C 38 60 00 05 */ li r3, 5 -/* 8002CF90 48 00 00 18 */ b lbl_8002CFA8 -lbl_8002CF94: -/* 8002CF94 7C 03 00 D0 */ neg r0, r3 -/* 8002CF98 7C 00 18 78 */ andc r0, r0, r3 -/* 8002CF9C 7C 03 FE 70 */ srawi r3, r0, 0x1f -/* 8002CFA0 38 00 00 02 */ li r0, 2 -/* 8002CFA4 7C 03 18 78 */ andc r3, r0, r3 -lbl_8002CFA8: -/* 8002CFA8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8002CFAC 7C 08 03 A6 */ mtlr r0 -/* 8002CFB0 38 21 00 10 */ addi r1, r1, 0x10 -/* 8002CFB4 4E 80 00 20 */ blr diff --git a/asm/d/d_drawlist/J3DDrawBuffer__create__FUl.s b/asm/d/d_drawlist/J3DDrawBuffer__create__FUl.s deleted file mode 100644 index 66336b824d..0000000000 --- a/asm/d/d_drawlist/J3DDrawBuffer__create__FUl.s +++ /dev/null @@ -1,35 +0,0 @@ -lbl_80054478: -/* 80054478 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8005447C 7C 08 02 A6 */ mflr r0 -/* 80054480 90 01 00 14 */ stw r0, 0x14(r1) -/* 80054484 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80054488 93 C1 00 08 */ stw r30, 8(r1) -/* 8005448C 7C 7E 1B 78 */ mr r30, r3 -/* 80054490 38 60 00 24 */ li r3, 0x24 -/* 80054494 48 27 A7 B9 */ bl __nw__FUl -/* 80054498 7C 7F 1B 79 */ or. r31, r3, r3 -/* 8005449C 41 82 00 08 */ beq lbl_800544A4 -/* 800544A0 48 2D 0A 69 */ bl initialize__13J3DDrawBufferFv -lbl_800544A4: -/* 800544A4 28 1F 00 00 */ cmplwi r31, 0 -/* 800544A8 41 82 00 2C */ beq lbl_800544D4 -/* 800544AC 7F E3 FB 78 */ mr r3, r31 -/* 800544B0 7F C4 F3 78 */ mr r4, r30 -/* 800544B4 48 2D 0A BD */ bl allocBuffer__13J3DDrawBufferFUl -/* 800544B8 2C 03 00 00 */ cmpwi r3, 0 -/* 800544BC 40 82 00 0C */ bne lbl_800544C8 -/* 800544C0 7F E3 FB 78 */ mr r3, r31 -/* 800544C4 48 00 00 14 */ b lbl_800544D8 -lbl_800544C8: -/* 800544C8 7F E3 FB 78 */ mr r3, r31 -/* 800544CC 38 80 00 01 */ li r4, 1 -/* 800544D0 48 2D 0B 39 */ bl __dt__13J3DDrawBufferFv -lbl_800544D4: -/* 800544D4 38 60 00 00 */ li r3, 0 -lbl_800544D8: -/* 800544D8 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800544DC 83 C1 00 08 */ lwz r30, 8(r1) -/* 800544E0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800544E4 7C 08 03 A6 */ mtlr r0 -/* 800544E8 38 21 00 10 */ addi r1, r1, 0x10 -/* 800544EC 4E 80 00 20 */ blr diff --git a/asm/d/d_drawlist/add__18dDlst_shadowReal_cFP8J3DModel.s b/asm/d/d_drawlist/add__18dDlst_shadowReal_cFP8J3DModel.s deleted file mode 100644 index 86cc7666b5..0000000000 --- a/asm/d/d_drawlist/add__18dDlst_shadowReal_cFP8J3DModel.s +++ /dev/null @@ -1,17 +0,0 @@ -lbl_800551D4: -/* 800551D4 88 A3 00 02 */ lbz r5, 2(r3) -/* 800551D8 28 05 00 00 */ cmplwi r5, 0 -/* 800551DC 41 82 00 0C */ beq lbl_800551E8 -/* 800551E0 28 04 00 00 */ cmplwi r4, 0 -/* 800551E4 40 82 00 0C */ bne lbl_800551F0 -lbl_800551E8: -/* 800551E8 38 60 00 00 */ li r3, 0 -/* 800551EC 4E 80 00 20 */ blr -lbl_800551F0: -/* 800551F0 38 05 00 01 */ addi r0, r5, 1 -/* 800551F4 98 03 00 02 */ stb r0, 2(r3) -/* 800551F8 54 A0 15 BA */ rlwinm r0, r5, 2, 0x16, 0x1d -/* 800551FC 7C 63 02 14 */ add r3, r3, r0 -/* 80055200 90 83 24 B0 */ stw r4, 0x24b0(r3) -/* 80055204 38 60 00 01 */ li r3, 1 -/* 80055208 4E 80 00 20 */ blr diff --git a/asm/d/d_drawlist/drawOpaListItem3d__12dDlst_list_cFv.s b/asm/d/d_drawlist/drawOpaListItem3d__12dDlst_list_cFv.s deleted file mode 100644 index 1b619ae5ed..0000000000 --- a/asm/d/d_drawlist/drawOpaListItem3d__12dDlst_list_cFv.s +++ /dev/null @@ -1,10 +0,0 @@ -lbl_8005674C: -/* 8005674C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80056750 7C 08 02 A6 */ mflr r0 -/* 80056754 90 01 00 14 */ stw r0, 0x14(r1) -/* 80056758 80 83 00 34 */ lwz r4, 0x34(r3) -/* 8005675C 4B FF FF 79 */ bl drawOpaDrawList__12dDlst_list_cFP13J3DDrawBuffer -/* 80056760 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80056764 7C 08 03 A6 */ mtlr r0 -/* 80056768 38 21 00 10 */ addi r1, r1, 0x10 -/* 8005676C 4E 80 00 20 */ blr diff --git a/asm/d/d_drawlist/drawXluListItem3d__12dDlst_list_cFv.s b/asm/d/d_drawlist/drawXluListItem3d__12dDlst_list_cFv.s deleted file mode 100644 index 098b02e24e..0000000000 --- a/asm/d/d_drawlist/drawXluListItem3d__12dDlst_list_cFv.s +++ /dev/null @@ -1,10 +0,0 @@ -lbl_80056770: -/* 80056770 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80056774 7C 08 02 A6 */ mflr r0 -/* 80056778 90 01 00 14 */ stw r0, 0x14(r1) -/* 8005677C 80 83 00 38 */ lwz r4, 0x38(r3) -/* 80056780 4B FF FF 91 */ bl drawXluDrawList__12dDlst_list_cFP13J3DDrawBuffer -/* 80056784 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80056788 7C 08 03 A6 */ mtlr r0 -/* 8005678C 38 21 00 10 */ addi r1, r1, 0x10 -/* 80056790 4E 80 00 20 */ blr diff --git a/asm/d/d_drawlist/reset__18dDlst_shadowReal_cFv.s b/asm/d/d_drawlist/reset__18dDlst_shadowReal_cFv.s deleted file mode 100644 index 6eb9724606..0000000000 --- a/asm/d/d_drawlist/reset__18dDlst_shadowReal_cFv.s +++ /dev/null @@ -1,5 +0,0 @@ -lbl_800544F0: -/* 800544F0 38 00 00 00 */ li r0, 0 -/* 800544F4 98 03 00 00 */ stb r0, 0(r3) -/* 800544F8 98 03 00 02 */ stb r0, 2(r3) -/* 800544FC 4E 80 00 20 */ blr diff --git a/asm/d/d_drawlist/reset__21dDlst_shadowControl_cFv.s b/asm/d/d_drawlist/reset__21dDlst_shadowControl_cFv.s deleted file mode 100644 index b257ed0cfe..0000000000 --- a/asm/d/d_drawlist/reset__21dDlst_shadowControl_cFv.s +++ /dev/null @@ -1,26 +0,0 @@ -lbl_80055768: -/* 80055768 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8005576C 7C 08 02 A6 */ mflr r0 -/* 80055770 90 01 00 24 */ stw r0, 0x24(r1) -/* 80055774 39 61 00 20 */ addi r11, r1, 0x20 -/* 80055778 48 30 CA 65 */ bl _savegpr_29 -/* 8005577C 7C 7D 1B 78 */ mr r29, r3 -/* 80055780 3B FD 34 10 */ addi r31, r29, 0x3410 -/* 80055784 3B C0 00 00 */ li r30, 0 -lbl_80055788: -/* 80055788 7F E3 FB 78 */ mr r3, r31 -/* 8005578C 4B FF ED 65 */ bl reset__18dDlst_shadowReal_cFv -/* 80055790 3B DE 00 01 */ addi r30, r30, 1 -/* 80055794 2C 1E 00 08 */ cmpwi r30, 8 -/* 80055798 3B FF 25 54 */ addi r31, r31, 0x2554 -/* 8005579C 41 80 FF EC */ blt lbl_80055788 -/* 800557A0 38 00 00 00 */ li r0, 0 -/* 800557A4 98 1D 00 02 */ stb r0, 2(r29) -/* 800557A8 98 1D 00 01 */ stb r0, 1(r29) -/* 800557AC 90 1D 00 04 */ stw r0, 4(r29) -/* 800557B0 39 61 00 20 */ addi r11, r1, 0x20 -/* 800557B4 48 30 CA 75 */ bl _restgpr_29 -/* 800557B8 80 01 00 24 */ lwz r0, 0x24(r1) -/* 800557BC 7C 08 03 A6 */ mtlr r0 -/* 800557C0 38 21 00 20 */ addi r1, r1, 0x20 -/* 800557C4 4E 80 00 20 */ blr diff --git a/asm/d/d_drawlist/setScissor__14dDlst_window_cFffff.s b/asm/d/d_drawlist/setScissor__14dDlst_window_cFffff.s deleted file mode 100644 index 98f849eeb3..0000000000 --- a/asm/d/d_drawlist/setScissor__14dDlst_window_cFffff.s +++ /dev/null @@ -1,6 +0,0 @@ -lbl_80051ADC: -/* 80051ADC D0 23 00 18 */ stfs f1, 0x18(r3) -/* 80051AE0 D0 43 00 1C */ stfs f2, 0x1c(r3) -/* 80051AE4 D0 63 00 20 */ stfs f3, 0x20(r3) -/* 80051AE8 D0 83 00 24 */ stfs f4, 0x24(r3) -/* 80051AEC 4E 80 00 20 */ blr diff --git a/asm/d/d_drawlist/setViewPort__14dDlst_window_cFffffff.s b/asm/d/d_drawlist/setViewPort__14dDlst_window_cFffffff.s deleted file mode 100644 index 4325041a91..0000000000 --- a/asm/d/d_drawlist/setViewPort__14dDlst_window_cFffffff.s +++ /dev/null @@ -1,8 +0,0 @@ -lbl_80051AC0: -/* 80051AC0 D0 23 00 00 */ stfs f1, 0(r3) -/* 80051AC4 D0 43 00 04 */ stfs f2, 4(r3) -/* 80051AC8 D0 63 00 08 */ stfs f3, 8(r3) -/* 80051ACC D0 83 00 0C */ stfs f4, 0xc(r3) -/* 80051AD0 D0 A3 00 10 */ stfs f5, 0x10(r3) -/* 80051AD4 D0 C3 00 14 */ stfs f6, 0x14(r3) -/* 80051AD8 4E 80 00 20 */ blr diff --git a/asm/d/d_resorce/__ct__11dRes_info_cFv.s b/asm/d/d_resorce/__ct__11dRes_info_cFv.s deleted file mode 100644 index 83e87c2460..0000000000 --- a/asm/d/d_resorce/__ct__11dRes_info_cFv.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_8003A260: -/* 8003A260 38 00 00 00 */ li r0, 0 -/* 8003A264 B0 03 00 0C */ sth r0, 0xc(r3) -/* 8003A268 90 03 00 10 */ stw r0, 0x10(r3) -/* 8003A26C 90 03 00 14 */ stw r0, 0x14(r3) -/* 8003A270 90 03 00 18 */ stw r0, 0x18(r3) -/* 8003A274 90 03 00 1C */ stw r0, 0x1c(r3) -/* 8003A278 90 03 00 20 */ stw r0, 0x20(r3) -/* 8003A27C 4E 80 00 20 */ blr diff --git a/asm/d/d_resorce/__dt__11dRes_info_cFv.s b/asm/d/d_resorce/__dt__11dRes_info_cFv.s deleted file mode 100644 index 16b66787de..0000000000 --- a/asm/d/d_resorce/__dt__11dRes_info_cFv.s +++ /dev/null @@ -1,56 +0,0 @@ -lbl_8003A280: -/* 8003A280 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8003A284 7C 08 02 A6 */ mflr r0 -/* 8003A288 90 01 00 14 */ stw r0, 0x14(r1) -/* 8003A28C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8003A290 93 C1 00 08 */ stw r30, 8(r1) -/* 8003A294 7C 7E 1B 79 */ or. r30, r3, r3 -/* 8003A298 7C 9F 23 78 */ mr r31, r4 -/* 8003A29C 41 82 00 90 */ beq lbl_8003A32C -/* 8003A2A0 80 1E 00 10 */ lwz r0, 0x10(r30) -/* 8003A2A4 28 00 00 00 */ cmplwi r0, 0 -/* 8003A2A8 41 82 00 2C */ beq lbl_8003A2D4 -/* 8003A2AC 41 82 00 1C */ beq lbl_8003A2C8 -/* 8003A2B0 7C 03 03 78 */ mr r3, r0 -/* 8003A2B4 38 80 00 01 */ li r4, 1 -/* 8003A2B8 81 83 00 10 */ lwz r12, 0x10(r3) -/* 8003A2BC 81 8C 00 08 */ lwz r12, 8(r12) -/* 8003A2C0 7D 89 03 A6 */ mtctr r12 -/* 8003A2C4 4E 80 04 21 */ bctrl -lbl_8003A2C8: -/* 8003A2C8 38 00 00 00 */ li r0, 0 -/* 8003A2CC 90 1E 00 10 */ stw r0, 0x10(r30) -/* 8003A2D0 48 00 00 4C */ b lbl_8003A31C -lbl_8003A2D4: -/* 8003A2D4 80 1E 00 14 */ lwz r0, 0x14(r30) -/* 8003A2D8 28 00 00 00 */ cmplwi r0, 0 -/* 8003A2DC 41 82 00 40 */ beq lbl_8003A31C -/* 8003A2E0 48 00 16 B9 */ bl deleteArchiveRes__11dRes_info_cFv -/* 8003A2E4 80 7E 00 1C */ lwz r3, 0x1c(r30) -/* 8003A2E8 28 03 00 00 */ cmplwi r3, 0 -/* 8003A2EC 41 82 00 24 */ beq lbl_8003A310 -/* 8003A2F0 4B FD 4E 9D */ bl mDoExt_destroySolidHeap__FP12JKRSolidHeap -/* 8003A2F4 38 00 00 00 */ li r0, 0 -/* 8003A2F8 90 1E 00 1C */ stw r0, 0x1c(r30) -/* 8003A2FC 80 7E 00 14 */ lwz r3, 0x14(r30) -/* 8003A300 81 83 00 00 */ lwz r12, 0(r3) -/* 8003A304 81 8C 00 0C */ lwz r12, 0xc(r12) -/* 8003A308 7D 89 03 A6 */ mtctr r12 -/* 8003A30C 4E 80 04 21 */ bctrl -lbl_8003A310: -/* 8003A310 38 00 00 00 */ li r0, 0 -/* 8003A314 90 1E 00 20 */ stw r0, 0x20(r30) -/* 8003A318 90 1E 00 14 */ stw r0, 0x14(r30) -lbl_8003A31C: -/* 8003A31C 7F E0 07 35 */ extsh. r0, r31 -/* 8003A320 40 81 00 0C */ ble lbl_8003A32C -/* 8003A324 7F C3 F3 78 */ mr r3, r30 -/* 8003A328 48 29 4A 15 */ bl __dl__FPv -lbl_8003A32C: -/* 8003A32C 7F C3 F3 78 */ mr r3, r30 -/* 8003A330 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8003A334 83 C1 00 08 */ lwz r30, 8(r1) -/* 8003A338 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8003A33C 7C 08 03 A6 */ mtlr r0 -/* 8003A340 38 21 00 10 */ addi r1, r1, 0x10 -/* 8003A344 4E 80 00 20 */ blr diff --git a/asm/d/d_resorce/dump__14dRes_control_cFv.s b/asm/d/d_resorce/dump__14dRes_control_cFv.s deleted file mode 100644 index ea304c984b..0000000000 --- a/asm/d/d_resorce/dump__14dRes_control_cFv.s +++ /dev/null @@ -1,33 +0,0 @@ -lbl_8003C638: -/* 8003C638 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8003C63C 7C 08 02 A6 */ mflr r0 -/* 8003C640 90 01 00 14 */ stw r0, 0x14(r1) -/* 8003C644 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8003C648 7C 7F 1B 78 */ mr r31, r3 -/* 8003C64C 3C 60 80 38 */ lis r3, d_d_resorce__stringBase0@ha /* 0x803798B8@ha */ -/* 8003C650 38 63 98 B8 */ addi r3, r3, d_d_resorce__stringBase0@l /* 0x803798B8@l */ -/* 8003C654 38 63 03 2E */ addi r3, r3, 0x32e -/* 8003C658 4C C6 31 82 */ crclr 6 -/* 8003C65C 48 2A BF 6D */ bl JUTReportConsole_f -/* 8003C660 7F E3 FB 78 */ mr r3, r31 -/* 8003C664 38 80 00 80 */ li r4, 0x80 -/* 8003C668 4B FF F7 D1 */ bl dump__11dRes_info_cFP11dRes_info_ci -/* 8003C66C 7F E3 FB 78 */ mr r3, r31 -/* 8003C670 38 80 00 80 */ li r4, 0x80 -/* 8003C674 4B FF F6 B9 */ bl dump_long__11dRes_info_cFP11dRes_info_ci -/* 8003C678 3C 60 80 38 */ lis r3, d_d_resorce__stringBase0@ha /* 0x803798B8@ha */ -/* 8003C67C 38 63 98 B8 */ addi r3, r3, d_d_resorce__stringBase0@l /* 0x803798B8@l */ -/* 8003C680 38 63 03 51 */ addi r3, r3, 0x351 -/* 8003C684 4C C6 31 82 */ crclr 6 -/* 8003C688 48 2A BF 41 */ bl JUTReportConsole_f -/* 8003C68C 38 7F 12 00 */ addi r3, r31, 0x1200 -/* 8003C690 38 80 00 40 */ li r4, 0x40 -/* 8003C694 4B FF F7 A5 */ bl dump__11dRes_info_cFP11dRes_info_ci -/* 8003C698 38 7F 12 00 */ addi r3, r31, 0x1200 -/* 8003C69C 38 80 00 40 */ li r4, 0x40 -/* 8003C6A0 4B FF F6 8D */ bl dump_long__11dRes_info_cFP11dRes_info_ci -/* 8003C6A4 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8003C6A8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8003C6AC 7C 08 03 A6 */ mtlr r0 -/* 8003C6B0 38 21 00 10 */ addi r1, r1, 0x10 -/* 8003C6B4 4E 80 00 20 */ blr diff --git a/asm/d/d_resorce/getObjectResName2Index__14dRes_control_cFPCcPCc.s b/asm/d/d_resorce/getObjectResName2Index__14dRes_control_cFPCcPCc.s deleted file mode 100644 index 7f4bcda31b..0000000000 --- a/asm/d/d_resorce/getObjectResName2Index__14dRes_control_cFPCcPCc.s +++ /dev/null @@ -1,36 +0,0 @@ -lbl_8003C6B8: -/* 8003C6B8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8003C6BC 7C 08 02 A6 */ mflr r0 -/* 8003C6C0 90 01 00 14 */ stw r0, 0x14(r1) -/* 8003C6C4 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8003C6C8 7C 60 1B 78 */ mr r0, r3 -/* 8003C6CC 7C BF 2B 78 */ mr r31, r5 -/* 8003C6D0 7C 83 23 78 */ mr r3, r4 -/* 8003C6D4 7C 04 03 78 */ mr r4, r0 -/* 8003C6D8 38 A0 00 80 */ li r5, 0x80 -/* 8003C6DC 4B FF FB AD */ bl getResInfoLoaded__14dRes_control_cFPCcP11dRes_info_ci -/* 8003C6E0 28 03 00 00 */ cmplwi r3, 0 -/* 8003C6E4 40 82 00 0C */ bne lbl_8003C6F0 -/* 8003C6E8 38 60 FF FF */ li r3, -1 -/* 8003C6EC 48 00 00 34 */ b lbl_8003C720 -lbl_8003C6F0: -/* 8003C6F0 28 1F 00 00 */ cmplwi r31, 0 -/* 8003C6F4 40 82 00 0C */ bne lbl_8003C700 -/* 8003C6F8 38 60 FF FF */ li r3, -1 -/* 8003C6FC 48 00 00 24 */ b lbl_8003C720 -lbl_8003C700: -/* 8003C700 80 63 00 14 */ lwz r3, 0x14(r3) -/* 8003C704 7F E4 FB 78 */ mr r4, r31 -/* 8003C708 48 29 9F A5 */ bl findNameResource__10JKRArchiveCFPCc -/* 8003C70C 28 03 00 00 */ cmplwi r3, 0 -/* 8003C710 41 82 00 0C */ beq lbl_8003C71C -/* 8003C714 A0 63 00 00 */ lhz r3, 0(r3) -/* 8003C718 48 00 00 08 */ b lbl_8003C720 -lbl_8003C71C: -/* 8003C71C 38 60 FF FF */ li r3, -1 -lbl_8003C720: -/* 8003C720 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8003C724 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8003C728 7C 08 03 A6 */ mtlr r0 -/* 8003C72C 38 21 00 10 */ addi r1, r1, 0x10 -/* 8003C730 4E 80 00 20 */ blr diff --git a/asm/d/d_resorce/getResInfoLoaded__14dRes_control_cFPCcP11dRes_info_ci.s b/asm/d/d_resorce/getResInfoLoaded__14dRes_control_cFPCcP11dRes_info_ci.s deleted file mode 100644 index 4e96065036..0000000000 --- a/asm/d/d_resorce/getResInfoLoaded__14dRes_control_cFPCcP11dRes_info_ci.s +++ /dev/null @@ -1,28 +0,0 @@ -lbl_8003C288: -/* 8003C288 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8003C28C 7C 08 02 A6 */ mflr r0 -/* 8003C290 90 01 00 14 */ stw r0, 0x14(r1) -/* 8003C294 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8003C298 7C 7F 1B 78 */ mr r31, r3 -/* 8003C29C 4B FF FF 49 */ bl getResInfo__14dRes_control_cFPCcP11dRes_info_ci -/* 8003C2A0 28 03 00 00 */ cmplwi r3, 0 -/* 8003C2A4 40 82 00 0C */ bne lbl_8003C2B0 -/* 8003C2A8 38 60 00 00 */ li r3, 0 -/* 8003C2AC 48 00 00 2C */ b lbl_8003C2D8 -lbl_8003C2B0: -/* 8003C2B0 80 03 00 14 */ lwz r0, 0x14(r3) -/* 8003C2B4 28 00 00 00 */ cmplwi r0, 0 -/* 8003C2B8 40 82 00 20 */ bne lbl_8003C2D8 -/* 8003C2BC 3C 60 80 38 */ lis r3, d_d_resorce__stringBase0@ha /* 0x803798B8@ha */ -/* 8003C2C0 38 63 98 B8 */ addi r3, r3, d_d_resorce__stringBase0@l /* 0x803798B8@l */ -/* 8003C2C4 38 63 02 C0 */ addi r3, r3, 0x2c0 -/* 8003C2C8 7F E4 FB 78 */ mr r4, r31 -/* 8003C2CC 4C C6 31 82 */ crclr 6 -/* 8003C2D0 4B FC AA 1D */ bl OSReport_Warning -/* 8003C2D4 38 60 00 00 */ li r3, 0 -lbl_8003C2D8: -/* 8003C2D8 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8003C2DC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8003C2E0 7C 08 03 A6 */ mtlr r0 -/* 8003C2E4 38 21 00 10 */ addi r1, r1, 0x10 -/* 8003C2E8 4E 80 00 20 */ blr diff --git a/asm/d/d_resorce/getResInfo__14dRes_control_cFPCcP11dRes_info_ci.s b/asm/d/d_resorce/getResInfo__14dRes_control_cFPCcP11dRes_info_ci.s deleted file mode 100644 index 0f59a8e845..0000000000 --- a/asm/d/d_resorce/getResInfo__14dRes_control_cFPCcP11dRes_info_ci.s +++ /dev/null @@ -1,36 +0,0 @@ -lbl_8003C1E4: -/* 8003C1E4 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8003C1E8 7C 08 02 A6 */ mflr r0 -/* 8003C1EC 90 01 00 24 */ stw r0, 0x24(r1) -/* 8003C1F0 39 61 00 20 */ addi r11, r1, 0x20 -/* 8003C1F4 48 32 5F E5 */ bl _savegpr_28 -/* 8003C1F8 7C 7C 1B 78 */ mr r28, r3 -/* 8003C1FC 7C 9D 23 78 */ mr r29, r4 -/* 8003C200 7C BE 2B 78 */ mr r30, r5 -/* 8003C204 3B E0 00 00 */ li r31, 0 -/* 8003C208 48 00 00 34 */ b lbl_8003C23C -lbl_8003C20C: -/* 8003C20C A0 1D 00 0C */ lhz r0, 0xc(r29) -/* 8003C210 2C 00 00 00 */ cmpwi r0, 0 -/* 8003C214 41 82 00 20 */ beq lbl_8003C234 -/* 8003C218 7F 83 E3 78 */ mr r3, r28 -/* 8003C21C 7F A4 EB 78 */ mr r4, r29 -/* 8003C220 48 33 08 75 */ bl stricmp -/* 8003C224 2C 03 00 00 */ cmpwi r3, 0 -/* 8003C228 40 82 00 0C */ bne lbl_8003C234 -/* 8003C22C 7F A3 EB 78 */ mr r3, r29 -/* 8003C230 48 00 00 18 */ b lbl_8003C248 -lbl_8003C234: -/* 8003C234 3B BD 00 24 */ addi r29, r29, 0x24 -/* 8003C238 3B FF 00 01 */ addi r31, r31, 1 -lbl_8003C23C: -/* 8003C23C 7C 1F F0 00 */ cmpw r31, r30 -/* 8003C240 41 80 FF CC */ blt lbl_8003C20C -/* 8003C244 38 60 00 00 */ li r3, 0 -lbl_8003C248: -/* 8003C248 39 61 00 20 */ addi r11, r1, 0x20 -/* 8003C24C 48 32 5F D9 */ bl _restgpr_28 -/* 8003C250 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8003C254 7C 08 03 A6 */ mtlr r0 -/* 8003C258 38 21 00 20 */ addi r1, r1, 0x20 -/* 8003C25C 4E 80 00 20 */ blr diff --git a/asm/d/d_resorce/myGetMemBlockSize0__FPv.s b/asm/d/d_resorce/myGetMemBlockSize0__FPv.s deleted file mode 100644 index a3c763c955..0000000000 --- a/asm/d/d_resorce/myGetMemBlockSize0__FPv.s +++ /dev/null @@ -1,13 +0,0 @@ -lbl_8003BD00: -/* 8003BD00 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8003BD04 7C 08 02 A6 */ mflr r0 -/* 8003BD08 90 01 00 14 */ stw r0, 0x14(r1) -/* 8003BD0C 4B FF FF 8D */ bl myGetMemBlockSize__FPv -/* 8003BD10 2C 03 00 00 */ cmpwi r3, 0 -/* 8003BD14 40 80 00 08 */ bge lbl_8003BD1C -/* 8003BD18 38 60 00 00 */ li r3, 0 -lbl_8003BD1C: -/* 8003BD1C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8003BD20 7C 08 03 A6 */ mtlr r0 -/* 8003BD24 38 21 00 10 */ addi r1, r1, 0x10 -/* 8003BD28 4E 80 00 20 */ blr diff --git a/asm/d/d_resorce/myGetMemBlockSize__FPv.s b/asm/d/d_resorce/myGetMemBlockSize__FPv.s deleted file mode 100644 index 178fd352e1..0000000000 --- a/asm/d/d_resorce/myGetMemBlockSize__FPv.s +++ /dev/null @@ -1,29 +0,0 @@ -lbl_8003BC98: -/* 8003BC98 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8003BC9C 7C 08 02 A6 */ mflr r0 -/* 8003BCA0 90 01 00 14 */ stw r0, 0x14(r1) -/* 8003BCA4 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8003BCA8 93 C1 00 08 */ stw r30, 8(r1) -/* 8003BCAC 7C 7E 1B 78 */ mr r30, r3 -/* 8003BCB0 48 29 2B 8D */ bl findFromRoot__7JKRHeapFPv -/* 8003BCB4 7C 7F 1B 78 */ mr r31, r3 -/* 8003BCB8 81 83 00 00 */ lwz r12, 0(r3) -/* 8003BCBC 81 8C 00 10 */ lwz r12, 0x10(r12) -/* 8003BCC0 7D 89 03 A6 */ mtctr r12 -/* 8003BCC4 4E 80 04 21 */ bctrl -/* 8003BCC8 3C 03 BA A8 */ addis r0, r3, 0xbaa8 -/* 8003BCCC 28 00 50 48 */ cmplwi r0, 0x5048 -/* 8003BCD0 40 82 00 14 */ bne lbl_8003BCE4 -/* 8003BCD4 7F C3 F3 78 */ mr r3, r30 -/* 8003BCD8 7F E4 FB 78 */ mr r4, r31 -/* 8003BCDC 48 29 29 D5 */ bl getSize__7JKRHeapFPvP7JKRHeap -/* 8003BCE0 48 00 00 08 */ b lbl_8003BCE8 -lbl_8003BCE4: -/* 8003BCE4 38 60 FF FF */ li r3, -1 -lbl_8003BCE8: -/* 8003BCE8 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8003BCEC 83 C1 00 08 */ lwz r30, 8(r1) -/* 8003BCF0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8003BCF4 7C 08 03 A6 */ mtlr r0 -/* 8003BCF8 38 21 00 10 */ addi r1, r1, 0x10 -/* 8003BCFC 4E 80 00 20 */ blr diff --git a/asm/d/d_resorce/newResInfo__14dRes_control_cFP11dRes_info_ci.s b/asm/d/d_resorce/newResInfo__14dRes_control_cFP11dRes_info_ci.s deleted file mode 100644 index 3c4bef38df..0000000000 --- a/asm/d/d_resorce/newResInfo__14dRes_control_cFP11dRes_info_ci.s +++ /dev/null @@ -1,13 +0,0 @@ -lbl_8003C260: -/* 8003C260 7C 89 03 A6 */ mtctr r4 -/* 8003C264 2C 04 00 00 */ cmpwi r4, 0 -/* 8003C268 40 81 00 18 */ ble lbl_8003C280 -lbl_8003C26C: -/* 8003C26C A0 03 00 0C */ lhz r0, 0xc(r3) -/* 8003C270 2C 00 00 00 */ cmpwi r0, 0 -/* 8003C274 4D 82 00 20 */ beqlr -/* 8003C278 38 63 00 24 */ addi r3, r3, 0x24 -/* 8003C27C 42 00 FF F0 */ bdnz lbl_8003C26C -lbl_8003C280: -/* 8003C280 38 60 00 00 */ li r3, 0 -/* 8003C284 4E 80 00 20 */ blr diff --git a/asm/d/d_resorce/setObjectRes__14dRes_control_cFPCcPvUlP7JKRHeap.s b/asm/d/d_resorce/setObjectRes__14dRes_control_cFPCcPvUlP7JKRHeap.s deleted file mode 100644 index 4fed177ed0..0000000000 --- a/asm/d/d_resorce/setObjectRes__14dRes_control_cFPCcPvUlP7JKRHeap.s +++ /dev/null @@ -1,60 +0,0 @@ -lbl_8003C4E4: -/* 8003C4E4 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8003C4E8 7C 08 02 A6 */ mflr r0 -/* 8003C4EC 90 01 00 24 */ stw r0, 0x24(r1) -/* 8003C4F0 39 61 00 20 */ addi r11, r1, 0x20 -/* 8003C4F4 48 32 5C DD */ bl _savegpr_26 -/* 8003C4F8 7C 7A 1B 78 */ mr r26, r3 -/* 8003C4FC 7C 9B 23 78 */ mr r27, r4 -/* 8003C500 7C BC 2B 78 */ mr r28, r5 -/* 8003C504 7C DD 33 78 */ mr r29, r6 -/* 8003C508 7C FE 3B 78 */ mr r30, r7 -/* 8003C50C 7F 63 DB 78 */ mr r3, r27 -/* 8003C510 7F 44 D3 78 */ mr r4, r26 -/* 8003C514 38 A0 00 80 */ li r5, 0x80 -/* 8003C518 3C C0 80 38 */ lis r6, d_d_resorce__stringBase0@ha /* 0x803798B8@ha */ -/* 8003C51C 38 C6 98 B8 */ addi r6, r6, d_d_resorce__stringBase0@l /* 0x803798B8@l */ -/* 8003C520 38 C6 03 1E */ addi r6, r6, 0x31e -/* 8003C524 38 E0 00 00 */ li r7, 0 -/* 8003C528 39 00 00 00 */ li r8, 0 -/* 8003C52C 4B FF FB 4D */ bl setRes__14dRes_control_cFPCcP11dRes_info_ciPCcUcP7JKRHeap -/* 8003C530 2C 03 00 00 */ cmpwi r3, 0 -/* 8003C534 40 82 00 0C */ bne lbl_8003C540 -/* 8003C538 38 60 00 00 */ li r3, 0 -/* 8003C53C 48 00 00 68 */ b lbl_8003C5A4 -lbl_8003C540: -/* 8003C540 38 60 00 70 */ li r3, 0x70 -/* 8003C544 48 29 27 09 */ bl __nw__FUl -/* 8003C548 7C 7F 1B 79 */ or. r31, r3, r3 -/* 8003C54C 41 82 00 18 */ beq lbl_8003C564 -/* 8003C550 7F 84 E3 78 */ mr r4, r28 -/* 8003C554 7F A5 EB 78 */ mr r5, r29 -/* 8003C558 38 C0 00 00 */ li r6, 0 -/* 8003C55C 48 29 A5 11 */ bl __ct__13JKRMemArchiveFPvUl15JKRMemBreakFlag -/* 8003C560 7C 7F 1B 78 */ mr r31, r3 -lbl_8003C564: -/* 8003C564 28 1F 00 00 */ cmplwi r31, 0 -/* 8003C568 41 82 00 10 */ beq lbl_8003C578 -/* 8003C56C 88 1F 00 30 */ lbz r0, 0x30(r31) -/* 8003C570 28 00 00 00 */ cmplwi r0, 0 -/* 8003C574 40 82 00 0C */ bne lbl_8003C580 -lbl_8003C578: -/* 8003C578 38 60 00 00 */ li r3, 0 -/* 8003C57C 48 00 00 28 */ b lbl_8003C5A4 -lbl_8003C580: -/* 8003C580 7F 63 DB 78 */ mr r3, r27 -/* 8003C584 7F 44 D3 78 */ mr r4, r26 -/* 8003C588 38 A0 00 80 */ li r5, 0x80 -/* 8003C58C 4B FF FC 59 */ bl getResInfo__14dRes_control_cFPCcP11dRes_info_ci -/* 8003C590 7F E4 FB 78 */ mr r4, r31 -/* 8003C594 7F C5 F3 78 */ mr r5, r30 -/* 8003C598 4B FF F5 2D */ bl setRes__11dRes_info_cFP10JKRArchiveP7JKRHeap -/* 8003C59C 7C 60 00 34 */ cntlzw r0, r3 -/* 8003C5A0 54 03 D9 7E */ srwi r3, r0, 5 -lbl_8003C5A4: -/* 8003C5A4 39 61 00 20 */ addi r11, r1, 0x20 -/* 8003C5A8 48 32 5C 75 */ bl _restgpr_26 -/* 8003C5AC 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8003C5B0 7C 08 03 A6 */ mtlr r0 -/* 8003C5B4 38 21 00 20 */ addi r1, r1, 0x20 -/* 8003C5B8 4E 80 00 20 */ blr diff --git a/asm/d/d_resorce/setRes__11dRes_info_cFP10JKRArchiveP7JKRHeap.s b/asm/d/d_resorce/setRes__11dRes_info_cFP10JKRArchiveP7JKRHeap.s deleted file mode 100644 index a810babcaa..0000000000 --- a/asm/d/d_resorce/setRes__11dRes_info_cFP10JKRArchiveP7JKRHeap.s +++ /dev/null @@ -1,14 +0,0 @@ -lbl_8003BAC4: -/* 8003BAC4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8003BAC8 7C 08 02 A6 */ mflr r0 -/* 8003BACC 90 01 00 14 */ stw r0, 0x14(r1) -/* 8003BAD0 90 83 00 14 */ stw r4, 0x14(r3) -/* 8003BAD4 90 A3 00 18 */ stw r5, 0x18(r3) -/* 8003BAD8 38 00 00 00 */ li r0, 0 -/* 8003BADC 90 03 00 1C */ stw r0, 0x1c(r3) -/* 8003BAE0 4B FF F8 2D */ bl loadResource__11dRes_info_cFv -/* 8003BAE4 7C 63 FE 70 */ srawi r3, r3, 0x1f -/* 8003BAE8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8003BAEC 7C 08 03 A6 */ mtlr r0 -/* 8003BAF0 38 21 00 10 */ addi r1, r1, 0x10 -/* 8003BAF4 4E 80 00 20 */ blr diff --git a/asm/d/d_resorce/setRes__11dRes_info_cFv.s b/asm/d/d_resorce/setRes__11dRes_info_cFv.s deleted file mode 100644 index bcc886b3f4..0000000000 --- a/asm/d/d_resorce/setRes__11dRes_info_cFv.s +++ /dev/null @@ -1,114 +0,0 @@ -lbl_8003BAF8: -/* 8003BAF8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8003BAFC 7C 08 02 A6 */ mflr r0 -/* 8003BB00 90 01 00 14 */ stw r0, 0x14(r1) -/* 8003BB04 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8003BB08 93 C1 00 08 */ stw r30, 8(r1) -/* 8003BB0C 7C 7F 1B 78 */ mr r31, r3 -/* 8003BB10 80 03 00 14 */ lwz r0, 0x14(r3) -/* 8003BB14 28 00 00 00 */ cmplwi r0, 0 -/* 8003BB18 40 82 01 64 */ bne lbl_8003BC7C -/* 8003BB1C 80 7F 00 10 */ lwz r3, 0x10(r31) -/* 8003BB20 28 03 00 00 */ cmplwi r3, 0 -/* 8003BB24 40 82 00 0C */ bne lbl_8003BB30 -/* 8003BB28 38 60 FF FF */ li r3, -1 -/* 8003BB2C 48 00 01 54 */ b lbl_8003BC80 -lbl_8003BB30: -/* 8003BB30 88 03 00 0C */ lbz r0, 0xc(r3) -/* 8003BB34 2C 00 00 00 */ cmpwi r0, 0 -/* 8003BB38 40 82 00 0C */ bne lbl_8003BB44 -/* 8003BB3C 38 60 00 01 */ li r3, 1 -/* 8003BB40 48 00 01 40 */ b lbl_8003BC80 -lbl_8003BB44: -/* 8003BB44 80 03 00 1C */ lwz r0, 0x1c(r3) -/* 8003BB48 90 1F 00 14 */ stw r0, 0x14(r31) -/* 8003BB4C 80 7F 00 10 */ lwz r3, 0x10(r31) -/* 8003BB50 80 03 00 20 */ lwz r0, 0x20(r3) -/* 8003BB54 90 1F 00 18 */ stw r0, 0x18(r31) -/* 8003BB58 80 7F 00 10 */ lwz r3, 0x10(r31) -/* 8003BB5C 28 03 00 00 */ cmplwi r3, 0 -/* 8003BB60 41 82 00 18 */ beq lbl_8003BB78 -/* 8003BB64 38 80 00 01 */ li r4, 1 -/* 8003BB68 81 83 00 10 */ lwz r12, 0x10(r3) -/* 8003BB6C 81 8C 00 08 */ lwz r12, 8(r12) -/* 8003BB70 7D 89 03 A6 */ mtctr r12 -/* 8003BB74 4E 80 04 21 */ bctrl -lbl_8003BB78: -/* 8003BB78 38 00 00 00 */ li r0, 0 -/* 8003BB7C 90 1F 00 10 */ stw r0, 0x10(r31) -/* 8003BB80 80 1F 00 14 */ lwz r0, 0x14(r31) -/* 8003BB84 28 00 00 00 */ cmplwi r0, 0 -/* 8003BB88 40 82 00 24 */ bne lbl_8003BBAC -/* 8003BB8C 3C 60 80 38 */ lis r3, d_d_resorce__stringBase0@ha /* 0x803798B8@ha */ -/* 8003BB90 38 63 98 B8 */ addi r3, r3, d_d_resorce__stringBase0@l /* 0x803798B8@l */ -/* 8003BB94 38 63 00 6F */ addi r3, r3, 0x6f -/* 8003BB98 7F E4 FB 78 */ mr r4, r31 -/* 8003BB9C 4C C6 31 82 */ crclr 6 -/* 8003BBA0 4B FC B0 6D */ bl OSReport_Error -/* 8003BBA4 38 60 FF FF */ li r3, -1 -/* 8003BBA8 48 00 00 D8 */ b lbl_8003BC80 -lbl_8003BBAC: -/* 8003BBAC 80 7F 00 18 */ lwz r3, 0x18(r31) -/* 8003BBB0 28 03 00 00 */ cmplwi r3, 0 -/* 8003BBB4 41 82 00 54 */ beq lbl_8003BC08 -/* 8003BBB8 38 63 00 18 */ addi r3, r3, 0x18 -/* 8003BBBC 48 30 34 85 */ bl OSLockMutex -/* 8003BBC0 38 60 00 00 */ li r3, 0 -/* 8003BBC4 80 9F 00 18 */ lwz r4, 0x18(r31) -/* 8003BBC8 38 A0 00 20 */ li r5, 0x20 -/* 8003BBCC 4B FD 33 F1 */ bl mDoExt_createSolidHeapToCurrent__FUlP7JKRHeapUl -/* 8003BBD0 90 7F 00 1C */ stw r3, 0x1c(r31) -/* 8003BBD4 7F E3 FB 78 */ mr r3, r31 -/* 8003BBD8 4B FF F7 35 */ bl loadResource__11dRes_info_cFv -/* 8003BBDC 7C 7E 1B 78 */ mr r30, r3 -/* 8003BBE0 4B FD 36 15 */ bl mDoExt_restoreCurrentHeap__Fv -/* 8003BBE4 80 7F 00 1C */ lwz r3, 0x1c(r31) -/* 8003BBE8 4B FD 34 A5 */ bl mDoExt_adjustSolidHeap__FP12JKRSolidHeap -/* 8003BBEC 80 7F 00 18 */ lwz r3, 0x18(r31) -/* 8003BBF0 38 63 00 18 */ addi r3, r3, 0x18 -/* 8003BBF4 48 30 35 29 */ bl OSUnlockMutex -/* 8003BBF8 2C 1E 00 00 */ cmpwi r30, 0 -/* 8003BBFC 40 80 00 70 */ bge lbl_8003BC6C -/* 8003BC00 38 60 FF FF */ li r3, -1 -/* 8003BC04 48 00 00 7C */ b lbl_8003BC80 -lbl_8003BC08: -/* 8003BC08 38 60 00 00 */ li r3, 0 -/* 8003BC0C 38 80 00 00 */ li r4, 0 -/* 8003BC10 4B FD 34 35 */ bl mDoExt_createSolidHeapFromGameToCurrent__FUlUl -/* 8003BC14 90 7F 00 1C */ stw r3, 0x1c(r31) -/* 8003BC18 80 1F 00 1C */ lwz r0, 0x1c(r31) -/* 8003BC1C 28 00 00 00 */ cmplwi r0, 0 -/* 8003BC20 40 82 00 24 */ bne lbl_8003BC44 -/* 8003BC24 3C 60 80 38 */ lis r3, d_d_resorce__stringBase0@ha /* 0x803798B8@ha */ -/* 8003BC28 38 63 98 B8 */ addi r3, r3, d_d_resorce__stringBase0@l /* 0x803798B8@l */ -/* 8003BC2C 38 63 00 98 */ addi r3, r3, 0x98 -/* 8003BC30 7F E4 FB 78 */ mr r4, r31 -/* 8003BC34 4C C6 31 82 */ crclr 6 -/* 8003BC38 4B FC AF D5 */ bl OSReport_Error -/* 8003BC3C 38 60 FF FF */ li r3, -1 -/* 8003BC40 48 00 00 40 */ b lbl_8003BC80 -lbl_8003BC44: -/* 8003BC44 7F E3 FB 78 */ mr r3, r31 -/* 8003BC48 4B FF F6 C5 */ bl loadResource__11dRes_info_cFv -/* 8003BC4C 7C 7E 1B 78 */ mr r30, r3 -/* 8003BC50 4B FD 35 A5 */ bl mDoExt_restoreCurrentHeap__Fv -/* 8003BC54 80 7F 00 1C */ lwz r3, 0x1c(r31) -/* 8003BC58 4B FD 34 35 */ bl mDoExt_adjustSolidHeap__FP12JKRSolidHeap -/* 8003BC5C 2C 1E 00 00 */ cmpwi r30, 0 -/* 8003BC60 40 80 00 0C */ bge lbl_8003BC6C -/* 8003BC64 38 60 FF FF */ li r3, -1 -/* 8003BC68 48 00 00 18 */ b lbl_8003BC80 -lbl_8003BC6C: -/* 8003BC6C 80 7F 00 1C */ lwz r3, 0x1c(r31) -/* 8003BC70 80 83 00 38 */ lwz r4, 0x38(r3) -/* 8003BC74 80 63 00 30 */ lwz r3, 0x30(r3) -/* 8003BC78 48 2F F9 C1 */ bl DCStoreRangeNoSync -lbl_8003BC7C: -/* 8003BC7C 38 60 00 00 */ li r3, 0 -lbl_8003BC80: -/* 8003BC80 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8003BC84 83 C1 00 08 */ lwz r30, 8(r1) -/* 8003BC88 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8003BC8C 7C 08 03 A6 */ mtlr r0 -/* 8003BC90 38 21 00 10 */ addi r1, r1, 0x10 -/* 8003BC94 4E 80 00 20 */ blr diff --git a/asm/d/d_resorce/setStageRes__14dRes_control_cFPCcP7JKRHeap.s b/asm/d/d_resorce/setStageRes__14dRes_control_cFPCcP7JKRHeap.s deleted file mode 100644 index 2d93e1428b..0000000000 --- a/asm/d/d_resorce/setStageRes__14dRes_control_cFPCcP7JKRHeap.s +++ /dev/null @@ -1,32 +0,0 @@ -lbl_8003C5BC: -/* 8003C5BC 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 8003C5C0 7C 08 02 A6 */ mflr r0 -/* 8003C5C4 90 01 00 34 */ stw r0, 0x34(r1) -/* 8003C5C8 39 61 00 30 */ addi r11, r1, 0x30 -/* 8003C5CC 48 32 5C 11 */ bl _savegpr_29 -/* 8003C5D0 7C 7D 1B 78 */ mr r29, r3 -/* 8003C5D4 7C 9E 23 78 */ mr r30, r4 -/* 8003C5D8 7C BF 2B 78 */ mr r31, r5 -/* 8003C5DC 38 61 00 08 */ addi r3, r1, 8 -/* 8003C5E0 38 80 00 14 */ li r4, 0x14 -/* 8003C5E4 3C A0 80 38 */ lis r5, d_d_resorce__stringBase0@ha /* 0x803798B8@ha */ -/* 8003C5E8 38 A5 98 B8 */ addi r5, r5, d_d_resorce__stringBase0@l /* 0x803798B8@l */ -/* 8003C5EC 38 A5 03 1F */ addi r5, r5, 0x31f -/* 8003C5F0 3C C0 80 40 */ lis r6, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8003C5F4 38 C6 61 C0 */ addi r6, r6, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8003C5F8 38 C6 4E 00 */ addi r6, r6, 0x4e00 -/* 8003C5FC 4C C6 31 82 */ crclr 6 -/* 8003C600 48 32 9F BD */ bl snprintf -/* 8003C604 7F C3 F3 78 */ mr r3, r30 -/* 8003C608 38 9D 12 00 */ addi r4, r29, 0x1200 -/* 8003C60C 38 A0 00 40 */ li r5, 0x40 -/* 8003C610 38 C1 00 08 */ addi r6, r1, 8 -/* 8003C614 38 E0 00 01 */ li r7, 1 -/* 8003C618 7F E8 FB 78 */ mr r8, r31 -/* 8003C61C 4B FF FA 5D */ bl setRes__14dRes_control_cFPCcP11dRes_info_ciPCcUcP7JKRHeap -/* 8003C620 39 61 00 30 */ addi r11, r1, 0x30 -/* 8003C624 48 32 5C 05 */ bl _restgpr_29 -/* 8003C628 80 01 00 34 */ lwz r0, 0x34(r1) -/* 8003C62C 7C 08 03 A6 */ mtlr r0 -/* 8003C630 38 21 00 30 */ addi r1, r1, 0x30 -/* 8003C634 4E 80 00 20 */ blr diff --git a/asm/d/d_resorce/set__11dRes_info_cFPCcPCcUcP7JKRHeap.s b/asm/d/d_resorce/set__11dRes_info_cFPCcPCcUcP7JKRHeap.s deleted file mode 100644 index 9f55987cba..0000000000 --- a/asm/d/d_resorce/set__11dRes_info_cFPCcPCcUcP7JKRHeap.s +++ /dev/null @@ -1,45 +0,0 @@ -lbl_8003A348: -/* 8003A348 94 21 FF C0 */ stwu r1, -0x40(r1) -/* 8003A34C 7C 08 02 A6 */ mflr r0 -/* 8003A350 90 01 00 44 */ stw r0, 0x44(r1) -/* 8003A354 39 61 00 40 */ addi r11, r1, 0x40 -/* 8003A358 48 32 7E 81 */ bl _savegpr_28 -/* 8003A35C 7C 7C 1B 78 */ mr r28, r3 -/* 8003A360 7C 9D 23 78 */ mr r29, r4 -/* 8003A364 7C A8 2B 78 */ mr r8, r5 -/* 8003A368 7C DE 33 78 */ mr r30, r6 -/* 8003A36C 7C FF 3B 78 */ mr r31, r7 -/* 8003A370 88 05 00 00 */ lbz r0, 0(r5) -/* 8003A374 7C 00 07 75 */ extsb. r0, r0 -/* 8003A378 41 82 00 4C */ beq lbl_8003A3C4 -/* 8003A37C 38 61 00 08 */ addi r3, r1, 8 -/* 8003A380 38 80 00 28 */ li r4, 0x28 -/* 8003A384 3C A0 80 38 */ lis r5, d_d_resorce__stringBase0@ha /* 0x803798B8@ha */ -/* 8003A388 38 A5 98 B8 */ addi r5, r5, d_d_resorce__stringBase0@l /* 0x803798B8@l */ -/* 8003A38C 7D 06 43 78 */ mr r6, r8 -/* 8003A390 7F A7 EB 78 */ mr r7, r29 -/* 8003A394 4C C6 31 82 */ crclr 6 -/* 8003A398 48 32 C2 25 */ bl snprintf -/* 8003A39C 38 61 00 08 */ addi r3, r1, 8 -/* 8003A3A0 7F C4 F3 78 */ mr r4, r30 -/* 8003A3A4 7F E5 FB 78 */ mr r5, r31 -/* 8003A3A8 4B FD BA 6D */ bl create__24mDoDvdThd_mountArchive_cFPCcUcP7JKRHeap -/* 8003A3AC 90 7C 00 10 */ stw r3, 0x10(r28) -/* 8003A3B0 80 1C 00 10 */ lwz r0, 0x10(r28) -/* 8003A3B4 28 00 00 00 */ cmplwi r0, 0 -/* 8003A3B8 40 82 00 0C */ bne lbl_8003A3C4 -/* 8003A3BC 38 60 00 00 */ li r3, 0 -/* 8003A3C0 48 00 00 18 */ b lbl_8003A3D8 -lbl_8003A3C4: -/* 8003A3C4 7F 83 E3 78 */ mr r3, r28 -/* 8003A3C8 7F A4 EB 78 */ mr r4, r29 -/* 8003A3CC 38 A0 00 0A */ li r5, 0xa -/* 8003A3D0 48 32 E7 19 */ bl strncpy -/* 8003A3D4 38 60 00 01 */ li r3, 1 -lbl_8003A3D8: -/* 8003A3D8 39 61 00 40 */ addi r11, r1, 0x40 -/* 8003A3DC 48 32 7E 49 */ bl _restgpr_28 -/* 8003A3E0 80 01 00 44 */ lwz r0, 0x44(r1) -/* 8003A3E4 7C 08 03 A6 */ mtlr r0 -/* 8003A3E8 38 21 00 40 */ addi r1, r1, 0x40 -/* 8003A3EC 4E 80 00 20 */ blr diff --git a/asm/d/d_resorce/syncAllRes__14dRes_control_cFP11dRes_info_ci.s b/asm/d/d_resorce/syncAllRes__14dRes_control_cFP11dRes_info_ci.s deleted file mode 100644 index 01c1297d30..0000000000 --- a/asm/d/d_resorce/syncAllRes__14dRes_control_cFP11dRes_info_ci.s +++ /dev/null @@ -1,34 +0,0 @@ -lbl_8003C470: -/* 8003C470 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8003C474 7C 08 02 A6 */ mflr r0 -/* 8003C478 90 01 00 24 */ stw r0, 0x24(r1) -/* 8003C47C 39 61 00 20 */ addi r11, r1, 0x20 -/* 8003C480 48 32 5D 5D */ bl _savegpr_29 -/* 8003C484 7C 7D 1B 78 */ mr r29, r3 -/* 8003C488 7C 9E 23 78 */ mr r30, r4 -/* 8003C48C 3B E0 00 00 */ li r31, 0 -/* 8003C490 48 00 00 30 */ b lbl_8003C4C0 -lbl_8003C494: -/* 8003C494 80 1D 00 10 */ lwz r0, 0x10(r29) -/* 8003C498 28 00 00 00 */ cmplwi r0, 0 -/* 8003C49C 41 82 00 1C */ beq lbl_8003C4B8 -/* 8003C4A0 7F A3 EB 78 */ mr r3, r29 -/* 8003C4A4 4B FF F6 55 */ bl setRes__11dRes_info_cFv -/* 8003C4A8 2C 03 00 00 */ cmpwi r3, 0 -/* 8003C4AC 40 81 00 0C */ ble lbl_8003C4B8 -/* 8003C4B0 38 60 00 01 */ li r3, 1 -/* 8003C4B4 48 00 00 18 */ b lbl_8003C4CC -lbl_8003C4B8: -/* 8003C4B8 3B BD 00 24 */ addi r29, r29, 0x24 -/* 8003C4BC 3B FF 00 01 */ addi r31, r31, 1 -lbl_8003C4C0: -/* 8003C4C0 7C 1F F0 00 */ cmpw r31, r30 -/* 8003C4C4 41 80 FF D0 */ blt lbl_8003C494 -/* 8003C4C8 38 60 00 00 */ li r3, 0 -lbl_8003C4CC: -/* 8003C4CC 39 61 00 20 */ addi r11, r1, 0x20 -/* 8003C4D0 48 32 5D 59 */ bl _restgpr_29 -/* 8003C4D4 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8003C4D8 7C 08 03 A6 */ mtlr r0 -/* 8003C4DC 38 21 00 20 */ addi r1, r1, 0x20 -/* 8003C4E0 4E 80 00 20 */ blr diff --git a/asm/d/d_resorce/syncRes__14dRes_control_cFPCcP11dRes_info_ci.s b/asm/d/d_resorce/syncRes__14dRes_control_cFPCcP11dRes_info_ci.s deleted file mode 100644 index 5a4250ca54..0000000000 --- a/asm/d/d_resorce/syncRes__14dRes_control_cFPCcP11dRes_info_ci.s +++ /dev/null @@ -1,16 +0,0 @@ -lbl_8003C160: -/* 8003C160 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8003C164 7C 08 02 A6 */ mflr r0 -/* 8003C168 90 01 00 14 */ stw r0, 0x14(r1) -/* 8003C16C 48 00 00 79 */ bl getResInfo__14dRes_control_cFPCcP11dRes_info_ci -/* 8003C170 28 03 00 00 */ cmplwi r3, 0 -/* 8003C174 40 82 00 0C */ bne lbl_8003C180 -/* 8003C178 38 60 FF FF */ li r3, -1 -/* 8003C17C 48 00 00 08 */ b lbl_8003C184 -lbl_8003C180: -/* 8003C180 4B FF F9 79 */ bl setRes__11dRes_info_cFv -lbl_8003C184: -/* 8003C184 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8003C188 7C 08 03 A6 */ mtlr r0 -/* 8003C18C 38 21 00 10 */ addi r1, r1, 0x10 -/* 8003C190 4E 80 00 20 */ blr diff --git a/asm/d/d_select_icon/__ct__9dSi_HIO_cFv.s b/asm/d/d_select_icon/__ct__9dSi_HIO_cFv.s deleted file mode 100644 index d7155c0294..0000000000 --- a/asm/d/d_select_icon/__ct__9dSi_HIO_cFv.s +++ /dev/null @@ -1,5 +0,0 @@ -lbl_80195A2C: -/* 80195A2C 3C 80 80 3C */ lis r4, __vt__9dSi_HIO_c@ha /* 0x803BB7B8@ha */ -/* 80195A30 38 04 B7 B8 */ addi r0, r4, __vt__9dSi_HIO_c@l /* 0x803BB7B8@l */ -/* 80195A34 90 03 00 00 */ stw r0, 0(r3) -/* 80195A38 4E 80 00 20 */ blr diff --git a/asm/d/d_select_icon/__dt__9dSi_HIO_cFv.s b/asm/d/d_select_icon/__dt__9dSi_HIO_cFv.s deleted file mode 100644 index 01b6700144..0000000000 --- a/asm/d/d_select_icon/__dt__9dSi_HIO_cFv.s +++ /dev/null @@ -1,20 +0,0 @@ -lbl_80195C1C: -/* 80195C1C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80195C20 7C 08 02 A6 */ mflr r0 -/* 80195C24 90 01 00 14 */ stw r0, 0x14(r1) -/* 80195C28 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80195C2C 7C 7F 1B 79 */ or. r31, r3, r3 -/* 80195C30 41 82 00 1C */ beq lbl_80195C4C -/* 80195C34 3C A0 80 3C */ lis r5, __vt__9dSi_HIO_c@ha /* 0x803BB7B8@ha */ -/* 80195C38 38 05 B7 B8 */ addi r0, r5, __vt__9dSi_HIO_c@l /* 0x803BB7B8@l */ -/* 80195C3C 90 1F 00 00 */ stw r0, 0(r31) -/* 80195C40 7C 80 07 35 */ extsh. r0, r4 -/* 80195C44 40 81 00 08 */ ble lbl_80195C4C -/* 80195C48 48 13 90 F5 */ bl __dl__FPv -lbl_80195C4C: -/* 80195C4C 7F E3 FB 78 */ mr r3, r31 -/* 80195C50 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80195C54 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80195C58 7C 08 03 A6 */ mtlr r0 -/* 80195C5C 38 21 00 10 */ addi r1, r1, 0x10 -/* 80195C60 4E 80 00 20 */ blr diff --git a/asm/d/d_select_icon/__sinit_d_select_icon_cpp.s b/asm/d/d_select_icon/__sinit_d_select_icon_cpp.s deleted file mode 100644 index 1fd99613f8..0000000000 --- a/asm/d/d_select_icon/__sinit_d_select_icon_cpp.s +++ /dev/null @@ -1,15 +0,0 @@ -lbl_80195C64: -/* 80195C64 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80195C68 7C 08 02 A6 */ mflr r0 -/* 80195C6C 90 01 00 14 */ stw r0, 0x14(r1) -/* 80195C70 38 6D 8A D0 */ la r3, g_siHIO(r13) /* 80451050-_SDA_BASE_ */ -/* 80195C74 4B FF FD B9 */ bl __ct__9dSi_HIO_cFv -/* 80195C78 3C 80 80 19 */ lis r4, __dt__9dSi_HIO_cFv@ha /* 0x80195C1C@ha */ -/* 80195C7C 38 84 5C 1C */ addi r4, r4, __dt__9dSi_HIO_cFv@l /* 0x80195C1C@l */ -/* 80195C80 3C A0 80 43 */ lis r5, lit_3648@ha /* 0x8042CA10@ha */ -/* 80195C84 38 A5 CA 10 */ addi r5, r5, lit_3648@l /* 0x8042CA10@l */ -/* 80195C88 48 1C BF 9D */ bl __register_global_object -/* 80195C8C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80195C90 7C 08 03 A6 */ mtlr r0 -/* 80195C94 38 21 00 10 */ addi r1, r1, 0x10 -/* 80195C98 4E 80 00 20 */ blr diff --git a/asm/d/d_select_icon/animation__14dSelect_icon_cFv.s b/asm/d/d_select_icon/animation__14dSelect_icon_cFv.s deleted file mode 100644 index 6540725f29..0000000000 --- a/asm/d/d_select_icon/animation__14dSelect_icon_cFv.s +++ /dev/null @@ -1,69 +0,0 @@ -lbl_80195A3C: -/* 80195A3C 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80195A40 7C 08 02 A6 */ mflr r0 -/* 80195A44 90 01 00 24 */ stw r0, 0x24(r1) -/* 80195A48 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 80195A4C 7C 7F 1B 78 */ mr r31, r3 -/* 80195A50 80 63 00 10 */ lwz r3, 0x10(r3) -/* 80195A54 80 63 00 04 */ lwz r3, 4(r3) -/* 80195A58 88 03 00 B2 */ lbz r0, 0xb2(r3) -/* 80195A5C 28 00 00 00 */ cmplwi r0, 0 -/* 80195A60 41 82 00 CC */ beq lbl_80195B2C -/* 80195A64 C0 3F 00 20 */ lfs f1, 0x20(r31) -/* 80195A68 C0 1F 00 2C */ lfs f0, 0x2c(r31) -/* 80195A6C EC 01 00 2A */ fadds f0, f1, f0 -/* 80195A70 D0 1F 00 20 */ stfs f0, 0x20(r31) -/* 80195A74 80 7F 00 1C */ lwz r3, 0x1c(r31) -/* 80195A78 A8 03 00 06 */ lha r0, 6(r3) -/* 80195A7C C0 5F 00 20 */ lfs f2, 0x20(r31) -/* 80195A80 C8 22 A0 78 */ lfd f1, lit_3773(r2) -/* 80195A84 6C 00 80 00 */ xoris r0, r0, 0x8000 -/* 80195A88 90 01 00 0C */ stw r0, 0xc(r1) -/* 80195A8C 3C 00 43 30 */ lis r0, 0x4330 -/* 80195A90 90 01 00 08 */ stw r0, 8(r1) -/* 80195A94 C8 01 00 08 */ lfd f0, 8(r1) -/* 80195A98 EC 00 08 28 */ fsubs f0, f0, f1 -/* 80195A9C FC 02 00 40 */ fcmpo cr0, f2, f0 -/* 80195AA0 4C 41 13 82 */ cror 2, 1, 2 -/* 80195AA4 40 82 00 0C */ bne lbl_80195AB0 -/* 80195AA8 C0 02 A0 70 */ lfs f0, lit_3740(r2) -/* 80195AAC D0 1F 00 20 */ stfs f0, 0x20(r31) -lbl_80195AB0: -/* 80195AB0 C0 1F 00 20 */ lfs f0, 0x20(r31) -/* 80195AB4 80 7F 00 1C */ lwz r3, 0x1c(r31) -/* 80195AB8 D0 03 00 08 */ stfs f0, 8(r3) -/* 80195ABC C0 3F 00 28 */ lfs f1, 0x28(r31) -/* 80195AC0 C0 1F 00 2C */ lfs f0, 0x2c(r31) -/* 80195AC4 EC 01 00 2A */ fadds f0, f1, f0 -/* 80195AC8 D0 1F 00 28 */ stfs f0, 0x28(r31) -/* 80195ACC 80 7F 00 24 */ lwz r3, 0x24(r31) -/* 80195AD0 A8 03 00 06 */ lha r0, 6(r3) -/* 80195AD4 C0 5F 00 28 */ lfs f2, 0x28(r31) -/* 80195AD8 C8 22 A0 78 */ lfd f1, lit_3773(r2) -/* 80195ADC 6C 00 80 00 */ xoris r0, r0, 0x8000 -/* 80195AE0 90 01 00 0C */ stw r0, 0xc(r1) -/* 80195AE4 3C 00 43 30 */ lis r0, 0x4330 -/* 80195AE8 90 01 00 08 */ stw r0, 8(r1) -/* 80195AEC C8 01 00 08 */ lfd f0, 8(r1) -/* 80195AF0 EC 00 08 28 */ fsubs f0, f0, f1 -/* 80195AF4 FC 02 00 40 */ fcmpo cr0, f2, f0 -/* 80195AF8 4C 41 13 82 */ cror 2, 1, 2 -/* 80195AFC 40 82 00 0C */ bne lbl_80195B08 -/* 80195B00 C0 02 A0 70 */ lfs f0, lit_3740(r2) -/* 80195B04 D0 1F 00 28 */ stfs f0, 0x28(r31) -lbl_80195B08: -/* 80195B08 C0 1F 00 28 */ lfs f0, 0x28(r31) -/* 80195B0C 80 7F 00 24 */ lwz r3, 0x24(r31) -/* 80195B10 D0 03 00 08 */ stfs f0, 8(r3) -/* 80195B14 80 7F 00 08 */ lwz r3, 8(r31) -/* 80195B18 48 16 3B 79 */ bl animation__9J2DScreenFv -/* 80195B1C C0 3F 00 14 */ lfs f1, 0x14(r31) -/* 80195B20 80 7F 00 10 */ lwz r3, 0x10(r31) -/* 80195B24 FC 40 08 90 */ fmr f2, f1 -/* 80195B28 48 0B EB 11 */ bl paneScale__8CPaneMgrFff -lbl_80195B2C: -/* 80195B2C 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 80195B30 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80195B34 7C 08 03 A6 */ mtlr r0 -/* 80195B38 38 21 00 20 */ addi r1, r1, 0x20 -/* 80195B3C 4E 80 00 20 */ blr diff --git a/asm/d/d_select_icon/setAlpha__14dSelect_icon_cFUc.s b/asm/d/d_select_icon/setAlpha__14dSelect_icon_cFUc.s deleted file mode 100644 index 53334d119d..0000000000 --- a/asm/d/d_select_icon/setAlpha__14dSelect_icon_cFUc.s +++ /dev/null @@ -1,13 +0,0 @@ -lbl_80195B40: -/* 80195B40 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80195B44 7C 08 02 A6 */ mflr r0 -/* 80195B48 90 01 00 14 */ stw r0, 0x14(r1) -/* 80195B4C 80 63 00 10 */ lwz r3, 0x10(r3) -/* 80195B50 81 83 00 00 */ lwz r12, 0(r3) -/* 80195B54 81 8C 00 0C */ lwz r12, 0xc(r12) -/* 80195B58 7D 89 03 A6 */ mtctr r12 -/* 80195B5C 4E 80 04 21 */ bctrl -/* 80195B60 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80195B64 7C 08 03 A6 */ mtlr r0 -/* 80195B68 38 21 00 10 */ addi r1, r1, 0x10 -/* 80195B6C 4E 80 00 20 */ blr diff --git a/asm/d/d_select_icon/setPos__14dSelect_icon_cFP7J2DPaneff.s b/asm/d/d_select_icon/setPos__14dSelect_icon_cFP7J2DPaneff.s deleted file mode 100644 index eb53dfa6a0..0000000000 --- a/asm/d/d_select_icon/setPos__14dSelect_icon_cFP7J2DPaneff.s +++ /dev/null @@ -1,44 +0,0 @@ -lbl_80195B70: -/* 80195B70 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 80195B74 7C 08 02 A6 */ mflr r0 -/* 80195B78 90 01 00 34 */ stw r0, 0x34(r1) -/* 80195B7C DB E1 00 20 */ stfd f31, 0x20(r1) -/* 80195B80 F3 E1 00 28 */ psq_st f31, 40(r1), 0, 0 /* qr0 */ -/* 80195B84 DB C1 00 10 */ stfd f30, 0x10(r1) -/* 80195B88 F3 C1 00 18 */ psq_st f30, 24(r1), 0, 0 /* qr0 */ -/* 80195B8C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80195B90 7C 7F 1B 78 */ mr r31, r3 -/* 80195B94 FF C0 08 90 */ fmr f30, f1 -/* 80195B98 FF E0 10 90 */ fmr f31, f2 -/* 80195B9C C0 24 00 28 */ lfs f1, 0x28(r4) -/* 80195BA0 C0 04 00 20 */ lfs f0, 0x20(r4) -/* 80195BA4 EC 01 00 28 */ fsubs f0, f1, f0 -/* 80195BA8 C0 42 A0 80 */ lfs f2, lit_3814(r2) -/* 80195BAC EC 00 10 24 */ fdivs f0, f0, f2 -/* 80195BB0 D0 03 00 14 */ stfs f0, 0x14(r3) -/* 80195BB4 C0 24 00 2C */ lfs f1, 0x2c(r4) -/* 80195BB8 C0 04 00 24 */ lfs f0, 0x24(r4) -/* 80195BBC EC 01 00 28 */ fsubs f0, f1, f0 -/* 80195BC0 EC 00 10 24 */ fdivs f0, f0, f2 -/* 80195BC4 D0 03 00 18 */ stfs f0, 0x18(r3) -/* 80195BC8 C0 23 00 14 */ lfs f1, 0x14(r3) -/* 80195BCC 80 63 00 10 */ lwz r3, 0x10(r3) -/* 80195BD0 FC 40 08 90 */ fmr f2, f1 -/* 80195BD4 48 0B EA 65 */ bl paneScale__8CPaneMgrFff -/* 80195BD8 80 7F 00 0C */ lwz r3, 0xc(r31) -/* 80195BDC 80 63 00 04 */ lwz r3, 4(r3) -/* 80195BE0 D3 C3 00 D4 */ stfs f30, 0xd4(r3) -/* 80195BE4 D3 E3 00 D8 */ stfs f31, 0xd8(r3) -/* 80195BE8 81 83 00 00 */ lwz r12, 0(r3) -/* 80195BEC 81 8C 00 2C */ lwz r12, 0x2c(r12) -/* 80195BF0 7D 89 03 A6 */ mtctr r12 -/* 80195BF4 4E 80 04 21 */ bctrl -/* 80195BF8 E3 E1 00 28 */ psq_l f31, 40(r1), 0, 0 /* qr0 */ -/* 80195BFC CB E1 00 20 */ lfd f31, 0x20(r1) -/* 80195C00 E3 C1 00 18 */ psq_l f30, 24(r1), 0, 0 /* qr0 */ -/* 80195C04 CB C1 00 10 */ lfd f30, 0x10(r1) -/* 80195C08 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80195C0C 80 01 00 34 */ lwz r0, 0x34(r1) -/* 80195C10 7C 08 03 A6 */ mtlr r0 -/* 80195C14 38 21 00 30 */ addi r1, r1, 0x30 -/* 80195C18 4E 80 00 20 */ blr diff --git a/asm/d/d_stage/checkRoomDisp__20dStage_roomControl_cCFi.s b/asm/d/d_stage/checkRoomDisp__20dStage_roomControl_cCFi.s deleted file mode 100644 index 22d10874b6..0000000000 --- a/asm/d/d_stage/checkRoomDisp__20dStage_roomControl_cCFi.s +++ /dev/null @@ -1,15 +0,0 @@ -lbl_800244E8: -/* 800244E8 3C 60 80 3F */ lis r3, mStatus__20dStage_roomControl_c@ha /* 0x803F6094@ha */ -/* 800244EC 38 63 60 94 */ addi r3, r3, mStatus__20dStage_roomControl_c@l /* 0x803F6094@l */ -/* 800244F0 1C 04 04 04 */ mulli r0, r4, 0x404 -/* 800244F4 7C 63 02 14 */ add r3, r3, r0 -/* 800244F8 88 63 03 F4 */ lbz r3, 0x3f4(r3) -/* 800244FC 54 60 07 39 */ rlwinm. r0, r3, 0, 0x1c, 0x1c -/* 80024500 41 82 00 0C */ beq lbl_8002450C -/* 80024504 38 60 00 00 */ li r3, 0 -/* 80024508 4E 80 00 20 */ blr -lbl_8002450C: -/* 8002450C 54 63 06 F6 */ rlwinm r3, r3, 0, 0x1b, 0x1b -/* 80024510 30 03 FF FF */ addic r0, r3, -1 -/* 80024514 7C 60 19 10 */ subfe r3, r0, r3 -/* 80024518 4E 80 00 20 */ blr diff --git a/asm/d/d_stage/dStage_RoomCameraInit__FP11dStage_dt_cPviPv.s b/asm/d/d_stage/dStage_RoomCameraInit__FP11dStage_dt_cPviPv.s deleted file mode 100644 index 7bc6849f55..0000000000 --- a/asm/d/d_stage/dStage_RoomCameraInit__FP11dStage_dt_cPviPv.s +++ /dev/null @@ -1,14 +0,0 @@ -lbl_80025308: -/* 80025308 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8002530C 7C 08 02 A6 */ mflr r0 -/* 80025310 90 01 00 14 */ stw r0, 0x14(r1) -/* 80025314 81 83 00 00 */ lwz r12, 0(r3) -/* 80025318 81 8C 00 0C */ lwz r12, 0xc(r12) -/* 8002531C 7D 89 03 A6 */ mtctr r12 -/* 80025320 38 84 00 04 */ addi r4, r4, 4 -/* 80025324 4E 80 04 21 */ bctrl -/* 80025328 38 60 00 01 */ li r3, 1 -/* 8002532C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80025330 7C 08 03 A6 */ mtlr r0 -/* 80025334 38 21 00 10 */ addi r1, r1, 0x10 -/* 80025338 4E 80 00 20 */ blr diff --git a/asm/d/d_stage/dStage_actorCreate__FP22stage_actor_data_classP16fopAcM_prm_class.s b/asm/d/d_stage/dStage_actorCreate__FP22stage_actor_data_classP16fopAcM_prm_class.s deleted file mode 100644 index f928a65da7..0000000000 --- a/asm/d/d_stage/dStage_actorCreate__FP22stage_actor_data_classP16fopAcM_prm_class.s +++ /dev/null @@ -1,43 +0,0 @@ -lbl_80024EFC: -/* 80024EFC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80024F00 7C 08 02 A6 */ mflr r0 -/* 80024F04 90 01 00 14 */ stw r0, 0x14(r1) -/* 80024F08 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80024F0C 93 C1 00 08 */ stw r30, 8(r1) -/* 80024F10 7C 9E 23 78 */ mr r30, r4 -/* 80024F14 4B FF FE AD */ bl dStage_searchName__FPCc -/* 80024F18 28 03 00 00 */ cmplwi r3, 0 -/* 80024F1C 40 82 00 14 */ bne lbl_80024F30 -/* 80024F20 7F C3 F3 78 */ mr r3, r30 -/* 80024F24 38 80 00 00 */ li r4, 0 -/* 80024F28 48 2A 95 D9 */ bl free__7JKRHeapFPvP7JKRHeap -/* 80024F2C 48 00 00 54 */ b lbl_80024F80 -lbl_80024F30: -/* 80024F30 88 03 00 0A */ lbz r0, 0xa(r3) -/* 80024F34 98 1E 00 20 */ stb r0, 0x20(r30) -/* 80024F38 AB E3 00 08 */ lha r31, 8(r3) -/* 80024F3C 2C 1F 03 0F */ cmpwi r31, 0x30f -/* 80024F40 40 82 00 28 */ bne lbl_80024F68 -/* 80024F44 7F E3 FB 78 */ mr r3, r31 -/* 80024F48 38 80 00 00 */ li r4, 0 -/* 80024F4C 38 A0 00 00 */ li r5, 0 -/* 80024F50 7F C6 F3 78 */ mr r6, r30 -/* 80024F54 4B FF 49 51 */ bl fopAcM_FastCreate__FsPFPv_iPvPv -/* 80024F58 28 03 00 00 */ cmplwi r3, 0 -/* 80024F5C 41 82 00 24 */ beq lbl_80024F80 -/* 80024F60 4B FF 4D 1D */ bl fopAcM_delete__FP10fopAc_ac_c -/* 80024F64 48 00 00 1C */ b lbl_80024F80 -lbl_80024F68: -/* 80024F68 4B FF C7 8D */ bl fpcLy_CurrentLayer__Fv -/* 80024F6C 7F E4 FB 78 */ mr r4, r31 -/* 80024F70 38 A0 00 00 */ li r5, 0 -/* 80024F74 38 C0 00 00 */ li r6, 0 -/* 80024F78 7F C7 F3 78 */ mr r7, r30 -/* 80024F7C 4B FF EE 19 */ bl fpcSCtRq_Request__FP11layer_classsPFPvPv_iPvPv -lbl_80024F80: -/* 80024F80 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80024F84 83 C1 00 08 */ lwz r30, 8(r1) -/* 80024F88 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80024F8C 7C 08 03 A6 */ mtlr r0 -/* 80024F90 38 21 00 10 */ addi r1, r1, 0x10 -/* 80024F94 4E 80 00 20 */ blr diff --git a/asm/d/d_stage/dStage_arrowInit__FP11dStage_dt_cPviPv.s b/asm/d/d_stage/dStage_arrowInit__FP11dStage_dt_cPviPv.s deleted file mode 100644 index 2ab1e64a30..0000000000 --- a/asm/d/d_stage/dStage_arrowInit__FP11dStage_dt_cPviPv.s +++ /dev/null @@ -1,14 +0,0 @@ -lbl_8002533C: -/* 8002533C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80025340 7C 08 02 A6 */ mflr r0 -/* 80025344 90 01 00 14 */ stw r0, 0x14(r1) -/* 80025348 81 83 00 00 */ lwz r12, 0(r3) -/* 8002534C 81 8C 00 14 */ lwz r12, 0x14(r12) -/* 80025350 7D 89 03 A6 */ mtctr r12 -/* 80025354 38 84 00 04 */ addi r4, r4, 4 -/* 80025358 4E 80 04 21 */ bctrl -/* 8002535C 38 60 00 01 */ li r3, 1 -/* 80025360 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80025364 7C 08 03 A6 */ mtlr r0 -/* 80025368 38 21 00 10 */ addi r1, r1, 0x10 -/* 8002536C 4E 80 00 20 */ blr diff --git a/asm/d/d_stage/dStage_dt_c_stageInitLoader__FPvP11dStage_dt_c.s b/asm/d/d_stage/dStage_dt_c_stageInitLoader__FPvP11dStage_dt_c.s deleted file mode 100644 index f8a68c6cf9..0000000000 --- a/asm/d/d_stage/dStage_dt_c_stageInitLoader__FPvP11dStage_dt_c.s +++ /dev/null @@ -1,30 +0,0 @@ -lbl_80026940: -/* 80026940 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80026944 7C 08 02 A6 */ mflr r0 -/* 80026948 90 01 00 14 */ stw r0, 0x14(r1) -/* 8002694C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80026950 93 C1 00 08 */ stw r30, 8(r1) -/* 80026954 7C 7E 1B 78 */ mr r30, r3 -/* 80026958 7C 9F 23 78 */ mr r31, r4 -/* 8002695C 4B FF FA 01 */ bl dStage_dt_c_offsetToPtr__FPv -/* 80026960 7F E3 FB 78 */ mr r3, r31 -/* 80026964 81 9F 00 00 */ lwz r12, 0(r31) -/* 80026968 81 8C 00 08 */ lwz r12, 8(r12) -/* 8002696C 7D 89 03 A6 */ mtctr r12 -/* 80026970 4E 80 04 21 */ bctrl -/* 80026974 7F C3 F3 78 */ mr r3, r30 -/* 80026978 7F E4 FB 78 */ mr r4, r31 -/* 8002697C 3C A0 80 3A */ lis r5, l_funcTable_5136@ha /* 0x803A6638@ha */ -/* 80026980 38 A5 66 38 */ addi r5, r5, l_funcTable_5136@l /* 0x803A6638@l */ -/* 80026984 38 C0 00 01 */ li r6, 1 -/* 80026988 4B FF F7 2D */ bl dStage_dt_c_decode__FPvP11dStage_dt_cP9FuncTablei -/* 8002698C 7F C3 F3 78 */ mr r3, r30 -/* 80026990 7F E4 FB 78 */ mr r4, r31 -/* 80026994 38 A0 FF FF */ li r5, -1 -/* 80026998 4B FF FF 7D */ bl layerMemoryInfoLoader__FPvP11dStage_dt_ci -/* 8002699C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800269A0 83 C1 00 08 */ lwz r30, 8(r1) -/* 800269A4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800269A8 7C 08 03 A6 */ mtlr r0 -/* 800269AC 38 21 00 10 */ addi r1, r1, 0x10 -/* 800269B0 4E 80 00 20 */ blr diff --git a/asm/d/d_stage/dStage_infoCreate__Fv.s b/asm/d/d_stage/dStage_infoCreate__Fv.s deleted file mode 100644 index 17ea0f2ebb..0000000000 --- a/asm/d/d_stage/dStage_infoCreate__Fv.s +++ /dev/null @@ -1,24 +0,0 @@ -lbl_80026CDC: -/* 80026CDC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80026CE0 7C 08 02 A6 */ mflr r0 -/* 80026CE4 90 01 00 14 */ stw r0, 0x14(r1) -/* 80026CE8 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80026CEC 93 C1 00 08 */ stw r30, 8(r1) -/* 80026CF0 3C 60 80 38 */ lis r3, d_d_stage__stringBase0@ha /* 0x80378A50@ha */ -/* 80026CF4 38 63 8A 50 */ addi r3, r3, d_d_stage__stringBase0@l /* 0x80378A50@l */ -/* 80026CF8 38 63 01 19 */ addi r3, r3, 0x119 -/* 80026CFC 48 00 87 39 */ bl dComIfG_getStageRes__FPCc -/* 80026D00 7C 7E 1B 78 */ mr r30, r3 -/* 80026D04 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80026D08 3B E3 61 C0 */ addi r31, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80026D0C 38 7F 4E C4 */ addi r3, r31, 0x4ec4 -/* 80026D10 4B FF D4 D9 */ bl init__20dStage_roomControl_cFv -/* 80026D14 7F C3 F3 78 */ mr r3, r30 -/* 80026D18 38 9F 4E 20 */ addi r4, r31, 0x4e20 -/* 80026D1C 4B FF FC 25 */ bl dStage_dt_c_stageInitLoader__FPvP11dStage_dt_c -/* 80026D20 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80026D24 83 C1 00 08 */ lwz r30, 8(r1) -/* 80026D28 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80026D2C 7C 08 03 A6 */ mtlr r0 -/* 80026D30 38 21 00 10 */ addi r1, r1, 0x10 -/* 80026D34 4E 80 00 20 */ blr diff --git a/asm/d/d_stage/getArcBank__20dStage_roomControl_cFi.s b/asm/d/d_stage/getArcBank__20dStage_roomControl_cFi.s deleted file mode 100644 index b18adbb0d3..0000000000 --- a/asm/d/d_stage/getArcBank__20dStage_roomControl_cFi.s +++ /dev/null @@ -1,6 +0,0 @@ -lbl_80024940: -/* 80024940 1C 83 00 0A */ mulli r4, r3, 0xa -/* 80024944 3C 60 80 3A */ lis r3, mArcBank__20dStage_roomControl_c@ha /* 0x803A696C@ha */ -/* 80024948 38 03 69 6C */ addi r0, r3, mArcBank__20dStage_roomControl_c@l /* 0x803A696C@l */ -/* 8002494C 7C 60 22 14 */ add r3, r0, r4 -/* 80024950 4E 80 00 20 */ blr diff --git a/asm/d/d_stage/getStatusRoomDt__20dStage_roomControl_cFi.s b/asm/d/d_stage/getStatusRoomDt__20dStage_roomControl_cFi.s deleted file mode 100644 index f386ac12f0..0000000000 --- a/asm/d/d_stage/getStatusRoomDt__20dStage_roomControl_cFi.s +++ /dev/null @@ -1,14 +0,0 @@ -lbl_80024384: -/* 80024384 2C 04 00 00 */ cmpwi r4, 0 -/* 80024388 41 80 00 0C */ blt lbl_80024394 -/* 8002438C 2C 04 00 40 */ cmpwi r4, 0x40 -/* 80024390 41 80 00 0C */ blt lbl_8002439C -lbl_80024394: -/* 80024394 38 60 00 00 */ li r3, 0 -/* 80024398 4E 80 00 20 */ blr -lbl_8002439C: -/* 8002439C 1C 84 04 04 */ mulli r4, r4, 0x404 -/* 800243A0 3C 60 80 3F */ lis r3, mStatus__20dStage_roomControl_c@ha /* 0x803F6094@ha */ -/* 800243A4 38 03 60 94 */ addi r0, r3, mStatus__20dStage_roomControl_c@l /* 0x803F6094@l */ -/* 800243A8 7C 60 22 14 */ add r3, r0, r4 -/* 800243AC 4E 80 00 20 */ blr diff --git a/asm/d/d_stage/initZone__20dStage_roomControl_cFv.s b/asm/d/d_stage/initZone__20dStage_roomControl_cFv.s deleted file mode 100644 index 2a67477cf3..0000000000 --- a/asm/d/d_stage/initZone__20dStage_roomControl_cFv.s +++ /dev/null @@ -1,21 +0,0 @@ -lbl_80024338: -/* 80024338 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8002433C 7C 08 02 A6 */ mflr r0 -/* 80024340 90 01 00 14 */ stw r0, 0x14(r1) -/* 80024344 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80024348 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8002434C 48 01 0E 01 */ bl initZone__10dSv_info_cFv -/* 80024350 3C 60 80 3F */ lis r3, mStatus__20dStage_roomControl_c@ha /* 0x803F6094@ha */ -/* 80024354 38 03 60 94 */ addi r0, r3, mStatus__20dStage_roomControl_c@l /* 0x803F6094@l */ -/* 80024358 7C 04 03 78 */ mr r4, r0 -/* 8002435C 38 60 FF FF */ li r3, -1 -/* 80024360 38 00 00 40 */ li r0, 0x40 -/* 80024364 7C 09 03 A6 */ mtctr r0 -lbl_80024368: -/* 80024368 98 64 03 F7 */ stb r3, 0x3f7(r4) -/* 8002436C 38 84 04 04 */ addi r4, r4, 0x404 -/* 80024370 42 00 FF F8 */ bdnz lbl_80024368 -/* 80024374 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80024378 7C 08 03 A6 */ mtlr r0 -/* 8002437C 38 21 00 10 */ addi r1, r1, 0x10 -/* 80024380 4E 80 00 20 */ blr diff --git a/asm/d/d_stage/layerMemoryInfoLoader__FPvP11dStage_dt_ci.s b/asm/d/d_stage/layerMemoryInfoLoader__FPvP11dStage_dt_ci.s deleted file mode 100644 index 779685b636..0000000000 --- a/asm/d/d_stage/layerMemoryInfoLoader__FPvP11dStage_dt_ci.s +++ /dev/null @@ -1,12 +0,0 @@ -lbl_80026914: -/* 80026914 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80026918 7C 08 02 A6 */ mflr r0 -/* 8002691C 90 01 00 14 */ stw r0, 0x14(r1) -/* 80026920 3C A0 80 3A */ lis r5, l_layerFuncTable_5131@ha /* 0x803A6620@ha */ -/* 80026924 38 A5 66 20 */ addi r5, r5, l_layerFuncTable_5131@l /* 0x803A6620@l */ -/* 80026928 38 C0 00 02 */ li r6, 2 -/* 8002692C 4B FF F7 89 */ bl dStage_dt_c_decode__FPvP11dStage_dt_cP9FuncTablei -/* 80026930 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80026934 7C 08 03 A6 */ mtlr r0 -/* 80026938 38 21 00 10 */ addi r1, r1, 0x10 -/* 8002693C 4E 80 00 20 */ blr diff --git a/asm/d/d_stage/setArcBank__20dStage_roomControl_cFiPCc.s b/asm/d/d_stage/setArcBank__20dStage_roomControl_cFiPCc.s deleted file mode 100644 index a3a2e9f67b..0000000000 --- a/asm/d/d_stage/setArcBank__20dStage_roomControl_cFiPCc.s +++ /dev/null @@ -1,14 +0,0 @@ -lbl_8002490C: -/* 8002490C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80024910 7C 08 02 A6 */ mflr r0 -/* 80024914 90 01 00 14 */ stw r0, 0x14(r1) -/* 80024918 1C A3 00 0A */ mulli r5, r3, 0xa -/* 8002491C 3C 60 80 3A */ lis r3, mArcBank__20dStage_roomControl_c@ha /* 0x803A696C@ha */ -/* 80024920 38 03 69 6C */ addi r0, r3, mArcBank__20dStage_roomControl_c@l /* 0x803A696C@l */ -/* 80024924 7C 60 2A 14 */ add r3, r0, r5 -/* 80024928 38 A0 00 09 */ li r5, 9 -/* 8002492C 48 34 41 BD */ bl strncpy -/* 80024930 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80024934 7C 08 03 A6 */ mtlr r0 -/* 80024938 38 21 00 10 */ addi r1, r1, 0x10 -/* 8002493C 4E 80 00 20 */ blr diff --git a/asm/d/event/d_event/dEv_defaultSkipProc__FPvi.s b/asm/d/event/d_event/dEv_defaultSkipProc__FPvi.s deleted file mode 100644 index 55e797adfc..0000000000 --- a/asm/d/event/d_event/dEv_defaultSkipProc__FPvi.s +++ /dev/null @@ -1,14 +0,0 @@ -lbl_800425E8: -/* 800425E8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800425EC 7C 08 02 A6 */ mflr r0 -/* 800425F0 90 01 00 14 */ stw r0, 0x14(r1) -/* 800425F4 7C 64 1B 78 */ mr r4, r3 -/* 800425F8 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800425FC 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80042600 38 63 4E C8 */ addi r3, r3, 0x4ec8 -/* 80042604 4B FF FF 15 */ bl reset__14dEvt_control_cFPv -/* 80042608 38 60 00 01 */ li r3, 1 -/* 8004260C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80042610 7C 08 03 A6 */ mtlr r0 -/* 80042614 38 21 00 10 */ addi r1, r1, 0x10 -/* 80042618 4E 80 00 20 */ blr diff --git a/asm/d/event/d_event/dEv_noFinishSkipProc__FPvi.s b/asm/d/event/d_event/dEv_noFinishSkipProc__FPvi.s deleted file mode 100644 index 15f9bfbe75..0000000000 --- a/asm/d/event/d_event/dEv_noFinishSkipProc__FPvi.s +++ /dev/null @@ -1,13 +0,0 @@ -lbl_800428DC: -/* 800428DC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800428E0 7C 08 02 A6 */ mflr r0 -/* 800428E4 90 01 00 14 */ stw r0, 0x14(r1) -/* 800428E8 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800428EC 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800428F0 38 63 4E C8 */ addi r3, r3, 0x4ec8 -/* 800428F4 48 00 00 C1 */ bl offSkipFade__14dEvt_control_cFv -/* 800428F8 38 60 00 00 */ li r3, 0 -/* 800428FC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80042900 7C 08 03 A6 */ mtlr r0 -/* 80042904 38 21 00 10 */ addi r1, r1, 0x10 -/* 80042908 4E 80 00 20 */ blr diff --git a/asm/d/event/d_event/getEventName__11dEvt_info_cFv.s b/asm/d/event/d_event/getEventName__11dEvt_info_cFv.s deleted file mode 100644 index 3ebd131655..0000000000 --- a/asm/d/event/d_event/getEventName__11dEvt_info_cFv.s +++ /dev/null @@ -1,22 +0,0 @@ -lbl_80043480: -/* 80043480 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80043484 7C 08 02 A6 */ mflr r0 -/* 80043488 90 01 00 14 */ stw r0, 0x14(r1) -/* 8004348C A8 83 00 08 */ lha r4, 8(r3) -/* 80043490 2C 04 FF FF */ cmpwi r4, -1 -/* 80043494 40 82 00 0C */ bne lbl_800434A0 -/* 80043498 38 60 00 00 */ li r3, 0 -/* 8004349C 48 00 00 20 */ b lbl_800434BC -lbl_800434A0: -/* 800434A0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800434A4 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800434A8 38 63 4F F8 */ addi r3, r3, 0x4ff8 -/* 800434AC 48 00 40 11 */ bl getEventData__16dEvent_manager_cFs -/* 800434B0 28 03 00 00 */ cmplwi r3, 0 -/* 800434B4 40 82 00 08 */ bne lbl_800434BC -/* 800434B8 38 60 00 00 */ li r3, 0 -lbl_800434BC: -/* 800434BC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800434C0 7C 08 03 A6 */ mtlr r0 -/* 800434C4 38 21 00 10 */ addi r1, r1, 0x10 -/* 800434C8 4E 80 00 20 */ blr diff --git a/asm/d/event/d_event/itemCheck__14dEvt_control_cFP12dEvt_order_c.s b/asm/d/event/d_event/itemCheck__14dEvt_control_cFP12dEvt_order_c.s deleted file mode 100644 index 6e4c9b2d9e..0000000000 --- a/asm/d/event/d_event/itemCheck__14dEvt_control_cFP12dEvt_order_c.s +++ /dev/null @@ -1,40 +0,0 @@ -lbl_8004212C: -/* 8004212C 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80042130 7C 08 02 A6 */ mflr r0 -/* 80042134 90 01 00 24 */ stw r0, 0x24(r1) -/* 80042138 39 61 00 20 */ addi r11, r1, 0x20 -/* 8004213C 48 32 00 A1 */ bl _savegpr_29 -/* 80042140 7C 7D 1B 78 */ mr r29, r3 -/* 80042144 3C A0 80 38 */ lis r5, d_event_d_event__stringBase0@ha /* 0x80379D80@ha */ -/* 80042148 38 A5 9D 80 */ addi r5, r5, d_event_d_event__stringBase0@l /* 0x80379D80@l */ -/* 8004214C 3B C5 00 33 */ addi r30, r5, 0x33 -/* 80042150 38 A0 00 08 */ li r5, 8 -/* 80042154 38 C0 00 04 */ li r6, 4 -/* 80042158 4B FF F8 51 */ bl commonCheck__14dEvt_control_cFP12dEvt_order_cUsUs -/* 8004215C 2C 03 00 00 */ cmpwi r3, 0 -/* 80042160 41 82 00 44 */ beq lbl_800421A4 -/* 80042164 38 00 00 02 */ li r0, 2 -/* 80042168 98 1D 00 E4 */ stb r0, 0xe4(r29) -/* 8004216C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80042170 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80042174 3B E3 4F F8 */ addi r31, r3, 0x4ff8 -/* 80042178 7F E3 FB 78 */ mr r3, r31 -/* 8004217C 7F C4 F3 78 */ mr r4, r30 -/* 80042180 38 A0 00 FF */ li r5, 0xff -/* 80042184 38 C0 FF FF */ li r6, -1 -/* 80042188 48 00 53 8D */ bl getEventIdx__16dEvent_manager_cFPCcUcl -/* 8004218C B0 7D 00 DE */ sth r3, 0xde(r29) -/* 80042190 7F E3 FB 78 */ mr r3, r31 -/* 80042194 A8 9D 00 DE */ lha r4, 0xde(r29) -/* 80042198 48 00 57 ED */ bl order__16dEvent_manager_cFs -/* 8004219C 38 60 00 01 */ li r3, 1 -/* 800421A0 48 00 00 08 */ b lbl_800421A8 -lbl_800421A4: -/* 800421A4 38 60 00 00 */ li r3, 0 -lbl_800421A8: -/* 800421A8 39 61 00 20 */ addi r11, r1, 0x20 -/* 800421AC 48 32 00 7D */ bl _restgpr_29 -/* 800421B0 80 01 00 24 */ lwz r0, 0x24(r1) -/* 800421B4 7C 08 03 A6 */ mtlr r0 -/* 800421B8 38 21 00 20 */ addi r1, r1, 0x20 -/* 800421BC 4E 80 00 20 */ blr diff --git a/asm/d/event/d_event/searchMapEventData__14dEvt_control_cFUc.s b/asm/d/event/d_event/searchMapEventData__14dEvt_control_cFUc.s deleted file mode 100644 index 701c8f6c72..0000000000 --- a/asm/d/event/d_event/searchMapEventData__14dEvt_control_cFUc.s +++ /dev/null @@ -1,11 +0,0 @@ -lbl_800434D8: -/* 800434D8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800434DC 7C 08 02 A6 */ mflr r0 -/* 800434E0 90 01 00 14 */ stw r0, 0x14(r1) -/* 800434E4 88 8D 87 E4 */ lbz r4, struct_80450D64+0x0(r13) -/* 800434E8 7C 84 07 74 */ extsb r4, r4 -/* 800434EC 48 00 00 15 */ bl searchMapEventData__14dEvt_control_cFUcl -/* 800434F0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800434F4 7C 08 03 A6 */ mtlr r0 -/* 800434F8 38 21 00 10 */ addi r1, r1, 0x10 -/* 800434FC 4E 80 00 20 */ blr diff --git a/asm/d/event/d_event/setEventName__11dEvt_info_cFPc.s b/asm/d/event/d_event/setEventName__11dEvt_info_cFPc.s deleted file mode 100644 index 980304a390..0000000000 --- a/asm/d/event/d_event/setEventName__11dEvt_info_cFPc.s +++ /dev/null @@ -1,25 +0,0 @@ -lbl_80043428: -/* 80043428 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8004342C 7C 08 02 A6 */ mflr r0 -/* 80043430 90 01 00 14 */ stw r0, 0x14(r1) -/* 80043434 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80043438 7C 7F 1B 78 */ mr r31, r3 -/* 8004343C 28 04 00 00 */ cmplwi r4, 0 -/* 80043440 40 82 00 10 */ bne lbl_80043450 -/* 80043444 38 00 FF FF */ li r0, -1 -/* 80043448 B0 1F 00 08 */ sth r0, 8(r31) -/* 8004344C 48 00 00 20 */ b lbl_8004346C -lbl_80043450: -/* 80043450 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80043454 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80043458 38 63 4F F8 */ addi r3, r3, 0x4ff8 -/* 8004345C 38 A0 00 FF */ li r5, 0xff -/* 80043460 38 C0 FF FF */ li r6, -1 -/* 80043464 48 00 40 B1 */ bl getEventIdx__16dEvent_manager_cFPCcUcl -/* 80043468 B0 7F 00 08 */ sth r3, 8(r31) -lbl_8004346C: -/* 8004346C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80043470 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80043474 7C 08 03 A6 */ mtlr r0 -/* 80043478 38 21 00 10 */ addi r1, r1, 0x10 -/* 8004347C 4E 80 00 20 */ blr diff --git a/asm/d/event/d_event_manager/allOffObjectCallBack__FP10fopAc_ac_cPv.s b/asm/d/event/d_event_manager/allOffObjectCallBack__FP10fopAc_ac_cPv.s deleted file mode 100644 index 82ab40a92c..0000000000 --- a/asm/d/event/d_event_manager/allOffObjectCallBack__FP10fopAc_ac_cPv.s +++ /dev/null @@ -1,8 +0,0 @@ -lbl_80046C9C: -/* 80046C9C 80 A3 04 9C */ lwz r5, 0x49c(r3) -/* 80046CA0 3C 80 FF FF */ lis r4, 0xFFFF /* 0xFFFF6FFF@ha */ -/* 80046CA4 38 04 6F FF */ addi r0, r4, 0x6FFF /* 0xFFFF6FFF@l */ -/* 80046CA8 7C A0 00 38 */ and r0, r5, r0 -/* 80046CAC 90 03 04 9C */ stw r0, 0x49c(r3) -/* 80046CB0 38 60 00 00 */ li r3, 0 -/* 80046CB4 4E 80 00 20 */ blr diff --git a/asm/d/event/d_event_manager/closeProc__16dEvent_manager_cFP12dEvDtEvent_c.s b/asm/d/event/d_event_manager/closeProc__16dEvent_manager_cFP12dEvDtEvent_c.s deleted file mode 100644 index 5d088046ca..0000000000 --- a/asm/d/event/d_event_manager/closeProc__16dEvent_manager_cFP12dEvDtEvent_c.s +++ /dev/null @@ -1,4 +0,0 @@ -lbl_80046DA0: -/* 80046DA0 38 00 00 02 */ li r0, 2 -/* 80046DA4 90 04 00 A4 */ stw r0, 0xa4(r4) -/* 80046DA8 4E 80 00 20 */ blr diff --git a/asm/d/event/d_event_manager/create__16dEvent_manager_cFv.s b/asm/d/event/d_event_manager/create__16dEvent_manager_cFv.s deleted file mode 100644 index ff59c8f1e0..0000000000 --- a/asm/d/event/d_event_manager/create__16dEvent_manager_cFv.s +++ /dev/null @@ -1,62 +0,0 @@ -lbl_80046710: -/* 80046710 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80046714 7C 08 02 A6 */ mflr r0 -/* 80046718 90 01 00 24 */ stw r0, 0x24(r1) -/* 8004671C 39 61 00 20 */ addi r11, r1, 0x20 -/* 80046720 48 31 BA BD */ bl _savegpr_29 -/* 80046724 7C 7D 1B 78 */ mr r29, r3 -/* 80046728 38 00 00 00 */ li r0, 0 -/* 8004672C 90 03 01 8C */ stw r0, 0x18c(r3) -/* 80046730 38 7D 01 90 */ addi r3, r29, 0x190 -/* 80046734 4B FF FC A9 */ bl init__18dEvent_exception_cFv -/* 80046738 38 7D 01 BC */ addi r3, r29, 0x1bc -/* 8004673C 4B FF D7 1D */ bl init__11dEvDtFlag_cFv -/* 80046740 38 60 00 00 */ li r3, 0 -/* 80046744 90 7D 01 B4 */ stw r3, 0x1b4(r29) -/* 80046748 38 00 FF FF */ li r0, -1 -/* 8004674C B0 1D 01 AA */ sth r0, 0x1aa(r29) -/* 80046750 90 7D 01 B8 */ stw r3, 0x1b8(r29) -/* 80046754 90 1D 01 B0 */ stw r0, 0x1b0(r29) -/* 80046758 98 7D 06 BC */ stb r3, 0x6bc(r29) -/* 8004675C 3B C0 00 04 */ li r30, 4 -/* 80046760 3B E0 00 90 */ li r31, 0x90 -lbl_80046764: -/* 80046764 7C 7D FA 14 */ add r3, r29, r31 -/* 80046768 4B FF F9 D1 */ bl init__11dEvDtBase_cFv -/* 8004676C 3B DE 00 01 */ addi r30, r30, 1 -/* 80046770 2C 1E 00 09 */ cmpwi r30, 9 -/* 80046774 3B FF 00 24 */ addi r31, r31, 0x24 -/* 80046778 40 81 FF EC */ ble lbl_80046764 -/* 8004677C 3C 60 80 38 */ lis r3, data_80379F50@ha /* 0x80379F50@ha */ -/* 80046780 38 63 9F 50 */ addi r3, r3, data_80379F50@l /* 0x80379F50@l */ -/* 80046784 4B FE 8C B1 */ bl dComIfG_getStageRes__FPCc -/* 80046788 7C 64 1B 78 */ mr r4, r3 -/* 8004678C 38 7D 00 6C */ addi r3, r29, 0x6c -/* 80046790 38 A0 FF FF */ li r5, -1 -/* 80046794 4B FF F9 D9 */ bl init__11dEvDtBase_cFPci -/* 80046798 38 7D 01 68 */ addi r3, r29, 0x168 -/* 8004679C 4B FF F9 9D */ bl init__11dEvDtBase_cFv -/* 800467A0 3C 60 80 38 */ lis r3, d_event_d_event_manager__stringBase0@ha /* 0x80379F60@ha */ -/* 800467A4 38 63 9F 60 */ addi r3, r3, d_event_d_event_manager__stringBase0@l /* 0x80379F60@l */ -/* 800467A8 38 63 01 1E */ addi r3, r3, 0x11e -/* 800467AC 3C 80 80 38 */ lis r4, data_80379F50@ha /* 0x80379F50@ha */ -/* 800467B0 38 84 9F 50 */ addi r4, r4, data_80379F50@l /* 0x80379F50@l */ -/* 800467B4 3C A0 80 40 */ lis r5, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800467B8 38 A5 61 C0 */ addi r5, r5, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800467BC 3C A5 00 02 */ addis r5, r5, 2 -/* 800467C0 38 C0 00 80 */ li r6, 0x80 -/* 800467C4 38 A5 C2 F8 */ addi r5, r5, -15624 -/* 800467C8 4B FF 5B B5 */ bl getRes__14dRes_control_cFPCcPCcP11dRes_info_ci -/* 800467CC 7C 64 1B 78 */ mr r4, r3 -/* 800467D0 38 7D 00 24 */ addi r3, r29, 0x24 -/* 800467D4 38 A0 FF FF */ li r5, -1 -/* 800467D8 4B FF F9 95 */ bl init__11dEvDtBase_cFPci -/* 800467DC 38 7D 00 48 */ addi r3, r29, 0x48 -/* 800467E0 4B FF F9 59 */ bl init__11dEvDtBase_cFv -/* 800467E4 38 60 00 01 */ li r3, 1 -/* 800467E8 39 61 00 20 */ addi r11, r1, 0x20 -/* 800467EC 48 31 BA 3D */ bl _restgpr_29 -/* 800467F0 80 01 00 24 */ lwz r0, 0x24(r1) -/* 800467F4 7C 08 03 A6 */ mtlr r0 -/* 800467F8 38 21 00 20 */ addi r1, r1, 0x20 -/* 800467FC 4E 80 00 20 */ blr diff --git a/asm/d/event/d_event_manager/extraOffObjectCallBack__FP10fopAc_ac_cPv.s b/asm/d/event/d_event_manager/extraOffObjectCallBack__FP10fopAc_ac_cPv.s deleted file mode 100644 index c0151c746d..0000000000 --- a/asm/d/event/d_event_manager/extraOffObjectCallBack__FP10fopAc_ac_cPv.s +++ /dev/null @@ -1,6 +0,0 @@ -lbl_80046C88: -/* 80046C88 80 03 04 9C */ lwz r0, 0x49c(r3) -/* 80046C8C 54 00 05 66 */ rlwinm r0, r0, 0, 0x15, 0x13 -/* 80046C90 90 03 04 9C */ stw r0, 0x49c(r3) -/* 80046C94 38 60 00 00 */ li r3, 0 -/* 80046C98 4E 80 00 20 */ blr diff --git a/asm/d/event/d_event_manager/extraOnObjectCallBack__FP10fopAc_ac_cPv.s b/asm/d/event/d_event_manager/extraOnObjectCallBack__FP10fopAc_ac_cPv.s deleted file mode 100644 index 7f61e9a278..0000000000 --- a/asm/d/event/d_event_manager/extraOnObjectCallBack__FP10fopAc_ac_cPv.s +++ /dev/null @@ -1,6 +0,0 @@ -lbl_80046C74: -/* 80046C74 80 03 04 9C */ lwz r0, 0x49c(r3) -/* 80046C78 60 00 08 00 */ ori r0, r0, 0x800 -/* 80046C7C 90 03 04 9C */ stw r0, 0x49c(r3) -/* 80046C80 38 60 00 00 */ li r3, 0 -/* 80046C84 4E 80 00 20 */ blr diff --git a/asm/d/event/d_event_manager/setObjectArchive__16dEvent_manager_cFPc.s b/asm/d/event/d_event_manager/setObjectArchive__16dEvent_manager_cFPc.s deleted file mode 100644 index e8e455c035..0000000000 --- a/asm/d/event/d_event_manager/setObjectArchive__16dEvent_manager_cFPc.s +++ /dev/null @@ -1,37 +0,0 @@ -lbl_80046800: -/* 80046800 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80046804 7C 08 02 A6 */ mflr r0 -/* 80046808 90 01 00 14 */ stw r0, 0x14(r1) -/* 8004680C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80046810 93 C1 00 08 */ stw r30, 8(r1) -/* 80046814 7C 7E 1B 78 */ mr r30, r3 -/* 80046818 3B E0 00 00 */ li r31, 0 -/* 8004681C 28 04 00 00 */ cmplwi r4, 0 -/* 80046820 41 82 00 40 */ beq lbl_80046860 -/* 80046824 7C 83 23 78 */ mr r3, r4 -/* 80046828 3C 80 80 38 */ lis r4, data_80379F50@ha /* 0x80379F50@ha */ -/* 8004682C 38 84 9F 50 */ addi r4, r4, data_80379F50@l /* 0x80379F50@l */ -/* 80046830 3C A0 80 40 */ lis r5, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80046834 38 A5 61 C0 */ addi r5, r5, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80046838 3C A5 00 02 */ addis r5, r5, 2 -/* 8004683C 38 C0 00 80 */ li r6, 0x80 -/* 80046840 38 A5 C2 F8 */ addi r5, r5, -15624 -/* 80046844 4B FF 5B 39 */ bl getRes__14dRes_control_cFPCcPCcP11dRes_info_ci -/* 80046848 7C 64 1B 78 */ mr r4, r3 -/* 8004684C 7C 9F 23 78 */ mr r31, r4 -/* 80046850 38 7E 00 48 */ addi r3, r30, 0x48 -/* 80046854 38 A0 FF FF */ li r5, -1 -/* 80046858 4B FF F9 15 */ bl init__11dEvDtBase_cFPci -/* 8004685C 48 00 00 0C */ b lbl_80046868 -lbl_80046860: -/* 80046860 38 7E 00 48 */ addi r3, r30, 0x48 -/* 80046864 4B FF F8 D5 */ bl init__11dEvDtBase_cFv -lbl_80046868: -/* 80046868 30 1F FF FF */ addic r0, r31, -1 -/* 8004686C 7C 60 F9 10 */ subfe r3, r0, r31 -/* 80046870 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80046874 83 C1 00 08 */ lwz r30, 8(r1) -/* 80046878 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8004687C 7C 08 03 A6 */ mtlr r0 -/* 80046880 38 21 00 10 */ addi r1, r1, 0x10 -/* 80046884 4E 80 00 20 */ blr diff --git a/asm/d/meter/d_meter_HIO/__ct__16dMeter_drawHIO_cFv.s b/asm/d/meter/d_meter_HIO/__ct__16dMeter_drawHIO_cFv.s deleted file mode 100644 index 4bc1ea76e4..0000000000 --- a/asm/d/meter/d_meter_HIO/__ct__16dMeter_drawHIO_cFv.s +++ /dev/null @@ -1,770 +0,0 @@ -lbl_801FF5B8: -/* 801FF5B8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 801FF5BC 7C 08 02 A6 */ mflr r0 -/* 801FF5C0 90 01 00 14 */ stw r0, 0x14(r1) -/* 801FF5C4 93 E1 00 0C */ stw r31, 0xc(r1) -/* 801FF5C8 7C 7F 1B 78 */ mr r31, r3 -/* 801FF5CC 3C 60 80 3C */ lis r3, __vt__16dMeter_drawHIO_c@ha /* 0x803BF118@ha */ -/* 801FF5D0 38 03 F1 18 */ addi r0, r3, __vt__16dMeter_drawHIO_c@l /* 0x803BF118@l */ -/* 801FF5D4 90 1F 00 00 */ stw r0, 0(r31) -/* 801FF5D8 38 00 FF FF */ li r0, -1 -/* 801FF5DC 90 1F 02 C0 */ stw r0, 0x2c0(r31) -/* 801FF5E0 90 1F 02 E0 */ stw r0, 0x2e0(r31) -/* 801FF5E4 90 1F 02 F0 */ stw r0, 0x2f0(r31) -/* 801FF5E8 90 1F 03 00 */ stw r0, 0x300(r31) -/* 801FF5EC 90 1F 03 10 */ stw r0, 0x310(r31) -/* 801FF5F0 90 1F 03 38 */ stw r0, 0x338(r31) -/* 801FF5F4 90 1F 04 30 */ stw r0, 0x430(r31) -/* 801FF5F8 90 1F 04 34 */ stw r0, 0x434(r31) -/* 801FF5FC 90 1F 04 38 */ stw r0, 0x438(r31) -/* 801FF600 90 1F 04 3C */ stw r0, 0x43c(r31) -/* 801FF604 90 1F 04 44 */ stw r0, 0x444(r31) -/* 801FF608 90 1F 04 48 */ stw r0, 0x448(r31) -/* 801FF60C 90 1F 04 4C */ stw r0, 0x44c(r31) -/* 801FF610 90 1F 04 50 */ stw r0, 0x450(r31) -/* 801FF614 90 1F 04 58 */ stw r0, 0x458(r31) -/* 801FF618 90 1F 04 5C */ stw r0, 0x45c(r31) -/* 801FF61C 90 1F 04 60 */ stw r0, 0x460(r31) -/* 801FF620 90 1F 04 64 */ stw r0, 0x464(r31) -/* 801FF624 90 1F 04 6C */ stw r0, 0x46c(r31) -/* 801FF628 90 1F 04 70 */ stw r0, 0x470(r31) -/* 801FF62C 90 1F 04 74 */ stw r0, 0x474(r31) -/* 801FF630 90 1F 04 78 */ stw r0, 0x478(r31) -/* 801FF634 90 1F 04 80 */ stw r0, 0x480(r31) -/* 801FF638 90 1F 04 84 */ stw r0, 0x484(r31) -/* 801FF63C 90 1F 04 88 */ stw r0, 0x488(r31) -/* 801FF640 90 1F 04 8C */ stw r0, 0x48c(r31) -/* 801FF644 90 1F 04 94 */ stw r0, 0x494(r31) -/* 801FF648 90 1F 04 98 */ stw r0, 0x498(r31) -/* 801FF64C 90 1F 04 9C */ stw r0, 0x49c(r31) -/* 801FF650 90 1F 04 A0 */ stw r0, 0x4a0(r31) -/* 801FF654 90 1F 04 A8 */ stw r0, 0x4a8(r31) -/* 801FF658 90 1F 04 AC */ stw r0, 0x4ac(r31) -/* 801FF65C 90 1F 04 B0 */ stw r0, 0x4b0(r31) -/* 801FF660 90 1F 04 B4 */ stw r0, 0x4b4(r31) -/* 801FF664 90 1F 04 BC */ stw r0, 0x4bc(r31) -/* 801FF668 90 1F 04 C0 */ stw r0, 0x4c0(r31) -/* 801FF66C 90 1F 04 C4 */ stw r0, 0x4c4(r31) -/* 801FF670 90 1F 04 C8 */ stw r0, 0x4c8(r31) -/* 801FF674 90 1F 04 D0 */ stw r0, 0x4d0(r31) -/* 801FF678 90 1F 04 D4 */ stw r0, 0x4d4(r31) -/* 801FF67C 90 1F 04 D8 */ stw r0, 0x4d8(r31) -/* 801FF680 90 1F 04 DC */ stw r0, 0x4dc(r31) -/* 801FF684 90 1F 04 E4 */ stw r0, 0x4e4(r31) -/* 801FF688 90 1F 04 E8 */ stw r0, 0x4e8(r31) -/* 801FF68C 90 1F 04 EC */ stw r0, 0x4ec(r31) -/* 801FF690 90 1F 04 F0 */ stw r0, 0x4f0(r31) -/* 801FF694 38 7F 05 F0 */ addi r3, r31, 0x5f0 -/* 801FF698 3C 80 80 19 */ lis r4, __ct__Q28JUtility6TColorFv@ha /* 0x80193960@ha */ -/* 801FF69C 38 84 39 60 */ addi r4, r4, __ct__Q28JUtility6TColorFv@l /* 0x80193960@l */ -/* 801FF6A0 38 A0 00 00 */ li r5, 0 -/* 801FF6A4 38 C0 00 04 */ li r6, 4 -/* 801FF6A8 38 E0 00 03 */ li r7, 3 -/* 801FF6AC 48 16 26 B5 */ bl __construct_array -/* 801FF6B0 38 7F 05 FC */ addi r3, r31, 0x5fc -/* 801FF6B4 3C 80 80 19 */ lis r4, __ct__Q28JUtility6TColorFv@ha /* 0x80193960@ha */ -/* 801FF6B8 38 84 39 60 */ addi r4, r4, __ct__Q28JUtility6TColorFv@l /* 0x80193960@l */ -/* 801FF6BC 38 A0 00 00 */ li r5, 0 -/* 801FF6C0 38 C0 00 04 */ li r6, 4 -/* 801FF6C4 38 E0 00 03 */ li r7, 3 -/* 801FF6C8 48 16 26 99 */ bl __construct_array -/* 801FF6CC 38 7F 06 18 */ addi r3, r31, 0x618 -/* 801FF6D0 4B FF EC 79 */ bl __ct__23dMeter_drawCollectHIO_cFv -/* 801FF6D4 38 7F 06 B8 */ addi r3, r31, 0x6b8 -/* 801FF6D8 4B FF EE 15 */ bl __ct__22dMeter_drawOptionHIO_cFv -/* 801FF6DC 38 7F 07 28 */ addi r3, r31, 0x728 -/* 801FF6E0 4B FF EE ED */ bl __ct__22dMeter_drawLetterHIO_cFv -/* 801FF6E4 38 7F 07 88 */ addi r3, r31, 0x788 -/* 801FF6E8 4B FF F0 49 */ bl __ct__23dMeter_drawFishingHIO_cFv -/* 801FF6EC 38 7F 09 DC */ addi r3, r31, 0x9dc -/* 801FF6F0 4B FF F1 ED */ bl __ct__22dMeter_drawInsectHIO_cFv -/* 801FF6F4 38 7F 0A 1C */ addi r3, r31, 0xa1c -/* 801FF6F8 4B FF F2 5D */ bl __ct__27dMeter_drawCalibrationHIO_cFv -/* 801FF6FC 38 7F 0A 34 */ addi r3, r31, 0xa34 -/* 801FF700 4B FF F2 91 */ bl __ct__21dMeter_drawSkillHIO_cFv -/* 801FF704 38 7F 0A 90 */ addi r3, r31, 0xa90 -/* 801FF708 4B FF F8 E9 */ bl __ct__24dMeter_drawMiniGameHIO_cFv -/* 801FF70C 38 7F 0C 20 */ addi r3, r31, 0xc20 -/* 801FF710 4B FF F3 E1 */ bl __ct__25dMeter_drawEmpButtonHIO_cFv -/* 801FF714 38 7F 0E 7C */ addi r3, r31, 0xe7c -/* 801FF718 4B FF FC 05 */ bl __ct__25dMeter_drawLightDropHIO_cFv -/* 801FF71C C0 02 AC 24 */ lfs f0, lit_4257(r2) -/* 801FF720 D0 1F 00 08 */ stfs f0, 8(r31) -/* 801FF724 C0 02 AC 28 */ lfs f0, lit_4258(r2) -/* 801FF728 D0 1F 00 0C */ stfs f0, 0xc(r31) -/* 801FF72C C1 02 AC 2C */ lfs f8, lit_4259(r2) -/* 801FF730 D1 1F 00 10 */ stfs f8, 0x10(r31) -/* 801FF734 C0 02 AA E0 */ lfs f0, lit_3787(r2) -/* 801FF738 D0 1F 00 14 */ stfs f0, 0x14(r31) -/* 801FF73C D0 1F 00 18 */ stfs f0, 0x18(r31) -/* 801FF740 D0 1F 00 1C */ stfs f0, 0x1c(r31) -/* 801FF744 D0 1F 00 20 */ stfs f0, 0x20(r31) -/* 801FF748 C0 22 AC 30 */ lfs f1, lit_4260(r2) -/* 801FF74C D0 3F 00 24 */ stfs f1, 0x24(r31) -/* 801FF750 C0 22 AB 3C */ lfs f1, lit_3903(r2) -/* 801FF754 D0 3F 00 28 */ stfs f1, 0x28(r31) -/* 801FF758 C0 E2 AC 34 */ lfs f7, lit_4261(r2) -/* 801FF75C D0 FF 00 2C */ stfs f7, 0x2c(r31) -/* 801FF760 D0 1F 00 30 */ stfs f0, 0x30(r31) -/* 801FF764 C0 C2 AB C0 */ lfs f6, lit_4076(r2) -/* 801FF768 D0 DF 00 34 */ stfs f6, 0x34(r31) -/* 801FF76C D0 1F 00 38 */ stfs f0, 0x38(r31) -/* 801FF770 D0 1F 00 3C */ stfs f0, 0x3c(r31) -/* 801FF774 D0 DF 00 40 */ stfs f6, 0x40(r31) -/* 801FF778 D0 1F 00 44 */ stfs f0, 0x44(r31) -/* 801FF77C C0 62 AC 38 */ lfs f3, lit_4262(r2) -/* 801FF780 D0 7F 00 48 */ stfs f3, 0x48(r31) -/* 801FF784 C0 22 AC 3C */ lfs f1, lit_4263(r2) -/* 801FF788 D0 3F 00 4C */ stfs f1, 0x4c(r31) -/* 801FF78C C0 A2 AA F8 */ lfs f5, lit_3793(r2) -/* 801FF790 D0 BF 00 50 */ stfs f5, 0x50(r31) -/* 801FF794 D0 DF 00 54 */ stfs f6, 0x54(r31) -/* 801FF798 D0 1F 00 58 */ stfs f0, 0x58(r31) -/* 801FF79C D0 7F 00 5C */ stfs f3, 0x5c(r31) -/* 801FF7A0 C0 42 AC 40 */ lfs f2, lit_4264(r2) -/* 801FF7A4 D0 5F 00 60 */ stfs f2, 0x60(r31) -/* 801FF7A8 C0 82 AB 5C */ lfs f4, lit_3915(r2) -/* 801FF7AC D0 9F 00 64 */ stfs f4, 0x64(r31) -/* 801FF7B0 D0 DF 00 68 */ stfs f6, 0x68(r31) -/* 801FF7B4 D0 1F 00 6C */ stfs f0, 0x6c(r31) -/* 801FF7B8 D0 7F 00 70 */ stfs f3, 0x70(r31) -/* 801FF7BC D0 5F 00 74 */ stfs f2, 0x74(r31) -/* 801FF7C0 D0 9F 00 78 */ stfs f4, 0x78(r31) -/* 801FF7C4 C0 22 AC 44 */ lfs f1, lit_4265(r2) -/* 801FF7C8 D0 3F 00 7C */ stfs f1, 0x7c(r31) -/* 801FF7CC D0 1F 00 84 */ stfs f0, 0x84(r31) -/* 801FF7D0 D1 1F 00 8C */ stfs f8, 0x8c(r31) -/* 801FF7D4 D0 5F 00 94 */ stfs f2, 0x94(r31) -/* 801FF7D8 D0 3F 00 80 */ stfs f1, 0x80(r31) -/* 801FF7DC D0 1F 00 88 */ stfs f0, 0x88(r31) -/* 801FF7E0 D1 1F 00 90 */ stfs f8, 0x90(r31) -/* 801FF7E4 D0 5F 00 98 */ stfs f2, 0x98(r31) -/* 801FF7E8 D0 1F 00 9C */ stfs f0, 0x9c(r31) -/* 801FF7EC D0 1F 00 A0 */ stfs f0, 0xa0(r31) -/* 801FF7F0 C0 62 AA E8 */ lfs f3, lit_3789(r2) -/* 801FF7F4 D0 7F 00 A4 */ stfs f3, 0xa4(r31) -/* 801FF7F8 D0 1F 00 A8 */ stfs f0, 0xa8(r31) -/* 801FF7FC D0 BF 00 AC */ stfs f5, 0xac(r31) -/* 801FF800 D0 BF 00 B0 */ stfs f5, 0xb0(r31) -/* 801FF804 D0 1F 00 B4 */ stfs f0, 0xb4(r31) -/* 801FF808 D0 BF 00 BC */ stfs f5, 0xbc(r31) -/* 801FF80C C0 22 AC 48 */ lfs f1, lit_4266(r2) -/* 801FF810 D0 3F 00 C4 */ stfs f1, 0xc4(r31) -/* 801FF814 D0 1F 00 CC */ stfs f0, 0xcc(r31) -/* 801FF818 D0 BF 00 D4 */ stfs f5, 0xd4(r31) -/* 801FF81C C0 22 AC 4C */ lfs f1, lit_4267(r2) -/* 801FF820 D0 3F 00 DC */ stfs f1, 0xdc(r31) -/* 801FF824 D0 1F 00 B8 */ stfs f0, 0xb8(r31) -/* 801FF828 C0 22 AB 34 */ lfs f1, lit_3867(r2) -/* 801FF82C D0 3F 00 C0 */ stfs f1, 0xc0(r31) -/* 801FF830 C0 42 AC 50 */ lfs f2, lit_4268(r2) -/* 801FF834 D0 5F 00 C8 */ stfs f2, 0xc8(r31) -/* 801FF838 D0 1F 00 D0 */ stfs f0, 0xd0(r31) -/* 801FF83C D0 3F 00 D8 */ stfs f1, 0xd8(r31) -/* 801FF840 C0 22 AC 54 */ lfs f1, lit_4269(r2) -/* 801FF844 D0 3F 00 E0 */ stfs f1, 0xe0(r31) -/* 801FF848 D0 BF 00 E4 */ stfs f5, 0xe4(r31) -/* 801FF84C D0 BF 00 E8 */ stfs f5, 0xe8(r31) -/* 801FF850 D0 7F 00 EC */ stfs f3, 0xec(r31) -/* 801FF854 D0 1F 00 F0 */ stfs f0, 0xf0(r31) -/* 801FF858 C0 22 AC 58 */ lfs f1, lit_4270(r2) -/* 801FF85C D0 3F 00 F4 */ stfs f1, 0xf4(r31) -/* 801FF860 C0 22 AC 5C */ lfs f1, lit_4271(r2) -/* 801FF864 D0 3F 00 F8 */ stfs f1, 0xf8(r31) -/* 801FF868 D0 1F 00 FC */ stfs f0, 0xfc(r31) -/* 801FF86C D0 BF 01 04 */ stfs f5, 0x104(r31) -/* 801FF870 D0 5F 01 0C */ stfs f2, 0x10c(r31) -/* 801FF874 D0 1F 01 00 */ stfs f0, 0x100(r31) -/* 801FF878 C0 22 AC 60 */ lfs f1, lit_4272(r2) -/* 801FF87C D0 3F 01 08 */ stfs f1, 0x108(r31) -/* 801FF880 C0 22 AC 64 */ lfs f1, lit_4273(r2) -/* 801FF884 D0 3F 01 10 */ stfs f1, 0x110(r31) -/* 801FF888 D0 BF 01 14 */ stfs f5, 0x114(r31) -/* 801FF88C D0 BF 01 18 */ stfs f5, 0x118(r31) -/* 801FF890 D0 BF 01 1C */ stfs f5, 0x11c(r31) -/* 801FF894 D0 BF 01 20 */ stfs f5, 0x120(r31) -/* 801FF898 D0 7F 01 24 */ stfs f3, 0x124(r31) -/* 801FF89C D0 1F 01 28 */ stfs f0, 0x128(r31) -/* 801FF8A0 D0 BF 01 2C */ stfs f5, 0x12c(r31) -/* 801FF8A4 D0 BF 01 30 */ stfs f5, 0x130(r31) -/* 801FF8A8 D0 7F 01 34 */ stfs f3, 0x134(r31) -/* 801FF8AC D0 1F 01 38 */ stfs f0, 0x138(r31) -/* 801FF8B0 D0 BF 01 3C */ stfs f5, 0x13c(r31) -/* 801FF8B4 D0 BF 01 40 */ stfs f5, 0x140(r31) -/* 801FF8B8 D0 1F 01 44 */ stfs f0, 0x144(r31) -/* 801FF8BC C0 22 AB 04 */ lfs f1, lit_3796(r2) -/* 801FF8C0 D0 3F 01 48 */ stfs f1, 0x148(r31) -/* 801FF8C4 D0 BF 01 4C */ stfs f5, 0x14c(r31) -/* 801FF8C8 D0 BF 01 50 */ stfs f5, 0x150(r31) -/* 801FF8CC D0 1F 01 54 */ stfs f0, 0x154(r31) -/* 801FF8D0 D0 3F 01 58 */ stfs f1, 0x158(r31) -/* 801FF8D4 D0 BF 01 5C */ stfs f5, 0x15c(r31) -/* 801FF8D8 D0 BF 01 60 */ stfs f5, 0x160(r31) -/* 801FF8DC C0 62 AA E4 */ lfs f3, lit_3788(r2) -/* 801FF8E0 D0 7F 01 64 */ stfs f3, 0x164(r31) -/* 801FF8E4 D0 1F 01 68 */ stfs f0, 0x168(r31) -/* 801FF8E8 D0 BF 01 6C */ stfs f5, 0x16c(r31) -/* 801FF8EC D0 BF 01 70 */ stfs f5, 0x170(r31) -/* 801FF8F0 D0 1F 03 04 */ stfs f0, 0x304(r31) -/* 801FF8F4 D0 BF 03 08 */ stfs f5, 0x308(r31) -/* 801FF8F8 D0 BF 03 0C */ stfs f5, 0x30c(r31) -/* 801FF8FC D0 1F 03 14 */ stfs f0, 0x314(r31) -/* 801FF900 D0 BF 03 18 */ stfs f5, 0x318(r31) -/* 801FF904 D0 BF 03 1C */ stfs f5, 0x31c(r31) -/* 801FF908 D0 1F 03 20 */ stfs f0, 0x320(r31) -/* 801FF90C D0 BF 03 24 */ stfs f5, 0x324(r31) -/* 801FF910 D0 BF 03 28 */ stfs f5, 0x328(r31) -/* 801FF914 D0 1F 01 74 */ stfs f0, 0x174(r31) -/* 801FF918 D0 3F 01 78 */ stfs f1, 0x178(r31) -/* 801FF91C D0 BF 01 7C */ stfs f5, 0x17c(r31) -/* 801FF920 D0 BF 01 80 */ stfs f5, 0x180(r31) -/* 801FF924 C0 22 AB 78 */ lfs f1, lit_4030(r2) -/* 801FF928 D0 3F 01 84 */ stfs f1, 0x184(r31) -/* 801FF92C D0 FF 01 90 */ stfs f7, 0x190(r31) -/* 801FF930 D0 BF 01 9C */ stfs f5, 0x19c(r31) -/* 801FF934 C0 22 AB D4 */ lfs f1, lit_4081(r2) -/* 801FF938 D0 3F 01 A8 */ stfs f1, 0x1a8(r31) -/* 801FF93C C0 22 AB 9C */ lfs f1, lit_4039(r2) -/* 801FF940 D0 3F 01 88 */ stfs f1, 0x188(r31) -/* 801FF944 C0 22 AB 10 */ lfs f1, lit_3799(r2) -/* 801FF948 D0 3F 01 94 */ stfs f1, 0x194(r31) -/* 801FF94C C0 22 AB C8 */ lfs f1, lit_4078(r2) -/* 801FF950 D0 3F 01 A0 */ stfs f1, 0x1a0(r31) -/* 801FF954 C0 22 AC 68 */ lfs f1, lit_4274(r2) -/* 801FF958 D0 3F 01 AC */ stfs f1, 0x1ac(r31) -/* 801FF95C C0 42 AB 00 */ lfs f2, lit_3795(r2) -/* 801FF960 D0 5F 01 8C */ stfs f2, 0x18c(r31) -/* 801FF964 C0 22 AC 6C */ lfs f1, lit_4275(r2) -/* 801FF968 D0 3F 01 98 */ stfs f1, 0x198(r31) -/* 801FF96C D0 9F 01 A4 */ stfs f4, 0x1a4(r31) -/* 801FF970 C0 22 AC 70 */ lfs f1, lit_4276(r2) -/* 801FF974 D0 3F 01 B0 */ stfs f1, 0x1b0(r31) -/* 801FF978 D0 5F 01 B4 */ stfs f2, 0x1b4(r31) -/* 801FF97C C0 22 AC 74 */ lfs f1, lit_4277(r2) -/* 801FF980 D0 3F 01 B8 */ stfs f1, 0x1b8(r31) -/* 801FF984 D0 7F 01 BC */ stfs f3, 0x1bc(r31) -/* 801FF988 D0 BF 01 C0 */ stfs f5, 0x1c0(r31) -/* 801FF98C D0 BF 01 C4 */ stfs f5, 0x1c4(r31) -/* 801FF990 D0 7F 01 C8 */ stfs f3, 0x1c8(r31) -/* 801FF994 D0 BF 01 CC */ stfs f5, 0x1cc(r31) -/* 801FF998 D0 BF 01 D0 */ stfs f5, 0x1d0(r31) -/* 801FF99C D0 1F 01 D4 */ stfs f0, 0x1d4(r31) -/* 801FF9A0 C0 22 AC 78 */ lfs f1, lit_4278(r2) -/* 801FF9A4 D0 3F 01 F0 */ stfs f1, 0x1f0(r31) -/* 801FF9A8 C0 22 AA EC */ lfs f1, lit_3790(r2) -/* 801FF9AC D0 3F 02 00 */ stfs f1, 0x200(r31) -/* 801FF9B0 C0 42 AB 6C */ lfs f2, lit_3957(r2) -/* 801FF9B4 D0 5F 02 10 */ stfs f2, 0x210(r31) -/* 801FF9B8 C0 22 AC 7C */ lfs f1, lit_4279(r2) -/* 801FF9BC D0 3F 01 F4 */ stfs f1, 0x1f4(r31) -/* 801FF9C0 C0 22 AB E4 */ lfs f1, lit_4085(r2) -/* 801FF9C4 D0 3F 02 04 */ stfs f1, 0x204(r31) -/* 801FF9C8 D0 5F 02 14 */ stfs f2, 0x214(r31) -/* 801FF9CC D0 BF 01 F8 */ stfs f5, 0x1f8(r31) -/* 801FF9D0 D0 BF 02 08 */ stfs f5, 0x208(r31) -/* 801FF9D4 D0 1F 02 18 */ stfs f0, 0x218(r31) -/* 801FF9D8 D0 BF 01 FC */ stfs f5, 0x1fc(r31) -/* 801FF9DC D0 BF 02 0C */ stfs f5, 0x20c(r31) -/* 801FF9E0 D0 1F 02 1C */ stfs f0, 0x21c(r31) -/* 801FF9E4 38 60 00 00 */ li r3, 0 -/* 801FF9E8 38 00 00 03 */ li r0, 3 -/* 801FF9EC 7C 09 03 A6 */ mtctr r0 -lbl_801FF9F0: -/* 801FF9F0 38 03 01 E4 */ addi r0, r3, 0x1e4 -/* 801FF9F4 7C BF 05 2E */ stfsx f5, r31, r0 -/* 801FF9F8 38 63 00 04 */ addi r3, r3, 4 -/* 801FF9FC 42 00 FF F4 */ bdnz lbl_801FF9F0 -/* 801FFA00 C0 22 AA F8 */ lfs f1, lit_3793(r2) -/* 801FFA04 D0 3F 01 D8 */ stfs f1, 0x1d8(r31) -/* 801FFA08 D0 3F 01 DC */ stfs f1, 0x1dc(r31) -/* 801FFA0C C0 02 AA E0 */ lfs f0, lit_3787(r2) -/* 801FFA10 D0 1F 01 E0 */ stfs f0, 0x1e0(r31) -/* 801FFA14 38 60 00 00 */ li r3, 0 -/* 801FFA18 38 00 00 02 */ li r0, 2 -/* 801FFA1C 7C 09 03 A6 */ mtctr r0 -lbl_801FFA20: -/* 801FFA20 38 03 02 20 */ addi r0, r3, 0x220 -/* 801FFA24 7C 1F 05 2E */ stfsx f0, r31, r0 -/* 801FFA28 38 03 02 28 */ addi r0, r3, 0x228 -/* 801FFA2C 7C 3F 05 2E */ stfsx f1, r31, r0 -/* 801FFA30 38 03 02 30 */ addi r0, r3, 0x230 -/* 801FFA34 7C 3F 05 2E */ stfsx f1, r31, r0 -/* 801FFA38 38 63 00 04 */ addi r3, r3, 4 -/* 801FFA3C 42 00 FF E4 */ bdnz lbl_801FFA20 -/* 801FFA40 C0 42 AB B8 */ lfs f2, lit_4074(r2) -/* 801FFA44 D0 5F 02 38 */ stfs f2, 0x238(r31) -/* 801FFA48 D0 5F 02 3C */ stfs f2, 0x23c(r31) -/* 801FFA4C C0 A2 AA E4 */ lfs f5, lit_3788(r2) -/* 801FFA50 D0 BF 02 40 */ stfs f5, 0x240(r31) -/* 801FFA54 C0 02 AC 80 */ lfs f0, lit_4280(r2) -/* 801FFA58 D0 1F 02 48 */ stfs f0, 0x248(r31) -/* 801FFA5C C0 22 AA EC */ lfs f1, lit_3790(r2) -/* 801FFA60 D0 3F 02 50 */ stfs f1, 0x250(r31) -/* 801FFA64 D0 5F 02 58 */ stfs f2, 0x258(r31) -/* 801FFA68 D0 BF 02 44 */ stfs f5, 0x244(r31) -/* 801FFA6C C0 82 AA F8 */ lfs f4, lit_3793(r2) -/* 801FFA70 D0 9F 02 4C */ stfs f4, 0x24c(r31) -/* 801FFA74 D0 9F 02 54 */ stfs f4, 0x254(r31) -/* 801FFA78 C0 62 AA E0 */ lfs f3, lit_3787(r2) -/* 801FFA7C D0 7F 02 5C */ stfs f3, 0x25c(r31) -/* 801FFA80 D0 BF 02 60 */ stfs f5, 0x260(r31) -/* 801FFA84 C0 02 AC 2C */ lfs f0, lit_4259(r2) -/* 801FFA88 D0 1F 02 68 */ stfs f0, 0x268(r31) -/* 801FFA8C D0 3F 02 70 */ stfs f1, 0x270(r31) -/* 801FFA90 D0 5F 02 78 */ stfs f2, 0x278(r31) -/* 801FFA94 D0 BF 02 64 */ stfs f5, 0x264(r31) -/* 801FFA98 D0 9F 02 6C */ stfs f4, 0x26c(r31) -/* 801FFA9C D0 9F 02 74 */ stfs f4, 0x274(r31) -/* 801FFAA0 D0 5F 02 7C */ stfs f2, 0x27c(r31) -/* 801FFAA4 D0 BF 02 80 */ stfs f5, 0x280(r31) -/* 801FFAA8 D0 9F 02 88 */ stfs f4, 0x288(r31) -/* 801FFAAC C0 02 AC 84 */ lfs f0, lit_4281(r2) -/* 801FFAB0 D0 1F 02 90 */ stfs f0, 0x290(r31) -/* 801FFAB4 D0 5F 02 98 */ stfs f2, 0x298(r31) -/* 801FFAB8 D0 7F 02 84 */ stfs f3, 0x284(r31) -/* 801FFABC D0 9F 02 8C */ stfs f4, 0x28c(r31) -/* 801FFAC0 C0 22 AB 00 */ lfs f1, lit_3795(r2) -/* 801FFAC4 D0 3F 02 94 */ stfs f1, 0x294(r31) -/* 801FFAC8 D0 7F 02 9C */ stfs f3, 0x29c(r31) -/* 801FFACC D0 7F 02 A0 */ stfs f3, 0x2a0(r31) -/* 801FFAD0 D0 9F 02 A4 */ stfs f4, 0x2a4(r31) -/* 801FFAD4 D0 9F 02 A8 */ stfs f4, 0x2a8(r31) -/* 801FFAD8 D0 5F 02 AC */ stfs f2, 0x2ac(r31) -/* 801FFADC C0 02 AC 38 */ lfs f0, lit_4262(r2) -/* 801FFAE0 D0 1F 02 B0 */ stfs f0, 0x2b0(r31) -/* 801FFAE4 38 00 03 E9 */ li r0, 0x3e9 -/* 801FFAE8 90 1F 02 C8 */ stw r0, 0x2c8(r31) -/* 801FFAEC 90 1F 02 CC */ stw r0, 0x2cc(r31) -/* 801FFAF0 38 60 00 00 */ li r3, 0 -/* 801FFAF4 98 7F 02 D0 */ stb r3, 0x2d0(r31) -/* 801FFAF8 D0 7F 02 C4 */ stfs f3, 0x2c4(r31) -/* 801FFAFC D0 7F 02 B4 */ stfs f3, 0x2b4(r31) -/* 801FFB00 D0 9F 02 B8 */ stfs f4, 0x2b8(r31) -/* 801FFB04 D0 9F 02 BC */ stfs f4, 0x2bc(r31) -/* 801FFB08 38 00 00 FF */ li r0, 0xff -/* 801FFB0C 98 1F 02 C0 */ stb r0, 0x2c0(r31) -/* 801FFB10 98 1F 02 C1 */ stb r0, 0x2c1(r31) -/* 801FFB14 98 1F 02 C2 */ stb r0, 0x2c2(r31) -/* 801FFB18 98 1F 02 C3 */ stb r0, 0x2c3(r31) -/* 801FFB1C D0 7F 02 D4 */ stfs f3, 0x2d4(r31) -/* 801FFB20 C0 02 AB A8 */ lfs f0, lit_4042(r2) -/* 801FFB24 D0 1F 02 D8 */ stfs f0, 0x2d8(r31) -/* 801FFB28 D0 3F 02 DC */ stfs f1, 0x2dc(r31) -/* 801FFB2C 98 1F 02 E0 */ stb r0, 0x2e0(r31) -/* 801FFB30 98 1F 02 E1 */ stb r0, 0x2e1(r31) -/* 801FFB34 98 1F 02 E2 */ stb r0, 0x2e2(r31) -/* 801FFB38 98 1F 02 E3 */ stb r0, 0x2e3(r31) -/* 801FFB3C D0 7F 02 E4 */ stfs f3, 0x2e4(r31) -/* 801FFB40 D0 9F 02 E8 */ stfs f4, 0x2e8(r31) -/* 801FFB44 D0 9F 02 EC */ stfs f4, 0x2ec(r31) -/* 801FFB48 98 1F 02 F0 */ stb r0, 0x2f0(r31) -/* 801FFB4C 98 1F 02 F1 */ stb r0, 0x2f1(r31) -/* 801FFB50 98 1F 02 F2 */ stb r0, 0x2f2(r31) -/* 801FFB54 98 1F 02 F3 */ stb r0, 0x2f3(r31) -/* 801FFB58 D0 7F 02 F4 */ stfs f3, 0x2f4(r31) -/* 801FFB5C D0 9F 02 F8 */ stfs f4, 0x2f8(r31) -/* 801FFB60 D0 9F 02 FC */ stfs f4, 0x2fc(r31) -/* 801FFB64 98 1F 03 00 */ stb r0, 0x300(r31) -/* 801FFB68 98 1F 03 01 */ stb r0, 0x301(r31) -/* 801FFB6C 98 1F 03 02 */ stb r0, 0x302(r31) -/* 801FFB70 98 1F 03 03 */ stb r0, 0x303(r31) -/* 801FFB74 D0 7F 03 2C */ stfs f3, 0x32c(r31) -/* 801FFB78 D0 9F 03 30 */ stfs f4, 0x330(r31) -/* 801FFB7C C0 02 AC 88 */ lfs f0, lit_4282(r2) -/* 801FFB80 D0 1F 03 34 */ stfs f0, 0x334(r31) -/* 801FFB84 98 1F 03 38 */ stb r0, 0x338(r31) -/* 801FFB88 98 1F 03 39 */ stb r0, 0x339(r31) -/* 801FFB8C 98 1F 03 3A */ stb r0, 0x33a(r31) -/* 801FFB90 98 1F 03 3B */ stb r0, 0x33b(r31) -/* 801FFB94 D0 7F 03 3C */ stfs f3, 0x33c(r31) -/* 801FFB98 C0 02 AC 8C */ lfs f0, lit_4283(r2) -/* 801FFB9C D0 1F 03 40 */ stfs f0, 0x340(r31) -/* 801FFBA0 C0 02 AC 90 */ lfs f0, lit_4284(r2) -/* 801FFBA4 D0 1F 03 44 */ stfs f0, 0x344(r31) -/* 801FFBA8 C0 02 AA F4 */ lfs f0, lit_3792(r2) -/* 801FFBAC D0 1F 03 48 */ stfs f0, 0x348(r31) -/* 801FFBB0 D0 1F 03 4C */ stfs f0, 0x34c(r31) -/* 801FFBB4 D0 9F 03 50 */ stfs f4, 0x350(r31) -/* 801FFBB8 D0 9F 03 54 */ stfs f4, 0x354(r31) -/* 801FFBBC D0 7F 03 58 */ stfs f3, 0x358(r31) -/* 801FFBC0 C0 42 AB C0 */ lfs f2, lit_4076(r2) -/* 801FFBC4 D0 5F 03 5C */ stfs f2, 0x35c(r31) -/* 801FFBC8 C0 02 AC 74 */ lfs f0, lit_4277(r2) -/* 801FFBCC D0 1F 03 60 */ stfs f0, 0x360(r31) -/* 801FFBD0 C0 22 AA F0 */ lfs f1, lit_3791(r2) -/* 801FFBD4 D0 3F 03 64 */ stfs f1, 0x364(r31) -/* 801FFBD8 D0 7F 03 68 */ stfs f3, 0x368(r31) -/* 801FFBDC D0 9F 03 6C */ stfs f4, 0x36c(r31) -/* 801FFBE0 D0 9F 03 70 */ stfs f4, 0x370(r31) -/* 801FFBE4 D0 7F 03 74 */ stfs f3, 0x374(r31) -/* 801FFBE8 D0 7F 03 78 */ stfs f3, 0x378(r31) -/* 801FFBEC D0 7F 03 7C */ stfs f3, 0x37c(r31) -/* 801FFBF0 D0 9F 03 80 */ stfs f4, 0x380(r31) -/* 801FFBF4 D0 9F 03 84 */ stfs f4, 0x384(r31) -/* 801FFBF8 D0 7F 03 88 */ stfs f3, 0x388(r31) -/* 801FFBFC D0 7F 03 8C */ stfs f3, 0x38c(r31) -/* 801FFC00 D0 9F 03 90 */ stfs f4, 0x390(r31) -/* 801FFC04 D0 9F 03 94 */ stfs f4, 0x394(r31) -/* 801FFC08 D0 7F 03 98 */ stfs f3, 0x398(r31) -/* 801FFC0C 98 7F 04 2E */ stb r3, 0x42e(r31) -/* 801FFC10 D0 7F 03 9C */ stfs f3, 0x39c(r31) -/* 801FFC14 D0 7F 03 A0 */ stfs f3, 0x3a0(r31) -/* 801FFC18 D0 7F 03 A4 */ stfs f3, 0x3a4(r31) -/* 801FFC1C D0 7F 03 A8 */ stfs f3, 0x3a8(r31) -/* 801FFC20 C0 02 AB 6C */ lfs f0, lit_3957(r2) -/* 801FFC24 D0 1F 03 AC */ stfs f0, 0x3ac(r31) -/* 801FFC28 C0 02 AC 10 */ lfs f0, lit_4128(r2) -/* 801FFC2C D0 1F 03 B0 */ stfs f0, 0x3b0(r31) -/* 801FFC30 C0 02 AC 5C */ lfs f0, lit_4271(r2) -/* 801FFC34 D0 1F 03 B4 */ stfs f0, 0x3b4(r31) -/* 801FFC38 C0 02 AC 94 */ lfs f0, lit_4285(r2) -/* 801FFC3C D0 1F 03 B8 */ stfs f0, 0x3b8(r31) -/* 801FFC40 D0 9F 03 BC */ stfs f4, 0x3bc(r31) -/* 801FFC44 C0 02 AC 98 */ lfs f0, lit_4286(r2) -/* 801FFC48 D0 1F 03 C0 */ stfs f0, 0x3c0(r31) -/* 801FFC4C D0 BF 03 C4 */ stfs f5, 0x3c4(r31) -/* 801FFC50 D0 5F 03 C8 */ stfs f2, 0x3c8(r31) -/* 801FFC54 D0 7F 03 CC */ stfs f3, 0x3cc(r31) -/* 801FFC58 C0 02 AB AC */ lfs f0, lit_4071(r2) -/* 801FFC5C D0 1F 03 D8 */ stfs f0, 0x3d8(r31) -/* 801FFC60 D0 1F 03 DC */ stfs f0, 0x3dc(r31) -/* 801FFC64 D0 7F 03 E8 */ stfs f3, 0x3e8(r31) -/* 801FFC68 C0 02 AB 70 */ lfs f0, lit_4028(r2) -/* 801FFC6C D0 1F 03 E0 */ stfs f0, 0x3e0(r31) -/* 801FFC70 D0 3F 03 E4 */ stfs f1, 0x3e4(r31) -/* 801FFC74 D0 9F 03 F0 */ stfs f4, 0x3f0(r31) -/* 801FFC78 D0 9F 03 F4 */ stfs f4, 0x3f4(r31) -/* 801FFC7C D0 7F 03 F8 */ stfs f3, 0x3f8(r31) -/* 801FFC80 C0 22 AB 04 */ lfs f1, lit_3796(r2) -/* 801FFC84 D0 3F 03 FC */ stfs f1, 0x3fc(r31) -/* 801FFC88 C0 02 AB 98 */ lfs f0, lit_4038(r2) -/* 801FFC8C D0 1F 04 00 */ stfs f0, 0x400(r31) -/* 801FFC90 D0 9F 04 04 */ stfs f4, 0x404(r31) -/* 801FFC94 D0 1F 04 08 */ stfs f0, 0x408(r31) -/* 801FFC98 D0 9F 04 0C */ stfs f4, 0x40c(r31) -/* 801FFC9C D0 3F 04 10 */ stfs f1, 0x410(r31) -/* 801FFCA0 D0 7F 04 14 */ stfs f3, 0x414(r31) -/* 801FFCA4 D0 7F 04 18 */ stfs f3, 0x418(r31) -/* 801FFCA8 D0 7F 04 1C */ stfs f3, 0x41c(r31) -/* 801FFCAC 38 00 00 05 */ li r0, 5 -/* 801FFCB0 B0 1F 04 20 */ sth r0, 0x420(r31) -/* 801FFCB4 38 00 00 0A */ li r0, 0xa -/* 801FFCB8 B0 1F 04 22 */ sth r0, 0x422(r31) -/* 801FFCBC 38 00 00 14 */ li r0, 0x14 -/* 801FFCC0 B0 1F 04 24 */ sth r0, 0x424(r31) -/* 801FFCC4 38 00 00 80 */ li r0, 0x80 -/* 801FFCC8 98 1F 04 2A */ stb r0, 0x42a(r31) -/* 801FFCCC 98 1F 04 2B */ stb r0, 0x42b(r31) -/* 801FFCD0 98 1F 04 2C */ stb r0, 0x42c(r31) -/* 801FFCD4 38 80 00 00 */ li r4, 0 -/* 801FFCD8 38 00 00 04 */ li r0, 4 -/* 801FFCDC 7C 09 03 A6 */ mtctr r0 -lbl_801FFCE0: -/* 801FFCE0 38 04 04 26 */ addi r0, r4, 0x426 -/* 801FFCE4 7C 7F 01 AE */ stbx r3, r31, r0 -/* 801FFCE8 38 84 00 01 */ addi r4, r4, 1 -/* 801FFCEC 42 00 FF F4 */ bdnz lbl_801FFCE0 -/* 801FFCF0 38 00 00 06 */ li r0, 6 -/* 801FFCF4 98 1F 04 2D */ stb r0, 0x42d(r31) -/* 801FFCF8 38 E0 00 FF */ li r7, 0xff -/* 801FFCFC 98 FF 04 30 */ stb r7, 0x430(r31) -/* 801FFD00 98 FF 04 31 */ stb r7, 0x431(r31) -/* 801FFD04 98 FF 04 32 */ stb r7, 0x432(r31) -/* 801FFD08 98 FF 04 33 */ stb r7, 0x433(r31) -/* 801FFD0C 38 C0 00 8C */ li r6, 0x8c -/* 801FFD10 98 DF 04 34 */ stb r6, 0x434(r31) -/* 801FFD14 38 00 00 E8 */ li r0, 0xe8 -/* 801FFD18 98 1F 04 35 */ stb r0, 0x435(r31) -/* 801FFD1C 38 00 00 E4 */ li r0, 0xe4 -/* 801FFD20 98 1F 04 36 */ stb r0, 0x436(r31) -/* 801FFD24 38 A0 00 00 */ li r5, 0 -/* 801FFD28 98 BF 04 37 */ stb r5, 0x437(r31) -/* 801FFD2C 98 FF 04 38 */ stb r7, 0x438(r31) -/* 801FFD30 98 FF 04 39 */ stb r7, 0x439(r31) -/* 801FFD34 38 60 00 BE */ li r3, 0xbe -/* 801FFD38 98 7F 04 3A */ stb r3, 0x43a(r31) -/* 801FFD3C 98 FF 04 3B */ stb r7, 0x43b(r31) -/* 801FFD40 38 00 00 37 */ li r0, 0x37 -/* 801FFD44 98 1F 04 3C */ stb r0, 0x43c(r31) -/* 801FFD48 38 00 00 D7 */ li r0, 0xd7 -/* 801FFD4C 98 1F 04 3D */ stb r0, 0x43d(r31) -/* 801FFD50 38 00 00 5A */ li r0, 0x5a -/* 801FFD54 98 1F 04 3E */ stb r0, 0x43e(r31) -/* 801FFD58 98 BF 04 3F */ stb r5, 0x43f(r31) -/* 801FFD5C C0 02 AA E4 */ lfs f0, lit_3788(r2) -/* 801FFD60 D0 1F 04 40 */ stfs f0, 0x440(r31) -/* 801FFD64 98 FF 04 44 */ stb r7, 0x444(r31) -/* 801FFD68 98 FF 04 45 */ stb r7, 0x445(r31) -/* 801FFD6C 98 FF 04 46 */ stb r7, 0x446(r31) -/* 801FFD70 98 FF 04 47 */ stb r7, 0x447(r31) -/* 801FFD74 38 00 00 DC */ li r0, 0xdc -/* 801FFD78 98 1F 04 48 */ stb r0, 0x448(r31) -/* 801FFD7C 38 80 00 6E */ li r4, 0x6e -/* 801FFD80 98 9F 04 49 */ stb r4, 0x449(r31) -/* 801FFD84 38 00 00 1E */ li r0, 0x1e -/* 801FFD88 98 1F 04 4A */ stb r0, 0x44a(r31) -/* 801FFD8C 98 BF 04 4B */ stb r5, 0x44b(r31) -/* 801FFD90 98 FF 04 4C */ stb r7, 0x44c(r31) -/* 801FFD94 98 FF 04 4D */ stb r7, 0x44d(r31) -/* 801FFD98 98 7F 04 4E */ stb r3, 0x44e(r31) -/* 801FFD9C 98 FF 04 4F */ stb r7, 0x44f(r31) -/* 801FFDA0 38 00 00 AA */ li r0, 0xaa -/* 801FFDA4 98 1F 04 50 */ stb r0, 0x450(r31) -/* 801FFDA8 98 9F 04 51 */ stb r4, 0x451(r31) -/* 801FFDAC 98 BF 04 52 */ stb r5, 0x452(r31) -/* 801FFDB0 98 BF 04 53 */ stb r5, 0x453(r31) -/* 801FFDB4 C0 62 AB B8 */ lfs f3, lit_4074(r2) -/* 801FFDB8 D0 7F 04 54 */ stfs f3, 0x454(r31) -/* 801FFDBC 98 FF 04 58 */ stb r7, 0x458(r31) -/* 801FFDC0 98 FF 04 59 */ stb r7, 0x459(r31) -/* 801FFDC4 98 FF 04 5A */ stb r7, 0x45a(r31) -/* 801FFDC8 98 FF 04 5B */ stb r7, 0x45b(r31) -/* 801FFDCC 98 BF 04 5C */ stb r5, 0x45c(r31) -/* 801FFDD0 98 BF 04 5D */ stb r5, 0x45d(r31) -/* 801FFDD4 98 BF 04 5E */ stb r5, 0x45e(r31) -/* 801FFDD8 98 BF 04 5F */ stb r5, 0x45f(r31) -/* 801FFDDC 98 FF 04 60 */ stb r7, 0x460(r31) -/* 801FFDE0 98 FF 04 61 */ stb r7, 0x461(r31) -/* 801FFDE4 98 FF 04 62 */ stb r7, 0x462(r31) -/* 801FFDE8 98 FF 04 63 */ stb r7, 0x463(r31) -/* 801FFDEC 38 60 00 A0 */ li r3, 0xa0 -/* 801FFDF0 98 7F 04 64 */ stb r3, 0x464(r31) -/* 801FFDF4 98 7F 04 65 */ stb r3, 0x465(r31) -/* 801FFDF8 98 9F 04 66 */ stb r4, 0x466(r31) -/* 801FFDFC 98 BF 04 67 */ stb r5, 0x467(r31) -/* 801FFE00 C0 22 AC 30 */ lfs f1, lit_4260(r2) -/* 801FFE04 D0 3F 04 68 */ stfs f1, 0x468(r31) -/* 801FFE08 98 FF 04 6C */ stb r7, 0x46c(r31) -/* 801FFE0C 98 FF 04 6D */ stb r7, 0x46d(r31) -/* 801FFE10 98 FF 04 6E */ stb r7, 0x46e(r31) -/* 801FFE14 98 FF 04 6F */ stb r7, 0x46f(r31) -/* 801FFE18 98 BF 04 70 */ stb r5, 0x470(r31) -/* 801FFE1C 98 BF 04 71 */ stb r5, 0x471(r31) -/* 801FFE20 98 BF 04 72 */ stb r5, 0x472(r31) -/* 801FFE24 98 BF 04 73 */ stb r5, 0x473(r31) -/* 801FFE28 98 FF 04 74 */ stb r7, 0x474(r31) -/* 801FFE2C 98 FF 04 75 */ stb r7, 0x475(r31) -/* 801FFE30 98 FF 04 76 */ stb r7, 0x476(r31) -/* 801FFE34 98 FF 04 77 */ stb r7, 0x477(r31) -/* 801FFE38 98 7F 04 78 */ stb r3, 0x478(r31) -/* 801FFE3C 98 7F 04 79 */ stb r3, 0x479(r31) -/* 801FFE40 98 9F 04 7A */ stb r4, 0x47a(r31) -/* 801FFE44 98 BF 04 7B */ stb r5, 0x47b(r31) -/* 801FFE48 D0 3F 04 7C */ stfs f1, 0x47c(r31) -/* 801FFE4C 98 FF 04 80 */ stb r7, 0x480(r31) -/* 801FFE50 98 FF 04 81 */ stb r7, 0x481(r31) -/* 801FFE54 98 FF 04 82 */ stb r7, 0x482(r31) -/* 801FFE58 98 7F 04 83 */ stb r3, 0x483(r31) -/* 801FFE5C 98 BF 04 84 */ stb r5, 0x484(r31) -/* 801FFE60 98 BF 04 85 */ stb r5, 0x485(r31) -/* 801FFE64 98 BF 04 86 */ stb r5, 0x486(r31) -/* 801FFE68 98 BF 04 87 */ stb r5, 0x487(r31) -/* 801FFE6C 98 FF 04 88 */ stb r7, 0x488(r31) -/* 801FFE70 98 FF 04 89 */ stb r7, 0x489(r31) -/* 801FFE74 98 FF 04 8A */ stb r7, 0x48a(r31) -/* 801FFE78 38 00 00 80 */ li r0, 0x80 -/* 801FFE7C 98 1F 04 8B */ stb r0, 0x48b(r31) -/* 801FFE80 98 BF 04 8C */ stb r5, 0x48c(r31) -/* 801FFE84 98 FF 04 8D */ stb r7, 0x48d(r31) -/* 801FFE88 98 BF 04 8E */ stb r5, 0x48e(r31) -/* 801FFE8C 98 BF 04 8F */ stb r5, 0x48f(r31) -/* 801FFE90 D0 3F 04 90 */ stfs f1, 0x490(r31) -/* 801FFE94 98 FF 04 94 */ stb r7, 0x494(r31) -/* 801FFE98 38 80 00 B4 */ li r4, 0xb4 -/* 801FFE9C 98 9F 04 95 */ stb r4, 0x495(r31) -/* 801FFEA0 98 9F 04 96 */ stb r4, 0x496(r31) -/* 801FFEA4 98 7F 04 97 */ stb r3, 0x497(r31) -/* 801FFEA8 98 BF 04 98 */ stb r5, 0x498(r31) -/* 801FFEAC 98 BF 04 99 */ stb r5, 0x499(r31) -/* 801FFEB0 98 BF 04 9A */ stb r5, 0x49a(r31) -/* 801FFEB4 98 BF 04 9B */ stb r5, 0x49b(r31) -/* 801FFEB8 98 FF 04 9C */ stb r7, 0x49c(r31) -/* 801FFEBC 98 FF 04 9D */ stb r7, 0x49d(r31) -/* 801FFEC0 98 FF 04 9E */ stb r7, 0x49e(r31) -/* 801FFEC4 98 1F 04 9F */ stb r0, 0x49f(r31) -/* 801FFEC8 98 FF 04 A0 */ stb r7, 0x4a0(r31) -/* 801FFECC 98 BF 04 A1 */ stb r5, 0x4a1(r31) -/* 801FFED0 98 BF 04 A2 */ stb r5, 0x4a2(r31) -/* 801FFED4 98 BF 04 A3 */ stb r5, 0x4a3(r31) -/* 801FFED8 D0 3F 04 A4 */ stfs f1, 0x4a4(r31) -/* 801FFEDC 98 FF 04 A8 */ stb r7, 0x4a8(r31) -/* 801FFEE0 98 9F 04 A9 */ stb r4, 0x4a9(r31) -/* 801FFEE4 98 9F 04 AA */ stb r4, 0x4aa(r31) -/* 801FFEE8 98 7F 04 AB */ stb r3, 0x4ab(r31) -/* 801FFEEC 98 BF 04 AC */ stb r5, 0x4ac(r31) -/* 801FFEF0 98 BF 04 AD */ stb r5, 0x4ad(r31) -/* 801FFEF4 98 BF 04 AE */ stb r5, 0x4ae(r31) -/* 801FFEF8 98 BF 04 AF */ stb r5, 0x4af(r31) -/* 801FFEFC 98 FF 04 B0 */ stb r7, 0x4b0(r31) -/* 801FFF00 98 FF 04 B1 */ stb r7, 0x4b1(r31) -/* 801FFF04 98 FF 04 B2 */ stb r7, 0x4b2(r31) -/* 801FFF08 98 1F 04 B3 */ stb r0, 0x4b3(r31) -/* 801FFF0C 98 FF 04 B4 */ stb r7, 0x4b4(r31) -/* 801FFF10 98 BF 04 B5 */ stb r5, 0x4b5(r31) -/* 801FFF14 98 BF 04 B6 */ stb r5, 0x4b6(r31) -/* 801FFF18 98 BF 04 B7 */ stb r5, 0x4b7(r31) -/* 801FFF1C D0 3F 04 B8 */ stfs f1, 0x4b8(r31) -/* 801FFF20 98 FF 04 BC */ stb r7, 0x4bc(r31) -/* 801FFF24 98 9F 04 BD */ stb r4, 0x4bd(r31) -/* 801FFF28 98 9F 04 BE */ stb r4, 0x4be(r31) -/* 801FFF2C 98 7F 04 BF */ stb r3, 0x4bf(r31) -/* 801FFF30 98 BF 04 C0 */ stb r5, 0x4c0(r31) -/* 801FFF34 98 BF 04 C1 */ stb r5, 0x4c1(r31) -/* 801FFF38 98 BF 04 C2 */ stb r5, 0x4c2(r31) -/* 801FFF3C 98 BF 04 C3 */ stb r5, 0x4c3(r31) -/* 801FFF40 98 FF 04 C4 */ stb r7, 0x4c4(r31) -/* 801FFF44 98 FF 04 C5 */ stb r7, 0x4c5(r31) -/* 801FFF48 98 FF 04 C6 */ stb r7, 0x4c6(r31) -/* 801FFF4C 98 1F 04 C7 */ stb r0, 0x4c7(r31) -/* 801FFF50 98 FF 04 C8 */ stb r7, 0x4c8(r31) -/* 801FFF54 98 FF 04 C9 */ stb r7, 0x4c9(r31) -/* 801FFF58 98 FF 04 CA */ stb r7, 0x4ca(r31) -/* 801FFF5C 98 BF 04 CB */ stb r5, 0x4cb(r31) -/* 801FFF60 D0 3F 04 CC */ stfs f1, 0x4cc(r31) -/* 801FFF64 C0 02 AB C0 */ lfs f0, lit_4076(r2) -/* 801FFF68 D0 1F 03 D0 */ stfs f0, 0x3d0(r31) -/* 801FFF6C 98 FF 04 D0 */ stb r7, 0x4d0(r31) -/* 801FFF70 98 9F 04 D1 */ stb r4, 0x4d1(r31) -/* 801FFF74 98 9F 04 D2 */ stb r4, 0x4d2(r31) -/* 801FFF78 98 7F 04 D3 */ stb r3, 0x4d3(r31) -/* 801FFF7C 98 BF 04 D4 */ stb r5, 0x4d4(r31) -/* 801FFF80 98 BF 04 D5 */ stb r5, 0x4d5(r31) -/* 801FFF84 98 BF 04 D6 */ stb r5, 0x4d6(r31) -/* 801FFF88 98 BF 04 D7 */ stb r5, 0x4d7(r31) -/* 801FFF8C 98 FF 04 D8 */ stb r7, 0x4d8(r31) -/* 801FFF90 98 FF 04 D9 */ stb r7, 0x4d9(r31) -/* 801FFF94 98 FF 04 DA */ stb r7, 0x4da(r31) -/* 801FFF98 98 1F 04 DB */ stb r0, 0x4db(r31) -/* 801FFF9C 98 FF 04 DC */ stb r7, 0x4dc(r31) -/* 801FFFA0 98 FF 04 DD */ stb r7, 0x4dd(r31) -/* 801FFFA4 98 FF 04 DE */ stb r7, 0x4de(r31) -/* 801FFFA8 98 BF 04 DF */ stb r5, 0x4df(r31) -/* 801FFFAC D0 3F 04 E0 */ stfs f1, 0x4e0(r31) -/* 801FFFB0 D0 1F 03 D4 */ stfs f0, 0x3d4(r31) -/* 801FFFB4 38 60 00 C8 */ li r3, 0xc8 -/* 801FFFB8 98 7F 04 E4 */ stb r3, 0x4e4(r31) -/* 801FFFBC 38 00 00 EB */ li r0, 0xeb -/* 801FFFC0 98 1F 04 E5 */ stb r0, 0x4e5(r31) -/* 801FFFC4 98 FF 04 E6 */ stb r7, 0x4e6(r31) -/* 801FFFC8 98 FF 04 E7 */ stb r7, 0x4e7(r31) -/* 801FFFCC 98 BF 04 E8 */ stb r5, 0x4e8(r31) -/* 801FFFD0 98 BF 04 E9 */ stb r5, 0x4e9(r31) -/* 801FFFD4 98 BF 04 EA */ stb r5, 0x4ea(r31) -/* 801FFFD8 98 BF 04 EB */ stb r5, 0x4eb(r31) -/* 801FFFDC 98 FF 04 EC */ stb r7, 0x4ec(r31) -/* 801FFFE0 98 FF 04 ED */ stb r7, 0x4ed(r31) -/* 801FFFE4 98 FF 04 EE */ stb r7, 0x4ee(r31) -/* 801FFFE8 98 FF 04 EF */ stb r7, 0x4ef(r31) -/* 801FFFEC 98 DF 04 F0 */ stb r6, 0x4f0(r31) -/* 801FFFF0 98 7F 04 F1 */ stb r3, 0x4f1(r31) -/* 801FFFF4 38 00 00 7D */ li r0, 0x7d -/* 801FFFF8 98 1F 04 F2 */ stb r0, 0x4f2(r31) -/* 801FFFFC 98 BF 04 F3 */ stb r5, 0x4f3(r31) -/* 80200000 D0 7F 04 F4 */ stfs f3, 0x4f4(r31) -/* 80200004 38 00 00 32 */ li r0, 0x32 -/* 80200008 B0 1F 03 EC */ sth r0, 0x3ec(r31) -/* 8020000C C0 42 AA E0 */ lfs f2, lit_3787(r2) -/* 80200010 D0 5F 04 F8 */ stfs f2, 0x4f8(r31) -/* 80200014 D0 5F 04 FC */ stfs f2, 0x4fc(r31) -/* 80200018 D0 5F 05 04 */ stfs f2, 0x504(r31) -/* 8020001C D0 5F 05 00 */ stfs f2, 0x500(r31) -/* 80200020 D0 5F 05 08 */ stfs f2, 0x508(r31) -/* 80200024 C0 22 AA F8 */ lfs f1, lit_3793(r2) -/* 80200028 D0 3F 05 0C */ stfs f1, 0x50c(r31) -/* 8020002C C0 02 AC 9C */ lfs f0, lit_4287(r2) -/* 80200030 D0 1F 05 14 */ stfs f0, 0x514(r31) -/* 80200034 D0 1F 05 10 */ stfs f0, 0x510(r31) -/* 80200038 D0 3F 05 18 */ stfs f1, 0x518(r31) -/* 8020003C D0 3F 05 1C */ stfs f1, 0x51c(r31) -/* 80200040 D0 3F 05 20 */ stfs f1, 0x520(r31) -/* 80200044 98 BF 05 24 */ stb r5, 0x524(r31) -/* 80200048 D0 7F 05 28 */ stfs f3, 0x528(r31) -/* 8020004C D0 7F 05 2C */ stfs f3, 0x52c(r31) -/* 80200050 D0 5F 05 34 */ stfs f2, 0x534(r31) -/* 80200054 D0 5F 05 30 */ stfs f2, 0x530(r31) -/* 80200058 D0 5F 05 38 */ stfs f2, 0x538(r31) -/* 8020005C D0 3F 05 3C */ stfs f1, 0x53c(r31) -/* 80200060 C0 02 AC A0 */ lfs f0, lit_4288(r2) -/* 80200064 D0 1F 05 44 */ stfs f0, 0x544(r31) -/* 80200068 C0 02 AC A4 */ lfs f0, lit_4289(r2) -/* 8020006C D0 1F 05 40 */ stfs f0, 0x540(r31) -/* 80200070 D0 3F 05 48 */ stfs f1, 0x548(r31) -/* 80200074 98 BF 05 50 */ stb r5, 0x550(r31) -/* 80200078 D0 5F 05 4C */ stfs f2, 0x54c(r31) -/* 8020007C 98 BF 05 68 */ stb r5, 0x568(r31) -/* 80200080 38 60 00 64 */ li r3, 0x64 -/* 80200084 98 7F 05 69 */ stb r3, 0x569(r31) -/* 80200088 D0 3F 05 54 */ stfs f1, 0x554(r31) -/* 8020008C C0 02 AC A8 */ lfs f0, lit_4290(r2) -/* 80200090 D0 1F 05 58 */ stfs f0, 0x558(r31) -/* 80200094 38 00 01 8B */ li r0, 0x18b -/* 80200098 90 1F 05 5C */ stw r0, 0x55c(r31) -/* 8020009C 38 00 0B BB */ li r0, 0xbbb -/* 802000A0 90 1F 05 60 */ stw r0, 0x560(r31) -/* 802000A4 38 00 00 96 */ li r0, 0x96 -/* 802000A8 B0 1F 05 64 */ sth r0, 0x564(r31) -/* 802000AC 98 BF 05 66 */ stb r5, 0x566(r31) -/* 802000B0 98 BF 05 67 */ stb r5, 0x567(r31) -/* 802000B4 98 BF 05 FC */ stb r5, 0x5fc(r31) -/* 802000B8 98 BF 05 FD */ stb r5, 0x5fd(r31) -/* 802000BC 98 BF 05 FE */ stb r5, 0x5fe(r31) -/* 802000C0 98 BF 05 FF */ stb r5, 0x5ff(r31) -/* 802000C4 98 FF 05 F0 */ stb r7, 0x5f0(r31) -/* 802000C8 38 00 00 91 */ li r0, 0x91 -/* 802000CC 98 1F 05 F1 */ stb r0, 0x5f1(r31) -/* 802000D0 98 7F 05 F2 */ stb r3, 0x5f2(r31) -/* 802000D4 98 FF 05 F3 */ stb r7, 0x5f3(r31) -/* 802000D8 98 BF 06 00 */ stb r5, 0x600(r31) -/* 802000DC 98 BF 06 01 */ stb r5, 0x601(r31) -/* 802000E0 98 BF 06 02 */ stb r5, 0x602(r31) -/* 802000E4 98 BF 06 03 */ stb r5, 0x603(r31) -/* 802000E8 98 FF 05 F4 */ stb r7, 0x5f4(r31) -/* 802000EC 98 FF 05 F5 */ stb r7, 0x5f5(r31) -/* 802000F0 98 BF 05 F6 */ stb r5, 0x5f6(r31) -/* 802000F4 98 FF 05 F7 */ stb r7, 0x5f7(r31) -/* 802000F8 98 BF 06 04 */ stb r5, 0x604(r31) -/* 802000FC 98 BF 06 05 */ stb r5, 0x605(r31) -/* 80200100 98 BF 06 06 */ stb r5, 0x606(r31) -/* 80200104 98 BF 06 07 */ stb r5, 0x607(r31) -/* 80200108 38 00 00 E6 */ li r0, 0xe6 -/* 8020010C 98 1F 05 F8 */ stb r0, 0x5f8(r31) -/* 80200110 38 00 00 CD */ li r0, 0xcd -/* 80200114 98 1F 05 F9 */ stb r0, 0x5f9(r31) -/* 80200118 98 9F 05 FA */ stb r4, 0x5fa(r31) -/* 8020011C 98 FF 05 FB */ stb r7, 0x5fb(r31) -/* 80200120 38 00 00 0A */ li r0, 0xa -/* 80200124 B0 1F 06 08 */ sth r0, 0x608(r31) -/* 80200128 38 60 00 00 */ li r3, 0 -/* 8020012C 38 00 00 05 */ li r0, 5 -/* 80200130 7C 09 03 A6 */ mtctr r0 -lbl_80200134: -/* 80200134 38 03 05 6C */ addi r0, r3, 0x56c -/* 80200138 7C 5F 05 2E */ stfsx f2, r31, r0 -/* 8020013C 38 03 05 80 */ addi r0, r3, 0x580 -/* 80200140 7C 5F 05 2E */ stfsx f2, r31, r0 -/* 80200144 38 03 05 94 */ addi r0, r3, 0x594 -/* 80200148 7C 5F 05 2E */ stfsx f2, r31, r0 -/* 8020014C 38 03 05 A8 */ addi r0, r3, 0x5a8 -/* 80200150 7C 5F 05 2E */ stfsx f2, r31, r0 -/* 80200154 38 03 05 BC */ addi r0, r3, 0x5bc -/* 80200158 7C 3F 05 2E */ stfsx f1, r31, r0 -/* 8020015C 38 03 05 D0 */ addi r0, r3, 0x5d0 -/* 80200160 7C 3F 05 2E */ stfsx f1, r31, r0 -/* 80200164 38 63 00 04 */ addi r3, r3, 4 -/* 80200168 42 00 FF CC */ bdnz lbl_80200134 -/* 8020016C C0 22 AA E0 */ lfs f1, lit_3787(r2) -/* 80200170 D0 3F 05 E4 */ stfs f1, 0x5e4(r31) -/* 80200174 C0 02 AA F8 */ lfs f0, lit_3793(r2) -/* 80200178 D0 1F 05 E8 */ stfs f0, 0x5e8(r31) -/* 8020017C D0 1F 05 EC */ stfs f0, 0x5ec(r31) -/* 80200180 38 00 00 00 */ li r0, 0 -/* 80200184 98 1F 06 0A */ stb r0, 0x60a(r31) -/* 80200188 D0 1F 06 0C */ stfs f0, 0x60c(r31) -/* 8020018C D0 1F 06 10 */ stfs f0, 0x610(r31) -/* 80200190 D0 3F 06 14 */ stfs f1, 0x614(r31) -/* 80200194 7F E3 FB 78 */ mr r3, r31 -/* 80200198 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8020019C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802001A0 7C 08 03 A6 */ mtlr r0 -/* 802001A4 38 21 00 10 */ addi r1, r1, 0x10 -/* 802001A8 4E 80 00 20 */ blr diff --git a/asm/d/meter/d_meter_HIO/__ct__16dMeter_fmapHIO_cFv.s b/asm/d/meter/d_meter_HIO/__ct__16dMeter_fmapHIO_cFv.s deleted file mode 100644 index 8c72a13654..0000000000 --- a/asm/d/meter/d_meter_HIO/__ct__16dMeter_fmapHIO_cFv.s +++ /dev/null @@ -1,324 +0,0 @@ -lbl_802006C8: -/* 802006C8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802006CC 7C 08 02 A6 */ mflr r0 -/* 802006D0 90 01 00 14 */ stw r0, 0x14(r1) -/* 802006D4 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802006D8 7C 7F 1B 78 */ mr r31, r3 -/* 802006DC 3C 60 80 3C */ lis r3, __vt__16dMeter_fmapHIO_c@ha /* 0x803BF0F4@ha */ -/* 802006E0 38 03 F0 F4 */ addi r0, r3, __vt__16dMeter_fmapHIO_c@l /* 0x803BF0F4@l */ -/* 802006E4 90 1F 00 00 */ stw r0, 0(r31) -/* 802006E8 38 7F 00 1C */ addi r3, r31, 0x1c -/* 802006EC 3C 80 80 20 */ lis r4, __ct__Q216dMeter_fmapHIO_c13MapBlinkAnimeFv@ha /* 0x80201070@ha */ -/* 802006F0 38 84 10 70 */ addi r4, r4, __ct__Q216dMeter_fmapHIO_c13MapBlinkAnimeFv@l /* 0x80201070@l */ -/* 802006F4 38 A0 00 00 */ li r5, 0 -/* 802006F8 38 C0 00 28 */ li r6, 0x28 -/* 802006FC 38 E0 00 03 */ li r7, 3 -/* 80200700 48 16 16 61 */ bl __construct_array -/* 80200704 38 00 FF FF */ li r0, -1 -/* 80200708 90 1F 02 54 */ stw r0, 0x254(r31) -/* 8020070C 90 1F 02 58 */ stw r0, 0x258(r31) -/* 80200710 38 7F 02 5C */ addi r3, r31, 0x25c -/* 80200714 3C 80 80 01 */ lis r4, __ct__4cXyzFv@ha /* 0x800125DC@ha */ -/* 80200718 38 84 25 DC */ addi r4, r4, __ct__4cXyzFv@l /* 0x800125DC@l */ -/* 8020071C 3C A0 80 01 */ lis r5, __dt__4cXyzFv@ha /* 0x80009184@ha */ -/* 80200720 38 A5 91 84 */ addi r5, r5, __dt__4cXyzFv@l /* 0x80009184@l */ -/* 80200724 38 C0 00 0C */ li r6, 0xc -/* 80200728 38 E0 00 0C */ li r7, 0xc -/* 8020072C 48 16 16 35 */ bl __construct_array -/* 80200730 38 7F 03 14 */ addi r3, r31, 0x314 -/* 80200734 4B FF FD 81 */ bl __ct__19dMeter_mapIconHIO_cFv -/* 80200738 38 60 00 00 */ li r3, 0 -/* 8020073C 90 7F 00 0C */ stw r3, 0xc(r31) -/* 80200740 90 7F 00 10 */ stw r3, 0x10(r31) -/* 80200744 90 7F 00 08 */ stw r3, 8(r31) -/* 80200748 38 00 00 08 */ li r0, 8 -/* 8020074C B0 1F 00 94 */ sth r0, 0x94(r31) -/* 80200750 38 00 00 06 */ li r0, 6 -/* 80200754 B0 1F 00 96 */ sth r0, 0x96(r31) -/* 80200758 98 7F 02 F2 */ stb r3, 0x2f2(r31) -/* 8020075C C0 22 AC F4 */ lfs f1, lit_4416(r2) -/* 80200760 D0 3F 00 9C */ stfs f1, 0x9c(r31) -/* 80200764 C0 02 AB 5C */ lfs f0, lit_3915(r2) -/* 80200768 D0 1F 00 A0 */ stfs f0, 0xa0(r31) -/* 8020076C C0 02 AC F8 */ lfs f0, lit_4417(r2) -/* 80200770 D0 1F 00 A8 */ stfs f0, 0xa8(r31) -/* 80200774 D0 3F 00 A4 */ stfs f1, 0xa4(r31) -/* 80200778 98 7F 02 FF */ stb r3, 0x2ff(r31) -/* 8020077C 98 7F 03 00 */ stb r3, 0x300(r31) -/* 80200780 98 7F 03 01 */ stb r3, 0x301(r31) -/* 80200784 98 7F 02 F3 */ stb r3, 0x2f3(r31) -/* 80200788 98 7F 02 F4 */ stb r3, 0x2f4(r31) -/* 8020078C 98 7F 02 F5 */ stb r3, 0x2f5(r31) -/* 80200790 98 7F 02 F6 */ stb r3, 0x2f6(r31) -/* 80200794 98 7F 02 F7 */ stb r3, 0x2f7(r31) -/* 80200798 C0 02 AB B8 */ lfs f0, lit_4074(r2) -/* 8020079C D0 1F 00 D8 */ stfs f0, 0xd8(r31) -/* 802007A0 D0 1F 00 D0 */ stfs f0, 0xd0(r31) -/* 802007A4 C0 42 AA E0 */ lfs f2, lit_3787(r2) -/* 802007A8 D0 5F 00 D4 */ stfs f2, 0xd4(r31) -/* 802007AC D0 1F 00 DC */ stfs f0, 0xdc(r31) -/* 802007B0 C0 22 AB 70 */ lfs f1, lit_4028(r2) -/* 802007B4 D0 3F 00 C8 */ stfs f1, 0xc8(r31) -/* 802007B8 D0 3F 00 C0 */ stfs f1, 0xc0(r31) -/* 802007BC C0 02 AB 3C */ lfs f0, lit_3903(r2) -/* 802007C0 D0 1F 00 C4 */ stfs f0, 0xc4(r31) -/* 802007C4 D0 3F 00 CC */ stfs f1, 0xcc(r31) -/* 802007C8 C0 02 AC 18 */ lfs f0, lit_4130(r2) -/* 802007CC D0 1F 00 E0 */ stfs f0, 0xe0(r31) -/* 802007D0 D0 5F 00 E4 */ stfs f2, 0xe4(r31) -/* 802007D4 C0 42 AA F8 */ lfs f2, lit_3793(r2) -/* 802007D8 C0 22 AC FC */ lfs f1, lit_4418(r2) -/* 802007DC C0 02 AD 00 */ lfs f0, lit_4419(r2) -/* 802007E0 38 00 00 08 */ li r0, 8 -/* 802007E4 7C 09 03 A6 */ mtctr r0 -lbl_802007E8: -/* 802007E8 7C 9F 1A 14 */ add r4, r31, r3 -/* 802007EC D0 44 01 6C */ stfs f2, 0x16c(r4) -/* 802007F0 D0 44 01 8C */ stfs f2, 0x18c(r4) -/* 802007F4 D0 44 01 AC */ stfs f2, 0x1ac(r4) -/* 802007F8 D0 24 01 CC */ stfs f1, 0x1cc(r4) -/* 802007FC D0 24 01 EC */ stfs f1, 0x1ec(r4) -/* 80200800 D0 04 02 0C */ stfs f0, 0x20c(r4) -/* 80200804 D0 04 02 2C */ stfs f0, 0x22c(r4) -/* 80200808 38 63 00 04 */ addi r3, r3, 4 -/* 8020080C 42 00 FF DC */ bdnz lbl_802007E8 -/* 80200810 39 40 00 00 */ li r10, 0 -/* 80200814 99 5F 03 06 */ stb r10, 0x306(r31) -/* 80200818 99 5F 03 07 */ stb r10, 0x307(r31) -/* 8020081C 38 60 00 01 */ li r3, 1 -/* 80200820 98 7F 03 08 */ stb r3, 0x308(r31) -/* 80200824 99 5F 03 09 */ stb r10, 0x309(r31) -/* 80200828 C0 02 AD 04 */ lfs f0, lit_4420(r2) -/* 8020082C D0 1F 00 AC */ stfs f0, 0xac(r31) -/* 80200830 C0 02 AD 08 */ lfs f0, lit_4421(r2) -/* 80200834 D0 1F 00 B0 */ stfs f0, 0xb0(r31) -/* 80200838 C0 02 AD 0C */ lfs f0, lit_4422(r2) -/* 8020083C D0 1F 00 B4 */ stfs f0, 0xb4(r31) -/* 80200840 99 5F 02 F8 */ stb r10, 0x2f8(r31) -/* 80200844 C0 82 AA E0 */ lfs f4, lit_3787(r2) -/* 80200848 D0 9F 00 B8 */ stfs f4, 0xb8(r31) -/* 8020084C C0 02 AB C0 */ lfs f0, lit_4076(r2) -/* 80200850 D0 1F 00 BC */ stfs f0, 0xbc(r31) -/* 80200854 99 5F 02 F9 */ stb r10, 0x2f9(r31) -/* 80200858 99 5F 02 FA */ stb r10, 0x2fa(r31) -/* 8020085C 99 5F 02 FB */ stb r10, 0x2fb(r31) -/* 80200860 99 5F 03 0A */ stb r10, 0x30a(r31) -/* 80200864 99 5F 02 FC */ stb r10, 0x2fc(r31) -/* 80200868 98 7F 03 02 */ stb r3, 0x302(r31) -/* 8020086C D0 9F 02 4C */ stfs f4, 0x24c(r31) -/* 80200870 C0 02 AD 10 */ lfs f0, lit_4423(r2) -/* 80200874 D0 1F 02 50 */ stfs f0, 0x250(r31) -/* 80200878 39 20 00 FF */ li r9, 0xff -/* 8020087C 99 3F 02 58 */ stb r9, 0x258(r31) -/* 80200880 99 3F 02 59 */ stb r9, 0x259(r31) -/* 80200884 99 3F 02 5A */ stb r9, 0x25a(r31) -/* 80200888 99 3F 02 5B */ stb r9, 0x25b(r31) -/* 8020088C 99 5F 02 54 */ stb r10, 0x254(r31) -/* 80200890 38 00 00 B6 */ li r0, 0xb6 -/* 80200894 98 1F 02 55 */ stb r0, 0x255(r31) -/* 80200898 99 3F 02 56 */ stb r9, 0x256(r31) -/* 8020089C 99 5F 02 57 */ stb r10, 0x257(r31) -/* 802008A0 99 5F 02 EC */ stb r10, 0x2ec(r31) -/* 802008A4 99 5F 02 FD */ stb r10, 0x2fd(r31) -/* 802008A8 99 5F 02 FE */ stb r10, 0x2fe(r31) -/* 802008AC 99 5F 03 03 */ stb r10, 0x303(r31) -/* 802008B0 99 5F 03 04 */ stb r10, 0x304(r31) -/* 802008B4 98 7F 03 05 */ stb r3, 0x305(r31) -/* 802008B8 C0 02 AC 10 */ lfs f0, lit_4128(r2) -/* 802008BC D0 1F 00 E8 */ stfs f0, 0xe8(r31) -/* 802008C0 C0 02 AD 14 */ lfs f0, lit_4424(r2) -/* 802008C4 D0 1F 00 EC */ stfs f0, 0xec(r31) -/* 802008C8 C0 02 AD 18 */ lfs f0, lit_4425(r2) -/* 802008CC D0 1F 00 F0 */ stfs f0, 0xf0(r31) -/* 802008D0 C0 02 AB CC */ lfs f0, lit_4079(r2) -/* 802008D4 D0 1F 00 F4 */ stfs f0, 0xf4(r31) -/* 802008D8 C0 02 AD 1C */ lfs f0, lit_4426(r2) -/* 802008DC D0 1F 00 F8 */ stfs f0, 0xf8(r31) -/* 802008E0 C0 62 AB 04 */ lfs f3, lit_3796(r2) -/* 802008E4 D0 7F 00 FC */ stfs f3, 0xfc(r31) -/* 802008E8 C0 42 AC 84 */ lfs f2, lit_4281(r2) -/* 802008EC D0 5F 01 00 */ stfs f2, 0x100(r31) -/* 802008F0 C0 22 AB 34 */ lfs f1, lit_3867(r2) -/* 802008F4 D0 3F 01 04 */ stfs f1, 0x104(r31) -/* 802008F8 D0 9F 01 08 */ stfs f4, 0x108(r31) -/* 802008FC C0 02 AC 8C */ lfs f0, lit_4283(r2) -/* 80200900 D0 1F 01 0C */ stfs f0, 0x10c(r31) -/* 80200904 D0 3F 01 10 */ stfs f1, 0x110(r31) -/* 80200908 D0 7F 01 14 */ stfs f3, 0x114(r31) -/* 8020090C D0 5F 01 18 */ stfs f2, 0x118(r31) -/* 80200910 C0 02 AB A4 */ lfs f0, lit_4041(r2) -/* 80200914 D0 1F 01 1C */ stfs f0, 0x11c(r31) -/* 80200918 D0 7F 01 20 */ stfs f3, 0x120(r31) -/* 8020091C 99 5F 02 ED */ stb r10, 0x2ed(r31) -/* 80200920 C0 02 AB 10 */ lfs f0, lit_3799(r2) -/* 80200924 D0 1F 01 24 */ stfs f0, 0x124(r31) -/* 80200928 D0 1F 01 28 */ stfs f0, 0x128(r31) -/* 8020092C C0 22 AC 44 */ lfs f1, lit_4265(r2) -/* 80200930 D0 3F 01 2C */ stfs f1, 0x12c(r31) -/* 80200934 C0 02 AD 20 */ lfs f0, lit_4427(r2) -/* 80200938 D0 1F 01 30 */ stfs f0, 0x130(r31) -/* 8020093C D0 9F 01 34 */ stfs f4, 0x134(r31) -/* 80200940 D0 3F 01 38 */ stfs f1, 0x138(r31) -/* 80200944 C0 02 AC 7C */ lfs f0, lit_4279(r2) -/* 80200948 D0 1F 01 3C */ stfs f0, 0x13c(r31) -/* 8020094C D0 1F 01 40 */ stfs f0, 0x140(r31) -/* 80200950 C0 02 AD 24 */ lfs f0, lit_4428(r2) -/* 80200954 D0 1F 01 44 */ stfs f0, 0x144(r31) -/* 80200958 C0 02 AB 5C */ lfs f0, lit_3915(r2) -/* 8020095C D0 1F 01 48 */ stfs f0, 0x148(r31) -/* 80200960 C0 02 AB 98 */ lfs f0, lit_4038(r2) -/* 80200964 D0 1F 01 4C */ stfs f0, 0x14c(r31) -/* 80200968 C0 22 AB 6C */ lfs f1, lit_3957(r2) -/* 8020096C D0 3F 01 50 */ stfs f1, 0x150(r31) -/* 80200970 C0 02 AD 28 */ lfs f0, lit_4429(r2) -/* 80200974 D0 1F 01 54 */ stfs f0, 0x154(r31) -/* 80200978 C0 02 AC 40 */ lfs f0, lit_4264(r2) -/* 8020097C D0 1F 01 58 */ stfs f0, 0x158(r31) -/* 80200980 D0 3F 01 5C */ stfs f1, 0x15c(r31) -/* 80200984 C0 02 AD 2C */ lfs f0, lit_4430(r2) -/* 80200988 D0 1F 01 60 */ stfs f0, 0x160(r31) -/* 8020098C C0 02 AB 3C */ lfs f0, lit_3903(r2) -/* 80200990 D0 1F 01 64 */ stfs f0, 0x164(r31) -/* 80200994 D0 3F 01 68 */ stfs f1, 0x168(r31) -/* 80200998 38 00 00 1D */ li r0, 0x1d -/* 8020099C 98 1F 00 1C */ stb r0, 0x1c(r31) -/* 802009A0 38 00 00 18 */ li r0, 0x18 -/* 802009A4 98 1F 00 1D */ stb r0, 0x1d(r31) -/* 802009A8 99 5F 00 1E */ stb r10, 0x1e(r31) -/* 802009AC 99 5F 00 1F */ stb r10, 0x1f(r31) -/* 802009B0 99 3F 00 20 */ stb r9, 0x20(r31) -/* 802009B4 99 3F 00 21 */ stb r9, 0x21(r31) -/* 802009B8 99 3F 00 22 */ stb r9, 0x22(r31) -/* 802009BC 99 3F 00 23 */ stb r9, 0x23(r31) -/* 802009C0 99 3F 00 26 */ stb r9, 0x26(r31) -/* 802009C4 38 00 00 C8 */ li r0, 0xc8 -/* 802009C8 98 1F 00 27 */ stb r0, 0x27(r31) -/* 802009CC 39 00 00 3C */ li r8, 0x3c -/* 802009D0 B1 1F 00 24 */ sth r8, 0x24(r31) -/* 802009D4 99 5F 00 28 */ stb r10, 0x28(r31) -/* 802009D8 99 5F 00 29 */ stb r10, 0x29(r31) -/* 802009DC 99 5F 00 2A */ stb r10, 0x2a(r31) -/* 802009E0 99 5F 00 2B */ stb r10, 0x2b(r31) -/* 802009E4 38 00 00 AA */ li r0, 0xaa -/* 802009E8 98 1F 00 2C */ stb r0, 0x2c(r31) -/* 802009EC 98 1F 00 2D */ stb r0, 0x2d(r31) -/* 802009F0 98 1F 00 2E */ stb r0, 0x2e(r31) -/* 802009F4 99 3F 00 2F */ stb r9, 0x2f(r31) -/* 802009F8 99 3F 00 32 */ stb r9, 0x32(r31) -/* 802009FC 99 3F 00 33 */ stb r9, 0x33(r31) -/* 80200A00 B1 5F 00 30 */ sth r10, 0x30(r31) -/* 80200A04 99 5F 00 34 */ stb r10, 0x34(r31) -/* 80200A08 38 E0 00 14 */ li r7, 0x14 -/* 80200A0C 98 FF 00 35 */ stb r7, 0x35(r31) -/* 80200A10 38 C0 00 50 */ li r6, 0x50 -/* 80200A14 98 DF 00 36 */ stb r6, 0x36(r31) -/* 80200A18 99 5F 00 37 */ stb r10, 0x37(r31) -/* 80200A1C 38 A0 00 1E */ li r5, 0x1e -/* 80200A20 98 BF 00 38 */ stb r5, 0x38(r31) -/* 80200A24 38 80 00 5F */ li r4, 0x5f -/* 80200A28 98 9F 00 39 */ stb r4, 0x39(r31) -/* 80200A2C 38 60 00 BE */ li r3, 0xbe -/* 80200A30 98 7F 00 3A */ stb r3, 0x3a(r31) -/* 80200A34 99 5F 00 3B */ stb r10, 0x3b(r31) -/* 80200A38 99 5F 00 3C */ stb r10, 0x3c(r31) -/* 80200A3C 99 5F 00 3D */ stb r10, 0x3d(r31) -/* 80200A40 99 5F 00 3E */ stb r10, 0x3e(r31) -/* 80200A44 99 5F 00 3F */ stb r10, 0x3f(r31) -/* 80200A48 99 5F 00 40 */ stb r10, 0x40(r31) -/* 80200A4C 99 5F 00 41 */ stb r10, 0x41(r31) -/* 80200A50 99 5F 00 42 */ stb r10, 0x42(r31) -/* 80200A54 99 3F 00 43 */ stb r9, 0x43(r31) -/* 80200A58 99 5F 00 44 */ stb r10, 0x44(r31) -/* 80200A5C 99 5F 00 45 */ stb r10, 0x45(r31) -/* 80200A60 99 5F 00 46 */ stb r10, 0x46(r31) -/* 80200A64 99 5F 00 47 */ stb r10, 0x47(r31) -/* 80200A68 99 3F 00 48 */ stb r9, 0x48(r31) -/* 80200A6C 99 3F 00 49 */ stb r9, 0x49(r31) -/* 80200A70 99 3F 00 4A */ stb r9, 0x4a(r31) -/* 80200A74 99 3F 00 4B */ stb r9, 0x4b(r31) -/* 80200A78 38 00 00 54 */ li r0, 0x54 -/* 80200A7C 98 1F 00 4E */ stb r0, 0x4e(r31) -/* 80200A80 98 1F 00 4F */ stb r0, 0x4f(r31) -/* 80200A84 B1 1F 00 4C */ sth r8, 0x4c(r31) -/* 80200A88 99 5F 00 50 */ stb r10, 0x50(r31) -/* 80200A8C 99 5F 00 51 */ stb r10, 0x51(r31) -/* 80200A90 99 5F 00 52 */ stb r10, 0x52(r31) -/* 80200A94 99 5F 00 53 */ stb r10, 0x53(r31) -/* 80200A98 38 00 00 30 */ li r0, 0x30 -/* 80200A9C 98 1F 00 54 */ stb r0, 0x54(r31) -/* 80200AA0 98 1F 00 55 */ stb r0, 0x55(r31) -/* 80200AA4 98 1F 00 56 */ stb r0, 0x56(r31) -/* 80200AA8 99 3F 00 57 */ stb r9, 0x57(r31) -/* 80200AAC 99 3F 00 5A */ stb r9, 0x5a(r31) -/* 80200AB0 99 3F 00 5B */ stb r9, 0x5b(r31) -/* 80200AB4 B1 5F 00 58 */ sth r10, 0x58(r31) -/* 80200AB8 99 5F 00 5C */ stb r10, 0x5c(r31) -/* 80200ABC 98 FF 00 5D */ stb r7, 0x5d(r31) -/* 80200AC0 98 DF 00 5E */ stb r6, 0x5e(r31) -/* 80200AC4 99 5F 00 5F */ stb r10, 0x5f(r31) -/* 80200AC8 98 BF 00 60 */ stb r5, 0x60(r31) -/* 80200ACC 98 9F 00 61 */ stb r4, 0x61(r31) -/* 80200AD0 98 7F 00 62 */ stb r3, 0x62(r31) -/* 80200AD4 99 5F 00 63 */ stb r10, 0x63(r31) -/* 80200AD8 99 5F 00 64 */ stb r10, 0x64(r31) -/* 80200ADC 99 5F 00 65 */ stb r10, 0x65(r31) -/* 80200AE0 99 5F 00 66 */ stb r10, 0x66(r31) -/* 80200AE4 99 5F 00 67 */ stb r10, 0x67(r31) -/* 80200AE8 99 5F 00 68 */ stb r10, 0x68(r31) -/* 80200AEC 99 5F 00 69 */ stb r10, 0x69(r31) -/* 80200AF0 99 5F 00 6A */ stb r10, 0x6a(r31) -/* 80200AF4 99 3F 00 6B */ stb r9, 0x6b(r31) -/* 80200AF8 99 5F 00 6C */ stb r10, 0x6c(r31) -/* 80200AFC 99 5F 00 6D */ stb r10, 0x6d(r31) -/* 80200B00 99 5F 00 6E */ stb r10, 0x6e(r31) -/* 80200B04 99 5F 00 6F */ stb r10, 0x6f(r31) -/* 80200B08 99 3F 00 70 */ stb r9, 0x70(r31) -/* 80200B0C 99 3F 00 71 */ stb r9, 0x71(r31) -/* 80200B10 99 3F 00 72 */ stb r9, 0x72(r31) -/* 80200B14 99 3F 00 73 */ stb r9, 0x73(r31) -/* 80200B18 38 00 00 28 */ li r0, 0x28 -/* 80200B1C 98 1F 00 76 */ stb r0, 0x76(r31) -/* 80200B20 98 1F 00 77 */ stb r0, 0x77(r31) -/* 80200B24 B1 1F 00 74 */ sth r8, 0x74(r31) -/* 80200B28 99 5F 00 78 */ stb r10, 0x78(r31) -/* 80200B2C 99 5F 00 79 */ stb r10, 0x79(r31) -/* 80200B30 99 5F 00 7A */ stb r10, 0x7a(r31) -/* 80200B34 99 5F 00 7B */ stb r10, 0x7b(r31) -/* 80200B38 38 00 00 16 */ li r0, 0x16 -/* 80200B3C 98 1F 00 7C */ stb r0, 0x7c(r31) -/* 80200B40 98 1F 00 7D */ stb r0, 0x7d(r31) -/* 80200B44 98 1F 00 7E */ stb r0, 0x7e(r31) -/* 80200B48 99 3F 00 7F */ stb r9, 0x7f(r31) -/* 80200B4C 99 3F 00 82 */ stb r9, 0x82(r31) -/* 80200B50 99 3F 00 83 */ stb r9, 0x83(r31) -/* 80200B54 B1 5F 00 80 */ sth r10, 0x80(r31) -/* 80200B58 99 5F 00 84 */ stb r10, 0x84(r31) -/* 80200B5C 98 FF 00 85 */ stb r7, 0x85(r31) -/* 80200B60 98 DF 00 86 */ stb r6, 0x86(r31) -/* 80200B64 99 5F 00 87 */ stb r10, 0x87(r31) -/* 80200B68 98 BF 00 88 */ stb r5, 0x88(r31) -/* 80200B6C 98 9F 00 89 */ stb r4, 0x89(r31) -/* 80200B70 98 7F 00 8A */ stb r3, 0x8a(r31) -/* 80200B74 99 5F 00 8B */ stb r10, 0x8b(r31) -/* 80200B78 99 5F 00 8C */ stb r10, 0x8c(r31) -/* 80200B7C 99 5F 00 8D */ stb r10, 0x8d(r31) -/* 80200B80 99 5F 00 8E */ stb r10, 0x8e(r31) -/* 80200B84 99 5F 00 8F */ stb r10, 0x8f(r31) -/* 80200B88 99 5F 00 90 */ stb r10, 0x90(r31) -/* 80200B8C 99 5F 00 91 */ stb r10, 0x91(r31) -/* 80200B90 99 5F 00 92 */ stb r10, 0x92(r31) -/* 80200B94 99 3F 00 93 */ stb r9, 0x93(r31) -/* 80200B98 38 60 00 00 */ li r3, 0 -/* 80200B9C 38 00 00 08 */ li r0, 8 -/* 80200BA0 7C 09 03 A6 */ mtctr r0 -lbl_80200BA4: -/* 80200BA4 38 03 03 0B */ addi r0, r3, 0x30b -/* 80200BA8 7D 5F 01 AE */ stbx r10, r31, r0 -/* 80200BAC 38 63 00 01 */ addi r3, r3, 1 -/* 80200BB0 42 00 FF F4 */ bdnz lbl_80200BA4 -/* 80200BB4 7F E3 FB 78 */ mr r3, r31 -/* 80200BB8 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80200BBC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80200BC0 7C 08 03 A6 */ mtlr r0 -/* 80200BC4 38 21 00 10 */ addi r1, r1, 0x10 -/* 80200BC8 4E 80 00 20 */ blr diff --git a/asm/d/meter/d_meter_HIO/__ct__16dMeter_menuHIO_cFv.s b/asm/d/meter/d_meter_HIO/__ct__16dMeter_menuHIO_cFv.s deleted file mode 100644 index 3078b6f160..0000000000 --- a/asm/d/meter/d_meter_HIO/__ct__16dMeter_menuHIO_cFv.s +++ /dev/null @@ -1,7 +0,0 @@ -lbl_801FE330: -/* 801FE330 3C 80 80 3C */ lis r4, __vt__16dMeter_menuHIO_c@ha /* 0x803BF19C@ha */ -/* 801FE334 38 04 F1 9C */ addi r0, r4, __vt__16dMeter_menuHIO_c@l /* 0x803BF19C@l */ -/* 801FE338 90 03 00 00 */ stw r0, 0(r3) -/* 801FE33C 38 00 00 46 */ li r0, 0x46 -/* 801FE340 B0 03 00 06 */ sth r0, 6(r3) -/* 801FE344 4E 80 00 20 */ blr diff --git a/asm/d/meter/d_meter_HIO/__ct__16dMeter_ringHIO_cFv.s b/asm/d/meter/d_meter_HIO/__ct__16dMeter_ringHIO_cFv.s deleted file mode 100644 index 077a45f1a7..0000000000 --- a/asm/d/meter/d_meter_HIO/__ct__16dMeter_ringHIO_cFv.s +++ /dev/null @@ -1,196 +0,0 @@ -lbl_802001AC: -/* 802001AC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802001B0 7C 08 02 A6 */ mflr r0 -/* 802001B4 90 01 00 14 */ stw r0, 0x14(r1) -/* 802001B8 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802001BC 7C 7F 1B 78 */ mr r31, r3 -/* 802001C0 3C 60 80 3C */ lis r3, __vt__16dMeter_ringHIO_c@ha /* 0x803BF10C@ha */ -/* 802001C4 38 03 F1 0C */ addi r0, r3, __vt__16dMeter_ringHIO_c@l /* 0x803BF10C@l */ -/* 802001C8 90 1F 00 00 */ stw r0, 0(r31) -/* 802001CC 38 00 FF FF */ li r0, -1 -/* 802001D0 90 1F 00 D0 */ stw r0, 0xd0(r31) -/* 802001D4 90 1F 00 D4 */ stw r0, 0xd4(r31) -/* 802001D8 90 1F 00 D8 */ stw r0, 0xd8(r31) -/* 802001DC 90 1F 00 DC */ stw r0, 0xdc(r31) -/* 802001E0 38 7F 01 30 */ addi r3, r31, 0x130 -/* 802001E4 3C 80 80 19 */ lis r4, __ct__Q28JUtility6TColorFv@ha /* 0x80193960@ha */ -/* 802001E8 38 84 39 60 */ addi r4, r4, __ct__Q28JUtility6TColorFv@l /* 0x80193960@l */ -/* 802001EC 38 A0 00 00 */ li r5, 0 -/* 802001F0 38 C0 00 04 */ li r6, 4 -/* 802001F4 38 E0 00 02 */ li r7, 2 -/* 802001F8 48 16 1B 69 */ bl __construct_array -/* 802001FC C0 02 AB 88 */ lfs f0, lit_4034(r2) -/* 80200200 D0 1F 00 08 */ stfs f0, 8(r31) -/* 80200204 C0 02 AB DC */ lfs f0, lit_4083(r2) -/* 80200208 D0 1F 00 0C */ stfs f0, 0xc(r31) -/* 8020020C 38 00 00 05 */ li r0, 5 -/* 80200210 B0 1F 01 3A */ sth r0, 0x13a(r31) -/* 80200214 B0 1F 01 3C */ sth r0, 0x13c(r31) -/* 80200218 C0 22 AB D4 */ lfs f1, lit_4081(r2) -/* 8020021C D0 3F 00 14 */ stfs f1, 0x14(r31) -/* 80200220 C0 02 AB 04 */ lfs f0, lit_3796(r2) -/* 80200224 D0 1F 00 1C */ stfs f0, 0x1c(r31) -/* 80200228 D0 3F 00 18 */ stfs f1, 0x18(r31) -/* 8020022C C0 62 AA E0 */ lfs f3, lit_3787(r2) -/* 80200230 D0 7F 00 20 */ stfs f3, 0x20(r31) -/* 80200234 C0 22 AB AC */ lfs f1, lit_4071(r2) -/* 80200238 D0 3F 00 28 */ stfs f1, 0x28(r31) -/* 8020023C 38 00 00 08 */ li r0, 8 -/* 80200240 98 1F 01 4F */ stb r0, 0x14f(r31) -/* 80200244 C0 02 AC 30 */ lfs f0, lit_4260(r2) -/* 80200248 D0 1F 00 24 */ stfs f0, 0x24(r31) -/* 8020024C 38 00 01 2C */ li r0, 0x12c -/* 80200250 B0 1F 01 38 */ sth r0, 0x138(r31) -/* 80200254 38 80 00 FF */ li r4, 0xff -/* 80200258 98 9F 01 55 */ stb r4, 0x155(r31) -/* 8020025C 98 9F 01 56 */ stb r4, 0x156(r31) -/* 80200260 38 60 00 00 */ li r3, 0 -/* 80200264 98 7F 01 4E */ stb r3, 0x14e(r31) -/* 80200268 98 9F 01 51 */ stb r4, 0x151(r31) -/* 8020026C 38 00 00 6E */ li r0, 0x6e -/* 80200270 98 1F 01 52 */ stb r0, 0x152(r31) -/* 80200274 98 9F 01 30 */ stb r4, 0x130(r31) -/* 80200278 98 9F 01 31 */ stb r4, 0x131(r31) -/* 8020027C 98 9F 01 32 */ stb r4, 0x132(r31) -/* 80200280 98 7F 01 33 */ stb r3, 0x133(r31) -/* 80200284 98 9F 01 34 */ stb r4, 0x134(r31) -/* 80200288 98 9F 01 35 */ stb r4, 0x135(r31) -/* 8020028C 38 00 00 8C */ li r0, 0x8c -/* 80200290 98 1F 01 36 */ stb r0, 0x136(r31) -/* 80200294 98 7F 01 37 */ stb r3, 0x137(r31) -/* 80200298 C0 02 AC AC */ lfs f0, lit_4334(r2) -/* 8020029C D0 1F 00 2C */ stfs f0, 0x2c(r31) -/* 802002A0 C0 02 AC B0 */ lfs f0, lit_4335(r2) -/* 802002A4 D0 1F 00 30 */ stfs f0, 0x30(r31) -/* 802002A8 D0 3F 00 34 */ stfs f1, 0x34(r31) -/* 802002AC C0 42 AA F8 */ lfs f2, lit_3793(r2) -/* 802002B0 D0 5F 00 38 */ stfs f2, 0x38(r31) -/* 802002B4 D0 5F 00 3C */ stfs f2, 0x3c(r31) -/* 802002B8 D0 7F 00 40 */ stfs f3, 0x40(r31) -/* 802002BC C0 02 AC B4 */ lfs f0, lit_4336(r2) -/* 802002C0 D0 1F 00 50 */ stfs f0, 0x50(r31) -/* 802002C4 C0 02 AC B8 */ lfs f0, lit_4337(r2) -/* 802002C8 D0 1F 00 54 */ stfs f0, 0x54(r31) -/* 802002CC C0 02 AC BC */ lfs f0, lit_4338(r2) -/* 802002D0 D0 1F 00 7C */ stfs f0, 0x7c(r31) -/* 802002D4 C0 22 AA F4 */ lfs f1, lit_3792(r2) -/* 802002D8 D0 3F 00 A4 */ stfs f1, 0xa4(r31) -/* 802002DC C0 02 AC C0 */ lfs f0, lit_4339(r2) -/* 802002E0 D0 1F 00 58 */ stfs f0, 0x58(r31) -/* 802002E4 C0 02 AC C4 */ lfs f0, lit_4340(r2) -/* 802002E8 D0 1F 00 80 */ stfs f0, 0x80(r31) -/* 802002EC D0 3F 00 A8 */ stfs f1, 0xa8(r31) -/* 802002F0 D0 5F 00 5C */ stfs f2, 0x5c(r31) -/* 802002F4 D0 5F 00 84 */ stfs f2, 0x84(r31) -/* 802002F8 D0 7F 00 AC */ stfs f3, 0xac(r31) -/* 802002FC C0 02 AC C8 */ lfs f0, lit_4341(r2) -/* 80200300 D0 1F 00 60 */ stfs f0, 0x60(r31) -/* 80200304 C0 02 AC CC */ lfs f0, lit_4342(r2) -/* 80200308 D0 1F 00 88 */ stfs f0, 0x88(r31) -/* 8020030C D0 3F 00 B0 */ stfs f1, 0xb0(r31) -/* 80200310 C0 02 AC 5C */ lfs f0, lit_4271(r2) -/* 80200314 D0 1F 00 64 */ stfs f0, 0x64(r31) -/* 80200318 C0 02 AC 74 */ lfs f0, lit_4277(r2) -/* 8020031C D0 1F 00 8C */ stfs f0, 0x8c(r31) -/* 80200320 C0 22 AC 98 */ lfs f1, lit_4286(r2) -/* 80200324 D0 3F 00 B4 */ stfs f1, 0xb4(r31) -/* 80200328 38 60 00 14 */ li r3, 0x14 -/* 8020032C C0 02 AC 34 */ lfs f0, lit_4261(r2) -/* 80200330 38 00 00 05 */ li r0, 5 -/* 80200334 7C 09 03 A6 */ mtctr r0 -lbl_80200338: -/* 80200338 7C 9F 1A 14 */ add r4, r31, r3 -/* 8020033C D0 44 00 54 */ stfs f2, 0x54(r4) -/* 80200340 D0 04 00 7C */ stfs f0, 0x7c(r4) -/* 80200344 D0 24 00 A4 */ stfs f1, 0xa4(r4) -/* 80200348 38 63 00 04 */ addi r3, r3, 4 -/* 8020034C 42 00 FF EC */ bdnz lbl_80200338 -/* 80200350 C0 02 AC 94 */ lfs f0, lit_4285(r2) -/* 80200354 D0 1F 00 E4 */ stfs f0, 0xe4(r31) -/* 80200358 C0 02 AB 78 */ lfs f0, lit_4030(r2) -/* 8020035C D0 1F 00 E8 */ stfs f0, 0xe8(r31) -/* 80200360 C0 02 AA F4 */ lfs f0, lit_3792(r2) -/* 80200364 D0 1F 00 EC */ stfs f0, 0xec(r31) -/* 80200368 C0 02 AC 98 */ lfs f0, lit_4286(r2) -/* 8020036C D0 1F 00 F0 */ stfs f0, 0xf0(r31) -/* 80200370 C0 42 AA F8 */ lfs f2, lit_3793(r2) -/* 80200374 D0 5F 00 F4 */ stfs f2, 0xf4(r31) -/* 80200378 C0 02 AC D0 */ lfs f0, lit_4343(r2) -/* 8020037C D0 1F 00 F8 */ stfs f0, 0xf8(r31) -/* 80200380 C0 02 AB 6C */ lfs f0, lit_3957(r2) -/* 80200384 D0 1F 00 FC */ stfs f0, 0xfc(r31) -/* 80200388 C0 22 AA E0 */ lfs f1, lit_3787(r2) -/* 8020038C D0 3F 01 00 */ stfs f1, 0x100(r31) -/* 80200390 C0 02 AC D4 */ lfs f0, lit_4344(r2) -/* 80200394 D0 1F 01 04 */ stfs f0, 0x104(r31) -/* 80200398 D0 5F 01 08 */ stfs f2, 0x108(r31) -/* 8020039C C0 02 AA E8 */ lfs f0, lit_3789(r2) -/* 802003A0 D0 1F 01 0C */ stfs f0, 0x10c(r31) -/* 802003A4 C0 02 AC D8 */ lfs f0, lit_4345(r2) -/* 802003A8 D0 1F 01 10 */ stfs f0, 0x110(r31) -/* 802003AC C0 02 AA FC */ lfs f0, lit_3794(r2) -/* 802003B0 D0 1F 01 14 */ stfs f0, 0x114(r31) -/* 802003B4 C0 02 AC DC */ lfs f0, lit_4346(r2) -/* 802003B8 D0 1F 01 18 */ stfs f0, 0x118(r31) -/* 802003BC C0 02 AB A8 */ lfs f0, lit_4042(r2) -/* 802003C0 D0 1F 01 1C */ stfs f0, 0x11c(r31) -/* 802003C4 C0 02 AB 64 */ lfs f0, lit_3921(r2) -/* 802003C8 D0 1F 01 20 */ stfs f0, 0x120(r31) -/* 802003CC C0 02 AC B4 */ lfs f0, lit_4336(r2) -/* 802003D0 D0 1F 01 24 */ stfs f0, 0x124(r31) -/* 802003D4 C0 02 AA E4 */ lfs f0, lit_3788(r2) -/* 802003D8 D0 1F 01 28 */ stfs f0, 0x128(r31) -/* 802003DC D0 1F 01 2C */ stfs f0, 0x12c(r31) -/* 802003E0 C0 02 AB 70 */ lfs f0, lit_4028(r2) -/* 802003E4 D0 1F 00 CC */ stfs f0, 0xcc(r31) -/* 802003E8 38 80 00 FF */ li r4, 0xff -/* 802003EC 98 9F 00 D0 */ stb r4, 0xd0(r31) -/* 802003F0 98 9F 00 D1 */ stb r4, 0xd1(r31) -/* 802003F4 98 9F 00 D2 */ stb r4, 0xd2(r31) -/* 802003F8 38 00 00 B9 */ li r0, 0xb9 -/* 802003FC 98 1F 00 D3 */ stb r0, 0xd3(r31) -/* 80200400 38 60 00 00 */ li r3, 0 -/* 80200404 98 7F 00 D4 */ stb r3, 0xd4(r31) -/* 80200408 38 00 00 9B */ li r0, 0x9b -/* 8020040C 98 1F 00 D5 */ stb r0, 0xd5(r31) -/* 80200410 98 7F 00 D6 */ stb r3, 0xd6(r31) -/* 80200414 98 7F 00 D7 */ stb r3, 0xd7(r31) -/* 80200418 98 9F 00 D8 */ stb r4, 0xd8(r31) -/* 8020041C 98 9F 00 D9 */ stb r4, 0xd9(r31) -/* 80200420 98 9F 00 DA */ stb r4, 0xda(r31) -/* 80200424 38 00 00 57 */ li r0, 0x57 -/* 80200428 98 1F 00 DB */ stb r0, 0xdb(r31) -/* 8020042C 98 7F 00 DC */ stb r3, 0xdc(r31) -/* 80200430 38 00 00 73 */ li r0, 0x73 -/* 80200434 98 1F 00 DD */ stb r0, 0xdd(r31) -/* 80200438 98 7F 00 DE */ stb r3, 0xde(r31) -/* 8020043C 98 7F 00 DF */ stb r3, 0xdf(r31) -/* 80200440 C0 02 AB 74 */ lfs f0, lit_4029(r2) -/* 80200444 D0 1F 00 E0 */ stfs f0, 0xe0(r31) -/* 80200448 38 00 13 88 */ li r0, 0x1388 -/* 8020044C B0 1F 01 46 */ sth r0, 0x146(r31) -/* 80200450 38 00 27 10 */ li r0, 0x2710 -/* 80200454 B0 1F 01 44 */ sth r0, 0x144(r31) -/* 80200458 B0 7F 01 48 */ sth r3, 0x148(r31) -/* 8020045C 38 00 00 02 */ li r0, 2 -/* 80200460 B0 1F 01 4A */ sth r0, 0x14a(r31) -/* 80200464 C0 02 AC E0 */ lfs f0, lit_4347(r2) -/* 80200468 D0 1F 00 10 */ stfs f0, 0x10(r31) -/* 8020046C 38 00 00 0C */ li r0, 0xc -/* 80200470 B0 1F 01 3E */ sth r0, 0x13e(r31) -/* 80200474 38 00 08 00 */ li r0, 0x800 -/* 80200478 B0 1F 01 40 */ sth r0, 0x140(r31) -/* 8020047C 38 00 00 80 */ li r0, 0x80 -/* 80200480 B0 1F 01 42 */ sth r0, 0x142(r31) -/* 80200484 D0 5F 00 44 */ stfs f2, 0x44(r31) -/* 80200488 D0 5F 00 48 */ stfs f2, 0x48(r31) -/* 8020048C D0 3F 00 4C */ stfs f1, 0x4c(r31) -/* 80200490 98 9F 01 54 */ stb r4, 0x154(r31) -/* 80200494 38 00 00 04 */ li r0, 4 -/* 80200498 B0 1F 01 4C */ sth r0, 0x14c(r31) -/* 8020049C 7F E3 FB 78 */ mr r3, r31 -/* 802004A0 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802004A4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802004A8 7C 08 03 A6 */ mtlr r0 -/* 802004AC 38 21 00 10 */ addi r1, r1, 0x10 -/* 802004B0 4E 80 00 20 */ blr diff --git a/asm/d/meter/d_meter_HIO/__ct__18dMeter_cursorHIO_cFv.s b/asm/d/meter/d_meter_HIO/__ct__18dMeter_cursorHIO_cFv.s deleted file mode 100644 index e48f5c6054..0000000000 --- a/asm/d/meter/d_meter_HIO/__ct__18dMeter_cursorHIO_cFv.s +++ /dev/null @@ -1,34 +0,0 @@ -lbl_80200CD4: -/* 80200CD4 3C 80 80 3C */ lis r4, __vt__18dMeter_cursorHIO_c@ha /* 0x803BF0E8@ha */ -/* 80200CD8 38 04 F0 E8 */ addi r0, r4, __vt__18dMeter_cursorHIO_c@l /* 0x803BF0E8@l */ -/* 80200CDC 90 03 00 00 */ stw r0, 0(r3) -/* 80200CE0 C0 02 AD 24 */ lfs f0, lit_4428(r2) -/* 80200CE4 D0 03 00 2C */ stfs f0, 0x2c(r3) -/* 80200CE8 C0 02 AB D0 */ lfs f0, lit_4080(r2) -/* 80200CEC D0 03 00 30 */ stfs f0, 0x30(r3) -/* 80200CF0 C0 02 AD 30 */ lfs f0, lit_4485(r2) -/* 80200CF4 D0 03 00 34 */ stfs f0, 0x34(r3) -/* 80200CF8 C0 02 AD 34 */ lfs f0, lit_4486(r2) -/* 80200CFC D0 03 00 38 */ stfs f0, 0x38(r3) -/* 80200D00 C0 02 AD 38 */ lfs f0, lit_4487(r2) -/* 80200D04 D0 03 00 08 */ stfs f0, 8(r3) -/* 80200D08 C0 02 AD 3C */ lfs f0, lit_4488(r2) -/* 80200D0C D0 03 00 0C */ stfs f0, 0xc(r3) -/* 80200D10 C0 02 AD 40 */ lfs f0, lit_4489(r2) -/* 80200D14 D0 03 00 10 */ stfs f0, 0x10(r3) -/* 80200D18 38 00 0B B8 */ li r0, 0xbb8 -/* 80200D1C B0 03 00 3C */ sth r0, 0x3c(r3) -/* 80200D20 C0 02 AA F8 */ lfs f0, lit_3793(r2) -/* 80200D24 D0 03 00 14 */ stfs f0, 0x14(r3) -/* 80200D28 D0 03 00 18 */ stfs f0, 0x18(r3) -/* 80200D2C D0 03 00 1C */ stfs f0, 0x1c(r3) -/* 80200D30 38 00 13 88 */ li r0, 0x1388 -/* 80200D34 B0 03 00 3E */ sth r0, 0x3e(r3) -/* 80200D38 D0 03 00 20 */ stfs f0, 0x20(r3) -/* 80200D3C C0 02 AB 5C */ lfs f0, lit_3915(r2) -/* 80200D40 D0 03 00 24 */ stfs f0, 0x24(r3) -/* 80200D44 C0 02 AB E0 */ lfs f0, lit_4084(r2) -/* 80200D48 D0 03 00 28 */ stfs f0, 0x28(r3) -/* 80200D4C 38 00 FE 0C */ li r0, -500 -/* 80200D50 B0 03 00 40 */ sth r0, 0x40(r3) -/* 80200D54 4E 80 00 20 */ blr diff --git a/asm/d/meter/d_meter_HIO/__ct__19dMeter_mapIconHIO_cFv.s b/asm/d/meter/d_meter_HIO/__ct__19dMeter_mapIconHIO_cFv.s deleted file mode 100644 index 08f847f03b..0000000000 --- a/asm/d/meter/d_meter_HIO/__ct__19dMeter_mapIconHIO_cFv.s +++ /dev/null @@ -1,135 +0,0 @@ -lbl_802004B4: -/* 802004B4 3C 80 80 3C */ lis r4, __vt__19dMeter_mapIconHIO_c@ha /* 0x803BF100@ha */ -/* 802004B8 38 04 F1 00 */ addi r0, r4, __vt__19dMeter_mapIconHIO_c@l /* 0x803BF100@l */ -/* 802004BC 90 03 00 00 */ stw r0, 0(r3) -/* 802004C0 C1 02 AB B8 */ lfs f8, lit_4074(r2) -/* 802004C4 D1 03 00 08 */ stfs f8, 8(r3) -/* 802004C8 C0 02 AC E4 */ lfs f0, lit_4357(r2) -/* 802004CC D0 03 00 0C */ stfs f0, 0xc(r3) -/* 802004D0 D1 03 00 10 */ stfs f8, 0x10(r3) -/* 802004D4 C0 E2 AA F4 */ lfs f7, lit_3792(r2) -/* 802004D8 D0 E3 00 18 */ stfs f7, 0x18(r3) -/* 802004DC D1 03 00 F0 */ stfs f8, 0xf0(r3) -/* 802004E0 C0 C2 AC 04 */ lfs f6, lit_4093(r2) -/* 802004E4 D0 C3 00 F8 */ stfs f6, 0xf8(r3) -/* 802004E8 C0 A2 AB 28 */ lfs f5, lit_3830(r2) -/* 802004EC D0 A3 00 70 */ stfs f5, 0x70(r3) -/* 802004F0 C0 02 AB AC */ lfs f0, lit_4071(r2) -/* 802004F4 D0 03 00 78 */ stfs f0, 0x78(r3) -/* 802004F8 D0 A3 00 80 */ stfs f5, 0x80(r3) -/* 802004FC D0 03 00 88 */ stfs f0, 0x88(r3) -/* 80200500 C0 82 AC 18 */ lfs f4, lit_4130(r2) -/* 80200504 D0 83 00 90 */ stfs f4, 0x90(r3) -/* 80200508 C0 02 AC E8 */ lfs f0, lit_4358(r2) -/* 8020050C D0 03 00 98 */ stfs f0, 0x98(r3) -/* 80200510 D0 83 00 A0 */ stfs f4, 0xa0(r3) -/* 80200514 C0 62 AC EC */ lfs f3, lit_4359(r2) -/* 80200518 D0 63 00 A8 */ stfs f3, 0xa8(r3) -/* 8020051C D0 83 00 B0 */ stfs f4, 0xb0(r3) -/* 80200520 D0 63 00 B8 */ stfs f3, 0xb8(r3) -/* 80200524 D0 83 00 C0 */ stfs f4, 0xc0(r3) -/* 80200528 D0 63 00 C8 */ stfs f3, 0xc8(r3) -/* 8020052C D0 83 00 D0 */ stfs f4, 0xd0(r3) -/* 80200530 D0 63 00 D8 */ stfs f3, 0xd8(r3) -/* 80200534 D0 83 00 E0 */ stfs f4, 0xe0(r3) -/* 80200538 C0 02 AA E0 */ lfs f0, lit_3787(r2) -/* 8020053C D0 03 00 E8 */ stfs f0, 0xe8(r3) -/* 80200540 D0 83 00 60 */ stfs f4, 0x60(r3) -/* 80200544 D0 63 00 68 */ stfs f3, 0x68(r3) -/* 80200548 D0 83 00 50 */ stfs f4, 0x50(r3) -/* 8020054C C0 02 AB D4 */ lfs f0, lit_4081(r2) -/* 80200550 D0 03 00 58 */ stfs f0, 0x58(r3) -/* 80200554 C0 42 AC 30 */ lfs f2, lit_4260(r2) -/* 80200558 D0 43 00 40 */ stfs f2, 0x40(r3) -/* 8020055C D0 C3 00 48 */ stfs f6, 0x48(r3) -/* 80200560 D0 83 00 20 */ stfs f4, 0x20(r3) -/* 80200564 D0 63 00 28 */ stfs f3, 0x28(r3) -/* 80200568 D0 83 00 30 */ stfs f4, 0x30(r3) -/* 8020056C D0 63 00 38 */ stfs f3, 0x38(r3) -/* 80200570 D1 03 01 00 */ stfs f8, 0x100(r3) -/* 80200574 D0 C3 01 08 */ stfs f6, 0x108(r3) -/* 80200578 D1 03 01 10 */ stfs f8, 0x110(r3) -/* 8020057C D0 C3 01 18 */ stfs f6, 0x118(r3) -/* 80200580 D0 83 01 20 */ stfs f4, 0x120(r3) -/* 80200584 D0 63 01 28 */ stfs f3, 0x128(r3) -/* 80200588 C0 22 AC F0 */ lfs f1, lit_4360(r2) -/* 8020058C D0 23 01 30 */ stfs f1, 0x130(r3) -/* 80200590 C0 02 AC 38 */ lfs f0, lit_4262(r2) -/* 80200594 D0 03 01 38 */ stfs f0, 0x138(r3) -/* 80200598 D0 83 01 40 */ stfs f4, 0x140(r3) -/* 8020059C D0 63 01 48 */ stfs f3, 0x148(r3) -/* 802005A0 D0 83 01 50 */ stfs f4, 0x150(r3) -/* 802005A4 D0 63 01 58 */ stfs f3, 0x158(r3) -/* 802005A8 D1 03 00 14 */ stfs f8, 0x14(r3) -/* 802005AC D0 E3 00 1C */ stfs f7, 0x1c(r3) -/* 802005B0 D0 43 00 F4 */ stfs f2, 0xf4(r3) -/* 802005B4 D1 03 00 FC */ stfs f8, 0xfc(r3) -/* 802005B8 D0 83 00 74 */ stfs f4, 0x74(r3) -/* 802005BC D0 E3 00 7C */ stfs f7, 0x7c(r3) -/* 802005C0 D0 83 00 84 */ stfs f4, 0x84(r3) -/* 802005C4 D0 E3 00 8C */ stfs f7, 0x8c(r3) -/* 802005C8 D0 83 00 94 */ stfs f4, 0x94(r3) -/* 802005CC D0 E3 00 9C */ stfs f7, 0x9c(r3) -/* 802005D0 D0 83 00 A4 */ stfs f4, 0xa4(r3) -/* 802005D4 D0 E3 00 AC */ stfs f7, 0xac(r3) -/* 802005D8 D0 83 00 B4 */ stfs f4, 0xb4(r3) -/* 802005DC D0 E3 00 BC */ stfs f7, 0xbc(r3) -/* 802005E0 D0 83 00 C4 */ stfs f4, 0xc4(r3) -/* 802005E4 D0 E3 00 CC */ stfs f7, 0xcc(r3) -/* 802005E8 D0 83 00 D4 */ stfs f4, 0xd4(r3) -/* 802005EC D0 E3 00 DC */ stfs f7, 0xdc(r3) -/* 802005F0 D0 83 00 E4 */ stfs f4, 0xe4(r3) -/* 802005F4 D1 03 00 EC */ stfs f8, 0xec(r3) -/* 802005F8 D0 83 00 64 */ stfs f4, 0x64(r3) -/* 802005FC D0 E3 00 6C */ stfs f7, 0x6c(r3) -/* 80200600 D0 83 00 54 */ stfs f4, 0x54(r3) -/* 80200604 C0 02 AB C0 */ lfs f0, lit_4076(r2) -/* 80200608 D0 03 00 5C */ stfs f0, 0x5c(r3) -/* 8020060C D0 A3 00 44 */ stfs f5, 0x44(r3) -/* 80200610 D0 C3 00 4C */ stfs f6, 0x4c(r3) -/* 80200614 D0 83 00 24 */ stfs f4, 0x24(r3) -/* 80200618 D0 E3 00 2C */ stfs f7, 0x2c(r3) -/* 8020061C D0 83 00 34 */ stfs f4, 0x34(r3) -/* 80200620 D0 E3 00 3C */ stfs f7, 0x3c(r3) -/* 80200624 D0 43 01 04 */ stfs f2, 0x104(r3) -/* 80200628 D1 03 01 0C */ stfs f8, 0x10c(r3) -/* 8020062C D0 43 01 14 */ stfs f2, 0x114(r3) -/* 80200630 D1 03 01 1C */ stfs f8, 0x11c(r3) -/* 80200634 D0 83 01 24 */ stfs f4, 0x124(r3) -/* 80200638 D0 E3 01 2C */ stfs f7, 0x12c(r3) -/* 8020063C D0 23 01 34 */ stfs f1, 0x134(r3) -/* 80200640 D0 A3 01 3C */ stfs f5, 0x13c(r3) -/* 80200644 D0 83 01 44 */ stfs f4, 0x144(r3) -/* 80200648 D0 E3 01 4C */ stfs f7, 0x14c(r3) -/* 8020064C D0 83 01 54 */ stfs f4, 0x154(r3) -/* 80200650 D0 E3 01 5C */ stfs f7, 0x15c(r3) -/* 80200654 38 80 00 00 */ li r4, 0 -/* 80200658 98 83 01 76 */ stb r4, 0x176(r3) -/* 8020065C 38 00 00 FF */ li r0, 0xff -/* 80200660 98 03 01 77 */ stb r0, 0x177(r3) -/* 80200664 98 83 01 78 */ stb r4, 0x178(r3) -/* 80200668 38 A0 00 00 */ li r5, 0 -/* 8020066C 38 80 00 01 */ li r4, 1 -/* 80200670 38 00 00 16 */ li r0, 0x16 -/* 80200674 7C 09 03 A6 */ mtctr r0 -lbl_80200678: -/* 80200678 38 05 01 79 */ addi r0, r5, 0x179 -/* 8020067C 7C 83 01 AE */ stbx r4, r3, r0 -/* 80200680 38 A5 00 01 */ addi r5, r5, 1 -/* 80200684 42 00 FF F4 */ bdnz lbl_80200678 -/* 80200688 C0 02 AB AC */ lfs f0, lit_4071(r2) -/* 8020068C D0 03 01 60 */ stfs f0, 0x160(r3) -/* 80200690 C0 02 AA E4 */ lfs f0, lit_3788(r2) -/* 80200694 D0 03 01 68 */ stfs f0, 0x168(r3) -/* 80200698 38 00 00 FF */ li r0, 0xff -/* 8020069C 98 03 01 72 */ stb r0, 0x172(r3) -/* 802006A0 98 03 01 74 */ stb r0, 0x174(r3) -/* 802006A4 C0 02 AA E0 */ lfs f0, lit_3787(r2) -/* 802006A8 D0 03 01 64 */ stfs f0, 0x164(r3) -/* 802006AC C0 02 AA F0 */ lfs f0, lit_3791(r2) -/* 802006B0 D0 03 01 6C */ stfs f0, 0x16c(r3) -/* 802006B4 98 03 01 73 */ stb r0, 0x173(r3) -/* 802006B8 98 03 01 75 */ stb r0, 0x175(r3) -/* 802006BC 38 00 00 0A */ li r0, 0xa -/* 802006C0 B0 03 01 70 */ sth r0, 0x170(r3) -/* 802006C4 4E 80 00 20 */ blr diff --git a/asm/d/meter/d_meter_HIO/__ct__21dMeter_drawSkillHIO_cFv.s b/asm/d/meter/d_meter_HIO/__ct__21dMeter_drawSkillHIO_cFv.s deleted file mode 100644 index 20eb7d31fa..0000000000 --- a/asm/d/meter/d_meter_HIO/__ct__21dMeter_drawSkillHIO_cFv.s +++ /dev/null @@ -1,90 +0,0 @@ -lbl_801FE990: -/* 801FE990 3C 80 80 3C */ lis r4, __vt__21dMeter_drawSkillHIO_c@ha /* 0x803BF148@ha */ -/* 801FE994 38 04 F1 48 */ addi r0, r4, __vt__21dMeter_drawSkillHIO_c@l /* 0x803BF148@l */ -/* 801FE998 90 03 00 00 */ stw r0, 0(r3) -/* 801FE99C 38 00 FF FF */ li r0, -1 -/* 801FE9A0 90 03 00 38 */ stw r0, 0x38(r3) -/* 801FE9A4 90 03 00 3C */ stw r0, 0x3c(r3) -/* 801FE9A8 90 03 00 40 */ stw r0, 0x40(r3) -/* 801FE9AC 90 03 00 44 */ stw r0, 0x44(r3) -/* 801FE9B0 90 03 00 48 */ stw r0, 0x48(r3) -/* 801FE9B4 90 03 00 4C */ stw r0, 0x4c(r3) -/* 801FE9B8 90 03 00 50 */ stw r0, 0x50(r3) -/* 801FE9BC 90 03 00 54 */ stw r0, 0x54(r3) -/* 801FE9C0 38 80 00 00 */ li r4, 0 -/* 801FE9C4 38 A0 00 0A */ li r5, 0xa -/* 801FE9C8 38 00 00 02 */ li r0, 2 -/* 801FE9CC 7C 09 03 A6 */ mtctr r0 -lbl_801FE9D0: -/* 801FE9D0 7C C3 22 14 */ add r6, r3, r4 -/* 801FE9D4 B0 A6 00 30 */ sth r5, 0x30(r6) -/* 801FE9D8 B0 A6 00 34 */ sth r5, 0x34(r6) -/* 801FE9DC 38 84 00 02 */ addi r4, r4, 2 -/* 801FE9E0 42 00 FF F0 */ bdnz lbl_801FE9D0 -/* 801FE9E4 38 E0 00 00 */ li r7, 0 -/* 801FE9E8 98 E3 00 5B */ stb r7, 0x5b(r3) -/* 801FE9EC 38 C0 00 FF */ li r6, 0xff -/* 801FE9F0 98 C3 00 58 */ stb r6, 0x58(r3) -/* 801FE9F4 C0 02 AB 20 */ lfs f0, lit_3828(r2) -/* 801FE9F8 D0 03 00 08 */ stfs f0, 8(r3) -/* 801FE9FC C0 02 AB 24 */ lfs f0, lit_3829(r2) -/* 801FEA00 D0 03 00 0C */ stfs f0, 0xc(r3) -/* 801FEA04 C0 22 AA F8 */ lfs f1, lit_3793(r2) -/* 801FEA08 D0 23 00 10 */ stfs f1, 0x10(r3) -/* 801FEA0C C0 02 AB 68 */ lfs f0, lit_3956(r2) -/* 801FEA10 D0 03 00 14 */ stfs f0, 0x14(r3) -/* 801FEA14 C0 02 AB 6C */ lfs f0, lit_3957(r2) -/* 801FEA18 D0 03 00 18 */ stfs f0, 0x18(r3) -/* 801FEA1C 38 00 00 96 */ li r0, 0x96 -/* 801FEA20 98 03 00 59 */ stb r0, 0x59(r3) -/* 801FEA24 D0 23 00 28 */ stfs f1, 0x28(r3) -/* 801FEA28 D0 23 00 2C */ stfs f1, 0x2c(r3) -/* 801FEA2C 38 00 00 82 */ li r0, 0x82 -/* 801FEA30 98 03 00 5A */ stb r0, 0x5a(r3) -/* 801FEA34 98 E3 00 38 */ stb r7, 0x38(r3) -/* 801FEA38 98 E3 00 39 */ stb r7, 0x39(r3) -/* 801FEA3C 98 E3 00 3A */ stb r7, 0x3a(r3) -/* 801FEA40 98 E3 00 3B */ stb r7, 0x3b(r3) -/* 801FEA44 98 C3 00 3C */ stb r6, 0x3c(r3) -/* 801FEA48 98 C3 00 3D */ stb r6, 0x3d(r3) -/* 801FEA4C 98 C3 00 3E */ stb r6, 0x3e(r3) -/* 801FEA50 98 C3 00 3F */ stb r6, 0x3f(r3) -/* 801FEA54 98 E3 00 40 */ stb r7, 0x40(r3) -/* 801FEA58 98 E3 00 41 */ stb r7, 0x41(r3) -/* 801FEA5C 98 E3 00 42 */ stb r7, 0x42(r3) -/* 801FEA60 98 E3 00 43 */ stb r7, 0x43(r3) -/* 801FEA64 38 A0 00 B4 */ li r5, 0xb4 -/* 801FEA68 98 A3 00 44 */ stb r5, 0x44(r3) -/* 801FEA6C 98 A3 00 45 */ stb r5, 0x45(r3) -/* 801FEA70 98 A3 00 46 */ stb r5, 0x46(r3) -/* 801FEA74 38 00 00 64 */ li r0, 0x64 -/* 801FEA78 98 03 00 47 */ stb r0, 0x47(r3) -/* 801FEA7C 38 00 00 69 */ li r0, 0x69 -/* 801FEA80 98 03 00 48 */ stb r0, 0x48(r3) -/* 801FEA84 38 00 00 5F */ li r0, 0x5f -/* 801FEA88 98 03 00 49 */ stb r0, 0x49(r3) -/* 801FEA8C 38 00 00 37 */ li r0, 0x37 -/* 801FEA90 98 03 00 4A */ stb r0, 0x4a(r3) -/* 801FEA94 98 C3 00 4B */ stb r6, 0x4b(r3) -/* 801FEA98 38 80 00 C8 */ li r4, 0xc8 -/* 801FEA9C 98 83 00 4C */ stb r4, 0x4c(r3) -/* 801FEAA0 98 A3 00 4D */ stb r5, 0x4d(r3) -/* 801FEAA4 38 00 00 87 */ li r0, 0x87 -/* 801FEAA8 98 03 00 4E */ stb r0, 0x4e(r3) -/* 801FEAAC 98 C3 00 4F */ stb r6, 0x4f(r3) -/* 801FEAB0 38 00 00 1F */ li r0, 0x1f -/* 801FEAB4 98 03 00 50 */ stb r0, 0x50(r3) -/* 801FEAB8 38 00 00 18 */ li r0, 0x18 -/* 801FEABC 98 03 00 51 */ stb r0, 0x51(r3) -/* 801FEAC0 38 00 00 0C */ li r0, 0xc -/* 801FEAC4 98 03 00 52 */ stb r0, 0x52(r3) -/* 801FEAC8 98 E3 00 53 */ stb r7, 0x53(r3) -/* 801FEACC 98 C3 00 54 */ stb r6, 0x54(r3) -/* 801FEAD0 98 C3 00 55 */ stb r6, 0x55(r3) -/* 801FEAD4 98 83 00 56 */ stb r4, 0x56(r3) -/* 801FEAD8 98 C3 00 57 */ stb r6, 0x57(r3) -/* 801FEADC D0 23 00 1C */ stfs f1, 0x1c(r3) -/* 801FEAE0 D0 23 00 20 */ stfs f1, 0x20(r3) -/* 801FEAE4 C0 02 AA E8 */ lfs f0, lit_3789(r2) -/* 801FEAE8 D0 03 00 24 */ stfs f0, 0x24(r3) -/* 801FEAEC 4E 80 00 20 */ blr diff --git a/asm/d/meter/d_meter_HIO/__ct__22dMeter_drawInsectHIO_cFv.s b/asm/d/meter/d_meter_HIO/__ct__22dMeter_drawInsectHIO_cFv.s deleted file mode 100644 index b2afd4c15d..0000000000 --- a/asm/d/meter/d_meter_HIO/__ct__22dMeter_drawInsectHIO_cFv.s +++ /dev/null @@ -1,31 +0,0 @@ -lbl_801FE8DC: -/* 801FE8DC 3C 80 80 3C */ lis r4, __vt__22dMeter_drawInsectHIO_c@ha /* 0x803BF160@ha */ -/* 801FE8E0 38 04 F1 60 */ addi r0, r4, __vt__22dMeter_drawInsectHIO_c@l /* 0x803BF160@l */ -/* 801FE8E4 90 03 00 00 */ stw r0, 0(r3) -/* 801FE8E8 38 00 00 0A */ li r0, 0xa -/* 801FE8EC B0 03 00 38 */ sth r0, 0x38(r3) -/* 801FE8F0 B0 03 00 3A */ sth r0, 0x3a(r3) -/* 801FE8F4 38 00 00 00 */ li r0, 0 -/* 801FE8F8 98 03 00 3C */ stb r0, 0x3c(r3) -/* 801FE8FC 98 03 00 3D */ stb r0, 0x3d(r3) -/* 801FE900 C0 02 AA E0 */ lfs f0, lit_3787(r2) -/* 801FE904 D0 03 00 08 */ stfs f0, 8(r3) -/* 801FE908 C0 02 AA E4 */ lfs f0, lit_3788(r2) -/* 801FE90C D0 03 00 0C */ stfs f0, 0xc(r3) -/* 801FE910 C0 22 AA F8 */ lfs f1, lit_3793(r2) -/* 801FE914 D0 23 00 10 */ stfs f1, 0x10(r3) -/* 801FE918 C0 02 AB 50 */ lfs f0, lit_3912(r2) -/* 801FE91C D0 03 00 14 */ stfs f0, 0x14(r3) -/* 801FE920 D0 23 00 18 */ stfs f1, 0x18(r3) -/* 801FE924 C0 42 AB 54 */ lfs f2, lit_3913(r2) -/* 801FE928 D0 43 00 20 */ stfs f2, 0x20(r3) -/* 801FE92C D0 23 00 28 */ stfs f1, 0x28(r3) -/* 801FE930 C0 22 AB 58 */ lfs f1, lit_3914(r2) -/* 801FE934 D0 23 00 30 */ stfs f1, 0x30(r3) -/* 801FE938 C0 02 AB 5C */ lfs f0, lit_3915(r2) -/* 801FE93C D0 03 00 1C */ stfs f0, 0x1c(r3) -/* 801FE940 D0 43 00 24 */ stfs f2, 0x24(r3) -/* 801FE944 C0 02 AB 60 */ lfs f0, lit_3916(r2) -/* 801FE948 D0 03 00 2C */ stfs f0, 0x2c(r3) -/* 801FE94C D0 23 00 34 */ stfs f1, 0x34(r3) -/* 801FE950 4E 80 00 20 */ blr diff --git a/asm/d/meter/d_meter_HIO/__ct__22dMeter_drawLetterHIO_cFv.s b/asm/d/meter/d_meter_HIO/__ct__22dMeter_drawLetterHIO_cFv.s deleted file mode 100644 index 54bd2c77ca..0000000000 --- a/asm/d/meter/d_meter_HIO/__ct__22dMeter_drawLetterHIO_cFv.s +++ /dev/null @@ -1,91 +0,0 @@ -lbl_801FE5CC: -/* 801FE5CC 3C 80 80 3C */ lis r4, __vt__22dMeter_drawLetterHIO_c@ha /* 0x803BF178@ha */ -/* 801FE5D0 38 04 F1 78 */ addi r0, r4, __vt__22dMeter_drawLetterHIO_c@l /* 0x803BF178@l */ -/* 801FE5D4 90 03 00 00 */ stw r0, 0(r3) -/* 801FE5D8 38 00 FF FF */ li r0, -1 -/* 801FE5DC 90 03 00 3C */ stw r0, 0x3c(r3) -/* 801FE5E0 90 03 00 40 */ stw r0, 0x40(r3) -/* 801FE5E4 90 03 00 44 */ stw r0, 0x44(r3) -/* 801FE5E8 90 03 00 48 */ stw r0, 0x48(r3) -/* 801FE5EC 90 03 00 4C */ stw r0, 0x4c(r3) -/* 801FE5F0 90 03 00 50 */ stw r0, 0x50(r3) -/* 801FE5F4 90 03 00 54 */ stw r0, 0x54(r3) -/* 801FE5F8 90 03 00 58 */ stw r0, 0x58(r3) -/* 801FE5FC 38 80 00 00 */ li r4, 0 -/* 801FE600 38 A0 00 0A */ li r5, 0xa -/* 801FE604 38 00 00 02 */ li r0, 2 -/* 801FE608 7C 09 03 A6 */ mtctr r0 -lbl_801FE60C: -/* 801FE60C 7C C3 22 14 */ add r6, r3, r4 -/* 801FE610 B0 A6 00 30 */ sth r5, 0x30(r6) -/* 801FE614 B0 A6 00 34 */ sth r5, 0x34(r6) -/* 801FE618 38 84 00 02 */ addi r4, r4, 2 -/* 801FE61C 42 00 FF F0 */ bdnz lbl_801FE60C -/* 801FE620 38 E0 00 00 */ li r7, 0 -/* 801FE624 B0 E3 00 38 */ sth r7, 0x38(r3) -/* 801FE628 98 E3 00 5F */ stb r7, 0x5f(r3) -/* 801FE62C 38 C0 00 FF */ li r6, 0xff -/* 801FE630 98 C3 00 5C */ stb r6, 0x5c(r3) -/* 801FE634 C0 02 AB 20 */ lfs f0, lit_3828(r2) -/* 801FE638 D0 03 00 08 */ stfs f0, 8(r3) -/* 801FE63C C0 02 AB 24 */ lfs f0, lit_3829(r2) -/* 801FE640 D0 03 00 0C */ stfs f0, 0xc(r3) -/* 801FE644 C0 22 AA F8 */ lfs f1, lit_3793(r2) -/* 801FE648 D0 23 00 10 */ stfs f1, 0x10(r3) -/* 801FE64C C0 02 AB 34 */ lfs f0, lit_3867(r2) -/* 801FE650 D0 03 00 14 */ stfs f0, 0x14(r3) -/* 801FE654 C0 02 AA E0 */ lfs f0, lit_3787(r2) -/* 801FE658 D0 03 00 18 */ stfs f0, 0x18(r3) -/* 801FE65C D0 23 00 1C */ stfs f1, 0x1c(r3) -/* 801FE660 D0 23 00 20 */ stfs f1, 0x20(r3) -/* 801FE664 D0 03 00 24 */ stfs f0, 0x24(r3) -/* 801FE668 38 00 00 96 */ li r0, 0x96 -/* 801FE66C 98 03 00 5D */ stb r0, 0x5d(r3) -/* 801FE670 D0 23 00 28 */ stfs f1, 0x28(r3) -/* 801FE674 D0 23 00 2C */ stfs f1, 0x2c(r3) -/* 801FE678 38 00 00 82 */ li r0, 0x82 -/* 801FE67C 98 03 00 5E */ stb r0, 0x5e(r3) -/* 801FE680 98 E3 00 3C */ stb r7, 0x3c(r3) -/* 801FE684 98 E3 00 3D */ stb r7, 0x3d(r3) -/* 801FE688 98 E3 00 3E */ stb r7, 0x3e(r3) -/* 801FE68C 98 E3 00 3F */ stb r7, 0x3f(r3) -/* 801FE690 98 C3 00 40 */ stb r6, 0x40(r3) -/* 801FE694 98 C3 00 41 */ stb r6, 0x41(r3) -/* 801FE698 98 C3 00 42 */ stb r6, 0x42(r3) -/* 801FE69C 98 C3 00 43 */ stb r6, 0x43(r3) -/* 801FE6A0 38 00 00 69 */ li r0, 0x69 -/* 801FE6A4 98 03 00 44 */ stb r0, 0x44(r3) -/* 801FE6A8 38 00 00 5F */ li r0, 0x5f -/* 801FE6AC 98 03 00 45 */ stb r0, 0x45(r3) -/* 801FE6B0 38 A0 00 37 */ li r5, 0x37 -/* 801FE6B4 98 A3 00 46 */ stb r5, 0x46(r3) -/* 801FE6B8 98 C3 00 47 */ stb r6, 0x47(r3) -/* 801FE6BC 38 80 00 C8 */ li r4, 0xc8 -/* 801FE6C0 98 83 00 48 */ stb r4, 0x48(r3) -/* 801FE6C4 38 00 00 B4 */ li r0, 0xb4 -/* 801FE6C8 98 03 00 49 */ stb r0, 0x49(r3) -/* 801FE6CC 38 00 00 87 */ li r0, 0x87 -/* 801FE6D0 98 03 00 4A */ stb r0, 0x4a(r3) -/* 801FE6D4 98 C3 00 4B */ stb r6, 0x4b(r3) -/* 801FE6D8 38 00 00 1F */ li r0, 0x1f -/* 801FE6DC 98 03 00 4C */ stb r0, 0x4c(r3) -/* 801FE6E0 38 00 00 18 */ li r0, 0x18 -/* 801FE6E4 98 03 00 4D */ stb r0, 0x4d(r3) -/* 801FE6E8 38 00 00 0C */ li r0, 0xc -/* 801FE6EC 98 03 00 4E */ stb r0, 0x4e(r3) -/* 801FE6F0 98 E3 00 4F */ stb r7, 0x4f(r3) -/* 801FE6F4 98 C3 00 50 */ stb r6, 0x50(r3) -/* 801FE6F8 98 C3 00 51 */ stb r6, 0x51(r3) -/* 801FE6FC 98 83 00 52 */ stb r4, 0x52(r3) -/* 801FE700 98 C3 00 53 */ stb r6, 0x53(r3) -/* 801FE704 98 E3 00 54 */ stb r7, 0x54(r3) -/* 801FE708 98 E3 00 55 */ stb r7, 0x55(r3) -/* 801FE70C 98 E3 00 56 */ stb r7, 0x56(r3) -/* 801FE710 98 E3 00 57 */ stb r7, 0x57(r3) -/* 801FE714 38 00 00 41 */ li r0, 0x41 -/* 801FE718 98 03 00 58 */ stb r0, 0x58(r3) -/* 801FE71C 98 A3 00 59 */ stb r5, 0x59(r3) -/* 801FE720 38 00 00 1E */ li r0, 0x1e -/* 801FE724 98 03 00 5A */ stb r0, 0x5a(r3) -/* 801FE728 98 C3 00 5B */ stb r6, 0x5b(r3) -/* 801FE72C 4E 80 00 20 */ blr diff --git a/asm/d/meter/d_meter_HIO/__ct__22dMeter_drawOptionHIO_cFv.s b/asm/d/meter/d_meter_HIO/__ct__22dMeter_drawOptionHIO_cFv.s deleted file mode 100644 index 96e74376d2..0000000000 --- a/asm/d/meter/d_meter_HIO/__ct__22dMeter_drawOptionHIO_cFv.s +++ /dev/null @@ -1,58 +0,0 @@ -lbl_801FE4EC: -/* 801FE4EC 3C 80 80 3C */ lis r4, __vt__22dMeter_drawOptionHIO_c@ha /* 0x803BF184@ha */ -/* 801FE4F0 38 04 F1 84 */ addi r0, r4, __vt__22dMeter_drawOptionHIO_c@l /* 0x803BF184@l */ -/* 801FE4F4 90 03 00 00 */ stw r0, 0(r3) -/* 801FE4F8 38 00 FF FF */ li r0, -1 -/* 801FE4FC 90 03 00 0C */ stw r0, 0xc(r3) -/* 801FE500 90 03 00 10 */ stw r0, 0x10(r3) -/* 801FE504 90 03 00 14 */ stw r0, 0x14(r3) -/* 801FE508 C0 02 AB 20 */ lfs f0, lit_3828(r2) -/* 801FE50C D0 03 00 54 */ stfs f0, 0x54(r3) -/* 801FE510 C0 02 AB 24 */ lfs f0, lit_3829(r2) -/* 801FE514 D0 03 00 58 */ stfs f0, 0x58(r3) -/* 801FE518 C0 02 AB 28 */ lfs f0, lit_3830(r2) -/* 801FE51C D0 03 00 08 */ stfs f0, 8(r3) -/* 801FE520 38 A0 00 FF */ li r5, 0xff -/* 801FE524 98 A3 00 0C */ stb r5, 0xc(r3) -/* 801FE528 98 A3 00 0D */ stb r5, 0xd(r3) -/* 801FE52C 98 A3 00 0E */ stb r5, 0xe(r3) -/* 801FE530 98 A3 00 0F */ stb r5, 0xf(r3) -/* 801FE534 98 A3 00 10 */ stb r5, 0x10(r3) -/* 801FE538 38 00 00 C8 */ li r0, 0xc8 -/* 801FE53C 98 03 00 11 */ stb r0, 0x11(r3) -/* 801FE540 38 80 00 00 */ li r4, 0 -/* 801FE544 98 83 00 12 */ stb r4, 0x12(r3) -/* 801FE548 98 A3 00 13 */ stb r5, 0x13(r3) -/* 801FE54C 38 00 00 B4 */ li r0, 0xb4 -/* 801FE550 98 03 00 14 */ stb r0, 0x14(r3) -/* 801FE554 98 03 00 15 */ stb r0, 0x15(r3) -/* 801FE558 38 00 00 96 */ li r0, 0x96 -/* 801FE55C 98 03 00 16 */ stb r0, 0x16(r3) -/* 801FE560 98 A3 00 17 */ stb r5, 0x17(r3) -/* 801FE564 C0 22 AA F8 */ lfs f1, lit_3793(r2) -/* 801FE568 D0 23 00 18 */ stfs f1, 0x18(r3) -/* 801FE56C D0 23 00 1C */ stfs f1, 0x1c(r3) -/* 801FE570 C0 02 AA E0 */ lfs f0, lit_3787(r2) -/* 801FE574 D0 03 00 20 */ stfs f0, 0x20(r3) -/* 801FE578 38 00 00 04 */ li r0, 4 -/* 801FE57C 7C 09 03 A6 */ mtctr r0 -lbl_801FE580: -/* 801FE580 7C A3 22 14 */ add r5, r3, r4 -/* 801FE584 D0 25 00 24 */ stfs f1, 0x24(r5) -/* 801FE588 D0 25 00 3C */ stfs f1, 0x3c(r5) -/* 801FE58C 38 84 00 04 */ addi r4, r4, 4 -/* 801FE590 42 00 FF F0 */ bdnz lbl_801FE580 -/* 801FE594 38 00 00 0A */ li r0, 0xa -/* 801FE598 B0 03 00 68 */ sth r0, 0x68(r3) -/* 801FE59C B0 03 00 6A */ sth r0, 0x6a(r3) -/* 801FE5A0 38 00 00 00 */ li r0, 0 -/* 801FE5A4 98 03 00 6C */ stb r0, 0x6c(r3) -/* 801FE5A8 38 00 00 96 */ li r0, 0x96 -/* 801FE5AC 98 03 00 6D */ stb r0, 0x6d(r3) -/* 801FE5B0 C0 02 AB 2C */ lfs f0, lit_3831(r2) -/* 801FE5B4 D0 03 00 5C */ stfs f0, 0x5c(r3) -/* 801FE5B8 C0 02 AB 30 */ lfs f0, lit_3832(r2) -/* 801FE5BC D0 03 00 60 */ stfs f0, 0x60(r3) -/* 801FE5C0 C0 02 AB 00 */ lfs f0, lit_3795(r2) -/* 801FE5C4 D0 03 00 64 */ stfs f0, 0x64(r3) -/* 801FE5C8 4E 80 00 20 */ blr diff --git a/asm/d/meter/d_meter_HIO/__ct__23dMeter_drawCollectHIO_cFv.s b/asm/d/meter/d_meter_HIO/__ct__23dMeter_drawCollectHIO_cFv.s deleted file mode 100644 index e34cf370fe..0000000000 --- a/asm/d/meter/d_meter_HIO/__ct__23dMeter_drawCollectHIO_cFv.s +++ /dev/null @@ -1,106 +0,0 @@ -lbl_801FE348: -/* 801FE348 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 801FE34C 7C 08 02 A6 */ mflr r0 -/* 801FE350 90 01 00 14 */ stw r0, 0x14(r1) -/* 801FE354 93 E1 00 0C */ stw r31, 0xc(r1) -/* 801FE358 7C 7F 1B 78 */ mr r31, r3 -/* 801FE35C 3C 60 80 3C */ lis r3, __vt__23dMeter_drawCollectHIO_c@ha /* 0x803BF190@ha */ -/* 801FE360 38 03 F1 90 */ addi r0, r3, __vt__23dMeter_drawCollectHIO_c@l /* 0x803BF190@l */ -/* 801FE364 90 1F 00 00 */ stw r0, 0(r31) -/* 801FE368 38 7F 00 78 */ addi r3, r31, 0x78 -/* 801FE36C 3C 80 80 19 */ lis r4, __ct__Q28JUtility6TColorFv@ha /* 0x80193960@ha */ -/* 801FE370 38 84 39 60 */ addi r4, r4, __ct__Q28JUtility6TColorFv@l /* 0x80193960@l */ -/* 801FE374 38 A0 00 00 */ li r5, 0 -/* 801FE378 38 C0 00 04 */ li r6, 4 -/* 801FE37C 38 E0 00 02 */ li r7, 2 -/* 801FE380 48 16 39 E1 */ bl __construct_array -/* 801FE384 38 7F 00 80 */ addi r3, r31, 0x80 -/* 801FE388 3C 80 80 19 */ lis r4, __ct__Q28JUtility6TColorFv@ha /* 0x80193960@ha */ -/* 801FE38C 38 84 39 60 */ addi r4, r4, __ct__Q28JUtility6TColorFv@l /* 0x80193960@l */ -/* 801FE390 38 A0 00 00 */ li r5, 0 -/* 801FE394 38 C0 00 04 */ li r6, 4 -/* 801FE398 38 E0 00 02 */ li r7, 2 -/* 801FE39C 48 16 39 C5 */ bl __construct_array -/* 801FE3A0 C0 82 AA E0 */ lfs f4, lit_3787(r2) -/* 801FE3A4 D0 9F 00 08 */ stfs f4, 8(r31) -/* 801FE3A8 C0 02 AA E4 */ lfs f0, lit_3788(r2) -/* 801FE3AC D0 1F 00 0C */ stfs f0, 0xc(r31) -/* 801FE3B0 D0 9F 00 10 */ stfs f4, 0x10(r31) -/* 801FE3B4 C0 62 AA E8 */ lfs f3, lit_3789(r2) -/* 801FE3B8 D0 7F 00 14 */ stfs f3, 0x14(r31) -/* 801FE3BC C0 02 AA EC */ lfs f0, lit_3790(r2) -/* 801FE3C0 D0 1F 00 18 */ stfs f0, 0x18(r31) -/* 801FE3C4 C0 42 AA F0 */ lfs f2, lit_3791(r2) -/* 801FE3C8 D0 5F 00 1C */ stfs f2, 0x1c(r31) -/* 801FE3CC D0 5F 00 20 */ stfs f2, 0x20(r31) -/* 801FE3D0 C0 02 AA F4 */ lfs f0, lit_3792(r2) -/* 801FE3D4 D0 1F 00 24 */ stfs f0, 0x24(r31) -/* 801FE3D8 C0 22 AA F8 */ lfs f1, lit_3793(r2) -/* 801FE3DC D0 3F 00 28 */ stfs f1, 0x28(r31) -/* 801FE3E0 D0 3F 00 2C */ stfs f1, 0x2c(r31) -/* 801FE3E4 D0 3F 00 30 */ stfs f1, 0x30(r31) -/* 801FE3E8 38 A0 00 00 */ li r5, 0 -/* 801FE3EC B0 BF 00 94 */ sth r5, 0x94(r31) -/* 801FE3F0 B0 BF 00 96 */ sth r5, 0x96(r31) -/* 801FE3F4 B0 BF 00 98 */ sth r5, 0x98(r31) -/* 801FE3F8 98 BF 00 9A */ stb r5, 0x9a(r31) -/* 801FE3FC D0 3F 00 34 */ stfs f1, 0x34(r31) -/* 801FE400 D0 9F 00 38 */ stfs f4, 0x38(r31) -/* 801FE404 C0 02 AA FC */ lfs f0, lit_3794(r2) -/* 801FE408 D0 1F 00 3C */ stfs f0, 0x3c(r31) -/* 801FE40C C0 02 AB 00 */ lfs f0, lit_3795(r2) -/* 801FE410 D0 1F 00 40 */ stfs f0, 0x40(r31) -/* 801FE414 C0 02 AB 04 */ lfs f0, lit_3796(r2) -/* 801FE418 D0 1F 00 44 */ stfs f0, 0x44(r31) -/* 801FE41C D0 3F 00 88 */ stfs f1, 0x88(r31) -/* 801FE420 D0 3F 00 8C */ stfs f1, 0x8c(r31) -/* 801FE424 D0 9F 00 90 */ stfs f4, 0x90(r31) -/* 801FE428 98 BF 00 9C */ stb r5, 0x9c(r31) -/* 801FE42C C0 02 AB 08 */ lfs f0, lit_3797(r2) -/* 801FE430 D0 1F 00 48 */ stfs f0, 0x48(r31) -/* 801FE434 C0 22 AB 0C */ lfs f1, lit_3798(r2) -/* 801FE438 D0 3F 00 4C */ stfs f1, 0x4c(r31) -/* 801FE43C D0 5F 00 50 */ stfs f2, 0x50(r31) -/* 801FE440 D0 1F 00 54 */ stfs f0, 0x54(r31) -/* 801FE444 C0 02 AB 10 */ lfs f0, lit_3799(r2) -/* 801FE448 D0 1F 00 58 */ stfs f0, 0x58(r31) -/* 801FE44C D0 5F 00 5C */ stfs f2, 0x5c(r31) -/* 801FE450 C0 02 AB 14 */ lfs f0, lit_3800(r2) -/* 801FE454 D0 1F 00 60 */ stfs f0, 0x60(r31) -/* 801FE458 D0 3F 00 64 */ stfs f1, 0x64(r31) -/* 801FE45C D0 7F 00 68 */ stfs f3, 0x68(r31) -/* 801FE460 C0 02 AB 18 */ lfs f0, lit_3801(r2) -/* 801FE464 D0 1F 00 6C */ stfs f0, 0x6c(r31) -/* 801FE468 C0 02 AB 1C */ lfs f0, lit_3802(r2) -/* 801FE46C D0 1F 00 70 */ stfs f0, 0x70(r31) -/* 801FE470 D0 7F 00 74 */ stfs f3, 0x74(r31) -/* 801FE474 98 BF 00 9B */ stb r5, 0x9b(r31) -/* 801FE478 98 BF 00 78 */ stb r5, 0x78(r31) -/* 801FE47C 98 BF 00 79 */ stb r5, 0x79(r31) -/* 801FE480 98 BF 00 7A */ stb r5, 0x7a(r31) -/* 801FE484 98 BF 00 7B */ stb r5, 0x7b(r31) -/* 801FE488 38 00 00 FA */ li r0, 0xfa -/* 801FE48C 98 1F 00 80 */ stb r0, 0x80(r31) -/* 801FE490 98 1F 00 81 */ stb r0, 0x81(r31) -/* 801FE494 38 00 00 D2 */ li r0, 0xd2 -/* 801FE498 98 1F 00 82 */ stb r0, 0x82(r31) -/* 801FE49C 38 00 00 DC */ li r0, 0xdc -/* 801FE4A0 98 1F 00 83 */ stb r0, 0x83(r31) -/* 801FE4A4 38 80 00 C8 */ li r4, 0xc8 -/* 801FE4A8 98 9F 00 7C */ stb r4, 0x7c(r31) -/* 801FE4AC 38 60 00 BE */ li r3, 0xbe -/* 801FE4B0 98 7F 00 7D */ stb r3, 0x7d(r31) -/* 801FE4B4 38 00 00 64 */ li r0, 0x64 -/* 801FE4B8 98 1F 00 7E */ stb r0, 0x7e(r31) -/* 801FE4BC 98 BF 00 7F */ stb r5, 0x7f(r31) -/* 801FE4C0 98 9F 00 84 */ stb r4, 0x84(r31) -/* 801FE4C4 98 7F 00 85 */ stb r3, 0x85(r31) -/* 801FE4C8 98 1F 00 86 */ stb r0, 0x86(r31) -/* 801FE4CC 38 00 00 AF */ li r0, 0xaf -/* 801FE4D0 98 1F 00 87 */ stb r0, 0x87(r31) -/* 801FE4D4 7F E3 FB 78 */ mr r3, r31 -/* 801FE4D8 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 801FE4DC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 801FE4E0 7C 08 03 A6 */ mtlr r0 -/* 801FE4E4 38 21 00 10 */ addi r1, r1, 0x10 -/* 801FE4E8 4E 80 00 20 */ blr diff --git a/asm/d/meter/d_meter_HIO/__ct__23dMeter_drawFishingHIO_cFv.s b/asm/d/meter/d_meter_HIO/__ct__23dMeter_drawFishingHIO_cFv.s deleted file mode 100644 index cb230eabd0..0000000000 --- a/asm/d/meter/d_meter_HIO/__ct__23dMeter_drawFishingHIO_cFv.s +++ /dev/null @@ -1,109 +0,0 @@ -lbl_801FE730: -/* 801FE730 94 21 FF C0 */ stwu r1, -0x40(r1) -/* 801FE734 7C 08 02 A6 */ mflr r0 -/* 801FE738 90 01 00 44 */ stw r0, 0x44(r1) -/* 801FE73C 39 61 00 40 */ addi r11, r1, 0x40 -/* 801FE740 48 16 3A 71 */ bl _savegpr_18 -/* 801FE744 3C 80 80 39 */ lis r4, fipaScale@ha /* 0x80397E50@ha */ -/* 801FE748 39 04 7E 50 */ addi r8, r4, fipaScale@l /* 0x80397E50@l */ -/* 801FE74C 3C 80 80 3C */ lis r4, __vt__23dMeter_drawFishingHIO_c@ha /* 0x803BF16C@ha */ -/* 801FE750 38 04 F1 6C */ addi r0, r4, __vt__23dMeter_drawFishingHIO_c@l /* 0x803BF16C@l */ -/* 801FE754 90 03 00 00 */ stw r0, 0(r3) -/* 801FE758 38 00 00 0A */ li r0, 0xa -/* 801FE75C B0 03 02 1C */ sth r0, 0x21c(r3) -/* 801FE760 B0 03 02 1E */ sth r0, 0x21e(r3) -/* 801FE764 3A 40 00 00 */ li r18, 0 -/* 801FE768 9A 43 02 50 */ stb r18, 0x250(r3) -/* 801FE76C 38 C0 00 00 */ li r6, 0 -/* 801FE770 38 E0 00 00 */ li r7, 0 -/* 801FE774 3A 88 00 00 */ addi r20, r8, 0 -/* 801FE778 3A A8 00 18 */ addi r21, r8, 0x18 -/* 801FE77C 3A C8 00 30 */ addi r22, r8, 0x30 -/* 801FE780 3A E8 00 48 */ addi r23, r8, 0x48 -/* 801FE784 3B 08 00 60 */ addi r24, r8, 0x60 -/* 801FE788 3B 28 00 78 */ addi r25, r8, 0x78 -/* 801FE78C 3B 48 00 90 */ addi r26, r8, 0x90 -/* 801FE790 3B 68 00 A8 */ addi r27, r8, 0xa8 -/* 801FE794 3B 88 00 C0 */ addi r28, r8, 0xc0 -/* 801FE798 3B A8 00 D8 */ addi r29, r8, 0xd8 -/* 801FE79C 38 88 01 38 */ addi r4, r8, 0x138 -/* 801FE7A0 38 A8 01 50 */ addi r5, r8, 0x150 -/* 801FE7A4 3B C8 01 20 */ addi r30, r8, 0x120 -/* 801FE7A8 3B E8 01 68 */ addi r31, r8, 0x168 -/* 801FE7AC 39 88 01 80 */ addi r12, r8, 0x180 -/* 801FE7B0 39 68 01 98 */ addi r11, r8, 0x198 -/* 801FE7B4 39 48 01 B0 */ addi r10, r8, 0x1b0 -/* 801FE7B8 39 28 01 C8 */ addi r9, r8, 0x1c8 -/* 801FE7BC 39 08 01 E0 */ addi r8, r8, 0x1e0 -/* 801FE7C0 38 00 00 06 */ li r0, 6 -/* 801FE7C4 7C 09 03 A6 */ mtctr r0 -lbl_801FE7C8: -/* 801FE7C8 3A 60 00 00 */ li r19, 0 -/* 801FE7CC 38 12 02 20 */ addi r0, r18, 0x220 -/* 801FE7D0 7E 63 03 2E */ sthx r19, r3, r0 -/* 801FE7D4 38 06 02 40 */ addi r0, r6, 0x240 -/* 801FE7D8 7E 63 01 AE */ stbx r19, r3, r0 -/* 801FE7DC 7C 14 3C 2E */ lfsx f0, r20, r7 -/* 801FE7E0 7E 63 3A 14 */ add r19, r3, r7 -/* 801FE7E4 D0 13 00 08 */ stfs f0, 8(r19) -/* 801FE7E8 7C 15 3C 2E */ lfsx f0, r21, r7 -/* 801FE7EC D0 13 00 20 */ stfs f0, 0x20(r19) -/* 801FE7F0 7C 16 3C 2E */ lfsx f0, r22, r7 -/* 801FE7F4 D0 13 00 38 */ stfs f0, 0x38(r19) -/* 801FE7F8 7C 17 3C 2E */ lfsx f0, r23, r7 -/* 801FE7FC D0 13 00 50 */ stfs f0, 0x50(r19) -/* 801FE800 7C 18 3C 2E */ lfsx f0, r24, r7 -/* 801FE804 D0 13 00 68 */ stfs f0, 0x68(r19) -/* 801FE808 7C 19 3C 2E */ lfsx f0, r25, r7 -/* 801FE80C D0 13 00 80 */ stfs f0, 0x80(r19) -/* 801FE810 7C 1A 3C 2E */ lfsx f0, r26, r7 -/* 801FE814 D0 13 00 98 */ stfs f0, 0x98(r19) -/* 801FE818 7C 1B 3C 2E */ lfsx f0, r27, r7 -/* 801FE81C D0 13 00 B0 */ stfs f0, 0xb0(r19) -/* 801FE820 7C 1C 3C 2E */ lfsx f0, r28, r7 -/* 801FE824 D0 13 00 C8 */ stfs f0, 0xc8(r19) -/* 801FE828 7C 1D 3C 2E */ lfsx f0, r29, r7 -/* 801FE82C D0 13 00 E0 */ stfs f0, 0xe0(r19) -/* 801FE830 7C 44 3C 2E */ lfsx f2, r4, r7 -/* 801FE834 D0 53 00 F8 */ stfs f2, 0xf8(r19) -/* 801FE838 7C 25 3C 2E */ lfsx f1, r5, r7 -/* 801FE83C D0 33 01 10 */ stfs f1, 0x110(r19) -/* 801FE840 7C 1E 3C 2E */ lfsx f0, r30, r7 -/* 801FE844 D0 13 01 28 */ stfs f0, 0x128(r19) -/* 801FE848 D0 53 01 40 */ stfs f2, 0x140(r19) -/* 801FE84C D0 33 01 58 */ stfs f1, 0x158(r19) -/* 801FE850 7C 1F 3C 2E */ lfsx f0, r31, r7 -/* 801FE854 D0 13 01 70 */ stfs f0, 0x170(r19) -/* 801FE858 7C 0C 3C 2E */ lfsx f0, r12, r7 -/* 801FE85C D0 13 01 88 */ stfs f0, 0x188(r19) -/* 801FE860 7C 0B 3C 2E */ lfsx f0, r11, r7 -/* 801FE864 D0 13 01 A0 */ stfs f0, 0x1a0(r19) -/* 801FE868 7C 0A 3C 2E */ lfsx f0, r10, r7 -/* 801FE86C D0 13 01 B8 */ stfs f0, 0x1b8(r19) -/* 801FE870 7C 09 3C 2E */ lfsx f0, r9, r7 -/* 801FE874 D0 13 01 D0 */ stfs f0, 0x1d0(r19) -/* 801FE878 7C 08 3C 2E */ lfsx f0, r8, r7 -/* 801FE87C D0 13 01 E8 */ stfs f0, 0x1e8(r19) -/* 801FE880 38 C6 00 01 */ addi r6, r6, 1 -/* 801FE884 38 E7 00 04 */ addi r7, r7, 4 -/* 801FE888 3A 52 00 02 */ addi r18, r18, 2 -/* 801FE88C 42 00 FF 3C */ bdnz lbl_801FE7C8 -/* 801FE890 C0 22 AB 38 */ lfs f1, lit_3902(r2) -/* 801FE894 D0 23 02 00 */ stfs f1, 0x200(r3) -/* 801FE898 C0 02 AB 3C */ lfs f0, lit_3903(r2) -/* 801FE89C D0 03 02 08 */ stfs f0, 0x208(r3) -/* 801FE8A0 C0 02 AB 40 */ lfs f0, lit_3904(r2) -/* 801FE8A4 D0 03 02 14 */ stfs f0, 0x214(r3) -/* 801FE8A8 D0 23 02 04 */ stfs f1, 0x204(r3) -/* 801FE8AC C0 02 AB 44 */ lfs f0, lit_3905(r2) -/* 801FE8B0 D0 03 02 0C */ stfs f0, 0x20c(r3) -/* 801FE8B4 C0 02 AB 48 */ lfs f0, lit_3906(r2) -/* 801FE8B8 D0 03 02 18 */ stfs f0, 0x218(r3) -/* 801FE8BC C0 02 AB 4C */ lfs f0, lit_3907(r2) -/* 801FE8C0 D0 03 02 10 */ stfs f0, 0x210(r3) -/* 801FE8C4 39 61 00 40 */ addi r11, r1, 0x40 -/* 801FE8C8 48 16 39 35 */ bl _restgpr_18 -/* 801FE8CC 80 01 00 44 */ lwz r0, 0x44(r1) -/* 801FE8D0 7C 08 03 A6 */ mtlr r0 -/* 801FE8D4 38 21 00 40 */ addi r1, r1, 0x40 -/* 801FE8D8 4E 80 00 20 */ blr diff --git a/asm/d/meter/d_meter_HIO/__ct__24dMeter_drawMiniGameHIO_cFv.s b/asm/d/meter/d_meter_HIO/__ct__24dMeter_drawMiniGameHIO_cFv.s deleted file mode 100644 index 843d586f82..0000000000 --- a/asm/d/meter/d_meter_HIO/__ct__24dMeter_drawMiniGameHIO_cFv.s +++ /dev/null @@ -1,204 +0,0 @@ -lbl_801FEFF0: -/* 801FEFF0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 801FEFF4 93 E1 00 0C */ stw r31, 0xc(r1) -/* 801FEFF8 3C 80 80 3C */ lis r4, __vt__24dMeter_drawMiniGameHIO_c@ha /* 0x803BF130@ha */ -/* 801FEFFC 38 04 F1 30 */ addi r0, r4, __vt__24dMeter_drawMiniGameHIO_c@l /* 0x803BF130@l */ -/* 801FF000 90 03 00 00 */ stw r0, 0(r3) -/* 801FF004 38 00 FF FF */ li r0, -1 -/* 801FF008 90 03 01 24 */ stw r0, 0x124(r3) -/* 801FF00C 90 03 01 28 */ stw r0, 0x128(r3) -/* 801FF010 90 03 01 2C */ stw r0, 0x12c(r3) -/* 801FF014 90 03 01 30 */ stw r0, 0x130(r3) -/* 801FF018 90 03 01 40 */ stw r0, 0x140(r3) -/* 801FF01C 90 03 01 44 */ stw r0, 0x144(r3) -/* 801FF020 90 03 01 48 */ stw r0, 0x148(r3) -/* 801FF024 90 03 01 4C */ stw r0, 0x14c(r3) -/* 801FF028 90 03 01 78 */ stw r0, 0x178(r3) -/* 801FF02C 90 03 01 7C */ stw r0, 0x17c(r3) -/* 801FF030 90 03 01 80 */ stw r0, 0x180(r3) -/* 801FF034 90 03 01 84 */ stw r0, 0x184(r3) -/* 801FF038 C1 62 AA E0 */ lfs f11, lit_3787(r2) -/* 801FF03C D1 63 00 08 */ stfs f11, 8(r3) -/* 801FF040 C1 42 AA F8 */ lfs f10, lit_3793(r2) -/* 801FF044 D1 43 00 14 */ stfs f10, 0x14(r3) -/* 801FF048 D1 43 00 20 */ stfs f10, 0x20(r3) -/* 801FF04C D1 63 00 2C */ stfs f11, 0x2c(r3) -/* 801FF050 C0 42 AB AC */ lfs f2, lit_4071(r2) -/* 801FF054 D0 43 00 38 */ stfs f2, 0x38(r3) -/* 801FF058 C1 22 AB 04 */ lfs f9, lit_3796(r2) -/* 801FF05C D1 23 00 44 */ stfs f9, 0x44(r3) -/* 801FF060 C0 22 AB B0 */ lfs f1, lit_4072(r2) -/* 801FF064 D0 23 00 50 */ stfs f1, 0x50(r3) -/* 801FF068 C0 02 AB B4 */ lfs f0, lit_4073(r2) -/* 801FF06C D0 03 00 5C */ stfs f0, 0x5c(r3) -/* 801FF070 C1 02 AB B8 */ lfs f8, lit_4074(r2) -/* 801FF074 D1 03 00 68 */ stfs f8, 0x68(r3) -/* 801FF078 D0 43 00 EC */ stfs f2, 0xec(r3) -/* 801FF07C D1 23 00 F0 */ stfs f9, 0xf0(r3) -/* 801FF080 D0 23 00 F4 */ stfs f1, 0xf4(r3) -/* 801FF084 D0 03 00 F8 */ stfs f0, 0xf8(r3) -/* 801FF088 C0 E2 AA E8 */ lfs f7, lit_3789(r2) -/* 801FF08C D0 E3 00 74 */ stfs f7, 0x74(r3) -/* 801FF090 D1 23 00 80 */ stfs f9, 0x80(r3) -/* 801FF094 C0 02 AB 9C */ lfs f0, lit_4039(r2) -/* 801FF098 D0 03 00 8C */ stfs f0, 0x8c(r3) -/* 801FF09C C0 02 AB BC */ lfs f0, lit_4075(r2) -/* 801FF0A0 D0 03 00 98 */ stfs f0, 0x98(r3) -/* 801FF0A4 C0 C2 AB C0 */ lfs f6, lit_4076(r2) -/* 801FF0A8 D0 C3 00 A4 */ stfs f6, 0xa4(r3) -/* 801FF0AC C0 A2 AB 64 */ lfs f5, lit_3921(r2) -/* 801FF0B0 D0 A3 00 B0 */ stfs f5, 0xb0(r3) -/* 801FF0B4 D0 A3 00 BC */ stfs f5, 0xbc(r3) -/* 801FF0B8 C0 02 AB C4 */ lfs f0, lit_4077(r2) -/* 801FF0BC D0 03 00 C8 */ stfs f0, 0xc8(r3) -/* 801FF0C0 D0 03 00 FC */ stfs f0, 0xfc(r3) -/* 801FF0C4 C0 02 AB C8 */ lfs f0, lit_4078(r2) -/* 801FF0C8 D0 03 00 D4 */ stfs f0, 0xd4(r3) -/* 801FF0CC D1 23 00 E0 */ stfs f9, 0xe0(r3) -/* 801FF0D0 D1 63 00 0C */ stfs f11, 0xc(r3) -/* 801FF0D4 C0 02 AB CC */ lfs f0, lit_4079(r2) -/* 801FF0D8 D0 03 00 18 */ stfs f0, 0x18(r3) -/* 801FF0DC C0 82 AB D0 */ lfs f4, lit_4080(r2) -/* 801FF0E0 D0 83 01 00 */ stfs f4, 0x100(r3) -/* 801FF0E4 D1 43 00 24 */ stfs f10, 0x24(r3) -/* 801FF0E8 D1 63 00 30 */ stfs f11, 0x30(r3) -/* 801FF0EC C0 62 AB D4 */ lfs f3, lit_4081(r2) -/* 801FF0F0 D0 63 00 3C */ stfs f3, 0x3c(r3) -/* 801FF0F4 D1 63 00 48 */ stfs f11, 0x48(r3) -/* 801FF0F8 C0 42 AB D8 */ lfs f2, lit_4082(r2) -/* 801FF0FC D0 43 00 54 */ stfs f2, 0x54(r3) -/* 801FF100 C0 02 AB DC */ lfs f0, lit_4083(r2) -/* 801FF104 D0 03 00 60 */ stfs f0, 0x60(r3) -/* 801FF108 D1 03 00 6C */ stfs f8, 0x6c(r3) -/* 801FF10C D0 E3 00 78 */ stfs f7, 0x78(r3) -/* 801FF110 C0 22 AB 6C */ lfs f1, lit_3957(r2) -/* 801FF114 D0 23 00 84 */ stfs f1, 0x84(r3) -/* 801FF118 C0 02 AB E0 */ lfs f0, lit_4084(r2) -/* 801FF11C D0 03 00 90 */ stfs f0, 0x90(r3) -/* 801FF120 C0 02 AB E4 */ lfs f0, lit_4085(r2) -/* 801FF124 D0 03 00 9C */ stfs f0, 0x9c(r3) -/* 801FF128 D0 C3 00 A8 */ stfs f6, 0xa8(r3) -/* 801FF12C D1 23 00 B4 */ stfs f9, 0xb4(r3) -/* 801FF130 D1 23 00 C0 */ stfs f9, 0xc0(r3) -/* 801FF134 C0 02 AB E8 */ lfs f0, lit_4086(r2) -/* 801FF138 D0 03 00 CC */ stfs f0, 0xcc(r3) -/* 801FF13C C0 02 AB EC */ lfs f0, lit_4087(r2) -/* 801FF140 D0 03 00 D8 */ stfs f0, 0xd8(r3) -/* 801FF144 D1 23 00 E4 */ stfs f9, 0xe4(r3) -/* 801FF148 D1 63 00 10 */ stfs f11, 0x10(r3) -/* 801FF14C D1 43 00 1C */ stfs f10, 0x1c(r3) -/* 801FF150 D1 43 00 28 */ stfs f10, 0x28(r3) -/* 801FF154 D1 63 00 34 */ stfs f11, 0x34(r3) -/* 801FF158 D0 63 00 40 */ stfs f3, 0x40(r3) -/* 801FF15C D1 63 00 4C */ stfs f11, 0x4c(r3) -/* 801FF160 D0 43 00 58 */ stfs f2, 0x58(r3) -/* 801FF164 D0 83 00 64 */ stfs f4, 0x64(r3) -/* 801FF168 D1 03 00 70 */ stfs f8, 0x70(r3) -/* 801FF16C D0 E3 00 7C */ stfs f7, 0x7c(r3) -/* 801FF170 D0 23 00 88 */ stfs f1, 0x88(r3) -/* 801FF174 C0 02 AB F0 */ lfs f0, lit_4088(r2) -/* 801FF178 D0 03 00 94 */ stfs f0, 0x94(r3) -/* 801FF17C C0 02 AB F4 */ lfs f0, lit_4089(r2) -/* 801FF180 D0 03 00 A0 */ stfs f0, 0xa0(r3) -/* 801FF184 D0 C3 00 AC */ stfs f6, 0xac(r3) -/* 801FF188 D0 A3 00 B8 */ stfs f5, 0xb8(r3) -/* 801FF18C D0 A3 00 C4 */ stfs f5, 0xc4(r3) -/* 801FF190 C0 02 AB F8 */ lfs f0, lit_4090(r2) -/* 801FF194 D0 03 00 D0 */ stfs f0, 0xd0(r3) -/* 801FF198 C0 02 AB 90 */ lfs f0, lit_4036(r2) -/* 801FF19C D0 03 01 04 */ stfs f0, 0x104(r3) -/* 801FF1A0 C0 02 AB FC */ lfs f0, lit_4091(r2) -/* 801FF1A4 D0 03 00 DC */ stfs f0, 0xdc(r3) -/* 801FF1A8 D1 23 00 E8 */ stfs f9, 0xe8(r3) -/* 801FF1AC 38 00 00 3C */ li r0, 0x3c -/* 801FF1B0 B0 03 01 58 */ sth r0, 0x158(r3) -/* 801FF1B4 3B E0 00 0A */ li r31, 0xa -/* 801FF1B8 B3 E3 01 5A */ sth r31, 0x15a(r3) -/* 801FF1BC D1 63 01 08 */ stfs f11, 0x108(r3) -/* 801FF1C0 D1 63 01 0C */ stfs f11, 0x10c(r3) -/* 801FF1C4 D1 43 01 10 */ stfs f10, 0x110(r3) -/* 801FF1C8 D1 43 01 14 */ stfs f10, 0x114(r3) -/* 801FF1CC D1 63 01 18 */ stfs f11, 0x118(r3) -/* 801FF1D0 B3 E3 01 1C */ sth r31, 0x11c(r3) -/* 801FF1D4 B3 E3 01 1E */ sth r31, 0x11e(r3) -/* 801FF1D8 39 80 00 1E */ li r12, 0x1e -/* 801FF1DC B1 83 01 38 */ sth r12, 0x138(r3) -/* 801FF1E0 C0 22 AC 00 */ lfs f1, lit_4092(r2) -/* 801FF1E4 D0 23 01 20 */ stfs f1, 0x120(r3) -/* 801FF1E8 39 60 00 FF */ li r11, 0xff -/* 801FF1EC 99 63 01 24 */ stb r11, 0x124(r3) -/* 801FF1F0 99 63 01 25 */ stb r11, 0x125(r3) -/* 801FF1F4 39 40 00 A7 */ li r10, 0xa7 -/* 801FF1F8 99 43 01 26 */ stb r10, 0x126(r3) -/* 801FF1FC 39 20 00 50 */ li r9, 0x50 -/* 801FF200 99 23 01 27 */ stb r9, 0x127(r3) -/* 801FF204 39 00 00 DC */ li r8, 0xdc -/* 801FF208 99 03 01 28 */ stb r8, 0x128(r3) -/* 801FF20C 38 E0 00 6E */ li r7, 0x6e -/* 801FF210 98 E3 01 29 */ stb r7, 0x129(r3) -/* 801FF214 99 83 01 2A */ stb r12, 0x12a(r3) -/* 801FF218 38 C0 00 00 */ li r6, 0 -/* 801FF21C 98 C3 01 2B */ stb r6, 0x12b(r3) -/* 801FF220 99 63 01 2C */ stb r11, 0x12c(r3) -/* 801FF224 99 63 01 2D */ stb r11, 0x12d(r3) -/* 801FF228 38 A0 00 BE */ li r5, 0xbe -/* 801FF22C 98 A3 01 2E */ stb r5, 0x12e(r3) -/* 801FF230 38 80 00 5A */ li r4, 0x5a -/* 801FF234 98 83 01 2F */ stb r4, 0x12f(r3) -/* 801FF238 38 00 00 AA */ li r0, 0xaa -/* 801FF23C 98 03 01 30 */ stb r0, 0x130(r3) -/* 801FF240 98 E3 01 31 */ stb r7, 0x131(r3) -/* 801FF244 98 C3 01 32 */ stb r6, 0x132(r3) -/* 801FF248 98 C3 01 33 */ stb r6, 0x133(r3) -/* 801FF24C C0 02 AC 04 */ lfs f0, lit_4093(r2) -/* 801FF250 D0 03 01 34 */ stfs f0, 0x134(r3) -/* 801FF254 98 C3 01 3A */ stb r6, 0x13a(r3) -/* 801FF258 B1 83 01 54 */ sth r12, 0x154(r3) -/* 801FF25C D0 23 01 3C */ stfs f1, 0x13c(r3) -/* 801FF260 99 63 01 40 */ stb r11, 0x140(r3) -/* 801FF264 99 63 01 41 */ stb r11, 0x141(r3) -/* 801FF268 99 43 01 42 */ stb r10, 0x142(r3) -/* 801FF26C 99 23 01 43 */ stb r9, 0x143(r3) -/* 801FF270 99 03 01 44 */ stb r8, 0x144(r3) -/* 801FF274 98 E3 01 45 */ stb r7, 0x145(r3) -/* 801FF278 99 83 01 46 */ stb r12, 0x146(r3) -/* 801FF27C 98 C3 01 47 */ stb r6, 0x147(r3) -/* 801FF280 99 63 01 48 */ stb r11, 0x148(r3) -/* 801FF284 99 63 01 49 */ stb r11, 0x149(r3) -/* 801FF288 98 A3 01 4A */ stb r5, 0x14a(r3) -/* 801FF28C 98 83 01 4B */ stb r4, 0x14b(r3) -/* 801FF290 98 03 01 4C */ stb r0, 0x14c(r3) -/* 801FF294 98 E3 01 4D */ stb r7, 0x14d(r3) -/* 801FF298 98 C3 01 4E */ stb r6, 0x14e(r3) -/* 801FF29C 98 C3 01 4F */ stb r6, 0x14f(r3) -/* 801FF2A0 D0 03 01 50 */ stfs f0, 0x150(r3) -/* 801FF2A4 B1 83 01 56 */ sth r12, 0x156(r3) -/* 801FF2A8 D1 63 01 5C */ stfs f11, 0x15c(r3) -/* 801FF2AC D1 63 01 60 */ stfs f11, 0x160(r3) -/* 801FF2B0 D1 43 01 64 */ stfs f10, 0x164(r3) -/* 801FF2B4 D1 43 01 68 */ stfs f10, 0x168(r3) -/* 801FF2B8 D1 63 01 6C */ stfs f11, 0x16c(r3) -/* 801FF2BC B3 E3 01 70 */ sth r31, 0x170(r3) -/* 801FF2C0 B3 E3 01 72 */ sth r31, 0x172(r3) -/* 801FF2C4 B1 83 01 8C */ sth r12, 0x18c(r3) -/* 801FF2C8 D0 23 01 74 */ stfs f1, 0x174(r3) -/* 801FF2CC 99 63 01 78 */ stb r11, 0x178(r3) -/* 801FF2D0 99 63 01 79 */ stb r11, 0x179(r3) -/* 801FF2D4 99 43 01 7A */ stb r10, 0x17a(r3) -/* 801FF2D8 99 23 01 7B */ stb r9, 0x17b(r3) -/* 801FF2DC 99 03 01 7C */ stb r8, 0x17c(r3) -/* 801FF2E0 98 E3 01 7D */ stb r7, 0x17d(r3) -/* 801FF2E4 99 83 01 7E */ stb r12, 0x17e(r3) -/* 801FF2E8 98 C3 01 7F */ stb r6, 0x17f(r3) -/* 801FF2EC 99 63 01 80 */ stb r11, 0x180(r3) -/* 801FF2F0 99 63 01 81 */ stb r11, 0x181(r3) -/* 801FF2F4 98 A3 01 82 */ stb r5, 0x182(r3) -/* 801FF2F8 98 83 01 83 */ stb r4, 0x183(r3) -/* 801FF2FC 98 03 01 84 */ stb r0, 0x184(r3) -/* 801FF300 98 E3 01 85 */ stb r7, 0x185(r3) -/* 801FF304 98 C3 01 86 */ stb r6, 0x186(r3) -/* 801FF308 98 C3 01 87 */ stb r6, 0x187(r3) -/* 801FF30C D0 03 01 88 */ stfs f0, 0x188(r3) -/* 801FF310 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 801FF314 38 21 00 10 */ addi r1, r1, 0x10 -/* 801FF318 4E 80 00 20 */ blr diff --git a/asm/d/meter/d_meter_HIO/__ct__25dMeter_drawEmpButtonHIO_cFv.s b/asm/d/meter/d_meter_HIO/__ct__25dMeter_drawEmpButtonHIO_cFv.s deleted file mode 100644 index 157007b3b9..0000000000 --- a/asm/d/meter/d_meter_HIO/__ct__25dMeter_drawEmpButtonHIO_cFv.s +++ /dev/null @@ -1,324 +0,0 @@ -lbl_801FEAF0: -/* 801FEAF0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 801FEAF4 7C 08 02 A6 */ mflr r0 -/* 801FEAF8 90 01 00 14 */ stw r0, 0x14(r1) -/* 801FEAFC 93 E1 00 0C */ stw r31, 0xc(r1) -/* 801FEB00 7C 7F 1B 78 */ mr r31, r3 -/* 801FEB04 3C 60 80 3C */ lis r3, __vt__25dMeter_drawEmpButtonHIO_c@ha /* 0x803BF13C@ha */ -/* 801FEB08 38 03 F1 3C */ addi r0, r3, __vt__25dMeter_drawEmpButtonHIO_c@l /* 0x803BF13C@l */ -/* 801FEB0C 90 1F 00 00 */ stw r0, 0(r31) -/* 801FEB10 38 7F 01 B8 */ addi r3, r31, 0x1b8 -/* 801FEB14 3C 80 80 19 */ lis r4, __ct__Q28JUtility6TColorFv@ha /* 0x80193960@ha */ -/* 801FEB18 38 84 39 60 */ addi r4, r4, __ct__Q28JUtility6TColorFv@l /* 0x80193960@l */ -/* 801FEB1C 38 A0 00 00 */ li r5, 0 -/* 801FEB20 38 C0 00 04 */ li r6, 4 -/* 801FEB24 38 E0 00 02 */ li r7, 2 -/* 801FEB28 48 16 32 39 */ bl __construct_array -/* 801FEB2C 38 7F 01 C0 */ addi r3, r31, 0x1c0 -/* 801FEB30 3C 80 80 19 */ lis r4, __ct__Q28JUtility6TColorFv@ha /* 0x80193960@ha */ -/* 801FEB34 38 84 39 60 */ addi r4, r4, __ct__Q28JUtility6TColorFv@l /* 0x80193960@l */ -/* 801FEB38 38 A0 00 00 */ li r5, 0 -/* 801FEB3C 38 C0 00 04 */ li r6, 4 -/* 801FEB40 38 E0 00 02 */ li r7, 2 -/* 801FEB44 48 16 32 1D */ bl __construct_array -/* 801FEB48 38 00 FF FF */ li r0, -1 -/* 801FEB4C 90 1F 01 C8 */ stw r0, 0x1c8(r31) -/* 801FEB50 90 1F 01 CC */ stw r0, 0x1cc(r31) -/* 801FEB54 90 1F 01 E0 */ stw r0, 0x1e0(r31) -/* 801FEB58 90 1F 01 E4 */ stw r0, 0x1e4(r31) -/* 801FEB5C 90 1F 01 E8 */ stw r0, 0x1e8(r31) -/* 801FEB60 90 1F 01 EC */ stw r0, 0x1ec(r31) -/* 801FEB64 90 1F 01 F8 */ stw r0, 0x1f8(r31) -/* 801FEB68 90 1F 01 FC */ stw r0, 0x1fc(r31) -/* 801FEB6C 90 1F 02 00 */ stw r0, 0x200(r31) -/* 801FEB70 90 1F 02 04 */ stw r0, 0x204(r31) -/* 801FEB74 90 1F 02 10 */ stw r0, 0x210(r31) -/* 801FEB78 90 1F 02 14 */ stw r0, 0x214(r31) -/* 801FEB7C 90 1F 02 18 */ stw r0, 0x218(r31) -/* 801FEB80 90 1F 02 1C */ stw r0, 0x21c(r31) -/* 801FEB84 90 1F 02 28 */ stw r0, 0x228(r31) -/* 801FEB88 90 1F 02 2C */ stw r0, 0x22c(r31) -/* 801FEB8C 90 1F 02 30 */ stw r0, 0x230(r31) -/* 801FEB90 90 1F 02 34 */ stw r0, 0x234(r31) -/* 801FEB94 C0 22 AB 70 */ lfs f1, lit_4028(r2) -/* 801FEB98 D0 3F 01 DC */ stfs f1, 0x1dc(r31) -/* 801FEB9C 39 00 00 FF */ li r8, 0xff -/* 801FEBA0 99 1F 01 E0 */ stb r8, 0x1e0(r31) -/* 801FEBA4 99 1F 01 E1 */ stb r8, 0x1e1(r31) -/* 801FEBA8 99 1F 01 E2 */ stb r8, 0x1e2(r31) -/* 801FEBAC 38 E0 00 B9 */ li r7, 0xb9 -/* 801FEBB0 98 FF 01 E3 */ stb r7, 0x1e3(r31) -/* 801FEBB4 38 C0 00 00 */ li r6, 0 -/* 801FEBB8 98 DF 01 E4 */ stb r6, 0x1e4(r31) -/* 801FEBBC 38 A0 00 9B */ li r5, 0x9b -/* 801FEBC0 98 BF 01 E5 */ stb r5, 0x1e5(r31) -/* 801FEBC4 98 DF 01 E6 */ stb r6, 0x1e6(r31) -/* 801FEBC8 98 DF 01 E7 */ stb r6, 0x1e7(r31) -/* 801FEBCC 99 1F 01 E8 */ stb r8, 0x1e8(r31) -/* 801FEBD0 99 1F 01 E9 */ stb r8, 0x1e9(r31) -/* 801FEBD4 99 1F 01 EA */ stb r8, 0x1ea(r31) -/* 801FEBD8 38 80 00 57 */ li r4, 0x57 -/* 801FEBDC 98 9F 01 EB */ stb r4, 0x1eb(r31) -/* 801FEBE0 98 DF 01 EC */ stb r6, 0x1ec(r31) -/* 801FEBE4 38 60 00 73 */ li r3, 0x73 -/* 801FEBE8 98 7F 01 ED */ stb r3, 0x1ed(r31) -/* 801FEBEC 98 DF 01 EE */ stb r6, 0x1ee(r31) -/* 801FEBF0 98 DF 01 EF */ stb r6, 0x1ef(r31) -/* 801FEBF4 C0 02 AB 74 */ lfs f0, lit_4029(r2) -/* 801FEBF8 D0 1F 01 F0 */ stfs f0, 0x1f0(r31) -/* 801FEBFC C0 02 AB 78 */ lfs f0, lit_4030(r2) -/* 801FEC00 D0 1F 01 F4 */ stfs f0, 0x1f4(r31) -/* 801FEC04 99 1F 01 F8 */ stb r8, 0x1f8(r31) -/* 801FEC08 99 1F 01 F9 */ stb r8, 0x1f9(r31) -/* 801FEC0C 99 1F 01 FA */ stb r8, 0x1fa(r31) -/* 801FEC10 99 1F 01 FB */ stb r8, 0x1fb(r31) -/* 801FEC14 38 00 00 DC */ li r0, 0xdc -/* 801FEC18 98 1F 01 FC */ stb r0, 0x1fc(r31) -/* 801FEC1C 98 1F 01 FD */ stb r0, 0x1fd(r31) -/* 801FEC20 38 00 00 D7 */ li r0, 0xd7 -/* 801FEC24 98 1F 01 FE */ stb r0, 0x1fe(r31) -/* 801FEC28 98 DF 01 FF */ stb r6, 0x1ff(r31) -/* 801FEC2C 99 1F 02 00 */ stb r8, 0x200(r31) -/* 801FEC30 99 1F 02 01 */ stb r8, 0x201(r31) -/* 801FEC34 38 00 00 BE */ li r0, 0xbe -/* 801FEC38 98 1F 02 02 */ stb r0, 0x202(r31) -/* 801FEC3C 99 1F 02 03 */ stb r8, 0x203(r31) -/* 801FEC40 38 00 00 C8 */ li r0, 0xc8 -/* 801FEC44 98 1F 02 04 */ stb r0, 0x204(r31) -/* 801FEC48 98 1F 02 05 */ stb r0, 0x205(r31) -/* 801FEC4C 38 00 00 D2 */ li r0, 0xd2 -/* 801FEC50 98 1F 02 06 */ stb r0, 0x206(r31) -/* 801FEC54 98 DF 02 07 */ stb r6, 0x207(r31) -/* 801FEC58 C0 02 AB 7C */ lfs f0, lit_4031(r2) -/* 801FEC5C D0 1F 02 08 */ stfs f0, 0x208(r31) -/* 801FEC60 C0 02 AA E0 */ lfs f0, lit_3787(r2) -/* 801FEC64 D0 1F 02 0C */ stfs f0, 0x20c(r31) -/* 801FEC68 99 1F 02 10 */ stb r8, 0x210(r31) -/* 801FEC6C 99 1F 02 11 */ stb r8, 0x211(r31) -/* 801FEC70 99 1F 02 12 */ stb r8, 0x212(r31) -/* 801FEC74 98 FF 02 13 */ stb r7, 0x213(r31) -/* 801FEC78 98 DF 02 14 */ stb r6, 0x214(r31) -/* 801FEC7C 98 BF 02 15 */ stb r5, 0x215(r31) -/* 801FEC80 98 DF 02 16 */ stb r6, 0x216(r31) -/* 801FEC84 98 DF 02 17 */ stb r6, 0x217(r31) -/* 801FEC88 99 1F 02 18 */ stb r8, 0x218(r31) -/* 801FEC8C 99 1F 02 19 */ stb r8, 0x219(r31) -/* 801FEC90 99 1F 02 1A */ stb r8, 0x21a(r31) -/* 801FEC94 98 9F 02 1B */ stb r4, 0x21b(r31) -/* 801FEC98 98 DF 02 1C */ stb r6, 0x21c(r31) -/* 801FEC9C 98 7F 02 1D */ stb r3, 0x21d(r31) -/* 801FECA0 98 DF 02 1E */ stb r6, 0x21e(r31) -/* 801FECA4 98 DF 02 1F */ stb r6, 0x21f(r31) -/* 801FECA8 C0 02 AB 28 */ lfs f0, lit_3830(r2) -/* 801FECAC D0 1F 02 20 */ stfs f0, 0x220(r31) -/* 801FECB0 D0 3F 02 24 */ stfs f1, 0x224(r31) -/* 801FECB4 99 1F 02 28 */ stb r8, 0x228(r31) -/* 801FECB8 99 1F 02 29 */ stb r8, 0x229(r31) -/* 801FECBC 99 1F 02 2A */ stb r8, 0x22a(r31) -/* 801FECC0 98 FF 02 2B */ stb r7, 0x22b(r31) -/* 801FECC4 98 DF 02 2C */ stb r6, 0x22c(r31) -/* 801FECC8 98 BF 02 2D */ stb r5, 0x22d(r31) -/* 801FECCC 98 DF 02 2E */ stb r6, 0x22e(r31) -/* 801FECD0 98 DF 02 2F */ stb r6, 0x22f(r31) -/* 801FECD4 99 1F 02 30 */ stb r8, 0x230(r31) -/* 801FECD8 99 1F 02 31 */ stb r8, 0x231(r31) -/* 801FECDC 99 1F 02 32 */ stb r8, 0x232(r31) -/* 801FECE0 98 9F 02 33 */ stb r4, 0x233(r31) -/* 801FECE4 98 DF 02 34 */ stb r6, 0x234(r31) -/* 801FECE8 98 7F 02 35 */ stb r3, 0x235(r31) -/* 801FECEC 98 DF 02 36 */ stb r6, 0x236(r31) -/* 801FECF0 98 DF 02 37 */ stb r6, 0x237(r31) -/* 801FECF4 C0 02 AA E8 */ lfs f0, lit_3789(r2) -/* 801FECF8 D0 1F 02 38 */ stfs f0, 0x238(r31) -/* 801FECFC C0 02 AB 80 */ lfs f0, lit_4032(r2) -/* 801FED00 D0 1F 02 3C */ stfs f0, 0x23c(r31) -/* 801FED04 38 00 00 04 */ li r0, 4 -/* 801FED08 B0 1F 02 40 */ sth r0, 0x240(r31) -/* 801FED0C 38 00 00 11 */ li r0, 0x11 -/* 801FED10 7C 09 03 A6 */ mtctr r0 -lbl_801FED14: -/* 801FED14 98 DF 02 48 */ stb r6, 0x248(r31) -/* 801FED18 42 00 FF FC */ bdnz lbl_801FED14 -/* 801FED1C C0 02 AB 84 */ lfs f0, lit_4033(r2) -/* 801FED20 D0 1F 02 44 */ stfs f0, 0x244(r31) -/* 801FED24 C0 42 AA F8 */ lfs f2, lit_3793(r2) -/* 801FED28 D0 5F 00 08 */ stfs f2, 8(r31) -/* 801FED2C C0 02 AB 88 */ lfs f0, lit_4034(r2) -/* 801FED30 D0 1F 00 0C */ stfs f0, 0xc(r31) -/* 801FED34 C0 22 AA E0 */ lfs f1, lit_3787(r2) -/* 801FED38 D0 3F 00 10 */ stfs f1, 0x10(r31) -/* 801FED3C D0 5F 00 14 */ stfs f2, 0x14(r31) -/* 801FED40 D0 5F 00 18 */ stfs f2, 0x18(r31) -/* 801FED44 D0 3F 00 1C */ stfs f1, 0x1c(r31) -/* 801FED48 D0 5F 00 20 */ stfs f2, 0x20(r31) -/* 801FED4C D0 5F 00 24 */ stfs f2, 0x24(r31) -/* 801FED50 D0 3F 00 28 */ stfs f1, 0x28(r31) -/* 801FED54 D0 5F 00 2C */ stfs f2, 0x2c(r31) -/* 801FED58 D0 5F 00 30 */ stfs f2, 0x30(r31) -/* 801FED5C D0 3F 00 34 */ stfs f1, 0x34(r31) -/* 801FED60 D0 5F 00 38 */ stfs f2, 0x38(r31) -/* 801FED64 D0 5F 00 3C */ stfs f2, 0x3c(r31) -/* 801FED68 D0 3F 00 40 */ stfs f1, 0x40(r31) -/* 801FED6C D0 5F 00 44 */ stfs f2, 0x44(r31) -/* 801FED70 D0 5F 00 48 */ stfs f2, 0x48(r31) -/* 801FED74 D0 3F 00 4C */ stfs f1, 0x4c(r31) -/* 801FED78 D0 5F 00 50 */ stfs f2, 0x50(r31) -/* 801FED7C D0 5F 00 54 */ stfs f2, 0x54(r31) -/* 801FED80 D0 3F 00 58 */ stfs f1, 0x58(r31) -/* 801FED84 D0 5F 00 5C */ stfs f2, 0x5c(r31) -/* 801FED88 C0 02 AB 8C */ lfs f0, lit_4035(r2) -/* 801FED8C D0 1F 00 60 */ stfs f0, 0x60(r31) -/* 801FED90 C0 02 AB 04 */ lfs f0, lit_3796(r2) -/* 801FED94 D0 1F 00 64 */ stfs f0, 0x64(r31) -/* 801FED98 D0 5F 00 68 */ stfs f2, 0x68(r31) -/* 801FED9C D0 5F 00 6C */ stfs f2, 0x6c(r31) -/* 801FEDA0 D0 3F 00 70 */ stfs f1, 0x70(r31) -/* 801FEDA4 D0 5F 00 74 */ stfs f2, 0x74(r31) -/* 801FEDA8 D0 5F 00 78 */ stfs f2, 0x78(r31) -/* 801FEDAC D0 3F 00 7C */ stfs f1, 0x7c(r31) -/* 801FEDB0 D0 5F 00 80 */ stfs f2, 0x80(r31) -/* 801FEDB4 D0 5F 00 84 */ stfs f2, 0x84(r31) -/* 801FEDB8 D0 3F 00 88 */ stfs f1, 0x88(r31) -/* 801FEDBC D0 5F 00 8C */ stfs f2, 0x8c(r31) -/* 801FEDC0 D0 5F 00 90 */ stfs f2, 0x90(r31) -/* 801FEDC4 D0 3F 00 94 */ stfs f1, 0x94(r31) -/* 801FEDC8 D0 5F 00 98 */ stfs f2, 0x98(r31) -/* 801FEDCC D0 5F 00 9C */ stfs f2, 0x9c(r31) -/* 801FEDD0 D0 3F 00 A0 */ stfs f1, 0xa0(r31) -/* 801FEDD4 D0 5F 00 BC */ stfs f2, 0xbc(r31) -/* 801FEDD8 D0 5F 00 C0 */ stfs f2, 0xc0(r31) -/* 801FEDDC D0 3F 00 C4 */ stfs f1, 0xc4(r31) -/* 801FEDE0 D0 5F 00 C8 */ stfs f2, 0xc8(r31) -/* 801FEDE4 D0 5F 00 CC */ stfs f2, 0xcc(r31) -/* 801FEDE8 D0 3F 00 D0 */ stfs f1, 0xd0(r31) -/* 801FEDEC D0 5F 00 D4 */ stfs f2, 0xd4(r31) -/* 801FEDF0 D0 5F 00 D8 */ stfs f2, 0xd8(r31) -/* 801FEDF4 D0 3F 00 DC */ stfs f1, 0xdc(r31) -/* 801FEDF8 D0 5F 00 E0 */ stfs f2, 0xe0(r31) -/* 801FEDFC D0 5F 00 E4 */ stfs f2, 0xe4(r31) -/* 801FEE00 D0 3F 00 E8 */ stfs f1, 0xe8(r31) -/* 801FEE04 D0 5F 00 EC */ stfs f2, 0xec(r31) -/* 801FEE08 D0 5F 00 F0 */ stfs f2, 0xf0(r31) -/* 801FEE0C D0 3F 00 F4 */ stfs f1, 0xf4(r31) -/* 801FEE10 D0 5F 00 F8 */ stfs f2, 0xf8(r31) -/* 801FEE14 D0 5F 00 FC */ stfs f2, 0xfc(r31) -/* 801FEE18 D0 3F 01 00 */ stfs f1, 0x100(r31) -/* 801FEE1C D0 5F 01 04 */ stfs f2, 0x104(r31) -/* 801FEE20 D0 5F 01 08 */ stfs f2, 0x108(r31) -/* 801FEE24 D0 3F 01 0C */ stfs f1, 0x10c(r31) -/* 801FEE28 D0 5F 00 A4 */ stfs f2, 0xa4(r31) -/* 801FEE2C D0 5F 00 A8 */ stfs f2, 0xa8(r31) -/* 801FEE30 D0 3F 00 AC */ stfs f1, 0xac(r31) -/* 801FEE34 D0 5F 00 B0 */ stfs f2, 0xb0(r31) -/* 801FEE38 D0 5F 00 B4 */ stfs f2, 0xb4(r31) -/* 801FEE3C D0 3F 00 B8 */ stfs f1, 0xb8(r31) -/* 801FEE40 D0 5F 01 10 */ stfs f2, 0x110(r31) -/* 801FEE44 D0 5F 01 14 */ stfs f2, 0x114(r31) -/* 801FEE48 D0 3F 01 18 */ stfs f1, 0x118(r31) -/* 801FEE4C C0 02 AB 90 */ lfs f0, lit_4036(r2) -/* 801FEE50 D0 1F 01 1C */ stfs f0, 0x11c(r31) -/* 801FEE54 C0 02 AB 94 */ lfs f0, lit_4037(r2) -/* 801FEE58 D0 1F 01 20 */ stfs f0, 0x120(r31) -/* 801FEE5C D0 3F 01 24 */ stfs f1, 0x124(r31) -/* 801FEE60 C0 02 AB 7C */ lfs f0, lit_4031(r2) -/* 801FEE64 D0 1F 01 2C */ stfs f0, 0x12c(r31) -/* 801FEE68 D0 1F 01 28 */ stfs f0, 0x128(r31) -/* 801FEE6C C0 02 AB 78 */ lfs f0, lit_4030(r2) -/* 801FEE70 D0 1F 01 34 */ stfs f0, 0x134(r31) -/* 801FEE74 D0 1F 01 30 */ stfs f0, 0x130(r31) -/* 801FEE78 D0 3F 01 3C */ stfs f1, 0x13c(r31) -/* 801FEE7C D0 3F 01 38 */ stfs f1, 0x138(r31) -/* 801FEE80 C0 02 AB 98 */ lfs f0, lit_4038(r2) -/* 801FEE84 D0 1F 01 40 */ stfs f0, 0x140(r31) -/* 801FEE88 D0 5F 01 44 */ stfs f2, 0x144(r31) -/* 801FEE8C D0 3F 01 48 */ stfs f1, 0x148(r31) -/* 801FEE90 D0 5F 01 4C */ stfs f2, 0x14c(r31) -/* 801FEE94 D0 5F 01 50 */ stfs f2, 0x150(r31) -/* 801FEE98 D0 3F 01 54 */ stfs f1, 0x154(r31) -/* 801FEE9C 38 60 00 00 */ li r3, 0 -/* 801FEEA0 98 7F 02 59 */ stb r3, 0x259(r31) -/* 801FEEA4 D0 5F 01 58 */ stfs f2, 0x158(r31) -/* 801FEEA8 D0 5F 01 5C */ stfs f2, 0x15c(r31) -/* 801FEEAC 38 00 00 03 */ li r0, 3 -/* 801FEEB0 7C 09 03 A6 */ mtctr r0 -lbl_801FEEB4: -/* 801FEEB4 38 03 01 6C */ addi r0, r3, 0x16c -/* 801FEEB8 7C 5F 05 2E */ stfsx f2, r31, r0 -/* 801FEEBC 38 63 00 04 */ addi r3, r3, 4 -/* 801FEEC0 42 00 FF F4 */ bdnz lbl_801FEEB4 -/* 801FEEC4 C0 22 AA F8 */ lfs f1, lit_3793(r2) -/* 801FEEC8 D0 3F 01 60 */ stfs f1, 0x160(r31) -/* 801FEECC C0 02 AB 9C */ lfs f0, lit_4039(r2) -/* 801FEED0 D0 1F 01 64 */ stfs f0, 0x164(r31) -/* 801FEED4 C0 02 AB A0 */ lfs f0, lit_4040(r2) -/* 801FEED8 D0 1F 01 68 */ stfs f0, 0x168(r31) -/* 801FEEDC 38 00 00 00 */ li r0, 0 -/* 801FEEE0 98 1F 02 5A */ stb r0, 0x25a(r31) -/* 801FEEE4 D0 3F 01 78 */ stfs f1, 0x178(r31) -/* 801FEEE8 C0 02 AB 10 */ lfs f0, lit_3799(r2) -/* 801FEEEC D0 1F 01 7C */ stfs f0, 0x17c(r31) -/* 801FEEF0 C0 02 AA F4 */ lfs f0, lit_3792(r2) -/* 801FEEF4 D0 1F 01 80 */ stfs f0, 0x180(r31) -/* 801FEEF8 C0 02 AB 04 */ lfs f0, lit_3796(r2) -/* 801FEEFC D0 1F 01 84 */ stfs f0, 0x184(r31) -/* 801FEF00 38 60 00 00 */ li r3, 0 -/* 801FEF04 C0 02 AA E0 */ lfs f0, lit_3787(r2) -/* 801FEF08 38 00 00 03 */ li r0, 3 -/* 801FEF0C 7C 09 03 A6 */ mtctr r0 -lbl_801FEF10: -/* 801FEF10 7C 9F 1A 14 */ add r4, r31, r3 -/* 801FEF14 D0 24 01 88 */ stfs f1, 0x188(r4) -/* 801FEF18 D0 04 01 AC */ stfs f0, 0x1ac(r4) -/* 801FEF1C 38 63 00 04 */ addi r3, r3, 4 -/* 801FEF20 42 00 FF F0 */ bdnz lbl_801FEF10 -/* 801FEF24 C0 02 AB A4 */ lfs f0, lit_4041(r2) -/* 801FEF28 D0 1F 01 A0 */ stfs f0, 0x1a0(r31) -/* 801FEF2C C0 42 AB A8 */ lfs f2, lit_4042(r2) -/* 801FEF30 D0 5F 01 A4 */ stfs f2, 0x1a4(r31) -/* 801FEF34 C0 22 AA F8 */ lfs f1, lit_3793(r2) -/* 801FEF38 D0 3F 01 A8 */ stfs f1, 0x1a8(r31) -/* 801FEF3C C0 02 AB 98 */ lfs f0, lit_4038(r2) -/* 801FEF40 D0 1F 01 94 */ stfs f0, 0x194(r31) -/* 801FEF44 D0 5F 01 98 */ stfs f2, 0x198(r31) -/* 801FEF48 D0 3F 01 9C */ stfs f1, 0x19c(r31) -/* 801FEF4C 38 00 00 C8 */ li r0, 0xc8 -/* 801FEF50 98 1F 01 B8 */ stb r0, 0x1b8(r31) -/* 801FEF54 98 1F 01 B9 */ stb r0, 0x1b9(r31) -/* 801FEF58 98 1F 01 BA */ stb r0, 0x1ba(r31) -/* 801FEF5C 38 A0 00 00 */ li r5, 0 -/* 801FEF60 98 BF 01 BB */ stb r5, 0x1bb(r31) -/* 801FEF64 38 80 00 FF */ li r4, 0xff -/* 801FEF68 98 9F 01 C0 */ stb r4, 0x1c0(r31) -/* 801FEF6C 98 9F 01 C1 */ stb r4, 0x1c1(r31) -/* 801FEF70 98 BF 01 C2 */ stb r5, 0x1c2(r31) -/* 801FEF74 98 9F 01 C3 */ stb r4, 0x1c3(r31) -/* 801FEF78 98 9F 01 BC */ stb r4, 0x1bc(r31) -/* 801FEF7C 38 60 00 91 */ li r3, 0x91 -/* 801FEF80 98 7F 01 BD */ stb r3, 0x1bd(r31) -/* 801FEF84 38 00 00 64 */ li r0, 0x64 -/* 801FEF88 98 1F 01 BE */ stb r0, 0x1be(r31) -/* 801FEF8C 98 BF 01 BF */ stb r5, 0x1bf(r31) -/* 801FEF90 98 9F 01 C4 */ stb r4, 0x1c4(r31) -/* 801FEF94 98 7F 01 C5 */ stb r3, 0x1c5(r31) -/* 801FEF98 98 1F 01 C6 */ stb r0, 0x1c6(r31) -/* 801FEF9C 98 9F 01 C7 */ stb r4, 0x1c7(r31) -/* 801FEFA0 98 BF 01 C8 */ stb r5, 0x1c8(r31) -/* 801FEFA4 98 BF 01 C9 */ stb r5, 0x1c9(r31) -/* 801FEFA8 98 BF 01 CA */ stb r5, 0x1ca(r31) -/* 801FEFAC 98 BF 01 CB */ stb r5, 0x1cb(r31) -/* 801FEFB0 98 BF 01 CC */ stb r5, 0x1cc(r31) -/* 801FEFB4 98 BF 01 CD */ stb r5, 0x1cd(r31) -/* 801FEFB8 98 BF 01 CE */ stb r5, 0x1ce(r31) -/* 801FEFBC 98 BF 01 CF */ stb r5, 0x1cf(r31) -/* 801FEFC0 C0 02 AA E8 */ lfs f0, lit_3789(r2) -/* 801FEFC4 D0 1F 01 D0 */ stfs f0, 0x1d0(r31) -/* 801FEFC8 C0 02 AB 04 */ lfs f0, lit_3796(r2) -/* 801FEFCC D0 1F 01 D4 */ stfs f0, 0x1d4(r31) -/* 801FEFD0 38 00 00 1E */ li r0, 0x1e -/* 801FEFD4 B0 1F 01 D8 */ sth r0, 0x1d8(r31) -/* 801FEFD8 7F E3 FB 78 */ mr r3, r31 -/* 801FEFDC 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 801FEFE0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 801FEFE4 7C 08 03 A6 */ mtlr r0 -/* 801FEFE8 38 21 00 10 */ addi r1, r1, 0x10 -/* 801FEFEC 4E 80 00 20 */ blr diff --git a/asm/d/meter/d_meter_HIO/__ct__25dMeter_drawLightDropHIO_cFv.s b/asm/d/meter/d_meter_HIO/__ct__25dMeter_drawLightDropHIO_cFv.s deleted file mode 100644 index de02f86a85..0000000000 --- a/asm/d/meter/d_meter_HIO/__ct__25dMeter_drawLightDropHIO_cFv.s +++ /dev/null @@ -1,168 +0,0 @@ -lbl_801FF31C: -/* 801FF31C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 801FF320 7C 08 02 A6 */ mflr r0 -/* 801FF324 90 01 00 14 */ stw r0, 0x14(r1) -/* 801FF328 93 E1 00 0C */ stw r31, 0xc(r1) -/* 801FF32C 7C 7F 1B 78 */ mr r31, r3 -/* 801FF330 3C 60 80 3C */ lis r3, __vt__25dMeter_drawLightDropHIO_c@ha /* 0x803BF124@ha */ -/* 801FF334 38 03 F1 24 */ addi r0, r3, __vt__25dMeter_drawLightDropHIO_c@l /* 0x803BF124@l */ -/* 801FF338 90 1F 00 00 */ stw r0, 0(r31) -/* 801FF33C 38 00 FF FF */ li r0, -1 -/* 801FF340 90 1F 00 38 */ stw r0, 0x38(r31) -/* 801FF344 90 1F 00 3C */ stw r0, 0x3c(r31) -/* 801FF348 90 1F 00 40 */ stw r0, 0x40(r31) -/* 801FF34C 90 1F 00 44 */ stw r0, 0x44(r31) -/* 801FF350 90 1F 00 58 */ stw r0, 0x58(r31) -/* 801FF354 90 1F 00 5C */ stw r0, 0x5c(r31) -/* 801FF358 90 1F 00 60 */ stw r0, 0x60(r31) -/* 801FF35C 90 1F 00 64 */ stw r0, 0x64(r31) -/* 801FF360 38 7F 00 70 */ addi r3, r31, 0x70 -/* 801FF364 3C 80 80 19 */ lis r4, __ct__Q28JUtility6TColorFv@ha /* 0x80193960@ha */ -/* 801FF368 38 84 39 60 */ addi r4, r4, __ct__Q28JUtility6TColorFv@l /* 0x80193960@l */ -/* 801FF36C 38 A0 00 00 */ li r5, 0 -/* 801FF370 38 C0 00 04 */ li r6, 4 -/* 801FF374 38 E0 00 02 */ li r7, 2 -/* 801FF378 48 16 29 E9 */ bl __construct_array -/* 801FF37C 38 7F 00 78 */ addi r3, r31, 0x78 -/* 801FF380 3C 80 80 19 */ lis r4, __ct__Q28JUtility6TColorFv@ha /* 0x80193960@ha */ -/* 801FF384 38 84 39 60 */ addi r4, r4, __ct__Q28JUtility6TColorFv@l /* 0x80193960@l */ -/* 801FF388 38 A0 00 00 */ li r5, 0 -/* 801FF38C 38 C0 00 04 */ li r6, 4 -/* 801FF390 38 E0 00 02 */ li r7, 2 -/* 801FF394 48 16 29 CD */ bl __construct_array -/* 801FF398 38 7F 00 80 */ addi r3, r31, 0x80 -/* 801FF39C 3C 80 80 19 */ lis r4, __ct__Q28JUtility6TColorFv@ha /* 0x80193960@ha */ -/* 801FF3A0 38 84 39 60 */ addi r4, r4, __ct__Q28JUtility6TColorFv@l /* 0x80193960@l */ -/* 801FF3A4 38 A0 00 00 */ li r5, 0 -/* 801FF3A8 38 C0 00 04 */ li r6, 4 -/* 801FF3AC 38 E0 00 02 */ li r7, 2 -/* 801FF3B0 48 16 29 B1 */ bl __construct_array -/* 801FF3B4 38 7F 00 88 */ addi r3, r31, 0x88 -/* 801FF3B8 3C 80 80 19 */ lis r4, __ct__Q28JUtility6TColorFv@ha /* 0x80193960@ha */ -/* 801FF3BC 38 84 39 60 */ addi r4, r4, __ct__Q28JUtility6TColorFv@l /* 0x80193960@l */ -/* 801FF3C0 38 A0 00 00 */ li r5, 0 -/* 801FF3C4 38 C0 00 04 */ li r6, 4 -/* 801FF3C8 38 E0 00 02 */ li r7, 2 -/* 801FF3CC 48 16 29 95 */ bl __construct_array -/* 801FF3D0 C0 22 AC 08 */ lfs f1, lit_4126(r2) -/* 801FF3D4 D0 3F 00 08 */ stfs f1, 8(r31) -/* 801FF3D8 C0 02 AB E4 */ lfs f0, lit_4085(r2) -/* 801FF3DC D0 1F 00 10 */ stfs f0, 0x10(r31) -/* 801FF3E0 C0 02 AC 0C */ lfs f0, lit_4127(r2) -/* 801FF3E4 D0 1F 00 18 */ stfs f0, 0x18(r31) -/* 801FF3E8 C0 02 AB 34 */ lfs f0, lit_3867(r2) -/* 801FF3EC D0 1F 00 20 */ stfs f0, 0x20(r31) -/* 801FF3F0 C0 02 AC 10 */ lfs f0, lit_4128(r2) -/* 801FF3F4 D0 1F 00 24 */ stfs f0, 0x24(r31) -/* 801FF3F8 C0 42 AA E0 */ lfs f2, lit_3787(r2) -/* 801FF3FC D0 5F 00 28 */ stfs f2, 0x28(r31) -/* 801FF400 D0 3F 00 0C */ stfs f1, 0xc(r31) -/* 801FF404 C0 02 AB 5C */ lfs f0, lit_3915(r2) -/* 801FF408 D0 1F 00 14 */ stfs f0, 0x14(r31) -/* 801FF40C C0 02 AC 14 */ lfs f0, lit_4129(r2) -/* 801FF410 D0 1F 00 1C */ stfs f0, 0x1c(r31) -/* 801FF414 C0 22 AB B8 */ lfs f1, lit_4074(r2) -/* 801FF418 D0 3F 00 2C */ stfs f1, 0x2c(r31) -/* 801FF41C C0 02 AB 70 */ lfs f0, lit_4028(r2) -/* 801FF420 D0 1F 00 4C */ stfs f0, 0x4c(r31) -/* 801FF424 38 00 00 14 */ li r0, 0x14 -/* 801FF428 B0 1F 00 50 */ sth r0, 0x50(r31) -/* 801FF42C D0 5F 00 48 */ stfs f2, 0x48(r31) -/* 801FF430 38 00 00 01 */ li r0, 1 -/* 801FF434 B0 1F 00 52 */ sth r0, 0x52(r31) -/* 801FF438 38 00 FF F1 */ li r0, -15 -/* 801FF43C B0 1F 00 54 */ sth r0, 0x54(r31) -/* 801FF440 D0 3F 00 30 */ stfs f1, 0x30(r31) -/* 801FF444 D0 5F 00 34 */ stfs f2, 0x34(r31) -/* 801FF448 38 00 00 1E */ li r0, 0x1e -/* 801FF44C 98 1F 00 3C */ stb r0, 0x3c(r31) -/* 801FF450 38 C0 00 FF */ li r6, 0xff -/* 801FF454 98 DF 00 3D */ stb r6, 0x3d(r31) -/* 801FF458 98 DF 00 3E */ stb r6, 0x3e(r31) -/* 801FF45C 38 A0 00 00 */ li r5, 0 -/* 801FF460 98 BF 00 3F */ stb r5, 0x3f(r31) -/* 801FF464 98 DF 00 38 */ stb r6, 0x38(r31) -/* 801FF468 98 DF 00 39 */ stb r6, 0x39(r31) -/* 801FF46C 98 DF 00 3A */ stb r6, 0x3a(r31) -/* 801FF470 98 DF 00 3B */ stb r6, 0x3b(r31) -/* 801FF474 98 BF 00 44 */ stb r5, 0x44(r31) -/* 801FF478 98 BF 00 45 */ stb r5, 0x45(r31) -/* 801FF47C 98 BF 00 46 */ stb r5, 0x46(r31) -/* 801FF480 98 BF 00 47 */ stb r5, 0x47(r31) -/* 801FF484 98 DF 00 40 */ stb r6, 0x40(r31) -/* 801FF488 98 DF 00 41 */ stb r6, 0x41(r31) -/* 801FF48C 98 DF 00 42 */ stb r6, 0x42(r31) -/* 801FF490 98 DF 00 43 */ stb r6, 0x43(r31) -/* 801FF494 C0 22 AC 04 */ lfs f1, lit_4093(r2) -/* 801FF498 D0 3F 00 A0 */ stfs f1, 0xa0(r31) -/* 801FF49C 98 DF 00 70 */ stb r6, 0x70(r31) -/* 801FF4A0 98 DF 00 71 */ stb r6, 0x71(r31) -/* 801FF4A4 98 DF 00 72 */ stb r6, 0x72(r31) -/* 801FF4A8 98 DF 00 73 */ stb r6, 0x73(r31) -/* 801FF4AC 98 BF 00 78 */ stb r5, 0x78(r31) -/* 801FF4B0 98 BF 00 79 */ stb r5, 0x79(r31) -/* 801FF4B4 98 BF 00 7A */ stb r5, 0x7a(r31) -/* 801FF4B8 98 BF 00 7B */ stb r5, 0x7b(r31) -/* 801FF4BC 98 DF 00 80 */ stb r6, 0x80(r31) -/* 801FF4C0 98 DF 00 81 */ stb r6, 0x81(r31) -/* 801FF4C4 98 DF 00 82 */ stb r6, 0x82(r31) -/* 801FF4C8 98 DF 00 83 */ stb r6, 0x83(r31) -/* 801FF4CC 38 80 00 7E */ li r4, 0x7e -/* 801FF4D0 98 9F 00 88 */ stb r4, 0x88(r31) -/* 801FF4D4 38 60 00 EE */ li r3, 0xee -/* 801FF4D8 98 7F 00 89 */ stb r3, 0x89(r31) -/* 801FF4DC 38 00 00 DA */ li r0, 0xda -/* 801FF4E0 98 1F 00 8A */ stb r0, 0x8a(r31) -/* 801FF4E4 98 BF 00 8B */ stb r5, 0x8b(r31) -/* 801FF4E8 C0 02 AC 18 */ lfs f0, lit_4130(r2) -/* 801FF4EC D0 1F 00 90 */ stfs f0, 0x90(r31) -/* 801FF4F0 C0 02 AB C0 */ lfs f0, lit_4076(r2) -/* 801FF4F4 D0 1F 00 A4 */ stfs f0, 0xa4(r31) -/* 801FF4F8 98 DF 00 74 */ stb r6, 0x74(r31) -/* 801FF4FC 98 DF 00 75 */ stb r6, 0x75(r31) -/* 801FF500 98 DF 00 76 */ stb r6, 0x76(r31) -/* 801FF504 98 DF 00 77 */ stb r6, 0x77(r31) -/* 801FF508 98 BF 00 7C */ stb r5, 0x7c(r31) -/* 801FF50C 98 BF 00 7D */ stb r5, 0x7d(r31) -/* 801FF510 98 BF 00 7E */ stb r5, 0x7e(r31) -/* 801FF514 98 BF 00 7F */ stb r5, 0x7f(r31) -/* 801FF518 98 DF 00 84 */ stb r6, 0x84(r31) -/* 801FF51C 98 DF 00 85 */ stb r6, 0x85(r31) -/* 801FF520 98 DF 00 86 */ stb r6, 0x86(r31) -/* 801FF524 98 DF 00 87 */ stb r6, 0x87(r31) -/* 801FF528 98 9F 00 8C */ stb r4, 0x8c(r31) -/* 801FF52C 98 7F 00 8D */ stb r3, 0x8d(r31) -/* 801FF530 98 1F 00 8E */ stb r0, 0x8e(r31) -/* 801FF534 98 BF 00 8F */ stb r5, 0x8f(r31) -/* 801FF538 C0 02 AC 1C */ lfs f0, lit_4131(r2) -/* 801FF53C D0 1F 00 94 */ stfs f0, 0x94(r31) -/* 801FF540 98 DF 00 58 */ stb r6, 0x58(r31) -/* 801FF544 98 DF 00 59 */ stb r6, 0x59(r31) -/* 801FF548 98 DF 00 5A */ stb r6, 0x5a(r31) -/* 801FF54C 98 DF 00 5B */ stb r6, 0x5b(r31) -/* 801FF550 98 BF 00 5C */ stb r5, 0x5c(r31) -/* 801FF554 98 BF 00 5D */ stb r5, 0x5d(r31) -/* 801FF558 98 BF 00 5E */ stb r5, 0x5e(r31) -/* 801FF55C 98 BF 00 5F */ stb r5, 0x5f(r31) -/* 801FF560 98 DF 00 60 */ stb r6, 0x60(r31) -/* 801FF564 98 DF 00 61 */ stb r6, 0x61(r31) -/* 801FF568 98 DF 00 62 */ stb r6, 0x62(r31) -/* 801FF56C 98 DF 00 63 */ stb r6, 0x63(r31) -/* 801FF570 98 9F 00 64 */ stb r4, 0x64(r31) -/* 801FF574 98 7F 00 65 */ stb r3, 0x65(r31) -/* 801FF578 98 1F 00 66 */ stb r0, 0x66(r31) -/* 801FF57C 98 BF 00 67 */ stb r5, 0x67(r31) -/* 801FF580 C0 02 AC 20 */ lfs f0, lit_4132(r2) -/* 801FF584 D0 1F 00 68 */ stfs f0, 0x68(r31) -/* 801FF588 D0 3F 00 6C */ stfs f1, 0x6c(r31) -/* 801FF58C C0 02 AA F0 */ lfs f0, lit_3791(r2) -/* 801FF590 D0 1F 00 98 */ stfs f0, 0x98(r31) -/* 801FF594 C0 02 AB 28 */ lfs f0, lit_3830(r2) -/* 801FF598 D0 1F 00 9C */ stfs f0, 0x9c(r31) -/* 801FF59C 98 BF 00 A8 */ stb r5, 0xa8(r31) -/* 801FF5A0 7F E3 FB 78 */ mr r3, r31 -/* 801FF5A4 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 801FF5A8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 801FF5AC 7C 08 03 A6 */ mtlr r0 -/* 801FF5B0 38 21 00 10 */ addi r1, r1, 0x10 -/* 801FF5B4 4E 80 00 20 */ blr diff --git a/asm/d/meter/d_meter_HIO/__ct__27dMeter_drawCalibrationHIO_cFv.s b/asm/d/meter/d_meter_HIO/__ct__27dMeter_drawCalibrationHIO_cFv.s deleted file mode 100644 index ffcfe3eb74..0000000000 --- a/asm/d/meter/d_meter_HIO/__ct__27dMeter_drawCalibrationHIO_cFv.s +++ /dev/null @@ -1,16 +0,0 @@ -lbl_801FE954: -/* 801FE954 3C 80 80 3C */ lis r4, __vt__27dMeter_drawCalibrationHIO_c@ha /* 0x803BF154@ha */ -/* 801FE958 38 04 F1 54 */ addi r0, r4, __vt__27dMeter_drawCalibrationHIO_c@l /* 0x803BF154@l */ -/* 801FE95C 90 03 00 00 */ stw r0, 0(r3) -/* 801FE960 38 00 00 0A */ li r0, 0xa -/* 801FE964 B0 03 00 10 */ sth r0, 0x10(r3) -/* 801FE968 B0 03 00 12 */ sth r0, 0x12(r3) -/* 801FE96C 38 00 00 00 */ li r0, 0 -/* 801FE970 98 03 00 16 */ stb r0, 0x16(r3) -/* 801FE974 38 00 00 1E */ li r0, 0x1e -/* 801FE978 B0 03 00 14 */ sth r0, 0x14(r3) -/* 801FE97C C0 02 AA E0 */ lfs f0, lit_3787(r2) -/* 801FE980 D0 03 00 08 */ stfs f0, 8(r3) -/* 801FE984 C0 02 AB 64 */ lfs f0, lit_3921(r2) -/* 801FE988 D0 03 00 0C */ stfs f0, 0xc(r3) -/* 801FE98C 4E 80 00 20 */ blr diff --git a/asm/d/meter/d_meter_HIO/__ct__Q216dMeter_fmapHIO_c13MapBlinkAnimeFv.s b/asm/d/meter/d_meter_HIO/__ct__Q216dMeter_fmapHIO_c13MapBlinkAnimeFv.s deleted file mode 100644 index 22ed21c4fd..0000000000 --- a/asm/d/meter/d_meter_HIO/__ct__Q216dMeter_fmapHIO_c13MapBlinkAnimeFv.s +++ /dev/null @@ -1,11 +0,0 @@ -lbl_80201070: -/* 80201070 38 00 FF FF */ li r0, -1 -/* 80201074 90 03 00 00 */ stw r0, 0(r3) -/* 80201078 90 03 00 04 */ stw r0, 4(r3) -/* 8020107C 90 03 00 0C */ stw r0, 0xc(r3) -/* 80201080 90 03 00 10 */ stw r0, 0x10(r3) -/* 80201084 90 03 00 18 */ stw r0, 0x18(r3) -/* 80201088 90 03 00 1C */ stw r0, 0x1c(r3) -/* 8020108C 90 03 00 20 */ stw r0, 0x20(r3) -/* 80201090 90 03 00 24 */ stw r0, 0x24(r3) -/* 80201094 4E 80 00 20 */ blr diff --git a/asm/d/meter/d_meter_HIO/__dt__16dMeter_menuHIO_cFv.s b/asm/d/meter/d_meter_HIO/__dt__16dMeter_menuHIO_cFv.s deleted file mode 100644 index 88df35d4b3..0000000000 --- a/asm/d/meter/d_meter_HIO/__dt__16dMeter_menuHIO_cFv.s +++ /dev/null @@ -1,20 +0,0 @@ -lbl_8020123C: -/* 8020123C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80201240 7C 08 02 A6 */ mflr r0 -/* 80201244 90 01 00 14 */ stw r0, 0x14(r1) -/* 80201248 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8020124C 7C 7F 1B 79 */ or. r31, r3, r3 -/* 80201250 41 82 00 1C */ beq lbl_8020126C -/* 80201254 3C A0 80 3C */ lis r5, __vt__16dMeter_menuHIO_c@ha /* 0x803BF19C@ha */ -/* 80201258 38 05 F1 9C */ addi r0, r5, __vt__16dMeter_menuHIO_c@l /* 0x803BF19C@l */ -/* 8020125C 90 1F 00 00 */ stw r0, 0(r31) -/* 80201260 7C 80 07 35 */ extsh. r0, r4 -/* 80201264 40 81 00 08 */ ble lbl_8020126C -/* 80201268 48 0C DA D5 */ bl __dl__FPv -lbl_8020126C: -/* 8020126C 7F E3 FB 78 */ mr r3, r31 -/* 80201270 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80201274 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80201278 7C 08 03 A6 */ mtlr r0 -/* 8020127C 38 21 00 10 */ addi r1, r1, 0x10 -/* 80201280 4E 80 00 20 */ blr diff --git a/asm/f_ap/f_ap_game/__ct__11fapGm_HIO_cFv.s b/asm/f_ap/f_ap_game/__ct__11fapGm_HIO_cFv.s deleted file mode 100644 index ef097da7dc..0000000000 --- a/asm/f_ap/f_ap_game/__ct__11fapGm_HIO_cFv.s +++ /dev/null @@ -1,67 +0,0 @@ -lbl_80018944: -/* 80018944 3C 80 80 3A */ lis r4, __vt__11fapGm_HIO_c@ha /* 0x803A35A0@ha */ -/* 80018948 38 04 35 A0 */ addi r0, r4, __vt__11fapGm_HIO_c@l /* 0x803A35A0@l */ -/* 8001894C 90 03 00 00 */ stw r0, 0(r3) -/* 80018950 38 00 FF FF */ li r0, -1 -/* 80018954 90 03 00 08 */ stw r0, 8(r3) -/* 80018958 90 03 00 24 */ stw r0, 0x24(r3) -/* 8001895C 90 03 00 28 */ stw r0, 0x28(r3) -/* 80018960 90 03 00 2C */ stw r0, 0x2c(r3) -/* 80018964 90 03 00 30 */ stw r0, 0x30(r3) -/* 80018968 38 80 00 01 */ li r4, 1 -/* 8001896C 98 83 00 14 */ stb r4, 0x14(r3) -/* 80018970 88 0D 80 00 */ lbz r0, data_80450580(r13) -/* 80018974 7C 00 07 75 */ extsb. r0, r0 -/* 80018978 41 82 00 10 */ beq lbl_80018988 -/* 8001897C 98 83 00 15 */ stb r4, 0x15(r3) -/* 80018980 98 83 00 16 */ stb r4, 0x16(r3) -/* 80018984 48 00 00 14 */ b lbl_80018998 -lbl_80018988: -/* 80018988 38 00 00 00 */ li r0, 0 -/* 8001898C 98 03 00 15 */ stb r0, 0x15(r3) -/* 80018990 98 03 00 16 */ stb r0, 0x16(r3) -/* 80018994 98 03 00 17 */ stb r0, 0x17(r3) -lbl_80018998: -/* 80018998 38 00 00 01 */ li r0, 1 -/* 8001899C 98 03 00 17 */ stb r0, 0x17(r3) -/* 800189A0 98 03 00 18 */ stb r0, 0x18(r3) -/* 800189A4 38 A0 00 00 */ li r5, 0 -/* 800189A8 98 A3 00 19 */ stb r5, 0x19(r3) -/* 800189AC 98 A3 00 1A */ stb r5, 0x1a(r3) -/* 800189B0 38 80 00 FF */ li r4, 0xff -/* 800189B4 98 83 00 08 */ stb r4, 8(r3) -/* 800189B8 98 83 00 09 */ stb r4, 9(r3) -/* 800189BC 98 83 00 0A */ stb r4, 0xa(r3) -/* 800189C0 98 83 00 0B */ stb r4, 0xb(r3) -/* 800189C4 C0 02 81 C0 */ lfs f0, lit_3689(r2) -/* 800189C8 D0 03 00 0C */ stfs f0, 0xc(r3) -/* 800189CC C0 02 81 C4 */ lfs f0, lit_3690(r2) -/* 800189D0 D0 03 00 10 */ stfs f0, 0x10(r3) -/* 800189D4 98 83 00 24 */ stb r4, 0x24(r3) -/* 800189D8 38 00 00 96 */ li r0, 0x96 -/* 800189DC 98 03 00 25 */ stb r0, 0x25(r3) -/* 800189E0 98 A3 00 26 */ stb r5, 0x26(r3) -/* 800189E4 98 83 00 27 */ stb r4, 0x27(r3) -/* 800189E8 98 83 00 28 */ stb r4, 0x28(r3) -/* 800189EC 38 00 00 78 */ li r0, 0x78 -/* 800189F0 98 03 00 29 */ stb r0, 0x29(r3) -/* 800189F4 98 A3 00 2A */ stb r5, 0x2a(r3) -/* 800189F8 98 83 00 2B */ stb r4, 0x2b(r3) -/* 800189FC 98 A3 00 2C */ stb r5, 0x2c(r3) -/* 80018A00 98 A3 00 2D */ stb r5, 0x2d(r3) -/* 80018A04 98 A3 00 2E */ stb r5, 0x2e(r3) -/* 80018A08 98 83 00 2F */ stb r4, 0x2f(r3) -/* 80018A0C 98 A3 00 30 */ stb r5, 0x30(r3) -/* 80018A10 98 A3 00 31 */ stb r5, 0x31(r3) -/* 80018A14 98 A3 00 32 */ stb r5, 0x32(r3) -/* 80018A18 98 83 00 33 */ stb r4, 0x33(r3) -/* 80018A1C B0 A3 00 34 */ sth r5, 0x34(r3) -/* 80018A20 38 00 00 0A */ li r0, 0xa -/* 80018A24 B0 03 00 36 */ sth r0, 0x36(r3) -/* 80018A28 38 00 00 1B */ li r0, 0x1b -/* 80018A2C B0 03 00 3C */ sth r0, 0x3c(r3) -/* 80018A30 B0 A3 00 38 */ sth r5, 0x38(r3) -/* 80018A34 B0 A3 00 3A */ sth r5, 0x3a(r3) -/* 80018A38 38 00 00 82 */ li r0, 0x82 -/* 80018A3C 98 03 00 3E */ stb r0, 0x3e(r3) -/* 80018A40 4E 80 00 20 */ blr diff --git a/asm/f_ap/f_ap_game/__dt__11fapGm_HIO_cFv.s b/asm/f_ap/f_ap_game/__dt__11fapGm_HIO_cFv.s deleted file mode 100644 index 3cbdf71a00..0000000000 --- a/asm/f_ap/f_ap_game/__dt__11fapGm_HIO_cFv.s +++ /dev/null @@ -1,20 +0,0 @@ -lbl_80018AE0: -/* 80018AE0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80018AE4 7C 08 02 A6 */ mflr r0 -/* 80018AE8 90 01 00 14 */ stw r0, 0x14(r1) -/* 80018AEC 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80018AF0 7C 7F 1B 79 */ or. r31, r3, r3 -/* 80018AF4 41 82 00 1C */ beq lbl_80018B10 -/* 80018AF8 3C A0 80 3A */ lis r5, __vt__11fapGm_HIO_c@ha /* 0x803A35A0@ha */ -/* 80018AFC 38 05 35 A0 */ addi r0, r5, __vt__11fapGm_HIO_c@l /* 0x803A35A0@l */ -/* 80018B00 90 1F 00 00 */ stw r0, 0(r31) -/* 80018B04 7C 80 07 35 */ extsh. r0, r4 -/* 80018B08 40 81 00 08 */ ble lbl_80018B10 -/* 80018B0C 48 2B 62 31 */ bl __dl__FPv -lbl_80018B10: -/* 80018B10 7F E3 FB 78 */ mr r3, r31 -/* 80018B14 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80018B18 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80018B1C 7C 08 03 A6 */ mtlr r0 -/* 80018B20 38 21 00 10 */ addi r1, r1, 0x10 -/* 80018B24 4E 80 00 20 */ blr diff --git a/asm/f_ap/f_ap_game/__sinit_f_ap_game_cpp.s b/asm/f_ap/f_ap_game/__sinit_f_ap_game_cpp.s deleted file mode 100644 index 57cfff85ab..0000000000 --- a/asm/f_ap/f_ap_game/__sinit_f_ap_game_cpp.s +++ /dev/null @@ -1,16 +0,0 @@ -lbl_80018B28: -/* 80018B28 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80018B2C 7C 08 02 A6 */ mflr r0 -/* 80018B30 90 01 00 14 */ stw r0, 0x14(r1) -/* 80018B34 3C 60 80 3F */ lis r3, g_HIO@ha /* 0x803F1BBC@ha */ -/* 80018B38 38 63 1B BC */ addi r3, r3, g_HIO@l /* 0x803F1BBC@l */ -/* 80018B3C 4B FF FE 09 */ bl __ct__11fapGm_HIO_cFv -/* 80018B40 3C 80 80 02 */ lis r4, __dt__11fapGm_HIO_cFv@ha /* 0x80018AE0@ha */ -/* 80018B44 38 84 8A E0 */ addi r4, r4, __dt__11fapGm_HIO_cFv@l /* 0x80018AE0@l */ -/* 80018B48 3C A0 80 3F */ lis r5, lit_3691@ha /* 0x803F1BB0@ha */ -/* 80018B4C 38 A5 1B B0 */ addi r5, r5, lit_3691@l /* 0x803F1BB0@l */ -/* 80018B50 48 34 90 D5 */ bl __register_global_object -/* 80018B54 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80018B58 7C 08 03 A6 */ mtlr r0 -/* 80018B5C 38 21 00 10 */ addi r1, r1, 0x10 -/* 80018B60 4E 80 00 20 */ blr diff --git a/asm/f_ap/f_ap_game/fapGm_After__Fv.s b/asm/f_ap/f_ap_game/fapGm_After__Fv.s deleted file mode 100644 index 586e0432ce..0000000000 --- a/asm/f_ap/f_ap_game/fapGm_After__Fv.s +++ /dev/null @@ -1,11 +0,0 @@ -lbl_80018A44: -/* 80018A44 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80018A48 7C 08 02 A6 */ mflr r0 -/* 80018A4C 90 01 00 14 */ stw r0, 0x14(r1) -/* 80018A50 48 00 63 C1 */ bl fopScnM_Management__Fv -/* 80018A54 48 00 5B FD */ bl fopOvlpM_Management__Fv -/* 80018A58 48 00 59 1D */ bl fopCamM_Management__Fv -/* 80018A5C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80018A60 7C 08 03 A6 */ mtlr r0 -/* 80018A64 38 21 00 10 */ addi r1, r1, 0x10 -/* 80018A68 4E 80 00 20 */ blr diff --git a/asm/f_ap/f_ap_game/fapGm_Create__Fv.s b/asm/f_ap/f_ap_game/fapGm_Create__Fv.s deleted file mode 100644 index 941f3946bb..0000000000 --- a/asm/f_ap/f_ap_game/fapGm_Create__Fv.s +++ /dev/null @@ -1,17 +0,0 @@ -lbl_80018AA0: -/* 80018AA0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80018AA4 7C 08 02 A6 */ mflr r0 -/* 80018AA8 90 01 00 14 */ stw r0, 0x14(r1) -/* 80018AAC 48 00 98 0D */ bl fpcM_Init__Fv -/* 80018AB0 48 00 63 81 */ bl fopScnM_Init__Fv -/* 80018AB4 48 00 5C 35 */ bl fopOvlpM_Init__Fv -/* 80018AB8 48 00 58 C1 */ bl fopCamM_Init__Fv -/* 80018ABC 48 00 7A 5D */ bl fopDwTg_CreateQueue__Fv -/* 80018AC0 38 00 FF FF */ li r0, -1 -/* 80018AC4 3C 60 80 3F */ lis r3, g_HIO@ha /* 0x803F1BBC@ha */ -/* 80018AC8 38 63 1B BC */ addi r3, r3, g_HIO@l /* 0x803F1BBC@l */ -/* 80018ACC 98 03 00 04 */ stb r0, 4(r3) -/* 80018AD0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80018AD4 7C 08 03 A6 */ mtlr r0 -/* 80018AD8 38 21 00 10 */ addi r1, r1, 0x10 -/* 80018ADC 4E 80 00 20 */ blr diff --git a/asm/f_ap/f_ap_game/fapGm_Execute__Fv.s b/asm/f_ap/f_ap_game/fapGm_Execute__Fv.s deleted file mode 100644 index a8a550303a..0000000000 --- a/asm/f_ap/f_ap_game/fapGm_Execute__Fv.s +++ /dev/null @@ -1,14 +0,0 @@ -lbl_80018A6C: -/* 80018A6C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80018A70 7C 08 02 A6 */ mflr r0 -/* 80018A74 90 01 00 14 */ stw r0, 0x14(r1) -/* 80018A78 38 60 00 00 */ li r3, 0 -/* 80018A7C 3C 80 80 02 */ lis r4, fapGm_After__Fv@ha /* 0x80018A44@ha */ -/* 80018A80 38 84 8A 44 */ addi r4, r4, fapGm_After__Fv@l /* 0x80018A44@l */ -/* 80018A84 48 00 96 D5 */ bl fpcM_Management__FPFv_vPFv_v -/* 80018A88 38 60 00 00 */ li r3, 0 -/* 80018A8C 48 24 D3 91 */ bl cCt_Counter__Fi -/* 80018A90 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80018A94 7C 08 03 A6 */ mtlr r0 -/* 80018A98 38 21 00 10 */ addi r1, r1, 0x10 -/* 80018A9C 4E 80 00 20 */ blr diff --git a/asm/m_Do/m_Do_MemCard/__sinit_m_Do_MemCard_cpp.s b/asm/m_Do/m_Do_MemCard/__sinit_m_Do_MemCard_cpp.s deleted file mode 100644 index dc76bb0794..0000000000 --- a/asm/m_Do/m_Do_MemCard/__sinit_m_Do_MemCard_cpp.s +++ /dev/null @@ -1,11 +0,0 @@ -lbl_80017470: -/* 80017470 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80017474 7C 08 02 A6 */ mflr r0 -/* 80017478 90 01 00 14 */ stw r0, 0x14(r1) -/* 8001747C 3C 60 80 3F */ lis r3, g_mDoMemCd_control@ha /* 0x803EAF40@ha */ -/* 80017480 38 63 AF 40 */ addi r3, r3, g_mDoMemCd_control@l /* 0x803EAF40@l */ -/* 80017484 4B FF F2 A9 */ bl __ct__15mDoMemCd_Ctrl_cFv -/* 80017488 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8001748C 7C 08 03 A6 */ mtlr r0 -/* 80017490 38 21 00 10 */ addi r1, r1, 0x10 -/* 80017494 4E 80 00 20 */ blr diff --git a/asm/m_Do/m_Do_controller_pad/convert__8mDoCPd_cFP27interface_of_controller_padP10JUTGamePad.s b/asm/m_Do/m_Do_controller_pad/convert__8mDoCPd_cFP27interface_of_controller_padP10JUTGamePad.s deleted file mode 100644 index 4f8df9fb9b..0000000000 --- a/asm/m_Do/m_Do_controller_pad/convert__8mDoCPd_cFP27interface_of_controller_padP10JUTGamePad.s +++ /dev/null @@ -1,90 +0,0 @@ -lbl_80007B7C: -/* 80007B7C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80007B80 80 04 00 18 */ lwz r0, 0x18(r4) -/* 80007B84 90 03 00 30 */ stw r0, 0x30(r3) -/* 80007B88 80 04 00 1C */ lwz r0, 0x1c(r4) -/* 80007B8C 90 03 00 34 */ stw r0, 0x34(r3) -/* 80007B90 C0 04 00 48 */ lfs f0, 0x48(r4) -/* 80007B94 D0 03 00 00 */ stfs f0, 0(r3) -/* 80007B98 C0 04 00 4C */ lfs f0, 0x4c(r4) -/* 80007B9C D0 03 00 04 */ stfs f0, 4(r3) -/* 80007BA0 C0 04 00 50 */ lfs f0, 0x50(r4) -/* 80007BA4 D0 03 00 08 */ stfs f0, 8(r3) -/* 80007BA8 A8 04 00 54 */ lha r0, 0x54(r4) -/* 80007BAC B0 03 00 0C */ sth r0, 0xc(r3) -/* 80007BB0 C0 04 00 58 */ lfs f0, 0x58(r4) -/* 80007BB4 D0 03 00 10 */ stfs f0, 0x10(r3) -/* 80007BB8 C0 04 00 5C */ lfs f0, 0x5c(r4) -/* 80007BBC D0 03 00 14 */ stfs f0, 0x14(r3) -/* 80007BC0 C0 04 00 60 */ lfs f0, 0x60(r4) -/* 80007BC4 D0 03 00 18 */ stfs f0, 0x18(r3) -/* 80007BC8 A8 04 00 64 */ lha r0, 0x64(r4) -/* 80007BCC B0 03 00 1C */ sth r0, 0x1c(r3) -/* 80007BD0 88 04 00 24 */ lbz r0, 0x24(r4) -/* 80007BD4 C0 42 80 20 */ lfs f2, lit_3709(r2) -/* 80007BD8 C8 22 80 30 */ lfd f1, lit_3713(r2) -/* 80007BDC 90 01 00 0C */ stw r0, 0xc(r1) -/* 80007BE0 3C 00 43 30 */ lis r0, 0x4330 -/* 80007BE4 90 01 00 08 */ stw r0, 8(r1) -/* 80007BE8 C8 01 00 08 */ lfd f0, 8(r1) -/* 80007BEC EC 00 08 28 */ fsubs f0, f0, f1 -/* 80007BF0 EC 02 00 32 */ fmuls f0, f2, f0 -/* 80007BF4 D0 03 00 20 */ stfs f0, 0x20(r3) -/* 80007BF8 C0 23 00 20 */ lfs f1, 0x20(r3) -/* 80007BFC C0 02 80 24 */ lfs f0, lit_3710(r2) -/* 80007C00 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 80007C04 40 81 00 08 */ ble lbl_80007C0C -/* 80007C08 D0 03 00 20 */ stfs f0, 0x20(r3) -lbl_80007C0C: -/* 80007C0C 88 04 00 25 */ lbz r0, 0x25(r4) -/* 80007C10 C0 42 80 20 */ lfs f2, lit_3709(r2) -/* 80007C14 C8 22 80 30 */ lfd f1, lit_3713(r2) -/* 80007C18 90 01 00 0C */ stw r0, 0xc(r1) -/* 80007C1C 3C 00 43 30 */ lis r0, 0x4330 -/* 80007C20 90 01 00 08 */ stw r0, 8(r1) -/* 80007C24 C8 01 00 08 */ lfd f0, 8(r1) -/* 80007C28 EC 00 08 28 */ fsubs f0, f0, f1 -/* 80007C2C EC 02 00 32 */ fmuls f0, f2, f0 -/* 80007C30 D0 03 00 24 */ stfs f0, 0x24(r3) -/* 80007C34 C0 23 00 24 */ lfs f1, 0x24(r3) -/* 80007C38 C0 02 80 24 */ lfs f0, lit_3710(r2) -/* 80007C3C FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 80007C40 40 81 00 08 */ ble lbl_80007C48 -/* 80007C44 D0 03 00 24 */ stfs f0, 0x24(r3) -lbl_80007C48: -/* 80007C48 88 04 00 26 */ lbz r0, 0x26(r4) -/* 80007C4C C0 42 80 28 */ lfs f2, lit_3711(r2) -/* 80007C50 C8 22 80 30 */ lfd f1, lit_3713(r2) -/* 80007C54 90 01 00 0C */ stw r0, 0xc(r1) -/* 80007C58 3C 00 43 30 */ lis r0, 0x4330 -/* 80007C5C 90 01 00 08 */ stw r0, 8(r1) -/* 80007C60 C8 01 00 08 */ lfd f0, 8(r1) -/* 80007C64 EC 00 08 28 */ fsubs f0, f0, f1 -/* 80007C68 EC 02 00 32 */ fmuls f0, f2, f0 -/* 80007C6C D0 03 00 28 */ stfs f0, 0x28(r3) -/* 80007C70 C0 23 00 28 */ lfs f1, 0x28(r3) -/* 80007C74 C0 02 80 24 */ lfs f0, lit_3710(r2) -/* 80007C78 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 80007C7C 40 81 00 08 */ ble lbl_80007C84 -/* 80007C80 D0 03 00 28 */ stfs f0, 0x28(r3) -lbl_80007C84: -/* 80007C84 88 04 00 27 */ lbz r0, 0x27(r4) -/* 80007C88 C0 42 80 28 */ lfs f2, lit_3711(r2) -/* 80007C8C C8 22 80 30 */ lfd f1, lit_3713(r2) -/* 80007C90 90 01 00 0C */ stw r0, 0xc(r1) -/* 80007C94 3C 00 43 30 */ lis r0, 0x4330 -/* 80007C98 90 01 00 08 */ stw r0, 8(r1) -/* 80007C9C C8 01 00 08 */ lfd f0, 8(r1) -/* 80007CA0 EC 00 08 28 */ fsubs f0, f0, f1 -/* 80007CA4 EC 02 00 32 */ fmuls f0, f2, f0 -/* 80007CA8 D0 03 00 2C */ stfs f0, 0x2c(r3) -/* 80007CAC C0 23 00 2C */ lfs f1, 0x2c(r3) -/* 80007CB0 C0 02 80 24 */ lfs f0, lit_3710(r2) -/* 80007CB4 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 80007CB8 40 81 00 08 */ ble lbl_80007CC0 -/* 80007CBC D0 03 00 2C */ stfs f0, 0x2c(r3) -lbl_80007CC0: -/* 80007CC0 88 04 00 7E */ lbz r0, 0x7e(r4) -/* 80007CC4 98 03 00 38 */ stb r0, 0x38(r3) -/* 80007CC8 38 21 00 10 */ addi r1, r1, 0x10 -/* 80007CCC 4E 80 00 20 */ blr diff --git a/asm/m_Do/m_Do_controller_pad/create__8mDoCPd_cFv.s b/asm/m_Do/m_Do_controller_pad/create__8mDoCPd_cFv.s deleted file mode 100644 index e3f2643a66..0000000000 --- a/asm/m_Do/m_Do_controller_pad/create__8mDoCPd_cFv.s +++ /dev/null @@ -1,89 +0,0 @@ -lbl_80007954: -/* 80007954 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80007958 7C 08 02 A6 */ mflr r0 -/* 8000795C 90 01 00 14 */ stw r0, 0x14(r1) -/* 80007960 38 60 00 B0 */ li r3, 0xb0 -/* 80007964 48 2C 72 E9 */ bl __nw__FUl -/* 80007968 7C 60 1B 79 */ or. r0, r3, r3 -/* 8000796C 41 82 00 10 */ beq lbl_8000797C -/* 80007970 38 80 00 00 */ li r4, 0 -/* 80007974 48 2D 8D 69 */ bl __ct__10JUTGamePadFQ210JUTGamePad8EPadPort -/* 80007978 7C 60 1B 78 */ mr r0, r3 -lbl_8000797C: -/* 8000797C 3C 60 80 3E */ lis r3, m_gamePad__8mDoCPd_c@ha /* 0x803DD2D8@ha */ -/* 80007980 94 03 D2 D8 */ stwu r0, m_gamePad__8mDoCPd_c@l(r3) /* 0x803DD2D8@l */ -/* 80007984 88 0D 80 00 */ lbz r0, data_80450580(r13) -/* 80007988 7C 00 07 75 */ extsb. r0, r0 -/* 8000798C 41 82 00 80 */ beq lbl_80007A0C -/* 80007990 38 60 00 B0 */ li r3, 0xb0 -/* 80007994 48 2C 72 B9 */ bl __nw__FUl -/* 80007998 7C 60 1B 79 */ or. r0, r3, r3 -/* 8000799C 41 82 00 10 */ beq lbl_800079AC -/* 800079A0 38 80 00 01 */ li r4, 1 -/* 800079A4 48 2D 8D 39 */ bl __ct__10JUTGamePadFQ210JUTGamePad8EPadPort -/* 800079A8 7C 60 1B 78 */ mr r0, r3 -lbl_800079AC: -/* 800079AC 3C 60 80 3E */ lis r3, m_gamePad__8mDoCPd_c@ha /* 0x803DD2D8@ha */ -/* 800079B0 38 63 D2 D8 */ addi r3, r3, m_gamePad__8mDoCPd_c@l /* 0x803DD2D8@l */ -/* 800079B4 90 03 00 04 */ stw r0, 4(r3) -/* 800079B8 38 60 00 B0 */ li r3, 0xb0 -/* 800079BC 48 2C 72 91 */ bl __nw__FUl -/* 800079C0 7C 60 1B 79 */ or. r0, r3, r3 -/* 800079C4 41 82 00 10 */ beq lbl_800079D4 -/* 800079C8 38 80 00 02 */ li r4, 2 -/* 800079CC 48 2D 8D 11 */ bl __ct__10JUTGamePadFQ210JUTGamePad8EPadPort -/* 800079D0 7C 60 1B 78 */ mr r0, r3 -lbl_800079D4: -/* 800079D4 3C 60 80 3E */ lis r3, m_gamePad__8mDoCPd_c@ha /* 0x803DD2D8@ha */ -/* 800079D8 38 63 D2 D8 */ addi r3, r3, m_gamePad__8mDoCPd_c@l /* 0x803DD2D8@l */ -/* 800079DC 90 03 00 08 */ stw r0, 8(r3) -/* 800079E0 38 60 00 B0 */ li r3, 0xb0 -/* 800079E4 48 2C 72 69 */ bl __nw__FUl -/* 800079E8 7C 60 1B 79 */ or. r0, r3, r3 -/* 800079EC 41 82 00 10 */ beq lbl_800079FC -/* 800079F0 38 80 00 03 */ li r4, 3 -/* 800079F4 48 2D 8C E9 */ bl __ct__10JUTGamePadFQ210JUTGamePad8EPadPort -/* 800079F8 7C 60 1B 78 */ mr r0, r3 -lbl_800079FC: -/* 800079FC 3C 60 80 3E */ lis r3, m_gamePad__8mDoCPd_c@ha /* 0x803DD2D8@ha */ -/* 80007A00 38 63 D2 D8 */ addi r3, r3, m_gamePad__8mDoCPd_c@l /* 0x803DD2D8@l */ -/* 80007A04 90 03 00 0C */ stw r0, 0xc(r3) -/* 80007A08 48 00 00 14 */ b lbl_80007A1C -lbl_80007A0C: -/* 80007A0C 38 00 00 00 */ li r0, 0 -/* 80007A10 90 03 00 04 */ stw r0, 4(r3) -/* 80007A14 90 03 00 08 */ stw r0, 8(r3) -/* 80007A18 90 03 00 0C */ stw r0, 0xc(r3) -lbl_80007A1C: -/* 80007A1C 80 6D 86 F8 */ lwz r3, mResetData__6mDoRst(r13) -/* 80007A20 80 03 00 00 */ lwz r0, 0(r3) -/* 80007A24 2C 00 00 00 */ cmpwi r0, 0 -/* 80007A28 40 82 00 1C */ bne lbl_80007A44 -/* 80007A2C 38 80 00 00 */ li r4, 0 -/* 80007A30 98 8D 8F 81 */ stb r4, struct_80451500+0x1(r13) -/* 80007A34 3C 60 80 01 */ lis r3, mDoRst_resetCallBack__FiPv@ha /* 0x8001574C@ha */ -/* 80007A38 38 03 57 4C */ addi r0, r3, mDoRst_resetCallBack__FiPv@l /* 0x8001574C@l */ -/* 80007A3C 90 0D 8F 6C */ stw r0, sCallback__Q210JUTGamePad13C3ButtonReset(r13) -/* 80007A40 90 8D 8F 70 */ stw r4, sCallbackArg__Q210JUTGamePad13C3ButtonReset(r13) -lbl_80007A44: -/* 80007A44 38 00 00 03 */ li r0, 3 -/* 80007A48 90 0D 8F 5C */ stw r0, sAnalogMode__10JUTGamePad(r13) -/* 80007A4C 38 60 00 03 */ li r3, 3 -/* 80007A50 48 34 7F C1 */ bl PADSetAnalogMode -/* 80007A54 3C 60 80 3E */ lis r3, m_cpadInfo__8mDoCPd_c@ha /* 0x803DD2E8@ha */ -/* 80007A58 38 03 D2 E8 */ addi r0, r3, m_cpadInfo__8mDoCPd_c@l /* 0x803DD2E8@l */ -/* 80007A5C 7C 04 03 78 */ mr r4, r0 -/* 80007A60 38 60 00 00 */ li r3, 0 -/* 80007A64 38 00 00 04 */ li r0, 4 -/* 80007A68 7C 09 03 A6 */ mtctr r0 -lbl_80007A6C: -/* 80007A6C 98 64 00 3A */ stb r3, 0x3a(r4) -/* 80007A70 98 64 00 39 */ stb r3, 0x39(r4) -/* 80007A74 98 64 00 3C */ stb r3, 0x3c(r4) -/* 80007A78 98 64 00 3B */ stb r3, 0x3b(r4) -/* 80007A7C 38 84 00 40 */ addi r4, r4, 0x40 -/* 80007A80 42 00 FF EC */ bdnz lbl_80007A6C -/* 80007A84 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80007A88 7C 08 03 A6 */ mtlr r0 -/* 80007A8C 38 21 00 10 */ addi r1, r1, 0x10 -/* 80007A90 4E 80 00 20 */ blr diff --git a/asm/m_Do/m_Do_lib/setup__14mDoLib_clipperFffff.s b/asm/m_Do/m_Do_lib/setup__14mDoLib_clipperFffff.s deleted file mode 100644 index 8b07b584f2..0000000000 --- a/asm/m_Do/m_Do_lib/setup__14mDoLib_clipperFffff.s +++ /dev/null @@ -1,34 +0,0 @@ -lbl_8001528C: -/* 8001528C 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80015290 7C 08 02 A6 */ mflr r0 -/* 80015294 90 01 00 24 */ stw r0, 0x24(r1) -/* 80015298 DB E1 00 10 */ stfd f31, 0x10(r1) -/* 8001529C F3 E1 00 18 */ psq_st f31, 24(r1), 0, 0 /* qr0 */ -/* 800152A0 FF E0 08 90 */ fmr f31, f1 -/* 800152A4 3C 60 80 3E */ lis r3, mClipper__14mDoLib_clipper@ha /* 0x803DD8E4@ha */ -/* 800152A8 38 63 D8 E4 */ addi r3, r3, mClipper__14mDoLib_clipper@l /* 0x803DD8E4@l */ -/* 800152AC D3 E3 00 4C */ stfs f31, 0x4c(r3) -/* 800152B0 D0 43 00 50 */ stfs f2, 0x50(r3) -/* 800152B4 D0 63 00 54 */ stfs f3, 0x54(r3) -/* 800152B8 D0 83 00 58 */ stfs f4, 0x58(r3) -/* 800152BC D0 8D 86 F0 */ stfs f4, mSystemFar__14mDoLib_clipper(r13) -/* 800152C0 48 25 E4 CD */ bl calcViewFrustum__11J3DUClipperFv -/* 800152C4 C0 02 81 80 */ lfs f0, lit_3739(r2) -/* 800152C8 EC 00 07 F2 */ fmuls f0, f0, f31 -/* 800152CC FC 00 00 1E */ fctiwz f0, f0 -/* 800152D0 D8 01 00 08 */ stfd f0, 8(r1) -/* 800152D4 80 01 00 0C */ lwz r0, 0xc(r1) -/* 800152D8 54 00 04 38 */ rlwinm r0, r0, 0, 0x10, 0x1c -/* 800152DC 3C 60 80 44 */ lis r3, sincosTable___5JMath@ha /* 0x80439A20@ha */ -/* 800152E0 38 83 9A 20 */ addi r4, r3, sincosTable___5JMath@l /* 0x80439A20@l */ -/* 800152E4 7C 64 02 14 */ add r3, r4, r0 -/* 800152E8 C0 23 00 04 */ lfs f1, 4(r3) -/* 800152EC 7C 04 04 2E */ lfsx f0, r4, r0 -/* 800152F0 EC 01 00 24 */ fdivs f0, f1, f0 -/* 800152F4 D0 0D 86 F4 */ stfs f0, mFovyRate__14mDoLib_clipper(r13) -/* 800152F8 E3 E1 00 18 */ psq_l f31, 24(r1), 0, 0 /* qr0 */ -/* 800152FC CB E1 00 10 */ lfd f31, 0x10(r1) -/* 80015300 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80015304 7C 08 03 A6 */ mtlr r0 -/* 80015308 38 21 00 20 */ addi r1, r1, 0x20 -/* 8001530C 4E 80 00 20 */ blr diff --git a/asm/m_Do/m_Do_machine/exceptionReadPad__FPUlPUl.s b/asm/m_Do/m_Do_machine/exceptionReadPad__FPUlPUl.s deleted file mode 100644 index 7241b5445a..0000000000 --- a/asm/m_Do/m_Do_machine/exceptionReadPad__FPUlPUl.s +++ /dev/null @@ -1,13 +0,0 @@ -lbl_8000B768: -/* 8000B768 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8000B76C 7C 08 02 A6 */ mflr r0 -/* 8000B770 90 01 00 14 */ stw r0, 0x14(r1) -/* 8000B774 7C 60 1B 78 */ mr r0, r3 -/* 8000B778 7C 85 23 78 */ mr r5, r4 -/* 8000B77C 80 6D 8F 88 */ lwz r3, sErrorManager__12JUTException(r13) -/* 8000B780 7C 04 03 78 */ mr r4, r0 -/* 8000B784 48 2D 77 D1 */ bl readPad__12JUTExceptionFPUlPUl -/* 8000B788 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8000B78C 7C 08 03 A6 */ mtlr r0 -/* 8000B790 38 21 00 10 */ addi r1, r1, 0x10 -/* 8000B794 4E 80 00 20 */ blr diff --git a/asm/m_Do/m_Do_machine/exceptionRestart__Fv.s b/asm/m_Do/m_Do_machine/exceptionRestart__Fv.s deleted file mode 100644 index 0256f7f347..0000000000 --- a/asm/m_Do/m_Do_machine/exceptionRestart__Fv.s +++ /dev/null @@ -1,14 +0,0 @@ -lbl_8000B798: -/* 8000B798 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8000B79C 7C 08 02 A6 */ mflr r0 -/* 8000B7A0 90 01 00 14 */ stw r0, 0x14(r1) -/* 8000B7A4 38 60 00 00 */ li r3, 0 -/* 8000B7A8 38 80 00 00 */ li r4, 0 -/* 8000B7AC 38 A0 00 00 */ li r5, 0 -/* 8000B7B0 48 00 9E 65 */ bl mDoRst_reset__FiUli -/* 8000B7B4 38 60 00 00 */ li r3, 0 -/* 8000B7B8 38 80 00 00 */ li r4, 0 -/* 8000B7BC 38 A0 00 00 */ li r5, 0 -/* 8000B7C0 48 33 40 ED */ bl OSResetSystem -lbl_8000B7C4: -/* 8000B7C4 48 00 00 00 */ b lbl_8000B7C4 diff --git a/asm/m_Do/m_Do_machine/mDoMch_HeapCheckAll__Fv.s b/asm/m_Do/m_Do_machine/mDoMch_HeapCheckAll__Fv.s deleted file mode 100644 index 0cc60ffe51..0000000000 --- a/asm/m_Do/m_Do_machine/mDoMch_HeapCheckAll__Fv.s +++ /dev/null @@ -1,10 +0,0 @@ -lbl_8000B668: -/* 8000B668 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8000B66C 7C 08 02 A6 */ mflr r0 -/* 8000B670 90 01 00 14 */ stw r0, 0x14(r1) -/* 8000B674 80 6D 8D F8 */ lwz r3, sRootHeap__7JKRHeap(r13) -/* 8000B678 4B FF FF 51 */ bl myHeapCheckRecursive__FP7JKRHeap -/* 8000B67C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8000B680 7C 08 03 A6 */ mtlr r0 -/* 8000B684 38 21 00 10 */ addi r1, r1, 0x10 -/* 8000B688 4E 80 00 20 */ blr diff --git a/asm/m_Do/m_Do_machine/mDoMch_IsProgressiveMode__Fv.s b/asm/m_Do/m_Do_machine/mDoMch_IsProgressiveMode__Fv.s deleted file mode 100644 index 2f710392fd..0000000000 --- a/asm/m_Do/m_Do_machine/mDoMch_IsProgressiveMode__Fv.s +++ /dev/null @@ -1,12 +0,0 @@ -lbl_8000B73C: -/* 8000B73C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8000B740 7C 08 02 A6 */ mflr r0 -/* 8000B744 90 01 00 14 */ stw r0, 0x14(r1) -/* 8000B748 48 33 4F 6D */ bl OSGetProgressiveMode -/* 8000B74C 20 03 00 01 */ subfic r0, r3, 1 -/* 8000B750 7C 00 00 34 */ cntlzw r0, r0 -/* 8000B754 54 03 DE 3E */ rlwinm r3, r0, 0x1b, 0x18, 0x1f -/* 8000B758 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8000B75C 7C 08 03 A6 */ mtlr r0 -/* 8000B760 38 21 00 10 */ addi r1, r1, 0x10 -/* 8000B764 4E 80 00 20 */ blr diff --git a/asm/m_Do/m_Do_machine/myExceptionCallback__FUsP9OSContextUlUl.s b/asm/m_Do/m_Do_machine/myExceptionCallback__FUsP9OSContextUlUl.s deleted file mode 100644 index 2fd1330994..0000000000 --- a/asm/m_Do/m_Do_machine/myExceptionCallback__FUsP9OSContextUlUl.s +++ /dev/null @@ -1,109 +0,0 @@ -lbl_8000B7C8: -/* 8000B7C8 94 21 FF 30 */ stwu r1, -0xd0(r1) -/* 8000B7CC 7C 08 02 A6 */ mflr r0 -/* 8000B7D0 90 01 00 D4 */ stw r0, 0xd4(r1) -/* 8000B7D4 93 E1 00 CC */ stw r31, 0xcc(r1) -/* 8000B7D8 48 33 6F 25 */ bl OSGetTime -/* 8000B7DC 90 8D 85 94 */ stw r4, data_80450B14(r13) -/* 8000B7E0 90 6D 85 90 */ stw r3, sHungUpTime__7mDoMain(r13) -/* 8000B7E4 4B FF B0 BD */ bl OSReportEnable -/* 8000B7E8 48 25 7A A5 */ bl cAPICPad_recalibrate__Fv -/* 8000B7EC 3C 60 80 37 */ lis r3, m_Do_m_Do_machine__stringBase0@ha /* 0x80373DE8@ha */ -/* 8000B7F0 38 63 3D E8 */ addi r3, r3, m_Do_m_Do_machine__stringBase0@l /* 0x80373DE8@l */ -/* 8000B7F4 38 63 01 19 */ addi r3, r3, 0x119 -/* 8000B7F8 4C C6 31 82 */ crclr 6 -/* 8000B7FC 4B FF B2 C1 */ bl OSReport -/* 8000B800 83 ED 8F 88 */ lwz r31, sErrorManager__12JUTException(r13) -/* 8000B804 28 1F 00 00 */ cmplwi r31, 0 -/* 8000B808 40 82 00 20 */ bne lbl_8000B828 -/* 8000B80C 3C 60 80 37 */ lis r3, m_Do_m_Do_machine__stringBase0@ha /* 0x80373DE8@ha */ -/* 8000B810 38 63 3D E8 */ addi r3, r3, m_Do_m_Do_machine__stringBase0@l /* 0x80373DE8@l */ -/* 8000B814 38 63 01 2D */ addi r3, r3, 0x12d -/* 8000B818 4C C6 31 82 */ crclr 6 -/* 8000B81C 4B FF B2 A1 */ bl OSReport -/* 8000B820 48 32 E4 E1 */ bl PPCHalt -/* 8000B824 48 00 00 FC */ b lbl_8000B920 -lbl_8000B828: -/* 8000B828 38 00 00 80 */ li r0, 0x80 -/* 8000B82C 90 1F 00 94 */ stw r0, 0x94(r31) -/* 8000B830 88 0D 80 00 */ lbz r0, data_80450580(r13) -/* 8000B834 7C 00 07 75 */ extsb. r0, r0 -/* 8000B838 40 82 00 CC */ bne lbl_8000B904 -/* 8000B83C 38 61 00 10 */ addi r3, r1, 0x10 -/* 8000B840 38 80 00 00 */ li r4, 0 -/* 8000B844 48 2D 4E 99 */ bl __ct__10JUTGamePadFQ210JUTGamePad8EPadPort -/* 8000B848 38 01 00 10 */ addi r0, r1, 0x10 -/* 8000B84C 90 1F 00 84 */ stw r0, 0x84(r31) -/* 8000B850 38 00 FF FF */ li r0, -1 -/* 8000B854 90 1F 00 88 */ stw r0, 0x88(r31) -/* 8000B858 28 1F 00 00 */ cmplwi r31, 0 -/* 8000B85C 41 82 00 94 */ beq lbl_8000B8F0 -/* 8000B860 48 33 1E A9 */ bl OSEnableInterrupts -/* 8000B864 3C 60 80 37 */ lis r3, m_Do_m_Do_machine__stringBase0@ha /* 0x80373DE8@ha */ -/* 8000B868 38 63 3D E8 */ addi r3, r3, m_Do_m_Do_machine__stringBase0@l /* 0x80373DE8@l */ -/* 8000B86C 38 63 01 49 */ addi r3, r3, 0x149 -/* 8000B870 4C C6 31 82 */ crclr 6 -/* 8000B874 4B FF B2 49 */ bl OSReport -/* 8000B878 48 00 00 34 */ b lbl_8000B8AC -lbl_8000B87C: -/* 8000B87C 38 61 00 08 */ addi r3, r1, 8 -/* 8000B880 38 81 00 0C */ addi r4, r1, 0xc -/* 8000B884 4B FF FE E5 */ bl exceptionReadPad__FPUlPUl -/* 8000B888 80 61 00 08 */ lwz r3, 8(r1) -/* 8000B88C 80 81 00 0C */ lwz r4, 0xc(r1) -/* 8000B890 4B FF FD FD */ bl developKeyCheck__FUlUl -/* 8000B894 38 60 00 1E */ li r3, 0x1e -/* 8000B898 48 2D 80 E9 */ bl waitTime__12JUTExceptionFl -/* 8000B89C 88 0D 8F 81 */ lbz r0, struct_80451500+0x1(r13) -/* 8000B8A0 28 00 00 00 */ cmplwi r0, 0 -/* 8000B8A4 41 82 00 08 */ beq lbl_8000B8AC -/* 8000B8A8 4B FF FE F1 */ bl exceptionRestart__Fv -lbl_8000B8AC: -/* 8000B8AC 88 0D 80 00 */ lbz r0, data_80450580(r13) -/* 8000B8B0 7C 00 07 75 */ extsb. r0, r0 -/* 8000B8B4 41 82 FF C8 */ beq lbl_8000B87C -/* 8000B8B8 3C 60 80 37 */ lis r3, m_Do_m_Do_machine__stringBase0@ha /* 0x80373DE8@ha */ -/* 8000B8BC 38 63 3D E8 */ addi r3, r3, m_Do_m_Do_machine__stringBase0@l /* 0x80373DE8@l */ -/* 8000B8C0 38 63 01 65 */ addi r3, r3, 0x165 -/* 8000B8C4 4C C6 31 82 */ crclr 6 -/* 8000B8C8 4B FF B1 F5 */ bl OSReport -/* 8000B8CC 38 60 00 01 */ li r3, 1 -/* 8000B8D0 48 2D 93 65 */ bl setVisible__12JUTAssertionFb -/* 8000B8D4 38 00 00 01 */ li r0, 1 -/* 8000B8D8 80 6D 8F 48 */ lwz r3, sDebugPrint__10JUTDbPrint(r13) -/* 8000B8DC 98 03 00 0C */ stb r0, 0xc(r3) -/* 8000B8E0 38 00 00 03 */ li r0, 3 -/* 8000B8E4 80 6D 8C 38 */ lwz r3, systemConsole__9JFWSystem(r13) -/* 8000B8E8 90 03 00 58 */ stw r0, 0x58(r3) -/* 8000B8EC 48 00 00 08 */ b lbl_8000B8F4 -lbl_8000B8F0: -/* 8000B8F0 48 32 E4 11 */ bl PPCHalt -lbl_8000B8F4: -/* 8000B8F4 38 61 00 10 */ addi r3, r1, 0x10 -/* 8000B8F8 38 80 FF FF */ li r4, -1 -/* 8000B8FC 48 2D 4E B5 */ bl __dt__10JUTGamePadFv -/* 8000B900 48 00 00 20 */ b lbl_8000B920 -lbl_8000B904: -/* 8000B904 3C 60 80 37 */ lis r3, m_Do_m_Do_machine__stringBase0@ha /* 0x80373DE8@ha */ -/* 8000B908 38 63 3D E8 */ addi r3, r3, m_Do_m_Do_machine__stringBase0@l /* 0x80373DE8@l */ -/* 8000B90C 38 63 01 83 */ addi r3, r3, 0x183 -/* 8000B910 4C C6 31 82 */ crclr 6 -/* 8000B914 4B FF B1 A9 */ bl OSReport -/* 8000B918 38 60 0B B8 */ li r3, 0xbb8 -/* 8000B91C 48 2D 80 65 */ bl waitTime__12JUTExceptionFl -lbl_8000B920: -/* 8000B920 3C 60 80 37 */ lis r3, m_Do_m_Do_machine__stringBase0@ha /* 0x80373DE8@ha */ -/* 8000B924 38 63 3D E8 */ addi r3, r3, m_Do_m_Do_machine__stringBase0@l /* 0x80373DE8@l */ -/* 8000B928 38 63 01 8E */ addi r3, r3, 0x18e -/* 8000B92C 48 33 D3 C9 */ bl DVDChangeDir -/* 8000B930 48 2D 93 7D */ bl destroyManager__8JUTVideoFv -/* 8000B934 38 60 00 00 */ li r3, 0 -/* 8000B938 48 35 0C 75 */ bl GXSetDrawDoneCallback -/* 8000B93C 38 60 00 00 */ li r3, 0 -/* 8000B940 48 34 1F 01 */ bl VISetBlack -/* 8000B944 48 34 1D 51 */ bl VIFlush -/* 8000B948 83 E1 00 CC */ lwz r31, 0xcc(r1) -/* 8000B94C 80 01 00 D4 */ lwz r0, 0xd4(r1) -/* 8000B950 7C 08 03 A6 */ mtlr r0 -/* 8000B954 38 21 00 D0 */ addi r1, r1, 0xd0 -/* 8000B958 4E 80 00 20 */ blr diff --git a/asm/m_Do/m_Do_machine/my_SysPrintHeap__FPCcPvUl.s b/asm/m_Do/m_Do_machine/my_SysPrintHeap__FPCcPvUl.s deleted file mode 100644 index 6b161f45b3..0000000000 --- a/asm/m_Do/m_Do_machine/my_SysPrintHeap__FPCcPvUl.s +++ /dev/null @@ -1,20 +0,0 @@ -lbl_8000BCF8: -/* 8000BCF8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8000BCFC 7C 08 02 A6 */ mflr r0 -/* 8000BD00 90 01 00 14 */ stw r0, 0x14(r1) -/* 8000BD04 7C 67 1B 78 */ mr r7, r3 -/* 8000BD08 7C 86 23 78 */ mr r6, r4 -/* 8000BD0C 7C A0 2B 78 */ mr r0, r5 -/* 8000BD10 3C 60 80 37 */ lis r3, m_Do_m_Do_machine__stringBase0@ha /* 0x80373DE8@ha */ -/* 8000BD14 38 63 3D E8 */ addi r3, r3, m_Do_m_Do_machine__stringBase0@l /* 0x80373DE8@l */ -/* 8000BD18 38 63 02 2F */ addi r3, r3, 0x22f -/* 8000BD1C 7C E4 3B 78 */ mr r4, r7 -/* 8000BD20 7C C5 33 78 */ mr r5, r6 -/* 8000BD24 7C C6 02 14 */ add r6, r6, r0 -/* 8000BD28 54 07 B2 BE */ srwi r7, r0, 0xa -/* 8000BD2C 4C C6 31 82 */ crclr 6 -/* 8000BD30 4B FF B0 9D */ bl OSReport_System -/* 8000BD34 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8000BD38 7C 08 03 A6 */ mtlr r0 -/* 8000BD3C 38 21 00 10 */ addi r1, r1, 0x10 -/* 8000BD40 4E 80 00 20 */ blr diff --git a/asm/m_Do/m_Do_machine_exception/dispConsoleToTerminal__Fv.s b/asm/m_Do/m_Do_machine_exception/dispConsoleToTerminal__Fv.s deleted file mode 100644 index 8ec7f1e492..0000000000 --- a/asm/m_Do/m_Do_machine_exception/dispConsoleToTerminal__Fv.s +++ /dev/null @@ -1,11 +0,0 @@ -lbl_80018124: -/* 80018124 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80018128 7C 08 02 A6 */ mflr r0 -/* 8001812C 90 01 00 14 */ stw r0, 0x14(r1) -/* 80018130 80 6D 8C 38 */ lwz r3, systemConsole__9JFWSystem(r13) -/* 80018134 38 80 FF FF */ li r4, -1 -/* 80018138 48 2C FE 45 */ bl dumpToTerminal__10JUTConsoleFUi -/* 8001813C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80018140 7C 08 03 A6 */ mtlr r0 -/* 80018144 38 21 00 10 */ addi r1, r1, 0x10 -/* 80018148 4E 80 00 20 */ blr diff --git a/asm/m_Do/m_Do_machine_exception/dispDateInfo__Fv.s b/asm/m_Do/m_Do_machine_exception/dispDateInfo__Fv.s deleted file mode 100644 index ba806396d1..0000000000 --- a/asm/m_Do/m_Do_machine_exception/dispDateInfo__Fv.s +++ /dev/null @@ -1,86 +0,0 @@ -lbl_80017FD0: -/* 80017FD0 94 21 FF C0 */ stwu r1, -0x40(r1) -/* 80017FD4 7C 08 02 A6 */ mflr r0 -/* 80017FD8 90 01 00 44 */ stw r0, 0x44(r1) -/* 80017FDC 3C 60 80 37 */ lis r3, m_Do_m_Do_machine_exception__stringBase0@ha /* 0x80374460@ha */ -/* 80017FE0 38 63 44 60 */ addi r3, r3, m_Do_m_Do_machine_exception__stringBase0@l /* 0x80374460@l */ -/* 80017FE4 38 63 00 C5 */ addi r3, r3, 0xc5 -/* 80017FE8 4B FF FE 21 */ bl print__FPCc -/* 80017FEC 3C 60 80 37 */ lis r3, m_Do_m_Do_machine_exception__stringBase0@ha /* 0x80374460@ha */ -/* 80017FF0 38 63 44 60 */ addi r3, r3, m_Do_m_Do_machine_exception__stringBase0@l /* 0x80374460@l */ -/* 80017FF4 38 63 00 EE */ addi r3, r3, 0xee -/* 80017FF8 4B FF FE 11 */ bl print__FPCc -/* 80017FFC 3C 60 80 37 */ lis r3, m_Do_m_Do_machine_exception__stringBase0@ha /* 0x80374460@ha */ -/* 80018000 38 63 44 60 */ addi r3, r3, m_Do_m_Do_machine_exception__stringBase0@l /* 0x80374460@l */ -/* 80018004 38 63 00 FE */ addi r3, r3, 0xfe -/* 80018008 4B FF FE 01 */ bl print__FPCc -/* 8001800C 3C 60 80 37 */ lis r3, m_Do_m_Do_machine_exception__stringBase0@ha /* 0x80374460@ha */ -/* 80018010 38 63 44 60 */ addi r3, r3, m_Do_m_Do_machine_exception__stringBase0@l /* 0x80374460@l */ -/* 80018014 38 63 01 13 */ addi r3, r3, 0x113 -/* 80018018 3C 80 80 3A */ lis r4, COPYDATE_STRING__7mDoMain@ha /* 0x803A2EE0@ha */ -/* 8001801C 38 84 2E E0 */ addi r4, r4, COPYDATE_STRING__7mDoMain@l /* 0x803A2EE0@l */ -/* 80018020 4C C6 31 82 */ crclr 6 -/* 80018024 4B FF FD 59 */ bl print_f__FPCce -/* 80018028 80 6D 85 88 */ lwz r3, sPowerOnTime__7mDoMain(r13) -/* 8001802C 80 8D 85 8C */ lwz r4, data_80450B0C(r13) -/* 80018030 38 A1 00 10 */ addi r5, r1, 0x10 -/* 80018034 48 32 A9 41 */ bl OSTicksToCalendarTime -/* 80018038 80 01 00 34 */ lwz r0, 0x34(r1) -/* 8001803C 90 01 00 08 */ stw r0, 8(r1) -/* 80018040 3C 60 80 37 */ lis r3, m_Do_m_Do_machine_exception__stringBase0@ha /* 0x80374460@ha */ -/* 80018044 38 63 44 60 */ addi r3, r3, m_Do_m_Do_machine_exception__stringBase0@l /* 0x80374460@l */ -/* 80018048 38 63 01 26 */ addi r3, r3, 0x126 -/* 8001804C 80 81 00 24 */ lwz r4, 0x24(r1) -/* 80018050 80 A1 00 20 */ lwz r5, 0x20(r1) -/* 80018054 80 C1 00 1C */ lwz r6, 0x1c(r1) -/* 80018058 80 E1 00 18 */ lwz r7, 0x18(r1) -/* 8001805C 81 01 00 14 */ lwz r8, 0x14(r1) -/* 80018060 81 21 00 10 */ lwz r9, 0x10(r1) -/* 80018064 81 41 00 30 */ lwz r10, 0x30(r1) -/* 80018068 4C C6 31 82 */ crclr 6 -/* 8001806C 4B FF FD 11 */ bl print_f__FPCce -/* 80018070 80 6D 85 90 */ lwz r3, sHungUpTime__7mDoMain(r13) -/* 80018074 80 8D 85 94 */ lwz r4, data_80450B14(r13) -/* 80018078 38 A1 00 10 */ addi r5, r1, 0x10 -/* 8001807C 48 32 A8 F9 */ bl OSTicksToCalendarTime -/* 80018080 80 01 00 34 */ lwz r0, 0x34(r1) -/* 80018084 90 01 00 08 */ stw r0, 8(r1) -/* 80018088 3C 60 80 37 */ lis r3, m_Do_m_Do_machine_exception__stringBase0@ha /* 0x80374460@ha */ -/* 8001808C 38 63 44 60 */ addi r3, r3, m_Do_m_Do_machine_exception__stringBase0@l /* 0x80374460@l */ -/* 80018090 38 63 01 57 */ addi r3, r3, 0x157 -/* 80018094 80 81 00 24 */ lwz r4, 0x24(r1) -/* 80018098 80 A1 00 20 */ lwz r5, 0x20(r1) -/* 8001809C 80 C1 00 1C */ lwz r6, 0x1c(r1) -/* 800180A0 80 E1 00 18 */ lwz r7, 0x18(r1) -/* 800180A4 81 01 00 14 */ lwz r8, 0x14(r1) -/* 800180A8 81 21 00 10 */ lwz r9, 0x10(r1) -/* 800180AC 81 41 00 30 */ lwz r10, 0x30(r1) -/* 800180B0 4C C6 31 82 */ crclr 6 -/* 800180B4 4B FF FC C9 */ bl print_f__FPCce -/* 800180B8 80 AD 85 90 */ lwz r5, sHungUpTime__7mDoMain(r13) -/* 800180BC 80 8D 85 94 */ lwz r4, data_80450B14(r13) -/* 800180C0 80 0D 85 88 */ lwz r0, sPowerOnTime__7mDoMain(r13) -/* 800180C4 80 6D 85 8C */ lwz r3, data_80450B0C(r13) -/* 800180C8 7C 83 20 10 */ subfc r4, r3, r4 -/* 800180CC 7C 60 29 10 */ subfe r3, r0, r5 -/* 800180D0 38 A1 00 10 */ addi r5, r1, 0x10 -/* 800180D4 48 32 A8 A1 */ bl OSTicksToCalendarTime -/* 800180D8 3C 60 80 37 */ lis r3, m_Do_m_Do_machine_exception__stringBase0@ha /* 0x80374460@ha */ -/* 800180DC 38 63 44 60 */ addi r3, r3, m_Do_m_Do_machine_exception__stringBase0@l /* 0x80374460@l */ -/* 800180E0 38 63 01 88 */ addi r3, r3, 0x188 -/* 800180E4 80 81 00 2C */ lwz r4, 0x2c(r1) -/* 800180E8 80 A1 00 18 */ lwz r5, 0x18(r1) -/* 800180EC 80 C1 00 14 */ lwz r6, 0x14(r1) -/* 800180F0 80 E1 00 10 */ lwz r7, 0x10(r1) -/* 800180F4 81 01 00 30 */ lwz r8, 0x30(r1) -/* 800180F8 81 21 00 34 */ lwz r9, 0x34(r1) -/* 800180FC 4C C6 31 82 */ crclr 6 -/* 80018100 4B FF FC 7D */ bl print_f__FPCce -/* 80018104 3C 60 80 37 */ lis r3, m_Do_m_Do_machine_exception__stringBase0@ha /* 0x80374460@ha */ -/* 80018108 38 63 44 60 */ addi r3, r3, m_Do_m_Do_machine_exception__stringBase0@l /* 0x80374460@l */ -/* 8001810C 38 63 01 B6 */ addi r3, r3, 0x1b6 -/* 80018110 4B FF FC F9 */ bl print__FPCc -/* 80018114 80 01 00 44 */ lwz r0, 0x44(r1) -/* 80018118 7C 08 03 A6 */ mtlr r0 -/* 8001811C 38 21 00 40 */ addi r1, r1, 0x40 -/* 80018120 4E 80 00 20 */ blr diff --git a/asm/m_Do/m_Do_machine_exception/dispGameInfo__Fv.s b/asm/m_Do/m_Do_machine_exception/dispGameInfo__Fv.s deleted file mode 100644 index bc4a8d3b48..0000000000 --- a/asm/m_Do/m_Do_machine_exception/dispGameInfo__Fv.s +++ /dev/null @@ -1,18 +0,0 @@ -lbl_80017F8C: -/* 80017F8C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80017F90 7C 08 02 A6 */ mflr r0 -/* 80017F94 90 01 00 14 */ stw r0, 0x14(r1) -/* 80017F98 3C 60 80 37 */ lis r3, m_Do_m_Do_machine_exception__stringBase0@ha /* 0x80374460@ha */ -/* 80017F9C 38 63 44 60 */ addi r3, r3, m_Do_m_Do_machine_exception__stringBase0@l /* 0x80374460@l */ -/* 80017FA0 38 63 00 A5 */ addi r3, r3, 0xa5 -/* 80017FA4 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80017FA8 38 A4 61 C0 */ addi r5, r4, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80017FAC 38 85 4E 00 */ addi r4, r5, 0x4e00 -/* 80017FB0 88 05 4E 0A */ lbz r0, 0x4e0a(r5) -/* 80017FB4 7C 05 07 74 */ extsb r5, r0 -/* 80017FB8 4C C6 31 82 */ crclr 6 -/* 80017FBC 4B FF FD C1 */ bl print_f__FPCce -/* 80017FC0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80017FC4 7C 08 03 A6 */ mtlr r0 -/* 80017FC8 38 21 00 10 */ addi r1, r1, 0x10 -/* 80017FCC 4E 80 00 20 */ blr diff --git a/asm/m_Do/m_Do_machine_exception/dispHeapInfo__Fv.s b/asm/m_Do/m_Do_machine_exception/dispHeapInfo__Fv.s deleted file mode 100644 index f2f3858ad8..0000000000 --- a/asm/m_Do/m_Do_machine_exception/dispHeapInfo__Fv.s +++ /dev/null @@ -1,89 +0,0 @@ -lbl_80017E30: -/* 80017E30 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 80017E34 7C 08 02 A6 */ mflr r0 -/* 80017E38 90 01 00 34 */ stw r0, 0x34(r1) -/* 80017E3C 39 61 00 30 */ addi r11, r1, 0x30 -/* 80017E40 48 34 A3 85 */ bl _savegpr_23 -/* 80017E44 80 6D 86 AC */ lwz r3, zeldaHeap(r13) -/* 80017E48 7C 7F 1B 78 */ mr r31, r3 -/* 80017E4C 83 CD 86 A8 */ lwz r30, gameHeap(r13) -/* 80017E50 83 AD 86 B4 */ lwz r29, archiveHeap(r13) -/* 80017E54 48 2B 68 D9 */ bl getFreeSize__7JKRHeapFv -/* 80017E58 7C 77 1B 78 */ mr r23, r3 -/* 80017E5C 7F C3 F3 78 */ mr r3, r30 -/* 80017E60 48 2B 68 CD */ bl getFreeSize__7JKRHeapFv -/* 80017E64 7C 78 1B 78 */ mr r24, r3 -/* 80017E68 7F A3 EB 78 */ mr r3, r29 -/* 80017E6C 48 2B 68 C1 */ bl getFreeSize__7JKRHeapFv -/* 80017E70 7C 79 1B 78 */ mr r25, r3 -/* 80017E74 7F E3 FB 78 */ mr r3, r31 -/* 80017E78 48 2B 69 0D */ bl getTotalFreeSize__7JKRHeapFv -/* 80017E7C 7C 7A 1B 78 */ mr r26, r3 -/* 80017E80 7F C3 F3 78 */ mr r3, r30 -/* 80017E84 48 2B 69 01 */ bl getTotalFreeSize__7JKRHeapFv -/* 80017E88 7C 7B 1B 78 */ mr r27, r3 -/* 80017E8C 7F A3 EB 78 */ mr r3, r29 -/* 80017E90 48 2B 68 F5 */ bl getTotalFreeSize__7JKRHeapFv -/* 80017E94 7C 7C 1B 78 */ mr r28, r3 -/* 80017E98 3C 60 80 37 */ lis r3, m_Do_m_Do_machine_exception__stringBase0@ha /* 0x80374460@ha */ -/* 80017E9C 38 63 44 60 */ addi r3, r3, m_Do_m_Do_machine_exception__stringBase0@l /* 0x80374460@l */ -/* 80017EA0 38 63 00 28 */ addi r3, r3, 0x28 -/* 80017EA4 4B FF FF 65 */ bl print__FPCc -/* 80017EA8 3C 60 80 37 */ lis r3, m_Do_m_Do_machine_exception__stringBase0@ha /* 0x80374460@ha */ -/* 80017EAC 38 63 44 60 */ addi r3, r3, m_Do_m_Do_machine_exception__stringBase0@l /* 0x80374460@l */ -/* 80017EB0 38 63 00 4A */ addi r3, r3, 0x4a -/* 80017EB4 56 E4 B2 BE */ srwi r4, r23, 0xa -/* 80017EB8 57 45 B2 BE */ srwi r5, r26, 0xa -/* 80017EBC 4C C6 31 82 */ crclr 6 -/* 80017EC0 4B FF FE BD */ bl print_f__FPCce -/* 80017EC4 3C 60 80 37 */ lis r3, m_Do_m_Do_machine_exception__stringBase0@ha /* 0x80374460@ha */ -/* 80017EC8 38 63 44 60 */ addi r3, r3, m_Do_m_Do_machine_exception__stringBase0@l /* 0x80374460@l */ -/* 80017ECC 38 63 00 5D */ addi r3, r3, 0x5d -/* 80017ED0 57 04 B2 BE */ srwi r4, r24, 0xa -/* 80017ED4 57 65 B2 BE */ srwi r5, r27, 0xa -/* 80017ED8 4C C6 31 82 */ crclr 6 -/* 80017EDC 4B FF FE A1 */ bl print_f__FPCce -/* 80017EE0 3C 60 80 37 */ lis r3, m_Do_m_Do_machine_exception__stringBase0@ha /* 0x80374460@ha */ -/* 80017EE4 38 63 44 60 */ addi r3, r3, m_Do_m_Do_machine_exception__stringBase0@l /* 0x80374460@l */ -/* 80017EE8 38 63 00 70 */ addi r3, r3, 0x70 -/* 80017EEC 57 24 B2 BE */ srwi r4, r25, 0xa -/* 80017EF0 57 85 B2 BE */ srwi r5, r28, 0xa -/* 80017EF4 4C C6 31 82 */ crclr 6 -/* 80017EF8 4B FF FE 85 */ bl print_f__FPCce -/* 80017EFC 3C 60 80 37 */ lis r3, m_Do_m_Do_machine_exception__stringBase0@ha /* 0x80374460@ha */ -/* 80017F00 38 63 44 60 */ addi r3, r3, m_Do_m_Do_machine_exception__stringBase0@l /* 0x80374460@l */ -/* 80017F04 38 63 00 83 */ addi r3, r3, 0x83 -/* 80017F08 4B FF FF 01 */ bl print__FPCc -/* 80017F0C 80 6D 8E 48 */ lwz r3, sAramObject__7JKRAram(r13) -/* 80017F10 80 63 00 94 */ lwz r3, 0x94(r3) -/* 80017F14 28 03 00 00 */ cmplwi r3, 0 -/* 80017F18 41 82 00 08 */ beq lbl_80017F20 -/* 80017F1C 48 2B B2 FD */ bl dump__11JKRAramHeapFv -lbl_80017F20: -/* 80017F20 48 24 A5 51 */ bl dump__24DynamicModuleControlBaseFv -/* 80017F24 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80017F28 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80017F2C 3C 63 00 02 */ addis r3, r3, 2 -/* 80017F30 38 63 C2 F8 */ addi r3, r3, -15624 -/* 80017F34 48 02 47 05 */ bl dump__14dRes_control_cFv -/* 80017F38 7F E3 FB 78 */ mr r3, r31 -/* 80017F3C 81 9F 00 00 */ lwz r12, 0(r31) -/* 80017F40 81 8C 00 18 */ lwz r12, 0x18(r12) -/* 80017F44 7D 89 03 A6 */ mtctr r12 -/* 80017F48 4E 80 04 21 */ bctrl -/* 80017F4C 7F C3 F3 78 */ mr r3, r30 -/* 80017F50 81 9E 00 00 */ lwz r12, 0(r30) -/* 80017F54 81 8C 00 18 */ lwz r12, 0x18(r12) -/* 80017F58 7D 89 03 A6 */ mtctr r12 -/* 80017F5C 4E 80 04 21 */ bctrl -/* 80017F60 7F A3 EB 78 */ mr r3, r29 -/* 80017F64 81 9D 00 00 */ lwz r12, 0(r29) -/* 80017F68 81 8C 00 18 */ lwz r12, 0x18(r12) -/* 80017F6C 7D 89 03 A6 */ mtctr r12 -/* 80017F70 4E 80 04 21 */ bctrl -/* 80017F74 39 61 00 30 */ addi r11, r1, 0x30 -/* 80017F78 48 34 A2 99 */ bl _restgpr_23 -/* 80017F7C 80 01 00 34 */ lwz r0, 0x34(r1) -/* 80017F80 7C 08 03 A6 */ mtlr r0 -/* 80017F84 38 21 00 30 */ addi r1, r1, 0x30 -/* 80017F88 4E 80 00 20 */ blr diff --git a/asm/m_Do/m_Do_machine_exception/exception_addition__FP10JUTConsole.s b/asm/m_Do/m_Do_machine_exception/exception_addition__FP10JUTConsole.s deleted file mode 100644 index 39393f9516..0000000000 --- a/asm/m_Do/m_Do_machine_exception/exception_addition__FP10JUTConsole.s +++ /dev/null @@ -1,13 +0,0 @@ -lbl_8001814C: -/* 8001814C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80018150 7C 08 02 A6 */ mflr r0 -/* 80018154 90 01 00 14 */ stw r0, 0x14(r1) -/* 80018158 90 6D 87 10 */ stw r3, sConsole(r13) -/* 8001815C 4B FF FC D5 */ bl dispHeapInfo__Fv -/* 80018160 4B FF FE 71 */ bl dispDateInfo__Fv -/* 80018164 4B FF FF C1 */ bl dispConsoleToTerminal__Fv -/* 80018168 4B FF FE 25 */ bl dispGameInfo__Fv -/* 8001816C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80018170 7C 08 03 A6 */ mtlr r0 -/* 80018174 38 21 00 10 */ addi r1, r1, 0x10 -/* 80018178 4E 80 00 20 */ blr diff --git a/asm/m_Do/m_Do_machine_exception/print__FPCc.s b/asm/m_Do/m_Do_machine_exception/print__FPCc.s deleted file mode 100644 index a16482b7ba..0000000000 --- a/asm/m_Do/m_Do_machine_exception/print__FPCc.s +++ /dev/null @@ -1,11 +0,0 @@ -lbl_80017E08: -/* 80017E08 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80017E0C 7C 08 02 A6 */ mflr r0 -/* 80017E10 90 01 00 14 */ stw r0, 0x14(r1) -/* 80017E14 7C 64 1B 78 */ mr r4, r3 -/* 80017E18 80 6D 87 10 */ lwz r3, sConsole(r13) -/* 80017E1C 48 2C FE 1D */ bl print__10JUTConsoleFPCc -/* 80017E20 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80017E24 7C 08 03 A6 */ mtlr r0 -/* 80017E28 38 21 00 10 */ addi r1, r1, 0x10 -/* 80017E2C 4E 80 00 20 */ blr diff --git a/asm/m_Do/m_Do_main/CheckHeap__FUl.s b/asm/m_Do/m_Do_main/CheckHeap__FUl.s deleted file mode 100644 index 5b66884000..0000000000 --- a/asm/m_Do/m_Do_main/CheckHeap__FUl.s +++ /dev/null @@ -1,51 +0,0 @@ -lbl_8000578C: -/* 8000578C 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80005790 7C 08 02 A6 */ mflr r0 -/* 80005794 90 01 00 24 */ stw r0, 0x24(r1) -/* 80005798 39 61 00 20 */ addi r11, r1, 0x20 -/* 8000579C 48 35 CA 39 */ bl _savegpr_27 -/* 800057A0 7C 7B 1B 78 */ mr r27, r3 -/* 800057A4 48 00 5E C5 */ bl mDoMch_HeapCheckAll__Fv -/* 800057A8 48 33 C7 59 */ bl OSCheckActiveThreads -/* 800057AC 38 A0 00 00 */ li r5, 0 -/* 800057B0 57 64 30 32 */ slwi r4, r27, 6 -/* 800057B4 3C 60 80 3E */ lis r3, m_cpadInfo__8mDoCPd_c@ha /* 0x803DD2E8@ha */ -/* 800057B8 38 03 D2 E8 */ addi r0, r3, m_cpadInfo__8mDoCPd_c@l /* 0x803DD2E8@l */ -/* 800057BC 7C 60 22 14 */ add r3, r0, r4 -/* 800057C0 80 03 00 30 */ lwz r0, 0x30(r3) -/* 800057C4 54 00 07 34 */ rlwinm r0, r0, 0, 0x1c, 0x1a -/* 800057C8 28 00 00 60 */ cmplwi r0, 0x60 -/* 800057CC 40 82 00 14 */ bne lbl_800057E0 -/* 800057D0 80 03 00 34 */ lwz r0, 0x34(r3) -/* 800057D4 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b -/* 800057D8 41 82 00 08 */ beq lbl_800057E0 -/* 800057DC 38 A0 00 01 */ li r5, 1 -lbl_800057E0: -/* 800057E0 54 BC 06 3E */ clrlwi r28, r5, 0x18 -/* 800057E4 3B 60 00 00 */ li r27, 0 -/* 800057E8 3B E0 00 00 */ li r31, 0 -/* 800057EC 3C 60 80 3A */ lis r3, HeapCheckTable@ha /* 0x803A2EF4@ha */ -/* 800057F0 3B C3 2E F4 */ addi r30, r3, HeapCheckTable@l /* 0x803A2EF4@l */ -lbl_800057F4: -/* 800057F4 7C 7E F8 2E */ lwzx r3, r30, r31 -/* 800057F8 4B FF FF 31 */ bl CheckHeap1__9HeapCheckFv -/* 800057FC 2C 1C 00 00 */ cmpwi r28, 0 -/* 80005800 41 82 00 20 */ beq lbl_80005820 -/* 80005804 7F BE F8 2E */ lwzx r29, r30, r31 -/* 80005808 7F A3 EB 78 */ mr r3, r29 -/* 8000580C 48 00 00 95 */ bl getUsedCount__9HeapCheckCFv -/* 80005810 90 7D 00 20 */ stw r3, 0x20(r29) -/* 80005814 80 7D 00 08 */ lwz r3, 8(r29) -/* 80005818 48 2C A5 4D */ bl getTotalUsedSize__10JKRExpHeapCFv -/* 8000581C 90 7D 00 24 */ stw r3, 0x24(r29) -lbl_80005820: -/* 80005820 3B 7B 00 01 */ addi r27, r27, 1 -/* 80005824 2C 1B 00 08 */ cmpwi r27, 8 -/* 80005828 3B FF 00 04 */ addi r31, r31, 4 -/* 8000582C 41 80 FF C8 */ blt lbl_800057F4 -/* 80005830 39 61 00 20 */ addi r11, r1, 0x20 -/* 80005834 48 35 C9 ED */ bl _restgpr_27 -/* 80005838 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8000583C 7C 08 03 A6 */ mtlr r0 -/* 80005840 38 21 00 20 */ addi r1, r1, 0x20 -/* 80005844 4E 80 00 20 */ blr diff --git a/asm/m_Do/m_Do_main/main.s b/asm/m_Do/m_Do_main/main.s deleted file mode 100644 index cb530cb2ff..0000000000 --- a/asm/m_Do/m_Do_main/main.s +++ /dev/null @@ -1,104 +0,0 @@ -lbl_80006454: -/* 80006454 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80006458 7C 08 02 A6 */ mflr r0 -/* 8000645C 90 01 00 14 */ stw r0, 0x14(r1) -/* 80006460 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80006464 93 C1 00 08 */ stw r30, 8(r1) -/* 80006468 48 33 A8 1D */ bl OSGetCurrentThread -/* 8000646C 7C 7E 1B 78 */ mr r30, r3 -/* 80006470 3C 60 80 3D */ lis r3, mainThreadStack@ha /* 0x803D3420@ha */ -/* 80006474 3B E3 34 20 */ addi r31, r3, mainThreadStack@l /* 0x803D3420@l */ -/* 80006478 48 33 C2 85 */ bl OSGetTime -/* 8000647C 90 8D 85 8C */ stw r4, data_80450B0C(r13) -/* 80006480 90 6D 85 88 */ stw r3, sPowerOnTime__7mDoMain(r13) -/* 80006484 48 00 04 41 */ bl OSReportInit__Fv -/* 80006488 4B FF F2 39 */ bl version_check__Fv -/* 8000648C 38 60 00 18 */ li r3, 0x18 -/* 80006490 38 80 00 04 */ li r4, 4 -/* 80006494 48 33 4E 19 */ bl OSAllocFromArenaLo -/* 80006498 90 6D 86 F8 */ stw r3, mResetData__6mDoRst(r13) -/* 8000649C 28 03 00 00 */ cmplwi r3, 0 -/* 800064A0 40 82 00 08 */ bne lbl_800064A8 -lbl_800064A4: -/* 800064A4 48 00 00 00 */ b lbl_800064A4 -lbl_800064A8: -/* 800064A8 48 33 96 05 */ bl OSGetResetCode -/* 800064AC 54 60 0F FF */ rlwinm. r0, r3, 1, 0x1f, 0x1f -/* 800064B0 40 82 00 64 */ bne lbl_80006514 -/* 800064B4 38 80 00 00 */ li r4, 0 -/* 800064B8 80 6D 86 F8 */ lwz r3, mResetData__6mDoRst(r13) -/* 800064BC 90 83 00 00 */ stw r4, 0(r3) -/* 800064C0 80 6D 86 F8 */ lwz r3, mResetData__6mDoRst(r13) -/* 800064C4 90 83 00 04 */ stw r4, 4(r3) -/* 800064C8 80 6D 86 F8 */ lwz r3, mResetData__6mDoRst(r13) -/* 800064CC 90 83 00 04 */ stw r4, 4(r3) -/* 800064D0 80 6D 86 F8 */ lwz r3, mResetData__6mDoRst(r13) -/* 800064D4 90 83 00 08 */ stw r4, 8(r3) -/* 800064D8 38 00 FF FF */ li r0, -1 -/* 800064DC 80 6D 86 F8 */ lwz r3, mResetData__6mDoRst(r13) -/* 800064E0 90 03 00 0C */ stw r0, 0xc(r3) -/* 800064E4 80 6D 86 F8 */ lwz r3, mResetData__6mDoRst(r13) -/* 800064E8 98 83 00 12 */ stb r4, 0x12(r3) -/* 800064EC 80 6D 86 F8 */ lwz r3, mResetData__6mDoRst(r13) -/* 800064F0 98 83 00 13 */ stb r4, 0x13(r3) -/* 800064F4 80 6D 86 F8 */ lwz r3, mResetData__6mDoRst(r13) -/* 800064F8 98 83 00 14 */ stb r4, 0x14(r3) -/* 800064FC 80 6D 86 F8 */ lwz r3, mResetData__6mDoRst(r13) -/* 80006500 98 83 00 15 */ stb r4, 0x15(r3) -/* 80006504 80 6D 86 F8 */ lwz r3, mResetData__6mDoRst(r13) -/* 80006508 98 83 00 10 */ stb r4, 0x10(r3) -/* 8000650C 80 6D 86 F8 */ lwz r3, mResetData__6mDoRst(r13) -/* 80006510 98 83 00 11 */ stb r4, 0x11(r3) -lbl_80006514: -/* 80006514 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80006518 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8000651C 48 02 66 C9 */ bl ct__13dComIfG_inf_cFv -/* 80006520 88 0D 80 00 */ lbz r0, data_80450580(r13) -/* 80006524 7C 00 07 75 */ extsb. r0, r0 -/* 80006528 40 80 00 40 */ bge lbl_80006568 -/* 8000652C 48 34 50 F5 */ bl DVDGetCurrentDiskID -/* 80006530 88 03 00 07 */ lbz r0, 7(r3) -/* 80006534 28 00 00 90 */ cmplwi r0, 0x90 -/* 80006538 40 81 00 10 */ ble lbl_80006548 -/* 8000653C 38 00 00 01 */ li r0, 1 -/* 80006540 98 0D 80 00 */ stb r0, data_80450580(r13) -/* 80006544 48 00 00 24 */ b lbl_80006568 -lbl_80006548: -/* 80006548 28 00 00 80 */ cmplwi r0, 0x80 -/* 8000654C 40 81 00 14 */ ble lbl_80006560 -/* 80006550 48 33 39 AD */ bl OSGetConsoleType -/* 80006554 54 60 27 FE */ rlwinm r0, r3, 4, 0x1f, 0x1f -/* 80006558 98 0D 80 00 */ stb r0, data_80450580(r13) -/* 8000655C 48 00 00 0C */ b lbl_80006568 -lbl_80006560: -/* 80006560 38 00 00 00 */ li r0, 0 -/* 80006564 98 0D 80 00 */ stb r0, data_80450580(r13) -lbl_80006568: -/* 80006568 7F C3 F3 78 */ mr r3, r30 -/* 8000656C 48 33 B8 F1 */ bl OSGetThreadPriority -/* 80006570 7C 68 1B 78 */ mr r8, r3 -/* 80006574 3C 60 80 3E */ lis r3, mainThread@ha /* 0x803DB420@ha */ -/* 80006578 38 63 B4 20 */ addi r3, r3, mainThread@l /* 0x803DB420@l */ -/* 8000657C 3C 80 80 00 */ lis r4, main01__Fv@ha /* 0x8000628C@ha */ -/* 80006580 38 84 62 8C */ addi r4, r4, main01__Fv@l /* 0x8000628C@l */ -/* 80006584 38 A0 00 00 */ li r5, 0 -/* 80006588 3C DF 00 01 */ addis r6, r31, 1 -/* 8000658C 3C E0 00 01 */ lis r7, 0x0001 /* 0x00008000@ha */ -/* 80006590 38 E7 80 00 */ addi r7, r7, 0x8000 /* 0x00008000@l */ -/* 80006594 39 20 00 00 */ li r9, 0 -/* 80006598 38 C6 80 00 */ addi r6, r6, -32768 -/* 8000659C 48 33 AC F1 */ bl OSCreateThread -/* 800065A0 3C 60 80 3E */ lis r3, mainThread@ha /* 0x803DB420@ha */ -/* 800065A4 38 63 B4 20 */ addi r3, r3, mainThread@l /* 0x803DB420@l */ -/* 800065A8 48 33 B2 0D */ bl OSResumeThread -/* 800065AC 7F C3 F3 78 */ mr r3, r30 -/* 800065B0 38 80 00 1F */ li r4, 0x1f -/* 800065B4 48 33 B7 E9 */ bl OSSetThreadPriority -/* 800065B8 7F C3 F3 78 */ mr r3, r30 -/* 800065BC 48 33 B4 81 */ bl OSSuspendThread -/* 800065C0 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800065C4 83 C1 00 08 */ lwz r30, 8(r1) -/* 800065C8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800065CC 7C 08 03 A6 */ mtlr r0 -/* 800065D0 38 21 00 10 */ addi r1, r1, 0x10 -/* 800065D4 4E 80 00 20 */ blr diff --git a/asm/m_Do/m_Do_mtx/XYZrotM__14mDoMtx_stack_cFRC5csXyz.s b/asm/m_Do/m_Do_mtx/XYZrotM__14mDoMtx_stack_cFRC5csXyz.s deleted file mode 100644 index 407a007720..0000000000 --- a/asm/m_Do/m_Do_mtx/XYZrotM__14mDoMtx_stack_cFRC5csXyz.s +++ /dev/null @@ -1,15 +0,0 @@ -lbl_8000CED4: -/* 8000CED4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8000CED8 7C 08 02 A6 */ mflr r0 -/* 8000CEDC 90 01 00 14 */ stw r0, 0x14(r1) -/* 8000CEE0 7C 66 1B 78 */ mr r6, r3 -/* 8000CEE4 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */ -/* 8000CEE8 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */ -/* 8000CEEC A8 86 00 00 */ lha r4, 0(r6) -/* 8000CEF0 A8 A6 00 02 */ lha r5, 2(r6) -/* 8000CEF4 A8 C6 00 04 */ lha r6, 4(r6) -/* 8000CEF8 4B FF F2 6D */ bl mDoMtx_XYZrotM__FPA4_fsss -/* 8000CEFC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8000CF00 7C 08 03 A6 */ mtlr r0 -/* 8000CF04 38 21 00 10 */ addi r1, r1, 0x10 -/* 8000CF08 4E 80 00 20 */ blr diff --git a/asm/m_Do/m_Do_mtx/XYZrotS__14mDoMtx_stack_cFRC5csXyz.s b/asm/m_Do/m_Do_mtx/XYZrotS__14mDoMtx_stack_cFRC5csXyz.s deleted file mode 100644 index bd9dde52e1..0000000000 --- a/asm/m_Do/m_Do_mtx/XYZrotS__14mDoMtx_stack_cFRC5csXyz.s +++ /dev/null @@ -1,15 +0,0 @@ -lbl_8000CE9C: -/* 8000CE9C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8000CEA0 7C 08 02 A6 */ mflr r0 -/* 8000CEA4 90 01 00 14 */ stw r0, 0x14(r1) -/* 8000CEA8 7C 66 1B 78 */ mr r6, r3 -/* 8000CEAC 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */ -/* 8000CEB0 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */ -/* 8000CEB4 A8 86 00 00 */ lha r4, 0(r6) -/* 8000CEB8 A8 A6 00 02 */ lha r5, 2(r6) -/* 8000CEBC A8 C6 00 04 */ lha r6, 4(r6) -/* 8000CEC0 4B FF F2 0D */ bl mDoMtx_XYZrotS__FPA4_fsss -/* 8000CEC4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8000CEC8 7C 08 03 A6 */ mtlr r0 -/* 8000CECC 38 21 00 10 */ addi r1, r1, 0x10 -/* 8000CED0 4E 80 00 20 */ blr diff --git a/asm/m_Do/m_Do_mtx/ZXYrotM__14mDoMtx_stack_cFRC5csXyz.s b/asm/m_Do/m_Do_mtx/ZXYrotM__14mDoMtx_stack_cFRC5csXyz.s deleted file mode 100644 index f1a59a25e7..0000000000 --- a/asm/m_Do/m_Do_mtx/ZXYrotM__14mDoMtx_stack_cFRC5csXyz.s +++ /dev/null @@ -1,15 +0,0 @@ -lbl_8000CF44: -/* 8000CF44 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8000CF48 7C 08 02 A6 */ mflr r0 -/* 8000CF4C 90 01 00 14 */ stw r0, 0x14(r1) -/* 8000CF50 7C 66 1B 78 */ mr r6, r3 -/* 8000CF54 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */ -/* 8000CF58 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */ -/* 8000CF5C A8 86 00 00 */ lha r4, 0(r6) -/* 8000CF60 A8 A6 00 02 */ lha r5, 2(r6) -/* 8000CF64 A8 C6 00 04 */ lha r6, 4(r6) -/* 8000CF68 4B FF F3 39 */ bl mDoMtx_ZXYrotM__FPA4_fsss -/* 8000CF6C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8000CF70 7C 08 03 A6 */ mtlr r0 -/* 8000CF74 38 21 00 10 */ addi r1, r1, 0x10 -/* 8000CF78 4E 80 00 20 */ blr diff --git a/asm/m_Do/m_Do_mtx/ZXYrotS__14mDoMtx_stack_cFRC5csXyz.s b/asm/m_Do/m_Do_mtx/ZXYrotS__14mDoMtx_stack_cFRC5csXyz.s deleted file mode 100644 index a51a5c159b..0000000000 --- a/asm/m_Do/m_Do_mtx/ZXYrotS__14mDoMtx_stack_cFRC5csXyz.s +++ /dev/null @@ -1,15 +0,0 @@ -lbl_8000CF0C: -/* 8000CF0C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8000CF10 7C 08 02 A6 */ mflr r0 -/* 8000CF14 90 01 00 14 */ stw r0, 0x14(r1) -/* 8000CF18 7C 66 1B 78 */ mr r6, r3 -/* 8000CF1C 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */ -/* 8000CF20 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */ -/* 8000CF24 A8 86 00 00 */ lha r4, 0(r6) -/* 8000CF28 A8 A6 00 02 */ lha r5, 2(r6) -/* 8000CF2C A8 C6 00 04 */ lha r6, 4(r6) -/* 8000CF30 4B FF F2 D9 */ bl mDoMtx_ZXYrotS__FPA4_fsss -/* 8000CF34 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8000CF38 7C 08 03 A6 */ mtlr r0 -/* 8000CF3C 38 21 00 10 */ addi r1, r1, 0x10 -/* 8000CF40 4E 80 00 20 */ blr diff --git a/asm/m_Do/m_Do_mtx/mDoMtx_XYZrotM__FPA4_fsss.s b/asm/m_Do/m_Do_mtx/mDoMtx_XYZrotM__FPA4_fsss.s deleted file mode 100644 index 1f077299c8..0000000000 --- a/asm/m_Do/m_Do_mtx/mDoMtx_XYZrotM__FPA4_fsss.s +++ /dev/null @@ -1,45 +0,0 @@ -lbl_8000C164: -/* 8000C164 94 21 FF B0 */ stwu r1, -0x50(r1) -/* 8000C168 7C 08 02 A6 */ mflr r0 -/* 8000C16C 90 01 00 54 */ stw r0, 0x54(r1) -/* 8000C170 39 61 00 50 */ addi r11, r1, 0x50 -/* 8000C174 48 35 60 69 */ bl _savegpr_29 -/* 8000C178 7C 7D 1B 78 */ mr r29, r3 -/* 8000C17C 7C 9E 23 78 */ mr r30, r4 -/* 8000C180 7C BF 2B 78 */ mr r31, r5 -/* 8000C184 7C C0 07 35 */ extsh. r0, r6 -/* 8000C188 41 82 00 20 */ beq lbl_8000C1A8 -/* 8000C18C 38 61 00 08 */ addi r3, r1, 8 -/* 8000C190 7C C4 33 78 */ mr r4, r6 -/* 8000C194 48 00 02 E1 */ bl mDoMtx_ZrotS__FPA4_fs -/* 8000C198 7F A3 EB 78 */ mr r3, r29 -/* 8000C19C 38 81 00 08 */ addi r4, r1, 8 -/* 8000C1A0 7F A5 EB 78 */ mr r5, r29 -/* 8000C1A4 48 33 A3 41 */ bl PSMTXConcat -lbl_8000C1A8: -/* 8000C1A8 7F E0 07 35 */ extsh. r0, r31 -/* 8000C1AC 41 82 00 20 */ beq lbl_8000C1CC -/* 8000C1B0 38 61 00 08 */ addi r3, r1, 8 -/* 8000C1B4 7F E4 FB 78 */ mr r4, r31 -/* 8000C1B8 48 00 02 25 */ bl mDoMtx_YrotS__FPA4_fs -/* 8000C1BC 7F A3 EB 78 */ mr r3, r29 -/* 8000C1C0 38 81 00 08 */ addi r4, r1, 8 -/* 8000C1C4 7F A5 EB 78 */ mr r5, r29 -/* 8000C1C8 48 33 A3 1D */ bl PSMTXConcat -lbl_8000C1CC: -/* 8000C1CC 7F C0 07 35 */ extsh. r0, r30 -/* 8000C1D0 41 82 00 20 */ beq lbl_8000C1F0 -/* 8000C1D4 38 61 00 08 */ addi r3, r1, 8 -/* 8000C1D8 7F C4 F3 78 */ mr r4, r30 -/* 8000C1DC 48 00 01 69 */ bl mDoMtx_XrotS__FPA4_fs -/* 8000C1E0 7F A3 EB 78 */ mr r3, r29 -/* 8000C1E4 38 81 00 08 */ addi r4, r1, 8 -/* 8000C1E8 7F A5 EB 78 */ mr r5, r29 -/* 8000C1EC 48 33 A2 F9 */ bl PSMTXConcat -lbl_8000C1F0: -/* 8000C1F0 39 61 00 50 */ addi r11, r1, 0x50 -/* 8000C1F4 48 35 60 35 */ bl _restgpr_29 -/* 8000C1F8 80 01 00 54 */ lwz r0, 0x54(r1) -/* 8000C1FC 7C 08 03 A6 */ mtlr r0 -/* 8000C200 38 21 00 50 */ addi r1, r1, 0x50 -/* 8000C204 4E 80 00 20 */ blr diff --git a/asm/m_Do/m_Do_mtx/mDoMtx_XYZrotS__FPA4_fsss.s b/asm/m_Do/m_Do_mtx/mDoMtx_XYZrotS__FPA4_fsss.s deleted file mode 100644 index 67fef3cc01..0000000000 --- a/asm/m_Do/m_Do_mtx/mDoMtx_XYZrotS__FPA4_fsss.s +++ /dev/null @@ -1,43 +0,0 @@ -lbl_8000C0CC: -/* 8000C0CC 94 21 FF B0 */ stwu r1, -0x50(r1) -/* 8000C0D0 7C 08 02 A6 */ mflr r0 -/* 8000C0D4 90 01 00 54 */ stw r0, 0x54(r1) -/* 8000C0D8 39 61 00 50 */ addi r11, r1, 0x50 -/* 8000C0DC 48 35 61 01 */ bl _savegpr_29 -/* 8000C0E0 7C 7D 1B 78 */ mr r29, r3 -/* 8000C0E4 7C 9E 23 78 */ mr r30, r4 -/* 8000C0E8 7C BF 2B 78 */ mr r31, r5 -/* 8000C0EC 7C C0 07 35 */ extsh. r0, r6 -/* 8000C0F0 41 82 00 10 */ beq lbl_8000C100 -/* 8000C0F4 7C C4 33 78 */ mr r4, r6 -/* 8000C0F8 48 00 03 7D */ bl mDoMtx_ZrotS__FPA4_fs -/* 8000C0FC 48 00 00 08 */ b lbl_8000C104 -lbl_8000C100: -/* 8000C100 48 33 A3 85 */ bl PSMTXIdentity -lbl_8000C104: -/* 8000C104 7F E0 07 35 */ extsh. r0, r31 -/* 8000C108 41 82 00 20 */ beq lbl_8000C128 -/* 8000C10C 38 61 00 08 */ addi r3, r1, 8 -/* 8000C110 7F E4 FB 78 */ mr r4, r31 -/* 8000C114 48 00 02 C9 */ bl mDoMtx_YrotS__FPA4_fs -/* 8000C118 7F A3 EB 78 */ mr r3, r29 -/* 8000C11C 38 81 00 08 */ addi r4, r1, 8 -/* 8000C120 7F A5 EB 78 */ mr r5, r29 -/* 8000C124 48 33 A3 C1 */ bl PSMTXConcat -lbl_8000C128: -/* 8000C128 7F C0 07 35 */ extsh. r0, r30 -/* 8000C12C 41 82 00 20 */ beq lbl_8000C14C -/* 8000C130 38 61 00 08 */ addi r3, r1, 8 -/* 8000C134 7F C4 F3 78 */ mr r4, r30 -/* 8000C138 48 00 02 0D */ bl mDoMtx_XrotS__FPA4_fs -/* 8000C13C 7F A3 EB 78 */ mr r3, r29 -/* 8000C140 38 81 00 08 */ addi r4, r1, 8 -/* 8000C144 7F A5 EB 78 */ mr r5, r29 -/* 8000C148 48 33 A3 9D */ bl PSMTXConcat -lbl_8000C14C: -/* 8000C14C 39 61 00 50 */ addi r11, r1, 0x50 -/* 8000C150 48 35 60 D9 */ bl _restgpr_29 -/* 8000C154 80 01 00 54 */ lwz r0, 0x54(r1) -/* 8000C158 7C 08 03 A6 */ mtlr r0 -/* 8000C15C 38 21 00 50 */ addi r1, r1, 0x50 -/* 8000C160 4E 80 00 20 */ blr diff --git a/asm/m_Do/m_Do_mtx/mDoMtx_XrotM__FPA4_fs.s b/asm/m_Do/m_Do_mtx/mDoMtx_XrotM__FPA4_fs.s deleted file mode 100644 index 4c62c31a59..0000000000 --- a/asm/m_Do/m_Do_mtx/mDoMtx_XrotM__FPA4_fs.s +++ /dev/null @@ -1,17 +0,0 @@ -lbl_8000C39C: -/* 8000C39C 94 21 FF C0 */ stwu r1, -0x40(r1) -/* 8000C3A0 7C 08 02 A6 */ mflr r0 -/* 8000C3A4 90 01 00 44 */ stw r0, 0x44(r1) -/* 8000C3A8 93 E1 00 3C */ stw r31, 0x3c(r1) -/* 8000C3AC 7C 7F 1B 78 */ mr r31, r3 -/* 8000C3B0 38 61 00 08 */ addi r3, r1, 8 -/* 8000C3B4 4B FF FF 91 */ bl mDoMtx_XrotS__FPA4_fs -/* 8000C3B8 7F E3 FB 78 */ mr r3, r31 -/* 8000C3BC 38 81 00 08 */ addi r4, r1, 8 -/* 8000C3C0 7F E5 FB 78 */ mr r5, r31 -/* 8000C3C4 48 33 A1 21 */ bl PSMTXConcat -/* 8000C3C8 83 E1 00 3C */ lwz r31, 0x3c(r1) -/* 8000C3CC 80 01 00 44 */ lwz r0, 0x44(r1) -/* 8000C3D0 7C 08 03 A6 */ mtlr r0 -/* 8000C3D4 38 21 00 40 */ addi r1, r1, 0x40 -/* 8000C3D8 4E 80 00 20 */ blr diff --git a/asm/m_Do/m_Do_mtx/mDoMtx_YrotM__FPA4_fs.s b/asm/m_Do/m_Do_mtx/mDoMtx_YrotM__FPA4_fs.s deleted file mode 100644 index 3278ee5653..0000000000 --- a/asm/m_Do/m_Do_mtx/mDoMtx_YrotM__FPA4_fs.s +++ /dev/null @@ -1,17 +0,0 @@ -lbl_8000C434: -/* 8000C434 94 21 FF C0 */ stwu r1, -0x40(r1) -/* 8000C438 7C 08 02 A6 */ mflr r0 -/* 8000C43C 90 01 00 44 */ stw r0, 0x44(r1) -/* 8000C440 93 E1 00 3C */ stw r31, 0x3c(r1) -/* 8000C444 7C 7F 1B 78 */ mr r31, r3 -/* 8000C448 38 61 00 08 */ addi r3, r1, 8 -/* 8000C44C 4B FF FF 91 */ bl mDoMtx_YrotS__FPA4_fs -/* 8000C450 7F E3 FB 78 */ mr r3, r31 -/* 8000C454 38 81 00 08 */ addi r4, r1, 8 -/* 8000C458 7F E5 FB 78 */ mr r5, r31 -/* 8000C45C 48 33 A0 89 */ bl PSMTXConcat -/* 8000C460 83 E1 00 3C */ lwz r31, 0x3c(r1) -/* 8000C464 80 01 00 44 */ lwz r0, 0x44(r1) -/* 8000C468 7C 08 03 A6 */ mtlr r0 -/* 8000C46C 38 21 00 40 */ addi r1, r1, 0x40 -/* 8000C470 4E 80 00 20 */ blr diff --git a/asm/m_Do/m_Do_mtx/mDoMtx_ZXYrotM__FPA4_fsss.s b/asm/m_Do/m_Do_mtx/mDoMtx_ZXYrotM__FPA4_fsss.s deleted file mode 100644 index 94f9b78ffd..0000000000 --- a/asm/m_Do/m_Do_mtx/mDoMtx_ZXYrotM__FPA4_fsss.s +++ /dev/null @@ -1,45 +0,0 @@ -lbl_8000C2A0: -/* 8000C2A0 94 21 FF B0 */ stwu r1, -0x50(r1) -/* 8000C2A4 7C 08 02 A6 */ mflr r0 -/* 8000C2A8 90 01 00 54 */ stw r0, 0x54(r1) -/* 8000C2AC 39 61 00 50 */ addi r11, r1, 0x50 -/* 8000C2B0 48 35 5F 2D */ bl _savegpr_29 -/* 8000C2B4 7C 7D 1B 78 */ mr r29, r3 -/* 8000C2B8 7C 9E 23 78 */ mr r30, r4 -/* 8000C2BC 7C DF 33 78 */ mr r31, r6 -/* 8000C2C0 7C A0 07 35 */ extsh. r0, r5 -/* 8000C2C4 41 82 00 20 */ beq lbl_8000C2E4 -/* 8000C2C8 38 61 00 08 */ addi r3, r1, 8 -/* 8000C2CC 7C A4 2B 78 */ mr r4, r5 -/* 8000C2D0 48 00 01 0D */ bl mDoMtx_YrotS__FPA4_fs -/* 8000C2D4 7F A3 EB 78 */ mr r3, r29 -/* 8000C2D8 38 81 00 08 */ addi r4, r1, 8 -/* 8000C2DC 7F A5 EB 78 */ mr r5, r29 -/* 8000C2E0 48 33 A2 05 */ bl PSMTXConcat -lbl_8000C2E4: -/* 8000C2E4 7F C0 07 35 */ extsh. r0, r30 -/* 8000C2E8 41 82 00 20 */ beq lbl_8000C308 -/* 8000C2EC 38 61 00 08 */ addi r3, r1, 8 -/* 8000C2F0 7F C4 F3 78 */ mr r4, r30 -/* 8000C2F4 48 00 00 51 */ bl mDoMtx_XrotS__FPA4_fs -/* 8000C2F8 7F A3 EB 78 */ mr r3, r29 -/* 8000C2FC 38 81 00 08 */ addi r4, r1, 8 -/* 8000C300 7F A5 EB 78 */ mr r5, r29 -/* 8000C304 48 33 A1 E1 */ bl PSMTXConcat -lbl_8000C308: -/* 8000C308 7F E0 07 35 */ extsh. r0, r31 -/* 8000C30C 41 82 00 20 */ beq lbl_8000C32C -/* 8000C310 38 61 00 08 */ addi r3, r1, 8 -/* 8000C314 7F E4 FB 78 */ mr r4, r31 -/* 8000C318 48 00 01 5D */ bl mDoMtx_ZrotS__FPA4_fs -/* 8000C31C 7F A3 EB 78 */ mr r3, r29 -/* 8000C320 38 81 00 08 */ addi r4, r1, 8 -/* 8000C324 7F A5 EB 78 */ mr r5, r29 -/* 8000C328 48 33 A1 BD */ bl PSMTXConcat -lbl_8000C32C: -/* 8000C32C 39 61 00 50 */ addi r11, r1, 0x50 -/* 8000C330 48 35 5E F9 */ bl _restgpr_29 -/* 8000C334 80 01 00 54 */ lwz r0, 0x54(r1) -/* 8000C338 7C 08 03 A6 */ mtlr r0 -/* 8000C33C 38 21 00 50 */ addi r1, r1, 0x50 -/* 8000C340 4E 80 00 20 */ blr diff --git a/asm/m_Do/m_Do_mtx/mDoMtx_ZXYrotS__FPA4_fsss.s b/asm/m_Do/m_Do_mtx/mDoMtx_ZXYrotS__FPA4_fsss.s deleted file mode 100644 index 54df293494..0000000000 --- a/asm/m_Do/m_Do_mtx/mDoMtx_ZXYrotS__FPA4_fsss.s +++ /dev/null @@ -1,43 +0,0 @@ -lbl_8000C208: -/* 8000C208 94 21 FF B0 */ stwu r1, -0x50(r1) -/* 8000C20C 7C 08 02 A6 */ mflr r0 -/* 8000C210 90 01 00 54 */ stw r0, 0x54(r1) -/* 8000C214 39 61 00 50 */ addi r11, r1, 0x50 -/* 8000C218 48 35 5F C5 */ bl _savegpr_29 -/* 8000C21C 7C 7D 1B 78 */ mr r29, r3 -/* 8000C220 7C 9E 23 78 */ mr r30, r4 -/* 8000C224 7C DF 33 78 */ mr r31, r6 -/* 8000C228 7C A0 07 35 */ extsh. r0, r5 -/* 8000C22C 41 82 00 10 */ beq lbl_8000C23C -/* 8000C230 7C A4 2B 78 */ mr r4, r5 -/* 8000C234 48 00 01 A9 */ bl mDoMtx_YrotS__FPA4_fs -/* 8000C238 48 00 00 08 */ b lbl_8000C240 -lbl_8000C23C: -/* 8000C23C 48 33 A2 49 */ bl PSMTXIdentity -lbl_8000C240: -/* 8000C240 7F C0 07 35 */ extsh. r0, r30 -/* 8000C244 41 82 00 20 */ beq lbl_8000C264 -/* 8000C248 38 61 00 08 */ addi r3, r1, 8 -/* 8000C24C 7F C4 F3 78 */ mr r4, r30 -/* 8000C250 48 00 00 F5 */ bl mDoMtx_XrotS__FPA4_fs -/* 8000C254 7F A3 EB 78 */ mr r3, r29 -/* 8000C258 38 81 00 08 */ addi r4, r1, 8 -/* 8000C25C 7F A5 EB 78 */ mr r5, r29 -/* 8000C260 48 33 A2 85 */ bl PSMTXConcat -lbl_8000C264: -/* 8000C264 7F E0 07 35 */ extsh. r0, r31 -/* 8000C268 41 82 00 20 */ beq lbl_8000C288 -/* 8000C26C 38 61 00 08 */ addi r3, r1, 8 -/* 8000C270 7F E4 FB 78 */ mr r4, r31 -/* 8000C274 48 00 02 01 */ bl mDoMtx_ZrotS__FPA4_fs -/* 8000C278 7F A3 EB 78 */ mr r3, r29 -/* 8000C27C 38 81 00 08 */ addi r4, r1, 8 -/* 8000C280 7F A5 EB 78 */ mr r5, r29 -/* 8000C284 48 33 A2 61 */ bl PSMTXConcat -lbl_8000C288: -/* 8000C288 39 61 00 50 */ addi r11, r1, 0x50 -/* 8000C28C 48 35 5F 9D */ bl _restgpr_29 -/* 8000C290 80 01 00 54 */ lwz r0, 0x54(r1) -/* 8000C294 7C 08 03 A6 */ mtlr r0 -/* 8000C298 38 21 00 50 */ addi r1, r1, 0x50 -/* 8000C29C 4E 80 00 20 */ blr diff --git a/asm/m_Do/m_Do_mtx/mDoMtx_ZrotM__FPA4_fs.s b/asm/m_Do/m_Do_mtx/mDoMtx_ZrotM__FPA4_fs.s deleted file mode 100644 index e744444a19..0000000000 --- a/asm/m_Do/m_Do_mtx/mDoMtx_ZrotM__FPA4_fs.s +++ /dev/null @@ -1,17 +0,0 @@ -lbl_8000C4CC: -/* 8000C4CC 94 21 FF C0 */ stwu r1, -0x40(r1) -/* 8000C4D0 7C 08 02 A6 */ mflr r0 -/* 8000C4D4 90 01 00 44 */ stw r0, 0x44(r1) -/* 8000C4D8 93 E1 00 3C */ stw r31, 0x3c(r1) -/* 8000C4DC 7C 7F 1B 78 */ mr r31, r3 -/* 8000C4E0 38 61 00 08 */ addi r3, r1, 8 -/* 8000C4E4 4B FF FF 91 */ bl mDoMtx_ZrotS__FPA4_fs -/* 8000C4E8 7F E3 FB 78 */ mr r3, r31 -/* 8000C4EC 38 81 00 08 */ addi r4, r1, 8 -/* 8000C4F0 7F E5 FB 78 */ mr r5, r31 -/* 8000C4F4 48 33 9F F1 */ bl PSMTXConcat -/* 8000C4F8 83 E1 00 3C */ lwz r31, 0x3c(r1) -/* 8000C4FC 80 01 00 44 */ lwz r0, 0x44(r1) -/* 8000C500 7C 08 03 A6 */ mtlr r0 -/* 8000C504 38 21 00 40 */ addi r1, r1, 0x40 -/* 8000C508 4E 80 00 20 */ blr diff --git a/asm/m_Do/m_Do_mtx/pop__14mDoMtx_stack_cFv.s b/asm/m_Do/m_Do_mtx/pop__14mDoMtx_stack_cFv.s deleted file mode 100644 index 5507388642..0000000000 --- a/asm/m_Do/m_Do_mtx/pop__14mDoMtx_stack_cFv.s +++ /dev/null @@ -1,23 +0,0 @@ -lbl_8000CD14: -/* 8000CD14 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8000CD18 7C 08 02 A6 */ mflr r0 -/* 8000CD1C 90 01 00 14 */ stw r0, 0x14(r1) -/* 8000CD20 80 8D 80 28 */ lwz r4, next__14mDoMtx_stack_c(r13) -/* 8000CD24 3C 60 80 3E */ lis r3, buffer__14mDoMtx_stack_c@ha /* 0x803DD4A0@ha */ -/* 8000CD28 38 03 D4 A0 */ addi r0, r3, buffer__14mDoMtx_stack_c@l /* 0x803DD4A0@l */ -/* 8000CD2C 7C 04 00 40 */ cmplw r4, r0 -/* 8000CD30 41 81 00 0C */ bgt lbl_8000CD3C -/* 8000CD34 38 60 00 00 */ li r3, 0 -/* 8000CD38 48 00 00 1C */ b lbl_8000CD54 -lbl_8000CD3C: -/* 8000CD3C 38 64 FF D0 */ addi r3, r4, -48 -/* 8000CD40 90 6D 80 28 */ stw r3, next__14mDoMtx_stack_c(r13) -/* 8000CD44 3C 80 80 3E */ lis r4, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */ -/* 8000CD48 38 84 D4 70 */ addi r4, r4, now__14mDoMtx_stack_c@l /* 0x803DD470@l */ -/* 8000CD4C 48 33 97 65 */ bl PSMTXCopy -/* 8000CD50 38 60 00 01 */ li r3, 1 -lbl_8000CD54: -/* 8000CD54 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8000CD58 7C 08 03 A6 */ mtlr r0 -/* 8000CD5C 38 21 00 10 */ addi r1, r1, 0x10 -/* 8000CD60 4E 80 00 20 */ blr diff --git a/asm/m_Do/m_Do_mtx/quatM__14mDoMtx_stack_cFPC10Quaternion.s b/asm/m_Do/m_Do_mtx/quatM__14mDoMtx_stack_cFPC10Quaternion.s deleted file mode 100644 index 48705f6c7f..0000000000 --- a/asm/m_Do/m_Do_mtx/quatM__14mDoMtx_stack_cFPC10Quaternion.s +++ /dev/null @@ -1,16 +0,0 @@ -lbl_8000CF7C: -/* 8000CF7C 94 21 FF C0 */ stwu r1, -0x40(r1) -/* 8000CF80 7C 08 02 A6 */ mflr r0 -/* 8000CF84 90 01 00 44 */ stw r0, 0x44(r1) -/* 8000CF88 7C 64 1B 78 */ mr r4, r3 -/* 8000CF8C 38 61 00 08 */ addi r3, r1, 8 -/* 8000CF90 48 33 9A 59 */ bl PSMTXQuat -/* 8000CF94 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */ -/* 8000CF98 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */ -/* 8000CF9C 38 81 00 08 */ addi r4, r1, 8 -/* 8000CFA0 7C 65 1B 78 */ mr r5, r3 -/* 8000CFA4 48 33 95 41 */ bl PSMTXConcat -/* 8000CFA8 80 01 00 44 */ lwz r0, 0x44(r1) -/* 8000CFAC 7C 08 03 A6 */ mtlr r0 -/* 8000CFB0 38 21 00 40 */ addi r1, r1, 0x40 -/* 8000CFB4 4E 80 00 20 */ blr diff --git a/asm/m_Do/m_Do_mtx/scaleM__14mDoMtx_stack_cFRC4cXyz.s b/asm/m_Do/m_Do_mtx/scaleM__14mDoMtx_stack_cFRC4cXyz.s deleted file mode 100644 index 124547ab68..0000000000 --- a/asm/m_Do/m_Do_mtx/scaleM__14mDoMtx_stack_cFRC4cXyz.s +++ /dev/null @@ -1,12 +0,0 @@ -lbl_8000CE70: -/* 8000CE70 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8000CE74 7C 08 02 A6 */ mflr r0 -/* 8000CE78 90 01 00 14 */ stw r0, 0x14(r1) -/* 8000CE7C C0 23 00 00 */ lfs f1, 0(r3) -/* 8000CE80 C0 43 00 04 */ lfs f2, 4(r3) -/* 8000CE84 C0 63 00 08 */ lfs f3, 8(r3) -/* 8000CE88 4B FF FF B1 */ bl scaleM__14mDoMtx_stack_cFfff -/* 8000CE8C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8000CE90 7C 08 03 A6 */ mtlr r0 -/* 8000CE94 38 21 00 10 */ addi r1, r1, 0x10 -/* 8000CE98 4E 80 00 20 */ blr diff --git a/asm/m_Do/m_Do_mtx/scaleM__14mDoMtx_stack_cFfff.s b/asm/m_Do/m_Do_mtx/scaleM__14mDoMtx_stack_cFfff.s deleted file mode 100644 index d5ffdf9f25..0000000000 --- a/asm/m_Do/m_Do_mtx/scaleM__14mDoMtx_stack_cFfff.s +++ /dev/null @@ -1,15 +0,0 @@ -lbl_8000CE38: -/* 8000CE38 94 21 FF C0 */ stwu r1, -0x40(r1) -/* 8000CE3C 7C 08 02 A6 */ mflr r0 -/* 8000CE40 90 01 00 44 */ stw r0, 0x44(r1) -/* 8000CE44 38 61 00 08 */ addi r3, r1, 8 -/* 8000CE48 48 33 9B 21 */ bl PSMTXScale -/* 8000CE4C 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */ -/* 8000CE50 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */ -/* 8000CE54 38 81 00 08 */ addi r4, r1, 8 -/* 8000CE58 7C 65 1B 78 */ mr r5, r3 -/* 8000CE5C 48 33 96 89 */ bl PSMTXConcat -/* 8000CE60 80 01 00 44 */ lwz r0, 0x44(r1) -/* 8000CE64 7C 08 03 A6 */ mtlr r0 -/* 8000CE68 38 21 00 40 */ addi r1, r1, 0x40 -/* 8000CE6C 4E 80 00 20 */ blr diff --git a/asm/m_Do/m_Do_mtx/scaleS__14mDoMtx_stack_cFRC4cXyz.s b/asm/m_Do/m_Do_mtx/scaleS__14mDoMtx_stack_cFRC4cXyz.s deleted file mode 100644 index b79d1c51a4..0000000000 --- a/asm/m_Do/m_Do_mtx/scaleS__14mDoMtx_stack_cFRC4cXyz.s +++ /dev/null @@ -1,15 +0,0 @@ -lbl_8000CE00: -/* 8000CE00 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8000CE04 7C 08 02 A6 */ mflr r0 -/* 8000CE08 90 01 00 14 */ stw r0, 0x14(r1) -/* 8000CE0C 7C 64 1B 78 */ mr r4, r3 -/* 8000CE10 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */ -/* 8000CE14 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */ -/* 8000CE18 C0 24 00 00 */ lfs f1, 0(r4) -/* 8000CE1C C0 44 00 04 */ lfs f2, 4(r4) -/* 8000CE20 C0 64 00 08 */ lfs f3, 8(r4) -/* 8000CE24 48 33 9B 45 */ bl PSMTXScale -/* 8000CE28 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8000CE2C 7C 08 03 A6 */ mtlr r0 -/* 8000CE30 38 21 00 10 */ addi r1, r1, 0x10 -/* 8000CE34 4E 80 00 20 */ blr diff --git a/asm/m_Do/m_Do_mtx/transM__14mDoMtx_stack_cFRC4cXyz.s b/asm/m_Do/m_Do_mtx/transM__14mDoMtx_stack_cFRC4cXyz.s deleted file mode 100644 index 6d4dc1dfa8..0000000000 --- a/asm/m_Do/m_Do_mtx/transM__14mDoMtx_stack_cFRC4cXyz.s +++ /dev/null @@ -1,12 +0,0 @@ -lbl_8000CDD4: -/* 8000CDD4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8000CDD8 7C 08 02 A6 */ mflr r0 -/* 8000CDDC 90 01 00 14 */ stw r0, 0x14(r1) -/* 8000CDE0 C0 23 00 00 */ lfs f1, 0(r3) -/* 8000CDE4 C0 43 00 04 */ lfs f2, 4(r3) -/* 8000CDE8 C0 63 00 08 */ lfs f3, 8(r3) -/* 8000CDEC 4B FF FF B1 */ bl transM__14mDoMtx_stack_cFfff -/* 8000CDF0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8000CDF4 7C 08 03 A6 */ mtlr r0 -/* 8000CDF8 38 21 00 10 */ addi r1, r1, 0x10 -/* 8000CDFC 4E 80 00 20 */ blr diff --git a/asm/m_Do/m_Do_mtx/transM__14mDoMtx_stack_cFfff.s b/asm/m_Do/m_Do_mtx/transM__14mDoMtx_stack_cFfff.s deleted file mode 100644 index f08985b61f..0000000000 --- a/asm/m_Do/m_Do_mtx/transM__14mDoMtx_stack_cFfff.s +++ /dev/null @@ -1,15 +0,0 @@ -lbl_8000CD9C: -/* 8000CD9C 94 21 FF C0 */ stwu r1, -0x40(r1) -/* 8000CDA0 7C 08 02 A6 */ mflr r0 -/* 8000CDA4 90 01 00 44 */ stw r0, 0x44(r1) -/* 8000CDA8 38 61 00 08 */ addi r3, r1, 8 -/* 8000CDAC 48 33 9B 3D */ bl PSMTXTrans -/* 8000CDB0 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */ -/* 8000CDB4 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */ -/* 8000CDB8 38 81 00 08 */ addi r4, r1, 8 -/* 8000CDBC 7C 65 1B 78 */ mr r5, r3 -/* 8000CDC0 48 33 97 25 */ bl PSMTXConcat -/* 8000CDC4 80 01 00 44 */ lwz r0, 0x44(r1) -/* 8000CDC8 7C 08 03 A6 */ mtlr r0 -/* 8000CDCC 38 21 00 40 */ addi r1, r1, 0x40 -/* 8000CDD0 4E 80 00 20 */ blr diff --git a/asm/m_Do/m_Do_mtx/transS__14mDoMtx_stack_cFRC4cXyz.s b/asm/m_Do/m_Do_mtx/transS__14mDoMtx_stack_cFRC4cXyz.s deleted file mode 100644 index 283e6d8683..0000000000 --- a/asm/m_Do/m_Do_mtx/transS__14mDoMtx_stack_cFRC4cXyz.s +++ /dev/null @@ -1,15 +0,0 @@ -lbl_8000CD64: -/* 8000CD64 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8000CD68 7C 08 02 A6 */ mflr r0 -/* 8000CD6C 90 01 00 14 */ stw r0, 0x14(r1) -/* 8000CD70 7C 64 1B 78 */ mr r4, r3 -/* 8000CD74 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */ -/* 8000CD78 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */ -/* 8000CD7C C0 24 00 00 */ lfs f1, 0(r4) -/* 8000CD80 C0 44 00 04 */ lfs f2, 4(r4) -/* 8000CD84 C0 64 00 08 */ lfs f3, 8(r4) -/* 8000CD88 48 33 9B 61 */ bl PSMTXTrans -/* 8000CD8C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8000CD90 7C 08 03 A6 */ mtlr r0 -/* 8000CD94 38 21 00 10 */ addi r1, r1, 0x10 -/* 8000CD98 4E 80 00 20 */ blr diff --git a/asm/m_Do/m_Do_printf/my_PutString__FPCc.s b/asm/m_Do/m_Do_printf/my_PutString__FPCc.s deleted file mode 100644 index be52d269a5..0000000000 --- a/asm/m_Do/m_Do_printf/my_PutString__FPCc.s +++ /dev/null @@ -1,12 +0,0 @@ -lbl_800067C8: -/* 800067C8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800067CC 7C 08 02 A6 */ mflr r0 -/* 800067D0 90 01 00 14 */ stw r0, 0x14(r1) -/* 800067D4 3C 80 80 3D */ lis r4, __files@ha /* 0x803D29B0@ha */ -/* 800067D8 38 84 29 B0 */ addi r4, r4, __files@l /* 0x803D29B0@l */ -/* 800067DC 38 84 00 50 */ addi r4, r4, 0x50 -/* 800067E0 48 35 E9 F9 */ bl fputs -/* 800067E4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800067E8 7C 08 03 A6 */ mtlr r0 -/* 800067EC 38 21 00 10 */ addi r1, r1, 0x10 -/* 800067F0 4E 80 00 20 */ blr diff --git a/include/JSystem/J2DGraph/J2DAnimation.h b/include/JSystem/J2DGraph/J2DAnimation.h index 8f79a04d04..5d43cdd324 100644 --- a/include/JSystem/J2DGraph/J2DAnimation.h +++ b/include/JSystem/J2DGraph/J2DAnimation.h @@ -75,9 +75,20 @@ struct J2DAnmColor { /* 8030AF24 */ void searchUpdateMaterialID(J2DScreen*); }; -struct J2DAnmBase { - /* 80053C94 */ ~J2DAnmBase(); - /* 800569B0 */ void searchUpdateMaterialID(J2DScreen*); +class J2DAnmBase { +public: + /* 80053C94 */ virtual ~J2DAnmBase(); + /* 800569B0 */ virtual void searchUpdateMaterialID(J2DScreen*); + + s16 getFrameMax() const { return mFrameMax; } + void setFrame(f32 frame) { mFrame = frame; } + +private: + /* 0x0 */ // vtable + /* 0x4 */ u8 field_0x4[2]; + /* 0x6 */ s16 mFrameMax; + /* 0x8 */ f32 mFrame; + /* 0xC */ int mKind; }; struct J2DAnmVtxColor {}; diff --git a/include/JSystem/J2DGraph/J2DGrafContext.h b/include/JSystem/J2DGraph/J2DGrafContext.h index 5a8d084bdc..b4875b0435 100644 --- a/include/JSystem/J2DGraph/J2DGrafContext.h +++ b/include/JSystem/J2DGraph/J2DGrafContext.h @@ -3,16 +3,13 @@ #include "JSystem/JGeometry.h" #include "JSystem/JUtility.h" +#include "dolphin/mtx/mtx.h" #include "dolphin/types.h" -struct J2DGrafContext { +class J2DGrafContext { +public: /* 802E8B08 */ J2DGrafContext(f32, f32, f32, f32); - /* 802E8BB4 */ void setPort(); - /* 802E8C44 */ void setup2D(); - /* 802E8E20 */ void setScissor(); /* 802E90C0 */ void scissor(JGeometry::TBox2 const&); - /* 802E90E4 */ void place(JGeometry::TBox2 const&); - /* 802E961C */ void place(f32, f32, f32, f32); /* 802E9118 */ void setColor(JUtility::TColor, JUtility::TColor, JUtility::TColor, JUtility::TColor); /* 802E9234 */ void setLineWidth(u8); @@ -20,9 +17,36 @@ struct J2DGrafContext { /* 802E9368 */ void drawFrame(JGeometry::TBox2 const&); /* 802E9488 */ void line(JGeometry::TVec2, JGeometry::TVec2); /* 802E9564 */ void lineTo(JGeometry::TVec2); - /* 802E95D4 */ ~J2DGrafContext(); - /* 802E9664 */ bool getGrafType() const; - /* 802E966C */ void setLookat(); + + /* 802E95D4 */ virtual ~J2DGrafContext(); + /* 802E90E4 */ virtual void place(JGeometry::TBox2 const&); + /* 802E961C */ virtual void place(f32, f32, f32, f32); + /* 802E8BB4 */ virtual void setPort(); + /* 802E8C44 */ virtual void setup2D(); + /* 802E8E20 */ virtual void setScissor(); + /* 802E9664 */ virtual bool getGrafType() const; + /* 802E966C */ virtual void setLookat(); + +private: + /* 0x04 */ JGeometry::TBox2 mBounds; + /* 0x14 */ JGeometry::TBox2 mScissorBounds; + /* 0x24 */ JUtility::TColor field_0x24; + /* 0x28 */ JUtility::TColor field_0x28; + /* 0x2C */ JUtility::TColor field_0x2c; + /* 0x30 */ JUtility::TColor field_0x30; + /* 0x34 */ u8 mLineWidth; + /* 0x38 */ JGeometry::TVec2 field_0x14; + /* 0x40 */ u8 field_0x40[0x40]; + /* 0x80 */ Mtx mPosMtx; + /* 0xB0 */ u8 field_0xb0; + /* 0xB1 */ u8 field_0xb1; + /* 0xB2 */ u8 field_0xb2; + /* 0xB3 */ u8 mLineBlendMode; + /* 0xB4 */ u8 mLineSrcBlendFactor; + /* 0xB5 */ u8 mLineDstBlendFactor; + /* 0xB6 */ u8 mBoxBlendMode; + /* 0xB7 */ u8 mBoxSrcBlendFactor; + /* 0xB8 */ u8 mBoxDstBlendFactor; }; #endif /* J2DGRAFCONTEXT_H */ diff --git a/include/JSystem/J2DGraph/J2DOrthoGraph.h b/include/JSystem/J2DGraph/J2DOrthoGraph.h index 7a61f79618..4973087f93 100644 --- a/include/JSystem/J2DGraph/J2DOrthoGraph.h +++ b/include/JSystem/J2DGraph/J2DOrthoGraph.h @@ -1,6 +1,25 @@ #ifndef J2DORTHOGRAPH_H #define J2DORTHOGRAPH_H +#include "JSystem/J2DGraph/J2DGrafContext.h" #include "dolphin/types.h" +class J2DOrthoGraph : public J2DGrafContext { +public: + /* 802E9670 */ J2DOrthoGraph(); + /* 802E96D0 */ J2DOrthoGraph(f32, f32, f32, f32, f32, f32); + /* 802E980C */ void setOrtho(JGeometry::TBox2 const&, f32, f32); + /* 802E987C */ void scissorBounds(JGeometry::TBox2*, JGeometry::TBox2 const*); + + /* 8000B118 */ virtual ~J2DOrthoGraph(); + /* 802E97B4 */ virtual void setPort(); + /* 802E9C88 */ virtual bool getGrafType() const; + /* 802E9840 */ virtual void setLookat(); + +private: + /* 0xBC */ JGeometry::TBox2 mOrtho; + /* 0xCC */ f32 mNear; + /* 0xD0 */ f32 mFar; +}; + #endif /* J2DORTHOGRAPH_H */ diff --git a/include/JSystem/J2DGraph/J2DPane.h b/include/JSystem/J2DGraph/J2DPane.h index 093b44ff94..d73d42d169 100644 --- a/include/JSystem/J2DGraph/J2DPane.h +++ b/include/JSystem/J2DGraph/J2DPane.h @@ -43,8 +43,8 @@ public: /* 0x30 */ virtual void update(); /* 0x34 */ virtual void drawSelf(f32 arg1, f32 arg2); /* 0x38 */ virtual void drawSelf(f32 arg1, f32 arg2, Mtx* mtx); - /* 0x3c */ virtual const J2DPane* search(u64 tag); - /* 0x40 */ virtual const J2DPane* searchUserInfo(u64 tag); + /* 0x3c */ virtual J2DPane* search(u64 tag); + /* 0x40 */ virtual J2DPane* searchUserInfo(u64 tag); /* 0x44 */ virtual void makeMatrix(f32, f32); /* 0x48 */ virtual void makeMatrix(f32 a, f32 b, f32 c, f32 d); /* 0x4c */ virtual bool isUsed(const ResTIMG* timg); @@ -70,6 +70,39 @@ public: f32 getWidth() const { return mBounds.getWidth(); } JSUTree* getFirstChild() { return mPaneTree.getFirstChild(); } const JSUTree* getPaneTree() { return &mPaneTree; } + u8 getAlpha() const { return mAlpha; } + + f32 getScaleX() const { return mScaleX; } + + f32 getScaleY() const { return mScaleY; } + + f32 getTranslateX() const { return mTranslateX; } + + f32 getTranslateY() const { return mTranslateY; } + + f32 getRotateZ() const { return mRotateZ; } + + f32 getRotOffsetX() const { return mRotateOffsetX; } + + f32 getRotOffsetY() const { return mRotateOffsetY; } + + void translate(f32 transX, f32 transY) { + mTranslateX = transX; + mTranslateY = transY; + calcMtx(); + } + + void scale(f32 scaleH, f32 scaleV) { + mScaleX = scaleH; + mScaleY = scaleV; + calcMtx(); + } + + int getKind() const { return id; } + + bool isVisible() const { return mVisible; } + + void show() { mVisible = true; } void initiate(); void initialize(J2DPane*, bool, u64, const JGeometry::TBox2&); @@ -87,9 +120,9 @@ public: void setBasePosition(J2DBasePosition position); void setInfluencedAlpha(bool arg1, bool arg2); void getGlbVtx(u8 arg1) const; - const J2DPane* getFirstChildPane(); - const J2DPane* getNextChildPane(); - const J2DPane* getParentPane(); + J2DPane* getFirstChildPane(); + J2DPane* getNextChildPane(); + J2DPane* getParentPane(); void makePaneExStream(J2DPane* other, JSURandomInputStream* stream); static s16 J2DCast_F32_to_S16(f32 value, u8 arg2); void* getPointer(JSURandomInputStream* stream, u32 size, JKRArchive* archive); diff --git a/include/JSystem/J2DGraph/J2DScreen.h b/include/JSystem/J2DGraph/J2DScreen.h index 27f5c55161..1e6527babf 100644 --- a/include/JSystem/J2DGraph/J2DScreen.h +++ b/include/JSystem/J2DGraph/J2DScreen.h @@ -15,8 +15,8 @@ public: /* 802F9A18 */ virtual s32 getTypeID() const; /* 802F9A20 */ virtual void calcMtx(); /* 802F9120 */ virtual void drawSelf(f32, f32, Mtx*); - /* 802F90A0 */ virtual const J2DPane* search(u64); - /* 802F90E0 */ virtual const J2DPane* searchUserInfo(u64); + /* 802F90A0 */ virtual J2DPane* search(u64); + /* 802F90E0 */ virtual J2DPane* searchUserInfo(u64); /* 802F9600 */ virtual bool isUsed(ResTIMG const*); /* 802F9620 */ virtual bool isUsed(ResFONT const*); /* 80053BA0 */ virtual void clearAnmTransform(); diff --git a/include/JSystem/J2DGraph/J2DTextBox.h b/include/JSystem/J2DGraph/J2DTextBox.h index d58cfe1669..b2170c014f 100644 --- a/include/JSystem/J2DGraph/J2DTextBox.h +++ b/include/JSystem/J2DGraph/J2DTextBox.h @@ -32,7 +32,7 @@ public: /* 803002E8 */ virtual void draw(f32, f32); /* 80300278 */ virtual void setFont(JUTFont*); /* 8021C7F4 */ virtual void getFont() const; - /* 80254408 */ virtual void setBlack(JUtility::TColor); + /* 80254408 */ virtual bool setBlack(JUtility::TColor); /* 80186C84 */ virtual void setWhite(JUtility::TColor); /* 8019230C */ virtual void setBlackWhite(JUtility::TColor, JUtility::TColor); /* 801DFA34 */ virtual void getBlack() const; diff --git a/include/JSystem/J2DGraph/J2DWindow.h b/include/JSystem/J2DGraph/J2DWindow.h index f6090bbd24..088ab3315e 100644 --- a/include/JSystem/J2DGraph/J2DWindow.h +++ b/include/JSystem/J2DGraph/J2DWindow.h @@ -1,6 +1,79 @@ #ifndef J2DWINDOW_H #define J2DWINDOW_H +#include "JSystem/J2DGraph/J2DMaterial.h" +#include "JSystem/J2DGraph/J2DPane.h" +#include "JSystem/JSupport/JSURandomInputStream.h" #include "dolphin/types.h" +class J2DWindow : public J2DPane { +public: + struct TMaterial { + /* 0x00 */ JUTTexture* field_0x0; + /* 0x04 */ JUTTexture* field_0x4; + /* 0x08 */ JUTTexture* field_0x8; + /* 0x0C */ JUTTexture* field_0xc; + /* 0x10 */ JUTTexture* field_0x10; + }; // Size: 0x14 + + struct TContentsColor { + TContentsColor() {} + /* 0x0 */ JUtility::TColor field_0x0; + /* 0x4 */ JUtility::TColor field_0x4; + /* 0x8 */ JUtility::TColor field_0x8; + /* 0xC */ JUtility::TColor field_0xc; + }; // Size: 0x10 + + /* 802F9C10 */ J2DWindow(J2DPane*, JSURandomInputStream*, J2DMaterial*); + /* 802F9B74 */ J2DWindow(J2DPane*, JSURandomInputStream*, JKRArchive*); + /* 802F9A7C */ J2DWindow(); + /* 802FA118 */ void private_readStream(J2DPane*, JSURandomInputStream*, JKRArchive*); + /* 802FA604 */ void initinfo2(); + /* 802FAA5C */ void draw_private(JGeometry::TBox2 const&, JGeometry::TBox2 const&); + /* 802FB12C */ void setContentsColor(JUtility::TColor, JUtility::TColor, JUtility::TColor, + JUtility::TColor); + /* 802FB634 */ void drawFrameTexture(JUTTexture*, f32, f32, f32, f32, u16, u16, u16, u16, bool); + /* 802FB7C8 */ void drawFrameTexture(JUTTexture*, f32, f32, bool, bool, bool); + /* 802FB868 */ void drawContentsTexture(f32, f32, f32, f32); + /* 802FBB90 */ void setTevMode(JUTTexture*, JUtility::TColor, JUtility::TColor); + + /* 802FA880 */ virtual ~J2DWindow(); + /* 802FBF98 */ virtual s32 getTypeID() const; + /* 802FB000 */ virtual void resize(f32, f32); + /* 802FB1D8 */ virtual void drawSelf(f32, f32); + /* 802FB240 */ virtual void drawSelf(f32, f32, f32 (*)[3][4]); + /* 802FBEDC */ virtual bool isUsed(ResTIMG const*); + /* 802FC02C */ virtual bool isUsed(ResFONT const*); + /* 802FC04C */ virtual void rewriteAlpha(); + /* 802FA928 */ virtual void draw(JGeometry::TBox2 const&); + /* 802FAED0 */ virtual void draw(JGeometry::TBox2 const&, JGeometry::TBox2 const&); + /* 802FBFA0 */ virtual void draw(f32, f32, f32, f32); + /* 80254430 */ virtual bool setBlack(JUtility::TColor); + /* 802543E0 */ virtual bool setWhite(JUtility::TColor); + /* 80254568 */ virtual bool setBlackWhite(JUtility::TColor, JUtility::TColor); + /* 80254000 */ virtual JUtility::TColor getBlack() const; + /* 8025400C */ virtual JUtility::TColor getWhite() const; + /* 802FBE60 */ virtual void getFrameTexture(u8, u8) const; + /* 802FBFE8 */ virtual void getContentsTexture(u8) const; + /* 802FC000 */ virtual void getMaterial(J2DWindow::TMaterial&) const; + /* 802FC01C */ virtual bool getFrameMaterial(u8) const; + /* 802FC024 */ virtual bool getContentsMaterial() const; + /* 802FB338 */ virtual void drawContents(JGeometry::TBox2 const&); + +private: + /* 0x100 */ TMaterial mMaterial; + /* 0x114 */ JGeometry::TBox2 field_0x114; + /* 0x124 */ JUTPalette* mPalette; + /* 0x128 */ JUtility::TColor field_0x128; + /* 0x12C */ JUtility::TColor field_0x12C; + /* 0x130 */ JUtility::TColor field_0x130; + /* 0x134 */ JUtility::TColor field_0x134; + /* 0x138 */ JUtility::TColor mWhite; + /* 0x13C */ JUtility::TColor mBlack; + /* 0x140 */ s16 field_0x140; + /* 0x142 */ s16 field_0x142; + /* 0x144 */ u8 field_0x144; + /* 0x145 */ u8 field_0x145; +}; // Size: 0x148 + #endif /* J2DWINDOW_H */ diff --git a/include/JSystem/J3DGraphAnimator/J3DModel.h b/include/JSystem/J3DGraphAnimator/J3DModel.h index af644741c0..6e3a8ca9b9 100644 --- a/include/JSystem/J3DGraphAnimator/J3DModel.h +++ b/include/JSystem/J3DGraphAnimator/J3DModel.h @@ -40,6 +40,12 @@ public: /* 0x0C */ Mtx* mMatrices[5]; }; +class J3DMtxBuffer; +class J3DVertexBuffer; +class J3DMatPacket; +class J3DShapePacket; +class J3DVtxColorCalc; + class J3DModel { public: /* 800CFFF4 */ void setBaseTRMtx(f32 (*)[4]); @@ -50,25 +56,26 @@ public: /* 803275FC */ void newDifferedDisplayList(u32); /* 8032767C */ void lock(); /* 803276B4 */ void unlock(); - /* 803276EC */ void calcMaterial(); - /* 80327858 */ void calcDiffTexMtx(); /* 803279A0 */ void diff(); /* 80327A2C */ void setDeformData(J3DDeformData*, u32); /* 80327AA0 */ void setSkinDeform(J3DSkinDeform*, u32); /* 80327BD4 */ void calcAnmMtx(); /* 80327C58 */ void calcWeightEnvelopeMtx(); - /* 80327CA4 */ void update(); - /* 80327CF0 */ void calc(); - /* 80327E4C */ void entry(); - /* 80327F40 */ void viewCalc(); /* 80328190 */ void calcNrmMtx(); /* 803281B4 */ void calcBumpMtx(); /* 803282B8 */ void calcBBoardMtx(); /* 803282EC */ void prepareShapePackets(); - /* 80328350 */ ~J3DModel(); - Mtx* getAnmMtx(int p1); + Mtx* getAnmMtx(int); - // better way to handle inlines with same name as non-inlines? + /* 80327CA4 */ void update(); + /* 80327E4C */ void entry(); + /* 80327CF0 */ void calc(); + /* 803276EC */ void calcMaterial(); + /* 80327858 */ void calcDiffTexMtx(); + /* 80327F40 */ void viewCalc(); + /* 80328350 */ ~J3DModel(); + + // is there a better way to handle inlines with same name as non-inlines? Mtx* i_getAnmMtx(int p1) { return mMtxBuffer->getAnmMtx(p1); } /* 0x00 */ void* vtable; @@ -76,17 +83,17 @@ public: /* 0x08 */ u32 mFlags; /* 0x0C */ u32 field_0x0c; /* 0x10 */ int field_0x10; - /* 0x14 */ int mUserData; - /* 0x18 */ Vec mPosition; + /* 0x14 */ void* mUserArea; + /* 0x18 */ Vec mBaseScale; /* 0x24 */ Mtx mBaseTransformMtx; /* 0x54 */ Mtx mInternalView; /* 0x84 */ J3DMtxBuffer* mMtxBuffer; - /* 0x88 */ void* mVertexBuffer; - /* 0xC0 */ void* mMaterialPacket; - /* 0xC4 */ void* mShapePacket; - /* 0xC8 */ void* mDeformData; - /* 0xCC */ void* mSkinDeform; - /* 0xD0 */ void* mVtxColorCalc; + /* 0x88 */ J3DVertexBuffer* mVertexBuffer; + /* 0xC0 */ J3DMatPacket* mMatPacket; + /* 0xC4 */ J3DShapePacket* mShapePacket; + /* 0xC8 */ J3DDeformData* mDeformData; + /* 0xCC */ J3DSkinDeform* mSkinDeform; + /* 0xD0 */ J3DVtxColorCalc* mVtxColorCalc; /* 0xD4 */ u8 field_0xd4[8]; }; diff --git a/include/JSystem/J3DGraphBase/J3DDrawBuffer.h b/include/JSystem/J3DGraphBase/J3DDrawBuffer.h index f24f798b08..86d0af9720 100644 --- a/include/JSystem/J3DGraphBase/J3DDrawBuffer.h +++ b/include/JSystem/J3DGraphBase/J3DDrawBuffer.h @@ -15,6 +15,7 @@ typedef void (*J3DDrawBuffer_DrawFunc)(const J3DDrawBuffer* this_); class J3DDrawBuffer { public: + J3DDrawBuffer() { initialize(); } ~J3DDrawBuffer(); void initialize(); J3DError allocBuffer(u32); diff --git a/include/JSystem/J3DGraphBase/J3DPacket.h b/include/JSystem/J3DGraphBase/J3DPacket.h index 1b2cee8aa5..3ef6ac0840 100644 --- a/include/JSystem/J3DGraphBase/J3DPacket.h +++ b/include/JSystem/J3DGraphBase/J3DPacket.h @@ -39,6 +39,12 @@ public: class J3DPacket { public: + J3DPacket() { + mpNextSibling = NULL; + mpFirstChild = NULL; + mpUserData = NULL; + } + void addChildPacket(J3DPacket* pChild); inline void clear() { diff --git a/include/JSystem/J3DGraphBase/J3DShape.h b/include/JSystem/J3DGraphBase/J3DShape.h index 2bf3965905..5496e77094 100644 --- a/include/JSystem/J3DGraphBase/J3DShape.h +++ b/include/JSystem/J3DGraphBase/J3DShape.h @@ -1,6 +1,73 @@ #ifndef J3DSHAPE_H #define J3DSHAPE_H +#include "JSystem/J3DGraphBase/J3DShapeDraw.h" +#include "JSystem/J3DGraphBase/J3DShapeMtx.h" +#include "dolphin/gx/GX.h" +#include "dolphin/mtx/mtxvec.h" #include "dolphin/types.h" +class J3DCurrentMtxInfo { +public: + u32 mMtxIdxRegA; + u32 mMtxIdxRegB; +}; + +class J3DCurrentMtx : public J3DCurrentMtxInfo { +public: + u32 getMtxIdxRegA() const { return mMtxIdxRegA; } + u32 getMtxIdxRegB() const { return mMtxIdxRegB; } +}; + +class J3DMaterial; +class J3DVertexData; +class J3DDrawMtxData; + +class J3DShape { +public: + /* 80314B48 */ void initialize(); + /* 80314BB8 */ void addTexMtxIndexInDL(_GXAttr, u32); + /* 80314CBC */ void addTexMtxIndexInVcd(_GXAttr); + /* 80314DA8 */ void calcNBTScale(Vec const&, f32 (*)[3][3], f32 (*)[3][3]); + /* 80314E28 */ void countBumpMtxNum() const; + /* 80314EEC */ void loadVtxArray() const; + /* 80314F5C */ void isSameVcdVatCmd(J3DShape*); + /* 80314F98 */ void makeVtxArrayCmd(); + /* 80315260 */ void makeVcdVatCmd(); + /* 80315300 */ void loadPreDrawSetting() const; + /* 80315398 */ void setArrayAndBindPipeline() const; + + /* 803155E0 */ virtual void draw() const; + /* 8031544C */ virtual void drawFast() const; + /* 80315628 */ virtual void simpleDraw() const; + /* 803156AC */ virtual void simpleDrawCache() const; + + static void resetVcdVatCache() { sOldVcdVatCmd = NULL; } + + static void* sOldVcdVatCmd; + +private: + /* 0x04 */ J3DMaterial* mMaterial; + /* 0x08 */ u16 mIndex; + /* 0x0A */ u16 mMtxGroupNum; + /* 0x0C */ u32 mFlags; + /* 0x10 */ f32 mRadius; + /* 0x14 */ Vec mMin; + /* 0x20 */ Vec mMax; + /* 0x2C */ void* mVcdVatCmd; + /* 0x30 */ _GXAttr* mVtxDesc; + /* 0x34 */ bool mHasNBT; + /* 0x38 */ J3DShapeMtx* mShapeMtx; + /* 0x3C */ J3DShapeDraw* mShapeDraw; + /* 0x40 */ J3DCurrentMtx mCurrentMtx; + /* 0x48 */ bool mHasPNMTXIdx; + /* 0x4C */ J3DVertexData* mVertexData; + /* 0x50 */ J3DDrawMtxData* mDrawMtxData; + /* 0x54 */ u8* mScaleFlagArray; + /* 0x58 */ Mtx* mDrawMtx; + /* 0x5C */ Mtx* mNrmMtx; + /* 0x60 */ u32* mCurrentViewNo; + /* 0x64 */ u32 mBumpMtxOffset; +}; + #endif /* J3DSHAPE_H */ diff --git a/include/JSystem/J3DGraphBase/J3DShapeDraw.h b/include/JSystem/J3DGraphBase/J3DShapeDraw.h index 5da3c712ab..8caf151850 100644 --- a/include/JSystem/J3DGraphBase/J3DShapeDraw.h +++ b/include/JSystem/J3DGraphBase/J3DShapeDraw.h @@ -3,4 +3,18 @@ #include "dolphin/types.h" +class J3DShapeDraw { +public: + /* 80314924 */ void countVertex(u32); + /* 80314974 */ void addTexMtxIndexInDL(u32, u32, u32); + /* 80314ABC */ J3DShapeDraw(u8 const*, u32); + /* 80314AD4 */ void draw() const; + + /* 80314B00 */ virtual ~J3DShapeDraw(); + +private: + /* 0x04 */ u32 mDisplayListSize; + /* 0x08 */ void* mDisplayList; +}; + #endif /* J3DSHAPEDRAW_H */ diff --git a/include/JSystem/J3DGraphBase/J3DShapeMtx.h b/include/JSystem/J3DGraphBase/J3DShapeMtx.h index bde6e7762e..1b52660e25 100644 --- a/include/JSystem/J3DGraphBase/J3DShapeMtx.h +++ b/include/JSystem/J3DGraphBase/J3DShapeMtx.h @@ -1,6 +1,32 @@ #ifndef J3DSHAPEMTX_H #define J3DSHAPEMTX_H +#include "dolphin/mtx/mtxvec.h" #include "dolphin/types.h" +class J3DShapeMtx { +public: + /* 803130A8 */ void resetMtxLoadCache(); + /* 803130E4 */ void loadMtxIndx_PNGP(int, u16) const; + /* 80313128 */ void loadMtxIndx_PCPU(int, u16) const; + /* 80313188 */ void loadMtxIndx_NCPU(int, u16) const; + /* 803131D4 */ void loadMtxIndx_PNCPU(int, u16) const; + + /* 80314798 */ virtual ~J3DShapeMtx(); + /* 803147E0 */ virtual void getType() const; + /* 80273E08 */ virtual bool getUseMtxNum() const; + /* 8031459C */ virtual void getUseMtxIndex(u16) const; + /* 80313B94 */ virtual void load() const; + /* 80313BF0 */ virtual void calcNBTScale(Vec const&, f32 (*)[3][3], f32 (*)[3][3]); + + static u8 sMtxLoadPipeline[48]; + static u8 sMtxLoadCache[20 + 4 /* padding */]; + static u8 sCurrentPipeline[4]; + static u8 sCurrentScaleFlag[4]; + static u8 sTexMtxLoadType[4]; + +private: + /* 0x04 */ u16 mUseMtxIndex; +}; + #endif /* J3DSHAPEMTX_H */ diff --git a/include/JSystem/J3DGraphBase/J3DSys.h b/include/JSystem/J3DGraphBase/J3DSys.h index 9320bcdd02..298a50870a 100644 --- a/include/JSystem/J3DGraphBase/J3DSys.h +++ b/include/JSystem/J3DGraphBase/J3DSys.h @@ -12,9 +12,28 @@ enum J3DError { struct _GXTexCacheSize {}; +class J3DMtxCalc; +class J3DModel; +class J3DMatPacket; +class J3DShapePacket; +class J3DShape; +class J3DDrawBuffer; +class J3DTexture; + struct J3DSys { - Mtx mMtx; - u8 _30[0x11C - 0x30]; + /* 0x00 */ Mtx mMtx; + /* 0x30 */ J3DMtxCalc* mMtxCalc; + /* 0x34 */ u32 mFlags; + /* 0x38 */ J3DModel* mModel; + /* 0x3C */ J3DMatPacket* mMatPacket; + /* 0x40 */ J3DShapePacket* mShapePacket; + /* 0x44 */ J3DShape* mShape; + /* 0x48 */ J3DDrawBuffer* mDrawBuffer[2]; + /* 0x50 */ u32 mDrawMode; + /* 0x54 */ u32 mMaterialMode; + /* 0x58 */ J3DTexture* mTexture; + + u8 field_0x5c[0x11C - 0x5C]; /* 8030FDE8 */ J3DSys(); /* 8030FEC0 */ void loadPosMtxIndx(int, u16) const; /* 8030FEE4 */ void loadNrmMtxIndx(int, u16) const; @@ -29,10 +48,19 @@ struct J3DSys { /* 80310D44 */ void reinitIndStages(); /* 80310E3C */ void reinitPixelProc(); - static u8 mCurrentMtx[48]; + enum DrawMode { + /* 0x3 */ OPA_TEX_EDGE = 3, + /* 0x4 */ XLU, + }; + + void setDrawModeOpaTexEdge() { mDrawMode = OPA_TEX_EDGE; } + + void setDrawModeXlu() { mDrawMode = XLU; } + + static Mtx mCurrentMtx; static f32 mCurrentS[3]; static f32 mParentS[3]; - static u8 sTexCoordScaleTable[64 + 4 /* padding */]; + static u16 sTexCoordScaleTable[34]; }; extern J3DSys j3dSys; diff --git a/include/JSystem/J3DU/J3DUClipper.h b/include/JSystem/J3DU/J3DUClipper.h index 072bbe337a..b63f5e6325 100644 --- a/include/JSystem/J3DU/J3DUClipper.h +++ b/include/JSystem/J3DU/J3DUClipper.h @@ -13,6 +13,11 @@ public: /* 802738FC */ u32 clip(f32 const (*)[4], Vec, f32) const; /* 80273A44 */ u32 clip(f32 const (*)[4], Vec*, Vec*) const; + void setFovy(f32 fovy) { mFovY = fovy; } + void setAspect(f32 aspect) { mAspect = aspect; } + void setNear(f32 near) { mNear = near; } + void setFar(f32 far) { mFar = far; } + private: Vec _04; Vec _10; diff --git a/include/JSystem/JFramework/JFWSystem.h b/include/JSystem/JFramework/JFWSystem.h index dd4191f865..a618ea68f6 100644 --- a/include/JSystem/JFramework/JFWSystem.h +++ b/include/JSystem/JFramework/JFWSystem.h @@ -1,6 +1,36 @@ #ifndef JFWSYSTEM_H #define JFWSYSTEM_H +#include "JSystem/JUtility/JUTConsole.h" #include "dolphin/types.h" +struct JFWSystem { + struct CSetUpParam { + static u32 maxStdHeaps; + static u32 sysHeapSize; + static u32 fifoBufSize; + static u32 aramAudioBufSize; + static u32 aramGraphBufSize; + static u32 streamPriority; + static u32 decompPriority; + static u32 aPiecePriority; + static void* systemFontRes; + static void* renderMode; + static u32 exConsoleBufferSize[1 + 1 /* padding */]; + }; + + /* 80271CD0 */ void firstInit(); + /* 80271D18 */ void init(); + + static JUTConsole* getSystemConsole() { return systemConsole; } + + static u8 rootHeap[4]; + static u8 systemHeap[4]; + static u8 mainThread[4]; + static u8 debugPrint[4]; + static u8 systemFont[4]; + static u8 systemConsoleManager[4]; + static JUTConsole* systemConsole; +}; + #endif /* JFWSYSTEM_H */ diff --git a/include/JSystem/JGadget/linklist.h b/include/JSystem/JGadget/linklist.h index c96c2a792b..0bae608777 100644 --- a/include/JSystem/JGadget/linklist.h +++ b/include/JSystem/JGadget/linklist.h @@ -3,4 +3,25 @@ #include "dolphin/types.h" +namespace JGadget { +struct TLinkListNode { + TLinkListNode* mNext; + TLinkListNode* mPrev; +}; + +struct TNodeLinkList { + struct iterator {}; + + /* 802DCA1C */ ~TNodeLinkList(); + /* 802DCAA0 */ void erase(JGadget::TNodeLinkList::iterator, JGadget::TNodeLinkList::iterator); + /* 802DCA58 */ void erase(JGadget::TNodeLinkList::iterator); + /* 802DCB08 */ void splice(JGadget::TNodeLinkList::iterator, JGadget::TNodeLinkList&, + JGadget::TNodeLinkList::iterator); + /* 802DCBA8 */ void Insert(JGadget::TNodeLinkList::iterator, JGadget::TLinkListNode*); + /* 802DCBD4 */ void Erase(JGadget::TLinkListNode*); + /* 802DCBF8 */ void Remove(JGadget::TLinkListNode*); +}; + +}; // namespace JGadget + #endif /* LINKLIST_H */ diff --git a/include/JSystem/JKernel/JKRArchive.h b/include/JSystem/JKernel/JKRArchive.h index a451fab4fa..19411ebf9c 100644 --- a/include/JSystem/JKernel/JKRArchive.h +++ b/include/JSystem/JKernel/JKRArchive.h @@ -20,15 +20,15 @@ struct SArcHeader { }; struct SArcDataInfo { - u32 num_nodes; - u32 node_offset; - u32 num_file_entries; - u32 file_entry_offset; - u32 string_table_length; - u32 string_table_offset; - u16 next_free_file_id; - bool sync_file_ids_and_indices; - u8 field_1b[5]; + /* 0x00 */ u32 num_nodes; + /* 0x04 */ u32 node_offset; + /* 0x08 */ u32 num_file_entries; + /* 0x0C */ u32 file_entry_offset; + /* 0x10 */ u32 string_table_length; + /* 0x14 */ u32 string_table_offset; + /* 0x18 */ u16 next_free_file_id; + /* 0x1A */ bool sync_file_ids_and_indices; + /* 0x1B */ u8 field_1b[5]; }; inline u32 read_big_endian_u32(void* ptr) { @@ -135,6 +135,7 @@ public: u32 getFileAttribute(u32) const; u32 getMountMode() const { return mMountMode; } + SDIFileEntry* findNameResource(const char*) const; protected: bool isSameName(CArcName&, u32, u16) const; @@ -143,7 +144,6 @@ protected: SDIFileEntry* findTypeResource(u32, const char*) const; SDIFileEntry* findFsResource(const char*, u32) const; SDIFileEntry* findIdxResource(u32) const; - SDIFileEntry* findNameResource(const char*) const; SDIFileEntry* findPtrResource(const void*) const; SDIFileEntry* findIdResource(u16) const; @@ -165,6 +165,8 @@ public: /* vt[18] */ virtual void setExpandSize(SDIFileEntry*, u32); /* vt[19] */ virtual u32 getExpandSize(SDIFileEntry*) const; + u32 countFile() const { return mArcInfoBlock->num_file_entries; } + protected: /* 0x00 */ // vtable /* 0x04 */ // JKRFileLoader @@ -174,7 +176,11 @@ protected: /* 0x40 */ s32 mEntryNum; /* 0x44 */ SArcDataInfo* mArcInfoBlock; /* 0x48 */ SDirEntry* mNodes; + +public: /* 0x4C */ SDIFileEntry* mFiles; + +protected: /* 0x50 */ s32* mExpandedSize; /* 0x54 */ char* mStringTable; /* 0x58 */ u32 field_0x58; diff --git a/include/JSystem/JKernel/JKRHeap.h b/include/JSystem/JKernel/JKRHeap.h index 4665aeffd5..056ad1134e 100644 --- a/include/JSystem/JKernel/JKRHeap.h +++ b/include/JSystem/JKernel/JKRHeap.h @@ -101,6 +101,7 @@ public: void removeDisposer(JKRDisposer* disposer) { mDisposerList.remove(&disposer->mLink); } void lock() { OSLockMutex(&mMutex); } void unlock() { OSUnlockMutex(&mMutex); } + u32 getHeapSize() { return mSize; } protected: /* 0x00 */ // vtable diff --git a/include/JSystem/JSupport/JSUList.h b/include/JSystem/JSupport/JSUList.h index 3a1bf90229..0c7a5e1a4f 100644 --- a/include/JSystem/JSupport/JSUList.h +++ b/include/JSystem/JSupport/JSUList.h @@ -83,6 +83,8 @@ public: JSUList(bool init) : JSUPtrList(init) {} + ~JSUList() {} + bool append(JSULink* link) { return this->JSUPtrList::append((JSUPtrLink*)link); } bool prepend(JSULink* link) { return this->JSUPtrList::prepend((JSUPtrLink*)link); } diff --git a/include/JSystem/JUtility/JUTConsole.h b/include/JSystem/JUtility/JUTConsole.h index 2b4fc32c61..a4a5b074e6 100644 --- a/include/JSystem/JUtility/JUTConsole.h +++ b/include/JSystem/JUtility/JUTConsole.h @@ -1,6 +1,73 @@ #ifndef JUTCONSOLE_H #define JUTCONSOLE_H +#include "JSystem/JGadget/linklist.h" +#include "JSystem/JKernel/JKRDisposer.h" +#include "JSystem/JUtility.h" +#include "JSystem/JUtility/JUTFont.h" #include "dolphin/types.h" +class JUTConsole : public JKRDisposer { +public: + enum EConsoleType {}; + + /* 802E73E4 */ void create(unsigned int, void*, u32); + /* 802E7354 */ void create(unsigned int, unsigned int, JKRHeap*); + /* 802E746C */ JUTConsole(unsigned int, unsigned int, bool); + /* 802E75CC */ void getObjectSizeFromBufferSize(unsigned int, unsigned int); + /* 802E75DC */ void getLineFromObjectSize(u32, unsigned int); + /* 802E75EC */ void clear(); + /* 802E7648 */ void doDraw(JUTConsole::EConsoleType) const; + /* 802E7BB8 */ void print_f(char const*, ...); + /* 802E7C38 */ void print(char const*); + /* 802E7F7C */ void dumpToTerminal(unsigned int); + /* 802E80A8 */ void scroll(int); + /* 802E8184 */ void getUsedLine() const; + /* 802E81A8 */ int getLineOffset() const; + + /* 802E755C */ virtual ~JUTConsole(); + + void setOutput(u32 output) { mOutput = output; } + + u32 getOutput() const { return mOutput; } + + void setPosition(int x, int y) { + mPositionX = x; + mPositionY = y; + } + + int getPositionY() const { return mPositionY; } + + int getPositionX() const { return mPositionX; } + + bool isVisible() const { return mVisible; } + + void setVisible(bool visible) { mVisible = visible; } + +private: + /* 0x18 */ JGadget::TLinkListNode mListNode; + /* 0x20 */ u32 field_0x20; + /* 0x24 */ u32 field_0x24; + /* 0x28 */ u32 field_0x28; + /* 0x2C */ bool field_0x2c; + /* 0x30 */ int field_0x30; + /* 0x34 */ int field_0x34; + /* 0x38 */ int field_0x38; + /* 0x3C */ int field_0x3c; + /* 0x40 */ int mPositionX; + /* 0x44 */ int mPositionY; + /* 0x48 */ u32 mHeight; + /* 0x4C */ JUTFont* mFont; + /* 0x50 */ f32 mFontSizeX; + /* 0x54 */ f32 mFontSizeY; + /* 0x58 */ int mOutput; + /* 0x5C */ JUtility::TColor field_0x5c; + /* 0x60 */ JUtility::TColor field_0x60; + /* 0x64 */ int field_0x64; + /* 0x68 */ bool mVisible; + /* 0x69 */ bool field_0x69; + /* 0x6A */ bool field_0x6a; + /* 0x6B */ bool field_0x6b; +}; // Size: 0x6C + #endif /* JUTCONSOLE_H */ diff --git a/include/JSystem/JUtility/JUTDbPrint.h b/include/JSystem/JUtility/JUTDbPrint.h index e9c8034066..4d0b47e1f8 100644 --- a/include/JSystem/JUtility/JUTDbPrint.h +++ b/include/JSystem/JUtility/JUTDbPrint.h @@ -1,6 +1,30 @@ #ifndef JUTDBPRINT_H #define JUTDBPRINT_H +#include "JSystem/JKernel/JKRHeap.h" +#include "JSystem/JUtility/JUTFont.h" #include "dolphin/types.h" +class JUTDbPrint { +public: + /* 802E0148 */ JUTDbPrint(JUTFont*, JKRHeap*); + /* 802E0190 */ void start(JUTFont*, JKRHeap*); + /* 802E0204 */ void changeFont(JUTFont*); + /* 802E021C */ void enter(int, int, int, char const*, int); + /* 802E02DC */ void flush(int, int, int, int); + /* 802E02A4 */ void flush(); + /* 802E0440 */ void drawString(int, int, int, u8 const*); + + static JUTDbPrint* getManager() { return sDebugPrint; } + void setVisible(bool visible) { mVisible = visible; } + + static JUTDbPrint* sDebugPrint; + +private: + /* 0x00 */ JUTDbPrint* mNext; + /* 0x04 */ JUTFont* mFont; + /* 0x08 */ JUtility::TColor mColor; + /* 0x0C */ bool mVisible; +}; + #endif /* JUTDBPRINT_H */ diff --git a/include/JSystem/JUtility/JUTException.h b/include/JSystem/JUtility/JUTException.h index cf58121b56..129d645745 100644 --- a/include/JSystem/JUtility/JUTException.h +++ b/include/JSystem/JUtility/JUTException.h @@ -1,6 +1,8 @@ #ifndef JUTEXCEPTION_H #define JUTEXCEPTION_H +#include "JSystem/JKernel/JKRThread.h" +#include "JSystem/JUtility/JUTGamePad.h" #include "dolphin/gx/GX.h" #include "dolphin/os/OS.h" #include "dolphin/types.h" @@ -16,13 +18,13 @@ struct JUTDirectPrint { /* 802E456C */ void changeFrameBuffer(void*, u16, u16); }; -struct JUTException { +class JUTException /* : public JKRThread */ { +public: struct EInfoPage {}; // TODO: return types are probably wrong /* 802E1D5C */ JUTException(JUTDirectPrint*); /* 802E1E40 */ void create(JUTDirectPrint*); - /* 802E1EA8 */ void run(); /* 802E1FCC */ void errorHandler(u16, OSContext*, u32, u32); /* 802E20C0 */ void panic_f_va(char const*, int, char const*, __va_list_struct*); /* 802E21FC */ static void panic_f(char const*, int, char const*, ...); @@ -38,9 +40,9 @@ struct JUTException { /* 802E2DAC */ void showSRR0Map(OSContext*); /* 802E2E70 */ void printDebugInfo(JUTException::EInfoPage, u16, OSContext*, u32, u32); /* 802E2F18 */ void isEnablePad() const; - /* 802E2F54 */ void readPad(u32*, u32*); + /* 802E2F54 */ bool readPad(u32*, u32*); /* 802E34C0 */ void printContext(u16, OSContext*, u32, u32); - /* 802E3980 */ void waitTime(s32); + /* 802E3980 */ static void waitTime(s32); /* 802E3A08 */ void createFB(); /* 802E3AEC */ void setPreUserCallback(void (*)(u16, OSContext*, u32, u32)); /* 802E3AFC */ void setPostUserCallback(void (*)(u16, OSContext*, u32, u32)); @@ -48,13 +50,18 @@ struct JUTException { /* 802E3BA0 */ void queryMapAddress(char*, u32, s32, u32*, u32*, char*, u32, bool, bool); /* 802E3C90 */ void queryMapAddress_single(char*, u32, s32, u32*, u32*, char*, u32, bool, bool); /* 802E3FEC */ void createConsole(void*, u32); - /* 802E40EC */ ~JUTException(); + + /* 802E40EC */ virtual ~JUTException(); + /* 802E1EA8 */ virtual void run(); + + static JUTException* getManager() { return sErrorManager; } + void setTraceSuppress(u32 param_0) { mTraceSuppress = param_0; } static u8 sMessageQueue[32]; static void* sCpuExpName[17]; static u8 sMapFileList[12 + 4 /* padding */]; static u8 sMessageBuffer[4 + 4 /* padding */]; - static u8 sErrorManager[4]; + static JUTException* sErrorManager; static u8 sPreUserCallback[4]; static u8 sPostUserCallback[4]; static u8 sConsoleBuffer[4]; @@ -62,6 +69,17 @@ struct JUTException { static u8 sConsole[4]; static u8 msr[4]; static u8 fpscr[4]; + + /* 0x00 */ JKRThread field_0x0; // should be inherited + /* 0x80 */ JUTDirectPrint* field_0x80; + /* 0x84 */ JUTGamePad* field_0x84; + /* 0x88 */ s32 field_0x88; + /* 0x8C */ s32 field_0x8c; + /* 0x90 */ s32 field_0x90; + /* 0x94 */ u32 mTraceSuppress; + /* 0x98 */ u32 field_0x98; + /* 0x9C */ u32 field_0x9c; + /* 0xA0 */ u32 field_0xa0; }; #endif /* JUTEXCEPTION_H */ diff --git a/include/JSystem/JUtility/JUTFader.h b/include/JSystem/JUtility/JUTFader.h index 6cfa3cb26a..378d16eddd 100644 --- a/include/JSystem/JUtility/JUTFader.h +++ b/include/JSystem/JUtility/JUTFader.h @@ -1,6 +1,33 @@ #ifndef JUTFADER_H #define JUTFADER_H +#include "JSystem/JGeometry.h" +#include "JSystem/JUtility.h" #include "dolphin/types.h" +class JUTFader { +public: + enum EStatus { + UNKSTATUS_M1 = -1, + }; + + /* 802E5530 */ JUTFader(int, int, int, int, JUtility::TColor); + /* 802E55DC */ void control(); + /* 802E57D0 */ void setStatus(JUTFader::EStatus, int); + + /* 802E5840 */ virtual ~JUTFader(); + /* 802E576C */ virtual bool startFadeIn(int); + /* 802E579C */ virtual bool startFadeOut(int); + /* 802E56DC */ virtual void draw(); + +private: + /* 0x04 */ s32 mStatus; + /* 0x08 */ u16 field_0x8; + /* 0x0A */ u16 field_0xa; + /* 0x0C */ JUtility::TColor mColor; + /* 0x10 */ JGeometry::TBox2 mBox; + /* 0x20 */ EStatus mEStatus; + /* 0x24 */ u32 field_0x24; +}; + #endif /* JUTFADER_H */ diff --git a/include/JSystem/JUtility/JUTGamePad.h b/include/JSystem/JUtility/JUTGamePad.h index 875da3ab5a..dfc87d1ee7 100644 --- a/include/JSystem/JUtility/JUTGamePad.h +++ b/include/JSystem/JUtility/JUTGamePad.h @@ -26,6 +26,9 @@ enum { }; } +extern bool struct_80451500; +extern bool struct_80451501; // sResetOccured + struct JUTGamePad : public JKRDisposer { public: // TODO: fix types @@ -44,49 +47,98 @@ public: enum EStickMode {}; enum EWhichStick {}; - // typedef u32 EPadPort; - enum EPadPort { Port_1 = 0, Port_2 = 0, Port_3 = 0, Port_4 = 0 }; + enum EPadPort { Port_1, Port_2, Port_3, Port_4 }; JUTGamePad(JUTGamePad::EPadPort port); virtual ~JUTGamePad(); void initList(); static s32 init(); void clear(); - void read(); + static void read(); void assign(); void checkResetCallback(OSTime unk); // todo: weird arg void update(); - void stopPatternedRumble() { this->rumble.stopPatternedRumble(this->pad_port); } + 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 void setAnalogMode(u32 mode) { + sAnalogMode = mode; + PADSetAnalogMode(mode); + } + + static void clearResetOccurred() { struct_80451501 = false; } + + static void setResetCallback(callbackFn callback, void* param_0) { + C3ButtonReset::sCallback = callback; + C3ButtonReset::sCallbackArg = param_0; + } + + u32 getButton() const { return mButton.mButton; } + + u32 getTrigger() const { return mButton.mTrigger; } + + f32 getMainStickX() const { return mMainStick.mPosX; } + + f32 getMainStickY() const { return mMainStick.mPosY; } + + f32 getMainStickValue() const { return mMainStick.mValue; } + + s16 getMainStickAngle() const { return mMainStick.mAngle; } + + f32 getSubStickX() const { return mSubStick.mPosX; } + + f32 getSubStickY() const { return mSubStick.mPosY; } + + f32 getSubStickValue() const { return mSubStick.mValue; } + + s16 getSubStickAngle() const { return mSubStick.mAngle; } + + u8 getAnalogA() const { return mButton.mAnalogA; } + + u8 getAnalogB() const { return mButton.mAnalogB; } + + u8 getAnalogL() const { return mButton.mAnalogL; } + + u8 getAnalogR() const { return mButton.mAnalogR; } + + s8 getErrorStatus() const { return mErrorStatus; } + + u32 testTrigger(u32 button) const { return mButton.mTrigger & button; } + + bool isPushing3ButtonReset() const { + bool isPushingReset = false; + + if (mPortNum != -1 && mButtonReset.mReset != false) { + isPushingReset = true; + } + return isPushingReset; + } + struct CButton { - CButton(); + CButton(); // inline void clear(); u32 update(PADStatus const*, u32 unk); void setRepeat(u32 unk0, u32 unk1, u32 unk2); - u32 mButtonFlags; - - u32 mPressedButtonFlags; - u32 mReleasedButtonFlags; - - u8 mAnalogARaw; - u8 mAnalogBRaw; - u8 mTriggerLeftRaw; - u8 mTriggerRightRaw; - f32 mTriggerLeft; - f32 mTriggerRight; - - u32 field_0x18; // padding? - u32 field_0x1c; - u32 field_0x20; - u32 field_0x24; - u32 field_0x28; - u32 field_0x2c; - }; + /* 0x00 */ u32 mButton; + /* 0x04 */ u32 mTrigger; // Pressed Buttons + /* 0x08 */ u32 mRelease; // Released Buttons + /* 0x0C */ u8 mAnalogA; + /* 0x0D */ u8 mAnalogB; + /* 0x0E */ u8 mAnalogL; + /* 0x0F */ u8 mAnalogR; + /* 0x10 */ f32 mAnalogLf; + /* 0x14 */ f32 mAnalogRf; + /* 0x18 */ u32 mRepeat; + /* 0x1C */ u32 field_0x1c; + /* 0x20 */ u32 field_0x20; + /* 0x24 */ u32 field_0x24; + /* 0x28 */ u32 field_0x28; + /* 0x2C */ u32 field_0x2c; + }; // Size: 0x30 struct C3ButtonReset { // TODO: fix types @@ -96,26 +148,28 @@ public: static void* sCallbackArg; static OSTime sThreshold; static s32 sResetOccurredPort; - }; + + /* 0x0 */ bool mReset; + }; // Size: 0x4 struct CStick { static f32 sPressPoint; static f32 sReleasePoint; - CStick(); + CStick(); // inline void clear(); void clear(JUTGamePad* pad); u32 update(s8 unk0, s8 unk1, JUTGamePad::EStickMode mode, JUTGamePad::EWhichStick stick, u32 unk2); u32 getButton(u32 unk); - float mPosX; - float mPosY; - float mValue; - s16 mAngle; - s8 field_0xe; - s8 field_0xf; - }; + /* 0x0 */ f32 mPosX; + /* 0x4 */ f32 mPosY; + /* 0x8 */ f32 mValue; + /* 0xC */ s16 mAngle; + /* 0xE */ s8 field_0xe; + /* 0xF */ s8 field_0xf; + }; // Size: 0x10 struct CRumble { static PADMask sChannelMask[4]; @@ -137,30 +191,28 @@ public: void startPatternedRumble(void* unk0, ERumble rumble, u32 unk1); void stopPatternedRumble(s16 pad_port); void stopPatternedRumbleAtThePeriod(); - static void setEnabled(/*PADMask*/ u32 pad_mask); + static void setEnabled(u32 pad_mask); - u32 field_0x0; - u32 field_0x4; - u8* field_0x8; - u32 field_0xc; - u8* field_0x10; - }; + /* 0x00 */ u32 field_0x0; + /* 0x04 */ u32 field_0x4; + /* 0x08 */ u8* field_0x8; + /* 0x0C */ u32 field_0xc; + /* 0x10 */ u8* field_0x10; + }; // Size: 0x14 - CButton buttons; - CStick control_stick; - CStick c_stick; - CRumble rumble; - s16 pad_port; - s8 error_value; - u8 pad0; - JSUPtrLink ptr_link; - u8 unk0[8]; - u8 field_0x98; - u8 unk1[3]; - u8 reset_flag; - u8 pad1[3]; - OSTime reset_time; - u8 field_0xa8; + /* 0x18 */ CButton mButton; + /* 0x48 */ CStick mMainStick; + /* 0x58 */ CStick mSubStick; + /* 0x68 */ CRumble mRumble; + /* 0x7C */ s16 mPortNum; + /* 0x7E */ s8 mErrorStatus; + /* 0x80 */ JSULink mLink; + /* 0x90 */ u32 mPadRecord; + /* 0x94 */ u32 mPadReplay; + /* 0x98 */ C3ButtonReset mButtonReset; + /* 0x9C */ u8 field_0x9c[4]; + /* 0xA0 */ OSTime mResetTime; + /* 0xA8 */ u8 field_0xa8; friend class CRumble; }; diff --git a/include/JSystem/JUtility/JUTTexture.h b/include/JSystem/JUtility/JUTTexture.h index 113cdf923c..c573f2731a 100644 --- a/include/JSystem/JUtility/JUTTexture.h +++ b/include/JSystem/JUtility/JUTTexture.h @@ -23,8 +23,8 @@ struct ResTIMG { /* Acts as the header to image data. Usually texture data immed u8 maxAnisotropy; u8 minFilter; u8 magFilter; - u8 minLOD; - u8 maxLOD; + s8 minLOD; + s8 maxLOD; u8 mipmapCount; u8 unknown; s16 LODBias; diff --git a/include/JSystem/JUtility/JUTVideo.h b/include/JSystem/JUtility/JUTVideo.h index 883dc7f236..2657239126 100644 --- a/include/JSystem/JUtility/JUTVideo.h +++ b/include/JSystem/JUtility/JUTVideo.h @@ -6,40 +6,16 @@ #include "dolphin/types.h" #include "dolphin/vi/vi.h" -// TODO: placeholder -struct _GXRenderModeObj {}; - -struct JUTVideo { - static JUTVideo* sManager; - // TODO: figure out type - static u8 sVideoLastTick[4]; - static u8 sVideoInterval[4]; +class JUTVideo { +public: + typedef void (*CallbackFn)(void); JUTVideo(_GXRenderModeObj const*); virtual ~JUTVideo(); - typedef void (*CallbackFn)(void); - - // struct JUTVideo_vtable * vtable; - GXRenderModeObj* render_object; - u32 field_0x8; - u32 retrace_count; - u32 field_0x10; - u32 field_0x14; - u32 field_0x18; - VIRetraceCallback pre_retrace_callback; - VIRetraceCallback post_retrace_callback; - CallbackFn unknown_callback_1; - CallbackFn unknown_callback_2; - bool set_black; - u8 padding[3]; - s32 set_black_frame_counter; - OSMessage message; - OSMessageQueue message_queue; - // TODO: return types not confirmed - /* 802E4C54 */ void createManager(_GXRenderModeObj const*); - /* 802E4CAC */ void destroyManager(); + /* 802E4C54 */ static JUTVideo* createManager(_GXRenderModeObj const*); + /* 802E4CAC */ static void destroyManager(); /* 802E4E50 */ void preRetraceProc(u32); /* 802E5088 */ void drawDoneStart(); /* 802E50B0 */ void dummyNoDrawWait(); @@ -47,6 +23,29 @@ struct JUTVideo { /* 802E5144 */ void postRetraceProc(u32); /* 802E5198 */ void setRenderMode(_GXRenderModeObj const*); /* 802E5210 */ void waitRetraceIfNeed(); + + static JUTVideo* getManager() { return sManager; } + _GXRenderModeObj* getRenderMode() const { return mRenderObj; } + + static JUTVideo* sManager; + static u32 sVideoLastTick; + static u32 sVideoInterval; + +private: + /* 0x04 */ _GXRenderModeObj* mRenderObj; + /* 0x08 */ u32 field_0x8; + /* 0x0C */ u32 mRetraceCount; + /* 0x10 */ u32 field_0x10; + /* 0x14 */ u32 field_0x14; + /* 0x18 */ u32 field_0x18; + /* 0x1C */ VIRetraceCallback mPreRetraceCallback; + /* 0x20 */ VIRetraceCallback mPostRetraceCallback; + /* 0x24 */ CallbackFn unknown_callback_1; + /* 0x28 */ CallbackFn unknown_callback_2; + /* 0x2C */ bool mSetBlack; + /* 0x30 */ s32 mSetBlackFrameCount; + /* 0x34 */ OSMessage mMessage; + /* 0x38 */ OSMessageQueue mMessageQueue; }; #endif /* JUTVIDEO_H */ diff --git a/include/JSystem/JUtility/JUTXfb.h b/include/JSystem/JUtility/JUTXfb.h index a9e9a20ee0..a523452d25 100644 --- a/include/JSystem/JUtility/JUTXfb.h +++ b/include/JSystem/JUtility/JUTXfb.h @@ -1,6 +1,38 @@ #ifndef JUTXFB_H #define JUTXFB_H +#include "JSystem/JKernel/JKRHeap.h" +#include "JSystem/JUtility/JUTVideo.h" #include "dolphin/types.h" +class JUTXfb { +public: + enum EXfbNumber { // TODO: placeholder + UNK_0 = 0, + UNK_1 = 1, + UNK_2 = 2, + UNK_3 = 3, + }; + + /* 802E5214 */ void clearIndex(); + /* 802E5228 */ void common_init(int); + /* 802E5260 */ JUTXfb(_GXRenderModeObj const*, JKRHeap*, JUTXfb::EXfbNumber); + /* 802E5308 */ ~JUTXfb(); + /* 802E5378 */ void delXfb(int); + /* 802E53B8 */ static JUTXfb* createManager(JKRHeap*, JUTXfb::EXfbNumber); + /* 802E5424 */ static void destroyManager(); + /* 802E5454 */ void initiate(u16, u16, JKRHeap*, JUTXfb::EXfbNumber); + + static JUTXfb* sManager; + +private: + /* 0x00 */ void* mBuffer[3]; + /* 0x0C */ bool mXfbAllocated[3]; + /* 0x10 */ s32 mBufferNum; + /* 0x14 */ s16 mDrawingXfbIndex; + /* 0x16 */ s16 mDrawnXfbIndex; + /* 0x18 */ s16 mDisplayingXfbIndex; + /* 0x1C */ s32 mSDrawingFlag; +}; + #endif /* JUTXFB_H */ diff --git a/include/MSL_C.PPCEABI.bare.H/MSL_Common/Src/ansi_files.h b/include/MSL_C.PPCEABI.bare.H/MSL_Common/Src/ansi_files.h index 23f8e80ce3..684a827853 100644 --- a/include/MSL_C.PPCEABI.bare.H/MSL_Common/Src/ansi_files.h +++ b/include/MSL_C.PPCEABI.bare.H/MSL_Common/Src/ansi_files.h @@ -3,4 +3,38 @@ #include "dolphin/types.h" +struct FILE { + /* 0x00 */ u32 handle; + /* 0x04 */ u32 file_mode; + /* 0x08 */ u32 file_state; + /* 0x0C */ u8 flag; + /* 0x0D */ char char_buffer; + /* 0x0E */ char char_buffer_2; + /* 0x0F */ char ungetc_buffer[2]; + /* 0x12 */ u16 ungetc_wide_buffer[2]; + /* 0x18 */ u32 position; + /* 0x1C */ u8* buffer; + /* 0x20 */ u32 buffer_size; + /* 0x24 */ u8* buffer_ptr; + /* 0x28 */ u32 buffer_length; + /* 0x2C */ u32 buffer_alignment; + /* 0x30 */ u32 buffer_length2; + /* 0x34 */ u32 buffer_position; + /* 0x38 */ void* position_fn; + /* 0x3C */ void* read_fn; + /* 0x40 */ void* write_fn; + /* 0x44 */ void* close_fn; + /* 0x48 */ void* unknown; + /* 0x4C */ struct FILE* next_file; +}; + +struct files { + FILE stdin; + FILE stdout; + FILE stderr; + FILE empty; +}; + +extern files __files; + #endif /* MSL_COMMON_SRC_ANSI_FILES_H */ diff --git a/include/MSL_C.PPCEABI.bare.H/MSL_Common/Src/char_io.h b/include/MSL_C.PPCEABI.bare.H/MSL_Common/Src/char_io.h index 683c301f64..e874b625ba 100644 --- a/include/MSL_C.PPCEABI.bare.H/MSL_Common/Src/char_io.h +++ b/include/MSL_C.PPCEABI.bare.H/MSL_Common/Src/char_io.h @@ -1,6 +1,9 @@ #ifndef MSL_COMMON_SRC_CHAR_IO_H #define MSL_COMMON_SRC_CHAR_IO_H +#include "MSL_C.PPCEABI.bare.H/MSL_Common/Src/ansi_files.h" #include "dolphin/types.h" +extern "C" int fputs(const char*, FILE*); + #endif /* MSL_COMMON_SRC_CHAR_IO_H */ diff --git a/include/MSL_C.PPCEABI.bare.H/Math/Double_precision/w_fmod.h b/include/MSL_C.PPCEABI.bare.H/Math/Double_precision/w_fmod.h index adf49a0c8b..0533db226b 100644 --- a/include/MSL_C.PPCEABI.bare.H/Math/Double_precision/w_fmod.h +++ b/include/MSL_C.PPCEABI.bare.H/Math/Double_precision/w_fmod.h @@ -3,4 +3,6 @@ #include "dolphin/types.h" +double fmod(double, double); + #endif /* MATH_DOUBLE_PRECISION_W_FMOD_H */ diff --git a/include/d/a/d_a_alink.h b/include/d/a/d_a_alink.h index d2b0c5dc92..e7841cec43 100644 --- a/include/d/a/d_a_alink.h +++ b/include/d/a/d_a_alink.h @@ -29,7 +29,7 @@ class J2DScreen; class J2DPane; class J2DAnmBase; -class daAlink_lockCursor_c : public dDlst_base_c { +class daAlink_lockCursor_c { public: /* 80125F14 */ void create(); /* 80126358 */ void update(); @@ -2172,6 +2172,7 @@ public: u32 i_checkModeFlg(u32 pFlag) const { return mModeFlg & pFlag; } bool checkUpperAnime(u16 pIdx) const { return mUpperAnime[UPPER_NOW].getIdx() == pIdx; } bool checkIronBallWaitAnime() const { return checkUpperAnime(0x19C); } + s16 checkWolfEyeUp() const { return mWolfEyeUp; } static u8 const m_mainBckShield[80]; static u8 const m_mainBckSword[20]; @@ -2299,7 +2300,7 @@ private: /* 0x02170 */ u8 field_0x2170[0x18]; /* 0x02188 */ dEyeHL_c mEyeHL1; /* 0x0219C */ dEyeHL_c mEyeHL2; - /* 0x021B0 */ daPy_anmHeap_c mAnmHeap8[2]; + /* 0x021B0 */ daPy_anmHeap_c mItemHeap[2]; /* 0x021D8 */ daPy_anmHeap_c mAnmHeap9; /* 0x021EC */ u8 field_0x21ec[4]; /* 0x021F0 */ daAlink_blur_c mBlur; @@ -2541,7 +2542,7 @@ private: /* 0x030A6 */ s16 field_0x30a6; /* 0x030A8 */ u16 field_0x30a8; /* 0x030AA */ u16 field_0x30aa; - /* 0x030AC */ s16 field_0x30ac; + /* 0x030AC */ s16 mWolfEyeUp; /* 0x030AE */ u16 field_0x30ae; /* 0x030B0 */ s16 field_0x30b0; /* 0x030B2 */ s16 field_0x30b2; @@ -2801,32 +2802,32 @@ struct daAlinkHIO_anm_c { }; // size = 0x14 struct daAlinkHIO_basic_c1 { - /* 0x00 */ s16 field_0x00; - /* 0x02 */ s16 mNeckAimAngleX; - /* 0x04 */ s16 mNeckAimAngleY; - /* 0x06 */ s16 mNeckAimAngleZ; + /* 0x00 */ bool mOneHitKill; + /* 0x02 */ s16 mNeckMaxHorizontal; + /* 0x04 */ s16 mNeckMaxUp; + /* 0x06 */ s16 mNeckMaxDown; /* 0x08 */ s16 field_0x08; - /* 0x0A */ s16 field_0x0a; - /* 0x0C */ s16 field_0x0c; - /* 0x0E */ s16 field_0x0e; - /* 0x10 */ s16 mMetamorphoseFarAngle; + /* 0x0A */ s16 mHotspringRecoverTime; + /* 0x0C */ s16 mWiiCamSpeedV; + /* 0x0E */ s16 mWiiCamSpeedH; + /* 0x10 */ s16 mTransformBlockFarAngle; /* 0x14 */ f32 field_0x14; /* 0x18 */ f32 mAnmBlendFactor; /* 0x1C */ f32 mWaitTurnSpeed; - /* 0x20 */ f32 field_0x20; - /* 0x24 */ f32 field_0x24; - /* 0x28 */ f32 field_0x28; - /* 0x2C */ f32 field_0x2c; - /* 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 mMetamorphoseNearDis; - /* 0x54 */ f32 mMetamorphoseFarDis; + /* 0x20 */ f32 mStandDefenseBlend; + /* 0x24 */ f32 mWaterSurfaceEffectHeight; + /* 0x28 */ f32 mWolfWaterSurfaceEffectHeight; + /* 0x2C */ f32 mMaxWindInfluenceDist; + /* 0x30 */ f32 mNoWindInfluenceDist; + /* 0x34 */ f32 mMaxWindSpeed; + /* 0x38 */ f32 mLavaDeathDepth; + /* 0x3C */ f32 mLinkWolfTransformSpeed; + /* 0x40 */ f32 mWolfLinkTransformSpeed; + /* 0x44 */ f32 mIndoorSpeedFactor; + /* 0x48 */ f32 mSandSinkSpeed; + /* 0x4C */ f32 mSandSurfaceSpeed; + /* 0x50 */ f32 mTransformBlockNearDis; + /* 0x54 */ f32 mTransformBlockFarDis; }; class daAlinkHIO_basic_c0 { @@ -2836,10 +2837,10 @@ public: class daAlinkHIO_autoJump_c1 { public: - /* 0x00 */ daAlinkHIO_anm_c field_0x00; - /* 0x14 */ daAlinkHIO_anm_c field_0x14; - /* 0x28 */ daAlinkHIO_anm_c field_0x28; - /* 0x3C */ daAlinkHIO_anm_c field_0x3c; + /* 0x00 */ daAlinkHIO_anm_c mJump; + /* 0x14 */ daAlinkHIO_anm_c mLand; + /* 0x28 */ daAlinkHIO_anm_c mDive; + /* 0x3C */ daAlinkHIO_anm_c mDiveUnk; /* 0x50 */ u8 field_0x50; /* 0x52 */ s16 field_0x52; /* 0x54 */ s16 field_0x54; @@ -2851,8 +2852,8 @@ public: /* 0x68 */ f32 field_0x68; /* 0x6C */ f32 field_0x6c; /* 0x70 */ f32 field_0x70; - /* 0x74 */ f32 field_0x74; - /* 0x78 */ f32 field_0x78; + /* 0x74 */ f32 mGravity; + /* 0x78 */ f32 mMaxFallSpeed; /* 0x7C */ f32 field_0x7c; /* 0x80 */ f32 field_0x80; /* 0x84 */ f32 field_0x84; diff --git a/include/d/a/d_a_player.h b/include/d/a/d_a_player.h index c83e850200..0685c9fdb1 100644 --- a/include/d/a/d_a_player.h +++ b/include/d/a/d_a_player.h @@ -41,7 +41,7 @@ public: daPy_anmHeap_c(u32); ~daPy_anmHeap_c(); void initData(); - void mallocBuffer(); + void* mallocBuffer(); void createHeap(daPy_anmHeap_c::daAlinkHEAP_TYPE); J3DAnmBase* loadData(u16); J3DAnmBase* loadDataIdx(u16); @@ -59,9 +59,9 @@ private: /* 0x02 */ u16 mPriIdx; /* 0x04 */ u16 mArcNo; /* 0x06 */ u16 field_0x06; - /* 0x08 */ int mBufferSize; + /* 0x08 */ u32 mBufferSize; /* 0x0C */ void* mBuffer; - /* 0x10 */ JKRHeap* mAnimeHeap; + /* 0x10 */ JKRSolidHeap* mAnimeHeap; }; // Size = 0x14 class daPy_actorKeep_c { @@ -167,16 +167,16 @@ public: void checkBombItem(int); void checkBottleItem(int); void checkDrinkBottleItem(int); - int checkOilBottleItem(int); - void checkOpenBottleItem(int); - void checkBowItem(int); - void checkHookshotItem(int); - void checkTradeItem(int); - BOOL checkDungeonWarpItem(int); - void checkMasterSwordEquip(); + static BOOL checkOilBottleItem(int); + static BOOL checkOpenBottleItem(int); + static BOOL checkBowItem(int); + static BOOL checkHookshotItem(int); + static BOOL checkTradeItem(int); + static BOOL checkDungeonWarpItem(int); + BOOL checkMasterSwordEquip(); void checkWoodShieldEquip(); - void getAttentionOffsetY(); - void checkNowWolfEyeUp(); + f32 getAttentionOffsetY(); + s16 checkNowWolfEyeUp(); void forceRestartRoom(int, u32, int); void setFmChainPos(fopAc_ac_c*, cXyz*, int); void cancelFmChainGrab(); @@ -386,7 +386,7 @@ public: virtual bool checkCopyRodEquip(void) const; virtual bool checkCutJumpMode(void) const; - inline bool getSumouCameraMode() const { + bool getSumouCameraMode() const { bool sumouCameraMode = false; if (field_0x560[0xA] != 0 && field_0x560[0xA] < 0x26) { sumouCameraMode = true; @@ -405,6 +405,7 @@ public: void i_onEndResetFlg1(daPy_ERFLG1 pFlg) { mEndResetFlg1 |= pFlg; } int i_checkWolf() { return i_checkNoResetFlg1(Wolf); } BOOL i_checkEquipHeavyBoots() const { return i_checkNoResetFlg0(EquipHeavyBoots); } + inline BOOL checkNowWolf(); static u8 m_midnaActor[4]; }; diff --git a/include/d/com/d_com_inf_game.h b/include/d/com/d_com_inf_game.h index 814364f39f..15bf9bea67 100644 --- a/include/d/com/d_com_inf_game.h +++ b/include/d/com/d_com_inf_game.h @@ -39,6 +39,12 @@ public: u8 mTimerType; }; +class phaseParam_c { +public: + /* 0x0 */ char* field_0x0; + /* 0x4 */ JKRHeap* heap; +}; + struct camera_class {}; class dComIfG_camera_info_class { @@ -60,6 +66,8 @@ public: }; STATIC_ASSERT(sizeof(dComIfG_camera_info_class) == 0x38); +enum PlayerPtr { LINK_PTR, HORSE_PTR }; + class dComIfG_play_c { public: dComIfG_play_c() { this->ct(); } @@ -100,7 +108,7 @@ public: void* getMsgObjectClass() { return mMsgObjectClass; } dStage_roomControl_c* getRoomControl() { return &mRoomControl; } dStage_stageDt_c& getStage() { return mStageData; } - dEvt_control_c getEvent() { return mEvent; } + dEvt_control_c& getEvent() { return mEvent; } daHorse_c* getHorseActor() { return (daHorse_c*)mPlayerPtr[1]; } u8& getItemLifeCountType() { return mItemLifeCountType; } void setItem(u8 slot, u8 i_no) { @@ -149,21 +157,25 @@ public: void setMaxOxygen(int max) { mMaxOxygen = max; } u8 getDoStatus() { return mDoStatus; } u8 getRStatus() { return mRStatus; } - inline char* getStartStageName() { return mStartStage.getName(); } - inline s8 getStartStageRoomNo() { return mStartStage.getRoomNo(); } - inline s8 getStartStageLayer() { return mStartStage.getLayer(); } - inline u8 isHeapLockFlag() { return mHeapLockFlag; } - inline void setHeapLockFlag(u8 status) { mHeapLockFlag = status; } - inline void setSubHeapLockFlag(int idx, u8 status) { mSubHeapLockFlag[idx] = status; } - inline u8 getSubHeapLockFlag(int idx) { return mSubHeapLockFlag[idx]; } - inline void offHeapLockFlag() { mHeapLockFlag = 0; } - inline JKRExpHeap* getSubExpHeap2D(int idx) { return mSubExpHeap2D[idx]; } - inline void setSubExpHeap2D(int idx, void* heap) { mSubExpHeap2D[idx] = (JKRExpHeap*)heap; } - inline void offEnableNextStage() { mNextStage.offEnable(); } - inline JKRHeap* getExpHeap2D() { return mExpHeap2D; } - inline dEvent_manager_c& getEvtManager() { return mEvtManager; } - inline dAttention_c& getAttention() { return mAttention; } + char* getStartStageName() { return mStartStage.getName(); } + s8 getStartStageRoomNo() { return mStartStage.getRoomNo(); } + s8 getStartStageLayer() { return mStartStage.getLayer(); } + u8 isHeapLockFlag() { return mHeapLockFlag; } + void setHeapLockFlag(u8 status) { mHeapLockFlag = status; } + void setSubHeapLockFlag(int idx, u8 status) { mSubHeapLockFlag[idx] = status; } + u8 getSubHeapLockFlag(int idx) { return mSubHeapLockFlag[idx]; } + void offHeapLockFlag() { mHeapLockFlag = 0; } + JKRExpHeap* getSubExpHeap2D(int idx) { return mSubExpHeap2D[idx]; } + void setSubExpHeap2D(int idx, void* heap) { mSubExpHeap2D[idx] = (JKRExpHeap*)heap; } + void offEnableNextStage() { mNextStage.offEnable(); } + JKRHeap* getExpHeap2D() { return mExpHeap2D; } + dEvent_manager_c& getEvtManager() { return mEvtManager; } + dAttention_c& getAttention() { return mAttention; } JKRArchive* getMsgDtArchive(int idx) { return mMsgDtArchive[idx]; } + s16 getStartStagePoint() { return mStartStage.getPoint(); } + void* getPlayerPtr(int ptrIdx) { return mPlayerPtr[ptrIdx]; } + JKRArchive* getMain2DArchive() { return mMain2DArchive; } + J2DGrafContext* getCurrentGrafPort() { return mCurrentGrafPort; } public: /* 0x00000 */ dBgS mDBgS; @@ -378,34 +390,12 @@ public: /* 0x0500C */ dDlst_window_c* mCurrentWindow; /* 0x05010 */ void* mCurrentView; /* 0x05014 */ void* mCurrentViewport; - /* 0x05018 */ void* mCurrentGrafPort; + /* 0x05018 */ J2DGrafContext* mCurrentGrafPort; /* 0x0501C */ void* mItemTable; /* 0x0501D */ u8 field_0x501d[4]; /* 0x05024 */ char mLastPlayStageName[8]; }; -class dRes_control_c { -public: - dRes_control_c() {} - /* 8003BFB0 */ ~dRes_control_c(); - /* 8003C078 */ static int setRes(char const*, dRes_info_c*, int, char const*, u8, JKRHeap*); - /* 8003C160 */ static int syncRes(char const*, dRes_info_c*, int); - /* 8003C194 */ void deleteRes(char const*, dRes_info_c*, int); - /* 8003C37C */ void getRes(char const*, char const*, dRes_info_c*, int); - - int setObjectRes(const char* name, u8 param_1, JKRHeap* heap) { - return setRes(name, &mResInfos1[0], ARRAY_SIZE(mResInfos1), "/res/Object/", param_1, heap); - } - - int syncObjectRes(const char* name) { - return syncRes(name, &mResInfos1[0], ARRAY_SIZE(mResInfos1)); - } - -private: - /* 0x0000 */ dRes_info_c mResInfos1[0x80]; - /* 0x1200 */ dRes_info_c mResInfos2[0x40]; -}; // Size: 0x1B00 - class dComIfG_inf_c { public: dComIfG_inf_c() { this->ct(); } @@ -414,8 +404,8 @@ public: /* 0x00000 */ dSv_info_c info; /* 0x00F38 */ dComIfG_play_c play; - /* 0x05F64 */ dDlst_list_c draw_list_list; - /* 0x1C110 */ u8 field_0x1C114[0x1E8 - 0xA]; + /* 0x05F64 */ dDlst_list_c drawlist; + /* 0x1C104 */ u8 field_0x1C104[0x1F4]; /* 0x1C2F8 */ dRes_control_c mResControl; /* 0x1DDF8 */ u8 field_0x1ddf8; // related to fade, controls brightness /* 0x1DDF9 */ u8 mWorldDark; @@ -431,7 +421,7 @@ public: /* 0x1DE0C */ u8 field_0x1de0c; static __d_timer_info_c dComIfG_mTimerInfo; -}; +}; // Size: 0x1DE10 STATIC_ASSERT(122384 == sizeof(dComIfG_inf_c)); @@ -459,6 +449,8 @@ u16 dComIfGs_getMaxLifeGauge(); void dComIfGs_setWarpMarkFlag(u8); void dComIfGs_setSelectEquipSword(u8); void dComIfGs_setSelectEquipShield(u8); +void* dComIfG_getStageRes(char const*); +void dComLbG_PhaseHandler(request_of_phase_process_class*, int (**param_1)(void*), void*); inline void dComIfGp_setRStatus(u8 status, u8 flag) { g_dComIfG_gameInfo.play.setRStatus(status, flag); @@ -754,7 +746,7 @@ inline char* dComIfGp_getStartStageName() { } inline void dComIfGd_reset() { - g_dComIfG_gameInfo.draw_list_list.reset(); + g_dComIfG_gameInfo.drawlist.reset(); } inline u8 dComIfGs_getOptVibration() { @@ -801,6 +793,10 @@ inline BOOL dComIfGs_isSaveSwitch(int i_stageNo, int i_no) { return g_dComIfG_gameInfo.info.getSavedata().getSave(i_stageNo).getBit().isSwitch(i_no); } +inline BOOL dComIfGs_isSaveSwitch(int i_no) { + return g_dComIfG_gameInfo.info.getMemory().getBit().isSwitch(i_no); +} + inline void dComIfGs_onStageBossEnemy() { g_dComIfG_gameInfo.info.getMemory().getBit().onStageBossEnemy(); } @@ -851,7 +847,7 @@ inline void dComIfGp_roomControl_initZone() { g_dComIfG_gameInfo.play.getRoomControl()->initZone(); } -inline bool dComIfG_setObjectRes(const char* name, u8 param_1, JKRHeap* heap) { +inline int dComIfG_setObjectRes(const char* name, u8 param_1, JKRHeap* heap) { return g_dComIfG_gameInfo.mResControl.setObjectRes(name, param_1, heap); } @@ -975,4 +971,44 @@ inline u8 dComIfGs_getArrowNum() { return g_dComIfG_gameInfo.info.getPlayer().getItemRecord().getArrowNum(); } +inline s16 dComIfGp_getStartStagePoint() { + return g_dComIfG_gameInfo.play.getStartStagePoint(); +} + +inline void dComIfGs_initZone() { + g_dComIfG_gameInfo.info.initZone(); +} + +inline int dComIfG_deleteObjectResMain(const char* res) { + return g_dComIfG_gameInfo.mResControl.deleteObjectRes(res); +} + +inline void dComIfGp_roomControl_init() { + g_dComIfG_gameInfo.play.getRoomControl()->init(); +} + +inline void* dComIfG_getStageRes(const char* arcName, const char* resName) { + return g_dComIfG_gameInfo.mResControl.getStageRes(arcName, resName); +} + +inline void* dComIfG_getObjectRes(const char* arcName, const char* resName) { + return g_dComIfG_gameInfo.mResControl.getObjectRes(arcName, resName); +} + +inline daPy_py_c* dComIfGp_getLinkPlayer() { + return (daPy_py_c*)g_dComIfG_gameInfo.play.getPlayerPtr(LINK_PTR); +} + +inline daAlink_c* daAlink_getAlinkActorClass() { + return (daAlink_c*)g_dComIfG_gameInfo.play.getPlayerPtr(LINK_PTR); +} + +inline JKRArchive* dComIfGp_getMain2DArchive() { + return g_dComIfG_gameInfo.play.getMain2DArchive(); +} + +inline J2DGrafContext* dComIfGp_getCurrentGrafPort() { + return g_dComIfG_gameInfo.play.getCurrentGrafPort(); +} + #endif /* D_COM_D_COM_INF_GAME_H */ diff --git a/include/d/d_drawlist.h b/include/d/d_drawlist.h index 3690083519..a2c6e06430 100644 --- a/include/d/d_drawlist.h +++ b/include/d/d_drawlist.h @@ -1,13 +1,31 @@ #ifndef D_D_DRAWLIST_H #define D_D_DRAWLIST_H +#include "JSystem/J2DGraph/J2DScreen.h" +#include "JSystem/J3DGraphAnimator/J3DModel.h" +#include "JSystem/J3DGraphBase/J3DDrawBuffer.h" #include "JSystem/J3DGraphBase/J3DPacket.h" +#include "SSystem/SComponent/c_m3d_g_pla.h" #include "SSystem/SComponent/c_xyz.h" -#include "dolphin/gx/GXTexture.h" +#include "d/kankyo/d_kankyo.h" +#include "dolphin/gx/GX.h" #include "dolphin/mtx/mtx44.h" #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 dDlst_FileInfo_c { public: void draw(void); @@ -16,15 +34,112 @@ public: private: }; -#pragma pack(push, 1) class dDlst_peekZ_c { public: + dDlst_peekZ_c() { field_0x0 = 0; } /* 80056018 */ void newData(s16, s16, u32*); /* 80056080 */ void peekData(); - u8 unk[7]; -}; // actual size unknown!!! -#pragma pack(pop) + /* 0x0 */ u8 field_0x0; + /* 0x2 */ u16 field_0x2; + /* 0x4 */ u32* field_0x4; +}; + +class dDlst_shadowSimple_c { +public: + /* 8005520C */ void draw(); + /* 800553EC */ void set(cXyz*, f32, f32, cXyz*, s16, f32, _GXTexObj*); + /* 8005638C */ dDlst_shadowSimple_c(); + + /* 0x00 */ u8 mAlpha; + /* 0x04 */ _GXTexObj* mpTexObj; + /* 0x08 */ Mtx mVolumeMtx; + /* 0x38 */ Mtx mMtx; +}; // Size: 0x68 + +struct cBgD_Vtx_t {}; + +class dDlst_shadowPoly_c { +public: + /* 80054288 */ void set(cBgD_Vtx_t*, u16, u16, u16, cM3dGPla*); + /* 800543B4 */ void draw(); + + /* 0x0 */ void* field_0x0; // vtable + /* 0x4 */ u16 mCount; + /* 0x6 */ u8 field_0x6[2]; +}; + +class dDlst_shadowTri_c { +public: + /* 80056270 */ ~dDlst_shadowTri_c(); + /* 80056344 */ dDlst_shadowTri_c(); + + /* 0x0 */ cXyz mPos[3]; +}; + +class dDlst_shadowRealPoly_c { +public: + /* 800569A0 */ void getTri(); + /* 800569A8 */ s32 getTriMax(); + + /* 0x0 */ dDlst_shadowPoly_c mShadowPoly; + /* 0x8 */ dDlst_shadowTri_c mShadowTri[256]; +}; + +class dDlst_shadowReal_c { +public: + /* 800544F0 */ void reset(); + /* 80054500 */ void imageDraw(f32 (*)[4]); + /* 800545D4 */ void draw(); + /* 80054BD0 */ void setShadowRealMtx(cXyz*, cXyz*, f32, f32, f32, dKy_tevstr_c*); + /* 80055028 */ void set(u32, J3DModel*, cXyz*, f32, f32, dKy_tevstr_c*, f32, f32); + /* 800551D4 */ bool add(J3DModel*); + /* 800561F8 */ ~dDlst_shadowReal_c(); + /* 800562D0 */ dDlst_shadowReal_c(); + +private: + /* 0x0000 */ u8 mState; + /* 0x0001 */ u8 field_0x1; + /* 0x0002 */ u8 mModelNum; + /* 0x0003 */ u8 field_0x3; + /* 0x0004 */ u32 mKey; + /* 0x0008 */ Mtx mViewMtx; + /* 0x0038 */ Mtx44 mRenderProjMtx; + /* 0x0078 */ Mtx mReceiverProjMtx; + /* 0x00A8 */ dDlst_shadowRealPoly_c mShadowRealPoly; + /* 0x24B0 */ J3DModel* mpModels[38]; + /* 0x2548 */ f32 mCameraZ; + /* 0x254C */ dDlst_shadowReal_c* mZsortPre; + /* 0x2550 */ dDlst_shadowReal_c* mZsortNext; +}; // Size: 0x2554 + +class dDlst_shadowControl_c { +public: + dDlst_shadowControl_c() { field_0x0 = 0; } + /* 80055684 */ void init(); + /* 80055768 */ void reset(); + /* 800557C8 */ void imageDraw(f32 (*)[4]); + /* 80055A14 */ void draw(f32 (*)[4]); + /* 80055C74 */ void setReal(u32, s8, J3DModel*, cXyz*, f32, f32, dKy_tevstr_c*); + /* 80055F1C */ void addReal(u32, J3DModel*); + /* 80055F84 */ void setSimple(cXyz*, f32, f32, cXyz*, s16, f32, _GXTexObj*); + /* 80055FE8 */ void setSimpleTex(ResTIMG const*); + + static u8 mSimpleTexObj[32]; + +private: + /* 0x00000 */ u8 field_0x0; + /* 0x00001 */ u8 mRealNum; + /* 0x00002 */ u8 mSimpleNum; + /* 0x00004 */ dDlst_shadowReal_c* field_0x4; + /* 0x00008 */ dDlst_shadowReal_c* field_0x8; + /* 0x0000C */ dDlst_shadowSimple_c mSimple[128]; + /* 0x0340C */ int mNextID; + /* 0x03410 */ dDlst_shadowReal_c mReal[8]; + /* 0x15EB0 */ _GXTexObj field_0x15eb0[2]; + /* 0x15EF0 */ void* field_0x15ef0; + /* 0x15EF4 */ void* field_0x15ef4; +}; class dDlst_window_c { public: @@ -34,28 +149,31 @@ public: /* 80051ADC */ void setScissor(f32, f32, f32, f32); private: - float view_port1; - float view_port2; - float view_port3; - float view_port4; - float view_port5; - float view_port6; - float scissor1; - float scissor2; - float scissor3; - float scissor4; - int camera_id; + /* 0x00 */ f32 mViewport; + /* 0x04 */ f32 field_0x04; + /* 0x08 */ f32 field_0x08; + /* 0x0C */ f32 field_0x0C; + /* 0x10 */ f32 field_0x10; + /* 0x14 */ f32 field_0x14; + /* 0x18 */ f32 mScissor; + /* 0x1C */ f32 field_0x1c; + /* 0x20 */ f32 field_0x20; + /* 0x24 */ f32 field_0x24; + /* 0x28 */ s8 mCameraID; + /* 0x29 */ s8 mMode; }; STATIC_ASSERT(sizeof(dDlst_window_c) == 0x2C); +struct view_port_class {}; + +struct view_class {}; + class dDlst_base_c { public: - virtual void temp(); // temp to build OK, remove later virtual void draw(); }; -#pragma pack(push, 1) class dDlst_list_c { public: /* 800560F0 */ dDlst_list_c(); @@ -67,7 +185,7 @@ public: /* 80056710 */ void drawXluDrawList(J3DDrawBuffer*); /* 8005674C */ void drawOpaListItem3d(); /* 80056770 */ void drawXluListItem3d(); - /* 80056794 */ void set(dDlst_base_c**&, dDlst_base_c**&, dDlst_base_c*); + /* 80056794 */ int set(dDlst_base_c**&, dDlst_base_c**&, dDlst_base_c*); /* 800567C4 */ void draw(dDlst_base_c**, dDlst_base_c**); /* 8005681C */ void wipeIn(f32, _GXColor&); /* 800568D8 */ void wipeIn(f32); @@ -78,13 +196,54 @@ public: static f32 mWipeRate; static f32 mWipeSpeed[1 + 1 /* padding */]; - // private: - /* 0x00000 */ u8 field_0x00[0x1C]; - /* 0x0001C */ J3DPacket* mpPacket; - /* 0x00020 */ u8 field_0x20[0x16170]; - /* 0x16180 */ dDlst_peekZ_c dlstPeekZ; - /* 0x16184 */ u8 unk_0x16194[0x1F]; -}; // Size: 0x161A0 -#pragma pack(pop) +private: + /* 0x00000 */ J3DDrawBuffer* mOpaListSky; + /* 0x00004 */ J3DDrawBuffer* mpXluListSky; + /* 0x00008 */ J3DDrawBuffer* mListP0; + /* 0x0000C */ J3DDrawBuffer* mOpaListBG; + /* 0x00010 */ J3DDrawBuffer* mXluListBG; + /* 0x00014 */ J3DDrawBuffer* mOpaListDarkBG; + /* 0x00018 */ J3DDrawBuffer* mXluListDarkBG; + /* 0x0001C */ J3DDrawBuffer* mOpaList; + /* 0x00020 */ J3DDrawBuffer* mXluList; + /* 0x00024 */ J3DDrawBuffer* mOpaListDark; + /* 0x00028 */ J3DDrawBuffer* mXluListDark; + /* 0x0002C */ J3DDrawBuffer* mOpaListPacket; + /* 0x00030 */ J3DDrawBuffer* mListFilter; + /* 0x00034 */ J3DDrawBuffer* mOpaListItem3d; + /* 0x00038 */ J3DDrawBuffer* mXluListItem3d; + /* 0x0003C */ J3DDrawBuffer* mOpaListInvisible; + /* 0x00040 */ J3DDrawBuffer* mXluListInvisible; + /* 0x00044 */ J3DDrawBuffer* mListZxlu; + /* 0x00048 */ J3DDrawBuffer* mList2DScreen; + /* 0x0004C */ J3DDrawBuffer* mListMiddle; + /* 0x00050 */ J3DDrawBuffer* mList3Dlast; + /* 0x00054 */ dDlst_list_c** field_0x54; // array? + /* 0x00058 */ u8 field_0x58[0xC]; + /* 0x00064 */ dDlst_list_c* field_0x64; + /* 0x00068 */ dDlst_list_c** field_0x68; + /* 0x0006C */ dDlst_list_c** field_0x6c; // array? + /* 0x00070 */ u8 field_0x70[0x3C]; + /* 0x000AC */ dDlst_list_c* field_0xac; + /* 0x000B0 */ dDlst_list_c** field_0xb0; + /* 0x000B4 */ dDlst_list_c** field_0xb4; // array? + /* 0x000B8 */ u8 field_0xb8[0xFC]; + /* 0x001B4 */ dDlst_list_c* field_0x1b4; + /* 0x001B8 */ dDlst_list_c** field_0x1b8; + /* 0x001BC */ dDlst_list_c** field_0x1bc; // array? + /* 0x001C0 */ u8 field_0x1c0[0x7C]; + /* 0x0023C */ dDlst_list_c* field_0x23c; + /* 0x00240 */ dDlst_list_c** field_0x240; + /* 0x00244 */ dDlst_window_c* mWindow; + /* 0x00248 */ view_port_class* mViewport; + /* 0x0024C */ view_class* mView; + /* 0x00250 */ u8 field_0x250[0xC]; + /* 0x0025C */ dDlst_shadowControl_c mShadowControl; + /* 0x16154 */ mDoExt_3DlineMatSortPacket m3DLineMatSortPacket[3]; + /* 0x16190 */ dDlst_peekZ_c mPeekZ; + /* 0x16198 */ u8 field_0x16198[8]; // might be part of peekZ +}; // Size: 0x161A0 + +STATIC_ASSERT(sizeof(dDlst_list_c) == 0x161A0); #endif /* D_D_DRAWLIST_H */ diff --git a/include/d/d_kantera_icon_meter.h b/include/d/d_kantera_icon_meter.h index a094167ffe..666d1c4a26 100644 --- a/include/d/d_kantera_icon_meter.h +++ b/include/d/d_kantera_icon_meter.h @@ -1,6 +1,38 @@ #ifndef D_D_KANTERA_ICON_METER_H #define D_D_KANTERA_ICON_METER_H +#include "d/com/d_com_inf_game.h" +#include "d/d_drawlist.h" +#include "d/pane/d_pane_class.h" #include "dolphin/types.h" +class dDlst_KanteraIcon_c : public dDlst_base_c { +public: + /* 801AECB8 */ virtual void draw(); + /* 801AED1C */ virtual ~dDlst_KanteraIcon_c(); + + void setScreen(J2DScreen* screen) { mp_scrn = screen; } + J2DScreen* getScreen() { return mp_scrn; } + +private: + /* 0x04 */ J2DScreen* mp_scrn; +}; + +class dKantera_icon_c { +public: + /* 801AE938 */ dKantera_icon_c(); + /* 801AEA68 */ void initiate(); + /* 801AEB7C */ void setAlphaRate(f32); + /* 801AEBA0 */ void setPos(f32, f32); + /* 801AEBF4 */ void setScale(f32, f32); + /* 801AEC44 */ void setNowGauge(u16, u16); + + /* 801AE974 */ virtual ~dKantera_icon_c(); + +private: + /* 0x04 */ dDlst_KanteraIcon_c* mpKanteraIcon; + /* 0x08 */ CPaneMgr* mpParent; + /* 0x0C */ CPaneMgr* mpGauge; +}; + #endif /* D_D_KANTERA_ICON_METER_H */ diff --git a/include/d/d_resorce.h b/include/d/d_resorce.h index 41ba119581..378ae0cd93 100644 --- a/include/d/d_resorce.h +++ b/include/d/d_resorce.h @@ -5,39 +5,91 @@ #include "JSystem/JKernel/JKRHeap.h" #include "SSystem/SComponent/c_xyz.h" #include "dolphin/types.h" +#include "m_Do/m_Do_dvd_thread.h" #include "m_Do/m_Do_ext.h" -#pragma pack(push, 1) class dRes_info_c { public: /* 8003A260 */ dRes_info_c(); /* 8003A280 */ ~dRes_info_c(); - /* 8003A348 */ void set(char const*, char const*, u8, JKRHeap*); + /* 8003A348 */ int set(char const*, char const*, u8, JKRHeap*); /* 8003AB30 */ void onWarpMaterial(J3DModelData*); /* 8003AC1C */ void offWarpMaterial(J3DModelData*); /* 8003AD08 */ void setWarpSRT(J3DModelData*, cXyz const&, f32, f32); /* 8003AE14 */ void loaderBasicBmd(u32, void*); - /* 8003B30C */ void loadResource(); + /* 8003B30C */ int loadResource(); /* 8003B998 */ void deleteArchiveRes(); - /* 8003BAC4 */ void setRes(JKRArchive*, JKRHeap*); - /* 8003BAF8 */ void setRes(); - /* 8003BD2C */ void dump_long(dRes_info_c*, int); - /* 8003BE38 */ void dump(dRes_info_c*, int); + /* 8003BAC4 */ int setRes(JKRArchive*, JKRHeap*); + /* 8003BAF8 */ int setRes(); + /* 8003BD2C */ static void dump_long(dRes_info_c*, int); + /* 8003BE38 */ static void dump(dRes_info_c*, int); + + void* getRes(u32 resIdx) { return *(mRes + resIdx); } + int getCount() { return mCount; } + char* getArchiveName() { return mArchiveName; } + mDoDvdThd_mountArchive_c* getDMCommand() { return mDMCommand; } + JKRArchive* getArchive() { return mArchive; } + void incCount() { mCount++; } + u16 decCount() { + mCount--; + return mCount; + } private: - u8 unk[0x24]; - // u8* name; - // u32 unk4; - // u32 unk8; - // s16 reference_count; - // u8 padding[2]; - // mDoDVDThd_command_c* command; - // JKRArchive* archive; - // JKRHeap* heap; - // JKRSolidHeap* solid_heap; - // void** resource_buffer; -}; -#pragma pack(pop) + /* 0x00 */ char mArchiveName[11]; + /* 0x0C */ u16 mCount; + /* 0x10 */ mDoDvdThd_mountArchive_c* mDMCommand; + /* 0x14 */ JKRArchive* mArchive; + /* 0x18 */ JKRHeap* heap; + /* 0x1C */ JKRSolidHeap* mDataHeap; + /* 0x20 */ void** mRes; +}; // Size: 0x24 + +STATIC_ASSERT(sizeof(dRes_info_c) == 0x24); + +class dRes_control_c { +public: + dRes_control_c() {} + /* 8003BFB0 */ ~dRes_control_c(); + /* 8003C078 */ static int setRes(char const*, dRes_info_c*, int, char const*, u8, JKRHeap*); + /* 8003C160 */ static int syncRes(char const*, dRes_info_c*, int); + /* 8003C194 */ static int deleteRes(char const*, dRes_info_c*, int); + /* 8003C37C */ static void* getRes(char const*, char const*, dRes_info_c*, int); + /* 8003C1E4 */ static dRes_info_c* getResInfo(char const*, dRes_info_c*, int); + /* 8003C260 */ static dRes_info_c* newResInfo(dRes_info_c*, int); + /* 8003C288 */ static dRes_info_c* getResInfoLoaded(char const*, dRes_info_c*, int); + /* 8003C2EC */ static void* getRes(char const*, s32, dRes_info_c*, int); + /* 8003C400 */ void getIDRes(char const*, u16, dRes_info_c*, int); + /* 8003C470 */ static int syncAllRes(dRes_info_c*, int); + /* 8003C4E4 */ int setObjectRes(char const*, void*, u32, JKRHeap*); + /* 8003C5BC */ int setStageRes(char const*, JKRHeap*); + /* 8003C638 */ void dump(); + /* 8003C6B8 */ int getObjectResName2Index(char const*, char const*); + + int setObjectRes(const char* name, u8 param_1, JKRHeap* heap) { + return setRes(name, &mObjectInfo[0], ARRAY_SIZE(mObjectInfo), "/res/Object/", param_1, + heap); + } + + void* getObjectRes(const char* arcName, const char* resName) { + return getRes(arcName, resName, &mObjectInfo[0], ARRAY_SIZE(mObjectInfo)); + } + + int syncObjectRes(const char* name) { + return syncRes(name, &mObjectInfo[0], ARRAY_SIZE(mObjectInfo)); + } + + int deleteObjectRes(const char* name) { + return deleteRes(name, &mObjectInfo[0], ARRAY_SIZE(mObjectInfo)); + } + + void* getStageRes(const char* arcName, const char* resName) { + return getRes(arcName, resName, &mStageInfo[0], ARRAY_SIZE(mStageInfo)); + } + + /* 0x0000 */ dRes_info_c mObjectInfo[0x80]; + /* 0x1200 */ dRes_info_c mStageInfo[0x40]; +}; // Size: 0x1B00 struct J3DAnmBase { /* 8003C734 */ ~J3DAnmBase(); diff --git a/include/d/d_select_icon.h b/include/d/d_select_icon.h index 28361ce9bc..f7d067ef4e 100644 --- a/include/d/d_select_icon.h +++ b/include/d/d_select_icon.h @@ -1,6 +1,35 @@ #ifndef D_D_SELECT_ICON_H #define D_D_SELECT_ICON_H +#include "JSystem/J2DGraph/J2DScreen.h" +#include "d/pane/d_pane_class.h" #include "dolphin/types.h" +class dSi_HIO_c { +public: + virtual ~dSi_HIO_c(); + dSi_HIO_c(); + + u8 field_0x4[4]; +}; + +class dSelect_icon_c { +public: + /* 80195A3C */ void animation(); + /* 80195B40 */ void setAlpha(u8); + /* 80195B70 */ void setPos(J2DPane*, f32, f32); + + /* 0x00 */ u8 field_0x0[8]; + /* 0x08 */ J2DScreen* field_0x8; + /* 0x0C */ CPaneMgrAlpha* field_0xc; + /* 0x10 */ CPaneMgr* field_0x10; + /* 0x14 */ f32 field_0x14; + /* 0x18 */ f32 field_0x18; + /* 0x1C */ J2DAnmBase* field_0x1c; + /* 0x20 */ f32 field_0x20; + /* 0x24 */ J2DAnmBase* field_0x24; + /* 0x28 */ f32 field_0x28; + /* 0x2C */ f32 field_0x2c; +}; + #endif /* D_D_SELECT_ICON_H */ diff --git a/include/d/d_stage.h b/include/d/d_stage.h index 56aec5199f..9253e3b623 100644 --- a/include/d/d_stage.h +++ b/include/d/d_stage.h @@ -2,6 +2,7 @@ #define D_D_STAGE_H #include "JSystem/JKernel/JKRExpHeap.h" +#include "SSystem/SComponent/c_lib.h" #include "d/kankyo/d_kankyo.h" #include "d/save/d_save.h" #include "dolphin/types.h" @@ -475,9 +476,11 @@ class dStage_roomStatus_c { public: /* 0x000 */ dStage_roomDt_c mRoomDt; /* 0x06C */ dKy_tevstr_c mKyTevStr; - /* 0x3F4 */ u8 unk_0x3F4[3]; + /* 0x3F4 */ u8 unk_0x3F4; + /* 0x3F5 */ u8 unk_0x3F5[2]; /* 0x3F7 */ s8 mZoneNo; - /* 0x3F8 */ u8 unk_3F8[0x404 - 0x3F8]; + /* 0x3F8 */ s8 mMemBlockID; + /* 0x3F9 */ s8 unk_3F9[0x404 - 0x3F9]; int getZoneNo() const { return mZoneNo; } /* 80028360 */ ~dStage_roomStatus_c() {} @@ -487,6 +490,10 @@ public: STATIC_ASSERT(sizeof(dStage_roomStatus_c) == 0x404); extern s8 struct_80450D64; // sStayNo +extern s8 sLastStayNo; +extern s8 sNextStayNo; +extern s8 sTimePass; +extern u8 data_80450D68; class dStage_roomControl_c { public: @@ -505,24 +512,29 @@ public: void init(void); static int getZoneNo(int room); /* 80024338 */ void initZone(); - /* 80024384 */ void getStatusRoomDt(int); - /* 800243B0 */ void getMemoryBlock(int); + /* 80024384 */ dStage_roomStatus_c* getStatusRoomDt(int); + /* 800243B0 */ JKRExpHeap* getMemoryBlock(int); /* 800243E8 */ static void setStayNo(int); /* 80024424 */ static void setNextStayNo(int); - /* 800244E8 */ void checkRoomDisp(int) const; + /* 800244E8 */ bool checkRoomDisp(int) const; /* 8002451C */ void loadRoom(int, u8*, bool); /* 8002471C */ void zoneCountCheck(int) const; /* 80024844 */ static JKRExpHeap* createMemoryBlock(int, u32); /* 800248A8 */ void destroyMemoryBlock(); - /* 8002490C */ void setArcBank(int, char const*); - /* 80024940 */ void getArcBank(int); - /* 80024954 */ void resetArchiveBank(int); + /* 8002490C */ static void setArcBank(int, char const*); + /* 80024940 */ static char* getArcBank(int); + /* 80024954 */ static int resetArchiveBank(int); /* 80024DB0 */ static void SetTimePass(int); + static s8 GetTimePass(); inline static s8 getStayNo() { return struct_80450D64; } + s8 getMemoryBlockID(int i_roomNo) { return mStatus[i_roomNo].mMemBlockID; } + bool checkStatusFlag(int i_roomNo, u8 flag) const { + return cLib_checkBit(mStatus[i_roomNo].unk_0x3F4, flag); + } static JKRExpHeap* mMemoryBlock[19]; - static u8 mArcBank[320]; + static char mArcBank[32][10]; static dStage_roomStatus_c mStatus[0x40]; static u8 mDemoArcName[10 + 2 /* padding */]; static u32 mProcID; @@ -539,7 +551,8 @@ public: void set(const char*, s8, s16, s8); inline char* getName() { return mStage; } s8 getLayer() { return mLayer; } - s8 getRoomNo() { return mRoomNo; } + s8 getRoomNo() const { return mRoomNo; } + s16 getPoint() { return mPoint; } private: /* 0x0 */ char mStage[8]; @@ -577,7 +590,7 @@ public: /* 0x004 */ stage_tgsc_data_class unk_0x4[0x40]; }; // Size = 0x904 -typedef void (*dStage_Func)(dStage_dt_c*, void*, int, void*); +typedef int (*dStage_Func)(dStage_dt_c*, void*, int, void*); struct FuncTable { char identifier[8]; @@ -586,53 +599,53 @@ struct FuncTable { const char* dStage_getName2(s16, s8); dStage_objectNameInf* dStage_searchName(const char*); -static void dStage_stageKeepTresureInit(dStage_dt_c*, void*, int, void*); -static void dStage_filiInfo2Init(dStage_dt_c*, void*, int, void*); -static void dStage_mapPathInitCommonLayer(dStage_dt_c*, void*, int, void*); -static void dStage_mapPathInit(dStage_dt_c*, void*, int, void*); -static void dStage_memaInfoInit(dStage_dt_c*, void*, int, void*); -static void dStage_mecoInfoInit(dStage_dt_c*, void*, int, void*); -static void dStage_stagInfoInit(dStage_dt_c*, void*, int, void*); -static void dStage_soundInfoInit(dStage_dt_c*, void*, int, void*); -static void dStage_lgtvInfoInit(dStage_dt_c*, void*, int, void*); -static void dStage_envrInfoInit(dStage_dt_c*, void*, int, void*); -static void dStage_pselectInfoInit(dStage_dt_c*, void*, int, void*); -static void dStage_paletteInfoInit(dStage_dt_c*, void*, int, void*); -static void dStage_vrboxcolInfoInit(dStage_dt_c*, void*, int, void*); -static void dStage_roomDrtgInfoInit(dStage_dt_c*, void*, int, void*); -static void dStage_tgscInfoInit(dStage_dt_c*, void*, int, void*); -static void dStage_actorInit(dStage_dt_c*, void*, int, void*); -static void dStage_layerTresureInit(dStage_dt_c*, void*, int, void*); -static void dStage_elstInfoInit(dStage_dt_c*, void*, int, void*); -static void dStage_rppnInfoInit(dStage_dt_c*, void*, int, void*); -static void dStage_rpatInfoInit(dStage_dt_c*, void*, int, void*); -static void dStage_multInfoInit(dStage_dt_c*, void*, int, void*); -static void dStage_playerInit(dStage_dt_c*, void*, int, void*); -static void dStage_cameraInit(dStage_dt_c*, void*, int, void*); -static void dStage_actorInit_always(dStage_dt_c*, void*, int, void*); -static void dStage_roomReadInit(dStage_dt_c*, void*, int, void*); -static void dStage_arrowInit(dStage_dt_c*, void*, int, void*); -static void dStage_vrboxInfoInit(dStage_dt_c*, void*, int, void*); -static void dStage_sclsInfoInit(dStage_dt_c*, void*, int, void*); -static void dStage_tgscInfoInit(dStage_dt_c*, void*, int, void*); -static void dStage_plightInfoInit(dStage_dt_c*, void*, int, void*); -static void dStage_ppntInfoInit(dStage_dt_c*, void*, int, void*); -static void dStage_pathInfoInit(dStage_dt_c*, void*, int, void*); -static void dStage_filiInfoInit(dStage_dt_c*, void*, int, void*); -static void dStage_stageDrtgInfoInit(dStage_dt_c*, void*, int, void*); -static void dStage_floorInfoInit(dStage_dt_c*, void*, int, void*); -static void dStage_dmapInfoInit(dStage_dt_c*, void*, int, void*); -static void dStage_stEventInfoInit(dStage_dt_c*, void*, int, void*); -static void dStage_soundInfoInitCL(dStage_dt_c*, void*, int, void*); -static void dStage_RoomCameraInit(dStage_dt_c*, void*, int, void*); -static void dStage_lbnkInfoInit(dStage_dt_c*, void*, int, void*); -static void dStage_actorCommonLayerInit(dStage_dt_c*, void*, int, void*); -static void dStage_roomTresureInit(dStage_dt_c*, void*, int, void*); -static void dStage_tgscCommonLayerInit(dStage_dt_c*, void*, int, void*); -static void dStage_mapEventInfoInit(dStage_dt_c*, void*, int, void*); -static void dStage_fieldMapTresureInit(dStage_dt_c*, void*, int, void*); -static void dStage_fieldMapFiliInfo2Init(dStage_dt_c*, void*, int, void*); -static void dStage_fieldMapMapPathInit(dStage_dt_c*, void*, int, void*); +static int dStage_stageKeepTresureInit(dStage_dt_c*, void*, int, void*); +static int dStage_filiInfo2Init(dStage_dt_c*, void*, int, void*); +static int dStage_mapPathInitCommonLayer(dStage_dt_c*, void*, int, void*); +static int dStage_mapPathInit(dStage_dt_c*, void*, int, void*); +static int dStage_memaInfoInit(dStage_dt_c*, void*, int, void*); +static int dStage_mecoInfoInit(dStage_dt_c*, void*, int, void*); +static int dStage_stagInfoInit(dStage_dt_c*, void*, int, void*); +static int dStage_soundInfoInit(dStage_dt_c*, void*, int, void*); +static int dStage_lgtvInfoInit(dStage_dt_c*, void*, int, void*); +static int dStage_envrInfoInit(dStage_dt_c*, void*, int, void*); +static int dStage_pselectInfoInit(dStage_dt_c*, void*, int, void*); +static int dStage_paletteInfoInit(dStage_dt_c*, void*, int, void*); +static int dStage_vrboxcolInfoInit(dStage_dt_c*, void*, int, void*); +static int dStage_roomDrtgInfoInit(dStage_dt_c*, void*, int, void*); +static int dStage_tgscInfoInit(dStage_dt_c*, void*, int, void*); +static int dStage_actorInit(dStage_dt_c*, void*, int, void*); +static int dStage_layerTresureInit(dStage_dt_c*, void*, int, void*); +static int dStage_elstInfoInit(dStage_dt_c*, void*, int, void*); +static int dStage_rppnInfoInit(dStage_dt_c*, void*, int, void*); +static int dStage_rpatInfoInit(dStage_dt_c*, void*, int, void*); +static int dStage_multInfoInit(dStage_dt_c*, void*, int, void*); +static int dStage_playerInit(dStage_dt_c*, void*, int, void*); +static int dStage_cameraInit(dStage_dt_c*, void*, int, void*); +static int dStage_actorInit_always(dStage_dt_c*, void*, int, void*); +static int dStage_roomReadInit(dStage_dt_c*, void*, int, void*); +static int dStage_arrowInit(dStage_dt_c*, void*, int, void*); +static int dStage_vrboxInfoInit(dStage_dt_c*, void*, int, void*); +static int dStage_sclsInfoInit(dStage_dt_c*, void*, int, void*); +static int dStage_tgscInfoInit(dStage_dt_c*, void*, int, void*); +static int dStage_plightInfoInit(dStage_dt_c*, void*, int, void*); +static int dStage_ppntInfoInit(dStage_dt_c*, void*, int, void*); +static int dStage_pathInfoInit(dStage_dt_c*, void*, int, void*); +static int dStage_filiInfoInit(dStage_dt_c*, void*, int, void*); +static int dStage_stageDrtgInfoInit(dStage_dt_c*, void*, int, void*); +static int dStage_floorInfoInit(dStage_dt_c*, void*, int, void*); +static int dStage_dmapInfoInit(dStage_dt_c*, void*, int, void*); +static int dStage_stEventInfoInit(dStage_dt_c*, void*, int, void*); +static int dStage_soundInfoInitCL(dStage_dt_c*, void*, int, void*); +static int dStage_RoomCameraInit(dStage_dt_c*, void*, int, void*); +static int dStage_lbnkInfoInit(dStage_dt_c*, void*, int, void*); +static int dStage_actorCommonLayerInit(dStage_dt_c*, void*, int, void*); +static int dStage_roomTresureInit(dStage_dt_c*, void*, int, void*); +static int dStage_tgscCommonLayerInit(dStage_dt_c*, void*, int, void*); +static int dStage_mapEventInfoInit(dStage_dt_c*, void*, int, void*); +static int dStage_fieldMapTresureInit(dStage_dt_c*, void*, int, void*); +static int dStage_fieldMapFiliInfo2Init(dStage_dt_c*, void*, int, void*); +static int dStage_fieldMapMapPathInit(dStage_dt_c*, void*, int, void*); u8 dStage_roomRead_dt_c_GetReverbStage(roomRead_class&, int); diff --git a/include/d/event/d_event.h b/include/d/event/d_event.h index 0d8841412d..748dfb38be 100644 --- a/include/d/event/d_event.h +++ b/include/d/event/d_event.h @@ -31,12 +31,12 @@ typedef int (*SkipFunc)(void*, int); class dEvt_control_c { public: dEvt_control_c(); - void orderOld(u16, u16, u16, u16, void*, void*, void const*); - void order(u16, u16, u16, u16, void*, void*, s16, u8); + bool orderOld(u16, u16, u16, u16, void*, void*, void const*); + bool order(u16, u16, u16, u16, void*, void*, s16, u8); void setParam(dEvt_order_c*); s32 beforeFlagProc(dEvt_order_c*); void afterFlagProc(dEvt_order_c*); - void commonCheck(dEvt_order_c*, u16, u16); + int commonCheck(dEvt_order_c*, u16, u16); void talkCheck(dEvt_order_c*); void talkXyCheck(dEvt_order_c*); void catchCheck(dEvt_order_c*); @@ -45,8 +45,8 @@ public: void demoEnd(); s32 potentialCheck(dEvt_order_c*); void doorCheck(dEvt_order_c*); - void itemCheck(dEvt_order_c*); - void endProc(); + int itemCheck(dEvt_order_c*); + int endProc(); void change(); void entry(); void reset(void*); @@ -60,15 +60,15 @@ public: void skipper(); void Step(); void moveApproval(void*); - void compulsory(void*, char const*, u16); + bool compulsory(void*, char const*, u16); void remove(); void* getStageEventDt(); // ret type probably wrong, fix later void sceneChange(int); u32 getPId(void*); void convPId(unsigned int); void getStbDemoData(char*); - void searchMapEventData(u8, s32); - void searchMapEventData(u8); + static void searchMapEventData(u8, s32); + static void searchMapEventData(u8); s16 runningEventID(s16); void setPt1(void*); void setPt2(void*); diff --git a/include/d/event/d_event_data.h b/include/d/event/d_event_data.h index f7f6f82ee9..49f4aeea78 100644 --- a/include/d/event/d_event_data.h +++ b/include/d/event/d_event_data.h @@ -69,6 +69,8 @@ public: void specialStaffProc(dEvDtStaff_c*); /* 0x00 */ s32 mEventNum; + /* 0x04 */ u8 field_0x4[0xA0]; + /* 0xA4 */ int field_0xa4; }; class dEvDtFlag_c { diff --git a/include/d/event/d_event_manager.h b/include/d/event/d_event_manager.h index 8adf1c142c..45d0c24903 100644 --- a/include/d/event/d_event_manager.h +++ b/include/d/event/d_event_manager.h @@ -25,8 +25,8 @@ public: void getSubstance(dEvDtData_c*, int); dEvent_manager_c(); ~dEvent_manager_c() {} - void create(); - void setObjectArchive(char*); + int create(); + bool setObjectArchive(char*); void demoInit(); void roomInit(int); void roomFinish(int); @@ -37,7 +37,7 @@ public: void endProc(s16, int); void Sequencer(); void Experts(); - void getEventData(s16); + dEvDtEvent_c* getEventData(s16); dEvDtEvent_c* getEventData(s16, int); int getEventIdx(char const*, u8, s32); void getEventIdx(fopAc_ac_c*, u8); @@ -67,13 +67,15 @@ public: void ChkPresentEnd(); void checkStartDemo(); + void setStartDemo(int param_0) { mEventException.setStartDemo(param_0); } + private: /* 0x0000 */ dEvDtBase_c mEventList[11]; /* 0x018C */ s32 mCameraPlay; /* 0x0190 */ dEvent_exception_c mEventException; /* 0x019C */ cXyz mGoal; /* 0x01A8 */ u8 field_0x1a8[2]; - /* 0x01AA */ u16 field_0x1aa; + /* 0x01AA */ s16 field_0x1aa; /* 0x01AC */ u8 field_0x1ac[4]; /* 0x01B0 */ u32 field_0x1b0; /* 0x01B4 */ u32 field_0x1b4; diff --git a/include/d/kankyo/d_kankyo.h b/include/d/kankyo/d_kankyo.h index 166b9633a9..85857442e7 100644 --- a/include/d/kankyo/d_kankyo.h +++ b/include/d/kankyo/d_kankyo.h @@ -11,6 +11,8 @@ #include "dolphin/types.h" #include "m_Do/m_Do_ext.h" +void dKankyo_DayProc(); + struct LIGHT_INFLUENCE { /* 800CFC7C */ ~LIGHT_INFLUENCE(); /* 8019F4F8 */ LIGHT_INFLUENCE(); @@ -611,7 +613,7 @@ public: /* 0x12C2 */ u8 field_0x12c2; /* 0x12C3 */ u8 field_0x12c3; /* 0x12C4 */ u8 field_0x12c4; - /* 0x12C5 */ u8 field_0x12c5; + /* 0x12C5 */ u8 mWeatherPalette; /* 0x12C6 */ u8 field_0x12c6; /* 0x12C7 */ u8 field_0x12c7; /* 0x12C8 */ u8 field_0x12c8; diff --git a/include/d/meter/d_meter2_info.h b/include/d/meter/d_meter2_info.h index 686bd99c69..1a4884dec7 100644 --- a/include/d/meter/d_meter2_info.h +++ b/include/d/meter/d_meter2_info.h @@ -25,11 +25,23 @@ public: struct J2DPicture {}; -struct JMSMesgEntry_c {}; - -struct J2DTextBox { - /* 8021C7F4 */ void getFont() const; -}; +struct JMSMesgEntry_c { + /* 0x00 */ u32 mStringOffset; + /* 0x04 */ u16 mStringId; + /* 0x06 */ u16 field_0x04; + /* 0x08 */ u8 field_0x08; + /* 0x09 */ u8 field_0x09; + /* 0x0A */ u8 field_0x0a; + /* 0x0B */ u8 field_0x0b; + /* 0x0C */ u8 field_0x0c; + /* 0x0D */ u8 field_0x0d; + /* 0x0E */ u8 field_0x0e; + /* 0x0F */ u8 field_0x0f; + /* 0x10 */ u8 field_0x10; + /* 0x11 */ u8 field_0x11; + /* 0x12 */ u8 field_0x12; + /* 0x13 */ u8 field_0x13; +}; // Size: 0x14 struct dMenu_LetterData { u16 mSubject; diff --git a/include/d/meter/d_meter_HIO.h b/include/d/meter/d_meter_HIO.h index b7a0313b69..55887ae1fb 100644 --- a/include/d/meter/d_meter_HIO.h +++ b/include/d/meter/d_meter_HIO.h @@ -1,30 +1,48 @@ #ifndef D_METER_D_METER_HIO_H #define D_METER_D_METER_HIO_H +#include "JSystem/JKernel/JKRArchive.h" #include "JSystem/JUtility.h" #include "SSystem/SComponent/c_Xyz.h" #include "SSystem/SComponent/c_sXyz.h" #include "dolphin/types.h" +#include "m_Do/m_Do_ext.h" + +class dMeter_menuHIO_c { +public: + /* 801FE330 */ dMeter_menuHIO_c(); + /* 8020123C */ virtual ~dMeter_menuHIO_c(); + + /* 0x0 */ // vtable + /* 0x4 */ u8 field_0x4[2]; + /* 0x6 */ s16 mGameover; +}; // Size: 0x8 + +STATIC_ASSERT(sizeof(dMeter_menuHIO_c) == 8); class dMeter_drawCollectHIO_c { public: dMeter_drawCollectHIO_c(); virtual ~dMeter_drawCollectHIO_c(); -private: + enum { + /* 0x0 */ VESSEL_HEART, + /* 0x1 */ VESSEL_DECOR + }; + /* 0x00 */ // vtable /* 0x04 */ u8 field_0x04[4]; - /* 0x08 */ f32 mItemScaleSmall; - /* 0x0C */ f32 mItemScaleLarge; - /* 0x10 */ f32 mSaveOptionItemScaleSmall; - /* 0x14 */ f32 mSaveOptionItemScaleLarge; - /* 0x18 */ f32 mBlueFuzzPosX; - /* 0x1C */ f32 mBlueFuzzPosY; - /* 0x20 */ f32 mBlueFuzzScale; - /* 0x24 */ f32 mBlueFuzzAlpha; + /* 0x08 */ f32 mUnselectItemScale; + /* 0x0C */ f32 mSelectItemScale; + /* 0x10 */ f32 mUnselectSaveOptionScale; + /* 0x14 */ f32 mSelectSaveOptionScale; + /* 0x18 */ f32 mBlueSmokePosX; + /* 0x1C */ f32 mBlueSmokePosY; + /* 0x20 */ f32 mBlueSmokeScale; + /* 0x24 */ f32 mBlueSmokeAlpha; /* 0x28 */ cXyz mMaskMirrorPos; /* 0x34 */ f32 mMaskMirrorScale; - /* 0x38 */ f32 mMaskMirrorAnimation; + /* 0x38 */ f32 mMaskMirrorAnimSpeed; /* 0x3C */ f32 mHeartVesselPosX; /* 0x40 */ f32 mHeartVesselPosY; /* 0x44 */ f32 mHeartVesselScale; @@ -40,8 +58,8 @@ private: /* 0x6C */ f32 mBButtonTextPosX; /* 0x70 */ f32 mBButtonTextPosY; /* 0x74 */ f32 mBButtonTextScale; - /* 0x78 */ JUtility::TColor mBasBlack[2]; // ht_n_bas, h_kaz_n - /* 0x80 */ JUtility::TColor mBasWhite[2]; // same as above + /* 0x78 */ JUtility::TColor mVesselBack[2]; + /* 0x80 */ JUtility::TColor mVesselFront[2]; /* 0x88 */ f32 mHeartPiecePosX; /* 0x8C */ f32 mHeartPiecePosY; /* 0x90 */ f32 mHeartPieceScale; @@ -51,4 +69,1315 @@ private: /* 0x9C */ bool mButtonDebugON; }; // Size = 0xA0 +class dMeter_drawOptionHIO_c { +public: + /* 801FE4EC */ dMeter_drawOptionHIO_c(); + /* 80200F98 */ virtual ~dMeter_drawOptionHIO_c(); + + enum OptionType { + /* 0x0 */ ATTENTION, + /* 0x1 */ RUMBLE, + /* 0x2 */ SOUND + }; + + /* 0x00 */ // vtable + /* 0x04 */ u8 field_0x4[4]; + /* 0x08 */ f32 mArrowSize; + /* 0x0C */ JUtility::TColor mSelectNameColor; + /* 0x10 */ JUtility::TColor mSelectColor; + /* 0x14 */ JUtility::TColor mUnselectColor; + /* 0x18 */ f32 mWindowPosX; + /* 0x1C */ f32 mWindowPosY; + /* 0x20 */ f32 mWindowScale; + /* 0x24 */ f32 mOptionTypeBGPosX[4]; + /* 0x34 */ f32 mTVsettingPosX; + /* 0x38 */ f32 mPointerCalibrationPosX; + /* 0x3C */ f32 mOptionTypeBGPosY[4]; + /* 0x4C */ f32 mTVsettingPosY; + /* 0x50 */ f32 mPointerCalibrationPosY; + /* 0x54 */ f32 mSelectBarScale; + /* 0x58 */ f32 mUnselectBarScale; + /* 0x5C */ f32 mBackgroundPosY; + /* 0x60 */ f32 mArrowOffsetX; + /* 0x64 */ f32 mArrowOffsetX_4x3; + /* 0x68 */ s16 mOpenFrames; + /* 0x6A */ s16 mCloseFrames; + /* 0x6C */ bool mDebug; + /* 0x6D */ u8 mBackgroundAlpha; +}; // Size: 0x70 + +class dMeter_drawLetterHIO_c { +public: + /* 801FE5CC */ dMeter_drawLetterHIO_c(); + /* 80200F50 */ virtual ~dMeter_drawLetterHIO_c(); + + enum { + /* 0x0 */ WINDOW_FRAME, + /* 0x1 */ LETTER_FRAME + }; + + /* 0x00 */ // vtable + /* 0x04 */ u8 field_0x4[4]; + /* 0x08 */ f32 mSelectBarScale; + /* 0x0C */ f32 mUnselectBarScale; + /* 0x10 */ f32 mWindowPosX; + /* 0x14 */ f32 mWindowPosY; + /* 0x18 */ f32 mWindowScale; + /* 0x1C */ f32 mLetterWindowPosX; + /* 0x20 */ f32 mLetterWindowPosY; + /* 0x24 */ f32 mLetterWindowScale; + /* 0x28 */ f32 mLetterLinePosX; + /* 0x2C */ f32 mLetterLinePosY; + /* 0x30 */ s16 mOpenFrame[2]; + /* 0x34 */ s16 mCloseFrame[2]; + /* 0x38 */ s16 mLetterNum; + /* 0x3A */ u8 field_0x3a[2]; + /* 0x3C */ JUtility::TColor mSelectPageIconBack; + /* 0x40 */ JUtility::TColor mSelectPageIconFront; + /* 0x44 */ JUtility::TColor mSelectBarBack; + /* 0x48 */ JUtility::TColor mSelectBarFront; + /* 0x4C */ JUtility::TColor mSelectTextBack; + /* 0x50 */ JUtility::TColor mSelectTextFront; + /* 0x54 */ JUtility::TColor mLetterTextBack; + /* 0x58 */ JUtility::TColor mLetterTextFront; + /* 0x5C */ u8 mUnselectPageIconAlpha; + /* 0x5D */ u8 mWindowBGAlpha; + /* 0x5E */ u8 mLetterLineAlpha; + /* 0x5F */ bool mDebugON; +}; // Size: 0x60 + +class dMeter_drawFishingHIO_c { +public: + /* 801FE730 */ dMeter_drawFishingHIO_c(); + /* 80200F08 */ virtual ~dMeter_drawFishingHIO_c(); + + enum { + /* 0x0 */ HYLIAN_BASS, + /* 0x1 */ HYLIAN_LOACH, + /* 0x2 */ HYLIAN_PIKE, + /* 0x3 */ ORDON_CATFISH, + /* 0x4 */ REEKFISH, + /* 0x5 */ GREENGILL + }; + + /* 0x000 */ // vtable + /* 0x004 */ u8 field_0x4[4]; + /* 0x008 */ f32 mFishIconScale[6]; + /* 0x020 */ f32 mFishIconPosX[6]; + /* 0x038 */ f32 mFishIconPosY[6]; + /* 0x050 */ f32 mFishNameScale[6]; + /* 0x068 */ f32 mFishNamePosX[6]; + /* 0x080 */ f32 mFishNamePosY[6]; + /* 0x098 */ f32 mFishLineScale[6]; + /* 0x0B0 */ f32 mFishLinePosX[6]; + /* 0x0C8 */ f32 mFishLinePosY[6]; + /* 0x0E0 */ f32 mFishSizeScale[6]; + /* 0x0F8 */ f32 mFishSizePosX[6]; + /* 0x110 */ f32 mFishSizePosY[6]; + /* 0x128 */ f32 mFishCountScale[6]; + /* 0x140 */ f32 mFishCountPosX[6]; + /* 0x158 */ f32 mFishCountPosY[6]; + /* 0x170 */ f32 mFishCountSizeScale[6]; + /* 0x188 */ f32 mFishCountSizePosX[6]; + /* 0x1A0 */ f32 mFishCountSizePosY[6]; + /* 0x1B8 */ f32 mFishInfoScale[6]; + /* 0x1D0 */ f32 mFishInfoPosX[6]; + /* 0x1E8 */ f32 mFishInfoPosY[6]; + /* 0x200 */ f32 mMaxSizeScale; + /* 0x204 */ f32 mCaughtNumScale; + /* 0x208 */ f32 mMaxSizePosX; + /* 0x20C */ f32 mCaughtNumPosX; + /* 0x210 */ f32 mCaughtNumPosX_4x3; + /* 0x214 */ f32 mMaxSizePosY; + /* 0x218 */ f32 mCaughtNumPosY; + /* 0x21C */ s16 mOpenFrames; + /* 0x21E */ s16 mCloseFrames; + /* 0x220 */ s16 mFishNum[6]; + /* 0x22C */ u8 field_0x22c[0x14]; + /* 0x240 */ u8 mFishSize[6]; + /* 0x246 */ u8 field_0x246[0xA]; + /* 0x250 */ bool mDebug; +}; // Size: 0x254 + +class dMeter_drawInsectHIO_c { +public: + /* 801FE8DC */ dMeter_drawInsectHIO_c(); + /* 80200EC0 */ virtual ~dMeter_drawInsectHIO_c(); + + enum Type { + /* 0x0 */ DEFAULT, + /* 0x1 */ COLLECT, + /* 0x2 */ AGITHA + }; + + /* 0x00 */ // vtable + /* 0x04 */ u8 field_0x4[4]; + /* 0x08 */ f32 mUnselectInsectScale; + /* 0x0C */ f32 mSelectInsectScale; + /* 0x10 */ f32 mDescWindowPosX; + /* 0x14 */ f32 mDescWindowPosY; + /* 0x18 */ f32 mGiveOptionPosX_4x3; + /* 0x1C */ f32 mGiveOptionPosX; + /* 0x20 */ f32 mGiveOptionPosY_4x3; + /* 0x24 */ f32 mGiveOptionPosY; + /* 0x28 */ f32 mConfirmOptionPosX_4x3; + /* 0x2C */ f32 mConfirmOptionPosX; + /* 0x30 */ f32 mConfirmOptionPosY_4x3; + /* 0x34 */ f32 mConfirmOptionPosY; + /* 0x38 */ s16 mOpenFrame; + /* 0x3A */ s16 mCloseFrame; + /* 0x3C */ u8 mType; + /* 0x3D */ bool mDebugON; +}; // Size: 0x40 + +class dMeter_drawCalibrationHIO_c { +public: + /* 801FE954 */ dMeter_drawCalibrationHIO_c(); + /* 80200E78 */ virtual ~dMeter_drawCalibrationHIO_c(); + + /* 0x00 */ // vtable + /* 0x04 */ u8 field_0x4[4]; + /* 0x08 */ f32 mCircleScale; + /* 0x0C */ f32 mCircleScale2; + /* 0x10 */ s16 mOpenFrames; + /* 0x12 */ s16 mCloseFrames; + /* 0x14 */ s16 mFlashFrameNum; + /* 0x16 */ bool mDebug; +}; // Size: 0x18 + +class dMeter_drawSkillHIO_c { +public: + /* 801FE990 */ dMeter_drawSkillHIO_c(); + /* 80200E30 */ virtual ~dMeter_drawSkillHIO_c(); + + enum { + /* 0x0 */ WINDOW, + /* 0x1 */ SKILL_DESC, + }; + + /* 0x00 */ // vtable + /* 0x04 */ u8 field_0x4[4]; + /* 0x08 */ f32 mSelectBarScale; + /* 0x0C */ f32 mUnselectBarScale; + /* 0x10 */ f32 mSkillDescPosX; + /* 0x14 */ f32 mSkillDescPosY; + /* 0x18 */ f32 mSkillDescScale; + /* 0x1C */ f32 mSkillTitlePosX; + /* 0x20 */ f32 mSkillTitlePosY; + /* 0x24 */ f32 mSkillTitleScale; + /* 0x28 */ f32 mWindowLinePosX; + /* 0x2C */ f32 mWindowLinePosY; + /* 0x30 */ s16 mOpenFrame[2]; + /* 0x34 */ s16 mCloseFrame[2]; + /* 0x38 */ JUtility::TColor mSelectScrollIconBlack; + /* 0x3C */ JUtility::TColor mSelectScrollIconWhite; + /* 0x40 */ JUtility::TColor mUnselectScrollIconBlack; + /* 0x44 */ JUtility::TColor mUnselectScrollIconWhite; + /* 0x48 */ JUtility::TColor mSelectBarBlack; + /* 0x4C */ JUtility::TColor mSelectBarWhite; + /* 0x50 */ JUtility::TColor mSelectTextBlack; + /* 0x54 */ JUtility::TColor mSelectTextWhite; + /* 0x58 */ u8 field_0x58; + /* 0x59 */ u8 mWindowBGalpha; + /* 0x5A */ u8 mWindowLineAlpha; + /* 0x5B */ bool mDebug; +}; // Size: 0x5C + +class dMeter_drawEmpButtonHIO_c { +public: + /* 801FEAF0 */ dMeter_drawEmpButtonHIO_c(); + /* 80200DA0 */ virtual ~dMeter_drawEmpButtonHIO_c(); + + /* 0x000 */ // vtable + /* 0x004 */ u8 field_0x4[4]; + /* 0x008 */ f32 mEmpButtonPosX; + /* 0x00C */ f32 mEmpButtonPosY; + /* 0x010 */ f32 mEmpButtonScale; + /* 0x014 */ f32 mAButtonPosX; + /* 0x018 */ f32 mAButtonPosY; + /* 0x01C */ f32 mAButtonScale; + /* 0x020 */ f32 mBButtonPosX; + /* 0x024 */ f32 mBButtonPosY; + /* 0x028 */ f32 mBButtonScale; + /* 0x02C */ f32 mRButtonPosX; + /* 0x030 */ f32 mRButtonPosY; + /* 0x034 */ f32 mRButtonScale; + /* 0x038 */ f32 mZButtonPosX; + /* 0x03C */ f32 mZButtonPosY; + /* 0x040 */ f32 mZButtonScale; + /* 0x044 */ f32 m3DButtonPosX; + /* 0x048 */ f32 m3DButtonPosY; + /* 0x04C */ f32 m3DButtonScale; + /* 0x050 */ f32 mCButtonPosX; + /* 0x054 */ f32 mCButtonPosY; + /* 0x058 */ f32 mCButtonScale; + /* 0x05C */ f32 mSButtonPosX; + /* 0x060 */ f32 mSButtonPosY; + /* 0x064 */ f32 mSButtonScale; + /* 0x068 */ f32 mXButtonPosX; + /* 0x06C */ f32 mXButtonPosY; + /* 0x070 */ f32 mXButtonScale; + /* 0x074 */ f32 mYButtonPosX; + /* 0x078 */ f32 mYButtonPosY; + /* 0x07C */ f32 mYButtonScale; + /* 0x080 */ f32 mNunchukPosX; + /* 0x084 */ f32 mNunchukPosY; + /* 0x088 */ f32 mNunchukScale; + /* 0x08C */ f32 mWiimotePosX; + /* 0x090 */ f32 mWiimotePosY; + /* 0x094 */ f32 mWiimoteScale; + /* 0x098 */ f32 mWiimoteLRPosX; + /* 0x09C */ f32 mWiimoteLRPosY; + /* 0x0A0 */ f32 mWiimoteLRScale; + /* 0x0A4 */ f32 mNunchukZButtonPosX; + /* 0x0A8 */ f32 mNunchukZButtonPosY; + /* 0x0AC */ f32 mNunchukZButtonScale; + /* 0x0B0 */ f32 mNunchukCButtonPosX; + /* 0x0B4 */ f32 mNunchukCButtonPosY; + /* 0x0B8 */ f32 mNunchukCButtonScale; + /* 0x0BC */ f32 mWiimoteAPosX; + /* 0x0C0 */ f32 mWiimoteAPosY; + /* 0x0C4 */ f32 mWiimoteAScale; + /* 0x0C8 */ f32 m3DBButtonPosX; + /* 0x0CC */ f32 m3DBButtonPosY; + /* 0x0D0 */ f32 m3DBButtonScale; + /* 0x0D4 */ f32 mNunchukWiimotePosX; + /* 0x0D8 */ f32 mNunchukWiimotePosY; + /* 0x0DC */ f32 mNunchukWiimoteScale; + /* 0x0E0 */ f32 mNunchukWiimoteRealPosX; + /* 0x0E4 */ f32 mNunchukWiimoteRealPosY; + /* 0x0E8 */ f32 mNunchukWiimoteRealScale; + /* 0x0EC */ f32 mNunchukRealPosX; + /* 0x0F0 */ f32 mNunchukRealPosY; + /* 0x0F4 */ f32 mNunchukRealScale; + /* 0x0F8 */ f32 mNunchukAttackPosX; + /* 0x0FC */ f32 mNunchukAttackPosY; + /* 0x100 */ f32 mNunchukAttackScale; + /* 0x104 */ f32 mABButtonPosX; + /* 0x108 */ f32 mABButtonPosY; + /* 0x10C */ f32 mABButtonScale; + /* 0x110 */ f32 mBottleIconPosX; + /* 0x114 */ f32 mBottleIconPosY; + /* 0x118 */ f32 mBottleIconScale; + /* 0x11C */ f32 mViewChangePosX; + /* 0x120 */ f32 mViewChangePosY; + /* 0x124 */ f32 mViewChangeScale; + /* 0x128 */ f32 mText1PosX; + /* 0x12C */ f32 mText2PosX; + /* 0x130 */ f32 mText1PosY; + /* 0x134 */ f32 mText2PosY; + /* 0x138 */ f32 mText1Scale; + /* 0x13C */ f32 mText2Scale; + /* 0x140 */ f32 mItemPosX; + /* 0x144 */ f32 mItemPosY; + /* 0x148 */ f32 mItemScale; + /* 0x14C */ f32 mMidnaIconPosX; + /* 0x150 */ f32 mMidnaIconPosY; + /* 0x154 */ f32 mMidnaIconScale; + /* 0x158 */ f32 mHawkeyePosX; + /* 0x15C */ f32 mHawkeyePosY; + /* 0x160 */ f32 mHawkeyeTextPosX; + /* 0x164 */ f32 mHawkeyePlusPosX; + /* 0x168 */ f32 mHawkeyeMinusPosX; + /* 0x16C */ f32 mHawkeyeTextPosY[3]; + /* 0x178 */ f32 mHawkeyeZoomPosX; + /* 0x17C */ f32 mHawkeyeZoomPosY; + /* 0x180 */ f32 mHawkeyeZoomScale; + /* 0x184 */ f32 mHawkeyeZoomScale_4x3; + /* 0x188 */ f32 mHawkeyeTextIconPosX; + /* 0x18C */ f32 mHawkeyeZoomTextPosX; + /* 0x190 */ f32 mHawkeyeIconPosX; + /* 0x194 */ f32 mHawkeyeTextIconPosY_4x3; + /* 0x198 */ f32 mHawkeyeTextPosY_4x3; + /* 0x19C */ f32 mHawkeyeIconPosY_4x3; + /* 0x1A0 */ f32 mHawkeyeTextIconPosY; + /* 0x1A4 */ f32 mHawkeyeZoomTextPosY; + /* 0x1A8 */ f32 mHawkeyeIconPosY; + /* 0x1AC */ f32 mHawkeyeTextIconScale; + /* 0x1B0 */ f32 mHawkeyeTextScale; + /* 0x1B4 */ f32 mHawkeyeIconScale; + /* 0x1B8 */ JUtility::TColor mPointerONBlack[2]; + /* 0x1C0 */ JUtility::TColor mPointerONWhite[2]; + /* 0x1C8 */ JUtility::TColor mPointerOFFBlack; + /* 0x1CC */ JUtility::TColor mPointerOFFWhite; + /* 0x1D0 */ f32 mPointerONScale; + /* 0x1D4 */ f32 mPointerOFFScale; + /* 0x1D8 */ s16 mPointerONAnimFrame; + /* 0x1DC */ f32 mHighlightScale; + /* 0x1E0 */ JUtility::TColor mHighlightFrontInner; + /* 0x1E4 */ JUtility::TColor mHighlightFrontOuter; + /* 0x1E8 */ JUtility::TColor mHighlightBackInner; + /* 0x1EC */ JUtility::TColor mHighlightBackOuter; + /* 0x1F0 */ f32 mHighlightAnimSpeed; + /* 0x1F4 */ f32 mHighlightFastScale; + /* 0x1F8 */ JUtility::TColor mHighlightFastFrontInner; + /* 0x1FC */ JUtility::TColor mHighlightFastFrontOuter; + /* 0x200 */ JUtility::TColor mHighlightFastBackInner; + /* 0x204 */ JUtility::TColor mHighlightFastBackOuter; + /* 0x208 */ f32 mHighlightFastAnimSpeed; + /* 0x20C */ f32 mHighlightListenScale; + /* 0x210 */ JUtility::TColor mHighlightListenFrontInner; + /* 0x214 */ JUtility::TColor mHighlightListenFrontOuter; + /* 0x218 */ JUtility::TColor mHighlightListenBackInner; + /* 0x21C */ JUtility::TColor mHighlightListenBackOuter; + /* 0x220 */ f32 mHighlightListenAnimSpeed; + /* 0x224 */ f32 mHighlightRepeatHitScale; + /* 0x228 */ JUtility::TColor mHighlightRepeatHitFrontInner; + /* 0x22C */ JUtility::TColor mHighlightRepeatHitFrontOuter; + /* 0x230 */ JUtility::TColor mHighlightRepeatHitBackInner; + /* 0x234 */ JUtility::TColor mHighlightRepeatHitBackOuter; + /* 0x238 */ f32 mHighlightRepeatHitAnimSpeed; + /* 0x23C */ f32 mRepeatHitScale; + /* 0x240 */ s16 mRepeatHitFrameNum; + /* 0x244 */ f32 mDisplaySpace; + /* 0x248 */ u8 mDebugDisplayButton[17]; + /* 0x259 */ bool mHawkeyeDebugON; + /* 0x25A */ bool mHawkeyeZoomDebugON; +}; // Size: 0x25C + +class dMeter_drawMiniGameHIO_c { +public: + /* 801FEFF0 */ dMeter_drawMiniGameHIO_c(); + /* 80200DE8 */ virtual ~dMeter_drawMiniGameHIO_c(); + + /* 0x000 */ // vtable + /* 0x004 */ u8 field_0x4[4]; + /* 0x008 */ f32 field_0x8; + /* 0x00C */ f32 mRiverRideTargetCounterSizeY; + /* 0x010 */ f32 field_0x10; + /* 0x014 */ f32 field_0x14; + /* 0x018 */ f32 mRiverRideTargetCounterPosX; + /* 0x01C */ f32 field_0x1c; + /* 0x020 */ f32 field_0x20; + /* 0x024 */ f32 mRiverRideTargetCounterPosY; + /* 0x028 */ f32 field_0x28; + /* 0x02C */ f32 field_0x2c; + /* 0x030 */ f32 mRiverRideTargetCounterAlpha; + /* 0x034 */ f32 field_0x34; + /* 0x038 */ f32 mGoatTimerSizeX; + /* 0x03C */ f32 field_0x3c; + /* 0x040 */ f32 field_0x40; + /* 0x044 */ f32 mGoatTimerSizeY; + /* 0x048 */ f32 field_0x48; + /* 0x04C */ f32 field_0x4c; + /* 0x050 */ f32 mGoatTimerPosX; + /* 0x054 */ f32 field_0x54; + /* 0x058 */ f32 field_0x58; + /* 0x05C */ f32 mGoatTimerPosY; + /* 0x060 */ f32 field_0x60; + /* 0x064 */ f32 field_0x64; + /* 0x068 */ f32 mGoatTimerAlpha; + /* 0x06C */ f32 field_0x6c; + /* 0x070 */ f32 field_0x70; + /* 0x074 */ f32 mGoatCounterSizeX; + /* 0x078 */ f32 mRiverRideCounterSizeX; + /* 0x07C */ f32 mRiderGameCounterSizeX; + /* 0x080 */ f32 mGoatCounterSizeY; + /* 0x084 */ f32 mRiverRideCounterSizeY; + /* 0x088 */ f32 mRiderGameCounterSizeY; + /* 0x08C */ f32 mGoatCounterPosX; + /* 0x090 */ f32 mRiverRideCounterPosX; + /* 0x094 */ f32 mRiderGameCounterPosX; + /* 0x098 */ f32 mGoatCounterPosY; + /* 0x09C */ f32 mRiverRideCounterPosY; + /* 0x0A0 */ f32 mRiderGameCounterPosY; + /* 0x0A4 */ f32 mGoatCounterAlpha; + /* 0x0A8 */ f32 mRiverRideCounterAlpha; + /* 0x0AC */ f32 mRiderGameCounterAlpha; + /* 0x0B0 */ f32 mGoatIconSizeX; + /* 0x0B4 */ f32 mRiverRideTargetIconSizeX; + /* 0x0B8 */ f32 mRiderGameIconSizeX; + /* 0x0BC */ f32 mGoatIconSizeY; + /* 0x0C0 */ f32 mRiverRideTargetIconSizeY; + /* 0x0C4 */ f32 mRiderGameIconSizeY; + /* 0x0C8 */ f32 mGoatIconPosX; + /* 0x0CC */ f32 mRiverRideTargetIconPosX; + /* 0x0D0 */ f32 mRiderGameIconPosX; + /* 0x0D4 */ f32 mGoatIconPosY; + /* 0x0D8 */ f32 mRiverRideTargetIconPosY; + /* 0x0DC */ f32 mRiderGameIconPosY; + /* 0x0E0 */ f32 mGoatIconAlpha; + /* 0x0E4 */ f32 mRiverRideTargetIconAlpha; + /* 0x0E8 */ f32 mRiderGameIconAlpha; + /* 0x0EC */ f32 mGoatTimerSizeX_4x3; + /* 0x0F0 */ f32 mGoatTimerSizeY_4x3; + /* 0x0F4 */ f32 mGoatTimerPosX_4x3; + /* 0x0F8 */ f32 mGoatTimerPosY_4x3; + /* 0x0FC */ f32 mGoatIconPosX_4x3; + /* 0x100 */ f32 mRiverRideIconPosX_4x3; + /* 0x104 */ f32 mRiderGameIconPosX_4x3; + /* 0x108 */ f32 mGetInTextSizeX; + /* 0x10C */ f32 mGetInTextSizeY; + /* 0x110 */ f32 mGetInTextPosX; + /* 0x114 */ f32 mGetInTextPosY; + /* 0x118 */ f32 mGetInTextAnimSpeed; + /* 0x11C */ s16 mGetInTextWaitFrames; + /* 0x11E */ s16 mGetInTextAlphaFrames; + /* 0x120 */ f32 mGetInHighlightScale; + /* 0x124 */ JUtility::TColor mGetInHighlightFrontInner; + /* 0x128 */ JUtility::TColor mGetInHighlightFrontOuter; + /* 0x12C */ JUtility::TColor mGetInHighlightBackInner; + /* 0x130 */ JUtility::TColor mGetInHighlightBackOuter; + /* 0x134 */ f32 mGetInHighlightAnimSpeed; + /* 0x138 */ s16 mGetInHighlightAppearFrames; + /* 0x13A */ u8 mGetInTextLocation; + /* 0x13C */ f32 mStartHighlightScale; + /* 0x140 */ JUtility::TColor mStartHighlightFrontInner; + /* 0x144 */ JUtility::TColor mStartHighlightFrontOuter; + /* 0x148 */ JUtility::TColor mStartHighlightBackInner; + /* 0x14C */ JUtility::TColor mStartHighlightBackOuter; + /* 0x150 */ f32 mStartHighlightAnimSpeed; + /* 0x154 */ s16 mStartHighlightAppearFrames; + /* 0x156 */ s16 mStartHighlightDisplayFrames; + /* 0x158 */ s16 mReadyGo; + /* 0x15A */ s16 field_0x15a; + /* 0x15C */ f32 mReadyFightTextSizeX; + /* 0x160 */ f32 mReadyFightTextSizeY; + /* 0x164 */ f32 mReadyFightTextPosX; + /* 0x168 */ f32 mReadyFightTextPosY; + /* 0x16C */ f32 mReadyFightTextAnimSpeed; + /* 0x170 */ s16 mReadyFightTextWaitFrames; + /* 0x172 */ s16 field_0x172; + /* 0x174 */ f32 mReadyFightHighlightScale; + /* 0x178 */ JUtility::TColor mReadyFightHighlightFrontInner; + /* 0x17C */ JUtility::TColor mReadyFightHighlightFrontOuter; + /* 0x180 */ JUtility::TColor mReadyFightHighlightBackInner; + /* 0x184 */ JUtility::TColor mReadyFightHighlightBackOuter; + /* 0x188 */ f32 mReadyFightHighlightAnimSpeed; + /* 0x18C */ s16 mReadyFightHighlightAppearFrames; +}; // Size: 0x190 + +class dMeter_drawLightDropHIO_c { +public: + /* 801FF31C */ dMeter_drawLightDropHIO_c(); + /* 80200D58 */ virtual ~dMeter_drawLightDropHIO_c(); + + /* 0x00 */ // vtable + /* 0x04 */ u8 field_0x4[4]; + /* 0x08 */ f32 mVesselScale; + /* 0x0C */ f32 mVesselTalkScale; + /* 0x10 */ f32 mVesselPosX; + /* 0x14 */ f32 mVesselTalkPosX; + /* 0x18 */ f32 mVesselPosY; + /* 0x1C */ f32 mVesselTalkPosY; + /* 0x20 */ f32 mVesselPosX_4x3; + /* 0x24 */ f32 mVesselPosY_4x3; + /* 0x28 */ f32 mVesselAlpha; + /* 0x2C */ f32 mVesselTalkAlpha; + /* 0x30 */ f32 mVesselDecorAlpha; + /* 0x34 */ f32 mDropAlpha; + /* 0x38 */ JUtility::TColor mDropOnColorWhite; + /* 0x3C */ JUtility::TColor mDropOnColorBlack; + /* 0x40 */ JUtility::TColor mDropOffColorWhite; + /* 0x44 */ JUtility::TColor mDropOffColorBlack; + /* 0x48 */ f32 mDropScale; + /* 0x4C */ f32 mDropGetScale; + /* 0x50 */ s16 mDropGetScaleAnimFrameNum; + /* 0x52 */ s16 mHighlightInterval; + /* 0x54 */ s16 field_0x54; + /* 0x56 */ s16 field_0x56; + /* 0x58 */ JUtility::TColor mDropHighlightFrontInner; + /* 0x5C */ JUtility::TColor mDropHighlightFrontOuter; + /* 0x60 */ JUtility::TColor mDropHighlightBackInner; + /* 0x64 */ JUtility::TColor mDropHighlightBackOuter; + /* 0x68 */ f32 mDropHighlightAnimSpeed; + /* 0x6C */ f32 mDropHighlightAnimSpeed_Completed; + /* 0x70 */ JUtility::TColor mHighlightLoopFrontInner[2]; + /* 0x78 */ JUtility::TColor mHighlightLoopFrontOuter[2]; + /* 0x80 */ JUtility::TColor mHighlightLoopBackInner[2]; + /* 0x88 */ JUtility::TColor mHighlightLoopBackOuter[2]; + /* 0x90 */ f32 mHighlightLoopAnimSpeed; + /* 0x94 */ f32 mHighlightLoopBackStopFrame; + /* 0x98 */ f32 mHighlightScaleNormal; + /* 0x9C */ f32 mHighlightScaleComplete; + /* 0xA0 */ f32 mHighlightLoopScale; + /* 0xA4 */ f32 mHighlightLoopBackScale; + /* 0xA8 */ u8 mAnimDebug; +}; // Size: 0xAC + +class dMeter_drawHIO_c { +public: + /* 801FF5B8 */ dMeter_drawHIO_c(); + /* 80201128 */ virtual ~dMeter_drawHIO_c(); + + /* 0x000 */ // vtable + /* 0x004 */ u8 field_0x04[4]; + /* 0x008 */ f32 mLifeTopPosX; + /* 0x00C */ f32 mLifeTopPosY; + /* 0x010 */ f32 mNoMagicPosY; + /* 0x014 */ f32 mHUDScale; + /* 0x018 */ f32 mHUDAlpha; + /* 0x01C */ f32 mLifeGaugeScale; + /* 0x020 */ f32 mLifeGaugeHeartAlpha; + /* 0x024 */ f32 mLifeGaugeBaseAlpha; + /* 0x028 */ f32 mLifeGaugePosX; + /* 0x02C */ f32 mLifeGaugePosY; + /* 0x030 */ f32 mHeartScale; + /* 0x034 */ f32 mHeartAlpha; + /* 0x038 */ f32 mLargeHeartScale; + /* 0x03C */ f32 mLargeHeartAlpha; + /* 0x040 */ f32 mMagicMeterScale; + /* 0x044 */ f32 mMagicMeterAlpha; + /* 0x048 */ f32 mMagicMeterFrameAlpha; + /* 0x04C */ f32 mMagicMeterPosX; + /* 0x050 */ f32 mMagicMeterPosY; + /* 0x054 */ f32 mLanternMeterScale; + /* 0x058 */ f32 mLanternMeterAlpha; + /* 0x05C */ f32 mLanternMeterFrameAlpha; + /* 0x060 */ f32 mLanternMeterPosX; + /* 0x064 */ f32 mLanternMeterPosY; + /* 0x068 */ f32 mOxygenMeterScale; + /* 0x06C */ f32 mOxygenMeterAlpha; + /* 0x070 */ f32 mOxygenMeterFrameAlpha; + /* 0x074 */ f32 mOxygenMeterPosX; + /* 0x078 */ f32 mOxygenMeterPosY; + /* 0x07C */ f32 mMainHUDButtonsScale; + /* 0x080 */ f32 mRingHUDButtonsScale; + /* 0x084 */ f32 mMainHUDButtonsAlpha; + /* 0x088 */ f32 mRingHUDButtonsAlpha; + /* 0x08C */ f32 mMainHUDButtonsPosX; + /* 0x090 */ f32 mRingHUDButtonsPosX; + /* 0x094 */ f32 mMainHUDButtonsPosY; + /* 0x098 */ f32 mRingHUDButtonsPosY; + /* 0x09C */ f32 mButtonDisplayBackScale; + /* 0x0A0 */ f32 mButtonDisplayBackAlpha; + /* 0x0A4 */ f32 mAButtonScale; + /* 0x0A8 */ f32 mAButtonAlpha; + /* 0x0AC */ f32 mAButtonPosX; + /* 0x0B0 */ f32 mAButtonPosY; + /* 0x0B4 */ f32 mAButtonTalkScale; + /* 0x0B8 */ f32 mAButtonFontTalkScale; + /* 0x0BC */ f32 mAButtonTalkPosX; + /* 0x0C0 */ f32 mAButtonFontTalkPosX; + /* 0x0C4 */ f32 mAButtonTalkPosY; + /* 0x0C8 */ f32 mAButtonFontTalkPosY; + /* 0x0CC */ f32 mAButtonTalkAScale; + /* 0x0D0 */ f32 mAButtonFontTalkAScale; + /* 0x0D4 */ f32 mAButtonTalkAPosX; + /* 0x0D8 */ f32 mAButtonFontTalkAPosX; + /* 0x0DC */ f32 mAButtonTalkAPosY; + /* 0x0E0 */ f32 mAButtonFontTalkAPosY; + /* 0x0E4 */ f32 mAButtonVesselPosX; + /* 0x0E8 */ f32 mAButtonVesselPosY; + /* 0x0EC */ f32 mBButtonScale; + /* 0x0F0 */ f32 mBButtonAlpha; + /* 0x0F4 */ f32 mBButtonPosX; + /* 0x0F8 */ f32 mBButtonPosY; + /* 0x0FC */ f32 mBButtonTalkScale; + /* 0x100 */ f32 mBButtonFontTalkScale; + /* 0x104 */ f32 mBButtonTalkPosX; + /* 0x108 */ f32 mBButtonFontTalkPosX; + /* 0x10C */ f32 mBButtonTalkPosY; + /* 0x110 */ f32 mBButtonFontTalkPosY; + /* 0x114 */ f32 mBButtonWolfPosX; + /* 0x118 */ f32 mBButtonWolfPosY; + /* 0x11C */ f32 mBButtonVesselPosX; + /* 0x120 */ f32 mBButtonVesselPosY; + /* 0x124 */ f32 mMidnaIconScale; + /* 0x128 */ f32 mMidnaIconAlpha; + /* 0x12C */ f32 mMidnaIconPosX; + /* 0x130 */ f32 mMidnaIconPosY; + /* 0x134 */ f32 field_0x134; + /* 0x138 */ f32 field_0x138; + /* 0x13C */ f32 field_0x13c; + /* 0x140 */ f32 field_0x140; + /* 0x144 */ f32 mXButtonScale; + /* 0x148 */ f32 mXButtonAlpha; + /* 0x14C */ f32 mXButtonPosX; + /* 0x150 */ f32 mXButtonPosY; + /* 0x154 */ f32 mYButtonScale; + /* 0x158 */ f32 mYButtonAlpha; + /* 0x15C */ f32 mYButtonPosX; + /* 0x160 */ f32 mYButtonPosY; + /* 0x164 */ f32 field_0x164; + /* 0x168 */ f32 field_0x168; + /* 0x16C */ f32 field_0x16c; + /* 0x170 */ f32 field_0x170; + /* 0x174 */ f32 mZButtonScale; + /* 0x178 */ f32 mZButtonAlpha; + /* 0x17C */ f32 mZButtonPosX; + /* 0x180 */ f32 mZButtonPosY; + /* 0x184 */ f32 mBButtonItemPosX; + /* 0x188 */ f32 mBButtonSwordPosX; + /* 0x18C */ f32 mBButtonFishingPosX; + /* 0x190 */ f32 mBButtonItemPosY; + /* 0x194 */ f32 mBButtonSwordPosY; + /* 0x198 */ f32 mBButtonFishingPosY; + /* 0x19C */ f32 mBButtonItemRotation; + /* 0x1A0 */ f32 mBButtonSwordRotation; + /* 0x1A4 */ f32 mBButtonFishingRotation; + /* 0x1A8 */ f32 mBButtonItemScale; + /* 0x1AC */ f32 mBButtonSwordScale; + /* 0x1B0 */ f32 mBButtonFishingScale; + /* 0x1B4 */ f32 mXButtonItemPosX; + /* 0x1B8 */ f32 mXButtonItemPosY; + /* 0x1BC */ f32 mXButtonItemScale; + /* 0x1C0 */ f32 mYButtonItemPosX; + /* 0x1C4 */ f32 mYButtonItemPosY; + /* 0x1C8 */ f32 mYButtonItemScale; + /* 0x1CC */ f32 field_0x1cc; + /* 0x1D0 */ f32 field_0x1d0; + /* 0x1D4 */ f32 field_0x1d4; + /* 0x1D8 */ f32 mZButtonItemPosX; + /* 0x1DC */ f32 mZButtonItemPosY; + /* 0x1E0 */ f32 mZButtonItemScale; + /* 0x1E4 */ f32 mButtonItemRotation[3]; + /* 0x1F0 */ f32 mXItemNumPosX; + /* 0x1F4 */ f32 mYItemNumPosX; + /* 0x1F8 */ f32 field_0x1f8; + /* 0x1FC */ f32 mBItemNumPosX; + /* 0x200 */ f32 mXItemNumPosY; + /* 0x204 */ f32 mYItemNumPosY; + /* 0x208 */ f32 field_0x208; + /* 0x20C */ f32 mBItemNumPosY; + /* 0x210 */ f32 mXItemNumScale; + /* 0x214 */ f32 mYItemNumScale; + /* 0x218 */ f32 field_0x218; + /* 0x21C */ f32 mBItemNumScale; + /* 0x220 */ f32 mBItemBaseScale[2]; + /* 0x228 */ f32 mBItemBasePosX[2]; + /* 0x230 */ f32 mBItemBasePosY[2]; + /* 0x238 */ f32 mBItemBaseAlpha; + /* 0x23C */ f32 field_0x23c; + /* 0x240 */ f32 mXButtonItemBaseScale; + /* 0x244 */ f32 mXButtonItemBaseNoItemScale; + /* 0x248 */ f32 mXButtonItemBasePosX; + /* 0x24C */ f32 mXButtonItemBaseNoItemPosX; + /* 0x250 */ f32 mXButtonItemBasePosY; + /* 0x254 */ f32 mXButtonItemBaseNoItemPosY; + /* 0x258 */ f32 mXButtonItemBaseAlpha; + /* 0x25C */ f32 mXButtonItemBaseNoItemAlpha; + /* 0x260 */ f32 mYButtonItemBaseScale; + /* 0x264 */ f32 mYButtonItemBaseNoItemScale; + /* 0x268 */ f32 mYButtonItemBasePosX; + /* 0x26C */ f32 mYButtonItemBaseNoItemPosX; + /* 0x270 */ f32 mYButtonItemBasePosY; + /* 0x274 */ f32 mYButtonItemBaseNoItemPosY; + /* 0x278 */ f32 mYButtonItemBaseAlpha; + /* 0x27C */ f32 mYButtonItemBaseNoItemAlpha; + /* 0x280 */ f32 field_0x280; + /* 0x284 */ f32 field_0x284; + /* 0x288 */ f32 field_0x288; + /* 0x28C */ f32 field_0x28c; + /* 0x290 */ f32 field_0x290; + /* 0x294 */ f32 field_0x294; + /* 0x298 */ f32 field_0x298; + /* 0x29C */ f32 field_0x29c; + /* 0x2A0 */ f32 mZButtonItemBaseScale; + /* 0x2A4 */ f32 mZButtonItemBasePosX; + /* 0x2A8 */ f32 mZButtonItemBasePosY; + /* 0x2AC */ f32 mZButtonItemBaseAlpha; + /* 0x2B0 */ f32 mButtonBaseAlpha; + /* 0x2B4 */ f32 mAButtonFontScale; + /* 0x2B8 */ f32 mAButtonFontPosX; + /* 0x2BC */ f32 mAButtonFontPosY; + /* 0x2C0 */ JUtility::TColor mAButtonFontColor; + /* 0x2C4 */ f32 mAButtonFontSpacing; + /* 0x2C8 */ s32 mAButtonFontActionID; + /* 0x2CC */ u32 field_0x2cc; + /* 0x2D0 */ bool mAButtonTextDebug; + /* 0x2D4 */ f32 mBButtonFontScale; + /* 0x2D8 */ f32 mBButtonFontPosX; + /* 0x2DC */ f32 mBButtonFontPosY; + /* 0x2E0 */ JUtility::TColor mBButtonFontColor; + /* 0x2E4 */ f32 field_0x2e4; + /* 0x2E8 */ f32 field_0x2e8; + /* 0x2EC */ f32 field_0x2ec; + /* 0x2F0 */ JUtility::TColor field_0x2f0; + /* 0x2F4 */ f32 mXYButtonFontScale; + /* 0x2F8 */ f32 mXYButtonFontPosX; + /* 0x2FC */ f32 mXYButtonFontPosY; + /* 0x300 */ JUtility::TColor mXYButtonFontColor; + /* 0x304 */ f32 field_0x304; + /* 0x308 */ f32 field_0x308; + /* 0x30C */ f32 field_0x30c; + /* 0x310 */ JUtility::TColor field_0x310; + /* 0x314 */ f32 field_0x314; + /* 0x318 */ f32 field_0x318; + /* 0x31C */ f32 field_0x31c; + /* 0x320 */ f32 field_0x320; + /* 0x324 */ f32 field_0x324; + /* 0x328 */ f32 field_0x328; + /* 0x32C */ f32 mZButtonFontScale; + /* 0x330 */ f32 mZButtonFontPosX; + /* 0x334 */ f32 mZButtonFontPosY; + /* 0x338 */ JUtility::TColor mZButtonFontColor; + /* 0x33C */ f32 mRupeeKeyScale; + /* 0x340 */ f32 mRupeeKeyPosX; + /* 0x344 */ f32 mRupeeKeyPosY; + /* 0x348 */ f32 mRupeeKeyAlpha; + /* 0x34C */ f32 mRupeeScale; + /* 0x350 */ f32 mRupeePosX; + /* 0x354 */ f32 mRupeePosY; + /* 0x358 */ f32 mRupeeAlpha; + /* 0x35C */ f32 mKeyScale; + /* 0x360 */ f32 mKeyPosX; + /* 0x364 */ f32 mKeyPosY; + /* 0x368 */ f32 mKeyAlpha; + /* 0x36C */ f32 mRupeeFrameScale; + /* 0x370 */ f32 mRupeeFramePosX; + /* 0x374 */ f32 mRupeeFramePosY; + /* 0x378 */ f32 mRupeeFrameAlpha; + /* 0x37C */ f32 mRupeeCountScale; + /* 0x380 */ f32 mRupeeCountPosX; + /* 0x384 */ f32 mRupeeCountPosY; + /* 0x388 */ f32 mRupeeCountAlpha; + /* 0x38C */ f32 mKeyNumScale; + /* 0x390 */ f32 mKeyNumPosX; + /* 0x394 */ f32 mKeyNumPosY; + /* 0x398 */ f32 mKeyNumAlpha; + /* 0x39C */ f32 mSpurIconScale; + /* 0x3A0 */ f32 mSpurIconAlpha; + /* 0x3A4 */ f32 mUsedSpurIconScale; + /* 0x3A8 */ f32 mUsedSpurIconAlpha; + /* 0x3AC */ f32 mSpurBarScale; + /* 0x3B0 */ f32 mSpurBarPosX; + /* 0x3B4 */ f32 mSpurBarPosY; + /* 0x3B8 */ f32 mAButtonHorsePosX; + /* 0x3BC */ f32 mAButtonHorsePosY; + /* 0x3C0 */ f32 mAButtonHorseScale; + /* 0x3C4 */ f32 mAButtonHighlightScale; + /* 0x3C8 */ f32 mBButtonHighlightScale; + /* 0x3CC */ f32 field_0x3cc; + /* 0x3D0 */ f32 field_0x3d0; + /* 0x3D4 */ f32 field_0x3d4; + /* 0x3D8 */ f32 mZButtonHighlightScale; + /* 0x3DC */ f32 mXYButtonHighlightScale; + /* 0x3E0 */ f32 mSpurIconHighlightScale; + /* 0x3E4 */ f32 mSpurIconReviveHighlightScale; + /* 0x3E8 */ f32 mMidnaIconHighlightScale; + /* 0x3EC */ s16 mMidnaIconFlashRate; + /* 0x3F0 */ f32 field_0x3f0; + /* 0x3F4 */ f32 field_0x3f4; + /* 0x3F8 */ f32 field_0x3f8; + /* 0x3FC */ f32 mDPadButtonScale; + /* 0x400 */ f32 mDPadButtonOFFPosX; + /* 0x404 */ f32 mDPadButtonOFFPosY; + /* 0x408 */ f32 mDPadButtonONPosX; + /* 0x40C */ f32 mDPadButtonONPosY; + /* 0x410 */ f32 mDPadButtonLetterSpacing; + /* 0x414 */ f32 mDPadButtonAlpha; + /* 0x418 */ f32 mDPadButtonITEMAlpha; + /* 0x41C */ f32 mDPadButtonMAPAlpha; + /* 0x420 */ s16 mDPadButtonMoveFrame; + /* 0x422 */ s16 field_0x422; + /* 0x424 */ s16 field_0x424; + /* 0x426 */ bool mButtonDebug[4]; + /* 0x42A */ u8 mXYButtonsItemDimAlpha; + /* 0x42B */ u8 mXYButtonsBaseDimAlpha; + /* 0x42C */ u8 field_0x42c; + /* 0x42D */ u8 mMaxSpurAmount; + /* 0x42E */ bool mSpurDebug; + /* 0x42F */ bool field_0x42f; + /* 0x430 */ JUtility::TColor mSpurIconHighlightFrontInner; + /* 0x434 */ JUtility::TColor mSpurIconHighlightFrontOuter; + /* 0x438 */ JUtility::TColor mSpurIconHighlightBackInner; + /* 0x43C */ JUtility::TColor mSpurIconHighlightBackOuter; + /* 0x440 */ f32 mSpurIconHighlightAnimSpeed; + /* 0x444 */ JUtility::TColor mSpurIconReviveHighlightFrontInner; + /* 0x448 */ JUtility::TColor mSpurIconReviveHighlightFrontOuter; + /* 0x44C */ JUtility::TColor mSpurIconReviveHighlightBackInner; + /* 0x450 */ JUtility::TColor mSpurIconReviveHighlightBackOuter; + /* 0x454 */ f32 mSpurIconReviveHighlightAnimSpeed; + /* 0x458 */ JUtility::TColor mZButtonHighlightFrontInner; + /* 0x45C */ JUtility::TColor mZButtonHighlightFrontOuter; + /* 0x460 */ JUtility::TColor mZButtonHighlightBackInner; + /* 0x464 */ JUtility::TColor mZButtonHighlightBackOuter; + /* 0x468 */ f32 mZButtonHighlightAnimSpeed; + /* 0x46C */ JUtility::TColor mXYButtonHighlightFrontInner; + /* 0x470 */ JUtility::TColor mXYButtonHighlightFrontOuter; + /* 0x474 */ JUtility::TColor mXYButtonHighlightBackInner; + /* 0x478 */ JUtility::TColor mXYButtonHighlightBackOuter; + /* 0x47C */ f32 mXYButtonHighlightAnimSpeed; + /* 0x480 */ JUtility::TColor mAButtonHighlightFrontInner; + /* 0x484 */ JUtility::TColor mAButtonHighlightFrontOuter; + /* 0x488 */ JUtility::TColor mAButtonHighlightBackInner; + /* 0x48C */ JUtility::TColor mAButtonHighlightBackOuter; + /* 0x490 */ f32 mAButtonHighlightAnimSpeed; + /* 0x494 */ JUtility::TColor mBButtonHighlightFrontInner; + /* 0x498 */ JUtility::TColor mBButtonHighlightFrontOuter; + /* 0x49C */ JUtility::TColor mBButtonHighlightBackInner; + /* 0x4A0 */ JUtility::TColor mBButtonHighlightBackOuter; + /* 0x4A4 */ f32 mBButtonHighlightAnimSpeed; + /* 0x4A8 */ JUtility::TColor field_0x4a8; + /* 0x4AC */ JUtility::TColor field_0x4ac; + /* 0x4B0 */ JUtility::TColor field_0x4b0; + /* 0x4B4 */ JUtility::TColor field_0x4b4; + /* 0x4B8 */ f32 field_0x4b8; + /* 0x4BC */ JUtility::TColor field_0x4bc; + /* 0x4C0 */ JUtility::TColor field_0x4c0; + /* 0x4C4 */ JUtility::TColor field_0x4c4; + /* 0x4C8 */ JUtility::TColor field_0x4c8; + /* 0x4CC */ f32 field_0x4cc; + /* 0x4D0 */ JUtility::TColor field_0x4d0; + /* 0x4D4 */ JUtility::TColor field_0x4d4; + /* 0x4D8 */ JUtility::TColor field_0x4d8; + /* 0x4DC */ JUtility::TColor field_0x4dc; + /* 0x4E0 */ f32 field_0x4e0; + /* 0x4E4 */ JUtility::TColor mMidnaIconHighlightFrontInner; + /* 0x4E8 */ JUtility::TColor mMidnaIconHighlightFrontOuter; + /* 0x4EC */ JUtility::TColor mMidnaIconHighlightBackInner; + /* 0x4F0 */ JUtility::TColor mMidnaIconHighlightBackOuter; + /* 0x4F4 */ f32 mMidnaIconHighlightAnimSpeed; + /* 0x4F8 */ f32 mScrollArrowScaleX; + /* 0x4FC */ f32 mScrollArrowScaleY; + /* 0x500 */ f32 mScrollArrowBPKAnimSpeed; + /* 0x504 */ f32 mScrollArrowBCKAnimSpeed; + /* 0x508 */ f32 mScrollArrowBTKAnimSpeed; + /* 0x50C */ f32 mScrollArrowTopBottomPosX; + /* 0x510 */ f32 mScrollArrowLeftRightPosX; + /* 0x514 */ f32 mScrollArrowTopBottomPosY; + /* 0x518 */ f32 mScrollArrowLeftRightPosY; + /* 0x51C */ f32 mScrollArrowCenterPosX; + /* 0x520 */ f32 mScrollArrowCenterPosY; + /* 0x524 */ bool mScrollArrowDisplayAll; + /* 0x528 */ f32 mWiiLockArrowScaleX; + /* 0x52C */ f32 mWiiLockArrowScaleY; + /* 0x530 */ f32 mWiiLockArrowBPKAnimSpeed; + /* 0x534 */ f32 mWiiLockArrowBCKAnimSpeed; + /* 0x538 */ f32 mWiiLockArrowBTKAnimSpeed; + /* 0x53C */ f32 mWiiLockArrowTopBottomPosX; + /* 0x540 */ f32 mWiiLockArrowLeftRightPosX; + /* 0x544 */ f32 mWiiLockArrowTopBottomPosY; + /* 0x548 */ f32 mWiiLockArrowLeftRightPosY; + /* 0x54C */ f32 field_0x54c; + /* 0x550 */ bool mWiiLockArrowDisplayAll; + /* 0x554 */ f32 mFloatingMessagePosX; + /* 0x558 */ f32 mFloatingMessagePosY; + /* 0x55C */ u32 mMessageID; + /* 0x560 */ u32 mFlowID; + /* 0x564 */ s16 mMessageDuration; + /* 0x566 */ bool mMessageDebug; + /* 0x567 */ bool mFlowDebug; + /* 0x568 */ bool mItemScaleAdjustON; + /* 0x569 */ u8 mItemScalePercent; + /* 0x56C */ f32 mTouchAreaUnselectScale[5]; + /* 0x580 */ f32 mTouchAreaSelectScale[5]; + /* 0x594 */ f32 mTouchAreaScale[5]; + /* 0x5A8 */ f32 mTouchAreaAlpha[5]; + /* 0x5BC */ f32 mTouchAreaPosX[5]; + /* 0x5D0 */ f32 mTouchAreaPosY[5]; + /* 0x5E4 */ f32 mDpadMAPScale; + /* 0x5E8 */ f32 mDpadMAPPosX; + /* 0x5EC */ f32 mDpadMAPPosY; + /* 0x5F0 */ JUtility::TColor mTouchAreaSelectWhite[3]; + /* 0x5FC */ JUtility::TColor mTouchAreaSelectBlack[3]; + /* 0x608 */ s16 mTouchAreaSelectFrameNum; + /* 0x60A */ bool field_0x60a; + /* 0x60C */ f32 mLanternIconMeterPosX; + /* 0x610 */ f32 mLanternIconMeterPosY; + /* 0x614 */ f32 mLanternIconMeterSize; + /* 0x618 */ dMeter_drawCollectHIO_c mCollectScreen; + /* 0x6B8 */ dMeter_drawOptionHIO_c mOptionScreen; + /* 0x728 */ dMeter_drawLetterHIO_c mLetterSelectScreen; + /* 0x788 */ dMeter_drawFishingHIO_c mFishListScreen; + /* 0x9DC */ dMeter_drawInsectHIO_c mInsectListScreen; + /* 0xA1C */ dMeter_drawCalibrationHIO_c mCalibration; + /* 0xA34 */ dMeter_drawSkillHIO_c mSkillListScreen; + /* 0xA90 */ dMeter_drawMiniGameHIO_c mMiniGame; + /* 0xC20 */ dMeter_drawEmpButtonHIO_c mEmpButton; + /* 0xE7C */ dMeter_drawLightDropHIO_c mLightDrop; +}; // Size = 0xF28 + +STATIC_ASSERT(sizeof(dMeter_drawHIO_c) == 3880); + +class dMeter_ringHIO_c { +public: + /* 802001AC */ dMeter_ringHIO_c(); + /* 802010E0 */ virtual ~dMeter_ringHIO_c(); + + enum { + /* 0x0 */ SET_ITEM, + /* 0x1 */ DIRECT_SELECT, + /* 0x3 */ ROTATE = 3, + /* 0x4 */ COMBO_ITEM + }; + + enum { + /* 0x0 */ SELECT_FRAME, + /* 0x1 */ UNSELECT_FRAME + }; + + /* 0x000 */ // vtable + /* 0x004 */ u8 field_0x4[4]; + /* 0x008 */ f32 mRingRadiusH; + /* 0x00C */ f32 mRingRadiusV; + /* 0x010 */ f32 field_0x10; + /* 0x014 */ f32 mSelectItemScale; + /* 0x018 */ f32 mSelectButtonScale; + /* 0x01C */ f32 mUnselectItemScale; + /* 0x020 */ f32 mUnselectButtonScale; + /* 0x024 */ f32 mInactiveItemScale; + /* 0x028 */ f32 mCursorScale; + /* 0x02C */ f32 mItemNamePosX; + /* 0x030 */ f32 mItemNamePosY; + /* 0x034 */ f32 mItemNameScale; + /* 0x038 */ f32 mCenterPosX; + /* 0x03C */ f32 mCenterPosY; + /* 0x040 */ f32 mCenterScale; + /* 0x044 */ f32 field_0x44; + /* 0x048 */ f32 field_0x48; + /* 0x04C */ f32 field_0x4c; + /* 0x050 */ f32 mOverlayAlpha; + /* 0x054 */ f32 mGuidePosX[10]; + /* 0x07C */ f32 mGuidePosY[10]; + /* 0x0A4 */ f32 mGuideScale[10]; + /* 0x0CC */ f32 mHighlightScale; + /* 0x0D0 */ JUtility::TColor mHighlightFrontInner; + /* 0x0D4 */ JUtility::TColor mHighlightFrontOuter; + /* 0x0D8 */ JUtility::TColor mHighlightBackInner; + /* 0x0DC */ JUtility::TColor mHighlightBackOuter; + /* 0x0E0 */ f32 mHighlightAnimSpeed; + /* 0x0E4 */ f32 mSelectPosX; + /* 0x0E8 */ f32 mSelectPosY; + /* 0x0EC */ f32 mSelectScaleX; + /* 0x0F0 */ f32 mSelectScaleY; + /* 0x0F4 */ f32 mItemDescPosX; + /* 0x0F8 */ f32 mItemDescPosY; + /* 0x0FC */ f32 mItemDescScale; + /* 0x100 */ f32 mItemDescAlpha; + /* 0x104 */ f32 mItemDescTitlePosX; + /* 0x108 */ f32 mItemDescTitlePosY; + /* 0x10C */ f32 mItemDescTitleScale; + /* 0x110 */ f32 mItemRingPosX; + /* 0x114 */ f32 mItemRingPosY; + /* 0x118 */ f32 mRingPosX; + /* 0x11C */ f32 mRingPosY; + /* 0x120 */ f32 mRingAlpha; + /* 0x124 */ f32 mRingAlpha_Wolf; + /* 0x128 */ f32 mRingScaleH; + /* 0x12C */ f32 mRingScaleV; + /* 0x130 */ JUtility::TColor mItemFrame[2]; + /* 0x138 */ s16 mItemAlphaFlashDuration; + /* 0x13A */ s16 mOpenFrames; + /* 0x13C */ s16 mCloseFrames; + /* 0x13E */ s16 field_0x13e; + /* 0x140 */ s16 field_0x140; + /* 0x142 */ s16 field_0x142; + /* 0x144 */ s16 mCursorMax; + /* 0x146 */ s16 mCursorInitSpeed; + /* 0x148 */ s16 mCursorAccel; + /* 0x14A */ s16 mCursorChangeWaitFrames; + /* 0x14C */ s16 mDirectSelectWaitFrames; + /* 0x14E */ u8 mOffsetLineDisplay; + /* 0x14F */ u8 mItemNum; + /* 0x150 */ u8 field_0x150; + /* 0x151 */ u8 mItemIconAlpha; + /* 0x152 */ u8 mItemIconAlpha_Wolf; + /* 0x153 */ u8 field_0x153; + /* 0x154 */ u8 field_0x154; + /* 0x155 */ u8 mItemAlphaMin; + /* 0x156 */ u8 mItemAlphaMax; +}; // Size: 0x158 + +STATIC_ASSERT(sizeof(dMeter_ringHIO_c) == 344); + +class dMeter_mapIconHIO_c { +public: + /* 802004B4 */ dMeter_mapIconHIO_c(); + /* 80201028 */ virtual ~dMeter_mapIconHIO_c(); + + enum { + /* 0x00 */ ICON_PORTAL, + /* 0x01 */ ICON_LINK, + /* 0x02 */ ICON_DUNGEON_WARP, + /* 0x03 */ ICON_DESTINATION, + /* 0x04 */ ICON_BOSS, + /* 0x05 */ ICON_GANON, + /* 0x06 */ ICON_LIGHT_DROP, + /* 0x07 */ ICON_SOL, + /* 0x08 */ ICON_CANNON_BALL, + /* 0x09 */ ICON_YETO, + /* 0x0A */ ICON_YETA, + /* 0x0B */ ICON_GOLD_WOLF, + /* 0x0C */ ICON_MONKEY, + /* 0x0D */ ICON_OOCCOO_SR, + /* 0x0E */ ICON_OOCCOO_JR, + /* 0x0F */ ICON_COPY_STATUE, + /* 0x10 */ ICON_WAGON, + /* 0x11 */ ICON_SMALL_KEY, + /* 0x12 */ ICON_CHEST, + /* 0x13 */ ICON_STAGE_ENTRANCE, + /* 0x14 */ ICON_ROOM_ENTRANCE, + /* 0x15 */ ICON_LV8_ENTRANCE, + }; + + /* 0x000 */ // vtable + /* 0x004 */ u8 field_0x4[4]; + /* 0x008 */ f32 mPortalCursorScale; + /* 0x00C */ f32 mPortalIconScale; + /* 0x010 */ f32 mDestinationScale; + /* 0x014 */ f32 mDungeonDestScale; + /* 0x018 */ f32 mDestinationZoomScale; + /* 0x01C */ f32 mDungeonDestZoomScale; + /* 0x020 */ f32 field_0x20; + /* 0x024 */ f32 mBossScale; + /* 0x028 */ f32 field_0x28; + /* 0x02C */ f32 mBossZoomScale; + /* 0x030 */ f32 field_0x30; + /* 0x034 */ f32 mGanonScale; + /* 0x038 */ f32 field_0x38; + /* 0x03C */ f32 mGanonZoomScale; + /* 0x040 */ f32 mDungeonEntranceScale; + /* 0x044 */ f32 mDungeonExitScale; + /* 0x048 */ f32 mDungeonEntranceZoomScale; + /* 0x04C */ f32 mDungeonExitZoomScale; + /* 0x050 */ f32 field_0x50; + /* 0x054 */ f32 mSmallKeyScale; + /* 0x058 */ f32 field_0x58; + /* 0x05C */ f32 mSmallKeyZoomScale; + /* 0x060 */ f32 field_0x60; + /* 0x064 */ f32 mChestScale; + /* 0x068 */ f32 field_0x68; + /* 0x06C */ f32 mChestZoomScale; + /* 0x070 */ f32 mYetoScale; + /* 0x074 */ f32 field_0x74; + /* 0x078 */ f32 mYetoZoomScale; + /* 0x07C */ f32 field_0x7c; + /* 0x080 */ f32 mYetaScale; + /* 0x084 */ f32 field_0x84; + /* 0x088 */ f32 mYetaZoomScale; + /* 0x08C */ f32 field_0x8c; + /* 0x090 */ f32 mGoldWolfScale; + /* 0x094 */ f32 field_0x94; + /* 0x098 */ f32 mGoldWolfZoomScale; + /* 0x09C */ f32 field_0x9c; + /* 0x0A0 */ f32 field_0xa0; + /* 0x0A4 */ f32 mMonkeyScale; + /* 0x0A8 */ f32 field_0xa8; + /* 0x0AC */ f32 mMonkeyZoomScale; + /* 0x0B0 */ f32 field_0xb0; + /* 0x0B4 */ f32 mOoccooScale; + /* 0x0B8 */ f32 field_0xb8; + /* 0x0BC */ f32 mOoccooZoomScale; + /* 0x0C0 */ f32 field_0xc0; + /* 0x0C4 */ f32 mOoccooPotScale; + /* 0x0C8 */ f32 field_0xc8; + /* 0x0CC */ f32 mOoccooPotZoomScale; + /* 0x0D0 */ f32 field_0xd0; + /* 0x0D4 */ f32 mCopyRodStatueScale; + /* 0x0D8 */ f32 field_0xd8; + /* 0x0DC */ f32 mCopyRodStatueZoomScale; + /* 0x0E0 */ f32 mWagonScale; + /* 0x0E4 */ f32 field_0xe4; + /* 0x0E8 */ f32 mWagonZoomScale; + /* 0x0EC */ f32 field_0xec; + /* 0x0F0 */ f32 mLinkScale; + /* 0x0F4 */ f32 mDungeonLinkScale; + /* 0x0F8 */ f32 mLinkZoomScale; + /* 0x0FC */ f32 mDungeonLinkZoomScale; + /* 0x100 */ f32 mRoomEntranceScale; + /* 0x104 */ f32 mDungeonSpawnScale; + /* 0x108 */ f32 mRoomEntranceZoomScale; + /* 0x10C */ f32 mDungeonSpawnZoomScale; + /* 0x110 */ f32 mLV8EntranceScale; + /* 0x114 */ f32 field_0x114; + /* 0x118 */ f32 mLV8EntranceZoomScale; + /* 0x11C */ f32 field_0x11c; + /* 0x120 */ f32 field_0x120; + /* 0x124 */ f32 mDungeonWarpScale; + /* 0x128 */ f32 field_0x128; + /* 0x12C */ f32 mDungeonWarpZoomScale; + /* 0x130 */ f32 mLightDropScale; + /* 0x134 */ f32 field_0x134; + /* 0x138 */ f32 mLightDropZoomScale; + /* 0x13C */ f32 field_0x13c; + /* 0x140 */ f32 field_0x140; + /* 0x144 */ f32 mLightOrbScale; + /* 0x148 */ f32 field_0x148; + /* 0x14C */ f32 mLightOrbZoomScale; + /* 0x150 */ f32 field_0x150; + /* 0x154 */ f32 mCannonBallScale; + /* 0x158 */ f32 field_0x158; + /* 0x15C */ f32 mCannonBallZoomScale; + /* 0x160 */ f32 mLightDropFlashStartScaleOut; + /* 0x164 */ f32 mLightDropFlashStartScaleIn; + /* 0x168 */ f32 mLightDropFlashEndScaleOut; + /* 0x16C */ f32 mLightDropFlashEndScaleIn; + /* 0x170 */ s16 mLightDropFlashFrameNum; + /* 0x172 */ u8 mLightDropFlashStartAlphaOut; + /* 0x173 */ u8 mLightDropFlashStartAlphaIn; + /* 0x174 */ u8 mLightDropFlashEndAlphaOut; + /* 0x175 */ u8 mLightDropFlashEndAlphaIn; + /* 0x176 */ bool mLV5DungeonItemDebug; + /* 0x177 */ u8 mLV5DungeonItem; + /* 0x178 */ bool mIconDebug; + /* 0x179 */ bool mIconDisplay[22]; +}; // Size: 0x190 + +class dMeter_fmapHIO_c { +public: + enum { + /* 0x0 */ REGION_ORDONA, + /* 0x1 */ REGION_FARON, + /* 0x2 */ REGION_ELDIN, + /* 0x3 */ REGION_LANAYRU, + /* 0x4 */ REGION_GERUDO, + /* 0x5 */ REGION_SNOWPEAK, + /* 0x6 */ REGION_CASTLE, + }; + + enum { + /* 0x0 */ WORLD_VIEW, + /* 0x1 */ REGION_VIEW, + /* 0x2 */ ZOOM_VIEW + }; + + enum { + /* 0x0 */ TYPE_DEFAULT, + /* 0x1 */ TYPE_OVERWORLD, + /* 0x3 */ TYPE_DUNGEON, + /* 0x2 */ TYPE_HYRULE_CASTLE, + }; + + struct BlinkAnime { + /* 0x0 */ JUtility::TColor mBlack; + /* 0x4 */ JUtility::TColor mWhite; + /* 0x8 */ s16 mBlinkSpeed; + /* 0xA */ u8 mMax; + /* 0xB */ u8 mMin; + }; // Size: 0xC + + struct MapBlinkAnime { + MapBlinkAnime(); + + /* 0x00 */ BlinkAnime mSelectedRegion; + /* 0x0C */ BlinkAnime mUnselectedRegion; + /* 0x18 */ JUtility::TColor mUnreachedRegionBlack; + /* 0x1C */ JUtility::TColor mUnreachedRegionWhite; + /* 0x20 */ JUtility::TColor field_0x20; + /* 0x24 */ JUtility::TColor field_0x24; + }; // Size: 0x28 + + /* 802006C8 */ dMeter_fmapHIO_c(); + /* 80200BCC */ virtual ~dMeter_fmapHIO_c(); + + /* 0x004 */ u8 field_0x4[4]; + /* 0x008 */ JKRArchive* field_0x8; + /* 0x00C */ void* field_0xc; + /* 0x010 */ void* field_0x10; + /* 0x014 */ void* field_0x14; + /* 0x018 */ void* field_0x18; + /* 0x01C */ MapBlinkAnime mMapBlink[3]; + /* 0x094 */ s16 mDisplayFrameNum; + /* 0x096 */ s16 mUndisplayFrameNum; + /* 0x098 */ u8 field_0x98[4]; + /* 0x09C */ f32 mRegionZoomRange; + /* 0x0A0 */ f32 mStageZoomScale; + /* 0x0A4 */ f32 mWorldGridWidth; + /* 0x0A8 */ f32 mRegionGridWidth; + /* 0x0AC */ f32 mMapTopLeftPosX; + /* 0x0B0 */ f32 mMapTopLeftPosY; + /* 0x0B4 */ f32 mMapScale; + /* 0x0B8 */ f32 mBackgroundAlpha; + /* 0x0BC */ f32 mBackgroundFrontAlpha; + /* 0x0C0 */ f32 mScrollSpeedRegionFast; + /* 0x0C4 */ f32 mScrollSpeedRegionZoomFast; + /* 0x0C8 */ f32 mScrollSpeedWorldFast; + /* 0x0CC */ f32 mScrollSpeedDungeonMapFast; + /* 0x0D0 */ f32 mScrollSpeedRegionSlow; + /* 0x0D4 */ f32 mScrollSpeedRegionZoomSlow; + /* 0x0D8 */ f32 mScrollSpeedWorldSlow; + /* 0x0DC */ f32 mScrollSpeedDungeonMapSlow; + /* 0x0E0 */ f32 mScrollSpeedSlowBound; + /* 0x0E4 */ f32 mScrollSpeedFastBound; + /* 0x0E8 */ f32 mTitlePosX; + /* 0x0EC */ f32 mTitlePosY; + /* 0x0F0 */ f32 mTitleScale; + /* 0x0F4 */ f32 mSubTitlePosX; + /* 0x0F8 */ f32 mSubTitlePosY; + /* 0x0FC */ f32 mSubTitleScale; + /* 0x100 */ f32 mAreaMovementPosX; + /* 0x104 */ f32 mAreaMovementPosY; + /* 0x108 */ f32 mAreaMovementScale; + /* 0x10C */ f32 mClosingPosX; + /* 0x110 */ f32 mClosingPosY; + /* 0x114 */ f32 mClosingScale; + /* 0x118 */ f32 mDoIconPosX; + /* 0x11C */ f32 mDoIconPosY; + /* 0x120 */ f32 mDoIconScale; + /* 0x124 */ f32 mZButtonPosX; + /* 0x128 */ f32 mZButtonPosY; + /* 0x12C */ f32 mZButtonScale; + /* 0x130 */ f32 mAButtonPosX; + /* 0x134 */ f32 mAButtonPosY; + /* 0x138 */ f32 mAButtonScale; + /* 0x13C */ f32 mBButtonPosX; + /* 0x140 */ f32 mBButtonPosY; + /* 0x144 */ f32 mBButtonScale; + /* 0x148 */ f32 mZButtonTextPosX; + /* 0x14C */ f32 mZButtonTextPosY; + /* 0x150 */ f32 mZButtonTextScale; + /* 0x154 */ f32 mAButtonTextPosX; + /* 0x158 */ f32 mAButtonTextPosY; + /* 0x15C */ f32 mAButtonTextScale; + /* 0x160 */ f32 mBButtonTextPosX; + /* 0x164 */ f32 mBButtonTextPosY; + /* 0x168 */ f32 mBButtonTextScale; + /* 0x16C */ f32 mRegionImagePosX[8]; + /* 0x18C */ f32 mRegionImagePosZ[8]; + /* 0x1AC */ f32 mRegionImageScale[8]; + /* 0x1CC */ f32 mRegionScrollRangeMinX[8]; + /* 0x1EC */ f32 mRegionScrollRangeMinZ[8]; + /* 0x20C */ f32 mRegionScrollRangeMaxX[8]; + /* 0x22C */ f32 mRegionScrollRangeMaxZ[8]; + /* 0x24C */ f32 mCursorScale; + /* 0x250 */ f32 mCursorSpeed; + /* 0x254 */ JUtility::TColor mCursorBlack; + /* 0x258 */ JUtility::TColor mCursorWhite; + /* 0x25C */ cXyz field_0x25c[12]; + /* 0x2EC */ bool mCursorDebugON; + /* 0x2ED */ bool mButtonDebugON; + /* 0x2EE */ u8 field_0x2ee[4]; + /* 0x2F2 */ u8 mMapType; + /* 0x2F3 */ bool mDisplayWorldOrigin; + /* 0x2F4 */ bool mDisplayRegionOrigin; + /* 0x2F5 */ bool mDisplayStageOrigin; + /* 0x2F6 */ bool mDisplayWorldGrid; + /* 0x2F7 */ bool mDisplayRegionGrid; + /* 0x2F8 */ bool mDisplayReferenceArea; + /* 0x2F9 */ u8 field_0x2f9; + /* 0x2FA */ bool mTerminalOutput; + /* 0x2FB */ bool mPortalDataTerminalOutput; + /* 0x2FC */ bool mAllRegionsUnlocked; + /* 0x2FD */ bool mDisplayAllPaths; + /* 0x2FE */ bool mRegionPrintGlobalScroll; + /* 0x2FF */ bool mRangeCheck; + /* 0x300 */ bool mRangeCheckDrawPriority; + /* 0x301 */ bool mPortalWarpON; + /* 0x302 */ bool mDrawBackground; + /* 0x303 */ u8 field_0x303; + /* 0x304 */ u8 mRangeCheckInterval; + /* 0x305 */ u8 field_0x305; + /* 0x306 */ bool mScrollRangeDebugON; + /* 0x307 */ bool mScrollRangeDisplay; + /* 0x308 */ bool field_0x308; // related to scroll range display + /* 0x309 */ bool mRegionImageDebug; + /* 0x30A */ bool mRegionBitTerminalOutput; + /* 0x30B */ bool mDebugRegionBits[8]; + /* 0x314 */ dMeter_mapIconHIO_c mMapIconHIO; +}; // Size: 0x4A4 + +STATIC_ASSERT(sizeof(dMeter_fmapHIO_c) == 1188); + +class dMeter_cursorHIO_c { +public: + /* 80200CD4 */ dMeter_cursorHIO_c(); + /* 80201098 */ virtual ~dMeter_cursorHIO_c(); + + /* 0x04 */ u8 field_0x4[4]; + /* 0x08 */ cXyz mSeraShopObjZoom; + /* 0x14 */ cXyz mObjZoom; + /* 0x20 */ cXyz mMagicArmorObjZoom; + /* 0x2C */ f32 mShopCursorScale; + /* 0x30 */ f32 mShopCursorOffsetY; + /* 0x34 */ f32 mMagicArmorCursorOffsetX; + /* 0x38 */ f32 mMagicArmorCursorOffsetY; + /* 0x3C */ s16 mSeraShopObjZoomAngleX; + /* 0x3E */ s16 mShopObjZoomAngleX; + /* 0x40 */ s16 mMagicArmorObjZoomAngleX; +}; + +STATIC_ASSERT(sizeof(dMeter_cursorHIO_c) == 68); + #endif /* D_METER_D_METER_HIO_H */ diff --git a/include/d/pane/d_pane_class.h b/include/d/pane/d_pane_class.h index 8a0cc7c06e..40b33a9ed0 100644 --- a/include/d/pane/d_pane_class.h +++ b/include/d/pane/d_pane_class.h @@ -1,9 +1,13 @@ #ifndef D_PANE_D_PANE_CLASS_H #define D_PANE_D_PANE_CLASS_H +#include "JSystem/J2DGraph/J2DTextBox.h" #include "d/pane/d_pane_class_alpha.h" #include "dolphin/types.h" +void dPaneClass_showNullPane(J2DScreen*); +void dPaneClass_showNullPane(J2DPane*); + class CPaneMgr : public CPaneMgrAlpha { public: /* 80253A18 */ virtual ~CPaneMgr(); @@ -15,28 +19,44 @@ public: /* 80253C08 */ void initiate(J2DPane*, JKRExpHeap*); /* 80254018 */ void childPaneGetSize(J2DPane*); /* 80254134 */ void childPaneSetSize(J2DPane*, f32, f32); - /* 802542E8 */ void getGlobalPosX(); - /* 80254364 */ void getGlobalPosY(); + /* 802542E8 */ f32 getGlobalPosX(); + /* 80254364 */ f32 getGlobalPosY(); /* 80254458 */ void setBlackWhite(JUtility::TColor, JUtility::TColor); /* 802545B0 */ void paneTrans(f32, f32); /* 80254638 */ void paneScale(f32, f32); - /* 802547CC */ void scaleAnime(s16, f32, f32, u8); + /* 802547CC */ bool scaleAnime(s16, f32, f32, u8); /* 802548BC */ void colorAnime(s16, JUtility::TColor, JUtility::TColor, JUtility::TColor, JUtility::TColor, u8); /* 80254C90 */ void getGlobalVtx(J2DPane*, f32 (*)[3][4], u8, bool, s16); /* 80254EBC */ void getGlobalVtxCenter(J2DPane*, bool, s16); /* 80254FB8 */ void getBounds(J2DPane*); + void translate(f32 x, f32 y) { getPanePtr()->translate(x, y); } + + void scale(f32 h, f32 v) { getPanePtr()->scale(h, v); } + + f32 getPosX() { return getPanePtr()->getBounds().i.x; } + f32 getPosY() { return getPanePtr()->getBounds().i.y; } + + f32 getSizeX() { return getPanePtr()->getWidth(); } + f32 getSizeY() { return getPanePtr()->getHeight(); } + + f32 getRotateZ() { return getPanePtr()->getRotateZ(); } + + f32 getInitCenterPosX() { return mInitPos.x + mInitSize.x * 0.5f; } + + f32 getInitCenterPosY() { return mInitPos.y + mInitSize.y * 0.5f; } + private: - /* 0x1C */ void* field_0x1c; + /* 0x1C */ void* mpFirstStackSize; /* 0x20 */ void* field_0x20; /* 0x24 */ JGeometry::TVec2 mInitPos; /* 0x2C */ JGeometry::TVec2 mGlobalPos; /* 0x34 */ JGeometry::TVec2 mInitSize; /* 0x3C */ JGeometry::TVec2 mInitScale; - /* 0x44 */ JGeometry::TVec2 field_0x44; - /* 0x4C */ f32 field_0x4c; - /* 0x50 */ JGeometry::TVec2 field_0x50; + /* 0x44 */ JGeometry::TVec2 mInitTrans; + /* 0x4C */ f32 mRotateZ; + /* 0x50 */ JGeometry::TVec2 mRotateOffset; /* 0x58 */ JUtility::TColor mInitWhite; /* 0x5C */ JUtility::TColor mInitBlack; /* 0x60 */ s16 field_0x60; diff --git a/include/d/pane/d_pane_class_alpha.h b/include/d/pane/d_pane_class_alpha.h index 6fcadd7b2b..c9d4aa3695 100644 --- a/include/d/pane/d_pane_class_alpha.h +++ b/include/d/pane/d_pane_class_alpha.h @@ -2,6 +2,7 @@ #define D_PANE_D_PANE_CLASS_ALPHA_H #include "JSystem/J2DGraph/J2DScreen.h" +#include "JSystem/J2DGraph/J2DWindow.h" #include "JSystem/JKernel/JKRExpHeap.h" #include "dolphin/types.h" @@ -26,7 +27,7 @@ public: /* 802555C8 */ void show(); /* 80255608 */ void hide(); /* 8025564C */ void isVisible(); - /* 80255658 */ void rateCalc(s16, s16, u8); + /* 80255658 */ f32 rateCalc(s16, s16, u8); /* 802557D0 */ void setAlphaRate(f32); /* 80255828 */ void getAlphaRate(); /* 80255878 */ void alphaAnime(s16, u8, u8, u8); @@ -35,11 +36,13 @@ public: /* 80255ACC */ void childPaneGetAlpha(J2DPane*); /* 80255B5C */ void childPaneSetAlpha(J2DPane*, u8); -private: - /* 0x04 */ J2DPane* mPanePtr; - /* 0x08 */ JKRHeap* heap; - /* 0x0C */ void* field_0x0c; - /* 0x10 */ int field_0x10; + J2DPane* getPanePtr() { return (J2DPane*)mWindow; } + u8 getAlpha() { return getPanePtr()->getAlpha(); } + + /* 0x04 */ J2DWindow* mWindow; + /* 0x08 */ JKRExpHeap* heap; + /* 0x0C */ void* mpFirstStackAlpha; + /* 0x10 */ void* field_0x10; /* 0x14 */ s16 mChildPaneCount; /* 0x16 */ s16 mAlphaTimer; /* 0x18 */ u8 mInitAlpha; diff --git a/include/dolphin/gx/GX.h b/include/dolphin/gx/GX.h index c890624114..5fac58593c 100644 --- a/include/dolphin/gx/GX.h +++ b/include/dolphin/gx/GX.h @@ -260,6 +260,13 @@ typedef enum _GXTevColorArg { /* 0xF */ GX_CC_ZERO, } GXTevColorArg; +typedef enum _GXTevColor { + /* 0x0 */ GX_CH_RED, + /* 0x1 */ GX_CH_BLUE, + /* 0x2 */ GX_CH_GREEN, + /* 0x3 */ GX_CH_ALPHA, +} GXTevColor; + typedef enum _GXTevScale { /* 0x0 */ GX_CS_SCALE_1, /* 0x1 */ GX_CS_SCALE_2, @@ -284,7 +291,7 @@ typedef enum _GXTevAlphaArg { /* 0x6 */ GX_CA_ZERO, } GXTevAlphaArg; -struct GXRenderModeObj { +struct _GXRenderModeObj { s32 vi_tv_mode; u16 fb_width; u16 efb_height; @@ -418,16 +425,24 @@ typedef enum GXTlutFmt { GX_TL_RGB5A3, } GXTlutFmt; +enum GXCITexFmt { + /* 0x8 */ GX_TF_C4 = 8, + /* 0x8 */ GX_TF_C8, + /* 0xA */ GX_TF_C14X2 +}; + extern "C" { f32 GXGetYScaleFactor(u16 efb_height, u16 xfb_height); u16 GXGetNumXfbLines(u32 efb_height, f32 y_scale); void GXBegin(u8, u8, u16); void GXLoadTexObj(_GXTexObj*, _GXTexMapID); -void GXInitTexObjLOD(_GXTexObj, GXTexFilter, GXTexFilter, f32, f32, f32, s32, s32, GXAnisotropy); -void GXInitTexObj(_GXTexObj, void*, u16, u16, GXTexFmt, GXTexWrapMode, GXTexWrapMode, s32); +void GXInitTexObjLOD(_GXTexObj*, GXTexFilter, GXTexFilter, f32, f32, f32, s32, s32, GXAnisotropy); +void GXInitTexObj(_GXTexObj*, void*, u16, u16, GXTexFmt, GXTexWrapMode, GXTexWrapMode, s32); void GXInitTlutObj(_GXTlutObj*, void*, GXTlutFmt, u16); void GXLoadTlut(_GXTlutObj*, u32); +void GXInitTexObjCI(_GXTexObj*, void*, u16, u16, GXCITexFmt, GXTexWrapMode, GXTexWrapMode, s32, + u32); void GXSetNumChans(u32); void GXSetNumTevStages(u32); diff --git a/include/f_ap/f_ap_game.h b/include/f_ap/f_ap_game.h index 4ac78f40a6..140a641656 100644 --- a/include/f_ap/f_ap_game.h +++ b/include/f_ap/f_ap_game.h @@ -1,6 +1,44 @@ #ifndef F_AP_F_AP_GAME_H #define F_AP_F_AP_GAME_H +#include "JSystem/JUtility.h" #include "dolphin/types.h" +void fapGm_After(); + +class fapGm_HIO_c { +public: + /* 80018944 */ fapGm_HIO_c(); + /* 80018AE0 */ virtual ~fapGm_HIO_c(); + + /* 0x04 */ s8 field_0x04; + /* 0x05 */ u8 field_0x03[3]; + /* 0x08 */ JUtility::TColor mColor; + /* 0x0C */ f32 field_0xc; + /* 0x10 */ f32 field_0x10; + /* 0x14 */ bool mUsingHostIO; + /* 0x15 */ bool mDisplayMeter; + /* 0x16 */ bool mDisplayPrint; + /* 0x17 */ bool mDisplay2D; + /* 0x18 */ bool mDisplayParticle; + /* 0x19 */ bool mDisplayProcessID; + /* 0x1A */ bool mMemBlockOff; + /* 0x1C */ s16 mRegister0; + /* 0x1E */ s16 mRegister1; + /* 0x20 */ s16 mRegister2; + /* 0x22 */ s16 mRegister3; + /* 0x24 */ JUtility::TColor mLetterTopColor; + /* 0x28 */ JUtility::TColor mLetterBottomColor; + /* 0x2C */ JUtility::TColor mLetterTopShadowColor; + /* 0x30 */ JUtility::TColor mLetterBottomShadowColor; + /* 0x34 */ u16 mLetterPositionX; + /* 0x36 */ u16 mLetterPositionY; + /* 0x38 */ u16 mLineSpacing; + /* 0x3A */ u16 mLetterSpacing; + /* 0x3C */ u16 mLetterFontSize; + /* 0x3E */ u8 mBackgroundAlpha; +}; // Size: 0x40 + +extern fapGm_HIO_c g_HIO; + #endif /* F_AP_F_AP_GAME_H */ diff --git a/include/f_op/f_op_actor.h b/include/f_op/f_op_actor.h index ac32c1408f..b709c27196 100644 --- a/include/f_op/f_op_actor.h +++ b/include/f_op/f_op_actor.h @@ -14,7 +14,7 @@ public: dEvt_info_c(); virtual ~dEvt_info_c(); void setEventName(char*); - void getEventName(); + s16 getEventName(); void beforeProc(); void onCondition(u16); void offCondition(u16); diff --git a/include/f_op/f_op_actor_mng.h b/include/f_op/f_op_actor_mng.h index 70816080dd..efc46b8ca4 100644 --- a/include/f_op/f_op_actor_mng.h +++ b/include/f_op/f_op_actor_mng.h @@ -8,6 +8,7 @@ #include "SSystem/SComponent/c_xyz.h" #include "dolphin/types.h" #include "f_op/f_op_actor.h" +#include "f_op/f_op_actor_iter.h" #include "f_pc/f_pc_executor.h" #include "f_pc/f_pc_fstcreate_req.h" #include "f_pc/f_pc_manager.h" @@ -99,6 +100,18 @@ inline u32 fopAcM_GetParam(const void* pActor) { return fpcM_GetParam(pActor); } +inline void fopAcM_OnStatus(fopAc_ac_c* pActor, u32 flag) { + pActor->mStatus |= flag; +} + +inline void fopAcM_OffStatus(fopAc_ac_c* pActor, u32 flag) { + pActor->mStatus &= ~flag; +} + +inline fopAc_ac_c* fopAcM_SearchByID(unsigned int id) { + return (fopAc_ac_c*)fopAcIt_Judge((fopAcIt_JudgeFunc)fpcSch_JudgeByID, &id); +} + 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/f_op/f_op_draw_tag.h b/include/f_op/f_op_draw_tag.h index 2510cd881b..e1f510ca80 100644 --- a/include/f_op/f_op_draw_tag.h +++ b/include/f_op/f_op_draw_tag.h @@ -6,5 +6,6 @@ extern node_lists_tree_class g_fopDwTg_Queue; void fopDwTg_DrawQTo(create_tag_class* pTag); +void fopDwTg_CreateQueue(); #endif \ No newline at end of file diff --git a/include/f_op/f_op_overlap_mng.h b/include/f_op/f_op_overlap_mng.h index 82d8b64200..33d5bdeb66 100644 --- a/include/f_op/f_op_overlap_mng.h +++ b/include/f_op/f_op_overlap_mng.h @@ -22,5 +22,6 @@ int fopOvlpM_IsDoingReq(void); int fopOvlpM_ClearOfReq(void); request_base_class* fopOvlpM_Request(s16 param_1, u16 param_2); int fopOvlpM_Cancel(void); +void fopOvlpM_Init(); #endif \ No newline at end of file diff --git a/include/m_Do/m_Do_MemCard.h b/include/m_Do/m_Do_MemCard.h index 64b57502e7..e432e00302 100644 --- a/include/m_Do/m_Do_MemCard.h +++ b/include/m_Do/m_Do_MemCard.h @@ -1,6 +1,50 @@ #ifndef M_DO_M_DO_MEMCARD_H #define M_DO_M_DO_MEMCARD_H +#include "dolphin/os/OS.h" #include "dolphin/types.h" +#include "global.h" + +class mDoMemCd_Ctrl_c { +public: + /* 8001672C */ mDoMemCd_Ctrl_c(); + /* 80016730 */ void ThdInit(); + /* 800167D0 */ void main(); + /* 80016894 */ void update(); + /* 800169B4 */ void load(); + /* 80016A0C */ void restore(); + /* 80016AB0 */ void LoadSync(void*, u32, u32); + /* 80016B58 */ void save(void*, u32, u32); + /* 80016BD4 */ void store(); + /* 80016CE0 */ void SaveSync(); + /* 80016D74 */ void getStatus(u32); + /* 80016E58 */ void command_format(); + /* 80016EA8 */ void format(); + /* 80016F2C */ void FormatSync(); + /* 80016FB8 */ void attach(); + /* 800170B8 */ void command_attach(); + /* 80017110 */ void detach(); + /* 80017148 */ void mount(); + /* 80017274 */ void loadfile(); + /* 800172D4 */ void checkspace(); + /* 80017360 */ void setCardState(s32); + + /* 0x0000 */ u8 field_0x0[0x1FBC]; + /* 0x1FBC */ u8 field_0x1fbc; + /* 0x1FBD */ u8 mCopyToPos; + /* 0x1FBE */ u8 mProbeStat; + /* 0x1FC0 */ u32 field_0x1fc0; + /* 0x1FC4 */ u32 field_0x1fc4; + /* 0x1FC8 */ u32 field_0x1fc8; + /* 0x1FCC */ OSMutex field_0x1fcc; + /* 0x1FE4 */ OSCond field_0x1fe4; + /* 0x1FEC */ u32 mNandState; + /* 0x1FF0 */ u64 field_0x1ff0; + /* 0x1FF8 */ u32 mDataVersion; +}; // Size: 0x2000 + +STATIC_ASSERT(sizeof(mDoMemCd_Ctrl_c) == 8192); + +extern mDoMemCd_Ctrl_c g_mDoMemCd_control; #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 499be53c96..406ce5ccfa 100644 --- a/include/m_Do/m_Do_Reset.h +++ b/include/m_Do/m_Do_Reset.h @@ -3,6 +3,9 @@ #include "dolphin/types.h" +void mDoRst_reset(int, u32, int); +void mDoRst_resetCallBack(int, void*); + struct mDoRstData { /* 0x00 */ int mReset; /* 0x04 */ int mResetPrepare; @@ -27,7 +30,10 @@ public: static void set3ButtonResetPort(int port) { mResetData->m3ButtonResetPort = port; } static void off3ButtonReset() { mResetData->m3ButtonReset = 0; } static void offResetPrepare() { mResetData->mResetPrepare = 0; } - static void offReset() { mResetData->mReset = 0; } + static void offReset() { + mResetData->mReset = 0; + mResetData->mResetPrepare = 0; + } static u8 getLogoScnFlag() { return mResetData->mLogoScnFlag; } static bool isReturnToMenu() { return mResetData->mReturnToMenu; } static bool isShutdown() { return mResetData->mShutdown; } @@ -40,6 +46,7 @@ public: static void onShutdown() { mResetData->mShutdown = true; } static mDoRstData* getResetData(); + static mDoRstData* i_getResetData() { return mResetData; } static void setResetData(mDoRstData* rstData) { mResetData = rstData; } static mDoRstData* mResetData; diff --git a/include/m_Do/m_Do_controller_pad.h b/include/m_Do/m_Do_controller_pad.h index 39b1d6d0e3..d35d6852c9 100644 --- a/include/m_Do/m_Do_controller_pad.h +++ b/include/m_Do/m_Do_controller_pad.h @@ -4,14 +4,15 @@ #include "JSystem/JUtility/JUTGamePad.h" #include "SSystem/SComponent/c_API_controller_pad.h" #include "dolphin/types.h" +#include "m_Do/m_Do_Reset.h" class mDoCPd_c { public: enum { PAD_0, PAD_1, PAD_2, PAD_3 }; - void create(); - void read(); - void convert(interface_of_controller_pad*, JUTGamePad*); + static void create(); + static void read(); + static void convert(interface_of_controller_pad*, JUTGamePad*); void LRlockCheck(interface_of_controller_pad*); void recalibrate(); @@ -61,4 +62,18 @@ public: static interface_of_controller_pad m_cpadInfo[4]; }; +inline void mDoCPd_ANALOG_CONV(u8 analog, f32& param_1) { + param_1 = analog * (1.0f / 15.0f); + if (param_1 > 1.0f) { + param_1 = 1.0f; + } +} + +inline void mDoCPd_TRIGGER_CONV(u8 analog, f32& param_1) { + param_1 = analog * 0.0071428571827709675f; + if (param_1 > 1.0f) { + param_1 = 1.0f; + } +} + #endif /* M_DO_M_DO_CONTROLLER_PAD_H */ diff --git a/include/m_Do/m_Do_dvd_thread.h b/include/m_Do/m_Do_dvd_thread.h index 9a5e1b12ae..193d480bb3 100644 --- a/include/m_Do/m_Do_dvd_thread.h +++ b/include/m_Do/m_Do_dvd_thread.h @@ -10,7 +10,7 @@ typedef void* (*mDoDvdThd_callback_func)(void*); class mDoDvdThd_command_c : public node_class { -protected: +public: /* 0x0C */ bool mIsDone; /* 0x10 vtable*/ public: @@ -74,6 +74,9 @@ public: /* 80015E14 */ static mDoDvdThd_mountArchive_c* create(char const*, u8, JKRHeap*); /* 80015EDC */ virtual s32 execute(); + JKRMemArchive* getArchive() const { return mArchive; } + JKRHeap* getHeap() const { return mHeap; } + private: /* 0x14 */ u8 mMountDirection; /* 0x18 */ s32 mEntryNumber; diff --git a/include/m_Do/m_Do_ext.h b/include/m_Do/m_Do_ext.h index 6b5ead7c7c..dc90469fbd 100644 --- a/include/m_Do/m_Do_ext.h +++ b/include/m_Do/m_Do_ext.h @@ -129,7 +129,7 @@ JKRSolidHeap* mDoExt_createSolidHeapFromGame(u32, u32); void mDoExt_destroySolidHeap(JKRSolidHeap*); u32 mDoExt_adjustSolidHeap(JKRSolidHeap*); void mDoExt_restoreCurrentHeap(); -JKRHeap* mDoExt_getGameHeap(); +JKRExpHeap* mDoExt_getGameHeap(); void mDoExt_destroySolidHeap(JKRSolidHeap*); JKRHeap* mDoExt_setCurrentHeap(JKRHeap*); JKRExpHeap* mDoExt_getArchiveHeap(); @@ -139,5 +139,14 @@ JKRAssertHeap* mDoExt_getAssertHeap(); JKRExpHeap* mDoExt_getCommandHeap(); JKRExpHeap* mDoExt_getZeldaHeap(); JKRExpHeap* mDoExt_getJ2dHeap(); +JKRExpHeap* mDoExt_getHostIOHeap(); +JKRSolidHeap* mDoExt_createSolidHeapToCurrent(JKRHeap**, u32, JKRHeap*, u32); +JKRSolidHeap* mDoExt_createSolidHeapToCurrent(u32, JKRHeap*, u32); +JKRSolidHeap* mDoExt_createSolidHeapFromGameToCurrent(u32, u32); +JKRHeap* mDoExt_getCurrentHeap(); + +extern JKRExpHeap* zeldaHeap; +extern JKRExpHeap* gameHeap; +extern JKRExpHeap* archiveHeap; #endif /* M_DO_M_DO_EXT_H */ diff --git a/include/m_Do/m_Do_graphic.h b/include/m_Do/m_Do_graphic.h index baada208aa..ec686f07b0 100644 --- a/include/m_Do/m_Do_graphic.h +++ b/include/m_Do/m_Do_graphic.h @@ -3,4 +3,6 @@ #include "dolphin/types.h" +void mDoGph_Create(); + #endif /* M_DO_M_DO_GRAPHIC_H */ diff --git a/include/m_Do/m_Do_machine.h b/include/m_Do/m_Do_machine.h index 9f19a6fd67..806c14ca0e 100644 --- a/include/m_Do/m_Do_machine.h +++ b/include/m_Do/m_Do_machine.h @@ -1,6 +1,18 @@ #ifndef M_DO_M_DO_MACHINE_H #define M_DO_M_DO_MACHINE_H +#include "JSystem/JUtility/JUTConsole.h" +#include "JSystem/JUtility/JUTGamePad.h" +#include "JSystem/JUtility/JUTVideo.h" #include "dolphin/types.h" +#include "m_Do/m_Do_Reset.h" +#include "m_Do/m_Do_main.h" + +void myHeapCheckRecursive(JKRHeap*); +u8 mDoMch_IsProgressiveMode(); +bool exceptionReadPad(u32*, u32*); +void exceptionRestart(); +void myExceptionCallback(u16, OSContext*, u32, u32); +void my_SysPrintHeap(char const*, void*, u32); #endif /* M_DO_M_DO_MACHINE_H */ diff --git a/include/m_Do/m_Do_machine_exception.h b/include/m_Do/m_Do_machine_exception.h index bb26d8cfc6..91e66a046c 100644 --- a/include/m_Do/m_Do_machine_exception.h +++ b/include/m_Do/m_Do_machine_exception.h @@ -3,4 +3,10 @@ #include "dolphin/types.h" +void print(char const*); +void dispHeapInfo(); +void dispGameInfo(); +void dispDateInfo(); +void dispConsoleToTerminal(); + #endif /* M_DO_M_DO_MACHINE_EXCEPTION_H */ diff --git a/include/m_Do/m_Do_main.h b/include/m_Do/m_Do_main.h index 76a3844a3d..a82df3f0f3 100644 --- a/include/m_Do/m_Do_main.h +++ b/include/m_Do/m_Do_main.h @@ -2,13 +2,18 @@ #define M_DO_M_DO_MAIN_H #include "JSystem/JKernel/JKRExpHeap.h" +#include "dolphin/dvd/dvd.h" #include "dolphin/types.h" +void version_check(); +void* LOAD_COPYDATE(void*); + class HeapCheck { public: void CheckHeap1(void); s32 getUsedCount(void) const; void heapDisplay(void) const; + u32& getUsedCountRef() { return mUsedCount; } u32& getTotalUsedSizeRef() { return mTotalUsedSize; } JKRExpHeap* getHeap() { return mHeap; } @@ -16,6 +21,11 @@ public: void setHeapSize(u32 i_size) { mTargetHeapSize = i_size; } s32 getMaxTotalUsedSize() { return mMaxTotalUsedSize; } s32 getMaxTotalFreeSize() { return mMaxTotalFreeSize; } + char* getName() const { return mName; } + void saveRelBase() { + mUsedCount = getUsedCount(); + mTotalUsedSize = mHeap->getTotalUsedSize(); + } private: /* 0x00 */ char* mName; @@ -30,10 +40,13 @@ private: }; struct mDoMain { - static u8 COPYDATE_STRING[18 + 2 /* padding */]; + static char COPYDATE_STRING[18]; static u32 memMargin; - static u8 sPowerOnTime[4]; // should be OSTime - static u8 sHungUpTime[4]; // should be OSTime + static u8 mHeapBriefType; + static OSTime sPowerOnTime; + static OSTime sHungUpTime; }; +extern s8 data_80450580; + #endif /* M_DO_M_DO_MAIN_H */ diff --git a/include/m_Do/m_Do_mtx.h b/include/m_Do/m_Do_mtx.h index 61b7a86f29..c091ec9af6 100644 --- a/include/m_Do/m_Do_mtx.h +++ b/include/m_Do/m_Do_mtx.h @@ -1,6 +1,62 @@ #ifndef M_DO_M_DO_MTX_H #define M_DO_M_DO_MTX_H +#include "SSystem/SComponent/c_Xyz.h" +#include "SSystem/SComponent/c_sXyz.h" +#include "dolphin/mtx/mtx.h" +#include "dolphin/mtx/quat.h" #include "dolphin/types.h" +void mDoMtx_XYZrotS(Mtx, s16, s16, s16); +void mDoMtx_XYZrotM(Mtx, s16, s16, s16); +void mDoMtx_ZXYrotS(Mtx, s16, s16, s16); +void mDoMtx_ZXYrotM(Mtx, s16, s16, s16); +void mDoMtx_ZrotS(Mtx, s16); +void mDoMtx_YrotS(Mtx, s16); +void mDoMtx_XrotS(Mtx, s16); + +class mDoMtx_stack_c { +public: + /* 8000CCC8 */ bool push(); + /* 8000CD14 */ bool pop(); + /* 8000CD64 */ static void transS(cXyz const&); + /* 8000CDD4 */ static void transM(cXyz const&); + /* 8000CD9C */ static void transM(f32, f32, f32); + /* 8000CE00 */ static void scaleS(cXyz const&); + /* 8000CE70 */ static void scaleM(cXyz const&); + /* 8000CE38 */ static void scaleM(f32, f32, f32); + /* 8000CE9C */ static void XYZrotS(csXyz const&); + /* 8000CED4 */ static void XYZrotM(csXyz const&); + /* 8000CF0C */ static void ZXYrotS(csXyz const&); + /* 8000CF44 */ static void ZXYrotM(csXyz const&); + /* 8000CF7C */ static void quatM(Quaternion const*); + /* 8000D070 */ ~mDoMtx_stack_c(); // inline + + Mtx* get() { return &now; } + static void transS(f32 x, f32 y, f32 z) { PSMTXTrans(now, x, y, z); } + static void scaleS(f32 x, f32 y, f32 z) { PSMTXScale(now, x, y, z); } + static void XYZrotS(s16 x, s16 y, s16 z) { mDoMtx_XYZrotS(now, x, y, z); } + static void XYZrotM(s16 x, s16 y, s16 z) { mDoMtx_XYZrotM(now, x, y, z); } + static void ZXYrotS(s16 x, s16 y, s16 z) { mDoMtx_ZXYrotS(now, x, y, z); } + static void ZXYrotM(s16 x, s16 y, s16 z) { mDoMtx_ZXYrotM(now, x, y, z); } + + static Mtx now; + static Mtx buffer[16]; + static Mtx* next; + static Mtx* end; +}; + +class mDoMtx_quatStack_c { +public: + ~mDoMtx_quatStack_c(); // inline + + /* 0x000 */ mDoMtx_quatStack_c* field_0x0; + /* 0x004 */ mDoMtx_quatStack_c* field_0x4; + /* 0x008 */ u8 field_0x8[0xC]; + /* 0x014 */ mDoMtx_quatStack_c* field_0x14; + /* 0x018 */ u8 field_0x18[0xFC]; + /* 0x114 */ mDoMtx_quatStack_c* field_0x114; + /* 0x118 */ mDoMtx_quatStack_c* field_0x118; +}; // Size: 0x11C + #endif /* M_DO_M_DO_MTX_H */ diff --git a/include/m_Do/m_Do_printf.h b/include/m_Do/m_Do_printf.h index 8e5dfcacc4..d90f8dae7c 100644 --- a/include/m_Do/m_Do_printf.h +++ b/include/m_Do/m_Do_printf.h @@ -1,6 +1,10 @@ #ifndef M_DO_M_DO_PRINTF_H #define M_DO_M_DO_PRINTF_H +#include "MSL_C.PPCEABI.bare.H/MSL_Common/Src/char_io.h" +#include "MSL_C.PPCEABI.bare.H/MSL_Common/Src/printf.h" #include "dolphin/types.h" +void my_PutString(const char*); + #endif /* M_DO_M_DO_PRINTF_H */ diff --git a/include/msl_c/string.h b/include/msl_c/string.h index 6f66cb20a0..75333f3f9f 100644 --- a/include/msl_c/string.h +++ b/include/msl_c/string.h @@ -10,6 +10,7 @@ char* strrchr(const char* s, int c); char* strchr(const char* s, int c); int strncmp(const char* s1, const char* s2, u32 n); int strcmp(const char* s1, const char* s2); +int stricmp(const char*, const char*); char* strcat(char* dest, const char* source); char* strncpy(char* dest, const char* source, u32 n); char* strcpy(char* dest, const char* source); @@ -17,6 +18,7 @@ u32 strlen(const char* s); int tolower(int); int sprintf(char*, const char*, ...); int printf(const char*, ...); +int snprintf(char*, u32, const char*, ...); } #endif \ No newline at end of file diff --git a/libs/JSystem/J2DGraph/J2DGrafContext.cpp b/libs/JSystem/J2DGraph/J2DGrafContext.cpp index 0d7f12952a..17337771f0 100644 --- a/libs/JSystem/J2DGraph/J2DGrafContext.cpp +++ b/libs/JSystem/J2DGraph/J2DGrafContext.cpp @@ -34,7 +34,6 @@ extern "C" void setLookat__14J2DGrafContextFv(); // extern "C" void __dl__FPv(); -extern "C" void PSMTXIdentity(); extern "C" void GXSetVtxDesc(); extern "C" void GXClearVtxDesc(); extern "C" void GXSetVtxAttrFmt(); @@ -57,7 +56,7 @@ extern "C" void GXSetZCompLoc(); extern "C" void GXLoadPosMtxImm(); extern "C" void GXSetCurrentMtx(); extern "C" void GXLoadTexMtxImm(); -extern "C" void GXSetViewport(); +extern "C" void GXSetViewport(f32, f32, f32, f32, f32, f32); extern "C" void GXSetScissor(); extern "C" void __cvt_fp2unsigned(); extern "C" void _savegpr_29(); @@ -84,6 +83,17 @@ SECTION_DATA extern void* __vt__14J2DGrafContext[10] = { }; /* 802E8B08-802E8BB4 2E3448 00AC+00 0/0 2/2 0/0 .text __ct__14J2DGrafContextFffff */ +// reversed stack +#ifdef NONMATCHING +J2DGrafContext::J2DGrafContext(f32 left, f32 top, f32 right, f32 bottom) + : mBounds(left, top, left + right, top + bottom), + mScissorBounds(left, top, left + right, top + bottom), field_0x24(-1), field_0x28(-1), + field_0x2c(-1), field_0x30(-1) { + JUtility::TColor color(-1); + setColor(color, color, color, color); + setLineWidth(6); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -92,6 +102,7 @@ asm J2DGrafContext::J2DGrafContext(f32 param_0, f32 param_1, f32 param_2, f32 pa #include "asm/JSystem/J2DGraph/J2DGrafContext/__ct__14J2DGrafContextFffff.s" } #pragma pop +#endif /* ############################################################################################## */ /* 80456148-8045614C 004748 0004+00 5/5 0/0 0/0 .sdata2 @627 */ @@ -106,6 +117,26 @@ SECTION_SDATA2 static u8 lit_627[4] = { SECTION_SDATA2 static f32 lit_628 = 1.0f; /* 802E8BB4-802E8C44 2E34F4 0090+00 1/0 1/1 0/0 .text setPort__14J2DGrafContextFv */ +// matches with literal +#ifdef NONMATCHING +void J2DGrafContext::setPort() { + setScissor(); + setup2D(); + + f32 x_origin = mBounds.i.x; + f32 y_origin = mBounds.i.y; + f32 width = mBounds.f.x; + f32 height = mBounds.f.y; + + if (x_origin < 0.0f) { + x_origin = 0.0f; + } + if (y_origin < 0.0f) { + y_origin = 0.0f; + } + GXSetViewport(x_origin, y_origin, width - x_origin, height - y_origin, 0.0f, 1.0f); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -114,6 +145,7 @@ asm void J2DGrafContext::setPort() { #include "asm/JSystem/J2DGraph/J2DGrafContext/setPort__14J2DGrafContextFv.s" } #pragma pop +#endif /* 802E8C44-802E8E20 2E3584 01DC+00 1/0 1/0 0/0 .text setup2D__14J2DGrafContextFv */ #pragma push diff --git a/libs/JSystem/J2DGraph/J2DOrthoGraph.cpp b/libs/JSystem/J2DGraph/J2DOrthoGraph.cpp index d5432b4d3f..b1ebca077d 100644 --- a/libs/JSystem/J2DGraph/J2DOrthoGraph.cpp +++ b/libs/JSystem/J2DGraph/J2DOrthoGraph.cpp @@ -7,52 +7,6 @@ #include "dol2asm.h" #include "dolphin/types.h" -// -// Types: -// - -struct JUtility { - struct TColor {}; -}; - -struct JGeometry { - template - struct TBox2 {}; - /* TBox2 */ - struct TBox2__template0 {}; - - template - struct TVec2 {}; - /* TVec2 */ - struct TVec2__template1 {}; -}; - -struct J2DOrthoGraph { - /* 8000B118 */ ~J2DOrthoGraph(); - /* 802E9670 */ J2DOrthoGraph(); - /* 802E96D0 */ J2DOrthoGraph(f32, f32, f32, f32, f32, f32); - /* 802E97B4 */ void setPort(); - /* 802E980C */ void setOrtho(JGeometry::TBox2 const&, f32, f32); - /* 802E9840 */ void setLookat(); - /* 802E987C */ void scissorBounds(JGeometry::TBox2*, JGeometry::TBox2 const*); - /* 802E9C88 */ bool getGrafType() const; -}; - -struct J2DGrafContext { - /* 802E8B08 */ J2DGrafContext(f32, f32, f32, f32); - /* 802E8BB4 */ void setPort(); - /* 802E8C44 */ void setup2D(); - /* 802E8E20 */ void setScissor(); - /* 802E90E4 */ void place(JGeometry::TBox2 const&); - /* 802E961C */ void place(f32, f32, f32, f32); - /* 802E9118 */ void setColor(JUtility::TColor, JUtility::TColor, JUtility::TColor, - JUtility::TColor); - /* 802E9234 */ void setLineWidth(u8); - /* 802E9260 */ void fillBox(JGeometry::TBox2 const&); - /* 802E9368 */ void drawFrame(JGeometry::TBox2 const&); - /* 802E9564 */ void lineTo(JGeometry::TVec2); -}; - // // Forward References: // @@ -87,7 +41,6 @@ extern "C" void func_802E9260(); extern "C" void func_802E9368(); extern "C" void func_802E9564(); extern "C" void place__14J2DGrafContextFffff(); -extern "C" void PSMTXIdentity(); extern "C" void C_MTXOrtho(); extern "C" void GXSetProjection(); extern "C" void GXLoadPosMtxImm(); diff --git a/libs/JSystem/J2DGraph/J2DPane.cpp b/libs/JSystem/J2DGraph/J2DPane.cpp index c866eeae07..79e5fed82c 100644 --- a/libs/JSystem/J2DGraph/J2DPane.cpp +++ b/libs/JSystem/J2DGraph/J2DPane.cpp @@ -515,14 +515,14 @@ asm void J2DPane::clip(JGeometry::TBox2 const& param_0) { #pragma pop /* 802F72E0-802F7388 2F1C20 00A8+00 1/0 7/1 0/0 .text search__7J2DPaneFUx */ -const J2DPane* J2DPane::search(u64 tag) { +J2DPane* J2DPane::search(u64 tag) { if (tag == mInfoTag) { return this; } JSUTreeIterator iter; for (iter = mPaneTree.getFirstChild(); iter != mPaneTree.getEndChild(); ++iter) { - if (const J2DPane* result = iter.getObject()->search(tag)) { + if (J2DPane* result = iter.getObject()->search(tag)) { return result; } } @@ -530,14 +530,14 @@ const J2DPane* J2DPane::search(u64 tag) { } /* 802F7388-802F7430 2F1CC8 00A8+00 1/0 7/1 0/0 .text searchUserInfo__7J2DPaneFUx */ -const J2DPane* J2DPane::searchUserInfo(u64 tag) { +J2DPane* J2DPane::searchUserInfo(u64 tag) { if (tag == mUserInfoTag) { return this; } JSUTreeIterator iter; for (iter = mPaneTree.getFirstChild(); iter != mPaneTree.getEndChild(); ++iter) { - if (const J2DPane* result = iter.getObject()->searchUserInfo(tag)) { + if (J2DPane* result = iter.getObject()->searchUserInfo(tag)) { return result; } } @@ -653,7 +653,7 @@ const J2DPane* J2DPane::getFirstChildPane() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm const J2DPane* J2DPane::getFirstChildPane() { +asm J2DPane* J2DPane::getFirstChildPane() { nofralloc #include "asm/JSystem/J2DGraph/J2DPane/getFirstChildPane__7J2DPaneFv.s" } @@ -661,7 +661,7 @@ asm const J2DPane* J2DPane::getFirstChildPane() { #endif /* 802F7AC4-802F7AFC 2F2404 0038+00 1/1 8/8 0/0 .text getNextChildPane__7J2DPaneFv */ -const J2DPane* J2DPane::getNextChildPane() { +J2DPane* J2DPane::getNextChildPane() { if (getPaneTree()->getNextChild() == NULL) return NULL; @@ -669,7 +669,7 @@ const J2DPane* J2DPane::getNextChildPane() { } /* 802F7AFC-802F7B18 2F243C 001C+00 6/6 11/11 0/0 .text getParentPane__7J2DPaneFv */ -const J2DPane* J2DPane::getParentPane() { +J2DPane* J2DPane::getParentPane() { if (getPaneTree()->getParent() == NULL) return NULL; diff --git a/libs/JSystem/J2DGraph/J2DScreen.cpp b/libs/JSystem/J2DGraph/J2DScreen.cpp index bdb965a63f..d88ece2595 100644 --- a/libs/JSystem/J2DGraph/J2DScreen.cpp +++ b/libs/JSystem/J2DGraph/J2DScreen.cpp @@ -407,7 +407,7 @@ asm void J2DScreen::draw(f32 param_0, f32 param_1, J2DGrafContext const* param_2 #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm const J2DPane* J2DScreen::search(u64 param_0) { +asm J2DPane* J2DScreen::search(u64 param_0) { nofralloc #include "asm/JSystem/J2DGraph/J2DScreen/search__9J2DScreenFUx.s" } @@ -417,7 +417,7 @@ asm const J2DPane* J2DScreen::search(u64 param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm const J2DPane* J2DScreen::searchUserInfo(u64 param_0) { +asm J2DPane* J2DScreen::searchUserInfo(u64 param_0) { nofralloc #include "asm/JSystem/J2DGraph/J2DScreen/searchUserInfo__9J2DScreenFUx.s" } diff --git a/libs/JSystem/J2DGraph/J2DWindow.cpp b/libs/JSystem/J2DGraph/J2DWindow.cpp index 764f37b767..338979dd47 100644 --- a/libs/JSystem/J2DGraph/J2DWindow.cpp +++ b/libs/JSystem/J2DGraph/J2DWindow.cpp @@ -7,150 +7,6 @@ #include "dol2asm.h" #include "dolphin/types.h" -// -// Types: -// - -struct _GXTlut {}; - -struct _GXTexMapID {}; - -struct _GXCullMode {}; - -struct ResTLUT {}; - -struct ResTIMG {}; - -struct ResFONT {}; - -struct JUtility { - struct TColor {}; -}; - -struct JUTTexture { - /* 802DE234 */ ~JUTTexture(); - /* 802DE2A8 */ void storeTIMG(ResTIMG const*, u8); - /* 802DE840 */ void load(_GXTexMapID); -}; - -struct JUTPalette { - /* 802DE890 */ void storeTLUT(_GXTlut, ResTLUT*); -}; - -struct JSUStreamSeekFrom {}; - -struct JSURandomInputStream { - /* 802DC458 */ void peek(void*, s32); - /* 802DC4DC */ void seek(s32, JSUStreamSeekFrom); -}; - -struct JSUInputStream { - /* 802DC298 */ void read(void*, s32); -}; - -struct JKRArchive {}; - -struct JGeometry { - template - struct TBox2 {}; - /* TBox2 */ - struct TBox2__template0 {}; -}; - -struct J2DAnmTexPattern {}; - -struct J2DAnmVisibilityFull {}; - -struct J2DAnmBase {}; - -struct J2DAnmColor {}; - -struct J2DAnmTevRegKey {}; - -struct J2DAnmTextureSRTKey {}; - -struct J2DAnmTransform {}; - -struct J2DAnmVtxColor {}; - -struct J2DPane { - /* 80053BC0 */ void calcMtx(); - /* 80053C00 */ void makeMatrix(f32, f32); - /* 802F7540 */ void makeMatrix(f32, f32, f32, f32); - /* 80256018 */ void setAnimation(J2DAnmVtxColor*); - /* 8025601C */ void setAnimation(J2DAnmVisibilityFull*); - /* 80256020 */ void setAnimation(J2DAnmTexPattern*); - /* 8018BF28 */ void setAnimation(J2DAnmTextureSRTKey*); - /* 80126350 */ void setAnimation(J2DAnmTevRegKey*); - /* 80126354 */ void setAnimation(J2DAnmColor*); - /* 802F7EF4 */ void setAnimation(J2DAnmBase*); - /* 802F5BF8 */ J2DPane(); - /* 802F60C4 */ void makePaneStream(J2DPane*, JSURandomInputStream*); - /* 802F658C */ ~J2DPane(); - /* 802F6F60 */ void move(f32, f32); - /* 802F6FB4 */ void add(f32, f32); - /* 802F6FF8 */ void resize(f32, f32); - /* 802F7264 */ void clip(JGeometry::TBox2 const&); - /* 802F72E0 */ void search(u64); - /* 802F7388 */ void searchUserInfo(u64); - /* 802F7430 */ void isUsed(ResTIMG const*); - /* 802F74B8 */ void isUsed(ResFONT const*); - /* 802F7680 */ void setCullBack(_GXCullMode); - /* 802F8428 */ void setCullBack(bool); - /* 802F7B18 */ void makePaneExStream(J2DPane*, JSURandomInputStream*); - /* 802F7DB8 */ void getPointer(JSURandomInputStream*, u32, JKRArchive*); - /* 802F8004 */ void clearAnmTransform(); - /* 802F8080 */ void animationTransform(J2DAnmTransform const*); - /* 802F8118 */ void setVisibileAnimation(J2DAnmVisibilityFull*); - /* 802F81A0 */ void setVtxColorAnimation(J2DAnmVtxColor*); - /* 802F8228 */ void animationPane(J2DAnmTransform const*); - /* 802F83D0 */ void setAnimationVF(J2DAnmVisibilityFull*); - /* 802F83FC */ void setAnimationVC(J2DAnmVtxColor*); - /* 802F8464 */ void setConnectParent(bool); - /* 802F8474 */ void update(); -}; - -struct J2DMaterial {}; - -struct J2DWindow { - struct TMaterial {}; - - /* 80254000 */ void getBlack() const; - /* 8025400C */ void getWhite() const; - /* 802543E0 */ void setWhite(JUtility::TColor); - /* 80254430 */ void setBlack(JUtility::TColor); - /* 80254568 */ void setBlackWhite(JUtility::TColor, JUtility::TColor); - /* 802F9C10 */ J2DWindow(J2DPane*, JSURandomInputStream*, J2DMaterial*); - /* 802F9B74 */ J2DWindow(J2DPane*, JSURandomInputStream*, JKRArchive*); - /* 802F9A7C */ J2DWindow(); - /* 802FA118 */ void private_readStream(J2DPane*, JSURandomInputStream*, JKRArchive*); - /* 802FA604 */ void initinfo2(); - /* 802FA880 */ ~J2DWindow(); - /* 802FBFA0 */ void draw(f32, f32, f32, f32); - /* 802FA928 */ void draw(JGeometry::TBox2 const&); - /* 802FAED0 */ void draw(JGeometry::TBox2 const&, JGeometry::TBox2 const&); - /* 802FAA5C */ void draw_private(JGeometry::TBox2 const&, JGeometry::TBox2 const&); - /* 802FB000 */ void resize(f32, f32); - /* 802FB12C */ void setContentsColor(JUtility::TColor, JUtility::TColor, JUtility::TColor, - JUtility::TColor); - /* 802FB240 */ void drawSelf(f32, f32, f32 (*)[3][4]); - /* 802FB1D8 */ void drawSelf(f32, f32); - /* 802FB338 */ void drawContents(JGeometry::TBox2 const&); - /* 802FB634 */ void drawFrameTexture(JUTTexture*, f32, f32, f32, f32, u16, u16, u16, u16, bool); - /* 802FB7C8 */ void drawFrameTexture(JUTTexture*, f32, f32, bool, bool, bool); - /* 802FB868 */ void drawContentsTexture(f32, f32, f32, f32); - /* 802FBB90 */ void setTevMode(JUTTexture*, JUtility::TColor, JUtility::TColor); - /* 802FBE60 */ void getFrameTexture(u8, u8) const; - /* 802FC02C */ void isUsed(ResFONT const*); - /* 802FBEDC */ void isUsed(ResTIMG const*); - /* 802FBF98 */ s32 getTypeID() const; - /* 802FBFE8 */ void getContentsTexture(u8) const; - /* 802FC000 */ void getMaterial(J2DWindow::TMaterial&) const; - /* 802FC01C */ bool getFrameMaterial(u8) const; - /* 802FC024 */ bool getContentsMaterial() const; - /* 802FC04C */ void rewriteAlpha(); -}; - // // Forward References: // @@ -239,27 +95,10 @@ extern "C" void setAnimationVC__7J2DPaneFP14J2DAnmVtxColor(); extern "C" void setCullBack__7J2DPaneFb(); extern "C" void setConnectParent__7J2DPaneFb(); extern "C" void update__7J2DPaneFv(); -extern "C" void PSMTXIdentity(); -extern "C" void PSMTXConcat(); -extern "C" void GXSetVtxDesc(); extern "C" void GXClearVtxDesc(); -extern "C" void GXSetVtxAttrFmt(); extern "C" void GXSetTexCoordGen2(); -extern "C" void GXSetNumTexGens(); -extern "C" void GXBegin(); -extern "C" void GXSetNumChans(); -extern "C" void GXSetChanCtrl(); extern "C" void GXSetNumIndStages(); extern "C" void GXSetTevDirect(); -extern "C" void GXSetTevOp(); -extern "C" void GXSetTevColorIn(); -extern "C" void GXSetTevAlphaIn(); -extern "C" void GXSetTevColorOp(); -extern "C" void GXSetTevAlphaOp(); -extern "C" void GXSetTevColor(); -extern "C" void GXSetTevOrder(); -extern "C" void GXSetNumTevStages(); -extern "C" void GXSetBlendMode(); extern "C" void GXLoadPosMtxImm(); extern "C" void GXSetCurrentMtx(); extern "C" void _savegpr_25(); @@ -624,7 +463,7 @@ COMPILER_STRIP_GATE(0x803A1C40, &lit_3037); #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void J2DWindow::isUsed(ResTIMG const* param_0) { +asm bool J2DWindow::isUsed(ResTIMG const* param_0) { nofralloc #include "asm/JSystem/J2DGraph/J2DWindow/isUsed__9J2DWindowFPC7ResTIMG.s" } @@ -682,7 +521,7 @@ bool J2DWindow::getContentsMaterial() const { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void J2DWindow::isUsed(ResFONT const* param_0) { +asm bool J2DWindow::isUsed(ResFONT const* param_0) { nofralloc #include "asm/JSystem/J2DGraph/J2DWindow/isUsed__9J2DWindowFPC7ResFONT.s" } diff --git a/libs/JSystem/J3DGraphBase/J3DShape.cpp b/libs/JSystem/J3DGraphBase/J3DShape.cpp index 080755d0de..51571212a8 100644 --- a/libs/JSystem/J3DGraphBase/J3DShape.cpp +++ b/libs/JSystem/J3DGraphBase/J3DShape.cpp @@ -11,47 +11,8 @@ // Types: // -struct _GXVtxFmt {}; - struct _GXVtxAttrFmtList {}; -struct _GXAttr {}; - -struct Vec {}; - -struct J3DShapeMtx { - /* 803130A8 */ void resetMtxLoadCache(); - - static u8 sCurrentPipeline[4]; - static u8 sCurrentScaleFlag[4]; - static u8 sTexMtxLoadType[4]; -}; - -struct J3DShapeDraw { - /* 80314974 */ void addTexMtxIndexInDL(u32, u32, u32); - /* 80314AD4 */ void draw() const; -}; - -struct J3DShape { - /* 80314B48 */ void initialize(); - /* 80314BB8 */ void addTexMtxIndexInDL(_GXAttr, u32); - /* 80314CBC */ void addTexMtxIndexInVcd(_GXAttr); - /* 80314DA8 */ void calcNBTScale(Vec const&, f32 (*)[3][3], f32 (*)[3][3]); - /* 80314E28 */ void countBumpMtxNum() const; - /* 80314EEC */ void loadVtxArray() const; - /* 80314F5C */ void isSameVcdVatCmd(J3DShape*); - /* 80314F98 */ void makeVtxArrayCmd(); - /* 80315260 */ void makeVcdVatCmd(); - /* 80315300 */ void loadPreDrawSetting() const; - /* 80315398 */ void setArrayAndBindPipeline() const; - /* 8031544C */ void drawFast() const; - /* 803155E0 */ void draw() const; - /* 80315628 */ void simpleDraw() const; - /* 803156AC */ void simpleDrawCache() const; - - static u8 sOldVcdVatCmd[4]; -}; - // // Forward References: // @@ -92,7 +53,6 @@ extern "C" void OSRestoreInterrupts(); extern "C" void OSDisableScheduler(); extern "C" void OSEnableScheduler(); extern "C" void GXSetArray(); -extern "C" void GXCallDisplayList(); extern "C" void GDInitGDLObj(); extern "C" void GDFlushCurrToMem(); extern "C" void GDPadCurr32(); @@ -252,7 +212,7 @@ asm void J3DShape::makeVcdVatCmd() { /* ############################################################################################## */ /* 804515D0-804515D4 000AD0 0004+00 5/5 25/25 9/9 .sbss sOldVcdVatCmd__8J3DShape */ -u8 J3DShape::sOldVcdVatCmd[4]; +void* J3DShape::sOldVcdVatCmd; /* 80315300-80315398 30FC40 0098+00 2/2 6/6 3/3 .text loadPreDrawSetting__8J3DShapeCFv */ #pragma push diff --git a/libs/JSystem/J3DGraphBase/J3DShapeDraw.cpp b/libs/JSystem/J3DGraphBase/J3DShapeDraw.cpp index d80a1eeba7..564f9c6e2f 100644 --- a/libs/JSystem/J3DGraphBase/J3DShapeDraw.cpp +++ b/libs/JSystem/J3DGraphBase/J3DShapeDraw.cpp @@ -7,18 +7,6 @@ #include "dol2asm.h" #include "dolphin/types.h" -// -// Types: -// - -struct J3DShapeDraw { - /* 80314924 */ void countVertex(u32); - /* 80314974 */ void addTexMtxIndexInDL(u32, u32, u32); - /* 80314ABC */ J3DShapeDraw(u8 const*, u32); - /* 80314AD4 */ void draw() const; - /* 80314B00 */ ~J3DShapeDraw(); -}; - // // Forward References: // diff --git a/libs/JSystem/J3DGraphBase/J3DShapeMtx.cpp b/libs/JSystem/J3DGraphBase/J3DShapeMtx.cpp index 47b8e79b02..833ae33999 100644 --- a/libs/JSystem/J3DGraphBase/J3DShapeMtx.cpp +++ b/libs/JSystem/J3DGraphBase/J3DShapeMtx.cpp @@ -11,8 +11,6 @@ // Types: // -struct Vec {}; - struct J3DTextureSRTInfo {}; struct J3DSys { @@ -68,26 +66,6 @@ struct J3DShapeMtxBBoardConcatView { /* 80314610 */ void getType() const; }; -struct J3DShapeMtx { - /* 80273E08 */ bool getUseMtxNum() const; - /* 803130A8 */ void resetMtxLoadCache(); - /* 803130E4 */ void loadMtxIndx_PNGP(int, u16) const; - /* 80313128 */ void loadMtxIndx_PCPU(int, u16) const; - /* 80313188 */ void loadMtxIndx_NCPU(int, u16) const; - /* 803131D4 */ void loadMtxIndx_PNCPU(int, u16) const; - /* 80313B94 */ void load() const; - /* 80313BF0 */ void calcNBTScale(Vec const&, f32 (*)[3][3], f32 (*)[3][3]); - /* 8031459C */ void getUseMtxIndex(u16) const; - /* 80314798 */ ~J3DShapeMtx(); - /* 803147E0 */ void getType() const; - - static u8 sMtxLoadPipeline[48]; - static u8 sMtxLoadCache[20 + 4 /* padding */]; - static u8 sCurrentPipeline[4]; - static u8 sCurrentScaleFlag[4]; - static u8 sTexMtxLoadType[4]; -}; - struct J3DDifferedTexMtx { /* 8031322C */ void loadExecute(f32 const (*)[4]); @@ -174,9 +152,6 @@ extern "C" void J3DGetTextureMtxMayaOld__FRC17J3DTextureSRTInfoPA4_f(); extern "C" void J3DScaleNrmMtx__FPA4_fRC3Vec(); extern "C" void J3DScaleNrmMtx33__FPA3_fRC3Vec(); extern "C" void J3DMtxProjConcat__FPA4_fPA4_fPA4_f(); -extern "C" void PSMTXCopy(); -extern "C" void PSMTXConcat(); -extern "C" void PSMTXInverse(); extern "C" void GXSetArray(); extern "C" void GXLoadTexMtxImm(); extern "C" void __ptmf_scall(); diff --git a/libs/JSystem/J3DGraphBase/J3DSys.cpp b/libs/JSystem/J3DGraphBase/J3DSys.cpp index 85eb95bde8..015ab74202 100644 --- a/libs/JSystem/J3DGraphBase/J3DSys.cpp +++ b/libs/JSystem/J3DGraphBase/J3DSys.cpp @@ -111,7 +111,7 @@ extern "C" extern u32 j3dDefaultTevKColor; J3DSys j3dSys; /* 80434BE4-80434C14 061904 0030+00 0/0 17/17 154/154 .bss mCurrentMtx__6J3DSys */ -u8 J3DSys::mCurrentMtx[48]; +Mtx J3DSys::mCurrentMtx; /* 80434C14-80434C20 061934 000C+00 0/0 6/6 0/0 .bss mCurrentS__6J3DSys */ f32 J3DSys::mCurrentS[3]; @@ -120,7 +120,7 @@ f32 J3DSys::mCurrentS[3]; f32 J3DSys::mParentS[3]; /* 80434C2C-80434C70 06194C 0040+04 1/1 17/17 0/0 .bss sTexCoordScaleTable__6J3DSys */ -u8 J3DSys::sTexCoordScaleTable[64 + 4 /* padding */]; +u16 J3DSys::sTexCoordScaleTable[34]; /* 8030FDE8-8030FEC0 30A728 00D8+00 1/1 0/0 0/0 .text __ct__6J3DSysFv */ #pragma push diff --git a/libs/JSystem/JFramework/JFWSystem.cpp b/libs/JSystem/JFramework/JFWSystem.cpp index dad2e433e3..b102ce1a28 100644 --- a/libs/JSystem/JFramework/JFWSystem.cpp +++ b/libs/JSystem/JFramework/JFWSystem.cpp @@ -11,10 +11,6 @@ // Types: // -struct _GXRenderModeObj {}; - -struct ResFONT {}; - struct OSThread {}; struct JUTVideo { @@ -37,8 +33,6 @@ struct JUTGamePad { /* 802E0898 */ void init(); }; -struct JUTFont {}; - struct JUTDirectPrint { /* 802E4240 */ void start(); }; @@ -57,10 +51,6 @@ struct JUTConsoleManager { /* 802E81F4 */ void createManager(JKRHeap*); }; -struct JUTConsole { - /* 802E7354 */ void create(unsigned int, unsigned int, JKRHeap*); -}; - struct JUTAssertion { /* 802E495C */ void create(); }; @@ -78,33 +68,6 @@ struct JKRAram { /* 802D1FA4 */ void create(u32, u32, s32, s32, s32); }; -struct JFWSystem { - struct CSetUpParam { - static u32 maxStdHeaps; - static u32 sysHeapSize; - static u32 fifoBufSize; - static u32 aramAudioBufSize; - static u32 aramGraphBufSize; - static u32 streamPriority; - static u32 decompPriority; - static u32 aPiecePriority; - static void* systemFontRes; - static void* renderMode; - static u32 exConsoleBufferSize[1 + 1 /* padding */]; - }; - - /* 80271CD0 */ void firstInit(); - /* 80271D18 */ void init(); - - static u8 rootHeap[4]; - static u8 systemHeap[4]; - static u8 mainThread[4]; - static u8 debugPrint[4]; - static u8 systemFont[4]; - static u8 systemConsoleManager[4]; - static u8 systemConsole[4]; -}; - // // Forward References: // @@ -238,7 +201,7 @@ u8 JFWSystem::systemFont[4]; u8 JFWSystem::systemConsoleManager[4]; /* 804511B8-804511BC 0006B8 0004+00 1/1 7/7 0/0 .sbss systemConsole__9JFWSystem */ -u8 JFWSystem::systemConsole[4]; +JUTConsole* JFWSystem::systemConsole; /* 804511BC-804511C0 0006BC 0004+00 1/1 0/0 0/0 .sbss None */ static u8 data_804511BC[4]; diff --git a/libs/JSystem/JGadget/linklist.cpp b/libs/JSystem/JGadget/linklist.cpp index 4d7b31cd28..a00e32776d 100644 --- a/libs/JSystem/JGadget/linklist.cpp +++ b/libs/JSystem/JGadget/linklist.cpp @@ -7,28 +7,6 @@ #include "dol2asm.h" #include "dolphin/types.h" -// -// Types: -// - -namespace JGadget { -struct TLinkListNode {}; - -struct TNodeLinkList { - struct iterator {}; - - /* 802DCA1C */ ~TNodeLinkList(); - /* 802DCAA0 */ void erase(JGadget::TNodeLinkList::iterator, JGadget::TNodeLinkList::iterator); - /* 802DCA58 */ void erase(JGadget::TNodeLinkList::iterator); - /* 802DCB08 */ void splice(JGadget::TNodeLinkList::iterator, JGadget::TNodeLinkList&, - JGadget::TNodeLinkList::iterator); - /* 802DCBA8 */ void Insert(JGadget::TNodeLinkList::iterator, JGadget::TLinkListNode*); - /* 802DCBD4 */ void Erase(JGadget::TLinkListNode*); - /* 802DCBF8 */ void Remove(JGadget::TLinkListNode*); -}; - -}; // namespace JGadget - // // Forward References: // diff --git a/libs/JSystem/JUtility/JUTAssert.cpp b/libs/JSystem/JUtility/JUTAssert.cpp index 20ac123bae..e91214818e 100644 --- a/libs/JSystem/JUtility/JUTAssert.cpp +++ b/libs/JSystem/JUtility/JUTAssert.cpp @@ -68,7 +68,7 @@ void JUTAssertion::create() { /* ############################################################################################## */ /* 80451530-80451538 000A30 0004+04 2/2 0/0 0/0 .sbss * sMessageLife__Q212JUTAssertion23@unnamed@JUTAssert_cpp@ */ -static u8 data_80451530[4 + 4 /* padding */]; +static s32 data_80451530; /* 802E4960-802E499C 2DF2A0 003C+00 2/2 0/0 0/0 .text flush_subroutine__12JUTAssertionFv */ diff --git a/libs/JSystem/JUtility/JUTConsole.cpp b/libs/JSystem/JUtility/JUTConsole.cpp index eb9aa06bb1..54abc8e400 100644 --- a/libs/JSystem/JUtility/JUTConsole.cpp +++ b/libs/JSystem/JUtility/JUTConsole.cpp @@ -11,19 +11,10 @@ // Types: // -struct JUtility { - struct TColor {}; -}; - struct JUTVideo { static u8 sManager[4]; }; -struct JUTFont { - /* 802DED70 */ void setCharColor(JUtility::TColor); - /* 802DEE28 */ void drawString_size_scale(f32, f32, f32, f32, char const*, u32, bool); -}; - struct JUTDirectPrint { /* 802E4288 */ void erase(int, int, int, int); /* 802E46D8 */ void drawString(u16, u16, char*); @@ -38,25 +29,6 @@ struct JKRHeap { static u8 sCurrentHeap[4]; }; -struct JUTConsole { - struct EConsoleType {}; - - /* 802E73E4 */ void create(unsigned int, void*, u32); - /* 802E7354 */ void create(unsigned int, unsigned int, JKRHeap*); - /* 802E746C */ JUTConsole(unsigned int, unsigned int, bool); - /* 802E755C */ ~JUTConsole(); - /* 802E75CC */ void getObjectSizeFromBufferSize(unsigned int, unsigned int); - /* 802E75DC */ void getLineFromObjectSize(u32, unsigned int); - /* 802E75EC */ void clear(); - /* 802E7648 */ void doDraw(JUTConsole::EConsoleType) const; - /* 802E7BB8 */ void print_f(char const*, ...); - /* 802E7C38 */ void print(char const*); - /* 802E7F7C */ void dumpToTerminal(unsigned int); - /* 802E80A8 */ void scroll(int); - /* 802E8184 */ void getUsedLine() const; - /* 802E81A8 */ void getLineOffset() const; -}; - struct JUTConsoleManager { /* 802E81CC */ JUTConsoleManager(); /* 802E81F4 */ void createManager(JKRHeap*); @@ -69,23 +41,6 @@ struct JUTConsoleManager { static u8 sManager[4]; }; -struct JKRDisposer { - /* 802D147C */ JKRDisposer(); - /* 802D14E4 */ ~JKRDisposer(); -}; - -namespace JGadget { -struct TLinkListNode {}; - -struct TNodeLinkList { - struct iterator {}; - - /* 802DCBA8 */ void Insert(JGadget::TNodeLinkList::iterator, JGadget::TLinkListNode*); - /* 802DCBF8 */ void Remove(JGadget::TLinkListNode*); -}; - -}; // namespace JGadget - struct J2DOrthoGraph { /* 802E96D0 */ J2DOrthoGraph(f32, f32, f32, f32, f32, f32); /* 802E97B4 */ void setPort(); @@ -379,7 +334,7 @@ asm void JUTConsole::getUsedLine() const { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void JUTConsole::getLineOffset() const { +asm int JUTConsole::getLineOffset() const { nofralloc #include "asm/JSystem/JUtility/JUTConsole/getLineOffset__10JUTConsoleCFv.s" } diff --git a/libs/JSystem/JUtility/JUTDbPrint.cpp b/libs/JSystem/JUtility/JUTDbPrint.cpp index 8aa93b3fad..842f3e558a 100644 --- a/libs/JSystem/JUtility/JUTDbPrint.cpp +++ b/libs/JSystem/JUtility/JUTDbPrint.cpp @@ -11,38 +11,10 @@ // Types: // -struct JUtility { - struct TColor {}; -}; - struct JUTVideo { static u8 sManager[4]; }; -struct JUTFont { - /* 802DED70 */ void setCharColor(JUtility::TColor); - /* 802DEE28 */ void drawString_size_scale(f32, f32, f32, f32, char const*, u32, bool); -}; - -struct JKRHeap { - /* 802CE474 */ void alloc(u32, int, JKRHeap*); - /* 802CE500 */ void free(void*, JKRHeap*); - - static u8 sCurrentHeap[4]; -}; - -struct JUTDbPrint { - /* 802E0148 */ JUTDbPrint(JUTFont*, JKRHeap*); - /* 802E0190 */ void start(JUTFont*, JKRHeap*); - /* 802E0204 */ void changeFont(JUTFont*); - /* 802E021C */ void enter(int, int, int, char const*, int); - /* 802E02DC */ void flush(int, int, int, int); - /* 802E02A4 */ void flush(); - /* 802E0440 */ void drawString(int, int, int, u8 const*); - - static u8 sDebugPrint[4 + 4 /* padding */]; -}; - struct J2DOrthoGraph { /* 802E96D0 */ J2DOrthoGraph(f32, f32, f32, f32, f32, f32); /* 802E97B4 */ void setPort(); @@ -105,7 +77,7 @@ asm JUTDbPrint::JUTDbPrint(JUTFont* param_0, JKRHeap* param_1) { /* ############################################################################################## */ /* 804514C8-804514D0 0009C8 0004+04 3/3 6/6 0/0 .sbss sDebugPrint__10JUTDbPrint */ -u8 JUTDbPrint::sDebugPrint[4 + 4 /* padding */]; +JUTDbPrint* JUTDbPrint::sDebugPrint; /* 802E0190-802E0204 2DAAD0 0074+00 0/0 2/2 0/0 .text start__10JUTDbPrintFP7JUTFontP7JKRHeap */ #pragma push diff --git a/libs/JSystem/JUtility/JUTException.cpp b/libs/JSystem/JUtility/JUTException.cpp index 4cda129a81..e835c9fc8d 100644 --- a/libs/JSystem/JUtility/JUTException.cpp +++ b/libs/JSystem/JUtility/JUTException.cpp @@ -11,15 +11,6 @@ // Types: // -struct JUTGamePad { - struct EPadPort {}; - - /* 802E06DC */ JUTGamePad(JUTGamePad::EPadPort); - /* 802E07B0 */ ~JUTGamePad(); - /* 802E08E4 */ void read(); - /* 802E0C6C */ void checkResetCallback(s64); -}; - struct JUTDirectFile { /* 802E87F8 */ JUTDirectFile(); /* 802E881C */ ~JUTDirectFile(); @@ -45,28 +36,6 @@ struct JUTConsoleManager { static u8 sManager[4]; }; -struct JSUPtrLink { - /* 802DBDFC */ JSUPtrLink(void*); -}; - -struct JSUPtrList { - /* 802DBE74 */ JSUPtrList(bool); - /* 802DBEAC */ ~JSUPtrList(); - /* 802DBF4C */ void append(JSUPtrLink*); -}; - -template -struct JSUList {}; -/* JSUList */ -struct JSUList__template13 { - /* 802E4194 */ void func_802E4194(void* _this); -}; - -struct JKRThread { - /* 802D1568 */ JKRThread(u32, int, int); - /* 802D1758 */ ~JKRThread(); -}; - struct JKRHeap { static u8 sSystemHeap[4]; }; @@ -265,7 +234,7 @@ SECTION_DATA extern void* __vt__12JUTException[4 + 1 /* padding */] = { }; /* 80451508-8045150C 000A08 0004+00 4/4 3/3 0/0 .sbss sErrorManager__12JUTException */ -u8 JUTException::sErrorManager[4]; +JUTException* JUTException::sErrorManager; /* 8045150C-80451510 000A0C 0004+00 4/4 0/0 0/0 .sbss sPreUserCallback__12JUTException */ u8 JUTException::sPreUserCallback[4]; @@ -641,7 +610,7 @@ asm void JUTException::isEnablePad() const { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void JUTException::readPad(u32* param_0, u32* param_1) { +asm bool JUTException::readPad(u32* param_0, u32* param_1) { nofralloc #include "asm/JSystem/JUtility/JUTException/readPad__12JUTExceptionFPUlPUl.s" } diff --git a/libs/JSystem/JUtility/JUTFader.cpp b/libs/JSystem/JUtility/JUTFader.cpp index c195aa431a..3032ddc8c3 100644 --- a/libs/JSystem/JUtility/JUTFader.cpp +++ b/libs/JSystem/JUtility/JUTFader.cpp @@ -4,46 +4,10 @@ // #include "JSystem/JUtility/JUTFader.h" +#include "JSystem/J2DGraph/J2DOrthoGraph.h" #include "dol2asm.h" #include "dolphin/types.h" -// -// Types: -// - -struct JUtility { - struct TColor {}; -}; - -struct JUTFader { - struct EStatus {}; - - /* 802E5530 */ JUTFader(int, int, int, int, JUtility::TColor); - /* 802E55DC */ void control(); - /* 802E56DC */ void draw(); - /* 802E576C */ void startFadeIn(int); - /* 802E579C */ void startFadeOut(int); - /* 802E57D0 */ void setStatus(JUTFader::EStatus, int); - /* 802E5840 */ ~JUTFader(); -}; - -struct JGeometry { - template - struct TBox2 {}; - /* TBox2 */ - struct TBox2__template0 {}; -}; - -struct J2DOrthoGraph { - /* 802E9670 */ J2DOrthoGraph(); -}; - -struct J2DGrafContext { - /* 802E9118 */ void setColor(JUtility::TColor, JUtility::TColor, JUtility::TColor, - JUtility::TColor); - /* 802E9260 */ void fillBox(JGeometry::TBox2 const&); -}; - // // Forward References: // @@ -72,29 +36,50 @@ extern "C" extern void* __vt__13J2DOrthoGraph[10]; // Declarations: // -/* ############################################################################################## */ -/* 803CC990-803CC9A8 029AB0 0018+00 2/2 0/0 0/0 .data __vt__8JUTFader */ -SECTION_DATA extern void* __vt__8JUTFader[6] = { - (void*)NULL /* RTTI */, (void*)NULL, - (void*)__dt__8JUTFaderFv, (void*)startFadeIn__8JUTFaderFi, - (void*)startFadeOut__8JUTFaderFi, (void*)draw__8JUTFaderFv, -}; - -/* 804560D0-804560D8 0046D0 0008+00 1/1 0/0 0/0 .sdata2 @2196 */ -SECTION_SDATA2 static f64 lit_2196 = 4503601774854144.0 /* cast s32 to float */; - /* 802E5530-802E55DC 2DFE70 00AC+00 0/0 1/1 0/0 .text __ct__8JUTFaderFiiiiQ28JUtility6TColor */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm JUTFader::JUTFader(int param_0, int param_1, int param_2, int param_3, - JUtility::TColor param_4) { - nofralloc -#include "asm/JSystem/JUtility/JUTFader/__ct__8JUTFaderFiiiiQ28JUtility6TColor.s" +JUTFader::JUTFader(int x, int y, int width, int height, JUtility::TColor pColor) + : mColor(pColor), mBox(x, y, x + width, y + height) { + mStatus = 0; + field_0x8 = 0; + field_0xa = 0; + field_0x24 = 0; + mEStatus = UNKSTATUS_M1; } -#pragma pop /* 802E55DC-802E56DC 2DFF1C 0100+00 0/0 1/1 0/0 .text control__8JUTFaderFv */ +#ifdef NONMATCHING +void JUTFader::control() { + s32 tmp = mEStatus; + if (mEStatus >= 0) { + mEStatus--; + if (tmp == 0) { + mStatus = field_0x24; + } + } + switch (mStatus) { + case 0: + mColor.a = -1; + case 1: + break; + case 2: + field_0xa++; + mColor.a = (255 - (255 / field_0x8)); + if (field_0xa >= field_0x8) { + mStatus = 1; + } + break; + case 3: + field_0xa++; + mColor.a = (255 / field_0x8); + if (field_0xa >= field_0x8) { + mStatus = 0; + } + default: + draw(); + break; + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -103,8 +88,19 @@ asm void JUTFader::control() { #include "asm/JSystem/JUtility/JUTFader/control__8JUTFaderFv.s" } #pragma pop +#endif /* 802E56DC-802E576C 2E001C 0090+00 1/0 0/0 0/0 .text draw__8JUTFaderFv */ +#ifdef NONMATCHING +void JUTFader::draw() { + if (mColor.a != 0) { + J2DOrthoGraph ortho; + JUtility::TColor tmp = mColor; + ortho.setColor(tmp, tmp, tmp, tmp); + ortho.fillBox(mBox); + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -113,26 +109,29 @@ asm void JUTFader::draw() { #include "asm/JSystem/JUtility/JUTFader/draw__8JUTFaderFv.s" } #pragma pop +#endif /* 802E576C-802E579C 2E00AC 0030+00 1/0 0/0 0/0 .text startFadeIn__8JUTFaderFi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JUTFader::startFadeIn(int param_0) { - nofralloc -#include "asm/JSystem/JUtility/JUTFader/startFadeIn__8JUTFaderFi.s" +bool JUTFader::startFadeIn(int param_0) { + bool statusCheck = mStatus == 0; + if (statusCheck) { + mStatus = 2; + field_0xa = 0; + field_0x8 = param_0; + } + return statusCheck; } -#pragma pop /* 802E579C-802E57D0 2E00DC 0034+00 1/0 0/0 0/0 .text startFadeOut__8JUTFaderFi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JUTFader::startFadeOut(int param_0) { - nofralloc -#include "asm/JSystem/JUtility/JUTFader/startFadeOut__8JUTFaderFi.s" +bool JUTFader::startFadeOut(int param_0) { + bool statusCheck = mStatus == 1; + if (statusCheck) { + mStatus = 3; + field_0xa = 0; + field_0x8 = param_0; + } + return statusCheck; } -#pragma pop /* 802E57D0-802E5840 2E0110 0070+00 0/0 1/1 0/0 .text setStatus__8JUTFaderFQ28JUTFader7EStatusi */ #pragma push @@ -145,11 +144,4 @@ asm void JUTFader::setStatus(JUTFader::EStatus param_0, int param_1) { #pragma pop /* 802E5840-802E5888 2E0180 0048+00 1/0 0/0 0/0 .text __dt__8JUTFaderFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm JUTFader::~JUTFader() { - nofralloc -#include "asm/JSystem/JUtility/JUTFader/__dt__8JUTFaderFv.s" -} -#pragma pop +JUTFader::~JUTFader() {} diff --git a/libs/JSystem/JUtility/JUTGamePad.cpp b/libs/JSystem/JUtility/JUTGamePad.cpp index 5ce1ce7539..f3cfb0302c 100644 --- a/libs/JSystem/JUtility/JUTGamePad.cpp +++ b/libs/JSystem/JUtility/JUTGamePad.cpp @@ -11,10 +11,6 @@ // remove this once __sinit is decompiled #define mPadListHack (*(JSUList*)&mPadList) -// -// Types: -// - // // Forward References: // @@ -122,9 +118,7 @@ SECTION_DATA PADMask JUTGamePad::CRumble::sChannelMask[4] = { }; /* 803CC600-803CC610 029720 0010+00 2/2 0/0 0/0 .data channel_mask */ -SECTION_DATA static u8 channel_mask[16] = { - 0x80, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, -}; +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 */] = { @@ -204,8 +198,8 @@ s32 JUTGamePad::init() { /* 802E08D0-802E08E4 2DB210 0014+00 1/1 0/0 0/0 .text clear__10JUTGamePadFv */ void JUTGamePad::clear() { - this->field_0x98 = 0; - this->field_0xa8 = 1; + mButtonReset.mReset = false; + field_0xa8 = 1; } /* ############################################################################################## */ @@ -255,7 +249,7 @@ void JUTGamePad::assign() { for (s32 i = 4; i > 0; i--) { if ((/* mPadStatus */ lbl_804343F0[iVar3].error == 0) && (/* *puVar2 */ lbl_804514D4[iVar3] == 0)) { - this->pad_port = iVar3; + 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); @@ -298,7 +292,6 @@ OSTime JUTGamePad::C3ButtonReset::sThreshold; /* 80451500-80451504 -00001 0004+00 3/3 6/6 0/0 .sbss None */ /* 80451500 0001+00 data_80451500 None */ /* 80451501 0003+00 data_80451501 None */ -extern bool struct_80451500; bool struct_80451500; bool struct_80451501; @@ -313,10 +306,9 @@ void JUTGamePad::checkResetCallback(OSTime unk) { return; struct_80451501 = true; - JUTGamePad::C3ButtonReset::sResetOccurredPort = this->pad_port; + JUTGamePad::C3ButtonReset::sResetOccurredPort = mPortNum; if (JUTGamePad::C3ButtonReset::sCallback != NULL) { - JUTGamePad::C3ButtonReset::sCallback(this->pad_port, - JUTGamePad::C3ButtonReset::sCallbackArg); + JUTGamePad::C3ButtonReset::sCallback(mPortNum, JUTGamePad::C3ButtonReset::sCallbackArg); } } diff --git a/libs/JSystem/JUtility/JUTTexture.cpp b/libs/JSystem/JUtility/JUTTexture.cpp index 1fb148939d..6379b65f5b 100644 --- a/libs/JSystem/JUtility/JUTTexture.cpp +++ b/libs/JSystem/JUtility/JUTTexture.cpp @@ -30,7 +30,6 @@ extern "C" void __dl__FPv(); extern "C" void __dla__FPv(); extern "C" void storeTLUT__10JUTPaletteF7_GXTlut10_GXTlutFmt15JUTTransparencyUsPv(); extern "C" void load__10JUTPaletteFv(); -extern "C" void GXInitTexObjCI(); extern "C" void _savegpr_29(); extern "C" void _restgpr_29(); diff --git a/libs/JSystem/JUtility/JUTVideo.cpp b/libs/JSystem/JUtility/JUTVideo.cpp index 689fa976bd..e1191a10ff 100644 --- a/libs/JSystem/JUtility/JUTVideo.cpp +++ b/libs/JSystem/JUtility/JUTVideo.cpp @@ -47,16 +47,16 @@ extern "C" u8 sVideoInterval__8JUTVideo[4]; extern "C" void* __nw__FUl(); extern "C" void __dl__FPv(); extern "C" void changeFrameBuffer__14JUTDirectPrintFPvUsUs(); -extern "C" void VISetPreRetraceCallback(); -extern "C" void VISetPostRetraceCallback(); +extern "C" void VISetPreRetraceCallback(VIRetraceCallback); +extern "C" void VISetPostRetraceCallback(VIRetraceCallback); extern "C" void VIInit(); extern "C" void VIWaitForRetrace(); -extern "C" void VIConfigure(); +extern "C" void VIConfigure(_GXRenderModeObj*); extern "C" void VIFlush(); extern "C" void VISetNextFrameBuffer(); extern "C" void VIGetNextFrameBuffer(); -extern "C" void VISetBlack(); -extern "C" void VIGetRetraceCount(); +extern "C" void VISetBlack(s32); +extern "C" u32 VIGetRetraceCount(); extern "C" void GXSetDrawDone(); extern "C" void GXCopyDisp(); extern "C" u8 sDirectPrint__14JUTDirectPrint[4 + 4 /* padding */]; @@ -72,24 +72,20 @@ JUTVideo* JUTVideo::sManager; /* 802E4C54-802E4CAC 2DF594 0058+00 0/0 1/1 0/0 .text * createManager__8JUTVideoFPC16_GXRenderModeObj */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JUTVideo::createManager(_GXRenderModeObj const* param_0) { - nofralloc -#include "asm/JSystem/JUtility/JUTVideo/createManager__8JUTVideoFPC16_GXRenderModeObj.s" +JUTVideo* JUTVideo::createManager(_GXRenderModeObj const* param_0) { + if (sManager == NULL) { + sManager = new JUTVideo(param_0); + } + return sManager; } -#pragma pop /* 802E4CAC-802E4CF4 2DF5EC 0048+00 0/0 2/2 0/0 .text destroyManager__8JUTVideoFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JUTVideo::destroyManager() { - nofralloc -#include "asm/JSystem/JUtility/JUTVideo/destroyManager__8JUTVideoFv.s" +void JUTVideo::destroyManager() { + if (sManager != NULL) { + delete sManager; + sManager = NULL; + } } -#pragma pop /* ############################################################################################## */ /* 803CC980-803CC990 029AA0 000C+04 2/2 0/0 0/0 .data __vt__8JUTVideo */ @@ -102,12 +98,35 @@ SECTION_DATA extern void* __vt__8JUTVideo[3 + 1 /* padding */] = { }; /* 8045153C-80451540 000A3C 0004+00 2/2 1/1 0/0 .sbss sVideoLastTick__8JUTVideo */ -u8 JUTVideo::sVideoLastTick[4]; +u32 JUTVideo::sVideoLastTick; /* 80451540-80451544 000A40 0004+00 2/2 1/1 0/0 .sbss sVideoInterval__8JUTVideo */ -u8 JUTVideo::sVideoInterval[4]; +u32 JUTVideo::sVideoInterval; /* 802E4CF4-802E4DE8 2DF634 00F4+00 1/1 0/0 0/0 .text __ct__8JUTVideoFPC16_GXRenderModeObj */ +#ifdef NONMATCHING +JUTVideo::JUTVideo(_GXRenderModeObj const* param_0) { + mRenderObj = NULL; + VIInit(); + mSetBlack = true; + mSetBlackFrameCount = 2; + setRenderMode(param_0); + VISetBlack(1); + VIFlush(); + field_0x8 = 0; + mRetraceCount = VIGetRetraceCount(); + field_0x10 = 1; + field_0x18 = 0; + sVideoLastTick = OSGetTick(); + sVideoInterval = 670000; + mPreRetraceCallback = VISetPreRetraceCallback(preRetraceProc); + mPostRetraceCallback = VISetPreRetraceCallback(postRetraceProc); + unknown_callback_1 = NULL; + unknown_callback_2 = NULL; + OSInitMessageQueue(mMessageQueue, mMessage, 1); + GXSetDrawDoneCallback(drawDoneCallback); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -116,23 +135,20 @@ asm JUTVideo::JUTVideo(_GXRenderModeObj const* param_0) { #include "asm/JSystem/JUtility/JUTVideo/__ct__8JUTVideoFPC16_GXRenderModeObj.s" } #pragma pop +#endif /* 802E4DE8-802E4E50 2DF728 0068+00 1/0 0/0 0/0 .text __dt__8JUTVideoFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm JUTVideo::~JUTVideo() { - nofralloc -#include "asm/JSystem/JUtility/JUTVideo/__dt__8JUTVideoFv.s" +JUTVideo::~JUTVideo() { + VISetPreRetraceCallback(mPreRetraceCallback); + VISetPostRetraceCallback(mPostRetraceCallback); } -#pragma pop /* ############################################################################################## */ /* 80451544-80451548 000A44 0004+00 4/4 0/0 0/0 .sbss None */ static u8 data_80451544[4]; /* 80451548-8045154C 000A48 0004+00 1/1 0/0 0/0 .sbss frameBuffer$2222 */ -static u8 frameBuffer[4]; +static void* frameBuffer; /* 8045154C-80451550 000A4C 0004+00 1/1 0/0 0/0 .sbss None */ static u8 data_8045154C[4]; @@ -148,24 +164,15 @@ asm void JUTVideo::preRetraceProc(u32 param_0) { #pragma pop /* 802E5088-802E50B0 2DF9C8 0028+00 0/0 1/1 0/0 .text drawDoneStart__8JUTVideoFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JUTVideo::drawDoneStart() { - nofralloc -#include "asm/JSystem/JUtility/JUTVideo/drawDoneStart__8JUTVideoFv.s" +void JUTVideo::drawDoneStart() { + data_80451544[0] = 1; + GXSetDrawDone(); } -#pragma pop /* 802E50B0-802E50BC 2DF9F0 000C+00 0/0 1/1 0/0 .text dummyNoDrawWait__8JUTVideoFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JUTVideo::dummyNoDrawWait() { - nofralloc -#include "asm/JSystem/JUtility/JUTVideo/dummyNoDrawWait__8JUTVideoFv.s" +void JUTVideo::dummyNoDrawWait() { + data_80451544[0] = 0; } -#pragma pop /* 802E50BC-802E5144 2DF9FC 0088+00 1/1 0/0 0/0 .text drawDoneCallback__8JUTVideoFv */ #pragma push @@ -178,6 +185,18 @@ asm void JUTVideo::drawDoneCallback() { #pragma pop /* 802E5144-802E5198 2DFA84 0054+00 1/1 0/0 0/0 .text postRetraceProc__8JUTVideoFUl */ +#ifdef NONMATCHING +void JUTVideo::postRetraceProc(u32 param_0) { + void* message; + if (sManager != NULL) { + if (sManager->unknown_callback_2 != NULL) { + sManager->unknown_callback_2(); + } + message = (void*)VIGetRetraceCount(); + OSSendMessage(&sManager->mMessageQueue, message, OS_MESSAGE_NON_BLOCKING); + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -186,17 +205,24 @@ asm void JUTVideo::postRetraceProc(u32 param_0) { #include "asm/JSystem/JUtility/JUTVideo/postRetraceProc__8JUTVideoFUl.s" } #pragma pop +#endif /* 802E5198-802E5210 2DFAD8 0078+00 1/1 2/2 0/0 .text * setRenderMode__8JUTVideoFPC16_GXRenderModeObj */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JUTVideo::setRenderMode(_GXRenderModeObj const* param_0) { - nofralloc -#include "asm/JSystem/JUtility/JUTVideo/setRenderMode__8JUTVideoFPC16_GXRenderModeObj.s" +void JUTVideo::setRenderMode(_GXRenderModeObj const* pObj) { + if (mRenderObj != NULL && pObj->vi_tv_mode != mRenderObj->vi_tv_mode) { + mSetBlack = true; + mSetBlackFrameCount = 4; + } + mRenderObj = (_GXRenderModeObj*)pObj; + VIConfigure(mRenderObj); + VIFlush(); + + if (mSetBlack) { + VIWaitForRetrace(); + VIWaitForRetrace(); + } } -#pragma pop /* 802E5210-802E5214 2DFB50 0004+00 0/0 1/1 0/0 .text waitRetraceIfNeed__8JUTVideoFv */ void JUTVideo::waitRetraceIfNeed() { diff --git a/libs/JSystem/JUtility/JUTXfb.cpp b/libs/JSystem/JUtility/JUTXfb.cpp index c119b047a3..260136ef5d 100644 --- a/libs/JSystem/JUtility/JUTXfb.cpp +++ b/libs/JSystem/JUtility/JUTXfb.cpp @@ -5,37 +5,9 @@ #include "JSystem/JUtility/JUTXfb.h" #include "dol2asm.h" +#include "dolphin/gx/GX.h" #include "dolphin/types.h" -// -// Types: -// - -struct _GXRenderModeObj {}; - -struct JKRHeap { - static u8 sSystemHeap[4]; -}; - -struct JUTXfb { - struct EXfbNumber {}; - - /* 802E5214 */ void clearIndex(); - /* 802E5228 */ void common_init(int); - /* 802E5260 */ JUTXfb(_GXRenderModeObj const*, JKRHeap*, JUTXfb::EXfbNumber); - /* 802E5308 */ ~JUTXfb(); - /* 802E5378 */ void delXfb(int); - /* 802E53B8 */ void createManager(JKRHeap*, JUTXfb::EXfbNumber); - /* 802E5424 */ void destroyManager(); - /* 802E5454 */ void initiate(u16, u16, JKRHeap*, JUTXfb::EXfbNumber); - - static u8 sManager[4 + 4 /* padding */]; -}; - -struct JUTVideo { - static u8 sManager[4]; -}; - // // Forward References: // @@ -57,8 +29,6 @@ extern "C" u8 sManager__6JUTXfb[4 + 4 /* padding */]; extern "C" void* __nw__FUl(); extern "C" void* __nwa__FUlP7JKRHeapi(); extern "C" void __dl__FPv(); -extern "C" void GXGetNumXfbLines(); -extern "C" void GXGetYScaleFactor(); extern "C" void _savegpr_27(); extern "C" void _savegpr_28(); extern "C" void _savegpr_29(); @@ -72,28 +42,37 @@ extern "C" u8 sManager__8JUTVideo[4]; // Declarations: // -/* 802E5214-802E5228 2DFB54 0014+00 1/1 1/1 0/0 .text clearIndex__6JUTXfbFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JUTXfb::clearIndex() { - nofralloc -#include "asm/JSystem/JUtility/JUTXfb/clearIndex__6JUTXfbFv.s" +void JUTXfb::clearIndex() { + mDrawingXfbIndex = -1; + mDrawnXfbIndex = -1; + mDisplayingXfbIndex = -1; } -#pragma pop -/* 802E5228-802E5260 2DFB68 0038+00 1/1 0/0 0/0 .text common_init__6JUTXfbFi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JUTXfb::common_init(int param_0) { - nofralloc -#include "asm/JSystem/JUtility/JUTXfb/common_init__6JUTXfbFi.s" +void JUTXfb::common_init(int bufNum) { + mBufferNum = bufNum; + clearIndex(); + mSDrawingFlag = 99; } -#pragma pop /* 802E5260-802E5308 2DFBA0 00A8+00 1/1 0/0 0/0 .text * __ct__6JUTXfbFPC16_GXRenderModeObjP7JKRHeapQ26JUTXfb10EXfbNumber */ +#ifdef NONMATCHING +JUTXfb::JUTXfb(_GXRenderModeObj const* pObj, JKRHeap* pHeap, JUTXfb::EXfbNumber xfbNum) { + common_init(xfbNum); + + if (pObj) { + initiate(pObj->fb_width, pObj->xfb_height, pHeap, xfbNum); + } else { + //_GXRenderModeObj* renderObj = JUTVideo::getManager()->getRenderMode(); + u16 fb_width = JUTVideo::getManager()->getRenderMode()->fb_width; + u16 efb_height = JUTVideo::getManager()->getRenderMode()->efb_height; + u16 xfb_height = JUTVideo::getManager()->getRenderMode()->xfb_height; + f32 scale_factor = GXGetYScaleFactor(efb_height, xfb_height); + + initiate(fb_width, GXGetNumXfbLines(efb_height, scale_factor), pHeap, xfbNum); + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -102,59 +81,61 @@ asm JUTXfb::JUTXfb(_GXRenderModeObj const* param_0, JKRHeap* param_1, JUTXfb::EX #include "asm/JSystem/JUtility/JUTXfb/__ct__6JUTXfbFPC16_GXRenderModeObjP7JKRHeapQ26JUTXfb10EXfbNumber.s" } #pragma pop +#endif -/* ############################################################################################## */ -/* 80451550-80451558 000A50 0004+04 3/3 13/13 0/0 .sbss sManager__6JUTXfb */ -u8 JUTXfb::sManager[4 + 4 /* padding */]; +JUTXfb* JUTXfb::sManager; -/* 802E5308-802E5378 2DFC48 0070+00 1/1 0/0 0/0 .text __dt__6JUTXfbFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm JUTXfb::~JUTXfb() { - nofralloc -#include "asm/JSystem/JUtility/JUTXfb/__dt__6JUTXfbFv.s" +JUTXfb::~JUTXfb() { + for (int i = 0; i < 3; i++) { + delXfb(i); + } + sManager = NULL; } -#pragma pop -/* 802E5378-802E53B8 2DFCB8 0040+00 1/1 0/0 0/0 .text delXfb__6JUTXfbFi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JUTXfb::delXfb(int param_0) { - nofralloc -#include "asm/JSystem/JUtility/JUTXfb/delXfb__6JUTXfbFi.s" +void JUTXfb::delXfb(int xfbIdx) { + if (mXfbAllocated[xfbIdx] && mBuffer[xfbIdx]) { + delete mBuffer[xfbIdx]; + } } -#pragma pop -/* 802E53B8-802E5424 2DFCF8 006C+00 0/0 1/1 0/0 .text - * createManager__6JUTXfbFP7JKRHeapQ26JUTXfb10EXfbNumber */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JUTXfb::createManager(JKRHeap* param_0, JUTXfb::EXfbNumber param_1) { - nofralloc -#include "asm/JSystem/JUtility/JUTXfb/createManager__6JUTXfbFP7JKRHeapQ26JUTXfb10EXfbNumber.s" +JUTXfb* JUTXfb::createManager(JKRHeap* pHeap, JUTXfb::EXfbNumber xfbNum) { + if (sManager == NULL) { + sManager = new JUTXfb(NULL, pHeap, xfbNum); + } + return sManager; } -#pragma pop -/* 802E5424-802E5454 2DFD64 0030+00 0/0 1/1 0/0 .text destroyManager__6JUTXfbFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JUTXfb::destroyManager() { - nofralloc -#include "asm/JSystem/JUtility/JUTXfb/destroyManager__6JUTXfbFv.s" +void JUTXfb::destroyManager() { + delete sManager; + sManager = NULL; } -#pragma pop -/* 802E5454-802E5530 2DFD94 00DC+00 1/1 0/0 0/0 .text - * initiate__6JUTXfbFUsUsP7JKRHeapQ26JUTXfb10EXfbNumber */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JUTXfb::initiate(u16 param_0, u16 param_1, JKRHeap* param_2, JUTXfb::EXfbNumber param_3) { - nofralloc -#include "asm/JSystem/JUtility/JUTXfb/initiate__6JUTXfbFUsUsP7JKRHeapQ26JUTXfb10EXfbNumber.s" +void JUTXfb::initiate(u16 width, u16 height, JKRHeap* pHeap, JUTXfb::EXfbNumber xfbNum) { + if (pHeap == NULL) { + pHeap = JKRHeap::getSystemHeap(); + } + + int size = ((u32)width + 0xf & 0xfff0) * (u32)height * 2; + + void* buf = ::operator new[](size, pHeap, 0x20); + mBuffer[0] = buf; + mXfbAllocated[0] = true; + + if (xfbNum >= 2) { + buf = ::operator new[](size, pHeap, 0x20); + mBuffer[1] = buf; + mXfbAllocated[1] = true; + } else { + mBuffer[1] = NULL; + mXfbAllocated[1] = false; + } + + if (xfbNum >= 3) { + buf = ::operator new[](size, pHeap, 0x20); + mBuffer[2] = buf; + mXfbAllocated[2] = true; + } else { + mBuffer[2] = NULL; + mXfbAllocated[2] = false; + } } -#pragma pop diff --git a/libs/MSL_C.PPCEABI.bare.H/MSL_Common/Src/ansi_files.cpp b/libs/MSL_C.PPCEABI.bare.H/MSL_Common/Src/ansi_files.cpp index d97074ea8a..305d7d11bc 100644 --- a/libs/MSL_C.PPCEABI.bare.H/MSL_Common/Src/ansi_files.cpp +++ b/libs/MSL_C.PPCEABI.bare.H/MSL_Common/Src/ansi_files.cpp @@ -42,88 +42,75 @@ extern "C" u8 stdout_buff[256]; extern "C" u8 stdin_buff[256]; /* 803D29B0-803D2AF0 -00001 0140+00 3/2 15/15 0/0 .data __files */ -SECTION_DATA extern void* __files[80] = { - (void*)NULL, - (void*)0x0A800000, - (void*)NULL, - (void*)NULL, - (void*)NULL, - (void*)NULL, - (void*)NULL, - (void*)&stdin_buff, - (void*)0x00000100, - (void*)&stdin_buff, - (void*)NULL, - (void*)NULL, - (void*)NULL, - (void*)NULL, - (void*)NULL, - (void*)__read_console, - (void*)__write_console, - (void*)__close_console, - (void*)NULL, - (void*)(((char*)&__files) + 0x50), - (void*)0x00000001, - (void*)0x12800000, - (void*)NULL, - (void*)NULL, - (void*)NULL, - (void*)NULL, - (void*)NULL, - (void*)&stdout_buff, - (void*)0x00000100, - (void*)&stdout_buff, - (void*)NULL, - (void*)NULL, - (void*)NULL, - (void*)NULL, - (void*)NULL, - (void*)__read_console, - (void*)__write_console, - (void*)__close_console, - (void*)NULL, - (void*)(((char*)&__files) + 0xA0), - (void*)0x00000002, - (void*)0x10800000, - (void*)NULL, - (void*)NULL, - (void*)NULL, - (void*)NULL, - (void*)NULL, - (void*)&stderr_buff, - (void*)0x00000100, - (void*)&stderr_buff, - (void*)NULL, - (void*)NULL, - (void*)NULL, - (void*)NULL, - (void*)NULL, - (void*)__read_console, - (void*)__write_console, - (void*)__close_console, - (void*)NULL, - (void*)(((char*)&__files) + 0xF0), - (void*)NULL, - (void*)NULL, - (void*)NULL, - (void*)NULL, - (void*)NULL, - (void*)NULL, - (void*)NULL, - (void*)NULL, - (void*)NULL, - (void*)NULL, - (void*)NULL, - (void*)NULL, - (void*)NULL, - (void*)NULL, - (void*)NULL, - (void*)NULL, - (void*)NULL, - (void*)NULL, - (void*)NULL, - (void*)NULL, -}; +SECTION_DATA extern files __files = {{0, + 0x0A800000, + 0, + 0, + 0, + 0, + {0, 0}, + {0, 0}, + 0, + stdin_buff, + 0x00000100, + stdin_buff, + 0, + 0, + 0, + 0, + NULL, + __read_console, + __write_console, + __close_console, + NULL, + &__files.stdout}, + {1, + 0x12800000, + 0, + 0, + 0, + 0, + {0, 0}, + {0, 0}, + 0, + stdout_buff, + 0x00000100, + stdout_buff, + 0, + 0, + 0, + 0, + NULL, + __read_console, + __write_console, + __close_console, + NULL, + &__files.stderr}, + {2, + 0x10800000, + 0, + 0, + 0, + 0, + {0, 0}, + {0, 0}, + 0, + stderr_buff, + 0x00000100, + stderr_buff, + 0, + 0, + 0, + 0, + NULL, + __read_console, + __write_console, + __close_console, + NULL, + &__files.empty}, + {0, 0x00000000, 0, 0, 0, 0, {0, 0}, {0, 0}, + 0, NULL, 0x00000000, NULL, 0, 0, 0, 0, + NULL, NULL, NULL, NULL, NULL, NULL}}; /* 8044D578-8044D678 07A298 0100+00 1/0 0/0 0/0 .bss stderr_buff */ static u8 stderr_buff[256]; diff --git a/libs/MSL_C.PPCEABI.bare.H/MSL_Common/Src/char_io.cpp b/libs/MSL_C.PPCEABI.bare.H/MSL_Common/Src/char_io.cpp index 32bf346296..9cdd5b0a74 100644 --- a/libs/MSL_C.PPCEABI.bare.H/MSL_Common/Src/char_io.cpp +++ b/libs/MSL_C.PPCEABI.bare.H/MSL_Common/Src/char_io.cpp @@ -11,7 +11,6 @@ // Forward References: // -extern "C" void fputs(); extern "C" void __put_char(); // @@ -34,7 +33,7 @@ extern "C" void fwide(); #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void fputs() { +asm int fputs(const char*, FILE*) { nofralloc #include "asm/MSL_C.PPCEABI.bare.H/MSL_Common/Src/char_io/fputs.s" } diff --git a/src/d/a/d_a_alink.cpp b/src/d/a/d_a_alink.cpp index 3d0cc22845..9009f63968 100644 --- a/src/d/a/d_a_alink.cpp +++ b/src/d/a/d_a_alink.cpp @@ -603,12 +603,6 @@ struct dInsect_c { /* 80110648 */ void Insect_Release(); }; -struct dDlst_shadowControl_c { - /* 80055F1C */ void addReal(u32, J3DModel*); - - static u8 mSimpleTexObj[32]; -}; - struct dDemo_object_c { /* 80039088 */ void getActor(u8); }; @@ -5191,7 +5185,7 @@ COMPILER_STRIP_GATE(0x8038D658, &lit_3757); /* 8038D664-8038D6BC 019CC4 0058+00 41/50 0/0 0/0 .rodata m__19daAlinkHIO_basic_c0 */ daAlinkHIO_basic_c1 const daAlinkHIO_basic_c0::m = { - 0, 20000, -10000, 8000, 1, 30, 400, 600, 16384, 1.0f, 4.0f, 0.7f, 3.0f, + false, 20000, -10000, 8000, 1, 30, 400, 600, 16384, 1.0f, 4.0f, 0.7f, 3.0f, 60.0f, 85.0f, 300.0f, 200.0f, 20.0f, 30.0f, 23.0f, 41.0f, 0.7f, 0.5f, 0.7f, 400.0f, 5000.0f}; /* 8038D6BC-8038D714 019D1C 0058+00 34/47 0/0 0/0 .rodata m__18daAlinkHIO_move_c0 */ @@ -16279,17 +16273,17 @@ asm void daAlink_c::setJumpMode() { /* 800B4908-800B4918 0AF248 0010+00 0/0 0/0 1/1 .text getMetamorphoseNearDis__9daAlink_cCFv */ float daAlink_c::getMetamorphoseNearDis() const { - return daAlinkHIO_basic_c0::m.mMetamorphoseNearDis; + return daAlinkHIO_basic_c0::m.mTransformBlockNearDis; } /* 800B4918-800B4928 0AF258 0010+00 0/0 0/0 1/1 .text getMetamorphoseFarDis__9daAlink_cCFv */ float daAlink_c::getMetamorphoseFarDis() const { - return daAlinkHIO_basic_c0::m.mMetamorphoseFarDis; + return daAlinkHIO_basic_c0::m.mTransformBlockFarDis; } /* 800B4928-800B4938 0AF268 0010+00 0/0 0/0 1/1 .text getMetamorphoseFarAngle__9daAlink_cCFv */ s16 daAlink_c::getMetamorphoseFarAngle() const { - return daAlinkHIO_basic_c0::m.mMetamorphoseFarAngle; + return daAlinkHIO_basic_c0::m.mTransformBlockFarAngle; } /* 800B4938-800B4950 0AF278 0018+00 0/0 1/1 0/0 .text setMidnaMsg__9daAlink_cFv */ diff --git a/src/d/a/d_a_player.cpp b/src/d/a/d_a_player.cpp index be3a7989db..826b55ab03 100644 --- a/src/d/a/d_a_player.cpp +++ b/src/d/a/d_a_player.cpp @@ -4,9 +4,11 @@ // #include "d/a/d_a_player.h" +#include "d/com/d_com_inf_game.h" #include "dol2asm.h" #include "dolphin/mtx/mtx.h" #include "dolphin/types.h" +#include "f_op/f_op_actor_iter.h" #include "f_op/f_op_actor_mng.h" // @@ -19,21 +21,6 @@ struct mDoMtx_stack_c { static u8 now[48]; }; -struct daAlink_c { - /* 800A0744 */ void setLookPosFromOut(cXyz*); - /* 800BDF60 */ void startRestartRoom(u32, int, int, int); - /* 800D72BC */ void setDamagePoint(int, int, int, int); - /* 800E01CC */ void cancelBoomerangLock(fopAc_ac_c*); - /* 800E0244 */ void checkBoomerangChargeEnd(); - /* 800E02B8 */ void checkBoomerangCarry(fopAc_ac_c*); - /* 800E7AEC */ void setFmChainPosFromOut(fopAc_ac_c*, cXyz*, int); -}; - -struct dRes_control_c { - /* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int); - /* 8003C400 */ void getIDRes(char const*, u16, dRes_info_c*, int); -}; - struct JMath { static u8 sincosTable_[65536]; }; @@ -161,9 +148,7 @@ extern "C" extern void* __vt__18mDoExt_transAnmBas[5]; extern "C" extern void* __vt__18J3DAnmTransformKey[5]; extern "C" u8 now__14mDoMtx_stack_c[48]; extern "C" u8 mDemoArcName__20dStage_roomControl_c[10 + 2 /* padding */]; -extern "C" extern u8 g_dComIfG_gameInfo[122384]; extern "C" u8 sincosTable___5JMath[65536]; -extern "C" extern u32 __float_nan; extern "C" u8 sOldVcdVatCmd__8J3DShape[4]; // @@ -373,52 +358,48 @@ asm void daPy_py_c::checkDrinkBottleItem(int param_0) { #pragma pop /* 8015EB40-8015EB68 159480 0028+00 0/0 4/4 0/0 .text checkOilBottleItem__9daPy_py_cFi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm BOOL daPy_py_c::checkOilBottleItem(int param_0) { - nofralloc -#include "asm/d/a/d_a_player/checkOilBottleItem__9daPy_py_cFi.s" +BOOL daPy_py_c::checkOilBottleItem(int i_itemNo) { + bool isOilBottleItem = false; + if (i_itemNo == CHUCHU_YELLOW || i_itemNo == OIL_BOTTLE_2 || i_itemNo == OIL_BOTTLE) { + isOilBottleItem = true; + } + return isOilBottleItem; } -#pragma pop /* 8015EB68-8015EB90 1594A8 0028+00 0/0 2/2 0/0 .text checkOpenBottleItem__9daPy_py_cFi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daPy_py_c::checkOpenBottleItem(int param_0) { - nofralloc -#include "asm/d/a/d_a_player/checkOpenBottleItem__9daPy_py_cFi.s" +BOOL daPy_py_c::checkOpenBottleItem(int i_itemNo) { + bool isOpenBottleItem = false; + if (i_itemNo == WATER_BOTTLE || i_itemNo == WORM || i_itemNo == FAIRY) { + isOpenBottleItem = true; + } + return isOpenBottleItem; } -#pragma pop /* 8015EB90-8015EBB8 1594D0 0028+00 0/0 11/11 0/0 .text checkBowItem__9daPy_py_cFi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daPy_py_c::checkBowItem(int param_0) { - nofralloc -#include "asm/d/a/d_a_player/checkBowItem__9daPy_py_cFi.s" +BOOL daPy_py_c::checkBowItem(int i_itemNo) { + bool isBowItem = false; + if (i_itemNo == BOW || i_itemNo == BOMB_ARROW || i_itemNo == HAWK_ARROW) { + isBowItem = true; + } + return isBowItem; } -#pragma pop /* 8015EBB8-8015EBD8 1594F8 0020+00 0/0 23/23 0/0 .text checkHookshotItem__9daPy_py_cFi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daPy_py_c::checkHookshotItem(int param_0) { - nofralloc -#include "asm/d/a/d_a_player/checkHookshotItem__9daPy_py_cFi.s" +BOOL daPy_py_c::checkHookshotItem(int i_itemNo) { + bool isHookshotItem = false; + if (i_itemNo == HOOKSHOT || i_itemNo == W_HOOKSHOT) { + isHookshotItem = true; + } + return isHookshotItem; } -#pragma pop /* 8015EBD8-8015EC28 159518 0050+00 0/0 3/3 0/0 .text checkTradeItem__9daPy_py_cFi */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daPy_py_c::checkTradeItem(int param_0) { +asm BOOL daPy_py_c::checkTradeItem(int param_0) { nofralloc #include "asm/d/a/d_a_player/checkTradeItem__9daPy_py_cFi.s" } @@ -426,35 +407,26 @@ asm void daPy_py_c::checkTradeItem(int param_0) { /* 8015EC28-8015EC48 159568 0020+00 0/0 2/2 0/0 .text checkDungeonWarpItem__9daPy_py_cFi */ -// regalloc -#ifdef NONMATCHING -BOOL daPy_py_c::checkDungeonWarpItem(int i_item_id) { +BOOL daPy_py_c::checkDungeonWarpItem(int i_itemNo) { bool isDungeonWarpItem = false; - if (i_item_id == DUNGEON_EXIT || i_item_id == DUNGEON_BACK) { + if (i_itemNo == DUNGEON_EXIT || i_itemNo == DUNGEON_BACK) { isDungeonWarpItem = true; } return isDungeonWarpItem; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm BOOL daPy_py_c::checkDungeonWarpItem(int param_0) { - nofralloc -#include "asm/d/a/d_a_player/checkDungeonWarpItem__9daPy_py_cFi.s" -} -#pragma pop -#endif /* 8015EC48-8015ECB8 159588 0070+00 0/0 10/10 3/3 .text setActor__16daPy_actorKeep_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daPy_actorKeep_c::setActor() { - nofralloc -#include "asm/d/a/d_a_player/setActor__16daPy_actorKeep_cFv.s" +void daPy_actorKeep_c::setActor() { + if (mID != -1) { + mActor = fopAcM_SearchByID(mID); + + if (mActor == NULL) { + mID = -1; + } + } else { + mActor = NULL; + } } -#pragma pop /* 8015ECB8-8015ECFC 1595F8 0044+00 0/0 59/59 4/4 .text setData__16daPy_actorKeep_cFP10fopAc_ac_c */ @@ -477,15 +449,11 @@ daPy_anmHeap_c::daPy_anmHeap_c(u32 pBufferSize) { mBufferSize = pBufferSize; } -/* 8015ED50-8015EDAC 159690 005C+00 0/0 2/2 2/2 .text __dt__14daPy_anmHeap_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm daPy_anmHeap_c::~daPy_anmHeap_c() { - nofralloc -#include "asm/d/a/d_a_player/__dt__14daPy_anmHeap_cFv.s" +daPy_anmHeap_c::~daPy_anmHeap_c() { + if (mAnimeHeap != NULL) { + mDoExt_destroySolidHeap(mAnimeHeap); + } } -#pragma pop void daPy_anmHeap_c::initData() { resetIdx(); @@ -494,14 +462,22 @@ void daPy_anmHeap_c::initData() { } /* 8015EDC4-8015EE00 159704 003C+00 0/0 1/1 1/1 .text mallocBuffer__14daPy_anmHeap_cFv */ +#ifdef NONMATCHING +void* daPy_anmHeap_c::mallocBuffer() { + void* buf = new (0x20) void*[mBufferSize]; + mBuffer = buf; + return mBuffer; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daPy_anmHeap_c::mallocBuffer() { +asm void* daPy_anmHeap_c::mallocBuffer() { nofralloc #include "asm/d/a/d_a_player/mallocBuffer__14daPy_anmHeap_cFv.s" } #pragma pop +#endif /* 8015EE00-8015EF84 159740 0184+00 0/0 1/1 1/1 .text * createHeap__14daPy_anmHeap_cFQ214daPy_anmHeap_c16daAlinkHEAP_TYPE */ @@ -516,126 +492,43 @@ asm void daPy_anmHeap_c::createHeap(daPy_anmHeap_c::daAlinkHEAP_TYPE param_0) { /* ############################################################################################## */ /* 80453648-80453650 001C48 0008+00 1/0 0/0 0/0 .sdata2 sumouArcName$4614 */ -extern "C" u8 sumouArcName[8]; +extern "C" char sumouArcName[8]; /* 80453650-80453658 001C50 0005+03 1/0 0/0 0/0 .sdata2 ocArcName$4615 */ -extern "C" u8 ocArcName[5 + 3 /* padding */]; +extern "C" char ocArcName[8]; /* 80453658-80453660 001C58 0005+03 1/0 0/0 0/0 .sdata2 drArcName$4618 */ -extern "C" u8 drArcName[5 + 3 /* padding */]; +extern "C" char drArcName[8]; /* 80453660-80453668 001C60 0008+00 1/0 0/0 0/0 .sdata2 msDemoArcName$4619 */ -extern "C" u8 msDemoArcName[8]; +extern "C" char msDemoArcName[8]; /* 80453668-80453670 001C68 0006+02 1/0 0/0 0/0 .sdata2 lastGanonArcName$4620 */ -extern "C" u8 lastGanonArcName[6 + 2 /* padding */]; +extern "C" char lastGanonArcName[8]; /* 80453670-80453678 001C70 0006+02 1/0 0/0 0/0 .sdata2 pigGanonArcName$4621 */ -extern "C" u8 pigGanonArcName[6 + 2 /* padding */]; +extern "C" char pigGanonArcName[8]; -/* 80393DA8-80393DB4 020408 000A+02 1/0 0/0 0/0 .rodata twglArcName$4616 */ -SECTION_RODATA static u8 const twglArcName[10 + 2 /* padding */] = { - 0x54, - 0x57, - 0x47, - 0x61, - 0x74, - 0x65, - 0x5F, - 0x4C, - 0x6B, - 0x00, - /* padding */ - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x80393DA8, &twglArcName); +SECTION_RODATA static char const twglArcName[12] = "TWGate_Lk"; -/* 80393DB4-80393DC0 020414 000A+02 1/0 0/0 0/0 .rodata twgwArcName$4617 */ -SECTION_RODATA static u8 const twgwArcName[10 + 2 /* padding */] = { - 0x54, - 0x57, - 0x47, - 0x61, - 0x74, - 0x65, - 0x5F, - 0x57, - 0x66, - 0x00, - /* padding */ - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x80393DB4, &twgwArcName); +SECTION_RODATA static char const twgwArcName[12] = "TWGate_Wf"; -/* 803BA0A0-803BA0C0 -00001 0020+00 1/1 0/0 0/0 .data arcName$4622 */ -SECTION_DATA static void* arcName[8] = { - (void*)&sumouArcName, (void*)&ocArcName, (void*)&twglArcName, (void*)&twgwArcName, - (void*)&drArcName, (void*)&msDemoArcName, (void*)&lastGanonArcName, (void*)&pigGanonArcName, +SECTION_DATA static char* arcName[8] = { + (char*)&sumouArcName, (char*)&ocArcName, (char*)&twglArcName, (char*)&twgwArcName, + (char*)&drArcName, (char*)&msDemoArcName, (char*)&lastGanonArcName, (char*)&pigGanonArcName, }; -/* 80453648-80453650 001C48 0008+00 1/0 0/0 0/0 .sdata2 sumouArcName$4614 */ -SECTION_SDATA2 static u8 sumouArcName[8] = { - 0x61, 0x6C, 0x53, 0x75, 0x6D, 0x6F, 0x75, 0x00, -}; +SECTION_SDATA2 static char sumouArcName[8] = "alSumou"; -/* 80453650-80453658 001C50 0005+03 1/0 0/0 0/0 .sdata2 ocArcName$4615 */ -SECTION_SDATA2 static u8 ocArcName[5 + 3 /* padding */] = { - 0x42, - 0x5F, - 0x6F, - 0x68, - 0x00, - /* padding */ - 0x00, - 0x00, - 0x00, -}; +SECTION_SDATA2 static char ocArcName[8] = "B_oh"; -/* 80453658-80453660 001C58 0005+03 1/0 0/0 0/0 .sdata2 drArcName$4618 */ -SECTION_SDATA2 static u8 drArcName[5 + 3 /* padding */] = { - 0x42, - 0x5F, - 0x44, - 0x52, - 0x00, - /* padding */ - 0x00, - 0x00, - 0x00, -}; +SECTION_SDATA2 static char drArcName[8] = "B_DR"; -/* 80453660-80453668 001C60 0008+00 1/0 0/0 0/0 .sdata2 msDemoArcName$4619 */ -SECTION_SDATA2 static u8 msDemoArcName[8] = { - 0x4C, 0x76, 0x36, 0x47, 0x61, 0x74, 0x65, 0x00, -}; +SECTION_SDATA2 static char msDemoArcName[8] = "Lv6Gate"; -/* 80453668-80453670 001C68 0006+02 1/0 0/0 0/0 .sdata2 lastGanonArcName$4620 */ -SECTION_SDATA2 static u8 lastGanonArcName[6 + 2 /* padding */] = { - 0x42, - 0x5F, - 0x67, - 0x6E, - 0x64, - 0x00, - /* padding */ - 0x00, - 0x00, -}; +SECTION_SDATA2 static char lastGanonArcName[8] = "B_gnd"; -/* 80453670-80453678 001C70 0006+02 1/0 0/0 0/0 .sdata2 pigGanonArcName$4621 */ -SECTION_SDATA2 static u8 pigGanonArcName[6 + 2 /* padding */] = { - 0x42, - 0x5F, - 0x6D, - 0x67, - 0x6E, - 0x00, - /* padding */ - 0x00, - 0x00, -}; +SECTION_SDATA2 static char pigGanonArcName[8] = "B_mgn"; /* 8015EF84-8015F068 1598C4 00E4+00 3/3 0/0 0/0 .text loadData__14daPy_anmHeap_cFUs */ #pragma push @@ -694,14 +587,10 @@ J3DAnmBase* daPy_anmHeap_c::loadDataDemoRID(u16 pID, u16 pArcNo) { } /* 8015F168-8015F1A0 159AA8 0038+00 1/1 4/4 0/0 .text setAnimeHeap__14daPy_anmHeap_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daPy_anmHeap_c::setAnimeHeap() { - nofralloc -#include "asm/d/a/d_a_player/setAnimeHeap__14daPy_anmHeap_cFv.s" +void daPy_anmHeap_c::setAnimeHeap() { + mAnimeHeap->freeAll(); + mDoExt_setCurrentHeap(mAnimeHeap); } -#pragma pop /* ############################################################################################## */ /* 803BA0C0-803BA14C 0171E0 0089+03 1/1 0/0 0/0 .data l_sightDL */ @@ -891,14 +780,15 @@ asm void daPy_sightPacket_c::setSightImage(ResTIMG* param_0) { #pragma pop /* 8015F398-8015F3C4 159CD8 002C+00 0/0 8/8 10/10 .text checkMasterSwordEquip__9daPy_py_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daPy_py_c::checkMasterSwordEquip() { - nofralloc -#include "asm/d/a/d_a_player/checkMasterSwordEquip__9daPy_py_cFv.s" +BOOL daPy_py_c::checkMasterSwordEquip() { + u32 equipSword = dComIfGs_getSelectEquipSword(); + bool isMasterSword = false; + + if (equipSword == MASTER_SWORD || equipSword == LIGHT_SWORD) { + isMasterSword = true; + } + return isMasterSword; } -#pragma pop /* 8015F3C4-8015F3FC 159D04 0038+00 0/0 4/4 0/0 .text checkWoodShieldEquip__9daPy_py_cFv */ @@ -911,38 +801,24 @@ asm void daPy_py_c::checkWoodShieldEquip() { } #pragma pop -/* ############################################################################################## */ -/* 80453684-80453688 001C84 0004+00 1/1 0/0 0/0 .sdata2 @4741 */ -SECTION_SDATA2 static f32 lit_4741 = -12.5f; - -/* 80453688-80453690 001C88 0004+04 1/1 0/0 0/0 .sdata2 @4742 */ -SECTION_SDATA2 static f32 lit_4742[1 + 1 /* padding */] = { - 57.5f, - /* padding */ - 0.0f, -}; +BOOL daPy_py_c::checkNowWolf() { + return dComIfGp_getLinkPlayer()->i_checkWolf(); +} /* 8015F3FC-8015F424 159D3C 0028+00 0/0 4/4 3/3 .text getAttentionOffsetY__9daPy_py_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daPy_py_c::getAttentionOffsetY() { - nofralloc -#include "asm/d/a/d_a_player/getAttentionOffsetY__9daPy_py_cFv.s" +f32 daPy_py_c::getAttentionOffsetY() { + if (checkNowWolf()) { + return -12.5f; + } + return 57.5f; } -#pragma pop /* 8015F424-8015F438 159D64 0014+00 0/0 17/17 33/33 .text checkNowWolfEyeUp__9daPy_py_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daPy_py_c::checkNowWolfEyeUp() { - nofralloc -#include "asm/d/a/d_a_player/checkNowWolfEyeUp__9daPy_py_cFv.s" +s16 daPy_py_c::checkNowWolfEyeUp() { + return daAlink_getAlinkActorClass()->checkWolfEyeUp(); } -#pragma pop /* 8015F438-8015F478 159D78 0040+00 0/0 0/0 1/1 .text forceRestartRoom__9daPy_py_cFiUli */ @@ -957,6 +833,11 @@ asm void daPy_py_c::forceRestartRoom(int param_0, u32 param_1, int param_2) { /* 8015F478-8015F4B8 159DB8 0040+00 0/0 0/0 3/3 .text * setFmChainPos__9daPy_py_cFP10fopAc_ac_cP4cXyzi */ +#ifdef NONMATCHING +void daPy_py_c::setFmChainPos(fopAc_ac_c* param_0, cXyz* param_1, int param_2) { + daAlink_getAlinkActorClass()->setFmChainPosFromOut(param_0, param_1, param_2); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -965,6 +846,7 @@ asm void daPy_py_c::setFmChainPos(fopAc_ac_c* param_0, cXyz* param_1, int param_ #include "asm/d/a/d_a_player/setFmChainPos__9daPy_py_cFP10fopAc_ac_cP4cXyzi.s" } #pragma pop +#endif /* 8015F4B8-8015F4F0 159DF8 0038+00 0/0 0/0 1/1 .text cancelFmChainGrab__9daPy_py_cFv */ #pragma push diff --git a/src/d/com/d_com_inf_game.cpp b/src/d/com/d_com_inf_game.cpp index af0e448c2a..612735aeda 100644 --- a/src/d/com/d_com_inf_game.cpp +++ b/src/d/com/d_com_inf_game.cpp @@ -17,12 +17,6 @@ struct scene_class {}; -struct phaseParam_c {}; - -struct mDoRst { - static u8 mResetData[4 + 4 /* padding */]; -}; - struct mDoGph_gInf_c { static u8 mFader[4]; }; @@ -43,11 +37,6 @@ struct dMapInfo_n { /* 8003EE5C */ void getMapPlayerPos(); }; -struct dDlst_shadowControl_c { - /* 80055C74 */ void setReal(u32, s8, J3DModel*, cXyz*, f32, f32, dKy_tevstr_c*); - /* 80055F84 */ void setSimple(cXyz*, f32, f32, cXyz*, s16, f32, _GXTexObj*); -}; - struct dComIfG_resLoader_c { /* 8002F314 */ dComIfG_resLoader_c(); /* 8002F328 */ ~dComIfG_resLoader_c(); @@ -1417,15 +1406,14 @@ static int phase_1(char* arc_name) { /* 8002CE38-8002CEB4 027778 007C+00 1/0 0/0 0/0 .text phase_2__FPc */ static int phase_2(char* arc_name) { - int tmp = dComIfG_syncObjectRes(arc_name); + int syncStatus = dComIfG_syncObjectRes(arc_name); - if (tmp < 0) { + if (syncStatus < 0) { OSReport_Error("%s.arc Sync Read Error !!\n", arc_name); - tmp = 5; + return 5; } else { - tmp = tmp > 0 ? 0 : 2; + return syncStatus > 0 ? 0 : 2; } - return tmp; } /* 8002CEB4-8002CEBC 0277F4 0008+00 1/0 0/0 0/0 .text phase_3__FPc */ @@ -1434,6 +1422,7 @@ static int phase_3(char* param_0) { } typedef int (*dComIfG_phaseMethod)(char*); +typedef int (*dComIfG_phaseMethod0)(phaseParam_c*); /* ############################################################################################## */ /* 803A71B8-803A71C4 -00001 000C+00 1/1 0/0 0/0 .data l_method$5017 */ @@ -1445,6 +1434,16 @@ SECTION_DATA static dComIfG_phaseMethod l_method_5017[3] = { /* 8002CEBC-8002CEFC 0277FC 0040+00 0/0 7/7 550/550 .text * dComIfG_resLoad__FP30request_of_phase_process_classPCc */ +#ifdef NONMATCHING +int dComIfG_resLoad(request_of_phase_process_class* param_0, char const* param_1) { + if (param_0->mPhaseStep == 2) { + return 4; + } else { + dComLbG_PhaseHandler(param_0, &l_method_5017[0], (void*)param_1); + } + return 0; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -1453,38 +1452,38 @@ asm void dComIfG_resLoad(request_of_phase_process_class* param_0, char const* pa #include "asm/d/com/d_com_inf_game/dComIfG_resLoad__FP30request_of_phase_process_classPCc.s" } #pragma pop +#endif /* 8002CEFC-8002CF5C 02783C 0060+00 1/0 0/0 0/0 .text phase_01__FP12phaseParam_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void phase_01(phaseParam_c* param_0) { - nofralloc -#include "asm/d/com/d_com_inf_game/phase_01__FP12phaseParam_c.s" +static int phase_01(phaseParam_c* param_0) { + if (dComIfG_setObjectRes(param_0->field_0x0, 0, param_0->heap) == 0) { + return 5; + } else { + return 2; + } } -#pragma pop /* 8002CF5C-8002CFB8 02789C 005C+00 1/0 0/0 0/0 .text phase_02__FP12phaseParam_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void phase_02(phaseParam_c* param_0) { - nofralloc -#include "asm/d/com/d_com_inf_game/phase_02__FP12phaseParam_c.s" +static int phase_02(phaseParam_c* param_0) { + int syncStatus = dComIfG_syncObjectRes(param_0->field_0x0); + if (syncStatus < 0) { + return 5; + } else { + return syncStatus > 0 ? 0 : 2; + } } -#pragma pop /* 8002CFB8-8002CFC0 0278F8 0008+00 1/0 0/0 0/0 .text phase_03__FP12phaseParam_c */ -static bool phase_03(phaseParam_c* param_0) { +static int phase_03(phaseParam_c* param_0) { return false; } /* ############################################################################################## */ /* 803A71C4-803A71D0 -00001 000C+00 1/1 0/0 0/0 .data l_method$5051 */ -SECTION_DATA static void* l_method_5051[3] = { - (void*)phase_01__FP12phaseParam_c, - (void*)phase_02__FP12phaseParam_c, - (void*)phase_03__FP12phaseParam_c, +SECTION_DATA static dComIfG_phaseMethod0 l_method_5051[3] = { + phase_01, + phase_02, + phase_03, }; /* 8002CFC0-8002D008 027900 0048+00 1/1 3/3 0/0 .text @@ -2331,39 +2330,15 @@ asm void dComIfG_resLoader_c::load(char const** param_0, JKRHeap* param_1) { } #pragma pop -/* ############################################################################################## */ -/* 80378F38-80378F38 005598 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80379098 = "Stg_00"; -#pragma pop - /* 8002F434-8002F478 029D74 0044+00 0/0 12/12 12/12 .text dComIfG_getStageRes__FPCc */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dComIfG_getStageRes(char const* param_0) { - nofralloc -#include "asm/d/com/d_com_inf_game/dComIfG_getStageRes__FPCc.s" +void* dComIfG_getStageRes(char const* resName) { + return dComIfG_getStageRes("Stg_00", resName); } -#pragma pop - -/* ############################################################################################## */ -/* 80378F38-80378F38 005598 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_8037909F = "Xtg_00"; -#pragma pop /* 8002F478-8002F4BC 029DB8 0044+00 0/0 1/1 0/0 .text dComIfG_getOldStageRes__FPCc */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dComIfG_getOldStageRes(char const* param_0) { - nofralloc -#include "asm/d/com/d_com_inf_game/dComIfG_getOldStageRes__FPCc.s" +void* dComIfG_getOldStageRes(char const* resName) { + return dComIfG_getStageRes("Xtg_00", resName); } -#pragma pop static char buf[32]; diff --git a/src/d/d_attention.cpp b/src/d/d_attention.cpp index 39bd24168d..a1913a85b0 100644 --- a/src/d/d_attention.cpp +++ b/src/d/d_attention.cpp @@ -16,10 +16,6 @@ struct mDoCPd_c { static u8 m_cpadInfo[256]; }; -struct dRes_control_c { - /* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int); -}; - struct dAttDrawParam_c { /* 80070158 */ dAttDrawParam_c(); /* 80073FC4 */ ~dAttDrawParam_c(); diff --git a/src/d/d_drawlist.cpp b/src/d/d_drawlist.cpp index 4c6389c504..b43b94e396 100644 --- a/src/d/d_drawlist.cpp +++ b/src/d/d_drawlist.cpp @@ -4,7 +4,8 @@ // #include "d/d_drawlist.h" -#include "JSystem/J2DGraph/J2DScreen.h" +#include "JSystem/J3DGraphBase/J3DShape.h" +#include "JSystem/J3DGraphBase/J3DSys.h" #include "dol2asm.h" #include "dolphin/mtx/mtx44.h" #include "dolphin/mtx/mtxvec.h" @@ -30,64 +31,6 @@ struct mDoGph_gInf_c { static u8 mBackColor[4]; }; -struct mDoExt_3DlineMatSortPacket { - /* 80014E20 */ ~mDoExt_3DlineMatSortPacket(); - /* 800561C8 */ mDoExt_3DlineMatSortPacket(); -}; - -struct dKy_tevstr_c {}; - -struct dDlst_shadowTri_c { - /* 80056270 */ ~dDlst_shadowTri_c(); - /* 80056344 */ dDlst_shadowTri_c(); -}; - -struct dDlst_shadowSimple_c { - /* 8005520C */ void draw(); - /* 800553EC */ void set(cXyz*, f32, f32, cXyz*, s16, f32, _GXTexObj*); - /* 8005638C */ dDlst_shadowSimple_c(); -}; - -struct J3DModel {}; - -struct dDlst_shadowReal_c { - /* 800544F0 */ void reset(); - /* 80054500 */ void imageDraw(f32 (*)[4]); - /* 800545D4 */ void draw(); - /* 80054BD0 */ void setShadowRealMtx(cXyz*, cXyz*, f32, f32, f32, dKy_tevstr_c*); - /* 80055028 */ void set(u32, J3DModel*, cXyz*, f32, f32, dKy_tevstr_c*, f32, f32); - /* 800551D4 */ void add(J3DModel*); - /* 800561F8 */ ~dDlst_shadowReal_c(); - /* 800562D0 */ dDlst_shadowReal_c(); -}; - -struct dDlst_shadowRealPoly_c { - /* 800569A0 */ void getTri(); - /* 800569A8 */ s32 getTriMax(); -}; - -struct cM3dGPla {}; - -struct cBgD_Vtx_t {}; - -struct dDlst_shadowPoly_c { - /* 80054288 */ void set(cBgD_Vtx_t*, u16, u16, u16, cM3dGPla*); - /* 800543B4 */ void draw(); -}; - -struct dDlst_shadowControl_c { - /* 80055684 */ void init(); - /* 80055768 */ void reset(); - /* 800557C8 */ void imageDraw(f32 (*)[4]); - /* 80055A14 */ void draw(f32 (*)[4]); - /* 80055C74 */ void setReal(u32, s8, J3DModel*, cXyz*, f32, f32, dKy_tevstr_c*); - /* 80055F1C */ void addReal(u32, J3DModel*); - /* 80055F84 */ void setSimple(cXyz*, f32, f32, cXyz*, s16, f32, _GXTexObj*); - /* 80055FE8 */ void setSimpleTex(ResTIMG const*); - - static u8 mSimpleTexObj[32]; -}; - struct dDlst_effectLine_c { /* 80053E9C */ void draw(); /* 800541F4 */ void update(cXyz&, _GXColor&, u16, u16, u16, u16, f32, f32, f32, f32); @@ -136,12 +79,17 @@ struct dDlst_2DM_c { /* 80052C58 */ void draw(); }; -struct cM_rnd_c { +class cM_rnd_c { +public: /* 80053CDC */ void init(int, int, int); - /* 80053CEC */ void get(); - /* 80053DE0 */ void getF(f32); - /* 80053E18 */ void getFX(f32); - /* 80053E60 */ void getValue(f32, f32); + /* 80053CEC */ f32 get(); + /* 80053DE0 */ f32 getF(f32); + /* 80053E18 */ f32 getFX(f32); + /* 80053E60 */ f32 getValue(f32, f32); + + /* 0x0 */ int seed0; + /* 0x4 */ int seed1; + /* 0x8 */ int seed2; }; struct cBgS_ShdwDraw { @@ -167,12 +115,6 @@ struct J3DUClipper { /* 80273A44 */ void clip(f32 const (*)[4], Vec*, Vec*) const; }; -struct J3DShape { - /* 80315300 */ void loadPreDrawSetting() const; - - static u8 sOldVcdVatCmd[4]; -}; - struct J2DPicture { /* 800539DC */ void getTexture(u8) const; /* 80053C44 */ void setWhite(JUtility::TColor); @@ -395,26 +337,24 @@ extern "C" u8 sOldVcdVatCmd__8J3DShape[4]; // /* 80051AC0-80051ADC 04C400 001C+00 0/0 3/3 0/0 .text setViewPort__14dDlst_window_cFffffff */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dDlst_window_c::setViewPort(f32 param_0, f32 param_1, f32 param_2, f32 param_3, - f32 param_4, f32 param_5) { - nofralloc -#include "asm/d/d_drawlist/setViewPort__14dDlst_window_cFffffff.s" +void dDlst_window_c::setViewPort(f32 param_0, f32 param_1, f32 param_2, f32 param_3, f32 param_4, + f32 param_5) { + mViewport = param_0; + field_0x04 = param_1; + field_0x08 = param_2; + field_0x0C = param_3; + field_0x10 = param_4; + field_0x14 = param_5; } -#pragma pop /* 80051ADC-80051AF0 04C41C 0014+00 0/0 4/4 0/0 .text setScissor__14dDlst_window_cFffff */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dDlst_window_c::setScissor(f32 param_0, f32 param_1, f32 param_2, f32 param_3) { - nofralloc -#include "asm/d/d_drawlist/setScissor__14dDlst_window_cFffff.s" +void dDlst_window_c::setScissor(f32 param_0, f32 param_1, f32 param_2, f32 param_3) { + mScissor = param_0; + field_0x1c = param_1; + field_0x20 = param_2; + field_0x24 = param_3; } -#pragma pop /* 80051AF0-80051CF0 04C430 0200+00 1/0 0/0 0/0 .text draw__13dDlst_2DTri_cFv */ #pragma push @@ -448,7 +388,7 @@ asm void dDlst_2DPoint_c::draw() { /* ############################################################################################## */ /* 80450648-8045064C 0000C8 0004+00 1/1 0/0 0/0 .sdata l_color$4033 */ -SECTION_SDATA static u8 l_color_4033[4] = { +SECTION_SDATA static _GXColor l_color_4033 = { 0xFF, 0xFF, 0xFF, @@ -2062,16 +2002,16 @@ SECTION_DATA static u8 l_matDL[123 + 1 /* padding */] = { }; /* 803A8D7C-803A8D8C 005E9C 0010+00 1/1 0/0 0/0 .data l_imageDrawColor$5405 */ -SECTION_DATA static u8 l_imageDrawColor[16] = { - 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, -}; +SECTION_DATA static _GXColor l_imageDrawColor[4] = {{0xFF, 0x00, 0x00, 0x00}, + {0x00, 0xFF, 0x00, 0x00}, + {0x00, 0x00, 0xFF, 0x00}, + {0x00, 0x00, 0x00, 0xFF}}; /* 803A8D8C-803A8D9C 005EAC 0010+00 0/1 0/0 0/0 .data l_tevColorChan$5438 */ #pragma push #pragma force_active on -SECTION_DATA static u8 l_tevColorChan[16] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, -}; +SECTION_DATA static GXTevColor l_tevColorChan[4] = {GX_CH_RED, GX_CH_BLUE, GX_CH_GREEN, + GX_CH_ALPHA}; #pragma pop /* 803A8D9C-803A8DCC 005EBC 0030+00 0/0 0/0 0/0 .data mtx_adj$5842 */ @@ -2332,21 +2272,19 @@ asm void J2DPicture::setBlack(JUtility::TColor param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm J2DAnmBase::~J2DAnmBase() { +// asm J2DAnmBase::~J2DAnmBase() { +extern "C" asm void __dt__10J2DAnmBaseFv() { nofralloc #include "asm/d/d_drawlist/__dt__10J2DAnmBaseFv.s" } #pragma pop /* 80053CDC-80053CEC 04E61C 0010+00 0/0 2/2 0/0 .text init__8cM_rnd_cFiii */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void cM_rnd_c::init(int param_0, int param_1, int param_2) { - nofralloc -#include "asm/d/d_drawlist/init__8cM_rnd_cFiii.s" +void cM_rnd_c::init(int s0, int s1, int s2) { + seed0 = s0; + seed1 = s1; + seed2 = s2; } -#pragma pop /* ############################################################################################## */ /* 80452034-80452038 000634 0004+00 1/1 0/0 0/0 .sdata2 @4791 */ @@ -2362,48 +2300,45 @@ SECTION_SDATA2 static f32 lit_4793 = 30307.0f; SECTION_SDATA2 static f64 lit_4794 = 1.0; /* 80053CEC-80053DE0 04E62C 00F4+00 2/2 0/0 0/0 .text get__8cM_rnd_cFv */ +// reg swap +#ifdef NONMATCHING +f32 cM_rnd_c::get() { + seed0 = seed0 * 171 % 30269; + seed1 = seed1 * 172 % 30307; + seed2 = seed2 * 170 % 30323; + f32 rm = fmod((seed0 / 30269.0f) + (seed1 / 30307.0f) + (seed2 / 30323.0f), 1.0f); + + return __fabs(rm); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void cM_rnd_c::get() { +asm f32 cM_rnd_c::get() { nofralloc #include "asm/d/d_drawlist/get__8cM_rnd_cFv.s" } #pragma pop +#endif /* 80053DE0-80053E18 04E720 0038+00 1/1 0/0 0/0 .text getF__8cM_rnd_cFf */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void cM_rnd_c::getF(f32 param_0) { - nofralloc -#include "asm/d/d_drawlist/getF__8cM_rnd_cFf.s" +f32 cM_rnd_c::getF(f32 param_0) { + return get() * param_0; } -#pragma pop /* ############################################################################################## */ /* 80452048-8045204C 000648 0004+00 5/5 0/0 0/0 .sdata2 @4806 */ SECTION_SDATA2 static f32 lit_4806 = 2.0f; /* 80053E18-80053E60 04E758 0048+00 1/1 0/0 0/0 .text getFX__8cM_rnd_cFf */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void cM_rnd_c::getFX(f32 param_0) { - nofralloc -#include "asm/d/d_drawlist/getFX__8cM_rnd_cFf.s" +f32 cM_rnd_c::getFX(f32 param_0) { + return ((get() - lit_4072) * param_0) * lit_4806; } -#pragma pop /* 80053E60-80053E9C 04E7A0 003C+00 1/1 0/0 0/0 .text getValue__8cM_rnd_cFff */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void cM_rnd_c::getValue(f32 param_0, f32 param_1) { - nofralloc -#include "asm/d/d_drawlist/getValue__8cM_rnd_cFff.s" +f32 cM_rnd_c::getValue(f32 param_0, f32 param_1) { + return param_0 + getF(param_1); } -#pragma pop /* ############################################################################################## */ /* 8045204C-80452050 00064C 0004+00 1/1 0/0 0/0 .sdata2 @4876 */ @@ -2455,24 +2390,23 @@ asm void dDlst_shadowPoly_c::draw() { #pragma pop /* 80054478-800544F0 04EDB8 0078+00 1/1 0/0 0/0 .text J3DDrawBuffer__create__FUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void J3DDrawBuffer__create(u32 param_0) { - nofralloc -#include "asm/d/d_drawlist/J3DDrawBuffer__create__FUl.s" +static J3DDrawBuffer* J3DDrawBuffer__create(u32 size) { + J3DDrawBuffer* buffer = new J3DDrawBuffer(); + + if (buffer) { + if (buffer->allocBuffer(size) == kJ3DError_Success) { + return buffer; + } + delete buffer; + } + return NULL; } -#pragma pop /* 800544F0-80054500 04EE30 0010+00 2/2 0/0 0/0 .text reset__18dDlst_shadowReal_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dDlst_shadowReal_c::reset() { - nofralloc -#include "asm/d/d_drawlist/reset__18dDlst_shadowReal_cFv.s" +void dDlst_shadowReal_c::reset() { + mState = 0; + mModelNum = 0; } -#pragma pop /* 80054500-800545D4 04EE40 00D4+00 1/1 0/0 0/0 .text imageDraw__18dDlst_shadowReal_cFPA4_f */ #pragma push @@ -2634,14 +2568,16 @@ asm void dDlst_shadowReal_c::set(u32 param_0, J3DModel* param_1, cXyz* param_2, #pragma pop /* 800551D4-8005520C 04FB14 0038+00 1/1 0/0 0/0 .text add__18dDlst_shadowReal_cFP8J3DModel */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dDlst_shadowReal_c::add(J3DModel* param_0) { - nofralloc -#include "asm/d/d_drawlist/add__18dDlst_shadowReal_cFP8J3DModel.s" +bool dDlst_shadowReal_c::add(J3DModel* pModel) { + u8 curModelNum = mModelNum; + + if (curModelNum == 0 || pModel == NULL) { + return false; + } + mModelNum++; + mpModels[curModelNum] = pModel; + return true; } -#pragma pop /* ############################################################################################## */ /* 80450650-80450654 0000D0 0004+00 1/1 0/0 0/0 .sdata l_color$5326 */ @@ -2707,14 +2643,17 @@ asm void dDlst_shadowControl_c::init() { #pragma pop /* 80055768-800557C8 0500A8 0060+00 1/1 0/0 0/0 .text reset__21dDlst_shadowControl_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dDlst_shadowControl_c::reset() { - nofralloc -#include "asm/d/d_drawlist/reset__21dDlst_shadowControl_cFv.s" +void dDlst_shadowControl_c::reset() { + dDlst_shadowReal_c* shadowReal = &mReal[0]; + + for (int i = 0; i < 8; i++) { + shadowReal->reset(); + shadowReal++; + } + mSimpleNum = 0; + mRealNum = 0; + field_0x4 = NULL; } -#pragma pop /* 800557C8-80055A14 050108 024C+00 0/0 1/1 0/0 .text imageDraw__21dDlst_shadowControl_cFPA4_f */ #pragma push @@ -2830,6 +2769,18 @@ asm void dDlst_peekZ_c::peekData() { #pragma pop /* 800560F0-800561C8 050A30 00D8+00 0/0 1/1 0/0 .text __ct__12dDlst_list_cFv */ +#ifdef NONMATCHING +dDlst_list_c::dDlst_list_c() { + field_0x68 = &field_0x64; + field_0xb0 = &field_0xac; + field_0x1b8 = &field_0x1b4; + field_0x240 = &field_0x23c; + J3DDrawBuffer** tmp = &mOpaListSky; + for (int i = 0; i < 0x15; i++) { + *(tmp + i) = NULL; + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -2838,6 +2789,7 @@ asm dDlst_list_c::dDlst_list_c() { #include "asm/d/d_drawlist/__ct__12dDlst_list_cFv.s" } #pragma pop +#endif /* 800561C8-800561F8 050B08 0030+00 1/1 0/0 0/0 .text __ct__26mDoExt_3DlineMatSortPacketFv */ #pragma push @@ -3024,70 +2976,62 @@ asm void dDlst_list_c::entryZSortXluDrawList(J3DDrawBuffer* param_0, J3DPacket* /* 800566D4-80056710 051014 003C+00 1/1 1/1 0/0 .text * drawOpaDrawList__12dDlst_list_cFP13J3DDrawBuffer */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dDlst_list_c::drawOpaDrawList(J3DDrawBuffer* param_0) { - nofralloc -#include "asm/d/d_drawlist/drawOpaDrawList__12dDlst_list_cFP13J3DDrawBuffer.s" +void dDlst_list_c::drawOpaDrawList(J3DDrawBuffer* pDrawBuf) { + J3DShape::resetVcdVatCache(); + j3dSys.setDrawModeOpaTexEdge(); + pDrawBuf->draw(); } -#pragma pop /* 80056710-8005674C 051050 003C+00 1/1 1/1 0/0 .text * drawXluDrawList__12dDlst_list_cFP13J3DDrawBuffer */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dDlst_list_c::drawXluDrawList(J3DDrawBuffer* param_0) { - nofralloc -#include "asm/d/d_drawlist/drawXluDrawList__12dDlst_list_cFP13J3DDrawBuffer.s" +void dDlst_list_c::drawXluDrawList(J3DDrawBuffer* pDrawBuf) { + J3DShape::resetVcdVatCache(); + j3dSys.setDrawModeXlu(); + pDrawBuf->draw(); } -#pragma pop /* 8005674C-80056770 05108C 0024+00 0/0 1/1 0/0 .text drawOpaListItem3d__12dDlst_list_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dDlst_list_c::drawOpaListItem3d() { - nofralloc -#include "asm/d/d_drawlist/drawOpaListItem3d__12dDlst_list_cFv.s" +void dDlst_list_c::drawOpaListItem3d() { + drawOpaDrawList(mOpaListItem3d); } -#pragma pop /* 80056770-80056794 0510B0 0024+00 0/0 1/1 0/0 .text drawXluListItem3d__12dDlst_list_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dDlst_list_c::drawXluListItem3d() { - nofralloc -#include "asm/d/d_drawlist/drawXluListItem3d__12dDlst_list_cFv.s" +void dDlst_list_c::drawXluListItem3d() { + drawXluDrawList(mXluListItem3d); } -#pragma pop /* 80056794-800567C4 0510D4 0030+00 2/2 35/35 6/6 .text * set__12dDlst_list_cFRPP12dDlst_base_cRPP12dDlst_base_cP12dDlst_base_c */ +#ifdef NONMATCHING +int dDlst_list_c::set(dDlst_base_c**& param_0, dDlst_base_c**& param_1, dDlst_base_c* param_2) { + if (*param_0 >= *param_1) { + return 0; + } + *param_0 = param_2; + *param_0++; + return 1; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dDlst_list_c::set(dDlst_base_c**& param_0, dDlst_base_c**& param_1, - dDlst_base_c* param_2) { +asm int dDlst_list_c::set(dDlst_base_c**& param_0, dDlst_base_c**& param_1, dDlst_base_c* param_2) { nofralloc #include "asm/d/d_drawlist/set__12dDlst_list_cFRPP12dDlst_base_cRPP12dDlst_base_cP12dDlst_base_c.s" } #pragma pop +#endif /* 800567C4-8005681C 051104 0058+00 0/0 1/1 0/0 .text * draw__12dDlst_list_cFPP12dDlst_base_cPP12dDlst_base_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dDlst_list_c::draw(dDlst_base_c** param_0, dDlst_base_c** param_1) { - nofralloc -#include "asm/d/d_drawlist/draw__12dDlst_list_cFPP12dDlst_base_cPP12dDlst_base_c.s" +void dDlst_list_c::draw(dDlst_base_c** pStart, dDlst_base_c** pEnd) { + for (; pStart < pEnd; pStart++) { + dDlst_base_c* base = *pStart; + base->draw(); + } } -#pragma pop /* ############################################################################################## */ /* 8037A1B0-8037A1B0 006810 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ diff --git a/src/d/d_kantera_icon_meter.cpp b/src/d/d_kantera_icon_meter.cpp index 886e754fb3..5f02f5166d 100644 --- a/src/d/d_kantera_icon_meter.cpp +++ b/src/d/d_kantera_icon_meter.cpp @@ -7,45 +7,6 @@ #include "dol2asm.h" #include "dolphin/types.h" -// -// Types: -// - -struct dKantera_icon_c { - /* 801AE938 */ dKantera_icon_c(); - /* 801AE974 */ ~dKantera_icon_c(); - /* 801AEA68 */ void initiate(); - /* 801AEB7C */ void setAlphaRate(f32); - /* 801AEBA0 */ void setPos(f32, f32); - /* 801AEBF4 */ void setScale(f32, f32); - /* 801AEC44 */ void setNowGauge(u16, u16); -}; - -struct dDlst_KanteraIcon_c { - /* 801AECB8 */ void draw(); - /* 801AED1C */ ~dDlst_KanteraIcon_c(); -}; - -struct JKRExpHeap {}; - -struct JKRArchive {}; - -struct J2DGrafContext {}; - -struct J2DScreen { - /* 802F8498 */ J2DScreen(); - /* 802F8648 */ void setPriority(char const*, u32, JKRArchive*); - /* 802F8ED4 */ void draw(f32, f32, J2DGrafContext const*); -}; - -struct CPaneMgrAlpha { - /* 802557D0 */ void setAlphaRate(f32); -}; - -struct CPaneMgr { - /* 80253984 */ CPaneMgr(J2DScreen*, u64, u8, JKRExpHeap*); -}; - // // Forward References: // @@ -74,82 +35,57 @@ extern "C" void __ct__9J2DScreenFv(); extern "C" void setPriority__9J2DScreenFPCcUlP10JKRArchive(); extern "C" void draw__9J2DScreenFffPC14J2DGrafContext(); extern "C" extern void* __vt__12dDlst_base_c[3]; -extern "C" extern u8 g_dComIfG_gameInfo[122384]; extern "C" extern u8 g_drawHIO[3880]; // // Declarations: // -/* ############################################################################################## */ -/* 803BC218-803BC228 019338 0010+00 2/2 0/0 0/0 .data __vt__19dDlst_KanteraIcon_c */ -SECTION_DATA extern void* __vt__19dDlst_KanteraIcon_c[4] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)draw__19dDlst_KanteraIcon_cFv, - (void*)__dt__19dDlst_KanteraIcon_cFv, -}; - -/* 803BC228-803BC238 019348 000C+04 2/2 0/0 0/0 .data __vt__15dKantera_icon_c */ -SECTION_DATA extern void* __vt__15dKantera_icon_c[3 + 1 /* padding */] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__15dKantera_icon_cFv, - /* padding */ - NULL, -}; - /* 801AE938-801AE974 1A9278 003C+00 0/0 3/3 0/0 .text __ct__15dKantera_icon_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm dKantera_icon_c::dKantera_icon_c() { - nofralloc -#include "asm/d/d_kantera_icon_meter/__ct__15dKantera_icon_cFv.s" +dKantera_icon_c::dKantera_icon_c() { + initiate(); } -#pragma pop /* 801AE974-801AEA68 1A92B4 00F4+00 1/0 0/0 0/0 .text __dt__15dKantera_icon_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm dKantera_icon_c::~dKantera_icon_c() { - nofralloc -#include "asm/d/d_kantera_icon_meter/__dt__15dKantera_icon_cFv.s" -} -#pragma pop +dKantera_icon_c::~dKantera_icon_c() { + delete mpKanteraIcon->getScreen(); + delete mpKanteraIcon; + mpKanteraIcon = NULL; -/* ############################################################################################## */ -/* 80394F50-80394F50 0215B0 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80394F50 = "zelda_kantera_icon_mater.blo"; -/* @stringBase0 padding */ -SECTION_DEAD static char const* const pad_80394F6D = "\0\0"; -#pragma pop + delete mpParent; + mpParent = NULL; + + delete mpGauge; + mpGauge = NULL; +} /* 801AEA68-801AEB7C 1A93A8 0114+00 1/1 0/0 0/0 .text initiate__15dKantera_icon_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dKantera_icon_c::initiate() { - nofralloc -#include "asm/d/d_kantera_icon_meter/initiate__15dKantera_icon_cFv.s" +void dKantera_icon_c::initiate() { + mpKanteraIcon = new dDlst_KanteraIcon_c(); + + J2DScreen* scrn = new J2DScreen(); + scrn->setPriority("zelda_kantera_icon_mater.blo", 0x20000, dComIfGp_getMain2DArchive()); + dPaneClass_showNullPane(scrn); + mpKanteraIcon->setScreen(scrn); + + mpParent = new CPaneMgr(scrn, 'kan_m_n', 2, NULL); + + mpGauge = new CPaneMgr(scrn, 'yellow_m', 0, NULL); } -#pragma pop /* 801AEB7C-801AEBA0 1A94BC 0024+00 0/0 4/4 0/0 .text setAlphaRate__15dKantera_icon_cFf */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dKantera_icon_c::setAlphaRate(f32 param_0) { - nofralloc -#include "asm/d/d_kantera_icon_meter/setAlphaRate__15dKantera_icon_cFf.s" +void dKantera_icon_c::setAlphaRate(f32 alphaRate) { + mpParent->setAlphaRate(alphaRate); } -#pragma pop /* 801AEBA0-801AEBF4 1A94E0 0054+00 0/0 3/3 0/0 .text setPos__15dKantera_icon_cFff */ +// need g_drawHIO global setup +#ifdef NONMATCHING +void dKantera_icon_c::setPos(f32 x, f32 y) { + mpParent->translate(x + g_drawHIO.mLanternIconMeterPosX, y + g_drawHIO.mLanternIconMeterPosY) +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -158,8 +94,15 @@ asm void dKantera_icon_c::setPos(f32 param_0, f32 param_1) { #include "asm/d/d_kantera_icon_meter/setPos__15dKantera_icon_cFff.s" } #pragma pop +#endif /* 801AEBF4-801AEC44 1A9534 0050+00 0/0 4/4 0/0 .text setScale__15dKantera_icon_cFff */ +// need g_drawHIO global setup +#ifdef NONMATCHING +void dKantera_icon_c::setScale(f32 h, f32 v) { + mpParent->scale(h * g_drawHIO.mLanternIconMeterSize, v * g_drawHIO.mLanternIconMeterSize) +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -168,55 +111,22 @@ asm void dKantera_icon_c::setScale(f32 param_0, f32 param_1) { #include "asm/d/d_kantera_icon_meter/setScale__15dKantera_icon_cFff.s" } #pragma pop - -/* ############################################################################################## */ -/* 80453EF8-80453F00 0024F8 0004+04 1/1 0/0 0/0 .sdata2 @3759 */ -SECTION_SDATA2 static f32 lit_3759[1 + 1 /* padding */] = { - 1.0f, - /* padding */ - 0.0f, -}; - -/* 80453F00-80453F08 002500 0008+00 1/1 0/0 0/0 .sdata2 @3761 */ -SECTION_SDATA2 static f64 lit_3761 = 4503599627370496.0 /* cast u32 to float */; +#endif /* 801AEC44-801AECB8 1A9584 0074+00 0/0 4/4 0/0 .text setNowGauge__15dKantera_icon_cFUsUs */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dKantera_icon_c::setNowGauge(u16 param_0, u16 param_1) { - nofralloc -#include "asm/d/d_kantera_icon_meter/setNowGauge__15dKantera_icon_cFUsUs.s" +void dKantera_icon_c::setNowGauge(u16 h, u16 v) { + mpGauge->scale((f32)v / (f32)h, 1.0f); } -#pragma pop - -/* ############################################################################################## */ -/* 80453F08-80453F10 002508 0004+04 1/1 0/0 0/0 .sdata2 @3776 */ -SECTION_SDATA2 static f32 lit_3776[1 + 1 /* padding */] = { - 0.0f, - /* padding */ - 0.0f, -}; /* 801AECB8-801AED1C 1A95F8 0064+00 1/0 0/0 0/0 .text draw__19dDlst_KanteraIcon_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dDlst_KanteraIcon_c::draw() { - nofralloc -#include "asm/d/d_kantera_icon_meter/draw__19dDlst_KanteraIcon_cFv.s" +void dDlst_KanteraIcon_c::draw() { + J2DGrafContext* curGraf = dComIfGp_getCurrentGrafPort(); + curGraf->setup2D(); + mp_scrn->draw(0.0f, 0.0f, curGraf); } -#pragma pop /* 801AED1C-801AED64 1A965C 0048+00 1/0 0/0 0/0 .text __dt__19dDlst_KanteraIcon_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm dDlst_KanteraIcon_c::~dDlst_KanteraIcon_c() { - nofralloc -#include "asm/d/d_kantera_icon_meter/__dt__19dDlst_KanteraIcon_cFv.s" -} -#pragma pop +dDlst_KanteraIcon_c::~dDlst_KanteraIcon_c() {} /* 80394F50-80394F50 0215B0 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ diff --git a/src/d/d_resorce.cpp b/src/d/d_resorce.cpp index 91b00f2685..746a747ecd 100644 --- a/src/d/d_resorce.cpp +++ b/src/d/d_resorce.cpp @@ -5,8 +5,10 @@ #include "d/d_resorce.h" #include "JSystem/JKernel/JKRSolidHeap.h" +#include "d/com/d_com_inf_game.h" #include "dol2asm.h" #include "dolphin/mtx/mtx.h" +#include "dolphin/os/OSCache.h" #include "dolphin/types.h" // @@ -26,52 +28,10 @@ struct mDoExt_transAnmBas { /* 8003C784 */ ~mDoExt_transAnmBas(); }; -struct mDoDvdThd_mountArchive_c { - /* 80015E14 */ void create(char const*, u8, JKRHeap*); -}; - -struct dRes_control_c { - /* 8003BFB0 */ ~dRes_control_c(); - /* 8003C078 */ void setRes(char const*, dRes_info_c*, int, char const*, u8, JKRHeap*); - /* 8003C160 */ void syncRes(char const*, dRes_info_c*, int); - /* 8003C194 */ void deleteRes(char const*, dRes_info_c*, int); - /* 8003C1E4 */ void getResInfo(char const*, dRes_info_c*, int); - /* 8003C260 */ void newResInfo(dRes_info_c*, int); - /* 8003C288 */ void getResInfoLoaded(char const*, dRes_info_c*, int); - /* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int); - /* 8003C37C */ void getRes(char const*, char const*, dRes_info_c*, int); - /* 8003C400 */ void getIDRes(char const*, u16, dRes_info_c*, int); - /* 8003C470 */ void syncAllRes(dRes_info_c*, int); - /* 8003C4E4 */ void setObjectRes(char const*, void*, u32, JKRHeap*); - /* 8003C5BC */ void setStageRes(char const*, JKRHeap*); - /* 8003C638 */ void dump(); - /* 8003C6B8 */ void getObjectResName2Index(char const*, char const*); -}; - struct dBgWKCol { /* 8007E7D0 */ void initKCollision(void*); }; -struct cBgS { - /* 80074578 */ void ConvDzb(void*); -}; - -struct _GXAttr {}; - -struct ResTIMG {}; - -struct JUTNameTab { - /* 802DEAF8 */ void getName(u16) const; -}; - -struct JKRMemBreakFlag {}; - -struct JKRMemArchive { - /* 802D6A6C */ JKRMemArchive(void*, u32, JKRMemBreakFlag); -}; - -struct J3DTransformInfo {}; - struct J3DTexture { /* 8031221C */ void addResTIMG(u16, ResTIMG const*); }; @@ -210,6 +170,7 @@ extern "C" s32 getKind__18J3DAnmTransformKeyCFv(); extern "C" void getTransform__18J3DAnmTransformKeyCFUsP16J3DTransformInfo(); extern "C" void calc__11J3DTexNoAnmCFPUs(); extern "C" extern char const* const d_d_resorce__stringBase0; +extern "C" void DCStoreRangeNoSync(void*, u32); // // External References: @@ -238,7 +199,7 @@ extern "C" void findIdxResource__10JKRArchiveCFUl(); extern "C" void findNameResource__10JKRArchiveCFPCc(); extern "C" void __ct__13JKRMemArchiveFPvUl15JKRMemBreakFlag(); extern "C" void getName__10JUTNameTabCFUs(); -extern "C" void JUTReportConsole_f(); +extern "C" void JUTReportConsole_f(const char*, ...); extern "C" void addResTIMG__10J3DTextureFUsPC7ResTIMG(); extern "C" void addTexMtxIndexInDL__8J3DShapeF7_GXAttrUl(); extern "C" void addTexMtxIndexInVcd__8J3DShapeF7_GXAttr(); @@ -254,7 +215,6 @@ extern "C" void load__24J3DClusterLoaderDataBaseFPCv(); extern "C" void load__22J3DModelLoaderDataBaseFPCvUl(); extern "C" void load__20J3DAnmLoaderDataBaseFPCv24J3DAnmLoaderDataBaseFlag(); extern "C" void setResource__20J3DAnmLoaderDataBaseFP10J3DAnmBasePCv(); -extern "C" void DCStoreRangeNoSync(); extern "C" void __destroy_arr(); extern "C" void __construct_array(); extern "C" void _savegpr_20(); @@ -272,14 +232,9 @@ extern "C" void _restgpr_27(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); extern "C" void memcmp(); -extern "C" void snprintf(); -extern "C" void strncpy(); -extern "C" void strlen(); -extern "C" void stricmp(); extern "C" extern u8 const j3dDefaultMtx[48]; 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" u8 mFrameBufferTimg__13mDoGph_gInf_c[4]; extern "C" u8 mZbufferTimg__13mDoGph_gInf_c[4]; @@ -291,41 +246,47 @@ extern "C" extern u8 j3dDefaultTevSwapMode[4]; // /* 8003A260-8003A280 034BA0 0020+00 0/0 1/1 0/0 .text __ct__11dRes_info_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm dRes_info_c::dRes_info_c() { - nofralloc -#include "asm/d/d_resorce/__ct__11dRes_info_cFv.s" +dRes_info_c::dRes_info_c() { + mCount = 0; + mDMCommand = NULL; + mArchive = NULL; + heap = NULL; + mDataHeap = NULL; + mRes = NULL; } -#pragma pop /* 8003A280-8003A348 034BC0 00C8+00 3/3 1/1 0/0 .text __dt__11dRes_info_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm dRes_info_c::~dRes_info_c() { - nofralloc -#include "asm/d/d_resorce/__dt__11dRes_info_cFv.s" +dRes_info_c::~dRes_info_c() { + if (mDMCommand != NULL) { + delete mDMCommand; + mDMCommand = NULL; + } else if (mArchive != NULL) { + deleteArchiveRes(); + if (mDataHeap != NULL) { + mDoExt_destroySolidHeap(mDataHeap); + mDataHeap = NULL; + mArchive->unmount(); + } + mRes = NULL; + mArchive = NULL; + } } -#pragma pop - -/* ############################################################################################## */ -/* 803798B8-803798B8 005F18 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_803798B8 = "%s%s.arc"; -#pragma pop /* 8003A348-8003A3F0 034C88 00A8+00 1/1 0/0 0/0 .text set__11dRes_info_cFPCcPCcUcP7JKRHeap */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dRes_info_c::set(char const* param_0, char const* param_1, u8 param_2, JKRHeap* param_3) { - nofralloc -#include "asm/d/d_resorce/set__11dRes_info_cFPCcPCcUcP7JKRHeap.s" +int dRes_info_c::set(char const* pArcName, char const* pArcPath, u8 param_2, JKRHeap* pHeap) { + char path[40]; + + if (*pArcPath != NULL) { + snprintf(path, 40, "%s%s.arc", pArcPath, pArcName); + mDMCommand = mDoDvdThd_mountArchive_c::create(path, param_2, pHeap); + + if (mDMCommand == NULL) { + return false; + } + } + strncpy(mArchiveName, pArcName, 10); + return true; } -#pragma pop /* 8003A3F0-8003A490 034D30 00A0+00 1/1 0/0 0/0 .text setAlpha__FP16J3DMaterialTable */ #pragma push @@ -653,7 +614,7 @@ SECTION_DEAD static char const* const stringBase_80379912 = "<%s> res == NULL !! #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dRes_info_c::loadResource() { +asm int dRes_info_c::loadResource() { nofralloc #include "asm/d/d_resorce/loadResource__11dRes_info_cFv.s" } @@ -694,7 +655,7 @@ asm void dRes_info_c::deleteArchiveRes() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void getArcHeader(JKRArchive* param_0) { +static asm void* getArcHeader(JKRArchive* param_0) { nofralloc #include "asm/d/d_resorce/getArcHeader__FP10JKRArchive.s" } @@ -702,54 +663,86 @@ static asm void getArcHeader(JKRArchive* param_0) { /* 8003BAC4-8003BAF8 036404 0034+00 1/1 0/0 0/0 .text setRes__11dRes_info_cFP10JKRArchiveP7JKRHeap */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dRes_info_c::setRes(JKRArchive* param_0, JKRHeap* param_1) { - nofralloc -#include "asm/d/d_resorce/setRes__11dRes_info_cFP10JKRArchiveP7JKRHeap.s" +int dRes_info_c::setRes(JKRArchive* pArchive, JKRHeap* pHeap) { + mArchive = pArchive; + heap = pHeap; + mDataHeap = NULL; + return loadResource() >> 0x1F; } -#pragma pop - -/* ############################################################################################## */ -/* 803798B8-803798B8 005F18 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80379927 = - "<%s.arc> setRes: archive mount error !!\n"; -SECTION_DEAD static char const* const stringBase_80379950 = - "<%s.arc> mDMCommandsetRes: can't alloc memory\n"; -#pragma pop /* 8003BAF8-8003BC98 036438 01A0+00 2/2 0/0 0/0 .text setRes__11dRes_info_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dRes_info_c::setRes() { - nofralloc -#include "asm/d/d_resorce/setRes__11dRes_info_cFv.s" +int dRes_info_c::setRes() { + if (mArchive == NULL) { + if (mDMCommand == NULL) { + return -1; + } + if ((int)mDMCommand->mIsDone == 0) { + return 1; + } + + mArchive = mDMCommand->getArchive(); + heap = mDMCommand->getHeap(); + + delete mDMCommand; + mDMCommand = NULL; + + if (mArchive == NULL) { + OSReport_Error("<%s.arc> setRes: archive mount error !!\n", mArchiveName); + return -1; + } + if (heap != NULL) { + heap->lock(); + mDataHeap = mDoExt_createSolidHeapToCurrent(0, heap, 0x20); + + int rt = loadResource(); + mDoExt_restoreCurrentHeap(); + mDoExt_adjustSolidHeap(mDataHeap); + heap->unlock(); + + if (rt < 0) { + return -1; + } + } else { + mDataHeap = mDoExt_createSolidHeapFromGameToCurrent(0, 0); + if (mDataHeap == NULL) { + OSReport_Error("<%s.arc> mDMCommandsetRes: can't alloc memory\n", mArchiveName); + return -1; + } + int rt = loadResource(); + mDoExt_restoreCurrentHeap(); + mDoExt_adjustSolidHeap(mDataHeap); + + if (rt < 0) { + return -1; + } + } + u32 heapSize = mDataHeap->getHeapSize(); + void* heapStartAddr = mDataHeap->getStartAddr(); + DCStoreRangeNoSync(heapStartAddr, heapSize); + } + return 0; } -#pragma pop /* 8003BC98-8003BD00 0365D8 0068+00 1/1 0/0 0/0 .text myGetMemBlockSize__FPv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void myGetMemBlockSize(void* param_0) { - nofralloc -#include "asm/d/d_resorce/myGetMemBlockSize__FPv.s" +static s32 myGetMemBlockSize(void* param_0) { + JKRHeap* heap = JKRHeap::findFromRoot(param_0); + + if (heap->getHeapType() == 'EXPH') { + return JKRHeap::getSize(param_0, heap); + } else { + return -1; + } } -#pragma pop /* 8003BD00-8003BD2C 036640 002C+00 1/1 0/0 0/0 .text myGetMemBlockSize0__FPv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void myGetMemBlockSize0(void* param_0) { - nofralloc -#include "asm/d/d_resorce/myGetMemBlockSize0__FPv.s" +static s32 myGetMemBlockSize0(void* param_0) { + s32 size = myGetMemBlockSize(param_0); + + if (size < 0) { + size = 0; + } + return size; } -#pragma pop /* ############################################################################################## */ /* 803798B8-803798B8 005F18 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ @@ -765,6 +758,41 @@ SECTION_DEAD static char const* const stringBase_80379A09 = #pragma pop /* 8003BD2C-8003BE38 03666C 010C+00 1/1 0/0 0/0 .text dump_long__11dRes_info_cFP11dRes_info_ci */ +#ifdef NONMATCHING +void dRes_info_c::dump_long(dRes_info_c* param_0, int param_1) { + void* header; + int blockSize1; + int blockSize2; + + JUTReportConsole_f("dRes_info_c::dump_long %08x %d\n", param_0, param_1); + JUTReportConsole_f( + "No Command Archive ArcHeader(size) SolidHeap(size) Resource Cnt ArchiveName\n"); + + for (int i = 0; i < param_1; i++) { + if (getCount() != 0) { + JKRArchive* archive = getArchive(); + header = NULL; + blockSize1 = 0; + + if (archive != NULL) { + header = getArcHeader(archive); + blockSize1 = myGetMemBlockSize0(header); + } + + JKRSolidHeap* dataHeap = mDataHeap; + blockSize2 = 0; + if (dataHeap != NULL) { + blockSize2 = myGetMemBlockSize0((void*)dataHeap); + } + + JUTReportConsole_f("%2d %08x %08x %08x(%6x) %08x(%5x) %08x %3d %s\n", i, getDMCommand(), + archive, header, blockSize1, &mDataHeap, blockSize2, mRes, + getArchiveName()); + } + param_0++; + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -773,6 +801,7 @@ asm void dRes_info_c::dump_long(dRes_info_c* param_0, int param_1) { #include "asm/d/d_resorce/dump_long__11dRes_info_cFP11dRes_info_ci.s" } #pragma pop +#endif /* ############################################################################################## */ /* 803798B8-803798B8 005F18 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ @@ -837,78 +866,128 @@ SECTION_DEAD static char const* const stringBase_80379B40 = /* 8003C078-8003C160 0369B8 00E8+00 2/2 8/8 0/0 .text * setRes__14dRes_control_cFPCcP11dRes_info_ciPCcUcP7JKRHeap */ +// matches except resInfo destructor issues? +#ifdef NONMATCHING +int dRes_control_c::setRes(char const* arcName, dRes_info_c* pInfo, int infoSize, + char const* arcPath, u8 param_4, JKRHeap* pHeap) { + dRes_info_c* resInfo = getResInfo(arcName, pInfo, infoSize); + + if (resInfo == NULL) { + resInfo = newResInfo(pInfo, infoSize); + + if (resInfo == NULL) { + // "<%s.arc> dRes_control_c::setRes: 空きリソース情報ポインタがありません\n" + // "<%s.arc> dRes_control_c::setRes: There isn't a free Resource Info pointer\n" + OSReport_Error( + "\x3C\x25\x73\x2E\x61\x72\x63\x3E\x20\x64\x52\x65\x73\x5F\x63\x6F\x6E\x74\x72\x6F" + "\x6C\x5F\x63\x3A\x3A\x73\x65\x74\x52\x65\x73\x3A\x20\x8B\xF3\x82\xAB\x83\x8A\x83" + "\x5C\x81\x5B\x83\x58\x8F\xEE\x95\xF1\x83\x7C\x83\x43\x83\x93\x83\x5E\x82\xAA\x82" + "\xA0\x82\xE8\x82\xDC\x82\xB9\x82\xF1\x0A", + arcName); + delete resInfo; + return 0; + } + + int resStatus = resInfo->set(arcName, arcPath, param_4, pHeap); + if (resStatus == 0) { + OSReport_Error("<%s.arc> dRes_control_c::setRes: res info set error !!\n", arcName); + delete resInfo; + return 0; + } + } + resInfo->incCount(); + return 1; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dRes_control_c::setRes(char const* param_0, dRes_info_c* param_1, int param_2, - char const* param_3, u8 param_4, JKRHeap* param_5) { +asm int dRes_control_c::setRes(char const* param_0, dRes_info_c* param_1, int param_2, + char const* param_3, u8 param_4, JKRHeap* param_5) { nofralloc #include "asm/d/d_resorce/setRes__14dRes_control_cFPCcP11dRes_info_ciPCcUcP7JKRHeap.s" } #pragma pop +#endif /* 8003C160-8003C194 036AA0 0034+00 0/0 10/10 1/1 .text * syncRes__14dRes_control_cFPCcP11dRes_info_ci */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dRes_control_c::syncRes(char const* param_0, dRes_info_c* param_1, int param_2) { - nofralloc -#include "asm/d/d_resorce/syncRes__14dRes_control_cFPCcP11dRes_info_ci.s" +int dRes_control_c::syncRes(char const* arcName, dRes_info_c* pInfo, int infoSize) { + dRes_info_c* resInfo = getResInfo(arcName, pInfo, infoSize); + + if (resInfo == NULL) { + return -1; + } else { + return resInfo->setRes(); + } } -#pragma pop /* 8003C194-8003C1E4 036AD4 0050+00 1/1 7/7 0/0 .text * deleteRes__14dRes_control_cFPCcP11dRes_info_ci */ +#ifdef NONMATCHING +int dRes_control_c::deleteRes(char const* arcName, dRes_info_c* pInfo, int infoSize) { + dRes_info_c* resInfo = getResInfo(arcName, pInfo, infoSize); + + if (resInfo == NULL) { + return 0; + } else { + if (resInfo->decCount() == 0) { + delete resInfo; + } + return 1; + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dRes_control_c::deleteRes(char const* param_0, dRes_info_c* param_1, int param_2) { +asm int dRes_control_c::deleteRes(char const* param_0, dRes_info_c* param_1, int param_2) { nofralloc #include "asm/d/d_resorce/deleteRes__14dRes_control_cFPCcP11dRes_info_ci.s" } #pragma pop +#endif /* 8003C1E4-8003C260 036B24 007C+00 5/5 5/5 3/3 .text * getResInfo__14dRes_control_cFPCcP11dRes_info_ci */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dRes_control_c::getResInfo(char const* param_0, dRes_info_c* param_1, int param_2) { - nofralloc -#include "asm/d/d_resorce/getResInfo__14dRes_control_cFPCcP11dRes_info_ci.s" +dRes_info_c* dRes_control_c::getResInfo(char const* pArcName, dRes_info_c* pResInfo, int infoSize) { + for (int i = 0; i < infoSize; i++) { + if (pResInfo->getCount() != 0) { + if (!stricmp(pArcName, pResInfo->getArchiveName())) { + return pResInfo; + } + } + pResInfo++; + } + return NULL; } -#pragma pop /* 8003C260-8003C288 036BA0 0028+00 1/1 0/0 0/0 .text newResInfo__14dRes_control_cFP11dRes_info_ci */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dRes_control_c::newResInfo(dRes_info_c* param_0, int param_1) { - nofralloc -#include "asm/d/d_resorce/newResInfo__14dRes_control_cFP11dRes_info_ci.s" +dRes_info_c* dRes_control_c::newResInfo(dRes_info_c* pResInfo, int infoSize) { + for (int i = 0; i < infoSize; i++) { + if (pResInfo->getCount() == 0) { + return pResInfo; + } + pResInfo++; + } + return NULL; } -#pragma pop - -/* ############################################################################################## */ -/* 803798B8-803798B8 005F18 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80379B78 = - "<%s.arc> getRes: res during reading !!\n"; -#pragma pop /* 8003C288-8003C2EC 036BC8 0064+00 4/4 0/0 0/0 .text * getResInfoLoaded__14dRes_control_cFPCcP11dRes_info_ci */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dRes_control_c::getResInfoLoaded(char const* param_0, dRes_info_c* param_1, int param_2) { - nofralloc -#include "asm/d/d_resorce/getResInfoLoaded__14dRes_control_cFPCcP11dRes_info_ci.s" +dRes_info_c* dRes_control_c::getResInfoLoaded(char const* arcName, dRes_info_c* pResInfo, + int infoSize) { + dRes_info_c* resInfo = getResInfo(arcName, pResInfo, infoSize); + + if (resInfo == NULL) { + resInfo = NULL; + } else if (resInfo->getArchive() == NULL) { + OSReport_Warning("<%s.arc> getRes: res during reading !!\n", arcName); + resInfo = NULL; + } + return resInfo; } -#pragma pop /* ############################################################################################## */ /* 803798B8-803798B8 005F18 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ @@ -921,27 +1000,65 @@ SECTION_DEAD static char const* const stringBase_80379BA0 = /* 8003C2EC-8003C37C 036C2C 0090+00 1/1 54/54 894/894 .text * getRes__14dRes_control_cFPCclP11dRes_info_ci */ +// weird branching +#ifdef NONMATCHING +void* dRes_control_c::getRes(char const* arcName, s32 resIdx, dRes_info_c* pInfo, int infoSize) { + dRes_info_c* resInfo = getResInfoLoaded(arcName, pInfo, infoSize); + + if (resInfo == NULL) { + JKRArchive* archive = resInfo->getArchive(); + u32 fileCount = archive->countFile(); + + if (resIdx >= (int)fileCount) { + OSReport_Error("<%s.arc> getRes: res index over !! index=%d count=%d\n", arcName, + resIdx, fileCount); + return NULL; + } + } + return resInfo->getRes(resIdx); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dRes_control_c::getRes(char const* param_0, s32 param_1, dRes_info_c* param_2, - int param_3) { +asm void* dRes_control_c::getRes(char const* param_0, s32 param_1, dRes_info_c* param_2, + int param_3) { nofralloc #include "asm/d/d_resorce/getRes__14dRes_control_cFPCclP11dRes_info_ci.s" } #pragma pop +#endif /* 8003C37C-8003C400 036CBC 0084+00 0/0 18/18 109/109 .text * getRes__14dRes_control_cFPCcPCcP11dRes_info_ci */ +// same weird branch issue +#ifdef NONMATCHING +void* dRes_control_c::getRes(char const* arcName, char const* resName, dRes_info_c* pInfo, + int infoSize) { + dRes_info_c* resInfo = getResInfoLoaded(arcName, pInfo, infoSize); + + if (resInfo == NULL) { + JKRArchive* archive = resInfo->getArchive(); + JKRArchive::SDIFileEntry* entry = archive->findNameResource(resName); + + if (entry != NULL) { + return resInfo->getRes(entry - archive->mFiles); + } else { + return NULL; + } + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dRes_control_c::getRes(char const* param_0, char const* param_1, dRes_info_c* param_2, - int param_3) { +asm void* dRes_control_c::getRes(char const* param_0, char const* param_1, dRes_info_c* param_2, + int param_3) { nofralloc #include "asm/d/d_resorce/getRes__14dRes_control_cFPCcPCcP11dRes_info_ci.s" } #pragma pop +#endif /* 8003C400-8003C470 036D40 0070+00 0/0 7/7 4/4 .text * getIDRes__14dRes_control_cFPCcUsP11dRes_info_ci */ @@ -957,82 +1074,76 @@ asm void dRes_control_c::getIDRes(char const* param_0, u16 param_1, dRes_info_c* /* 8003C470-8003C4E4 036DB0 0074+00 0/0 3/3 0/0 .text syncAllRes__14dRes_control_cFP11dRes_info_ci */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dRes_control_c::syncAllRes(dRes_info_c* param_0, int param_1) { - nofralloc -#include "asm/d/d_resorce/syncAllRes__14dRes_control_cFP11dRes_info_ci.s" +int dRes_control_c::syncAllRes(dRes_info_c* pInfo, int infoSize) { + for (int i = 0; i < infoSize; i++) { + if (pInfo->getDMCommand() != NULL && pInfo->setRes() > 0) { + return 1; + } + pInfo++; + } + return 0; } -#pragma pop - -/* ############################################################################################## */ -/* 803798B8-803798B8 005F18 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80379BD6 = ""; -#pragma pop /* 8003C4E4-8003C5BC 036E24 00D8+00 1/1 0/0 0/0 .text * setObjectRes__14dRes_control_cFPCcPvUlP7JKRHeap */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dRes_control_c::setObjectRes(char const* param_0, void* param_1, u32 param_2, - JKRHeap* param_3) { - nofralloc -#include "asm/d/d_resorce/setObjectRes__14dRes_control_cFPCcPvUlP7JKRHeap.s" -} -#pragma pop +int dRes_control_c::setObjectRes(char const* arcName, void* i_archiveRes, u32 param_2, + JKRHeap* param_3) { + if (!setRes(arcName, &mObjectInfo[0], 0x80, "", 0, NULL)) { + return 0; + } else { + JKRMemArchive* memArchive = + new JKRMemArchive(i_archiveRes, param_2, JKRMEMBREAK_FLAG_UNKNOWN0); -/* ############################################################################################## */ -/* 803798B8-803798B8 005F18 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80379BD7 = "/res/Stage/%s/"; -#pragma pop + if (memArchive == NULL || !memArchive->isMounted()) { + return 0; + } else { + dRes_info_c* info = getResInfo(arcName, &mObjectInfo[0], 0x80); + int resStatus = info->setRes(memArchive, param_3); + return resStatus == 0 ? 1 : 0; + } + } +} /* 8003C5BC-8003C638 036EFC 007C+00 0/0 2/2 0/0 .text setStageRes__14dRes_control_cFPCcP7JKRHeap */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dRes_control_c::setStageRes(char const* param_0, JKRHeap* param_1) { - nofralloc -#include "asm/d/d_resorce/setStageRes__14dRes_control_cFPCcP7JKRHeap.s" -} -#pragma pop +int dRes_control_c::setStageRes(char const* arcName, JKRHeap* pHeap) { + char path[20]; -/* ############################################################################################## */ -/* 803798B8-803798B8 005F18 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80379BE6 = "\ndRes_control_c::dump mObjectInfo\n"; -SECTION_DEAD static char const* const stringBase_80379C09 = "\ndRes_control_c::dump mStageInfo\n"; -/* @stringBase0 padding */ -SECTION_DEAD static char const* const pad_80379C2B = "\0\0\0\0"; -#pragma pop + snprintf(path, 20, "/res/Stage/%s/", dComIfGp_getStartStageName()); + return setRes(arcName, &mStageInfo[0], 0x40, path, 1, pHeap); +} /* 8003C638-8003C6B8 036F78 0080+00 0/0 2/2 0/0 .text dump__14dRes_control_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dRes_control_c::dump() { - nofralloc -#include "asm/d/d_resorce/dump__14dRes_control_cFv.s" +void dRes_control_c::dump() { + JUTReportConsole_f("\ndRes_control_c::dump mObjectInfo\n"); + dRes_info_c::dump(&mObjectInfo[0], ARRAY_SIZE(mObjectInfo)); + dRes_info_c::dump_long(&mObjectInfo[0], ARRAY_SIZE(mObjectInfo)); + + JUTReportConsole_f("\ndRes_control_c::dump mStageInfo\n"); + dRes_info_c::dump(&mStageInfo[0], ARRAY_SIZE(mStageInfo)); + dRes_info_c::dump_long(&mStageInfo[0], ARRAY_SIZE(mStageInfo)); } -#pragma pop /* 8003C6B8-8003C734 036FF8 007C+00 0/0 0/0 32/32 .text * getObjectResName2Index__14dRes_control_cFPCcPCc */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dRes_control_c::getObjectResName2Index(char const* param_0, char const* param_1) { - nofralloc -#include "asm/d/d_resorce/getObjectResName2Index__14dRes_control_cFPCcPCc.s" +int dRes_control_c::getObjectResName2Index(char const* arcName, char const* param_1) { + dRes_info_c* info = getResInfoLoaded(arcName, &mObjectInfo[0], ARRAY_SIZE(mObjectInfo)); + + if (info == NULL) { + return -1; + } else if (param_1 == NULL) { + return -1; + } else { + JKRArchive* archive = info->getArchive(); + JKRArchive::SDIFileEntry* entry = archive->findNameResource(param_1); + + if (entry != NULL) { + return entry->file_id; + } else { + return -1; + } + } } -#pragma pop /* 8003C734-8003C77C 037074 0048+00 1/0 0/0 0/0 .text __dt__10J3DAnmBaseFv */ #pragma push diff --git a/src/d/d_select_icon.cpp b/src/d/d_select_icon.cpp index 372b46f14e..0178d767b0 100644 --- a/src/d/d_select_icon.cpp +++ b/src/d/d_select_icon.cpp @@ -1,158 +1,40 @@ -// -// Generated By: dol2asm -// Translation Unit: d/d_select_icon -// - #include "d/d_select_icon.h" #include "dol2asm.h" #include "dolphin/types.h" -// -// Types: -// +dSi_HIO_c::dSi_HIO_c() {} -struct dSi_HIO_c { - /* 80195A2C */ dSi_HIO_c(); - /* 80195C1C */ ~dSi_HIO_c(); -}; +void dSelect_icon_c::animation() { + if (field_0x10->getAlpha() != 0) { + field_0x20 += field_0x2c; + if (field_0x20 >= field_0x1c->getFrameMax()) { + field_0x20 = 0.0f; + } + field_0x1c->setFrame(field_0x20); -struct J2DPane {}; + field_0x28 += field_0x2c; + if (field_0x28 >= field_0x24->getFrameMax()) { + field_0x28 = 0.0f; + } -struct dSelect_icon_c { - /* 80195A3C */ void animation(); - /* 80195B40 */ void setAlpha(u8); - /* 80195B70 */ void setPos(J2DPane*, f32, f32); -}; - -struct J2DScreen { - /* 802F9690 */ void animation(); -}; - -struct CPaneMgr { - /* 80254638 */ void paneScale(f32, f32); -}; - -// -// Forward References: -// - -extern "C" void __ct__9dSi_HIO_cFv(); -extern "C" void animation__14dSelect_icon_cFv(); -extern "C" void setAlpha__14dSelect_icon_cFUc(); -extern "C" void setPos__14dSelect_icon_cFP7J2DPaneff(); -extern "C" void __dt__9dSi_HIO_cFv(); -extern "C" void __sinit_d_select_icon_cpp(); - -// -// External References: -// - -extern "C" void paneScale__8CPaneMgrFff(); -extern "C" void __dl__FPv(); -extern "C" void animation__9J2DScreenFv(); -extern "C" void __register_global_object(); - -// -// Declarations: -// - -/* ############################################################################################## */ -/* 803BB7B8-803BB7C8 0188D8 000C+04 2/2 0/0 0/0 .data __vt__9dSi_HIO_c */ -SECTION_DATA extern void* __vt__9dSi_HIO_c[3 + 1 /* padding */] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__9dSi_HIO_cFv, - /* padding */ - NULL, -}; - -/* 80195A2C-80195A3C 19036C 0010+00 1/1 0/0 0/0 .text __ct__9dSi_HIO_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm dSi_HIO_c::dSi_HIO_c() { - nofralloc -#include "asm/d/d_select_icon/__ct__9dSi_HIO_cFv.s" + field_0x24->setFrame(field_0x28); + field_0x8->animation(); + field_0x10->paneScale(field_0x14, field_0x14); + } } -#pragma pop -/* ############################################################################################## */ -/* 80453A70-80453A78 002070 0004+04 1/1 0/0 0/0 .sdata2 @3740 */ -SECTION_SDATA2 static f32 lit_3740[1 + 1 /* padding */] = { - 0.0f, - /* padding */ - 0.0f, -}; - -/* 80453A78-80453A80 002078 0008+00 1/1 0/0 0/0 .sdata2 @3773 */ -SECTION_SDATA2 static f64 lit_3773 = 4503601774854144.0 /* cast s32 to float */; - -/* 80195A3C-80195B40 19037C 0104+00 0/0 1/1 0/0 .text animation__14dSelect_icon_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dSelect_icon_c::animation() { - nofralloc -#include "asm/d/d_select_icon/animation__14dSelect_icon_cFv.s" +void dSelect_icon_c::setAlpha(u8 param_0) { + field_0x10->setAlpha(param_0); } -#pragma pop -/* 80195B40-80195B70 190480 0030+00 0/0 1/1 0/0 .text setAlpha__14dSelect_icon_cFUc */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dSelect_icon_c::setAlpha(u8 param_0) { - nofralloc -#include "asm/d/d_select_icon/setAlpha__14dSelect_icon_cFUc.s" +void dSelect_icon_c::setPos(J2DPane* param_0, f32 transX, f32 transY) { + field_0x14 = param_0->getWidth() / 100.0f; + field_0x18 = param_0->getHeight() / 100.0f; + + field_0x10->paneScale(field_0x14, field_0x14); + field_0xc->getPanePtr()->translate(transX, transY); } -#pragma pop -/* ############################################################################################## */ -/* 80453A80-80453A88 002080 0004+04 1/1 0/0 0/0 .sdata2 @3814 */ -SECTION_SDATA2 static f32 lit_3814[1 + 1 /* padding */] = { - 100.0f, - /* padding */ - 0.0f, -}; +dSi_HIO_c::~dSi_HIO_c() {} -/* 80195B70-80195C1C 1904B0 00AC+00 0/0 1/1 0/0 .text setPos__14dSelect_icon_cFP7J2DPaneff */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dSelect_icon_c::setPos(J2DPane* param_0, f32 param_1, f32 param_2) { - nofralloc -#include "asm/d/d_select_icon/setPos__14dSelect_icon_cFP7J2DPaneff.s" -} -#pragma pop - -/* 80195C1C-80195C64 19055C 0048+00 2/1 0/0 0/0 .text __dt__9dSi_HIO_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm dSi_HIO_c::~dSi_HIO_c() { - nofralloc -#include "asm/d/d_select_icon/__dt__9dSi_HIO_cFv.s" -} -#pragma pop - -/* ############################################################################################## */ -/* 8042CA10-8042CA20 059730 000C+04 1/1 0/0 0/0 .bss @3648 */ -static u8 lit_3648[12 + 4 /* padding */]; - -/* 80451050-80451058 000550 0008+00 1/1 0/0 0/0 .sbss g_siHIO */ -static u8 g_siHIO[8]; - -/* 80195C64-80195C9C 1905A4 0038+00 0/0 1/0 0/0 .text __sinit_d_select_icon_cpp */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void __sinit_d_select_icon_cpp() { - nofralloc -#include "asm/d/d_select_icon/__sinit_d_select_icon_cpp.s" -} -#pragma pop - -#pragma push -#pragma force_active on -REGISTER_CTORS(0x80195C64, __sinit_d_select_icon_cpp); -#pragma pop +static dSi_HIO_c g_siHIO; \ No newline at end of file diff --git a/src/d/d_stage.cpp b/src/d/d_stage.cpp index f9cc8ef13c..b731614513 100644 --- a/src/d/d_stage.cpp +++ b/src/d/d_stage.cpp @@ -4,6 +4,7 @@ // #include "d/d_stage.h" +#include "d/com/d_com_inf_game.h" #include "dol2asm.h" #include "dolphin/types.h" #include "m_Do/m_Do_ext.h" @@ -28,14 +29,6 @@ struct dSvBit_HIO_c { /* 8025C1F8 */ void init(); }; -struct dRes_info_c {}; - -struct dRes_control_c { - /* 8003C160 */ void syncRes(char const*, dRes_info_c*, int); - /* 8003C194 */ void deleteRes(char const*, dRes_info_c*, int); - /* 8003C1E4 */ void getResInfo(char const*, dRes_info_c*, int); -}; - struct dDrawPath_c { struct room_class {}; }; @@ -45,28 +38,10 @@ struct dMpath_c { /* 8003FA40 */ void setPointer(s8, void*, int); }; -struct dEvent_manager_c { - /* 80046710 */ void create(); - /* 80046C0C */ void remove(); -}; - -struct dComIfG_play_c { - /* 8002C97C */ void getLayerNo(int); -}; - -struct cBgS_PolyInfo {}; - -struct dBgS { - /* 80074B98 */ void GetExitId(cBgS_PolyInfo const&); - /* 80075100 */ void GetRoomId(cBgS_PolyInfo const&); -}; - struct cMl { /* 80263228 */ void memalignB(int, u32); }; -struct cBgS_GndChk {}; - struct JKRAramArchive {}; // @@ -449,9 +424,7 @@ extern "C" void _restgpr_26(); extern "C" void _restgpr_27(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); -extern "C" void snprintf(char*, u32, char*, ...); extern "C" extern J3DLightInfo const j3dDefaultLightInfo; -extern "C" extern u8 g_dComIfG_gameInfo[122384]; extern "C" extern u8 g_save_bit_HIO[1184 + 4 /* padding */]; extern "C" extern u8 data_804505F0[8]; extern "C" u8 mResetData__6mDoRst[4 + 4 /* padding */]; @@ -460,6 +433,10 @@ extern "C" u8 mResetData__6mDoRst[4 + 4 /* padding */]; // Declarations: // +inline dStage_stageDt_c& dComIfGp_getStage() { + return g_dComIfG_gameInfo.play.getStage(); +} + void dStage_nextStage_c::set(const char* i_stage, s8 i_roomId, s16 i_point, s8 i_layer, s8 i_wipe, u8 i_speed) { if (!enabled) { @@ -561,8 +538,8 @@ static int dStage_RoomKeepDoorInit(dStage_dt_c* param_0, void* param_1, int para #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void dStage_RoomKeepDoorInit(dStage_dt_c* param_0, void* param_1, int param_2, - void* param_3) { +static asm int dStage_RoomKeepDoorInit(dStage_dt_c* param_0, void* param_1, int param_2, + void* param_3) { nofralloc #include "asm/d/d_stage/dStage_RoomKeepDoorInit__FP11dStage_dt_cPviPv.s" } @@ -600,18 +577,17 @@ u32 dStage_roomControl_c::mProcID; /* 80450D67 0001+00 data_80450D67 None */ s8 struct_80450D64; -extern s8 sLastStayNo; +#pragma push +#pragma force_active on s8 sLastStayNo; -extern s8 sNextStayNo; s8 sNextStayNo; +#pragma pop -extern bool sTimePass; -bool sTimePass; +s8 sTimePass; /* 80450D68-80450D6C 000268 0004+00 2/2 2/2 1/1 .sbss None */ -extern u8 data_80450D68[4]; -u8 data_80450D68[4]; +u8 data_80450D68; /* 80450D6C-80450D70 00026C 0004+00 1/1 2/2 0/0 .sbss mArcBankName__20dStage_roomControl_c */ char* dStage_roomControl_c::mArcBankName; @@ -648,25 +624,24 @@ asm void dStage_roomControl_c::init() { /* 80024338-80024384 01EC78 004C+00 1/1 1/1 0/7 .text initZone__20dStage_roomControl_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dStage_roomControl_c::initZone() { - nofralloc -#include "asm/d/d_stage/initZone__20dStage_roomControl_cFv.s" +void dStage_roomControl_c::initZone() { + dComIfGs_initZone(); + + dStage_roomStatus_c* status = &mStatus[0]; + for (int i = 0; i < 0x40; i++) { + status->mZoneNo = -1; + status++; + } } -#pragma pop /* 80024384-800243B0 01ECC4 002C+00 2/2 27/27 6/6 .text getStatusRoomDt__20dStage_roomControl_cFi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dStage_roomControl_c::getStatusRoomDt(int param_0) { - nofralloc -#include "asm/d/d_stage/getStatusRoomDt__20dStage_roomControl_cFi.s" +dStage_roomStatus_c* dStage_roomControl_c::getStatusRoomDt(int i_statusIdx) { + if (i_statusIdx < 0 || i_statusIdx >= 0x40) { + return NULL; + } + return &mStatus[i_statusIdx]; } -#pragma pop /* ############################################################################################## */ /* 803A3B18-803A65CC 000C38 2AB4+00 2/2 0/0 0/0 .data l_objectName */ @@ -1067,14 +1042,25 @@ SECTION_DATA JKRExpHeap* dStage_roomControl_c::mMemoryBlock[19] = { }; /* 800243B0-800243E8 01ECF0 0038+00 0/0 3/3 1/1 .text getMemoryBlock__20dStage_roomControl_cFi */ +#ifdef NONMATCHING +JKRExpHeap* dStage_roomControl_c::getMemoryBlock(int i_roomNo) { + int blockId = getMemoryBlockID(i_roomNo); + + if (blockId < 0) { + return NULL; + } + return mMemoryBlock[blockId]; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dStage_roomControl_c::getMemoryBlock(int param_0) { +asm JKRExpHeap* dStage_roomControl_c::getMemoryBlock(int param_0) { nofralloc #include "asm/d/d_stage/getMemoryBlock__20dStage_roomControl_cFi.s" } #pragma pop +#endif /* 800243E8-80024424 01ED28 003C+00 2/2 0/0 0/0 .text setStayNo__20dStage_roomControl_cFi */ @@ -1101,21 +1087,9 @@ asm void dStage_roomControl_c::setStayNo(int param_0) { #endif /* 80024424-8002442C 01ED64 0008+00 0/0 0/0 1/1 .text setNextStayNo__20dStage_roomControl_cFi */ -// matches but need to fix data -#ifdef NONMATCHING -void dStage_roomControl_c::setNextStayNo(int param_0) { - sNextStayNo = param_0; +void dStage_roomControl_c::setNextStayNo(int nextStayNo) { + sNextStayNo = nextStayNo; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dStage_roomControl_c::setNextStayNo(int param_0) { - nofralloc -#include "asm/d/d_stage/setNextStayNo__20dStage_roomControl_cFi.s" -} -#pragma pop -#endif static int stayRoomCheck(int param_0, u8* param_1, int param_2) { for (; param_0 > 0; param_0--) { @@ -1138,14 +1112,12 @@ static asm void createRoomScene(int param_0) { #pragma pop /* 800244E8-8002451C 01EE28 0034+00 0/0 0/0 8/13 .text checkRoomDisp__20dStage_roomControl_cCFi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dStage_roomControl_c::checkRoomDisp(int param_0) const { - nofralloc -#include "asm/d/d_stage/checkRoomDisp__20dStage_roomControl_cCFi.s" +bool dStage_roomControl_c::checkRoomDisp(int i_roomNo) const { + if (checkStatusFlag(i_roomNo, 8)) { + return false; + } + return checkStatusFlag(i_roomNo, 16) ? true : false; } -#pragma pop /* 8002451C-8002471C 01EE5C 0200+00 2/2 0/0 0/2 .text loadRoom__20dStage_roomControl_cFiPUcb */ #pragma push @@ -1190,7 +1162,7 @@ void dStage_roomControl_c::destroyMemoryBlock() { /* ############################################################################################## */ /* 803A696C-803A6AAC 003A8C 0140+00 2/2 0/0 0/0 .data mArcBank__20dStage_roomControl_c */ -SECTION_DATA u8 dStage_roomControl_c::mArcBank[320] = { +SECTION_DATA char dStage_roomControl_c::mArcBank[32][10] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -1214,24 +1186,14 @@ SECTION_DATA u8 dStage_roomControl_c::mArcBank[320] = { }; /* 8002490C-80024940 01F24C 0034+00 1/1 1/1 0/2 .text setArcBank__20dStage_roomControl_cFiPCc */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dStage_roomControl_c::setArcBank(int param_0, char const* param_1) { - nofralloc -#include "asm/d/d_stage/setArcBank__20dStage_roomControl_cFiPCc.s" +void dStage_roomControl_c::setArcBank(int i_bank, char const* param_1) { + strncpy(&mArcBank[i_bank][0], param_1, 9); } -#pragma pop /* 80024940-80024954 01F280 0014+00 1/1 1/1 0/1 .text getArcBank__20dStage_roomControl_cFi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dStage_roomControl_c::getArcBank(int param_0) { - nofralloc -#include "asm/d/d_stage/getArcBank__20dStage_roomControl_cFi.s" +char* dStage_roomControl_c::getArcBank(int i_bank) { + return mArcBank[i_bank]; } -#pragma pop /* ############################################################################################## */ /* 80378A50-80378A50 0050B0 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ @@ -1244,17 +1206,56 @@ SECTION_DEAD static char const* const stringBase_80378AF0 = /* 80024954-80024A34 01F294 00E0+00 0/0 2/2 0/2 .text resetArchiveBank__20dStage_roomControl_cFi */ +// regalloc +#ifdef NONMATCHING +int dStage_roomControl_c::resetArchiveBank(int i_bank) { + for (; i_bank < 32; i_bank++) { + char* bank = getArcBank(i_bank); + + if (strcmp(bank, "")) { + s32 syncStatus = dComIfG_syncObjectRes(bank); + if (syncStatus < 0) { + OSReport_Error("Bank[%d] : %s.arc Sync Read Error !!\n", bank, i_bank); + } else { + if (syncStatus > 0) { + return 0; + } + dComIfG_deleteObjectResMain(bank); + setArcBank(i_bank, ""); + } + } + } + return 1; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dStage_roomControl_c::resetArchiveBank(int param_0) { +asm int dStage_roomControl_c::resetArchiveBank(int param_0) { nofralloc #include "asm/d/d_stage/resetArchiveBank__20dStage_roomControl_cFi.s" } #pragma pop +#endif /* 80024A34-80024ABC 01F374 0088+00 1/1 0/0 0/2 .text * create__Q220dStage_roomControl_c9roomDzs_cFUc */ +#ifdef NONMATCHING +void dStage_roomControl_c::roomDzs_c::create(u8 param_0) { + JKRExpHeap* archeap = mDoExt_getArchiveHeap(); + JKRHeap** heap = new (archeap, -4) JKRHeap*[param_0]; + m_dzs = heap; + + JKRHeap* heap2 = (JKRHeap*)m_dzs; + + if (heap2 != NULL) { + for (u8 i = 0; i < param_0; i++) { + heap2 = heap[i]; + } + m_num = param_0; + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -1263,6 +1264,7 @@ asm void dStage_roomControl_c::roomDzs_c::create(u8 param_0) { #include "asm/d/d_stage/create__Q220dStage_roomControl_c9roomDzs_cFUc.s" } #pragma pop +#endif /* 80024ABC-80024B44 01F3FC 0088+00 1/1 0/0 0/0 .text remove__Q220dStage_roomControl_c9roomDzs_cFv */ @@ -1368,21 +1370,9 @@ static asm void dStage_roomInit(int param_0) { #pragma pop /* 80024DB0-80024DB8 01F6F0 0008+00 2/2 0/0 0/0 .text SetTimePass__20dStage_roomControl_cFi */ -// matches but need to fix data -#ifdef NONMATCHING void dStage_roomControl_c::SetTimePass(int isPassing) { sTimePass = isPassing; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dStage_roomControl_c::SetTimePass(int param_0) { - nofralloc -#include "asm/d/d_stage/SetTimePass__20dStage_roomControl_cFi.s" -} -#pragma pop -#endif roomRead_class* dStage_stageDt_c::getRoom() const { return mRoom; @@ -1429,14 +1419,29 @@ const char* dStage_getName2(s16 procName, s8 subtype) { /* 80024EFC-80024F98 01F83C 009C+00 7/7 0/0 0/0 .text * dStage_actorCreate__FP22stage_actor_data_classP16fopAcM_prm_class */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void dStage_actorCreate(stage_actor_data_class* param_0, fopAcM_prm_class* param_1) { - nofralloc -#include "asm/d/d_stage/dStage_actorCreate__FP22stage_actor_data_classP16fopAcM_prm_class.s" +static void dStage_actorCreate(stage_actor_data_class* param_0, fopAcM_prm_class* param_1) { + dStage_objectNameInf* actorInf = dStage_searchName((char*)param_0); + fopAc_ac_c* actor; + + if (actorInf == NULL) { + JKRHeap::free(param_1, NULL); + } else { + param_1->mSubtype = actorInf->mSubtype; + s16 objName = actorInf->mProcName; + + // "hider" actor + if (objName == 0x30F) { + actor = (fopAc_ac_c*)fopAcM_FastCreate(objName, 0, NULL, param_1); + + if (actor != NULL) { + fopAcM_delete(actor); + } + } else { + layer_class* curLayer = fpcLy_CurrentLayer(); + fpcSCtRq_Request(curLayer, objName, 0, NULL, param_1); + } + } } -#pragma pop /* ############################################################################################## */ /* 80451C90-80451C94 000290 0004+00 2/2 0/0 0/0 .sdata2 @4270 */ @@ -1477,43 +1482,43 @@ SECTION_DEAD static char const* const stringBase_80378B2B = "S_MV000"; #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void dStage_playerInit(dStage_dt_c* param_0, void* param_1, int param_2, void* param_3) { +static asm int dStage_playerInit(dStage_dt_c* param_0, void* param_1, int param_2, void* param_3) { nofralloc #include "asm/d/d_stage/dStage_playerInit__FP11dStage_dt_cPviPv.s" } #pragma pop /* 800252B8-80025308 01FBF8 0050+00 1/0 0/0 0/0 .text dStage_cameraInit__FP11dStage_dt_cPviPv */ +#ifdef NONMATCHING +static int dStage_cameraInit(dStage_dt_c* param_0, void* param_1, int param_2, void* param_3) { + unkTest* tmp = (unkTest*)param_1; + param_0->setCamera((stage_camera_class*)tmp->field_0x4); + dStage_cameraCreate((stage_camera2_data_class*)tmp->field_0x4, 0, 0); + return 1; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void dStage_cameraInit(dStage_dt_c* param_0, void* param_1, int param_2, void* param_3) { +static asm int dStage_cameraInit(dStage_dt_c* param_0, void* param_1, int param_2, void* param_3) { nofralloc #include "asm/d/d_stage/dStage_cameraInit__FP11dStage_dt_cPviPv.s" } #pragma pop +#endif /* 80025308-8002533C 01FC48 0034+00 1/0 0/0 0/0 .text dStage_RoomCameraInit__FP11dStage_dt_cPviPv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void dStage_RoomCameraInit(dStage_dt_c* param_0, void* param_1, int param_2, - void* param_3) { - nofralloc -#include "asm/d/d_stage/dStage_RoomCameraInit__FP11dStage_dt_cPviPv.s" +static int dStage_RoomCameraInit(dStage_dt_c* i_stage, void* param_1, int param_2, void* param_3) { + i_stage->setCamera((stage_camera_class*)param_1 + 4); + return 1; } -#pragma pop /* 8002533C-80025370 01FC7C 0034+00 2/0 0/0 0/0 .text dStage_arrowInit__FP11dStage_dt_cPviPv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void dStage_arrowInit(dStage_dt_c* param_0, void* param_1, int param_2, void* param_3) { - nofralloc -#include "asm/d/d_stage/dStage_arrowInit__FP11dStage_dt_cPviPv.s" +static int dStage_arrowInit(dStage_dt_c* i_stage, void* param_1, int param_2, void* param_3) { + i_stage->setArrow((stage_arrow_class*)param_1 + 4); + return 1; } -#pragma pop /* 80025370-800253FC 01FCB0 008C+00 1/0 0/0 0/0 .text getMapInfo2__15dStage_roomDt_cCFi */ @@ -1562,8 +1567,8 @@ asm stage_map_info_dummy_class* dStage_stageDt_c::getMapInfoBase() const { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void dStage_paletteInfoInit(dStage_dt_c* param_0, void* param_1, int param_2, - void* param_3) { +static asm int dStage_paletteInfoInit(dStage_dt_c* param_0, void* param_1, int param_2, + void* param_3) { nofralloc #include "asm/d/d_stage/dStage_paletteInfoInit__FP11dStage_dt_cPviPv.s" } @@ -1574,8 +1579,8 @@ static asm void dStage_paletteInfoInit(dStage_dt_c* param_0, void* param_1, int #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void dStage_pselectInfoInit(dStage_dt_c* param_0, void* param_1, int param_2, - void* param_3) { +static asm int dStage_pselectInfoInit(dStage_dt_c* param_0, void* param_1, int param_2, + void* param_3) { nofralloc #include "asm/d/d_stage/dStage_pselectInfoInit__FP11dStage_dt_cPviPv.s" } @@ -1585,8 +1590,8 @@ static asm void dStage_pselectInfoInit(dStage_dt_c* param_0, void* param_1, int #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void dStage_envrInfoInit(dStage_dt_c* param_0, void* param_1, int param_2, - void* param_3) { +static asm int dStage_envrInfoInit(dStage_dt_c* param_0, void* param_1, int param_2, + void* param_3) { nofralloc #include "asm/d/d_stage/dStage_envrInfoInit__FP11dStage_dt_cPviPv.s" } @@ -1597,8 +1602,8 @@ static asm void dStage_envrInfoInit(dStage_dt_c* param_0, void* param_1, int par #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void dStage_filiInfo2Init(dStage_dt_c* param_0, void* param_1, int param_2, - void* param_3) { +static asm int dStage_filiInfo2Init(dStage_dt_c* param_0, void* param_1, int param_2, + void* param_3) { nofralloc #include "asm/d/d_stage/dStage_filiInfo2Init__FP11dStage_dt_cPviPv.s" } @@ -1609,8 +1614,8 @@ static asm void dStage_filiInfo2Init(dStage_dt_c* param_0, void* param_1, int pa #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void dStage_fieldMapFiliInfo2Init(dStage_dt_c* param_0, void* param_1, int param_2, - void* param_3) { +static asm int dStage_fieldMapFiliInfo2Init(dStage_dt_c* param_0, void* param_1, int param_2, + void* param_3) { nofralloc #include "asm/d/d_stage/dStage_fieldMapFiliInfo2Init__FP11dStage_dt_cPviPv.s" } @@ -1620,8 +1625,8 @@ static asm void dStage_fieldMapFiliInfo2Init(dStage_dt_c* param_0, void* param_1 #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void dStage_filiInfoInit(dStage_dt_c* param_0, void* param_1, int param_2, - void* param_3) { +static asm int dStage_filiInfoInit(dStage_dt_c* param_0, void* param_1, int param_2, + void* param_3) { nofralloc #include "asm/d/d_stage/dStage_filiInfoInit__FP11dStage_dt_cPviPv.s" } @@ -1632,8 +1637,8 @@ static asm void dStage_filiInfoInit(dStage_dt_c* param_0, void* param_1, int par #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void dStage_vrboxInfoInit(dStage_dt_c* param_0, void* param_1, int param_2, - void* param_3) { +static asm int dStage_vrboxInfoInit(dStage_dt_c* param_0, void* param_1, int param_2, + void* param_3) { nofralloc #include "asm/d/d_stage/dStage_vrboxInfoInit__FP11dStage_dt_cPviPv.s" } @@ -1644,8 +1649,8 @@ static asm void dStage_vrboxInfoInit(dStage_dt_c* param_0, void* param_1, int pa #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void dStage_vrboxcolInfoInit(dStage_dt_c* param_0, void* param_1, int param_2, - void* param_3) { +static asm int dStage_vrboxcolInfoInit(dStage_dt_c* param_0, void* param_1, int param_2, + void* param_3) { nofralloc #include "asm/d/d_stage/dStage_vrboxcolInfoInit__FP11dStage_dt_cPviPv.s" } @@ -1656,8 +1661,8 @@ static asm void dStage_vrboxcolInfoInit(dStage_dt_c* param_0, void* param_1, int #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void dStage_plightInfoInit(dStage_dt_c* param_0, void* param_1, int param_2, - void* param_3) { +static asm int dStage_plightInfoInit(dStage_dt_c* param_0, void* param_1, int param_2, + void* param_3) { nofralloc #include "asm/d/d_stage/dStage_plightInfoInit__FP11dStage_dt_cPviPv.s" } @@ -1667,8 +1672,8 @@ static asm void dStage_plightInfoInit(dStage_dt_c* param_0, void* param_1, int p #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void dStage_lgtvInfoInit(dStage_dt_c* param_0, void* param_1, int param_2, - void* param_3) { +static asm int dStage_lgtvInfoInit(dStage_dt_c* param_0, void* param_1, int param_2, + void* param_3) { nofralloc #include "asm/d/d_stage/dStage_lgtvInfoInit__FP11dStage_dt_cPviPv.s" } @@ -1696,8 +1701,8 @@ SECTION_DEAD static char const* const stringBase_80378B33 = "Xtg_00"; #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void dStage_stagInfoInit(dStage_dt_c* param_0, void* param_1, int param_2, - void* param_3) { +static asm int dStage_stagInfoInit(dStage_dt_c* param_0, void* param_1, int param_2, + void* param_3) { nofralloc #include "asm/d/d_stage/dStage_stagInfoInit__FP11dStage_dt_cPviPv.s" } @@ -1718,8 +1723,8 @@ asm void dStage_stageDt_c::resetOldMulti() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void dStage_sclsInfoInit(dStage_dt_c* param_0, void* param_1, int param_2, - void* param_3) { +static asm int dStage_sclsInfoInit(dStage_dt_c* param_0, void* param_1, int param_2, + void* param_3) { nofralloc #include "asm/d/d_stage/dStage_sclsInfoInit__FP11dStage_dt_cPviPv.s" } @@ -1730,8 +1735,8 @@ static asm void dStage_sclsInfoInit(dStage_dt_c* param_0, void* param_1, int par #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void dStage_actorCommonLayerInit(dStage_dt_c* param_0, void* param_1, int param_2, - void* param_3) { +static asm int dStage_actorCommonLayerInit(dStage_dt_c* param_0, void* param_1, int param_2, + void* param_3) { nofralloc #include "asm/d/d_stage/dStage_actorCommonLayerInit__FP11dStage_dt_cPviPv.s" } @@ -1742,8 +1747,8 @@ static asm void dStage_actorCommonLayerInit(dStage_dt_c* param_0, void* param_1, #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void dStage_tgscCommonLayerInit(dStage_dt_c* param_0, void* param_1, int param_2, - void* param_3) { +static asm int dStage_tgscCommonLayerInit(dStage_dt_c* param_0, void* param_1, int param_2, + void* param_3) { nofralloc #include "asm/d/d_stage/dStage_tgscCommonLayerInit__FP11dStage_dt_cPviPv.s" } @@ -1753,7 +1758,7 @@ static asm void dStage_tgscCommonLayerInit(dStage_dt_c* param_0, void* param_1, #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void dStage_actorInit(dStage_dt_c* param_0, void* param_1, int param_2, void* param_3) { +static asm int dStage_actorInit(dStage_dt_c* param_0, void* param_1, int param_2, void* param_3) { nofralloc #include "asm/d/d_stage/dStage_actorInit__FP11dStage_dt_cPviPv.s" } @@ -1764,8 +1769,8 @@ static asm void dStage_actorInit(dStage_dt_c* param_0, void* param_1, int param_ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void dStage_actorInit_always(dStage_dt_c* param_0, void* param_1, int param_2, - void* param_3) { +static asm int dStage_actorInit_always(dStage_dt_c* param_0, void* param_1, int param_2, + void* param_3) { nofralloc #include "asm/d/d_stage/dStage_actorInit_always__FP11dStage_dt_cPviPv.s" } @@ -1775,8 +1780,8 @@ static asm void dStage_actorInit_always(dStage_dt_c* param_0, void* param_1, int #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void dStage_tgscInfoInit(dStage_dt_c* param_0, void* param_1, int param_2, - void* param_3) { +static asm int dStage_tgscInfoInit(dStage_dt_c* param_0, void* param_1, int param_2, + void* param_3) { nofralloc #include "asm/d/d_stage/dStage_tgscInfoInit__FP11dStage_dt_cPviPv.s" } @@ -1786,8 +1791,8 @@ static asm void dStage_tgscInfoInit(dStage_dt_c* param_0, void* param_1, int par #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void dStage_doorInfoInit(dStage_dt_c* param_0, void* param_1, int param_2, - void* param_3) { +static asm int dStage_doorInfoInit(dStage_dt_c* param_0, void* param_1, int param_2, + void* param_3) { nofralloc #include "asm/d/d_stage/dStage_doorInfoInit__FP11dStage_dt_cPviPv.s" } @@ -1797,8 +1802,8 @@ static asm void dStage_doorInfoInit(dStage_dt_c* param_0, void* param_1, int par #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void dStage_roomReadInit(dStage_dt_c* param_0, void* param_1, int param_2, - void* param_3) { +static asm int dStage_roomReadInit(dStage_dt_c* param_0, void* param_1, int param_2, + void* param_3) { nofralloc #include "asm/d/d_stage/dStage_roomReadInit__FP11dStage_dt_cPviPv.s" } @@ -1819,8 +1824,8 @@ asm u8 dStage_roomRead_dt_c_GetReverbStage(roomRead_class& param_0, int param_1) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void dStage_ppntInfoInit(dStage_dt_c* param_0, void* param_1, int param_2, - void* param_3) { +static asm int dStage_ppntInfoInit(dStage_dt_c* param_0, void* param_1, int param_2, + void* param_3) { nofralloc #include "asm/d/d_stage/dStage_ppntInfoInit__FP11dStage_dt_cPviPv.s" } @@ -1830,8 +1835,8 @@ static asm void dStage_ppntInfoInit(dStage_dt_c* param_0, void* param_1, int par #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void dStage_pathInfoInit(dStage_dt_c* param_0, void* param_1, int param_2, - void* param_3) { +static asm int dStage_pathInfoInit(dStage_dt_c* param_0, void* param_1, int param_2, + void* param_3) { nofralloc #include "asm/d/d_stage/dStage_pathInfoInit__FP11dStage_dt_cPviPv.s" } @@ -1841,8 +1846,8 @@ static asm void dStage_pathInfoInit(dStage_dt_c* param_0, void* param_1, int par #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void dStage_rppnInfoInit(dStage_dt_c* param_0, void* param_1, int param_2, - void* param_3) { +static asm int dStage_rppnInfoInit(dStage_dt_c* param_0, void* param_1, int param_2, + void* param_3) { nofralloc #include "asm/d/d_stage/dStage_rppnInfoInit__FP11dStage_dt_cPviPv.s" } @@ -1852,8 +1857,8 @@ static asm void dStage_rppnInfoInit(dStage_dt_c* param_0, void* param_1, int par #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void dStage_rpatInfoInit(dStage_dt_c* param_0, void* param_1, int param_2, - void* param_3) { +static asm int dStage_rpatInfoInit(dStage_dt_c* param_0, void* param_1, int param_2, + void* param_3) { nofralloc #include "asm/d/d_stage/dStage_rpatInfoInit__FP11dStage_dt_cPviPv.s" } @@ -1864,8 +1869,8 @@ static asm void dStage_rpatInfoInit(dStage_dt_c* param_0, void* param_1, int par #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void dStage_soundInfoInit(dStage_dt_c* param_0, void* param_1, int param_2, - void* param_3) { +static asm int dStage_soundInfoInit(dStage_dt_c* param_0, void* param_1, int param_2, + void* param_3) { nofralloc #include "asm/d/d_stage/dStage_soundInfoInit__FP11dStage_dt_cPviPv.s" } @@ -1876,8 +1881,8 @@ static asm void dStage_soundInfoInit(dStage_dt_c* param_0, void* param_1, int pa #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void dStage_soundInfoInitCL(dStage_dt_c* param_0, void* param_1, int param_2, - void* param_3) { +static asm int dStage_soundInfoInitCL(dStage_dt_c* param_0, void* param_1, int param_2, + void* param_3) { nofralloc #include "asm/d/d_stage/dStage_soundInfoInitCL__FP11dStage_dt_cPviPv.s" } @@ -1902,6 +1907,28 @@ SECTION_DEAD static char const* const stringBase_80378B3A = "dStage_dt_c_decode: /* 800260B4-8002617C 0209F4 00C8+00 9/9 0/0 0/0 .text * dStage_dt_c_decode__FPvP11dStage_dt_cP9FuncTablei */ +// no idea +#ifdef NONMATCHING +static void dStage_dt_c_decode(void* i_data, dStage_dt_c* i_stage, FuncTable* param_2, + int param_3) { + int* ptr; + + if (i_data != NULL) { + int ivar4 = 0; + ptr = (int*)i_data + 1; + for (int i = 0; i < param_3; i += 12) { + for (int j = 0; j < (int)ptr; j += 12) { + if ((int)ptr == ivar4) { + param_2->function(i_stage, (void*)ptr, param_3, i_data); + } + } + ivar4++; + } + } + + OSReport_Error("dStage_dt_c_decode: i_data is NULL\n"); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -1911,14 +1938,15 @@ static asm void dStage_dt_c_decode(void* param_0, dStage_dt_c* param_1, FuncTabl #include "asm/d/d_stage/dStage_dt_c_decode__FPvP11dStage_dt_cP9FuncTablei.s" } #pragma pop +#endif /* 8002617C-800261B0 020ABC 0034+00 1/0 0/0 0/0 .text dStage_stEventInfoInit__FP11dStage_dt_cPviPv */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void dStage_stEventInfoInit(dStage_dt_c* param_0, void* param_1, int param_2, - void* param_3) { +static asm int dStage_stEventInfoInit(dStage_dt_c* param_0, void* param_1, int param_2, + void* param_3) { nofralloc #include "asm/d/d_stage/dStage_stEventInfoInit__FP11dStage_dt_cPviPv.s" } @@ -1929,8 +1957,8 @@ static asm void dStage_stEventInfoInit(dStage_dt_c* param_0, void* param_1, int #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void dStage_mapEventInfoInit(dStage_dt_c* param_0, void* param_1, int param_2, - void* param_3) { +static asm int dStage_mapEventInfoInit(dStage_dt_c* param_0, void* param_1, int param_2, + void* param_3) { nofralloc #include "asm/d/d_stage/dStage_mapEventInfoInit__FP11dStage_dt_cPviPv.s" } @@ -1941,8 +1969,8 @@ static asm void dStage_mapEventInfoInit(dStage_dt_c* param_0, void* param_1, int #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void dStage_floorInfoInit(dStage_dt_c* param_0, void* param_1, int param_2, - void* param_3) { +static asm int dStage_floorInfoInit(dStage_dt_c* param_0, void* param_1, int param_2, + void* param_3) { nofralloc #include "asm/d/d_stage/dStage_floorInfoInit__FP11dStage_dt_cPviPv.s" } @@ -1952,8 +1980,8 @@ static asm void dStage_floorInfoInit(dStage_dt_c* param_0, void* param_1, int pa #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void dStage_memaInfoInit(dStage_dt_c* param_0, void* param_1, int param_2, - void* param_3) { +static asm int dStage_memaInfoInit(dStage_dt_c* param_0, void* param_1, int param_2, + void* param_3) { nofralloc #include "asm/d/d_stage/dStage_memaInfoInit__FP11dStage_dt_cPviPv.s" } @@ -1963,8 +1991,8 @@ static asm void dStage_memaInfoInit(dStage_dt_c* param_0, void* param_1, int par #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void dStage_mecoInfoInit(dStage_dt_c* param_0, void* param_1, int param_2, - void* param_3) { +static asm int dStage_mecoInfoInit(dStage_dt_c* param_0, void* param_1, int param_2, + void* param_3) { nofralloc #include "asm/d/d_stage/dStage_mecoInfoInit__FP11dStage_dt_cPviPv.s" } @@ -1975,8 +2003,8 @@ static asm void dStage_mecoInfoInit(dStage_dt_c* param_0, void* param_1, int par #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void dStage_stageKeepTresureInit(dStage_dt_c* param_0, void* param_1, int param_2, - void* param_3) { +static asm int dStage_stageKeepTresureInit(dStage_dt_c* param_0, void* param_1, int param_2, + void* param_3) { nofralloc #include "asm/d/d_stage/dStage_stageKeepTresureInit__FP11dStage_dt_cPviPv.s" } @@ -1987,8 +2015,8 @@ static asm void dStage_stageKeepTresureInit(dStage_dt_c* param_0, void* param_1, #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void dStage_fieldMapTresureInit(dStage_dt_c* param_0, void* param_1, int param_2, - void* param_3) { +static asm int dStage_fieldMapTresureInit(dStage_dt_c* param_0, void* param_1, int param_2, + void* param_3) { nofralloc #include "asm/d/d_stage/dStage_fieldMapTresureInit__FP11dStage_dt_cPviPv.s" } @@ -2008,8 +2036,7 @@ static asm void dStage_dt_c_offsetToPtr(void* param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void dStage_mapPathInit(dStage_dt_c* param_0, void* param_1, int param_2, - void* param_3) { +static asm int dStage_mapPathInit(dStage_dt_c* param_0, void* param_1, int param_2, void* param_3) { nofralloc #include "asm/d/d_stage/dStage_mapPathInit__FP11dStage_dt_cPviPv.s" } @@ -2020,8 +2047,8 @@ static asm void dStage_mapPathInit(dStage_dt_c* param_0, void* param_1, int para #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void dStage_mapPathInitCommonLayer(dStage_dt_c* param_0, void* param_1, int param_2, - void* param_3) { +static asm int dStage_mapPathInitCommonLayer(dStage_dt_c* param_0, void* param_1, int param_2, + void* param_3) { nofralloc #include "asm/d/d_stage/dStage_mapPathInitCommonLayer__FP11dStage_dt_cPviPv.s" } @@ -2032,8 +2059,8 @@ static asm void dStage_mapPathInitCommonLayer(dStage_dt_c* param_0, void* param_ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void dStage_fieldMapMapPathInit(dStage_dt_c* param_0, void* param_1, int param_2, - void* param_3) { +static asm int dStage_fieldMapMapPathInit(dStage_dt_c* param_0, void* param_1, int param_2, + void* param_3) { nofralloc #include "asm/d/d_stage/dStage_fieldMapMapPathInit__FP11dStage_dt_cPviPv.s" } @@ -2065,8 +2092,8 @@ static asm void readMult(dStage_dt_c* param_0, dStage_Multi_c* param_1, bool par #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void dStage_multInfoInit(dStage_dt_c* param_0, void* param_1, int param_2, - void* param_3) { +static asm int dStage_multInfoInit(dStage_dt_c* param_0, void* param_1, int param_2, + void* param_3) { nofralloc #include "asm/d/d_stage/dStage_multInfoInit__FP11dStage_dt_cPviPv.s" } @@ -2076,8 +2103,8 @@ static asm void dStage_multInfoInit(dStage_dt_c* param_0, void* param_1, int par #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void dStage_lbnkInfoInit(dStage_dt_c* param_0, void* param_1, int param_2, - void* param_3) { +static asm int dStage_lbnkInfoInit(dStage_dt_c* param_0, void* param_1, int param_2, + void* param_3) { nofralloc #include "asm/d/d_stage/dStage_lbnkInfoInit__FP11dStage_dt_cPviPv.s" } @@ -2088,8 +2115,8 @@ static asm void dStage_lbnkInfoInit(dStage_dt_c* param_0, void* param_1, int par #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void dStage_roomTresureInit(dStage_dt_c* param_0, void* param_1, int param_2, - void* param_3) { +static asm int dStage_roomTresureInit(dStage_dt_c* param_0, void* param_1, int param_2, + void* param_3) { nofralloc #include "asm/d/d_stage/dStage_roomTresureInit__FP11dStage_dt_cPviPv.s" } @@ -2100,8 +2127,8 @@ static asm void dStage_roomTresureInit(dStage_dt_c* param_0, void* param_1, int #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void dStage_layerTresureInit(dStage_dt_c* param_0, void* param_1, int param_2, - void* param_3) { +static asm int dStage_layerTresureInit(dStage_dt_c* param_0, void* param_1, int param_2, + void* param_3) { nofralloc #include "asm/d/d_stage/dStage_layerTresureInit__FP11dStage_dt_cPviPv.s" } @@ -2111,8 +2138,8 @@ static asm void dStage_layerTresureInit(dStage_dt_c* param_0, void* param_1, int #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void dStage_dmapInfoInit(dStage_dt_c* param_0, void* param_1, int param_2, - void* param_3) { +static asm int dStage_dmapInfoInit(dStage_dt_c* param_0, void* param_1, int param_2, + void* param_3) { nofralloc #include "asm/d/d_stage/dStage_dmapInfoInit__FP11dStage_dt_cPviPv.s" } @@ -2123,8 +2150,8 @@ static asm void dStage_dmapInfoInit(dStage_dt_c* param_0, void* param_1, int par #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void dStage_stageDrtgInfoInit(dStage_dt_c* param_0, void* param_1, int param_2, - void* param_3) { +static asm int dStage_stageDrtgInfoInit(dStage_dt_c* param_0, void* param_1, int param_2, + void* param_3) { nofralloc #include "asm/d/d_stage/dStage_stageDrtgInfoInit__FP11dStage_dt_cPviPv.s" } @@ -2135,8 +2162,8 @@ static asm void dStage_stageDrtgInfoInit(dStage_dt_c* param_0, void* param_1, in #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void dStage_roomDrtgInfoInit(dStage_dt_c* param_0, void* param_1, int param_2, - void* param_3) { +static asm int dStage_roomDrtgInfoInit(dStage_dt_c* param_0, void* param_1, int param_2, + void* param_3) { nofralloc #include "asm/d/d_stage/dStage_roomDrtgInfoInit__FP11dStage_dt_cPviPv.s" } @@ -2146,8 +2173,8 @@ static asm void dStage_roomDrtgInfoInit(dStage_dt_c* param_0, void* param_1, int #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void dStage_elstInfoInit(dStage_dt_c* param_0, void* param_1, int param_2, - void* param_3) { +static asm int dStage_elstInfoInit(dStage_dt_c* param_0, void* param_1, int param_2, + void* param_3) { nofralloc #include "asm/d/d_stage/dStage_elstInfoInit__FP11dStage_dt_cPviPv.s" } @@ -2164,25 +2191,18 @@ static asm void dKankyo_create() { #pragma pop /* 80026914-80026940 021254 002C+00 1/1 0/0 0/0 .text layerMemoryInfoLoader__FPvP11dStage_dt_ci */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void layerMemoryInfoLoader(void* param_0, dStage_dt_c* param_1, int param_2) { - nofralloc -#include "asm/d/d_stage/layerMemoryInfoLoader__FPvP11dStage_dt_ci.s" +static void layerMemoryInfoLoader(void* i_data, dStage_dt_c* i_stage, int param_2) { + dStage_dt_c_decode(i_data, i_stage, &l_layerFuncTable_5131[0], 2); } -#pragma pop /* 80026940-800269B4 021280 0074+00 1/1 0/0 0/0 .text * dStage_dt_c_stageInitLoader__FPvP11dStage_dt_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void dStage_dt_c_stageInitLoader(void* param_0, dStage_dt_c* param_1) { - nofralloc -#include "asm/d/d_stage/dStage_dt_c_stageInitLoader__FPvP11dStage_dt_c.s" +static void dStage_dt_c_stageInitLoader(void* i_data, dStage_dt_c* i_stage) { + dStage_dt_c_offsetToPtr(i_data); + i_stage->init(); + dStage_dt_c_decode(i_data, i_stage, &l_funcTable_5136, 1); + layerMemoryInfoLoader(i_data, i_stage, -1); } -#pragma pop /* 800269B4-80026AE8 0212F4 0134+00 2/2 0/0 0/0 .text layerTableLoader__FPvP11dStage_dt_ci */ #pragma push @@ -2258,22 +2278,13 @@ asm void dStage_dt_c_fieldMapLoader(void* param_0, dStage_dt_c* param_1) { } #pragma pop -/* ############################################################################################## */ -/* 80378A50-80378A50 0050B0 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80378B69 = "stage.dzs"; -#pragma pop - /* 80026CDC-80026D38 02161C 005C+00 0/0 1/1 0/0 .text dStage_infoCreate__Fv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dStage_infoCreate() { - nofralloc -#include "asm/d/d_stage/dStage_infoCreate__Fv.s" +void dStage_infoCreate() { + void* stageRsrc = dComIfG_getStageRes("stage.dzs"); + + dComIfGp_roomControl_init(); + dStage_dt_c_stageInitLoader(stageRsrc, &dComIfGp_getStage()); } -#pragma pop /* ############################################################################################## */ /* 80378A50-80378A50 0050B0 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ diff --git a/src/d/event/d_event.cpp b/src/d/event/d_event.cpp index 05dc45d94b..c30bb716b9 100644 --- a/src/d/event/d_event.cpp +++ b/src/d/event/d_event.cpp @@ -170,6 +170,10 @@ inline dEvent_manager_c& dComIfGp_getEventManager() { return g_dComIfG_gameInfo.play.getEvtManager(); } +inline dEvt_control_c& dComIfGp_getEvent() { + return g_dComIfG_gameInfo.play.getEvent(); +} + /* 80041480-80041488 03BDC0 0008+00 1/1 0/0 0/0 .text event_debug_evnt__21@unnamed@d_event_cpp@Fv */ static bool func_80041480() { @@ -201,17 +205,17 @@ dEvt_order_c::dEvt_order_c() { /* 800415D8-80041668 03BF18 0090+00 1/1 0/0 0/0 .text orderOld__14dEvt_control_cFUsUsUsUsPvPvPCv */ -void dEvt_control_c::orderOld(u16 param_0, u16 param_1, u16 param_2, u16 param_3, void* param_4, +bool dEvt_control_c::orderOld(u16 param_0, u16 param_1, u16 param_2, u16 param_3, void* param_4, void* param_5, void const* param_6) { s16 eventIdx = dComIfGp_getEventManager().getEventIdx((char*)param_6, -1, -1); - order(param_0, param_1, param_2, param_3, param_4, param_5, eventIdx, -1); + return order(param_0, param_1, param_2, param_3, param_4, param_5, eventIdx, -1); } /* 80041668-80041804 03BFA8 019C+00 3/3 13/13 0/0 .text order__14dEvt_control_cFUsUsUsUsPvPvsUc */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dEvt_control_c::order(u16 param_0, u16 param_1, u16 param_2, u16 param_3, void* param_4, +asm bool dEvt_control_c::order(u16 param_0, u16 param_1, u16 param_2, u16 param_3, void* param_4, void* param_5, s16 param_6, u8 param_7) { nofralloc #include "asm/d/event/d_event/order__14dEvt_control_cFUsUsUsUsPvPvsUc.s" @@ -268,7 +272,7 @@ asm void dEvt_control_c::afterFlagProc(dEvt_order_c* param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dEvt_control_c::commonCheck(dEvt_order_c* param_0, u16 param_1, u16 param_2) { +asm int dEvt_control_c::commonCheck(dEvt_order_c* param_0, u16 param_1, u16 param_2) { nofralloc #include "asm/d/event/d_event/commonCheck__14dEvt_control_cFP12dEvt_order_cUsUs.s" } @@ -381,33 +385,54 @@ asm void dEvt_control_c::doorCheck(dEvt_order_c* param_0) { } #pragma pop -/* ############################################################################################## */ -/* 80379D80-80379D80 0063E0 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80379DB3 = "DEFAULT_GETITEM"; -#pragma pop - /* 8004212C-800421C0 03CA6C 0094+00 1/1 0/0 0/0 .text itemCheck__14dEvt_control_cFP12dEvt_order_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dEvt_control_c::itemCheck(dEvt_order_c* param_0) { - nofralloc -#include "asm/d/event/d_event/itemCheck__14dEvt_control_cFP12dEvt_order_c.s" +int dEvt_control_c::itemCheck(dEvt_order_c* param_0) { + const char* event = "DEFAULT_GETITEM"; + + if (commonCheck(param_0, 8, 4)) { + mMode = 2; + mSpecifiedEvent = dComIfGp_getEventManager().getEventIdx(event, -1, -1); + dComIfGp_getEventManager().order(mSpecifiedEvent); + return 1; + } else { + return 0; + } } -#pragma pop /* 800421C0-80042254 03CB00 0094+00 1/1 0/0 0/0 .text endProc__14dEvt_control_cFv */ +#ifdef NONMATCHING +int dEvt_control_c::endProc() { + switch (mMode) { + case 1: + talkEnd(); + break; + case 2: + demoEnd(); + break; + } + + mMode = 0; + field_0xea = 255; + mMapToolId = 255; + mStageEventDt = NULL; + field_0xec = 255; + field_0xed = 0; + field_0xe0 = -1; + mPreItemNo = 255; + dComIfGp_getEventManager().setStartDemo(-2); + return 1; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dEvt_control_c::endProc() { +asm int dEvt_control_c::endProc() { nofralloc #include "asm/d/event/d_event/endProc__14dEvt_control_cFv.s" } #pragma pop +#endif /* 80042254-800422C0 03CB94 006C+00 1/1 0/0 0/0 .text change__14dEvt_control_cFv */ #pragma push @@ -481,14 +506,10 @@ void dEvt_control_c::clearSkipSystem() { } /* 800425E8-8004261C 03CF28 0034+00 0/0 2/2 5/5 .text dEv_defaultSkipProc__FPvi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm int dEv_defaultSkipProc(void* param_0, int param_1) { - nofralloc -#include "asm/d/event/d_event/dEv_defaultSkipProc__FPvi.s" +int dEv_defaultSkipProc(void* param_0, int param_1) { + dComIfGp_getEvent().reset(param_0); + return 1; } -#pragma pop /* ############################################################################################## */ /* 80379D80-80379D80 0063E0 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ @@ -518,14 +539,10 @@ asm int dEv_defaultSkipStb(void* param_0, int param_1) { #pragma pop /* 800428DC-8004290C 03D21C 0030+00 0/0 1/1 33/33 .text dEv_noFinishSkipProc__FPvi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm int dEv_noFinishSkipProc(void* param_0, int param_1) { - nofralloc -#include "asm/d/event/d_event/dEv_noFinishSkipProc__FPvi.s" +int dEv_noFinishSkipProc(void* param_0, int param_1) { + dComIfGp_getEvent().offSkipFade(); + return 0; } -#pragma pop char* dEvt_control_c::getSkipEventName() { return mSkipEventName; @@ -593,14 +610,30 @@ asm void dEvt_control_c::moveApproval(void* param_0) { #pragma pop /* 8004316C-800431E8 03DAAC 007C+00 0/0 28/28 0/0 .text compulsory__14dEvt_control_cFPvPCcUs */ +#ifdef NONMATCHING +bool dEvt_control_c::compulsory(void* param_0, char const* param_1, u16 param_2) { + bool check = false; + if (field_0xe5 == 0 || field_0xe5 == 2) { + check = true; + } + + if (!check || mCompulsory) { + return false; + } else { + mCompulsory = 1; + return orderOld(3, 2, 0, param_2, param_0, NULL, param_1); + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dEvt_control_c::compulsory(void* param_0, char const* param_1, u16 param_2) { +asm bool dEvt_control_c::compulsory(void* param_0, char const* param_1, u16 param_2) { nofralloc #include "asm/d/event/d_event/compulsory__14dEvt_control_cFPvPCcUs.s" } #pragma pop +#endif void dEvt_control_c::remove() { mMode = 0; @@ -682,38 +715,35 @@ dEvt_info_c::dEvt_info_c() { } /* 80043428-80043480 03DD68 0058+00 0/0 0/0 4/4 .text setEventName__11dEvt_info_cFPc */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dEvt_info_c::setEventName(char* param_0) { - nofralloc -#include "asm/d/event/d_event/setEventName__11dEvt_info_cFPc.s" +void dEvt_info_c::setEventName(char* param_0) { + if (param_0 == NULL) { + mEventId = -1; + } else { + mEventId = dComIfGp_getEventManager().getEventIdx(param_0, -1, -1); + } } -#pragma pop /* 80043480-800434CC 03DDC0 004C+00 1/1 0/0 0/0 .text getEventName__11dEvt_info_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dEvt_info_c::getEventName() { - nofralloc -#include "asm/d/event/d_event/getEventName__11dEvt_info_cFv.s" +// fake match? +s16 dEvt_info_c::getEventName() { + if (mEventId == -1) { + return 0; + } else { + dEvDtEvent_c* data = dComIfGp_getEventManager().getEventData(mEventId); + if (data == NULL) { + return 0; + } + } } -#pragma pop void dEvt_info_c::beforeProc() { setCondition(2); } /* 800434D8-80043500 03DE18 0028+00 0/0 4/4 1/1 .text searchMapEventData__14dEvt_control_cFUc */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dEvt_control_c::searchMapEventData(u8 param_0) { - nofralloc -#include "asm/d/event/d_event/searchMapEventData__14dEvt_control_cFUc.s" +void dEvt_control_c::searchMapEventData(u8 param_0) { + searchMapEventData(param_0, (s32)struct_80450D64); } -#pragma pop /* 80043500-8004360C 03DE40 010C+00 3/3 7/7 5/5 .text searchMapEventData__14dEvt_control_cFUcl */ #pragma push diff --git a/src/d/event/d_event_manager.cpp b/src/d/event/d_event_manager.cpp index 8a134e970e..abcc88e10d 100644 --- a/src/d/event/d_event_manager.cpp +++ b/src/d/event/d_event_manager.cpp @@ -4,6 +4,7 @@ // #include "d/event/d_event_manager.h" +#include "d/com/d_com_inf_game.h" #include "dol2asm.h" #include "dolphin/types.h" @@ -11,26 +12,6 @@ // Types: // -struct dRes_info_c {}; - -struct dRes_control_c { - /* 8003C37C */ void getRes(char const*, char const*, dRes_info_c*, int); -}; - -struct dEvt_control_c { - /* 80042468 */ void reset(); - /* 80042914 */ void setSkipProc(void*, int (*)(void*, int), int); - /* 800429A8 */ void onSkipFade(); - /* 80043278 */ void getStageEventDt(); - /* 80043280 */ void sceneChange(int); - /* 800432EC */ void convPId(unsigned int); - /* 80043500 */ void searchMapEventData(u8, s32); - /* 8004360C */ void runningEventID(s16); - /* 8004365C */ void setPt2(void*); - /* 800436BC */ void setPtI(void*); - /* 800436F4 */ void setPtD(void*); -}; - struct dCamera_c { /* 80180A40 */ void EventRecoverNotime(); /* 80181E98 */ void Center(); @@ -40,8 +21,6 @@ struct Z2StatusMgr { /* 802B61E8 */ void setDemoName(char*); }; -struct JAISoundID {}; - struct Z2SeMgr { /* 802AB984 */ void seStart(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8); }; @@ -172,9 +151,7 @@ extern "C" void _restgpr_27(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); extern "C" u8 mDemoArcName__20dStage_roomControl_c[10 + 2 /* padding */]; -extern "C" extern u8 g_dComIfG_gameInfo[122384]; extern "C" u8 sincosTable___5JMath[65536]; -extern "C" extern u32 __float_nan; extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; // @@ -271,26 +248,7 @@ dEvDtBase_c::dEvDtBase_c() { /* ############################################################################################## */ /* 80379F50-80379F60 0065B0 000F+01 6/6 0/0 0/0 .rodata * DataFileName__29@unnamed@d_event_manager_cpp@ */ -SECTION_RODATA static u8 const data_80379F50[15 + 1 /* padding */] = { - 0x65, - 0x76, - 0x65, - 0x6E, - 0x74, - 0x5F, - 0x6C, - 0x69, - 0x73, - 0x74, - 0x2E, - 0x64, - 0x61, - 0x74, - 0x00, - /* padding */ - 0x00, -}; -COMPILER_STRIP_GATE(0x80379F50, &data_80379F50); +SECTION_RODATA static char const data_80379F50[16] = "event_list.dat"; /* 80379F60-80379F60 0065C0 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ #pragma push @@ -299,24 +257,42 @@ SECTION_DEAD static char const* const stringBase_8037A07E = "Event"; #pragma pop /* 80046710-80046800 041050 00F0+00 0/0 1/1 0/0 .text create__16dEvent_manager_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dEvent_manager_c::create() { - nofralloc -#include "asm/d/event/d_event_manager/create__16dEvent_manager_cFv.s" +int dEvent_manager_c::create() { + mCameraPlay = 0; + mEventException.init(); + mFlags.init(); + field_0x1b4 = 0; + field_0x1aa = -1; + field_0x1b8 = 0; + field_0x1b0 = -1; + mDataLoaded = 0; + + for (int i = 4; i <= 9; i++) { + mEventList[i].init(); + } + char* res = (char*)dComIfG_getStageRes(data_80379F50); + mEventList[3].init(res, -1); + mEventList[10].init(); + + res = (char*)dComIfG_getObjectRes("Event", data_80379F50); + mEventList[1].init(res, -1); + mEventList[2].init(); + return 1; } -#pragma pop /* 80046800-80046888 041140 0088+00 0/0 8/8 24/24 .text setObjectArchive__16dEvent_manager_cFPc */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dEvent_manager_c::setObjectArchive(char* param_0) { - nofralloc -#include "asm/d/event/d_event_manager/setObjectArchive__16dEvent_manager_cFPc.s" +bool dEvent_manager_c::setObjectArchive(char* param_0) { + char* rt = NULL; + + if (param_0 != NULL) { + char* res = (char*)dComIfG_getObjectRes(param_0, data_80379F50); + rt = res; + mEventList[2].init(res, -1); + } else { + mEventList[2].init(); + } + return rt != NULL; } -#pragma pop /* 80046888-80046904 0411C8 007C+00 0/0 1/1 0/0 .text demoInit__16dEvent_manager_cFv */ #pragma push @@ -374,34 +350,22 @@ void dEvent_manager_c::remove() { } /* 80046C74-80046C88 0415B4 0014+00 1/1 0/0 0/0 .text extraOnObjectCallBack__FP10fopAc_ac_cPv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void extraOnObjectCallBack(fopAc_ac_c* param_0, void* param_1) { - nofralloc -#include "asm/d/event/d_event_manager/extraOnObjectCallBack__FP10fopAc_ac_cPv.s" +static int extraOnObjectCallBack(fopAc_ac_c* pActor, void* param_1) { + fopAcM_OnStatus(pActor, 0x800); + return 0; } -#pragma pop /* 80046C88-80046C9C 0415C8 0014+00 1/1 0/0 0/0 .text extraOffObjectCallBack__FP10fopAc_ac_cPv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void extraOffObjectCallBack(fopAc_ac_c* param_0, void* param_1) { - nofralloc -#include "asm/d/event/d_event_manager/extraOffObjectCallBack__FP10fopAc_ac_cPv.s" +static int extraOffObjectCallBack(fopAc_ac_c* pActor, void* param_1) { + fopAcM_OffStatus(pActor, 0x800); + return 0; } -#pragma pop /* 80046C9C-80046CB8 0415DC 001C+00 1/1 0/0 0/0 .text allOffObjectCallBack__FP10fopAc_ac_cPv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void allOffObjectCallBack(fopAc_ac_c* param_0, void* param_1) { - nofralloc -#include "asm/d/event/d_event_manager/allOffObjectCallBack__FP10fopAc_ac_cPv.s" +static int allOffObjectCallBack(fopAc_ac_c* pActor, void* param_1) { + fopAcM_OffStatus(pActor, 0x9000); + return 0; } -#pragma pop /* 80046CB8-80046DA0 0415F8 00E8+00 1/1 0/0 0/0 .text * startProc__16dEvent_manager_cFP12dEvDtEvent_c */ @@ -416,14 +380,9 @@ asm void dEvent_manager_c::startProc(dEvDtEvent_c* param_0) { /* 80046DA0-80046DAC 0416E0 000C+00 2/2 0/0 0/0 .text * closeProc__16dEvent_manager_cFP12dEvDtEvent_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dEvent_manager_c::closeProc(dEvDtEvent_c* param_0) { - nofralloc -#include "asm/d/event/d_event_manager/closeProc__16dEvent_manager_cFP12dEvDtEvent_c.s" +void dEvent_manager_c::closeProc(dEvDtEvent_c* param_0) { + param_0->field_0xa4 = 2; } -#pragma pop /* ############################################################################################## */ /* 80379F60-80379F60 0065C0 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ @@ -527,7 +486,7 @@ asm dEvDtEvent_c* dEvent_manager_c::getEventData(s16 param_0, int param_1) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dEvent_manager_c::getEventData(s16 param_0) { +asm dEvDtEvent_c* dEvent_manager_c::getEventData(s16 param_0) { nofralloc #include "asm/d/event/d_event_manager/getEventData__16dEvent_manager_cFs.s" } diff --git a/src/d/kankyo/d_kankyo.cpp b/src/d/kankyo/d_kankyo.cpp index 2e453ae48e..464aa0073d 100644 --- a/src/d/kankyo/d_kankyo.cpp +++ b/src/d/kankyo/d_kankyo.cpp @@ -4,6 +4,7 @@ // #include "d/kankyo/d_kankyo.h" +#include "d/com/d_com_inf_game.h" #include "dol2asm.h" #include "dolphin/types.h" @@ -13,8 +14,6 @@ struct sub_kankyo__class {}; -struct stage_pure_lightvec_info_class {}; - struct mDoMtx_stack_c { static u8 now[48]; }; @@ -27,88 +26,21 @@ struct mDoGph_gInf_c { static u8 m_bloom[20]; }; -struct daPy_py_c { - /* 8015F424 */ void checkNowWolfEyeUp(); -}; - -struct dSv_player_status_b_c { - /* 80032BB0 */ void isDarkClearLV(int) const; -}; - -struct dSv_memBit_c { - /* 80034860 */ void isSwitch(int) const; - /* 80034934 */ void isDungeonItem(int) const; -}; - -struct dSv_info_c { - /* 80035360 */ void isSwitch(int, int) const; -}; - -struct dSv_event_tmp_flag_c { - static u8 const tempBitLabels[370 + 2 /* padding */]; -}; - -struct dSv_event_c { - /* 800349A4 */ void offEventBit(u16); - /* 800349BC */ void isEventBit(u16) const; -}; - -struct dStage_roomControl_c { - /* 80024384 */ void getStatusRoomDt(int); - /* 8019F780 */ void GetTimePass(); - - static u8 mStatus[65792]; -}; - -struct dRes_info_c {}; - -struct dRes_control_c { - /* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int); -}; - -struct dPa_levelEcallBack {}; - struct dPa_control_c { /* 8004CA90 */ void set(u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, cXyz const*, u8, dPa_levelEcallBack*, s8, _GXColor const*, _GXColor const*, cXyz const*, f32); }; -struct dMsgObject_c { - /* 8023819C */ void getActor(); -}; - -struct dComIfG_play_c { - /* 8002C950 */ void getLayerNo_common(char const*, int, int); - /* 8002C97C */ void getLayerNo(int); -}; - struct dBgS_CamGndChk_Wtr { /* 80077A00 */ dBgS_CamGndChk_Wtr(); /* 80077A98 */ ~dBgS_CamGndChk_Wtr(); }; -struct cBgS_PolyInfo {}; - -struct dBgS { - /* 80074E50 */ void GetPolyAtt0(cBgS_PolyInfo const&); - /* 80074EA0 */ void GetPolyAtt1(cBgS_PolyInfo const&); -}; - struct color_RGB_class {}; -struct cBgS_GndChk { - /* 80267D28 */ void SetPos(cXyz const*); -}; - -struct cBgS { - /* 800744A0 */ void GroundCross(cBgS_GndChk*); -}; - struct _GXFogType {}; -struct JAISoundID {}; - struct Z2SeMgr { /* 802AB984 */ void seStart(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8); }; @@ -127,10 +59,6 @@ struct Z2AudioMgr { static u8 mAudioMgrPtr[4 + 4 /* padding */]; }; -struct JUTNameTab { - /* 802DEAF8 */ void getName(u16) const; -}; - struct JMath { static u8 sincosTable_[65536]; }; @@ -345,7 +273,7 @@ extern "C" void dKy_shadow_mode_check__FUc(); extern "C" void dKy_bg_MAxx_proc__FPv(); extern "C" void __dt__18dScnKy_env_light_cFv(); extern "C" void __sinit_d_kankyo_cpp(); -extern "C" static void dKankyo_DayProc__Fv(); +extern "C" void dKankyo_DayProc__Fv(); extern "C" extern char const* const d_kankyo_d_kankyo__stringBase0; extern "C" extern u8 struct_80451070[8]; @@ -353,8 +281,6 @@ extern "C" extern u8 struct_80451070[8]; // External References: // -SECTION_INIT void memset(); -SECTION_INIT void memcpy(); extern "C" void mDoAud_setSceneName__FPCcll(); extern "C" void __dt__4cXyzFv(); extern "C" void create__Q213mDoGph_gInf_c7bloom_cFv(); @@ -475,11 +401,7 @@ extern "C" void _restgpr_26(); extern "C" void _restgpr_27(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); -extern "C" void abs(); extern "C" void memcmp(); -extern "C" void strcmp(); -extern "C" void cos(); -extern "C" void sin(); extern "C" u8 const tempBitLabels__20dSv_event_tmp_flag_c[370 + 2 /* padding */]; extern "C" extern u8 const j3dDefaultMtx[48]; extern "C" extern void* __vt__12J3DFrameCtrl[3]; @@ -488,12 +410,8 @@ extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; extern "C" u8 m_bloom__13mDoGph_gInf_c[20]; extern "C" u8 now__14mDoMtx_stack_c[48]; extern "C" u8 mStatus__20dStage_roomControl_c[65792]; -extern "C" extern u8 g_dComIfG_gameInfo[122384]; -extern "C" extern u8 g_meter2_info[248]; extern "C" extern u8 g_Counter[12 + 4 /* padding */]; extern "C" u8 sincosTable___5JMath[65536]; -extern "C" extern u32 __float_nan; -extern "C" extern u8 struct_80450D64[4]; extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; // @@ -1583,7 +1501,7 @@ asm void dScnKy_env_light_c::setDaytime() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dStage_roomControl_c::GetTimePass() { +asm s8 dStage_roomControl_c::GetTimePass() { nofralloc #include "asm/d/kankyo/d_kankyo/GetTimePass__20dStage_roomControl_cFv.s" } @@ -3527,14 +3445,9 @@ REGISTER_CTORS(0x801ADCA4, __sinit_d_kankyo_cpp); #pragma pop /* 801ADD00-801ADD38 1A8640 0038+00 2/2 0/0 0/0 .text dKankyo_DayProc__Fv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void dKankyo_DayProc() { - nofralloc -#include "asm/d/kankyo/d_kankyo/dKankyo_DayProc__Fv.s" +void dKankyo_DayProc() { + dComIfGs_offTmpBit(dSv_event_tmp_flag_c::tempBitLabels[91]); } -#pragma pop /* ############################################################################################## */ /* 80451070-80451078 -00001 0008+00 0/0 1/1 0/0 .sbss None */ diff --git a/src/d/meter/d_meter2_info.cpp b/src/d/meter/d_meter2_info.cpp index 18833651b0..27165ba702 100644 --- a/src/d/meter/d_meter2_info.cpp +++ b/src/d/meter/d_meter2_info.cpp @@ -468,6 +468,31 @@ void dMeter2Info_c::decMsgKeyWaitTimer() { /* 8021C250-8021C370 216B90 0120+00 0/0 16/16 0/0 .text * getString__13dMeter2Info_cFUlPcP14JMSMesgEntry_c */ +#ifdef NONMATCHING +void dMeter2Info_c::getString(u32 param_0, char* param_1, JMSMesgEntry_c* param_2) { + strcpy(param_1, ""); + + bmgHeader* res; + if (mMsgResource == NULL) { + JKRArchive* msgDtArc = dComIfGp_getMsgDtArchive(0); + res = (bmgHeader*)JKRArchive::getGlbResource('ROOT', "zel_00.bmg", msgDtArc); + if (res == NULL) { + return; + } + } else { + for (u16 i = bmgHeader->unk1; i < bmgHeader->entrycount; i++) { + JMSMesgEntry_c* entry = (JMSMesgEntry_c*)res + 0x20 + i; + if (param_0 == entry->mStringId) { + strcpy(param_1, (char*)&res + 0x20 + 0x24 + 8 + 0x14); + } + } + } + + if (mMsgResource == NULL) { + dComIfGp_getMsgDtArchive(0)->removeResourceAll(); + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -476,6 +501,7 @@ asm void dMeter2Info_c::getString(u32 param_0, char* param_1, JMSMesgEntry_c* pa #include "asm/d/meter/d_meter2_info/getString__13dMeter2Info_cFUlPcP14JMSMesgEntry_c.s" } #pragma pop +#endif /* 8021C370-8021C544 216CB0 01D4+00 0/0 1/1 0/0 .text * getStringKana__13dMeter2Info_cFUlPcP14JMSMesgEntry_c */ diff --git a/src/d/meter/d_meter_HIO.cpp b/src/d/meter/d_meter_HIO.cpp index 7d6af2e5a2..34e51d8e75 100644 --- a/src/d/meter/d_meter_HIO.cpp +++ b/src/d/meter/d_meter_HIO.cpp @@ -4,96 +4,10 @@ // #include "d/meter/d_meter_HIO.h" +#include "d/save/d_save.h" #include "dol2asm.h" #include "dolphin/types.h" -// -// Types: -// - -struct dMeter_ringHIO_c { - /* 802001AC */ dMeter_ringHIO_c(); - /* 802010E0 */ ~dMeter_ringHIO_c(); -}; - -struct dMeter_menuHIO_c { - /* 801FE330 */ dMeter_menuHIO_c(); - /* 8020123C */ ~dMeter_menuHIO_c(); -}; - -struct dMeter_mapIconHIO_c { - /* 802004B4 */ dMeter_mapIconHIO_c(); - /* 80201028 */ ~dMeter_mapIconHIO_c(); -}; - -struct dMeter_fmapHIO_c { - struct MapBlinkAnime { - /* 80201070 */ MapBlinkAnime(); - }; - - /* 802006C8 */ dMeter_fmapHIO_c(); - /* 80200BCC */ ~dMeter_fmapHIO_c(); -}; - -struct dMeter_drawSkillHIO_c { - /* 801FE990 */ dMeter_drawSkillHIO_c(); - /* 80200E30 */ ~dMeter_drawSkillHIO_c(); -}; - -struct dMeter_drawOptionHIO_c { - /* 801FE4EC */ dMeter_drawOptionHIO_c(); - /* 80200F98 */ ~dMeter_drawOptionHIO_c(); -}; - -struct dMeter_drawMiniGameHIO_c { - /* 801FEFF0 */ dMeter_drawMiniGameHIO_c(); - /* 80200DE8 */ ~dMeter_drawMiniGameHIO_c(); -}; - -struct dMeter_drawLightDropHIO_c { - /* 801FF31C */ dMeter_drawLightDropHIO_c(); - /* 80200D58 */ ~dMeter_drawLightDropHIO_c(); -}; - -struct dMeter_drawLetterHIO_c { - /* 801FE5CC */ dMeter_drawLetterHIO_c(); - /* 80200F50 */ ~dMeter_drawLetterHIO_c(); -}; - -struct dMeter_drawInsectHIO_c { - /* 801FE8DC */ dMeter_drawInsectHIO_c(); - /* 80200EC0 */ ~dMeter_drawInsectHIO_c(); -}; - -struct dMeter_drawHIO_c { - /* 801FF5B8 */ dMeter_drawHIO_c(); - /* 80201128 */ ~dMeter_drawHIO_c(); -}; - -struct dMeter_drawFishingHIO_c { - /* 801FE730 */ dMeter_drawFishingHIO_c(); - /* 80200F08 */ ~dMeter_drawFishingHIO_c(); -}; - -struct dMeter_drawEmpButtonHIO_c { - /* 801FEAF0 */ dMeter_drawEmpButtonHIO_c(); - /* 80200DA0 */ ~dMeter_drawEmpButtonHIO_c(); -}; - -struct dMeter_drawCalibrationHIO_c { - /* 801FE954 */ dMeter_drawCalibrationHIO_c(); - /* 80200E78 */ ~dMeter_drawCalibrationHIO_c(); -}; - -struct dMeter_cursorHIO_c { - /* 80200CD4 */ dMeter_cursorHIO_c(); - /* 80201098 */ ~dMeter_cursorHIO_c(); -}; - -struct JKRHeap { - /* 802CE548 */ void free(void*); -}; - // // Forward References: // @@ -272,918 +186,1536 @@ SECTION_DATA extern void* __vt__16dMeter_menuHIO_c[3] = { }; /* 801FE330-801FE348 1F8C70 0018+00 1/1 0/0 0/0 .text __ct__16dMeter_menuHIO_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm dMeter_menuHIO_c::dMeter_menuHIO_c() { - nofralloc -#include "asm/d/meter/d_meter_HIO/__ct__16dMeter_menuHIO_cFv.s" +dMeter_menuHIO_c::dMeter_menuHIO_c() { + mGameover = 70; } -#pragma pop - -/* ############################################################################################## */ -/* 804544E0-804544E4 002AE0 0004+00 12/12 0/0 0/0 .sdata2 @3787 */ -SECTION_SDATA2 static f32 lit_3787 = 1.0f; - -/* 804544E4-804544E8 002AE4 0004+00 5/5 0/0 0/0 .sdata2 @3788 */ -SECTION_SDATA2 static f32 lit_3788 = 1.5f; - -/* 804544E8-804544EC 002AE8 0004+00 6/6 0/0 0/0 .sdata2 @3789 */ -SECTION_SDATA2 static f32 lit_3789 = 11.0f / 10.0f; - -/* 804544EC-804544F0 002AEC 0004+00 2/2 0/0 0/0 .sdata2 @3790 */ -SECTION_SDATA2 static f32 lit_3790 = -12.0f; - -/* 804544F0-804544F4 002AF0 0004+00 4/4 0/0 0/0 .sdata2 @3791 */ -SECTION_SDATA2 static f32 lit_3791 = 13.0f / 10.0f; - -/* 804544F4-804544F8 002AF4 0004+00 5/5 0/0 0/0 .sdata2 @3792 */ -SECTION_SDATA2 static f32 lit_3792 = 4.0f / 5.0f; - -/* 804544F8-804544FC 002AF8 0004+00 11/11 0/0 0/0 .sdata2 @3793 */ -SECTION_SDATA2 static u8 lit_3793[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; - -/* 804544FC-80454500 002AFC 0004+00 2/2 0/0 0/0 .sdata2 @3794 */ -SECTION_SDATA2 static f32 lit_3794 = -5.0f; - -/* 80454500-80454504 002B00 0004+00 3/3 0/0 0/0 .sdata2 @3795 */ -SECTION_SDATA2 static f32 lit_3795 = 4.0f; - -/* 80454504-80454508 002B04 0004+00 6/6 0/0 0/0 .sdata2 @3796 */ -SECTION_SDATA2 static f32 lit_3796 = 9.0f / 10.0f; - -/* 80454508-8045450C 002B08 0004+00 1/1 0/0 0/0 .sdata2 @3797 */ -SECTION_SDATA2 static f32 lit_3797 = -22.299999237060547f; - -/* 8045450C-80454510 002B0C 0004+00 1/1 0/0 0/0 .sdata2 @3798 */ -SECTION_SDATA2 static f32 lit_3798 = 24.899999618530273f; - -/* 80454510-80454514 002B10 0004+00 4/4 0/0 0/0 .sdata2 @3799 */ -SECTION_SDATA2 static f32 lit_3799 = 25.0f; - -/* 80454514-80454518 002B14 0004+00 1/1 0/0 0/0 .sdata2 @3800 */ -SECTION_SDATA2 static f32 lit_3800 = -24.899999618530273f; - -/* 80454518-8045451C 002B18 0004+00 1/1 0/0 0/0 .sdata2 @3801 */ -SECTION_SDATA2 static f32 lit_3801 = -27.5f; - -/* 8045451C-80454520 002B1C 0004+00 1/1 0/0 0/0 .sdata2 @3802 */ -SECTION_SDATA2 static f32 lit_3802 = 26.0f; /* 801FE348-801FE4EC 1F8C88 01A4+00 1/1 0/0 0/0 .text __ct__23dMeter_drawCollectHIO_cFv */ -#ifdef NONMATCHING dMeter_drawCollectHIO_c::dMeter_drawCollectHIO_c() { - mItemScaleSmall = lit_3787; - mItemScaleLarge = lit_3788; - mSaveOptionItemScaleSmall = lit_3787; - mSaveOptionItemScaleLarge = lit_3789; - mBlueFuzzPosX = lit_3790; - mBlueFuzzPosY = lit_3791; - mBlueFuzzScale = lit_3791; - mBlueFuzzAlpha = lit_3792; - mMaskMirrorPos.set(FLOAT_LABEL(lit_3793), FLOAT_LABEL(lit_3793), FLOAT_LABEL(lit_3793)); + mUnselectItemScale = 1.0f; + mSelectItemScale = 1.5f; + mUnselectSaveOptionScale = 1.0f; + mSelectSaveOptionScale = 1.1f; + mBlueSmokePosX = -12.0f; + mBlueSmokePosY = 1.3f; + mBlueSmokeScale = 1.3f; + mBlueSmokeAlpha = 0.8f; + mMaskMirrorPos.set(0.0f, 0.0f, 0.0f); mMaskMirrorAngle.set(0, 0, 0); field_0x9a = false; - mMaskMirrorScale = FLOAT_LABEL(lit_3793); - mMaskMirrorAnimation = lit_3787; - mHeartVesselPosX = lit_3794; - mHeartVesselPosY = lit_3795; - mHeartVesselScale = lit_3796; - mHeartPiecePosX = FLOAT_LABEL(lit_3793); - mHeartPiecePosY = FLOAT_LABEL(lit_3793); - mHeartPieceScale = lit_3787; + mMaskMirrorScale = 0.0f; + mMaskMirrorAnimSpeed = 1.0f; + mHeartVesselPosX = -5.0f; + mHeartVesselPosY = 4.0f; + mHeartVesselScale = 0.9f; + mHeartPiecePosX = 0.0f; + mHeartPiecePosY = 0.0f; + mHeartPieceScale = 1.0f; mButtonDebugON = false; - mAButtonPosX = lit_3797; - mAButtonPosY = lit_3798; - mAButtonScale = lit_3791; - mBButtonPosX = lit_3797; - mBButtonPosY = lit_3799; - mBButtonScale = lit_3791; - mAButtonTextPosX = lit_3800; - mAButtonTextPosY = lit_3798; - mAButtonTextScale = lit_3789; - mBButtonTextPosX = lit_3801; - mBButtonTextPosY = lit_3802; - mBButtonTextScale = lit_3789; + mAButtonPosX = -22.3f; + mAButtonPosY = 24.9f; + mAButtonScale = 1.3f; + mBButtonPosX = -22.3f; + mBButtonPosY = 25.0f; + mBButtonScale = 1.3f; + mAButtonTextPosX = -24.9f; + mAButtonTextPosY = 24.9f; + mAButtonTextScale = 1.1f; + mBButtonTextPosX = -27.5f; + mBButtonTextPosY = 26.0f; + mBButtonTextScale = 1.1f; mColorDebugON = false; - mBasBlack[0].set(0, 0, 0, 0); - mBasWhite[0].set(250, 250, 210, 220); - mBasBlack[1].set(200, 190, 100, 0); - mBasWhite[1].set(200, 190, 100, 175); + mVesselBack[VESSEL_HEART].set(0, 0, 0, 0); + mVesselFront[VESSEL_HEART].set(250, 250, 210, 220); + mVesselBack[VESSEL_DECOR].set(200, 190, 100, 0); + mVesselFront[VESSEL_DECOR].set(200, 190, 100, 175); } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm dMeter_drawCollectHIO_c::dMeter_drawCollectHIO_c() { - nofralloc -#include "asm/d/meter/d_meter_HIO/__ct__23dMeter_drawCollectHIO_cFv.s" -} -#pragma pop -#endif - -/* ############################################################################################## */ -/* 80454520-80454524 002B20 0004+00 3/3 0/0 0/0 .sdata2 @3828 */ -SECTION_SDATA2 static f32 lit_3828 = 51.0f / 50.0f; - -/* 80454524-80454528 002B24 0004+00 3/3 0/0 0/0 .sdata2 @3829 */ -SECTION_SDATA2 static f32 lit_3829 = 49.0f / 50.0f; - -/* 80454528-8045452C 002B28 0004+00 4/4 0/0 0/0 .sdata2 @3830 */ -SECTION_SDATA2 static f32 lit_3830 = 3.0f / 10.0f; - -/* 8045452C-80454530 002B2C 0004+00 1/1 0/0 0/0 .sdata2 @3831 */ -SECTION_SDATA2 static f32 lit_3831 = 45.0f; - -/* 80454530-80454534 002B30 0004+00 1/1 0/0 0/0 .sdata2 @3832 */ -SECTION_SDATA2 static f32 lit_3832 = 38.0f; /* 801FE4EC-801FE5CC 1F8E2C 00E0+00 1/1 0/0 0/0 .text __ct__22dMeter_drawOptionHIO_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm dMeter_drawOptionHIO_c::dMeter_drawOptionHIO_c() { - nofralloc -#include "asm/d/meter/d_meter_HIO/__ct__22dMeter_drawOptionHIO_cFv.s" -} -#pragma pop +dMeter_drawOptionHIO_c::dMeter_drawOptionHIO_c() { + mSelectBarScale = 1.02f; + mUnselectBarScale = 0.98f; + mArrowSize = 0.3f; -/* ############################################################################################## */ -/* 80454534-80454538 002B34 0004+00 4/4 0/0 0/0 .sdata2 @3867 */ -SECTION_SDATA2 static f32 lit_3867 = -20.0f; + mSelectNameColor.set(255, 255, 255, 255); + mSelectColor.set(255, 200, 0, 255); + mUnselectColor.set(180, 180, 150, 255); + + mWindowPosX = 0.0f; + mWindowPosY = 0.0f; + mWindowScale = 1.0f; + + for (int i = 0; i < 4; i++) { + mOptionTypeBGPosX[i] = 0.0f; + mOptionTypeBGPosY[i] = 0.0f; + } + + mOpenFrames = 10; + mCloseFrames = 10; + + mDebug = false; + mBackgroundAlpha = 150; + mBackgroundPosY = 45.0f; + + mArrowOffsetX = 38.0f; + mArrowOffsetX_4x3 = 4.0f; +} /* 801FE5CC-801FE730 1F8F0C 0164+00 1/1 0/0 0/0 .text __ct__22dMeter_drawLetterHIO_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm dMeter_drawLetterHIO_c::dMeter_drawLetterHIO_c() { - nofralloc -#include "asm/d/meter/d_meter_HIO/__ct__22dMeter_drawLetterHIO_cFv.s" +dMeter_drawLetterHIO_c::dMeter_drawLetterHIO_c() { + for (int i = 0; i < 2; i++) { + mOpenFrame[i] = 10; + mCloseFrame[i] = 10; + } + + mLetterNum = 0; + mDebugON = false; + + mUnselectPageIconAlpha = 255; + + mSelectBarScale = 1.02f; + mUnselectBarScale = 0.98f; + + mWindowPosX = 0.0f; + mWindowPosY = -20.0f; + mWindowScale = 1.0f; + + mLetterWindowPosX = 0.0f; + mLetterWindowPosY = 0.0f; + mLetterWindowScale = 1.0f; + mWindowBGAlpha = 150; + + mLetterLinePosX = 0.0f; + mLetterLinePosY = 0.0f; + mLetterLineAlpha = 130; + + mSelectPageIconBack.set(0, 0, 0, 0); + mSelectPageIconFront.set(255, 255, 255, 255); + mSelectBarBack.set(105, 95, 55, 255); + mSelectBarFront.set(200, 180, 135, 255); + mSelectTextBack.set(31, 24, 12, 0); + mSelectTextFront.set(255, 255, 200, 255); + mLetterTextBack.set(0, 0, 0, 0); + mLetterTextFront.set(65, 55, 30, 255); } -#pragma pop -/* ############################################################################################## */ -/* 80397E50-80397E68 0244B0 0018+00 1/1 0/0 0/0 .rodata fipaScale$3871 */ -SECTION_RODATA static u8 const fipaScale[24] = { - 0x3F, 0x7A, 0xE1, 0x48, 0x3F, 0x80, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, - 0x3F, 0x80, 0x00, 0x00, 0x3F, 0x73, 0x33, 0x33, 0x3F, 0x8C, 0xCC, 0xCD, -}; -COMPILER_STRIP_GATE(0x80397E50, &fipaScale); +static f32 const fipaScale[6] = {0.98f, 1.0f, 1.0f, 1.0f, 0.95f, 1.1f}; -/* 80397E68-80397E80 0244C8 0018+00 0/1 0/0 0/0 .rodata fipaPosX$3872 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const fipaPosX[24] = { - 0x3F, 0xA6, 0x66, 0x66, 0x40, 0xD3, 0x33, 0x33, 0x00, 0x00, 0x00, 0x00, - 0x40, 0x7D, 0x70, 0xA4, 0x40, 0x80, 0x00, 0x00, 0x41, 0xDC, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80397E68, &fipaPosX); -#pragma pop +static f32 const fipaPosX[6] = {1.3f, 6.6f, 0.0f, 3.96f, 4.0f, 27.5f}; -/* 80397E80-80397E98 0244E0 0018+00 0/1 0/0 0/0 .rodata fipaPosY$3873 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const fipaPosY[24] = { - 0xC1, 0x13, 0x33, 0x33, 0xC1, 0xDC, 0x00, 0x00, 0xC1, 0x3B, 0x33, 0x33, - 0xC1, 0x13, 0x33, 0x33, 0xC1, 0xF0, 0xCC, 0xCD, 0xC1, 0x8F, 0x33, 0x33, -}; -COMPILER_STRIP_GATE(0x80397E80, &fipaPosY); -#pragma pop +static f32 const fipaPosY[6] = {-9.2f, -27.5f, -11.7f, -9.2f, -30.1f, -17.9f}; -/* 80397E98-80397EB0 0244F8 0018+00 0/1 0/0 0/0 .rodata finaScale$3874 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const finaScale[24] = { - 0x3F, 0x66, 0x66, 0x66, 0x3F, 0x66, 0x66, 0x66, 0x3F, 0x66, 0x66, 0x66, - 0x3F, 0x66, 0x66, 0x66, 0x3F, 0x66, 0x66, 0x66, 0x3F, 0x66, 0x66, 0x66, -}; -COMPILER_STRIP_GATE(0x80397E98, &finaScale); -#pragma pop +static f32 const finaScale[6] = {0.9f, 0.9f, 0.9f, 0.9f, 0.9f, 0.9f}; -/* 80397EB0-80397EC8 024510 0018+00 0/1 0/0 0/0 .rodata finaPosX$3875 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const finaPosX[24] = { - 0xC1, 0xC8, 0x00, 0x00, 0xC0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x80, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80397EB0, &finaPosX); -#pragma pop +static f32 const finaPosX[6] = {-25.0f, -4.0f, 0.0f, 0.0f, 0.0f, -4.0f}; -/* 80397EC8-80397EE0 024528 0018+00 0/1 0/0 0/0 .rodata finaPosY$3876 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const finaPosY[24] = { - 0xC1, 0x80, 0x00, 0x00, 0xC2, 0x22, 0x66, 0x66, 0xC1, 0xC0, 0x00, 0x00, - 0xC1, 0x3B, 0x33, 0x33, 0xC2, 0x17, 0x99, 0x9A, 0xC1, 0x50, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80397EC8, &finaPosY); -#pragma pop +static f32 const finaPosY[6] = {-16.0f, -40.6, -24.0f, -11.7f, -37.9f, -13.0f}; -/* 80397EE0-80397EF8 024540 0018+00 0/1 0/0 0/0 .rodata filiScale$3877 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const filiScale[24] = { - 0x3F, 0x26, 0x66, 0x66, 0x3F, 0x26, 0x66, 0x66, 0x3F, 0x26, 0x66, 0x66, - 0x3F, 0x26, 0x66, 0x66, 0x3F, 0x26, 0x66, 0x66, 0x3F, 0x26, 0x66, 0x66, -}; -COMPILER_STRIP_GATE(0x80397EE0, &filiScale); -#pragma pop +static f32 const filiScale[6] = {0.65f, 0.65f, 0.65f, 0.65f, 0.65f, 0.65f}; -/* 80397EF8-80397F10 024558 0018+00 0/1 0/0 0/0 .rodata filiPosX$3878 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const filiPosX[24] = { - 0xC1, 0xE0, 0x00, 0x00, 0xC1, 0x00, 0x00, 0x00, 0x41, 0x13, 0x33, 0x33, - 0x41, 0x13, 0x33, 0x33, 0x41, 0x13, 0x33, 0x33, 0xC1, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80397EF8, &filiPosX); -#pragma pop +static f32 const filiPosX[6] = {-28.0f, -8.0f, 9.2f, 9.2f, 9.2f, -8.0f}; -/* 80397F10-80397F28 024570 0018+00 0/1 0/0 0/0 .rodata filiPosY$3879 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const filiPosY[24] = { - 0xC0, 0xD3, 0x33, 0x33, 0xC1, 0x60, 0x00, 0x00, 0xC1, 0x66, 0x66, 0x66, - 0x41, 0xC7, 0x33, 0x33, 0xC1, 0x3B, 0x33, 0x33, 0x41, 0xC7, 0x33, 0x33, -}; -COMPILER_STRIP_GATE(0x80397F10, &filiPosY); -#pragma pop +static f32 const filiPosY[6] = {-6.6f, -14.0f, -14.4f, 24.9f, -11.7f, 24.9f}; -/* 80397F28-80397F40 024588 0018+00 0/1 0/0 0/0 .rodata bboxScale$3880 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const bboxScale[24] = { - 0x3F, 0x80, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, - 0x3F, 0x80, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80397F28, &bboxScale); -#pragma pop +static f32 const bboxScale[6] = {1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f}; -/* 80397F40-80397F58 0245A0 0018+00 0/0 0/0 0/0 .rodata bboxPosX$3881 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const bboxPosX[24] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80397F40, &bboxPosX); -#pragma pop +static f32 const bboxPosX[6] = {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f}; -/* 80397F58-80397F70 0245B8 0018+00 0/0 0/0 0/0 .rodata bboxPosY$3882 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const bboxPosY[24] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80397F58, &bboxPosY); -#pragma pop +static f32 const bboxPosY[6] = {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f}; -/* 80397F70-80397F88 0245D0 0018+00 0/1 0/0 0/0 .rodata rboxScale$3883 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const rboxScale[24] = { - 0x3F, 0x80, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, - 0x3F, 0x80, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80397F70, &rboxScale); -#pragma pop +static f32 const rboxScale[6] = {1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f}; -/* 80397F88-80397FA0 0245E8 0018+00 0/1 0/0 0/0 .rodata rboxPosX$3884 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const rboxPosX[24] = { - 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80397F88, &rboxPosX); -#pragma pop +static f32 const rboxPosX[6] = {1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f}; -/* 80397FA0-80397FB8 024600 0018+00 0/1 0/0 0/0 .rodata rboxPosY$3885 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const rboxPosY[24] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80397FA0, &rboxPosY); -#pragma pop +static f32 const rboxPosY[6] = {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f}; -/* 80397FB8-80397FD0 024618 0018+00 0/1 0/0 0/0 .rodata finfoScale$3886 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const finfoScale[24] = { - 0x3F, 0x5E, 0xB8, 0x52, 0x3F, 0x5E, 0xB8, 0x52, 0x3F, 0x61, 0x47, 0xAE, - 0x3F, 0x5E, 0xB8, 0x52, 0x3F, 0x5E, 0xB8, 0x52, 0x3F, 0x5E, 0xB8, 0x52, -}; -COMPILER_STRIP_GATE(0x80397FB8, &finfoScale); -#pragma pop +static f32 const finfoScale[6] = {0.87f, 0.87f, 0.88f, 0.87f, 0.87f, 0.87f}; -/* 80397FD0-80397FE8 024630 0018+00 0/1 0/0 0/0 .rodata finfoPosX$3887 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const finfoPosX[24] = { - 0xC1, 0x88, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC1, 0x60, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0xC1, 0x40, 0x00, 0x00, 0xC2, 0x03, 0x33, 0x33, -}; -COMPILER_STRIP_GATE(0x80397FD0, &finfoPosX); -#pragma pop +static f32 const finfoPosX[6] = {-17.0f, 0.0f, -14.0f, 0.0f, -12.0f, -32.8f}; -/* 80397FE8-80398000 024648 0018+00 0/1 0/0 0/0 .rodata finfoPosY$3888 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const finfoPosY[24] = { - 0x40, 0xD3, 0x33, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x3F, 0xA6, 0x66, 0x66, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80397FE8, &finfoPosY); -#pragma pop +static f32 const finfoPosY[6] = {6.6f, 0.0f, 0.0f, 0.0f, 1.3f, 0.0f}; -/* 80398000-80398018 024660 0018+00 0/1 0/0 0/0 .rodata fishnScale$3889 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const fishnScale[24] = { - 0x3F, 0x80, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, - 0x3F, 0x80, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80398000, &fishnScale); -#pragma pop +static f32 const fishnScale[6] = {1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f}; -/* 80398018-80398030 024678 0018+00 0/1 0/0 0/0 .rodata fishnPosX$3890 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const fishnPosX[24] = { - 0x40, 0x80, 0x00, 0x00, 0xC1, 0xA0, 0x00, 0x00, 0x3F, 0xA6, 0x66, 0x66, - 0x40, 0xD3, 0x33, 0x33, 0x3F, 0xA6, 0x66, 0x66, 0x41, 0x13, 0x33, 0x33, -}; -COMPILER_STRIP_GATE(0x80398018, &fishnPosX); -#pragma pop +static f32 const fishnPosX[6] = {4.0f, -20.0f, 1.3f, 6.6f, 1.3f, 9.2f}; -/* 80398030-80398048 024690 0018+00 0/1 0/0 0/0 .rodata fishnPosY$3891 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const fishnPosY[24] = { - 0xC2, 0x90, 0x33, 0x33, 0x43, 0x01, 0x99, 0x9A, 0x00, 0x00, 0x00, 0x00, - 0x40, 0xD3, 0x33, 0x33, 0x42, 0x03, 0x33, 0x33, 0x41, 0x3B, 0x33, 0x33, -}; -COMPILER_STRIP_GATE(0x80398030, &fishnPosY); -#pragma pop - -/* 80454538-8045453C 002B38 0004+00 1/1 0/0 0/0 .sdata2 @3902 */ -SECTION_SDATA2 static f32 lit_3902 = 83.0f / 100.0f; - -/* 8045453C-80454540 002B3C 0004+00 3/3 0/0 0/0 .sdata2 @3903 */ -SECTION_SDATA2 static f32 lit_3903 = 5.0f; - -/* 80454540-80454544 002B40 0004+00 1/1 0/0 0/0 .sdata2 @3904 */ -SECTION_SDATA2 static f32 lit_3904 = -111.0f / 5.0f; - -/* 80454544-80454548 002B44 0004+00 1/1 0/0 0/0 .sdata2 @3905 */ -SECTION_SDATA2 static f32 lit_3905 = -189.5f; - -/* 80454548-8045454C 002B48 0004+00 1/1 0/0 0/0 .sdata2 @3906 */ -SECTION_SDATA2 static f32 lit_3906 = -79.0f / 20.0f; - -/* 8045454C-80454550 002B4C 0004+00 1/1 0/0 0/0 .sdata2 @3907 */ -SECTION_SDATA2 static f32 lit_3907 = -188.0f; +static f32 const fishnPosY[6] = {-72.1f, 129.6f, 0.0f, 6.6f, 32.8f, 11.7f}; /* 801FE730-801FE8DC 1F9070 01AC+00 1/1 0/0 0/0 .text __ct__23dMeter_drawFishingHIO_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm dMeter_drawFishingHIO_c::dMeter_drawFishingHIO_c() { - nofralloc -#include "asm/d/meter/d_meter_HIO/__ct__23dMeter_drawFishingHIO_cFv.s" +dMeter_drawFishingHIO_c::dMeter_drawFishingHIO_c() { + mOpenFrames = 10; + mCloseFrames = 10; + mDebug = false; + + for (int i = 0; i < 6; i++) { + mFishNum[i] = 0; + mFishSize[i] = 0; + mFishIconScale[i] = fipaScale[i]; + mFishIconPosX[i] = fipaPosX[i]; + mFishIconPosY[i] = fipaPosY[i]; + mFishNameScale[i] = finaScale[i]; + mFishNamePosX[i] = finaPosX[i]; + mFishNamePosY[i] = finaPosY[i]; + mFishLineScale[i] = filiScale[i]; + mFishLinePosX[i] = filiPosX[i]; + mFishLinePosY[i] = filiPosY[i]; + mFishSizeScale[i] = bboxScale[i]; + mFishSizePosX[i] = rboxPosX[i]; + mFishSizePosY[i] = rboxPosY[i]; + mFishCountScale[i] = rboxScale[i]; + mFishCountPosX[i] = rboxPosX[i]; + mFishCountPosY[i] = rboxPosY[i]; + mFishCountSizeScale[i] = finfoScale[i]; + mFishCountSizePosX[i] = finfoPosX[i]; + mFishCountSizePosY[i] = finfoPosY[i]; + mFishInfoScale[i] = fishnScale[i]; + mFishInfoPosX[i] = fishnPosX[i]; + mFishInfoPosY[i] = fishnPosY[i]; + } + mMaxSizeScale = 0.83f; + mMaxSizePosX = 5.0f; + mMaxSizePosY = -22.2f; + + mCaughtNumScale = 0.83f; + mCaughtNumPosX = -189.5f; + mCaughtNumPosY = -3.95f; + mCaughtNumPosX_4x3 = -188.0f; } -#pragma pop - -/* ############################################################################################## */ -/* 80454550-80454554 002B50 0004+00 1/1 0/0 0/0 .sdata2 @3912 */ -SECTION_SDATA2 static f32 lit_3912 = 77.0f; - -/* 80454554-80454558 002B54 0004+00 1/1 0/0 0/0 .sdata2 @3913 */ -SECTION_SDATA2 static f32 lit_3913 = 43.0f; - -/* 80454558-8045455C 002B58 0004+00 1/1 0/0 0/0 .sdata2 @3914 */ -SECTION_SDATA2 static f32 lit_3914 = 119.0f; - -/* 8045455C-80454560 002B5C 0004+00 5/5 0/0 0/0 .sdata2 @3915 */ -SECTION_SDATA2 static f32 lit_3915 = 20.0f; - -/* 80454560-80454564 002B60 0004+00 1/1 0/0 0/0 .sdata2 @3916 */ -SECTION_SDATA2 static f32 lit_3916 = -34.0f; /* 801FE8DC-801FE954 1F921C 0078+00 1/1 0/0 0/0 .text __ct__22dMeter_drawInsectHIO_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm dMeter_drawInsectHIO_c::dMeter_drawInsectHIO_c() { - nofralloc -#include "asm/d/meter/d_meter_HIO/__ct__22dMeter_drawInsectHIO_cFv.s" -} -#pragma pop +dMeter_drawInsectHIO_c::dMeter_drawInsectHIO_c() { + mOpenFrame = 10; + mCloseFrame = 10; -/* ############################################################################################## */ -/* 80454564-80454568 002B64 0004+00 3/3 0/0 0/0 .sdata2 @3921 */ -SECTION_SDATA2 static f32 lit_3921 = 0.75f; + mType = DEFAULT; + mDebugON = false; + + mUnselectInsectScale = 1.0f; + mSelectInsectScale = 1.5f; + + mDescWindowPosX = 0.0f; + mDescWindowPosY = 77.0f; + + mGiveOptionPosX_4x3 = 0.0f; + mGiveOptionPosY_4x3 = 43.0f; + + mConfirmOptionPosX_4x3 = 0.0f; + mConfirmOptionPosY_4x3 = 119.0f; + + mGiveOptionPosX = 20.0f; + mGiveOptionPosY = 43.0f; + + mConfirmOptionPosX = -34.0f; + mConfirmOptionPosY = 119.0f; +} /* 801FE954-801FE990 1F9294 003C+00 1/1 0/0 0/0 .text __ct__27dMeter_drawCalibrationHIO_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm dMeter_drawCalibrationHIO_c::dMeter_drawCalibrationHIO_c() { - nofralloc -#include "asm/d/meter/d_meter_HIO/__ct__27dMeter_drawCalibrationHIO_cFv.s" +dMeter_drawCalibrationHIO_c::dMeter_drawCalibrationHIO_c() { + mOpenFrames = 10; + mCloseFrames = 10; + mDebug = false; + mFlashFrameNum = 30; + mCircleScale = 1.0f; + mCircleScale2 = 0.75f; } -#pragma pop - -/* ############################################################################################## */ -/* 80454568-8045456C 002B68 0004+00 1/1 0/0 0/0 .sdata2 @3956 */ -SECTION_SDATA2 static f32 lit_3956 = 80.0f; - -/* 8045456C-80454570 002B6C 0004+00 5/5 0/0 0/0 .sdata2 @3957 */ -SECTION_SDATA2 static f32 lit_3957 = 19.0f / 20.0f; /* 801FE990-801FEAF0 1F92D0 0160+00 1/1 0/0 0/0 .text __ct__21dMeter_drawSkillHIO_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm dMeter_drawSkillHIO_c::dMeter_drawSkillHIO_c() { - nofralloc -#include "asm/d/meter/d_meter_HIO/__ct__21dMeter_drawSkillHIO_cFv.s" +dMeter_drawSkillHIO_c::dMeter_drawSkillHIO_c() { + for (int i = 0; i < 2; i++) { + mOpenFrame[i] = 10; + mCloseFrame[i] = 10; + } + + mDebug = false; + field_0x58 = 0xFF; + + mSelectBarScale = 1.02f; + mUnselectBarScale = 0.98f; + + mSkillDescPosX = 0.0f; + mSkillDescPosY = 80.0f; + mSkillDescScale = 0.95f; + mWindowBGalpha = 150; + + mWindowLinePosX = 0.0f; + mWindowLinePosY = 0.0f; + mWindowLineAlpha = 130; + + mSelectScrollIconBlack.set(0, 0, 0, 0); + mSelectScrollIconWhite.set(255, 255, 255, 255); + mUnselectScrollIconBlack.set(0, 0, 0, 0); + mUnselectScrollIconWhite.set(180, 180, 180, 100); + mSelectBarBlack.set(105, 95, 55, 255); + mSelectBarWhite.set(200, 180, 135, 255); + mSelectTextBlack.set(31, 24, 12, 0); + mSelectTextWhite.set(255, 255, 200, 255); + + mSkillTitlePosX = 0.0f; + mSkillTitlePosY = 0.0f; + mSkillTitleScale = 1.1f; } -#pragma pop - -/* ############################################################################################## */ -/* 80454570-80454574 002B70 0004+00 5/5 0/0 0/0 .sdata2 @4028 */ -SECTION_SDATA2 static f32 lit_4028 = 2.5f; - -/* 80454574-80454578 002B74 0004+00 2/2 0/0 0/0 .sdata2 @4029 */ -SECTION_SDATA2 static f32 lit_4029 = 0.7727050185203552f; - -/* 80454578-8045457C 002B78 0004+00 3/3 0/0 0/0 .sdata2 @4030 */ -SECTION_SDATA2 static f32 lit_4030 = 3.0f; - -/* 8045457C-80454580 002B7C 0004+00 1/1 0/0 0/0 .sdata2 @4031 */ -SECTION_SDATA2 static f32 lit_4031 = 2.0f; - -/* 80454580-80454584 002B80 0004+00 1/1 0/0 0/0 .sdata2 @4032 */ -SECTION_SDATA2 static f32 lit_4032 = 23.0f / 20.0f; - -/* 80454584-80454588 002B84 0004+00 1/1 0/0 0/0 .sdata2 @4033 */ -SECTION_SDATA2 static f32 lit_4033 = 35.0f; - -/* 80454588-8045458C 002B88 0004+00 2/2 0/0 0/0 .sdata2 @4034 */ -SECTION_SDATA2 static f32 lit_4034 = 175.0f; - -/* 8045458C-80454590 002B8C 0004+00 1/1 0/0 0/0 .sdata2 @4035 */ -SECTION_SDATA2 static f32 lit_4035 = -392.0f; - -/* 80454590-80454594 002B90 0004+00 2/2 0/0 0/0 .sdata2 @4036 */ -SECTION_SDATA2 static f32 lit_4036 = -26.0f; - -/* 80454594-80454598 002B94 0004+00 1/1 0/0 0/0 .sdata2 @4037 */ -SECTION_SDATA2 static f32 lit_4037 = 67.0f; - -/* 80454598-8045459C 002B98 0004+00 3/3 0/0 0/0 .sdata2 @4038 */ -SECTION_SDATA2 static f32 lit_4038 = 12.0f; - -/* 8045459C-804545A0 002B9C 0004+00 3/3 0/0 0/0 .sdata2 @4039 */ -SECTION_SDATA2 static f32 lit_4039 = 17.0f; - -/* 804545A0-804545A4 002BA0 0004+00 1/1 0/0 0/0 .sdata2 @4040 */ -SECTION_SDATA2 static f32 lit_4040 = -17.0f; - -/* 804545A4-804545A8 002BA4 0004+00 2/2 0/0 0/0 .sdata2 @4041 */ -SECTION_SDATA2 static f32 lit_4041 = -6.0f; - -/* 804545A8-804545AC 002BA8 0004+00 3/3 0/0 0/0 .sdata2 @4042 */ -SECTION_SDATA2 static f32 lit_4042 = -8.0f; /* 801FEAF0-801FEFF0 1F9430 0500+00 1/1 0/0 0/0 .text __ct__25dMeter_drawEmpButtonHIO_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm dMeter_drawEmpButtonHIO_c::dMeter_drawEmpButtonHIO_c() { - nofralloc -#include "asm/d/meter/d_meter_HIO/__ct__25dMeter_drawEmpButtonHIO_cFv.s" +dMeter_drawEmpButtonHIO_c::dMeter_drawEmpButtonHIO_c() { + mHighlightScale = 2.5f; + mHighlightFrontInner.set(255, 255, 255, 185); + mHighlightFrontOuter.set(0, 155, 0, 0); + mHighlightBackInner.set(255, 255, 255, 87); + mHighlightBackOuter.set(0, 115, 0, 0); + mHighlightAnimSpeed = 0.772705f; + + mHighlightFastScale = 3.0f; + mHighlightFastFrontInner.set(255, 255, 255, 255); + mHighlightFastFrontOuter.set(220, 220, 215, 0); + mHighlightFastBackInner.set(255, 255, 190, 255); + mHighlightFastBackOuter.set(200, 200, 210, 0); + mHighlightFastAnimSpeed = 2.0f; + + mHighlightListenScale = 1.0f; + mHighlightListenFrontInner.set(255, 255, 255, 185); + mHighlightListenFrontOuter.set(0, 155, 0, 0); + mHighlightListenBackInner.set(255, 255, 255, 87); + mHighlightListenBackOuter.set(0, 115, 0, 0); + mHighlightListenAnimSpeed = 0.3f; + + mHighlightRepeatHitScale = 2.5f; + mHighlightRepeatHitFrontInner.set(255, 255, 255, 185); + mHighlightRepeatHitFrontOuter.set(0, 155, 0, 0); + mHighlightRepeatHitBackInner.set(255, 255, 255, 87); + mHighlightRepeatHitBackOuter.set(0, 115, 0, 0); + mHighlightRepeatHitAnimSpeed = 1.1f; + mRepeatHitScale = 1.15f; + mRepeatHitFrameNum = 4; + + for (int i = 0; i < 17; i++) { + mDebugDisplayButton[0] = 0; + } + + mDisplaySpace = 35.0f; + mEmpButtonPosX = 0.0f; + mEmpButtonPosY = 175.0f; + mEmpButtonScale = 1.0f; + + mAButtonPosX = 0.0f; + mAButtonPosY = 0.0f; + mAButtonScale = 1.0f; + + mBButtonPosX = 0.0f; + mBButtonPosY = 0.0f; + mBButtonScale = 1.0f; + + mRButtonPosX = 0.0f; + mRButtonPosY = 0.0f; + mRButtonScale = 1.0f; + + mZButtonPosX = 0.0f; + mZButtonPosY = 0.0f; + mZButtonScale = 1.0f; + + m3DButtonPosX = 0.0f; + m3DButtonPosY = 0.0f; + m3DButtonScale = 1.0f; + + mCButtonPosX = 0.0f; + mCButtonPosY = 0.0f; + mCButtonScale = 1.0f; + + mSButtonPosX = 0.0f; + mSButtonPosY = -392.0f; + mSButtonScale = 0.9f; + + mXButtonPosX = 0.0f; + mXButtonPosY = 0.0f; + mXButtonScale = 1.0f; + + mYButtonPosX = 0.0f; + mYButtonPosY = 0.0f; + mYButtonScale = 1.0f; + + mNunchukPosX = 0.0f; + mNunchukPosY = 0.0f; + mNunchukScale = 1.0f; + + mWiimotePosX = 0.0f; + mWiimotePosY = 0.0f; + mWiimoteScale = 1.0f; + + mWiimoteLRPosX = 0.0f; + mWiimoteLRPosY = 0.0f; + mWiimoteLRScale = 1.0f; + + mWiimoteAPosX = 0.0f; + mWiimoteAPosY = 0.0f; + mWiimoteAScale = 1.0f; + + m3DBButtonPosX = 0.0f; + m3DBButtonPosY = 0.0f; + m3DBButtonScale = 1.0f; + + mNunchukWiimotePosX = 0.0f; + mNunchukWiimotePosY = 0.0f; + mNunchukWiimoteScale = 1.0f; + + mNunchukWiimoteRealPosX = 0.0f; + mNunchukWiimoteRealPosY = 0.0f; + mNunchukWiimoteRealScale = 1.0f; + + mNunchukRealPosX = 0.0f; + mNunchukRealPosY = 0.0f; + mNunchukRealScale = 1.0f; + + mNunchukAttackPosX = 0.0f; + mNunchukAttackPosY = 0.0f; + mNunchukAttackScale = 1.0f; + + mABButtonPosX = 0.0f; + mABButtonPosY = 0.0f; + mABButtonScale = 1.0f; + + mNunchukZButtonPosX = 0.0f; + mNunchukZButtonPosY = 0.0f; + mNunchukZButtonScale = 1.0f; + + mNunchukCButtonPosX = 0.0f; + mNunchukCButtonPosY = 0.0f; + mNunchukCButtonScale = 1.0f; + + mBottleIconPosX = 0.0f; + mBottleIconPosY = 0.0f; + mBottleIconScale = 1.0f; + + mViewChangePosX = -26.0f; + mViewChangePosY = 67.0f; + mViewChangeScale = 1.0f; + + mText2PosX = 2.0f; + mText1PosX = 2.0f; + mText2PosY = 3.0f; + mText1PosY = 3.0f; + mText2Scale = 1.0f; + mText1Scale = 1.0f; + + mItemPosX = 12.0f; + mItemPosY = 0.0f; + mItemScale = 1.0f; + + mMidnaIconPosX = 0.0f; + mMidnaIconPosY = 0.0f; + mMidnaIconScale = 1.0f; + + mHawkeyeDebugON = false; + mHawkeyePosX = 0.0f; + mHawkeyePosY = 0.0f; + for (int i = 0; i < 3; i++) { + mHawkeyeTextPosY[i] = 0.0f; + } + mHawkeyeTextPosX = 0.0f; + mHawkeyePlusPosX = 17.0f; + mHawkeyeMinusPosX = -17.0f; + + mHawkeyeZoomDebugON = false; + mHawkeyeZoomPosX = 0.0f; + mHawkeyeZoomPosY = 25.0f; + mHawkeyeZoomScale = 0.8f; + mHawkeyeZoomScale_4x3 = 0.9f; + // fake match, fix later + for (int i = 0; i < 3; i++) { + int* tmp = (int*)this + i; + *(f32*)(tmp + 0x62) = 0.0f; + *(f32*)(tmp + 0x6B) = 1.0f; + } + mHawkeyeTextIconPosY = -6.0f; + mHawkeyeZoomTextPosY = -8.0f; + mHawkeyeIconPosY = 0.0f; + mHawkeyeTextIconPosY_4x3 = 12.0f; + mHawkeyeTextPosY_4x3 = -8.0f; + mHawkeyeIconPosY_4x3 = 0.0f; + + mPointerONBlack[0].set(200, 200, 200, 0); + mPointerONWhite[0].set(255, 255, 0, 255); + mPointerONBlack[1].set(255, 145, 100, 0); + mPointerONWhite[1].set(255, 145, 100, 255); + mPointerOFFBlack.set(0, 0, 0, 0); + mPointerOFFWhite.set(0, 0, 0, 0); + + mPointerONScale = 1.1f; + mPointerOFFScale = 0.9f; + mPointerONAnimFrame = 30; } -#pragma pop - -/* ############################################################################################## */ -/* 804545AC-804545B0 002BAC 0004+00 4/4 0/0 0/0 .sdata2 @4071 */ -SECTION_SDATA2 static f32 lit_4071 = 6.0f / 5.0f; - -/* 804545B0-804545B4 002BB0 0004+00 1/1 0/0 0/0 .sdata2 @4072 */ -SECTION_SDATA2 static f32 lit_4072 = 207.0f; - -/* 804545B4-804545B8 002BB4 0004+00 1/1 0/0 0/0 .sdata2 @4073 */ -SECTION_SDATA2 static f32 lit_4073 = -43.0f; - -/* 804545B8-804545BC 002BB8 0004+00 5/5 0/0 0/0 .sdata2 @4074 */ -SECTION_SDATA2 static f32 lit_4074 = 0.5f; - -/* 804545BC-804545C0 002BBC 0004+00 1/1 0/0 0/0 .sdata2 @4075 */ -SECTION_SDATA2 static f32 lit_4075 = 317.0f; - -/* 804545C0-804545C4 002BC0 0004+00 5/5 0/0 0/0 .sdata2 @4076 */ -SECTION_SDATA2 static f32 lit_4076 = 7.0f / 10.0f; - -/* 804545C4-804545C8 002BC4 0004+00 1/1 0/0 0/0 .sdata2 @4077 */ -SECTION_SDATA2 static f32 lit_4077 = -275.0f; - -/* 804545C8-804545CC 002BC8 0004+00 2/2 0/0 0/0 .sdata2 @4078 */ -SECTION_SDATA2 static f32 lit_4078 = 76.0f; - -/* 804545CC-804545D0 002BCC 0004+00 2/2 0/0 0/0 .sdata2 @4079 */ -SECTION_SDATA2 static f32 lit_4079 = -22.0f; - -/* 804545D0-804545D4 002BD0 0004+00 2/2 0/0 0/0 .sdata2 @4080 */ -SECTION_SDATA2 static f32 lit_4080 = -30.0f; - -/* 804545D4-804545D8 002BD4 0004+00 4/4 0/0 0/0 .sdata2 @4081 */ -SECTION_SDATA2 static f32 lit_4081 = 7.0f / 5.0f; - -/* 804545D8-804545DC 002BD8 0004+00 1/1 0/0 0/0 .sdata2 @4082 */ -SECTION_SDATA2 static f32 lit_4082 = 198.0f; - -/* 804545DC-804545E0 002BDC 0004+00 2/2 0/0 0/0 .sdata2 @4083 */ -SECTION_SDATA2 static f32 lit_4083 = 160.0f; - -/* 804545E0-804545E4 002BE0 0004+00 2/2 0/0 0/0 .sdata2 @4084 */ -SECTION_SDATA2 static f32 lit_4084 = 28.0f; - -/* 804545E4-804545E8 002BE4 0004+00 3/3 0/0 0/0 .sdata2 @4085 */ -SECTION_SDATA2 static f32 lit_4085 = -18.0f; - -/* 804545E8-804545EC 002BE8 0004+00 1/1 0/0 0/0 .sdata2 @4086 */ -SECTION_SDATA2 static f32 lit_4086 = 23.0f; - -/* 804545EC-804545F0 002BEC 0004+00 1/1 0/0 0/0 .sdata2 @4087 */ -SECTION_SDATA2 static f32 lit_4087 = -16.0f; - -/* 804545F0-804545F4 002BF0 0004+00 1/1 0/0 0/0 .sdata2 @4088 */ -SECTION_SDATA2 static f32 lit_4088 = 267.0f; - -/* 804545F4-804545F8 002BF4 0004+00 1/1 0/0 0/0 .sdata2 @4089 */ -SECTION_SDATA2 static f32 lit_4089 = 288.0f; - -/* 804545F8-804545FC 002BF8 0004+00 1/1 0/0 0/0 .sdata2 @4090 */ -SECTION_SDATA2 static f32 lit_4090 = -29.0f; - -/* 804545FC-80454600 002BFC 0004+00 1/1 0/0 0/0 .sdata2 @4091 */ -SECTION_SDATA2 static f32 lit_4091 = 50.0f; - -/* 80454600-80454604 002C00 0004+00 1/1 0/0 0/0 .sdata2 @4092 */ -SECTION_SDATA2 static f32 lit_4092 = 9.0f / 5.0f; - -/* 80454604-80454608 002C04 0004+00 3/3 0/0 0/0 .sdata2 @4093 */ -SECTION_SDATA2 static f32 lit_4093 = 3.0f / 5.0f; /* 801FEFF0-801FF31C 1F9930 032C+00 1/1 0/0 0/0 .text __ct__24dMeter_drawMiniGameHIO_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm dMeter_drawMiniGameHIO_c::dMeter_drawMiniGameHIO_c() { - nofralloc -#include "asm/d/meter/d_meter_HIO/__ct__24dMeter_drawMiniGameHIO_cFv.s" +dMeter_drawMiniGameHIO_c::dMeter_drawMiniGameHIO_c() { + field_0x8 = 1.0f; + field_0x14 = 0.0f; + field_0x20 = 0.0f; + field_0x2c = 1.0f; + + mGoatTimerSizeX = 1.2f; + mGoatTimerSizeY = 0.9f; + mGoatTimerPosX = 207.0f; + mGoatTimerPosY = -43.0f; + mGoatTimerAlpha = 0.5f; + mGoatTimerSizeX_4x3 = 1.2f; + mGoatTimerSizeY_4x3 = 0.9f; + mGoatTimerPosX_4x3 = 207.0f; + mGoatTimerPosY_4x3 = -43.0f; + + mGoatCounterSizeX = 1.1f; + mGoatCounterSizeY = 0.9f; + mGoatCounterPosX = 17.0f; + mGoatCounterPosY = 317.0f; + mGoatCounterAlpha = 0.7f; + + mGoatIconSizeX = 0.75f; + mGoatIconSizeY = 0.75f; + mGoatIconPosX = -275.0f; + mGoatIconPosX_4x3 = -275.0f; + mGoatIconPosY = 76.0f; + mGoatIconAlpha = 0.9f; + + mRiverRideTargetCounterSizeY = 1.0f; + mRiverRideTargetCounterPosX = -22.0f; + mRiverRideIconPosX_4x3 = -30.0f; + mRiverRideTargetCounterPosY = 0.0f; + mRiverRideTargetCounterAlpha = 1.0f; + + field_0x3c = 1.4f; + field_0x48 = 1.0f; + field_0x54 = 198.0f; + field_0x60 = 160.0f; + field_0x6c = 0.5f; + + mRiverRideCounterSizeX = 1.1f; + mRiverRideCounterSizeY = 0.95f; + mRiverRideCounterPosX = 28.0f; + mRiverRideCounterPosY = -18.0f; + mRiverRideCounterAlpha = 0.7f; + + mRiverRideTargetIconSizeX = 0.9f; + mRiverRideTargetIconSizeY = 0.9f; + mRiverRideTargetIconPosX = 23.0f; + mRiverRideTargetIconPosY = -16.0f; + mRiverRideTargetIconAlpha = 0.9f; + + field_0x10 = 1.0f; + field_0x1c = 0.0f; + field_0x28 = 0.0f; + field_0x34 = 1.0f; + field_0x40 = 1.4f; + field_0x4c = 1.0f; + field_0x58 = 198.0f; + field_0x64 = -30.0f; + field_0x70 = 0.5f; + + mRiderGameCounterSizeX = 1.1f; + mRiderGameCounterSizeY = 0.95f; + mRiderGameCounterPosX = 267.0f; + mRiderGameCounterPosY = 288.0f; + mRiderGameCounterAlpha = 0.7f; + + mRiderGameIconSizeX = 0.75f; + mRiderGameIconSizeY = 0.75f; + mRiderGameIconPosX = -29.0f; + mRiderGameIconPosX_4x3 = -26.0f; + mRiderGameIconPosY = 50.0f; + mRiderGameIconAlpha = 0.9f; + + mReadyGo = 60; + field_0x15a = 10; + + mGetInTextSizeX = 1.0f; + mGetInTextSizeY = 1.0f; + mGetInTextPosX = 0.0f; + mGetInTextPosY = 0.0f; + mGetInTextAnimSpeed = 1.0f; + mGetInTextWaitFrames = 10; + mGetInTextAlphaFrames = 10; + mGetInHighlightAppearFrames = 30; + mGetInHighlightScale = 1.8f; + mGetInHighlightFrontInner.set(255, 255, 167, 80); + mGetInHighlightFrontOuter.set(220, 110, 30, 0); + mGetInHighlightBackInner.set(255, 255, 190, 90); + mGetInHighlightBackOuter.set(170, 110, 0, 0); + mGetInHighlightAnimSpeed = 0.6f; + mGetInTextLocation = 0; + + mStartHighlightAppearFrames = 30; + mStartHighlightScale = 1.8f; + mStartHighlightFrontInner.set(255, 255, 167, 80); + mStartHighlightFrontOuter.set(220, 110, 30, 0); + mStartHighlightBackInner.set(255, 255, 190, 90); + mStartHighlightBackOuter.set(170, 110, 0, 0); + mStartHighlightAnimSpeed = 0.6f; + mStartHighlightDisplayFrames = 30; + + mReadyFightTextSizeX = 1.0f; + mReadyFightTextSizeY = 1.0f; + mReadyFightTextPosX = 0.0f; + mReadyFightTextPosY = 0.0f; + mReadyFightTextAnimSpeed = 1.0f; + mReadyFightTextWaitFrames = 10; + field_0x172 = 10; + mReadyFightHighlightAppearFrames = 30; + mReadyFightHighlightScale = 1.8f; + mReadyFightHighlightFrontInner.set(255, 255, 167, 80); + mReadyFightHighlightFrontOuter.set(220, 110, 30, 0); + mReadyFightHighlightBackInner.set(255, 255, 190, 90); + mReadyFightHighlightBackOuter.set(170, 110, 0, 0); + mReadyFightHighlightAnimSpeed = 0.6f; } -#pragma pop - -/* ############################################################################################## */ -/* 80454608-8045460C 002C08 0004+00 1/1 0/0 0/0 .sdata2 @4126 */ -SECTION_SDATA2 static f32 lit_4126 = 19.0f / 25.0f; - -/* 8045460C-80454610 002C0C 0004+00 1/1 0/0 0/0 .sdata2 @4127 */ -SECTION_SDATA2 static f32 lit_4127 = 11.0f; - -/* 80454610-80454614 002C10 0004+00 3/3 0/0 0/0 .sdata2 @4128 */ -SECTION_SDATA2 static f32 lit_4128 = 33.0f / 5.0f; - -/* 80454614-80454618 002C14 0004+00 1/1 0/0 0/0 .sdata2 @4129 */ -SECTION_SDATA2 static f32 lit_4129 = -35.0f; - -/* 80454618-8045461C 002C18 0004+00 3/3 0/0 0/0 .sdata2 @4130 */ -SECTION_SDATA2 static f32 lit_4130 = 1.0f / 5.0f; - -/* 8045461C-80454620 002C1C 0004+00 1/1 0/0 0/0 .sdata2 @4131 */ -SECTION_SDATA2 static f32 lit_4131 = 19.0f; - -/* 80454620-80454624 002C20 0004+00 1/1 0/0 0/0 .sdata2 @4132 */ -SECTION_SDATA2 static f32 lit_4132 = 1.0f / 10.0f; /* 801FF31C-801FF5B8 1F9C5C 029C+00 1/1 0/0 0/0 .text __ct__25dMeter_drawLightDropHIO_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm dMeter_drawLightDropHIO_c::dMeter_drawLightDropHIO_c() { - nofralloc -#include "asm/d/meter/d_meter_HIO/__ct__25dMeter_drawLightDropHIO_cFv.s" +dMeter_drawLightDropHIO_c::dMeter_drawLightDropHIO_c() { + mVesselScale = 0.76f; + mVesselPosX = -18.0f; + mVesselPosY = 11.0f; + mVesselPosX_4x3 = -20.0f; + mVesselPosY_4x3 = 6.6f; + mVesselAlpha = 1.0f; + + mVesselTalkScale = 0.76f; + mVesselTalkPosX = 20.0f; + mVesselTalkPosY = -35.0f; + mVesselTalkAlpha = 0.5f; + + mDropGetScale = 2.5f; + mDropGetScaleAnimFrameNum = 20; + mDropScale = 1.0f; + mHighlightInterval = 1; + field_0x54 = 0xFFF1; + mVesselDecorAlpha = 0.5f; + mDropAlpha = 1.0f; + + mDropOnColorBlack.set(30, 255, 255, 0); + mDropOnColorWhite.set(255, 255, 255, 255); + mDropOffColorBlack.set(0, 0, 0, 0); + mDropOffColorWhite.set(255, 255, 255, 255); + + mHighlightLoopScale = 0.6f; + mHighlightLoopFrontInner[0].set(255, 255, 255, 255); + mHighlightLoopFrontOuter[0].set(0, 0, 0, 0); + mHighlightLoopBackInner[0].set(255, 255, 255, 255); + mHighlightLoopBackOuter[0].set(126, 238, 218, 0); + mHighlightLoopAnimSpeed = 0.2f; + + mHighlightLoopBackScale = 0.7f; + mHighlightLoopFrontInner[1].set(255, 255, 255, 255); + mHighlightLoopFrontOuter[1].set(0, 0, 0, 0); + mHighlightLoopBackInner[1].set(255, 255, 255, 255); + mHighlightLoopBackOuter[1].set(126, 238, 218, 0); + mHighlightLoopBackStopFrame = 19.0f; + + mDropHighlightFrontInner.set(255, 255, 255, 255); + mDropHighlightFrontOuter.set(0, 0, 0, 0); + mDropHighlightBackInner.set(255, 255, 255, 255); + mDropHighlightBackOuter.set(126, 238, 218, 0); + mDropHighlightAnimSpeed = 0.1f; + mDropHighlightAnimSpeed_Completed = 0.6f; + mHighlightScaleNormal = 1.3f; + mHighlightScaleComplete = 0.3f; + mAnimDebug = 0; } -#pragma pop - -/* ############################################################################################## */ -/* 80454624-80454628 002C24 0004+00 1/1 0/0 0/0 .sdata2 @4257 */ -SECTION_SDATA2 static f32 lit_4257 = 40.0f; - -/* 80454628-8045462C 002C28 0004+00 1/1 0/0 0/0 .sdata2 @4258 */ -SECTION_SDATA2 static f32 lit_4258 = -28.0f / 5.0f; - -/* 8045462C-80454630 002C2C 0004+00 1/1 0/0 0/0 .sdata2 @4259 */ -SECTION_SDATA2 static f32 lit_4259 = -15.0f; - -/* 80454630-80454634 002C30 0004+00 3/3 0/0 0/0 .sdata2 @4260 */ -SECTION_SDATA2 static f32 lit_4260 = 2.0f / 5.0f; - -/* 80454634-80454638 002C34 0004+00 2/2 0/0 0/0 .sdata2 @4261 */ -SECTION_SDATA2 static f32 lit_4261 = 18.0f; - -/* 80454638-8045463C 002C38 0004+00 2/2 0/0 0/0 .sdata2 @4262 */ -SECTION_SDATA2 static f32 lit_4262 = 11.0f / 20.0f; - -/* 8045463C-80454640 002C3C 0004+00 1/1 0/0 0/0 .sdata2 @4263 */ -SECTION_SDATA2 static f32 lit_4263 = -42.0f; - -/* 80454640-80454644 002C40 0004+00 2/2 0/0 0/0 .sdata2 @4264 */ -SECTION_SDATA2 static f32 lit_4264 = 8.0f; - -/* 80454644-80454648 002C44 0004+00 2/2 0/0 0/0 .sdata2 @4265 */ -SECTION_SDATA2 static f32 lit_4265 = 23.0f / 25.0f; - -/* 80454648-8045464C 002C48 0004+00 1/1 0/0 0/0 .sdata2 @4266 */ -SECTION_SDATA2 static f32 lit_4266 = -63.0f; - -/* 8045464C-80454650 002C4C 0004+00 1/1 0/0 0/0 .sdata2 @4267 */ -SECTION_SDATA2 static f32 lit_4267 = -49.0f; - -/* 80454650-80454654 002C50 0004+00 1/1 0/0 0/0 .sdata2 @4268 */ -SECTION_SDATA2 static f32 lit_4268 = -62.0f; - -/* 80454654-80454658 002C54 0004+00 1/1 0/0 0/0 .sdata2 @4269 */ -SECTION_SDATA2 static f32 lit_4269 = -48.0f; - -/* 80454658-8045465C 002C58 0004+00 1/1 0/0 0/0 .sdata2 @4270 */ -SECTION_SDATA2 static f32 lit_4270 = -11.0f / 5.0f; - -/* 8045465C-80454660 002C5C 0004+00 2/2 0/0 0/0 .sdata2 @4271 */ -SECTION_SDATA2 static f32 lit_4271 = -13.0f / 10.0f; - -/* 80454660-80454664 002C60 0004+00 1/1 0/0 0/0 .sdata2 @4272 */ -SECTION_SDATA2 static f32 lit_4272 = -46.0f / 5.0f; - -/* 80454664-80454668 002C64 0004+00 1/1 0/0 0/0 .sdata2 @4273 */ -SECTION_SDATA2 static f32 lit_4273 = -65.0f; - -/* 80454668-8045466C 002C68 0004+00 1/1 0/0 0/0 .sdata2 @4274 */ -SECTION_SDATA2 static f32 lit_4274 = 23.0f / 10.0f; - -/* 8045466C-80454670 002C6C 0004+00 1/1 0/0 0/0 .sdata2 @4275 */ -SECTION_SDATA2 static f32 lit_4275 = 22.0f; - -/* 80454670-80454674 002C70 0004+00 1/1 0/0 0/0 .sdata2 @4276 */ -SECTION_SDATA2 static f32 lit_4276 = 21.0f / 10.0f; - -/* 80454674-80454678 002C74 0004+00 2/2 0/0 0/0 .sdata2 @4277 */ -SECTION_SDATA2 static f32 lit_4277 = -14.0f; - -/* 80454678-8045467C 002C78 0004+00 1/1 0/0 0/0 .sdata2 @4278 */ -SECTION_SDATA2 static f32 lit_4278 = -13.0f; - -/* 8045467C-80454680 002C7C 0004+00 2/2 0/0 0/0 .sdata2 @4279 */ -SECTION_SDATA2 static f32 lit_4279 = -1.0f; - -/* 80454680-80454684 002C80 0004+00 1/1 0/0 0/0 .sdata2 @4280 */ -SECTION_SDATA2 static f32 lit_4280 = 14.0f; - -/* 80454684-80454688 002C84 0004+00 2/2 0/0 0/0 .sdata2 @4281 */ -SECTION_SDATA2 static f32 lit_4281 = 6.0f; - -/* 80454688-8045468C 002C88 0004+00 1/1 0/0 0/0 .sdata2 @4282 */ -SECTION_SDATA2 static f32 lit_4282 = -47.0f / 10.0f; - -/* 8045468C-80454690 002C8C 0004+00 2/2 0/0 0/0 .sdata2 @4283 */ -SECTION_SDATA2 static f32 lit_4283 = 46.0f / 5.0f; - -/* 80454690-80454694 002C90 0004+00 1/1 0/0 0/0 .sdata2 @4284 */ -SECTION_SDATA2 static f32 lit_4284 = -4.0f; - -/* 80454694-80454698 002C94 0004+00 2/2 0/0 0/0 .sdata2 @4285 */ -SECTION_SDATA2 static f32 lit_4285 = 11.0f / 5.0f; - -/* 80454698-8045469C 002C98 0004+00 2/2 0/0 0/0 .sdata2 @4286 */ -SECTION_SDATA2 static f32 lit_4286 = 17.0f / 20.0f; - -/* 8045469C-804546A0 002C9C 0004+00 1/1 0/0 0/0 .sdata2 @4287 */ -SECTION_SDATA2 static f32 lit_4287 = 200.0f; - -/* 804546A0-804546A4 002CA0 0004+00 1/1 0/0 0/0 .sdata2 @4288 */ -SECTION_SDATA2 static f32 lit_4288 = 150.0f; - -/* 804546A4-804546A8 002CA4 0004+00 1/1 0/0 0/0 .sdata2 @4289 */ -SECTION_SDATA2 static f32 lit_4289 = 208.0f; - -/* 804546A8-804546AC 002CA8 0004+00 1/1 0/0 0/0 .sdata2 @4290 */ -SECTION_SDATA2 static f32 lit_4290 = -100.0f; /* 801FF5B8-802001AC 1F9EF8 0BF4+00 1/1 0/0 0/0 .text __ct__16dMeter_drawHIO_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm dMeter_drawHIO_c::dMeter_drawHIO_c() { - nofralloc -#include "asm/d/meter/d_meter_HIO/__ct__16dMeter_drawHIO_cFv.s" +dMeter_drawHIO_c::dMeter_drawHIO_c() { + mLifeTopPosX = 40.0f; + mLifeTopPosY = -5.6f; + + mNoMagicPosY = -15.0f; + + mHUDScale = 1.0f; + mHUDAlpha = 1.0f; + + mLifeGaugeScale = 1.0f; + mLifeGaugeHeartAlpha = 1.0f; + mLifeGaugeBaseAlpha = 0.4f; + mLifeGaugePosX = 5.0f; + mLifeGaugePosY = 18.0f; + + mHeartScale = 1.0f; + mHeartAlpha = 0.7f; + mLargeHeartScale = 1.0f; + mLargeHeartAlpha = 1.0f; + + mMagicMeterScale = 0.7f; + mMagicMeterAlpha = 1.0f; + mMagicMeterFrameAlpha = 0.55f; + mMagicMeterPosX = -42.0f; + mMagicMeterPosY = 0.0f; + + mLanternMeterScale = 0.7f; + mLanternMeterAlpha = 1.0f; + mLanternMeterFrameAlpha = 0.55f; + mLanternMeterPosX = 8.0f; + mLanternMeterPosY = 20.0f; + + mOxygenMeterScale = 0.7f; + mOxygenMeterAlpha = 1.0f; + mOxygenMeterFrameAlpha = 0.55f; + mOxygenMeterPosX = 8.0f; + mOxygenMeterPosY = 20.0f; + + mMainHUDButtonsScale = 0.92f; + mMainHUDButtonsAlpha = 1.0f; + mMainHUDButtonsPosX = -15.0f; + mMainHUDButtonsPosY = 8.0f; + + mRingHUDButtonsScale = 0.92f; + mRingHUDButtonsAlpha = 1.0f; + mRingHUDButtonsPosX = -15.0f; + mRingHUDButtonsPosY = 8.0f; + + mButtonDisplayBackScale = 1.0f; + mButtonDisplayBackAlpha = 1.0f; + + mAButtonScale = 1.1f; + mAButtonAlpha = 1.0f; + mAButtonPosX = 0.0f; + mAButtonPosY = 0.0f; + mAButtonTalkScale = 1.0f; + mAButtonTalkPosX = 0.0f; + mAButtonTalkPosY = -63.0f; + mAButtonTalkAScale = 1.0f; + mAButtonTalkAPosX = 0.0f; + mAButtonTalkAPosY = -49.0f; + + mAButtonFontTalkScale = 1.0f; + mAButtonFontTalkPosX = -20.0f; + mAButtonFontTalkPosY = -62.0f; + mAButtonFontTalkAScale = 1.0f; + mAButtonFontTalkAPosX = -20.0f; + mAButtonFontTalkAPosY = -48.0f; + + mAButtonVesselPosX = 0.0f; + mAButtonVesselPosY = 0.0f; + + mBButtonScale = 1.1f; + mBButtonAlpha = 1.0f; + mBButtonPosX = -2.2f; + mBButtonPosY = -1.3f; + mBButtonTalkScale = 1.0f; + mBButtonTalkPosX = 0.0f; + mBButtonTalkPosY = -62.0f; + + mBButtonFontTalkScale = 1.0f; + mBButtonFontTalkPosX = -9.2f; + mBButtonFontTalkPosY = -65.0f; + + mBButtonWolfPosX = 0.0f; + mBButtonWolfPosY = 0.0f; + + mBButtonVesselPosX = 0.0f; + mBButtonVesselPosY = 0.0f; + + mMidnaIconScale = 1.1f; + mMidnaIconAlpha = 1.0f; + mMidnaIconPosX = 0.0f; + mMidnaIconPosY = 0.0f; + + field_0x134 = 1.1f; + field_0x138 = 1.0f; + field_0x13c = 0.0f; + field_0x140 = 0.0f; + + mXButtonScale = 1.0f; + mXButtonAlpha = 0.9f; + mXButtonPosX = 0.0f; + mXButtonPosY = 0.0f; + + mYButtonScale = 1.0f; + mYButtonAlpha = 0.9f; + mYButtonPosX = 0.0f; + mYButtonPosY = 0.0f; + + field_0x164 = 1.5f; + field_0x168 = 1.0f; + field_0x16c = 0.0f; + field_0x170 = 0.0f; + + field_0x304 = 1.0f; + field_0x308 = 0.0f; + field_0x30c = 0.0f; + + field_0x314 = 1.0f; + field_0x318 = 0.0f; + field_0x31c = 0.0f; + + field_0x320 = 1.0f; + field_0x324 = 0.0f; + field_0x328 = 0.0f; + + mZButtonScale = 1.0f; + mZButtonAlpha = 0.9f; + mZButtonPosX = 0.0f; + mZButtonPosY = 0.0f; + + mBButtonItemPosX = 3.0f; + mBButtonItemPosY = 18.0f; + mBButtonItemRotation = 0.0f; + mBButtonItemScale = 1.4f; + + mBButtonSwordPosX = 17.0f; + mBButtonSwordPosY = 25.0f; + mBButtonSwordRotation = 76.0f; + mBButtonSwordScale = 2.3f; + + mBButtonFishingPosX = 4.0f; + mBButtonFishingPosY = 22.0f; + mBButtonFishingRotation = 20.0f; + mBButtonFishingScale = 2.1f; + + mXButtonItemPosX = 4.0f; + mXButtonItemPosY = -14.0f; + mXButtonItemScale = 1.5f; + + mYButtonItemPosX = 0.0f; + mYButtonItemPosY = 0.0f; + mYButtonItemScale = 1.5f; + + field_0x1cc = 0.0f; + field_0x1d0 = 0.0f; + field_0x1d4 = 1.0f; + + mXItemNumPosX = -13.0f; + mXItemNumPosY = -12.0f; + mXItemNumScale = 0.95f; + + mYItemNumPosX = -1.0f; + mYItemNumPosY = -18.0f; + mYItemNumScale = 0.95f; + + field_0x1f8 = 0.0f; + field_0x208 = 0.0f; + field_0x218 = 1.0f; + + mBItemNumPosX = 0.0f; + mBItemNumPosY = 0.0f; + mBItemNumScale = 1.0f; + + for (int i = 0; i < 3; i++) { + mButtonItemRotation[i] = 0.0f; + } + + mZButtonItemPosX = 0.0f; + mZButtonItemPosY = 0.0f; + mZButtonItemScale = 1.0f; + + for (int i = 0; i < 2; i++) { + mBItemBaseScale[i] = 1.0f; + mBItemBasePosX[i] = 0.0f; + mBItemBasePosY[i] = 0.0f; + } + + mBItemBaseAlpha = 0.5f; + field_0x23c = 0.5f; + + mXButtonItemBaseScale = 1.5f; + mXButtonItemBasePosX = 14.0f; + mXButtonItemBasePosY = -12.0f; + mXButtonItemBaseAlpha = 0.5f; + + mXButtonItemBaseNoItemScale = 1.5f; + mXButtonItemBaseNoItemPosX = 0.0f; + mXButtonItemBaseNoItemPosY = 0.0f; + mXButtonItemBaseNoItemAlpha = 1.0f; + + mYButtonItemBaseScale = 1.5f; + mYButtonItemBasePosX = -15.0f; + mYButtonItemBasePosY = -12.0f; + mYButtonItemBaseAlpha = 0.5f; + + mYButtonItemBaseNoItemScale = 1.5f; + mYButtonItemBaseNoItemPosX = 0.0f; + mYButtonItemBaseNoItemPosY = 0.0f; + mYButtonItemBaseNoItemAlpha = 0.5f; + + field_0x280 = 1.5f; + field_0x288 = 0.0f; + field_0x290 = 6.0f; + field_0x298 = 0.5f; + + field_0x284 = 1.0f; + field_0x28c = 0.0f; + field_0x294 = 4.0f; + field_0x29c = 1.0f; + + mZButtonItemBaseScale = 1.0f; + mZButtonItemBasePosX = 0.0f; + mZButtonItemBasePosY = 0.0f; + mZButtonItemBaseAlpha = 0.5f; + + mButtonBaseAlpha = 0.55f; + + mAButtonFontActionID = 1001; + field_0x2cc = 1001; + mAButtonTextDebug = false; + + mAButtonFontSpacing = 1.0f; + mAButtonFontScale = 1.0f; + mAButtonFontPosX = 0.0f; + mAButtonFontPosY = 0.0f; + mAButtonFontColor.set(255, 255, 255, 255); + + mBButtonFontScale = 1.0f; + mBButtonFontPosX = -8.0f; + mBButtonFontPosY = 4.0f; + mBButtonFontColor.set(255, 255, 255, 255); + + field_0x2e4 = 1.0f; + field_0x2e8 = 0.0f; + field_0x2ec = 0.0f; + field_0x2f0.set(255, 255, 255, 255); + + mXYButtonFontScale = 1.0f; + mXYButtonFontPosX = 0.0f; + mXYButtonFontPosY = 0.0f; + mXYButtonFontColor.set(255, 255, 255, 255); + + mZButtonFontScale = 1.0f; + mZButtonFontPosX = 0.0f; + mZButtonFontPosY = -4.7f; + mZButtonFontColor.set(255, 255, 255, 255); + + mRupeeKeyScale = 1.0f; + mRupeeKeyPosX = 9.2f; + mRupeeKeyPosY = -4.0f; + mRupeeKeyAlpha = 0.8f; + + mRupeeScale = 0.8f; + mRupeePosX = 0.0f; + mRupeePosY = 0.0f; + mRupeeAlpha = 1.0f; + + mKeyScale = 0.7f; + mKeyPosX = -14.0f; + mKeyPosY = 1.3f; + mKeyAlpha = 1.0f; + + mRupeeFrameScale = 0.0f; + mRupeeFramePosX = 0.0f; + mRupeeFramePosY = 1.0f; + mRupeeFrameAlpha = 1.0f; + + mRupeeCountScale = 1.0f; + mRupeeCountPosX = 0.0f; + mRupeeCountPosY = 0.0f; + mRupeeCountAlpha = 1.0f; + + mKeyNumScale = 1.0f; + mKeyNumPosX = 0.0f; + mKeyNumPosY = 0.0f; + mKeyNumAlpha = 1.0f; + + mSpurDebug = false; + mSpurIconScale = 1.0f; + mSpurIconAlpha = 1.0f; + mUsedSpurIconScale = 1.0f; + mUsedSpurIconAlpha = 1.0f; + mSpurBarScale = 0.95f; + mSpurBarPosX = 6.6f; + mSpurBarPosY = -1.3f; + + mAButtonHorsePosX = 2.2f; + mAButtonHorsePosY = 0.0f; + mAButtonHorseScale = 0.85f; + + mAButtonHighlightScale = 1.5f; + mBButtonHighlightScale = 0.7f; + field_0x3cc = 1.0f; + mZButtonHighlightScale = 1.2f; + mXYButtonHighlightScale = 1.2f; + mMidnaIconHighlightScale = 1.0f; + mSpurIconHighlightScale = 2.5f; + mSpurIconReviveHighlightScale = 1.3f; + field_0x3f0 = 0.0f; + field_0x3f4 = 0.0f; + field_0x3f8 = 1.0f; + + mDPadButtonScale = 0.9f; + mDPadButtonOFFPosX = 12.0f; + mDPadButtonOFFPosY = 0.0f; + mDPadButtonONPosX = 12.0f; + mDPadButtonONPosY = 0.0f; + mDPadButtonLetterSpacing = 0.9f; + mDPadButtonAlpha = 1.0f; + mDPadButtonITEMAlpha = 1.0f; + mDPadButtonMAPAlpha = 1.0f; + mDPadButtonMoveFrame = 5; + field_0x422 = 10; + field_0x424 = 20; + + mXYButtonsItemDimAlpha = 128; + mXYButtonsBaseDimAlpha = 128; + field_0x42c = 128; + + for (int i = 0; i < 4; i++) { + mButtonDebug[i] = false; + } + + mMaxSpurAmount = 6; + + mSpurIconHighlightFrontInner.set(255, 255, 255, 255); + mSpurIconHighlightFrontOuter.set(140, 232, 228, 0); + mSpurIconHighlightBackInner.set(255, 255, 190, 255); + mSpurIconHighlightBackOuter.set(55, 215, 90, 0); + mSpurIconHighlightAnimSpeed = 1.5f; + + mSpurIconReviveHighlightFrontInner.set(255, 255, 255, 255); + mSpurIconReviveHighlightFrontOuter.set(220, 110, 30, 0); + mSpurIconReviveHighlightBackInner.set(255, 255, 190, 255); + mSpurIconReviveHighlightBackOuter.set(170, 110, 0, 0); + mSpurIconReviveHighlightAnimSpeed = 0.5f; + + mZButtonHighlightFrontInner.set(255, 255, 255, 255); + mZButtonHighlightFrontOuter.set(0, 0, 0, 0); + mZButtonHighlightBackInner.set(255, 255, 255, 255); + mZButtonHighlightBackOuter.set(160, 160, 110, 0); + mZButtonHighlightAnimSpeed = 0.4f; + + mXYButtonHighlightFrontInner.set(255, 255, 255, 255); + mXYButtonHighlightFrontOuter.set(0, 0, 0, 0); + mXYButtonHighlightBackInner.set(255, 255, 255, 255); + mXYButtonHighlightBackOuter.set(160, 160, 110, 0); + mXYButtonHighlightAnimSpeed = 0.4f; + + mAButtonHighlightFrontInner.set(255, 255, 255, 160); + mAButtonHighlightFrontOuter.set(0, 0, 0, 0); + mAButtonHighlightBackInner.set(255, 255, 255, 128); + mAButtonHighlightBackOuter.set(0, 255, 0, 0); + mAButtonHighlightAnimSpeed = 0.4f; + + mBButtonHighlightFrontInner.set(255, 180, 180, 160); + mBButtonHighlightFrontOuter.set(0, 0, 0, 0); + mBButtonHighlightBackInner.set(255, 255, 255, 128); + mBButtonHighlightBackOuter.set(255, 0, 0, 0); + mBButtonHighlightAnimSpeed = 0.4f; + + field_0x4a8.set(255, 180, 180, 160); + field_0x4ac.set(0, 0, 0, 0); + field_0x4b0.set(255, 255, 255, 128); + field_0x4b4.set(255, 0, 0, 0); + field_0x4b8 = 0.4f; + + field_0x4bc.set(255, 180, 180, 160); + field_0x4c0.set(0, 0, 0, 0); + field_0x4c4.set(255, 255, 255, 128); + field_0x4c8.set(255, 255, 255, 0); + field_0x4cc = 0.4f; + field_0x3d0 = 0.7f; + + field_0x4d0.set(255, 180, 180, 160); + field_0x4d4.set(0, 0, 0, 0); + field_0x4d8.set(255, 255, 255, 128); + field_0x4dc.set(255, 255, 255, 0); + field_0x4e0 = 0.4f; + field_0x3d4 = 0.7f; + + mMidnaIconHighlightFrontInner.set(200, 235, 255, 255); + mMidnaIconHighlightFrontOuter.set(0, 0, 0, 0); + mMidnaIconHighlightBackInner.set(255, 255, 255, 255); + mMidnaIconHighlightBackOuter.set(140, 200, 125, 0); + mMidnaIconHighlightAnimSpeed = 0.5f; + mMidnaIconFlashRate = 50; + + mScrollArrowScaleX = 1.0f; + mScrollArrowScaleY = 1.0f; + mScrollArrowBCKAnimSpeed = 1.0f; + mScrollArrowBPKAnimSpeed = 1.0f; + mScrollArrowBTKAnimSpeed = 1.0f; + mScrollArrowTopBottomPosX = 0.0f; + mScrollArrowTopBottomPosY = 200.0f; + mScrollArrowLeftRightPosX = 200.0f; + mScrollArrowLeftRightPosY = 0.0f; + mScrollArrowCenterPosX = 0.0f; + mScrollArrowCenterPosY = 0.0f; + mScrollArrowDisplayAll = false; + + mWiiLockArrowScaleX = 0.5f; + mWiiLockArrowScaleY = 0.5f; + mWiiLockArrowBCKAnimSpeed = 1.0f; + mWiiLockArrowBPKAnimSpeed = 1.0f; + mWiiLockArrowBTKAnimSpeed = 1.0f; + mWiiLockArrowTopBottomPosX = 0.0f; + mWiiLockArrowTopBottomPosY = 150.0f; + mWiiLockArrowLeftRightPosX = 208.0f; + mWiiLockArrowLeftRightPosY = 0.0f; + mWiiLockArrowDisplayAll = false; + + field_0x54c = 1.0f; + mItemScaleAdjustON = false; + mItemScalePercent = 100; + + mFloatingMessagePosX = 0.0f; + mFloatingMessagePosY = -100.0f; + mMessageID = 395; + mFlowID = 3003; + mMessageDuration = 150; + mMessageDebug = false; + mFlowDebug = false; + + mTouchAreaSelectBlack[0].set(0, 0, 0, 0); + mTouchAreaSelectWhite[0].set(255, 145, 100, 255); + mTouchAreaSelectBlack[1].set(0, 0, 0, 0); + mTouchAreaSelectWhite[1].set(255, 255, 0, 255); + mTouchAreaSelectBlack[2].set(0, 0, 0, 0); + mTouchAreaSelectWhite[2].set(230, 205, 180, 255); + mTouchAreaSelectFrameNum = 10; + + for (int i = 0; i < 5; i++) { + mTouchAreaUnselectScale[i] = 1.0f; + mTouchAreaSelectScale[i] = 1.0f; + mTouchAreaScale[i] = 1.0f; + mTouchAreaAlpha[i] = 1.0f; + mTouchAreaPosX[i] = 0.0f; + mTouchAreaPosY[i] = 0.0f; + } + + mDpadMAPScale = 1.0f; + mDpadMAPPosX = 0.0f; + mDpadMAPPosY = 0.0f; + field_0x60a = false; + + mLanternIconMeterPosX = 0.0f; + mLanternIconMeterPosY = 0.0f; + mLanternIconMeterSize = 1.0f; } -#pragma pop - -/* ############################################################################################## */ -/* 804546AC-804546B0 002CAC 0004+00 1/1 0/0 0/0 .sdata2 @4334 */ -SECTION_SDATA2 static f32 lit_4334 = 125.0f; - -/* 804546B0-804546B4 002CB0 0004+00 1/1 0/0 0/0 .sdata2 @4335 */ -SECTION_SDATA2 static f32 lit_4335 = 173.0f; - -/* 804546B4-804546B8 002CB4 0004+00 1/1 0/0 0/0 .sdata2 @4336 */ -SECTION_SDATA2 static f32 lit_4336 = 7.0f / 20.0f; - -/* 804546B8-804546BC 002CB8 0004+00 1/1 0/0 0/0 .sdata2 @4337 */ -SECTION_SDATA2 static f32 lit_4337 = -59.0f; - -/* 804546BC-804546C0 002CBC 0004+00 1/1 0/0 0/0 .sdata2 @4338 */ -SECTION_SDATA2 static f32 lit_4338 = -64.0f; - -/* 804546C0-804546C4 002CC0 0004+00 1/1 0/0 0/0 .sdata2 @4339 */ -SECTION_SDATA2 static f32 lit_4339 = 90.0f; - -/* 804546C4-804546C8 002CC4 0004+00 1/1 0/0 0/0 .sdata2 @4340 */ -SECTION_SDATA2 static f32 lit_4340 = -124.0f; - -/* 804546C8-804546CC 002CC8 0004+00 1/1 0/0 0/0 .sdata2 @4341 */ -SECTION_SDATA2 static f32 lit_4341 = 118.0f; - -/* 804546CC-804546D0 002CCC 0004+00 1/1 0/0 0/0 .sdata2 @4342 */ -SECTION_SDATA2 static f32 lit_4342 = -127.0f; - -/* 804546D0-804546D4 002CD0 0004+00 1/1 0/0 0/0 .sdata2 @4343 */ -SECTION_SDATA2 static f32 lit_4343 = 46.0f; - -/* 804546D4-804546D8 002CD4 0004+00 1/1 0/0 0/0 .sdata2 @4344 */ -SECTION_SDATA2 static f32 lit_4344 = 9.0f; - -/* 804546D8-804546DC 002CD8 0004+00 1/1 0/0 0/0 .sdata2 @4345 */ -SECTION_SDATA2 static f32 lit_4345 = -60.0f; - -/* 804546DC-804546E0 002CDC 0004+00 1/1 0/0 0/0 .sdata2 @4346 */ -SECTION_SDATA2 static f32 lit_4346 = -58.0f; - -/* 804546E0-804546E4 002CE0 0004+00 1/1 0/0 0/0 .sdata2 @4347 */ -SECTION_SDATA2 static f32 lit_4347 = 120.0f; /* 802001AC-802004B4 1FAAEC 0308+00 1/1 0/0 0/0 .text __ct__16dMeter_ringHIO_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm dMeter_ringHIO_c::dMeter_ringHIO_c() { - nofralloc -#include "asm/d/meter/d_meter_HIO/__ct__16dMeter_ringHIO_cFv.s" +dMeter_ringHIO_c::dMeter_ringHIO_c() { + mRingRadiusH = 175.0f; + mRingRadiusV = 160.0f; + + mOpenFrames = 5; + mCloseFrames = 5; + + mSelectItemScale = 1.4f; + mUnselectItemScale = 0.9f; + mSelectButtonScale = 1.4f; + mUnselectButtonScale = 1.0f; + mCursorScale = 1.2f; + + mItemNum = 8; + + mInactiveItemScale = 0.4f; + mItemAlphaFlashDuration = 300; + mItemAlphaMin = 255; + mItemAlphaMax = 255; + + mOffsetLineDisplay = 0; + + mItemIconAlpha = 255; + mItemIconAlpha_Wolf = 110; + + mItemFrame[SELECT_FRAME].set(255, 255, 255, 0); + mItemFrame[UNSELECT_FRAME].set(255, 255, 140, 0); + + mItemNamePosX = 125.0f; + mItemNamePosY = 173.0f; + mItemNameScale = 1.2f; + + mCenterPosX = 0.0f; + mCenterPosY = 0.0f; + mCenterScale = 1.0f; + mOverlayAlpha = 0.35f; + + mGuidePosX[SET_ITEM] = -59.0f; + mGuidePosY[SET_ITEM] = -64.0f; + mGuideScale[SET_ITEM] = 0.8f; + + mGuidePosX[DIRECT_SELECT] = 90.0f; + mGuidePosY[DIRECT_SELECT] = -124.0f; + mGuideScale[DIRECT_SELECT] = 0.8f; + + mGuidePosX[2] = 0.0f; + mGuidePosY[2] = 0.0f; + mGuideScale[2] = 1.0f; + + mGuidePosX[ROTATE] = 118.0f; + mGuidePosY[ROTATE] = -127.0f; + mGuideScale[ROTATE] = 0.8f; + + mGuidePosX[COMBO_ITEM] = -1.3f; + mGuidePosY[COMBO_ITEM] = -14.0f; + mGuideScale[COMBO_ITEM] = 0.85f; + + for (int i = 5; i < 10; i++) { + mGuidePosX[i] = 0.0f; + mGuidePosY[i] = 18.0f; + mGuideScale[i] = 0.85f; + } + + mSelectPosX = 2.2f; + mSelectPosY = 3.0f; + mSelectScaleX = 0.8f; + mSelectScaleY = 0.85f; + + mItemDescPosX = 0.0f; + mItemDescPosY = 46.0f; + mItemDescScale = 0.95f; + mItemDescAlpha = 1.0f; + + mItemDescTitlePosX = 9.0f; + mItemDescTitlePosY = 0.0f; + mItemDescTitleScale = 1.1f; + + mItemRingPosX = -60.0f; + mItemRingPosY = -5.0f; + mRingPosX = -58.0f; + mRingPosY = -8.0f; + mRingAlpha = 0.75f; + mRingAlpha_Wolf = 0.35f; + mRingScaleH = 1.5f; + mRingScaleV = 1.5f; + + mHighlightScale = 2.5f; + mHighlightFrontInner.set(255, 255, 255, 185); + mHighlightFrontOuter.set(0, 155, 0, 0); + mHighlightBackInner.set(255, 255, 255, 87); + mHighlightBackOuter.set(0, 115, 0, 0); + mHighlightAnimSpeed = 0.772705f; + + mCursorInitSpeed = 5000; + mCursorMax = 10000; + mCursorAccel = 0; + mCursorChangeWaitFrames = 2; + + field_0x10 = 120.0f; + field_0x13e = 12; + field_0x140 = 2048; + field_0x142 = 128; + + field_0x44 = 0.0f; + field_0x48 = 0.0f; + field_0x4c = 1.0f; + field_0x154 = 255; + + mDirectSelectWaitFrames = 4; } -#pragma pop - -/* ############################################################################################## */ -/* 804546E4-804546E8 002CE4 0004+00 1/1 0/0 0/0 .sdata2 @4357 */ -SECTION_SDATA2 static f32 lit_4357 = 13.0f / 20.0f; - -/* 804546E8-804546EC 002CE8 0004+00 1/1 0/0 0/0 .sdata2 @4358 */ -SECTION_SDATA2 static f32 lit_4358 = 32.0f / 25.0f; - -/* 804546EC-804546F0 002CEC 0004+00 1/1 0/0 0/0 .sdata2 @4359 */ -SECTION_SDATA2 static f32 lit_4359 = 8.0f / 5.0f; - -/* 804546F0-804546F4 002CF0 0004+00 1/1 0/0 0/0 .sdata2 @4360 */ -SECTION_SDATA2 static f32 lit_4360 = 0.25f; /* 802004B4-802006C8 1FADF4 0214+00 1/1 0/0 0/0 .text __ct__19dMeter_mapIconHIO_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm dMeter_mapIconHIO_c::dMeter_mapIconHIO_c() { - nofralloc -#include "asm/d/meter/d_meter_HIO/__ct__19dMeter_mapIconHIO_cFv.s" +dMeter_mapIconHIO_c::dMeter_mapIconHIO_c() { + mPortalCursorScale = 0.5f; + mPortalIconScale = 0.65f; + mDestinationScale = 0.5f; + mDestinationZoomScale = 0.8f; + mLinkScale = 0.5f; + mLinkZoomScale = 0.6f; + mYetoScale = 0.3f; + mYetoZoomScale = 1.2f; + mYetaScale = 0.3f; + mYetaZoomScale = 1.2f; + mGoldWolfScale = 0.2f; + mGoldWolfZoomScale = 1.28f; + field_0xa0 = 0.2f; + field_0xa8 = 1.6f; + field_0xb0 = 0.2f; + field_0xb8 = 1.6f; + field_0xc0 = 0.2f; + field_0xc8 = 1.6f; + field_0xd0 = 0.2f; + field_0xd8 = 1.6f; + mWagonScale = 0.2f; + mWagonZoomScale = 1.0f; + field_0x60 = 0.2f; + field_0x68 = 1.6f; + field_0x50 = 0.2f; + field_0x58 = 1.4f; + mDungeonEntranceScale = 0.4f; + mDungeonEntranceZoomScale = 0.6f; + field_0x20 = 0.2f; + field_0x28 = 1.6f; + field_0x30 = 0.2f; + field_0x38 = 1.6f; + mRoomEntranceScale = 0.5f; + mRoomEntranceZoomScale = 0.6f; + mLV8EntranceScale = 0.5f; + mLV8EntranceZoomScale = 0.6f; + field_0x120 = 0.2f; + field_0x128 = 1.6f; + mLightDropScale = 0.25f; + mLightDropZoomScale = 0.55f; + field_0x140 = 0.2f; + field_0x148 = 1.6f; + field_0x150 = 0.2f; + field_0x158 = 1.6f; + mDungeonDestScale = 0.5f; + mDungeonDestZoomScale = 0.8f; + mDungeonLinkScale = 0.4f; + mDungeonLinkZoomScale = 0.5f; + field_0x74 = 0.2f; + field_0x7c = 0.8f; + field_0x84 = 0.2f; + field_0x8c = 0.8f; + field_0x94 = 0.2f; + field_0x9c = 0.8f; + mMonkeyScale = 0.2f; + mMonkeyZoomScale = 0.8f; + mOoccooScale = 0.2f; + mOoccooZoomScale = 0.8f; + mOoccooPotScale = 0.2f; + mOoccooPotZoomScale = 0.8f; + mCopyRodStatueScale = 0.2f; + mCopyRodStatueZoomScale = 0.8f; + field_0xe4 = 0.2f; + field_0xec = 0.5f; + mChestScale = 0.2f; + mChestZoomScale = 0.8f; + mSmallKeyScale = 0.2f; + mSmallKeyZoomScale = 0.7f; + mDungeonExitScale = 0.3f; + mDungeonExitZoomScale = 0.6f; + mBossScale = 0.2f; + mBossZoomScale = 0.8f; + mGanonScale = 0.2f; + mGanonZoomScale = 0.8f; + mDungeonSpawnScale = 0.4f; + mDungeonSpawnZoomScale = 0.5f; + field_0x114 = 0.4f; + field_0x11c = 0.5f; + mDungeonWarpScale = 0.2f; + mDungeonWarpZoomScale = 0.8f; + field_0x134 = 0.25f; + field_0x13c = 0.3f; + mLightOrbScale = 0.2f; + mLightOrbZoomScale = 0.8f; + mCannonBallScale = 0.2f; + mCannonBallZoomScale = 0.8f; + + mLV5DungeonItemDebug = false; + mLV5DungeonItem = NO_ITEM; + mIconDebug = false; + + for (int i = 0; i < ARRAY_SIZE(mIconDisplay); i++) { + mIconDisplay[i] = true; + } + + mLightDropFlashStartScaleOut = 1.2f; + mLightDropFlashEndScaleOut = 1.5f; + mLightDropFlashStartAlphaOut = 255; + mLightDropFlashEndAlphaOut = 255; + mLightDropFlashStartScaleIn = 1.0f; + mLightDropFlashEndScaleIn = 1.3f; + mLightDropFlashStartAlphaIn = 255; + mLightDropFlashEndAlphaIn = 255; + mLightDropFlashFrameNum = 10; } -#pragma pop - -/* ############################################################################################## */ -/* 804546F4-804546F8 002CF4 0004+00 1/1 0/0 0/0 .sdata2 @4416 */ -SECTION_SDATA2 static f32 lit_4416 = 50000.0f; - -/* 804546F8-804546FC 002CF8 0004+00 1/1 0/0 0/0 .sdata2 @4417 */ -SECTION_SDATA2 static f32 lit_4417 = 10000.0f; - -/* 804546FC-80454700 002CFC 0004+00 1/1 0/0 0/0 .sdata2 @4418 */ -SECTION_SDATA2 static f32 lit_4418 = -300000.0f; - -/* 80454700-80454704 002D00 0004+00 1/1 0/0 0/0 .sdata2 @4419 */ -SECTION_SDATA2 static f32 lit_4419 = 300000.0f; - -/* 80454704-80454708 002D04 0004+00 1/1 0/0 0/0 .sdata2 @4420 */ -SECTION_SDATA2 static f32 lit_4420 = 142.0f; - -/* 80454708-8045470C 002D08 0004+00 1/1 0/0 0/0 .sdata2 @4421 */ -SECTION_SDATA2 static f32 lit_4421 = 61.0f; - -/* 8045470C-80454710 002D0C 0004+00 1/1 0/0 0/0 .sdata2 @4422 */ -SECTION_SDATA2 static f32 lit_4422 = 329.0f; - -/* 80454710-80454714 002D10 0004+00 1/1 0/0 0/0 .sdata2 @4423 */ -SECTION_SDATA2 static f32 lit_4423 = 10.0f; - -/* 80454714-80454718 002D14 0004+00 1/1 0/0 0/0 .sdata2 @4424 */ -SECTION_SDATA2 static f32 lit_4424 = 7.0f; - -/* 80454718-8045471C 002D18 0004+00 1/1 0/0 0/0 .sdata2 @4425 */ -SECTION_SDATA2 static f32 lit_4425 = 0.8649899959564209f; - -/* 8045471C-80454720 002D1C 0004+00 1/1 0/0 0/0 .sdata2 @4426 */ -SECTION_SDATA2 static f32 lit_4426 = 4.5f; - -/* 80454720-80454724 002D20 0004+00 1/1 0/0 0/0 .sdata2 @4427 */ -SECTION_SDATA2 static f32 lit_4427 = -0.5f; - -/* 80454724-80454728 002D24 0004+00 2/2 0/0 0/0 .sdata2 @4428 */ -SECTION_SDATA2 static f32 lit_4428 = 21.0f / 20.0f; - -/* 80454728-8045472C 002D28 0004+00 1/1 0/0 0/0 .sdata2 @4429 */ -SECTION_SDATA2 static f32 lit_4429 = -7.5f; - -/* 8045472C-80454730 002D2C 0004+00 1/1 0/0 0/0 .sdata2 @4430 */ -SECTION_SDATA2 static f32 lit_4430 = -7.0f; /* 802006C8-80200BCC 1FB008 0504+00 1/1 0/0 0/0 .text __ct__16dMeter_fmapHIO_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm dMeter_fmapHIO_c::dMeter_fmapHIO_c() { - nofralloc -#include "asm/d/meter/d_meter_HIO/__ct__16dMeter_fmapHIO_cFv.s" +dMeter_fmapHIO_c::dMeter_fmapHIO_c() { + field_0xc = NULL; + field_0x10 = NULL; + field_0x8 = NULL; + + mDisplayFrameNum = 8; + mUndisplayFrameNum = 6; + mMapType = TYPE_DEFAULT; + + mRegionZoomRange = 50000.0f; + mStageZoomScale = 20.0f; + mRegionGridWidth = 10000.0f; + mWorldGridWidth = 50000.0f; + mRangeCheck = false; + mRangeCheckDrawPriority = false; + mPortalWarpON = false; + mDisplayWorldOrigin = false; + mDisplayRegionOrigin = false; + mDisplayStageOrigin = false; + mDisplayWorldGrid = false; + mDisplayRegionGrid = false; + + mScrollSpeedWorldSlow = 0.5f; + mScrollSpeedRegionSlow = 0.5f; + mScrollSpeedRegionZoomSlow = 1.0f; + mScrollSpeedDungeonMapSlow = 0.5f; + + mScrollSpeedWorldFast = 2.5f; + mScrollSpeedRegionFast = 2.5f; + mScrollSpeedRegionZoomFast = 5.0f; + mScrollSpeedDungeonMapFast = 2.5f; + + mScrollSpeedSlowBound = 0.2f; + mScrollSpeedFastBound = 1.0f; + + // fake match + for (int i = 0; i < 8; i++) { + int* tmp = (int*)this + i; + *(f32*)(tmp + 0x5B) = 0.0f; + *(f32*)(tmp + 0x63) = 0.0f; + *(f32*)(tmp + 0x6B) = 0.0f; + *(f32*)(tmp + 0x73) = -300000.0f; + *(f32*)(tmp + 0x7B) = -300000.0f; + *(f32*)(tmp + 0x83) = 300000.0f; + *(f32*)(tmp + 0x8B) = 300000.0f; + } + mScrollRangeDebugON = false; + mScrollRangeDisplay = false; + field_0x308 = true; + mRegionImageDebug = false; + + mMapTopLeftPosX = 142.0f; + mMapTopLeftPosY = 61.0f; + mMapScale = 329.0f; + mDisplayReferenceArea = false; + + mBackgroundAlpha = 1.0f; + mBackgroundFrontAlpha = 0.7f; + + field_0x2f9 = 0; + mTerminalOutput = false; + mPortalDataTerminalOutput = false; + mRegionBitTerminalOutput = false; + mAllRegionsUnlocked = false; + mDrawBackground = true; + + mCursorScale = 1.0f; + mCursorSpeed = 10.0f; + mCursorWhite.set(255, 255, 255, 255); + mCursorBlack.set(0, 182, 255, 0); + mCursorDebugON = false; + + mDisplayAllPaths = false; + mRegionPrintGlobalScroll = false; + field_0x303 = 0; + mRangeCheckInterval = 0; + field_0x305 = 1; + + mTitlePosX = 6.6f; + mTitlePosY = 7.0f; + mTitleScale = 0.86499f; + mSubTitlePosX = -22.0f; + mSubTitlePosY = 4.5f; + mSubTitleScale = 0.9f; + + mAreaMovementPosX = 6.0f; + mAreaMovementPosY = -20.0f; + mAreaMovementScale = 1.0f; + + mClosingPosX = 9.2f; + mClosingPosY = -20.0f; + mClosingScale = 0.9f; + + mDoIconPosX = 6.0f; + mDoIconPosY = -6.0f; + mDoIconScale = 0.9f; + mButtonDebugON = false; + + mZButtonPosX = 25.0f; + mZButtonPosY = 25.0f; + mZButtonScale = 0.92f; + + mAButtonPosX = -0.5f; + mAButtonPosY = 1.0f; + mAButtonScale = 0.92f; + + mBButtonPosX = -1.0f; + mBButtonPosY = -1.0f; + mBButtonScale = 1.05f; + + mZButtonTextPosX = 20.0f; + mZButtonTextPosY = 12.0f; + mZButtonTextScale = 0.95f; + + mAButtonTextPosX = -7.5f; + mAButtonTextPosY = 8.0f; + mAButtonTextScale = 0.95f; + + mBButtonTextPosX = -7.0f; + mBButtonTextPosY = 5.0f; + mBButtonTextScale = 0.95f; + + mMapBlink[WORLD_VIEW].mSelectedRegion.mBlack.set(29, 24, 0, 0); + mMapBlink[WORLD_VIEW].mSelectedRegion.mWhite.set(255, 255, 255, 255); + mMapBlink[WORLD_VIEW].mSelectedRegion.mMax = 255; + mMapBlink[WORLD_VIEW].mSelectedRegion.mMin = 200; + mMapBlink[WORLD_VIEW].mSelectedRegion.mBlinkSpeed = 60; + + mMapBlink[WORLD_VIEW].mUnselectedRegion.mBlack.set(0, 0, 0, 0); + mMapBlink[WORLD_VIEW].mUnselectedRegion.mWhite.set(170, 170, 170, 255); + mMapBlink[WORLD_VIEW].mUnselectedRegion.mMax = 255; + mMapBlink[WORLD_VIEW].mUnselectedRegion.mMin = 255; + mMapBlink[WORLD_VIEW].mUnselectedRegion.mBlinkSpeed = 0; + + mMapBlink[WORLD_VIEW].mUnreachedRegionBlack.set(0, 20, 80, 0); + mMapBlink[WORLD_VIEW].mUnreachedRegionWhite.set(30, 95, 190, 0); + mMapBlink[WORLD_VIEW].field_0x20.set(0, 0, 0, 0); + mMapBlink[WORLD_VIEW].field_0x24.set(0, 0, 0, 255); + + mMapBlink[REGION_VIEW].mSelectedRegion.mBlack.set(0, 0, 0, 0); + mMapBlink[REGION_VIEW].mSelectedRegion.mWhite.set(255, 255, 255, 255); + mMapBlink[REGION_VIEW].mSelectedRegion.mMax = 84; + mMapBlink[REGION_VIEW].mSelectedRegion.mMin = 84; + mMapBlink[REGION_VIEW].mSelectedRegion.mBlinkSpeed = 60; + + mMapBlink[REGION_VIEW].mUnselectedRegion.mBlack.set(0, 0, 0, 0); + mMapBlink[REGION_VIEW].mUnselectedRegion.mWhite.set(48, 48, 48, 255); + mMapBlink[REGION_VIEW].mUnselectedRegion.mMax = 255; + mMapBlink[REGION_VIEW].mUnselectedRegion.mMin = 255; + mMapBlink[REGION_VIEW].mUnselectedRegion.mBlinkSpeed = 0; + + mMapBlink[REGION_VIEW].mUnreachedRegionBlack.set(0, 20, 80, 0); + mMapBlink[REGION_VIEW].mUnreachedRegionWhite.set(30, 95, 190, 0); + mMapBlink[REGION_VIEW].field_0x20.set(0, 0, 0, 0); + mMapBlink[REGION_VIEW].field_0x24.set(0, 0, 0, 255); + + mMapBlink[ZOOM_VIEW].mSelectedRegion.mBlack.set(0, 0, 0, 0); + mMapBlink[ZOOM_VIEW].mSelectedRegion.mWhite.set(255, 255, 255, 255); + mMapBlink[ZOOM_VIEW].mSelectedRegion.mMax = 40; + mMapBlink[ZOOM_VIEW].mSelectedRegion.mMin = 40; + mMapBlink[ZOOM_VIEW].mSelectedRegion.mBlinkSpeed = 60; + + mMapBlink[ZOOM_VIEW].mUnselectedRegion.mBlack.set(0, 0, 0, 0); + mMapBlink[ZOOM_VIEW].mUnselectedRegion.mWhite.set(22, 22, 22, 255); + mMapBlink[ZOOM_VIEW].mUnselectedRegion.mMax = 255; + mMapBlink[ZOOM_VIEW].mUnselectedRegion.mMin = 255; + mMapBlink[ZOOM_VIEW].mUnselectedRegion.mBlinkSpeed = 0; + + mMapBlink[ZOOM_VIEW].mUnreachedRegionBlack.set(0, 20, 80, 0); + mMapBlink[ZOOM_VIEW].mUnreachedRegionWhite.set(30, 95, 190, 0); + mMapBlink[ZOOM_VIEW].field_0x20.set(0, 0, 0, 0); + mMapBlink[ZOOM_VIEW].field_0x24.set(0, 0, 0, 255); + + for (int i = 0; i < ARRAY_SIZE(mDebugRegionBits); i++) { + mDebugRegionBits[i] = 0; + } } -#pragma pop /* 80200BCC-80200CD4 1FB50C 0108+00 2/1 0/0 0/0 .text __dt__16dMeter_fmapHIO_cFv */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dMeter_fmapHIO_c::~dMeter_fmapHIO_c() { +// asm dMeter_fmapHIO_c::~dMeter_fmapHIO_c() { +extern "C" asm void __dt__16dMeter_fmapHIO_cFv() { nofralloc #include "asm/d/meter/d_meter_HIO/__dt__16dMeter_fmapHIO_cFv.s" } #pragma pop -/* ############################################################################################## */ -/* 80454730-80454734 002D30 0004+00 1/1 0/0 0/0 .sdata2 @4485 */ -SECTION_SDATA2 static f32 lit_4485 = 13.0f; - -/* 80454734-80454738 002D34 0004+00 1/1 0/0 0/0 .sdata2 @4486 */ -SECTION_SDATA2 static f32 lit_4486 = -102.0f; - -/* 80454738-8045473C 002D38 0004+00 1/1 0/0 0/0 .sdata2 @4487 */ -SECTION_SDATA2 static f32 lit_4487 = 100.0f; - -/* 8045473C-80454740 002D3C 0004+00 1/1 0/0 0/0 .sdata2 @4488 */ -SECTION_SDATA2 static f32 lit_4488 = 145.0f; - -/* 80454740-80454748 002D40 0004+04 1/1 0/0 0/0 .sdata2 @4489 */ -SECTION_SDATA2 static f32 lit_4489[1 + 1 /* padding */] = { - -155.0f, - /* padding */ - 0.0f, -}; - /* 80200CD4-80200D58 1FB614 0084+00 1/1 0/0 0/0 .text __ct__18dMeter_cursorHIO_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm dMeter_cursorHIO_c::dMeter_cursorHIO_c() { - nofralloc -#include "asm/d/meter/d_meter_HIO/__ct__18dMeter_cursorHIO_cFv.s" +dMeter_cursorHIO_c::dMeter_cursorHIO_c() { + mShopCursorScale = 1.05f; + mShopCursorOffsetY = -30.0f; + mMagicArmorCursorOffsetX = 13.0f; + mMagicArmorCursorOffsetY = -102.0f; + mSeraShopObjZoom.set(100.0f, 145.0f, -155.0f); + mSeraShopObjZoomAngleX = 3000; + mObjZoom.set(0.0f, 0.0f, 0.0f); + mShopObjZoomAngleX = 5000; + mMagicArmorObjZoom.set(0.0f, 20.0f, 28.0f); + mMagicArmorObjZoomAngleX = -500; } -#pragma pop /* 80200D58-80200DA0 1FB698 0048+00 1/0 0/0 0/0 .text __dt__25dMeter_drawLightDropHIO_cFv */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dMeter_drawLightDropHIO_c::~dMeter_drawLightDropHIO_c() { +// asm dMeter_drawLightDropHIO_c::~dMeter_drawLightDropHIO_c() { +extern "C" asm void __dt__25dMeter_drawLightDropHIO_cFv() { nofralloc #include "asm/d/meter/d_meter_HIO/__dt__25dMeter_drawLightDropHIO_cFv.s" } @@ -1194,7 +1726,8 @@ asm dMeter_drawLightDropHIO_c::~dMeter_drawLightDropHIO_c() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dMeter_drawEmpButtonHIO_c::~dMeter_drawEmpButtonHIO_c() { +// asm dMeter_drawEmpButtonHIO_c::~dMeter_drawEmpButtonHIO_c() { +extern "C" asm void __dt__25dMeter_drawEmpButtonHIO_cFv() { nofralloc #include "asm/d/meter/d_meter_HIO/__dt__25dMeter_drawEmpButtonHIO_cFv.s" } @@ -1205,7 +1738,8 @@ asm dMeter_drawEmpButtonHIO_c::~dMeter_drawEmpButtonHIO_c() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dMeter_drawMiniGameHIO_c::~dMeter_drawMiniGameHIO_c() { +// asm dMeter_drawMiniGameHIO_c::~dMeter_drawMiniGameHIO_c() { +extern "C" asm void __dt__24dMeter_drawMiniGameHIO_cFv() { nofralloc #include "asm/d/meter/d_meter_HIO/__dt__24dMeter_drawMiniGameHIO_cFv.s" } @@ -1215,7 +1749,8 @@ asm dMeter_drawMiniGameHIO_c::~dMeter_drawMiniGameHIO_c() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dMeter_drawSkillHIO_c::~dMeter_drawSkillHIO_c() { +// asm dMeter_drawSkillHIO_c::~dMeter_drawSkillHIO_c() { +extern "C" asm void __dt__21dMeter_drawSkillHIO_cFv() { nofralloc #include "asm/d/meter/d_meter_HIO/__dt__21dMeter_drawSkillHIO_cFv.s" } @@ -1225,7 +1760,8 @@ asm dMeter_drawSkillHIO_c::~dMeter_drawSkillHIO_c() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dMeter_drawCalibrationHIO_c::~dMeter_drawCalibrationHIO_c() { +// asm dMeter_drawCalibrationHIO_c::~dMeter_drawCalibrationHIO_c() { +extern "C" asm void __dt__27dMeter_drawCalibrationHIO_cFv() { nofralloc #include "asm/d/meter/d_meter_HIO/__dt__27dMeter_drawCalibrationHIO_cFv.s" } @@ -1235,7 +1771,8 @@ asm dMeter_drawCalibrationHIO_c::~dMeter_drawCalibrationHIO_c() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dMeter_drawInsectHIO_c::~dMeter_drawInsectHIO_c() { +// asm dMeter_drawInsectHIO_c::~dMeter_drawInsectHIO_c() { +extern "C" asm void __dt__22dMeter_drawInsectHIO_cFv() { nofralloc #include "asm/d/meter/d_meter_HIO/__dt__22dMeter_drawInsectHIO_cFv.s" } @@ -1246,7 +1783,8 @@ asm dMeter_drawInsectHIO_c::~dMeter_drawInsectHIO_c() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dMeter_drawFishingHIO_c::~dMeter_drawFishingHIO_c() { +// asm dMeter_drawFishingHIO_c::~dMeter_drawFishingHIO_c() { +extern "C" asm void __dt__23dMeter_drawFishingHIO_cFv() { nofralloc #include "asm/d/meter/d_meter_HIO/__dt__23dMeter_drawFishingHIO_cFv.s" } @@ -1256,7 +1794,8 @@ asm dMeter_drawFishingHIO_c::~dMeter_drawFishingHIO_c() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dMeter_drawLetterHIO_c::~dMeter_drawLetterHIO_c() { +// asm dMeter_drawLetterHIO_c::~dMeter_drawLetterHIO_c() { +extern "C" asm void __dt__22dMeter_drawLetterHIO_cFv() { nofralloc #include "asm/d/meter/d_meter_HIO/__dt__22dMeter_drawLetterHIO_cFv.s" } @@ -1266,7 +1805,8 @@ asm dMeter_drawLetterHIO_c::~dMeter_drawLetterHIO_c() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dMeter_drawOptionHIO_c::~dMeter_drawOptionHIO_c() { +// asm dMeter_drawOptionHIO_c::~dMeter_drawOptionHIO_c() { +extern "C" asm void __dt__22dMeter_drawOptionHIO_cFv() { nofralloc #include "asm/d/meter/d_meter_HIO/__dt__22dMeter_drawOptionHIO_cFv.s" } @@ -1288,7 +1828,8 @@ extern "C" asm void __dt__23dMeter_drawCollectHIO_cFv() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dMeter_mapIconHIO_c::~dMeter_mapIconHIO_c() { +// asm dMeter_mapIconHIO_c::~dMeter_mapIconHIO_c() { +extern "C" asm void __dt__19dMeter_mapIconHIO_cFv() { nofralloc #include "asm/d/meter/d_meter_HIO/__dt__19dMeter_mapIconHIO_cFv.s" } @@ -1296,20 +1837,14 @@ asm dMeter_mapIconHIO_c::~dMeter_mapIconHIO_c() { /* 80201070-80201098 1FB9B0 0028+00 1/1 0/0 0/0 .text __ct__Q216dMeter_fmapHIO_c13MapBlinkAnimeFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm dMeter_fmapHIO_c::MapBlinkAnime::MapBlinkAnime() { - nofralloc -#include "asm/d/meter/d_meter_HIO/__ct__Q216dMeter_fmapHIO_c13MapBlinkAnimeFv.s" -} -#pragma pop +dMeter_fmapHIO_c::MapBlinkAnime::MapBlinkAnime() {} /* 80201098-802010E0 1FB9D8 0048+00 2/1 0/0 0/0 .text __dt__18dMeter_cursorHIO_cFv */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dMeter_cursorHIO_c::~dMeter_cursorHIO_c() { +// asm dMeter_cursorHIO_c::~dMeter_cursorHIO_c() { +extern "C" asm void __dt__18dMeter_cursorHIO_cFv() { nofralloc #include "asm/d/meter/d_meter_HIO/__dt__18dMeter_cursorHIO_cFv.s" } @@ -1319,7 +1854,8 @@ asm dMeter_cursorHIO_c::~dMeter_cursorHIO_c() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dMeter_ringHIO_c::~dMeter_ringHIO_c() { +// asm dMeter_ringHIO_c::~dMeter_ringHIO_c() { +extern "C" asm void __dt__16dMeter_ringHIO_cFv() { nofralloc #include "asm/d/meter/d_meter_HIO/__dt__16dMeter_ringHIO_cFv.s" } @@ -1329,21 +1865,15 @@ asm dMeter_ringHIO_c::~dMeter_ringHIO_c() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dMeter_drawHIO_c::~dMeter_drawHIO_c() { +// asm dMeter_drawHIO_c::~dMeter_drawHIO_c() { +extern "C" asm void __dt__16dMeter_drawHIO_cFv() { nofralloc #include "asm/d/meter/d_meter_HIO/__dt__16dMeter_drawHIO_cFv.s" } #pragma pop /* 8020123C-80201284 1FBB7C 0048+00 2/1 0/0 0/0 .text __dt__16dMeter_menuHIO_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm dMeter_menuHIO_c::~dMeter_menuHIO_c() { - nofralloc -#include "asm/d/meter/d_meter_HIO/__dt__16dMeter_menuHIO_cFv.s" -} -#pragma pop +dMeter_menuHIO_c::~dMeter_menuHIO_c() {} /* ############################################################################################## */ /* 8042EBB0-8042EBBC 05B8D0 000C+00 1/1 0/0 0/0 .bss @3766 */ diff --git a/src/d/pane/d_pane_class.cpp b/src/d/pane/d_pane_class.cpp index cad38fb7c0..2a44043729 100644 --- a/src/d/pane/d_pane_class.cpp +++ b/src/d/pane/d_pane_class.cpp @@ -6,6 +6,7 @@ #include "d/pane/d_pane_class.h" #include "dol2asm.h" #include "dolphin/types.h" +#include "m_Do/m_Do_ext.h" // // Types: @@ -18,18 +19,6 @@ struct JSUMemoryInputStream { struct JKRAramArchive {}; -struct J2DWindow { - /* 80254000 */ void getBlack() const; - /* 8025400C */ void getWhite() const; - /* 802543E0 */ void setWhite(JUtility::TColor); - /* 80254430 */ void setBlack(JUtility::TColor); - /* 80254568 */ void setBlackWhite(JUtility::TColor, JUtility::TColor); -}; - -struct J2DTextBox { - /* 80254408 */ void setBlack(JUtility::TColor); -}; - struct J2DOrthoGraph { /* 802E96D0 */ J2DOrthoGraph(f32, f32, f32, f32, f32, f32); /* 802E980C */ void setOrtho(JGeometry::TBox2 const&, f32, f32); @@ -65,7 +54,7 @@ extern "C" void getGlobalVtx__8CPaneMgrFP7J2DPanePA3_A4_fUcbs(); extern "C" void getGlobalVtxCenter__8CPaneMgrFP7J2DPanebs(); extern "C" void getBounds__8CPaneMgrFP7J2DPane(); extern "C" void dPaneClass_showNullPane__FP9J2DScreen(); -extern "C" static void dPaneClass_showNullPane__FP7J2DPane(); +extern "C" void dPaneClass_showNullPane__FP7J2DPane(); extern "C" void dPaneClass_setPriority__FPPvP7JKRHeapP9J2DScreenPCcUlP10JKRArchive(); extern "C" void __dt__20JSUMemoryInputStreamFv(); extern "C" void __dt__20JSURandomInputStreamFv(); @@ -138,58 +127,156 @@ SECTION_DATA extern void* __vt__8CPaneMgr[4 + 1 /* padding */] = { }; /* 80253930-80253984 24E270 0054+00 0/0 11/11 0/0 .text __ct__8CPaneMgrFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm CPaneMgr::CPaneMgr() { - nofralloc -#include "asm/d/pane/d_pane_class/__ct__8CPaneMgrFv.s" +CPaneMgr::CPaneMgr() { + mpFirstStackAlpha = NULL; + mpFirstStackSize = NULL; } -#pragma pop /* 80253984-80253A18 24E2C4 0094+00 0/0 58/58 2/2 .text * __ct__8CPaneMgrFP9J2DScreenUxUcP10JKRExpHeap */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm CPaneMgr::CPaneMgr(J2DScreen* param_0, u64 param_1, u8 param_2, JKRExpHeap* param_3) { - nofralloc -#include "asm/d/pane/d_pane_class/__ct__8CPaneMgrFP9J2DScreenUxUcP10JKRExpHeap.s" +CPaneMgr::CPaneMgr(J2DScreen* pScrn, u64 tag, u8 flags, JKRExpHeap* pHeap) { + J2DPane* pane = pScrn->search(tag); + mFlags = flags; + initiate(pane, pHeap); } -#pragma pop /* 80253A18-80253AB4 24E358 009C+00 1/0 11/11 0/0 .text __dt__8CPaneMgrFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm CPaneMgr::~CPaneMgr() { - nofralloc -#include "asm/d/pane/d_pane_class/__dt__8CPaneMgrFv.s" +CPaneMgr::~CPaneMgr() { + if (mpFirstStackSize) { + heap->free(mpFirstStackSize); + mpFirstStackSize = NULL; + } + if (mpFirstStackAlpha) { + heap->free(mpFirstStackAlpha); + mpFirstStackAlpha = NULL; + } } -#pragma pop /* 80253AB4-80253B2C 24E3F4 0078+00 1/0 0/0 0/0 .text setAlpha__8CPaneMgrFUc */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void CPaneMgr::setAlpha(u8 param_0) { - nofralloc -#include "asm/d/pane/d_pane_class/setAlpha__8CPaneMgrFUc.s" +void CPaneMgr::setAlpha(u8 alpha) { + if (mFlags & 2) { + field_0x10 = mpFirstStackAlpha; + childPaneSetAlpha(getPanePtr()->getFirstChildPane(), alpha); + } + getPanePtr()->setAlpha(alpha); } -#pragma pop /* 80253B2C-80253C08 24E46C 00DC+00 0/0 3/3 0/0 .text reinit__8CPaneMgrFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void CPaneMgr::reinit() { - nofralloc -#include "asm/d/pane/d_pane_class/reinit__8CPaneMgrFv.s" +void CPaneMgr::reinit() { + mInitPos.x = getPanePtr()->getBounds().i.x; + mInitPos.y = getPanePtr()->getBounds().i.y; + + mGlobalPos.x = getGlobalPosX(); + mGlobalPos.y = getGlobalPosY(); + + mInitSize.x = getPanePtr()->getWidth(); + mInitSize.y = getPanePtr()->getHeight(); + + mInitScale.x = getPanePtr()->getScaleX(); + mInitScale.y = getPanePtr()->getScaleY(); + + mInitTrans.x = getPanePtr()->getTranslateX(); + mInitTrans.y = getPanePtr()->getTranslateY(); + + mRotateZ = getPanePtr()->getRotateZ(); + mRotateOffset.x = getPanePtr()->getRotOffsetX(); + mRotateOffset.y = getPanePtr()->getRotOffsetY(); } -#pragma pop /* 80253C08-80254000 24E548 03F8+00 1/1 0/0 0/0 .text initiate__8CPaneMgrFP7J2DPaneP10JKRExpHeap */ +// switch issues +#ifdef NONMATCHING +void CPaneMgr::initiate(J2DPane* pPane, JKRExpHeap* pHeap) { + (J2DPane*)mWindow = pPane; + if (pHeap) { + heap = pHeap; + } else { + heap = (JKRExpHeap*)mDoExt_getCurrentHeap(); + } + + mpFirstStackAlpha = NULL; + field_0x10 = NULL; + mpFirstStackSize = NULL; + field_0x20 = NULL; + mChildPaneCount = 0; + + if (mFlags) { + childPaneCount(getPanePtr()->getFirstChildPane()); + if (mFlags & 1) { + mpFirstStackSize = heap->alloc(mChildPaneCount * 12, 0x20); + field_0x20 = mpFirstStackSize; + childPaneGetSize(getPanePtr()->getFirstChildPane()); + } + if (mFlags & 2) { + mpFirstStackAlpha = heap->alloc(mChildPaneCount, 0x20); + field_0x10 = mpFirstStackAlpha; + childPaneGetSize(getPanePtr()->getFirstChildPane()); + } + } + + mInitPos.x = pPane->getBounds().i.x; + mInitPos.y = pPane->getBounds().i.y; + + mGlobalPos.x = getGlobalPosX(); + mGlobalPos.y = getGlobalPosY(); + + mInitSize.x = pPane->getWidth(); + mInitSize.y = pPane->getHeight(); + + mInitScale.x = getPanePtr()->getScaleX(); + mInitScale.y = getPanePtr()->getScaleY(); + + mInitTrans.x = getPanePtr()->getTranslateX(); + mInitTrans.y = getPanePtr()->getTranslateY(); + + mRotateZ = pPane->getRotateZ(); + mRotateOffset.x = pPane->getRotOffsetX(); + mRotateOffset.y = pPane->getRotOffsetY(); + + if (pPane->getKind() == 'PAN2') { + mInitAlpha = 255; + } else { + mInitAlpha = pPane->getAlpha(); + } + field_0x60 = 0; + field_0x62 = 0; + mScaleAnime = 0; + field_0x66 = 0; + field_0x68 = 0; + mColorAnime = 0; + mAlphaTimer = 0; + + switch (getPanePtr()->getKind()) { + case 'TBX3': + case 'TBX4': + case 'WIN3': + JUtility::TColor white = mWindow->getWhite(); + mInitWhite.set(white.r, white.g, white.b, white.a); + + JUtility::TColor black = mWindow->getBlack(); + mInitBlack.set(black.r, black.g, black.b, black.a); + break; + case 'PIC1': + case 'PIC2': + JUtility::TColor white2 = mWindow->getWhite(); + mInitWhite.set(white2.r, white2.g, white2.b, white2.a); + + JUtility::TColor black2 = mWindow->getBlack(); + mInitBlack.set(black2.r, black2.g, black2.b, black2.a); + break; + case 'WIN1': + JUtility::TColor white3 = mWindow->getWhite(); + mInitWhite.set(white3.r, white3.g, white3.b, white3.a); + + JUtility::TColor black3 = mWindow->getBlack(); + mInitBlack.set(black3.r, black3.g, black3.b, black3.a); + break; + } + mInitWhite.set(255, 255, 255, 255); + mInitBlack.set(0, 0, 0, 0); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -198,26 +285,17 @@ asm void CPaneMgr::initiate(J2DPane* param_0, JKRExpHeap* param_1) { #include "asm/d/pane/d_pane_class/initiate__8CPaneMgrFP7J2DPaneP10JKRExpHeap.s" } #pragma pop +#endif /* 80254000-8025400C 24E940 000C+00 0/0 1/0 0/0 .text getBlack__9J2DWindowCFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J2DWindow::getBlack() const { - nofralloc -#include "asm/d/pane/d_pane_class/getBlack__9J2DWindowCFv.s" +JUtility::TColor J2DWindow::getBlack() const { + return mBlack; } -#pragma pop /* 8025400C-80254018 24E94C 000C+00 0/0 1/0 0/0 .text getWhite__9J2DWindowCFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J2DWindow::getWhite() const { - nofralloc -#include "asm/d/pane/d_pane_class/getWhite__9J2DWindowCFv.s" +JUtility::TColor J2DWindow::getWhite() const { + return mWhite; } -#pragma pop /* 80254018-80254134 24E958 011C+00 1/1 0/0 0/0 .text childPaneGetSize__8CPaneMgrFP7J2DPane */ #pragma push @@ -251,54 +329,42 @@ asm void CPaneMgr::childPaneSetSize(J2DPane* param_0, f32 param_1, f32 param_2) #pragma pop /* 802542E8-80254364 24EC28 007C+00 2/2 18/18 0/0 .text getGlobalPosX__8CPaneMgrFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void CPaneMgr::getGlobalPosX() { - nofralloc -#include "asm/d/pane/d_pane_class/getGlobalPosX__8CPaneMgrFv.s" +f32 CPaneMgr::getGlobalPosX() { + f32 posX = getPosX(); + for (J2DPane* pane = getPanePtr()->getParentPane(); pane != NULL; + pane = pane->getParentPane()) { + posX += pane->getBounds().i.x; + } + return posX; } -#pragma pop /* 80254364-802543E0 24ECA4 007C+00 2/2 15/15 0/0 .text getGlobalPosY__8CPaneMgrFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void CPaneMgr::getGlobalPosY() { - nofralloc -#include "asm/d/pane/d_pane_class/getGlobalPosY__8CPaneMgrFv.s" +f32 CPaneMgr::getGlobalPosY() { + f32 posY = getPosY(); + for (J2DPane* pane = getPanePtr()->getParentPane(); pane != NULL; + pane = pane->getParentPane()) { + posY += pane->getBounds().i.y; + } + return posY; } -#pragma pop /* 802543E0-80254408 24ED20 0028+00 0/0 1/0 0/0 .text setWhite__9J2DWindowFQ28JUtility6TColor */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J2DWindow::setWhite(JUtility::TColor param_0) { - nofralloc -#include "asm/d/pane/d_pane_class/setWhite__9J2DWindowFQ28JUtility6TColor.s" +bool J2DWindow::setWhite(JUtility::TColor white) { + mWhite = white; + return true; } -#pragma pop /* 80254408-80254430 24ED48 0028+00 0/0 1/0 0/0 .text setBlack__10J2DTextBoxFQ28JUtility6TColor */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J2DTextBox::setBlack(JUtility::TColor param_0) { - nofralloc -#include "asm/d/pane/d_pane_class/setBlack__10J2DTextBoxFQ28JUtility6TColor.s" +bool J2DTextBox::setBlack(JUtility::TColor black) { + mBlackColor = black; + return true; } -#pragma pop /* 80254430-80254458 24ED70 0028+00 0/0 1/0 0/0 .text setBlack__9J2DWindowFQ28JUtility6TColor */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J2DWindow::setBlack(JUtility::TColor param_0) { - nofralloc -#include "asm/d/pane/d_pane_class/setBlack__9J2DWindowFQ28JUtility6TColor.s" +bool J2DWindow::setBlack(JUtility::TColor black) { + mBlack = black; + return true; } -#pragma pop /* 80254458-80254568 24ED98 0110+00 1/1 7/7 0/0 .text * setBlackWhite__8CPaneMgrFQ28JUtility6TColorQ28JUtility6TColor */ @@ -313,14 +379,11 @@ asm void CPaneMgr::setBlackWhite(JUtility::TColor param_0, JUtility::TColor para /* 80254568-802545B0 24EEA8 0048+00 0/0 1/0 0/0 .text * setBlackWhite__9J2DWindowFQ28JUtility6TColorQ28JUtility6TColor */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J2DWindow::setBlackWhite(JUtility::TColor param_0, JUtility::TColor param_1) { - nofralloc -#include "asm/d/pane/d_pane_class/setBlackWhite__9J2DWindowFQ28JUtility6TColorQ28JUtility6TColor.s" +bool J2DWindow::setBlackWhite(JUtility::TColor black, JUtility::TColor white) { + mBlack = black; + mWhite = white; + return true; } -#pragma pop /* ############################################################################################## */ /* 80454E98-80454EA0 003498 0004+04 3/3 0/0 0/0 .sdata2 @4046 */ @@ -331,6 +394,14 @@ SECTION_SDATA2 static f32 lit_4046[1 + 1 /* padding */] = { }; /* 802545B0-80254638 24EEF0 0088+00 0/0 51/51 3/3 .text paneTrans__8CPaneMgrFff */ +// matches with literals +#ifdef NONMATCHING +void CPaneMgr::paneTrans(f32 x, f32 y) { + f32 moveX = x + getInitCenterPosX() - getSizeX() * 0.5f; + f32 moveY = y + getInitCenterPosY() - getSizeY() * 0.5f; + getPanePtr()->move(moveX, moveY); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -339,8 +410,28 @@ asm void CPaneMgr::paneTrans(f32 param_0, f32 param_1) { #include "asm/d/pane/d_pane_class/paneTrans__8CPaneMgrFff.s" } #pragma pop +#endif /* 80254638-802547CC 24EF78 0194+00 0/0 5/5 0/0 .text paneScale__8CPaneMgrFff */ +// swapped float reg +#ifdef NONMATCHING +void CPaneMgr::paneScale(f32 x, f32 y) { + f32 moveX = getPosX() + getSizeX() * 0.5f; + f32 moveY = getPosY() + getSizeY() * 0.5f; + + getPanePtr()->resize(mInitSize.x * x, mInitSize.y * y); + getPanePtr()->move(moveX - getSizeY() * 0.5f, moveY - getSizeX() * 0.5f); + + if (mRotateZ != 0.0f) { + getPanePtr()->rotate(mRotateOffset.x * x, mRotateOffset.y * y, ROTATE_Z, getRotateZ()); + } + + if (mFlags & 1) { + field_0x20 = mpFirstStackSize; + childPaneSetSize(getPanePtr()->getFirstChildPane(), x, y); + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -349,16 +440,22 @@ asm void CPaneMgr::paneScale(f32 param_0, f32 param_1) { #include "asm/d/pane/d_pane_class/paneScale__8CPaneMgrFff.s" } #pragma pop +#endif /* 802547CC-802548BC 24F10C 00F0+00 0/0 10/10 0/0 .text scaleAnime__8CPaneMgrFsffUc */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void CPaneMgr::scaleAnime(s16 param_0, f32 param_1, f32 param_2, u8 param_3) { - nofralloc -#include "asm/d/pane/d_pane_class/scaleAnime__8CPaneMgrFsffUc.s" +bool CPaneMgr::scaleAnime(s16 param_0, f32 param_1, f32 param_2, u8 param_3) { + if (mScaleAnime < param_0 - 1) { + mScaleAnime++; + f32 rate = rateCalc(param_0, mScaleAnime, param_3); + f32 tmp = param_1 + rate * (param_2 - param_1); + getPanePtr()->scale(mInitScale.x * tmp, mInitScale.y * tmp); + } else { + mScaleAnime = param_0; + getPanePtr()->scale(mInitScale.x * param_2, mInitScale.y * param_2); + return true; + } + return false; } -#pragma pop /* ############################################################################################## */ /* 80454EA0-80454EA8 0034A0 0008+00 1/1 0/0 0/0 .sdata2 @4349 */ @@ -428,25 +525,23 @@ asm void CPaneMgr::getBounds(J2DPane* param_0) { #pragma pop /* 802550E8-8025512C 24FA28 0044+00 0/0 54/54 3/3 .text dPaneClass_showNullPane__FP9J2DScreen */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dPaneClass_showNullPane(J2DScreen* param_0) { - nofralloc -#include "asm/d/pane/d_pane_class/dPaneClass_showNullPane__FP9J2DScreen.s" +void dPaneClass_showNullPane(J2DScreen* pScrn) { + if (pScrn) { + dPaneClass_showNullPane(pScrn->search('ROOT')); + } } -#pragma pop /* 8025512C-80255184 24FA6C 0058+00 1/1 0/0 0/0 .text dPaneClass_showNullPane__FP7J2DPane */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void dPaneClass_showNullPane(J2DPane* param_0) { - nofralloc -#include "asm/d/pane/d_pane_class/dPaneClass_showNullPane__FP7J2DPane.s" +void dPaneClass_showNullPane(J2DPane* pPane) { + if (pPane) { + if (!pPane->isVisible()) { + pPane->show(); + } + dPaneClass_showNullPane(pPane->getFirstChildPane()); + dPaneClass_showNullPane(pPane->getNextChildPane()); + } } -#pragma pop /* 80255184-802552B8 24FAC4 0134+00 0/0 1/1 0/0 .text * dPaneClass_setPriority__FPPvP7JKRHeapP9J2DScreenPCcUlP10JKRArchive */ diff --git a/src/d/pane/d_pane_class_alpha.cpp b/src/d/pane/d_pane_class_alpha.cpp index 7d4cd81f0e..22b96aefae 100644 --- a/src/d/pane/d_pane_class_alpha.cpp +++ b/src/d/pane/d_pane_class_alpha.cpp @@ -158,7 +158,7 @@ SECTION_SDATA2 static f64 lit_3694 = 4503601774854144.0 /* cast s32 to float */; #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void CPaneMgrAlpha::rateCalc(s16 param_0, s16 param_1, u8 param_2) { +asm f32 CPaneMgrAlpha::rateCalc(s16 param_0, s16 param_1, u8 param_2) { nofralloc #include "asm/d/pane/d_pane_class_alpha/rateCalc__13CPaneMgrAlphaFssUc.s" } diff --git a/src/f_ap/f_ap_game.cpp b/src/f_ap/f_ap_game.cpp index 30263ba138..4fb6a4652d 100644 --- a/src/f_ap/f_ap_game.cpp +++ b/src/f_ap/f_ap_game.cpp @@ -1,139 +1,67 @@ -// -// Generated By: dol2asm -// Translation Unit: f_ap/f_ap_game -// - #include "f_ap/f_ap_game.h" +#include "SSystem/SComponent/c_counter.h" #include "dol2asm.h" #include "dolphin/types.h" +#include "f_op/f_op_camera_mng.h" +#include "f_op/f_op_draw_tag.h" +#include "f_op/f_op_overlap_mng.h" +#include "f_op/f_op_scene_mng.h" +#include "f_pc/f_pc_manager.h" +#include "m_Do/m_Do_main.h" -// -// Types: -// +fapGm_HIO_c::fapGm_HIO_c() + : mColor(-1), mLetterTopColor(-1), mLetterBottomColor(-1), mLetterTopShadowColor(-1), + mLetterBottomShadowColor(-1) { + mUsingHostIO = true; -struct fapGm_HIO_c { - /* 80018944 */ fapGm_HIO_c(); - /* 80018AE0 */ ~fapGm_HIO_c(); -}; + if (data_80450580) { + mDisplayMeter = true; + mDisplayPrint = true; + } else { + mDisplayMeter = false; + mDisplayPrint = false; + mDisplay2D = false; + } -// -// Forward References: -// - -extern "C" void __ct__11fapGm_HIO_cFv(); -extern "C" static void fapGm_After__Fv(); -extern "C" void fapGm_Execute__Fv(); -extern "C" void fapGm_Create__Fv(); -extern "C" void __dt__11fapGm_HIO_cFv(); -extern "C" void __sinit_f_ap_game_cpp(); - -// -// External References: -// - -extern "C" void fopCamM_Management__Fv(); -extern "C" void fopCamM_Init__Fv(); -extern "C" void fopOvlpM_Management__Fv(); -extern "C" void fopOvlpM_Init__Fv(); -extern "C" void fopScnM_Management__Fv(); -extern "C" void fopScnM_Init__Fv(); -extern "C" void fopDwTg_CreateQueue__Fv(); -extern "C" void fpcM_Management__FPFv_vPFv_v(); -extern "C" void fpcM_Init__Fv(); -extern "C" void cCt_Counter__Fi(); -extern "C" void __dl__FPv(); -extern "C" void __register_global_object(); -extern "C" extern u32 data_80450580; - -// -// Declarations: -// - -/* ############################################################################################## */ -/* 803A35A0-803A35B0 0006C0 000C+04 2/2 0/0 0/0 .data __vt__11fapGm_HIO_c */ -SECTION_DATA extern void* __vt__11fapGm_HIO_c[3 + 1 /* padding */] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__11fapGm_HIO_cFv, - /* padding */ - NULL, -}; - -/* 80451BC0-80451BC4 0001C0 0004+00 1/1 0/0 0/0 .sdata2 @3689 */ -SECTION_SDATA2 static f32 lit_3689 = 9.0f / 10.0f; - -/* 80451BC4-80451BC8 0001C4 0004+00 1/1 0/0 0/0 .sdata2 @3690 */ -SECTION_SDATA2 static f32 lit_3690 = 3.0f / 5.0f; - -/* 80018944-80018A44 013284 0100+00 1/1 0/0 0/0 .text __ct__11fapGm_HIO_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm fapGm_HIO_c::fapGm_HIO_c() { - nofralloc -#include "asm/f_ap/f_ap_game/__ct__11fapGm_HIO_cFv.s" + mDisplay2D = true; + mDisplayParticle = true; + mDisplayProcessID = false; + mMemBlockOff = false; + mColor.set(255, 255, 255, 255); + field_0xc = 0.9f; + field_0x10 = 0.6f; + mLetterTopColor.set(255, 150, 0, 255); + mLetterBottomColor.set(255, 120, 0, 255); + mLetterTopShadowColor.set(0, 0, 0, 255); + mLetterBottomShadowColor.set(0, 0, 0, 255); + mLetterPositionX = 0; + mLetterPositionY = 10; + mLetterFontSize = 27; + mLineSpacing = 0; + mLetterSpacing = 0; + mBackgroundAlpha = 130; } -#pragma pop -/* 80018A44-80018A6C 013384 0028+00 1/1 0/0 0/0 .text fapGm_After__Fv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void fapGm_After() { - nofralloc -#include "asm/f_ap/f_ap_game/fapGm_After__Fv.s" +void fapGm_After() { + fopScnM_Management(); + fopOvlpM_Management(); + fopCamM_Management(); } -#pragma pop -/* 80018A6C-80018AA0 0133AC 0034+00 0/0 1/1 0/0 .text fapGm_Execute__Fv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void fapGm_Execute() { - nofralloc -#include "asm/f_ap/f_ap_game/fapGm_Execute__Fv.s" +void fapGm_Execute() { + fpcM_Management(NULL, fapGm_After); + cCt_Counter(0); } -#pragma pop -/* ############################################################################################## */ -/* 803F1BB0-803F1BBC 01E8D0 000C+00 1/1 0/0 0/0 .bss @3691 */ -static u8 lit_3691[12]; +fapGm_HIO_c g_HIO; -/* 803F1BBC-803F1C00 01E8DC 0040+04 2/2 3/3 0/0 .bss g_HIO */ -extern u8 g_HIO[64 + 4 /* padding */]; -u8 g_HIO[64 + 4 /* padding */]; - -/* 80018AA0-80018AE0 0133E0 0040+00 0/0 1/1 0/0 .text fapGm_Create__Fv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void fapGm_Create() { - nofralloc -#include "asm/f_ap/f_ap_game/fapGm_Create__Fv.s" +void fapGm_Create() { + fpcM_Init(); + fopScnM_Init(); + fopOvlpM_Init(); + fopCamM_Init(); + fopDwTg_CreateQueue(); + g_HIO.field_0x04 = -1; } -#pragma pop -/* 80018AE0-80018B28 013420 0048+00 2/1 0/0 0/0 .text __dt__11fapGm_HIO_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm fapGm_HIO_c::~fapGm_HIO_c() { - nofralloc -#include "asm/f_ap/f_ap_game/__dt__11fapGm_HIO_cFv.s" -} -#pragma pop - -/* 80018B28-80018B64 013468 003C+00 0/0 1/0 0/0 .text __sinit_f_ap_game_cpp */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void __sinit_f_ap_game_cpp() { - nofralloc -#include "asm/f_ap/f_ap_game/__sinit_f_ap_game_cpp.s" -} -#pragma pop - -#pragma push -#pragma force_active on -REGISTER_CTORS(0x80018B28, __sinit_f_ap_game_cpp); -#pragma pop +fapGm_HIO_c::~fapGm_HIO_c() {} \ No newline at end of file diff --git a/src/f_op/f_op_actor_mng.cpp b/src/f_op/f_op_actor_mng.cpp index 83b0c78123..7de112935e 100644 --- a/src/f_op/f_op_actor_mng.cpp +++ b/src/f_op/f_op_actor_mng.cpp @@ -17,7 +17,6 @@ #include "SSystem/SComponent/c_math.h" #include "d/d_stage.h" #include "f_op/f_op_actor.h" -#include "f_op/f_op_actor_iter.h" #include "m_Do/m_Do_ext.h" #include "m_Do/m_Do_lib.h" #include "msl_c/math.h" diff --git a/src/m_Do/m_Do_MemCard.cpp b/src/m_Do/m_Do_MemCard.cpp index abf3f81cbb..329695f0ff 100644 --- a/src/m_Do/m_Do_MemCard.cpp +++ b/src/m_Do/m_Do_MemCard.cpp @@ -15,32 +15,6 @@ struct mDoRst { static u8 mResetData[4 + 4 /* padding */]; }; -struct mDoMemCd_Ctrl_c { - /* 8001672C */ mDoMemCd_Ctrl_c(); - /* 80016730 */ void ThdInit(); - /* 800167D0 */ void main(); - /* 80016894 */ void update(); - /* 800169B4 */ void load(); - /* 80016A0C */ void restore(); - /* 80016AB0 */ void LoadSync(void*, u32, u32); - /* 80016B58 */ void save(void*, u32, u32); - /* 80016BD4 */ void store(); - /* 80016CE0 */ void SaveSync(); - /* 80016D74 */ void getStatus(u32); - /* 80016E58 */ void command_format(); - /* 80016EA8 */ void format(); - /* 80016F2C */ void FormatSync(); - /* 80016FB8 */ void attach(); - /* 800170B8 */ void command_attach(); - /* 80017110 */ void detach(); - /* 80017148 */ void mount(); - /* 80017274 */ void loadfile(); - /* 800172D4 */ void checkspace(); - /* 80017360 */ void setCardState(s32); -}; - -struct OSThread {}; - struct JKRThread { /* 802D16B8 */ JKRThread(OSThread*, int); /* 802D1758 */ ~JKRThread(); @@ -92,17 +66,9 @@ extern "C" void mDoMemCdRWm_Restore__FP12CARDFileInfoPvUl(); extern "C" void becomeCurrentHeap__7JKRHeapFv(); extern "C" void __ct__9JKRThreadFP8OSThreadi(); extern "C" void __dt__9JKRThreadFv(); -extern "C" void OSInitMutex(); -extern "C" void OSLockMutex(); -extern "C" void OSUnlockMutex(); -extern "C" void OSTryLockMutex(); extern "C" void OSInitCond(); extern "C" void OSWaitCond(); extern "C" void OSSignalCond(); -extern "C" void OSGetCurrentThread(); -extern "C" void OSCreateThread(); -extern "C" void OSResumeThread(); -extern "C" void OSGetThreadPriority(); extern "C" void CARDInit(); extern "C" void CARDFreeBlocks(); extern "C" void CARDCheck(); @@ -392,8 +358,7 @@ asm void mDoMemCd_Ctrl_c::setCardState(s32 param_0) { /* ############################################################################################## */ /* 803EAF40-803ECF40 017C60 2000+00 2/2 27/27 0/0 .bss g_mDoMemCd_control */ -extern u8 g_mDoMemCd_control[8192]; -u8 g_mDoMemCd_control[8192]; +mDoMemCd_Ctrl_c g_mDoMemCd_control; /* 8001741C-80017470 011D5C 0054+00 1/1 0/0 0/0 .text mDoMemCd_main__FPv */ #pragma push @@ -405,19 +370,4 @@ static asm void mDoMemCd_main(void* param_0) { } #pragma pop -/* 80017470-80017498 011DB0 0028+00 0/0 1/0 0/0 .text __sinit_m_Do_MemCard_cpp */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void __sinit_m_Do_MemCard_cpp() { - nofralloc -#include "asm/m_Do/m_Do_MemCard/__sinit_m_Do_MemCard_cpp.s" -} -#pragma pop - -#pragma push -#pragma force_active on -REGISTER_CTORS(0x80017470, __sinit_m_Do_MemCard_cpp); -#pragma pop - /* 803743F8-803743F8 000A58 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ diff --git a/src/m_Do/m_Do_controller_pad.cpp b/src/m_Do/m_Do_controller_pad.cpp index 2ef82bfaa5..0a3ebec8ac 100644 --- a/src/m_Do/m_Do_controller_pad.cpp +++ b/src/m_Do/m_Do_controller_pad.cpp @@ -4,17 +4,10 @@ // #include "m_Do/m_Do_controller_pad.h" +#include "SSystem/SComponent/c_lib.h" #include "dol2asm.h" #include "dolphin/types.h" -// -// Types: -// - -struct mDoRst { - static u8 mResetData[4 + 4 /* padding */]; -}; - // // Forward References: // @@ -42,12 +35,12 @@ extern "C" void setEnabled__Q210JUTGamePad7CRumbleFUl(); extern "C" void _savegpr_29(); extern "C" void _restgpr_29(); extern "C" extern u8 g_HIO[64 + 4 /* padding */]; -extern "C" extern u32 data_80450580; +extern "C" extern s8 data_80450580; extern "C" u8 mResetData__6mDoRst[4 + 4 /* padding */]; extern "C" u8 sAnalogMode__10JUTGamePad[4]; extern "C" u8 sCallback__Q210JUTGamePad13C3ButtonReset[4]; extern "C" u8 sCallbackArg__Q210JUTGamePad13C3ButtonReset[4 + 4 /* padding */]; -extern "C" extern u8 struct_80451500[4]; +extern "C" extern bool struct_80451500; // // Declarations: @@ -61,80 +54,56 @@ JUTGamePad* mDoCPd_c::m_gamePad[4]; interface_of_controller_pad mDoCPd_c::m_cpadInfo[4]; /* 80007954-80007A94 002294 0140+00 0/0 1/1 0/0 .text create__8mDoCPd_cFv */ -#ifdef NONMATCHING void mDoCPd_c::create() { - JUTGamePad* JUTGamePad_ptr; - cpadInfo* m_cpadInfo_addr; + JUTGamePad* pad = new JUTGamePad(JUTGamePad::Port_1); + m_gamePad[0] = pad; - JUTGamePad_ptr = new JUTGamePad(JUTGamePad::Port_1); - m_gamePad[0] = JUTGamePad_ptr; - if (lbl_80450580 == 0) { + if (data_80450580 != 0) { + m_gamePad[1] = new JUTGamePad(JUTGamePad::Port_2); + m_gamePad[2] = new JUTGamePad(JUTGamePad::Port_3); + m_gamePad[3] = new JUTGamePad(JUTGamePad::Port_4); + } else { m_gamePad[1] = NULL; m_gamePad[2] = NULL; m_gamePad[3] = NULL; - JUTGamePad_ptr = m_gamePad[3]; - } else { - m_gamePad[1] = new JUTGamePad(JUTGamePad::Port_2); - m_gamePad[2] = new JUTGamePad(JUTGamePad::Port_3); - JUTGamePad_ptr = new JUTGamePad(JUTGamePad::Port_4); } - m_gamePad[3] = JUTGamePad_ptr; - if (m_Do_Reset_NS_mDoRst_NS_mResetData->field_0x0 == 0) { - lbl_80451501 = false; - lbl_804514EC = resetCallBack__6mDoRstFiPv; - lbl_804514F0 = 0; + + if (!mDoRst::isReset()) { + JUTGamePad::clearResetOccurred(); + JUTGamePad::setResetCallback(mDoRst_resetCallBack, NULL); } - sAnalogMode = 3; - PADSetAnalogMode(3); - m_cpadInfo_addr = &m_cpadInfo; - for (int i = 4; i != 0; i--) { - m_cpadInfo_addr->interface.field_0x3a = false; - m_cpadInfo_addr->interface.field_0x39 = false; - m_cpadInfo_addr->interface.field_0x3c = false; - m_cpadInfo_addr->interface.field_0x3b = false; - m_cpadInfo_addr = m_cpadInfo_addr->unk1; + JUTGamePad::setAnalogMode(3); + + interface_of_controller_pad* cpad = &m_cpadInfo[0]; + for (int i = 0; i < 4; i++) { + cpad->mTrigLockL = false; + cpad->mHoldLockL = false; + cpad->mTrigLockR = false; + cpad->mHoldLockR = false; + cpad++; } } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void mDoCPd_c::create() { - nofralloc -#include "asm/m_Do/m_Do_controller_pad/create__8mDoCPd_cFv.s" -} -#pragma pop -#endif /* 80007A94-80007B7C 0023D4 00E8+00 0/0 1/1 0/0 .text read__8mDoCPd_cFv */ #ifdef NONMATCHING void mDoCPd_c::read() { - //_savegpr_29(); - gamePad->read(); - if (m_Do_Reset_NS_mDoRst_NS_mResetData->field_0x0 == 0 && - m_Do_Reset_NS_mDoRst_NS_mResetData->field_0x8 != 0) { - JUTGamePad* JUTGamePad_ptr = - JUTGamePad::getGamePad(m_Do_Reset_NS_mDoRst_NS_mResetData->pad_index); - bool error = false; - if (JUTGamePad_ptr->pad_port != 0xffff && - JUTGamePad_ptr->rumble.field_0x10 != 0) { // Make the rumble thing right - error = true; - } - if (error = false) { - m_Do_Reset_NS_mDoRst_NS_mResetData->field_0x8 = 0; + JUTGamePad::read(); + + if (!mDoRst::isReset() && mDoRst::is3ButtonReset()) { + JUTGamePad* pad = JUTGamePad::getGamePad(mDoRst::get3ButtonResetPort()); + + if (!pad->isPushing3ButtonReset()) { // Make the rumble thing right + mDoRst::off3ButtonReset(); } } - JUTGamePad** m_gamePad_ptr = m_gamePad; - cpadInfo* cpad_ptr = &m_cpadInfo; + for (int i = 0; i < 4; i++) { - if (*m_gamePad_ptr == 0) { - cLib_memSet(cpad_ptr, 0, 0x40); + if (m_gamePad[i] == NULL) { + cLib_memSet(m_gamePad[i], 0, 0x40); } else { - convert(&cpad_ptr->interface, *m_gamePad_ptr); - LRlockCheck(&cpad_ptr->interface); + convert(&m_cpadInfo[i], m_gamePad[i]); + LRlockCheck(&m_cpadInfo[i]); } - m_gamePad_ptr = m_gamePad_ptr + 1; // Shouldn't it be 4 if it's incrementing a pointer??? - cpad_ptr = cpad_ptr->unk1; } } #else @@ -148,72 +117,27 @@ asm void mDoCPd_c::read() { #pragma pop #endif -/* ############################################################################################## */ -/* 80451A20-80451A24 000020 0004+00 1/1 0/0 0/0 .sdata2 @3709 */ -SECTION_SDATA2 static f32 lit_3709 = 1.0f / 15.0f; - -/* 80451A24-80451A28 000024 0004+00 1/1 0/0 0/0 .sdata2 @3710 */ -SECTION_SDATA2 static f32 lit_3710 = 1.0f; - -/* 80451A28-80451A30 000028 0004+04 1/1 0/0 0/0 .sdata2 @3711 */ -SECTION_SDATA2 static f32 lit_3711[1 + 1 /* padding */] = { - 0.0071428571827709675f, - /* padding */ - 0.0f, -}; - -/* 80451A30-80451A38 000030 0008+00 1/1 0/0 0/0 .sdata2 @3713 */ -SECTION_SDATA2 static f64 lit_3713 = 4503599627370496.0 /* cast u32 to float */; - /* 80007B7C-80007CD0 0024BC 0154+00 1/1 0/0 0/0 .text * convert__8mDoCPd_cFP27interface_of_controller_padP10JUTGamePad */ -#ifdef NONMATCHING -// off on load order, regalloc, const placement (int-to-float conversion magic). void mDoCPd_c::convert(interface_of_controller_pad* pInterface, JUTGamePad* pPad) { - pInterface->mButtonFlags = pPad->buttons.mButtonFlags; - pInterface->mPressedButtonFlags = pPad->buttons.mPressedButtonFlags; - pInterface->mMainStickPosX = pPad->control_stick.mPosX; - pInterface->mMainStickPosY = pPad->control_stick.mPosY; - pInterface->mMainStickValue = pPad->control_stick.mValue; - pInterface->mMainStickAngle = pPad->control_stick.mAngle; - pInterface->mCStickPosX = pPad->c_stick.mPosX; - pInterface->mCStickPosY = pPad->c_stick.mPosY; - pInterface->mCStickValue = pPad->c_stick.mValue; - pInterface->mCStickAngle = pPad->c_stick.mAngle; + pInterface->mButtonFlags = pPad->getButton(); + pInterface->mPressedButtonFlags = pPad->getTrigger(); + pInterface->mMainStickPosX = pPad->getMainStickX(); + pInterface->mMainStickPosY = pPad->getMainStickY(); + pInterface->mMainStickValue = pPad->getMainStickValue(); + pInterface->mMainStickAngle = pPad->getMainStickAngle(); + pInterface->mCStickPosX = pPad->getSubStickX(); + pInterface->mCStickPosY = pPad->getSubStickY(); + pInterface->mCStickValue = pPad->getSubStickValue(); + pInterface->mCStickAngle = pPad->getSubStickAngle(); - pInterface->mAnalogA = lbl_80451A20 * pPad->buttons.mAnalogARaw; - if (pInterface->mAnalogA > lbl_80451A24 /* 1.0 */) { - pInterface->mAnalogA = lbl_80451A24; - } + mDoCPd_ANALOG_CONV(pPad->getAnalogA(), pInterface->mAnalogA); + mDoCPd_ANALOG_CONV(pPad->getAnalogB(), pInterface->mAnalogB); + mDoCPd_TRIGGER_CONV(pPad->getAnalogL(), pInterface->mTriggerLeft); + mDoCPd_TRIGGER_CONV(pPad->getAnalogR(), pInterface->mTriggerRight); - pInterface->mAnalogB = lbl_80451A20 * pPad->buttons.mAnalogBRaw; - if (pInterface->mAnalogB > lbl_80451A24 /* 1.0 */) { - pInterface->mAnalogB = lbl_80451A24; - } - - // pInterface->mTriggerLeft = pPad->buttons.mTriggerLeftRaw * (1/140.0f); - pInterface->mTriggerLeft = lbl_80451A28 * pPad->buttons.mTriggerLeftRaw; - if (pInterface->mTriggerLeft > lbl_80451A24 /* 1.0 */) { - pInterface->mTriggerLeft = lbl_80451A24; - } - - pInterface->mTriggerRight = lbl_80451A28 * pPad->buttons.mTriggerRightRaw; - if (pInterface->mTriggerRight > lbl_80451A24 /* 1.0 */) { - pInterface->mTriggerRight = lbl_80451A24; - } - - pInterface->mGamepadErrorFlags = pPad->error_value; + pInterface->mGamepadErrorFlags = pPad->getErrorStatus(); } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void mDoCPd_c::convert(interface_of_controller_pad* param_0, JUTGamePad* param_1) { - nofralloc -#include "asm/m_Do/m_Do_controller_pad/convert__8mDoCPd_cFP27interface_of_controller_padP10JUTGamePad.s" -} -#pragma pop -#endif /* 80007CD0-80007D74 002610 00A4+00 1/1 0/0 0/0 .text * LRlockCheck__8mDoCPd_cFP27interface_of_controller_pad */ diff --git a/src/m_Do/m_Do_ext.cpp b/src/m_Do/m_Do_ext.cpp index 67c226a006..49de92319f 100644 --- a/src/m_Do/m_Do_ext.cpp +++ b/src/m_Do/m_Do_ext.cpp @@ -2427,7 +2427,7 @@ JKRExpHeap* mDoExt_createGameHeap(u32 param_0, JKRHeap* param_1) { } /* 8000ED50-8000ED58 -00001 0008+00 0/0 0/0 0/0 .text mDoExt_getGameHeap__Fv */ -JKRHeap* mDoExt_getGameHeap() { +JKRExpHeap* mDoExt_getGameHeap() { return gameHeap; } @@ -2540,8 +2540,8 @@ JKRSolidHeap* mDoExt_createSolidHeapFromSystem(u32 pSize, u32 pAlignment) { /* 8000EF68-8000EFBC 0098A8 0054+00 2/2 0/0 0/0 .text * mDoExt_createSolidHeapToCurrent__FPP7JKRHeapUlP7JKRHeapUl */ -static JKRSolidHeap* mDoExt_createSolidHeapToCurrent(JKRHeap** pOutHeap, u32 pSize, - JKRHeap* pParentHeap, u32 pAlignment) { +JKRSolidHeap* mDoExt_createSolidHeapToCurrent(JKRHeap** pOutHeap, u32 pSize, JKRHeap* pParentHeap, + u32 pAlignment) { if (pOutHeap != NULL) { *pOutHeap = JKRHeap::getCurrentHeap(); } diff --git a/src/m_Do/m_Do_lib.cpp b/src/m_Do/m_Do_lib.cpp index fc736654ed..5d49d2f4a0 100644 --- a/src/m_Do/m_Do_lib.cpp +++ b/src/m_Do/m_Do_lib.cpp @@ -4,23 +4,12 @@ // #include "m_Do/m_Do_lib.h" +#include "JSystem/JMath/JMATrigonometric.h" +#include "JSystem/JUtility/JUTTexture.h" +#include "SSystem/SComponent/c_math.h" #include "dol2asm.h" #include "dolphin/types.h" -// -// Types: -// - -struct _GXTlutObj {}; - -struct _GXTexObj {}; - -struct ResTIMG {}; - -struct JMath { - static u8 sincosTable_[65536]; -}; - // // Forward References: // @@ -43,10 +32,6 @@ extern "C" void init__11J3DUClipperFv(); extern "C" void calcViewFrustum__11J3DUClipperFv(); extern "C" void __dl__FPv(); extern "C" void PSMTXMultVec(); -extern "C" void GXInitTexObj(); -extern "C" void GXInitTexObjCI(); -extern "C" void GXInitTexObjLOD(); -extern "C" void GXInitTlutObj(); extern "C" void __register_global_object(); extern "C" void _savegpr_29(); extern "C" void _restgpr_29(); @@ -69,6 +54,27 @@ SECTION_SDATA2 static f64 lit_3638 = 4503601774854144.0 /* cast s32 to float */; /* 8001513C-8001528C 00FA7C 0150+00 0/0 3/3 2/2 .text * mDoLib_setResTimgObj__FPC7ResTIMGP9_GXTexObjUlP10_GXTlutObj */ +#ifdef NONMATCHING +bool mDoLib_setResTimgObj(ResTIMG const* res, _GXTexObj* o_texObj, u32 param_2, + _GXTlutObj* o_tlutObj) { + if (res->palettesEnabled) { + GXInitTlutObj(o_tlutObj, (void*)(res + res->paletteOffset), (GXTlutFmt)res->paletteFormat, + res->paletteCount); + GXInitTexObjCI(o_texObj, (void*)(res + res->texDataOffset), res->width, res->height, + (GXCITexFmt)res->format, (GXTexWrapMode)res->wrapS, + (GXTexWrapMode)res->wrapT, 1 - res->mipmapCount, param_2); + } else { + GXInitTexObj(o_texObj, (void*)(res + res->texDataOffset), res->width, res->height, + (GXTexFmt)res->format, (GXTexWrapMode)res->wrapS, (GXTexWrapMode)res->wrapT, + (s32)1 - res->mipmapCount); + } + GXInitTexObjLOD(o_texObj, (GXTexFilter)res->minFilter, (GXTexFilter)res->magFilter, + (f32)res->minLOD * 0.125f, (f32)res->maxLOD * 0.125f, (f32)res->LODBias * 0.01f, + (s32)res->biasClamp, (s32)res->doEdgeLOD, (GXAnisotropy)res->maxAnisotropy); + + return res->palettesEnabled; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -78,6 +84,7 @@ asm void mDoLib_setResTimgObj(ResTIMG const* param_0, _GXTexObj* param_1, u32 pa #include "asm/m_Do/m_Do_lib/mDoLib_setResTimgObj__FPC7ResTIMGP9_GXTexObjUlP10_GXTlutObj.s" } #pragma pop +#endif /* 803DD8E4-803DD940 00A604 005C+00 2/2 5/5 5/5 .bss mClipper__14mDoLib_clipper */ J3DUClipper mDoLib_clipper::mClipper; @@ -92,14 +99,18 @@ f32 mDoLib_clipper::mFovyRate; SECTION_SDATA2 static f32 lit_3739 = 182.04444885253906f; /* 8001528C-80015310 00FBCC 0084+00 0/0 1/1 0/0 .text setup__14mDoLib_clipperFffff */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void mDoLib_clipper::setup(f32 param_0, f32 param_1, f32 param_2, f32 param_3) { - nofralloc -#include "asm/m_Do/m_Do_lib/setup__14mDoLib_clipperFffff.s" +void mDoLib_clipper::setup(f32 fovy, f32 aspect, f32 near, f32 far) { + mClipper.setFovy(fovy); + mClipper.setAspect(aspect); + mClipper.setNear(near); + mClipper.setFar(far); + mSystemFar = far; + mClipper.calcViewFrustum(); + + s16 tmp = fovy * 182.04444885253906f; + + mFovyRate = cM_scos(tmp) / cM_ssin(tmp); } -#pragma pop /* ############################################################################################## */ /* 80451B84-80451B88 000184 0004+00 2/2 0/0 0/0 .sdata2 @3784 */ diff --git a/src/m_Do/m_Do_machine.cpp b/src/m_Do/m_Do_machine.cpp index 713ba8b7d7..743fd95fda 100644 --- a/src/m_Do/m_Do_machine.cpp +++ b/src/m_Do/m_Do_machine.cpp @@ -4,6 +4,9 @@ // #include "m_Do/m_Do_machine.h" +#include "JSystem/JFramework/JFWSystem.h" +#include "JSystem/JUtility/JUTDbPrint.h" +#include "JSystem/JUtility/JUTException.h" #include "dol2asm.h" #include "dolphin/types.h" @@ -11,85 +14,22 @@ // Types: // -struct mDoRst { - static u8 mResetData[4 + 4 /* padding */]; -}; - struct mDoMemCd_Ctrl_c { /* 80016730 */ void ThdInit(); }; struct mDoMch_render_c { - static void* mRenderModeObj[1 + 1 /* padding */]; -}; - -struct mDoMain { - static u32 memMargin; - static u8 sHungUpTime[4]; + static _GXRenderModeObj* mRenderModeObj; }; struct mDoDvdThd { /* 80015858 */ void create(s32); }; -struct JKRHeap { - /* 802CE438 */ void becomeCurrentHeap(); - /* 802CE72C */ void getFreeSize(); - /* 802CE784 */ void getTotalFreeSize(); - /* 802CEB78 */ void setErrorFlag(bool); - /* 802CEB88 */ void setErrorHandler(void (*)(void*, u32, int)); - - static u8 sSystemHeap[4]; - static u8 sRootHeap[4]; -}; - struct cMl { /* 80263220 */ void init(JKRHeap*); }; -struct OSThread {}; - -struct OSContext {}; - -struct JUTVideo { - /* 802E4CAC */ void destroyManager(); -}; - -struct JUTGamePad { - struct EPadPort {}; - - /* 802E06DC */ JUTGamePad(JUTGamePad::EPadPort); - /* 802E07B0 */ ~JUTGamePad(); -}; - -struct JUTFont {}; - -struct JUTException { - /* 802E2F18 */ void isEnablePad() const; - /* 802E2F54 */ void readPad(u32*, u32*); - /* 802E3980 */ void waitTime(s32); - /* 802E3AEC */ void setPreUserCallback(void (*)(u16, OSContext*, u32, u32)); - /* 802E3AFC */ void setPostUserCallback(void (*)(u16, OSContext*, u32, u32)); - /* 802E3B0C */ void appendMapFile(char const*); - - static u8 sErrorManager[4]; - static u8 sConsole[4]; -}; - -struct JUTDbPrint { - /* 802E0190 */ void start(JUTFont*, JKRHeap*); - - static u8 sDebugPrint[4 + 4 /* padding */]; -}; - -struct JUTConsole { - /* 802E7BB8 */ void print_f(char const*, ...); - /* 802E7C38 */ void print(char const*); - /* 802E80A8 */ void scroll(int); - /* 802E8184 */ void getUsedLine() const; - /* 802E81A8 */ void getLineOffset() const; -}; - struct JUTConsoleManager { /* 802E8450 */ void drawDirect(bool) const; /* 802E84C4 */ void setDirectConsole(JUTConsole*); @@ -98,15 +38,7 @@ struct JUTConsoleManager { }; struct JUTAssertion { - /* 802E4C34 */ void setVisible(bool); -}; - -struct JKRThreadSwitch { - /* 802D1A14 */ void createManager(JKRHeap*); -}; - -struct JKRThread { - /* 802D16B8 */ JKRThread(OSThread*, int); + /* 802E4C34 */ static void setVisible(bool); }; struct JKRDvdRipper { @@ -125,39 +57,22 @@ struct JKRAram { static u32 sSZSBufferSize[1 + 1 /* padding */]; }; -struct JFWSystem { - struct CSetUpParam { - static u32 maxStdHeaps; - static u32 sysHeapSize; - static u32 fifoBufSize; - static u32 aramAudioBufSize; - static u32 aramGraphBufSize; - static void* renderMode; - }; - - /* 80271CD0 */ void firstInit(); - /* 80271D18 */ void init(); - - static u8 systemHeap[4]; - static u8 systemConsole[4]; -}; - // // Forward References: // extern "C" static void myGetHeapTypeByString__FP7JKRHeap(); extern "C" static void myMemoryErrorRoutine__FPvUli(); -extern "C" static void myHeapCheckRecursive__FP7JKRHeap(); +extern "C" void myHeapCheckRecursive__FP7JKRHeap(); extern "C" void mDoMch_HeapCheckAll__Fv(); -extern "C" static void developKeyCheck__FUlUl(); -extern "C" static void mDoMch_IsProgressiveMode__Fv(); -extern "C" static void exceptionReadPad__FPUlPUl(); -extern "C" static void exceptionRestart__Fv(); -extern "C" static void myExceptionCallback__FUsP9OSContextUlUl(); +extern "C" static s8 developKeyCheck__FUlUl(u32, u32); +extern "C" bool mDoMch_IsProgressiveMode__Fv(); +extern "C" bool exceptionReadPad__FPUlPUl(u32*, u32*); +extern "C" void exceptionRestart__Fv(); +extern "C" void myExceptionCallback__FUsP9OSContextUlUl(); extern "C" static void fault_callback_scroll__FUsP9OSContextUlUl(); extern "C" static void my_PrintHeap__FPCcUl(); -extern "C" static void my_SysPrintHeap__FPCcPvUl(); +extern "C" void my_SysPrintHeap__FPCcPvUl(); extern "C" void mDoMch_Create__Fv(); extern "C" extern char const* const m_Do_m_Do_machine__stringBase0; extern "C" void* mRenderModeObj__15mDoMch_render_c[1 + 1 /* padding */]; @@ -168,9 +83,6 @@ extern "C" void* mRenderModeObj__15mDoMch_render_c[1 + 1 /* padding */]; extern "C" void OSReportDisable(); extern "C" void OSReportEnable(); -extern "C" void OSReport(); -extern "C" void OSReport_Error(); -extern "C" void OSReport_System(); extern "C" void mDoExt_createAssertHeap__FP7JKRHeap(); extern "C" void mDoExt_createDbPrintHeap__FUlP7JKRHeap(); extern "C" void mDoExt_getDbPrintHeap__Fv(); @@ -222,28 +134,16 @@ extern "C" void getLineOffset__10JUTConsoleCFv(); extern "C" void drawDirect__17JUTConsoleManagerCFb(); extern "C" void setDirectConsole__17JUTConsoleManagerFP10JUTConsole(); extern "C" void PPCHalt(); -extern "C" void OSGetConsoleType(); -extern "C" void OSGetArenaHi(); -extern "C" void OSGetArenaLo(); -extern "C" void OSSetArenaHi(); -extern "C" void OSEnableInterrupts(); -extern "C" void OSResetSystem(); -extern "C" void OSGetResetCode(); -extern "C" void OSGetProgressiveMode(); +extern "C" u32 OSGetProgressiveMode(); extern "C" void OSSetProgressiveMode(); -extern "C" void OSGetCurrentThread(); -extern "C" void OSGetThreadPriority(); -extern "C" void OSGetTime(); -extern "C" void DVDChangeDir(); extern "C" void VIFlush(); -extern "C" void VISetBlack(); +extern "C" void VISetBlack(s32); extern "C" void VIGetRetraceCount(); extern "C" void VIGetDTVStatus(); -extern "C" void GXSetDrawDoneCallback(); extern "C" void _savegpr_28(); extern "C" void _restgpr_28(); extern "C" extern u8 g_mDoMemCd_control[8192]; -extern "C" extern u32 data_80450580; +extern "C" extern s8 data_80450580; extern "C" u32 memMargin__7mDoMain; extern "C" u32 maxStdHeaps__Q29JFWSystem11CSetUpParam; extern "C" u32 sysHeapSize__Q29JFWSystem11CSetUpParam; @@ -267,7 +167,7 @@ extern "C" u8 systemConsole__9JFWSystem[4]; extern "C" u8 sSystemHeap__7JKRHeap[4]; extern "C" u8 sRootHeap__7JKRHeap[4]; extern "C" u8 sDebugPrint__10JUTDbPrint[4 + 4 /* padding */]; -extern "C" extern u8 struct_80451500[4]; +extern "C" extern bool struct_80451500; extern "C" u8 sErrorManager__12JUTException[4]; extern "C" u8 sConsole__12JUTException[4]; extern "C" u8 sManager__17JUTConsoleManager[4]; @@ -331,7 +231,7 @@ static u8 struct_80450C10[8]; #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void myGetHeapTypeByString(JKRHeap* param_0) { +static asm char* myGetHeapTypeByString(JKRHeap* param_0) { nofralloc #include "asm/m_Do/m_Do_machine/myGetHeapTypeByString__FP7JKRHeap.s" } @@ -367,24 +267,37 @@ SECTION_DEAD static char const* const stringBase_80373EEE = "error in %08x(%s)\n #pragma pop /* 8000B5C8-8000B668 005F08 00A0+00 1/1 0/0 0/0 .text myHeapCheckRecursive__FP7JKRHeap */ +#ifdef NONMATCHING +void myHeapCheckRecursive(JKRHeap* param_0) { + if (!param_0->check()) { + char* type = myGetHeapTypeByString(param_0); + OSReport_Error("error in %08x(%s)\n", param_0, type); + } + + JSUTree heapTree = param_0->getHeapTree(); + for (heapTree.getFirstChild(); heapTree.getNextChild() != NULL; heapTree--) { + /* if (heapTree->getNextChild() == NULL) { + heapTree--; + } */ + JKRHeap* heap = (JKRHeap*)heapTree.getObject(); + myHeapCheckRecursive(heap); + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void myHeapCheckRecursive(JKRHeap* param_0) { +asm void myHeapCheckRecursive(JKRHeap* param_0) { nofralloc #include "asm/m_Do/m_Do_machine/myHeapCheckRecursive__FP7JKRHeap.s" } #pragma pop +#endif /* 8000B668-8000B68C 005FA8 0024+00 0/0 2/2 0/0 .text mDoMch_HeapCheckAll__Fv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void mDoMch_HeapCheckAll() { - nofralloc -#include "asm/m_Do/m_Do_machine/mDoMch_HeapCheckAll__Fv.s" +void mDoMch_HeapCheckAll() { + myHeapCheckRecursive(JKRHeap::sRootHeap); } -#pragma pop /* 8000B68C-8000B73C 005FCC 00B0+00 1/1 0/0 0/0 .text developKeyCheck__FUlUl */ #pragma push @@ -397,56 +310,79 @@ static asm void developKeyCheck(u32 param_0, u32 param_1) { #pragma pop /* 8000B73C-8000B768 00607C 002C+00 1/1 0/0 0/0 .text mDoMch_IsProgressiveMode__Fv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void mDoMch_IsProgressiveMode() { - nofralloc -#include "asm/m_Do/m_Do_machine/mDoMch_IsProgressiveMode__Fv.s" +u8 mDoMch_IsProgressiveMode() { + return OSGetProgressiveMode() == true; } -#pragma pop /* 8000B768-8000B798 0060A8 0030+00 2/2 0/0 0/0 .text exceptionReadPad__FPUlPUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void exceptionReadPad(u32* param_0, u32* param_1) { - nofralloc -#include "asm/m_Do/m_Do_machine/exceptionReadPad__FPUlPUl.s" +bool exceptionReadPad(u32* param_0, u32* param_1) { + return JUTException::getManager()->readPad(param_0, param_1); } -#pragma pop /* 8000B798-8000B7C8 0060D8 0030+00 1/1 0/0 0/0 .text exceptionRestart__Fv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void exceptionRestart() { - nofralloc -#include "asm/m_Do/m_Do_machine/exceptionRestart__Fv.s" +void exceptionRestart() { + mDoRst_reset(0, 0, 0); + OSResetSystem(0, 0, 0); + do { + } while (true); } -#pragma pop - -/* ############################################################################################## */ -/* 80373DE8-80373DE8 000448 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80373F01 = "振動停止&原点復帰\n"; -SECTION_DEAD static char const* const stringBase_80373F15 = "例外マネージャがありません\n"; -SECTION_DEAD static char const* const stringBase_80373F31 = "キー入力を受け付けています\n"; -SECTION_DEAD static char const* const stringBase_80373F4D = "JUTAssertionを可視化しました\n"; -SECTION_DEAD static char const* const stringBase_80373F6B = "3秒間停止\n"; -SECTION_DEAD static char const* const stringBase_80373F76 = "/map/Final/Release"; -#pragma pop /* 8000B7C8-8000B95C 006108 0194+00 1/1 0/0 0/0 .text myExceptionCallback__FUsP9OSContextUlUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void myExceptionCallback(u16 param_0, OSContext* param_1, u32 param_2, u32 param_3) { - nofralloc -#include "asm/m_Do/m_Do_machine/myExceptionCallback__FUsP9OSContextUlUl.s" +void myExceptionCallback(u16 param_0, OSContext* param_1, u32 param_2, u32 param_3) { + u32 tmp1; + u32 tmp2; + + mDoMain::sHungUpTime = OSGetTime(); + OSReportEnable(); + cAPICPad_recalibrate__Fv(); + // "Vibration stopping & resetting to default\n" + OSReport("振動停止&原点復帰\n"); + + JUTException* manager = JUTException::getManager(); + + if (manager == NULL) { + // "Exception Manager doesn't exist\n" + OSReport("例外マネージャがありません\n"); + PPCHalt(); + } else { + manager->setTraceSuppress(0x80); + if (data_80450580 == 0) { + JUTGamePad pad(JUTGamePad::Port_1); + manager->field_0x84 = &pad; + manager->field_0x88 = -1; + + if (manager != NULL) { + OSEnableInterrupts(); + // "Accepting Key input\n" + OSReport("キー入力を受け付けています\n"); + while (data_80450580 == 0) { + exceptionReadPad(&tmp2, &tmp1); + developKeyCheck(tmp2, tmp1); + JUTException::waitTime(30); + if (struct_80451501) { + exceptionRestart(); + } + } + // "JUTAssertion is visible\n" + OSReport("JUTAssertionを可視化しました\n"); + JUTAssertion::setVisible(true); + JUTDbPrint::getManager()->setVisible(true); + JFWSystem::getSystemConsole()->setOutput(3); + } else { + PPCHalt(); + } + } else { + // "Wait for 3 seconds\n" + OSReport("3秒間停止\n"); + JUTException::waitTime(3000); + } + } + DVDChangeDir("/map/Final/Release"); + JUTVideo::destroyManager(); + GXSetDrawDoneCallback(0); + VISetBlack(0); + VIFlush(); } -#pragma pop /* ############################################################################################## */ /* 80373DE8-80373DE8 000448 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ @@ -497,14 +433,11 @@ SECTION_DEAD static char const* const stringBase_80374017 = "" #pragma pop /* 8000BCF8-8000BD44 006638 004C+00 1/1 0/0 0/0 .text my_SysPrintHeap__FPCcPvUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void my_SysPrintHeap(char const* param_0, void* param_1, u32 param_2) { - nofralloc -#include "asm/m_Do/m_Do_machine/my_SysPrintHeap__FPCcPvUl.s" +void my_SysPrintHeap(char const* message, void* start, u32 size) { + // "32m%-24s = %08x-%08x size=%d KB\n" + OSReport_System("\x1b[32m%-24s = %08x-%08x size=%d KB\n\x1b[m", message, start, + (u32)start + size, size >> 10); } -#pragma pop /* ############################################################################################## */ /* 80373DE8-80373DE8 000448 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ @@ -521,28 +454,60 @@ SECTION_DEAD static char const* const stringBase_8037409E = "/map/Final/Release/ #pragma pop /* 803A2F60-803A2F9C 000080 003C+00 1/0 0/0 0/0 .data g_ntscZeldaIntDf */ -SECTION_DATA static u8 g_ntscZeldaIntDf[60] = { - 0x00, 0x00, 0x00, 0x00, 0x02, 0x60, 0x01, 0xC0, 0x01, 0xC0, 0x00, 0x1B, 0x00, 0x10, 0x02, - 0x9A, 0x01, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x06, 0x06, 0x06, 0x06, - 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, - 0x06, 0x06, 0x06, 0x06, 0x06, 0x08, 0x08, 0x0A, 0x0C, 0x0A, 0x08, 0x08, 0x00, 0x00, 0x00, -}; +SECTION_DATA static _GXRenderModeObj g_ntscZeldaIntDf = {0, + 608, + 448, + 448, + 27, + 16, + 666, + 448, + 1, + 0, + 0, + {{6, 6}, + {6, 6}, + {6, 6}, + {6, 6}, + {6, 6}, + {6, 6}, + {6, 6}, + {6, 6}, + {6, 6}, + {6, 6}, + {6, 6}, + {6, 6}}, + {8, 8, 10, 12, 10, 8, 8}}; /* 803A2F9C-803A2FD8 0000BC 003C+00 1/1 1/1 0/0 .data g_ntscZeldaProg */ -SECTION_DATA extern u8 g_ntscZeldaProg[60] = { - 0x00, 0x00, 0x00, 0x02, 0x02, 0x60, 0x01, 0xC0, 0x01, 0xC0, 0x00, 0x1B, 0x00, 0x10, 0x02, - 0x9A, 0x01, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x06, 0x06, 0x06, - 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, - 0x06, 0x06, 0x06, 0x06, 0x06, 0x00, 0x00, 0x15, 0x16, 0x15, 0x00, 0x00, 0x00, 0x00, 0x00, -}; +SECTION_DATA extern _GXRenderModeObj g_ntscZeldaProg = {2, + 608, + 448, + 448, + 27, + 16, + 666, + 448, + 0, + 0, + 0, + {{6, 6}, + {6, 6}, + {6, 6}, + {6, 6}, + {6, 6}, + {6, 6}, + {6, 6}, + {6, 6}, + {6, 6}, + {6, 6}, + {6, 6}, + {6, 6}}, + {0, 0, 21, 22, 21, 0, 0}}; /* 804505A0-804505A8 -00001 0004+04 1/1 3/3 0/0 .sdata mRenderModeObj__15mDoMch_render_c */ -SECTION_SDATA void* mDoMch_render_c::mRenderModeObj[1 + 1 /* padding */] = { - (void*)&g_ntscZeldaIntDf, - /* padding */ - NULL, -}; +SECTION_SDATA _GXRenderModeObj* mDoMch_render_c::mRenderModeObj = &g_ntscZeldaIntDf; /* 8000BD44-8000C0CC 006684 0388+00 0/0 2/1 0/0 .text mDoMch_Create__Fv */ #pragma push diff --git a/src/m_Do/m_Do_machine_exception.cpp b/src/m_Do/m_Do_machine_exception.cpp index a225ce6e6d..f834ce3d57 100644 --- a/src/m_Do/m_Do_machine_exception.cpp +++ b/src/m_Do/m_Do_machine_exception.cpp @@ -4,98 +4,35 @@ // #include "m_Do/m_Do_machine_exception.h" +#include "JSystem/JFramework/JFWSystem.h" +#include "JSystem/JKernel/JKRAram.h" +#include "JSystem/JUtility/JUTConsole.h" +#include "d/com/d_com_inf_game.h" #include "dol2asm.h" #include "dolphin/types.h" +#include "m_Do/m_Do_ext.h" +#include "m_Do/m_Do_main.h" // // Types: // -struct mDoMain { - static u8 COPYDATE_STRING[18 + 2 /* padding */]; - static u8 sPowerOnTime[4]; - static u8 sHungUpTime[4]; -}; - -struct dRes_control_c { - /* 8003C638 */ void dump(); -}; - -struct JUTConsole { - /* 802E7C38 */ void print(char const*); - /* 802E7F7C */ void dumpToTerminal(unsigned int); -}; - -struct JKRHeap { - /* 802CE72C */ void getFreeSize(); - /* 802CE784 */ void getTotalFreeSize(); -}; - -struct JKRAramHeap { - /* 802D3218 */ void dump(); -}; - -struct JKRAram { - static u8 sAramObject[4]; -}; - -struct JFWSystem { - static u8 systemConsole[4]; -}; - struct DynamicModuleControlBase { /* 80262470 */ void dump(); }; -// -// Forward References: -// - -extern "C" static void print_f__FPCce(); -extern "C" static void print__FPCc(); -extern "C" static void dispHeapInfo__Fv(); -extern "C" static void dispGameInfo__Fv(); -extern "C" static void dispDateInfo__Fv(); -extern "C" static void dispConsoleToTerminal__Fv(); -extern "C" void exception_addition__FP10JUTConsole(); -extern "C" extern char const* const m_Do_m_Do_machine_exception__stringBase0; -extern "C" extern u8 struct_80450C98[4]; -extern "C" extern u8 struct_80450C9C[4]; - // // External References: // -extern "C" void dump__14dRes_control_cFv(); extern "C" void dump__24DynamicModuleControlBaseFv(); -extern "C" void getFreeSize__7JKRHeapFv(); -extern "C" void getTotalFreeSize__7JKRHeapFv(); -extern "C" void dump__11JKRAramHeapFv(); -extern "C" void print__10JUTConsoleFPCc(); extern "C" void JUTConsole_print_f_va_(); -extern "C" void dumpToTerminal__10JUTConsoleFUi(); -extern "C" void OSTicksToCalendarTime(); -extern "C" void _savegpr_23(); -extern "C" void _restgpr_23(); -extern "C" u8 COPYDATE_STRING__7mDoMain[18 + 2 /* padding */]; -extern "C" extern u8 g_dComIfG_gameInfo[122384]; -extern "C" u8 sPowerOnTime__7mDoMain[4]; -extern "C" extern u8 data_80450B0C[4]; -extern "C" u8 sHungUpTime__7mDoMain[4]; -extern "C" extern u8 data_80450B14[4]; -extern "C" extern u8 gameHeap[4]; -extern "C" extern u8 zeldaHeap[4]; -extern "C" extern u8 archiveHeap[4]; -extern "C" u8 systemConsole__9JFWSystem[4]; -extern "C" u8 sAramObject__7JKRAram[4]; // // Declarations: // -/* ############################################################################################## */ -/* 80450C90-80450C98 000190 0004+04 3/3 0/0 0/0 .sbss sConsole */ -static u8 sConsole[4 + 4 /* padding */]; +static JUTConsole* sConsole; /* 80017D7C-80017E08 0126BC 008C+00 3/3 0/0 0/0 .text print_f__FPCce */ #pragma push @@ -107,107 +44,80 @@ static asm void print_f(char const* param_0, ...) { } #pragma pop -/* 80017E08-80017E30 012748 0028+00 2/2 0/0 0/0 .text print__FPCc */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void print(char const* param_0) { - nofralloc -#include "asm/m_Do/m_Do_machine_exception/print__FPCc.s" +void print(char const* string) { + sConsole->print(string); } -#pragma pop -/* ############################################################################################## */ -/* 80374460-80374460 000AC0 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80374460 = - "--------------------------------------\n"; -SECTION_DEAD static char const* const stringBase_80374488 = "-- Heap Free / TotalFree (KB) --\n"; -SECTION_DEAD static char const* const stringBase_803744AA = " Zelda %5d / %5d\n"; -SECTION_DEAD static char const* const stringBase_803744BD = " Game %5d / %5d\n"; -SECTION_DEAD static char const* const stringBase_803744D0 = "Archive %5d / %5d\n"; -SECTION_DEAD static char const* const stringBase_803744E3 = "--------------------------------\n"; -#pragma pop +const char* stringBase_80374460 = "--------------------------------------\n"; -/* 80017E30-80017F8C 012770 015C+00 1/1 0/0 0/0 .text dispHeapInfo__Fv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void dispHeapInfo() { - nofralloc -#include "asm/m_Do/m_Do_machine_exception/dispHeapInfo__Fv.s" +void dispHeapInfo() { + JKRExpHeap* zelda = zeldaHeap; + JKRExpHeap* game = gameHeap; + JKRExpHeap* archive = archiveHeap; + + u32 zeldaFree = zelda->getFreeSize(); + u32 gameFree = game->getFreeSize(); + u32 archiveFree = archive->getFreeSize(); + u32 zeldaTotal = zelda->getTotalFreeSize(); + u32 gameTotal = game->getTotalFreeSize(); + u32 archiveTotal = archive->getTotalFreeSize(); + + print("-- Heap Free / TotalFree (KB) --\n"); + print_f(" Zelda %5d / %5d\n", zeldaFree >> 10, zeldaTotal >> 10); + print_f(" Game %5d / %5d\n", gameFree >> 10, gameTotal >> 10); + print_f("Archive %5d / %5d\n", archiveFree >> 10, archiveTotal >> 10); + print("--------------------------------\n"); + + if (JKRAram::getAramHeap()) { + JKRAram::getAramHeap()->dump(); + } + dump__24DynamicModuleControlBaseFv(); + g_dComIfG_gameInfo.mResControl.dump(); + + zelda->dump_sort(); + game->dump_sort(); + archive->dump_sort(); } -#pragma pop -/* ############################################################################################## */ -/* 80374460-80374460 000AC0 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80374505 = "Start StageName:RoomNo [%s:%d]\n"; -#pragma pop - -/* 80017F8C-80017FD0 0128CC 0044+00 1/1 0/0 0/0 .text dispGameInfo__Fv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void dispGameInfo() { - nofralloc -#include "asm/m_Do/m_Do_machine_exception/dispGameInfo__Fv.s" +void dispGameInfo() { + print_f("Start StageName:RoomNo [%s:%d]\n", dComIfGp_getStartStageName(), + dComIfGp_getStartStageRoomNo()); } -#pragma pop -/* ############################################################################################## */ -/* 80374460-80374460 000AC0 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80374525 = - "------------- Date Infomation ---------\n"; -SECTION_DEAD static char const* const stringBase_8037454E = " FINAL VERSION\n"; -SECTION_DEAD static char const* const stringBase_8037455E = "COMPILE USER: FINAL\n"; -SECTION_DEAD static char const* const stringBase_80374573 = "COPYDATE : %17s\n"; -SECTION_DEAD static char const* const stringBase_80374586 = - "PowerOnTime: %04d/%2d/%2d %2d:%2d:%2d`%03d\"%03d\n"; -SECTION_DEAD static char const* const stringBase_803745B7 = - "HungUpTime : %04d/%2d/%2d %2d:%2d:%2d`%03d\"%03d\n"; -SECTION_DEAD static char const* const stringBase_803745E8 = - "PlayTime : %4d days, %2d:%2d:%2d`%03d\"%03d\n"; -SECTION_DEAD static char const* const stringBase_80374616 = - "---------------------------------------\n"; -/* @stringBase0 padding */ -SECTION_DEAD static char const* const pad_8037463F = ""; -#pragma pop +void dispDateInfo() { + print("------------- Date Infomation ---------\n"); + print(" FINAL VERSION\n"); + print("COMPILE USER: FINAL\n"); + print_f("COPYDATE : %17s\n", mDoMain::COPYDATE_STRING); -/* 80017FD0-80018124 012910 0154+00 1/1 0/0 0/0 .text dispDateInfo__Fv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void dispDateInfo() { - nofralloc -#include "asm/m_Do/m_Do_machine_exception/dispDateInfo__Fv.s" + OSCalendarTime time; + OSTicksToCalendarTime(mDoMain::sPowerOnTime, &time); + print_f("PowerOnTime: %04d/%2d/%2d %2d:%2d:%2d`%03d\"%03d\n", time.year, time.month, + time.day_of_month, time.hours, time.minutes, time.seconds, time.milliseconds, + time.microseconds); + + OSTicksToCalendarTime(mDoMain::sHungUpTime, &time); + print_f("HungUpTime : %04d/%2d/%2d %2d:%2d:%2d`%03d\"%03d\n", time.year, time.month, + time.day_of_month, time.hours, time.minutes, time.seconds, time.milliseconds, + time.microseconds); + + OSTicksToCalendarTime(mDoMain::sHungUpTime - mDoMain::sPowerOnTime, &time); + print_f("PlayTime : %4d days, %2d:%2d:%2d`%03d\"%03d\n", time.year_day, time.hours, + time.minutes, time.seconds, time.milliseconds, time.microseconds); + print("---------------------------------------\n"); } -#pragma pop -/* 80018124-8001814C 012A64 0028+00 1/1 0/0 0/0 .text dispConsoleToTerminal__Fv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void dispConsoleToTerminal() { - nofralloc -#include "asm/m_Do/m_Do_machine_exception/dispConsoleToTerminal__Fv.s" +void dispConsoleToTerminal() { + JFWSystem::getSystemConsole()->dumpToTerminal(0xFFFFFFFF); } -#pragma pop -/* 8001814C-8001817C 012A8C 0030+00 0/0 1/1 0/0 .text exception_addition__FP10JUTConsole - */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void exception_addition(JUTConsole* param_0) { - nofralloc -#include "asm/m_Do/m_Do_machine_exception/exception_addition__FP10JUTConsole.s" +void exception_addition(JUTConsole* pConsole) { + sConsole = pConsole; + dispHeapInfo(); + dispDateInfo(); + dispConsoleToTerminal(); + dispGameInfo(); } -#pragma pop /* ############################################################################################## */ /* 80450C98-80450C9C -00001 0004+00 0/0 0/0 50/50 .sbss None */ diff --git a/src/m_Do/m_Do_main.cpp b/src/m_Do/m_Do_main.cpp index 5a2b3df888..a11a1a8613 100644 --- a/src/m_Do/m_Do_main.cpp +++ b/src/m_Do/m_Do_main.cpp @@ -4,65 +4,25 @@ // #include "m_Do/m_Do_main.h" +#include "JSystem/JFramework/JFWSystem.h" +#include "JSystem/JKernel/JKRAram.h" +#include "JSystem/JUtility/JUTAssert.h" #include "JSystem/JUtility/JUTReport.h" +#include "d/com/d_com_inf_game.h" #include "dol2asm.h" #include "dolphin/types.h" +#include "f_ap/f_ap_game.h" +#include "m_Do/m_Do_MemCard.h" +#include "m_Do/m_Do_Reset.h" #include "m_Do/m_Do_controller_pad.h" +#include "m_Do/m_Do_dvd_thread.h" +#include "m_Do/m_Do_graphic.h" #include "msl_c/string.h" // // Types: // -struct mDoRst { - static u8 mResetData[4 + 4 /* padding */]; -}; - -struct mDoMemCd_Ctrl_c { - /* 80016894 */ void update(); -}; - -struct mDoDvdThd_callback_c { - /* 80015C74 */ void create(void* (*)(void*), void*); -}; - -struct dRes_control_c { - /* 8003C638 */ void dump(); -}; - -struct dComIfG_inf_c { - /* 8002CBE4 */ void ct(); -}; - -struct JUTConsole { - /* 802E75EC */ void clear(); - /* 802E7F7C */ void dumpToTerminal(unsigned int); - /* 802E80A8 */ void scroll(int); - /* 802E81A8 */ void getLineOffset() const; -}; - -struct JUTAssertion { - /* 802E4C3C */ void setMessageCount(int); -}; - -struct JKRSolidHeap { - /* 802D0A24 */ void create(u32, JKRHeap*, bool); -}; - -struct JKRAramHeap { - /* 802D3134 */ void getFreeSize(); - /* 802D31AC */ void getTotalFreeSize(); - /* 802D3218 */ void dump(); -}; - -struct JKRAram { - static u8 sAramObject[4]; -}; - -struct JFWSystem { - static u8 systemConsole[4]; -}; - struct DynamicModuleControlBase { /* 80262470 */ void dump(); }; @@ -71,7 +31,7 @@ struct DynamicModuleControlBase { // Forward References: // -extern "C" static void version_check__Fv(); +extern "C" void version_check__Fv(); extern "C" void CheckHeap1__9HeapCheckFv(); extern "C" static void CheckHeap__FUl(); extern "C" static void countUsed__FP10JKRExpHeap(); @@ -79,7 +39,7 @@ extern "C" void getUsedCount__9HeapCheckCFv(); extern "C" void heapDisplay__9HeapCheckCFv(); extern "C" static void debugDisplay__Fv(); extern "C" static void Debug_console__FUl(); -extern "C" static void LOAD_COPYDATE__FPv(); +extern "C" void* LOAD_COPYDATE__FPv(); extern "C" static void debug__Fv(); extern "C" static void main01__Fv(); extern "C" void main(); @@ -166,13 +126,7 @@ extern "C" void _restgpr_27(); extern "C" void _restgpr_28(); extern "C" u8 m_gamePad__8mDoCPd_c[16]; extern "C" u8 m_cpadInfo__8mDoCPd_c[256]; -extern "C" extern u8 g_mDoMemCd_control[8192]; -extern "C" extern u8 g_HIO[64 + 4 /* padding */]; -extern "C" extern u8 g_dComIfG_gameInfo[122384]; -extern "C" extern u8 g_mDoAud_audioHeap[4]; -extern "C" extern u8 gameHeap[4]; -extern "C" extern u8 zeldaHeap[4]; -extern "C" extern u8 archiveHeap[4]; +extern "C" extern JKRSolidHeap* g_mDoAud_audioHeap; extern "C" u8 mResetData__6mDoRst[4 + 4 /* padding */]; extern "C" extern u8 struct_80450C80[8]; extern "C" u8 systemConsole__9JFWSystem[4]; @@ -185,8 +139,8 @@ extern "C" u8 sAramObject__7JKRAram[4]; // Declarations: // -static void version_check() { - if ((!strcmp("20Apr2004", "20Apr2004")) && (!strcmp("Patch2", "Patch2"))) { +void version_check() { + if (!strcmp("20Apr2004", "20Apr2004") && !strcmp("Patch2", "Patch2")) { return; } @@ -235,30 +189,7 @@ extern "C" HeapCheck HostioHeapCheck; extern "C" HeapCheck CommandHeapCheck; /* 803A2EE0-803A2EF4 000000 0012+02 2/2 1/1 0/0 .data COPYDATE_STRING__7mDoMain */ -// "??/??/?? ??:??:?" -SECTION_DATA u8 mDoMain::COPYDATE_STRING[18 + 2 /* padding */] = { - 0x3F, - 0x3F, - 0x2F, - 0x3F, - 0x3F, - 0x2F, - 0x3F, - 0x3F, - 0x20, - 0x3F, - 0x3F, - 0x3A, - 0x3F, - 0x3F, - 0x3A, - 0x3F, - 0x3F, - 0x00, - /* padding */ - 0x00, - 0x00, -}; +SECTION_DATA char mDoMain::COPYDATE_STRING[18] = "??/??/?? ??:??:??"; /* 803A2EF4-803A2F14 -00001 0020+00 1/2 0/0 0/0 .data HeapCheckTable */ SECTION_DATA static HeapCheck* HeapCheckTable[8] = { @@ -291,41 +222,26 @@ static HeapCheck HostioHeapCheck; static HeapCheck CommandHeapCheck; /* 8000578C-80005848 0000CC 00BC+00 1/1 0/0 0/0 .text CheckHeap__FUl */ -#ifdef NONMATCHING -void CheckHeap(u32 controller_pad_no) { +void CheckHeap(u32 i_padNo) { mDoMch_HeapCheckAll__Fv(); OSCheckActiveThreads(); - bool unk = false; + bool comboCheck = false; // if L + R + Z is pressed... - if (((m_cpadInfo[controller_pad_no].mButtonFlags & ~0x10) == 0x60) && - m_cpadInfo[controller_pad_no].mPressedButtonFlags & 0x10) { - unk = true; + if ((mDoCPd_c::getHold(i_padNo) & ~CButton::Z) == (CButton::L + CButton::R) && + mDoCPd_c::getTrig(i_padNo) & CButton::Z) { + comboCheck = true; } + int unk2 = comboCheck; for (int i = 0; i < 8; i++) { HeapCheckTable[i]->CheckHeap1(); - if (unk) { - HeapCheck* currentHeap = HeapCheckTable[i]; - s32 used_count = currentHeap->getUsedCount(); - - currentHeap->getUsedCountRef() = used_count; - used_count = currentHeap->getHeap()->getTotalUsedSize(); - currentHeap->getTotalUsedSizeRef() = used_count; + if (unk2) { + HeapCheckTable[i]->saveRelBase(); } } } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void CheckHeap(u32 param_0) { - nofralloc -#include "asm/m_Do/m_Do_main/CheckHeap__FUl.s" -} -#pragma pop -#endif static int countUsed(JKRExpHeap* heap) { OSDisableScheduler(); @@ -393,54 +309,39 @@ SECTION_DEAD static char const* const stringBase_80373B4C = "%10d"; /* 803A2F14-803A2F28 -00001 0014+00 0/1 0/0 0/0 .data desc1$3717 */ #pragma push #pragma force_active on -SECTION_DATA static void* desc1[5] = { - (void*)(((char*)&m_Do_m_Do_main__stringBase0) + 0x14F), - (void*)(((char*)&m_Do_m_Do_main__stringBase0) + 0x150), - (void*)(((char*)&m_Do_m_Do_main__stringBase0) + 0x15A), - (void*)(((char*)&m_Do_m_Do_main__stringBase0) + 0x164), - (void*)(((char*)&m_Do_m_Do_main__stringBase0) + 0x16E), +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 void* desc2[5 + 1 /* padding */] = { - (void*)(((char*)&m_Do_m_Do_main__stringBase0) + 0x14F), - (void*)(((char*)&m_Do_m_Do_main__stringBase0) + 0x178), - (void*)(((char*)&m_Do_m_Do_main__stringBase0) + 0x182), - (void*)(((char*)&m_Do_m_Do_main__stringBase0) + 0x18C), - (void*)(((char*)&m_Do_m_Do_main__stringBase0) + 0x18C), - /* padding */ - NULL, +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 extern s8 data_80450580 = 0xFF; +SECTION_SDATA s8 data_80450580 = 0xFF; /* 80450584-80450588 000004 0004+00 0/0 1/1 0/0 .sdata memMargin__7mDoMain */ 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, }; /* 80450B00-80450B08 000000 0008+00 1/1 0/0 0/0 .sbss None */ -static u8 data_80450B00[8]; +static u8 data_80450B00; /* 80450B08-80450B0C 000008 0004+00 1/1 1/1 0/0 .sbss sPowerOnTime__7mDoMain */ -// should be OSTime -u8 mDoMain::sPowerOnTime[4]; -extern u8 data_80450B0C[4]; -u8 data_80450B0C[4]; +OSTime mDoMain::sPowerOnTime; /* 80450B10-80450B14 000010 0004+00 0/0 2/2 0/0 .sbss sHungUpTime__7mDoMain */ -// should be OSTime -u8 mDoMain::sHungUpTime[4]; -extern u8 data_80450B14[4]; -u8 data_80450B14[4]; +OSTime mDoMain::sHungUpTime; /* 80450B18-80450B1C -00001 0004+00 3/3 0/0 0/0 .sbss None */ /* 80450B18 0001+00 data_80450B18 None */ @@ -456,33 +357,29 @@ static u8 data_80450B1B; void debugDisplay(void) { int tmp1; int tmp2; - HeapCheck** hct = (HeapCheck**)lbl_803A2EE0; - if (lbl_80450B19 >= 1 && lbl_80450B19 <= 6) { - hct[lbl_80450B19 - 1]->heapDisplay(); + if (struct_80450B18[1] >= 1 && struct_80450B18[1] <= 6) { + HeapCheckTable[struct_80450B18[1]]->heapDisplay(); } - if (lbl_80450588 == 5) { - JKRAramHeap* heap = sAramObject__7JKRAram->getAramHeap(); + if (data_80450588[0] == 5) { + JKRAramHeap* heap = JKRAram::getAramHeap(); if (heap) { - JUTReport(0x1db, 100, lbl_803739A0 + 0x196); - JUTReport(0x1db, 0x72, lbl_803739A0 + 0x1A0, heap->getFreeSize()); - JUTReport(0x1db, 0x80, lbl_803739A0 + 0x150); - JUTReport(0x1db, 0x8e, lbl_803739A0 + 0x1A0, heap->getTotalFreeSize()); + JUTReport(0x1db, 100, "ARAM Free"); + JUTReport(0x1db, 0x72, "%d", heap->getFreeSize()); + JUTReport(0x1db, 0x80, "TotalFree"); + JUTReport(0x1db, 0x8e, "%d", heap->getTotalFreeSize()); } - } else { - if (lbl_80450588) { - JUTReport(0x1db, 100, lbl_803739A0 + 0x1A3, lbl_803A2F14[lbl_80450588]); - JUTReport(0x1db, 0x72, lbl_803739A0 + 0x1A3, lbl_803A2F28[lbl_80450588]); + if (data_80450588[0] != 0) { + JUTReport(0x1db, 100, "%s", desc1[data_80450588[0]]); + JUTReport(0x1db, 0x72, "%s", lbl_803A2F28[data_80450588[0]]); int k = 0; - for (int i = 0; i < 8; i++, k += 0x2c) { - // heap check table stuff - HeapCheck* heap_check; - heap_check = HeapCheckTable[i]; + for (int i = 0; i < 8; i++, k += 0x2C) { + HeapCheck* heap_check = HeapCheckTable[i]; - switch (lbl_80450588) { + switch (data_80450588[0]) { case 3: { tmp1 = heap_check->getUsedCount(); tmp2 = heap_check->getHeap()->getTotalUsedSize(); @@ -505,9 +402,9 @@ void debugDisplay(void) { break; } - JUTReport(0x1db, k + 0x96, lbl_80373B46, heap_check->getNames()[0]); - JUTReport(0x1db, k + 0xA4, lbl_80373B4C, tmp1); - JUTReport(0x1db, k + 0xB2, lbl_80373B4C, tmp2); + JUTReport(0x1db, k + 0x96, " [%s]", heap_check->getName()); + JUTReport(0x1db, k + 0xA4, "%10d", tmp1); + JUTReport(0x1db, k + 0xB2, "%10d", tmp2); } } } @@ -542,19 +439,19 @@ SECTION_DEAD static char const* const stringBase_80373BFB = static f32 console_position_x; /* 80450B20-80450B24 000020 0004+00 1/1 0/0 0/0 .sbss None */ -static u8 data_80450B20[4]; +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 u8 data_80450B28[4]; +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 u8 data_80450B30[4]; +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; @@ -584,119 +481,112 @@ SECTION_SDATA2 static f32 lit_3888[1 + 1 /* padding */] = { 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 -void Debug_console(u32 controller_pad_no) { +bool Debug_console(u32 i_padNo) { float tmp2; float tmp3; int tmp6; - // systemConsole - if (lbl_804511B8) { - if (!lbl_80450B20) { - lbl_80450B1C = lbl_80451A00; - lbl_80450B20 = 1; + JUTConsole* console = JFWSystem::getSystemConsole(); + if (console) { + if (!data_80450B20) { + console_position_x = 20.0f; + data_80450B20 = 1; + } + if (!data_80450B28) { + console_position_y = 30.0f; + data_80450B28 = 1; + } + if (!data_80450B30) { + console_scroll = 0.0f; + data_80450B30 = 1; } - if (!lbl_80450B28) { - lbl_80450B24 = lbl_80451A04; - lbl_80450B28 = 1; - } - if (!lbl_80450B30) { - lbl_80450B2C = lbl_80451A08; - lbl_80450B30 = 1; - } - - u32 tmp5 = m_cpadInfo[controller_pad_no].mPressedButtonFlags; - - if ((m_cpadInfo[controller_pad_no].mPressedButtonFlags & 0x10) && - !(m_cpadInfo[controller_pad_no].mButtonFlags & ~0x10)) { - lbl_804511B8->field_0x68 = !lbl_804511B8->field_0x68; + if (mDoCPd_c::getTrig(i_padNo) & CButton::Z && + !(mDoCPd_c::getHold(i_padNo) & ~CButton::Z)) { + bool visible = console->isVisible() == false; + console->setVisible(visible); JUTAssertion::setMessageCount(0); } - if (lbl_804511B8->field_0x68) { - u32 tmp = m_cpadInfo[controller_pad_no].mButtonFlags; - + if (console->isVisible()) { // if R and L are pressed - if ((tmp & CButton::R && tmp & CButton::L) || - ((lbl_80451A08 > m_cpadInfo[controller_pad_no].mTriggerLeft) && - (lbl_80451A08 > m_cpadInfo[controller_pad_no].mTriggerRight))) { - tmp2 = m_cpadInfo[controller_pad_no].mMainStickPosX; - tmp3 = m_cpadInfo[controller_pad_no].mMainStickPosY; - - // if x buttons are pressed, clear the console - if (tmp & (CButton::Y | CButton::START) && tmp5 & CButton::START) { - lbl_804511B8->clear(); + 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) && + mDoCPd_c::getTrig(i_padNo) & CButton::START) { + console->clear(); } - u32 tmp = m_cpadInfo[controller_pad_no].mButtonFlags; - - if (!(tmp & (CButton::Y | CButton::START))) { + if (!(mDoCPd_c::getHold(i_padNo) & (CButton::Y | CButton::X))) { // subtract console scroll value from stick Y - float tmp4 = lbl_80450B2C; - lbl_80450B2C = tmp4 - tmp3; - if (lbl_80450B2C <= lbl_80451A0C) { - lbl_80451A10 <= lbl_80450B2C ? tmp = 0 : tmp = lbl_80451A0C; + console_scroll -= mDoCPd_c::getStickY(i_padNo); + int tmp; + if (1.0f <= console_scroll) { + -1.0f <= console_scroll ? tmp = 0 : tmp = -console_scroll; } else { - tmp = (tmp4 - tmp3); + tmp = mDoCPd_c::getStickX(i_padNo) - mDoCPd_c::getStickY(i_padNo); } if (tmp) { - lbl_80450B2C -= (tmp ^ 0x80000000) - 4503601774854144.00000000; - lbl_804511B8->scroll(tmp); + console_scroll -= tmp; + console->scroll(tmp); } } else { - if (tmp & CButton::X) { - lbl_80450B2C += tmp2; + if (mDoCPd_c::getHold(i_padNo) & CButton::X) { + console_position_x += mDoCPd_c::getStickX(i_padNo); } - if (tmp & CButton::Y) { - lbl_80450B2C -= tmp3; + if (mDoCPd_c::getHold(i_padNo) & CButton::Y) { + console_position_y -= mDoCPd_c::getStickY(i_padNo); } } - if (tmp5 & CButton::A) { - lbl_804511B8->dumpToTerminal(0xFFFFFFFF); - lbl_804511B8->field_0x58 = 3; + if (mDoCPd_c::getTrig(i_padNo) & CButton::A) { + console->dumpToTerminal(0xFFFFFFFF); + console->setOutput(3); } - JUTReport(0x1E, 0x186, 1, lbl_80373B51); - JUTReport(0x1E, 400, 1, lbl_80373B73); - JUTReport(0x1E, 0x19A, 1, lbl_80373B8D); - tmp6 = lbl_804511B8->getLineOffset(); - JUTReport(0x1E, 0x1A4, 1, lbl_80373BB6, tmp6, lbl_804511B8->field_0x40, - lbl_804511B8->field_0x44, lbl_804511B8->field_0x58); + 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 (tmp5 & 4) { - g_HIO.field_0x15 ^= 1; + if (mDoCPd_c::getTrig(i_padNo) & CButton::DPAD_DOWN) { + g_HIO.mDisplayMeter ^= 1; } - if (tmp5 & 1) { - if (sAramObject__7JKRAram->getAramHeap()) { - sAramObject__7JKRAram->getAramHeap()->dump(); + if (mDoCPd_c::getTrig(i_padNo) & CButton::DPAD_LEFT) { + if (JKRAram::getAramHeap()) { + JKRAram::getAramHeap()->dump(); } dump__24DynamicModuleControlBaseFv(); - dump__14dRes_control_cFv(); + g_dComIfG_gameInfo.mResControl.dump(); } - if (tmp5 & 2) { - sSystemHeap__7JKRHeap->dump_sort(); + if (mDoCPd_c::getTrig(i_padNo) & CButton::DPAD_RIGHT) { + JKRHeap::getSystemHeap()->dump_sort(); } - if (tmp5 & 8) { - lbl_80450C2C->dump_sort(); - lbl_80450C28->dump_sort(); - lbl_80450C34->dump_sort(); + if (mDoCPd_c::getTrig(i_padNo) & CButton::DPAD_UP) { + zeldaHeap->dump_sort(); + gameHeap->dump_sort(); + archiveHeap->dump_sort(); } - JUTReport(0x1E, 0x1B8, 1, lbl_80373BD5); - JUTReport(0x1E, 0x1C2, 1, lbl_80373BFB); + JUTReport(0x1E, 0x1B8, 1, "Press L+R trigger to control console."); + JUTReport(0x1E, 0x1C2, 1, "Press [Z] trigger to close this window."); } - lbl_804511B8->field_0x40 = lbl_80450B1C; - lbl_804511B8->field_0x44 = lbl_80450B24; - tmp6 = 1; + console->setPosition(console_position_x, console_position_y); + return 1; } + return 0; } #else #pragma push @@ -728,7 +618,7 @@ s32 LOAD_COPYDATE(void*) { if (status) { DVDReadPrio((DVDFileInfo*)fileInfo, &buffer, 32, 0, 2); - memcpy(lbl_803A2EE0, buffer, 17); + memcpy(mDoMain::COPYDATE_STRING, buffer, 17); status = DVDClose((DVDFileInfo*)fileInfo); } return status; @@ -737,7 +627,7 @@ s32 LOAD_COPYDATE(void*) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void LOAD_COPYDATE(void* param_0) { +asm void* LOAD_COPYDATE(void* param_0) { nofralloc #include "asm/m_Do/m_Do_main/LOAD_COPYDATE__FPv.s" } @@ -750,14 +640,14 @@ static void debug() { CheckHeap(2); } - if (((mDoCPd_c::m_gamePad[2]->buttons.mButtonFlags & ~0x10) == 0x20) && - (mDoCPd_c::m_gamePad[2]->buttons.mPressedButtonFlags & 0x10)) { + if ((mDoCPd_c::getGamePad(2)->getButton() & ~CButton::Z) == CButton::R && + mDoCPd_c::getGamePad(2)->testTrigger(CButton::Z)) { struct_80450B18[0] ^= 0x1; } if (struct_80450B18[0]) { - if (((mDoCPd_c::m_gamePad[2]->buttons.mButtonFlags & ~0x10) == 0x40) && - (mDoCPd_c::m_gamePad[2]->buttons.mPressedButtonFlags & 0x10)) { + 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; } @@ -770,106 +660,83 @@ static void debug() { /* ############################################################################################## */ /* 80450B34-80450B38 000034 0004+00 1/1 0/0 0/0 .sbss frame$3939 */ -static u8 frame[4]; +static u32 frame; /* 8000628C-80006454 000BCC 01C8+00 1/1 0/0 0/0 .text main01__Fv */ +// almost #ifdef NONMATCHING void main01(void) { - HeapCheck* heaps = lbl_803D32E0; - mDoMch_Create__Fv(); mDoGph_Create(); - create__8mDoCPd_cFv(); + mDoCPd_c::create(); - // mDoDVDThd_callback_c thread_callback; - // JKRSolidHeap audio_heap; - - // Root Heap - heaps[0].setHeap((JKRExpHeap*)JKRHeap::getRootHeap()); + RootHeapCheck.setHeap((JKRExpHeap*)JKRHeap::getRootHeap()); if (JKRHeap::getRootHeap()) { - heaps[0].setHeapSize(JKRHeap::getRootHeap()->getSize()); + RootHeapCheck.setHeapSize(JKRHeap::getRootHeap()->getSize()); } - // System Heap - heaps[1].setHeap((JKRExpHeap*)JKRHeap::getSystemHeap()); + SystemHeapCheck.setHeap((JKRExpHeap*)JKRHeap::getSystemHeap()); if (JKRHeap::getSystemHeap()) { - heaps[1].setHeapSize(JKRHeap::getSystemHeap()->getSize()); + SystemHeapCheck.setHeapSize(JKRHeap::getSystemHeap()->getSize()); } - // Zelda Heap - heaps[2].setHeap(mDoExt_getZeldaHeap()); - if (heaps[2].getHeap()) { - heaps[2].setHeapSize(heaps[2].getHeap()->getSize()); + ZeldaHeapCheck.setHeap(mDoExt_getZeldaHeap()); + if (ZeldaHeapCheck.getHeap()) { + ZeldaHeapCheck.setHeapSize(ZeldaHeapCheck.getHeap()->getSize()); } - // Game Heap - heaps[3].setHeap(mDoExt_getGameHeap()); - if (heaps[3].getHeap()) { - heaps[3].setHeapSize(heaps[3].getHeap()->getSize()); + GameHeapCheck.setHeap(mDoExt_getGameHeap()); + if (GameHeapCheck.getHeap()) { + GameHeapCheck.setHeapSize(GameHeapCheck.getHeap()->getSize()); } - // Archive Heap - heaps[4].setHeap(mDoExt_getArchiveHeap()); - if (heaps[4].getHeap()) { - heaps[4].setHeapSize(heaps[4].getHeap()->getSize()); + ArchiveHeapCheck.setHeap(mDoExt_getArchiveHeap()); + if (ArchiveHeapCheck.getHeap()) { + ArchiveHeapCheck.setHeapSize(ArchiveHeapCheck.getHeap()->getSize()); } - // J2D Heap - heaps[5].setHeap(mDoExt_getJ2dHeap()); - if (heaps[5].getHeap()) { - heaps[5].setHeapSize(heaps[5].getHeap()->getSize()); + J2dHeapCheck.setHeap(mDoExt_getJ2dHeap()); + if (J2dHeapCheck.getHeap()) { + J2dHeapCheck.setHeapSize(J2dHeapCheck.getHeap()->getSize()); } - // HostIO Heap - heaps[6].setHeap(mDoExt_getHostIOHeap()); - if (heaps[6].getHeap()) { - heaps[6].setHeapSize(heaps[6].getHeap()->getSize()); + HostioHeapCheck.setHeap(mDoExt_getHostIOHeap()); + if (HostioHeapCheck.getHeap()) { + HostioHeapCheck.setHeapSize(HostioHeapCheck.getHeap()->getSize()); } - // Command Heap - heaps[7].setHeap(mDoExt_getCommandHeap()); - - JUTConsole* systemConsole = lbl_804511B8; - - if (heaps[7].getHeap()) { - heaps[7].setHeapSize(heaps[7].getHeap()->getSize()); + CommandHeapCheck.setHeap(mDoExt_getCommandHeap()); + if (CommandHeapCheck.getHeap()) { + CommandHeapCheck.setHeapSize(CommandHeapCheck.getHeap()->getSize()); } - u32 unk = 0; - if (lbl_80450580) { - unk = 3; + JUTConsole* console = JFWSystem::getSystemConsole(); + if (data_80450580 != 0) { + console->setOutput(3); } - systemConsole->field_0x58 = unk; - systemConsole->field_0x40 = 0x20; - systemConsole->field_0x44 = 0x2A; + console->setPosition(32, 42); - // lol - mDoDVDThd_callback_c::create(LOAD_COPYDATE, 0); - fapGm_Create(); - fopAcM_initManager(); - lbl_80450B18 = 0; + mDoDvdThd_callback_c::create(LOAD_COPYDATE, NULL); + fapGm_Create__Fv(); + fopAcM_initManager__Fv(); + struct_80450B18[0] = 0; cDyl_InitAsync__Fv(); - // g_mDoAud_audioHeap + g_mDoAud_audioHeap = JKRSolidHeap::create(0x14D800, JKRHeap::getCurrentHeap(), false); - lbl_80450BBC = JKRSolidHeap::create(0x14d800, JKRHeap::getCurrentHeap(), false); - - // main loop do { - // global frame counter? - lbl_80450B34++; + frame++; - if (lbl_80450B00 && (lbl_80450B34 == ((lbl_80450B34 / lbl_80450B00) * lbl_80450B00))) { + if (data_80450B00 && frame == data_80450B00 * (frame / data_80450B00)) { mDoMch_HeapCheckAll__Fv(); } - - if (lbl_80450C80) { - update__15mDoMemCd_Ctrl_cFv(); + if (struct_80450C80[0]) { + g_mDoMemCd_control.update(); } - mDoCPd_c_NS_read(); - fapGm_Execute(); - mDoAud_Execute(); + mDoCPd_c::read(); + fapGm_Execute__Fv(); + mDoAud_Execute__Fv(); debug(); } while (true); } @@ -889,30 +756,28 @@ static asm void main01() { static u8 mainThreadStack[32768]; /* 803DB420-803DB740 008140 0318+08 1/1 0/0 0/0 .bss mainThread */ -static u8 mainThread[792 + 8 /* padding */]; +static OSThread mainThread; /* 80006454-800065D8 000D94 0184+00 0/0 1/1 0/0 .text main */ -#ifdef NONMATCHING void main() { - u32 resetCode; OSThread* current_thread = OSGetCurrentThread(); - OSPriority* priority; + u8* stack = &mainThreadStack[0]; mDoMain::sPowerOnTime = OSGetTime(); OSReportInit(); version_check(); mDoRstData* reset_data = (mDoRstData*)OSAllocFromArenaLo(0x18, 4); mDoRst::setResetData(reset_data); - if (!mDoRst::getResetData()) { + if (!mDoRst::i_getResetData()) { do { } while (true); } - if (!(OSGetResetCode() & 0x80000000)) { + if (!(OSGetResetCode() >> 0x1F)) { mDoRst::offReset(); mDoRst::offResetPrepare(); mDoRst::off3ButtonReset(); - mDoRst::off3ButtonResetPort(-1); + mDoRst::set3ButtonResetPort(-1); mDoRst::setLogoScnFlag(0); mDoRst::setProgSeqFlag(0); mDoRst::setProgChgFlag(0); @@ -921,39 +786,28 @@ void main() { mDoRst::offReturnToMenu(); } - dComIfG_ct(); + g_dComIfG_gameInfo.ct(); if (data_80450580 < 0) { DVDDiskID* disk_id = DVDGetCurrentDiskID(); - if (disk_id->game_version <= 0x90) { - if (disk_id->game_version <= 0x80) { - data_80450580 = 0; - } else { - resetCode = OSGetConsoleType(); - data_80450580 = (-(resetCode & 0x10000000) >> 0x1f); - } - } else { + if (disk_id->game_version > 0x90) { data_80450580 = 1; + } else if (disk_id->game_version > 0x80) { + u32 consoleType = OSGetConsoleType(); + data_80450580 = (consoleType >> 0x1c) & 1; + } else { + data_80450580 = 0; } } - priority = OSGetThreadPriority(current_thread); - OSCreateThread(&mainThread, main01, 0, &mainThread, 0x8000, priority, 0); + s32 priority = OSGetThreadPriority(current_thread); + OSCreateThread(&mainThread, main01, 0, stack + sizeof(mainThreadStack), sizeof(mainThreadStack), + priority, 0); OSResumeThread(&mainThread); OSSetThreadPriority(current_thread, 0x1F); OSSuspendThread(current_thread); } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void main() { - nofralloc -#include "asm/m_Do/m_Do_main/main.s" -} -#pragma pop -#endif /* 800065D8-800065E0 000F18 0008+00 0/0 2/0 0/0 .text dump_sort__7JKRHeapFv */ bool JKRHeap::dump_sort() { diff --git a/src/m_Do/m_Do_mtx.cpp b/src/m_Do/m_Do_mtx.cpp index 6dfa32265a..aa1bb4f6c0 100644 --- a/src/m_Do/m_Do_mtx.cpp +++ b/src/m_Do/m_Do_mtx.cpp @@ -11,45 +11,6 @@ // Types: // -struct csXyz {}; - -struct Quaternion {}; - -struct Vec {}; - -struct cXyz { - /* 80266B34 */ void operator-(Vec const&) const; - /* 80266CBC */ void outprod(Vec const&) const; - /* 80266EF4 */ void normalize(); - /* 80266FDC */ void normalizeRS(); -}; - -struct mDoMtx_stack_c { - /* 8000CCC8 */ void push(); - /* 8000CD14 */ void pop(); - /* 8000CD64 */ void transS(cXyz const&); - /* 8000CDD4 */ void transM(cXyz const&); - /* 8000CD9C */ void transM(f32, f32, f32); - /* 8000CE00 */ void scaleS(cXyz const&); - /* 8000CE70 */ void scaleM(cXyz const&); - /* 8000CE38 */ void scaleM(f32, f32, f32); - /* 8000CE9C */ void XYZrotS(csXyz const&); - /* 8000CED4 */ void XYZrotM(csXyz const&); - /* 8000CF0C */ void ZXYrotS(csXyz const&); - /* 8000CF44 */ void ZXYrotM(csXyz const&); - /* 8000CF7C */ void quatM(Quaternion const*); - /* 8000D070 */ ~mDoMtx_stack_c(); - - static u8 now[48]; - static u8 buffer[768]; - static void* next; - static void* end; -}; - -struct mDoMtx_quatStack_c { - /* 8000D034 */ ~mDoMtx_quatStack_c(); -}; - struct JMath { static u8 sincosTable_[65536]; }; @@ -106,14 +67,6 @@ extern "C" void normalize__4cXyzFv(); extern "C" void normalizeRS__4cXyzFv(); extern "C" void cM_atan2s__Fff(); extern "C" void __dl__FPv(); -extern "C" void PSMTXIdentity(); -extern "C" void PSMTXCopy(); -extern "C" void PSMTXConcat(); -extern "C" void PSMTXTrans(); -extern "C" void PSMTXScale(); -extern "C" void PSMTXQuat(); -extern "C" void C_MTXLookAt(); -extern "C" void PSVECDotProduct(); extern "C" void __register_global_object(); extern "C" void _savegpr_29(); extern "C" void _restgpr_29(); @@ -126,44 +79,82 @@ extern "C" extern f32 G_CM3D_F_ABS_MIN[1 + 1 /* padding */]; // /* 8000C0CC-8000C164 006A0C 0098+00 1/1 0/0 0/0 .text mDoMtx_XYZrotS__FPA4_fsss */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void mDoMtx_XYZrotS(f32 (*param_0)[4], s16 param_1, s16 param_2, s16 param_3) { - nofralloc -#include "asm/m_Do/m_Do_mtx/mDoMtx_XYZrotS__FPA4_fsss.s" +void mDoMtx_XYZrotS(Mtx mtx, s16 x, s16 y, s16 z) { + Mtx tmp; + if (z != 0) { + mDoMtx_ZrotS(mtx, z); + } else { + PSMTXIdentity(mtx); + } + + if (y != 0) { + mDoMtx_YrotS(tmp, y); + PSMTXConcat(mtx, tmp, mtx); + } + + if (x != 0) { + mDoMtx_XrotS(tmp, x); + PSMTXConcat(mtx, tmp, mtx); + } } -#pragma pop /* 8000C164-8000C208 006AA4 00A4+00 1/1 8/8 13/13 .text mDoMtx_XYZrotM__FPA4_fsss */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void mDoMtx_XYZrotM(f32 (*param_0)[4], s16 param_1, s16 param_2, s16 param_3) { - nofralloc -#include "asm/m_Do/m_Do_mtx/mDoMtx_XYZrotM__FPA4_fsss.s" +void mDoMtx_XYZrotM(Mtx mtx, s16 x, s16 y, s16 z) { + Mtx tmp; + if (z != 0) { + mDoMtx_ZrotS(tmp, z); + PSMTXConcat(mtx, tmp, mtx); + } + + if (y != 0) { + mDoMtx_YrotS(tmp, y); + PSMTXConcat(mtx, tmp, mtx); + } + + if (x != 0) { + mDoMtx_XrotS(tmp, x); + PSMTXConcat(mtx, tmp, mtx); + } } -#pragma pop /* 8000C208-8000C2A0 006B48 0098+00 1/1 10/10 37/37 .text mDoMtx_ZXYrotS__FPA4_fsss */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void mDoMtx_ZXYrotS(f32 (*param_0)[4], s16 param_1, s16 param_2, s16 param_3) { - nofralloc -#include "asm/m_Do/m_Do_mtx/mDoMtx_ZXYrotS__FPA4_fsss.s" +void mDoMtx_ZXYrotS(Mtx mtx, s16 x, s16 y, s16 z) { + Mtx tmp; + if (y != 0) { + mDoMtx_YrotS(mtx, y); + } else { + PSMTXIdentity(mtx); + } + + if (x != 0) { + mDoMtx_XrotS(tmp, x); + PSMTXConcat(mtx, tmp, mtx); + } + + if (z != 0) { + mDoMtx_ZrotS(tmp, z); + PSMTXConcat(mtx, tmp, mtx); + } } -#pragma pop /* 8000C2A0-8000C344 006BE0 00A4+00 1/1 19/19 149/149 .text mDoMtx_ZXYrotM__FPA4_fsss */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void mDoMtx_ZXYrotM(f32 (*param_0)[4], s16 param_1, s16 param_2, s16 param_3) { - nofralloc -#include "asm/m_Do/m_Do_mtx/mDoMtx_ZXYrotM__FPA4_fsss.s" +void mDoMtx_ZXYrotM(Mtx mtx, s16 x, s16 y, s16 z) { + Mtx tmp; + if (y != 0) { + mDoMtx_YrotS(tmp, y); + PSMTXConcat(mtx, tmp, mtx); + } + + if (x != 0) { + mDoMtx_XrotS(tmp, x); + PSMTXConcat(mtx, tmp, mtx); + } + + if (z != 0) { + mDoMtx_ZrotS(tmp, z); + PSMTXConcat(mtx, tmp, mtx); + } } -#pragma pop /* ############################################################################################## */ /* 80451B08-80451B0C 000108 0004+00 6/6 0/0 0/0 .sdata2 @3676 */ @@ -188,14 +179,11 @@ asm void mDoMtx_XrotS(f32 (*param_0)[4], s16 param_1) { #pragma pop /* 8000C39C-8000C3DC 006CDC 0040+00 0/0 11/11 425/425 .text mDoMtx_XrotM__FPA4_fs */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void mDoMtx_XrotM(f32 (*param_0)[4], s16 param_1) { - nofralloc -#include "asm/m_Do/m_Do_mtx/mDoMtx_XrotM__FPA4_fs.s" +void mDoMtx_XrotM(Mtx mtx, s16 x) { + Mtx tmp; + mDoMtx_XrotS(tmp, x); + PSMTXConcat(mtx, tmp, mtx); } -#pragma pop /* 8000C3DC-8000C434 006D1C 0058+00 5/5 24/24 809/809 .text mDoMtx_YrotS__FPA4_fs */ #pragma push @@ -208,14 +196,11 @@ asm void mDoMtx_YrotS(f32 (*param_0)[4], s16 param_1) { #pragma pop /* 8000C434-8000C474 006D74 0040+00 0/0 44/44 775/775 .text mDoMtx_YrotM__FPA4_fs */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void mDoMtx_YrotM(f32 (*param_0)[4], s16 param_1) { - nofralloc -#include "asm/m_Do/m_Do_mtx/mDoMtx_YrotM__FPA4_fs.s" +void mDoMtx_YrotM(Mtx mtx, s16 y) { + Mtx tmp; + mDoMtx_YrotS(tmp, y); + PSMTXConcat(mtx, tmp, mtx); } -#pragma pop /* 8000C474-8000C4CC 006DB4 0058+00 7/7 1/1 6/6 .text mDoMtx_ZrotS__FPA4_fs */ #pragma push @@ -228,14 +213,11 @@ asm void mDoMtx_ZrotS(f32 (*param_0)[4], s16 param_1) { #pragma pop /* 8000C4CC-8000C50C 006E0C 0040+00 0/0 9/9 302/302 .text mDoMtx_ZrotM__FPA4_fs */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void mDoMtx_ZrotM(f32 (*param_0)[4], s16 param_1) { - nofralloc -#include "asm/m_Do/m_Do_mtx/mDoMtx_ZrotM__FPA4_fs.s" +void mDoMtx_ZrotM(Mtx mtx, s16 z) { + Mtx tmp; + mDoMtx_ZrotS(tmp, z); + PSMTXConcat(mtx, tmp, mtx); } -#pragma pop /* 8000C50C-8000C710 006E4C 0204+00 0/0 3/3 0/0 .text mDoMtx_lookAt__FPA4_fPC3VecPC3Vecs */ @@ -315,155 +297,118 @@ asm void mDoMtx_MtxToRot(f32 const (*param_0)[4], csXyz* param_1) { /* ############################################################################################## */ /* 803DD470-803DD4A0 00A190 0030+00 12/12 142/142 1820/1820 .bss now__14mDoMtx_stack_c */ -u8 mDoMtx_stack_c::now[48]; +Mtx mDoMtx_stack_c::now; /* 803DD4A0-803DD7A0 00A1C0 0300+00 2/2 0/0 0/0 .bss buffer__14mDoMtx_stack_c */ -u8 mDoMtx_stack_c::buffer[768]; +Mtx mDoMtx_stack_c::buffer[16]; /* 803DD7A0-803DD7AC 00A4C0 000C+00 1/1 0/0 0/0 .bss @4048 */ static u8 lit_4048[12]; /* 804505A8-804505AC -00001 0004+00 3/3 0/0 0/0 .sdata next__14mDoMtx_stack_c */ -SECTION_SDATA void* mDoMtx_stack_c::next = (void*)&mDoMtx_stack_c::buffer; +SECTION_SDATA Mtx* mDoMtx_stack_c::next = (Mtx*)&mDoMtx_stack_c::buffer; /* 804505AC-804505B0 -00001 0004+00 2/2 0/0 0/0 .sdata end__14mDoMtx_stack_c */ -SECTION_SDATA void* mDoMtx_stack_c::end = (void*)&lit_4048; +SECTION_SDATA Mtx* mDoMtx_stack_c::end = (Mtx*)&lit_4048; /* 8000CCC8-8000CD14 007608 004C+00 0/0 0/0 24/24 .text push__14mDoMtx_stack_cFv */ +// regalloc +#ifdef NONMATCHING +bool mDoMtx_stack_c::push() { + if (next >= end) { + return false; + } + next++; + PSMTXCopy(now, *next); + return true; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void mDoMtx_stack_c::push() { +asm bool mDoMtx_stack_c::push() { nofralloc #include "asm/m_Do/m_Do_mtx/push__14mDoMtx_stack_cFv.s" } #pragma pop +#endif /* 8000CD14-8000CD64 007654 0050+00 0/0 0/0 24/24 .text pop__14mDoMtx_stack_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void mDoMtx_stack_c::pop() { - nofralloc -#include "asm/m_Do/m_Do_mtx/pop__14mDoMtx_stack_cFv.s" +bool mDoMtx_stack_c::pop() { + if (next <= buffer) { + return false; + } + next--; + PSMTXCopy(*next, now); + return true; } -#pragma pop /* 8000CD64-8000CD9C 0076A4 0038+00 0/0 50/50 484/484 .text transS__14mDoMtx_stack_cFRC4cXyz */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void mDoMtx_stack_c::transS(cXyz const& param_0) { - nofralloc -#include "asm/m_Do/m_Do_mtx/transS__14mDoMtx_stack_cFRC4cXyz.s" +void mDoMtx_stack_c::transS(cXyz const& param_0) { + transS(param_0.x, param_0.y, param_0.z); } -#pragma pop /* 8000CD9C-8000CDD4 0076DC 0038+00 1/1 29/29 285/285 .text transM__14mDoMtx_stack_cFfff */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void mDoMtx_stack_c::transM(f32 param_0, f32 param_1, f32 param_2) { - nofralloc -#include "asm/m_Do/m_Do_mtx/transM__14mDoMtx_stack_cFfff.s" +void mDoMtx_stack_c::transM(f32 x, f32 y, f32 z) { + Mtx tmp; + PSMTXTrans(tmp, x, y, z); + PSMTXConcat(now, tmp, now); } -#pragma pop /* 8000CDD4-8000CE00 007714 002C+00 0/0 3/3 40/40 .text transM__14mDoMtx_stack_cFRC4cXyz */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void mDoMtx_stack_c::transM(cXyz const& param_0) { - nofralloc -#include "asm/m_Do/m_Do_mtx/transM__14mDoMtx_stack_cFRC4cXyz.s" +void mDoMtx_stack_c::transM(cXyz const& param_0) { + transM(param_0.x, param_0.y, param_0.z); } -#pragma pop /* 8000CE00-8000CE38 007740 0038+00 0/0 0/0 2/2 .text scaleS__14mDoMtx_stack_cFRC4cXyz */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void mDoMtx_stack_c::scaleS(cXyz const& param_0) { - nofralloc -#include "asm/m_Do/m_Do_mtx/scaleS__14mDoMtx_stack_cFRC4cXyz.s" +void mDoMtx_stack_c::scaleS(cXyz const& param_0) { + scaleS(param_0.x, param_0.y, param_0.z); } -#pragma pop /* 8000CE38-8000CE70 007778 0038+00 1/1 13/13 219/219 .text scaleM__14mDoMtx_stack_cFfff */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void mDoMtx_stack_c::scaleM(f32 param_0, f32 param_1, f32 param_2) { - nofralloc -#include "asm/m_Do/m_Do_mtx/scaleM__14mDoMtx_stack_cFfff.s" +void mDoMtx_stack_c::scaleM(f32 x, f32 y, f32 z) { + Mtx tmp; + PSMTXScale(tmp, x, y, z); + PSMTXConcat(now, tmp, now); } -#pragma pop /* 8000CE70-8000CE9C 0077B0 002C+00 0/0 7/7 79/79 .text scaleM__14mDoMtx_stack_cFRC4cXyz */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void mDoMtx_stack_c::scaleM(cXyz const& param_0) { - nofralloc -#include "asm/m_Do/m_Do_mtx/scaleM__14mDoMtx_stack_cFRC4cXyz.s" +void mDoMtx_stack_c::scaleM(cXyz const& param_0) { + scaleM(param_0.x, param_0.y, param_0.z); } -#pragma pop /* 8000CE9C-8000CED4 0077DC 0038+00 0/0 3/3 0/0 .text XYZrotS__14mDoMtx_stack_cFRC5csXyz */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void mDoMtx_stack_c::XYZrotS(csXyz const& param_0) { - nofralloc -#include "asm/m_Do/m_Do_mtx/XYZrotS__14mDoMtx_stack_cFRC5csXyz.s" +void mDoMtx_stack_c::XYZrotS(csXyz const& param_0) { + XYZrotS(param_0.x, param_0.y, param_0.z); } -#pragma pop /* 8000CED4-8000CF0C 007814 0038+00 0/0 1/1 4/4 .text XYZrotM__14mDoMtx_stack_cFRC5csXyz */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void mDoMtx_stack_c::XYZrotM(csXyz const& param_0) { - nofralloc -#include "asm/m_Do/m_Do_mtx/XYZrotM__14mDoMtx_stack_cFRC5csXyz.s" +void mDoMtx_stack_c::XYZrotM(csXyz const& param_0) { + XYZrotM(param_0.x, param_0.y, param_0.z); } -#pragma pop /* 8000CF0C-8000CF44 00784C 0038+00 0/0 5/5 43/43 .text ZXYrotS__14mDoMtx_stack_cFRC5csXyz */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void mDoMtx_stack_c::ZXYrotS(csXyz const& param_0) { - nofralloc -#include "asm/m_Do/m_Do_mtx/ZXYrotS__14mDoMtx_stack_cFRC5csXyz.s" +void mDoMtx_stack_c::ZXYrotS(csXyz const& param_0) { + ZXYrotS(param_0.x, param_0.y, param_0.z); } -#pragma pop /* 8000CF44-8000CF7C 007884 0038+00 0/0 24/24 250/250 .text ZXYrotM__14mDoMtx_stack_cFRC5csXyz */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void mDoMtx_stack_c::ZXYrotM(csXyz const& param_0) { - nofralloc -#include "asm/m_Do/m_Do_mtx/ZXYrotM__14mDoMtx_stack_cFRC5csXyz.s" +void mDoMtx_stack_c::ZXYrotM(csXyz const& param_0) { + ZXYrotM(param_0.x, param_0.y, param_0.z); } -#pragma pop /* 8000CF7C-8000CFB8 0078BC 003C+00 0/0 1/1 6/6 .text quatM__14mDoMtx_stack_cFPC10Quaternion */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void mDoMtx_stack_c::quatM(Quaternion const* param_0) { - nofralloc -#include "asm/m_Do/m_Do_mtx/quatM__14mDoMtx_stack_cFPC10Quaternion.s" +void mDoMtx_stack_c::quatM(Quaternion const* param_0) { + Mtx tmp; + PSMTXQuat(tmp, param_0); + PSMTXConcat(now, tmp, now); } -#pragma pop /* ############################################################################################## */ /* 803DD7AC-803DD7B8 00A4CC 000C+00 0/1 0/0 0/0 .bss @4078 */ @@ -593,3 +538,9 @@ SECTION_DATA extern u8 g_mDoMtx_identity[48 + 24 /* padding */] = { 0x00, 0x00, }; + +/* SECTION_DATA extern Mtx g_mDoMtx_identity = { + {1.0f, 0.0f, 0.0f, 0.0f}, + {0.0f, 1.0f, 0.0f, 0.0f}, + {0.0f, 0.0f, 1.0f, 0.0f}, +}; */ diff --git a/src/m_Do/m_Do_printf.cpp b/src/m_Do/m_Do_printf.cpp index ba6bd2e141..65b28ad9da 100644 --- a/src/m_Do/m_Do_printf.cpp +++ b/src/m_Do/m_Do_printf.cpp @@ -18,7 +18,7 @@ struct __va_list_struct {}; // extern "C" static void OSSwitchFiberEx__FUlUlUlUlUlUl(); -extern "C" static void my_PutString__FPCc(); +extern "C" void my_PutString__FPCc(); extern "C" static void OSVAttention__FPCcP16__va_list_struct(); extern "C" void OSAttention(); extern "C" void OSReportDisable(); @@ -50,10 +50,8 @@ extern "C" void OSDisableInterrupts(); extern "C" void OSRestoreInterrupts(); extern "C" void _savegpr_29(); extern "C" void _restgpr_29(); -extern "C" void fputs(); extern "C" void fflush(); extern "C" void vprintf(); -extern "C" extern void* __files[80]; extern "C" extern u8 struct_80450B98[4]; extern "C" extern u8 data_80450B9C[4]; @@ -73,14 +71,9 @@ static asm void OSSwitchFiberEx(u32 param_0, u32 param_1, u32 param_2, u32 param #pragma pop /* 800067C8-800067F4 001108 002C+00 3/3 0/0 0/0 .text my_PutString__FPCc */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void my_PutString(char const* param_0) { - nofralloc -#include "asm/m_Do/m_Do_printf/my_PutString__FPCc.s" +void my_PutString(const char* string) { + fputs(string, &__files.stdout); } -#pragma pop /* 800067F4-80006814 001134 0020+00 3/3 0/0 0/0 .text OSVAttention__FPCcP16__va_list_struct */ #pragma push @@ -175,7 +168,7 @@ asm void OSReportInit() { /* ############################################################################################## */ /* 803DB740-803DBF40 008460 0800+00 1/1 0/0 0/0 .bss mDoPrintf_FiberStack */ -static u8 mDoPrintf_FiberStack[2048]; +static u8 mDoPrintf_FiberStack[2048] ALIGN_DECL(32); /* 800068DC-80006964 00121C 0088+00 1/1 0/0 0/0 .text * mDoPrintf_vprintf_Interrupt__FPCcP16__va_list_struct */