From c5a25e295c33d3bd21aa3f6bc2457c9de7a27d23 Mon Sep 17 00:00:00 2001 From: Jacob Patzer <37888505+jakepatzer@users.noreply.github.com> Date: Thu, 19 Oct 2023 16:46:03 -0700 Subject: [PATCH] d_a_tag_ss_drink OK (#1964) * Use fopAcM_GetParamBit inline function in d_a_tag_myna_light * d_a_tag_ss_drink OK --- Progress.md | 8 +- .../Execute__15daTag_SSDrink_cFv.s | 30 - .../__dt__15daTag_SSDrink_cFv.s | 30 - ...g_SSDrink_cFM15daTag_SSDrink_cFPCvPvPv_i.s | 12 - .../chkEvent__15daTag_SSDrink_cFv.s | 108 --- .../create__15daTag_SSDrink_cFv.s | 44 -- .../daTag_SSDrink_Create__FPv.s | 9 - .../daTag_SSDrink_Delete__FPv.s | 9 - .../daTag_SSDrink_Draw__FPv.s | 9 - .../daTag_SSDrink_Execute__FPv.s | 9 - .../getFlowNodeNum__15daTag_SSDrink_cFv.s | 19 - .../getSwitchFromParam__15daTag_SSDrink_cFv.s | 4 - .../getTypeFromParam__15daTag_SSDrink_cFv.s | 51 -- .../getValue__15daTag_SSDrink_cFv.s | 4 - .../initialize__15daTag_SSDrink_cFv.s | 31 - .../orderEvent__15daTag_SSDrink_cFv.s | 71 -- .../restart__15daTag_SSDrink_cFv.s | 29 - .../setAttnPos__15daTag_SSDrink_cFv.s | 14 - ...g_SSDrink_cFM15daTag_SSDrink_cFPCvPvPv_i.s | 64 -- .../talk__15daTag_SSDrink_cFPv.s | 57 -- .../wait__15daTag_SSDrink_cFPv.s | 82 --- include/d/a/d_a_obj_ss_base.h | 16 + include/d/msg/d_msg_object.h | 1 + include/rel/d/a/d_a_myna/d_a_myna.h | 4 + .../a/tag/d_a_tag_ss_drink/d_a_tag_ss_drink.h | 40 ++ .../d_a_tag_myna_light/d_a_tag_myna_light.cpp | 4 +- .../tag/d_a_tag_ss_drink/d_a_tag_ss_drink.cpp | 634 +++++++----------- 27 files changed, 305 insertions(+), 1088 deletions(-) delete mode 100644 asm/rel/d/a/tag/d_a_tag_ss_drink/d_a_tag_ss_drink/Execute__15daTag_SSDrink_cFv.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_ss_drink/d_a_tag_ss_drink/__dt__15daTag_SSDrink_cFv.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_ss_drink/d_a_tag_ss_drink/checkProcess__15daTag_SSDrink_cFM15daTag_SSDrink_cFPCvPvPv_i.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_ss_drink/d_a_tag_ss_drink/chkEvent__15daTag_SSDrink_cFv.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_ss_drink/d_a_tag_ss_drink/create__15daTag_SSDrink_cFv.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_ss_drink/d_a_tag_ss_drink/daTag_SSDrink_Create__FPv.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_ss_drink/d_a_tag_ss_drink/daTag_SSDrink_Delete__FPv.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_ss_drink/d_a_tag_ss_drink/daTag_SSDrink_Draw__FPv.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_ss_drink/d_a_tag_ss_drink/daTag_SSDrink_Execute__FPv.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_ss_drink/d_a_tag_ss_drink/getFlowNodeNum__15daTag_SSDrink_cFv.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_ss_drink/d_a_tag_ss_drink/getSwitchFromParam__15daTag_SSDrink_cFv.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_ss_drink/d_a_tag_ss_drink/getTypeFromParam__15daTag_SSDrink_cFv.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_ss_drink/d_a_tag_ss_drink/getValue__15daTag_SSDrink_cFv.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_ss_drink/d_a_tag_ss_drink/initialize__15daTag_SSDrink_cFv.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_ss_drink/d_a_tag_ss_drink/orderEvent__15daTag_SSDrink_cFv.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_ss_drink/d_a_tag_ss_drink/restart__15daTag_SSDrink_cFv.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_ss_drink/d_a_tag_ss_drink/setAttnPos__15daTag_SSDrink_cFv.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_ss_drink/d_a_tag_ss_drink/setProcess__15daTag_SSDrink_cFM15daTag_SSDrink_cFPCvPvPv_i.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_ss_drink/d_a_tag_ss_drink/talk__15daTag_SSDrink_cFPv.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_ss_drink/d_a_tag_ss_drink/wait__15daTag_SSDrink_cFPv.s diff --git a/Progress.md b/Progress.md index 75d37388bbf..dfd04895977 100644 --- a/Progress.md +++ b/Progress.md @@ -21,8 +21,8 @@ Total | 41.221766% | 1657392 | 4020672 Section | Percentage | Decompiled (bytes) | Total (bytes) ---|---|---|--- main.dol | 41.221766% | 1657392 | 4020672 -RELs | 34.598017% | 3978884 | 11500324 -Total | 36.313881% | 5636276 | 15520996 +RELs | 34.619755% | 3981384 | 11500324 +Total | 36.329988% | 5638776 | 15520996 ## RELs @@ -765,7 +765,7 @@ d_a_tag_smk_emt | 100.000000% | 1572 | 1572 d_a_tag_spinner | 100.000000% | 1928 | 1928 d_a_tag_sppath | 33.333333% | 2040 | 6120 d_a_tag_spring | 100.000000% | 1896 | 1896 -d_a_tag_ss_drink | 36.483740% | 1436 | 3936 +d_a_tag_ss_drink | 100.000000% | 3936 | 3936 d_a_tag_statue_evt | 38.427948% | 2816 | 7328 d_a_tag_stream | 100.000000% | 1480 | 1480 d_a_tag_telop | 100.000000% | 1040 | 1040 @@ -785,4 +785,4 @@ d_a_vrbox2 | 44.907111% | 2804 | 6244 d_a_warp_bug | 100.000000% | 2024 | 2024 d_a_ykgr | 44.400631% | 2252 | 5072 f_pc_profile_lst | 100.000000% | 28156 | 28156 -Total | 34.598017% | 3978884 | 11500324 +Total | 34.619755% | 3981384 | 11500324 diff --git a/asm/rel/d/a/tag/d_a_tag_ss_drink/d_a_tag_ss_drink/Execute__15daTag_SSDrink_cFv.s b/asm/rel/d/a/tag/d_a_tag_ss_drink/d_a_tag_ss_drink/Execute__15daTag_SSDrink_cFv.s deleted file mode 100644 index 26eb80de22f..00000000000 --- a/asm/rel/d/a/tag/d_a_tag_ss_drink/d_a_tag_ss_drink/Execute__15daTag_SSDrink_cFv.s +++ /dev/null @@ -1,30 +0,0 @@ -lbl_80D62E64: -/* 80D62E64 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80D62E68 7C 08 02 A6 */ mflr r0 -/* 80D62E6C 90 01 00 14 */ stw r0, 0x14(r1) -/* 80D62E70 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80D62E74 7C 7F 1B 78 */ mr r31, r3 -/* 80D62E78 48 00 03 91 */ bl chkEvent__15daTag_SSDrink_cFv -/* 80D62E7C 2C 03 00 00 */ cmpwi r3, 0 -/* 80D62E80 41 82 00 30 */ beq lbl_80D62EB0 -/* 80D62E84 38 7F 05 C4 */ addi r3, r31, 0x5c4 -/* 80D62E88 4B 5F F1 91 */ bl __ptmf_test -/* 80D62E8C 2C 03 00 00 */ cmpwi r3, 0 -/* 80D62E90 41 82 00 18 */ beq lbl_80D62EA8 -/* 80D62E94 7F E3 FB 78 */ mr r3, r31 -/* 80D62E98 38 80 00 00 */ li r4, 0 -/* 80D62E9C 39 9F 05 C4 */ addi r12, r31, 0x5c4 -/* 80D62EA0 4B 5F F1 E5 */ bl __ptmf_scall -/* 80D62EA4 60 00 00 00 */ nop -lbl_80D62EA8: -/* 80D62EA8 7F E3 FB 78 */ mr r3, r31 -/* 80D62EAC 48 00 04 D9 */ bl orderEvent__15daTag_SSDrink_cFv -lbl_80D62EB0: -/* 80D62EB0 7F E3 FB 78 */ mr r3, r31 -/* 80D62EB4 48 00 03 21 */ bl setAttnPos__15daTag_SSDrink_cFv -/* 80D62EB8 38 60 00 01 */ li r3, 1 -/* 80D62EBC 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80D62EC0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80D62EC4 7C 08 03 A6 */ mtlr r0 -/* 80D62EC8 38 21 00 10 */ addi r1, r1, 0x10 -/* 80D62ECC 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_ss_drink/d_a_tag_ss_drink/__dt__15daTag_SSDrink_cFv.s b/asm/rel/d/a/tag/d_a_tag_ss_drink/d_a_tag_ss_drink/__dt__15daTag_SSDrink_cFv.s deleted file mode 100644 index 8e61ef3f3ab..00000000000 --- a/asm/rel/d/a/tag/d_a_tag_ss_drink/d_a_tag_ss_drink/__dt__15daTag_SSDrink_cFv.s +++ /dev/null @@ -1,30 +0,0 @@ -lbl_80D63724: -/* 80D63724 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80D63728 7C 08 02 A6 */ mflr r0 -/* 80D6372C 90 01 00 14 */ stw r0, 0x14(r1) -/* 80D63730 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80D63734 93 C1 00 08 */ stw r30, 8(r1) -/* 80D63738 7C 7E 1B 79 */ or. r30, r3, r3 -/* 80D6373C 7C 9F 23 78 */ mr r31, r4 -/* 80D63740 41 82 00 38 */ beq lbl_80D63778 -/* 80D63744 3C 60 80 D6 */ lis r3, __vt__15daTag_SSDrink_c@ha /* 0x80D63858@ha */ -/* 80D63748 38 03 38 58 */ addi r0, r3, __vt__15daTag_SSDrink_c@l /* 0x80D63858@l */ -/* 80D6374C 90 1E 05 68 */ stw r0, 0x568(r30) -/* 80D63750 38 7E 05 78 */ addi r3, r30, 0x578 -/* 80D63754 38 80 FF FF */ li r4, -1 -/* 80D63758 4B 4E 67 F1 */ bl __dt__10dMsgFlow_cFv -/* 80D6375C 7F C3 F3 78 */ mr r3, r30 -/* 80D63760 38 80 00 00 */ li r4, 0 -/* 80D63764 4B 3F AC ED */ bl __dt__14daObj_SSBase_cFv -/* 80D63768 7F E0 07 35 */ extsh. r0, r31 -/* 80D6376C 40 81 00 0C */ ble lbl_80D63778 -/* 80D63770 7F C3 F3 78 */ mr r3, r30 -/* 80D63774 4B 56 B5 C9 */ bl __dl__FPv -lbl_80D63778: -/* 80D63778 7F C3 F3 78 */ mr r3, r30 -/* 80D6377C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80D63780 83 C1 00 08 */ lwz r30, 8(r1) -/* 80D63784 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80D63788 7C 08 03 A6 */ mtlr r0 -/* 80D6378C 38 21 00 10 */ addi r1, r1, 0x10 -/* 80D63790 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_ss_drink/d_a_tag_ss_drink/checkProcess__15daTag_SSDrink_cFM15daTag_SSDrink_cFPCvPvPv_i.s b/asm/rel/d/a/tag/d_a_tag_ss_drink/d_a_tag_ss_drink/checkProcess__15daTag_SSDrink_cFM15daTag_SSDrink_cFPCvPvPv_i.s deleted file mode 100644 index 813625fb6be..00000000000 --- a/asm/rel/d/a/tag/d_a_tag_ss_drink/d_a_tag_ss_drink/checkProcess__15daTag_SSDrink_cFM15daTag_SSDrink_cFPCvPvPv_i.s +++ /dev/null @@ -1,12 +0,0 @@ -lbl_80D630BC: -/* 80D630BC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80D630C0 7C 08 02 A6 */ mflr r0 -/* 80D630C4 90 01 00 14 */ stw r0, 0x14(r1) -/* 80D630C8 38 63 05 C4 */ addi r3, r3, 0x5c4 -/* 80D630CC 4B 5F EF 7D */ bl __ptmf_cmpr -/* 80D630D0 7C 60 00 34 */ cntlzw r0, r3 -/* 80D630D4 54 03 D9 7E */ srwi r3, r0, 5 -/* 80D630D8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80D630DC 7C 08 03 A6 */ mtlr r0 -/* 80D630E0 38 21 00 10 */ addi r1, r1, 0x10 -/* 80D630E4 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_ss_drink/d_a_tag_ss_drink/chkEvent__15daTag_SSDrink_cFv.s b/asm/rel/d/a/tag/d_a_tag_ss_drink/d_a_tag_ss_drink/chkEvent__15daTag_SSDrink_cFv.s deleted file mode 100644 index f8549870361..00000000000 --- a/asm/rel/d/a/tag/d_a_tag_ss_drink/d_a_tag_ss_drink/chkEvent__15daTag_SSDrink_cFv.s +++ /dev/null @@ -1,108 +0,0 @@ -lbl_80D63208: -/* 80D63208 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 80D6320C 7C 08 02 A6 */ mflr r0 -/* 80D63210 90 01 00 34 */ stw r0, 0x34(r1) -/* 80D63214 39 61 00 30 */ addi r11, r1, 0x30 -/* 80D63218 4B 5F EF C5 */ bl _savegpr_29 -/* 80D6321C 7C 7E 1B 78 */ mr r30, r3 -/* 80D63220 3B E0 00 01 */ li r31, 1 -/* 80D63224 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80D63228 3B A3 61 C0 */ addi r29, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80D6322C 38 00 00 00 */ li r0, 0 -/* 80D63230 88 7D 4F AD */ lbz r3, 0x4fad(r29) -/* 80D63234 28 03 00 00 */ cmplwi r3, 0 -/* 80D63238 41 82 00 0C */ beq lbl_80D63244 -/* 80D6323C 28 03 00 02 */ cmplwi r3, 2 -/* 80D63240 40 82 00 08 */ bne lbl_80D63248 -lbl_80D63244: -/* 80D63244 38 00 00 01 */ li r0, 1 -lbl_80D63248: -/* 80D63248 54 00 06 3F */ clrlwi. r0, r0, 0x18 -/* 80D6324C 40 82 01 1C */ bne lbl_80D63368 -/* 80D63250 3B E0 00 00 */ li r31, 0 -/* 80D63254 A0 1E 00 F8 */ lhz r0, 0xf8(r30) -/* 80D63258 28 00 00 01 */ cmplwi r0, 1 -/* 80D6325C 40 82 00 C4 */ bne lbl_80D63320 -/* 80D63260 3C 60 80 D6 */ lis r3, lit_3881@ha /* 0x80D637E4@ha */ -/* 80D63264 38 83 37 E4 */ addi r4, r3, lit_3881@l /* 0x80D637E4@l */ -/* 80D63268 80 64 00 00 */ lwz r3, 0(r4) -/* 80D6326C 80 04 00 04 */ lwz r0, 4(r4) -/* 80D63270 90 61 00 14 */ stw r3, 0x14(r1) -/* 80D63274 90 01 00 18 */ stw r0, 0x18(r1) -/* 80D63278 80 04 00 08 */ lwz r0, 8(r4) -/* 80D6327C 90 01 00 1C */ stw r0, 0x1c(r1) -/* 80D63280 7F C3 F3 78 */ mr r3, r30 -/* 80D63284 38 81 00 14 */ addi r4, r1, 0x14 -/* 80D63288 4B FF FE 35 */ bl checkProcess__15daTag_SSDrink_cFM15daTag_SSDrink_cFPCvPvPv_i -/* 80D6328C 2C 03 00 00 */ cmpwi r3, 0 -/* 80D63290 41 82 00 20 */ beq lbl_80D632B0 -/* 80D63294 7F C3 F3 78 */ mr r3, r30 -/* 80D63298 38 80 00 00 */ li r4, 0 -/* 80D6329C 39 9E 05 C4 */ addi r12, r30, 0x5c4 -/* 80D632A0 4B 5F ED E5 */ bl __ptmf_scall -/* 80D632A4 60 00 00 00 */ nop -/* 80D632A8 7C 7F 1B 78 */ mr r31, r3 -/* 80D632AC 48 00 00 6C */ b lbl_80D63318 -lbl_80D632B0: -/* 80D632B0 38 00 00 00 */ li r0, 0 -/* 80D632B4 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80D632B8 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80D632BC 88 63 4F B5 */ lbz r3, 0x4fb5(r3) -/* 80D632C0 28 03 00 01 */ cmplwi r3, 1 -/* 80D632C4 41 82 00 0C */ beq lbl_80D632D0 -/* 80D632C8 28 03 00 02 */ cmplwi r3, 2 -/* 80D632CC 40 82 00 08 */ bne lbl_80D632D4 -lbl_80D632D0: -/* 80D632D0 38 00 00 01 */ li r0, 1 -lbl_80D632D4: -/* 80D632D4 54 00 06 3F */ clrlwi. r0, r0, 0x18 -/* 80D632D8 41 82 00 14 */ beq lbl_80D632EC -/* 80D632DC 38 7D 4F F8 */ addi r3, r29, 0x4ff8 -/* 80D632E0 4B 2E 55 11 */ bl ChkPresentEnd__16dEvent_manager_cFv -/* 80D632E4 2C 03 00 00 */ cmpwi r3, 0 -/* 80D632E8 41 82 00 30 */ beq lbl_80D63318 -lbl_80D632EC: -/* 80D632EC 3C 60 80 D6 */ lis r3, lit_3889@ha /* 0x80D637F0@ha */ -/* 80D632F0 38 83 37 F0 */ addi r4, r3, lit_3889@l /* 0x80D637F0@l */ -/* 80D632F4 80 64 00 00 */ lwz r3, 0(r4) -/* 80D632F8 80 04 00 04 */ lwz r0, 4(r4) -/* 80D632FC 90 61 00 08 */ stw r3, 8(r1) -/* 80D63300 90 01 00 0C */ stw r0, 0xc(r1) -/* 80D63304 80 04 00 08 */ lwz r0, 8(r4) -/* 80D63308 90 01 00 10 */ stw r0, 0x10(r1) -/* 80D6330C 7F C3 F3 78 */ mr r3, r30 -/* 80D63310 38 81 00 08 */ addi r4, r1, 8 -/* 80D63314 4B FF FD D5 */ bl setProcess__15daTag_SSDrink_cFM15daTag_SSDrink_cFPCvPvPv_i -lbl_80D63318: -/* 80D63318 7F E3 FB 78 */ mr r3, r31 -/* 80D6331C 48 00 00 50 */ b lbl_80D6336C -lbl_80D63320: -/* 80D63320 28 00 00 06 */ cmplwi r0, 6 -/* 80D63324 40 82 00 44 */ bne lbl_80D63368 -/* 80D63328 88 1E 05 D4 */ lbz r0, 0x5d4(r30) -/* 80D6332C 28 00 00 00 */ cmplwi r0, 0 -/* 80D63330 40 82 00 30 */ bne lbl_80D63360 -/* 80D63334 80 7E 05 6C */ lwz r3, 0x56c(r30) -/* 80D63338 28 03 00 00 */ cmplwi r3, 0 -/* 80D6333C 41 82 00 10 */ beq lbl_80D6334C -/* 80D63340 88 03 09 2F */ lbz r0, 0x92f(r3) -/* 80D63344 60 00 00 01 */ ori r0, r0, 1 -/* 80D63348 98 03 09 2F */ stb r0, 0x92f(r3) -lbl_80D6334C: -/* 80D6334C A0 1E 05 74 */ lhz r0, 0x574(r30) -/* 80D63350 7C 03 07 34 */ extsh r3, r0 -/* 80D63354 4B 4D 53 DD */ bl dMsgObject_addTotalPrice__Fs -/* 80D63358 38 00 00 01 */ li r0, 1 -/* 80D6335C 98 1E 05 D4 */ stb r0, 0x5d4(r30) -lbl_80D63360: -/* 80D63360 38 60 00 00 */ li r3, 0 -/* 80D63364 48 00 00 08 */ b lbl_80D6336C -lbl_80D63368: -/* 80D63368 7F E3 FB 78 */ mr r3, r31 -lbl_80D6336C: -/* 80D6336C 39 61 00 30 */ addi r11, r1, 0x30 -/* 80D63370 4B 5F EE B9 */ bl _restgpr_29 -/* 80D63374 80 01 00 34 */ lwz r0, 0x34(r1) -/* 80D63378 7C 08 03 A6 */ mtlr r0 -/* 80D6337C 38 21 00 30 */ addi r1, r1, 0x30 -/* 80D63380 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_ss_drink/d_a_tag_ss_drink/create__15daTag_SSDrink_cFv.s b/asm/rel/d/a/tag/d_a_tag_ss_drink/d_a_tag_ss_drink/create__15daTag_SSDrink_cFv.s deleted file mode 100644 index 54457d45ef5..00000000000 --- a/asm/rel/d/a/tag/d_a_tag_ss_drink/d_a_tag_ss_drink/create__15daTag_SSDrink_cFv.s +++ /dev/null @@ -1,44 +0,0 @@ -lbl_80D62DB8: -/* 80D62DB8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80D62DBC 7C 08 02 A6 */ mflr r0 -/* 80D62DC0 90 01 00 14 */ stw r0, 0x14(r1) -/* 80D62DC4 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80D62DC8 93 C1 00 08 */ stw r30, 8(r1) -/* 80D62DCC 7C 7F 1B 78 */ mr r31, r3 -/* 80D62DD0 80 03 04 A0 */ lwz r0, 0x4a0(r3) -/* 80D62DD4 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c -/* 80D62DD8 40 82 00 34 */ bne lbl_80D62E0C -/* 80D62DDC 7F E0 FB 79 */ or. r0, r31, r31 -/* 80D62DE0 41 82 00 20 */ beq lbl_80D62E00 -/* 80D62DE4 7C 1E 03 78 */ mr r30, r0 -/* 80D62DE8 4B 3F B6 11 */ bl __ct__14daObj_SSBase_cFv -/* 80D62DEC 3C 60 80 D6 */ lis r3, __vt__15daTag_SSDrink_c@ha /* 0x80D63858@ha */ -/* 80D62DF0 38 03 38 58 */ addi r0, r3, __vt__15daTag_SSDrink_c@l /* 0x80D63858@l */ -/* 80D62DF4 90 1E 05 68 */ stw r0, 0x568(r30) -/* 80D62DF8 38 7E 05 78 */ addi r3, r30, 0x578 -/* 80D62DFC 4B 4E 71 05 */ bl __ct__10dMsgFlow_cFv -lbl_80D62E00: -/* 80D62E00 80 1F 04 A0 */ lwz r0, 0x4a0(r31) -/* 80D62E04 60 00 00 08 */ ori r0, r0, 8 -/* 80D62E08 90 1F 04 A0 */ stw r0, 0x4a0(r31) -lbl_80D62E0C: -/* 80D62E0C 7F E3 FB 78 */ mr r3, r31 -/* 80D62E10 48 00 00 C9 */ bl getTypeFromParam__15daTag_SSDrink_cFv -/* 80D62E14 98 7F 05 D2 */ stb r3, 0x5d2(r31) -/* 80D62E18 7F E3 FB 78 */ mr r3, r31 -/* 80D62E1C 48 00 01 71 */ bl getFlowNodeNum__15daTag_SSDrink_cFv -/* 80D62E20 B0 7F 05 72 */ sth r3, 0x572(r31) -/* 80D62E24 7F E3 FB 78 */ mr r3, r31 -/* 80D62E28 48 00 01 A1 */ bl getValue__15daTag_SSDrink_cFv -/* 80D62E2C B0 7F 05 74 */ sth r3, 0x574(r31) -/* 80D62E30 38 00 00 00 */ li r0, 0 -/* 80D62E34 98 1F 05 D4 */ stb r0, 0x5d4(r31) -/* 80D62E38 7F E3 FB 78 */ mr r3, r31 -/* 80D62E3C 48 00 02 09 */ bl initialize__15daTag_SSDrink_cFv -/* 80D62E40 38 60 00 04 */ li r3, 4 -/* 80D62E44 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80D62E48 83 C1 00 08 */ lwz r30, 8(r1) -/* 80D62E4C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80D62E50 7C 08 03 A6 */ mtlr r0 -/* 80D62E54 38 21 00 10 */ addi r1, r1, 0x10 -/* 80D62E58 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_ss_drink/d_a_tag_ss_drink/daTag_SSDrink_Create__FPv.s b/asm/rel/d/a/tag/d_a_tag_ss_drink/d_a_tag_ss_drink/daTag_SSDrink_Create__FPv.s deleted file mode 100644 index b2873b53887..00000000000 --- a/asm/rel/d/a/tag/d_a_tag_ss_drink/d_a_tag_ss_drink/daTag_SSDrink_Create__FPv.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_80D6369C: -/* 80D6369C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80D636A0 7C 08 02 A6 */ mflr r0 -/* 80D636A4 90 01 00 14 */ stw r0, 0x14(r1) -/* 80D636A8 4B FF F7 11 */ bl create__15daTag_SSDrink_cFv -/* 80D636AC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80D636B0 7C 08 03 A6 */ mtlr r0 -/* 80D636B4 38 21 00 10 */ addi r1, r1, 0x10 -/* 80D636B8 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_ss_drink/d_a_tag_ss_drink/daTag_SSDrink_Delete__FPv.s b/asm/rel/d/a/tag/d_a_tag_ss_drink/d_a_tag_ss_drink/daTag_SSDrink_Delete__FPv.s deleted file mode 100644 index 842356299c8..00000000000 --- a/asm/rel/d/a/tag/d_a_tag_ss_drink/d_a_tag_ss_drink/daTag_SSDrink_Delete__FPv.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_80D636BC: -/* 80D636BC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80D636C0 7C 08 02 A6 */ mflr r0 -/* 80D636C4 90 01 00 14 */ stw r0, 0x14(r1) -/* 80D636C8 4B FF F7 95 */ bl Delete__15daTag_SSDrink_cFv -/* 80D636CC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80D636D0 7C 08 03 A6 */ mtlr r0 -/* 80D636D4 38 21 00 10 */ addi r1, r1, 0x10 -/* 80D636D8 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_ss_drink/d_a_tag_ss_drink/daTag_SSDrink_Draw__FPv.s b/asm/rel/d/a/tag/d_a_tag_ss_drink/d_a_tag_ss_drink/daTag_SSDrink_Draw__FPv.s deleted file mode 100644 index a9db496fddd..00000000000 --- a/asm/rel/d/a/tag/d_a_tag_ss_drink/d_a_tag_ss_drink/daTag_SSDrink_Draw__FPv.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_80D636FC: -/* 80D636FC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80D63700 7C 08 02 A6 */ mflr r0 -/* 80D63704 90 01 00 14 */ stw r0, 0x14(r1) -/* 80D63708 4B FF F7 C9 */ bl Draw__15daTag_SSDrink_cFv -/* 80D6370C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80D63710 7C 08 03 A6 */ mtlr r0 -/* 80D63714 38 21 00 10 */ addi r1, r1, 0x10 -/* 80D63718 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_ss_drink/d_a_tag_ss_drink/daTag_SSDrink_Execute__FPv.s b/asm/rel/d/a/tag/d_a_tag_ss_drink/d_a_tag_ss_drink/daTag_SSDrink_Execute__FPv.s deleted file mode 100644 index bf47d78b257..00000000000 --- a/asm/rel/d/a/tag/d_a_tag_ss_drink/d_a_tag_ss_drink/daTag_SSDrink_Execute__FPv.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_80D636DC: -/* 80D636DC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80D636E0 7C 08 02 A6 */ mflr r0 -/* 80D636E4 90 01 00 14 */ stw r0, 0x14(r1) -/* 80D636E8 4B FF F7 7D */ bl Execute__15daTag_SSDrink_cFv -/* 80D636EC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80D636F0 7C 08 03 A6 */ mtlr r0 -/* 80D636F4 38 21 00 10 */ addi r1, r1, 0x10 -/* 80D636F8 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_ss_drink/d_a_tag_ss_drink/getFlowNodeNum__15daTag_SSDrink_cFv.s b/asm/rel/d/a/tag/d_a_tag_ss_drink/d_a_tag_ss_drink/getFlowNodeNum__15daTag_SSDrink_cFv.s deleted file mode 100644 index 82121a039af..00000000000 --- a/asm/rel/d/a/tag/d_a_tag_ss_drink/d_a_tag_ss_drink/getFlowNodeNum__15daTag_SSDrink_cFv.s +++ /dev/null @@ -1,19 +0,0 @@ -lbl_80D62F8C: -/* 80D62F8C A8 03 04 B4 */ lha r0, 0x4b4(r3) -/* 80D62F90 54 04 04 3E */ clrlwi r4, r0, 0x10 -/* 80D62F94 38 00 00 00 */ li r0, 0 -/* 80D62F98 28 04 FF FF */ cmplwi r4, 0xffff -/* 80D62F9C 41 82 00 0C */ beq lbl_80D62FA8 -/* 80D62FA0 28 04 00 00 */ cmplwi r4, 0 -/* 80D62FA4 40 82 00 08 */ bne lbl_80D62FAC -lbl_80D62FA8: -/* 80D62FA8 38 00 00 01 */ li r0, 1 -lbl_80D62FAC: -/* 80D62FAC 54 00 06 3F */ clrlwi. r0, r0, 0x18 -/* 80D62FB0 3C 60 00 01 */ lis r3, 0x0001 /* 0x0000FFFF@ha */ -/* 80D62FB4 38 03 FF FF */ addi r0, r3, 0xFFFF /* 0x0000FFFF@l */ -/* 80D62FB8 40 82 00 08 */ bne lbl_80D62FC0 -/* 80D62FBC 7C 80 23 78 */ mr r0, r4 -lbl_80D62FC0: -/* 80D62FC0 54 03 04 3E */ clrlwi r3, r0, 0x10 -/* 80D62FC4 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_ss_drink/d_a_tag_ss_drink/getSwitchFromParam__15daTag_SSDrink_cFv.s b/asm/rel/d/a/tag/d_a_tag_ss_drink/d_a_tag_ss_drink/getSwitchFromParam__15daTag_SSDrink_cFv.s deleted file mode 100644 index 65f402ccc07..00000000000 --- a/asm/rel/d/a/tag/d_a_tag_ss_drink/d_a_tag_ss_drink/getSwitchFromParam__15daTag_SSDrink_cFv.s +++ /dev/null @@ -1,4 +0,0 @@ -lbl_80D62F80: -/* 80D62F80 80 03 00 B0 */ lwz r0, 0xb0(r3) -/* 80D62F84 54 03 E6 3E */ rlwinm r3, r0, 0x1c, 0x18, 0x1f -/* 80D62F88 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_ss_drink/d_a_tag_ss_drink/getTypeFromParam__15daTag_SSDrink_cFv.s b/asm/rel/d/a/tag/d_a_tag_ss_drink/d_a_tag_ss_drink/getTypeFromParam__15daTag_SSDrink_cFv.s deleted file mode 100644 index ddce2496553..00000000000 --- a/asm/rel/d/a/tag/d_a_tag_ss_drink/d_a_tag_ss_drink/getTypeFromParam__15daTag_SSDrink_cFv.s +++ /dev/null @@ -1,51 +0,0 @@ -lbl_80D62ED8: -/* 80D62ED8 80 03 00 B0 */ lwz r0, 0xb0(r3) -/* 80D62EDC 54 00 07 3E */ clrlwi r0, r0, 0x1c -/* 80D62EE0 28 00 00 06 */ cmplwi r0, 6 -/* 80D62EE4 41 81 00 8C */ bgt lbl_80D62F70 -/* 80D62EE8 3C 80 80 D6 */ lis r4, lit_3806@ha /* 0x80D637BC@ha */ -/* 80D62EEC 38 84 37 BC */ addi r4, r4, lit_3806@l /* 0x80D637BC@l */ -/* 80D62EF0 54 00 10 3A */ slwi r0, r0, 2 -/* 80D62EF4 7C 04 00 2E */ lwzx r0, r4, r0 -/* 80D62EF8 7C 09 03 A6 */ mtctr r0 -/* 80D62EFC 4E 80 04 20 */ bctr -lbl_80D62F00: -/* 80D62F00 38 00 00 69 */ li r0, 0x69 -/* 80D62F04 98 03 05 D3 */ stb r0, 0x5d3(r3) -/* 80D62F08 38 60 00 00 */ li r3, 0 -/* 80D62F0C 4E 80 00 20 */ blr -lbl_80D62F10: -/* 80D62F10 38 00 00 62 */ li r0, 0x62 -/* 80D62F14 98 03 05 D3 */ stb r0, 0x5d3(r3) -/* 80D62F18 38 60 00 01 */ li r3, 1 -/* 80D62F1C 4E 80 00 20 */ blr -lbl_80D62F20: -/* 80D62F20 38 00 00 63 */ li r0, 0x63 -/* 80D62F24 98 03 05 D3 */ stb r0, 0x5d3(r3) -/* 80D62F28 38 60 00 02 */ li r3, 2 -/* 80D62F2C 4E 80 00 20 */ blr -lbl_80D62F30: -/* 80D62F30 38 00 00 64 */ li r0, 0x64 -/* 80D62F34 98 03 05 D3 */ stb r0, 0x5d3(r3) -/* 80D62F38 38 60 00 03 */ li r3, 3 -/* 80D62F3C 4E 80 00 20 */ blr -lbl_80D62F40: -/* 80D62F40 38 00 00 68 */ li r0, 0x68 -/* 80D62F44 98 03 05 D3 */ stb r0, 0x5d3(r3) -/* 80D62F48 38 60 00 04 */ li r3, 4 -/* 80D62F4C 4E 80 00 20 */ blr -lbl_80D62F50: -/* 80D62F50 38 00 00 67 */ li r0, 0x67 -/* 80D62F54 98 03 05 D3 */ stb r0, 0x5d3(r3) -/* 80D62F58 38 60 00 05 */ li r3, 5 -/* 80D62F5C 4E 80 00 20 */ blr -lbl_80D62F60: -/* 80D62F60 38 00 00 6A */ li r0, 0x6a -/* 80D62F64 98 03 05 D3 */ stb r0, 0x5d3(r3) -/* 80D62F68 38 60 00 06 */ li r3, 6 -/* 80D62F6C 4E 80 00 20 */ blr -lbl_80D62F70: -/* 80D62F70 38 00 00 60 */ li r0, 0x60 -/* 80D62F74 98 03 05 D3 */ stb r0, 0x5d3(r3) -/* 80D62F78 38 60 00 07 */ li r3, 7 -/* 80D62F7C 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_ss_drink/d_a_tag_ss_drink/getValue__15daTag_SSDrink_cFv.s b/asm/rel/d/a/tag/d_a_tag_ss_drink/d_a_tag_ss_drink/getValue__15daTag_SSDrink_cFv.s deleted file mode 100644 index 02ec2eb4fc4..00000000000 --- a/asm/rel/d/a/tag/d_a_tag_ss_drink/d_a_tag_ss_drink/getValue__15daTag_SSDrink_cFv.s +++ /dev/null @@ -1,4 +0,0 @@ -lbl_80D62FC8: -/* 80D62FC8 80 03 00 B0 */ lwz r0, 0xb0(r3) -/* 80D62FCC 54 03 A4 3E */ rlwinm r3, r0, 0x14, 0x10, 0x1f -/* 80D62FD0 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_ss_drink/d_a_tag_ss_drink/initialize__15daTag_SSDrink_cFv.s b/asm/rel/d/a/tag/d_a_tag_ss_drink/d_a_tag_ss_drink/initialize__15daTag_SSDrink_cFv.s deleted file mode 100644 index f46d9691685..00000000000 --- a/asm/rel/d/a/tag/d_a_tag_ss_drink/d_a_tag_ss_drink/initialize__15daTag_SSDrink_cFv.s +++ /dev/null @@ -1,31 +0,0 @@ -lbl_80D63044: -/* 80D63044 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80D63048 7C 08 02 A6 */ mflr r0 -/* 80D6304C 90 01 00 14 */ stw r0, 0x14(r1) -/* 80D63050 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80D63054 7C 7F 1B 78 */ mr r31, r3 -/* 80D63058 3C 80 80 D6 */ lis r4, lit_3843@ha /* 0x80D637A0@ha */ -/* 80D6305C 38 84 37 A0 */ addi r4, r4, lit_3843@l /* 0x80D637A0@l */ -/* 80D63060 C0 24 00 00 */ lfs f1, 0(r4) -/* 80D63064 C0 44 00 04 */ lfs f2, 4(r4) -/* 80D63068 FC 60 08 90 */ fmr f3, f1 -/* 80D6306C C0 84 00 08 */ lfs f4, 8(r4) -/* 80D63070 C0 A4 00 0C */ lfs f5, 0xc(r4) -/* 80D63074 FC C0 20 90 */ fmr f6, f4 -/* 80D63078 4B 2B 74 D1 */ bl fopAcM_setCullSizeBox__FP10fopAc_ac_cffffff -/* 80D6307C 38 00 00 00 */ li r0, 0 -/* 80D63080 90 1F 05 5C */ stw r0, 0x55c(r31) -/* 80D63084 38 00 00 06 */ li r0, 6 -/* 80D63088 98 1F 05 48 */ stb r0, 0x548(r31) -/* 80D6308C 88 1F 04 9A */ lbz r0, 0x49a(r31) -/* 80D63090 60 00 00 04 */ ori r0, r0, 4 -/* 80D63094 98 1F 04 9A */ stb r0, 0x49a(r31) -/* 80D63098 7F E3 FB 78 */ mr r3, r31 -/* 80D6309C 4B FF FF 39 */ bl restart__15daTag_SSDrink_cFv -/* 80D630A0 7F E3 FB 78 */ mr r3, r31 -/* 80D630A4 4B FF FD C1 */ bl Execute__15daTag_SSDrink_cFv -/* 80D630A8 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80D630AC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80D630B0 7C 08 03 A6 */ mtlr r0 -/* 80D630B4 38 21 00 10 */ addi r1, r1, 0x10 -/* 80D630B8 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_ss_drink/d_a_tag_ss_drink/orderEvent__15daTag_SSDrink_cFv.s b/asm/rel/d/a/tag/d_a_tag_ss_drink/d_a_tag_ss_drink/orderEvent__15daTag_SSDrink_cFv.s deleted file mode 100644 index 306b9913353..00000000000 --- a/asm/rel/d/a/tag/d_a_tag_ss_drink/d_a_tag_ss_drink/orderEvent__15daTag_SSDrink_cFv.s +++ /dev/null @@ -1,71 +0,0 @@ -lbl_80D63384: -/* 80D63384 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80D63388 7C 08 02 A6 */ mflr r0 -/* 80D6338C 90 01 00 14 */ stw r0, 0x14(r1) -/* 80D63390 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80D63394 93 C1 00 08 */ stw r30, 8(r1) -/* 80D63398 7C 7F 1B 78 */ mr r31, r3 -/* 80D6339C 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80D633A0 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80D633A4 80 84 5D B4 */ lwz r4, 0x5db4(r4) -/* 80D633A8 80 04 05 74 */ lwz r0, 0x574(r4) -/* 80D633AC 54 00 01 8D */ rlwinm. r0, r0, 0, 6, 6 -/* 80D633B0 40 82 00 58 */ bne lbl_80D63408 -/* 80D633B4 4B FF FB CD */ bl getSwitchFromParam__15daTag_SSDrink_cFv -/* 80D633B8 54 64 06 3E */ clrlwi r4, r3, 0x18 -/* 80D633BC 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80D633C0 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80D633C4 88 1F 04 BA */ lbz r0, 0x4ba(r31) -/* 80D633C8 7C 05 07 74 */ extsb r5, r0 -/* 80D633CC 4B 2D 1F 95 */ bl isSwitch__10dSv_info_cCFii -/* 80D633D0 2C 03 00 00 */ cmpwi r3, 0 -/* 80D633D4 41 82 00 34 */ beq lbl_80D63408 -/* 80D633D8 88 1F 05 D3 */ lbz r0, 0x5d3(r31) -/* 80D633DC 28 00 00 60 */ cmplwi r0, 0x60 -/* 80D633E0 41 82 00 28 */ beq lbl_80D63408 -/* 80D633E4 7F E3 FB 78 */ mr r3, r31 -/* 80D633E8 4B FF FB A5 */ bl getFlowNodeNum__15daTag_SSDrink_cFv -/* 80D633EC 54 60 04 3E */ clrlwi r0, r3, 0x10 -/* 80D633F0 28 00 FF FF */ cmplwi r0, 0xffff -/* 80D633F4 41 82 00 14 */ beq lbl_80D63408 -/* 80D633F8 3C 60 40 00 */ lis r3, 0x4000 /* 0x40000008@ha */ -/* 80D633FC 38 03 00 08 */ addi r0, r3, 0x0008 /* 0x40000008@l */ -/* 80D63400 90 1F 05 5C */ stw r0, 0x55c(r31) -/* 80D63404 48 00 00 0C */ b lbl_80D63410 -lbl_80D63408: -/* 80D63408 38 00 00 00 */ li r0, 0 -/* 80D6340C 90 1F 05 5C */ stw r0, 0x55c(r31) -lbl_80D63410: -/* 80D63410 80 7F 05 5C */ lwz r3, 0x55c(r31) -/* 80D63414 3C 03 C0 00 */ addis r0, r3, 0xc000 -/* 80D63418 28 00 00 08 */ cmplwi r0, 8 -/* 80D6341C 40 82 00 58 */ bne lbl_80D63474 -/* 80D63420 7F E3 FB 78 */ mr r3, r31 -/* 80D63424 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80D63428 3B C4 61 C0 */ addi r30, r4, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80D6342C 80 9E 5D AC */ lwz r4, 0x5dac(r30) -/* 80D63430 4B 2B 75 35 */ bl fopAcM_searchActorDistanceXZ__FPC10fopAc_ac_cPC10fopAc_ac_c -/* 80D63434 3C 60 80 D6 */ lis r3, lit_3947@ha /* 0x80D637B0@ha */ -/* 80D63438 C0 03 37 B0 */ lfs f0, lit_3947@l(r3) /* 0x80D637B0@l */ -/* 80D6343C FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 80D63440 4C 40 13 82 */ cror 2, 0, 2 -/* 80D63444 40 82 00 30 */ bne lbl_80D63474 -/* 80D63448 7F E3 FB 78 */ mr r3, r31 -/* 80D6344C 80 9E 5D AC */ lwz r4, 0x5dac(r30) -/* 80D63450 4B 2B 73 4D */ bl fopAcM_seenActorAngleY__FPC10fopAc_ac_cPC10fopAc_ac_c -/* 80D63454 2C 03 20 00 */ cmpwi r3, 0x2000 -/* 80D63458 41 81 00 1C */ bgt lbl_80D63474 -/* 80D6345C 38 00 00 9D */ li r0, 0x9d -/* 80D63460 98 1F 05 45 */ stb r0, 0x545(r31) -/* 80D63464 98 1F 05 47 */ stb r0, 0x547(r31) -/* 80D63468 A0 1F 00 FA */ lhz r0, 0xfa(r31) -/* 80D6346C 60 00 00 01 */ ori r0, r0, 1 -/* 80D63470 B0 1F 00 FA */ sth r0, 0xfa(r31) -lbl_80D63474: -/* 80D63474 38 60 00 01 */ li r3, 1 -/* 80D63478 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80D6347C 83 C1 00 08 */ lwz r30, 8(r1) -/* 80D63480 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80D63484 7C 08 03 A6 */ mtlr r0 -/* 80D63488 38 21 00 10 */ addi r1, r1, 0x10 -/* 80D6348C 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_ss_drink/d_a_tag_ss_drink/restart__15daTag_SSDrink_cFv.s b/asm/rel/d/a/tag/d_a_tag_ss_drink/d_a_tag_ss_drink/restart__15daTag_SSDrink_cFv.s deleted file mode 100644 index 132a2177937..00000000000 --- a/asm/rel/d/a/tag/d_a_tag_ss_drink/d_a_tag_ss_drink/restart__15daTag_SSDrink_cFv.s +++ /dev/null @@ -1,29 +0,0 @@ -lbl_80D62FD4: -/* 80D62FD4 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80D62FD8 7C 08 02 A6 */ mflr r0 -/* 80D62FDC 90 01 00 24 */ stw r0, 0x24(r1) -/* 80D62FE0 A8 83 04 B6 */ lha r4, 0x4b6(r3) -/* 80D62FE4 38 00 00 00 */ li r0, 0 -/* 80D62FE8 B0 03 04 DC */ sth r0, 0x4dc(r3) -/* 80D62FEC B0 83 04 DE */ sth r4, 0x4de(r3) -/* 80D62FF0 B0 03 04 E0 */ sth r0, 0x4e0(r3) -/* 80D62FF4 A8 03 04 DC */ lha r0, 0x4dc(r3) -/* 80D62FF8 B0 03 04 E4 */ sth r0, 0x4e4(r3) -/* 80D62FFC A8 03 04 DE */ lha r0, 0x4de(r3) -/* 80D63000 B0 03 04 E6 */ sth r0, 0x4e6(r3) -/* 80D63004 A8 03 04 E0 */ lha r0, 0x4e0(r3) -/* 80D63008 B0 03 04 E8 */ sth r0, 0x4e8(r3) -/* 80D6300C 3C 80 80 D6 */ lis r4, lit_3829@ha /* 0x80D637D8@ha */ -/* 80D63010 38 A4 37 D8 */ addi r5, r4, lit_3829@l /* 0x80D637D8@l */ -/* 80D63014 80 85 00 00 */ lwz r4, 0(r5) -/* 80D63018 80 05 00 04 */ lwz r0, 4(r5) -/* 80D6301C 90 81 00 08 */ stw r4, 8(r1) -/* 80D63020 90 01 00 0C */ stw r0, 0xc(r1) -/* 80D63024 80 05 00 08 */ lwz r0, 8(r5) -/* 80D63028 90 01 00 10 */ stw r0, 0x10(r1) -/* 80D6302C 38 81 00 08 */ addi r4, r1, 8 -/* 80D63030 48 00 00 B9 */ bl setProcess__15daTag_SSDrink_cFM15daTag_SSDrink_cFPCvPvPv_i -/* 80D63034 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80D63038 7C 08 03 A6 */ mtlr r0 -/* 80D6303C 38 21 00 20 */ addi r1, r1, 0x20 -/* 80D63040 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_ss_drink/d_a_tag_ss_drink/setAttnPos__15daTag_SSDrink_cFv.s b/asm/rel/d/a/tag/d_a_tag_ss_drink/d_a_tag_ss_drink/setAttnPos__15daTag_SSDrink_cFv.s deleted file mode 100644 index fa2b11935d4..00000000000 --- a/asm/rel/d/a/tag/d_a_tag_ss_drink/d_a_tag_ss_drink/setAttnPos__15daTag_SSDrink_cFv.s +++ /dev/null @@ -1,14 +0,0 @@ -lbl_80D631D4: -/* 80D631D4 C0 03 04 D0 */ lfs f0, 0x4d0(r3) -/* 80D631D8 D0 03 05 50 */ stfs f0, 0x550(r3) -/* 80D631DC C0 03 04 D4 */ lfs f0, 0x4d4(r3) -/* 80D631E0 D0 03 05 54 */ stfs f0, 0x554(r3) -/* 80D631E4 C0 03 04 D8 */ lfs f0, 0x4d8(r3) -/* 80D631E8 D0 03 05 58 */ stfs f0, 0x558(r3) -/* 80D631EC C0 03 04 D0 */ lfs f0, 0x4d0(r3) -/* 80D631F0 D0 03 05 38 */ stfs f0, 0x538(r3) -/* 80D631F4 C0 03 04 D4 */ lfs f0, 0x4d4(r3) -/* 80D631F8 D0 03 05 3C */ stfs f0, 0x53c(r3) -/* 80D631FC C0 03 04 D8 */ lfs f0, 0x4d8(r3) -/* 80D63200 D0 03 05 40 */ stfs f0, 0x540(r3) -/* 80D63204 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_ss_drink/d_a_tag_ss_drink/setProcess__15daTag_SSDrink_cFM15daTag_SSDrink_cFPCvPvPv_i.s b/asm/rel/d/a/tag/d_a_tag_ss_drink/d_a_tag_ss_drink/setProcess__15daTag_SSDrink_cFM15daTag_SSDrink_cFPCvPvPv_i.s deleted file mode 100644 index e8de8c8ccfc..00000000000 --- a/asm/rel/d/a/tag/d_a_tag_ss_drink/d_a_tag_ss_drink/setProcess__15daTag_SSDrink_cFM15daTag_SSDrink_cFPCvPvPv_i.s +++ /dev/null @@ -1,64 +0,0 @@ -lbl_80D630E8: -/* 80D630E8 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 80D630EC 7C 08 02 A6 */ mflr r0 -/* 80D630F0 90 01 00 34 */ stw r0, 0x34(r1) -/* 80D630F4 39 61 00 30 */ addi r11, r1, 0x30 -/* 80D630F8 4B 5F F0 E5 */ bl _savegpr_29 -/* 80D630FC 7C 7D 1B 78 */ mr r29, r3 -/* 80D63100 7C 9E 23 78 */ mr r30, r4 -/* 80D63104 3B E0 00 00 */ li r31, 0 -/* 80D63108 80 84 00 00 */ lwz r4, 0(r4) -/* 80D6310C 80 1E 00 04 */ lwz r0, 4(r30) -/* 80D63110 90 81 00 08 */ stw r4, 8(r1) -/* 80D63114 90 01 00 0C */ stw r0, 0xc(r1) -/* 80D63118 80 1E 00 08 */ lwz r0, 8(r30) -/* 80D6311C 90 01 00 10 */ stw r0, 0x10(r1) -/* 80D63120 38 81 00 08 */ addi r4, r1, 8 -/* 80D63124 4B FF FF 99 */ bl checkProcess__15daTag_SSDrink_cFM15daTag_SSDrink_cFPCvPvPv_i -/* 80D63128 2C 03 00 00 */ cmpwi r3, 0 -/* 80D6312C 41 82 00 0C */ beq lbl_80D63138 -/* 80D63130 38 60 00 00 */ li r3, 0 -/* 80D63134 48 00 00 88 */ b lbl_80D631BC -lbl_80D63138: -/* 80D63138 38 00 00 02 */ li r0, 2 -/* 80D6313C B0 1D 05 D0 */ sth r0, 0x5d0(r29) -/* 80D63140 38 7D 05 C4 */ addi r3, r29, 0x5c4 -/* 80D63144 4B 5F EE D5 */ bl __ptmf_test -/* 80D63148 2C 03 00 00 */ cmpwi r3, 0 -/* 80D6314C 41 82 00 1C */ beq lbl_80D63168 -/* 80D63150 7F A3 EB 78 */ mr r3, r29 -/* 80D63154 38 80 00 00 */ li r4, 0 -/* 80D63158 39 9D 05 C4 */ addi r12, r29, 0x5c4 -/* 80D6315C 4B 5F EF 29 */ bl __ptmf_scall -/* 80D63160 60 00 00 00 */ nop -/* 80D63164 7C 7F 1B 78 */ mr r31, r3 -lbl_80D63168: -/* 80D63168 38 00 00 00 */ li r0, 0 -/* 80D6316C B0 1D 05 D0 */ sth r0, 0x5d0(r29) -/* 80D63170 80 7E 00 00 */ lwz r3, 0(r30) -/* 80D63174 80 1E 00 04 */ lwz r0, 4(r30) -/* 80D63178 90 7D 05 C4 */ stw r3, 0x5c4(r29) -/* 80D6317C 90 1D 05 C8 */ stw r0, 0x5c8(r29) -/* 80D63180 80 1E 00 08 */ lwz r0, 8(r30) -/* 80D63184 90 1D 05 CC */ stw r0, 0x5cc(r29) -/* 80D63188 38 7D 05 C4 */ addi r3, r29, 0x5c4 -/* 80D6318C 4B 5F EE 8D */ bl __ptmf_test -/* 80D63190 2C 03 00 00 */ cmpwi r3, 0 -/* 80D63194 41 82 00 1C */ beq lbl_80D631B0 -/* 80D63198 7F A3 EB 78 */ mr r3, r29 -/* 80D6319C 38 80 00 00 */ li r4, 0 -/* 80D631A0 39 9D 05 C4 */ addi r12, r29, 0x5c4 -/* 80D631A4 4B 5F EE E1 */ bl __ptmf_scall -/* 80D631A8 60 00 00 00 */ nop -/* 80D631AC 7C 7F 1B 78 */ mr r31, r3 -lbl_80D631B0: -/* 80D631B0 38 00 00 01 */ li r0, 1 -/* 80D631B4 B0 1D 05 D0 */ sth r0, 0x5d0(r29) -/* 80D631B8 7F E3 FB 78 */ mr r3, r31 -lbl_80D631BC: -/* 80D631BC 39 61 00 30 */ addi r11, r1, 0x30 -/* 80D631C0 4B 5F F0 69 */ bl _restgpr_29 -/* 80D631C4 80 01 00 34 */ lwz r0, 0x34(r1) -/* 80D631C8 7C 08 03 A6 */ mtlr r0 -/* 80D631CC 38 21 00 30 */ addi r1, r1, 0x30 -/* 80D631D0 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_ss_drink/d_a_tag_ss_drink/talk__15daTag_SSDrink_cFPv.s b/asm/rel/d/a/tag/d_a_tag_ss_drink/d_a_tag_ss_drink/talk__15daTag_SSDrink_cFPv.s deleted file mode 100644 index 5d184427510..00000000000 --- a/asm/rel/d/a/tag/d_a_tag_ss_drink/d_a_tag_ss_drink/talk__15daTag_SSDrink_cFPv.s +++ /dev/null @@ -1,57 +0,0 @@ -lbl_80D635C8: -/* 80D635C8 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80D635CC 7C 08 02 A6 */ mflr r0 -/* 80D635D0 90 01 00 24 */ stw r0, 0x24(r1) -/* 80D635D4 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 80D635D8 93 C1 00 18 */ stw r30, 0x18(r1) -/* 80D635DC 7C 7E 1B 78 */ mr r30, r3 -/* 80D635E0 3B E0 00 00 */ li r31, 0 -/* 80D635E4 A0 03 05 D0 */ lhz r0, 0x5d0(r3) -/* 80D635E8 2C 00 00 01 */ cmpwi r0, 1 -/* 80D635EC 41 82 00 38 */ beq lbl_80D63624 -/* 80D635F0 40 80 00 90 */ bge lbl_80D63680 -/* 80D635F4 2C 00 00 00 */ cmpwi r0, 0 -/* 80D635F8 40 80 00 0C */ bge lbl_80D63604 -/* 80D635FC 48 00 00 84 */ b lbl_80D63680 -/* 80D63600 48 00 00 80 */ b lbl_80D63680 -lbl_80D63604: -/* 80D63604 4B FF F9 89 */ bl getFlowNodeNum__15daTag_SSDrink_cFv -/* 80D63608 54 65 04 3E */ clrlwi r5, r3, 0x10 -/* 80D6360C 38 7E 05 78 */ addi r3, r30, 0x578 -/* 80D63610 7F C4 F3 78 */ mr r4, r30 -/* 80D63614 38 C0 00 00 */ li r6, 0 -/* 80D63618 38 E0 00 00 */ li r7, 0 -/* 80D6361C 4B 4E 69 75 */ bl init__10dMsgFlow_cFP10fopAc_ac_ciiPP10fopAc_ac_c -/* 80D63620 48 00 00 60 */ b lbl_80D63680 -lbl_80D63624: -/* 80D63624 38 7E 05 78 */ addi r3, r30, 0x578 -/* 80D63628 7F C4 F3 78 */ mr r4, r30 -/* 80D6362C 38 A0 00 00 */ li r5, 0 -/* 80D63630 38 C0 00 00 */ li r6, 0 -/* 80D63634 4B 4E 6C A5 */ bl doFlow__10dMsgFlow_cFP10fopAc_ac_cPP10fopAc_ac_ci -/* 80D63638 2C 03 00 00 */ cmpwi r3, 0 -/* 80D6363C 41 82 00 44 */ beq lbl_80D63680 -/* 80D63640 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80D63644 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80D63648 38 63 4E C8 */ addi r3, r3, 0x4ec8 -/* 80D6364C 4B 2D EE 1D */ bl reset__14dEvt_control_cFv -/* 80D63650 3C 60 80 D6 */ lis r3, lit_4003@ha /* 0x80D637FC@ha */ -/* 80D63654 38 83 37 FC */ addi r4, r3, lit_4003@l /* 0x80D637FC@l */ -/* 80D63658 80 64 00 00 */ lwz r3, 0(r4) -/* 80D6365C 80 04 00 04 */ lwz r0, 4(r4) -/* 80D63660 90 61 00 08 */ stw r3, 8(r1) -/* 80D63664 90 01 00 0C */ stw r0, 0xc(r1) -/* 80D63668 80 04 00 08 */ lwz r0, 8(r4) -/* 80D6366C 90 01 00 10 */ stw r0, 0x10(r1) -/* 80D63670 7F C3 F3 78 */ mr r3, r30 -/* 80D63674 38 81 00 08 */ addi r4, r1, 8 -/* 80D63678 4B FF FA 71 */ bl setProcess__15daTag_SSDrink_cFM15daTag_SSDrink_cFPCvPvPv_i -/* 80D6367C 3B E0 00 01 */ li r31, 1 -lbl_80D63680: -/* 80D63680 7F E3 FB 78 */ mr r3, r31 -/* 80D63684 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 80D63688 83 C1 00 18 */ lwz r30, 0x18(r1) -/* 80D6368C 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80D63690 7C 08 03 A6 */ mtlr r0 -/* 80D63694 38 21 00 20 */ addi r1, r1, 0x20 -/* 80D63698 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_ss_drink/d_a_tag_ss_drink/wait__15daTag_SSDrink_cFPv.s b/asm/rel/d/a/tag/d_a_tag_ss_drink/d_a_tag_ss_drink/wait__15daTag_SSDrink_cFPv.s deleted file mode 100644 index 839922d86a9..00000000000 --- a/asm/rel/d/a/tag/d_a_tag_ss_drink/d_a_tag_ss_drink/wait__15daTag_SSDrink_cFPv.s +++ /dev/null @@ -1,82 +0,0 @@ -lbl_80D63490: -/* 80D63490 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 80D63494 7C 08 02 A6 */ mflr r0 -/* 80D63498 90 01 00 34 */ stw r0, 0x34(r1) -/* 80D6349C 39 61 00 30 */ addi r11, r1, 0x30 -/* 80D634A0 4B 5F ED 3D */ bl _savegpr_29 -/* 80D634A4 7C 7F 1B 78 */ mr r31, r3 -/* 80D634A8 3C 80 80 D6 */ lis r4, lit_3843@ha /* 0x80D637A0@ha */ -/* 80D634AC 3B A4 37 A0 */ addi r29, r4, lit_3843@l /* 0x80D637A0@l */ -/* 80D634B0 A0 03 05 D0 */ lhz r0, 0x5d0(r3) -/* 80D634B4 2C 00 00 01 */ cmpwi r0, 1 -/* 80D634B8 41 82 00 10 */ beq lbl_80D634C8 -/* 80D634BC 40 80 00 F0 */ bge lbl_80D635AC -/* 80D634C0 48 00 00 EC */ b lbl_80D635AC -/* 80D634C4 48 00 00 E8 */ b lbl_80D635AC -lbl_80D634C8: -/* 80D634C8 A0 1F 00 F8 */ lhz r0, 0xf8(r31) -/* 80D634CC 28 00 00 06 */ cmplwi r0, 6 -/* 80D634D0 41 82 00 DC */ beq lbl_80D635AC -/* 80D634D4 4B FF FA AD */ bl getSwitchFromParam__15daTag_SSDrink_cFv -/* 80D634D8 54 64 06 3E */ clrlwi r4, r3, 0x18 -/* 80D634DC 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80D634E0 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80D634E4 88 1F 04 BA */ lbz r0, 0x4ba(r31) -/* 80D634E8 7C 05 07 74 */ extsb r5, r0 -/* 80D634EC 4B 2D 1E 75 */ bl isSwitch__10dSv_info_cCFii -/* 80D634F0 2C 03 00 00 */ cmpwi r3, 0 -/* 80D634F4 41 82 00 B8 */ beq lbl_80D635AC -/* 80D634F8 7F E3 FB 78 */ mr r3, r31 -/* 80D634FC 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80D63500 3B C4 61 C0 */ addi r30, r4, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80D63504 80 9E 5D AC */ lwz r4, 0x5dac(r30) -/* 80D63508 4B 2B 74 5D */ bl fopAcM_searchActorDistanceXZ__FPC10fopAc_ac_cPC10fopAc_ac_c -/* 80D6350C C0 1D 00 10 */ lfs f0, 0x10(r29) -/* 80D63510 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 80D63514 4C 40 13 82 */ cror 2, 0, 2 -/* 80D63518 40 82 00 80 */ bne lbl_80D63598 -/* 80D6351C 7F E3 FB 78 */ mr r3, r31 -/* 80D63520 80 9E 5D AC */ lwz r4, 0x5dac(r30) -/* 80D63524 4B 2B 72 79 */ bl fopAcM_seenActorAngleY__FPC10fopAc_ac_cPC10fopAc_ac_c -/* 80D63528 2C 03 20 00 */ cmpwi r3, 0x2000 -/* 80D6352C 41 81 00 6C */ bgt lbl_80D63598 -/* 80D63530 80 BE 5D AC */ lwz r5, 0x5dac(r30) -/* 80D63534 38 61 00 08 */ addi r3, r1, 8 -/* 80D63538 38 9F 05 50 */ addi r4, r31, 0x550 -/* 80D6353C 38 A5 05 50 */ addi r5, r5, 0x550 -/* 80D63540 4B 50 35 F5 */ bl __mi__4cXyzCFRC3Vec -/* 80D63544 C0 01 00 08 */ lfs f0, 8(r1) -/* 80D63548 D0 01 00 14 */ stfs f0, 0x14(r1) -/* 80D6354C C0 61 00 0C */ lfs f3, 0xc(r1) -/* 80D63550 D0 61 00 18 */ stfs f3, 0x18(r1) -/* 80D63554 C0 01 00 10 */ lfs f0, 0x10(r1) -/* 80D63558 D0 01 00 1C */ stfs f0, 0x1c(r1) -/* 80D6355C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80D63560 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80D63564 38 63 5B 54 */ addi r3, r3, 0x5b54 -/* 80D63568 7F E4 FB 78 */ mr r4, r31 -/* 80D6356C 88 BF 05 D3 */ lbz r5, 0x5d3(r31) -/* 80D63570 C0 3D 00 14 */ lfs f1, 0x14(r29) -/* 80D63574 C0 1D 00 18 */ lfs f0, 0x18(r29) -/* 80D63578 EC 40 18 2A */ fadds f2, f0, f3 -/* 80D6357C EC 63 00 28 */ fsubs f3, f3, f0 -/* 80D63580 38 C0 40 00 */ li r6, 0x4000 -/* 80D63584 38 E0 00 01 */ li r7, 1 -/* 80D63588 4B 31 04 81 */ bl request__11dAttCatch_cFP10fopAc_ac_cUcfffsi -/* 80D6358C A0 1F 00 FA */ lhz r0, 0xfa(r31) -/* 80D63590 60 00 00 40 */ ori r0, r0, 0x40 -/* 80D63594 B0 1F 00 FA */ sth r0, 0xfa(r31) -lbl_80D63598: -/* 80D63598 88 1F 05 D4 */ lbz r0, 0x5d4(r31) -/* 80D6359C 28 00 00 00 */ cmplwi r0, 0 -/* 80D635A0 41 82 00 0C */ beq lbl_80D635AC -/* 80D635A4 38 00 00 00 */ li r0, 0 -/* 80D635A8 98 1F 05 D4 */ stb r0, 0x5d4(r31) -lbl_80D635AC: -/* 80D635AC 38 60 00 01 */ li r3, 1 -/* 80D635B0 39 61 00 30 */ addi r11, r1, 0x30 -/* 80D635B4 4B 5F EC 75 */ bl _restgpr_29 -/* 80D635B8 80 01 00 34 */ lwz r0, 0x34(r1) -/* 80D635BC 7C 08 03 A6 */ mtlr r0 -/* 80D635C0 38 21 00 30 */ addi r1, r1, 0x30 -/* 80D635C4 4E 80 00 20 */ blr diff --git a/include/d/a/d_a_obj_ss_base.h b/include/d/a/d_a_obj_ss_base.h index 2c256138740..e1002470b46 100644 --- a/include/d/a/d_a_obj_ss_base.h +++ b/include/d/a/d_a_obj_ss_base.h @@ -11,6 +11,22 @@ public: /* 8015E4C8 */ virtual void setSoldOut(); /* 8015E4B0 */ virtual u32 getProcessID(); + void* getParentPtr() { + return mpParentPtr; + } + + void setFlowNodeNumber(u16 flowNodeNum) { + mFlowNodeNum = flowNodeNum; + } + + u16 getValueNumber() { + return mValueNum; + } + + void setValueNumber(u16 valueNum) { + mValueNum = valueNum; + } + private: /* 0x56C */ void* mpParentPtr; /* 0x570 */ u16 field_0x570; diff --git a/include/d/msg/d_msg_object.h b/include/d/msg/d_msg_object.h index cbf9da2064d..20a015c0bee 100644 --- a/include/d/msg/d_msg_object.h +++ b/include/d/msg/d_msg_object.h @@ -275,6 +275,7 @@ void dMsgObject_setFundRaising(u16 param_0); u16 dMsgObject_getFundRaising(); void dMsgObject_addOffering(s16 param_0); u16 dMsgObject_getOffering(); +void dMsgObject_addTotalPrice(s16 param_0); inline dMsgObject_c* dMsgObject_getMsgObjectClass() { return dComIfGp_getMsgObjectClass(); diff --git a/include/rel/d/a/d_a_myna/d_a_myna.h b/include/rel/d/a/d_a_myna/d_a_myna.h index 2e2b3811f38..4897961c688 100644 --- a/include/rel/d/a/d_a_myna/d_a_myna.h +++ b/include/rel/d/a/d_a_myna/d_a_myna.h @@ -114,6 +114,10 @@ public: daMyna_c(){}; + void onEventFlag(u8 flag) { + field_0x92F |= (1 << flag); + } + typedef void (daMyna_c::*ProcFunc)(); typedef int (daMyna_c::*BaseMotionFunc)(int); diff --git a/include/rel/d/a/tag/d_a_tag_ss_drink/d_a_tag_ss_drink.h b/include/rel/d/a/tag/d_a_tag_ss_drink/d_a_tag_ss_drink.h index 3800c20ecea..2d05695ef60 100644 --- a/include/rel/d/a/tag/d_a_tag_ss_drink/d_a_tag_ss_drink.h +++ b/include/rel/d/a/tag/d_a_tag_ss_drink/d_a_tag_ss_drink.h @@ -1,6 +1,46 @@ #ifndef D_A_TAG_SS_DRINK_H #define D_A_TAG_SS_DRINK_H +#include "d/a/d_a_obj_ss_base.h" +#include "d/com/d_com_inf_game.h" +#include "d/msg/d_msg_flow.h" #include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +class daTag_SSDrink_c; +typedef int (daTag_SSDrink_c::*ProcessFunc)(void*); + +class daTag_SSDrink_c : public daObj_SSBase_c { +public: + /* 80D62DB8 */ int create(); + /* 80D62E5C */ int Delete(); + /* 80D62E64 */ int Execute(); + /* 80D62ED0 */ int Draw(); + /* 80D62ED8 */ int getTypeFromParam(); + /* 80D62F80 */ u8 getSwitchFromParam(); + /* 80D62F8C */ u16 getFlowNodeNum(); + /* 80D62FC8 */ u16 getValue(); + /* 80D62FD4 */ void restart(); + /* 80D63044 */ void initialize(); + /* 80D630BC */ int checkProcess(ProcessFunc); + /* 80D630E8 */ int setProcess(ProcessFunc); + /* 80D631D4 */ void setAttnPos(); + /* 80D63208 */ int chkEvent(); + /* 80D63384 */ int orderEvent(); + /* 80D63490 */ int wait(void*); + /* 80D635C8 */ int talk(void*); + /* 80D63724 */ ~daTag_SSDrink_c(); + + s32 fopAcM_seenPlayerAngleY() { return fopAcM_seenActorAngleY(this, dComIfGp_getPlayer(0)); } + + /* 0x578 */ dMsgFlow_c field_0x578; + /* 0x5C4 */ ProcessFunc mProcessFunc; + /* 0x5D0 */ u16 mEventType; + /* 0x5D2 */ u8 field_0x5D2; + /* 0x5D3 */ u8 field_0x5D3; + /* 0x5D4 */ u8 field_0x5D4; + /* 0x5D5 */ u8 field_0x5D5; +}; // Size: 0x5D8 +STATIC_ASSERT(sizeof(daTag_SSDrink_c) == 0x5D8); #endif /* D_A_TAG_SS_DRINK_H */ diff --git a/rel/d/a/tag/d_a_tag_myna_light/d_a_tag_myna_light.cpp b/rel/d/a/tag/d_a_tag_myna_light/d_a_tag_myna_light.cpp index 9a8f73131dc..57f1cb72330 100644 --- a/rel/d/a/tag/d_a_tag_myna_light/d_a_tag_myna_light.cpp +++ b/rel/d/a/tag/d_a_tag_myna_light/d_a_tag_myna_light.cpp @@ -117,12 +117,12 @@ bool daTag_MynaLight_c::setTurnOnOffChange() { /* 80D5D148-80D5D154 000688 000C+00 1/1 0/0 0/0 .text getTurnOnTime__17daTag_MynaLight_cFv */ u32 daTag_MynaLight_c::getTurnOnTime() { - return fopAcM_GetParam(this) & 0x1F; + return fopAcM_GetParamBit(this, 0, 5); } /* 80D5D154-80D5D160 000694 000C+00 1/1 0/0 0/0 .text getTurnOffTime__17daTag_MynaLight_cFv */ u32 daTag_MynaLight_c::getTurnOffTime() { - return fopAcM_GetParam(this) >> 5 & 0x1F; + return fopAcM_GetParamBit(this, 5, 5); } /* 80D5D160-80D5D210 0006A0 00B0+00 1/1 0/0 0/0 .text initialize__17daTag_MynaLight_cFv diff --git a/rel/d/a/tag/d_a_tag_ss_drink/d_a_tag_ss_drink.cpp b/rel/d/a/tag/d_a_tag_ss_drink/d_a_tag_ss_drink.cpp index 06c23fdb2b3..098e6e5bd7e 100644 --- a/rel/d/a/tag/d_a_tag_ss_drink/d_a_tag_ss_drink.cpp +++ b/rel/d/a/tag/d_a_tag_ss_drink/d_a_tag_ss_drink.cpp @@ -1,473 +1,315 @@ -// -// Generated By: dol2asm -// Translation Unit: d_a_tag_ss_drink -// +/** + * d_a_tag_ss_drink.cpp + * + */ #include "rel/d/a/tag/d_a_tag_ss_drink/d_a_tag_ss_drink.h" -#include "dol2asm.h" - -// -// Types: -// - -struct fopAc_ac_c {}; - -struct daTag_SSDrink_c { - /* 80D62DB8 */ void create(); - /* 80D62E5C */ bool Delete(); - /* 80D62E64 */ void Execute(); - /* 80D62ED0 */ bool Draw(); - /* 80D62ED8 */ void getTypeFromParam(); - /* 80D62F80 */ void getSwitchFromParam(); - /* 80D62F8C */ void getFlowNodeNum(); - /* 80D62FC8 */ void getValue(); - /* 80D62FD4 */ void restart(); - /* 80D63044 */ void initialize(); - /* 80D630BC */ void checkProcess(int (daTag_SSDrink_c::*)(void*)); - /* 80D630E8 */ void setProcess(int (daTag_SSDrink_c::*)(void*)); - /* 80D631D4 */ void setAttnPos(); - /* 80D63208 */ void chkEvent(); - /* 80D63384 */ void orderEvent(); - /* 80D63490 */ void wait(void*); - /* 80D635C8 */ void talk(void*); - /* 80D63724 */ ~daTag_SSDrink_c(); -}; - -struct daObj_SSBase_c { - /* 8015E3F8 */ daObj_SSBase_c(); - /* 8015E450 */ ~daObj_SSBase_c(); - /* 8015E4B0 */ void getProcessID(); - /* 80D63794 */ void setSoldOut(); -}; - -struct dSv_info_c { - /* 80035360 */ void isSwitch(int, int) const; -}; - -struct dMsgFlow_c { - /* 80249F00 */ dMsgFlow_c(); - /* 80249F48 */ ~dMsgFlow_c(); - /* 80249F90 */ void init(fopAc_ac_c*, int, int, fopAc_ac_c**); - /* 8024A2D8 */ void doFlow(fopAc_ac_c*, fopAc_ac_c**, int); -}; - -struct dEvt_control_c { - /* 80042468 */ void reset(); -}; - -struct dEvent_manager_c { - /* 800487F0 */ void ChkPresentEnd(); -}; - -struct dAttCatch_c { - /* 80073A08 */ void request(fopAc_ac_c*, u8, f32, f32, f32, s16, int); -}; - -struct Vec {}; - -struct cXyz { - /* 80266B34 */ void operator-(Vec const&) const; -}; - -// -// Forward References: -// - -extern "C" void create__15daTag_SSDrink_cFv(); -extern "C" bool Delete__15daTag_SSDrink_cFv(); -extern "C" void Execute__15daTag_SSDrink_cFv(); -extern "C" bool Draw__15daTag_SSDrink_cFv(); -extern "C" void getTypeFromParam__15daTag_SSDrink_cFv(); -extern "C" void getSwitchFromParam__15daTag_SSDrink_cFv(); -extern "C" void getFlowNodeNum__15daTag_SSDrink_cFv(); -extern "C" void getValue__15daTag_SSDrink_cFv(); -extern "C" void restart__15daTag_SSDrink_cFv(); -extern "C" void initialize__15daTag_SSDrink_cFv(); -extern "C" void checkProcess__15daTag_SSDrink_cFM15daTag_SSDrink_cFPCvPvPv_i(); -extern "C" void setProcess__15daTag_SSDrink_cFM15daTag_SSDrink_cFPCvPvPv_i(); -extern "C" void setAttnPos__15daTag_SSDrink_cFv(); -extern "C" void chkEvent__15daTag_SSDrink_cFv(); -extern "C" void orderEvent__15daTag_SSDrink_cFv(); -extern "C" void wait__15daTag_SSDrink_cFPv(); -extern "C" void talk__15daTag_SSDrink_cFPv(); -extern "C" static void daTag_SSDrink_Create__FPv(); -extern "C" static void daTag_SSDrink_Delete__FPv(); -extern "C" static void daTag_SSDrink_Execute__FPv(); -extern "C" static void daTag_SSDrink_Draw__FPv(); -extern "C" static bool daTag_SSDrink_IsDelete__FPv(); -extern "C" void __dt__15daTag_SSDrink_cFv(); -extern "C" void setSoldOut__14daObj_SSBase_cFv(); - -// -// External References: -// - -extern "C" void fopAcM_setCullSizeBox__FP10fopAc_ac_cffffff(); -extern "C" void fopAcM_seenActorAngleY__FPC10fopAc_ac_cPC10fopAc_ac_c(); -extern "C" void fopAcM_searchActorDistanceXZ__FPC10fopAc_ac_cPC10fopAc_ac_c(); -extern "C" void isSwitch__10dSv_info_cCFii(); -extern "C" void reset__14dEvt_control_cFv(); -extern "C" void ChkPresentEnd__16dEvent_manager_cFv(); -extern "C" void request__11dAttCatch_cFP10fopAc_ac_cUcfffsi(); -extern "C" void __ct__14daObj_SSBase_cFv(); -extern "C" void __dt__14daObj_SSBase_cFv(); -extern "C" void getProcessID__14daObj_SSBase_cFv(); -extern "C" void dMsgObject_addTotalPrice__Fs(); -extern "C" void __ct__10dMsgFlow_cFv(); -extern "C" void __dt__10dMsgFlow_cFv(); -extern "C" void init__10dMsgFlow_cFP10fopAc_ac_ciiPP10fopAc_ac_c(); -extern "C" void doFlow__10dMsgFlow_cFP10fopAc_ac_cPP10fopAc_ac_ci(); -extern "C" void __mi__4cXyzCFRC3Vec(); -extern "C" void __dl__FPv(); -extern "C" void __ptmf_test(); -extern "C" void __ptmf_cmpr(); -extern "C" void __ptmf_scall(); -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]; - -// -// Declarations: -// - -/* ############################################################################################## */ -/* 80D637BC-80D637D8 -00001 001C+00 1/1 0/0 0/0 .data @3806 */ -SECTION_DATA static void* lit_3806[7] = { - (void*)(((char*)getTypeFromParam__15daTag_SSDrink_cFv) + 0x28), - (void*)(((char*)getTypeFromParam__15daTag_SSDrink_cFv) + 0x38), - (void*)(((char*)getTypeFromParam__15daTag_SSDrink_cFv) + 0x48), - (void*)(((char*)getTypeFromParam__15daTag_SSDrink_cFv) + 0x58), - (void*)(((char*)getTypeFromParam__15daTag_SSDrink_cFv) + 0x68), - (void*)(((char*)getTypeFromParam__15daTag_SSDrink_cFv) + 0x78), - (void*)(((char*)getTypeFromParam__15daTag_SSDrink_cFv) + 0x88), -}; - -/* 80D637D8-80D637E4 -00001 000C+00 1/1 0/0 0/0 .data @3829 */ -SECTION_DATA static void* lit_3829[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)wait__15daTag_SSDrink_cFPv, -}; - -/* 80D637E4-80D637F0 -00001 000C+00 1/1 0/0 0/0 .data @3881 */ -SECTION_DATA static void* lit_3881[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)talk__15daTag_SSDrink_cFPv, -}; - -/* 80D637F0-80D637FC -00001 000C+00 1/1 0/0 0/0 .data @3889 */ -SECTION_DATA static void* lit_3889[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)talk__15daTag_SSDrink_cFPv, -}; - -/* 80D637FC-80D63808 -00001 000C+00 1/1 0/0 0/0 .data @4003 */ -SECTION_DATA static void* lit_4003[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)wait__15daTag_SSDrink_cFPv, -}; - -/* 80D63808-80D63828 -00001 0020+00 1/0 0/0 0/0 .data daTag_SSDrink_MethodTable */ -SECTION_DATA static void* daTag_SSDrink_MethodTable[8] = { - (void*)daTag_SSDrink_Create__FPv, - (void*)daTag_SSDrink_Delete__FPv, - (void*)daTag_SSDrink_Execute__FPv, - (void*)daTag_SSDrink_IsDelete__FPv, - (void*)daTag_SSDrink_Draw__FPv, - (void*)NULL, - (void*)NULL, - (void*)NULL, -}; - -/* 80D63828-80D63858 -00001 0030+00 0/0 0/0 1/0 .data g_profile_TAG_SSDRINK */ -SECTION_DATA extern void* g_profile_TAG_SSDRINK[12] = { - (void*)0xFFFFFFFD, (void*)0x0007FFFD, - (void*)0x01220000, (void*)&g_fpcLf_Method, - (void*)0x000005D8, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x00460000, (void*)&daTag_SSDrink_MethodTable, - (void*)0x00064100, (void*)0x050E0000, -}; - -/* 80D63858-80D6386C 00009C 0014+00 2/2 0/0 0/0 .data __vt__15daTag_SSDrink_c */ -SECTION_DATA extern void* __vt__15daTag_SSDrink_c[5] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__15daTag_SSDrink_cFv, - (void*)setSoldOut__14daObj_SSBase_cFv, - (void*)getProcessID__14daObj_SSBase_cFv, -}; +#include "JSystem/JKernel/JKRHeap.h" +#include "d/a/d_a_obj_ss_base.h" +#include "d/a/d_a_player.h" +#include "d/com/d_com_inf_game.h" +#include "d/d_attention.h" +#include "d/d_procname.h" +#include "d/msg/d_msg_object.h" +#include "rel/d/a/d_a_myna/d_a_myna.h" /* 80D62DB8-80D62E5C 000078 00A4+00 1/1 0/0 0/0 .text create__15daTag_SSDrink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daTag_SSDrink_c::create() { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_ss_drink/d_a_tag_ss_drink/create__15daTag_SSDrink_cFv.s" +int daTag_SSDrink_c::create() { + fopAcM_SetupActor(this, daTag_SSDrink_c); + field_0x5D2 = getTypeFromParam(); + setFlowNodeNumber(getFlowNodeNum()); + setValueNumber(getValue()); + field_0x5D4 = 0; + initialize(); + return 4; } -#pragma pop /* 80D62E5C-80D62E64 00011C 0008+00 1/1 0/0 0/0 .text Delete__15daTag_SSDrink_cFv */ -bool daTag_SSDrink_c::Delete() { - return true; +int daTag_SSDrink_c::Delete() { + return 1; } /* 80D62E64-80D62ED0 000124 006C+00 2/2 0/0 0/0 .text Execute__15daTag_SSDrink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daTag_SSDrink_c::Execute() { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_ss_drink/d_a_tag_ss_drink/Execute__15daTag_SSDrink_cFv.s" +int daTag_SSDrink_c::Execute() { + if (chkEvent()) { + if (mProcessFunc) { + (this->*mProcessFunc)(0); + } + orderEvent(); + } + setAttnPos(); + return 1; } -#pragma pop /* 80D62ED0-80D62ED8 000190 0008+00 1/1 0/0 0/0 .text Draw__15daTag_SSDrink_cFv */ -bool daTag_SSDrink_c::Draw() { - return true; +int daTag_SSDrink_c::Draw() { + return 1; } /* 80D62ED8-80D62F80 000198 00A8+00 2/1 0/0 0/0 .text getTypeFromParam__15daTag_SSDrink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daTag_SSDrink_c::getTypeFromParam() { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_ss_drink/d_a_tag_ss_drink/getTypeFromParam__15daTag_SSDrink_cFv.s" +int daTag_SSDrink_c::getTypeFromParam() { + switch (fopAcM_GetParamBit(this, 0, 4)) { + case 0: + field_0x5D3 = 0x69; + return 0; + case 1: + field_0x5D3 = 0x62; + return 1; + case 2: + field_0x5D3 = 0x63; + return 2; + case 3: + field_0x5D3 = 0x64; + return 3; + case 4: + field_0x5D3 = 0x68; + return 4; + case 5: + field_0x5D3 = 0x67; + return 5; + case 6: + field_0x5D3 = 0x6A; + return 6; + default: + field_0x5D3 = 0x60; + return 7; + } } -#pragma pop /* 80D62F80-80D62F8C 000240 000C+00 2/2 0/0 0/0 .text getSwitchFromParam__15daTag_SSDrink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daTag_SSDrink_c::getSwitchFromParam() { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_ss_drink/d_a_tag_ss_drink/getSwitchFromParam__15daTag_SSDrink_cFv.s" +u8 daTag_SSDrink_c::getSwitchFromParam() { + return fopAcM_GetParamBit(this, 4, 8); } -#pragma pop /* 80D62F8C-80D62FC8 00024C 003C+00 3/3 0/0 0/0 .text getFlowNodeNum__15daTag_SSDrink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daTag_SSDrink_c::getFlowNodeNum() { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_ss_drink/d_a_tag_ss_drink/getFlowNodeNum__15daTag_SSDrink_cFv.s" +u16 daTag_SSDrink_c::getFlowNodeNum() { + u16 num = orig.angle.x; + bool bVar1 = false; + if (num == 0xFFFF || num == 0) { + bVar1 = true; + } + + u16 num2; + if (!bVar1) { + num2 = num; + } else { + num2 = 0xFFFF; + } + + return num2 & 0xFFFF; } -#pragma pop /* 80D62FC8-80D62FD4 000288 000C+00 1/1 0/0 0/0 .text getValue__15daTag_SSDrink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daTag_SSDrink_c::getValue() { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_ss_drink/d_a_tag_ss_drink/getValue__15daTag_SSDrink_cFv.s" +u16 daTag_SSDrink_c::getValue() { + return fopAcM_GetParamBit(this, 12, 16); } -#pragma pop /* 80D62FD4-80D63044 000294 0070+00 1/1 0/0 0/0 .text restart__15daTag_SSDrink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daTag_SSDrink_c::restart() { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_ss_drink/d_a_tag_ss_drink/restart__15daTag_SSDrink_cFv.s" +void daTag_SSDrink_c::restart() { + current.angle.set(0, orig.angle.y, 0); + shape_angle = current.angle; + setProcess(&daTag_SSDrink_c::wait); } -#pragma pop - -/* ############################################################################################## */ -/* 80D637A0-80D637A4 000000 0004+00 2/2 0/0 0/0 .rodata @3843 */ -SECTION_RODATA static f32 const lit_3843 = -30.0f; -COMPILER_STRIP_GATE(0x80D637A0, &lit_3843); - -/* 80D637A4-80D637A8 000004 0004+00 0/1 0/0 0/0 .rodata @3844 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3844 = -15.0f; -COMPILER_STRIP_GATE(0x80D637A4, &lit_3844); -#pragma pop - -/* 80D637A8-80D637AC 000008 0004+00 0/1 0/0 0/0 .rodata @3845 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3845 = 30.0f; -COMPILER_STRIP_GATE(0x80D637A8, &lit_3845); -#pragma pop - -/* 80D637AC-80D637B0 00000C 0004+00 0/1 0/0 0/0 .rodata @3846 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3846 = 45.0f; -COMPILER_STRIP_GATE(0x80D637AC, &lit_3846); -#pragma pop /* 80D63044-80D630BC 000304 0078+00 1/1 0/0 0/0 .text initialize__15daTag_SSDrink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daTag_SSDrink_c::initialize() { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_ss_drink/d_a_tag_ss_drink/initialize__15daTag_SSDrink_cFv.s" +void daTag_SSDrink_c::initialize() { + fopAcM_setCullSizeBox(this, -30.0f, -15.0f, -30.0f, 30.0f, 45.0f, 30.0f); + mAttentionInfo.mFlags = 0; + mAttentionInfo.field_0x0[4] = 6; + fopAcM_OnCarryType(this, fopAcM_CARRY_SIDE); + restart(); + Execute(); } -#pragma pop /* 80D630BC-80D630E8 00037C 002C+00 2/2 0/0 0/0 .text * checkProcess__15daTag_SSDrink_cFM15daTag_SSDrink_cFPCvPvPv_i */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daTag_SSDrink_c::checkProcess(int (daTag_SSDrink_c::*param_0)(void*)) { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_ss_drink/d_a_tag_ss_drink/checkProcess__15daTag_SSDrink_cFM15daTag_SSDrink_cFPCvPvPv_i.s" +int daTag_SSDrink_c::checkProcess(ProcessFunc i_processFunc) { + return mProcessFunc == i_processFunc; } -#pragma pop /* 80D630E8-80D631D4 0003A8 00EC+00 3/3 0/0 0/0 .text * setProcess__15daTag_SSDrink_cFM15daTag_SSDrink_cFPCvPvPv_i */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daTag_SSDrink_c::setProcess(int (daTag_SSDrink_c::*param_0)(void*)) { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_ss_drink/d_a_tag_ss_drink/setProcess__15daTag_SSDrink_cFM15daTag_SSDrink_cFPCvPvPv_i.s" +int daTag_SSDrink_c::setProcess(ProcessFunc i_processFunc) { + int retVal = 0; + + if (checkProcess(i_processFunc)) { + return 0; + } else { + mEventType = 2; + if (mProcessFunc) { + retVal = (this->*mProcessFunc)(0); + } + mEventType = 0; + mProcessFunc = i_processFunc; + if (mProcessFunc) { + retVal = (this->*mProcessFunc)(0); + } + mEventType = 1; + } + + return retVal; } -#pragma pop /* 80D631D4-80D63208 000494 0034+00 1/1 0/0 0/0 .text setAttnPos__15daTag_SSDrink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daTag_SSDrink_c::setAttnPos() { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_ss_drink/d_a_tag_ss_drink/setAttnPos__15daTag_SSDrink_cFv.s" +void daTag_SSDrink_c::setAttnPos() { + mAttentionInfo.mPosition = current.pos; + mEyePos = current.pos; } -#pragma pop /* 80D63208-80D63384 0004C8 017C+00 1/1 0/0 0/0 .text chkEvent__15daTag_SSDrink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daTag_SSDrink_c::chkEvent() { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_ss_drink/d_a_tag_ss_drink/chkEvent__15daTag_SSDrink_cFv.s" +int daTag_SSDrink_c::chkEvent() { + int retVal = 1; + if (!i_dComIfGp_getEvent().i_isOrderOK()) { + retVal = 0; + if (mEvtInfo.checkCommandTalk()) { + if (!checkProcess(&daTag_SSDrink_c::talk) == 0) { + retVal = (this->*mProcessFunc)(0); + } else { + if (dComIfGp_event_chkTalkXY() == 0 || dComIfGp_evmng_ChkPresentEnd() != 0) { + setProcess(&daTag_SSDrink_c::talk); + } + } + return retVal; + } else if (mEvtInfo.i_checkCommandCatch()) { + if (field_0x5D4 == 0) { + if (getParentPtr() != NULL) { + ((daMyna_c*)getParentPtr())->onEventFlag(0); + } + dMsgObject_addTotalPrice(getValueNumber()); + field_0x5D4 = 1; + } + return retVal; + } + } + return retVal; } -#pragma pop - -/* ############################################################################################## */ -/* 80D637B0-80D637B4 000010 0004+00 1/2 0/0 0/0 .rodata @3947 */ -SECTION_RODATA static f32 const lit_3947 = 160.0f; -COMPILER_STRIP_GATE(0x80D637B0, &lit_3947); /* 80D63384-80D63490 000644 010C+00 1/1 0/0 0/0 .text orderEvent__15daTag_SSDrink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daTag_SSDrink_c::orderEvent() { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_ss_drink/d_a_tag_ss_drink/orderEvent__15daTag_SSDrink_cFv.s" +int daTag_SSDrink_c::orderEvent() { + if (!dComIfGp_getLinkPlayer()->i_checkWolf() && i_fopAcM_isSwitch(this, getSwitchFromParam()) && + field_0x5D3 != 0x60 && getFlowNodeNum() != 0xFFFF) + { + mAttentionInfo.mFlags = 0x40000008; + } else { + mAttentionInfo.mFlags = 0; + } + + if (mAttentionInfo.mFlags == 0x40000008) { + if (fopAcM_searchPlayerDistanceXZ(this) <= 160.0f && fopAcM_seenPlayerAngleY() <= 0x2000) { + mAttentionInfo.field_0x0[1] = 0x9D; + mAttentionInfo.field_0x0[3] = 0x9D; + mEvtInfo.i_onCondition(1); + } + } + + return 1; } -#pragma pop - -/* ############################################################################################## */ -/* 80D637B4-80D637B8 000014 0004+00 0/1 0/0 0/0 .rodata @3991 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3991 = 200.0f; -COMPILER_STRIP_GATE(0x80D637B4, &lit_3991); -#pragma pop - -/* 80D637B8-80D637BC 000018 0004+00 0/1 0/0 0/0 .rodata @3992 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3992 = 100.0f; -COMPILER_STRIP_GATE(0x80D637B8, &lit_3992); -#pragma pop /* 80D63490-80D635C8 000750 0138+00 2/0 0/0 0/0 .text wait__15daTag_SSDrink_cFPv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daTag_SSDrink_c::wait(void* param_0) { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_ss_drink/d_a_tag_ss_drink/wait__15daTag_SSDrink_cFPv.s" +int daTag_SSDrink_c::wait(void* param_0) { + switch (mEventType) { + case 1: + if (!mEvtInfo.i_checkCommandCatch()) { + if (i_fopAcM_isSwitch(this, getSwitchFromParam())) { + if (fopAcM_searchPlayerDistanceXZ(this) <= 160.0f && + fopAcM_seenPlayerAngleY() <= 0x2000) + { + fopAc_ac_c* player = dComIfGp_getPlayer(0); + cXyz local_28 = mAttentionInfo.mPosition - player->mAttentionInfo.mPosition; + dComIfGp_att_CatchRequest(this, field_0x5D3, 200.0f, local_28.y + 100.0f, + local_28.y - 100.0f, 0x4000, 1); + mEvtInfo.i_onCondition(0x40); + } + if (field_0x5D4 != 0) { + field_0x5D4 = 0; + } + } + } + case 0: + case 2: + default: + return 1; + } } -#pragma pop /* 80D635C8-80D6369C 000888 00D4+00 2/0 0/0 0/0 .text talk__15daTag_SSDrink_cFPv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daTag_SSDrink_c::talk(void* param_0) { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_ss_drink/d_a_tag_ss_drink/talk__15daTag_SSDrink_cFPv.s" +int daTag_SSDrink_c::talk(void* param_0) { + int retVal = 0; + switch (mEventType) { + case 0: + field_0x578.init(this, getFlowNodeNum(), 0, NULL); + break; + case 1: + if (field_0x578.doFlow(this, NULL, 0) != 0) { + i_dComIfGp_event_reset(); + setProcess(&daTag_SSDrink_c::wait); + retVal = 1; + } + break; + case 2: + default: + break; + } + return retVal; } -#pragma pop /* 80D6369C-80D636BC 00095C 0020+00 1/0 0/0 0/0 .text daTag_SSDrink_Create__FPv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daTag_SSDrink_Create(void* param_0) { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_ss_drink/d_a_tag_ss_drink/daTag_SSDrink_Create__FPv.s" +static int daTag_SSDrink_Create(void* i_this) { + return static_cast(i_this)->create(); } -#pragma pop /* 80D636BC-80D636DC 00097C 0020+00 1/0 0/0 0/0 .text daTag_SSDrink_Delete__FPv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daTag_SSDrink_Delete(void* param_0) { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_ss_drink/d_a_tag_ss_drink/daTag_SSDrink_Delete__FPv.s" +static int daTag_SSDrink_Delete(void* i_this) { + return static_cast(i_this)->Delete(); } -#pragma pop /* 80D636DC-80D636FC 00099C 0020+00 1/0 0/0 0/0 .text daTag_SSDrink_Execute__FPv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daTag_SSDrink_Execute(void* param_0) { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_ss_drink/d_a_tag_ss_drink/daTag_SSDrink_Execute__FPv.s" +static int daTag_SSDrink_Execute(void* i_this) { + return static_cast(i_this)->Execute(); } -#pragma pop /* 80D636FC-80D6371C 0009BC 0020+00 1/0 0/0 0/0 .text daTag_SSDrink_Draw__FPv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daTag_SSDrink_Draw(void* param_0) { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_ss_drink/d_a_tag_ss_drink/daTag_SSDrink_Draw__FPv.s" +static int daTag_SSDrink_Draw(void* i_this) { + return static_cast(i_this)->Draw(); } -#pragma pop /* 80D6371C-80D63724 0009DC 0008+00 1/0 0/0 0/0 .text daTag_SSDrink_IsDelete__FPv */ -static bool daTag_SSDrink_IsDelete(void* param_0) { - return true; +static int daTag_SSDrink_IsDelete(void* i_this) { + return 1; } /* 80D63724-80D63794 0009E4 0070+00 1/0 0/0 0/0 .text __dt__15daTag_SSDrink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm daTag_SSDrink_c::~daTag_SSDrink_c() { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_ss_drink/d_a_tag_ss_drink/__dt__15daTag_SSDrink_cFv.s" -} -#pragma pop +daTag_SSDrink_c::~daTag_SSDrink_c() {} -/* 80D63794-80D63798 000A54 0004+00 1/0 0/0 0/0 .text setSoldOut__14daObj_SSBase_cFv */ +/* 80D63794-80D63798 000A54 0004+00 1/0 0/0 0/0 .text setSoldOut__14daObj_SSBase_cFv + */ void daObj_SSBase_c::setSoldOut() { /* empty function */ } + +/* ############################################################################################## */ +/* 80D63808-80D63828 -00001 0020+00 1/0 0/0 0/0 .data daTag_SSDrink_MethodTable */ +static actor_method_class daTag_SSDrink_MethodTable = { + (process_method_func)daTag_SSDrink_Create, (process_method_func)daTag_SSDrink_Delete, + (process_method_func)daTag_SSDrink_Execute, (process_method_func)daTag_SSDrink_IsDelete, + (process_method_func)daTag_SSDrink_Draw, +}; + +/* 80D63828-80D63858 -00001 0030+00 0/0 0/0 1/0 .data g_profile_TAG_SSDRINK */ +extern actor_process_profile_definition g_profile_TAG_SSDRINK = { + fpcLy_CURRENT_e, + 7, + fpcLy_CURRENT_e, + PROC_TAG_SSDRINK, + &g_fpcLf_Method.mBase, + sizeof(daTag_SSDrink_c), + 0, + 0, + &g_fopAc_Method.base, + 0x46, + &daTag_SSDrink_MethodTable, + 0x64100, + 5, + fopAc_CULLBOX_CUSTOM_e, +};