From 99d891c7a4a340cfe3f6ad0f6a3c3e0daee635b7 Mon Sep 17 00:00:00 2001 From: Noah McQueen <67965519+Yotona@users.noreply.github.com> Date: Thu, 25 May 2023 00:06:38 -0700 Subject: [PATCH 1/8] d_msg_scrn_arrow OK (#337) * Mostly matching * d_msg_scrn_arrow OK * sync --- Progress.md | 8 +- .../__ct__15dMsgScrnArrow_cFv.s | 182 ----------- .../__dt__15dMsgScrnArrow_cFv.s | 90 ------ .../arwAnimeInit__15dMsgScrnArrow_cFv.s | 24 -- .../arwAnimeMove__15dMsgScrnArrow_cFv.s | 82 ----- .../dotAnimeInit__15dMsgScrnArrow_cFv.s | 20 -- .../dotAnimeMove__15dMsgScrnArrow_cFv.s | 55 ---- .../draw__15dMsgScrnArrow_cFv.s | 15 - .../setPos__15dMsgScrnArrow_cFff.s | 16 - include/msg/scrn/d_msg_scrn_arrow.h | 27 ++ src/msg/scrn/d_msg_scrn_arrow.cpp | 289 +++++++----------- 11 files changed, 134 insertions(+), 674 deletions(-) delete mode 100644 asm/msg/scrn/d_msg_scrn_arrow/__ct__15dMsgScrnArrow_cFv.s delete mode 100644 asm/msg/scrn/d_msg_scrn_arrow/__dt__15dMsgScrnArrow_cFv.s delete mode 100644 asm/msg/scrn/d_msg_scrn_arrow/arwAnimeInit__15dMsgScrnArrow_cFv.s delete mode 100644 asm/msg/scrn/d_msg_scrn_arrow/arwAnimeMove__15dMsgScrnArrow_cFv.s delete mode 100644 asm/msg/scrn/d_msg_scrn_arrow/dotAnimeInit__15dMsgScrnArrow_cFv.s delete mode 100644 asm/msg/scrn/d_msg_scrn_arrow/dotAnimeMove__15dMsgScrnArrow_cFv.s delete mode 100644 asm/msg/scrn/d_msg_scrn_arrow/draw__15dMsgScrnArrow_cFv.s delete mode 100644 asm/msg/scrn/d_msg_scrn_arrow/setPos__15dMsgScrnArrow_cFff.s diff --git a/Progress.md b/Progress.md index 5f7aef9154..bad404fea8 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 | 26.773703% | 962928 | 3596544 +.text | 26.824641% | 964760 | 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 | 34.493338% | 1386864 | 4020672 +Total | 34.538903% | 1388696 | 4020672 ## Total Section | Percentage | Decompiled (bytes) | Total (bytes) ---|---|---|--- -main.dol | 34.493338% | 1386864 | 4020672 +main.dol | 34.538903% | 1388696 | 4020672 RELs | 33.578532% | 3861640 | 11500324 -Total | 33.815510% | 5248504 | 15520996 +Total | 33.827314% | 5250336 | 15520996 ## RELs diff --git a/asm/msg/scrn/d_msg_scrn_arrow/__ct__15dMsgScrnArrow_cFv.s b/asm/msg/scrn/d_msg_scrn_arrow/__ct__15dMsgScrnArrow_cFv.s deleted file mode 100644 index 1edf5db510..0000000000 --- a/asm/msg/scrn/d_msg_scrn_arrow/__ct__15dMsgScrnArrow_cFv.s +++ /dev/null @@ -1,182 +0,0 @@ -lbl_8023B9B4: -/* 8023B9B4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8023B9B8 7C 08 02 A6 */ mflr r0 -/* 8023B9BC 90 01 00 14 */ stw r0, 0x14(r1) -/* 8023B9C0 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8023B9C4 93 C1 00 08 */ stw r30, 8(r1) -/* 8023B9C8 7C 7F 1B 78 */ mr r31, r3 -/* 8023B9CC 3C 80 80 3C */ lis r4, __vt__15dMsgScrnArrow_c@ha /* 0x803C0CF8@ha */ -/* 8023B9D0 38 04 0C F8 */ addi r0, r4, __vt__15dMsgScrnArrow_c@l /* 0x803C0CF8@l */ -/* 8023B9D4 90 03 00 00 */ stw r0, 0(r3) -/* 8023B9D8 38 60 01 18 */ li r3, 0x118 -/* 8023B9DC 48 09 32 71 */ bl __nw__FUl -/* 8023B9E0 7C 60 1B 79 */ or. r0, r3, r3 -/* 8023B9E4 41 82 00 0C */ beq lbl_8023B9F0 -/* 8023B9E8 48 0B CA B1 */ bl __ct__9J2DScreenFv -/* 8023B9EC 7C 60 1B 78 */ mr r0, r3 -lbl_8023B9F0: -/* 8023B9F0 90 1F 00 04 */ stw r0, 4(r31) -/* 8023B9F4 80 7F 00 04 */ lwz r3, 4(r31) -/* 8023B9F8 3C 80 80 3A */ lis r4, msg_scrn_d_msg_scrn_arrow__stringBase0@ha /* 0x803998A0@ha */ -/* 8023B9FC 38 84 98 A0 */ addi r4, r4, msg_scrn_d_msg_scrn_arrow__stringBase0@l /* 0x803998A0@l */ -/* 8023BA00 3C A0 00 02 */ lis r5, 2 -/* 8023BA04 3C C0 80 40 */ lis r6, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8023BA08 3B C6 61 C0 */ addi r30, r6, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8023BA0C 80 DE 5C 6C */ lwz r6, 0x5c6c(r30) -/* 8023BA10 48 0B CC 39 */ bl setPriority__9J2DScreenFPCcUlP10JKRArchive -/* 8023BA14 80 7F 00 04 */ lwz r3, 4(r31) -/* 8023BA18 48 01 96 D1 */ bl dPaneClass_showNullPane__FP9J2DScreen -/* 8023BA1C 38 60 00 04 */ li r3, 4 -/* 8023BA20 64 63 00 04 */ oris r3, r3, 4 -/* 8023BA24 7C 72 E3 A6 */ mtspr 0x392, r3 -/* 8023BA28 38 60 00 05 */ li r3, 5 -/* 8023BA2C 64 63 00 05 */ oris r3, r3, 5 -/* 8023BA30 7C 73 E3 A6 */ mtspr 0x393, r3 -/* 8023BA34 38 60 00 06 */ li r3, 6 -/* 8023BA38 64 63 00 06 */ oris r3, r3, 6 -/* 8023BA3C 7C 74 E3 A6 */ mtspr 0x394, r3 -/* 8023BA40 38 60 00 07 */ li r3, 7 -/* 8023BA44 64 63 00 07 */ oris r3, r3, 7 -/* 8023BA48 7C 75 E3 A6 */ mtspr 0x395, r3 -/* 8023BA4C 3C 80 80 3A */ lis r4, msg_scrn_d_msg_scrn_arrow__stringBase0@ha /* 0x803998A0@ha */ -/* 8023BA50 38 84 98 A0 */ addi r4, r4, msg_scrn_d_msg_scrn_arrow__stringBase0@l /* 0x803998A0@l */ -/* 8023BA54 38 64 00 1B */ addi r3, r4, 0x1b -/* 8023BA58 80 9E 5C 6C */ lwz r4, 0x5c6c(r30) -/* 8023BA5C 48 09 88 15 */ bl getGlbResource__13JKRFileLoaderFPCcP13JKRFileLoader -/* 8023BA60 48 0C D0 0D */ bl load__20J2DAnmLoaderDataBaseFPCv -/* 8023BA64 90 7F 00 08 */ stw r3, 8(r31) -/* 8023BA68 C0 02 B1 98 */ lfs f0, lit_3662(r2) -/* 8023BA6C D0 1F 00 1C */ stfs f0, 0x1c(r31) -/* 8023BA70 3C 80 80 3A */ lis r4, msg_scrn_d_msg_scrn_arrow__stringBase0@ha /* 0x803998A0@ha */ -/* 8023BA74 38 84 98 A0 */ addi r4, r4, msg_scrn_d_msg_scrn_arrow__stringBase0@l /* 0x803998A0@l */ -/* 8023BA78 38 64 00 36 */ addi r3, r4, 0x36 -/* 8023BA7C 80 9E 5C 6C */ lwz r4, 0x5c6c(r30) -/* 8023BA80 48 09 87 F1 */ bl getGlbResource__13JKRFileLoaderFPCcP13JKRFileLoader -/* 8023BA84 48 0C CF E9 */ bl load__20J2DAnmLoaderDataBaseFPCv -/* 8023BA88 90 7F 00 0C */ stw r3, 0xc(r31) -/* 8023BA8C 80 7F 00 0C */ lwz r3, 0xc(r31) -/* 8023BA90 80 9F 00 04 */ lwz r4, 4(r31) -/* 8023BA94 81 83 00 00 */ lwz r12, 0(r3) -/* 8023BA98 81 8C 00 0C */ lwz r12, 0xc(r12) -/* 8023BA9C 7D 89 03 A6 */ mtctr r12 -/* 8023BAA0 4E 80 04 21 */ bctrl -/* 8023BAA4 C0 02 B1 98 */ lfs f0, lit_3662(r2) -/* 8023BAA8 D0 1F 00 20 */ stfs f0, 0x20(r31) -/* 8023BAAC 38 60 00 6C */ li r3, 0x6c -/* 8023BAB0 48 09 31 9D */ bl __nw__FUl -/* 8023BAB4 7C 60 1B 79 */ or. r0, r3, r3 -/* 8023BAB8 41 82 00 28 */ beq lbl_8023BAE0 -/* 8023BABC 80 9F 00 04 */ lwz r4, 4(r31) -/* 8023BAC0 3C A0 79 61 */ lis r5, 0x7961 /* 0x79615F6E@ha */ -/* 8023BAC4 38 C5 5F 6E */ addi r6, r5, 0x5F6E /* 0x79615F6E@l */ -/* 8023BAC8 3C A0 73 65 */ lis r5, 0x7365 /* 0x7365745F@ha */ -/* 8023BACC 38 A5 74 5F */ addi r5, r5, 0x745F /* 0x7365745F@l */ -/* 8023BAD0 38 E0 00 00 */ li r7, 0 -/* 8023BAD4 39 00 00 00 */ li r8, 0 -/* 8023BAD8 48 01 7E AD */ bl __ct__8CPaneMgrFP9J2DScreenUxUcP10JKRExpHeap -/* 8023BADC 7C 60 1B 78 */ mr r0, r3 -lbl_8023BAE0: -/* 8023BAE0 90 1F 00 10 */ stw r0, 0x10(r31) -/* 8023BAE4 38 60 00 6C */ li r3, 0x6c -/* 8023BAE8 48 09 31 65 */ bl __nw__FUl -/* 8023BAEC 7C 60 1B 79 */ or. r0, r3, r3 -/* 8023BAF0 41 82 00 28 */ beq lbl_8023BB18 -/* 8023BAF4 80 9F 00 04 */ lwz r4, 4(r31) -/* 8023BAF8 3C A0 6E 65 */ lis r5, 0x6E65 /* 0x6E657874@ha */ -/* 8023BAFC 38 C5 78 74 */ addi r6, r5, 0x7874 /* 0x6E657874@l */ -/* 8023BB00 3C A0 00 79 */ lis r5, 0x0079 /* 0x0079615F@ha */ -/* 8023BB04 38 A5 61 5F */ addi r5, r5, 0x615F /* 0x0079615F@l */ -/* 8023BB08 38 E0 00 00 */ li r7, 0 -/* 8023BB0C 39 00 00 00 */ li r8, 0 -/* 8023BB10 48 01 7E 75 */ bl __ct__8CPaneMgrFP9J2DScreenUxUcP10JKRExpHeap -/* 8023BB14 7C 60 1B 78 */ mr r0, r3 -lbl_8023BB18: -/* 8023BB18 90 1F 00 14 */ stw r0, 0x14(r31) -/* 8023BB1C 80 7F 00 14 */ lwz r3, 0x14(r31) -/* 8023BB20 48 01 9A E9 */ bl hide__13CPaneMgrAlphaFv -/* 8023BB24 80 9F 00 14 */ lwz r4, 0x14(r31) -/* 8023BB28 80 64 00 04 */ lwz r3, 4(r4) -/* 8023BB2C 80 9F 00 08 */ lwz r4, 8(r31) -/* 8023BB30 81 83 00 00 */ lwz r12, 0(r3) -/* 8023BB34 81 8C 00 60 */ lwz r12, 0x60(r12) -/* 8023BB38 7D 89 03 A6 */ mtctr r12 -/* 8023BB3C 4E 80 04 21 */ bctrl -/* 8023BB40 80 7F 00 04 */ lwz r3, 4(r31) -/* 8023BB44 3C 80 6E 65 */ lis r4, 0x6E65 /* 0x6E657874@ha */ -/* 8023BB48 38 C4 78 74 */ addi r6, r4, 0x7874 /* 0x6E657874@l */ -/* 8023BB4C 3C 80 00 79 */ lis r4, 0x0079 /* 0x0079616A@ha */ -/* 8023BB50 38 A4 61 6A */ addi r5, r4, 0x616A /* 0x0079616A@l */ -/* 8023BB54 81 83 00 00 */ lwz r12, 0(r3) -/* 8023BB58 81 8C 00 3C */ lwz r12, 0x3c(r12) -/* 8023BB5C 7D 89 03 A6 */ mtctr r12 -/* 8023BB60 4E 80 04 21 */ bctrl -/* 8023BB64 80 9F 00 0C */ lwz r4, 0xc(r31) -/* 8023BB68 81 83 00 00 */ lwz r12, 0(r3) -/* 8023BB6C 81 8C 00 64 */ lwz r12, 0x64(r12) -/* 8023BB70 7D 89 03 A6 */ mtctr r12 -/* 8023BB74 4E 80 04 21 */ bctrl -/* 8023BB78 80 7F 00 04 */ lwz r3, 4(r31) -/* 8023BB7C 3C 80 6E 65 */ lis r4, 0x6E65 /* 0x6E65786C@ha */ -/* 8023BB80 38 C4 78 6C */ addi r6, r4, 0x786C /* 0x6E65786C@l */ -/* 8023BB84 3C 80 79 61 */ lis r4, 0x7961 /* 0x79616A69@ha */ -/* 8023BB88 38 A4 6A 69 */ addi r5, r4, 0x6A69 /* 0x79616A69@l */ -/* 8023BB8C 81 83 00 00 */ lwz r12, 0(r3) -/* 8023BB90 81 8C 00 3C */ lwz r12, 0x3c(r12) -/* 8023BB94 7D 89 03 A6 */ mtctr r12 -/* 8023BB98 4E 80 04 21 */ bctrl -/* 8023BB9C 80 9F 00 0C */ lwz r4, 0xc(r31) -/* 8023BBA0 81 83 00 00 */ lwz r12, 0(r3) -/* 8023BBA4 81 8C 00 64 */ lwz r12, 0x64(r12) -/* 8023BBA8 7D 89 03 A6 */ mtctr r12 -/* 8023BBAC 4E 80 04 21 */ bctrl -/* 8023BBB0 38 60 00 6C */ li r3, 0x6c -/* 8023BBB4 48 09 30 99 */ bl __nw__FUl -/* 8023BBB8 7C 60 1B 79 */ or. r0, r3, r3 -/* 8023BBBC 41 82 00 24 */ beq lbl_8023BBE0 -/* 8023BBC0 80 9F 00 04 */ lwz r4, 4(r31) -/* 8023BBC4 3C A0 5F 65 */ lis r5, 0x5F65 /* 0x5F656E64@ha */ -/* 8023BBC8 38 C5 6E 64 */ addi r6, r5, 0x6E64 /* 0x5F656E64@l */ -/* 8023BBCC 38 A0 79 61 */ li r5, 0x7961 -/* 8023BBD0 38 E0 00 00 */ li r7, 0 -/* 8023BBD4 39 00 00 00 */ li r8, 0 -/* 8023BBD8 48 01 7D AD */ bl __ct__8CPaneMgrFP9J2DScreenUxUcP10JKRExpHeap -/* 8023BBDC 7C 60 1B 78 */ mr r0, r3 -lbl_8023BBE0: -/* 8023BBE0 90 1F 00 18 */ stw r0, 0x18(r31) -/* 8023BBE4 80 7F 00 18 */ lwz r3, 0x18(r31) -/* 8023BBE8 48 01 9A 21 */ bl hide__13CPaneMgrAlphaFv -/* 8023BBEC 80 7F 00 04 */ lwz r3, 4(r31) -/* 8023BBF0 3C 80 5F 65 */ lis r4, 0x5F65 /* 0x5F656E64@ha */ -/* 8023BBF4 38 C4 6E 64 */ addi r6, r4, 0x6E64 /* 0x5F656E64@l */ -/* 8023BBF8 3C 80 00 79 */ lis r4, 0x0079 /* 0x0079616A@ha */ -/* 8023BBFC 38 A4 61 6A */ addi r5, r4, 0x616A /* 0x0079616A@l */ -/* 8023BC00 81 83 00 00 */ lwz r12, 0(r3) -/* 8023BC04 81 8C 00 3C */ lwz r12, 0x3c(r12) -/* 8023BC08 7D 89 03 A6 */ mtctr r12 -/* 8023BC0C 4E 80 04 21 */ bctrl -/* 8023BC10 80 9F 00 0C */ lwz r4, 0xc(r31) -/* 8023BC14 81 83 00 00 */ lwz r12, 0(r3) -/* 8023BC18 81 8C 00 64 */ lwz r12, 0x64(r12) -/* 8023BC1C 7D 89 03 A6 */ mtctr r12 -/* 8023BC20 4E 80 04 21 */ bctrl -/* 8023BC24 80 7F 00 04 */ lwz r3, 4(r31) -/* 8023BC28 3C 80 65 6E */ lis r4, 0x656E /* 0x656E646C@ha */ -/* 8023BC2C 38 C4 64 6C */ addi r6, r4, 0x646C /* 0x656E646C@l */ -/* 8023BC30 3C 80 79 61 */ lis r4, 0x7961 /* 0x79616A69@ha */ -/* 8023BC34 38 A4 6A 69 */ addi r5, r4, 0x6A69 /* 0x79616A69@l */ -/* 8023BC38 81 83 00 00 */ lwz r12, 0(r3) -/* 8023BC3C 81 8C 00 3C */ lwz r12, 0x3c(r12) -/* 8023BC40 7D 89 03 A6 */ mtctr r12 -/* 8023BC44 4E 80 04 21 */ bctrl -/* 8023BC48 80 9F 00 0C */ lwz r4, 0xc(r31) -/* 8023BC4C 81 83 00 00 */ lwz r12, 0(r3) -/* 8023BC50 81 8C 00 64 */ lwz r12, 0x64(r12) -/* 8023BC54 7D 89 03 A6 */ mtctr r12 -/* 8023BC58 4E 80 04 21 */ bctrl -/* 8023BC5C 7F E3 FB 78 */ mr r3, r31 -/* 8023BC60 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8023BC64 83 C1 00 08 */ lwz r30, 8(r1) -/* 8023BC68 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8023BC6C 7C 08 03 A6 */ mtlr r0 -/* 8023BC70 38 21 00 10 */ addi r1, r1, 0x10 -/* 8023BC74 4E 80 00 20 */ blr diff --git a/asm/msg/scrn/d_msg_scrn_arrow/__dt__15dMsgScrnArrow_cFv.s b/asm/msg/scrn/d_msg_scrn_arrow/__dt__15dMsgScrnArrow_cFv.s deleted file mode 100644 index c0521add43..0000000000 --- a/asm/msg/scrn/d_msg_scrn_arrow/__dt__15dMsgScrnArrow_cFv.s +++ /dev/null @@ -1,90 +0,0 @@ -lbl_8023BC78: -/* 8023BC78 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8023BC7C 7C 08 02 A6 */ mflr r0 -/* 8023BC80 90 01 00 14 */ stw r0, 0x14(r1) -/* 8023BC84 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8023BC88 93 C1 00 08 */ stw r30, 8(r1) -/* 8023BC8C 7C 7E 1B 79 */ or. r30, r3, r3 -/* 8023BC90 7C 9F 23 78 */ mr r31, r4 -/* 8023BC94 41 82 01 10 */ beq lbl_8023BDA4 -/* 8023BC98 3C 60 80 3C */ lis r3, __vt__15dMsgScrnArrow_c@ha /* 0x803C0CF8@ha */ -/* 8023BC9C 38 03 0C F8 */ addi r0, r3, __vt__15dMsgScrnArrow_c@l /* 0x803C0CF8@l */ -/* 8023BCA0 90 1E 00 00 */ stw r0, 0(r30) -/* 8023BCA4 80 7E 00 04 */ lwz r3, 4(r30) -/* 8023BCA8 28 03 00 00 */ cmplwi r3, 0 -/* 8023BCAC 41 82 00 18 */ beq lbl_8023BCC4 -/* 8023BCB0 38 80 00 01 */ li r4, 1 -/* 8023BCB4 81 83 00 00 */ lwz r12, 0(r3) -/* 8023BCB8 81 8C 00 08 */ lwz r12, 8(r12) -/* 8023BCBC 7D 89 03 A6 */ mtctr r12 -/* 8023BCC0 4E 80 04 21 */ bctrl -lbl_8023BCC4: -/* 8023BCC4 38 00 00 00 */ li r0, 0 -/* 8023BCC8 90 1E 00 04 */ stw r0, 4(r30) -/* 8023BCCC 80 7E 00 08 */ lwz r3, 8(r30) -/* 8023BCD0 28 03 00 00 */ cmplwi r3, 0 -/* 8023BCD4 41 82 00 18 */ beq lbl_8023BCEC -/* 8023BCD8 38 80 00 01 */ li r4, 1 -/* 8023BCDC 81 83 00 00 */ lwz r12, 0(r3) -/* 8023BCE0 81 8C 00 08 */ lwz r12, 8(r12) -/* 8023BCE4 7D 89 03 A6 */ mtctr r12 -/* 8023BCE8 4E 80 04 21 */ bctrl -lbl_8023BCEC: -/* 8023BCEC 38 00 00 00 */ li r0, 0 -/* 8023BCF0 90 1E 00 08 */ stw r0, 8(r30) -/* 8023BCF4 80 7E 00 0C */ lwz r3, 0xc(r30) -/* 8023BCF8 28 03 00 00 */ cmplwi r3, 0 -/* 8023BCFC 41 82 00 18 */ beq lbl_8023BD14 -/* 8023BD00 38 80 00 01 */ li r4, 1 -/* 8023BD04 81 83 00 00 */ lwz r12, 0(r3) -/* 8023BD08 81 8C 00 08 */ lwz r12, 8(r12) -/* 8023BD0C 7D 89 03 A6 */ mtctr r12 -/* 8023BD10 4E 80 04 21 */ bctrl -lbl_8023BD14: -/* 8023BD14 38 00 00 00 */ li r0, 0 -/* 8023BD18 90 1E 00 0C */ stw r0, 0xc(r30) -/* 8023BD1C 80 7E 00 10 */ lwz r3, 0x10(r30) -/* 8023BD20 28 03 00 00 */ cmplwi r3, 0 -/* 8023BD24 41 82 00 18 */ beq lbl_8023BD3C -/* 8023BD28 38 80 00 01 */ li r4, 1 -/* 8023BD2C 81 83 00 00 */ lwz r12, 0(r3) -/* 8023BD30 81 8C 00 08 */ lwz r12, 8(r12) -/* 8023BD34 7D 89 03 A6 */ mtctr r12 -/* 8023BD38 4E 80 04 21 */ bctrl -lbl_8023BD3C: -/* 8023BD3C 38 00 00 00 */ li r0, 0 -/* 8023BD40 90 1E 00 10 */ stw r0, 0x10(r30) -/* 8023BD44 80 7E 00 14 */ lwz r3, 0x14(r30) -/* 8023BD48 28 03 00 00 */ cmplwi r3, 0 -/* 8023BD4C 41 82 00 18 */ beq lbl_8023BD64 -/* 8023BD50 38 80 00 01 */ li r4, 1 -/* 8023BD54 81 83 00 00 */ lwz r12, 0(r3) -/* 8023BD58 81 8C 00 08 */ lwz r12, 8(r12) -/* 8023BD5C 7D 89 03 A6 */ mtctr r12 -/* 8023BD60 4E 80 04 21 */ bctrl -lbl_8023BD64: -/* 8023BD64 38 00 00 00 */ li r0, 0 -/* 8023BD68 90 1E 00 14 */ stw r0, 0x14(r30) -/* 8023BD6C 80 7E 00 18 */ lwz r3, 0x18(r30) -/* 8023BD70 28 03 00 00 */ cmplwi r3, 0 -/* 8023BD74 41 82 00 18 */ beq lbl_8023BD8C -/* 8023BD78 38 80 00 01 */ li r4, 1 -/* 8023BD7C 81 83 00 00 */ lwz r12, 0(r3) -/* 8023BD80 81 8C 00 08 */ lwz r12, 8(r12) -/* 8023BD84 7D 89 03 A6 */ mtctr r12 -/* 8023BD88 4E 80 04 21 */ bctrl -lbl_8023BD8C: -/* 8023BD8C 38 00 00 00 */ li r0, 0 -/* 8023BD90 90 1E 00 18 */ stw r0, 0x18(r30) -/* 8023BD94 7F E0 07 35 */ extsh. r0, r31 -/* 8023BD98 40 81 00 0C */ ble lbl_8023BDA4 -/* 8023BD9C 7F C3 F3 78 */ mr r3, r30 -/* 8023BDA0 48 09 2F 9D */ bl __dl__FPv -lbl_8023BDA4: -/* 8023BDA4 7F C3 F3 78 */ mr r3, r30 -/* 8023BDA8 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8023BDAC 83 C1 00 08 */ lwz r30, 8(r1) -/* 8023BDB0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8023BDB4 7C 08 03 A6 */ mtlr r0 -/* 8023BDB8 38 21 00 10 */ addi r1, r1, 0x10 -/* 8023BDBC 4E 80 00 20 */ blr diff --git a/asm/msg/scrn/d_msg_scrn_arrow/arwAnimeInit__15dMsgScrnArrow_cFv.s b/asm/msg/scrn/d_msg_scrn_arrow/arwAnimeInit__15dMsgScrnArrow_cFv.s deleted file mode 100644 index 5972ed833e..0000000000 --- a/asm/msg/scrn/d_msg_scrn_arrow/arwAnimeInit__15dMsgScrnArrow_cFv.s +++ /dev/null @@ -1,24 +0,0 @@ -lbl_8023BE34: -/* 8023BE34 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8023BE38 7C 08 02 A6 */ mflr r0 -/* 8023BE3C 90 01 00 14 */ stw r0, 0x14(r1) -/* 8023BE40 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8023BE44 7C 7F 1B 78 */ mr r31, r3 -/* 8023BE48 80 63 00 14 */ lwz r3, 0x14(r3) -/* 8023BE4C 48 01 97 BD */ bl hide__13CPaneMgrAlphaFv -/* 8023BE50 C0 22 B1 98 */ lfs f1, lit_3662(r2) -/* 8023BE54 D0 3F 00 1C */ stfs f1, 0x1c(r31) -/* 8023BE58 C0 1F 00 1C */ lfs f0, 0x1c(r31) -/* 8023BE5C 80 7F 00 08 */ lwz r3, 8(r31) -/* 8023BE60 D0 03 00 08 */ stfs f0, 8(r3) -/* 8023BE64 D0 3F 00 20 */ stfs f1, 0x20(r31) -/* 8023BE68 C0 1F 00 20 */ lfs f0, 0x20(r31) -/* 8023BE6C 80 7F 00 0C */ lwz r3, 0xc(r31) -/* 8023BE70 D0 03 00 08 */ stfs f0, 8(r3) -/* 8023BE74 80 7F 00 04 */ lwz r3, 4(r31) -/* 8023BE78 48 0B D8 19 */ bl animation__9J2DScreenFv -/* 8023BE7C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8023BE80 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8023BE84 7C 08 03 A6 */ mtlr r0 -/* 8023BE88 38 21 00 10 */ addi r1, r1, 0x10 -/* 8023BE8C 4E 80 00 20 */ blr diff --git a/asm/msg/scrn/d_msg_scrn_arrow/arwAnimeMove__15dMsgScrnArrow_cFv.s b/asm/msg/scrn/d_msg_scrn_arrow/arwAnimeMove__15dMsgScrnArrow_cFv.s deleted file mode 100644 index 7c5dd8dff6..0000000000 --- a/asm/msg/scrn/d_msg_scrn_arrow/arwAnimeMove__15dMsgScrnArrow_cFv.s +++ /dev/null @@ -1,82 +0,0 @@ -lbl_8023BE90: -/* 8023BE90 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8023BE94 7C 08 02 A6 */ mflr r0 -/* 8023BE98 90 01 00 24 */ stw r0, 0x24(r1) -/* 8023BE9C 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 8023BEA0 7C 7F 1B 78 */ mr r31, r3 -/* 8023BEA4 80 63 00 14 */ lwz r3, 0x14(r3) -/* 8023BEA8 48 01 97 A5 */ bl isVisible__13CPaneMgrAlphaFv -/* 8023BEAC 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 8023BEB0 40 82 00 0C */ bne lbl_8023BEBC -/* 8023BEB4 80 7F 00 14 */ lwz r3, 0x14(r31) -/* 8023BEB8 48 01 97 11 */ bl show__13CPaneMgrAlphaFv -lbl_8023BEBC: -/* 8023BEBC 80 7F 00 18 */ lwz r3, 0x18(r31) -/* 8023BEC0 48 01 97 8D */ bl isVisible__13CPaneMgrAlphaFv -/* 8023BEC4 54 60 06 3E */ clrlwi r0, r3, 0x18 -/* 8023BEC8 28 00 00 01 */ cmplwi r0, 1 -/* 8023BECC 40 82 00 0C */ bne lbl_8023BED8 -/* 8023BED0 80 7F 00 18 */ lwz r3, 0x18(r31) -/* 8023BED4 48 01 97 35 */ bl hide__13CPaneMgrAlphaFv -lbl_8023BED8: -/* 8023BED8 C0 3F 00 1C */ lfs f1, 0x1c(r31) -/* 8023BEDC C0 02 B1 9C */ lfs f0, lit_3761(r2) -/* 8023BEE0 EC 01 00 2A */ fadds f0, f1, f0 -/* 8023BEE4 D0 1F 00 1C */ stfs f0, 0x1c(r31) -/* 8023BEE8 80 7F 00 08 */ lwz r3, 8(r31) -/* 8023BEEC A8 03 00 06 */ lha r0, 6(r3) -/* 8023BEF0 C0 5F 00 1C */ lfs f2, 0x1c(r31) -/* 8023BEF4 C8 22 B1 A0 */ lfd f1, lit_3763(r2) -/* 8023BEF8 6C 03 80 00 */ xoris r3, r0, 0x8000 -/* 8023BEFC 90 61 00 0C */ stw r3, 0xc(r1) -/* 8023BF00 3C 00 43 30 */ lis r0, 0x4330 -/* 8023BF04 90 01 00 08 */ stw r0, 8(r1) -/* 8023BF08 C8 01 00 08 */ lfd f0, 8(r1) -/* 8023BF0C EC 00 08 28 */ fsubs f0, f0, f1 -/* 8023BF10 FC 02 00 40 */ fcmpo cr0, f2, f0 -/* 8023BF14 4C 41 13 82 */ cror 2, 1, 2 -/* 8023BF18 40 82 00 1C */ bne lbl_8023BF34 -/* 8023BF1C 90 61 00 0C */ stw r3, 0xc(r1) -/* 8023BF20 90 01 00 08 */ stw r0, 8(r1) -/* 8023BF24 C8 01 00 08 */ lfd f0, 8(r1) -/* 8023BF28 EC 00 08 28 */ fsubs f0, f0, f1 -/* 8023BF2C EC 02 00 28 */ fsubs f0, f2, f0 -/* 8023BF30 D0 1F 00 1C */ stfs f0, 0x1c(r31) -lbl_8023BF34: -/* 8023BF34 C0 1F 00 1C */ lfs f0, 0x1c(r31) -/* 8023BF38 80 7F 00 08 */ lwz r3, 8(r31) -/* 8023BF3C D0 03 00 08 */ stfs f0, 8(r3) -/* 8023BF40 C0 3F 00 20 */ lfs f1, 0x20(r31) -/* 8023BF44 C0 02 B1 9C */ lfs f0, lit_3761(r2) -/* 8023BF48 EC 01 00 2A */ fadds f0, f1, f0 -/* 8023BF4C D0 1F 00 20 */ stfs f0, 0x20(r31) -/* 8023BF50 80 7F 00 0C */ lwz r3, 0xc(r31) -/* 8023BF54 A8 03 00 06 */ lha r0, 6(r3) -/* 8023BF58 C0 5F 00 20 */ lfs f2, 0x20(r31) -/* 8023BF5C C8 22 B1 A0 */ lfd f1, lit_3763(r2) -/* 8023BF60 6C 03 80 00 */ xoris r3, r0, 0x8000 -/* 8023BF64 90 61 00 0C */ stw r3, 0xc(r1) -/* 8023BF68 3C 00 43 30 */ lis r0, 0x4330 -/* 8023BF6C 90 01 00 08 */ stw r0, 8(r1) -/* 8023BF70 C8 01 00 08 */ lfd f0, 8(r1) -/* 8023BF74 EC 00 08 28 */ fsubs f0, f0, f1 -/* 8023BF78 FC 02 00 40 */ fcmpo cr0, f2, f0 -/* 8023BF7C 4C 41 13 82 */ cror 2, 1, 2 -/* 8023BF80 40 82 00 1C */ bne lbl_8023BF9C -/* 8023BF84 90 61 00 0C */ stw r3, 0xc(r1) -/* 8023BF88 90 01 00 08 */ stw r0, 8(r1) -/* 8023BF8C C8 01 00 08 */ lfd f0, 8(r1) -/* 8023BF90 EC 00 08 28 */ fsubs f0, f0, f1 -/* 8023BF94 EC 02 00 28 */ fsubs f0, f2, f0 -/* 8023BF98 D0 1F 00 20 */ stfs f0, 0x20(r31) -lbl_8023BF9C: -/* 8023BF9C C0 1F 00 20 */ lfs f0, 0x20(r31) -/* 8023BFA0 80 7F 00 0C */ lwz r3, 0xc(r31) -/* 8023BFA4 D0 03 00 08 */ stfs f0, 8(r3) -/* 8023BFA8 80 7F 00 04 */ lwz r3, 4(r31) -/* 8023BFAC 48 0B D6 E5 */ bl animation__9J2DScreenFv -/* 8023BFB0 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 8023BFB4 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8023BFB8 7C 08 03 A6 */ mtlr r0 -/* 8023BFBC 38 21 00 20 */ addi r1, r1, 0x20 -/* 8023BFC0 4E 80 00 20 */ blr diff --git a/asm/msg/scrn/d_msg_scrn_arrow/dotAnimeInit__15dMsgScrnArrow_cFv.s b/asm/msg/scrn/d_msg_scrn_arrow/dotAnimeInit__15dMsgScrnArrow_cFv.s deleted file mode 100644 index 963e3a2062..0000000000 --- a/asm/msg/scrn/d_msg_scrn_arrow/dotAnimeInit__15dMsgScrnArrow_cFv.s +++ /dev/null @@ -1,20 +0,0 @@ -lbl_8023BFC4: -/* 8023BFC4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8023BFC8 7C 08 02 A6 */ mflr r0 -/* 8023BFCC 90 01 00 14 */ stw r0, 0x14(r1) -/* 8023BFD0 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8023BFD4 7C 7F 1B 78 */ mr r31, r3 -/* 8023BFD8 80 63 00 18 */ lwz r3, 0x18(r3) -/* 8023BFDC 48 01 96 2D */ bl hide__13CPaneMgrAlphaFv -/* 8023BFE0 C0 02 B1 98 */ lfs f0, lit_3662(r2) -/* 8023BFE4 D0 1F 00 20 */ stfs f0, 0x20(r31) -/* 8023BFE8 C0 1F 00 20 */ lfs f0, 0x20(r31) -/* 8023BFEC 80 7F 00 0C */ lwz r3, 0xc(r31) -/* 8023BFF0 D0 03 00 08 */ stfs f0, 8(r3) -/* 8023BFF4 80 7F 00 04 */ lwz r3, 4(r31) -/* 8023BFF8 48 0B D6 99 */ bl animation__9J2DScreenFv -/* 8023BFFC 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8023C000 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8023C004 7C 08 03 A6 */ mtlr r0 -/* 8023C008 38 21 00 10 */ addi r1, r1, 0x10 -/* 8023C00C 4E 80 00 20 */ blr diff --git a/asm/msg/scrn/d_msg_scrn_arrow/dotAnimeMove__15dMsgScrnArrow_cFv.s b/asm/msg/scrn/d_msg_scrn_arrow/dotAnimeMove__15dMsgScrnArrow_cFv.s deleted file mode 100644 index 88a08a1a3f..0000000000 --- a/asm/msg/scrn/d_msg_scrn_arrow/dotAnimeMove__15dMsgScrnArrow_cFv.s +++ /dev/null @@ -1,55 +0,0 @@ -lbl_8023C010: -/* 8023C010 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8023C014 7C 08 02 A6 */ mflr r0 -/* 8023C018 90 01 00 24 */ stw r0, 0x24(r1) -/* 8023C01C 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 8023C020 7C 7F 1B 78 */ mr r31, r3 -/* 8023C024 80 63 00 14 */ lwz r3, 0x14(r3) -/* 8023C028 48 01 96 25 */ bl isVisible__13CPaneMgrAlphaFv -/* 8023C02C 54 60 06 3E */ clrlwi r0, r3, 0x18 -/* 8023C030 28 00 00 01 */ cmplwi r0, 1 -/* 8023C034 40 82 00 0C */ bne lbl_8023C040 -/* 8023C038 80 7F 00 14 */ lwz r3, 0x14(r31) -/* 8023C03C 48 01 95 CD */ bl hide__13CPaneMgrAlphaFv -lbl_8023C040: -/* 8023C040 80 7F 00 18 */ lwz r3, 0x18(r31) -/* 8023C044 48 01 96 09 */ bl isVisible__13CPaneMgrAlphaFv -/* 8023C048 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 8023C04C 40 82 00 0C */ bne lbl_8023C058 -/* 8023C050 80 7F 00 18 */ lwz r3, 0x18(r31) -/* 8023C054 48 01 95 75 */ bl show__13CPaneMgrAlphaFv -lbl_8023C058: -/* 8023C058 C0 3F 00 20 */ lfs f1, 0x20(r31) -/* 8023C05C C0 02 B1 9C */ lfs f0, lit_3761(r2) -/* 8023C060 EC 01 00 2A */ fadds f0, f1, f0 -/* 8023C064 D0 1F 00 20 */ stfs f0, 0x20(r31) -/* 8023C068 80 7F 00 0C */ lwz r3, 0xc(r31) -/* 8023C06C A8 03 00 06 */ lha r0, 6(r3) -/* 8023C070 C0 5F 00 20 */ lfs f2, 0x20(r31) -/* 8023C074 C8 22 B1 A0 */ lfd f1, lit_3763(r2) -/* 8023C078 6C 03 80 00 */ xoris r3, r0, 0x8000 -/* 8023C07C 90 61 00 0C */ stw r3, 0xc(r1) -/* 8023C080 3C 00 43 30 */ lis r0, 0x4330 -/* 8023C084 90 01 00 08 */ stw r0, 8(r1) -/* 8023C088 C8 01 00 08 */ lfd f0, 8(r1) -/* 8023C08C EC 00 08 28 */ fsubs f0, f0, f1 -/* 8023C090 FC 02 00 40 */ fcmpo cr0, f2, f0 -/* 8023C094 4C 41 13 82 */ cror 2, 1, 2 -/* 8023C098 40 82 00 1C */ bne lbl_8023C0B4 -/* 8023C09C 90 61 00 0C */ stw r3, 0xc(r1) -/* 8023C0A0 90 01 00 08 */ stw r0, 8(r1) -/* 8023C0A4 C8 01 00 08 */ lfd f0, 8(r1) -/* 8023C0A8 EC 00 08 28 */ fsubs f0, f0, f1 -/* 8023C0AC EC 02 00 28 */ fsubs f0, f2, f0 -/* 8023C0B0 D0 1F 00 20 */ stfs f0, 0x20(r31) -lbl_8023C0B4: -/* 8023C0B4 C0 1F 00 20 */ lfs f0, 0x20(r31) -/* 8023C0B8 80 7F 00 0C */ lwz r3, 0xc(r31) -/* 8023C0BC D0 03 00 08 */ stfs f0, 8(r3) -/* 8023C0C0 80 7F 00 04 */ lwz r3, 4(r31) -/* 8023C0C4 48 0B D5 CD */ bl animation__9J2DScreenFv -/* 8023C0C8 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 8023C0CC 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8023C0D0 7C 08 03 A6 */ mtlr r0 -/* 8023C0D4 38 21 00 20 */ addi r1, r1, 0x20 -/* 8023C0D8 4E 80 00 20 */ blr diff --git a/asm/msg/scrn/d_msg_scrn_arrow/draw__15dMsgScrnArrow_cFv.s b/asm/msg/scrn/d_msg_scrn_arrow/draw__15dMsgScrnArrow_cFv.s deleted file mode 100644 index 501cfe6dd3..0000000000 --- a/asm/msg/scrn/d_msg_scrn_arrow/draw__15dMsgScrnArrow_cFv.s +++ /dev/null @@ -1,15 +0,0 @@ -lbl_8023BDC0: -/* 8023BDC0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8023BDC4 7C 08 02 A6 */ mflr r0 -/* 8023BDC8 90 01 00 14 */ stw r0, 0x14(r1) -/* 8023BDCC 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8023BDD0 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8023BDD4 80 84 5F 50 */ lwz r4, 0x5f50(r4) -/* 8023BDD8 80 63 00 04 */ lwz r3, 4(r3) -/* 8023BDDC C0 22 B1 98 */ lfs f1, lit_3662(r2) -/* 8023BDE0 FC 40 08 90 */ fmr f2, f1 -/* 8023BDE4 48 0B D0 F1 */ bl draw__9J2DScreenFffPC14J2DGrafContext -/* 8023BDE8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8023BDEC 7C 08 03 A6 */ mtlr r0 -/* 8023BDF0 38 21 00 10 */ addi r1, r1, 0x10 -/* 8023BDF4 4E 80 00 20 */ blr diff --git a/asm/msg/scrn/d_msg_scrn_arrow/setPos__15dMsgScrnArrow_cFff.s b/asm/msg/scrn/d_msg_scrn_arrow/setPos__15dMsgScrnArrow_cFff.s deleted file mode 100644 index 96666ac419..0000000000 --- a/asm/msg/scrn/d_msg_scrn_arrow/setPos__15dMsgScrnArrow_cFff.s +++ /dev/null @@ -1,16 +0,0 @@ -lbl_8023BDF8: -/* 8023BDF8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8023BDFC 7C 08 02 A6 */ mflr r0 -/* 8023BE00 90 01 00 14 */ stw r0, 0x14(r1) -/* 8023BE04 80 63 00 10 */ lwz r3, 0x10(r3) -/* 8023BE08 80 63 00 04 */ lwz r3, 4(r3) -/* 8023BE0C D0 23 00 D4 */ stfs f1, 0xd4(r3) -/* 8023BE10 D0 43 00 D8 */ stfs f2, 0xd8(r3) -/* 8023BE14 81 83 00 00 */ lwz r12, 0(r3) -/* 8023BE18 81 8C 00 2C */ lwz r12, 0x2c(r12) -/* 8023BE1C 7D 89 03 A6 */ mtctr r12 -/* 8023BE20 4E 80 04 21 */ bctrl -/* 8023BE24 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8023BE28 7C 08 03 A6 */ mtlr r0 -/* 8023BE2C 38 21 00 10 */ addi r1, r1, 0x10 -/* 8023BE30 4E 80 00 20 */ blr diff --git a/include/msg/scrn/d_msg_scrn_arrow.h b/include/msg/scrn/d_msg_scrn_arrow.h index 2a86e86402..ec521936aa 100644 --- a/include/msg/scrn/d_msg_scrn_arrow.h +++ b/include/msg/scrn/d_msg_scrn_arrow.h @@ -3,4 +3,31 @@ #include "dolphin/types.h" +class J2DScreen; +class J2DAnmTransform; +class J2DAnmColor; +class J2DScreen; +class CPaneMgr; + +class dMsgScrnArrow_c { +public: + /* 8023B9B4 */ dMsgScrnArrow_c(); + /* 8023BC78 */ virtual ~dMsgScrnArrow_c(); + /* 8023BDC0 */ void draw(); + /* 8023BDF8 */ void setPos(f32, f32); + /* 8023BE34 */ void arwAnimeInit(); + /* 8023BE90 */ void arwAnimeMove(); + /* 8023BFC4 */ void dotAnimeInit(); + /* 8023C010 */ void dotAnimeMove(); + + /* 0x04 */ J2DScreen* mScreen; + /* 0x08 */ J2DAnmTransform* mAnmBck; + /* 0x0C */ J2DAnmColor* mAnmBpk; + /* 0x10 */ CPaneMgr* mPaneMgr0; + /* 0x14 */ CPaneMgr* mPaneMgr1; + /* 0x18 */ CPaneMgr* mPaneMgr2; + /* 0x1C */ f32 mBckFrame; + /* 0x20 */ f32 mBpkFrame; +}; + #endif /* MSG_SCRN_D_MSG_SCRN_ARROW_H */ diff --git a/src/msg/scrn/d_msg_scrn_arrow.cpp b/src/msg/scrn/d_msg_scrn_arrow.cpp index 4634e35c7c..7995a3beed 100644 --- a/src/msg/scrn/d_msg_scrn_arrow.cpp +++ b/src/msg/scrn/d_msg_scrn_arrow.cpp @@ -1,212 +1,129 @@ -// -// Generated By: dol2asm // Translation Unit: msg/scrn/d_msg_scrn_arrow -// #include "msg/scrn/d_msg_scrn_arrow.h" -#include "dol2asm.h" +#include "JSystem/J2DGraph/J2DAnmLoader.h" +#include "JSystem/J2DGraph/J2DGrafContext.h" +#include "JSystem/J2DGraph/J2DScreen.h" +#include "JSystem/JKernel/JKRExpHeap.h" +#include "d/com/d_com_inf_game.h" +#include "d/pane/d_pane_class.h" +#include "dolphin/os/OS.h" #include "dolphin/types.h" -// -// Types: -// +/* 8023B9B4-8023BC78 2362F4 02C4+00 0/0 4/4 0/0 .text __ct__15dMsgScrnArrow_cFv */ +dMsgScrnArrow_c::dMsgScrnArrow_c() { + mScreen = new J2DScreen(); + mScreen->setPriority("zelda_window_yajirushi.blo", 0x20000, dComIfGp_getMsgArchive(0)); + dPaneClass_showNullPane(mScreen); + i_OSInitFastCast(); -struct dMsgScrnArrow_c { - /* 8023B9B4 */ dMsgScrnArrow_c(); - /* 8023BC78 */ ~dMsgScrnArrow_c(); - /* 8023BDC0 */ void draw(); - /* 8023BDF8 */ void setPos(f32, f32); - /* 8023BE34 */ void arwAnimeInit(); - /* 8023BE90 */ void arwAnimeMove(); - /* 8023BFC4 */ void dotAnimeInit(); - /* 8023C010 */ void dotAnimeMove(); -}; + mAnmBck = (J2DAnmTransform*)J2DAnmLoaderDataBase::load( + JKRFileLoader::getGlbResource("zelda_window_yajirushi.bck", dComIfGp_getMsgArchive(0))); + mBckFrame = 0.0f; -struct JKRFileLoader { - /* 802D4270 */ void getGlbResource(char const*, JKRFileLoader*); -}; + mAnmBpk = (J2DAnmColor*)J2DAnmLoaderDataBase::load( + JKRFileLoader::getGlbResource("zelda_window_yajirushi.bpk", dComIfGp_getMsgArchive(0))); + mAnmBpk->searchUpdateMaterialID(mScreen); + mBpkFrame = 0.0f; -struct JKRExpHeap {}; + mPaneMgr0 = new CPaneMgr(mScreen, 'set_ya_n', 0, NULL); + mPaneMgr1 = new CPaneMgr(mScreen, '\0ya_next', 0, NULL); + mPaneMgr1->hide(); + mPaneMgr1->mPane->setAnimation(mAnmBck); + mScreen->search('\0yajnext')->setAnimation(mAnmBpk); + mScreen->search('yajinexl')->setAnimation(mAnmBpk); -struct JKRArchive {}; - -struct J2DGrafContext {}; - -struct J2DScreen { - /* 802F8498 */ J2DScreen(); - /* 802F8648 */ void setPriority(char const*, u32, JKRArchive*); - /* 802F8ED4 */ void draw(f32, f32, J2DGrafContext const*); - /* 802F9690 */ void animation(); -}; - -struct J2DAnmLoaderDataBase { - /* 80308A6C */ void load(void const*); -}; - -struct CPaneMgrAlpha { - /* 802555C8 */ void show(); - /* 80255608 */ void hide(); - /* 8025564C */ void isVisible(); -}; - -struct CPaneMgr { - /* 80253984 */ CPaneMgr(J2DScreen*, u64, u8, JKRExpHeap*); -}; - -// -// Forward References: -// - -extern "C" void __ct__15dMsgScrnArrow_cFv(); -extern "C" void __dt__15dMsgScrnArrow_cFv(); -extern "C" void draw__15dMsgScrnArrow_cFv(); -extern "C" void setPos__15dMsgScrnArrow_cFff(); -extern "C" void arwAnimeInit__15dMsgScrnArrow_cFv(); -extern "C" void arwAnimeMove__15dMsgScrnArrow_cFv(); -extern "C" void dotAnimeInit__15dMsgScrnArrow_cFv(); -extern "C" void dotAnimeMove__15dMsgScrnArrow_cFv(); -extern "C" extern char const* const msg_scrn_d_msg_scrn_arrow__stringBase0; - -// -// External References: -// - -extern "C" void __ct__8CPaneMgrFP9J2DScreenUxUcP10JKRExpHeap(); -extern "C" void dPaneClass_showNullPane__FP9J2DScreen(); -extern "C" void show__13CPaneMgrAlphaFv(); -extern "C" void hide__13CPaneMgrAlphaFv(); -extern "C" void isVisible__13CPaneMgrAlphaFv(); -extern "C" void* __nw__FUl(); -extern "C" void __dl__FPv(); -extern "C" void getGlbResource__13JKRFileLoaderFPCcP13JKRFileLoader(); -extern "C" void __ct__9J2DScreenFv(); -extern "C" void setPriority__9J2DScreenFPCcUlP10JKRArchive(); -extern "C" void draw__9J2DScreenFffPC14J2DGrafContext(); -extern "C" void animation__9J2DScreenFv(); -extern "C" void load__20J2DAnmLoaderDataBaseFPCv(); -extern "C" extern u8 g_dComIfG_gameInfo[122384]; - -// -// Declarations: -// - -/* ############################################################################################## */ -/* 803998A0-803998A0 025F00 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_803998A0 = "zelda_window_yajirushi.blo"; -SECTION_DEAD static char const* const stringBase_803998BB = "zelda_window_yajirushi.bck"; -SECTION_DEAD static char const* const stringBase_803998D6 = "zelda_window_yajirushi.bpk"; -/* @stringBase0 padding */ -SECTION_DEAD static char const* const pad_803998F1 = "\0\0\0\0\0\0"; -#pragma pop - -/* 803C0CF8-803C0D08 01DE18 000C+04 2/2 0/0 0/0 .data __vt__15dMsgScrnArrow_c */ -SECTION_DATA extern void* __vt__15dMsgScrnArrow_c[3 + 1 /* padding */] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__15dMsgScrnArrow_cFv, - /* padding */ - NULL, -}; - -/* 80454B98-80454B9C 003198 0004+00 4/4 0/0 0/0 .sdata2 @3662 */ -SECTION_SDATA2 static u8 lit_3662[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; - -/* 8023B9B4-8023BC78 2362F4 02C4+00 0/0 4/4 0/0 .text __ct__15dMsgScrnArrow_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm dMsgScrnArrow_c::dMsgScrnArrow_c() { - nofralloc -#include "asm/msg/scrn/d_msg_scrn_arrow/__ct__15dMsgScrnArrow_cFv.s" + mPaneMgr2 = new CPaneMgr(mScreen, 'ya_end', 0, NULL); + mPaneMgr2->hide(); + mScreen->search('\0yaj_end')->setAnimation(mAnmBpk); + mScreen->search('yajiendl')->setAnimation(mAnmBpk); } -#pragma pop -/* 8023BC78-8023BDC0 2365B8 0148+00 1/0 0/0 0/0 .text __dt__15dMsgScrnArrow_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm dMsgScrnArrow_c::~dMsgScrnArrow_c() { - nofralloc -#include "asm/msg/scrn/d_msg_scrn_arrow/__dt__15dMsgScrnArrow_cFv.s" +/* 8023BC78-8023BDC0 2365B8 0148+00 1/0 0/0 0/0 .text __dt__15dMsgScrnArrow_cFv */ +dMsgScrnArrow_c::~dMsgScrnArrow_c() { + delete mScreen; + mScreen = NULL; + + delete mAnmBck; + mAnmBck = NULL; + + delete mAnmBpk; + mAnmBpk = NULL; + + delete mPaneMgr0; + mPaneMgr0 = NULL; + + delete mPaneMgr1; + mPaneMgr1 = NULL; + + delete mPaneMgr2; + mPaneMgr2 = NULL; } -#pragma pop -/* 8023BDC0-8023BDF8 236700 0038+00 0/0 5/5 0/0 .text draw__15dMsgScrnArrow_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMsgScrnArrow_c::draw() { - nofralloc -#include "asm/msg/scrn/d_msg_scrn_arrow/draw__15dMsgScrnArrow_cFv.s" +/* 8023BDC0-8023BDF8 236700 0038+00 0/0 5/5 0/0 .text draw__15dMsgScrnArrow_cFv */ +void dMsgScrnArrow_c::draw() { + J2DGrafContext* ctx = dComIfGp_getCurrentGrafPort(); + mScreen->draw(0.0f, 0.0f, ctx); } -#pragma pop -/* 8023BDF8-8023BE34 236738 003C+00 0/0 5/5 0/0 .text setPos__15dMsgScrnArrow_cFff */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMsgScrnArrow_c::setPos(f32 param_0, f32 param_1) { - nofralloc -#include "asm/msg/scrn/d_msg_scrn_arrow/setPos__15dMsgScrnArrow_cFff.s" +/* 8023BDF8-8023BE34 236738 003C+00 0/0 5/5 0/0 .text setPos__15dMsgScrnArrow_cFff */ +void dMsgScrnArrow_c::setPos(f32 x, f32 y) { + mPaneMgr0->translate(x, y); } -#pragma pop -/* 8023BE34-8023BE90 236774 005C+00 0/0 9/9 0/0 .text arwAnimeInit__15dMsgScrnArrow_cFv - */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMsgScrnArrow_c::arwAnimeInit() { - nofralloc -#include "asm/msg/scrn/d_msg_scrn_arrow/arwAnimeInit__15dMsgScrnArrow_cFv.s" +/* 8023BE34-8023BE90 236774 005C+00 0/0 9/9 0/0 .text arwAnimeInit__15dMsgScrnArrow_cFv */ +void dMsgScrnArrow_c::arwAnimeInit() { + mPaneMgr1->hide(); + mBckFrame = 0.0f; + mAnmBck->setFrame(mBckFrame); + mBpkFrame = 0.0f; + mAnmBpk->setFrame(mBpkFrame); + mScreen->animation(); } -#pragma pop -/* ############################################################################################## */ -/* 80454B9C-80454BA0 00319C 0004+00 2/2 0/0 0/0 .sdata2 @3761 */ -SECTION_SDATA2 static f32 lit_3761 = 1.0f; - -/* 80454BA0-80454BA8 0031A0 0008+00 2/2 0/0 0/0 .sdata2 @3763 */ -SECTION_SDATA2 static f64 lit_3763 = 4503601774854144.0 /* cast s32 to float */; - -/* 8023BE90-8023BFC4 2367D0 0134+00 0/0 4/4 0/0 .text arwAnimeMove__15dMsgScrnArrow_cFv - */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMsgScrnArrow_c::arwAnimeMove() { - nofralloc -#include "asm/msg/scrn/d_msg_scrn_arrow/arwAnimeMove__15dMsgScrnArrow_cFv.s" +/* 8023BE90-8023BFC4 2367D0 0134+00 0/0 4/4 0/0 .text arwAnimeMove__15dMsgScrnArrow_cFv */ +void dMsgScrnArrow_c::arwAnimeMove() { + if (!mPaneMgr1->isVisible()) { + mPaneMgr1->show(); + } + if (mPaneMgr2->isVisible() == true) { + mPaneMgr2->hide(); + } + mBckFrame += 1.0f; + if (mBckFrame >= (f32)mAnmBck->getFrameMax()) { + mBckFrame -= (f32)mAnmBck->getFrameMax(); + } + mAnmBck->setFrame(mBckFrame); + mBpkFrame += 1.0f; + if (mBpkFrame >= (f32)mAnmBpk->getFrameMax()) { + mBpkFrame -= (f32)mAnmBpk->getFrameMax(); + } + mAnmBpk->setFrame(mBpkFrame); + mScreen->animation(); } -#pragma pop -/* 8023BFC4-8023C010 236904 004C+00 0/0 3/3 0/0 .text dotAnimeInit__15dMsgScrnArrow_cFv - */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMsgScrnArrow_c::dotAnimeInit() { - nofralloc -#include "asm/msg/scrn/d_msg_scrn_arrow/dotAnimeInit__15dMsgScrnArrow_cFv.s" +/* 8023BFC4-8023C010 236904 004C+00 0/0 3/3 0/0 .text dotAnimeInit__15dMsgScrnArrow_cFv */ +void dMsgScrnArrow_c::dotAnimeInit() { + mPaneMgr2->hide(); + mBpkFrame = 0.0f; + mAnmBpk->setFrame(mBpkFrame); + mScreen->animation(); } -#pragma pop -/* 8023C010-8023C0DC 236950 00CC+00 0/0 3/3 0/0 .text dotAnimeMove__15dMsgScrnArrow_cFv - */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMsgScrnArrow_c::dotAnimeMove() { - nofralloc -#include "asm/msg/scrn/d_msg_scrn_arrow/dotAnimeMove__15dMsgScrnArrow_cFv.s" +/* 8023C010-8023C0DC 236950 00CC+00 0/0 3/3 0/0 .text dotAnimeMove__15dMsgScrnArrow_cFv */ +void dMsgScrnArrow_c::dotAnimeMove() { + if (mPaneMgr1->isVisible() == true) { + mPaneMgr1->hide(); + } + if (!mPaneMgr2->isVisible()) { + mPaneMgr2->show(); + } + mBpkFrame += 1.0f; + if (mBpkFrame >= (f32)mAnmBpk->getFrameMax()) { + mBpkFrame -= (f32)mAnmBpk->getFrameMax(); + } + mAnmBpk->setFrame(mBpkFrame); + mScreen->animation(); } -#pragma pop /* 803998A0-803998A0 025F00 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ From 9a0467b1880ab33c2681d5d1d425cff031ef6908 Mon Sep 17 00:00:00 2001 From: hatal175 Date: Sun, 28 May 2023 10:21:28 +0300 Subject: [PATCH 2/8] setFadeColor fix, some d_msg_flow functions (#339) --- Progress.md | 8 +- .../d_menu_window/dMw_fade_in__5dMw_cFv.s | 30 --- .../d_menu_window/dMw_fade_out__5dMw_cFv.s | 30 --- asm/d/msg/d_msg_flow/func_8024DAB0.s | 9 - ...cFP21mesg_flow_node_branchP10fopAc_ac_ci.s | 40 ---- ...cFP21mesg_flow_node_branchP10fopAc_ac_ci.s | 72 ------- ...cFP21mesg_flow_node_branchP10fopAc_ac_ci.s | 40 ---- ...cFP21mesg_flow_node_branchP10fopAc_ac_ci.s | 41 ---- .../dScnLogo_Create__FP11scene_class.s | 10 - asm/d/s/d_s_logo/phase_0__FP10dScnLogo_c.s | 44 ----- .../FileSelectClose__10dScnName_cFv.s | 48 ----- .../FileSelectMainNormal__10dScnName_cFv.s | 46 ----- include/JSystem/JUtility/JUTFader.h | 2 +- include/SSystem/SComponent/c_lib.h | 7 +- include/d/com/d_com_inf_game.h | 5 + include/d/d_model.h | 2 +- include/d/file/d_file_select.h | 4 +- include/d/s/d_s_logo.h | 3 + include/d/save/d_save.h | 2 +- include/dolphin/vi/vi.h | 1 + include/m_Do/m_Do_graphic.h | 2 +- rel/d/a/d_a_title/d_a_title_nonmatching.cpp | 21 +- src/d/file/d_file_select.cpp | 20 +- src/d/menu/d_menu_save.cpp | 2 +- src/d/menu/d_menu_window.cpp | 23 --- src/d/msg/d_msg_flow.cpp | 121 ++++++++---- src/d/s/d_s_logo.cpp | 184 ++---------------- src/d/s/d_s_name.cpp | 26 +-- src/d/s/d_s_play.cpp | 9 +- 29 files changed, 166 insertions(+), 686 deletions(-) delete mode 100644 asm/d/menu/d_menu_window/dMw_fade_in__5dMw_cFv.s delete mode 100644 asm/d/menu/d_menu_window/dMw_fade_out__5dMw_cFv.s delete mode 100644 asm/d/msg/d_msg_flow/func_8024DAB0.s delete mode 100644 asm/d/msg/d_msg_flow/query039__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci.s delete mode 100644 asm/d/msg/d_msg_flow/query040__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci.s delete mode 100644 asm/d/msg/d_msg_flow/query041__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci.s delete mode 100644 asm/d/msg/d_msg_flow/query045__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci.s delete mode 100644 asm/d/s/d_s_logo/dScnLogo_Create__FP11scene_class.s delete mode 100644 asm/d/s/d_s_logo/phase_0__FP10dScnLogo_c.s delete mode 100644 asm/d/s/d_s_name/FileSelectClose__10dScnName_cFv.s delete mode 100644 asm/d/s/d_s_name/FileSelectMainNormal__10dScnName_cFv.s diff --git a/Progress.md b/Progress.md index bad404fea8..7642f6ebe9 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 | 26.824641% | 964760 | 3596544 +.text | 26.866903% | 966280 | 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 | 34.538903% | 1388696 | 4020672 +Total | 34.576708% | 1390216 | 4020672 ## Total Section | Percentage | Decompiled (bytes) | Total (bytes) ---|---|---|--- -main.dol | 34.538903% | 1388696 | 4020672 +main.dol | 34.576708% | 1390216 | 4020672 RELs | 33.578532% | 3861640 | 11500324 -Total | 33.827314% | 5250336 | 15520996 +Total | 33.837107% | 5251856 | 15520996 ## RELs diff --git a/asm/d/menu/d_menu_window/dMw_fade_in__5dMw_cFv.s b/asm/d/menu/d_menu_window/dMw_fade_in__5dMw_cFv.s deleted file mode 100644 index 967ddd324a..0000000000 --- a/asm/d/menu/d_menu_window/dMw_fade_in__5dMw_cFv.s +++ /dev/null @@ -1,30 +0,0 @@ -lbl_801FCE78: -/* 801FCE78 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 801FCE7C 7C 08 02 A6 */ mflr r0 -/* 801FCE80 90 01 00 14 */ stw r0, 0x14(r1) -/* 801FCE84 80 6D 8C 40 */ lwz r3, sManager__10JFWDisplay(r13) -/* 801FCE88 80 63 00 04 */ lwz r3, 4(r3) -/* 801FCE8C 28 03 00 00 */ cmplwi r3, 0 -/* 801FCE90 41 82 00 18 */ beq lbl_801FCEA8 -/* 801FCE94 38 80 00 0D */ li r4, 0xd -/* 801FCE98 81 83 00 00 */ lwz r12, 0(r3) -/* 801FCE9C 81 8C 00 0C */ lwz r12, 0xc(r12) -/* 801FCEA0 7D 89 03 A6 */ mtctr r12 -/* 801FCEA4 4E 80 04 21 */ bctrl -lbl_801FCEA8: -/* 801FCEA8 80 0D 80 84 */ lwz r0, g_blackColor(r13) -/* 801FCEAC 90 01 00 0C */ stw r0, 0xc(r1) -/* 801FCEB0 90 01 00 08 */ stw r0, 8(r1) -/* 801FCEB4 80 6D 86 48 */ lwz r3, mFader__13mDoGph_gInf_c(r13) -/* 801FCEB8 88 01 00 08 */ lbz r0, 8(r1) -/* 801FCEBC 98 03 00 0C */ stb r0, 0xc(r3) -/* 801FCEC0 88 01 00 09 */ lbz r0, 9(r1) -/* 801FCEC4 98 03 00 0D */ stb r0, 0xd(r3) -/* 801FCEC8 88 01 00 0A */ lbz r0, 0xa(r1) -/* 801FCECC 98 03 00 0E */ stb r0, 0xe(r3) -/* 801FCED0 88 01 00 0B */ lbz r0, 0xb(r1) -/* 801FCED4 98 03 00 0F */ stb r0, 0xf(r3) -/* 801FCED8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 801FCEDC 7C 08 03 A6 */ mtlr r0 -/* 801FCEE0 38 21 00 10 */ addi r1, r1, 0x10 -/* 801FCEE4 4E 80 00 20 */ blr diff --git a/asm/d/menu/d_menu_window/dMw_fade_out__5dMw_cFv.s b/asm/d/menu/d_menu_window/dMw_fade_out__5dMw_cFv.s deleted file mode 100644 index f9efd592f0..0000000000 --- a/asm/d/menu/d_menu_window/dMw_fade_out__5dMw_cFv.s +++ /dev/null @@ -1,30 +0,0 @@ -lbl_801FCE08: -/* 801FCE08 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 801FCE0C 7C 08 02 A6 */ mflr r0 -/* 801FCE10 90 01 00 14 */ stw r0, 0x14(r1) -/* 801FCE14 80 6D 8C 40 */ lwz r3, sManager__10JFWDisplay(r13) -/* 801FCE18 80 63 00 04 */ lwz r3, 4(r3) -/* 801FCE1C 28 03 00 00 */ cmplwi r3, 0 -/* 801FCE20 41 82 00 18 */ beq lbl_801FCE38 -/* 801FCE24 38 80 00 0D */ li r4, 0xd -/* 801FCE28 81 83 00 00 */ lwz r12, 0(r3) -/* 801FCE2C 81 8C 00 10 */ lwz r12, 0x10(r12) -/* 801FCE30 7D 89 03 A6 */ mtctr r12 -/* 801FCE34 4E 80 04 21 */ bctrl -lbl_801FCE38: -/* 801FCE38 80 0D 80 84 */ lwz r0, g_blackColor(r13) -/* 801FCE3C 90 01 00 0C */ stw r0, 0xc(r1) -/* 801FCE40 90 01 00 08 */ stw r0, 8(r1) -/* 801FCE44 80 6D 86 48 */ lwz r3, mFader__13mDoGph_gInf_c(r13) -/* 801FCE48 88 01 00 08 */ lbz r0, 8(r1) -/* 801FCE4C 98 03 00 0C */ stb r0, 0xc(r3) -/* 801FCE50 88 01 00 09 */ lbz r0, 9(r1) -/* 801FCE54 98 03 00 0D */ stb r0, 0xd(r3) -/* 801FCE58 88 01 00 0A */ lbz r0, 0xa(r1) -/* 801FCE5C 98 03 00 0E */ stb r0, 0xe(r3) -/* 801FCE60 88 01 00 0B */ lbz r0, 0xb(r1) -/* 801FCE64 98 03 00 0F */ stb r0, 0xf(r3) -/* 801FCE68 80 01 00 14 */ lwz r0, 0x14(r1) -/* 801FCE6C 7C 08 03 A6 */ mtlr r0 -/* 801FCE70 38 21 00 10 */ addi r1, r1, 0x10 -/* 801FCE74 4E 80 00 20 */ blr diff --git a/asm/d/msg/d_msg_flow/func_8024DAB0.s b/asm/d/msg/d_msg_flow/func_8024DAB0.s deleted file mode 100644 index e0a6da14f8..0000000000 --- a/asm/d/msg/d_msg_flow/func_8024DAB0.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_8024DAB0: -/* 8024DAB0 80 83 00 00 */ lwz r4, 0(r3) -/* 8024DAB4 2C 04 00 00 */ cmpwi r4, 0 -/* 8024DAB8 41 82 00 0C */ beq lbl_8024DAC4 -/* 8024DABC 38 04 FF FF */ addi r0, r4, -1 -/* 8024DAC0 90 03 00 00 */ stw r0, 0(r3) -lbl_8024DAC4: -/* 8024DAC4 80 63 00 00 */ lwz r3, 0(r3) -/* 8024DAC8 4E 80 00 20 */ blr diff --git a/asm/d/msg/d_msg_flow/query039__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci.s b/asm/d/msg/d_msg_flow/query039__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci.s deleted file mode 100644 index aca83101cc..0000000000 --- a/asm/d/msg/d_msg_flow/query039__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci.s +++ /dev/null @@ -1,40 +0,0 @@ -lbl_8024BDB0: -/* 8024BDB0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8024BDB4 7C 08 02 A6 */ mflr r0 -/* 8024BDB8 90 01 00 14 */ stw r0, 0x14(r1) -/* 8024BDBC 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8024BDC0 93 C1 00 08 */ stw r30, 8(r1) -/* 8024BDC4 A3 C4 00 04 */ lhz r30, 4(r4) -/* 8024BDC8 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8024BDCC 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8024BDD0 38 63 0D D8 */ addi r3, r3, 0xdd8 -/* 8024BDD4 3C 80 00 01 */ lis r4, 0x0001 /* 0x0000FBFF@ha */ -/* 8024BDD8 38 84 FB FF */ addi r4, r4, 0xFBFF /* 0x0000FBFF@l */ -/* 8024BDDC 4B DE 8C 29 */ bl getEventReg__11dSv_event_cCFUs -/* 8024BDE0 7C 64 1B 78 */ mr r4, r3 -/* 8024BDE4 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8024BDE8 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8024BDEC 38 63 00 EC */ addi r3, r3, 0xec -/* 8024BDF0 38 04 FF FF */ addi r0, r4, -1 -/* 8024BDF4 54 04 06 3E */ clrlwi r4, r0, 0x18 -/* 8024BDF8 4B DE 81 85 */ bl getBombNum__24dSv_player_item_record_cCFUc -/* 8024BDFC 7C 7F 1B 78 */ mr r31, r3 -/* 8024BE00 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8024BE04 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8024BE08 38 63 00 F8 */ addi r3, r3, 0xf8 -/* 8024BE0C 38 80 00 70 */ li r4, 0x70 -/* 8024BE10 4B DE 82 E9 */ bl getBombNum__21dSv_player_item_max_cCFUc -/* 8024BE14 54 65 06 3E */ clrlwi r5, r3, 0x18 -/* 8024BE18 57 E0 06 3E */ clrlwi r0, r31, 0x18 -/* 8024BE1C 7C 00 F2 14 */ add r0, r0, r30 -/* 8024BE20 7C A4 FE 70 */ srawi r4, r5, 0x1f -/* 8024BE24 54 03 0F FE */ srwi r3, r0, 0x1f -/* 8024BE28 7C 00 28 10 */ subfc r0, r0, r5 -/* 8024BE2C 7C 04 19 14 */ adde r0, r4, r3 -/* 8024BE30 54 03 06 3E */ clrlwi r3, r0, 0x18 -/* 8024BE34 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8024BE38 83 C1 00 08 */ lwz r30, 8(r1) -/* 8024BE3C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8024BE40 7C 08 03 A6 */ mtlr r0 -/* 8024BE44 38 21 00 10 */ addi r1, r1, 0x10 -/* 8024BE48 4E 80 00 20 */ blr diff --git a/asm/d/msg/d_msg_flow/query040__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci.s b/asm/d/msg/d_msg_flow/query040__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci.s deleted file mode 100644 index 3f50c7ea65..0000000000 --- a/asm/d/msg/d_msg_flow/query040__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci.s +++ /dev/null @@ -1,72 +0,0 @@ -lbl_8024BE4C: -/* 8024BE4C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8024BE50 7C 08 02 A6 */ mflr r0 -/* 8024BE54 90 01 00 14 */ stw r0, 0x14(r1) -/* 8024BE58 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8024BE5C 93 C1 00 08 */ stw r30, 8(r1) -/* 8024BE60 A0 64 00 04 */ lhz r3, 4(r4) -/* 8024BE64 2C 03 00 01 */ cmpwi r3, 1 -/* 8024BE68 41 80 00 18 */ blt lbl_8024BE80 -/* 8024BE6C 2C 03 00 04 */ cmpwi r3, 4 -/* 8024BE70 40 80 00 10 */ bge lbl_8024BE80 -/* 8024BE74 38 03 FF FF */ addi r0, r3, -1 -/* 8024BE78 54 1E 06 3E */ clrlwi r30, r0, 0x18 -/* 8024BE7C 48 00 00 48 */ b lbl_8024BEC4 -lbl_8024BE80: -/* 8024BE80 2C 03 00 04 */ cmpwi r3, 4 -/* 8024BE84 40 82 00 20 */ bne lbl_8024BEA4 -/* 8024BE88 3C 60 80 43 */ lis r3, g_meter2_info@ha /* 0x80430188@ha */ -/* 8024BE8C 38 63 01 88 */ addi r3, r3, g_meter2_info@l /* 0x80430188@l */ -/* 8024BE90 88 03 00 DC */ lbz r0, 0xdc(r3) -/* 8024BE94 28 00 00 FF */ cmplwi r0, 0xff -/* 8024BE98 41 82 00 2C */ beq lbl_8024BEC4 -/* 8024BE9C 7C 1E 03 78 */ mr r30, r0 -/* 8024BEA0 48 00 00 24 */ b lbl_8024BEC4 -lbl_8024BEA4: -/* 8024BEA4 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8024BEA8 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8024BEAC 38 63 0D D8 */ addi r3, r3, 0xdd8 -/* 8024BEB0 3C 80 00 01 */ lis r4, 0x0001 /* 0x0000FBFF@ha */ -/* 8024BEB4 38 84 FB FF */ addi r4, r4, 0xFBFF /* 0x0000FBFF@l */ -/* 8024BEB8 4B DE 8B 4D */ bl getEventReg__11dSv_event_cCFUs -/* 8024BEBC 38 03 FF FF */ addi r0, r3, -1 -/* 8024BEC0 54 1E 06 3E */ clrlwi r30, r0, 0x18 -lbl_8024BEC4: -/* 8024BEC4 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8024BEC8 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8024BECC 38 63 00 EC */ addi r3, r3, 0xec -/* 8024BED0 7F C4 F3 78 */ mr r4, r30 -/* 8024BED4 4B DE 80 A9 */ bl getBombNum__24dSv_player_item_record_cCFUc -/* 8024BED8 7C 7F 1B 78 */ mr r31, r3 -/* 8024BEDC 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8024BEE0 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8024BEE4 38 63 00 9C */ addi r3, r3, 0x9c -/* 8024BEE8 38 1E 00 0F */ addi r0, r30, 0xf -/* 8024BEEC 54 04 06 3E */ clrlwi r4, r0, 0x18 -/* 8024BEF0 38 A0 00 00 */ li r5, 0 -/* 8024BEF4 4B DE 71 3D */ bl getItem__17dSv_player_item_cCFib -/* 8024BEF8 7C 64 1B 78 */ mr r4, r3 -/* 8024BEFC 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8024BF00 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8024BF04 38 63 00 F8 */ addi r3, r3, 0xf8 -/* 8024BF08 4B DE 81 F1 */ bl getBombNum__21dSv_player_item_max_cCFUc -/* 8024BF0C 57 E4 06 3F */ clrlwi. r4, r31, 0x18 -/* 8024BF10 40 82 00 0C */ bne lbl_8024BF1C -/* 8024BF14 38 00 00 00 */ li r0, 0 -/* 8024BF18 48 00 00 1C */ b lbl_8024BF34 -lbl_8024BF1C: -/* 8024BF1C 54 60 06 3E */ clrlwi r0, r3, 0x18 -/* 8024BF20 7C 04 00 40 */ cmplw r4, r0 -/* 8024BF24 41 80 00 0C */ blt lbl_8024BF30 -/* 8024BF28 38 00 00 02 */ li r0, 2 -/* 8024BF2C 48 00 00 08 */ b lbl_8024BF34 -lbl_8024BF30: -/* 8024BF30 38 00 00 01 */ li r0, 1 -lbl_8024BF34: -/* 8024BF34 54 03 06 3E */ clrlwi r3, r0, 0x18 -/* 8024BF38 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8024BF3C 83 C1 00 08 */ lwz r30, 8(r1) -/* 8024BF40 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8024BF44 7C 08 03 A6 */ mtlr r0 -/* 8024BF48 38 21 00 10 */ addi r1, r1, 0x10 -/* 8024BF4C 4E 80 00 20 */ blr diff --git a/asm/d/msg/d_msg_flow/query041__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci.s b/asm/d/msg/d_msg_flow/query041__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci.s deleted file mode 100644 index 7f2a6dbe09..0000000000 --- a/asm/d/msg/d_msg_flow/query041__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci.s +++ /dev/null @@ -1,40 +0,0 @@ -lbl_8024BF50: -/* 8024BF50 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8024BF54 7C 08 02 A6 */ mflr r0 -/* 8024BF58 90 01 00 14 */ stw r0, 0x14(r1) -/* 8024BF5C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8024BF60 93 C1 00 08 */ stw r30, 8(r1) -/* 8024BF64 A3 C4 00 04 */ lhz r30, 4(r4) -/* 8024BF68 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8024BF6C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8024BF70 38 63 0D D8 */ addi r3, r3, 0xdd8 -/* 8024BF74 3C 80 00 01 */ lis r4, 0x0001 /* 0x0000FBFF@ha */ -/* 8024BF78 38 84 FB FF */ addi r4, r4, 0xFBFF /* 0x0000FBFF@l */ -/* 8024BF7C 4B DE 8A 89 */ bl getEventReg__11dSv_event_cCFUs -/* 8024BF80 7C 64 1B 78 */ mr r4, r3 -/* 8024BF84 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8024BF88 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8024BF8C 38 63 00 EC */ addi r3, r3, 0xec -/* 8024BF90 38 04 FF FF */ addi r0, r4, -1 -/* 8024BF94 54 04 06 3E */ clrlwi r4, r0, 0x18 -/* 8024BF98 4B DE 7F E5 */ bl getBombNum__24dSv_player_item_record_cCFUc -/* 8024BF9C 7C 7F 1B 78 */ mr r31, r3 -/* 8024BFA0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8024BFA4 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8024BFA8 38 63 00 F8 */ addi r3, r3, 0xf8 -/* 8024BFAC 38 80 00 71 */ li r4, 0x71 -/* 8024BFB0 4B DE 81 49 */ bl getBombNum__21dSv_player_item_max_cCFUc -/* 8024BFB4 54 65 06 3E */ clrlwi r5, r3, 0x18 -/* 8024BFB8 57 E0 06 3E */ clrlwi r0, r31, 0x18 -/* 8024BFBC 7C 00 F2 14 */ add r0, r0, r30 -/* 8024BFC0 7C A4 FE 70 */ srawi r4, r5, 0x1f -/* 8024BFC4 54 03 0F FE */ srwi r3, r0, 0x1f -/* 8024BFC8 7C 00 28 10 */ subfc r0, r0, r5 -/* 8024BFCC 7C 04 19 14 */ adde r0, r4, r3 -/* 8024BFD0 54 03 06 3E */ clrlwi r3, r0, 0x18 -/* 8024BFD4 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8024BFD8 83 C1 00 08 */ lwz r30, 8(r1) -/* 8024BFDC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8024BFE0 7C 08 03 A6 */ mtlr r0 -/* 8024BFE4 38 21 00 10 */ addi r1, r1, 0x10 -/* 8024BFE8 4E 80 00 20 */ blr diff --git a/asm/d/msg/d_msg_flow/query045__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci.s b/asm/d/msg/d_msg_flow/query045__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci.s deleted file mode 100644 index 5baa0870ee..0000000000 --- a/asm/d/msg/d_msg_flow/query045__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci.s +++ /dev/null @@ -1,41 +0,0 @@ -lbl_8024C18C: -/* 8024C18C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8024C190 7C 08 02 A6 */ mflr r0 -/* 8024C194 90 01 00 14 */ stw r0, 0x14(r1) -/* 8024C198 4B DE 22 91 */ bl dComIfGs_checkGetInsectNum__Fv -/* 8024C19C 38 80 00 00 */ li r4, 0 -/* 8024C1A0 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 8024C1A4 40 82 00 0C */ bne lbl_8024C1B0 -/* 8024C1A8 38 80 00 00 */ li r4, 0 -/* 8024C1AC 48 00 00 58 */ b lbl_8024C204 -lbl_8024C1B0: -/* 8024C1B0 28 00 00 01 */ cmplwi r0, 1 -/* 8024C1B4 41 80 00 14 */ blt lbl_8024C1C8 -/* 8024C1B8 28 00 00 0B */ cmplwi r0, 0xb -/* 8024C1BC 41 81 00 0C */ bgt lbl_8024C1C8 -/* 8024C1C0 38 80 00 01 */ li r4, 1 -/* 8024C1C4 48 00 00 40 */ b lbl_8024C204 -lbl_8024C1C8: -/* 8024C1C8 54 60 06 3E */ clrlwi r0, r3, 0x18 -/* 8024C1CC 28 00 00 0C */ cmplwi r0, 0xc -/* 8024C1D0 41 80 00 14 */ blt lbl_8024C1E4 -/* 8024C1D4 28 00 00 16 */ cmplwi r0, 0x16 -/* 8024C1D8 41 81 00 0C */ bgt lbl_8024C1E4 -/* 8024C1DC 38 80 00 02 */ li r4, 2 -/* 8024C1E0 48 00 00 24 */ b lbl_8024C204 -lbl_8024C1E4: -/* 8024C1E4 54 60 06 3E */ clrlwi r0, r3, 0x18 -/* 8024C1E8 28 00 00 17 */ cmplwi r0, 0x17 -/* 8024C1EC 40 82 00 0C */ bne lbl_8024C1F8 -/* 8024C1F0 38 80 00 03 */ li r4, 3 -/* 8024C1F4 48 00 00 10 */ b lbl_8024C204 -lbl_8024C1F8: -/* 8024C1F8 28 00 00 18 */ cmplwi r0, 0x18 -/* 8024C1FC 40 82 00 08 */ bne lbl_8024C204 -/* 8024C200 38 80 00 04 */ li r4, 4 -lbl_8024C204: -/* 8024C204 54 83 06 3E */ clrlwi r3, r4, 0x18 -/* 8024C208 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8024C20C 7C 08 03 A6 */ mtlr r0 -/* 8024C210 38 21 00 10 */ addi r1, r1, 0x10 -/* 8024C214 4E 80 00 20 */ blr diff --git a/asm/d/s/d_s_logo/dScnLogo_Create__FP11scene_class.s b/asm/d/s/d_s_logo/dScnLogo_Create__FP11scene_class.s deleted file mode 100644 index 574982c32c..0000000000 --- a/asm/d/s/d_s_logo/dScnLogo_Create__FP11scene_class.s +++ /dev/null @@ -1,10 +0,0 @@ -lbl_80258420: -/* 80258420 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80258424 7C 08 02 A6 */ mflr r0 -/* 80258428 90 01 00 14 */ stw r0, 0x14(r1) -/* 8025842C 28 03 00 00 */ cmplwi r3, 0 -/* 80258430 4B FF F6 B1 */ bl create__10dScnLogo_cFv -/* 80258434 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80258438 7C 08 03 A6 */ mtlr r0 -/* 8025843C 38 21 00 10 */ addi r1, r1, 0x10 -/* 80258440 4E 80 00 20 */ blr diff --git a/asm/d/s/d_s_logo/phase_0__FP10dScnLogo_c.s b/asm/d/s/d_s_logo/phase_0__FP10dScnLogo_c.s deleted file mode 100644 index b30a43354d..0000000000 --- a/asm/d/s/d_s_logo/phase_0__FP10dScnLogo_c.s +++ /dev/null @@ -1,44 +0,0 @@ -lbl_80257910: -/* 80257910 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80257914 7C 08 02 A6 */ mflr r0 -/* 80257918 90 01 00 24 */ stw r0, 0x24(r1) -/* 8025791C 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 80257920 7C 7F 1B 78 */ mr r31, r3 -/* 80257924 80 0D 80 84 */ lwz r0, g_blackColor(r13) -/* 80257928 90 01 00 0C */ stw r0, 0xc(r1) -/* 8025792C 90 01 00 08 */ stw r0, 8(r1) -/* 80257930 80 6D 86 48 */ lwz r3, mFader__13mDoGph_gInf_c(r13) -/* 80257934 88 01 00 08 */ lbz r0, 8(r1) -/* 80257938 98 03 00 0C */ stb r0, 0xc(r3) -/* 8025793C 88 01 00 09 */ lbz r0, 9(r1) -/* 80257940 98 03 00 0D */ stb r0, 0xd(r3) -/* 80257944 88 01 00 0A */ lbz r0, 0xa(r1) -/* 80257948 98 03 00 0E */ stb r0, 0xe(r3) -/* 8025794C 88 01 00 0B */ lbz r0, 0xb(r1) -/* 80257950 98 03 00 0F */ stb r0, 0xf(r3) -/* 80257954 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80257958 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8025795C 38 63 0F 38 */ addi r3, r3, 0xf38 -/* 80257960 4B DD 50 79 */ bl createParticle__14dComIfG_play_cFv -/* 80257964 4B DB 73 ED */ bl mDoExt_getGameHeap__Fv -/* 80257968 3C 80 00 34 */ lis r4, 0x34 -/* 8025796C 38 A0 FF F0 */ li r5, -16 -/* 80257970 48 07 6B 65 */ bl alloc__7JKRHeapFUli -/* 80257974 90 7F 02 1C */ stw r3, 0x21c(r31) -/* 80257978 80 7F 02 1C */ lwz r3, 0x21c(r31) -/* 8025797C 3C 80 00 34 */ lis r4, 0x34 -/* 80257980 38 A0 00 00 */ li r5, 0 -/* 80257984 38 C0 00 00 */ li r6, 0 -/* 80257988 48 07 75 79 */ bl create__10JKRExpHeapFPvUlP7JKRHeapb -/* 8025798C 90 7F 01 D0 */ stw r3, 0x1d0(r31) -/* 80257990 3C 60 00 13 */ lis r3, 0x13 -/* 80257994 80 9F 01 D0 */ lwz r4, 0x1d0(r31) -/* 80257998 38 A0 00 00 */ li r5, 0 -/* 8025799C 48 07 74 91 */ bl create__10JKRExpHeapFUlP7JKRHeapb -/* 802579A0 90 7F 01 D4 */ stw r3, 0x1d4(r31) -/* 802579A4 38 60 00 02 */ li r3, 2 -/* 802579A8 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 802579AC 80 01 00 24 */ lwz r0, 0x24(r1) -/* 802579B0 7C 08 03 A6 */ mtlr r0 -/* 802579B4 38 21 00 20 */ addi r1, r1, 0x20 -/* 802579B8 4E 80 00 20 */ blr diff --git a/asm/d/s/d_s_name/FileSelectClose__10dScnName_cFv.s b/asm/d/s/d_s_name/FileSelectClose__10dScnName_cFv.s deleted file mode 100644 index 6cbea6c72e..0000000000 --- a/asm/d/s/d_s_name/FileSelectClose__10dScnName_cFv.s +++ /dev/null @@ -1,48 +0,0 @@ -lbl_80258F20: -/* 80258F20 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80258F24 7C 08 02 A6 */ mflr r0 -/* 80258F28 90 01 00 24 */ stw r0, 0x24(r1) -/* 80258F2C 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 80258F30 7C 7F 1B 78 */ mr r31, r3 -/* 80258F34 88 63 04 1E */ lbz r3, 0x41e(r3) -/* 80258F38 38 03 FF FF */ addi r0, r3, -1 -/* 80258F3C 98 1F 04 1E */ stb r0, 0x41e(r31) -/* 80258F40 88 1F 04 1E */ lbz r0, 0x41e(r31) -/* 80258F44 28 00 00 00 */ cmplwi r0, 0 -/* 80258F48 40 82 00 78 */ bne lbl_80258FC0 -/* 80258F4C 38 00 00 03 */ li r0, 3 -/* 80258F50 98 1F 04 1D */ stb r0, 0x41d(r31) -/* 80258F54 38 00 00 0F */ li r0, 0xf -/* 80258F58 98 1F 04 1E */ stb r0, 0x41e(r31) -/* 80258F5C 38 00 00 01 */ li r0, 1 -/* 80258F60 98 1F 04 1C */ stb r0, 0x41c(r31) -/* 80258F64 80 0D 80 84 */ lwz r0, g_blackColor(r13) -/* 80258F68 90 01 00 0C */ stw r0, 0xc(r1) -/* 80258F6C 90 01 00 08 */ stw r0, 8(r1) -/* 80258F70 80 6D 86 48 */ lwz r3, mFader__13mDoGph_gInf_c(r13) -/* 80258F74 88 01 00 08 */ lbz r0, 8(r1) -/* 80258F78 98 03 00 0C */ stb r0, 0xc(r3) -/* 80258F7C 88 01 00 09 */ lbz r0, 9(r1) -/* 80258F80 98 03 00 0D */ stb r0, 0xd(r3) -/* 80258F84 88 01 00 0A */ lbz r0, 0xa(r1) -/* 80258F88 98 03 00 0E */ stb r0, 0xe(r3) -/* 80258F8C 88 01 00 0B */ lbz r0, 0xb(r1) -/* 80258F90 98 03 00 0F */ stb r0, 0xf(r3) -/* 80258F94 80 6D 8C 40 */ lwz r3, sManager__10JFWDisplay(r13) -/* 80258F98 80 63 00 04 */ lwz r3, 4(r3) -/* 80258F9C 28 03 00 00 */ cmplwi r3, 0 -/* 80258FA0 41 82 00 18 */ beq lbl_80258FB8 -/* 80258FA4 38 80 00 0F */ li r4, 0xf -/* 80258FA8 81 83 00 00 */ lwz r12, 0(r3) -/* 80258FAC 81 8C 00 0C */ lwz r12, 0xc(r12) -/* 80258FB0 7D 89 03 A6 */ mtctr r12 -/* 80258FB4 4E 80 04 21 */ bctrl -lbl_80258FB8: -/* 80258FB8 38 00 00 00 */ li r0, 0 -/* 80258FBC 98 1F 04 20 */ stb r0, 0x420(r31) -lbl_80258FC0: -/* 80258FC0 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 80258FC4 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80258FC8 7C 08 03 A6 */ mtlr r0 -/* 80258FCC 38 21 00 20 */ addi r1, r1, 0x20 -/* 80258FD0 4E 80 00 20 */ blr diff --git a/asm/d/s/d_s_name/FileSelectMainNormal__10dScnName_cFv.s b/asm/d/s/d_s_name/FileSelectMainNormal__10dScnName_cFv.s deleted file mode 100644 index d5ce69d591..0000000000 --- a/asm/d/s/d_s_name/FileSelectMainNormal__10dScnName_cFv.s +++ /dev/null @@ -1,46 +0,0 @@ -lbl_80258E78: -/* 80258E78 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80258E7C 7C 08 02 A6 */ mflr r0 -/* 80258E80 90 01 00 24 */ stw r0, 0x24(r1) -/* 80258E84 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 80258E88 7C 7F 1B 78 */ mr r31, r3 -/* 80258E8C 80 63 04 14 */ lwz r3, 0x414(r3) -/* 80258E90 88 03 02 70 */ lbz r0, 0x270(r3) -/* 80258E94 2C 00 00 01 */ cmpwi r0, 1 -/* 80258E98 41 82 00 08 */ beq lbl_80258EA0 -/* 80258E9C 48 00 00 70 */ b lbl_80258F0C -lbl_80258EA0: -/* 80258EA0 38 00 00 0F */ li r0, 0xf -/* 80258EA4 98 1F 04 1E */ stb r0, 0x41e(r31) -/* 80258EA8 80 0D 80 84 */ lwz r0, g_blackColor(r13) -/* 80258EAC 90 01 00 0C */ stw r0, 0xc(r1) -/* 80258EB0 90 01 00 08 */ stw r0, 8(r1) -/* 80258EB4 80 6D 86 48 */ lwz r3, mFader__13mDoGph_gInf_c(r13) -/* 80258EB8 88 01 00 08 */ lbz r0, 8(r1) -/* 80258EBC 98 03 00 0C */ stb r0, 0xc(r3) -/* 80258EC0 88 01 00 09 */ lbz r0, 9(r1) -/* 80258EC4 98 03 00 0D */ stb r0, 0xd(r3) -/* 80258EC8 88 01 00 0A */ lbz r0, 0xa(r1) -/* 80258ECC 98 03 00 0E */ stb r0, 0xe(r3) -/* 80258ED0 88 01 00 0B */ lbz r0, 0xb(r1) -/* 80258ED4 98 03 00 0F */ stb r0, 0xf(r3) -/* 80258ED8 80 6D 8C 40 */ lwz r3, sManager__10JFWDisplay(r13) -/* 80258EDC 80 63 00 04 */ lwz r3, 4(r3) -/* 80258EE0 28 03 00 00 */ cmplwi r3, 0 -/* 80258EE4 41 82 00 18 */ beq lbl_80258EFC -/* 80258EE8 38 80 00 0F */ li r4, 0xf -/* 80258EEC 81 83 00 00 */ lwz r12, 0(r3) -/* 80258EF0 81 8C 00 10 */ lwz r12, 0x10(r12) -/* 80258EF4 7D 89 03 A6 */ mtctr r12 -/* 80258EF8 4E 80 04 21 */ bctrl -lbl_80258EFC: -/* 80258EFC 38 00 00 02 */ li r0, 2 -/* 80258F00 98 1F 04 1D */ stb r0, 0x41d(r31) -/* 80258F04 38 00 00 01 */ li r0, 1 -/* 80258F08 98 1F 04 20 */ stb r0, 0x420(r31) -lbl_80258F0C: -/* 80258F0C 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 80258F10 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80258F14 7C 08 03 A6 */ mtlr r0 -/* 80258F18 38 21 00 20 */ addi r1, r1, 0x20 -/* 80258F1C 4E 80 00 20 */ blr diff --git a/include/JSystem/JUtility/JUTFader.h b/include/JSystem/JUtility/JUTFader.h index b9a3af2f65..3ee0a6a160 100644 --- a/include/JSystem/JUtility/JUTFader.h +++ b/include/JSystem/JUtility/JUTFader.h @@ -21,7 +21,7 @@ public: /* 802E56DC */ virtual void draw(); s32 getStatus() const { return mStatus; } - void setColor(JUtility::TColor color) { mColor.set(color); } + void setColor(JUtility::TColor& color) { mColor.set(color); } /* 0x04 */ s32 mStatus; /* 0x08 */ u16 field_0x8; diff --git a/include/SSystem/SComponent/c_lib.h b/include/SSystem/SComponent/c_lib.h index e0e9c2084c..886f72583d 100644 --- a/include/SSystem/SComponent/c_lib.h +++ b/include/SSystem/SComponent/c_lib.h @@ -87,7 +87,12 @@ inline T cLib_maxLimit(T val, T max) { } template -T cLib_calcTimer(T* val); +T cLib_calcTimer(T* value) { + if (*value != 0) { + *value = *value - 1; + } + return *value; +} void MtxInit(void); void MtxTrans(f32, f32, f32, u8); diff --git a/include/d/com/d_com_inf_game.h b/include/d/com/d_com_inf_game.h index e03010cf77..9b5384406c 100644 --- a/include/d/com/d_com_inf_game.h +++ b/include/d/com/d_com_inf_game.h @@ -1744,6 +1744,11 @@ static dAttCatch_c* dComIfGp_att_getCatghTarget(); static void dComIfGp_setBottleStatus(u8 param_0, u8 param_1); bool dComIfGp_getMapTrans(int i_roomNo, f32* o_transX, f32* o_transY, s16* o_angle); + +inline void dComIfGp_itemDataInit() { + g_dComIfG_gameInfo.play.itemInit(); +} + inline bool i_dComIfGp_checkPlayerStatus0(int param_0, u32 flag) { return g_dComIfG_gameInfo.play.checkPlayerStatus(param_0, 0, flag); } diff --git a/include/d/d_model.h b/include/d/d_model.h index 2a68d5bf39..4623c46053 100644 --- a/include/d/d_model.h +++ b/include/d/d_model.h @@ -46,7 +46,7 @@ public: /* 8009C8D8 */ dMdl_c* entry(J3DModelData*, u16, int); /* 8009C7AC */ static void create(); /* 8009C864 */ void remove(); - /* 8009C8C0 */ void reset(); + /* 8009C8C0 */ static void reset(); static dMdl_mng_c* m_myObj; diff --git a/include/d/file/d_file_select.h b/include/d/file/d_file_select.h index b1113c2011..5c274e7574 100644 --- a/include/d/file/d_file_select.h +++ b/include/d/file/d_file_select.h @@ -395,8 +395,8 @@ public: /* 0x0250 */ char* field_0x0250; /* 0x0254 */ STControl* mStick; /* 0x0258 */ u8 mDataNew[3]; - /* 0x025B */ u8 field_0x025b; - /* 0x025C */ u8 field_0x025c[0x0264 - 0x025C]; + /* 0x025B */ u8 field_0x025b[3]; + /* 0x025C */ u8 field_0x025e[0x0264 - 0x025E]; /* 0x0264 */ u8 field_0x0264; /* 0x0265 */ u8 mSelectNum; /* 0x0266 */ u8 field_0x0266; diff --git a/include/d/s/d_s_logo.h b/include/d/s/d_s_logo.h index 9f6502979c..a4d5f249cb 100644 --- a/include/d/s/d_s_logo.h +++ b/include/d/s/d_s_logo.h @@ -39,6 +39,7 @@ public: /* 0xF */ EXEC_SCENE_CHANGE, }; + dScnLogo_c() {} /* 802560B4 */ void preLoad_dyl_create(); /* 802560F8 */ void preLoad_dyl_remove(); /* 8025611C */ bool preLoad_dyl(); @@ -128,4 +129,6 @@ static int phase_0(dScnLogo_c* logo); static int phase_1(dScnLogo_c* logo); static int phase_2(dScnLogo_c* logo); +typedef int (*dScnLogo_Method)(dScnLogo_c*);; + #endif /* D_S_D_S_LOGO_H */ diff --git a/include/d/save/d_save.h b/include/d/save/d_save.h index fa3f80cdea..f5934842ce 100644 --- a/include/d/save/d_save.h +++ b/include/d/save/d_save.h @@ -1111,7 +1111,7 @@ public: void removeZone(int zoneNo) { mZone[zoneNo].reset(); } void setNoFile(u8 file) { mNoFile = file; } u8 getNewFile() const { return mNewFile; } - void setNewFile(u8 file) { mNewFile |= file; } + void setNewFile(u8 file) { mNewFile = file; } static const int MEMORY_SWITCH = 0x80; static const int DAN_SWITCH = 0x40; diff --git a/include/dolphin/vi/vi.h b/include/dolphin/vi/vi.h index 23abbcc408..f233b30249 100644 --- a/include/dolphin/vi/vi.h +++ b/include/dolphin/vi/vi.h @@ -52,6 +52,7 @@ void* VIGetNextFrameBuffer(); void* VIGetCurrentFrameBuffer(); void VISetBlack(BOOL); u32 VIGetRetraceCount(); +u32 VIGetDTVStatus(); vu16 __VIRegs[59] : 0xCC002000; diff --git a/include/m_Do/m_Do_graphic.h b/include/m_Do/m_Do_graphic.h index 68ebab896b..c91282e5d6 100644 --- a/include/m_Do/m_Do_graphic.h +++ b/include/m_Do/m_Do_graphic.h @@ -55,7 +55,7 @@ public: static int startFadeOut(int param_0) { return JFWDisplay::getManager()->startFadeOut(param_0); } static int startFadeIn(int param_0) { return JFWDisplay::getManager()->startFadeIn(param_0); } - static void setFadeColor(JUtility::TColor& color) { mFader->setColor(color); } + static void setFadeColor(JUtility::TColor color) { mFader->mColor.set(color); } static void setClearColor(JUtility::TColor color) { JFWDisplay::getManager()->setClearColor(color); } static void setBackColor(GXColor& color) { mBackColor = color; } static void endFrame() { JFWDisplay::getManager()->endFrame(); } diff --git a/rel/d/a/d_a_title/d_a_title_nonmatching.cpp b/rel/d/a/d_a_title/d_a_title_nonmatching.cpp index d587c93b3d..001404baf5 100644 --- a/rel/d/a/d_a_title/d_a_title_nonmatching.cpp +++ b/rel/d/a/d_a_title/d_a_title_nonmatching.cpp @@ -4,7 +4,11 @@ // #include "rel/d/a/d_a_title/d_a_title.h" +#include "JSystem/J2DGraph/J2DScreen.h" +#include "JSystem/J2DGraph/J2DTextBox.h" +#include "JSystem/JKernel/JKRExpHeap.h" #include "JSystem/JKernel/JKRHeap.h" +#include "JSystem/JKernel/JKRMemArchive.h" #include "JSystem/JStudio/JStudio/stb.h" #include "dol2asm.h" #include "dolphin/types.h" @@ -12,6 +16,10 @@ #include "f_op/f_op_actor_mng.h" #include "f_op/f_op_overlap_mng.h" #include "f_op/f_op_msg_mng.h" +#include "d/pane/d_pane_class_alpha.h" +#include "d/menu/d_menu_collect.h" +#include "m_Do/m_Do_Reset.h" +#include "m_Do/m_Do_controller_pad.h" // // Types: @@ -186,7 +194,6 @@ extern "C" void _savegpr_26(); extern "C" void _savegpr_29(); extern "C" void _restgpr_26(); extern "C" void _restgpr_29(); -extern "C" extern void* g_fopAc_Method[8]; extern "C" u8 m_cpadInfo__8mDoCPd_c[256]; extern "C" f32 mViewOffsetY__17dMenu_Collect3D_c[1 + 1 /* padding */]; extern "C" u8 mFader__13mDoGph_gInf_c[4]; @@ -468,8 +475,6 @@ void daTitle_c::nextScene_init() { } /* 80D67550-80D675EC 000B30 009C+00 1/0 0/0 0/0 .text nextScene_proc__9daTitle_cFv */ -// setFadeColor store order issue -#ifdef NONMATCHING void daTitle_c::nextScene_proc() { if (!fopOvlpM_IsPeek() && !mDoRst::isReset()) { scene_class* playScene = fopScnM_SearchByID(dStage_roomControl_c::getProcID()); @@ -477,16 +482,6 @@ void daTitle_c::nextScene_proc() { mDoGph_gInf_c::setFadeColor(*(JUtility::TColor*)&g_blackColor); } } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daTitle_c::nextScene_proc() { - nofralloc -#include "asm/rel/d/a/d_a_title/d_a_title/nextScene_proc__9daTitle_cFv.s" -} -#pragma pop -#endif /* 80D675EC-80D676AC 000BCC 00C0+00 1/1 0/0 0/0 .text fastLogoDispInit__9daTitle_cFv */ void daTitle_c::fastLogoDispInit() { diff --git a/src/d/file/d_file_select.cpp b/src/d/file/d_file_select.cpp index de8ebe15e6..52707f9efd 100644 --- a/src/d/file/d_file_select.cpp +++ b/src/d/file/d_file_select.cpp @@ -19,6 +19,7 @@ #include "dolphin/types.h" #include "m_Do/m_Do_MemCard.h" #include "m_Do/m_Do_controller_pad.h" +#include "m_Do/m_Do_graphic.h" // @@ -1904,11 +1905,28 @@ SECTION_SDATA2 static f32 lit_4166[1 + 1 /* padding */] = { }; /* 801843CC-801844FC 17ED0C 0130+00 0/0 1/1 0/0 .text _create__14dFile_select_cFv */ +// Matches with literals #ifdef NONMATCHING void dFile_select_c::_create() { mDoGph_gInf_c::setFadeColor(static_cast(g_blackColor)); - mStick = new STControl(); + mStick = new STControl(2, 2, 1, 1, 0.9f, 0.5f, 0, 0x2000); g_fsHIO.field_0x0004 = -1; + for (int iVar2 = 0; iVar2 < 3; iVar2++) { + mDataNew[iVar2] = 0; + field_0x025b[iVar2] = 0; + } + + mSelectNum = 0; + dComIfGs_init(); + dComIfGp_itemDataInit(); + dComIfGs_setNewFile(0); + mHasDrawn = 0; + screenSet(); + screenSetCopySel(); + screenSet3Menu(); + screenSetYesNo(); + screenSetDetail(); + displayInit(); } #else #pragma push diff --git a/src/d/menu/d_menu_save.cpp b/src/d/menu/d_menu_save.cpp index 3891965541..520b913408 100644 --- a/src/d/menu/d_menu_save.cpp +++ b/src/d/menu/d_menu_save.cpp @@ -1883,7 +1883,7 @@ void dMenu_save_c::memCardMakeGameFileWait() { errorTxtSet(0x3C6); // An error might have occurred when creating a save file. mMenuProc = PROC_MEMCARD_COMMAND_END; } else if (mCmdState == 1) { - dComIfGs_setNewFile(1); + dComIfGs_setNewFile(dComIfGs_getNewFile() | 1); errorTxtSet(0x3C7); // A save file has been created. mMenuProc = PROC_MEMCARD_COMMAND_END; } diff --git a/src/d/menu/d_menu_window.cpp b/src/d/menu/d_menu_window.cpp index 5f4291ca6f..99ecf51c60 100644 --- a/src/d/menu/d_menu_window.cpp +++ b/src/d/menu/d_menu_window.cpp @@ -2436,39 +2436,16 @@ bool dMw_c::isPauseReady() { } /* 801FCE08-801FCE78 1F7748 0070+00 10/10 3/3 0/0 .text dMw_fade_out__5dMw_cFv */ -// instructions switched -#ifdef NONMATCHING void dMw_c::dMw_fade_out() { mDoGph_gInf_c::startFadeOut(13); mDoGph_gInf_c::setFadeColor(static_cast(g_blackColor)); } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMw_c::dMw_fade_out() { - nofralloc -#include "asm/d/menu/d_menu_window/dMw_fade_out__5dMw_cFv.s" -} -#pragma pop -#endif /* 801FCE78-801FCEE8 1F77B8 0070+00 9/9 4/4 0/0 .text dMw_fade_in__5dMw_cFv */ -#ifdef NONMATCHING void dMw_c::dMw_fade_in() { mDoGph_gInf_c::startFadeIn(13); mDoGph_gInf_c::setFadeColor(static_cast(g_blackColor)); } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMw_c::dMw_fade_in() { - nofralloc -#include "asm/d/menu/d_menu_window/dMw_fade_in__5dMw_cFv.s" -} -#pragma pop -#endif /* 801FCEE8-801FCF84 1F7828 009C+00 1/1 0/0 0/0 .text checkCStickTrigger__5dMw_cFv */ int dMw_c::checkCStickTrigger() { diff --git a/src/d/msg/d_msg_flow.cpp b/src/d/msg/d_msg_flow.cpp index ae8ddbd6ab..0cc028b4e3 100644 --- a/src/d/msg/d_msg_flow.cpp +++ b/src/d/msg/d_msg_flow.cpp @@ -18,6 +18,7 @@ #include "f_op/f_op_actor_mng.h" #include "f_op/f_op_msg_mng.h" #include "m_Do/m_Do_audio.h" +#include "m_Do/m_Do_graphic.h" // // Forward References: @@ -1559,36 +1560,50 @@ int dMsgFlow_c::query038(mesg_flow_node_branch* param_0, fopAc_ac_c* param_1, in /* 8024BDB0-8024BE4C 2466F0 009C+00 1/0 0/0 0/0 .text * query039__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm int dMsgFlow_c::query039(mesg_flow_node_branch* param_0, fopAc_ac_c* param_1, int param_2) { - nofralloc -#include "asm/d/msg/d_msg_flow/query039__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci.s" +int dMsgFlow_c::query039(mesg_flow_node_branch* param_0, fopAc_ac_c* param_1, int param_2) { + u16 uVar2 = *(u16*)param_0->params; + u8 iVar4 = dComIfGs_getTmpReg(0xfbff); + u8 bombNum = dComIfGs_getBombNum(iVar4 - 1); + return dComIfGs_getBombMax(NORMAL_BOMB) >= bombNum + uVar2; } -#pragma pop /* 8024BE4C-8024BF50 24678C 0104+00 1/0 0/0 0/0 .text * query040__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm int dMsgFlow_c::query040(mesg_flow_node_branch* param_0, fopAc_ac_c* param_1, int param_2) { - nofralloc -#include "asm/d/msg/d_msg_flow/query040__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci.s" +int dMsgFlow_c::query040(mesg_flow_node_branch* param_0, fopAc_ac_c* param_1, int param_2) { + s32 uVar7 = *(u16*)param_0->params; + u8 unaff_r30; + if (uVar7 >= 1 && uVar7 < 4) { + unaff_r30 = uVar7 - 1; + } else if (uVar7 == 4) { + if (dMeter2Info_getRentalBombBag() != 0xff) { + unaff_r30 = dMeter2Info_getRentalBombBag(); + } + } else { + unaff_r30 = dComIfGs_getTmpReg(0xfbff) - 1; + } + + u8 bombNum = dComIfGs_getBombNum(unaff_r30); + u8 uVar4 = dComIfGs_getItem((u8)(unaff_r30 + SLOT_15), 0); + u8 bombMax = dComIfGs_getBombMax(uVar4); + u8 rv; + if (bombNum == 0) { + rv = 0; + } else if (bombNum >= bombMax) { + rv = 2; + } else { + rv = 1; + } + return rv; } -#pragma pop /* 8024BF50-8024BFEC 246890 009C+00 1/0 0/0 0/0 .text * query041__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm int dMsgFlow_c::query041(mesg_flow_node_branch* param_0, fopAc_ac_c* param_1, int param_2) { - nofralloc -#include "asm/d/msg/d_msg_flow/query041__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci.s" +int dMsgFlow_c::query041(mesg_flow_node_branch* param_0, fopAc_ac_c* param_1, int param_2) { + u16 uVar2 = *(u16*)param_0->params; + u8 iVar4 = dComIfGs_getTmpReg(0xfbff); + u8 bombNum = dComIfGs_getBombNum(iVar4 - 1); + return dComIfGs_getBombMax(WATER_BOMB) >= bombNum + uVar2; } -#pragma pop /* 8024BFEC-8024C0A8 24692C 00BC+00 1/0 0/0 0/0 .text * query042__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci */ @@ -1627,14 +1642,23 @@ int dMsgFlow_c::query044(mesg_flow_node_branch*, fopAc_ac_c*, int) { /* 8024C18C-8024C218 246ACC 008C+00 1/0 0/0 0/0 .text * query045__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm int dMsgFlow_c::query045(mesg_flow_node_branch* param_0, fopAc_ac_c* param_1, int param_2) { - nofralloc -#include "asm/d/msg/d_msg_flow/query045__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci.s" +int dMsgFlow_c::query045(mesg_flow_node_branch* param_0, fopAc_ac_c* param_1, int param_2) { + u8 insectNum = dComIfGs_checkGetInsectNum(); + u8 rv = 0; + if (insectNum == 0) { + rv = 0; + } else if (insectNum >= 1 && insectNum <= 11) { + rv = 1; + } else if (insectNum >= 12 && insectNum <= 22) { + rv = 2; + } else if (insectNum == 23) { + rv = 3; + } else if (insectNum == 24) { + rv = 4; + } + + return rv; } -#pragma pop /* 8024C218-8024C248 246B58 0030+00 1/0 0/0 0/0 .text * query046__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci */ @@ -2094,6 +2118,12 @@ int dMsgFlow_c::event020(mesg_flow_node_event* flow_node, fopAc_ac_c* actor) { /* 8024CD84-8024CDAC 2476C4 0028+00 1/0 0/0 0/0 .text * event021__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c */ +#ifndef NONMATCHING +int dMsgFlow_c::event021(mesg_flow_node_event* param_0, fopAc_ac_c* param_1) { + cLib_calcTimer(&field_0x3c); + return 1; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -2102,6 +2132,7 @@ asm int dMsgFlow_c::event021(mesg_flow_node_event* param_0, fopAc_ac_c* param_1) #include "asm/d/msg/d_msg_flow/event021__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c.s" } #pragma pop +#endif /* ############################################################################################## */ /* 80454DA8-80454DAC 0033A8 0004+00 1/1 0/0 0/0 .sdata2 @6273 */ @@ -2401,7 +2432,7 @@ SECTION_SDATA2 static f32 lit_6613 = 1.0f; /* 8024D5EC-8024D6BC 247F2C 00D0+00 1/0 0/0 0/0 .text * event032__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c */ #ifdef NONMATCHING -// Matches with literals and cLib_calcTimer implementation in the end +// Matches with literals int dMsgFlow_c::event032(mesg_flow_node_event* param_0, fopAc_ac_c* param_1) { u16 uVar1; u16 uVar2; @@ -2435,6 +2466,29 @@ asm int dMsgFlow_c::event032(mesg_flow_node_event* param_0, fopAc_ac_c* param_1) /* 8024D6BC-8024D788 247FFC 00CC+00 1/0 0/0 0/0 .text * event033__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c */ +#ifdef NONMATCHING +// Matches with literals +int dMsgFlow_c::event033(mesg_flow_node_event* param_0, fopAc_ac_c* param_1) { + u16 uVar1; + u16 uVar2; + GXColor color; + + getParam(&uVar2, &uVar1, param_0->params); + if (uVar1 + 1 == field_0x3c) { + if (uVar2 == 0) { + color.r = 0; + color.g = 0; + color.b = 0; + color.a = 0; + } else { + color = g_saftyWhiteColor; + } + mDoGph_gInf_c::fadeOut(1.0f / uVar1, color); + } + cLib_calcTimer(&field_0x3c); + return 1; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -2443,6 +2497,7 @@ asm int dMsgFlow_c::event033(mesg_flow_node_event* param_0, fopAc_ac_c* param_1) #include "asm/d/msg/d_msg_flow/event033__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c.s" } #pragma pop +#endif /* 8024D788-8024D7C8 2480C8 0040+00 1/0 0/0 0/0 .text * event034__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c */ @@ -2566,13 +2621,5 @@ int dMsgFlow_c::event042(mesg_flow_node_event*, fopAc_ac_c*) { } /* 8024DAB0-8024DACC 2483F0 001C+00 3/3 0/0 0/0 .text cLib_calcTimer__FPl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -extern "C" asm void func_8024DAB0(void* _this, s32* param_0) { - nofralloc -#include "asm/d/msg/d_msg_flow/func_8024DAB0.s" -} -#pragma pop /* 80399CB0-80399CB0 026310 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ diff --git a/src/d/s/d_s_logo.cpp b/src/d/s/d_s_logo.cpp index 0187320254..38c7a73545 100644 --- a/src/d/s/d_s_logo.cpp +++ b/src/d/s/d_s_logo.cpp @@ -18,6 +18,8 @@ #include "m_Do/m_Do_controller_pad.h" #include "m_Do/m_Do_graphic.h" #include "m_Do/m_Do_machine.h" +#include "dolphin/os/OSRtc.h" +#include "dolphin/vi/vi.h" // // Types: @@ -34,123 +36,10 @@ public: // Forward References: // -extern "C" void __ct__10dLog_HIO_cFv(); -extern "C" void preLoad_dyl_create__10dScnLogo_cFv(); -extern "C" void preLoad_dyl_remove__10dScnLogo_cFv(); -extern "C" void preLoad_dyl__10dScnLogo_cFv(); -extern "C" void checkProgSelect__10dScnLogo_cFv(); -extern "C" void draw__10dScnLogo_cFv(); -extern "C" void progInDraw__10dScnLogo_cFv(); -extern "C" void progSelDraw__10dScnLogo_cFv(); -extern "C" void progOutDraw__10dScnLogo_cFv(); -extern "C" void progSetDraw__10dScnLogo_cFv(); -extern "C" void progSet2Draw__10dScnLogo_cFv(); -extern "C" void progChangeDraw__10dScnLogo_cFv(); -extern "C" void warningInDraw__10dScnLogo_cFv(); -extern "C" void warningDispDraw__10dScnLogo_cFv(); -extern "C" void warningOutDraw__10dScnLogo_cFv(); -extern "C" void nintendoInDraw__10dScnLogo_cFv(); -extern "C" void nintendoOutDraw__10dScnLogo_cFv(); -extern "C" void dolbyInDraw__10dScnLogo_cFv(); -extern "C" void dolbyOutDraw__10dScnLogo_cFv(); -extern "C" void dolbyOutDraw2__10dScnLogo_cFv(); -extern "C" void dvdWaitDraw__10dScnLogo_cFv(); -extern "C" void nextSceneChange__10dScnLogo_cFv(); -extern "C" void __dt__10dScnLogo_cFv(); -extern "C" static void phase_0__FP10dScnLogo_c(); -extern "C" static void phase_1__FP10dScnLogo_c(); -extern "C" static void phase_2__FP10dScnLogo_c(); -extern "C" static void resLoad__FP30request_of_phase_process_classP10dScnLogo_c(); -extern "C" void create__10dScnLogo_cFv(); -extern "C" void logoInitGC__10dScnLogo_cFv(); -extern "C" void dvdDataLoad__10dScnLogo_cFv(); -extern "C" static void dScnLogo_Create__FP11scene_class(); -extern "C" static void dScnLogo_Execute__FP10dScnLogo_c(); -extern "C" static void dScnLogo_Draw__FP10dScnLogo_c(); -extern "C" static void dScnLogo_Delete__FP10dScnLogo_c(); -extern "C" static bool dScnLogo_IsDelete__FP10dScnLogo_c(); -extern "C" void setProgressiveMode__10dScnLogo_cFUc(); -extern "C" void getProgressiveMode__10dScnLogo_cFv(); -extern "C" void isProgressiveMode__10dScnLogo_cFv(); -extern "C" void setRenderMode__10dScnLogo_cFv(); -extern "C" void __dt__10dLog_HIO_cFv(); -extern "C" void func_802585A4(u16*); -extern "C" void __sinit_d_s_logo_cpp(); -extern "C" extern char const* const d_s_d_s_logo__stringBase0; - // // External References: // -extern "C" void mDoExt_getGameHeap__Fv(); -extern "C" void mDoExt_getJ2dHeap__Fv(); -extern "C" void mDoExt_setCurrentHeap__FP7JKRHeap(); -extern "C" void mDoExt_getMesgFont__Fv(); -extern "C" void mDoExt_getRubyFont__Fv(); -extern "C" void mDoExt_getSubFont__Fv(); -extern "C" void mDoExt_setAraCacheSize__FUl(); -extern "C" void mDoRst_reset__FiUli(); -extern "C" void mDoRst_resetCallBack__FiPv(); -extern "C" void create__25mDoDvdThd_mountXArchive_cFPCcUcQ210JKRArchive10EMountModeP7JKRHeap(); -extern "C" void create__21mDoDvdThd_toMainRam_cFPCcUcP7JKRHeap(); -extern "C" void cDyl_InitAsyncIsDone__Fv(); -extern "C" void Link__7cDylPhsFP30request_of_phase_process_classs(); -extern "C" void fopScnM_ChangeReq__FP11scene_classssUs(); -extern "C" void createParticle__14dComIfG_play_cFv(); -extern "C" void dComIfG_changeOpeningScene__FP11scene_classs(); -extern "C" void dComLbG_PhaseHandler__FP30request_of_phase_process_classPPFPv_iPv(); -extern "C" void setRes__14dRes_control_cFPCcP11dRes_info_ciPCcUcP7JKRHeap(); -extern "C" void deleteRes__14dRes_control_cFPCcP11dRes_info_ci(); -extern "C" void getRes__14dRes_control_cFPCclP11dRes_info_ci(); -extern "C" void syncAllRes__14dRes_control_cFP11dRes_info_ci(); -extern "C" void createWork__8dMpath_cFv(); -extern "C" void createCommon__13dPa_control_cFPCv(); -extern "C" void __ct__10dDlst_2D_cFP7ResTIMGssssUc(); -extern "C" void setSimpleTex__21dDlst_shadowControl_cFPC7ResTIMG(); -extern "C" void set__12dDlst_list_cFRPP12dDlst_base_cRPP12dDlst_base_cP12dDlst_base_c(); -extern "C" void createWork__7dTres_cFv(); -extern "C" void waitBlanking__10JFWDisplayFi(); -extern "C" void seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc(); -extern "C" void loadStaticWaves__10Z2SceneMgrFv(); -extern "C" bool checkFirstWaves__10Z2SceneMgrFv(); -extern "C" void resetProcess__10Z2AudioMgrFUlb(); -extern "C" void becomeCurrentHeap__7JKRHeapFv(); -extern "C" void destroy__7JKRHeapFv(); -extern "C" void alloc__7JKRHeapFUli(); -extern "C" void free__7JKRHeapFPvP7JKRHeap(); -extern "C" void* __nw__FUl(); -extern "C" void* __nwa__FUl(); -extern "C" void __dl__FPv(); -extern "C" void __dla__FPv(); -extern "C" void create__10JKRExpHeapFUlP7JKRHeapb(); -extern "C" void create__10JKRExpHeapFPvUlP7JKRHeapb(); -extern "C" void getTotalFreeSize__11JKRAramHeapFv(); -extern "C" void __dt__10J2DPictureFv(); -extern "C" u32 OSGetProgressiveMode(); -extern "C" void OSSetProgressiveMode(u32); -extern "C" u32 VIGetDTVStatus(); -extern "C" void __register_global_object(); -extern "C" void __ptmf_scall(); -extern "C" void _savegpr_26(); -extern "C" void _savegpr_27(); -extern "C" void _savegpr_28(); -extern "C" void _savegpr_29(); -extern "C" void _restgpr_26(); -extern "C" void _restgpr_27(); -extern "C" void _restgpr_28(); -extern "C" void _restgpr_29(); -extern "C" extern void* __vt__10dDlst_2D_c[3]; -extern "C" u8 m_cpadInfo__8mDoCPd_c[256]; -extern "C" void* mRenderModeObj__15mDoMch_render_c[1 + 1 /* padding */]; -extern "C" extern u8 mInitFlag__17mDoAud_zelAudio_c[4]; -extern "C" u8 mFader__13mDoGph_gInf_c[4]; -extern "C" u8 mResetData__6mDoRst[4 + 4 /* padding */]; -extern "C" u8 mData__12dEnemyItem_c[4 + 4 /* padding */]; -extern "C" u8 sManager__10JFWDisplay[4]; -extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; -extern "C" u8 sAramObject__7JKRAram[4]; -extern "C" u8 sCallback__Q210JUTGamePad13C3ButtonReset[4]; -extern "C" u8 sCallbackArg__Q210JUTGamePad13C3ButtonReset[4 + 4 /* padding */]; // // Declarations: @@ -158,7 +47,7 @@ extern "C" u8 sCallbackArg__Q210JUTGamePad13C3ButtonReset[4 + 4 /* padding */]; /* ############################################################################################## */ /* 803C2E38-803C2E44 01FF58 000C+00 1/1 0/0 0/0 .data cNullVec__6Z2Calc */ -SECTION_DATA static u8 cNullVec__6Z2Calc[12] = { +static u8 cNullVec__6Z2Calc[12] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }; @@ -166,7 +55,7 @@ SECTION_DATA static u8 cNullVec__6Z2Calc[12] = { static dLog_HIO_c g_LogHIO; typedef void (dScnLogo_c::*execFunc)(); -SECTION_DATA static execFunc l_execFunc[16] = { +static execFunc l_execFunc[16] = { &dScnLogo_c::warningInDraw, &dScnLogo_c::warningDispDraw, &dScnLogo_c::warningOutDraw, &dScnLogo_c::nintendoInDraw, &dScnLogo_c::nintendoOutDraw, &dScnLogo_c::dolbyInDraw, &dScnLogo_c::dolbyOutDraw, &dScnLogo_c::dolbyOutDraw2, &dScnLogo_c::progInDraw, @@ -632,8 +521,6 @@ dScnLogo_c::~dScnLogo_c() { } /* 80257910-802579BC 252250 00AC+00 1/0 0/0 0/0 .text phase_0__FP10dScnLogo_c */ -// setFadeColor instruction reordering -#ifdef NONMATCHING static int phase_0(dScnLogo_c* logo) { mDoGph_gInf_c::setFadeColor(*(JUtility::TColor*)&g_blackColor); dComIfGp_particle_create(); @@ -644,16 +531,6 @@ static int phase_0(dScnLogo_c* logo) { return 2; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm int phase_0(dScnLogo_c* param_0) { - nofralloc -#include "asm/d/s/d_s_logo/phase_0__FP10dScnLogo_c.s" -} -#pragma pop -#endif /* 802579BC-80257A70 2522FC 00B4+00 1/0 0/0 0/0 .text phase_1__FP10dScnLogo_c */ static int phase_1(dScnLogo_c* logo) { @@ -822,20 +699,9 @@ void dScnLogo_c::dvdDataLoad() { } /* 80258420-80258444 252D60 0024+00 1/0 0/0 0/0 .text dScnLogo_Create__FP11scene_class */ -#ifdef NONMATCHING static int dScnLogo_Create(scene_class* scn) { - return static_cast(scn)->create(); + return (new (scn) dScnLogo_c())->create(); } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void dScnLogo_Create(scene_class* param_0) { - nofralloc -#include "asm/d/s/d_s_logo/dScnLogo_Create__FP11scene_class.s" -} -#pragma pop -#endif /* 80258444-80258484 252D84 0040+00 1/0 0/0 0/0 .text dScnLogo_Execute__FP10dScnLogo_c */ static int dScnLogo_Execute(dScnLogo_c* logo) { @@ -889,34 +755,26 @@ void dScnLogo_c::setRenderMode() { /* 8025855C-802585A4 252E9C 0048+00 2/1 0/0 0/0 .text __dt__10dLog_HIO_cFv */ dLog_HIO_c::~dLog_HIO_c() {} -/* 802585A4-802585C0 252EE4 001C+00 1/1 0/0 0/0 .text cLib_calcTimer__FPUs */ -template -T cLib_calcTimer(T* value) { - if (*value != 0) { - *value = *value - 1; - } - return *value; -} - /* 803C2FD0-803C2FE4 -00001 0014+00 1/0 0/0 0/0 .data l_dScnLogo_Method */ -SECTION_DATA static void* l_dScnLogo_Method[5] = { - (void*)dScnLogo_Create__FP11scene_class, (void*)dScnLogo_Delete__FP10dScnLogo_c, - (void*)dScnLogo_Execute__FP10dScnLogo_c, (void*)dScnLogo_IsDelete__FP10dScnLogo_c, - (void*)dScnLogo_Draw__FP10dScnLogo_c, +static dScnLogo_Method l_dScnLogo_Method[5] = { + (dScnLogo_Method) dScnLogo_Create, dScnLogo_Delete, + dScnLogo_Execute, dScnLogo_IsDelete, + dScnLogo_Draw, }; /* 803C2FE4-803C300C -00001 0028+00 0/0 0/0 1/0 .data g_profile_LOGO_SCENE */ -SECTION_DATA extern void* g_profile_LOGO_SCENE[10] = { - (void*)NULL, - (void*)0x0001FFFD, - (void*)0x00090000, - (void*)&g_fpcNd_Method, - (void*)0x000002A8, - (void*)NULL, - (void*)NULL, - (void*)&g_fopScn_Method, - (void*)&l_dScnLogo_Method, - (void*)NULL, +extern scene_process_profile_definition g_profile_LOGO_SCENE = { + 0, + 1, + -3, + PROC_LOGO_SCENE, + &g_fpcNd_Method.mBase, + sizeof(dScnLogo_c), + 0, + 0, + &g_fopScn_Method.mBase, + (process_method_class*)&l_dScnLogo_Method, + NULL, }; /* 80399FFC-80399FFC 02665C 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ diff --git a/src/d/s/d_s_name.cpp b/src/d/s/d_s_name.cpp index 77bc75d70d..87cadcd654 100644 --- a/src/d/s/d_s_name.cpp +++ b/src/d/s/d_s_name.cpp @@ -474,29 +474,19 @@ void dScnName_c::FileSelectMain() { } /* 80258E78-80258F20 2537B8 00A8+00 1/1 0/0 0/0 .text FileSelectMainNormal__10dScnName_cFv */ -#ifdef NONMATCHING void dScnName_c::FileSelectMainNormal() { - if (dFs_c->isSelectEnd() == true) { + switch(dFs_c->isSelectEnd()) { + case 1: field_0x41e = 15; mDoGph_gInf_c::setFadeColor(*(JUtility::TColor*)&g_blackColor); mDoGph_gInf_c::startFadeOut(15); field_0x41d = 2; field_0x420 = 1; + break; } } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dScnName_c::FileSelectMainNormal() { - nofralloc -#include "asm/d/s/d_s_name/FileSelectMainNormal__10dScnName_cFv.s" -} -#pragma pop -#endif /* 80258F20-80258FD4 253860 00B4+00 1/0 0/0 0/0 .text FileSelectClose__10dScnName_cFv */ -#ifdef NONMATCHING void dScnName_c::FileSelectClose() { field_0x41e--; @@ -509,16 +499,6 @@ void dScnName_c::FileSelectClose() { field_0x420 = 0; } } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dScnName_c::FileSelectClose() { - nofralloc -#include "asm/d/s/d_s_name/FileSelectClose__10dScnName_cFv.s" -} -#pragma pop -#endif /* 80258FD4-80259008 253914 0034+00 1/0 0/0 0/0 .text brightCheckOpen__10dScnName_cFv */ void dScnName_c::brightCheckOpen() { diff --git a/src/d/s/d_s_play.cpp b/src/d/s/d_s_play.cpp index fc16b0726d..631ab6c406 100644 --- a/src/d/s/d_s_play.cpp +++ b/src/d/s/d_s_play.cpp @@ -24,6 +24,7 @@ #include "m_Do/m_Do_Reset.h" #include "m_Do/m_Do_audio.h" #include "m_Do/m_Do_graphic.h" +#include "d/d_eye_hl.h" // // Types: @@ -387,7 +388,7 @@ asm dScnPly_env_debugHIO_c::dScnPly_env_debugHIO_c() { SECTION_SDATA2 static u32 lit_4100 = 0x2A1E46FF; /* 802594AC-802597B8 253DEC 030C+00 1/0 0/0 0/0 .text dScnPly_Draw__FP9dScnPly_c */ -// some small issues like instruction reordering +// bool comparison issues #ifdef NONMATCHING static int dScnPly_Draw(dScnPly_c* scn) { dComIfG_Ccsp()->Move(); @@ -425,7 +426,7 @@ static int dScnPly_Draw(dScnPly_c* scn) { } dMdl_mng_c::reset(); - if (!dComIfGp_isPauseFlag() && pauseTimer == 0) { + if (!dComIfGp_isPauseFlag() && dScnPly_c::pauseTimer == 0) { if (fpcM_GetName(scn) == PROC_PLAY_SCENE) { dComIfGp_getVibration().Run(); } @@ -436,9 +437,9 @@ static int dScnPly_Draw(dScnPly_c* scn) { cCt_execCounter(); } else { dPa_control_c::onStatus(1); - if (pauseTimer == 0) { + if (dScnPly_c::pauseTimer == 0) { dPa_control_c::onStatus(2); - if (pauseTimer == 0) { + if (dScnPly_c::pauseTimer == 0) { dComIfGp_getVibration().Pause(); } } From 38b51b351435c9e82ea051a001a543391d5a7ad0 Mon Sep 17 00:00:00 2001 From: Trueffel <106771418+Trueffeloot@users.noreply.github.com> Date: Mon, 29 May 2023 04:10:48 +0200 Subject: [PATCH 3/8] d_a_obj_digholl & d_a_obj_kjgjs OK (#340) * d_a_obj_prop OK * d_a_obj_digholl & d_a_obj_kjgjs OK --- Progress.md | 10 +- .../__dt__14daObjDigholl_cFv.s | 23 - .../create__14daObjDigholl_cFv.s | 78 ---- .../daObjDigholl_Create__FP10fopAc_ac_c.s | 9 - .../daObjDigholl_Delete__FP14daObjDigholl_c.s | 11 - .../daObjDigholl_Draw__FP14daObjDigholl_c.s | 9 - ...daObjDigholl_Execute__FP14daObjDigholl_c.s | 9 - .../execute__14daObjDigholl_cFv.s | 215 ---------- .../CreateHeap__12daObjKJgjs_cFv.s | 33 -- .../d_a_obj_kjgjs/Create__12daObjKJgjs_cFv.s | 46 -- .../d_a_obj_kjgjs/Delete__12daObjKJgjs_cFv.s | 17 - .../d_a_obj_kjgjs/Draw__12daObjKJgjs_cFv.s | 42 -- .../Execute__12daObjKJgjs_cFPPA3_A4_f.s | 5 - .../d_a_obj_kjgjs/__dt__12daObjKJgjs_cFv.s | 31 -- .../create1st__12daObjKJgjs_cFv.s | 59 --- ...aObjKJgjs_MoveBGDelete__FP12daObjKJgjs_c.s | 9 - .../daObjKJgjs_MoveBGDraw__FP12daObjKJgjs_c.s | 12 - ...ObjKJgjs_MoveBGExecute__FP12daObjKJgjs_c.s | 9 - .../daObjKJgjs_create1st__FP12daObjKJgjs_c.s | 27 -- .../d_a_obj_kjgjs/setMtx__12daObjKJgjs_cFv.s | 31 -- .../d/a/obj/d_a_obj_digholl/d_a_obj_digholl.h | 18 +- .../rel/d/a/obj/d_a_obj_kjgjs/d_a_obj_kjgjs.h | 23 +- .../a/obj/d_a_obj_digholl/d_a_obj_digholl.cpp | 365 +++++----------- rel/d/a/obj/d_a_obj_kjgjs/d_a_obj_kjgjs.cpp | 406 +++++------------- 24 files changed, 266 insertions(+), 1231 deletions(-) delete mode 100644 asm/rel/d/a/obj/d_a_obj_digholl/d_a_obj_digholl/__dt__14daObjDigholl_cFv.s delete mode 100644 asm/rel/d/a/obj/d_a_obj_digholl/d_a_obj_digholl/create__14daObjDigholl_cFv.s delete mode 100644 asm/rel/d/a/obj/d_a_obj_digholl/d_a_obj_digholl/daObjDigholl_Create__FP10fopAc_ac_c.s delete mode 100644 asm/rel/d/a/obj/d_a_obj_digholl/d_a_obj_digholl/daObjDigholl_Delete__FP14daObjDigholl_c.s delete mode 100644 asm/rel/d/a/obj/d_a_obj_digholl/d_a_obj_digholl/daObjDigholl_Draw__FP14daObjDigholl_c.s delete mode 100644 asm/rel/d/a/obj/d_a_obj_digholl/d_a_obj_digholl/daObjDigholl_Execute__FP14daObjDigholl_c.s delete mode 100644 asm/rel/d/a/obj/d_a_obj_digholl/d_a_obj_digholl/execute__14daObjDigholl_cFv.s delete mode 100644 asm/rel/d/a/obj/d_a_obj_kjgjs/d_a_obj_kjgjs/CreateHeap__12daObjKJgjs_cFv.s delete mode 100644 asm/rel/d/a/obj/d_a_obj_kjgjs/d_a_obj_kjgjs/Create__12daObjKJgjs_cFv.s delete mode 100644 asm/rel/d/a/obj/d_a_obj_kjgjs/d_a_obj_kjgjs/Delete__12daObjKJgjs_cFv.s delete mode 100644 asm/rel/d/a/obj/d_a_obj_kjgjs/d_a_obj_kjgjs/Draw__12daObjKJgjs_cFv.s delete mode 100644 asm/rel/d/a/obj/d_a_obj_kjgjs/d_a_obj_kjgjs/Execute__12daObjKJgjs_cFPPA3_A4_f.s delete mode 100644 asm/rel/d/a/obj/d_a_obj_kjgjs/d_a_obj_kjgjs/__dt__12daObjKJgjs_cFv.s delete mode 100644 asm/rel/d/a/obj/d_a_obj_kjgjs/d_a_obj_kjgjs/create1st__12daObjKJgjs_cFv.s delete mode 100644 asm/rel/d/a/obj/d_a_obj_kjgjs/d_a_obj_kjgjs/daObjKJgjs_MoveBGDelete__FP12daObjKJgjs_c.s delete mode 100644 asm/rel/d/a/obj/d_a_obj_kjgjs/d_a_obj_kjgjs/daObjKJgjs_MoveBGDraw__FP12daObjKJgjs_c.s delete mode 100644 asm/rel/d/a/obj/d_a_obj_kjgjs/d_a_obj_kjgjs/daObjKJgjs_MoveBGExecute__FP12daObjKJgjs_c.s delete mode 100644 asm/rel/d/a/obj/d_a_obj_kjgjs/d_a_obj_kjgjs/daObjKJgjs_create1st__FP12daObjKJgjs_c.s delete mode 100644 asm/rel/d/a/obj/d_a_obj_kjgjs/d_a_obj_kjgjs/setMtx__12daObjKJgjs_cFv.s diff --git a/Progress.md b/Progress.md index 7642f6ebe9..2dae7288b2 100644 --- a/Progress.md +++ b/Progress.md @@ -21,8 +21,8 @@ Total | 34.576708% | 1390216 | 4020672 Section | Percentage | Decompiled (bytes) | Total (bytes) ---|---|---|--- main.dol | 34.576708% | 1390216 | 4020672 -RELs | 33.578532% | 3861640 | 11500324 -Total | 33.837107% | 5251856 | 15520996 +RELs | 33.600166% | 3864128 | 11500324 +Total | 33.853137% | 5254344 | 15520996 ## RELs @@ -389,7 +389,7 @@ d_a_obj_crystal | 44.482173% | 1048 | 2356 d_a_obj_cwall | 30.455195% | 5968 | 19596 d_a_obj_damCps | 100.000000% | 504 | 504 d_a_obj_dan | 35.198921% | 4176 | 11864 -d_a_obj_digholl | 42.781690% | 972 | 2272 +d_a_obj_digholl | 100.000000% | 2272 | 2272 d_a_obj_digplace | 35.129068% | 1252 | 3564 d_a_obj_digsnow | 44.813278% | 2160 | 4820 d_a_obj_dmelevator | 35.600390% | 4376 | 12292 @@ -465,7 +465,7 @@ d_a_obj_kgate | 35.192216% | 5932 | 16856 d_a_obj_ki | 41.573034% | 2220 | 5340 d_a_obj_kiPot | 53.782895% | 1308 | 2432 d_a_obj_kita | 40.112090% | 2004 | 4996 -d_a_obj_kjgjs | 52.250804% | 1300 | 2488 +d_a_obj_kjgjs | 100.000000% | 2488 | 2488 d_a_obj_kkanban | 47.103514% | 1984 | 4212 d_a_obj_klift00 | 37.650457% | 3128 | 8308 d_a_obj_knBullet | 43.076923% | 1568 | 3640 @@ -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.578532% | 3861640 | 11500324 +Total | 33.600166% | 3864128 | 11500324 diff --git a/asm/rel/d/a/obj/d_a_obj_digholl/d_a_obj_digholl/__dt__14daObjDigholl_cFv.s b/asm/rel/d/a/obj/d_a_obj_digholl/d_a_obj_digholl/__dt__14daObjDigholl_cFv.s deleted file mode 100644 index 8533b6edfc..0000000000 --- a/asm/rel/d/a/obj/d_a_obj_digholl/d_a_obj_digholl/__dt__14daObjDigholl_cFv.s +++ /dev/null @@ -1,23 +0,0 @@ -lbl_80BDC75C: -/* 80BDC75C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80BDC760 7C 08 02 A6 */ mflr r0 -/* 80BDC764 90 01 00 14 */ stw r0, 0x14(r1) -/* 80BDC768 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80BDC76C 93 C1 00 08 */ stw r30, 8(r1) -/* 80BDC770 7C 7E 1B 79 */ or. r30, r3, r3 -/* 80BDC774 7C 9F 23 78 */ mr r31, r4 -/* 80BDC778 41 82 00 1C */ beq lbl_80BDC794 -/* 80BDC77C 38 80 00 00 */ li r4, 0 -/* 80BDC780 4B 43 C5 0D */ bl __dt__10fopAc_ac_cFv -/* 80BDC784 7F E0 07 35 */ extsh. r0, r31 -/* 80BDC788 40 81 00 0C */ ble lbl_80BDC794 -/* 80BDC78C 7F C3 F3 78 */ mr r3, r30 -/* 80BDC790 4B 6F 25 AD */ bl __dl__FPv -lbl_80BDC794: -/* 80BDC794 7F C3 F3 78 */ mr r3, r30 -/* 80BDC798 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80BDC79C 83 C1 00 08 */ lwz r30, 8(r1) -/* 80BDC7A0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80BDC7A4 7C 08 03 A6 */ mtlr r0 -/* 80BDC7A8 38 21 00 10 */ addi r1, r1, 0x10 -/* 80BDC7AC 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/d_a_obj_digholl/d_a_obj_digholl/create__14daObjDigholl_cFv.s b/asm/rel/d/a/obj/d_a_obj_digholl/d_a_obj_digholl/create__14daObjDigholl_cFv.s deleted file mode 100644 index 412a7d9b3a..0000000000 --- a/asm/rel/d/a/obj/d_a_obj_digholl/d_a_obj_digholl/create__14daObjDigholl_cFv.s +++ /dev/null @@ -1,78 +0,0 @@ -lbl_80BDC618: -/* 80BDC618 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80BDC61C 7C 08 02 A6 */ mflr r0 -/* 80BDC620 90 01 00 14 */ stw r0, 0x14(r1) -/* 80BDC624 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80BDC628 93 C1 00 08 */ stw r30, 8(r1) -/* 80BDC62C 7C 7E 1B 78 */ mr r30, r3 -/* 80BDC630 3C 80 80 BE */ lis r4, lit_3678@ha /* 0x80BDCB3C@ha */ -/* 80BDC634 3B E4 CB 3C */ addi r31, r4, lit_3678@l /* 0x80BDCB3C@l */ -/* 80BDC638 80 03 04 A0 */ lwz r0, 0x4a0(r3) -/* 80BDC63C 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c -/* 80BDC640 40 82 00 1C */ bne lbl_80BDC65C -/* 80BDC644 28 1E 00 00 */ cmplwi r30, 0 -/* 80BDC648 41 82 00 08 */ beq lbl_80BDC650 -/* 80BDC64C 4B 43 C5 19 */ bl __ct__10fopAc_ac_cFv -lbl_80BDC650: -/* 80BDC650 80 1E 04 A0 */ lwz r0, 0x4a0(r30) -/* 80BDC654 60 00 00 08 */ ori r0, r0, 8 -/* 80BDC658 90 1E 04 A0 */ stw r0, 0x4a0(r30) -lbl_80BDC65C: -/* 80BDC65C 80 1E 00 B0 */ lwz r0, 0xb0(r30) -/* 80BDC660 98 1E 05 69 */ stb r0, 0x569(r30) -/* 80BDC664 80 1E 00 B0 */ lwz r0, 0xb0(r30) -/* 80BDC668 54 00 C6 3E */ rlwinm r0, r0, 0x18, 0x18, 0x1f -/* 80BDC66C 98 1E 05 6A */ stb r0, 0x56a(r30) -/* 80BDC670 80 1E 00 B0 */ lwz r0, 0xb0(r30) -/* 80BDC674 54 00 86 3E */ rlwinm r0, r0, 0x10, 0x18, 0x1f -/* 80BDC678 B0 1E 05 6C */ sth r0, 0x56c(r30) -/* 80BDC67C A8 1E 05 6C */ lha r0, 0x56c(r30) -/* 80BDC680 2C 00 00 FF */ cmpwi r0, 0xff -/* 80BDC684 40 82 00 0C */ bne lbl_80BDC690 -/* 80BDC688 38 00 FF FF */ li r0, -1 -/* 80BDC68C B0 1E 05 6C */ sth r0, 0x56c(r30) -lbl_80BDC690: -/* 80BDC690 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80BDC694 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80BDC698 88 9E 05 69 */ lbz r4, 0x569(r30) -/* 80BDC69C 88 1E 04 BA */ lbz r0, 0x4ba(r30) -/* 80BDC6A0 7C 05 07 74 */ extsb r5, r0 -/* 80BDC6A4 4B 45 8C BD */ bl isSwitch__10dSv_info_cCFii -/* 80BDC6A8 2C 03 00 00 */ cmpwi r3, 0 -/* 80BDC6AC 41 82 00 14 */ beq lbl_80BDC6C0 -/* 80BDC6B0 38 00 00 02 */ li r0, 2 -/* 80BDC6B4 98 1E 05 68 */ stb r0, 0x568(r30) -/* 80BDC6B8 38 00 00 01 */ li r0, 1 -/* 80BDC6BC 98 1E 05 6B */ stb r0, 0x56b(r30) -lbl_80BDC6C0: -/* 80BDC6C0 7F C3 F3 78 */ mr r3, r30 -/* 80BDC6C4 C0 3F 00 00 */ lfs f1, 0(r31) -/* 80BDC6C8 C0 5F 00 04 */ lfs f2, 4(r31) -/* 80BDC6CC C0 7F 00 08 */ lfs f3, 8(r31) -/* 80BDC6D0 4B 43 DE 59 */ bl fopAcM_SetMin__FP10fopAc_ac_cfff -/* 80BDC6D4 7F C3 F3 78 */ mr r3, r30 -/* 80BDC6D8 C0 3F 00 0C */ lfs f1, 0xc(r31) -/* 80BDC6DC C0 5F 00 10 */ lfs f2, 0x10(r31) -/* 80BDC6E0 C0 7F 00 14 */ lfs f3, 0x14(r31) -/* 80BDC6E4 4B 43 DE 55 */ bl fopAcM_SetMax__FP10fopAc_ac_cfff -/* 80BDC6E8 C0 1E 04 D0 */ lfs f0, 0x4d0(r30) -/* 80BDC6EC D0 1E 05 50 */ stfs f0, 0x550(r30) -/* 80BDC6F0 C0 1E 04 D4 */ lfs f0, 0x4d4(r30) -/* 80BDC6F4 D0 1E 05 54 */ stfs f0, 0x554(r30) -/* 80BDC6F8 C0 1E 04 D8 */ lfs f0, 0x4d8(r30) -/* 80BDC6FC D0 1E 05 58 */ stfs f0, 0x558(r30) -/* 80BDC700 C0 1E 05 50 */ lfs f0, 0x550(r30) -/* 80BDC704 D0 1E 05 38 */ stfs f0, 0x538(r30) -/* 80BDC708 C0 1E 05 54 */ lfs f0, 0x554(r30) -/* 80BDC70C D0 1E 05 3C */ stfs f0, 0x53c(r30) -/* 80BDC710 C0 1E 05 58 */ lfs f0, 0x558(r30) -/* 80BDC714 D0 1E 05 40 */ stfs f0, 0x540(r30) -/* 80BDC718 38 00 00 20 */ li r0, 0x20 -/* 80BDC71C 98 1E 05 4B */ stb r0, 0x54b(r30) -/* 80BDC720 38 60 00 04 */ li r3, 4 -/* 80BDC724 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80BDC728 83 C1 00 08 */ lwz r30, 8(r1) -/* 80BDC72C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80BDC730 7C 08 03 A6 */ mtlr r0 -/* 80BDC734 38 21 00 10 */ addi r1, r1, 0x10 -/* 80BDC738 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/d_a_obj_digholl/d_a_obj_digholl/daObjDigholl_Create__FP10fopAc_ac_c.s b/asm/rel/d/a/obj/d_a_obj_digholl/d_a_obj_digholl/daObjDigholl_Create__FP10fopAc_ac_c.s deleted file mode 100644 index c578d787b6..0000000000 --- a/asm/rel/d/a/obj/d_a_obj_digholl/d_a_obj_digholl/daObjDigholl_Create__FP10fopAc_ac_c.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_80BDC73C: -/* 80BDC73C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80BDC740 7C 08 02 A6 */ mflr r0 -/* 80BDC744 90 01 00 14 */ stw r0, 0x14(r1) -/* 80BDC748 4B FF FE D1 */ bl create__14daObjDigholl_cFv -/* 80BDC74C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80BDC750 7C 08 03 A6 */ mtlr r0 -/* 80BDC754 38 21 00 10 */ addi r1, r1, 0x10 -/* 80BDC758 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/d_a_obj_digholl/d_a_obj_digholl/daObjDigholl_Delete__FP14daObjDigholl_c.s b/asm/rel/d/a/obj/d_a_obj_digholl/d_a_obj_digholl/daObjDigholl_Delete__FP14daObjDigholl_c.s deleted file mode 100644 index c8621080c5..0000000000 --- a/asm/rel/d/a/obj/d_a_obj_digholl/d_a_obj_digholl/daObjDigholl_Delete__FP14daObjDigholl_c.s +++ /dev/null @@ -1,11 +0,0 @@ -lbl_80BDC7B0: -/* 80BDC7B0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80BDC7B4 7C 08 02 A6 */ mflr r0 -/* 80BDC7B8 90 01 00 14 */ stw r0, 0x14(r1) -/* 80BDC7BC 38 80 FF FF */ li r4, -1 -/* 80BDC7C0 4B FF FF 9D */ bl __dt__14daObjDigholl_cFv -/* 80BDC7C4 38 60 00 01 */ li r3, 1 -/* 80BDC7C8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80BDC7CC 7C 08 03 A6 */ mtlr r0 -/* 80BDC7D0 38 21 00 10 */ addi r1, r1, 0x10 -/* 80BDC7D4 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/d_a_obj_digholl/d_a_obj_digholl/daObjDigholl_Draw__FP14daObjDigholl_c.s b/asm/rel/d/a/obj/d_a_obj_digholl/d_a_obj_digholl/daObjDigholl_Draw__FP14daObjDigholl_c.s deleted file mode 100644 index 5d4afb0a3c..0000000000 --- a/asm/rel/d/a/obj/d_a_obj_digholl/d_a_obj_digholl/daObjDigholl_Draw__FP14daObjDigholl_c.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_80BDCB14: -/* 80BDCB14 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80BDCB18 7C 08 02 A6 */ mflr r0 -/* 80BDCB1C 90 01 00 14 */ stw r0, 0x14(r1) -/* 80BDCB20 4B FF FF ED */ bl draw__14daObjDigholl_cFv -/* 80BDCB24 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80BDCB28 7C 08 03 A6 */ mtlr r0 -/* 80BDCB2C 38 21 00 10 */ addi r1, r1, 0x10 -/* 80BDCB30 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/d_a_obj_digholl/d_a_obj_digholl/daObjDigholl_Execute__FP14daObjDigholl_c.s b/asm/rel/d/a/obj/d_a_obj_digholl/d_a_obj_digholl/daObjDigholl_Execute__FP14daObjDigholl_c.s deleted file mode 100644 index 90c8fbbe85..0000000000 --- a/asm/rel/d/a/obj/d_a_obj_digholl/d_a_obj_digholl/daObjDigholl_Execute__FP14daObjDigholl_c.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_80BDCAEC: -/* 80BDCAEC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80BDCAF0 7C 08 02 A6 */ mflr r0 -/* 80BDCAF4 90 01 00 14 */ stw r0, 0x14(r1) -/* 80BDCAF8 4B FF FC E1 */ bl execute__14daObjDigholl_cFv -/* 80BDCAFC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80BDCB00 7C 08 03 A6 */ mtlr r0 -/* 80BDCB04 38 21 00 10 */ addi r1, r1, 0x10 -/* 80BDCB08 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/d_a_obj_digholl/d_a_obj_digholl/execute__14daObjDigholl_cFv.s b/asm/rel/d/a/obj/d_a_obj_digholl/d_a_obj_digholl/execute__14daObjDigholl_cFv.s deleted file mode 100644 index 77257d866e..0000000000 --- a/asm/rel/d/a/obj/d_a_obj_digholl/d_a_obj_digholl/execute__14daObjDigholl_cFv.s +++ /dev/null @@ -1,215 +0,0 @@ -lbl_80BDC7D8: -/* 80BDC7D8 94 21 FF C0 */ stwu r1, -0x40(r1) -/* 80BDC7DC 7C 08 02 A6 */ mflr r0 -/* 80BDC7E0 90 01 00 44 */ stw r0, 0x44(r1) -/* 80BDC7E4 39 61 00 40 */ addi r11, r1, 0x40 -/* 80BDC7E8 4B 78 59 F5 */ bl _savegpr_29 -/* 80BDC7EC 7C 7D 1B 78 */ mr r29, r3 -/* 80BDC7F0 3C 60 80 BE */ lis r3, lit_3678@ha /* 0x80BDCB3C@ha */ -/* 80BDC7F4 3B E3 CB 3C */ addi r31, r3, lit_3678@l /* 0x80BDCB3C@l */ -/* 80BDC7F8 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80BDC7FC 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80BDC800 83 C3 5D B4 */ lwz r30, 0x5db4(r3) -/* 80BDC804 80 1E 05 74 */ lwz r0, 0x574(r30) -/* 80BDC808 54 00 01 8D */ rlwinm. r0, r0, 0, 6, 6 -/* 80BDC80C 41 82 00 50 */ beq lbl_80BDC85C -/* 80BDC810 88 9D 05 6A */ lbz r4, 0x56a(r29) -/* 80BDC814 28 04 00 FF */ cmplwi r4, 0xff -/* 80BDC818 41 82 00 18 */ beq lbl_80BDC830 -/* 80BDC81C 88 1D 04 BA */ lbz r0, 0x4ba(r29) -/* 80BDC820 7C 05 07 74 */ extsb r5, r0 -/* 80BDC824 4B 45 8B 3D */ bl isSwitch__10dSv_info_cCFii -/* 80BDC828 2C 03 00 00 */ cmpwi r3, 0 -/* 80BDC82C 41 82 00 30 */ beq lbl_80BDC85C -lbl_80BDC830: -/* 80BDC830 C0 3D 04 D4 */ lfs f1, 0x4d4(r29) -/* 80BDC834 C0 1E 04 D4 */ lfs f0, 0x4d4(r30) -/* 80BDC838 EC 01 00 28 */ fsubs f0, f1, f0 -/* 80BDC83C FC 00 02 10 */ fabs f0, f0 -/* 80BDC840 FC 20 00 18 */ frsp f1, f0 -/* 80BDC844 C0 1F 00 18 */ lfs f0, 0x18(r31) -/* 80BDC848 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 80BDC84C 40 80 00 10 */ bge lbl_80BDC85C -/* 80BDC850 38 00 00 80 */ li r0, 0x80 -/* 80BDC854 90 1D 05 5C */ stw r0, 0x55c(r29) -/* 80BDC858 48 00 00 0C */ b lbl_80BDC864 -lbl_80BDC85C: -/* 80BDC85C 38 00 00 00 */ li r0, 0 -/* 80BDC860 90 1D 05 5C */ stw r0, 0x55c(r29) -lbl_80BDC864: -/* 80BDC864 88 1D 05 68 */ lbz r0, 0x568(r29) -/* 80BDC868 28 00 00 01 */ cmplwi r0, 1 -/* 80BDC86C 40 82 00 9C */ bne lbl_80BDC908 -/* 80BDC870 A8 7E 04 E6 */ lha r3, 0x4e6(r30) -/* 80BDC874 A8 9D 04 E6 */ lha r4, 0x4e6(r29) -/* 80BDC878 4B 69 45 AD */ bl cLib_distanceAngleS__Fss -/* 80BDC87C 2C 03 60 00 */ cmpwi r3, 0x6000 -/* 80BDC880 40 80 00 1C */ bge lbl_80BDC89C -/* 80BDC884 A8 7E 04 E6 */ lha r3, 0x4e6(r30) -/* 80BDC888 3C 63 00 01 */ addis r3, r3, 1 -/* 80BDC88C 38 03 80 00 */ addi r0, r3, -32768 -/* 80BDC890 B0 1D 04 E6 */ sth r0, 0x4e6(r29) -/* 80BDC894 A8 1D 04 E6 */ lha r0, 0x4e6(r29) -/* 80BDC898 B0 1D 04 DE */ sth r0, 0x4de(r29) -lbl_80BDC89C: -/* 80BDC89C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80BDC8A0 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80BDC8A4 88 9D 05 69 */ lbz r4, 0x569(r29) -/* 80BDC8A8 88 1D 04 BA */ lbz r0, 0x4ba(r29) -/* 80BDC8AC 7C 05 07 74 */ extsb r5, r0 -/* 80BDC8B0 4B 45 89 51 */ bl onSwitch__10dSv_info_cFii -/* 80BDC8B4 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80BDC8B8 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80BDC8BC 88 03 4F AD */ lbz r0, 0x4fad(r3) -/* 80BDC8C0 28 00 00 00 */ cmplwi r0, 0 -/* 80BDC8C4 41 82 00 30 */ beq lbl_80BDC8F4 -/* 80BDC8C8 7F C3 F3 78 */ mr r3, r30 -/* 80BDC8CC 81 9E 06 28 */ lwz r12, 0x628(r30) -/* 80BDC8D0 81 8C 00 E4 */ lwz r12, 0xe4(r12) -/* 80BDC8D4 7D 89 03 A6 */ mtctr r12 -/* 80BDC8D8 4E 80 04 21 */ bctrl -/* 80BDC8DC C0 1F 00 1C */ lfs f0, 0x1c(r31) -/* 80BDC8E0 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 80BDC8E4 40 81 00 90 */ ble lbl_80BDC974 -/* 80BDC8E8 38 00 00 01 */ li r0, 1 -/* 80BDC8EC 98 1D 05 6B */ stb r0, 0x56b(r29) -/* 80BDC8F0 48 00 00 84 */ b lbl_80BDC974 -lbl_80BDC8F4: -/* 80BDC8F4 38 00 00 02 */ li r0, 2 -/* 80BDC8F8 98 1D 05 68 */ stb r0, 0x568(r29) -/* 80BDC8FC 38 00 00 01 */ li r0, 1 -/* 80BDC900 98 1D 05 6B */ stb r0, 0x56b(r29) -/* 80BDC904 48 00 00 70 */ b lbl_80BDC974 -lbl_80BDC908: -/* 80BDC908 C0 5E 04 D8 */ lfs f2, 0x4d8(r30) -/* 80BDC90C C0 1E 04 D0 */ lfs f0, 0x4d0(r30) -/* 80BDC910 D0 01 00 0C */ stfs f0, 0xc(r1) -/* 80BDC914 C0 3F 00 04 */ lfs f1, 4(r31) -/* 80BDC918 D0 21 00 10 */ stfs f1, 0x10(r1) -/* 80BDC91C D0 41 00 14 */ stfs f2, 0x14(r1) -/* 80BDC920 C0 5D 04 D8 */ lfs f2, 0x4d8(r29) -/* 80BDC924 C0 1D 04 D0 */ lfs f0, 0x4d0(r29) -/* 80BDC928 D0 01 00 18 */ stfs f0, 0x18(r1) -/* 80BDC92C D0 21 00 1C */ stfs f1, 0x1c(r1) -/* 80BDC930 D0 41 00 20 */ stfs f2, 0x20(r1) -/* 80BDC934 38 61 00 0C */ addi r3, r1, 0xc -/* 80BDC938 38 81 00 18 */ addi r4, r1, 0x18 -/* 80BDC93C 4B 76 AA 61 */ bl PSVECSquareDistance -/* 80BDC940 C0 1F 00 20 */ lfs f0, 0x20(r31) -/* 80BDC944 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 80BDC948 40 80 00 2C */ bge lbl_80BDC974 -/* 80BDC94C C0 3D 04 D4 */ lfs f1, 0x4d4(r29) -/* 80BDC950 C0 1E 04 D4 */ lfs f0, 0x4d4(r30) -/* 80BDC954 EC 01 00 28 */ fsubs f0, f1, f0 -/* 80BDC958 FC 00 02 10 */ fabs f0, f0 -/* 80BDC95C FC 20 00 18 */ frsp f1, f0 -/* 80BDC960 C0 1F 00 24 */ lfs f0, 0x24(r31) -/* 80BDC964 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 80BDC968 40 80 00 0C */ bge lbl_80BDC974 -/* 80BDC96C 38 7D 05 50 */ addi r3, r29, 0x550 -/* 80BDC970 4B 58 2B 81 */ bl setLookPos__9daPy_py_cFP4cXyz -lbl_80BDC974: -/* 80BDC974 38 7E 04 D0 */ addi r3, r30, 0x4d0 -/* 80BDC978 38 9D 04 D0 */ addi r4, r29, 0x4d0 -/* 80BDC97C 4B 76 AA 21 */ bl PSVECSquareDistance -/* 80BDC980 C0 1F 00 04 */ lfs f0, 4(r31) -/* 80BDC984 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 80BDC988 40 81 00 58 */ ble lbl_80BDC9E0 -/* 80BDC98C FC 00 08 34 */ frsqrte f0, f1 -/* 80BDC990 C8 9F 00 28 */ lfd f4, 0x28(r31) -/* 80BDC994 FC 44 00 32 */ fmul f2, f4, f0 -/* 80BDC998 C8 7F 00 30 */ lfd f3, 0x30(r31) -/* 80BDC99C FC 00 00 32 */ fmul f0, f0, f0 -/* 80BDC9A0 FC 01 00 32 */ fmul f0, f1, f0 -/* 80BDC9A4 FC 03 00 28 */ fsub f0, f3, f0 -/* 80BDC9A8 FC 02 00 32 */ fmul f0, f2, f0 -/* 80BDC9AC FC 44 00 32 */ fmul f2, f4, f0 -/* 80BDC9B0 FC 00 00 32 */ fmul f0, f0, f0 -/* 80BDC9B4 FC 01 00 32 */ fmul f0, f1, f0 -/* 80BDC9B8 FC 03 00 28 */ fsub f0, f3, f0 -/* 80BDC9BC FC 02 00 32 */ fmul f0, f2, f0 -/* 80BDC9C0 FC 44 00 32 */ fmul f2, f4, f0 -/* 80BDC9C4 FC 00 00 32 */ fmul f0, f0, f0 -/* 80BDC9C8 FC 01 00 32 */ fmul f0, f1, f0 -/* 80BDC9CC FC 03 00 28 */ fsub f0, f3, f0 -/* 80BDC9D0 FC 02 00 32 */ fmul f0, f2, f0 -/* 80BDC9D4 FC 21 00 32 */ fmul f1, f1, f0 -/* 80BDC9D8 FC 20 08 18 */ frsp f1, f1 -/* 80BDC9DC 48 00 00 88 */ b lbl_80BDCA64 -lbl_80BDC9E0: -/* 80BDC9E0 C8 1F 00 38 */ lfd f0, 0x38(r31) -/* 80BDC9E4 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 80BDC9E8 40 80 00 10 */ bge lbl_80BDC9F8 -/* 80BDC9EC 3C 60 80 45 */ lis r3, __float_nan@ha /* 0x80450AE0@ha */ -/* 80BDC9F0 C0 23 0A E0 */ lfs f1, __float_nan@l(r3) /* 0x80450AE0@l */ -/* 80BDC9F4 48 00 00 70 */ b lbl_80BDCA64 -lbl_80BDC9F8: -/* 80BDC9F8 D0 21 00 08 */ stfs f1, 8(r1) -/* 80BDC9FC 80 81 00 08 */ lwz r4, 8(r1) -/* 80BDCA00 54 83 00 50 */ rlwinm r3, r4, 0, 1, 8 -/* 80BDCA04 3C 00 7F 80 */ lis r0, 0x7f80 -/* 80BDCA08 7C 03 00 00 */ cmpw r3, r0 -/* 80BDCA0C 41 82 00 14 */ beq lbl_80BDCA20 -/* 80BDCA10 40 80 00 40 */ bge lbl_80BDCA50 -/* 80BDCA14 2C 03 00 00 */ cmpwi r3, 0 -/* 80BDCA18 41 82 00 20 */ beq lbl_80BDCA38 -/* 80BDCA1C 48 00 00 34 */ b lbl_80BDCA50 -lbl_80BDCA20: -/* 80BDCA20 54 80 02 7F */ clrlwi. r0, r4, 9 -/* 80BDCA24 41 82 00 0C */ beq lbl_80BDCA30 -/* 80BDCA28 38 00 00 01 */ li r0, 1 -/* 80BDCA2C 48 00 00 28 */ b lbl_80BDCA54 -lbl_80BDCA30: -/* 80BDCA30 38 00 00 02 */ li r0, 2 -/* 80BDCA34 48 00 00 20 */ b lbl_80BDCA54 -lbl_80BDCA38: -/* 80BDCA38 54 80 02 7F */ clrlwi. r0, r4, 9 -/* 80BDCA3C 41 82 00 0C */ beq lbl_80BDCA48 -/* 80BDCA40 38 00 00 05 */ li r0, 5 -/* 80BDCA44 48 00 00 10 */ b lbl_80BDCA54 -lbl_80BDCA48: -/* 80BDCA48 38 00 00 03 */ li r0, 3 -/* 80BDCA4C 48 00 00 08 */ b lbl_80BDCA54 -lbl_80BDCA50: -/* 80BDCA50 38 00 00 04 */ li r0, 4 -lbl_80BDCA54: -/* 80BDCA54 2C 00 00 01 */ cmpwi r0, 1 -/* 80BDCA58 40 82 00 0C */ bne lbl_80BDCA64 -/* 80BDCA5C 3C 60 80 45 */ lis r3, __float_nan@ha /* 0x80450AE0@ha */ -/* 80BDCA60 C0 23 0A E0 */ lfs f1, __float_nan@l(r3) /* 0x80450AE0@l */ -lbl_80BDCA64: -/* 80BDCA64 C0 1F 00 40 */ lfs f0, 0x40(r31) -/* 80BDCA68 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 80BDCA6C 40 80 00 64 */ bge lbl_80BDCAD0 -/* 80BDCA70 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80BDCA74 3B C3 61 C0 */ addi r30, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80BDCA78 80 7E 5D 3C */ lwz r3, 0x5d3c(r30) -/* 80BDCA7C 38 80 07 0F */ li r4, 0x70f -/* 80BDCA80 38 BD 04 D0 */ addi r5, r29, 0x4d0 -/* 80BDCA84 38 C0 00 00 */ li r6, 0 -/* 80BDCA88 38 E0 00 FF */ li r7, 0xff -/* 80BDCA8C 3D 00 80 45 */ lis r8, g_whiteColor@ha /* 0x80450608@ha */ -/* 80BDCA90 39 08 06 08 */ addi r8, r8, g_whiteColor@l /* 0x80450608@l */ -/* 80BDCA94 7D 09 43 78 */ mr r9, r8 -/* 80BDCA98 39 40 00 00 */ li r10, 0 -/* 80BDCA9C C0 3F 00 04 */ lfs f1, 4(r31) -/* 80BDCAA0 4B 47 07 19 */ bl setSimple__13dPa_control_cFUsPC4cXyzPC12dKy_tevstr_cUcRC8_GXColorRC8_GXColorif -/* 80BDCAA4 80 7E 5D 3C */ lwz r3, 0x5d3c(r30) -/* 80BDCAA8 38 80 07 3D */ li r4, 0x73d -/* 80BDCAAC 38 BD 04 D0 */ addi r5, r29, 0x4d0 -/* 80BDCAB0 38 C0 00 00 */ li r6, 0 -/* 80BDCAB4 38 E0 00 FF */ li r7, 0xff -/* 80BDCAB8 3D 00 80 45 */ lis r8, g_whiteColor@ha /* 0x80450608@ha */ -/* 80BDCABC 39 08 06 08 */ addi r8, r8, g_whiteColor@l /* 0x80450608@l */ -/* 80BDCAC0 7D 09 43 78 */ mr r9, r8 -/* 80BDCAC4 39 40 00 00 */ li r10, 0 -/* 80BDCAC8 C0 3F 00 04 */ lfs f1, 4(r31) -/* 80BDCACC 4B 47 06 ED */ bl setSimple__13dPa_control_cFUsPC4cXyzPC12dKy_tevstr_cUcRC8_GXColorRC8_GXColorif -lbl_80BDCAD0: -/* 80BDCAD0 38 60 00 01 */ li r3, 1 -/* 80BDCAD4 39 61 00 40 */ addi r11, r1, 0x40 -/* 80BDCAD8 4B 78 57 51 */ bl _restgpr_29 -/* 80BDCADC 80 01 00 44 */ lwz r0, 0x44(r1) -/* 80BDCAE0 7C 08 03 A6 */ mtlr r0 -/* 80BDCAE4 38 21 00 40 */ addi r1, r1, 0x40 -/* 80BDCAE8 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/d_a_obj_kjgjs/d_a_obj_kjgjs/CreateHeap__12daObjKJgjs_cFv.s b/asm/rel/d/a/obj/d_a_obj_kjgjs/d_a_obj_kjgjs/CreateHeap__12daObjKJgjs_cFv.s deleted file mode 100644 index 3a37f0c06b..0000000000 --- a/asm/rel/d/a/obj/d_a_obj_kjgjs/d_a_obj_kjgjs/CreateHeap__12daObjKJgjs_cFv.s +++ /dev/null @@ -1,33 +0,0 @@ -lbl_80C461E4: -/* 80C461E4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80C461E8 7C 08 02 A6 */ mflr r0 -/* 80C461EC 90 01 00 14 */ stw r0, 0x14(r1) -/* 80C461F0 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80C461F4 7C 7F 1B 78 */ mr r31, r3 -/* 80C461F8 3C 60 80 C4 */ lis r3, l_arcName@ha /* 0x80C4658C@ha */ -/* 80C461FC 38 63 65 8C */ addi r3, r3, l_arcName@l /* 0x80C4658C@l */ -/* 80C46200 80 63 00 00 */ lwz r3, 0(r3) -/* 80C46204 80 1F 06 0C */ lwz r0, 0x60c(r31) -/* 80C46208 54 00 10 3A */ slwi r0, r0, 2 -/* 80C4620C 3C 80 80 C4 */ lis r4, l_bmdidx@ha /* 0x80C4654C@ha */ -/* 80C46210 38 84 65 4C */ addi r4, r4, l_bmdidx@l /* 0x80C4654C@l */ -/* 80C46214 7C 84 00 2E */ lwzx r4, r4, r0 -/* 80C46218 3C A0 80 40 */ lis r5, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80C4621C 38 A5 61 C0 */ addi r5, r5, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80C46220 3C A5 00 02 */ addis r5, r5, 2 -/* 80C46224 38 C0 00 80 */ li r6, 0x80 -/* 80C46228 38 A5 C2 F8 */ addi r5, r5, -15624 -/* 80C4622C 4B 3F 60 C1 */ bl getRes__14dRes_control_cFPCclP11dRes_info_ci -/* 80C46230 3C 80 00 08 */ lis r4, 8 -/* 80C46234 3C A0 11 00 */ lis r5, 0x1100 /* 0x11000084@ha */ -/* 80C46238 38 A5 00 84 */ addi r5, r5, 0x0084 /* 0x11000084@l */ -/* 80C4623C 4B 3C EA 19 */ bl mDoExt_J3DModel__create__FP12J3DModelDataUlUl -/* 80C46240 90 7F 06 08 */ stw r3, 0x608(r31) -/* 80C46244 80 7F 06 08 */ lwz r3, 0x608(r31) -/* 80C46248 30 03 FF FF */ addic r0, r3, -1 -/* 80C4624C 7C 60 19 10 */ subfe r3, r0, r3 -/* 80C46250 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80C46254 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80C46258 7C 08 03 A6 */ mtlr r0 -/* 80C4625C 38 21 00 10 */ addi r1, r1, 0x10 -/* 80C46260 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/d_a_obj_kjgjs/d_a_obj_kjgjs/Create__12daObjKJgjs_cFv.s b/asm/rel/d/a/obj/d_a_obj_kjgjs/d_a_obj_kjgjs/Create__12daObjKJgjs_cFv.s deleted file mode 100644 index 27c44814b4..0000000000 --- a/asm/rel/d/a/obj/d_a_obj_kjgjs/d_a_obj_kjgjs/Create__12daObjKJgjs_cFv.s +++ /dev/null @@ -1,46 +0,0 @@ -lbl_80C46264: -/* 80C46264 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80C46268 7C 08 02 A6 */ mflr r0 -/* 80C4626C 90 01 00 14 */ stw r0, 0x14(r1) -/* 80C46270 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80C46274 7C 7F 1B 78 */ mr r31, r3 -/* 80C46278 38 7F 05 D8 */ addi r3, r31, 0x5d8 -/* 80C4627C 90 7F 05 04 */ stw r3, 0x504(r31) -/* 80C46280 80 9F 06 08 */ lwz r4, 0x608(r31) -/* 80C46284 38 84 00 24 */ addi r4, r4, 0x24 -/* 80C46288 4B 70 02 29 */ bl PSMTXCopy -/* 80C4628C 80 7F 05 68 */ lwz r3, 0x568(r31) -/* 80C46290 88 03 00 91 */ lbz r0, 0x91(r3) -/* 80C46294 60 00 00 04 */ ori r0, r0, 4 -/* 80C46298 98 03 00 91 */ stb r0, 0x91(r3) -/* 80C4629C 80 1F 06 0C */ lwz r0, 0x60c(r31) -/* 80C462A0 2C 00 00 00 */ cmpwi r0, 0 -/* 80C462A4 40 82 00 2C */ bne lbl_80C462D0 -/* 80C462A8 7F E3 FB 78 */ mr r3, r31 -/* 80C462AC 3C 80 80 C4 */ lis r4, l_cull_box@ha /* 0x80C46554@ha */ -/* 80C462B0 C4 24 65 54 */ lfsu f1, l_cull_box@l(r4) /* 0x80C46554@l */ -/* 80C462B4 C0 44 00 04 */ lfs f2, 4(r4) -/* 80C462B8 C0 64 00 08 */ lfs f3, 8(r4) -/* 80C462BC C0 84 00 0C */ lfs f4, 0xc(r4) -/* 80C462C0 C0 A4 00 10 */ lfs f5, 0x10(r4) -/* 80C462C4 C0 C4 00 14 */ lfs f6, 0x14(r4) -/* 80C462C8 4B 3D 42 81 */ bl fopAcM_setCullSizeBox__FP10fopAc_ac_cffffff -/* 80C462CC 48 00 00 2C */ b lbl_80C462F8 -lbl_80C462D0: -/* 80C462D0 7F E3 FB 78 */ mr r3, r31 -/* 80C462D4 3C 80 80 C4 */ lis r4, l_cull_box@ha /* 0x80C46554@ha */ -/* 80C462D8 38 84 65 54 */ addi r4, r4, l_cull_box@l /* 0x80C46554@l */ -/* 80C462DC C0 24 00 18 */ lfs f1, 0x18(r4) -/* 80C462E0 C0 44 00 1C */ lfs f2, 0x1c(r4) -/* 80C462E4 C0 64 00 20 */ lfs f3, 0x20(r4) -/* 80C462E8 C0 84 00 24 */ lfs f4, 0x24(r4) -/* 80C462EC C0 A4 00 28 */ lfs f5, 0x28(r4) -/* 80C462F0 C0 C4 00 2C */ lfs f6, 0x2c(r4) -/* 80C462F4 4B 3D 42 55 */ bl fopAcM_setCullSizeBox__FP10fopAc_ac_cffffff -lbl_80C462F8: -/* 80C462F8 38 60 00 01 */ li r3, 1 -/* 80C462FC 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80C46300 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80C46304 7C 08 03 A6 */ mtlr r0 -/* 80C46308 38 21 00 10 */ addi r1, r1, 0x10 -/* 80C4630C 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/d_a_obj_kjgjs/d_a_obj_kjgjs/Delete__12daObjKJgjs_cFv.s b/asm/rel/d/a/obj/d_a_obj_kjgjs/d_a_obj_kjgjs/Delete__12daObjKJgjs_cFv.s deleted file mode 100644 index 634bc19cec..0000000000 --- a/asm/rel/d/a/obj/d_a_obj_kjgjs/d_a_obj_kjgjs/Delete__12daObjKJgjs_cFv.s +++ /dev/null @@ -1,17 +0,0 @@ -lbl_80C463C4: -/* 80C463C4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80C463C8 7C 08 02 A6 */ mflr r0 -/* 80C463CC 90 01 00 14 */ stw r0, 0x14(r1) -/* 80C463D0 28 03 00 00 */ cmplwi r3, 0 -/* 80C463D4 41 82 00 08 */ beq lbl_80C463DC -/* 80C463D8 38 63 05 A0 */ addi r3, r3, 0x5a0 -lbl_80C463DC: -/* 80C463DC 3C 80 80 C4 */ lis r4, l_arcName@ha /* 0x80C4658C@ha */ -/* 80C463E0 38 84 65 8C */ addi r4, r4, l_arcName@l /* 0x80C4658C@l */ -/* 80C463E4 80 84 00 00 */ lwz r4, 0(r4) -/* 80C463E8 4B 3E 6C 21 */ bl dComIfG_resDelete__FP30request_of_phase_process_classPCc -/* 80C463EC 38 60 00 01 */ li r3, 1 -/* 80C463F0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80C463F4 7C 08 03 A6 */ mtlr r0 -/* 80C463F8 38 21 00 10 */ addi r1, r1, 0x10 -/* 80C463FC 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/d_a_obj_kjgjs/d_a_obj_kjgjs/Draw__12daObjKJgjs_cFv.s b/asm/rel/d/a/obj/d_a_obj_kjgjs/d_a_obj_kjgjs/Draw__12daObjKJgjs_cFv.s deleted file mode 100644 index 849cd5c065..0000000000 --- a/asm/rel/d/a/obj/d_a_obj_kjgjs/d_a_obj_kjgjs/Draw__12daObjKJgjs_cFv.s +++ /dev/null @@ -1,42 +0,0 @@ -lbl_80C46320: -/* 80C46320 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80C46324 7C 08 02 A6 */ mflr r0 -/* 80C46328 90 01 00 14 */ stw r0, 0x14(r1) -/* 80C4632C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80C46330 93 C1 00 08 */ stw r30, 8(r1) -/* 80C46334 7C 7E 1B 78 */ mr r30, r3 -/* 80C46338 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */ -/* 80C4633C 38 63 CA 54 */ addi r3, r3, g_env_light@l /* 0x8042CA54@l */ -/* 80C46340 38 80 00 10 */ li r4, 0x10 -/* 80C46344 38 BE 04 D0 */ addi r5, r30, 0x4d0 -/* 80C46348 38 DE 01 0C */ addi r6, r30, 0x10c -/* 80C4634C 4B 55 D4 79 */ bl settingTevStruct__18dScnKy_env_light_cFiP4cXyzP12dKy_tevstr_c -/* 80C46350 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */ -/* 80C46354 38 63 CA 54 */ addi r3, r3, g_env_light@l /* 0x8042CA54@l */ -/* 80C46358 80 9E 06 08 */ lwz r4, 0x608(r30) -/* 80C4635C 80 84 00 04 */ lwz r4, 4(r4) -/* 80C46360 38 BE 01 0C */ addi r5, r30, 0x10c -/* 80C46364 4B 55 EA 3D */ bl setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c -/* 80C46368 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80C4636C 38 83 61 C0 */ addi r4, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80C46370 80 04 5F 70 */ lwz r0, 0x5f70(r4) -/* 80C46374 3C 60 80 43 */ lis r3, j3dSys@ha /* 0x80434AC8@ha */ -/* 80C46378 3B E3 4A C8 */ addi r31, r3, j3dSys@l /* 0x80434AC8@l */ -/* 80C4637C 90 1F 00 48 */ stw r0, 0x48(r31) -/* 80C46380 80 04 5F 74 */ lwz r0, 0x5f74(r4) -/* 80C46384 90 1F 00 4C */ stw r0, 0x4c(r31) -/* 80C46388 80 7E 06 08 */ lwz r3, 0x608(r30) -/* 80C4638C 4B 3C 79 39 */ bl mDoExt_modelUpdateDL__FP8J3DModel -/* 80C46390 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80C46394 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80C46398 80 03 5F 80 */ lwz r0, 0x5f80(r3) -/* 80C4639C 90 1F 00 48 */ stw r0, 0x48(r31) -/* 80C463A0 80 03 5F 84 */ lwz r0, 0x5f84(r3) -/* 80C463A4 90 1F 00 4C */ stw r0, 0x4c(r31) -/* 80C463A8 38 60 00 01 */ li r3, 1 -/* 80C463AC 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80C463B0 83 C1 00 08 */ lwz r30, 8(r1) -/* 80C463B4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80C463B8 7C 08 03 A6 */ mtlr r0 -/* 80C463BC 38 21 00 10 */ addi r1, r1, 0x10 -/* 80C463C0 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/d_a_obj_kjgjs/d_a_obj_kjgjs/Execute__12daObjKJgjs_cFPPA3_A4_f.s b/asm/rel/d/a/obj/d_a_obj_kjgjs/d_a_obj_kjgjs/Execute__12daObjKJgjs_cFPPA3_A4_f.s deleted file mode 100644 index 84053fbdc5..0000000000 --- a/asm/rel/d/a/obj/d_a_obj_kjgjs/d_a_obj_kjgjs/Execute__12daObjKJgjs_cFPPA3_A4_f.s +++ /dev/null @@ -1,5 +0,0 @@ -lbl_80C46310: -/* 80C46310 38 03 05 A8 */ addi r0, r3, 0x5a8 -/* 80C46314 90 04 00 00 */ stw r0, 0(r4) -/* 80C46318 38 60 00 01 */ li r3, 1 -/* 80C4631C 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/d_a_obj_kjgjs/d_a_obj_kjgjs/__dt__12daObjKJgjs_cFv.s b/asm/rel/d/a/obj/d_a_obj_kjgjs/d_a_obj_kjgjs/__dt__12daObjKJgjs_cFv.s deleted file mode 100644 index 6c16bac4fb..0000000000 --- a/asm/rel/d/a/obj/d_a_obj_kjgjs/d_a_obj_kjgjs/__dt__12daObjKJgjs_cFv.s +++ /dev/null @@ -1,31 +0,0 @@ -lbl_80C464CC: -/* 80C464CC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80C464D0 7C 08 02 A6 */ mflr r0 -/* 80C464D4 90 01 00 14 */ stw r0, 0x14(r1) -/* 80C464D8 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80C464DC 93 C1 00 08 */ stw r30, 8(r1) -/* 80C464E0 7C 7E 1B 79 */ or. r30, r3, r3 -/* 80C464E4 7C 9F 23 78 */ mr r31, r4 -/* 80C464E8 41 82 00 38 */ beq lbl_80C46520 -/* 80C464EC 3C 80 80 C4 */ lis r4, __vt__12daObjKJgjs_c@ha /* 0x80C465E0@ha */ -/* 80C464F0 38 04 65 E0 */ addi r0, r4, __vt__12daObjKJgjs_c@l /* 0x80C465E0@l */ -/* 80C464F4 90 1E 05 9C */ stw r0, 0x59c(r30) -/* 80C464F8 41 82 00 18 */ beq lbl_80C46510 -/* 80C464FC 3C 80 80 3B */ lis r4, __vt__16dBgS_MoveBgActor@ha /* 0x803AB9A0@ha */ -/* 80C46500 38 04 B9 A0 */ addi r0, r4, __vt__16dBgS_MoveBgActor@l /* 0x803AB9A0@l */ -/* 80C46504 90 1E 05 9C */ stw r0, 0x59c(r30) -/* 80C46508 38 80 00 00 */ li r4, 0 -/* 80C4650C 4B 3D 27 81 */ bl __dt__10fopAc_ac_cFv -lbl_80C46510: -/* 80C46510 7F E0 07 35 */ extsh. r0, r31 -/* 80C46514 40 81 00 0C */ ble lbl_80C46520 -/* 80C46518 7F C3 F3 78 */ mr r3, r30 -/* 80C4651C 4B 68 88 21 */ bl __dl__FPv -lbl_80C46520: -/* 80C46520 7F C3 F3 78 */ mr r3, r30 -/* 80C46524 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80C46528 83 C1 00 08 */ lwz r30, 8(r1) -/* 80C4652C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80C46530 7C 08 03 A6 */ mtlr r0 -/* 80C46534 38 21 00 10 */ addi r1, r1, 0x10 -/* 80C46538 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/d_a_obj_kjgjs/d_a_obj_kjgjs/create1st__12daObjKJgjs_cFv.s b/asm/rel/d/a/obj/d_a_obj_kjgjs/d_a_obj_kjgjs/create1st__12daObjKJgjs_cFv.s deleted file mode 100644 index ffb127abf7..0000000000 --- a/asm/rel/d/a/obj/d_a_obj_kjgjs/d_a_obj_kjgjs/create1st__12daObjKJgjs_cFv.s +++ /dev/null @@ -1,59 +0,0 @@ -lbl_80C46098: -/* 80C46098 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80C4609C 7C 08 02 A6 */ mflr r0 -/* 80C460A0 90 01 00 14 */ stw r0, 0x14(r1) -/* 80C460A4 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80C460A8 7C 7F 1B 79 */ or. r31, r3, r3 -/* 80C460AC 41 82 00 08 */ beq lbl_80C460B4 -/* 80C460B0 38 63 05 A0 */ addi r3, r3, 0x5a0 -lbl_80C460B4: -/* 80C460B4 3C 80 80 C4 */ lis r4, l_arcName@ha /* 0x80C4658C@ha */ -/* 80C460B8 38 84 65 8C */ addi r4, r4, l_arcName@l /* 0x80C4658C@l */ -/* 80C460BC 80 84 00 00 */ lwz r4, 0(r4) -/* 80C460C0 4B 3E 6D FD */ bl dComIfG_resLoad__FP30request_of_phase_process_classPCc -/* 80C460C4 7C 60 1B 78 */ mr r0, r3 -/* 80C460C8 2C 00 00 04 */ cmpwi r0, 4 -/* 80C460CC 40 82 00 88 */ bne lbl_80C46154 -/* 80C460D0 7F E3 FB 78 */ mr r3, r31 -/* 80C460D4 48 00 00 99 */ bl setMtx__12daObjKJgjs_cFv -/* 80C460D8 80 1F 00 B0 */ lwz r0, 0xb0(r31) -/* 80C460DC 54 00 07 3E */ clrlwi r0, r0, 0x1c -/* 80C460E0 90 1F 06 0C */ stw r0, 0x60c(r31) -/* 80C460E4 80 1F 06 0C */ lwz r0, 0x60c(r31) -/* 80C460E8 2C 00 00 00 */ cmpwi r0, 0 -/* 80C460EC 40 80 00 10 */ bge lbl_80C460FC -/* 80C460F0 38 00 00 00 */ li r0, 0 -/* 80C460F4 90 1F 06 0C */ stw r0, 0x60c(r31) -/* 80C460F8 48 00 00 14 */ b lbl_80C4610C -lbl_80C460FC: -/* 80C460FC 2C 00 00 02 */ cmpwi r0, 2 -/* 80C46100 40 81 00 0C */ ble lbl_80C4610C -/* 80C46104 38 00 00 01 */ li r0, 1 -/* 80C46108 90 1F 06 0C */ stw r0, 0x60c(r31) -lbl_80C4610C: -/* 80C4610C 7F E3 FB 78 */ mr r3, r31 -/* 80C46110 3C 80 80 C4 */ lis r4, l_arcName@ha /* 0x80C4658C@ha */ -/* 80C46114 38 84 65 8C */ addi r4, r4, l_arcName@l /* 0x80C4658C@l */ -/* 80C46118 80 84 00 00 */ lwz r4, 0(r4) -/* 80C4611C 80 1F 06 0C */ lwz r0, 0x60c(r31) -/* 80C46120 54 00 10 3A */ slwi r0, r0, 2 -/* 80C46124 3C A0 80 C4 */ lis r5, l_dzbidx@ha /* 0x80C46544@ha */ -/* 80C46128 38 A5 65 44 */ addi r5, r5, l_dzbidx@l /* 0x80C46544@l */ -/* 80C4612C 7C A5 00 2E */ lwzx r5, r5, r0 -/* 80C46130 3C C0 80 07 */ lis r6, dBgS_MoveBGProc_TypicalRotY__FP4dBgWPvRC13cBgS_PolyInfobP4cXyzP5csXyzP5csXyz@ha /* 0x80075AD8@ha */ -/* 80C46134 38 C6 5A D8 */ addi r6, r6, dBgS_MoveBGProc_TypicalRotY__FP4dBgWPvRC13cBgS_PolyInfobP4cXyzP5csXyzP5csXyz@l /* 0x80075AD8@l */ -/* 80C46138 38 E0 47 F0 */ li r7, 0x47f0 -/* 80C4613C 39 1F 05 A8 */ addi r8, r31, 0x5a8 -/* 80C46140 4B 43 26 7D */ bl MoveBGCreate__16dBgS_MoveBgActorFPCciPFP4dBgWPvRC13cBgS_PolyInfobP4cXyzP5csXyzP5csXyz_vUlPA3_A4_f -/* 80C46144 7C 60 1B 78 */ mr r0, r3 -/* 80C46148 2C 00 00 05 */ cmpwi r0, 5 -/* 80C4614C 40 82 00 08 */ bne lbl_80C46154 -/* 80C46150 48 00 00 08 */ b lbl_80C46158 -lbl_80C46154: -/* 80C46154 7C 03 03 78 */ mr r3, r0 -lbl_80C46158: -/* 80C46158 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80C4615C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80C46160 7C 08 03 A6 */ mtlr r0 -/* 80C46164 38 21 00 10 */ addi r1, r1, 0x10 -/* 80C46168 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/d_a_obj_kjgjs/d_a_obj_kjgjs/daObjKJgjs_MoveBGDelete__FP12daObjKJgjs_c.s b/asm/rel/d/a/obj/d_a_obj_kjgjs/d_a_obj_kjgjs/daObjKJgjs_MoveBGDelete__FP12daObjKJgjs_c.s deleted file mode 100644 index f7a80b50ce..0000000000 --- a/asm/rel/d/a/obj/d_a_obj_kjgjs/d_a_obj_kjgjs/daObjKJgjs_MoveBGDelete__FP12daObjKJgjs_c.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_80C46460: -/* 80C46460 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80C46464 7C 08 02 A6 */ mflr r0 -/* 80C46468 90 01 00 14 */ stw r0, 0x14(r1) -/* 80C4646C 4B 43 24 71 */ bl MoveBGDelete__16dBgS_MoveBgActorFv -/* 80C46470 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80C46474 7C 08 03 A6 */ mtlr r0 -/* 80C46478 38 21 00 10 */ addi r1, r1, 0x10 -/* 80C4647C 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/d_a_obj_kjgjs/d_a_obj_kjgjs/daObjKJgjs_MoveBGDraw__FP12daObjKJgjs_c.s b/asm/rel/d/a/obj/d_a_obj_kjgjs/d_a_obj_kjgjs/daObjKJgjs_MoveBGDraw__FP12daObjKJgjs_c.s deleted file mode 100644 index f5dd173762..0000000000 --- a/asm/rel/d/a/obj/d_a_obj_kjgjs/d_a_obj_kjgjs/daObjKJgjs_MoveBGDraw__FP12daObjKJgjs_c.s +++ /dev/null @@ -1,12 +0,0 @@ -lbl_80C464A0: -/* 80C464A0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80C464A4 7C 08 02 A6 */ mflr r0 -/* 80C464A8 90 01 00 14 */ stw r0, 0x14(r1) -/* 80C464AC 81 83 05 9C */ lwz r12, 0x59c(r3) -/* 80C464B0 81 8C 00 14 */ lwz r12, 0x14(r12) -/* 80C464B4 7D 89 03 A6 */ mtctr r12 -/* 80C464B8 4E 80 04 21 */ bctrl -/* 80C464BC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80C464C0 7C 08 03 A6 */ mtlr r0 -/* 80C464C4 38 21 00 10 */ addi r1, r1, 0x10 -/* 80C464C8 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/d_a_obj_kjgjs/d_a_obj_kjgjs/daObjKJgjs_MoveBGExecute__FP12daObjKJgjs_c.s b/asm/rel/d/a/obj/d_a_obj_kjgjs/d_a_obj_kjgjs/daObjKJgjs_MoveBGExecute__FP12daObjKJgjs_c.s deleted file mode 100644 index 243db6a9d8..0000000000 --- a/asm/rel/d/a/obj/d_a_obj_kjgjs/d_a_obj_kjgjs/daObjKJgjs_MoveBGExecute__FP12daObjKJgjs_c.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_80C46480: -/* 80C46480 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80C46484 7C 08 02 A6 */ mflr r0 -/* 80C46488 90 01 00 14 */ stw r0, 0x14(r1) -/* 80C4648C 4B 43 24 C5 */ bl MoveBGExecute__16dBgS_MoveBgActorFv -/* 80C46490 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80C46494 7C 08 03 A6 */ mtlr r0 -/* 80C46498 38 21 00 10 */ addi r1, r1, 0x10 -/* 80C4649C 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/d_a_obj_kjgjs/d_a_obj_kjgjs/daObjKJgjs_create1st__FP12daObjKJgjs_c.s b/asm/rel/d/a/obj/d_a_obj_kjgjs/d_a_obj_kjgjs/daObjKJgjs_create1st__FP12daObjKJgjs_c.s deleted file mode 100644 index 45cf3fe12d..0000000000 --- a/asm/rel/d/a/obj/d_a_obj_kjgjs/d_a_obj_kjgjs/daObjKJgjs_create1st__FP12daObjKJgjs_c.s +++ /dev/null @@ -1,27 +0,0 @@ -lbl_80C46400: -/* 80C46400 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80C46404 7C 08 02 A6 */ mflr r0 -/* 80C46408 90 01 00 14 */ stw r0, 0x14(r1) -/* 80C4640C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80C46410 7C 7F 1B 78 */ mr r31, r3 -/* 80C46414 80 03 04 A0 */ lwz r0, 0x4a0(r3) -/* 80C46418 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c -/* 80C4641C 40 82 00 28 */ bne lbl_80C46444 -/* 80C46420 28 1F 00 00 */ cmplwi r31, 0 -/* 80C46424 41 82 00 14 */ beq lbl_80C46438 -/* 80C46428 4B 43 21 FD */ bl __ct__16dBgS_MoveBgActorFv -/* 80C4642C 3C 60 80 C4 */ lis r3, __vt__12daObjKJgjs_c@ha /* 0x80C465E0@ha */ -/* 80C46430 38 03 65 E0 */ addi r0, r3, __vt__12daObjKJgjs_c@l /* 0x80C465E0@l */ -/* 80C46434 90 1F 05 9C */ stw r0, 0x59c(r31) -lbl_80C46438: -/* 80C46438 80 1F 04 A0 */ lwz r0, 0x4a0(r31) -/* 80C4643C 60 00 00 08 */ ori r0, r0, 8 -/* 80C46440 90 1F 04 A0 */ stw r0, 0x4a0(r31) -lbl_80C46444: -/* 80C46444 7F E3 FB 78 */ mr r3, r31 -/* 80C46448 4B FF FC 51 */ bl create1st__12daObjKJgjs_cFv -/* 80C4644C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80C46450 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80C46454 7C 08 03 A6 */ mtlr r0 -/* 80C46458 38 21 00 10 */ addi r1, r1, 0x10 -/* 80C4645C 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/d_a_obj_kjgjs/d_a_obj_kjgjs/setMtx__12daObjKJgjs_cFv.s b/asm/rel/d/a/obj/d_a_obj_kjgjs/d_a_obj_kjgjs/setMtx__12daObjKJgjs_cFv.s deleted file mode 100644 index 3b23374e26..0000000000 --- a/asm/rel/d/a/obj/d_a_obj_kjgjs/d_a_obj_kjgjs/setMtx__12daObjKJgjs_cFv.s +++ /dev/null @@ -1,31 +0,0 @@ -lbl_80C4616C: -/* 80C4616C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80C46170 7C 08 02 A6 */ mflr r0 -/* 80C46174 90 01 00 14 */ stw r0, 0x14(r1) -/* 80C46178 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80C4617C 7C 7F 1B 78 */ mr r31, r3 -/* 80C46180 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */ -/* 80C46184 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */ -/* 80C46188 C0 3F 04 D0 */ lfs f1, 0x4d0(r31) -/* 80C4618C C0 5F 04 D4 */ lfs f2, 0x4d4(r31) -/* 80C46190 C0 7F 04 D8 */ lfs f3, 0x4d8(r31) -/* 80C46194 4B 70 07 55 */ bl PSMTXTrans -/* 80C46198 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */ -/* 80C4619C 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */ -/* 80C461A0 A8 9F 04 DC */ lha r4, 0x4dc(r31) -/* 80C461A4 A8 BF 04 DE */ lha r5, 0x4de(r31) -/* 80C461A8 A8 DF 04 E0 */ lha r6, 0x4e0(r31) -/* 80C461AC 4B 3C 5F B9 */ bl mDoMtx_XYZrotM__FPA4_fsss -/* 80C461B0 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */ -/* 80C461B4 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */ -/* 80C461B8 38 9F 05 D8 */ addi r4, r31, 0x5d8 -/* 80C461BC 4B 70 02 F5 */ bl PSMTXCopy -/* 80C461C0 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */ -/* 80C461C4 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */ -/* 80C461C8 38 9F 05 A8 */ addi r4, r31, 0x5a8 -/* 80C461CC 4B 70 02 E5 */ bl PSMTXCopy -/* 80C461D0 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80C461D4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80C461D8 7C 08 03 A6 */ mtlr r0 -/* 80C461DC 38 21 00 10 */ addi r1, r1, 0x10 -/* 80C461E0 4E 80 00 20 */ blr diff --git a/include/rel/d/a/obj/d_a_obj_digholl/d_a_obj_digholl.h b/include/rel/d/a/obj/d_a_obj_digholl/d_a_obj_digholl.h index 285883ee1c..0dde03517f 100644 --- a/include/rel/d/a/obj/d_a_obj_digholl/d_a_obj_digholl.h +++ b/include/rel/d/a/obj/d_a_obj_digholl/d_a_obj_digholl.h @@ -1,6 +1,22 @@ #ifndef D_A_OBJ_DIGHOLL_H #define D_A_OBJ_DIGHOLL_H -#include "dolphin/types.h" +#include "d/com/d_com_inf_game.h" +#include "f_op/f_op_actor_mng.h" + +class daObjDigholl_c : public fopAc_ac_c { +public: + /* 80BDC618 */ int create(); + /* 80BDC75C */ ~daObjDigholl_c(); + /* 80BDC7D8 */ int execute(); + /* 80BDCB0C */ int draw(); + + /* 0x568 */ u8 field_0x568; + /* 0x569 */ u8 field_0x569; + /* 0x56A */ u8 field_0x56a; + /* 0x56B */ u8 field_0x56b; + /* 0x56C */ s16 field_0x56c; + /* 0x56E */ s16 field_0x56e; +}; // Size: 0x570 #endif /* D_A_OBJ_DIGHOLL_H */ diff --git a/include/rel/d/a/obj/d_a_obj_kjgjs/d_a_obj_kjgjs.h b/include/rel/d/a/obj/d_a_obj_kjgjs/d_a_obj_kjgjs.h index da044153b0..e2736ac465 100644 --- a/include/rel/d/a/obj/d_a_obj_kjgjs/d_a_obj_kjgjs.h +++ b/include/rel/d/a/obj/d_a_obj_kjgjs/d_a_obj_kjgjs.h @@ -1,6 +1,27 @@ #ifndef D_A_OBJ_KJGJS_H #define D_A_OBJ_KJGJS_H -#include "dolphin/types.h" +#include "d/bg/d_bg_s_movebg_actor.h" +#include "d/com/d_com_inf_game.h" +#include "f_op/f_op_actor_mng.h" + +class daObjKJgjs_c : public dBgS_MoveBgActor { +public: + /* 80C46098 */ int create1st(); + /* 80C4616C */ void setMtx(); + /* 80C461E4 */ int CreateHeap(); + /* 80C46264 */ int Create(); + /* 80C46310 */ int Execute(f32 (**)[3][4]); + /* 80C46320 */ int Draw(); + /* 80C463C4 */ int Delete(); + /* 80C464CC */ virtual ~daObjKJgjs_c(); + + u32 getType() { return fopAcM_GetParamBit(this, 0, 4); } + + /* 0x5A0 */ request_of_phase_process_class mPhaseReq; + /* 0x5A8 */ Mtx mMtx[2]; + /* 0x608 */ J3DModel* mpModel; + /* 0x60C */ s32 field_0x60c; +}; // Size: 0x610 #endif /* D_A_OBJ_KJGJS_H */ diff --git a/rel/d/a/obj/d_a_obj_digholl/d_a_obj_digholl.cpp b/rel/d/a/obj/d_a_obj_digholl/d_a_obj_digholl.cpp index d7b8dff527..3918423618 100644 --- a/rel/d/a/obj/d_a_obj_digholl/d_a_obj_digholl.cpp +++ b/rel/d/a/obj/d_a_obj_digholl/d_a_obj_digholl.cpp @@ -1,292 +1,133 @@ -// -// Generated By: dol2asm -// Translation Unit: d_a_obj_digholl -// +/** + * d_a_obj_digholl.cpp + * Object - Dig Hole + */ #include "rel/d/a/obj/d_a_obj_digholl/d_a_obj_digholl.h" -#include "dol2asm.h" -#include "dolphin/types.h" - -// -// Types: -// - -struct fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); - /* 80018C8C */ ~fopAc_ac_c(); -}; - -struct cXyz {}; - -struct daPy_py_c { - /* 8015F4F0 */ void setLookPos(cXyz*); -}; - -struct daObjDigholl_c { - /* 80BDC618 */ void create(); - /* 80BDC75C */ ~daObjDigholl_c(); - /* 80BDC7D8 */ void execute(); - /* 80BDCB0C */ bool draw(); -}; - -struct dSv_info_c { - /* 80035200 */ void onSwitch(int, int); - /* 80035360 */ void isSwitch(int, int) const; -}; - -struct dKy_tevstr_c {}; - -struct _GXColor {}; - -struct dPa_control_c { - /* 8004D1B8 */ void setSimple(u16, cXyz const*, dKy_tevstr_c const*, u8, _GXColor const&, - _GXColor const&, int, f32); -}; - -// -// Forward References: -// - -extern "C" void create__14daObjDigholl_cFv(); -extern "C" static void daObjDigholl_Create__FP10fopAc_ac_c(); -extern "C" void __dt__14daObjDigholl_cFv(); -extern "C" static void daObjDigholl_Delete__FP14daObjDigholl_c(); -extern "C" void execute__14daObjDigholl_cFv(); -extern "C" static void daObjDigholl_Execute__FP14daObjDigholl_c(); -extern "C" bool draw__14daObjDigholl_cFv(); -extern "C" static void daObjDigholl_Draw__FP14daObjDigholl_c(); -extern "C" extern void* g_profile_Obj_Digholl[12]; - -// -// External References: -// - -extern "C" void __ct__10fopAc_ac_cFv(); -extern "C" void __dt__10fopAc_ac_cFv(); -extern "C" void fopAcM_SetMin__FP10fopAc_ac_cfff(); -extern "C" void fopAcM_SetMax__FP10fopAc_ac_cfff(); -extern "C" void onSwitch__10dSv_info_cFii(); -extern "C" void isSwitch__10dSv_info_cCFii(); -extern "C" void setSimple__13dPa_control_cFUsPC4cXyzPC12dKy_tevstr_cUcRC8_GXColorRC8_GXColorif(); -extern "C" void setLookPos__9daPy_py_cFP4cXyz(); -extern "C" void cLib_distanceAngleS__Fss(); -extern "C" void __dl__FPv(); -extern "C" void PSVECSquareDistance(); -extern "C" void _savegpr_29(); -extern "C" void _restgpr_29(); -extern "C" extern void* g_fopAc_Method[8]; -extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; -extern "C" extern u8 g_dComIfG_gameInfo[122384]; -extern "C" extern u32 g_whiteColor; -extern "C" extern u32 __float_nan; - -// -// Declarations: -// - -/* ############################################################################################## */ -/* 80BDCB3C-80BDCB40 000000 0004+00 2/2 0/0 0/0 .rodata @3678 */ -SECTION_RODATA static f32 const lit_3678 = -60.0f; -COMPILER_STRIP_GATE(0x80BDCB3C, &lit_3678); - -/* 80BDCB40-80BDCB44 000004 0004+00 0/2 0/0 0/0 .rodata @3679 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_3679[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x80BDCB40, &lit_3679); -#pragma pop - -/* 80BDCB44-80BDCB48 000008 0004+00 0/1 0/0 0/0 .rodata @3680 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3680 = -100.0f; -COMPILER_STRIP_GATE(0x80BDCB44, &lit_3680); -#pragma pop - -/* 80BDCB48-80BDCB4C 00000C 0004+00 0/1 0/0 0/0 .rodata @3681 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3681 = 60.0f; -COMPILER_STRIP_GATE(0x80BDCB48, &lit_3681); -#pragma pop - -/* 80BDCB4C-80BDCB50 000010 0004+00 0/1 0/0 0/0 .rodata @3682 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3682 = 10.0f; -COMPILER_STRIP_GATE(0x80BDCB4C, &lit_3682); -#pragma pop - -/* 80BDCB50-80BDCB54 000014 0004+00 0/1 0/0 0/0 .rodata @3683 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3683 = 100.0f; -COMPILER_STRIP_GATE(0x80BDCB50, &lit_3683); -#pragma pop +#include "JSystem/JKernel/JKRHeap.h" +#include "d/a/d_a_player.h" +#include "d/com/d_com_inf_game.h" +#include "d/d_procname.h" +#include "f_op/f_op_actor_mng.h" /* 80BDC618-80BDC73C 000078 0124+00 1/1 0/0 0/0 .text create__14daObjDigholl_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daObjDigholl_c::create() { - nofralloc -#include "asm/rel/d/a/obj/d_a_obj_digholl/d_a_obj_digholl/create__14daObjDigholl_cFv.s" +int daObjDigholl_c::create() { + if (!fopAcM_CheckCondition(this, 8)) { + new (this) daObjDigholl_c(); + fopAcM_OnCondition(this, 8); + } + field_0x569 = fopAcM_GetParam(this); + field_0x56a = fopAcM_GetParam(this) >> 8; + field_0x56c = fopAcM_GetParam(this) >> 0x10 & 0xff; + if (field_0x56c == 0xff) { + field_0x56c = -1; + } + if (i_fopAcM_isSwitch(this, field_0x569)) { + field_0x568 = 2; + field_0x56b = 1; + } + fopAcM_SetMin(this, -60.0f, 0.0f, -100.0f); + fopAcM_SetMax(this, 60.0f, 10.0f, 100.0f); + mAttentionInfo.mPosition = current.pos; + mEyePos = mAttentionInfo.mPosition; + mAttentionInfo.field_0x4[3] = 0x20; + return cPhs_COMPLEATE_e; } -#pragma pop -/* 80BDC73C-80BDC75C 00019C 0020+00 1/0 0/0 0/0 .text daObjDigholl_Create__FP10fopAc_ac_c - */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daObjDigholl_Create(fopAc_ac_c* param_0) { - nofralloc -#include "asm/rel/d/a/obj/d_a_obj_digholl/d_a_obj_digholl/daObjDigholl_Create__FP10fopAc_ac_c.s" +/* 80BDC73C-80BDC75C 00019C 0020+00 1/0 0/0 0/0 .text daObjDigholl_Create__FP10fopAc_ac_c */ +static int daObjDigholl_Create(fopAc_ac_c* i_this) { + return static_cast(i_this)->create(); } -#pragma pop /* 80BDC75C-80BDC7B0 0001BC 0054+00 1/1 0/0 0/0 .text __dt__14daObjDigholl_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm daObjDigholl_c::~daObjDigholl_c() { - nofralloc -#include "asm/rel/d/a/obj/d_a_obj_digholl/d_a_obj_digholl/__dt__14daObjDigholl_cFv.s" -} -#pragma pop +daObjDigholl_c::~daObjDigholl_c() {} /* 80BDC7B0-80BDC7D8 000210 0028+00 1/0 0/0 0/0 .text daObjDigholl_Delete__FP14daObjDigholl_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daObjDigholl_Delete(daObjDigholl_c* param_0) { - nofralloc -#include "asm/rel/d/a/obj/d_a_obj_digholl/d_a_obj_digholl/daObjDigholl_Delete__FP14daObjDigholl_c.s" +static int daObjDigholl_Delete(daObjDigholl_c* i_this) { + i_this->~daObjDigholl_c(); + return 1; } -#pragma pop - -/* ############################################################################################## */ -/* 80BDCB54-80BDCB58 000018 0004+00 0/1 0/0 0/0 .rodata @3793 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3793 = 40.0f; -COMPILER_STRIP_GATE(0x80BDCB54, &lit_3793); -#pragma pop - -/* 80BDCB58-80BDCB5C 00001C 0004+00 0/1 0/0 0/0 .rodata @3794 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3794 = 35.0f; -COMPILER_STRIP_GATE(0x80BDCB58, &lit_3794); -#pragma pop - -/* 80BDCB5C-80BDCB60 000020 0004+00 0/1 0/0 0/0 .rodata @3795 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3795 = 250000.0f; -COMPILER_STRIP_GATE(0x80BDCB5C, &lit_3795); -#pragma pop - -/* 80BDCB60-80BDCB64 000024 0004+00 0/1 0/0 0/0 .rodata @3796 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3796 = 200.0f; -COMPILER_STRIP_GATE(0x80BDCB60, &lit_3796); -#pragma pop - -/* 80BDCB64-80BDCB6C 000028 0008+00 0/1 0/0 0/0 .rodata @3797 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_3797[8] = { - 0x3F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80BDCB64, &lit_3797); -#pragma pop - -/* 80BDCB6C-80BDCB74 000030 0008+00 0/1 0/0 0/0 .rodata @3798 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_3798[8] = { - 0x40, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80BDCB6C, &lit_3798); -#pragma pop - -/* 80BDCB74-80BDCB7C 000038 0008+00 0/1 0/0 0/0 .rodata @3799 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_3799[8] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80BDCB74, &lit_3799); -#pragma pop - -/* 80BDCB7C-80BDCB80 000040 0004+00 0/1 0/0 0/0 .rodata @3800 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3800 = 1000.0f; -COMPILER_STRIP_GATE(0x80BDCB7C, &lit_3800); -#pragma pop /* 80BDC7D8-80BDCAEC 000238 0314+00 1/1 0/0 0/0 .text execute__14daObjDigholl_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daObjDigholl_c::execute() { - nofralloc -#include "asm/rel/d/a/obj/d_a_obj_digholl/d_a_obj_digholl/execute__14daObjDigholl_cFv.s" +int daObjDigholl_c::execute() { + daPy_py_c* player = daPy_getLinkPlayerActorClass(); + if (player->i_checkNowWolf() && + (field_0x56a == 0xff || i_fopAcM_isSwitch(this, field_0x56a)) && + (f32)fabsf(current.pos.y - player->current.pos.y) < 40.0f) + { + mAttentionInfo.mFlags = 0x80; + } else { + mAttentionInfo.mFlags = 0; + } + if (field_0x568 == 1) { + if (cLib_distanceAngleS(player->shape_angle.y, shape_angle.y) < 0x6000) { + shape_angle.y = player->shape_angle.y + 0x10000 - 0x8000; + current.angle.y = shape_angle.y; + } + i_fopAcM_onSwitch(this, field_0x569); + + if (i_dComIfGp_event_runCheck()) { + if (player->getBaseAnimeFrame() > 35.0f) { + field_0x56b = 1; + } + } else { + field_0x568 = 2; + field_0x56b = 1; + } + } else { + if ((player->current.pos.abs2XZ(current.pos) < 250000.0f) && + (fabsf(current.pos.y - player->current.pos.y) < 200.0f)) + { + daPy_py_c::setLookPos(&mAttentionInfo.mPosition); + } + } + + if (player->current.pos.abs(current.pos) < 1000.0f) { + dComIfGp_particle_setSimple(0x70f, ¤t.pos, 0xff, g_whiteColor, g_whiteColor, NULL, + 0.0f); + dComIfGp_particle_setSimple(0x73d, ¤t.pos, 0xff, g_whiteColor, g_whiteColor, NULL, + 0.0f); + } + + return 1; } -#pragma pop /* 80BDCAEC-80BDCB0C 00054C 0020+00 1/0 0/0 0/0 .text daObjDigholl_Execute__FP14daObjDigholl_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daObjDigholl_Execute(daObjDigholl_c* param_0) { - nofralloc -#include "asm/rel/d/a/obj/d_a_obj_digholl/d_a_obj_digholl/daObjDigholl_Execute__FP14daObjDigholl_c.s" +static int daObjDigholl_Execute(daObjDigholl_c* i_this) { + return i_this->execute(); } -#pragma pop /* 80BDCB0C-80BDCB14 00056C 0008+00 1/1 0/0 0/0 .text draw__14daObjDigholl_cFv */ -bool daObjDigholl_c::draw() { - return true; +int daObjDigholl_c::draw() { + return 1; } /* 80BDCB14-80BDCB34 000574 0020+00 1/0 0/0 0/0 .text daObjDigholl_Draw__FP14daObjDigholl_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daObjDigholl_Draw(daObjDigholl_c* param_0) { - nofralloc -#include "asm/rel/d/a/obj/d_a_obj_digholl/d_a_obj_digholl/daObjDigholl_Draw__FP14daObjDigholl_c.s" +static int daObjDigholl_Draw(daObjDigholl_c* i_this) { + return i_this->draw(); } -#pragma pop -/* ############################################################################################## */ /* 80BDCB80-80BDCBA0 -00001 0020+00 1/0 0/0 0/0 .data l_daObjDigholl_Method */ -SECTION_DATA static void* l_daObjDigholl_Method[8] = { - (void*)daObjDigholl_Create__FP10fopAc_ac_c, - (void*)daObjDigholl_Delete__FP14daObjDigholl_c, - (void*)daObjDigholl_Execute__FP14daObjDigholl_c, - (void*)NULL, - (void*)daObjDigholl_Draw__FP14daObjDigholl_c, - (void*)NULL, - (void*)NULL, - (void*)NULL, +static actor_method_class l_daObjDigholl_Method = { + (process_method_func)daObjDigholl_Create, (process_method_func)daObjDigholl_Delete, + (process_method_func)daObjDigholl_Execute, (process_method_func)NULL, + (process_method_func)daObjDigholl_Draw, }; /* 80BDCBA0-80BDCBD0 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Obj_Digholl */ -SECTION_DATA extern void* g_profile_Obj_Digholl[12] = { - (void*)0xFFFFFFFD, (void*)0x0003FFFD, - (void*)0x00520000, (void*)&g_fpcLf_Method, - (void*)0x00000570, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x00F90000, (void*)&l_daObjDigholl_Method, - (void*)0x00044100, (void*)0x030E0000, +extern actor_process_profile_definition g_profile_Obj_Digholl = { + -3, + 3, + -3, + PROC_Obj_Digholl, + &g_fpcLf_Method.mBase, + sizeof(daObjDigholl_c), + 0, + 0, + &g_fopAc_Method.base, + 0x00F9, + &l_daObjDigholl_Method, + 0x00044100, + 3, + 14, }; diff --git a/rel/d/a/obj/d_a_obj_kjgjs/d_a_obj_kjgjs.cpp b/rel/d/a/obj/d_a_obj_kjgjs/d_a_obj_kjgjs.cpp index 42dc358db9..408f98d579 100644 --- a/rel/d/a/obj/d_a_obj_kjgjs/d_a_obj_kjgjs.cpp +++ b/rel/d/a/obj/d_a_obj_kjgjs/d_a_obj_kjgjs.cpp @@ -1,321 +1,153 @@ -// -// Generated By: dol2asm -// Translation Unit: d_a_obj_kjgjs -// +/** + * d_a_obj_kjgjs.cpp + * Object - Kjgjs + */ #include "rel/d/a/obj/d_a_obj_kjgjs/d_a_obj_kjgjs.h" -#include "dol2asm.h" -#include "dolphin/types.h" +#include "JSystem/JKernel/JKRHeap.h" +#include "d/bg/d_bg_w.h" +#include "d/d_procname.h" -// -// Types: -// +static const u32 l_dzbidx[2] = {8, 9}; +static const char* l_arcName = "K_jgjs"; -struct request_of_phase_process_class {}; - -struct mDoMtx_stack_c { - static u8 now[48]; -}; - -struct fopAc_ac_c { - /* 80018C8C */ ~fopAc_ac_c(); -}; - -struct daObjKJgjs_c { - /* 80C46098 */ void create1st(); - /* 80C4616C */ void setMtx(); - /* 80C461E4 */ void CreateHeap(); - /* 80C46264 */ void Create(); - /* 80C46310 */ void Execute(f32 (**)[3][4]); - /* 80C46320 */ void Draw(); - /* 80C463C4 */ void Delete(); - /* 80C464CC */ ~daObjKJgjs_c(); -}; - -struct dKy_tevstr_c {}; - -struct J3DModelData {}; - -struct cXyz {}; - -struct dScnKy_env_light_c { - /* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*); - /* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*); -}; - -struct dRes_info_c {}; - -struct dRes_control_c { - /* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int); -}; - -struct dBgW {}; - -struct cBgS_PolyInfo {}; - -struct csXyz {}; - -struct dBgS_MoveBgActor { - /* 80078624 */ dBgS_MoveBgActor(); - /* 800786B0 */ bool IsDelete(); - /* 800786B8 */ bool ToFore(); - /* 800786C0 */ bool ToBack(); - /* 800787BC */ void MoveBGCreate(char const*, int, - void (*)(dBgW*, void*, cBgS_PolyInfo const&, bool, cXyz*, - csXyz*, csXyz*), - u32, f32 (*)[3][4]); - /* 800788DC */ void MoveBGDelete(); - /* 80078950 */ void MoveBGExecute(); -}; - -struct J3DModel {}; - -// -// Forward References: -// - -extern "C" void create1st__12daObjKJgjs_cFv(); -extern "C" void setMtx__12daObjKJgjs_cFv(); -extern "C" void CreateHeap__12daObjKJgjs_cFv(); -extern "C" void Create__12daObjKJgjs_cFv(); -extern "C" void Execute__12daObjKJgjs_cFPPA3_A4_f(); -extern "C" void Draw__12daObjKJgjs_cFv(); -extern "C" void Delete__12daObjKJgjs_cFv(); -extern "C" static void daObjKJgjs_create1st__FP12daObjKJgjs_c(); -extern "C" static void daObjKJgjs_MoveBGDelete__FP12daObjKJgjs_c(); -extern "C" static void daObjKJgjs_MoveBGExecute__FP12daObjKJgjs_c(); -extern "C" static void daObjKJgjs_MoveBGDraw__FP12daObjKJgjs_c(); -extern "C" void __dt__12daObjKJgjs_cFv(); -extern "C" extern char const* const d_a_obj_kjgjs__stringBase0; - -// -// External References: -// - -extern "C" void mDoMtx_XYZrotM__FPA4_fsss(); -extern "C" void mDoExt_modelUpdateDL__FP8J3DModel(); -extern "C" void mDoExt_J3DModel__create__FP12J3DModelDataUlUl(); -extern "C" void __dt__10fopAc_ac_cFv(); -extern "C" void fopAcM_setCullSizeBox__FP10fopAc_ac_cffffff(); -extern "C" void dComIfG_resLoad__FP30request_of_phase_process_classPCc(); -extern "C" void dComIfG_resDelete__FP30request_of_phase_process_classPCc(); -extern "C" void getRes__14dRes_control_cFPCclP11dRes_info_ci(); -extern "C" void dBgS_MoveBGProc_TypicalRotY__FP4dBgWPvRC13cBgS_PolyInfobP4cXyzP5csXyzP5csXyz(); -extern "C" void __ct__16dBgS_MoveBgActorFv(); -extern "C" bool IsDelete__16dBgS_MoveBgActorFv(); -extern "C" bool ToFore__16dBgS_MoveBgActorFv(); -extern "C" bool ToBack__16dBgS_MoveBgActorFv(); -extern "C" void -MoveBGCreate__16dBgS_MoveBgActorFPCciPFP4dBgWPvRC13cBgS_PolyInfobP4cXyzP5csXyzP5csXyz_vUlPA3_A4_f(); -extern "C" void MoveBGDelete__16dBgS_MoveBgActorFv(); -extern "C" void MoveBGExecute__16dBgS_MoveBgActorFv(); -extern "C" void settingTevStruct__18dScnKy_env_light_cFiP4cXyzP12dKy_tevstr_c(); -extern "C" void setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c(); -extern "C" void __dl__FPv(); -extern "C" void PSMTXCopy(); -extern "C" void PSMTXTrans(); -extern "C" extern void* g_fopAc_Method[8]; -extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; -extern "C" extern void* __vt__16dBgS_MoveBgActor[10]; -extern "C" u8 now__14mDoMtx_stack_c[48]; -extern "C" extern u8 g_dComIfG_gameInfo[122384]; -extern "C" extern u8 g_env_light[4880]; -extern "C" extern u8 j3dSys[284]; - -// -// Declarations: -// - -/* ############################################################################################## */ -/* 80C46544-80C4654C 000000 0008+00 1/1 0/0 0/0 .rodata l_dzbidx */ -SECTION_RODATA static u8 const l_dzbidx[8] = { - 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x09, -}; -COMPILER_STRIP_GATE(0x80C46544, &l_dzbidx); - -/* 80C46584-80C46584 000040 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80C46584 = "K_jgjs"; -#pragma pop - -/* 80C4658C-80C46590 -00001 0004+00 3/3 0/0 0/0 .data l_arcName */ -SECTION_DATA static void* l_arcName = (void*)&d_a_obj_kjgjs__stringBase0; +inline request_of_phase_process_class* daObjKJgjs_getRes(daObjKJgjs_c* i_kjgjs) { + daObjKJgjs_c* mpKjgjs = (daObjKJgjs_c*)i_kjgjs; + return i_kjgjs ? &mpKjgjs->mPhaseReq : (request_of_phase_process_class*)mpKjgjs; +} /* 80C46098-80C4616C 000078 00D4+00 1/1 0/0 0/0 .text create1st__12daObjKJgjs_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daObjKJgjs_c::create1st() { - nofralloc -#include "asm/rel/d/a/obj/d_a_obj_kjgjs/d_a_obj_kjgjs/create1st__12daObjKJgjs_cFv.s" +int daObjKJgjs_c::create1st() { + int phase = dComIfG_resLoad(daObjKJgjs_getRes(this), l_arcName); + if (phase == cPhs_COMPLEATE_e) { + setMtx(); + field_0x60c = getType(); + if (field_0x60c < 0) { + field_0x60c = 0; + } else if (field_0x60c > 2) { + field_0x60c = 1; + } + phase = MoveBGCreate(l_arcName, l_dzbidx[field_0x60c], dBgS_MoveBGProc_TypicalRotY, 0x47f0, + &mMtx[0]); + + if (phase == cPhs_ERROR_e) { + return phase; + } + } + return phase; } -#pragma pop /* 80C4616C-80C461E4 00014C 0078+00 1/1 0/0 0/0 .text setMtx__12daObjKJgjs_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daObjKJgjs_c::setMtx() { - nofralloc -#include "asm/rel/d/a/obj/d_a_obj_kjgjs/d_a_obj_kjgjs/setMtx__12daObjKJgjs_cFv.s" +void daObjKJgjs_c::setMtx() { + mDoMtx_stack_c::transS(current.pos.x, current.pos.y, current.pos.z); + mDoMtx_stack_c::XYZrotM(current.angle.x, current.angle.y, current.angle.z); + PSMTXCopy(mDoMtx_stack_c::now, mMtx[1]); + PSMTXCopy(mDoMtx_stack_c::now, mMtx[0]); } -#pragma pop -/* ############################################################################################## */ /* 80C4654C-80C46554 000008 0008+00 1/1 0/0 0/0 .rodata l_bmdidx */ -SECTION_RODATA static u8 const l_bmdidx[8] = { - 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x05, -}; -COMPILER_STRIP_GATE(0x80C4654C, &l_bmdidx); +static const u32 l_bmdidx[2] = {4, 5}; /* 80C461E4-80C46264 0001C4 0080+00 1/0 0/0 0/0 .text CreateHeap__12daObjKJgjs_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daObjKJgjs_c::CreateHeap() { - nofralloc -#include "asm/rel/d/a/obj/d_a_obj_kjgjs/d_a_obj_kjgjs/CreateHeap__12daObjKJgjs_cFv.s" +int daObjKJgjs_c::CreateHeap() { + mpModel = mDoExt_J3DModel__create( + (J3DModelData*)dComIfG_getObjectRes(l_arcName, l_bmdidx[field_0x60c]), 0x80000, 0x11000084); + return mpModel != NULL ? 1 : 0; } -#pragma pop -/* ############################################################################################## */ -/* 80C46554-80C46584 000010 0030+00 1/1 0/0 0/0 .rodata l_cull_box */ -SECTION_RODATA static u8 const l_cull_box[48] = { - 0xC4, 0x9D, 0x80, 0x00, 0xC5, 0x3E, 0xA0, 0x00, 0xC4, 0x9D, 0x80, 0x00, 0x44, 0x9D, 0x80, 0x00, - 0x45, 0x2F, 0x00, 0x00, 0x44, 0x9D, 0x80, 0x00, 0xC2, 0x98, 0xBD, 0x71, 0xC1, 0x2D, 0x47, 0xAE, - 0xC2, 0x9D, 0x05, 0x1F, 0x42, 0x97, 0x0A, 0x3D, 0x41, 0x2F, 0x33, 0x33, 0x42, 0x9C, 0x1E, 0xB8, +static const Vec l_cull_box[4] = { + {-1260.0f, -3050.0f, -1260.0f}, + {1260.0f, 2800.0f, 1260.0f}, + {-76.37f, -10.83f, -78.51}, + {75.52f, 10.95f, 78.06f}, }; -COMPILER_STRIP_GATE(0x80C46554, &l_cull_box); /* 80C46264-80C46310 000244 00AC+00 1/0 0/0 0/0 .text Create__12daObjKJgjs_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daObjKJgjs_c::Create() { - nofralloc -#include "asm/rel/d/a/obj/d_a_obj_kjgjs/d_a_obj_kjgjs/Create__12daObjKJgjs_cFv.s" +int daObjKJgjs_c::Create() { + fopAcM_SetMtx(this, mMtx[1]); + PSMTXCopy(mMtx[1], mpModel->mBaseTransformMtx); + dBgW* mpBgW = field_0x568; + mpBgW->field_0x91 |= 4; + if (!field_0x60c) { + fopAcM_setCullSizeBox(this, l_cull_box[0].x, l_cull_box[0].y, l_cull_box[0].z, + l_cull_box[1].x, l_cull_box[1].y, l_cull_box[1].z); + } else { + fopAcM_setCullSizeBox(this, l_cull_box[2].x, l_cull_box[2].y, l_cull_box[2].z, + l_cull_box[3].x, l_cull_box[3].y, l_cull_box[3].z); + } + return 1; } -#pragma pop -/* 80C46310-80C46320 0002F0 0010+00 1/0 0/0 0/0 .text Execute__12daObjKJgjs_cFPPA3_A4_f - */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daObjKJgjs_c::Execute(f32 (**param_0)[3][4]) { - nofralloc -#include "asm/rel/d/a/obj/d_a_obj_kjgjs/d_a_obj_kjgjs/Execute__12daObjKJgjs_cFPPA3_A4_f.s" +/* 80C46310-80C46320 0002F0 0010+00 1/0 0/0 0/0 .text Execute__12daObjKJgjs_cFPPA3_A4_f */ +int daObjKJgjs_c::Execute(f32 (**i_mtx)[3][4]) { + *i_mtx = mMtx; + return 1; } -#pragma pop /* 80C46320-80C463C4 000300 00A4+00 1/0 0/0 0/0 .text Draw__12daObjKJgjs_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daObjKJgjs_c::Draw() { - nofralloc -#include "asm/rel/d/a/obj/d_a_obj_kjgjs/d_a_obj_kjgjs/Draw__12daObjKJgjs_cFv.s" +int daObjKJgjs_c::Draw() { + g_env_light.settingTevStruct(0x10, ¤t.pos, &mTevStr); + g_env_light.setLightTevColorType_MAJI(mpModel, &mTevStr); + dComIfGd_setListBG(); + mDoExt_modelUpdateDL(mpModel); + dComIfGd_setList(); + return 1; } -#pragma pop /* 80C463C4-80C46400 0003A4 003C+00 1/0 0/0 0/0 .text Delete__12daObjKJgjs_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daObjKJgjs_c::Delete() { - nofralloc -#include "asm/rel/d/a/obj/d_a_obj_kjgjs/d_a_obj_kjgjs/Delete__12daObjKJgjs_cFv.s" +int daObjKJgjs_c::Delete() { + dComIfG_resDelete(daObjKJgjs_getRes(this), l_arcName); + return 1; } -#pragma pop -/* ############################################################################################## */ +/* 80C46400-80C46460 0003E0 0060+00 1/0 0/0 0/0 .text daObjKJgjs_create1st__FP12daObjKJgjs_c */ +static int daObjKJgjs_create1st(daObjKJgjs_c* i_this) { + if (!fopAcM_CheckCondition(i_this, 8)) { + new (i_this) daObjKJgjs_c(); + fopAcM_OnCondition(i_this, 8); + } + return i_this->create1st(); +} + +/* 80C46460-80C46480 000440 0020+00 1/0 0/0 0/0 .text daObjKJgjs_MoveBGDelete__FP12daObjKJgjs_c */ +static int daObjKJgjs_MoveBGDelete(daObjKJgjs_c* i_this) { + return static_cast(i_this)->MoveBGDelete(); +} + +/* 80C46480-80C464A0 000460 0020+00 1/0 0/0 0/0 .text daObjKJgjs_MoveBGExecute__FP12daObjKJgjs_c*/ +static int daObjKJgjs_MoveBGExecute(daObjKJgjs_c* i_this) { + return static_cast(i_this)->MoveBGExecute(); +} + +/* 80C464A0-80C464CC 000480 002C+00 1/0 0/0 0/0 .text daObjKJgjs_MoveBGDraw__FP12daObjKJgjs_c */ +static int daObjKJgjs_MoveBGDraw(daObjKJgjs_c* i_this) { + return static_cast(i_this)->MoveBGDraw(); +} + +/* 80C464CC-80C4653C 0004AC 0070+00 1/0 0/0 0/0 .text __dt__12daObjKJgjs_cFv */ +daObjKJgjs_c::~daObjKJgjs_c() {} + /* 80C46590-80C465B0 -00001 0020+00 1/0 0/0 0/0 .data daObjKJgjs_METHODS */ -SECTION_DATA static void* daObjKJgjs_METHODS[8] = { - (void*)daObjKJgjs_create1st__FP12daObjKJgjs_c, - (void*)daObjKJgjs_MoveBGDelete__FP12daObjKJgjs_c, - (void*)daObjKJgjs_MoveBGExecute__FP12daObjKJgjs_c, - (void*)NULL, - (void*)daObjKJgjs_MoveBGDraw__FP12daObjKJgjs_c, - (void*)NULL, - (void*)NULL, - (void*)NULL, +static actor_method_class daObjKJgjs_METHODS = { + (process_method_func)daObjKJgjs_create1st, (process_method_func)daObjKJgjs_MoveBGDelete, + (process_method_func)daObjKJgjs_MoveBGExecute, (process_method_func)NULL, + (process_method_func)daObjKJgjs_MoveBGDraw, }; /* 80C465B0-80C465E0 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Obj_KJgjs */ -SECTION_DATA extern void* g_profile_Obj_KJgjs[12] = { - (void*)0xFFFFFFFD, (void*)0x0003FFFD, - (void*)0x00DD0000, (void*)&g_fpcLf_Method, - (void*)0x00000610, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x02A50000, (void*)&daObjKJgjs_METHODS, - (void*)0x00040100, (void*)0x000E0000, +extern actor_process_profile_definition g_profile_Obj_KJgjs = { + -3, + 3, + -3, + PROC_Obj_KJgjs, + &g_fpcLf_Method.mBase, + sizeof(daObjKJgjs_c), + 0, + 0, + &g_fopAc_Method.base, + 0x02A5, + &daObjKJgjs_METHODS, + 0x00040100, + 0, + 14, }; - -/* 80C465E0-80C4660C 000054 002C+00 2/2 0/0 0/0 .data __vt__12daObjKJgjs_c */ -SECTION_DATA extern void* __vt__12daObjKJgjs_c[11] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)CreateHeap__12daObjKJgjs_cFv, - (void*)Create__12daObjKJgjs_cFv, - (void*)Execute__12daObjKJgjs_cFPPA3_A4_f, - (void*)Draw__12daObjKJgjs_cFv, - (void*)Delete__12daObjKJgjs_cFv, - (void*)IsDelete__16dBgS_MoveBgActorFv, - (void*)ToFore__16dBgS_MoveBgActorFv, - (void*)ToBack__16dBgS_MoveBgActorFv, - (void*)__dt__12daObjKJgjs_cFv, -}; - -/* 80C46400-80C46460 0003E0 0060+00 1/0 0/0 0/0 .text daObjKJgjs_create1st__FP12daObjKJgjs_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daObjKJgjs_create1st(daObjKJgjs_c* param_0) { - nofralloc -#include "asm/rel/d/a/obj/d_a_obj_kjgjs/d_a_obj_kjgjs/daObjKJgjs_create1st__FP12daObjKJgjs_c.s" -} -#pragma pop - -/* 80C46460-80C46480 000440 0020+00 1/0 0/0 0/0 .text daObjKJgjs_MoveBGDelete__FP12daObjKJgjs_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daObjKJgjs_MoveBGDelete(daObjKJgjs_c* param_0) { - nofralloc -#include "asm/rel/d/a/obj/d_a_obj_kjgjs/d_a_obj_kjgjs/daObjKJgjs_MoveBGDelete__FP12daObjKJgjs_c.s" -} -#pragma pop - -/* 80C46480-80C464A0 000460 0020+00 1/0 0/0 0/0 .text daObjKJgjs_MoveBGExecute__FP12daObjKJgjs_c - */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daObjKJgjs_MoveBGExecute(daObjKJgjs_c* param_0) { - nofralloc -#include "asm/rel/d/a/obj/d_a_obj_kjgjs/d_a_obj_kjgjs/daObjKJgjs_MoveBGExecute__FP12daObjKJgjs_c.s" -} -#pragma pop - -/* 80C464A0-80C464CC 000480 002C+00 1/0 0/0 0/0 .text daObjKJgjs_MoveBGDraw__FP12daObjKJgjs_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daObjKJgjs_MoveBGDraw(daObjKJgjs_c* param_0) { - nofralloc -#include "asm/rel/d/a/obj/d_a_obj_kjgjs/d_a_obj_kjgjs/daObjKJgjs_MoveBGDraw__FP12daObjKJgjs_c.s" -} -#pragma pop - -/* 80C464CC-80C4653C 0004AC 0070+00 1/0 0/0 0/0 .text __dt__12daObjKJgjs_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm daObjKJgjs_c::~daObjKJgjs_c() { - nofralloc -#include "asm/rel/d/a/obj/d_a_obj_kjgjs/d_a_obj_kjgjs/__dt__12daObjKJgjs_cFv.s" -} -#pragma pop - -/* 80C46584-80C46584 000040 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ From 3979544005b914862824944868dca278b5bea9ec Mon Sep 17 00:00:00 2001 From: Noah McQueen <67965519+Yotona@users.noreply.github.com> Date: Sun, 28 May 2023 20:54:30 -0700 Subject: [PATCH 4/8] lib/TRK_MINNOW_DOLPHIN work (#341) --- Progress.md | 8 +- .../EXI2_DDH_GCN/main/ddh_cc_initinterrupts.s | 10 -- .../GCN/EXI2_DDH_GCN/main/ddh_cc_open.s | 11 -- .../GCN/EXI2_DDH_GCN/main/ddh_cc_post_stop.s | 10 -- .../EXI2_DDH_GCN/main/ddh_cc_pre_continue.s | 10 -- .../main/gdev_cc_initinterrupts.s | 10 -- .../GCN/EXI2_GDEV_GCN/main/gdev_cc_open.s | 11 -- .../EXI2_GDEV_GCN/main/gdev_cc_post_stop.s | 10 -- .../EXI2_GDEV_GCN/main/gdev_cc_pre_continue.s | 10 -- .../Portable/msghndlr/GetTRKConnected.s | 5 - .../Portable/msghndlr/SetTRKConnected.s | 4 - .../Portable/nubevent/TRKDestructEvent.s | 10 -- .../nubevent/TRKInitializeEventQueue.s | 23 ---- .../Portable/nubinit/TRKTerminateNub.s | 10 -- .../dolphin_trk/EnableMetroTRKInterrupts.s | 9 -- .../dolphin/dolphin_trk/TRKInitializeTarget.s | 20 --- .../dolphin/dolphin_trk/TRKTargetTranslate.s | 25 ---- .../CircleBuffer/CBGetBytesAvailableForRead.s | 3 - .../CircleBuffer/CircleBufferInitialize.s | 21 ---- .../CircleBuffer/CircleBufferReadBytes.s | 72 ----------- .../CircleBuffer/CircleBufferWriteBytes.s | 72 ----------- .../MWEnterCriticalSection.s | 13 -- .../MetroTRK/Portable/mutex_TRK.h | 4 + .../Os/dolphin/target_options.h | 3 + .../utils/common/CircleBuffer.h | 15 +++ .../utils/gc/MWCriticalSection_gc.h | 4 + include/amcstubs/AmcExi2Stubs.h | 9 ++ .../GCN/EXI2_DDH_GCN/main.c | 79 ++++-------- .../GCN/EXI2_GDEV_GCN/main.c | 68 ++++------ .../MetroTRK/Portable/msghndlr.c | 20 +-- .../MetroTRK/Portable/nubevent.c | 33 +++-- .../MetroTRK/Portable/nubinit.c | 16 +-- .../Os/dolphin/dolphin_trk.c | 56 ++++----- .../utils/common/CircleBuffer.c | 116 ++++++++++-------- .../utils/gc/MWCriticalSection_gc.c | 11 -- 35 files changed, 204 insertions(+), 607 deletions(-) delete mode 100644 asm/TRK_MINNOW_DOLPHIN/GCN/EXI2_DDH_GCN/main/ddh_cc_initinterrupts.s delete mode 100644 asm/TRK_MINNOW_DOLPHIN/GCN/EXI2_DDH_GCN/main/ddh_cc_open.s delete mode 100644 asm/TRK_MINNOW_DOLPHIN/GCN/EXI2_DDH_GCN/main/ddh_cc_post_stop.s delete mode 100644 asm/TRK_MINNOW_DOLPHIN/GCN/EXI2_DDH_GCN/main/ddh_cc_pre_continue.s delete mode 100644 asm/TRK_MINNOW_DOLPHIN/GCN/EXI2_GDEV_GCN/main/gdev_cc_initinterrupts.s delete mode 100644 asm/TRK_MINNOW_DOLPHIN/GCN/EXI2_GDEV_GCN/main/gdev_cc_open.s delete mode 100644 asm/TRK_MINNOW_DOLPHIN/GCN/EXI2_GDEV_GCN/main/gdev_cc_post_stop.s delete mode 100644 asm/TRK_MINNOW_DOLPHIN/GCN/EXI2_GDEV_GCN/main/gdev_cc_pre_continue.s delete mode 100644 asm/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/msghndlr/GetTRKConnected.s delete mode 100644 asm/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/msghndlr/SetTRKConnected.s delete mode 100644 asm/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/nubevent/TRKDestructEvent.s delete mode 100644 asm/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/nubevent/TRKInitializeEventQueue.s delete mode 100644 asm/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/nubinit/TRKTerminateNub.s delete mode 100644 asm/TRK_MINNOW_DOLPHIN/Os/dolphin/dolphin_trk/EnableMetroTRKInterrupts.s delete mode 100644 asm/TRK_MINNOW_DOLPHIN/Os/dolphin/dolphin_trk/TRKInitializeTarget.s delete mode 100644 asm/TRK_MINNOW_DOLPHIN/Os/dolphin/dolphin_trk/TRKTargetTranslate.s delete mode 100644 asm/TRK_MINNOW_DOLPHIN/utils/common/CircleBuffer/CBGetBytesAvailableForRead.s delete mode 100644 asm/TRK_MINNOW_DOLPHIN/utils/common/CircleBuffer/CircleBufferInitialize.s delete mode 100644 asm/TRK_MINNOW_DOLPHIN/utils/common/CircleBuffer/CircleBufferReadBytes.s delete mode 100644 asm/TRK_MINNOW_DOLPHIN/utils/common/CircleBuffer/CircleBufferWriteBytes.s delete mode 100644 asm/TRK_MINNOW_DOLPHIN/utils/gc/MWCriticalSection_gc/MWEnterCriticalSection.s diff --git a/Progress.md b/Progress.md index 2dae7288b2..e6d82f9386 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 | 26.866903% | 966280 | 3596544 +.text | 26.904050% | 967616 | 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 | 34.576708% | 1390216 | 4020672 +Total | 34.609936% | 1391552 | 4020672 ## Total Section | Percentage | Decompiled (bytes) | Total (bytes) ---|---|---|--- -main.dol | 34.576708% | 1390216 | 4020672 +main.dol | 34.609936% | 1391552 | 4020672 RELs | 33.600166% | 3864128 | 11500324 -Total | 33.853137% | 5254344 | 15520996 +Total | 33.861744% | 5255680 | 15520996 ## RELs diff --git a/asm/TRK_MINNOW_DOLPHIN/GCN/EXI2_DDH_GCN/main/ddh_cc_initinterrupts.s b/asm/TRK_MINNOW_DOLPHIN/GCN/EXI2_DDH_GCN/main/ddh_cc_initinterrupts.s deleted file mode 100644 index 0ec6b8480b..0000000000 --- a/asm/TRK_MINNOW_DOLPHIN/GCN/EXI2_DDH_GCN/main/ddh_cc_initinterrupts.s +++ /dev/null @@ -1,10 +0,0 @@ -lbl_8037235C: -/* 8037235C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80372360 7C 08 02 A6 */ mflr r0 -/* 80372364 90 01 00 14 */ stw r0, 0x14(r1) -/* 80372368 48 00 09 99 */ bl EXI2_EnableInterrupts -/* 8037236C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80372370 38 60 00 00 */ li r3, 0 -/* 80372374 7C 08 03 A6 */ mtlr r0 -/* 80372378 38 21 00 10 */ addi r1, r1, 0x10 -/* 8037237C 4E 80 00 20 */ blr diff --git a/asm/TRK_MINNOW_DOLPHIN/GCN/EXI2_DDH_GCN/main/ddh_cc_open.s b/asm/TRK_MINNOW_DOLPHIN/GCN/EXI2_DDH_GCN/main/ddh_cc_open.s deleted file mode 100644 index ce34737546..0000000000 --- a/asm/TRK_MINNOW_DOLPHIN/GCN/EXI2_DDH_GCN/main/ddh_cc_open.s +++ /dev/null @@ -1,11 +0,0 @@ -lbl_803725EC: -/* 803725EC 80 0D 94 40 */ lwz r0, gIsInitialized(r13) -/* 803725F0 2C 00 00 00 */ cmpwi r0, 0 -/* 803725F4 41 82 00 0C */ beq lbl_80372600 -/* 803725F8 38 60 D8 EB */ li r3, -10005 -/* 803725FC 4E 80 00 20 */ blr -lbl_80372600: -/* 80372600 38 00 00 01 */ li r0, 1 -/* 80372604 38 60 00 00 */ li r3, 0 -/* 80372608 90 0D 94 40 */ stw r0, gIsInitialized(r13) -/* 8037260C 4E 80 00 20 */ blr diff --git a/asm/TRK_MINNOW_DOLPHIN/GCN/EXI2_DDH_GCN/main/ddh_cc_post_stop.s b/asm/TRK_MINNOW_DOLPHIN/GCN/EXI2_DDH_GCN/main/ddh_cc_post_stop.s deleted file mode 100644 index 2835a699f6..0000000000 --- a/asm/TRK_MINNOW_DOLPHIN/GCN/EXI2_DDH_GCN/main/ddh_cc_post_stop.s +++ /dev/null @@ -1,10 +0,0 @@ -lbl_803723F0: -/* 803723F0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 803723F4 7C 08 02 A6 */ mflr r0 -/* 803723F8 90 01 00 14 */ stw r0, 0x14(r1) -/* 803723FC 48 00 09 21 */ bl EXI2_Reserve -/* 80372400 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80372404 38 60 00 00 */ li r3, 0 -/* 80372408 7C 08 03 A6 */ mtlr r0 -/* 8037240C 38 21 00 10 */ addi r1, r1, 0x10 -/* 80372410 4E 80 00 20 */ blr diff --git a/asm/TRK_MINNOW_DOLPHIN/GCN/EXI2_DDH_GCN/main/ddh_cc_pre_continue.s b/asm/TRK_MINNOW_DOLPHIN/GCN/EXI2_DDH_GCN/main/ddh_cc_pre_continue.s deleted file mode 100644 index 00e7074f3c..0000000000 --- a/asm/TRK_MINNOW_DOLPHIN/GCN/EXI2_DDH_GCN/main/ddh_cc_pre_continue.s +++ /dev/null @@ -1,10 +0,0 @@ -lbl_80372414: -/* 80372414 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80372418 7C 08 02 A6 */ mflr r0 -/* 8037241C 90 01 00 14 */ stw r0, 0x14(r1) -/* 80372420 48 00 09 01 */ bl EXI2_Unreserve -/* 80372424 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80372428 38 60 00 00 */ li r3, 0 -/* 8037242C 7C 08 03 A6 */ mtlr r0 -/* 80372430 38 21 00 10 */ addi r1, r1, 0x10 -/* 80372434 4E 80 00 20 */ blr diff --git a/asm/TRK_MINNOW_DOLPHIN/GCN/EXI2_GDEV_GCN/main/gdev_cc_initinterrupts.s b/asm/TRK_MINNOW_DOLPHIN/GCN/EXI2_GDEV_GCN/main/gdev_cc_initinterrupts.s deleted file mode 100644 index b48643919e..0000000000 --- a/asm/TRK_MINNOW_DOLPHIN/GCN/EXI2_GDEV_GCN/main/gdev_cc_initinterrupts.s +++ /dev/null @@ -1,10 +0,0 @@ -lbl_80372908: -/* 80372908 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8037290C 7C 08 02 A6 */ mflr r0 -/* 80372910 90 01 00 14 */ stw r0, 0x14(r1) -/* 80372914 48 00 07 A9 */ bl DBInitInterrupts -/* 80372918 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8037291C 38 60 00 00 */ li r3, 0 -/* 80372920 7C 08 03 A6 */ mtlr r0 -/* 80372924 38 21 00 10 */ addi r1, r1, 0x10 -/* 80372928 4E 80 00 20 */ blr diff --git a/asm/TRK_MINNOW_DOLPHIN/GCN/EXI2_GDEV_GCN/main/gdev_cc_open.s b/asm/TRK_MINNOW_DOLPHIN/GCN/EXI2_GDEV_GCN/main/gdev_cc_open.s deleted file mode 100644 index d579d3a4d4..0000000000 --- a/asm/TRK_MINNOW_DOLPHIN/GCN/EXI2_GDEV_GCN/main/gdev_cc_open.s +++ /dev/null @@ -1,11 +0,0 @@ -lbl_80372BA0: -/* 80372BA0 80 0D 94 48 */ lwz r0, gIsInitialized(r13) -/* 80372BA4 2C 00 00 00 */ cmpwi r0, 0 -/* 80372BA8 41 82 00 0C */ beq lbl_80372BB4 -/* 80372BAC 38 60 D8 EB */ li r3, -10005 -/* 80372BB0 4E 80 00 20 */ blr -lbl_80372BB4: -/* 80372BB4 38 00 00 01 */ li r0, 1 -/* 80372BB8 38 60 00 00 */ li r3, 0 -/* 80372BBC 90 0D 94 48 */ stw r0, gIsInitialized(r13) -/* 80372BC0 4E 80 00 20 */ blr diff --git a/asm/TRK_MINNOW_DOLPHIN/GCN/EXI2_GDEV_GCN/main/gdev_cc_post_stop.s b/asm/TRK_MINNOW_DOLPHIN/GCN/EXI2_GDEV_GCN/main/gdev_cc_post_stop.s deleted file mode 100644 index b6ed4dda90..0000000000 --- a/asm/TRK_MINNOW_DOLPHIN/GCN/EXI2_GDEV_GCN/main/gdev_cc_post_stop.s +++ /dev/null @@ -1,10 +0,0 @@ -lbl_8037299C: -/* 8037299C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 803729A0 7C 08 02 A6 */ mflr r0 -/* 803729A4 90 01 00 14 */ stw r0, 0x14(r1) -/* 803729A8 48 00 03 89 */ bl DBOpen -/* 803729AC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 803729B0 38 60 00 00 */ li r3, 0 -/* 803729B4 7C 08 03 A6 */ mtlr r0 -/* 803729B8 38 21 00 10 */ addi r1, r1, 0x10 -/* 803729BC 4E 80 00 20 */ blr diff --git a/asm/TRK_MINNOW_DOLPHIN/GCN/EXI2_GDEV_GCN/main/gdev_cc_pre_continue.s b/asm/TRK_MINNOW_DOLPHIN/GCN/EXI2_GDEV_GCN/main/gdev_cc_pre_continue.s deleted file mode 100644 index 2385f62506..0000000000 --- a/asm/TRK_MINNOW_DOLPHIN/GCN/EXI2_GDEV_GCN/main/gdev_cc_pre_continue.s +++ /dev/null @@ -1,10 +0,0 @@ -lbl_803729C0: -/* 803729C0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 803729C4 7C 08 02 A6 */ mflr r0 -/* 803729C8 90 01 00 14 */ stw r0, 0x14(r1) -/* 803729CC 48 00 03 61 */ bl DBClose -/* 803729D0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 803729D4 38 60 00 00 */ li r3, 0 -/* 803729D8 7C 08 03 A6 */ mtlr r0 -/* 803729DC 38 21 00 10 */ addi r1, r1, 0x10 -/* 803729E0 4E 80 00 20 */ blr diff --git a/asm/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/msghndlr/GetTRKConnected.s b/asm/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/msghndlr/GetTRKConnected.s deleted file mode 100644 index 0632f8eedf..0000000000 --- a/asm/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/msghndlr/GetTRKConnected.s +++ /dev/null @@ -1,5 +0,0 @@ -lbl_8036ECCC: -/* 8036ECCC 3C 60 80 45 */ lis r3, IsTRKConnected@ha /* 0x8044F288@ha */ -/* 8036ECD0 38 63 F2 88 */ addi r3, r3, IsTRKConnected@l /* 0x8044F288@l */ -/* 8036ECD4 80 63 00 00 */ lwz r3, 0(r3) -/* 8036ECD8 4E 80 00 20 */ blr diff --git a/asm/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/msghndlr/SetTRKConnected.s b/asm/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/msghndlr/SetTRKConnected.s deleted file mode 100644 index 54617bf884..0000000000 --- a/asm/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/msghndlr/SetTRKConnected.s +++ /dev/null @@ -1,4 +0,0 @@ -lbl_8036ECC0: -/* 8036ECC0 3C 80 80 45 */ lis r4, IsTRKConnected@ha /* 0x8044F288@ha */ -/* 8036ECC4 90 64 F2 88 */ stw r3, IsTRKConnected@l(r4) /* 0x8044F288@l */ -/* 8036ECC8 4E 80 00 20 */ blr diff --git a/asm/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/nubevent/TRKDestructEvent.s b/asm/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/nubevent/TRKDestructEvent.s deleted file mode 100644 index 9c85ccc352..0000000000 --- a/asm/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/nubevent/TRKDestructEvent.s +++ /dev/null @@ -1,10 +0,0 @@ -lbl_8036CC18: -/* 8036CC18 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8036CC1C 7C 08 02 A6 */ mflr r0 -/* 8036CC20 90 01 00 14 */ stw r0, 0x14(r1) -/* 8036CC24 80 63 00 08 */ lwz r3, 8(r3) -/* 8036CC28 48 00 0A 65 */ bl TRKReleaseBuffer -/* 8036CC2C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8036CC30 7C 08 03 A6 */ mtlr r0 -/* 8036CC34 38 21 00 10 */ addi r1, r1, 0x10 -/* 8036CC38 4E 80 00 20 */ blr diff --git a/asm/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/nubevent/TRKInitializeEventQueue.s b/asm/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/nubevent/TRKInitializeEventQueue.s deleted file mode 100644 index 9508ad7658..0000000000 --- a/asm/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/nubevent/TRKInitializeEventQueue.s +++ /dev/null @@ -1,23 +0,0 @@ -lbl_8036CDE8: -/* 8036CDE8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8036CDEC 7C 08 02 A6 */ mflr r0 -/* 8036CDF0 3C 60 80 45 */ lis r3, gTRKEventQueue@ha /* 0x8044D890@ha */ -/* 8036CDF4 90 01 00 14 */ stw r0, 0x14(r1) -/* 8036CDF8 38 63 D8 90 */ addi r3, r3, gTRKEventQueue@l /* 0x8044D890@l */ -/* 8036CDFC 48 00 26 AD */ bl TRKInitializeMutex -/* 8036CE00 3C 60 80 45 */ lis r3, gTRKEventQueue@ha /* 0x8044D890@ha */ -/* 8036CE04 38 63 D8 90 */ addi r3, r3, gTRKEventQueue@l /* 0x8044D890@l */ -/* 8036CE08 48 00 26 99 */ bl TRKAcquireMutex -/* 8036CE0C 3C 60 80 45 */ lis r3, gTRKEventQueue@ha /* 0x8044D890@ha */ -/* 8036CE10 38 80 00 00 */ li r4, 0 -/* 8036CE14 38 63 D8 90 */ addi r3, r3, gTRKEventQueue@l /* 0x8044D890@l */ -/* 8036CE18 38 00 01 00 */ li r0, 0x100 -/* 8036CE1C 90 83 00 04 */ stw r4, 4(r3) -/* 8036CE20 90 83 00 08 */ stw r4, 8(r3) -/* 8036CE24 90 03 00 24 */ stw r0, 0x24(r3) -/* 8036CE28 48 00 26 71 */ bl TRKReleaseMutex -/* 8036CE2C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8036CE30 38 60 00 00 */ li r3, 0 -/* 8036CE34 7C 08 03 A6 */ mtlr r0 -/* 8036CE38 38 21 00 10 */ addi r1, r1, 0x10 -/* 8036CE3C 4E 80 00 20 */ blr diff --git a/asm/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/nubinit/TRKTerminateNub.s b/asm/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/nubinit/TRKTerminateNub.s deleted file mode 100644 index a599ff252b..0000000000 --- a/asm/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/nubinit/TRKTerminateNub.s +++ /dev/null @@ -1,10 +0,0 @@ -lbl_8036CE68: -/* 8036CE68 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8036CE6C 7C 08 02 A6 */ mflr r0 -/* 8036CE70 90 01 00 14 */ stw r0, 0x14(r1) -/* 8036CE74 48 00 09 E5 */ bl TRKTerminateSerialHandler -/* 8036CE78 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8036CE7C 38 60 00 00 */ li r3, 0 -/* 8036CE80 7C 08 03 A6 */ mtlr r0 -/* 8036CE84 38 21 00 10 */ addi r1, r1, 0x10 -/* 8036CE88 4E 80 00 20 */ blr diff --git a/asm/TRK_MINNOW_DOLPHIN/Os/dolphin/dolphin_trk/EnableMetroTRKInterrupts.s b/asm/TRK_MINNOW_DOLPHIN/Os/dolphin/dolphin_trk/EnableMetroTRKInterrupts.s deleted file mode 100644 index 60f5d6f9cf..0000000000 --- a/asm/TRK_MINNOW_DOLPHIN/Os/dolphin/dolphin_trk/EnableMetroTRKInterrupts.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_80371B7C: -/* 80371B7C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80371B80 7C 08 02 A6 */ mflr r0 -/* 80371B84 90 01 00 14 */ stw r0, 0x14(r1) -/* 80371B88 48 00 02 89 */ bl EnableEXI2Interrupts -/* 80371B8C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80371B90 7C 08 03 A6 */ mtlr r0 -/* 80371B94 38 21 00 10 */ addi r1, r1, 0x10 -/* 80371B98 4E 80 00 20 */ blr diff --git a/asm/TRK_MINNOW_DOLPHIN/Os/dolphin/dolphin_trk/TRKInitializeTarget.s b/asm/TRK_MINNOW_DOLPHIN/Os/dolphin/dolphin_trk/TRKInitializeTarget.s deleted file mode 100644 index 6e4b9e9b9c..0000000000 --- a/asm/TRK_MINNOW_DOLPHIN/Os/dolphin/dolphin_trk/TRKInitializeTarget.s +++ /dev/null @@ -1,20 +0,0 @@ -lbl_803719AC: -/* 803719AC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 803719B0 7C 08 02 A6 */ mflr r0 -/* 803719B4 3C 60 80 45 */ lis r3, gTRKState@ha /* 0x8044F294@ha */ -/* 803719B8 90 01 00 14 */ stw r0, 0x14(r1) -/* 803719BC 38 00 00 01 */ li r0, 1 -/* 803719C0 38 63 F2 94 */ addi r3, r3, gTRKState@l /* 0x8044F294@l */ -/* 803719C4 90 03 00 98 */ stw r0, 0x98(r3) -/* 803719C8 4B FF DC 71 */ bl __TRK_get_MSR -/* 803719CC 3C A0 80 45 */ lis r5, gTRKState@ha /* 0x8044F294@ha */ -/* 803719D0 3C 80 80 45 */ lis r4, lc_base@ha /* 0x8044F810@ha */ -/* 803719D4 38 A5 F2 94 */ addi r5, r5, gTRKState@l /* 0x8044F294@l */ -/* 803719D8 3C 00 E0 00 */ lis r0, 0xe000 -/* 803719DC 90 65 00 8C */ stw r3, 0x8c(r5) -/* 803719E0 38 60 00 00 */ li r3, 0 -/* 803719E4 90 04 F8 10 */ stw r0, lc_base@l(r4) /* 0x8044F810@l */ -/* 803719E8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 803719EC 7C 08 03 A6 */ mtlr r0 -/* 803719F0 38 21 00 10 */ addi r1, r1, 0x10 -/* 803719F4 4E 80 00 20 */ blr diff --git a/asm/TRK_MINNOW_DOLPHIN/Os/dolphin/dolphin_trk/TRKTargetTranslate.s b/asm/TRK_MINNOW_DOLPHIN/Os/dolphin/dolphin_trk/TRKTargetTranslate.s deleted file mode 100644 index 0df6d57f9f..0000000000 --- a/asm/TRK_MINNOW_DOLPHIN/Os/dolphin/dolphin_trk/TRKTargetTranslate.s +++ /dev/null @@ -1,25 +0,0 @@ -lbl_80371B24: -/* 80371B24 3C 80 80 45 */ lis r4, lc_base@ha /* 0x8044F810@ha */ -/* 80371B28 38 84 F8 10 */ addi r4, r4, lc_base@l /* 0x8044F810@l */ -/* 80371B2C 80 84 00 00 */ lwz r4, 0(r4) -/* 80371B30 7C 03 20 40 */ cmplw r3, r4 -/* 80371B34 41 80 00 24 */ blt lbl_80371B58 -/* 80371B38 38 04 40 00 */ addi r0, r4, 0x4000 -/* 80371B3C 7C 03 00 40 */ cmplw r3, r0 -/* 80371B40 40 80 00 18 */ bge lbl_80371B58 -/* 80371B44 3C 80 80 45 */ lis r4, gTRKCPUState@ha /* 0x8044F338@ha */ -/* 80371B48 38 84 F3 38 */ addi r4, r4, gTRKCPUState@l /* 0x8044F338@l */ -/* 80371B4C 80 04 02 38 */ lwz r0, 0x238(r4) -/* 80371B50 54 00 07 BF */ clrlwi. r0, r0, 0x1e -/* 80371B54 4C 82 00 20 */ bnelr -lbl_80371B58: -/* 80371B58 3C 00 7E 00 */ lis r0, 0x7e00 -/* 80371B5C 7C 03 00 40 */ cmplw r3, r0 -/* 80371B60 41 80 00 10 */ blt lbl_80371B70 -/* 80371B64 3C 00 80 00 */ lis r0, 0x8000 -/* 80371B68 7C 03 00 40 */ cmplw r3, r0 -/* 80371B6C 4C 81 00 20 */ blelr -lbl_80371B70: -/* 80371B70 54 60 00 BE */ clrlwi r0, r3, 2 -/* 80371B74 64 03 80 00 */ oris r3, r0, 0x8000 -/* 80371B78 4E 80 00 20 */ blr diff --git a/asm/TRK_MINNOW_DOLPHIN/utils/common/CircleBuffer/CBGetBytesAvailableForRead.s b/asm/TRK_MINNOW_DOLPHIN/utils/common/CircleBuffer/CBGetBytesAvailableForRead.s deleted file mode 100644 index 554fb3750f..0000000000 --- a/asm/TRK_MINNOW_DOLPHIN/utils/common/CircleBuffer/CBGetBytesAvailableForRead.s +++ /dev/null @@ -1,3 +0,0 @@ -lbl_80372900: -/* 80372900 80 63 00 10 */ lwz r3, 0x10(r3) -/* 80372904 4E 80 00 20 */ blr diff --git a/asm/TRK_MINNOW_DOLPHIN/utils/common/CircleBuffer/CircleBufferInitialize.s b/asm/TRK_MINNOW_DOLPHIN/utils/common/CircleBuffer/CircleBufferInitialize.s deleted file mode 100644 index f4adbcbd9d..0000000000 --- a/asm/TRK_MINNOW_DOLPHIN/utils/common/CircleBuffer/CircleBufferInitialize.s +++ /dev/null @@ -1,21 +0,0 @@ -lbl_803728B0: -/* 803728B0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 803728B4 7C 08 02 A6 */ mflr r0 -/* 803728B8 7C 66 1B 78 */ mr r6, r3 -/* 803728BC 90 01 00 14 */ stw r0, 0x14(r1) -/* 803728C0 38 00 00 00 */ li r0, 0 -/* 803728C4 90 83 00 08 */ stw r4, 8(r3) -/* 803728C8 38 66 00 18 */ addi r3, r6, 0x18 -/* 803728CC 90 A6 00 0C */ stw r5, 0xc(r6) -/* 803728D0 80 86 00 08 */ lwz r4, 8(r6) -/* 803728D4 90 86 00 00 */ stw r4, 0(r6) -/* 803728D8 80 86 00 08 */ lwz r4, 8(r6) -/* 803728DC 90 86 00 04 */ stw r4, 4(r6) -/* 803728E0 90 06 00 10 */ stw r0, 0x10(r6) -/* 803728E4 80 06 00 0C */ lwz r0, 0xc(r6) -/* 803728E8 90 06 00 14 */ stw r0, 0x14(r6) -/* 803728EC 48 00 04 0D */ bl MWInitializeCriticalSection -/* 803728F0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 803728F4 7C 08 03 A6 */ mtlr r0 -/* 803728F8 38 21 00 10 */ addi r1, r1, 0x10 -/* 803728FC 4E 80 00 20 */ blr diff --git a/asm/TRK_MINNOW_DOLPHIN/utils/common/CircleBuffer/CircleBufferReadBytes.s b/asm/TRK_MINNOW_DOLPHIN/utils/common/CircleBuffer/CircleBufferReadBytes.s deleted file mode 100644 index 542fdc5a64..0000000000 --- a/asm/TRK_MINNOW_DOLPHIN/utils/common/CircleBuffer/CircleBufferReadBytes.s +++ /dev/null @@ -1,72 +0,0 @@ -lbl_803726A0: -/* 803726A0 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 803726A4 7C 08 02 A6 */ mflr r0 -/* 803726A8 90 01 00 24 */ stw r0, 0x24(r1) -/* 803726AC 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 803726B0 7C BF 2B 78 */ mr r31, r5 -/* 803726B4 93 C1 00 18 */ stw r30, 0x18(r1) -/* 803726B8 7C 7E 1B 78 */ mr r30, r3 -/* 803726BC 93 A1 00 14 */ stw r29, 0x14(r1) -/* 803726C0 93 81 00 10 */ stw r28, 0x10(r1) -/* 803726C4 7C 9C 23 78 */ mr r28, r4 -/* 803726C8 80 03 00 10 */ lwz r0, 0x10(r3) -/* 803726CC 7C 1F 00 40 */ cmplw r31, r0 -/* 803726D0 40 81 00 0C */ ble lbl_803726DC -/* 803726D4 38 60 FF FF */ li r3, -1 -/* 803726D8 48 00 00 B0 */ b lbl_80372788 -lbl_803726DC: -/* 803726DC 38 7E 00 18 */ addi r3, r30, 0x18 -/* 803726E0 48 00 05 E9 */ bl MWEnterCriticalSection -/* 803726E4 80 7E 00 08 */ lwz r3, 8(r30) -/* 803726E8 80 9E 00 00 */ lwz r4, 0(r30) -/* 803726EC 80 1E 00 0C */ lwz r0, 0xc(r30) -/* 803726F0 7C 63 20 50 */ subf r3, r3, r4 -/* 803726F4 7F A3 00 50 */ subf r29, r3, r0 -/* 803726F8 7C 1F E8 40 */ cmplw r31, r29 -/* 803726FC 40 80 00 20 */ bge lbl_8037271C -/* 80372700 7F 83 E3 78 */ mr r3, r28 -/* 80372704 7F E5 FB 78 */ mr r5, r31 -/* 80372708 4B C9 0E 39 */ bl memcpy -/* 8037270C 80 1E 00 00 */ lwz r0, 0(r30) -/* 80372710 7C 00 FA 14 */ add r0, r0, r31 -/* 80372714 90 1E 00 00 */ stw r0, 0(r30) -/* 80372718 48 00 00 30 */ b lbl_80372748 -lbl_8037271C: -/* 8037271C 7F 83 E3 78 */ mr r3, r28 -/* 80372720 7F A5 EB 78 */ mr r5, r29 -/* 80372724 4B C9 0E 1D */ bl memcpy -/* 80372728 80 9E 00 08 */ lwz r4, 8(r30) -/* 8037272C 7C 7C EA 14 */ add r3, r28, r29 -/* 80372730 7C BD F8 50 */ subf r5, r29, r31 -/* 80372734 4B C9 0E 0D */ bl memcpy -/* 80372738 80 1E 00 08 */ lwz r0, 8(r30) -/* 8037273C 7C 00 FA 14 */ add r0, r0, r31 -/* 80372740 7C 1D 00 50 */ subf r0, r29, r0 -/* 80372744 90 1E 00 00 */ stw r0, 0(r30) -lbl_80372748: -/* 80372748 80 9E 00 08 */ lwz r4, 8(r30) -/* 8037274C 80 1E 00 00 */ lwz r0, 0(r30) -/* 80372750 80 7E 00 0C */ lwz r3, 0xc(r30) -/* 80372754 7C 04 00 50 */ subf r0, r4, r0 -/* 80372758 7C 03 00 40 */ cmplw r3, r0 -/* 8037275C 40 82 00 08 */ bne lbl_80372764 -/* 80372760 90 9E 00 00 */ stw r4, 0(r30) -lbl_80372764: -/* 80372764 80 1E 00 14 */ lwz r0, 0x14(r30) -/* 80372768 38 7E 00 18 */ addi r3, r30, 0x18 -/* 8037276C 7C 00 FA 14 */ add r0, r0, r31 -/* 80372770 90 1E 00 14 */ stw r0, 0x14(r30) -/* 80372774 80 1E 00 10 */ lwz r0, 0x10(r30) -/* 80372778 7C 1F 00 50 */ subf r0, r31, r0 -/* 8037277C 90 1E 00 10 */ stw r0, 0x10(r30) -/* 80372780 48 00 05 25 */ bl MWExitCriticalSection -/* 80372784 38 60 00 00 */ li r3, 0 -lbl_80372788: -/* 80372788 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8037278C 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 80372790 83 C1 00 18 */ lwz r30, 0x18(r1) -/* 80372794 83 A1 00 14 */ lwz r29, 0x14(r1) -/* 80372798 83 81 00 10 */ lwz r28, 0x10(r1) -/* 8037279C 7C 08 03 A6 */ mtlr r0 -/* 803727A0 38 21 00 20 */ addi r1, r1, 0x20 -/* 803727A4 4E 80 00 20 */ blr diff --git a/asm/TRK_MINNOW_DOLPHIN/utils/common/CircleBuffer/CircleBufferWriteBytes.s b/asm/TRK_MINNOW_DOLPHIN/utils/common/CircleBuffer/CircleBufferWriteBytes.s deleted file mode 100644 index 8aba9630c0..0000000000 --- a/asm/TRK_MINNOW_DOLPHIN/utils/common/CircleBuffer/CircleBufferWriteBytes.s +++ /dev/null @@ -1,72 +0,0 @@ -lbl_803727A8: -/* 803727A8 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 803727AC 7C 08 02 A6 */ mflr r0 -/* 803727B0 90 01 00 24 */ stw r0, 0x24(r1) -/* 803727B4 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 803727B8 7C BF 2B 78 */ mr r31, r5 -/* 803727BC 93 C1 00 18 */ stw r30, 0x18(r1) -/* 803727C0 7C 7E 1B 78 */ mr r30, r3 -/* 803727C4 93 A1 00 14 */ stw r29, 0x14(r1) -/* 803727C8 93 81 00 10 */ stw r28, 0x10(r1) -/* 803727CC 7C 9C 23 78 */ mr r28, r4 -/* 803727D0 80 03 00 14 */ lwz r0, 0x14(r3) -/* 803727D4 7C 1F 00 40 */ cmplw r31, r0 -/* 803727D8 40 81 00 0C */ ble lbl_803727E4 -/* 803727DC 38 60 FF FF */ li r3, -1 -/* 803727E0 48 00 00 B0 */ b lbl_80372890 -lbl_803727E4: -/* 803727E4 38 7E 00 18 */ addi r3, r30, 0x18 -/* 803727E8 48 00 04 E1 */ bl MWEnterCriticalSection -/* 803727EC 80 9E 00 08 */ lwz r4, 8(r30) -/* 803727F0 80 7E 00 04 */ lwz r3, 4(r30) -/* 803727F4 80 1E 00 0C */ lwz r0, 0xc(r30) -/* 803727F8 7C 84 18 50 */ subf r4, r4, r3 -/* 803727FC 7F A4 00 50 */ subf r29, r4, r0 -/* 80372800 7C 1D F8 40 */ cmplw r29, r31 -/* 80372804 41 80 00 20 */ blt lbl_80372824 -/* 80372808 7F 84 E3 78 */ mr r4, r28 -/* 8037280C 7F E5 FB 78 */ mr r5, r31 -/* 80372810 4B C9 0D 31 */ bl memcpy -/* 80372814 80 1E 00 04 */ lwz r0, 4(r30) -/* 80372818 7C 00 FA 14 */ add r0, r0, r31 -/* 8037281C 90 1E 00 04 */ stw r0, 4(r30) -/* 80372820 48 00 00 30 */ b lbl_80372850 -lbl_80372824: -/* 80372824 7F 84 E3 78 */ mr r4, r28 -/* 80372828 7F A5 EB 78 */ mr r5, r29 -/* 8037282C 4B C9 0D 15 */ bl memcpy -/* 80372830 80 7E 00 08 */ lwz r3, 8(r30) -/* 80372834 7C 9C EA 14 */ add r4, r28, r29 -/* 80372838 7C BD F8 50 */ subf r5, r29, r31 -/* 8037283C 4B C9 0D 05 */ bl memcpy -/* 80372840 80 1E 00 08 */ lwz r0, 8(r30) -/* 80372844 7C 00 FA 14 */ add r0, r0, r31 -/* 80372848 7C 1D 00 50 */ subf r0, r29, r0 -/* 8037284C 90 1E 00 04 */ stw r0, 4(r30) -lbl_80372850: -/* 80372850 80 9E 00 08 */ lwz r4, 8(r30) -/* 80372854 80 1E 00 04 */ lwz r0, 4(r30) -/* 80372858 80 7E 00 0C */ lwz r3, 0xc(r30) -/* 8037285C 7C 04 00 50 */ subf r0, r4, r0 -/* 80372860 7C 03 00 40 */ cmplw r3, r0 -/* 80372864 40 82 00 08 */ bne lbl_8037286C -/* 80372868 90 9E 00 04 */ stw r4, 4(r30) -lbl_8037286C: -/* 8037286C 80 1E 00 14 */ lwz r0, 0x14(r30) -/* 80372870 38 7E 00 18 */ addi r3, r30, 0x18 -/* 80372874 7C 1F 00 50 */ subf r0, r31, r0 -/* 80372878 90 1E 00 14 */ stw r0, 0x14(r30) -/* 8037287C 80 1E 00 10 */ lwz r0, 0x10(r30) -/* 80372880 7C 00 FA 14 */ add r0, r0, r31 -/* 80372884 90 1E 00 10 */ stw r0, 0x10(r30) -/* 80372888 48 00 04 1D */ bl MWExitCriticalSection -/* 8037288C 38 60 00 00 */ li r3, 0 -lbl_80372890: -/* 80372890 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80372894 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 80372898 83 C1 00 18 */ lwz r30, 0x18(r1) -/* 8037289C 83 A1 00 14 */ lwz r29, 0x14(r1) -/* 803728A0 83 81 00 10 */ lwz r28, 0x10(r1) -/* 803728A4 7C 08 03 A6 */ mtlr r0 -/* 803728A8 38 21 00 20 */ addi r1, r1, 0x20 -/* 803728AC 4E 80 00 20 */ blr diff --git a/asm/TRK_MINNOW_DOLPHIN/utils/gc/MWCriticalSection_gc/MWEnterCriticalSection.s b/asm/TRK_MINNOW_DOLPHIN/utils/gc/MWCriticalSection_gc/MWEnterCriticalSection.s deleted file mode 100644 index ccf0f17aec..0000000000 --- a/asm/TRK_MINNOW_DOLPHIN/utils/gc/MWCriticalSection_gc/MWEnterCriticalSection.s +++ /dev/null @@ -1,13 +0,0 @@ -lbl_80372CC8: -/* 80372CC8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80372CCC 7C 08 02 A6 */ mflr r0 -/* 80372CD0 90 01 00 14 */ stw r0, 0x14(r1) -/* 80372CD4 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80372CD8 7C 7F 1B 78 */ mr r31, r3 -/* 80372CDC 4B FC AA 19 */ bl OSDisableInterrupts -/* 80372CE0 90 7F 00 00 */ stw r3, 0(r31) -/* 80372CE4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80372CE8 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80372CEC 7C 08 03 A6 */ mtlr r0 -/* 80372CF0 38 21 00 10 */ addi r1, r1, 0x10 -/* 80372CF4 4E 80 00 20 */ blr diff --git a/include/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/mutex_TRK.h b/include/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/mutex_TRK.h index d8863f3471..9139673dc8 100644 --- a/include/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/mutex_TRK.h +++ b/include/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/mutex_TRK.h @@ -3,4 +3,8 @@ #include "dolphin/types.h" +u8 TRKReleaseMutex(); +u8 TRKAcquireMutex(); +u8 TRKInitializeMutex(); + #endif /* METROTRK_PORTABLE_MUTEX_TRK_H */ diff --git a/include/TRK_MINNOW_DOLPHIN/Os/dolphin/target_options.h b/include/TRK_MINNOW_DOLPHIN/Os/dolphin/target_options.h index 9f18712d1d..2e81c94a79 100644 --- a/include/TRK_MINNOW_DOLPHIN/Os/dolphin/target_options.h +++ b/include/TRK_MINNOW_DOLPHIN/Os/dolphin/target_options.h @@ -3,4 +3,7 @@ #include "dolphin/types.h" +u8 GetUseSerialIO(); +void SetUseSerialIO(u8); + #endif /* OS_DOLPHIN_TARGET_OPTIONS_H */ diff --git a/include/TRK_MINNOW_DOLPHIN/utils/common/CircleBuffer.h b/include/TRK_MINNOW_DOLPHIN/utils/common/CircleBuffer.h index 7466d14694..72693ecc25 100644 --- a/include/TRK_MINNOW_DOLPHIN/utils/common/CircleBuffer.h +++ b/include/TRK_MINNOW_DOLPHIN/utils/common/CircleBuffer.h @@ -3,4 +3,19 @@ #include "dolphin/types.h" +typedef struct CircleBuffer { + int field_0x0; + int field_0x4; + int field_0x8; + u32 field_0xc; + s32 readBuf; + u32 field_0x14; + u32 criticalSection; +} CircleBuffer; + +s32 CircleBufferReadBytes(CircleBuffer*, u32, u32); +s32 CircleBufferWriteBytes(CircleBuffer* buf, s32 param_2, u32 param_3); +void CircleBufferInitialize(CircleBuffer* buf, s32 param_2, s32 param_3); +s32 CBGetBytesAvailableForRead(CircleBuffer* buf); + #endif /* UTILS_COMMON_CIRCLEBUFFER_H */ diff --git a/include/TRK_MINNOW_DOLPHIN/utils/gc/MWCriticalSection_gc.h b/include/TRK_MINNOW_DOLPHIN/utils/gc/MWCriticalSection_gc.h index d8b3c0a9a5..b019308355 100644 --- a/include/TRK_MINNOW_DOLPHIN/utils/gc/MWCriticalSection_gc.h +++ b/include/TRK_MINNOW_DOLPHIN/utils/gc/MWCriticalSection_gc.h @@ -3,4 +3,8 @@ #include "dolphin/types.h" +void MWExitCriticalSection(u32* section); +void MWEnterCriticalSection(u32* section); +void MWInitializeCriticalSection(); + #endif /* UTILS_GC_MWCRITICALSECTION_GC_H */ diff --git a/include/amcstubs/AmcExi2Stubs.h b/include/amcstubs/AmcExi2Stubs.h index 47cf965e4b..707b3022e3 100644 --- a/include/amcstubs/AmcExi2Stubs.h +++ b/include/amcstubs/AmcExi2Stubs.h @@ -3,4 +3,13 @@ #include "dolphin/types.h" +void EXI2_Init(void); +void EXI2_EnableInterrupts(void); +u8 EXI2_Poll(void); +u8 EXI2_ReadN(void*, u32); +u8 EXI2_WriteN(void*, u32); +void EXI2_Reserve(void); +void EXI2_Unreserve(void); +u8 AMC_IsStub(void); + #endif /* AMCEXI2STUBS_H */ diff --git a/libs/TRK_MINNOW_DOLPHIN/GCN/EXI2_DDH_GCN/main.c b/libs/TRK_MINNOW_DOLPHIN/GCN/EXI2_DDH_GCN/main.c index 6e85dc3925..41396b2698 100644 --- a/libs/TRK_MINNOW_DOLPHIN/GCN/EXI2_DDH_GCN/main.c +++ b/libs/TRK_MINNOW_DOLPHIN/GCN/EXI2_DDH_GCN/main.c @@ -4,6 +4,9 @@ // #include "TRK_MINNOW_DOLPHIN/GCN/EXI2_DDH_GCN/main.h" +#include "TRK_MINNOW_DOLPHIN/utils/common/CircleBuffer.h" +#include "TRK_MINNOW_DOLPHIN/utils/common/MWTrace.h" +#include "amcstubs/AmcExi2Stubs.h" #include "dol2asm.h" #include "dolphin/types.h" @@ -11,34 +14,17 @@ // Forward References: // -void ddh_cc_initinterrupts(); +int ddh_cc_initinterrupts(); void ddh_cc_peek(); -void ddh_cc_post_stop(); -void ddh_cc_pre_continue(); +int ddh_cc_post_stop(); +int ddh_cc_pre_continue(); void ddh_cc_write(); void ddh_cc_read(); u8 ddh_cc_close(); -void ddh_cc_open(); +s32 ddh_cc_open(); u8 ddh_cc_shutdown(); void ddh_cc_initialize(); -// -// External References: -// - -void CircleBufferReadBytes(); -void CircleBufferWriteBytes(); -void CircleBufferInitialize(); -void CBGetBytesAvailableForRead(); -void MWTRACE(); -void EXI2_Init(); -void EXI2_EnableInterrupts(); -u8 EXI2_Poll(); -u8 EXI2_ReadN(); -u8 EXI2_WriteN(); -void EXI2_Reserve(); -void EXI2_Unreserve(); - // // Declarations: // @@ -48,23 +34,19 @@ void EXI2_Unreserve(); static u8 gRecvBuf[2048]; /* 80450030-80450050 07CD50 001C+04 3/3 0/0 0/0 .bss gRecvCB */ -static u8 gRecvCB[28 + 4 /* padding */]; +static CircleBuffer gRecvCB; // copied from pikmin2. should try to find a real fix static makeMainBSSOrderingWork() { - u8 buff[0x500]; - memcpy(buff, gRecvBuf, 0x500); + u8 buff[0x500]; + memcpy(buff, gRecvBuf, 0x500); } /* 8037235C-80372380 36CC9C 0024+00 0/0 1/1 0/0 .text ddh_cc_initinterrupts */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void ddh_cc_initinterrupts() { - nofralloc -#include "asm/TRK_MINNOW_DOLPHIN/GCN/EXI2_DDH_GCN/main/ddh_cc_initinterrupts.s" +int ddh_cc_initinterrupts() { + EXI2_EnableInterrupts(); + return 0; } -#pragma pop /* 80372380-803723F0 36CCC0 0070+00 0/0 1/1 0/0 .text ddh_cc_peek */ #pragma push @@ -77,24 +59,16 @@ asm void ddh_cc_peek() { #pragma pop /* 803723F0-80372414 36CD30 0024+00 0/0 1/1 0/0 .text ddh_cc_post_stop */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void ddh_cc_post_stop() { - nofralloc -#include "asm/TRK_MINNOW_DOLPHIN/GCN/EXI2_DDH_GCN/main/ddh_cc_post_stop.s" +int ddh_cc_post_stop() { + EXI2_Reserve(); + return 0; } -#pragma pop /* 80372414-80372438 36CD54 0024+00 0/0 1/1 0/0 .text ddh_cc_pre_continue */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void ddh_cc_pre_continue() { - nofralloc -#include "asm/TRK_MINNOW_DOLPHIN/GCN/EXI2_DDH_GCN/main/ddh_cc_pre_continue.s" +int ddh_cc_pre_continue() { + EXI2_Unreserve(); + return 0; } -#pragma pop /* ############################################################################################## */ /* 803A2D10-803A2D24 02F370 0014+00 1/1 0/0 0/0 .rodata @318 */ @@ -116,7 +90,7 @@ COMPILER_STRIP_GATE(0x803A2D50, &lit_320); #pragma pop /* 804519C0-804519C8 000EC0 0004+04 3/3 0/0 0/0 .sbss gIsInitialized */ -static u8 gIsInitialized[4 + 4 /* padding */]; +static BOOL gIsInitialized; /* 80372438-803724F8 36CD78 00C0+00 0/0 1/1 0/0 .text ddh_cc_write */ #pragma push @@ -153,14 +127,13 @@ u8 ddh_cc_close() { } /* 803725EC-80372610 36CF2C 0024+00 0/0 1/1 0/0 .text ddh_cc_open */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void ddh_cc_open() { - nofralloc -#include "asm/TRK_MINNOW_DOLPHIN/GCN/EXI2_DDH_GCN/main/ddh_cc_open.s" +s32 ddh_cc_open() { + if (gIsInitialized != FALSE) { + return -10005; + } + gIsInitialized = TRUE; + return 0; } -#pragma pop /* 80372610-80372618 36CF50 0008+00 0/0 1/1 0/0 .text ddh_cc_shutdown */ u8 ddh_cc_shutdown() { diff --git a/libs/TRK_MINNOW_DOLPHIN/GCN/EXI2_GDEV_GCN/main.c b/libs/TRK_MINNOW_DOLPHIN/GCN/EXI2_GDEV_GCN/main.c index d1d349c3ca..7e010d1ead 100644 --- a/libs/TRK_MINNOW_DOLPHIN/GCN/EXI2_GDEV_GCN/main.c +++ b/libs/TRK_MINNOW_DOLPHIN/GCN/EXI2_GDEV_GCN/main.c @@ -4,6 +4,7 @@ // #include "TRK_MINNOW_DOLPHIN/GCN/EXI2_GDEV_GCN/main.h" +#include "TRK_MINNOW_DOLPHIN/utils/common/CircleBuffer.h" #include "dol2asm.h" #include "dolphin/types.h" @@ -11,14 +12,14 @@ // Forward References: // -void gdev_cc_initinterrupts(); +u8 gdev_cc_initinterrupts(); void gdev_cc_peek(); -void gdev_cc_post_stop(); -void gdev_cc_pre_continue(); +u8 gdev_cc_post_stop(); +u8 gdev_cc_pre_continue(); void gdev_cc_write(); void gdev_cc_read(); u8 gdev_cc_close(); -void gdev_cc_open(); +s32 gdev_cc_open(); u8 gdev_cc_shutdown(); void gdev_cc_initialize(); @@ -26,16 +27,12 @@ void gdev_cc_initialize(); // External References: // -void CircleBufferReadBytes(); -void CircleBufferWriteBytes(); -void CircleBufferInitialize(); -void CBGetBytesAvailableForRead(); void MWTRACE(); void DBClose(); void DBOpen(); void DBWrite(); -void DBRead(); -void DBQueryData(); +int DBRead(); +int DBQueryData(); void DBInitInterrupts(); void DBInitComm(); @@ -48,23 +45,19 @@ void DBInitComm(); static u8 gRecvBuf[1280]; /* 80450550-8045056C 07D270 001C+00 3/3 0/0 0/0 .bss gRecvCB */ -static u8 gRecvCB[28]; +static CircleBuffer gRecvCB; // copied from pikmin2. should try to find a real fix static makeMainBSSOrderingWork() { - u8 buff[0x500]; - memcpy(buff, gRecvBuf, 0x500); + u8 buff[0x500]; + memcpy(buff, gRecvBuf, 0x500); } /* 80372908-8037292C 36D248 0024+00 0/0 1/1 0/0 .text gdev_cc_initinterrupts */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void gdev_cc_initinterrupts() { - nofralloc -#include "asm/TRK_MINNOW_DOLPHIN/GCN/EXI2_GDEV_GCN/main/gdev_cc_initinterrupts.s" +u8 gdev_cc_initinterrupts() { + DBInitInterrupts(); + return 0; } -#pragma pop /* 8037292C-8037299C 36D26C 0070+00 0/0 1/1 0/0 .text gdev_cc_peek */ #pragma push @@ -77,24 +70,16 @@ asm void gdev_cc_peek() { #pragma pop /* 8037299C-803729C0 36D2DC 0024+00 0/0 1/1 0/0 .text gdev_cc_post_stop */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void gdev_cc_post_stop() { - nofralloc -#include "asm/TRK_MINNOW_DOLPHIN/GCN/EXI2_GDEV_GCN/main/gdev_cc_post_stop.s" +u8 gdev_cc_post_stop() { + DBOpen(); + return 0; } -#pragma pop /* 803729C0-803729E4 36D300 0024+00 0/0 1/1 0/0 .text gdev_cc_pre_continue */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void gdev_cc_pre_continue() { - nofralloc -#include "asm/TRK_MINNOW_DOLPHIN/GCN/EXI2_GDEV_GCN/main/gdev_cc_pre_continue.s" +u8 gdev_cc_pre_continue() { + DBClose(); + return 0; } -#pragma pop /* ############################################################################################## */ /* 803A2DF0-803A2E04 02F450 0014+00 1/1 0/0 0/0 .rodata @318 */ @@ -116,7 +101,7 @@ COMPILER_STRIP_GATE(0x803A2E30, &lit_320); #pragma pop /* 804519C8-804519D0 000EC8 0004+04 3/3 0/0 0/0 .sbss gIsInitialized */ -static u8 gIsInitialized[4 + 4 /* padding */]; +static BOOL gIsInitialized; /* 803729E4-80372AA4 36D324 00C0+00 0/0 1/1 0/0 .text gdev_cc_write */ #pragma push @@ -153,14 +138,13 @@ u8 gdev_cc_close() { } /* 80372BA0-80372BC4 36D4E0 0024+00 0/0 1/1 0/0 .text gdev_cc_open */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void gdev_cc_open() { - nofralloc -#include "asm/TRK_MINNOW_DOLPHIN/GCN/EXI2_GDEV_GCN/main/gdev_cc_open.s" +s32 gdev_cc_open() { + if (gIsInitialized != FALSE) { + return -10005; + } + gIsInitialized = TRUE; + return 0; } -#pragma pop /* 80372BC4-80372BCC 36D504 0008+00 0/0 1/1 0/0 .text gdev_cc_shutdown */ u8 gdev_cc_shutdown() { diff --git a/libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/msghndlr.c b/libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/msghndlr.c index 0dc5b184d1..3ea7dc70cc 100644 --- a/libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/msghndlr.c +++ b/libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/msghndlr.c @@ -268,7 +268,7 @@ asm s32 TRKDoReset(TRKBuffer*) { /* ############################################################################################## */ /* 8044F288-8044F290 07BFA8 0004+04 4/4 0/0 0/0 .bss IsTRKConnected */ -SECTION_BSS static u8 IsTRKConnected[4 + 4 /* padding */]; +SECTION_BSS static BOOL IsTRKConnected; /* 8036EBE4-8036EC5C 369524 0078+00 0/0 1/1 0/0 .text TRKDoDisconnect */ #pragma push @@ -291,24 +291,14 @@ asm s32 TRKDoConnect(TRKBuffer*) { #pragma pop /* 8036ECC0-8036ECCC 369600 000C+00 0/0 1/1 0/0 .text SetTRKConnected */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void SetTRKConnected(BOOL) { - nofralloc -#include "asm/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/msghndlr/SetTRKConnected.s" +void SetTRKConnected(BOOL isTRKConnected) { + IsTRKConnected = isTRKConnected; } -#pragma pop /* 8036ECCC-8036ECDC 36960C 0010+00 0/0 3/3 0/0 .text GetTRKConnected */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm BOOL GetTRKConnected(void) { - nofralloc -#include "asm/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/msghndlr/GetTRKConnected.s" +BOOL GetTRKConnected(void) { + return IsTRKConnected; } -#pragma pop /* ############################################################################################## */ /* 803A2AAC-803A2AB4 02F10C 0006+02 1/1 0/0 0/0 .rodata @573 */ diff --git a/libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/nubevent.c b/libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/nubevent.c index b812ae39b2..8e486537ba 100644 --- a/libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/nubevent.c +++ b/libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/nubevent.c @@ -4,6 +4,8 @@ // #include "TRK_MINNOW_DOLPHIN/MetroTRK/Portable/nubevent.h" +#include "TRK_MINNOW_DOLPHIN/MetroTRK/Portable/msgbuf.h" +#include "TRK_MINNOW_DOLPHIN/MetroTRK/Portable/mutex_TRK.h" #include "dol2asm.h" #include "dolphin/types.h" @@ -15,7 +17,7 @@ void TRKDestructEvent(); void TRKConstructEvent(); void TRKPostEvent(); void TRKGetNextEvent(); -void TRKInitializeEventQueue(); +u8 TRKInitializeEventQueue(); // // External References: @@ -23,23 +25,15 @@ void TRKInitializeEventQueue(); SECTION_INIT void TRK_memcpy(); void TRKReleaseBuffer(); -u8 TRKReleaseMutex(); -u8 TRKAcquireMutex(); -u8 TRKInitializeMutex(); // // Declarations: // /* 8036CC18-8036CC3C 367558 0024+00 0/0 1/1 0/0 .text TRKDestructEvent */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void TRKDestructEvent() { - nofralloc -#include "asm/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/nubevent/TRKDestructEvent.s" +void TRKDestructEvent(TRKBuffer* buf) { + TRKReleaseBuffer(buf->_08); } -#pragma pop /* 8036CC3C-8036CC54 36757C 0018+00 0/0 5/5 0/0 .text TRKConstructEvent */ #pragma push @@ -53,7 +47,7 @@ asm void TRKConstructEvent() { /* ############################################################################################## */ /* 8044D890-8044D8B8 07A5B0 0028+00 3/3 0/0 0/0 .bss gTRKEventQueue */ -static u8 gTRKEventQueue[40]; +static s32 gTRKEventQueue[10]; /* 8036CC54-8036CD34 367594 00E0+00 0/0 5/5 0/0 .text TRKPostEvent */ #pragma push @@ -76,11 +70,12 @@ asm void TRKGetNextEvent() { #pragma pop /* 8036CDE8-8036CE40 367728 0058+00 0/0 1/1 0/0 .text TRKInitializeEventQueue */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void TRKInitializeEventQueue() { - nofralloc -#include "asm/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/nubevent/TRKInitializeEventQueue.s" +u8 TRKInitializeEventQueue() { + TRKInitializeMutex(&gTRKEventQueue); + TRKAcquireMutex(&gTRKEventQueue); + gTRKEventQueue[1] = 0; + gTRKEventQueue[2] = 0; + gTRKEventQueue[9] = 0x100; + TRKReleaseMutex(); + return 0; } -#pragma pop diff --git a/libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/nubinit.c b/libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/nubinit.c index 5ccaf088b6..7ebb145e56 100644 --- a/libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/nubinit.c +++ b/libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/nubinit.c @@ -20,7 +20,7 @@ u8 TRKInitializeDispatcher(); void TRKTargetSetInputPendingPtr(); void TRKInitializeTarget(); void InitializeProgramEndTrap(); -void TRK_board_display(); +void TRK_board_display(const char*); void TRKInitializeIntDrivenUART(); void MWTRACE(); extern u8 gTRKInputPendingPtr[4 + 4 /* padding */]; @@ -45,14 +45,10 @@ asm void TRKNubWelcome(void) { #pragma pop /* 8036CE68-8036CE8C 3677A8 0024+00 0/0 1/1 0/0 .text TRKTerminateNub */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm s32 TRKTerminateNub(void) { - nofralloc -#include "asm/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/nubinit/TRKTerminateNub.s" +s32 TRKTerminateNub(void) { + TRKTerminateSerialHandler(); + return 0; } -#pragma pop /* ############################################################################################## */ /* 803A26A4-803A26B8 02ED04 0010+04 1/1 0/0 0/0 .rodata @154 */ @@ -60,8 +56,8 @@ SECTION_RODATA static char const lit_154[] = "Initialize NUB\n"; COMPILER_STRIP_GATE(0x803A26A4, &lit_154); /* 8044D8B8-8044D8C0 07A5D8 0004+04 1/1 4/4 0/0 .bss gTRKBigEndian */ -SECTION_BSS extern u8 gTRKBigEndian[4 + 4 /* padding */]; -SECTION_BSS u8 gTRKBigEndian[4 + 4 /* padding */]; +SECTION_BSS extern BOOL gTRKBigEndian; +SECTION_BSS BOOL gTRKBigEndian; /* 8036CE8C-8036CFD8 3677CC 014C+00 0/0 1/1 0/0 .text TRKInitializeNub */ #pragma push diff --git a/libs/TRK_MINNOW_DOLPHIN/Os/dolphin/dolphin_trk.c b/libs/TRK_MINNOW_DOLPHIN/Os/dolphin/dolphin_trk.c index c65da3b2b7..f0f94d0809 100644 --- a/libs/TRK_MINNOW_DOLPHIN/Os/dolphin/dolphin_trk.c +++ b/libs/TRK_MINNOW_DOLPHIN/Os/dolphin/dolphin_trk.c @@ -4,6 +4,7 @@ // #include "TRK_MINNOW_DOLPHIN/Os/dolphin/dolphin_trk.h" +#include "TRK_MINNOW_DOLPHIN/ppc/Generic/targimpl.h" #include "dol2asm.h" #include "dolphin/types.h" @@ -15,9 +16,9 @@ void InitMetroTRK(); void InitMetroTRK_BBA(); void TRK__write_aram(); void TRK__read_aram(); -void TRKInitializeTarget(); +int TRKInitializeTarget(); void __TRK_copy_vectors(); -void TRKTargetTranslate(); +u32 TRKTargetTranslate(); void EnableMetroTRKInterrupts(); // @@ -31,20 +32,19 @@ void ARStartDMA(); void __ARClearInterrupt(); void __ARGetInterruptStatus(); void TRK_flush_cache(); -void __TRK_get_MSR(); void TRKSaveExtended1Block(); void TRK_main(); void EnableEXI2Interrupts(); void InitMetroTRKCommTable(); -extern u8 gTRKState[164]; -extern u8 gTRKCPUState[1072]; +extern u32 gTRKState[41]; +extern u32 gTRKCPUState[268]; void regist__9daBgObj_cFP4dBgW(); // // Declarations: // -/* 80371560-803715F8 36BEA0 0098+00 0/0 1/1 0/0 .text InitMetroTRK */ +/* 80371560-803715F8 36BEA0 0098+00 0/0 1/1 0/0 .text InitMetroTRK */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -86,17 +86,15 @@ asm void TRK__read_aram() { /* ############################################################################################## */ /* 8044F810-8044F818 07C530 0004+04 3/3 0/0 0/0 .bss lc_base */ -SECTION_BSS static u8 lc_base[4 + 4 /* padding */]; +SECTION_BSS static u32 lc_base[1 + 1 /*padding*/]; -/* 803719AC-803719F8 36C2EC 004C+00 0/0 1/1 0/0 .text TRKInitializeTarget */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void TRKInitializeTarget() { - nofralloc -#include "asm/TRK_MINNOW_DOLPHIN/Os/dolphin/dolphin_trk/TRKInitializeTarget.s" +/* 803719AC-803719F8 36C2EC 004C+00 0/0 1/1 0/0 .text TRKInitializeTarget */ +int TRKInitializeTarget() { + gTRKState[38] = 1; + gTRKState[35] = __TRK_get_MSR(); + *lc_base = 0xE0000000; + return 0; } -#pragma pop /* ############################################################################################## */ /* 803D3268-803D32A8 030388 003C+04 1/1 0/0 0/0 .data TRK_ISR_OFFSETS */ @@ -179,21 +177,19 @@ asm void __TRK_copy_vectors() { #pragma pop /* 80371B24-80371B7C 36C464 0058+00 0/0 1/1 0/0 .text TRKTargetTranslate */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void TRKTargetTranslate() { - nofralloc -#include "asm/TRK_MINNOW_DOLPHIN/Os/dolphin/dolphin_trk/TRKTargetTranslate.s" +u32 TRKTargetTranslate(u32 param_0) { + if (param_0 >= *lc_base) { + if ((param_0 < *lc_base + 0x4000) && ((gTRKCPUState[142] & 3) != 0)) { + return param_0; + } + } + if ((0x7E000000 <= param_0) && (param_0 <= 0x80000000)) { + return param_0; + } + return param_0 & 0x3FFFFFFF | 0x80000000; } -#pragma pop -/* 80371B7C-80371B9C 36C4BC 0020+00 0/0 1/1 0/0 .text EnableMetroTRKInterrupts */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void EnableMetroTRKInterrupts() { - nofralloc -#include "asm/TRK_MINNOW_DOLPHIN/Os/dolphin/dolphin_trk/EnableMetroTRKInterrupts.s" +/* 80371B7C-80371B9C 36C4BC 0020+00 0/0 1/1 0/0 .text EnableMetroTRKInterrupts */ +void EnableMetroTRKInterrupts() { + EnableEXI2Interrupts(); } -#pragma pop diff --git a/libs/TRK_MINNOW_DOLPHIN/utils/common/CircleBuffer.c b/libs/TRK_MINNOW_DOLPHIN/utils/common/CircleBuffer.c index 593a601247..d8b43fe108 100644 --- a/libs/TRK_MINNOW_DOLPHIN/utils/common/CircleBuffer.c +++ b/libs/TRK_MINNOW_DOLPHIN/utils/common/CircleBuffer.c @@ -1,70 +1,78 @@ -// -// Generated By: dol2asm // Translation Unit: utils/common/CircleBuffer -// #include "TRK_MINNOW_DOLPHIN/utils/common/CircleBuffer.h" -#include "dol2asm.h" +#include "TRK_MINNOW_DOLPHIN/utils/gc/MWCriticalSection_gc.h" #include "dolphin/types.h" -// -// Forward References: -// - -void CircleBufferReadBytes(); -void CircleBufferWriteBytes(); -void CircleBufferInitialize(); -void CBGetBytesAvailableForRead(); - -// -// External References: -// - -SECTION_INIT void memcpy(); -void MWExitCriticalSection(); -void MWEnterCriticalSection(); -void MWInitializeCriticalSection(); - -// -// Declarations: -// - /* 803726A0-803727A8 36CFE0 0108+00 0/0 2/2 0/0 .text CircleBufferReadBytes */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void CircleBufferReadBytes() { - nofralloc -#include "asm/TRK_MINNOW_DOLPHIN/utils/common/CircleBuffer/CircleBufferReadBytes.s" +s32 CircleBufferReadBytes(CircleBuffer* buf, u32 param_2, u32 param_3) { + int temp; + if (param_3 > buf->readBuf) { + return -1; + } else { + MWEnterCriticalSection(&buf->criticalSection); + temp = buf->field_0xc - (buf->field_0x0 - buf->field_0x8); + if (param_3 < temp) { + memcpy(param_2, buf->field_0x0, param_3); + buf->field_0x0 += param_3; + } else { + memcpy(param_2, buf->field_0x0, temp); + memcpy(param_2 + temp, buf->field_0x8, param_3 - temp); + buf->field_0x0 = buf->field_0x8 + param_3 - temp; + } + + if (buf->field_0xc == (buf->field_0x0 - buf->field_0x8)) { + buf->field_0x0 = buf->field_0x8; + } + + buf->field_0x14 += param_3; + buf->readBuf -= param_3; + MWExitCriticalSection(&buf->criticalSection); + return 0; + } } -#pragma pop /* 803727A8-803728B0 36D0E8 0108+00 0/0 4/4 0/0 .text CircleBufferWriteBytes */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void CircleBufferWriteBytes() { - nofralloc -#include "asm/TRK_MINNOW_DOLPHIN/utils/common/CircleBuffer/CircleBufferWriteBytes.s" +s32 CircleBufferWriteBytes(CircleBuffer* buf, s32 param_2, u32 param_3) { + s32 temp; + + if (param_3 > buf->field_0x14) { + return -1; + } else { + MWEnterCriticalSection(&buf->criticalSection); + temp = buf->field_0xc - (buf->field_0x4 - buf->field_0x8); + if (temp >= param_3) { + memcpy(buf->field_0x4, param_2, param_3); + buf->field_0x4 += param_3; + } else { + memcpy(buf->field_0x4, param_2, temp); + memcpy(buf->field_0x8, param_2 + temp, param_3 - temp); + buf->field_0x4 = buf->field_0x8 + param_3 - temp; + } + + if (buf->field_0xc == (buf->field_0x4 - buf->field_0x8)) { + buf->field_0x4 = buf->field_0x8; + } + + buf->field_0x14 -= param_3; + buf->readBuf += param_3; + MWExitCriticalSection(&buf->criticalSection); + return 0; + } } -#pragma pop /* 803728B0-80372900 36D1F0 0050+00 0/0 2/2 0/0 .text CircleBufferInitialize */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void CircleBufferInitialize() { - nofralloc -#include "asm/TRK_MINNOW_DOLPHIN/utils/common/CircleBuffer/CircleBufferInitialize.s" +void CircleBufferInitialize(CircleBuffer* buf, s32 param_2, s32 param_3) { + buf->field_0x8 = param_2; + buf->field_0xc = param_3; + buf->field_0x0 = buf->field_0x8; + buf->field_0x4 = buf->field_0x8; + buf->readBuf = 0; + buf->field_0x14 = buf->field_0xc; + MWInitializeCriticalSection(&buf->criticalSection); } -#pragma pop /* 80372900-80372908 36D240 0008+00 0/0 2/2 0/0 .text CBGetBytesAvailableForRead */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void CBGetBytesAvailableForRead() { - nofralloc -#include "asm/TRK_MINNOW_DOLPHIN/utils/common/CircleBuffer/CBGetBytesAvailableForRead.s" +s32 CBGetBytesAvailableForRead(CircleBuffer* buf) { + return buf->readBuf; } -#pragma pop diff --git a/libs/TRK_MINNOW_DOLPHIN/utils/gc/MWCriticalSection_gc.c b/libs/TRK_MINNOW_DOLPHIN/utils/gc/MWCriticalSection_gc.c index 80fab2ebb7..8e3633acff 100644 --- a/libs/TRK_MINNOW_DOLPHIN/utils/gc/MWCriticalSection_gc.c +++ b/libs/TRK_MINNOW_DOLPHIN/utils/gc/MWCriticalSection_gc.c @@ -12,20 +12,9 @@ void MWExitCriticalSection(u32* section) { } /* 80372CC8-80372CF8 36D608 0030+00 0/0 2/2 0/0 .text MWEnterCriticalSection */ -#ifdef NONMATCHING void MWEnterCriticalSection(u32* section) { *section = OSDisableInterrupts(); } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void MWEnterCriticalSection(u32* section) { - nofralloc -#include "asm/TRK_MINNOW_DOLPHIN/utils/gc/MWCriticalSection_gc/MWEnterCriticalSection.s" -} -#pragma pop -#endif /* 80372CF8-80372CFC 36D638 0004+00 0/0 1/1 0/0 .text MWInitializeCriticalSection */ void MWInitializeCriticalSection() {} From 42420f390e735ba3671f089b180018b73f47b71e Mon Sep 17 00:00:00 2001 From: madeline Date: Wed, 31 May 2023 05:54:08 -0600 Subject: [PATCH 5/8] fix tp.py error report bug --- tools/tp.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/tp.py b/tools/tp.py index 250d6c7b67..9f8c7dd7ba 100644 --- a/tools/tp.py +++ b/tools/tp.py @@ -25,7 +25,7 @@ from pathlib import Path def _handle_import_error(ex: ImportError): MISSING_PREREQUISITES = ( - f"Missing prerequisite python module {e}.\n" + f"Missing prerequisite python module {ex}.\n" f"Run `python3 -m pip install --user -r tools/requirements.txt` to install prerequisites." ) From 7ad38862a5b3d1d9640ad6642d010cedf79ce4d5 Mon Sep 17 00:00:00 2001 From: hatal175 Date: Fri, 2 Jun 2023 23:28:29 +0300 Subject: [PATCH 6/8] d_shop_system, d_s_name, s_save_HIO (#343) * d_s_name OK * d_save_HIO ok * d_shop_system functions matching except sinit order issue --- Progress.md | 8 +- .../changeGameScene__10dScnName_cFv.s | 53 -- asm/d/s/d_s_name/create__10dScnName_cFv.s | 168 ----- .../__ct__22dSvBit_childOtherHIO_cFv.s | 17 - .../__ct__23dSvBit_childItZoneHIO_cFv.s | 15 - .../__ct__23dSvBit_childSwZoneHIO_cFv.s | 15 - .../__ct__25dSvBit_childDarknessHIO_cFv.s | 15 - .../__ct__26dSvBit_childItDungeonHIO_cFv.s | 15 - .../__ct__26dSvBit_childItOneZoneHIO_cFv.s | 15 - .../__ct__26dSvBit_childSwDungeonHIO_cFv.s | 15 - .../__ct__26dSvBit_childSwOneZoneHIO_cFv.s | 15 - .../__ct__26dSvBit_childTransformHIO_cFv.s | 15 - .../__ct__29dSvBit_childItPerfectionHIO_cFv.s | 15 - .../save/d_save_HIO/__dt__12dSvBit_HIO_cFv.s | 108 --- .../__dt__21dSvBit_childItemHIO_cFv.s | 45 -- .../__dt__22dSvBit_childOtherHIO_cFv.s | 20 - .../__dt__23dSvBit_childItZoneHIO_cFv.s | 20 - .../__dt__23dSvBit_childSwZoneHIO_cFv.s | 20 - .../__dt__23dSvBit_childSwitchHIO_cFv.s | 45 -- .../__dt__25dSvBit_childDarknessHIO_cFv.s | 20 - .../__dt__25dSvBit_childTreasureHIO_cFv.s | 27 - .../__dt__26dSvBit_childItDungeonHIO_cFv.s | 20 - .../__dt__26dSvBit_childItOneZoneHIO_cFv.s | 20 - .../__dt__26dSvBit_childSwDungeonHIO_cFv.s | 20 - .../__dt__26dSvBit_childSwOneZoneHIO_cFv.s | 20 - .../__dt__26dSvBit_childTransformHIO_cFv.s | 20 - .../__dt__29dSvBit_childItPerfectionHIO_cFv.s | 20 - .../__dt__29dSvBit_childSwPerfectionHIO_cFv.s | 20 - .../__dt__29dSvBit_childTbPerfectionHIO_cFv.s | 20 - .../save/d_save_HIO/__sinit_d_save_HIO_cpp.s | 65 -- .../save/d_save_HIO/init__12dSvBit_HIO_cFv.s | 42 -- .../init__22dSvBit_childOtherHIO_cFv.s | 34 - .../init__23dSvBit_childItZoneHIO_cFv.s | 13 - .../init__23dSvBit_childSwZoneHIO_cFv.s | 13 - .../init__25dSvBit_childDarknessHIO_cFv.s | 28 - .../init__26dSvBit_childItDungeonHIO_cFv.s | 28 - .../init__26dSvBit_childItOneZoneHIO_cFv.s | 13 - .../init__26dSvBit_childSwDungeonHIO_cFv.s | 28 - .../init__26dSvBit_childSwOneZoneHIO_cFv.s | 13 - .../init__26dSvBit_childTransformHIO_cFv.s | 28 - .../init__29dSvBit_childItPerfectionHIO_cFv.s | 28 - .../init__29dSvBit_childSwPerfectionHIO_cFv.s | 28 - .../init__29dSvBit_childTbPerfectionHIO_cFv.s | 28 - .../chooseItem3__13dShopSystem_cFUc.s | 396 ---------- .../chooseItem4__13dShopSystem_cFUc.s | 134 ---- .../chooseItem5__13dShopSystem_cFUc.s | 313 -------- .../initShopSystem__13dShopSystem_cFv.s | 114 --- .../itemZoom__13dShopSystem_cFP4cXyz.s | 442 ------------ .../moveCursor0__13dShopSystem_cFiUc.s | 176 ----- .../moveCursor1__13dShopSystem_cFiUc.s | 103 --- .../searchItemActor__13dShopSystem_cFv.s | 361 ---------- ...dShopSystem_cFP10fopAc_ac_cP10dMsgFlow_c.s | 104 --- ...dShopSystem_cFP10fopAc_ac_cP10dMsgFlow_c.s | 128 ---- ...dShopSystem_cFP10fopAc_ac_cP10dMsgFlow_c.s | 312 -------- ...dShopSystem_cFP10fopAc_ac_cP10dMsgFlow_c.s | 127 ---- ...dShopSystem_cFP10fopAc_ac_cP10dMsgFlow_c.s | 185 ----- ...dShopSystem_cFP10fopAc_ac_cP10dMsgFlow_c.s | 62 -- include/d/s/d_s_name.h | 43 ++ include/d/save/d_save_HIO.h | 91 ++- include/d/shop/d_shop_item_ctrl.h | 1 + include/d/shop/d_shop_system.h | 2 +- .../tag/d_a_tag_shop_item/d_a_tag_shop_item.h | 1 + src/d/s/d_s_name.cpp | 293 ++------ src/d/save/d_save_HIO.cpp | 676 ++++-------------- src/d/shop/d_shop_system.cpp | 406 ++++------- 65 files changed, 419 insertions(+), 5286 deletions(-) delete mode 100644 asm/d/s/d_s_name/changeGameScene__10dScnName_cFv.s delete mode 100644 asm/d/s/d_s_name/create__10dScnName_cFv.s delete mode 100644 asm/d/save/d_save_HIO/__ct__22dSvBit_childOtherHIO_cFv.s delete mode 100644 asm/d/save/d_save_HIO/__ct__23dSvBit_childItZoneHIO_cFv.s delete mode 100644 asm/d/save/d_save_HIO/__ct__23dSvBit_childSwZoneHIO_cFv.s delete mode 100644 asm/d/save/d_save_HIO/__ct__25dSvBit_childDarknessHIO_cFv.s delete mode 100644 asm/d/save/d_save_HIO/__ct__26dSvBit_childItDungeonHIO_cFv.s delete mode 100644 asm/d/save/d_save_HIO/__ct__26dSvBit_childItOneZoneHIO_cFv.s delete mode 100644 asm/d/save/d_save_HIO/__ct__26dSvBit_childSwDungeonHIO_cFv.s delete mode 100644 asm/d/save/d_save_HIO/__ct__26dSvBit_childSwOneZoneHIO_cFv.s delete mode 100644 asm/d/save/d_save_HIO/__ct__26dSvBit_childTransformHIO_cFv.s delete mode 100644 asm/d/save/d_save_HIO/__ct__29dSvBit_childItPerfectionHIO_cFv.s delete mode 100644 asm/d/save/d_save_HIO/__dt__12dSvBit_HIO_cFv.s delete mode 100644 asm/d/save/d_save_HIO/__dt__21dSvBit_childItemHIO_cFv.s delete mode 100644 asm/d/save/d_save_HIO/__dt__22dSvBit_childOtherHIO_cFv.s delete mode 100644 asm/d/save/d_save_HIO/__dt__23dSvBit_childItZoneHIO_cFv.s delete mode 100644 asm/d/save/d_save_HIO/__dt__23dSvBit_childSwZoneHIO_cFv.s delete mode 100644 asm/d/save/d_save_HIO/__dt__23dSvBit_childSwitchHIO_cFv.s delete mode 100644 asm/d/save/d_save_HIO/__dt__25dSvBit_childDarknessHIO_cFv.s delete mode 100644 asm/d/save/d_save_HIO/__dt__25dSvBit_childTreasureHIO_cFv.s delete mode 100644 asm/d/save/d_save_HIO/__dt__26dSvBit_childItDungeonHIO_cFv.s delete mode 100644 asm/d/save/d_save_HIO/__dt__26dSvBit_childItOneZoneHIO_cFv.s delete mode 100644 asm/d/save/d_save_HIO/__dt__26dSvBit_childSwDungeonHIO_cFv.s delete mode 100644 asm/d/save/d_save_HIO/__dt__26dSvBit_childSwOneZoneHIO_cFv.s delete mode 100644 asm/d/save/d_save_HIO/__dt__26dSvBit_childTransformHIO_cFv.s delete mode 100644 asm/d/save/d_save_HIO/__dt__29dSvBit_childItPerfectionHIO_cFv.s delete mode 100644 asm/d/save/d_save_HIO/__dt__29dSvBit_childSwPerfectionHIO_cFv.s delete mode 100644 asm/d/save/d_save_HIO/__dt__29dSvBit_childTbPerfectionHIO_cFv.s delete mode 100644 asm/d/save/d_save_HIO/__sinit_d_save_HIO_cpp.s delete mode 100644 asm/d/save/d_save_HIO/init__12dSvBit_HIO_cFv.s delete mode 100644 asm/d/save/d_save_HIO/init__22dSvBit_childOtherHIO_cFv.s delete mode 100644 asm/d/save/d_save_HIO/init__23dSvBit_childItZoneHIO_cFv.s delete mode 100644 asm/d/save/d_save_HIO/init__23dSvBit_childSwZoneHIO_cFv.s delete mode 100644 asm/d/save/d_save_HIO/init__25dSvBit_childDarknessHIO_cFv.s delete mode 100644 asm/d/save/d_save_HIO/init__26dSvBit_childItDungeonHIO_cFv.s delete mode 100644 asm/d/save/d_save_HIO/init__26dSvBit_childItOneZoneHIO_cFv.s delete mode 100644 asm/d/save/d_save_HIO/init__26dSvBit_childSwDungeonHIO_cFv.s delete mode 100644 asm/d/save/d_save_HIO/init__26dSvBit_childSwOneZoneHIO_cFv.s delete mode 100644 asm/d/save/d_save_HIO/init__26dSvBit_childTransformHIO_cFv.s delete mode 100644 asm/d/save/d_save_HIO/init__29dSvBit_childItPerfectionHIO_cFv.s delete mode 100644 asm/d/save/d_save_HIO/init__29dSvBit_childSwPerfectionHIO_cFv.s delete mode 100644 asm/d/save/d_save_HIO/init__29dSvBit_childTbPerfectionHIO_cFv.s delete mode 100644 asm/d/shop/d_shop_system/chooseItem3__13dShopSystem_cFUc.s delete mode 100644 asm/d/shop/d_shop_system/chooseItem4__13dShopSystem_cFUc.s delete mode 100644 asm/d/shop/d_shop_system/chooseItem5__13dShopSystem_cFUc.s delete mode 100644 asm/d/shop/d_shop_system/initShopSystem__13dShopSystem_cFv.s delete mode 100644 asm/d/shop/d_shop_system/itemZoom__13dShopSystem_cFP4cXyz.s delete mode 100644 asm/d/shop/d_shop_system/moveCursor0__13dShopSystem_cFiUc.s delete mode 100644 asm/d/shop/d_shop_system/moveCursor1__13dShopSystem_cFiUc.s delete mode 100644 asm/d/shop/d_shop_system/searchItemActor__13dShopSystem_cFv.s delete mode 100644 asm/d/shop/d_shop_system/seq_decide_yes__13dShopSystem_cFP10fopAc_ac_cP10dMsgFlow_c.s delete mode 100644 asm/d/shop/d_shop_system/seq_moving__13dShopSystem_cFP10fopAc_ac_cP10dMsgFlow_c.s delete mode 100644 asm/d/shop/d_shop_system/seq_select__13dShopSystem_cFP10fopAc_ac_cP10dMsgFlow_c.s delete mode 100644 asm/d/shop/d_shop_system/seq_select_start__13dShopSystem_cFP10fopAc_ac_cP10dMsgFlow_c.s delete mode 100644 asm/d/shop/d_shop_system/seq_start__13dShopSystem_cFP10fopAc_ac_cP10dMsgFlow_c.s delete mode 100644 asm/d/shop/d_shop_system/shop_process__13dShopSystem_cFP10fopAc_ac_cP10dMsgFlow_c.s diff --git a/Progress.md b/Progress.md index e6d82f9386..55df8fa4bd 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 | 26.904050% | 967616 | 3596544 +.text | 27.333351% | 983056 | 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 | 34.609936% | 1391552 | 4020672 +Total | 34.993951% | 1406992 | 4020672 ## Total Section | Percentage | Decompiled (bytes) | Total (bytes) ---|---|---|--- -main.dol | 34.609936% | 1391552 | 4020672 +main.dol | 34.993951% | 1406992 | 4020672 RELs | 33.600166% | 3864128 | 11500324 -Total | 33.861744% | 5255680 | 15520996 +Total | 33.961223% | 5271120 | 15520996 ## RELs diff --git a/asm/d/s/d_s_name/changeGameScene__10dScnName_cFv.s b/asm/d/s/d_s_name/changeGameScene__10dScnName_cFv.s deleted file mode 100644 index ab36a9279b..0000000000 --- a/asm/d/s/d_s_name/changeGameScene__10dScnName_cFv.s +++ /dev/null @@ -1,53 +0,0 @@ -lbl_802590F8: -/* 802590F8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802590FC 7C 08 02 A6 */ mflr r0 -/* 80259100 90 01 00 14 */ stw r0, 0x14(r1) -/* 80259104 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80259108 7C 7F 1B 78 */ mr r31, r3 -/* 8025910C 80 6D 86 F8 */ lwz r3, mResetData__6mDoRst(r13) -/* 80259110 80 03 00 00 */ lwz r0, 0(r3) -/* 80259114 2C 00 00 00 */ cmpwi r0, 0 -/* 80259118 40 82 00 94 */ bne lbl_802591AC -/* 8025911C 4B DC 54 3D */ bl fopOvlpM_IsPeek__Fv -/* 80259120 2C 03 00 00 */ cmpwi r3, 0 -/* 80259124 40 82 00 88 */ bne lbl_802591AC -/* 80259128 4B DD 58 4D */ bl dComIfGs_gameStart__Fv -/* 8025912C 7F E3 FB 78 */ mr r3, r31 -/* 80259130 88 1F 04 1F */ lbz r0, 0x41f(r31) -/* 80259134 28 00 00 00 */ cmplwi r0, 0 -/* 80259138 38 00 00 0B */ li r0, 0xb -/* 8025913C 7C 04 07 34 */ extsh r4, r0 -/* 80259140 38 A0 00 00 */ li r5, 0 -/* 80259144 38 C0 00 05 */ li r6, 5 -/* 80259148 4B DC 5B 99 */ bl fopScnM_ChangeReq__FP11scene_classssUs -/* 8025914C 38 00 00 00 */ li r0, 0 -/* 80259150 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80259154 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80259158 98 03 4E 1C */ stb r0, 0x4e1c(r3) -/* 8025915C 80 7F 04 14 */ lwz r3, 0x414(r31) -/* 80259160 88 03 02 65 */ lbz r0, 0x265(r3) -/* 80259164 7C 63 02 14 */ add r3, r3, r0 -/* 80259168 88 03 02 58 */ lbz r0, 0x258(r3) -/* 8025916C 2C 00 00 00 */ cmpwi r0, 0 -/* 80259170 41 82 00 20 */ beq lbl_80259190 -/* 80259174 3C 60 80 3A */ lis r3, d_s_d_s_name__stringBase0@ha /* 0x8039A2A8@ha */ -/* 80259178 38 63 A2 A8 */ addi r3, r3, d_s_d_s_name__stringBase0@l /* 0x8039A2A8@l */ -/* 8025917C 38 63 00 15 */ addi r3, r3, 0x15 -/* 80259180 38 80 00 15 */ li r4, 0x15 -/* 80259184 38 A0 00 01 */ li r5, 1 -/* 80259188 38 C0 00 0D */ li r6, 0xd -/* 8025918C 4B DD 43 C9 */ bl dComIfGp_setNextStage__FPCcsScSc -lbl_80259190: -/* 80259190 4B F4 60 D5 */ bl dKy_clear_game_init__Fv -/* 80259194 38 00 FF FF */ li r0, -1 -/* 80259198 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8025919C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 802591A0 98 03 09 78 */ stb r0, 0x978(r3) -/* 802591A4 38 00 00 00 */ li r0, 0 -/* 802591A8 90 03 0D C8 */ stw r0, 0xdc8(r3) -lbl_802591AC: -/* 802591AC 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802591B0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802591B4 7C 08 03 A6 */ mtlr r0 -/* 802591B8 38 21 00 10 */ addi r1, r1, 0x10 -/* 802591BC 4E 80 00 20 */ blr diff --git a/asm/d/s/d_s_name/create__10dScnName_cFv.s b/asm/d/s/d_s_name/create__10dScnName_cFv.s deleted file mode 100644 index a0e9b46fab..0000000000 --- a/asm/d/s/d_s_name/create__10dScnName_cFv.s +++ /dev/null @@ -1,168 +0,0 @@ -lbl_802588A0: -/* 802588A0 94 21 FF B0 */ stwu r1, -0x50(r1) -/* 802588A4 7C 08 02 A6 */ mflr r0 -/* 802588A8 90 01 00 54 */ stw r0, 0x54(r1) -/* 802588AC DB E1 00 40 */ stfd f31, 0x40(r1) -/* 802588B0 F3 E1 00 48 */ psq_st f31, 72(r1), 0, 0 /* qr0 */ -/* 802588B4 DB C1 00 30 */ stfd f30, 0x30(r1) -/* 802588B8 F3 C1 00 38 */ psq_st f30, 56(r1), 0, 0 /* qr0 */ -/* 802588BC 39 61 00 30 */ addi r11, r1, 0x30 -/* 802588C0 48 10 99 19 */ bl _savegpr_28 -/* 802588C4 7C 7D 1B 78 */ mr r29, r3 -/* 802588C8 38 7D 01 C4 */ addi r3, r29, 0x1c4 -/* 802588CC 3C 80 80 3A */ lis r4, d_s_d_s_name__stringBase0@ha /* 0x8039A2A8@ha */ -/* 802588D0 38 84 A2 A8 */ addi r4, r4, d_s_d_s_name__stringBase0@l /* 0x8039A2A8@l */ -/* 802588D4 38 84 00 0D */ addi r4, r4, 0xd -/* 802588D8 4B FF FF A1 */ bl resLoad__FP30request_of_phase_process_classPc -/* 802588DC 7C 7E 1B 78 */ mr r30, r3 -/* 802588E0 2C 1E 00 04 */ cmpwi r30, 4 -/* 802588E4 40 82 02 1C */ bne lbl_80258B00 -/* 802588E8 4B DB 64 69 */ bl mDoExt_getGameHeap__Fv -/* 802588EC 7C 64 1B 78 */ mr r4, r3 -/* 802588F0 3C 60 00 18 */ lis r3, 0x18 -/* 802588F4 38 A0 00 00 */ li r5, 0 -/* 802588F8 48 07 65 35 */ bl create__10JKRExpHeapFUlP7JKRHeapb -/* 802588FC 90 7D 01 CC */ stw r3, 0x1cc(r29) -/* 80258900 80 7D 01 CC */ lwz r3, 0x1cc(r29) -/* 80258904 4B DB 68 C9 */ bl mDoExt_setCurrentHeap__FP7JKRHeap -/* 80258908 90 7D 01 D0 */ stw r3, 0x1d0(r29) -/* 8025890C 3C 60 80 3A */ lis r3, d_s_d_s_name__stringBase0@ha /* 0x8039A2A8@ha */ -/* 80258910 38 63 A2 A8 */ addi r3, r3, d_s_d_s_name__stringBase0@l /* 0x8039A2A8@l */ -/* 80258914 38 63 00 0D */ addi r3, r3, 0xd -/* 80258918 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8025891C 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80258920 3C 84 00 02 */ addis r4, r4, 2 -/* 80258924 38 A0 00 80 */ li r5, 0x80 -/* 80258928 38 84 C2 F8 */ addi r4, r4, -15624 -/* 8025892C 4B DE 38 B9 */ bl getResInfo__14dRes_control_cFPCcP11dRes_info_ci -/* 80258930 7C 7F 1B 78 */ mr r31, r3 -/* 80258934 38 60 23 7C */ li r3, 0x237c -/* 80258938 48 07 63 15 */ bl __nw__FUl -/* 8025893C 7C 60 1B 79 */ or. r0, r3, r3 -/* 80258940 41 82 00 10 */ beq lbl_80258950 -/* 80258944 80 9F 00 14 */ lwz r4, 0x14(r31) -/* 80258948 4B F2 AD 25 */ bl __ct__14dFile_select_cFP10JKRArchive -/* 8025894C 7C 60 1B 78 */ mr r0, r3 -lbl_80258950: -/* 80258950 90 1D 04 14 */ stw r0, 0x414(r29) -/* 80258954 80 7D 04 14 */ lwz r3, 0x414(r29) -/* 80258958 4B F2 BA 75 */ bl _create__14dFile_select_cFv -/* 8025895C A8 1D 00 08 */ lha r0, 8(r29) -/* 80258960 2C 00 00 0D */ cmpwi r0, 0xd -/* 80258964 40 82 00 1C */ bne lbl_80258980 -/* 80258968 38 00 00 00 */ li r0, 0 -/* 8025896C 80 7D 04 14 */ lwz r3, 0x414(r29) -/* 80258970 98 03 03 B0 */ stb r0, 0x3b0(r3) -/* 80258974 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80258978 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8025897C 98 03 0F 1A */ stb r0, 0xf1a(r3) -lbl_80258980: -/* 80258980 38 60 00 1C */ li r3, 0x1c -/* 80258984 48 07 62 C9 */ bl __nw__FUl -/* 80258988 7C 60 1B 79 */ or. r0, r3, r3 -/* 8025898C 41 82 00 10 */ beq lbl_8025899C -/* 80258990 80 9F 00 14 */ lwz r4, 0x14(r31) -/* 80258994 4B F3 A5 7D */ bl __ct__14dBrightCheck_cFP10JKRArchive -/* 80258998 7C 60 1B 78 */ mr r0, r3 -lbl_8025899C: -/* 8025899C 90 1D 04 18 */ stw r0, 0x418(r29) -/* 802589A0 38 00 00 00 */ li r0, 0 -/* 802589A4 98 1D 04 20 */ stb r0, 0x420(r29) -/* 802589A8 38 00 FF FF */ li r0, -1 -/* 802589AC 38 6D 8B 70 */ la r3, g_snHIO(r13) /* 804510F0-_SDA_BASE_ */ -/* 802589B0 98 03 00 04 */ stb r0, 4(r3) -/* 802589B4 80 7D 01 D0 */ lwz r3, 0x1d0(r29) -/* 802589B8 48 07 5A 81 */ bl becomeCurrentHeap__7JKRHeapFv -/* 802589BC 38 00 00 01 */ li r0, 1 -/* 802589C0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 802589C4 3B E3 61 C0 */ addi r31, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 802589C8 98 1F 5D 44 */ stb r0, 0x5d44(r31) -/* 802589CC 80 8D 80 20 */ lwz r4, mRenderModeObj__15mDoMch_render_c(r13) -/* 802589D0 A0 04 00 06 */ lhz r0, 6(r4) -/* 802589D4 C8 22 B5 10 */ lfd f1, lit_3930(r2) -/* 802589D8 90 01 00 0C */ stw r0, 0xc(r1) -/* 802589DC 3C 60 43 30 */ lis r3, 0x4330 -/* 802589E0 90 61 00 08 */ stw r3, 8(r1) -/* 802589E4 C8 01 00 08 */ lfd f0, 8(r1) -/* 802589E8 EF C0 08 28 */ fsubs f30, f0, f1 -/* 802589EC A0 04 00 04 */ lhz r0, 4(r4) -/* 802589F0 90 01 00 14 */ stw r0, 0x14(r1) -/* 802589F4 90 61 00 10 */ stw r3, 0x10(r1) -/* 802589F8 C8 01 00 10 */ lfd f0, 0x10(r1) -/* 802589FC EF E0 08 28 */ fsubs f31, f0, f1 -/* 80258A00 3B 9F 5D 48 */ addi r28, r31, 0x5d48 -/* 80258A04 7F 83 E3 78 */ mr r3, r28 -/* 80258A08 C0 22 B4 F8 */ lfs f1, lit_3923(r2) -/* 80258A0C FC 40 08 90 */ fmr f2, f1 -/* 80258A10 FC 60 F8 90 */ fmr f3, f31 -/* 80258A14 FC 80 F0 90 */ fmr f4, f30 -/* 80258A18 FC A0 08 90 */ fmr f5, f1 -/* 80258A1C C0 C2 B4 FC */ lfs f6, lit_3924(r2) -/* 80258A20 4B DF 90 A1 */ bl setViewPort__14dDlst_window_cFffffff -/* 80258A24 7F 83 E3 78 */ mr r3, r28 -/* 80258A28 C0 22 B4 F8 */ lfs f1, lit_3923(r2) -/* 80258A2C FC 40 08 90 */ fmr f2, f1 -/* 80258A30 FC 60 F8 90 */ fmr f3, f31 -/* 80258A34 FC 80 F0 90 */ fmr f4, f30 -/* 80258A38 4B DF 90 A5 */ bl setScissor__14dDlst_window_cFffff -/* 80258A3C 38 80 00 00 */ li r4, 0 -/* 80258A40 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80258A44 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80258A48 98 83 5D 70 */ stb r4, 0x5d70(r3) -/* 80258A4C 38 00 00 02 */ li r0, 2 -/* 80258A50 98 03 5D 71 */ stb r0, 0x5d71(r3) -/* 80258A54 38 1D 01 D4 */ addi r0, r29, 0x1d4 -/* 80258A58 90 03 5D 74 */ stw r0, 0x5d74(r3) -/* 80258A5C C0 02 B4 FC */ lfs f0, lit_3924(r2) -/* 80258A60 D0 1D 02 9C */ stfs f0, 0x29c(r29) -/* 80258A64 C0 02 B5 00 */ lfs f0, lit_3925(r2) -/* 80258A68 D0 1D 02 A0 */ stfs f0, 0x2a0(r29) -/* 80258A6C C0 02 B5 04 */ lfs f0, lit_3926(r2) -/* 80258A70 D0 1D 02 A4 */ stfs f0, 0x2a4(r29) -/* 80258A74 C0 02 B5 08 */ lfs f0, lit_3927(r2) -/* 80258A78 D0 1D 02 A8 */ stfs f0, 0x2a8(r29) -/* 80258A7C C0 22 B4 F8 */ lfs f1, lit_3923(r2) -/* 80258A80 D0 3D 02 AC */ stfs f1, 0x2ac(r29) -/* 80258A84 D0 3D 02 B0 */ stfs f1, 0x2b0(r29) -/* 80258A88 C0 02 B5 0C */ lfs f0, lit_3928(r2) -/* 80258A8C D0 1D 02 B4 */ stfs f0, 0x2b4(r29) -/* 80258A90 D0 3D 02 B8 */ stfs f1, 0x2b8(r29) -/* 80258A94 D0 3D 02 BC */ stfs f1, 0x2bc(r29) -/* 80258A98 D0 3D 02 C0 */ stfs f1, 0x2c0(r29) -/* 80258A9C B0 9D 02 D0 */ sth r4, 0x2d0(r29) -/* 80258AA0 90 83 5D AC */ stw r4, 0x5dac(r3) -/* 80258AA4 93 83 61 A8 */ stw r28, 0x61a8(r3) -/* 80258AA8 93 83 61 AC */ stw r28, 0x61ac(r3) -/* 80258AAC 90 03 61 B0 */ stw r0, 0x61b0(r3) -/* 80258AB0 98 8D 86 67 */ stb r4, mBlureFlag__13mDoGph_gInf_c+0x3(r13) -/* 80258AB4 7F A3 EB 78 */ mr r3, r29 -/* 80258AB8 48 00 00 75 */ bl setView__10dScnName_cFv -/* 80258ABC 4B F4 D3 99 */ bl dKy_setLight_init__Fv -/* 80258AC0 38 6D 8B 70 */ la r3, g_snHIO(r13) /* 804510F0-_SDA_BASE_ */ -/* 80258AC4 88 03 00 05 */ lbz r0, 5(r3) -/* 80258AC8 98 1D 04 1E */ stb r0, 0x41e(r29) -/* 80258ACC 38 80 00 00 */ li r4, 0 -/* 80258AD0 98 9D 04 1C */ stb r4, 0x41c(r29) -/* 80258AD4 98 9D 04 1D */ stb r4, 0x41d(r29) -/* 80258AD8 80 AD 8C 40 */ lwz r5, sManager__10JFWDisplay(r13) -/* 80258ADC 3C 60 80 00 */ lis r3, 0x8000 /* 0x800000F8@ha */ -/* 80258AE0 80 03 00 F8 */ lwz r0, 0x00F8(r3) /* 0x800000F8@l */ -/* 80258AE4 54 03 F0 BE */ srwi r3, r0, 2 -/* 80258AE8 38 00 00 1E */ li r0, 0x1e -/* 80258AEC 7C 03 03 96 */ divwu r0, r3, r0 -/* 80258AF0 90 05 00 20 */ stw r0, 0x20(r5) -/* 80258AF4 B0 85 00 1C */ sth r4, 0x1c(r5) -/* 80258AF8 38 7F 5B D4 */ addi r3, r31, 0x5bd4 -/* 80258AFC 4B E1 74 09 */ bl Init__12dVibration_cFv -lbl_80258B00: -/* 80258B00 7F C3 F3 78 */ mr r3, r30 -/* 80258B04 E3 E1 00 48 */ psq_l f31, 72(r1), 0, 0 /* qr0 */ -/* 80258B08 CB E1 00 40 */ lfd f31, 0x40(r1) -/* 80258B0C E3 C1 00 38 */ psq_l f30, 56(r1), 0, 0 /* qr0 */ -/* 80258B10 CB C1 00 30 */ lfd f30, 0x30(r1) -/* 80258B14 39 61 00 30 */ addi r11, r1, 0x30 -/* 80258B18 48 10 97 0D */ bl _restgpr_28 -/* 80258B1C 80 01 00 54 */ lwz r0, 0x54(r1) -/* 80258B20 7C 08 03 A6 */ mtlr r0 -/* 80258B24 38 21 00 50 */ addi r1, r1, 0x50 -/* 80258B28 4E 80 00 20 */ blr diff --git a/asm/d/save/d_save_HIO/__ct__22dSvBit_childOtherHIO_cFv.s b/asm/d/save/d_save_HIO/__ct__22dSvBit_childOtherHIO_cFv.s deleted file mode 100644 index 504cc0ef4c..0000000000 --- a/asm/d/save/d_save_HIO/__ct__22dSvBit_childOtherHIO_cFv.s +++ /dev/null @@ -1,17 +0,0 @@ -lbl_8025C13C: -/* 8025C13C 3C 80 80 3C */ lis r4, __vt__22dSvBit_childOtherHIO_c@ha /* 0x803C3300@ha */ -/* 8025C140 38 04 33 00 */ addi r0, r4, __vt__22dSvBit_childOtherHIO_c@l /* 0x803C3300@l */ -/* 8025C144 90 03 00 00 */ stw r0, 0(r3) -/* 8025C148 38 80 00 00 */ li r4, 0 -/* 8025C14C 98 83 00 05 */ stb r4, 5(r3) -/* 8025C150 98 83 00 06 */ stb r4, 6(r3) -/* 8025C154 38 C0 00 00 */ li r6, 0 -/* 8025C158 38 00 00 04 */ li r0, 4 -/* 8025C15C 7C 09 03 A6 */ mtctr r0 -lbl_8025C160: -/* 8025C160 7C A3 32 14 */ add r5, r3, r6 -/* 8025C164 98 85 00 07 */ stb r4, 7(r5) -/* 8025C168 98 85 00 0B */ stb r4, 0xb(r5) -/* 8025C16C 38 C6 00 01 */ addi r6, r6, 1 -/* 8025C170 42 00 FF F0 */ bdnz lbl_8025C160 -/* 8025C174 4E 80 00 20 */ blr diff --git a/asm/d/save/d_save_HIO/__ct__23dSvBit_childItZoneHIO_cFv.s b/asm/d/save/d_save_HIO/__ct__23dSvBit_childItZoneHIO_cFv.s deleted file mode 100644 index 257fd46904..0000000000 --- a/asm/d/save/d_save_HIO/__ct__23dSvBit_childItZoneHIO_cFv.s +++ /dev/null @@ -1,15 +0,0 @@ -lbl_8025BEA8: -/* 8025BEA8 3C 80 80 3C */ lis r4, __vt__23dSvBit_childItZoneHIO_c@ha /* 0x803C333C@ha */ -/* 8025BEAC 38 04 33 3C */ addi r0, r4, __vt__23dSvBit_childItZoneHIO_c@l /* 0x803C333C@l */ -/* 8025BEB0 90 03 00 00 */ stw r0, 0(r3) -/* 8025BEB4 38 C0 00 00 */ li r6, 0 -/* 8025BEB8 38 80 00 00 */ li r4, 0 -/* 8025BEBC 38 00 00 20 */ li r0, 0x20 -/* 8025BEC0 7C 09 03 A6 */ mtctr r0 -lbl_8025BEC4: -/* 8025BEC4 7C A3 32 14 */ add r5, r3, r6 -/* 8025BEC8 98 85 00 05 */ stb r4, 5(r5) -/* 8025BECC 98 85 00 25 */ stb r4, 0x25(r5) -/* 8025BED0 38 C6 00 01 */ addi r6, r6, 1 -/* 8025BED4 42 00 FF F0 */ bdnz lbl_8025BEC4 -/* 8025BED8 4E 80 00 20 */ blr diff --git a/asm/d/save/d_save_HIO/__ct__23dSvBit_childSwZoneHIO_cFv.s b/asm/d/save/d_save_HIO/__ct__23dSvBit_childSwZoneHIO_cFv.s deleted file mode 100644 index 06098cec51..0000000000 --- a/asm/d/save/d_save_HIO/__ct__23dSvBit_childSwZoneHIO_cFv.s +++ /dev/null @@ -1,15 +0,0 @@ -lbl_8025BCB0: -/* 8025BCB0 3C 80 80 3C */ lis r4, __vt__23dSvBit_childSwZoneHIO_c@ha /* 0x803C336C@ha */ -/* 8025BCB4 38 04 33 6C */ addi r0, r4, __vt__23dSvBit_childSwZoneHIO_c@l /* 0x803C336C@l */ -/* 8025BCB8 90 03 00 00 */ stw r0, 0(r3) -/* 8025BCBC 38 C0 00 00 */ li r6, 0 -/* 8025BCC0 38 80 00 00 */ li r4, 0 -/* 8025BCC4 38 00 00 20 */ li r0, 0x20 -/* 8025BCC8 7C 09 03 A6 */ mtctr r0 -lbl_8025BCCC: -/* 8025BCCC 7C A3 32 14 */ add r5, r3, r6 -/* 8025BCD0 98 85 00 05 */ stb r4, 5(r5) -/* 8025BCD4 98 85 00 25 */ stb r4, 0x25(r5) -/* 8025BCD8 38 C6 00 01 */ addi r6, r6, 1 -/* 8025BCDC 42 00 FF F0 */ bdnz lbl_8025BCCC -/* 8025BCE0 4E 80 00 20 */ blr diff --git a/asm/d/save/d_save_HIO/__ct__25dSvBit_childDarknessHIO_cFv.s b/asm/d/save/d_save_HIO/__ct__25dSvBit_childDarknessHIO_cFv.s deleted file mode 100644 index e9d90dac70..0000000000 --- a/asm/d/save/d_save_HIO/__ct__25dSvBit_childDarknessHIO_cFv.s +++ /dev/null @@ -1,15 +0,0 @@ -lbl_8025C004: -/* 8025C004 3C 80 80 3C */ lis r4, __vt__25dSvBit_childDarknessHIO_c@ha /* 0x803C3318@ha */ -/* 8025C008 38 04 33 18 */ addi r0, r4, __vt__25dSvBit_childDarknessHIO_c@l /* 0x803C3318@l */ -/* 8025C00C 90 03 00 00 */ stw r0, 0(r3) -/* 8025C010 38 C0 00 00 */ li r6, 0 -/* 8025C014 38 80 00 00 */ li r4, 0 -/* 8025C018 38 00 00 06 */ li r0, 6 -/* 8025C01C 7C 09 03 A6 */ mtctr r0 -lbl_8025C020: -/* 8025C020 7C A3 32 14 */ add r5, r3, r6 -/* 8025C024 98 85 00 05 */ stb r4, 5(r5) -/* 8025C028 98 85 00 0B */ stb r4, 0xb(r5) -/* 8025C02C 38 C6 00 01 */ addi r6, r6, 1 -/* 8025C030 42 00 FF F0 */ bdnz lbl_8025C020 -/* 8025C034 4E 80 00 20 */ blr diff --git a/asm/d/save/d_save_HIO/__ct__26dSvBit_childItDungeonHIO_cFv.s b/asm/d/save/d_save_HIO/__ct__26dSvBit_childItDungeonHIO_cFv.s deleted file mode 100644 index 4aa5bb1ff3..0000000000 --- a/asm/d/save/d_save_HIO/__ct__26dSvBit_childItDungeonHIO_cFv.s +++ /dev/null @@ -1,15 +0,0 @@ -lbl_8025BE0C: -/* 8025BE0C 3C 80 80 3C */ lis r4, __vt__26dSvBit_childItDungeonHIO_c@ha /* 0x803C3348@ha */ -/* 8025BE10 38 04 33 48 */ addi r0, r4, __vt__26dSvBit_childItDungeonHIO_c@l /* 0x803C3348@l */ -/* 8025BE14 90 03 00 00 */ stw r0, 0(r3) -/* 8025BE18 38 C0 00 00 */ li r6, 0 -/* 8025BE1C 38 80 00 00 */ li r4, 0 -/* 8025BE20 38 00 00 80 */ li r0, 0x80 -/* 8025BE24 7C 09 03 A6 */ mtctr r0 -lbl_8025BE28: -/* 8025BE28 7C A3 32 14 */ add r5, r3, r6 -/* 8025BE2C 98 85 00 05 */ stb r4, 5(r5) -/* 8025BE30 98 85 00 85 */ stb r4, 0x85(r5) -/* 8025BE34 38 C6 00 01 */ addi r6, r6, 1 -/* 8025BE38 42 00 FF F0 */ bdnz lbl_8025BE28 -/* 8025BE3C 4E 80 00 20 */ blr diff --git a/asm/d/save/d_save_HIO/__ct__26dSvBit_childItOneZoneHIO_cFv.s b/asm/d/save/d_save_HIO/__ct__26dSvBit_childItOneZoneHIO_cFv.s deleted file mode 100644 index 1556403eb0..0000000000 --- a/asm/d/save/d_save_HIO/__ct__26dSvBit_childItOneZoneHIO_cFv.s +++ /dev/null @@ -1,15 +0,0 @@ -lbl_8025BF08: -/* 8025BF08 3C 80 80 3C */ lis r4, __vt__26dSvBit_childItOneZoneHIO_c@ha /* 0x803C3330@ha */ -/* 8025BF0C 38 04 33 30 */ addi r0, r4, __vt__26dSvBit_childItOneZoneHIO_c@l /* 0x803C3330@l */ -/* 8025BF10 90 03 00 00 */ stw r0, 0(r3) -/* 8025BF14 38 C0 00 00 */ li r6, 0 -/* 8025BF18 38 80 00 00 */ li r4, 0 -/* 8025BF1C 38 00 00 10 */ li r0, 0x10 -/* 8025BF20 7C 09 03 A6 */ mtctr r0 -lbl_8025BF24: -/* 8025BF24 7C A3 32 14 */ add r5, r3, r6 -/* 8025BF28 98 85 00 05 */ stb r4, 5(r5) -/* 8025BF2C 98 85 00 15 */ stb r4, 0x15(r5) -/* 8025BF30 38 C6 00 01 */ addi r6, r6, 1 -/* 8025BF34 42 00 FF F0 */ bdnz lbl_8025BF24 -/* 8025BF38 4E 80 00 20 */ blr diff --git a/asm/d/save/d_save_HIO/__ct__26dSvBit_childSwDungeonHIO_cFv.s b/asm/d/save/d_save_HIO/__ct__26dSvBit_childSwDungeonHIO_cFv.s deleted file mode 100644 index 36c86f0c2d..0000000000 --- a/asm/d/save/d_save_HIO/__ct__26dSvBit_childSwDungeonHIO_cFv.s +++ /dev/null @@ -1,15 +0,0 @@ -lbl_8025BC14: -/* 8025BC14 3C 80 80 3C */ lis r4, __vt__26dSvBit_childSwDungeonHIO_c@ha /* 0x803C3378@ha */ -/* 8025BC18 38 04 33 78 */ addi r0, r4, __vt__26dSvBit_childSwDungeonHIO_c@l /* 0x803C3378@l */ -/* 8025BC1C 90 03 00 00 */ stw r0, 0(r3) -/* 8025BC20 38 C0 00 00 */ li r6, 0 -/* 8025BC24 38 80 00 00 */ li r4, 0 -/* 8025BC28 38 00 00 40 */ li r0, 0x40 -/* 8025BC2C 7C 09 03 A6 */ mtctr r0 -lbl_8025BC30: -/* 8025BC30 7C A3 32 14 */ add r5, r3, r6 -/* 8025BC34 98 85 00 05 */ stb r4, 5(r5) -/* 8025BC38 98 85 00 45 */ stb r4, 0x45(r5) -/* 8025BC3C 38 C6 00 01 */ addi r6, r6, 1 -/* 8025BC40 42 00 FF F0 */ bdnz lbl_8025BC30 -/* 8025BC44 4E 80 00 20 */ blr diff --git a/asm/d/save/d_save_HIO/__ct__26dSvBit_childSwOneZoneHIO_cFv.s b/asm/d/save/d_save_HIO/__ct__26dSvBit_childSwOneZoneHIO_cFv.s deleted file mode 100644 index 2d379c7e8b..0000000000 --- a/asm/d/save/d_save_HIO/__ct__26dSvBit_childSwOneZoneHIO_cFv.s +++ /dev/null @@ -1,15 +0,0 @@ -lbl_8025BD10: -/* 8025BD10 3C 80 80 3C */ lis r4, __vt__26dSvBit_childSwOneZoneHIO_c@ha /* 0x803C3360@ha */ -/* 8025BD14 38 04 33 60 */ addi r0, r4, __vt__26dSvBit_childSwOneZoneHIO_c@l /* 0x803C3360@l */ -/* 8025BD18 90 03 00 00 */ stw r0, 0(r3) -/* 8025BD1C 38 C0 00 00 */ li r6, 0 -/* 8025BD20 38 80 00 00 */ li r4, 0 -/* 8025BD24 38 00 00 10 */ li r0, 0x10 -/* 8025BD28 7C 09 03 A6 */ mtctr r0 -lbl_8025BD2C: -/* 8025BD2C 7C A3 32 14 */ add r5, r3, r6 -/* 8025BD30 98 85 00 05 */ stb r4, 5(r5) -/* 8025BD34 98 85 00 15 */ stb r4, 0x15(r5) -/* 8025BD38 38 C6 00 01 */ addi r6, r6, 1 -/* 8025BD3C 42 00 FF F0 */ bdnz lbl_8025BD2C -/* 8025BD40 4E 80 00 20 */ blr diff --git a/asm/d/save/d_save_HIO/__ct__26dSvBit_childTransformHIO_cFv.s b/asm/d/save/d_save_HIO/__ct__26dSvBit_childTransformHIO_cFv.s deleted file mode 100644 index c4ed8498ca..0000000000 --- a/asm/d/save/d_save_HIO/__ct__26dSvBit_childTransformHIO_cFv.s +++ /dev/null @@ -1,15 +0,0 @@ -lbl_8025C0A0: -/* 8025C0A0 3C 80 80 3C */ lis r4, __vt__26dSvBit_childTransformHIO_c@ha /* 0x803C330C@ha */ -/* 8025C0A4 38 04 33 0C */ addi r0, r4, __vt__26dSvBit_childTransformHIO_c@l /* 0x803C330C@l */ -/* 8025C0A8 90 03 00 00 */ stw r0, 0(r3) -/* 8025C0AC 38 C0 00 00 */ li r6, 0 -/* 8025C0B0 38 80 00 00 */ li r4, 0 -/* 8025C0B4 38 00 00 04 */ li r0, 4 -/* 8025C0B8 7C 09 03 A6 */ mtctr r0 -lbl_8025C0BC: -/* 8025C0BC 7C A3 32 14 */ add r5, r3, r6 -/* 8025C0C0 98 85 00 05 */ stb r4, 5(r5) -/* 8025C0C4 98 85 00 09 */ stb r4, 9(r5) -/* 8025C0C8 38 C6 00 01 */ addi r6, r6, 1 -/* 8025C0CC 42 00 FF F0 */ bdnz lbl_8025C0BC -/* 8025C0D0 4E 80 00 20 */ blr diff --git a/asm/d/save/d_save_HIO/__ct__29dSvBit_childItPerfectionHIO_cFv.s b/asm/d/save/d_save_HIO/__ct__29dSvBit_childItPerfectionHIO_cFv.s deleted file mode 100644 index f7e2430698..0000000000 --- a/asm/d/save/d_save_HIO/__ct__29dSvBit_childItPerfectionHIO_cFv.s +++ /dev/null @@ -1,15 +0,0 @@ -lbl_8025BD70: -/* 8025BD70 3C 80 80 3C */ lis r4, __vt__29dSvBit_childItPerfectionHIO_c@ha /* 0x803C3354@ha */ -/* 8025BD74 38 04 33 54 */ addi r0, r4, __vt__29dSvBit_childItPerfectionHIO_c@l /* 0x803C3354@l */ -/* 8025BD78 90 03 00 00 */ stw r0, 0(r3) -/* 8025BD7C 38 C0 00 00 */ li r6, 0 -/* 8025BD80 38 80 00 00 */ li r4, 0 -/* 8025BD84 38 00 00 20 */ li r0, 0x20 -/* 8025BD88 7C 09 03 A6 */ mtctr r0 -lbl_8025BD8C: -/* 8025BD8C 7C A3 32 14 */ add r5, r3, r6 -/* 8025BD90 98 85 00 05 */ stb r4, 5(r5) -/* 8025BD94 98 85 00 25 */ stb r4, 0x25(r5) -/* 8025BD98 38 C6 00 01 */ addi r6, r6, 1 -/* 8025BD9C 42 00 FF F0 */ bdnz lbl_8025BD8C -/* 8025BDA0 4E 80 00 20 */ blr diff --git a/asm/d/save/d_save_HIO/__dt__12dSvBit_HIO_cFv.s b/asm/d/save/d_save_HIO/__dt__12dSvBit_HIO_cFv.s deleted file mode 100644 index f42d821375..0000000000 --- a/asm/d/save/d_save_HIO/__dt__12dSvBit_HIO_cFv.s +++ /dev/null @@ -1,108 +0,0 @@ -lbl_8025C6FC: -/* 8025C6FC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8025C700 7C 08 02 A6 */ mflr r0 -/* 8025C704 90 01 00 14 */ stw r0, 0x14(r1) -/* 8025C708 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8025C70C 7C 7F 1B 79 */ or. r31, r3, r3 -/* 8025C710 41 82 01 4C */ beq lbl_8025C85C -/* 8025C714 3C 60 80 3C */ lis r3, __vt__12dSvBit_HIO_c@ha /* 0x803C33B4@ha */ -/* 8025C718 38 03 33 B4 */ addi r0, r3, __vt__12dSvBit_HIO_c@l /* 0x803C33B4@l */ -/* 8025C71C 90 1F 00 00 */ stw r0, 0(r31) -/* 8025C720 34 1F 04 8C */ addic. r0, r31, 0x48c -/* 8025C724 41 82 00 10 */ beq lbl_8025C734 -/* 8025C728 3C 60 80 3C */ lis r3, __vt__22dSvBit_childOtherHIO_c@ha /* 0x803C3300@ha */ -/* 8025C72C 38 03 33 00 */ addi r0, r3, __vt__22dSvBit_childOtherHIO_c@l /* 0x803C3300@l */ -/* 8025C730 90 1F 04 8C */ stw r0, 0x48c(r31) -lbl_8025C734: -/* 8025C734 34 1F 04 7C */ addic. r0, r31, 0x47c -/* 8025C738 41 82 00 10 */ beq lbl_8025C748 -/* 8025C73C 3C 60 80 3C */ lis r3, __vt__26dSvBit_childTransformHIO_c@ha /* 0x803C330C@ha */ -/* 8025C740 38 03 33 0C */ addi r0, r3, __vt__26dSvBit_childTransformHIO_c@l /* 0x803C330C@l */ -/* 8025C744 90 1F 04 7C */ stw r0, 0x47c(r31) -lbl_8025C748: -/* 8025C748 34 1F 04 68 */ addic. r0, r31, 0x468 -/* 8025C74C 41 82 00 10 */ beq lbl_8025C75C -/* 8025C750 3C 60 80 3C */ lis r3, __vt__25dSvBit_childDarknessHIO_c@ha /* 0x803C3318@ha */ -/* 8025C754 38 03 33 18 */ addi r0, r3, __vt__25dSvBit_childDarknessHIO_c@l /* 0x803C3318@l */ -/* 8025C758 90 1F 04 68 */ stw r0, 0x468(r31) -lbl_8025C75C: -/* 8025C75C 34 1F 03 D8 */ addic. r0, r31, 0x3d8 -/* 8025C760 41 82 00 24 */ beq lbl_8025C784 -/* 8025C764 3C 60 80 3C */ lis r3, __vt__25dSvBit_childTreasureHIO_c@ha /* 0x803C3390@ha */ -/* 8025C768 38 03 33 90 */ addi r0, r3, __vt__25dSvBit_childTreasureHIO_c@l /* 0x803C3390@l */ -/* 8025C76C 90 1F 03 D8 */ stw r0, 0x3d8(r31) -/* 8025C770 34 1F 03 E0 */ addic. r0, r31, 0x3e0 -/* 8025C774 41 82 00 10 */ beq lbl_8025C784 -/* 8025C778 3C 60 80 3C */ lis r3, __vt__29dSvBit_childTbPerfectionHIO_c@ha /* 0x803C3324@ha */ -/* 8025C77C 38 03 33 24 */ addi r0, r3, __vt__29dSvBit_childTbPerfectionHIO_c@l /* 0x803C3324@l */ -/* 8025C780 90 1F 03 E0 */ stw r0, 0x3e0(r31) -lbl_8025C784: -/* 8025C784 34 1F 02 10 */ addic. r0, r31, 0x210 -/* 8025C788 41 82 00 60 */ beq lbl_8025C7E8 -/* 8025C78C 3C 60 80 3C */ lis r3, __vt__21dSvBit_childItemHIO_c@ha /* 0x803C339C@ha */ -/* 8025C790 38 03 33 9C */ addi r0, r3, __vt__21dSvBit_childItemHIO_c@l /* 0x803C339C@l */ -/* 8025C794 90 1F 02 10 */ stw r0, 0x210(r31) -/* 8025C798 34 1F 03 B0 */ addic. r0, r31, 0x3b0 -/* 8025C79C 41 82 00 10 */ beq lbl_8025C7AC -/* 8025C7A0 3C 60 80 3C */ lis r3, __vt__26dSvBit_childItOneZoneHIO_c@ha /* 0x803C3330@ha */ -/* 8025C7A4 38 03 33 30 */ addi r0, r3, __vt__26dSvBit_childItOneZoneHIO_c@l /* 0x803C3330@l */ -/* 8025C7A8 90 1F 03 B0 */ stw r0, 0x3b0(r31) -lbl_8025C7AC: -/* 8025C7AC 34 1F 03 68 */ addic. r0, r31, 0x368 -/* 8025C7B0 41 82 00 10 */ beq lbl_8025C7C0 -/* 8025C7B4 3C 60 80 3C */ lis r3, __vt__23dSvBit_childItZoneHIO_c@ha /* 0x803C333C@ha */ -/* 8025C7B8 38 03 33 3C */ addi r0, r3, __vt__23dSvBit_childItZoneHIO_c@l /* 0x803C333C@l */ -/* 8025C7BC 90 1F 03 68 */ stw r0, 0x368(r31) -lbl_8025C7C0: -/* 8025C7C0 34 1F 02 60 */ addic. r0, r31, 0x260 -/* 8025C7C4 41 82 00 10 */ beq lbl_8025C7D4 -/* 8025C7C8 3C 60 80 3C */ lis r3, __vt__26dSvBit_childItDungeonHIO_c@ha /* 0x803C3348@ha */ -/* 8025C7CC 38 03 33 48 */ addi r0, r3, __vt__26dSvBit_childItDungeonHIO_c@l /* 0x803C3348@l */ -/* 8025C7D0 90 1F 02 60 */ stw r0, 0x260(r31) -lbl_8025C7D4: -/* 8025C7D4 34 1F 02 18 */ addic. r0, r31, 0x218 -/* 8025C7D8 41 82 00 10 */ beq lbl_8025C7E8 -/* 8025C7DC 3C 60 80 3C */ lis r3, __vt__29dSvBit_childItPerfectionHIO_c@ha /* 0x803C3354@ha */ -/* 8025C7E0 38 03 33 54 */ addi r0, r3, __vt__29dSvBit_childItPerfectionHIO_c@l /* 0x803C3354@l */ -/* 8025C7E4 90 1F 02 18 */ stw r0, 0x218(r31) -lbl_8025C7E8: -/* 8025C7E8 34 1F 00 08 */ addic. r0, r31, 8 -/* 8025C7EC 41 82 00 60 */ beq lbl_8025C84C -/* 8025C7F0 3C 60 80 3C */ lis r3, __vt__23dSvBit_childSwitchHIO_c@ha /* 0x803C33A8@ha */ -/* 8025C7F4 38 03 33 A8 */ addi r0, r3, __vt__23dSvBit_childSwitchHIO_c@l /* 0x803C33A8@l */ -/* 8025C7F8 90 1F 00 08 */ stw r0, 8(r31) -/* 8025C7FC 34 1F 01 E8 */ addic. r0, r31, 0x1e8 -/* 8025C800 41 82 00 10 */ beq lbl_8025C810 -/* 8025C804 3C 60 80 3C */ lis r3, __vt__26dSvBit_childSwOneZoneHIO_c@ha /* 0x803C3360@ha */ -/* 8025C808 38 03 33 60 */ addi r0, r3, __vt__26dSvBit_childSwOneZoneHIO_c@l /* 0x803C3360@l */ -/* 8025C80C 90 1F 01 E8 */ stw r0, 0x1e8(r31) -lbl_8025C810: -/* 8025C810 34 1F 01 A0 */ addic. r0, r31, 0x1a0 -/* 8025C814 41 82 00 10 */ beq lbl_8025C824 -/* 8025C818 3C 60 80 3C */ lis r3, __vt__23dSvBit_childSwZoneHIO_c@ha /* 0x803C336C@ha */ -/* 8025C81C 38 03 33 6C */ addi r0, r3, __vt__23dSvBit_childSwZoneHIO_c@l /* 0x803C336C@l */ -/* 8025C820 90 1F 01 A0 */ stw r0, 0x1a0(r31) -lbl_8025C824: -/* 8025C824 34 1F 01 18 */ addic. r0, r31, 0x118 -/* 8025C828 41 82 00 10 */ beq lbl_8025C838 -/* 8025C82C 3C 60 80 3C */ lis r3, __vt__26dSvBit_childSwDungeonHIO_c@ha /* 0x803C3378@ha */ -/* 8025C830 38 03 33 78 */ addi r0, r3, __vt__26dSvBit_childSwDungeonHIO_c@l /* 0x803C3378@l */ -/* 8025C834 90 1F 01 18 */ stw r0, 0x118(r31) -lbl_8025C838: -/* 8025C838 34 1F 00 10 */ addic. r0, r31, 0x10 -/* 8025C83C 41 82 00 10 */ beq lbl_8025C84C -/* 8025C840 3C 60 80 3C */ lis r3, __vt__29dSvBit_childSwPerfectionHIO_c@ha /* 0x803C3384@ha */ -/* 8025C844 38 03 33 84 */ addi r0, r3, __vt__29dSvBit_childSwPerfectionHIO_c@l /* 0x803C3384@l */ -/* 8025C848 90 1F 00 10 */ stw r0, 0x10(r31) -lbl_8025C84C: -/* 8025C84C 7C 80 07 35 */ extsh. r0, r4 -/* 8025C850 40 81 00 0C */ ble lbl_8025C85C -/* 8025C854 7F E3 FB 78 */ mr r3, r31 -/* 8025C858 48 07 24 E5 */ bl __dl__FPv -lbl_8025C85C: -/* 8025C85C 7F E3 FB 78 */ mr r3, r31 -/* 8025C860 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8025C864 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8025C868 7C 08 03 A6 */ mtlr r0 -/* 8025C86C 38 21 00 10 */ addi r1, r1, 0x10 -/* 8025C870 4E 80 00 20 */ blr diff --git a/asm/d/save/d_save_HIO/__dt__21dSvBit_childItemHIO_cFv.s b/asm/d/save/d_save_HIO/__dt__21dSvBit_childItemHIO_cFv.s deleted file mode 100644 index 5804262d1a..0000000000 --- a/asm/d/save/d_save_HIO/__dt__21dSvBit_childItemHIO_cFv.s +++ /dev/null @@ -1,45 +0,0 @@ -lbl_8025C8D4: -/* 8025C8D4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8025C8D8 7C 08 02 A6 */ mflr r0 -/* 8025C8DC 90 01 00 14 */ stw r0, 0x14(r1) -/* 8025C8E0 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8025C8E4 7C 7F 1B 79 */ or. r31, r3, r3 -/* 8025C8E8 41 82 00 70 */ beq lbl_8025C958 -/* 8025C8EC 3C 60 80 3C */ lis r3, __vt__21dSvBit_childItemHIO_c@ha /* 0x803C339C@ha */ -/* 8025C8F0 38 03 33 9C */ addi r0, r3, __vt__21dSvBit_childItemHIO_c@l /* 0x803C339C@l */ -/* 8025C8F4 90 1F 00 00 */ stw r0, 0(r31) -/* 8025C8F8 34 1F 01 A0 */ addic. r0, r31, 0x1a0 -/* 8025C8FC 41 82 00 10 */ beq lbl_8025C90C -/* 8025C900 3C 60 80 3C */ lis r3, __vt__26dSvBit_childItOneZoneHIO_c@ha /* 0x803C3330@ha */ -/* 8025C904 38 03 33 30 */ addi r0, r3, __vt__26dSvBit_childItOneZoneHIO_c@l /* 0x803C3330@l */ -/* 8025C908 90 1F 01 A0 */ stw r0, 0x1a0(r31) -lbl_8025C90C: -/* 8025C90C 34 1F 01 58 */ addic. r0, r31, 0x158 -/* 8025C910 41 82 00 10 */ beq lbl_8025C920 -/* 8025C914 3C 60 80 3C */ lis r3, __vt__23dSvBit_childItZoneHIO_c@ha /* 0x803C333C@ha */ -/* 8025C918 38 03 33 3C */ addi r0, r3, __vt__23dSvBit_childItZoneHIO_c@l /* 0x803C333C@l */ -/* 8025C91C 90 1F 01 58 */ stw r0, 0x158(r31) -lbl_8025C920: -/* 8025C920 34 1F 00 50 */ addic. r0, r31, 0x50 -/* 8025C924 41 82 00 10 */ beq lbl_8025C934 -/* 8025C928 3C 60 80 3C */ lis r3, __vt__26dSvBit_childItDungeonHIO_c@ha /* 0x803C3348@ha */ -/* 8025C92C 38 03 33 48 */ addi r0, r3, __vt__26dSvBit_childItDungeonHIO_c@l /* 0x803C3348@l */ -/* 8025C930 90 1F 00 50 */ stw r0, 0x50(r31) -lbl_8025C934: -/* 8025C934 34 1F 00 08 */ addic. r0, r31, 8 -/* 8025C938 41 82 00 10 */ beq lbl_8025C948 -/* 8025C93C 3C 60 80 3C */ lis r3, __vt__29dSvBit_childItPerfectionHIO_c@ha /* 0x803C3354@ha */ -/* 8025C940 38 03 33 54 */ addi r0, r3, __vt__29dSvBit_childItPerfectionHIO_c@l /* 0x803C3354@l */ -/* 8025C944 90 1F 00 08 */ stw r0, 8(r31) -lbl_8025C948: -/* 8025C948 7C 80 07 35 */ extsh. r0, r4 -/* 8025C94C 40 81 00 0C */ ble lbl_8025C958 -/* 8025C950 7F E3 FB 78 */ mr r3, r31 -/* 8025C954 48 07 23 E9 */ bl __dl__FPv -lbl_8025C958: -/* 8025C958 7F E3 FB 78 */ mr r3, r31 -/* 8025C95C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8025C960 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8025C964 7C 08 03 A6 */ mtlr r0 -/* 8025C968 38 21 00 10 */ addi r1, r1, 0x10 -/* 8025C96C 4E 80 00 20 */ blr diff --git a/asm/d/save/d_save_HIO/__dt__22dSvBit_childOtherHIO_cFv.s b/asm/d/save/d_save_HIO/__dt__22dSvBit_childOtherHIO_cFv.s deleted file mode 100644 index aca7f42b65..0000000000 --- a/asm/d/save/d_save_HIO/__dt__22dSvBit_childOtherHIO_cFv.s +++ /dev/null @@ -1,20 +0,0 @@ -lbl_8025C29C: -/* 8025C29C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8025C2A0 7C 08 02 A6 */ mflr r0 -/* 8025C2A4 90 01 00 14 */ stw r0, 0x14(r1) -/* 8025C2A8 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8025C2AC 7C 7F 1B 79 */ or. r31, r3, r3 -/* 8025C2B0 41 82 00 1C */ beq lbl_8025C2CC -/* 8025C2B4 3C A0 80 3C */ lis r5, __vt__22dSvBit_childOtherHIO_c@ha /* 0x803C3300@ha */ -/* 8025C2B8 38 05 33 00 */ addi r0, r5, __vt__22dSvBit_childOtherHIO_c@l /* 0x803C3300@l */ -/* 8025C2BC 90 1F 00 00 */ stw r0, 0(r31) -/* 8025C2C0 7C 80 07 35 */ extsh. r0, r4 -/* 8025C2C4 40 81 00 08 */ ble lbl_8025C2CC -/* 8025C2C8 48 07 2A 75 */ bl __dl__FPv -lbl_8025C2CC: -/* 8025C2CC 7F E3 FB 78 */ mr r3, r31 -/* 8025C2D0 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8025C2D4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8025C2D8 7C 08 03 A6 */ mtlr r0 -/* 8025C2DC 38 21 00 10 */ addi r1, r1, 0x10 -/* 8025C2E0 4E 80 00 20 */ blr diff --git a/asm/d/save/d_save_HIO/__dt__23dSvBit_childItZoneHIO_cFv.s b/asm/d/save/d_save_HIO/__dt__23dSvBit_childItZoneHIO_cFv.s deleted file mode 100644 index c600bc174b..0000000000 --- a/asm/d/save/d_save_HIO/__dt__23dSvBit_childItZoneHIO_cFv.s +++ /dev/null @@ -1,20 +0,0 @@ -lbl_8025C404: -/* 8025C404 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8025C408 7C 08 02 A6 */ mflr r0 -/* 8025C40C 90 01 00 14 */ stw r0, 0x14(r1) -/* 8025C410 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8025C414 7C 7F 1B 79 */ or. r31, r3, r3 -/* 8025C418 41 82 00 1C */ beq lbl_8025C434 -/* 8025C41C 3C A0 80 3C */ lis r5, __vt__23dSvBit_childItZoneHIO_c@ha /* 0x803C333C@ha */ -/* 8025C420 38 05 33 3C */ addi r0, r5, __vt__23dSvBit_childItZoneHIO_c@l /* 0x803C333C@l */ -/* 8025C424 90 1F 00 00 */ stw r0, 0(r31) -/* 8025C428 7C 80 07 35 */ extsh. r0, r4 -/* 8025C42C 40 81 00 08 */ ble lbl_8025C434 -/* 8025C430 48 07 29 0D */ bl __dl__FPv -lbl_8025C434: -/* 8025C434 7F E3 FB 78 */ mr r3, r31 -/* 8025C438 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8025C43C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8025C440 7C 08 03 A6 */ mtlr r0 -/* 8025C444 38 21 00 10 */ addi r1, r1, 0x10 -/* 8025C448 4E 80 00 20 */ blr diff --git a/asm/d/save/d_save_HIO/__dt__23dSvBit_childSwZoneHIO_cFv.s b/asm/d/save/d_save_HIO/__dt__23dSvBit_childSwZoneHIO_cFv.s deleted file mode 100644 index 923256718c..0000000000 --- a/asm/d/save/d_save_HIO/__dt__23dSvBit_childSwZoneHIO_cFv.s +++ /dev/null @@ -1,20 +0,0 @@ -lbl_8025C524: -/* 8025C524 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8025C528 7C 08 02 A6 */ mflr r0 -/* 8025C52C 90 01 00 14 */ stw r0, 0x14(r1) -/* 8025C530 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8025C534 7C 7F 1B 79 */ or. r31, r3, r3 -/* 8025C538 41 82 00 1C */ beq lbl_8025C554 -/* 8025C53C 3C A0 80 3C */ lis r5, __vt__23dSvBit_childSwZoneHIO_c@ha /* 0x803C336C@ha */ -/* 8025C540 38 05 33 6C */ addi r0, r5, __vt__23dSvBit_childSwZoneHIO_c@l /* 0x803C336C@l */ -/* 8025C544 90 1F 00 00 */ stw r0, 0(r31) -/* 8025C548 7C 80 07 35 */ extsh. r0, r4 -/* 8025C54C 40 81 00 08 */ ble lbl_8025C554 -/* 8025C550 48 07 27 ED */ bl __dl__FPv -lbl_8025C554: -/* 8025C554 7F E3 FB 78 */ mr r3, r31 -/* 8025C558 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8025C55C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8025C560 7C 08 03 A6 */ mtlr r0 -/* 8025C564 38 21 00 10 */ addi r1, r1, 0x10 -/* 8025C568 4E 80 00 20 */ blr diff --git a/asm/d/save/d_save_HIO/__dt__23dSvBit_childSwitchHIO_cFv.s b/asm/d/save/d_save_HIO/__dt__23dSvBit_childSwitchHIO_cFv.s deleted file mode 100644 index 4ef98aedf6..0000000000 --- a/asm/d/save/d_save_HIO/__dt__23dSvBit_childSwitchHIO_cFv.s +++ /dev/null @@ -1,45 +0,0 @@ -lbl_8025C970: -/* 8025C970 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8025C974 7C 08 02 A6 */ mflr r0 -/* 8025C978 90 01 00 14 */ stw r0, 0x14(r1) -/* 8025C97C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8025C980 7C 7F 1B 79 */ or. r31, r3, r3 -/* 8025C984 41 82 00 70 */ beq lbl_8025C9F4 -/* 8025C988 3C 60 80 3C */ lis r3, __vt__23dSvBit_childSwitchHIO_c@ha /* 0x803C33A8@ha */ -/* 8025C98C 38 03 33 A8 */ addi r0, r3, __vt__23dSvBit_childSwitchHIO_c@l /* 0x803C33A8@l */ -/* 8025C990 90 1F 00 00 */ stw r0, 0(r31) -/* 8025C994 34 1F 01 E0 */ addic. r0, r31, 0x1e0 -/* 8025C998 41 82 00 10 */ beq lbl_8025C9A8 -/* 8025C99C 3C 60 80 3C */ lis r3, __vt__26dSvBit_childSwOneZoneHIO_c@ha /* 0x803C3360@ha */ -/* 8025C9A0 38 03 33 60 */ addi r0, r3, __vt__26dSvBit_childSwOneZoneHIO_c@l /* 0x803C3360@l */ -/* 8025C9A4 90 1F 01 E0 */ stw r0, 0x1e0(r31) -lbl_8025C9A8: -/* 8025C9A8 34 1F 01 98 */ addic. r0, r31, 0x198 -/* 8025C9AC 41 82 00 10 */ beq lbl_8025C9BC -/* 8025C9B0 3C 60 80 3C */ lis r3, __vt__23dSvBit_childSwZoneHIO_c@ha /* 0x803C336C@ha */ -/* 8025C9B4 38 03 33 6C */ addi r0, r3, __vt__23dSvBit_childSwZoneHIO_c@l /* 0x803C336C@l */ -/* 8025C9B8 90 1F 01 98 */ stw r0, 0x198(r31) -lbl_8025C9BC: -/* 8025C9BC 34 1F 01 10 */ addic. r0, r31, 0x110 -/* 8025C9C0 41 82 00 10 */ beq lbl_8025C9D0 -/* 8025C9C4 3C 60 80 3C */ lis r3, __vt__26dSvBit_childSwDungeonHIO_c@ha /* 0x803C3378@ha */ -/* 8025C9C8 38 03 33 78 */ addi r0, r3, __vt__26dSvBit_childSwDungeonHIO_c@l /* 0x803C3378@l */ -/* 8025C9CC 90 1F 01 10 */ stw r0, 0x110(r31) -lbl_8025C9D0: -/* 8025C9D0 34 1F 00 08 */ addic. r0, r31, 8 -/* 8025C9D4 41 82 00 10 */ beq lbl_8025C9E4 -/* 8025C9D8 3C 60 80 3C */ lis r3, __vt__29dSvBit_childSwPerfectionHIO_c@ha /* 0x803C3384@ha */ -/* 8025C9DC 38 03 33 84 */ addi r0, r3, __vt__29dSvBit_childSwPerfectionHIO_c@l /* 0x803C3384@l */ -/* 8025C9E0 90 1F 00 08 */ stw r0, 8(r31) -lbl_8025C9E4: -/* 8025C9E4 7C 80 07 35 */ extsh. r0, r4 -/* 8025C9E8 40 81 00 0C */ ble lbl_8025C9F4 -/* 8025C9EC 7F E3 FB 78 */ mr r3, r31 -/* 8025C9F0 48 07 23 4D */ bl __dl__FPv -lbl_8025C9F4: -/* 8025C9F4 7F E3 FB 78 */ mr r3, r31 -/* 8025C9F8 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8025C9FC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8025CA00 7C 08 03 A6 */ mtlr r0 -/* 8025CA04 38 21 00 10 */ addi r1, r1, 0x10 -/* 8025CA08 4E 80 00 20 */ blr diff --git a/asm/d/save/d_save_HIO/__dt__25dSvBit_childDarknessHIO_cFv.s b/asm/d/save/d_save_HIO/__dt__25dSvBit_childDarknessHIO_cFv.s deleted file mode 100644 index a992d48ab0..0000000000 --- a/asm/d/save/d_save_HIO/__dt__25dSvBit_childDarknessHIO_cFv.s +++ /dev/null @@ -1,20 +0,0 @@ -lbl_8025C32C: -/* 8025C32C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8025C330 7C 08 02 A6 */ mflr r0 -/* 8025C334 90 01 00 14 */ stw r0, 0x14(r1) -/* 8025C338 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8025C33C 7C 7F 1B 79 */ or. r31, r3, r3 -/* 8025C340 41 82 00 1C */ beq lbl_8025C35C -/* 8025C344 3C A0 80 3C */ lis r5, __vt__25dSvBit_childDarknessHIO_c@ha /* 0x803C3318@ha */ -/* 8025C348 38 05 33 18 */ addi r0, r5, __vt__25dSvBit_childDarknessHIO_c@l /* 0x803C3318@l */ -/* 8025C34C 90 1F 00 00 */ stw r0, 0(r31) -/* 8025C350 7C 80 07 35 */ extsh. r0, r4 -/* 8025C354 40 81 00 08 */ ble lbl_8025C35C -/* 8025C358 48 07 29 E5 */ bl __dl__FPv -lbl_8025C35C: -/* 8025C35C 7F E3 FB 78 */ mr r3, r31 -/* 8025C360 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8025C364 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8025C368 7C 08 03 A6 */ mtlr r0 -/* 8025C36C 38 21 00 10 */ addi r1, r1, 0x10 -/* 8025C370 4E 80 00 20 */ blr diff --git a/asm/d/save/d_save_HIO/__dt__25dSvBit_childTreasureHIO_cFv.s b/asm/d/save/d_save_HIO/__dt__25dSvBit_childTreasureHIO_cFv.s deleted file mode 100644 index d761deeb11..0000000000 --- a/asm/d/save/d_save_HIO/__dt__25dSvBit_childTreasureHIO_cFv.s +++ /dev/null @@ -1,27 +0,0 @@ -lbl_8025C874: -/* 8025C874 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8025C878 7C 08 02 A6 */ mflr r0 -/* 8025C87C 90 01 00 14 */ stw r0, 0x14(r1) -/* 8025C880 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8025C884 7C 7F 1B 79 */ or. r31, r3, r3 -/* 8025C888 41 82 00 34 */ beq lbl_8025C8BC -/* 8025C88C 3C 60 80 3C */ lis r3, __vt__25dSvBit_childTreasureHIO_c@ha /* 0x803C3390@ha */ -/* 8025C890 38 03 33 90 */ addi r0, r3, __vt__25dSvBit_childTreasureHIO_c@l /* 0x803C3390@l */ -/* 8025C894 90 1F 00 00 */ stw r0, 0(r31) -/* 8025C898 34 1F 00 08 */ addic. r0, r31, 8 -/* 8025C89C 41 82 00 10 */ beq lbl_8025C8AC -/* 8025C8A0 3C 60 80 3C */ lis r3, __vt__29dSvBit_childTbPerfectionHIO_c@ha /* 0x803C3324@ha */ -/* 8025C8A4 38 03 33 24 */ addi r0, r3, __vt__29dSvBit_childTbPerfectionHIO_c@l /* 0x803C3324@l */ -/* 8025C8A8 90 1F 00 08 */ stw r0, 8(r31) -lbl_8025C8AC: -/* 8025C8AC 7C 80 07 35 */ extsh. r0, r4 -/* 8025C8B0 40 81 00 0C */ ble lbl_8025C8BC -/* 8025C8B4 7F E3 FB 78 */ mr r3, r31 -/* 8025C8B8 48 07 24 85 */ bl __dl__FPv -lbl_8025C8BC: -/* 8025C8BC 7F E3 FB 78 */ mr r3, r31 -/* 8025C8C0 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8025C8C4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8025C8C8 7C 08 03 A6 */ mtlr r0 -/* 8025C8CC 38 21 00 10 */ addi r1, r1, 0x10 -/* 8025C8D0 4E 80 00 20 */ blr diff --git a/asm/d/save/d_save_HIO/__dt__26dSvBit_childItDungeonHIO_cFv.s b/asm/d/save/d_save_HIO/__dt__26dSvBit_childItDungeonHIO_cFv.s deleted file mode 100644 index a8d6b4c7e7..0000000000 --- a/asm/d/save/d_save_HIO/__dt__26dSvBit_childItDungeonHIO_cFv.s +++ /dev/null @@ -1,20 +0,0 @@ -lbl_8025C44C: -/* 8025C44C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8025C450 7C 08 02 A6 */ mflr r0 -/* 8025C454 90 01 00 14 */ stw r0, 0x14(r1) -/* 8025C458 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8025C45C 7C 7F 1B 79 */ or. r31, r3, r3 -/* 8025C460 41 82 00 1C */ beq lbl_8025C47C -/* 8025C464 3C A0 80 3C */ lis r5, __vt__26dSvBit_childItDungeonHIO_c@ha /* 0x803C3348@ha */ -/* 8025C468 38 05 33 48 */ addi r0, r5, __vt__26dSvBit_childItDungeonHIO_c@l /* 0x803C3348@l */ -/* 8025C46C 90 1F 00 00 */ stw r0, 0(r31) -/* 8025C470 7C 80 07 35 */ extsh. r0, r4 -/* 8025C474 40 81 00 08 */ ble lbl_8025C47C -/* 8025C478 48 07 28 C5 */ bl __dl__FPv -lbl_8025C47C: -/* 8025C47C 7F E3 FB 78 */ mr r3, r31 -/* 8025C480 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8025C484 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8025C488 7C 08 03 A6 */ mtlr r0 -/* 8025C48C 38 21 00 10 */ addi r1, r1, 0x10 -/* 8025C490 4E 80 00 20 */ blr diff --git a/asm/d/save/d_save_HIO/__dt__26dSvBit_childItOneZoneHIO_cFv.s b/asm/d/save/d_save_HIO/__dt__26dSvBit_childItOneZoneHIO_cFv.s deleted file mode 100644 index aaaee9f22c..0000000000 --- a/asm/d/save/d_save_HIO/__dt__26dSvBit_childItOneZoneHIO_cFv.s +++ /dev/null @@ -1,20 +0,0 @@ -lbl_8025C3BC: -/* 8025C3BC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8025C3C0 7C 08 02 A6 */ mflr r0 -/* 8025C3C4 90 01 00 14 */ stw r0, 0x14(r1) -/* 8025C3C8 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8025C3CC 7C 7F 1B 79 */ or. r31, r3, r3 -/* 8025C3D0 41 82 00 1C */ beq lbl_8025C3EC -/* 8025C3D4 3C A0 80 3C */ lis r5, __vt__26dSvBit_childItOneZoneHIO_c@ha /* 0x803C3330@ha */ -/* 8025C3D8 38 05 33 30 */ addi r0, r5, __vt__26dSvBit_childItOneZoneHIO_c@l /* 0x803C3330@l */ -/* 8025C3DC 90 1F 00 00 */ stw r0, 0(r31) -/* 8025C3E0 7C 80 07 35 */ extsh. r0, r4 -/* 8025C3E4 40 81 00 08 */ ble lbl_8025C3EC -/* 8025C3E8 48 07 29 55 */ bl __dl__FPv -lbl_8025C3EC: -/* 8025C3EC 7F E3 FB 78 */ mr r3, r31 -/* 8025C3F0 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8025C3F4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8025C3F8 7C 08 03 A6 */ mtlr r0 -/* 8025C3FC 38 21 00 10 */ addi r1, r1, 0x10 -/* 8025C400 4E 80 00 20 */ blr diff --git a/asm/d/save/d_save_HIO/__dt__26dSvBit_childSwDungeonHIO_cFv.s b/asm/d/save/d_save_HIO/__dt__26dSvBit_childSwDungeonHIO_cFv.s deleted file mode 100644 index 61ab8beae5..0000000000 --- a/asm/d/save/d_save_HIO/__dt__26dSvBit_childSwDungeonHIO_cFv.s +++ /dev/null @@ -1,20 +0,0 @@ -lbl_8025C56C: -/* 8025C56C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8025C570 7C 08 02 A6 */ mflr r0 -/* 8025C574 90 01 00 14 */ stw r0, 0x14(r1) -/* 8025C578 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8025C57C 7C 7F 1B 79 */ or. r31, r3, r3 -/* 8025C580 41 82 00 1C */ beq lbl_8025C59C -/* 8025C584 3C A0 80 3C */ lis r5, __vt__26dSvBit_childSwDungeonHIO_c@ha /* 0x803C3378@ha */ -/* 8025C588 38 05 33 78 */ addi r0, r5, __vt__26dSvBit_childSwDungeonHIO_c@l /* 0x803C3378@l */ -/* 8025C58C 90 1F 00 00 */ stw r0, 0(r31) -/* 8025C590 7C 80 07 35 */ extsh. r0, r4 -/* 8025C594 40 81 00 08 */ ble lbl_8025C59C -/* 8025C598 48 07 27 A5 */ bl __dl__FPv -lbl_8025C59C: -/* 8025C59C 7F E3 FB 78 */ mr r3, r31 -/* 8025C5A0 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8025C5A4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8025C5A8 7C 08 03 A6 */ mtlr r0 -/* 8025C5AC 38 21 00 10 */ addi r1, r1, 0x10 -/* 8025C5B0 4E 80 00 20 */ blr diff --git a/asm/d/save/d_save_HIO/__dt__26dSvBit_childSwOneZoneHIO_cFv.s b/asm/d/save/d_save_HIO/__dt__26dSvBit_childSwOneZoneHIO_cFv.s deleted file mode 100644 index 6e68da61b9..0000000000 --- a/asm/d/save/d_save_HIO/__dt__26dSvBit_childSwOneZoneHIO_cFv.s +++ /dev/null @@ -1,20 +0,0 @@ -lbl_8025C4DC: -/* 8025C4DC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8025C4E0 7C 08 02 A6 */ mflr r0 -/* 8025C4E4 90 01 00 14 */ stw r0, 0x14(r1) -/* 8025C4E8 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8025C4EC 7C 7F 1B 79 */ or. r31, r3, r3 -/* 8025C4F0 41 82 00 1C */ beq lbl_8025C50C -/* 8025C4F4 3C A0 80 3C */ lis r5, __vt__26dSvBit_childSwOneZoneHIO_c@ha /* 0x803C3360@ha */ -/* 8025C4F8 38 05 33 60 */ addi r0, r5, __vt__26dSvBit_childSwOneZoneHIO_c@l /* 0x803C3360@l */ -/* 8025C4FC 90 1F 00 00 */ stw r0, 0(r31) -/* 8025C500 7C 80 07 35 */ extsh. r0, r4 -/* 8025C504 40 81 00 08 */ ble lbl_8025C50C -/* 8025C508 48 07 28 35 */ bl __dl__FPv -lbl_8025C50C: -/* 8025C50C 7F E3 FB 78 */ mr r3, r31 -/* 8025C510 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8025C514 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8025C518 7C 08 03 A6 */ mtlr r0 -/* 8025C51C 38 21 00 10 */ addi r1, r1, 0x10 -/* 8025C520 4E 80 00 20 */ blr diff --git a/asm/d/save/d_save_HIO/__dt__26dSvBit_childTransformHIO_cFv.s b/asm/d/save/d_save_HIO/__dt__26dSvBit_childTransformHIO_cFv.s deleted file mode 100644 index db816a7481..0000000000 --- a/asm/d/save/d_save_HIO/__dt__26dSvBit_childTransformHIO_cFv.s +++ /dev/null @@ -1,20 +0,0 @@ -lbl_8025C2E4: -/* 8025C2E4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8025C2E8 7C 08 02 A6 */ mflr r0 -/* 8025C2EC 90 01 00 14 */ stw r0, 0x14(r1) -/* 8025C2F0 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8025C2F4 7C 7F 1B 79 */ or. r31, r3, r3 -/* 8025C2F8 41 82 00 1C */ beq lbl_8025C314 -/* 8025C2FC 3C A0 80 3C */ lis r5, __vt__26dSvBit_childTransformHIO_c@ha /* 0x803C330C@ha */ -/* 8025C300 38 05 33 0C */ addi r0, r5, __vt__26dSvBit_childTransformHIO_c@l /* 0x803C330C@l */ -/* 8025C304 90 1F 00 00 */ stw r0, 0(r31) -/* 8025C308 7C 80 07 35 */ extsh. r0, r4 -/* 8025C30C 40 81 00 08 */ ble lbl_8025C314 -/* 8025C310 48 07 2A 2D */ bl __dl__FPv -lbl_8025C314: -/* 8025C314 7F E3 FB 78 */ mr r3, r31 -/* 8025C318 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8025C31C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8025C320 7C 08 03 A6 */ mtlr r0 -/* 8025C324 38 21 00 10 */ addi r1, r1, 0x10 -/* 8025C328 4E 80 00 20 */ blr diff --git a/asm/d/save/d_save_HIO/__dt__29dSvBit_childItPerfectionHIO_cFv.s b/asm/d/save/d_save_HIO/__dt__29dSvBit_childItPerfectionHIO_cFv.s deleted file mode 100644 index 2f8bbb9120..0000000000 --- a/asm/d/save/d_save_HIO/__dt__29dSvBit_childItPerfectionHIO_cFv.s +++ /dev/null @@ -1,20 +0,0 @@ -lbl_8025C494: -/* 8025C494 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8025C498 7C 08 02 A6 */ mflr r0 -/* 8025C49C 90 01 00 14 */ stw r0, 0x14(r1) -/* 8025C4A0 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8025C4A4 7C 7F 1B 79 */ or. r31, r3, r3 -/* 8025C4A8 41 82 00 1C */ beq lbl_8025C4C4 -/* 8025C4AC 3C A0 80 3C */ lis r5, __vt__29dSvBit_childItPerfectionHIO_c@ha /* 0x803C3354@ha */ -/* 8025C4B0 38 05 33 54 */ addi r0, r5, __vt__29dSvBit_childItPerfectionHIO_c@l /* 0x803C3354@l */ -/* 8025C4B4 90 1F 00 00 */ stw r0, 0(r31) -/* 8025C4B8 7C 80 07 35 */ extsh. r0, r4 -/* 8025C4BC 40 81 00 08 */ ble lbl_8025C4C4 -/* 8025C4C0 48 07 28 7D */ bl __dl__FPv -lbl_8025C4C4: -/* 8025C4C4 7F E3 FB 78 */ mr r3, r31 -/* 8025C4C8 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8025C4CC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8025C4D0 7C 08 03 A6 */ mtlr r0 -/* 8025C4D4 38 21 00 10 */ addi r1, r1, 0x10 -/* 8025C4D8 4E 80 00 20 */ blr diff --git a/asm/d/save/d_save_HIO/__dt__29dSvBit_childSwPerfectionHIO_cFv.s b/asm/d/save/d_save_HIO/__dt__29dSvBit_childSwPerfectionHIO_cFv.s deleted file mode 100644 index fcaa4bc78a..0000000000 --- a/asm/d/save/d_save_HIO/__dt__29dSvBit_childSwPerfectionHIO_cFv.s +++ /dev/null @@ -1,20 +0,0 @@ -lbl_8025C5B4: -/* 8025C5B4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8025C5B8 7C 08 02 A6 */ mflr r0 -/* 8025C5BC 90 01 00 14 */ stw r0, 0x14(r1) -/* 8025C5C0 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8025C5C4 7C 7F 1B 79 */ or. r31, r3, r3 -/* 8025C5C8 41 82 00 1C */ beq lbl_8025C5E4 -/* 8025C5CC 3C A0 80 3C */ lis r5, __vt__29dSvBit_childSwPerfectionHIO_c@ha /* 0x803C3384@ha */ -/* 8025C5D0 38 05 33 84 */ addi r0, r5, __vt__29dSvBit_childSwPerfectionHIO_c@l /* 0x803C3384@l */ -/* 8025C5D4 90 1F 00 00 */ stw r0, 0(r31) -/* 8025C5D8 7C 80 07 35 */ extsh. r0, r4 -/* 8025C5DC 40 81 00 08 */ ble lbl_8025C5E4 -/* 8025C5E0 48 07 27 5D */ bl __dl__FPv -lbl_8025C5E4: -/* 8025C5E4 7F E3 FB 78 */ mr r3, r31 -/* 8025C5E8 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8025C5EC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8025C5F0 7C 08 03 A6 */ mtlr r0 -/* 8025C5F4 38 21 00 10 */ addi r1, r1, 0x10 -/* 8025C5F8 4E 80 00 20 */ blr diff --git a/asm/d/save/d_save_HIO/__dt__29dSvBit_childTbPerfectionHIO_cFv.s b/asm/d/save/d_save_HIO/__dt__29dSvBit_childTbPerfectionHIO_cFv.s deleted file mode 100644 index a7a7248f8e..0000000000 --- a/asm/d/save/d_save_HIO/__dt__29dSvBit_childTbPerfectionHIO_cFv.s +++ /dev/null @@ -1,20 +0,0 @@ -lbl_8025C374: -/* 8025C374 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8025C378 7C 08 02 A6 */ mflr r0 -/* 8025C37C 90 01 00 14 */ stw r0, 0x14(r1) -/* 8025C380 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8025C384 7C 7F 1B 79 */ or. r31, r3, r3 -/* 8025C388 41 82 00 1C */ beq lbl_8025C3A4 -/* 8025C38C 3C A0 80 3C */ lis r5, __vt__29dSvBit_childTbPerfectionHIO_c@ha /* 0x803C3324@ha */ -/* 8025C390 38 05 33 24 */ addi r0, r5, __vt__29dSvBit_childTbPerfectionHIO_c@l /* 0x803C3324@l */ -/* 8025C394 90 1F 00 00 */ stw r0, 0(r31) -/* 8025C398 7C 80 07 35 */ extsh. r0, r4 -/* 8025C39C 40 81 00 08 */ ble lbl_8025C3A4 -/* 8025C3A0 48 07 29 9D */ bl __dl__FPv -lbl_8025C3A4: -/* 8025C3A4 7F E3 FB 78 */ mr r3, r31 -/* 8025C3A8 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8025C3AC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8025C3B0 7C 08 03 A6 */ mtlr r0 -/* 8025C3B4 38 21 00 10 */ addi r1, r1, 0x10 -/* 8025C3B8 4E 80 00 20 */ blr diff --git a/asm/d/save/d_save_HIO/__sinit_d_save_HIO_cpp.s b/asm/d/save/d_save_HIO/__sinit_d_save_HIO_cpp.s deleted file mode 100644 index 69f1b34c78..0000000000 --- a/asm/d/save/d_save_HIO/__sinit_d_save_HIO_cpp.s +++ /dev/null @@ -1,65 +0,0 @@ -lbl_8025C5FC: -/* 8025C5FC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8025C600 7C 08 02 A6 */ mflr r0 -/* 8025C604 90 01 00 14 */ stw r0, 0x14(r1) -/* 8025C608 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8025C60C 3C 60 80 3C */ lis r3, __vt__12dSvBit_HIO_c@ha /* 0x803C33B4@ha */ -/* 8025C610 38 03 33 B4 */ addi r0, r3, __vt__12dSvBit_HIO_c@l /* 0x803C33B4@l */ -/* 8025C614 3C 60 80 43 */ lis r3, g_save_bit_HIO@ha /* 0x804307EC@ha */ -/* 8025C618 3B E3 07 EC */ addi r31, r3, g_save_bit_HIO@l /* 0x804307EC@l */ -/* 8025C61C 90 1F 00 00 */ stw r0, 0(r31) -/* 8025C620 3C 60 80 3C */ lis r3, __vt__23dSvBit_childSwitchHIO_c@ha /* 0x803C33A8@ha */ -/* 8025C624 38 03 33 A8 */ addi r0, r3, __vt__23dSvBit_childSwitchHIO_c@l /* 0x803C33A8@l */ -/* 8025C628 90 1F 00 08 */ stw r0, 8(r31) -/* 8025C62C 38 7F 00 10 */ addi r3, r31, 0x10 -/* 8025C630 4B FF F5 49 */ bl __ct__29dSvBit_childSwPerfectionHIO_cFv -/* 8025C634 38 7F 01 18 */ addi r3, r31, 0x118 -/* 8025C638 4B FF F5 DD */ bl __ct__26dSvBit_childSwDungeonHIO_cFv -/* 8025C63C 38 7F 01 A0 */ addi r3, r31, 0x1a0 -/* 8025C640 4B FF F6 71 */ bl __ct__23dSvBit_childSwZoneHIO_cFv -/* 8025C644 38 7F 01 E8 */ addi r3, r31, 0x1e8 -/* 8025C648 4B FF F6 C9 */ bl __ct__26dSvBit_childSwOneZoneHIO_cFv -/* 8025C64C 3C 60 80 43 */ lis r3, g_save_bit_HIO@ha /* 0x804307EC@ha */ -/* 8025C650 3B E3 07 EC */ addi r31, r3, g_save_bit_HIO@l /* 0x804307EC@l */ -/* 8025C654 3C 60 80 3C */ lis r3, __vt__21dSvBit_childItemHIO_c@ha /* 0x803C339C@ha */ -/* 8025C658 38 03 33 9C */ addi r0, r3, __vt__21dSvBit_childItemHIO_c@l /* 0x803C339C@l */ -/* 8025C65C 90 1F 02 10 */ stw r0, 0x210(r31) -/* 8025C660 38 7F 02 18 */ addi r3, r31, 0x218 -/* 8025C664 4B FF F7 0D */ bl __ct__29dSvBit_childItPerfectionHIO_cFv -/* 8025C668 38 7F 02 60 */ addi r3, r31, 0x260 -/* 8025C66C 4B FF F7 A1 */ bl __ct__26dSvBit_childItDungeonHIO_cFv -/* 8025C670 38 7F 03 68 */ addi r3, r31, 0x368 -/* 8025C674 4B FF F8 35 */ bl __ct__23dSvBit_childItZoneHIO_cFv -/* 8025C678 38 7F 03 B0 */ addi r3, r31, 0x3b0 -/* 8025C67C 4B FF F8 8D */ bl __ct__26dSvBit_childItOneZoneHIO_cFv -/* 8025C680 3C 60 80 43 */ lis r3, g_save_bit_HIO@ha /* 0x804307EC@ha */ -/* 8025C684 38 83 07 EC */ addi r4, r3, g_save_bit_HIO@l /* 0x804307EC@l */ -/* 8025C688 3C 60 80 3C */ lis r3, __vt__25dSvBit_childTreasureHIO_c@ha /* 0x803C3390@ha */ -/* 8025C68C 38 03 33 90 */ addi r0, r3, __vt__25dSvBit_childTreasureHIO_c@l /* 0x803C3390@l */ -/* 8025C690 90 04 03 D8 */ stw r0, 0x3d8(r4) -/* 8025C694 38 64 03 E0 */ addi r3, r4, 0x3e0 -/* 8025C698 4B FF F8 D1 */ bl __ct__29dSvBit_childTbPerfectionHIO_cFv -/* 8025C69C 3C 60 80 43 */ lis r3, g_save_bit_HIO@ha /* 0x804307EC@ha */ -/* 8025C6A0 38 63 07 EC */ addi r3, r3, g_save_bit_HIO@l /* 0x804307EC@l */ -/* 8025C6A4 38 63 04 68 */ addi r3, r3, 0x468 -/* 8025C6A8 4B FF F9 5D */ bl __ct__25dSvBit_childDarknessHIO_cFv -/* 8025C6AC 3C 60 80 43 */ lis r3, g_save_bit_HIO@ha /* 0x804307EC@ha */ -/* 8025C6B0 38 63 07 EC */ addi r3, r3, g_save_bit_HIO@l /* 0x804307EC@l */ -/* 8025C6B4 38 63 04 7C */ addi r3, r3, 0x47c -/* 8025C6B8 4B FF F9 E9 */ bl __ct__26dSvBit_childTransformHIO_cFv -/* 8025C6BC 3C 60 80 43 */ lis r3, g_save_bit_HIO@ha /* 0x804307EC@ha */ -/* 8025C6C0 38 63 07 EC */ addi r3, r3, g_save_bit_HIO@l /* 0x804307EC@l */ -/* 8025C6C4 38 63 04 8C */ addi r3, r3, 0x48c -/* 8025C6C8 4B FF FA 75 */ bl __ct__22dSvBit_childOtherHIO_cFv -/* 8025C6CC 3C 60 80 43 */ lis r3, g_save_bit_HIO@ha /* 0x804307EC@ha */ -/* 8025C6D0 38 63 07 EC */ addi r3, r3, g_save_bit_HIO@l /* 0x804307EC@l */ -/* 8025C6D4 3C 80 80 26 */ lis r4, __dt__12dSvBit_HIO_cFv@ha /* 0x8025C6FC@ha */ -/* 8025C6D8 38 84 C6 FC */ addi r4, r4, __dt__12dSvBit_HIO_cFv@l /* 0x8025C6FC@l */ -/* 8025C6DC 3C A0 80 43 */ lis r5, lit_3659@ha /* 0x804307E0@ha */ -/* 8025C6E0 38 A5 07 E0 */ addi r5, r5, lit_3659@l /* 0x804307E0@l */ -/* 8025C6E4 48 10 55 41 */ bl __register_global_object -/* 8025C6E8 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8025C6EC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8025C6F0 7C 08 03 A6 */ mtlr r0 -/* 8025C6F4 38 21 00 10 */ addi r1, r1, 0x10 -/* 8025C6F8 4E 80 00 20 */ blr diff --git a/asm/d/save/d_save_HIO/init__12dSvBit_HIO_cFv.s b/asm/d/save/d_save_HIO/init__12dSvBit_HIO_cFv.s deleted file mode 100644 index e6259f920f..0000000000 --- a/asm/d/save/d_save_HIO/init__12dSvBit_HIO_cFv.s +++ /dev/null @@ -1,42 +0,0 @@ -lbl_8025C1F8: -/* 8025C1F8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8025C1FC 7C 08 02 A6 */ mflr r0 -/* 8025C200 90 01 00 14 */ stw r0, 0x14(r1) -/* 8025C204 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8025C208 7C 7F 1B 78 */ mr r31, r3 -/* 8025C20C 38 7F 00 10 */ addi r3, r31, 0x10 -/* 8025C210 4B FF F9 9D */ bl init__29dSvBit_childSwPerfectionHIO_cFv -/* 8025C214 38 7F 01 18 */ addi r3, r31, 0x118 -/* 8025C218 4B FF FA 31 */ bl init__26dSvBit_childSwDungeonHIO_cFv -/* 8025C21C 38 7F 01 A0 */ addi r3, r31, 0x1a0 -/* 8025C220 4B FF FA C5 */ bl init__23dSvBit_childSwZoneHIO_cFv -/* 8025C224 38 7F 01 E8 */ addi r3, r31, 0x1e8 -/* 8025C228 4B FF FB 1D */ bl init__26dSvBit_childSwOneZoneHIO_cFv -/* 8025C22C 38 7F 02 18 */ addi r3, r31, 0x218 -/* 8025C230 4B FF FB 75 */ bl init__29dSvBit_childItPerfectionHIO_cFv -/* 8025C234 38 7F 02 60 */ addi r3, r31, 0x260 -/* 8025C238 4B FF FC 09 */ bl init__26dSvBit_childItDungeonHIO_cFv -/* 8025C23C 38 7F 03 68 */ addi r3, r31, 0x368 -/* 8025C240 4B FF FC 9D */ bl init__23dSvBit_childItZoneHIO_cFv -/* 8025C244 38 7F 03 B0 */ addi r3, r31, 0x3b0 -/* 8025C248 4B FF FC F5 */ bl init__26dSvBit_childItOneZoneHIO_cFv -/* 8025C24C 38 7F 03 E0 */ addi r3, r31, 0x3e0 -/* 8025C250 4B FF FD 4D */ bl init__29dSvBit_childTbPerfectionHIO_cFv -/* 8025C254 38 7F 04 68 */ addi r3, r31, 0x468 -/* 8025C258 4B FF FD E1 */ bl init__25dSvBit_childDarknessHIO_cFv -/* 8025C25C 38 7F 04 7C */ addi r3, r31, 0x47c -/* 8025C260 4B FF FE 75 */ bl init__26dSvBit_childTransformHIO_cFv -/* 8025C264 38 7F 04 8C */ addi r3, r31, 0x48c -/* 8025C268 4B FF FF 11 */ bl init__22dSvBit_childOtherHIO_cFv -/* 8025C26C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8025C270 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8025C274 38 63 07 F0 */ addi r3, r3, 0x7f0 -/* 8025C278 38 80 0D 04 */ li r4, 0xd04 -/* 8025C27C 4B DD 87 41 */ bl isEventBit__11dSv_event_cCFUs -/* 8025C280 98 7F 04 9D */ stb r3, 0x49d(r31) -/* 8025C284 98 7F 04 9C */ stb r3, 0x49c(r31) -/* 8025C288 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8025C28C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8025C290 7C 08 03 A6 */ mtlr r0 -/* 8025C294 38 21 00 10 */ addi r1, r1, 0x10 -/* 8025C298 4E 80 00 20 */ blr diff --git a/asm/d/save/d_save_HIO/init__22dSvBit_childOtherHIO_cFv.s b/asm/d/save/d_save_HIO/init__22dSvBit_childOtherHIO_cFv.s deleted file mode 100644 index 0d4cdf4d36..0000000000 --- a/asm/d/save/d_save_HIO/init__22dSvBit_childOtherHIO_cFv.s +++ /dev/null @@ -1,34 +0,0 @@ -lbl_8025C178: -/* 8025C178 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8025C17C 7C 08 02 A6 */ mflr r0 -/* 8025C180 90 01 00 24 */ stw r0, 0x24(r1) -/* 8025C184 39 61 00 20 */ addi r11, r1, 0x20 -/* 8025C188 48 10 60 55 */ bl _savegpr_29 -/* 8025C18C 7C 7D 1B 78 */ mr r29, r3 -/* 8025C190 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8025C194 38 83 61 C0 */ addi r4, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8025C198 3B E4 01 14 */ addi r31, r4, 0x114 -/* 8025C19C 7F E3 FB 78 */ mr r3, r31 -/* 8025C1A0 88 84 4E 0C */ lbz r4, 0x4e0c(r4) -/* 8025C1A4 4B DD 81 9D */ bl getLightDropNum__16dSv_light_drop_cCFUc -/* 8025C1A8 98 7D 00 05 */ stb r3, 5(r29) -/* 8025C1AC 88 1D 00 05 */ lbz r0, 5(r29) -/* 8025C1B0 98 1D 00 06 */ stb r0, 6(r29) -/* 8025C1B4 3B C0 00 00 */ li r30, 0 -lbl_8025C1B8: -/* 8025C1B8 7F E3 FB 78 */ mr r3, r31 -/* 8025C1BC 57 C4 06 3E */ clrlwi r4, r30, 0x18 -/* 8025C1C0 4B DD 81 DD */ bl isLightDropGetFlag__16dSv_light_drop_cCFUc -/* 8025C1C4 7C 9D F2 14 */ add r4, r29, r30 -/* 8025C1C8 98 64 00 07 */ stb r3, 7(r4) -/* 8025C1CC 88 04 00 07 */ lbz r0, 7(r4) -/* 8025C1D0 98 04 00 0B */ stb r0, 0xb(r4) -/* 8025C1D4 3B DE 00 01 */ addi r30, r30, 1 -/* 8025C1D8 2C 1E 00 04 */ cmpwi r30, 4 -/* 8025C1DC 41 80 FF DC */ blt lbl_8025C1B8 -/* 8025C1E0 39 61 00 20 */ addi r11, r1, 0x20 -/* 8025C1E4 48 10 60 45 */ bl _restgpr_29 -/* 8025C1E8 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8025C1EC 7C 08 03 A6 */ mtlr r0 -/* 8025C1F0 38 21 00 20 */ addi r1, r1, 0x20 -/* 8025C1F4 4E 80 00 20 */ blr diff --git a/asm/d/save/d_save_HIO/init__23dSvBit_childItZoneHIO_cFv.s b/asm/d/save/d_save_HIO/init__23dSvBit_childItZoneHIO_cFv.s deleted file mode 100644 index 7595d0a5cd..0000000000 --- a/asm/d/save/d_save_HIO/init__23dSvBit_childItZoneHIO_cFv.s +++ /dev/null @@ -1,13 +0,0 @@ -lbl_8025BEDC: -/* 8025BEDC 38 C0 00 00 */ li r6, 0 -/* 8025BEE0 38 80 00 00 */ li r4, 0 -/* 8025BEE4 38 00 00 20 */ li r0, 0x20 -/* 8025BEE8 7C 09 03 A6 */ mtctr r0 -lbl_8025BEEC: -/* 8025BEEC 7C A3 32 14 */ add r5, r3, r6 -/* 8025BEF0 98 85 00 05 */ stb r4, 5(r5) -/* 8025BEF4 88 05 00 05 */ lbz r0, 5(r5) -/* 8025BEF8 98 05 00 25 */ stb r0, 0x25(r5) -/* 8025BEFC 38 C6 00 01 */ addi r6, r6, 1 -/* 8025BF00 42 00 FF EC */ bdnz lbl_8025BEEC -/* 8025BF04 4E 80 00 20 */ blr diff --git a/asm/d/save/d_save_HIO/init__23dSvBit_childSwZoneHIO_cFv.s b/asm/d/save/d_save_HIO/init__23dSvBit_childSwZoneHIO_cFv.s deleted file mode 100644 index 65a84a3e83..0000000000 --- a/asm/d/save/d_save_HIO/init__23dSvBit_childSwZoneHIO_cFv.s +++ /dev/null @@ -1,13 +0,0 @@ -lbl_8025BCE4: -/* 8025BCE4 38 C0 00 00 */ li r6, 0 -/* 8025BCE8 38 80 00 00 */ li r4, 0 -/* 8025BCEC 38 00 00 20 */ li r0, 0x20 -/* 8025BCF0 7C 09 03 A6 */ mtctr r0 -lbl_8025BCF4: -/* 8025BCF4 7C A3 32 14 */ add r5, r3, r6 -/* 8025BCF8 98 85 00 05 */ stb r4, 5(r5) -/* 8025BCFC 88 05 00 05 */ lbz r0, 5(r5) -/* 8025BD00 98 05 00 25 */ stb r0, 0x25(r5) -/* 8025BD04 38 C6 00 01 */ addi r6, r6, 1 -/* 8025BD08 42 00 FF EC */ bdnz lbl_8025BCF4 -/* 8025BD0C 4E 80 00 20 */ blr diff --git a/asm/d/save/d_save_HIO/init__25dSvBit_childDarknessHIO_cFv.s b/asm/d/save/d_save_HIO/init__25dSvBit_childDarknessHIO_cFv.s deleted file mode 100644 index 382d8273ce..0000000000 --- a/asm/d/save/d_save_HIO/init__25dSvBit_childDarknessHIO_cFv.s +++ /dev/null @@ -1,28 +0,0 @@ -lbl_8025C038: -/* 8025C038 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8025C03C 7C 08 02 A6 */ mflr r0 -/* 8025C040 90 01 00 24 */ stw r0, 0x24(r1) -/* 8025C044 39 61 00 20 */ addi r11, r1, 0x20 -/* 8025C048 48 10 61 95 */ bl _savegpr_29 -/* 8025C04C 7C 7D 1B 78 */ mr r29, r3 -/* 8025C050 3B C0 00 00 */ li r30, 0 -/* 8025C054 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8025C058 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8025C05C 3B E3 00 28 */ addi r31, r3, 0x28 -lbl_8025C060: -/* 8025C060 7F E3 FB 78 */ mr r3, r31 -/* 8025C064 7F C4 F3 78 */ mr r4, r30 -/* 8025C068 4B DD 6B 49 */ bl isDarkClearLV__21dSv_player_status_b_cCFi -/* 8025C06C 7C 9D F2 14 */ add r4, r29, r30 -/* 8025C070 98 64 00 05 */ stb r3, 5(r4) -/* 8025C074 88 04 00 05 */ lbz r0, 5(r4) -/* 8025C078 98 04 00 0B */ stb r0, 0xb(r4) -/* 8025C07C 3B DE 00 01 */ addi r30, r30, 1 -/* 8025C080 2C 1E 00 06 */ cmpwi r30, 6 -/* 8025C084 41 80 FF DC */ blt lbl_8025C060 -/* 8025C088 39 61 00 20 */ addi r11, r1, 0x20 -/* 8025C08C 48 10 61 9D */ bl _restgpr_29 -/* 8025C090 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8025C094 7C 08 03 A6 */ mtlr r0 -/* 8025C098 38 21 00 20 */ addi r1, r1, 0x20 -/* 8025C09C 4E 80 00 20 */ blr diff --git a/asm/d/save/d_save_HIO/init__26dSvBit_childItDungeonHIO_cFv.s b/asm/d/save/d_save_HIO/init__26dSvBit_childItDungeonHIO_cFv.s deleted file mode 100644 index 3e786b7f9f..0000000000 --- a/asm/d/save/d_save_HIO/init__26dSvBit_childItDungeonHIO_cFv.s +++ /dev/null @@ -1,28 +0,0 @@ -lbl_8025BE40: -/* 8025BE40 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8025BE44 7C 08 02 A6 */ mflr r0 -/* 8025BE48 90 01 00 24 */ stw r0, 0x24(r1) -/* 8025BE4C 39 61 00 20 */ addi r11, r1, 0x20 -/* 8025BE50 48 10 63 8D */ bl _savegpr_29 -/* 8025BE54 7C 7D 1B 78 */ mr r29, r3 -/* 8025BE58 3B C0 00 00 */ li r30, 0 -/* 8025BE5C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8025BE60 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8025BE64 3B E3 09 78 */ addi r31, r3, 0x978 -lbl_8025BE68: -/* 8025BE68 7F E3 FB 78 */ mr r3, r31 -/* 8025BE6C 7F C4 F3 78 */ mr r4, r30 -/* 8025BE70 4B DD 8E 05 */ bl isItem__12dSv_danBit_cCFi -/* 8025BE74 7C 9D F2 14 */ add r4, r29, r30 -/* 8025BE78 98 64 00 05 */ stb r3, 5(r4) -/* 8025BE7C 88 04 00 05 */ lbz r0, 5(r4) -/* 8025BE80 98 04 00 85 */ stb r0, 0x85(r4) -/* 8025BE84 3B DE 00 01 */ addi r30, r30, 1 -/* 8025BE88 2C 1E 00 80 */ cmpwi r30, 0x80 -/* 8025BE8C 41 80 FF DC */ blt lbl_8025BE68 -/* 8025BE90 39 61 00 20 */ addi r11, r1, 0x20 -/* 8025BE94 48 10 63 95 */ bl _restgpr_29 -/* 8025BE98 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8025BE9C 7C 08 03 A6 */ mtlr r0 -/* 8025BEA0 38 21 00 20 */ addi r1, r1, 0x20 -/* 8025BEA4 4E 80 00 20 */ blr diff --git a/asm/d/save/d_save_HIO/init__26dSvBit_childItOneZoneHIO_cFv.s b/asm/d/save/d_save_HIO/init__26dSvBit_childItOneZoneHIO_cFv.s deleted file mode 100644 index 8975c81b1f..0000000000 --- a/asm/d/save/d_save_HIO/init__26dSvBit_childItOneZoneHIO_cFv.s +++ /dev/null @@ -1,13 +0,0 @@ -lbl_8025BF3C: -/* 8025BF3C 38 C0 00 00 */ li r6, 0 -/* 8025BF40 38 80 00 00 */ li r4, 0 -/* 8025BF44 38 00 00 10 */ li r0, 0x10 -/* 8025BF48 7C 09 03 A6 */ mtctr r0 -lbl_8025BF4C: -/* 8025BF4C 7C A3 32 14 */ add r5, r3, r6 -/* 8025BF50 98 85 00 05 */ stb r4, 5(r5) -/* 8025BF54 88 05 00 05 */ lbz r0, 5(r5) -/* 8025BF58 98 05 00 15 */ stb r0, 0x15(r5) -/* 8025BF5C 38 C6 00 01 */ addi r6, r6, 1 -/* 8025BF60 42 00 FF EC */ bdnz lbl_8025BF4C -/* 8025BF64 4E 80 00 20 */ blr diff --git a/asm/d/save/d_save_HIO/init__26dSvBit_childSwDungeonHIO_cFv.s b/asm/d/save/d_save_HIO/init__26dSvBit_childSwDungeonHIO_cFv.s deleted file mode 100644 index b415cc80ee..0000000000 --- a/asm/d/save/d_save_HIO/init__26dSvBit_childSwDungeonHIO_cFv.s +++ /dev/null @@ -1,28 +0,0 @@ -lbl_8025BC48: -/* 8025BC48 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8025BC4C 7C 08 02 A6 */ mflr r0 -/* 8025BC50 90 01 00 24 */ stw r0, 0x24(r1) -/* 8025BC54 39 61 00 20 */ addi r11, r1, 0x20 -/* 8025BC58 48 10 65 85 */ bl _savegpr_29 -/* 8025BC5C 7C 7D 1B 78 */ mr r29, r3 -/* 8025BC60 3B C0 00 00 */ li r30, 0 -/* 8025BC64 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8025BC68 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8025BC6C 3B E3 09 78 */ addi r31, r3, 0x978 -lbl_8025BC70: -/* 8025BC70 7F E3 FB 78 */ mr r3, r31 -/* 8025BC74 7F C4 F3 78 */ mr r4, r30 -/* 8025BC78 4B DD 8F 71 */ bl isSwitch__12dSv_danBit_cCFi -/* 8025BC7C 7C 9D F2 14 */ add r4, r29, r30 -/* 8025BC80 98 64 00 05 */ stb r3, 5(r4) -/* 8025BC84 88 04 00 05 */ lbz r0, 5(r4) -/* 8025BC88 98 04 00 45 */ stb r0, 0x45(r4) -/* 8025BC8C 3B DE 00 01 */ addi r30, r30, 1 -/* 8025BC90 2C 1E 00 40 */ cmpwi r30, 0x40 -/* 8025BC94 41 80 FF DC */ blt lbl_8025BC70 -/* 8025BC98 39 61 00 20 */ addi r11, r1, 0x20 -/* 8025BC9C 48 10 65 8D */ bl _restgpr_29 -/* 8025BCA0 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8025BCA4 7C 08 03 A6 */ mtlr r0 -/* 8025BCA8 38 21 00 20 */ addi r1, r1, 0x20 -/* 8025BCAC 4E 80 00 20 */ blr diff --git a/asm/d/save/d_save_HIO/init__26dSvBit_childSwOneZoneHIO_cFv.s b/asm/d/save/d_save_HIO/init__26dSvBit_childSwOneZoneHIO_cFv.s deleted file mode 100644 index cbdfb86832..0000000000 --- a/asm/d/save/d_save_HIO/init__26dSvBit_childSwOneZoneHIO_cFv.s +++ /dev/null @@ -1,13 +0,0 @@ -lbl_8025BD44: -/* 8025BD44 38 C0 00 00 */ li r6, 0 -/* 8025BD48 38 80 00 00 */ li r4, 0 -/* 8025BD4C 38 00 00 10 */ li r0, 0x10 -/* 8025BD50 7C 09 03 A6 */ mtctr r0 -lbl_8025BD54: -/* 8025BD54 7C A3 32 14 */ add r5, r3, r6 -/* 8025BD58 98 85 00 05 */ stb r4, 5(r5) -/* 8025BD5C 88 05 00 05 */ lbz r0, 5(r5) -/* 8025BD60 98 05 00 15 */ stb r0, 0x15(r5) -/* 8025BD64 38 C6 00 01 */ addi r6, r6, 1 -/* 8025BD68 42 00 FF EC */ bdnz lbl_8025BD54 -/* 8025BD6C 4E 80 00 20 */ blr diff --git a/asm/d/save/d_save_HIO/init__26dSvBit_childTransformHIO_cFv.s b/asm/d/save/d_save_HIO/init__26dSvBit_childTransformHIO_cFv.s deleted file mode 100644 index 5359fa0825..0000000000 --- a/asm/d/save/d_save_HIO/init__26dSvBit_childTransformHIO_cFv.s +++ /dev/null @@ -1,28 +0,0 @@ -lbl_8025C0D4: -/* 8025C0D4 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8025C0D8 7C 08 02 A6 */ mflr r0 -/* 8025C0DC 90 01 00 24 */ stw r0, 0x24(r1) -/* 8025C0E0 39 61 00 20 */ addi r11, r1, 0x20 -/* 8025C0E4 48 10 60 F9 */ bl _savegpr_29 -/* 8025C0E8 7C 7D 1B 78 */ mr r29, r3 -/* 8025C0EC 3B C0 00 00 */ li r30, 0 -/* 8025C0F0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8025C0F4 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8025C0F8 3B E3 00 28 */ addi r31, r3, 0x28 -lbl_8025C0FC: -/* 8025C0FC 7F E3 FB 78 */ mr r3, r31 -/* 8025C100 7F C4 F3 78 */ mr r4, r30 -/* 8025C104 4B DD 6A E9 */ bl isTransformLV__21dSv_player_status_b_cCFi -/* 8025C108 7C 9D F2 14 */ add r4, r29, r30 -/* 8025C10C 98 64 00 05 */ stb r3, 5(r4) -/* 8025C110 88 04 00 05 */ lbz r0, 5(r4) -/* 8025C114 98 04 00 09 */ stb r0, 9(r4) -/* 8025C118 3B DE 00 01 */ addi r30, r30, 1 -/* 8025C11C 2C 1E 00 04 */ cmpwi r30, 4 -/* 8025C120 41 80 FF DC */ blt lbl_8025C0FC -/* 8025C124 39 61 00 20 */ addi r11, r1, 0x20 -/* 8025C128 48 10 61 01 */ bl _restgpr_29 -/* 8025C12C 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8025C130 7C 08 03 A6 */ mtlr r0 -/* 8025C134 38 21 00 20 */ addi r1, r1, 0x20 -/* 8025C138 4E 80 00 20 */ blr diff --git a/asm/d/save/d_save_HIO/init__29dSvBit_childItPerfectionHIO_cFv.s b/asm/d/save/d_save_HIO/init__29dSvBit_childItPerfectionHIO_cFv.s deleted file mode 100644 index 4f76fd98c2..0000000000 --- a/asm/d/save/d_save_HIO/init__29dSvBit_childItPerfectionHIO_cFv.s +++ /dev/null @@ -1,28 +0,0 @@ -lbl_8025BDA4: -/* 8025BDA4 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8025BDA8 7C 08 02 A6 */ mflr r0 -/* 8025BDAC 90 01 00 24 */ stw r0, 0x24(r1) -/* 8025BDB0 39 61 00 20 */ addi r11, r1, 0x20 -/* 8025BDB4 48 10 64 29 */ bl _savegpr_29 -/* 8025BDB8 7C 7D 1B 78 */ mr r29, r3 -/* 8025BDBC 3B C0 00 00 */ li r30, 0 -/* 8025BDC0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8025BDC4 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8025BDC8 3B E3 09 58 */ addi r31, r3, 0x958 -lbl_8025BDCC: -/* 8025BDCC 7F E3 FB 78 */ mr r3, r31 -/* 8025BDD0 7F C4 F3 78 */ mr r4, r30 -/* 8025BDD4 4B DD 8B 19 */ bl isItem__12dSv_memBit_cCFi -/* 8025BDD8 7C 9D F2 14 */ add r4, r29, r30 -/* 8025BDDC 98 64 00 05 */ stb r3, 5(r4) -/* 8025BDE0 88 04 00 05 */ lbz r0, 5(r4) -/* 8025BDE4 98 04 00 25 */ stb r0, 0x25(r4) -/* 8025BDE8 3B DE 00 01 */ addi r30, r30, 1 -/* 8025BDEC 2C 1E 00 20 */ cmpwi r30, 0x20 -/* 8025BDF0 41 80 FF DC */ blt lbl_8025BDCC -/* 8025BDF4 39 61 00 20 */ addi r11, r1, 0x20 -/* 8025BDF8 48 10 64 31 */ bl _restgpr_29 -/* 8025BDFC 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8025BE00 7C 08 03 A6 */ mtlr r0 -/* 8025BE04 38 21 00 20 */ addi r1, r1, 0x20 -/* 8025BE08 4E 80 00 20 */ blr diff --git a/asm/d/save/d_save_HIO/init__29dSvBit_childSwPerfectionHIO_cFv.s b/asm/d/save/d_save_HIO/init__29dSvBit_childSwPerfectionHIO_cFv.s deleted file mode 100644 index f0ed57ae9c..0000000000 --- a/asm/d/save/d_save_HIO/init__29dSvBit_childSwPerfectionHIO_cFv.s +++ /dev/null @@ -1,28 +0,0 @@ -lbl_8025BBAC: -/* 8025BBAC 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8025BBB0 7C 08 02 A6 */ mflr r0 -/* 8025BBB4 90 01 00 24 */ stw r0, 0x24(r1) -/* 8025BBB8 39 61 00 20 */ addi r11, r1, 0x20 -/* 8025BBBC 48 10 66 21 */ bl _savegpr_29 -/* 8025BBC0 7C 7D 1B 78 */ mr r29, r3 -/* 8025BBC4 3B C0 00 00 */ li r30, 0 -/* 8025BBC8 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8025BBCC 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8025BBD0 3B E3 09 58 */ addi r31, r3, 0x958 -lbl_8025BBD4: -/* 8025BBD4 7F E3 FB 78 */ mr r3, r31 -/* 8025BBD8 7F C4 F3 78 */ mr r4, r30 -/* 8025BBDC 4B DD 8C 85 */ bl isSwitch__12dSv_memBit_cCFi -/* 8025BBE0 7C 9D F2 14 */ add r4, r29, r30 -/* 8025BBE4 98 64 00 05 */ stb r3, 5(r4) -/* 8025BBE8 88 04 00 05 */ lbz r0, 5(r4) -/* 8025BBEC 98 04 00 85 */ stb r0, 0x85(r4) -/* 8025BBF0 3B DE 00 01 */ addi r30, r30, 1 -/* 8025BBF4 2C 1E 00 80 */ cmpwi r30, 0x80 -/* 8025BBF8 41 80 FF DC */ blt lbl_8025BBD4 -/* 8025BBFC 39 61 00 20 */ addi r11, r1, 0x20 -/* 8025BC00 48 10 66 29 */ bl _restgpr_29 -/* 8025BC04 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8025BC08 7C 08 03 A6 */ mtlr r0 -/* 8025BC0C 38 21 00 20 */ addi r1, r1, 0x20 -/* 8025BC10 4E 80 00 20 */ blr diff --git a/asm/d/save/d_save_HIO/init__29dSvBit_childTbPerfectionHIO_cFv.s b/asm/d/save/d_save_HIO/init__29dSvBit_childTbPerfectionHIO_cFv.s deleted file mode 100644 index 187aa6895a..0000000000 --- a/asm/d/save/d_save_HIO/init__29dSvBit_childTbPerfectionHIO_cFv.s +++ /dev/null @@ -1,28 +0,0 @@ -lbl_8025BF9C: -/* 8025BF9C 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8025BFA0 7C 08 02 A6 */ mflr r0 -/* 8025BFA4 90 01 00 24 */ stw r0, 0x24(r1) -/* 8025BFA8 39 61 00 20 */ addi r11, r1, 0x20 -/* 8025BFAC 48 10 62 31 */ bl _savegpr_29 -/* 8025BFB0 7C 7D 1B 78 */ mr r29, r3 -/* 8025BFB4 3B C0 00 00 */ li r30, 0 -/* 8025BFB8 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8025BFBC 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8025BFC0 3B E3 09 58 */ addi r31, r3, 0x958 -lbl_8025BFC4: -/* 8025BFC4 7F E3 FB 78 */ mr r3, r31 -/* 8025BFC8 7F C4 F3 78 */ mr r4, r30 -/* 8025BFCC 4B DD 88 1D */ bl isTbox__12dSv_memBit_cCFi -/* 8025BFD0 7C 9D F2 14 */ add r4, r29, r30 -/* 8025BFD4 98 64 00 05 */ stb r3, 5(r4) -/* 8025BFD8 88 04 00 05 */ lbz r0, 5(r4) -/* 8025BFDC 98 04 00 45 */ stb r0, 0x45(r4) -/* 8025BFE0 3B DE 00 01 */ addi r30, r30, 1 -/* 8025BFE4 2C 1E 00 40 */ cmpwi r30, 0x40 -/* 8025BFE8 41 80 FF DC */ blt lbl_8025BFC4 -/* 8025BFEC 39 61 00 20 */ addi r11, r1, 0x20 -/* 8025BFF0 48 10 62 39 */ bl _restgpr_29 -/* 8025BFF4 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8025BFF8 7C 08 03 A6 */ mtlr r0 -/* 8025BFFC 38 21 00 20 */ addi r1, r1, 0x20 -/* 8025C000 4E 80 00 20 */ blr diff --git a/asm/d/shop/d_shop_system/chooseItem3__13dShopSystem_cFUc.s b/asm/d/shop/d_shop_system/chooseItem3__13dShopSystem_cFUc.s deleted file mode 100644 index e354b4d7e8..0000000000 --- a/asm/d/shop/d_shop_system/chooseItem3__13dShopSystem_cFUc.s +++ /dev/null @@ -1,396 +0,0 @@ -lbl_80197808: -/* 80197808 94 21 FF C0 */ stwu r1, -0x40(r1) -/* 8019780C 7C 08 02 A6 */ mflr r0 -/* 80197810 90 01 00 44 */ stw r0, 0x44(r1) -/* 80197814 39 61 00 40 */ addi r11, r1, 0x40 -/* 80197818 48 1C A9 C5 */ bl _savegpr_29 -/* 8019781C 7C 7D 1B 78 */ mr r29, r3 -/* 80197820 7C 9E 23 78 */ mr r30, r4 -/* 80197824 8B E3 0F 6F */ lbz r31, 0xf6f(r3) -/* 80197828 80 83 0E 40 */ lwz r4, 0xe40(r3) -/* 8019782C 48 00 33 35 */ bl checkLeftTrigger__13dShopSystem_cFP9STControl -/* 80197830 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 80197834 41 82 02 1C */ beq lbl_80197A50 -/* 80197838 57 C3 06 3E */ clrlwi r3, r30, 0x18 -/* 8019783C 28 03 00 02 */ cmplwi r3, 2 -/* 80197840 41 82 02 10 */ beq lbl_80197A50 -/* 80197844 88 1D 0F 6E */ lbz r0, 0xf6e(r29) -/* 80197848 28 00 00 07 */ cmplwi r0, 7 -/* 8019784C 40 82 00 BC */ bne lbl_80197908 -/* 80197850 88 1D 0F 6F */ lbz r0, 0xf6f(r29) -/* 80197854 98 1D 0F 6E */ stb r0, 0xf6e(r29) -/* 80197858 38 00 00 07 */ li r0, 7 -/* 8019785C 98 1D 0F 6F */ stb r0, 0xf6f(r29) -/* 80197860 88 9D 0F 6E */ lbz r4, 0xf6e(r29) -/* 80197864 28 04 00 00 */ cmplwi r4, 0 -/* 80197868 41 82 00 28 */ beq lbl_80197890 -/* 8019786C 7F A3 EB 78 */ mr r3, r29 -/* 80197870 38 84 FF FF */ addi r4, r4, -1 -/* 80197874 4B FF FD 85 */ bl isFlag__13dShopSystem_cFi -/* 80197878 2C 03 00 00 */ cmpwi r3, 0 -/* 8019787C 41 82 00 14 */ beq lbl_80197890 -/* 80197880 88 1D 0F 6F */ lbz r0, 0xf6f(r29) -/* 80197884 98 1D 0F 6E */ stb r0, 0xf6e(r29) -/* 80197888 9B FD 0F 6F */ stb r31, 0xf6f(r29) -/* 8019788C 48 00 01 C4 */ b lbl_80197A50 -lbl_80197890: -/* 80197890 57 C0 06 3E */ clrlwi r0, r30, 0x18 -/* 80197894 28 00 00 01 */ cmplwi r0, 1 -/* 80197898 41 82 00 68 */ beq lbl_80197900 -/* 8019789C 88 1D 0F 6E */ lbz r0, 0xf6e(r29) -/* 801978A0 28 00 00 00 */ cmplwi r0, 0 -/* 801978A4 41 82 00 38 */ beq lbl_801978DC -/* 801978A8 38 00 00 5F */ li r0, 0x5f -/* 801978AC 90 01 00 20 */ stw r0, 0x20(r1) -/* 801978B0 80 6D 8D E8 */ lwz r3, mAudioMgrPtr__10Z2AudioMgr(r13) -/* 801978B4 38 81 00 20 */ addi r4, r1, 0x20 -/* 801978B8 38 A0 00 00 */ li r5, 0 -/* 801978BC 38 C0 00 00 */ li r6, 0 -/* 801978C0 38 E0 00 00 */ li r7, 0 -/* 801978C4 C0 22 A1 08 */ lfs f1, lit_4099(r2) -/* 801978C8 FC 40 08 90 */ fmr f2, f1 -/* 801978CC C0 62 A1 14 */ lfs f3, lit_4493(r2) -/* 801978D0 FC 80 18 90 */ fmr f4, f3 -/* 801978D4 39 00 00 00 */ li r8, 0 -/* 801978D8 48 11 40 AD */ bl seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc -lbl_801978DC: -/* 801978DC 88 1D 0F 6E */ lbz r0, 0xf6e(r29) -/* 801978E0 B0 1D 0F 4C */ sth r0, 0xf4c(r29) -/* 801978E4 C0 22 A1 18 */ lfs f1, lit_4494(r2) -/* 801978E8 D0 3D 0F 38 */ stfs f1, 0xf38(r29) -/* 801978EC C0 02 A1 1C */ lfs f0, lit_4495(r2) -/* 801978F0 D0 1D 0F 3C */ stfs f0, 0xf3c(r29) -/* 801978F4 D0 3D 0F 40 */ stfs f1, 0xf40(r29) -/* 801978F8 C0 02 A1 20 */ lfs f0, lit_4496(r2) -/* 801978FC D0 1D 0F 44 */ stfs f0, 0xf44(r29) -lbl_80197900: -/* 80197900 38 60 00 03 */ li r3, 3 -/* 80197904 48 00 04 B4 */ b lbl_80197DB8 -lbl_80197908: -/* 80197908 28 00 00 04 */ cmplwi r0, 4 -/* 8019790C 40 82 00 84 */ bne lbl_80197990 -/* 80197910 98 1D 0F 6F */ stb r0, 0xf6f(r29) -/* 80197914 38 00 00 00 */ li r0, 0 -/* 80197918 98 1D 0F 6E */ stb r0, 0xf6e(r29) -/* 8019791C 28 03 00 01 */ cmplwi r3, 1 -/* 80197920 41 82 00 68 */ beq lbl_80197988 -/* 80197924 88 1D 0F 6E */ lbz r0, 0xf6e(r29) -/* 80197928 28 00 00 00 */ cmplwi r0, 0 -/* 8019792C 41 82 00 38 */ beq lbl_80197964 -/* 80197930 38 00 00 5F */ li r0, 0x5f -/* 80197934 90 01 00 1C */ stw r0, 0x1c(r1) -/* 80197938 80 6D 8D E8 */ lwz r3, mAudioMgrPtr__10Z2AudioMgr(r13) -/* 8019793C 38 81 00 1C */ addi r4, r1, 0x1c -/* 80197940 38 A0 00 00 */ li r5, 0 -/* 80197944 38 C0 00 00 */ li r6, 0 -/* 80197948 38 E0 00 00 */ li r7, 0 -/* 8019794C C0 22 A1 08 */ lfs f1, lit_4099(r2) -/* 80197950 FC 40 08 90 */ fmr f2, f1 -/* 80197954 C0 62 A1 14 */ lfs f3, lit_4493(r2) -/* 80197958 FC 80 18 90 */ fmr f4, f3 -/* 8019795C 39 00 00 00 */ li r8, 0 -/* 80197960 48 11 40 25 */ bl seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc -lbl_80197964: -/* 80197964 88 1D 0F 6E */ lbz r0, 0xf6e(r29) -/* 80197968 B0 1D 0F 4C */ sth r0, 0xf4c(r29) -/* 8019796C C0 22 A1 18 */ lfs f1, lit_4494(r2) -/* 80197970 D0 3D 0F 38 */ stfs f1, 0xf38(r29) -/* 80197974 C0 02 A1 1C */ lfs f0, lit_4495(r2) -/* 80197978 D0 1D 0F 3C */ stfs f0, 0xf3c(r29) -/* 8019797C D0 3D 0F 40 */ stfs f1, 0xf40(r29) -/* 80197980 C0 02 A1 20 */ lfs f0, lit_4496(r2) -/* 80197984 D0 1D 0F 44 */ stfs f0, 0xf44(r29) -lbl_80197988: -/* 80197988 38 60 00 03 */ li r3, 3 -/* 8019798C 48 00 04 2C */ b lbl_80197DB8 -lbl_80197990: -/* 80197990 28 00 00 00 */ cmplwi r0, 0 -/* 80197994 41 82 00 BC */ beq lbl_80197A50 -/* 80197998 98 1D 0F 6F */ stb r0, 0xf6f(r29) -/* 8019799C 88 7D 0F 6E */ lbz r3, 0xf6e(r29) -/* 801979A0 38 03 FF FF */ addi r0, r3, -1 -/* 801979A4 98 1D 0F 6E */ stb r0, 0xf6e(r29) -/* 801979A8 88 9D 0F 6E */ lbz r4, 0xf6e(r29) -/* 801979AC 28 04 00 00 */ cmplwi r4, 0 -/* 801979B0 41 82 00 28 */ beq lbl_801979D8 -/* 801979B4 7F A3 EB 78 */ mr r3, r29 -/* 801979B8 38 84 FF FF */ addi r4, r4, -1 -/* 801979BC 4B FF FC 3D */ bl isFlag__13dShopSystem_cFi -/* 801979C0 2C 03 00 00 */ cmpwi r3, 0 -/* 801979C4 41 82 00 14 */ beq lbl_801979D8 -/* 801979C8 88 1D 0F 6F */ lbz r0, 0xf6f(r29) -/* 801979CC 98 1D 0F 6E */ stb r0, 0xf6e(r29) -/* 801979D0 9B FD 0F 6F */ stb r31, 0xf6f(r29) -/* 801979D4 48 00 00 7C */ b lbl_80197A50 -lbl_801979D8: -/* 801979D8 57 C0 06 3E */ clrlwi r0, r30, 0x18 -/* 801979DC 28 00 00 01 */ cmplwi r0, 1 -/* 801979E0 41 82 00 68 */ beq lbl_80197A48 -/* 801979E4 88 1D 0F 6E */ lbz r0, 0xf6e(r29) -/* 801979E8 28 00 00 00 */ cmplwi r0, 0 -/* 801979EC 41 82 00 38 */ beq lbl_80197A24 -/* 801979F0 38 00 00 5F */ li r0, 0x5f -/* 801979F4 90 01 00 18 */ stw r0, 0x18(r1) -/* 801979F8 80 6D 8D E8 */ lwz r3, mAudioMgrPtr__10Z2AudioMgr(r13) -/* 801979FC 38 81 00 18 */ addi r4, r1, 0x18 -/* 80197A00 38 A0 00 00 */ li r5, 0 -/* 80197A04 38 C0 00 00 */ li r6, 0 -/* 80197A08 38 E0 00 00 */ li r7, 0 -/* 80197A0C C0 22 A1 08 */ lfs f1, lit_4099(r2) -/* 80197A10 FC 40 08 90 */ fmr f2, f1 -/* 80197A14 C0 62 A1 14 */ lfs f3, lit_4493(r2) -/* 80197A18 FC 80 18 90 */ fmr f4, f3 -/* 80197A1C 39 00 00 00 */ li r8, 0 -/* 80197A20 48 11 3F 65 */ bl seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc -lbl_80197A24: -/* 80197A24 88 1D 0F 6E */ lbz r0, 0xf6e(r29) -/* 80197A28 B0 1D 0F 4C */ sth r0, 0xf4c(r29) -/* 80197A2C C0 22 A1 18 */ lfs f1, lit_4494(r2) -/* 80197A30 D0 3D 0F 38 */ stfs f1, 0xf38(r29) -/* 80197A34 C0 02 A1 1C */ lfs f0, lit_4495(r2) -/* 80197A38 D0 1D 0F 3C */ stfs f0, 0xf3c(r29) -/* 80197A3C D0 3D 0F 40 */ stfs f1, 0xf40(r29) -/* 80197A40 C0 02 A1 20 */ lfs f0, lit_4496(r2) -/* 80197A44 D0 1D 0F 44 */ stfs f0, 0xf44(r29) -lbl_80197A48: -/* 80197A48 38 60 00 03 */ li r3, 3 -/* 80197A4C 48 00 03 6C */ b lbl_80197DB8 -lbl_80197A50: -/* 80197A50 7F A3 EB 78 */ mr r3, r29 -/* 80197A54 80 9D 0E 40 */ lwz r4, 0xe40(r29) -/* 80197A58 48 00 31 2D */ bl checkRightTrigger__13dShopSystem_cFP9STControl -/* 80197A5C 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 80197A60 41 82 01 8C */ beq lbl_80197BEC -/* 80197A64 57 C0 06 3E */ clrlwi r0, r30, 0x18 -/* 80197A68 28 00 00 02 */ cmplwi r0, 2 -/* 80197A6C 41 82 01 80 */ beq lbl_80197BEC -/* 80197A70 88 7D 0F 6E */ lbz r3, 0xf6e(r29) -/* 80197A74 28 03 00 07 */ cmplwi r3, 7 -/* 80197A78 41 82 01 74 */ beq lbl_80197BEC -/* 80197A7C 28 03 00 03 */ cmplwi r3, 3 -/* 80197A80 41 82 00 B8 */ beq lbl_80197B38 -/* 80197A84 28 03 00 06 */ cmplwi r3, 6 -/* 80197A88 41 82 00 B0 */ beq lbl_80197B38 -/* 80197A8C 98 7D 0F 6F */ stb r3, 0xf6f(r29) -/* 80197A90 88 7D 0F 6E */ lbz r3, 0xf6e(r29) -/* 80197A94 38 03 00 01 */ addi r0, r3, 1 -/* 80197A98 98 1D 0F 6E */ stb r0, 0xf6e(r29) -/* 80197A9C 88 9D 0F 6E */ lbz r4, 0xf6e(r29) -/* 80197AA0 28 04 00 00 */ cmplwi r4, 0 -/* 80197AA4 41 82 00 28 */ beq lbl_80197ACC -/* 80197AA8 7F A3 EB 78 */ mr r3, r29 -/* 80197AAC 38 84 FF FF */ addi r4, r4, -1 -/* 80197AB0 4B FF FB 49 */ bl isFlag__13dShopSystem_cFi -/* 80197AB4 2C 03 00 00 */ cmpwi r3, 0 -/* 80197AB8 41 82 00 14 */ beq lbl_80197ACC -/* 80197ABC 88 1D 0F 6F */ lbz r0, 0xf6f(r29) -/* 80197AC0 98 1D 0F 6E */ stb r0, 0xf6e(r29) -/* 80197AC4 9B FD 0F 6F */ stb r31, 0xf6f(r29) -/* 80197AC8 48 00 01 24 */ b lbl_80197BEC -lbl_80197ACC: -/* 80197ACC 57 C0 06 3E */ clrlwi r0, r30, 0x18 -/* 80197AD0 28 00 00 01 */ cmplwi r0, 1 -/* 80197AD4 41 82 00 5C */ beq lbl_80197B30 -/* 80197AD8 38 00 00 5F */ li r0, 0x5f -/* 80197ADC 90 01 00 14 */ stw r0, 0x14(r1) -/* 80197AE0 80 6D 8D E8 */ lwz r3, mAudioMgrPtr__10Z2AudioMgr(r13) -/* 80197AE4 38 81 00 14 */ addi r4, r1, 0x14 -/* 80197AE8 38 A0 00 00 */ li r5, 0 -/* 80197AEC 38 C0 00 00 */ li r6, 0 -/* 80197AF0 38 E0 00 00 */ li r7, 0 -/* 80197AF4 C0 22 A1 08 */ lfs f1, lit_4099(r2) -/* 80197AF8 FC 40 08 90 */ fmr f2, f1 -/* 80197AFC C0 62 A1 14 */ lfs f3, lit_4493(r2) -/* 80197B00 FC 80 18 90 */ fmr f4, f3 -/* 80197B04 39 00 00 00 */ li r8, 0 -/* 80197B08 48 11 3E 7D */ bl seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc -/* 80197B0C 88 1D 0F 6E */ lbz r0, 0xf6e(r29) -/* 80197B10 B0 1D 0F 4C */ sth r0, 0xf4c(r29) -/* 80197B14 C0 22 A1 18 */ lfs f1, lit_4494(r2) -/* 80197B18 D0 3D 0F 38 */ stfs f1, 0xf38(r29) -/* 80197B1C C0 02 A1 1C */ lfs f0, lit_4495(r2) -/* 80197B20 D0 1D 0F 3C */ stfs f0, 0xf3c(r29) -/* 80197B24 D0 3D 0F 40 */ stfs f1, 0xf40(r29) -/* 80197B28 C0 02 A1 20 */ lfs f0, lit_4496(r2) -/* 80197B2C D0 1D 0F 44 */ stfs f0, 0xf44(r29) -lbl_80197B30: -/* 80197B30 38 60 00 04 */ li r3, 4 -/* 80197B34 48 00 02 84 */ b lbl_80197DB8 -lbl_80197B38: -/* 80197B38 88 0D 8A D8 */ lbz r0, data_80451058(r13) -/* 80197B3C 28 00 00 07 */ cmplwi r0, 7 -/* 80197B40 40 82 00 AC */ bne lbl_80197BEC -/* 80197B44 98 7D 0F 6F */ stb r3, 0xf6f(r29) -/* 80197B48 38 00 00 07 */ li r0, 7 -/* 80197B4C 98 1D 0F 6E */ stb r0, 0xf6e(r29) -/* 80197B50 88 9D 0F 6E */ lbz r4, 0xf6e(r29) -/* 80197B54 28 04 00 00 */ cmplwi r4, 0 -/* 80197B58 41 82 00 28 */ beq lbl_80197B80 -/* 80197B5C 7F A3 EB 78 */ mr r3, r29 -/* 80197B60 38 84 FF FF */ addi r4, r4, -1 -/* 80197B64 4B FF FA 95 */ bl isFlag__13dShopSystem_cFi -/* 80197B68 2C 03 00 00 */ cmpwi r3, 0 -/* 80197B6C 41 82 00 14 */ beq lbl_80197B80 -/* 80197B70 88 1D 0F 6F */ lbz r0, 0xf6f(r29) -/* 80197B74 98 1D 0F 6E */ stb r0, 0xf6e(r29) -/* 80197B78 9B FD 0F 6F */ stb r31, 0xf6f(r29) -/* 80197B7C 48 00 00 70 */ b lbl_80197BEC -lbl_80197B80: -/* 80197B80 57 C0 06 3E */ clrlwi r0, r30, 0x18 -/* 80197B84 28 00 00 01 */ cmplwi r0, 1 -/* 80197B88 41 82 00 5C */ beq lbl_80197BE4 -/* 80197B8C 38 00 00 5F */ li r0, 0x5f -/* 80197B90 90 01 00 10 */ stw r0, 0x10(r1) -/* 80197B94 80 6D 8D E8 */ lwz r3, mAudioMgrPtr__10Z2AudioMgr(r13) -/* 80197B98 38 81 00 10 */ addi r4, r1, 0x10 -/* 80197B9C 38 A0 00 00 */ li r5, 0 -/* 80197BA0 38 C0 00 00 */ li r6, 0 -/* 80197BA4 38 E0 00 00 */ li r7, 0 -/* 80197BA8 C0 22 A1 08 */ lfs f1, lit_4099(r2) -/* 80197BAC FC 40 08 90 */ fmr f2, f1 -/* 80197BB0 C0 62 A1 14 */ lfs f3, lit_4493(r2) -/* 80197BB4 FC 80 18 90 */ fmr f4, f3 -/* 80197BB8 39 00 00 00 */ li r8, 0 -/* 80197BBC 48 11 3D C9 */ bl seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc -/* 80197BC0 88 1D 0F 6E */ lbz r0, 0xf6e(r29) -/* 80197BC4 B0 1D 0F 4C */ sth r0, 0xf4c(r29) -/* 80197BC8 C0 22 A1 18 */ lfs f1, lit_4494(r2) -/* 80197BCC D0 3D 0F 38 */ stfs f1, 0xf38(r29) -/* 80197BD0 C0 02 A1 1C */ lfs f0, lit_4495(r2) -/* 80197BD4 D0 1D 0F 3C */ stfs f0, 0xf3c(r29) -/* 80197BD8 D0 3D 0F 40 */ stfs f1, 0xf40(r29) -/* 80197BDC C0 02 A1 20 */ lfs f0, lit_4496(r2) -/* 80197BE0 D0 1D 0F 44 */ stfs f0, 0xf44(r29) -lbl_80197BE4: -/* 80197BE4 38 60 00 04 */ li r3, 4 -/* 80197BE8 48 00 01 D0 */ b lbl_80197DB8 -lbl_80197BEC: -/* 80197BEC 88 0D 8A D8 */ lbz r0, data_80451058(r13) -/* 80197BF0 28 00 00 06 */ cmplwi r0, 6 -/* 80197BF4 41 80 01 C0 */ blt lbl_80197DB4 -/* 80197BF8 80 7D 0E 40 */ lwz r3, 0xe40(r29) -/* 80197BFC 4B E9 A9 29 */ bl checkUpTrigger__9STControlFv -/* 80197C00 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 80197C04 41 82 00 D4 */ beq lbl_80197CD8 -/* 80197C08 57 C0 06 3E */ clrlwi r0, r30, 0x18 -/* 80197C0C 28 00 00 02 */ cmplwi r0, 2 -/* 80197C10 41 82 00 C8 */ beq lbl_80197CD8 -/* 80197C14 88 1D 0F 6E */ lbz r0, 0xf6e(r29) -/* 80197C18 28 00 00 03 */ cmplwi r0, 3 -/* 80197C1C 41 81 00 BC */ bgt lbl_80197CD8 -/* 80197C20 98 1D 0F 6F */ stb r0, 0xf6f(r29) -/* 80197C24 88 7D 0F 6E */ lbz r3, 0xf6e(r29) -/* 80197C28 38 03 00 03 */ addi r0, r3, 3 -/* 80197C2C 98 1D 0F 6E */ stb r0, 0xf6e(r29) -/* 80197C30 88 9D 0F 6E */ lbz r4, 0xf6e(r29) -/* 80197C34 28 04 00 00 */ cmplwi r4, 0 -/* 80197C38 41 82 00 28 */ beq lbl_80197C60 -/* 80197C3C 7F A3 EB 78 */ mr r3, r29 -/* 80197C40 38 84 FF FF */ addi r4, r4, -1 -/* 80197C44 4B FF F9 B5 */ bl isFlag__13dShopSystem_cFi -/* 80197C48 2C 03 00 00 */ cmpwi r3, 0 -/* 80197C4C 41 82 00 14 */ beq lbl_80197C60 -/* 80197C50 88 1D 0F 6F */ lbz r0, 0xf6f(r29) -/* 80197C54 98 1D 0F 6E */ stb r0, 0xf6e(r29) -/* 80197C58 9B FD 0F 6F */ stb r31, 0xf6f(r29) -/* 80197C5C 48 00 00 7C */ b lbl_80197CD8 -lbl_80197C60: -/* 80197C60 57 C0 06 3E */ clrlwi r0, r30, 0x18 -/* 80197C64 28 00 00 01 */ cmplwi r0, 1 -/* 80197C68 41 82 00 68 */ beq lbl_80197CD0 -/* 80197C6C 88 1D 0F 6E */ lbz r0, 0xf6e(r29) -/* 80197C70 28 00 00 00 */ cmplwi r0, 0 -/* 80197C74 41 82 00 38 */ beq lbl_80197CAC -/* 80197C78 38 00 00 5F */ li r0, 0x5f -/* 80197C7C 90 01 00 0C */ stw r0, 0xc(r1) -/* 80197C80 80 6D 8D E8 */ lwz r3, mAudioMgrPtr__10Z2AudioMgr(r13) -/* 80197C84 38 81 00 0C */ addi r4, r1, 0xc -/* 80197C88 38 A0 00 00 */ li r5, 0 -/* 80197C8C 38 C0 00 00 */ li r6, 0 -/* 80197C90 38 E0 00 00 */ li r7, 0 -/* 80197C94 C0 22 A1 08 */ lfs f1, lit_4099(r2) -/* 80197C98 FC 40 08 90 */ fmr f2, f1 -/* 80197C9C C0 62 A1 14 */ lfs f3, lit_4493(r2) -/* 80197CA0 FC 80 18 90 */ fmr f4, f3 -/* 80197CA4 39 00 00 00 */ li r8, 0 -/* 80197CA8 48 11 3C DD */ bl seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc -lbl_80197CAC: -/* 80197CAC 88 1D 0F 6E */ lbz r0, 0xf6e(r29) -/* 80197CB0 B0 1D 0F 4C */ sth r0, 0xf4c(r29) -/* 80197CB4 C0 22 A1 18 */ lfs f1, lit_4494(r2) -/* 80197CB8 D0 3D 0F 38 */ stfs f1, 0xf38(r29) -/* 80197CBC C0 02 A1 1C */ lfs f0, lit_4495(r2) -/* 80197CC0 D0 1D 0F 3C */ stfs f0, 0xf3c(r29) -/* 80197CC4 D0 3D 0F 40 */ stfs f1, 0xf40(r29) -/* 80197CC8 C0 02 A1 20 */ lfs f0, lit_4496(r2) -/* 80197CCC D0 1D 0F 44 */ stfs f0, 0xf44(r29) -lbl_80197CD0: -/* 80197CD0 38 60 00 05 */ li r3, 5 -/* 80197CD4 48 00 00 E4 */ b lbl_80197DB8 -lbl_80197CD8: -/* 80197CD8 80 7D 0E 40 */ lwz r3, 0xe40(r29) -/* 80197CDC 4B E9 A8 C5 */ bl checkDownTrigger__9STControlFv -/* 80197CE0 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 80197CE4 41 82 00 D0 */ beq lbl_80197DB4 -/* 80197CE8 57 C0 06 3E */ clrlwi r0, r30, 0x18 -/* 80197CEC 28 00 00 02 */ cmplwi r0, 2 -/* 80197CF0 41 82 00 C4 */ beq lbl_80197DB4 -/* 80197CF4 88 1D 0F 6E */ lbz r0, 0xf6e(r29) -/* 80197CF8 28 00 00 03 */ cmplwi r0, 3 -/* 80197CFC 40 81 00 B8 */ ble lbl_80197DB4 -/* 80197D00 28 00 00 06 */ cmplwi r0, 6 -/* 80197D04 41 81 00 B0 */ bgt lbl_80197DB4 -/* 80197D08 98 1D 0F 6F */ stb r0, 0xf6f(r29) -/* 80197D0C 88 7D 0F 6E */ lbz r3, 0xf6e(r29) -/* 80197D10 38 03 FF FD */ addi r0, r3, -3 -/* 80197D14 98 1D 0F 6E */ stb r0, 0xf6e(r29) -/* 80197D18 88 9D 0F 6E */ lbz r4, 0xf6e(r29) -/* 80197D1C 28 04 00 00 */ cmplwi r4, 0 -/* 80197D20 41 82 00 28 */ beq lbl_80197D48 -/* 80197D24 7F A3 EB 78 */ mr r3, r29 -/* 80197D28 38 84 FF FF */ addi r4, r4, -1 -/* 80197D2C 4B FF F8 CD */ bl isFlag__13dShopSystem_cFi -/* 80197D30 2C 03 00 00 */ cmpwi r3, 0 -/* 80197D34 41 82 00 14 */ beq lbl_80197D48 -/* 80197D38 88 1D 0F 6F */ lbz r0, 0xf6f(r29) -/* 80197D3C 98 1D 0F 6E */ stb r0, 0xf6e(r29) -/* 80197D40 9B FD 0F 6F */ stb r31, 0xf6f(r29) -/* 80197D44 48 00 00 70 */ b lbl_80197DB4 -lbl_80197D48: -/* 80197D48 57 C0 06 3E */ clrlwi r0, r30, 0x18 -/* 80197D4C 28 00 00 01 */ cmplwi r0, 1 -/* 80197D50 41 82 00 5C */ beq lbl_80197DAC -/* 80197D54 38 00 00 5F */ li r0, 0x5f -/* 80197D58 90 01 00 08 */ stw r0, 8(r1) -/* 80197D5C 80 6D 8D E8 */ lwz r3, mAudioMgrPtr__10Z2AudioMgr(r13) -/* 80197D60 38 81 00 08 */ addi r4, r1, 8 -/* 80197D64 38 A0 00 00 */ li r5, 0 -/* 80197D68 38 C0 00 00 */ li r6, 0 -/* 80197D6C 38 E0 00 00 */ li r7, 0 -/* 80197D70 C0 22 A1 08 */ lfs f1, lit_4099(r2) -/* 80197D74 FC 40 08 90 */ fmr f2, f1 -/* 80197D78 C0 62 A1 14 */ lfs f3, lit_4493(r2) -/* 80197D7C FC 80 18 90 */ fmr f4, f3 -/* 80197D80 39 00 00 00 */ li r8, 0 -/* 80197D84 48 11 3C 01 */ bl seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc -/* 80197D88 88 1D 0F 6E */ lbz r0, 0xf6e(r29) -/* 80197D8C B0 1D 0F 4C */ sth r0, 0xf4c(r29) -/* 80197D90 C0 22 A1 18 */ lfs f1, lit_4494(r2) -/* 80197D94 D0 3D 0F 38 */ stfs f1, 0xf38(r29) -/* 80197D98 C0 02 A1 1C */ lfs f0, lit_4495(r2) -/* 80197D9C D0 1D 0F 3C */ stfs f0, 0xf3c(r29) -/* 80197DA0 D0 3D 0F 40 */ stfs f1, 0xf40(r29) -/* 80197DA4 C0 02 A1 20 */ lfs f0, lit_4496(r2) -/* 80197DA8 D0 1D 0F 44 */ stfs f0, 0xf44(r29) -lbl_80197DAC: -/* 80197DAC 38 60 00 06 */ li r3, 6 -/* 80197DB0 48 00 00 08 */ b lbl_80197DB8 -lbl_80197DB4: -/* 80197DB4 38 60 00 00 */ li r3, 0 -lbl_80197DB8: -/* 80197DB8 39 61 00 40 */ addi r11, r1, 0x40 -/* 80197DBC 48 1C A4 6D */ bl _restgpr_29 -/* 80197DC0 80 01 00 44 */ lwz r0, 0x44(r1) -/* 80197DC4 7C 08 03 A6 */ mtlr r0 -/* 80197DC8 38 21 00 40 */ addi r1, r1, 0x40 -/* 80197DCC 4E 80 00 20 */ blr diff --git a/asm/d/shop/d_shop_system/chooseItem4__13dShopSystem_cFUc.s b/asm/d/shop/d_shop_system/chooseItem4__13dShopSystem_cFUc.s deleted file mode 100644 index c6ee81129e..0000000000 --- a/asm/d/shop/d_shop_system/chooseItem4__13dShopSystem_cFUc.s +++ /dev/null @@ -1,134 +0,0 @@ -lbl_80198250: -/* 80198250 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80198254 7C 08 02 A6 */ mflr r0 -/* 80198258 90 01 00 24 */ stw r0, 0x24(r1) -/* 8019825C 39 61 00 20 */ addi r11, r1, 0x20 -/* 80198260 48 1C 9F 7D */ bl _savegpr_29 -/* 80198264 7C 7F 1B 78 */ mr r31, r3 -/* 80198268 7C 9D 23 78 */ mr r29, r4 -/* 8019826C 8B C3 0F 6F */ lbz r30, 0xf6f(r3) -/* 80198270 80 83 0E 40 */ lwz r4, 0xe40(r3) -/* 80198274 48 00 28 ED */ bl checkLeftTrigger__13dShopSystem_cFP9STControl -/* 80198278 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 8019827C 41 82 00 D4 */ beq lbl_80198350 -/* 80198280 57 A0 06 3E */ clrlwi r0, r29, 0x18 -/* 80198284 28 00 00 02 */ cmplwi r0, 2 -/* 80198288 41 82 00 C8 */ beq lbl_80198350 -/* 8019828C 88 1F 0F 6E */ lbz r0, 0xf6e(r31) -/* 80198290 28 00 00 00 */ cmplwi r0, 0 -/* 80198294 41 82 00 BC */ beq lbl_80198350 -/* 80198298 98 1F 0F 6F */ stb r0, 0xf6f(r31) -/* 8019829C 88 7F 0F 6E */ lbz r3, 0xf6e(r31) -/* 801982A0 38 03 FF FF */ addi r0, r3, -1 -/* 801982A4 98 1F 0F 6E */ stb r0, 0xf6e(r31) -/* 801982A8 88 9F 0F 6E */ lbz r4, 0xf6e(r31) -/* 801982AC 28 04 00 00 */ cmplwi r4, 0 -/* 801982B0 41 82 00 28 */ beq lbl_801982D8 -/* 801982B4 7F E3 FB 78 */ mr r3, r31 -/* 801982B8 38 84 FF FF */ addi r4, r4, -1 -/* 801982BC 4B FF F3 3D */ bl isFlag__13dShopSystem_cFi -/* 801982C0 2C 03 00 00 */ cmpwi r3, 0 -/* 801982C4 41 82 00 14 */ beq lbl_801982D8 -/* 801982C8 88 1F 0F 6F */ lbz r0, 0xf6f(r31) -/* 801982CC 98 1F 0F 6E */ stb r0, 0xf6e(r31) -/* 801982D0 9B DF 0F 6F */ stb r30, 0xf6f(r31) -/* 801982D4 48 00 00 7C */ b lbl_80198350 -lbl_801982D8: -/* 801982D8 57 A0 06 3E */ clrlwi r0, r29, 0x18 -/* 801982DC 28 00 00 01 */ cmplwi r0, 1 -/* 801982E0 41 82 00 68 */ beq lbl_80198348 -/* 801982E4 88 1F 0F 6E */ lbz r0, 0xf6e(r31) -/* 801982E8 28 00 00 00 */ cmplwi r0, 0 -/* 801982EC 41 82 00 38 */ beq lbl_80198324 -/* 801982F0 38 00 00 5F */ li r0, 0x5f -/* 801982F4 90 01 00 0C */ stw r0, 0xc(r1) -/* 801982F8 80 6D 8D E8 */ lwz r3, mAudioMgrPtr__10Z2AudioMgr(r13) -/* 801982FC 38 81 00 0C */ addi r4, r1, 0xc -/* 80198300 38 A0 00 00 */ li r5, 0 -/* 80198304 38 C0 00 00 */ li r6, 0 -/* 80198308 38 E0 00 00 */ li r7, 0 -/* 8019830C C0 22 A1 08 */ lfs f1, lit_4099(r2) -/* 80198310 FC 40 08 90 */ fmr f2, f1 -/* 80198314 C0 62 A1 14 */ lfs f3, lit_4493(r2) -/* 80198318 FC 80 18 90 */ fmr f4, f3 -/* 8019831C 39 00 00 00 */ li r8, 0 -/* 80198320 48 11 36 65 */ bl seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc -lbl_80198324: -/* 80198324 88 1F 0F 6E */ lbz r0, 0xf6e(r31) -/* 80198328 B0 1F 0F 4C */ sth r0, 0xf4c(r31) -/* 8019832C C0 22 A1 18 */ lfs f1, lit_4494(r2) -/* 80198330 D0 3F 0F 38 */ stfs f1, 0xf38(r31) -/* 80198334 C0 02 A1 1C */ lfs f0, lit_4495(r2) -/* 80198338 D0 1F 0F 3C */ stfs f0, 0xf3c(r31) -/* 8019833C D0 3F 0F 40 */ stfs f1, 0xf40(r31) -/* 80198340 C0 02 A1 20 */ lfs f0, lit_4496(r2) -/* 80198344 D0 1F 0F 44 */ stfs f0, 0xf44(r31) -lbl_80198348: -/* 80198348 38 60 00 03 */ li r3, 3 -/* 8019834C 48 00 00 E0 */ b lbl_8019842C -lbl_80198350: -/* 80198350 7F E3 FB 78 */ mr r3, r31 -/* 80198354 80 9F 0E 40 */ lwz r4, 0xe40(r31) -/* 80198358 48 00 28 2D */ bl checkRightTrigger__13dShopSystem_cFP9STControl -/* 8019835C 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 80198360 41 82 00 C8 */ beq lbl_80198428 -/* 80198364 57 A0 06 3E */ clrlwi r0, r29, 0x18 -/* 80198368 28 00 00 02 */ cmplwi r0, 2 -/* 8019836C 41 82 00 BC */ beq lbl_80198428 -/* 80198370 88 1F 0F 6E */ lbz r0, 0xf6e(r31) -/* 80198374 28 00 00 04 */ cmplwi r0, 4 -/* 80198378 40 80 00 B0 */ bge lbl_80198428 -/* 8019837C 98 1F 0F 6F */ stb r0, 0xf6f(r31) -/* 80198380 88 7F 0F 6E */ lbz r3, 0xf6e(r31) -/* 80198384 38 03 00 01 */ addi r0, r3, 1 -/* 80198388 98 1F 0F 6E */ stb r0, 0xf6e(r31) -/* 8019838C 88 9F 0F 6E */ lbz r4, 0xf6e(r31) -/* 80198390 28 04 00 00 */ cmplwi r4, 0 -/* 80198394 41 82 00 28 */ beq lbl_801983BC -/* 80198398 7F E3 FB 78 */ mr r3, r31 -/* 8019839C 38 84 FF FF */ addi r4, r4, -1 -/* 801983A0 4B FF F2 59 */ bl isFlag__13dShopSystem_cFi -/* 801983A4 2C 03 00 00 */ cmpwi r3, 0 -/* 801983A8 41 82 00 14 */ beq lbl_801983BC -/* 801983AC 88 1F 0F 6F */ lbz r0, 0xf6f(r31) -/* 801983B0 98 1F 0F 6E */ stb r0, 0xf6e(r31) -/* 801983B4 9B DF 0F 6F */ stb r30, 0xf6f(r31) -/* 801983B8 48 00 00 70 */ b lbl_80198428 -lbl_801983BC: -/* 801983BC 57 A0 06 3E */ clrlwi r0, r29, 0x18 -/* 801983C0 28 00 00 01 */ cmplwi r0, 1 -/* 801983C4 41 82 00 5C */ beq lbl_80198420 -/* 801983C8 38 00 00 5F */ li r0, 0x5f -/* 801983CC 90 01 00 08 */ stw r0, 8(r1) -/* 801983D0 80 6D 8D E8 */ lwz r3, mAudioMgrPtr__10Z2AudioMgr(r13) -/* 801983D4 38 81 00 08 */ addi r4, r1, 8 -/* 801983D8 38 A0 00 00 */ li r5, 0 -/* 801983DC 38 C0 00 00 */ li r6, 0 -/* 801983E0 38 E0 00 00 */ li r7, 0 -/* 801983E4 C0 22 A1 08 */ lfs f1, lit_4099(r2) -/* 801983E8 FC 40 08 90 */ fmr f2, f1 -/* 801983EC C0 62 A1 14 */ lfs f3, lit_4493(r2) -/* 801983F0 FC 80 18 90 */ fmr f4, f3 -/* 801983F4 39 00 00 00 */ li r8, 0 -/* 801983F8 48 11 35 8D */ bl seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc -/* 801983FC 88 1F 0F 6E */ lbz r0, 0xf6e(r31) -/* 80198400 B0 1F 0F 4C */ sth r0, 0xf4c(r31) -/* 80198404 C0 22 A1 18 */ lfs f1, lit_4494(r2) -/* 80198408 D0 3F 0F 38 */ stfs f1, 0xf38(r31) -/* 8019840C C0 02 A1 1C */ lfs f0, lit_4495(r2) -/* 80198410 D0 1F 0F 3C */ stfs f0, 0xf3c(r31) -/* 80198414 D0 3F 0F 40 */ stfs f1, 0xf40(r31) -/* 80198418 C0 02 A1 20 */ lfs f0, lit_4496(r2) -/* 8019841C D0 1F 0F 44 */ stfs f0, 0xf44(r31) -lbl_80198420: -/* 80198420 38 60 00 04 */ li r3, 4 -/* 80198424 48 00 00 08 */ b lbl_8019842C -lbl_80198428: -/* 80198428 38 60 00 00 */ li r3, 0 -lbl_8019842C: -/* 8019842C 39 61 00 20 */ addi r11, r1, 0x20 -/* 80198430 48 1C 9D F9 */ bl _restgpr_29 -/* 80198434 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80198438 7C 08 03 A6 */ mtlr r0 -/* 8019843C 38 21 00 20 */ addi r1, r1, 0x20 -/* 80198440 4E 80 00 20 */ blr diff --git a/asm/d/shop/d_shop_system/chooseItem5__13dShopSystem_cFUc.s b/asm/d/shop/d_shop_system/chooseItem5__13dShopSystem_cFUc.s deleted file mode 100644 index 56e8c640b6..0000000000 --- a/asm/d/shop/d_shop_system/chooseItem5__13dShopSystem_cFUc.s +++ /dev/null @@ -1,313 +0,0 @@ -lbl_80197DD0: -/* 80197DD0 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 80197DD4 7C 08 02 A6 */ mflr r0 -/* 80197DD8 90 01 00 34 */ stw r0, 0x34(r1) -/* 80197DDC 39 61 00 30 */ addi r11, r1, 0x30 -/* 80197DE0 48 1C A3 FD */ bl _savegpr_29 -/* 80197DE4 7C 7D 1B 78 */ mr r29, r3 -/* 80197DE8 7C 9E 23 78 */ mr r30, r4 -/* 80197DEC 8B E3 0F 6F */ lbz r31, 0xf6f(r3) -/* 80197DF0 80 83 0E 40 */ lwz r4, 0xe40(r3) -/* 80197DF4 48 00 2D 6D */ bl checkLeftTrigger__13dShopSystem_cFP9STControl -/* 80197DF8 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 80197DFC 41 82 01 5C */ beq lbl_80197F58 -/* 80197E00 57 C3 06 3E */ clrlwi r3, r30, 0x18 -/* 80197E04 28 03 00 02 */ cmplwi r3, 2 -/* 80197E08 41 82 01 50 */ beq lbl_80197F58 -/* 80197E0C 88 1D 0F 6E */ lbz r0, 0xf6e(r29) -/* 80197E10 28 00 00 03 */ cmplwi r0, 3 -/* 80197E14 40 82 00 84 */ bne lbl_80197E98 -/* 80197E18 98 1D 0F 6F */ stb r0, 0xf6f(r29) -/* 80197E1C 38 00 00 00 */ li r0, 0 -/* 80197E20 98 1D 0F 6E */ stb r0, 0xf6e(r29) -/* 80197E24 28 03 00 01 */ cmplwi r3, 1 -/* 80197E28 41 82 00 68 */ beq lbl_80197E90 -/* 80197E2C 88 1D 0F 6E */ lbz r0, 0xf6e(r29) -/* 80197E30 28 00 00 00 */ cmplwi r0, 0 -/* 80197E34 41 82 00 38 */ beq lbl_80197E6C -/* 80197E38 38 00 00 5F */ li r0, 0x5f -/* 80197E3C 90 01 00 18 */ stw r0, 0x18(r1) -/* 80197E40 80 6D 8D E8 */ lwz r3, mAudioMgrPtr__10Z2AudioMgr(r13) -/* 80197E44 38 81 00 18 */ addi r4, r1, 0x18 -/* 80197E48 38 A0 00 00 */ li r5, 0 -/* 80197E4C 38 C0 00 00 */ li r6, 0 -/* 80197E50 38 E0 00 00 */ li r7, 0 -/* 80197E54 C0 22 A1 08 */ lfs f1, lit_4099(r2) -/* 80197E58 FC 40 08 90 */ fmr f2, f1 -/* 80197E5C C0 62 A1 14 */ lfs f3, lit_4493(r2) -/* 80197E60 FC 80 18 90 */ fmr f4, f3 -/* 80197E64 39 00 00 00 */ li r8, 0 -/* 80197E68 48 11 3B 1D */ bl seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc -lbl_80197E6C: -/* 80197E6C 88 1D 0F 6E */ lbz r0, 0xf6e(r29) -/* 80197E70 B0 1D 0F 4C */ sth r0, 0xf4c(r29) -/* 80197E74 C0 22 A1 18 */ lfs f1, lit_4494(r2) -/* 80197E78 D0 3D 0F 38 */ stfs f1, 0xf38(r29) -/* 80197E7C C0 02 A1 1C */ lfs f0, lit_4495(r2) -/* 80197E80 D0 1D 0F 3C */ stfs f0, 0xf3c(r29) -/* 80197E84 D0 3D 0F 40 */ stfs f1, 0xf40(r29) -/* 80197E88 C0 02 A1 20 */ lfs f0, lit_4496(r2) -/* 80197E8C D0 1D 0F 44 */ stfs f0, 0xf44(r29) -lbl_80197E90: -/* 80197E90 38 60 00 03 */ li r3, 3 -/* 80197E94 48 00 03 A4 */ b lbl_80198238 -lbl_80197E98: -/* 80197E98 28 00 00 00 */ cmplwi r0, 0 -/* 80197E9C 41 82 00 BC */ beq lbl_80197F58 -/* 80197EA0 98 1D 0F 6F */ stb r0, 0xf6f(r29) -/* 80197EA4 88 7D 0F 6E */ lbz r3, 0xf6e(r29) -/* 80197EA8 38 03 FF FF */ addi r0, r3, -1 -/* 80197EAC 98 1D 0F 6E */ stb r0, 0xf6e(r29) -/* 80197EB0 88 9D 0F 6E */ lbz r4, 0xf6e(r29) -/* 80197EB4 28 04 00 00 */ cmplwi r4, 0 -/* 80197EB8 41 82 00 28 */ beq lbl_80197EE0 -/* 80197EBC 7F A3 EB 78 */ mr r3, r29 -/* 80197EC0 38 84 FF FF */ addi r4, r4, -1 -/* 80197EC4 4B FF F7 35 */ bl isFlag__13dShopSystem_cFi -/* 80197EC8 2C 03 00 00 */ cmpwi r3, 0 -/* 80197ECC 41 82 00 14 */ beq lbl_80197EE0 -/* 80197ED0 88 1D 0F 6F */ lbz r0, 0xf6f(r29) -/* 80197ED4 98 1D 0F 6E */ stb r0, 0xf6e(r29) -/* 80197ED8 9B FD 0F 6F */ stb r31, 0xf6f(r29) -/* 80197EDC 48 00 00 7C */ b lbl_80197F58 -lbl_80197EE0: -/* 80197EE0 57 C0 06 3E */ clrlwi r0, r30, 0x18 -/* 80197EE4 28 00 00 01 */ cmplwi r0, 1 -/* 80197EE8 41 82 00 68 */ beq lbl_80197F50 -/* 80197EEC 88 1D 0F 6E */ lbz r0, 0xf6e(r29) -/* 80197EF0 28 00 00 00 */ cmplwi r0, 0 -/* 80197EF4 41 82 00 38 */ beq lbl_80197F2C -/* 80197EF8 38 00 00 5F */ li r0, 0x5f -/* 80197EFC 90 01 00 14 */ stw r0, 0x14(r1) -/* 80197F00 80 6D 8D E8 */ lwz r3, mAudioMgrPtr__10Z2AudioMgr(r13) -/* 80197F04 38 81 00 14 */ addi r4, r1, 0x14 -/* 80197F08 38 A0 00 00 */ li r5, 0 -/* 80197F0C 38 C0 00 00 */ li r6, 0 -/* 80197F10 38 E0 00 00 */ li r7, 0 -/* 80197F14 C0 22 A1 08 */ lfs f1, lit_4099(r2) -/* 80197F18 FC 40 08 90 */ fmr f2, f1 -/* 80197F1C C0 62 A1 14 */ lfs f3, lit_4493(r2) -/* 80197F20 FC 80 18 90 */ fmr f4, f3 -/* 80197F24 39 00 00 00 */ li r8, 0 -/* 80197F28 48 11 3A 5D */ bl seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc -lbl_80197F2C: -/* 80197F2C 88 1D 0F 6E */ lbz r0, 0xf6e(r29) -/* 80197F30 B0 1D 0F 4C */ sth r0, 0xf4c(r29) -/* 80197F34 C0 22 A1 18 */ lfs f1, lit_4494(r2) -/* 80197F38 D0 3D 0F 38 */ stfs f1, 0xf38(r29) -/* 80197F3C C0 02 A1 1C */ lfs f0, lit_4495(r2) -/* 80197F40 D0 1D 0F 3C */ stfs f0, 0xf3c(r29) -/* 80197F44 D0 3D 0F 40 */ stfs f1, 0xf40(r29) -/* 80197F48 C0 02 A1 20 */ lfs f0, lit_4496(r2) -/* 80197F4C D0 1D 0F 44 */ stfs f0, 0xf44(r29) -lbl_80197F50: -/* 80197F50 38 60 00 03 */ li r3, 3 -/* 80197F54 48 00 02 E4 */ b lbl_80198238 -lbl_80197F58: -/* 80197F58 7F A3 EB 78 */ mr r3, r29 -/* 80197F5C 80 9D 0E 40 */ lwz r4, 0xe40(r29) -/* 80197F60 48 00 2C 25 */ bl checkRightTrigger__13dShopSystem_cFP9STControl -/* 80197F64 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 80197F68 41 82 00 D0 */ beq lbl_80198038 -/* 80197F6C 57 C0 06 3E */ clrlwi r0, r30, 0x18 -/* 80197F70 28 00 00 02 */ cmplwi r0, 2 -/* 80197F74 41 82 00 C4 */ beq lbl_80198038 -/* 80197F78 88 1D 0F 6E */ lbz r0, 0xf6e(r29) -/* 80197F7C 28 00 00 02 */ cmplwi r0, 2 -/* 80197F80 41 82 00 B8 */ beq lbl_80198038 -/* 80197F84 28 00 00 05 */ cmplwi r0, 5 -/* 80197F88 41 82 00 B0 */ beq lbl_80198038 -/* 80197F8C 98 1D 0F 6F */ stb r0, 0xf6f(r29) -/* 80197F90 88 7D 0F 6E */ lbz r3, 0xf6e(r29) -/* 80197F94 38 03 00 01 */ addi r0, r3, 1 -/* 80197F98 98 1D 0F 6E */ stb r0, 0xf6e(r29) -/* 80197F9C 88 9D 0F 6E */ lbz r4, 0xf6e(r29) -/* 80197FA0 28 04 00 00 */ cmplwi r4, 0 -/* 80197FA4 41 82 00 28 */ beq lbl_80197FCC -/* 80197FA8 7F A3 EB 78 */ mr r3, r29 -/* 80197FAC 38 84 FF FF */ addi r4, r4, -1 -/* 80197FB0 4B FF F6 49 */ bl isFlag__13dShopSystem_cFi -/* 80197FB4 2C 03 00 00 */ cmpwi r3, 0 -/* 80197FB8 41 82 00 14 */ beq lbl_80197FCC -/* 80197FBC 88 1D 0F 6F */ lbz r0, 0xf6f(r29) -/* 80197FC0 98 1D 0F 6E */ stb r0, 0xf6e(r29) -/* 80197FC4 9B FD 0F 6F */ stb r31, 0xf6f(r29) -/* 80197FC8 48 00 00 70 */ b lbl_80198038 -lbl_80197FCC: -/* 80197FCC 57 C0 06 3E */ clrlwi r0, r30, 0x18 -/* 80197FD0 28 00 00 01 */ cmplwi r0, 1 -/* 80197FD4 41 82 00 5C */ beq lbl_80198030 -/* 80197FD8 38 00 00 5F */ li r0, 0x5f -/* 80197FDC 90 01 00 10 */ stw r0, 0x10(r1) -/* 80197FE0 80 6D 8D E8 */ lwz r3, mAudioMgrPtr__10Z2AudioMgr(r13) -/* 80197FE4 38 81 00 10 */ addi r4, r1, 0x10 -/* 80197FE8 38 A0 00 00 */ li r5, 0 -/* 80197FEC 38 C0 00 00 */ li r6, 0 -/* 80197FF0 38 E0 00 00 */ li r7, 0 -/* 80197FF4 C0 22 A1 08 */ lfs f1, lit_4099(r2) -/* 80197FF8 FC 40 08 90 */ fmr f2, f1 -/* 80197FFC C0 62 A1 14 */ lfs f3, lit_4493(r2) -/* 80198000 FC 80 18 90 */ fmr f4, f3 -/* 80198004 39 00 00 00 */ li r8, 0 -/* 80198008 48 11 39 7D */ bl seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc -/* 8019800C 88 1D 0F 6E */ lbz r0, 0xf6e(r29) -/* 80198010 B0 1D 0F 4C */ sth r0, 0xf4c(r29) -/* 80198014 C0 22 A1 18 */ lfs f1, lit_4494(r2) -/* 80198018 D0 3D 0F 38 */ stfs f1, 0xf38(r29) -/* 8019801C C0 02 A1 1C */ lfs f0, lit_4495(r2) -/* 80198020 D0 1D 0F 3C */ stfs f0, 0xf3c(r29) -/* 80198024 D0 3D 0F 40 */ stfs f1, 0xf40(r29) -/* 80198028 C0 02 A1 20 */ lfs f0, lit_4496(r2) -/* 8019802C D0 1D 0F 44 */ stfs f0, 0xf44(r29) -lbl_80198030: -/* 80198030 38 60 00 04 */ li r3, 4 -/* 80198034 48 00 02 04 */ b lbl_80198238 -lbl_80198038: -/* 80198038 80 7D 0E 40 */ lwz r3, 0xe40(r29) -/* 8019803C 4B E9 A4 E9 */ bl checkUpTrigger__9STControlFv -/* 80198040 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 80198044 41 82 00 F8 */ beq lbl_8019813C -/* 80198048 57 C0 06 3E */ clrlwi r0, r30, 0x18 -/* 8019804C 28 00 00 02 */ cmplwi r0, 2 -/* 80198050 41 82 00 EC */ beq lbl_8019813C -/* 80198054 88 1D 0F 6E */ lbz r0, 0xf6e(r29) -/* 80198058 28 00 00 03 */ cmplwi r0, 3 -/* 8019805C 41 82 00 0C */ beq lbl_80198068 -/* 80198060 28 00 00 05 */ cmplwi r0, 5 -/* 80198064 40 82 00 D8 */ bne lbl_8019813C -lbl_80198068: -/* 80198068 98 1D 0F 6F */ stb r0, 0xf6f(r29) -/* 8019806C 88 1D 0F 6E */ lbz r0, 0xf6e(r29) -/* 80198070 28 00 00 03 */ cmplwi r0, 3 -/* 80198074 40 82 00 10 */ bne lbl_80198084 -/* 80198078 38 00 00 01 */ li r0, 1 -/* 8019807C 98 1D 0F 6E */ stb r0, 0xf6e(r29) -/* 80198080 48 00 00 14 */ b lbl_80198094 -lbl_80198084: -/* 80198084 28 00 00 05 */ cmplwi r0, 5 -/* 80198088 40 82 00 0C */ bne lbl_80198094 -/* 8019808C 38 00 00 02 */ li r0, 2 -/* 80198090 98 1D 0F 6E */ stb r0, 0xf6e(r29) -lbl_80198094: -/* 80198094 88 9D 0F 6E */ lbz r4, 0xf6e(r29) -/* 80198098 28 04 00 00 */ cmplwi r4, 0 -/* 8019809C 41 82 00 28 */ beq lbl_801980C4 -/* 801980A0 7F A3 EB 78 */ mr r3, r29 -/* 801980A4 38 84 FF FF */ addi r4, r4, -1 -/* 801980A8 4B FF F5 51 */ bl isFlag__13dShopSystem_cFi -/* 801980AC 2C 03 00 00 */ cmpwi r3, 0 -/* 801980B0 41 82 00 14 */ beq lbl_801980C4 -/* 801980B4 88 1D 0F 6F */ lbz r0, 0xf6f(r29) -/* 801980B8 98 1D 0F 6E */ stb r0, 0xf6e(r29) -/* 801980BC 9B FD 0F 6F */ stb r31, 0xf6f(r29) -/* 801980C0 48 00 00 7C */ b lbl_8019813C -lbl_801980C4: -/* 801980C4 57 C0 06 3E */ clrlwi r0, r30, 0x18 -/* 801980C8 28 00 00 01 */ cmplwi r0, 1 -/* 801980CC 41 82 00 68 */ beq lbl_80198134 -/* 801980D0 88 1D 0F 6E */ lbz r0, 0xf6e(r29) -/* 801980D4 28 00 00 00 */ cmplwi r0, 0 -/* 801980D8 41 82 00 38 */ beq lbl_80198110 -/* 801980DC 38 00 00 5F */ li r0, 0x5f -/* 801980E0 90 01 00 0C */ stw r0, 0xc(r1) -/* 801980E4 80 6D 8D E8 */ lwz r3, mAudioMgrPtr__10Z2AudioMgr(r13) -/* 801980E8 38 81 00 0C */ addi r4, r1, 0xc -/* 801980EC 38 A0 00 00 */ li r5, 0 -/* 801980F0 38 C0 00 00 */ li r6, 0 -/* 801980F4 38 E0 00 00 */ li r7, 0 -/* 801980F8 C0 22 A1 08 */ lfs f1, lit_4099(r2) -/* 801980FC FC 40 08 90 */ fmr f2, f1 -/* 80198100 C0 62 A1 14 */ lfs f3, lit_4493(r2) -/* 80198104 FC 80 18 90 */ fmr f4, f3 -/* 80198108 39 00 00 00 */ li r8, 0 -/* 8019810C 48 11 38 79 */ bl seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc -lbl_80198110: -/* 80198110 88 1D 0F 6E */ lbz r0, 0xf6e(r29) -/* 80198114 B0 1D 0F 4C */ sth r0, 0xf4c(r29) -/* 80198118 C0 22 A1 18 */ lfs f1, lit_4494(r2) -/* 8019811C D0 3D 0F 38 */ stfs f1, 0xf38(r29) -/* 80198120 C0 02 A1 1C */ lfs f0, lit_4495(r2) -/* 80198124 D0 1D 0F 3C */ stfs f0, 0xf3c(r29) -/* 80198128 D0 3D 0F 40 */ stfs f1, 0xf40(r29) -/* 8019812C C0 02 A1 20 */ lfs f0, lit_4496(r2) -/* 80198130 D0 1D 0F 44 */ stfs f0, 0xf44(r29) -lbl_80198134: -/* 80198134 38 60 00 05 */ li r3, 5 -/* 80198138 48 00 01 00 */ b lbl_80198238 -lbl_8019813C: -/* 8019813C 80 7D 0E 40 */ lwz r3, 0xe40(r29) -/* 80198140 4B E9 A4 61 */ bl checkDownTrigger__9STControlFv -/* 80198144 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 80198148 41 82 00 EC */ beq lbl_80198234 -/* 8019814C 57 C0 06 3E */ clrlwi r0, r30, 0x18 -/* 80198150 28 00 00 02 */ cmplwi r0, 2 -/* 80198154 41 82 00 E0 */ beq lbl_80198234 -/* 80198158 88 1D 0F 6E */ lbz r0, 0xf6e(r29) -/* 8019815C 28 00 00 01 */ cmplwi r0, 1 -/* 80198160 41 82 00 0C */ beq lbl_8019816C -/* 80198164 28 00 00 02 */ cmplwi r0, 2 -/* 80198168 40 82 00 CC */ bne lbl_80198234 -lbl_8019816C: -/* 8019816C 98 1D 0F 6F */ stb r0, 0xf6f(r29) -/* 80198170 88 1D 0F 6E */ lbz r0, 0xf6e(r29) -/* 80198174 28 00 00 01 */ cmplwi r0, 1 -/* 80198178 40 82 00 10 */ bne lbl_80198188 -/* 8019817C 38 00 00 03 */ li r0, 3 -/* 80198180 98 1D 0F 6E */ stb r0, 0xf6e(r29) -/* 80198184 48 00 00 14 */ b lbl_80198198 -lbl_80198188: -/* 80198188 28 00 00 02 */ cmplwi r0, 2 -/* 8019818C 40 82 00 0C */ bne lbl_80198198 -/* 80198190 38 00 00 05 */ li r0, 5 -/* 80198194 98 1D 0F 6E */ stb r0, 0xf6e(r29) -lbl_80198198: -/* 80198198 88 9D 0F 6E */ lbz r4, 0xf6e(r29) -/* 8019819C 28 04 00 00 */ cmplwi r4, 0 -/* 801981A0 41 82 00 28 */ beq lbl_801981C8 -/* 801981A4 7F A3 EB 78 */ mr r3, r29 -/* 801981A8 38 84 FF FF */ addi r4, r4, -1 -/* 801981AC 4B FF F4 4D */ bl isFlag__13dShopSystem_cFi -/* 801981B0 2C 03 00 00 */ cmpwi r3, 0 -/* 801981B4 41 82 00 14 */ beq lbl_801981C8 -/* 801981B8 88 1D 0F 6F */ lbz r0, 0xf6f(r29) -/* 801981BC 98 1D 0F 6E */ stb r0, 0xf6e(r29) -/* 801981C0 9B FD 0F 6F */ stb r31, 0xf6f(r29) -/* 801981C4 48 00 00 70 */ b lbl_80198234 -lbl_801981C8: -/* 801981C8 57 C0 06 3E */ clrlwi r0, r30, 0x18 -/* 801981CC 28 00 00 01 */ cmplwi r0, 1 -/* 801981D0 41 82 00 5C */ beq lbl_8019822C -/* 801981D4 38 00 00 5F */ li r0, 0x5f -/* 801981D8 90 01 00 08 */ stw r0, 8(r1) -/* 801981DC 80 6D 8D E8 */ lwz r3, mAudioMgrPtr__10Z2AudioMgr(r13) -/* 801981E0 38 81 00 08 */ addi r4, r1, 8 -/* 801981E4 38 A0 00 00 */ li r5, 0 -/* 801981E8 38 C0 00 00 */ li r6, 0 -/* 801981EC 38 E0 00 00 */ li r7, 0 -/* 801981F0 C0 22 A1 08 */ lfs f1, lit_4099(r2) -/* 801981F4 FC 40 08 90 */ fmr f2, f1 -/* 801981F8 C0 62 A1 14 */ lfs f3, lit_4493(r2) -/* 801981FC FC 80 18 90 */ fmr f4, f3 -/* 80198200 39 00 00 00 */ li r8, 0 -/* 80198204 48 11 37 81 */ bl seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc -/* 80198208 88 1D 0F 6E */ lbz r0, 0xf6e(r29) -/* 8019820C B0 1D 0F 4C */ sth r0, 0xf4c(r29) -/* 80198210 C0 22 A1 18 */ lfs f1, lit_4494(r2) -/* 80198214 D0 3D 0F 38 */ stfs f1, 0xf38(r29) -/* 80198218 C0 02 A1 1C */ lfs f0, lit_4495(r2) -/* 8019821C D0 1D 0F 3C */ stfs f0, 0xf3c(r29) -/* 80198220 D0 3D 0F 40 */ stfs f1, 0xf40(r29) -/* 80198224 C0 02 A1 20 */ lfs f0, lit_4496(r2) -/* 80198228 D0 1D 0F 44 */ stfs f0, 0xf44(r29) -lbl_8019822C: -/* 8019822C 38 60 00 06 */ li r3, 6 -/* 80198230 48 00 00 08 */ b lbl_80198238 -lbl_80198234: -/* 80198234 38 60 00 00 */ li r3, 0 -lbl_80198238: -/* 80198238 39 61 00 30 */ addi r11, r1, 0x30 -/* 8019823C 48 1C 9F ED */ bl _restgpr_29 -/* 80198240 80 01 00 34 */ lwz r0, 0x34(r1) -/* 80198244 7C 08 03 A6 */ mtlr r0 -/* 80198248 38 21 00 30 */ addi r1, r1, 0x30 -/* 8019824C 4E 80 00 20 */ blr diff --git a/asm/d/shop/d_shop_system/initShopSystem__13dShopSystem_cFv.s b/asm/d/shop/d_shop_system/initShopSystem__13dShopSystem_cFv.s deleted file mode 100644 index 0f3873cb51..0000000000 --- a/asm/d/shop/d_shop_system/initShopSystem__13dShopSystem_cFv.s +++ /dev/null @@ -1,114 +0,0 @@ -lbl_80197338: -/* 80197338 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8019733C 7C 08 02 A6 */ mflr r0 -/* 80197340 90 01 00 14 */ stw r0, 0x14(r1) -/* 80197344 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80197348 93 C1 00 08 */ stw r30, 8(r1) -/* 8019734C 7C 7F 1B 78 */ mr r31, r3 -/* 80197350 38 00 00 03 */ li r0, 3 -/* 80197354 98 0D 8A D8 */ stb r0, data_80451058(r13) -/* 80197358 38 E0 00 00 */ li r7, 0 -/* 8019735C 98 ED 8A E0 */ stb r7, data_80451060(r13) -/* 80197360 7C E4 3B 78 */ mr r4, r7 -/* 80197364 3C 60 80 3C */ lis r3, dShopSystem_itemActor@ha /* 0x803BB8A4@ha */ -/* 80197368 38 C3 B8 A4 */ addi r6, r3, dShopSystem_itemActor@l /* 0x803BB8A4@l */ -/* 8019736C 38 A0 00 FF */ li r5, 0xff -/* 80197370 38 6D 81 68 */ la r3, dShopSystem_itemNo(r13) /* 804506E8-_SDA_BASE_ */ -/* 80197374 38 00 00 07 */ li r0, 7 -/* 80197378 7C 09 03 A6 */ mtctr r0 -lbl_8019737C: -/* 8019737C 7C E6 21 2E */ stwx r7, r6, r4 -/* 80197380 98 A3 00 00 */ stb r5, 0(r3) -/* 80197384 38 63 00 01 */ addi r3, r3, 1 -/* 80197388 38 84 00 04 */ addi r4, r4, 4 -/* 8019738C 42 00 FF F0 */ bdnz lbl_8019737C -/* 80197390 38 A0 00 00 */ li r5, 0 -/* 80197394 90 AD 8A DC */ stw r5, dShopSystem_item_count(r13) -/* 80197398 38 60 00 00 */ li r3, 0 -/* 8019739C 38 8D 81 70 */ la r4, dShopSystem_cameraActor(r13) /* 804506F0-_SDA_BASE_ */ -/* 801973A0 38 00 00 02 */ li r0, 2 -/* 801973A4 7C 09 03 A6 */ mtctr r0 -lbl_801973A8: -/* 801973A8 7C A4 19 2E */ stwx r5, r4, r3 -/* 801973AC 38 63 00 04 */ addi r3, r3, 4 -/* 801973B0 42 00 FF F8 */ bdnz lbl_801973A8 -/* 801973B4 38 00 00 00 */ li r0, 0 -/* 801973B8 90 0D 8A E4 */ stw r0, dShopSystem_camera_count(r13) -/* 801973BC 80 1F 0E 40 */ lwz r0, 0xe40(r31) -/* 801973C0 28 00 00 00 */ cmplwi r0, 0 -/* 801973C4 40 82 00 50 */ bne lbl_80197414 -/* 801973C8 38 60 00 30 */ li r3, 0x30 -/* 801973CC 48 13 78 81 */ bl __nw__FUl -/* 801973D0 7C 7E 1B 79 */ or. r30, r3, r3 -/* 801973D4 41 82 00 3C */ beq lbl_80197410 -/* 801973D8 3C 80 80 3A */ lis r4, __vt__9STControl@ha /* 0x803A7260@ha */ -/* 801973DC 38 04 72 60 */ addi r0, r4, __vt__9STControl@l /* 0x803A7260@l */ -/* 801973E0 90 1E 00 00 */ stw r0, 0(r30) -/* 801973E4 38 80 00 0F */ li r4, 0xf -/* 801973E8 38 A0 00 0F */ li r5, 0xf -/* 801973EC 38 C0 00 00 */ li r6, 0 -/* 801973F0 38 E0 00 00 */ li r7, 0 -/* 801973F4 C0 22 A1 00 */ lfs f1, lit_4097(r2) -/* 801973F8 C0 42 A1 04 */ lfs f2, lit_4098(r2) -/* 801973FC 39 00 00 00 */ li r8, 0 -/* 80197400 39 20 20 00 */ li r9, 0x2000 -/* 80197404 4B E9 AC 85 */ bl setWaitParm__9STControlFssssffss -/* 80197408 7F C3 F3 78 */ mr r3, r30 -/* 8019740C 4B E9 AC A1 */ bl init__9STControlFv -lbl_80197410: -/* 80197410 93 DF 0E 40 */ stw r30, 0xe40(r31) -lbl_80197414: -/* 80197414 80 1F 0E 44 */ lwz r0, 0xe44(r31) -/* 80197418 28 00 00 00 */ cmplwi r0, 0 -/* 8019741C 40 82 00 48 */ bne lbl_80197464 -/* 80197420 38 60 00 B8 */ li r3, 0xb8 -/* 80197424 48 13 78 29 */ bl __nw__FUl -/* 80197428 7C 60 1B 79 */ or. r0, r3, r3 -/* 8019742C 41 82 00 18 */ beq lbl_80197444 -/* 80197430 38 80 00 01 */ li r4, 1 -/* 80197434 C0 22 A1 08 */ lfs f1, lit_4099(r2) -/* 80197438 38 A0 00 00 */ li r5, 0 -/* 8019743C 4B FF CD E5 */ bl __ct__16dSelect_cursor_cFUcfP10JKRArchive -/* 80197440 7C 60 1B 78 */ mr r0, r3 -lbl_80197444: -/* 80197444 90 1F 0E 44 */ stw r0, 0xe44(r31) -/* 80197448 80 7F 0E 44 */ lwz r3, 0xe44(r31) -/* 8019744C C0 22 A1 08 */ lfs f1, lit_4099(r2) -/* 80197450 FC 40 08 90 */ fmr f2, f1 -/* 80197454 C0 62 A1 0C */ lfs f3, lit_4100(r2) -/* 80197458 C0 82 A1 10 */ lfs f4, lit_4101(r2) -/* 8019745C FC A0 20 90 */ fmr f5, f4 -/* 80197460 4B FF DD 51 */ bl setParam__16dSelect_cursor_cFfffff -lbl_80197464: -/* 80197464 38 00 FF FF */ li r0, -1 -/* 80197468 90 1F 0F 64 */ stw r0, 0xf64(r31) -/* 8019746C 38 80 00 00 */ li r4, 0 -/* 80197470 90 9F 0F 54 */ stw r4, 0xf54(r31) -/* 80197474 90 9F 0F 58 */ stw r4, 0xf58(r31) -/* 80197478 B0 9F 0F 6A */ sth r4, 0xf6a(r31) -/* 8019747C 98 9F 0F 6E */ stb r4, 0xf6e(r31) -/* 80197480 98 9F 0F 6F */ stb r4, 0xf6f(r31) -/* 80197484 B0 9F 0F 68 */ sth r4, 0xf68(r31) -/* 80197488 98 9F 0F 70 */ stb r4, 0xf70(r31) -/* 8019748C 88 1F 0F 70 */ lbz r0, 0xf70(r31) -/* 80197490 98 1F 0F 71 */ stb r0, 0xf71(r31) -/* 80197494 98 9F 0F 79 */ stb r4, 0xf79(r31) -/* 80197498 98 9F 0F 7A */ stb r4, 0xf7a(r31) -/* 8019749C 98 9F 0F 72 */ stb r4, 0xf72(r31) -/* 801974A0 38 60 00 FF */ li r3, 0xff -/* 801974A4 98 7F 0F 73 */ stb r3, 0xf73(r31) -/* 801974A8 98 9F 0F 74 */ stb r4, 0xf74(r31) -/* 801974AC 98 9F 0F 75 */ stb r4, 0xf75(r31) -/* 801974B0 B0 9F 0F 6C */ sth r4, 0xf6c(r31) -/* 801974B4 98 9F 0F 76 */ stb r4, 0xf76(r31) -/* 801974B8 38 00 00 09 */ li r0, 9 -/* 801974BC 98 1F 0F 77 */ stb r0, 0xf77(r31) -/* 801974C0 98 7F 0F 78 */ stb r3, 0xf78(r31) -/* 801974C4 38 00 00 01 */ li r0, 1 -/* 801974C8 98 1F 09 BC */ stb r0, 0x9bc(r31) -/* 801974CC 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 801974D0 83 C1 00 08 */ lwz r30, 8(r1) -/* 801974D4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 801974D8 7C 08 03 A6 */ mtlr r0 -/* 801974DC 38 21 00 10 */ addi r1, r1, 0x10 -/* 801974E0 4E 80 00 20 */ blr diff --git a/asm/d/shop/d_shop_system/itemZoom__13dShopSystem_cFP4cXyz.s b/asm/d/shop/d_shop_system/itemZoom__13dShopSystem_cFP4cXyz.s deleted file mode 100644 index c979584856..0000000000 --- a/asm/d/shop/d_shop_system/itemZoom__13dShopSystem_cFP4cXyz.s +++ /dev/null @@ -1,442 +0,0 @@ -lbl_80198A2C: -/* 80198A2C 94 21 FF A0 */ stwu r1, -0x60(r1) -/* 80198A30 7C 08 02 A6 */ mflr r0 -/* 80198A34 90 01 00 64 */ stw r0, 0x64(r1) -/* 80198A38 39 61 00 60 */ addi r11, r1, 0x60 -/* 80198A3C 48 1C 97 9D */ bl _savegpr_28 -/* 80198A40 7C 7C 1B 78 */ mr r28, r3 -/* 80198A44 7C 9D 23 78 */ mr r29, r4 -/* 80198A48 80 03 0F 60 */ lwz r0, 0xf60(r3) -/* 80198A4C 2C 00 00 00 */ cmpwi r0, 0 -/* 80198A50 41 80 00 9C */ blt lbl_80198AEC -/* 80198A54 C0 1D 00 00 */ lfs f0, 0(r29) -/* 80198A58 D0 01 00 44 */ stfs f0, 0x44(r1) -/* 80198A5C C0 1D 00 04 */ lfs f0, 4(r29) -/* 80198A60 D0 01 00 48 */ stfs f0, 0x48(r1) -/* 80198A64 C0 1D 00 08 */ lfs f0, 8(r29) -/* 80198A68 D0 01 00 4C */ stfs f0, 0x4c(r1) -/* 80198A6C 38 8D 81 68 */ la r4, dShopSystem_itemNo(r13) /* 804506E8-_SDA_BASE_ */ -/* 80198A70 88 1C 0F 6E */ lbz r0, 0xf6e(r28) -/* 80198A74 7C 84 02 14 */ add r4, r4, r0 -/* 80198A78 88 04 FF FF */ lbz r0, -1(r4) -/* 80198A7C 28 00 00 66 */ cmplwi r0, 0x66 -/* 80198A80 40 82 00 3C */ bne lbl_80198ABC -/* 80198A84 38 80 00 08 */ li r4, 8 -/* 80198A88 4B FF EB 71 */ bl isFlag__13dShopSystem_cFi -/* 80198A8C 30 03 FF FF */ addic r0, r3, -1 -/* 80198A90 7C E0 19 10 */ subfe r7, r0, r3 -/* 80198A94 38 7C 0E 48 */ addi r3, r28, 0xe48 -/* 80198A98 88 9C 0F 6E */ lbz r4, 0xf6e(r28) -/* 80198A9C 38 A1 00 44 */ addi r5, r1, 0x44 -/* 80198AA0 3C C0 80 43 */ lis r6, g_cursorHIO@ha /* 0x80430110@ha */ -/* 80198AA4 38 C6 01 10 */ addi r6, r6, g_cursorHIO@l /* 0x80430110@l */ -/* 80198AA8 A8 C6 00 3C */ lha r6, 0x3c(r6) -/* 80198AAC 38 06 EC 78 */ addi r0, r6, -5000 -/* 80198AB0 7C 06 07 34 */ extsh r6, r0 -/* 80198AB4 4B FF E0 F1 */ bl setZoomAnime__15dShopItemCtrl_cFiP4cXyzsb -/* 80198AB8 48 00 05 DC */ b lbl_80199094 -lbl_80198ABC: -/* 80198ABC 38 80 00 08 */ li r4, 8 -/* 80198AC0 4B FF EB 39 */ bl isFlag__13dShopSystem_cFi -/* 80198AC4 30 03 FF FF */ addic r0, r3, -1 -/* 80198AC8 7C E0 19 10 */ subfe r7, r0, r3 -/* 80198ACC 38 7C 0E 48 */ addi r3, r28, 0xe48 -/* 80198AD0 88 9C 0F 6E */ lbz r4, 0xf6e(r28) -/* 80198AD4 38 A1 00 44 */ addi r5, r1, 0x44 -/* 80198AD8 3C C0 80 43 */ lis r6, g_cursorHIO@ha /* 0x80430110@ha */ -/* 80198ADC 38 C6 01 10 */ addi r6, r6, g_cursorHIO@l /* 0x80430110@l */ -/* 80198AE0 A8 C6 00 3C */ lha r6, 0x3c(r6) -/* 80198AE4 4B FF E0 C1 */ bl setZoomAnime__15dShopItemCtrl_cFiP4cXyzsb -/* 80198AE8 48 00 05 AC */ b lbl_80199094 -lbl_80198AEC: -/* 80198AEC 3C 60 80 3C */ lis r3, dShopSystem_itemActor@ha /* 0x803BB8A4@ha */ -/* 80198AF0 38 63 B8 A4 */ addi r3, r3, dShopSystem_itemActor@l /* 0x803BB8A4@l */ -/* 80198AF4 80 83 00 04 */ lwz r4, 4(r3) -/* 80198AF8 28 04 00 00 */ cmplwi r4, 0 -/* 80198AFC 41 82 02 F0 */ beq lbl_80198DEC -/* 80198B00 3B ED 81 70 */ la r31, dShopSystem_cameraActor(r13) /* 804506F0-_SDA_BASE_ */ -/* 80198B04 80 DF 00 04 */ lwz r6, 4(r31) -/* 80198B08 28 06 00 00 */ cmplwi r6, 0 -/* 80198B0C 41 82 02 E0 */ beq lbl_80198DEC -/* 80198B10 C0 04 04 A8 */ lfs f0, 0x4a8(r4) -/* 80198B14 D0 01 00 20 */ stfs f0, 0x20(r1) -/* 80198B18 C0 04 04 AC */ lfs f0, 0x4ac(r4) -/* 80198B1C D0 01 00 24 */ stfs f0, 0x24(r1) -/* 80198B20 C0 04 04 B0 */ lfs f0, 0x4b0(r4) -/* 80198B24 D0 01 00 28 */ stfs f0, 0x28(r1) -/* 80198B28 88 0D 8A D8 */ lbz r0, data_80451058(r13) -/* 80198B2C 28 00 00 04 */ cmplwi r0, 4 -/* 80198B30 40 82 00 54 */ bne lbl_80198B84 -/* 80198B34 80 63 00 08 */ lwz r3, 8(r3) -/* 80198B38 28 03 00 00 */ cmplwi r3, 0 -/* 80198B3C 41 82 00 90 */ beq lbl_80198BCC -/* 80198B40 C0 23 04 A8 */ lfs f1, 0x4a8(r3) -/* 80198B44 C0 04 04 A8 */ lfs f0, 0x4a8(r4) -/* 80198B48 EC 01 00 2A */ fadds f0, f1, f0 -/* 80198B4C C0 42 A1 04 */ lfs f2, lit_4098(r2) -/* 80198B50 EC 00 00 B2 */ fmuls f0, f0, f2 -/* 80198B54 D0 01 00 20 */ stfs f0, 0x20(r1) -/* 80198B58 C0 23 04 AC */ lfs f1, 0x4ac(r3) -/* 80198B5C C0 04 04 AC */ lfs f0, 0x4ac(r4) -/* 80198B60 EC 01 00 2A */ fadds f0, f1, f0 -/* 80198B64 EC 00 00 B2 */ fmuls f0, f0, f2 -/* 80198B68 D0 01 00 24 */ stfs f0, 0x24(r1) -/* 80198B6C C0 23 04 B0 */ lfs f1, 0x4b0(r3) -/* 80198B70 C0 04 04 B0 */ lfs f0, 0x4b0(r4) -/* 80198B74 EC 01 00 2A */ fadds f0, f1, f0 -/* 80198B78 EC 00 00 B2 */ fmuls f0, f0, f2 -/* 80198B7C D0 01 00 28 */ stfs f0, 0x28(r1) -/* 80198B80 48 00 00 4C */ b lbl_80198BCC -lbl_80198B84: -/* 80198B84 28 00 00 05 */ cmplwi r0, 5 -/* 80198B88 40 82 00 44 */ bne lbl_80198BCC -/* 80198B8C 80 A3 00 08 */ lwz r5, 8(r3) -/* 80198B90 C0 25 04 A8 */ lfs f1, 0x4a8(r5) -/* 80198B94 80 83 00 0C */ lwz r4, 0xc(r3) -/* 80198B98 C0 04 04 A8 */ lfs f0, 0x4a8(r4) -/* 80198B9C EC 01 00 2A */ fadds f0, f1, f0 -/* 80198BA0 C0 42 A1 04 */ lfs f2, lit_4098(r2) -/* 80198BA4 EC 00 00 B2 */ fmuls f0, f0, f2 -/* 80198BA8 D0 01 00 20 */ stfs f0, 0x20(r1) -/* 80198BAC 80 63 00 00 */ lwz r3, 0(r3) -/* 80198BB0 C0 03 04 AC */ lfs f0, 0x4ac(r3) -/* 80198BB4 D0 01 00 24 */ stfs f0, 0x24(r1) -/* 80198BB8 C0 25 04 B0 */ lfs f1, 0x4b0(r5) -/* 80198BBC C0 04 04 B0 */ lfs f0, 0x4b0(r4) -/* 80198BC0 EC 01 00 2A */ fadds f0, f1, f0 -/* 80198BC4 EC 00 00 B2 */ fmuls f0, f0, f2 -/* 80198BC8 D0 01 00 28 */ stfs f0, 0x28(r1) -lbl_80198BCC: -/* 80198BCC 38 61 00 08 */ addi r3, r1, 8 -/* 80198BD0 38 81 00 20 */ addi r4, r1, 0x20 -/* 80198BD4 38 A6 04 D0 */ addi r5, r6, 0x4d0 -/* 80198BD8 48 0C DF 5D */ bl __mi__4cXyzCFRC3Vec -/* 80198BDC C0 21 00 08 */ lfs f1, 8(r1) -/* 80198BE0 D0 21 00 14 */ stfs f1, 0x14(r1) -/* 80198BE4 C0 01 00 0C */ lfs f0, 0xc(r1) -/* 80198BE8 D0 01 00 18 */ stfs f0, 0x18(r1) -/* 80198BEC C0 41 00 10 */ lfs f2, 0x10(r1) -/* 80198BF0 D0 41 00 1C */ stfs f2, 0x1c(r1) -/* 80198BF4 48 0C EA 81 */ bl cM_atan2s__Fff -/* 80198BF8 7C 7E 1B 78 */ mr r30, r3 -/* 80198BFC 3C 60 80 39 */ lis r3, d_shop_d_shop_system__stringBase0@ha /* 0x80394C10@ha */ -/* 80198C00 38 63 4C 10 */ addi r3, r3, d_shop_d_shop_system__stringBase0@l /* 0x80394C10@l */ -/* 80198C04 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80198C08 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80198C0C 38 84 4E 00 */ addi r4, r4, 0x4e00 -/* 80198C10 48 1C FD 85 */ bl strcmp -/* 80198C14 2C 03 00 00 */ cmpwi r3, 0 -/* 80198C18 40 82 00 38 */ bne lbl_80198C50 -/* 80198C1C 3C 60 80 43 */ lis r3, g_cursorHIO@ha /* 0x80430110@ha */ -/* 80198C20 38 63 01 10 */ addi r3, r3, g_cursorHIO@l /* 0x80430110@l */ -/* 80198C24 C0 03 00 14 */ lfs f0, 0x14(r3) -/* 80198C28 D0 01 00 2C */ stfs f0, 0x2c(r1) -/* 80198C2C C0 22 A1 24 */ lfs f1, lit_5000(r2) -/* 80198C30 C0 03 00 18 */ lfs f0, 0x18(r3) -/* 80198C34 EC 01 00 2A */ fadds f0, f1, f0 -/* 80198C38 D0 01 00 30 */ stfs f0, 0x30(r1) -/* 80198C3C C0 22 A1 28 */ lfs f1, lit_5001(r2) -/* 80198C40 C0 03 00 1C */ lfs f0, 0x1c(r3) -/* 80198C44 EC 01 00 2A */ fadds f0, f1, f0 -/* 80198C48 D0 01 00 34 */ stfs f0, 0x34(r1) -/* 80198C4C 48 00 01 30 */ b lbl_80198D7C -lbl_80198C50: -/* 80198C50 88 1C 0F 77 */ lbz r0, 0xf77(r28) -/* 80198C54 28 00 00 05 */ cmplwi r0, 5 -/* 80198C58 40 82 00 B4 */ bne lbl_80198D0C -/* 80198C5C 38 6D 81 68 */ la r3, dShopSystem_itemNo(r13) /* 804506E8-_SDA_BASE_ */ -/* 80198C60 88 1C 0F 6E */ lbz r0, 0xf6e(r28) -/* 80198C64 7C 63 02 14 */ add r3, r3, r0 -/* 80198C68 88 03 FF FF */ lbz r0, -1(r3) -/* 80198C6C 28 00 00 0E */ cmplwi r0, 0xe -/* 80198C70 41 82 00 14 */ beq lbl_80198C84 -/* 80198C74 28 00 00 0F */ cmplwi r0, 0xf -/* 80198C78 41 82 00 0C */ beq lbl_80198C84 -/* 80198C7C 28 00 00 10 */ cmplwi r0, 0x10 -/* 80198C80 40 82 00 48 */ bne lbl_80198CC8 -lbl_80198C84: -/* 80198C84 3C 60 80 43 */ lis r3, g_cursorHIO@ha /* 0x80430110@ha */ -/* 80198C88 38 63 01 10 */ addi r3, r3, g_cursorHIO@l /* 0x80430110@l */ -/* 80198C8C C0 03 00 14 */ lfs f0, 0x14(r3) -/* 80198C90 D0 01 00 2C */ stfs f0, 0x2c(r1) -/* 80198C94 C0 42 A1 20 */ lfs f2, lit_4496(r2) -/* 80198C98 C0 22 A1 2C */ lfs f1, lit_5002(r2) -/* 80198C9C C0 03 00 18 */ lfs f0, 0x18(r3) -/* 80198CA0 EC 01 00 2A */ fadds f0, f1, f0 -/* 80198CA4 EC 02 00 2A */ fadds f0, f2, f0 -/* 80198CA8 D0 01 00 30 */ stfs f0, 0x30(r1) -/* 80198CAC C0 22 A1 30 */ lfs f1, lit_5003(r2) -/* 80198CB0 C0 03 00 1C */ lfs f0, 0x1c(r3) -/* 80198CB4 EC 21 00 2A */ fadds f1, f1, f0 -/* 80198CB8 C0 02 A1 34 */ lfs f0, lit_5004(r2) -/* 80198CBC EC 01 00 28 */ fsubs f0, f1, f0 -/* 80198CC0 D0 01 00 34 */ stfs f0, 0x34(r1) -/* 80198CC4 48 00 00 B8 */ b lbl_80198D7C -lbl_80198CC8: -/* 80198CC8 3C 60 80 43 */ lis r3, g_cursorHIO@ha /* 0x80430110@ha */ -/* 80198CCC 38 63 01 10 */ addi r3, r3, g_cursorHIO@l /* 0x80430110@l */ -/* 80198CD0 C0 03 00 14 */ lfs f0, 0x14(r3) -/* 80198CD4 D0 01 00 2C */ stfs f0, 0x2c(r1) -/* 80198CD8 C0 42 A1 1C */ lfs f2, lit_4495(r2) -/* 80198CDC C0 22 A1 2C */ lfs f1, lit_5002(r2) -/* 80198CE0 C0 03 00 18 */ lfs f0, 0x18(r3) -/* 80198CE4 EC 01 00 2A */ fadds f0, f1, f0 -/* 80198CE8 EC 02 00 2A */ fadds f0, f2, f0 -/* 80198CEC D0 01 00 30 */ stfs f0, 0x30(r1) -/* 80198CF0 C0 22 A1 30 */ lfs f1, lit_5003(r2) -/* 80198CF4 C0 03 00 1C */ lfs f0, 0x1c(r3) -/* 80198CF8 EC 21 00 2A */ fadds f1, f1, f0 -/* 80198CFC C0 02 A1 34 */ lfs f0, lit_5004(r2) -/* 80198D00 EC 01 00 28 */ fsubs f0, f1, f0 -/* 80198D04 D0 01 00 34 */ stfs f0, 0x34(r1) -/* 80198D08 48 00 00 74 */ b lbl_80198D7C -lbl_80198D0C: -/* 80198D0C 88 1C 0F 6E */ lbz r0, 0xf6e(r28) -/* 80198D10 28 00 00 07 */ cmplwi r0, 7 -/* 80198D14 40 82 00 38 */ bne lbl_80198D4C -/* 80198D18 3C 60 80 43 */ lis r3, g_cursorHIO@ha /* 0x80430110@ha */ -/* 80198D1C 38 63 01 10 */ addi r3, r3, g_cursorHIO@l /* 0x80430110@l */ -/* 80198D20 C0 03 00 20 */ lfs f0, 0x20(r3) -/* 80198D24 D0 01 00 2C */ stfs f0, 0x2c(r1) -/* 80198D28 C0 22 A1 38 */ lfs f1, lit_5005(r2) -/* 80198D2C C0 03 00 24 */ lfs f0, 0x24(r3) -/* 80198D30 EC 01 00 2A */ fadds f0, f1, f0 -/* 80198D34 D0 01 00 30 */ stfs f0, 0x30(r1) -/* 80198D38 C0 22 A1 3C */ lfs f1, lit_5006(r2) -/* 80198D3C C0 03 00 28 */ lfs f0, 0x28(r3) -/* 80198D40 EC 01 00 2A */ fadds f0, f1, f0 -/* 80198D44 D0 01 00 34 */ stfs f0, 0x34(r1) -/* 80198D48 48 00 00 34 */ b lbl_80198D7C -lbl_80198D4C: -/* 80198D4C 3C 60 80 43 */ lis r3, g_cursorHIO@ha /* 0x80430110@ha */ -/* 80198D50 38 63 01 10 */ addi r3, r3, g_cursorHIO@l /* 0x80430110@l */ -/* 80198D54 C0 03 00 14 */ lfs f0, 0x14(r3) -/* 80198D58 D0 01 00 2C */ stfs f0, 0x2c(r1) -/* 80198D5C C0 22 A1 2C */ lfs f1, lit_5002(r2) -/* 80198D60 C0 03 00 18 */ lfs f0, 0x18(r3) -/* 80198D64 EC 01 00 2A */ fadds f0, f1, f0 -/* 80198D68 D0 01 00 30 */ stfs f0, 0x30(r1) -/* 80198D6C C0 22 A1 30 */ lfs f1, lit_5003(r2) -/* 80198D70 C0 03 00 1C */ lfs f0, 0x1c(r3) -/* 80198D74 EC 01 00 2A */ fadds f0, f1, f0 -/* 80198D78 D0 01 00 34 */ stfs f0, 0x34(r1) -lbl_80198D7C: -/* 80198D7C 38 61 00 38 */ addi r3, r1, 0x38 -/* 80198D80 80 9F 00 04 */ lwz r4, 4(r31) -/* 80198D84 38 84 04 D0 */ addi r4, r4, 0x4d0 -/* 80198D88 7F C5 F3 78 */ mr r5, r30 -/* 80198D8C 38 C1 00 2C */ addi r6, r1, 0x2c -/* 80198D90 48 0D 80 31 */ bl cLib_offsetPos__FP4cXyzPC4cXyzsPC4cXyz -/* 80198D94 88 0D 8A D8 */ lbz r0, data_80451058(r13) -/* 80198D98 28 00 00 06 */ cmplwi r0, 6 -/* 80198D9C 41 82 00 0C */ beq lbl_80198DA8 -/* 80198DA0 28 00 00 05 */ cmplwi r0, 5 -/* 80198DA4 40 82 00 14 */ bne lbl_80198DB8 -lbl_80198DA8: -/* 80198DA8 C0 3D 00 04 */ lfs f1, 4(r29) -/* 80198DAC C0 02 A1 40 */ lfs f0, lit_5007(r2) -/* 80198DB0 EC 01 00 2A */ fadds f0, f1, f0 -/* 80198DB4 D0 1D 00 04 */ stfs f0, 4(r29) -lbl_80198DB8: -/* 80198DB8 C0 21 00 40 */ lfs f1, 0x40(r1) -/* 80198DBC C0 1D 00 08 */ lfs f0, 8(r29) -/* 80198DC0 EC 61 00 2A */ fadds f3, f1, f0 -/* 80198DC4 C0 21 00 3C */ lfs f1, 0x3c(r1) -/* 80198DC8 C0 1D 00 04 */ lfs f0, 4(r29) -/* 80198DCC EC 41 00 2A */ fadds f2, f1, f0 -/* 80198DD0 C0 21 00 38 */ lfs f1, 0x38(r1) -/* 80198DD4 C0 1D 00 00 */ lfs f0, 0(r29) -/* 80198DD8 EC 01 00 2A */ fadds f0, f1, f0 -/* 80198DDC D0 01 00 44 */ stfs f0, 0x44(r1) -/* 80198DE0 D0 41 00 48 */ stfs f2, 0x48(r1) -/* 80198DE4 D0 61 00 4C */ stfs f3, 0x4c(r1) -/* 80198DE8 48 00 00 28 */ b lbl_80198E10 -lbl_80198DEC: -/* 80198DEC C0 5D 00 00 */ lfs f2, 0(r29) -/* 80198DF0 D0 41 00 38 */ stfs f2, 0x38(r1) -/* 80198DF4 C0 3D 00 04 */ lfs f1, 4(r29) -/* 80198DF8 D0 21 00 3C */ stfs f1, 0x3c(r1) -/* 80198DFC C0 1D 00 08 */ lfs f0, 8(r29) -/* 80198E00 D0 01 00 40 */ stfs f0, 0x40(r1) -/* 80198E04 D0 41 00 44 */ stfs f2, 0x44(r1) -/* 80198E08 D0 21 00 48 */ stfs f1, 0x48(r1) -/* 80198E0C D0 01 00 4C */ stfs f0, 0x4c(r1) -lbl_80198E10: -/* 80198E10 88 1C 0F 77 */ lbz r0, 0xf77(r28) -/* 80198E14 28 00 00 01 */ cmplwi r0, 1 -/* 80198E18 40 82 00 8C */ bne lbl_80198EA4 -/* 80198E1C 38 6D 81 68 */ la r3, dShopSystem_itemNo(r13) /* 804506E8-_SDA_BASE_ */ -/* 80198E20 88 1C 0F 6E */ lbz r0, 0xf6e(r28) -/* 80198E24 7C 63 02 14 */ add r3, r3, r0 -/* 80198E28 88 03 FF FF */ lbz r0, -1(r3) -/* 80198E2C 28 00 00 66 */ cmplwi r0, 0x66 -/* 80198E30 40 82 00 40 */ bne lbl_80198E70 -/* 80198E34 7F 83 E3 78 */ mr r3, r28 -/* 80198E38 38 80 00 08 */ li r4, 8 -/* 80198E3C 4B FF E7 BD */ bl isFlag__13dShopSystem_cFi -/* 80198E40 30 03 FF FF */ addic r0, r3, -1 -/* 80198E44 7C E0 19 10 */ subfe r7, r0, r3 -/* 80198E48 38 7C 0E 48 */ addi r3, r28, 0xe48 -/* 80198E4C 88 9C 0F 6E */ lbz r4, 0xf6e(r28) -/* 80198E50 38 A1 00 44 */ addi r5, r1, 0x44 -/* 80198E54 3C C0 80 43 */ lis r6, g_cursorHIO@ha /* 0x80430110@ha */ -/* 80198E58 38 C6 01 10 */ addi r6, r6, g_cursorHIO@l /* 0x80430110@l */ -/* 80198E5C A8 C6 00 3E */ lha r6, 0x3e(r6) -/* 80198E60 38 06 E4 A8 */ addi r0, r6, -7000 -/* 80198E64 7C 06 07 34 */ extsh r6, r0 -/* 80198E68 4B FF DD 3D */ bl setZoomAnime__15dShopItemCtrl_cFiP4cXyzsb -/* 80198E6C 48 00 02 28 */ b lbl_80199094 -lbl_80198E70: -/* 80198E70 7F 83 E3 78 */ mr r3, r28 -/* 80198E74 38 80 00 08 */ li r4, 8 -/* 80198E78 4B FF E7 81 */ bl isFlag__13dShopSystem_cFi -/* 80198E7C 30 03 FF FF */ addic r0, r3, -1 -/* 80198E80 7C E0 19 10 */ subfe r7, r0, r3 -/* 80198E84 38 7C 0E 48 */ addi r3, r28, 0xe48 -/* 80198E88 88 9C 0F 6E */ lbz r4, 0xf6e(r28) -/* 80198E8C 38 A1 00 44 */ addi r5, r1, 0x44 -/* 80198E90 3C C0 80 43 */ lis r6, g_cursorHIO@ha /* 0x80430110@ha */ -/* 80198E94 38 C6 01 10 */ addi r6, r6, g_cursorHIO@l /* 0x80430110@l */ -/* 80198E98 A8 C6 00 3E */ lha r6, 0x3e(r6) -/* 80198E9C 4B FF DD 09 */ bl setZoomAnime__15dShopItemCtrl_cFiP4cXyzsb -/* 80198EA0 48 00 01 F4 */ b lbl_80199094 -lbl_80198EA4: -/* 80198EA4 28 00 00 02 */ cmplwi r0, 2 -/* 80198EA8 40 82 00 8C */ bne lbl_80198F34 -/* 80198EAC 38 6D 81 68 */ la r3, dShopSystem_itemNo(r13) /* 804506E8-_SDA_BASE_ */ -/* 80198EB0 88 1C 0F 6E */ lbz r0, 0xf6e(r28) -/* 80198EB4 7C 63 02 14 */ add r3, r3, r0 -/* 80198EB8 88 03 FF FF */ lbz r0, -1(r3) -/* 80198EBC 28 00 00 61 */ cmplwi r0, 0x61 -/* 80198EC0 40 82 00 40 */ bne lbl_80198F00 -/* 80198EC4 7F 83 E3 78 */ mr r3, r28 -/* 80198EC8 38 80 00 08 */ li r4, 8 -/* 80198ECC 4B FF E7 2D */ bl isFlag__13dShopSystem_cFi -/* 80198ED0 30 03 FF FF */ addic r0, r3, -1 -/* 80198ED4 7C E0 19 10 */ subfe r7, r0, r3 -/* 80198ED8 38 7C 0E 48 */ addi r3, r28, 0xe48 -/* 80198EDC 88 9C 0F 6E */ lbz r4, 0xf6e(r28) -/* 80198EE0 38 A1 00 44 */ addi r5, r1, 0x44 -/* 80198EE4 3C C0 80 43 */ lis r6, g_cursorHIO@ha /* 0x80430110@ha */ -/* 80198EE8 38 C6 01 10 */ addi r6, r6, g_cursorHIO@l /* 0x80430110@l */ -/* 80198EEC A8 C6 00 3E */ lha r6, 0x3e(r6) -/* 80198EF0 38 06 F4 48 */ addi r0, r6, -3000 -/* 80198EF4 7C 06 07 34 */ extsh r6, r0 -/* 80198EF8 4B FF DC AD */ bl setZoomAnime__15dShopItemCtrl_cFiP4cXyzsb -/* 80198EFC 48 00 01 98 */ b lbl_80199094 -lbl_80198F00: -/* 80198F00 7F 83 E3 78 */ mr r3, r28 -/* 80198F04 38 80 00 08 */ li r4, 8 -/* 80198F08 4B FF E6 F1 */ bl isFlag__13dShopSystem_cFi -/* 80198F0C 30 03 FF FF */ addic r0, r3, -1 -/* 80198F10 7C E0 19 10 */ subfe r7, r0, r3 -/* 80198F14 38 7C 0E 48 */ addi r3, r28, 0xe48 -/* 80198F18 88 9C 0F 6E */ lbz r4, 0xf6e(r28) -/* 80198F1C 38 A1 00 44 */ addi r5, r1, 0x44 -/* 80198F20 3C C0 80 43 */ lis r6, g_cursorHIO@ha /* 0x80430110@ha */ -/* 80198F24 38 C6 01 10 */ addi r6, r6, g_cursorHIO@l /* 0x80430110@l */ -/* 80198F28 A8 C6 00 3E */ lha r6, 0x3e(r6) -/* 80198F2C 4B FF DC 79 */ bl setZoomAnime__15dShopItemCtrl_cFiP4cXyzsb -/* 80198F30 48 00 01 64 */ b lbl_80199094 -lbl_80198F34: -/* 80198F34 28 00 00 05 */ cmplwi r0, 5 -/* 80198F38 40 82 00 A4 */ bne lbl_80198FDC -/* 80198F3C 38 6D 81 68 */ la r3, dShopSystem_itemNo(r13) /* 804506E8-_SDA_BASE_ */ -/* 80198F40 88 1C 0F 6E */ lbz r0, 0xf6e(r28) -/* 80198F44 7C 63 02 14 */ add r3, r3, r0 -/* 80198F48 88 03 FF FF */ lbz r0, -1(r3) -/* 80198F4C 28 00 00 0E */ cmplwi r0, 0xe -/* 80198F50 41 82 00 14 */ beq lbl_80198F64 -/* 80198F54 28 00 00 0F */ cmplwi r0, 0xf -/* 80198F58 41 82 00 0C */ beq lbl_80198F64 -/* 80198F5C 28 00 00 10 */ cmplwi r0, 0x10 -/* 80198F60 40 82 00 40 */ bne lbl_80198FA0 -lbl_80198F64: -/* 80198F64 7F 83 E3 78 */ mr r3, r28 -/* 80198F68 38 80 00 08 */ li r4, 8 -/* 80198F6C 4B FF E6 8D */ bl isFlag__13dShopSystem_cFi -/* 80198F70 30 03 FF FF */ addic r0, r3, -1 -/* 80198F74 7C E0 19 10 */ subfe r7, r0, r3 -/* 80198F78 38 7C 0E 48 */ addi r3, r28, 0xe48 -/* 80198F7C 88 9C 0F 6E */ lbz r4, 0xf6e(r28) -/* 80198F80 38 A1 00 44 */ addi r5, r1, 0x44 -/* 80198F84 3C C0 80 43 */ lis r6, g_cursorHIO@ha /* 0x80430110@ha */ -/* 80198F88 38 C6 01 10 */ addi r6, r6, g_cursorHIO@l /* 0x80430110@l */ -/* 80198F8C A8 C6 00 3E */ lha r6, 0x3e(r6) -/* 80198F90 38 06 F0 60 */ addi r0, r6, -4000 -/* 80198F94 7C 06 07 34 */ extsh r6, r0 -/* 80198F98 4B FF DC 0D */ bl setZoomAnime__15dShopItemCtrl_cFiP4cXyzsb -/* 80198F9C 48 00 00 F8 */ b lbl_80199094 -lbl_80198FA0: -/* 80198FA0 7F 83 E3 78 */ mr r3, r28 -/* 80198FA4 38 80 00 08 */ li r4, 8 -/* 80198FA8 4B FF E6 51 */ bl isFlag__13dShopSystem_cFi -/* 80198FAC 30 03 FF FF */ addic r0, r3, -1 -/* 80198FB0 7C E0 19 10 */ subfe r7, r0, r3 -/* 80198FB4 38 7C 0E 48 */ addi r3, r28, 0xe48 -/* 80198FB8 88 9C 0F 6E */ lbz r4, 0xf6e(r28) -/* 80198FBC 38 A1 00 44 */ addi r5, r1, 0x44 -/* 80198FC0 3C C0 80 43 */ lis r6, g_cursorHIO@ha /* 0x80430110@ha */ -/* 80198FC4 38 C6 01 10 */ addi r6, r6, g_cursorHIO@l /* 0x80430110@l */ -/* 80198FC8 A8 C6 00 3E */ lha r6, 0x3e(r6) -/* 80198FCC 38 06 F8 30 */ addi r0, r6, -2000 -/* 80198FD0 7C 06 07 34 */ extsh r6, r0 -/* 80198FD4 4B FF DB D1 */ bl setZoomAnime__15dShopItemCtrl_cFiP4cXyzsb -/* 80198FD8 48 00 00 BC */ b lbl_80199094 -lbl_80198FDC: -/* 80198FDC 88 1C 0F 6E */ lbz r0, 0xf6e(r28) -/* 80198FE0 28 00 00 07 */ cmplwi r0, 7 -/* 80198FE4 40 82 00 38 */ bne lbl_8019901C -/* 80198FE8 7F 83 E3 78 */ mr r3, r28 -/* 80198FEC 38 80 00 08 */ li r4, 8 -/* 80198FF0 4B FF E6 09 */ bl isFlag__13dShopSystem_cFi -/* 80198FF4 30 03 FF FF */ addic r0, r3, -1 -/* 80198FF8 7C E0 19 10 */ subfe r7, r0, r3 -/* 80198FFC 38 7C 0E 48 */ addi r3, r28, 0xe48 -/* 80199000 88 9C 0F 6E */ lbz r4, 0xf6e(r28) -/* 80199004 38 A1 00 44 */ addi r5, r1, 0x44 -/* 80199008 3C C0 80 43 */ lis r6, g_cursorHIO@ha /* 0x80430110@ha */ -/* 8019900C 38 C6 01 10 */ addi r6, r6, g_cursorHIO@l /* 0x80430110@l */ -/* 80199010 A8 C6 00 40 */ lha r6, 0x40(r6) -/* 80199014 4B FF DB 91 */ bl setZoomAnime__15dShopItemCtrl_cFiP4cXyzsb -/* 80199018 48 00 00 7C */ b lbl_80199094 -lbl_8019901C: -/* 8019901C 88 0D 8A D8 */ lbz r0, data_80451058(r13) -/* 80199020 28 00 00 07 */ cmplwi r0, 7 -/* 80199024 40 82 00 40 */ bne lbl_80199064 -/* 80199028 7F 83 E3 78 */ mr r3, r28 -/* 8019902C 38 80 00 08 */ li r4, 8 -/* 80199030 4B FF E5 C9 */ bl isFlag__13dShopSystem_cFi -/* 80199034 30 03 FF FF */ addic r0, r3, -1 -/* 80199038 7C E0 19 10 */ subfe r7, r0, r3 -/* 8019903C 38 7C 0E 48 */ addi r3, r28, 0xe48 -/* 80199040 88 9C 0F 6E */ lbz r4, 0xf6e(r28) -/* 80199044 38 A1 00 44 */ addi r5, r1, 0x44 -/* 80199048 3C C0 80 43 */ lis r6, g_cursorHIO@ha /* 0x80430110@ha */ -/* 8019904C 38 C6 01 10 */ addi r6, r6, g_cursorHIO@l /* 0x80430110@l */ -/* 80199050 A8 C6 00 3E */ lha r6, 0x3e(r6) -/* 80199054 38 06 F4 48 */ addi r0, r6, -3000 -/* 80199058 7C 06 07 34 */ extsh r6, r0 -/* 8019905C 4B FF DB 49 */ bl setZoomAnime__15dShopItemCtrl_cFiP4cXyzsb -/* 80199060 48 00 00 34 */ b lbl_80199094 -lbl_80199064: -/* 80199064 7F 83 E3 78 */ mr r3, r28 -/* 80199068 38 80 00 08 */ li r4, 8 -/* 8019906C 4B FF E5 8D */ bl isFlag__13dShopSystem_cFi -/* 80199070 30 03 FF FF */ addic r0, r3, -1 -/* 80199074 7C E0 19 10 */ subfe r7, r0, r3 -/* 80199078 38 7C 0E 48 */ addi r3, r28, 0xe48 -/* 8019907C 88 9C 0F 6E */ lbz r4, 0xf6e(r28) -/* 80199080 38 A1 00 44 */ addi r5, r1, 0x44 -/* 80199084 3C C0 80 43 */ lis r6, g_cursorHIO@ha /* 0x80430110@ha */ -/* 80199088 38 C6 01 10 */ addi r6, r6, g_cursorHIO@l /* 0x80430110@l */ -/* 8019908C A8 C6 00 3E */ lha r6, 0x3e(r6) -/* 80199090 4B FF DB 15 */ bl setZoomAnime__15dShopItemCtrl_cFiP4cXyzsb -lbl_80199094: -/* 80199094 38 60 00 01 */ li r3, 1 -/* 80199098 39 61 00 60 */ addi r11, r1, 0x60 -/* 8019909C 48 1C 91 89 */ bl _restgpr_28 -/* 801990A0 80 01 00 64 */ lwz r0, 0x64(r1) -/* 801990A4 7C 08 03 A6 */ mtlr r0 -/* 801990A8 38 21 00 60 */ addi r1, r1, 0x60 -/* 801990AC 4E 80 00 20 */ blr diff --git a/asm/d/shop/d_shop_system/moveCursor0__13dShopSystem_cFiUc.s b/asm/d/shop/d_shop_system/moveCursor0__13dShopSystem_cFiUc.s deleted file mode 100644 index 1c0388c957..0000000000 --- a/asm/d/shop/d_shop_system/moveCursor0__13dShopSystem_cFiUc.s +++ /dev/null @@ -1,176 +0,0 @@ -lbl_80198488: -/* 80198488 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8019848C 7C 08 02 A6 */ mflr r0 -/* 80198490 90 01 00 24 */ stw r0, 0x24(r1) -/* 80198494 39 61 00 20 */ addi r11, r1, 0x20 -/* 80198498 48 1C 9D 45 */ bl _savegpr_29 -/* 8019849C 7C 7D 1B 78 */ mr r29, r3 -/* 801984A0 7C 9E 23 78 */ mr r30, r4 -/* 801984A4 7C BF 2B 78 */ mr r31, r5 -/* 801984A8 38 80 00 07 */ li r4, 7 -/* 801984AC 4B FF F1 31 */ bl offFlag__13dShopSystem_cFi -/* 801984B0 2C 1E 00 04 */ cmpwi r30, 4 -/* 801984B4 41 82 00 78 */ beq lbl_8019852C -/* 801984B8 40 80 00 1C */ bge lbl_801984D4 -/* 801984BC 2C 1E 00 02 */ cmpwi r30, 2 -/* 801984C0 41 82 01 80 */ beq lbl_80198640 -/* 801984C4 40 80 00 1C */ bge lbl_801984E0 -/* 801984C8 2C 1E 00 01 */ cmpwi r30, 1 -/* 801984CC 40 80 00 F8 */ bge lbl_801985C4 -/* 801984D0 48 00 02 1C */ b lbl_801986EC -lbl_801984D4: -/* 801984D4 2C 1E 00 07 */ cmpwi r30, 7 -/* 801984D8 41 82 00 A0 */ beq lbl_80198578 -/* 801984DC 48 00 02 10 */ b lbl_801986EC -lbl_801984E0: -/* 801984E0 88 1D 0F 6E */ lbz r0, 0xf6e(r29) -/* 801984E4 28 00 00 00 */ cmplwi r0, 0 -/* 801984E8 40 82 00 20 */ bne lbl_80198508 -/* 801984EC 80 7D 0F 54 */ lwz r3, 0xf54(r29) -/* 801984F0 20 00 00 03 */ subfic r0, r0, 3 -/* 801984F4 54 00 18 38 */ slwi r0, r0, 3 -/* 801984F8 7C 60 04 30 */ srw r0, r3, r0 -/* 801984FC 54 03 06 3E */ clrlwi r3, r0, 0x18 -/* 80198500 38 63 00 52 */ addi r3, r3, 0x52 -/* 80198504 48 00 01 EC */ b lbl_801986F0 -lbl_80198508: -/* 80198508 80 7D 0F 54 */ lwz r3, 0xf54(r29) -/* 8019850C 20 00 00 03 */ subfic r0, r0, 3 -/* 80198510 54 00 18 38 */ slwi r0, r0, 3 -/* 80198514 7C 60 04 30 */ srw r0, r3, r0 -/* 80198518 54 03 06 3E */ clrlwi r3, r0, 0x18 -/* 8019851C 38 03 FF FF */ addi r0, r3, -1 -/* 80198520 54 03 08 3C */ slwi r3, r0, 1 -/* 80198524 38 63 00 66 */ addi r3, r3, 0x66 -/* 80198528 48 00 01 C8 */ b lbl_801986F0 -lbl_8019852C: -/* 8019852C 88 1D 0F 6E */ lbz r0, 0xf6e(r29) -/* 80198530 28 00 00 00 */ cmplwi r0, 0 -/* 80198534 40 82 00 20 */ bne lbl_80198554 -/* 80198538 80 7D 0F 54 */ lwz r3, 0xf54(r29) -/* 8019853C 20 00 00 03 */ subfic r0, r0, 3 -/* 80198540 54 00 18 38 */ slwi r0, r0, 3 -/* 80198544 7C 60 04 30 */ srw r0, r3, r0 -/* 80198548 54 03 06 3E */ clrlwi r3, r0, 0x18 -/* 8019854C 38 63 00 52 */ addi r3, r3, 0x52 -/* 80198550 48 00 01 A0 */ b lbl_801986F0 -lbl_80198554: -/* 80198554 80 7D 0F 54 */ lwz r3, 0xf54(r29) -/* 80198558 20 00 00 03 */ subfic r0, r0, 3 -/* 8019855C 54 00 18 38 */ slwi r0, r0, 3 -/* 80198560 7C 60 04 30 */ srw r0, r3, r0 -/* 80198564 54 03 06 3E */ clrlwi r3, r0, 0x18 -/* 80198568 38 03 FF FF */ addi r0, r3, -1 -/* 8019856C 54 03 08 3C */ slwi r3, r0, 1 -/* 80198570 38 63 00 66 */ addi r3, r3, 0x66 -/* 80198574 48 00 01 7C */ b lbl_801986F0 -lbl_80198578: -/* 80198578 88 1D 0F 6E */ lbz r0, 0xf6e(r29) -/* 8019857C 28 00 00 00 */ cmplwi r0, 0 -/* 80198580 40 82 00 20 */ bne lbl_801985A0 -/* 80198584 80 7D 0F 54 */ lwz r3, 0xf54(r29) -/* 80198588 20 00 00 03 */ subfic r0, r0, 3 -/* 8019858C 54 00 18 38 */ slwi r0, r0, 3 -/* 80198590 7C 60 04 30 */ srw r0, r3, r0 -/* 80198594 54 03 06 3E */ clrlwi r3, r0, 0x18 -/* 80198598 38 63 00 52 */ addi r3, r3, 0x52 -/* 8019859C 48 00 01 54 */ b lbl_801986F0 -lbl_801985A0: -/* 801985A0 80 7D 0F 54 */ lwz r3, 0xf54(r29) -/* 801985A4 20 00 00 03 */ subfic r0, r0, 3 -/* 801985A8 54 00 18 38 */ slwi r0, r0, 3 -/* 801985AC 7C 60 04 30 */ srw r0, r3, r0 -/* 801985B0 54 03 06 3E */ clrlwi r3, r0, 0x18 -/* 801985B4 38 03 FF FF */ addi r0, r3, -1 -/* 801985B8 54 03 08 3C */ slwi r3, r0, 1 -/* 801985BC 38 63 00 66 */ addi r3, r3, 0x66 -/* 801985C0 48 00 01 30 */ b lbl_801986F0 -lbl_801985C4: -/* 801985C4 88 9D 0F 6E */ lbz r4, 0xf6e(r29) -/* 801985C8 28 04 00 00 */ cmplwi r4, 0 -/* 801985CC 40 82 00 20 */ bne lbl_801985EC -/* 801985D0 80 7D 0F 54 */ lwz r3, 0xf54(r29) -/* 801985D4 20 04 00 03 */ subfic r0, r4, 3 -/* 801985D8 54 00 18 38 */ slwi r0, r0, 3 -/* 801985DC 7C 60 04 30 */ srw r0, r3, r0 -/* 801985E0 54 03 06 3E */ clrlwi r3, r0, 0x18 -/* 801985E4 38 63 00 52 */ addi r3, r3, 0x52 -/* 801985E8 48 00 01 08 */ b lbl_801986F0 -lbl_801985EC: -/* 801985EC 57 E0 06 3E */ clrlwi r0, r31, 0x18 -/* 801985F0 28 00 00 02 */ cmplwi r0, 2 -/* 801985F4 41 82 00 28 */ beq lbl_8019861C -/* 801985F8 80 7D 0F 54 */ lwz r3, 0xf54(r29) -/* 801985FC 20 04 00 03 */ subfic r0, r4, 3 -/* 80198600 54 00 18 38 */ slwi r0, r0, 3 -/* 80198604 7C 60 04 30 */ srw r0, r3, r0 -/* 80198608 54 03 06 3E */ clrlwi r3, r0, 0x18 -/* 8019860C 38 03 FF FF */ addi r0, r3, -1 -/* 80198610 54 03 08 3C */ slwi r3, r0, 1 -/* 80198614 38 63 00 65 */ addi r3, r3, 0x65 -/* 80198618 48 00 00 D8 */ b lbl_801986F0 -lbl_8019861C: -/* 8019861C 80 7D 0F 54 */ lwz r3, 0xf54(r29) -/* 80198620 20 04 00 03 */ subfic r0, r4, 3 -/* 80198624 54 00 18 38 */ slwi r0, r0, 3 -/* 80198628 7C 60 04 30 */ srw r0, r3, r0 -/* 8019862C 54 03 06 3E */ clrlwi r3, r0, 0x18 -/* 80198630 38 03 FF FF */ addi r0, r3, -1 -/* 80198634 54 03 08 3C */ slwi r3, r0, 1 -/* 80198638 38 63 00 66 */ addi r3, r3, 0x66 -/* 8019863C 48 00 00 B4 */ b lbl_801986F0 -lbl_80198640: -/* 80198640 7F A3 EB 78 */ mr r3, r29 -/* 80198644 38 80 00 07 */ li r4, 7 -/* 80198648 4B FF EF 79 */ bl onFlag__13dShopSystem_cFi -/* 8019864C 88 1D 0F 6E */ lbz r0, 0xf6e(r29) -/* 80198650 B0 1D 0F 4C */ sth r0, 0xf4c(r29) -/* 80198654 C0 22 A1 18 */ lfs f1, lit_4494(r2) -/* 80198658 D0 3D 0F 38 */ stfs f1, 0xf38(r29) -/* 8019865C C0 02 A1 1C */ lfs f0, lit_4495(r2) -/* 80198660 D0 1D 0F 3C */ stfs f0, 0xf3c(r29) -/* 80198664 D0 3D 0F 40 */ stfs f1, 0xf40(r29) -/* 80198668 C0 02 A1 20 */ lfs f0, lit_4496(r2) -/* 8019866C D0 1D 0F 44 */ stfs f0, 0xf44(r29) -/* 80198670 88 9D 0F 6E */ lbz r4, 0xf6e(r29) -/* 80198674 28 04 00 00 */ cmplwi r4, 0 -/* 80198678 40 82 00 20 */ bne lbl_80198698 -/* 8019867C 80 7D 0F 54 */ lwz r3, 0xf54(r29) -/* 80198680 20 04 00 03 */ subfic r0, r4, 3 -/* 80198684 54 00 18 38 */ slwi r0, r0, 3 -/* 80198688 7C 60 04 30 */ srw r0, r3, r0 -/* 8019868C 54 03 06 3E */ clrlwi r3, r0, 0x18 -/* 80198690 38 63 00 52 */ addi r3, r3, 0x52 -/* 80198694 48 00 00 5C */ b lbl_801986F0 -lbl_80198698: -/* 80198698 57 E0 06 3E */ clrlwi r0, r31, 0x18 -/* 8019869C 28 00 00 02 */ cmplwi r0, 2 -/* 801986A0 41 82 00 28 */ beq lbl_801986C8 -/* 801986A4 80 7D 0F 54 */ lwz r3, 0xf54(r29) -/* 801986A8 20 04 00 03 */ subfic r0, r4, 3 -/* 801986AC 54 00 18 38 */ slwi r0, r0, 3 -/* 801986B0 7C 60 04 30 */ srw r0, r3, r0 -/* 801986B4 54 03 06 3E */ clrlwi r3, r0, 0x18 -/* 801986B8 38 03 FF FF */ addi r0, r3, -1 -/* 801986BC 54 03 08 3C */ slwi r3, r0, 1 -/* 801986C0 38 63 00 65 */ addi r3, r3, 0x65 -/* 801986C4 48 00 00 2C */ b lbl_801986F0 -lbl_801986C8: -/* 801986C8 80 7D 0F 54 */ lwz r3, 0xf54(r29) -/* 801986CC 20 04 00 03 */ subfic r0, r4, 3 -/* 801986D0 54 00 18 38 */ slwi r0, r0, 3 -/* 801986D4 7C 60 04 30 */ srw r0, r3, r0 -/* 801986D8 54 03 06 3E */ clrlwi r3, r0, 0x18 -/* 801986DC 38 03 FF FF */ addi r0, r3, -1 -/* 801986E0 54 03 08 3C */ slwi r3, r0, 1 -/* 801986E4 38 63 00 66 */ addi r3, r3, 0x66 -/* 801986E8 48 00 00 08 */ b lbl_801986F0 -lbl_801986EC: -/* 801986EC 38 60 00 00 */ li r3, 0 -lbl_801986F0: -/* 801986F0 39 61 00 20 */ addi r11, r1, 0x20 -/* 801986F4 48 1C 9B 35 */ bl _restgpr_29 -/* 801986F8 80 01 00 24 */ lwz r0, 0x24(r1) -/* 801986FC 7C 08 03 A6 */ mtlr r0 -/* 80198700 38 21 00 20 */ addi r1, r1, 0x20 -/* 80198704 4E 80 00 20 */ blr diff --git a/asm/d/shop/d_shop_system/moveCursor1__13dShopSystem_cFiUc.s b/asm/d/shop/d_shop_system/moveCursor1__13dShopSystem_cFiUc.s deleted file mode 100644 index 4a3c94c2e6..0000000000 --- a/asm/d/shop/d_shop_system/moveCursor1__13dShopSystem_cFiUc.s +++ /dev/null @@ -1,103 +0,0 @@ -lbl_80198708: -/* 80198708 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8019870C 7C 08 02 A6 */ mflr r0 -/* 80198710 90 01 00 24 */ stw r0, 0x24(r1) -/* 80198714 39 61 00 20 */ addi r11, r1, 0x20 -/* 80198718 48 1C 9A C5 */ bl _savegpr_29 -/* 8019871C 7C 7F 1B 78 */ mr r31, r3 -/* 80198720 7C 9D 23 78 */ mr r29, r4 -/* 80198724 7C BE 2B 78 */ mr r30, r5 -/* 80198728 38 80 00 07 */ li r4, 7 -/* 8019872C 4B FF EE B1 */ bl offFlag__13dShopSystem_cFi -/* 80198730 2C 1D 00 02 */ cmpwi r29, 2 -/* 80198734 41 82 00 A4 */ beq lbl_801987D8 -/* 80198738 40 80 00 10 */ bge lbl_80198748 -/* 8019873C 2C 1D 00 01 */ cmpwi r29, 1 -/* 80198740 40 80 00 44 */ bge lbl_80198784 -/* 80198744 48 00 01 18 */ b lbl_8019885C -lbl_80198748: -/* 80198748 2C 1D 00 08 */ cmpwi r29, 8 -/* 8019874C 40 80 01 10 */ bge lbl_8019885C -/* 80198750 88 7F 0F 6E */ lbz r3, 0xf6e(r31) -/* 80198754 28 03 00 00 */ cmplwi r3, 0 -/* 80198758 40 82 00 14 */ bne lbl_8019876C -/* 8019875C 7F E3 FB 78 */ mr r3, r31 -/* 80198760 48 00 23 A1 */ bl getFlowNodeNum__13dShopSystem_cFv -/* 80198764 38 63 00 01 */ addi r3, r3, 1 -/* 80198768 48 00 00 F8 */ b lbl_80198860 -lbl_8019876C: -/* 8019876C 38 03 FF FF */ addi r0, r3, -1 -/* 80198770 54 00 08 3C */ slwi r0, r0, 1 -/* 80198774 7C 7F 02 14 */ add r3, r31, r0 -/* 80198778 A0 63 0E 68 */ lhz r3, 0xe68(r3) -/* 8019877C 38 63 00 01 */ addi r3, r3, 1 -/* 80198780 48 00 00 E0 */ b lbl_80198860 -lbl_80198784: -/* 80198784 88 7F 0F 6E */ lbz r3, 0xf6e(r31) -/* 80198788 28 03 00 00 */ cmplwi r3, 0 -/* 8019878C 40 82 00 14 */ bne lbl_801987A0 -/* 80198790 7F E3 FB 78 */ mr r3, r31 -/* 80198794 48 00 23 6D */ bl getFlowNodeNum__13dShopSystem_cFv -/* 80198798 38 63 00 01 */ addi r3, r3, 1 -/* 8019879C 48 00 00 C4 */ b lbl_80198860 -lbl_801987A0: -/* 801987A0 57 C0 06 3E */ clrlwi r0, r30, 0x18 -/* 801987A4 28 00 00 02 */ cmplwi r0, 2 -/* 801987A8 41 82 00 18 */ beq lbl_801987C0 -/* 801987AC 38 03 FF FF */ addi r0, r3, -1 -/* 801987B0 54 00 08 3C */ slwi r0, r0, 1 -/* 801987B4 7C 7F 02 14 */ add r3, r31, r0 -/* 801987B8 A0 63 0E 68 */ lhz r3, 0xe68(r3) -/* 801987BC 48 00 00 A4 */ b lbl_80198860 -lbl_801987C0: -/* 801987C0 38 03 FF FF */ addi r0, r3, -1 -/* 801987C4 54 00 08 3C */ slwi r0, r0, 1 -/* 801987C8 7C 7F 02 14 */ add r3, r31, r0 -/* 801987CC A0 63 0E 68 */ lhz r3, 0xe68(r3) -/* 801987D0 38 63 00 01 */ addi r3, r3, 1 -/* 801987D4 48 00 00 8C */ b lbl_80198860 -lbl_801987D8: -/* 801987D8 7F E3 FB 78 */ mr r3, r31 -/* 801987DC 38 80 00 07 */ li r4, 7 -/* 801987E0 4B FF ED E1 */ bl onFlag__13dShopSystem_cFi -/* 801987E4 88 1F 0F 6E */ lbz r0, 0xf6e(r31) -/* 801987E8 B0 1F 0F 4C */ sth r0, 0xf4c(r31) -/* 801987EC C0 22 A1 18 */ lfs f1, lit_4494(r2) -/* 801987F0 D0 3F 0F 38 */ stfs f1, 0xf38(r31) -/* 801987F4 C0 02 A1 1C */ lfs f0, lit_4495(r2) -/* 801987F8 D0 1F 0F 3C */ stfs f0, 0xf3c(r31) -/* 801987FC D0 3F 0F 40 */ stfs f1, 0xf40(r31) -/* 80198800 C0 02 A1 20 */ lfs f0, lit_4496(r2) -/* 80198804 D0 1F 0F 44 */ stfs f0, 0xf44(r31) -/* 80198808 88 7F 0F 6E */ lbz r3, 0xf6e(r31) -/* 8019880C 28 03 00 00 */ cmplwi r3, 0 -/* 80198810 40 82 00 14 */ bne lbl_80198824 -/* 80198814 7F E3 FB 78 */ mr r3, r31 -/* 80198818 48 00 22 E9 */ bl getFlowNodeNum__13dShopSystem_cFv -/* 8019881C 38 63 00 01 */ addi r3, r3, 1 -/* 80198820 48 00 00 40 */ b lbl_80198860 -lbl_80198824: -/* 80198824 57 C0 06 3E */ clrlwi r0, r30, 0x18 -/* 80198828 28 00 00 02 */ cmplwi r0, 2 -/* 8019882C 41 82 00 18 */ beq lbl_80198844 -/* 80198830 38 03 FF FF */ addi r0, r3, -1 -/* 80198834 54 00 08 3C */ slwi r0, r0, 1 -/* 80198838 7C 7F 02 14 */ add r3, r31, r0 -/* 8019883C A0 63 0E 68 */ lhz r3, 0xe68(r3) -/* 80198840 48 00 00 20 */ b lbl_80198860 -lbl_80198844: -/* 80198844 38 03 FF FF */ addi r0, r3, -1 -/* 80198848 54 00 08 3C */ slwi r0, r0, 1 -/* 8019884C 7C 7F 02 14 */ add r3, r31, r0 -/* 80198850 A0 63 0E 68 */ lhz r3, 0xe68(r3) -/* 80198854 38 63 00 01 */ addi r3, r3, 1 -/* 80198858 48 00 00 08 */ b lbl_80198860 -lbl_8019885C: -/* 8019885C 38 60 00 00 */ li r3, 0 -lbl_80198860: -/* 80198860 39 61 00 20 */ addi r11, r1, 0x20 -/* 80198864 48 1C 99 C5 */ bl _restgpr_29 -/* 80198868 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8019886C 7C 08 03 A6 */ mtlr r0 -/* 80198870 38 21 00 20 */ addi r1, r1, 0x20 -/* 80198874 4E 80 00 20 */ blr diff --git a/asm/d/shop/d_shop_system/searchItemActor__13dShopSystem_cFv.s b/asm/d/shop/d_shop_system/searchItemActor__13dShopSystem_cFv.s deleted file mode 100644 index a187ffefcd..0000000000 --- a/asm/d/shop/d_shop_system/searchItemActor__13dShopSystem_cFv.s +++ /dev/null @@ -1,361 +0,0 @@ -lbl_8019A5D0: -/* 8019A5D0 94 21 FF 40 */ stwu r1, -0xc0(r1) -/* 8019A5D4 7C 08 02 A6 */ mflr r0 -/* 8019A5D8 90 01 00 C4 */ stw r0, 0xc4(r1) -/* 8019A5DC DB E1 00 B0 */ stfd f31, 0xb0(r1) -/* 8019A5E0 F3 E1 00 B8 */ psq_st f31, 184(r1), 0, 0 /* qr0 */ -/* 8019A5E4 39 61 00 B0 */ addi r11, r1, 0xb0 -/* 8019A5E8 48 1C 7B D5 */ bl _savegpr_21 -/* 8019A5EC 7C 7E 1B 78 */ mr r30, r3 -/* 8019A5F0 80 6D 8A DC */ lwz r3, dShopSystem_item_count(r13) -/* 8019A5F4 2C 03 FF FF */ cmpwi r3, -1 -/* 8019A5F8 41 82 00 58 */ beq lbl_8019A650 -/* 8019A5FC 88 8D 8A D8 */ lbz r4, data_80451058(r13) -/* 8019A600 7C 03 20 00 */ cmpw r3, r4 -/* 8019A604 41 80 00 10 */ blt lbl_8019A614 -/* 8019A608 80 0D 8A E4 */ lwz r0, dShopSystem_camera_count(r13) -/* 8019A60C 2C 00 00 02 */ cmpwi r0, 2 -/* 8019A610 40 80 00 40 */ bge lbl_8019A650 -lbl_8019A614: -/* 8019A614 7C 03 20 00 */ cmpw r3, r4 -/* 8019A618 40 80 00 14 */ bge lbl_8019A62C -/* 8019A61C 3C 60 80 19 */ lis r3, dShopSystem_searchItemActor__FPvPv@ha /* 0x80197098@ha */ -/* 8019A620 38 63 70 98 */ addi r3, r3, dShopSystem_searchItemActor__FPvPv@l /* 0x80197098@l */ -/* 8019A624 7F C4 F3 78 */ mr r4, r30 -/* 8019A628 4B E8 6D 11 */ bl fpcEx_Search__FPFPvPv_PvPv -lbl_8019A62C: -/* 8019A62C 80 0D 8A E4 */ lwz r0, dShopSystem_camera_count(r13) -/* 8019A630 2C 00 00 02 */ cmpwi r0, 2 -/* 8019A634 40 80 00 14 */ bge lbl_8019A648 -/* 8019A638 3C 60 80 19 */ lis r3, dShopSystem_searchCameraActor__FPvPv@ha /* 0x80197270@ha */ -/* 8019A63C 38 63 72 70 */ addi r3, r3, dShopSystem_searchCameraActor__FPvPv@l /* 0x80197270@l */ -/* 8019A640 7F C4 F3 78 */ mr r4, r30 -/* 8019A644 4B E8 6C F5 */ bl fpcEx_Search__FPFPvPv_PvPv -lbl_8019A648: -/* 8019A648 38 60 00 00 */ li r3, 0 -/* 8019A64C 48 00 04 94 */ b lbl_8019AAE0 -lbl_8019A650: -/* 8019A650 88 0D 8A D8 */ lbz r0, data_80451058(r13) -/* 8019A654 7C 03 00 00 */ cmpw r3, r0 -/* 8019A658 41 80 04 84 */ blt lbl_8019AADC -/* 8019A65C 80 0D 8A E4 */ lwz r0, dShopSystem_camera_count(r13) -/* 8019A660 2C 00 00 02 */ cmpwi r0, 2 -/* 8019A664 41 80 04 78 */ blt lbl_8019AADC -/* 8019A668 38 00 00 FF */ li r0, 0xff -/* 8019A66C 98 1E 0F 73 */ stb r0, 0xf73(r30) -/* 8019A670 88 0D 8A E0 */ lbz r0, data_80451060(r13) -/* 8019A674 28 00 00 00 */ cmplwi r0, 0 -/* 8019A678 41 82 01 68 */ beq lbl_8019A7E0 -/* 8019A67C 3A A0 00 00 */ li r21, 0 -/* 8019A680 3B 60 00 00 */ li r27, 0 -/* 8019A684 3C 60 80 3C */ lis r3, dShopSystem_itemActor@ha /* 0x803BB8A4@ha */ -/* 8019A688 3A E3 B8 A4 */ addi r23, r3, dShopSystem_itemActor@l /* 0x803BB8A4@l */ -/* 8019A68C 3A C1 00 2C */ addi r22, r1, 0x2c -/* 8019A690 3B 01 00 64 */ addi r24, r1, 0x64 -/* 8019A694 C3 E2 A1 44 */ lfs f31, lit_5084(r2) -/* 8019A698 3B 21 00 48 */ addi r25, r1, 0x48 -/* 8019A69C 7F 7A DB 78 */ mr r26, r27 -/* 8019A6A0 3B ED 81 68 */ la r31, dShopSystem_itemNo(r13) /* 804506E8-_SDA_BASE_ */ -/* 8019A6A4 3B A1 00 18 */ addi r29, r1, 0x18 -/* 8019A6A8 3B 81 00 10 */ addi r28, r1, 0x10 -/* 8019A6AC 48 00 00 40 */ b lbl_8019A6EC -lbl_8019A6B0: -/* 8019A6B0 7C 17 D8 2E */ lwzx r0, r23, r27 -/* 8019A6B4 7C 16 D9 2E */ stwx r0, r22, r27 -/* 8019A6B8 88 1F 00 00 */ lbz r0, 0(r31) -/* 8019A6BC 98 1D 00 00 */ stb r0, 0(r29) -/* 8019A6C0 7F C3 F3 78 */ mr r3, r30 -/* 8019A6C4 7C 96 D8 2E */ lwzx r4, r22, r27 -/* 8019A6C8 4B E8 01 19 */ bl fopAcM_searchActorDistance__FPC10fopAc_ac_cPC10fopAc_ac_c -/* 8019A6CC 7C 38 DD 2E */ stfsx f1, r24, r27 -/* 8019A6D0 7F F9 DD 2E */ stfsx f31, r25, r27 -/* 8019A6D4 9B 5C 00 00 */ stb r26, 0(r28) -/* 8019A6D8 3A B5 00 01 */ addi r21, r21, 1 -/* 8019A6DC 3B 9C 00 01 */ addi r28, r28, 1 -/* 8019A6E0 3B BD 00 01 */ addi r29, r29, 1 -/* 8019A6E4 3B FF 00 01 */ addi r31, r31, 1 -/* 8019A6E8 3B 7B 00 04 */ addi r27, r27, 4 -lbl_8019A6EC: -/* 8019A6EC 89 2D 8A D8 */ lbz r9, data_80451058(r13) -/* 8019A6F0 7C 15 48 00 */ cmpw r21, r9 -/* 8019A6F4 41 80 FF BC */ blt lbl_8019A6B0 -/* 8019A6F8 39 40 00 00 */ li r10, 0 -/* 8019A6FC 38 80 00 00 */ li r4, 0 -/* 8019A700 38 E1 00 64 */ addi r7, r1, 0x64 -/* 8019A704 38 C1 00 48 */ addi r6, r1, 0x48 -/* 8019A708 38 61 00 10 */ addi r3, r1, 0x10 -/* 8019A70C 48 00 00 7C */ b lbl_8019A788 -lbl_8019A710: -/* 8019A710 7C 07 24 2E */ lfsx f0, r7, r4 -/* 8019A714 7C 06 25 2E */ stfsx f0, r6, r4 -/* 8019A718 99 43 00 00 */ stb r10, 0(r3) -/* 8019A71C 2C 0A 00 00 */ cmpwi r10, 0 -/* 8019A720 40 81 00 5C */ ble lbl_8019A77C -/* 8019A724 7D 4B 53 78 */ mr r11, r10 -/* 8019A728 55 45 10 3A */ slwi r5, r10, 2 -/* 8019A72C 38 0A 00 01 */ addi r0, r10, 1 -/* 8019A730 7C 09 03 A6 */ mtctr r0 -/* 8019A734 41 80 00 48 */ blt lbl_8019A77C -lbl_8019A738: -/* 8019A738 39 01 00 48 */ addi r8, r1, 0x48 -/* 8019A73C 7D 08 2A 14 */ add r8, r8, r5 -/* 8019A740 C0 08 00 00 */ lfs f0, 0(r8) -/* 8019A744 C0 28 FF FC */ lfs f1, -4(r8) -/* 8019A748 FC 00 08 40 */ fcmpo cr0, f0, f1 -/* 8019A74C 40 80 00 24 */ bge lbl_8019A770 -/* 8019A750 D0 28 00 00 */ stfs f1, 0(r8) -/* 8019A754 D0 08 FF FC */ stfs f0, -4(r8) -/* 8019A758 39 01 00 10 */ addi r8, r1, 0x10 -/* 8019A75C 7D 08 5A 14 */ add r8, r8, r11 -/* 8019A760 89 88 00 00 */ lbz r12, 0(r8) -/* 8019A764 88 08 FF FF */ lbz r0, -1(r8) -/* 8019A768 98 08 00 00 */ stb r0, 0(r8) -/* 8019A76C 99 88 FF FF */ stb r12, -1(r8) -lbl_8019A770: -/* 8019A770 39 6B FF FF */ addi r11, r11, -1 -/* 8019A774 38 A5 FF FC */ addi r5, r5, -4 -/* 8019A778 42 00 FF C0 */ bdnz lbl_8019A738 -lbl_8019A77C: -/* 8019A77C 39 4A 00 01 */ addi r10, r10, 1 -/* 8019A780 38 63 00 01 */ addi r3, r3, 1 -/* 8019A784 38 84 00 04 */ addi r4, r4, 4 -lbl_8019A788: -/* 8019A788 7C 0A 48 00 */ cmpw r10, r9 -/* 8019A78C 41 80 FF 84 */ blt lbl_8019A710 -/* 8019A790 38 80 00 00 */ li r4, 0 -/* 8019A794 39 01 00 2C */ addi r8, r1, 0x2c -/* 8019A798 3C 60 80 3C */ lis r3, dShopSystem_itemActor@ha /* 0x803BB8A4@ha */ -/* 8019A79C 38 E3 B8 A4 */ addi r7, r3, dShopSystem_itemActor@l /* 0x803BB8A4@l */ -/* 8019A7A0 38 C1 00 18 */ addi r6, r1, 0x18 -/* 8019A7A4 38 A1 00 10 */ addi r5, r1, 0x10 -/* 8019A7A8 38 6D 81 68 */ la r3, dShopSystem_itemNo(r13) /* 804506E8-_SDA_BASE_ */ -/* 8019A7AC 7D 29 03 A6 */ mtctr r9 -/* 8019A7B0 2C 09 00 00 */ cmpwi r9, 0 -/* 8019A7B4 40 81 00 2C */ ble lbl_8019A7E0 -lbl_8019A7B8: -/* 8019A7B8 89 25 00 00 */ lbz r9, 0(r5) -/* 8019A7BC 55 20 10 3A */ slwi r0, r9, 2 -/* 8019A7C0 7C 08 00 2E */ lwzx r0, r8, r0 -/* 8019A7C4 7C 07 21 2E */ stwx r0, r7, r4 -/* 8019A7C8 7C 06 48 AE */ lbzx r0, r6, r9 -/* 8019A7CC 98 03 00 00 */ stb r0, 0(r3) -/* 8019A7D0 38 63 00 01 */ addi r3, r3, 1 -/* 8019A7D4 38 84 00 04 */ addi r4, r4, 4 -/* 8019A7D8 38 A5 00 01 */ addi r5, r5, 1 -/* 8019A7DC 42 00 FF DC */ bdnz lbl_8019A7B8 -lbl_8019A7E0: -/* 8019A7E0 3B E0 00 00 */ li r31, 0 -/* 8019A7E4 3B A0 00 00 */ li r29, 0 -/* 8019A7E8 3B 80 00 00 */ li r28, 0 -/* 8019A7EC 3C 60 80 3C */ lis r3, dShopSystem_itemActor@ha /* 0x803BB8A4@ha */ -/* 8019A7F0 3B 63 B8 A4 */ addi r27, r3, dShopSystem_itemActor@l /* 0x803BB8A4@l */ -/* 8019A7F4 48 00 00 A8 */ b lbl_8019A89C -lbl_8019A7F8: -/* 8019A7F8 7C 7B E0 2E */ lwzx r3, r27, r28 -/* 8019A7FC 80 83 05 6C */ lwz r4, 0x56c(r3) -/* 8019A800 38 1C 0E 4C */ addi r0, r28, 0xe4c -/* 8019A804 7C 9E 01 2E */ stwx r4, r30, r0 -/* 8019A808 7C 7B E0 2E */ lwzx r3, r27, r28 -/* 8019A80C A8 03 04 B4 */ lha r0, 0x4b4(r3) -/* 8019A810 54 00 04 3E */ clrlwi r0, r0, 0x10 -/* 8019A814 28 00 FF FF */ cmplwi r0, 0xffff -/* 8019A818 38 60 FF FF */ li r3, -1 -/* 8019A81C 41 82 00 08 */ beq lbl_8019A824 -/* 8019A820 7C 03 03 78 */ mr r3, r0 -lbl_8019A824: -/* 8019A824 38 1D 0E 68 */ addi r0, r29, 0xe68 -/* 8019A828 7C 7E 03 2E */ sthx r3, r30, r0 -/* 8019A82C 3C 04 00 01 */ addis r0, r4, 1 -/* 8019A830 28 00 FF FF */ cmplwi r0, 0xffff -/* 8019A834 40 82 00 20 */ bne lbl_8019A854 -/* 8019A838 7F C3 F3 78 */ mr r3, r30 -/* 8019A83C 7F E4 FB 78 */ mr r4, r31 -/* 8019A840 4B FF CD 81 */ bl onFlag__13dShopSystem_cFi -/* 8019A844 7F C3 F3 78 */ mr r3, r30 -/* 8019A848 7F E4 FB 78 */ mr r4, r31 -/* 8019A84C 4B FF CD CD */ bl onSoldOutItemFlag__13dShopSystem_cFi -/* 8019A850 48 00 00 40 */ b lbl_8019A890 -lbl_8019A854: -/* 8019A854 7F C3 F3 78 */ mr r3, r30 -/* 8019A858 7F E4 FB 78 */ mr r4, r31 -/* 8019A85C 4B FF CD 81 */ bl offFlag__13dShopSystem_cFi -/* 8019A860 7C 7B E0 2E */ lwzx r3, r27, r28 -/* 8019A864 80 03 00 B0 */ lwz r0, 0xb0(r3) -/* 8019A868 54 00 06 3E */ clrlwi r0, r0, 0x18 -/* 8019A86C 28 00 00 FF */ cmplwi r0, 0xff -/* 8019A870 40 82 00 14 */ bne lbl_8019A884 -/* 8019A874 7F C3 F3 78 */ mr r3, r30 -/* 8019A878 7F E4 FB 78 */ mr r4, r31 -/* 8019A87C 4B FF CD 9D */ bl onSoldOutItemFlag__13dShopSystem_cFi -/* 8019A880 48 00 00 10 */ b lbl_8019A890 -lbl_8019A884: -/* 8019A884 7F C3 F3 78 */ mr r3, r30 -/* 8019A888 7F E4 FB 78 */ mr r4, r31 -/* 8019A88C 4B FF CD A9 */ bl offSoldOutItemFlag__13dShopSystem_cFi -lbl_8019A890: -/* 8019A890 3B FF 00 01 */ addi r31, r31, 1 -/* 8019A894 3B BD 00 02 */ addi r29, r29, 2 -/* 8019A898 3B 9C 00 04 */ addi r28, r28, 4 -lbl_8019A89C: -/* 8019A89C 88 0D 8A D8 */ lbz r0, data_80451058(r13) -/* 8019A8A0 7C 1F 00 00 */ cmpw r31, r0 -/* 8019A8A4 41 80 FF 54 */ blt lbl_8019A7F8 -/* 8019A8A8 88 1E 0F 77 */ lbz r0, 0xf77(r30) -/* 8019A8AC 28 00 00 08 */ cmplwi r0, 8 -/* 8019A8B0 40 82 00 40 */ bne lbl_8019A8F0 -/* 8019A8B4 80 6D 81 70 */ lwz r3, dShopSystem_cameraActor(r13) -/* 8019A8B8 C0 02 A1 60 */ lfs f0, lit_5687(r2) -/* 8019A8BC D0 03 04 D0 */ stfs f0, 0x4d0(r3) -/* 8019A8C0 C0 02 A1 64 */ lfs f0, lit_5688(r2) -/* 8019A8C4 D0 03 04 D4 */ stfs f0, 0x4d4(r3) -/* 8019A8C8 C0 02 A1 68 */ lfs f0, lit_5689(r2) -/* 8019A8CC D0 03 04 D8 */ stfs f0, 0x4d8(r3) -/* 8019A8D0 38 6D 81 70 */ la r3, dShopSystem_cameraActor(r13) /* 804506F0-_SDA_BASE_ */ -/* 8019A8D4 80 63 00 04 */ lwz r3, 4(r3) -/* 8019A8D8 C0 02 A1 3C */ lfs f0, lit_5006(r2) -/* 8019A8DC D0 03 04 D0 */ stfs f0, 0x4d0(r3) -/* 8019A8E0 C0 02 A1 6C */ lfs f0, lit_5690(r2) -/* 8019A8E4 D0 03 04 D4 */ stfs f0, 0x4d4(r3) -/* 8019A8E8 C0 02 A1 70 */ lfs f0, lit_5691(r2) -/* 8019A8EC D0 03 04 D8 */ stfs f0, 0x4d8(r3) -lbl_8019A8F0: -/* 8019A8F0 88 0D 8A D8 */ lbz r0, data_80451058(r13) -/* 8019A8F4 28 00 00 03 */ cmplwi r0, 3 -/* 8019A8F8 40 81 01 18 */ ble lbl_8019AA10 -/* 8019A8FC 80 6D 81 70 */ lwz r3, dShopSystem_cameraActor(r13) -/* 8019A900 38 03 04 D0 */ addi r0, r3, 0x4d0 -/* 8019A904 90 01 00 08 */ stw r0, 8(r1) -/* 8019A908 38 6D 81 70 */ la r3, dShopSystem_cameraActor(r13) /* 804506F0-_SDA_BASE_ */ -/* 8019A90C 80 63 00 04 */ lwz r3, 4(r3) -/* 8019A910 38 03 04 D0 */ addi r0, r3, 0x4d0 -/* 8019A914 90 01 00 0C */ stw r0, 0xc(r1) -/* 8019A918 38 7E 0E 78 */ addi r3, r30, 0xe78 -/* 8019A91C 7F C4 F3 78 */ mr r4, r30 -/* 8019A920 3C A0 80 3C */ lis r5, dShopSystem_itemActor@ha /* 0x803BB8A4@ha */ -/* 8019A924 39 45 B8 A4 */ addi r10, r5, dShopSystem_itemActor@l /* 0x803BB8A4@l */ -/* 8019A928 80 AA 00 00 */ lwz r5, 0(r10) -/* 8019A92C 80 CA 00 04 */ lwz r6, 4(r10) -/* 8019A930 80 EA 00 08 */ lwz r7, 8(r10) -/* 8019A934 81 0A 00 0C */ lwz r8, 0xc(r10) -/* 8019A938 81 2A 00 10 */ lwz r9, 0x10(r10) -/* 8019A93C 81 4A 00 14 */ lwz r10, 0x14(r10) -/* 8019A940 4B FF BC C9 */ bl setCamDataIdx2__16ShopCam_action_cFP10fopAc_ac_cP10fopAc_ac_cP10fopAc_ac_cP10fopAc_ac_cP10fopAc_ac_cP10fopAc_ac_cP10fopAc_ac_cP4cXyzP4cXyz -/* 8019A944 88 1E 0F 77 */ lbz r0, 0xf77(r30) -/* 8019A948 28 00 00 08 */ cmplwi r0, 8 -/* 8019A94C 40 82 00 28 */ bne lbl_8019A974 -/* 8019A950 C0 02 A1 74 */ lfs f0, lit_5692(r2) -/* 8019A954 D0 01 00 20 */ stfs f0, 0x20(r1) -/* 8019A958 C0 02 A1 78 */ lfs f0, lit_5693(r2) -/* 8019A95C D0 01 00 24 */ stfs f0, 0x24(r1) -/* 8019A960 C0 02 A1 7C */ lfs f0, lit_5694(r2) -/* 8019A964 D0 01 00 28 */ stfs f0, 0x28(r1) -/* 8019A968 38 7E 0E 78 */ addi r3, r30, 0xe78 -/* 8019A96C 38 81 00 20 */ addi r4, r1, 0x20 -/* 8019A970 4B FF BF 49 */ bl setMasterCamCtrPos__16ShopCam_action_cFP4cXyz -lbl_8019A974: -/* 8019A974 3A A0 00 00 */ li r21, 0 -/* 8019A978 3B E0 00 00 */ li r31, 0 -/* 8019A97C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8019A980 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8019A984 3A E3 09 58 */ addi r23, r3, 0x958 -/* 8019A988 3C 60 80 3C */ lis r3, dShopSystem_itemActor@ha /* 0x803BB8A4@ha */ -/* 8019A98C 3B 83 B8 A4 */ addi r28, r3, dShopSystem_itemActor@l /* 0x803BB8A4@l */ -lbl_8019A990: -/* 8019A990 7C 7C F8 2E */ lwzx r3, r28, r31 -/* 8019A994 28 03 00 00 */ cmplwi r3, 0 -/* 8019A998 41 82 00 5C */ beq lbl_8019A9F4 -/* 8019A99C A8 03 04 B8 */ lha r0, 0x4b8(r3) -/* 8019A9A0 54 04 06 3E */ clrlwi r4, r0, 0x18 -/* 8019A9A4 54 1B C6 3E */ rlwinm r27, r0, 0x18, 0x18, 0x1f -/* 8019A9A8 28 04 00 FF */ cmplwi r4, 0xff -/* 8019A9AC 41 82 00 48 */ beq lbl_8019A9F4 -/* 8019A9B0 7E E3 BB 78 */ mr r3, r23 -/* 8019A9B4 4B E9 9E AD */ bl isSwitch__12dSv_memBit_cCFi -/* 8019A9B8 2C 03 00 00 */ cmpwi r3, 0 -/* 8019A9BC 40 82 00 38 */ bne lbl_8019A9F4 -/* 8019A9C0 28 1B 00 FF */ cmplwi r27, 0xff -/* 8019A9C4 41 82 00 30 */ beq lbl_8019A9F4 -/* 8019A9C8 7E E3 BB 78 */ mr r3, r23 -/* 8019A9CC 7F 64 DB 78 */ mr r4, r27 -/* 8019A9D0 4B E9 9E 91 */ bl isSwitch__12dSv_memBit_cCFi -/* 8019A9D4 2C 03 00 00 */ cmpwi r3, 0 -/* 8019A9D8 40 82 00 1C */ bne lbl_8019A9F4 -/* 8019A9DC 7F C3 F3 78 */ mr r3, r30 -/* 8019A9E0 7E A4 AB 78 */ mr r4, r21 -/* 8019A9E4 4B FF CB DD */ bl onFlag__13dShopSystem_cFi -/* 8019A9E8 7F C3 F3 78 */ mr r3, r30 -/* 8019A9EC 7E A4 AB 78 */ mr r4, r21 -/* 8019A9F0 4B FF CC 29 */ bl onSoldOutItemFlag__13dShopSystem_cFi -lbl_8019A9F4: -/* 8019A9F4 3A B5 00 01 */ addi r21, r21, 1 -/* 8019A9F8 2C 15 00 07 */ cmpwi r21, 7 -/* 8019A9FC 3B FF 00 04 */ addi r31, r31, 4 -/* 8019AA00 41 80 FF 90 */ blt lbl_8019A990 -/* 8019AA04 38 00 FF FF */ li r0, -1 -/* 8019AA08 90 0D 8A DC */ stw r0, dShopSystem_item_count(r13) -/* 8019AA0C 48 00 00 D0 */ b lbl_8019AADC -lbl_8019AA10: -/* 8019AA10 38 7E 0E 78 */ addi r3, r30, 0xe78 -/* 8019AA14 7F C4 F3 78 */ mr r4, r30 -/* 8019AA18 3C A0 80 3C */ lis r5, dShopSystem_itemActor@ha /* 0x803BB8A4@ha */ -/* 8019AA1C 38 E5 B8 A4 */ addi r7, r5, dShopSystem_itemActor@l /* 0x803BB8A4@l */ -/* 8019AA20 80 A7 00 00 */ lwz r5, 0(r7) -/* 8019AA24 80 C7 00 04 */ lwz r6, 4(r7) -/* 8019AA28 80 E7 00 08 */ lwz r7, 8(r7) -/* 8019AA2C 81 0D 81 70 */ lwz r8, dShopSystem_cameraActor(r13) -/* 8019AA30 39 08 04 D0 */ addi r8, r8, 0x4d0 -/* 8019AA34 39 2D 81 70 */ la r9, dShopSystem_cameraActor(r13) /* 804506F0-_SDA_BASE_ */ -/* 8019AA38 81 29 00 04 */ lwz r9, 4(r9) -/* 8019AA3C 39 29 04 D0 */ addi r9, r9, 0x4d0 -/* 8019AA40 4B FF BB 05 */ bl setCamDataIdx__16ShopCam_action_cFP10fopAc_ac_cP10fopAc_ac_cP10fopAc_ac_cP10fopAc_ac_cP4cXyzP4cXyz -/* 8019AA44 3A A0 00 00 */ li r21, 0 -/* 8019AA48 3B E0 00 00 */ li r31, 0 -/* 8019AA4C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8019AA50 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8019AA54 3A E3 09 58 */ addi r23, r3, 0x958 -/* 8019AA58 3C 60 80 3C */ lis r3, dShopSystem_itemActor@ha /* 0x803BB8A4@ha */ -/* 8019AA5C 3B 83 B8 A4 */ addi r28, r3, dShopSystem_itemActor@l /* 0x803BB8A4@l */ -lbl_8019AA60: -/* 8019AA60 7C 7C F8 2E */ lwzx r3, r28, r31 -/* 8019AA64 28 03 00 00 */ cmplwi r3, 0 -/* 8019AA68 41 82 00 5C */ beq lbl_8019AAC4 -/* 8019AA6C A8 03 04 B8 */ lha r0, 0x4b8(r3) -/* 8019AA70 54 04 06 3E */ clrlwi r4, r0, 0x18 -/* 8019AA74 54 1B C6 3E */ rlwinm r27, r0, 0x18, 0x18, 0x1f -/* 8019AA78 28 04 00 FF */ cmplwi r4, 0xff -/* 8019AA7C 41 82 00 48 */ beq lbl_8019AAC4 -/* 8019AA80 7E E3 BB 78 */ mr r3, r23 -/* 8019AA84 4B E9 9D DD */ bl isSwitch__12dSv_memBit_cCFi -/* 8019AA88 2C 03 00 00 */ cmpwi r3, 0 -/* 8019AA8C 40 82 00 38 */ bne lbl_8019AAC4 -/* 8019AA90 28 1B 00 FF */ cmplwi r27, 0xff -/* 8019AA94 41 82 00 30 */ beq lbl_8019AAC4 -/* 8019AA98 7E E3 BB 78 */ mr r3, r23 -/* 8019AA9C 7F 64 DB 78 */ mr r4, r27 -/* 8019AAA0 4B E9 9D C1 */ bl isSwitch__12dSv_memBit_cCFi -/* 8019AAA4 2C 03 00 00 */ cmpwi r3, 0 -/* 8019AAA8 40 82 00 1C */ bne lbl_8019AAC4 -/* 8019AAAC 7F C3 F3 78 */ mr r3, r30 -/* 8019AAB0 7E A4 AB 78 */ mr r4, r21 -/* 8019AAB4 4B FF CB 0D */ bl onFlag__13dShopSystem_cFi -/* 8019AAB8 7F C3 F3 78 */ mr r3, r30 -/* 8019AABC 7E A4 AB 78 */ mr r4, r21 -/* 8019AAC0 4B FF CB 59 */ bl onSoldOutItemFlag__13dShopSystem_cFi -lbl_8019AAC4: -/* 8019AAC4 3A B5 00 01 */ addi r21, r21, 1 -/* 8019AAC8 2C 15 00 07 */ cmpwi r21, 7 -/* 8019AACC 3B FF 00 04 */ addi r31, r31, 4 -/* 8019AAD0 41 80 FF 90 */ blt lbl_8019AA60 -/* 8019AAD4 38 00 FF FF */ li r0, -1 -/* 8019AAD8 90 0D 8A DC */ stw r0, dShopSystem_item_count(r13) -lbl_8019AADC: -/* 8019AADC 38 60 00 01 */ li r3, 1 -lbl_8019AAE0: -/* 8019AAE0 E3 E1 00 B8 */ psq_l f31, 184(r1), 0, 0 /* qr0 */ -/* 8019AAE4 CB E1 00 B0 */ lfd f31, 0xb0(r1) -/* 8019AAE8 39 61 00 B0 */ addi r11, r1, 0xb0 -/* 8019AAEC 48 1C 77 1D */ bl _restgpr_21 -/* 8019AAF0 80 01 00 C4 */ lwz r0, 0xc4(r1) -/* 8019AAF4 7C 08 03 A6 */ mtlr r0 -/* 8019AAF8 38 21 00 C0 */ addi r1, r1, 0xc0 -/* 8019AAFC 4E 80 00 20 */ blr diff --git a/asm/d/shop/d_shop_system/seq_decide_yes__13dShopSystem_cFP10fopAc_ac_cP10dMsgFlow_c.s b/asm/d/shop/d_shop_system/seq_decide_yes__13dShopSystem_cFP10fopAc_ac_cP10dMsgFlow_c.s deleted file mode 100644 index 3e2a58a084..0000000000 --- a/asm/d/shop/d_shop_system/seq_decide_yes__13dShopSystem_cFP10fopAc_ac_cP10dMsgFlow_c.s +++ /dev/null @@ -1,104 +0,0 @@ -lbl_80199E28: -/* 80199E28 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80199E2C 7C 08 02 A6 */ mflr r0 -/* 80199E30 90 01 00 24 */ stw r0, 0x24(r1) -/* 80199E34 39 61 00 20 */ addi r11, r1, 0x20 -/* 80199E38 48 1C 83 A5 */ bl _savegpr_29 -/* 80199E3C 7C 7D 1B 78 */ mr r29, r3 -/* 80199E40 7C 9E 23 78 */ mr r30, r4 -/* 80199E44 7C BF 2B 78 */ mr r31, r5 -/* 80199E48 48 09 E5 89 */ bl getMessageID__12dMsgObject_cFv -/* 80199E4C 28 03 1B 82 */ cmplwi r3, 0x1b82 -/* 80199E50 40 82 00 30 */ bne lbl_80199E80 -/* 80199E54 38 00 00 00 */ li r0, 0 -/* 80199E58 B0 1D 0F 4C */ sth r0, 0xf4c(r29) -/* 80199E5C C0 22 A1 18 */ lfs f1, lit_4494(r2) -/* 80199E60 D0 3D 0F 38 */ stfs f1, 0xf38(r29) -/* 80199E64 C0 02 A1 1C */ lfs f0, lit_4495(r2) -/* 80199E68 D0 1D 0F 3C */ stfs f0, 0xf3c(r29) -/* 80199E6C D0 3D 0F 40 */ stfs f1, 0xf40(r29) -/* 80199E70 C0 02 A1 20 */ lfs f0, lit_4496(r2) -/* 80199E74 D0 1D 0F 44 */ stfs f0, 0xf44(r29) -/* 80199E78 38 00 00 01 */ li r0, 1 -/* 80199E7C 98 1D 0F 76 */ stb r0, 0xf76(r29) -lbl_80199E80: -/* 80199E80 38 7D 09 74 */ addi r3, r29, 0x974 -/* 80199E84 38 81 00 08 */ addi r4, r1, 8 -/* 80199E88 48 0B 06 A1 */ bl getEventId__10dMsgFlow_cFPi -/* 80199E8C 54 60 04 3E */ clrlwi r0, r3, 0x10 -/* 80199E90 28 00 00 01 */ cmplwi r0, 1 -/* 80199E94 40 82 00 98 */ bne lbl_80199F2C -/* 80199E98 7F E3 FB 78 */ mr r3, r31 -/* 80199E9C 7F C4 F3 78 */ mr r4, r30 -/* 80199EA0 38 A0 00 00 */ li r5, 0 -/* 80199EA4 38 C0 00 00 */ li r6, 0 -/* 80199EA8 48 0B 04 31 */ bl doFlow__10dMsgFlow_cFP10fopAc_ac_cPP10fopAc_ac_ci -/* 80199EAC 2C 03 00 00 */ cmpwi r3, 0 -/* 80199EB0 41 82 00 D8 */ beq lbl_80199F88 -/* 80199EB4 80 7D 0D 90 */ lwz r3, 0xd90(r29) -/* 80199EB8 3C 03 00 01 */ addis r0, r3, 1 -/* 80199EBC 28 00 FF FF */ cmplwi r0, 0xffff -/* 80199EC0 40 82 00 28 */ bne lbl_80199EE8 -/* 80199EC4 38 7D 04 D0 */ addi r3, r29, 0x4d0 -/* 80199EC8 80 81 00 08 */ lwz r4, 8(r1) -/* 80199ECC 38 A0 00 00 */ li r5, 0 -/* 80199ED0 38 C0 FF FF */ li r6, -1 -/* 80199ED4 38 E0 FF FF */ li r7, -1 -/* 80199ED8 39 00 00 00 */ li r8, 0 -/* 80199EDC 39 20 00 00 */ li r9, 0 -/* 80199EE0 4B E8 1D 09 */ bl fopAcM_createItemForPresentDemo__FPC4cXyziUciiPC5csXyzPC4cXyz -/* 80199EE4 90 7D 0D 90 */ stw r3, 0xd90(r29) -lbl_80199EE8: -/* 80199EE8 80 7D 0D 90 */ lwz r3, 0xd90(r29) -/* 80199EEC 4B E8 74 B1 */ bl fpcEx_IsExist__FUi -/* 80199EF0 2C 03 00 00 */ cmpwi r3, 0 -/* 80199EF4 41 82 00 30 */ beq lbl_80199F24 -/* 80199EF8 7F A3 EB 78 */ mr r3, r29 -/* 80199EFC 38 80 00 08 */ li r4, 8 -/* 80199F00 4B FF D6 DD */ bl offFlag__13dShopSystem_cFi -/* 80199F04 7F A3 EB 78 */ mr r3, r29 -/* 80199F08 48 00 05 ED */ bl setSoldOutItemHide__13dShopSystem_cFv -/* 80199F0C 38 00 00 01 */ li r0, 1 -/* 80199F10 B0 1D 0E 30 */ sth r0, 0xe30(r29) -/* 80199F14 7F A3 EB 78 */ mr r3, r29 -/* 80199F18 4B FB 03 0D */ bl evtChange__8daNpcT_cFv -/* 80199F1C 38 60 00 02 */ li r3, 2 -/* 80199F20 48 00 00 6C */ b lbl_80199F8C -lbl_80199F24: -/* 80199F24 38 60 00 00 */ li r3, 0 -/* 80199F28 48 00 00 64 */ b lbl_80199F8C -lbl_80199F2C: -/* 80199F2C 80 1D 0F 60 */ lwz r0, 0xf60(r29) -/* 80199F30 2C 00 00 00 */ cmpwi r0, 0 -/* 80199F34 41 80 00 0C */ blt lbl_80199F40 -/* 80199F38 38 C0 00 64 */ li r6, 0x64 -/* 80199F3C 48 00 00 1C */ b lbl_80199F58 -lbl_80199F40: -/* 80199F40 88 7D 0F 6E */ lbz r3, 0xf6e(r29) -/* 80199F44 38 03 FF FF */ addi r0, r3, -1 -/* 80199F48 54 00 08 3C */ slwi r0, r0, 1 -/* 80199F4C 7C 7D 02 14 */ add r3, r29, r0 -/* 80199F50 A0 63 0E 68 */ lhz r3, 0xe68(r3) -/* 80199F54 38 C3 00 01 */ addi r6, r3, 1 -lbl_80199F58: -/* 80199F58 7F E3 FB 78 */ mr r3, r31 -/* 80199F5C 7F C4 F3 78 */ mr r4, r30 -/* 80199F60 38 A0 00 00 */ li r5, 0 -/* 80199F64 48 0B 03 75 */ bl doFlow__10dMsgFlow_cFP10fopAc_ac_cPP10fopAc_ac_ci -/* 80199F68 2C 03 00 00 */ cmpwi r3, 0 -/* 80199F6C 41 82 00 1C */ beq lbl_80199F88 -/* 80199F70 7F A3 EB 78 */ mr r3, r29 -/* 80199F74 38 80 00 08 */ li r4, 8 -/* 80199F78 4B FF D6 65 */ bl offFlag__13dShopSystem_cFi -/* 80199F7C 7F A3 EB 78 */ mr r3, r29 -/* 80199F80 38 80 00 02 */ li r4, 2 -/* 80199F84 48 00 03 C1 */ bl setSeq__13dShopSystem_cFUc -lbl_80199F88: -/* 80199F88 38 60 00 00 */ li r3, 0 -lbl_80199F8C: -/* 80199F8C 39 61 00 20 */ addi r11, r1, 0x20 -/* 80199F90 48 1C 82 99 */ bl _restgpr_29 -/* 80199F94 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80199F98 7C 08 03 A6 */ mtlr r0 -/* 80199F9C 38 21 00 20 */ addi r1, r1, 0x20 -/* 80199FA0 4E 80 00 20 */ blr diff --git a/asm/d/shop/d_shop_system/seq_moving__13dShopSystem_cFP10fopAc_ac_cP10dMsgFlow_c.s b/asm/d/shop/d_shop_system/seq_moving__13dShopSystem_cFP10fopAc_ac_cP10dMsgFlow_c.s deleted file mode 100644 index 660846c9c7..0000000000 --- a/asm/d/shop/d_shop_system/seq_moving__13dShopSystem_cFP10fopAc_ac_cP10dMsgFlow_c.s +++ /dev/null @@ -1,128 +0,0 @@ -lbl_80199A18: -/* 80199A18 94 21 FF A0 */ stwu r1, -0x60(r1) -/* 80199A1C 7C 08 02 A6 */ mflr r0 -/* 80199A20 90 01 00 64 */ stw r0, 0x64(r1) -/* 80199A24 93 E1 00 5C */ stw r31, 0x5c(r1) -/* 80199A28 7C 7F 1B 78 */ mr r31, r3 -/* 80199A2C A8 63 0F 68 */ lha r3, 0xf68(r3) -/* 80199A30 38 03 00 01 */ addi r0, r3, 1 -/* 80199A34 B0 1F 0F 68 */ sth r0, 0xf68(r31) -/* 80199A38 38 61 00 14 */ addi r3, r1, 0x14 -/* 80199A3C 38 9F 0E 48 */ addi r4, r31, 0xe48 -/* 80199A40 88 BF 0F 6E */ lbz r5, 0xf6e(r31) -/* 80199A44 38 A5 FF FF */ addi r5, r5, -1 -/* 80199A48 4B FF CF 59 */ bl getCurrentPos__15dShopItemCtrl_cFi -/* 80199A4C C0 01 00 14 */ lfs f0, 0x14(r1) -/* 80199A50 D0 01 00 38 */ stfs f0, 0x38(r1) -/* 80199A54 C0 01 00 18 */ lfs f0, 0x18(r1) -/* 80199A58 D0 01 00 3C */ stfs f0, 0x3c(r1) -/* 80199A5C C0 01 00 1C */ lfs f0, 0x1c(r1) -/* 80199A60 D0 01 00 40 */ stfs f0, 0x40(r1) -/* 80199A64 38 61 00 38 */ addi r3, r1, 0x38 -/* 80199A68 38 81 00 20 */ addi r4, r1, 0x20 -/* 80199A6C 4B E7 B8 A5 */ bl mDoLib_project__FP3VecP3Vec -/* 80199A70 88 1F 0F 6E */ lbz r0, 0xf6e(r31) -/* 80199A74 28 00 00 07 */ cmplwi r0, 7 -/* 80199A78 40 82 00 30 */ bne lbl_80199AA8 -/* 80199A7C C0 21 00 20 */ lfs f1, 0x20(r1) -/* 80199A80 3C 60 80 43 */ lis r3, g_cursorHIO@ha /* 0x80430110@ha */ -/* 80199A84 38 63 01 10 */ addi r3, r3, g_cursorHIO@l /* 0x80430110@l */ -/* 80199A88 C0 03 00 34 */ lfs f0, 0x34(r3) -/* 80199A8C EC 01 00 2A */ fadds f0, f1, f0 -/* 80199A90 D0 01 00 20 */ stfs f0, 0x20(r1) -/* 80199A94 C0 21 00 24 */ lfs f1, 0x24(r1) -/* 80199A98 C0 03 00 38 */ lfs f0, 0x38(r3) -/* 80199A9C EC 01 00 2A */ fadds f0, f1, f0 -/* 80199AA0 D0 01 00 24 */ stfs f0, 0x24(r1) -/* 80199AA4 48 00 00 1C */ b lbl_80199AC0 -lbl_80199AA8: -/* 80199AA8 C0 21 00 24 */ lfs f1, 0x24(r1) -/* 80199AAC 3C 60 80 43 */ lis r3, g_cursorHIO@ha /* 0x80430110@ha */ -/* 80199AB0 38 63 01 10 */ addi r3, r3, g_cursorHIO@l /* 0x80430110@l */ -/* 80199AB4 C0 03 00 30 */ lfs f0, 0x30(r3) -/* 80199AB8 EC 01 00 2A */ fadds f0, f1, f0 -/* 80199ABC D0 01 00 24 */ stfs f0, 0x24(r1) -lbl_80199AC0: -/* 80199AC0 88 BF 0F 6F */ lbz r5, 0xf6f(r31) -/* 80199AC4 28 05 00 00 */ cmplwi r5, 0 -/* 80199AC8 41 82 00 EC */ beq lbl_80199BB4 -/* 80199ACC 38 61 00 08 */ addi r3, r1, 8 -/* 80199AD0 38 9F 0E 48 */ addi r4, r31, 0xe48 -/* 80199AD4 38 A5 FF FF */ addi r5, r5, -1 -/* 80199AD8 4B FF CE C9 */ bl getCurrentPos__15dShopItemCtrl_cFi -/* 80199ADC C0 01 00 08 */ lfs f0, 8(r1) -/* 80199AE0 D0 01 00 44 */ stfs f0, 0x44(r1) -/* 80199AE4 C0 01 00 0C */ lfs f0, 0xc(r1) -/* 80199AE8 D0 01 00 48 */ stfs f0, 0x48(r1) -/* 80199AEC C0 01 00 10 */ lfs f0, 0x10(r1) -/* 80199AF0 D0 01 00 4C */ stfs f0, 0x4c(r1) -/* 80199AF4 38 61 00 44 */ addi r3, r1, 0x44 -/* 80199AF8 38 81 00 2C */ addi r4, r1, 0x2c -/* 80199AFC 4B E7 B8 15 */ bl mDoLib_project__FP3VecP3Vec -/* 80199B00 88 1F 0F 6F */ lbz r0, 0xf6f(r31) -/* 80199B04 28 00 00 07 */ cmplwi r0, 7 -/* 80199B08 40 82 00 30 */ bne lbl_80199B38 -/* 80199B0C C0 21 00 2C */ lfs f1, 0x2c(r1) -/* 80199B10 3C 60 80 43 */ lis r3, g_cursorHIO@ha /* 0x80430110@ha */ -/* 80199B14 38 63 01 10 */ addi r3, r3, g_cursorHIO@l /* 0x80430110@l */ -/* 80199B18 C0 03 00 34 */ lfs f0, 0x34(r3) -/* 80199B1C EC 01 00 2A */ fadds f0, f1, f0 -/* 80199B20 D0 01 00 2C */ stfs f0, 0x2c(r1) -/* 80199B24 C0 21 00 30 */ lfs f1, 0x30(r1) -/* 80199B28 C0 03 00 38 */ lfs f0, 0x38(r3) -/* 80199B2C EC 01 00 2A */ fadds f0, f1, f0 -/* 80199B30 D0 01 00 30 */ stfs f0, 0x30(r1) -/* 80199B34 48 00 00 1C */ b lbl_80199B50 -lbl_80199B38: -/* 80199B38 C0 21 00 30 */ lfs f1, 0x30(r1) -/* 80199B3C 3C 60 80 43 */ lis r3, g_cursorHIO@ha /* 0x80430110@ha */ -/* 80199B40 38 63 01 10 */ addi r3, r3, g_cursorHIO@l /* 0x80430110@l */ -/* 80199B44 C0 03 00 30 */ lfs f0, 0x30(r3) -/* 80199B48 EC 01 00 2A */ fadds f0, f1, f0 -/* 80199B4C D0 01 00 30 */ stfs f0, 0x30(r1) -lbl_80199B50: -/* 80199B50 A8 1F 0F 68 */ lha r0, 0xf68(r31) -/* 80199B54 7C 00 01 D6 */ mullw r0, r0, r0 -/* 80199B58 C8 22 A1 50 */ lfd f1, lit_5298(r2) -/* 80199B5C 6C 00 80 00 */ xoris r0, r0, 0x8000 -/* 80199B60 90 01 00 54 */ stw r0, 0x54(r1) -/* 80199B64 3C 00 43 30 */ lis r0, 0x4330 -/* 80199B68 90 01 00 50 */ stw r0, 0x50(r1) -/* 80199B6C C8 01 00 50 */ lfd f0, 0x50(r1) -/* 80199B70 EC 20 08 28 */ fsubs f1, f0, f1 -/* 80199B74 C0 02 A1 48 */ lfs f0, lit_5296(r2) -/* 80199B78 EC 61 00 24 */ fdivs f3, f1, f0 -/* 80199B7C C0 21 00 30 */ lfs f1, 0x30(r1) -/* 80199B80 C0 01 00 24 */ lfs f0, 0x24(r1) -/* 80199B84 EC 00 08 28 */ fsubs f0, f0, f1 -/* 80199B88 EC 03 00 32 */ fmuls f0, f3, f0 -/* 80199B8C EC 21 00 2A */ fadds f1, f1, f0 -/* 80199B90 80 7F 0E 44 */ lwz r3, 0xe44(r31) -/* 80199B94 C0 41 00 2C */ lfs f2, 0x2c(r1) -/* 80199B98 C0 01 00 20 */ lfs f0, 0x20(r1) -/* 80199B9C EC 00 10 28 */ fsubs f0, f0, f2 -/* 80199BA0 EC 03 00 32 */ fmuls f0, f3, f0 -/* 80199BA4 EC 02 00 2A */ fadds f0, f2, f0 -/* 80199BA8 D0 03 00 58 */ stfs f0, 0x58(r3) -/* 80199BAC D0 23 00 5C */ stfs f1, 0x5c(r3) -/* 80199BB0 48 00 00 18 */ b lbl_80199BC8 -lbl_80199BB4: -/* 80199BB4 C0 21 00 24 */ lfs f1, 0x24(r1) -/* 80199BB8 80 7F 0E 44 */ lwz r3, 0xe44(r31) -/* 80199BBC C0 01 00 20 */ lfs f0, 0x20(r1) -/* 80199BC0 D0 03 00 58 */ stfs f0, 0x58(r3) -/* 80199BC4 D0 23 00 5C */ stfs f1, 0x5c(r3) -lbl_80199BC8: -/* 80199BC8 A8 1F 0F 68 */ lha r0, 0xf68(r31) -/* 80199BCC 2C 00 00 03 */ cmpwi r0, 3 -/* 80199BD0 41 80 00 10 */ blt lbl_80199BE0 -/* 80199BD4 7F E3 FB 78 */ mr r3, r31 -/* 80199BD8 38 80 00 04 */ li r4, 4 -/* 80199BDC 48 00 07 69 */ bl setSeq__13dShopSystem_cFUc -lbl_80199BE0: -/* 80199BE0 38 60 00 00 */ li r3, 0 -/* 80199BE4 83 E1 00 5C */ lwz r31, 0x5c(r1) -/* 80199BE8 80 01 00 64 */ lwz r0, 0x64(r1) -/* 80199BEC 7C 08 03 A6 */ mtlr r0 -/* 80199BF0 38 21 00 60 */ addi r1, r1, 0x60 -/* 80199BF4 4E 80 00 20 */ blr diff --git a/asm/d/shop/d_shop_system/seq_select__13dShopSystem_cFP10fopAc_ac_cP10dMsgFlow_c.s b/asm/d/shop/d_shop_system/seq_select__13dShopSystem_cFP10fopAc_ac_cP10dMsgFlow_c.s deleted file mode 100644 index ce782bd41e..0000000000 --- a/asm/d/shop/d_shop_system/seq_select__13dShopSystem_cFP10fopAc_ac_cP10dMsgFlow_c.s +++ /dev/null @@ -1,312 +0,0 @@ -lbl_8019959C: -/* 8019959C 94 21 FF B0 */ stwu r1, -0x50(r1) -/* 801995A0 7C 08 02 A6 */ mflr r0 -/* 801995A4 90 01 00 54 */ stw r0, 0x54(r1) -/* 801995A8 39 61 00 50 */ addi r11, r1, 0x50 -/* 801995AC 48 1C 8C 2D */ bl _savegpr_28 -/* 801995B0 7C 7C 1B 78 */ mr r28, r3 -/* 801995B4 7C 9D 23 78 */ mr r29, r4 -/* 801995B8 7C BE 2B 78 */ mr r30, r5 -/* 801995BC 88 03 0F 75 */ lbz r0, 0xf75(r3) -/* 801995C0 28 00 00 01 */ cmplwi r0, 1 -/* 801995C4 40 82 00 2C */ bne lbl_801995F0 -/* 801995C8 7F C4 F3 78 */ mr r4, r30 -/* 801995CC 80 BC 0F 5C */ lwz r5, 0xf5c(r28) -/* 801995D0 81 83 0E 3C */ lwz r12, 0xe3c(r3) -/* 801995D4 81 8C 00 CC */ lwz r12, 0xcc(r12) -/* 801995D8 7D 89 03 A6 */ mtctr r12 -/* 801995DC 4E 80 04 21 */ bctrl -/* 801995E0 2C 03 00 00 */ cmpwi r3, 0 -/* 801995E4 40 82 00 0C */ bne lbl_801995F0 -/* 801995E8 38 60 00 00 */ li r3, 0 -/* 801995EC 48 00 04 14 */ b lbl_80199A00 -lbl_801995F0: -/* 801995F0 88 1C 0F 76 */ lbz r0, 0xf76(r28) -/* 801995F4 28 00 00 00 */ cmplwi r0, 0 -/* 801995F8 41 82 00 0C */ beq lbl_80199604 -/* 801995FC 38 00 00 00 */ li r0, 0 -/* 80199600 98 1C 0F 76 */ stb r0, 0xf76(r28) -lbl_80199604: -/* 80199604 7F 83 E3 78 */ mr r3, r28 -/* 80199608 38 80 00 01 */ li r4, 1 -/* 8019960C 7F C5 F3 78 */ mr r5, r30 -/* 80199610 4B FF E0 61 */ bl checkController__13dShopSystem_cFUcP10dMsgFlow_c -/* 80199614 7C 7F 1B 79 */ or. r31, r3, r3 -/* 80199618 38 00 00 22 */ li r0, 0x22 -/* 8019961C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80199620 38 83 61 C0 */ addi r4, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80199624 98 04 5E 3C */ stb r0, 0x5e3c(r4) -/* 80199628 38 60 00 00 */ li r3, 0 -/* 8019962C 98 64 5E 57 */ stb r3, 0x5e57(r4) -/* 80199630 38 00 00 2A */ li r0, 0x2a -/* 80199634 98 04 5E 35 */ stb r0, 0x5e35(r4) -/* 80199638 98 64 5E 50 */ stb r3, 0x5e50(r4) -/* 8019963C 41 82 02 E4 */ beq lbl_80199920 -/* 80199640 7F 83 E3 78 */ mr r3, r28 -/* 80199644 7F E4 FB 78 */ mr r4, r31 -/* 80199648 38 A0 00 01 */ li r5, 1 -/* 8019964C 4B FF ED F9 */ bl moveCursor__13dShopSystem_cFiUc -/* 80199650 7C 66 1B 78 */ mr r6, r3 -/* 80199654 88 1C 0F 75 */ lbz r0, 0xf75(r28) -/* 80199658 20 00 00 01 */ subfic r0, r0, 1 -/* 8019965C 7C 00 00 34 */ cntlzw r0, r0 -/* 80199660 54 00 DE 3F */ rlwinm. r0, r0, 0x1b, 0x18, 0x1f -/* 80199664 41 82 00 34 */ beq lbl_80199698 -/* 80199668 2C 1F 00 02 */ cmpwi r31, 2 -/* 8019966C 40 82 00 2C */ bne lbl_80199698 -/* 80199670 90 DC 0F 5C */ stw r6, 0xf5c(r28) -/* 80199674 C0 02 A1 44 */ lfs f0, lit_5084(r2) -/* 80199678 D0 1C 0F 38 */ stfs f0, 0xf38(r28) -/* 8019967C D0 1C 0F 3C */ stfs f0, 0xf3c(r28) -/* 80199680 D0 1C 0F 40 */ stfs f0, 0xf40(r28) -/* 80199684 D0 1C 0F 44 */ stfs f0, 0xf44(r28) -/* 80199688 7F 83 E3 78 */ mr r3, r28 -/* 8019968C 38 80 00 0A */ li r4, 0xa -/* 80199690 48 00 0C B5 */ bl setSeq__13dShopSystem_cFUc -/* 80199694 48 00 02 A0 */ b lbl_80199934 -lbl_80199698: -/* 80199698 2C 00 00 00 */ cmpwi r0, 0 -/* 8019969C 41 82 00 5C */ beq lbl_801996F8 -/* 801996A0 88 1C 0F 6E */ lbz r0, 0xf6e(r28) -/* 801996A4 28 00 00 00 */ cmplwi r0, 0 -/* 801996A8 40 82 00 50 */ bne lbl_801996F8 -/* 801996AC 90 DC 0F 5C */ stw r6, 0xf5c(r28) -/* 801996B0 88 1C 0F 6E */ lbz r0, 0xf6e(r28) -/* 801996B4 B0 1C 0F 4C */ sth r0, 0xf4c(r28) -/* 801996B8 C0 22 A1 18 */ lfs f1, lit_4494(r2) -/* 801996BC D0 3C 0F 38 */ stfs f1, 0xf38(r28) -/* 801996C0 C0 02 A1 1C */ lfs f0, lit_4495(r2) -/* 801996C4 D0 1C 0F 3C */ stfs f0, 0xf3c(r28) -/* 801996C8 D0 3C 0F 40 */ stfs f1, 0xf40(r28) -/* 801996CC C0 02 A1 20 */ lfs f0, lit_4496(r2) -/* 801996D0 D0 1C 0F 44 */ stfs f0, 0xf44(r28) -/* 801996D4 C0 02 A1 44 */ lfs f0, lit_5084(r2) -/* 801996D8 D0 1C 0F 38 */ stfs f0, 0xf38(r28) -/* 801996DC D0 1C 0F 3C */ stfs f0, 0xf3c(r28) -/* 801996E0 D0 1C 0F 40 */ stfs f0, 0xf40(r28) -/* 801996E4 D0 1C 0F 44 */ stfs f0, 0xf44(r28) -/* 801996E8 7F 83 E3 78 */ mr r3, r28 -/* 801996EC 38 80 00 01 */ li r4, 1 -/* 801996F0 48 00 0C 55 */ bl setSeq__13dShopSystem_cFUc -/* 801996F4 48 00 02 40 */ b lbl_80199934 -lbl_801996F8: -/* 801996F8 7F C3 F3 78 */ mr r3, r30 -/* 801996FC 7F A4 EB 78 */ mr r4, r29 -/* 80199700 38 A0 00 00 */ li r5, 0 -/* 80199704 48 0B 0B D5 */ bl doFlow__10dMsgFlow_cFP10fopAc_ac_cPP10fopAc_ac_ci -/* 80199708 2C 03 00 00 */ cmpwi r3, 0 -/* 8019970C 41 82 01 A4 */ beq lbl_801998B0 -/* 80199710 2C 1F 00 03 */ cmpwi r31, 3 -/* 80199714 40 82 00 6C */ bne lbl_80199780 -/* 80199718 88 1C 0F 6E */ lbz r0, 0xf6e(r28) -/* 8019971C 28 00 00 00 */ cmplwi r0, 0 -/* 80199720 41 82 00 38 */ beq lbl_80199758 -/* 80199724 38 00 00 5F */ li r0, 0x5f -/* 80199728 90 01 00 0C */ stw r0, 0xc(r1) -/* 8019972C 80 6D 8D E8 */ lwz r3, mAudioMgrPtr__10Z2AudioMgr(r13) -/* 80199730 38 81 00 0C */ addi r4, r1, 0xc -/* 80199734 38 A0 00 00 */ li r5, 0 -/* 80199738 38 C0 00 00 */ li r6, 0 -/* 8019973C 38 E0 00 00 */ li r7, 0 -/* 80199740 C0 22 A1 08 */ lfs f1, lit_4099(r2) -/* 80199744 FC 40 08 90 */ fmr f2, f1 -/* 80199748 C0 62 A1 14 */ lfs f3, lit_4493(r2) -/* 8019974C FC 80 18 90 */ fmr f4, f3 -/* 80199750 39 00 00 00 */ li r8, 0 -/* 80199754 48 11 22 31 */ bl seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc -lbl_80199758: -/* 80199758 88 1C 0F 6E */ lbz r0, 0xf6e(r28) -/* 8019975C B0 1C 0F 4C */ sth r0, 0xf4c(r28) -/* 80199760 C0 22 A1 18 */ lfs f1, lit_4494(r2) -/* 80199764 D0 3C 0F 38 */ stfs f1, 0xf38(r28) -/* 80199768 C0 02 A1 1C */ lfs f0, lit_4495(r2) -/* 8019976C D0 1C 0F 3C */ stfs f0, 0xf3c(r28) -/* 80199770 D0 3C 0F 40 */ stfs f1, 0xf40(r28) -/* 80199774 C0 02 A1 20 */ lfs f0, lit_4496(r2) -/* 80199778 D0 1C 0F 44 */ stfs f0, 0xf44(r28) -/* 8019977C 48 00 00 70 */ b lbl_801997EC -lbl_80199780: -/* 80199780 38 1F FF FC */ addi r0, r31, -4 -/* 80199784 28 00 00 01 */ cmplwi r0, 1 -/* 80199788 40 81 00 0C */ ble lbl_80199794 -/* 8019978C 2C 1F 00 06 */ cmpwi r31, 6 -/* 80199790 40 82 00 5C */ bne lbl_801997EC -lbl_80199794: -/* 80199794 38 00 00 5F */ li r0, 0x5f -/* 80199798 90 01 00 08 */ stw r0, 8(r1) -/* 8019979C 80 6D 8D E8 */ lwz r3, mAudioMgrPtr__10Z2AudioMgr(r13) -/* 801997A0 38 81 00 08 */ addi r4, r1, 8 -/* 801997A4 38 A0 00 00 */ li r5, 0 -/* 801997A8 38 C0 00 00 */ li r6, 0 -/* 801997AC 38 E0 00 00 */ li r7, 0 -/* 801997B0 C0 22 A1 08 */ lfs f1, lit_4099(r2) -/* 801997B4 FC 40 08 90 */ fmr f2, f1 -/* 801997B8 C0 62 A1 14 */ lfs f3, lit_4493(r2) -/* 801997BC FC 80 18 90 */ fmr f4, f3 -/* 801997C0 39 00 00 00 */ li r8, 0 -/* 801997C4 48 11 21 C1 */ bl seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc -/* 801997C8 88 1C 0F 6E */ lbz r0, 0xf6e(r28) -/* 801997CC B0 1C 0F 4C */ sth r0, 0xf4c(r28) -/* 801997D0 C0 22 A1 18 */ lfs f1, lit_4494(r2) -/* 801997D4 D0 3C 0F 38 */ stfs f1, 0xf38(r28) -/* 801997D8 C0 02 A1 1C */ lfs f0, lit_4495(r2) -/* 801997DC D0 1C 0F 3C */ stfs f0, 0xf3c(r28) -/* 801997E0 D0 3C 0F 40 */ stfs f1, 0xf40(r28) -/* 801997E4 C0 02 A1 20 */ lfs f0, lit_4496(r2) -/* 801997E8 D0 1C 0F 44 */ stfs f0, 0xf44(r28) -lbl_801997EC: -/* 801997EC 38 00 00 01 */ li r0, 1 -/* 801997F0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 801997F4 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 801997F8 98 03 5E 86 */ stb r0, 0x5e86(r3) -/* 801997FC 2C 1F 00 01 */ cmpwi r31, 1 -/* 80199800 40 82 00 54 */ bne lbl_80199854 -/* 80199804 7F 83 E3 78 */ mr r3, r28 -/* 80199808 88 9C 0F 6E */ lbz r4, 0xf6e(r28) -/* 8019980C 38 84 FF FF */ addi r4, r4, -1 -/* 80199810 4B FF DD E9 */ bl isFlag__13dShopSystem_cFi -/* 80199814 2C 03 00 00 */ cmpwi r3, 0 -/* 80199818 40 82 00 28 */ bne lbl_80199840 -/* 8019981C 7F 83 E3 78 */ mr r3, r28 -/* 80199820 88 9C 0F 6E */ lbz r4, 0xf6e(r28) -/* 80199824 38 84 FF FF */ addi r4, r4, -1 -/* 80199828 4B FF DE 29 */ bl isSoldOutItemFlag__13dShopSystem_cFi -/* 8019982C 2C 03 00 00 */ cmpwi r3, 0 -/* 80199830 40 82 00 10 */ bne lbl_80199840 -/* 80199834 7F 83 E3 78 */ mr r3, r28 -/* 80199838 38 80 00 08 */ li r4, 8 -/* 8019983C 4B FF DD 85 */ bl onFlag__13dShopSystem_cFi -lbl_80199840: -/* 80199840 48 08 51 95 */ bl dMeter2Info_set2DVibrationM__Fv -/* 80199844 7F 83 E3 78 */ mr r3, r28 -/* 80199848 38 80 00 06 */ li r4, 6 -/* 8019984C 48 00 0A F9 */ bl setSeq__13dShopSystem_cFUc -/* 80199850 48 00 00 E4 */ b lbl_80199934 -lbl_80199854: -/* 80199854 2C 1F 00 02 */ cmpwi r31, 2 -/* 80199858 40 82 00 14 */ bne lbl_8019986C -/* 8019985C 7F 83 E3 78 */ mr r3, r28 -/* 80199860 38 80 00 0A */ li r4, 0xa -/* 80199864 48 00 0A E1 */ bl setSeq__13dShopSystem_cFUc -/* 80199868 48 00 00 CC */ b lbl_80199934 -lbl_8019986C: -/* 8019986C 88 1C 0F 6E */ lbz r0, 0xf6e(r28) -/* 80199870 28 00 00 00 */ cmplwi r0, 0 -/* 80199874 40 82 00 14 */ bne lbl_80199888 -/* 80199878 7F 83 E3 78 */ mr r3, r28 -/* 8019987C 38 80 00 01 */ li r4, 1 -/* 80199880 48 00 0A C5 */ bl setSeq__13dShopSystem_cFUc -/* 80199884 48 00 00 B0 */ b lbl_80199934 -lbl_80199888: -/* 80199888 38 00 00 00 */ li r0, 0 -/* 8019988C B0 1C 0F 68 */ sth r0, 0xf68(r28) -/* 80199890 7F 83 E3 78 */ mr r3, r28 -/* 80199894 38 80 00 05 */ li r4, 5 -/* 80199898 48 00 0A AD */ bl setSeq__13dShopSystem_cFUc -/* 8019989C 88 1C 0F 6F */ lbz r0, 0xf6f(r28) -/* 801998A0 28 00 00 00 */ cmplwi r0, 0 -/* 801998A4 41 82 00 90 */ beq lbl_80199934 -/* 801998A8 38 60 00 00 */ li r3, 0 -/* 801998AC 48 00 01 54 */ b lbl_80199A00 -lbl_801998B0: -/* 801998B0 38 1F FF FD */ addi r0, r31, -3 -/* 801998B4 28 00 00 04 */ cmplwi r0, 4 -/* 801998B8 40 81 00 0C */ ble lbl_801998C4 -/* 801998BC 2C 1F 00 02 */ cmpwi r31, 2 -/* 801998C0 40 82 00 74 */ bne lbl_80199934 -lbl_801998C4: -/* 801998C4 88 1C 0F 6F */ lbz r0, 0xf6f(r28) -/* 801998C8 28 00 00 07 */ cmplwi r0, 7 -/* 801998CC 40 82 00 18 */ bne lbl_801998E4 -/* 801998D0 88 1C 0F 6E */ lbz r0, 0xf6e(r28) -/* 801998D4 98 1C 0F 6F */ stb r0, 0xf6f(r28) -/* 801998D8 38 00 00 07 */ li r0, 7 -/* 801998DC 98 1C 0F 6E */ stb r0, 0xf6e(r28) -/* 801998E0 48 00 00 08 */ b lbl_801998E8 -lbl_801998E4: -/* 801998E4 98 1C 0F 6E */ stb r0, 0xf6e(r28) -lbl_801998E8: -/* 801998E8 38 00 00 00 */ li r0, 0 -/* 801998EC 98 1C 0F 7A */ stb r0, 0xf7a(r28) -/* 801998F0 2C 1F 00 02 */ cmpwi r31, 2 -/* 801998F4 40 82 00 40 */ bne lbl_80199934 -/* 801998F8 88 1C 0F 6E */ lbz r0, 0xf6e(r28) -/* 801998FC B0 1C 0F 4C */ sth r0, 0xf4c(r28) -/* 80199900 C0 22 A1 18 */ lfs f1, lit_4494(r2) -/* 80199904 D0 3C 0F 38 */ stfs f1, 0xf38(r28) -/* 80199908 C0 02 A1 1C */ lfs f0, lit_4495(r2) -/* 8019990C D0 1C 0F 3C */ stfs f0, 0xf3c(r28) -/* 80199910 D0 3C 0F 40 */ stfs f1, 0xf40(r28) -/* 80199914 C0 02 A1 20 */ lfs f0, lit_4496(r2) -/* 80199918 D0 1C 0F 44 */ stfs f0, 0xf44(r28) -/* 8019991C 48 00 00 18 */ b lbl_80199934 -lbl_80199920: -/* 80199920 7F C3 F3 78 */ mr r3, r30 -/* 80199924 7F A4 EB 78 */ mr r4, r29 -/* 80199928 38 A0 00 00 */ li r5, 0 -/* 8019992C 38 C0 00 00 */ li r6, 0 -/* 80199930 48 0B 09 A9 */ bl doFlow__10dMsgFlow_cFP10fopAc_ac_cPP10fopAc_ac_ci -lbl_80199934: -/* 80199934 3B A0 00 00 */ li r29, 0 -/* 80199938 88 1C 0F 6E */ lbz r0, 0xf6e(r28) -/* 8019993C 28 00 00 00 */ cmplwi r0, 0 -/* 80199940 41 82 00 0C */ beq lbl_8019994C -/* 80199944 7C 1D 03 78 */ mr r29, r0 -/* 80199948 48 00 00 14 */ b lbl_8019995C -lbl_8019994C: -/* 8019994C 88 1C 0F 6F */ lbz r0, 0xf6f(r28) -/* 80199950 28 00 00 00 */ cmplwi r0, 0 -/* 80199954 41 82 00 08 */ beq lbl_8019995C -/* 80199958 7C 1D 03 78 */ mr r29, r0 -lbl_8019995C: -/* 8019995C 57 A5 06 3F */ clrlwi. r5, r29, 0x18 -/* 80199960 41 82 00 9C */ beq lbl_801999FC -/* 80199964 38 61 00 10 */ addi r3, r1, 0x10 -/* 80199968 38 9C 0E 48 */ addi r4, r28, 0xe48 -/* 8019996C 38 A5 FF FF */ addi r5, r5, -1 -/* 80199970 4B FF D0 31 */ bl getCurrentPos__15dShopItemCtrl_cFi -/* 80199974 C0 01 00 10 */ lfs f0, 0x10(r1) -/* 80199978 D0 01 00 28 */ stfs f0, 0x28(r1) -/* 8019997C C0 01 00 14 */ lfs f0, 0x14(r1) -/* 80199980 D0 01 00 2C */ stfs f0, 0x2c(r1) -/* 80199984 C0 01 00 18 */ lfs f0, 0x18(r1) -/* 80199988 D0 01 00 30 */ stfs f0, 0x30(r1) -/* 8019998C 38 61 00 28 */ addi r3, r1, 0x28 -/* 80199990 38 81 00 1C */ addi r4, r1, 0x1c -/* 80199994 4B E7 B9 7D */ bl mDoLib_project__FP3VecP3Vec -/* 80199998 57 A0 06 3E */ clrlwi r0, r29, 0x18 -/* 8019999C 28 00 00 07 */ cmplwi r0, 7 -/* 801999A0 40 82 00 30 */ bne lbl_801999D0 -/* 801999A4 C0 21 00 1C */ lfs f1, 0x1c(r1) -/* 801999A8 3C 60 80 43 */ lis r3, g_cursorHIO@ha /* 0x80430110@ha */ -/* 801999AC 38 63 01 10 */ addi r3, r3, g_cursorHIO@l /* 0x80430110@l */ -/* 801999B0 C0 03 00 34 */ lfs f0, 0x34(r3) -/* 801999B4 EC 01 00 2A */ fadds f0, f1, f0 -/* 801999B8 D0 01 00 1C */ stfs f0, 0x1c(r1) -/* 801999BC C0 21 00 20 */ lfs f1, 0x20(r1) -/* 801999C0 C0 03 00 38 */ lfs f0, 0x38(r3) -/* 801999C4 EC 01 00 2A */ fadds f0, f1, f0 -/* 801999C8 D0 01 00 20 */ stfs f0, 0x20(r1) -/* 801999CC 48 00 00 1C */ b lbl_801999E8 -lbl_801999D0: -/* 801999D0 C0 21 00 20 */ lfs f1, 0x20(r1) -/* 801999D4 3C 60 80 43 */ lis r3, g_cursorHIO@ha /* 0x80430110@ha */ -/* 801999D8 38 63 01 10 */ addi r3, r3, g_cursorHIO@l /* 0x80430110@l */ -/* 801999DC C0 03 00 30 */ lfs f0, 0x30(r3) -/* 801999E0 EC 01 00 2A */ fadds f0, f1, f0 -/* 801999E4 D0 01 00 20 */ stfs f0, 0x20(r1) -lbl_801999E8: -/* 801999E8 C0 21 00 20 */ lfs f1, 0x20(r1) -/* 801999EC 80 7C 0E 44 */ lwz r3, 0xe44(r28) -/* 801999F0 C0 01 00 1C */ lfs f0, 0x1c(r1) -/* 801999F4 D0 03 00 58 */ stfs f0, 0x58(r3) -/* 801999F8 D0 23 00 5C */ stfs f1, 0x5c(r3) -lbl_801999FC: -/* 801999FC 38 60 00 00 */ li r3, 0 -lbl_80199A00: -/* 80199A00 39 61 00 50 */ addi r11, r1, 0x50 -/* 80199A04 48 1C 88 21 */ bl _restgpr_28 -/* 80199A08 80 01 00 54 */ lwz r0, 0x54(r1) -/* 80199A0C 7C 08 03 A6 */ mtlr r0 -/* 80199A10 38 21 00 50 */ addi r1, r1, 0x50 -/* 80199A14 4E 80 00 20 */ blr diff --git a/asm/d/shop/d_shop_system/seq_select_start__13dShopSystem_cFP10fopAc_ac_cP10dMsgFlow_c.s b/asm/d/shop/d_shop_system/seq_select_start__13dShopSystem_cFP10fopAc_ac_cP10dMsgFlow_c.s deleted file mode 100644 index ba0dcb7b16..0000000000 --- a/asm/d/shop/d_shop_system/seq_select_start__13dShopSystem_cFP10fopAc_ac_cP10dMsgFlow_c.s +++ /dev/null @@ -1,127 +0,0 @@ -lbl_801993C4: -/* 801993C4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 801993C8 7C 08 02 A6 */ mflr r0 -/* 801993CC 90 01 00 14 */ stw r0, 0x14(r1) -/* 801993D0 93 E1 00 0C */ stw r31, 0xc(r1) -/* 801993D4 7C 7F 1B 78 */ mr r31, r3 -/* 801993D8 80 03 0F 60 */ lwz r0, 0xf60(r3) -/* 801993DC 2C 00 00 00 */ cmpwi r0, 0 -/* 801993E0 40 80 00 34 */ bge lbl_80199414 -/* 801993E4 88 1F 0F 76 */ lbz r0, 0xf76(r31) -/* 801993E8 28 00 00 00 */ cmplwi r0, 0 -/* 801993EC 40 82 00 28 */ bne lbl_80199414 -/* 801993F0 80 8D 8A DC */ lwz r4, dShopSystem_item_count(r13) -/* 801993F4 2C 04 FF FF */ cmpwi r4, -1 -/* 801993F8 41 82 00 1C */ beq lbl_80199414 -/* 801993FC 88 0D 8A D8 */ lbz r0, data_80451058(r13) -/* 80199400 7C 04 00 00 */ cmpw r4, r0 -/* 80199404 41 82 00 0C */ beq lbl_80199410 -/* 80199408 38 60 00 00 */ li r3, 0 -/* 8019940C 48 00 01 7C */ b lbl_80199588 -lbl_80199410: -/* 80199410 48 00 11 C1 */ bl searchItemActor__13dShopSystem_cFv -lbl_80199414: -/* 80199414 7F E3 FB 78 */ mr r3, r31 -/* 80199418 88 9F 0F 6E */ lbz r4, 0xf6e(r31) -/* 8019941C 38 84 FF FF */ addi r4, r4, -1 -/* 80199420 4B FF E1 D9 */ bl isFlag__13dShopSystem_cFi -/* 80199424 2C 03 00 00 */ cmpwi r3, 0 -/* 80199428 41 82 01 0C */ beq lbl_80199534 -/* 8019942C 88 1F 0F 6E */ lbz r0, 0xf6e(r31) -/* 80199430 2C 00 00 02 */ cmpwi r0, 2 -/* 80199434 41 82 00 6C */ beq lbl_801994A0 -/* 80199438 40 80 00 10 */ bge lbl_80199448 -/* 8019943C 2C 00 00 01 */ cmpwi r0, 1 -/* 80199440 40 80 00 14 */ bge lbl_80199454 -/* 80199444 48 00 00 F0 */ b lbl_80199534 -lbl_80199448: -/* 80199448 2C 00 00 04 */ cmpwi r0, 4 -/* 8019944C 40 80 00 E8 */ bge lbl_80199534 -/* 80199450 48 00 00 9C */ b lbl_801994EC -lbl_80199454: -/* 80199454 38 00 00 02 */ li r0, 2 -/* 80199458 98 1F 0F 6E */ stb r0, 0xf6e(r31) -/* 8019945C 7F E3 FB 78 */ mr r3, r31 -/* 80199460 88 9F 0F 6E */ lbz r4, 0xf6e(r31) -/* 80199464 38 84 FF FF */ addi r4, r4, -1 -/* 80199468 4B FF E1 91 */ bl isFlag__13dShopSystem_cFi -/* 8019946C 2C 03 00 00 */ cmpwi r3, 0 -/* 80199470 41 82 00 C4 */ beq lbl_80199534 -/* 80199474 38 00 00 03 */ li r0, 3 -/* 80199478 98 1F 0F 6E */ stb r0, 0xf6e(r31) -/* 8019947C 7F E3 FB 78 */ mr r3, r31 -/* 80199480 88 9F 0F 6E */ lbz r4, 0xf6e(r31) -/* 80199484 38 84 FF FF */ addi r4, r4, -1 -/* 80199488 4B FF E1 71 */ bl isFlag__13dShopSystem_cFi -/* 8019948C 2C 03 00 00 */ cmpwi r3, 0 -/* 80199490 41 82 00 A4 */ beq lbl_80199534 -/* 80199494 38 00 00 00 */ li r0, 0 -/* 80199498 98 1F 0F 6E */ stb r0, 0xf6e(r31) -/* 8019949C 48 00 00 98 */ b lbl_80199534 -lbl_801994A0: -/* 801994A0 38 00 00 01 */ li r0, 1 -/* 801994A4 98 1F 0F 6E */ stb r0, 0xf6e(r31) -/* 801994A8 7F E3 FB 78 */ mr r3, r31 -/* 801994AC 88 9F 0F 6E */ lbz r4, 0xf6e(r31) -/* 801994B0 38 84 FF FF */ addi r4, r4, -1 -/* 801994B4 4B FF E1 45 */ bl isFlag__13dShopSystem_cFi -/* 801994B8 2C 03 00 00 */ cmpwi r3, 0 -/* 801994BC 41 82 00 78 */ beq lbl_80199534 -/* 801994C0 38 00 00 03 */ li r0, 3 -/* 801994C4 98 1F 0F 6E */ stb r0, 0xf6e(r31) -/* 801994C8 7F E3 FB 78 */ mr r3, r31 -/* 801994CC 88 9F 0F 6E */ lbz r4, 0xf6e(r31) -/* 801994D0 38 84 FF FF */ addi r4, r4, -1 -/* 801994D4 4B FF E1 25 */ bl isFlag__13dShopSystem_cFi -/* 801994D8 2C 03 00 00 */ cmpwi r3, 0 -/* 801994DC 41 82 00 58 */ beq lbl_80199534 -/* 801994E0 38 00 00 00 */ li r0, 0 -/* 801994E4 98 1F 0F 6E */ stb r0, 0xf6e(r31) -/* 801994E8 48 00 00 4C */ b lbl_80199534 -lbl_801994EC: -/* 801994EC 38 00 00 02 */ li r0, 2 -/* 801994F0 98 1F 0F 6E */ stb r0, 0xf6e(r31) -/* 801994F4 7F E3 FB 78 */ mr r3, r31 -/* 801994F8 88 9F 0F 6E */ lbz r4, 0xf6e(r31) -/* 801994FC 38 84 FF FF */ addi r4, r4, -1 -/* 80199500 4B FF E0 F9 */ bl isFlag__13dShopSystem_cFi -/* 80199504 2C 03 00 00 */ cmpwi r3, 0 -/* 80199508 41 82 00 2C */ beq lbl_80199534 -/* 8019950C 38 00 00 01 */ li r0, 1 -/* 80199510 98 1F 0F 6E */ stb r0, 0xf6e(r31) -/* 80199514 7F E3 FB 78 */ mr r3, r31 -/* 80199518 88 9F 0F 6E */ lbz r4, 0xf6e(r31) -/* 8019951C 38 84 FF FF */ addi r4, r4, -1 -/* 80199520 4B FF E0 D9 */ bl isFlag__13dShopSystem_cFi -/* 80199524 2C 03 00 00 */ cmpwi r3, 0 -/* 80199528 41 82 00 0C */ beq lbl_80199534 -/* 8019952C 38 00 00 00 */ li r0, 0 -/* 80199530 98 1F 0F 6E */ stb r0, 0xf6e(r31) -lbl_80199534: -/* 80199534 88 1F 0F 6E */ lbz r0, 0xf6e(r31) -/* 80199538 B0 1F 0F 4C */ sth r0, 0xf4c(r31) -/* 8019953C C0 22 A1 18 */ lfs f1, lit_4494(r2) -/* 80199540 D0 3F 0F 38 */ stfs f1, 0xf38(r31) -/* 80199544 C0 02 A1 1C */ lfs f0, lit_4495(r2) -/* 80199548 D0 1F 0F 3C */ stfs f0, 0xf3c(r31) -/* 8019954C D0 3F 0F 40 */ stfs f1, 0xf40(r31) -/* 80199550 C0 02 A1 20 */ lfs f0, lit_4496(r2) -/* 80199554 D0 1F 0F 44 */ stfs f0, 0xf44(r31) -/* 80199558 7F E3 FB 78 */ mr r3, r31 -/* 8019955C 38 80 00 04 */ li r4, 4 -/* 80199560 38 A0 00 00 */ li r5, 0 -/* 80199564 4B FF EE E1 */ bl moveCursor__13dShopSystem_cFiUc -/* 80199568 7C 64 1B 78 */ mr r4, r3 -/* 8019956C 7F E3 FB 78 */ mr r3, r31 -/* 80199570 38 A0 00 00 */ li r5, 0 -/* 80199574 4B FB 26 7D */ bl initTalk__8daNpcT_cFiPP10fopAc_ac_c -/* 80199578 7F E3 FB 78 */ mr r3, r31 -/* 8019957C 38 80 00 04 */ li r4, 4 -/* 80199580 48 00 0D C5 */ bl setSeq__13dShopSystem_cFUc -/* 80199584 38 60 00 00 */ li r3, 0 -lbl_80199588: -/* 80199588 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8019958C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80199590 7C 08 03 A6 */ mtlr r0 -/* 80199594 38 21 00 10 */ addi r1, r1, 0x10 -/* 80199598 4E 80 00 20 */ blr diff --git a/asm/d/shop/d_shop_system/seq_start__13dShopSystem_cFP10fopAc_ac_cP10dMsgFlow_c.s b/asm/d/shop/d_shop_system/seq_start__13dShopSystem_cFP10fopAc_ac_cP10dMsgFlow_c.s deleted file mode 100644 index 4a4725a989..0000000000 --- a/asm/d/shop/d_shop_system/seq_start__13dShopSystem_cFP10fopAc_ac_cP10dMsgFlow_c.s +++ /dev/null @@ -1,185 +0,0 @@ -lbl_801990B8: -/* 801990B8 94 21 FF C0 */ stwu r1, -0x40(r1) -/* 801990BC 7C 08 02 A6 */ mflr r0 -/* 801990C0 90 01 00 44 */ stw r0, 0x44(r1) -/* 801990C4 39 61 00 40 */ addi r11, r1, 0x40 -/* 801990C8 48 1C 91 11 */ bl _savegpr_28 -/* 801990CC 7C 7D 1B 78 */ mr r29, r3 -/* 801990D0 7C 9E 23 78 */ mr r30, r4 -/* 801990D4 7C BF 2B 78 */ mr r31, r5 -/* 801990D8 88 03 0F 79 */ lbz r0, 0xf79(r3) -/* 801990DC 28 00 00 00 */ cmplwi r0, 0 -/* 801990E0 41 82 00 24 */ beq lbl_80199104 -/* 801990E4 38 00 00 00 */ li r0, 0 -/* 801990E8 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 801990EC 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 801990F0 98 03 5E 3C */ stb r0, 0x5e3c(r3) -/* 801990F4 98 03 5E 57 */ stb r0, 0x5e57(r3) -/* 801990F8 98 03 5E 35 */ stb r0, 0x5e35(r3) -/* 801990FC 98 03 5E 50 */ stb r0, 0x5e50(r3) -/* 80199100 98 1D 0F 79 */ stb r0, 0xf79(r29) -lbl_80199104: -/* 80199104 38 61 00 0C */ addi r3, r1, 0xc -/* 80199108 38 9D 0E 48 */ addi r4, r29, 0xe48 -/* 8019910C 38 A0 00 00 */ li r5, 0 -/* 80199110 4B FF D8 91 */ bl getCurrentPos__15dShopItemCtrl_cFi -/* 80199114 C0 01 00 0C */ lfs f0, 0xc(r1) -/* 80199118 D0 01 00 24 */ stfs f0, 0x24(r1) -/* 8019911C C0 01 00 10 */ lfs f0, 0x10(r1) -/* 80199120 D0 01 00 28 */ stfs f0, 0x28(r1) -/* 80199124 C0 01 00 14 */ lfs f0, 0x14(r1) -/* 80199128 D0 01 00 2C */ stfs f0, 0x2c(r1) -/* 8019912C 38 61 00 24 */ addi r3, r1, 0x24 -/* 80199130 38 81 00 18 */ addi r4, r1, 0x18 -/* 80199134 4B E7 C1 DD */ bl mDoLib_project__FP3VecP3Vec -/* 80199138 C0 21 00 1C */ lfs f1, 0x1c(r1) -/* 8019913C 3C 60 80 43 */ lis r3, g_cursorHIO@ha /* 0x80430110@ha */ -/* 80199140 38 63 01 10 */ addi r3, r3, g_cursorHIO@l /* 0x80430110@l */ -/* 80199144 C0 03 00 30 */ lfs f0, 0x30(r3) -/* 80199148 EC 21 00 2A */ fadds f1, f1, f0 -/* 8019914C 80 7D 0E 44 */ lwz r3, 0xe44(r29) -/* 80199150 C0 01 00 18 */ lfs f0, 0x18(r1) -/* 80199154 D0 03 00 58 */ stfs f0, 0x58(r3) -/* 80199158 D0 23 00 5C */ stfs f1, 0x5c(r3) -/* 8019915C 88 1D 0F 75 */ lbz r0, 0xf75(r29) -/* 80199160 28 00 00 01 */ cmplwi r0, 1 -/* 80199164 40 82 00 30 */ bne lbl_80199194 -/* 80199168 7F A3 EB 78 */ mr r3, r29 -/* 8019916C 7F E4 FB 78 */ mr r4, r31 -/* 80199170 80 BD 0F 5C */ lwz r5, 0xf5c(r29) -/* 80199174 81 9D 0E 3C */ lwz r12, 0xe3c(r29) -/* 80199178 81 8C 00 C8 */ lwz r12, 0xc8(r12) -/* 8019917C 7D 89 03 A6 */ mtctr r12 -/* 80199180 4E 80 04 21 */ bctrl -/* 80199184 2C 03 00 00 */ cmpwi r3, 0 -/* 80199188 40 82 00 0C */ bne lbl_80199194 -/* 8019918C 38 60 00 00 */ li r3, 0 -/* 80199190 48 00 01 C4 */ b lbl_80199354 -lbl_80199194: -/* 80199194 48 09 F1 61 */ bl isMsgSendControl__12dMsgObject_cFv -/* 80199198 2C 03 00 00 */ cmpwi r3, 0 -/* 8019919C 41 82 01 14 */ beq lbl_801992B0 -/* 801991A0 38 80 00 00 */ li r4, 0 -/* 801991A4 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 801991A8 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 801991AC 98 83 5E 3C */ stb r4, 0x5e3c(r3) -/* 801991B0 98 83 5E 57 */ stb r4, 0x5e57(r3) -/* 801991B4 38 00 00 2A */ li r0, 0x2a -/* 801991B8 98 03 5E 35 */ stb r0, 0x5e35(r3) -/* 801991BC 98 83 5E 50 */ stb r4, 0x5e50(r3) -/* 801991C0 7F A3 EB 78 */ mr r3, r29 -/* 801991C4 38 80 00 00 */ li r4, 0 -/* 801991C8 7F E5 FB 78 */ mr r5, r31 -/* 801991CC 4B FF E4 A5 */ bl checkController__13dShopSystem_cFUcP10dMsgFlow_c -/* 801991D0 7C 7C 1B 79 */ or. r28, r3, r3 -/* 801991D4 41 82 01 7C */ beq lbl_80199350 -/* 801991D8 48 09 F1 49 */ bl onMsgSend__12dMsgObject_cFv -/* 801991DC 7F A3 EB 78 */ mr r3, r29 -/* 801991E0 7F 84 E3 78 */ mr r4, r28 -/* 801991E4 38 A0 00 00 */ li r5, 0 -/* 801991E8 4B FF F2 5D */ bl moveCursor__13dShopSystem_cFiUc -/* 801991EC 7C 66 1B 78 */ mr r6, r3 -/* 801991F0 88 1D 0F 75 */ lbz r0, 0xf75(r29) -/* 801991F4 28 00 00 01 */ cmplwi r0, 1 -/* 801991F8 40 82 00 74 */ bne lbl_8019926C -/* 801991FC 88 1D 0F 6E */ lbz r0, 0xf6e(r29) -/* 80199200 28 00 00 00 */ cmplwi r0, 0 -/* 80199204 41 82 00 2C */ beq lbl_80199230 -/* 80199208 90 DD 0F 5C */ stw r6, 0xf5c(r29) -/* 8019920C C0 02 A1 44 */ lfs f0, lit_5084(r2) -/* 80199210 D0 1D 0F 38 */ stfs f0, 0xf38(r29) -/* 80199214 D0 1D 0F 3C */ stfs f0, 0xf3c(r29) -/* 80199218 D0 1D 0F 40 */ stfs f0, 0xf40(r29) -/* 8019921C D0 1D 0F 44 */ stfs f0, 0xf44(r29) -/* 80199220 7F A3 EB 78 */ mr r3, r29 -/* 80199224 38 80 00 04 */ li r4, 4 -/* 80199228 48 00 11 1D */ bl setSeq__13dShopSystem_cFUc -/* 8019922C 48 00 01 24 */ b lbl_80199350 -lbl_80199230: -/* 80199230 7F E3 FB 78 */ mr r3, r31 -/* 80199234 7F C4 F3 78 */ mr r4, r30 -/* 80199238 38 A0 00 00 */ li r5, 0 -/* 8019923C 48 0B 10 9D */ bl doFlow__10dMsgFlow_cFP10fopAc_ac_cPP10fopAc_ac_ci -/* 80199240 2C 03 00 00 */ cmpwi r3, 0 -/* 80199244 41 82 01 0C */ beq lbl_80199350 -/* 80199248 C0 02 A1 44 */ lfs f0, lit_5084(r2) -/* 8019924C D0 1D 0F 38 */ stfs f0, 0xf38(r29) -/* 80199250 D0 1D 0F 3C */ stfs f0, 0xf3c(r29) -/* 80199254 D0 1D 0F 40 */ stfs f0, 0xf40(r29) -/* 80199258 D0 1D 0F 44 */ stfs f0, 0xf44(r29) -/* 8019925C 7F A3 EB 78 */ mr r3, r29 -/* 80199260 38 80 00 0A */ li r4, 0xa -/* 80199264 48 00 10 E1 */ bl setSeq__13dShopSystem_cFUc -/* 80199268 48 00 00 E8 */ b lbl_80199350 -lbl_8019926C: -/* 8019926C 7F E3 FB 78 */ mr r3, r31 -/* 80199270 7F C4 F3 78 */ mr r4, r30 -/* 80199274 38 A0 00 00 */ li r5, 0 -/* 80199278 48 0B 10 61 */ bl doFlow__10dMsgFlow_cFP10fopAc_ac_cPP10fopAc_ac_ci -/* 8019927C 2C 03 00 00 */ cmpwi r3, 0 -/* 80199280 41 82 00 D0 */ beq lbl_80199350 -/* 80199284 88 1D 0F 6E */ lbz r0, 0xf6e(r29) -/* 80199288 28 00 00 00 */ cmplwi r0, 0 -/* 8019928C 40 82 00 14 */ bne lbl_801992A0 -/* 80199290 7F A3 EB 78 */ mr r3, r29 -/* 80199294 38 80 00 0A */ li r4, 0xa -/* 80199298 48 00 10 AD */ bl setSeq__13dShopSystem_cFUc -/* 8019929C 48 00 00 B4 */ b lbl_80199350 -lbl_801992A0: -/* 801992A0 7F A3 EB 78 */ mr r3, r29 -/* 801992A4 38 80 00 04 */ li r4, 4 -/* 801992A8 48 00 10 9D */ bl setSeq__13dShopSystem_cFUc -/* 801992AC 48 00 00 A4 */ b lbl_80199350 -lbl_801992B0: -/* 801992B0 7F E3 FB 78 */ mr r3, r31 -/* 801992B4 7F C4 F3 78 */ mr r4, r30 -/* 801992B8 38 A0 00 00 */ li r5, 0 -/* 801992BC 38 C0 00 00 */ li r6, 0 -/* 801992C0 48 0B 10 19 */ bl doFlow__10dMsgFlow_cFP10fopAc_ac_cPP10fopAc_ac_ci -/* 801992C4 2C 03 00 00 */ cmpwi r3, 0 -/* 801992C8 41 82 00 88 */ beq lbl_80199350 -/* 801992CC 38 7D 09 74 */ addi r3, r29, 0x974 -/* 801992D0 38 81 00 08 */ addi r4, r1, 8 -/* 801992D4 48 0B 12 55 */ bl getEventId__10dMsgFlow_cFPi -/* 801992D8 54 60 04 3E */ clrlwi r0, r3, 0x10 -/* 801992DC 28 00 00 01 */ cmplwi r0, 1 -/* 801992E0 40 82 00 68 */ bne lbl_80199348 -/* 801992E4 80 7D 0D 90 */ lwz r3, 0xd90(r29) -/* 801992E8 3C 03 00 01 */ addis r0, r3, 1 -/* 801992EC 28 00 FF FF */ cmplwi r0, 0xffff -/* 801992F0 40 82 00 28 */ bne lbl_80199318 -/* 801992F4 38 7D 04 D0 */ addi r3, r29, 0x4d0 -/* 801992F8 80 81 00 08 */ lwz r4, 8(r1) -/* 801992FC 38 A0 00 00 */ li r5, 0 -/* 80199300 38 C0 FF FF */ li r6, -1 -/* 80199304 38 E0 FF FF */ li r7, -1 -/* 80199308 39 00 00 00 */ li r8, 0 -/* 8019930C 39 20 00 00 */ li r9, 0 -/* 80199310 4B E8 28 D9 */ bl fopAcM_createItemForPresentDemo__FPC4cXyziUciiPC5csXyzPC4cXyz -/* 80199314 90 7D 0D 90 */ stw r3, 0xd90(r29) -lbl_80199318: -/* 80199318 80 7D 0D 90 */ lwz r3, 0xd90(r29) -/* 8019931C 4B E8 80 81 */ bl fpcEx_IsExist__FUi -/* 80199320 2C 03 00 00 */ cmpwi r3, 0 -/* 80199324 41 82 00 1C */ beq lbl_80199340 -/* 80199328 38 00 00 01 */ li r0, 1 -/* 8019932C B0 1D 0E 30 */ sth r0, 0xe30(r29) -/* 80199330 7F A3 EB 78 */ mr r3, r29 -/* 80199334 4B FB 0E F1 */ bl evtChange__8daNpcT_cFv -/* 80199338 38 60 00 01 */ li r3, 1 -/* 8019933C 48 00 00 18 */ b lbl_80199354 -lbl_80199340: -/* 80199340 38 60 00 00 */ li r3, 0 -/* 80199344 48 00 00 10 */ b lbl_80199354 -lbl_80199348: -/* 80199348 38 60 00 01 */ li r3, 1 -/* 8019934C 48 00 00 08 */ b lbl_80199354 -lbl_80199350: -/* 80199350 38 60 00 00 */ li r3, 0 -lbl_80199354: -/* 80199354 39 61 00 40 */ addi r11, r1, 0x40 -/* 80199358 48 1C 8E CD */ bl _restgpr_28 -/* 8019935C 80 01 00 44 */ lwz r0, 0x44(r1) -/* 80199360 7C 08 03 A6 */ mtlr r0 -/* 80199364 38 21 00 40 */ addi r1, r1, 0x40 -/* 80199368 4E 80 00 20 */ blr diff --git a/asm/d/shop/d_shop_system/shop_process__13dShopSystem_cFP10fopAc_ac_cP10dMsgFlow_c.s b/asm/d/shop/d_shop_system/shop_process__13dShopSystem_cFP10fopAc_ac_cP10dMsgFlow_c.s deleted file mode 100644 index d51146c1b7..0000000000 --- a/asm/d/shop/d_shop_system/shop_process__13dShopSystem_cFP10fopAc_ac_cP10dMsgFlow_c.s +++ /dev/null @@ -1,62 +0,0 @@ -lbl_8019A158: -/* 8019A158 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8019A15C 7C 08 02 A6 */ mflr r0 -/* 8019A160 90 01 00 14 */ stw r0, 0x14(r1) -/* 8019A164 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8019A168 93 C1 00 08 */ stw r30, 8(r1) -/* 8019A16C 7C 7F 1B 78 */ mr r31, r3 -/* 8019A170 88 03 0F 70 */ lbz r0, 0xf70(r3) -/* 8019A174 1C E0 00 0C */ mulli r7, r0, 0xc -/* 8019A178 3C C0 80 3C */ lis r6, process@ha /* 0x803BB974@ha */ -/* 8019A17C 38 06 B9 74 */ addi r0, r6, process@l /* 0x803BB974@l */ -/* 8019A180 7D 80 3A 14 */ add r12, r0, r7 -/* 8019A184 48 1C 7F 01 */ bl __ptmf_scall -/* 8019A188 60 00 00 00 */ nop -/* 8019A18C 7C 7E 1B 78 */ mr r30, r3 -/* 8019A190 88 7F 0F 72 */ lbz r3, 0xf72(r31) -/* 8019A194 28 03 00 00 */ cmplwi r3, 0 -/* 8019A198 41 82 00 0C */ beq lbl_8019A1A4 -/* 8019A19C 38 03 FF FF */ addi r0, r3, -1 -/* 8019A1A0 98 1F 0F 72 */ stb r0, 0xf72(r31) -lbl_8019A1A4: -/* 8019A1A4 88 1F 0F 7A */ lbz r0, 0xf7a(r31) -/* 8019A1A8 28 00 00 00 */ cmplwi r0, 0 -/* 8019A1AC 41 82 00 10 */ beq lbl_8019A1BC -/* 8019A1B0 48 08 48 21 */ bl dMeter2Info_set2DVibration__Fv -/* 8019A1B4 38 00 00 00 */ li r0, 0 -/* 8019A1B8 98 1F 0F 7A */ stb r0, 0xf7a(r31) -lbl_8019A1BC: -/* 8019A1BC 2C 1E 00 00 */ cmpwi r30, 0 -/* 8019A1C0 41 82 00 40 */ beq lbl_8019A200 -/* 8019A1C4 38 00 00 00 */ li r0, 0 -/* 8019A1C8 3C 60 80 43 */ lis r3, g_meter2_info@ha /* 0x80430188@ha */ -/* 8019A1CC 38 63 01 88 */ addi r3, r3, g_meter2_info@l /* 0x80430188@l */ -/* 8019A1D0 98 03 00 BD */ stb r0, 0xbd(r3) -/* 8019A1D4 88 1F 0F 70 */ lbz r0, 0xf70(r31) -/* 8019A1D8 28 00 00 00 */ cmplwi r0, 0 -/* 8019A1DC 41 82 00 10 */ beq lbl_8019A1EC -/* 8019A1E0 7F E3 FB 78 */ mr r3, r31 -/* 8019A1E4 38 80 00 00 */ li r4, 0 -/* 8019A1E8 48 00 01 5D */ bl setSeq__13dShopSystem_cFUc -lbl_8019A1EC: -/* 8019A1EC 2C 1E 00 02 */ cmpwi r30, 2 -/* 8019A1F0 41 82 00 10 */ beq lbl_8019A200 -/* 8019A1F4 38 00 00 00 */ li r0, 0 -/* 8019A1F8 98 1F 0F 6E */ stb r0, 0xf6e(r31) -/* 8019A1FC 98 1F 0F 6F */ stb r0, 0xf6f(r31) -lbl_8019A200: -/* 8019A200 88 7F 0F 70 */ lbz r3, 0xf70(r31) -/* 8019A204 88 1F 0F 71 */ lbz r0, 0xf71(r31) -/* 8019A208 7C 03 00 40 */ cmplw r3, r0 -/* 8019A20C 41 82 00 10 */ beq lbl_8019A21C -/* 8019A210 98 7F 0F 71 */ stb r3, 0xf71(r31) -/* 8019A214 38 00 00 01 */ li r0, 1 -/* 8019A218 98 1F 0F 79 */ stb r0, 0xf79(r31) -lbl_8019A21C: -/* 8019A21C 7F C3 F3 78 */ mr r3, r30 -/* 8019A220 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8019A224 83 C1 00 08 */ lwz r30, 8(r1) -/* 8019A228 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8019A22C 7C 08 03 A6 */ mtlr r0 -/* 8019A230 38 21 00 10 */ addi r1, r1, 0x10 -/* 8019A234 4E 80 00 20 */ blr diff --git a/include/d/s/d_s_name.h b/include/d/s/d_s_name.h index d894b00859..fd56c05701 100644 --- a/include/d/s/d_s_name.h +++ b/include/d/s/d_s_name.h @@ -2,5 +2,48 @@ #define D_S_D_S_NAME_H #include "dolphin/types.h" +#include "f_op/f_op_camera_mng.h" +#include "f_op/f_op_scene.h" + +class JKRExpHeap; +class dFile_select_c; +class dBrightCheck_c; + +class dScnName_camera_c : public camera_process_class { +public: + dScnName_camera_c() { field_0x22f = 84; } + /* 80259294 */ virtual ~dScnName_camera_c() {} +}; + +class dScnName_c : public scene_class { +public: + dScnName_c() {} + + /* 802588A0 */ s32 create(); + /* 80258B2C */ void setView(); + /* 80258BC8 */ s32 execute(); + /* 80258C5C */ s32 draw(); + /* 80258CC8 */ ~dScnName_c(); + /* 80258DD0 */ void FileSelectOpen(); + /* 80258E34 */ void FileSelectMain(); + /* 80258E78 */ void FileSelectMainNormal(); + /* 80258F20 */ void FileSelectClose(); + /* 80258FD4 */ void brightCheckOpen(); + /* 80259008 */ void brightCheck(); + /* 802590F8 */ void changeGameScene(); + +private: + /* 0x1C4 */ request_of_phase_process_class field_0x1c4; + /* 0x1CC */ JKRExpHeap* mHeap; + /* 0x1D0 */ JKRExpHeap* field_0x1d0; + /* 0x1D4 */ dScnName_camera_c mCamera; + /* 0x414 */ dFile_select_c* dFs_c; + /* 0x418 */ dBrightCheck_c* mBrightCheck; + /* 0x41C */ u8 field_0x41c; + /* 0x41D */ u8 field_0x41d; + /* 0x41E */ u8 field_0x41e; + /* 0x41F */ u8 field_0x41f; + /* 0x420 */ u8 field_0x420; +}; #endif /* D_S_D_S_NAME_H */ diff --git a/include/d/save/d_save_HIO.h b/include/d/save/d_save_HIO.h index dfa7c8b147..4943ca414d 100644 --- a/include/d/save/d_save_HIO.h +++ b/include/d/save/d_save_HIO.h @@ -9,12 +9,12 @@ public: /* 8025C0A0 */ dSvBit_childTransformHIO_c(); /* 8025C0D4 */ void init(); - /* 8025C2E4 */ virtual ~dSvBit_childTransformHIO_c(); + /* 8025C2E4 */ virtual ~dSvBit_childTransformHIO_c() {} private: /* 0x04 */ u8 field_0x4; - /* 0x05 */ bool WF[4]; - /* 0x09 */ bool field_0x9[4]; + /* 0x05 */ u8 WF[4]; + /* 0x09 */ u8 field_0x9[4]; }; class dSvBit_childDarknessHIO_c { @@ -22,12 +22,12 @@ public: /* 8025C004 */ dSvBit_childDarknessHIO_c(); /* 8025C038 */ void init(); - /* 8025C32C */ virtual ~dSvBit_childDarknessHIO_c(); + /* 8025C32C */ virtual ~dSvBit_childDarknessHIO_c() {} private: /* 0x04 */ u8 field_0x4; - /* 0x05 */ bool TW[6]; - /* 0x0B */ bool field_0x9[6]; + /* 0x05 */ u8 TW[6]; + /* 0x0B */ u8 field_0xB[6]; }; class dSvBit_childOtherHIO_c { @@ -35,14 +35,14 @@ public: /* 8025C13C */ dSvBit_childOtherHIO_c(); /* 8025C178 */ void init(); - /* 8025C29C */ virtual ~dSvBit_childOtherHIO_c(); + /* 8025C29C */ virtual ~dSvBit_childOtherHIO_c() {} private: /* 0x04 */ u8 field_0x4; /* 0x05 */ u8 mDropNum; /* 0x06 */ u8 field_0x6; - /* 0x07 */ bool mLightVessel[4]; - /* 0x0B */ bool field_0xb[4]; + /* 0x07 */ u8 mLightVessel[4]; + /* 0x0B */ u8 field_0xb[4]; }; class dSvBit_childTbPerfectionHIO_c { @@ -50,17 +50,20 @@ public: /* 8025BF68 */ dSvBit_childTbPerfectionHIO_c(); /* 8025BF9C */ void init(); - /* 8025C374 */ virtual ~dSvBit_childTbPerfectionHIO_c(); + /* 8025C374 */ virtual ~dSvBit_childTbPerfectionHIO_c() {} private: /* 0x04 */ u8 field_0x4; - /* 0x05 */ bool field_0x5[0x40]; - /* 0x45 */ bool field_0x45[0x40]; + /* 0x05 */ u8 field_0x5[0x40]; + /* 0x45 */ u8 field_0x45[0x40]; }; class dSvBit_childTreasureHIO_c { public: - /* 8025C874 */ virtual ~dSvBit_childTreasureHIO_c(); + /* 8025C874 */ virtual ~dSvBit_childTreasureHIO_c() {} + void init() { + mPerfectSave.init(); + } private: /* 0x04 */ u8 field_0x4; @@ -72,7 +75,7 @@ public: /* 8025BCB0 */ dSvBit_childSwZoneHIO_c(); /* 8025BCE4 */ void init(); - /* 8025C524 */ virtual ~dSvBit_childSwZoneHIO_c(); + /* 8025C524 */ virtual ~dSvBit_childSwZoneHIO_c() {} private: /* 0x04 */ u8 field_0x4; @@ -85,12 +88,12 @@ public: /* 8025BB78 */ dSvBit_childSwPerfectionHIO_c(); /* 8025BBAC */ void init(); - /* 8025C5B4 */ virtual ~dSvBit_childSwPerfectionHIO_c(); + /* 8025C5B4 */ virtual ~dSvBit_childSwPerfectionHIO_c() {} private: /* 0x04 */ u8 field_0x4; - /* 0x05 */ bool field_0x5[0x80]; - /* 0x85 */ bool field_0x85[0x80]; + /* 0x05 */ u8 field_0x5[0x80]; + /* 0x85 */ u8 field_0x85[0x80]; }; class dSvBit_childSwOneZoneHIO_c { @@ -98,7 +101,7 @@ public: /* 8025BD10 */ dSvBit_childSwOneZoneHIO_c(); /* 8025BD44 */ void init(); - /* 8025C4DC */ virtual ~dSvBit_childSwOneZoneHIO_c(); + /* 8025C4DC */ virtual ~dSvBit_childSwOneZoneHIO_c() {} private: /* 0x04 */ u8 field_0x4; @@ -111,17 +114,23 @@ public: /* 8025BC14 */ dSvBit_childSwDungeonHIO_c(); /* 8025BC48 */ void init(); - /* 8025C56C */ virtual ~dSvBit_childSwDungeonHIO_c(); + /* 8025C56C */ virtual ~dSvBit_childSwDungeonHIO_c() {} private: /* 0x04 */ u8 field_0x4; - /* 0x05 */ bool field_0x5[0x40]; - /* 0x45 */ bool field_0x45[0x40]; + /* 0x05 */ u8 field_0x5[0x40]; + /* 0x45 */ u8 field_0x45[0x40]; }; class dSvBit_childSwitchHIO_c { public: - /* 8025C970 */ virtual ~dSvBit_childSwitchHIO_c(); + /* 8025C970 */ virtual ~dSvBit_childSwitchHIO_c() {} + void init() { + field_0x8.init(); + field_0x110.init(); + field_0x198.init(); + field_0x1e0.init(); + } private: /* 0x004 */ u8 field_0x4; @@ -136,12 +145,12 @@ public: /* 8025BEA8 */ dSvBit_childItZoneHIO_c(); /* 8025BEDC */ void init(); - /* 8025C404 */ virtual ~dSvBit_childItZoneHIO_c(); + /* 8025C404 */ virtual ~dSvBit_childItZoneHIO_c() {} private: /* 0x04 */ u8 field_0x4; - /* 0x05 */ bool field_0x5[0x20]; - /* 0x25 */ bool field_0x25[0x20]; + /* 0x05 */ u8 field_0x5[0x20]; + /* 0x25 */ u8 field_0x25[0x20]; }; class dSvBit_childItPerfectionHIO_c { @@ -149,12 +158,12 @@ public: /* 8025BD70 */ dSvBit_childItPerfectionHIO_c(); /* 8025BDA4 */ void init(); - /* 8025C494 */ virtual ~dSvBit_childItPerfectionHIO_c(); + /* 8025C494 */ virtual ~dSvBit_childItPerfectionHIO_c() {} private: /* 0x04 */ u8 field_0x4; - /* 0x05 */ bool field_0x5[0x20]; - /* 0x25 */ bool field_0x25[0x20]; + /* 0x05 */ u8 field_0x5[0x20]; + /* 0x25 */ u8 field_0x25[0x20]; }; class dSvBit_childItOneZoneHIO_c { @@ -162,12 +171,12 @@ public: /* 8025BF08 */ dSvBit_childItOneZoneHIO_c(); /* 8025BF3C */ void init(); - /* 8025C3BC */ virtual ~dSvBit_childItOneZoneHIO_c(); + /* 8025C3BC */ virtual ~dSvBit_childItOneZoneHIO_c() {} private: /* 0x04 */ u8 field_0x4; - /* 0x05 */ bool field_0x5[0x10]; - /* 0x15 */ bool field_0x15[0x10]; + /* 0x05 */ u8 field_0x5[0x10]; + /* 0x15 */ u8 field_0x15[0x10]; }; class dSvBit_childItDungeonHIO_c { @@ -175,17 +184,23 @@ public: /* 8025BE0C */ dSvBit_childItDungeonHIO_c(); /* 8025BE40 */ void init(); - /* 8025C44C */ virtual ~dSvBit_childItDungeonHIO_c(); + /* 8025C44C */ virtual ~dSvBit_childItDungeonHIO_c() {} private: /* 0x04 */ u8 field_0x4; - /* 0x05 */ bool field_0x5[0x80]; - /* 0x85 */ bool field_0x85[0x80]; + /* 0x05 */ u8 field_0x5[0x80]; + /* 0x85 */ u8 field_0x85[0x80]; }; class dSvBit_childItemHIO_c { public: - /* 8025C8D4 */ virtual ~dSvBit_childItemHIO_c(); + /* 8025C8D4 */ virtual ~dSvBit_childItemHIO_c() {} + void init() { + mFullSave.init(); + mDungeonSave.init(); + mZoneSave.init(); + mOneZoneSave.init(); + } private: /* 0x004 */ u8 field_0x4; @@ -199,7 +214,7 @@ class dSvBit_HIO_c { public: /* 8025C1F8 */ void init(); - /* 8025C6FC */ virtual ~dSvBit_HIO_c(); + /* 8025C6FC */ virtual ~dSvBit_HIO_c() {} /* 0x004 */ s8 field_0x4; /* 0x008 */ dSvBit_childSwitchHIO_c mSwitch; @@ -208,8 +223,8 @@ public: /* 0x468 */ dSvBit_childDarknessHIO_c mDarkness; /* 0x47C */ dSvBit_childTransformHIO_c mTransform; /* 0x48C */ dSvBit_childOtherHIO_c mOther; - /* 0x49C */ bool mTransformFlag; - /* 0x49D */ bool field_0x49d; + /* 0x49C */ u8 mTransformFlag; + /* 0x49D */ u8 field_0x49d; }; STATIC_ASSERT(sizeof(dSvBit_HIO_c) == 0x4A0); diff --git a/include/d/shop/d_shop_item_ctrl.h b/include/d/shop/d_shop_item_ctrl.h index 5a486dc093..54b164a2f7 100644 --- a/include/d/shop/d_shop_item_ctrl.h +++ b/include/d/shop/d_shop_item_ctrl.h @@ -16,6 +16,7 @@ public: void setItemIndex(int i, u32 index) { mItemIndex[i] = index; } u32 getItemIndex(int i) { return mItemIndex[i]; } + void setMessageIndex(int i, u16 messageIndex) { mMessageIndex[i] = messageIndex; } u16 getMessageIndex(int i) { return mMessageIndex[i]; } private: diff --git a/include/d/shop/d_shop_system.h b/include/d/shop/d_shop_system.h index 048398c6ad..5401ee44a2 100644 --- a/include/d/shop/d_shop_system.h +++ b/include/d/shop/d_shop_system.h @@ -120,7 +120,7 @@ public: /* 8019A364 */ void setSoldOut(); /* 8019A4F4 */ void setSoldOutItemHide(); /* 8019A564 */ void deleteObject(); - /* 8019A5D0 */ void searchItemActor(); + /* 8019A5D0 */ int searchItemActor(); /* 8019AB00 */ int getFlowNodeNum(); /* 8019AB1C */ void setSellItemMax(u8); /* 8019AB24 */ bool checkShopOpen(); diff --git a/include/rel/d/a/tag/d_a_tag_shop_item/d_a_tag_shop_item.h b/include/rel/d/a/tag/d_a_tag_shop_item/d_a_tag_shop_item.h index 0b3799c009..261e528814 100644 --- a/include/rel/d/a/tag/d_a_tag_shop_item/d_a_tag_shop_item.h +++ b/include/rel/d/a/tag/d_a_tag_shop_item/d_a_tag_shop_item.h @@ -16,6 +16,7 @@ public: /* 80D61050 */ u8 getSwitchBit2(); /* 80D6105C */ void initialize(); /* 80D61168 */ virtual ~daTag_ShopItem_c(); + s32 getProcessID() { return field_0x56c; } /* 0x56C */ s32 field_0x56c; /* 0x570 */ s16 field_0x570; diff --git a/src/d/s/d_s_name.cpp b/src/d/s/d_s_name.cpp index 87cadcd654..dc42744c4f 100644 --- a/src/d/s/d_s_name.cpp +++ b/src/d/s/d_s_name.cpp @@ -8,10 +8,9 @@ #include "d/com/d_com_inf_game.h" #include "d/d_procname.h" #include "d/meter/d_meter2_info.h" -#include "dol2asm.h" #include "dolphin/types.h" #include "f_op/f_op_overlap_mng.h" -#include "f_op/f_op_scene.h" +#include "f_op/f_op_scene_mng.h" #include "f_pc/f_pc_manager.h" #include "global.h" #include "m_Do/m_Do_Reset.h" @@ -33,12 +32,7 @@ public: /* 0x5 */ u8 mFileSelWaitTime; }; -class dScnName_camera_c : public camera_process_class { -public: - dScnName_camera_c() { field_0x22f = 84; } - /* 80259294 */ virtual ~dScnName_camera_c() {} -}; - +// TODO: Remove when dFile_select_c virtual functions are properly defined in header class dFile_select_c { public: /* 8018366C */ dFile_select_c(JKRArchive*); @@ -67,6 +61,7 @@ private: /* 0x2375 */ u8 field_0x2375[0x237c - 0x2375]; }; +// TODO: Remove when dBrightCheck_c virtual functions are properly defined in header class dBrightCheck_c { public: /* 80192F10 */ dBrightCheck_c(JKRArchive*); @@ -80,129 +75,19 @@ public: /* 0x19 */ bool mEnd; }; -class dScnName_c : public scene_class { -public: - dScnName_c() {} - /* 802588A0 */ s32 create(); - /* 80258B2C */ void setView(); - /* 80258BC8 */ s32 execute(); - /* 80258C5C */ s32 draw(); - /* 80258CC8 */ ~dScnName_c(); - /* 80258DD0 */ void FileSelectOpen(); - /* 80258E34 */ void FileSelectMain(); - /* 80258E78 */ void FileSelectMainNormal(); - /* 80258F20 */ void FileSelectClose(); - /* 80258FD4 */ void brightCheckOpen(); - /* 80259008 */ void brightCheck(); - /* 802590F8 */ void changeGameScene(); - -private: - /* 0x1C4 */ request_of_phase_process_class field_0x1c4; - /* 0x1CC */ JKRExpHeap* mHeap; - /* 0x1D0 */ JKRExpHeap* field_0x1d0; - /* 0x1D4 */ dScnName_camera_c mCamera; - /* 0x414 */ dFile_select_c* dFs_c; - /* 0x418 */ dBrightCheck_c* mBrightCheck; - /* 0x41C */ u8 field_0x41c; - /* 0x41D */ u8 field_0x41d; - /* 0x41E */ u8 field_0x41e; - /* 0x41F */ u8 field_0x41f; - /* 0x420 */ u8 field_0x420; -}; // // Forward References: // -extern "C" void __ct__9dSn_HIO_cFv(); -extern "C" static void phase_1__FPc(); -extern "C" static void phase_2__FPc(); -extern "C" static void resLoad__FP30request_of_phase_process_classPc(); -extern "C" void create__10dScnName_cFv(); -extern "C" void setView__10dScnName_cFv(); -extern "C" void execute__10dScnName_cFv(); -extern "C" void draw__10dScnName_cFv(); -extern "C" void __dt__10dScnName_cFv(); -extern "C" void FileSelectOpen__10dScnName_cFv(); -extern "C" void FileSelectMain__10dScnName_cFv(); -extern "C" void FileSelectMainNormal__10dScnName_cFv(); -extern "C" void FileSelectClose__10dScnName_cFv(); -extern "C" void brightCheckOpen__10dScnName_cFv(); -extern "C" void brightCheck__10dScnName_cFv(); -extern "C" void changeGameScene__10dScnName_cFv(); -extern "C" static void dScnName_Draw__FP10dScnName_c(); -extern "C" static void dScnName_Execute__FP10dScnName_c(); -extern "C" static void dScnName_IsDelete__FP10dScnName_c(); -extern "C" static void dScnName_Delete__FP10dScnName_c(); -extern "C" static void dScnName_Create__FP11scene_class(); -extern "C" void __dt__17dScnName_camera_cFv(); -extern "C" void __dt__9dSn_HIO_cFv(); -extern "C" void __sinit_d_s_name_cpp(); -extern "C" extern char const* const d_s_d_s_name__stringBase0; - -// -// External References: -// - -extern "C" void mDoMtx_lookAt__FPA4_fPC3VecPC3Vecs(); -extern "C" void mDoMtx_concatProjView__FPA4_CfPA4_CfPA4_f(); -extern "C" void mDoExt_getGameHeap__Fv(); -extern "C" void mDoExt_setCurrentHeap__FP7JKRHeap(); -extern "C" void fopOvlpM_IsPeek__Fv(); -extern "C" void fopScnM_ChangeReq__FP11scene_classssUs(); -extern "C" void dComIfG_resetToOpening__FP11scene_class(); -extern "C" void dComIfGp_setNextStage__FPCcsScSc(); -extern "C" void dComIfGs_gameStart__Fv(); -extern "C" void dComLbG_PhaseHandler__FP30request_of_phase_process_classPPFPv_iPv(); -extern "C" void offFirstBit__21dSv_player_get_item_cFUc(); -extern "C" void setRes__14dRes_control_cFPCcP11dRes_info_ciPCcUcP7JKRHeap(); -extern "C" void syncRes__14dRes_control_cFPCcP11dRes_info_ci(); -extern "C" void deleteRes__14dRes_control_cFPCcP11dRes_info_ci(); -extern "C" void getResInfo__14dRes_control_cFPCcP11dRes_info_ci(); -extern "C" void cleanup__13dPa_control_cFv(); -extern "C" void setViewPort__14dDlst_window_cFffffff(); -extern "C" void setScissor__14dDlst_window_cFffff(); -extern "C" void Run__12dVibration_cFv(); -extern "C" void Init__12dVibration_cFv(); -extern "C" void __ct__14dFile_select_cFP10JKRArchive(); -extern "C" void _create__14dFile_select_cFv(); -extern "C" void _move__14dFile_select_cFv(); -extern "C" void _draw__14dFile_select_cFv(); -extern "C" void __ct__14dBrightCheck_cFP10JKRArchive(); -extern "C" void _move__14dBrightCheck_cFv(); -extern "C" void _draw__14dBrightCheck_cFv(); -extern "C" void dKy_clear_game_init__Fv(); -extern "C" void dKy_setLight_init__Fv(); -extern "C" void changeWater__13dMeter2Info_cFUc(); -extern "C" void bgmStart__8Z2SeqMgrFUlUll(); -extern "C" void bgmStop__8Z2SeqMgrFUll(); -extern "C" void bgmStreamPrepare__8Z2SeqMgrFUl(); -extern "C" void bgmStreamPlay__8Z2SeqMgrFv(); -extern "C" void becomeCurrentHeap__7JKRHeapFv(); -extern "C" void destroy__7JKRHeapFv(); -extern "C" void* __nw__FUl(); -extern "C" void __dl__FPv(); -extern "C" void create__10JKRExpHeapFUlP7JKRHeapb(); -extern "C" void __register_global_object(); -extern "C" void __ptmf_scall(); -extern "C" void _savegpr_28(); -extern "C" void _restgpr_28(); -// extern "C" extern void* g_fopScn_Method[5 + 1 /* padding */]; -// extern "C" extern void* g_fpcNd_Method[5 + 1 /* padding */]; -extern "C" void* mRenderModeObj__15mDoMch_render_c[1 + 1 /* padding */]; -extern "C" u8 mFader__13mDoGph_gInf_c[4]; -extern "C" u8 mResetData__6mDoRst[4 + 4 /* padding */]; -extern "C" u8 sManager__10JFWDisplay[4]; -extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; - // // Declarations: // /* ############################################################################################## */ /* 803C3040-803C304C 020160 000C+00 1/1 0/0 0/0 .data cNullVec__6Z2Calc */ -SECTION_DATA static u8 cNullVec__6Z2Calc[12] = { +static u8 cNullVec__6Z2Calc[12] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }; @@ -211,46 +96,11 @@ static dSn_HIO_c g_snHIO; /* 803C3094-803C30DC 0201B4 0048+00 1/2 0/0 0/0 .data MainProc */ typedef void (dScnName_c::*mainProcFunc)(void); -SECTION_DATA static mainProcFunc MainProc[6] = { +static mainProcFunc MainProc[6] = { &dScnName_c::FileSelectOpen, &dScnName_c::FileSelectMain, &dScnName_c::FileSelectClose, &dScnName_c::brightCheckOpen, &dScnName_c::brightCheck, &dScnName_c::changeGameScene, }; -/* 803C30DC-803C30F0 -00001 0014+00 2/0 0/0 0/0 .data l_dScnName_Method */ -SECTION_DATA static void* l_dScnName_Method[5] = { - (void*)dScnName_Create__FP11scene_class, (void*)dScnName_Delete__FP10dScnName_c, - (void*)dScnName_Execute__FP10dScnName_c, (void*)dScnName_IsDelete__FP10dScnName_c, - (void*)dScnName_Draw__FP10dScnName_c, -}; - -/* 803C30F0-803C3118 -00001 0028+00 0/0 0/0 1/0 .data g_profile_NAME_SCENE */ -SECTION_DATA extern void* g_profile_NAME_SCENE[10] = { - (void*)NULL, - (void*)0x0001FFFD, - (void*)0x000D0000, - (void*)&g_fpcNd_Method, - (void*)0x00000424, - (void*)NULL, - (void*)NULL, - (void*)&g_fopScn_Method, - (void*)&l_dScnName_Method, - (void*)NULL, -}; - -/* 803C3118-803C3140 -00001 0028+00 0/0 0/0 1/0 .data g_profile_NAMEEX_SCENE */ -SECTION_DATA extern void* g_profile_NAMEEX_SCENE[10] = { - (void*)NULL, - (void*)0x0001FFFD, - (void*)0x000E0000, - (void*)&g_fpcNd_Method, - (void*)0x00000424, - (void*)NULL, - (void*)NULL, - (void*)&g_fopScn_Method, - (void*)&l_dScnName_Method, - (void*)NULL, -}; - /* 8025878C-802587A4 2530CC 0018+00 1/1 0/0 0/0 .text __ct__9dSn_HIO_cFv */ dSn_HIO_c::dSn_HIO_c() { mFileSelWaitTime = 15; @@ -286,47 +136,12 @@ static s32 resLoad(request_of_phase_process_class* i_phase, char* param_1) { } /* ############################################################################################## */ -/* 8039A2A8-8039A2A8 026908 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_8039A2B5 = "fileSel"; -#pragma pop -/* 80454EF8-80454EFC 0034F8 0004+00 2/2 0/0 0/0 .sdata2 @3923 */ -SECTION_SDATA2 static u8 lit_3923[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; - -/* 80454EFC-80454F00 0034FC 0004+00 1/1 0/0 0/0 .sdata2 @3924 */ -SECTION_SDATA2 static f32 lit_3924 = 1.0f; - -/* 80454F00-80454F04 003500 0004+00 1/1 0/0 0/0 .sdata2 @3925 */ -SECTION_SDATA2 static f32 lit_3925 = 100000.0f; - -/* 80454F04-80454F08 003504 0004+00 1/1 0/0 0/0 .sdata2 @3926 */ -SECTION_SDATA2 static f32 lit_3926 = 45.0f; - -/* 80454F08-80454F0C 003508 0004+00 1/1 0/0 0/0 .sdata2 @3927 */ -SECTION_SDATA2 static f32 lit_3927 = 19.0f / 14.0f; - -/* 80454F0C-80454F10 00350C 0004+00 1/1 0/0 0/0 .sdata2 @3928 */ -SECTION_SDATA2 static f32 lit_3928 = -1000.0f; - -/* 80454F10-80454F18 003510 0008+00 1/1 0/0 0/0 .sdata2 @3930 */ -SECTION_SDATA2 static f64 lit_3930 = 4503599627370496.0 /* cast u32 to float */; - -/* 802588A0-80258B2C 2531E0 028C+00 1/1 0/0 0/0 .text create__10dScnName_cFv */ -#ifdef NONMATCHING s32 dScnName_c::create() { int phase_state = resLoad(&field_0x1c4, "fileSel"); if (phase_state == cPhs_COMPLEATE_e) { mHeap = JKRExpHeap::create(0x180000, mDoExt_getGameHeap(), false); - JKRExpHeap* heap = mHeap; - mDoExt_setCurrentHeap(heap); - field_0x1d0 = heap; + field_0x1d0 = (JKRExpHeap*)mDoExt_setCurrentHeap(mHeap); dRes_info_c* res = dComIfG_getObjectResInfo("fileSel"); dFs_c = new dFile_select_c(res->getArchive()); @@ -346,28 +161,20 @@ s32 dScnName_c::create() { dComIfGp_setWindowNum(1); dComIfGp_setWindow(0, 0.0f, 0.0f, mDoMch_render_c::getFbWidth(), mDoMch_render_c::getEfbHeight(), 0.0f, 1.0f, 0, 2); - dComIfGp_setCamera(0, &mCamera); - // dDlst_window_c* window = &g_dComIfG_gameInfo.play.mWindow[0]; - - /* fopCamM_SetNear(&mCamera, 1.0f); - fopCamM_SetFar(&mCamera, 100000.0f); - fopCamM_SetFovy(&mCamera, 45.0f); - fopCamM_SetAspect(&mCamera, mDoGph_gInf_c::getWidthF() / mDoGph_gInf_c::getHeightF()); - fopCamM_SetEye(&mCamera, 0.0f, 0.0f, -1000.0f); - fopCamM_SetCenter(&mCamera, 0.0f, 0.0f, 0.0f); - fopCamM_SetBank(&mCamera, 0); */ + dDlst_window_c* window = dComIfGp_getWindow(0); + dComIfGp_setCamera(0, (camera_class*)&mCamera); mCamera.mNear = 1.0f; mCamera.mFar = 100000.0f; mCamera.mFovy = 45.0f; mCamera.mAspect = mDoGph_gInf_c::getWidthF() / mDoGph_gInf_c::getHeightF(); - mCamera.field_0xd8.mEye.set(0.0f, 0.0f, -1000.0f); - mCamera.field_0xd8.mCenter.set(0.0f, 0.0f, 0.0f); + mCamera.mLookat.mEye.set(0.0f, 0.0f, -1000.0f); + mCamera.mLookat.mCenter.set(0.0f, 0.0f, 0.0f); mCamera.mBank = 0; dComIfGp_setPlayer(0, NULL); - dComIfGd_setWindow(g_dComIfG_gameInfo.play.mWindow); - dComIfGd_setViewport(g_dComIfG_gameInfo.play.mWindow->getViewPort()); + dComIfGd_setWindow(window); + dComIfGd_setViewport(window->getViewPort()); dComIfGd_setView(&mCamera); mDoGph_gInf_c::offAutoForcus(); setView(); @@ -381,16 +188,6 @@ s32 dScnName_c::create() { } return phase_state; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm s32 dScnName_c::create() { - nofralloc -#include "asm/d/s/d_s_name/create__10dScnName_cFv.s" -} -#pragma pop -#endif /* 80258B2C-80258BC8 25346C 009C+00 1/1 0/0 0/0 .text setView__10dScnName_cFv */ void dScnName_c::setView() { @@ -400,10 +197,9 @@ void dScnName_c::setView() { mCamera.mBank); PSMTXInverse(mCamera.mViewMtx, mCamera.mInvViewMtx); PSMTXCopy(mCamera.mViewMtx, mCamera.mViewMtxNoTrans); - f32 tmp_0 = FLOAT_LABEL(lit_3923); - mCamera.mViewMtxNoTrans[0][3] = tmp_0; - mCamera.mViewMtxNoTrans[1][3] = tmp_0; - mCamera.mViewMtxNoTrans[2][3] = tmp_0; + mCamera.mViewMtxNoTrans[0][3] = 0.0f; + mCamera.mViewMtxNoTrans[1][3] = 0.0f; + mCamera.mViewMtxNoTrans[2][3] = 0.0f; PSMTXCopy(mCamera.mViewMtx, j3dSys.mViewMtx); mDoMtx_concatProjView(mCamera.mProjMtx, mCamera.mViewMtx, mCamera.mProjViewMtx); } @@ -532,21 +328,12 @@ void dScnName_c::brightCheck() { } /* ############################################################################################## */ -/* 8039A2A8-8039A2A8 026908 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_8039A2BD = "F_SP108"; -/* @stringBase0 padding */ -SECTION_DEAD static char const* const pad_8039A2C5 = "\0\0"; -#pragma pop /* 802590F8-802591C0 253A38 00C8+00 1/0 0/0 0/0 .text changeGameScene__10dScnName_cFv */ -// weird comparison in changeReq -#ifdef NONMATCHING void dScnName_c::changeGameScene() { if (!mDoRst::isReset() && !fopOvlpM_IsPeek()) { dComIfGs_gameStart(); - fopScnM_ChangeReq(this, field_0x41f == 0 ? PROC_PLAY_SCENE : 10, 0, 5); + fopScnM_ChangeReq(this, field_0x41f == 0 ? PROC_PLAY_SCENE : PROC_PLAY_SCENE, 0, 5); dComIfGp_offEnableNextStage(); if (dFs_c->isDataNew(dFs_c->getSelectNum())) { @@ -557,16 +344,6 @@ void dScnName_c::changeGameScene() { dComIfGs_setRestartRoomParam(0); } } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dScnName_c::changeGameScene() { - nofralloc -#include "asm/d/s/d_s_name/changeGameScene__10dScnName_cFv.s" -} -#pragma pop -#endif /* 802591C0-802591E0 253B00 0020+00 1/0 0/0 0/0 .text dScnName_Draw__FP10dScnName_c */ static void dScnName_Draw(dScnName_c* scn) { @@ -598,3 +375,41 @@ static void dScnName_Create(scene_class* scn) { } /* 8039A2A8-8039A2A8 026908 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ + + +/* 803C30DC-803C30F0 -00001 0014+00 2/0 0/0 0/0 .data l_dScnName_Method */ +static leafdraw_method_class l_dScnName_Method = { + (process_method_func)dScnName_Create, (process_method_func)dScnName_Delete, + (process_method_func)dScnName_Execute, (process_method_func)dScnName_IsDelete, + (process_method_func)dScnName_Draw, +}; + +/* 803C30F0-803C3118 -00001 0028+00 0/0 0/0 1/0 .data g_profile_NAME_SCENE */ +extern scene_process_profile_definition g_profile_NAME_SCENE = { + 0, + 1, + -3, + PROC_NAME_SCENE, + &g_fpcNd_Method.mBase, + sizeof(dScnName_c), + 0, + 0, + &g_fopScn_Method.mBase, + (process_method_class*)&l_dScnName_Method, + NULL, +}; + +/* 803C3118-803C3140 -00001 0028+00 0/0 0/0 1/0 .data g_profile_NAMEEX_SCENE */ +extern scene_process_profile_definition g_profile_NAMEEX_SCENE = { + 0, + 1, + -3, + PROC_NAMEEX_SCENE, + &g_fpcNd_Method.mBase, + sizeof(dScnName_c), + 0, + 0, + &g_fopScn_Method.mBase, + (process_method_class*)&l_dScnName_Method, + NULL, +}; diff --git a/src/d/save/d_save_HIO.cpp b/src/d/save/d_save_HIO.cpp index f7092ae539..14060b8b94 100644 --- a/src/d/save/d_save_HIO.cpp +++ b/src/d/save/d_save_HIO.cpp @@ -5,651 +5,229 @@ #include "d/save/d_save_HIO.h" #include "d/com/d_com_inf_game.h" -#include "dol2asm.h" #include "dolphin/types.h" // // Forward References: // -extern "C" void __ct__29dSvBit_childSwPerfectionHIO_cFv(); -extern "C" void init__29dSvBit_childSwPerfectionHIO_cFv(); -extern "C" void __ct__26dSvBit_childSwDungeonHIO_cFv(); -extern "C" void init__26dSvBit_childSwDungeonHIO_cFv(); -extern "C" void __ct__23dSvBit_childSwZoneHIO_cFv(); -extern "C" void init__23dSvBit_childSwZoneHIO_cFv(); -extern "C" void __ct__26dSvBit_childSwOneZoneHIO_cFv(); -extern "C" void init__26dSvBit_childSwOneZoneHIO_cFv(); -extern "C" void __ct__29dSvBit_childItPerfectionHIO_cFv(); -extern "C" void init__29dSvBit_childItPerfectionHIO_cFv(); -extern "C" void __ct__26dSvBit_childItDungeonHIO_cFv(); -extern "C" void init__26dSvBit_childItDungeonHIO_cFv(); -extern "C" void __ct__23dSvBit_childItZoneHIO_cFv(); -extern "C" void init__23dSvBit_childItZoneHIO_cFv(); -extern "C" void __ct__26dSvBit_childItOneZoneHIO_cFv(); -extern "C" void init__26dSvBit_childItOneZoneHIO_cFv(); -extern "C" void __ct__29dSvBit_childTbPerfectionHIO_cFv(); -extern "C" void init__29dSvBit_childTbPerfectionHIO_cFv(); -extern "C" void __ct__25dSvBit_childDarknessHIO_cFv(); -extern "C" void init__25dSvBit_childDarknessHIO_cFv(); -extern "C" void __ct__26dSvBit_childTransformHIO_cFv(); -extern "C" void init__26dSvBit_childTransformHIO_cFv(); -extern "C" void __ct__22dSvBit_childOtherHIO_cFv(); -extern "C" void init__22dSvBit_childOtherHIO_cFv(); -extern "C" void init__12dSvBit_HIO_cFv(); -extern "C" void __dt__22dSvBit_childOtherHIO_cFv(); -extern "C" void __dt__26dSvBit_childTransformHIO_cFv(); -extern "C" void __dt__25dSvBit_childDarknessHIO_cFv(); -extern "C" void __dt__29dSvBit_childTbPerfectionHIO_cFv(); -extern "C" void __dt__26dSvBit_childItOneZoneHIO_cFv(); -extern "C" void __dt__23dSvBit_childItZoneHIO_cFv(); -extern "C" void __dt__26dSvBit_childItDungeonHIO_cFv(); -extern "C" void __dt__29dSvBit_childItPerfectionHIO_cFv(); -extern "C" void __dt__26dSvBit_childSwOneZoneHIO_cFv(); -extern "C" void __dt__23dSvBit_childSwZoneHIO_cFv(); -extern "C" void __dt__26dSvBit_childSwDungeonHIO_cFv(); -extern "C" void __dt__29dSvBit_childSwPerfectionHIO_cFv(); -extern "C" void __sinit_d_save_HIO_cpp(); -extern "C" void __dt__12dSvBit_HIO_cFv(); -extern "C" void __dt__25dSvBit_childTreasureHIO_cFv(); -extern "C" void __dt__21dSvBit_childItemHIO_cFv(); -extern "C" void __dt__23dSvBit_childSwitchHIO_cFv(); - -// -// External References: -// - -extern "C" void isDarkClearLV__21dSv_player_status_b_cCFi(); -extern "C" void isTransformLV__21dSv_player_status_b_cCFi(); -extern "C" void getLightDropNum__16dSv_light_drop_cCFUc(); -extern "C" void isLightDropGetFlag__16dSv_light_drop_cCFUc(); -extern "C" void isTbox__12dSv_memBit_cCFi(); -extern "C" void isSwitch__12dSv_memBit_cCFi(); -extern "C" void isItem__12dSv_memBit_cCFi(); -extern "C" void isEventBit__11dSv_event_cCFUs(); -extern "C" void isSwitch__12dSv_danBit_cCFi(); -extern "C" void isItem__12dSv_danBit_cCFi(); -extern "C" void __dl__FPv(); -extern "C" void __register_global_object(); -extern "C" void _savegpr_29(); -extern "C" void _restgpr_29(); - // // Declarations: // -/* ############################################################################################## */ -/* 803C3300-803C330C 020420 000C+00 3/3 0/0 0/0 .data __vt__22dSvBit_childOtherHIO_c */ -SECTION_DATA extern void* __vt__22dSvBit_childOtherHIO_c[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__22dSvBit_childOtherHIO_cFv, -}; - -/* 803C330C-803C3318 02042C 000C+00 3/3 0/0 0/0 .data __vt__26dSvBit_childTransformHIO_c - */ -SECTION_DATA extern void* __vt__26dSvBit_childTransformHIO_c[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__26dSvBit_childTransformHIO_cFv, -}; - -/* 803C3318-803C3324 020438 000C+00 3/3 0/0 0/0 .data __vt__25dSvBit_childDarknessHIO_c - */ -SECTION_DATA extern void* __vt__25dSvBit_childDarknessHIO_c[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__25dSvBit_childDarknessHIO_cFv, -}; - -/* 803C3324-803C3330 020444 000C+00 4/4 0/0 0/0 .data __vt__29dSvBit_childTbPerfectionHIO_c */ -SECTION_DATA extern void* __vt__29dSvBit_childTbPerfectionHIO_c[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__29dSvBit_childTbPerfectionHIO_cFv, -}; - -/* 803C3330-803C333C 020450 000C+00 4/4 0/0 0/0 .data __vt__26dSvBit_childItOneZoneHIO_c - */ -SECTION_DATA extern void* __vt__26dSvBit_childItOneZoneHIO_c[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__26dSvBit_childItOneZoneHIO_cFv, -}; - -/* 803C333C-803C3348 02045C 000C+00 4/4 0/0 0/0 .data __vt__23dSvBit_childItZoneHIO_c */ -SECTION_DATA extern void* __vt__23dSvBit_childItZoneHIO_c[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__23dSvBit_childItZoneHIO_cFv, -}; - -/* 803C3348-803C3354 020468 000C+00 4/4 0/0 0/0 .data __vt__26dSvBit_childItDungeonHIO_c - */ -SECTION_DATA extern void* __vt__26dSvBit_childItDungeonHIO_c[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__26dSvBit_childItDungeonHIO_cFv, -}; - -/* 803C3354-803C3360 020474 000C+00 4/4 0/0 0/0 .data __vt__29dSvBit_childItPerfectionHIO_c */ -SECTION_DATA extern void* __vt__29dSvBit_childItPerfectionHIO_c[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__29dSvBit_childItPerfectionHIO_cFv, -}; - -/* 803C3360-803C336C 020480 000C+00 4/4 0/0 0/0 .data __vt__26dSvBit_childSwOneZoneHIO_c - */ -SECTION_DATA extern void* __vt__26dSvBit_childSwOneZoneHIO_c[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__26dSvBit_childSwOneZoneHIO_cFv, -}; - -/* 803C336C-803C3378 02048C 000C+00 4/4 0/0 0/0 .data __vt__23dSvBit_childSwZoneHIO_c */ -SECTION_DATA extern void* __vt__23dSvBit_childSwZoneHIO_c[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__23dSvBit_childSwZoneHIO_cFv, -}; - -/* 803C3378-803C3384 020498 000C+00 4/4 0/0 0/0 .data __vt__26dSvBit_childSwDungeonHIO_c - */ -SECTION_DATA extern void* __vt__26dSvBit_childSwDungeonHIO_c[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__26dSvBit_childSwDungeonHIO_cFv, -}; - -/* 803C3384-803C3390 0204A4 000C+00 4/4 0/0 0/0 .data __vt__29dSvBit_childSwPerfectionHIO_c */ -SECTION_DATA extern void* __vt__29dSvBit_childSwPerfectionHIO_c[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__29dSvBit_childSwPerfectionHIO_cFv, -}; - /* 8025BB78-8025BBAC 2564B8 0034+00 1/1 0/0 0/0 .text __ct__29dSvBit_childSwPerfectionHIO_cFv */ dSvBit_childSwPerfectionHIO_c::dSvBit_childSwPerfectionHIO_c() { for (int i = 0; i < 0x80; i++) { - field_0x5[i] = false; - field_0x85[i] = false; + field_0x5[i] = 0; + field_0x85[i] = 0; } } /* 8025BBAC-8025BC14 2564EC 0068+00 1/1 0/0 0/0 .text init__29dSvBit_childSwPerfectionHIO_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dSvBit_childSwPerfectionHIO_c::init() { - nofralloc -#include "asm/d/save/d_save_HIO/init__29dSvBit_childSwPerfectionHIO_cFv.s" +void dSvBit_childSwPerfectionHIO_c::init() { + for (int i = 0; i < 0x80; i++) { + field_0x5[i] = dComIfGs_isSaveSwitch(i); + field_0x85[i] = field_0x5[i]; + } } -#pragma pop /* 8025BC14-8025BC48 256554 0034+00 1/1 0/0 0/0 .text __ct__26dSvBit_childSwDungeonHIO_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm dSvBit_childSwDungeonHIO_c::dSvBit_childSwDungeonHIO_c() { - nofralloc -#include "asm/d/save/d_save_HIO/__ct__26dSvBit_childSwDungeonHIO_cFv.s" +dSvBit_childSwDungeonHIO_c::dSvBit_childSwDungeonHIO_c() { + for (int i = 0; i < 0x40; i++) { + field_0x5[i] = 0; + field_0x45[i] = 0; + } } -#pragma pop /* 8025BC48-8025BCB0 256588 0068+00 1/1 0/0 0/0 .text init__26dSvBit_childSwDungeonHIO_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dSvBit_childSwDungeonHIO_c::init() { - nofralloc -#include "asm/d/save/d_save_HIO/init__26dSvBit_childSwDungeonHIO_cFv.s" +void dSvBit_childSwDungeonHIO_c::init() { + for (int i = 0; i < 0x40; i++) { + field_0x5[i] = dComIfGs_isSaveDunSwitch(i); + field_0x45[i] = field_0x5[i]; + } } -#pragma pop /* 8025BCB0-8025BCE4 2565F0 0034+00 1/1 0/0 0/0 .text __ct__23dSvBit_childSwZoneHIO_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm dSvBit_childSwZoneHIO_c::dSvBit_childSwZoneHIO_c() { - nofralloc -#include "asm/d/save/d_save_HIO/__ct__23dSvBit_childSwZoneHIO_cFv.s" +dSvBit_childSwZoneHIO_c::dSvBit_childSwZoneHIO_c() { + for (int i = 0; i < 0x20; i++) { + field_0x5[i] = 0; + field_0x25[i] = 0; + } } -#pragma pop /* 8025BCE4-8025BD10 256624 002C+00 1/1 0/0 0/0 .text init__23dSvBit_childSwZoneHIO_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dSvBit_childSwZoneHIO_c::init() { - nofralloc -#include "asm/d/save/d_save_HIO/init__23dSvBit_childSwZoneHIO_cFv.s" +void dSvBit_childSwZoneHIO_c::init() { + for (int i = 0; i < 0x20; i++) { + field_0x5[i] = 0; + field_0x25[i] = field_0x5[i]; + } } -#pragma pop /* 8025BD10-8025BD44 256650 0034+00 1/1 0/0 0/0 .text __ct__26dSvBit_childSwOneZoneHIO_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm dSvBit_childSwOneZoneHIO_c::dSvBit_childSwOneZoneHIO_c() { - nofralloc -#include "asm/d/save/d_save_HIO/__ct__26dSvBit_childSwOneZoneHIO_cFv.s" +dSvBit_childSwOneZoneHIO_c::dSvBit_childSwOneZoneHIO_c() { + for (int i = 0; i < 0x10; i++) { + field_0x5[i] = 0; + field_0x15[i] = 0; + } } -#pragma pop /* 8025BD44-8025BD70 256684 002C+00 1/1 0/0 0/0 .text init__26dSvBit_childSwOneZoneHIO_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dSvBit_childSwOneZoneHIO_c::init() { - nofralloc -#include "asm/d/save/d_save_HIO/init__26dSvBit_childSwOneZoneHIO_cFv.s" +void dSvBit_childSwOneZoneHIO_c::init() { + for (int i = 0; i < 0x10; i++) { + field_0x5[i] = 0; + field_0x15[i] = field_0x5[i]; + } } -#pragma pop /* 8025BD70-8025BDA4 2566B0 0034+00 1/1 0/0 0/0 .text __ct__29dSvBit_childItPerfectionHIO_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm dSvBit_childItPerfectionHIO_c::dSvBit_childItPerfectionHIO_c() { - nofralloc -#include "asm/d/save/d_save_HIO/__ct__29dSvBit_childItPerfectionHIO_cFv.s" +dSvBit_childItPerfectionHIO_c::dSvBit_childItPerfectionHIO_c() { + for (int i = 0; i < 0x20; i++) { + field_0x5[i] = 0; + field_0x25[i] = 0; + } } -#pragma pop /* 8025BDA4-8025BE0C 2566E4 0068+00 1/1 0/0 0/0 .text init__29dSvBit_childItPerfectionHIO_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dSvBit_childItPerfectionHIO_c::init() { - nofralloc -#include "asm/d/save/d_save_HIO/init__29dSvBit_childItPerfectionHIO_cFv.s" +void dSvBit_childItPerfectionHIO_c::init() { + for (int i = 0; i < 0x20; i++) { + field_0x5[i] = dComIfGs_isSaveItem(i); + field_0x25[i] = field_0x5[i]; + } } -#pragma pop /* 8025BE0C-8025BE40 25674C 0034+00 1/1 0/0 0/0 .text __ct__26dSvBit_childItDungeonHIO_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm dSvBit_childItDungeonHIO_c::dSvBit_childItDungeonHIO_c() { - nofralloc -#include "asm/d/save/d_save_HIO/__ct__26dSvBit_childItDungeonHIO_cFv.s" +dSvBit_childItDungeonHIO_c::dSvBit_childItDungeonHIO_c() { + for (int i = 0; i < 0x80; i++) { + field_0x5[i] = 0; + field_0x85[i] = 0; + } } -#pragma pop /* 8025BE40-8025BEA8 256780 0068+00 1/1 0/0 0/0 .text init__26dSvBit_childItDungeonHIO_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dSvBit_childItDungeonHIO_c::init() { - nofralloc -#include "asm/d/save/d_save_HIO/init__26dSvBit_childItDungeonHIO_cFv.s" +void dSvBit_childItDungeonHIO_c::init() { + for (int i = 0; i < 0x80; i++) { + field_0x5[i] = dComIfGs_isSaveDunItem(i); + field_0x85[i] = field_0x5[i]; + } } -#pragma pop /* 8025BEA8-8025BEDC 2567E8 0034+00 1/1 0/0 0/0 .text __ct__23dSvBit_childItZoneHIO_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm dSvBit_childItZoneHIO_c::dSvBit_childItZoneHIO_c() { - nofralloc -#include "asm/d/save/d_save_HIO/__ct__23dSvBit_childItZoneHIO_cFv.s" +dSvBit_childItZoneHIO_c::dSvBit_childItZoneHIO_c() { + for (int i = 0; i < 0x20; i++) { + field_0x5[i] = 0; + field_0x25[i] = 0; + } } -#pragma pop /* 8025BEDC-8025BF08 25681C 002C+00 1/1 0/0 0/0 .text init__23dSvBit_childItZoneHIO_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dSvBit_childItZoneHIO_c::init() { - nofralloc -#include "asm/d/save/d_save_HIO/init__23dSvBit_childItZoneHIO_cFv.s" +void dSvBit_childItZoneHIO_c::init() { + for (int i = 0; i < 0x20; i++) { + field_0x5[i] = 0; + field_0x25[i] = field_0x5[i]; + } } -#pragma pop /* 8025BF08-8025BF3C 256848 0034+00 1/1 0/0 0/0 .text __ct__26dSvBit_childItOneZoneHIO_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm dSvBit_childItOneZoneHIO_c::dSvBit_childItOneZoneHIO_c() { - nofralloc -#include "asm/d/save/d_save_HIO/__ct__26dSvBit_childItOneZoneHIO_cFv.s" +dSvBit_childItOneZoneHIO_c::dSvBit_childItOneZoneHIO_c() { + for (int i = 0; i < 0x10; i++) { + field_0x5[i] = 0; + field_0x15[i] = 0; + } } -#pragma pop /* 8025BF3C-8025BF68 25687C 002C+00 1/1 0/0 0/0 .text init__26dSvBit_childItOneZoneHIO_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dSvBit_childItOneZoneHIO_c::init() { - nofralloc -#include "asm/d/save/d_save_HIO/init__26dSvBit_childItOneZoneHIO_cFv.s" +void dSvBit_childItOneZoneHIO_c::init() { + for (int i = 0; i < 0x10; i++) { + field_0x5[i] = 0; + field_0x15[i] = field_0x5[i]; + } } -#pragma pop /* 8025BF68-8025BF9C 2568A8 0034+00 1/1 0/0 0/0 .text __ct__29dSvBit_childTbPerfectionHIO_cFv */ dSvBit_childTbPerfectionHIO_c::dSvBit_childTbPerfectionHIO_c() { for (int i = 0; i < 0x40; i++) { - field_0x5[i] = false; - field_0x45[i] = false; + field_0x5[i] = 0; + field_0x45[i] = 0; } } /* 8025BF9C-8025C004 2568DC 0068+00 1/1 0/0 0/0 .text init__29dSvBit_childTbPerfectionHIO_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dSvBit_childTbPerfectionHIO_c::init() { - nofralloc -#include "asm/d/save/d_save_HIO/init__29dSvBit_childTbPerfectionHIO_cFv.s" +void dSvBit_childTbPerfectionHIO_c::init() { + for (int i = 0; i < 0x40; i++) { + field_0x5[i] = dComIfGs_isTbox(i); + field_0x45[i] = field_0x5[i]; + } } -#pragma pop /* 8025C004-8025C038 256944 0034+00 1/1 0/0 0/0 .text __ct__25dSvBit_childDarknessHIO_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm dSvBit_childDarknessHIO_c::dSvBit_childDarknessHIO_c() { - nofralloc -#include "asm/d/save/d_save_HIO/__ct__25dSvBit_childDarknessHIO_cFv.s" +dSvBit_childDarknessHIO_c::dSvBit_childDarknessHIO_c() { + for (int i = 0; i < 6; i++) { + TW[i] = 0; + field_0xB[i] = 0; + } } -#pragma pop /* 8025C038-8025C0A0 256978 0068+00 1/1 0/0 0/0 .text init__25dSvBit_childDarknessHIO_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dSvBit_childDarknessHIO_c::init() { - nofralloc -#include "asm/d/save/d_save_HIO/init__25dSvBit_childDarknessHIO_cFv.s" +void dSvBit_childDarknessHIO_c::init() { + for (int i = 0; i < 6; i++) { + TW[i] = dComIfGs_isDarkClearLV(i); + field_0xB[i] = TW[i]; + } } -#pragma pop /* 8025C0A0-8025C0D4 2569E0 0034+00 1/1 0/0 0/0 .text __ct__26dSvBit_childTransformHIO_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm dSvBit_childTransformHIO_c::dSvBit_childTransformHIO_c() { - nofralloc -#include "asm/d/save/d_save_HIO/__ct__26dSvBit_childTransformHIO_cFv.s" +dSvBit_childTransformHIO_c::dSvBit_childTransformHIO_c() { + for (int i = 0; i < 4; i++) { + WF[i] = 0; + field_0x9[i] = 0; + } } -#pragma pop /* 8025C0D4-8025C13C 256A14 0068+00 1/1 0/0 0/0 .text init__26dSvBit_childTransformHIO_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dSvBit_childTransformHIO_c::init() { - nofralloc -#include "asm/d/save/d_save_HIO/init__26dSvBit_childTransformHIO_cFv.s" +void dSvBit_childTransformHIO_c::init() { + for (int i = 0; i < 4; i++) { + WF[i] = dComIfGs_isTransformLV(i); + field_0x9[i] = WF[i]; + } } -#pragma pop /* 8025C13C-8025C178 256A7C 003C+00 1/1 0/0 0/0 .text __ct__22dSvBit_childOtherHIO_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm dSvBit_childOtherHIO_c::dSvBit_childOtherHIO_c() { - nofralloc -#include "asm/d/save/d_save_HIO/__ct__22dSvBit_childOtherHIO_cFv.s" +dSvBit_childOtherHIO_c::dSvBit_childOtherHIO_c() { + mDropNum = 0; + field_0x6 = 0; + for (int i = 0; i < 4; i++) { + mLightVessel[i] = 0; + field_0xb[i] = 0; + } } -#pragma pop /* 8025C178-8025C1F8 256AB8 0080+00 1/1 0/0 0/0 .text init__22dSvBit_childOtherHIO_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dSvBit_childOtherHIO_c::init() { - nofralloc -#include "asm/d/save/d_save_HIO/init__22dSvBit_childOtherHIO_cFv.s" +void dSvBit_childOtherHIO_c::init() { + mDropNum = dComIfGs_getLightDropNum(dComIfGp_getStartStageDarkArea()); + field_0x6 = mDropNum; + for (int i = 0; i < 4; i++) { + mLightVessel[i] = dComIfGs_isLightDropGetFlag(i); + field_0xb[i] = mLightVessel[i]; + } } -#pragma pop /* 8025C1F8-8025C29C 256B38 00A4+00 0/0 1/1 0/0 .text init__12dSvBit_HIO_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dSvBit_HIO_c::init() { - nofralloc -#include "asm/d/save/d_save_HIO/init__12dSvBit_HIO_cFv.s" +void dSvBit_HIO_c::init() { + mSwitch.init(); + mItem.init(); + mTreasure.init(); + mDarkness.init(); + mTransform.init(); + mOther.init(); + mTransformFlag = field_0x49d = i_dComIfGs_isEventBit(dSv_event_flag_c::M_077); } -#pragma pop - -/* 8025C29C-8025C2E4 256BDC 0048+00 1/0 0/0 0/0 .text __dt__22dSvBit_childOtherHIO_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -// asm dSvBit_childOtherHIO_c::~dSvBit_childOtherHIO_c() { -extern "C" asm void __dt__22dSvBit_childOtherHIO_cFv() { - nofralloc -#include "asm/d/save/d_save_HIO/__dt__22dSvBit_childOtherHIO_cFv.s" -} -#pragma pop - -/* 8025C2E4-8025C32C 256C24 0048+00 1/0 0/0 0/0 .text __dt__26dSvBit_childTransformHIO_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -// asm dSvBit_childTransformHIO_c::~dSvBit_childTransformHIO_c() { -extern "C" asm void __dt__26dSvBit_childTransformHIO_cFv() { - nofralloc -#include "asm/d/save/d_save_HIO/__dt__26dSvBit_childTransformHIO_cFv.s" -} -#pragma pop - -/* 8025C32C-8025C374 256C6C 0048+00 1/0 0/0 0/0 .text __dt__25dSvBit_childDarknessHIO_cFv - */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -// asm dSvBit_childDarknessHIO_c::~dSvBit_childDarknessHIO_c() { -extern "C" asm void __dt__25dSvBit_childDarknessHIO_cFv() { - nofralloc -#include "asm/d/save/d_save_HIO/__dt__25dSvBit_childDarknessHIO_cFv.s" -} -#pragma pop - -/* 8025C374-8025C3BC 256CB4 0048+00 1/0 0/0 0/0 .text __dt__29dSvBit_childTbPerfectionHIO_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -// asm dSvBit_childTbPerfectionHIO_c::~dSvBit_childTbPerfectionHIO_c() { -extern "C" asm void __dt__29dSvBit_childTbPerfectionHIO_cFv() { - nofralloc -#include "asm/d/save/d_save_HIO/__dt__29dSvBit_childTbPerfectionHIO_cFv.s" -} -#pragma pop - -/* 8025C3BC-8025C404 256CFC 0048+00 1/0 0/0 0/0 .text __dt__26dSvBit_childItOneZoneHIO_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -// asm dSvBit_childItOneZoneHIO_c::~dSvBit_childItOneZoneHIO_c() { -extern "C" asm void __dt__26dSvBit_childItOneZoneHIO_cFv() { - nofralloc -#include "asm/d/save/d_save_HIO/__dt__26dSvBit_childItOneZoneHIO_cFv.s" -} -#pragma pop - -/* 8025C404-8025C44C 256D44 0048+00 1/0 0/0 0/0 .text __dt__23dSvBit_childItZoneHIO_cFv - */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -// asm dSvBit_childItZoneHIO_c::~dSvBit_childItZoneHIO_c() { -extern "C" asm void __dt__23dSvBit_childItZoneHIO_cFv() { - nofralloc -#include "asm/d/save/d_save_HIO/__dt__23dSvBit_childItZoneHIO_cFv.s" -} -#pragma pop - -/* 8025C44C-8025C494 256D8C 0048+00 1/0 0/0 0/0 .text __dt__26dSvBit_childItDungeonHIO_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -// asm dSvBit_childItDungeonHIO_c::~dSvBit_childItDungeonHIO_c() { -extern "C" asm void __dt__26dSvBit_childItDungeonHIO_cFv() { - nofralloc -#include "asm/d/save/d_save_HIO/__dt__26dSvBit_childItDungeonHIO_cFv.s" -} -#pragma pop - -/* 8025C494-8025C4DC 256DD4 0048+00 1/0 0/0 0/0 .text __dt__29dSvBit_childItPerfectionHIO_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -// asm dSvBit_childItPerfectionHIO_c::~dSvBit_childItPerfectionHIO_c() { -extern "C" asm void __dt__29dSvBit_childItPerfectionHIO_cFv() { - nofralloc -#include "asm/d/save/d_save_HIO/__dt__29dSvBit_childItPerfectionHIO_cFv.s" -} -#pragma pop - -/* 8025C4DC-8025C524 256E1C 0048+00 1/0 0/0 0/0 .text __dt__26dSvBit_childSwOneZoneHIO_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -// asm dSvBit_childSwOneZoneHIO_c::~dSvBit_childSwOneZoneHIO_c() { -extern "C" asm void __dt__26dSvBit_childSwOneZoneHIO_cFv() { - nofralloc -#include "asm/d/save/d_save_HIO/__dt__26dSvBit_childSwOneZoneHIO_cFv.s" -} -#pragma pop - -/* 8025C524-8025C56C 256E64 0048+00 1/0 0/0 0/0 .text __dt__23dSvBit_childSwZoneHIO_cFv - */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -// asm dSvBit_childSwZoneHIO_c::~dSvBit_childSwZoneHIO_c() { -extern "C" asm void __dt__23dSvBit_childSwZoneHIO_cFv() { - nofralloc -#include "asm/d/save/d_save_HIO/__dt__23dSvBit_childSwZoneHIO_cFv.s" -} -#pragma pop - -/* 8025C56C-8025C5B4 256EAC 0048+00 1/0 0/0 0/0 .text __dt__26dSvBit_childSwDungeonHIO_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -// asm dSvBit_childSwDungeonHIO_c::~dSvBit_childSwDungeonHIO_c() { -extern "C" asm void __dt__26dSvBit_childSwDungeonHIO_cFv() { - nofralloc -#include "asm/d/save/d_save_HIO/__dt__26dSvBit_childSwDungeonHIO_cFv.s" -} -#pragma pop - -/* 8025C5B4-8025C5FC 256EF4 0048+00 1/0 0/0 0/0 .text __dt__29dSvBit_childSwPerfectionHIO_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -// asm dSvBit_childSwPerfectionHIO_c::~dSvBit_childSwPerfectionHIO_c() { -extern "C" asm void __dt__29dSvBit_childSwPerfectionHIO_cFv() { - nofralloc -#include "asm/d/save/d_save_HIO/__dt__29dSvBit_childSwPerfectionHIO_cFv.s" -} -#pragma pop - -/* ############################################################################################## */ -/* 803C3390-803C339C 0204B0 000C+00 3/3 0/0 0/0 .data __vt__25dSvBit_childTreasureHIO_c - */ -SECTION_DATA extern void* __vt__25dSvBit_childTreasureHIO_c[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__25dSvBit_childTreasureHIO_cFv, -}; - -/* 803C339C-803C33A8 0204BC 000C+00 3/3 0/0 0/0 .data __vt__21dSvBit_childItemHIO_c */ -SECTION_DATA extern void* __vt__21dSvBit_childItemHIO_c[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__21dSvBit_childItemHIO_cFv, -}; - -/* 803C33A8-803C33B4 0204C8 000C+00 3/3 0/0 0/0 .data __vt__23dSvBit_childSwitchHIO_c */ -SECTION_DATA extern void* __vt__23dSvBit_childSwitchHIO_c[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__23dSvBit_childSwitchHIO_cFv, -}; - -/* 803C33B4-803C33C0 0204D4 000C+00 2/2 0/0 0/0 .data __vt__12dSvBit_HIO_c */ -SECTION_DATA extern void* __vt__12dSvBit_HIO_c[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__12dSvBit_HIO_cFv, -}; - -/* 804307E0-804307EC 05D500 000C+00 1/1 0/0 0/0 .bss @3659 */ -static u8 lit_3659[12]; /* 804307EC-80430C90 05D50C 04A0+04 1/1 2/2 0/0 .bss g_save_bit_HIO */ -extern u8 g_save_bit_HIO[1184 + 4 /* padding */]; -u8 g_save_bit_HIO[1184 + 4 /* padding */]; +dSvBit_HIO_c g_save_bit_HIO; -/* 8025C5FC-8025C6FC 256F3C 0100+00 0/0 1/0 0/0 .text __sinit_d_save_HIO_cpp */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void __sinit_d_save_HIO_cpp() { - nofralloc -#include "asm/d/save/d_save_HIO/__sinit_d_save_HIO_cpp.s" -} -#pragma pop - -#pragma push -#pragma force_active on -REGISTER_CTORS(0x8025C5FC, __sinit_d_save_HIO_cpp); -#pragma pop - -/* 8025C6FC-8025C874 25703C 0178+00 2/1 0/0 0/0 .text __dt__12dSvBit_HIO_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -// asm dSvBit_HIO_c::~dSvBit_HIO_c() { -extern "C" asm void __dt__12dSvBit_HIO_cFv() { - nofralloc -#include "asm/d/save/d_save_HIO/__dt__12dSvBit_HIO_cFv.s" -} -#pragma pop - -/* 8025C874-8025C8D4 2571B4 0060+00 1/0 0/0 0/0 .text __dt__25dSvBit_childTreasureHIO_cFv - */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -// asm dSvBit_childTreasureHIO_c::~dSvBit_childTreasureHIO_c() { -extern "C" asm void __dt__25dSvBit_childTreasureHIO_cFv() { - nofralloc -#include "asm/d/save/d_save_HIO/__dt__25dSvBit_childTreasureHIO_cFv.s" -} -#pragma pop - -/* 8025C8D4-8025C970 257214 009C+00 1/0 0/0 0/0 .text __dt__21dSvBit_childItemHIO_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -// asm dSvBit_childItemHIO_c::~dSvBit_childItemHIO_c() { -extern "C" asm void __dt__21dSvBit_childItemHIO_cFv() { - nofralloc -#include "asm/d/save/d_save_HIO/__dt__21dSvBit_childItemHIO_cFv.s" -} -#pragma pop - -/* 8025C970-8025CA0C 2572B0 009C+00 1/0 0/0 0/0 .text __dt__23dSvBit_childSwitchHIO_cFv - */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -// asm dSvBit_childSwitchHIO_c::~dSvBit_childSwitchHIO_c() { -extern "C" asm void __dt__23dSvBit_childSwitchHIO_cFv() { - nofralloc -#include "asm/d/save/d_save_HIO/__dt__23dSvBit_childSwitchHIO_cFv.s" -} -#pragma pop diff --git a/src/d/shop/d_shop_system.cpp b/src/d/shop/d_shop_system.cpp index 34b2ac1c67..c7dfe7e638 100644 --- a/src/d/shop/d_shop_system.cpp +++ b/src/d/shop/d_shop_system.cpp @@ -4,6 +4,7 @@ // #include "d/shop/d_shop_system.h" +#include "rel/d/a/tag/d_a_tag_shop_item/d_a_tag_shop_item.h" #include "SSystem/SComponent/c_math.h" #include "d/a/d_a_shop_item_static.h" #include "d/com/d_com_inf_game.h" @@ -208,7 +209,7 @@ SECTION_DATA static u8 cNullVec__6Z2Calc[12] = { }; /* 803BB8A4-803BB8C0 0189C4 001C+00 6/6 0/0 0/0 .data dShopSystem_itemActor */ -SECTION_DATA static fopAc_ac_c* dShopSystem_itemActor[7] = { +SECTION_DATA static daTag_ShopItem_c* dShopSystem_itemActor[7] = { NULL, NULL, NULL, NULL, NULL, NULL, NULL, }; @@ -249,10 +250,10 @@ static int dShopSystem_searchItemActor(void* param_0, void* param_1) { } else { if (param2 == 0) { data_80451060 = 1; - dShopSystem_itemActor[dShopSystem_item_count] = (fopAc_ac_c*) param_0; + dShopSystem_itemActor[dShopSystem_item_count] = (daTag_ShopItem_c*) param_0; dShopSystem_itemNo[dShopSystem_item_count] = item_no; } else if (dShopSystem_itemActor[param2 - 1] == NULL) { - dShopSystem_itemActor[param2 - 1] = (fopAc_ac_c*) param_0; + dShopSystem_itemActor[param2 - 1] = (daTag_ShopItem_c*) param_0; dShopSystem_itemNo[param2 - 1] = item_no; } dShopSystem_item_count++; @@ -298,25 +299,9 @@ static int dShopSystem_searchCameraActor(void* param_0, void* param_1) { } /* ############################################################################################## */ -/* 80453B00-80453B04 002100 0004+00 1/1 0/0 0/0 .sdata2 @4097 */ -SECTION_SDATA2 static f32 lit_4097 = 9.0f / 10.0f; - -/* 80453B04-80453B08 002104 0004+00 2/2 0/0 0/0 .sdata2 @4098 */ -SECTION_SDATA2 static f32 lit_4098 = 0.5f; - -/* 80453B08-80453B0C 002108 0004+00 5/5 0/0 0/0 .sdata2 @4099 */ -SECTION_SDATA2 static f32 lit_4099 = 1.0f; - -/* 80453B0C-80453B10 00210C 0004+00 1/1 0/0 0/0 .sdata2 @4100 */ -SECTION_SDATA2 static f32 lit_4100 = 1.0f / 10.0f; - -/* 80453B10-80453B14 002110 0004+00 1/1 0/0 0/0 .sdata2 @4101 */ -SECTION_SDATA2 static f32 lit_4101 = 7.0f / 10.0f; /* 80197338-801974E4 191C78 01AC+00 0/0 0/0 19/19 .text initShopSystem__13dShopSystem_cFv */ -// matches with literals -#ifdef NONMATCHING void dShopSystem_c::initShopSystem() { data_80451058 = 3; data_80451060 = 0; @@ -362,16 +347,6 @@ void dShopSystem_c::initShopSystem() { field_0xf78 = -1; mFlow.onNonStopJunpFlowFlag(); } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dShopSystem_c::initShopSystem() { - nofralloc -#include "asm/d/shop/d_shop_system/initShopSystem__13dShopSystem_cFv.s" -} -#pragma pop -#endif struct shop_item_data { Vec mItemPos[3]; @@ -396,16 +371,6 @@ static processFunc process[22] = { &dShopSystem_c::seq_decide_no, &dShopSystem_c::seq_finish, (processFunc)&dShopSystem_c::seq_event, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, }; #else /* 803BB8E4-803BB8F0 -00001 000C+00 0/1 0/0 0/0 .data @4056 */ @@ -900,21 +865,8 @@ int dShopSystem_c::checkController(u8 seq, dMsgFlow_c* p_flow) { } /* ############################################################################################## */ -/* 80453B14-80453B18 002114 0004+00 4/4 0/0 0/0 .sdata2 @4493 */ -SECTION_SDATA2 static f32 lit_4493 = -1.0f; - -/* 80453B18-80453B1C 002118 0004+00 8/8 0/0 0/0 .sdata2 @4494 */ -SECTION_SDATA2 static f32 lit_4494 = 0.25f; - -/* 80453B1C-80453B20 00211C 0004+00 9/9 0/0 0/0 .sdata2 @4495 */ -SECTION_SDATA2 static f32 lit_4495 = 20.0f; - -/* 80453B20-80453B24 002120 0004+00 9/9 0/0 0/0 .sdata2 @4496 */ -SECTION_SDATA2 static f32 lit_4496 = 5.0f; /* 80197808-80197DD0 192148 05C8+00 1/1 0/0 0/0 .text chooseItem3__13dShopSystem_cFUc */ -// matches with literals -#ifdef NONMATCHING int dShopSystem_c::chooseItem3(u8 seq) { u8 old_cursor = mLastCursorPos; if (checkLeftTrigger(mpStick) && seq != SEQ_SELECT_WAIT) { @@ -1051,20 +1003,8 @@ up: ret: return 0; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm int dShopSystem_c::chooseItem3(u8 param_0) { - nofralloc -#include "asm/d/shop/d_shop_system/chooseItem3__13dShopSystem_cFUc.s" -} -#pragma pop -#endif /* 80197DD0-80198250 192710 0480+00 1/1 0/0 0/0 .text chooseItem5__13dShopSystem_cFUc */ -// matches with literals -#ifdef NONMATCHING int dShopSystem_c::chooseItem5(u8 seq) { u8 old_cursor = mLastCursorPos; if (checkLeftTrigger(mpStick) && seq != SEQ_SELECT_WAIT) { @@ -1178,20 +1118,8 @@ down: ret: return 0; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm int dShopSystem_c::chooseItem5(u8 seq) { - nofralloc -#include "asm/d/shop/d_shop_system/chooseItem5__13dShopSystem_cFUc.s" -} -#pragma pop -#endif /* 80198250-80198444 192B90 01F4+00 1/1 0/0 0/0 .text chooseItem4__13dShopSystem_cFUc */ -// matches with literals. gotos can probably be removed -#ifdef NONMATCHING int dShopSystem_c::chooseItem4(u8 seq) { u8 old_cursor = mLastCursorPos; if (checkLeftTrigger(mpStick) && seq != SEQ_SELECT_WAIT && mCursorPos != 0) { @@ -1233,16 +1161,6 @@ right: ret: return 0; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm int dShopSystem_c::chooseItem4(u8 seq) { - nofralloc -#include "asm/d/shop/d_shop_system/chooseItem4__13dShopSystem_cFUc.s" -} -#pragma pop -#endif /* 80198444-80198488 192D84 0044+00 5/5 0/0 0/0 .text moveCursor__13dShopSystem_cFiUc */ int dShopSystem_c::moveCursor(int control_status, u8 param_1) { @@ -1258,8 +1176,6 @@ int dShopSystem_c::moveCursor(int control_status, u8 param_1) { } /* 80198488-80198708 192DC8 0280+00 1/1 0/0 0/0 .text moveCursor0__13dShopSystem_cFiUc */ -// matches with literals -#ifdef NONMATCHING int dShopSystem_c::moveCursor0(int control_status, u8 param_1) { offFlag(7); @@ -1313,23 +1229,16 @@ int dShopSystem_c::moveCursor0(int control_status, u8 param_1) { return 0; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm int dShopSystem_c::moveCursor0(int param_0, u8 param_1) { - nofralloc -#include "asm/d/shop/d_shop_system/moveCursor0__13dShopSystem_cFiUc.s" -} -#pragma pop -#endif /* 80198708-80198878 193048 0170+00 1/1 0/0 0/0 .text moveCursor1__13dShopSystem_cFiUc */ -#ifdef NONMATCHING int dShopSystem_c::moveCursor1(int control_status, u8 param_1) { offFlag(7); switch (control_status) { + case 3: + case 4: + case 5: + case 6: case 7: if (mCursorPos == 0) { return getFlowNodeNum() + 1; @@ -1362,16 +1271,6 @@ int dShopSystem_c::moveCursor1(int control_status, u8 param_1) { return 0; } } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm int dShopSystem_c::moveCursor1(int param_0, u8 param_1) { - nofralloc -#include "asm/d/shop/d_shop_system/moveCursor1__13dShopSystem_cFiUc.s" -} -#pragma pop -#endif /* 80198878-80198950 1931B8 00D8+00 0/0 0/0 9/9 .text drawCursor__13dShopSystem_cFv */ int dShopSystem_c::drawCursor() { @@ -1426,39 +1325,8 @@ int dShopSystem_c::itemRotate() { } /* ############################################################################################## */ -/* 80394C10-80394C10 021270 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80394C10 = "R_SP01"; -#pragma pop - -/* 80453B24-80453B28 002124 0004+00 1/1 0/0 0/0 .sdata2 @5000 */ -SECTION_SDATA2 static f32 lit_5000 = -25.0f; - -/* 80453B28-80453B2C 002128 0004+00 1/1 0/0 0/0 .sdata2 @5001 */ -SECTION_SDATA2 static f32 lit_5001 = 150.0f; - -/* 80453B2C-80453B30 00212C 0004+00 1/1 0/0 0/0 .sdata2 @5002 */ -SECTION_SDATA2 static f32 lit_5002 = -50.0f; - -/* 80453B30-80453B34 002130 0004+00 1/1 0/0 0/0 .sdata2 @5003 */ -SECTION_SDATA2 static f32 lit_5003 = 250.0f; - -/* 80453B34-80453B38 002134 0004+00 1/1 0/0 0/0 .sdata2 @5004 */ -SECTION_SDATA2 static f32 lit_5004 = 60.0f; - -/* 80453B38-80453B3C 002138 0004+00 1/1 0/0 0/0 .sdata2 @5005 */ -SECTION_SDATA2 static f32 lit_5005 = -130.0f; - -/* 80453B3C-80453B40 00213C 0004+00 2/2 0/0 0/0 .sdata2 @5006 */ -SECTION_SDATA2 static f32 lit_5006 = 215.0f; - -/* 80453B40-80453B44 002140 0004+00 1/1 0/0 0/0 .sdata2 @5007 */ -SECTION_SDATA2 static f32 lit_5007 = 15.0f; /* 80198A2C-801990B0 19336C 0684+00 0/0 0/0 9/9 .text itemZoom__13dShopSystem_cFP4cXyz */ -// matches with literals -#ifdef NONMATCHING int dShopSystem_c::itemZoom(cXyz* param_0) { cXyz local_1c; @@ -1519,11 +1387,11 @@ int dShopSystem_c::itemZoom(cXyz* param_0) { if (dShopSystem_itemNo[mCursorPos - 1] == ARROW_10 || dShopSystem_itemNo[mCursorPos - 1] == ARROW_20 || dShopSystem_itemNo[mCursorPos - 1] == ARROW_30) { - local_34.set(g_cursorHIO.mObjZoom.x, 5.0f + g_cursorHIO.mObjZoom.y + -50.0f, + local_34.set(g_cursorHIO.mObjZoom.x, -50.0f + g_cursorHIO.mObjZoom.y + 5.0f, (g_cursorHIO.mObjZoom.z + 250.0f) - 60.0f); } else { local_34.set(g_cursorHIO.mObjZoom.x, - 20.0f + g_cursorHIO.mObjZoom.y + -50.0f, + -50.0f + g_cursorHIO.mObjZoom.y + 20.0f, (g_cursorHIO.mObjZoom.z + 250.0f) - 60.0f); } } else if (mCursorPos == 7) { @@ -1589,16 +1457,6 @@ int dShopSystem_c::itemZoom(cXyz* param_0) { return 1; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm int dShopSystem_c::itemZoom(cXyz* param_0) { - nofralloc -#include "asm/d/shop/d_shop_system/itemZoom__13dShopSystem_cFP4cXyz.s" -} -#pragma pop -#endif /* 801990B0-801990B8 1939F0 0008+00 1/0 0/0 0/0 .text * seq_wait__13dShopSystem_cFP10fopAc_ac_cP10dMsgFlow_c */ @@ -1607,13 +1465,6 @@ int dShopSystem_c::seq_wait(fopAc_ac_c* param_0, dMsgFlow_c* param_1) { } /* ############################################################################################## */ -/* 80453B44-80453B48 002144 0004+00 3/3 0/0 0/0 .sdata2 @5084 */ -SECTION_SDATA2 static u8 lit_5084[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; inline void pos3Dto2D(Vec* a, Vec* b) { mDoLib_project(a, b); @@ -1621,8 +1472,6 @@ inline void pos3Dto2D(Vec* a, Vec* b) { /* 801990B8-8019936C 1939F8 02B4+00 1/0 0/0 0/0 .text * seq_start__13dShopSystem_cFP10fopAc_ac_cP10dMsgFlow_c */ -// matches with literals -#ifdef NONMATCHING int dShopSystem_c::seq_start(fopAc_ac_c* actor, dMsgFlow_c* p_flow) { if (field_0xf79 != 0) { dComIfGp_setDoStatusForce(0, 0); @@ -1690,16 +1539,6 @@ int dShopSystem_c::seq_start(fopAc_ac_c* actor, dMsgFlow_c* p_flow) { return 0; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm int dShopSystem_c::seq_start(fopAc_ac_c* param_0, dMsgFlow_c* param_1) { - nofralloc -#include "asm/d/shop/d_shop_system/seq_start__13dShopSystem_cFP10fopAc_ac_cP10dMsgFlow_c.s" -} -#pragma pop -#endif /* 8019936C-801993C4 193CAC 0058+00 1/0 0/0 0/0 .text * seq_select_wait__13dShopSystem_cFP10fopAc_ac_cP10dMsgFlow_c */ @@ -1714,8 +1553,6 @@ int dShopSystem_c::seq_select_wait(fopAc_ac_c*, dMsgFlow_c*) { /* 801993C4-8019959C 193D04 01D8+00 1/0 0/0 0/0 .text * seq_select_start__13dShopSystem_cFP10fopAc_ac_cP10dMsgFlow_c */ -// matches with literals -#ifdef NONMATCHING int dShopSystem_c::seq_select_start(fopAc_ac_c*, dMsgFlow_c*) { if (field_0xf60 < 0 && field_0xf76 == 0 && dShopSystem_item_count != -1) { if (dShopSystem_item_count != data_80451058) { @@ -1765,21 +1602,9 @@ int dShopSystem_c::seq_select_start(fopAc_ac_c*, dMsgFlow_c*) { return 0; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm int dShopSystem_c::seq_select_start(fopAc_ac_c* param_0, dMsgFlow_c* param_1) { - nofralloc -#include "asm/d/shop/d_shop_system/seq_select_start__13dShopSystem_cFP10fopAc_ac_cP10dMsgFlow_c.s" -} -#pragma pop -#endif /* 8019959C-80199A18 193EDC 047C+00 1/0 0/0 0/0 .text * seq_select__13dShopSystem_cFP10fopAc_ac_cP10dMsgFlow_c */ -// matches with literals -#ifdef NONMATCHING int dShopSystem_c::seq_select(fopAc_ac_c* actor, dMsgFlow_c* p_flow) { if (chkSpMode() && !beforeSelectSeqAction(p_flow, field_0xf5c)) { return 0; @@ -1883,32 +1708,11 @@ int dShopSystem_c::seq_select(fopAc_ac_c* actor, dMsgFlow_c* p_flow) { return 0; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm int dShopSystem_c::seq_select(fopAc_ac_c* param_0, dMsgFlow_c* param_1) { - nofralloc -#include "asm/d/shop/d_shop_system/seq_select__13dShopSystem_cFP10fopAc_ac_cP10dMsgFlow_c.s" -} -#pragma pop -#endif /* ############################################################################################## */ -/* 80453B48-80453B50 002148 0004+04 1/1 0/0 0/0 .sdata2 @5296 */ -SECTION_SDATA2 static f32 lit_5296[1 + 1 /* padding */] = { - 9.0f, - /* padding */ - 0.0f, -}; - -/* 80453B50-80453B58 002150 0008+00 1/1 0/0 0/0 .sdata2 @5298 */ -SECTION_SDATA2 static f64 lit_5298 = 4503601774854144.0 /* cast s32 to float */; /* 80199A18-80199BF8 194358 01E0+00 1/0 0/0 0/0 .text * seq_moving__13dShopSystem_cFP10fopAc_ac_cP10dMsgFlow_c */ -// matches with literals -#ifdef NONMATCHING int dShopSystem_c::seq_moving(fopAc_ac_c*, dMsgFlow_c*) { field_0xf68++; @@ -1952,16 +1756,6 @@ int dShopSystem_c::seq_moving(fopAc_ac_c*, dMsgFlow_c*) { return 0; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm int dShopSystem_c::seq_moving(fopAc_ac_c* param_0, dMsgFlow_c* param_1) { - nofralloc -#include "asm/d/shop/d_shop_system/seq_moving__13dShopSystem_cFP10fopAc_ac_cP10dMsgFlow_c.s" -} -#pragma pop -#endif /* 80199BF8-80199D14 194538 011C+00 1/0 0/0 0/0 .text * seq_decide__13dShopSystem_cFP10fopAc_ac_cP10dMsgFlow_c */ @@ -2019,8 +1813,6 @@ int dShopSystem_c::seq_choose(fopAc_ac_c* actor, dMsgFlow_c* p_flow) { /* 80199E28-80199FA4 194768 017C+00 1/0 0/0 0/0 .text * seq_decide_yes__13dShopSystem_cFP10fopAc_ac_cP10dMsgFlow_c */ -// matches with literals -#ifdef NONMATCHING int dShopSystem_c::seq_decide_yes(fopAc_ac_c* actor, dMsgFlow_c* p_flow) { if (dMsgObject_getMessageID() == 0x1B82) { mShopCamAction.SetSelectIdx(0); @@ -2061,16 +1853,6 @@ int dShopSystem_c::seq_decide_yes(fopAc_ac_c* actor, dMsgFlow_c* p_flow) { return 0; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm int dShopSystem_c::seq_decide_yes(fopAc_ac_c* param_0, dMsgFlow_c* param_1) { - nofralloc -#include "asm/d/shop/d_shop_system/seq_decide_yes__13dShopSystem_cFP10fopAc_ac_cP10dMsgFlow_c.s" -} -#pragma pop -#endif /* 80199FA4-8019A020 1948E4 007C+00 1/0 0/0 0/0 .text * seq_decide_no__13dShopSystem_cFP10fopAc_ac_cP10dMsgFlow_c */ @@ -2120,11 +1902,9 @@ int dShopSystem_c::shop_init(bool param_0) { /* 8019A158-8019A238 194A98 00E0+00 0/0 0/0 9/9 .text * shop_process__13dShopSystem_cFP10fopAc_ac_cP10dMsgFlow_c */ -// process array match issues -#ifdef NONMATCHING int dShopSystem_c::shop_process(fopAc_ac_c* param_0, dMsgFlow_c* param_1) { int iVar1; - iVar1 = (this->*process[mSeq])(param_0, param_1); + iVar1 = (this->*((processFunc*)process)[mSeq])(param_0, param_1); if (mWaitTimer != 0) { mWaitTimer--; @@ -2149,16 +1929,6 @@ int dShopSystem_c::shop_process(fopAc_ac_c* param_0, dMsgFlow_c* param_1) { } return iVar1; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm int dShopSystem_c::shop_process(fopAc_ac_c* param_0, dMsgFlow_c* param_1) { - nofralloc -#include "asm/d/shop/d_shop_system/shop_process__13dShopSystem_cFP10fopAc_ac_cP10dMsgFlow_c.s" -} -#pragma pop -#endif /* ############################################################################################## */ /* 804506F8-80450700 -00001 0004+04 1/1 0/0 0/0 .sdata shop_item_pos_data_tbl */ @@ -2278,40 +2048,134 @@ void dShopSystem_c::deleteObject() { } /* ############################################################################################## */ -/* 80453B60-80453B64 002160 0004+00 1/1 0/0 0/0 .sdata2 @5687 */ -SECTION_SDATA2 static f32 lit_5687 = -175.0f; - -/* 80453B64-80453B68 002164 0004+00 1/1 0/0 0/0 .sdata2 @5688 */ -SECTION_SDATA2 static f32 lit_5688 = 165.0f; - -/* 80453B68-80453B6C 002168 0004+00 1/1 0/0 0/0 .sdata2 @5689 */ -SECTION_SDATA2 static f32 lit_5689 = 10.0f; - -/* 80453B6C-80453B70 00216C 0004+00 1/1 0/0 0/0 .sdata2 @5690 */ -SECTION_SDATA2 static f32 lit_5690 = 225.0f; - -/* 80453B70-80453B74 002170 0004+00 1/1 0/0 0/0 .sdata2 @5691 */ -SECTION_SDATA2 static f32 lit_5691 = 370.0f; - -/* 80453B74-80453B78 002174 0004+00 1/1 0/0 0/0 .sdata2 @5692 */ -SECTION_SDATA2 static f32 lit_5692 = -180.0f; - -/* 80453B78-80453B7C 002178 0004+00 1/1 0/0 0/0 .sdata2 @5693 */ -SECTION_SDATA2 static f32 lit_5693 = 245.0f; - -/* 80453B7C-80453B80 00217C 0004+00 1/1 0/0 0/0 .sdata2 @5694 */ -SECTION_SDATA2 static f32 lit_5694 = -380.0f; /* 8019A5D0-8019AB00 194F10 0530+00 1/1 0/0 8/8 .text searchItemActor__13dShopSystem_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dShopSystem_c::searchItemActor() { - nofralloc -#include "asm/d/shop/d_shop_system/searchItemActor__13dShopSystem_cFv.s" +int dShopSystem_c::searchItemActor() { + u8 temp_data; + if ((dShopSystem_item_count != -1 && ((dShopSystem_item_count < (temp_data = data_80451058)) || dShopSystem_camera_count < 2))) { + if (dShopSystem_item_count < temp_data) { + fpcEx_Search((fpcLyIt_JudgeFunc)dShopSystem_searchItemActor, this); + } + if (dShopSystem_camera_count < 2) { + fpcEx_Search((fpcLyIt_JudgeFunc)dShopSystem_searchCameraActor, this); + } + return 0; + } + + if (dShopSystem_item_count >= data_80451058 && dShopSystem_camera_count >= 2) { + mSoldOutFlag = -1; + if (data_80451060) { + f32 actorDistArr[7]; + u8 itemNoArr[7]; + f32 arr2[7]; + daTag_ShopItem_c* actorArr[7]; + u8 arr3[7]; + for (int i = 0; i < data_80451058; i++) { + actorArr[i] = dShopSystem_itemActor[i]; + itemNoArr[i] = dShopSystem_itemNo[i]; + actorDistArr[i] = fopAcM_searchActorDistance(this, actorArr[i]); + arr2[i] = 0.0f; + arr3[i] = 0; + } + for (int i = 0; i < data_80451058; i++) { + arr2[i] = actorDistArr[i]; + arr3[i] = i; + if (i > 0) { + for (int j = i; j >= 0; j--) { + if (arr2[j] < arr2[j-1]) { + f32 temp = arr2[j]; + arr2[j] = arr2[j-1]; + arr2[j-1] = temp; + u8 temp2 = arr3[j]; + arr3[j] = arr3[j-1]; + arr3[j-1] = temp2; + } + } + } + } + for (int i = 0; i < data_80451058; i++) { + dShopSystem_itemActor[i] = actorArr[arr3[i]]; + dShopSystem_itemNo[i] = itemNoArr[arr3[i]]; + } + } + + for (int i = 0; i < data_80451058; i++) { + u32 processId = dShopSystem_itemActor[i]->getProcessID(); + mItemCtrl.setItemIndex(i, processId); + mItemCtrl.setMessageIndex(i, (u16)dShopSystem_itemActor[i]->orig.angle.GetX() != 0xffff ? (u16)dShopSystem_itemActor[i]->orig.angle.GetX() : -1); + + if (processId + 0x10000 == 0xffff) { + onFlag(i); + onSoldOutItemFlag(i); + } else { + offFlag(i); + if ((u8)fopAcM_GetParam(dShopSystem_itemActor[i]) == 0xff) { + onSoldOutItemFlag(i); + } else { + offSoldOutItemFlag(i); + } + } + } + + if (field_0xf77 == 8) { + dShopSystem_cameraActor[0]->current.pos.set(-175.0f, 165.0f, 10.0f); + dShopSystem_cameraActor[1]->current.pos.set(215.0f, 225.0f, 370.0f); + } + + if (data_80451058 > 3) { + mShopCamAction.setCamDataIdx2( + this, dShopSystem_itemActor[0], dShopSystem_itemActor[1], dShopSystem_itemActor[2], + dShopSystem_itemActor[3], dShopSystem_itemActor[4], dShopSystem_itemActor[5], &dShopSystem_cameraActor[0]->current.pos, + &dShopSystem_cameraActor[1]->current.pos + ); + + if (field_0xf77 == 8) { + cXyz camCtrPos; + camCtrPos.set(-180.0f, 245.0f, -380.0f); + mShopCamAction.setMasterCamCtrPos(&camCtrPos); + } + + for (int i = 0; i < 7; i++) { + if (dShopSystem_itemActor[i] != NULL) { + u8 cVar8 = dShopSystem_itemActor[i]->orig.angle.GetZ(); + u8 cVar4 = ((u16)dShopSystem_itemActor[i]->orig.angle.GetZ()) >> 8; + if (((cVar8 != 0xff) && + (dComIfGs_isSaveSwitch(cVar8) == 0)) && + ((cVar4 != 0xff && + (dComIfGs_isSaveSwitch(cVar4) == 0)))) { + onFlag(i); + onSoldOutItemFlag(i); + } + } + } + dShopSystem_item_count = -1; + } else { + mShopCamAction.setCamDataIdx( + this, dShopSystem_itemActor[0], dShopSystem_itemActor[1], dShopSystem_itemActor[2], + &dShopSystem_cameraActor[0]->current.pos, + &dShopSystem_cameraActor[1]->current.pos + ); + + for (int i = 0; i < 7; i++) { + if (dShopSystem_itemActor[i] != NULL) { + u8 cVar8 = dShopSystem_itemActor[i]->orig.angle.GetZ(); + u8 cVar4 = ((u16)dShopSystem_itemActor[i]->orig.angle.GetZ()) >> 8; + if (((cVar8 != 0xff) && + (dComIfGs_isSaveSwitch(cVar8) == 0)) && + ((cVar4 != 0xff && + (dComIfGs_isSaveSwitch(cVar4) == 0)))) { + onFlag(i); + onSoldOutItemFlag(i); + } + } + } + dShopSystem_item_count = -1; + } + } + + return 1; } -#pragma pop /* 8019AB00-8019AB1C 195440 001C+00 1/1 0/0 0/0 .text getFlowNodeNum__13dShopSystem_cFv */ From 24cee102803ae93ba92931f94012c416c5fee4cd Mon Sep 17 00:00:00 2001 From: hatal175 Date: Sun, 4 Jun 2023 00:09:18 +0300 Subject: [PATCH 7/8] Fix linkage for make game (#344) --- Progress.md | 8 ++++---- asm/d/msg/d_msg_flow/func_8024DAB0.s | 9 +++++++++ src/d/msg/d_msg_flow.cpp | 12 ++++++++++-- 3 files changed, 23 insertions(+), 6 deletions(-) create mode 100644 asm/d/msg/d_msg_flow/func_8024DAB0.s diff --git a/Progress.md b/Progress.md index 55df8fa4bd..534463b307 100644 --- a/Progress.md +++ b/Progress.md @@ -7,22 +7,22 @@ Section | Percentage | Decompiled (bytes) | Total (bytes) .init | 97.972973% | 9280 | 9472 .extab | 100.000000% | 96 | 96 .extabindex | 100.000000% | 96 | 96 -.text | 27.333351% | 983056 | 3596544 +.text | 27.332573% | 983028 | 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 | 34.993951% | 1406992 | 4020672 +Total | 34.993255% | 1406964 | 4020672 ## Total Section | Percentage | Decompiled (bytes) | Total (bytes) ---|---|---|--- -main.dol | 34.993951% | 1406992 | 4020672 +main.dol | 34.993255% | 1406964 | 4020672 RELs | 33.600166% | 3864128 | 11500324 -Total | 33.961223% | 5271120 | 15520996 +Total | 33.961042% | 5271092 | 15520996 ## RELs diff --git a/asm/d/msg/d_msg_flow/func_8024DAB0.s b/asm/d/msg/d_msg_flow/func_8024DAB0.s new file mode 100644 index 0000000000..e0a6da14f8 --- /dev/null +++ b/asm/d/msg/d_msg_flow/func_8024DAB0.s @@ -0,0 +1,9 @@ +lbl_8024DAB0: +/* 8024DAB0 80 83 00 00 */ lwz r4, 0(r3) +/* 8024DAB4 2C 04 00 00 */ cmpwi r4, 0 +/* 8024DAB8 41 82 00 0C */ beq lbl_8024DAC4 +/* 8024DABC 38 04 FF FF */ addi r0, r4, -1 +/* 8024DAC0 90 03 00 00 */ stw r0, 0(r3) +lbl_8024DAC4: +/* 8024DAC4 80 63 00 00 */ lwz r3, 0(r3) +/* 8024DAC8 4E 80 00 20 */ blr diff --git a/src/d/msg/d_msg_flow.cpp b/src/d/msg/d_msg_flow.cpp index 0cc028b4e3..a3d75a80d5 100644 --- a/src/d/msg/d_msg_flow.cpp +++ b/src/d/msg/d_msg_flow.cpp @@ -2118,7 +2118,7 @@ int dMsgFlow_c::event020(mesg_flow_node_event* flow_node, fopAc_ac_c* actor) { /* 8024CD84-8024CDAC 2476C4 0028+00 1/0 0/0 0/0 .text * event021__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c */ -#ifndef NONMATCHING +#ifdef NONMATCHING int dMsgFlow_c::event021(mesg_flow_node_event* param_0, fopAc_ac_c* param_1) { cLib_calcTimer(&field_0x3c); return 1; @@ -2432,7 +2432,7 @@ SECTION_SDATA2 static f32 lit_6613 = 1.0f; /* 8024D5EC-8024D6BC 247F2C 00D0+00 1/0 0/0 0/0 .text * event032__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c */ #ifdef NONMATCHING -// Matches with literals +// Matches with literals and cLib_calcTimer implementation in the end int dMsgFlow_c::event032(mesg_flow_node_event* param_0, fopAc_ac_c* param_1) { u16 uVar1; u16 uVar2; @@ -2621,5 +2621,13 @@ int dMsgFlow_c::event042(mesg_flow_node_event*, fopAc_ac_c*) { } /* 8024DAB0-8024DACC 2483F0 001C+00 3/3 0/0 0/0 .text cLib_calcTimer__FPl */ +#pragma push +#pragma optimization_level 0 +#pragma optimizewithasm off +extern "C" asm void func_8024DAB0(void* _this, s32* param_0) { + nofralloc +#include "asm/d/msg/d_msg_flow/func_8024DAB0.s" +} +#pragma pop /* 80399CB0-80399CB0 026310 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ From 1cf9a3a1b6820e24172cb9ec1223b1f844a52e29 Mon Sep 17 00:00:00 2001 From: hatal175 Date: Tue, 6 Jun 2023 20:32:17 +0300 Subject: [PATCH 8/8] work on d_a_npc, d_a_npc_ash, d_a_tag_evtarea (#345) All credit goes to randomsalience --- Progress.md | 16 +- .../d_a_npc/getTevRegKeyAnmP__8daNpcF_cFPci.s | 16 - .../a/d_a_npc/getTexPtrnAnmP__8daNpcF_cFPci.s | 16 - .../d_a_npc/getTexSRTKeyAnmP__8daNpcF_cFPci.s | 16 - .../getTrnsfrmKeyAnmP__8daNpcF_cFPci.s | 16 - ...ckAnm__8daNpcF_cFP15J3DAnmTransformfiiib.s | 18 - ...cF_cFP15J3DAnmTevRegKeyP12J3DModelDatafi.s | 17 - ...FP19J3DAnmTextureSRTKeyP12J3DModelDatafi.s | 17 - ...F_cFP16J3DAnmTexPatternP12J3DModelDatafi.s | 17 - .../d_a_npc_ash/Create__10daNpcAsh_cFv.s | 260 -- .../d_a_npc_ash/Delete__10daNpcAsh_cFv.s | 14 - .../d_a_npc_ash/Draw__10daNpcAsh_cFv.s | 73 - .../EvCut_Introduction__10daNpcAsh_cFi.s | 75 - .../d_a_npc_ash/Execute__10daNpcAsh_cFv.s | 10 - ...HeapCallBack__10daNpcAsh_cFP10fopAc_ac_c.s | 9 - ...lJointCallBack__10daNpcAsh_cFP8J3DJointi.s | 21 - .../d_a_npc_ash/daNpcAsh_Create__FPv.s | 9 - .../d_a_npc_ash/daNpcAsh_Delete__FPv.s | 9 - .../d_a_npc_ash/daNpcAsh_Draw__FPv.s | 9 - .../d_a_npc_ash/daNpcAsh_Execute__FPv.s | 9 - .../d_a_npc_ash/isSneaking__10daNpcAsh_cFv.s | 31 - .../d_a_npc_ash/main__10daNpcAsh_cFv.s | 170 -- ...on__10daNpcAsh_cFM10daNpcAsh_cFPCvPvPv_b.s | 45 - .../setExpression__10daNpcAsh_cFif.s | 12 - .../d_a_npc_ash/setMotion__10daNpcAsh_cFifi.s | 19 - .../Execute__15daTag_EvtArea_cFv.s | 95 - .../__dt__15daTag_EvtArea_cFv.s | 26 - .../chkPointInArea__15daTag_EvtArea_cF4cXyz.s | 25 - ...ointInArea__15daTag_EvtArea_cF4cXyz4cXyz.s | 217 -- .../create__15daTag_EvtArea_cFv.s | 154 -- .../daTag_EvtArea_Create__FPv.s | 9 - .../daTag_EvtArea_Delete__FPv.s | 9 - .../d_a_tag_evtarea/daTag_EvtArea_Draw__FPv.s | 9 - .../daTag_EvtArea_Execute__FPv.s | 9 - .../isDelete__15daTag_EvtArea_cFv.s | 50 - .../JSystem/J3DGraphAnimator/J3DMaterialAnm.h | 24 +- include/SSystem/SComponent/c_cc_d.h | 1 + include/SSystem/SComponent/c_lib.h | 5 + include/SSystem/SComponent/c_math.h | 4 +- include/d/a/d_a_npc.h | 252 +- include/d/bg/d_bg_s_acch.h | 1 + include/d/com/d_com_inf_game.h | 18 +- include/d/event/d_event.h | 9 +- include/d/msg/d_msg_object.h | 2 +- include/f_op/f_op_actor_mng.h | 6 +- include/m_Do/m_Do_ext.h | 5 +- include/m_Do/m_Do_mtx.h | 4 + include/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash.h | 118 + .../d/a/tag/d_a_tag_evtarea/d_a_tag_evtarea.h | 26 +- rel/d/a/d_a_bg/d_a_bg.cpp | 30 +- rel/d/a/npc/d_a_npc_ash/d_a_npc_ash.cpp | 2169 ++++++++++------- .../a/tag/d_a_tag_evtarea/d_a_tag_evtarea.cpp | 447 ++-- src/d/a/d_a_alink_demo.inc | 6 +- src/d/a/d_a_npc.cpp | 836 +++++-- src/d/com/d_com_inf_game.cpp | 8 +- src/d/d_resorce.cpp | 30 +- src/d/event/d_event.cpp | 22 +- src/d/event/d_event_manager.cpp | 2 +- src/f_op/f_op_actor_mng.cpp | 6 +- src/m_Do/m_Do_ext.cpp | 4 +- 60 files changed, 2654 insertions(+), 2908 deletions(-) delete mode 100644 asm/d/a/d_a_npc/getTevRegKeyAnmP__8daNpcF_cFPci.s delete mode 100644 asm/d/a/d_a_npc/getTexPtrnAnmP__8daNpcF_cFPci.s delete mode 100644 asm/d/a/d_a_npc/getTexSRTKeyAnmP__8daNpcF_cFPci.s delete mode 100644 asm/d/a/d_a_npc/getTrnsfrmKeyAnmP__8daNpcF_cFPci.s delete mode 100644 asm/d/a/d_a_npc/setBckAnm__8daNpcF_cFP15J3DAnmTransformfiiib.s delete mode 100644 asm/d/a/d_a_npc/setBrkAnm__8daNpcF_cFP15J3DAnmTevRegKeyP12J3DModelDatafi.s delete mode 100644 asm/d/a/d_a_npc/setBtkAnm__8daNpcF_cFP19J3DAnmTextureSRTKeyP12J3DModelDatafi.s delete mode 100644 asm/d/a/d_a_npc/setBtpAnm__8daNpcF_cFP16J3DAnmTexPatternP12J3DModelDatafi.s delete mode 100644 asm/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash/Create__10daNpcAsh_cFv.s delete mode 100644 asm/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash/Delete__10daNpcAsh_cFv.s delete mode 100644 asm/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash/Draw__10daNpcAsh_cFv.s delete mode 100644 asm/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash/EvCut_Introduction__10daNpcAsh_cFi.s delete mode 100644 asm/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash/Execute__10daNpcAsh_cFv.s delete mode 100644 asm/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash/createHeapCallBack__10daNpcAsh_cFP10fopAc_ac_c.s delete mode 100644 asm/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash/ctrlJointCallBack__10daNpcAsh_cFP8J3DJointi.s delete mode 100644 asm/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash/daNpcAsh_Create__FPv.s delete mode 100644 asm/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash/daNpcAsh_Delete__FPv.s delete mode 100644 asm/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash/daNpcAsh_Draw__FPv.s delete mode 100644 asm/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash/daNpcAsh_Execute__FPv.s delete mode 100644 asm/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash/isSneaking__10daNpcAsh_cFv.s delete mode 100644 asm/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash/main__10daNpcAsh_cFv.s delete mode 100644 asm/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash/setAction__10daNpcAsh_cFM10daNpcAsh_cFPCvPvPv_b.s delete mode 100644 asm/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash/setExpression__10daNpcAsh_cFif.s delete mode 100644 asm/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash/setMotion__10daNpcAsh_cFifi.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_evtarea/d_a_tag_evtarea/Execute__15daTag_EvtArea_cFv.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_evtarea/d_a_tag_evtarea/__dt__15daTag_EvtArea_cFv.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_evtarea/d_a_tag_evtarea/chkPointInArea__15daTag_EvtArea_cF4cXyz.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_evtarea/d_a_tag_evtarea/chkPointInArea__15daTag_EvtArea_cF4cXyz4cXyz.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_evtarea/d_a_tag_evtarea/create__15daTag_EvtArea_cFv.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_evtarea/d_a_tag_evtarea/daTag_EvtArea_Create__FPv.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_evtarea/d_a_tag_evtarea/daTag_EvtArea_Delete__FPv.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_evtarea/d_a_tag_evtarea/daTag_EvtArea_Draw__FPv.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_evtarea/d_a_tag_evtarea/daTag_EvtArea_Execute__FPv.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_evtarea/d_a_tag_evtarea/isDelete__15daTag_EvtArea_cFv.s diff --git a/Progress.md b/Progress.md index 534463b307..57fdeb1133 100644 --- a/Progress.md +++ b/Progress.md @@ -7,22 +7,22 @@ Section | Percentage | Decompiled (bytes) | Total (bytes) .init | 97.972973% | 9280 | 9472 .extab | 100.000000% | 96 | 96 .extabindex | 100.000000% | 96 | 96 -.text | 27.332573% | 983028 | 3596544 +.text | 27.346475% | 983528 | 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 | 34.993255% | 1406964 | 4020672 +Total | 35.005691% | 1407464 | 4020672 ## Total Section | Percentage | Decompiled (bytes) | Total (bytes) ---|---|---|--- -main.dol | 34.993255% | 1406964 | 4020672 -RELs | 33.600166% | 3864128 | 11500324 -Total | 33.961042% | 5271092 | 15520996 +main.dol | 35.005691% | 1407464 | 4020672 +RELs | 33.644652% | 3869244 | 11500324 +Total | 33.997225% | 5276708 | 15520996 ## RELs @@ -220,7 +220,7 @@ d_a_myna | 30.876570% | 9736 | 31532 d_a_nbomb | 28.739233% | 8808 | 30648 d_a_ni | 27.299309% | 8216 | 30096 d_a_npc_aru | 34.812103% | 12932 | 37148 -d_a_npc_ash | 31.737680% | 9892 | 31168 +d_a_npc_ash | 40.990760% | 12776 | 31168 d_a_npc_ashB | 32.906995% | 8336 | 25332 d_a_npc_bans | 34.954955% | 11640 | 33300 d_a_npc_besu | 38.726854% | 19492 | 50332 @@ -722,7 +722,7 @@ d_a_tag_csw | 35.869565% | 3696 | 10304 d_a_tag_escape | 100.000000% | 712 | 712 d_a_tag_event | 31.075697% | 1248 | 4016 d_a_tag_evt | 37.815126% | 1620 | 4284 -d_a_tag_evtarea | 37.091319% | 1316 | 3548 +d_a_tag_evtarea | 100.000000% | 3548 | 3548 d_a_tag_evtmsg | 39.491150% | 1428 | 3616 d_a_tag_firewall | 35.325132% | 1608 | 4552 d_a_tag_gra | 100.000000% | 800 | 800 @@ -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.600166% | 3864128 | 11500324 +Total | 33.644652% | 3869244 | 11500324 diff --git a/asm/d/a/d_a_npc/getTevRegKeyAnmP__8daNpcF_cFPci.s b/asm/d/a/d_a_npc/getTevRegKeyAnmP__8daNpcF_cFPci.s deleted file mode 100644 index 23d06830da..0000000000 --- a/asm/d/a/d_a_npc/getTevRegKeyAnmP__8daNpcF_cFPci.s +++ /dev/null @@ -1,16 +0,0 @@ -lbl_80152BE0: -/* 80152BE0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80152BE4 7C 08 02 A6 */ mflr r0 -/* 80152BE8 90 01 00 14 */ stw r0, 0x14(r1) -/* 80152BEC 7C 83 23 78 */ mr r3, r4 -/* 80152BF0 7C A4 2B 78 */ mr r4, r5 -/* 80152BF4 3C A0 80 40 */ lis r5, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80152BF8 38 A5 61 C0 */ addi r5, r5, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80152BFC 3C A5 00 02 */ addis r5, r5, 2 -/* 80152C00 38 C0 00 80 */ li r6, 0x80 -/* 80152C04 38 A5 C2 F8 */ addi r5, r5, -15624 -/* 80152C08 4B EE 96 E5 */ bl getRes__14dRes_control_cFPCclP11dRes_info_ci -/* 80152C0C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80152C10 7C 08 03 A6 */ mtlr r0 -/* 80152C14 38 21 00 10 */ addi r1, r1, 0x10 -/* 80152C18 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_npc/getTexPtrnAnmP__8daNpcF_cFPci.s b/asm/d/a/d_a_npc/getTexPtrnAnmP__8daNpcF_cFPci.s deleted file mode 100644 index 6b579d24af..0000000000 --- a/asm/d/a/d_a_npc/getTexPtrnAnmP__8daNpcF_cFPci.s +++ /dev/null @@ -1,16 +0,0 @@ -lbl_80152B68: -/* 80152B68 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80152B6C 7C 08 02 A6 */ mflr r0 -/* 80152B70 90 01 00 14 */ stw r0, 0x14(r1) -/* 80152B74 7C 83 23 78 */ mr r3, r4 -/* 80152B78 7C A4 2B 78 */ mr r4, r5 -/* 80152B7C 3C A0 80 40 */ lis r5, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80152B80 38 A5 61 C0 */ addi r5, r5, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80152B84 3C A5 00 02 */ addis r5, r5, 2 -/* 80152B88 38 C0 00 80 */ li r6, 0x80 -/* 80152B8C 38 A5 C2 F8 */ addi r5, r5, -15624 -/* 80152B90 4B EE 97 5D */ bl getRes__14dRes_control_cFPCclP11dRes_info_ci -/* 80152B94 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80152B98 7C 08 03 A6 */ mtlr r0 -/* 80152B9C 38 21 00 10 */ addi r1, r1, 0x10 -/* 80152BA0 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_npc/getTexSRTKeyAnmP__8daNpcF_cFPci.s b/asm/d/a/d_a_npc/getTexSRTKeyAnmP__8daNpcF_cFPci.s deleted file mode 100644 index ca7c53d93d..0000000000 --- a/asm/d/a/d_a_npc/getTexSRTKeyAnmP__8daNpcF_cFPci.s +++ /dev/null @@ -1,16 +0,0 @@ -lbl_80152BA4: -/* 80152BA4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80152BA8 7C 08 02 A6 */ mflr r0 -/* 80152BAC 90 01 00 14 */ stw r0, 0x14(r1) -/* 80152BB0 7C 83 23 78 */ mr r3, r4 -/* 80152BB4 7C A4 2B 78 */ mr r4, r5 -/* 80152BB8 3C A0 80 40 */ lis r5, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80152BBC 38 A5 61 C0 */ addi r5, r5, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80152BC0 3C A5 00 02 */ addis r5, r5, 2 -/* 80152BC4 38 C0 00 80 */ li r6, 0x80 -/* 80152BC8 38 A5 C2 F8 */ addi r5, r5, -15624 -/* 80152BCC 4B EE 97 21 */ bl getRes__14dRes_control_cFPCclP11dRes_info_ci -/* 80152BD0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80152BD4 7C 08 03 A6 */ mtlr r0 -/* 80152BD8 38 21 00 10 */ addi r1, r1, 0x10 -/* 80152BDC 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_npc/getTrnsfrmKeyAnmP__8daNpcF_cFPci.s b/asm/d/a/d_a_npc/getTrnsfrmKeyAnmP__8daNpcF_cFPci.s deleted file mode 100644 index d504b47173..0000000000 --- a/asm/d/a/d_a_npc/getTrnsfrmKeyAnmP__8daNpcF_cFPci.s +++ /dev/null @@ -1,16 +0,0 @@ -lbl_80152B2C: -/* 80152B2C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80152B30 7C 08 02 A6 */ mflr r0 -/* 80152B34 90 01 00 14 */ stw r0, 0x14(r1) -/* 80152B38 7C 83 23 78 */ mr r3, r4 -/* 80152B3C 7C A4 2B 78 */ mr r4, r5 -/* 80152B40 3C A0 80 40 */ lis r5, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80152B44 38 A5 61 C0 */ addi r5, r5, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80152B48 3C A5 00 02 */ addis r5, r5, 2 -/* 80152B4C 38 C0 00 80 */ li r6, 0x80 -/* 80152B50 38 A5 C2 F8 */ addi r5, r5, -15624 -/* 80152B54 4B EE 97 99 */ bl getRes__14dRes_control_cFPCclP11dRes_info_ci -/* 80152B58 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80152B5C 7C 08 03 A6 */ mtlr r0 -/* 80152B60 38 21 00 10 */ addi r1, r1, 0x10 -/* 80152B64 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_npc/setBckAnm__8daNpcF_cFP15J3DAnmTransformfiiib.s b/asm/d/a/d_a_npc/setBckAnm__8daNpcF_cFP15J3DAnmTransformfiiib.s deleted file mode 100644 index cd9cc6c6a0..0000000000 --- a/asm/d/a/d_a_npc/setBckAnm__8daNpcF_cFP15J3DAnmTransformfiiib.s +++ /dev/null @@ -1,18 +0,0 @@ -lbl_80152C80: -/* 80152C80 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80152C84 7C 08 02 A6 */ mflr r0 -/* 80152C88 90 01 00 14 */ stw r0, 0x14(r1) -/* 80152C8C 7C AB 2B 78 */ mr r11, r5 -/* 80152C90 7C CA 33 78 */ mr r10, r6 -/* 80152C94 7C E0 3B 78 */ mr r0, r7 -/* 80152C98 7D 09 43 78 */ mr r9, r8 -/* 80152C9C 38 A0 00 01 */ li r5, 1 -/* 80152CA0 7D 66 5B 78 */ mr r6, r11 -/* 80152CA4 7D 47 07 34 */ extsh r7, r10 -/* 80152CA8 7C 08 07 34 */ extsh r8, r0 -/* 80152CAC 38 63 05 6C */ addi r3, r3, 0x56c -/* 80152CB0 4B EB AB 2D */ bl init__13mDoExt_bckAnmFP15J3DAnmTransformiifssb -/* 80152CB4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80152CB8 7C 08 03 A6 */ mtlr r0 -/* 80152CBC 38 21 00 10 */ addi r1, r1, 0x10 -/* 80152CC0 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_npc/setBrkAnm__8daNpcF_cFP15J3DAnmTevRegKeyP12J3DModelDatafi.s b/asm/d/a/d_a_npc/setBrkAnm__8daNpcF_cFP15J3DAnmTevRegKeyP12J3DModelDatafi.s deleted file mode 100644 index 95618a7352..0000000000 --- a/asm/d/a/d_a_npc/setBrkAnm__8daNpcF_cFP15J3DAnmTevRegKeyP12J3DModelDatafi.s +++ /dev/null @@ -1,17 +0,0 @@ -lbl_80152D44: -/* 80152D44 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80152D48 7C 08 02 A6 */ mflr r0 -/* 80152D4C 90 01 00 14 */ stw r0, 0x14(r1) -/* 80152D50 7C 80 23 78 */ mr r0, r4 -/* 80152D54 7C C7 33 78 */ mr r7, r6 -/* 80152D58 38 85 00 58 */ addi r4, r5, 0x58 -/* 80152D5C 7C 05 03 78 */ mr r5, r0 -/* 80152D60 38 C0 00 01 */ li r6, 1 -/* 80152D64 39 00 00 00 */ li r8, 0 -/* 80152D68 39 20 FF FF */ li r9, -1 -/* 80152D6C 38 63 05 B8 */ addi r3, r3, 0x5b8 -/* 80152D70 4B EB A9 9D */ bl init__13mDoExt_brkAnmFP16J3DMaterialTableP15J3DAnmTevRegKeyiifss -/* 80152D74 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80152D78 7C 08 03 A6 */ mtlr r0 -/* 80152D7C 38 21 00 10 */ addi r1, r1, 0x10 -/* 80152D80 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_npc/setBtkAnm__8daNpcF_cFP19J3DAnmTextureSRTKeyP12J3DModelDatafi.s b/asm/d/a/d_a_npc/setBtkAnm__8daNpcF_cFP19J3DAnmTextureSRTKeyP12J3DModelDatafi.s deleted file mode 100644 index 9acbf9f0fa..0000000000 --- a/asm/d/a/d_a_npc/setBtkAnm__8daNpcF_cFP19J3DAnmTextureSRTKeyP12J3DModelDatafi.s +++ /dev/null @@ -1,17 +0,0 @@ -lbl_80152D04: -/* 80152D04 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80152D08 7C 08 02 A6 */ mflr r0 -/* 80152D0C 90 01 00 14 */ stw r0, 0x14(r1) -/* 80152D10 7C 80 23 78 */ mr r0, r4 -/* 80152D14 7C C7 33 78 */ mr r7, r6 -/* 80152D18 38 85 00 58 */ addi r4, r5, 0x58 -/* 80152D1C 7C 05 03 78 */ mr r5, r0 -/* 80152D20 38 C0 00 01 */ li r6, 1 -/* 80152D24 39 00 00 00 */ li r8, 0 -/* 80152D28 39 20 FF FF */ li r9, -1 -/* 80152D2C 38 63 05 A0 */ addi r3, r3, 0x5a0 -/* 80152D30 4B EB A9 0D */ bl init__13mDoExt_btkAnmFP16J3DMaterialTableP19J3DAnmTextureSRTKeyiifss -/* 80152D34 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80152D38 7C 08 03 A6 */ mtlr r0 -/* 80152D3C 38 21 00 10 */ addi r1, r1, 0x10 -/* 80152D40 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_npc/setBtpAnm__8daNpcF_cFP16J3DAnmTexPatternP12J3DModelDatafi.s b/asm/d/a/d_a_npc/setBtpAnm__8daNpcF_cFP16J3DAnmTexPatternP12J3DModelDatafi.s deleted file mode 100644 index b0af4b4de8..0000000000 --- a/asm/d/a/d_a_npc/setBtpAnm__8daNpcF_cFP16J3DAnmTexPatternP12J3DModelDatafi.s +++ /dev/null @@ -1,17 +0,0 @@ -lbl_80152CC4: -/* 80152CC4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80152CC8 7C 08 02 A6 */ mflr r0 -/* 80152CCC 90 01 00 14 */ stw r0, 0x14(r1) -/* 80152CD0 7C 80 23 78 */ mr r0, r4 -/* 80152CD4 7C C7 33 78 */ mr r7, r6 -/* 80152CD8 38 85 00 58 */ addi r4, r5, 0x58 -/* 80152CDC 7C 05 03 78 */ mr r5, r0 -/* 80152CE0 38 C0 00 01 */ li r6, 1 -/* 80152CE4 39 00 00 00 */ li r8, 0 -/* 80152CE8 39 20 FF FF */ li r9, -1 -/* 80152CEC 38 63 05 88 */ addi r3, r3, 0x588 -/* 80152CF0 4B EB A8 5D */ bl init__13mDoExt_btpAnmFP16J3DMaterialTableP16J3DAnmTexPatterniifss -/* 80152CF4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80152CF8 7C 08 03 A6 */ mtlr r0 -/* 80152CFC 38 21 00 10 */ addi r1, r1, 0x10 -/* 80152D00 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash/Create__10daNpcAsh_cFv.s b/asm/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash/Create__10daNpcAsh_cFv.s deleted file mode 100644 index fc4ed0c802..0000000000 --- a/asm/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash/Create__10daNpcAsh_cFv.s +++ /dev/null @@ -1,260 +0,0 @@ -lbl_809587A0: -/* 809587A0 94 21 FF C0 */ stwu r1, -0x40(r1) -/* 809587A4 7C 08 02 A6 */ mflr r0 -/* 809587A8 90 01 00 44 */ stw r0, 0x44(r1) -/* 809587AC 39 61 00 40 */ addi r11, r1, 0x40 -/* 809587B0 4B A0 9A 19 */ bl _savegpr_24 -/* 809587B4 7C 7C 1B 78 */ mr r28, r3 -/* 809587B8 3C 80 80 96 */ lis r4, m__16daNpcAsh_Param_c@ha /* 0x8095D640@ha */ -/* 809587BC 3B E4 D6 40 */ addi r31, r4, m__16daNpcAsh_Param_c@l /* 0x8095D640@l */ -/* 809587C0 80 03 04 A0 */ lwz r0, 0x4a0(r3) -/* 809587C4 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c -/* 809587C8 40 82 00 1C */ bne lbl_809587E4 -/* 809587CC 28 1C 00 00 */ cmplwi r28, 0 -/* 809587D0 41 82 00 08 */ beq lbl_809587D8 -/* 809587D4 4B FF FB 19 */ bl __ct__10daNpcAsh_cFv -lbl_809587D8: -/* 809587D8 80 1C 04 A0 */ lwz r0, 0x4a0(r28) -/* 809587DC 60 00 00 08 */ ori r0, r0, 8 -/* 809587E0 90 1C 04 A0 */ stw r0, 0x4a0(r28) -lbl_809587E4: -/* 809587E4 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 809587E8 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 809587EC 3B C3 0F 38 */ addi r30, r3, 0xf38 -/* 809587F0 3B 1E 3E C8 */ addi r24, r30, 0x3ec8 -/* 809587F4 7F 03 C3 78 */ mr r3, r24 -/* 809587F8 3C 80 80 96 */ lis r4, d_a_npc_ash__stringBase0@ha /* 0x8095D910@ha */ -/* 809587FC 38 84 D9 10 */ addi r4, r4, d_a_npc_ash__stringBase0@l /* 0x8095D910@l */ -/* 80958800 38 84 00 6C */ addi r4, r4, 0x6c -/* 80958804 4B A1 01 91 */ bl strcmp -/* 80958808 2C 03 00 00 */ cmpwi r3, 0 -/* 8095880C 40 82 00 64 */ bne lbl_80958870 -/* 80958810 38 60 00 00 */ li r3, 0 -/* 80958814 4B 6D 41 69 */ bl getLayerNo__14dComIfG_play_cFi -/* 80958818 2C 03 00 04 */ cmpwi r3, 4 -/* 8095881C 40 82 00 54 */ bne lbl_80958870 -/* 80958820 38 60 01 69 */ li r3, 0x169 -/* 80958824 4B 7F CE 11 */ bl daNpcF_chkEvtBit__FUl -/* 80958828 2C 03 00 00 */ cmpwi r3, 0 -/* 8095882C 41 82 00 1C */ beq lbl_80958848 -/* 80958830 38 60 01 0A */ li r3, 0x10a -/* 80958834 4B 7F CE 01 */ bl daNpcF_chkEvtBit__FUl -/* 80958838 2C 03 00 00 */ cmpwi r3, 0 -/* 8095883C 40 82 00 0C */ bne lbl_80958848 -/* 80958840 38 60 00 05 */ li r3, 5 -/* 80958844 48 00 03 0C */ b lbl_80958B50 -lbl_80958848: -/* 80958848 38 60 00 18 */ li r3, 0x18 -/* 8095884C 38 80 00 4B */ li r4, 0x4b -/* 80958850 4B 6D 4E F1 */ bl dComIfGs_isStageSwitch__Fii -/* 80958854 2C 03 00 00 */ cmpwi r3, 0 -/* 80958858 41 82 00 0C */ beq lbl_80958864 -/* 8095885C 38 60 00 05 */ li r3, 5 -/* 80958860 48 00 02 F0 */ b lbl_80958B50 -lbl_80958864: -/* 80958864 38 00 00 00 */ li r0, 0 -/* 80958868 98 1C 0F 60 */ stb r0, 0xf60(r28) -/* 8095886C 48 00 00 58 */ b lbl_809588C4 -lbl_80958870: -/* 80958870 7F 03 C3 78 */ mr r3, r24 -/* 80958874 3C 80 80 96 */ lis r4, d_a_npc_ash__stringBase0@ha /* 0x8095D910@ha */ -/* 80958878 38 84 D9 10 */ addi r4, r4, d_a_npc_ash__stringBase0@l /* 0x8095D910@l */ -/* 8095887C 38 84 00 74 */ addi r4, r4, 0x74 -/* 80958880 4B A1 01 15 */ bl strcmp -/* 80958884 2C 03 00 00 */ cmpwi r3, 0 -/* 80958888 40 82 00 3C */ bne lbl_809588C4 -/* 8095888C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80958890 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80958894 38 63 09 58 */ addi r3, r3, 0x958 -/* 80958898 38 80 00 14 */ li r4, 0x14 -/* 8095889C 4B 6D BF C5 */ bl isSwitch__12dSv_memBit_cCFi -/* 809588A0 2C 03 00 00 */ cmpwi r3, 0 -/* 809588A4 41 82 00 0C */ beq lbl_809588B0 -/* 809588A8 38 60 00 05 */ li r3, 5 -/* 809588AC 48 00 02 A4 */ b lbl_80958B50 -lbl_809588B0: -/* 809588B0 80 1C 04 9C */ lwz r0, 0x49c(r28) -/* 809588B4 60 00 40 00 */ ori r0, r0, 0x4000 -/* 809588B8 90 1C 04 9C */ stw r0, 0x49c(r28) -/* 809588BC 38 00 00 01 */ li r0, 1 -/* 809588C0 98 1C 0F 60 */ stb r0, 0xf60(r28) -lbl_809588C4: -/* 809588C4 A8 1C 04 E4 */ lha r0, 0x4e4(r28) -/* 809588C8 B0 1C 0F 58 */ sth r0, 0xf58(r28) -/* 809588CC 3B A0 00 05 */ li r29, 5 -/* 809588D0 3B 60 00 00 */ li r27, 0 -/* 809588D4 3B 40 00 00 */ li r26, 0 -/* 809588D8 3C 60 80 96 */ lis r3, l_arcNames@ha /* 0x8095DAC0@ha */ -/* 809588DC 3B 03 DA C0 */ addi r24, r3, l_arcNames@l /* 0x8095DAC0@l */ -/* 809588E0 3C 60 80 96 */ lis r3, l_loadRes_list@ha /* 0x8095DAB8@ha */ -/* 809588E4 3B 23 DA B8 */ addi r25, r3, l_loadRes_list@l /* 0x8095DAB8@l */ -/* 809588E8 48 00 00 30 */ b lbl_80958918 -lbl_809588EC: -/* 809588EC 38 7A 0F 3C */ addi r3, r26, 0xf3c -/* 809588F0 7C 7C 1A 14 */ add r3, r28, r3 -/* 809588F4 54 00 10 3A */ slwi r0, r0, 2 -/* 809588F8 7C 98 00 2E */ lwzx r4, r24, r0 -/* 809588FC 4B 6D 45 C1 */ bl dComIfG_resLoad__FP30request_of_phase_process_classPCc -/* 80958900 7C 7D 1B 78 */ mr r29, r3 -/* 80958904 2C 1D 00 04 */ cmpwi r29, 4 -/* 80958908 41 82 00 08 */ beq lbl_80958910 -/* 8095890C 48 00 02 44 */ b lbl_80958B50 -lbl_80958910: -/* 80958910 3B 7B 00 04 */ addi r27, r27, 4 -/* 80958914 3B 5A 00 08 */ addi r26, r26, 8 -lbl_80958918: -/* 80958918 88 9C 0F 60 */ lbz r4, 0xf60(r28) -/* 8095891C 54 80 15 BA */ rlwinm r0, r4, 2, 0x16, 0x1d -/* 80958920 7C 79 00 2E */ lwzx r3, r25, r0 -/* 80958924 7C 03 D8 2E */ lwzx r0, r3, r27 -/* 80958928 2C 00 00 00 */ cmpwi r0, 0 -/* 8095892C 40 80 FF C0 */ bge lbl_809588EC -/* 80958930 2C 1D 00 04 */ cmpwi r29, 4 -/* 80958934 40 82 02 18 */ bne lbl_80958B4C -/* 80958938 38 A0 00 00 */ li r5, 0 -/* 8095893C 2C 04 00 01 */ cmpwi r4, 1 -/* 80958940 41 82 00 1C */ beq lbl_8095895C -/* 80958944 40 80 00 1C */ bge lbl_80958960 -/* 80958948 2C 04 00 00 */ cmpwi r4, 0 -/* 8095894C 40 80 00 08 */ bge lbl_80958954 -/* 80958950 48 00 00 10 */ b lbl_80958960 -lbl_80958954: -/* 80958954 38 A0 42 10 */ li r5, 0x4210 -/* 80958958 48 00 00 08 */ b lbl_80958960 -lbl_8095895C: -/* 8095895C 38 A0 58 B0 */ li r5, 0x58b0 -lbl_80958960: -/* 80958960 7F 83 E3 78 */ mr r3, r28 -/* 80958964 3C 80 80 96 */ lis r4, createHeapCallBack__10daNpcAsh_cFP10fopAc_ac_c@ha /* 0x80959458@ha */ -/* 80958968 38 84 94 58 */ addi r4, r4, createHeapCallBack__10daNpcAsh_cFP10fopAc_ac_c@l /* 0x80959458@l */ -/* 8095896C 4B 6C 1B 45 */ bl fopAcM_entrySolidHeap__FP10fopAc_ac_cPFP10fopAc_ac_c_iUl -/* 80958970 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 80958974 40 82 00 0C */ bne lbl_80958980 -/* 80958978 38 60 00 05 */ li r3, 5 -/* 8095897C 48 00 01 D4 */ b lbl_80958B50 -lbl_80958980: -/* 80958980 80 7C 05 68 */ lwz r3, 0x568(r28) -/* 80958984 80 63 00 04 */ lwz r3, 4(r3) -/* 80958988 38 03 00 24 */ addi r0, r3, 0x24 -/* 8095898C 90 1C 05 04 */ stw r0, 0x504(r28) -/* 80958990 7F 83 E3 78 */ mr r3, r28 -/* 80958994 C0 3F 00 6C */ lfs f1, 0x6c(r31) -/* 80958998 C0 5F 00 70 */ lfs f2, 0x70(r31) -/* 8095899C FC 60 08 90 */ fmr f3, f1 -/* 809589A0 C0 9F 00 74 */ lfs f4, 0x74(r31) -/* 809589A4 C0 BF 00 78 */ lfs f5, 0x78(r31) -/* 809589A8 FC C0 20 90 */ fmr f6, f4 -/* 809589AC 4B 6C 1B 9D */ bl fopAcM_setCullSizeBox__FP10fopAc_ac_cffffff -/* 809589B0 38 7C 0B 48 */ addi r3, r28, 0xb48 -/* 809589B4 38 9C 04 D0 */ addi r4, r28, 0x4d0 -/* 809589B8 38 BC 05 38 */ addi r5, r28, 0x538 -/* 809589BC 38 C0 00 03 */ li r6, 3 -/* 809589C0 38 E0 00 01 */ li r7, 1 -/* 809589C4 4B 96 7B 6D */ bl init__10Z2CreatureFP3VecP3VecUcUc -/* 809589C8 38 7C 07 E4 */ addi r3, r28, 0x7e4 -/* 809589CC 38 9F 00 00 */ addi r4, r31, 0 -/* 809589D0 C0 24 00 1C */ lfs f1, 0x1c(r4) -/* 809589D4 C0 44 00 18 */ lfs f2, 0x18(r4) -/* 809589D8 4B 71 D5 81 */ bl SetWall__12dBgS_AcchCirFff -/* 809589DC 38 1C 04 E4 */ addi r0, r28, 0x4e4 -/* 809589E0 90 01 00 08 */ stw r0, 8(r1) -/* 809589E4 38 7C 05 D0 */ addi r3, r28, 0x5d0 -/* 809589E8 38 9C 04 D0 */ addi r4, r28, 0x4d0 -/* 809589EC 38 BC 04 BC */ addi r5, r28, 0x4bc -/* 809589F0 7F 86 E3 78 */ mr r6, r28 -/* 809589F4 38 E0 00 01 */ li r7, 1 -/* 809589F8 39 1C 07 E4 */ addi r8, r28, 0x7e4 -/* 809589FC 39 3C 04 F8 */ addi r9, r28, 0x4f8 -/* 80958A00 39 5C 04 DC */ addi r10, r28, 0x4dc -/* 80958A04 4B 71 D8 45 */ bl Set__9dBgS_AcchFP4cXyzP4cXyzP10fopAc_ac_ciP12dBgS_AcchCirP4cXyzP5csXyzP5csXyz -/* 80958A08 80 1C 05 FC */ lwz r0, 0x5fc(r28) -/* 80958A0C 60 00 00 08 */ ori r0, r0, 8 -/* 80958A10 90 1C 05 FC */ stw r0, 0x5fc(r28) -/* 80958A14 80 1C 05 FC */ lwz r0, 0x5fc(r28) -/* 80958A18 60 00 04 00 */ ori r0, r0, 0x400 -/* 80958A1C 90 1C 05 FC */ stw r0, 0x5fc(r28) -/* 80958A20 38 7C 05 D0 */ addi r3, r28, 0x5d0 -/* 80958A24 7F C4 F3 78 */ mr r4, r30 -/* 80958A28 4B 71 E0 85 */ bl CrrPos__9dBgS_AcchFR4dBgS -/* 80958A2C 38 7C 07 A8 */ addi r3, r28, 0x7a8 -/* 80958A30 38 9F 00 00 */ addi r4, r31, 0 -/* 80958A34 C0 04 00 10 */ lfs f0, 0x10(r4) -/* 80958A38 FC 00 00 1E */ fctiwz f0, f0 -/* 80958A3C D8 01 00 10 */ stfd f0, 0x10(r1) -/* 80958A40 80 81 00 14 */ lwz r4, 0x14(r1) -/* 80958A44 38 A0 00 00 */ li r5, 0 -/* 80958A48 7F 86 E3 78 */ mr r6, r28 -/* 80958A4C 4B 72 AE 15 */ bl Init__9dCcD_SttsFiiP10fopAc_ac_c -/* 80958A50 38 7C 0C B8 */ addi r3, r28, 0xcb8 -/* 80958A54 3C 80 80 3B */ lis r4, mCcDCyl__8daNpcF_c@ha /* 0x803B37E0@ha */ -/* 80958A58 38 84 37 E0 */ addi r4, r4, mCcDCyl__8daNpcF_c@l /* 0x803B37E0@l */ -/* 80958A5C 4B 72 BE 59 */ bl Set__8dCcD_CylFRC11dCcD_SrcCyl -/* 80958A60 38 1C 07 A8 */ addi r0, r28, 0x7a8 -/* 80958A64 90 1C 0C FC */ stw r0, 0xcfc(r28) -/* 80958A68 38 00 00 00 */ li r0, 0 -/* 80958A6C 90 1C 0C E0 */ stw r0, 0xce0(r28) -/* 80958A70 90 1C 0C D0 */ stw r0, 0xcd0(r28) -/* 80958A74 88 1C 0F 60 */ lbz r0, 0xf60(r28) -/* 80958A78 28 00 00 00 */ cmplwi r0, 0 -/* 80958A7C 40 82 00 30 */ bne lbl_80958AAC -/* 80958A80 38 7C 0D F4 */ addi r3, r28, 0xdf4 -/* 80958A84 3C 80 80 3B */ lis r4, mCcDCyl__8daNpcF_c@ha /* 0x803B37E0@ha */ -/* 80958A88 38 84 37 E0 */ addi r4, r4, mCcDCyl__8daNpcF_c@l /* 0x803B37E0@l */ -/* 80958A8C 4B 72 BE 29 */ bl Set__8dCcD_CylFRC11dCcD_SrcCyl -/* 80958A90 38 1C 07 A8 */ addi r0, r28, 0x7a8 -/* 80958A94 90 1C 0E 38 */ stw r0, 0xe38(r28) -/* 80958A98 38 00 00 00 */ li r0, 0 -/* 80958A9C 90 1C 0E 1C */ stw r0, 0xe1c(r28) -/* 80958AA0 90 1C 0E 0C */ stw r0, 0xe0c(r28) -/* 80958AA4 38 00 00 19 */ li r0, 0x19 -/* 80958AA8 90 1C 0E 20 */ stw r0, 0xe20(r28) -lbl_80958AAC: -/* 80958AAC 80 1C 06 AC */ lwz r0, 0x6ac(r28) -/* 80958AB0 90 1C 0A 44 */ stw r0, 0xa44(r28) -/* 80958AB4 80 1C 06 B0 */ lwz r0, 0x6b0(r28) -/* 80958AB8 90 1C 0A 48 */ stw r0, 0xa48(r28) -/* 80958ABC 80 1C 06 B4 */ lwz r0, 0x6b4(r28) -/* 80958AC0 90 1C 0A 4C */ stw r0, 0xa4c(r28) -/* 80958AC4 88 1C 06 B8 */ lbz r0, 0x6b8(r28) -/* 80958AC8 98 1C 0A 50 */ stb r0, 0xa50(r28) -/* 80958ACC A0 1C 06 C0 */ lhz r0, 0x6c0(r28) -/* 80958AD0 B0 1C 0A 58 */ sth r0, 0xa58(r28) -/* 80958AD4 A0 1C 06 C2 */ lhz r0, 0x6c2(r28) -/* 80958AD8 B0 1C 0A 5A */ sth r0, 0xa5a(r28) -/* 80958ADC 80 1C 06 C4 */ lwz r0, 0x6c4(r28) -/* 80958AE0 90 1C 0A 5C */ stw r0, 0xa5c(r28) -/* 80958AE4 80 1C 06 C8 */ lwz r0, 0x6c8(r28) -/* 80958AE8 90 1C 0A 60 */ stw r0, 0xa60(r28) -/* 80958AEC C0 1C 06 D0 */ lfs f0, 0x6d0(r28) -/* 80958AF0 D0 1C 0A 68 */ stfs f0, 0xa68(r28) -/* 80958AF4 C0 1C 06 D4 */ lfs f0, 0x6d4(r28) -/* 80958AF8 D0 1C 0A 6C */ stfs f0, 0xa6c(r28) -/* 80958AFC C0 1C 06 D8 */ lfs f0, 0x6d8(r28) -/* 80958B00 D0 1C 0A 70 */ stfs f0, 0xa70(r28) -/* 80958B04 80 1C 06 DC */ lwz r0, 0x6dc(r28) -/* 80958B08 90 1C 0A 74 */ stw r0, 0xa74(r28) -/* 80958B0C C0 1C 06 E0 */ lfs f0, 0x6e0(r28) -/* 80958B10 D0 1C 0A 78 */ stfs f0, 0xa78(r28) -/* 80958B14 80 1C 06 E4 */ lwz r0, 0x6e4(r28) -/* 80958B18 90 1C 0A 7C */ stw r0, 0xa7c(r28) -/* 80958B1C C0 1C 06 68 */ lfs f0, 0x668(r28) -/* 80958B20 D0 1C 09 80 */ stfs f0, 0x980(r28) -/* 80958B24 7F 83 E3 78 */ mr r3, r28 -/* 80958B28 4B 7F A2 5D */ bl setEnvTevColor__8daNpcF_cFv -/* 80958B2C 7F 83 E3 78 */ mr r3, r28 -/* 80958B30 4B 7F A2 B1 */ bl setRoomNo__8daNpcF_cFv -/* 80958B34 80 7C 05 68 */ lwz r3, 0x568(r28) -/* 80958B38 4B 6B 86 B5 */ bl modelCalc__16mDoExt_McaMorfSOFv -/* 80958B3C 7F 83 E3 78 */ mr r3, r28 -/* 80958B40 48 00 0D D1 */ bl reset__10daNpcAsh_cFv -/* 80958B44 7F 83 E3 78 */ mr r3, r28 -/* 80958B48 48 00 05 B1 */ bl Execute__10daNpcAsh_cFv -lbl_80958B4C: -/* 80958B4C 7F A3 EB 78 */ mr r3, r29 -lbl_80958B50: -/* 80958B50 39 61 00 40 */ addi r11, r1, 0x40 -/* 80958B54 4B A0 96 C1 */ bl _restgpr_24 -/* 80958B58 80 01 00 44 */ lwz r0, 0x44(r1) -/* 80958B5C 7C 08 03 A6 */ mtlr r0 -/* 80958B60 38 21 00 40 */ addi r1, r1, 0x40 -/* 80958B64 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash/Delete__10daNpcAsh_cFv.s b/asm/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash/Delete__10daNpcAsh_cFv.s deleted file mode 100644 index aed9db9695..0000000000 --- a/asm/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash/Delete__10daNpcAsh_cFv.s +++ /dev/null @@ -1,14 +0,0 @@ -lbl_809590C4: -/* 809590C4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 809590C8 7C 08 02 A6 */ mflr r0 -/* 809590CC 90 01 00 14 */ stw r0, 0x14(r1) -/* 809590D0 38 80 FF FF */ li r4, -1 -/* 809590D4 81 83 0B 44 */ lwz r12, 0xb44(r3) -/* 809590D8 81 8C 00 08 */ lwz r12, 8(r12) -/* 809590DC 7D 89 03 A6 */ mtctr r12 -/* 809590E0 4E 80 04 21 */ bctrl -/* 809590E4 38 60 00 01 */ li r3, 1 -/* 809590E8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 809590EC 7C 08 03 A6 */ mtlr r0 -/* 809590F0 38 21 00 10 */ addi r1, r1, 0x10 -/* 809590F4 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash/Draw__10daNpcAsh_cFv.s b/asm/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash/Draw__10daNpcAsh_cFv.s deleted file mode 100644 index 59ec5bed8a..0000000000 --- a/asm/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash/Draw__10daNpcAsh_cFv.s +++ /dev/null @@ -1,73 +0,0 @@ -lbl_8095911C: -/* 8095911C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80959120 7C 08 02 A6 */ mflr r0 -/* 80959124 90 01 00 14 */ stw r0, 0x14(r1) -/* 80959128 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8095912C 7C 7F 1B 78 */ mr r31, r3 -/* 80959130 80 83 05 68 */ lwz r4, 0x568(r3) -/* 80959134 80 84 00 04 */ lwz r4, 4(r4) -/* 80959138 80 84 00 04 */ lwz r4, 4(r4) -/* 8095913C 80 84 00 60 */ lwz r4, 0x60(r4) -/* 80959140 80 84 00 08 */ lwz r4, 8(r4) -/* 80959144 80 03 0B E0 */ lwz r0, 0xbe0(r3) -/* 80959148 90 04 00 3C */ stw r0, 0x3c(r4) -/* 8095914C 38 80 00 00 */ li r4, 0 -/* 80959150 38 A0 00 00 */ li r5, 0 -/* 80959154 3C C0 80 96 */ lis r6, m__16daNpcAsh_Param_c@ha /* 0x8095D640@ha */ -/* 80959158 38 C6 D6 40 */ addi r6, r6, m__16daNpcAsh_Param_c@l /* 0x8095D640@l */ -/* 8095915C C0 26 00 0C */ lfs f1, 0xc(r6) -/* 80959160 38 C0 00 00 */ li r6, 0 -/* 80959164 38 E0 00 00 */ li r7, 0 -/* 80959168 4B 7F 91 45 */ bl draw__8daNpcF_cFiifP11_GXColorS10i -/* 8095916C 88 1F 0F 60 */ lbz r0, 0xf60(r31) -/* 80959170 28 00 00 01 */ cmplwi r0, 1 -/* 80959174 40 82 00 AC */ bne lbl_80959220 -/* 80959178 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */ -/* 8095917C 38 63 CA 54 */ addi r3, r3, g_env_light@l /* 0x8042CA54@l */ -/* 80959180 80 9F 0B D8 */ lwz r4, 0xbd8(r31) -/* 80959184 80 84 00 04 */ lwz r4, 4(r4) -/* 80959188 38 BF 01 0C */ addi r5, r31, 0x10c -/* 8095918C 4B 84 BC 15 */ bl setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c -/* 80959190 80 7F 05 68 */ lwz r3, 0x568(r31) -/* 80959194 80 63 00 04 */ lwz r3, 4(r3) -/* 80959198 80 63 00 84 */ lwz r3, 0x84(r3) -/* 8095919C 80 63 00 0C */ lwz r3, 0xc(r3) -/* 809591A0 38 63 03 00 */ addi r3, r3, 0x300 -/* 809591A4 3C 80 80 3E */ lis r4, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */ -/* 809591A8 38 84 D4 70 */ addi r4, r4, now__14mDoMtx_stack_c@l /* 0x803DD470@l */ -/* 809591AC 4B 9E D3 05 */ bl PSMTXCopy -/* 809591B0 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */ -/* 809591B4 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */ -/* 809591B8 80 9F 0B D8 */ lwz r4, 0xbd8(r31) -/* 809591BC 38 84 00 24 */ addi r4, r4, 0x24 -/* 809591C0 4B 9E D2 F1 */ bl PSMTXCopy -/* 809591C4 80 7F 0B D8 */ lwz r3, 0xbd8(r31) -/* 809591C8 4B 6B 4A FD */ bl mDoExt_modelUpdateDL__FP8J3DModel -/* 809591CC 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */ -/* 809591D0 38 63 CA 54 */ addi r3, r3, g_env_light@l /* 0x8042CA54@l */ -/* 809591D4 80 9F 0B DC */ lwz r4, 0xbdc(r31) -/* 809591D8 80 84 00 04 */ lwz r4, 4(r4) -/* 809591DC 38 BF 01 0C */ addi r5, r31, 0x10c -/* 809591E0 4B 84 BB C1 */ bl setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c -/* 809591E4 80 7F 05 68 */ lwz r3, 0x568(r31) -/* 809591E8 80 63 00 04 */ lwz r3, 4(r3) -/* 809591EC 80 63 00 84 */ lwz r3, 0x84(r3) -/* 809591F0 80 63 00 0C */ lwz r3, 0xc(r3) -/* 809591F4 38 63 00 60 */ addi r3, r3, 0x60 -/* 809591F8 3C 80 80 3E */ lis r4, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */ -/* 809591FC 38 84 D4 70 */ addi r4, r4, now__14mDoMtx_stack_c@l /* 0x803DD470@l */ -/* 80959200 4B 9E D2 B1 */ bl PSMTXCopy -/* 80959204 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */ -/* 80959208 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */ -/* 8095920C 80 9F 0B DC */ lwz r4, 0xbdc(r31) -/* 80959210 38 84 00 24 */ addi r4, r4, 0x24 -/* 80959214 4B 9E D2 9D */ bl PSMTXCopy -/* 80959218 80 7F 0B DC */ lwz r3, 0xbdc(r31) -/* 8095921C 4B 6B 4A A9 */ bl mDoExt_modelUpdateDL__FP8J3DModel -lbl_80959220: -/* 80959220 38 60 00 01 */ li r3, 1 -/* 80959224 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80959228 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8095922C 7C 08 03 A6 */ mtlr r0 -/* 80959230 38 21 00 10 */ addi r1, r1, 0x10 -/* 80959234 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash/EvCut_Introduction__10daNpcAsh_cFi.s b/asm/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash/EvCut_Introduction__10daNpcAsh_cFi.s deleted file mode 100644 index 272cfebe2d..0000000000 --- a/asm/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash/EvCut_Introduction__10daNpcAsh_cFi.s +++ /dev/null @@ -1,75 +0,0 @@ -lbl_8095B48C: -/* 8095B48C 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8095B490 7C 08 02 A6 */ mflr r0 -/* 8095B494 90 01 00 24 */ stw r0, 0x24(r1) -/* 8095B498 39 61 00 20 */ addi r11, r1, 0x20 -/* 8095B49C 4B A0 6D 3D */ bl _savegpr_28 -/* 8095B4A0 7C 7C 1B 78 */ mr r28, r3 -/* 8095B4A4 7C 9D 23 78 */ mr r29, r4 -/* 8095B4A8 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8095B4AC 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8095B4B0 3B C3 4F F8 */ addi r30, r3, 0x4ff8 -/* 8095B4B4 7F C3 F3 78 */ mr r3, r30 -/* 8095B4B8 3C A0 80 96 */ lis r5, d_a_npc_ash__stringBase0@ha /* 0x8095D910@ha */ -/* 8095B4BC 38 A5 D9 10 */ addi r5, r5, d_a_npc_ash__stringBase0@l /* 0x8095D910@l */ -/* 8095B4C0 38 A5 00 7B */ addi r5, r5, 0x7b -/* 8095B4C4 38 C0 00 03 */ li r6, 3 -/* 8095B4C8 4B 6E CC 25 */ bl getMySubstanceP__16dEvent_manager_cFiPCci -/* 8095B4CC 7C 7F 1B 79 */ or. r31, r3, r3 -/* 8095B4D0 40 82 00 0C */ bne lbl_8095B4DC -/* 8095B4D4 38 60 00 00 */ li r3, 0 -/* 8095B4D8 48 00 00 9C */ b lbl_8095B574 -lbl_8095B4DC: -/* 8095B4DC 7F C3 F3 78 */ mr r3, r30 -/* 8095B4E0 7F A4 EB 78 */ mr r4, r29 -/* 8095B4E4 4B 6E C8 69 */ bl getIsAddvance__16dEvent_manager_cFi -/* 8095B4E8 2C 03 00 00 */ cmpwi r3, 0 -/* 8095B4EC 41 82 00 84 */ beq lbl_8095B570 -/* 8095B4F0 80 1F 00 00 */ lwz r0, 0(r31) -/* 8095B4F4 2C 00 00 01 */ cmpwi r0, 1 -/* 8095B4F8 41 82 00 48 */ beq lbl_8095B540 -/* 8095B4FC 40 80 00 10 */ bge lbl_8095B50C -/* 8095B500 2C 00 00 00 */ cmpwi r0, 0 -/* 8095B504 40 80 00 10 */ bge lbl_8095B514 -/* 8095B508 48 00 00 68 */ b lbl_8095B570 -lbl_8095B50C: -/* 8095B50C 2C 00 00 03 */ cmpwi r0, 3 -/* 8095B510 40 80 00 60 */ bge lbl_8095B570 -lbl_8095B514: -/* 8095B514 A8 1C 0F 5A */ lha r0, 0xf5a(r28) -/* 8095B518 2C 00 00 00 */ cmpwi r0, 0 -/* 8095B51C 40 82 00 10 */ bne lbl_8095B52C -/* 8095B520 80 1C 0C B0 */ lwz r0, 0xcb0(r28) -/* 8095B524 28 00 00 00 */ cmplwi r0, 0 -/* 8095B528 41 82 00 10 */ beq lbl_8095B538 -lbl_8095B52C: -/* 8095B52C 38 00 00 00 */ li r0, 0 -/* 8095B530 B0 1C 0F 5A */ sth r0, 0xf5a(r28) -/* 8095B534 90 1C 0C B0 */ stw r0, 0xcb0(r28) -lbl_8095B538: -/* 8095B538 38 60 00 01 */ li r3, 1 -/* 8095B53C 48 00 00 38 */ b lbl_8095B574 -lbl_8095B540: -/* 8095B540 A8 1C 0F 5A */ lha r0, 0xf5a(r28) -/* 8095B544 2C 00 00 02 */ cmpwi r0, 2 -/* 8095B548 40 82 00 10 */ bne lbl_8095B558 -/* 8095B54C 80 1C 0C B0 */ lwz r0, 0xcb0(r28) -/* 8095B550 28 00 00 00 */ cmplwi r0, 0 -/* 8095B554 41 82 00 14 */ beq lbl_8095B568 -lbl_8095B558: -/* 8095B558 38 00 00 02 */ li r0, 2 -/* 8095B55C B0 1C 0F 5A */ sth r0, 0xf5a(r28) -/* 8095B560 38 00 00 00 */ li r0, 0 -/* 8095B564 90 1C 0C B0 */ stw r0, 0xcb0(r28) -lbl_8095B568: -/* 8095B568 38 60 00 01 */ li r3, 1 -/* 8095B56C 48 00 00 08 */ b lbl_8095B574 -lbl_8095B570: -/* 8095B570 38 60 00 00 */ li r3, 0 -lbl_8095B574: -/* 8095B574 39 61 00 20 */ addi r11, r1, 0x20 -/* 8095B578 4B A0 6C AD */ bl _restgpr_28 -/* 8095B57C 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8095B580 7C 08 03 A6 */ mtlr r0 -/* 8095B584 38 21 00 20 */ addi r1, r1, 0x20 -/* 8095B588 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash/Execute__10daNpcAsh_cFv.s b/asm/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash/Execute__10daNpcAsh_cFv.s deleted file mode 100644 index 3cfa8d6115..0000000000 --- a/asm/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash/Execute__10daNpcAsh_cFv.s +++ /dev/null @@ -1,10 +0,0 @@ -lbl_809590F8: -/* 809590F8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 809590FC 7C 08 02 A6 */ mflr r0 -/* 80959100 90 01 00 14 */ stw r0, 0x14(r1) -/* 80959104 4B 7F 8F 11 */ bl execute__8daNpcF_cFv -/* 80959108 38 60 00 01 */ li r3, 1 -/* 8095910C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80959110 7C 08 03 A6 */ mtlr r0 -/* 80959114 38 21 00 10 */ addi r1, r1, 0x10 -/* 80959118 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash/createHeapCallBack__10daNpcAsh_cFP10fopAc_ac_c.s b/asm/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash/createHeapCallBack__10daNpcAsh_cFP10fopAc_ac_c.s deleted file mode 100644 index e768e8cfde..0000000000 --- a/asm/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash/createHeapCallBack__10daNpcAsh_cFP10fopAc_ac_c.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_80959458: -/* 80959458 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8095945C 7C 08 02 A6 */ mflr r0 -/* 80959460 90 01 00 14 */ stw r0, 0x14(r1) -/* 80959464 4B FF F7 05 */ bl CreateHeap__10daNpcAsh_cFv -/* 80959468 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8095946C 7C 08 03 A6 */ mtlr r0 -/* 80959470 38 21 00 10 */ addi r1, r1, 0x10 -/* 80959474 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash/ctrlJointCallBack__10daNpcAsh_cFP8J3DJointi.s b/asm/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash/ctrlJointCallBack__10daNpcAsh_cFP8J3DJointi.s deleted file mode 100644 index 3153d6a123..0000000000 --- a/asm/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash/ctrlJointCallBack__10daNpcAsh_cFP8J3DJointi.s +++ /dev/null @@ -1,21 +0,0 @@ -lbl_80959478: -/* 80959478 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8095947C 7C 08 02 A6 */ mflr r0 -/* 80959480 90 01 00 14 */ stw r0, 0x14(r1) -/* 80959484 7C 60 1B 78 */ mr r0, r3 -/* 80959488 2C 04 00 00 */ cmpwi r4, 0 -/* 8095948C 40 82 00 24 */ bne lbl_809594B0 -/* 80959490 3C 60 80 43 */ lis r3, j3dSys@ha /* 0x80434AC8@ha */ -/* 80959494 38 63 4A C8 */ addi r3, r3, j3dSys@l /* 0x80434AC8@l */ -/* 80959498 80 A3 00 38 */ lwz r5, 0x38(r3) -/* 8095949C 80 65 00 14 */ lwz r3, 0x14(r5) -/* 809594A0 28 03 00 00 */ cmplwi r3, 0 -/* 809594A4 41 82 00 0C */ beq lbl_809594B0 -/* 809594A8 7C 04 03 78 */ mr r4, r0 -/* 809594AC 4B FF FD 8D */ bl ctrlJoint__10daNpcAsh_cFP8J3DJointP8J3DModel -lbl_809594B0: -/* 809594B0 38 60 00 01 */ li r3, 1 -/* 809594B4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 809594B8 7C 08 03 A6 */ mtlr r0 -/* 809594BC 38 21 00 10 */ addi r1, r1, 0x10 -/* 809594C0 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash/daNpcAsh_Create__FPv.s b/asm/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash/daNpcAsh_Create__FPv.s deleted file mode 100644 index ca5abd33af..0000000000 --- a/asm/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash/daNpcAsh_Create__FPv.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_8095BC38: -/* 8095BC38 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8095BC3C 7C 08 02 A6 */ mflr r0 -/* 8095BC40 90 01 00 14 */ stw r0, 0x14(r1) -/* 8095BC44 4B FF CB 5D */ bl Create__10daNpcAsh_cFv -/* 8095BC48 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8095BC4C 7C 08 03 A6 */ mtlr r0 -/* 8095BC50 38 21 00 10 */ addi r1, r1, 0x10 -/* 8095BC54 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash/daNpcAsh_Delete__FPv.s b/asm/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash/daNpcAsh_Delete__FPv.s deleted file mode 100644 index 09bfef9fc7..0000000000 --- a/asm/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash/daNpcAsh_Delete__FPv.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_8095BC58: -/* 8095BC58 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8095BC5C 7C 08 02 A6 */ mflr r0 -/* 8095BC60 90 01 00 14 */ stw r0, 0x14(r1) -/* 8095BC64 4B FF D4 61 */ bl Delete__10daNpcAsh_cFv -/* 8095BC68 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8095BC6C 7C 08 03 A6 */ mtlr r0 -/* 8095BC70 38 21 00 10 */ addi r1, r1, 0x10 -/* 8095BC74 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash/daNpcAsh_Draw__FPv.s b/asm/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash/daNpcAsh_Draw__FPv.s deleted file mode 100644 index 88d6cd61a2..0000000000 --- a/asm/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash/daNpcAsh_Draw__FPv.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_8095BC98: -/* 8095BC98 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8095BC9C 7C 08 02 A6 */ mflr r0 -/* 8095BCA0 90 01 00 14 */ stw r0, 0x14(r1) -/* 8095BCA4 4B FF D4 79 */ bl Draw__10daNpcAsh_cFv -/* 8095BCA8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8095BCAC 7C 08 03 A6 */ mtlr r0 -/* 8095BCB0 38 21 00 10 */ addi r1, r1, 0x10 -/* 8095BCB4 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash/daNpcAsh_Execute__FPv.s b/asm/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash/daNpcAsh_Execute__FPv.s deleted file mode 100644 index 4b10b74793..0000000000 --- a/asm/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash/daNpcAsh_Execute__FPv.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_8095BC78: -/* 8095BC78 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8095BC7C 7C 08 02 A6 */ mflr r0 -/* 8095BC80 90 01 00 14 */ stw r0, 0x14(r1) -/* 8095BC84 4B FF D4 75 */ bl Execute__10daNpcAsh_cFv -/* 8095BC88 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8095BC8C 7C 08 03 A6 */ mtlr r0 -/* 8095BC90 38 21 00 10 */ addi r1, r1, 0x10 -/* 8095BC94 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash/isSneaking__10daNpcAsh_cFv.s b/asm/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash/isSneaking__10daNpcAsh_cFv.s deleted file mode 100644 index ecd9d7c421..0000000000 --- a/asm/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash/isSneaking__10daNpcAsh_cFv.s +++ /dev/null @@ -1,31 +0,0 @@ -lbl_80959BD0: -/* 80959BD0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80959BD4 7C 08 02 A6 */ mflr r0 -/* 80959BD8 90 01 00 14 */ stw r0, 0x14(r1) -/* 80959BDC 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80959BE0 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80959BE4 38 63 4E 00 */ addi r3, r3, 0x4e00 -/* 80959BE8 3C 80 80 96 */ lis r4, d_a_npc_ash__stringBase0@ha /* 0x8095D910@ha */ -/* 80959BEC 38 84 D9 10 */ addi r4, r4, d_a_npc_ash__stringBase0@l /* 0x8095D910@l */ -/* 80959BF0 38 84 00 6C */ addi r4, r4, 0x6c -/* 80959BF4 4B A0 ED A1 */ bl strcmp -/* 80959BF8 2C 03 00 00 */ cmpwi r3, 0 -/* 80959BFC 40 82 00 30 */ bne lbl_80959C2C -/* 80959C00 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80959C04 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80959C08 88 03 4E 0A */ lbz r0, 0x4e0a(r3) -/* 80959C0C 2C 00 00 05 */ cmpwi r0, 5 -/* 80959C10 40 82 00 1C */ bne lbl_80959C2C -/* 80959C14 38 60 00 00 */ li r3, 0 -/* 80959C18 4B 6D 2D 65 */ bl getLayerNo__14dComIfG_play_cFi -/* 80959C1C 2C 03 00 02 */ cmpwi r3, 2 -/* 80959C20 40 82 00 0C */ bne lbl_80959C2C -/* 80959C24 38 60 00 01 */ li r3, 1 -/* 80959C28 48 00 00 08 */ b lbl_80959C30 -lbl_80959C2C: -/* 80959C2C 38 60 00 00 */ li r3, 0 -lbl_80959C30: -/* 80959C30 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80959C34 7C 08 03 A6 */ mtlr r0 -/* 80959C38 38 21 00 10 */ addi r1, r1, 0x10 -/* 80959C3C 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash/main__10daNpcAsh_cFv.s b/asm/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash/main__10daNpcAsh_cFv.s deleted file mode 100644 index 6ab78f8038..0000000000 --- a/asm/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash/main__10daNpcAsh_cFv.s +++ /dev/null @@ -1,170 +0,0 @@ -lbl_8095BF6C: -/* 8095BF6C 94 21 FF 50 */ stwu r1, -0xb0(r1) -/* 8095BF70 7C 08 02 A6 */ mflr r0 -/* 8095BF74 90 01 00 B4 */ stw r0, 0xb4(r1) -/* 8095BF78 93 E1 00 AC */ stw r31, 0xac(r1) -/* 8095BF7C 93 C1 00 A8 */ stw r30, 0xa8(r1) -/* 8095BF80 7C 7E 1B 78 */ mr r30, r3 -/* 8095BF84 3C 60 80 96 */ lis r3, m__16daNpcAsh_Param_c@ha /* 0x8095D640@ha */ -/* 8095BF88 3B E3 D6 40 */ addi r31, r3, m__16daNpcAsh_Param_c@l /* 0x8095D640@l */ -/* 8095BF8C 38 7E 0F 30 */ addi r3, r30, 0xf30 -/* 8095BF90 4B A0 60 89 */ bl __ptmf_test -/* 8095BF94 2C 03 00 00 */ cmpwi r3, 0 -/* 8095BF98 41 82 00 18 */ beq lbl_8095BFB0 -/* 8095BF9C 7F C3 F3 78 */ mr r3, r30 -/* 8095BFA0 38 80 00 00 */ li r4, 0 -/* 8095BFA4 39 9E 0F 30 */ addi r12, r30, 0xf30 -/* 8095BFA8 4B A0 60 DD */ bl __ptmf_scall -/* 8095BFAC 60 00 00 00 */ nop -lbl_8095BFB0: -/* 8095BFB0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8095BFB4 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8095BFB8 88 03 4F AD */ lbz r0, 0x4fad(r3) -/* 8095BFBC 28 00 00 00 */ cmplwi r0, 0 -/* 8095BFC0 41 82 00 30 */ beq lbl_8095BFF0 -/* 8095BFC4 A0 1E 00 F8 */ lhz r0, 0xf8(r30) -/* 8095BFC8 28 00 00 01 */ cmplwi r0, 1 -/* 8095BFCC 41 82 00 24 */ beq lbl_8095BFF0 -/* 8095BFD0 80 9E 0F 4C */ lwz r4, 0xf4c(r30) -/* 8095BFD4 3C 04 00 01 */ addis r0, r4, 1 -/* 8095BFD8 28 00 FF FF */ cmplwi r0, 0xffff -/* 8095BFDC 41 82 00 14 */ beq lbl_8095BFF0 -/* 8095BFE0 38 63 4E C8 */ addi r3, r3, 0x4ec8 -/* 8095BFE4 4B 6E 77 09 */ bl setPtI_Id__14dEvt_control_cFUi -/* 8095BFE8 38 00 FF FF */ li r0, -1 -/* 8095BFEC 90 1E 0F 4C */ stw r0, 0xf4c(r30) -lbl_8095BFF0: -/* 8095BFF0 80 7F 00 90 */ lwz r3, 0x90(r31) -/* 8095BFF4 80 1F 00 94 */ lwz r0, 0x94(r31) -/* 8095BFF8 90 61 00 28 */ stw r3, 0x28(r1) -/* 8095BFFC 90 01 00 2C */ stw r0, 0x2c(r1) -/* 8095C000 80 1F 00 98 */ lwz r0, 0x98(r31) -/* 8095C004 90 01 00 30 */ stw r0, 0x30(r1) -/* 8095C008 38 7F 00 00 */ addi r3, r31, 0 -/* 8095C00C C0 03 00 44 */ lfs f0, 0x44(r3) -/* 8095C010 D0 01 00 2C */ stfs f0, 0x2c(r1) -/* 8095C014 80 1F 00 9C */ lwz r0, 0x9c(r31) -/* 8095C018 90 01 00 08 */ stw r0, 8(r1) -/* 8095C01C 38 01 00 28 */ addi r0, r1, 0x28 -/* 8095C020 90 01 00 08 */ stw r0, 8(r1) -/* 8095C024 80 7F 00 A0 */ lwz r3, 0xa0(r31) -/* 8095C028 80 1F 00 A4 */ lwz r0, 0xa4(r31) -/* 8095C02C 90 61 00 34 */ stw r3, 0x34(r1) -/* 8095C030 90 01 00 38 */ stw r0, 0x38(r1) -/* 8095C034 80 1F 00 A8 */ lwz r0, 0xa8(r31) -/* 8095C038 90 01 00 3C */ stw r0, 0x3c(r1) -/* 8095C03C D0 01 00 38 */ stfs f0, 0x38(r1) -/* 8095C040 80 1F 00 AC */ lwz r0, 0xac(r31) -/* 8095C044 90 01 00 0C */ stw r0, 0xc(r1) -/* 8095C048 38 01 00 34 */ addi r0, r1, 0x34 -/* 8095C04C 90 01 00 0C */ stw r0, 0xc(r1) -/* 8095C050 80 7F 00 B0 */ lwz r3, 0xb0(r31) -/* 8095C054 80 1F 00 B4 */ lwz r0, 0xb4(r31) -/* 8095C058 90 61 00 40 */ stw r3, 0x40(r1) -/* 8095C05C 90 01 00 44 */ stw r0, 0x44(r1) -/* 8095C060 80 1F 00 B8 */ lwz r0, 0xb8(r31) -/* 8095C064 90 01 00 48 */ stw r0, 0x48(r1) -/* 8095C068 D0 01 00 44 */ stfs f0, 0x44(r1) -/* 8095C06C 80 1F 00 BC */ lwz r0, 0xbc(r31) -/* 8095C070 90 01 00 10 */ stw r0, 0x10(r1) -/* 8095C074 38 01 00 40 */ addi r0, r1, 0x40 -/* 8095C078 90 01 00 10 */ stw r0, 0x10(r1) -/* 8095C07C 80 7F 00 C0 */ lwz r3, 0xc0(r31) -/* 8095C080 80 1F 00 C4 */ lwz r0, 0xc4(r31) -/* 8095C084 90 61 00 4C */ stw r3, 0x4c(r1) -/* 8095C088 90 01 00 50 */ stw r0, 0x50(r1) -/* 8095C08C 80 1F 00 C8 */ lwz r0, 0xc8(r31) -/* 8095C090 90 01 00 54 */ stw r0, 0x54(r1) -/* 8095C094 D0 01 00 50 */ stfs f0, 0x50(r1) -/* 8095C098 80 1F 00 CC */ lwz r0, 0xcc(r31) -/* 8095C09C 90 01 00 14 */ stw r0, 0x14(r1) -/* 8095C0A0 38 01 00 4C */ addi r0, r1, 0x4c -/* 8095C0A4 90 01 00 14 */ stw r0, 0x14(r1) -/* 8095C0A8 80 7F 00 D0 */ lwz r3, 0xd0(r31) -/* 8095C0AC 80 1F 00 D4 */ lwz r0, 0xd4(r31) -/* 8095C0B0 90 61 00 58 */ stw r3, 0x58(r1) -/* 8095C0B4 90 01 00 5C */ stw r0, 0x5c(r1) -/* 8095C0B8 80 1F 00 D8 */ lwz r0, 0xd8(r31) -/* 8095C0BC 90 01 00 60 */ stw r0, 0x60(r1) -/* 8095C0C0 D0 01 00 5C */ stfs f0, 0x5c(r1) -/* 8095C0C4 80 1F 00 DC */ lwz r0, 0xdc(r31) -/* 8095C0C8 90 01 00 18 */ stw r0, 0x18(r1) -/* 8095C0CC 38 01 00 58 */ addi r0, r1, 0x58 -/* 8095C0D0 90 01 00 18 */ stw r0, 0x18(r1) -/* 8095C0D4 80 7F 00 E0 */ lwz r3, 0xe0(r31) -/* 8095C0D8 80 1F 00 E4 */ lwz r0, 0xe4(r31) -/* 8095C0DC 90 61 00 64 */ stw r3, 0x64(r1) -/* 8095C0E0 90 01 00 68 */ stw r0, 0x68(r1) -/* 8095C0E4 80 1F 00 E8 */ lwz r0, 0xe8(r31) -/* 8095C0E8 90 01 00 6C */ stw r0, 0x6c(r1) -/* 8095C0EC D0 01 00 68 */ stfs f0, 0x68(r1) -/* 8095C0F0 80 1F 00 EC */ lwz r0, 0xec(r31) -/* 8095C0F4 90 01 00 1C */ stw r0, 0x1c(r1) -/* 8095C0F8 38 01 00 64 */ addi r0, r1, 0x64 -/* 8095C0FC 90 01 00 1C */ stw r0, 0x1c(r1) -/* 8095C100 80 7F 00 F0 */ lwz r3, 0xf0(r31) -/* 8095C104 80 1F 00 F4 */ lwz r0, 0xf4(r31) -/* 8095C108 90 61 00 70 */ stw r3, 0x70(r1) -/* 8095C10C 90 01 00 74 */ stw r0, 0x74(r1) -/* 8095C110 80 1F 00 F8 */ lwz r0, 0xf8(r31) -/* 8095C114 90 01 00 78 */ stw r0, 0x78(r1) -/* 8095C118 D0 01 00 74 */ stfs f0, 0x74(r1) -/* 8095C11C 80 1F 00 FC */ lwz r0, 0xfc(r31) -/* 8095C120 90 01 00 20 */ stw r0, 0x20(r1) -/* 8095C124 38 01 00 70 */ addi r0, r1, 0x70 -/* 8095C128 90 01 00 20 */ stw r0, 0x20(r1) -/* 8095C12C 80 7F 01 00 */ lwz r3, 0x100(r31) -/* 8095C130 80 1F 01 04 */ lwz r0, 0x104(r31) -/* 8095C134 90 61 00 7C */ stw r3, 0x7c(r1) -/* 8095C138 90 01 00 80 */ stw r0, 0x80(r1) -/* 8095C13C 80 1F 01 08 */ lwz r0, 0x108(r31) -/* 8095C140 90 01 00 84 */ stw r0, 0x84(r1) -/* 8095C144 D0 01 00 80 */ stfs f0, 0x80(r1) -/* 8095C148 80 1F 01 0C */ lwz r0, 0x10c(r31) -/* 8095C14C 90 01 00 24 */ stw r0, 0x24(r1) -/* 8095C150 38 01 00 7C */ addi r0, r1, 0x7c -/* 8095C154 90 01 00 24 */ stw r0, 0x24(r1) -/* 8095C158 38 A1 00 84 */ addi r5, r1, 0x84 -/* 8095C15C 38 9F 01 0C */ addi r4, r31, 0x10c -/* 8095C160 38 00 00 04 */ li r0, 4 -/* 8095C164 7C 09 03 A6 */ mtctr r0 -lbl_8095C168: -/* 8095C168 80 64 00 04 */ lwz r3, 4(r4) -/* 8095C16C 84 04 00 08 */ lwzu r0, 8(r4) -/* 8095C170 90 65 00 04 */ stw r3, 4(r5) -/* 8095C174 94 05 00 08 */ stwu r0, 8(r5) -/* 8095C178 42 00 FF F0 */ bdnz lbl_8095C168 -/* 8095C17C 38 01 00 08 */ addi r0, r1, 8 -/* 8095C180 90 01 00 88 */ stw r0, 0x88(r1) -/* 8095C184 38 01 00 0C */ addi r0, r1, 0xc -/* 8095C188 90 01 00 8C */ stw r0, 0x8c(r1) -/* 8095C18C 38 01 00 10 */ addi r0, r1, 0x10 -/* 8095C190 90 01 00 90 */ stw r0, 0x90(r1) -/* 8095C194 38 01 00 14 */ addi r0, r1, 0x14 -/* 8095C198 90 01 00 94 */ stw r0, 0x94(r1) -/* 8095C19C 38 01 00 18 */ addi r0, r1, 0x18 -/* 8095C1A0 90 01 00 98 */ stw r0, 0x98(r1) -/* 8095C1A4 38 01 00 1C */ addi r0, r1, 0x1c -/* 8095C1A8 90 01 00 9C */ stw r0, 0x9c(r1) -/* 8095C1AC 38 01 00 20 */ addi r0, r1, 0x20 -/* 8095C1B0 90 01 00 A0 */ stw r0, 0xa0(r1) -/* 8095C1B4 38 01 00 24 */ addi r0, r1, 0x24 -/* 8095C1B8 90 01 00 A4 */ stw r0, 0xa4(r1) -/* 8095C1BC A8 7E 09 DE */ lha r3, 0x9de(r30) -/* 8095C1C0 7C 60 07 35 */ extsh. r0, r3 -/* 8095C1C4 41 80 00 18 */ blt lbl_8095C1DC -/* 8095C1C8 2C 03 00 08 */ cmpwi r3, 8 -/* 8095C1CC 40 80 00 10 */ bge lbl_8095C1DC -/* 8095C1D0 7F C3 F3 78 */ mr r3, r30 -/* 8095C1D4 38 81 00 88 */ addi r4, r1, 0x88 -/* 8095C1D8 4B 7F 6F 79 */ bl playExpressionAnm__8daNpcF_cFPPPQ28daNpcF_c18daNpcF_anmPlayData -lbl_8095C1DC: -/* 8095C1DC 7F C3 F3 78 */ mr r3, r30 -/* 8095C1E0 48 00 00 21 */ bl playMotion__10daNpcAsh_cFv -/* 8095C1E4 38 60 00 01 */ li r3, 1 -/* 8095C1E8 83 E1 00 AC */ lwz r31, 0xac(r1) -/* 8095C1EC 83 C1 00 A8 */ lwz r30, 0xa8(r1) -/* 8095C1F0 80 01 00 B4 */ lwz r0, 0xb4(r1) -/* 8095C1F4 7C 08 03 A6 */ mtlr r0 -/* 8095C1F8 38 21 00 B0 */ addi r1, r1, 0xb0 -/* 8095C1FC 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash/setAction__10daNpcAsh_cFM10daNpcAsh_cFPCvPvPv_b.s b/asm/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash/setAction__10daNpcAsh_cFM10daNpcAsh_cFPCvPvPv_b.s deleted file mode 100644 index d0e55b78d2..0000000000 --- a/asm/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash/setAction__10daNpcAsh_cFM10daNpcAsh_cFPCvPvPv_b.s +++ /dev/null @@ -1,45 +0,0 @@ -lbl_80959B28: -/* 80959B28 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80959B2C 7C 08 02 A6 */ mflr r0 -/* 80959B30 90 01 00 14 */ stw r0, 0x14(r1) -/* 80959B34 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80959B38 93 C1 00 08 */ stw r30, 8(r1) -/* 80959B3C 7C 7E 1B 78 */ mr r30, r3 -/* 80959B40 7C 9F 23 78 */ mr r31, r4 -/* 80959B44 38 00 00 03 */ li r0, 3 -/* 80959B48 B0 03 0F 5C */ sth r0, 0xf5c(r3) -/* 80959B4C 38 7E 0F 30 */ addi r3, r30, 0xf30 -/* 80959B50 4B A0 84 C9 */ bl __ptmf_test -/* 80959B54 2C 03 00 00 */ cmpwi r3, 0 -/* 80959B58 41 82 00 18 */ beq lbl_80959B70 -/* 80959B5C 7F C3 F3 78 */ mr r3, r30 -/* 80959B60 38 80 00 00 */ li r4, 0 -/* 80959B64 39 9E 0F 30 */ addi r12, r30, 0xf30 -/* 80959B68 4B A0 85 1D */ bl __ptmf_scall -/* 80959B6C 60 00 00 00 */ nop -lbl_80959B70: -/* 80959B70 38 00 00 00 */ li r0, 0 -/* 80959B74 B0 1E 0F 5C */ sth r0, 0xf5c(r30) -/* 80959B78 80 7F 00 00 */ lwz r3, 0(r31) -/* 80959B7C 80 1F 00 04 */ lwz r0, 4(r31) -/* 80959B80 90 7E 0F 30 */ stw r3, 0xf30(r30) -/* 80959B84 90 1E 0F 34 */ stw r0, 0xf34(r30) -/* 80959B88 80 1F 00 08 */ lwz r0, 8(r31) -/* 80959B8C 90 1E 0F 38 */ stw r0, 0xf38(r30) -/* 80959B90 38 7E 0F 30 */ addi r3, r30, 0xf30 -/* 80959B94 4B A0 84 85 */ bl __ptmf_test -/* 80959B98 2C 03 00 00 */ cmpwi r3, 0 -/* 80959B9C 41 82 00 18 */ beq lbl_80959BB4 -/* 80959BA0 7F C3 F3 78 */ mr r3, r30 -/* 80959BA4 38 80 00 00 */ li r4, 0 -/* 80959BA8 39 9E 0F 30 */ addi r12, r30, 0xf30 -/* 80959BAC 4B A0 84 D9 */ bl __ptmf_scall -/* 80959BB0 60 00 00 00 */ nop -lbl_80959BB4: -/* 80959BB4 38 60 00 01 */ li r3, 1 -/* 80959BB8 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80959BBC 83 C1 00 08 */ lwz r30, 8(r1) -/* 80959BC0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80959BC4 7C 08 03 A6 */ mtlr r0 -/* 80959BC8 38 21 00 10 */ addi r1, r1, 0x10 -/* 80959BCC 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash/setExpression__10daNpcAsh_cFif.s b/asm/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash/setExpression__10daNpcAsh_cFif.s deleted file mode 100644 index 19617a1f83..0000000000 --- a/asm/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash/setExpression__10daNpcAsh_cFif.s +++ /dev/null @@ -1,12 +0,0 @@ -lbl_8095A6C0: -/* 8095A6C0 2C 04 00 00 */ cmpwi r4, 0 -/* 8095A6C4 4D 80 00 20 */ bltlr -/* 8095A6C8 2C 04 00 08 */ cmpwi r4, 8 -/* 8095A6CC 4C 80 00 20 */ bgelr -/* 8095A6D0 B0 83 09 DE */ sth r4, 0x9de(r3) -/* 8095A6D4 D0 23 09 74 */ stfs f1, 0x974(r3) -/* 8095A6D8 38 00 FF FF */ li r0, -1 -/* 8095A6DC B0 03 09 D8 */ sth r0, 0x9d8(r3) -/* 8095A6E0 38 00 00 00 */ li r0, 0 -/* 8095A6E4 B0 03 09 D6 */ sth r0, 0x9d6(r3) -/* 8095A6E8 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash/setMotion__10daNpcAsh_cFifi.s b/asm/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash/setMotion__10daNpcAsh_cFifi.s deleted file mode 100644 index 252b6105ea..0000000000 --- a/asm/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash/setMotion__10daNpcAsh_cFifi.s +++ /dev/null @@ -1,19 +0,0 @@ -lbl_8095A67C: -/* 8095A67C 7C 86 07 34 */ extsh r6, r4 -/* 8095A680 2C 05 00 00 */ cmpwi r5, 0 -/* 8095A684 40 82 00 10 */ bne lbl_8095A694 -/* 8095A688 A8 03 09 E0 */ lha r0, 0x9e0(r3) -/* 8095A68C 7C 00 30 00 */ cmpw r0, r6 -/* 8095A690 4D 82 00 20 */ beqlr -lbl_8095A694: -/* 8095A694 2C 04 00 00 */ cmpwi r4, 0 -/* 8095A698 4D 80 00 20 */ bltlr -/* 8095A69C 2C 04 00 0A */ cmpwi r4, 0xa -/* 8095A6A0 4C 80 00 20 */ bgelr -/* 8095A6A4 B0 C3 09 E0 */ sth r6, 0x9e0(r3) -/* 8095A6A8 D0 23 09 7C */ stfs f1, 0x97c(r3) -/* 8095A6AC 38 00 FF FF */ li r0, -1 -/* 8095A6B0 B0 03 09 DC */ sth r0, 0x9dc(r3) -/* 8095A6B4 38 00 00 00 */ li r0, 0 -/* 8095A6B8 B0 03 09 DA */ sth r0, 0x9da(r3) -/* 8095A6BC 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_evtarea/d_a_tag_evtarea/Execute__15daTag_EvtArea_cFv.s b/asm/rel/d/a/tag/d_a_tag_evtarea/d_a_tag_evtarea/Execute__15daTag_EvtArea_cFv.s deleted file mode 100644 index c75e965dac..0000000000 --- a/asm/rel/d/a/tag/d_a_tag_evtarea/d_a_tag_evtarea/Execute__15daTag_EvtArea_cFv.s +++ /dev/null @@ -1,95 +0,0 @@ -lbl_8048C730: -/* 8048C730 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8048C734 7C 08 02 A6 */ mflr r0 -/* 8048C738 90 01 00 24 */ stw r0, 0x24(r1) -/* 8048C73C 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 8048C740 93 C1 00 18 */ stw r30, 0x18(r1) -/* 8048C744 7C 7F 1B 78 */ mr r31, r3 -/* 8048C748 88 03 04 BA */ lbz r0, 0x4ba(r3) -/* 8048C74C 7C 05 07 74 */ extsb r5, r0 -/* 8048C750 3C 80 80 45 */ lis r4, mStayNo__20dStage_roomControl_c+0x0@ha /* 0x80450D64@ha */ -/* 8048C754 88 04 0D 64 */ lbz r0, mStayNo__20dStage_roomControl_c+0x0@l(r4) /* 0x80450D64@l */ -/* 8048C758 7C 00 07 74 */ extsb r0, r0 -/* 8048C75C 7C 05 00 00 */ cmpw r5, r0 -/* 8048C760 40 82 01 18 */ bne lbl_8048C878 -/* 8048C764 48 00 01 39 */ bl isDelete__15daTag_EvtArea_cFv -/* 8048C768 2C 03 00 00 */ cmpwi r3, 0 -/* 8048C76C 41 82 00 14 */ beq lbl_8048C780 -/* 8048C770 7F E3 FB 78 */ mr r3, r31 -/* 8048C774 4B B8 D5 09 */ bl fopAcM_delete__FP10fopAc_ac_c -/* 8048C778 38 60 00 01 */ li r3, 1 -/* 8048C77C 48 00 01 00 */ b lbl_8048C87C -lbl_8048C780: -/* 8048C780 C0 1F 04 D0 */ lfs f0, 0x4d0(r31) -/* 8048C784 D0 1F 05 50 */ stfs f0, 0x550(r31) -/* 8048C788 C0 1F 04 D4 */ lfs f0, 0x4d4(r31) -/* 8048C78C D0 1F 05 54 */ stfs f0, 0x554(r31) -/* 8048C790 C0 1F 04 D8 */ lfs f0, 0x4d8(r31) -/* 8048C794 D0 1F 05 58 */ stfs f0, 0x558(r31) -/* 8048C798 A8 1F 04 E8 */ lha r0, 0x4e8(r31) -/* 8048C79C 54 03 06 3E */ clrlwi r3, r0, 0x18 -/* 8048C7A0 38 03 FF 01 */ addi r0, r3, -255 -/* 8048C7A4 30 00 FF FF */ addic r0, r0, -1 -/* 8048C7A8 7C 00 01 10 */ subfe r0, r0, r0 -/* 8048C7AC 7C 60 00 78 */ andc r0, r3, r0 -/* 8048C7B0 2C 00 00 08 */ cmpwi r0, 8 -/* 8048C7B4 40 82 00 18 */ bne lbl_8048C7CC -/* 8048C7B8 C0 3F 05 54 */ lfs f1, 0x554(r31) -/* 8048C7BC 3C 60 80 49 */ lis r3, lit_3853@ha /* 0x8048CDD0@ha */ -/* 8048C7C0 C0 03 CD D0 */ lfs f0, lit_3853@l(r3) /* 0x8048CDD0@l */ -/* 8048C7C4 EC 01 00 2A */ fadds f0, f1, f0 -/* 8048C7C8 D0 1F 05 54 */ stfs f0, 0x554(r31) -lbl_8048C7CC: -/* 8048C7CC 38 00 00 00 */ li r0, 0 -/* 8048C7D0 98 1F 04 96 */ stb r0, 0x496(r31) -/* 8048C7D4 C0 1F 05 50 */ lfs f0, 0x550(r31) -/* 8048C7D8 D0 1F 05 38 */ stfs f0, 0x538(r31) -/* 8048C7DC C0 1F 05 54 */ lfs f0, 0x554(r31) -/* 8048C7E0 D0 1F 05 3C */ stfs f0, 0x53c(r31) -/* 8048C7E4 C0 1F 05 58 */ lfs f0, 0x558(r31) -/* 8048C7E8 D0 1F 05 40 */ stfs f0, 0x540(r31) -/* 8048C7EC A8 1F 04 E8 */ lha r0, 0x4e8(r31) -/* 8048C7F0 54 03 06 3E */ clrlwi r3, r0, 0x18 -/* 8048C7F4 38 03 FF 01 */ addi r0, r3, -255 -/* 8048C7F8 30 00 FF FF */ addic r0, r0, -1 -/* 8048C7FC 7C 00 01 10 */ subfe r0, r0, r0 -/* 8048C800 7C 60 00 78 */ andc r0, r3, r0 -/* 8048C804 2C 00 00 0F */ cmpwi r0, 0xf -/* 8048C808 40 82 00 60 */ bne lbl_8048C868 -/* 8048C80C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8048C810 3B C3 61 C0 */ addi r30, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8048C814 80 7E 5D AC */ lwz r3, 0x5dac(r30) -/* 8048C818 C0 03 04 D0 */ lfs f0, 0x4d0(r3) -/* 8048C81C D0 01 00 08 */ stfs f0, 8(r1) -/* 8048C820 C0 03 04 D4 */ lfs f0, 0x4d4(r3) -/* 8048C824 D0 01 00 0C */ stfs f0, 0xc(r1) -/* 8048C828 C0 03 04 D8 */ lfs f0, 0x4d8(r3) -/* 8048C82C D0 01 00 10 */ stfs f0, 0x10(r1) -/* 8048C830 7F E3 FB 78 */ mr r3, r31 -/* 8048C834 38 81 00 08 */ addi r4, r1, 8 -/* 8048C838 48 00 04 D1 */ bl chkPointInArea__15daTag_EvtArea_cF4cXyz -/* 8048C83C 2C 03 00 00 */ cmpwi r3, 0 -/* 8048C840 41 82 00 28 */ beq lbl_8048C868 -/* 8048C844 80 7E 5D AC */ lwz r3, 0x5dac(r30) -/* 8048C848 C0 03 05 38 */ lfs f0, 0x538(r3) -/* 8048C84C D0 1F 05 38 */ stfs f0, 0x538(r31) -/* 8048C850 C0 03 05 3C */ lfs f0, 0x53c(r3) -/* 8048C854 D0 1F 05 3C */ stfs f0, 0x53c(r31) -/* 8048C858 C0 03 05 40 */ lfs f0, 0x540(r3) -/* 8048C85C D0 1F 05 40 */ stfs f0, 0x540(r31) -/* 8048C860 38 00 00 04 */ li r0, 4 -/* 8048C864 98 1F 04 96 */ stb r0, 0x496(r31) -lbl_8048C868: -/* 8048C868 38 00 00 00 */ li r0, 0 -/* 8048C86C 90 1F 05 5C */ stw r0, 0x55c(r31) -/* 8048C870 38 60 00 01 */ li r3, 1 -/* 8048C874 48 00 00 08 */ b lbl_8048C87C -lbl_8048C878: -/* 8048C878 38 60 00 00 */ li r3, 0 -lbl_8048C87C: -/* 8048C87C 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 8048C880 83 C1 00 18 */ lwz r30, 0x18(r1) -/* 8048C884 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8048C888 7C 08 03 A6 */ mtlr r0 -/* 8048C88C 38 21 00 20 */ addi r1, r1, 0x20 -/* 8048C890 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_evtarea/d_a_tag_evtarea/__dt__15daTag_EvtArea_cFv.s b/asm/rel/d/a/tag/d_a_tag_evtarea/d_a_tag_evtarea/__dt__15daTag_EvtArea_cFv.s deleted file mode 100644 index 7715cbb6a7..0000000000 --- a/asm/rel/d/a/tag/d_a_tag_evtarea/d_a_tag_evtarea/__dt__15daTag_EvtArea_cFv.s +++ /dev/null @@ -1,26 +0,0 @@ -lbl_8048CD68: -/* 8048CD68 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8048CD6C 7C 08 02 A6 */ mflr r0 -/* 8048CD70 90 01 00 14 */ stw r0, 0x14(r1) -/* 8048CD74 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8048CD78 93 C1 00 08 */ stw r30, 8(r1) -/* 8048CD7C 7C 7E 1B 79 */ or. r30, r3, r3 -/* 8048CD80 7C 9F 23 78 */ mr r31, r4 -/* 8048CD84 41 82 00 28 */ beq lbl_8048CDAC -/* 8048CD88 3C 80 80 49 */ lis r4, __vt__15daTag_EvtArea_c@ha /* 0x8048CE98@ha */ -/* 8048CD8C 38 04 CE 98 */ addi r0, r4, __vt__15daTag_EvtArea_c@l /* 0x8048CE98@l */ -/* 8048CD90 90 1E 05 68 */ stw r0, 0x568(r30) -/* 8048CD94 38 80 00 00 */ li r4, 0 -/* 8048CD98 4B B8 BE F5 */ bl __dt__10fopAc_ac_cFv -/* 8048CD9C 7F E0 07 35 */ extsh. r0, r31 -/* 8048CDA0 40 81 00 0C */ ble lbl_8048CDAC -/* 8048CDA4 7F C3 F3 78 */ mr r3, r30 -/* 8048CDA8 4B E4 1F 95 */ bl __dl__FPv -lbl_8048CDAC: -/* 8048CDAC 7F C3 F3 78 */ mr r3, r30 -/* 8048CDB0 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8048CDB4 83 C1 00 08 */ lwz r30, 8(r1) -/* 8048CDB8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8048CDBC 7C 08 03 A6 */ mtlr r0 -/* 8048CDC0 38 21 00 10 */ addi r1, r1, 0x10 -/* 8048CDC4 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_evtarea/d_a_tag_evtarea/chkPointInArea__15daTag_EvtArea_cF4cXyz.s b/asm/rel/d/a/tag/d_a_tag_evtarea/d_a_tag_evtarea/chkPointInArea__15daTag_EvtArea_cF4cXyz.s deleted file mode 100644 index 991467e74e..0000000000 --- a/asm/rel/d/a/tag/d_a_tag_evtarea/d_a_tag_evtarea/chkPointInArea__15daTag_EvtArea_cF4cXyz.s +++ /dev/null @@ -1,25 +0,0 @@ -lbl_8048CD08: -/* 8048CD08 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 8048CD0C 7C 08 02 A6 */ mflr r0 -/* 8048CD10 90 01 00 34 */ stw r0, 0x34(r1) -/* 8048CD14 3C A0 80 49 */ lis r5, lit_3922@ha /* 0x8048CDE0@ha */ -/* 8048CD18 C0 25 CD E0 */ lfs f1, lit_3922@l(r5) /* 0x8048CDE0@l */ -/* 8048CD1C D0 21 00 20 */ stfs f1, 0x20(r1) -/* 8048CD20 D0 21 00 24 */ stfs f1, 0x24(r1) -/* 8048CD24 D0 21 00 28 */ stfs f1, 0x28(r1) -/* 8048CD28 C0 04 00 00 */ lfs f0, 0(r4) -/* 8048CD2C D0 01 00 14 */ stfs f0, 0x14(r1) -/* 8048CD30 C0 04 00 04 */ lfs f0, 4(r4) -/* 8048CD34 D0 01 00 18 */ stfs f0, 0x18(r1) -/* 8048CD38 C0 04 00 08 */ lfs f0, 8(r4) -/* 8048CD3C D0 01 00 1C */ stfs f0, 0x1c(r1) -/* 8048CD40 D0 21 00 08 */ stfs f1, 8(r1) -/* 8048CD44 D0 21 00 0C */ stfs f1, 0xc(r1) -/* 8048CD48 D0 21 00 10 */ stfs f1, 0x10(r1) -/* 8048CD4C 38 81 00 14 */ addi r4, r1, 0x14 -/* 8048CD50 38 A1 00 08 */ addi r5, r1, 8 -/* 8048CD54 4B FF FB F9 */ bl chkPointInArea__15daTag_EvtArea_cF4cXyz4cXyz -/* 8048CD58 80 01 00 34 */ lwz r0, 0x34(r1) -/* 8048CD5C 7C 08 03 A6 */ mtlr r0 -/* 8048CD60 38 21 00 30 */ addi r1, r1, 0x30 -/* 8048CD64 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_evtarea/d_a_tag_evtarea/chkPointInArea__15daTag_EvtArea_cF4cXyz4cXyz.s b/asm/rel/d/a/tag/d_a_tag_evtarea/d_a_tag_evtarea/chkPointInArea__15daTag_EvtArea_cF4cXyz4cXyz.s deleted file mode 100644 index 34ab268e1c..0000000000 --- a/asm/rel/d/a/tag/d_a_tag_evtarea/d_a_tag_evtarea/chkPointInArea__15daTag_EvtArea_cF4cXyz4cXyz.s +++ /dev/null @@ -1,217 +0,0 @@ -lbl_8048C94C: -/* 8048C94C 94 21 FF 20 */ stwu r1, -0xe0(r1) -/* 8048C950 7C 08 02 A6 */ mflr r0 -/* 8048C954 90 01 00 E4 */ stw r0, 0xe4(r1) -/* 8048C958 39 61 00 E0 */ addi r11, r1, 0xe0 -/* 8048C95C 4B ED 58 81 */ bl _savegpr_29 -/* 8048C960 7C 7D 1B 78 */ mr r29, r3 -/* 8048C964 7C 9E 23 78 */ mr r30, r4 -/* 8048C968 7C BF 2B 78 */ mr r31, r5 -/* 8048C96C 88 03 05 6C */ lbz r0, 0x56c(r3) -/* 8048C970 28 00 00 00 */ cmplwi r0, 0 -/* 8048C974 40 82 02 F0 */ bne lbl_8048CC64 -/* 8048C978 80 1D 00 B0 */ lwz r0, 0xb0(r29) -/* 8048C97C 54 04 05 3E */ clrlwi r4, r0, 0x14 -/* 8048C980 28 04 0F FF */ cmplwi r4, 0xfff -/* 8048C984 38 60 FF FF */ li r3, -1 -/* 8048C988 41 82 00 08 */ beq lbl_8048C990 -/* 8048C98C 7C 83 23 78 */ mr r3, r4 -lbl_8048C990: -/* 8048C990 3C 03 00 01 */ addis r0, r3, 1 -/* 8048C994 28 00 FF FF */ cmplwi r0, 0xffff -/* 8048C998 41 82 00 20 */ beq lbl_8048C9B8 -/* 8048C99C 28 04 0F FF */ cmplwi r4, 0xfff -/* 8048C9A0 38 60 FF FF */ li r3, -1 -/* 8048C9A4 41 82 00 08 */ beq lbl_8048C9AC -/* 8048C9A8 7C 83 23 78 */ mr r3, r4 -lbl_8048C9AC: -/* 8048C9AC 4B CC 01 01 */ bl daNpcT_chkEvtBit__FUl -/* 8048C9B0 2C 03 00 00 */ cmpwi r3, 0 -/* 8048C9B4 40 82 00 64 */ bne lbl_8048CA18 -lbl_8048C9B8: -/* 8048C9B8 A8 1D 04 B4 */ lha r0, 0x4b4(r29) -/* 8048C9BC 54 04 06 3E */ clrlwi r4, r0, 0x18 -/* 8048C9C0 28 04 00 FF */ cmplwi r4, 0xff -/* 8048C9C4 41 82 00 20 */ beq lbl_8048C9E4 -/* 8048C9C8 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8048C9CC 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8048C9D0 88 1D 04 E2 */ lbz r0, 0x4e2(r29) -/* 8048C9D4 7C 05 07 74 */ extsb r5, r0 -/* 8048C9D8 4B BA 89 89 */ bl isSwitch__10dSv_info_cCFii -/* 8048C9DC 2C 03 00 00 */ cmpwi r3, 0 -/* 8048C9E0 40 82 00 38 */ bne lbl_8048CA18 -lbl_8048C9E4: -/* 8048C9E4 80 1D 00 B0 */ lwz r0, 0xb0(r29) -/* 8048C9E8 54 00 05 3E */ clrlwi r0, r0, 0x14 -/* 8048C9EC 28 00 0F FF */ cmplwi r0, 0xfff -/* 8048C9F0 38 60 FF FF */ li r3, -1 -/* 8048C9F4 41 82 00 08 */ beq lbl_8048C9FC -/* 8048C9F8 7C 03 03 78 */ mr r3, r0 -lbl_8048C9FC: -/* 8048C9FC 3C 03 00 01 */ addis r0, r3, 1 -/* 8048CA00 28 00 FF FF */ cmplwi r0, 0xffff -/* 8048CA04 40 82 02 60 */ bne lbl_8048CC64 -/* 8048CA08 A8 1D 04 B4 */ lha r0, 0x4b4(r29) -/* 8048CA0C 54 00 06 3E */ clrlwi r0, r0, 0x18 -/* 8048CA10 28 00 00 FF */ cmplwi r0, 0xff -/* 8048CA14 40 82 02 50 */ bne lbl_8048CC64 -lbl_8048CA18: -/* 8048CA18 38 61 00 5C */ addi r3, r1, 0x5c -/* 8048CA1C 38 9D 04 EC */ addi r4, r29, 0x4ec -/* 8048CA20 7F E5 FB 78 */ mr r5, r31 -/* 8048CA24 4B DD A0 C1 */ bl __pl__4cXyzCFRC3Vec -/* 8048CA28 C0 C1 00 5C */ lfs f6, 0x5c(r1) -/* 8048CA2C D0 C1 00 8C */ stfs f6, 0x8c(r1) -/* 8048CA30 C0 A1 00 60 */ lfs f5, 0x60(r1) -/* 8048CA34 D0 A1 00 90 */ stfs f5, 0x90(r1) -/* 8048CA38 C0 81 00 64 */ lfs f4, 0x64(r1) -/* 8048CA3C D0 81 00 94 */ stfs f4, 0x94(r1) -/* 8048CA40 A8 1D 04 E8 */ lha r0, 0x4e8(r29) -/* 8048CA44 54 05 06 3E */ clrlwi r5, r0, 0x18 -/* 8048CA48 38 85 FF 01 */ addi r4, r5, -255 -/* 8048CA4C 30 04 FF FF */ addic r0, r4, -1 -/* 8048CA50 7C 00 01 10 */ subfe r0, r0, r0 -/* 8048CA54 7C A0 00 78 */ andc r0, r5, r0 -/* 8048CA58 2C 00 00 0F */ cmpwi r0, 0xf -/* 8048CA5C 41 82 00 18 */ beq lbl_8048CA74 -/* 8048CA60 30 04 FF FF */ addic r0, r4, -1 -/* 8048CA64 7C 00 01 10 */ subfe r0, r0, r0 -/* 8048CA68 7C A0 00 78 */ andc r0, r5, r0 -/* 8048CA6C 2C 00 00 10 */ cmpwi r0, 0x10 -/* 8048CA70 40 82 01 20 */ bne lbl_8048CB90 -lbl_8048CA74: -/* 8048CA74 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8048CA78 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8048CA7C 80 63 5D AC */ lwz r3, 0x5dac(r3) -/* 8048CA80 C0 03 04 D0 */ lfs f0, 0x4d0(r3) -/* 8048CA84 D0 01 00 74 */ stfs f0, 0x74(r1) -/* 8048CA88 C0 03 04 D4 */ lfs f0, 0x4d4(r3) -/* 8048CA8C D0 01 00 78 */ stfs f0, 0x78(r1) -/* 8048CA90 C0 03 04 D8 */ lfs f0, 0x4d8(r3) -/* 8048CA94 D0 01 00 7C */ stfs f0, 0x7c(r1) -/* 8048CA98 38 61 00 74 */ addi r3, r1, 0x74 -/* 8048CA9C 38 9D 04 A8 */ addi r4, r29, 0x4a8 -/* 8048CAA0 7C 65 1B 78 */ mr r5, r3 -/* 8048CAA4 4B EB A6 11 */ bl PSVECSubtract -/* 8048CAA8 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */ -/* 8048CAAC 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */ -/* 8048CAB0 A8 1D 04 DE */ lha r0, 0x4de(r29) -/* 8048CAB4 7C 00 00 D0 */ neg r0, r0 -/* 8048CAB8 7C 04 07 34 */ extsh r4, r0 -/* 8048CABC 4B B7 F9 21 */ bl mDoMtx_YrotS__FPA4_fs -/* 8048CAC0 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */ -/* 8048CAC4 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */ -/* 8048CAC8 38 81 00 74 */ addi r4, r1, 0x74 -/* 8048CACC 7C 85 23 78 */ mr r5, r4 -/* 8048CAD0 4B EB A2 9D */ bl PSMTXMultVec -/* 8048CAD4 C0 21 00 8C */ lfs f1, 0x8c(r1) -/* 8048CAD8 FC 00 08 50 */ fneg f0, f1 -/* 8048CADC D0 01 00 98 */ stfs f0, 0x98(r1) -/* 8048CAE0 C0 61 00 94 */ lfs f3, 0x94(r1) -/* 8048CAE4 FC 40 18 50 */ fneg f2, f3 -/* 8048CAE8 D0 41 00 A0 */ stfs f2, 0xa0(r1) -/* 8048CAEC D0 21 00 A4 */ stfs f1, 0xa4(r1) -/* 8048CAF0 D0 41 00 AC */ stfs f2, 0xac(r1) -/* 8048CAF4 D0 21 00 B0 */ stfs f1, 0xb0(r1) -/* 8048CAF8 D0 61 00 B8 */ stfs f3, 0xb8(r1) -/* 8048CAFC D0 01 00 BC */ stfs f0, 0xbc(r1) -/* 8048CB00 D0 61 00 C4 */ stfs f3, 0xc4(r1) -/* 8048CB04 FC 00 00 18 */ frsp f0, f0 -/* 8048CB08 C0 81 00 74 */ lfs f4, 0x74(r1) -/* 8048CB0C FC 00 20 40 */ fcmpo cr0, f0, f4 -/* 8048CB10 40 80 01 54 */ bge lbl_8048CC64 -/* 8048CB14 FC 00 10 18 */ frsp f0, f2 -/* 8048CB18 C0 41 00 7C */ lfs f2, 0x7c(r1) -/* 8048CB1C FC 00 10 40 */ fcmpo cr0, f0, f2 -/* 8048CB20 40 80 01 44 */ bge lbl_8048CC64 -/* 8048CB24 FC 01 20 40 */ fcmpo cr0, f1, f4 -/* 8048CB28 40 81 01 3C */ ble lbl_8048CC64 -/* 8048CB2C FC 03 10 40 */ fcmpo cr0, f3, f2 -/* 8048CB30 40 81 01 34 */ ble lbl_8048CC64 -/* 8048CB34 38 61 00 50 */ addi r3, r1, 0x50 -/* 8048CB38 7F C4 F3 78 */ mr r4, r30 -/* 8048CB3C 38 BD 04 D0 */ addi r5, r29, 0x4d0 -/* 8048CB40 4B DD 9F F5 */ bl __mi__4cXyzCFRC3Vec -/* 8048CB44 C0 01 00 50 */ lfs f0, 0x50(r1) -/* 8048CB48 D0 01 00 68 */ stfs f0, 0x68(r1) -/* 8048CB4C C0 21 00 54 */ lfs f1, 0x54(r1) -/* 8048CB50 D0 21 00 6C */ stfs f1, 0x6c(r1) -/* 8048CB54 C0 01 00 58 */ lfs f0, 0x58(r1) -/* 8048CB58 D0 01 00 70 */ stfs f0, 0x70(r1) -/* 8048CB5C FC 00 08 1E */ fctiwz f0, f1 -/* 8048CB60 D8 01 00 C8 */ stfd f0, 0xc8(r1) -/* 8048CB64 80 61 00 CC */ lwz r3, 0xcc(r1) -/* 8048CB68 2C 03 00 00 */ cmpwi r3, 0 -/* 8048CB6C 41 80 00 F8 */ blt lbl_8048CC64 -/* 8048CB70 C0 01 00 90 */ lfs f0, 0x90(r1) -/* 8048CB74 FC 00 00 1E */ fctiwz f0, f0 -/* 8048CB78 D8 01 00 C8 */ stfd f0, 0xc8(r1) -/* 8048CB7C 80 01 00 CC */ lwz r0, 0xcc(r1) -/* 8048CB80 7C 03 00 00 */ cmpw r3, r0 -/* 8048CB84 40 80 00 E0 */ bge lbl_8048CC64 -/* 8048CB88 38 60 00 01 */ li r3, 1 -/* 8048CB8C 48 00 00 DC */ b lbl_8048CC68 -lbl_8048CB90: -/* 8048CB90 C0 7D 04 D0 */ lfs f3, 0x4d0(r29) -/* 8048CB94 D0 61 00 80 */ stfs f3, 0x80(r1) -/* 8048CB98 C0 3D 04 D4 */ lfs f1, 0x4d4(r29) -/* 8048CB9C D0 21 00 84 */ stfs f1, 0x84(r1) -/* 8048CBA0 C0 5D 04 D8 */ lfs f2, 0x4d8(r29) -/* 8048CBA4 D0 41 00 88 */ stfs f2, 0x88(r1) -/* 8048CBA8 3C 60 80 49 */ lis r3, lit_4146@ha /* 0x8048CDE4@ha */ -/* 8048CBAC C0 03 CD E4 */ lfs f0, lit_4146@l(r3) /* 0x8048CDE4@l */ -/* 8048CBB0 EC 21 00 28 */ fsubs f1, f1, f0 -/* 8048CBB4 D0 21 00 84 */ stfs f1, 0x84(r1) -/* 8048CBB8 30 04 FF FF */ addic r0, r4, -1 -/* 8048CBBC 7C 00 01 10 */ subfe r0, r0, r0 -/* 8048CBC0 7C A0 00 78 */ andc r0, r5, r0 -/* 8048CBC4 2C 00 00 15 */ cmpwi r0, 0x15 -/* 8048CBC8 40 82 00 50 */ bne lbl_8048CC18 -/* 8048CBCC C0 1E 00 00 */ lfs f0, 0(r30) -/* 8048CBD0 D0 01 00 44 */ stfs f0, 0x44(r1) -/* 8048CBD4 C0 1E 00 04 */ lfs f0, 4(r30) -/* 8048CBD8 D0 01 00 48 */ stfs f0, 0x48(r1) -/* 8048CBDC C0 1E 00 08 */ lfs f0, 8(r30) -/* 8048CBE0 D0 01 00 4C */ stfs f0, 0x4c(r1) -/* 8048CBE4 D0 61 00 38 */ stfs f3, 0x38(r1) -/* 8048CBE8 D0 21 00 3C */ stfs f1, 0x3c(r1) -/* 8048CBEC D0 41 00 40 */ stfs f2, 0x40(r1) -/* 8048CBF0 D0 C1 00 2C */ stfs f6, 0x2c(r1) -/* 8048CBF4 D0 A1 00 30 */ stfs f5, 0x30(r1) -/* 8048CBF8 D0 81 00 34 */ stfs f4, 0x34(r1) -/* 8048CBFC 38 61 00 44 */ addi r3, r1, 0x44 -/* 8048CC00 38 81 00 38 */ addi r4, r1, 0x38 -/* 8048CC04 38 A1 00 2C */ addi r5, r1, 0x2c -/* 8048CC08 A8 DD 04 E6 */ lha r6, 0x4e6(r29) -/* 8048CC0C 38 E0 00 00 */ li r7, 0 -/* 8048CC10 4B CB F7 75 */ bl daNpcT_chkPointInArea__F4cXyz4cXyz4cXyzsi -/* 8048CC14 48 00 00 54 */ b lbl_8048CC68 -lbl_8048CC18: -/* 8048CC18 C0 1E 00 00 */ lfs f0, 0(r30) -/* 8048CC1C D0 01 00 20 */ stfs f0, 0x20(r1) -/* 8048CC20 C0 1E 00 04 */ lfs f0, 4(r30) -/* 8048CC24 D0 01 00 24 */ stfs f0, 0x24(r1) -/* 8048CC28 C0 1E 00 08 */ lfs f0, 8(r30) -/* 8048CC2C D0 01 00 28 */ stfs f0, 0x28(r1) -/* 8048CC30 D0 61 00 14 */ stfs f3, 0x14(r1) -/* 8048CC34 D0 21 00 18 */ stfs f1, 0x18(r1) -/* 8048CC38 D0 41 00 1C */ stfs f2, 0x1c(r1) -/* 8048CC3C D0 C1 00 08 */ stfs f6, 8(r1) -/* 8048CC40 D0 A1 00 0C */ stfs f5, 0xc(r1) -/* 8048CC44 D0 81 00 10 */ stfs f4, 0x10(r1) -/* 8048CC48 38 61 00 20 */ addi r3, r1, 0x20 -/* 8048CC4C 38 81 00 14 */ addi r4, r1, 0x14 -/* 8048CC50 38 A1 00 08 */ addi r5, r1, 8 -/* 8048CC54 A8 DD 04 E6 */ lha r6, 0x4e6(r29) -/* 8048CC58 38 E0 00 01 */ li r7, 1 -/* 8048CC5C 4B CB F7 29 */ bl daNpcT_chkPointInArea__F4cXyz4cXyz4cXyzsi -/* 8048CC60 48 00 00 08 */ b lbl_8048CC68 -lbl_8048CC64: -/* 8048CC64 38 60 00 00 */ li r3, 0 -lbl_8048CC68: -/* 8048CC68 39 61 00 E0 */ addi r11, r1, 0xe0 -/* 8048CC6C 4B ED 55 BD */ bl _restgpr_29 -/* 8048CC70 80 01 00 E4 */ lwz r0, 0xe4(r1) -/* 8048CC74 7C 08 03 A6 */ mtlr r0 -/* 8048CC78 38 21 00 E0 */ addi r1, r1, 0xe0 -/* 8048CC7C 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_evtarea/d_a_tag_evtarea/create__15daTag_EvtArea_cFv.s b/asm/rel/d/a/tag/d_a_tag_evtarea/d_a_tag_evtarea/create__15daTag_EvtArea_cFv.s deleted file mode 100644 index 52c7646eb5..0000000000 --- a/asm/rel/d/a/tag/d_a_tag_evtarea/d_a_tag_evtarea/create__15daTag_EvtArea_cFv.s +++ /dev/null @@ -1,154 +0,0 @@ -lbl_8048C4F8: -/* 8048C4F8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8048C4FC 7C 08 02 A6 */ mflr r0 -/* 8048C500 90 01 00 14 */ stw r0, 0x14(r1) -/* 8048C504 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8048C508 93 C1 00 08 */ stw r30, 8(r1) -/* 8048C50C 7C 7F 1B 78 */ mr r31, r3 -/* 8048C510 3C 80 80 49 */ lis r4, lit_3853@ha /* 0x8048CDD0@ha */ -/* 8048C514 3B C4 CD D0 */ addi r30, r4, lit_3853@l /* 0x8048CDD0@l */ -/* 8048C518 80 03 04 A0 */ lwz r0, 0x4a0(r3) -/* 8048C51C 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c -/* 8048C520 40 82 00 28 */ bne lbl_8048C548 -/* 8048C524 28 1F 00 00 */ cmplwi r31, 0 -/* 8048C528 41 82 00 14 */ beq lbl_8048C53C -/* 8048C52C 4B B8 C6 39 */ bl __ct__10fopAc_ac_cFv -/* 8048C530 3C 60 80 49 */ lis r3, __vt__15daTag_EvtArea_c@ha /* 0x8048CE98@ha */ -/* 8048C534 38 03 CE 98 */ addi r0, r3, __vt__15daTag_EvtArea_c@l /* 0x8048CE98@l */ -/* 8048C538 90 1F 05 68 */ stw r0, 0x568(r31) -lbl_8048C53C: -/* 8048C53C 80 1F 04 A0 */ lwz r0, 0x4a0(r31) -/* 8048C540 60 00 00 08 */ ori r0, r0, 8 -/* 8048C544 90 1F 04 A0 */ stw r0, 0x4a0(r31) -lbl_8048C548: -/* 8048C548 A8 1F 04 E8 */ lha r0, 0x4e8(r31) -/* 8048C54C 54 03 06 3E */ clrlwi r3, r0, 0x18 -/* 8048C550 38 03 FF 01 */ addi r0, r3, -255 -/* 8048C554 30 00 FF FF */ addic r0, r0, -1 -/* 8048C558 7C 00 01 10 */ subfe r0, r0, r0 -/* 8048C55C 7C 60 00 78 */ andc r0, r3, r0 -/* 8048C560 28 00 00 17 */ cmplwi r0, 0x17 -/* 8048C564 41 81 01 60 */ bgt lbl_8048C6C4 -/* 8048C568 3C 60 80 49 */ lis r3, lit_3857@ha /* 0x8048CDE8@ha */ -/* 8048C56C 38 63 CD E8 */ addi r3, r3, lit_3857@l /* 0x8048CDE8@l */ -/* 8048C570 54 00 10 3A */ slwi r0, r0, 2 -/* 8048C574 7C 03 00 2E */ lwzx r0, r3, r0 -/* 8048C578 7C 09 03 A6 */ mtctr r0 -/* 8048C57C 4E 80 04 20 */ bctr -lbl_8048C580: -/* 8048C580 C0 1F 04 EC */ lfs f0, 0x4ec(r31) -/* 8048C584 C0 3E 00 00 */ lfs f1, 0(r30) -/* 8048C588 EC 00 00 72 */ fmuls f0, f0, f1 -/* 8048C58C D0 1F 04 EC */ stfs f0, 0x4ec(r31) -/* 8048C590 C0 1F 04 F0 */ lfs f0, 0x4f0(r31) -/* 8048C594 EC 00 00 72 */ fmuls f0, f0, f1 -/* 8048C598 D0 1F 04 F0 */ stfs f0, 0x4f0(r31) -/* 8048C59C C0 1F 04 F4 */ lfs f0, 0x4f4(r31) -/* 8048C5A0 EC 00 00 72 */ fmuls f0, f0, f1 -/* 8048C5A4 D0 1F 04 F4 */ stfs f0, 0x4f4(r31) -/* 8048C5A8 48 00 01 44 */ b lbl_8048C6EC -lbl_8048C5AC: -/* 8048C5AC C0 1F 04 EC */ lfs f0, 0x4ec(r31) -/* 8048C5B0 C0 3E 00 04 */ lfs f1, 4(r30) -/* 8048C5B4 EC 00 00 72 */ fmuls f0, f0, f1 -/* 8048C5B8 D0 1F 04 EC */ stfs f0, 0x4ec(r31) -/* 8048C5BC C0 1F 04 F0 */ lfs f0, 0x4f0(r31) -/* 8048C5C0 EC 00 00 72 */ fmuls f0, f0, f1 -/* 8048C5C4 D0 1F 04 F0 */ stfs f0, 0x4f0(r31) -/* 8048C5C8 C0 1F 04 F4 */ lfs f0, 0x4f4(r31) -/* 8048C5CC EC 00 00 72 */ fmuls f0, f0, f1 -/* 8048C5D0 D0 1F 04 F4 */ stfs f0, 0x4f4(r31) -/* 8048C5D4 48 00 01 18 */ b lbl_8048C6EC -lbl_8048C5D8: -/* 8048C5D8 C0 1F 04 EC */ lfs f0, 0x4ec(r31) -/* 8048C5DC C0 3E 00 00 */ lfs f1, 0(r30) -/* 8048C5E0 EC 00 00 72 */ fmuls f0, f0, f1 -/* 8048C5E4 D0 1F 04 EC */ stfs f0, 0x4ec(r31) -/* 8048C5E8 C0 1F 04 F0 */ lfs f0, 0x4f0(r31) -/* 8048C5EC EC 00 00 72 */ fmuls f0, f0, f1 -/* 8048C5F0 D0 1F 04 F0 */ stfs f0, 0x4f0(r31) -/* 8048C5F4 C0 1F 04 F4 */ lfs f0, 0x4f4(r31) -/* 8048C5F8 EC 00 00 72 */ fmuls f0, f0, f1 -/* 8048C5FC D0 1F 04 F4 */ stfs f0, 0x4f4(r31) -/* 8048C600 48 00 00 EC */ b lbl_8048C6EC -lbl_8048C604: -/* 8048C604 C0 1F 04 EC */ lfs f0, 0x4ec(r31) -/* 8048C608 C0 3E 00 08 */ lfs f1, 8(r30) -/* 8048C60C EC 00 00 72 */ fmuls f0, f0, f1 -/* 8048C610 D0 1F 04 EC */ stfs f0, 0x4ec(r31) -/* 8048C614 C0 1F 04 F4 */ lfs f0, 0x4f4(r31) -/* 8048C618 EC 00 00 72 */ fmuls f0, f0, f1 -/* 8048C61C D0 1F 04 F4 */ stfs f0, 0x4f4(r31) -/* 8048C620 C0 1F 04 EC */ lfs f0, 0x4ec(r31) -/* 8048C624 C0 3E 00 0C */ lfs f1, 0xc(r30) -/* 8048C628 EC 00 00 72 */ fmuls f0, f0, f1 -/* 8048C62C D0 1F 04 EC */ stfs f0, 0x4ec(r31) -/* 8048C630 C0 1F 04 F0 */ lfs f0, 0x4f0(r31) -/* 8048C634 EC 00 00 72 */ fmuls f0, f0, f1 -/* 8048C638 D0 1F 04 F0 */ stfs f0, 0x4f0(r31) -/* 8048C63C C0 1F 04 F4 */ lfs f0, 0x4f4(r31) -/* 8048C640 EC 00 00 72 */ fmuls f0, f0, f1 -/* 8048C644 D0 1F 04 F4 */ stfs f0, 0x4f4(r31) -/* 8048C648 48 00 00 A4 */ b lbl_8048C6EC -lbl_8048C64C: -/* 8048C64C C0 1F 04 EC */ lfs f0, 0x4ec(r31) -/* 8048C650 C0 3E 00 00 */ lfs f1, 0(r30) -/* 8048C654 EC 00 00 72 */ fmuls f0, f0, f1 -/* 8048C658 D0 1F 04 EC */ stfs f0, 0x4ec(r31) -/* 8048C65C C0 1F 04 F0 */ lfs f0, 0x4f0(r31) -/* 8048C660 EC 00 00 72 */ fmuls f0, f0, f1 -/* 8048C664 D0 1F 04 F0 */ stfs f0, 0x4f0(r31) -/* 8048C668 C0 1F 04 F4 */ lfs f0, 0x4f4(r31) -/* 8048C66C EC 00 00 72 */ fmuls f0, f0, f1 -/* 8048C670 D0 1F 04 F4 */ stfs f0, 0x4f4(r31) -/* 8048C674 48 00 00 78 */ b lbl_8048C6EC -lbl_8048C678: -/* 8048C678 C0 1F 04 EC */ lfs f0, 0x4ec(r31) -/* 8048C67C C0 3E 00 0C */ lfs f1, 0xc(r30) -/* 8048C680 EC 00 00 72 */ fmuls f0, f0, f1 -/* 8048C684 D0 1F 04 EC */ stfs f0, 0x4ec(r31) -/* 8048C688 C0 1F 04 F4 */ lfs f0, 0x4f4(r31) -/* 8048C68C EC 00 00 72 */ fmuls f0, f0, f1 -/* 8048C690 D0 1F 04 F4 */ stfs f0, 0x4f4(r31) -/* 8048C694 48 00 00 58 */ b lbl_8048C6EC -lbl_8048C698: -/* 8048C698 C0 1F 04 EC */ lfs f0, 0x4ec(r31) -/* 8048C69C C0 3E 00 00 */ lfs f1, 0(r30) -/* 8048C6A0 EC 00 00 72 */ fmuls f0, f0, f1 -/* 8048C6A4 D0 1F 04 EC */ stfs f0, 0x4ec(r31) -/* 8048C6A8 C0 1F 04 F0 */ lfs f0, 0x4f0(r31) -/* 8048C6AC EC 00 00 72 */ fmuls f0, f0, f1 -/* 8048C6B0 D0 1F 04 F0 */ stfs f0, 0x4f0(r31) -/* 8048C6B4 C0 1F 04 F4 */ lfs f0, 0x4f4(r31) -/* 8048C6B8 EC 00 00 72 */ fmuls f0, f0, f1 -/* 8048C6BC D0 1F 04 F4 */ stfs f0, 0x4f4(r31) -/* 8048C6C0 48 00 00 2C */ b lbl_8048C6EC -lbl_8048C6C4: -/* 8048C6C4 C0 1F 04 EC */ lfs f0, 0x4ec(r31) -/* 8048C6C8 C0 3E 00 00 */ lfs f1, 0(r30) -/* 8048C6CC EC 00 00 72 */ fmuls f0, f0, f1 -/* 8048C6D0 D0 1F 04 EC */ stfs f0, 0x4ec(r31) -/* 8048C6D4 C0 1F 04 F0 */ lfs f0, 0x4f0(r31) -/* 8048C6D8 EC 00 00 72 */ fmuls f0, f0, f1 -/* 8048C6DC D0 1F 04 F0 */ stfs f0, 0x4f0(r31) -/* 8048C6E0 C0 1F 04 F4 */ lfs f0, 0x4f4(r31) -/* 8048C6E4 EC 00 00 72 */ fmuls f0, f0, f1 -/* 8048C6E8 D0 1F 04 F4 */ stfs f0, 0x4f4(r31) -lbl_8048C6EC: -/* 8048C6EC 7F E3 FB 78 */ mr r3, r31 -/* 8048C6F0 48 00 01 AD */ bl isDelete__15daTag_EvtArea_cFv -/* 8048C6F4 2C 03 00 00 */ cmpwi r3, 0 -/* 8048C6F8 41 82 00 0C */ beq lbl_8048C704 -/* 8048C6FC 38 60 00 05 */ li r3, 5 -/* 8048C700 48 00 00 10 */ b lbl_8048C710 -lbl_8048C704: -/* 8048C704 38 00 00 00 */ li r0, 0 -/* 8048C708 98 1F 05 6C */ stb r0, 0x56c(r31) -/* 8048C70C 38 60 00 04 */ li r3, 4 -lbl_8048C710: -/* 8048C710 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8048C714 83 C1 00 08 */ lwz r30, 8(r1) -/* 8048C718 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8048C71C 7C 08 03 A6 */ mtlr r0 -/* 8048C720 38 21 00 10 */ addi r1, r1, 0x10 -/* 8048C724 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_evtarea/d_a_tag_evtarea/daTag_EvtArea_Create__FPv.s b/asm/rel/d/a/tag/d_a_tag_evtarea/d_a_tag_evtarea/daTag_EvtArea_Create__FPv.s deleted file mode 100644 index 1694802d98..0000000000 --- a/asm/rel/d/a/tag/d_a_tag_evtarea/d_a_tag_evtarea/daTag_EvtArea_Create__FPv.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_8048CC80: -/* 8048CC80 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8048CC84 7C 08 02 A6 */ mflr r0 -/* 8048CC88 90 01 00 14 */ stw r0, 0x14(r1) -/* 8048CC8C 4B FF F8 6D */ bl create__15daTag_EvtArea_cFv -/* 8048CC90 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8048CC94 7C 08 03 A6 */ mtlr r0 -/* 8048CC98 38 21 00 10 */ addi r1, r1, 0x10 -/* 8048CC9C 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_evtarea/d_a_tag_evtarea/daTag_EvtArea_Delete__FPv.s b/asm/rel/d/a/tag/d_a_tag_evtarea/d_a_tag_evtarea/daTag_EvtArea_Delete__FPv.s deleted file mode 100644 index bd6b48d858..0000000000 --- a/asm/rel/d/a/tag/d_a_tag_evtarea/d_a_tag_evtarea/daTag_EvtArea_Delete__FPv.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_8048CCA0: -/* 8048CCA0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8048CCA4 7C 08 02 A6 */ mflr r0 -/* 8048CCA8 90 01 00 14 */ stw r0, 0x14(r1) -/* 8048CCAC 4B FF FA 7D */ bl Delete__15daTag_EvtArea_cFv -/* 8048CCB0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8048CCB4 7C 08 03 A6 */ mtlr r0 -/* 8048CCB8 38 21 00 10 */ addi r1, r1, 0x10 -/* 8048CCBC 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_evtarea/d_a_tag_evtarea/daTag_EvtArea_Draw__FPv.s b/asm/rel/d/a/tag/d_a_tag_evtarea/d_a_tag_evtarea/daTag_EvtArea_Draw__FPv.s deleted file mode 100644 index 408d01ecae..0000000000 --- a/asm/rel/d/a/tag/d_a_tag_evtarea/d_a_tag_evtarea/daTag_EvtArea_Draw__FPv.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_8048CCE0: -/* 8048CCE0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8048CCE4 7C 08 02 A6 */ mflr r0 -/* 8048CCE8 90 01 00 14 */ stw r0, 0x14(r1) -/* 8048CCEC 4B FF FB A9 */ bl Draw__15daTag_EvtArea_cFv -/* 8048CCF0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8048CCF4 7C 08 03 A6 */ mtlr r0 -/* 8048CCF8 38 21 00 10 */ addi r1, r1, 0x10 -/* 8048CCFC 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_evtarea/d_a_tag_evtarea/daTag_EvtArea_Execute__FPv.s b/asm/rel/d/a/tag/d_a_tag_evtarea/d_a_tag_evtarea/daTag_EvtArea_Execute__FPv.s deleted file mode 100644 index 3df35c4331..0000000000 --- a/asm/rel/d/a/tag/d_a_tag_evtarea/d_a_tag_evtarea/daTag_EvtArea_Execute__FPv.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_8048CCC0: -/* 8048CCC0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8048CCC4 7C 08 02 A6 */ mflr r0 -/* 8048CCC8 90 01 00 14 */ stw r0, 0x14(r1) -/* 8048CCCC 4B FF FA 65 */ bl Execute__15daTag_EvtArea_cFv -/* 8048CCD0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8048CCD4 7C 08 03 A6 */ mtlr r0 -/* 8048CCD8 38 21 00 10 */ addi r1, r1, 0x10 -/* 8048CCDC 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_evtarea/d_a_tag_evtarea/isDelete__15daTag_EvtArea_cFv.s b/asm/rel/d/a/tag/d_a_tag_evtarea/d_a_tag_evtarea/isDelete__15daTag_EvtArea_cFv.s deleted file mode 100644 index 70149fc890..0000000000 --- a/asm/rel/d/a/tag/d_a_tag_evtarea/d_a_tag_evtarea/isDelete__15daTag_EvtArea_cFv.s +++ /dev/null @@ -1,50 +0,0 @@ -lbl_8048C89C: -/* 8048C89C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8048C8A0 7C 08 02 A6 */ mflr r0 -/* 8048C8A4 90 01 00 14 */ stw r0, 0x14(r1) -/* 8048C8A8 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8048C8AC 93 C1 00 08 */ stw r30, 8(r1) -/* 8048C8B0 7C 7E 1B 78 */ mr r30, r3 -/* 8048C8B4 80 03 00 B0 */ lwz r0, 0xb0(r3) -/* 8048C8B8 54 04 A5 3E */ rlwinm r4, r0, 0x14, 0x14, 0x1f -/* 8048C8BC 28 04 0F FF */ cmplwi r4, 0xfff -/* 8048C8C0 38 60 FF FF */ li r3, -1 -/* 8048C8C4 41 82 00 08 */ beq lbl_8048C8CC -/* 8048C8C8 7C 83 23 78 */ mr r3, r4 -lbl_8048C8CC: -/* 8048C8CC 3C 03 00 01 */ addis r0, r3, 1 -/* 8048C8D0 28 00 FF FF */ cmplwi r0, 0xffff -/* 8048C8D4 41 82 00 28 */ beq lbl_8048C8FC -/* 8048C8D8 28 04 0F FF */ cmplwi r4, 0xfff -/* 8048C8DC 38 60 FF FF */ li r3, -1 -/* 8048C8E0 41 82 00 08 */ beq lbl_8048C8E8 -/* 8048C8E4 7C 83 23 78 */ mr r3, r4 -lbl_8048C8E8: -/* 8048C8E8 4B CC 01 C5 */ bl daNpcT_chkEvtBit__FUl -/* 8048C8EC 2C 03 00 00 */ cmpwi r3, 0 -/* 8048C8F0 41 82 00 0C */ beq lbl_8048C8FC -/* 8048C8F4 38 60 00 01 */ li r3, 1 -/* 8048C8F8 48 00 00 3C */ b lbl_8048C934 -lbl_8048C8FC: -/* 8048C8FC 3B E0 00 00 */ li r31, 0 -/* 8048C900 A8 1E 04 B4 */ lha r0, 0x4b4(r30) -/* 8048C904 54 04 C6 3E */ rlwinm r4, r0, 0x18, 0x18, 0x1f -/* 8048C908 28 04 00 FF */ cmplwi r4, 0xff -/* 8048C90C 41 82 00 24 */ beq lbl_8048C930 -/* 8048C910 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8048C914 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8048C918 88 1E 04 E2 */ lbz r0, 0x4e2(r30) -/* 8048C91C 7C 05 07 74 */ extsb r5, r0 -/* 8048C920 4B BA 8A 41 */ bl isSwitch__10dSv_info_cCFii -/* 8048C924 2C 03 00 00 */ cmpwi r3, 0 -/* 8048C928 41 82 00 08 */ beq lbl_8048C930 -/* 8048C92C 3B E0 00 01 */ li r31, 1 -lbl_8048C930: -/* 8048C930 57 E3 06 3E */ clrlwi r3, r31, 0x18 -lbl_8048C934: -/* 8048C934 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8048C938 83 C1 00 08 */ lwz r30, 8(r1) -/* 8048C93C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8048C940 7C 08 03 A6 */ mtlr r0 -/* 8048C944 38 21 00 10 */ addi r1, r1, 0x10 -/* 8048C948 4E 80 00 20 */ blr diff --git a/include/JSystem/J3DGraphAnimator/J3DMaterialAnm.h b/include/JSystem/J3DGraphAnimator/J3DMaterialAnm.h index b87b1f0d0a..ebef351f8b 100644 --- a/include/JSystem/J3DGraphAnimator/J3DMaterialAnm.h +++ b/include/JSystem/J3DGraphAnimator/J3DMaterialAnm.h @@ -9,8 +9,8 @@ typedef struct _GXColorS10 GXColorS10; class J3DMatColorAnm { public: - /* 8003B2B8 */ ~J3DMatColorAnm(); - /* 8003B2F4 */ J3DMatColorAnm(); + /* 8003B2B8 */ ~J3DMatColorAnm() {}; + /* 8003B2F4 */ J3DMatColorAnm() {}; void operator=(J3DMatColorAnm const& other) { mAnmColor = other.mAnmColor; @@ -30,9 +30,9 @@ private: class J3DTexNoAnm { public: - /* 8003B1F8 */ ~J3DTexNoAnm(); - /* 8003B240 */ J3DTexNoAnm(); - /* 8003C82C */ virtual void calc(u16*) const; + /* 8003B1F8 */ ~J3DTexNoAnm() {}; + /* 8003B240 */ J3DTexNoAnm() {}; + /* 8003C82C */ virtual void calc(u16* param_0) const { mAnmTexPattern->getTexNo(field_0x4, param_0); } void operator=(J3DTexNoAnm const& other) { mAnmTexPattern = other.mAnmTexPattern; @@ -52,8 +52,8 @@ private: class J3DTexMtxAnm { public: - /* 8003B264 */ ~J3DTexMtxAnm(); - /* 8003B2A0 */ J3DTexMtxAnm(); + /* 8003B264 */ ~J3DTexMtxAnm() {}; + /* 8003B2A0 */ J3DTexMtxAnm() {}; void operator=(J3DTexMtxAnm const& other) { mAnmTransform = other.mAnmTransform; @@ -75,8 +75,8 @@ private: class J3DTevKColorAnm { public: - /* 8003B150 */ ~J3DTevKColorAnm(); - /* 8003B18C */ J3DTevKColorAnm(); + /* 8003B150 */ ~J3DTevKColorAnm() {}; + /* 8003B18C */ J3DTevKColorAnm() {}; void operator=(J3DTevKColorAnm const& other) { mAnmTevReg = other.mAnmTevReg; @@ -96,8 +96,8 @@ private: class J3DTevColorAnm { public: - /* 8003B1A4 */ ~J3DTevColorAnm(); - /* 8003B1E0 */ J3DTevColorAnm(); + /* 8003B1A4 */ ~J3DTevColorAnm() {}; + /* 8003B1E0 */ J3DTevColorAnm() {}; void operator=(J3DTevColorAnm const& other) { mAnmTevReg = other.mAnmTevReg; @@ -126,7 +126,7 @@ public: /* 8032C664 */ void setTevColorAnm(int, J3DTevColorAnm*); /* 8032C6A4 */ void setTevKColorAnm(int, J3DTevKColorAnm*); - /* 800A4820 */ virtual ~J3DMaterialAnm(); + /* 800A4820 */ virtual ~J3DMaterialAnm() {}; /* 8032C3C4 */ virtual void calc(J3DMaterial*) const; const J3DTexMtxAnm& getTexMtxAnm(int i) const { return mTexMtxAnm[i]; } diff --git a/include/SSystem/SComponent/c_cc_d.h b/include/SSystem/SComponent/c_cc_d.h index fe834acc38..b8b1ba29fa 100644 --- a/include/SSystem/SComponent/c_cc_d.h +++ b/include/SSystem/SComponent/c_cc_d.h @@ -458,6 +458,7 @@ public: void OffAtVsPlayerBit() { mObjAt.OffSPrmBit(0xC); } void OnAtVsPlayerBit() { mObjAt.OnSPrmBit(0xC); } void OnCoSPrmBit(u32 flag) { mObjCo.OnSPrmBit(flag); } + void SetTgSPrm(u32 prm) { mObjTg.SetSPrm(prm); } void SetCoSPrm(u32 prm) { mObjCo.SetSPrm(prm); } }; // Size = 0x40 diff --git a/include/SSystem/SComponent/c_lib.h b/include/SSystem/SComponent/c_lib.h index 886f72583d..f1488363f6 100644 --- a/include/SSystem/SComponent/c_lib.h +++ b/include/SSystem/SComponent/c_lib.h @@ -94,6 +94,11 @@ T cLib_calcTimer(T* value) { return *value; } +template +T cLib_getRndValue(T min, T range) { + return (T)(min + cM_rndF((f32)range)); +} + void MtxInit(void); void MtxTrans(f32, f32, f32, u8); void MtxScale(f32, f32, f32, u8); diff --git a/include/SSystem/SComponent/c_math.h b/include/SSystem/SComponent/c_math.h index 1a9f67eefe..ae0d798509 100644 --- a/include/SSystem/SComponent/c_math.h +++ b/include/SSystem/SComponent/c_math.h @@ -18,11 +18,11 @@ float cM_rndF2(float); float cM_rndFX2(float); inline f32 cM_scos(s16 s) { - return JMath::sincosTable_.table[static_cast(s) >> 3].second; + return JMASCos(s); } inline f32 cM_ssin(s16 s) { - return JMath::sincosTable_.table[static_cast(s) >> 3].first; + return JMASSin(s); } inline s16 cM_deg2s(f32 val) { diff --git a/include/d/a/d_a_npc.h b/include/d/a/d_a_npc.h index 40620561ef..878f344846 100644 --- a/include/d/a/d_a_npc.h +++ b/include/d/a/d_a_npc.h @@ -4,12 +4,31 @@ #include "JSystem/J3DGraphAnimator/J3DMaterialAnm.h" #include "Z2AudioLib/Z2Creature.h" #include "d/com/d_com_inf_game.h" +#include "d/a/d_a_player.h" #include "d/d_path.h" #include "d/msg/d_msg_flow.h" #include "d/particle/d_particle_copoly.h" #include "dolphin/types.h" #include "global.h" +struct bckGetParam { + /* 0x00 */ int bckIdx; + /* 0x04 */ int bckAttr; + /* 0x08 */ int arcIdx; +}; + +struct btpGetParam { + /* 0x00 */ int btpIdx; + /* 0x04 */ int btpAttr; + /* 0x08 */ int arcIdx; +}; + +struct btkGetParam { + /* 0x00 */ int btkIdx; + /* 0x04 */ int btkAttr; + /* 0x08 */ int arcIdx; +}; + struct dPnt {}; class daNpcT_ActorMngr_c { @@ -407,11 +426,16 @@ public: STATIC_ASSERT(sizeof(daNpcT_c) == 0xE40); +BOOL daNpcT_chkEvtBit(u32 i_idx); +BOOL daNpcT_chkPointInArea(cXyz param_0, cXyz param_1, cXyz param_2, s16 param_3, int param_4); + class daNpcF_ActorMngr_c { private: /* 0x0 */ u32 mActorID; public: + daNpcF_ActorMngr_c() { initialize(); } + /* 801506B0 */ void initialize(); /* 801506D8 */ void entry(unsigned int); /* 801506BC */ void entry(fopAc_ac_c*); @@ -422,19 +446,19 @@ public: }; class daNpcF_c : public fopAc_ac_c { -private: +protected: /* 0x568 */ mDoExt_McaMorfSO* mMcaMorf; /* 0x56C */ mDoExt_bckAnm mBckAnm; /* 0x588 */ mDoExt_btpAnm mBtpAnm; /* 0x5A0 */ mDoExt_btkAnm mBtkAnm; /* 0x5B8 */ mDoExt_brkAnm mBrkAnm; - /* 0x5D0 */ dBgS_ObjAcch field_0x5d0; - /* 0x7A8 */ dCcD_Stts field_0x7a8; - /* 0x7E4 */ dBgS_AcchCir field_0x7e4; + /* 0x5D0 */ dBgS_ObjAcch mAcch; + /* 0x7A8 */ dCcD_Stts mStts; + /* 0x7E4 */ dBgS_AcchCir mAcchCir; /* 0x824 */ daNpcF_ActorMngr_c field_0x824; /* 0x82C */ daNpcF_ActorMngr_c field_0x82c[5]; - /* 0x854 */ cXyz field_0x854[3]; - /* 0x878 */ cXyz field_0x878; + /* 0x854 */ cXyz mLookatPos[3]; + /* 0x878 */ cXyz mLookPos; /* 0x884 */ cXyz field_0x884; /* 0x890 */ cXyz field_0x890; /* 0x89C */ cXyz field_0x89c; @@ -443,20 +467,20 @@ private: /* 0x8C0 */ cXyz field_0x8c0; /* 0x8CC */ cXyz field_0x8cc; /* 0x8D8 */ cXyz field_0x8d8; - /* 0x8E4 */ cXyz field_0x8e4; + /* 0x8E4 */ cXyz mHeadPos; /* 0x8F0 */ csXyz field_0x8f0; /* 0x8F6 */ csXyz field_0x8f6; /* 0x8FC */ csXyz field_0x8fc; /* 0x902 */ csXyz field_0x902; /* 0x908 */ csXyz field_0x908[3]; /* 0x91A */ csXyz field_0x91a[3]; - /* 0x92C */ int field_0x92c; + /* 0x92C */ int mCutIndex; /* 0x930 */ u32 field_0x930; - /* 0x934 */ u32 field_0x934; - /* 0x938 */ u32 field_0x938; - /* 0x93C */ u32 field_0x93c[5]; + /* 0x934 */ int field_0x934; // index in 0x93c to not decrement timer (if 0x938 is nonzero) + /* 0x938 */ int field_0x938; // controls whether to use field 0x934 + /* 0x93C */ int field_0x93c[5]; // timers for removing actors from 0x82c /* 0x950 */ int field_0x950; - /* 0x954 */ int field_0x954; + /* 0x954 */ int field_0x954; // a timer /* 0x958 */ int field_0x958; /* 0x95C */ int field_0x95c; /* 0x960 */ int field_0x960; @@ -464,19 +488,19 @@ private: /* 0x968 */ int field_0x968; /* 0x96C */ int field_0x96c; /* 0x970 */ f32 field_0x970; - /* 0x974 */ f32 field_0x974; - /* 0x978 */ f32 field_0x978; - /* 0x97C */ f32 field_0x97c; + /* 0x974 */ f32 mExpressionMorfOverride; + /* 0x978 */ f32 mExpressionMorf; + /* 0x97C */ f32 mMotionMorfOverride; /* 0x980 */ f32 field_0x980; /* 0x984 */ f32 field_0x984[3]; /* 0x990 */ u16 field_0x990; - /* 0x990 */ u16 field_0x992; - /* 0x990 */ u16 field_0x994; - /* 0x990 */ u16 field_0x996; + /* 0x992 */ u16 field_0x992; + /* 0x994 */ u16 field_0x994; + /* 0x996 */ s16 field_0x996; /* 0x998 */ u16 field_0x998; - /* 0x99C */ u32 field_0x99c; + /* 0x99C */ u32 mAnmFlags; /* 0x9A0 */ u32 field_0x9a0; - /* 0x9A4 */ int field_0x9a4; + /* 0x9A4 */ profile_method_class* field_0x9a4; /* 0x9A8 */ int field_0x9a8; /* 0x9AC */ int field_0x9ac; /* 0x9B0 */ u32 field_0x9b0; @@ -485,17 +509,17 @@ private: /* 0x9C4 */ cXyz field_0x9c4; /* 0x9D0 */ u16 field_0x9d0; /* 0x9D2 */ u16 field_0x9d2; - /* 0x9D4 */ u16 field_0x9d4; - /* 0x9D6 */ u16 field_0x9d6; - /* 0x9D8 */ u16 field_0x9d8; - /* 0x9DA */ u16 field_0x9da; - /* 0x9DC */ u16 field_0x9dc; - /* 0x9DE */ u16 field_0x9de; - /* 0x9E0 */ u16 field_0x9e0; - /* 0x9E2 */ u16 field_0x9e2; - /* 0x9E4 */ u16 field_0x9e4; - /* 0x9E6 */ u16 field_0x9e6; - /* 0x9E8 */ u8 field_0x9e8; + /* 0x9D4 */ s16 field_0x9d4; + /* 0x9D6 */ s16 mExpressionPhase; + /* 0x9D8 */ s16 mExpressionPrevPhase; + /* 0x9DA */ s16 mMotionPhase; + /* 0x9DC */ s16 mMotionPrevPhase; + /* 0x9DE */ s16 mExpression; + /* 0x9E0 */ s16 mMotion; + /* 0x9E2 */ u16 mMotionLoops; + /* 0x9E4 */ u16 mExpressionLoops; + /* 0x9E6 */ u16 mOrderEvtNo; + /* 0x9E8 */ s8 field_0x9e8; /* 0x9E9 */ u8 field_0x9e9; /* 0x9EA */ u8 field_0x9ea; /* 0x9EB */ u8 field_0x9eb; @@ -507,7 +531,7 @@ private: /* 0x9F1 */ u8 field_0x9f1; /* 0x9F2 */ bool mHide; /* 0x9f3 */ u8 field_0x9f3; - /* 0x9F4 */ u8 field_0x9f4; + /* 0x9F4 */ bool field_0x9f4; // controls whether setHitodamaPrtcl is called /* 0x9F5 */ u8 field_0x9f5; /* 0x9F6 */ u8 field_0x9f6; /* 0x9F8 */ dMsgFlow_c mFlow; @@ -516,50 +540,73 @@ private: /* 0xAD4 */ dBgS_LinChk field_0xad4; public: - struct daNpcF_anmPlayData {}; + struct daNpcF_anmPlayData { + u16 idx; + f32 morf; + s32 numLoops; + }; - /* 80152014 */ void execute(); - /* 801522AC */ void draw(int, int, f32, _GXColorS10*, int); + enum AnmFlags { + ANM_PAUSE_MORF = 0x0001, + ANM_PAUSE_BTK = 0x0002, + ANM_PAUSE_BRK = 0x0004, + ANM_PLAY_MORF = 0x0008, + ANM_PLAY_BTK = 0x0010, + ANM_PLAY_BRK = 0x0020, + ANM_PAUSE_BCK = 0x0040, + ANM_PAUSE_BTP = 0x0080, + ANM_PLAY_BCK = 0x0100, + ANM_PLAY_BTP = 0x0200, + ANM_FLAG_400 = 0x0400, + ANM_FLAG_800 = 0x0800, + ANM_PAUSE_EXPRESSION = 0x1000, + ANM_MOTION_FLAGS = ANM_PAUSE_MORF | ANM_PAUSE_BTK | ANM_PAUSE_BRK | ANM_PLAY_MORF | ANM_PLAY_BTK | ANM_PLAY_BRK, + ANM_EXPRESSION_FLAGS = ANM_PAUSE_BCK | ANM_PAUSE_BTP | ANM_PLAY_BCK | ANM_PLAY_BTP | ANM_FLAG_400 | ANM_FLAG_800 | ANM_PAUSE_EXPRESSION, + ANM_PAUSE_ALL = ANM_PAUSE_MORF | ANM_PAUSE_BTK | ANM_PAUSE_BRK | ANM_PAUSE_BCK | ANM_PAUSE_BTP | ANM_PAUSE_EXPRESSION, + }; + + /* 80152014 */ BOOL execute(); + /* 801522AC */ BOOL draw(int, int, f32, _GXColorS10*, int); /* 80152614 */ void tgHitCallBack(fopAc_ac_c*, dCcD_GObjInf*, fopAc_ac_c*, dCcD_GObjInf*); /* 80152654 */ void srchAttnActor1(void*, void*); /* 801526E8 */ void* srchActor(void*, void*); /* 801528C8 */ void initialize(); - /* 80152B2C */ void getTrnsfrmKeyAnmP(char*, int); - /* 80152B68 */ void getTexPtrnAnmP(char*, int); - /* 80152BA4 */ void getTexSRTKeyAnmP(char*, int); - /* 80152BE0 */ void getTevRegKeyAnmP(char*, int); - /* 80152C1C */ void setMcaMorfAnm(J3DAnmTransformKey*, f32, f32, int, int, int); - /* 80152C80 */ void setBckAnm(J3DAnmTransform*, f32, int, int, int, bool); - /* 80152CC4 */ void setBtpAnm(J3DAnmTexPattern*, J3DModelData*, f32, int); - /* 80152D04 */ void setBtkAnm(J3DAnmTextureSRTKey*, J3DModelData*, f32, int); - /* 80152D44 */ void setBrkAnm(J3DAnmTevRegKey*, J3DModelData*, f32, int); + /* 80152B2C */ J3DAnmTransformKey* getTrnsfrmKeyAnmP(char*, int); + /* 80152B68 */ J3DAnmTexPattern* getTexPtrnAnmP(char*, int); + /* 80152BA4 */ J3DAnmTextureSRTKey* getTexSRTKeyAnmP(char*, int); + /* 80152BE0 */ J3DAnmTevRegKey* getTevRegKeyAnmP(char*, int); + /* 80152C1C */ BOOL setMcaMorfAnm(J3DAnmTransformKey* i_anm, f32 i_rate, f32 i_morf, int i_attr, int i_start, int i_end); + /* 80152C80 */ BOOL setBckAnm(J3DAnmTransform* i_bck, f32 i_rate, int i_attr, int i_start, int i_end, bool i_modify); + /* 80152CC4 */ BOOL setBtpAnm(J3DAnmTexPattern* i_btp, J3DModelData* i_modelData, f32 i_rate, int i_attr); + /* 80152D04 */ BOOL setBtkAnm(J3DAnmTextureSRTKey* i_btk, J3DModelData* i_modelData, f32 i_rate, int i_attr); + /* 80152D44 */ BOOL setBrkAnm(J3DAnmTevRegKey* i_brk, J3DModelData* i_modelData, f32 i_rate, int i_attr); /* 80152D84 */ void setEnvTevColor(); /* 80152DE0 */ void setRoomNo(); - /* 80152E24 */ void chkEndAnm(f32); - /* 80152EC4 */ void chkEndAnm(J3DFrameCtrl*, f32); - /* 80152F40 */ void playAllAnm(); + /* 80152E24 */ BOOL chkEndAnm(f32); + /* 80152EC4 */ BOOL chkEndAnm(J3DFrameCtrl*, f32); + /* 80152F40 */ BOOL playAllAnm(); /* 80153150 */ void playExpressionAnm(daNpcF_c::daNpcF_anmPlayData***); /* 80153264 */ void playMotionAnm(daNpcF_c::daNpcF_anmPlayData***); /* 8015337C */ void setLookatMtx(int, int*, f32); /* 80153578 */ void hitChk2(dCcD_Cyl*, int, int); /* 80153658 */ void setDamage(int, int, int); - /* 80153718 */ void ctrlMsgAnm(int&, int&, fopAc_ac_c*, int); + /* 80153718 */ int ctrlMsgAnm(int&, int&, fopAc_ac_c*, int); /* 8015387C */ void orderEvent(int, char*, u16, u16, u8, u16); /* 80153954 */ void changeEvent(char*, char*, u16, u16); - /* 801539F0 */ void chkActorInSight(fopAc_ac_c*, f32); - /* 80153A78 */ void chkActorInArea(fopAc_ac_c*, cXyz, cXyz, s16); - /* 80153BDC */ void chkActorInAttnArea(fopAc_ac_c*, fopAc_ac_c*, int); + /* 801539F0 */ BOOL chkActorInSight(fopAc_ac_c*, f32); + /* 80153A78 */ BOOL chkActorInArea(fopAc_ac_c*, cXyz, cXyz, s16); + /* 80153BDC */ BOOL chkActorInAttnArea(fopAc_ac_c*, fopAc_ac_c*, int); /* 80153D1C */ int initTalk(int, fopAc_ac_c**); - /* 80153D84 */ void talkProc(int*, int, fopAc_ac_c**); - /* 80153EF4 */ void turn(s16, f32, int); + /* 80153D84 */ BOOL talkProc(int*, int, fopAc_ac_c**); + /* 80153EF4 */ BOOL turn(s16, f32, int); /* 801540A4 */ void step(s16, int, int, int); /* 80154250 */ void setAngle(s16); - /* 80154278 */ void getDistTableIdx(int, int); - /* 801542A0 */ int getEvtAreaTagP(int, int); + /* 80154278 */ u8 getDistTableIdx(int, int); + /* 801542A0 */ fopAc_ac_c* getEvtAreaTagP(int, int); /* 8015436C */ void getAttnActorP(int, void* (*)(void*, void*), f32, f32, f32, f32, s16, int, int); - /* 80154730 */ void chkActorInSight2(fopAc_ac_c*, f32, s16); + /* 80154730 */ BOOL chkActorInSight2(fopAc_ac_c*, f32, s16); /* 80154834 */ bool chkPointInArea(cXyz, cXyz, f32, f32, f32, s16); /* 801548F4 */ bool chkPointInArea(cXyz, cXyz, cXyz, s16); /* 8015496C */ cXyz getAttentionPos(fopAc_ac_c*); @@ -568,23 +615,29 @@ public: /* 80155BF4 */ virtual ~daNpcF_c(); /* 80155BC8 */ virtual void setParam(); - /* 80155BC0 */ virtual bool main(); - /* 80155BD8 */ virtual bool ctrlBtk(); + /* 80155BC0 */ virtual BOOL main(); + /* 80155BD8 */ virtual BOOL ctrlBtk(); /* 80155BBC */ virtual void adjustShapeAngle(); /* 8015276C */ virtual void setMtx(); /* 801527FC */ virtual void setMtx2(); /* 80155BB8 */ virtual void setAttnPos(); /* 80155BB4 */ virtual void setCollisions(); - /* 80155BE0 */ virtual bool setExpressionAnm(int, bool); - /* 80155EC8 */ virtual bool setExpressionBtp(int); - /* 80155BF0 */ virtual void setExpression(int, f32); - /* 80155BE8 */ virtual void setMotionAnm(int, f32); - /* 80155BEC */ virtual void setMotion(int, f32, int); - /* 80155BD0 */ virtual bool drawDbgInfo(); + /* 80155BE0 */ virtual bool setExpressionAnm(int i_idx, bool i_modify); + /* 80155EC8 */ virtual bool setExpressionBtp(int i_idx); + /* 80155BF0 */ virtual void setExpression(int i_expression, f32 i_morf); + /* 80155BE8 */ virtual void setMotionAnm(int i_idx, f32 i_morf); + /* 80155BEC */ virtual void setMotion(int i_motion, f32 i_morf, int i_restart); + /* 80155BD0 */ virtual BOOL drawDbgInfo(); /* 80155BCC */ virtual void drawOtherMdls(); + BOOL chkActorInSpeakArea(fopAc_ac_c* i_actorCheck, fopAc_ac_c* i_actorArea) { return chkActorInAttnArea(i_actorCheck, i_actorArea, mAttentionInfo.field_0x0[3]); } + BOOL chkPlayerInSpeakArea(fopAc_ac_c* i_actor) { return chkActorInSpeakArea(daPy_getPlayerActorClass(), i_actor); } + BOOL chkActorInTalkArea(fopAc_ac_c* i_actorCheck, fopAc_ac_c* i_actorArea) { return chkActorInAttnArea(i_actorCheck, i_actorArea, mAttentionInfo.field_0x0[1]); } + BOOL chkPlayerInTalkArea(fopAc_ac_c* i_actor) { return chkActorInTalkArea(daPy_getPlayerActorClass(), i_actor); } + BOOL checkHide() { return mHide || (field_0x9f4 && !dComIfGs_wolfeye_effect_check()); } + static u8 const mCcDObjInfo[48]; - static u8 mCcDCyl[68]; + static dCcD_SrcCyl mCcDCyl; static u8 mCcDSph[64]; static u8 mFindActorPList[400]; static s32 mFindCount; @@ -593,8 +646,12 @@ public: STATIC_ASSERT(sizeof(daNpcF_c) == 0xB48); +BOOL daNpcF_chkEvtBit(u32 i_idx); +BOOL daNpcF_chkTmpBit(u32 i_idx); +void daNpcF_offTmpBit(u32 i_idx); int daNpcF_getPlayerInfoFromPlayerList(int param_0, int i_roomNo, cXyz& param_2, csXyz& param_3); +int daNpcF_getGroundAngle(cBgS_PolyInfo*, s16); struct daBaseNpc_matAnm_c { /* 8014D884 */ void calc(J3DMaterial*) const; @@ -765,20 +822,23 @@ public: static u8 m_set_func[4]; }; -class daNpcF_MatAnm_c { +class daNpcF_MatAnm_c : public J3DMaterialAnm { private: - /* 0x000 */ J3DMaterialAnm mMaterialAnm; /* 0x0F4 */ mutable f32 field_0xF4; /* 0x0F8 */ mutable f32 field_0xF8; - /* 0x0FC */ f32 mTranslationX; - /* 0x100 */ f32 mTranslationY; - /* 0x104 */ u8 field_0x104; + /* 0x0FC */ f32 mNowOffsetX; + /* 0x100 */ f32 mNowOffsetY; + /* 0x104 */ u8 mEyeMoveFlag; /* 0x105 */ u8 field_0x105; public: + daNpcF_MatAnm_c() { initialize(); } /* 80150738 */ void initialize(); /* 8015075C */ void calc(J3DMaterial*) const; /* 80155ED0 */ ~daNpcF_MatAnm_c(); + void setNowOffsetX(float i_nowOffsetX) { mNowOffsetX = i_nowOffsetX; } + void setNowOffsetY(float i_nowOffsetY) { mNowOffsetY = i_nowOffsetY; } + void onEyeMoveFlag() { mEyeMoveFlag = 1; } }; class daNpcF_SPCurve_c { @@ -824,6 +884,33 @@ public: cXyz* getPntPos(); // finish }; +class daNpcF_Lookat_c { +private: + /* 0x00 */ cXyz field_0x00[4]; + /* 0x30 */ cXyz* mAttnPos; + /* 0x34 */ csXyz field_0x34[4]; + /* 0x4C */ csXyz field_0x4c[4]; + /* 0x64 */ csXyz field_0x64[4]; + /* 0x7C */ csXyz mRotAngle[4]; + /* 0x94 */ u8 field_0x94[4]; + /* 0x98 vtable */ + +public: + /* 80151038 */ void initialize(); + /* 801510B8 */ void setParam(f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, s16, + cXyz*); + /* 80151350 */ void calc(fopAc_ac_c*, f32 (*)[4], csXyz**, int, int, int); + /* 801515D4 */ void adjustMoveDisAngle(s16&, s16, s16, s16); + /* 80151648 */ void initCalc(fopAc_ac_c*, f32 (*)[4], cXyz*, csXyz*, f32*, cXyz&, int); + /* 80151A54 */ void update(cXyz*, csXyz*, f32*); + /* 80151B68 */ void calcMoveDisAngle(int, cXyz*, csXyz*, cXyz, int, int); + /* 80151F54 */ void setRotAngle(); + /* 80151FE0 */ void clrRotAngle(); + virtual ~daNpcF_Lookat_c() {} + cXyz* getAttnPos() { return mAttnPos; } + void setAttnPos(cXyz* i_attnPos) { mAttnPos = i_attnPos; } +}; + class daNpcF_MoveBgActor_c { private: @@ -839,29 +926,4 @@ public: /* 80155EC0 */ bool ToBack(); }; -class daNpcF_Lookat_c { -private: - /* 0x00 */ cXyz field_0x00[4]; - /* 0x30 */ int field_0x30; - /* 0x34 */ csXyz field_0x34[4]; - /* 0x4C */ csXyz field_0x4c[4]; - /* 0x64 */ csXyz field_0x64[4]; - /* 0x7C */ csXyz mRotAngle[4]; - /* 0x94 */ u8 field_0x94[4]; - /* 0x98 */ void* vtable; - -public: - /* 80151038 */ void initialize(); - /* 801510B8 */ void setParam(f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, s16, - cXyz*); - /* 80151350 */ void calc(fopAc_ac_c*, f32 (*)[4], csXyz**, int, int, int); - /* 801515D4 */ void adjustMoveDisAngle(s16&, s16, s16, s16); - /* 80151648 */ void initCalc(fopAc_ac_c*, f32 (*)[4], cXyz*, csXyz*, f32*, cXyz&, int); - /* 80151A54 */ void update(cXyz*, csXyz*, f32*); - /* 80151B68 */ void calcMoveDisAngle(int, cXyz*, csXyz*, cXyz, int, int); - /* 80151F54 */ void setRotAngle(); - /* 80151FE0 */ void clrRotAngle(); -}; - - #endif /* D_A_D_A_NPC_H */ diff --git a/include/d/bg/d_bg_s_acch.h b/include/d/bg/d_bg_s_acch.h index 8088837a38..407b02b5c1 100644 --- a/include/d/bg/d_bg_s_acch.h +++ b/include/d/bg/d_bg_s_acch.h @@ -126,6 +126,7 @@ public: void ClrWallHit() { m_flags &= ~WALL_HIT; } void SetRoofNone() { m_flags |= ROOF_NONE; } void SetRoofHit() { m_flags |= ROOF_HIT; } + void SetWaterNone() { m_flags |= WATER_NONE; } bool ChkWallHit() { return m_flags & WALL_HIT; } void OffLineCheckHit() { m_flags &= ~LINE_CHECK_HIT; } void OffLineCheck() { m_flags &= ~LINE_CHECK; } diff --git a/include/d/com/d_com_inf_game.h b/include/d/com/d_com_inf_game.h index 9b5384406c..97a9ed43f5 100644 --- a/include/d/com/d_com_inf_game.h +++ b/include/d/com/d_com_inf_game.h @@ -924,7 +924,7 @@ void dComIfGs_offZoneSwitch(int i_swBit, int i_roomNo); void dComIfGs_offOneZoneSwitch(int i_swBit, int i_roomNo); s8 dComIfGp_getReverb(int i_roomNo); void dComIfGs_gameStart(); -bool dComIfGs_wolfeye_effect_check(); +BOOL dComIfGs_wolfeye_effect_check(); BOOL dComIfGs_Wolf_Change_Check(); void dComIfGs_onVisitedRoom(int param_0); void dComIfGs_offVisitedRoom(int param_0); @@ -2883,22 +2883,22 @@ inline int dComIfGp_evmng_startDemo(int param_0) { return dComIfGp_getPEvtManager()->setStartDemo(param_0); } -inline void* dComIfGp_event_getTalkPartner() { +inline fopAc_ac_c* dComIfGp_event_getTalkPartner() { u32 t = g_dComIfG_gameInfo.play.getEvent().mPtT; return g_dComIfG_gameInfo.play.getEvent().convPId(t); } -inline void* dComIfGp_event_getItemPartner() { +inline fopAc_ac_c* dComIfGp_event_getItemPartner() { u32 i = g_dComIfG_gameInfo.play.getEvent().mPtI; return g_dComIfG_gameInfo.play.getEvent().convPId(i); } -inline void* dComIfGp_event_getPt1() { +inline fopAc_ac_c* dComIfGp_event_getPt1() { u32 pt1 = g_dComIfG_gameInfo.play.getEvent().mPt1; return g_dComIfG_gameInfo.play.getEvent().convPId(pt1); } -inline void* dComIfGp_event_getPt2() { +inline fopAc_ac_c* dComIfGp_event_getPt2() { u32 pt2 = g_dComIfG_gameInfo.play.getEvent().mPt2; return g_dComIfG_gameInfo.play.getEvent().convPId(pt2); } @@ -2922,6 +2922,10 @@ inline u16 i_dComIfGp_event_chkEventFlag(u16 flag) { return g_dComIfG_gameInfo.play.getEvent().chkEventFlag(flag); } +inline BOOL dComIfGp_event_chkTalkXY() { + return g_dComIfG_gameInfo.play.getEvent().chkTalkXY(); +} + inline void dComIfGp_event_setCullRate(f32 f) { g_dComIfG_gameInfo.play.getEvent().setCullRate(f); } @@ -2954,6 +2958,10 @@ inline int dComIfGp_evmng_getMySubstanceNum(int index, char* name) { return dComIfGp_getPEvtManager()->getMySubstanceNum(index, name); } +inline BOOL dComIfGp_evmng_ChkPresentEnd() { + return dComIfGp_getPEvtManager()->ChkPresentEnd(); +} + inline int dComIfGp_evmng_checkStartDemo() { return dComIfGp_getPEvtManager()->checkStartDemo(); } diff --git a/include/d/event/d_event.h b/include/d/event/d_event.h index 6fdd117143..2eb3dc5e49 100644 --- a/include/d/event/d_event.h +++ b/include/d/event/d_event.h @@ -125,7 +125,7 @@ public: dStage_MapEvent_dt_c* getStageEventDt(); void sceneChange(int exitId); u32 getPId(void*); - void* convPId(unsigned int); + fopAc_ac_c* convPId(unsigned int); void* getStbDemoData(char* resName); static dStage_MapEvent_dt_c* searchMapEventData(u8 mapToolID, s32 roomNo); static dStage_MapEvent_dt_c* searchMapEventData(u8 mapToolID); @@ -154,11 +154,12 @@ public: void onFlag2(u16 flag) { mFlag2 |= flag; } void offFlag2(u16 flag) { mFlag2 &= ~flag; } void setCullRate(f32 f) { mCullRate = f; } + BOOL chkTalkXY() { return field_0xed == 1 || field_0xed == 2; } bool i_isOrderOK() { return mEventStatus == 0 || mEventStatus == 2; } - void* getPt1() { return convPId(mPt1); } - void* getPt2() { return convPId(mPt2); } - void* getPtT() { return convPId(mPtT); } + fopAc_ac_c* getPt1() { return convPId(mPt1); } + fopAc_ac_c* getPt2() { return convPId(mPt2); } + fopAc_ac_c* getPtT() { return convPId(mPtT); } bool isChangeOK(void* param_0) { return mChangeOK == param_0; } u8 getPreItemNo() { return mPreItemNo; } diff --git a/include/d/msg/d_msg_object.h b/include/d/msg/d_msg_object.h index bef18638c3..c829b8105b 100644 --- a/include/d/msg/d_msg_object.h +++ b/include/d/msg/d_msg_object.h @@ -136,7 +136,7 @@ public: /* 80238320 */ static void onMsgSend(); /* 8023834C */ void offMsgSend(); /* 80238378 */ void isMsgSend(); - /* 802383A4 */ bool isMouthCheck(); + /* 802383A4 */ static bool isMouthCheck(); /* 802383D0 */ static u32 getMessageID(); /* 802383E4 */ void getSmellTypeMessageID(); /* 80238410 */ static void setSmellType(u8); diff --git a/include/f_op/f_op_actor_mng.h b/include/f_op/f_op_actor_mng.h index a702fbf32c..22d2ae1eb2 100644 --- a/include/f_op/f_op_actor_mng.h +++ b/include/f_op/f_op_actor_mng.h @@ -473,9 +473,9 @@ s32 fopAcM_orderMapToolAutoNextEvent(fopAc_ac_c*, u8, s16, u16, u16, u16); s32 fopAcM_orderPotentialEvent(fopAc_ac_c*, u16, u16, u16); s32 fopAcM_orderItemEvent(fopAc_ac_c*, u16, u16); s32 fopAcM_orderTreasureEvent(fopAc_ac_c*, fopAc_ac_c*, u16, u16); -void* fopAcM_getTalkEventPartner(const fopAc_ac_c*); -void* fopAcM_getItemEventPartner(const fopAc_ac_c*); -void* fopAcM_getEventPartner(const fopAc_ac_c*); +fopAc_ac_c* fopAcM_getTalkEventPartner(const fopAc_ac_c*); +fopAc_ac_c* fopAcM_getItemEventPartner(const fopAc_ac_c*); +fopAc_ac_c* fopAcM_getEventPartner(const fopAc_ac_c*); static void fopAcM_onSwitch(fopAc_ac_c const* param_0, int param_1); s32 fopAcM_createItemForPresentDemo(cXyz const* p_pos, int i_itemNo, u8 param_2, int i_itemBitNo, diff --git a/include/m_Do/m_Do_ext.h b/include/m_Do/m_Do_ext.h index fa80315ac8..51c4d8baab 100644 --- a/include/m_Do/m_Do_ext.h +++ b/include/m_Do/m_Do_ext.h @@ -26,6 +26,8 @@ public: s16 i_endF); /* 8000D428 */ int play(); + J3DFrameCtrl* getFrameCtrl() { return &mFrameCtrl; } + f32 getPlaySpeed() { return mFrameCtrl.getRate(); } void setPlaySpeed(f32 speed) { mFrameCtrl.setRate(speed); } f32 getFrame() { return mFrameCtrl.getFrame(); } f32 getEndFrame() { return mFrameCtrl.getEnd(); } @@ -272,6 +274,7 @@ public: f32 getEndFrame() { return mFrameCtrl.getEnd(); } BOOL checkFrame(f32 frame) { return mFrameCtrl.checkPass(frame); } J3DAnmTransform* getAnm() { return mpAnm; } + void changeAnm(J3DAnmTransform* anm) { mpAnm = anm; } bool isStop() { bool stopped = true; @@ -299,7 +302,7 @@ public: int, Z2Creature*, u32, u32); /* 800108F0 */ int create(J3DModelData*, mDoExt_McaMorfCallBack1_c*, mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, int, f32, int, int, Z2Creature*, u32, u32); - /* 80010E70 */ void setAnm(J3DAnmTransform*, int, f32, f32, f32, f32); + /* 80010E70 */ void setAnm(J3DAnmTransform* i_anm, int i_attr, f32 i_morf, f32 i_rate, f32 i_start, f32 i_end); /* 800110B0 */ int play(u32, s8); /* 80011154 */ void updateDL(); /* 800111C0 */ void entryDL(); diff --git a/include/m_Do/m_Do_mtx.h b/include/m_Do/m_Do_mtx.h index 2d66ab19ce..5a0da4fca9 100644 --- a/include/m_Do/m_Do_mtx.h +++ b/include/m_Do/m_Do_mtx.h @@ -59,6 +59,10 @@ inline void cMtx_multVec(Mtx mtx, const Vec* src, Vec* dst) { mDoMtx_multVec(mtx, src, dst); } +inline void cMtx_copy(const Mtx src, Mtx dst) { + mDoMtx_copy(src, dst); +} + inline void mDoMtx_multVecZero(MtxP param_0, Vec* param_1) { param_1->x = param_0[0][3]; param_1->y = param_0[1][3]; diff --git a/include/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash.h b/include/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash.h index 743e2486f2..c10791a6c2 100644 --- a/include/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash.h +++ b/include/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash.h @@ -2,5 +2,123 @@ #define D_A_NPC_ASH_H #include "dolphin/types.h" +#include "d/a/d_a_npc.h" + +class daNpcAsh_c; + +typedef bool (daNpcAsh_c::*daNpcAsh_actionFn)(void*); +typedef BOOL (daNpcAsh_c::*daNpcAsh_eventFn)(int); + +class daNpcAsh_c : public daNpcF_c { +private: + /* 0xB48 */ Z2Creature mZ2; + /* 0xBD8 */ J3DModel* mModelBow; + /* 0xBDC */ J3DModel* mModelQuiver; + /* 0xBE0 */ daNpcF_MatAnm_c* mpMatAnm; + /* 0xBE4 */ daNpcF_Lookat_c mLookat; + /* 0xC80 */ daNpcF_ActorMngr_c mActorMngr[6]; + /* 0xCB0 */ fopAc_ac_c* mTalkPartner; + /* 0xCB4 */ u32 field_0xcb4; // unused + /* 0xCB8 */ dCcD_Cyl mCcCyl[2]; + /* 0xF30 */ daNpcAsh_actionFn mpActionFn; + /* 0xF3C */ request_of_phase_process_class mPhase[2]; + /* 0xF4C */ u32 mItemPartnerId; + /* 0xF50 */ u32 field_0xf50; // unused + /* 0xF54 */ u32 field_0xf54; + /* 0xF58 */ s16 mMessageNo; + /* 0xF5A */ s16 mLookMode; + /* 0xF5C */ u16 field_0xf5c; + /* 0xF5E */ u8 mMapToolId; + /* 0xF5F */ u8 field_0xf5f; + /* 0xF60 */ u8 field_0xf60; + +public: + /* 809582EC */ daNpcAsh_c(); + /* 80958610 */ ~daNpcAsh_c(); + /* 809587A0 */ cPhs__Step Create(); + /* 80958B68 */ BOOL CreateHeap(); + /* 809590C4 */ int Delete(); + /* 809590F8 */ int Execute(); + /* 8095911C */ int Draw(); + /* 80959238 */ bool ctrlJoint(J3DJoint*, J3DModel*); + /* 80959458 */ static BOOL createHeapCallBack(fopAc_ac_c*); + /* 80959478 */ static BOOL ctrlJointCallBack(J3DJoint*, int); + /* 809594C4 */ bool setExpressionAnm(int, bool); + /* 809596E0 */ bool setExpressionBtp(int); + /* 809597C0 */ void setMotionAnm(int i_idx, f32 i_morf); + /* 80959910 */ void reset(); + /* 80959B28 */ /* inline */ bool setAction(daNpcAsh_actionFn); + /* 80959BD0 */ /* inline */ bool isSneaking(); + /* 80959C40 */ bool wait_type0(void*); + /* 8095A67C */ void setMotion(int, f32, int); + /* 8095A6C0 */ void setExpression(int, f32); + /* 8095A6EC */ bool wait_type1(void*); + /* 8095A8EC */ bool talk(void*); + /* 8095AD28 */ bool demo(void*); + /* 8095B164 */ bool leave(void*); + /* 8095B48C */ BOOL EvCut_Introduction(int cutIndex); + /* 8095B58C */ BOOL EvCut_Meeting(int cutIndex); + /* 8095B83C */ BOOL EvCut_WiretapSponsor(int cutIndex); + /* 8095BA80 */ BOOL EvCut_WiretapEntrant(int cutIndex); + /* 8095BCF0 */ void setParam(); + /* 8095BF6C */ BOOL main(); + /* 8095C200 */ /* inline */ void playMotion(); + /* 8095C520 */ BOOL ctrlBtk(); + /* 8095C5C4 */ void setAttnPos(); + /* 8095C9BC */ void lookat(); + /* 8095CC8C */ BOOL drawDbgInfo(); + + s16 getMessageNo() { return shape_angle.x; } + bool isMap() { return !(daNpcF_chkEvtBit(0x10c) || !daNpcF_chkEvtBit(0x108)); } + inline void setExpressionTalkAfter() { setExpression(7, -1.0f); } + inline void setLookMode(int i_lookMode, fopAc_ac_c* i_talkPartner); + inline void searchActors(); + inline BOOL chkFindPlayer(); + inline bool step(s16, bool); + inline void playExpression(); + + #ifdef NONMATCHING + static daNpcAsh_eventFn mEvtSeqList[6]; + #else + static u8 mEvtSeqList[72]; + #endif +}; + +STATIC_ASSERT(sizeof(daNpcAsh_c) == 0xF64); + +class daNpcAsh_Param_c { +public: + /* 8095D5D4 */ virtual ~daNpcAsh_Param_c(); + + struct param { + /* 0x00 */ f32 m00; + /* 0x04 */ f32 mGravity; + /* 0x08 */ f32 m08; + /* 0x0C */ f32 mShadow; + /* 0x10 */ f32 mSttsWeight; + /* 0x14 */ f32 m14; + /* 0x18 */ f32 m18; + /* 0x1C */ f32 m1C; + /* 0x20 */ f32 m20; + /* 0x24 */ f32 m24; + /* 0x28 */ f32 m28; + /* 0x2C */ f32 m2C; + /* 0x30 */ f32 m30; + /* 0x34 */ f32 m34; + /* 0x38 */ f32 m38; + /* 0x3C */ f32 m3C; + /* 0x40 */ f32 mLookatScl; + /* 0x44 */ f32 m44; + /* 0x48 */ s16 m48; + /* 0x4A */ s16 m4A; + /* 0x4C */ s16 m4C; + /* 0x4E */ s16 m4E; + /* 0x50 */ f32 mSightAngle; + /* 0x54 */ f32 m54[3]; + /* 0x60 */ u16 m60[6]; + }; + + static param const m; +}; #endif /* D_A_NPC_ASH_H */ diff --git a/include/rel/d/a/tag/d_a_tag_evtarea/d_a_tag_evtarea.h b/include/rel/d/a/tag/d_a_tag_evtarea/d_a_tag_evtarea.h index 108bd6bf8d..61dc4fbec2 100644 --- a/include/rel/d/a/tag/d_a_tag_evtarea/d_a_tag_evtarea.h +++ b/include/rel/d/a/tag/d_a_tag_evtarea/d_a_tag_evtarea.h @@ -1,6 +1,30 @@ #ifndef D_A_TAG_EVTAREA_H #define D_A_TAG_EVTAREA_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +class daTag_EvtArea_c : public fopAc_ac_c { +public: + /* 8048C4F8 */ cPhs__Step create(); + /* 8048C728 */ bool Delete(); + /* 8048C730 */ bool Execute(); + /* 8048C894 */ bool Draw(); + /* 8048C89C */ BOOL isDelete(); + /* 8048C94C */ BOOL chkPointInArea(cXyz, cXyz); + /* 8048CD08 */ BOOL chkPointInArea(cXyz); + /* 8048CD68 */ virtual ~daTag_EvtArea_c(); + + inline s32 getType(); + inline u32 getOnEvtBit(); + inline u32 getOffEvtBit(); + inline u8 getBitSW(); + inline u8 getBitSW2(); + +private: + /* 0x568 vtable */ + /* 0x56C */ u8 field_0x56c; +}; + +STATIC_ASSERT(sizeof(daTag_EvtArea_c) == 0x570); #endif /* D_A_TAG_EVTAREA_H */ diff --git a/rel/d/a/d_a_bg/d_a_bg.cpp b/rel/d/a/d_a_bg/d_a_bg.cpp index 8299f55d9f..9ecc9c554a 100644 --- a/rel/d/a/d_a_bg/d_a_bg.cpp +++ b/rel/d/a/d_a_bg/d_a_bg.cpp @@ -208,7 +208,8 @@ static asm int createMatAnm(J3DModelData* param_0, u16 param_1) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm J3DTevKColorAnm::~J3DTevKColorAnm() { +// asm J3DTevKColorAnm::~J3DTevKColorAnm() { +extern "C" asm void __dt__15J3DTevKColorAnmFv() { nofralloc #include "asm/rel/d/a/d_a_bg/d_a_bg/__dt__15J3DTevKColorAnmFv.s" } @@ -218,7 +219,8 @@ asm J3DTevKColorAnm::~J3DTevKColorAnm() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm J3DTevKColorAnm::J3DTevKColorAnm() { +// asm J3DTevKColorAnm::J3DTevKColorAnm() { +extern "C" asm void __ct__15J3DTevKColorAnmFv() { nofralloc #include "asm/rel/d/a/d_a_bg/d_a_bg/__ct__15J3DTevKColorAnmFv.s" } @@ -228,7 +230,8 @@ asm J3DTevKColorAnm::J3DTevKColorAnm() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm J3DTevColorAnm::~J3DTevColorAnm() { +// asm J3DTevColorAnm::~J3DTevColorAnm() { +extern "C" asm void __dt__14J3DTevColorAnmFv() { nofralloc #include "asm/rel/d/a/d_a_bg/d_a_bg/__dt__14J3DTevColorAnmFv.s" } @@ -238,7 +241,8 @@ asm J3DTevColorAnm::~J3DTevColorAnm() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm J3DTevColorAnm::J3DTevColorAnm() { +// asm J3DTevColorAnm::J3DTevColorAnm() { +extern "C" asm void __ct__14J3DTevColorAnmFv() { nofralloc #include "asm/rel/d/a/d_a_bg/d_a_bg/__ct__14J3DTevColorAnmFv.s" } @@ -323,7 +327,8 @@ extern "C" asm void __dt__11J3DTexNoAnmFv() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm J3DTexNoAnm::J3DTexNoAnm() { +// asm J3DTexNoAnm::J3DTexNoAnm() { +extern "C" asm void __ct__11J3DTexNoAnmFv() { nofralloc #include "asm/rel/d/a/d_a_bg/d_a_bg/__ct__11J3DTexNoAnmFv.s" } @@ -333,7 +338,8 @@ asm J3DTexNoAnm::J3DTexNoAnm() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm J3DTexMtxAnm::~J3DTexMtxAnm() { +// asm J3DTexMtxAnm::~J3DTexMtxAnm() { +extern "C" asm void __dt__12J3DTexMtxAnmFv() { nofralloc #include "asm/rel/d/a/d_a_bg/d_a_bg/__dt__12J3DTexMtxAnmFv.s" } @@ -343,7 +349,8 @@ asm J3DTexMtxAnm::~J3DTexMtxAnm() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm J3DTexMtxAnm::J3DTexMtxAnm() { +// asm J3DTexMtxAnm::J3DTexMtxAnm() { +extern "C" asm void __ct__12J3DTexMtxAnmFv() { nofralloc #include "asm/rel/d/a/d_a_bg/d_a_bg/__ct__12J3DTexMtxAnmFv.s" } @@ -353,7 +360,8 @@ asm J3DTexMtxAnm::J3DTexMtxAnm() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm J3DMatColorAnm::~J3DMatColorAnm() { +// asm J3DMatColorAnm::~J3DMatColorAnm() { +extern "C" asm void __dt__14J3DMatColorAnmFv() { nofralloc #include "asm/rel/d/a/d_a_bg/d_a_bg/__dt__14J3DMatColorAnmFv.s" } @@ -363,7 +371,8 @@ asm J3DMatColorAnm::~J3DMatColorAnm() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm J3DMatColorAnm::J3DMatColorAnm() { +// asm J3DMatColorAnm::J3DMatColorAnm() { +extern "C" asm void __ct__14J3DMatColorAnmFv() { nofralloc #include "asm/rel/d/a/d_a_bg/d_a_bg/__ct__14J3DMatColorAnmFv.s" } @@ -1091,7 +1100,8 @@ asm int daBg_c::create() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void J3DTexNoAnm::calc(u16* param_0) const { +// asm void J3DTexNoAnm::calc(u16* param_0) const { +extern "C" asm void calc__11J3DTexNoAnmCFPUs() { nofralloc #include "asm/rel/d/a/d_a_bg/d_a_bg/calc__11J3DTexNoAnmCFPUs.s" } diff --git a/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash.cpp b/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash.cpp index f3b9f8327e..9c1d48dac6 100644 --- a/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash.cpp +++ b/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash.cpp @@ -4,368 +4,15 @@ // #include "rel/d/a/npc/d_a_npc_ash/d_a_npc_ash.h" +#include "rel/d/a/tag/d_a_tag_evtarea/d_a_tag_evtarea.h" +#include "JSystem/JKernel/JKRHeap.h" +#include "JSystem/J3DGraphBase/J3DMaterial.h" +#include "SSystem/SComponent/c_math.h" +#include "f_op/f_op_actor_mng.h" +#include "d/d_procname.h" #include "dol2asm.h" #include "dolphin/types.h" -// -// Types: -// - -struct request_of_phase_process_class {}; - -struct mDoMtx_stack_c { - static u8 now[48]; -}; - -struct J3DAnmTransform {}; - -struct mDoExt_bckAnm { - /* 8000D990 */ void changeBckOnly(J3DAnmTransform*); -}; - -struct mDoExt_McaMorfCallBack2_c {}; - -struct mDoExt_McaMorfCallBack1_c {}; - -struct J3DModelData {}; - -struct Vec {}; - -struct Z2Creature { - /* 802C03C8 */ Z2Creature(); - /* 802C0420 */ ~Z2Creature(); - /* 802C0530 */ void init(Vec*, Vec*, u8, u8); -}; - -struct mDoExt_McaMorfSO { - /* 800107D0 */ mDoExt_McaMorfSO(J3DModelData*, mDoExt_McaMorfCallBack1_c*, - mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, int, f32, int, - int, Z2Creature*, u32, u32); - /* 800111EC */ void modelCalc(); - /* 80011310 */ void stopZelAnime(); -}; - -struct fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); - /* 80018C8C */ ~fopAc_ac_c(); -}; - -struct cXyz { - /* 80266B34 */ void operator-(Vec const&) const; - /* 8095CF20 */ ~cXyz(); - /* 8095CF5C */ cXyz(); -}; - -struct daTag_EvtArea_c { - /* 8095D574 */ void chkPointInArea(cXyz); - /* 8048C94C */ void chkPointInArea(cXyz, cXyz); -}; - -struct J3DAnmTexPattern { - /* 8032AF50 */ void getTexNo(u16, u16*) const; -}; - -struct J3DAnmTextureSRTKey {}; - -struct J3DAnmTransformKey {}; - -struct _GXColorS10 {}; - -struct daNpcF_c { - struct daNpcF_anmPlayData {}; - - /* 80152014 */ void execute(); - /* 801522AC */ void draw(int, int, f32, _GXColorS10*, int); - /* 8015276C */ void setMtx(); - /* 801527FC */ void setMtx2(); - /* 801528C8 */ void initialize(); - /* 80152B2C */ void getTrnsfrmKeyAnmP(char*, int); - /* 80152B68 */ void getTexPtrnAnmP(char*, int); - /* 80152BA4 */ void getTexSRTKeyAnmP(char*, int); - /* 80152C1C */ void setMcaMorfAnm(J3DAnmTransformKey*, f32, f32, int, int, int); - /* 80152C80 */ void setBckAnm(J3DAnmTransform*, f32, int, int, int, bool); - /* 80152CC4 */ void setBtpAnm(J3DAnmTexPattern*, J3DModelData*, f32, int); - /* 80152D04 */ void setBtkAnm(J3DAnmTextureSRTKey*, J3DModelData*, f32, int); - /* 80152D84 */ void setEnvTevColor(); - /* 80152DE0 */ void setRoomNo(); - /* 80153150 */ void playExpressionAnm(daNpcF_c::daNpcF_anmPlayData***); - /* 80153264 */ void playMotionAnm(daNpcF_c::daNpcF_anmPlayData***); - /* 8015337C */ void setLookatMtx(int, int*, f32); - /* 80153718 */ void ctrlMsgAnm(int&, int&, fopAc_ac_c*, int); - /* 8015387C */ void orderEvent(int, char*, u16, u16, u8, u16); - /* 80153954 */ void changeEvent(char*, char*, u16, u16); - /* 801539F0 */ void chkActorInSight(fopAc_ac_c*, f32); - /* 80153BDC */ void chkActorInAttnArea(fopAc_ac_c*, fopAc_ac_c*, int); - /* 80153D1C */ void initTalk(int, fopAc_ac_c**); - /* 80153D84 */ void talkProc(int*, int, fopAc_ac_c**); - /* 80153EF4 */ void turn(s16, f32, int); - /* 80154250 */ void setAngle(s16); - /* 80154278 */ void getDistTableIdx(int, int); - /* 801542A0 */ void getEvtAreaTagP(int, int); - /* 8095CF60 */ ~daNpcF_c(); - /* 8095D1AC */ daNpcF_c(); - /* 8095D520 */ void adjustShapeAngle(); - /* 8095D524 */ void setCollisions(); - /* 8095D528 */ void drawOtherMdls(); - - static u8 mCcDCyl[68]; -}; - -struct daNpcF_MatAnm_c { - /* 80150738 */ void initialize(); -}; - -struct csXyz { - /* 8095CEE0 */ ~csXyz(); - /* 8095CF1C */ csXyz(); -}; - -struct daNpcF_Lookat_c { - /* 80151038 */ void initialize(); - /* 801510B8 */ void setParam(f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, s16, - cXyz*); - /* 80151350 */ void calc(fopAc_ac_c*, f32 (*)[4], csXyz**, int, int, int); - /* 8095CE10 */ ~daNpcF_Lookat_c(); -}; - -struct daNpcF_ActorMngr_c { - /* 801506B0 */ void initialize(); - /* 801506BC */ void entry(fopAc_ac_c*); - /* 801506E0 */ void remove(); - /* 801506EC */ void getActorP(); - /* 8095CD8C */ ~daNpcF_ActorMngr_c(); - /* 8095CDD4 */ daNpcF_ActorMngr_c(); -}; - -struct J3DModel {}; - -struct J3DJoint {}; - -struct daNpcAsh_c { - /* 809582EC */ daNpcAsh_c(); - /* 80958610 */ ~daNpcAsh_c(); - /* 809587A0 */ void Create(); - /* 80958B68 */ void CreateHeap(); - /* 809590C4 */ void Delete(); - /* 809590F8 */ void Execute(); - /* 8095911C */ void Draw(); - /* 80959238 */ void ctrlJoint(J3DJoint*, J3DModel*); - /* 80959458 */ void createHeapCallBack(fopAc_ac_c*); - /* 80959478 */ void ctrlJointCallBack(J3DJoint*, int); - /* 809594C4 */ void setExpressionAnm(int, bool); - /* 809596E0 */ void setExpressionBtp(int); - /* 809597C0 */ void setMotionAnm(int, f32); - /* 80959910 */ void reset(); - /* 80959B28 */ void setAction(bool (daNpcAsh_c::*)(void*)); - /* 80959BD0 */ void isSneaking(); - /* 80959C40 */ void wait_type0(void*); - /* 8095A67C */ void setMotion(int, f32, int); - /* 8095A6C0 */ void setExpression(int, f32); - /* 8095A6EC */ void wait_type1(void*); - /* 8095A8EC */ void talk(void*); - /* 8095AD28 */ void demo(void*); - /* 8095B164 */ void leave(void*); - /* 8095B48C */ void EvCut_Introduction(int); - /* 8095B58C */ void EvCut_Meeting(int); - /* 8095B83C */ void EvCut_WiretapSponsor(int); - /* 8095BA80 */ void EvCut_WiretapEntrant(int); - /* 8095BCF0 */ void setParam(); - /* 8095BF6C */ void main(); - /* 8095C200 */ void playMotion(); - /* 8095C520 */ void ctrlBtk(); - /* 8095C5C4 */ void setAttnPos(); - /* 8095C9BC */ void lookat(); - /* 8095CC8C */ bool drawDbgInfo(); - - static u8 mEvtSeqList[72]; -}; - -struct daNpcAsh_Param_c { - /* 8095D5D4 */ ~daNpcAsh_Param_c(); - - static u8 const m[108]; -}; - -struct dSv_memBit_c { - /* 80034860 */ void isSwitch(int) const; -}; - -struct dKy_tevstr_c {}; - -struct dScnKy_env_light_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 dMsgFlow_c { - /* 80249F00 */ dMsgFlow_c(); - /* 80249F48 */ ~dMsgFlow_c(); -}; - -struct dEvt_control_c { - /* 80042468 */ void reset(); - /* 800432EC */ void convPId(unsigned int); -}; - -struct dEvent_manager_c { - /* 80047A78 */ void endCheck(s16); - /* 80047B1C */ void getMyStaffId(char const*, fopAc_ac_c*, int); - /* 80047D4C */ void getIsAddvance(int); - /* 80047E10 */ void getMyActIdx(int, char const* const*, int, int, int); - /* 80047F5C */ void getMyNowCutName(int); - /* 800480EC */ void getMySubstanceP(int, char const*, int); - /* 8004817C */ void cutEnd(int); - /* 800487F0 */ void ChkPresentEnd(); -}; - -struct dComIfG_play_c { - /* 8002C97C */ void getLayerNo(int); -}; - -struct dCcD_Stts { - /* 80083860 */ void Init(int, int, fopAc_ac_c*); -}; - -struct dCcD_SrcCyl {}; - -struct dCcD_GStts { - /* 80083760 */ dCcD_GStts(); - /* 8095D40C */ ~dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 800840E4 */ ~dCcD_GObjInf(); -}; - -struct dCcD_Cyl { - /* 800848B4 */ void Set(dCcD_SrcCyl const&); - /* 80958430 */ ~dCcD_Cyl(); - /* 809584FC */ dCcD_Cyl(); -}; - -struct dBgS_PolyPassChk { - /* 80078E68 */ void SetObj(); -}; - -struct dBgS_ObjAcch { - /* 8095D468 */ ~dBgS_ObjAcch(); -}; - -struct dBgS_LinChk { - /* 80077C68 */ dBgS_LinChk(); - /* 80077CDC */ ~dBgS_LinChk(); -}; - -struct dBgS_GndChk { - /* 8007757C */ dBgS_GndChk(); - /* 800775F0 */ ~dBgS_GndChk(); -}; - -struct dBgS_AcchCir { - /* 80075EAC */ dBgS_AcchCir(); - /* 80075F58 */ void SetWall(f32, f32); - /* 8095D39C */ ~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&); -}; - -struct cM3dGCyl { - /* 8026F1DC */ void SetC(cXyz const&); - /* 8026F1F8 */ void SetH(f32); - /* 8026F200 */ void SetR(f32); - /* 80958580 */ ~cM3dGCyl(); -}; - -struct cM3dGCir { - /* 8026EF18 */ ~cM3dGCir(); -}; - -struct cM3dGAab { - /* 809585C8 */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - -struct cCcS { - /* 80264BA8 */ void Set(cCcD_Obj*); -}; - -struct cCcD_GStts { - /* 8095D52C */ ~cCcD_GStts(); -}; - -struct cBgS_PolyInfo { - /* 802680B0 */ ~cBgS_PolyInfo(); -}; - -struct cBgS_GndChk { - /* 80267C1C */ cBgS_GndChk(); - /* 80267C94 */ ~cBgS_GndChk(); -}; - -struct JMath { - template - struct TSinCosTable {}; - /* TSinCosTable<13, f32> */ - struct TSinCosTable__template0 { - /* 8095CC94 */ void func_8095CC94(void* _this, s16) /* const */; - }; - - static u8 sincosTable_[65536]; -}; - -struct J3DTexNoAnm { - /* 80958FB0 */ ~J3DTexNoAnm(); - /* 80958FF8 */ J3DTexNoAnm(); - /* 8095BCC0 */ void calc(u16*) const; -}; - -struct J3DTexMtxAnm { - /* 8095901C */ ~J3DTexMtxAnm(); - /* 80959058 */ J3DTexMtxAnm(); -}; - -struct J3DTevKColorAnm { - /* 80958F08 */ ~J3DTevKColorAnm(); - /* 80958F44 */ J3DTevKColorAnm(); -}; - -struct J3DTevColorAnm { - /* 80958F5C */ ~J3DTevColorAnm(); - /* 80958F98 */ J3DTevColorAnm(); -}; - -struct J3DSys { - static u8 mCurrentMtx[48]; -}; - -struct J3DMaterialAnm { - /* 8032C320 */ void initialize(); -}; - -struct J3DMatColorAnm { - /* 80959070 */ ~J3DMatColorAnm(); - /* 809590AC */ J3DMatColorAnm(); -}; - -struct J3DFrameCtrl { - /* 803283FC */ void init(s16); - /* 8095D4D8 */ ~J3DFrameCtrl(); -}; - // // Forward References: // @@ -448,7 +95,7 @@ extern "C" void __dt__16daNpcAsh_Param_cFv(); extern "C" static void func_8095D61C(); extern "C" static void func_8095D624(); extern "C" u8 const m__16daNpcAsh_Param_c[108]; -extern "C" extern char const* const d_a_npc_ash__stringBase0; +extern "C" extern char* const d_a_npc_ash__stringBase0; extern "C" u8 mEvtSeqList__10daNpcAsh_c[72]; // @@ -565,10 +212,6 @@ extern "C" void __dl__FPv(); extern "C" void init__12J3DFrameCtrlFs(); extern "C" void getTexNo__16J3DAnmTexPatternCFUsPUs(); extern "C" void initialize__14J3DMaterialAnmFv(); -extern "C" void PSMTXCopy(); -extern "C" void PSMTXMultVec(); -extern "C" void PSVECSquareMag(); -extern "C" void PSVECSquareDistance(); extern "C" void __destroy_arr(); extern "C" void __construct_array(); extern "C" void __ptmf_test(); @@ -585,10 +228,7 @@ extern "C" void _restgpr_26(); extern "C" void _restgpr_27(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); -extern "C" void strcmp(); extern "C" extern u8 const __ptmf_null[12 + 4 /* padding */]; -extern "C" extern void* g_fopAc_Method[8]; -extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; extern "C" extern void* __vt__8dCcD_Cyl[36]; extern "C" extern void* __vt__9dCcD_Stts[11]; extern "C" u8 mCcDCyl__8daNpcF_c[68]; @@ -599,13 +239,8 @@ extern "C" extern void* __vt__14cCcD_ShapeAttr[22]; extern "C" extern void* __vt__9cCcD_Stts[8]; extern "C" extern void* __vt__14J3DMaterialAnm[4]; extern "C" u8 now__14mDoMtx_stack_c[48]; -extern "C" extern u8 g_dComIfG_gameInfo[122384]; -extern "C" extern u8 g_env_light[4880]; -extern "C" extern u8 j3dSys[284]; extern "C" u8 mCurrentMtx__6J3DSys[48]; extern "C" u8 sincosTable___5JMath[65536]; -extern "C" extern u32 __float_nan; -extern "C" extern f32 G_CM3D_F_ABS_MIN[1 + 1 /* padding */]; extern "C" void chkPointInArea__15daTag_EvtArea_cF4cXyz4cXyz(); extern "C" void __register_global_object(); @@ -613,6 +248,81 @@ extern "C" void __register_global_object(); // Declarations: // +void daNpcAsh_c::setLookMode(int i_lookMode, fopAc_ac_c* i_talkPartner) { + if (i_lookMode != mLookMode || i_talkPartner != mTalkPartner) { + mLookMode = i_lookMode; + mTalkPartner = i_talkPartner; + } +} + +void daNpcAsh_c::searchActors() { + if (!mActorMngr[1].getActorP()) { + mActorMngr[1].entry(i_fopAcM_SearchByName(PROC_NPC_SHAD)); + } + if (!mActorMngr[2].getActorP()) { + mActorMngr[2].entry(i_fopAcM_SearchByName(PROC_NPC_RAFREL)); + } + if (!mActorMngr[3].getActorP()) { + mActorMngr[3].entry(i_fopAcM_SearchByName(PROC_NPC_MOIR)); + } + if (isMap() && !mActorMngr[4].getActorP()) { + mActorMngr[4].entry(i_fopAcM_SearchByName(PROC_Obj_Table)); + } + if (!mActorMngr[5].getActorP()) { + mActorMngr[5].entry(getEvtAreaTagP(17, 0)); + } +} + +BOOL daNpcAsh_c::chkFindPlayer() { + BOOL ret; + if (!chkActorInSight(daPy_getPlayerActorClass(), daNpcAsh_Param_c::m.mSightAngle)) { + mActorMngr[0].remove(); + ret = false; + } else { + if (mActorMngr[0].getActorP() == NULL) { + ret = chkPlayerInSpeakArea(this); + } else { + ret = chkPlayerInTalkArea(this); + } + if (ret) { + mActorMngr[0].entry(daPy_getPlayerActorClass()); + } else { + mActorMngr[0].remove(); + } + } + return ret; +} + +bool daNpcAsh_c::step(s16 i_angY, bool i_animate) { + if (field_0x96c == 0) { + if (i_animate) { + if ((s32)fabsf(cM_sht2d((f32)(s16)(i_angY - field_0x8f0.y))) > 40) { + setExpression(7, -1.0f); + setMotion(9, -1.0f, false); + } + } + field_0x996 = i_angY; + field_0x968 = 0; + if (field_0x8f0.y == field_0x996) { + field_0x96c++; + } + current.angle.y = field_0x8f0.y; + shape_angle.y = current.angle.y; + field_0x96c++; + } else if (field_0x96c == 1) { + if (turn(field_0x996, 15.0, 0)) { + shape_angle.y = current.angle.y; + field_0x8f0.y = current.angle.y; + field_0x8f6.y = current.angle.y; + field_0x96c++; + } else { + shape_angle.y = current.angle.y; + field_0x8f0.y = current.angle.y; + } + } + return field_0x96c > 1; +} + /* ############################################################################################## */ /* 8095D910-8095D910 0002D0 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ #pragma push @@ -647,78 +357,121 @@ SECTION_DATA static u32 lit_1787[1 + 4 /* padding */] = { #pragma pop /* 8095D9B0-8095DA88 000020 00D8+00 1/2 0/0 0/0 .data l_bckGetParamList */ -SECTION_DATA static u8 l_bckGetParamList[216] = { - 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, - 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x07, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, - 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0E, - 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x02, - 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, - 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, - 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, - 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, +static bckGetParam l_bckGetParamList[18] = { + {-1, 2, 0}, // + {7, 0, 0}, // ash_f_talk_a + {12, 0, 1}, // ash_f_talk_b + {11, 0, 1}, // ash_f_silent + {8, 0, 1}, // ash_f_cool + {7, 0, 1}, // ash_f_ask + {9, 0, 1}, // ash_f_explain_a + {10, 0, 1}, // ash_f_explain_b + {8, 2, 0}, // ash_wait_a + {14, 2, 1}, // ash_wait_b + {15, 2, 1}, // ash_wait_c + {13, 0, 1}, // ash_step + {4, 0, 1}, // ash_cool + {3, 0, 1}, // ash_ask + {5, 0, 1}, // ash_explain_a + {6, 0, 1}, // ash_explain_b + {5, 2, 2}, // ash_bowwait + {4, 2, 2}, // ash_bowrun }; /* 8095DA88-8095DA94 0000F8 000C+00 1/1 0/0 0/0 .data l_btpGetParamList */ -SECTION_DATA static u8 l_btpGetParamList[12] = { - 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, +static btpGetParam l_btpGetParamList[1] = { + {17, 2, 0}, // ash }; /* 8095DA94-8095DAA0 000104 000C+00 0/1 0/0 0/0 .data l_btkGetParamList */ #pragma push #pragma force_active on -SECTION_DATA static u8 l_btkGetParamList[12] = { - 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, +static btkGetParam l_btkGetParamList[1] = { + {14, 2, 0}, // ash }; #pragma pop /* 8095DAA0-8095DAAC 000110 000C+00 1/0 0/0 0/0 .data l_loadRes_ASH0 */ -SECTION_DATA static u8 l_loadRes_ASH0[12] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xFF, 0xFF, 0xFF, 0xFF, +static int l_loadRes_ASH0[3] = { + 0, 1, -1, }; /* 8095DAAC-8095DAB8 00011C 000C+00 1/0 0/0 0/0 .data l_loadRes_ASH1 */ -SECTION_DATA static u8 l_loadRes_ASH1[12] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xFF, 0xFF, 0xFF, 0xFF, +static int l_loadRes_ASH1[3] = { + 0, 2, -1, }; /* 8095DAB8-8095DAC0 -00001 0008+00 2/2 0/0 0/0 .data l_loadRes_list */ -SECTION_DATA static void* l_loadRes_list[2] = { - (void*)&l_loadRes_ASH0, - (void*)&l_loadRes_ASH1, +static int* l_loadRes_list[2] = { + l_loadRes_ASH0, + l_loadRes_ASH1, }; +#ifdef NONMATCHING + /* 8095DAC0-8095DACC -00001 000C+00 5/7 0/0 0/0 .data l_arcNames */ -SECTION_DATA static void* l_arcNames[3] = { - (void*)&d_a_npc_ash__stringBase0, - (void*)(((char*)&d_a_npc_ash__stringBase0) + 0x4), - (void*)(((char*)&d_a_npc_ash__stringBase0) + 0x9), +static char* l_arcNames[3] = { + "Ash", + "Ash1", + "Ash2", +}; + +/* 8095DACC-8095DAE4 -00001 0018+00 0/2 0/0 0/0 .data l_evtNames */ +static char* l_evtNames[6] = { + "", + "THE_INTRODUCTION", + "RESIST_MEETING", + "RESIST_WIRETAP_ASH", + "RESIST_WIRETAP_SHAD", + "RESIST_WIRETAP_RAFREL", +}; + +/* 8095DAE4-8095DAE8 -00001 0004+00 0/2 0/0 0/0 .data l_myName */ +static char* l_myName = "Ash"; + +#else + +/* 8095DAC0-8095DACC -00001 000C+00 5/7 0/0 0/0 .data l_arcNames */ +SECTION_DATA static char* l_arcNames[3] = { + (char*)&d_a_npc_ash__stringBase0, + (((char*)&d_a_npc_ash__stringBase0) + 0x4), + (((char*)&d_a_npc_ash__stringBase0) + 0x9), }; /* 8095DACC-8095DAE4 -00001 0018+00 0/2 0/0 0/0 .data l_evtNames */ #pragma push #pragma force_active on -SECTION_DATA static void* l_evtNames[6] = { - (void*)(((char*)&d_a_npc_ash__stringBase0) + 0xE), - (void*)(((char*)&d_a_npc_ash__stringBase0) + 0xF), - (void*)(((char*)&d_a_npc_ash__stringBase0) + 0x20), - (void*)(((char*)&d_a_npc_ash__stringBase0) + 0x2F), - (void*)(((char*)&d_a_npc_ash__stringBase0) + 0x42), - (void*)(((char*)&d_a_npc_ash__stringBase0) + 0x56), +SECTION_DATA static char* l_evtNames[6] = { + (((char*)&d_a_npc_ash__stringBase0) + 0xE), + (((char*)&d_a_npc_ash__stringBase0) + 0xF), + (((char*)&d_a_npc_ash__stringBase0) + 0x20), + (((char*)&d_a_npc_ash__stringBase0) + 0x2F), + (((char*)&d_a_npc_ash__stringBase0) + 0x42), + (((char*)&d_a_npc_ash__stringBase0) + 0x56), }; #pragma pop /* 8095DAE4-8095DAE8 -00001 0004+00 0/2 0/0 0/0 .data l_myName */ #pragma push #pragma force_active on -SECTION_DATA static void* l_myName = (void*)&d_a_npc_ash__stringBase0; +SECTION_DATA static char* l_myName = (char*)&d_a_npc_ash__stringBase0; #pragma pop +#endif + +#ifdef NONMATCHING + +daNpcAsh_eventFn daNpcAsh_c::mEvtSeqList[6] = { + NULL, + &EvCut_Introduction, + &EvCut_Meeting, + &EvCut_WiretapSponsor, + &EvCut_WiretapEntrant, + &EvCut_WiretapEntrant, +}; + +#else + /* 8095DAE8-8095DAF4 -00001 000C+00 0/1 0/0 0/0 .data @3823 */ #pragma push #pragma force_active on @@ -781,6 +534,8 @@ SECTION_DATA u8 daNpcAsh_c::mEvtSeqList[72] = { }; #pragma pop +#endif + /* 8095DB6C-8095DB8C -00001 0020+00 1/1 0/0 0/0 .data @4549 */ SECTION_DATA static void* lit_4549[8] = { (void*)(((char*)setExpressionAnm__10daNpcAsh_cFib) + 0xB4), @@ -881,26 +636,37 @@ SECTION_DATA static void* lit_5140[3] = { }; #pragma pop +static cPhs__Step daNpcAsh_Create(void*); +static int daNpcAsh_Delete(void*); +static int daNpcAsh_Execute(void*); +static int daNpcAsh_IsDelete(void*); +static int daNpcAsh_Draw(void*); + /* 8095DC04-8095DC24 -00001 0020+00 1/0 0/0 0/0 .data daNpcAsh_MethodTable */ -SECTION_DATA static void* daNpcAsh_MethodTable[8] = { - (void*)daNpcAsh_Create__FPv, - (void*)daNpcAsh_Delete__FPv, - (void*)daNpcAsh_Execute__FPv, - (void*)daNpcAsh_IsDelete__FPv, - (void*)daNpcAsh_Draw__FPv, - (void*)NULL, - (void*)NULL, - (void*)NULL, +static actor_method_class daNpcAsh_MethodTable = { + (process_method_func)daNpcAsh_Create, + (process_method_func)daNpcAsh_Delete, + (process_method_func)daNpcAsh_Execute, + (process_method_func)daNpcAsh_IsDelete, + (process_method_func)daNpcAsh_Draw, }; /* 8095DC24-8095DC54 -00001 0030+00 0/0 0/0 1/0 .data g_profile_NPC_ASH */ -SECTION_DATA extern void* g_profile_NPC_ASH[12] = { - (void*)0xFFFFFFFD, (void*)0x0007FFFD, - (void*)0x02980000, (void*)&g_fpcLf_Method, - (void*)0x00000F64, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x019B0000, (void*)&daNpcAsh_MethodTable, - (void*)0x00040100, (void*)0x040E0000, +extern actor_process_profile_definition g_profile_NPC_ASH = { + -3, + 7, + -3, + PROC_NPC_ASH, + &g_fpcLf_Method.mBase, + sizeof(daNpcAsh_c), + 0, + 0, + &g_fopAc_Method.base, + 0x019B, + &daNpcAsh_MethodTable, + 0x00040100, + 4, + 14, }; /* 8095DC54-8095DC60 0002C4 000C+00 2/2 0/0 0/0 .data __vt__11J3DTexNoAnm */ @@ -1010,12 +776,13 @@ asm daNpcAsh_c::daNpcAsh_c() { #include "asm/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash/__ct__10daNpcAsh_cFv.s" } #pragma pop - + /* 80958430-809584FC 000230 00CC+00 2/2 0/0 0/0 .text __dt__8dCcD_CylFv */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dCcD_Cyl::~dCcD_Cyl() { +// asm dCcD_Cyl::~dCcD_Cyl() { +asm void __dt__8dCcD_CylFv() { nofralloc #include "asm/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash/__dt__8dCcD_CylFv.s" } @@ -1025,7 +792,8 @@ asm dCcD_Cyl::~dCcD_Cyl() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dCcD_Cyl::dCcD_Cyl() { +// asm dCcD_Cyl::dCcD_Cyl() { +asm void __ct__8dCcD_CylFv() { nofralloc #include "asm/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash/__ct__8dCcD_CylFv.s" } @@ -1035,7 +803,8 @@ asm dCcD_Cyl::dCcD_Cyl() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cM3dGCyl::~cM3dGCyl() { +// asm cM3dGCyl::~cM3dGCyl() { +asm void __dt__8cM3dGCylFv() { nofralloc #include "asm/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash/__dt__8cM3dGCylFv.s" } @@ -1045,7 +814,8 @@ asm cM3dGCyl::~cM3dGCyl() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cM3dGAab::~cM3dGAab() { +// asm cM3dGAab::~cM3dGAab() { +asm void __dt__8cM3dGAabFv() { nofralloc #include "asm/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash/__dt__8cM3dGAabFv.s" } @@ -1055,7 +825,8 @@ asm cM3dGAab::~cM3dGAab() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm daNpcAsh_c::~daNpcAsh_c() { +// asm daNpcAsh_c::~daNpcAsh_c() { +asm void __dt__10daNpcAsh_cFv() { nofralloc #include "asm/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash/__dt__10daNpcAsh_cFv.s" } @@ -1063,61 +834,126 @@ asm daNpcAsh_c::~daNpcAsh_c() { /* ############################################################################################## */ /* 8095D640-8095D6AC 000000 006C+00 14/14 0/0 0/0 .rodata m__16daNpcAsh_Param_c */ -SECTION_RODATA u8 const daNpcAsh_Param_c::m[108] = { - 0x42, 0x0C, 0x00, 0x00, 0xC0, 0x40, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x43, 0xC8, 0x00, 0x00, - 0x43, 0x7F, 0x00, 0x00, 0x43, 0x48, 0x00, 0x00, 0x42, 0x0C, 0x00, 0x00, 0x41, 0xF0, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x41, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0xF0, 0x00, 0x00, 0xC1, 0xF0, 0x00, 0x00, - 0x3F, 0x4C, 0xCC, 0xCD, 0x41, 0x40, 0x00, 0x00, 0x00, 0x03, 0x00, 0x06, 0x00, 0x05, 0x00, 0x06, - 0x42, 0xF0, 0x00, 0x00, 0x43, 0xFA, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, - 0x00, 0x3C, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +SECTION_RODATA daNpcAsh_Param_c::param const daNpcAsh_Param_c::m = { + 35.0f, + -3.0f, // mGravity + 1.0f, + 400.0f, // mShadow + 255.0f, // mSttsWeight + 200.0f, + 35.0f, + 30.0f, + 0.0f, + 0.0f, + 0.0f, + 0.0f, + 30.0f, + 0.0f, + 30.0f, + -30.0f, + 0.8f, // mLookatScl + 12.0f, + 3, + 6, + 5, + 6, + 120.0f, // mSightAngle + 500.0f, + 300.0f, + -300.0f, + 60, + 8, + 0, + 0, + 0, + 0, }; COMPILER_STRIP_GATE(0x8095D640, &daNpcAsh_Param_c::m); -/* 8095D6AC-8095D6B0 00006C 0004+00 0/1 0/0 0/0 .rodata @4224 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4224 = -100.0f; -COMPILER_STRIP_GATE(0x8095D6AC, &lit_4224); -#pragma pop - -/* 8095D6B0-8095D6B4 000070 0004+00 0/1 0/0 0/0 .rodata @4225 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4225 = -50.0f; -COMPILER_STRIP_GATE(0x8095D6B0, &lit_4225); -#pragma pop - -/* 8095D6B4-8095D6B8 000074 0004+00 0/1 0/0 0/0 .rodata @4226 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4226 = 100.0f; -COMPILER_STRIP_GATE(0x8095D6B4, &lit_4226); -#pragma pop - -/* 8095D6B8-8095D6BC 000078 0004+00 0/1 0/0 0/0 .rodata @4227 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4227 = 220.0f; -COMPILER_STRIP_GATE(0x8095D6B8, &lit_4227); -#pragma pop - -/* 8095D910-8095D910 0002D0 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_8095D97C = "R_SP116"; -SECTION_DEAD static char const* const stringBase_8095D984 = "D_MN09"; -#pragma pop - /* 809587A0-80958B68 0005A0 03C8+00 1/1 0/0 0/0 .text Create__10daNpcAsh_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daNpcAsh_c::Create() { - nofralloc -#include "asm/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash/Create__10daNpcAsh_cFv.s" +cPhs__Step daNpcAsh_c::Create() { + cPhs__Step step; + + if (!fopAcM_CheckCondition(this, 8)) { + new (this) daNpcAsh_c(); + fopAcM_OnCondition(this, 8); + } + + if (!strcmp(dComIfGp_getStartStageName(), "R_SP116") && dComIfG_play_c::getLayerNo(0) == 4) { + if (daNpcF_chkEvtBit(0x169) && !daNpcF_chkEvtBit(0x10a)) { + return cPhs_ERROR_e; + } + if (dComIfGs_isStageSwitch(0x18, 0x4b)) { + return cPhs_ERROR_e; + } + field_0xf60 = 0; + } else if (!strcmp(dComIfGp_getStartStageName(), "D_MN09")) { + if (dComIfGs_isSaveSwitch(0x14)) { + return cPhs_ERROR_e; + } + fopAcM_OnStatus(this, 0x4000); + field_0xf60 = 1; + } + + mMessageNo = getMessageNo(); + + step = cPhs_ERROR_e; + u32 i = 0; + int arcIndex; + while (arcIndex = l_loadRes_list[field_0xf60][i], arcIndex >= 0) { + step = (cPhs__Step)dComIfG_resLoad(&mPhase[i], l_arcNames[arcIndex]); + if (step != cPhs_COMPLEATE_e) { + return step; + } + i++; + } + + if (step == cPhs_COMPLEATE_e) { + u32 heapSize = 0; + switch (field_0xf60) { + case 0: + heapSize = 0x4210; + break; + case 1: + heapSize = 0x58b0; + break; + } + + if (!fopAcM_entrySolidHeap(this, createHeapCallBack, heapSize)) { + return cPhs_ERROR_e; + } + + fopAcM_SetMtx(this, mMcaMorf->getModel()->getBaseTRMtx()); + fopAcM_setCullSizeBox(this, -100.0f, -50.0f, -100.0f, 100.0f, 220.0f, 100.0f); + mZ2.init(¤t.pos, &mEyePos, 3, 1); + mAcchCir.SetWall(daNpcAsh_Param_c::m.m1C, daNpcAsh_Param_c::m.m18); + mAcch.Set(&fopAcM_GetPosition_p(this), &fopAcM_GetOldPosition_p(this), this, 1, &mAcchCir, &fopAcM_GetSpeed_p(this), &fopAcM_GetAngle_p(this), &fopAcM_GetShapeAngle_p(this)); + mAcch.SetRoofNone(); + mAcch.SetWaterNone(); + mAcch.CrrPos(dComIfG_Bgsp()); + mStts.Init((int)daNpcAsh_Param_c::m.mSttsWeight, 0, this); + mCcCyl[0].Set(daNpcF_c::mCcDCyl); + mCcCyl[0].SetStts(&mStts); + mCcCyl[0].SetTgType(0); + mCcCyl[0].SetTgSPrm(0); + if (field_0xf60 == 0) { + mCcCyl[1].Set(daNpcF_c::mCcDCyl); + mCcCyl[1].SetStts(&mStts); + mCcCyl[1].SetTgType(0); + mCcCyl[1].SetTgSPrm(0); + mCcCyl[1].SetCoSPrm(0x19); + } + field_0xa44 = mAcch.m_gnd; + field_0x980 = mAcch.GetGroundH(); + setEnvTevColor(); + setRoomNo(); + mMcaMorf->modelCalc(); + reset(); + Execute(); + } + + return step; } -#pragma pop /* ############################################################################################## */ /* 8095D6BC-8095D6C0 00007C 0004+00 4/4 0/0 0/0 .rodata @4300 */ @@ -1125,29 +961,81 @@ SECTION_RODATA static f32 const lit_4300 = 1.0f; COMPILER_STRIP_GATE(0x8095D6BC, &lit_4300); /* 8095D6C0-8095D6C4 000080 0004+00 3/9 0/0 0/0 .rodata @4301 */ -SECTION_RODATA static u8 const lit_4301[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; +SECTION_RODATA static f32 const lit_4301 = 0.0f; COMPILER_STRIP_GATE(0x8095D6C0, &lit_4301); /* 80958B68-80958F08 000968 03A0+00 1/1 0/0 0/0 .text CreateHeap__10daNpcAsh_cFv */ +#ifdef NONMATCHING +BOOL daNpcAsh_c::CreateHeap() { + J3DModelData* modelData = (J3DModelData*)dComIfG_getObjectRes(l_arcNames[0], 11); + mMcaMorf = new mDoExt_McaMorfSO(modelData, NULL, NULL, NULL, -1, 1.0f, 0, -1, &mZ2, 0x80000, 0x11020284); + if (mMcaMorf != NULL && mMcaMorf->mpModel == NULL) { + mMcaMorf->stopZelAnime(); + mMcaMorf = NULL; + } + if (mMcaMorf == NULL) { + return false; + } + + J3DModel* model = mMcaMorf->getModel(); + for (u16 jointNo = 0; jointNo < modelData->getJointNum(); jointNo++) { + modelData->getJointNodePointer(jointNo)->setCallBack(ctrlJointCallBack); + } + model->setUserArea((u32)this); + + mpMatAnm = new daNpcF_MatAnm_c(); + if (mpMatAnm == NULL) { + return false; + } + + mModelQuiver = NULL; + mModelBow = NULL; + if (field_0xf60 == 1) { + mModelBow = mDoExt_J3DModel__create((J3DModelData*)dComIfG_getObjectRes(l_arcNames[2], 8), 0x80000, 0x11000084); + if (mModelBow == NULL) { + return false; + } + mModelQuiver = mDoExt_J3DModel__create((J3DModelData*)dComIfG_getObjectRes(l_arcNames[2], 9), 0x80000, 0x11000084); + if (mModelQuiver == NULL) { + return false; + } + } + + if (!setExpressionAnm(1, false)) { + return false; + } + + switch (field_0xf60) { + case 0: + if (isMap()) { + setMotionAnm(9, 0.0f); + } else { + setMotionAnm(8, 0.0f); + } + break; + case 1: + setMotionAnm(16, 0.0f); + break; + } + return true; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daNpcAsh_c::CreateHeap() { +asm BOOL daNpcAsh_c::CreateHeap() { nofralloc #include "asm/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash/CreateHeap__10daNpcAsh_cFv.s" } #pragma pop +#endif /* 80958F08-80958F44 000D08 003C+00 1/1 0/0 0/0 .text __dt__15J3DTevKColorAnmFv */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm J3DTevKColorAnm::~J3DTevKColorAnm() { +// asm J3DTevKColorAnm::~J3DTevKColorAnm() { +asm void __dt__15J3DTevKColorAnmFv() { nofralloc #include "asm/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash/__dt__15J3DTevKColorAnmFv.s" } @@ -1157,7 +1045,8 @@ asm J3DTevKColorAnm::~J3DTevKColorAnm() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm J3DTevKColorAnm::J3DTevKColorAnm() { +// asm J3DTevKColorAnm::J3DTevKColorAnm() { +asm void __ct__15J3DTevKColorAnmFv() { nofralloc #include "asm/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash/__ct__15J3DTevKColorAnmFv.s" } @@ -1167,7 +1056,8 @@ asm J3DTevKColorAnm::J3DTevKColorAnm() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm J3DTevColorAnm::~J3DTevColorAnm() { +// asm J3DTevColorAnm::~J3DTevColorAnm() { +asm void __dt__14J3DTevColorAnmFv() { nofralloc #include "asm/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash/__dt__14J3DTevColorAnmFv.s" } @@ -1177,7 +1067,8 @@ asm J3DTevColorAnm::~J3DTevColorAnm() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm J3DTevColorAnm::J3DTevColorAnm() { +// asm J3DTevColorAnm::J3DTevColorAnm() { +asm void __ct__14J3DTevColorAnmFv() { nofralloc #include "asm/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash/__ct__14J3DTevColorAnmFv.s" } @@ -1187,7 +1078,8 @@ asm J3DTevColorAnm::J3DTevColorAnm() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm J3DTexNoAnm::~J3DTexNoAnm() { +// asm J3DTexNoAnm::~J3DTexNoAnm() { +asm void __dt__11J3DTexNoAnmFv() { nofralloc #include "asm/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash/__dt__11J3DTexNoAnmFv.s" } @@ -1197,7 +1089,8 @@ asm J3DTexNoAnm::~J3DTexNoAnm() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm J3DTexNoAnm::J3DTexNoAnm() { +// asm J3DTexNoAnm::J3DTexNoAnm() { +asm void __ct__11J3DTexNoAnmFv() { nofralloc #include "asm/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash/__ct__11J3DTexNoAnmFv.s" } @@ -1207,7 +1100,8 @@ asm J3DTexNoAnm::J3DTexNoAnm() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm J3DTexMtxAnm::~J3DTexMtxAnm() { +// asm J3DTexMtxAnm::~J3DTexMtxAnm() { +asm void __dt__12J3DTexMtxAnmFv() { nofralloc #include "asm/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash/__dt__12J3DTexMtxAnmFv.s" } @@ -1217,7 +1111,8 @@ asm J3DTexMtxAnm::~J3DTexMtxAnm() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm J3DTexMtxAnm::J3DTexMtxAnm() { +// asm J3DTexMtxAnm::J3DTexMtxAnm() { +asm void __ct__12J3DTexMtxAnmFv() { nofralloc #include "asm/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash/__ct__12J3DTexMtxAnmFv.s" } @@ -1227,7 +1122,8 @@ asm J3DTexMtxAnm::J3DTexMtxAnm() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm J3DMatColorAnm::~J3DMatColorAnm() { +// asm J3DMatColorAnm::~J3DMatColorAnm() { +asm void __dt__14J3DMatColorAnmFv() { nofralloc #include "asm/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash/__dt__14J3DMatColorAnmFv.s" } @@ -1237,41 +1133,41 @@ asm J3DMatColorAnm::~J3DMatColorAnm() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm J3DMatColorAnm::J3DMatColorAnm() { +// asm J3DMatColorAnm::J3DMatColorAnm() { +asm void __ct__14J3DMatColorAnmFv() { nofralloc #include "asm/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash/__ct__14J3DMatColorAnmFv.s" } #pragma pop /* 809590C4-809590F8 000EC4 0034+00 1/1 0/0 0/0 .text Delete__10daNpcAsh_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daNpcAsh_c::Delete() { - nofralloc -#include "asm/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash/Delete__10daNpcAsh_cFv.s" +int daNpcAsh_c::Delete() { + this->~daNpcAsh_c(); + return 1; } -#pragma pop /* 809590F8-8095911C 000EF8 0024+00 2/2 0/0 0/0 .text Execute__10daNpcAsh_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daNpcAsh_c::Execute() { - nofralloc -#include "asm/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash/Execute__10daNpcAsh_cFv.s" +int daNpcAsh_c::Execute() { + execute(); + return 1; } -#pragma pop /* 8095911C-80959238 000F1C 011C+00 1/1 0/0 0/0 .text Draw__10daNpcAsh_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daNpcAsh_c::Draw() { - nofralloc -#include "asm/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash/Draw__10daNpcAsh_cFv.s" +int daNpcAsh_c::Draw() { + mMcaMorf->getModel()->getModelData()->getMaterialNodePointer(2)->setMaterialAnm(mpMatAnm); + draw(0, 0, daNpcAsh_Param_c::m.mShadow, NULL, 0); + if (field_0xf60 == 1) { + g_env_light.setLightTevColorType_MAJI(mModelBow->mModelData, &mTevStr); + mDoMtx_stack_c::copy(mMcaMorf->getModel()->i_getAnmMtx(16)); + mModelBow->i_setBaseTRMtx(mDoMtx_stack_c::get()); + mDoExt_modelUpdateDL(mModelBow); + g_env_light.setLightTevColorType_MAJI(mModelQuiver->mModelData, &mTevStr); + mDoMtx_stack_c::copy(mMcaMorf->getModel()->i_getAnmMtx(2)); + mModelQuiver->i_setBaseTRMtx(mDoMtx_stack_c::get()); + mDoExt_modelUpdateDL(mModelQuiver); + } + return 1; } -#pragma pop /* ############################################################################################## */ /* 8095D6C4-8095D6D0 000084 000C+00 1/1 0/0 0/0 .rodata @4385 */ @@ -1282,59 +1178,203 @@ COMPILER_STRIP_GATE(0x8095D6C4, &lit_4385); /* 80959238-80959458 001038 0220+00 1/1 0/0 0/0 .text ctrlJoint__10daNpcAsh_cFP8J3DJointP8J3DModel */ +#ifdef NONMATCHING +bool daNpcAsh_c::ctrlJoint(J3DJoint* i_joint, J3DModel* i_model) { + s32 jointNo = i_joint->getJntNo(); + int lookatJoints[3] = {1, 3, 4}; + if (jointNo == 0) { + mDoMtx_stack_c::copy(mMcaMorf->getModel()->i_getAnmMtx(1)); + mDoMtx_stack_c::multVecZero(&mLookatPos[0]); + mDoMtx_stack_c::copy(mMcaMorf->getModel()->i_getAnmMtx(3)); + mDoMtx_stack_c::multVecZero(&mLookatPos[1]); + mDoMtx_stack_c::copy(mMcaMorf->getModel()->i_getAnmMtx(4)); + mDoMtx_stack_c::multVecZero(&mLookatPos[2]); + } + mDoMtx_stack_c::copy(i_model->i_getAnmMtx(jointNo)); + switch (jointNo) { + case 1: + case 3: + case 4: + setLookatMtx(jointNo, lookatJoints, daNpcAsh_Param_c::m.mLookatScl); + break; + } + i_model->setAnmMtx(jointNo, mDoMtx_stack_c::get()); + cMtx_copy(mDoMtx_stack_c::get(), J3DSys::mCurrentMtx); + if ((jointNo == 4 || jointNo == 12) && (mAnmFlags & 0x100) != 0) { + J3DAnmTransform* bckAnm = mBckAnm.getBckAnm(); + mBckAnm.changeBckOnly(mMcaMorf->getAnm()); + mMcaMorf->changeAnm(bckAnm); + } + if (cM3d_IsZero_inverted(mExpressionMorf)) { + if (jointNo == 12) { + mMcaMorf->onMorfNone(); + } else if (jointNo == 4) { + mMcaMorf->offMorfNone(); + } + } + return true; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daNpcAsh_c::ctrlJoint(J3DJoint* param_0, J3DModel* param_1) { +asm bool daNpcAsh_c::ctrlJoint(J3DJoint* param_0, J3DModel* param_1) { nofralloc #include "asm/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash/ctrlJoint__10daNpcAsh_cFP8J3DJointP8J3DModel.s" } #pragma pop +#endif /* 80959458-80959478 001258 0020+00 1/1 0/0 0/0 .text * createHeapCallBack__10daNpcAsh_cFP10fopAc_ac_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daNpcAsh_c::createHeapCallBack(fopAc_ac_c* param_0) { - nofralloc -#include "asm/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash/createHeapCallBack__10daNpcAsh_cFP10fopAc_ac_c.s" +BOOL daNpcAsh_c::createHeapCallBack(fopAc_ac_c* i_this) { + return static_cast(i_this)->CreateHeap(); } -#pragma pop /* 80959478-809594C4 001278 004C+00 1/1 0/0 0/0 .text ctrlJointCallBack__10daNpcAsh_cFP8J3DJointi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daNpcAsh_c::ctrlJointCallBack(J3DJoint* param_0, int param_1) { - nofralloc -#include "asm/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash/ctrlJointCallBack__10daNpcAsh_cFP8J3DJointi.s" +BOOL daNpcAsh_c::ctrlJointCallBack(J3DJoint* i_joint, int param_1) { + J3DModel* model; + daNpcAsh_c* self; + if (param_1 == 0) { + model = j3dSys.getModel(); + self = (daNpcAsh_c*)model->getUserArea(); + if (self != NULL) { + self->ctrlJoint(i_joint, model); + } + } + return true; } -#pragma pop /* 809594C4-809596E0 0012C4 021C+00 2/0 0/0 0/0 .text setExpressionAnm__10daNpcAsh_cFib */ +#ifdef NONMATCHING +// literals +bool daNpcAsh_c::setExpressionAnm(int i_idx, bool i_modify) { + J3DAnmTransform* bckAnm; + if (i_idx < 0 || i_idx > 7) { + return false; + } + mAnmFlags &= ~ANM_EXPRESSION_FLAGS; + if (l_bckGetParamList[i_idx].bckIdx >= 0) { + bckAnm = getTrnsfrmKeyAnmP(l_arcNames[l_bckGetParamList[i_idx].arcIdx], l_bckGetParamList[i_idx].bckIdx); + } else { + bckAnm = NULL; + } + s32 attr = l_bckGetParamList[i_idx].bckAttr; + bool res = false; + switch (i_idx) { + case 0: + res = setExpressionBtp(0); + break; + case 1: + res = setExpressionBtp(0); + break; + case 2: + res = setExpressionBtp(0); + break; + case 3: + res = setExpressionBtp(0); + break; + case 4: + res = setExpressionBtp(0); + break; + case 5: + res = setExpressionBtp(0); + break; + case 6: + res = setExpressionBtp(0); + break; + case 7: + res = setExpressionBtp(0); + break; + default: + bckAnm = NULL; + break; + } + if (!res) { + return false; + } + if (bckAnm == NULL) { + return true; + } + if (setBckAnm(bckAnm, 1.0f, attr, 0, -1, i_modify)) { + mAnmFlags |= ANM_PAUSE_BCK | ANM_PLAY_BCK; + mExpressionLoops = 0; + return true; + } + return false; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daNpcAsh_c::setExpressionAnm(int param_0, bool param_1) { +asm bool daNpcAsh_c::setExpressionAnm(int param_0, bool param_1) { nofralloc #include "asm/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash/setExpressionAnm__10daNpcAsh_cFib.s" } #pragma pop +#endif /* 809596E0-809597C0 0014E0 00E0+00 1/0 0/0 0/0 .text setExpressionBtp__10daNpcAsh_cFi */ +#ifdef NONMATCHING +// literals +bool daNpcAsh_c::setExpressionBtp(int i_idx) { + J3DAnmTexPattern* btpAnm = getTexPtrnAnmP(l_arcNames[l_btpGetParamList[i_idx].arcIdx], l_btpGetParamList[i_idx].btpIdx); + s32 attr = l_btpGetParamList[i_idx].btpAttr; + mAnmFlags &= ~(ANM_PAUSE_BTP | ANM_PLAY_BTP | ANM_FLAG_800); + if (btpAnm == NULL) { + return true; + } + if (setBtpAnm(btpAnm, mMcaMorf->getModel()->getModelData(), 1.0f, attr)) { + mAnmFlags |= ANM_PAUSE_BTP | ANM_PLAY_BTP; + if (i_idx == 0) { + mAnmFlags |= ANM_FLAG_800; + } + return true; + } + return false; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daNpcAsh_c::setExpressionBtp(int param_0) { +asm bool daNpcAsh_c::setExpressionBtp(int param_0) { nofralloc #include "asm/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash/setExpressionBtp__10daNpcAsh_cFi.s" } #pragma pop +#endif /* 809597C0-80959910 0015C0 0150+00 1/0 0/0 0/0 .text setMotionAnm__10daNpcAsh_cFif */ +#ifdef NONMATCHING +// literals +void daNpcAsh_c::setMotionAnm(int i_idx, f32 i_morf) { + J3DAnmTransformKey* morfAnm; + J3DAnmTextureSRTKey* btkAnm; + s32 morfAttr; + s32 btkAttr; + if (i_idx < 8 || i_idx >= 18) { + return; + } + morfAnm = getTrnsfrmKeyAnmP(l_arcNames[l_bckGetParamList[i_idx].arcIdx], l_bckGetParamList[i_idx].bckIdx); + btkAnm = getTexSRTKeyAnmP(l_arcNames[l_btkGetParamList[0].arcIdx], l_btkGetParamList[0].btkIdx); + morfAttr = l_bckGetParamList[i_idx].bckAttr; + btkAttr = l_btkGetParamList[0].btkAttr; + mAnmFlags &= ~ANM_MOTION_FLAGS; + if (morfAnm != NULL) { + if (setMcaMorfAnm(morfAnm, 1.0f, i_morf, morfAttr, 0, -1)) { + mAnmFlags |= ANM_PAUSE_MORF | ANM_PLAY_MORF; + mMotionLoops = 0; + } + } + if (btkAnm != NULL) { + if (setBtkAnm(btkAnm, mMcaMorf->getModel()->getModelData(), 1.0f, btkAttr)) { + mAnmFlags |= ANM_PAUSE_BTK | ANM_PLAY_BTK; + } + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -1343,8 +1383,56 @@ asm void daNpcAsh_c::setMotionAnm(int param_0, f32 param_1) { #include "asm/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash/setMotionAnm__10daNpcAsh_cFif.s" } #pragma pop +#endif /* 80959910-80959B28 001710 0218+00 1/1 0/0 0/0 .text reset__10daNpcAsh_cFv */ +#ifdef NONMATCHING +// literals +void daNpcAsh_c::reset() { + initialize(); + mpMatAnm->initialize(); + mLookat.initialize(); + for (int i = 0; i < 6; i++) { + mActorMngr[i].initialize(); + } + + field_0xf50 = 0; + field_0xf54 = 0; + mpActionFn = NULL; + mLookMode = -1; + field_0xf5c = 0; + mGravity = daNpcAsh_Param_c::m.mGravity; + current.pos = orig.pos; + next.pos = current.pos; + current.angle.set(0, orig.angle.y, 0); + next.angle = current.angle; + shape_angle = current.angle; + field_0x8f0 = current.angle; + field_0x8f6 = field_0x8f0; + speedF = 0.0f; + speed.setAll(0.0f); + mItemPartnerId = -1; + mOrderEvtNo = 0; + mExpressionMorfOverride = 0; + mMotionMorfOverride = 0; + + if (mMessageNo == 0x42d) { + field_0xf5f = 0; + } else { + field_0xf5f = 3; + } + + if (isSneaking()) { + fopAcM_OnStatus(this, 0x4000); + } + + if (field_0xf60 == 0) { + setAction(&wait_type0); + } else { + setAction(&wait_type1); + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -1353,206 +1441,109 @@ asm void daNpcAsh_c::reset() { #include "asm/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash/reset__10daNpcAsh_cFv.s" } #pragma pop +#endif /* 80959B28-80959BD0 001928 00A8+00 1/1 0/0 0/0 .text * setAction__10daNpcAsh_cFM10daNpcAsh_cFPCvPvPv_b */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daNpcAsh_c::setAction(bool (daNpcAsh_c::*param_0)(void*)) { - nofralloc -#include "asm/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash/setAction__10daNpcAsh_cFM10daNpcAsh_cFPCvPvPv_b.s" +bool daNpcAsh_c::setAction(daNpcAsh_actionFn i_actionFn) { + field_0xf5c = 3; + if (mpActionFn != NULL) { + (this->*mpActionFn)(NULL); + } + field_0xf5c = 0; + this->mpActionFn = i_actionFn; + if (mpActionFn != NULL) { + (this->*mpActionFn)(NULL); + } + return true; } -#pragma pop /* 80959BD0-80959C40 0019D0 0070+00 1/1 0/0 0/0 .text isSneaking__10daNpcAsh_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daNpcAsh_c::isSneaking() { - nofralloc -#include "asm/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash/isSneaking__10daNpcAsh_cFv.s" +bool daNpcAsh_c::isSneaking() { + if (!strcmp(dComIfGp_getStartStageName(), ((char*)&d_a_npc_ash__stringBase0) + 0x6C) && dComIfGp_getStartStageRoomNo() == 5 && dComIfG_play_c::getLayerNo(0) == 2) { // "R_SP116" + return true; + } else { + return false; + } } -#pragma pop -/* ############################################################################################## */ -/* 8095D6D0-8095D6DC 000090 000C+00 0/1 0/0 0/0 .rodata @4638 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4638[12] = { - 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x8095D6D0, &lit_4638); -#pragma pop +void daNpcAsh_c::playExpression() { + daNpcF_anmPlayData dat0 = {1, daNpcAsh_Param_c::m.m44, 0}; + daNpcF_anmPlayData* pDat0[1] = {&dat0}; + daNpcF_anmPlayData dat1 = {2, daNpcAsh_Param_c::m.m44, 0}; + daNpcF_anmPlayData* pDat1[1] = {&dat1}; + daNpcF_anmPlayData dat2 = {3, daNpcAsh_Param_c::m.m44, 0}; + daNpcF_anmPlayData* pDat2[1] = {&dat2}; + daNpcF_anmPlayData dat3 = {4, daNpcAsh_Param_c::m.m44, 0}; + daNpcF_anmPlayData* pDat3[1] = {&dat3}; + daNpcF_anmPlayData dat4 = {5, daNpcAsh_Param_c::m.m44, 0}; + daNpcF_anmPlayData* pDat4[1] = {&dat4}; + daNpcF_anmPlayData dat5 = {6, daNpcAsh_Param_c::m.m44, 0}; + daNpcF_anmPlayData* pDat5[1] = {&dat5}; + daNpcF_anmPlayData dat6 = {7, daNpcAsh_Param_c::m.m44, 0}; + daNpcF_anmPlayData* pDat6[1] = {&dat6}; + daNpcF_anmPlayData dat7 = {0, daNpcAsh_Param_c::m.m44, 0}; + daNpcF_anmPlayData* pDat7[1] = {&dat7}; + daNpcF_anmPlayData** ppDat[8] = { + pDat0, + pDat1, + pDat2, + pDat3, + pDat4, + pDat5, + pDat6, + pDat7, + }; + if (mExpression >= 0 && mExpression < 8) { + playExpressionAnm(ppDat); + } +} -/* 8095D6DC-8095D6E0 00009C 0004+00 0/1 0/0 0/0 .rodata @4639 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4639[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x8095D6DC, &lit_4639); -#pragma pop +#ifdef NONMATCHING +// inlining +void daNpcAsh_c::playMotion() { + daNpcF_anmPlayData dat0 = {8, daNpcAsh_Param_c::m.m44, 0}; + daNpcF_anmPlayData* pDat0[1] = {&dat0}; + daNpcF_anmPlayData dat1 = {9, daNpcAsh_Param_c::m.m44, 0}; + daNpcF_anmPlayData* pDat1[1] = {&dat1}; + daNpcF_anmPlayData dat2 = {10, daNpcAsh_Param_c::m.m44, 0}; + daNpcF_anmPlayData* pDat2[1] = {&dat2}; + daNpcF_anmPlayData dat3a = {12, daNpcAsh_Param_c::m.m44, 1}; + daNpcF_anmPlayData dat3b = {10, daNpcAsh_Param_c::m.m44, 0}; + daNpcF_anmPlayData* pDat3[2] = {&dat3a, &dat3b}; + daNpcF_anmPlayData dat4a = {13, daNpcAsh_Param_c::m.m44, 1}; + daNpcF_anmPlayData dat4b = {10, daNpcAsh_Param_c::m.m44, 0}; + daNpcF_anmPlayData* pDat4[2] = {&dat4a, &dat4b}; + daNpcF_anmPlayData dat5a = {14, daNpcAsh_Param_c::m.m44, 1}; + daNpcF_anmPlayData dat5b = {10, daNpcAsh_Param_c::m.m44, 0}; + daNpcF_anmPlayData* pDat5[2] = {&dat5a, &dat5b}; + daNpcF_anmPlayData dat6a = {15, daNpcAsh_Param_c::m.m44, 1}; + daNpcF_anmPlayData dat6b = {8, daNpcAsh_Param_c::m.m44, 0}; + daNpcF_anmPlayData* pDat6[2] = {&dat6a, &dat6b}; + daNpcF_anmPlayData dat7 = {16, daNpcAsh_Param_c::m.m44, 0}; + daNpcF_anmPlayData* pDat7[1] = {&dat7}; + daNpcF_anmPlayData dat8 = {17, daNpcAsh_Param_c::m.m44, 0}; + daNpcF_anmPlayData* pDat8[1] = {&dat8}; + daNpcF_anmPlayData dat9 = {11, 4.0, 1}; + daNpcF_anmPlayData* pDat9[1] = {&dat9}; + daNpcF_anmPlayData** ppDat[10] = { + pDat0, + pDat1, + pDat2, + pDat3, + pDat4, + pDat5, + pDat6, + pDat7, + pDat8, + pDat9, + }; + if (mMotion >= 0 && mMotion < 10) { + playMotionAnm(ppDat); + } +} -/* 8095D6E0-8095D6EC 0000A0 000C+00 0/1 0/0 0/0 .rodata @4640 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4640[12] = { - 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x8095D6E0, &lit_4640); -#pragma pop - -/* 8095D6EC-8095D6F0 0000AC 0004+00 0/1 0/0 0/0 .rodata @4641 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4641[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x8095D6EC, &lit_4641); -#pragma pop - -/* 8095D6F0-8095D6FC 0000B0 000C+00 0/1 0/0 0/0 .rodata @4642 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4642[12] = { - 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x8095D6F0, &lit_4642); -#pragma pop - -/* 8095D6FC-8095D700 0000BC 0004+00 0/1 0/0 0/0 .rodata @4643 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4643[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x8095D6FC, &lit_4643); -#pragma pop - -/* 8095D700-8095D70C 0000C0 000C+00 0/1 0/0 0/0 .rodata @4644 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4644[12] = { - 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x8095D700, &lit_4644); -#pragma pop - -/* 8095D70C-8095D710 0000CC 0004+00 0/1 0/0 0/0 .rodata @4645 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4645[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x8095D70C, &lit_4645); -#pragma pop - -/* 8095D710-8095D71C 0000D0 000C+00 0/1 0/0 0/0 .rodata @4646 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4646[12] = { - 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x8095D710, &lit_4646); -#pragma pop - -/* 8095D71C-8095D720 0000DC 0004+00 0/1 0/0 0/0 .rodata @4647 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4647[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x8095D71C, &lit_4647); -#pragma pop - -/* 8095D720-8095D72C 0000E0 000C+00 0/1 0/0 0/0 .rodata @4648 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4648[12] = { - 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x8095D720, &lit_4648); -#pragma pop - -/* 8095D72C-8095D730 0000EC 0004+00 0/1 0/0 0/0 .rodata @4649 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4649[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x8095D72C, &lit_4649); -#pragma pop - -/* 8095D730-8095D73C 0000F0 000C+00 0/1 0/0 0/0 .rodata @4650 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4650[12] = { - 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x8095D730, &lit_4650); -#pragma pop - -/* 8095D73C-8095D740 0000FC 0004+00 0/1 0/0 0/0 .rodata @4651 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4651[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x8095D73C, &lit_4651); -#pragma pop - -/* 8095D740-8095D74C 000100 000C+00 0/1 0/0 0/0 .rodata @4652 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4652[12] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x8095D740, &lit_4652); -#pragma pop - -/* 8095D74C-8095D750 00010C 0004+00 0/1 0/0 0/0 .rodata @4653 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4653[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x8095D74C, &lit_4653); -#pragma pop - -/* 8095D750-8095D770 000110 0020+00 0/0 0/0 0/0 .rodata @4654 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4654[32] = { - 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, -}; -COMPILER_STRIP_GATE(0x8095D750, &lit_4654); -#pragma pop +#else /* 8095D770-8095D77C 000130 000C+00 0/1 0/0 0/0 .rodata @4658 */ #pragma push @@ -1799,6 +1790,8 @@ SECTION_RODATA static u8 const lit_4682[40] = { COMPILER_STRIP_GATE(0x8095D850, &lit_4682); #pragma pop +#endif + /* 8095D878-8095D884 000238 000C+00 0/1 0/0 0/0 .rodata @4697 */ #pragma push #pragma force_active on @@ -1836,34 +1829,132 @@ COMPILER_STRIP_GATE(0x8095D890, &lit_4980); #pragma pop /* 80959C40-8095A67C 001A40 0A3C+00 4/0 0/0 0/0 .text wait_type0__10daNpcAsh_cFPv */ +#ifdef NONMATCHING +bool daNpcAsh_c::wait_type0(void* param_0) { + switch (field_0xf5c) { + case 0: + setExpression(7, -1.0f); + if (!isMap()) { + setMotion(0, -1.0f, false); + } else if (field_0x8f0.y == orig.angle.y) { + setMotion(1, -1.0f, false); + } + field_0x96c = 0; + speedF = 0.0f; + field_0xf5c = 2; + break; + case 2: + if (isSneaking()) { + setLookMode(0, NULL); + } else { + if (mActorMngr[0].getActorP() != NULL) { + if (!chkFindPlayer()) { + field_0x96c = 0; + } + } else { + if (chkFindPlayer()) { + field_0x96c = 0; + } + } + if (mActorMngr[0].getActorP() != NULL) { + setLookMode(2, NULL); + } else { + if (isMap()) { + setLookMode(4, NULL); + } else { + setLookMode(0, NULL); + } + if (orig.angle.y != field_0x8f0.y) { + if (step(orig.angle.y, true)) { + setExpression(7, -1.0f); + if (!isMap()) { + setMotion(0, -1.0f, false); + } else { + setMotion(1, -1.0f, false); + } + field_0x96c = 0; + } + } + daTag_EvtArea_c* evtArea = (daTag_EvtArea_c*)mActorMngr[5].getActorP(); + if (evtArea != NULL) { + if (evtArea->chkPointInArea(fopAcM_GetPosition_p(daPy_getPlayerActorClass()))) { + daNpcF_offTmpBit(11); + mOrderEvtNo = 2; + fopAcM_delete(evtArea); + } + } + } + } + if (field_0x8f0.y != orig.angle.y) { + if (step(orig.angle.y, true)) { + if (!isMap()) { + setMotion(0, -1.0f, false); + } else { + setMotion(1, -1.0f, false); + } + field_0x96c = 0; + } + } + if (i_dComIfGp_event_runCheck()) { + if (mEvtInfo.checkCommandTalk()) { + if (!dComIfGp_event_chkTalkXY() || dComIfGp_evmng_ChkPresentEnd()) { + if (isSneaking()) { + mOrderEvtNo = 3; + changeEvent(l_arcNames[0], l_evtNames[mOrderEvtNo], 1, -1); + } else { + setAction(&talk); + } + } + } else { + if (i_dComIfGp_getEventManager().getMyStaffId(l_myName, NULL, 0) != -1) { + setAction(&demo); + } + } + } else { + if (mOrderEvtNo != 0) { + mEvtInfo.setArchiveName("Ash"); + } + orderEvent(mMapToolId, mOrderEvtNo != 0 ? l_evtNames[mOrderEvtNo] : NULL, -1, 40, -1, 1); + } + break; + case 3: + break; + } + return true; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daNpcAsh_c::wait_type0(void* param_0) { +asm bool daNpcAsh_c::wait_type0(void* param_0) { nofralloc #include "asm/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash/wait_type0__10daNpcAsh_cFPv.s" } #pragma pop +#endif /* 8095A67C-8095A6C0 00247C 0044+00 1/0 0/0 0/0 .text setMotion__10daNpcAsh_cFifi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daNpcAsh_c::setMotion(int param_0, f32 param_1, int param_2) { - nofralloc -#include "asm/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash/setMotion__10daNpcAsh_cFifi.s" +void daNpcAsh_c::setMotion(int i_motion, f32 i_morf, BOOL i_restart) { + s16 motion = (s16)i_motion; + if ((i_restart || mMotion != motion)) { + if (i_motion >= 0 && i_motion < 10) { + mMotion = motion; + mMotionMorfOverride = i_morf; + mMotionPrevPhase = -1; + mMotionPhase = 0; + } + } } -#pragma pop /* 8095A6C0-8095A6EC 0024C0 002C+00 1/0 0/0 0/0 .text setExpression__10daNpcAsh_cFif */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daNpcAsh_c::setExpression(int param_0, f32 param_1) { - nofralloc -#include "asm/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash/setExpression__10daNpcAsh_cFif.s" +void daNpcAsh_c::setExpression(int i_expression, f32 i_morf) { + if (i_expression >= 0 && i_expression < 8) { + mExpression = i_expression; + mExpressionMorfOverride = i_morf; + mExpressionPrevPhase = -1; + mExpressionPhase = 0; + } } -#pragma pop /* ############################################################################################## */ /* 8095D898-8095D89C 000258 0004+00 0/1 0/0 0/0 .rodata @5033 */ @@ -1881,34 +1972,177 @@ COMPILER_STRIP_GATE(0x8095D89C, &lit_5034); #pragma pop /* 8095A6EC-8095A8EC 0024EC 0200+00 3/0 0/0 0/0 .text wait_type1__10daNpcAsh_cFPv */ +#ifdef NONMATCHING +// literals +bool daNpcAsh_c::wait_type1(void* param_0) { + switch (field_0xf5c) { + case 0: + setExpression(7, -1.0f); + setMotion(7, -1.0f, false); + field_0x96c = 0; + speedF = 0.0f; + mActorMngr[0].entry(daPy_getPlayerActorClass()); + setLookMode(0, NULL); + field_0xf5c = 2; + break; + case 2: + switch (field_0xf54) { + case 0: + if (daNpcF_chkTmpBit(0x76)) { + current.pos.set(-4300.0f, 0.0f, 8627.657f); + next.pos = current.pos; + setAngle(-0x6000); + field_0xf54++; + } + break; + case 1: + if (daNpcF_chkTmpBit(0x74)) { + setAction(&leave); + } + break; + } + break; + case 3: + break; + } + return true; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daNpcAsh_c::wait_type1(void* param_0) { +asm bool daNpcAsh_c::wait_type1(void* param_0) { nofralloc #include "asm/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash/wait_type1__10daNpcAsh_cFPv.s" } #pragma pop +#endif /* 8095A8EC-8095AD28 0026EC 043C+00 1/0 0/0 0/0 .text talk__10daNpcAsh_cFPv */ +#ifdef NONMATCHING +// literals +bool daNpcAsh_c::talk(void* param_0) { + int expression, motion; + bool ret = false; + switch (field_0xf5c) { + case 0: + initTalk(mMessageNo, NULL); + field_0x96c = 0; + field_0x950 = 0; + if (mMessageNo == 0x42d) { + field_0xf5f++; + } + mMapToolId = 0; + speedF = 0.0f; + setLookMode(3, NULL); + setMotion(0, -1.0f, false); + field_0xf5c = 2; + break; + case 2: + if (field_0xf5f <= 2 || field_0x8f0.y == fopAcM_searchPlayerAngleY(this)) { + if (talkProc(NULL, 1, NULL)) { + mActorMngr[0].entry(daPy_getPlayerActorClass()); + setAction(&wait_type0); + ret = true; + } else { + s32 unk = field_0x950; + if (ctrlMsgAnm(expression, motion, this, 0)) { + setExpression(expression, -1.0f); + setMotion(motion, -1.0f, false); + } else { + if (unk != 0 && field_0x950 == 0) { + setExpressionTalkAfter(); + } + } + } + } else { + if (step(fopAcM_searchPlayerAngleY(this), true)) { + setMotion(0, -1.0f, false); + field_0x96c = 0; + } + } + break; + case 3: + setExpression(7, -1.0f); + if (field_0x9ec == 0) { + i_dComIfGp_event_reset(); + } + break; + } + return ret; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daNpcAsh_c::talk(void* param_0) { +asm bool daNpcAsh_c::talk(void* param_0) { nofralloc #include "asm/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash/talk__10daNpcAsh_cFPv.s" } #pragma pop +#endif /* 8095AD28-8095B164 002B28 043C+00 1/0 0/0 0/0 .text demo__10daNpcAsh_cFPv */ +#ifdef NONMATCHING +bool daNpcAsh_c::demo(void* param_0) { + switch (field_0xf5c) { + case 0: + setExpression(7, -1.0f); + if (!isMap()) { + setMotion(0, -1.0f, false); + } else { + setMotion(1, -1.0f, false); + } + field_0xf5c = 2; + // no break + case 2: + if (i_dComIfGp_event_runCheck() && !mEvtInfo.checkCommandTalk()) { + s32 cutIndex = i_dComIfGp_getEventManager().getMyStaffId(l_myName, NULL, 0); + if (cutIndex != -1) { + mCutIndex = cutIndex; + s32 eventIdx = i_dComIfGp_getEventManager().getMyActIdx(cutIndex, l_evtNames, 6, 0, 0); + if (eventIdx >= 1 && eventIdx < 6) { + mOrderEvtNo = eventIdx; + } + if ((this->*(mEvtSeqList[mOrderEvtNo]))(cutIndex)) { + i_dComIfGp_getEventManager().cutEnd(cutIndex); + } + } + if (mEvtInfo.checkCommandDemoAccrpt() && field_0x9d4 != -1 && i_dComIfGp_getEventManager().endCheck(field_0x9d4)) { + i_dComIfGp_event_reset(); + mOrderEvtNo = 0; + field_0x9d4 = -1; + if (field_0xf60 == 0) { + setAction(&wait_type0); + } else { + setAction(&wait_type1); + } + } + } else { + mOrderEvtNo = 0; + field_0x9d4 = -1; + if (field_0xf60 == 0) { + setAction(&wait_type0); + } else { + setAction(&wait_type1); + } + } + break; + case 3: + break; + } + return true; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daNpcAsh_c::demo(void* param_0) { +asm bool daNpcAsh_c::demo(void* param_0) { nofralloc #include "asm/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash/demo__10daNpcAsh_cFPv.s" } #pragma pop +#endif /* ############################################################################################## */ /* 8095D8A0-8095D8A4 000260 0004+00 0/1 0/0 0/0 .rodata @5227 */ @@ -1953,14 +2187,41 @@ COMPILER_STRIP_GATE(0x8095D8B8, &lit_5231); #pragma pop /* 8095B164-8095B48C 002F64 0328+00 1/0 0/0 0/0 .text leave__10daNpcAsh_cFPv */ +#ifdef NONMATCHING +// literals +bool daNpcAsh_c::leave(void* param_0) { + cXyz target; + target.set(-6253.387, 0.0, 6251.76); + switch (field_0xf5c) { + case 0: + setExpression(7, -1.0f); + setMotion(8, -1.0f, false); + field_0x96c = 0; + speedF = 0.0f; + field_0xf5c = 2; + break; + case 2: + step(cLib_targetAngleY(¤t.pos, &target), true); + speedF = 15.0f; + if (mAcch.ChkWallHit() || current.pos.abs(target) < speedF) { + fopAcM_delete(this); + } + break; + case 3: + break; + } + return true; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daNpcAsh_c::leave(void* param_0) { +asm bool daNpcAsh_c::leave(void* param_0) { nofralloc #include "asm/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash/leave__10daNpcAsh_cFPv.s" } #pragma pop +#endif /* ############################################################################################## */ /* 8095D910-8095D910 0002D0 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ @@ -1971,14 +2232,26 @@ SECTION_DEAD static char const* const stringBase_8095D98B = "prm"; /* 8095B48C-8095B58C 00328C 0100+00 1/0 0/0 0/0 .text EvCut_Introduction__10daNpcAsh_cFi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daNpcAsh_c::EvCut_Introduction(int param_0) { - nofralloc -#include "asm/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash/EvCut_Introduction__10daNpcAsh_cFi.s" + +BOOL daNpcAsh_c::EvCut_Introduction(int cutIndex) { + int* prm = dComIfGp_evmng_getMyIntegerP(cutIndex, ((char*)&d_a_npc_ash__stringBase0) + 0x7B); + if (prm == NULL) { + return false; + } + if (i_dComIfGp_getEventManager().getIsAddvance(cutIndex)) { + switch (*prm) { + case 0: + case 2: + setLookMode(0, NULL); + return true; + case 1: + setLookMode(2, NULL); + return true; + } + } + return false; } -#pragma pop + /* ############################################################################################## */ /* 8095D8C0-8095D8D0 000280 0010+00 1/1 0/0 0/0 .rodata @5254 */ @@ -1988,14 +2261,66 @@ SECTION_RODATA static u8 const lit_5254[16] = { COMPILER_STRIP_GATE(0x8095D8C0, &lit_5254); /* 8095B58C-8095B83C 00338C 02B0+00 1/0 0/0 0/0 .text EvCut_Meeting__10daNpcAsh_cFi */ +#ifdef NONMATCHING +// literals +BOOL daNpcAsh_c::EvCut_Meeting(int cutIndex) { + int expression, motion; + fopAc_ac_c* talkPartner; + dEvent_manager_c& evtMgr = i_dComIfGp_getEventManager(); + fopAc_ac_c* actors[4] = { + mActorMngr[2].getActorP(), + (fopAc_ac_c*)this, + mActorMngr[1].getActorP(), + mActorMngr[3].getActorP(), + }; + int* cutName = (int*)evtMgr.getMyNowCutName(cutIndex); + if (evtMgr.getIsAddvance(cutIndex)) { + switch (*cutName) { + case '0001': + case '0002': + dComIfGp_setMesgCameraInfoActor(actors[0], actors[1], actors[2], actors[3], NULL, NULL, NULL, NULL, NULL, NULL); + initTalk(0x42e, actors); + } + } + int unk = field_0x950; + if (ctrlMsgAnm(expression, motion, this, 0)) { + setExpression(expression, -1.0f); + setMotion(motion, -1.0f, false); + } else { + if (unk != 0 && field_0x950 == 0) { + setExpressionTalkAfter(); + } + } + switch (*cutName) { + case '0001': + if (talkProc(NULL, 1, actors)) { + return true; + } + talkPartner = dComIfGp_event_getTalkPartner(); + if (talkPartner == this) { + talkPartner = NULL; + } + setLookMode(5, talkPartner); + break; + case '0002': + if (talkProc(NULL, 1, actors)) { + return true; + } + setLookMode(2, NULL); + break; + } + return false; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daNpcAsh_c::EvCut_Meeting(int param_0) { +asm BOOL daNpcAsh_c::EvCut_Meeting(int param_0) { nofralloc #include "asm/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash/EvCut_Meeting__10daNpcAsh_cFi.s" } #pragma pop +#endif /* ############################################################################################## */ /* 8095D8D0-8095D8E0 000290 0010+00 1/1 0/0 0/0 .rodata @5295 */ @@ -2005,81 +2330,163 @@ SECTION_RODATA static u8 const lit_5295[16] = { COMPILER_STRIP_GATE(0x8095D8D0, &lit_5295); /* 8095B83C-8095BA80 00363C 0244+00 1/0 0/0 0/0 .text EvCut_WiretapSponsor__10daNpcAsh_cFi */ +#ifdef NONMATCHING +// literals +BOOL daNpcAsh_c::EvCut_WiretapSponsor(int cutIndex) { + int expression, motion; + fopAc_ac_c* talkPartner; + dEvent_manager_c& evtMgr = i_dComIfGp_getEventManager(); + fopAc_ac_c* actors[4] = { + mActorMngr[2].getActorP(), + (fopAc_ac_c*)this, + mActorMngr[1].getActorP(), + mActorMngr[3].getActorP(), + }; + int* cutName = (int*)evtMgr.getMyNowCutName(cutIndex); + if (evtMgr.getIsAddvance(cutIndex)) { + switch (*cutName) { + case '0001': + dComIfGp_setMesgCameraInfoActor(actors[0], actors[1], actors[2], actors[3], NULL, NULL, NULL, NULL, NULL, NULL); + initTalk(mMessageNo, actors); + } + } + int unk = field_0x950; + if (ctrlMsgAnm(expression, motion, this, 0)) { + setExpression(expression, -1.0f); + setMotion(motion, -1.0f, false); + } else { + if (unk != 0 && field_0x950 == 0) { + setExpressionTalkAfter(); + } + } + switch (*cutName) { + case '0001': + if (talkProc(NULL, 1, actors)) { + return true; + } + talkPartner = dComIfGp_event_getTalkPartner(); + if (talkPartner == this) { + talkPartner = NULL; + } + setLookMode(5, talkPartner); + } + return false; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daNpcAsh_c::EvCut_WiretapSponsor(int param_0) { +asm BOOL daNpcAsh_c::EvCut_WiretapSponsor(int param_0) { nofralloc #include "asm/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash/EvCut_WiretapSponsor__10daNpcAsh_cFi.s" } #pragma pop +#endif /* 8095BA80-8095BC38 003880 01B8+00 2/0 0/0 0/0 .text EvCut_WiretapEntrant__10daNpcAsh_cFi */ +#ifdef NONMATCHING +BOOL daNpcAsh_c::EvCut_WiretapEntrant(int cutIndex) { + int expression, motion; + fopAc_ac_c* talkPartner; + int* prm = dComIfGp_evmng_getMyIntegerP(cutIndex, "prm"); + if (prm == NULL) { + return false; + } + if (i_dComIfGp_getEventManager().getIsAddvance(cutIndex)) { + switch (*prm) { + case 0: + setExpression(7, -1.0f); + setMotion(0, -1.0f, false); + break; + } + } + int unk = field_0x950; + if (ctrlMsgAnm(expression, motion, this, 0) != 0) { + setExpression(expression, -1.0f); + setMotion(motion, -1.0f, false); + } else { + if (unk != 0 && field_0x950 == 0) { + setExpressionTalkAfter(); + } + } + talkPartner = dComIfGp_event_getTalkPartner(); + if (talkPartner == this) { + talkPartner = NULL; + } + setLookMode(5, talkPartner); + return true; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daNpcAsh_c::EvCut_WiretapEntrant(int param_0) { +asm BOOL daNpcAsh_c::EvCut_WiretapEntrant(int param_0) { nofralloc #include "asm/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash/EvCut_WiretapEntrant__10daNpcAsh_cFi.s" } #pragma pop +#endif /* 8095BC38-8095BC58 003A38 0020+00 1/0 0/0 0/0 .text daNpcAsh_Create__FPv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daNpcAsh_Create(void* param_0) { - nofralloc -#include "asm/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash/daNpcAsh_Create__FPv.s" +static cPhs__Step daNpcAsh_Create(void* i_this) { + return static_cast(i_this)->Create(); } -#pragma pop /* 8095BC58-8095BC78 003A58 0020+00 1/0 0/0 0/0 .text daNpcAsh_Delete__FPv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daNpcAsh_Delete(void* param_0) { - nofralloc -#include "asm/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash/daNpcAsh_Delete__FPv.s" +static int daNpcAsh_Delete(void* i_this) { + return static_cast(i_this)->Delete(); } -#pragma pop /* 8095BC78-8095BC98 003A78 0020+00 1/0 0/0 0/0 .text daNpcAsh_Execute__FPv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daNpcAsh_Execute(void* param_0) { - nofralloc -#include "asm/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash/daNpcAsh_Execute__FPv.s" +static int daNpcAsh_Execute(void* i_this) { + return static_cast(i_this)->Execute(); } -#pragma pop /* 8095BC98-8095BCB8 003A98 0020+00 1/0 0/0 0/0 .text daNpcAsh_Draw__FPv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daNpcAsh_Draw(void* param_0) { - nofralloc -#include "asm/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash/daNpcAsh_Draw__FPv.s" +static int daNpcAsh_Draw(void* i_this) { + return static_cast(i_this)->Draw(); } -#pragma pop /* 8095BCB8-8095BCC0 003AB8 0008+00 1/0 0/0 0/0 .text daNpcAsh_IsDelete__FPv */ -static bool daNpcAsh_IsDelete(void* param_0) { - return true; +static int daNpcAsh_IsDelete(void* i_this) { + return 1; } /* 8095BCC0-8095BCF0 003AC0 0030+00 1/0 0/0 0/0 .text calc__11J3DTexNoAnmCFPUs */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void J3DTexNoAnm::calc(u16* param_0) const { +// asm void J3DTexNoAnm::calc(u16* param_0) const { +asm void calc__11J3DTexNoAnmCFPUs() { nofralloc #include "asm/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash/calc__11J3DTexNoAnmCFPUs.s" } #pragma pop /* 8095BCF0-8095BF6C 003AF0 027C+00 1/0 0/0 0/0 .text setParam__10daNpcAsh_cFv */ +#ifdef NONMATCHING +// literals +void daNpcAsh_c::setParam() { + searchActors(); + mAttentionInfo.mFlags = 0xa; + if (isSneaking()) { + mAttentionInfo.field_0x0[0] = 0x4e; + mAttentionInfo.field_0x0[1] = mAttentionInfo.field_0x0[0]; + mAttentionInfo.field_0x0[3] = 0x4d; + mAttentionInfo.mFlags |= 0x800000; + } else { + if (!strcmp(dComIfGp_getStartStageName(), "R_SP116")) { + mAttentionInfo.field_0x0[0] = getDistTableIdx(3, 6); + mAttentionInfo.field_0x0[1] = mAttentionInfo.field_0x0[0]; + mAttentionInfo.field_0x0[3] = getDistTableIdx(2, 6); + } else { + mAttentionInfo.field_0x0[0] = getDistTableIdx(daNpcAsh_Param_c::m.m4C, daNpcAsh_Param_c::m.m4E); + mAttentionInfo.field_0x0[1] = mAttentionInfo.field_0x0[0]; + mAttentionInfo.field_0x0[3] = getDistTableIdx(daNpcAsh_Param_c::m.m48, daNpcAsh_Param_c::m.m4A); + } + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -2088,18 +2495,24 @@ asm void daNpcAsh_c::setParam() { #include "asm/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash/setParam__10daNpcAsh_cFv.s" } #pragma pop +#endif /* 8095BF6C-8095C200 003D6C 0294+00 1/0 0/0 0/0 .text main__10daNpcAsh_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daNpcAsh_c::main() { - nofralloc -#include "asm/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash/main__10daNpcAsh_cFv.s" +BOOL daNpcAsh_c::main() { + if (mpActionFn != NULL) { + (this->*mpActionFn)(NULL); + } + if (i_dComIfGp_event_runCheck() && !mEvtInfo.checkCommandTalk() && mItemPartnerId != -1) { + dComIfGp_event_setItemPartnerId(mItemPartnerId); + mItemPartnerId = -1; + } + playExpression(); + playMotion(); + return true; } -#pragma pop -/* 8095C200-8095C520 004000 0320+00 1/1 0/0 0/0 .text playMotion__10daNpcAsh_cFv */ +// /* 8095C200-8095C520 004000 0320+00 1/1 0/0 0/0 .text playMotion__10daNpcAsh_cFv */ +#ifndef NONMATCHING #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -2108,6 +2521,7 @@ asm void daNpcAsh_c::playMotion() { #include "asm/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash/playMotion__10daNpcAsh_cFv.s" } #pragma pop +#endif /* ############################################################################################## */ /* 8095D8E0-8095D8E4 0002A0 0004+00 0/1 0/0 0/0 .rodata @5492 */ @@ -2125,14 +2539,25 @@ COMPILER_STRIP_GATE(0x8095D8E4, &lit_5493); #pragma pop /* 8095C520-8095C5C4 004320 00A4+00 1/0 0/0 0/0 .text ctrlBtk__10daNpcAsh_cFv */ +#ifdef NONMATCHING +BOOL daNpcAsh_c::ctrlBtk() { + if (mpMatAnm != NULL) { + mpMatAnm->setNowOffsetX(cM_ssin(field_0x8fc.y) * 0.2f * -1.0f); + mpMatAnm->setNowOffsetY(cM_ssin(field_0x8fc.x) * 0.4f); + mpMatAnm->onEyeMoveFlag(); + } + return mpMatAnm != NULL; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daNpcAsh_c::ctrlBtk() { +asm BOOL daNpcAsh_c::ctrlBtk() { nofralloc #include "asm/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash/ctrlBtk__10daNpcAsh_cFv.s" } #pragma pop +#endif /* ############################################################################################## */ /* 8095D8E8-8095D8EC 0002A8 0004+00 0/1 0/0 0/0 .rodata @5589 */ @@ -2178,6 +2603,53 @@ COMPILER_STRIP_GATE(0x8095D8FC, &lit_5594); #pragma pop /* 8095C5C4-8095C9BC 0043C4 03F8+00 1/0 0/0 0/0 .text setAttnPos__10daNpcAsh_cFv */ +#ifdef NONMATCHING +// literals +void daNpcAsh_c::setAttnPos() { + if (mLookMode == 1) { + for (int i = 0; i < 3; i++) { + field_0x91a[i].setall(0); + } + } + setMtx2(); + lookat(); + cXyz vec(10.0f, 10.0f, 0.0f); + mDoMtx_stack_c::copy(mMcaMorf->getModel()->i_getAnmMtx(4)); + mDoMtx_stack_c::multVecZero(&mHeadPos); + mDoMtx_stack_c::multVec(&vec, &mEyePos); + vec.x = 0.0f; + mDoMtx_stack_c::multVec(&vec, &vec); + field_0x902.x = cLib_targetAngleX(&mHeadPos, &vec); + field_0x902.y = cLib_targetAngleY(&mHeadPos, &vec); + cXyz* attnPos = mLookat.getAttnPos(); + if (attnPos != NULL) { + cXyz local_48 = *attnPos - mEyePos; + field_0x8fc.y = -(field_0x91a[2].y + field_0x8f0.y); + field_0x8fc.y += cM_atan2s(local_48.x, local_48.z); + field_0x8fc.x = -cM_atan2s(local_48.y, local_48.absXZ()); + field_0x8fc.x += field_0x902.x; + } else { + field_0x8fc.y = 0; + field_0x8fc.x = 0; + } + mAttentionInfo.mPosition.set(mHeadPos.x, mHeadPos.y + 35.0f, mHeadPos.z); + cXyz center; + mDoMtx_stack_c::copy(mMcaMorf->getModel()->i_getAnmMtx(2)); + mDoMtx_stack_c::multVecZero(¢er); + center.y = current.pos.y; + mCcCyl[0].SetC(center); + mCcCyl[0].SetH(daNpcAsh_Param_c::m.m14); + mCcCyl[0].SetR(daNpcAsh_Param_c::m.m1C); + dComIfG_Ccsp()->Set(&mCcCyl[0]); + if (field_0xf60 == 0 && (!daNpcF_chkEvtBit(0x169) || !daNpcF_chkEvtBit(0x10a) || !daNpcF_chkEvtBit(0x10b) || daNpcF_chkEvtBit(0x10c))) { + center.set(3070.0f, -1150.0f, 2446.0f); + mCcCyl[1].SetC(center); + mCcCyl[1].SetH(170.0f); + mCcCyl[1].SetR(60.0f); + dComIfG_Ccsp()->Set(&mCcCyl[1]); + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -2186,6 +2658,7 @@ asm void daNpcAsh_c::setAttnPos() { #include "asm/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash/setAttnPos__10daNpcAsh_cFv.s" } #pragma pop +#endif /* ############################################################################################## */ /* 8095D900-8095D904 0002C0 0004+00 0/1 0/0 0/0 .rodata @5649 */ @@ -2217,6 +2690,53 @@ COMPILER_STRIP_GATE(0x8095D90C, &lit_5652); #pragma pop /* 8095C9BC-8095CC8C 0047BC 02D0+00 1/1 0/0 0/0 .text lookat__10daNpcAsh_cFv */ +#ifdef NONMATCHING +// literals +void daNpcAsh_c::lookat() { + fopAc_ac_c* actor = NULL; + J3DModel* model = mMcaMorf->getModel(); + BOOL iv7 = false; + f32 fv13 = daNpcAsh_Param_c::m.m24; + f32 fv12 = daNpcAsh_Param_c::m.m20; + f32 fv17 = mMotion == 0 ? -15.0f : daNpcAsh_Param_c::m.m2C; + f32 fv16 = mMotion == 0 ? 15.0f : daNpcAsh_Param_c::m.m28; + f32 fv11 = daNpcAsh_Param_c::m.m34; + f32 fv10 = daNpcAsh_Param_c::m.m30; + f32 fv15 = mMotion == 0 ? 0.0f : daNpcAsh_Param_c::m.m3C; + f32 fv14 = mMotion == 0 ? 0.0f : daNpcAsh_Param_c::m.m38; + s16 idk = field_0x8f0.y - field_0x8f6.y; + cXyz lookatPos[3] = {mLookatPos[0], mLookatPos[1], mLookatPos[2]}; + csXyz* svecarray[3] = {&field_0x91a[0], &field_0x91a[1], &field_0x91a[2]}; + switch (mLookMode) { + case 0: + break; + case 1: + iv7 = true; + break; + case 2: + case 3: + actor = daPy_getPlayerActorClass(); + break; + case 4: + actor = mActorMngr[4].getActorP(); + break; + case 5: + actor = mTalkPartner; + break; + } + if (actor != NULL) { + mLookPos = actor->mAttentionInfo.mPosition; + if (mLookMode != 2 && mLookMode != 3) { + mLookPos.y -= 40.0f; + } + mLookat.setAttnPos(&mLookPos); + } else { + mLookat.setAttnPos(NULL); + } + mLookat.setParam(fv13, fv12, fv17, fv16, 0.0f, 0.0f, 0.0f, 0.0f, fv11, fv10, fv15, fv14, field_0x8f0.y, lookatPos); + mLookat.calc(this, model->getBaseTRMtx(), svecarray, iv7, idk, 0); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -2225,9 +2745,10 @@ asm void daNpcAsh_c::lookat() { #include "asm/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash/lookat__10daNpcAsh_cFv.s" } #pragma pop +#endif /* 8095CC8C-8095CC94 004A8C 0008+00 1/0 0/0 0/0 .text drawDbgInfo__10daNpcAsh_cFv */ -bool daNpcAsh_c::drawDbgInfo() { +BOOL daNpcAsh_c::drawDbgInfo() { return false; } @@ -2274,7 +2795,8 @@ REGISTER_CTORS(0x8095CCA0, __sinit_d_a_npc_ash_cpp); #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm daNpcF_ActorMngr_c::~daNpcF_ActorMngr_c() { +// asm daNpcF_ActorMngr_c::~daNpcF_ActorMngr_c() { +asm void __dt__18daNpcF_ActorMngr_cFv() { nofralloc #include "asm/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash/__dt__18daNpcF_ActorMngr_cFv.s" } @@ -2284,7 +2806,8 @@ asm daNpcF_ActorMngr_c::~daNpcF_ActorMngr_c() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm daNpcF_ActorMngr_c::daNpcF_ActorMngr_c() { +// asm daNpcF_ActorMngr_c::daNpcF_ActorMngr_c() { +asm void __ct__18daNpcF_ActorMngr_cFv() { nofralloc #include "asm/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash/__ct__18daNpcF_ActorMngr_cFv.s" } @@ -2294,7 +2817,8 @@ asm daNpcF_ActorMngr_c::daNpcF_ActorMngr_c() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm daNpcF_Lookat_c::~daNpcF_Lookat_c() { +// asm daNpcF_Lookat_c::~daNpcF_Lookat_c() { +asm void __dt__15daNpcF_Lookat_cFv() { nofralloc #include "asm/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash/__dt__15daNpcF_Lookat_cFv.s" } @@ -2304,14 +2828,16 @@ asm daNpcF_Lookat_c::~daNpcF_Lookat_c() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm csXyz::~csXyz() { +// asm csXyz::~csXyz() { +asm void __dt__5csXyzFv() { nofralloc #include "asm/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash/__dt__5csXyzFv.s" } #pragma pop /* 8095CF1C-8095CF20 004D1C 0004+00 2/2 0/0 0/0 .text __ct__5csXyzFv */ -csXyz::csXyz() { +// csXyz::csXyz() { +void __ct__5csXyzFv() { /* empty function */ } @@ -2319,14 +2845,16 @@ csXyz::csXyz() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cXyz::~cXyz() { +// asm cXyz::~cXyz() { +asm void __dt__4cXyzFv() { nofralloc #include "asm/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash/__dt__4cXyzFv.s" } #pragma pop /* 8095CF5C-8095CF60 004D5C 0004+00 2/2 0/0 0/0 .text __ct__4cXyzFv */ -cXyz::cXyz() { +// cXyz::cXyz() { +void __ct__4cXyzFv() { /* empty function */ } @@ -2334,7 +2862,8 @@ cXyz::cXyz() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm daNpcF_c::~daNpcF_c() { +// asm daNpcF_c::~daNpcF_c() { +asm void __dt__8daNpcF_cFv() { nofralloc #include "asm/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash/__dt__8daNpcF_cFv.s" } @@ -2344,7 +2873,8 @@ asm daNpcF_c::~daNpcF_c() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm daNpcF_c::daNpcF_c() { +// asm daNpcF_c::daNpcF_c() { +asm void __ct__8daNpcF_cFv() { nofralloc #include "asm/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash/__ct__8daNpcF_cFv.s" } @@ -2354,7 +2884,8 @@ asm daNpcF_c::daNpcF_c() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_AcchCir::~dBgS_AcchCir() { +// asm dBgS_AcchCir::~dBgS_AcchCir() { +asm void __dt__12dBgS_AcchCirFv() { nofralloc #include "asm/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash/__dt__12dBgS_AcchCirFv.s" } @@ -2364,7 +2895,8 @@ asm dBgS_AcchCir::~dBgS_AcchCir() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dCcD_GStts::~dCcD_GStts() { +// asm dCcD_GStts::~dCcD_GStts() { +asm void __dt__10dCcD_GSttsFv() { nofralloc #include "asm/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash/__dt__10dCcD_GSttsFv.s" } @@ -2374,7 +2906,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() { +asm void __dt__12dBgS_ObjAcchFv() { nofralloc #include "asm/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash/__dt__12dBgS_ObjAcchFv.s" } @@ -2384,24 +2917,28 @@ asm dBgS_ObjAcch::~dBgS_ObjAcch() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm J3DFrameCtrl::~J3DFrameCtrl() { +// asm J3DFrameCtrl::~J3DFrameCtrl() { +asm void __dt__12J3DFrameCtrlFv() { nofralloc #include "asm/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash/__dt__12J3DFrameCtrlFv.s" } #pragma pop /* 8095D520-8095D524 005320 0004+00 1/0 0/0 0/0 .text adjustShapeAngle__8daNpcF_cFv */ -void daNpcF_c::adjustShapeAngle() { +// void daNpcF_c::adjustShapeAngle() { +void adjustShapeAngle__8daNpcF_cFv() { /* empty function */ } /* 8095D524-8095D528 005324 0004+00 1/0 0/0 0/0 .text setCollisions__8daNpcF_cFv */ -void daNpcF_c::setCollisions() { +// void daNpcF_c::setCollisions() { +void setCollisions__8daNpcF_cFv() { /* empty function */ } /* 8095D528-8095D52C 005328 0004+00 1/0 0/0 0/0 .text drawOtherMdls__8daNpcF_cFv */ -void daNpcF_c::drawOtherMdls() { +// void daNpcF_c::drawOtherMdls() { +void drawOtherMdls__8daNpcF_cFv() { /* empty function */ } @@ -2409,7 +2946,8 @@ void daNpcF_c::drawOtherMdls() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cCcD_GStts::~cCcD_GStts() { +// asm cCcD_GStts::~cCcD_GStts() { +asm void __dt__10cCcD_GSttsFv() { nofralloc #include "asm/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash/__dt__10cCcD_GSttsFv.s" } @@ -2419,7 +2957,8 @@ asm cCcD_GStts::~cCcD_GStts() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daTag_EvtArea_c::chkPointInArea(cXyz param_0) { +// asm void daTag_EvtArea_c::chkPointInArea(cXyz param_0) { +asm void chkPointInArea__15daTag_EvtArea_cF4cXyz() { nofralloc #include "asm/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash/chkPointInArea__15daTag_EvtArea_cF4cXyz.s" } diff --git a/rel/d/a/tag/d_a_tag_evtarea/d_a_tag_evtarea.cpp b/rel/d/a/tag/d_a_tag_evtarea/d_a_tag_evtarea.cpp index 0e4a5d4141..d302e6a830 100644 --- a/rel/d/a/tag/d_a_tag_evtarea/d_a_tag_evtarea.cpp +++ b/rel/d/a/tag/d_a_tag_evtarea/d_a_tag_evtarea.cpp @@ -4,161 +4,107 @@ // #include "rel/d/a/tag/d_a_tag_evtarea/d_a_tag_evtarea.h" +#include "JSystem/JKernel/JKRHeap.h" +#include "d/a/d_a_npc.h" +#include "d/d_procname.h" #include "dol2asm.h" -#include "dolphin/types.h" -// -// Types: -// +s32 daTag_EvtArea_c::getType() { + u8 type = (u8)shape_angle.z; + return type == 0xff ? 0 : type; +} -struct mDoMtx_stack_c { - static u8 now[48]; -}; +u32 daTag_EvtArea_c::getOnEvtBit() { + u32 ret = fopAcM_GetParam(this) & 0xfff; + return ret == 0xfff ? -1 : ret; +} -struct fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); - /* 80018C8C */ ~fopAc_ac_c(); -}; +u32 daTag_EvtArea_c::getOffEvtBit() { + u32 ret = (fopAcM_GetParam(this) & 0xfff000) >> 12; + return ret == 0xfff ? -1 : ret; +} -struct Vec {}; +u8 daTag_EvtArea_c::getBitSW() { + return orig.angle.x & 0xff; +} -struct cXyz { - /* 80266AE4 */ void operator+(Vec const&) const; - /* 80266B34 */ void operator-(Vec const&) const; -}; - -struct daTag_EvtArea_c { - /* 8048C4F8 */ void create(); - /* 8048C728 */ bool Delete(); - /* 8048C730 */ void Execute(); - /* 8048C894 */ bool Draw(); - /* 8048C89C */ void isDelete(); - /* 8048CD08 */ void chkPointInArea(cXyz); - /* 8048C94C */ void chkPointInArea(cXyz, cXyz); - /* 8048CD68 */ ~daTag_EvtArea_c(); -}; - -struct dSv_info_c { - /* 80035360 */ void isSwitch(int, int) const; -}; - -// -// Forward References: -// - -extern "C" void create__15daTag_EvtArea_cFv(); -extern "C" bool Delete__15daTag_EvtArea_cFv(); -extern "C" void Execute__15daTag_EvtArea_cFv(); -extern "C" bool Draw__15daTag_EvtArea_cFv(); -extern "C" void isDelete__15daTag_EvtArea_cFv(); -extern "C" void chkPointInArea__15daTag_EvtArea_cF4cXyz4cXyz(); -extern "C" static void daTag_EvtArea_Create__FPv(); -extern "C" static void daTag_EvtArea_Delete__FPv(); -extern "C" static void daTag_EvtArea_Execute__FPv(); -extern "C" static void daTag_EvtArea_Draw__FPv(); -extern "C" static bool daTag_EvtArea_IsDelete__FPv(); -extern "C" void chkPointInArea__15daTag_EvtArea_cF4cXyz(); -extern "C" void __dt__15daTag_EvtArea_cFv(); - -// -// External References: -// - -extern "C" void mDoMtx_YrotS__FPA4_fs(); -extern "C" void __ct__10fopAc_ac_cFv(); -extern "C" void __dt__10fopAc_ac_cFv(); -extern "C" void fopAcM_delete__FP10fopAc_ac_c(); -extern "C" void isSwitch__10dSv_info_cCFii(); -extern "C" void daNpcT_chkPointInArea__F4cXyz4cXyz4cXyzsi(); -extern "C" void daNpcT_chkEvtBit__FUl(); -extern "C" void __pl__4cXyzCFRC3Vec(); -extern "C" void __mi__4cXyzCFRC3Vec(); -extern "C" void __dl__FPv(); -extern "C" void PSMTXMultVec(); -extern "C" void PSVECSubtract(); -extern "C" void _savegpr_29(); -extern "C" void _restgpr_29(); -extern "C" extern void* g_fopAc_Method[8]; -extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; -extern "C" u8 now__14mDoMtx_stack_c[48]; -extern "C" extern u8 g_dComIfG_gameInfo[122384]; -extern "C" extern u8 mStayNo__20dStage_roomControl_c[4]; - -// -// Declarations: -// - -/* ############################################################################################## */ -/* 8048CDD0-8048CDD4 000000 0004+00 2/2 0/0 0/0 .rodata @3853 */ -SECTION_RODATA static f32 const lit_3853 = 100.0f; -COMPILER_STRIP_GATE(0x8048CDD0, &lit_3853); - -/* 8048CDE8-8048CE48 -00001 0060+00 1/1 0/0 0/0 .data @3857 */ -SECTION_DATA static void* lit_3857[24] = { - (void*)(((char*)create__15daTag_EvtArea_cFv) + 0x88), - (void*)(((char*)create__15daTag_EvtArea_cFv) + 0x88), - (void*)(((char*)create__15daTag_EvtArea_cFv) + 0x88), - (void*)(((char*)create__15daTag_EvtArea_cFv) + 0x88), - (void*)(((char*)create__15daTag_EvtArea_cFv) + 0x88), - (void*)(((char*)create__15daTag_EvtArea_cFv) + 0x88), - (void*)(((char*)create__15daTag_EvtArea_cFv) + 0x88), - (void*)(((char*)create__15daTag_EvtArea_cFv) + 0x88), - (void*)(((char*)create__15daTag_EvtArea_cFv) + 0x88), - (void*)(((char*)create__15daTag_EvtArea_cFv) + 0x88), - (void*)(((char*)create__15daTag_EvtArea_cFv) + 0x88), - (void*)(((char*)create__15daTag_EvtArea_cFv) + 0x88), - (void*)(((char*)create__15daTag_EvtArea_cFv) + 0x88), - (void*)(((char*)create__15daTag_EvtArea_cFv) + 0xB4), - (void*)(((char*)create__15daTag_EvtArea_cFv) + 0xE0), - (void*)(((char*)create__15daTag_EvtArea_cFv) + 0x10C), - (void*)(((char*)create__15daTag_EvtArea_cFv) + 0x154), - (void*)(((char*)create__15daTag_EvtArea_cFv) + 0x154), - (void*)(((char*)create__15daTag_EvtArea_cFv) + 0x154), - (void*)(((char*)create__15daTag_EvtArea_cFv) + 0x154), - (void*)(((char*)create__15daTag_EvtArea_cFv) + 0x154), - (void*)(((char*)create__15daTag_EvtArea_cFv) + 0x180), - (void*)(((char*)create__15daTag_EvtArea_cFv) + 0x1A0), - (void*)(((char*)create__15daTag_EvtArea_cFv) + 0x1A0), -}; - -/* 8048CE48-8048CE68 -00001 0020+00 1/0 0/0 0/0 .data daTag_EvtArea_MethodTable */ -SECTION_DATA static void* daTag_EvtArea_MethodTable[8] = { - (void*)daTag_EvtArea_Create__FPv, - (void*)daTag_EvtArea_Delete__FPv, - (void*)daTag_EvtArea_Execute__FPv, - (void*)daTag_EvtArea_IsDelete__FPv, - (void*)daTag_EvtArea_Draw__FPv, - (void*)NULL, - (void*)NULL, - (void*)NULL, -}; - -/* 8048CE68-8048CE98 -00001 0030+00 0/0 0/0 1/0 .data g_profile_TAG_EVTAREA */ -SECTION_DATA extern void* g_profile_TAG_EVTAREA[12] = { - (void*)0xFFFFFFFD, (void*)0x0008FFFD, - (void*)0x02E90000, (void*)&g_fpcLf_Method, - (void*)0x00000570, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x011F0000, (void*)&daTag_EvtArea_MethodTable, - (void*)0x00044000, (void*)0x000E0000, -}; - -/* 8048CE98-8048CEA4 0000B0 000C+00 2/2 0/0 0/0 .data __vt__15daTag_EvtArea_c */ -SECTION_DATA extern void* __vt__15daTag_EvtArea_c[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__15daTag_EvtArea_cFv, -}; +u8 daTag_EvtArea_c::getBitSW2() { + return (orig.angle.x & 0xff00) >> 8; +} /* 8048C4F8-8048C728 000078 0230+00 2/1 0/0 0/0 .text create__15daTag_EvtArea_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daTag_EvtArea_c::create() { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_evtarea/d_a_tag_evtarea/create__15daTag_EvtArea_cFv.s" +cPhs__Step daTag_EvtArea_c::create() { + if (!fopAcM_CheckCondition(this, 8)) { + new (this) daTag_EvtArea_c(); + fopAcM_OnCondition(this, 8); + } + + switch (getType()) { + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + case 6: + case 7: + case 8: + case 9: + case 10: + case 11: + case 12: + mScale.x *= 100.0f; + mScale.y *= 100.0f; + mScale.z *= 100.0f; + break; + case 13: + mScale.x *= 200.0f; + mScale.y *= 200.0f; + mScale.z *= 200.0f; + break; + case 14: + mScale.x *= 100.0f; + mScale.y *= 100.0f; + mScale.z *= 100.0f; + break; + case 15: + mScale.x *= 0.5f; + mScale.z *= 0.5f; + mScale.x *= 1000.0f; + mScale.y *= 1000.0f; + mScale.z *= 1000.0f; + break; + case 16: + case 17: + case 18: + case 19: + case 20: + mScale.x *= 100.0f; + mScale.y *= 100.0f; + mScale.z *= 100.0f; + break; + case 21: + mScale.x *= 1000.0f; + mScale.z *= 1000.0f; + break; + case 22: + case 23: + mScale.x *= 100.0f; + mScale.y *= 100.0f; + mScale.z *= 100.0f; + break; + default: + mScale.x *= 100.0f; + mScale.y *= 100.0f; + mScale.z *= 100.0f; + } + if (isDelete()) { + return cPhs_ERROR_e; + } else { + field_0x56c = 0; + return cPhs_COMPLEATE_e; + } } -#pragma pop /* 8048C728-8048C730 0002A8 0008+00 1/1 0/0 0/0 .text Delete__15daTag_EvtArea_cFv */ bool daTag_EvtArea_c::Delete() { @@ -166,14 +112,31 @@ bool daTag_EvtArea_c::Delete() { } /* 8048C730-8048C894 0002B0 0164+00 1/1 0/0 0/0 .text Execute__15daTag_EvtArea_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daTag_EvtArea_c::Execute() { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_evtarea/d_a_tag_evtarea/Execute__15daTag_EvtArea_cFv.s" +bool daTag_EvtArea_c::Execute() { + if (orig.roomNo == dComIfGp_roomControl_getStayNo()) { + if (isDelete()) { + fopAcM_delete(this); + return true; + } else { + mAttentionInfo.mPosition = current.pos; + if (getType() == 8) { + mAttentionInfo.mPosition.y += 100.0f; + } + mGroup = 0; + mEyePos = mAttentionInfo.mPosition; + if (getType() == 15) { + if (chkPointInArea(daPy_getPlayerActorClass()->current.pos)) { + mEyePos = daPy_getPlayerActorClass()->mEyePos; + mGroup = 4; + } + } + mAttentionInfo.mFlags = 0; + return true; + } + } else { + return false; + } } -#pragma pop /* 8048C894-8048C89C 000414 0008+00 1/1 0/0 0/0 .text Draw__15daTag_EvtArea_cFv */ bool daTag_EvtArea_c::Draw() { @@ -181,44 +144,24 @@ bool daTag_EvtArea_c::Draw() { } /* 8048C89C-8048C94C 00041C 00B0+00 2/2 0/0 0/0 .text isDelete__15daTag_EvtArea_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daTag_EvtArea_c::isDelete() { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_evtarea/d_a_tag_evtarea/isDelete__15daTag_EvtArea_cFv.s" +BOOL daTag_EvtArea_c::isDelete() { + bool ret; + if (getOffEvtBit() != -1) { + if (daNpcT_chkEvtBit(getOffEvtBit())) { + return true; + } + } + ret = false; + if (getBitSW2() != 0xff) { + if (dComIfGs_isSwitch(getBitSW2(), fopAcM_GetRoomNo(this))) { + ret = true; + } + } + return ret; } -#pragma pop - -/* ############################################################################################## */ -/* 8048CDD4-8048CDD8 000004 0004+00 0/0 0/0 0/0 .rodata @3854 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3854 = 200.0f; -COMPILER_STRIP_GATE(0x8048CDD4, &lit_3854); -#pragma pop - -/* 8048CDD8-8048CDDC 000008 0004+00 0/0 0/0 0/0 .rodata @3855 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3855 = 0.5f; -COMPILER_STRIP_GATE(0x8048CDD8, &lit_3855); -#pragma pop - -/* 8048CDDC-8048CDE0 00000C 0004+00 0/0 0/0 0/0 .rodata @3856 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3856 = 1000.0f; -COMPILER_STRIP_GATE(0x8048CDDC, &lit_3856); -#pragma pop /* 8048CDE0-8048CDE4 000010 0004+00 1/1 0/0 0/0 .rodata @3922 */ -SECTION_RODATA static u8 const lit_3922[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; +SECTION_RODATA static f32 const lit_3922 = 0.0f; COMPILER_STRIP_GATE(0x8048CDE0, &lit_3922); /* 8048CDE4-8048CDE8 000014 0004+00 1/1 0/0 0/0 .rodata @4146 */ @@ -227,76 +170,104 @@ COMPILER_STRIP_GATE(0x8048CDE4, &lit_4146); /* 8048C94C-8048CC80 0004CC 0334+00 1/1 0/0 16/16 .text * chkPointInArea__15daTag_EvtArea_cF4cXyz4cXyz */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daTag_EvtArea_c::chkPointInArea(cXyz param_0, cXyz param_1) { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_evtarea/d_a_tag_evtarea/chkPointInArea__15daTag_EvtArea_cF4cXyz4cXyz.s" +BOOL daTag_EvtArea_c::chkPointInArea(cXyz param_0, cXyz param_1) { + cXyz local_24, local_30, local_3c, local_48, local_84, local_cc, local_6c, local_90; + if (field_0x56c == 0) { + if ((getOnEvtBit() != -1 && daNpcT_chkEvtBit(getOnEvtBit())) + || (getBitSW() != 0xff && dComIfGs_isSwitch(getBitSW(), fopAcM_GetRoomNo(this))) + || (getOnEvtBit() == -1 && getBitSW() == 0xff)) { + local_84 = mScale + param_1; + if (getType() == 15 || getType() == 16) { + local_6c = daPy_getPlayerActorClass()->current.pos; + local_6c -= orig.pos; + mDoMtx_YrotS(mDoMtx_stack_c::now, -current.angle.y); + mDoMtx_stack_c::multVec(&local_6c, &local_6c); + local_48.x = -local_84.x; + local_48.z = -local_84.z; + local_3c.x = local_84.x; + local_3c.z = -local_84.z; + local_30.x = local_84.x; + local_30.z = local_84.z; + local_24.x = -local_84.x; + local_24.z = local_84.z; + if (local_48.x < local_6c.x && local_48.z < local_6c.z && local_84.x > local_6c.x && local_84.z > local_6c.z) { + local_90 = param_0 - current.pos; + if (0 <= (s32)local_90.y && (s32)local_90.y < (s32)local_84.y) { + return true; + } + } + } else { + local_cc = current.pos; + local_cc.y -= FLOAT_LABEL(lit_4146); + if (getType() == 21) { + return daNpcT_chkPointInArea(param_0, local_cc, local_84, shape_angle.y, 0); + } + return daNpcT_chkPointInArea(param_0, local_cc, local_84, shape_angle.y, 1); + } + } + } + return false; } -#pragma pop /* 8048CC80-8048CCA0 000800 0020+00 1/0 0/0 0/0 .text daTag_EvtArea_Create__FPv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daTag_EvtArea_Create(void* param_0) { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_evtarea/d_a_tag_evtarea/daTag_EvtArea_Create__FPv.s" +static cPhs__Step daTag_EvtArea_Create(void* i_this) { + return static_cast(i_this)->create(); } -#pragma pop /* 8048CCA0-8048CCC0 000820 0020+00 1/0 0/0 0/0 .text daTag_EvtArea_Delete__FPv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daTag_EvtArea_Delete(void* param_0) { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_evtarea/d_a_tag_evtarea/daTag_EvtArea_Delete__FPv.s" +static bool daTag_EvtArea_Delete(void* i_this) { + return static_cast(i_this)->Delete(); } -#pragma pop /* 8048CCC0-8048CCE0 000840 0020+00 1/0 0/0 0/0 .text daTag_EvtArea_Execute__FPv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daTag_EvtArea_Execute(void* param_0) { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_evtarea/d_a_tag_evtarea/daTag_EvtArea_Execute__FPv.s" +static bool daTag_EvtArea_Execute(void* i_this) { + return static_cast(i_this)->Execute(); } -#pragma pop /* 8048CCE0-8048CD00 000860 0020+00 1/0 0/0 0/0 .text daTag_EvtArea_Draw__FPv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daTag_EvtArea_Draw(void* param_0) { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_evtarea/d_a_tag_evtarea/daTag_EvtArea_Draw__FPv.s" +static bool daTag_EvtArea_Draw(void* i_this) { + return static_cast(i_this)->Draw(); } -#pragma pop /* 8048CD00-8048CD08 000880 0008+00 1/0 0/0 0/0 .text daTag_EvtArea_IsDelete__FPv */ -static bool daTag_EvtArea_IsDelete(void* param_0) { +static bool daTag_EvtArea_IsDelete(void* i_this) { return true; } /* 8048CD08-8048CD68 000888 0060+00 1/1 0/0 0/0 .text chkPointInArea__15daTag_EvtArea_cF4cXyz */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daTag_EvtArea_c::chkPointInArea(cXyz param_0) { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_evtarea/d_a_tag_evtarea/chkPointInArea__15daTag_EvtArea_cF4cXyz.s" +BOOL daTag_EvtArea_c::chkPointInArea(cXyz param_0) { + cXyz local_28; + local_28.set(FLOAT_LABEL(lit_3922), FLOAT_LABEL(lit_3922), FLOAT_LABEL(lit_3922)); + return chkPointInArea(param_0, local_28); } -#pragma pop /* 8048CD68-8048CDC8 0008E8 0060+00 1/0 0/0 0/0 .text __dt__15daTag_EvtArea_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm daTag_EvtArea_c::~daTag_EvtArea_c() { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_evtarea/d_a_tag_evtarea/__dt__15daTag_EvtArea_cFv.s" +daTag_EvtArea_c::~daTag_EvtArea_c() { } -#pragma pop + +/* 8048CE48-8048CE68 -00001 0020+00 1/0 0/0 0/0 .data daTag_EvtArea_MethodTable */ +static actor_method_class daTag_EvtArea_MethodTable = { + (process_method_func)daTag_EvtArea_Create, + (process_method_func)daTag_EvtArea_Delete, + (process_method_func)daTag_EvtArea_Execute, + (process_method_func)daTag_EvtArea_IsDelete, + (process_method_func)daTag_EvtArea_Draw, +}; + +/* 8048CE68-8048CE98 -00001 0030+00 0/0 0/0 1/0 .data g_profile_TAG_EVTAREA */ +extern actor_process_profile_definition g_profile_TAG_EVTAREA = { + -3, + 8, + -3, + PROC_TAG_EVTAREA, + &g_fpcLf_Method.mBase, + sizeof(daTag_EvtArea_c), + 0, + 0, + &g_fopAc_Method.base, + 0x011F, + &daTag_EvtArea_MethodTable, + 0x00044000, + 0, + 14, +}; \ No newline at end of file diff --git a/src/d/a/d_a_alink_demo.inc b/src/d/a/d_a_alink_demo.inc index 6be8821b59..2379f9b869 100644 --- a/src/d/a/d_a_alink_demo.inc +++ b/src/d/a/d_a_alink_demo.inc @@ -128,11 +128,11 @@ asm void daAlink_c::endDemoMode() { #ifdef NONMATCHING fopAc_ac_c* daAlink_c::getDemoLookActor() { if (mDemo.getParam0() == 1) { - return (fopAc_ac_c*)dComIfGp_event_getPt1(); + return dComIfGp_event_getPt1(); } else if (mDemo.getParam0() == 2) { - return (fopAc_ac_c*)dComIfGp_event_getPt2(); + return dComIfGp_event_getPt2(); } else if (mDemo.getParam0() == 3) { - return (fopAc_ac_c*)fopAcM_getTalkEventPartner(this); + return fopAcM_getTalkEventPartner(this); } else if (mDemo.getParam0() == 4) { return getMidnaActor(); } diff --git a/src/d/a/d_a_npc.cpp b/src/d/a/d_a_npc.cpp index 768d73c013..9ab7796e3c 100644 --- a/src/d/a/d_a_npc.cpp +++ b/src/d/a/d_a_npc.cpp @@ -13,7 +13,9 @@ #include "global.h" #include "m_Do/m_Do_mtx.h" #include "rel/d/a/npc/d_a_npc_tk/d_a_npc_tk.h" +#include "d/msg/d_msg_object.h" #include "m_Do/m_Do_lib.h" +#include "JSystem/J3DGraphBase/J3DMaterial.h" // // Forward References: @@ -1180,12 +1182,8 @@ SECTION_DATA u8 daBaseNpc_c::mCcDSph[64] = { }; /* 803B37E0-803B3824 010900 0044+00 0/0 0/0 36/36 .data mCcDCyl__8daNpcF_c */ -SECTION_DATA u8 daNpcF_c::mCcDCyl[68] = { - 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +SECTION_DATA dCcD_SrcCyl daNpcF_c::mCcDCyl = { + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f }; /* 803B3824-803B3864 010944 0040+00 0/0 0/0 2/2 .data mCcDSph__8daNpcF_c */ @@ -2125,7 +2123,7 @@ int daNpcT_c::ctrlMsgAnm(int* param_0, int* param_1, fopAc_ac_c* param_2, int pa *param_1 = -1; if (tmp3 != 0 || mEvtInfo.checkCommandTalk() || field_0xdac != -1) { - fopAc_ac_c* talk_partner = (fopAc_ac_c*)dComIfGp_event_getTalkPartner(); + fopAc_ac_c* talk_partner = dComIfGp_event_getTalkPartner(); dMsgObject_c* talk_partner_conv = (dMsgObject_c*)talk_partner; if (tmp2 == talk_partner) { @@ -2733,7 +2731,7 @@ bool daNpcT_chkPointInArea(cXyz param_0, cXyz param_1, cXyz param_2, s16 param_3 #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daNpcT_chkPointInArea(cXyz param_0, cXyz param_1, cXyz param_2, s16 param_3, int param_4) { +asm BOOL daNpcT_chkPointInArea(cXyz param_0, cXyz param_1, cXyz param_2, s16 param_3, int param_4) { nofralloc #include "asm/d/a/d_a_npc/daNpcT_chkPointInArea__F4cXyz4cXyz4cXyzsi.s" } @@ -2806,8 +2804,8 @@ void daNpcT_offEvtBit(u32 i_idx) { } /* 8014CAAC-8014CAEC 1473EC 0040+00 0/0 0/0 155/155 .text daNpcT_chkEvtBit__FUl */ -void daNpcT_chkEvtBit(u32 i_idx) { - i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[i_idx]); +BOOL daNpcT_chkEvtBit(u32 i_idx) { + return i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[i_idx]); } /* 8014CAEC-8014CB2C 14742C 0040+00 0/0 0/0 26/26 .text daNpcT_onTmpBit__FUl */ @@ -2821,8 +2819,8 @@ void daNpcT_offTmpBit(u32 i_idx) { } /* 8014CB6C-8014CBAC 1474AC 0040+00 0/0 0/0 38/38 .text daNpcT_chkTmpBit__FUl */ -void daNpcT_chkTmpBit(u32 i_idx) { - dComIfGs_isTmpBit(dSv_event_tmp_flag_c::tempBitLabels[i_idx]); +BOOL daNpcT_chkTmpBit(u32 i_idx) { + return dComIfGs_isTmpBit(dSv_event_tmp_flag_c::tempBitLabels[i_idx]); } /* 8014CBAC-8014CBF4 1474EC 0048+00 1/0 0/0 0/0 .text __dt__16daNpcT_Hermite_cFv */ @@ -4127,9 +4125,9 @@ void daNpcF_MatAnm_c::initialize() { field_0xF4 = value; field_0xF8 = value; - mTranslationX = value; - mTranslationY = value; - field_0x104 = 0; + mNowOffsetX = value; + mNowOffsetY = value; + mEyeMoveFlag = 0; field_0x105 = 0; } @@ -4154,9 +4152,9 @@ void daNpcF_MatAnm_c::calc(J3DMaterial* param_0) const { curr_mtx_info->mSRT.mTranslationY = field_0xF8 * tmp9 + curr_mtx_info->mSRT.mTranslationY * tmp8; } else { - if (field_0x104 != 0) { - curr_mtx_info->mSRT.mTranslationX = mTranslationX; - curr_mtx_info->mSRT.mTranslationY = mTranslationY; + if (mEyeMoveFlag != 0) { + curr_mtx_info->mSRT.mTranslationX = mNowOffsetX; + curr_mtx_info->mSRT.mTranslationY = mNowOffsetY; } } @@ -4169,7 +4167,8 @@ void daNpcF_MatAnm_c::calc(J3DMaterial* param_0) const { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daNpcF_MatAnm_c::calc(J3DMaterial* param_0) const { +// asm void daNpcF_MatAnm_c::calc(J3DMaterial* param_0) const { +asm void calc__15daNpcF_MatAnm_cCFP11J3DMaterial() { nofralloc #include "asm/d/a/d_a_npc/calc__15daNpcF_MatAnm_cCFP11J3DMaterial.s" } @@ -4501,32 +4500,34 @@ SECTION_SDATA2 static f32 lit_9971 = 32.0f; void daNpcF_Lookat_c::setParam(f32 param_0, f32 param_1, f32 param_2, f32 param_3, f32 param_4, f32 param_5, f32 param_6, f32 param_7, f32 param_8, f32 param_9, f32 param_10, f32 param_11, s16 param_12, cXyz* param_13) { - f32 l_float0 = param_0; - f32 l_float1 = param_1; - f32 l_float2 = param_2; - f32 l_float3 = param_3; - u32 tmp = 0; - - if (!data_80450FEC) { - f32 value = FLOAT_LABEL(lit_9971); + static cXyz vec(0.0f, 0.0f, 32.0f); - // vec.set(0.0f,0.0f,value); - FLOAT_LABEL(data_80450FEC) = 1.0f; - } + field_0x00[0] = param_13[0]; + field_0x4c[0].x = cM_deg2s(-param_1) - 0x4000; + field_0x4c[0].y = cM_deg2s(param_2); + field_0x4c[0].z = 0; + field_0x64[0].x = cM_deg2s(-param_0) - 0x4000; + field_0x64[0].y = cM_deg2s(param_3); + field_0x64[0].z = 0; - field_0x00[0] = *param_13; - field_0x4c[0].set((cM_deg2s(-param_1) - 0x4000),cM_deg2s(param_2),0); - field_0x64[0].set((cM_deg2s(-param_0) - 0x4000),cM_deg2s(param_3),0); + field_0x00[1] = param_13[1]; + field_0x4c[1].set(-0x4000, 0, 0); + field_0x64[1].set(-0x4000, 0, 0); - field_0x00[1].set(param_12,param_12,param_12); - field_0x4c[1].set(cM_deg2s(-0x4000),param_8,param_8); - field_0x64[1].set(-0x4000,param_8,param_8); - - field_0x00[2].set(param_9,param_9,param_9); - field_0x4c[2].set(-0x4000,param_11,param_11); - field_0x64[2].set(-0x4000,param_11,param_11); + field_0x00[2] = param_13[2]; + field_0x4c[2].x = cM_deg2s(-param_9); + field_0x4c[2].y = cM_deg2s(param_10); + field_0x4c[2].z = 0; + field_0x64[2].x = cM_deg2s(-param_8); + field_0x64[2].y = cM_deg2s(param_11); + field_0x64[2].z = 0; + mDoMtx_stack_c::transS(field_0x00[2]); + mDoMtx_stack_c::YrotM(param_12); + mDoMtx_stack_c::multVec(&vec, &field_0x00[3]); + field_0x4c[3].set(0, 0, 0); + field_0x64[3].set(0, 0, 0); } #else #pragma push @@ -4544,43 +4545,51 @@ asm void daNpcF_Lookat_c::setParam(f32 param_0, f32 param_1, f32 param_2, f32 pa /* 80151350-801515D4 14BC90 0284+00 0/0 0/0 34/34 .text * calc__15daNpcF_Lookat_cFP10fopAc_ac_cPA4_fPP5csXyziii */ #ifdef NONMATCHING -void daNpcF_Lookat_c::calc(fopAc_ac_c* param_0, f32 (*param_1)[4], csXyz** param_2, int param_3, - int param_4, int param_5) { - int tmp = 0; - int tmp2; +void daNpcF_Lookat_c::calc(fopAc_ac_c* param_0, Mtx baseTransformMtx, csXyz** param_2, int param_3, + int param_4, int debug) { + cXyz local_a4[4]; + csXyz local_bc[4]; + cXyz local_c8; + f32 local_d8[4]; + f32 local_e8; + f32 angY; - if (field_0x30) { - initCalc(param_0,param_1,(cXyz*)param_2,*param_2,*param_1,(cXyz&)param_2,param_5); + if (mAttnPos) { + initCalc(param_0, baseTransformMtx, local_a4, local_bc, local_d8, local_c8, debug); for (int i = 2; i >= -1; i--) { - update((cXyz*)param_2,*param_2,(float*)param_4); + update(local_a4, local_bc, local_d8); if (0 <= i) { - calcMoveDisAngle(i,(cXyz*)param_2,*param_2,(cXyz&)param_2,param_4,param_5); + calcMoveDisAngle(i, local_a4, local_bc, local_c8, param_4, debug); } } setRotAngle(); - + } else { clrRotAngle(); } - tmp2 = 1; - - for (int i = 2; i >= -1; i-- ) { + int i,j; + for (i = 2, j = 1; i >= 0; i--, j++) { if (param_3) { - cLib_addCalc2((float*)param_2,(float)field_0x7c[0].y,0.25f,(0x800/ (float)tmp2)); - cLib_addCalc2((float*)param_2,(float)field_0x7c[0].y,0.25f,(0x800/ (float)tmp2)); - - if (0 < param_4 && (field_0x7c[0].y - param_2[i]->y) > 0.0f) { - param_2[i]->y = field_0x7c[0].y; - } - - if (0 < param_4 && (field_0x7c[0].y - param_2[i]->y) > 0.0f) { - param_2[i]->y = field_0x7c[0].y; - } - + *(param_2[i]) = mRotAngle[i]; } else { - param_2[8] = field_0x7c; + local_e8 = (f32)param_2[i]->x; + cLib_addCalc2(&local_e8, (f32)mRotAngle[i].x, 0.25f, (f32)(0x800 / j)); + param_2[i]->x = (s16)local_e8; + + local_e8 = (f32)param_2[i]->y; + angY = (f32)mRotAngle[i].y; + cLib_addCalc2(&local_e8, angY, 0.25f, (f32)(0x800 / j)); + if (param_4 > 0 && angY - local_e8 < 0.0f) { + local_e8 = angY; + } + if (param_4 < 0 && 0.0f < angY - local_e8) { + local_e8 = angY; + } + param_2[i]->y = (s16)local_e8; + + param_2[i]->z = 0; } } } @@ -4600,31 +4609,24 @@ asm void daNpcF_Lookat_c::calc(fopAc_ac_c* param_0, f32 (*param_1)[4], csXyz** p */ #ifdef NONMATCHING // regalloc -void daNpcF_Lookat_c::adjustMoveDisAngle(s16& param_0, s16 param_1, s16 param_2, s16 param_3) { - int tmp2 = param_1; - int tmp = tmp2 + param_0; - - - if (param_3 < tmp) { - if (tmp2 < param_3) { - param_0 -= (tmp - param_3); +void daNpcF_Lookat_c::adjustMoveDisAngle(s16& delta, s16 angle, s16 min, s16 max) { + int newAngle = angle + delta; + if (max < newAngle) { + if (angle < max) { + delta -= (newAngle - max); } else { - param_0 = 0; + delta = 0; } } - tmp2 += param_0; - - if (tmp2 >= param_2) { - return; + newAngle = angle + delta; + if (newAngle < min) { + if (min < angle) { + delta -= (newAngle - min); + } else { + delta = 0; + } } - - if (param_2 < param_1) { - param_0 -= (tmp2 - param_2); - return; - } - - param_0 = 0; } #else #pragma push @@ -4643,6 +4645,41 @@ SECTION_SDATA2 static f32 lit_10253 = 63.0f / 100.0f; /* 80151648-80151A54 14BF88 040C+00 1/1 0/0 0/0 .text * initCalc__15daNpcF_Lookat_cFP10fopAc_ac_cPA4_fP4cXyzP5csXyzPfR4cXyzi */ +#ifdef NONMATCHING +// matches except literals +void daNpcF_Lookat_c::initCalc(fopAc_ac_c* actor, Mtx baseTransformMtx, cXyz* param_2, + csXyz* param_3, f32* param_4, cXyz& param_5, int debug) { + Mtx mtx; + cXyz local_90; + cMtx_copy(baseTransformMtx, mtx); + mtx[0][3] = 0.0f; + mtx[1][3] = 0.0f; + mtx[2][3] = 0.0f; + mDoMtx_stack_c::copy(mtx); + mDoMtx_stack_c::inverse(); + cMtx_copy(mDoMtx_stack_c::get(), mtx); + mDoMtx_stack_c::transS(actor->current.pos); + mDoMtx_stack_c::concat(mtx); + for (int i = 0; i < 4; i++) { + local_90 = field_0x00[i] - actor->current.pos; + mDoMtx_stack_c::multVec(&local_90, ¶m_2[i]); + } + local_90 = *mAttnPos - actor->current.pos; + mDoMtx_stack_c::multVec(&local_90, ¶m_5); + for (int i = 0; i < 3; i++) { + cXyz* vec = ¶m_2[i]; + local_90 = vec[1] - vec[0]; + param_4[i] = local_90.abs(); + param_3[i].setall(0); + param_3[i].x = -cM_atan2s(local_90.y, local_90.absXZ()); + if (fabsf(cM_ssin(param_3[i].x)) < 0.63) { + param_3[i].y = cM_atan2s(local_90.x, local_90.z); + } else { + param_3[i].y = 0; + } + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -4652,8 +4689,30 @@ asm void daNpcF_Lookat_c::initCalc(fopAc_ac_c* param_0, f32 (*param_1)[4], cXyz* #include "asm/d/a/d_a_npc/initCalc__15daNpcF_Lookat_cFP10fopAc_ac_cPA4_fP4cXyzP5csXyzPfR4cXyzi.s" } #pragma pop +#endif /* 80151A54-80151B68 14C394 0114+00 1/1 0/0 0/0 .text update__15daNpcF_Lookat_cFP4cXyzP5csXyzPf */ +#ifdef NONMATCHING +// literals +void daNpcF_Lookat_c::update(cXyz* param_0, csXyz* param_1, f32* param_2) { + csXyz ang = csXyz::Zero; + cXyz vec; + Mtx mtx; + cXyz* pparam0i; + for (int i = 0; i < 3; i++) { + mDoMtx_stack_c::XYZrotS(param_1[i]); + cMtx_copy(mDoMtx_stack_c::get(), mtx); + pparam0i = ¶m_0[i]; + mDoMtx_stack_c::transS(pparam0i[0]); + ang.x += field_0x34[i].x; + ang.y += field_0x34[i].y; + mDoMtx_stack_c::ZXYrotM(ang); + mDoMtx_stack_c::concat(mtx); + vec.set(0.0f, 0.0f, param_2[i]); + mDoMtx_stack_c::multVec(&vec, &pparam0i[1]); + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -4662,6 +4721,7 @@ asm void daNpcF_Lookat_c::update(cXyz* param_0, csXyz* param_1, f32* param_2) { #include "asm/d/a/d_a_npc/update__15daNpcF_Lookat_cFP4cXyzP5csXyzPf.s" } #pragma pop +#endif /* 80151B68-80151F54 14C4A8 03EC+00 1/1 0/0 0/0 .text * calcMoveDisAngle__15daNpcF_Lookat_cFiP4cXyzP5csXyz4cXyzii */ @@ -4696,24 +4756,154 @@ asm void daNpcF_Lookat_c::clrRotAngle() { #pragma pop /* 80152014-801522AC 14C954 0298+00 0/0 0/0 38/38 .text execute__8daNpcF_cFv */ +#ifdef NONMATCHING +// will match once cLib_calcTimer is located correctly +BOOL daNpcF_c::execute() { + setParam(); + if (main()) { + fopAcM_posMoveF(this, mStts.GetCCMoveP()); + mAcch.CrrPos(dComIfG_Bgsp()); + field_0xa44 = mAcch.m_gnd; + field_0x980 = mAcch.GetGroundH(); + if (field_0x980 != -1e+9f) { + field_0x998 = daNpcF_getGroundAngle(&field_0xa44, field_0x8f0.y); + setEnvTevColor(); + setRoomNo(); + field_0x9b0 = dKy_pol_sound_get(&mAcch.m_gnd); + field_0x9e8 = dComIfGp_getReverb(mStts.GetRoomId()); + if (mAcch.ChkWaterHit() && mAcch.m_wtr.GetHeight() > field_0x980) { + field_0x9b0 = dKy_pol_sound_get(&mAcch.m_wtr); + } + } + } + playAllAnm(); + adjustShapeAngle(); + setAttnPos(); + cLib_chaseF(&field_0x978, 0.0f, 1.0f); + setCollisions(); + if (field_0x9f4 != 0) { + mAttentionInfo.mFlags |= 0x400000; + mAttentionInfo.mFlags |= 0x800000; + setHitodamaPrtcl(); + } + field_0x8f6 = field_0x8f0; + field_0x930 = 0; + field_0x9e9 = 0; + field_0x9ed = 0; + field_0x9eb = 0; + field_0x9ef = 0; + field_0x9f3 = 0; + for (int i = 0; i < 5; i++) { + if ((field_0x938 == 0 || field_0x934 != i) && field_0x93c[i] != 0 && cLib_calcTimer(&field_0x93c[i]) == 0) { + field_0x82c[i].remove(); + } + } + if (field_0x954 != 0) { + cLib_calcTimer(&field_0x954); + } + return true; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daNpcF_c::execute() { +asm BOOL daNpcF_c::execute() { nofralloc #include "asm/d/a/d_a_npc/execute__8daNpcF_cFv.s" } #pragma pop +#endif /* 801522AC-80152614 14CBEC 0368+00 0/0 0/0 33/33 .text draw__8daNpcF_cFiifP11_GXColorS10i */ +#ifdef NONMATCHING +// literals +BOOL daNpcF_c::draw(int param_0, int param_1, f32 param_2, _GXColorS10* param_3, int param_4) { + f32 fVar1, frame; + J3DModel* model = mMcaMorf->getModel(); + J3DModelData* modelData = model->getModelData(); + field_0x9f3 = 1; + + if (!checkHide()) { + if (!param_4 && field_0x954 != 0 && field_0x958 != 0) { + fVar1 = (f32)field_0x954 / (f32)field_0x958; + } else { + fVar1 = 0.0f; + } + if (cM3d_IsZero_inverted(fVar1)) { + mTevStr.mFogColor.r = (s16)(fVar1 * 20.0f); + mTevStr.mFogColor.g = 0; + } else if (param_0) { + mTevStr.mFogColor.g = 20; + mTevStr.mFogColor.r = 0; + } else if (param_3 != NULL) { + mTevStr.mFogColor.r = param_3->r; + mTevStr.mFogColor.g = param_3->g; + mTevStr.mFogColor.b = param_3->b; + mTevStr.mFogColor.a = param_3->a; + } else { + mTevStr.mFogColor.g = 0; + mTevStr.mFogColor.r = 0; + } + + if (field_0x9f4) { + g_env_light.settingTevStruct(4, ¤t.pos, &mTevStr); + } else { + g_env_light.settingTevStruct(0, ¤t.pos, &mTevStr); + } + g_env_light.setLightTevColorType_MAJI(model->getModelData(), &mTevStr); + + if (!drawDbgInfo()) { + if (mAnmFlags & ANM_PLAY_BTP) { + mBtpAnm.entry(&modelData->getMaterialTable(), (s16)mBtpAnm.getFrame()); + } + if (mAnmFlags & ANM_PLAY_BTK) { + frame = mBtkAnm.getFrame(); + mBtkAnm.entry(&modelData->getMaterialTable(), frame); + } + if (mAnmFlags & ANM_PLAY_BRK) { + frame = mBrkAnm.getFrame(); + mBrkAnm.entry(&modelData->getMaterialTable(), frame); + } + + if (param_1) { + fopAcM_setEffectMtx(this, modelData); + } + + if (field_0x9f4) { + dComIfGd_setListDark(); + mMcaMorf->entryDL(); + dComIfGd_setList(); + } else { + mMcaMorf->entryDL(); + } + + if (mAnmFlags & ANM_PLAY_BTP) { + mBtpAnm.remove(modelData); + } + if (mAnmFlags & ANM_PLAY_BTK) { + mBtkAnm.remove(modelData); + } + if (mAnmFlags & ANM_PLAY_BRK) { + mBrkAnm.remove(modelData); + } + + field_0x9a0 = dComIfGd_setShadow(field_0x9a0, true, model, ¤t.pos, param_2, 20.0f, current.pos.y, field_0x980, field_0xa44, &mTevStr, 0, 1.0f, dDlst_shadowControl_c::getSimpleTex()); + + drawOtherMdls(); + } + } + return true; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daNpcF_c::draw(int param_0, int param_1, f32 param_2, _GXColorS10* param_3, int param_4) { +asm BOOL daNpcF_c::draw(int param_0, int param_1, f32 param_2, _GXColorS10* param_3, int param_4) { nofralloc #include "asm/d/a/d_a_npc/draw__8daNpcF_cFiifP11_GXColorS10i.s" } #pragma pop +#endif /* 80152614-80152654 14CF54 0040+00 0/0 0/0 13/13 .text * tgHitCallBack__8daNpcF_cFP10fopAc_ac_cP12dCcD_GObjInfP10fopAc_ac_cP12dCcD_GObjInf */ @@ -4794,105 +4984,74 @@ asm void daNpcF_c::initialize() { /* 80152B2C-80152B68 14D46C 003C+00 0/0 0/0 69/69 .text getTrnsfrmKeyAnmP__8daNpcF_cFPci */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daNpcF_c::getTrnsfrmKeyAnmP(char* param_0, int param_1) { - nofralloc -#include "asm/d/a/d_a_npc/getTrnsfrmKeyAnmP__8daNpcF_cFPci.s" +J3DAnmTransformKey* daNpcF_c::getTrnsfrmKeyAnmP(char* arcName, int fileIdx) { + return (J3DAnmTransformKey*)dComIfG_getObjectRes(arcName, fileIdx); } -#pragma pop /* 80152B68-80152BA4 14D4A8 003C+00 0/0 0/0 31/31 .text getTexPtrnAnmP__8daNpcF_cFPci */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daNpcF_c::getTexPtrnAnmP(char* param_0, int param_1) { - nofralloc -#include "asm/d/a/d_a_npc/getTexPtrnAnmP__8daNpcF_cFPci.s" +J3DAnmTexPattern* daNpcF_c::getTexPtrnAnmP(char* arcName, int fileIdx) { + return (J3DAnmTexPattern*)dComIfG_getObjectRes(arcName, fileIdx); } -#pragma pop /* 80152BA4-80152BE0 14D4E4 003C+00 0/0 0/0 50/50 .text getTexSRTKeyAnmP__8daNpcF_cFPci */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daNpcF_c::getTexSRTKeyAnmP(char* param_0, int param_1) { - nofralloc -#include "asm/d/a/d_a_npc/getTexSRTKeyAnmP__8daNpcF_cFPci.s" +J3DAnmTextureSRTKey* daNpcF_c::getTexSRTKeyAnmP(char* arcName, int fileIdx) { + return (J3DAnmTextureSRTKey*)dComIfG_getObjectRes(arcName, fileIdx); } -#pragma pop /* 80152BE0-80152C1C 14D520 003C+00 0/0 0/0 2/2 .text getTevRegKeyAnmP__8daNpcF_cFPci */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daNpcF_c::getTevRegKeyAnmP(char* param_0, int param_1) { - nofralloc -#include "asm/d/a/d_a_npc/getTevRegKeyAnmP__8daNpcF_cFPci.s" +J3DAnmTevRegKey* daNpcF_c::getTevRegKeyAnmP(char* arcName, int fileIdx) { + return (J3DAnmTevRegKey*)dComIfG_getObjectRes(arcName, fileIdx); } -#pragma pop /* 80152C1C-80152C80 14D55C 0064+00 0/0 0/0 38/38 .text * setMcaMorfAnm__8daNpcF_cFP18J3DAnmTransformKeyffiii */ +#ifdef NONMATCHING +// literals +BOOL daNpcF_c::setMcaMorfAnm(J3DAnmTransformKey* i_anm, f32 i_rate, f32 i_morf, int i_attr, + int i_start, int i_end) { + mMcaMorf->setAnm(i_anm, i_attr, i_morf, i_rate, (f32)i_start, (f32)i_end); + return true; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daNpcF_c::setMcaMorfAnm(J3DAnmTransformKey* param_0, f32 param_1, f32 param_2, int param_3, +asm BOOL daNpcF_c::setMcaMorfAnm(J3DAnmTransformKey* param_0, f32 param_1, f32 param_2, int param_3, int param_4, int param_5) { nofralloc #include "asm/d/a/d_a_npc/setMcaMorfAnm__8daNpcF_cFP18J3DAnmTransformKeyffiii.s" } #pragma pop +#endif /* 80152C80-80152CC4 14D5C0 0044+00 0/0 0/0 25/25 .text * setBckAnm__8daNpcF_cFP15J3DAnmTransformfiiib */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daNpcF_c::setBckAnm(J3DAnmTransform* param_0, f32 param_1, int param_2, int param_3, - int param_4, bool param_5) { - nofralloc -#include "asm/d/a/d_a_npc/setBckAnm__8daNpcF_cFP15J3DAnmTransformfiiib.s" +BOOL daNpcF_c::setBckAnm(J3DAnmTransform* i_bck, f32 i_rate, int i_attr, int i_start, + int i_end, bool i_modify) { + return mBckAnm.init(i_bck, true, i_attr, i_rate, (s16)i_start, (s16)i_end, i_modify); } -#pragma pop /* 80152CC4-80152D04 14D604 0040+00 0/0 0/0 32/32 .text * setBtpAnm__8daNpcF_cFP16J3DAnmTexPatternP12J3DModelDatafi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daNpcF_c::setBtpAnm(J3DAnmTexPattern* param_0, J3DModelData* param_1, f32 param_2, - int param_3) { - nofralloc -#include "asm/d/a/d_a_npc/setBtpAnm__8daNpcF_cFP16J3DAnmTexPatternP12J3DModelDatafi.s" +BOOL daNpcF_c::setBtpAnm(J3DAnmTexPattern* i_btp, J3DModelData* i_modelData, f32 i_rate, + int i_attr) { + return mBtpAnm.init(i_modelData, i_btp, true, i_attr, i_rate, 0, -1); } -#pragma pop /* 80152D04-80152D44 14D644 0040+00 0/0 0/0 26/26 .text * setBtkAnm__8daNpcF_cFP19J3DAnmTextureSRTKeyP12J3DModelDatafi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daNpcF_c::setBtkAnm(J3DAnmTextureSRTKey* param_0, J3DModelData* param_1, f32 param_2, - int param_3) { - nofralloc -#include "asm/d/a/d_a_npc/setBtkAnm__8daNpcF_cFP19J3DAnmTextureSRTKeyP12J3DModelDatafi.s" +BOOL daNpcF_c::setBtkAnm(J3DAnmTextureSRTKey* i_btk, J3DModelData* i_modelData, f32 i_rate, + int i_attr) { + return mBtkAnm.init(i_modelData, i_btk, true, i_attr, i_rate, 0, -1); } -#pragma pop /* 80152D44-80152D84 14D684 0040+00 0/0 0/0 2/2 .text * setBrkAnm__8daNpcF_cFP15J3DAnmTevRegKeyP12J3DModelDatafi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daNpcF_c::setBrkAnm(J3DAnmTevRegKey* param_0, J3DModelData* param_1, f32 param_2, - int param_3) { - nofralloc -#include "asm/d/a/d_a_npc/setBrkAnm__8daNpcF_cFP15J3DAnmTevRegKeyP12J3DModelDatafi.s" +BOOL daNpcF_c::setBrkAnm(J3DAnmTevRegKey* i_brk, J3DModelData* i_modelData, f32 i_rate, + int i_attr) { + return mBrkAnm.init(i_modelData, i_brk, true, i_attr, i_rate, 0, -1); } -#pragma pop /* 80152D84-80152DE0 14D6C4 005C+00 1/1 0/0 40/40 .text setEnvTevColor__8daNpcF_cFv */ #pragma push @@ -4915,37 +5074,192 @@ asm void daNpcF_c::setRoomNo() { #pragma pop /* 80152E24-80152EC4 14D764 00A0+00 1/1 0/0 0/0 .text chkEndAnm__8daNpcF_cFf */ +#ifdef NONMATCHING +BOOL daNpcF_c::chkEndAnm(f32 param_0) { + switch (mMcaMorf->getPlayMode()) { + case 2: + return mMcaMorf->isLoop(); + case 0: + case 1: + bool b = false; + bool ret = false; + if (mMcaMorf->isStop() && mMcaMorf->getPlaySpeed() == 0.0f) { + b = true; + } + if (b && param_0 != 0.0f) { + ret = true; + } + return ret; + case 3: + default: + return false; + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daNpcF_c::chkEndAnm(f32 param_0) { +asm BOOL daNpcF_c::chkEndAnm(f32 param_0) { nofralloc #include "asm/d/a/d_a_npc/chkEndAnm__8daNpcF_cFf.s" } #pragma pop +#endif /* 80152EC4-80152F40 14D804 007C+00 1/1 0/0 0/0 .text chkEndAnm__8daNpcF_cFP12J3DFrameCtrlf */ +/** + * Check whether an animation has ended or looped. + * @param frameCtrl The frame controller for the animation. + * @param prevRate The previous rate of animation. + * @return `true` if the animation has just stopped or just looped, `false` otherwise. Returns `false` if the animation is two-way (attribute 3 or 4). + */ +#ifdef NONMATCHING +BOOL daNpcF_c::chkEndAnm(J3DFrameCtrl* frameCtrl, f32 prevRate) { + switch (frameCtrl->getAttribute()) { + case 2: + return (frameCtrl->getState() >> 1) & 1; + case 0: + case 1: + bool b = false; + bool ret = false; + if (frameCtrl->getState() & 1 && frameCtrl->getRate() == 0.0f) { + b = true; + } + if (b && prevRate != 0.0f) { + ret = true; + } + return ret; + case 3: + default: + return false; + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daNpcF_c::chkEndAnm(J3DFrameCtrl* param_0, f32 param_1) { +asm BOOL daNpcF_c::chkEndAnm(J3DFrameCtrl* frameCtrl, f32 prevRate) { nofralloc #include "asm/d/a/d_a_npc/chkEndAnm__8daNpcF_cFP12J3DFrameCtrlf.s" } #pragma pop +#endif /* 80152F40-80153150 14D880 0210+00 1/1 0/0 2/2 .text playAllAnm__8daNpcF_cFv */ +#ifdef NONMATCHING +// matches once template functions located correctly +BOOL daNpcF_c::playAllAnm() { + f32 rate; + if (!(mAnmFlags & ANM_PAUSE_EXPRESSION)) { + if (mAnmFlags & ANM_PLAY_BCK) { + rate = mBckAnm.getPlaySpeed(); + if (mAnmFlags & ANM_PAUSE_BTK) { + mBckAnm.setPlaySpeed(0.0f); + } + mBckAnm.play(); + if (chkEndAnm(mBckAnm.getFrameCtrl(), rate)) { + mExpressionLoops++; + } + mBckAnm.setPlaySpeed(rate); + } + if (mAnmFlags & ANM_PLAY_BTP) { + rate = mBtpAnm.getPlaySpeed(); + if (mAnmFlags & ANM_PAUSE_BTP) { + mBtpAnm.setPlaySpeed(0.0f); + } + mBtpAnm.play(); + mBtpAnm.setPlaySpeed(rate); + if (mAnmFlags & ANM_FLAG_800) { + if (chkEndAnm(mBtpAnm.getFrameCtrl(), rate)) { + field_0x964 = cLib_getRndValue(90, 90); + mBtpAnm.setPlaySpeed(0.0f); + } + } else { + field_0x964 = 0; + } + if (cLib_calcTimer(&field_0x964) == 0) { + mBtpAnm.setPlaySpeed(1.0f); + } + } + } + if (mAnmFlags & ANM_PLAY_MORF) { + rate = mMcaMorf->getPlaySpeed(); + if (mAnmFlags & ANM_PAUSE_MORF) { + mMcaMorf->setPlaySpeed(0.0f); + mMcaMorf->play(field_0x9b0, field_0x9e8); + mMcaMorf->setPlaySpeed(rate); + } else { + mMcaMorf->play(field_0x9b0, field_0x9e8); + if (chkEndAnm(rate)) { + motionLoops++; + } + } + } + if (mAnmFlags & ANM_PLAY_BTK) { + rate = mBtkAnm.getPlaySpeed(); + if (mAnmFlags & ANM_PAUSE_BTK) { + mBtkAnm.setPlaySpeed(0.0f); + } + if (!ctrlBtk()) { + mBtkAnm.play(); + } + mBtkAnm.setPlaySpeed(rate); + } + if (mAnmFlags & ANM_PLAY_BRK) { + rate = mBrkAnm.getPlaySpeed(); + if (mAnmFlags & ANM_PAUSE_BRK) { + mBrkAnm.setPlaySpeed(0.0f); + } + mBrkAnm.play(); + mBrkAnm.setPlaySpeed(rate); + } + mAnmFlags &= ~ANM_PAUSE_ALL; + return true; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daNpcF_c::playAllAnm() { +asm BOOL daNpcF_c::playAllAnm() { nofralloc #include "asm/d/a/d_a_npc/playAllAnm__8daNpcF_cFv.s" } #pragma pop +#endif /* 80153150-80153264 14DA90 0114+00 0/0 0/0 25/25 .text * playExpressionAnm__8daNpcF_cFPPPQ28daNpcF_c18daNpcF_anmPlayData */ +/** + * Set the expression animation. + * @param anm The animation data, a two-dimensional array of data pointers, indexed first by + * the expression index and second by the expression phase. Each piece of data consists of + * an animation index for that phase of the expression, a `morf`, and the number of loops + * before moving on to the next phase (or 0 for the last phase). + */ +#ifdef NONMATCHING +void daNpcF_c::playExpressionAnm(daNpcF_c::daNpcF_anmPlayData*** anm) { + daNpcF_anmPlayData* playData = NULL; + if (anm[mExpression] != NULL) { + playData = anm[mExpression][mExpressionPhase]; + } + if (playData != NULL) { + if (mExpressionPrevPhase == mExpressionPhase && playData->numLoops > 0 && playData->numLoops <= mExpressionLoops) { + mExpressionPhase++; + playData = anm[mExpression][mExpressionPhase]; + } + if (playData != NULL && mExpressionPrevPhase != mExpressionPhase) { + setExpressionAnm(playData->idx, true); + f32 morf = playData->morf; + if (mExpressionPhase == 0 && 0.0f <= mExpressionMorfOverride) { + morf = mExpressionMorfOverride; + } + mExpressionMorf = morf; + mMcaMorf->setMorf(morf); + } + } + mExpressionPrevPhase = mExpressionPhase; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -4954,9 +5268,41 @@ asm void daNpcF_c::playExpressionAnm(daNpcF_c::daNpcF_anmPlayData*** param_0) { #include "asm/d/a/d_a_npc/playExpressionAnm__8daNpcF_cFPPPQ28daNpcF_c18daNpcF_anmPlayData.s" } #pragma pop +#endif /* 80153264-8015337C 14DBA4 0118+00 0/0 0/0 37/37 .text * playMotionAnm__8daNpcF_cFPPPQ28daNpcF_c18daNpcF_anmPlayData */ +/** + * Set the motion animation. + * @param anm The animation data, a two-dimensional array of data pointers, indexed first by + * the motion index and second by the motion phase. Each piece of data consists of + * an animation index for that phase of the motion, a `morf`, and the number of loops + * before moving on to the next phase (or 0 for the last phase). + */ +#ifdef NONMATCHING +void daNpcF_c::playMotionAnm(daNpcF_c::daNpcF_anmPlayData*** anm) { + daNpcF_anmPlayData* playData = NULL; + if (anm[mMotion] != NULL) { + playData = anm[mMotion][mMotionPhase]; + } + if (playData != NULL) { + if (mMotionPrevPhase == mMotionPhase && playData->numLoops > 0 && playData->numLoops <= motionLoops) { + mMotionPhase++; + playData = anm[mMotion][mMotionPhase]; + } + if (playData != NULL && mMotionPrevPhase != mMotionPhase) { + setMotionAnm(playData->idx, 0.0f); + f32 morf = playData->morf; + if (mMotionPhase == 0 && 0.0f <= mMotionMorfOverride) { + morf = mMotionMorfOverride; + } + mExpressionMorf = 0.0f; + mMcaMorf->setMorf(morf); + } + } + mMotionPrevPhase = mMotionPhase; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -4965,8 +5311,56 @@ asm void daNpcF_c::playMotionAnm(daNpcF_c::daNpcF_anmPlayData*** param_0) { #include "asm/d/a/d_a_npc/playMotionAnm__8daNpcF_cFPPPQ28daNpcF_c18daNpcF_anmPlayData.s" } #pragma pop +#endif /* 8015337C-80153578 14DCBC 01FC+00 0/0 0/0 34/34 .text setLookatMtx__8daNpcF_cFiPif */ +/** + * Compute the animation matrix for one of the "lookat" joints (lower body, upper body, head). + * This matrix is applied to the matrix in `mDoMtx_stack_c::now`. + * @param jointNo The index of the joint in question. + * @param jointList An array of the three indices of the joints for the lower body, the upper body, and the head. + * @param param_2 Unknown. + */ +#ifdef NONMATCHING +// literals +void daNpcF_c::setLookatMtx(int jointNo, int* jointList, f32 param_2) { + cXyz pos; + Mtx baseMtx, invParentMtx; + + if (jointList[0] == jointNo || jointList[1] == jointNo || jointList[2] == jointNo) { + field_0x91a[1].x = (s16)((f32)field_0x91a[2].x * param_2); + field_0x91a[1].y = (s16)((f32)field_0x91a[2].y * param_2); + field_0x91a[1].z = (s16)((f32)field_0x91a[2].z * param_2); + + cMtx_copy(mDoMtx_stack_c::get(), baseMtx); + pos.set(baseMtx[0][3], baseMtx[1][3], baseMtx[2][3]); + baseMtx[0][3] = baseMtx[1][3] = baseMtx[2][3] = 0.0f; + + mDoMtx_stack_c::ZXYrotS(field_0x8f0); + if (jointList[0] != jointNo) { + if (jointList[1] == jointNo) { + mDoMtx_stack_c::ZXYrotM(field_0x91a[0]); + } else if (jointList[2] == jointNo) { + mDoMtx_stack_c::ZXYrotM(field_0x91a[1]); + } + } + mDoMtx_stack_c::inverse(); + cMtx_copy(mDoMtx_stack_c::get(), invParentMtx); + + mDoMtx_stack_c::transS(pos); + mDoMtx_stack_c::XYZrotM(field_0x8f0); + if (jointList[0] == jointNo) { + mDoMtx_stack_c::ZXYrotM(field_0x91a[0]); + } else if (jointList[1] == jointNo) { + mDoMtx_stack_c::ZXYrotM(field_0x91a[1]); + } else if (jointList[2] == jointNo) { + mDoMtx_stack_c::ZXYrotM(field_0x91a[2]); + } + mDoMtx_stack_c::concat(invParentMtx); + mDoMtx_stack_c::concat(baseMtx); + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -4975,6 +5369,7 @@ asm void daNpcF_c::setLookatMtx(int param_0, int* param_1, f32 param_2) { #include "asm/d/a/d_a_npc/setLookatMtx__8daNpcF_cFiPif.s" } #pragma pop +#endif /* 80153578-80153658 14DEB8 00E0+00 0/0 0/0 13/13 .text hitChk2__8daNpcF_cFP8dCcD_Cylii */ @@ -5006,14 +5401,57 @@ asm void daNpcF_c::setDamage(int param_0, int param_1, int param_2) { /* 80153718-8015387C 14E058 0164+00 0/0 0/0 81/81 .text ctrlMsgAnm__8daNpcF_cFRiRiP10fopAc_ac_ci */ +#ifdef NONMATCHING +// will match when cLib_calcTimer located correctly +int daNpcF_c::ctrlMsgAnm(int& expression, int& motion, fopAc_ac_c* param_2, int param_3) { + expression = -1; + motion = -1; + if (param_3 || mEvtInfo.checkCommandTalk() || mCutIndex != -1) { + fopAc_ac_c* talkPartner = dComIfGp_event_getTalkPartner(); + if (talkPartner == param_2) { + fopAc_ac_c* actor = dMsgObject_c::getActor(); + if (actor->mEvtInfo.mCommand == 2 || actor->mEvtInfo.mCommand == 3) { + field_0x9a4 = (profile_method_class*)-1; + } else if (actor->mEvtInfo.mCommand == 6) { + if (actor->mSubMtd != field_0x9a4) { + expression = dComIfGp_getMesgFaceAnimeAttrInfo(); + motion = dComIfGp_getMesgAnimeAttrInfo(); + field_0x9a4 = actor->mSubMtd; + } + if (dMsgObject_c::isMouthCheck()) { + mAnmFlags &= ~ANM_PAUSE_EXPRESSION; + } else { + mAnmFlags |= ANM_PAUSE_EXPRESSION; + } + field_0x950 = 20; + } else { + if (mAnmFlags & ANM_PAUSE_EXPRESSION) { + mAnmFlags &= ~ANM_PAUSE_EXPRESSION; + } + field_0x9a4 = (profile_method_class*)-1; + } + } else { + field_0x9a4 = (profile_method_class*)-1; + if (field_0x950 != 0) { + field_0x950 = 1; + } + } + } + if (!param_3) { + cLib_calcTimer(&field_0x950); + } + return field_0x950; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daNpcF_c::ctrlMsgAnm(int& param_0, int& param_1, fopAc_ac_c* param_2, int param_3) { +asm int daNpcF_c::ctrlMsgAnm(int& param_0, int& param_1, fopAc_ac_c* param_2, int param_3) { nofralloc #include "asm/d/a/d_a_npc/ctrlMsgAnm__8daNpcF_cFRiRiP10fopAc_ac_ci.s" } #pragma pop +#endif /* 8015387C-80153954 14E1BC 00D8+00 0/0 0/0 45/45 .text orderEvent__8daNpcF_cFiPcUsUsUcUs */ @@ -5043,7 +5481,7 @@ asm void daNpcF_c::changeEvent(char* param_0, char* param_1, u16 param_2, u16 pa #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daNpcF_c::chkActorInSight(fopAc_ac_c* param_0, f32 param_1) { +asm BOOL daNpcF_c::chkActorInSight(fopAc_ac_c* param_0, f32 param_1) { nofralloc #include "asm/d/a/d_a_npc/chkActorInSight__8daNpcF_cFP10fopAc_ac_cf.s" } @@ -5051,14 +5489,46 @@ asm void daNpcF_c::chkActorInSight(fopAc_ac_c* param_0, f32 param_1) { /* 80153A78-80153BDC 14E3B8 0164+00 1/1 0/0 0/0 .text * chkActorInArea__8daNpcF_cFP10fopAc_ac_c4cXyz4cXyzs */ +/** + * Check whether an actor is in an elliptic cylinder region. + * @param actor The actor to check. + * @param center The center of the cylinder. + * @param box The dimensions of the bounding box. + * @param angY The angle to align the axis of the ellipse. + * @return Whether the actor's position vector lies in the elliptic cylinder. + */ +#ifdef NONMATCHING +// literals +BOOL daNpcF_c::chkActorInArea(fopAc_ac_c* actor, cXyz center, cXyz box, s16 angY) { + cXyz disp, relPos; + BOOL ret = false; + + mDoMtx_stack_c::YrotS(-angY); + mDoMtx_stack_c::transM(-center.x, -center.y, -center.z); + mDoMtx_stack_c::multVec(&actor->current.pos, &relPos); + + f32 boxX = fabsf(box.x); + f32 boxZ = fabsf(box.z); + f32 posX = fabsf(relPos.x); + f32 posZ = fabsf(relPos.z); + disp = center - actor->current.pos; + + if ((posX * posX) / (boxX * boxX) + (posZ * posZ) / (boxZ * boxZ) <= 1.0f && -box.y < disp.y && disp.y < box.y) { + ret = true; + } + + return ret; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daNpcF_c::chkActorInArea(fopAc_ac_c* param_0, cXyz param_1, cXyz param_2, s16 param_3) { +asm BOOL daNpcF_c::chkActorInArea(fopAc_ac_c* param_0, cXyz param_1, cXyz param_2, s16 param_3) { nofralloc #include "asm/d/a/d_a_npc/chkActorInArea__8daNpcF_cFP10fopAc_ac_c4cXyz4cXyzs.s" } #pragma pop +#endif /* ############################################################################################## */ /* 804534AC-804534B0 001AAC 0004+00 3/3 0/0 0/0 .sdata2 @11253 */ @@ -5066,14 +5536,39 @@ SECTION_SDATA2 static f32 lit_11253 = 0.5f; /* 80153BDC-80153D1C 14E51C 0140+00 0/0 0/0 25/25 .text * chkActorInAttnArea__8daNpcF_cFP10fopAc_ac_cP10fopAc_ac_ci */ +/** + * Check whether an actor lies within another actor's region of attention. + * @param actorCheck The actor to check. + * @param actorAttn The actor whose attention region we are using. + * @param distIndex An index into the distance table to determine the size of the attention region. + * @return Whether `actorCheck` is within the region of attention of `actorAttn`. + */ +#ifdef NONMATCHING +BOOL daNpcF_c::chkActorInAttnArea(fopAc_ac_c* actorCheck, fopAc_ac_c* actorAttn, int distIndex) { + BOOL ret = false; + f32 fv5 = dAttention_c::getDistTable(distIndex)->field_0x10 * -1.0f; + f32 fv4 = dAttention_c::getDistTable(distIndex)->field_0xc * -1.0f; + cXyz attnCtr = actorAttn->current.pos; + cXyz attnBox; + attnBox.x = dAttention_c::getDistTable(distIndex)->field_0x0; + attnBox.y = (fabsf(fv5) + fabsf(fv4)) * 0.5f; + attnBox.z = dAttention_c::getDistTable(distIndex)->field_0x0; + attnCtr.y = attnBox.y + (attnCtr.y + fv4); + if (chkActorInArea(actorCheck, attnCtr, attnBox, actorAttn->shape_angle.y)) { + ret = true; + } + return ret; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daNpcF_c::chkActorInAttnArea(fopAc_ac_c* param_0, fopAc_ac_c* param_1, int param_2) { +asm BOOL daNpcF_c::chkActorInAttnArea(fopAc_ac_c* actorCheck, fopAc_ac_c* actorAttn, int param_2) { nofralloc #include "asm/d/a/d_a_npc/chkActorInAttnArea__8daNpcF_cFP10fopAc_ac_cP10fopAc_ac_ci.s" } #pragma pop +#endif /* 80153D1C-80153D84 14E65C 0068+00 0/0 0/0 118/118 .text initTalk__8daNpcF_cFiPP10fopAc_ac_c */ int daNpcF_c::initTalk(int param_0, fopAc_ac_c** param_1) { @@ -5090,7 +5585,7 @@ int daNpcF_c::initTalk(int param_0, fopAc_ac_c** param_1) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daNpcF_c::talkProc(int* param_0, int param_1, fopAc_ac_c** param_2) { +asm BOOL daNpcF_c::talkProc(int* param_0, int param_1, fopAc_ac_c** param_2) { nofralloc #include "asm/d/a/d_a_npc/talkProc__8daNpcF_cFPiiPP10fopAc_ac_c.s" } @@ -5100,7 +5595,7 @@ asm void daNpcF_c::talkProc(int* param_0, int param_1, fopAc_ac_c** param_2) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daNpcF_c::turn(s16 param_0, f32 param_1, int param_2) { +asm BOOL daNpcF_c::turn(s16 param_0, f32 param_1, int param_2) { nofralloc #include "asm/d/a/d_a_npc/turn__8daNpcF_cFsfi.s" } @@ -5129,13 +5624,13 @@ asm void daNpcF_c::setAngle(s16 param_0) { /* 80154278-801542A0 14EBB8 0028+00 0/0 0/0 36/36 .text getDistTableIdx__8daNpcF_cFii */ u8 daNpcF_getDistTableIdx(int param_0, int param_1); //fwd dec to get a match -void daNpcF_c::getDistTableIdx(int param_0, int param_1) { - daNpcF_getDistTableIdx(param_0,param_1); +u8 daNpcF_c::getDistTableIdx(int param_0, int param_1) { + return daNpcF_getDistTableIdx(param_0,param_1); } /* 801542A0-8015436C 14EBE0 00CC+00 0/0 0/0 6/6 .text getEvtAreaTagP__8daNpcF_cFii */ #ifdef NONMATCHING -int daNpcF_c::getEvtAreaTagP(int param_0, int param_1) { +fopAc_ac_c* daNpcF_c::getEvtAreaTagP(int param_0, int param_1) { mFindCount = 0; mSrchActorName = PROC_TAG_EVTAREA; fpcM_Search((fpcLyIt_JudgeFunc)this->srchActor,(void*)this); @@ -5152,7 +5647,7 @@ int daNpcF_c::getEvtAreaTagP(int param_0, int param_1) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm int daNpcF_c::getEvtAreaTagP(int param_0, int param_1) { +asm fopAc_ac_c* daNpcF_c::getEvtAreaTagP(int param_0, int param_1) { nofralloc #include "asm/d/a/d_a_npc/getEvtAreaTagP__8daNpcF_cFii.s" } @@ -5181,7 +5676,7 @@ asm void daNpcF_c::getAttnActorP(int param_0, void* (*param_1)(void*, void*), f3 #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daNpcF_c::chkActorInSight2(fopAc_ac_c* param_0, f32 param_1, s16 param_2) { +asm BOOL daNpcF_c::chkActorInSight2(fopAc_ac_c* param_0, f32 param_1, s16 param_2) { nofralloc #include "asm/d/a/d_a_npc/chkActorInSight2__8daNpcF_cFP10fopAc_ac_cfs.s" } @@ -5347,7 +5842,7 @@ int daNpcF_getGroundAngle(cBgS_PolyInfo* param_0, s16 param_1) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daNpcF_getGroundAngle(cBgS_PolyInfo* param_0, s16 param_1) { +asm int daNpcF_getGroundAngle(cBgS_PolyInfo* param_0, s16 param_1) { nofralloc #include "asm/d/a/d_a_npc/daNpcF_getGroundAngle__FP13cBgS_PolyInfos.s" } @@ -5355,8 +5850,8 @@ asm void daNpcF_getGroundAngle(cBgS_PolyInfo* param_0, s16 param_1) { #endif /* 80155634-80155674 14FF74 0040+00 0/0 0/0 69/69 .text daNpcF_chkEvtBit__FUl */ -void daNpcF_chkEvtBit(u32 i_idx) { - i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[i_idx]); +BOOL daNpcF_chkEvtBit(u32 i_idx) { + return i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[i_idx]); } /* 80155674-801556B4 14FFB4 0040+00 0/0 0/0 13/13 .text daNpcF_onEvtBit__FUl */ @@ -5365,8 +5860,8 @@ void daNpcF_onEvtBit(u32 i_idx) { } /* 801556B4-801556F4 14FFF4 0040+00 0/0 0/0 6/6 .text daNpcF_chkTmpBit__FUl */ -void daNpcF_chkTmpBit(u32 i_idx) { - dComIfGs_isTmpBit(dSv_event_tmp_flag_c::tempBitLabels[i_idx]); +BOOL daNpcF_chkTmpBit(u32 i_idx) { + return dComIfGs_isTmpBit(dSv_event_tmp_flag_c::tempBitLabels[i_idx]); } /* 801556F4-80155734 150034 0040+00 0/0 0/0 6/6 .text daNpcF_onTmpBit__FUl */ @@ -5519,7 +6014,7 @@ void daNpcF_c::adjustShapeAngle() { } /* 80155BC0-80155BC8 150500 0008+00 2/0 0/0 0/0 .text main__8daNpcF_cFv */ -bool daNpcF_c::main() { +BOOL daNpcF_c::main() { return true; } @@ -5534,12 +6029,12 @@ void daNpcF_c::drawOtherMdls() { } /* 80155BD0-80155BD8 150510 0008+00 2/0 0/0 0/0 .text drawDbgInfo__8daNpcF_cFv */ -bool daNpcF_c::drawDbgInfo() { +BOOL daNpcF_c::drawDbgInfo() { return true; } /* 80155BD8-80155BE0 150518 0008+00 2/0 0/0 0/0 .text ctrlBtk__8daNpcF_cFv */ -bool daNpcF_c::ctrlBtk() { +BOOL daNpcF_c::ctrlBtk() { return false; } @@ -5635,7 +6130,8 @@ bool daNpcF_c::setExpressionBtp(int param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm daNpcF_MatAnm_c::~daNpcF_MatAnm_c() { +// asm daNpcF_MatAnm_c::~daNpcF_MatAnm_c() { +asm void __dt__15daNpcF_MatAnm_cFv() { nofralloc #include "asm/d/a/d_a_npc/__dt__15daNpcF_MatAnm_cFv.s" } diff --git a/src/d/com/d_com_inf_game.cpp b/src/d/com/d_com_inf_game.cpp index c02cefa060..9633b593ee 100644 --- a/src/d/com/d_com_inf_game.cpp +++ b/src/d/com/d_com_inf_game.cpp @@ -2388,10 +2388,14 @@ bool dComIfGs_shake_kandelaar_check() { /* 8002FA54-8002FA84 02A394 0030+00 0/0 4/4 96/96 .text dComIfGs_wolfeye_effect_check__Fv */ -bool dComIfGs_wolfeye_effect_check() { +BOOL dComIfGs_wolfeye_effect_check() { dScnKy_env_light_c* env_light = i_dKy_getEnvlight(); + BOOL ret = false; - return env_light->field_0xf3d == 1 && env_light->field_0xf40 > 0.6; + if (env_light->field_0xf3d == 1 && env_light->field_0xf40 > 0.6) { + ret = true; + } + return ret; } void dComIfGs_Grass_hide_Set(s8 param_0) { diff --git a/src/d/d_resorce.cpp b/src/d/d_resorce.cpp index f07967a6cf..dbec7bec15 100644 --- a/src/d/d_resorce.cpp +++ b/src/d/d_resorce.cpp @@ -380,7 +380,8 @@ asm J3DModelData* dRes_info_c::loaderBasicBmd(u32 param_0, void* param_1) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm J3DTevKColorAnm::~J3DTevKColorAnm() { +// asm J3DTevKColorAnm::~J3DTevKColorAnm() { +extern "C" asm void __dt__15J3DTevKColorAnmFv() { nofralloc #include "asm/d/d_resorce/__dt__15J3DTevKColorAnmFv.s" } @@ -390,7 +391,8 @@ asm J3DTevKColorAnm::~J3DTevKColorAnm() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm J3DTevKColorAnm::J3DTevKColorAnm() { +// asm J3DTevKColorAnm::J3DTevKColorAnm() { +extern "C" asm void __ct__15J3DTevKColorAnmFv() { nofralloc #include "asm/d/d_resorce/__ct__15J3DTevKColorAnmFv.s" } @@ -400,7 +402,8 @@ asm J3DTevKColorAnm::J3DTevKColorAnm() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm J3DTevColorAnm::~J3DTevColorAnm() { +// asm J3DTevColorAnm::~J3DTevColorAnm() { +extern "C" asm void __dt__14J3DTevColorAnmFv() { nofralloc #include "asm/d/d_resorce/__dt__14J3DTevColorAnmFv.s" } @@ -410,7 +413,8 @@ asm J3DTevColorAnm::~J3DTevColorAnm() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm J3DTevColorAnm::J3DTevColorAnm() { +// asm J3DTevColorAnm::J3DTevColorAnm() { +extern "C" asm void __ct__14J3DTevColorAnmFv() { nofralloc #include "asm/d/d_resorce/__ct__14J3DTevColorAnmFv.s" } @@ -474,7 +478,8 @@ extern "C" asm void __dt__11J3DTexNoAnmFv() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm J3DTexNoAnm::J3DTexNoAnm() { +// asm J3DTexNoAnm::J3DTexNoAnm() { +extern "C" asm void __ct__11J3DTexNoAnmFv() { nofralloc #include "asm/d/d_resorce/__ct__11J3DTexNoAnmFv.s" } @@ -484,7 +489,8 @@ asm J3DTexNoAnm::J3DTexNoAnm() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm J3DTexMtxAnm::~J3DTexMtxAnm() { +// asm J3DTexMtxAnm::~J3DTexMtxAnm() { +extern "C" asm void __dt__12J3DTexMtxAnmFv() { nofralloc #include "asm/d/d_resorce/__dt__12J3DTexMtxAnmFv.s" } @@ -494,7 +500,8 @@ asm J3DTexMtxAnm::~J3DTexMtxAnm() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm J3DTexMtxAnm::J3DTexMtxAnm() { +// asm J3DTexMtxAnm::J3DTexMtxAnm() { +extern "C" asm void __ct__12J3DTexMtxAnmFv() { nofralloc #include "asm/d/d_resorce/__ct__12J3DTexMtxAnmFv.s" } @@ -504,7 +511,8 @@ asm J3DTexMtxAnm::J3DTexMtxAnm() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm J3DMatColorAnm::~J3DMatColorAnm() { +// asm J3DMatColorAnm::~J3DMatColorAnm() { +extern "C" asm void __dt__14J3DMatColorAnmFv() { nofralloc #include "asm/d/d_resorce/__dt__14J3DMatColorAnmFv.s" } @@ -514,7 +522,8 @@ asm J3DMatColorAnm::~J3DMatColorAnm() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm J3DMatColorAnm::J3DMatColorAnm() { +// asm J3DMatColorAnm::J3DMatColorAnm() { +extern "C" asm void __ct__14J3DMatColorAnmFv() { nofralloc #include "asm/d/d_resorce/__ct__14J3DMatColorAnmFv.s" } @@ -1114,7 +1123,8 @@ asm void J3DAnmTransformKey::getTransform(u16 param_0, J3DTransformInfo* param_1 #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void J3DTexNoAnm::calc(u16* param_0) const { +// asm void J3DTexNoAnm::calc(u16* param_0) const { +extern "C" asm void calc__11J3DTexNoAnmCFPUs() { nofralloc #include "asm/d/d_resorce/calc__11J3DTexNoAnmCFPUs.s" } diff --git a/src/d/event/d_event.cpp b/src/d/event/d_event.cpp index 004225ab22..9ab4514e20 100644 --- a/src/d/event/d_event.cpp +++ b/src/d/event/d_event.cpp @@ -489,12 +489,12 @@ int dEvt_control_c::catchCheck(dEvt_order_c* p_order) { /* 80041D34-80041DDC 03C674 00A8+00 1/1 0/0 0/0 .text talkEnd__14dEvt_control_cFv */ int dEvt_control_c::talkEnd() { - fopAc_ac_c* actor = (fopAc_ac_c*)getPt1(); + fopAc_ac_c* actor = getPt1(); if (actor != NULL) { actor->mEvtInfo.setCommand(0); } - actor = (fopAc_ac_c*)getPt2(); + actor = getPt2(); if (actor != NULL) { actor->mEvtInfo.setCommand(0); } @@ -560,12 +560,12 @@ int dEvt_control_c::demoCheck(dEvt_order_c* p_order) { /* 80041F18-80041FA0 03C858 0088+00 1/1 0/0 0/0 .text demoEnd__14dEvt_control_cFv */ int dEvt_control_c::demoEnd() { - fopAc_ac_c* actor = (fopAc_ac_c*)getPt1(); + fopAc_ac_c* actor = getPt1(); if (actor != NULL) { actor->mEvtInfo.setCommand(0); } - actor = (fopAc_ac_c*)getPt2(); + actor = getPt2(); if (actor != NULL) { actor->mEvtInfo.setCommand(0); } @@ -597,7 +597,7 @@ int dEvt_control_c::doorCheck(dEvt_order_c* p_order) { if (commonCheck(p_order, 4, 3)) { mMode = EVT_MODE_DEMO; - fopAc_ac_c* actor2 = (fopAc_ac_c*)getPt2(); + fopAc_ac_c* actor2 = getPt2(); if (actor2 != NULL) { i_dComIfGp_getEventManager().setObjectArchive(actor2->mEvtInfo.getArchiveName()); } @@ -754,9 +754,9 @@ int dEvt_control_c::entry() { /* 80042468-80042518 03CDA8 00B0+00 1/1 8/8 388/388 .text reset__14dEvt_control_cFv */ void dEvt_control_c::reset() { if (field_0xec != 0xFF) { - void* pt1 = getPt1(); + fopAc_ac_c* pt1 = getPt1(); s16 eventIdx = i_dComIfGp_getEventManager().getEventIdx(NULL, field_0xec, -1); - void* pt2 = getPt2(); + fopAc_ac_c* pt2 = getPt2(); order(EVT_TYPE_OTHER, 3, 0x201, mHindFlag, pt1, pt2, eventIdx, field_0xec); mChangeOK = pt1; @@ -769,7 +769,7 @@ void dEvt_control_c::reset() { void dEvt_control_c::reset(void* param_0) { if (field_0xec != 0xFF) { s16 eventIdx = i_dComIfGp_getEventManager().getEventIdx((fopAc_ac_c*)param_0, field_0xec); - void* pt2 = getPt2(); + fopAc_ac_c* pt2 = getPt2(); order(EVT_TYPE_OTHER, 3, 0x201, mHindFlag, param_0, pt2, eventIdx, field_0xec); } @@ -970,7 +970,7 @@ bool dEvt_control_c::skipper() { if (startSkip) { dMsgObject_onKillMessageFlag(); - void* ptr = convPId(field_0x104); + fopAc_ac_c* ptr = convPId(field_0x104); if (ptr == NULL) { ptr = dComIfGp_getPlayer(0); } @@ -1240,8 +1240,8 @@ u32 dEvt_control_c::getPId(void* actor) { } /* 800432EC-8004331C 03DC2C 0030+00 7/7 13/13 16/16 .text convPId__14dEvt_control_cFUi */ -void* dEvt_control_c::convPId(unsigned int id) { - return fopAcIt_Judge(fpcSch_JudgeByID, &id); +fopAc_ac_c* dEvt_control_c::convPId(unsigned int id) { + return (fopAc_ac_c*)fopAcIt_Judge(fpcSch_JudgeByID, &id); } /* 8004331C-800433F0 03DC5C 00D4+00 0/0 1/1 0/0 .text getStbDemoData__14dEvt_control_cFPc diff --git a/src/d/event/d_event_manager.cpp b/src/d/event/d_event_manager.cpp index 556a3f3615..4b5e75826e 100644 --- a/src/d/event/d_event_manager.cpp +++ b/src/d/event/d_event_manager.cpp @@ -464,7 +464,7 @@ void dEvent_manager_c::Sequencer() { evtControl.onSkipFade(); } - void* actor = evtControl.getPt1(); + fopAc_ac_c* actor = evtControl.getPt1(); if (actor == NULL) { actor = evtControl.getPt2(); } diff --git a/src/f_op/f_op_actor_mng.cpp b/src/f_op/f_op_actor_mng.cpp index 112eea3aff..e0fe58f10e 100644 --- a/src/f_op/f_op_actor_mng.cpp +++ b/src/f_op/f_op_actor_mng.cpp @@ -1435,18 +1435,18 @@ s32 fopAcM_orderTreasureEvent(fopAc_ac_c* actorA, fopAc_ac_c* actorB, u16 priori /* 8001BB14-8001BB44 016454 0030+00 0/0 11/11 10/10 .text * fopAcM_getTalkEventPartner__FPC10fopAc_ac_c */ -void* fopAcM_getTalkEventPartner(fopAc_ac_c const*) { +fopAc_ac_c* fopAcM_getTalkEventPartner(fopAc_ac_c const*) { return dComIfGp_event_getTalkPartner(); } /* 8001BB44-8001BB74 016484 0030+00 0/0 5/5 0/0 .text fopAcM_getItemEventPartner__FPC10fopAc_ac_c */ -void* fopAcM_getItemEventPartner(fopAc_ac_c const*) { +fopAc_ac_c* fopAcM_getItemEventPartner(fopAc_ac_c const*) { return dComIfGp_event_getItemPartner(); } /* 8001BB74-8001BBE8 0164B4 0074+00 0/0 1/1 0/0 .text fopAcM_getEventPartner__FPC10fopAc_ac_c */ -void* fopAcM_getEventPartner(fopAc_ac_c const* actor) { +fopAc_ac_c* fopAcM_getEventPartner(fopAc_ac_c const* actor) { if (dComIfGp_event_getPt1() != actor) { return dComIfGp_event_getPt1(); } diff --git a/src/m_Do/m_Do_ext.cpp b/src/m_Do/m_Do_ext.cpp index 471fb991d6..1ef6371143 100644 --- a/src/m_Do/m_Do_ext.cpp +++ b/src/m_Do/m_Do_ext.cpp @@ -2828,8 +2828,8 @@ asm void mDoExt_McaMorfSO::calc() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void mDoExt_McaMorfSO::setAnm(J3DAnmTransform* param_0, int param_1, f32 param_2, f32 param_3, - f32 param_4, f32 param_5) { +asm void mDoExt_McaMorfSO::setAnm(J3DAnmTransform* i_anm, int i_attr, f32 i_morf, f32 i_rate, + f32 i_start, f32 i_end) { nofralloc #include "asm/m_Do/m_Do_ext/setAnm__16mDoExt_McaMorfSOFP15J3DAnmTransformiffff.s" }