diff --git a/asm/d/event/d_event_data/advanceCutLocal__11dEvDtBase_cFP12dEvDtStaff_c.s b/asm/d/event/d_event_data/advanceCutLocal__11dEvDtBase_cFP12dEvDtStaff_c.s deleted file mode 100644 index 974077bef5..0000000000 --- a/asm/d/event/d_event_data/advanceCutLocal__11dEvDtBase_cFP12dEvDtStaff_c.s +++ /dev/null @@ -1,62 +0,0 @@ -lbl_800462FC: -/* 800462FC 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80046300 7C 08 02 A6 */ mflr r0 -/* 80046304 90 01 00 24 */ stw r0, 0x24(r1) -/* 80046308 39 61 00 20 */ addi r11, r1, 0x20 -/* 8004630C 48 31 BE CD */ bl _savegpr_28 -/* 80046310 7C 7C 1B 78 */ mr r28, r3 -/* 80046314 7C 9D 23 78 */ mr r29, r4 -/* 80046318 80 63 00 0C */ lwz r3, 0xc(r3) -/* 8004631C 80 04 00 38 */ lwz r0, 0x38(r4) -/* 80046320 1C 00 00 50 */ mulli r0, r0, 0x50 -/* 80046324 7F C3 02 14 */ add r30, r3, r0 -/* 80046328 80 9E 00 34 */ lwz r4, 0x34(r30) -/* 8004632C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80046330 3B E3 61 C0 */ addi r31, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80046334 38 7F 51 B4 */ addi r3, r31, 0x51b4 -/* 80046338 4B FF DA 29 */ bl flagCheck__11dEvDtFlag_cFi -/* 8004633C 2C 03 00 00 */ cmpwi r3, 0 -/* 80046340 41 82 00 78 */ beq lbl_800463B8 -/* 80046344 80 1E 00 3C */ lwz r0, 0x3c(r30) -/* 80046348 2C 00 FF FF */ cmpwi r0, -1 -/* 8004634C 41 82 00 6C */ beq lbl_800463B8 -/* 80046350 80 7C 00 0C */ lwz r3, 0xc(r28) -/* 80046354 1C 00 00 50 */ mulli r0, r0, 0x50 -/* 80046358 7C 63 02 14 */ add r3, r3, r0 -/* 8004635C 4B FF FD 4D */ bl startCheck__10dEvDtCut_cFv -/* 80046360 2C 03 00 00 */ cmpwi r3, 0 -/* 80046364 41 82 00 54 */ beq lbl_800463B8 -/* 80046368 40 80 00 10 */ bge lbl_80046378 -/* 8004636C 2C 03 FF FF */ cmpwi r3, -1 -/* 80046370 40 80 00 14 */ bge lbl_80046384 -/* 80046374 48 00 00 44 */ b lbl_800463B8 -lbl_80046378: -/* 80046378 2C 03 00 02 */ cmpwi r3, 2 -/* 8004637C 40 80 00 3C */ bge lbl_800463B8 -/* 80046380 48 00 00 18 */ b lbl_80046398 -lbl_80046384: -/* 80046384 7F A3 EB 78 */ mr r3, r29 -/* 80046388 80 9E 00 3C */ lwz r4, 0x3c(r30) -/* 8004638C 4B FF DD E5 */ bl advanceCut__12dEvDtStaff_cFi -/* 80046390 38 60 00 01 */ li r3, 1 -/* 80046394 48 00 00 30 */ b lbl_800463C4 -lbl_80046398: -/* 80046398 80 9E 00 34 */ lwz r4, 0x34(r30) -/* 8004639C 38 7F 51 B4 */ addi r3, r31, 0x51b4 -/* 800463A0 4B FF DA 29 */ bl flagSet__11dEvDtFlag_cFi -/* 800463A4 7F A3 EB 78 */ mr r3, r29 -/* 800463A8 80 9E 00 3C */ lwz r4, 0x3c(r30) -/* 800463AC 4B FF DD C5 */ bl advanceCut__12dEvDtStaff_cFi -/* 800463B0 38 60 00 01 */ li r3, 1 -/* 800463B4 48 00 00 10 */ b lbl_800463C4 -lbl_800463B8: -/* 800463B8 38 00 00 00 */ li r0, 0 -/* 800463BC 98 1D 00 40 */ stb r0, 0x40(r29) -/* 800463C0 38 60 00 00 */ li r3, 0 -lbl_800463C4: -/* 800463C4 39 61 00 20 */ addi r11, r1, 0x20 -/* 800463C8 48 31 BE 5D */ bl _restgpr_28 -/* 800463CC 80 01 00 24 */ lwz r0, 0x24(r1) -/* 800463D0 7C 08 03 A6 */ mtlr r0 -/* 800463D4 38 21 00 20 */ addi r1, r1, 0x20 -/* 800463D8 4E 80 00 20 */ blr diff --git a/asm/d/event/d_event_data/finishCheck__12dEvDtEvent_cFv.s b/asm/d/event/d_event_data/finishCheck__12dEvDtEvent_cFv.s deleted file mode 100644 index 945882be16..0000000000 --- a/asm/d/event/d_event_data/finishCheck__12dEvDtEvent_cFv.s +++ /dev/null @@ -1,38 +0,0 @@ -lbl_80043E78: -/* 80043E78 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80043E7C 7C 08 02 A6 */ mflr r0 -/* 80043E80 90 01 00 24 */ stw r0, 0x24(r1) -/* 80043E84 39 61 00 20 */ addi r11, r1, 0x20 -/* 80043E88 48 31 E3 51 */ bl _savegpr_28 -/* 80043E8C 7C 7C 1B 78 */ mr r28, r3 -/* 80043E90 3B A0 00 00 */ li r29, 0 -/* 80043E94 3B E0 00 00 */ li r31, 0 -/* 80043E98 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80043E9C 3B C3 61 C0 */ addi r30, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -lbl_80043EA0: -/* 80043EA0 38 1F 00 88 */ addi r0, r31, 0x88 -/* 80043EA4 7C 9C 00 2E */ lwzx r4, r28, r0 -/* 80043EA8 2C 04 FF FF */ cmpwi r4, -1 -/* 80043EAC 40 82 00 0C */ bne lbl_80043EB8 -/* 80043EB0 38 60 00 01 */ li r3, 1 -/* 80043EB4 48 00 00 30 */ b lbl_80043EE4 -lbl_80043EB8: -/* 80043EB8 38 7E 51 B4 */ addi r3, r30, 0x51b4 -/* 80043EBC 4B FF FE A5 */ bl flagCheck__11dEvDtFlag_cFi -/* 80043EC0 2C 03 00 00 */ cmpwi r3, 0 -/* 80043EC4 40 82 00 0C */ bne lbl_80043ED0 -/* 80043EC8 38 60 00 00 */ li r3, 0 -/* 80043ECC 48 00 00 18 */ b lbl_80043EE4 -lbl_80043ED0: -/* 80043ED0 3B BD 00 01 */ addi r29, r29, 1 -/* 80043ED4 2C 1D 00 03 */ cmpwi r29, 3 -/* 80043ED8 3B FF 00 04 */ addi r31, r31, 4 -/* 80043EDC 41 80 FF C4 */ blt lbl_80043EA0 -/* 80043EE0 38 60 00 01 */ li r3, 1 -lbl_80043EE4: -/* 80043EE4 39 61 00 20 */ addi r11, r1, 0x20 -/* 80043EE8 48 31 E3 3D */ bl _restgpr_28 -/* 80043EEC 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80043EF0 7C 08 03 A6 */ mtlr r0 -/* 80043EF4 38 21 00 20 */ addi r1, r1, 0x20 -/* 80043EF8 4E 80 00 20 */ blr diff --git a/asm/d/event/d_event_data/flagCheck__11dEvDtFlag_cFi.s b/asm/d/event/d_event_data/flagCheck__11dEvDtFlag_cFi.s deleted file mode 100644 index 24c2daa630..0000000000 --- a/asm/d/event/d_event_data/flagCheck__11dEvDtFlag_cFi.s +++ /dev/null @@ -1,29 +0,0 @@ -lbl_80043D60: -/* 80043D60 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80043D64 7C 08 02 A6 */ mflr r0 -/* 80043D68 90 01 00 14 */ stw r0, 0x14(r1) -/* 80043D6C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80043D70 93 C1 00 08 */ stw r30, 8(r1) -/* 80043D74 7C 7E 1B 78 */ mr r30, r3 -/* 80043D78 7C 9F 23 78 */ mr r31, r4 -/* 80043D7C 48 00 00 B5 */ bl flagMaxCheck__11dEvDtFlag_cFi -/* 80043D80 2C 03 00 00 */ cmpwi r3, 0 -/* 80043D84 41 82 00 0C */ beq lbl_80043D90 -/* 80043D88 38 60 00 00 */ li r3, 0 -/* 80043D8C 48 00 00 24 */ b lbl_80043DB0 -lbl_80043D90: -/* 80043D90 38 60 00 01 */ li r3, 1 -/* 80043D94 57 E0 06 FE */ clrlwi r0, r31, 0x1b -/* 80043D98 7C 63 00 30 */ slw r3, r3, r0 -/* 80043D9C 57 E0 E8 FA */ rlwinm r0, r31, 0x1d, 3, 0x1d -/* 80043DA0 7C 1E 00 2E */ lwzx r0, r30, r0 -/* 80043DA4 7C 63 00 38 */ and r3, r3, r0 -/* 80043DA8 30 03 FF FF */ addic r0, r3, -1 -/* 80043DAC 7C 60 19 10 */ subfe r3, r0, r3 -lbl_80043DB0: -/* 80043DB0 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80043DB4 83 C1 00 08 */ lwz r30, 8(r1) -/* 80043DB8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80043DBC 7C 08 03 A6 */ mtlr r0 -/* 80043DC0 38 21 00 10 */ addi r1, r1, 0x10 -/* 80043DC4 4E 80 00 20 */ blr diff --git a/asm/d/event/d_event_data/flagSet__11dEvDtFlag_cFi.s b/asm/d/event/d_event_data/flagSet__11dEvDtFlag_cFi.s deleted file mode 100644 index 1969a7d68e..0000000000 --- a/asm/d/event/d_event_data/flagSet__11dEvDtFlag_cFi.s +++ /dev/null @@ -1,29 +0,0 @@ -lbl_80043DC8: -/* 80043DC8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80043DCC 7C 08 02 A6 */ mflr r0 -/* 80043DD0 90 01 00 14 */ stw r0, 0x14(r1) -/* 80043DD4 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80043DD8 93 C1 00 08 */ stw r30, 8(r1) -/* 80043DDC 7C 7E 1B 78 */ mr r30, r3 -/* 80043DE0 7C 9F 23 78 */ mr r31, r4 -/* 80043DE4 48 00 00 4D */ bl flagMaxCheck__11dEvDtFlag_cFi -/* 80043DE8 2C 03 00 00 */ cmpwi r3, 0 -/* 80043DEC 41 82 00 0C */ beq lbl_80043DF8 -/* 80043DF0 38 60 00 00 */ li r3, 0 -/* 80043DF4 48 00 00 24 */ b lbl_80043E18 -lbl_80043DF8: -/* 80043DF8 57 E5 E8 FA */ rlwinm r5, r31, 0x1d, 3, 0x1d -/* 80043DFC 7C 9E 28 2E */ lwzx r4, r30, r5 -/* 80043E00 38 60 00 01 */ li r3, 1 -/* 80043E04 57 E0 06 FE */ clrlwi r0, r31, 0x1b -/* 80043E08 7C 60 00 30 */ slw r0, r3, r0 -/* 80043E0C 7C 80 03 78 */ or r0, r4, r0 -/* 80043E10 7C 1E 29 2E */ stwx r0, r30, r5 -/* 80043E14 38 60 00 01 */ li r3, 1 -lbl_80043E18: -/* 80043E18 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80043E1C 83 C1 00 08 */ lwz r30, 8(r1) -/* 80043E20 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80043E24 7C 08 03 A6 */ mtlr r0 -/* 80043E28 38 21 00 10 */ addi r1, r1, 0x10 -/* 80043E2C 4E 80 00 20 */ blr diff --git a/asm/d/event/d_event_data/forceFinish__12dEvDtEvent_cFv.s b/asm/d/event/d_event_data/forceFinish__12dEvDtEvent_cFv.s deleted file mode 100644 index b89d7decef..0000000000 --- a/asm/d/event/d_event_data/forceFinish__12dEvDtEvent_cFv.s +++ /dev/null @@ -1,33 +0,0 @@ -lbl_80043EFC: -/* 80043EFC 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80043F00 7C 08 02 A6 */ mflr r0 -/* 80043F04 90 01 00 24 */ stw r0, 0x24(r1) -/* 80043F08 39 61 00 20 */ addi r11, r1, 0x20 -/* 80043F0C 48 31 E2 CD */ bl _savegpr_28 -/* 80043F10 7C 7C 1B 78 */ mr r28, r3 -/* 80043F14 3B A0 00 00 */ li r29, 0 -/* 80043F18 3B E0 00 00 */ li r31, 0 -/* 80043F1C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80043F20 3B C3 61 C0 */ addi r30, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -lbl_80043F24: -/* 80043F24 38 1F 00 88 */ addi r0, r31, 0x88 -/* 80043F28 7C 9C 00 2E */ lwzx r4, r28, r0 -/* 80043F2C 2C 04 FF FF */ cmpwi r4, -1 -/* 80043F30 40 82 00 0C */ bne lbl_80043F3C -/* 80043F34 38 60 00 01 */ li r3, 1 -/* 80043F38 48 00 00 20 */ b lbl_80043F58 -lbl_80043F3C: -/* 80043F3C 38 7E 51 B4 */ addi r3, r30, 0x51b4 -/* 80043F40 4B FF FE 89 */ bl flagSet__11dEvDtFlag_cFi -/* 80043F44 3B BD 00 01 */ addi r29, r29, 1 -/* 80043F48 2C 1D 00 03 */ cmpwi r29, 3 -/* 80043F4C 3B FF 00 04 */ addi r31, r31, 4 -/* 80043F50 41 80 FF D4 */ blt lbl_80043F24 -/* 80043F54 38 60 00 01 */ li r3, 1 -lbl_80043F58: -/* 80043F58 39 61 00 20 */ addi r11, r1, 0x20 -/* 80043F5C 48 31 E2 C9 */ bl _restgpr_28 -/* 80043F60 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80043F64 7C 08 03 A6 */ mtlr r0 -/* 80043F68 38 21 00 20 */ addi r1, r1, 0x20 -/* 80043F6C 4E 80 00 20 */ blr diff --git a/asm/d/event/d_event_data/getStartTelopNo__Fv.s b/asm/d/event/d_event_data/getStartTelopNo__Fv.s deleted file mode 100644 index 49515f2695..0000000000 --- a/asm/d/event/d_event_data/getStartTelopNo__Fv.s +++ /dev/null @@ -1,155 +0,0 @@ -lbl_800437F0: -/* 800437F0 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 800437F4 7C 08 02 A6 */ mflr r0 -/* 800437F8 90 01 00 24 */ stw r0, 0x24(r1) -/* 800437FC 39 61 00 20 */ addi r11, r1, 0x20 -/* 80043800 48 31 E9 DD */ bl _savegpr_29 -/* 80043804 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80043808 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8004380C 3B A3 4E 00 */ addi r29, r3, 0x4e00 -/* 80043810 3B E3 5F 5C */ addi r31, r3, 0x5f5c -/* 80043814 7F A3 EB 78 */ mr r3, r29 -/* 80043818 7F E4 FB 78 */ mr r4, r31 -/* 8004381C 48 32 51 79 */ bl strcmp -/* 80043820 2C 03 00 00 */ cmpwi r3, 0 -/* 80043824 40 82 00 10 */ bne lbl_80043834 -/* 80043828 3C 60 00 01 */ lis r3, 0x0001 /* 0x0000FFFF@ha */ -/* 8004382C 38 63 FF FF */ addi r3, r3, 0xFFFF /* 0x0000FFFF@l */ -/* 80043830 48 00 01 CC */ b lbl_800439FC -lbl_80043834: -/* 80043834 3B C0 00 00 */ li r30, 0 -/* 80043838 88 1D 00 06 */ lbz r0, 6(r29) -/* 8004383C 7C 05 07 74 */ extsb r5, r0 -/* 80043840 88 1D 00 05 */ lbz r0, 5(r29) -/* 80043844 7C 00 07 74 */ extsb r0, r0 -/* 80043848 54 04 40 2E */ slwi r4, r0, 8 -/* 8004384C 88 1D 00 04 */ lbz r0, 4(r29) -/* 80043850 7C 00 07 74 */ extsb r0, r0 -/* 80043854 54 03 80 1E */ slwi r3, r0, 0x10 -/* 80043858 88 1D 00 03 */ lbz r0, 3(r29) -/* 8004385C 2C 00 00 42 */ cmpwi r0, 0x42 -/* 80043860 40 82 00 0C */ bne lbl_8004386C -/* 80043864 38 00 00 64 */ li r0, 0x64 -/* 80043868 48 00 00 08 */ b lbl_80043870 -lbl_8004386C: -/* 8004386C 88 1D 00 00 */ lbz r0, 0(r29) -lbl_80043870: -/* 80043870 54 00 C0 0E */ slwi r0, r0, 0x18 -/* 80043874 7C 60 03 78 */ or r0, r3, r0 -/* 80043878 7C 80 03 78 */ or r0, r4, r0 -/* 8004387C 7C A6 03 78 */ or r6, r5, r0 -/* 80043880 38 60 00 00 */ li r3, 0 -/* 80043884 80 0D 80 C0 */ lwz r0, numTelopData(r13) -/* 80043888 3C 80 80 3A */ lis r4, TelopData@ha /* 0x803A7FB0@ha */ -/* 8004388C 38 84 7F B0 */ addi r4, r4, TelopData@l /* 0x803A7FB0@l */ -/* 80043890 7C 09 03 A6 */ mtctr r0 -/* 80043894 2C 00 00 00 */ cmpwi r0, 0 -/* 80043898 40 81 00 24 */ ble lbl_800438BC -lbl_8004389C: -/* 8004389C 7C A4 1A 14 */ add r5, r4, r3 -/* 800438A0 80 05 00 00 */ lwz r0, 0(r5) -/* 800438A4 7C 06 00 00 */ cmpw r6, r0 -/* 800438A8 40 82 00 0C */ bne lbl_800438B4 -/* 800438AC 7C BE 2B 78 */ mr r30, r5 -/* 800438B0 48 00 00 0C */ b lbl_800438BC -lbl_800438B4: -/* 800438B4 38 63 00 0C */ addi r3, r3, 0xc -/* 800438B8 42 00 FF E4 */ bdnz lbl_8004389C -lbl_800438BC: -/* 800438BC 28 1E 00 00 */ cmplwi r30, 0 -/* 800438C0 41 82 00 10 */ beq lbl_800438D0 -/* 800438C4 A0 1E 00 08 */ lhz r0, 8(r30) -/* 800438C8 28 00 00 00 */ cmplwi r0, 0 -/* 800438CC 40 82 00 10 */ bne lbl_800438DC -lbl_800438D0: -/* 800438D0 3C 60 00 01 */ lis r3, 0x0001 /* 0x0000FFFF@ha */ -/* 800438D4 38 63 FF FF */ addi r3, r3, 0xFFFF /* 0x0000FFFF@l */ -/* 800438D8 48 00 01 24 */ b lbl_800439FC -lbl_800438DC: -/* 800438DC 28 00 00 02 */ cmplwi r0, 2 -/* 800438E0 40 82 00 34 */ bne lbl_80043914 -/* 800438E4 A0 9E 00 06 */ lhz r4, 6(r30) -/* 800438E8 28 04 FF FF */ cmplwi r4, 0xffff -/* 800438EC 41 82 00 28 */ beq lbl_80043914 -/* 800438F0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800438F4 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800438F8 38 63 07 F0 */ addi r3, r3, 0x7f0 -/* 800438FC 4B FF 10 C1 */ bl isEventBit__11dSv_event_cCFUs -/* 80043900 2C 03 00 00 */ cmpwi r3, 0 -/* 80043904 40 82 00 10 */ bne lbl_80043914 -/* 80043908 3C 60 00 01 */ lis r3, 0x0001 /* 0x0000FFFF@ha */ -/* 8004390C 38 63 FF FF */ addi r3, r3, 0xFFFF /* 0x0000FFFF@l */ -/* 80043910 48 00 00 EC */ b lbl_800439FC -lbl_80043914: -/* 80043914 A0 1E 00 08 */ lhz r0, 8(r30) -/* 80043918 28 00 00 03 */ cmplwi r0, 3 -/* 8004391C 40 82 00 30 */ bne lbl_8004394C -/* 80043920 A0 1E 00 06 */ lhz r0, 6(r30) -/* 80043924 28 00 FF FF */ cmplwi r0, 0xffff -/* 80043928 41 82 00 24 */ beq lbl_8004394C -/* 8004392C 54 03 C6 3E */ rlwinm r3, r0, 0x18, 0x18, 0x1f -/* 80043930 54 04 06 3E */ clrlwi r4, r0, 0x18 -/* 80043934 4B FE 9E 0D */ bl dComIfGs_isStageSwitch__Fii -/* 80043938 2C 03 00 00 */ cmpwi r3, 0 -/* 8004393C 40 82 00 10 */ bne lbl_8004394C -/* 80043940 3C 60 00 01 */ lis r3, 0x0001 /* 0x0000FFFF@ha */ -/* 80043944 38 63 FF FF */ addi r3, r3, 0xFFFF /* 0x0000FFFF@l */ -/* 80043948 48 00 00 B4 */ b lbl_800439FC -lbl_8004394C: -/* 8004394C 38 E0 00 00 */ li r7, 0 -/* 80043950 88 1F 00 06 */ lbz r0, 6(r31) -/* 80043954 7C 05 07 74 */ extsb r5, r0 -/* 80043958 88 1F 00 05 */ lbz r0, 5(r31) -/* 8004395C 7C 00 07 74 */ extsb r0, r0 -/* 80043960 54 04 40 2E */ slwi r4, r0, 8 -/* 80043964 88 1F 00 04 */ lbz r0, 4(r31) -/* 80043968 7C 00 07 74 */ extsb r0, r0 -/* 8004396C 54 03 80 1E */ slwi r3, r0, 0x10 -/* 80043970 88 1F 00 03 */ lbz r0, 3(r31) -/* 80043974 2C 00 00 42 */ cmpwi r0, 0x42 -/* 80043978 40 82 00 0C */ bne lbl_80043984 -/* 8004397C 38 00 00 64 */ li r0, 0x64 -/* 80043980 48 00 00 08 */ b lbl_80043988 -lbl_80043984: -/* 80043984 88 1F 00 00 */ lbz r0, 0(r31) -lbl_80043988: -/* 80043988 54 00 C0 0E */ slwi r0, r0, 0x18 -/* 8004398C 7C 60 03 78 */ or r0, r3, r0 -/* 80043990 7C 80 03 78 */ or r0, r4, r0 -/* 80043994 7C A6 03 78 */ or r6, r5, r0 -/* 80043998 38 60 00 00 */ li r3, 0 -/* 8004399C 80 0D 80 C0 */ lwz r0, numTelopData(r13) -/* 800439A0 3C 80 80 3A */ lis r4, TelopData@ha /* 0x803A7FB0@ha */ -/* 800439A4 38 84 7F B0 */ addi r4, r4, TelopData@l /* 0x803A7FB0@l */ -/* 800439A8 7C 09 03 A6 */ mtctr r0 -/* 800439AC 2C 00 00 00 */ cmpwi r0, 0 -/* 800439B0 40 81 00 24 */ ble lbl_800439D4 -lbl_800439B4: -/* 800439B4 7C A4 1A 14 */ add r5, r4, r3 -/* 800439B8 80 05 00 00 */ lwz r0, 0(r5) -/* 800439BC 7C 06 00 00 */ cmpw r6, r0 -/* 800439C0 40 82 00 0C */ bne lbl_800439CC -/* 800439C4 7C A7 2B 78 */ mr r7, r5 -/* 800439C8 48 00 00 0C */ b lbl_800439D4 -lbl_800439CC: -/* 800439CC 38 63 00 0C */ addi r3, r3, 0xc -/* 800439D0 42 00 FF E4 */ bdnz lbl_800439B4 -lbl_800439D4: -/* 800439D4 28 07 00 00 */ cmplwi r7, 0 -/* 800439D8 41 82 00 20 */ beq lbl_800439F8 -/* 800439DC A0 7E 00 04 */ lhz r3, 4(r30) -/* 800439E0 A0 07 00 04 */ lhz r0, 4(r7) -/* 800439E4 7C 03 00 40 */ cmplw r3, r0 -/* 800439E8 40 82 00 10 */ bne lbl_800439F8 -/* 800439EC 3C 60 00 01 */ lis r3, 0x0001 /* 0x0000FFFF@ha */ -/* 800439F0 38 63 FF FF */ addi r3, r3, 0xFFFF /* 0x0000FFFF@l */ -/* 800439F4 48 00 00 08 */ b lbl_800439FC -lbl_800439F8: -/* 800439F8 A0 7E 00 04 */ lhz r3, 4(r30) -lbl_800439FC: -/* 800439FC 39 61 00 20 */ addi r11, r1, 0x20 -/* 80043A00 48 31 E8 29 */ bl _restgpr_29 -/* 80043A04 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80043A08 7C 08 03 A6 */ mtlr r0 -/* 80043A0C 38 21 00 20 */ addi r1, r1, 0x20 -/* 80043A10 4E 80 00 20 */ blr diff --git a/asm/d/event/d_event_data/getTelopNo__FPCc.s b/asm/d/event/d_event_data/getTelopNo__FPCc.s deleted file mode 100644 index b5c703e82e..0000000000 --- a/asm/d/event/d_event_data/getTelopNo__FPCc.s +++ /dev/null @@ -1,44 +0,0 @@ -lbl_8004372C: -/* 8004372C 88 03 00 06 */ lbz r0, 6(r3) -/* 80043730 7C 06 07 74 */ extsb r6, r0 -/* 80043734 88 03 00 05 */ lbz r0, 5(r3) -/* 80043738 7C 00 07 74 */ extsb r0, r0 -/* 8004373C 54 05 40 2E */ slwi r5, r0, 8 -/* 80043740 88 03 00 04 */ lbz r0, 4(r3) -/* 80043744 7C 00 07 74 */ extsb r0, r0 -/* 80043748 54 04 80 1E */ slwi r4, r0, 0x10 -/* 8004374C 88 03 00 03 */ lbz r0, 3(r3) -/* 80043750 2C 00 00 42 */ cmpwi r0, 0x42 -/* 80043754 40 82 00 0C */ bne lbl_80043760 -/* 80043758 38 00 00 64 */ li r0, 0x64 -/* 8004375C 48 00 00 08 */ b lbl_80043764 -lbl_80043760: -/* 80043760 88 03 00 00 */ lbz r0, 0(r3) -lbl_80043764: -/* 80043764 54 00 C0 0E */ slwi r0, r0, 0x18 -/* 80043768 7C 80 03 78 */ or r0, r4, r0 -/* 8004376C 7C A0 03 78 */ or r0, r5, r0 -/* 80043770 7C C5 03 78 */ or r5, r6, r0 -/* 80043774 38 60 00 00 */ li r3, 0 -/* 80043778 80 0D 80 C0 */ lwz r0, numTelopData(r13) -/* 8004377C 3C 80 80 3A */ lis r4, TelopData@ha /* 0x803A7FB0@ha */ -/* 80043780 38 84 7F B0 */ addi r4, r4, TelopData@l /* 0x803A7FB0@l */ -/* 80043784 7C 09 03 A6 */ mtctr r0 -/* 80043788 2C 00 00 00 */ cmpwi r0, 0 -/* 8004378C 40 81 00 2C */ ble lbl_800437B8 -lbl_80043790: -/* 80043790 7C 04 18 2E */ lwzx r0, r4, r3 -/* 80043794 7C 05 00 00 */ cmpw r5, r0 -/* 80043798 40 82 00 18 */ bne lbl_800437B0 -/* 8004379C 3C 80 80 3A */ lis r4, TelopData@ha /* 0x803A7FB0@ha */ -/* 800437A0 38 04 7F B0 */ addi r0, r4, TelopData@l /* 0x803A7FB0@l */ -/* 800437A4 7C 60 1A 14 */ add r3, r0, r3 -/* 800437A8 A0 63 00 04 */ lhz r3, 4(r3) -/* 800437AC 4E 80 00 20 */ blr -lbl_800437B0: -/* 800437B0 38 63 00 0C */ addi r3, r3, 0xc -/* 800437B4 42 00 FF DC */ bdnz lbl_80043790 -lbl_800437B8: -/* 800437B8 3C 60 00 01 */ lis r3, 0x0001 /* 0x0000FFFF@ha */ -/* 800437BC 38 63 FF FF */ addi r3, r3, 0xFFFF /* 0x0000FFFF@l */ -/* 800437C0 4E 80 00 20 */ blr diff --git a/asm/d/event/d_event_data/getTelopNo__Fv.s b/asm/d/event/d_event_data/getTelopNo__Fv.s deleted file mode 100644 index c3cab63d42..0000000000 --- a/asm/d/event/d_event_data/getTelopNo__Fv.s +++ /dev/null @@ -1,12 +0,0 @@ -lbl_800437C4: -/* 800437C4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800437C8 7C 08 02 A6 */ mflr r0 -/* 800437CC 90 01 00 14 */ stw r0, 0x14(r1) -/* 800437D0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800437D4 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800437D8 38 63 4E 00 */ addi r3, r3, 0x4e00 -/* 800437DC 4B FF FF 51 */ bl getTelopNo__FPCc -/* 800437E0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800437E4 7C 08 03 A6 */ mtlr r0 -/* 800437E8 38 21 00 10 */ addi r1, r1, 0x10 -/* 800437EC 4E 80 00 20 */ blr diff --git a/asm/d/event/d_event_data/specialProcMessage__12dEvDtStaff_cFv.s b/asm/d/event/d_event_data/specialProcMessage__12dEvDtStaff_cFv.s deleted file mode 100644 index 343b776fbf..0000000000 --- a/asm/d/event/d_event_data/specialProcMessage__12dEvDtStaff_cFv.s +++ /dev/null @@ -1,509 +0,0 @@ -lbl_80044324: -/* 80044324 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80044328 7C 08 02 A6 */ mflr r0 -/* 8004432C 90 01 00 24 */ stw r0, 0x24(r1) -/* 80044330 39 61 00 20 */ addi r11, r1, 0x20 -/* 80044334 48 31 DE 9D */ bl _savegpr_26 -/* 80044338 7C 7B 1B 78 */ mr r27, r3 -/* 8004433C 3B 9B 00 08 */ addi r28, r27, 8 -/* 80044340 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80044344 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80044348 3B A3 4F F8 */ addi r29, r3, 0x4ff8 -/* 8004434C 7F A3 EB 78 */ mr r3, r29 -/* 80044350 3C 80 80 38 */ lis r4, d_event_d_event_data__stringBase0@ha /* 0x80379DD0@ha */ -/* 80044354 38 84 9D D0 */ addi r4, r4, d_event_d_event_data__stringBase0@l /* 0x80379DD0@l */ -/* 80044358 38 84 00 51 */ addi r4, r4, 0x51 -/* 8004435C 38 A0 00 00 */ li r5, 0 -/* 80044360 38 C0 00 00 */ li r6, 0 -/* 80044364 48 00 37 B9 */ bl getMyStaffId__16dEvent_manager_cFPCcP10fopAc_ac_ci -/* 80044368 7C 7E 1B 78 */ mr r30, r3 -/* 8004436C 2C 1E FF FF */ cmpwi r30, -1 -/* 80044370 41 82 06 D0 */ beq lbl_80044A40 -/* 80044374 7F A3 EB 78 */ mr r3, r29 -/* 80044378 7F C4 F3 78 */ mr r4, r30 -/* 8004437C 48 00 3B E1 */ bl getMyNowCutName__16dEvent_manager_cFi -/* 80044380 7C 7F 1B 78 */ mr r31, r3 -/* 80044384 7F A3 EB 78 */ mr r3, r29 -/* 80044388 7F C4 F3 78 */ mr r4, r30 -/* 8004438C 48 00 39 C1 */ bl getIsAddvance__16dEvent_manager_cFi -/* 80044390 2C 03 00 00 */ cmpwi r3, 0 -/* 80044394 41 82 03 00 */ beq lbl_80044694 -/* 80044398 80 9F 00 00 */ lwz r4, 0(r31) -/* 8004439C 3C 60 53 41 */ lis r3, 0x5341 /* 0x53415645@ha */ -/* 800443A0 38 03 56 45 */ addi r0, r3, 0x5645 /* 0x53415645@l */ -/* 800443A4 7C 04 00 00 */ cmpw r4, r0 -/* 800443A8 41 82 01 C4 */ beq lbl_8004456C -/* 800443AC 40 80 00 54 */ bge lbl_80044400 -/* 800443B0 3C 60 45 4E */ lis r3, 0x454E /* 0x454E4400@ha */ -/* 800443B4 38 03 44 00 */ addi r0, r3, 0x4400 /* 0x454E4400@l */ -/* 800443B8 7C 04 00 00 */ cmpw r4, r0 -/* 800443BC 41 82 01 3C */ beq lbl_800444F8 -/* 800443C0 40 80 00 2C */ bge lbl_800443EC -/* 800443C4 3C 60 43 52 */ lis r3, 0x4352 /* 0x43524541@ha */ -/* 800443C8 38 03 45 41 */ addi r0, r3, 0x4541 /* 0x43524541@l */ -/* 800443CC 7C 04 00 00 */ cmpw r4, r0 -/* 800443D0 41 82 00 7C */ beq lbl_8004444C -/* 800443D4 40 80 02 C0 */ bge lbl_80044694 -/* 800443D8 3C 60 43 4F */ lis r3, 0x434F /* 0x434F4E54@ha */ -/* 800443DC 38 03 4E 54 */ addi r0, r3, 0x4E54 /* 0x434F4E54@l */ -/* 800443E0 7C 04 00 00 */ cmpw r4, r0 -/* 800443E4 41 82 01 24 */ beq lbl_80044508 -/* 800443E8 48 00 02 AC */ b lbl_80044694 -lbl_800443EC: -/* 800443EC 3C 60 46 49 */ lis r3, 0x4649 /* 0x46494E49@ha */ -/* 800443F0 38 03 4E 49 */ addi r0, r3, 0x4E49 /* 0x46494E49@l */ -/* 800443F4 7C 04 00 00 */ cmpw r4, r0 -/* 800443F8 41 82 01 00 */ beq lbl_800444F8 -/* 800443FC 48 00 02 98 */ b lbl_80044694 -lbl_80044400: -/* 80044400 3C 60 54 45 */ lis r3, 0x5445 /* 0x54454C4F@ha */ -/* 80044404 38 03 4C 4F */ addi r0, r3, 0x4C4F /* 0x54454C4F@l */ -/* 80044408 7C 04 00 00 */ cmpw r4, r0 -/* 8004440C 41 82 01 B4 */ beq lbl_800445C0 -/* 80044410 40 80 00 18 */ bge lbl_80044428 -/* 80044414 3C 60 53 48 */ lis r3, 0x5348 /* 0x53484F57@ha */ -/* 80044418 38 03 4F 57 */ addi r0, r3, 0x4F57 /* 0x53484F57@l */ -/* 8004441C 7C 04 00 00 */ cmpw r4, r0 -/* 80044420 41 82 00 2C */ beq lbl_8004444C -/* 80044424 48 00 02 70 */ b lbl_80044694 -lbl_80044428: -/* 80044428 3C 60 57 41 */ lis r3, 0x5741 /* 0x57414954@ha */ -/* 8004442C 38 03 49 54 */ addi r0, r3, 0x4954 /* 0x57414954@l */ -/* 80044430 7C 04 00 00 */ cmpw r4, r0 -/* 80044434 41 82 00 08 */ beq lbl_8004443C -/* 80044438 48 00 02 5C */ b lbl_80044694 -lbl_8004443C: -/* 8004443C 7F 63 DB 78 */ mr r3, r27 -/* 80044440 7F C4 F3 78 */ mr r4, r30 -/* 80044444 4B FF FB 95 */ bl specialProc_WaitStart__12dEvDtStaff_cFi -/* 80044448 48 00 02 4C */ b lbl_80044694 -lbl_8004444C: -/* 8004444C 38 00 FF FF */ li r0, -1 -/* 80044450 90 1C 00 00 */ stw r0, 0(r28) -/* 80044454 38 00 00 00 */ li r0, 0 -/* 80044458 90 1C 00 04 */ stw r0, 4(r28) -/* 8004445C 7F A3 EB 78 */ mr r3, r29 -/* 80044460 7F C4 F3 78 */ mr r4, r30 -/* 80044464 3C A0 80 38 */ lis r5, d_event_d_event_data__stringBase0@ha /* 0x80379DD0@ha */ -/* 80044468 38 A5 9D D0 */ addi r5, r5, d_event_d_event_data__stringBase0@l /* 0x80379DD0@l */ -/* 8004446C 38 A5 00 59 */ addi r5, r5, 0x59 -/* 80044470 48 00 3C D5 */ bl getMySubstanceNum__16dEvent_manager_cFiPCc -/* 80044474 90 7C 00 0C */ stw r3, 0xc(r28) -/* 80044478 7F A3 EB 78 */ mr r3, r29 -/* 8004447C 7F C4 F3 78 */ mr r4, r30 -/* 80044480 3C A0 80 38 */ lis r5, d_event_d_event_data__stringBase0@ha /* 0x80379DD0@ha */ -/* 80044484 38 A5 9D D0 */ addi r5, r5, d_event_d_event_data__stringBase0@l /* 0x80379DD0@l */ -/* 80044488 38 A5 00 59 */ addi r5, r5, 0x59 -/* 8004448C 38 C0 00 03 */ li r6, 3 -/* 80044490 48 00 3C 5D */ bl getMySubstanceP__16dEvent_manager_cFiPCci -/* 80044494 90 7C 00 10 */ stw r3, 0x10(r28) -/* 80044498 80 1C 00 0C */ lwz r0, 0xc(r28) -/* 8004449C 2C 00 00 01 */ cmpwi r0, 1 -/* 800444A0 40 80 00 40 */ bge lbl_800444E0 -/* 800444A4 7F A3 EB 78 */ mr r3, r29 -/* 800444A8 7F C4 F3 78 */ mr r4, r30 -/* 800444AC 3C A0 80 38 */ lis r5, d_event_d_event_data__stringBase0@ha /* 0x80379DD0@ha */ -/* 800444B0 38 A5 9D D0 */ addi r5, r5, d_event_d_event_data__stringBase0@l /* 0x80379DD0@l */ -/* 800444B4 38 A5 00 5F */ addi r5, r5, 0x5f -/* 800444B8 48 00 3C 8D */ bl getMySubstanceNum__16dEvent_manager_cFiPCc -/* 800444BC 90 7C 00 0C */ stw r3, 0xc(r28) -/* 800444C0 7F A3 EB 78 */ mr r3, r29 -/* 800444C4 7F C4 F3 78 */ mr r4, r30 -/* 800444C8 3C A0 80 38 */ lis r5, d_event_d_event_data__stringBase0@ha /* 0x80379DD0@ha */ -/* 800444CC 38 A5 9D D0 */ addi r5, r5, d_event_d_event_data__stringBase0@l /* 0x80379DD0@l */ -/* 800444D0 38 A5 00 5F */ addi r5, r5, 0x5f -/* 800444D4 38 C0 00 03 */ li r6, 3 -/* 800444D8 48 00 3C 15 */ bl getMySubstanceP__16dEvent_manager_cFiPCci -/* 800444DC 90 7C 00 10 */ stw r3, 0x10(r28) -lbl_800444E0: -/* 800444E0 80 7C 00 10 */ lwz r3, 0x10(r28) -/* 800444E4 80 03 00 00 */ lwz r0, 0(r3) -/* 800444E8 90 1C 00 08 */ stw r0, 8(r28) -/* 800444EC 38 00 00 00 */ li r0, 0 -/* 800444F0 B0 1B 00 42 */ sth r0, 0x42(r27) -/* 800444F4 48 00 01 A0 */ b lbl_80044694 -lbl_800444F8: -/* 800444F8 38 00 00 10 */ li r0, 0x10 -/* 800444FC 80 7C 00 04 */ lwz r3, 4(r28) -/* 80044500 B0 03 00 F8 */ sth r0, 0xf8(r3) -/* 80044504 48 00 01 90 */ b lbl_80044694 -lbl_80044508: -/* 80044508 38 00 00 0F */ li r0, 0xf -/* 8004450C 80 7C 00 04 */ lwz r3, 4(r28) -/* 80044510 B0 03 00 F8 */ sth r0, 0xf8(r3) -/* 80044514 7F A3 EB 78 */ mr r3, r29 -/* 80044518 7F C4 F3 78 */ mr r4, r30 -/* 8004451C 3C A0 80 38 */ lis r5, d_event_d_event_data__stringBase0@ha /* 0x80379DD0@ha */ -/* 80044520 38 A5 9D D0 */ addi r5, r5, d_event_d_event_data__stringBase0@l /* 0x80379DD0@l */ -/* 80044524 38 A5 00 59 */ addi r5, r5, 0x59 -/* 80044528 38 C0 00 03 */ li r6, 3 -/* 8004452C 48 00 3B C1 */ bl getMySubstanceP__16dEvent_manager_cFiPCci -/* 80044530 28 03 00 00 */ cmplwi r3, 0 -/* 80044534 40 82 00 20 */ bne lbl_80044554 -/* 80044538 7F A3 EB 78 */ mr r3, r29 -/* 8004453C 7F C4 F3 78 */ mr r4, r30 -/* 80044540 3C A0 80 38 */ lis r5, d_event_d_event_data__stringBase0@ha /* 0x80379DD0@ha */ -/* 80044544 38 A5 9D D0 */ addi r5, r5, d_event_d_event_data__stringBase0@l /* 0x80379DD0@l */ -/* 80044548 38 A5 00 5F */ addi r5, r5, 0x5f -/* 8004454C 38 C0 00 03 */ li r6, 3 -/* 80044550 48 00 3B 9D */ bl getMySubstanceP__16dEvent_manager_cFiPCci -lbl_80044554: -/* 80044554 80 03 00 00 */ lwz r0, 0(r3) -/* 80044558 90 1C 00 08 */ stw r0, 8(r28) -/* 8004455C 80 7C 00 08 */ lwz r3, 8(r28) -/* 80044560 38 80 03 E8 */ li r4, 0x3e8 -/* 80044564 4B FD B9 21 */ bl fopMsgM_messageSet__FUlUl -/* 80044568 48 00 01 2C */ b lbl_80044694 -lbl_8004456C: -/* 8004456C 38 00 00 01 */ li r0, 1 -/* 80044570 90 1C 00 08 */ stw r0, 8(r28) -/* 80044574 7F A3 EB 78 */ mr r3, r29 -/* 80044578 7F C4 F3 78 */ mr r4, r30 -/* 8004457C 3C A0 80 38 */ lis r5, d_event_d_event_data__stringBase0@ha /* 0x80379DD0@ha */ -/* 80044580 38 A5 9D D0 */ addi r5, r5, d_event_d_event_data__stringBase0@l /* 0x80379DD0@l */ -/* 80044584 38 A5 00 62 */ addi r5, r5, 0x62 -/* 80044588 38 C0 00 03 */ li r6, 3 -/* 8004458C 48 00 3B 61 */ bl getMySubstanceP__16dEvent_manager_cFiPCci -/* 80044590 28 03 00 00 */ cmplwi r3, 0 -/* 80044594 41 82 00 18 */ beq lbl_800445AC -/* 80044598 80 03 00 00 */ lwz r0, 0(r3) -/* 8004459C 2C 00 00 01 */ cmpwi r0, 1 -/* 800445A0 40 82 00 0C */ bne lbl_800445AC -/* 800445A4 38 00 00 02 */ li r0, 2 -/* 800445A8 90 1C 00 08 */ stw r0, 8(r28) -lbl_800445AC: -/* 800445AC 80 1C 00 08 */ lwz r0, 8(r28) -/* 800445B0 54 03 06 3E */ clrlwi r3, r0, 0x18 -/* 800445B4 48 15 7A 11 */ bl d_GameOver_Create__FUc -/* 800445B8 90 7C 00 00 */ stw r3, 0(r28) -/* 800445BC 48 00 00 D8 */ b lbl_80044694 -lbl_800445C0: -/* 800445C0 7F A3 EB 78 */ mr r3, r29 -/* 800445C4 7F C4 F3 78 */ mr r4, r30 -/* 800445C8 3C A0 80 38 */ lis r5, d_event_d_event_data__stringBase0@ha /* 0x80379DD0@ha */ -/* 800445CC 38 A5 9D D0 */ addi r5, r5, d_event_d_event_data__stringBase0@l /* 0x80379DD0@l */ -/* 800445D0 38 A5 00 67 */ addi r5, r5, 0x67 -/* 800445D4 38 C0 00 03 */ li r6, 3 -/* 800445D8 48 00 3B 15 */ bl getMySubstanceP__16dEvent_manager_cFiPCci -/* 800445DC 28 03 00 00 */ cmplwi r3, 0 -/* 800445E0 41 82 00 20 */ beq lbl_80044600 -/* 800445E4 80 03 00 00 */ lwz r0, 0(r3) -/* 800445E8 2C 00 00 00 */ cmpwi r0, 0 -/* 800445EC 41 82 00 14 */ beq lbl_80044600 -/* 800445F0 4B FF F2 01 */ bl getStartTelopNo__Fv -/* 800445F4 54 60 04 3E */ clrlwi r0, r3, 0x10 -/* 800445F8 90 1C 00 08 */ stw r0, 8(r28) -/* 800445FC 48 00 00 7C */ b lbl_80044678 -lbl_80044600: -/* 80044600 7F A3 EB 78 */ mr r3, r29 -/* 80044604 7F C4 F3 78 */ mr r4, r30 -/* 80044608 3C A0 80 38 */ lis r5, d_event_d_event_data__stringBase0@ha /* 0x80379DD0@ha */ -/* 8004460C 38 A5 9D D0 */ addi r5, r5, d_event_d_event_data__stringBase0@l /* 0x80379DD0@l */ -/* 80044610 38 A5 00 03 */ addi r5, r5, 3 -/* 80044614 38 C0 00 04 */ li r6, 4 -/* 80044618 48 00 3A D5 */ bl getMySubstanceP__16dEvent_manager_cFiPCci -/* 8004461C 7C 7A 1B 78 */ mr r26, r3 -/* 80044620 7F A3 EB 78 */ mr r3, r29 -/* 80044624 7F C4 F3 78 */ mr r4, r30 -/* 80044628 3C A0 80 38 */ lis r5, d_event_d_event_data__stringBase0@ha /* 0x80379DD0@ha */ -/* 8004462C 38 A5 9D D0 */ addi r5, r5, d_event_d_event_data__stringBase0@l /* 0x80379DD0@l */ -/* 80044630 38 A5 00 5F */ addi r5, r5, 0x5f -/* 80044634 38 C0 00 03 */ li r6, 3 -/* 80044638 48 00 3A B5 */ bl getMySubstanceP__16dEvent_manager_cFiPCci -/* 8004463C 28 03 00 00 */ cmplwi r3, 0 -/* 80044640 41 82 00 10 */ beq lbl_80044650 -/* 80044644 80 03 00 00 */ lwz r0, 0(r3) -/* 80044648 90 1C 00 08 */ stw r0, 8(r28) -/* 8004464C 48 00 00 2C */ b lbl_80044678 -lbl_80044650: -/* 80044650 28 1A 00 00 */ cmplwi r26, 0 -/* 80044654 41 82 00 18 */ beq lbl_8004466C -/* 80044658 7F 43 D3 78 */ mr r3, r26 -/* 8004465C 4B FF F0 D1 */ bl getTelopNo__FPCc -/* 80044660 54 60 04 3E */ clrlwi r0, r3, 0x10 -/* 80044664 90 1C 00 08 */ stw r0, 8(r28) -/* 80044668 48 00 00 10 */ b lbl_80044678 -lbl_8004466C: -/* 8004466C 4B FF F1 59 */ bl getTelopNo__Fv -/* 80044670 54 60 04 3E */ clrlwi r0, r3, 0x10 -/* 80044674 90 1C 00 08 */ stw r0, 8(r28) -lbl_80044678: -/* 80044678 38 00 00 00 */ li r0, 0 -/* 8004467C B0 1B 00 42 */ sth r0, 0x42(r27) -/* 80044680 80 7C 00 08 */ lwz r3, 8(r28) -/* 80044684 28 03 FF FF */ cmplwi r3, 0xffff -/* 80044688 41 82 00 0C */ beq lbl_80044694 -/* 8004468C 4B FD B9 39 */ bl fopMsgM_messageSetDemo__FUl -/* 80044690 90 7C 00 00 */ stw r3, 0(r28) -lbl_80044694: -/* 80044694 80 9F 00 00 */ lwz r4, 0(r31) -/* 80044698 3C 60 50 55 */ lis r3, 0x5055 /* 0x50555348@ha */ -/* 8004469C 38 03 53 48 */ addi r0, r3, 0x5348 /* 0x50555348@l */ -/* 800446A0 7C 04 00 00 */ cmpw r4, r0 -/* 800446A4 41 82 01 5C */ beq lbl_80044800 -/* 800446A8 40 80 00 68 */ bge lbl_80044710 -/* 800446AC 3C 60 44 45 */ lis r3, 0x4445 /* 0x44454C45@ha */ -/* 800446B0 38 03 4C 45 */ addi r0, r3, 0x4C45 /* 0x44454C45@l */ -/* 800446B4 7C 04 00 00 */ cmpw r4, r0 -/* 800446B8 41 82 02 80 */ beq lbl_80044938 -/* 800446BC 40 80 00 2C */ bge lbl_800446E8 -/* 800446C0 3C 60 43 52 */ lis r3, 0x4352 /* 0x43524541@ha */ -/* 800446C4 38 03 45 41 */ addi r0, r3, 0x4541 /* 0x43524541@l */ -/* 800446C8 7C 04 00 00 */ cmpw r4, r0 -/* 800446CC 41 82 00 A4 */ beq lbl_80044770 -/* 800446D0 40 80 03 64 */ bge lbl_80044A34 -/* 800446D4 3C 60 43 4F */ lis r3, 0x434F /* 0x434F4E54@ha */ -/* 800446D8 38 03 4E 54 */ addi r0, r3, 0x4E54 /* 0x434F4E54@l */ -/* 800446DC 7C 04 00 00 */ cmpw r4, r0 -/* 800446E0 41 82 02 A8 */ beq lbl_80044988 -/* 800446E4 48 00 03 50 */ b lbl_80044A34 -lbl_800446E8: -/* 800446E8 3C 60 46 49 */ lis r3, 0x4649 /* 0x46494E49@ha */ -/* 800446EC 38 03 4E 49 */ addi r0, r3, 0x4E49 /* 0x46494E49@l */ -/* 800446F0 7C 04 00 00 */ cmpw r4, r0 -/* 800446F4 41 82 02 44 */ beq lbl_80044938 -/* 800446F8 40 80 03 3C */ bge lbl_80044A34 -/* 800446FC 3C 60 45 4E */ lis r3, 0x454E /* 0x454E4400@ha */ -/* 80044700 38 03 44 00 */ addi r0, r3, 0x4400 /* 0x454E4400@l */ -/* 80044704 7C 04 00 00 */ cmpw r4, r0 -/* 80044708 41 82 02 90 */ beq lbl_80044998 -/* 8004470C 48 00 03 28 */ b lbl_80044A34 -lbl_80044710: -/* 80044710 3C 60 54 45 */ lis r3, 0x5445 /* 0x54454C4F@ha */ -/* 80044714 38 03 4C 4F */ addi r0, r3, 0x4C4F /* 0x54454C4F@l */ -/* 80044718 7C 04 00 00 */ cmpw r4, r0 -/* 8004471C 41 82 01 04 */ beq lbl_80044820 -/* 80044720 40 80 00 2C */ bge lbl_8004474C -/* 80044724 3C 60 53 48 */ lis r3, 0x5348 /* 0x53484F57@ha */ -/* 80044728 38 03 4F 57 */ addi r0, r3, 0x4F57 /* 0x53484F57@l */ -/* 8004472C 7C 04 00 00 */ cmpw r4, r0 -/* 80044730 41 82 01 00 */ beq lbl_80044830 -/* 80044734 40 80 03 00 */ bge lbl_80044A34 -/* 80044738 3C 60 53 41 */ lis r3, 0x5341 /* 0x53415645@ha */ -/* 8004473C 38 03 56 45 */ addi r0, r3, 0x5645 /* 0x53415645@l */ -/* 80044740 7C 04 00 00 */ cmpw r4, r0 -/* 80044744 41 82 02 80 */ beq lbl_800449C4 -/* 80044748 48 00 02 EC */ b lbl_80044A34 -lbl_8004474C: -/* 8004474C 3C 60 57 41 */ lis r3, 0x5741 /* 0x57414954@ha */ -/* 80044750 38 03 49 54 */ addi r0, r3, 0x4954 /* 0x57414954@l */ -/* 80044754 7C 04 00 00 */ cmpw r4, r0 -/* 80044758 41 82 00 08 */ beq lbl_80044760 -/* 8004475C 48 00 02 D8 */ b lbl_80044A34 -lbl_80044760: -/* 80044760 7F 63 DB 78 */ mr r3, r27 -/* 80044764 7F C4 F3 78 */ mr r4, r30 -/* 80044768 4B FF F8 D5 */ bl specialProc_WaitProc__12dEvDtStaff_cFi -/* 8004476C 48 00 02 D4 */ b lbl_80044A40 -lbl_80044770: -/* 80044770 A8 1B 00 42 */ lha r0, 0x42(r27) -/* 80044774 2C 00 00 01 */ cmpwi r0, 1 -/* 80044778 41 82 00 50 */ beq lbl_800447C8 -/* 8004477C 40 80 00 10 */ bge lbl_8004478C -/* 80044780 2C 00 00 00 */ cmpwi r0, 0 -/* 80044784 40 80 00 14 */ bge lbl_80044798 -/* 80044788 48 00 02 B8 */ b lbl_80044A40 -lbl_8004478C: -/* 8004478C 2C 00 00 03 */ cmpwi r0, 3 -/* 80044790 40 80 02 B0 */ bge lbl_80044A40 -/* 80044794 48 00 00 5C */ b lbl_800447F0 -lbl_80044798: -/* 80044798 80 7C 00 08 */ lwz r3, 8(r28) -/* 8004479C 38 80 03 E8 */ li r4, 0x3e8 -/* 800447A0 4B FD B6 E5 */ bl fopMsgM_messageSet__FUlUl -/* 800447A4 90 7C 00 00 */ stw r3, 0(r28) -/* 800447A8 80 7C 00 00 */ lwz r3, 0(r28) -/* 800447AC 3C 03 00 01 */ addis r0, r3, 1 -/* 800447B0 28 00 FF FF */ cmplwi r0, 0xffff -/* 800447B4 41 82 02 8C */ beq lbl_80044A40 -/* 800447B8 A8 7B 00 42 */ lha r3, 0x42(r27) -/* 800447BC 38 03 00 01 */ addi r0, r3, 1 -/* 800447C0 B0 1B 00 42 */ sth r0, 0x42(r27) -/* 800447C4 48 00 02 7C */ b lbl_80044A40 -lbl_800447C8: -/* 800447C8 80 7C 00 00 */ lwz r3, 0(r28) -/* 800447CC 4B FD B2 59 */ bl fopMsgM_SearchByID__FUi -/* 800447D0 90 7C 00 04 */ stw r3, 4(r28) -/* 800447D4 80 1C 00 04 */ lwz r0, 4(r28) -/* 800447D8 28 00 00 00 */ cmplwi r0, 0 -/* 800447DC 41 82 02 64 */ beq lbl_80044A40 -/* 800447E0 A8 7B 00 42 */ lha r3, 0x42(r27) -/* 800447E4 38 03 00 01 */ addi r0, r3, 1 -/* 800447E8 B0 1B 00 42 */ sth r0, 0x42(r27) -/* 800447EC 48 00 02 54 */ b lbl_80044A40 -lbl_800447F0: -/* 800447F0 7F A3 EB 78 */ mr r3, r29 -/* 800447F4 7F C4 F3 78 */ mr r4, r30 -/* 800447F8 48 00 39 85 */ bl cutEnd__16dEvent_manager_cFi -/* 800447FC 48 00 02 44 */ b lbl_80044A40 -lbl_80044800: -/* 80044800 80 7C 00 04 */ lwz r3, 4(r28) -/* 80044804 A0 03 00 F8 */ lhz r0, 0xf8(r3) -/* 80044808 28 00 00 0E */ cmplwi r0, 0xe -/* 8004480C 40 82 02 34 */ bne lbl_80044A40 -/* 80044810 7F A3 EB 78 */ mr r3, r29 -/* 80044814 7F C4 F3 78 */ mr r4, r30 -/* 80044818 48 00 39 65 */ bl cutEnd__16dEvent_manager_cFi -/* 8004481C 48 00 02 24 */ b lbl_80044A40 -lbl_80044820: -/* 80044820 7F A3 EB 78 */ mr r3, r29 -/* 80044824 7F C4 F3 78 */ mr r4, r30 -/* 80044828 48 00 39 55 */ bl cutEnd__16dEvent_manager_cFi -/* 8004482C 48 00 02 14 */ b lbl_80044A40 -lbl_80044830: -/* 80044830 A8 1B 00 42 */ lha r0, 0x42(r27) -/* 80044834 2C 00 00 01 */ cmpwi r0, 1 -/* 80044838 41 82 00 3C */ beq lbl_80044874 -/* 8004483C 40 80 00 EC */ bge lbl_80044928 -/* 80044840 2C 00 00 00 */ cmpwi r0, 0 -/* 80044844 40 80 00 08 */ bge lbl_8004484C -/* 80044848 48 00 00 E0 */ b lbl_80044928 -lbl_8004484C: -/* 8004484C 80 7C 00 08 */ lwz r3, 8(r28) -/* 80044850 38 80 03 E8 */ li r4, 0x3e8 -/* 80044854 4B FD B6 31 */ bl fopMsgM_messageSet__FUlUl -/* 80044858 90 7C 00 00 */ stw r3, 0(r28) -/* 8004485C 80 7C 00 00 */ lwz r3, 0(r28) -/* 80044860 3C 03 00 01 */ addis r0, r3, 1 -/* 80044864 28 00 FF FF */ cmplwi r0, 0xffff -/* 80044868 41 82 01 D8 */ beq lbl_80044A40 -/* 8004486C 38 00 00 01 */ li r0, 1 -/* 80044870 B0 1B 00 42 */ sth r0, 0x42(r27) -lbl_80044874: -/* 80044874 80 7C 00 00 */ lwz r3, 0(r28) -/* 80044878 4B FD B1 AD */ bl fopMsgM_SearchByID__FUi -/* 8004487C 90 7C 00 04 */ stw r3, 4(r28) -/* 80044880 80 7C 00 04 */ lwz r3, 4(r28) -/* 80044884 28 03 00 00 */ cmplwi r3, 0 -/* 80044888 41 82 01 B8 */ beq lbl_80044A40 -/* 8004488C A0 03 00 F8 */ lhz r0, 0xf8(r3) -/* 80044890 2C 00 00 11 */ cmpwi r0, 0x11 -/* 80044894 41 82 01 AC */ beq lbl_80044A40 -/* 80044898 40 80 00 10 */ bge lbl_800448A8 -/* 8004489C 2C 00 00 0E */ cmpwi r0, 0xe -/* 800448A0 41 82 00 14 */ beq lbl_800448B4 -/* 800448A4 48 00 01 9C */ b lbl_80044A40 -lbl_800448A8: -/* 800448A8 2C 00 00 13 */ cmpwi r0, 0x13 -/* 800448AC 40 80 01 94 */ bge lbl_80044A40 -/* 800448B0 48 00 00 10 */ b lbl_800448C0 -lbl_800448B4: -/* 800448B4 38 00 00 10 */ li r0, 0x10 -/* 800448B8 B0 03 00 F8 */ sth r0, 0xf8(r3) -/* 800448BC 48 00 01 84 */ b lbl_80044A40 -lbl_800448C0: -/* 800448C0 38 00 00 13 */ li r0, 0x13 -/* 800448C4 B0 03 00 F8 */ sth r0, 0xf8(r3) -/* 800448C8 38 00 FF FF */ li r0, -1 -/* 800448CC 90 1C 00 00 */ stw r0, 0(r28) -/* 800448D0 38 80 00 00 */ li r4, 0 -/* 800448D4 90 9C 00 04 */ stw r4, 4(r28) -/* 800448D8 80 7C 00 0C */ lwz r3, 0xc(r28) -/* 800448DC 38 03 FF FF */ addi r0, r3, -1 -/* 800448E0 90 1C 00 0C */ stw r0, 0xc(r28) -/* 800448E4 80 1C 00 0C */ lwz r0, 0xc(r28) -/* 800448E8 2C 00 00 00 */ cmpwi r0, 0 -/* 800448EC 41 82 00 24 */ beq lbl_80044910 -/* 800448F0 B0 9B 00 42 */ sth r4, 0x42(r27) -/* 800448F4 80 7C 00 10 */ lwz r3, 0x10(r28) -/* 800448F8 38 03 00 04 */ addi r0, r3, 4 -/* 800448FC 90 1C 00 10 */ stw r0, 0x10(r28) -/* 80044900 80 7C 00 10 */ lwz r3, 0x10(r28) -/* 80044904 80 03 00 00 */ lwz r0, 0(r3) -/* 80044908 90 1C 00 08 */ stw r0, 8(r28) -/* 8004490C 48 00 01 34 */ b lbl_80044A40 -lbl_80044910: -/* 80044910 7F A3 EB 78 */ mr r3, r29 -/* 80044914 7F C4 F3 78 */ mr r4, r30 -/* 80044918 48 00 38 65 */ bl cutEnd__16dEvent_manager_cFi -/* 8004491C 38 00 00 63 */ li r0, 0x63 -/* 80044920 B0 1B 00 42 */ sth r0, 0x42(r27) -/* 80044924 48 00 01 1C */ b lbl_80044A40 -lbl_80044928: -/* 80044928 7F A3 EB 78 */ mr r3, r29 -/* 8004492C 7F C4 F3 78 */ mr r4, r30 -/* 80044930 48 00 38 4D */ bl cutEnd__16dEvent_manager_cFi -/* 80044934 48 00 01 0C */ b lbl_80044A40 -lbl_80044938: -/* 80044938 80 7C 00 04 */ lwz r3, 4(r28) -/* 8004493C 28 03 00 00 */ cmplwi r3, 0 -/* 80044940 40 82 00 14 */ bne lbl_80044954 -/* 80044944 7F A3 EB 78 */ mr r3, r29 -/* 80044948 7F C4 F3 78 */ mr r4, r30 -/* 8004494C 48 00 38 31 */ bl cutEnd__16dEvent_manager_cFi -/* 80044950 48 00 00 F0 */ b lbl_80044A40 -lbl_80044954: -/* 80044954 A0 03 00 F8 */ lhz r0, 0xf8(r3) -/* 80044958 28 00 00 12 */ cmplwi r0, 0x12 -/* 8004495C 40 82 00 E4 */ bne lbl_80044A40 -/* 80044960 38 00 00 13 */ li r0, 0x13 -/* 80044964 B0 03 00 F8 */ sth r0, 0xf8(r3) -/* 80044968 38 00 FF FF */ li r0, -1 -/* 8004496C 90 1C 00 00 */ stw r0, 0(r28) -/* 80044970 38 00 00 00 */ li r0, 0 -/* 80044974 90 1C 00 04 */ stw r0, 4(r28) -/* 80044978 7F A3 EB 78 */ mr r3, r29 -/* 8004497C 7F C4 F3 78 */ mr r4, r30 -/* 80044980 48 00 37 FD */ bl cutEnd__16dEvent_manager_cFi -/* 80044984 48 00 00 BC */ b lbl_80044A40 -lbl_80044988: -/* 80044988 7F A3 EB 78 */ mr r3, r29 -/* 8004498C 7F C4 F3 78 */ mr r4, r30 -/* 80044990 48 00 37 ED */ bl cutEnd__16dEvent_manager_cFi -/* 80044994 48 00 00 AC */ b lbl_80044A40 -lbl_80044998: -/* 80044998 80 7C 00 04 */ lwz r3, 4(r28) -/* 8004499C A0 03 00 F8 */ lhz r0, 0xf8(r3) -/* 800449A0 2C 00 00 13 */ cmpwi r0, 0x13 -/* 800449A4 40 80 00 9C */ bge lbl_80044A40 -/* 800449A8 2C 00 00 11 */ cmpwi r0, 0x11 -/* 800449AC 40 80 00 08 */ bge lbl_800449B4 -/* 800449B0 48 00 00 90 */ b lbl_80044A40 -lbl_800449B4: -/* 800449B4 7F A3 EB 78 */ mr r3, r29 -/* 800449B8 7F C4 F3 78 */ mr r4, r30 -/* 800449BC 48 00 37 C1 */ bl cutEnd__16dEvent_manager_cFi -/* 800449C0 48 00 00 80 */ b lbl_80044A40 -lbl_800449C4: -/* 800449C4 80 7C 00 00 */ lwz r3, 0(r28) -/* 800449C8 3C 03 00 01 */ addis r0, r3, 1 -/* 800449CC 28 00 FF FF */ cmplwi r0, 0xffff -/* 800449D0 41 82 00 2C */ beq lbl_800449FC -/* 800449D4 4B FD B0 51 */ bl fopMsgM_SearchByID__FUi -/* 800449D8 28 03 00 00 */ cmplwi r3, 0 -/* 800449DC 41 82 00 18 */ beq lbl_800449F4 -/* 800449E0 88 03 01 18 */ lbz r0, 0x118(r3) -/* 800449E4 20 00 00 08 */ subfic r0, r0, 8 -/* 800449E8 7C 00 00 34 */ cntlzw r0, r0 -/* 800449EC 54 00 DE 3E */ rlwinm r0, r0, 0x1b, 0x18, 0x1f -/* 800449F0 48 00 00 10 */ b lbl_80044A00 -lbl_800449F4: -/* 800449F4 38 00 00 00 */ li r0, 0 -/* 800449F8 48 00 00 08 */ b lbl_80044A00 -lbl_800449FC: -/* 800449FC 38 00 00 00 */ li r0, 0 -lbl_80044A00: -/* 80044A00 2C 00 00 00 */ cmpwi r0, 0 -/* 80044A04 41 82 00 3C */ beq lbl_80044A40 -/* 80044A08 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80044A0C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80044A10 88 03 5E 89 */ lbz r0, 0x5e89(r3) -/* 80044A14 28 00 00 01 */ cmplwi r0, 1 -/* 80044A18 40 82 00 28 */ bne lbl_80044A40 -/* 80044A1C 7F A3 EB 78 */ mr r3, r29 -/* 80044A20 7F C4 F3 78 */ mr r4, r30 -/* 80044A24 48 00 37 59 */ bl cutEnd__16dEvent_manager_cFi -/* 80044A28 7F 83 E3 78 */ mr r3, r28 -/* 80044A2C 48 15 75 DD */ bl d_GameOver_Delete__FRUi -/* 80044A30 48 00 00 10 */ b lbl_80044A40 -lbl_80044A34: -/* 80044A34 7F A3 EB 78 */ mr r3, r29 -/* 80044A38 7F C4 F3 78 */ mr r4, r30 -/* 80044A3C 48 00 37 41 */ bl cutEnd__16dEvent_manager_cFi -lbl_80044A40: -/* 80044A40 39 61 00 20 */ addi r11, r1, 0x20 -/* 80044A44 48 31 D7 D9 */ bl _restgpr_26 -/* 80044A48 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80044A4C 7C 08 03 A6 */ mtlr r0 -/* 80044A50 38 21 00 20 */ addi r1, r1, 0x20 -/* 80044A54 4E 80 00 20 */ blr diff --git a/asm/d/event/d_event_data/specialProcTimekeeper__12dEvDtStaff_cFv.s b/asm/d/event/d_event_data/specialProcTimekeeper__12dEvDtStaff_cFv.s deleted file mode 100644 index 8e2a5201e1..0000000000 --- a/asm/d/event/d_event_data/specialProcTimekeeper__12dEvDtStaff_cFv.s +++ /dev/null @@ -1,85 +0,0 @@ -lbl_80045AFC: -/* 80045AFC 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80045B00 7C 08 02 A6 */ mflr r0 -/* 80045B04 90 01 00 24 */ stw r0, 0x24(r1) -/* 80045B08 39 61 00 20 */ addi r11, r1, 0x20 -/* 80045B0C 48 31 C6 CD */ bl _savegpr_28 -/* 80045B10 7C 7E 1B 78 */ mr r30, r3 -/* 80045B14 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80045B18 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80045B1C 3B E3 4F F8 */ addi r31, r3, 0x4ff8 -/* 80045B20 7F E3 FB 78 */ mr r3, r31 -/* 80045B24 3C 80 80 38 */ lis r4, d_event_d_event_data__stringBase0@ha /* 0x80379DD0@ha */ -/* 80045B28 38 84 9D D0 */ addi r4, r4, d_event_d_event_data__stringBase0@l /* 0x80379DD0@l */ -/* 80045B2C 38 84 01 53 */ addi r4, r4, 0x153 -/* 80045B30 38 A0 00 00 */ li r5, 0 -/* 80045B34 38 C0 00 00 */ li r6, 0 -/* 80045B38 48 00 1F E5 */ bl getMyStaffId__16dEvent_manager_cFPCcP10fopAc_ac_ci -/* 80045B3C 7C 7C 1B 78 */ mr r28, r3 -/* 80045B40 2C 1C FF FF */ cmpwi r28, -1 -/* 80045B44 41 82 00 D8 */ beq lbl_80045C1C -/* 80045B48 7F E3 FB 78 */ mr r3, r31 -/* 80045B4C 7F 84 E3 78 */ mr r4, r28 -/* 80045B50 48 00 24 0D */ bl getMyNowCutName__16dEvent_manager_cFi -/* 80045B54 7C 7D 1B 78 */ mr r29, r3 -/* 80045B58 7F E3 FB 78 */ mr r3, r31 -/* 80045B5C 7F 84 E3 78 */ mr r4, r28 -/* 80045B60 48 00 21 ED */ bl getIsAddvance__16dEvent_manager_cFi -/* 80045B64 2C 03 00 00 */ cmpwi r3, 0 -/* 80045B68 41 82 00 54 */ beq lbl_80045BBC -/* 80045B6C 80 9D 00 00 */ lwz r4, 0(r29) -/* 80045B70 3C 60 57 41 */ lis r3, 0x5741 /* 0x57414954@ha */ -/* 80045B74 38 03 49 54 */ addi r0, r3, 0x4954 /* 0x57414954@l */ -/* 80045B78 7C 04 00 00 */ cmpw r4, r0 -/* 80045B7C 41 82 00 40 */ beq lbl_80045BBC -/* 80045B80 40 80 00 3C */ bge lbl_80045BBC -/* 80045B84 3C 60 43 4F */ lis r3, 0x434F /* 0x434F554E@ha */ -/* 80045B88 38 03 55 4E */ addi r0, r3, 0x554E /* 0x434F554E@l */ -/* 80045B8C 7C 04 00 00 */ cmpw r4, r0 -/* 80045B90 41 82 00 08 */ beq lbl_80045B98 -/* 80045B94 48 00 00 28 */ b lbl_80045BBC -lbl_80045B98: -/* 80045B98 7F E3 FB 78 */ mr r3, r31 -/* 80045B9C 7F 84 E3 78 */ mr r4, r28 -/* 80045BA0 3C A0 80 38 */ lis r5, d_event_d_event_data__stringBase0@ha /* 0x80379DD0@ha */ -/* 80045BA4 38 A5 9D D0 */ addi r5, r5, d_event_d_event_data__stringBase0@l /* 0x80379DD0@l */ -/* 80045BA8 38 A5 00 3D */ addi r5, r5, 0x3d -/* 80045BAC 38 C0 00 03 */ li r6, 3 -/* 80045BB0 48 00 25 3D */ bl getMySubstanceP__16dEvent_manager_cFiPCci -/* 80045BB4 80 03 00 00 */ lwz r0, 0(r3) -/* 80045BB8 90 1E 00 42 */ stw r0, 0x42(r30) -lbl_80045BBC: -/* 80045BBC 80 9D 00 00 */ lwz r4, 0(r29) -/* 80045BC0 3C 60 57 41 */ lis r3, 0x5741 /* 0x57414954@ha */ -/* 80045BC4 38 03 49 54 */ addi r0, r3, 0x4954 /* 0x57414954@l */ -/* 80045BC8 7C 04 00 00 */ cmpw r4, r0 -/* 80045BCC 41 82 00 44 */ beq lbl_80045C10 -/* 80045BD0 40 80 00 40 */ bge lbl_80045C10 -/* 80045BD4 3C 60 43 4F */ lis r3, 0x434F /* 0x434F554E@ha */ -/* 80045BD8 38 03 55 4E */ addi r0, r3, 0x554E /* 0x434F554E@l */ -/* 80045BDC 7C 04 00 00 */ cmpw r4, r0 -/* 80045BE0 41 82 00 08 */ beq lbl_80045BE8 -/* 80045BE4 48 00 00 2C */ b lbl_80045C10 -lbl_80045BE8: -/* 80045BE8 80 7E 00 42 */ lwz r3, 0x42(r30) -/* 80045BEC 2C 03 00 00 */ cmpwi r3, 0 -/* 80045BF0 40 81 00 10 */ ble lbl_80045C00 -/* 80045BF4 38 03 FF FF */ addi r0, r3, -1 -/* 80045BF8 90 1E 00 42 */ stw r0, 0x42(r30) -/* 80045BFC 48 00 00 20 */ b lbl_80045C1C -lbl_80045C00: -/* 80045C00 7F E3 FB 78 */ mr r3, r31 -/* 80045C04 7F 84 E3 78 */ mr r4, r28 -/* 80045C08 48 00 25 75 */ bl cutEnd__16dEvent_manager_cFi -/* 80045C0C 48 00 00 10 */ b lbl_80045C1C -lbl_80045C10: -/* 80045C10 7F E3 FB 78 */ mr r3, r31 -/* 80045C14 7F 84 E3 78 */ mr r4, r28 -/* 80045C18 48 00 25 65 */ bl cutEnd__16dEvent_manager_cFi -lbl_80045C1C: -/* 80045C1C 39 61 00 20 */ addi r11, r1, 0x20 -/* 80045C20 48 31 C6 05 */ bl _restgpr_28 -/* 80045C24 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80045C28 7C 08 03 A6 */ mtlr r0 -/* 80045C2C 38 21 00 20 */ addi r1, r1, 0x20 -/* 80045C30 4E 80 00 20 */ blr diff --git a/asm/d/event/d_event_data/specialProc_WaitProc__12dEvDtStaff_cFi.s b/asm/d/event/d_event_data/specialProc_WaitProc__12dEvDtStaff_cFi.s deleted file mode 100644 index d4e80d304a..0000000000 --- a/asm/d/event/d_event_data/specialProc_WaitProc__12dEvDtStaff_cFi.s +++ /dev/null @@ -1,20 +0,0 @@ -lbl_8004403C: -/* 8004403C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80044040 7C 08 02 A6 */ mflr r0 -/* 80044044 90 01 00 14 */ stw r0, 0x14(r1) -/* 80044048 A8 A3 00 36 */ lha r5, 0x36(r3) -/* 8004404C 2C 05 00 00 */ cmpwi r5, 0 -/* 80044050 40 81 00 10 */ ble lbl_80044060 -/* 80044054 38 05 FF FF */ addi r0, r5, -1 -/* 80044058 B0 03 00 36 */ sth r0, 0x36(r3) -/* 8004405C 48 00 00 14 */ b lbl_80044070 -lbl_80044060: -/* 80044060 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80044064 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80044068 38 63 4F F8 */ addi r3, r3, 0x4ff8 -/* 8004406C 48 00 41 11 */ bl cutEnd__16dEvent_manager_cFi -lbl_80044070: -/* 80044070 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80044074 7C 08 03 A6 */ mtlr r0 -/* 80044078 38 21 00 10 */ addi r1, r1, 0x10 -/* 8004407C 4E 80 00 20 */ blr diff --git a/asm/d/event/d_event_data/specialProc_WaitStart__12dEvDtStaff_cFi.s b/asm/d/event/d_event_data/specialProc_WaitStart__12dEvDtStaff_cFi.s deleted file mode 100644 index ddfb5ae54f..0000000000 --- a/asm/d/event/d_event_data/specialProc_WaitStart__12dEvDtStaff_cFi.s +++ /dev/null @@ -1,28 +0,0 @@ -lbl_80043FD8: -/* 80043FD8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80043FDC 7C 08 02 A6 */ mflr r0 -/* 80043FE0 90 01 00 14 */ stw r0, 0x14(r1) -/* 80043FE4 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80043FE8 7C 7F 1B 78 */ mr r31, r3 -/* 80043FEC 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80043FF0 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80043FF4 38 63 4F F8 */ addi r3, r3, 0x4ff8 -/* 80043FF8 3C A0 80 38 */ lis r5, d_event_d_event_data__stringBase0@ha /* 0x80379DD0@ha */ -/* 80043FFC 38 A5 9D D0 */ addi r5, r5, d_event_d_event_data__stringBase0@l /* 0x80379DD0@l */ -/* 80044000 38 A5 00 3D */ addi r5, r5, 0x3d -/* 80044004 38 C0 00 03 */ li r6, 3 -/* 80044008 48 00 40 E5 */ bl getMySubstanceP__16dEvent_manager_cFiPCci -/* 8004400C 28 03 00 00 */ cmplwi r3, 0 -/* 80044010 40 82 00 10 */ bne lbl_80044020 -/* 80044014 38 00 00 00 */ li r0, 0 -/* 80044018 B0 1F 00 36 */ sth r0, 0x36(r31) -/* 8004401C 48 00 00 0C */ b lbl_80044028 -lbl_80044020: -/* 80044020 80 03 00 00 */ lwz r0, 0(r3) -/* 80044024 B0 1F 00 36 */ sth r0, 0x36(r31) -lbl_80044028: -/* 80044028 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8004402C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80044030 7C 08 03 A6 */ mtlr r0 -/* 80044034 38 21 00 10 */ addi r1, r1, 0x10 -/* 80044038 4E 80 00 20 */ blr diff --git a/asm/d/event/d_event_data/specialProc__12dEvDtStaff_cFv.s b/asm/d/event/d_event_data/specialProc__12dEvDtStaff_cFv.s deleted file mode 100644 index 596e5a0f92..0000000000 --- a/asm/d/event/d_event_data/specialProc__12dEvDtStaff_cFv.s +++ /dev/null @@ -1,47 +0,0 @@ -lbl_80044080: -/* 80044080 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80044084 7C 08 02 A6 */ mflr r0 -/* 80044088 90 01 00 14 */ stw r0, 0x14(r1) -/* 8004408C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80044090 7C 7F 1B 78 */ mr r31, r3 -/* 80044094 80 03 00 2C */ lwz r0, 0x2c(r3) -/* 80044098 28 00 00 0C */ cmplwi r0, 0xc -/* 8004409C 41 81 00 84 */ bgt lbl_80044120 -/* 800440A0 3C 80 80 3B */ lis r4, lit_4398@ha /* 0x803A8238@ha */ -/* 800440A4 38 84 82 38 */ addi r4, r4, lit_4398@l /* 0x803A8238@l */ -/* 800440A8 54 00 10 3A */ slwi r0, r0, 2 -/* 800440AC 7C 04 00 2E */ lwzx r0, r4, r0 -/* 800440B0 7C 09 03 A6 */ mtctr r0 -/* 800440B4 4E 80 04 20 */ bctr -/* 800440B8 48 00 17 C1 */ bl specialProcPackage__12dEvDtStaff_cFv -/* 800440BC 48 00 00 64 */ b lbl_80044120 -/* 800440C0 48 00 0E 25 */ bl specialProcDirector__12dEvDtStaff_cFv -/* 800440C4 48 00 00 5C */ b lbl_80044120 -/* 800440C8 48 00 1A 35 */ bl specialProcTimekeeper__12dEvDtStaff_cFv -/* 800440CC 48 00 00 54 */ b lbl_80044120 -/* 800440D0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800440D4 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800440D8 38 63 4F F8 */ addi r3, r3, 0x4ff8 -/* 800440DC 80 9F 00 24 */ lwz r4, 0x24(r31) -/* 800440E0 48 00 40 9D */ bl cutEnd__16dEvent_manager_cFi -/* 800440E4 48 00 00 3C */ b lbl_80044120 -/* 800440E8 48 00 1B 4D */ bl specialProcEffect__12dEvDtStaff_cFv -/* 800440EC 48 00 00 34 */ b lbl_80044120 -/* 800440F0 48 00 0B C9 */ bl specialProcCreate__12dEvDtStaff_cFv -/* 800440F4 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800440F8 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800440FC 38 63 4F F8 */ addi r3, r3, 0x4ff8 -/* 80044100 80 9F 00 24 */ lwz r4, 0x24(r31) -/* 80044104 48 00 40 79 */ bl cutEnd__16dEvent_manager_cFi -/* 80044108 48 00 00 18 */ b lbl_80044120 -/* 8004410C 48 00 09 4D */ bl specialProcSound__12dEvDtStaff_cFv -/* 80044110 48 00 00 10 */ b lbl_80044120 -/* 80044114 48 00 02 11 */ bl specialProcMessage__12dEvDtStaff_cFv -/* 80044118 48 00 00 08 */ b lbl_80044120 -/* 8004411C 48 00 00 75 */ bl specialProcLight__12dEvDtStaff_cFv -lbl_80044120: -/* 80044120 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80044124 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80044128 7C 08 03 A6 */ mtlr r0 -/* 8004412C 38 21 00 10 */ addi r1, r1, 0x10 -/* 80044130 4E 80 00 20 */ blr diff --git a/asm/d/event/d_event_data/specialStaffProc__12dEvDtEvent_cFP12dEvDtStaff_c.s b/asm/d/event/d_event_data/specialStaffProc__12dEvDtEvent_cFP12dEvDtStaff_c.s deleted file mode 100644 index 05abe133d0..0000000000 --- a/asm/d/event/d_event_data/specialStaffProc__12dEvDtEvent_cFP12dEvDtStaff_c.s +++ /dev/null @@ -1,29 +0,0 @@ -lbl_80043F70: -/* 80043F70 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80043F74 7C 08 02 A6 */ mflr r0 -/* 80043F78 90 01 00 24 */ stw r0, 0x24(r1) -/* 80043F7C 39 61 00 20 */ addi r11, r1, 0x20 -/* 80043F80 48 31 E2 59 */ bl _savegpr_28 -/* 80043F84 7C 7C 1B 78 */ mr r28, r3 -/* 80043F88 7C 9D 23 78 */ mr r29, r4 -/* 80043F8C 3B C0 00 00 */ li r30, 0 -/* 80043F90 3B E0 00 00 */ li r31, 0 -/* 80043F94 48 00 00 20 */ b lbl_80043FB4 -lbl_80043F98: -/* 80043F98 38 1F 00 2C */ addi r0, r31, 0x2c -/* 80043F9C 7C 1C 00 2E */ lwzx r0, r28, r0 -/* 80043FA0 1C 00 00 50 */ mulli r0, r0, 0x50 -/* 80043FA4 7C 7D 02 14 */ add r3, r29, r0 -/* 80043FA8 48 00 00 D9 */ bl specialProc__12dEvDtStaff_cFv -/* 80043FAC 3B DE 00 01 */ addi r30, r30, 1 -/* 80043FB0 3B FF 00 04 */ addi r31, r31, 4 -lbl_80043FB4: -/* 80043FB4 80 1C 00 7C */ lwz r0, 0x7c(r28) -/* 80043FB8 7C 1E 00 00 */ cmpw r30, r0 -/* 80043FBC 41 80 FF DC */ blt lbl_80043F98 -/* 80043FC0 39 61 00 20 */ addi r11, r1, 0x20 -/* 80043FC4 48 31 E2 61 */ bl _restgpr_28 -/* 80043FC8 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80043FCC 7C 08 03 A6 */ mtlr r0 -/* 80043FD0 38 21 00 20 */ addi r1, r1, 0x20 -/* 80043FD4 4E 80 00 20 */ blr diff --git a/asm/d/event/d_event_data/startCheck__10dEvDtCut_cFv.s b/asm/d/event/d_event_data/startCheck__10dEvDtCut_cFv.s deleted file mode 100644 index 3682b23c52..0000000000 --- a/asm/d/event/d_event_data/startCheck__10dEvDtCut_cFv.s +++ /dev/null @@ -1,41 +0,0 @@ -lbl_800460A8: -/* 800460A8 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 800460AC 7C 08 02 A6 */ mflr r0 -/* 800460B0 90 01 00 24 */ stw r0, 0x24(r1) -/* 800460B4 39 61 00 20 */ addi r11, r1, 0x20 -/* 800460B8 48 31 C1 21 */ bl _savegpr_28 -/* 800460BC 7C 7C 1B 78 */ mr r28, r3 -/* 800460C0 3B A0 00 00 */ li r29, 0 -/* 800460C4 3B E0 00 00 */ li r31, 0 -/* 800460C8 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800460CC 3B C3 61 C0 */ addi r30, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -lbl_800460D0: -/* 800460D0 38 1F 00 28 */ addi r0, r31, 0x28 -/* 800460D4 7C 9C 00 2E */ lwzx r4, r28, r0 -/* 800460D8 2C 04 FF FF */ cmpwi r4, -1 -/* 800460DC 40 82 00 18 */ bne lbl_800460F4 -/* 800460E0 2C 1D 00 00 */ cmpwi r29, 0 -/* 800460E4 38 60 00 01 */ li r3, 1 -/* 800460E8 40 82 00 38 */ bne lbl_80046120 -/* 800460EC 38 60 FF FF */ li r3, -1 -/* 800460F0 48 00 00 30 */ b lbl_80046120 -lbl_800460F4: -/* 800460F4 38 7E 51 B4 */ addi r3, r30, 0x51b4 -/* 800460F8 4B FF DC 69 */ bl flagCheck__11dEvDtFlag_cFi -/* 800460FC 2C 03 00 00 */ cmpwi r3, 0 -/* 80046100 40 82 00 0C */ bne lbl_8004610C -/* 80046104 38 60 00 00 */ li r3, 0 -/* 80046108 48 00 00 18 */ b lbl_80046120 -lbl_8004610C: -/* 8004610C 3B BD 00 01 */ addi r29, r29, 1 -/* 80046110 2C 1D 00 03 */ cmpwi r29, 3 -/* 80046114 3B FF 00 04 */ addi r31, r31, 4 -/* 80046118 41 80 FF B8 */ blt lbl_800460D0 -/* 8004611C 38 60 00 01 */ li r3, 1 -lbl_80046120: -/* 80046120 39 61 00 20 */ addi r11, r1, 0x20 -/* 80046124 48 31 C1 01 */ bl _restgpr_28 -/* 80046128 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8004612C 7C 08 03 A6 */ mtlr r0 -/* 80046130 38 21 00 20 */ addi r1, r1, 0x20 -/* 80046134 4E 80 00 20 */ blr diff --git a/asm/d/event/d_event_lib/__sinit_d_event_lib_cpp.s b/asm/d/event/d_event_lib/__sinit_d_event_lib_cpp.s deleted file mode 100644 index 2f70727778..0000000000 --- a/asm/d/event/d_event_lib/__sinit_d_event_lib_cpp.s +++ /dev/null @@ -1,32 +0,0 @@ -lbl_80048BD8: -/* 80048BD8 3C 60 80 3B */ lis r3, cNullVec__6Z2Calc@ha /* 0x803A82B8@ha */ -/* 80048BDC 38 A3 82 B8 */ addi r5, r3, cNullVec__6Z2Calc@l /* 0x803A82B8@l */ -/* 80048BE0 3C 60 80 42 */ lis r3, l_startAction@ha /* 0x804246E0@ha */ -/* 80048BE4 38 83 46 E0 */ addi r4, r3, l_startAction@l /* 0x804246E0@l */ -/* 80048BE8 80 65 00 0C */ lwz r3, 0xc(r5) -/* 80048BEC 80 05 00 10 */ lwz r0, 0x10(r5) -/* 80048BF0 90 64 00 00 */ stw r3, 0(r4) -/* 80048BF4 90 04 00 04 */ stw r0, 4(r4) -/* 80048BF8 80 05 00 14 */ lwz r0, 0x14(r5) -/* 80048BFC 90 04 00 08 */ stw r0, 8(r4) -/* 80048C00 80 65 00 18 */ lwz r3, 0x18(r5) -/* 80048C04 80 05 00 1C */ lwz r0, 0x1c(r5) -/* 80048C08 90 64 00 0C */ stw r3, 0xc(r4) -/* 80048C0C 90 04 00 10 */ stw r0, 0x10(r4) -/* 80048C10 80 05 00 20 */ lwz r0, 0x20(r5) -/* 80048C14 90 04 00 14 */ stw r0, 0x14(r4) -/* 80048C18 3C 60 80 42 */ lis r3, l_runAction@ha /* 0x804246F8@ha */ -/* 80048C1C 38 83 46 F8 */ addi r4, r3, l_runAction@l /* 0x804246F8@l */ -/* 80048C20 80 65 00 24 */ lwz r3, 0x24(r5) -/* 80048C24 80 05 00 28 */ lwz r0, 0x28(r5) -/* 80048C28 90 64 00 00 */ stw r3, 0(r4) -/* 80048C2C 90 04 00 04 */ stw r0, 4(r4) -/* 80048C30 80 05 00 2C */ lwz r0, 0x2c(r5) -/* 80048C34 90 04 00 08 */ stw r0, 8(r4) -/* 80048C38 80 65 00 30 */ lwz r3, 0x30(r5) -/* 80048C3C 80 05 00 34 */ lwz r0, 0x34(r5) -/* 80048C40 90 64 00 0C */ stw r3, 0xc(r4) -/* 80048C44 90 04 00 10 */ stw r0, 0x10(r4) -/* 80048C48 80 05 00 38 */ lwz r0, 0x38(r5) -/* 80048C4C 90 04 00 14 */ stw r0, 0x14(r4) -/* 80048C50 4E 80 00 20 */ blr diff --git a/asm/d/event/d_event_lib/eventUpdate__17dEvLib_callback_cFv.s b/asm/d/event/d_event_lib/eventUpdate__17dEvLib_callback_cFv.s deleted file mode 100644 index f007284cb8..0000000000 --- a/asm/d/event/d_event_lib/eventUpdate__17dEvLib_callback_cFv.s +++ /dev/null @@ -1,17 +0,0 @@ -lbl_8004886C: -/* 8004886C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80048870 7C 08 02 A6 */ mflr r0 -/* 80048874 90 01 00 14 */ stw r0, 0x14(r1) -/* 80048878 80 03 00 08 */ lwz r0, 8(r3) -/* 8004887C 28 00 00 00 */ cmplwi r0, 0 -/* 80048880 40 82 00 0C */ bne lbl_8004888C -/* 80048884 38 60 00 00 */ li r3, 0 -/* 80048888 48 00 00 0C */ b lbl_80048894 -lbl_8004888C: -/* 8004888C 48 00 01 6D */ bl executeAction__17dEvLib_callback_cFv -/* 80048890 38 60 00 01 */ li r3, 1 -lbl_80048894: -/* 80048894 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80048898 7C 08 03 A6 */ mtlr r0 -/* 8004889C 38 21 00 10 */ addi r1, r1, 0x10 -/* 800488A0 4E 80 00 20 */ blr diff --git a/asm/d/event/d_event_lib/executeAction__17dEvLib_callback_cFv.s b/asm/d/event/d_event_lib/executeAction__17dEvLib_callback_cFv.s deleted file mode 100644 index f7269fbc65..0000000000 --- a/asm/d/event/d_event_lib/executeAction__17dEvLib_callback_cFv.s +++ /dev/null @@ -1,25 +0,0 @@ -lbl_800489F8: -/* 800489F8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800489FC 7C 08 02 A6 */ mflr r0 -/* 80048A00 90 01 00 14 */ stw r0, 0x14(r1) -/* 80048A04 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80048A08 7C 7F 1B 78 */ mr r31, r3 -/* 80048A0C 80 63 00 08 */ lwz r3, 8(r3) -/* 80048A10 38 63 00 0C */ addi r3, r3, 0xc -/* 80048A14 48 31 96 05 */ bl __ptmf_test -/* 80048A18 2C 03 00 00 */ cmpwi r3, 0 -/* 80048A1C 40 82 00 0C */ bne lbl_80048A28 -/* 80048A20 38 60 00 01 */ li r3, 1 -/* 80048A24 48 00 00 18 */ b lbl_80048A3C -lbl_80048A28: -/* 80048A28 80 7F 00 08 */ lwz r3, 8(r31) -/* 80048A2C 39 83 00 0C */ addi r12, r3, 0xc -/* 80048A30 7F E3 FB 78 */ mr r3, r31 -/* 80048A34 48 31 96 51 */ bl __ptmf_scall -/* 80048A38 60 00 00 00 */ nop -lbl_80048A3C: -/* 80048A3C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80048A40 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80048A44 7C 08 03 A6 */ mtlr r0 -/* 80048A48 38 21 00 10 */ addi r1, r1, 0x10 -/* 80048A4C 4E 80 00 20 */ blr diff --git a/asm/d/event/d_event_lib/executeRun__17dEvLib_callback_cFv.s b/asm/d/event/d_event_lib/executeRun__17dEvLib_callback_cFv.s deleted file mode 100644 index 85448cd020..0000000000 --- a/asm/d/event/d_event_lib/executeRun__17dEvLib_callback_cFv.s +++ /dev/null @@ -1,39 +0,0 @@ -lbl_80048B48: -/* 80048B48 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80048B4C 7C 08 02 A6 */ mflr r0 -/* 80048B50 90 01 00 14 */ stw r0, 0x14(r1) -/* 80048B54 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80048B58 93 C1 00 08 */ stw r30, 8(r1) -/* 80048B5C 7C 7E 1B 78 */ mr r30, r3 -/* 80048B60 80 63 00 04 */ lwz r3, 4(r3) -/* 80048B64 A8 83 00 FC */ lha r4, 0xfc(r3) -/* 80048B68 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80048B6C 3B E3 61 C0 */ addi r31, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80048B70 38 7F 4F F8 */ addi r3, r31, 0x4ff8 -/* 80048B74 4B FF EF 05 */ bl endCheck__16dEvent_manager_cFs -/* 80048B78 2C 03 00 00 */ cmpwi r3, 0 -/* 80048B7C 40 82 00 1C */ bne lbl_80048B98 -/* 80048B80 7F C3 F3 78 */ mr r3, r30 -/* 80048B84 81 9E 00 00 */ lwz r12, 0(r30) -/* 80048B88 81 8C 00 10 */ lwz r12, 0x10(r12) -/* 80048B8C 7D 89 03 A6 */ mtctr r12 -/* 80048B90 4E 80 04 21 */ bctrl -/* 80048B94 48 00 00 2C */ b lbl_80048BC0 -lbl_80048B98: -/* 80048B98 38 7F 4E C8 */ addi r3, r31, 0x4ec8 -/* 80048B9C 4B FF 98 CD */ bl reset__14dEvt_control_cFv -/* 80048BA0 7F C3 F3 78 */ mr r3, r30 -/* 80048BA4 38 80 00 00 */ li r4, 0 -/* 80048BA8 4B FF FD C9 */ bl func_80048970 -/* 80048BAC 7F C3 F3 78 */ mr r3, r30 -/* 80048BB0 81 9E 00 00 */ lwz r12, 0(r30) -/* 80048BB4 81 8C 00 14 */ lwz r12, 0x14(r12) -/* 80048BB8 7D 89 03 A6 */ mtctr r12 -/* 80048BBC 4E 80 04 21 */ bctrl -lbl_80048BC0: -/* 80048BC0 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80048BC4 83 C1 00 08 */ lwz r30, 8(r1) -/* 80048BC8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80048BCC 7C 08 03 A6 */ mtlr r0 -/* 80048BD0 38 21 00 10 */ addi r1, r1, 0x10 -/* 80048BD4 4E 80 00 20 */ blr diff --git a/asm/d/event/d_event_lib/executeStart__17dEvLib_callback_cFv.s b/asm/d/event/d_event_lib/executeStart__17dEvLib_callback_cFv.s deleted file mode 100644 index 8509111213..0000000000 --- a/asm/d/event/d_event_lib/executeStart__17dEvLib_callback_cFv.s +++ /dev/null @@ -1,48 +0,0 @@ -lbl_80048A70: -/* 80048A70 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80048A74 7C 08 02 A6 */ mflr r0 -/* 80048A78 90 01 00 14 */ stw r0, 0x14(r1) -/* 80048A7C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80048A80 7C 7F 1B 78 */ mr r31, r3 -/* 80048A84 80 C3 00 04 */ lwz r6, 4(r3) -/* 80048A88 A0 06 00 F8 */ lhz r0, 0xf8(r6) -/* 80048A8C 28 00 00 02 */ cmplwi r0, 2 -/* 80048A90 41 82 00 6C */ beq lbl_80048AFC -/* 80048A94 88 06 00 FE */ lbz r0, 0xfe(r6) -/* 80048A98 28 00 00 FF */ cmplwi r0, 0xff -/* 80048A9C 41 82 00 28 */ beq lbl_80048AC4 -/* 80048AA0 A8 A6 00 FC */ lha r5, 0xfc(r6) -/* 80048AA4 7C C3 33 78 */ mr r3, r6 -/* 80048AA8 7C 04 03 78 */ mr r4, r0 -/* 80048AAC 3C C0 00 01 */ lis r6, 0x0001 /* 0x0000FFFF@ha */ -/* 80048AB0 38 C6 FF FF */ addi r6, r6, 0xFFFF /* 0x0000FFFF@l */ -/* 80048AB4 A0 FF 00 0C */ lhz r7, 0xc(r31) -/* 80048AB8 39 00 00 00 */ li r8, 0 -/* 80048ABC 4B FD 2C F9 */ bl fopAcM_orderMapToolEvent__FP10fopAc_ac_cUcsUsUsUs -/* 80048AC0 48 00 00 24 */ b lbl_80048AE4 -lbl_80048AC4: -/* 80048AC4 A8 86 00 FC */ lha r4, 0xfc(r6) -/* 80048AC8 7C C3 33 78 */ mr r3, r6 -/* 80048ACC 7C 05 03 78 */ mr r5, r0 -/* 80048AD0 3C C0 00 01 */ lis r6, 0x0001 /* 0x0000FFFF@ha */ -/* 80048AD4 38 C6 FF FF */ addi r6, r6, 0xFFFF /* 0x0000FFFF@l */ -/* 80048AD8 38 E0 00 00 */ li r7, 0 -/* 80048ADC A1 1F 00 0C */ lhz r8, 0xc(r31) -/* 80048AE0 4B FD 2B 9D */ bl fopAcM_orderOtherEventId__FP10fopAc_ac_csUcUsUsUs -lbl_80048AE4: -/* 80048AE4 80 7F 00 04 */ lwz r3, 4(r31) -/* 80048AE8 A0 03 00 FA */ lhz r0, 0xfa(r3) -/* 80048AEC 60 00 00 02 */ ori r0, r0, 2 -/* 80048AF0 B0 03 00 FA */ sth r0, 0xfa(r3) -/* 80048AF4 38 60 00 01 */ li r3, 1 -/* 80048AF8 48 00 00 10 */ b lbl_80048B08 -lbl_80048AFC: -/* 80048AFC 3C 80 80 42 */ lis r4, l_runAction@ha /* 0x804246F8@ha */ -/* 80048B00 38 84 46 F8 */ addi r4, r4, l_runAction@l /* 0x804246F8@l */ -/* 80048B04 4B FF FE 6D */ bl func_80048970 -lbl_80048B08: -/* 80048B08 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80048B0C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80048B10 7C 08 03 A6 */ mtlr r0 -/* 80048B14 38 21 00 10 */ addi r1, r1, 0x10 -/* 80048B18 4E 80 00 20 */ blr diff --git a/asm/d/event/d_event_lib/func_80048970.s b/asm/d/event/d_event_lib/func_80048970.s deleted file mode 100644 index 6b8b04ea3b..0000000000 --- a/asm/d/event/d_event_lib/func_80048970.s +++ /dev/null @@ -1,17 +0,0 @@ -lbl_80048970: -/* 80048970 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80048974 7C 08 02 A6 */ mflr r0 -/* 80048978 90 01 00 14 */ stw r0, 0x14(r1) -/* 8004897C 90 83 00 08 */ stw r4, 8(r3) -/* 80048980 80 03 00 08 */ lwz r0, 8(r3) -/* 80048984 28 00 00 00 */ cmplwi r0, 0 -/* 80048988 40 82 00 0C */ bne lbl_80048994 -/* 8004898C 38 60 00 00 */ li r3, 0 -/* 80048990 48 00 00 08 */ b lbl_80048998 -lbl_80048994: -/* 80048994 48 00 00 15 */ bl initAction__17dEvLib_callback_cFv -lbl_80048998: -/* 80048998 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8004899C 7C 08 03 A6 */ mtlr r0 -/* 800489A0 38 21 00 10 */ addi r1, r1, 0x10 -/* 800489A4 4E 80 00 20 */ blr diff --git a/asm/d/event/d_event_lib/initAction__17dEvLib_callback_cFv.s b/asm/d/event/d_event_lib/initAction__17dEvLib_callback_cFv.s deleted file mode 100644 index 5e276d7ba7..0000000000 --- a/asm/d/event/d_event_lib/initAction__17dEvLib_callback_cFv.s +++ /dev/null @@ -1,23 +0,0 @@ -lbl_800489A8: -/* 800489A8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800489AC 7C 08 02 A6 */ mflr r0 -/* 800489B0 90 01 00 14 */ stw r0, 0x14(r1) -/* 800489B4 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800489B8 7C 7F 1B 78 */ mr r31, r3 -/* 800489BC 80 63 00 08 */ lwz r3, 8(r3) -/* 800489C0 48 31 96 59 */ bl __ptmf_test -/* 800489C4 2C 03 00 00 */ cmpwi r3, 0 -/* 800489C8 40 82 00 0C */ bne lbl_800489D4 -/* 800489CC 38 60 00 01 */ li r3, 1 -/* 800489D0 48 00 00 14 */ b lbl_800489E4 -lbl_800489D4: -/* 800489D4 81 9F 00 08 */ lwz r12, 8(r31) -/* 800489D8 7F E3 FB 78 */ mr r3, r31 -/* 800489DC 48 31 96 A9 */ bl __ptmf_scall -/* 800489E0 60 00 00 00 */ nop -lbl_800489E4: -/* 800489E4 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800489E8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800489EC 7C 08 03 A6 */ mtlr r0 -/* 800489F0 38 21 00 10 */ addi r1, r1, 0x10 -/* 800489F4 4E 80 00 20 */ blr diff --git a/asm/d/event/d_event_lib/initRun__17dEvLib_callback_cFv.s b/asm/d/event/d_event_lib/initRun__17dEvLib_callback_cFv.s deleted file mode 100644 index 142107b1d9..0000000000 --- a/asm/d/event/d_event_lib/initRun__17dEvLib_callback_cFv.s +++ /dev/null @@ -1,12 +0,0 @@ -lbl_80048B1C: -/* 80048B1C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80048B20 7C 08 02 A6 */ mflr r0 -/* 80048B24 90 01 00 14 */ stw r0, 0x14(r1) -/* 80048B28 81 83 00 00 */ lwz r12, 0(r3) -/* 80048B2C 81 8C 00 0C */ lwz r12, 0xc(r12) -/* 80048B30 7D 89 03 A6 */ mtctr r12 -/* 80048B34 4E 80 04 21 */ bctrl -/* 80048B38 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80048B3C 7C 08 03 A6 */ mtlr r0 -/* 80048B40 38 21 00 10 */ addi r1, r1, 0x10 -/* 80048B44 4E 80 00 20 */ blr diff --git a/asm/d/event/d_event_lib/initStart__17dEvLib_callback_cFv.s b/asm/d/event/d_event_lib/initStart__17dEvLib_callback_cFv.s deleted file mode 100644 index 1880229535..0000000000 --- a/asm/d/event/d_event_lib/initStart__17dEvLib_callback_cFv.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_80048A50: -/* 80048A50 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80048A54 7C 08 02 A6 */ mflr r0 -/* 80048A58 90 01 00 14 */ stw r0, 0x14(r1) -/* 80048A5C 48 00 00 15 */ bl executeStart__17dEvLib_callback_cFv -/* 80048A60 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80048A64 7C 08 03 A6 */ mtlr r0 -/* 80048A68 38 21 00 10 */ addi r1, r1, 0x10 -/* 80048A6C 4E 80 00 20 */ blr diff --git a/asm/d/event/d_event_lib/orderEvent__17dEvLib_callback_cFiii.s b/asm/d/event/d_event_lib/orderEvent__17dEvLib_callback_cFiii.s deleted file mode 100644 index 61b9bc496f..0000000000 --- a/asm/d/event/d_event_lib/orderEvent__17dEvLib_callback_cFiii.s +++ /dev/null @@ -1,14 +0,0 @@ -lbl_80048940: -/* 80048940 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80048944 7C 08 02 A6 */ mflr r0 -/* 80048948 90 01 00 14 */ stw r0, 0x14(r1) -/* 8004894C 2C 06 00 00 */ cmpwi r6, 0 -/* 80048950 38 C0 00 01 */ li r6, 1 -/* 80048954 41 82 00 08 */ beq lbl_8004895C -/* 80048958 38 C0 01 01 */ li r6, 0x101 -lbl_8004895C: -/* 8004895C 4B FF FF 49 */ bl setEvent__17dEvLib_callback_cFiii -/* 80048960 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80048964 7C 08 03 A6 */ mtlr r0 -/* 80048968 38 21 00 10 */ addi r1, r1, 0x10 -/* 8004896C 4E 80 00 20 */ blr diff --git a/asm/d/event/d_event_lib/setEvent__17dEvLib_callback_cFiii.s b/asm/d/event/d_event_lib/setEvent__17dEvLib_callback_cFiii.s deleted file mode 100644 index c3213f27b5..0000000000 --- a/asm/d/event/d_event_lib/setEvent__17dEvLib_callback_cFiii.s +++ /dev/null @@ -1,43 +0,0 @@ -lbl_800488A4: -/* 800488A4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800488A8 7C 08 02 A6 */ mflr r0 -/* 800488AC 90 01 00 14 */ stw r0, 0x14(r1) -/* 800488B0 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800488B4 93 C1 00 08 */ stw r30, 8(r1) -/* 800488B8 7C 7E 1B 78 */ mr r30, r3 -/* 800488BC 7C DF 33 78 */ mr r31, r6 -/* 800488C0 80 03 00 08 */ lwz r0, 8(r3) -/* 800488C4 28 00 00 00 */ cmplwi r0, 0 -/* 800488C8 41 82 00 0C */ beq lbl_800488D4 -/* 800488CC 38 60 00 00 */ li r3, 0 -/* 800488D0 48 00 00 58 */ b lbl_80048928 -lbl_800488D4: -/* 800488D4 54 80 06 3E */ clrlwi r0, r4, 0x18 -/* 800488D8 80 7E 00 04 */ lwz r3, 4(r30) -/* 800488DC 98 83 00 FE */ stb r4, 0xfe(r3) -/* 800488E0 2C 04 00 FF */ cmpwi r4, 0xff -/* 800488E4 41 82 00 28 */ beq lbl_8004890C -/* 800488E8 2C 05 00 FF */ cmpwi r5, 0xff -/* 800488EC 40 82 00 20 */ bne lbl_8004890C -/* 800488F0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800488F4 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800488F8 38 63 4F F8 */ addi r3, r3, 0x4ff8 -/* 800488FC 80 9E 00 04 */ lwz r4, 4(r30) -/* 80048900 7C 05 03 78 */ mr r5, r0 -/* 80048904 4B FF ED 95 */ bl getEventIdx__16dEvent_manager_cFP10fopAc_ac_cUc -/* 80048908 7C 65 07 34 */ extsh r5, r3 -lbl_8004890C: -/* 8004890C 80 7E 00 04 */ lwz r3, 4(r30) -/* 80048910 B0 A3 00 FC */ sth r5, 0xfc(r3) -/* 80048914 B3 FE 00 0C */ sth r31, 0xc(r30) -/* 80048918 7F C3 F3 78 */ mr r3, r30 -/* 8004891C 3C 80 80 42 */ lis r4, l_startAction@ha /* 0x804246E0@ha */ -/* 80048920 38 84 46 E0 */ addi r4, r4, l_startAction@l /* 0x804246E0@l */ -/* 80048924 48 00 00 4D */ bl func_80048970 -lbl_80048928: -/* 80048928 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8004892C 83 C1 00 08 */ lwz r30, 8(r1) -/* 80048930 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80048934 7C 08 03 A6 */ mtlr r0 -/* 80048938 38 21 00 10 */ addi r1, r1, 0x10 -/* 8004893C 4E 80 00 20 */ blr diff --git a/include/SSystem/SComponent/c_xyz.h b/include/SSystem/SComponent/c_xyz.h index e218303fc1..2492f92906 100644 --- a/include/SSystem/SComponent/c_xyz.h +++ b/include/SSystem/SComponent/c_xyz.h @@ -72,11 +72,7 @@ struct cXyz : Vec { /* 80267128 */ s16 atan2sX_Z() const; /* 80267150 */ s16 atan2sY_XZ() const; - void setAll(f32 f) { - z = f; - y = f; - x = f; - } + void setAll(f32 f) { set(f, f, f); } void setMin(const cXyz& other) { if (x > other.x) { diff --git a/include/d/a/d_a_player.h b/include/d/a/d_a_player.h index 64b84b96de..5d19bbbc74 100644 --- a/include/d/a/d_a_player.h +++ b/include/d/a/d_a_player.h @@ -181,7 +181,7 @@ public: enum daPy_FLG0 { FLG0_UNK_40000000 = 0x40000000, EQUIP_HEAVY_BOOTS = 0x2000000, - FLG0_UNK_8000000 = 0x8000000, + PLAYER_NO_DRAW = 0x8000000, FLG0_UNK_1000000 = 0x1000000, UNDER_WATER_MOVEMENT = 0x800000, FLG0_UNK_80000 = 0x80000, @@ -552,6 +552,8 @@ public: BOOL i_checkEquipHeavyBoots() const { return i_checkNoResetFlg0(EQUIP_HEAVY_BOOTS); } BOOL i_checkMagneBootsOn() const { return i_checkNoResetFlg0(MAGNE_BOOTS_ON); } bool i_checkMidnaRide() const { return i_checkNoResetFlg0(MIDNA_RIDE); } + void i_onPlayerNoDraw() { i_onNoResetFlg0(PLAYER_NO_DRAW); } + void i_offPlayerNoDraw() { i_offNoResetFlg0(PLAYER_NO_DRAW); } inline static u32 getLastSceneMode(); inline static bool checkWoodSwordEquip(); diff --git a/include/d/com/d_com_inf_game.h b/include/d/com/d_com_inf_game.h index ce6b801e64..022784b66c 100644 --- a/include/d/com/d_com_inf_game.h +++ b/include/d/com/d_com_inf_game.h @@ -389,6 +389,10 @@ public: mWindow[i].setMode(mode); } + char* getLastPlayStageName() { return mLastPlayStageName; } + + u8 getGameoverStatus() { return mGameoverStatus; } + public: /* 0x00000 */ dBgS mBgs; /* 0x01404 */ dCcS mCcs; @@ -613,6 +617,7 @@ public: dComIfG_inf_c() { this->ct(); } ~dComIfG_inf_c() {} void ct(); + dComIfG_play_c& getPlay() { return play; } /* 0x00000 */ dSv_info_c info; /* 0x00F38 */ dComIfG_play_c play; @@ -651,6 +656,9 @@ void dComIfG_get_timelayer(int* layer); int dComIfG_resDelete(request_of_phase_process_class* i_phase, char const* resName); int dComIfG_changeOpeningScene(scene_class* scene, s16 procName); int dComIfG_resLoad(request_of_phase_process_class* i_phase, char const* arc_name); +BOOL dComIfGs_isStageSwitch(int i_stageNo, int i_no); +void dComIfGs_onStageSwitch(int i_stageNo, int i_no); +void dComIfGs_offStageSwitch(int i_stageNo, int i_no); inline void dComIfG_setBrightness(u8 brightness) { g_dComIfG_gameInfo.mFadeBrightness = brightness; @@ -2059,6 +2067,14 @@ inline void dComIfGp_evmng_cutEnd(int param_0) { dComIfGp_getPEvtManager()->cutEnd(param_0); } +inline int i_dComIfGp_evmng_getMyStaffId(const char* pName, fopAc_ac_c* pActor, int param_2) { + return dComIfGp_getPEvtManager()->getMyStaffId(pName, pActor, param_2); +} + +inline int dComIfGp_evmng_getIsAddvance(int param_0) { + return dComIfGp_getPEvtManager()->getIsAddvance(param_0); +} + inline int* dComIfGp_evmng_getMyIntegerP(int index, char* name) { return (int*)dComIfGp_getPEvtManager()->getMySubstanceP(index, name, dEvDtData_c::TYPE_INT); } @@ -2071,6 +2087,14 @@ inline f32* dComIfGp_evmng_getMyFloatP(int index, char* name) { return (f32*)dComIfGp_getPEvtManager()->getMySubstanceP(index, name, dEvDtData_c::TYPE_FLOAT); } +inline cXyz* dComIfGp_evmng_getMyXyzP(int index, char* name) { + return (cXyz*)dComIfGp_getPEvtManager()->getMySubstanceP(index, name, dEvDtData_c::TYPE_VEC); +} + +inline int dComIfGp_evmng_getMySubstanceNum(int index, char* name) { + return dComIfGp_getPEvtManager()->getMySubstanceNum(index, name); +} + inline void dComIfGp_evmng_create() { g_dComIfG_gameInfo.play.getEvtManager().create(); } @@ -2253,4 +2277,12 @@ inline daAlink_c* daAlink_getAlinkActorClass() { return (daAlink_c*)g_dComIfG_gameInfo.play.getPlayerPtr(LINK_PTR); } +inline char* dComIfGp_getLastPlayStageName() { + return g_dComIfG_gameInfo.play.getLastPlayStageName(); +} + +inline u8 dComIfGp_getGameoverStatus() { + return g_dComIfG_gameInfo.play.getGameoverStatus(); +} + #endif /* D_COM_D_COM_INF_GAME_H */ diff --git a/include/d/d_demo.h b/include/d/d_demo.h index 003c01ad63..842508ea5c 100644 --- a/include/d/d_demo.h +++ b/include/d/d_demo.h @@ -1,6 +1,44 @@ #ifndef D_D_DEMO_H #define D_D_DEMO_H +#include "JSystem/JStudio/JStudio/stb.h" #include "dolphin/types.h" +class cXyz; +struct dDemo_c { + /* 80039678 */ void create(); + /* 80039910 */ void remove(); + /* 80039B6C */ static void start(u8 const*, cXyz*, f32); + /* 80039CF8 */ static void end(); + /* 80039D4C */ void branch(); + /* 80039DA4 */ void update(); + /* 80039EDC */ void setBranchType(u16); + /* 80039EEC */ void setBranchId(u16, s16); + /* 80039F04 */ void reset(); + + static u32 getFrameNoMsg() { return m_frameNoMsg; } + static s32 getMode() { return m_mode; } + static JStudio::stb::TControl* getControl() { return m_control; } + + static u16 m_branchId[1 + 3 /* padding */]; + static u8 m_system[4]; + static JStudio::stb::TControl* m_control; + static u8 m_stage[4]; + static u8 m_audio[4]; + static u8 m_particle[4]; + static u8 m_message[4]; + static u8 m_factory[4]; + static u8 m_mesgControl[4]; + static u8 m_object[4]; + static u8 m_data[4]; + static u8 m_frame[4]; + static u8 m_translation[4]; + static f32 m_rotationY; + static u32 m_frameNoMsg; + static s32 m_mode; + static u8 m_status[4]; + static u8 m_branchType[2 + 2 /* padding */]; + static u8 m_branchData[4]; +}; + #endif /* D_D_DEMO_H */ diff --git a/include/d/d_drawlist.h b/include/d/d_drawlist.h index eb4bf4efd6..f175a6a3bc 100644 --- a/include/d/d_drawlist.h +++ b/include/d/d_drawlist.h @@ -219,7 +219,7 @@ public: /* 80056794 */ int set(dDlst_base_c**&, dDlst_base_c**&, dDlst_base_c*); /* 800567C4 */ void draw(dDlst_base_c**, dDlst_base_c**); /* 8005681C */ void wipeIn(f32, _GXColor&); - /* 800568D8 */ void wipeIn(f32); + /* 800568D8 */ static void wipeIn(f32); /* 80056900 */ void calcWipe(); void set2DOpa(dDlst_base_c* dlst) { set(field_0x1b4, field_0x1b8, dlst); } @@ -258,6 +258,7 @@ public: } static void offWipe() { data_80450ED0 = 0; } + static f32 getWipeRate() { return mWipeRate; } static u8 mWipeDlst[72]; static u8 mWipeColor[4]; diff --git a/include/d/d_gameover.h b/include/d/d_gameover.h index a4e496374c..318cf8756b 100644 --- a/include/d/d_gameover.h +++ b/include/d/d_gameover.h @@ -1,6 +1,52 @@ #ifndef D_D_GAMEOVER_H #define D_D_GAMEOVER_H +#include "d/msg/d_msg_class.h" #include "dolphin/types.h" +#include "f_op/f_op_msg_mng.h" + +struct dGameover_c : msg_class { + /* 8019B044 */ void _create(); + /* 8019B2F4 */ void _execute(); + /* 8019B384 */ void playerAnmWait_init(); + /* 8019B388 */ void playerAnmWait_proc(); + /* 8019B3A0 */ void dispFadeOut_init(); + /* 8019B3E8 */ void dispFadeOut_proc(); + /* 8019B40C */ void dispWait_init(); + /* 8019B454 */ void dispWait_proc(); + /* 8019B478 */ void demoFadeIn_init(); + /* 8019B484 */ void demoFadeIn_proc(); + /* 8019B4D8 */ void demoFadeOut_init(); + /* 8019B4E4 */ void demoFadeOut_proc(); + /* 8019B560 */ void saveOpen_init(); + /* 8019B564 */ void saveOpen_proc(); + /* 8019B5A4 */ void saveMove_init(); + /* 8019B5A8 */ void saveMove_proc(); + /* 8019B5F0 */ void saveClose_init(); + /* 8019B5F4 */ void saveClose_proc(); + /* 8019B7BC */ void deleteWait_init(); + /* 8019B7C0 */ void deleteWait_proc(); + /* 8019B7C4 */ void _draw(); + /* 8019B864 */ void _delete(); + s32 deleteCheck() { return _0x108 == 8; } + + /* 0x100 */ u8 _0x100[0x118 - 0x100]; + /* 0x108 */ u8 _0x108; +}; // size unknown + +s32 d_GameOver_Create(u8 param_0); +void d_GameOver_Delete(unsigned int& param_0); +inline s32 d_GameOver_CheckDelete(unsigned int& id) { + if (id != UINT32_MAX) { + dGameover_c* gameover = (dGameover_c*)fopMsgM_SearchByID(id); + if (gameover != NULL) { + return gameover->deleteCheck(); + } else { + return 0; + } + } else { + return 0; + } +} #endif /* D_D_GAMEOVER_H */ diff --git a/include/d/d_stage.h b/include/d/d_stage.h index 032fac58c6..db454c2d19 100644 --- a/include/d/d_stage.h +++ b/include/d/d_stage.h @@ -57,6 +57,10 @@ struct stage_scls_info_class { /* 0xA */ u8 field_0xa; /* 0xB */ u8 field_0xb; /* 0xC */ s8 mWipe; + + char* getStage() { return mStage; } + + int getRoom() { return mRoom; } }; // Size: 0xD struct stage_scls_info_dummy_class { @@ -245,7 +249,9 @@ struct dStage_MapEvent_dt_c { u8 field_0x8; u8 field_0x9; u8 field_0xA[0xD - 0xA]; - char mName[10]; + char mName[6]; + u16 field_0x14; + u8 field_0x16; u8 field_0x17; u8 field_0x18; u8 field_0x19[0x1B - 0x19]; @@ -889,8 +895,7 @@ inline s16 dStage_stagInfo_GetUpButton(stage_stag_info_class* p_info) { inline u32 dStage_stagInfo_GetArg0(stage_stag_info_class* p_info) { return (p_info->field_0x0c >> 0x14) & 0xFF; } - -inline s8 dStage_sclsInfo_getSceneLayer(stage_scls_info_class* p_info) { +inline u32 dStage_sclsInfo_getSceneLayer(stage_scls_info_class* p_info) { return p_info->field_0xb & 0xF; } @@ -898,12 +903,12 @@ inline s8 dStage_sclsInfo_getWipe(stage_scls_info_class* p_info) { return p_info->mWipe; } -inline s8 dStage_sclsInfo_getWipeTime(stage_scls_info_class* p_info) { - return p_info->field_0xb >> 5; +inline s32 dStage_sclsInfo_getWipeTime(stage_scls_info_class* p_info) { + return (p_info->field_0xb >> 5) & 7; } inline int dStage_sclsInfo_getTimeH(stage_scls_info_class* p_info) { - return ((p_info->field_0xb & 0xF0) >> 4) | ((p_info->field_0xa & 0x0F) << 4); + return (u8)((p_info->field_0xa >> 4) & 0xF) | (p_info->field_0xb & 0x10 & ~0xF); } inline u32 dStage_FileList_dt_getMiniMap(dStage_FileList_dt_c* p_fList) { diff --git a/include/d/event/d_event.h b/include/d/event/d_event.h index 52d9896d30..3559a31f4d 100644 --- a/include/d/event/d_event.h +++ b/include/d/event/d_event.h @@ -66,7 +66,7 @@ public: void sceneChange(int); u32 getPId(void*); void* convPId(unsigned int); - void getStbDemoData(char*); + void* getStbDemoData(char*); static dStage_MapEvent_dt_c* searchMapEventData(u8, s32); static dStage_MapEvent_dt_c* searchMapEventData(u8); s16 runningEventID(s16); @@ -86,6 +86,7 @@ public: u8 getMode() const { return mMode; } u16 checkHind(u16 flag) { return flag & mHindFlag; } u8 checkCompulsory() { return mCompulsory; } + void setCullRate(f32 f) { mCullRate = f; } bool i_isOrderOK() { return field_0xe5 == 0 || field_0xe5 == 2; } void* getPt1() { return convPId(mPt1); } diff --git a/include/d/event/d_event_data.h b/include/d/event/d_event_data.h index 1d2e77e357..5d3a09031c 100644 --- a/include/d/event/d_event_data.h +++ b/include/d/event/d_event_data.h @@ -2,6 +2,7 @@ #define D_EVENT_D_EVENT_DATA_H #include "d/d_stage.h" +#include "d/msg/d_msg_class.h" #include "d/save/d_save.h" #include "dolphin/types.h" @@ -49,11 +50,13 @@ public: class dEvDtCut_c { public: - void startCheck(); + int startCheck(); int getDataTop() { return mDataTop; } int getFlagId() { return mFlagId; } char* getName() { return mName; } + int getNext() { return mNext; } + int getStartFlag(int idx) { return mFlags[idx]; } private: /* 0x00 */ char mName[32]; @@ -72,7 +75,8 @@ public: /* 0x0 */ TYPE_DEFAULT, /* 0x1 */ TYPE_ALL, /* 0x2 */ TYPE_CAMERA, - /* 0x4 */ TYPE_TIMEKEEPER = 4, + /* 0x3 */ TYPE_EFFECT, + /* 0x4 */ TYPE_TIMEKEEPER, /* 0x6 */ TYPE_DIRECTOR = 6, /* 0x7 */ TYPE_MESSAGE, /* 0x8 */ TYPE_SOUND, @@ -81,6 +85,37 @@ public: /* 0xC */ TYPE_CREATE, }; + struct StaffWork { + unsigned int _0; + msg_class* mLMsg; + unsigned int mMsgNo; + s32 mMsgSubstanceNum; + int* mMsgSubstanceP; + }; + + struct MessageData { + s16 unk; + }; + + struct SoundData { + s16 unk; + s16 timer; + }; + + struct TimerKeeperData { + s32 timer; + }; + + struct DirectorData { + s16 unk; + s16 unk2; + }; + + struct EffectData { + u8 pad[8]; + s32 unk; + }; + void specialProc_WaitStart(int); void specialProc_WaitProc(int); void specialProc(); @@ -101,27 +136,29 @@ public: int getStartCut() { return mStartCut; } // private: - /* 0x00 */ char mName[32]; + /* 0x00 */ char mName[8]; + /* 0x08 */ StaffWork mWork; + /* 0x0C */ u8 field_0x1C[0x20 - 0x1C]; /* 0x20 */ s32 mTagID; /* 0x24 */ u32 mIndex; /* 0x28 */ u32 mFlagID; /* 0x2C */ int mType; /* 0x30 */ int mStartCut; /* 0x34 */ u8 field_0x34[2]; - /* 0x36 */ s16 field_0x36; + /* 0x36 */ s16 mWaitTimer; /* 0x38 */ int mCurrentCut; /* 0x3C */ s32 field_0x3c; /* 0x40 */ bool field_0x40; /* 0x41 */ bool field_0x41; - /* 0x42 */ s16 field_0x42; - /* 0x44 */ s16 mSoundWait; - /* 0x46 */ u8 field_0x46[10]; + /* 0x42 */ u8 mData[0x50 - 0x42]; }; // Size: 0x50 +STATIC_ASSERT(sizeof(dEvDtStaff_c) == 0x50); + class dEvDtEvent_c { public: int finishCheck(); - void forceFinish(); + int forceFinish(); void specialStaffProc(dEvDtStaff_c*); int getNStaff() { return mNStaff; } int getStaff(int idx) { return mStaff[idx]; } @@ -136,8 +173,7 @@ public: /* 0x7C */ int mNStaff; /* 0x80 */ u8 field_0x80[4]; /* 0x84 */ int field_0x84; - /* 0x88 */ int field_0x88[2]; - /* 0x90 */ int field_0x90; + /* 0x88 */ int field_0x88[3]; /* 0x94 */ bool mPlaySound; /* 0x95 */ u8 field_0x95[0xF]; /* 0xA4 */ int mEventState; @@ -147,9 +183,9 @@ public: class dEvDtFlag_c { public: dEvDtFlag_c() {} - void flagCheck(int); - void flagSet(int); - bool flagMaxCheck(int); + BOOL flagCheck(int); + BOOL flagSet(int); + BOOL flagMaxCheck(int); void init(); #define FlagMax 0x2800 @@ -165,7 +201,7 @@ public: int init(); int init(char*, int); void advanceCut(dEvDtEvent_c*); - void advanceCutLocal(dEvDtStaff_c*); + BOOL advanceCutLocal(dEvDtStaff_c*); event_binary_data_header* getHeaderP() { return mHeaderP; } dEvDtStaff_c* getStaffP(int i) { return &mStaffP[i]; } diff --git a/include/d/event/d_event_lib.h b/include/d/event/d_event_lib.h index 4153188f74..4594bc142c 100644 --- a/include/d/event/d_event_lib.h +++ b/include/d/event/d_event_lib.h @@ -2,5 +2,44 @@ #define D_EVENT_D_EVENT_LIB_H #include "dolphin/types.h" +#include "f_op/f_op_actor.h" + +template +struct action_class { + typedef BOOL (A0::*fptr)(); + fptr init; + fptr execute; + + action_class(fptr pInit, fptr pExecute) { + init = pInit; + execute = pExecute; + } + + fptr& getInit() { return init; } + + fptr& getExecute() { return execute; } +}; + +struct dEvLib_callback_c { + /* 8004886C */ BOOL eventUpdate(); + /* 800488A4 */ BOOL setEvent(int, int, int); + /* 80048940 */ void orderEvent(int, int, int); + /* 80048970 */ BOOL setAction(action_class*); + /* 800489A8 */ BOOL initAction(); + /* 800489F8 */ BOOL executeAction(); + /* 80048A50 */ BOOL initStart(); + /* 80048A70 */ BOOL executeStart(); + /* 80048B1C */ BOOL initRun(); + /* 80048B48 */ BOOL executeRun(); + + virtual ~dEvLib_callback_c() {} + virtual BOOL eventStart() { return TRUE; } + virtual BOOL eventRun() { return TRUE; } + virtual BOOL eventEnd() { return TRUE; } + + fopAc_ac_c* mActor; + action_class* mAction; + u16 _C; +}; #endif /* D_EVENT_D_EVENT_LIB_H */ diff --git a/include/d/event/d_event_manager.h b/include/d/event/d_event_manager.h index 344f1f59ad..116876a27c 100644 --- a/include/d/event/d_event_manager.h +++ b/include/d/event/d_event_manager.h @@ -48,7 +48,7 @@ public: int startCheckOld(char const*); int endCheck(s16); int endCheckOld(char const*); - s32 getMyStaffId(char const*, fopAc_ac_c*, int); + int getMyStaffId(char const*, fopAc_ac_c*, int); int getIsAddvance(int); int getMyActIdx(int, char const* const*, int, int, int); char* getMyNowCutName(int); @@ -72,6 +72,7 @@ public: dEvDtBase_c& getBase() { return mEventList[mCurrentEventType]; } void setFlag(int flag) { mFlags.flagSet(flag); } + int flagCheck(int flag) { return mFlags.flagCheck(flag); } static int getIndexCompositId(s16 param_0) { return param_0 != -1 ? (u8)param_0 : -1; } static int getTypeCompositId(s16 param_0) { return param_0 == -1 ? 0 : param_0 >> 8; } diff --git a/include/d/kankyo/d_kankyo.h b/include/d/kankyo/d_kankyo.h index 11b0607e4c..ccdd271eaa 100644 --- a/include/d/kankyo/d_kankyo.h +++ b/include/d/kankyo/d_kankyo.h @@ -24,6 +24,8 @@ s32 dKy_daynight_check(); void dKy_clear_game_init(); void dKy_setLight_init(); u8 dKy_pol_sound_get(cBgS_PolyInfo const* param_0); +void dKy_instant_rainchg(); +void dKy_instant_timechg(f32); struct LIGHT_INFLUENCE { /* 800CFC7C */ ~LIGHT_INFLUENCE(); diff --git a/include/d/msg/d_msg_object.h b/include/d/msg/d_msg_object.h index 58b0912dbb..741538ae21 100644 --- a/include/d/msg/d_msg_object.h +++ b/include/d/msg/d_msg_object.h @@ -109,7 +109,7 @@ public: /* 80237F10 */ void setTalkActorLocal(fopAc_ac_c*); /* 8023800C */ static void readMessageGroup(mDoDvdThd_mountXArchive_c**); /* 8023803C */ static void changeFlowGroup(s32); - /* 8023806C */ void demoMessageGroup(); + /* 8023806C */ static void demoMessageGroup(); /* 80238098 */ void endFlowGroup(); /* 802380C4 */ void changeGroup(s16); /* 802380F4 */ void getString(u32, J2DTextBox*, J2DTextBox*, JUTFont*, COutFont_c*, char*, @@ -248,6 +248,9 @@ u16 dMsgObject_getOffering(); inline dMsgObject_c* dMsgObject_getMsgObjectClass() { return dComIfGp_getMsgObjectClass(); } +inline void dMsgObject_demoMessageGroup() { + dMsgObject_c::demoMessageGroup(); +} inline bool dMsgObject_isTalkNowCheck() { return dMsgObject_getMsgObjectClass()->getStatus() != 1 ? true : false; diff --git a/include/dolphin/mtx/vec.h b/include/dolphin/mtx/vec.h index 2b8091fb5a..d52c79d450 100644 --- a/include/dolphin/mtx/vec.h +++ b/include/dolphin/mtx/vec.h @@ -35,6 +35,12 @@ struct SVec { y = oY; z = oZ; } + + void setall(s16 val) { + x = val; + y = val; + z = val; + } }; extern "C" { diff --git a/include/f_op/f_op_actor.h b/include/f_op/f_op_actor.h index 54f6bbac2b..b6aa4196b6 100644 --- a/include/f_op/f_op_actor.h +++ b/include/f_op/f_op_actor.h @@ -17,10 +17,12 @@ public: char* getEventName(); void beforeProc(); void onCondition(u16); + void i_onCondition(u16 cond) { mCondition |= cond; } void offCondition(u16); + void i_offCondition(u16 cond) { mCondition &= ~cond; } bool checkCommandCatch(); BOOL checkCommandDoor(); - bool checkCommandDemoAccrpt(); + BOOL checkCommandDemoAccrpt() { return mCommand == 2; } void setCommand(u16 command) { mCommand = command; } void setMapToolId(u8 id) { mMapToolId = id; } diff --git a/include/f_op/f_op_msg_mng.h b/include/f_op/f_op_msg_mng.h index 85c00e2f5b..05abfdc3f0 100644 --- a/include/f_op/f_op_msg_mng.h +++ b/include/f_op/f_op_msg_mng.h @@ -36,8 +36,9 @@ u32 fopMsgM_Create(s16, fopMsgCreateFunc, void*); void fopMsgM_setMessageID(unsigned int); void fopMsgM_destroyExpHeap(JKRExpHeap*); s32 fopMsgM_setStageLayer(void*); -void fopMsgM_messageSetDemo(u32 param_0); +int fopMsgM_messageSet(u32 param_0, u32 param_1); +int fopMsgM_messageSetDemo(u32 param_0); msg_class* fopMsgM_SearchByID(unsigned int param_0); char* fopMsgM_messageGet(char* msg, u32 string_id); -#endif \ No newline at end of file +#endif diff --git a/include/m_Do/m_Do_graphic.h b/include/m_Do/m_Do_graphic.h index 57222b1de9..23c6566e11 100644 --- a/include/m_Do/m_Do_graphic.h +++ b/include/m_Do/m_Do_graphic.h @@ -47,12 +47,15 @@ public: static void setFadeColor(JUtility::TColor& color) { mFader->setColor(color); } static void endFrame() { JFWDisplay::getManager()->endFrame(); } static void offFade() { data_80450BE6 = 0; } + static u8 isFade() { return data_80450BE6; } static void offBlure() { struct_80450BE4 = 0; } static void offAutoForcus() { data_80450BE7 = 0; } static void setTickRate(u32 rate) { JFWDisplay::getManager()->setTickRate(rate); } static void waitBlanking(int wait) { JFWDisplay::getManager()->waitBlanking(wait); } static f32 getWidthF() { return 608.0f; } static f32 getHeightF() { return 448.0f; } + static void setFadeRate(f32 rate) { mFadeRate = rate; } + static f32 getFadeRate() { return mFadeRate; } static GXTexObj mFrameBufferTexObj; static GXTexObj mZbufferTexObj; diff --git a/libs/SSystem/SComponent/c_m3d_g_aab.cpp b/libs/SSystem/SComponent/c_m3d_g_aab.cpp index ed535664d6..beeafc6817 100644 --- a/libs/SSystem/SComponent/c_m3d_g_aab.cpp +++ b/libs/SSystem/SComponent/c_m3d_g_aab.cpp @@ -39,8 +39,12 @@ bool cM3dGAab::TopPlaneYUnder(f32 pY) const { /* 8026ECF8-8026ED1C 0024+00 s=0 e=6 z=0 None .text ClearForMinMax__8cM3dGAabFv */ void cM3dGAab::ClearForMinMax(void) { - mMin.setAll(1000000000.0f); - mMax.setAll(-1000000000.0f); + mMin.z = 1000000000.0f; + mMin.y = 1000000000.0f; + mMin.x = 1000000000.0f; + mMax.z = -1000000000.0f; + mMax.y = -1000000000.0f; + mMax.x = -1000000000.0f; } /* 8026ED1C-8026ED60 0044+00 s=1 e=3 z=0 None .text SetMinMax__8cM3dGAabFRC4cXyz */ diff --git a/src/d/a/d_a_alink.cpp b/src/d/a/d_a_alink.cpp index df0a1b555d..eefe632c4b 100644 --- a/src/d/a/d_a_alink.cpp +++ b/src/d/a/d_a_alink.cpp @@ -19218,7 +19218,7 @@ MtxP daAlink_c::getRightItemMatrix() { /* 800CF344-800CF380 0C9C84 003C+00 1/0 0/0 0/0 .text checkPlayerNoDraw__9daAlink_cFv */ BOOL daAlink_c::checkPlayerNoDraw() { return dComIfGp_checkCameraAttentionStatus(field_0x317c, 2) || - i_checkNoResetFlg0(FLG0_UNK_8000000); + i_checkNoResetFlg0(PLAYER_NO_DRAW); } /* 800CF380-800CFC3C 0C9CC0 08BC+00 1/1 0/0 0/0 .text __ct__9daAlink_cFv */ diff --git a/src/d/d_demo.cpp b/src/d/d_demo.cpp index 4d8d7c3ad4..4ba75c4d93 100644 --- a/src/d/d_demo.cpp +++ b/src/d/d_demo.cpp @@ -221,38 +221,6 @@ struct dDemo_camera_c { /* 80039FFC */ ~dDemo_camera_c(); }; -struct dDemo_c { - /* 80039678 */ void create(); - /* 80039910 */ void remove(); - /* 80039B6C */ void start(u8 const*, cXyz*, f32); - /* 80039CF8 */ void end(); - /* 80039D4C */ void branch(); - /* 80039DA4 */ void update(); - /* 80039EDC */ void setBranchType(u16); - /* 80039EEC */ void setBranchId(u16, s16); - /* 80039F04 */ void reset(); - - static u16 m_branchId[1 + 3 /* padding */]; - static u8 m_system[4]; - static u8 m_control[4]; - static u8 m_stage[4]; - static u8 m_audio[4]; - static u8 m_particle[4]; - static u8 m_message[4]; - static u8 m_factory[4]; - static u8 m_mesgControl[4]; - static u8 m_object[4]; - static u8 m_data[4]; - static u8 m_frame[4]; - static u8 m_translation[4]; - static f32 m_rotationY; - static u8 m_frameNoMsg[4]; - static u8 m_mode[4]; - static u8 m_status[4]; - static u8 m_branchType[2 + 2 /* padding */]; - static u8 m_branchData[4]; -}; - struct dDemo_ambient_c { /* 80038DF0 */ void JSGSetColor(_GXColor); /* 800394C8 */ ~dDemo_ambient_c(); @@ -977,7 +945,7 @@ static u8 dummy[20]; u8 dDemo_c::m_system[4]; /* 80450E04-80450E08 000304 0004+00 6/6 3/3 0/0 .sbss m_control__7dDemo_c */ -u8 dDemo_c::m_control[4]; +JStudio::stb::TControl* dDemo_c::m_control; /* 80450E08-80450E0C 000308 0004+00 2/2 0/0 0/0 .sbss m_stage__7dDemo_c */ u8 dDemo_c::m_stage[4]; @@ -1013,10 +981,10 @@ u8 dDemo_c::m_translation[4]; f32 dDemo_c::m_rotationY; /* 80450E34-80450E38 000334 0004+00 2/2 1/1 0/0 .sbss m_frameNoMsg__7dDemo_c */ -u8 dDemo_c::m_frameNoMsg[4]; +u32 dDemo_c::m_frameNoMsg; /* 80450E38-80450E3C 000338 0004+00 4/4 4/4 0/0 .sbss m_mode__7dDemo_c */ -u8 dDemo_c::m_mode[4]; +s32 dDemo_c::m_mode; /* 80450E3C-80450E40 00033C 0004+00 2/2 1/1 0/0 .sbss m_status__7dDemo_c */ u8 dDemo_c::m_status[4]; diff --git a/src/d/d_gameover.cpp b/src/d/d_gameover.cpp index 33f61dc2dc..e3f7aba547 100644 --- a/src/d/d_gameover.cpp +++ b/src/d/d_gameover.cpp @@ -13,8 +13,6 @@ struct request_of_phase_process_class {}; -struct msg_class {}; - struct mDoRst { static u8 mResetData[4 + 4 /* padding */]; }; @@ -28,8 +26,6 @@ struct mDoGph_gInf_c { static f32 mFadeRate; }; -struct fopAc_ac_c {}; - struct dSv_player_item_c { /* 80032FB8 */ void setItem(int, u8); /* 80033030 */ void getItem(int, bool) const; @@ -86,31 +82,6 @@ struct dGov_HIO_c { /* 8019C06C */ ~dGov_HIO_c(); }; -struct dGameover_c { - /* 8019B044 */ void _create(); - /* 8019B2F4 */ void _execute(); - /* 8019B384 */ void playerAnmWait_init(); - /* 8019B388 */ void playerAnmWait_proc(); - /* 8019B3A0 */ void dispFadeOut_init(); - /* 8019B3E8 */ void dispFadeOut_proc(); - /* 8019B40C */ void dispWait_init(); - /* 8019B454 */ void dispWait_proc(); - /* 8019B478 */ void demoFadeIn_init(); - /* 8019B484 */ void demoFadeIn_proc(); - /* 8019B4D8 */ void demoFadeOut_init(); - /* 8019B4E4 */ void demoFadeOut_proc(); - /* 8019B560 */ void saveOpen_init(); - /* 8019B564 */ void saveOpen_proc(); - /* 8019B5A4 */ void saveMove_init(); - /* 8019B5A8 */ void saveMove_proc(); - /* 8019B5F0 */ void saveClose_init(); - /* 8019B5F4 */ void saveClose_proc(); - /* 8019B7BC */ void deleteWait_init(); - /* 8019B7C0 */ void deleteWait_proc(); - /* 8019B7C4 */ void _draw(); - /* 8019B864 */ void _delete(); -}; - struct dDlst_base_c {}; struct dDlst_list_c { @@ -122,8 +93,6 @@ struct dDlst_Gameover_CAPTURE_c { /* 8019C2CC */ ~dDlst_Gameover_CAPTURE_c(); }; -struct JKRArchive {}; - struct dDlst_GameOverScrnDraw_c { /* 8019B940 */ dDlst_GameOverScrnDraw_c(JKRArchive*); /* 8019BBFC */ ~dDlst_GameOverScrnDraw_c(); @@ -131,24 +100,6 @@ struct dDlst_GameOverScrnDraw_c { /* 8019BCF4 */ void draw(); }; -struct cXyz {}; - -struct ResTLUT {}; - -struct ResTIMG {}; - -struct JKRHeap { - /* 802CE5CC */ void freeAll(); - /* 802CE784 */ void getTotalFreeSize(); -}; - -struct JGeometry { - template - struct TBox2 {}; - /* TBox2 */ - struct TBox2__template0 {}; -}; - struct JFWDisplay { static u8 sManager[4]; }; @@ -254,38 +205,6 @@ extern "C" void setPriority__9J2DScreenFPCcUlP10JKRArchive(); extern "C" void draw__9J2DScreenFffPC14J2DGrafContext(); extern "C" void func_802FC800(); extern "C" void setString__10J2DTextBoxFPCce(); -extern "C" void C_MTXOrtho(); -extern "C" void GXSetVtxDesc(); -extern "C" void GXClearVtxDesc(); -extern "C" void GXSetVtxAttrFmt(); -extern "C" void GXSetTexCoordGen2(); -extern "C" void GXSetNumTexGens(); -extern "C" void GXPixModeSync(); -extern "C" void GXBegin(); -extern "C" void GXSetCullMode(); -extern "C" void GXSetTexCopySrc(); -extern "C" void GXSetTexCopyDst(); -extern "C" void GXCopyTex(); -extern "C" void GXSetNumChans(); -extern "C" void GXInitTexObj(); -extern "C" void GXInitTexObjLOD(); -extern "C" void GXLoadTexObj(); -extern "C" void GXSetTevColorIn(); -extern "C" void GXSetTevAlphaIn(); -extern "C" void GXSetTevColorOp(); -extern "C" void GXSetTevAlphaOp(); -extern "C" void GXSetAlphaCompare(); -extern "C" void GXSetTevOrder(); -extern "C" void GXSetNumTevStages(); -extern "C" void GXSetFog(); -extern "C" void GXSetFogRangeAdj(); -extern "C" void GXSetBlendMode(); -extern "C" void GXSetZMode(); -extern "C" void GXSetZCompLoc(); -extern "C" void GXSetDither(); -extern "C" void GXSetProjection(); -extern "C" void GXLoadPosMtxImm(); -extern "C" void GXSetCurrentMtx(); extern "C" void __register_global_object(); extern "C" void __ptmf_scall(); extern "C" void _savegpr_24(); @@ -297,7 +216,6 @@ extern "C" void _restgpr_29(); extern "C" void strcmp(); extern "C" extern u8 g_mDoMtx_identity[48 + 24 /* padding */]; extern "C" extern void* g_fopMsg_Method[5 + 1 /* padding */]; -extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; extern "C" extern void* __vt__12dDlst_base_c[3]; extern "C" u8 saveBitLabels__16dSv_event_flag_c[1644 + 4 /* padding */]; extern "C" extern void* __vt__14mDoHIO_entry_c[3]; @@ -981,7 +899,7 @@ static asm void dGameover_Create(msg_class* param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void d_GameOver_Create(u8 param_0) { +asm s32 d_GameOver_Create(u8 param_0) { nofralloc #include "asm/d/d_gameover/d_GameOver_Create__FUc.s" } diff --git a/src/d/d_name.cpp b/src/d/d_name.cpp index fa74ecb42d..7ed8aed09a 100644 --- a/src/d/d_name.cpp +++ b/src/d/d_name.cpp @@ -1428,6 +1428,7 @@ s32 dName_c::getMenuPosIdx(u8 selPos) { case 3: return 3; } + //!@bug UB: no default return } /* 80251094-8025115C 24B9D4 00C8+00 1/0 0/0 0/0 .text draw__14dDlst_NameIN_cFv */ diff --git a/src/d/event/d_event.cpp b/src/d/event/d_event.cpp index 025b6f7473..942fb09b8e 100644 --- a/src/d/event/d_event.cpp +++ b/src/d/event/d_event.cpp @@ -686,7 +686,7 @@ asm void* dEvt_control_c::convPId(unsigned int param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dEvt_control_c::getStbDemoData(char* param_0) { +asm void* dEvt_control_c::getStbDemoData(char* param_0) { nofralloc #include "asm/d/event/d_event/getStbDemoData__14dEvt_control_cFPc.s" } diff --git a/src/d/event/d_event_data.cpp b/src/d/event/d_event_data.cpp index 9f3c49323c..86140548c4 100644 --- a/src/d/event/d_event_data.cpp +++ b/src/d/event/d_event_data.cpp @@ -5,25 +5,13 @@ #include "d/event/d_event_data.h" #include "d/com/d_com_inf_game.h" +#include "d/d_camera.h" +#include "d/d_demo.h" +#include "d/d_gameover.h" +#include "d/msg/d_msg_object.h" #include "dol2asm.h" #include "dolphin/types.h" - -// -// Types: -// - -struct dDemo_c { - /* 80039B6C */ void start(u8 const*, cXyz*, f32); - /* 80039CF8 */ void end(); - - static u8 m_control[4]; - static u8 m_frameNoMsg[4]; - static u8 m_mode[4]; -}; - -struct dCamera_c { - /* 80181170 */ void StartBlure(int, fopAc_ac_c*, f32, f32); -}; +#include "f_op/f_op_msg_mng.h" // // Forward References: @@ -140,88 +128,121 @@ extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; // Declarations: // +inline dEvent_manager_c& dComIfGp_getEventManager() { + return g_dComIfG_gameInfo.play.getEvtManager(); +} + +inline BOOL dComIfGs_isEventBit(u16 id) { + return g_dComIfG_gameInfo.info.getEvent().isEventBit(id); +} + +inline s32 dStage_stagInfo_GetSaveTbl(stage_stag_info_class* param_0) { + return param_0->field_0x09 >> 1 & 0x1f; +} + +inline BOOL dEvDtFlagCheck(int flag) { + return dComIfGp_getEventManager().flagCheck(flag); +} + +inline void dEvDtFlagSet(int flag) { + dComIfGp_getEventManager().setFlag(flag); +} + +inline dEvt_control_c& dComIfGp_getEvent() { + return g_dComIfG_gameInfo.play.getEvent(); +} + +struct TelopDataStruct { + s32 mName; + u16 mTelopNo; + u16 _6; + u16 _8; + // padding +}; + /* ############################################################################################## */ /* 803A7FB0-803A8238 0050D0 0288+00 2/2 0/0 0/0 .data TelopData */ -SECTION_DATA static u8 TelopData[648] = { - 0x44, 0x30, 0x35, 0x00, 0x04, 0x4D, 0x10, 0x69, 0x00, 0x03, 0x00, 0x00, 0x44, 0x30, 0x35, 0x41, - 0x04, 0x4D, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x44, 0x30, 0x35, 0x42, 0x04, 0x4D, 0xFF, 0xFF, - 0x00, 0x00, 0x00, 0x00, 0x44, 0x30, 0x34, 0x00, 0x04, 0x4E, 0xFF, 0xFF, 0x00, 0x01, 0x00, 0x00, - 0x44, 0x30, 0x34, 0x41, 0x04, 0x4E, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x44, 0x30, 0x34, 0x42, - 0x04, 0x4E, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x44, 0x30, 0x31, 0x00, 0x04, 0x4F, 0x12, 0x78, - 0x00, 0x03, 0x00, 0x00, 0x44, 0x30, 0x31, 0x41, 0x04, 0x4F, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, - 0x44, 0x30, 0x31, 0x42, 0x04, 0x4F, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x44, 0x31, 0x30, 0x00, - 0x04, 0x50, 0x13, 0x2C, 0x00, 0x03, 0x00, 0x00, 0x44, 0x31, 0x30, 0x41, 0x04, 0x50, 0xFF, 0xFF, - 0x00, 0x00, 0x00, 0x00, 0x44, 0x31, 0x30, 0x42, 0x04, 0x50, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, - 0x44, 0x31, 0x31, 0x00, 0x04, 0x51, 0x14, 0x78, 0x00, 0x03, 0x00, 0x00, 0x44, 0x31, 0x31, 0x41, - 0x04, 0x51, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x44, 0x31, 0x31, 0x42, 0x04, 0x51, 0xFF, 0xFF, - 0x00, 0x00, 0x00, 0x00, 0x44, 0x30, 0x36, 0x00, 0x04, 0x52, 0x15, 0x59, 0x00, 0x03, 0x00, 0x00, - 0x44, 0x30, 0x36, 0x41, 0x04, 0x52, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x44, 0x30, 0x36, 0x42, - 0x04, 0x52, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x44, 0x30, 0x37, 0x00, 0x04, 0x53, 0x16, 0x39, - 0x00, 0x03, 0x00, 0x00, 0x44, 0x30, 0x37, 0x41, 0x04, 0x53, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, - 0x44, 0x30, 0x37, 0x42, 0x04, 0x53, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x44, 0x30, 0x38, 0x00, - 0x04, 0x54, 0xFF, 0xFF, 0x00, 0x01, 0x00, 0x00, 0x44, 0x30, 0x38, 0x41, 0x04, 0x54, 0xFF, 0xFF, - 0x00, 0x00, 0x00, 0x00, 0x44, 0x30, 0x38, 0x42, 0x04, 0x54, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, - 0x44, 0x30, 0x38, 0x43, 0x04, 0x54, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x44, 0x30, 0x38, 0x44, - 0x04, 0x54, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x44, 0x30, 0x39, 0x00, 0x04, 0x55, 0xFF, 0xFF, - 0x00, 0x01, 0x00, 0x00, 0x44, 0x30, 0x39, 0x41, 0x04, 0x55, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, - 0x44, 0x30, 0x39, 0x42, 0x04, 0x55, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x44, 0x30, 0x39, 0x43, - 0x04, 0x55, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x46, 0x30, 0x30, 0x00, 0x04, 0x56, 0xFF, 0xFF, - 0x00, 0x01, 0x00, 0x00, 0x46, 0x31, 0x30, 0x33, 0x04, 0x57, 0x00, 0x0A, 0x00, 0x03, 0x00, 0x00, - 0x52, 0x30, 0x31, 0x00, 0x04, 0x57, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x46, 0x31, 0x30, 0x39, - 0x04, 0x58, 0xFF, 0xFF, 0x00, 0x01, 0x00, 0x00, 0x52, 0x31, 0x30, 0x39, 0x04, 0x58, 0xFF, 0xFF, - 0x00, 0x00, 0x00, 0x00, 0x52, 0x32, 0x30, 0x39, 0x04, 0x58, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, - 0x46, 0x31, 0x31, 0x32, 0x04, 0x59, 0x04, 0x09, 0x00, 0x03, 0x00, 0x00, 0x46, 0x31, 0x31, 0x33, - 0x04, 0x5A, 0x04, 0x00, 0x00, 0x03, 0x00, 0x00, 0x46, 0x31, 0x30, 0x38, 0x04, 0x5B, 0xFF, 0xFF, - 0x00, 0x01, 0x00, 0x00, 0x52, 0x31, 0x30, 0x38, 0x04, 0x5B, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, - 0x46, 0x31, 0x31, 0x35, 0x04, 0x5C, 0x04, 0x1E, 0x00, 0x03, 0x00, 0x00, 0x46, 0x31, 0x31, 0x31, - 0x04, 0x5E, 0xFF, 0xFF, 0x00, 0x01, 0x00, 0x00, 0x46, 0x31, 0x32, 0x34, 0x04, 0x5F, 0xFF, 0xFF, - 0x00, 0x01, 0x00, 0x00, 0x46, 0x31, 0x31, 0x34, 0x04, 0x60, 0x08, 0x00, 0x00, 0x03, 0x00, 0x00, - 0x46, 0x31, 0x32, 0x35, 0x04, 0x61, 0x0A, 0x0C, 0x00, 0x03, 0x00, 0x00, 0x46, 0x31, 0x32, 0x31, - 0x04, 0x62, 0x06, 0x2D, 0x00, 0x03, 0x00, 0x00, 0x46, 0x31, 0x32, 0x32, 0x04, 0x62, 0x06, 0x2D, - 0x00, 0x03, 0x00, 0x00, 0x46, 0x31, 0x32, 0x33, 0x04, 0x62, 0x06, 0x2D, 0x00, 0x03, 0x00, 0x00, - 0x46, 0x31, 0x31, 0x37, 0x04, 0x63, 0xFF, 0xFF, 0x00, 0x01, 0x00, 0x00, 0x46, 0x31, 0x32, 0x38, - 0x04, 0x6E, 0x03, 0x2E, 0x00, 0x03, 0x00, 0x00, 0x52, 0x31, 0x32, 0x38, 0x04, 0x6E, 0xFF, 0xFF, - 0x00, 0x00, 0x00, 0x00, 0x46, 0x31, 0x32, 0x37, 0x04, 0x74, 0xFF, 0xFF, 0x00, 0x01, 0x00, 0x00, - 0x52, 0x31, 0x32, 0x37, 0x04, 0x74, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x46, 0x31, 0x32, 0x36, - 0x04, 0x75, 0xFF, 0xFF, 0x00, 0x01, 0x00, 0x00, -}; +static TelopDataStruct TelopData[] = { + {'D05\0', 1101, 4201, 3}, {'D05A', 1101, -1, 0}, {'D05B', 1101, -1, 0}, + {'D04\0', 1102, -1, 1}, {'D04A', 1102, -1, 0}, {'D04B', 1102, -1, 0}, + {'D01\0', 1103, 4728, 3}, {'D01A', 1103, -1, 0}, {'D01B', 1103, -1, 0}, + {'D10\0', 1104, 4908, 3}, {'D10A', 1104, -1, 0}, {'D10B', 1104, -1, 0}, + {'D11\0', 1105, 5240, 3}, {'D11A', 1105, -1, 0}, {'D11B', 1105, -1, 0}, + {'D06\0', 1106, 5465, 3}, {'D06A', 1106, -1, 0}, {'D06B', 1106, -1, 0}, + {'D07\0', 1107, 5689, 3}, {'D07A', 1107, -1, 0}, {'D07B', 1107, -1, 0}, + {'D08\0', 1108, -1, 1}, {'D08A', 1108, -1, 0}, {'D08B', 1108, -1, 0}, + {'D08C', 1108, -1, 0}, {'D08D', 1108, -1, 0}, {'D09\0', 1109, -1, 1}, + {'D09A', 1109, -1, 0}, {'D09B', 1109, -1, 0}, {'D09C', 1109, -1, 0}, + {'F00\0', 1110, -1, 1}, {'F103', 1111, 10, 3}, {'R01\0', 1111, -1, 0}, + {'F109', 1112, -1, 1}, {'R109', 1112, -1, 0}, {'R209', 1112, -1, 0}, + {'F112', 1113, 1033, 3}, {'F113', 1114, 1024, 3}, {'F108', 1115, -1, 1}, + {'R108', 1115, -1, 0}, {'F115', 1116, 1054, 3}, {'F111', 1118, -1, 1}, + {'F124', 1119, -1, 1}, {'F114', 1120, 2048, 3}, {'F125', 1121, 2572, 3}, + {'F121', 1122, 1581, 3}, {'F122', 1122, 1581, 3}, {'F123', 1122, 1581, 3}, + {'F117', 1123, -1, 1}, {'F128', 1134, 814, 3}, {'R128', 1134, -1, 0}, + {'F127', 1140, -1, 1}, {'R127', 1140, -1, 0}, {'F126', 1141, -1, 1}}; /* 80450640-80450648 0000C0 0004+04 2/2 0/0 0/0 .sdata numTelopData */ -SECTION_SDATA static u32 numTelopData[1 + 1 /* padding */] = { - 0x00000036, - /* padding */ - 0x00000000, -}; +static s32 numTelopData = ARRAY_SIZE(TelopData); /* 8004372C-800437C4 03E06C 0098+00 2/2 0/0 0/0 .text getTelopNo__FPCc */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void getTelopNo(char const* param_0) { - nofralloc -#include "asm/d/event/d_event_data/getTelopNo__FPCc.s" +static u16 getTelopNo(char const* pName) { + s32 val = + ((pName[3] == 'B' ? 'd' : pName[0]) << 0x18 | pName[4] << 0x10 | pName[5] << 8 | pName[6]); + for (s32 i = 0; i < numTelopData; i++) { + if (val == TelopData[i].mName) { + return TelopData[i].mTelopNo; + } + } + return 0xFFFF; } -#pragma pop /* 800437C4-800437F0 03E104 002C+00 1/1 0/0 0/0 .text getTelopNo__Fv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void getTelopNo() { - nofralloc -#include "asm/d/event/d_event_data/getTelopNo__Fv.s" +static u16 getTelopNo() { + return getTelopNo(dComIfGp_getStartStageName()); } -#pragma pop /* 800437F0-80043A14 03E130 0224+00 1/1 0/0 0/0 .text getStartTelopNo__Fv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void getStartTelopNo() { - nofralloc -#include "asm/d/event/d_event_data/getStartTelopNo__Fv.s" +static u16 getStartTelopNo() { + const char* startStageName = dComIfGp_getStartStageName(); + const char* lastPlayStateName = dComIfGp_getLastPlayStageName(); + if (strcmp(startStageName, lastPlayStateName) == 0) { + return 0xFFFF; + } + TelopDataStruct* telopData = NULL; + s32 val = ((startStageName[3] == 'B' ? 'd' : startStageName[0]) << 0x18 | + startStageName[4] << 0x10 | startStageName[5] << 8 | startStageName[6]); + for (s32 i = 0; i < numTelopData; i++) { + if (val == TelopData[i].mName) { + telopData = &TelopData[i]; + break; + } + } + if (telopData == NULL || telopData->_8 == 0) { + return 0xFFFF; + } else if (telopData->_8 == 2 && telopData->_6 != 0xFFFF && + !dComIfGs_isEventBit(telopData->_6)) { + return 0xFFFF; + } else if (telopData->_8 == 3 && telopData->_6 != 0xFFFF && + !dComIfGs_isStageSwitch(telopData->_6 >> 8, telopData->_6 & 0xFF)) { + return 0xFFFF; + } else { + TelopDataStruct* lastTelopData = NULL; + val = ((lastPlayStateName[3] == 'B' ? 'd' : lastPlayStateName[0]) << 0x18 | + lastPlayStateName[4] << 0x10 | lastPlayStateName[5] << 8 | lastPlayStateName[6]); + for (s32 i = 0; i < numTelopData; i++) { + if (val == TelopData[i].mName) { + lastTelopData = &TelopData[i]; + break; + } + } + if (lastTelopData != NULL && telopData->mTelopNo == lastTelopData->mTelopNo) { + return 0xFFFF; + } else { + return telopData->mTelopNo; + } + } } -#pragma pop /* ############################################################################################## */ /* 80379DD0-80379DD0 006430 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ @@ -254,20 +275,26 @@ SECTION_SDATA2 static f32 lit_4265 = 15.0f; SECTION_SDATA2 static f64 lit_4267 = 4503601774854144.0 /* cast s32 to float */; /* 80043A14-80043D60 03E354 034C+00 1/1 0/0 0/0 .text dEvDt_Next_Stage__Fii */ -// bunch of issues with sclsInfo section. regalloc for the rest #ifdef NONMATCHING +// matches besides floats static int dEvDt_Next_Stage(int index, int wipe_type) { char* stage; s16 point; + int mode; s8 roomNo; s8 layer; - u32 mode = 0; // uvar8 - retail - s8 wipe = wipe_type; // ivar10 - int noVisit = true; - int wipe_time = 0; // bvar9 - f32 speed = FLOAT_LABEL(lit_4264); // dvar12 - bool setHour = false; // bvar2 - f32 hour = speed; // set to 0.0f dvar13 + s8 wipe; + s32 noVisit; + s32 wipe_time; + f32 hour; + f32 speed; + mode = 0; + wipe = wipe_type; + noVisit = true; + wipe_time = 0; + hour = 0; + bool setHour = false; + speed = 0; int* p_id = dComIfGp_evmng_getMyIntegerP(index, "ID"); if (p_id != NULL) { @@ -281,18 +308,19 @@ static int dEvDt_Next_Stage(int index, int wipe_type) { } if (info != NULL && id >= 0 && id < info->numEntries) { - stage = info->mEntries[id].mStage; - point = info->mEntries[id].mStart; - roomNo = info->mEntries[id].mRoom; - layer = dStage_sclsInfo_getSceneLayer(&info->mEntries[id]); - wipe = dStage_sclsInfo_getWipe(&info->mEntries[id]); - wipe_time = dStage_sclsInfo_getWipeTime(&info->mEntries[id]); + stage_scls_info_class* stgInfo = &info->mEntries[id]; + stage = stgInfo->mStage; + point = stgInfo->mStart; + roomNo = (s8)stgInfo->mRoom; + layer = dStage_sclsInfo_getSceneLayer(stgInfo); + wipe = (s8)dStage_sclsInfo_getWipe(stgInfo); + wipe_time = dStage_sclsInfo_getWipeTime(stgInfo); if (wipe == 15) { wipe = 0; } - s8 timeH = dStage_sclsInfo_getTimeH(&info->mEntries[id]); + int timeH = dStage_sclsInfo_getTimeH(stgInfo); if (timeH >= 0 && timeH <= 23) { setHour = true; hour = timeH; @@ -312,7 +340,7 @@ static int dEvDt_Next_Stage(int index, int wipe_type) { int* roomP = dComIfGp_evmng_getMyIntegerP(index, "RoomNo"); if (roomP != NULL) { - roomNo = *roomP; + roomNo = (s8)*roomP; } int* layerP = dComIfGp_evmng_getMyIntegerP(index, "Layer"); @@ -367,31 +395,38 @@ static asm int dEvDt_Next_Stage(int param_0, int param_1) { #endif /* 80043D60-80043DC8 03E6A0 0068+00 3/3 0/0 0/0 .text flagCheck__11dEvDtFlag_cFi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dEvDtFlag_c::flagCheck(int param_0) { - nofralloc -#include "asm/d/event/d_event_data/flagCheck__11dEvDtFlag_cFi.s" +BOOL dEvDtFlag_c::flagCheck(int param_0) { + if (flagMaxCheck(param_0)) { + return FALSE; + } else { + if (mFlags[(u32)param_0 / 0x20] & (1 << (param_0 & 0x1F))) { + return TRUE; + } else { + return FALSE; + } + } } -#pragma pop /* 80043DC8-80043E30 03E708 0068+00 2/2 1/1 0/0 .text flagSet__11dEvDtFlag_cFi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dEvDtFlag_c::flagSet(int param_0) { - nofralloc -#include "asm/d/event/d_event_data/flagSet__11dEvDtFlag_cFi.s" +BOOL dEvDtFlag_c::flagSet(int param_0) { + if (flagMaxCheck(param_0)) { + return FALSE; + } else { + mFlags[(u32)param_0 / 0x20] |= (1 << (param_0 & 0x1F)); + return TRUE; + } } -#pragma pop -bool dEvDtFlag_c::flagMaxCheck(int flag_id) { +BOOL dEvDtFlag_c::flagMaxCheck(int flag_id) { if (flag_id == -1) { - return true; + return TRUE; } - return FlagMax <= flag_id; + if (FlagMax <= flag_id) { + return TRUE; + } else { + return FALSE; + } } void dEvDtFlag_c::init() { @@ -401,35 +436,38 @@ void dEvDtFlag_c::init() { } /* 80043E78-80043EFC 03E7B8 0084+00 0/0 1/1 0/0 .text finishCheck__12dEvDtEvent_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm int dEvDtEvent_c::finishCheck() { - nofralloc -#include "asm/d/event/d_event_data/finishCheck__12dEvDtEvent_cFv.s" +int dEvDtEvent_c::finishCheck() { + for (int i = 0; i < 3; i++) { + int tmp = field_0x88[i]; + if (tmp == -1) { + return 1; + } + if (!dComIfGp_getEventManager().flagCheck(tmp)) { + return 0; + } + } + return 1; } -#pragma pop /* 80043EFC-80043F70 03E83C 0074+00 0/0 1/1 0/0 .text forceFinish__12dEvDtEvent_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dEvDtEvent_c::forceFinish() { - nofralloc -#include "asm/d/event/d_event_data/forceFinish__12dEvDtEvent_cFv.s" +int dEvDtEvent_c::forceFinish() { + for (int i = 0; i < 3; i++) { + int tmp = field_0x88[i]; + if (tmp == -1) { + return 1; + } + dComIfGp_getEventManager().setFlag(tmp); + } + return 1; } -#pragma pop /* 80043F70-80043FD8 03E8B0 0068+00 0/0 1/1 0/0 .text * specialStaffProc__12dEvDtEvent_cFP12dEvDtStaff_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dEvDtEvent_c::specialStaffProc(dEvDtStaff_c* param_0) { - nofralloc -#include "asm/d/event/d_event_data/specialStaffProc__12dEvDtEvent_cFP12dEvDtStaff_c.s" +void dEvDtEvent_c::specialStaffProc(dEvDtStaff_c* param_0) { + for (int i = 0; i < mNStaff; i++) { + param_0[mStaff[i]].specialProc(); + } } -#pragma pop /* ############################################################################################## */ /* 80379DD0-80379DD0 006430 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ @@ -439,57 +477,56 @@ SECTION_DEAD static char const* const stringBase_80379E0D = "Timer"; #pragma pop /* 80043FD8-8004403C 03E918 0064+00 4/4 0/0 0/0 .text specialProc_WaitStart__12dEvDtStaff_cFi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dEvDtStaff_c::specialProc_WaitStart(int param_0) { - nofralloc -#include "asm/d/event/d_event_data/specialProc_WaitStart__12dEvDtStaff_cFi.s" +void dEvDtStaff_c::specialProc_WaitStart(int param_0) { + int* timer = dComIfGp_evmng_getMyIntegerP(param_0, "Timer"); + if (timer == NULL) { + mWaitTimer = 0; + } else { + mWaitTimer = *timer; + } } -#pragma pop /* 8004403C-80044080 03E97C 0044+00 4/4 0/0 0/0 .text specialProc_WaitProc__12dEvDtStaff_cFi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dEvDtStaff_c::specialProc_WaitProc(int param_0) { - nofralloc -#include "asm/d/event/d_event_data/specialProc_WaitProc__12dEvDtStaff_cFi.s" +void dEvDtStaff_c::specialProc_WaitProc(int param_0) { + if (mWaitTimer > 0) { + mWaitTimer--; + } else { + dComIfGp_evmng_cutEnd(param_0); + } } -#pragma pop - -/* ############################################################################################## */ -/* 803A8238-803A8270 -00001 0034+04 1/1 0/0 0/0 .data @4398 */ -SECTION_DATA static void* lit_4398[13 + 1 /* padding */] = { - (void*)(((char*)specialProc__12dEvDtStaff_cFv) + 0xA0), - (void*)(((char*)specialProc__12dEvDtStaff_cFv) + 0x50), - (void*)(((char*)specialProc__12dEvDtStaff_cFv) + 0xA0), - (void*)(((char*)specialProc__12dEvDtStaff_cFv) + 0x68), - (void*)(((char*)specialProc__12dEvDtStaff_cFv) + 0x48), - (void*)(((char*)specialProc__12dEvDtStaff_cFv) + 0xA0), - (void*)(((char*)specialProc__12dEvDtStaff_cFv) + 0x40), - (void*)(((char*)specialProc__12dEvDtStaff_cFv) + 0x94), - (void*)(((char*)specialProc__12dEvDtStaff_cFv) + 0x8C), - (void*)(((char*)specialProc__12dEvDtStaff_cFv) + 0x9C), - (void*)(((char*)specialProc__12dEvDtStaff_cFv) + 0xA0), - (void*)(((char*)specialProc__12dEvDtStaff_cFv) + 0x38), - (void*)(((char*)specialProc__12dEvDtStaff_cFv) + 0x70), - /* padding */ - NULL, -}; /* 80044080-80044134 03E9C0 00B4+00 2/1 0/0 0/0 .text specialProc__12dEvDtStaff_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dEvDtStaff_c::specialProc() { - nofralloc -#include "asm/d/event/d_event_data/specialProc__12dEvDtStaff_cFv.s" -} -#pragma pop - -inline dEvent_manager_c& dComIfGp_getEventManager() { - return g_dComIfG_gameInfo.play.getEvtManager(); +void dEvDtStaff_c::specialProc() { + switch (mType) { + case TYPE_PACKAGE: + specialProcPackage(); + break; + case TYPE_DIRECTOR: + specialProcDirector(); + break; + case TYPE_TIMEKEEPER: + specialProcTimekeeper(); + break; + case TYPE_ALL: + dComIfGp_evmng_cutEnd(mIndex); + break; + case TYPE_EFFECT: + specialProcEffect(); + break; + case TYPE_CREATE: + specialProcCreate(); + dComIfGp_evmng_cutEnd(mIndex); + break; + case TYPE_SOUND: + specialProcSound(); + break; + case TYPE_MESSAGE: + specialProcMessage(); + break; + case TYPE_LIGHT: + specialProcLight(); + break; + } } /* 80044134-80044170 03EA74 003C+00 0/0 1/1 0/0 .text init__12dEvDtStaff_cFv */ @@ -531,6 +568,45 @@ SECTION_SDATA2 static f64 lit_4461 = 24.0; /* 80044190-80044324 03EAD0 0194+00 1/1 0/0 0/0 .text specialProcLight__12dEvDtStaff_cFv */ +#ifdef NONMATCHING +// matches besides floats +void dEvDtStaff_c::specialProcLight() { + int staffId = i_dComIfGp_evmng_getMyStaffId("LIGHT", NULL, 0); + if (staffId != -1) { + char* nowCutName = dComIfGp_getEventManager().getMyNowCutName(staffId); + if (dComIfGp_evmng_getIsAddvance(staffId)) { + f32* hourP; + switch (*(int*)nowCutName) { + case 'CHAN': + hourP = dComIfGp_evmng_getMyFloatP(staffId, "Hour"); + if (hourP != NULL) { + dKy_instant_timechg(*hourP * 15.0f); + } + int* weatherP = dComIfGp_evmng_getMyIntegerP(staffId, "Weather"); + if (weatherP != NULL) { + switch (*weatherP) { + case 0: + dKy_instant_rainchg(); + } + } + break; + case 'ADD_': + hourP = dComIfGp_evmng_getMyFloatP(staffId, "Hour"); + if (hourP != NULL) { + f32 hours = dComIfGs_getTime() * (1.0f / 15.0f); + hours += *hourP; + while (hours >= 24.0) { + hours -= 24.0; + } + dKy_instant_timechg(hours * 15.0f); + } + break; + } + } + dComIfGp_evmng_cutEnd(staffId); + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -539,27 +615,184 @@ asm void dEvDtStaff_c::specialProcLight() { #include "asm/d/event/d_event_data/specialProcLight__12dEvDtStaff_cFv.s" } #pragma pop - -/* ############################################################################################## */ -/* 80379DD0-80379DD0 006430 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80379E21 = "MESSAGE"; -SECTION_DEAD static char const* const stringBase_80379E29 = "msgNo"; -SECTION_DEAD static char const* const stringBase_80379E2F = "No"; -SECTION_DEAD static char const* const stringBase_80379E32 = "Type"; -SECTION_DEAD static char const* const stringBase_80379E37 = "ForStart"; -#pragma pop +#endif /* 80044324-80044A58 03EC64 0734+00 1/1 0/0 0/0 .text specialProcMessage__12dEvDtStaff_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dEvDtStaff_c::specialProcMessage() { - nofralloc -#include "asm/d/event/d_event_data/specialProcMessage__12dEvDtStaff_cFv.s" +void dEvDtStaff_c::specialProcMessage() { + MessageData* data = (MessageData*)&mData; + StaffWork* work = &mWork; + int staffId = i_dComIfGp_evmng_getMyStaffId("MESSAGE", NULL, 0); + if (staffId == -1) { + return; + } + char* nowCutName = dComIfGp_getEventManager().getMyNowCutName(staffId); + if (dComIfGp_evmng_getIsAddvance(staffId)) { + switch (*(int*)nowCutName) { + case 'WAIT': + specialProc_WaitStart(staffId); + break; + case 'CREA': + case 'SHOW': + work->_0 = UINT32_MAX; + work->mLMsg = NULL; + work->mMsgSubstanceNum = dComIfGp_evmng_getMySubstanceNum(staffId, "msgNo"); + work->mMsgSubstanceP = dComIfGp_evmng_getMyIntegerP(staffId, "msgNo"); + if (work->mMsgSubstanceNum < 1) { + work->mMsgSubstanceNum = dComIfGp_evmng_getMySubstanceNum(staffId, "No"); + work->mMsgSubstanceP = dComIfGp_evmng_getMyIntegerP(staffId, "No"); + } + work->mMsgNo = *work->mMsgSubstanceP; + data->unk = 0; + break; + case 'END\0': + case 'FINI': + work->mLMsg->field_0xf8 = 0x10; + break; + case 'CONT': + work->mLMsg->field_0xf8 = 0xF; + int* ptr = dComIfGp_evmng_getMyIntegerP(staffId, "msgNo"); + if (ptr == NULL) { + ptr = dComIfGp_evmng_getMyIntegerP(staffId, "No"); + } + work->mMsgNo = *ptr; + fopMsgM_messageSet(work->mMsgNo, 1000); + break; + case 'SAVE': + work->mMsgNo = 1; + int* typeP = dComIfGp_evmng_getMyIntegerP(staffId, "Type"); + if (typeP != NULL && *typeP == 1) { + work->mMsgNo = 2; + } + work->_0 = d_GameOver_Create(work->mMsgNo); + break; + case 'TELO': + int* forStartP = dComIfGp_evmng_getMyIntegerP(staffId, "ForStart"); + if (forStartP != NULL && *forStartP != 0) { + work->mMsgNo = getStartTelopNo(); + } else { + char* stageP = dComIfGp_evmng_getMyStringP(staffId, "Stage"); + int* noP = dComIfGp_evmng_getMyIntegerP(staffId, "No"); + if (noP != NULL) { + work->mMsgNo = *noP; + } else if (stageP != NULL) { + work->mMsgNo = getTelopNo(stageP); + } else { + work->mMsgNo = getTelopNo(); + } + } + data->unk = 0; + if (work->mMsgNo != 0xFFFF) { + work->_0 = fopMsgM_messageSetDemo(work->mMsgNo); + } + } + } + switch (*(int*)nowCutName) { + case 'WAIT': + specialProc_WaitProc(staffId); + break; + case 'CREA': + switch (data->unk) { + case 0: + work->_0 = fopMsgM_messageSet(work->mMsgNo, 1000); + if (work->_0 != UINT32_MAX) { + data->unk++; + } + break; + case 1: + work->mLMsg = fopMsgM_SearchByID(work->_0); + if (work->mLMsg != NULL) { + data->unk++; + } + break; + case 2: + dComIfGp_evmng_cutEnd(staffId); + break; + } + break; + case 'PUSH': + if (work->mLMsg->field_0xf8 == 0xE) { + dComIfGp_evmng_cutEnd(staffId); + } + break; + case 'TELO': + dComIfGp_evmng_cutEnd(staffId); + break; + case 'SHOW': + switch (data->unk) { + case 0: + work->_0 = fopMsgM_messageSet(work->mMsgNo, 1000); + if (work->_0 != UINT32_MAX) { + data->unk = 1; + } else { + break; + } + case 1: + work->mLMsg = fopMsgM_SearchByID(work->_0); + if (work->mLMsg == NULL) { + break; + } + switch (work->mLMsg->field_0xf8) { + case 0xE: + work->mLMsg->field_0xf8 = 0x10; + break; + case 0x11: + break; + case 0x12: + work->mLMsg->field_0xf8 = 0x13; + work->_0 = UINT32_MAX; + work->mLMsg = NULL; + work->mMsgSubstanceNum--; + if (work->mMsgSubstanceNum != 0) { + data->unk = 0; + work->mMsgSubstanceP++; + work->mMsgNo = *work->mMsgSubstanceP; + } else { + dComIfGp_evmng_cutEnd(staffId); + data->unk = 99; + } + break; + default: + break; + } + break; + default: + dComIfGp_evmng_cutEnd(staffId); + break; + } + break; + case 'DELE': + case 'FINI': + if (work->mLMsg == NULL) { + dComIfGp_evmng_cutEnd(staffId); + } else if (work->mLMsg->field_0xf8 == 0x12) { + work->mLMsg->field_0xf8 = 0x13; + work->_0 = UINT32_MAX; + work->mLMsg = NULL; + dComIfGp_evmng_cutEnd(staffId); + } + break; + case 'CONT': + dComIfGp_evmng_cutEnd(staffId); + break; + case 'END\0': + switch (work->mLMsg->field_0xf8) { + case 0x11: + case 0x12: + dComIfGp_evmng_cutEnd(staffId); + break; + } + break; + case 'SAVE': + if (d_GameOver_CheckDelete(work->_0) && dComIfGp_getGameoverStatus() == 1) { + dComIfGp_evmng_cutEnd(staffId); + d_GameOver_Delete(work->_0); + } + break; + default: + dComIfGp_evmng_cutEnd(staffId); + break; + } } -#pragma pop /* ############################################################################################## */ /* 80379DD0-80379DD0 006430 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ @@ -576,6 +809,54 @@ SECTION_SDATA2 static f32 lit_4669 = -1.0f; /* 80044A58-80044CB8 03F398 0260+00 1/1 0/0 0/0 .text specialProcSound__12dEvDtStaff_cFv */ +#ifdef NONMATCHING +// matches besides floats +void dEvDtStaff_c::specialProcSound() { + int staffId = i_dComIfGp_evmng_getMyStaffId("SOUND", NULL, 0); + if (staffId == -1) { + return; + } + char* nowCutName = dComIfGp_getEventManager().getMyNowCutName(staffId); + if (dComIfGp_evmng_getIsAddvance(staffId)) { + switch (*(int*)nowCutName) { + case 'WAIT': + specialProc_WaitStart(staffId); + break; + case 'STRM': + mDoAud_bgmStreamPlay(); + break; + case 'NOMS': + specialProc_WaitStart(staffId); + break; + case 'RIDD': + int* typeP = dComIfGp_evmng_getMyIntegerP(staffId, "Type"); + if (typeP != NULL && *typeP == 1) { + mDoAud_seStart(0xC, NULL, 0, 0); + } else { + mDoAud_seStart(0xD, NULL, 0, 0); + } + break; + case 'BGMS': + int* timerP = dComIfGp_evmng_getMyIntegerP(staffId, "Timer"); + if (timerP != NULL) { + mDoAud_bgmStop(*timerP); + } + } + } + switch (*(int*)nowCutName) { + case 'WAIT': + specialProc_WaitProc(staffId); + break; + case 'NOMS': + if (mSoundWait <= dDemo_c::getFrameNoMsg()) { + dComIfGp_evmng_cutEnd(staffId); + } + break; + default: + dComIfGp_evmng_cutEnd(staffId); + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -584,6 +865,7 @@ asm void dEvDtStaff_c::specialProcSound() { #include "asm/d/event/d_event_data/specialProcSound__12dEvDtStaff_cFv.s" } #pragma pop +#endif /* ############################################################################################## */ /* 80379DD0-80379DD0 006430 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ @@ -599,6 +881,58 @@ SECTION_DEAD static char const* const stringBase_80379E65 = "SCALE"; /* 80044CB8-80044EE4 03F5F8 022C+00 1/1 0/0 0/0 .text specialProcCreate__12dEvDtStaff_cFv */ +#ifdef NONMATCHING +void dEvDtStaff_c::specialProcCreate() { + // regalloc + char* name; + u32 arg; + cXyz pos; + csXyz angle; + cXyz scale; + dStage_objectNameInf* objNameInf; + int staffId = i_dComIfGp_evmng_getMyStaffId("CREATER", NULL, 0); + if (staffId == -1) { + return; + } + char* nowCutName = dComIfGp_getEventManager().getMyNowCutName(staffId); + if (dComIfGp_evmng_getIsAddvance(staffId)) { + switch (*(int*)nowCutName) { + case 'WAIT': + break; + case 'CREA': + name = dComIfGp_evmng_getMyStringP(staffId, "MAKECAST"); + objNameInf = dStage_searchName(name); + int* argP = dComIfGp_evmng_getMyIntegerP(staffId, "ARG"); + if (argP == NULL) { + arg = UINT32_MAX; + } else { + arg = *argP; + } + cXyz* posP = dComIfGp_evmng_getMyXyzP(staffId, "POS"); + if (posP == NULL) { + pos = ((fopAc_ac_c*)dComIfGp_getPlayer(0))->getPosition(); + } else { + pos = *posP; + } + int* angleP = dComIfGp_evmng_getMyIntegerP(staffId, "ANGLE"); + if (angleP == NULL) { + angle.setall(0); + } else { + angle.set(angleP[0], angleP[1], angleP[2]); + } + cXyz* scaleP = dComIfGp_evmng_getMyXyzP(staffId, "SCALE"); + if (scaleP == NULL) { + scale.setAll(1.0f); + } else { + scale = *scaleP; + } + fopAcM_create(objNameInf->mProcName, arg, &pos, dComIfGp_roomControl_getStayNo(), + &angle, &scale, objNameInf->mSubtype); + break; + } + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -607,6 +941,7 @@ asm void dEvDtStaff_c::specialProcCreate() { #include "asm/d/event/d_event_data/specialProcCreate__12dEvDtStaff_cFv.s" } #pragma pop +#endif /* ############################################################################################## */ /* 80379DD0-80379DD0 006430 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ @@ -633,6 +968,226 @@ SECTION_DEAD static char const* const stringBase_80379EF9 = "PtD"; #pragma pop /* 80044EE4-80045878 03F824 0994+00 1/1 0/0 0/0 .text specialProcDirector__12dEvDtStaff_cFv */ +#ifdef NONMATCHING +// matches besides floats +void dEvDtStaff_c::specialProcDirector() { + DirectorData* data = (DirectorData*)mData; + daPy_py_c* player = dComIfGp_getLinkPlayer(); + dEvt_control_c& evtControl = dComIfGp_getEvent(); + int staffId = i_dComIfGp_evmng_getMyStaffId("DIRECTOR", NULL, 0); + if (staffId == -1) { + return; + } + char* nowCutName = dComIfGp_getEventManager().getMyNowCutName(staffId); + if (dComIfGp_evmng_getIsAddvance(staffId)) { + int* eventFlagP = dComIfGp_evmng_getMyIntegerP(staffId, "EventFlag"); + if (eventFlagP != NULL) { + dComIfGs_onEventBit(dSv_event_flag_c::saveBitLabels[*eventFlagP]); + } + int* eventFlagOffP = dComIfGp_evmng_getMyIntegerP(staffId, "EventFlagOff"); + if (eventFlagOffP != NULL) { + dComIfGs_offEventBit(dSv_event_flag_c::saveBitLabels[*eventFlagOffP]); + } + int* switchTableP = dComIfGp_evmng_getMyIntegerP(staffId, "SwitchTable"); + int switchTable; + if (switchTableP != NULL) { + switchTable = *switchTableP; + } else { + switchTable = dStage_stagInfo_GetSaveTbl(dComIfGp_getStageStagInfo()); + } + int* switchBitP = dComIfGp_evmng_getMyIntegerP(staffId, "SwitchBit"); + if (switchBitP != NULL) { + dComIfGs_onStageSwitch(switchTable, *switchBitP); + } + int* switchOffP = dComIfGp_evmng_getMyIntegerP(staffId, "SwitchOff"); + if (switchOffP != NULL) { + dComIfGs_offStageSwitch(switchTable, *switchOffP); + } + int* tmpBitP = dComIfGp_evmng_getMyIntegerP(staffId, "TmpBit"); + if (tmpBitP != NULL) { + dComIfGs_onTmpBit(dSv_event_tmp_flag_c::tempBitLabels[*tmpBitP]); + } + int* tmpOffP = dComIfGp_evmng_getMyIntegerP(staffId, "TmpBitOff"); + if (tmpOffP != NULL) { + dComIfGs_offTmpBit(dSv_event_tmp_flag_c::tempBitLabels[*tmpOffP]); + } + switch (*(int*)nowCutName) { + case 'WAIT': + specialProc_WaitStart(staffId); + break; + case 'PLAY': + if (strcmp(nowCutName, "PLAYER_NODRAW") == 0) { + player->i_onPlayerNoDraw(); + } else if (strcmp(nowCutName, "PLAYER_DRAW") == 0) { + player->i_offPlayerNoDraw(); + } + break; + case 'NEXT': + dEvDt_Next_Stage(staffId, 0xD); + break; + case 'SKIP': + char* zev = dComIfGp_evmng_getMyStringP(staffId, "Zev"); + // cast needed to match + void* pt = (void*)evtControl.getPt1(); + if (NULL == pt) { + pt = evtControl.getPt2(); + } + if (zev != NULL) { + evtControl.setSkipZev(pt, zev); + } else { + evtControl.setSkipProc(pt, dEv_defaultSkipProc, 0); + } + break; + case 'FADE': + f32* rateP = dComIfGp_evmng_getMyFloatP(staffId, "Rate"); + int* colorP = dComIfGp_evmng_getMyIntegerP(staffId, "Color"); + if (*rateP > 0) { + mDoGph_gInf_c::setFadeRate(0); + } + if (colorP != NULL) { + GXColor color; + color.r = colorP[0]; + color.g = colorP[1]; + color.b = colorP[2]; + color.a = colorP[3]; + mDoGph_gInf_c::fadeOut(*rateP, color); + } else { + mDoGph_gInf_c::fadeOut(*rateP); + } + break; + case 'VIBR': + specialProc_WaitStart(staffId); + int* patternP = dComIfGp_evmng_getMyIntegerP(staffId, "Pattern"); + int* typeP = dComIfGp_evmng_getMyIntegerP(staffId, "Type"); + dComIfGp_getVibration().StartQuake((u8*)patternP, 0, *typeP, cXyz(0, 1, 0)); + break; + case 'WIPE': + f32* wipeRateP = dComIfGp_evmng_getMyFloatP(staffId, "Rate"); + dDlst_list_c::wipeIn(-*wipeRateP); + if (*wipeRateP > 0) { + data->unk = 0; + } else { + data->unk = 1; + } + int* soundP = dComIfGp_evmng_getMyIntegerP(staffId, "SOUND"); + if (soundP != NULL) { + switch (*soundP) { + case 0: + mDoAud_seStart(0, NULL, 0, 0); + } + } + break; + case 'MAPT': + int* idP = dComIfGp_evmng_getMyIntegerP(staffId, "ID"); + data->unk = *idP; + dStage_MapEvent_dt_c* mapEvent = dEvt_control_c::searchMapEventData(data->unk); + if (mapEvent != NULL) { + if (mapEvent->mType == 0) { + data->mSoundWait = mapEvent->field_0x14; + } else { + data->mSoundWait = -1; + } + } else { + data->mSoundWait = 0; + } + break; + case 'CAST': + char* pt2Name = dComIfGp_evmng_getMyStringP(staffId, "Pt2"); + if (pt2Name != NULL) { + fopAc_ac_c* pt2 = fopAcM_searchFromName4Event(pt2Name, -1); + if (pt2 != NULL) { + evtControl.setPt2(pt2); + } + } + char* ptTName = dComIfGp_evmng_getMyStringP(staffId, "PtT"); + if (ptTName != NULL) { + fopAc_ac_c* ptT = fopAcM_searchFromName4Event(ptTName, -1); + if (ptT != NULL) { + evtControl.setPtT(ptT); + } + } + char* ptIName = dComIfGp_evmng_getMyStringP(staffId, "PtI"); + if (ptIName != NULL) { + fopAc_ac_c* ptI = fopAcM_searchFromName4Event(ptIName, -1); + if (ptI != NULL) { + evtControl.setPtI(ptI); + } + } + char* ptDName = dComIfGp_evmng_getMyStringP(staffId, "PtD"); + if (ptDName != NULL) { + fopAc_ac_c* ptD = fopAcM_searchFromName4Event(ptDName, -1); + if (ptD != NULL) { + evtControl.setPtD(ptD); + } + } + break; + case 'SPEC': + int* specTypeP = dComIfGp_evmng_getMyIntegerP(staffId, "Type"); + if (specTypeP != NULL) { + switch (*specTypeP) { + case 8: + if (dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[506])) { + dComIfGs_onEventBit(dSv_event_flag_c::saveBitLabels[566]); + } + if (dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[507])) { + dComIfGs_onEventBit(dSv_event_flag_c::saveBitLabels[567]); + } + } + } + break; + } + } + switch (*(int*)nowCutName) { + case 'WAIT': + specialProc_WaitProc(staffId); + break; + case 'FADE': + if (!mDoGph_gInf_c::isFade()) { + dComIfGp_evmng_cutEnd(staffId); + break; + } + if (mDoGph_gInf_c::getFadeRate() >= 1) { + f32* rateP = dComIfGp_evmng_getMyFloatP(staffId, "Rate"); + if (*rateP > 0) { + dComIfGp_evmng_cutEnd(staffId); + } + } + break; + case 'NEXT': + break; + case 'VIBR': + if (data->mSoundWait > 0) { + data->mSoundWait--; + if (data->mSoundWait == 0) { + dComIfGp_getVibration().StopQuake(0x1F); + } + } else { + dComIfGp_evmng_cutEnd(staffId); + } + break; + case 'WIPE': + if (data->unk != 0) { + if (dDlst_list_c::getWipeRate() == 0) { + dComIfGp_evmng_cutEnd(staffId); + } + } else { + if (dDlst_list_c::getWipeRate() >= 1) { + dComIfGp_evmng_cutEnd(staffId); + } + } + break; + case 'MAPT': + data->mSoundWait--; + if (data->mSoundWait <= 0) { + dComIfGp_evmng_cutEnd(staffId); + } + break; + default: + dComIfGp_evmng_cutEnd(staffId); + break; + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -641,6 +1196,7 @@ asm void dEvDtStaff_c::specialProcDirector() { #include "asm/d/event/d_event_data/specialProcDirector__12dEvDtStaff_cFv.s" } #pragma pop +#endif /* ############################################################################################## */ /* 80379DD0-80379DD0 006430 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ @@ -655,7 +1211,73 @@ SECTION_DEAD static char const* const stringBase_80379F18 = "OffsetAngY"; /* 80451EF8-80451EFC 0004F8 0004+00 1/1 0/0 0/0 .sdata2 @5057 */ SECTION_SDATA2 static f32 lit_5057 = 10.0f; +inline void dComIfGp_event_setCullRate(f32 f) { + g_dComIfG_gameInfo.play.getEvent().setCullRate(f); +} + /* 80045878-80045AFC 0401B8 0284+00 1/1 0/0 0/0 .text specialProcPackage__12dEvDtStaff_cFv */ +#ifdef NONMATCHING +void dEvDtStaff_c::specialProcPackage() { + dMsgObject_c* msgObj = dComIfGp_getMsgObjectClass(); + if (!!msgObj) { + dMsgObject_demoMessageGroup(); + } + int staffId = i_dComIfGp_evmng_getMyStaffId("PACKAGE", NULL, 0); + if (staffId == -1) { + return; + } + char* nowCutName = dComIfGp_getEventManager().getMyNowCutName(staffId); + if (dComIfGp_evmng_getIsAddvance(staffId)) { + switch (*(int*)nowCutName) { + case 'WAIT': + specialProc_WaitStart(staffId); + break; + case 'PLAY': + char* fileName = dComIfGp_evmng_getMyStringP(staffId, "FileName"); + cXyz* offsetPos = dComIfGp_evmng_getMyXyzP(staffId, "OffsetPos"); + f32* offsetAngYP = dComIfGp_evmng_getMyFloatP(staffId, "OffsetAngY"); + f32 offsetAngY; + if (offsetAngYP != NULL) { + offsetAngY = *offsetAngYP; + } else { + offsetAngY = 0.0f; + } + // should not save event from g_dComIfG_gameInfo to register + u8* demoData = (u8*)dComIfGp_getEvent().getStbDemoData(fileName); + dDemo_c::start(demoData, offsetPos, offsetAngY); + dComIfGp_event_setCullRate(10.0f); + int* eventFlagP = dComIfGp_evmng_getMyIntegerP(staffId, "EventFlag"); + if (eventFlagP != NULL) { + dComIfGs_onEventBit(dSv_event_flag_c::saveBitLabels[*eventFlagP]); + } + break; + } + } + switch (*(int*)nowCutName) { + case 'WAIT': + specialProc_WaitProc(staffId); + break; + case 'PLAY': + dEvt_control_c& evtControl = dComIfGp_getEvent(); + if (dDemo_c::getMode() == 2) { + dStage_MapEvent_dt_c* event = evtControl.getStageEventDt(); + if (event != NULL && event->field_0x7 != 0xFF && !evtControl.chkFlag2(1)) { + dDemo_c::getControl()->referObject_control().suspend(100); + dComIfGp_evmng_cutEnd(staffId); + } else { + dDemo_c::end(); + } + } + if (dDemo_c::getMode() == 0) { + dComIfGp_evmng_cutEnd(staffId); + } + break; + default: + dComIfGp_evmng_cutEnd(staffId); + break; + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -664,6 +1286,7 @@ asm void dEvDtStaff_c::specialProcPackage() { #include "asm/d/event/d_event_data/specialProcPackage__12dEvDtStaff_cFv.s" } #pragma pop +#endif /* ############################################################################################## */ /* 80379DD0-80379DD0 006430 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ @@ -673,14 +1296,35 @@ SECTION_DEAD static char const* const stringBase_80379F23 = "TIMEKEEPER"; #pragma pop /* 80045AFC-80045C34 04043C 0138+00 1/1 0/0 0/0 .text specialProcTimekeeper__12dEvDtStaff_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dEvDtStaff_c::specialProcTimekeeper() { - nofralloc -#include "asm/d/event/d_event_data/specialProcTimekeeper__12dEvDtStaff_cFv.s" +void dEvDtStaff_c::specialProcTimekeeper() { + TimerKeeperData* dataP = (TimerKeeperData*)&mData; + int staffId = i_dComIfGp_evmng_getMyStaffId("TIMEKEEPER", NULL, 0); + if (staffId == -1) { + return; + } + char* nowCutName = dComIfGp_getEventManager().getMyNowCutName(staffId); + if (dComIfGp_evmng_getIsAddvance(staffId)) { + switch (*(int*)nowCutName) { + case 'COUN': + dataP->timer = *dComIfGp_evmng_getMyIntegerP(staffId, "Timer"); + break; + case 'WAIT': + break; + } + } + switch (*(int*)nowCutName) { + case 'COUN': + if (dataP->timer > 0) { + dataP->timer--; + } else { + dComIfGp_evmng_cutEnd(staffId); + } + break; + case 'WAIT': + default: + dComIfGp_evmng_cutEnd(staffId); + } } -#pragma pop /* ############################################################################################## */ /* 80379DD0-80379DD0 006430 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ @@ -700,6 +1344,136 @@ SECTION_SDATA2 static f32 lit_5200 = 4.0f / 5.0f; /* 80045C34-800460A8 040574 0474+00 1/1 0/0 0/0 .text specialProcEffect__12dEvDtStaff_cFv */ +#ifdef NONMATCHING +// matches besides floats +void dEvDtStaff_c::specialProcEffect() { + EffectData* data = (EffectData*)mData; + int staffId = i_dComIfGp_evmng_getMyStaffId("EFFECT", NULL, 0); + if (staffId == -1) { + return; + } + char* nowCutName = dComIfGp_getEventManager().getMyNowCutName(staffId); + if (dComIfGp_evmng_getIsAddvance(staffId)) { + data->unk = 0; + switch (*(int*)nowCutName) { + case 'WAIT': { + int* timerP = dComIfGp_evmng_getMyIntegerP(staffId, "Timer"); + int timer; + if (timerP != NULL) { + timer = *timerP; + } else { + timer = 0; + } + data->unk = timer; + } break; + case 'SHOC': { + int* powerP = dComIfGp_evmng_getMyIntegerP(staffId, "Power"); + int power; + if (powerP != NULL) { + power = *powerP; + } else { + power = 5; + } + int* typeP = dComIfGp_evmng_getMyIntegerP(staffId, "Type"); + int type; + if (typeP != NULL) { + type = *typeP; + } else { + type = 0xF; + } + dComIfGp_getVibration().StartShock(power, type, cXyz(0, 1, 0)); + } break; + case 'QUAK': { + int power; + int type; + int timer; + int random; + u8* pattern; + int* timerP = dComIfGp_evmng_getMyIntegerP(staffId, "Timer"); + if (timerP != NULL) { + timer = *timerP; + } else { + timer = 30; + } + data->unk = timer; + int* powerP = dComIfGp_evmng_getMyIntegerP(staffId, "Power"); + if (powerP != NULL) { + power = *powerP; + } else { + power = 5; + } + int* typeP = dComIfGp_evmng_getMyIntegerP(staffId, "Type"); + if (typeP != NULL) { + type = *typeP; + } else { + type = 0xF; + } + pattern = (u8*)dComIfGp_evmng_getMyStringP(staffId, "Pattern"); + if (pattern != NULL) { + int* randomP = dComIfGp_evmng_getMyIntegerP(staffId, "Random"); + if (randomP != NULL) { + random = *randomP; + } else { + random = 0; + } + dComIfGp_getVibration().StartQuake(pattern, random, type, cXyz(0, 1, 0)); + } else { + dComIfGp_getVibration().StartQuake(power, type, cXyz(0, 1, 0)); + } + } break; + case 'BLUR': { + int* timerP = dComIfGp_evmng_getMyIntegerP(staffId, "Timer"); + int timer; + if (timerP != NULL) { + timer = *timerP; + } else { + timer = 30; + } + int timer2 = data->unk = timer; + f32* alphaP = dComIfGp_evmng_getMyFloatP(staffId, "Alpha"); + f32 alpha; + if (alphaP != NULL) { + alpha = *alphaP; + } else { + alpha = 0.8f; + } + f32* scaleP = dComIfGp_evmng_getMyFloatP(staffId, "Scale"); + f32 scale; + if (scaleP != NULL) { + scale = *scaleP; + } else { + scale = 0.8f; + } + dCam_getBody()->StartBlure(timer2, NULL, alpha, scale); + } break; + } + } + if (data->unk != 0) { + data->unk--; + } + switch (*(int*)nowCutName) { + case 'WAIT': + if (data->unk == 0) { + dComIfGp_evmng_cutEnd(staffId); + } + break; + case 'QUAK': + if (data->unk == 0) { + dComIfGp_getVibration().StopQuake(0x1F); + dComIfGp_evmng_cutEnd(staffId); + } + break; + case 'BLUR': + if (data->unk == 0) { + dComIfGp_evmng_cutEnd(staffId); + } + break; + default: + dComIfGp_evmng_cutEnd(staffId); + break; + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -708,16 +1482,25 @@ asm void dEvDtStaff_c::specialProcEffect() { #include "asm/d/event/d_event_data/specialProcEffect__12dEvDtStaff_cFv.s" } #pragma pop +#endif /* 800460A8-80046138 0409E8 0090+00 1/1 0/0 0/0 .text startCheck__10dEvDtCut_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dEvDtCut_c::startCheck() { - nofralloc -#include "asm/d/event/d_event_data/startCheck__10dEvDtCut_cFv.s" +int dEvDtCut_c::startCheck() { + for (int i = 0; i < 3; i++) { + int flag = this->getStartFlag(i); + if (flag == -1) { + if (i == 0) { + return -1; + } else { + return 1; + } + } + if (!dEvDtFlagCheck(flag)) { + return 0; + } + } + return 1; } -#pragma pop /* 80046138-8004616C 040A78 0034+00 1/1 7/7 0/0 .text init__11dEvDtBase_cFv */ int dEvDtBase_c::init() { @@ -783,13 +1566,21 @@ void dEvDtBase_c::advanceCut(dEvDtEvent_c* p_event) { /* 800462FC-800463DC 040C3C 00E0+00 1/1 0/0 0/0 .text * advanceCutLocal__11dEvDtBase_cFP12dEvDtStaff_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dEvDtBase_c::advanceCutLocal(dEvDtStaff_c* param_0) { - nofralloc -#include "asm/d/event/d_event_data/advanceCutLocal__11dEvDtBase_cFP12dEvDtStaff_c.s" +BOOL dEvDtBase_c::advanceCutLocal(dEvDtStaff_c* param_0) { + dEvDtCut_c* cut = &mCutP[param_0->getCurrentCut()]; + if (dEvDtFlagCheck(cut->getFlagId()) && cut->getNext() != -1) { + switch (mCutP[cut->getNext()].startCheck()) { + case -1: + param_0->advanceCut(cut->getNext()); + return TRUE; + case 1: + dEvDtFlagSet(cut->getFlagId()); + param_0->advanceCut(cut->getNext()); + return TRUE; + } + } + param_0->field_0x40 = false; + return FALSE; } -#pragma pop /* 80379DD0-80379DD0 006430 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ diff --git a/src/d/event/d_event_lib.cpp b/src/d/event/d_event_lib.cpp index 50e996ddc0..404cfef825 100644 --- a/src/d/event/d_event_lib.cpp +++ b/src/d/event/d_event_lib.cpp @@ -4,187 +4,23 @@ // #include "d/event/d_event_lib.h" +#include "d/com/d_com_inf_game.h" +#include "d/event/d_event_manager.h" #include "dol2asm.h" #include "dolphin/types.h" - -// -// Types: -// - -struct fopAc_ac_c {}; - -struct dEvt_control_c { - /* 80042468 */ void reset(); -}; - -struct dEvent_manager_c { - /* 80047698 */ void getEventIdx(fopAc_ac_c*, u8); - /* 80047A78 */ void endCheck(s16); -}; - -template -struct action_class {}; -/* action_class */ -struct action_class__template0 {}; - -struct dEvLib_callback_c { - /* 8004886C */ void eventUpdate(); - /* 800488A4 */ void setEvent(int, int, int); - /* 80048940 */ void orderEvent(int, int, int); - /* 80048970 */ void setAction(action_class*); - /* 800489A8 */ void initAction(); - /* 800489F8 */ void executeAction(); - /* 80048A50 */ void initStart(); - /* 80048A70 */ void executeStart(); - /* 80048B1C */ void initRun(); - /* 80048B48 */ void executeRun(); -}; - -// -// Forward References: -// - -extern "C" void eventUpdate__17dEvLib_callback_cFv(); -extern "C" void setEvent__17dEvLib_callback_cFiii(); -extern "C" void orderEvent__17dEvLib_callback_cFiii(); -extern "C" void func_80048970(); -extern "C" void initAction__17dEvLib_callback_cFv(); -extern "C" void executeAction__17dEvLib_callback_cFv(); -extern "C" void initStart__17dEvLib_callback_cFv(); -extern "C" void executeStart__17dEvLib_callback_cFv(); -extern "C" void initRun__17dEvLib_callback_cFv(); -extern "C" void executeRun__17dEvLib_callback_cFv(); -extern "C" void __sinit_d_event_lib_cpp(); - -// -// External References: -// - -extern "C" void fopAcM_orderOtherEventId__FP10fopAc_ac_csUcUsUsUs(); -extern "C" void fopAcM_orderMapToolEvent__FP10fopAc_ac_cUcsUsUsUs(); -extern "C" void reset__14dEvt_control_cFv(); -extern "C" void getEventIdx__16dEvent_manager_cFP10fopAc_ac_cUc(); -extern "C" void endCheck__16dEvent_manager_cFs(); -extern "C" void __ptmf_test(); -extern "C" void __ptmf_scall(); -extern "C" extern u8 g_dComIfG_gameInfo[122384]; +#include "f_op/f_op_actor_mng.h" // // Declarations: // -/* 8004886C-800488A4 0431AC 0038+00 0/0 0/0 23/23 .text eventUpdate__17dEvLib_callback_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dEvLib_callback_c::eventUpdate() { - nofralloc -#include "asm/d/event/d_event_lib/eventUpdate__17dEvLib_callback_cFv.s" +inline dEvent_manager_c& dComIfGp_getEventManager() { + return g_dComIfG_gameInfo.play.getEvtManager(); } -#pragma pop -/* ############################################################################################## */ -/* 804246E0-804246F8 051400 0018+00 2/2 0/0 0/0 .bss l_startAction */ -static u8 l_startAction[24]; - -/* 800488A4-80048940 0431E4 009C+00 1/1 0/0 1/1 .text setEvent__17dEvLib_callback_cFiii - */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dEvLib_callback_c::setEvent(int param_0, int param_1, int param_2) { - nofralloc -#include "asm/d/event/d_event_lib/setEvent__17dEvLib_callback_cFiii.s" +inline dEvt_control_c& dComIfGp_getEvent() { + return g_dComIfG_gameInfo.play.getEvent(); } -#pragma pop - -/* 80048940-80048970 043280 0030+00 0/0 0/0 21/21 .text orderEvent__17dEvLib_callback_cFiii */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dEvLib_callback_c::orderEvent(int param_0, int param_1, int param_2) { - nofralloc -#include "asm/d/event/d_event_lib/orderEvent__17dEvLib_callback_cFiii.s" -} -#pragma pop - -/* 80048970-800489A8 0432B0 0038+00 3/3 0/0 0/0 .text - * setAction__17dEvLib_callback_cFP33action_class<17dEvLib_callback_c> */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dEvLib_callback_c::setAction(action_class* param_0) { - nofralloc -#include "asm/d/event/d_event_lib/func_80048970.s" -} -#pragma pop - -/* 800489A8-800489F8 0432E8 0050+00 1/1 0/0 0/0 .text initAction__17dEvLib_callback_cFv - */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dEvLib_callback_c::initAction() { - nofralloc -#include "asm/d/event/d_event_lib/initAction__17dEvLib_callback_cFv.s" -} -#pragma pop - -/* 800489F8-80048A50 043338 0058+00 1/1 0/0 0/0 .text executeAction__17dEvLib_callback_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dEvLib_callback_c::executeAction() { - nofralloc -#include "asm/d/event/d_event_lib/executeAction__17dEvLib_callback_cFv.s" -} -#pragma pop - -/* 80048A50-80048A70 043390 0020+00 1/0 0/0 0/0 .text initStart__17dEvLib_callback_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dEvLib_callback_c::initStart() { - nofralloc -#include "asm/d/event/d_event_lib/initStart__17dEvLib_callback_cFv.s" -} -#pragma pop - -/* ############################################################################################## */ -/* 804246F8-80424710 051418 0018+00 2/2 0/0 0/0 .bss l_runAction */ -static u8 l_runAction[24]; - -/* 80048A70-80048B1C 0433B0 00AC+00 2/1 0/0 0/0 .text executeStart__17dEvLib_callback_cFv - */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dEvLib_callback_c::executeStart() { - nofralloc -#include "asm/d/event/d_event_lib/executeStart__17dEvLib_callback_cFv.s" -} -#pragma pop - -/* 80048B1C-80048B48 04345C 002C+00 1/0 0/0 0/0 .text initRun__17dEvLib_callback_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dEvLib_callback_c::initRun() { - nofralloc -#include "asm/d/event/d_event_lib/initRun__17dEvLib_callback_cFv.s" -} -#pragma pop - -/* 80048B48-80048BD8 043488 0090+00 1/0 0/0 0/0 .text executeRun__17dEvLib_callback_cFv - */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dEvLib_callback_c::executeRun() { - nofralloc -#include "asm/d/event/d_event_lib/executeRun__17dEvLib_callback_cFv.s" -} -#pragma pop /* ############################################################################################## */ /* 803A82B8-803A82C4 0053D8 000C+00 1/1 0/0 0/0 .data cNullVec__6Z2Calc */ @@ -192,59 +28,111 @@ SECTION_DATA static u8 cNullVec__6Z2Calc[12] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }; -/* 803A82C4-803A82D0 -00001 000C+00 0/1 0/0 0/0 .data @3617 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3617[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)initStart__17dEvLib_callback_cFv, -}; -#pragma pop - -/* 803A82D0-803A82DC -00001 000C+00 0/1 0/0 0/0 .data @3618 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3618[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)executeStart__17dEvLib_callback_cFv, -}; -#pragma pop - -/* 803A82DC-803A82E8 -00001 000C+00 0/1 0/0 0/0 .data @3621 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3621[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)initRun__17dEvLib_callback_cFv, -}; -#pragma pop - -/* 803A82E8-803A82F8 -00001 000C+04 0/1 0/0 0/0 .data @3622 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3622[3 + 1 /* padding */] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)executeRun__17dEvLib_callback_cFv, - /* padding */ - NULL, -}; -#pragma pop - -/* 80048BD8-80048C54 043518 007C+00 0/0 1/0 0/0 .text __sinit_d_event_lib_cpp */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void __sinit_d_event_lib_cpp() { - nofralloc -#include "asm/d/event/d_event_lib/__sinit_d_event_lib_cpp.s" +/* 8004886C-800488A4 0431AC 0038+00 0/0 0/0 23/23 .text eventUpdate__17dEvLib_callback_cFv */ +BOOL dEvLib_callback_c::eventUpdate() { + if (mAction == NULL) { + return FALSE; + } else { + executeAction(); + return TRUE; + } } -#pragma pop -#pragma push -#pragma force_active on -REGISTER_CTORS(0x80048BD8, __sinit_d_event_lib_cpp); -#pragma pop +/* ############################################################################################## */ +/* 804246E0-804246F8 051400 0018+00 2/2 0/0 0/0 .bss l_startAction */ +static action_class l_startAction(&dEvLib_callback_c::initStart, + &dEvLib_callback_c::executeStart); +/* 804246F8-80424710 051418 0018+00 2/2 0/0 0/0 .bss l_runAction */ +static action_class l_runAction(&dEvLib_callback_c::initRun, + &dEvLib_callback_c::executeRun); + +/* 800488A4-80048940 0431E4 009C+00 1/1 0/0 1/1 .text setEvent__17dEvLib_callback_cFiii + */ +BOOL dEvLib_callback_c::setEvent(int mapToolId, int eventIdx, int param_2) { + if (mAction != NULL) { + return FALSE; + } else { + mActor->mEvtInfo.setMapToolId(mapToolId); + if (mapToolId != 0xFF && eventIdx == 0xFF) { + eventIdx = dComIfGp_getEventManager().getEventIdx(mActor, mapToolId); + } + mActor->mEvtInfo.setEventId(eventIdx); + _C = param_2; + return setAction(&l_startAction); + } +} + +/* 80048940-80048970 043280 0030+00 0/0 0/0 21/21 .text orderEvent__17dEvLib_callback_cFiii */ +void dEvLib_callback_c::orderEvent(int param_0, int param_1, int param_2) { + setEvent(param_0, param_1, param_2 != 0 ? 0x101 : 1); +} + +/* 80048970-800489A8 0432B0 0038+00 3/3 0/0 0/0 .text + * setAction__17dEvLib_callback_cFP33action_class<17dEvLib_callback_c> */ +BOOL dEvLib_callback_c::setAction(action_class* action) { + mAction = action; + if (mAction == NULL) { + return FALSE; + } else { + return initAction(); + } +} + +/* 800489A8-800489F8 0432E8 0050+00 1/1 0/0 0/0 .text initAction__17dEvLib_callback_cFv + */ +BOOL dEvLib_callback_c::initAction() { + if (!mAction->getInit()) { + return TRUE; + } else { + return (this->*(mAction->getInit()))(); + } +} + +/* 800489F8-80048A50 043338 0058+00 1/1 0/0 0/0 .text executeAction__17dEvLib_callback_cFv */ +BOOL dEvLib_callback_c::executeAction() { + if (!mAction->getExecute()) { + return TRUE; + } else { + return (this->*(mAction->getExecute()))(); + } +} + +/* 80048A50-80048A70 043390 0020+00 1/0 0/0 0/0 .text initStart__17dEvLib_callback_cFv */ +BOOL dEvLib_callback_c::initStart() { + return executeStart(); +} + +/* 80048A70-80048B1C 0433B0 00AC+00 2/1 0/0 0/0 .text executeStart__17dEvLib_callback_cFv + */ +BOOL dEvLib_callback_c::executeStart() { + if (!mActor->mEvtInfo.checkCommandDemoAccrpt()) { + if (mActor->mEvtInfo.getMapToolId() != 0xFF) { + fopAcM_orderMapToolEvent(mActor, mActor->mEvtInfo.getMapToolId(), + mActor->mEvtInfo.getEventId(), 0xFFFF, _C, 0); + } else { + fopAcM_orderOtherEventId(mActor, mActor->mEvtInfo.getEventId(), + mActor->mEvtInfo.getMapToolId(), 0xFFFF, 0, _C); + } + mActor->mEvtInfo.i_onCondition(2); + return TRUE; + } else { + return setAction(&l_runAction); + } +} + +/* 80048B1C-80048B48 04345C 002C+00 1/0 0/0 0/0 .text initRun__17dEvLib_callback_cFv */ +BOOL dEvLib_callback_c::initRun() { + return eventStart(); +} + +/* 80048B48-80048BD8 043488 0090+00 1/0 0/0 0/0 .text executeRun__17dEvLib_callback_cFv + */ +BOOL dEvLib_callback_c::executeRun() { + if (!dComIfGp_getEventManager().endCheck(mActor->mEvtInfo.getEventId())) { + return eventRun(); + } else { + dComIfGp_getEvent().reset(); + setAction(NULL); + return eventEnd(); + } +} diff --git a/src/d/event/d_event_manager.cpp b/src/d/event/d_event_manager.cpp index d3da00c8f6..8a8420f48f 100644 --- a/src/d/event/d_event_manager.cpp +++ b/src/d/event/d_event_manager.cpp @@ -797,7 +797,7 @@ int dEvent_manager_c::endCheckOld(char const* pName) { /* 80047B1C-80047D4C 04245C 0230+00 1/1 10/10 210/210 .text * getMyStaffId__16dEvent_manager_cFPCcP10fopAc_ac_ci */ -s32 dEvent_manager_c::getMyStaffId(char const* pStaffName, fopAc_ac_c* pActor, int tagId) { +int dEvent_manager_c::getMyStaffId(char const* pStaffName, fopAc_ac_c* pActor, int tagId) { int staffNum; int i; int evtIdx = -1; @@ -820,7 +820,7 @@ s32 dEvent_manager_c::getMyStaffId(char const* pStaffName, fopAc_ac_c* pActor, i for (i = 0; i < staffCount; i++) { staffNum = event->getStaff(i); dEvDtStaff_c* staff = getBase().getStaffP(staffNum); - if (staff->mType != 1) { + if (staff->mType != dEvDtStaff_c::TYPE_ALL) { char buf[0x18]; strcpy(buf, staff->mName); char* ptr = NULL; diff --git a/src/f_op/f_op_msg_mng.cpp b/src/f_op/f_op_msg_mng.cpp index ff889b9ded..264661a4e1 100644 --- a/src/f_op/f_op_msg_mng.cpp +++ b/src/f_op/f_op_msg_mng.cpp @@ -201,7 +201,7 @@ asm void fopMsgM_messageSet(u32 param_0, fopAc_ac_c* param_1, u32 param_2) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void fopMsgM_messageSet(u32 param_0, u32 param_1) { +asm int fopMsgM_messageSet(u32 param_0, u32 param_1) { nofralloc #include "asm/f_op/f_op_msg_mng/fopMsgM_messageSet__FUlUl.s" } @@ -211,7 +211,7 @@ asm void fopMsgM_messageSet(u32 param_0, u32 param_1) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void fopMsgM_messageSetDemo(u32 param_0) { +asm int fopMsgM_messageSetDemo(u32 param_0) { nofralloc #include "asm/f_op/f_op_msg_mng/fopMsgM_messageSetDemo__FUl.s" }