diff --git a/Progress.md b/Progress.md index 86d76f988d0..d8256efaddb 100644 --- a/Progress.md +++ b/Progress.md @@ -7,22 +7,22 @@ Section | Percentage | Decompiled (bytes) | Total (bytes) .init | 97.972973% | 9280 | 9472 .extab | 100.000000% | 96 | 96 .extabindex | 100.000000% | 96 | 96 -.text | 24.500632% | 881176 | 3596544 +.text | 24.532440% | 882320 | 3596544 .ctors | 100.000000% | 448 | 448 .dtors | 100.000000% | 32 | 32 .rodata | 100.000000% | 193856 | 193856 .data | 100.000000% | 197632 | 197632 .sdata | 100.000000% | 1408 | 1408 .sdata2 | 100.000000% | 20832 | 20832 -Total | 32.460046% | 1305112 | 4020672 +Total | 32.488499% | 1306256 | 4020672 ## Total Section | Percentage | Decompiled (bytes) | Total (bytes) ---|---|---|--- -main.dol | 32.460046% | 1305112 | 4020672 -RELs | 33.222994% | 3820752 | 11500324 -Total | 33.025355% | 5125864 | 15520996 +main.dol | 32.488499% | 1306256 | 4020672 +RELs | 33.231064% | 3821680 | 11500324 +Total | 33.038704% | 5127936 | 15520996 ## RELs @@ -759,7 +759,7 @@ d_a_tag_rmbit_sw | 46.642468% | 1028 | 2204 d_a_tag_schedule | 100.000000% | 712 | 712 d_a_tag_setBall | 100.000000% | 880 | 880 d_a_tag_setrestart | 100.000000% | 1840 | 1840 -d_a_tag_shop_camera | 62.541806% | 748 | 1196 +d_a_tag_shop_camera | 100.000000% | 1196 | 1196 d_a_tag_shop_item | 41.944848% | 1156 | 2756 d_a_tag_smk_emt | 50.127226% | 788 | 1572 d_a_tag_spinner | 90.663900% | 1748 | 1928 @@ -771,7 +771,7 @@ d_a_tag_stream | 100.000000% | 1480 | 1480 d_a_tag_telop | 100.000000% | 1040 | 1040 d_a_tag_theB_hint | 100.000000% | 1136 | 1136 d_a_tag_wara_howl | 100.000000% | 1420 | 1420 -d_a_tag_watchge | 61.290323% | 760 | 1240 +d_a_tag_watchge | 100.000000% | 1240 | 1240 d_a_tag_waterfall | 46.361502% | 1580 | 3408 d_a_tag_wljump | 30.777538% | 1140 | 3704 d_a_tag_yami | 42.650334% | 1532 | 3592 @@ -785,4 +785,4 @@ d_a_vrbox2 | 34.977578% | 2184 | 6244 d_a_warp_bug | 54.940711% | 1112 | 2024 d_a_ykgr | 44.400631% | 2252 | 5072 f_pc_profile_lst | 100.000000% | 28156 | 28156 -Total | 33.222994% | 3820752 | 11500324 +Total | 33.231064% | 3821680 | 11500324 diff --git a/asm/JSystem/JUtility/JUTFader/control__8JUTFaderFv.s b/asm/JSystem/JUtility/JUTFader/control__8JUTFaderFv.s deleted file mode 100644 index 14835020a0f..00000000000 --- a/asm/JSystem/JUtility/JUTFader/control__8JUTFaderFv.s +++ /dev/null @@ -1,72 +0,0 @@ -lbl_802E55DC: -/* 802E55DC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802E55E0 7C 08 02 A6 */ mflr r0 -/* 802E55E4 90 01 00 14 */ stw r0, 0x14(r1) -/* 802E55E8 80 83 00 20 */ lwz r4, 0x20(r3) -/* 802E55EC 2C 04 00 00 */ cmpwi r4, 0 -/* 802E55F0 41 80 00 18 */ blt lbl_802E5608 -/* 802E55F4 38 04 FF FF */ addi r0, r4, -1 -/* 802E55F8 90 03 00 20 */ stw r0, 0x20(r3) -/* 802E55FC 40 82 00 0C */ bne lbl_802E5608 -/* 802E5600 80 03 00 24 */ lwz r0, 0x24(r3) -/* 802E5604 90 03 00 04 */ stw r0, 4(r3) -lbl_802E5608: -/* 802E5608 80 03 00 04 */ lwz r0, 4(r3) -/* 802E560C 2C 00 00 01 */ cmpwi r0, 1 -/* 802E5610 41 82 00 BC */ beq lbl_802E56CC -/* 802E5614 2C 00 00 02 */ cmpwi r0, 2 -/* 802E5618 41 82 00 2C */ beq lbl_802E5644 -/* 802E561C 40 80 00 10 */ bge lbl_802E562C -/* 802E5620 2C 00 00 00 */ cmpwi r0, 0 -/* 802E5624 41 82 00 14 */ beq lbl_802E5638 -/* 802E5628 48 00 00 94 */ b lbl_802E56BC -lbl_802E562C: -/* 802E562C 2C 00 00 04 */ cmpwi r0, 4 -/* 802E5630 40 80 00 8C */ bge lbl_802E56BC -/* 802E5634 48 00 00 50 */ b lbl_802E5684 -lbl_802E5638: -/* 802E5638 38 00 00 FF */ li r0, 0xff -/* 802E563C 98 03 00 0F */ stb r0, 0xf(r3) -/* 802E5640 48 00 00 7C */ b lbl_802E56BC -lbl_802E5644: -/* 802E5644 A0 83 00 0A */ lhz r4, 0xa(r3) -/* 802E5648 38 04 00 01 */ addi r0, r4, 1 -/* 802E564C B0 03 00 0A */ sth r0, 0xa(r3) -/* 802E5650 54 00 04 3E */ clrlwi r0, r0, 0x10 -/* 802E5654 1C 80 00 FF */ mulli r4, r0, 0xff -/* 802E5658 A0 03 00 08 */ lhz r0, 8(r3) -/* 802E565C 7C 04 03 D6 */ divw r0, r4, r0 -/* 802E5660 20 00 00 FF */ subfic r0, r0, 0xff -/* 802E5664 98 03 00 0F */ stb r0, 0xf(r3) -/* 802E5668 A0 83 00 0A */ lhz r4, 0xa(r3) -/* 802E566C A0 03 00 08 */ lhz r0, 8(r3) -/* 802E5670 7C 04 00 40 */ cmplw r4, r0 -/* 802E5674 41 80 00 48 */ blt lbl_802E56BC -/* 802E5678 38 00 00 01 */ li r0, 1 -/* 802E567C 90 03 00 04 */ stw r0, 4(r3) -/* 802E5680 48 00 00 3C */ b lbl_802E56BC -lbl_802E5684: -/* 802E5684 A0 83 00 0A */ lhz r4, 0xa(r3) -/* 802E5688 38 04 00 01 */ addi r0, r4, 1 -/* 802E568C B0 03 00 0A */ sth r0, 0xa(r3) -/* 802E5690 54 00 04 3E */ clrlwi r0, r0, 0x10 -/* 802E5694 1C 80 00 FF */ mulli r4, r0, 0xff -/* 802E5698 A0 03 00 08 */ lhz r0, 8(r3) -/* 802E569C 7C 04 03 D6 */ divw r0, r4, r0 -/* 802E56A0 98 03 00 0F */ stb r0, 0xf(r3) -/* 802E56A4 A0 83 00 0A */ lhz r4, 0xa(r3) -/* 802E56A8 A0 03 00 08 */ lhz r0, 8(r3) -/* 802E56AC 7C 04 00 40 */ cmplw r4, r0 -/* 802E56B0 41 80 00 0C */ blt lbl_802E56BC -/* 802E56B4 38 00 00 00 */ li r0, 0 -/* 802E56B8 90 03 00 04 */ stw r0, 4(r3) -lbl_802E56BC: -/* 802E56BC 81 83 00 00 */ lwz r12, 0(r3) -/* 802E56C0 81 8C 00 14 */ lwz r12, 0x14(r12) -/* 802E56C4 7D 89 03 A6 */ mtctr r12 -/* 802E56C8 4E 80 04 21 */ bctrl -lbl_802E56CC: -/* 802E56CC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802E56D0 7C 08 03 A6 */ mtlr r0 -/* 802E56D4 38 21 00 10 */ addi r1, r1, 0x10 -/* 802E56D8 4E 80 00 20 */ blr diff --git a/asm/JSystem/JUtility/JUTFader/draw__8JUTFaderFv.s b/asm/JSystem/JUtility/JUTFader/draw__8JUTFaderFv.s deleted file mode 100644 index 297ad9e5c4f..00000000000 --- a/asm/JSystem/JUtility/JUTFader/draw__8JUTFaderFv.s +++ /dev/null @@ -1,38 +0,0 @@ -lbl_802E56DC: -/* 802E56DC 94 21 FF 00 */ stwu r1, -0x100(r1) -/* 802E56E0 7C 08 02 A6 */ mflr r0 -/* 802E56E4 90 01 01 04 */ stw r0, 0x104(r1) -/* 802E56E8 93 E1 00 FC */ stw r31, 0xfc(r1) -/* 802E56EC 7C 7F 1B 78 */ mr r31, r3 -/* 802E56F0 88 03 00 0F */ lbz r0, 0xf(r3) -/* 802E56F4 28 00 00 00 */ cmplwi r0, 0 -/* 802E56F8 41 82 00 60 */ beq lbl_802E5758 -/* 802E56FC 38 61 00 1C */ addi r3, r1, 0x1c -/* 802E5700 48 00 3F 71 */ bl __ct__13J2DOrthoGraphFv -/* 802E5704 80 1F 00 0C */ lwz r0, 0xc(r31) -/* 802E5708 90 01 00 18 */ stw r0, 0x18(r1) -/* 802E570C 90 01 00 14 */ stw r0, 0x14(r1) -/* 802E5710 90 01 00 10 */ stw r0, 0x10(r1) -/* 802E5714 90 01 00 0C */ stw r0, 0xc(r1) -/* 802E5718 90 01 00 08 */ stw r0, 8(r1) -/* 802E571C 38 61 00 1C */ addi r3, r1, 0x1c -/* 802E5720 38 81 00 08 */ addi r4, r1, 8 -/* 802E5724 38 A1 00 0C */ addi r5, r1, 0xc -/* 802E5728 38 C1 00 10 */ addi r6, r1, 0x10 -/* 802E572C 38 E1 00 14 */ addi r7, r1, 0x14 -/* 802E5730 48 00 39 E9 */ bl setColor__14J2DGrafContextFQ28JUtility6TColorQ28JUtility6TColorQ28JUtility6TColorQ28JUtility6TColor -/* 802E5734 38 61 00 1C */ addi r3, r1, 0x1c -/* 802E5738 38 9F 00 10 */ addi r4, r31, 0x10 -/* 802E573C 48 00 3B 25 */ bl func_802E9260 -/* 802E5740 3C 60 80 3D */ lis r3, __vt__13J2DOrthoGraph@ha /* 0x803CC9E0@ha */ -/* 802E5744 38 03 C9 E0 */ addi r0, r3, __vt__13J2DOrthoGraph@l /* 0x803CC9E0@l */ -/* 802E5748 90 01 00 1C */ stw r0, 0x1c(r1) -/* 802E574C 3C 60 80 3D */ lis r3, __vt__14J2DGrafContext@ha /* 0x803CC9B8@ha */ -/* 802E5750 38 03 C9 B8 */ addi r0, r3, __vt__14J2DGrafContext@l /* 0x803CC9B8@l */ -/* 802E5754 90 01 00 1C */ stw r0, 0x1c(r1) -lbl_802E5758: -/* 802E5758 83 E1 00 FC */ lwz r31, 0xfc(r1) -/* 802E575C 80 01 01 04 */ lwz r0, 0x104(r1) -/* 802E5760 7C 08 03 A6 */ mtlr r0 -/* 802E5764 38 21 01 00 */ addi r1, r1, 0x100 -/* 802E5768 4E 80 00 20 */ blr diff --git a/asm/JSystem/JUtility/JUTFader/setStatus__8JUTFaderFQ28JUTFader7EStatusi.s b/asm/JSystem/JUtility/JUTFader/setStatus__8JUTFaderFQ28JUTFader7EStatusi.s deleted file mode 100644 index e0a6d7090a5..00000000000 --- a/asm/JSystem/JUtility/JUTFader/setStatus__8JUTFaderFQ28JUTFader7EStatusi.s +++ /dev/null @@ -1,32 +0,0 @@ -lbl_802E57D0: -/* 802E57D0 2C 04 00 01 */ cmpwi r4, 1 -/* 802E57D4 41 82 00 3C */ beq lbl_802E5810 -/* 802E57D8 4C 80 00 20 */ bgelr -/* 802E57DC 2C 04 00 00 */ cmpwi r4, 0 -/* 802E57E0 4D 80 00 20 */ bltlr -/* 802E57E4 2C 05 00 00 */ cmpwi r5, 0 -/* 802E57E8 41 82 00 14 */ beq lbl_802E57FC -/* 802E57EC 38 00 00 00 */ li r0, 0 -/* 802E57F0 90 03 00 24 */ stw r0, 0x24(r3) -/* 802E57F4 90 A3 00 20 */ stw r5, 0x20(r3) -/* 802E57F8 4E 80 00 20 */ blr -lbl_802E57FC: -/* 802E57FC 38 00 00 00 */ li r0, 0 -/* 802E5800 90 03 00 04 */ stw r0, 4(r3) -/* 802E5804 90 03 00 24 */ stw r0, 0x24(r3) -/* 802E5808 90 03 00 20 */ stw r0, 0x20(r3) -/* 802E580C 4E 80 00 20 */ blr -lbl_802E5810: -/* 802E5810 2C 05 00 00 */ cmpwi r5, 0 -/* 802E5814 41 82 00 14 */ beq lbl_802E5828 -/* 802E5818 38 00 00 01 */ li r0, 1 -/* 802E581C 90 03 00 24 */ stw r0, 0x24(r3) -/* 802E5820 90 A3 00 20 */ stw r5, 0x20(r3) -/* 802E5824 4E 80 00 20 */ blr -lbl_802E5828: -/* 802E5828 38 00 00 01 */ li r0, 1 -/* 802E582C 90 03 00 04 */ stw r0, 4(r3) -/* 802E5830 90 03 00 24 */ stw r0, 0x24(r3) -/* 802E5834 38 00 00 00 */ li r0, 0 -/* 802E5838 90 03 00 20 */ stw r0, 0x20(r3) -/* 802E583C 4E 80 00 20 */ blr diff --git a/asm/JSystem/JUtility/JUTResFont/convertSjis__10JUTResFontCFiPUs.s b/asm/JSystem/JUtility/JUTResFont/convertSjis__10JUTResFontCFiPUs.s deleted file mode 100644 index 46529df7b2c..00000000000 --- a/asm/JSystem/JUtility/JUTResFont/convertSjis__10JUTResFontCFiPUs.s +++ /dev/null @@ -1,20 +0,0 @@ -lbl_802E00C4: -/* 802E00C4 54 86 C6 3E */ rlwinm r6, r4, 0x18, 0x18, 0x1f -/* 802E00C8 54 83 06 3E */ clrlwi r3, r4, 0x18 -/* 802E00CC 38 E3 FF C0 */ addi r7, r3, -64 -/* 802E00D0 2C 07 00 40 */ cmpwi r7, 0x40 -/* 802E00D4 41 80 00 08 */ blt lbl_802E00DC -/* 802E00D8 38 E7 FF FF */ addi r7, r7, -1 -lbl_802E00DC: -/* 802E00DC 38 00 03 1C */ li r0, 0x31c -/* 802E00E0 28 05 00 00 */ cmplwi r5, 0 -/* 802E00E4 41 82 00 08 */ beq lbl_802E00EC -/* 802E00E8 A0 05 00 00 */ lhz r0, 0(r5) -lbl_802E00EC: -/* 802E00EC 54 04 04 3E */ clrlwi r4, r0, 0x10 -/* 802E00F0 38 06 FF 78 */ addi r0, r6, -136 -/* 802E00F4 1C 60 00 BC */ mulli r3, r0, 0xbc -/* 802E00F8 38 03 FF A2 */ addi r0, r3, -94 -/* 802E00FC 7C 60 22 14 */ add r3, r0, r4 -/* 802E0100 7C 67 1A 14 */ add r3, r7, r3 -/* 802E0104 4E 80 00 20 */ blr diff --git a/asm/JSystem/JUtility/JUTResFont/getCellWidth__10JUTResFontCFv.s b/asm/JSystem/JUtility/JUTResFont/getCellWidth__10JUTResFontCFv.s deleted file mode 100644 index a82085d9864..00000000000 --- a/asm/JSystem/JUtility/JUTResFont/getCellWidth__10JUTResFontCFv.s +++ /dev/null @@ -1,22 +0,0 @@ -lbl_802DFD0C: -/* 802DFD0C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802DFD10 7C 08 02 A6 */ mflr r0 -/* 802DFD14 90 01 00 14 */ stw r0, 0x14(r1) -/* 802DFD18 80 83 00 58 */ lwz r4, 0x58(r3) -/* 802DFD1C 28 04 00 00 */ cmplwi r4, 0 -/* 802DFD20 41 82 00 18 */ beq lbl_802DFD38 -/* 802DFD24 80 84 00 00 */ lwz r4, 0(r4) -/* 802DFD28 28 04 00 00 */ cmplwi r4, 0 -/* 802DFD2C 41 82 00 0C */ beq lbl_802DFD38 -/* 802DFD30 A0 64 00 0C */ lhz r3, 0xc(r4) -/* 802DFD34 48 00 00 14 */ b lbl_802DFD48 -lbl_802DFD38: -/* 802DFD38 81 83 00 00 */ lwz r12, 0(r3) -/* 802DFD3C 81 8C 00 28 */ lwz r12, 0x28(r12) -/* 802DFD40 7D 89 03 A6 */ mtctr r12 -/* 802DFD44 4E 80 04 21 */ bctrl -lbl_802DFD48: -/* 802DFD48 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802DFD4C 7C 08 03 A6 */ mtlr r0 -/* 802DFD50 38 21 00 10 */ addi r1, r1, 0x10 -/* 802DFD54 4E 80 00 20 */ blr diff --git a/asm/JSystem/JUtility/JUTResFont/getWidthEntry__10JUTResFontCFiPQ27JUTFont6TWidth.s b/asm/JSystem/JUtility/JUTResFont/getWidthEntry__10JUTResFontCFiPQ27JUTFont6TWidth.s deleted file mode 100644 index 2f8d2972728..00000000000 --- a/asm/JSystem/JUtility/JUTResFont/getWidthEntry__10JUTResFontCFiPQ27JUTFont6TWidth.s +++ /dev/null @@ -1,46 +0,0 @@ -lbl_802DFC64: -/* 802DFC64 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802DFC68 7C 08 02 A6 */ mflr r0 -/* 802DFC6C 90 01 00 14 */ stw r0, 0x14(r1) -/* 802DFC70 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802DFC74 93 C1 00 08 */ stw r30, 8(r1) -/* 802DFC78 7C 7E 1B 78 */ mr r30, r3 -/* 802DFC7C 7C BF 2B 78 */ mr r31, r5 -/* 802DFC80 48 00 01 59 */ bl getFontCode__10JUTResFontCFi -/* 802DFC84 38 A0 00 00 */ li r5, 0 -/* 802DFC88 98 BF 00 00 */ stb r5, 0(r31) -/* 802DFC8C 80 9E 00 4C */ lwz r4, 0x4c(r30) -/* 802DFC90 A0 04 00 0E */ lhz r0, 0xe(r4) -/* 802DFC94 98 1F 00 01 */ stb r0, 1(r31) -/* 802DFC98 A0 1E 00 60 */ lhz r0, 0x60(r30) -/* 802DFC9C 80 9E 00 54 */ lwz r4, 0x54(r30) -/* 802DFCA0 7C 09 03 A6 */ mtctr r0 -/* 802DFCA4 2C 00 00 00 */ cmpwi r0, 0 -/* 802DFCA8 40 81 00 4C */ ble lbl_802DFCF4 -lbl_802DFCAC: -/* 802DFCAC 7C C4 28 2E */ lwzx r6, r4, r5 -/* 802DFCB0 A0 E6 00 08 */ lhz r7, 8(r6) -/* 802DFCB4 7C 07 18 00 */ cmpw r7, r3 -/* 802DFCB8 41 81 00 34 */ bgt lbl_802DFCEC -/* 802DFCBC A0 06 00 0A */ lhz r0, 0xa(r6) -/* 802DFCC0 7C 03 00 00 */ cmpw r3, r0 -/* 802DFCC4 41 81 00 28 */ bgt lbl_802DFCEC -/* 802DFCC8 7C 07 18 50 */ subf r0, r7, r3 -/* 802DFCCC 54 03 08 3C */ slwi r3, r0, 1 -/* 802DFCD0 38 63 00 0C */ addi r3, r3, 0xc -/* 802DFCD4 7C 66 1A 14 */ add r3, r6, r3 -/* 802DFCD8 88 03 00 00 */ lbz r0, 0(r3) -/* 802DFCDC 98 1F 00 00 */ stb r0, 0(r31) -/* 802DFCE0 88 03 00 01 */ lbz r0, 1(r3) -/* 802DFCE4 98 1F 00 01 */ stb r0, 1(r31) -/* 802DFCE8 48 00 00 0C */ b lbl_802DFCF4 -lbl_802DFCEC: -/* 802DFCEC 38 A5 00 04 */ addi r5, r5, 4 -/* 802DFCF0 42 00 FF BC */ bdnz lbl_802DFCAC -lbl_802DFCF4: -/* 802DFCF4 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802DFCF8 83 C1 00 08 */ lwz r30, 8(r1) -/* 802DFCFC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802DFD00 7C 08 03 A6 */ mtlr r0 -/* 802DFD04 38 21 00 10 */ addi r1, r1, 0x10 -/* 802DFD08 4E 80 00 20 */ blr diff --git a/asm/JSystem/JUtility/JUTResFont/isLeadByte__10JUTResFontCFi.s b/asm/JSystem/JUtility/JUTResFont/isLeadByte__10JUTResFontCFi.s deleted file mode 100644 index 9c8ba55936f..00000000000 --- a/asm/JSystem/JUtility/JUTResFont/isLeadByte__10JUTResFontCFi.s +++ /dev/null @@ -1,14 +0,0 @@ -lbl_802DFDA4: -/* 802DFDA4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802DFDA8 7C 08 02 A6 */ mflr r0 -/* 802DFDAC 90 01 00 14 */ stw r0, 0x14(r1) -/* 802DFDB0 7C 65 1B 78 */ mr r5, r3 -/* 802DFDB4 7C 83 23 78 */ mr r3, r4 -/* 802DFDB8 80 85 00 6C */ lwz r4, 0x6c(r5) -/* 802DFDBC 81 84 00 00 */ lwz r12, 0(r4) -/* 802DFDC0 7D 89 03 A6 */ mtctr r12 -/* 802DFDC4 4E 80 04 21 */ bctrl -/* 802DFDC8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802DFDCC 7C 08 03 A6 */ mtlr r0 -/* 802DFDD0 38 21 00 10 */ addi r1, r1, 0x10 -/* 802DFDD4 4E 80 00 20 */ blr diff --git a/asm/JSystem/JUtility/JUTResFont/protected_initiate__10JUTResFontFPC7ResFONTP7JKRHeap.s b/asm/JSystem/JUtility/JUTResFont/protected_initiate__10JUTResFontFPC7ResFONTP7JKRHeap.s deleted file mode 100644 index 4c5116ddd4b..00000000000 --- a/asm/JSystem/JUtility/JUTResFont/protected_initiate__10JUTResFontFPC7ResFONTP7JKRHeap.s +++ /dev/null @@ -1,74 +0,0 @@ -lbl_802DF13C: -/* 802DF13C 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802DF140 7C 08 02 A6 */ mflr r0 -/* 802DF144 90 01 00 24 */ stw r0, 0x24(r1) -/* 802DF148 39 61 00 20 */ addi r11, r1, 0x20 -/* 802DF14C 48 08 30 91 */ bl _savegpr_29 -/* 802DF150 7C 7D 1B 78 */ mr r29, r3 -/* 802DF154 7C 9E 23 78 */ mr r30, r4 -/* 802DF158 7C BF 2B 78 */ mr r31, r5 -/* 802DF15C 4B FF FF 31 */ bl deleteMemBlocks_ResFont__10JUTResFontFv -/* 802DF160 7F A3 EB 78 */ mr r3, r29 -/* 802DF164 4B FF FF 4D */ bl initialize_state__10JUTResFontFv -/* 802DF168 7F A3 EB 78 */ mr r3, r29 -/* 802DF16C 4B FF FB B9 */ bl initialize_state__7JUTFontFv -/* 802DF170 28 1E 00 00 */ cmplwi r30, 0 -/* 802DF174 40 82 00 0C */ bne lbl_802DF180 -/* 802DF178 38 60 00 00 */ li r3, 0 -/* 802DF17C 48 00 00 B4 */ b lbl_802DF230 -lbl_802DF180: -/* 802DF180 93 DD 00 48 */ stw r30, 0x48(r29) -/* 802DF184 38 00 00 01 */ li r0, 1 -/* 802DF188 98 1D 00 04 */ stb r0, 4(r29) -/* 802DF18C 7F A3 EB 78 */ mr r3, r29 -/* 802DF190 48 00 00 B9 */ bl countBlock__10JUTResFontFv -/* 802DF194 A0 9D 00 64 */ lhz r4, 0x64(r29) -/* 802DF198 A0 7D 00 60 */ lhz r3, 0x60(r29) -/* 802DF19C A0 1D 00 62 */ lhz r0, 0x62(r29) -/* 802DF1A0 7C 00 22 14 */ add r0, r0, r4 -/* 802DF1A4 7C 03 02 14 */ add r0, r3, r0 -/* 802DF1A8 54 03 10 3A */ slwi r3, r0, 2 -/* 802DF1AC 7F E4 FB 78 */ mr r4, r31 -/* 802DF1B0 38 A0 00 00 */ li r5, 0 -/* 802DF1B4 4B FE FB 5D */ bl __nwa__FUlP7JKRHeapi -/* 802DF1B8 90 7D 00 50 */ stw r3, 0x50(r29) -/* 802DF1BC 80 7D 00 50 */ lwz r3, 0x50(r29) -/* 802DF1C0 28 03 00 00 */ cmplwi r3, 0 -/* 802DF1C4 40 82 00 0C */ bne lbl_802DF1D0 -/* 802DF1C8 38 60 00 00 */ li r3, 0 -/* 802DF1CC 48 00 00 64 */ b lbl_802DF230 -lbl_802DF1D0: -/* 802DF1D0 A0 1D 00 60 */ lhz r0, 0x60(r29) -/* 802DF1D4 28 00 00 00 */ cmplwi r0, 0 -/* 802DF1D8 41 82 00 14 */ beq lbl_802DF1EC -/* 802DF1DC 90 7D 00 54 */ stw r3, 0x54(r29) -/* 802DF1E0 A0 1D 00 60 */ lhz r0, 0x60(r29) -/* 802DF1E4 54 00 10 3A */ slwi r0, r0, 2 -/* 802DF1E8 7C 63 02 14 */ add r3, r3, r0 -lbl_802DF1EC: -/* 802DF1EC A0 1D 00 62 */ lhz r0, 0x62(r29) -/* 802DF1F0 28 00 00 00 */ cmplwi r0, 0 -/* 802DF1F4 41 82 00 14 */ beq lbl_802DF208 -/* 802DF1F8 90 7D 00 58 */ stw r3, 0x58(r29) -/* 802DF1FC A0 1D 00 62 */ lhz r0, 0x62(r29) -/* 802DF200 54 00 10 3A */ slwi r0, r0, 2 -/* 802DF204 7C 63 02 14 */ add r3, r3, r0 -lbl_802DF208: -/* 802DF208 A0 1D 00 64 */ lhz r0, 0x64(r29) -/* 802DF20C 28 00 00 00 */ cmplwi r0, 0 -/* 802DF210 41 82 00 08 */ beq lbl_802DF218 -/* 802DF214 90 7D 00 5C */ stw r3, 0x5c(r29) -lbl_802DF218: -/* 802DF218 7F A3 EB 78 */ mr r3, r29 -/* 802DF21C 81 9D 00 00 */ lwz r12, 0(r29) -/* 802DF220 81 8C 00 48 */ lwz r12, 0x48(r12) -/* 802DF224 7D 89 03 A6 */ mtctr r12 -/* 802DF228 4E 80 04 21 */ bctrl -/* 802DF22C 38 60 00 01 */ li r3, 1 -lbl_802DF230: -/* 802DF230 39 61 00 20 */ addi r11, r1, 0x20 -/* 802DF234 48 08 2F F5 */ bl _restgpr_29 -/* 802DF238 80 01 00 24 */ lwz r0, 0x24(r1) -/* 802DF23C 7C 08 03 A6 */ mtlr r0 -/* 802DF240 38 21 00 20 */ addi r1, r1, 0x20 -/* 802DF244 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_shop_camera/d_a_tag_shop_camera/__dt__18daTag_ShopCamera_cFv.s b/asm/rel/d/a/tag/d_a_tag_shop_camera/d_a_tag_shop_camera/__dt__18daTag_ShopCamera_cFv.s deleted file mode 100644 index 0bbbddead1b..00000000000 --- a/asm/rel/d/a/tag/d_a_tag_shop_camera/d_a_tag_shop_camera/__dt__18daTag_ShopCamera_cFv.s +++ /dev/null @@ -1,26 +0,0 @@ -lbl_80D60A18: -/* 80D60A18 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80D60A1C 7C 08 02 A6 */ mflr r0 -/* 80D60A20 90 01 00 14 */ stw r0, 0x14(r1) -/* 80D60A24 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80D60A28 93 C1 00 08 */ stw r30, 8(r1) -/* 80D60A2C 7C 7E 1B 79 */ or. r30, r3, r3 -/* 80D60A30 7C 9F 23 78 */ mr r31, r4 -/* 80D60A34 41 82 00 28 */ beq lbl_80D60A5C -/* 80D60A38 3C 80 80 D6 */ lis r4, __vt__18daTag_ShopCamera_c@ha /* 0x80D60AE0@ha */ -/* 80D60A3C 38 04 0A E0 */ addi r0, r4, __vt__18daTag_ShopCamera_c@l /* 0x80D60AE0@l */ -/* 80D60A40 90 1E 05 68 */ stw r0, 0x568(r30) -/* 80D60A44 38 80 00 00 */ li r4, 0 -/* 80D60A48 4B 2B 82 45 */ bl __dt__10fopAc_ac_cFv -/* 80D60A4C 7F E0 07 35 */ extsh. r0, r31 -/* 80D60A50 40 81 00 0C */ ble lbl_80D60A5C -/* 80D60A54 7F C3 F3 78 */ mr r3, r30 -/* 80D60A58 4B 56 E2 E5 */ bl __dl__FPv -lbl_80D60A5C: -/* 80D60A5C 7F C3 F3 78 */ mr r3, r30 -/* 80D60A60 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80D60A64 83 C1 00 08 */ lwz r30, 8(r1) -/* 80D60A68 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80D60A6C 7C 08 03 A6 */ mtlr r0 -/* 80D60A70 38 21 00 10 */ addi r1, r1, 0x10 -/* 80D60A74 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_shop_camera/d_a_tag_shop_camera/create__18daTag_ShopCamera_cFv.s b/asm/rel/d/a/tag/d_a_tag_shop_camera/d_a_tag_shop_camera/create__18daTag_ShopCamera_cFv.s deleted file mode 100644 index fd2c28f3af2..00000000000 --- a/asm/rel/d/a/tag/d_a_tag_shop_camera/d_a_tag_shop_camera/create__18daTag_ShopCamera_cFv.s +++ /dev/null @@ -1,28 +0,0 @@ -lbl_80D60898: -/* 80D60898 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80D6089C 7C 08 02 A6 */ mflr r0 -/* 80D608A0 90 01 00 14 */ stw r0, 0x14(r1) -/* 80D608A4 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80D608A8 7C 7F 1B 78 */ mr r31, r3 -/* 80D608AC 80 03 04 A0 */ lwz r0, 0x4a0(r3) -/* 80D608B0 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c -/* 80D608B4 40 82 00 28 */ bne lbl_80D608DC -/* 80D608B8 28 1F 00 00 */ cmplwi r31, 0 -/* 80D608BC 41 82 00 14 */ beq lbl_80D608D0 -/* 80D608C0 4B 2B 82 A5 */ bl __ct__10fopAc_ac_cFv -/* 80D608C4 3C 60 80 D6 */ lis r3, __vt__18daTag_ShopCamera_c@ha /* 0x80D60AE0@ha */ -/* 80D608C8 38 03 0A E0 */ addi r0, r3, __vt__18daTag_ShopCamera_c@l /* 0x80D60AE0@l */ -/* 80D608CC 90 1F 05 68 */ stw r0, 0x568(r31) -lbl_80D608D0: -/* 80D608D0 80 1F 04 A0 */ lwz r0, 0x4a0(r31) -/* 80D608D4 60 00 00 08 */ ori r0, r0, 8 -/* 80D608D8 90 1F 04 A0 */ stw r0, 0x4a0(r31) -lbl_80D608DC: -/* 80D608DC 7F E3 FB 78 */ mr r3, r31 -/* 80D608E0 48 00 00 35 */ bl initialize__18daTag_ShopCamera_cFv -/* 80D608E4 38 60 00 04 */ li r3, 4 -/* 80D608E8 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80D608EC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80D608F0 7C 08 03 A6 */ mtlr r0 -/* 80D608F4 38 21 00 10 */ addi r1, r1, 0x10 -/* 80D608F8 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_shop_camera/d_a_tag_shop_camera/daTag_ShopCamera_Create__FPv.s b/asm/rel/d/a/tag/d_a_tag_shop_camera/d_a_tag_shop_camera/daTag_ShopCamera_Create__FPv.s deleted file mode 100644 index db50a5fb2ad..00000000000 --- a/asm/rel/d/a/tag/d_a_tag_shop_camera/d_a_tag_shop_camera/daTag_ShopCamera_Create__FPv.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_80D60990: -/* 80D60990 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80D60994 7C 08 02 A6 */ mflr r0 -/* 80D60998 90 01 00 14 */ stw r0, 0x14(r1) -/* 80D6099C 4B FF FE FD */ bl create__18daTag_ShopCamera_cFv -/* 80D609A0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80D609A4 7C 08 03 A6 */ mtlr r0 -/* 80D609A8 38 21 00 10 */ addi r1, r1, 0x10 -/* 80D609AC 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_shop_camera/d_a_tag_shop_camera/daTag_ShopCamera_Delete__FPv.s b/asm/rel/d/a/tag/d_a_tag_shop_camera/d_a_tag_shop_camera/daTag_ShopCamera_Delete__FPv.s deleted file mode 100644 index e384ad05182..00000000000 --- a/asm/rel/d/a/tag/d_a_tag_shop_camera/d_a_tag_shop_camera/daTag_ShopCamera_Delete__FPv.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_80D609B0: -/* 80D609B0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80D609B4 7C 08 02 A6 */ mflr r0 -/* 80D609B8 90 01 00 14 */ stw r0, 0x14(r1) -/* 80D609BC 4B FF FF 41 */ bl Delete__18daTag_ShopCamera_cFv -/* 80D609C0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80D609C4 7C 08 03 A6 */ mtlr r0 -/* 80D609C8 38 21 00 10 */ addi r1, r1, 0x10 -/* 80D609CC 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_shop_camera/d_a_tag_shop_camera/daTag_ShopCamera_Draw__FPv.s b/asm/rel/d/a/tag/d_a_tag_shop_camera/d_a_tag_shop_camera/daTag_ShopCamera_Draw__FPv.s deleted file mode 100644 index 91c42966c03..00000000000 --- a/asm/rel/d/a/tag/d_a_tag_shop_camera/d_a_tag_shop_camera/daTag_ShopCamera_Draw__FPv.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_80D609F0: -/* 80D609F0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80D609F4 7C 08 02 A6 */ mflr r0 -/* 80D609F8 90 01 00 14 */ stw r0, 0x14(r1) -/* 80D609FC 4B FF FF 11 */ bl Draw__18daTag_ShopCamera_cFv -/* 80D60A00 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80D60A04 7C 08 03 A6 */ mtlr r0 -/* 80D60A08 38 21 00 10 */ addi r1, r1, 0x10 -/* 80D60A0C 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_shop_camera/d_a_tag_shop_camera/daTag_ShopCamera_Execute__FPv.s b/asm/rel/d/a/tag/d_a_tag_shop_camera/d_a_tag_shop_camera/daTag_ShopCamera_Execute__FPv.s deleted file mode 100644 index 44bd81da0a3..00000000000 --- a/asm/rel/d/a/tag/d_a_tag_shop_camera/d_a_tag_shop_camera/daTag_ShopCamera_Execute__FPv.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_80D609D0: -/* 80D609D0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80D609D4 7C 08 02 A6 */ mflr r0 -/* 80D609D8 90 01 00 14 */ stw r0, 0x14(r1) -/* 80D609DC 4B FF FF 29 */ bl Execute__18daTag_ShopCamera_cFv -/* 80D609E0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80D609E4 7C 08 03 A6 */ mtlr r0 -/* 80D609E8 38 21 00 10 */ addi r1, r1, 0x10 -/* 80D609EC 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_shop_camera/d_a_tag_shop_camera/initialize__18daTag_ShopCamera_cFv.s b/asm/rel/d/a/tag/d_a_tag_shop_camera/d_a_tag_shop_camera/initialize__18daTag_ShopCamera_cFv.s deleted file mode 100644 index f3ff4b378c1..00000000000 --- a/asm/rel/d/a/tag/d_a_tag_shop_camera/d_a_tag_shop_camera/initialize__18daTag_ShopCamera_cFv.s +++ /dev/null @@ -1,32 +0,0 @@ -lbl_80D60914: -/* 80D60914 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80D60918 7C 08 02 A6 */ mflr r0 -/* 80D6091C 90 01 00 14 */ stw r0, 0x14(r1) -/* 80D60920 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80D60924 7C 7F 1B 78 */ mr r31, r3 -/* 80D60928 3C 80 80 D6 */ lis r4, lit_3663@ha /* 0x80D60A80@ha */ -/* 80D6092C 38 84 0A 80 */ addi r4, r4, lit_3663@l /* 0x80D60A80@l */ -/* 80D60930 C0 24 00 00 */ lfs f1, 0(r4) -/* 80D60934 C0 44 00 04 */ lfs f2, 4(r4) -/* 80D60938 FC 60 08 90 */ fmr f3, f1 -/* 80D6093C C0 84 00 08 */ lfs f4, 8(r4) -/* 80D60940 C0 A4 00 0C */ lfs f5, 0xc(r4) -/* 80D60944 FC C0 20 90 */ fmr f6, f4 -/* 80D60948 4B 2B 9C 01 */ bl fopAcM_setCullSizeBox__FP10fopAc_ac_cffffff -/* 80D6094C 38 00 00 00 */ li r0, 0 -/* 80D60950 90 1F 05 5C */ stw r0, 0x55c(r31) -/* 80D60954 A8 7F 04 B6 */ lha r3, 0x4b6(r31) -/* 80D60958 B0 1F 04 DC */ sth r0, 0x4dc(r31) -/* 80D6095C B0 7F 04 DE */ sth r3, 0x4de(r31) -/* 80D60960 B0 1F 04 E0 */ sth r0, 0x4e0(r31) -/* 80D60964 A8 1F 04 DC */ lha r0, 0x4dc(r31) -/* 80D60968 B0 1F 04 E4 */ sth r0, 0x4e4(r31) -/* 80D6096C A8 1F 04 DE */ lha r0, 0x4de(r31) -/* 80D60970 B0 1F 04 E6 */ sth r0, 0x4e6(r31) -/* 80D60974 A8 1F 04 E0 */ lha r0, 0x4e0(r31) -/* 80D60978 B0 1F 04 E8 */ sth r0, 0x4e8(r31) -/* 80D6097C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80D60980 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80D60984 7C 08 03 A6 */ mtlr r0 -/* 80D60988 38 21 00 10 */ addi r1, r1, 0x10 -/* 80D6098C 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_watchge/d_a_tag_watchge/create__14daTagWatchGe_cFv.s b/asm/rel/d/a/tag/d_a_tag_watchge/d_a_tag_watchge/create__14daTagWatchGe_cFv.s deleted file mode 100644 index d9a8f5ad2b6..00000000000 --- a/asm/rel/d/a/tag/d_a_tag_watchge/d_a_tag_watchge/create__14daTagWatchGe_cFv.s +++ /dev/null @@ -1,53 +0,0 @@ -lbl_80D643F8: -/* 80D643F8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80D643FC 7C 08 02 A6 */ mflr r0 -/* 80D64400 90 01 00 14 */ stw r0, 0x14(r1) -/* 80D64404 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80D64408 7C 7F 1B 78 */ mr r31, r3 -/* 80D6440C 80 03 04 A0 */ lwz r0, 0x4a0(r3) -/* 80D64410 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c -/* 80D64414 40 82 00 1C */ bne lbl_80D64430 -/* 80D64418 28 1F 00 00 */ cmplwi r31, 0 -/* 80D6441C 41 82 00 08 */ beq lbl_80D64424 -/* 80D64420 4B 2B 47 45 */ bl __ct__10fopAc_ac_cFv -lbl_80D64424: -/* 80D64424 80 1F 04 A0 */ lwz r0, 0x4a0(r31) -/* 80D64428 60 00 00 08 */ ori r0, r0, 8 -/* 80D6442C 90 1F 04 A0 */ stw r0, 0x4a0(r31) -lbl_80D64430: -/* 80D64430 80 1F 00 B0 */ lwz r0, 0xb0(r31) -/* 80D64434 98 1F 05 69 */ stb r0, 0x569(r31) -/* 80D64438 88 1F 05 69 */ lbz r0, 0x569(r31) -/* 80D6443C 28 00 00 FF */ cmplwi r0, 0xff -/* 80D64440 40 82 00 0C */ bne lbl_80D6444C -/* 80D64444 38 60 00 05 */ li r3, 5 -/* 80D64448 48 00 00 54 */ b lbl_80D6449C -lbl_80D6444C: -/* 80D6444C 80 1F 00 B0 */ lwz r0, 0xb0(r31) -/* 80D64450 54 00 C6 3E */ rlwinm r0, r0, 0x18, 0x18, 0x1f -/* 80D64454 98 1F 05 68 */ stb r0, 0x568(r31) -/* 80D64458 88 9F 05 68 */ lbz r4, 0x568(r31) -/* 80D6445C 28 04 00 FF */ cmplwi r4, 0xff -/* 80D64460 40 82 00 0C */ bne lbl_80D6446C -/* 80D64464 38 60 00 05 */ li r3, 5 -/* 80D64468 48 00 00 34 */ b lbl_80D6449C -lbl_80D6446C: -/* 80D6446C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80D64470 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80D64474 88 1F 04 E2 */ lbz r0, 0x4e2(r31) -/* 80D64478 7C 05 07 74 */ extsb r5, r0 -/* 80D6447C 4B 2D 0E E5 */ bl isSwitch__10dSv_info_cCFii -/* 80D64480 2C 03 00 00 */ cmpwi r3, 0 -/* 80D64484 41 82 00 0C */ beq lbl_80D64490 -/* 80D64488 38 60 00 05 */ li r3, 5 -/* 80D6448C 48 00 00 10 */ b lbl_80D6449C -lbl_80D64490: -/* 80D64490 38 00 00 1E */ li r0, 0x1e -/* 80D64494 98 1F 05 6A */ stb r0, 0x56a(r31) -/* 80D64498 38 60 00 04 */ li r3, 4 -lbl_80D6449C: -/* 80D6449C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80D644A0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80D644A4 7C 08 03 A6 */ mtlr r0 -/* 80D644A8 38 21 00 10 */ addi r1, r1, 0x10 -/* 80D644AC 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_watchge/d_a_tag_watchge/daTagWatchGe_Create__FP14daTagWatchGe_c.s b/asm/rel/d/a/tag/d_a_tag_watchge/d_a_tag_watchge/daTagWatchGe_Create__FP14daTagWatchGe_c.s deleted file mode 100644 index e13e7afe12d..00000000000 --- a/asm/rel/d/a/tag/d_a_tag_watchge/d_a_tag_watchge/daTagWatchGe_Create__FP14daTagWatchGe_c.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_80D644B0: -/* 80D644B0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80D644B4 7C 08 02 A6 */ mflr r0 -/* 80D644B8 90 01 00 14 */ stw r0, 0x14(r1) -/* 80D644BC 4B FF FF 3D */ bl create__14daTagWatchGe_cFv -/* 80D644C0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80D644C4 7C 08 03 A6 */ mtlr r0 -/* 80D644C8 38 21 00 10 */ addi r1, r1, 0x10 -/* 80D644CC 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_watchge/d_a_tag_watchge/daTagWatchGe_Draw__FP14daTagWatchGe_c.s b/asm/rel/d/a/tag/d_a_tag_watchge/d_a_tag_watchge/daTagWatchGe_Draw__FP14daTagWatchGe_c.s deleted file mode 100644 index 9d9856e1610..00000000000 --- a/asm/rel/d/a/tag/d_a_tag_watchge/d_a_tag_watchge/daTagWatchGe_Draw__FP14daTagWatchGe_c.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_80D642E0: -/* 80D642E0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80D642E4 7C 08 02 A6 */ mflr r0 -/* 80D642E8 90 01 00 14 */ stw r0, 0x14(r1) -/* 80D642EC 4B FF FF ED */ bl draw__14daTagWatchGe_cFv -/* 80D642F0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80D642F4 7C 08 03 A6 */ mtlr r0 -/* 80D642F8 38 21 00 10 */ addi r1, r1, 0x10 -/* 80D642FC 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_watchge/d_a_tag_watchge/daTagWatchGe_Execute__FP14daTagWatchGe_c.s b/asm/rel/d/a/tag/d_a_tag_watchge/d_a_tag_watchge/daTagWatchGe_Execute__FP14daTagWatchGe_c.s deleted file mode 100644 index 05d78bb1836..00000000000 --- a/asm/rel/d/a/tag/d_a_tag_watchge/d_a_tag_watchge/daTagWatchGe_Execute__FP14daTagWatchGe_c.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_80D643C8: -/* 80D643C8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80D643CC 7C 08 02 A6 */ mflr r0 -/* 80D643D0 90 01 00 14 */ stw r0, 0x14(r1) -/* 80D643D4 4B FF FF 65 */ bl execute__14daTagWatchGe_cFv -/* 80D643D8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80D643DC 7C 08 03 A6 */ mtlr r0 -/* 80D643E0 38 21 00 10 */ addi r1, r1, 0x10 -/* 80D643E4 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_watchge/d_a_tag_watchge/execute__14daTagWatchGe_cFv.s b/asm/rel/d/a/tag/d_a_tag_watchge/d_a_tag_watchge/execute__14daTagWatchGe_cFv.s deleted file mode 100644 index 77ab29cc466..00000000000 --- a/asm/rel/d/a/tag/d_a_tag_watchge/d_a_tag_watchge/execute__14daTagWatchGe_cFv.s +++ /dev/null @@ -1,39 +0,0 @@ -lbl_80D64338: -/* 80D64338 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80D6433C 7C 08 02 A6 */ mflr r0 -/* 80D64340 90 01 00 14 */ stw r0, 0x14(r1) -/* 80D64344 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80D64348 7C 7F 1B 78 */ mr r31, r3 -/* 80D6434C 88 63 05 6A */ lbz r3, 0x56a(r3) -/* 80D64350 28 03 00 00 */ cmplwi r3, 0 -/* 80D64354 41 82 00 10 */ beq lbl_80D64364 -/* 80D64358 38 03 FF FF */ addi r0, r3, -1 -/* 80D6435C 98 1F 05 6A */ stb r0, 0x56a(r31) -/* 80D64360 48 00 00 50 */ b lbl_80D643B0 -lbl_80D64364: -/* 80D64364 38 00 00 00 */ li r0, 0 -/* 80D64368 3C 60 80 D6 */ lis r3, m_group_count@ha /* 0x80D64528@ha */ -/* 80D6436C 90 03 45 28 */ stw r0, m_group_count@l(r3) /* 0x80D64528@l */ -/* 80D64370 3C 60 80 D6 */ lis r3, s_watchge__FPvPv@ha /* 0x80D64300@ha */ -/* 80D64374 38 63 43 00 */ addi r3, r3, s_watchge__FPvPv@l /* 0x80D64300@l */ -/* 80D64378 7F E4 FB 78 */ mr r4, r31 -/* 80D6437C 4B 2B 54 7D */ bl fopAcIt_Judge__FPFPvPv_PvPv -/* 80D64380 3C 60 80 D6 */ lis r3, m_group_count@ha /* 0x80D64528@ha */ -/* 80D64384 80 03 45 28 */ lwz r0, m_group_count@l(r3) /* 0x80D64528@l */ -/* 80D64388 2C 00 00 00 */ cmpwi r0, 0 -/* 80D6438C 40 82 00 24 */ bne lbl_80D643B0 -/* 80D64390 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80D64394 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80D64398 88 9F 05 68 */ lbz r4, 0x568(r31) -/* 80D6439C 88 1F 04 E2 */ lbz r0, 0x4e2(r31) -/* 80D643A0 7C 05 07 74 */ extsb r5, r0 -/* 80D643A4 4B 2D 0E 5D */ bl onSwitch__10dSv_info_cFii -/* 80D643A8 7F E3 FB 78 */ mr r3, r31 -/* 80D643AC 4B 2B 58 D1 */ bl fopAcM_delete__FP10fopAc_ac_c -lbl_80D643B0: -/* 80D643B0 38 60 00 01 */ li r3, 1 -/* 80D643B4 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80D643B8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80D643BC 7C 08 03 A6 */ mtlr r0 -/* 80D643C0 38 21 00 10 */ addi r1, r1, 0x10 -/* 80D643C4 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_watchge/d_a_tag_watchge/s_watchge__FPvPv.s b/asm/rel/d/a/tag/d_a_tag_watchge/d_a_tag_watchge/s_watchge__FPvPv.s deleted file mode 100644 index 58931634b90..00000000000 --- a/asm/rel/d/a/tag/d_a_tag_watchge/d_a_tag_watchge/s_watchge__FPvPv.s +++ /dev/null @@ -1,16 +0,0 @@ -lbl_80D64300: -/* 80D64300 88 84 05 69 */ lbz r4, 0x569(r4) -/* 80D64304 A8 03 00 08 */ lha r0, 8(r3) -/* 80D64308 2C 00 01 F2 */ cmpwi r0, 0x1f2 -/* 80D6430C 40 82 00 24 */ bne lbl_80D64330 -/* 80D64310 88 03 0B 9B */ lbz r0, 0xb9b(r3) -/* 80D64314 7C 04 00 40 */ cmplw r4, r0 -/* 80D64318 40 82 00 18 */ bne lbl_80D64330 -/* 80D6431C 3C 60 80 D6 */ lis r3, m_group_count@ha /* 0x80D64528@ha */ -/* 80D64320 38 83 45 28 */ addi r4, r3, m_group_count@l /* 0x80D64528@l */ -/* 80D64324 80 64 00 00 */ lwz r3, 0(r4) -/* 80D64328 38 03 00 01 */ addi r0, r3, 1 -/* 80D6432C 90 04 00 00 */ stw r0, 0(r4) -lbl_80D64330: -/* 80D64330 38 60 00 00 */ li r3, 0 -/* 80D64334 4E 80 00 20 */ blr diff --git a/include/JSystem/JUtility/JUTFader.h b/include/JSystem/JUtility/JUTFader.h index af3c2fba732..b9a3af2f657 100644 --- a/include/JSystem/JUtility/JUTFader.h +++ b/include/JSystem/JUtility/JUTFader.h @@ -3,7 +3,6 @@ #include "JSystem/JGeometry.h" #include "JSystem/JUtility/TColor.h" -#include "dolphin/types.h" class JUTFader { public: @@ -24,7 +23,6 @@ public: s32 getStatus() const { return mStatus; } void setColor(JUtility::TColor color) { mColor.set(color); } -//private: /* 0x04 */ s32 mStatus; /* 0x08 */ u16 field_0x8; /* 0x0A */ u16 field_0xa; diff --git a/include/JSystem/JUtility/JUTFont.h b/include/JSystem/JUtility/JUTFont.h index 5aec4a6b0e3..6346dea95e1 100644 --- a/include/JSystem/JUtility/JUTFont.h +++ b/include/JSystem/JUtility/JUTFont.h @@ -23,6 +23,7 @@ struct ResFONT { /* 0x04 */ u32 size; /* 0x08 */ u16 startCode; /* 0x0A */ u16 endCode; + /* 0x0C */ u8 mChunkNum[4]; }; struct MAP1 { @@ -32,6 +33,7 @@ struct ResFONT { /* 0x0A */ u16 startCode; /* 0x0C */ u16 endCode; /* 0x0E */ u16 numEntries; + /* 0x10 */ u16 mLeading; }; struct GLY1 { diff --git a/include/JSystem/JUtility/JUTResFont.h b/include/JSystem/JUtility/JUTResFont.h index 3135738314b..b79483d1465 100644 --- a/include/JSystem/JUtility/JUTResFont.h +++ b/include/JSystem/JUtility/JUTResFont.h @@ -5,6 +5,8 @@ #include "JSystem/JUtility/JUTFont.h" #include "dolphin/types.h" +typedef bool (*IsLeadByte)(int); + class JUTResFont : public JUTFont { public: /* 802DF000 */ virtual ~JUTResFont(); @@ -34,7 +36,7 @@ public: /* 802DF248 */ void countBlock(); /* 802DFBE8 */ void loadFont(int, _GXTexMapID, JUTFont::TWidth*); /* 802DFDD8 */ int getFontCode(int) const; - /* 802E00C4 */ void convertSjis(int, u16*) const; + /* 802E00C4 */ int convertSjis(int, u16*) const; inline void delete_and_initialize() { deleteMemBlocks_ResFont(); @@ -44,22 +46,22 @@ public: static void* const saoAboutEncoding_[3]; // some types uncertain, may need to be fixed - /* 0x1C */ void* field_0x1c; - /* 0x20 */ void* field_0x20; + /* 0x1C */ int mWidth; + /* 0x20 */ int mHeight; /* 0x24 */ _GXTexObj field_0x24; /* 0x44 */ int field_0x44; /* 0x48 */ const ResFONT* mResFont; /* 0x4C */ ResFONT::INF1* mInf1Ptr; - /* 0x50 */ void* field_0x50; - /* 0x54 */ ResFONT::WID1* mWid1Ptr; - /* 0x58 */ ResFONT::GLY1* mGly1Ptr; - /* 0x5C */ ResFONT::MAP1* mMap1Ptr; + /* 0x50 */ void** mMemBlocks; + /* 0x54 */ ResFONT::WID1** mpWidthBlocks; + /* 0x58 */ ResFONT::GLY1** mpGlyphBlocks; + /* 0x5C */ ResFONT::MAP1** mpMapBlocks; /* 0x60 */ u16 mWid1BlockNum; /* 0x62 */ u16 mGly1BlockNum; /* 0x64 */ u16 mMap1BlockNum; /* 0x66 */ u16 field_0x66; - /* 0x68 */ u16 field_0x68; - /* 0x6C */ void* field_0x6c; + /* 0x68 */ u16 mMaxCode; + /* 0x6C */ IsLeadByte* mIsLeadByte; }; #endif /* JUTRESFONT_H */ diff --git a/include/dolphin/gx/GX.h b/include/dolphin/gx/GX.h index b2c9f160122..d2d03f349fb 100644 --- a/include/dolphin/gx/GX.h +++ b/include/dolphin/gx/GX.h @@ -111,6 +111,10 @@ inline void GXTexCoord2s8(s8 x, s8 y) { GFX_FIFO(s8) = y; } +inline void i_GXTexCoord2u16(u16 x, u16 y) { + GFX_FIFO(u16) = x; + GFX_FIFO(u16) = y; +} inline void GFWriteBPCmd(u32 param_1) { GXFIFO.u8 = 0x61; diff --git a/include/rel/d/a/e/d_a_e_ge/d_a_e_ge.h b/include/rel/d/a/e/d_a_e_ge/d_a_e_ge.h index e18e30073ba..7783021eadd 100644 --- a/include/rel/d/a/e/d_a_e_ge/d_a_e_ge.h +++ b/include/rel/d/a/e/d_a_e_ge/d_a_e_ge.h @@ -1,6 +1,57 @@ #ifndef D_A_E_GE_H #define D_A_E_GE_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +struct daE_GE_HIO_c { + /* 806C7A4C */ daE_GE_HIO_c(); + /* 806CCA58 */ ~daE_GE_HIO_c(); +}; + +class daE_GE_c : public fopEn_enemy_c { +public: + u8 getGroupNo() { + return mGroupNo; + } + + /* 806C7AB8 */ void bckSet(int, f32, u8, f32); + /* 806C7B5C */ void bckCheck(int); + /* 806C7BB8 */ void draw(); + /* 806C7CAC */ void checkBeforeBg(int, f32); + /* 806C80F8 */ void setActionMode(int); + /* 806C8130 */ void damage_check(); + /* 806C8374 */ void checkOtherAttacker(); + /* 806C83F8 */ void searchNextAttacker(); + /* 806C84A0 */ void checkCircleSpeedAdd(cXyz*, cXyz*); + /* 806C8518 */ void setAddCalcSpeed(cXyz&, cXyz const&, f32, f32, f32, f32); + /* 806C88C8 */ void calcCircleFly(cXyz*, cXyz*, s16, f32, s16, f32); + /* 806C89C0 */ void executeWait(); + /* 806C8C20 */ void executeFly(); + /* 806C9150 */ void checkAttackPossible(s16, bool); + /* 806C921C */ void executeAttack(); + /* 806C9F04 */ void setBackAnime(int); + /* 806CA024 */ void executeBack(); + /* 806CAA34 */ void executeDown(); + /* 806CADCC */ void setSurpriseTime(s16); + /* 806CADF4 */ void setSurprise(); + /* 806CAE58 */ void executeSurprise(); + /* 806CB280 */ void setCaw(); + /* 806CB2F0 */ void executeCaw(); + /* 806CB6FC */ void executeWind(); + /* 806CBAB8 */ void executeShield(); + /* 806CBC38 */ void action(); + /* 806CBE98 */ void mtx_set(); + /* 806CBEF0 */ void cc_set(); + /* 806CC068 */ void execute(); + /* 806CC1E4 */ void _delete(); + /* 806CC278 */ void CreateHeap(); + /* 806CC390 */ void create(); + + /* 0x5AC */ u8 field_0x5ac[1519]; + /* 0xB9B */ u8 mGroupNo; + /* 0xB9C */ u8 field_0xb9c[4]; + + static u8 l_actionmenu[108]; +}; #endif /* D_A_E_GE_H */ diff --git a/include/rel/d/a/tag/d_a_tag_shop_camera/d_a_tag_shop_camera.h b/include/rel/d/a/tag/d_a_tag_shop_camera/d_a_tag_shop_camera.h index 338b62098d6..b4f9235dde7 100644 --- a/include/rel/d/a/tag/d_a_tag_shop_camera/d_a_tag_shop_camera.h +++ b/include/rel/d/a/tag/d_a_tag_shop_camera/d_a_tag_shop_camera.h @@ -1,6 +1,18 @@ #ifndef D_A_TAG_SHOP_CAMERA_H #define D_A_TAG_SHOP_CAMERA_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +class daTag_ShopCamera_c : public fopAc_ac_c { +public: + /* 80D60898 */ int create(); + /* 80D608FC */ int Delete(); + /* 80D60904 */ int Execute(); + /* 80D6090C */ int Draw(); + /* 80D60914 */ void initialize(); + /* 80D60A18 */ virtual ~daTag_ShopCamera_c() {}; + + /* 0x568 */ u8 field_0x568[4]; +}; #endif /* D_A_TAG_SHOP_CAMERA_H */ diff --git a/include/rel/d/a/tag/d_a_tag_watchge/d_a_tag_watchge.h b/include/rel/d/a/tag/d_a_tag_watchge/d_a_tag_watchge.h index c36924d453d..d9a1fb06078 100644 --- a/include/rel/d/a/tag/d_a_tag_watchge/d_a_tag_watchge.h +++ b/include/rel/d/a/tag/d_a_tag_watchge/d_a_tag_watchge.h @@ -1,6 +1,22 @@ #ifndef D_A_TAG_WATCHGE_H #define D_A_TAG_WATCHGE_H -#include "dolphin/types.h" +#include "rel/d/a/e/d_a_e_ge/d_a_e_ge.h" +#include "d/com/d_com_inf_game.h" -#endif /* D_A_TAG_WATCHGE_H */ +class daTagWatchGe_c : public fopAc_ac_c { +public: + u8 getGroupNo() { + return mGroupNo; + } + + /* 80D642D8 */ int draw(); + /* 80D64338 */ int execute(); + /* 80D643F8 */ int create(); + + /* 0x568 */ u8 field_0x568; + /* 0x569 */ u8 mGroupNo; + /* 0x56A */ u8 field_0x56a; +}; + +#endif /* D_A_TAG_WATCHGE_H */ \ No newline at end of file diff --git a/libs/JSystem/JUtility/JUTCacheFont.cpp b/libs/JSystem/JUtility/JUTCacheFont.cpp index 9eef2b2d400..b24c8714476 100644 --- a/libs/JSystem/JUtility/JUTCacheFont.cpp +++ b/libs/JSystem/JUtility/JUTCacheFont.cpp @@ -121,7 +121,7 @@ void JUTCacheFont::deleteMemBlocks_CacheFont() { delete field_0xac; delete mInf1Ptr; - delete field_0x50; + delete mMemBlocks; delete field_0x7c; delete field_0x80; delete field_0x84; @@ -138,7 +138,7 @@ void JUTCacheFont::initialize_state() { field_0x7c = NULL; field_0x80 = NULL; field_0x84 = NULL; - field_0x50 = NULL; + mMemBlocks = NULL; mPagingType = PAGE_TYPE_0; mMaxSheetSize = 0; diff --git a/libs/JSystem/JUtility/JUTFader.cpp b/libs/JSystem/JUtility/JUTFader.cpp index 3032ddc8c3c..0cd2d3b9546 100644 --- a/libs/JSystem/JUtility/JUTFader.cpp +++ b/libs/JSystem/JUtility/JUTFader.cpp @@ -1,40 +1,10 @@ -// -// Generated By: dol2asm -// Translation Unit: JUTFader -// +/** + * JUTFader.cpp + * JUtility - Color Fader + */ #include "JSystem/JUtility/JUTFader.h" #include "JSystem/J2DGraph/J2DOrthoGraph.h" -#include "dol2asm.h" -#include "dolphin/types.h" - -// -// Forward References: -// - -extern "C" void __ct__8JUTFaderFiiiiQ28JUtility6TColor(); -extern "C" void control__8JUTFaderFv(); -extern "C" void draw__8JUTFaderFv(); -extern "C" void startFadeIn__8JUTFaderFi(); -extern "C" void startFadeOut__8JUTFaderFi(); -extern "C" void setStatus__8JUTFaderFQ28JUTFader7EStatusi(); -extern "C" void __dt__8JUTFaderFv(); - -// -// External References: -// - -extern "C" void __dl__FPv(); -extern "C" void -setColor__14J2DGrafContextFQ28JUtility6TColorQ28JUtility6TColorQ28JUtility6TColorQ28JUtility6TColor(); -extern "C" void func_802E9260(); -extern "C" void __ct__13J2DOrthoGraphFv(); -extern "C" extern void* __vt__14J2DGrafContext[10]; -extern "C" extern void* __vt__13J2DOrthoGraph[10]; - -// -// Declarations: -// /* 802E5530-802E55DC 2DFE70 00AC+00 0/0 1/1 0/0 .text __ct__8JUTFaderFiiiiQ28JUtility6TColor */ JUTFader::JUTFader(int x, int y, int width, int height, JUtility::TColor pColor) @@ -47,101 +17,103 @@ JUTFader::JUTFader(int x, int y, int width, int height, JUtility::TColor pColor) } /* 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) { + if (0 <= mEStatus && mEStatus-- == 0) { + mStatus = field_0x24; + } + + if (mStatus == 1) { + return; + } + + switch (mStatus) { case 0: - mColor.a = -1; - case 1: + mColor.a = 0xFF; break; case 2: - field_0xa++; - mColor.a = (255 - (255 / field_0x8)); + mColor.a = 0xFF - ((++field_0xa * 0xFF) / field_0x8); + if (field_0xa >= field_0x8) { mStatus = 1; } + break; case 3: - field_0xa++; - mColor.a = (255 / field_0x8); + mColor.a = ((++field_0xa * 0xFF) / field_0x8); + if (field_0xa >= field_0x8) { mStatus = 0; } - default: - draw(); + break; - } + } + draw(); } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JUTFader::control() { - nofralloc -#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); - } + if (mColor.a == 0) { + return; + } + + J2DOrthoGraph orthograph; + orthograph.setColor(mColor); + orthograph.fillBox(mBox); } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JUTFader::draw() { - nofralloc -#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 */ bool JUTFader::startFadeIn(int param_0) { bool statusCheck = mStatus == 0; + if (statusCheck) { mStatus = 2; field_0xa = 0; field_0x8 = param_0; } + return statusCheck; } /* 802E579C-802E57D0 2E00DC 0034+00 1/0 0/0 0/0 .text startFadeOut__8JUTFaderFi */ bool JUTFader::startFadeOut(int param_0) { bool statusCheck = mStatus == 1; + if (statusCheck) { mStatus = 3; field_0xa = 0; field_0x8 = param_0; } + return statusCheck; } /* 802E57D0-802E5840 2E0110 0070+00 0/0 1/1 0/0 .text setStatus__8JUTFaderFQ28JUTFader7EStatusi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JUTFader::setStatus(JUTFader::EStatus param_0, int param_1) { - nofralloc -#include "asm/JSystem/JUtility/JUTFader/setStatus__8JUTFaderFQ28JUTFader7EStatusi.s" +void JUTFader::setStatus(JUTFader::EStatus i_status, int param_1) { + switch (i_status) { + case 0: + if (param_1 != 0) { + field_0x24 = 0; + mEStatus = param_1; + break; + } + + mStatus = 0; + field_0x24 = 0; + mEStatus = 0; + break; + case 1: + if (param_1 != 0) { + field_0x24 = 1; + mEStatus = param_1; + break; + } + + mStatus = 1; + field_0x24 = 1; + mEStatus = 0; + break; + } } -#pragma pop /* 802E5840-802E5888 2E0180 0048+00 1/0 0/0 0/0 .text __dt__8JUTFaderFv */ JUTFader::~JUTFader() {} diff --git a/libs/JSystem/JUtility/JUTFont.cpp b/libs/JSystem/JUtility/JUTFont.cpp index aa571ef55b0..bc04308a7c4 100644 --- a/libs/JSystem/JUtility/JUTFont.cpp +++ b/libs/JSystem/JUtility/JUTFont.cpp @@ -1,22 +1,9 @@ -// -// Generated By: dol2asm -// Translation Unit: JUTFont -// +/** + * JUTFont.cpp + * JUtility - Font Management + */ #include "JSystem/JUtility/JUTFont.h" -#include "dolphin/types.h" - -// -// Forward References: -// - -// -// External References: -// - -// -// Declarations: -// /* 802DECF8-802DED24 2D9638 002C+00 0/0 2/2 0/0 .text __ct__7JUTFontFv */ JUTFont::JUTFont() : mColor1(), mColor2(), mColor3(), mColor4() { diff --git a/libs/JSystem/JUtility/JUTProcBar.cpp b/libs/JSystem/JUtility/JUTProcBar.cpp index af1a38ec830..5ab793abd2b 100644 --- a/libs/JSystem/JUtility/JUTProcBar.cpp +++ b/libs/JSystem/JUtility/JUTProcBar.cpp @@ -221,36 +221,33 @@ SECTION_SDATA2 static f32 lit_2313 = 60.0f; SECTION_SDATA2 static f64 lit_2315 = 4503599627370496.0 /* cast u32 to float */; /* 802E5CC4-802E5E08 2E0604 0144+00 1/1 0/0 0/0 .text adjustMeterLength__10JUTProcBarFUlPfffPi */ -#ifdef NONMATCHING // extra cror +#ifdef NONMATCHING // float literals void JUTProcBar::adjustMeterLength(u32 param_0, f32* param_1, f32 param_2, f32 param_3, int* param_4) { - BOOL var2 = false; - float var1 = *param_1; - while (var1 > param_2) { - if (param_0 * var1 * 20.0f / 16666.0f <= field_0x114.mWidth - 30.0f) { - break; - } - var1 -= 0.1f; - var2 = true; - } - if (var1 >= param_3) { - *param_4 = 0; - } - if (var1 > param_3 - 0.2f) { - var1 = param_3; - } - while (!var2 && var1 < param_3) { - (*param_4)++; - if (*param_4 < 0x1e) { - break; - } - if (param_0 * var1 * 20.0f / 16666.0f >= field_0x114.mWidth - 60.0f) { - break; - } - var1 += 0.2f; - break; - } - *param_1 = var1; + BOOL var2 = false; + float var1 = *param_1; + while (var1 > param_2) { + if (param_0 * var1 * FLOAT_LABEL(lit_2308) / FLOAT_LABEL(lit_2309) <= field_0x114.mWidth - FLOAT_LABEL(lit_2310)) + break; + + var1 -= FLOAT_LABEL(lit_2311); + var2 = true; + } + + if (var1 >= param_3) + *param_4 = 0; + if (var1 > param_3 - FLOAT_LABEL(lit_2312)) + var1 = param_3; + + while (!var2 && var1 < param_3) { + (*param_4)++; + if (*param_4 < 0x1e) + break; + if ((param_0 * var1 * FLOAT_LABEL(lit_2308) / FLOAT_LABEL(lit_2309)) < (field_0x114.mWidth - FLOAT_LABEL(lit_2313))) + var1 += FLOAT_LABEL(lit_2312); + break; + } + *param_1 = var1; } #else #pragma push diff --git a/libs/JSystem/JUtility/JUTResFont.cpp b/libs/JSystem/JUtility/JUTResFont.cpp index 6fb3d7a6fe6..ed053194e23 100644 --- a/libs/JSystem/JUtility/JUTResFont.cpp +++ b/libs/JSystem/JUtility/JUTResFont.cpp @@ -6,6 +6,7 @@ #include "JSystem/JUtility/JUTResFont.h" #include "dol2asm.h" #include "dolphin/types.h" +#include "dolphin/gx/GX.h" // // Forward References: @@ -119,18 +120,18 @@ JUTResFont::~JUTResFont() { /* 802DF08C-802DF0B0 2D99CC 0024+00 3/3 3/3 0/0 .text deleteMemBlocks_ResFont__10JUTResFontFv */ void JUTResFont::deleteMemBlocks_ResFont() { - delete[] field_0x50; + delete[] mMemBlocks; } /* 802DF0B0-802DF0DC 2D99F0 002C+00 5/5 3/3 0/0 .text initialize_state__10JUTResFontFv */ void JUTResFont::initialize_state() { mResFont = NULL; - field_0x50 = NULL; - mWid1Ptr = NULL; - mGly1Ptr = NULL; - mMap1Ptr = NULL; - field_0x1c = NULL; - field_0x20 = NULL; + mMemBlocks = NULL; + mpWidthBlocks = NULL; + mpGlyphBlocks = NULL; + mpMapBlocks = NULL; + mWidth = NULL; + mHeight = NULL; field_0x44 = -1; } @@ -150,53 +151,40 @@ bool JUTResFont::initiate(ResFONT const* param_0, JKRHeap* param_1) { /* 802DF13C-802DF248 2D9A7C 010C+00 1/1 0/0 0/0 .text * protected_initiate__10JUTResFontFPC7ResFONTP7JKRHeap */ -// regalloc -#ifdef NONMATCHING bool JUTResFont::protected_initiate(ResFONT const* param_0, JKRHeap* param_1) { + void** p; delete_and_initialize(); JUTFont::initialize_state(); if (!param_0) { return false; - } else { - mResFont = param_0; - mValid = true; - - countBlock(); - - void* tmp = new (param_1, 0) void*[mWid1BlockNum + mGly1BlockNum + mMap1BlockNum]; - field_0x50 = tmp; - - if (!field_0x50) { - return false; - } else { - if (mWid1BlockNum != 0) { - mWid1Ptr = (ResFONT::WID1*)tmp; - (int*)tmp += mWid1BlockNum; - } - if (mGly1BlockNum != 0) { - mGly1Ptr = (ResFONT::GLY1*)tmp; - (int*)tmp += mGly1BlockNum; - } - if (mMap1BlockNum != 0) { - mMap1Ptr = (ResFONT::MAP1*)tmp; - } - setBlock(); - return true; - } + + } + mResFont = param_0; + mValid = true; + + countBlock(); + mMemBlocks = new (param_1, 0) void*[mWid1BlockNum + mGly1BlockNum + mMap1BlockNum]; + p = mMemBlocks; + + if (!mMemBlocks) { + return false; + } else { + if (mWid1BlockNum != 0) { + mpWidthBlocks = (ResFONT::WID1**)p; + p += mWid1BlockNum; + } + if (mGly1BlockNum != 0) { + mpGlyphBlocks = (ResFONT::GLY1**)p; + p += mGly1BlockNum; + } + if (mMap1BlockNum != 0) { + mpMapBlocks = (ResFONT::MAP1**)p; + } + setBlock(); + return true; } - return false; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm bool JUTResFont::protected_initiate(ResFONT const* param_0, JKRHeap* param_1) { - nofralloc -#include "asm/JSystem/JUtility/JUTResFont/protected_initiate__10JUTResFontFPC7ResFONTP7JKRHeap.s" -} -#pragma pop -#endif /* ############################################################################################## */ /* 8039D45C-8039D45C 029ABC 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ @@ -206,6 +194,33 @@ SECTION_DEAD static char const* const stringBase_8039D45C = "JUTResFont: Unknown #pragma pop /* 802DF248-802DF344 2D9B88 00FC+00 1/1 0/0 0/0 .text countBlock__10JUTResFontFv */ +#ifdef NONMATCHING +void JUTResFont::countBlock() { + mWidthBlockCount = 0; + mGlyphBlockCount = 0; + mMapBlockCount = 0; + u8* pData = (u8*)&mResource->mData; + for (u32 i = 0; i < mResource->mChunkNum; i++, pData += ((BlockHeader*)pData)->mSize) { + int magic = ((BlockHeader*)pData)->mMagic; + switch (magic) { + case 'WID1': + mWidthBlockCount++; + break; + case 'GLY1': + mGlyphBlockCount++; + break; + case 'MAP1': + mMapBlockCount++; + break; + case 'INF1': + // mInf1Ptr; + break; + default: + JUTReportConsole("JUTResFont: Unknown data block\n"); + } + }; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -214,6 +229,7 @@ asm void JUTResFont::countBlock() { #include "asm/JSystem/JUtility/JUTResFont/countBlock__10JUTResFontFv.s" } #pragma pop +#endif /* ############################################################################################## */ /* 8039D390-8039D39C -00001 000C+00 1/1 1/1 0/0 .rodata saoAboutEncoding___10JUTResFont */ @@ -309,6 +325,75 @@ SECTION_SDATA2 static f64 lit_651 = 4503599627370496.0 /* cast u32 to float */; /* 802DF7C4-802DFBE8 2DA104 0424+00 1/0 1/0 0/0 .text drawChar_scale__10JUTResFontFffffib */ +#ifdef NONMATCHING +// still missing a bunch of stuff +f32 JUTResFont::drawChar_scale(f32 pos_x, f32 pos_y, f32 scale_x, f32 scale_y, int str_int, + bool flag) { + JUTFont::TWidth width; + f32 width_val; + f32 pos_height, ascent, ascent_val, scaled_height; + f32 sca_wid; + + loadFont(str_int, GX_TEXMAP0, &width); + + if ((mFixed) || (!flag)) { + width_val = pos_x; + } else { + width_val = (pos_x - width.field_0x0 * (scale_x / getCellWidth())); + } + f32 retval = mFixedWidth * (scale_x / getCellWidth()); + if (mFixed == false) { + if (!flag) { + retval = (width.field_0x1 + width.field_0x0) * (scale_x / getCellWidth()); + } else { + retval = width.field_0x1 * (scale_x / getCellWidth()); + } + } + sca_wid = width_val + scale_x; + ascent_val = pos_y - getAscent() * (scale_y / getHeight()); + scaled_height = scale_y / getHeight(); + f32 descent = getDescent(); + f32 ascent_calc = descent * ascent_val; + f32 deshei = descent * scaled_height + pos_y; + + ResFONT::GLY1* used_glyphs = mpGlyphBlocks[field_0x66]; + u16 tex_width = used_glyphs->textureWidth; + u16 tex_height = used_glyphs->textureHeight; + int t_width = mWidth; + int t_height = mHeight; + int shift_width = (t_width + used_glyphs->cellHeight) << 15; + int div_width = (t_width << 15) / tex_width; + int div_height = (t_height << 15) / tex_height; + u16 sumWidth = t_width + used_glyphs->cellWidth; + int shift_height = t_height + used_glyphs->cellHeight << 15; + u16 sumHeight = t_height + used_glyphs->cellHeight; + s32 width_ratio = shift_width / tex_width; + s32 height_ratio = shift_height / tex_height; + + GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0); + GXBegin(GX_QUADS, GX_VTXFMT0, 4); + + GXPosition3f32(width_val,ascent_val,0.0f); + GXColor1u32(mColor1); + i_GXTexCoord2u16(div_width,div_height); + + GXPosition3f32(sca_wid,ascent_val,0.0f); + GXColor1u32(mColor2); + i_GXTexCoord2u16(width_ratio,div_height); + + GXPosition3f32(sca_wid,deshei,0.0f); + GXColor1u32(mColor4); + i_GXTexCoord2u16(width_ratio,height_ratio); + + GXPosition3f32(width_val,deshei,0.0f); + GXColor1u32(mColor3); + i_GXTexCoord2u16(div_width,height_ratio); + + GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_S16, 0); + + return retval; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -318,6 +403,7 @@ asm f32 JUTResFont::drawChar_scale(f32 param_0, f32 param_1, f32 param_2, f32 pa #include "asm/JSystem/JUtility/JUTResFont/drawChar_scale__10JUTResFontFffffib.s" } #pragma pop +#endif /* 802DFBE8-802DFC64 2DA528 007C+00 1/1 0/0 0/0 .text * loadFont__10JUTResFontFi11_GXTexMapIDPQ27JUTFont6TWidth */ @@ -332,62 +418,54 @@ void JUTResFont::loadFont(int param_0, _GXTexMapID param_1, JUTFont::TWidth* par /* 802DFC64-802DFD0C 2DA5A4 00A8+00 1/0 1/0 0/0 .text * getWidthEntry__10JUTResFontCFiPQ27JUTFont6TWidth */ -#ifdef NONMATCHING -void JUTResFont::getWidthEntry(int param_0, JUTFont::TWidth* param_1) const { +void JUTResFont::getWidthEntry(int param_0, JUTFont::TWidth* i_width) const { int code = getFontCode(param_0); - int tmp = 0; - param_1->field_0x0 = 0; - param_1->field_0x1 = mInf1Ptr->width; + i_width->field_0x0 = 0; + i_width->field_0x1 = mInf1Ptr->width; - for (int i = mWid1BlockNum; i > 0; i--) { - if (i = 0) { - return; + for (int i = 0; i < mWid1BlockNum; i++) { + if (mpWidthBlocks[i]->startCode <= code && code <= mpWidthBlocks[i]->endCode) { + u8* ptr = &mpWidthBlocks[i]->mChunkNum[(code - mpWidthBlocks[i]->startCode) * 2]; + i_width->field_0x0 = ptr[0]; + i_width->field_0x1 = ptr[1]; + break; } - - ResFONT::WID1* tmp2 = mWid1Ptr + tmp; - if (tmp2->startCode <= code && code <= tmp2->endCode) { - break; - } - tmp += 4; } } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JUTResFont::getWidthEntry(int param_0, JUTFont::TWidth* param_1) const { - nofralloc -#include "asm/JSystem/JUtility/JUTResFont/getWidthEntry__10JUTResFontCFiPQ27JUTFont6TWidth.s" -} -#pragma pop -#endif /* 802DFD0C-802DFD58 2DA64C 004C+00 1/0 1/0 0/0 .text getCellWidth__10JUTResFontCFv */ // regalloc -#ifdef NONMATCHING int JUTResFont::getCellWidth() const { u16 width; - if (mGly1Ptr && mGly1Ptr->magic != 0) { - width = mGly1Ptr->cellWidth; - } else { - width = getWidth(); + if (mpGlyphBlocks) { + ResFONT::GLY1* glyphBlock = *mpGlyphBlocks; + if (glyphBlock) { + return glyphBlock->cellWidth; + } + } - return width; + return getWidth(); } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm int JUTResFont::getCellWidth() const { - nofralloc -#include "asm/JSystem/JUtility/JUTResFont/getCellWidth__10JUTResFontCFv.s" -} -#pragma pop -#endif /* 802DFD58-802DFDA4 2DA698 004C+00 1/0 1/0 0/0 .text getCellHeight__10JUTResFontCFv */ +#ifdef NONMATCHING +// casting issue on the return +int JUTResFont::getCellHeight() const { + u16 height; + + if (mpGlyphBlocks) { + ResFONT::GLY1* glyphBlock = *mpGlyphBlocks; + if (glyphBlock) { + return glyphBlock->cellHeight; + } + + } + + return getHeight(); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -396,217 +474,91 @@ asm u16 JUTResFont::getCellHeight() const { #include "asm/JSystem/JUtility/JUTResFont/getCellHeight__10JUTResFontCFv.s" } #pragma pop +#endif + + /* 802DFDA4-802DFDD8 2DA6E4 0034+00 1/0 1/0 0/0 .text isLeadByte__10JUTResFontCFi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm bool JUTResFont::isLeadByte(int param_0) const { - nofralloc -#include "asm/JSystem/JUtility/JUTResFont/isLeadByte__10JUTResFontCFi.s" +bool JUTResFont::isLeadByte(int param_0) const { + return (*mIsLeadByte)(param_0); } -#pragma pop /* ############################################################################################## */ /* 8039D39C-8039D45C 0299FC 00BE+02 1/1 0/0 0/0 .rodata halftofull$726 */ -SECTION_RODATA static u8 const halftofull[190 + 2 /* padding */] = { - 0x81, - 0x40, - 0x81, - 0x49, - 0x81, - 0x68, - 0x81, - 0x94, - 0x81, - 0x90, - 0x81, - 0x93, - 0x81, - 0x95, - 0x81, - 0x66, - 0x81, - 0x69, - 0x81, - 0x6A, - 0x81, - 0x96, - 0x81, - 0x7B, - 0x81, - 0x43, - 0x81, - 0x7C, - 0x81, - 0x44, - 0x81, - 0x5E, - 0x82, - 0x4F, - 0x82, - 0x50, - 0x82, - 0x51, - 0x82, - 0x52, - 0x82, - 0x53, - 0x82, - 0x54, - 0x82, - 0x55, - 0x82, - 0x56, - 0x82, - 0x57, - 0x82, - 0x58, - 0x81, - 0x46, - 0x81, - 0x47, - 0x81, - 0x83, - 0x81, - 0x81, - 0x81, - 0x84, - 0x81, - 0x48, - 0x81, - 0x97, - 0x82, - 0x60, - 0x82, - 0x61, - 0x82, - 0x62, - 0x82, - 0x63, - 0x82, - 0x64, - 0x82, - 0x65, - 0x82, - 0x66, - 0x82, - 0x67, - 0x82, - 0x68, - 0x82, - 0x69, - 0x82, - 0x6A, - 0x82, - 0x6B, - 0x82, - 0x6C, - 0x82, - 0x6D, - 0x82, - 0x6E, - 0x82, - 0x6F, - 0x82, - 0x70, - 0x82, - 0x71, - 0x82, - 0x72, - 0x82, - 0x73, - 0x82, - 0x74, - 0x82, - 0x75, - 0x82, - 0x76, - 0x82, - 0x77, - 0x82, - 0x78, - 0x82, - 0x79, - 0x81, - 0x6D, - 0x81, - 0x8F, - 0x81, - 0x6E, - 0x81, - 0x4F, - 0x81, - 0x51, - 0x81, - 0x65, - 0x82, - 0x81, - 0x82, - 0x82, - 0x82, - 0x83, - 0x82, - 0x84, - 0x82, - 0x85, - 0x82, - 0x86, - 0x82, - 0x87, - 0x82, - 0x88, - 0x82, - 0x89, - 0x82, - 0x8A, - 0x82, - 0x8B, - 0x82, - 0x8C, - 0x82, - 0x8D, - 0x82, - 0x8E, - 0x82, - 0x8F, - 0x82, - 0x90, - 0x82, - 0x91, - 0x82, - 0x92, - 0x82, - 0x93, - 0x82, - 0x94, - 0x82, - 0x95, - 0x82, - 0x96, - 0x82, - 0x97, - 0x82, - 0x98, - 0x82, - 0x99, - 0x82, - 0x9A, - 0x81, - 0x6F, - 0x81, - 0x62, - 0x81, - 0x70, - 0x81, - 0x60, - /* padding */ - 0x00, - 0x00, +static const u16 halftofull[95] = { + 0x8140, 0x8149, 0x8168, 0x8194, 0x8190, 0x8193, + 0x8195, 0x8166, 0x8169, 0x816A, 0x8196, 0x817B, + 0x8143, 0x817C, 0x8144, 0x815E, 0x824F, 0x8250, + 0x8251, 0x8252, 0x8253, 0x8254, 0x8255, 0x8256, + 0x8257, 0x8258, 0x8146, 0x8147, 0x8183, 0x8181, + 0x8184, 0x8148, 0x8197, 0x8260, 0x8261, 0x8262, + 0x8263, 0x8264, 0x8265, 0x8266, 0x8267, 0x8268, + 0x8269, 0x826A, 0x826B, 0x826C, 0x826D, 0x826E, + 0x826F, 0x8270, 0x8271, 0x8272, 0x8273, 0x8274, + 0x8275, 0x8276, 0x8277, 0x8278, 0x8279, 0x816D, + 0x818F, 0x816E, 0x814F, 0x8151, 0x8165, 0x8281, + 0x8282, 0x8283, 0x8284, 0x8285, 0x8286, 0x8287, + 0x8288, 0x8289, 0x828A, 0x828B, 0x828C, 0x828D, + 0x828E, 0x828F, 0x8290, 0x8291, 0x8292, 0x8293, + 0x8294, 0x8295, 0x8296, 0x8297, 0x8298, 0x8299, + 0x829A, 0x816F, 0x8162, 0x8170, 0x8160, }; -COMPILER_STRIP_GATE(0x8039D39C, &halftofull); /* 802DFDD8-802DFF60 2DA718 0188+00 2/2 0/0 0/0 .text getFontCode__10JUTResFontCFi */ +#ifdef NONMATCHING +// still many issues +int JUTResFont::getFontCode(int param_0) const { + int ret = mInf1Ptr->width; + if ((getFontType() == 2) && (mMaxCode >= 0x8000U) && (param_0 >= 0x20) && (param_0 < 0x7FU)) { + param_0 = halftofull[param_0 - 32]; + } + int j = 0; + for (int i = mMap1BlockNum; i > 0; j++, i--) { + if ((mpMapBlocks[j]->endCode <= param_0) && (param_0 <= mpMapBlocks[j]->numEntries)) { + ResFONT::MAP1* temp_r4 = mpMapBlocks[j]; + if (temp_r4->startCode == 0) { + ret = param_0 - temp_r4->endCode; + break; + } else if (temp_r4->startCode == 2) { + ret = *(&mpMapBlocks[j]->mLeading + ((param_0 - mpMapBlocks[j]->endCode))); + break; + } else if (temp_r4->startCode == 3) { + u16* leading_temp = &temp_r4->mLeading; + int phi_r5 = 0; + int phi_r6_2 = temp_r4->numEntries - 1; + + while (phi_r6_2 >= phi_r5) { + + u32 temp_r3 = phi_r6_2 + phi_r5; + int temp_r7 = (int)((temp_r3 >> 0x1FU) + phi_r6_2 + phi_r5) >> 1; + + if (param_0 < leading_temp[temp_r7 * 2]) { + phi_r6_2 = temp_r7 - 1; + continue; + } + + if (param_0 > leading_temp[temp_r7 * 2]) { + phi_r5 = temp_r7 + 1; + continue; + } + + ret = leading_temp[temp_r7 * 2 + 1]; + break; + } + } else if (temp_r4->startCode == 1) { + u16* phi_r5_2 = NULL; + if (temp_r4->numEntries == 1) { + phi_r5_2 = &temp_r4->mLeading; + } + ret = convertSjis(param_0, phi_r5_2); + break; + } + break; + } + } + return ret; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -615,8 +567,14 @@ asm int JUTResFont::getFontCode(int param_0) const { #include "asm/JSystem/JUtility/JUTResFont/getFontCode__10JUTResFontCFi.s" } #pragma pop +#endif /* 802DFF60-802E00C4 2DA8A0 0164+00 1/0 0/0 0/0 .text loadImage__10JUTResFontFi11_GXTexMapID */ +#ifdef NONMATCHING +asm void JUTResFont::loadImage(int param_0, _GXTexMapID param_1) { + +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -625,16 +583,25 @@ asm void JUTResFont::loadImage(int param_0, _GXTexMapID param_1) { #include "asm/JSystem/JUtility/JUTResFont/loadImage__10JUTResFontFi11_GXTexMapID.s" } #pragma pop +#endif /* 802E00C4-802E0108 2DAA04 0044+00 1/1 0/0 0/0 .text convertSjis__10JUTResFontCFiPUs */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JUTResFont::convertSjis(int param_0, u16* param_1) const { - nofralloc -#include "asm/JSystem/JUtility/JUTResFont/convertSjis__10JUTResFontCFiPUs.s" +int JUTResFont::convertSjis(int inChr, u16* inLead) const { + int tmp = inChr >> 8 & 0xFF; + int tmp2 = (u8)inChr - 0x40; + + if (0x40 <= tmp2) { + tmp2--; + } + + u16 lead = 0x31c; + + if (inLead) { + lead = *inLead; + } + + return tmp2 + (tmp - 0x88) * 0xbc + -0x5e + lead; } -#pragma pop /* 802E0108-802E0110 2DAA48 0008+00 1/0 0/0 0/0 .text isLeadByte_1Byte__7JUTFontFi */ bool JUTFont::isLeadByte_1Byte(int param_0) { diff --git a/rel/d/a/e/d_a_e_ge/d_a_e_ge.cpp b/rel/d/a/e/d_a_e_ge/d_a_e_ge.cpp index 2f94c264f7c..2fb59c9d020 100644 --- a/rel/d/a/e/d_a_e_ge/d_a_e_ge.cpp +++ b/rel/d/a/e/d_a_e_ge/d_a_e_ge.cpp @@ -1,268 +1,12 @@ -// -// Generated By: dol2asm -// Translation Unit: d_a_e_ge -// +/** + * d_a_e_ge.cpp + * Enemy - Guay + */ #include "rel/d/a/e/d_a_e_ge/d_a_e_ge.h" #include "dol2asm.h" #include "dolphin/types.h" -// -// Types: -// - -struct request_of_phase_process_class {}; - -struct csXyz {}; - -struct Vec {}; - -struct cXyz { - /* 80266B34 */ void operator-(Vec const&) const; - /* 80266B84 */ void operator*(f32) const; - /* 80266C18 */ void operator/(f32) const; - /* 8026706C */ bool operator!=(Vec const&) const; -}; - -struct mDoMtx_stack_c { - /* 8000CD64 */ void transS(cXyz const&); - /* 8000CF44 */ void ZXYrotM(csXyz const&); - - static u8 now[48]; -}; - -struct mDoExt_McaMorfCallBack2_c {}; - -struct mDoExt_McaMorfCallBack1_c {}; - -struct J3DAnmTransform {}; - -struct J3DModelData {}; - -struct Z2Creature {}; - -struct mDoExt_McaMorfSO { - /* 800107D0 */ mDoExt_McaMorfSO(J3DModelData*, mDoExt_McaMorfCallBack1_c*, - mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, int, f32, int, - int, Z2Creature*, u32, u32); - /* 80010E70 */ void setAnm(J3DAnmTransform*, int, f32, f32, f32, f32); - /* 800110B0 */ void play(u32, s8); - /* 800111C0 */ void entryDL(); - /* 800111EC */ void modelCalc(); -}; - -struct fopEn_enemy_c {}; - -struct fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); -}; - -struct daPy_py_c { - /* 8015F8D0 */ void getThrowBoomerangActor(); - - static u8 m_midnaActor[4]; -}; - -struct daE_GE_c { - /* 806C7AB8 */ void bckSet(int, f32, u8, f32); - /* 806C7B5C */ void bckCheck(int); - /* 806C7BB8 */ void draw(); - /* 806C7CAC */ void checkBeforeBg(int, f32); - /* 806C80F8 */ void setActionMode(int); - /* 806C8130 */ void damage_check(); - /* 806C8374 */ void checkOtherAttacker(); - /* 806C83F8 */ void searchNextAttacker(); - /* 806C84A0 */ void checkCircleSpeedAdd(cXyz*, cXyz*); - /* 806C8518 */ void setAddCalcSpeed(cXyz&, cXyz const&, f32, f32, f32, f32); - /* 806C88C8 */ void calcCircleFly(cXyz*, cXyz*, s16, f32, s16, f32); - /* 806C89C0 */ void executeWait(); - /* 806C8C20 */ void executeFly(); - /* 806C9150 */ void checkAttackPossible(s16, bool); - /* 806C921C */ void executeAttack(); - /* 806C9F04 */ void setBackAnime(int); - /* 806CA024 */ void executeBack(); - /* 806CAA34 */ void executeDown(); - /* 806CADCC */ void setSurpriseTime(s16); - /* 806CADF4 */ void setSurprise(); - /* 806CAE58 */ void executeSurprise(); - /* 806CB280 */ void setCaw(); - /* 806CB2F0 */ void executeCaw(); - /* 806CB6FC */ void executeWind(); - /* 806CBAB8 */ void executeShield(); - /* 806CBC38 */ void action(); - /* 806CBE98 */ void mtx_set(); - /* 806CBEF0 */ void cc_set(); - /* 806CC068 */ void execute(); - /* 806CC1E4 */ void _delete(); - /* 806CC278 */ void CreateHeap(); - /* 806CC390 */ void create(); - - static u8 l_actionmenu[108]; -}; - -struct daE_GE_HIO_c { - /* 806C7A4C */ daE_GE_HIO_c(); - /* 806CCA58 */ ~daE_GE_HIO_c(); -}; - -struct dSv_info_c { - /* 80035200 */ void onSwitch(int, int); - /* 80035360 */ void isSwitch(int, int) const; -}; - -struct dKy_tevstr_c {}; - -struct dScnKy_env_light_c { - /* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*); - /* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*); -}; - -struct dRes_info_c {}; - -struct dRes_control_c { - /* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int); -}; - -struct dPa_levelEcallBack {}; - -struct _GXColor {}; - -struct dPa_control_c { - /* 8004C218 */ void setHitMark(u16, fopAc_ac_c*, cXyz const*, csXyz const*, cXyz const*, u32); - /* 8004D4CC */ void set(u32, u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, - cXyz const*, u8, dPa_levelEcallBack*, s8, _GXColor const*, - _GXColor const*, cXyz const*, f32); - /* 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 dDlst_shadowControl_c { - static u8 mSimpleTexObj[32]; -}; - -struct dCcU_AtInfo {}; - -struct dCcD_Stts { - /* 80083860 */ void Init(int, int, fopAc_ac_c*); -}; - -struct dCcD_SrcSph {}; - -struct dCcD_Sph { - /* 80084A34 */ void Set(dCcD_SrcSph const&); -}; - -struct dCcD_GStts { - /* 80083760 */ dCcD_GStts(); - /* 80083830 */ void Move(); - /* 806CC8B4 */ ~dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 80084460 */ void ChkTgHit(); - /* 800844F8 */ void GetTgHitObj(); -}; - -struct dBgS_PolyPassChk { - /* 80078E68 */ void SetObj(); -}; - -struct dBgS_ObjAcch { - /* 806CC910 */ ~dBgS_ObjAcch(); -}; - -struct dBgS_LinChk { - /* 80077C68 */ dBgS_LinChk(); - /* 80077CDC */ ~dBgS_LinChk(); - /* 80077D64 */ void Set(cXyz const*, cXyz const*, fopAc_ac_c const*); -}; - -struct dBgS_GndChk { - /* 8007757C */ dBgS_GndChk(); - /* 800775F0 */ ~dBgS_GndChk(); -}; - -struct dBgS_AcchCir { - /* 80075EAC */ dBgS_AcchCir(); - /* 80075F58 */ void SetWall(f32, f32); - /* 806CC980 */ ~dBgS_AcchCir(); -}; - -struct dBgS {}; - -struct dBgS_Acch { - /* 80075F94 */ ~dBgS_Acch(); - /* 800760A0 */ dBgS_Acch(); - /* 80076248 */ void Set(cXyz*, cXyz*, fopAc_ac_c*, int, dBgS_AcchCir*, cXyz*, csXyz*, csXyz*); - /* 80076AAC */ void CrrPos(dBgS&); - /* 80077114 */ void SetGroundUpY(f32); -}; - -struct dAttention_c { - /* 8007353C */ void LockonTarget(s32); - /* 800737E4 */ void LockonTruth(); -}; - -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 8026F708 */ void SetR(f32); - /* 806CC824 */ ~cM3dGSph(); -}; - -struct cM3dGCir { - /* 8026EF18 */ ~cM3dGCir(); -}; - -struct cM3dGAab { - /* 806CC86C */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - -struct cCcS { - /* 80264BA8 */ void Set(cCcD_Obj*); -}; - -struct cCcD_GStts { - /* 806CCA10 */ ~cCcD_GStts(); -}; - -struct cBgS_PolyInfo { - /* 802680B0 */ ~cBgS_PolyInfo(); -}; - -struct cBgS_LinChk {}; - -struct cBgS_GndChk { - /* 80267D28 */ void SetPos(cXyz const*); -}; - -struct cBgS { - /* 800743B4 */ void LineCross(cBgS_LinChk*); - /* 800744A0 */ void GroundCross(cBgS_GndChk*); -}; - -struct _GXTexObj {}; - -struct Z2CreatureEnemy { - /* 802C0F64 */ Z2CreatureEnemy(); - /* 802C1094 */ void init(Vec*, Vec*, u8, u8); - /* 802C1B7C */ void setLinkSearch(bool); - /* 802C1B90 */ void setEnemyName(char const*); -}; - -struct JMath { - static u8 sincosTable_[65536]; -}; - -struct J3DModel {}; - -struct J3DFrameCtrl { - /* 8032842C */ void checkPass(f32); -}; - // // Forward References: // @@ -422,12 +166,12 @@ extern "C" void setEnemyName__15Z2CreatureEnemyFPCc(); extern "C" void* __nw__FUl(); extern "C" void __dl__FPv(); extern "C" void checkPass__12J3DFrameCtrlFf(); -extern "C" void PSMTXCopy(); -extern "C" void PSMTXMultVec(); -extern "C" void PSVECAdd(); -extern "C" void PSVECScale(); -extern "C" void PSVECSquareMag(); -extern "C" void PSVECSquareDistance(); +// extern "C" void PSMTXCopy(); +// extern "C" void PSMTXMultVec(); +// extern "C" void PSVECAdd(); +// extern "C" void PSVECScale(); +// extern "C" void PSVECSquareMag(); +// extern "C" void PSVECSquareDistance(); extern "C" void __ptmf_scall(); extern "C" void _savegpr_19(); extern "C" void _savegpr_25(); @@ -439,9 +183,9 @@ extern "C" void _restgpr_25(); extern "C" void _restgpr_27(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); -extern "C" void abs(); -extern "C" extern void* g_fopAc_Method[8]; -extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; +// extern "C" void abs(); +// extern "C" extern void* g_fopAc_Method[8]; +// extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; extern "C" extern void* __vt__8dCcD_Sph[36]; extern "C" extern void* __vt__9dCcD_Stts[11]; extern "C" extern void* __vt__12cCcD_SphAttr[25]; @@ -450,9 +194,9 @@ extern "C" extern void* __vt__9cCcD_Stts[8]; extern "C" u8 now__14mDoMtx_stack_c[48]; extern "C" extern u8 g_dComIfG_gameInfo[122384]; extern "C" u8 mSimpleTexObj__21dDlst_shadowControl_c[32]; -extern "C" extern u8 g_env_light[4880]; +// extern "C" extern u8 g_env_light[4880]; extern "C" u8 sincosTable___5JMath[65536]; -extern "C" extern u32 __float_nan; +// extern "C" extern u32 __float_nan; extern "C" u8 m_midnaActor__9daPy_py_c[4]; extern "C" void __register_global_object(); @@ -1597,7 +1341,8 @@ asm void daE_GE_c::create() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cM3dGSph::~cM3dGSph() { +// asm cM3dGSph::~cM3dGSph() { +extern "C" asm void __dt__8cM3dGSphFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_ge/d_a_e_ge/__dt__8cM3dGSphFv.s" } @@ -1607,7 +1352,8 @@ asm cM3dGSph::~cM3dGSph() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cM3dGAab::~cM3dGAab() { +// asm cM3dGAab::~cM3dGAab() { +extern "C" asm void __dt__8cM3dGAabFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_ge/d_a_e_ge/__dt__8cM3dGAabFv.s" } @@ -1617,7 +1363,8 @@ asm cM3dGAab::~cM3dGAab() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dCcD_GStts::~dCcD_GStts() { +// asm dCcD_GStts::~dCcD_GStts() { +extern "C" asm void __dt__10dCcD_GSttsFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_ge/d_a_e_ge/__dt__10dCcD_GSttsFv.s" } @@ -1627,7 +1374,8 @@ asm dCcD_GStts::~dCcD_GStts() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_ObjAcch::~dBgS_ObjAcch() { +// asm dBgS_ObjAcch::~dBgS_ObjAcch() { +extern "C" asm void __dt__12dBgS_ObjAcchFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_ge/d_a_e_ge/__dt__12dBgS_ObjAcchFv.s" } @@ -1637,7 +1385,8 @@ asm dBgS_ObjAcch::~dBgS_ObjAcch() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_AcchCir::~dBgS_AcchCir() { +// asm dBgS_AcchCir::~dBgS_AcchCir() { +extern "C" asm void __dt__12dBgS_AcchCirFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_ge/d_a_e_ge/__dt__12dBgS_AcchCirFv.s" } @@ -1657,7 +1406,8 @@ static asm void daE_GE_Create(daE_GE_c* param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cCcD_GStts::~cCcD_GStts() { +// asm cCcD_GStts::~cCcD_GStts() { +extern "C" asm void __dt__10cCcD_GSttsFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_ge/d_a_e_ge/__dt__10cCcD_GSttsFv.s" } diff --git a/rel/d/a/tag/d_a_tag_shop_camera/d_a_tag_shop_camera.cpp b/rel/d/a/tag/d_a_tag_shop_camera/d_a_tag_shop_camera.cpp index 08112ba6339..f6e4fae686e 100644 --- a/rel/d/a/tag/d_a_tag_shop_camera/d_a_tag_shop_camera.cpp +++ b/rel/d/a/tag/d_a_tag_shop_camera/d_a_tag_shop_camera.cpp @@ -1,69 +1,83 @@ -// -// Generated By: dol2asm -// Translation Unit: d_a_tag_shop_camera -// +/** + * d_a_tag_shop_camera.cpp + * Tag - Shop Camera + */ #include "rel/d/a/tag/d_a_tag_shop_camera/d_a_tag_shop_camera.h" #include "dol2asm.h" -#include "dolphin/types.h" +#include "d/d_procname.h" -// -// Types: -// -struct fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); - /* 80018C8C */ ~fopAc_ac_c(); -}; +/* 80D60898-80D608FC 000078 0064+00 1/1 0/0 0/0 .text create__18daTag_ShopCamera_cFv */ +int daTag_ShopCamera_c::create() { + if (!fopAcM_CheckCondition(this, 8)) { + new (this) daTag_ShopCamera_c(); + fopAcM_OnCondition(this, 8); + } + initialize(); + return cPhs_COMPLEATE_e; +} -struct daTag_ShopCamera_c { - /* 80D60898 */ void create(); - /* 80D608FC */ bool Delete(); - /* 80D60904 */ bool Execute(); - /* 80D6090C */ bool Draw(); - /* 80D60914 */ void initialize(); - /* 80D60A18 */ ~daTag_ShopCamera_c(); -}; +/* 80D608FC-80D60904 0000DC 0008+00 1/1 0/0 0/0 .text Delete__18daTag_ShopCamera_cFv */ +int daTag_ShopCamera_c::Delete() { + return 1; +} -// -// Forward References: -// +/* 80D60904-80D6090C 0000E4 0008+00 1/1 0/0 0/0 .text Execute__18daTag_ShopCamera_cFv */ +int daTag_ShopCamera_c::Execute() { + return 1; +} -extern "C" void create__18daTag_ShopCamera_cFv(); -extern "C" bool Delete__18daTag_ShopCamera_cFv(); -extern "C" bool Execute__18daTag_ShopCamera_cFv(); -extern "C" bool Draw__18daTag_ShopCamera_cFv(); -extern "C" void initialize__18daTag_ShopCamera_cFv(); -extern "C" static void daTag_ShopCamera_Create__FPv(); -extern "C" static void daTag_ShopCamera_Delete__FPv(); -extern "C" static void daTag_ShopCamera_Execute__FPv(); -extern "C" static void daTag_ShopCamera_Draw__FPv(); -extern "C" static bool daTag_ShopCamera_IsDelete__FPv(); -extern "C" void __dt__18daTag_ShopCamera_cFv(); +/* 80D6090C-80D60914 0000EC 0008+00 1/1 0/0 0/0 .text Draw__18daTag_ShopCamera_cFv */ +int daTag_ShopCamera_c::Draw() { + return 1; +} -// -// External References: -// +/* 80D60914-80D60990 0000F4 007C+00 1/1 0/0 0/0 .text initialize__18daTag_ShopCamera_cFv + */ + +void daTag_ShopCamera_c::initialize() { + fopAcM_setCullSizeBox(this,-30.0f,-15.0f,-30.0f,30.0f,45.0f,30.0f); + mAttentionInfo.mFlags = 0; + current.angle.set(0,orig.angle.y,0); + shape_angle = current.angle; +} -extern "C" void __ct__10fopAc_ac_cFv(); -extern "C" void __dt__10fopAc_ac_cFv(); -extern "C" void fopAcM_setCullSizeBox__FP10fopAc_ac_cffffff(); -extern "C" void __dl__FPv(); -extern "C" extern void* g_fopAc_Method[8]; -extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; +/* 80D60990-80D609B0 000170 0020+00 1/0 0/0 0/0 .text daTag_ShopCamera_Create__FPv */ +static int daTag_ShopCamera_Create(void* i_this) { + return static_cast(i_this)->create(); +} -// -// Declarations: -// +/* 80D609B0-80D609D0 000190 0020+00 1/0 0/0 0/0 .text daTag_ShopCamera_Delete__FPv */ +static int daTag_ShopCamera_Delete(void* i_this) { + return static_cast(i_this)->Delete(); +} + +/* 80D609D0-80D609F0 0001B0 0020+00 1/0 0/0 0/0 .text daTag_ShopCamera_Execute__FPv */ +static int daTag_ShopCamera_Execute(void* i_this) { + return static_cast(i_this)->Execute(); +} + +/* 80D609F0-80D60A10 0001D0 0020+00 1/0 0/0 0/0 .text daTag_ShopCamera_Draw__FPv */ +static int daTag_ShopCamera_Draw(void* i_this) { + return static_cast(i_this)->Draw(); +} + +/* 80D60A10-80D60A18 0001F0 0008+00 1/0 0/0 0/0 .text daTag_ShopCamera_IsDelete__FPv */ +static int daTag_ShopCamera_IsDelete(void* param_0) { + return 1; +} + +// settings these up properly causes the match to fail? /* ############################################################################################## */ /* 80D60A90-80D60AB0 -00001 0020+00 1/0 0/0 0/0 .data daTag_ShopCamera_MethodTable */ SECTION_DATA static void* daTag_ShopCamera_MethodTable[8] = { - (void*)daTag_ShopCamera_Create__FPv, - (void*)daTag_ShopCamera_Delete__FPv, - (void*)daTag_ShopCamera_Execute__FPv, - (void*)daTag_ShopCamera_IsDelete__FPv, - (void*)daTag_ShopCamera_Draw__FPv, + (void*)daTag_ShopCamera_Create, + (void*)daTag_ShopCamera_Delete, + (void*)daTag_ShopCamera_Execute, + (void*)daTag_ShopCamera_IsDelete, + (void*)daTag_ShopCamera_Draw, (void*)NULL, (void*)NULL, (void*)NULL, @@ -77,128 +91,4 @@ SECTION_DATA extern void* g_profile_TAG_SHOPCAM[12] = { (void*)NULL, (void*)&g_fopAc_Method, (void*)0x004A0000, (void*)&daTag_ShopCamera_MethodTable, (void*)0x00064100, (void*)0x050E0000, -}; - -/* 80D60AE0-80D60AEC 000050 000C+00 2/2 0/0 0/0 .data __vt__18daTag_ShopCamera_c */ -SECTION_DATA extern void* __vt__18daTag_ShopCamera_c[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__18daTag_ShopCamera_cFv, -}; - -/* 80D60898-80D608FC 000078 0064+00 1/1 0/0 0/0 .text create__18daTag_ShopCamera_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daTag_ShopCamera_c::create() { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_shop_camera/d_a_tag_shop_camera/create__18daTag_ShopCamera_cFv.s" -} -#pragma pop - -/* 80D608FC-80D60904 0000DC 0008+00 1/1 0/0 0/0 .text Delete__18daTag_ShopCamera_cFv */ -bool daTag_ShopCamera_c::Delete() { - return true; -} - -/* 80D60904-80D6090C 0000E4 0008+00 1/1 0/0 0/0 .text Execute__18daTag_ShopCamera_cFv */ -bool daTag_ShopCamera_c::Execute() { - return true; -} - -/* 80D6090C-80D60914 0000EC 0008+00 1/1 0/0 0/0 .text Draw__18daTag_ShopCamera_cFv */ -bool daTag_ShopCamera_c::Draw() { - return true; -} - -/* ############################################################################################## */ -/* 80D60A80-80D60A84 000000 0004+00 1/1 0/0 0/0 .rodata @3663 */ -SECTION_RODATA static f32 const lit_3663 = -30.0f; -COMPILER_STRIP_GATE(0x80D60A80, &lit_3663); - -/* 80D60A84-80D60A88 000004 0004+00 0/1 0/0 0/0 .rodata @3664 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3664 = -15.0f; -COMPILER_STRIP_GATE(0x80D60A84, &lit_3664); -#pragma pop - -/* 80D60A88-80D60A8C 000008 0004+00 0/1 0/0 0/0 .rodata @3665 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3665 = 30.0f; -COMPILER_STRIP_GATE(0x80D60A88, &lit_3665); -#pragma pop - -/* 80D60A8C-80D60A90 00000C 0004+00 0/1 0/0 0/0 .rodata @3666 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3666 = 45.0f; -COMPILER_STRIP_GATE(0x80D60A8C, &lit_3666); -#pragma pop - -/* 80D60914-80D60990 0000F4 007C+00 1/1 0/0 0/0 .text initialize__18daTag_ShopCamera_cFv - */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daTag_ShopCamera_c::initialize() { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_shop_camera/d_a_tag_shop_camera/initialize__18daTag_ShopCamera_cFv.s" -} -#pragma pop - -/* 80D60990-80D609B0 000170 0020+00 1/0 0/0 0/0 .text daTag_ShopCamera_Create__FPv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daTag_ShopCamera_Create(void* param_0) { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_shop_camera/d_a_tag_shop_camera/daTag_ShopCamera_Create__FPv.s" -} -#pragma pop - -/* 80D609B0-80D609D0 000190 0020+00 1/0 0/0 0/0 .text daTag_ShopCamera_Delete__FPv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daTag_ShopCamera_Delete(void* param_0) { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_shop_camera/d_a_tag_shop_camera/daTag_ShopCamera_Delete__FPv.s" -} -#pragma pop - -/* 80D609D0-80D609F0 0001B0 0020+00 1/0 0/0 0/0 .text daTag_ShopCamera_Execute__FPv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daTag_ShopCamera_Execute(void* param_0) { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_shop_camera/d_a_tag_shop_camera/daTag_ShopCamera_Execute__FPv.s" -} -#pragma pop - -/* 80D609F0-80D60A10 0001D0 0020+00 1/0 0/0 0/0 .text daTag_ShopCamera_Draw__FPv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daTag_ShopCamera_Draw(void* param_0) { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_shop_camera/d_a_tag_shop_camera/daTag_ShopCamera_Draw__FPv.s" -} -#pragma pop - -/* 80D60A10-80D60A18 0001F0 0008+00 1/0 0/0 0/0 .text daTag_ShopCamera_IsDelete__FPv */ -static bool daTag_ShopCamera_IsDelete(void* param_0) { - return true; -} - -/* 80D60A18-80D60A78 0001F8 0060+00 1/0 0/0 0/0 .text __dt__18daTag_ShopCamera_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm daTag_ShopCamera_c::~daTag_ShopCamera_c() { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_shop_camera/d_a_tag_shop_camera/__dt__18daTag_ShopCamera_cFv.s" -} -#pragma pop +}; \ No newline at end of file diff --git a/rel/d/a/tag/d_a_tag_watchge/d_a_tag_watchge.cpp b/rel/d/a/tag/d_a_tag_watchge/d_a_tag_watchge.cpp index 339072f8962..d5307a4b65c 100644 --- a/rel/d/a/tag/d_a_tag_watchge/d_a_tag_watchge.cpp +++ b/rel/d/a/tag/d_a_tag_watchge/d_a_tag_watchge.cpp @@ -1,161 +1,129 @@ -// -// Generated By: dol2asm -// Translation Unit: d_a_tag_watchge -// +/** + * d_a_tag_watchge.cpp + * Tag - Guay + */ #include "rel/d/a/tag/d_a_tag_watchge/d_a_tag_watchge.h" -#include "dol2asm.h" -#include "dolphin/types.h" - -// -// Types: -// - -struct fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); -}; - -struct daTagWatchGe_c { - /* 80D642D8 */ bool draw(); - /* 80D64338 */ void execute(); - /* 80D643F8 */ void create(); -}; - -struct dSv_info_c { - /* 80035200 */ void onSwitch(int, int); - /* 80035360 */ void isSwitch(int, int) const; -}; - -// -// Forward References: -// - -extern "C" bool draw__14daTagWatchGe_cFv(); -extern "C" static void daTagWatchGe_Draw__FP14daTagWatchGe_c(); -extern "C" static void s_watchge__FPvPv(); -extern "C" void execute__14daTagWatchGe_cFv(); -extern "C" static void daTagWatchGe_Execute__FP14daTagWatchGe_c(); -extern "C" static bool daTagWatchGe_IsDelete__FP14daTagWatchGe_c(); -extern "C" static bool daTagWatchGe_Delete__FP14daTagWatchGe_c(); -extern "C" void create__14daTagWatchGe_cFv(); -extern "C" static void daTagWatchGe_Create__FP14daTagWatchGe_c(); -extern "C" extern void* g_profile_Tag_WatchGe[12]; - -// -// External References: -// - -extern "C" void __ct__10fopAc_ac_cFv(); -extern "C" void fopAcIt_Judge__FPFPvPv_PvPv(); -extern "C" void fopAcM_delete__FP10fopAc_ac_c(); -extern "C" void onSwitch__10dSv_info_cFii(); -extern "C" void isSwitch__10dSv_info_cCFii(); -extern "C" extern void* g_fopAc_Method[8]; -extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; -extern "C" extern u8 g_dComIfG_gameInfo[122384]; - -// -// Declarations: -// +#include "d/d_procname.h" /* 80D642D8-80D642E0 000078 0008+00 1/1 0/0 0/0 .text draw__14daTagWatchGe_cFv */ -bool daTagWatchGe_c::draw() { - return true; +int daTagWatchGe_c::draw() { + return 1; } /* 80D642E0-80D64300 000080 0020+00 1/0 0/0 0/0 .text daTagWatchGe_Draw__FP14daTagWatchGe_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daTagWatchGe_Draw(daTagWatchGe_c* param_0) { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_watchge/d_a_tag_watchge/daTagWatchGe_Draw__FP14daTagWatchGe_c.s" +static int daTagWatchGe_Draw(daTagWatchGe_c* i_this) { + return i_this->draw(); } -#pragma pop /* ############################################################################################## */ /* 80D64528-80D6452C 000000 0004+00 2/2 0/0 0/0 .bss m_group_count */ -static u8 m_group_count[4]; +static s32 m_group_count; /* 80D64300-80D64338 0000A0 0038+00 1/1 0/0 0/0 .text s_watchge__FPvPv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void s_watchge(void* param_0, void* param_1) { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_watchge/d_a_tag_watchge/s_watchge__FPvPv.s" +static void* s_watchge(void* i_guayP, void* i_this) { + u8 group_no = static_cast(i_this)->getGroupNo(); + if (fopAcM_GetName(i_guayP) == PROC_E_GE) { + if (static_cast(i_guayP)->getGroupNo() == group_no) { + m_group_count++; + } + } + + return 0; } -#pragma pop /* 80D64338-80D643C8 0000D8 0090+00 1/1 0/0 0/0 .text execute__14daTagWatchGe_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daTagWatchGe_c::execute() { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_watchge/d_a_tag_watchge/execute__14daTagWatchGe_cFv.s" +int daTagWatchGe_c::execute() { + if (field_0x56a != 0) { + field_0x56a--; + } else { + m_group_count = 0; + fopAcM_Search(s_watchge,this); + + if (m_group_count == 0) { + dComIfGs_onSwitch(field_0x568,fopAcM_GetRoomNo(this)); + fopAcM_delete(this); + } + } + + return 1; } -#pragma pop /* 80D643C8-80D643E8 000168 0020+00 1/0 0/0 0/0 .text daTagWatchGe_Execute__FP14daTagWatchGe_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daTagWatchGe_Execute(daTagWatchGe_c* param_0) { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_watchge/d_a_tag_watchge/daTagWatchGe_Execute__FP14daTagWatchGe_c.s" +static int daTagWatchGe_Execute(daTagWatchGe_c* i_this) { + return i_this->execute(); } -#pragma pop /* 80D643E8-80D643F0 000188 0008+00 1/0 0/0 0/0 .text daTagWatchGe_IsDelete__FP14daTagWatchGe_c */ -static bool daTagWatchGe_IsDelete(daTagWatchGe_c* param_0) { - return true; +static int daTagWatchGe_IsDelete(daTagWatchGe_c* i_this) { + return 1; } /* 80D643F0-80D643F8 000190 0008+00 1/0 0/0 0/0 .text daTagWatchGe_Delete__FP14daTagWatchGe_c */ -static bool daTagWatchGe_Delete(daTagWatchGe_c* param_0) { - return true; +static int daTagWatchGe_Delete(daTagWatchGe_c* i_this) { + return 1; } /* 80D643F8-80D644B0 000198 00B8+00 1/1 0/0 0/0 .text create__14daTagWatchGe_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daTagWatchGe_c::create() { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_watchge/d_a_tag_watchge/create__14daTagWatchGe_cFv.s" +int daTagWatchGe_c::create() { + if (!fopAcM_CheckCondition(this, 8)) { + new (this) daTagWatchGe_c(); + fopAcM_OnCondition(this, 8); + } + + mGroupNo = fopAcM_GetParam(this); + + if (mGroupNo == 0xFF) { + return cPhs_ERROR_e; + } else { + field_0x568 = fopAcM_GetParam(this) >> 8; + + if (field_0x568 == 0xFF) { + return cPhs_ERROR_e; + } + if (dComIfGs_isSwitch(field_0x568,fopAcM_GetRoomNo(this)) != 0) { + return cPhs_ERROR_e; + } + } + + field_0x56a = 0x1e; + return cPhs_COMPLEATE_e; } -#pragma pop /* 80D644B0-80D644D0 000250 0020+00 1/0 0/0 0/0 .text daTagWatchGe_Create__FP14daTagWatchGe_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daTagWatchGe_Create(daTagWatchGe_c* param_0) { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_watchge/d_a_tag_watchge/daTagWatchGe_Create__FP14daTagWatchGe_c.s" +static int daTagWatchGe_Create(daTagWatchGe_c* i_this) { + return i_this->create(); } -#pragma pop /* ############################################################################################## */ /* 80D644D8-80D644F8 -00001 0020+00 1/0 0/0 0/0 .data l_daTagWatchGe_Method */ -SECTION_DATA static void* l_daTagWatchGe_Method[8] = { - (void*)daTagWatchGe_Create__FP14daTagWatchGe_c, - (void*)daTagWatchGe_Delete__FP14daTagWatchGe_c, - (void*)daTagWatchGe_Execute__FP14daTagWatchGe_c, - (void*)daTagWatchGe_IsDelete__FP14daTagWatchGe_c, - (void*)daTagWatchGe_Draw__FP14daTagWatchGe_c, - (void*)NULL, - (void*)NULL, - (void*)NULL, +static actor_method_class l_daTagWatchGe_Method = { + (process_method_func)daTagWatchGe_Create, + (process_method_func)daTagWatchGe_Delete, + (process_method_func)daTagWatchGe_Execute, + (process_method_func)daTagWatchGe_IsDelete, + (process_method_func)daTagWatchGe_Draw }; /* 80D644F8-80D64528 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Tag_WatchGe */ -SECTION_DATA extern void* g_profile_Tag_WatchGe[12] = { - (void*)0xFFFFFFFD, (void*)0x0007FFFD, - (void*)0x01F30000, (void*)&g_fpcLf_Method, - (void*)0x0000056C, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x00C10000, (void*)&l_daTagWatchGe_Method, - (void*)0x00044000, (void*)NULL, +extern actor_process_profile_definition g_profile_Tag_WatchGe = { + -3, // mLayerID + 7, // mListID + -3, // mListPrio + PROC_Tag_WatchGe, // mProcName + 0, // padding + &g_fpcLf_Method.mBase, // mSubMtd + sizeof(daTagWatchGe_c), // mSize + 0, // mSizeOther + 0, // mParameters + &g_fopAc_Method.base, // mSubMtd + 0x00C1, // mPriority + 0, // padding + 0, // padding + &l_daTagWatchGe_Method, // mSubMtd + 0x00044000, // mStatus + 0, // mActorType + 0, // mCullType + 0, // padding + 0 // padding };