From 75a1f2afcad2fffec08d2f615c90609cc33f4200 Mon Sep 17 00:00:00 2001 From: TakaRikka <38417346+TakaRikka@users.noreply.github.com> Date: Sun, 19 Feb 2023 09:40:57 -0800 Subject: [PATCH] JMessage work (#296) * daalink / z2linkmgr wip * first cleanup of JASGlobalInstance data * fix sInstance stuff part 2 * more d_a_alink_swim work * remove asm * JMessage work * remove asm --- Progress.md | 8 +- .../control/__ct__Q28JMessage8TControlFv.s | 18 - .../control/__dt__Q28JMessage8TControlFv.s | 20 - .../control/reset__Q28JMessage8TControlFv.s | 27 - ...etMessageCode__Q28JMessage8TControlFUsUs.s | 74 -- ...e8TControlFPCQ28JMessage10TProcessorUsUs.s | 60 -- ...etMessageID__Q28JMessage8TControlFUlUlPb.s | 83 -- .../control/update__Q28JMessage8TControlFv.s | 39 - ...Message10TReferencePQ28JMessage8TControl.s | 18 - ...eringProcessorFPCQ28JMessage10TReference.s | 16 - .../__dt__Q28JMessage10TProcessorFv.s | 20 - .../__dt__Q28JMessage10TReferenceFv.s | 20 - .../__dt__Q28JMessage18TSequenceProcessorFv.s | 26 - ...__dt__Q28JMessage19TRenderingProcessorFv.s | 26 - ..._end___Q28JMessage18TSequenceProcessorFv.s | 4 - ...us___Q28JMessage18TSequenceProcessorFPCc.s | 8 - ...ady___Q28JMessage18TSequenceProcessorCFv.s | 5 - ...do_tag___Q28JMessage10TProcessorFUlPCvUl.s | 101 --- ..._Q28JMessage18TSequenceProcessorFUlPCvUl.s | 89 -- .../JMessage/processor/func_802A85D0.s | 6 - .../JMessage/processor/func_802A8690.s | 5 - .../JMessage/processor/func_802A8944.s | 33 - .../JMessage/processor/func_802A89B8.s | 14 - .../JMessage/processor/func_802A8A18.s | 15 - ...messageCode__Q28JMessage10TProcessorCFUl.s | 44 - ...__Q28JMessage18TSequenceProcessorFPCvPCc.s | 33 - ...esult__Q28JMessage18TSequenceProcessorFv.s | 12 - ...uery__Q28JMessage18TSequenceProcessorFUl.s | 14 - ...Ready__Q28JMessage18TSequenceProcessorFv.s | 12 - ...__Q28JMessage18TSequenceProcessorFPCvPCc.s | 33 - ...Ready__Q28JMessage18TSequenceProcessorFv.s | 12 - .../on_message__Q28JMessage10TProcessorCFUl.s | 9 - ...rFPFPQ28JMessage10TProcessor_PCcPCvPCcUl.s | 43 - ...on_select_end__Q28JMessage10TProcessorFv.s | 23 - ...lect_separate__Q28JMessage10TProcessorFv.s | 36 - .../on_tag___Q28JMessage10TProcessorFv.s | 42 - ...ess__Q28JMessage18TSequenceProcessorFPCc.s | 112 --- ...ss__Q28JMessage19TRenderingProcessorFPCc.s | 37 - ...ss_character___Q28JMessage10TProcessorFv.s | 46 - ...ssorFPCQ28JMessage18TSequenceProcessorUl.s | 14 - ...age10TProcessorFPQ28JMessage10TProcessor.s | 29 - ...age10TProcessorFPQ28JMessage10TProcessor.s | 21 - ...cessorFPCQ28JMessage18TSequenceProcessor.s | 12 - .../reset__Q28JMessage10TProcessorFv.s | 27 - ...ck_popCurrent__Q28JMessage10TProcessorFv.s | 10 - ...pushCurrent__Q28JMessage10TProcessorFPCc.s | 15 - ...essage18TResourceContainer10TCResourceFv.s | 21 - ...ainer10TCResourceFPQ28JMessage9TResource.s | 10 - .../__ct__Q28JMessage18TResourceContainerFv.s | 20 - ...6TParseFPQ28JMessage18TResourceContainer.s | 11 - ...ding__Q28JMessage18TResourceContainerFUc.s | 17 - ...ing___Q28JMessage18TResourceContainerFUc.s | 18 - include/JSystem/JGadget/binary.h | 27 +- include/JSystem/JGadget/linklist.h | 35 + include/JSystem/JMessage/control.h | 42 +- include/JSystem/JMessage/data.h | 47 +- include/JSystem/JMessage/locale.h | 14 +- include/JSystem/JMessage/processor.h | 240 +++++- include/JSystem/JMessage/resource.h | 91 +- include/init.h | 10 + libs/JSystem/JKernel/JKRHeap.cpp | 21 +- libs/JSystem/JMessage/control.cpp | 153 ++-- libs/JSystem/JMessage/data.cpp | 22 +- libs/JSystem/JMessage/locale.cpp | 27 +- libs/JSystem/JMessage/processor.cpp | 816 +++++++++--------- libs/JSystem/JMessage/resource.cpp | 157 ++-- 66 files changed, 1038 insertions(+), 2132 deletions(-) delete mode 100644 asm/JSystem/JMessage/control/__ct__Q28JMessage8TControlFv.s delete mode 100644 asm/JSystem/JMessage/control/__dt__Q28JMessage8TControlFv.s delete mode 100644 asm/JSystem/JMessage/control/reset__Q28JMessage8TControlFv.s delete mode 100644 asm/JSystem/JMessage/control/setMessageCode__Q28JMessage8TControlFUsUs.s delete mode 100644 asm/JSystem/JMessage/control/setMessageCode_inSequence___Q28JMessage8TControlFPCQ28JMessage10TProcessorUsUs.s delete mode 100644 asm/JSystem/JMessage/control/setMessageID__Q28JMessage8TControlFUlUlPb.s delete mode 100644 asm/JSystem/JMessage/control/update__Q28JMessage8TControlFv.s delete mode 100644 asm/JSystem/JMessage/processor/__ct__Q28JMessage18TSequenceProcessorFPCQ28JMessage10TReferencePQ28JMessage8TControl.s delete mode 100644 asm/JSystem/JMessage/processor/__ct__Q28JMessage19TRenderingProcessorFPCQ28JMessage10TReference.s delete mode 100644 asm/JSystem/JMessage/processor/__dt__Q28JMessage10TProcessorFv.s delete mode 100644 asm/JSystem/JMessage/processor/__dt__Q28JMessage10TReferenceFv.s delete mode 100644 asm/JSystem/JMessage/processor/__dt__Q28JMessage18TSequenceProcessorFv.s delete mode 100644 asm/JSystem/JMessage/processor/__dt__Q28JMessage19TRenderingProcessorFv.s delete mode 100644 asm/JSystem/JMessage/processor/do_end___Q28JMessage18TSequenceProcessorFv.s delete mode 100644 asm/JSystem/JMessage/processor/do_resetStatus___Q28JMessage18TSequenceProcessorFPCc.s delete mode 100644 asm/JSystem/JMessage/processor/do_setBegin_isReady___Q28JMessage18TSequenceProcessorCFv.s delete mode 100644 asm/JSystem/JMessage/processor/do_tag___Q28JMessage10TProcessorFUlPCvUl.s delete mode 100644 asm/JSystem/JMessage/processor/do_tag___Q28JMessage18TSequenceProcessorFUlPCvUl.s delete mode 100644 asm/JSystem/JMessage/processor/func_802A85D0.s delete mode 100644 asm/JSystem/JMessage/processor/func_802A8690.s delete mode 100644 asm/JSystem/JMessage/processor/func_802A8944.s delete mode 100644 asm/JSystem/JMessage/processor/func_802A89B8.s delete mode 100644 asm/JSystem/JMessage/processor/func_802A8A18.s delete mode 100644 asm/JSystem/JMessage/processor/getMessageText_messageCode__Q28JMessage10TProcessorCFUl.s delete mode 100644 asm/JSystem/JMessage/processor/on_branch__Q28JMessage18TSequenceProcessorFPCvPCc.s delete mode 100644 asm/JSystem/JMessage/processor/on_branch_queryResult__Q28JMessage18TSequenceProcessorFv.s delete mode 100644 asm/JSystem/JMessage/processor/on_branch_query__Q28JMessage18TSequenceProcessorFUl.s delete mode 100644 asm/JSystem/JMessage/processor/on_isReady__Q28JMessage18TSequenceProcessorFv.s delete mode 100644 asm/JSystem/JMessage/processor/on_jump__Q28JMessage18TSequenceProcessorFPCvPCc.s delete mode 100644 asm/JSystem/JMessage/processor/on_jump_isReady__Q28JMessage18TSequenceProcessorFv.s delete mode 100644 asm/JSystem/JMessage/processor/on_message__Q28JMessage10TProcessorCFUl.s delete mode 100644 asm/JSystem/JMessage/processor/on_select_begin__Q28JMessage10TProcessorFPFPQ28JMessage10TProcessor_PCcPCvPCcUl.s delete mode 100644 asm/JSystem/JMessage/processor/on_select_end__Q28JMessage10TProcessorFv.s delete mode 100644 asm/JSystem/JMessage/processor/on_select_separate__Q28JMessage10TProcessorFv.s delete mode 100644 asm/JSystem/JMessage/processor/on_tag___Q28JMessage10TProcessorFv.s delete mode 100644 asm/JSystem/JMessage/processor/process__Q28JMessage18TSequenceProcessorFPCc.s delete mode 100644 asm/JSystem/JMessage/processor/process__Q28JMessage19TRenderingProcessorFPCc.s delete mode 100644 asm/JSystem/JMessage/processor/process_character___Q28JMessage10TProcessorFv.s delete mode 100644 asm/JSystem/JMessage/processor/process_onBranch___Q28JMessage18TSequenceProcessorFPCQ28JMessage18TSequenceProcessorUl.s delete mode 100644 asm/JSystem/JMessage/processor/process_onCharacterEnd_normal___Q28JMessage10TProcessorFPQ28JMessage10TProcessor.s delete mode 100644 asm/JSystem/JMessage/processor/process_onCharacterEnd_select___Q28JMessage10TProcessorFPQ28JMessage10TProcessor.s delete mode 100644 asm/JSystem/JMessage/processor/process_onJump___Q28JMessage18TSequenceProcessorFPCQ28JMessage18TSequenceProcessor.s delete mode 100644 asm/JSystem/JMessage/processor/reset__Q28JMessage10TProcessorFv.s delete mode 100644 asm/JSystem/JMessage/processor/stack_popCurrent__Q28JMessage10TProcessorFv.s delete mode 100644 asm/JSystem/JMessage/processor/stack_pushCurrent__Q28JMessage10TProcessorFPCc.s delete mode 100644 asm/JSystem/JMessage/resource/Do_create__Q38JMessage18TResourceContainer10TCResourceFv.s delete mode 100644 asm/JSystem/JMessage/resource/Do_destroy__Q38JMessage18TResourceContainer10TCResourceFPQ28JMessage9TResource.s delete mode 100644 asm/JSystem/JMessage/resource/__ct__Q28JMessage18TResourceContainerFv.s delete mode 100644 asm/JSystem/JMessage/resource/__ct__Q28JMessage6TParseFPQ28JMessage18TResourceContainer.s delete mode 100644 asm/JSystem/JMessage/resource/setEncoding__Q28JMessage18TResourceContainerFUc.s delete mode 100644 asm/JSystem/JMessage/resource/setEncoding___Q28JMessage18TResourceContainerFUc.s diff --git a/Progress.md b/Progress.md index d8256efadd..eda9e4d611 100644 --- a/Progress.md +++ b/Progress.md @@ -7,22 +7,22 @@ Section | Percentage | Decompiled (bytes) | Total (bytes) .init | 97.972973% | 9280 | 9472 .extab | 100.000000% | 96 | 96 .extabindex | 100.000000% | 96 | 96 -.text | 24.532440% | 882320 | 3596544 +.text | 24.679693% | 887616 | 3596544 .ctors | 100.000000% | 448 | 448 .dtors | 100.000000% | 32 | 32 .rodata | 100.000000% | 193856 | 193856 .data | 100.000000% | 197632 | 197632 .sdata | 100.000000% | 1408 | 1408 .sdata2 | 100.000000% | 20832 | 20832 -Total | 32.488499% | 1306256 | 4020672 +Total | 32.620219% | 1311552 | 4020672 ## Total Section | Percentage | Decompiled (bytes) | Total (bytes) ---|---|---|--- -main.dol | 32.488499% | 1306256 | 4020672 +main.dol | 32.620219% | 1311552 | 4020672 RELs | 33.231064% | 3821680 | 11500324 -Total | 33.038704% | 5127936 | 15520996 +Total | 33.072826% | 5133232 | 15520996 ## RELs diff --git a/asm/JSystem/JMessage/control/__ct__Q28JMessage8TControlFv.s b/asm/JSystem/JMessage/control/__ct__Q28JMessage8TControlFv.s deleted file mode 100644 index 5abaf730b4..0000000000 --- a/asm/JSystem/JMessage/control/__ct__Q28JMessage8TControlFv.s +++ /dev/null @@ -1,18 +0,0 @@ -lbl_802A7548: -/* 802A7548 3C 80 80 3D */ lis r4, __vt__Q28JMessage8TControl@ha /* 0x803C9B60@ha */ -/* 802A754C 38 04 9B 60 */ addi r0, r4, __vt__Q28JMessage8TControl@l /* 0x803C9B60@l */ -/* 802A7550 90 03 00 00 */ stw r0, 0(r3) -/* 802A7554 38 A0 00 00 */ li r5, 0 -/* 802A7558 90 A3 00 04 */ stw r5, 4(r3) -/* 802A755C 90 A3 00 08 */ stw r5, 8(r3) -/* 802A7560 3C 80 00 01 */ lis r4, 0x0001 /* 0x0000FFFF@ha */ -/* 802A7564 38 04 FF FF */ addi r0, r4, 0xFFFF /* 0x0000FFFF@l */ -/* 802A7568 B0 03 00 0C */ sth r0, 0xc(r3) -/* 802A756C B0 03 00 0E */ sth r0, 0xe(r3) -/* 802A7570 90 A3 00 10 */ stw r5, 0x10(r3) -/* 802A7574 90 A3 00 14 */ stw r5, 0x14(r3) -/* 802A7578 90 A3 00 18 */ stw r5, 0x18(r3) -/* 802A757C 90 A3 00 1C */ stw r5, 0x1c(r3) -/* 802A7580 90 A3 00 20 */ stw r5, 0x20(r3) -/* 802A7584 90 A3 00 24 */ stw r5, 0x24(r3) -/* 802A7588 4E 80 00 20 */ blr diff --git a/asm/JSystem/JMessage/control/__dt__Q28JMessage8TControlFv.s b/asm/JSystem/JMessage/control/__dt__Q28JMessage8TControlFv.s deleted file mode 100644 index 057caf1bae..0000000000 --- a/asm/JSystem/JMessage/control/__dt__Q28JMessage8TControlFv.s +++ /dev/null @@ -1,20 +0,0 @@ -lbl_802A758C: -/* 802A758C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802A7590 7C 08 02 A6 */ mflr r0 -/* 802A7594 90 01 00 14 */ stw r0, 0x14(r1) -/* 802A7598 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802A759C 7C 7F 1B 79 */ or. r31, r3, r3 -/* 802A75A0 41 82 00 1C */ beq lbl_802A75BC -/* 802A75A4 3C A0 80 3D */ lis r5, __vt__Q28JMessage8TControl@ha /* 0x803C9B60@ha */ -/* 802A75A8 38 05 9B 60 */ addi r0, r5, __vt__Q28JMessage8TControl@l /* 0x803C9B60@l */ -/* 802A75AC 90 1F 00 00 */ stw r0, 0(r31) -/* 802A75B0 7C 80 07 35 */ extsh. r0, r4 -/* 802A75B4 40 81 00 08 */ ble lbl_802A75BC -/* 802A75B8 48 02 77 85 */ bl __dl__FPv -lbl_802A75BC: -/* 802A75BC 7F E3 FB 78 */ mr r3, r31 -/* 802A75C0 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802A75C4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802A75C8 7C 08 03 A6 */ mtlr r0 -/* 802A75CC 38 21 00 10 */ addi r1, r1, 0x10 -/* 802A75D0 4E 80 00 20 */ blr diff --git a/asm/JSystem/JMessage/control/reset__Q28JMessage8TControlFv.s b/asm/JSystem/JMessage/control/reset__Q28JMessage8TControlFv.s deleted file mode 100644 index 91300da2e5..0000000000 --- a/asm/JSystem/JMessage/control/reset__Q28JMessage8TControlFv.s +++ /dev/null @@ -1,27 +0,0 @@ -lbl_802A75D4: -/* 802A75D4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802A75D8 7C 08 02 A6 */ mflr r0 -/* 802A75DC 90 01 00 14 */ stw r0, 0x14(r1) -/* 802A75E0 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802A75E4 7C 7F 1B 78 */ mr r31, r3 -/* 802A75E8 38 00 00 00 */ li r0, 0 -/* 802A75EC 90 03 00 14 */ stw r0, 0x14(r3) -/* 802A75F0 90 03 00 18 */ stw r0, 0x18(r3) -/* 802A75F4 90 03 00 1C */ stw r0, 0x1c(r3) -/* 802A75F8 90 03 00 20 */ stw r0, 0x20(r3) -/* 802A75FC 90 03 00 24 */ stw r0, 0x24(r3) -/* 802A7600 80 63 00 04 */ lwz r3, 4(r3) -/* 802A7604 28 03 00 00 */ cmplwi r3, 0 -/* 802A7608 41 82 00 08 */ beq lbl_802A7610 -/* 802A760C 48 00 05 85 */ bl reset__Q28JMessage10TProcessorFv -lbl_802A7610: -/* 802A7610 80 7F 00 08 */ lwz r3, 8(r31) -/* 802A7614 28 03 00 00 */ cmplwi r3, 0 -/* 802A7618 41 82 00 08 */ beq lbl_802A7620 -/* 802A761C 48 00 05 75 */ bl reset__Q28JMessage10TProcessorFv -lbl_802A7620: -/* 802A7620 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802A7624 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802A7628 7C 08 03 A6 */ mtlr r0 -/* 802A762C 38 21 00 10 */ addi r1, r1, 0x10 -/* 802A7630 4E 80 00 20 */ blr diff --git a/asm/JSystem/JMessage/control/setMessageCode__Q28JMessage8TControlFUsUs.s b/asm/JSystem/JMessage/control/setMessageCode__Q28JMessage8TControlFUsUs.s deleted file mode 100644 index 5e1fbd2fef..0000000000 --- a/asm/JSystem/JMessage/control/setMessageCode__Q28JMessage8TControlFUsUs.s +++ /dev/null @@ -1,74 +0,0 @@ -lbl_802A77E8: -/* 802A77E8 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802A77EC 7C 08 02 A6 */ mflr r0 -/* 802A77F0 90 01 00 24 */ stw r0, 0x24(r1) -/* 802A77F4 39 61 00 20 */ addi r11, r1, 0x20 -/* 802A77F8 48 0B A9 E1 */ bl _savegpr_28 -/* 802A77FC 7C 7C 1B 78 */ mr r28, r3 -/* 802A7800 7C 80 23 78 */ mr r0, r4 -/* 802A7804 7C A6 2B 78 */ mr r6, r5 -/* 802A7808 80 83 00 04 */ lwz r4, 4(r3) -/* 802A780C 28 04 00 00 */ cmplwi r4, 0 -/* 802A7810 41 82 00 08 */ beq lbl_802A7818 -/* 802A7814 48 00 00 08 */ b lbl_802A781C -lbl_802A7818: -/* 802A7818 80 9C 00 08 */ lwz r4, 8(r28) -lbl_802A781C: -/* 802A781C 7F 83 E3 78 */ mr r3, r28 -/* 802A7820 7C 05 03 78 */ mr r5, r0 -/* 802A7824 48 00 01 FD */ bl setMessageCode_inSequence___Q28JMessage8TControlFPCQ28JMessage10TProcessorUsUs -/* 802A7828 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 802A782C 40 82 00 0C */ bne lbl_802A7838 -/* 802A7830 38 60 00 00 */ li r3, 0 -/* 802A7834 48 00 00 A8 */ b lbl_802A78DC -lbl_802A7838: -/* 802A7838 38 60 00 00 */ li r3, 0 -/* 802A783C 83 BC 00 18 */ lwz r29, 0x18(r28) -/* 802A7840 28 1D 00 00 */ cmplwi r29, 0 -/* 802A7844 41 82 00 14 */ beq lbl_802A7858 -/* 802A7848 80 1C 00 04 */ lwz r0, 4(r28) -/* 802A784C 28 00 00 00 */ cmplwi r0, 0 -/* 802A7850 41 82 00 08 */ beq lbl_802A7858 -/* 802A7854 38 60 00 01 */ li r3, 1 -lbl_802A7858: -/* 802A7858 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 802A785C 41 82 00 7C */ beq lbl_802A78D8 -/* 802A7860 83 DC 00 14 */ lwz r30, 0x14(r28) -/* 802A7864 83 FC 00 04 */ lwz r31, 4(r28) -/* 802A7868 80 1C 00 10 */ lwz r0, 0x10(r28) -/* 802A786C 90 1F 00 08 */ stw r0, 8(r31) -/* 802A7870 93 BF 00 0C */ stw r29, 0xc(r31) -/* 802A7874 38 00 00 00 */ li r0, 0 -/* 802A7878 90 1F 00 10 */ stw r0, 0x10(r31) -/* 802A787C 3C 60 80 2B */ lis r3, process_onCharacterEnd_normal___Q28JMessage10TProcessorFPQ28JMessage10TProcessor@ha /* 0x802A828C@ha */ -/* 802A7880 38 03 82 8C */ addi r0, r3, process_onCharacterEnd_normal___Q28JMessage10TProcessorFPQ28JMessage10TProcessor@l /* 0x802A828C@l */ -/* 802A7884 90 1F 00 24 */ stw r0, 0x24(r31) -/* 802A7888 7F E3 FB 78 */ mr r3, r31 -/* 802A788C 7F A4 EB 78 */ mr r4, r29 -/* 802A7890 81 9F 00 00 */ lwz r12, 0(r31) -/* 802A7894 81 8C 00 2C */ lwz r12, 0x2c(r12) -/* 802A7898 7D 89 03 A6 */ mtctr r12 -/* 802A789C 4E 80 04 21 */ bctrl -/* 802A78A0 7F E3 FB 78 */ mr r3, r31 -/* 802A78A4 7F C4 F3 78 */ mr r4, r30 -/* 802A78A8 7F A5 EB 78 */ mr r5, r29 -/* 802A78AC 81 9F 00 00 */ lwz r12, 0(r31) -/* 802A78B0 81 8C 00 34 */ lwz r12, 0x34(r12) -/* 802A78B4 7D 89 03 A6 */ mtctr r12 -/* 802A78B8 4E 80 04 21 */ bctrl -/* 802A78BC 7F E3 FB 78 */ mr r3, r31 -/* 802A78C0 7F C4 F3 78 */ mr r4, r30 -/* 802A78C4 7F A5 EB 78 */ mr r5, r29 -/* 802A78C8 81 9F 00 00 */ lwz r12, 0(r31) -/* 802A78CC 81 8C 00 10 */ lwz r12, 0x10(r12) -/* 802A78D0 7D 89 03 A6 */ mtctr r12 -/* 802A78D4 4E 80 04 21 */ bctrl -lbl_802A78D8: -/* 802A78D8 38 60 00 01 */ li r3, 1 -lbl_802A78DC: -/* 802A78DC 39 61 00 20 */ addi r11, r1, 0x20 -/* 802A78E0 48 0B A9 45 */ bl _restgpr_28 -/* 802A78E4 80 01 00 24 */ lwz r0, 0x24(r1) -/* 802A78E8 7C 08 03 A6 */ mtlr r0 -/* 802A78EC 38 21 00 20 */ addi r1, r1, 0x20 -/* 802A78F0 4E 80 00 20 */ blr diff --git a/asm/JSystem/JMessage/control/setMessageCode_inSequence___Q28JMessage8TControlFPCQ28JMessage10TProcessorUsUs.s b/asm/JSystem/JMessage/control/setMessageCode_inSequence___Q28JMessage8TControlFPCQ28JMessage10TProcessorUsUs.s deleted file mode 100644 index 4c0c8c8b3e..0000000000 --- a/asm/JSystem/JMessage/control/setMessageCode_inSequence___Q28JMessage8TControlFPCQ28JMessage10TProcessorUsUs.s +++ /dev/null @@ -1,60 +0,0 @@ -lbl_802A7A20: -/* 802A7A20 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802A7A24 7C 08 02 A6 */ mflr r0 -/* 802A7A28 90 01 00 24 */ stw r0, 0x24(r1) -/* 802A7A2C 39 61 00 20 */ addi r11, r1, 0x20 -/* 802A7A30 48 0B A7 A9 */ bl _savegpr_28 -/* 802A7A34 7C 7F 1B 78 */ mr r31, r3 -/* 802A7A38 7C 9C 23 78 */ mr r28, r4 -/* 802A7A3C 7C BD 2B 78 */ mr r29, r5 -/* 802A7A40 7C DE 33 78 */ mr r30, r6 -/* 802A7A44 7F 83 E3 78 */ mr r3, r28 -/* 802A7A48 7F A4 EB 78 */ mr r4, r29 -/* 802A7A4C 48 00 02 09 */ bl getResource_groupID__Q28JMessage10TProcessorCFUs -/* 802A7A50 28 03 00 00 */ cmplwi r3, 0 -/* 802A7A54 40 82 00 0C */ bne lbl_802A7A60 -/* 802A7A58 38 60 00 00 */ li r3, 0 -/* 802A7A5C 48 00 00 30 */ b lbl_802A7A8C -lbl_802A7A60: -/* 802A7A60 57 C4 04 3E */ clrlwi r4, r30, 0x10 -/* 802A7A64 80 63 00 0C */ lwz r3, 0xc(r3) -/* 802A7A68 A0 03 00 08 */ lhz r0, 8(r3) -/* 802A7A6C 7C 04 00 40 */ cmplw r4, r0 -/* 802A7A70 40 80 00 18 */ bge lbl_802A7A88 -/* 802A7A74 A0 03 00 0A */ lhz r0, 0xa(r3) -/* 802A7A78 7C 04 01 D6 */ mullw r0, r4, r0 -/* 802A7A7C 7C 63 02 14 */ add r3, r3, r0 -/* 802A7A80 38 63 00 10 */ addi r3, r3, 0x10 -/* 802A7A84 48 00 00 08 */ b lbl_802A7A8C -lbl_802A7A88: -/* 802A7A88 38 60 00 00 */ li r3, 0 -lbl_802A7A8C: -/* 802A7A8C 90 7F 00 14 */ stw r3, 0x14(r31) -/* 802A7A90 80 1F 00 14 */ lwz r0, 0x14(r31) -/* 802A7A94 28 00 00 00 */ cmplwi r0, 0 -/* 802A7A98 40 82 00 0C */ bne lbl_802A7AA4 -/* 802A7A9C 38 60 00 00 */ li r3, 0 -/* 802A7AA0 48 00 00 40 */ b lbl_802A7AE0 -lbl_802A7AA4: -/* 802A7AA4 B3 BF 00 0C */ sth r29, 0xc(r31) -/* 802A7AA8 B3 DF 00 0E */ sth r30, 0xe(r31) -/* 802A7AAC 80 1C 00 08 */ lwz r0, 8(r28) -/* 802A7AB0 90 1F 00 10 */ stw r0, 0x10(r31) -/* 802A7AB4 80 7F 00 10 */ lwz r3, 0x10(r31) -/* 802A7AB8 80 83 00 10 */ lwz r4, 0x10(r3) -/* 802A7ABC 80 7F 00 14 */ lwz r3, 0x14(r31) -/* 802A7AC0 80 03 00 00 */ lwz r0, 0(r3) -/* 802A7AC4 7C 04 02 14 */ add r0, r4, r0 -/* 802A7AC8 90 1F 00 18 */ stw r0, 0x18(r31) -/* 802A7ACC 80 1F 00 18 */ lwz r0, 0x18(r31) -/* 802A7AD0 90 1F 00 20 */ stw r0, 0x20(r31) -/* 802A7AD4 38 00 00 00 */ li r0, 0 -/* 802A7AD8 90 1F 00 24 */ stw r0, 0x24(r31) -/* 802A7ADC 38 60 00 01 */ li r3, 1 -lbl_802A7AE0: -/* 802A7AE0 39 61 00 20 */ addi r11, r1, 0x20 -/* 802A7AE4 48 0B A7 41 */ bl _restgpr_28 -/* 802A7AE8 80 01 00 24 */ lwz r0, 0x24(r1) -/* 802A7AEC 7C 08 03 A6 */ mtlr r0 -/* 802A7AF0 38 21 00 20 */ addi r1, r1, 0x20 -/* 802A7AF4 4E 80 00 20 */ blr diff --git a/asm/JSystem/JMessage/control/setMessageID__Q28JMessage8TControlFUlUlPb.s b/asm/JSystem/JMessage/control/setMessageID__Q28JMessage8TControlFUlUlPb.s deleted file mode 100644 index 325dde20d7..0000000000 --- a/asm/JSystem/JMessage/control/setMessageID__Q28JMessage8TControlFUlUlPb.s +++ /dev/null @@ -1,83 +0,0 @@ -lbl_802A78F4: -/* 802A78F4 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802A78F8 7C 08 02 A6 */ mflr r0 -/* 802A78FC 90 01 00 24 */ stw r0, 0x24(r1) -/* 802A7900 39 61 00 20 */ addi r11, r1, 0x20 -/* 802A7904 48 0B A8 D5 */ bl _savegpr_28 -/* 802A7908 7C 7C 1B 78 */ mr r28, r3 -/* 802A790C 83 C3 00 04 */ lwz r30, 4(r3) -/* 802A7910 28 1E 00 00 */ cmplwi r30, 0 -/* 802A7914 41 82 00 08 */ beq lbl_802A791C -/* 802A7918 48 00 00 08 */ b lbl_802A7920 -lbl_802A791C: -/* 802A791C 83 DC 00 08 */ lwz r30, 8(r28) -lbl_802A7920: -/* 802A7920 7F C3 F3 78 */ mr r3, r30 -/* 802A7924 48 00 03 B1 */ bl toMessageCode_messageID__Q28JMessage10TProcessorCFUlUlPb -/* 802A7928 7C 66 1B 78 */ mr r6, r3 -/* 802A792C 3C 06 00 01 */ addis r0, r6, 1 -/* 802A7930 28 00 FF FF */ cmplwi r0, 0xffff -/* 802A7934 40 82 00 0C */ bne lbl_802A7940 -/* 802A7938 38 60 00 00 */ li r3, 0 -/* 802A793C 48 00 00 CC */ b lbl_802A7A08 -lbl_802A7940: -/* 802A7940 7F 83 E3 78 */ mr r3, r28 -/* 802A7944 7F C4 F3 78 */ mr r4, r30 -/* 802A7948 54 C5 84 3E */ srwi r5, r6, 0x10 -/* 802A794C 54 C6 04 3E */ clrlwi r6, r6, 0x10 -/* 802A7950 48 00 00 D1 */ bl setMessageCode_inSequence___Q28JMessage8TControlFPCQ28JMessage10TProcessorUsUs -/* 802A7954 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 802A7958 40 82 00 0C */ bne lbl_802A7964 -/* 802A795C 38 60 00 00 */ li r3, 0 -/* 802A7960 48 00 00 A8 */ b lbl_802A7A08 -lbl_802A7964: -/* 802A7964 38 60 00 00 */ li r3, 0 -/* 802A7968 83 BC 00 18 */ lwz r29, 0x18(r28) -/* 802A796C 28 1D 00 00 */ cmplwi r29, 0 -/* 802A7970 41 82 00 14 */ beq lbl_802A7984 -/* 802A7974 80 1C 00 04 */ lwz r0, 4(r28) -/* 802A7978 28 00 00 00 */ cmplwi r0, 0 -/* 802A797C 41 82 00 08 */ beq lbl_802A7984 -/* 802A7980 38 60 00 01 */ li r3, 1 -lbl_802A7984: -/* 802A7984 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 802A7988 41 82 00 7C */ beq lbl_802A7A04 -/* 802A798C 83 DC 00 14 */ lwz r30, 0x14(r28) -/* 802A7990 83 FC 00 04 */ lwz r31, 4(r28) -/* 802A7994 80 1C 00 10 */ lwz r0, 0x10(r28) -/* 802A7998 90 1F 00 08 */ stw r0, 8(r31) -/* 802A799C 93 BF 00 0C */ stw r29, 0xc(r31) -/* 802A79A0 38 00 00 00 */ li r0, 0 -/* 802A79A4 90 1F 00 10 */ stw r0, 0x10(r31) -/* 802A79A8 3C 60 80 2B */ lis r3, process_onCharacterEnd_normal___Q28JMessage10TProcessorFPQ28JMessage10TProcessor@ha /* 0x802A828C@ha */ -/* 802A79AC 38 03 82 8C */ addi r0, r3, process_onCharacterEnd_normal___Q28JMessage10TProcessorFPQ28JMessage10TProcessor@l /* 0x802A828C@l */ -/* 802A79B0 90 1F 00 24 */ stw r0, 0x24(r31) -/* 802A79B4 7F E3 FB 78 */ mr r3, r31 -/* 802A79B8 7F A4 EB 78 */ mr r4, r29 -/* 802A79BC 81 9F 00 00 */ lwz r12, 0(r31) -/* 802A79C0 81 8C 00 2C */ lwz r12, 0x2c(r12) -/* 802A79C4 7D 89 03 A6 */ mtctr r12 -/* 802A79C8 4E 80 04 21 */ bctrl -/* 802A79CC 7F E3 FB 78 */ mr r3, r31 -/* 802A79D0 7F C4 F3 78 */ mr r4, r30 -/* 802A79D4 7F A5 EB 78 */ mr r5, r29 -/* 802A79D8 81 9F 00 00 */ lwz r12, 0(r31) -/* 802A79DC 81 8C 00 34 */ lwz r12, 0x34(r12) -/* 802A79E0 7D 89 03 A6 */ mtctr r12 -/* 802A79E4 4E 80 04 21 */ bctrl -/* 802A79E8 7F E3 FB 78 */ mr r3, r31 -/* 802A79EC 7F C4 F3 78 */ mr r4, r30 -/* 802A79F0 7F A5 EB 78 */ mr r5, r29 -/* 802A79F4 81 9F 00 00 */ lwz r12, 0(r31) -/* 802A79F8 81 8C 00 10 */ lwz r12, 0x10(r12) -/* 802A79FC 7D 89 03 A6 */ mtctr r12 -/* 802A7A00 4E 80 04 21 */ bctrl -lbl_802A7A04: -/* 802A7A04 38 60 00 01 */ li r3, 1 -lbl_802A7A08: -/* 802A7A08 39 61 00 20 */ addi r11, r1, 0x20 -/* 802A7A0C 48 0B A8 19 */ bl _restgpr_28 -/* 802A7A10 80 01 00 24 */ lwz r0, 0x24(r1) -/* 802A7A14 7C 08 03 A6 */ mtlr r0 -/* 802A7A18 38 21 00 20 */ addi r1, r1, 0x20 -/* 802A7A1C 4E 80 00 20 */ blr diff --git a/asm/JSystem/JMessage/control/update__Q28JMessage8TControlFv.s b/asm/JSystem/JMessage/control/update__Q28JMessage8TControlFv.s deleted file mode 100644 index 8e34934475..0000000000 --- a/asm/JSystem/JMessage/control/update__Q28JMessage8TControlFv.s +++ /dev/null @@ -1,39 +0,0 @@ -lbl_802A7634: -/* 802A7634 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802A7638 7C 08 02 A6 */ mflr r0 -/* 802A763C 90 01 00 14 */ stw r0, 0x14(r1) -/* 802A7640 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802A7644 7C 7F 1B 78 */ mr r31, r3 -/* 802A7648 38 60 00 00 */ li r3, 0 -/* 802A764C 80 1F 00 18 */ lwz r0, 0x18(r31) -/* 802A7650 28 00 00 00 */ cmplwi r0, 0 -/* 802A7654 41 82 00 14 */ beq lbl_802A7668 -/* 802A7658 80 1F 00 04 */ lwz r0, 4(r31) -/* 802A765C 28 00 00 00 */ cmplwi r0, 0 -/* 802A7660 41 82 00 08 */ beq lbl_802A7668 -/* 802A7664 38 60 00 01 */ li r3, 1 -lbl_802A7668: -/* 802A7668 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 802A766C 40 82 00 0C */ bne lbl_802A7678 -/* 802A7670 38 60 00 00 */ li r3, 0 -/* 802A7674 48 00 00 34 */ b lbl_802A76A8 -lbl_802A7678: -/* 802A7678 80 7F 00 04 */ lwz r3, 4(r31) -/* 802A767C 38 80 00 00 */ li r4, 0 -/* 802A7680 48 00 0D 99 */ bl process__Q28JMessage18TSequenceProcessorFPCc -/* 802A7684 90 7F 00 1C */ stw r3, 0x1c(r31) -/* 802A7688 80 1F 00 1C */ lwz r0, 0x1c(r31) -/* 802A768C 28 00 00 00 */ cmplwi r0, 0 -/* 802A7690 40 82 00 14 */ bne lbl_802A76A4 -/* 802A7694 38 00 00 00 */ li r0, 0 -/* 802A7698 90 1F 00 18 */ stw r0, 0x18(r31) -/* 802A769C 38 60 00 00 */ li r3, 0 -/* 802A76A0 48 00 00 08 */ b lbl_802A76A8 -lbl_802A76A4: -/* 802A76A4 38 60 00 01 */ li r3, 1 -lbl_802A76A8: -/* 802A76A8 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802A76AC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802A76B0 7C 08 03 A6 */ mtlr r0 -/* 802A76B4 38 21 00 10 */ addi r1, r1, 0x10 -/* 802A76B8 4E 80 00 20 */ blr diff --git a/asm/JSystem/JMessage/processor/__ct__Q28JMessage18TSequenceProcessorFPCQ28JMessage10TReferencePQ28JMessage8TControl.s b/asm/JSystem/JMessage/processor/__ct__Q28JMessage18TSequenceProcessorFPCQ28JMessage10TReferencePQ28JMessage8TControl.s deleted file mode 100644 index d9dcaf55c5..0000000000 --- a/asm/JSystem/JMessage/processor/__ct__Q28JMessage18TSequenceProcessorFPCQ28JMessage10TReferencePQ28JMessage8TControl.s +++ /dev/null @@ -1,18 +0,0 @@ -lbl_802A8374: -/* 802A8374 3C C0 80 3D */ lis r6, __vt__Q28JMessage10TProcessor@ha /* 0x803C9C2C@ha */ -/* 802A8378 38 06 9C 2C */ addi r0, r6, __vt__Q28JMessage10TProcessor@l /* 0x803C9C2C@l */ -/* 802A837C 90 03 00 00 */ stw r0, 0(r3) -/* 802A8380 90 83 00 04 */ stw r4, 4(r3) -/* 802A8384 38 C0 00 00 */ li r6, 0 -/* 802A8388 90 C3 00 08 */ stw r6, 8(r3) -/* 802A838C 90 C3 00 0C */ stw r6, 0xc(r3) -/* 802A8390 90 C3 00 10 */ stw r6, 0x10(r3) -/* 802A8394 3C 80 80 2B */ lis r4, process_onCharacterEnd_normal___Q28JMessage10TProcessorFPQ28JMessage10TProcessor@ha /* 0x802A828C@ha */ -/* 802A8398 38 04 82 8C */ addi r0, r4, process_onCharacterEnd_normal___Q28JMessage10TProcessorFPQ28JMessage10TProcessor@l /* 0x802A828C@l */ -/* 802A839C 90 03 00 24 */ stw r0, 0x24(r3) -/* 802A83A0 3C 80 80 3D */ lis r4, __vt__Q28JMessage18TSequenceProcessor@ha /* 0x803C9BD4@ha */ -/* 802A83A4 38 04 9B D4 */ addi r0, r4, __vt__Q28JMessage18TSequenceProcessor@l /* 0x803C9BD4@l */ -/* 802A83A8 90 03 00 00 */ stw r0, 0(r3) -/* 802A83AC 90 A3 00 38 */ stw r5, 0x38(r3) -/* 802A83B0 90 C3 00 3C */ stw r6, 0x3c(r3) -/* 802A83B4 4E 80 00 20 */ blr diff --git a/asm/JSystem/JMessage/processor/__ct__Q28JMessage19TRenderingProcessorFPCQ28JMessage10TReference.s b/asm/JSystem/JMessage/processor/__ct__Q28JMessage19TRenderingProcessorFPCQ28JMessage10TReference.s deleted file mode 100644 index fb0d954181..0000000000 --- a/asm/JSystem/JMessage/processor/__ct__Q28JMessage19TRenderingProcessorFPCQ28JMessage10TReference.s +++ /dev/null @@ -1,16 +0,0 @@ -lbl_802A8A84: -/* 802A8A84 3C A0 80 3D */ lis r5, __vt__Q28JMessage10TProcessor@ha /* 0x803C9C2C@ha */ -/* 802A8A88 38 05 9C 2C */ addi r0, r5, __vt__Q28JMessage10TProcessor@l /* 0x803C9C2C@l */ -/* 802A8A8C 90 03 00 00 */ stw r0, 0(r3) -/* 802A8A90 90 83 00 04 */ stw r4, 4(r3) -/* 802A8A94 38 00 00 00 */ li r0, 0 -/* 802A8A98 90 03 00 08 */ stw r0, 8(r3) -/* 802A8A9C 90 03 00 0C */ stw r0, 0xc(r3) -/* 802A8AA0 90 03 00 10 */ stw r0, 0x10(r3) -/* 802A8AA4 3C 80 80 2B */ lis r4, process_onCharacterEnd_normal___Q28JMessage10TProcessorFPQ28JMessage10TProcessor@ha /* 0x802A828C@ha */ -/* 802A8AA8 38 04 82 8C */ addi r0, r4, process_onCharacterEnd_normal___Q28JMessage10TProcessorFPQ28JMessage10TProcessor@l /* 0x802A828C@l */ -/* 802A8AAC 90 03 00 24 */ stw r0, 0x24(r3) -/* 802A8AB0 3C 80 80 3D */ lis r4, __vt__Q28JMessage19TRenderingProcessor@ha /* 0x803C9B94@ha */ -/* 802A8AB4 38 04 9B 94 */ addi r0, r4, __vt__Q28JMessage19TRenderingProcessor@l /* 0x803C9B94@l */ -/* 802A8AB8 90 03 00 00 */ stw r0, 0(r3) -/* 802A8ABC 4E 80 00 20 */ blr diff --git a/asm/JSystem/JMessage/processor/__dt__Q28JMessage10TProcessorFv.s b/asm/JSystem/JMessage/processor/__dt__Q28JMessage10TProcessorFv.s deleted file mode 100644 index 7f0f36a2e1..0000000000 --- a/asm/JSystem/JMessage/processor/__dt__Q28JMessage10TProcessorFv.s +++ /dev/null @@ -1,20 +0,0 @@ -lbl_802A7B48: -/* 802A7B48 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802A7B4C 7C 08 02 A6 */ mflr r0 -/* 802A7B50 90 01 00 14 */ stw r0, 0x14(r1) -/* 802A7B54 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802A7B58 7C 7F 1B 79 */ or. r31, r3, r3 -/* 802A7B5C 41 82 00 1C */ beq lbl_802A7B78 -/* 802A7B60 3C A0 80 3D */ lis r5, __vt__Q28JMessage10TProcessor@ha /* 0x803C9C2C@ha */ -/* 802A7B64 38 05 9C 2C */ addi r0, r5, __vt__Q28JMessage10TProcessor@l /* 0x803C9C2C@l */ -/* 802A7B68 90 1F 00 00 */ stw r0, 0(r31) -/* 802A7B6C 7C 80 07 35 */ extsh. r0, r4 -/* 802A7B70 40 81 00 08 */ ble lbl_802A7B78 -/* 802A7B74 48 02 71 C9 */ bl __dl__FPv -lbl_802A7B78: -/* 802A7B78 7F E3 FB 78 */ mr r3, r31 -/* 802A7B7C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802A7B80 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802A7B84 7C 08 03 A6 */ mtlr r0 -/* 802A7B88 38 21 00 10 */ addi r1, r1, 0x10 -/* 802A7B8C 4E 80 00 20 */ blr diff --git a/asm/JSystem/JMessage/processor/__dt__Q28JMessage10TReferenceFv.s b/asm/JSystem/JMessage/processor/__dt__Q28JMessage10TReferenceFv.s deleted file mode 100644 index 63ab92d13a..0000000000 --- a/asm/JSystem/JMessage/processor/__dt__Q28JMessage10TReferenceFv.s +++ /dev/null @@ -1,20 +0,0 @@ -lbl_802A7AF8: -/* 802A7AF8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802A7AFC 7C 08 02 A6 */ mflr r0 -/* 802A7B00 90 01 00 14 */ stw r0, 0x14(r1) -/* 802A7B04 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802A7B08 7C 7F 1B 79 */ or. r31, r3, r3 -/* 802A7B0C 41 82 00 1C */ beq lbl_802A7B28 -/* 802A7B10 3C A0 80 3D */ lis r5, __vt__Q28JMessage10TReference@ha /* 0x803C9C6C@ha */ -/* 802A7B14 38 05 9C 6C */ addi r0, r5, __vt__Q28JMessage10TReference@l /* 0x803C9C6C@l */ -/* 802A7B18 90 1F 00 00 */ stw r0, 0(r31) -/* 802A7B1C 7C 80 07 35 */ extsh. r0, r4 -/* 802A7B20 40 81 00 08 */ ble lbl_802A7B28 -/* 802A7B24 48 02 72 19 */ bl __dl__FPv -lbl_802A7B28: -/* 802A7B28 7F E3 FB 78 */ mr r3, r31 -/* 802A7B2C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802A7B30 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802A7B34 7C 08 03 A6 */ mtlr r0 -/* 802A7B38 38 21 00 10 */ addi r1, r1, 0x10 -/* 802A7B3C 4E 80 00 20 */ blr diff --git a/asm/JSystem/JMessage/processor/__dt__Q28JMessage18TSequenceProcessorFv.s b/asm/JSystem/JMessage/processor/__dt__Q28JMessage18TSequenceProcessorFv.s deleted file mode 100644 index 8097aa4bdb..0000000000 --- a/asm/JSystem/JMessage/processor/__dt__Q28JMessage18TSequenceProcessorFv.s +++ /dev/null @@ -1,26 +0,0 @@ -lbl_802A83B8: -/* 802A83B8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802A83BC 7C 08 02 A6 */ mflr r0 -/* 802A83C0 90 01 00 14 */ stw r0, 0x14(r1) -/* 802A83C4 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802A83C8 93 C1 00 08 */ stw r30, 8(r1) -/* 802A83CC 7C 7E 1B 79 */ or. r30, r3, r3 -/* 802A83D0 7C 9F 23 78 */ mr r31, r4 -/* 802A83D4 41 82 00 28 */ beq lbl_802A83FC -/* 802A83D8 3C 80 80 3D */ lis r4, __vt__Q28JMessage18TSequenceProcessor@ha /* 0x803C9BD4@ha */ -/* 802A83DC 38 04 9B D4 */ addi r0, r4, __vt__Q28JMessage18TSequenceProcessor@l /* 0x803C9BD4@l */ -/* 802A83E0 90 1E 00 00 */ stw r0, 0(r30) -/* 802A83E4 38 80 00 00 */ li r4, 0 -/* 802A83E8 4B FF F7 61 */ bl __dt__Q28JMessage10TProcessorFv -/* 802A83EC 7F E0 07 35 */ extsh. r0, r31 -/* 802A83F0 40 81 00 0C */ ble lbl_802A83FC -/* 802A83F4 7F C3 F3 78 */ mr r3, r30 -/* 802A83F8 48 02 69 45 */ bl __dl__FPv -lbl_802A83FC: -/* 802A83FC 7F C3 F3 78 */ mr r3, r30 -/* 802A8400 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802A8404 83 C1 00 08 */ lwz r30, 8(r1) -/* 802A8408 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802A840C 7C 08 03 A6 */ mtlr r0 -/* 802A8410 38 21 00 10 */ addi r1, r1, 0x10 -/* 802A8414 4E 80 00 20 */ blr diff --git a/asm/JSystem/JMessage/processor/__dt__Q28JMessage19TRenderingProcessorFv.s b/asm/JSystem/JMessage/processor/__dt__Q28JMessage19TRenderingProcessorFv.s deleted file mode 100644 index a0a1050cd6..0000000000 --- a/asm/JSystem/JMessage/processor/__dt__Q28JMessage19TRenderingProcessorFv.s +++ /dev/null @@ -1,26 +0,0 @@ -lbl_802A8AC0: -/* 802A8AC0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802A8AC4 7C 08 02 A6 */ mflr r0 -/* 802A8AC8 90 01 00 14 */ stw r0, 0x14(r1) -/* 802A8ACC 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802A8AD0 93 C1 00 08 */ stw r30, 8(r1) -/* 802A8AD4 7C 7E 1B 79 */ or. r30, r3, r3 -/* 802A8AD8 7C 9F 23 78 */ mr r31, r4 -/* 802A8ADC 41 82 00 28 */ beq lbl_802A8B04 -/* 802A8AE0 3C 80 80 3D */ lis r4, __vt__Q28JMessage19TRenderingProcessor@ha /* 0x803C9B94@ha */ -/* 802A8AE4 38 04 9B 94 */ addi r0, r4, __vt__Q28JMessage19TRenderingProcessor@l /* 0x803C9B94@l */ -/* 802A8AE8 90 1E 00 00 */ stw r0, 0(r30) -/* 802A8AEC 38 80 00 00 */ li r4, 0 -/* 802A8AF0 4B FF F0 59 */ bl __dt__Q28JMessage10TProcessorFv -/* 802A8AF4 7F E0 07 35 */ extsh. r0, r31 -/* 802A8AF8 40 81 00 0C */ ble lbl_802A8B04 -/* 802A8AFC 7F C3 F3 78 */ mr r3, r30 -/* 802A8B00 48 02 62 3D */ bl __dl__FPv -lbl_802A8B04: -/* 802A8B04 7F C3 F3 78 */ mr r3, r30 -/* 802A8B08 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802A8B0C 83 C1 00 08 */ lwz r30, 8(r1) -/* 802A8B10 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802A8B14 7C 08 03 A6 */ mtlr r0 -/* 802A8B18 38 21 00 10 */ addi r1, r1, 0x10 -/* 802A8B1C 4E 80 00 20 */ blr diff --git a/asm/JSystem/JMessage/processor/do_end___Q28JMessage18TSequenceProcessorFv.s b/asm/JSystem/JMessage/processor/do_end___Q28JMessage18TSequenceProcessorFv.s deleted file mode 100644 index 0204d6347e..0000000000 --- a/asm/JSystem/JMessage/processor/do_end___Q28JMessage18TSequenceProcessorFv.s +++ /dev/null @@ -1,4 +0,0 @@ -lbl_802A87D4: -/* 802A87D4 38 00 00 01 */ li r0, 1 -/* 802A87D8 90 03 00 3C */ stw r0, 0x3c(r3) -/* 802A87DC 4E 80 00 20 */ blr diff --git a/asm/JSystem/JMessage/processor/do_resetStatus___Q28JMessage18TSequenceProcessorFPCc.s b/asm/JSystem/JMessage/processor/do_resetStatus___Q28JMessage18TSequenceProcessorFPCc.s deleted file mode 100644 index 53b6bbac32..0000000000 --- a/asm/JSystem/JMessage/processor/do_resetStatus___Q28JMessage18TSequenceProcessorFPCc.s +++ /dev/null @@ -1,8 +0,0 @@ -lbl_802A87A4: -/* 802A87A4 38 00 00 00 */ li r0, 0 -/* 802A87A8 90 03 00 3C */ stw r0, 0x3c(r3) -/* 802A87AC 28 04 00 00 */ cmplwi r4, 0 -/* 802A87B0 4D 82 00 20 */ beqlr -/* 802A87B4 38 00 00 02 */ li r0, 2 -/* 802A87B8 90 03 00 3C */ stw r0, 0x3c(r3) -/* 802A87BC 4E 80 00 20 */ blr diff --git a/asm/JSystem/JMessage/processor/do_setBegin_isReady___Q28JMessage18TSequenceProcessorCFv.s b/asm/JSystem/JMessage/processor/do_setBegin_isReady___Q28JMessage18TSequenceProcessorCFv.s deleted file mode 100644 index 7a344ea691..0000000000 --- a/asm/JSystem/JMessage/processor/do_setBegin_isReady___Q28JMessage18TSequenceProcessorCFv.s +++ /dev/null @@ -1,5 +0,0 @@ -lbl_802A87C0: -/* 802A87C0 80 03 00 3C */ lwz r0, 0x3c(r3) -/* 802A87C4 7C 00 00 34 */ cntlzw r0, r0 -/* 802A87C8 54 03 D9 7E */ srwi r3, r0, 5 -/* 802A87CC 4E 80 00 20 */ blr diff --git a/asm/JSystem/JMessage/processor/do_tag___Q28JMessage10TProcessorFUlPCvUl.s b/asm/JSystem/JMessage/processor/do_tag___Q28JMessage10TProcessorFUlPCvUl.s deleted file mode 100644 index b78ef68681..0000000000 --- a/asm/JSystem/JMessage/processor/do_tag___Q28JMessage10TProcessorFUlPCvUl.s +++ /dev/null @@ -1,101 +0,0 @@ -lbl_802A8090: -/* 802A8090 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802A8094 7C 08 02 A6 */ mflr r0 -/* 802A8098 90 01 00 14 */ stw r0, 0x14(r1) -/* 802A809C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802A80A0 7C 7F 1B 78 */ mr r31, r3 -/* 802A80A4 54 80 86 3E */ rlwinm r0, r4, 0x10, 0x18, 0x1f -/* 802A80A8 54 87 04 3E */ clrlwi r7, r4, 0x10 -/* 802A80AC 2C 00 00 FD */ cmpwi r0, 0xfd -/* 802A80B0 41 82 00 B0 */ beq lbl_802A8160 -/* 802A80B4 40 80 00 1C */ bge lbl_802A80D0 -/* 802A80B8 2C 00 00 F6 */ cmpwi r0, 0xf6 -/* 802A80BC 41 82 00 F8 */ beq lbl_802A81B4 -/* 802A80C0 40 80 01 18 */ bge lbl_802A81D8 -/* 802A80C4 2C 00 00 F5 */ cmpwi r0, 0xf5 -/* 802A80C8 40 80 01 00 */ bge lbl_802A81C8 -/* 802A80CC 48 00 01 0C */ b lbl_802A81D8 -lbl_802A80D0: -/* 802A80D0 2C 00 00 FF */ cmpwi r0, 0xff -/* 802A80D4 41 82 00 0C */ beq lbl_802A80E0 -/* 802A80D8 40 80 01 00 */ bge lbl_802A81D8 -/* 802A80DC 48 00 00 5C */ b lbl_802A8138 -lbl_802A80E0: -/* 802A80E0 2C 07 00 05 */ cmpwi r7, 5 -/* 802A80E4 41 82 00 3C */ beq lbl_802A8120 -/* 802A80E8 40 80 00 F0 */ bge lbl_802A81D8 -/* 802A80EC 2C 07 00 04 */ cmpwi r7, 4 -/* 802A80F0 40 80 00 08 */ bge lbl_802A80F8 -/* 802A80F4 48 00 00 E4 */ b lbl_802A81D8 -lbl_802A80F8: -/* 802A80F8 80 85 00 00 */ lwz r4, 0(r5) -/* 802A80FC 80 7F 00 04 */ lwz r3, 4(r31) -/* 802A8100 81 83 00 00 */ lwz r12, 0(r3) -/* 802A8104 81 8C 00 0C */ lwz r12, 0xc(r12) -/* 802A8108 7D 89 03 A6 */ mtctr r12 -/* 802A810C 4E 80 04 21 */ bctrl -/* 802A8110 7C 64 1B 78 */ mr r4, r3 -/* 802A8114 7F E3 FB 78 */ mr r3, r31 -/* 802A8118 4B FF FA E1 */ bl stack_pushCurrent__Q28JMessage10TProcessorFPCc -/* 802A811C 48 00 00 BC */ b lbl_802A81D8 -lbl_802A8120: -/* 802A8120 80 85 00 00 */ lwz r4, 0(r5) -/* 802A8124 48 00 0B 01 */ bl on_message__Q28JMessage10TProcessorCFUl -/* 802A8128 7C 64 1B 78 */ mr r4, r3 -/* 802A812C 7F E3 FB 78 */ mr r3, r31 -/* 802A8130 4B FF FA C9 */ bl stack_pushCurrent__Q28JMessage10TProcessorFPCc -/* 802A8134 48 00 00 A4 */ b lbl_802A81D8 -lbl_802A8138: -/* 802A8138 80 7F 00 04 */ lwz r3, 4(r31) -/* 802A813C 7C E4 3B 78 */ mr r4, r7 -/* 802A8140 81 83 00 00 */ lwz r12, 0(r3) -/* 802A8144 81 8C 00 0C */ lwz r12, 0xc(r12) -/* 802A8148 7D 89 03 A6 */ mtctr r12 -/* 802A814C 4E 80 04 21 */ bctrl -/* 802A8150 7C 64 1B 78 */ mr r4, r3 -/* 802A8154 7F E3 FB 78 */ mr r3, r31 -/* 802A8158 4B FF FA A1 */ bl stack_pushCurrent__Q28JMessage10TProcessorFPCc -/* 802A815C 48 00 00 7C */ b lbl_802A81D8 -lbl_802A8160: -/* 802A8160 80 7F 00 08 */ lwz r3, 8(r31) -/* 802A8164 80 83 00 0C */ lwz r4, 0xc(r3) -/* 802A8168 A0 04 00 08 */ lhz r0, 8(r4) -/* 802A816C 7C 07 00 40 */ cmplw r7, r0 -/* 802A8170 40 80 00 18 */ bge lbl_802A8188 -/* 802A8174 A0 04 00 0A */ lhz r0, 0xa(r4) -/* 802A8178 7C 07 01 D6 */ mullw r0, r7, r0 -/* 802A817C 7C 84 02 14 */ add r4, r4, r0 -/* 802A8180 38 84 00 10 */ addi r4, r4, 0x10 -/* 802A8184 48 00 00 08 */ b lbl_802A818C -lbl_802A8188: -/* 802A8188 38 80 00 00 */ li r4, 0 -lbl_802A818C: -/* 802A818C 28 04 00 00 */ cmplwi r4, 0 -/* 802A8190 40 82 00 0C */ bne lbl_802A819C -/* 802A8194 38 80 00 00 */ li r4, 0 -/* 802A8198 48 00 00 10 */ b lbl_802A81A8 -lbl_802A819C: -/* 802A819C 80 63 00 10 */ lwz r3, 0x10(r3) -/* 802A81A0 80 04 00 00 */ lwz r0, 0(r4) -/* 802A81A4 7C 83 02 14 */ add r4, r3, r0 -lbl_802A81A8: -/* 802A81A8 7F E3 FB 78 */ mr r3, r31 -/* 802A81AC 4B FF FA 4D */ bl stack_pushCurrent__Q28JMessage10TProcessorFPCc -/* 802A81B0 48 00 00 28 */ b lbl_802A81D8 -lbl_802A81B4: -/* 802A81B4 3C 80 80 2B */ lis r4, process_onSelect_limited___Q28JMessage10TProcessorFPQ28JMessage10TProcessor@ha /* 0x802A833C@ha */ -/* 802A81B8 38 84 83 3C */ addi r4, r4, process_onSelect_limited___Q28JMessage10TProcessorFPQ28JMessage10TProcessor@l /* 0x802A833C@l */ -/* 802A81BC 7C C5 32 14 */ add r6, r5, r6 -/* 802A81C0 4B FF FC 79 */ bl on_select_begin__Q28JMessage10TProcessorFPFPQ28JMessage10TProcessor_PCcPCvPCcUl -/* 802A81C4 48 00 00 14 */ b lbl_802A81D8 -lbl_802A81C8: -/* 802A81C8 3C 80 80 2B */ lis r4, process_onSelect___Q28JMessage10TProcessorFPQ28JMessage10TProcessor@ha /* 0x802A8358@ha */ -/* 802A81CC 38 84 83 58 */ addi r4, r4, process_onSelect___Q28JMessage10TProcessorFPQ28JMessage10TProcessor@l /* 0x802A8358@l */ -/* 802A81D0 7C C5 32 14 */ add r6, r5, r6 -/* 802A81D4 4B FF FC 65 */ bl on_select_begin__Q28JMessage10TProcessorFPFPQ28JMessage10TProcessor_PCcPCvPCcUl -lbl_802A81D8: -/* 802A81D8 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802A81DC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802A81E0 7C 08 03 A6 */ mtlr r0 -/* 802A81E4 38 21 00 10 */ addi r1, r1, 0x10 -/* 802A81E8 4E 80 00 20 */ blr diff --git a/asm/JSystem/JMessage/processor/do_tag___Q28JMessage18TSequenceProcessorFUlPCvUl.s b/asm/JSystem/JMessage/processor/do_tag___Q28JMessage18TSequenceProcessorFUlPCvUl.s deleted file mode 100644 index f944bc0079..0000000000 --- a/asm/JSystem/JMessage/processor/do_tag___Q28JMessage18TSequenceProcessorFUlPCvUl.s +++ /dev/null @@ -1,89 +0,0 @@ -lbl_802A87E0: -/* 802A87E0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802A87E4 7C 08 02 A6 */ mflr r0 -/* 802A87E8 90 01 00 14 */ stw r0, 0x14(r1) -/* 802A87EC 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802A87F0 93 C1 00 08 */ stw r30, 8(r1) -/* 802A87F4 7C 7E 1B 78 */ mr r30, r3 -/* 802A87F8 7C A8 2B 78 */ mr r8, r5 -/* 802A87FC 54 87 86 3E */ rlwinm r7, r4, 0x10, 0x18, 0x1f -/* 802A8800 54 9F 04 3E */ clrlwi r31, r4, 0x10 -/* 802A8804 38 07 FF 09 */ addi r0, r7, -247 -/* 802A8808 28 00 00 08 */ cmplwi r0, 8 -/* 802A880C 41 81 00 FC */ bgt lbl_802A8908 -/* 802A8810 3C E0 80 3D */ lis r7, lit_1418@ha /* 0x803C9B70@ha */ -/* 802A8814 38 E7 9B 70 */ addi r7, r7, lit_1418@l /* 0x803C9B70@l */ -/* 802A8818 54 00 10 3A */ slwi r0, r0, 2 -/* 802A881C 7C 07 00 2E */ lwzx r0, r7, r0 -/* 802A8820 7C 09 03 A6 */ mtctr r0 -/* 802A8824 4E 80 04 20 */ bctr -/* 802A8828 2C 1F 00 06 */ cmpwi r31, 6 -/* 802A882C 41 82 00 28 */ beq lbl_802A8854 -/* 802A8830 40 80 00 18 */ bge lbl_802A8848 -/* 802A8834 2C 1F 00 04 */ cmpwi r31, 4 -/* 802A8838 40 80 00 30 */ bge lbl_802A8868 -/* 802A883C 2C 1F 00 00 */ cmpwi r31, 0 -/* 802A8840 40 80 00 D4 */ bge lbl_802A8914 -/* 802A8844 48 00 00 24 */ b lbl_802A8868 -lbl_802A8848: -/* 802A8848 2C 1F 00 08 */ cmpwi r31, 8 -/* 802A884C 40 80 00 1C */ bge lbl_802A8868 -/* 802A8850 48 00 00 C4 */ b lbl_802A8914 -lbl_802A8854: -/* 802A8854 80 A8 00 00 */ lwz r5, 0(r8) -/* 802A8858 3C 80 80 2B */ lis r4, process_onJump___Q28JMessage18TSequenceProcessorFPCQ28JMessage18TSequenceProcessor@ha /* 0x802A89EC@ha */ -/* 802A885C 38 84 89 EC */ addi r4, r4, process_onJump___Q28JMessage18TSequenceProcessorFPCQ28JMessage18TSequenceProcessor@l /* 0x802A89EC@l */ -/* 802A8860 4B FF FD 71 */ bl on_jump_register__Q28JMessage18TSequenceProcessorFPFPCQ28JMessage18TSequenceProcessor_PCvUl -/* 802A8864 48 00 00 B0 */ b lbl_802A8914 -lbl_802A8868: -/* 802A8868 7F C3 F3 78 */ mr r3, r30 -/* 802A886C 7D 05 43 78 */ mr r5, r8 -/* 802A8870 4B FF F8 21 */ bl do_tag___Q28JMessage10TProcessorFUlPCvUl -/* 802A8874 48 00 00 A0 */ b lbl_802A8914 -/* 802A8878 3C 80 80 2B */ lis r4, process_onJump_limited___Q28JMessage18TSequenceProcessorFPCQ28JMessage18TSequenceProcessor@ha /* 0x802A89B8@ha */ -/* 802A887C 38 84 89 B8 */ addi r4, r4, process_onJump_limited___Q28JMessage18TSequenceProcessorFPCQ28JMessage18TSequenceProcessor@l /* 0x802A89B8@l */ -/* 802A8880 7F E5 FB 78 */ mr r5, r31 -/* 802A8884 4B FF FD 4D */ bl on_jump_register__Q28JMessage18TSequenceProcessorFPFPCQ28JMessage18TSequenceProcessor_PCvUl -/* 802A8888 48 00 00 8C */ b lbl_802A8914 -/* 802A888C 3C 80 80 2B */ lis r4, process_onBranch_limited___Q28JMessage18TSequenceProcessorFPCQ28JMessage18TSequenceProcessorUl@ha /* 0x802A8A18@ha */ -/* 802A8890 38 84 8A 18 */ addi r4, r4, process_onBranch_limited___Q28JMessage18TSequenceProcessorFPCQ28JMessage18TSequenceProcessorUl@l /* 0x802A8A18@l */ -/* 802A8894 7F E6 FB 78 */ mr r6, r31 -/* 802A8898 4B FF FD F9 */ bl on_branch_register__Q28JMessage18TSequenceProcessorFPFPCQ28JMessage18TSequenceProcessorUl_PCvPCvUl -/* 802A889C 48 00 00 78 */ b lbl_802A8914 -/* 802A88A0 3C 80 80 2B */ lis r4, process_onBranch___Q28JMessage18TSequenceProcessorFPCQ28JMessage18TSequenceProcessorUl@ha /* 0x802A8A50@ha */ -/* 802A88A4 38 84 8A 50 */ addi r4, r4, process_onBranch___Q28JMessage18TSequenceProcessorFPCQ28JMessage18TSequenceProcessorUl@l /* 0x802A8A50@l */ -/* 802A88A8 7F E6 FB 78 */ mr r6, r31 -/* 802A88AC 4B FF FD E5 */ bl on_branch_register__Q28JMessage18TSequenceProcessorFPFPCQ28JMessage18TSequenceProcessorUl_PCvPCvUl -/* 802A88B0 48 00 00 64 */ b lbl_802A8914 -/* 802A88B4 7F E4 FB 78 */ mr r4, r31 -/* 802A88B8 4B FF FD E9 */ bl on_branch_query__Q28JMessage18TSequenceProcessorFUl -/* 802A88BC 48 00 00 58 */ b lbl_802A8914 -/* 802A88C0 3C 80 80 2B */ lis r4, process_onBranch_limited___Q28JMessage18TSequenceProcessorFPCQ28JMessage18TSequenceProcessorUl@ha /* 0x802A8A18@ha */ -/* 802A88C4 38 84 8A 18 */ addi r4, r4, process_onBranch_limited___Q28JMessage18TSequenceProcessorFPCQ28JMessage18TSequenceProcessorUl@l /* 0x802A8A18@l */ -/* 802A88C8 38 A8 00 02 */ addi r5, r8, 2 -/* 802A88CC A0 C8 00 00 */ lhz r6, 0(r8) -/* 802A88D0 4B FF FD C1 */ bl on_branch_register__Q28JMessage18TSequenceProcessorFPFPCQ28JMessage18TSequenceProcessorUl_PCvPCvUl -/* 802A88D4 7F C3 F3 78 */ mr r3, r30 -/* 802A88D8 7F E4 FB 78 */ mr r4, r31 -/* 802A88DC 4B FF FD C5 */ bl on_branch_query__Q28JMessage18TSequenceProcessorFUl -/* 802A88E0 48 00 00 34 */ b lbl_802A8914 -/* 802A88E4 3C 80 80 2B */ lis r4, process_onBranch___Q28JMessage18TSequenceProcessorFPCQ28JMessage18TSequenceProcessorUl@ha /* 0x802A8A50@ha */ -/* 802A88E8 38 84 8A 50 */ addi r4, r4, process_onBranch___Q28JMessage18TSequenceProcessorFPCQ28JMessage18TSequenceProcessorUl@l /* 0x802A8A50@l */ -/* 802A88EC 38 A8 00 02 */ addi r5, r8, 2 -/* 802A88F0 A0 C8 00 00 */ lhz r6, 0(r8) -/* 802A88F4 4B FF FD 9D */ bl on_branch_register__Q28JMessage18TSequenceProcessorFPFPCQ28JMessage18TSequenceProcessorUl_PCvPCvUl -/* 802A88F8 7F C3 F3 78 */ mr r3, r30 -/* 802A88FC 7F E4 FB 78 */ mr r4, r31 -/* 802A8900 4B FF FD A1 */ bl on_branch_query__Q28JMessage18TSequenceProcessorFUl -/* 802A8904 48 00 00 10 */ b lbl_802A8914 -lbl_802A8908: -/* 802A8908 7F C3 F3 78 */ mr r3, r30 -/* 802A890C 7D 05 43 78 */ mr r5, r8 -/* 802A8910 4B FF F7 81 */ bl do_tag___Q28JMessage10TProcessorFUlPCvUl -lbl_802A8914: -/* 802A8914 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802A8918 83 C1 00 08 */ lwz r30, 8(r1) -/* 802A891C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802A8920 7C 08 03 A6 */ mtlr r0 -/* 802A8924 38 21 00 10 */ addi r1, r1, 0x10 -/* 802A8928 4E 80 00 20 */ blr diff --git a/asm/JSystem/JMessage/processor/func_802A85D0.s b/asm/JSystem/JMessage/processor/func_802A85D0.s deleted file mode 100644 index 385edcc551..0000000000 --- a/asm/JSystem/JMessage/processor/func_802A85D0.s +++ /dev/null @@ -1,6 +0,0 @@ -lbl_802A85D0: -/* 802A85D0 38 00 00 03 */ li r0, 3 -/* 802A85D4 90 03 00 3C */ stw r0, 0x3c(r3) -/* 802A85D8 90 83 00 40 */ stw r4, 0x40(r3) -/* 802A85DC 90 A3 00 44 */ stw r5, 0x44(r3) -/* 802A85E0 4E 80 00 20 */ blr diff --git a/asm/JSystem/JMessage/processor/func_802A8690.s b/asm/JSystem/JMessage/processor/func_802A8690.s deleted file mode 100644 index 27680a94dc..0000000000 --- a/asm/JSystem/JMessage/processor/func_802A8690.s +++ /dev/null @@ -1,5 +0,0 @@ -lbl_802A8690: -/* 802A8690 90 83 00 40 */ stw r4, 0x40(r3) -/* 802A8694 90 A3 00 44 */ stw r5, 0x44(r3) -/* 802A8698 90 C3 00 48 */ stw r6, 0x48(r3) -/* 802A869C 4E 80 00 20 */ blr diff --git a/asm/JSystem/JMessage/processor/func_802A8944.s b/asm/JSystem/JMessage/processor/func_802A8944.s deleted file mode 100644 index 13d34aa557..0000000000 --- a/asm/JSystem/JMessage/processor/func_802A8944.s +++ /dev/null @@ -1,33 +0,0 @@ -lbl_802A8944: -/* 802A8944 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802A8948 7C 08 02 A6 */ mflr r0 -/* 802A894C 90 01 00 14 */ stw r0, 0x14(r1) -/* 802A8950 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802A8954 7C 68 1B 78 */ mr r8, r3 -/* 802A8958 7C 87 23 78 */ mr r7, r4 -/* 802A895C 7C A6 2B 78 */ mr r6, r5 -/* 802A8960 54 A0 04 3E */ clrlwi r0, r5, 0x10 -/* 802A8964 28 00 FF 00 */ cmplwi r0, 0xff00 -/* 802A8968 41 80 00 14 */ blt lbl_802A897C -/* 802A896C 7C C3 33 78 */ mr r3, r6 -/* 802A8970 4B FF FF BD */ bl process_setMessageIndex_reserved___Q28JMessage18TSequenceProcessorFUs -/* 802A8974 38 60 00 00 */ li r3, 0 -/* 802A8978 48 00 00 2C */ b lbl_802A89A4 -lbl_802A897C: -/* 802A897C 83 E8 00 38 */ lwz r31, 0x38(r8) -/* 802A8980 7F E3 FB 78 */ mr r3, r31 -/* 802A8984 7D 04 43 78 */ mr r4, r8 -/* 802A8988 7C E5 3B 78 */ mr r5, r7 -/* 802A898C 4B FF F0 95 */ bl setMessageCode_inSequence___Q28JMessage8TControlFPCQ28JMessage10TProcessorUsUs -/* 802A8990 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 802A8994 41 82 00 0C */ beq lbl_802A89A0 -/* 802A8998 80 7F 00 14 */ lwz r3, 0x14(r31) -/* 802A899C 48 00 00 08 */ b lbl_802A89A4 -lbl_802A89A0: -/* 802A89A0 38 60 00 00 */ li r3, 0 -lbl_802A89A4: -/* 802A89A4 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802A89A8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802A89AC 7C 08 03 A6 */ mtlr r0 -/* 802A89B0 38 21 00 10 */ addi r1, r1, 0x10 -/* 802A89B4 4E 80 00 20 */ blr diff --git a/asm/JSystem/JMessage/processor/func_802A89B8.s b/asm/JSystem/JMessage/processor/func_802A89B8.s deleted file mode 100644 index b3d825bb8e..0000000000 --- a/asm/JSystem/JMessage/processor/func_802A89B8.s +++ /dev/null @@ -1,14 +0,0 @@ -lbl_802A89B8: -/* 802A89B8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802A89BC 7C 08 02 A6 */ mflr r0 -/* 802A89C0 90 01 00 14 */ stw r0, 0x14(r1) -/* 802A89C4 80 83 00 08 */ lwz r4, 8(r3) -/* 802A89C8 80 84 00 0C */ lwz r4, 0xc(r4) -/* 802A89CC A0 84 00 0C */ lhz r4, 0xc(r4) -/* 802A89D0 80 03 00 44 */ lwz r0, 0x44(r3) -/* 802A89D4 54 05 04 3E */ clrlwi r5, r0, 0x10 -/* 802A89D8 4B FF FF 6D */ bl process_setMessageCode___Q28JMessage18TSequenceProcessorFPCQ28JMessage18TSequenceProcessorUsUs -/* 802A89DC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802A89E0 7C 08 03 A6 */ mtlr r0 -/* 802A89E4 38 21 00 10 */ addi r1, r1, 0x10 -/* 802A89E8 4E 80 00 20 */ blr diff --git a/asm/JSystem/JMessage/processor/func_802A8A18.s b/asm/JSystem/JMessage/processor/func_802A8A18.s deleted file mode 100644 index 3946b2da94..0000000000 --- a/asm/JSystem/JMessage/processor/func_802A8A18.s +++ /dev/null @@ -1,15 +0,0 @@ -lbl_802A8A18: -/* 802A8A18 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802A8A1C 7C 08 02 A6 */ mflr r0 -/* 802A8A20 90 01 00 14 */ stw r0, 0x14(r1) -/* 802A8A24 80 A3 00 44 */ lwz r5, 0x44(r3) -/* 802A8A28 54 80 08 3C */ slwi r0, r4, 1 -/* 802A8A2C 7C A5 02 2E */ lhzx r5, r5, r0 -/* 802A8A30 80 83 00 08 */ lwz r4, 8(r3) -/* 802A8A34 80 84 00 0C */ lwz r4, 0xc(r4) -/* 802A8A38 A0 84 00 0C */ lhz r4, 0xc(r4) -/* 802A8A3C 4B FF FF 09 */ bl process_setMessageCode___Q28JMessage18TSequenceProcessorFPCQ28JMessage18TSequenceProcessorUsUs -/* 802A8A40 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802A8A44 7C 08 03 A6 */ mtlr r0 -/* 802A8A48 38 21 00 10 */ addi r1, r1, 0x10 -/* 802A8A4C 4E 80 00 20 */ blr diff --git a/asm/JSystem/JMessage/processor/getMessageText_messageCode__Q28JMessage10TProcessorCFUl.s b/asm/JSystem/JMessage/processor/getMessageText_messageCode__Q28JMessage10TProcessorCFUl.s deleted file mode 100644 index 2ecee4d70b..0000000000 --- a/asm/JSystem/JMessage/processor/getMessageText_messageCode__Q28JMessage10TProcessorCFUl.s +++ /dev/null @@ -1,44 +0,0 @@ -lbl_802A8C44: -/* 802A8C44 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802A8C48 7C 08 02 A6 */ mflr r0 -/* 802A8C4C 90 01 00 14 */ stw r0, 0x14(r1) -/* 802A8C50 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802A8C54 93 C1 00 08 */ stw r30, 8(r1) -/* 802A8C58 7C 7E 1B 78 */ mr r30, r3 -/* 802A8C5C 7C 9F 23 78 */ mr r31, r4 -/* 802A8C60 54 84 84 3E */ srwi r4, r4, 0x10 -/* 802A8C64 4B FF EF F1 */ bl getResource_groupID__Q28JMessage10TProcessorCFUs -/* 802A8C68 28 03 00 00 */ cmplwi r3, 0 -/* 802A8C6C 40 82 00 0C */ bne lbl_802A8C78 -/* 802A8C70 38 80 00 00 */ li r4, 0 -/* 802A8C74 48 00 00 30 */ b lbl_802A8CA4 -lbl_802A8C78: -/* 802A8C78 57 E4 04 3E */ clrlwi r4, r31, 0x10 -/* 802A8C7C 80 63 00 0C */ lwz r3, 0xc(r3) -/* 802A8C80 A0 03 00 08 */ lhz r0, 8(r3) -/* 802A8C84 7C 04 00 40 */ cmplw r4, r0 -/* 802A8C88 40 80 00 18 */ bge lbl_802A8CA0 -/* 802A8C8C A0 03 00 0A */ lhz r0, 0xa(r3) -/* 802A8C90 7C 04 01 D6 */ mullw r0, r4, r0 -/* 802A8C94 7C 83 02 14 */ add r4, r3, r0 -/* 802A8C98 38 84 00 10 */ addi r4, r4, 0x10 -/* 802A8C9C 48 00 00 08 */ b lbl_802A8CA4 -lbl_802A8CA0: -/* 802A8CA0 38 80 00 00 */ li r4, 0 -lbl_802A8CA4: -/* 802A8CA4 28 04 00 00 */ cmplwi r4, 0 -/* 802A8CA8 40 82 00 0C */ bne lbl_802A8CB4 -/* 802A8CAC 38 60 00 00 */ li r3, 0 -/* 802A8CB0 48 00 00 14 */ b lbl_802A8CC4 -lbl_802A8CB4: -/* 802A8CB4 80 7E 00 08 */ lwz r3, 8(r30) -/* 802A8CB8 80 63 00 10 */ lwz r3, 0x10(r3) -/* 802A8CBC 80 04 00 00 */ lwz r0, 0(r4) -/* 802A8CC0 7C 63 02 14 */ add r3, r3, r0 -lbl_802A8CC4: -/* 802A8CC4 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802A8CC8 83 C1 00 08 */ lwz r30, 8(r1) -/* 802A8CCC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802A8CD0 7C 08 03 A6 */ mtlr r0 -/* 802A8CD4 38 21 00 10 */ addi r1, r1, 0x10 -/* 802A8CD8 4E 80 00 20 */ blr diff --git a/asm/JSystem/JMessage/processor/on_branch__Q28JMessage18TSequenceProcessorFPCvPCc.s b/asm/JSystem/JMessage/processor/on_branch__Q28JMessage18TSequenceProcessorFPCvPCc.s deleted file mode 100644 index f6ed811b7c..0000000000 --- a/asm/JSystem/JMessage/processor/on_branch__Q28JMessage18TSequenceProcessorFPCvPCc.s +++ /dev/null @@ -1,33 +0,0 @@ -lbl_802A8700: -/* 802A8700 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802A8704 7C 08 02 A6 */ mflr r0 -/* 802A8708 90 01 00 24 */ stw r0, 0x24(r1) -/* 802A870C 39 61 00 20 */ addi r11, r1, 0x20 -/* 802A8710 48 0B 9A CD */ bl _savegpr_29 -/* 802A8714 7C 7D 1B 78 */ mr r29, r3 -/* 802A8718 7C 9E 23 78 */ mr r30, r4 -/* 802A871C 7C BF 2B 78 */ mr r31, r5 -/* 802A8720 93 E3 00 0C */ stw r31, 0xc(r3) -/* 802A8724 38 00 00 00 */ li r0, 0 -/* 802A8728 90 03 00 10 */ stw r0, 0x10(r3) -/* 802A872C 3C 80 80 2B */ lis r4, process_onCharacterEnd_normal___Q28JMessage10TProcessorFPQ28JMessage10TProcessor@ha /* 0x802A828C@ha */ -/* 802A8730 38 04 82 8C */ addi r0, r4, process_onCharacterEnd_normal___Q28JMessage10TProcessorFPQ28JMessage10TProcessor@l /* 0x802A828C@l */ -/* 802A8734 90 03 00 24 */ stw r0, 0x24(r3) -/* 802A8738 7F E4 FB 78 */ mr r4, r31 -/* 802A873C 81 83 00 00 */ lwz r12, 0(r3) -/* 802A8740 81 8C 00 2C */ lwz r12, 0x2c(r12) -/* 802A8744 7D 89 03 A6 */ mtctr r12 -/* 802A8748 4E 80 04 21 */ bctrl -/* 802A874C 7F A3 EB 78 */ mr r3, r29 -/* 802A8750 7F C4 F3 78 */ mr r4, r30 -/* 802A8754 7F E5 FB 78 */ mr r5, r31 -/* 802A8758 81 9D 00 00 */ lwz r12, 0(r29) -/* 802A875C 81 8C 00 54 */ lwz r12, 0x54(r12) -/* 802A8760 7D 89 03 A6 */ mtctr r12 -/* 802A8764 4E 80 04 21 */ bctrl -/* 802A8768 39 61 00 20 */ addi r11, r1, 0x20 -/* 802A876C 48 0B 9A BD */ bl _restgpr_29 -/* 802A8770 80 01 00 24 */ lwz r0, 0x24(r1) -/* 802A8774 7C 08 03 A6 */ mtlr r0 -/* 802A8778 38 21 00 20 */ addi r1, r1, 0x20 -/* 802A877C 4E 80 00 20 */ blr diff --git a/asm/JSystem/JMessage/processor/on_branch_queryResult__Q28JMessage18TSequenceProcessorFv.s b/asm/JSystem/JMessage/processor/on_branch_queryResult__Q28JMessage18TSequenceProcessorFv.s deleted file mode 100644 index 305d10e739..0000000000 --- a/asm/JSystem/JMessage/processor/on_branch_queryResult__Q28JMessage18TSequenceProcessorFv.s +++ /dev/null @@ -1,12 +0,0 @@ -lbl_802A86D4: -/* 802A86D4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802A86D8 7C 08 02 A6 */ mflr r0 -/* 802A86DC 90 01 00 14 */ stw r0, 0x14(r1) -/* 802A86E0 81 83 00 00 */ lwz r12, 0(r3) -/* 802A86E4 81 8C 00 50 */ lwz r12, 0x50(r12) -/* 802A86E8 7D 89 03 A6 */ mtctr r12 -/* 802A86EC 4E 80 04 21 */ bctrl -/* 802A86F0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802A86F4 7C 08 03 A6 */ mtlr r0 -/* 802A86F8 38 21 00 10 */ addi r1, r1, 0x10 -/* 802A86FC 4E 80 00 20 */ blr diff --git a/asm/JSystem/JMessage/processor/on_branch_query__Q28JMessage18TSequenceProcessorFUl.s b/asm/JSystem/JMessage/processor/on_branch_query__Q28JMessage18TSequenceProcessorFUl.s deleted file mode 100644 index 2e014ce023..0000000000 --- a/asm/JSystem/JMessage/processor/on_branch_query__Q28JMessage18TSequenceProcessorFUl.s +++ /dev/null @@ -1,14 +0,0 @@ -lbl_802A86A0: -/* 802A86A0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802A86A4 7C 08 02 A6 */ mflr r0 -/* 802A86A8 90 01 00 14 */ stw r0, 0x14(r1) -/* 802A86AC 38 00 00 04 */ li r0, 4 -/* 802A86B0 90 03 00 3C */ stw r0, 0x3c(r3) -/* 802A86B4 81 83 00 00 */ lwz r12, 0(r3) -/* 802A86B8 81 8C 00 4C */ lwz r12, 0x4c(r12) -/* 802A86BC 7D 89 03 A6 */ mtctr r12 -/* 802A86C0 4E 80 04 21 */ bctrl -/* 802A86C4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802A86C8 7C 08 03 A6 */ mtlr r0 -/* 802A86CC 38 21 00 10 */ addi r1, r1, 0x10 -/* 802A86D0 4E 80 00 20 */ blr diff --git a/asm/JSystem/JMessage/processor/on_isReady__Q28JMessage18TSequenceProcessorFv.s b/asm/JSystem/JMessage/processor/on_isReady__Q28JMessage18TSequenceProcessorFv.s deleted file mode 100644 index 6f10649383..0000000000 --- a/asm/JSystem/JMessage/processor/on_isReady__Q28JMessage18TSequenceProcessorFv.s +++ /dev/null @@ -1,12 +0,0 @@ -lbl_802A85A4: -/* 802A85A4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802A85A8 7C 08 02 A6 */ mflr r0 -/* 802A85AC 90 01 00 14 */ stw r0, 0x14(r1) -/* 802A85B0 81 83 00 00 */ lwz r12, 0(r3) -/* 802A85B4 81 8C 00 40 */ lwz r12, 0x40(r12) -/* 802A85B8 7D 89 03 A6 */ mtctr r12 -/* 802A85BC 4E 80 04 21 */ bctrl -/* 802A85C0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802A85C4 7C 08 03 A6 */ mtlr r0 -/* 802A85C8 38 21 00 10 */ addi r1, r1, 0x10 -/* 802A85CC 4E 80 00 20 */ blr diff --git a/asm/JSystem/JMessage/processor/on_jump__Q28JMessage18TSequenceProcessorFPCvPCc.s b/asm/JSystem/JMessage/processor/on_jump__Q28JMessage18TSequenceProcessorFPCvPCc.s deleted file mode 100644 index c9f57c7e2b..0000000000 --- a/asm/JSystem/JMessage/processor/on_jump__Q28JMessage18TSequenceProcessorFPCvPCc.s +++ /dev/null @@ -1,33 +0,0 @@ -lbl_802A8610: -/* 802A8610 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802A8614 7C 08 02 A6 */ mflr r0 -/* 802A8618 90 01 00 24 */ stw r0, 0x24(r1) -/* 802A861C 39 61 00 20 */ addi r11, r1, 0x20 -/* 802A8620 48 0B 9B BD */ bl _savegpr_29 -/* 802A8624 7C 7D 1B 78 */ mr r29, r3 -/* 802A8628 7C 9E 23 78 */ mr r30, r4 -/* 802A862C 7C BF 2B 78 */ mr r31, r5 -/* 802A8630 93 E3 00 0C */ stw r31, 0xc(r3) -/* 802A8634 38 00 00 00 */ li r0, 0 -/* 802A8638 90 03 00 10 */ stw r0, 0x10(r3) -/* 802A863C 3C 80 80 2B */ lis r4, process_onCharacterEnd_normal___Q28JMessage10TProcessorFPQ28JMessage10TProcessor@ha /* 0x802A828C@ha */ -/* 802A8640 38 04 82 8C */ addi r0, r4, process_onCharacterEnd_normal___Q28JMessage10TProcessorFPQ28JMessage10TProcessor@l /* 0x802A828C@l */ -/* 802A8644 90 03 00 24 */ stw r0, 0x24(r3) -/* 802A8648 7F E4 FB 78 */ mr r4, r31 -/* 802A864C 81 83 00 00 */ lwz r12, 0(r3) -/* 802A8650 81 8C 00 2C */ lwz r12, 0x2c(r12) -/* 802A8654 7D 89 03 A6 */ mtctr r12 -/* 802A8658 4E 80 04 21 */ bctrl -/* 802A865C 7F A3 EB 78 */ mr r3, r29 -/* 802A8660 7F C4 F3 78 */ mr r4, r30 -/* 802A8664 7F E5 FB 78 */ mr r5, r31 -/* 802A8668 81 9D 00 00 */ lwz r12, 0(r29) -/* 802A866C 81 8C 00 48 */ lwz r12, 0x48(r12) -/* 802A8670 7D 89 03 A6 */ mtctr r12 -/* 802A8674 4E 80 04 21 */ bctrl -/* 802A8678 39 61 00 20 */ addi r11, r1, 0x20 -/* 802A867C 48 0B 9B AD */ bl _restgpr_29 -/* 802A8680 80 01 00 24 */ lwz r0, 0x24(r1) -/* 802A8684 7C 08 03 A6 */ mtlr r0 -/* 802A8688 38 21 00 20 */ addi r1, r1, 0x20 -/* 802A868C 4E 80 00 20 */ blr diff --git a/asm/JSystem/JMessage/processor/on_jump_isReady__Q28JMessage18TSequenceProcessorFv.s b/asm/JSystem/JMessage/processor/on_jump_isReady__Q28JMessage18TSequenceProcessorFv.s deleted file mode 100644 index 5e77f1e6e4..0000000000 --- a/asm/JSystem/JMessage/processor/on_jump_isReady__Q28JMessage18TSequenceProcessorFv.s +++ /dev/null @@ -1,12 +0,0 @@ -lbl_802A85E4: -/* 802A85E4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802A85E8 7C 08 02 A6 */ mflr r0 -/* 802A85EC 90 01 00 14 */ stw r0, 0x14(r1) -/* 802A85F0 81 83 00 00 */ lwz r12, 0(r3) -/* 802A85F4 81 8C 00 44 */ lwz r12, 0x44(r12) -/* 802A85F8 7D 89 03 A6 */ mtctr r12 -/* 802A85FC 4E 80 04 21 */ bctrl -/* 802A8600 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802A8604 7C 08 03 A6 */ mtlr r0 -/* 802A8608 38 21 00 10 */ addi r1, r1, 0x10 -/* 802A860C 4E 80 00 20 */ blr diff --git a/asm/JSystem/JMessage/processor/on_message__Q28JMessage10TProcessorCFUl.s b/asm/JSystem/JMessage/processor/on_message__Q28JMessage10TProcessorCFUl.s deleted file mode 100644 index 84068d906b..0000000000 --- a/asm/JSystem/JMessage/processor/on_message__Q28JMessage10TProcessorCFUl.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_802A8C24: -/* 802A8C24 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802A8C28 7C 08 02 A6 */ mflr r0 -/* 802A8C2C 90 01 00 14 */ stw r0, 0x14(r1) -/* 802A8C30 48 00 00 15 */ bl getMessageText_messageCode__Q28JMessage10TProcessorCFUl -/* 802A8C34 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802A8C38 7C 08 03 A6 */ mtlr r0 -/* 802A8C3C 38 21 00 10 */ addi r1, r1, 0x10 -/* 802A8C40 4E 80 00 20 */ blr diff --git a/asm/JSystem/JMessage/processor/on_select_begin__Q28JMessage10TProcessorFPFPQ28JMessage10TProcessor_PCcPCvPCcUl.s b/asm/JSystem/JMessage/processor/on_select_begin__Q28JMessage10TProcessorFPFPQ28JMessage10TProcessor_PCcPCvPCcUl.s deleted file mode 100644 index 64e008ec3d..0000000000 --- a/asm/JSystem/JMessage/processor/on_select_begin__Q28JMessage10TProcessorFPFPQ28JMessage10TProcessor_PCcPCvPCcUl.s +++ /dev/null @@ -1,43 +0,0 @@ -lbl_802A7E38: -/* 802A7E38 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802A7E3C 7C 08 02 A6 */ mflr r0 -/* 802A7E40 90 01 00 14 */ stw r0, 0x14(r1) -/* 802A7E44 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802A7E48 93 C1 00 08 */ stw r30, 8(r1) -/* 802A7E4C 7C 7E 1B 78 */ mr r30, r3 -/* 802A7E50 7C FF 3B 78 */ mr r31, r7 -/* 802A7E54 80 03 00 10 */ lwz r0, 0x10(r3) -/* 802A7E58 28 00 00 04 */ cmplwi r0, 4 -/* 802A7E5C 40 80 00 68 */ bge lbl_802A7EC4 -/* 802A7E60 3C E0 80 2B */ lis r7, process_onCharacterEnd_select___Q28JMessage10TProcessorFPQ28JMessage10TProcessor@ha /* 0x802A82F4@ha */ -/* 802A7E64 38 07 82 F4 */ addi r0, r7, process_onCharacterEnd_select___Q28JMessage10TProcessorFPQ28JMessage10TProcessor@l /* 0x802A82F4@l */ -/* 802A7E68 90 1E 00 24 */ stw r0, 0x24(r30) -/* 802A7E6C 90 9E 00 28 */ stw r4, 0x28(r30) -/* 802A7E70 90 DE 00 2C */ stw r6, 0x2c(r30) -/* 802A7E74 90 BE 00 30 */ stw r5, 0x30(r30) -/* 802A7E78 93 FE 00 34 */ stw r31, 0x34(r30) -/* 802A7E7C 7C 8C 23 78 */ mr r12, r4 -/* 802A7E80 7D 89 03 A6 */ mtctr r12 -/* 802A7E84 4E 80 04 21 */ bctrl -/* 802A7E88 80 BE 00 0C */ lwz r5, 0xc(r30) -/* 802A7E8C 80 1E 00 10 */ lwz r0, 0x10(r30) -/* 802A7E90 54 00 10 3A */ slwi r0, r0, 2 -/* 802A7E94 7C 9E 02 14 */ add r4, r30, r0 -/* 802A7E98 90 A4 00 14 */ stw r5, 0x14(r4) -/* 802A7E9C 80 9E 00 10 */ lwz r4, 0x10(r30) -/* 802A7EA0 38 04 00 01 */ addi r0, r4, 1 -/* 802A7EA4 90 1E 00 10 */ stw r0, 0x10(r30) -/* 802A7EA8 90 7E 00 0C */ stw r3, 0xc(r30) -/* 802A7EAC 7F C3 F3 78 */ mr r3, r30 -/* 802A7EB0 7F E4 FB 78 */ mr r4, r31 -/* 802A7EB4 81 9E 00 00 */ lwz r12, 0(r30) -/* 802A7EB8 81 8C 00 20 */ lwz r12, 0x20(r12) -/* 802A7EBC 7D 89 03 A6 */ mtctr r12 -/* 802A7EC0 4E 80 04 21 */ bctrl -lbl_802A7EC4: -/* 802A7EC4 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802A7EC8 83 C1 00 08 */ lwz r30, 8(r1) -/* 802A7ECC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802A7ED0 7C 08 03 A6 */ mtlr r0 -/* 802A7ED4 38 21 00 10 */ addi r1, r1, 0x10 -/* 802A7ED8 4E 80 00 20 */ blr diff --git a/asm/JSystem/JMessage/processor/on_select_end__Q28JMessage10TProcessorFv.s b/asm/JSystem/JMessage/processor/on_select_end__Q28JMessage10TProcessorFv.s deleted file mode 100644 index 1e462f6587..0000000000 --- a/asm/JSystem/JMessage/processor/on_select_end__Q28JMessage10TProcessorFv.s +++ /dev/null @@ -1,23 +0,0 @@ -lbl_802A7EDC: -/* 802A7EDC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802A7EE0 7C 08 02 A6 */ mflr r0 -/* 802A7EE4 90 01 00 14 */ stw r0, 0x14(r1) -/* 802A7EE8 3C 80 80 2B */ lis r4, process_onCharacterEnd_normal___Q28JMessage10TProcessorFPQ28JMessage10TProcessor@ha /* 0x802A828C@ha */ -/* 802A7EEC 38 04 82 8C */ addi r0, r4, process_onCharacterEnd_normal___Q28JMessage10TProcessorFPQ28JMessage10TProcessor@l /* 0x802A828C@l */ -/* 802A7EF0 90 03 00 24 */ stw r0, 0x24(r3) -/* 802A7EF4 80 03 00 10 */ lwz r0, 0x10(r3) -/* 802A7EF8 54 00 10 3A */ slwi r0, r0, 2 -/* 802A7EFC 7C 83 02 14 */ add r4, r3, r0 -/* 802A7F00 80 04 00 10 */ lwz r0, 0x10(r4) -/* 802A7F04 90 03 00 0C */ stw r0, 0xc(r3) -/* 802A7F08 80 83 00 10 */ lwz r4, 0x10(r3) -/* 802A7F0C 38 04 FF FF */ addi r0, r4, -1 -/* 802A7F10 90 03 00 10 */ stw r0, 0x10(r3) -/* 802A7F14 81 83 00 00 */ lwz r12, 0(r3) -/* 802A7F18 81 8C 00 24 */ lwz r12, 0x24(r12) -/* 802A7F1C 7D 89 03 A6 */ mtctr r12 -/* 802A7F20 4E 80 04 21 */ bctrl -/* 802A7F24 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802A7F28 7C 08 03 A6 */ mtlr r0 -/* 802A7F2C 38 21 00 10 */ addi r1, r1, 0x10 -/* 802A7F30 4E 80 00 20 */ blr diff --git a/asm/JSystem/JMessage/processor/on_select_separate__Q28JMessage10TProcessorFv.s b/asm/JSystem/JMessage/processor/on_select_separate__Q28JMessage10TProcessorFv.s deleted file mode 100644 index e24333417e..0000000000 --- a/asm/JSystem/JMessage/processor/on_select_separate__Q28JMessage10TProcessorFv.s +++ /dev/null @@ -1,36 +0,0 @@ -lbl_802A7F34: -/* 802A7F34 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802A7F38 7C 08 02 A6 */ mflr r0 -/* 802A7F3C 90 01 00 14 */ stw r0, 0x14(r1) -/* 802A7F40 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802A7F44 7C 7F 1B 78 */ mr r31, r3 -/* 802A7F48 80 03 00 10 */ lwz r0, 0x10(r3) -/* 802A7F4C 54 00 10 3A */ slwi r0, r0, 2 -/* 802A7F50 7C 9F 02 14 */ add r4, r31, r0 -/* 802A7F54 80 04 00 10 */ lwz r0, 0x10(r4) -/* 802A7F58 90 03 00 0C */ stw r0, 0xc(r3) -/* 802A7F5C 80 83 00 10 */ lwz r4, 0x10(r3) -/* 802A7F60 38 04 FF FF */ addi r0, r4, -1 -/* 802A7F64 90 03 00 10 */ stw r0, 0x10(r3) -/* 802A7F68 81 83 00 28 */ lwz r12, 0x28(r3) -/* 802A7F6C 7D 89 03 A6 */ mtctr r12 -/* 802A7F70 4E 80 04 21 */ bctrl -/* 802A7F74 80 BF 00 0C */ lwz r5, 0xc(r31) -/* 802A7F78 80 1F 00 10 */ lwz r0, 0x10(r31) -/* 802A7F7C 54 00 10 3A */ slwi r0, r0, 2 -/* 802A7F80 7C 9F 02 14 */ add r4, r31, r0 -/* 802A7F84 90 A4 00 14 */ stw r5, 0x14(r4) -/* 802A7F88 80 9F 00 10 */ lwz r4, 0x10(r31) -/* 802A7F8C 38 04 00 01 */ addi r0, r4, 1 -/* 802A7F90 90 1F 00 10 */ stw r0, 0x10(r31) -/* 802A7F94 90 7F 00 0C */ stw r3, 0xc(r31) -/* 802A7F98 7F E3 FB 78 */ mr r3, r31 -/* 802A7F9C 81 9F 00 00 */ lwz r12, 0(r31) -/* 802A7FA0 81 8C 00 28 */ lwz r12, 0x28(r12) -/* 802A7FA4 7D 89 03 A6 */ mtctr r12 -/* 802A7FA8 4E 80 04 21 */ bctrl -/* 802A7FAC 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802A7FB0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802A7FB4 7C 08 03 A6 */ mtlr r0 -/* 802A7FB8 38 21 00 10 */ addi r1, r1, 0x10 -/* 802A7FBC 4E 80 00 20 */ blr diff --git a/asm/JSystem/JMessage/processor/on_tag___Q28JMessage10TProcessorFv.s b/asm/JSystem/JMessage/processor/on_tag___Q28JMessage10TProcessorFv.s deleted file mode 100644 index c639cd62b5..0000000000 --- a/asm/JSystem/JMessage/processor/on_tag___Q28JMessage10TProcessorFv.s +++ /dev/null @@ -1,42 +0,0 @@ -lbl_802A7FE4: -/* 802A7FE4 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802A7FE8 7C 08 02 A6 */ mflr r0 -/* 802A7FEC 90 01 00 24 */ stw r0, 0x24(r1) -/* 802A7FF0 39 61 00 20 */ addi r11, r1, 0x20 -/* 802A7FF4 48 0B A1 E5 */ bl _savegpr_28 -/* 802A7FF8 7C 7C 1B 78 */ mr r28, r3 -/* 802A7FFC 83 C3 00 0C */ lwz r30, 0xc(r3) -/* 802A8000 8B FE 00 00 */ lbz r31, 0(r30) -/* 802A8004 38 1F FF FF */ addi r0, r31, -1 -/* 802A8008 7C 1E 02 14 */ add r0, r30, r0 -/* 802A800C 90 03 00 0C */ stw r0, 0xc(r3) -/* 802A8010 88 9E 00 01 */ lbz r4, 1(r30) -/* 802A8014 8B BE 00 02 */ lbz r29, 2(r30) -/* 802A8018 50 9D 44 2E */ rlwimi r29, r4, 8, 0x10, 0x17 -/* 802A801C 57 BD 40 2E */ slwi r29, r29, 8 -/* 802A8020 88 1E 00 03 */ lbz r0, 3(r30) -/* 802A8024 7F BD 03 78 */ or r29, r29, r0 -/* 802A8028 7F A4 EB 78 */ mr r4, r29 -/* 802A802C 38 BE 00 04 */ addi r5, r30, 4 -/* 802A8030 38 DF FF FB */ addi r6, r31, -5 -/* 802A8034 81 83 00 00 */ lwz r12, 0(r3) -/* 802A8038 81 8C 00 1C */ lwz r12, 0x1c(r12) -/* 802A803C 7D 89 03 A6 */ mtctr r12 -/* 802A8040 4E 80 04 21 */ bctrl -/* 802A8044 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 802A8048 40 82 00 24 */ bne lbl_802A806C -/* 802A804C 7F 83 E3 78 */ mr r3, r28 -/* 802A8050 7F A4 EB 78 */ mr r4, r29 -/* 802A8054 38 BE 00 04 */ addi r5, r30, 4 -/* 802A8058 38 DF FF FB */ addi r6, r31, -5 -/* 802A805C 81 9C 00 00 */ lwz r12, 0(r28) -/* 802A8060 81 8C 00 3C */ lwz r12, 0x3c(r12) -/* 802A8064 7D 89 03 A6 */ mtctr r12 -/* 802A8068 4E 80 04 21 */ bctrl -lbl_802A806C: -/* 802A806C 39 61 00 20 */ addi r11, r1, 0x20 -/* 802A8070 48 0B A1 B5 */ bl _restgpr_28 -/* 802A8074 80 01 00 24 */ lwz r0, 0x24(r1) -/* 802A8078 7C 08 03 A6 */ mtlr r0 -/* 802A807C 38 21 00 20 */ addi r1, r1, 0x20 -/* 802A8080 4E 80 00 20 */ blr diff --git a/asm/JSystem/JMessage/processor/process__Q28JMessage18TSequenceProcessorFPCc.s b/asm/JSystem/JMessage/processor/process__Q28JMessage18TSequenceProcessorFPCc.s deleted file mode 100644 index 86d5198cc4..0000000000 --- a/asm/JSystem/JMessage/processor/process__Q28JMessage18TSequenceProcessorFPCc.s +++ /dev/null @@ -1,112 +0,0 @@ -lbl_802A8418: -/* 802A8418 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802A841C 7C 08 02 A6 */ mflr r0 -/* 802A8420 90 01 00 14 */ stw r0, 0x14(r1) -/* 802A8424 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802A8428 93 C1 00 08 */ stw r30, 8(r1) -/* 802A842C 7C 7E 1B 78 */ mr r30, r3 -/* 802A8430 7C 9F 23 78 */ mr r31, r4 -lbl_802A8434: -/* 802A8434 80 1E 00 3C */ lwz r0, 0x3c(r30) -/* 802A8438 2C 00 00 03 */ cmpwi r0, 3 -/* 802A843C 41 82 00 18 */ beq lbl_802A8454 -/* 802A8440 40 80 00 08 */ bge lbl_802A8448 -/* 802A8444 48 00 00 E0 */ b lbl_802A8524 -lbl_802A8448: -/* 802A8448 2C 00 00 05 */ cmpwi r0, 5 -/* 802A844C 40 80 00 D8 */ bge lbl_802A8524 -/* 802A8450 48 00 00 50 */ b lbl_802A84A0 -lbl_802A8454: -/* 802A8454 7F C3 F3 78 */ mr r3, r30 -/* 802A8458 48 00 01 8D */ bl on_jump_isReady__Q28JMessage18TSequenceProcessorFv -/* 802A845C 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 802A8460 40 82 00 0C */ bne lbl_802A846C -/* 802A8464 80 7E 00 0C */ lwz r3, 0xc(r30) -/* 802A8468 48 00 01 24 */ b lbl_802A858C -lbl_802A846C: -/* 802A846C 38 00 00 02 */ li r0, 2 -/* 802A8470 90 1E 00 3C */ stw r0, 0x3c(r30) -/* 802A8474 7F C3 F3 78 */ mr r3, r30 -/* 802A8478 81 9E 00 40 */ lwz r12, 0x40(r30) -/* 802A847C 7D 89 03 A6 */ mtctr r12 -/* 802A8480 4E 80 04 21 */ bctrl -/* 802A8484 7C 64 1B 79 */ or. r4, r3, r3 -/* 802A8488 41 82 00 9C */ beq lbl_802A8524 -/* 802A848C 80 7E 00 38 */ lwz r3, 0x38(r30) -/* 802A8490 80 A3 00 18 */ lwz r5, 0x18(r3) -/* 802A8494 7F C3 F3 78 */ mr r3, r30 -/* 802A8498 48 00 01 79 */ bl on_jump__Q28JMessage18TSequenceProcessorFPCvPCc -/* 802A849C 48 00 00 88 */ b lbl_802A8524 -lbl_802A84A0: -/* 802A84A0 7F C3 F3 78 */ mr r3, r30 -/* 802A84A4 48 00 02 31 */ bl on_branch_queryResult__Q28JMessage18TSequenceProcessorFv -/* 802A84A8 7C 64 1B 78 */ mr r4, r3 -/* 802A84AC 3C 60 80 00 */ lis r3, 0x8000 /* 0x7FFFFFFF@ha */ -/* 802A84B0 38 03 FF FF */ addi r0, r3, 0xFFFF /* 0x7FFFFFFF@l */ -/* 802A84B4 7C 04 00 40 */ cmplw r4, r0 -/* 802A84B8 40 81 00 30 */ ble lbl_802A84E8 -/* 802A84BC 2C 04 FF FF */ cmpwi r4, -1 -/* 802A84C0 41 82 00 14 */ beq lbl_802A84D4 -/* 802A84C4 40 80 00 60 */ bge lbl_802A8524 -/* 802A84C8 2C 04 FF FE */ cmpwi r4, -2 -/* 802A84CC 40 80 00 10 */ bge lbl_802A84DC -/* 802A84D0 48 00 00 54 */ b lbl_802A8524 -lbl_802A84D4: -/* 802A84D4 80 7E 00 0C */ lwz r3, 0xc(r30) -/* 802A84D8 48 00 00 B4 */ b lbl_802A858C -lbl_802A84DC: -/* 802A84DC 38 00 00 02 */ li r0, 2 -/* 802A84E0 90 1E 00 3C */ stw r0, 0x3c(r30) -/* 802A84E4 48 00 00 40 */ b lbl_802A8524 -lbl_802A84E8: -/* 802A84E8 38 00 00 02 */ li r0, 2 -/* 802A84EC 90 1E 00 3C */ stw r0, 0x3c(r30) -/* 802A84F0 80 1E 00 48 */ lwz r0, 0x48(r30) -/* 802A84F4 7C 04 00 40 */ cmplw r4, r0 -/* 802A84F8 40 80 00 2C */ bge lbl_802A8524 -/* 802A84FC 7F C3 F3 78 */ mr r3, r30 -/* 802A8500 81 9E 00 40 */ lwz r12, 0x40(r30) -/* 802A8504 7D 89 03 A6 */ mtctr r12 -/* 802A8508 4E 80 04 21 */ bctrl -/* 802A850C 7C 64 1B 79 */ or. r4, r3, r3 -/* 802A8510 41 82 00 14 */ beq lbl_802A8524 -/* 802A8514 80 7E 00 38 */ lwz r3, 0x38(r30) -/* 802A8518 80 A3 00 18 */ lwz r5, 0x18(r3) -/* 802A851C 7F C3 F3 78 */ mr r3, r30 -/* 802A8520 48 00 01 E1 */ bl on_branch__Q28JMessage18TSequenceProcessorFPCvPCc -lbl_802A8524: -/* 802A8524 80 1E 00 0C */ lwz r0, 0xc(r30) -/* 802A8528 7C 00 F8 40 */ cmplw r0, r31 -/* 802A852C 40 82 00 34 */ bne lbl_802A8560 -/* 802A8530 7F C3 F3 78 */ mr r3, r30 -/* 802A8534 81 9E 00 00 */ lwz r12, 0(r30) -/* 802A8538 81 8C 00 38 */ lwz r12, 0x38(r12) -/* 802A853C 7D 89 03 A6 */ mtctr r12 -/* 802A8540 4E 80 04 21 */ bctrl -/* 802A8544 7F C3 F3 78 */ mr r3, r30 -/* 802A8548 81 9E 00 00 */ lwz r12, 0(r30) -/* 802A854C 81 8C 00 14 */ lwz r12, 0x14(r12) -/* 802A8550 7D 89 03 A6 */ mtctr r12 -/* 802A8554 4E 80 04 21 */ bctrl -/* 802A8558 38 60 00 00 */ li r3, 0 -/* 802A855C 48 00 00 30 */ b lbl_802A858C -lbl_802A8560: -/* 802A8560 7F C3 F3 78 */ mr r3, r30 -/* 802A8564 48 00 00 41 */ bl on_isReady__Q28JMessage18TSequenceProcessorFv -/* 802A8568 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 802A856C 40 82 00 0C */ bne lbl_802A8578 -/* 802A8570 80 7E 00 0C */ lwz r3, 0xc(r30) -/* 802A8574 48 00 00 18 */ b lbl_802A858C -lbl_802A8578: -/* 802A8578 7F C3 F3 78 */ mr r3, r30 -/* 802A857C 4B FF FC 71 */ bl process_character___Q28JMessage10TProcessorFv -/* 802A8580 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 802A8584 40 82 FE B0 */ bne lbl_802A8434 -/* 802A8588 38 60 00 00 */ li r3, 0 -lbl_802A858C: -/* 802A858C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802A8590 83 C1 00 08 */ lwz r30, 8(r1) -/* 802A8594 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802A8598 7C 08 03 A6 */ mtlr r0 -/* 802A859C 38 21 00 10 */ addi r1, r1, 0x10 -/* 802A85A0 4E 80 00 20 */ blr diff --git a/asm/JSystem/JMessage/processor/process__Q28JMessage19TRenderingProcessorFPCc.s b/asm/JSystem/JMessage/processor/process__Q28JMessage19TRenderingProcessorFPCc.s deleted file mode 100644 index 505a277098..0000000000 --- a/asm/JSystem/JMessage/processor/process__Q28JMessage19TRenderingProcessorFPCc.s +++ /dev/null @@ -1,37 +0,0 @@ -lbl_802A8B20: -/* 802A8B20 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802A8B24 7C 08 02 A6 */ mflr r0 -/* 802A8B28 90 01 00 14 */ stw r0, 0x14(r1) -/* 802A8B2C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802A8B30 93 C1 00 08 */ stw r30, 8(r1) -/* 802A8B34 7C 7E 1B 78 */ mr r30, r3 -/* 802A8B38 7C 9F 23 78 */ mr r31, r4 -lbl_802A8B3C: -/* 802A8B3C 80 1E 00 0C */ lwz r0, 0xc(r30) -/* 802A8B40 7C 00 F8 40 */ cmplw r0, r31 -/* 802A8B44 40 82 00 34 */ bne lbl_802A8B78 -/* 802A8B48 7F C3 F3 78 */ mr r3, r30 -/* 802A8B4C 81 9E 00 00 */ lwz r12, 0(r30) -/* 802A8B50 81 8C 00 38 */ lwz r12, 0x38(r12) -/* 802A8B54 7D 89 03 A6 */ mtctr r12 -/* 802A8B58 4E 80 04 21 */ bctrl -/* 802A8B5C 7F C3 F3 78 */ mr r3, r30 -/* 802A8B60 81 9E 00 00 */ lwz r12, 0(r30) -/* 802A8B64 81 8C 00 14 */ lwz r12, 0x14(r12) -/* 802A8B68 7D 89 03 A6 */ mtctr r12 -/* 802A8B6C 4E 80 04 21 */ bctrl -/* 802A8B70 38 60 00 00 */ li r3, 0 -/* 802A8B74 48 00 00 18 */ b lbl_802A8B8C -lbl_802A8B78: -/* 802A8B78 7F C3 F3 78 */ mr r3, r30 -/* 802A8B7C 4B FF F6 71 */ bl process_character___Q28JMessage10TProcessorFv -/* 802A8B80 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 802A8B84 40 82 FF B8 */ bne lbl_802A8B3C -/* 802A8B88 38 60 00 00 */ li r3, 0 -lbl_802A8B8C: -/* 802A8B8C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802A8B90 83 C1 00 08 */ lwz r30, 8(r1) -/* 802A8B94 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802A8B98 7C 08 03 A6 */ mtlr r0 -/* 802A8B9C 38 21 00 10 */ addi r1, r1, 0x10 -/* 802A8BA0 4E 80 00 20 */ blr diff --git a/asm/JSystem/JMessage/processor/process_character___Q28JMessage10TProcessorFv.s b/asm/JSystem/JMessage/processor/process_character___Q28JMessage10TProcessorFv.s deleted file mode 100644 index c6a428ed2b..0000000000 --- a/asm/JSystem/JMessage/processor/process_character___Q28JMessage10TProcessorFv.s +++ /dev/null @@ -1,46 +0,0 @@ -lbl_802A81EC: -/* 802A81EC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802A81F0 7C 08 02 A6 */ mflr r0 -/* 802A81F4 90 01 00 14 */ stw r0, 0x14(r1) -/* 802A81F8 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802A81FC 7C 7F 1B 78 */ mr r31, r3 -/* 802A8200 38 7F 00 0C */ addi r3, r31, 0xc -/* 802A8204 80 9F 00 04 */ lwz r4, 4(r31) -/* 802A8208 80 84 00 04 */ lwz r4, 4(r4) -/* 802A820C 81 84 00 04 */ lwz r12, 4(r4) -/* 802A8210 7D 89 03 A6 */ mtctr r12 -/* 802A8214 4E 80 04 21 */ bctrl -/* 802A8218 7C 64 1B 78 */ mr r4, r3 -/* 802A821C 2C 04 00 1A */ cmpwi r4, 0x1a -/* 802A8220 41 82 00 34 */ beq lbl_802A8254 -/* 802A8224 40 80 00 3C */ bge lbl_802A8260 -/* 802A8228 2C 04 00 00 */ cmpwi r4, 0 -/* 802A822C 41 82 00 08 */ beq lbl_802A8234 -/* 802A8230 48 00 00 30 */ b lbl_802A8260 -lbl_802A8234: -/* 802A8234 7F E3 FB 78 */ mr r3, r31 -/* 802A8238 81 9F 00 24 */ lwz r12, 0x24(r31) -/* 802A823C 7D 89 03 A6 */ mtctr r12 -/* 802A8240 4E 80 04 21 */ bctrl -/* 802A8244 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 802A8248 40 82 00 2C */ bne lbl_802A8274 -/* 802A824C 38 60 00 00 */ li r3, 0 -/* 802A8250 48 00 00 28 */ b lbl_802A8278 -lbl_802A8254: -/* 802A8254 7F E3 FB 78 */ mr r3, r31 -/* 802A8258 4B FF FD 8D */ bl on_tag___Q28JMessage10TProcessorFv -/* 802A825C 48 00 00 18 */ b lbl_802A8274 -lbl_802A8260: -/* 802A8260 7F E3 FB 78 */ mr r3, r31 -/* 802A8264 81 9F 00 00 */ lwz r12, 0(r31) -/* 802A8268 81 8C 00 18 */ lwz r12, 0x18(r12) -/* 802A826C 7D 89 03 A6 */ mtctr r12 -/* 802A8270 4E 80 04 21 */ bctrl -lbl_802A8274: -/* 802A8274 38 60 00 01 */ li r3, 1 -lbl_802A8278: -/* 802A8278 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802A827C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802A8280 7C 08 03 A6 */ mtlr r0 -/* 802A8284 38 21 00 10 */ addi r1, r1, 0x10 -/* 802A8288 4E 80 00 20 */ blr diff --git a/asm/JSystem/JMessage/processor/process_onBranch___Q28JMessage18TSequenceProcessorFPCQ28JMessage18TSequenceProcessorUl.s b/asm/JSystem/JMessage/processor/process_onBranch___Q28JMessage18TSequenceProcessorFPCQ28JMessage18TSequenceProcessorUl.s deleted file mode 100644 index 423a2e9e3f..0000000000 --- a/asm/JSystem/JMessage/processor/process_onBranch___Q28JMessage18TSequenceProcessorFPCQ28JMessage18TSequenceProcessorUl.s +++ /dev/null @@ -1,14 +0,0 @@ -lbl_802A8A50: -/* 802A8A50 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802A8A54 7C 08 02 A6 */ mflr r0 -/* 802A8A58 90 01 00 14 */ stw r0, 0x14(r1) -/* 802A8A5C 80 A3 00 44 */ lwz r5, 0x44(r3) -/* 802A8A60 54 80 10 3A */ slwi r0, r4, 2 -/* 802A8A64 7C 05 00 2E */ lwzx r0, r5, r0 -/* 802A8A68 54 04 84 3E */ srwi r4, r0, 0x10 -/* 802A8A6C 54 05 04 3E */ clrlwi r5, r0, 0x10 -/* 802A8A70 4B FF FE D5 */ bl process_setMessageCode___Q28JMessage18TSequenceProcessorFPCQ28JMessage18TSequenceProcessorUsUs -/* 802A8A74 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802A8A78 7C 08 03 A6 */ mtlr r0 -/* 802A8A7C 38 21 00 10 */ addi r1, r1, 0x10 -/* 802A8A80 4E 80 00 20 */ blr diff --git a/asm/JSystem/JMessage/processor/process_onCharacterEnd_normal___Q28JMessage10TProcessorFPQ28JMessage10TProcessor.s b/asm/JSystem/JMessage/processor/process_onCharacterEnd_normal___Q28JMessage10TProcessorFPQ28JMessage10TProcessor.s deleted file mode 100644 index 7557554321..0000000000 --- a/asm/JSystem/JMessage/processor/process_onCharacterEnd_normal___Q28JMessage10TProcessorFPQ28JMessage10TProcessor.s +++ /dev/null @@ -1,29 +0,0 @@ -lbl_802A828C: -/* 802A828C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802A8290 7C 08 02 A6 */ mflr r0 -/* 802A8294 90 01 00 14 */ stw r0, 0x14(r1) -/* 802A8298 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802A829C 7C 7F 1B 78 */ mr r31, r3 -/* 802A82A0 80 03 00 10 */ lwz r0, 0x10(r3) -/* 802A82A4 28 00 00 00 */ cmplwi r0, 0 -/* 802A82A8 41 82 00 10 */ beq lbl_802A82B8 -/* 802A82AC 4B FF F9 85 */ bl stack_popCurrent__Q28JMessage10TProcessorFv -/* 802A82B0 38 60 00 01 */ li r3, 1 -/* 802A82B4 48 00 00 2C */ b lbl_802A82E0 -lbl_802A82B8: -/* 802A82B8 81 83 00 00 */ lwz r12, 0(r3) -/* 802A82BC 81 8C 00 38 */ lwz r12, 0x38(r12) -/* 802A82C0 7D 89 03 A6 */ mtctr r12 -/* 802A82C4 4E 80 04 21 */ bctrl -/* 802A82C8 7F E3 FB 78 */ mr r3, r31 -/* 802A82CC 81 9F 00 00 */ lwz r12, 0(r31) -/* 802A82D0 81 8C 00 14 */ lwz r12, 0x14(r12) -/* 802A82D4 7D 89 03 A6 */ mtctr r12 -/* 802A82D8 4E 80 04 21 */ bctrl -/* 802A82DC 38 60 00 00 */ li r3, 0 -lbl_802A82E0: -/* 802A82E0 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802A82E4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802A82E8 7C 08 03 A6 */ mtlr r0 -/* 802A82EC 38 21 00 10 */ addi r1, r1, 0x10 -/* 802A82F0 4E 80 00 20 */ blr diff --git a/asm/JSystem/JMessage/processor/process_onCharacterEnd_select___Q28JMessage10TProcessorFPQ28JMessage10TProcessor.s b/asm/JSystem/JMessage/processor/process_onCharacterEnd_select___Q28JMessage10TProcessorFPQ28JMessage10TProcessor.s deleted file mode 100644 index d2e79e4216..0000000000 --- a/asm/JSystem/JMessage/processor/process_onCharacterEnd_select___Q28JMessage10TProcessorFPQ28JMessage10TProcessor.s +++ /dev/null @@ -1,21 +0,0 @@ -lbl_802A82F4: -/* 802A82F4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802A82F8 7C 08 02 A6 */ mflr r0 -/* 802A82FC 90 01 00 14 */ stw r0, 0x14(r1) -/* 802A8300 80 83 00 34 */ lwz r4, 0x34(r3) -/* 802A8304 38 04 FF FF */ addi r0, r4, -1 -/* 802A8308 90 03 00 34 */ stw r0, 0x34(r3) -/* 802A830C 80 03 00 34 */ lwz r0, 0x34(r3) -/* 802A8310 28 00 00 00 */ cmplwi r0, 0 -/* 802A8314 41 82 00 10 */ beq lbl_802A8324 -/* 802A8318 4B FF FC 1D */ bl on_select_separate__Q28JMessage10TProcessorFv -/* 802A831C 38 60 00 01 */ li r3, 1 -/* 802A8320 48 00 00 0C */ b lbl_802A832C -lbl_802A8324: -/* 802A8324 4B FF FB B9 */ bl on_select_end__Q28JMessage10TProcessorFv -/* 802A8328 38 60 00 01 */ li r3, 1 -lbl_802A832C: -/* 802A832C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802A8330 7C 08 03 A6 */ mtlr r0 -/* 802A8334 38 21 00 10 */ addi r1, r1, 0x10 -/* 802A8338 4E 80 00 20 */ blr diff --git a/asm/JSystem/JMessage/processor/process_onJump___Q28JMessage18TSequenceProcessorFPCQ28JMessage18TSequenceProcessor.s b/asm/JSystem/JMessage/processor/process_onJump___Q28JMessage18TSequenceProcessorFPCQ28JMessage18TSequenceProcessor.s deleted file mode 100644 index 786ffefc20..0000000000 --- a/asm/JSystem/JMessage/processor/process_onJump___Q28JMessage18TSequenceProcessorFPCQ28JMessage18TSequenceProcessor.s +++ /dev/null @@ -1,12 +0,0 @@ -lbl_802A89EC: -/* 802A89EC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802A89F0 7C 08 02 A6 */ mflr r0 -/* 802A89F4 90 01 00 14 */ stw r0, 0x14(r1) -/* 802A89F8 80 03 00 44 */ lwz r0, 0x44(r3) -/* 802A89FC 54 04 84 3E */ srwi r4, r0, 0x10 -/* 802A8A00 54 05 04 3E */ clrlwi r5, r0, 0x10 -/* 802A8A04 4B FF FF 41 */ bl process_setMessageCode___Q28JMessage18TSequenceProcessorFPCQ28JMessage18TSequenceProcessorUsUs -/* 802A8A08 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802A8A0C 7C 08 03 A6 */ mtlr r0 -/* 802A8A10 38 21 00 10 */ addi r1, r1, 0x10 -/* 802A8A14 4E 80 00 20 */ blr diff --git a/asm/JSystem/JMessage/processor/reset__Q28JMessage10TProcessorFv.s b/asm/JSystem/JMessage/processor/reset__Q28JMessage10TProcessorFv.s deleted file mode 100644 index 8b9257a561..0000000000 --- a/asm/JSystem/JMessage/processor/reset__Q28JMessage10TProcessorFv.s +++ /dev/null @@ -1,27 +0,0 @@ -lbl_802A7B90: -/* 802A7B90 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802A7B94 7C 08 02 A6 */ mflr r0 -/* 802A7B98 90 01 00 14 */ stw r0, 0x14(r1) -/* 802A7B9C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802A7BA0 7C 7F 1B 78 */ mr r31, r3 -/* 802A7BA4 38 00 00 00 */ li r0, 0 -/* 802A7BA8 90 03 00 0C */ stw r0, 0xc(r3) -/* 802A7BAC 90 03 00 10 */ stw r0, 0x10(r3) -/* 802A7BB0 3C 80 80 2B */ lis r4, process_onCharacterEnd_normal___Q28JMessage10TProcessorFPQ28JMessage10TProcessor@ha /* 0x802A828C@ha */ -/* 802A7BB4 38 04 82 8C */ addi r0, r4, process_onCharacterEnd_normal___Q28JMessage10TProcessorFPQ28JMessage10TProcessor@l /* 0x802A828C@l */ -/* 802A7BB8 90 03 00 24 */ stw r0, 0x24(r3) -/* 802A7BBC 38 80 00 00 */ li r4, 0 -/* 802A7BC0 81 83 00 00 */ lwz r12, 0(r3) -/* 802A7BC4 81 8C 00 2C */ lwz r12, 0x2c(r12) -/* 802A7BC8 7D 89 03 A6 */ mtctr r12 -/* 802A7BCC 4E 80 04 21 */ bctrl -/* 802A7BD0 7F E3 FB 78 */ mr r3, r31 -/* 802A7BD4 81 9F 00 00 */ lwz r12, 0(r31) -/* 802A7BD8 81 8C 00 0C */ lwz r12, 0xc(r12) -/* 802A7BDC 7D 89 03 A6 */ mtctr r12 -/* 802A7BE0 4E 80 04 21 */ bctrl -/* 802A7BE4 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802A7BE8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802A7BEC 7C 08 03 A6 */ mtlr r0 -/* 802A7BF0 38 21 00 10 */ addi r1, r1, 0x10 -/* 802A7BF4 4E 80 00 20 */ blr diff --git a/asm/JSystem/JMessage/processor/stack_popCurrent__Q28JMessage10TProcessorFv.s b/asm/JSystem/JMessage/processor/stack_popCurrent__Q28JMessage10TProcessorFv.s deleted file mode 100644 index 8d073c3e7b..0000000000 --- a/asm/JSystem/JMessage/processor/stack_popCurrent__Q28JMessage10TProcessorFv.s +++ /dev/null @@ -1,10 +0,0 @@ -lbl_802A7C30: -/* 802A7C30 80 03 00 10 */ lwz r0, 0x10(r3) -/* 802A7C34 54 00 10 3A */ slwi r0, r0, 2 -/* 802A7C38 7C 83 02 14 */ add r4, r3, r0 -/* 802A7C3C 80 04 00 10 */ lwz r0, 0x10(r4) -/* 802A7C40 90 03 00 0C */ stw r0, 0xc(r3) -/* 802A7C44 80 83 00 10 */ lwz r4, 0x10(r3) -/* 802A7C48 38 04 FF FF */ addi r0, r4, -1 -/* 802A7C4C 90 03 00 10 */ stw r0, 0x10(r3) -/* 802A7C50 4E 80 00 20 */ blr diff --git a/asm/JSystem/JMessage/processor/stack_pushCurrent__Q28JMessage10TProcessorFPCc.s b/asm/JSystem/JMessage/processor/stack_pushCurrent__Q28JMessage10TProcessorFPCc.s deleted file mode 100644 index 074961a962..0000000000 --- a/asm/JSystem/JMessage/processor/stack_pushCurrent__Q28JMessage10TProcessorFPCc.s +++ /dev/null @@ -1,15 +0,0 @@ -lbl_802A7BF8: -/* 802A7BF8 28 04 00 00 */ cmplwi r4, 0 -/* 802A7BFC 4D 82 00 20 */ beqlr -/* 802A7C00 80 03 00 10 */ lwz r0, 0x10(r3) -/* 802A7C04 28 00 00 04 */ cmplwi r0, 4 -/* 802A7C08 4C 80 00 20 */ bgelr -/* 802A7C0C 80 C3 00 0C */ lwz r6, 0xc(r3) -/* 802A7C10 54 00 10 3A */ slwi r0, r0, 2 -/* 802A7C14 7C A3 02 14 */ add r5, r3, r0 -/* 802A7C18 90 C5 00 14 */ stw r6, 0x14(r5) -/* 802A7C1C 80 A3 00 10 */ lwz r5, 0x10(r3) -/* 802A7C20 38 05 00 01 */ addi r0, r5, 1 -/* 802A7C24 90 03 00 10 */ stw r0, 0x10(r3) -/* 802A7C28 90 83 00 0C */ stw r4, 0xc(r3) -/* 802A7C2C 4E 80 00 20 */ blr diff --git a/asm/JSystem/JMessage/resource/Do_create__Q38JMessage18TResourceContainer10TCResourceFv.s b/asm/JSystem/JMessage/resource/Do_create__Q38JMessage18TResourceContainer10TCResourceFv.s deleted file mode 100644 index fb7695f1e0..0000000000 --- a/asm/JSystem/JMessage/resource/Do_create__Q38JMessage18TResourceContainer10TCResourceFv.s +++ /dev/null @@ -1,21 +0,0 @@ -lbl_802A8FFC: -/* 802A8FFC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802A9000 7C 08 02 A6 */ mflr r0 -/* 802A9004 90 01 00 14 */ stw r0, 0x14(r1) -/* 802A9008 38 60 00 1C */ li r3, 0x1c -/* 802A900C 48 02 5C 41 */ bl __nw__FUl -/* 802A9010 28 03 00 00 */ cmplwi r3, 0 -/* 802A9014 41 82 00 24 */ beq lbl_802A9038 -/* 802A9018 38 00 00 00 */ li r0, 0 -/* 802A901C 90 03 00 00 */ stw r0, 0(r3) -/* 802A9020 90 03 00 04 */ stw r0, 4(r3) -/* 802A9024 90 03 00 08 */ stw r0, 8(r3) -/* 802A9028 90 03 00 0C */ stw r0, 0xc(r3) -/* 802A902C 90 03 00 10 */ stw r0, 0x10(r3) -/* 802A9030 90 03 00 14 */ stw r0, 0x14(r3) -/* 802A9034 90 03 00 18 */ stw r0, 0x18(r3) -lbl_802A9038: -/* 802A9038 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802A903C 7C 08 03 A6 */ mtlr r0 -/* 802A9040 38 21 00 10 */ addi r1, r1, 0x10 -/* 802A9044 4E 80 00 20 */ blr diff --git a/asm/JSystem/JMessage/resource/Do_destroy__Q38JMessage18TResourceContainer10TCResourceFPQ28JMessage9TResource.s b/asm/JSystem/JMessage/resource/Do_destroy__Q38JMessage18TResourceContainer10TCResourceFPQ28JMessage9TResource.s deleted file mode 100644 index 8c94a26bff..0000000000 --- a/asm/JSystem/JMessage/resource/Do_destroy__Q38JMessage18TResourceContainer10TCResourceFPQ28JMessage9TResource.s +++ /dev/null @@ -1,10 +0,0 @@ -lbl_802A9048: -/* 802A9048 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802A904C 7C 08 02 A6 */ mflr r0 -/* 802A9050 90 01 00 14 */ stw r0, 0x14(r1) -/* 802A9054 7C 83 23 78 */ mr r3, r4 -/* 802A9058 48 02 5C E5 */ bl __dl__FPv -/* 802A905C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802A9060 7C 08 03 A6 */ mtlr r0 -/* 802A9064 38 21 00 10 */ addi r1, r1, 0x10 -/* 802A9068 4E 80 00 20 */ blr diff --git a/asm/JSystem/JMessage/resource/__ct__Q28JMessage18TResourceContainerFv.s b/asm/JSystem/JMessage/resource/__ct__Q28JMessage18TResourceContainerFv.s deleted file mode 100644 index 52edc97237..0000000000 --- a/asm/JSystem/JMessage/resource/__ct__Q28JMessage18TResourceContainerFv.s +++ /dev/null @@ -1,20 +0,0 @@ -lbl_802A906C: -/* 802A906C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802A9070 7C 08 02 A6 */ mflr r0 -/* 802A9074 90 01 00 14 */ stw r0, 0x14(r1) -/* 802A9078 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802A907C 7C 7F 1B 78 */ mr r31, r3 -/* 802A9080 38 00 00 00 */ li r0, 0 -/* 802A9084 98 03 00 00 */ stb r0, 0(r3) -/* 802A9088 90 03 00 04 */ stw r0, 4(r3) -/* 802A908C 38 7F 00 08 */ addi r3, r31, 8 -/* 802A9090 4B FF FE 31 */ bl __ct__Q38JMessage18TResourceContainer10TCResourceFv -/* 802A9094 38 00 00 00 */ li r0, 0 -/* 802A9098 90 1F 00 18 */ stw r0, 0x18(r31) -/* 802A909C 90 1F 00 1C */ stw r0, 0x1c(r31) -/* 802A90A0 7F E3 FB 78 */ mr r3, r31 -/* 802A90A4 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802A90A8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802A90AC 7C 08 03 A6 */ mtlr r0 -/* 802A90B0 38 21 00 10 */ addi r1, r1, 0x10 -/* 802A90B4 4E 80 00 20 */ blr diff --git a/asm/JSystem/JMessage/resource/__ct__Q28JMessage6TParseFPQ28JMessage18TResourceContainer.s b/asm/JSystem/JMessage/resource/__ct__Q28JMessage6TParseFPQ28JMessage18TResourceContainer.s deleted file mode 100644 index 27e2fc621f..0000000000 --- a/asm/JSystem/JMessage/resource/__ct__Q28JMessage6TParseFPQ28JMessage18TResourceContainer.s +++ /dev/null @@ -1,11 +0,0 @@ -lbl_802A9130: -/* 802A9130 3C A0 80 3C */ lis r5, __vt__Q37JGadget6binary19TParse_header_block@ha /* 0x803C488C@ha */ -/* 802A9134 38 05 48 8C */ addi r0, r5, __vt__Q37JGadget6binary19TParse_header_block@l /* 0x803C488C@l */ -/* 802A9138 90 03 00 00 */ stw r0, 0(r3) -/* 802A913C 3C A0 80 3D */ lis r5, __vt__Q28JMessage6TParse@ha /* 0x803C9C94@ha */ -/* 802A9140 38 05 9C 94 */ addi r0, r5, __vt__Q28JMessage6TParse@l /* 0x803C9C94@l */ -/* 802A9144 90 03 00 00 */ stw r0, 0(r3) -/* 802A9148 90 83 00 04 */ stw r4, 4(r3) -/* 802A914C 38 00 00 00 */ li r0, 0 -/* 802A9150 90 03 00 08 */ stw r0, 8(r3) -/* 802A9154 4E 80 00 20 */ blr diff --git a/asm/JSystem/JMessage/resource/setEncoding__Q28JMessage18TResourceContainerFUc.s b/asm/JSystem/JMessage/resource/setEncoding__Q28JMessage18TResourceContainerFUc.s deleted file mode 100644 index a9eeb8783a..0000000000 --- a/asm/JSystem/JMessage/resource/setEncoding__Q28JMessage18TResourceContainerFUc.s +++ /dev/null @@ -1,17 +0,0 @@ -lbl_802A90B8: -/* 802A90B8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802A90BC 7C 08 02 A6 */ mflr r0 -/* 802A90C0 90 01 00 14 */ stw r0, 0x14(r1) -/* 802A90C4 54 80 06 3F */ clrlwi. r0, r4, 0x18 -/* 802A90C8 40 82 00 14 */ bne lbl_802A90DC -/* 802A90CC 98 83 00 00 */ stb r4, 0(r3) -/* 802A90D0 38 00 00 00 */ li r0, 0 -/* 802A90D4 90 03 00 04 */ stw r0, 4(r3) -/* 802A90D8 48 00 00 08 */ b lbl_802A90E0 -lbl_802A90DC: -/* 802A90DC 48 00 00 15 */ bl setEncoding___Q28JMessage18TResourceContainerFUc -lbl_802A90E0: -/* 802A90E0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802A90E4 7C 08 03 A6 */ mtlr r0 -/* 802A90E8 38 21 00 10 */ addi r1, r1, 0x10 -/* 802A90EC 4E 80 00 20 */ blr diff --git a/asm/JSystem/JMessage/resource/setEncoding___Q28JMessage18TResourceContainerFUc.s b/asm/JSystem/JMessage/resource/setEncoding___Q28JMessage18TResourceContainerFUc.s deleted file mode 100644 index fbad194630..0000000000 --- a/asm/JSystem/JMessage/resource/setEncoding___Q28JMessage18TResourceContainerFUc.s +++ /dev/null @@ -1,18 +0,0 @@ -lbl_802A90F0: -/* 802A90F0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802A90F4 98 83 00 00 */ stb r4, 0(r3) -/* 802A90F8 38 00 00 00 */ li r0, 0 -/* 802A90FC 90 01 00 08 */ stw r0, 8(r1) -/* 802A9100 54 80 06 3E */ clrlwi r0, r4, 0x18 -/* 802A9104 28 00 00 05 */ cmplwi r0, 5 -/* 802A9108 54 85 15 BA */ rlwinm r5, r4, 2, 0x16, 0x1d -/* 802A910C 3C 80 80 3D */ lis r4, sapfnParseCharacter___Q28JMessage18TResourceContainer@ha /* 0x803C9C80@ha */ -/* 802A9110 38 04 9C 80 */ addi r0, r4, sapfnParseCharacter___Q28JMessage18TResourceContainer@l /* 0x803C9C80@l */ -/* 802A9114 7C 80 2A 14 */ add r4, r0, r5 -/* 802A9118 41 80 00 08 */ blt lbl_802A9120 -/* 802A911C 38 81 00 08 */ addi r4, r1, 8 -lbl_802A9120: -/* 802A9120 80 04 00 00 */ lwz r0, 0(r4) -/* 802A9124 90 03 00 04 */ stw r0, 4(r3) -/* 802A9128 38 21 00 10 */ addi r1, r1, 0x10 -/* 802A912C 4E 80 00 20 */ blr diff --git a/include/JSystem/JGadget/binary.h b/include/JSystem/JGadget/binary.h index ebb0f87299..59a3604282 100644 --- a/include/JSystem/JGadget/binary.h +++ b/include/JSystem/JGadget/binary.h @@ -30,10 +30,10 @@ template struct TParseData_aligned : public TParseData { TParseData_aligned(const void* pContent) : TParseData(pContent) {} void setRaw(const void* p) { - if ((u32)p % T != 0) { + /* if ((u32)p % T != 0) { JUTWarn w; w << "misaligned : " << (u32)p; - } + } */ static_cast(this)->setRaw(p); } }; @@ -52,6 +52,29 @@ struct TParse_header_block { } }; +template +struct TParseValue_raw_ { + static T parse(const void* data) { return *(T*)data; } +}; + +template +struct TParseValue_endian_big_ : public TParseValue_raw_ { + static T parse(const void* data) { return TParseValue_raw_::parse(data); } +}; + +template class Parser> +struct TParseValue : public Parser { + static T parse(const void* data) { return Parser::parse(data); } + + static T parse(const void* data, s32 advanceNum) { + return Parser::parse(advance(data, advanceNum)); + } + + static const void* advance(const void* data, s32 advanceNum) { + return (char*)data + (advanceNum * sizeof(T)); + } +}; + } // namespace binary } // namespace JGadget diff --git a/include/JSystem/JGadget/linklist.h b/include/JSystem/JGadget/linklist.h index d8be365b23..09ae30d0d8 100644 --- a/include/JSystem/JGadget/linklist.h +++ b/include/JSystem/JGadget/linklist.h @@ -22,7 +22,15 @@ struct TNodeLinkList { TLinkListNode* node; }; + struct const_iterator { + const_iterator(TLinkListNode* pNode) { node = pNode; } + const_iterator(const const_iterator& iter) { *this = iter; } + + TLinkListNode* node; + }; + TNodeLinkList() : ocObject_() { Initialize_(); } + void Initialize_() { count = 0; ocObject_.mNext = &ocObject_; @@ -34,6 +42,11 @@ struct TNodeLinkList { return iter; } + iterator begin() { + iterator iter(ocObject_.mNext); + return iter; + } + /* 802DCA1C */ ~TNodeLinkList(); /* 802DCAA0 */ iterator erase(JGadget::TNodeLinkList::iterator, JGadget::TNodeLinkList::iterator); /* 802DCA58 */ iterator erase(JGadget::TNodeLinkList::iterator); @@ -73,12 +86,34 @@ struct TLinkList : public TNodeLinkList { return iter; } + TLinkList::iterator begin() { + TNodeLinkList::iterator node_iter = TNodeLinkList::begin(); + TLinkList::iterator iter(node_iter); + return iter; + } + void Push_back(T* element) { TLinkList::iterator iter(TLinkList::end()); this->Insert(iter, element); } }; +template +struct TLinkList_factory : public TLinkList { + virtual ~TLinkList_factory() {} + virtual T* Do_create() = 0; + virtual void Do_destroy(T*) = 0; +}; + +template +struct TEnumerator { + TLinkList field_0x0; + TLinkList field_0x4; +}; + +template +struct TContainerEnumerator_const : public TEnumerator {}; + }; // namespace JGadget #endif /* LINKLIST_H */ diff --git a/include/JSystem/JMessage/control.h b/include/JSystem/JMessage/control.h index 58465c7317..9d39894b50 100644 --- a/include/JSystem/JMessage/control.h +++ b/include/JSystem/JMessage/control.h @@ -1,9 +1,9 @@ #ifndef JMESSAGE_CONTROL_H #define JMESSAGE_CONTROL_H -#include "dolphin/types.h" #include "JSystem/JMessage/processor.h" #include "JSystem/JMessage/resource.h" +#include "dolphin/types.h" namespace JMessage { struct TControl { @@ -11,21 +11,45 @@ struct TControl { /* 802A758C */ virtual ~TControl(); /* 802A75D4 */ void reset(); - /* 802A7634 */ void update(); + /* 802A7634 */ int update(); /* 802A76BC */ void render(); - /* 802A77E8 */ void setMessageCode(u16, u16); - /* 802A78F4 */ void setMessageID(u32, u32, bool*); - /* 802A7A20 */ void setMessageCode_inSequence_(JMessage::TProcessor const*, u16, u16); + /* 802A77E8 */ int setMessageCode(u16, u16); + /* 802A78F4 */ int setMessageID(u32, u32, bool*); + /* 802A7A20 */ bool setMessageCode_inSequence_(JMessage::TProcessor const*, u16, u16); + + bool isReady_update_() const { return pMessageText_begin_ != 0 && pSequenceProcessor_ != NULL; } + bool isReady_render_() const { return field_0x20 != 0 && pRenderingProcessor_ != NULL; } + + TProcessor* getProcessor() const { + return pSequenceProcessor_ != NULL ? (TProcessor*)pSequenceProcessor_ : + (TProcessor*)pRenderingProcessor_; + } + + int setMessageCode_inReset_(TProcessor* pProcessor, u16 param_1, u16 param_2) { + if (!setMessageCode_inSequence_(pProcessor, param_1, param_2)) { + return 0; + } + + if (isReady_update_()) { + pSequenceProcessor_->setBegin_messageEntryText(pResourceCache_, pEntry_, + pMessageText_begin_); + } + + return 1; + } + + const char* getMessageText_begin() const { return pMessageText_begin_; } + void* getMessageEntry() const { return pEntry_; } /* 0x04 */ TSequenceProcessor* pSequenceProcessor_; /* 0x08 */ TRenderingProcessor* pRenderingProcessor_; /* 0x0C */ u16 messageCode_; /* 0x0E */ u16 field_0xe; - /* 0x10 */ TResource* pResourceCache_; + /* 0x10 */ const TResource* pResourceCache_; /* 0x14 */ void* pEntry_; - /* 0x18 */ u32 pMessageText_begin_; - /* 0x1C */ char* pszText_update_current_; - /* 0x20 */ u32 field_0x20; + /* 0x18 */ const char* pMessageText_begin_; + /* 0x1C */ const char* pszText_update_current_; + /* 0x20 */ const char* field_0x20; /* 0x24 */ TProcessor::TStack_ oStack_renderingProcessor_; }; }; // namespace JMessage diff --git a/include/JSystem/JMessage/data.h b/include/JSystem/JMessage/data.h index 57d65a2c6d..1b47416883 100644 --- a/include/JSystem/JMessage/data.h +++ b/include/JSystem/JMessage/data.h @@ -1,11 +1,54 @@ #ifndef JMESSAGE_DATA_H #define JMESSAGE_DATA_H -#include "dolphin/types.h" +#include "JSystem/JGadget/binary.h" namespace JMessage { struct data { - static f32 ga4cSignature[1 + 1 /* padding */]; + struct TParse_THeader : public JGadget::binary::TParseData_aligned<4> { + TParse_THeader(const void* data) : TParseData_aligned(data) {} + + const void* getContent() const { return (char*)getRaw() + 0x20; } + char* get() const { return (char*)getRaw(); } + + u32* get_signature() const { return (u32*)(get() + 0x0); } + u32 get_type() const { return *(u32*)(get() + 0x4); } + u32 get_blockNumber() const { return *(u32*)(get() + 0xC); } + u8 get_encoding() const { return *(u8*)(get() + 0x10); } + }; + + struct TParse_TBlock : public JGadget::binary::TParseData_aligned<4> { + TParse_TBlock(const void* data) : TParseData_aligned(data) {} + }; + + struct TParse_TBlock_info : public TParse_TBlock { + TParse_TBlock_info(const void* data) : TParse_TBlock(data) {} + + char* get() const { return (char*)getRaw(); } + + char* getContent() const { return (char*)getRaw() + 0x10; } + + u16 get_messageEntrySize() const { return *(u16*)(get() + 0xA); } + + u16 get_messageEntryNumber() const { return *(u16*)(get() + 0x8); } + + u16 get_groupID() const { return *(u16*)(get() + 0xC); } + }; + + struct TParse_TBlock_messageID : public TParse_TBlock { + TParse_TBlock_messageID(const void* data) : TParse_TBlock(data) {} + }; + + struct TParse_TBlock_color : public TParse_TBlock { + TParse_TBlock_color(const void* data) : TParse_TBlock(data) {} + }; + + static u16 getTagCode(u32 tag) { return tag & 0xFFFF; } + static u8 getTagGroup(u32 tag) { return (tag >> 0x10) & 0xFF; } + + static u32 ga4cSignature; + + static const int gcTagBegin = '\x1A'; }; }; // namespace JMessage diff --git a/include/JSystem/JMessage/locale.h b/include/JSystem/JMessage/locale.h index 984b2a3f52..6e355a1dbd 100644 --- a/include/JSystem/JMessage/locale.h +++ b/include/JSystem/JMessage/locale.h @@ -5,10 +5,16 @@ namespace JMessage { struct locale { - /* 802A9490 */ void parseCharacter_1Byte(char const**); - /* 802A94A8 */ void parseCharacter_2Byte(char const**); - /* 802A9528 */ void parseCharacter_ShiftJIS(char const**); - /* 802A958C */ void parseCharacter_UTF8(char const**); + typedef int (*parseCharacter_function)(const char**); + + static bool isLeadByte_ShiftJIS(int c) { + return c >= 0x81 && (c <= 0x9F || (c >= 0xE0 && c <= 0xFC)); + } + + /* 802A9490 */ static int parseCharacter_1Byte(char const**); + /* 802A94A8 */ static int parseCharacter_2Byte(char const**); + /* 802A9528 */ static int parseCharacter_ShiftJIS(char const**); + /* 802A958C */ static int parseCharacter_UTF8(char const**); }; }; // namespace JMessage diff --git a/include/JSystem/JMessage/processor.h b/include/JSystem/JMessage/processor.h index c436032734..5ca3f9c77a 100644 --- a/include/JSystem/JMessage/processor.h +++ b/include/JSystem/JMessage/processor.h @@ -1,9 +1,10 @@ #ifndef JMESSAGE_PROCESSOR_H #define JMESSAGE_PROCESSOR_H -#include "SSystem/SComponent/c_xyz.h" -#include "dolphin/types.h" +#include "JSystem/JMessage/resource.h" #include "JSystem/JUtility/JUTFont.h" +#include "SSystem/SComponent/c_xyz.h" +#include "init.h" namespace JMessage { struct TResource; @@ -11,23 +12,62 @@ struct TResourceContainer; struct TReference { /* 802A7AF8 */ virtual ~TReference(); - /* 802A7B40 */ virtual bool do_word(u32) const; + /* 802A7B40 */ virtual const char* do_word(u32) const; - TResourceContainer* pcResource_; + int on_parseCharacter(const char** string) const { return pcResource_->parseCharacter(string); } + const char* on_word(u32 param_0) const { return do_word(param_0); } + + TResource* getResource_groupID(u16 groupID) const { + if (pcResource_ == NULL) { + return NULL; + } + + return pcResource_->getResource_groupID(groupID); + } + + /* 0x4 */ TResourceContainer* pcResource_; }; struct TProcessor { + TProcessor(const TReference* reference) + : pReference_(reference), pResourceCache_(NULL), pszCurrent_(NULL) {} + + typedef bool (*pfnProcess_func)(TProcessor*); + struct TStack_ { - /* 0x0 */ int upsz_; // size + TStack_() { clear(); } + + bool empty() const { return upsz_ == 0; } + bool IsPushable() const { return size() < max_size(); } + + void clear() { upsz_ = 0; } + u32 max_size() const { return 4; } + u32 size() const { return upsz_; } + + const char* top() const { return stack[upsz_ - 1]; } + + void push(const char* string) { + stack[upsz_] = string; + upsz_++; + } + + void pop() { upsz_--; } + + /* 0x0 */ u32 upsz_; // stack size /* 0x4 */ const char* stack[4]; }; // Size: 0x14 struct TProcess_ { - /* 0x0 */ void* pfnProcess_CharacterEnd; + TProcess_() { reset_normal(); } + + void reset_normal() { pfnProcess_CharacterEnd = process_onCharacterEnd_normal_; } + void reset_select() { pfnProcess_CharacterEnd = process_onCharacterEnd_select_; } + + /* 0x0 */ pfnProcess_func pfnProcess_CharacterEnd; struct { - /* 0x0 */ void* pfn; - /* 0x4 */ u32 pcBase; - /* 0x8 */ u32 pOffset; + /* 0x0 */ const char* (*pfn)(TProcessor*); + /* 0x4 */ const char* pcBase; + /* 0x8 */ const void* pOffset; /* 0xC */ u32 uRest; } /* 0x4 */ rData; @@ -36,21 +76,21 @@ struct TProcessor { /* 802A7B90 */ void reset(); /* 802A7BF8 */ void stack_pushCurrent(char const*); /* 802A7C30 */ void stack_popCurrent(); - /* 802A7C54 */ void getResource_groupID(u16) const; - /* 802A7CD4 */ void toMessageCode_messageID(u32, u32, bool*) const; + /* 802A7C54 */ const TResource* getResource_groupID(u16) const; + /* 802A7CD4 */ u32 toMessageCode_messageID(u32, u32, bool*) const; /* 802A7E38 */ void on_select_begin(char const* (*)(JMessage::TProcessor*), void const*, char const*, u32); /* 802A7EDC */ void on_select_end(); /* 802A7F34 */ void on_select_separate(); /* 802A7FE4 */ void on_tag_(); - /* 802A8090 */ void do_tag_(u32, void const*, u32); - /* 802A81EC */ void process_character_(); - /* 802A828C */ void process_onCharacterEnd_normal_(JMessage::TProcessor*); - /* 802A82F4 */ void process_onCharacterEnd_select_(JMessage::TProcessor*); - /* 802A833C */ void process_onSelect_limited_(JMessage::TProcessor*); - /* 802A8358 */ void process_onSelect_(JMessage::TProcessor*); - /* 802A8C24 */ void on_message(u32) const; - /* 802A8C44 */ void getMessageText_messageCode(u32) const; + /* 802A8090 */ // void do_tag_(u32, void const*, u32); + /* 802A81EC */ bool process_character_(); + /* 802A828C */ static bool process_onCharacterEnd_normal_(JMessage::TProcessor*); + /* 802A82F4 */ static bool process_onCharacterEnd_select_(JMessage::TProcessor*); + /* 802A833C */ static const char* process_onSelect_limited_(JMessage::TProcessor*); + /* 802A8358 */ static const char* process_onSelect_(JMessage::TProcessor*); + /* 802A8C24 */ const char* on_message(u32) const; + /* 802A8C44 */ const char* getMessageText_messageCode(u32) const; /* 802A7B48 */ virtual ~TProcessor(); /* 802A7FC0 */ virtual void do_reset(); @@ -63,9 +103,97 @@ struct TProcessor { /* 802A7FE0 */ virtual void do_select_separate(); /* 802A8084 */ virtual void do_resetStatus_(char const*); /* 802A8088 */ virtual bool do_setBegin_isReady_() const; + virtual void do_begin_(void const*, char const*) = 0; + virtual void do_end_() = 0; + virtual void do_tag_(u32, void const*, u32) = 0; - /* 0x04 */ TReference* pReference_; - /* 0x08 */ TResource* pResourceCache_; + void on_resetStatus_(const char* param_0) { + pszCurrent_ = param_0; + oStack_.clear(); + oProcess_.reset_normal(); + do_resetStatus_(param_0); + } + + void on_begin(const void* entry, const char* param_1) { + do_begin_(entry, param_1); + do_begin(entry, param_1); + } + + void on_end() { + do_end_(); + do_end(); + } + + void on_tag(u32 param_0, const void* param_1, u32 param_2) { + if (!do_tag(param_0, param_1, param_2)) { + do_tag_(param_0, param_1, param_2); + } + } + + const char* on_word(u32 param_0) const { return pReference_->on_word(param_0); } + + int on_parseCharacter(const char** string) const { + return pReference_->on_parseCharacter(string); + } + void on_character(int character) { do_character(character); } + + const char* on_message_limited(u16 messageIndex) const { + return pResourceCache_->getMessageText_messageIndex(messageIndex); + } + + int setBegin_messageEntryText(const TResource* resource, const void* entry, + const char* param_2) { + pResourceCache_ = resource; + on_resetStatus_(param_2); + on_begin(entry, param_2); + return 1; + } + + void* getMessageEntry_messageCode(u16 messageCode, u16 messageIndex) const { + const TResource* pResource = getResource_groupID(messageCode); + + if (pResource == NULL) { + return NULL; + } + + return pResource->getMessageEntry_messageIndex(messageIndex); + } + + const char* getMessageText_messageCode(u16 messageCode, u16 messageIndex) const { + void* pEntry = getMessageEntry_messageCode(messageCode, messageIndex); + + if (pEntry == NULL) { + return NULL; + } + + return pResourceCache_->getMessageText_messageEntry(pEntry); + } + + void stack_pushCurrent_(const char* string) { + oStack_.push(getCurrent()); + pszCurrent_ = string; + } + + void stack_popCurrent_() { + pszCurrent_ = oStack_.top(); + oStack_.pop(); + } + + bool stack_isPushable() const { return oStack_.IsPushable(); } + + const TResource* getResourceCache() const { return pResourceCache_; } + const char* getCurrent() const { return pszCurrent_; } + + const TResource* getResource_groupID_uncached(u16 groupID) const { + return pReference_->getResource_groupID(groupID); + } + + bool isResourceCache_groupID(u16 groupID) const { + return pResourceCache_ != NULL && groupID == pResourceCache_->getGroupID(); + } + + /* 0x04 */ const TReference* pReference_; + /* 0x08 */ const TResource* pResourceCache_; /* 0x0C */ const char* pszCurrent_; /* 0x10 */ TStack_ oStack_; /* 0x24 */ TProcess_ oProcess_; @@ -74,33 +202,59 @@ struct TProcessor { struct TControl; struct TSequenceProcessor : public TProcessor { + typedef const void* (*branchPfn)(const TSequenceProcessor*, u32); + typedef const void* (*jumpPfn)(const TSequenceProcessor*); + + struct TProcess_ { + TProcess_() { reset(); } + + void reset() {} + + union { + struct { + /* 0x0 */ branchPfn branchFn; + /* 0x4 */ const void* pTarget; + /* 0x8 */ u32 uTarget; + } branch_process; + struct { + /* 0x0 */ jumpPfn jumpFn; + /* 0x4 */ u32 u32Target; + } jump_process; + } + /* 0x0 */ process; + }; + enum SeqStatus { - STATUS_NORMAL = 2, + STATUS_READY, + STATUS_ONE, + STATUS_NORMAL, STATUS_JUMP, STATUS_BRANCH, }; /* 802A8374 */ TSequenceProcessor(JMessage::TReference const*, JMessage::TControl*); - /* 802A8418 */ void process(char const*); - /* 802A85A4 */ void on_isReady(); + /* 802A8418 */ const char* process(char const*); + /* 802A85A4 */ bool on_isReady(); /* 802A85D0 */ void on_jump_register(void const* (*)(JMessage::TSequenceProcessor const*), u32); - /* 802A85E4 */ void on_jump_isReady(); + /* 802A85E4 */ bool on_jump_isReady(); /* 802A8610 */ void on_jump(void const*, char const*); /* 802A8690 */ void on_branch_register(void const* (*)(JMessage::TSequenceProcessor const*, u32), void const*, u32); /* 802A86A0 */ void on_branch_query(u32); - /* 802A86D4 */ void on_branch_queryResult(); + /* 802A86D4 */ u32 on_branch_queryResult(); /* 802A8700 */ void on_branch(void const*, char const*); - /* 802A892C */ void process_setMessageIndex_reserved_(u16); - /* 802A8944 */ void process_setMessageCode_(JMessage::TSequenceProcessor const*, u16, u16); - /* 802A89B8 */ void process_onJump_limited_(JMessage::TSequenceProcessor const*); - /* 802A89EC */ void process_onJump_(JMessage::TSequenceProcessor const*); - /* 802A8A18 */ void process_onBranch_limited_(JMessage::TSequenceProcessor const*, u32); - /* 802A8A50 */ void process_onBranch_(JMessage::TSequenceProcessor const*, u32); + /* 802A892C */ static void process_setMessageIndex_reserved_(u16); + /* 802A8944 */ static void* process_setMessageCode_(JMessage::TSequenceProcessor const*, u16, + u16); + /* 802A89B8 */ static const void* process_onJump_limited_(JMessage::TSequenceProcessor const*); + /* 802A89EC */ static const void* process_onJump_(JMessage::TSequenceProcessor const*); + /* 802A8A18 */ static const void* process_onBranch_limited_(JMessage::TSequenceProcessor const*, + u32); + /* 802A8A50 */ static const void* process_onBranch_(JMessage::TSequenceProcessor const*, u32); /* 802A83B8 */ virtual ~TSequenceProcessor(); /* 802A87A4 */ virtual void do_resetStatus_(char const*); - /* 802A87C0 */ virtual void do_setBegin_isReady_() const; + /* 802A87C0 */ virtual bool do_setBegin_isReady_() const; /* 802A87D0 */ virtual void do_begin_(void const*, char const*); /* 802A87D4 */ virtual void do_end_(); /* 802A87E0 */ virtual void do_tag_(u32, void const*, u32); @@ -111,6 +265,16 @@ struct TSequenceProcessor : public TProcessor { /* 802A8798 */ virtual s32 do_branch_queryResult(); /* 802A87A0 */ virtual void do_branch(void const*, char const*); + TControl* getControl() const { return pControl_; } + + static const void* process_setMessageIndex_(const TSequenceProcessor* pProcessor, u16 param_1) { + return process_setMessageCode_(pProcessor, pProcessor->getResourceCache()->getGroupID(), param_1); + } + + static const void* process_setMessageCode_(const TSequenceProcessor* pProcessor, u32 param_1) { + return process_setMessageCode_(pProcessor, param_1 >> 0x10, param_1 & 0xFFFF); + } + /* 0x38 */ TControl* pControl_; /* 0x3C */ SeqStatus eStatus_; /* 0x40 */ TProcess_ oProcess2_; @@ -118,7 +282,7 @@ struct TSequenceProcessor : public TProcessor { struct TRenderingProcessor : public TProcessor { /* 802A8A84 */ TRenderingProcessor(JMessage::TReference const*); - /* 802A8B20 */ void process(char const*); + /* 802A8B20 */ int process(char const*); /* 802A8AC0 */ virtual ~TRenderingProcessor(); /* 802A8BA4 */ virtual void do_begin_(void const*, char const*); @@ -159,9 +323,7 @@ struct jmessage_tReference : public JMessage::TReference { /* 802299AC */ void decideOutFontRupeeColor(int); /* 80232A20 */ void getActorPos(); - /* 80238C78 */ void setActorPos(cXyz pos) { - mActorPos = pos; - } + /* 80238C78 */ void setActorPos(cXyz pos) { mActorPos = pos; } /* 80228CB4 */ virtual ~jmessage_tReference(); @@ -263,8 +425,8 @@ struct jmessage_tSequenceProcessor : public JMessage::TSequenceProcessor { /* 8022B658 */ virtual void do_begin(void const*, char const*); /* 8022BA3C */ virtual void do_end(); /* 8022BFE0 */ virtual void do_character(int); - /* 8022C1A0 */ virtual void do_tag(u32, void const*, u32); - /* 8022BB7C */ virtual void do_isReady(); + /* 8022C1A0 */ virtual bool do_tag(u32, void const*, u32); + /* 8022BB7C */ virtual bool do_isReady(); /* 8022C8FC */ virtual bool do_jump_isReady(); /* 8022CBE4 */ virtual void do_jump(void const*, char const*); }; diff --git a/include/JSystem/JMessage/resource.h b/include/JSystem/JMessage/resource.h index 487f2d26df..a2ebe79f38 100644 --- a/include/JSystem/JMessage/resource.h +++ b/include/JSystem/JMessage/resource.h @@ -1,36 +1,105 @@ #ifndef JMESSAGE_RESOURCE_H #define JMESSAGE_RESOURCE_H -#include "dolphin/types.h" #include "JSystem/JGadget/linklist.h" +#include "JSystem/JMessage/data.h" +#include "JSystem/JMessage/locale.h" #include "JSystem/JStudio/JStudio/fvb-data.h" namespace JMessage { struct TResource : public JGadget::TLinkListNode { + TResource() + : field_0x8(NULL), field_0xc(NULL), field_0x10(NULL), field_0x14(0), field_0x18(NULL) {} + /* 802A8CDC */ void toMessageIndex_messageID(u32, u32, bool*) const; + + bool isContained_messageIndex(u16 messageIndex) const { + return messageIndex < getMessageEntryNumber(); + } + + u16 getMessageEntrySize() const { return field_0xc.get_messageEntrySize(); } + u16 getMessageEntryNumber() const { return field_0xc.get_messageEntryNumber(); } + + u16 getGroupID() const { return field_0xc.get_groupID(); } + + void* getMessageEntry_messageIndex(u16 messageIndex) const { + if (!isContained_messageIndex(messageIndex)) { + return NULL; + } + + return field_0xc.getContent() + (messageIndex * getMessageEntrySize()); + } + + char* getMessageText_messageEntry(const void* pEntry) const { + return field_0x10 + *(int*)pEntry; + } + + const char* getMessageText_messageIndex(u16 messageIndex) const { + void* pEntry = getMessageEntry_messageIndex(messageIndex); + if (pEntry == NULL) { + return NULL; + } + + return getMessageText_messageEntry(pEntry); + } + + void setData_header(const void* pData) { + field_0x8.setRaw(pData); + } + + /* 0x08 */ data::TParse_THeader field_0x8; + /* 0x0C */ data::TParse_TBlock_info field_0xc; + /* 0x10 */ char* field_0x10; + /* 0x14 */ int field_0x14; + /* 0x18 */ data::TParse_TBlock_messageID field_0x18; }; +struct TResource_color { + TResource_color() : field_0x0(NULL), field_0x4(NULL) {} + + /* 0x0 */ data::TParse_THeader field_0x0; + /* 0x4 */ data::TParse_TBlock_color field_0x4; +}; // Size: 0x8 + struct TResourceContainer { - struct TCResource { + struct TCResource : public JGadget::TLinkList_factory { /* 802A8EC0 */ TCResource(); - /* 802A8EF8 */ ~TCResource(); - /* 802A8F6C */ void Get_groupID(u16); - /* 802A8FFC */ void Do_create(); - /* 802A9048 */ void Do_destroy(JMessage::TResource*); + /* 802A8F6C */ TResource* Get_groupID(u16); + + /* 802A8EF8 */ virtual ~TCResource(); + /* 802A8FFC */ virtual JMessage::TResource* Do_create(); + /* 802A9048 */ virtual void Do_destroy(JMessage::TResource*); + + // u8 field_0x0[0x10]; }; /* 802A906C */ TResourceContainer(); /* 802A90B8 */ void setEncoding(u8); /* 802A90F0 */ void setEncoding_(u8); - static void* sapfnParseCharacter_[5]; + int parseCharacter(const char** string) const { return pfnParseCharacter_(string); } + TResource* getResource_groupID(u16 groupID) { return resContainer_.Get_groupID(groupID); } + TResource* getResource_groupID(u16 groupID) const { return getResource_groupID(groupID); } + + bool isEncodingSettable(u8 e) const { return mEncodingType == e || e == 0; } + + static JMessage::locale::parseCharacter_function sapfnParseCharacter_[5]; + + /* 0x00 */ u8 mEncodingType; + /* 0x04 */ int (*pfnParseCharacter_)(const char** string) const; + /* 0x08 */ TCResource resContainer_; + /* 0x18 */ TResource_color resColor_; }; -struct TParse { +struct TParse : public JGadget::binary::TParse_header_block { /* 802A9130 */ TParse(JMessage::TResourceContainer*); - /* 802A9158 */ ~TParse(); - /* 802A91B8 */ void parseHeader_next(void const**, u32*, u32); - /* 802A92F4 */ void parseBlock_next(void const**, u32*, u32); + + /* 802A9158 */ virtual ~TParse(); + /* 802A91B8 */ virtual bool parseHeader_next(void const**, u32*, u32); + /* 802A92F4 */ virtual bool parseBlock_next(void const**, u32*, u32); + + /* 0x4 */ TResourceContainer* pContainer_; + /* 0x8 */ TResource* pResource_; }; }; // namespace JMessage diff --git a/include/init.h b/include/init.h index 43827476d9..b0937bf24b 100644 --- a/include/init.h +++ b/include/init.h @@ -4,4 +4,14 @@ #include "MSL_C/MSL_Common/Src/string.h" #include "dolphin/types.h" +#ifdef __cplusplus +extern "C" { +#endif + +__declspec(section ".init") void* TRK_memset(void* dst, int val, size_t n); + +#ifdef __cplusplus +} +#endif + #endif /* INIT_H */ diff --git a/libs/JSystem/JKernel/JKRHeap.cpp b/libs/JSystem/JKernel/JKRHeap.cpp index 1087bc1eda..71455819d9 100644 --- a/libs/JSystem/JKernel/JKRHeap.cpp +++ b/libs/JSystem/JKernel/JKRHeap.cpp @@ -394,22 +394,20 @@ JKRHeap* JKRHeap::findFromRoot(void* ptr) { } /* 802CE894-802CE93C 2C91D4 00A8+00 1/1 1/1 0/0 .text find__7JKRHeapCFPv */ -JKRHeap* JKRHeap::find(void* ptr) const { - if (getStartAddr() <= ptr && ptr < getEndAddr()) { - const JSUTree& tree = mChildTree; - if (tree.getNumChildren() != 0) { - JSUTreeIterator iterator; - for (iterator = tree.getFirstChild(); iterator != tree.getEndChild(); iterator++) { - JKRHeap* child = iterator.getObject(); - JKRHeap* result = child->find(ptr); +JKRHeap* JKRHeap::find(void* memory) const { + if (mStart <= memory && memory < mEnd) { + if (mChildTree.getNumChildren() != 0) { + for (JSUTreeIterator iterator(mChildTree.getFirstChild()); + iterator != mChildTree.getEndChild(); ++iterator) + { + JKRHeap* result = iterator->find(memory); if (result) { return result; } } } - // todo: not sure about this... casting away const for now. - return (JKRHeap*)this; + return const_cast(this); } return NULL; @@ -444,7 +442,8 @@ void JKRHeap::dispose_subroutine(u32 begin, u32 end) { JSUListIterator next_iterator; JSUListIterator iterator; for (iterator = mDisposerList.getFirst(); iterator != mDisposerList.getEnd(); - iterator = next_iterator) { + iterator = next_iterator) + { JKRDisposer* disposer = iterator.getObject(); if ((void*)begin <= disposer && disposer < (void*)end) { diff --git a/libs/JSystem/JMessage/control.cpp b/libs/JSystem/JMessage/control.cpp index c632e78327..0d99bcc2fe 100644 --- a/libs/JSystem/JMessage/control.cpp +++ b/libs/JSystem/JMessage/control.cpp @@ -1,25 +1,10 @@ -// -// Generated By: dol2asm -// Translation Unit: control -// +/** + * JMessage/control.cpp + * JMessage Controller + */ #include "JSystem/JMessage/control.h" #include "JSystem/JMessage/processor.h" -#include "dol2asm.h" -#include "dolphin/types.h" - -// -// Forward References: -// - -extern "C" void __ct__Q28JMessage8TControlFv(); -extern "C" void __dt__Q28JMessage8TControlFv(); -extern "C" void reset__Q28JMessage8TControlFv(); -extern "C" void update__Q28JMessage8TControlFv(); -extern "C" void render__Q28JMessage8TControlFv(); -extern "C" void setMessageCode__Q28JMessage8TControlFUsUs(); -extern "C" void setMessageID__Q28JMessage8TControlFUlUlPb(); -extern "C" void setMessageCode_inSequence___Q28JMessage8TControlFPCQ28JMessage10TProcessorUsUs(); // // External References: @@ -39,57 +24,58 @@ extern "C" void _restgpr_28(); // Declarations: // -/* ############################################################################################## */ -/* 803C9B60-803C9B70 026C80 000C+04 2/2 0/0 0/0 .data __vt__Q28JMessage8TControl */ -SECTION_DATA extern void* __vt__Q28JMessage8TControl[3 + 1 /* padding */] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__Q28JMessage8TControlFv, - /* padding */ - NULL, -}; - /* 802A7548-802A758C 2A1E88 0044+00 0/0 2/2 0/0 .text __ct__Q28JMessage8TControlFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm JMessage::TControl::TControl() { - nofralloc -#include "asm/JSystem/JMessage/control/__ct__Q28JMessage8TControlFv.s" -} -#pragma pop +JMessage::TControl::TControl() + : pSequenceProcessor_(NULL), pRenderingProcessor_(NULL), messageCode_(0xFFFF), + field_0xe(0xFFFF), pResourceCache_(NULL), pEntry_(NULL), pMessageText_begin_(0), + pszText_update_current_(NULL), field_0x20(0) {} /* 802A758C-802A75D4 2A1ECC 0048+00 1/0 2/2 0/0 .text __dt__Q28JMessage8TControlFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm JMessage::TControl::~TControl() { - nofralloc -#include "asm/JSystem/JMessage/control/__dt__Q28JMessage8TControlFv.s" -} -#pragma pop +JMessage::TControl::~TControl() {} /* 802A75D4-802A7634 2A1F14 0060+00 0/0 9/9 0/0 .text reset__Q28JMessage8TControlFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JMessage::TControl::reset() { - nofralloc -#include "asm/JSystem/JMessage/control/reset__Q28JMessage8TControlFv.s" +void JMessage::TControl::reset() { + pEntry_ = NULL; + pMessageText_begin_ = 0; + pszText_update_current_ = NULL; + field_0x20 = 0; + oStack_renderingProcessor_.clear(); + + if (pSequenceProcessor_ != NULL) { + pSequenceProcessor_->reset(); + } + + if (pRenderingProcessor_ != NULL) { + pRenderingProcessor_->reset(); + } } -#pragma pop /* 802A7634-802A76BC 2A1F74 0088+00 0/0 4/4 0/0 .text update__Q28JMessage8TControlFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JMessage::TControl::update() { - nofralloc -#include "asm/JSystem/JMessage/control/update__Q28JMessage8TControlFv.s" +int JMessage::TControl::update() { + if (!isReady_update_()) { + return 0; + } + + pszText_update_current_ = pSequenceProcessor_->process(NULL); + + if (pszText_update_current_ == NULL) { + pMessageText_begin_ = 0; + return 0; + } + + return 1; } -#pragma pop /* 802A76BC-802A77E8 2A1FFC 012C+00 0/0 5/5 0/0 .text render__Q28JMessage8TControlFv */ +#ifdef NONMATCHING +void JMessage::TControl::render() { + if (isReady_render_()) { + pRenderingProcessor_->setBegin_messageEntryText(pResourceCache_, pEntry_, field_0x20); + pRenderingProcessor_->oStack_ = oStack_renderingProcessor_; + pRenderingProcessor_->process(pszText_update_current_); + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -98,35 +84,40 @@ asm void JMessage::TControl::render() { #include "asm/JSystem/JMessage/control/render__Q28JMessage8TControlFv.s" } #pragma pop +#endif /* 802A77E8-802A78F4 2A2128 010C+00 0/0 1/1 0/0 .text setMessageCode__Q28JMessage8TControlFUsUs */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JMessage::TControl::setMessageCode(u16 param_0, u16 param_1) { - nofralloc -#include "asm/JSystem/JMessage/control/setMessageCode__Q28JMessage8TControlFUsUs.s" +int JMessage::TControl::setMessageCode(u16 param_0, u16 param_1) { + return setMessageCode_inReset_(getProcessor(), param_0, param_1); } -#pragma pop /* 802A78F4-802A7A20 2A2234 012C+00 0/0 6/6 0/0 .text setMessageID__Q28JMessage8TControlFUlUlPb */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JMessage::TControl::setMessageID(u32 param_0, u32 param_1, bool* param_2) { - nofralloc -#include "asm/JSystem/JMessage/control/setMessageID__Q28JMessage8TControlFUlUlPb.s" +int JMessage::TControl::setMessageID(u32 param_0, u32 param_1, bool* param_2) { + TProcessor* pProcessor = getProcessor(); + + u32 code = pProcessor->toMessageCode_messageID(param_0, param_1, param_2); + if (code == -1) { + return 0; + } + + return setMessageCode_inReset_(pProcessor, code >> 0x10, code & 0xFFFF); } -#pragma pop /* 802A7A20-802A7AF8 2A2360 00D8+00 2/2 1/1 0/0 .text * setMessageCode_inSequence___Q28JMessage8TControlFPCQ28JMessage10TProcessorUsUs */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JMessage::TControl::setMessageCode_inSequence_(JMessage::TProcessor const* param_0, - u16 param_1, u16 param_2) { - nofralloc -#include "asm/JSystem/JMessage/control/setMessageCode_inSequence___Q28JMessage8TControlFPCQ28JMessage10TProcessorUsUs.s" +bool JMessage::TControl::setMessageCode_inSequence_(JMessage::TProcessor const* pProcessor, + u16 messageCode, u16 messageIndex) { + pEntry_ = pProcessor->getMessageEntry_messageCode(messageCode, messageIndex); + + if (pEntry_ == NULL) { + return false; + } + + messageCode_ = messageCode; + field_0xe = messageIndex; + pResourceCache_ = pProcessor->getResourceCache(); + pMessageText_begin_ = pResourceCache_->getMessageText_messageEntry(pEntry_); + field_0x20 = pMessageText_begin_; + oStack_renderingProcessor_.clear(); + return true; } -#pragma pop diff --git a/libs/JSystem/JMessage/data.cpp b/libs/JSystem/JMessage/data.cpp index 1290c285c2..629639422a 100644 --- a/libs/JSystem/JMessage/data.cpp +++ b/libs/JSystem/JMessage/data.cpp @@ -5,26 +5,6 @@ #include "JSystem/JMessage/data.h" #include "dol2asm.h" -#include "dolphin/types.h" -// -// Forward References: -// - -extern "C" f32 ga4cSignature__Q28JMessage4data[1 + 1 /* padding */]; - -// -// External References: -// - -// -// Declarations: -// - -/* ############################################################################################## */ /* 80455818-80455820 003E18 0004+04 0/0 1/1 0/0 .sdata2 ga4cSignature__Q28JMessage4data */ -SECTION_SDATA2 f32 JMessage::data::ga4cSignature[1 + 1 /* padding */] = { - 206910576.0f, - /* padding */ - 0.0f, -}; +SECTION_SDATA2 u32 JMessage::data::ga4cSignature = 'MESG'; diff --git a/libs/JSystem/JMessage/locale.cpp b/libs/JSystem/JMessage/locale.cpp index 131518b91f..484cf62457 100644 --- a/libs/JSystem/JMessage/locale.cpp +++ b/libs/JSystem/JMessage/locale.cpp @@ -24,21 +24,44 @@ extern "C" void parseCharacter_UTF8__Q28JMessage6localeFPPCc(); /* 802A9528-802A958C 2A3E68 0064+00 0/0 1/0 0/0 .text * parseCharacter_ShiftJIS__Q28JMessage6localeFPPCc */ +#ifdef NONMATCHING +int JMessage::locale::parseCharacter_ShiftJIS(char const** str) { + int c; + int ret; + u8* temp_r4_2; + u8* temp_r5; + + temp_r5 = (u8*)*str; + c = *temp_r5; + ret = c; + + *str = *str + 1; + + if (isLeadByte_ShiftJIS(c)) { + temp_r4_2 = (u8*)*str; + ret = (c << 8) | *temp_r4_2; + *str = *str + 1; + } + + return ret; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void JMessage::locale::parseCharacter_ShiftJIS(char const** param_0) { +asm int JMessage::locale::parseCharacter_ShiftJIS(char const** param_0) { nofralloc #include "asm/JSystem/JMessage/locale/parseCharacter_ShiftJIS__Q28JMessage6localeFPPCc.s" } #pragma pop +#endif /* 802A958C-802A968C 2A3ECC 0100+00 0/0 1/0 0/0 .text parseCharacter_UTF8__Q28JMessage6localeFPPCc */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void JMessage::locale::parseCharacter_UTF8(char const** param_0) { +asm int JMessage::locale::parseCharacter_UTF8(char const** param_0) { nofralloc #include "asm/JSystem/JMessage/locale/parseCharacter_UTF8__Q28JMessage6localeFPPCc.s" } diff --git a/libs/JSystem/JMessage/processor.cpp b/libs/JSystem/JMessage/processor.cpp index 03ed1f17ab..26c467e094 100644 --- a/libs/JSystem/JMessage/processor.cpp +++ b/libs/JSystem/JMessage/processor.cpp @@ -6,8 +6,6 @@ #include "JSystem/JMessage/processor.h" #include "JSystem/JMessage/control.h" #include "JSystem/JMessage/resource.h" -#include "dol2asm.h" -#include "dolphin/types.h" // // Forward References: @@ -105,172 +103,70 @@ extern "C" void _restgpr_29(); // Declarations: // -/* ############################################################################################## */ -/* 803C9B70-803C9B94 -00001 0024+00 1/1 0/0 0/0 .data @1418 */ -SECTION_DATA static void* lit_1418[9] = { - (void*)(((char*)do_tag___Q28JMessage18TSequenceProcessorFUlPCvUl) + 0x104), - (void*)(((char*)do_tag___Q28JMessage18TSequenceProcessorFUlPCvUl) + 0xE0), - (void*)(((char*)do_tag___Q28JMessage18TSequenceProcessorFUlPCvUl) + 0xD4), - (void*)(((char*)do_tag___Q28JMessage18TSequenceProcessorFUlPCvUl) + 0xC0), - (void*)(((char*)do_tag___Q28JMessage18TSequenceProcessorFUlPCvUl) + 0xAC), - (void*)(((char*)do_tag___Q28JMessage18TSequenceProcessorFUlPCvUl) + 0x98), - (void*)(((char*)do_tag___Q28JMessage18TSequenceProcessorFUlPCvUl) + 0x128), - (void*)(((char*)do_tag___Q28JMessage18TSequenceProcessorFUlPCvUl) + 0x128), - (void*)(((char*)do_tag___Q28JMessage18TSequenceProcessorFUlPCvUl) + 0x48), -}; - -/* 803C9B94-803C9BD4 026CB4 0040+00 2/2 0/0 0/0 .data __vt__Q28JMessage19TRenderingProcessor */ -SECTION_DATA extern void* __vt__Q28JMessage19TRenderingProcessor[16] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__Q28JMessage19TRenderingProcessorFv, - (void*)do_reset__Q28JMessage10TProcessorFv, - (void*)do_begin__Q28JMessage10TProcessorFPCvPCc, - (void*)do_end__Q28JMessage10TProcessorFv, - (void*)do_character__Q28JMessage10TProcessorFi, - (void*)do_tag__Q28JMessage10TProcessorFUlPCvUl, - (void*)do_select_begin__Q28JMessage10TProcessorFUl, - (void*)do_select_end__Q28JMessage10TProcessorFv, - (void*)do_select_separate__Q28JMessage10TProcessorFv, - (void*)do_resetStatus___Q28JMessage10TProcessorFPCc, - (void*)do_setBegin_isReady___Q28JMessage10TProcessorCFv, - (void*)do_begin___Q28JMessage19TRenderingProcessorFPCvPCc, - (void*)do_end___Q28JMessage19TRenderingProcessorFv, - (void*)do_tag___Q28JMessage19TRenderingProcessorFUlPCvUl, -}; - -/* 803C9BD4-803C9C2C 026CF4 0058+00 2/2 0/0 0/0 .data __vt__Q28JMessage18TSequenceProcessor */ -SECTION_DATA extern void* __vt__Q28JMessage18TSequenceProcessor[22] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__Q28JMessage18TSequenceProcessorFv, - (void*)do_reset__Q28JMessage10TProcessorFv, - (void*)do_begin__Q28JMessage10TProcessorFPCvPCc, - (void*)do_end__Q28JMessage10TProcessorFv, - (void*)do_character__Q28JMessage10TProcessorFi, - (void*)do_tag__Q28JMessage10TProcessorFUlPCvUl, - (void*)do_select_begin__Q28JMessage10TProcessorFUl, - (void*)do_select_end__Q28JMessage10TProcessorFv, - (void*)do_select_separate__Q28JMessage10TProcessorFv, - (void*)do_resetStatus___Q28JMessage18TSequenceProcessorFPCc, - (void*)do_setBegin_isReady___Q28JMessage18TSequenceProcessorCFv, - (void*)do_begin___Q28JMessage18TSequenceProcessorFPCvPCc, - (void*)do_end___Q28JMessage18TSequenceProcessorFv, - (void*)do_tag___Q28JMessage18TSequenceProcessorFUlPCvUl, - (void*)do_isReady__Q28JMessage18TSequenceProcessorFv, - (void*)do_jump_isReady__Q28JMessage18TSequenceProcessorFv, - (void*)do_jump__Q28JMessage18TSequenceProcessorFPCvPCc, - (void*)do_branch_query__Q28JMessage18TSequenceProcessorFUl, - (void*)do_branch_queryResult__Q28JMessage18TSequenceProcessorFv, - (void*)do_branch__Q28JMessage18TSequenceProcessorFPCvPCc, -}; - -/* 803C9C2C-803C9C6C 026D4C 0040+00 3/3 0/0 0/0 .data __vt__Q28JMessage10TProcessor */ -SECTION_DATA extern void* __vt__Q28JMessage10TProcessor[16] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__Q28JMessage10TProcessorFv, - (void*)do_reset__Q28JMessage10TProcessorFv, - (void*)do_begin__Q28JMessage10TProcessorFPCvPCc, - (void*)do_end__Q28JMessage10TProcessorFv, - (void*)do_character__Q28JMessage10TProcessorFi, - (void*)do_tag__Q28JMessage10TProcessorFUlPCvUl, - (void*)do_select_begin__Q28JMessage10TProcessorFUl, - (void*)do_select_end__Q28JMessage10TProcessorFv, - (void*)do_select_separate__Q28JMessage10TProcessorFv, - (void*)do_resetStatus___Q28JMessage10TProcessorFPCc, - (void*)do_setBegin_isReady___Q28JMessage10TProcessorCFv, - (void*)NULL, - (void*)NULL, - (void*)NULL, -}; - -/* 803C9C6C-803C9C80 026D8C 0010+04 1/1 2/2 0/0 .data __vt__Q28JMessage10TReference */ -SECTION_DATA extern void* __vt__Q28JMessage10TReference[4 + 1 /* padding */] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__Q28JMessage10TReferenceFv, - (void*)do_word__Q28JMessage10TReferenceCFUl, - /* padding */ - NULL, -}; - /* 802A7AF8-802A7B40 2A2438 0048+00 1/0 2/2 0/0 .text __dt__Q28JMessage10TReferenceFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm JMessage::TReference::~TReference() { - nofralloc -#include "asm/JSystem/JMessage/processor/__dt__Q28JMessage10TReferenceFv.s" -} -#pragma pop +JMessage::TReference::~TReference() {} /* 802A7B40-802A7B48 2A2480 0008+00 1/0 2/0 0/0 .text do_word__Q28JMessage10TReferenceCFUl */ -bool JMessage::TReference::do_word(u32 param_0) const { - return false; +const char* JMessage::TReference::do_word(u32 param_0) const { + return NULL; } /* 802A7B48-802A7B90 2A2488 0048+00 3/2 0/0 0/0 .text __dt__Q28JMessage10TProcessorFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -// asm JMessage::TProcessor::~TProcessor() { -extern "C" asm void __dt__Q28JMessage10TProcessorFv() { - nofralloc -#include "asm/JSystem/JMessage/processor/__dt__Q28JMessage10TProcessorFv.s" -} -#pragma pop +JMessage::TProcessor::~TProcessor() {} /* 802A7B90-802A7BF8 2A24D0 0068+00 0/0 1/1 0/0 .text reset__Q28JMessage10TProcessorFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JMessage::TProcessor::reset() { - nofralloc -#include "asm/JSystem/JMessage/processor/reset__Q28JMessage10TProcessorFv.s" +void JMessage::TProcessor::reset() { + on_resetStatus_(NULL); + do_reset(); } -#pragma pop /* 802A7BF8-802A7C30 2A2538 0038+00 1/1 8/8 0/0 .text * stack_pushCurrent__Q28JMessage10TProcessorFPCc */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JMessage::TProcessor::stack_pushCurrent(char const* param_0) { - nofralloc -#include "asm/JSystem/JMessage/processor/stack_pushCurrent__Q28JMessage10TProcessorFPCc.s" +void JMessage::TProcessor::stack_pushCurrent(char const* string) { + if (string != NULL) { + if (!oStack_.IsPushable()) { + return; + } + + stack_pushCurrent_(string); + } } -#pragma pop /* 802A7C30-802A7C54 2A2570 0024+00 1/1 0/0 0/0 .text stack_popCurrent__Q28JMessage10TProcessorFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JMessage::TProcessor::stack_popCurrent() { - nofralloc -#include "asm/JSystem/JMessage/processor/stack_popCurrent__Q28JMessage10TProcessorFv.s" +void JMessage::TProcessor::stack_popCurrent() { + stack_popCurrent_(); } -#pragma pop /* 802A7C54-802A7CD4 2A2594 0080+00 1/1 1/1 0/0 .text * getResource_groupID__Q28JMessage10TProcessorCFUs */ +#ifdef NONMATCHING +const JMessage::TResource* JMessage::TProcessor::getResource_groupID(u16 groupID) const { + if (isResourceCache_groupID(groupID)) { + return pResourceCache_; + } + + pResourceCache_ = getResource_groupID_uncached(groupID); + return pResourceCache_; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void JMessage::TProcessor::getResource_groupID(u16 param_0) const { +asm const JMessage::TResource* JMessage::TProcessor::getResource_groupID(u16 param_0) const { nofralloc #include "asm/JSystem/JMessage/processor/getResource_groupID__Q28JMessage10TProcessorCFUs.s" } #pragma pop +#endif /* 802A7CD4-802A7E38 2A2614 0164+00 0/0 1/1 0/0 .text * toMessageCode_messageID__Q28JMessage10TProcessorCFUlUlPb */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void JMessage::TProcessor::toMessageCode_messageID(u32 param_0, u32 param_1, - bool* param_2) const { +asm u32 JMessage::TProcessor::toMessageCode_messageID(u32 param_0, u32 param_1, + bool* param_2) const { nofralloc #include "asm/JSystem/JMessage/processor/toMessageCode_messageID__Q28JMessage10TProcessorCFUlUlPb.s" } @@ -278,59 +174,53 @@ asm void JMessage::TProcessor::toMessageCode_messageID(u32 param_0, u32 param_1, /* 802A7E38-802A7EDC 2A2778 00A4+00 1/1 0/0 0/0 .text * on_select_begin__Q28JMessage10TProcessorFPFPQ28JMessage10TProcessor_PCcPCvPCcUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JMessage::TProcessor::on_select_begin(char const* (*param_0)(JMessage::TProcessor*), - void const* param_1, char const* param_2, - u32 param_3) { - nofralloc -#include "asm/JSystem/JMessage/processor/on_select_begin__Q28JMessage10TProcessorFPFPQ28JMessage10TProcessor_PCcPCvPCcUl.s" +void JMessage::TProcessor::on_select_begin(char const* (*param_0)(JMessage::TProcessor*), + void const* param_1, char const* param_2, u32 param_3) { + if (stack_isPushable()) { + oProcess_.reset_select(); + + oProcess_.rData.pfn = param_0; + oProcess_.rData.pcBase = param_2; + oProcess_.rData.pOffset = param_1; + oProcess_.rData.uRest = param_3; + + const char* psz = param_0(this); + stack_pushCurrent_(psz); + do_select_begin(param_3); + } } -#pragma pop /* 802A7EDC-802A7F34 2A281C 0058+00 1/1 0/0 0/0 .text on_select_end__Q28JMessage10TProcessorFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JMessage::TProcessor::on_select_end() { - nofralloc -#include "asm/JSystem/JMessage/processor/on_select_end__Q28JMessage10TProcessorFv.s" +void JMessage::TProcessor::on_select_end() { + oProcess_.reset_normal(); + + stack_popCurrent_(); + do_select_end(); } -#pragma pop /* 802A7F34-802A7FC0 2A2874 008C+00 1/1 0/0 0/0 .text * on_select_separate__Q28JMessage10TProcessorFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JMessage::TProcessor::on_select_separate() { - nofralloc -#include "asm/JSystem/JMessage/processor/on_select_separate__Q28JMessage10TProcessorFv.s" +void JMessage::TProcessor::on_select_separate() { + stack_popCurrent_(); + + const char* psz = oProcess_.rData.pfn(this); + stack_pushCurrent_(psz); + do_select_separate(); } -#pragma pop /* 802A7FC0-802A7FC4 2A2900 0004+00 3/0 2/0 0/0 .text do_reset__Q28JMessage10TProcessorFv */ -void JMessage::TProcessor::do_reset() { - /* empty function */ -} +void JMessage::TProcessor::do_reset() {} /* 802A7FC4-802A7FC8 2A2904 0004+00 3/0 0/0 0/0 .text do_begin__Q28JMessage10TProcessorFPCvPCc */ -void JMessage::TProcessor::do_begin(void const* param_0, char const* param_1) { - /* empty function */ -} +void JMessage::TProcessor::do_begin(void const* param_0, char const* param_1) {} /* 802A7FC8-802A7FCC 2A2908 0004+00 3/0 0/0 0/0 .text do_end__Q28JMessage10TProcessorFv */ -void JMessage::TProcessor::do_end() { - /* empty function */ -} +void JMessage::TProcessor::do_end() {} /* 802A7FCC-802A7FD0 2A290C 0004+00 3/0 0/0 0/0 .text do_character__Q28JMessage10TProcessorFi */ -void JMessage::TProcessor::do_character(int param_0) { - /* empty function */ -} +void JMessage::TProcessor::do_character(int param_0) {} /* 802A7FD0-802A7FD8 2A2910 0008+00 3/0 0/0 0/0 .text do_tag__Q28JMessage10TProcessorFUlPCvUl */ bool JMessage::TProcessor::do_tag(u32 param_0, void const* param_1, u32 param_2) { @@ -339,37 +229,34 @@ bool JMessage::TProcessor::do_tag(u32 param_0, void const* param_1, u32 param_2) /* 802A7FD8-802A7FDC 2A2918 0004+00 3/0 6/0 0/0 .text do_select_begin__Q28JMessage10TProcessorFUl */ -void JMessage::TProcessor::do_select_begin(u32 param_0) { - /* empty function */ -} +void JMessage::TProcessor::do_select_begin(u32 param_0) {} /* 802A7FDC-802A7FE0 2A291C 0004+00 3/0 6/0 0/0 .text do_select_end__Q28JMessage10TProcessorFv */ -void JMessage::TProcessor::do_select_end() { - /* empty function */ -} +void JMessage::TProcessor::do_select_end() {} /* 802A7FE0-802A7FE4 2A2920 0004+00 3/0 6/0 0/0 .text * do_select_separate__Q28JMessage10TProcessorFv */ -void JMessage::TProcessor::do_select_separate() { - /* empty function */ -} +void JMessage::TProcessor::do_select_separate() {} /* 802A7FE4-802A8084 2A2924 00A0+00 1/1 0/0 0/0 .text on_tag___Q28JMessage10TProcessorFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JMessage::TProcessor::on_tag_() { - nofralloc -#include "asm/JSystem/JMessage/processor/on_tag___Q28JMessage10TProcessorFv.s" +void JMessage::TProcessor::on_tag_() { + u32 size; + u8* psz = (u8*)getCurrent(); + size = *psz; + + pszCurrent_ = size + (char*)psz + -1; + + u32 tag = (psz[1] << 0x8) | psz[2]; + tag <<= 8; + tag |= psz[3]; + + on_tag(tag, &psz[4], size - 5); } -#pragma pop /* 802A8084-802A8088 2A29C4 0004+00 2/0 4/0 0/0 .text do_resetStatus___Q28JMessage10TProcessorFPCc */ -void JMessage::TProcessor::do_resetStatus_(char const* param_0) { - /* empty function */ -} +void JMessage::TProcessor::do_resetStatus_(char const* param_0) {} /* 802A8088-802A8090 2A29C8 0008+00 2/0 4/0 0/0 .text * do_setBegin_isReady___Q28JMessage10TProcessorCFv */ @@ -378,65 +265,115 @@ bool JMessage::TProcessor::do_setBegin_isReady_() const { } /* 802A8090-802A81EC 2A29D0 015C+00 2/2 0/0 0/0 .text do_tag___Q28JMessage10TProcessorFUlPCvUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JMessage::TProcessor::do_tag_(u32 param_0, void const* param_1, u32 param_2) { - nofralloc -#include "asm/JSystem/JMessage/processor/do_tag___Q28JMessage10TProcessorFUlPCvUl.s" +void JMessage::TProcessor::do_tag_(u32 uTag, void const* data, u32 uSize) { + u8 group = data::getTagGroup(uTag); + u16 code = data::getTagCode(uTag); + + switch (group) { + case 0xFF: + switch (code) { + case 4: + stack_pushCurrent( + on_word(JGadget::binary::TParseValue::parse(data))); + break; + case 5: + stack_pushCurrent(on_message( + JGadget::binary::TParseValue::parse(data))); + break; + } + break; + case 0xFE: + stack_pushCurrent(on_word(code)); + break; + case 0xFD: + stack_pushCurrent(on_message_limited(code)); + break; + case 0xF6: + on_select_begin(process_onSelect_limited_, data, (char*)data + uSize, code); + break; + case 0xF5: + on_select_begin(process_onSelect_, data, (char*)data + uSize, code); + break; + } } -#pragma pop /* 802A81EC-802A828C 2A2B2C 00A0+00 2/2 0/0 0/0 .text * process_character___Q28JMessage10TProcessorFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JMessage::TProcessor::process_character_() { - nofralloc -#include "asm/JSystem/JMessage/processor/process_character___Q28JMessage10TProcessorFv.s" +bool JMessage::TProcessor::process_character_() { + int character = on_parseCharacter(&pszCurrent_); + + switch (character) { + case 0: + if (!oProcess_.pfnProcess_CharacterEnd(this)) { + return false; + } + break; + case data::gcTagBegin: + on_tag_(); + break; + default: + on_character(character); + } + + return true; } -#pragma pop /* 802A828C-802A82F4 2A2BCC 0068+00 6/6 6/6 0/0 .text * process_onCharacterEnd_normal___Q28JMessage10TProcessorFPQ28JMessage10TProcessor */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JMessage::TProcessor::process_onCharacterEnd_normal_(JMessage::TProcessor* param_0) { - nofralloc -#include "asm/JSystem/JMessage/processor/process_onCharacterEnd_normal___Q28JMessage10TProcessorFPQ28JMessage10TProcessor.s" +bool JMessage::TProcessor::process_onCharacterEnd_normal_(JMessage::TProcessor* pThis) { + if (!pThis->oStack_.empty()) { + pThis->stack_popCurrent(); + return true; + } + + pThis->on_end(); + return false; } -#pragma pop /* 802A82F4-802A833C 2A2C34 0048+00 1/1 0/0 0/0 .text * process_onCharacterEnd_select___Q28JMessage10TProcessorFPQ28JMessage10TProcessor */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JMessage::TProcessor::process_onCharacterEnd_select_(JMessage::TProcessor* param_0) { - nofralloc -#include "asm/JSystem/JMessage/processor/process_onCharacterEnd_select___Q28JMessage10TProcessorFPQ28JMessage10TProcessor.s" +bool JMessage::TProcessor::process_onCharacterEnd_select_(JMessage::TProcessor* pThis) { + pThis->oProcess_.rData.uRest--; + + if (pThis->oProcess_.rData.uRest != 0) { + pThis->on_select_separate(); + return true; + } + + pThis->on_select_end(); + return true; } -#pragma pop /* 802A833C-802A8358 2A2C7C 001C+00 1/1 0/0 0/0 .text * process_onSelect_limited___Q28JMessage10TProcessorFPQ28JMessage10TProcessor */ +// r4 vs r5 +#ifdef NONMATCHING +const char* JMessage::TProcessor::process_onSelect_limited_(JMessage::TProcessor* pThis) { + u16* ptr = (u16*)pThis->oProcess_.rData.pOffset; + u16 data = *ptr; + + pThis->oProcess_.rData.pOffset = + JGadget::binary::TParseValue::parse(ptr) + 2; + + return &pThis->oProcess_.rData.pcBase[data]; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void JMessage::TProcessor::process_onSelect_limited_(JMessage::TProcessor* param_0) { +asm const char* JMessage::TProcessor::process_onSelect_limited_(JMessage::TProcessor* param_0) { nofralloc #include "asm/JSystem/JMessage/processor/process_onSelect_limited___Q28JMessage10TProcessorFPQ28JMessage10TProcessor.s" } #pragma pop +#endif /* 802A8358-802A8374 2A2C98 001C+00 1/1 0/0 0/0 .text * process_onSelect___Q28JMessage10TProcessorFPQ28JMessage10TProcessor */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void JMessage::TProcessor::process_onSelect_(JMessage::TProcessor* param_0) { +asm const char* JMessage::TProcessor::process_onSelect_(JMessage::TProcessor* param_0) { nofralloc #include "asm/JSystem/JMessage/processor/process_onSelect___Q28JMessage10TProcessorFPQ28JMessage10TProcessor.s" } @@ -444,129 +381,124 @@ asm void JMessage::TProcessor::process_onSelect_(JMessage::TProcessor* param_0) /* 802A8374-802A83B8 2A2CB4 0044+00 0/0 2/2 0/0 .text * __ct__Q28JMessage18TSequenceProcessorFPCQ28JMessage10TReferencePQ28JMessage8TControl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm JMessage::TSequenceProcessor::TSequenceProcessor(JMessage::TReference const* param_0, - JMessage::TControl* param_1) { - nofralloc -#include "asm/JSystem/JMessage/processor/__ct__Q28JMessage18TSequenceProcessorFPCQ28JMessage10TReferencePQ28JMessage8TControl.s" -} -#pragma pop +JMessage::TSequenceProcessor::TSequenceProcessor(JMessage::TReference const* param_0, + JMessage::TControl* param_1) + : TProcessor(param_0), pControl_(param_1), eStatus_(STATUS_READY) {} /* 802A83B8-802A8418 2A2CF8 0060+00 1/0 2/2 0/0 .text __dt__Q28JMessage18TSequenceProcessorFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -// asm JMessage::TSequenceProcessor::~TSequenceProcessor() { -extern "C" asm void __dt__Q28JMessage18TSequenceProcessorFv() { - nofralloc -#include "asm/JSystem/JMessage/processor/__dt__Q28JMessage18TSequenceProcessorFv.s" -} -#pragma pop +JMessage::TSequenceProcessor::~TSequenceProcessor() {} /* 802A8418-802A85A4 2A2D58 018C+00 0/0 1/1 0/0 .text process__Q28JMessage18TSequenceProcessorFPCc */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JMessage::TSequenceProcessor::process(char const* param_0) { - nofralloc -#include "asm/JSystem/JMessage/processor/process__Q28JMessage18TSequenceProcessorFPCc.s" +const char* JMessage::TSequenceProcessor::process(char const* param_0) { + do { + switch (eStatus_) { + case STATUS_NORMAL: + break; + case STATUS_JUMP: + if (!on_jump_isReady()) { + return pszCurrent_; + } + + eStatus_ = STATUS_NORMAL; + const void* data = oProcess2_.process.jump_process.jumpFn(this); + if (data != NULL) { + on_jump(data, pControl_->getMessageText_begin()); + } + break; + case STATUS_BRANCH: + u32 tmp = on_branch_queryResult(); + if (tmp > 0x7FFFFFFF) { + switch (tmp) { + case -1: + return pszCurrent_; + case -2: + eStatus_ = STATUS_NORMAL; + break; + } + } else { + eStatus_ = STATUS_NORMAL; + + if (tmp < oProcess2_.process.branch_process.uTarget) { + const void* data = oProcess2_.process.branch_process.branchFn(this, tmp); + if (data != NULL) { + on_branch(data, pControl_->getMessageText_begin()); + } + } + } + break; + } + + if (pszCurrent_ == param_0) { + on_end(); + return NULL; + } + + if (!on_isReady()) { + return pszCurrent_; + } + } while (process_character_()); + + return NULL; } -#pragma pop /* 802A85A4-802A85D0 2A2EE4 002C+00 1/1 0/0 0/0 .text * on_isReady__Q28JMessage18TSequenceProcessorFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JMessage::TSequenceProcessor::on_isReady() { - nofralloc -#include "asm/JSystem/JMessage/processor/on_isReady__Q28JMessage18TSequenceProcessorFv.s" +bool JMessage::TSequenceProcessor::on_isReady() { + return do_isReady(); } -#pragma pop /* 802A85D0-802A85E4 2A2F10 0014+00 1/1 0/0 0/0 .text * on_jump_register__Q28JMessage18TSequenceProcessorFPFPCQ28JMessage18TSequenceProcessor_PCvUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JMessage::TSequenceProcessor::on_jump_register( - void const* (*param_0)(JMessage::TSequenceProcessor const*), u32 param_1) { - nofralloc -#include "asm/JSystem/JMessage/processor/func_802A85D0.s" +void JMessage::TSequenceProcessor::on_jump_register(JMessage::TSequenceProcessor::jumpPfn param_0, + u32 param_1) { + eStatus_ = STATUS_JUMP; + oProcess2_.process.jump_process.jumpFn = param_0; + oProcess2_.process.jump_process.u32Target = param_1; } -#pragma pop /* 802A85E4-802A8610 2A2F24 002C+00 1/1 0/0 0/0 .text * on_jump_isReady__Q28JMessage18TSequenceProcessorFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JMessage::TSequenceProcessor::on_jump_isReady() { - nofralloc -#include "asm/JSystem/JMessage/processor/on_jump_isReady__Q28JMessage18TSequenceProcessorFv.s" +bool JMessage::TSequenceProcessor::on_jump_isReady() { + return do_jump_isReady(); } -#pragma pop /* 802A8610-802A8690 2A2F50 0080+00 1/1 0/0 0/0 .text * on_jump__Q28JMessage18TSequenceProcessorFPCvPCc */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JMessage::TSequenceProcessor::on_jump(void const* param_0, char const* param_1) { - nofralloc -#include "asm/JSystem/JMessage/processor/on_jump__Q28JMessage18TSequenceProcessorFPCvPCc.s" +void JMessage::TSequenceProcessor::on_jump(void const* param_0, char const* param_1) { + on_resetStatus_(param_1); + do_jump(param_0, param_1); } -#pragma pop /* 802A8690-802A86A0 2A2FD0 0010+00 1/1 0/0 0/0 .text * on_branch_register__Q28JMessage18TSequenceProcessorFPFPCQ28JMessage18TSequenceProcessorUl_PCvPCvUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JMessage::TSequenceProcessor::on_branch_register( - void const* (*param_0)(JMessage::TSequenceProcessor const*, u32), void const* param_1, - u32 param_2) { - nofralloc -#include "asm/JSystem/JMessage/processor/func_802A8690.s" +void JMessage::TSequenceProcessor::on_branch_register( + JMessage::TSequenceProcessor::branchPfn param_0, void const* param_1, u32 param_2) { + oProcess2_.process.branch_process.branchFn = param_0; + oProcess2_.process.branch_process.pTarget = param_1; + oProcess2_.process.branch_process.uTarget = param_2; } -#pragma pop /* 802A86A0-802A86D4 2A2FE0 0034+00 1/1 0/0 0/0 .text * on_branch_query__Q28JMessage18TSequenceProcessorFUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JMessage::TSequenceProcessor::on_branch_query(u32 param_0) { - nofralloc -#include "asm/JSystem/JMessage/processor/on_branch_query__Q28JMessage18TSequenceProcessorFUl.s" +void JMessage::TSequenceProcessor::on_branch_query(u32 param_0) { + eStatus_ = STATUS_BRANCH; + do_branch_query(param_0); } -#pragma pop /* 802A86D4-802A8700 2A3014 002C+00 1/1 0/0 0/0 .text * on_branch_queryResult__Q28JMessage18TSequenceProcessorFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JMessage::TSequenceProcessor::on_branch_queryResult() { - nofralloc -#include "asm/JSystem/JMessage/processor/on_branch_queryResult__Q28JMessage18TSequenceProcessorFv.s" +u32 JMessage::TSequenceProcessor::on_branch_queryResult() { + return do_branch_queryResult(); } -#pragma pop /* 802A8700-802A8780 2A3040 0080+00 1/1 0/0 0/0 .text * on_branch__Q28JMessage18TSequenceProcessorFPCvPCc */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JMessage::TSequenceProcessor::on_branch(void const* param_0, char const* param_1) { - nofralloc -#include "asm/JSystem/JMessage/processor/on_branch__Q28JMessage18TSequenceProcessorFPCvPCc.s" +void JMessage::TSequenceProcessor::on_branch(void const* param_0, char const* param_1) { + on_resetStatus_(param_1); + do_branch(param_0, param_1); } -#pragma pop /* 802A8780-802A8788 2A30C0 0008+00 1/0 0/0 0/0 .text * do_isReady__Q28JMessage18TSequenceProcessorFv */ @@ -582,15 +514,11 @@ bool JMessage::TSequenceProcessor::do_jump_isReady() { /* 802A8790-802A8794 2A30D0 0004+00 1/0 0/0 0/0 .text * do_jump__Q28JMessage18TSequenceProcessorFPCvPCc */ -void JMessage::TSequenceProcessor::do_jump(void const* param_0, char const* param_1) { - /* empty function */ -} +void JMessage::TSequenceProcessor::do_jump(void const* param_0, char const* param_1) {} /* 802A8794-802A8798 2A30D4 0004+00 1/0 2/0 0/0 .text * do_branch_query__Q28JMessage18TSequenceProcessorFUl */ -void JMessage::TSequenceProcessor::do_branch_query(u32 param_0) { - /* empty function */ -} +void JMessage::TSequenceProcessor::do_branch_query(u32 param_0) {} /* 802A8798-802A87A0 2A30D8 0008+00 1/0 2/0 0/0 .text * do_branch_queryResult__Q28JMessage18TSequenceProcessorFv */ @@ -600,62 +528,97 @@ s32 JMessage::TSequenceProcessor::do_branch_queryResult() { /* 802A87A0-802A87A4 2A30E0 0004+00 1/0 2/0 0/0 .text * do_branch__Q28JMessage18TSequenceProcessorFPCvPCc */ -void JMessage::TSequenceProcessor::do_branch(void const* param_0, char const* param_1) { - /* empty function */ -} +void JMessage::TSequenceProcessor::do_branch(void const* param_0, char const* param_1) {} /* 802A87A4-802A87C0 2A30E4 001C+00 1/0 2/0 0/0 .text * do_resetStatus___Q28JMessage18TSequenceProcessorFPCc */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JMessage::TSequenceProcessor::do_resetStatus_(char const* param_0) { - nofralloc -#include "asm/JSystem/JMessage/processor/do_resetStatus___Q28JMessage18TSequenceProcessorFPCc.s" +void JMessage::TSequenceProcessor::do_resetStatus_(char const* param_0) { + eStatus_ = STATUS_READY; + + if (param_0 != NULL) { + eStatus_ = STATUS_NORMAL; + } } -#pragma pop /* 802A87C0-802A87D0 2A3100 0010+00 1/0 2/0 0/0 .text * do_setBegin_isReady___Q28JMessage18TSequenceProcessorCFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JMessage::TSequenceProcessor::do_setBegin_isReady_() const { - nofralloc -#include "asm/JSystem/JMessage/processor/do_setBegin_isReady___Q28JMessage18TSequenceProcessorCFv.s" +bool JMessage::TSequenceProcessor::do_setBegin_isReady_() const { + return eStatus_ == STATUS_READY; } -#pragma pop /* 802A87D0-802A87D4 2A3110 0004+00 1/0 2/0 0/0 .text * do_begin___Q28JMessage18TSequenceProcessorFPCvPCc */ -void JMessage::TSequenceProcessor::do_begin_(void const* param_0, char const* param_1) { - /* empty function */ -} +void JMessage::TSequenceProcessor::do_begin_(void const* param_0, char const* param_1) {} /* 802A87D4-802A87E0 2A3114 000C+00 1/0 2/0 0/0 .text do_end___Q28JMessage18TSequenceProcessorFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JMessage::TSequenceProcessor::do_end_() { - nofralloc -#include "asm/JSystem/JMessage/processor/do_end___Q28JMessage18TSequenceProcessorFv.s" +void JMessage::TSequenceProcessor::do_end_() { + eStatus_ = STATUS_ONE; } -#pragma pop /* 802A87E0-802A892C 2A3120 014C+00 2/0 2/0 0/0 .text * do_tag___Q28JMessage18TSequenceProcessorFUlPCvUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JMessage::TSequenceProcessor::do_tag_(u32 param_0, void const* param_1, u32 param_2) { - nofralloc -#include "asm/JSystem/JMessage/processor/do_tag___Q28JMessage18TSequenceProcessorFUlPCvUl.s" +void JMessage::TSequenceProcessor::do_tag_(u32 uTag, void const* data, u32 uSize) { + char* temp = (char*)data; + u8 group = data::getTagGroup(uTag); + u16 code = data::getTagCode(uTag); + + switch (group) { + case 0xFF: + switch (code) { + case 0: + case 1: + case 2: + case 3: + break; + case 6: + u32 tmp = JGadget::binary::TParseValue::parse(temp); + on_jump_register(process_onJump_, tmp); + break; + case 7: + break; + default: + TProcessor::do_tag_(uTag, temp, uSize); + break; + } + break; + case 0xFC: + on_jump_register(process_onJump_limited_, code); + break; + case 0xFB: + on_branch_register(process_onBranch_limited_, temp, code); + break; + case 0xFA: + on_branch_register(process_onBranch_, temp, code); + break; + case 0xF9: + on_branch_query(code); + break; + case 0xF8: + on_branch_register(process_onBranch_limited_, temp + 2, + JGadget::binary::TParseValue::parse(temp)); + on_branch_query(code); + break; + case 0xF7: + on_branch_register(process_onBranch_, temp + 2, + JGadget::binary::TParseValue::parse(temp)); + on_branch_query(code); + break; + default: + TProcessor::do_tag_(uTag, temp, uSize); + break; + } } -#pragma pop /* 802A892C-802A8944 2A326C 0018+00 1/1 0/0 0/0 .text * process_setMessageIndex_reserved___Q28JMessage18TSequenceProcessorFUs */ +#ifdef NONMATCHING +void JMessage::TSequenceProcessor::process_setMessageIndex_reserved_(u16 u16Index) { + if (u16Index != -1) { + return; + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -664,117 +627,127 @@ asm void JMessage::TSequenceProcessor::process_setMessageIndex_reserved_(u16 par #include "asm/JSystem/JMessage/processor/process_setMessageIndex_reserved___Q28JMessage18TSequenceProcessorFUs.s" } #pragma pop +#endif /* 802A8944-802A89B8 2A3284 0074+00 4/4 0/0 0/0 .text * process_setMessageCode___Q28JMessage18TSequenceProcessorFPCQ28JMessage18TSequenceProcessorUsUs */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void -JMessage::TSequenceProcessor::process_setMessageCode_(JMessage::TSequenceProcessor const* param_0, - u16 param_1, u16 param_2) { - nofralloc -#include "asm/JSystem/JMessage/processor/func_802A8944.s" +void* JMessage::TSequenceProcessor::process_setMessageCode_( + JMessage::TSequenceProcessor const* param_0, u16 param_1, u16 param_2) { + if (param_2 >= 0xFF00) { + process_setMessageIndex_reserved_(param_2); + return NULL; + } + + TControl* pControl = param_0->getControl(); + + if (pControl->setMessageCode_inSequence_(param_0, param_1, param_2)) { + return pControl->getMessageEntry(); + } + + return NULL; } -#pragma pop /* 802A89B8-802A89EC 2A32F8 0034+00 1/1 0/0 0/0 .text * process_onJump_limited___Q28JMessage18TSequenceProcessorFPCQ28JMessage18TSequenceProcessor */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void +const void* JMessage::TSequenceProcessor::process_onJump_limited_(JMessage::TSequenceProcessor const* param_0) { - nofralloc -#include "asm/JSystem/JMessage/processor/func_802A89B8.s" + return process_setMessageIndex_(param_0, param_0->oProcess2_.process.jump_process.u32Target); } -#pragma pop /* 802A89EC-802A8A18 2A332C 002C+00 1/1 0/0 0/0 .text * process_onJump___Q28JMessage18TSequenceProcessorFPCQ28JMessage18TSequenceProcessor */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void +const void* JMessage::TSequenceProcessor::process_onJump_(JMessage::TSequenceProcessor const* param_0) { - nofralloc -#include "asm/JSystem/JMessage/processor/process_onJump___Q28JMessage18TSequenceProcessorFPCQ28JMessage18TSequenceProcessor.s" + return process_setMessageCode_(param_0, param_0->oProcess2_.process.jump_process.u32Target); } -#pragma pop /* 802A8A18-802A8A50 2A3358 0038+00 1/1 0/0 0/0 .text * process_onBranch_limited___Q28JMessage18TSequenceProcessorFPCQ28JMessage18TSequenceProcessorUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void +const void* JMessage::TSequenceProcessor::process_onBranch_limited_(JMessage::TSequenceProcessor const* param_0, - u32 param_1) { - nofralloc -#include "asm/JSystem/JMessage/processor/func_802A8A18.s" + u32 uTargetIndex) { + return process_setMessageIndex_( + param_0, JGadget::binary::TParseValue::parse( + param_0->oProcess2_.process.branch_process.pTarget, uTargetIndex)); } -#pragma pop /* 802A8A50-802A8A84 2A3390 0034+00 1/1 0/0 0/0 .text * process_onBranch___Q28JMessage18TSequenceProcessorFPCQ28JMessage18TSequenceProcessorUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void +const void* JMessage::TSequenceProcessor::process_onBranch_(JMessage::TSequenceProcessor const* param_0, - u32 param_1) { - nofralloc -#include "asm/JSystem/JMessage/processor/process_onBranch___Q28JMessage18TSequenceProcessorFPCQ28JMessage18TSequenceProcessorUl.s" + u32 uTargetIndex) { + return process_setMessageCode_( + param_0, JGadget::binary::TParseValue::parse( + param_0->oProcess2_.process.branch_process.pTarget, uTargetIndex)); } -#pragma pop /* 802A8A84-802A8AC0 2A33C4 003C+00 0/0 4/4 0/0 .text * __ct__Q28JMessage19TRenderingProcessorFPCQ28JMessage10TReference */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm JMessage::TRenderingProcessor::TRenderingProcessor(JMessage::TReference const* param_0) { - nofralloc -#include "asm/JSystem/JMessage/processor/__ct__Q28JMessage19TRenderingProcessorFPCQ28JMessage10TReference.s" -} -#pragma pop +JMessage::TRenderingProcessor::TRenderingProcessor(JMessage::TReference const* param_0) + : TProcessor(param_0) {} /* 802A8AC0-802A8B20 2A3400 0060+00 1/0 6/6 0/0 .text __dt__Q28JMessage19TRenderingProcessorFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -//asm JMessage::TRenderingProcessor::~TRenderingProcessor() { -extern "C" asm void __dt__Q28JMessage19TRenderingProcessorFv() { - nofralloc -#include "asm/JSystem/JMessage/processor/__dt__Q28JMessage19TRenderingProcessorFv.s" -} -#pragma pop +JMessage::TRenderingProcessor::~TRenderingProcessor() {} /* 802A8B20-802A8BA4 2A3460 0084+00 0/0 4/4 0/0 .text * process__Q28JMessage19TRenderingProcessorFPCc */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JMessage::TRenderingProcessor::process(char const* param_0) { - nofralloc -#include "asm/JSystem/JMessage/processor/process__Q28JMessage19TRenderingProcessorFPCc.s" +int JMessage::TRenderingProcessor::process(char const* param_0) { + do { + if (pszCurrent_ == param_0) { + on_end(); + return 0; + } + } while (process_character_()); + + return 0; } -#pragma pop /* 802A8BA4-802A8BA8 2A34E4 0004+00 1/0 4/0 0/0 .text * do_begin___Q28JMessage19TRenderingProcessorFPCvPCc */ -void JMessage::TRenderingProcessor::do_begin_(void const* param_0, char const* param_1) { - /* empty function */ -} +void JMessage::TRenderingProcessor::do_begin_(void const* param_0, char const* param_1) {} /* 802A8BA8-802A8BAC 2A34E8 0004+00 1/0 4/0 0/0 .text do_end___Q28JMessage19TRenderingProcessorFv */ -void JMessage::TRenderingProcessor::do_end_() { - /* empty function */ -} +void JMessage::TRenderingProcessor::do_end_() {} /* 802A8BAC-802A8C24 2A34EC 0078+00 1/0 4/0 0/0 .text * do_tag___Q28JMessage19TRenderingProcessorFUlPCvUl */ +// r0 / r7 swapped +#ifdef NONMATCHING +void JMessage::TRenderingProcessor::do_tag_(u32 uTag, void const* data, u32 uSize) { + u8 group = data::getTagGroup(uTag); + u16 code = data::getTagCode(uTag); + + switch (group) { + case 0xFF: + switch (code) { + case 0: + case 1: + case 2: + case 3: + break; + case 6: + break; + case 7: + break; + default: + TProcessor::do_tag_(uTag, data, uSize); + break; + } + break; + case 0xFC: + case 0xFB: + case 0xFA: + case 0xF9: + case 0xF8: + case 0xF7: + break; + default: + TProcessor::do_tag_(uTag, data, uSize); + break; + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -783,24 +756,15 @@ asm void JMessage::TRenderingProcessor::do_tag_(u32 param_0, void const* param_1 #include "asm/JSystem/JMessage/processor/do_tag___Q28JMessage19TRenderingProcessorFUlPCvUl.s" } #pragma pop +#endif /* 802A8C24-802A8C44 2A3564 0020+00 1/1 0/0 0/0 .text on_message__Q28JMessage10TProcessorCFUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JMessage::TProcessor::on_message(u32 param_0) const { - nofralloc -#include "asm/JSystem/JMessage/processor/on_message__Q28JMessage10TProcessorCFUl.s" +const char* JMessage::TProcessor::on_message(u32 param_0) const { + return getMessageText_messageCode(param_0); } -#pragma pop /* 802A8C44-802A8CDC 2A3584 0098+00 1/1 0/0 0/0 .text * getMessageText_messageCode__Q28JMessage10TProcessorCFUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JMessage::TProcessor::getMessageText_messageCode(u32 param_0) const { - nofralloc -#include "asm/JSystem/JMessage/processor/getMessageText_messageCode__Q28JMessage10TProcessorCFUl.s" +const char* JMessage::TProcessor::getMessageText_messageCode(u32 param_0) const { + return getMessageText_messageCode(param_0 >> 0x10, param_0 & 0xFFFF); } -#pragma pop diff --git a/libs/JSystem/JMessage/resource.cpp b/libs/JSystem/JMessage/resource.cpp index 8c1c85b625..460b109c14 100644 --- a/libs/JSystem/JMessage/resource.cpp +++ b/libs/JSystem/JMessage/resource.cpp @@ -5,10 +5,8 @@ #include "JSystem/JMessage/resource.h" #include "JSystem/JGadget/binary.h" -#include "JSystem/JMessage/data.h" -#include "JSystem/JMessage/locale.h" #include "dol2asm.h" -#include "dolphin/types.h" +#include "MSL_C/MSL_Common/Src/mem.h" // // Types: @@ -58,7 +56,6 @@ Insert__Q27JGadget13TNodeLinkListFQ37JGadget13TNodeLinkList8iteratorPQ27JGadget1 extern "C" void Erase__Q27JGadget13TNodeLinkListFPQ27JGadget13TLinkListNode(); extern "C" void _savegpr_28(); extern "C" void _restgpr_28(); -extern "C" void memcmp(); extern "C" extern void* __vt__Q37JGadget6binary19TParse_header_block[5]; extern "C" f32 ga4cSignature__Q28JMessage4data[1 + 1 /* padding */]; @@ -81,12 +78,12 @@ asm void JMessage::TResource::toMessageIndex_messageID(u32 param_0, u32 param_1, /* ############################################################################################## */ /* 803C9C80-803C9C94 -00001 0014+00 1/1 0/0 0/0 .data * sapfnParseCharacter___Q28JMessage18TResourceContainer */ -SECTION_DATA void* JMessage::TResourceContainer::sapfnParseCharacter_[5] = { - (void*)NULL, - (void*)parseCharacter_1Byte__Q28JMessage6localeFPPCc, - (void*)parseCharacter_2Byte__Q28JMessage6localeFPPCc, - (void*)parseCharacter_ShiftJIS__Q28JMessage6localeFPPCc, - (void*)parseCharacter_UTF8__Q28JMessage6localeFPPCc, +JMessage::locale::parseCharacter_function JMessage::TResourceContainer::sapfnParseCharacter_[5] = { + NULL, + JMessage::locale::parseCharacter_1Byte, + JMessage::locale::parseCharacter_2Byte, + JMessage::locale::parseCharacter_ShiftJIS, + JMessage::locale::parseCharacter_UTF8, }; /* 803C9C94-803C9CA8 026DB4 0014+00 2/2 0/0 0/0 .data __vt__Q28JMessage6TParse */ @@ -116,6 +113,7 @@ SECTION_DATA extern void* data_803C9CBC[5] = { /* 802A8EC0-802A8EF8 2A3800 0038+00 1/1 0/0 0/0 .text * __ct__Q38JMessage18TResourceContainer10TCResourceFv */ +// need to fix TLinkList_factory vtable stuff #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -127,10 +125,12 @@ asm JMessage::TResourceContainer::TCResource::TCResource() { /* 802A8EF8-802A8F6C 2A3838 0074+00 1/0 2/2 0/0 .text * __dt__Q38JMessage18TResourceContainer10TCResourceFv */ +// need to fix TLinkList_factory vtable stuff #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm JMessage::TResourceContainer::TCResource::~TCResource() { +// asm JMessage::TResourceContainer::TCResource::~TCResource() { +extern "C" asm void __dt__Q38JMessage18TResourceContainer10TCResourceFv() { nofralloc #include "asm/JSystem/JMessage/resource/__dt__Q38JMessage18TResourceContainer10TCResourceFv.s" } @@ -141,7 +141,7 @@ asm JMessage::TResourceContainer::TCResource::~TCResource() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void JMessage::TResourceContainer::TCResource::Get_groupID(u16 param_0) { +asm JMessage::TResource* JMessage::TResourceContainer::TCResource::Get_groupID(u16 param_0) { nofralloc #include "asm/JSystem/JMessage/resource/Get_groupID__Q38JMessage18TResourceContainer10TCResourceFUs.s" } @@ -149,74 +149,52 @@ asm void JMessage::TResourceContainer::TCResource::Get_groupID(u16 param_0) { /* 802A8FFC-802A9048 2A393C 004C+00 1/0 0/0 0/0 .text * Do_create__Q38JMessage18TResourceContainer10TCResourceFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JMessage::TResourceContainer::TCResource::Do_create() { - nofralloc -#include "asm/JSystem/JMessage/resource/Do_create__Q38JMessage18TResourceContainer10TCResourceFv.s" +JMessage::TResource* JMessage::TResourceContainer::TCResource::Do_create() { + TResource* new_res = new TResource(); + return new_res; } -#pragma pop /* 802A9048-802A906C 2A3988 0024+00 1/0 0/0 0/0 .text * Do_destroy__Q38JMessage18TResourceContainer10TCResourceFPQ28JMessage9TResource */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JMessage::TResourceContainer::TCResource::Do_destroy(JMessage::TResource* param_0) { - nofralloc -#include "asm/JSystem/JMessage/resource/Do_destroy__Q38JMessage18TResourceContainer10TCResourceFPQ28JMessage9TResource.s" +void JMessage::TResourceContainer::TCResource::Do_destroy(JMessage::TResource* param_0) { + delete param_0; } -#pragma pop /* 802A906C-802A90B8 2A39AC 004C+00 0/0 2/2 0/0 .text __ct__Q28JMessage18TResourceContainerFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm JMessage::TResourceContainer::TResourceContainer() { - nofralloc -#include "asm/JSystem/JMessage/resource/__ct__Q28JMessage18TResourceContainerFv.s" -} -#pragma pop +JMessage::TResourceContainer::TResourceContainer() : mEncodingType(0), pfnParseCharacter_(NULL) {} /* 802A90B8-802A90F0 2A39F8 0038+00 1/1 0/0 0/0 .text * setEncoding__Q28JMessage18TResourceContainerFUc */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JMessage::TResourceContainer::setEncoding(u8 param_0) { - nofralloc -#include "asm/JSystem/JMessage/resource/setEncoding__Q28JMessage18TResourceContainerFUc.s" +void JMessage::TResourceContainer::setEncoding(u8 e) { + if (e == 0) { + mEncodingType = e; + pfnParseCharacter_ = NULL; + } else { + setEncoding_(e); + } } -#pragma pop /* 802A90F0-802A9130 2A3A30 0040+00 1/1 0/0 0/0 .text * setEncoding___Q28JMessage18TResourceContainerFUc */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JMessage::TResourceContainer::setEncoding_(u8 param_0) { - nofralloc -#include "asm/JSystem/JMessage/resource/setEncoding___Q28JMessage18TResourceContainerFUc.s" +void JMessage::TResourceContainer::setEncoding_(u8 e) { + mEncodingType = e; + pfnParseCharacter_ = JGadget::toValueFromIndex( + e, sapfnParseCharacter_, 5, NULL); } -#pragma pop /* 802A9130-802A9158 2A3A70 0028+00 0/0 2/2 0/0 .text * __ct__Q28JMessage6TParseFPQ28JMessage18TResourceContainer */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm JMessage::TParse::TParse(JMessage::TResourceContainer* param_0) { - nofralloc -#include "asm/JSystem/JMessage/resource/__ct__Q28JMessage6TParseFPQ28JMessage18TResourceContainer.s" +JMessage::TParse::TParse(JMessage::TResourceContainer* pContainer) { + pContainer_ = pContainer; + pResource_ = NULL; } -#pragma pop /* 802A9158-802A91B8 2A3A98 0060+00 1/0 0/0 0/0 .text __dt__Q28JMessage6TParseFv */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm JMessage::TParse::~TParse() { +// asm JMessage::TParse::~TParse() { +extern "C" asm void __dt__Q28JMessage6TParseFv() { nofralloc #include "asm/JSystem/JMessage/resource/__dt__Q28JMessage6TParseFv.s" } @@ -224,21 +202,66 @@ asm JMessage::TParse::~TParse() { /* 802A91B8-802A92F4 2A3AF8 013C+00 1/0 0/0 0/0 .text * parseHeader_next__Q28JMessage6TParseFPPCvPUlUl */ +#ifdef NONMATCHING +bool JMessage::TParse::parseHeader_next(void const** ppData_inout, u32* puBlock_out, u32 param_2) { + const void* pData = *ppData_inout; + + data::TParse_THeader header(pData); + *ppData_inout = header.getContent(); + *puBlock_out = header.get_blockNumber(); + + if (memcmp(header.get_signature(), &data::ga4cSignature, sizeof(data::ga4cSignature))) { + return 0; + } + + if (header.get_type() != 'bmg1') { + return 0; + } + + u8 encoding = header.get_encoding(); + if (encoding != 0) { + if (!pContainer_->isEncodingSettable(encoding)) { + return 0; + } + + pContainer_->setEncoding(encoding); + } + + if (param_2 & 0x10) { + return 1; + } + + pResource_ = pContainer_->resContainer_.Do_create(); + + if (pResource_ == NULL) { + if (param_2 & 0x20) { + return 0; + } else { + return 1; + } + } else { + pContainer_->resContainer_.Push_back_hack(pResource_); + pResource_->setData_header(header.getRaw()); + return 1; + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void JMessage::TParse::parseHeader_next(void const** param_0, u32* param_1, u32 param_2) { +asm bool JMessage::TParse::parseHeader_next(void const** param_0, u32* param_1, u32 param_2) { nofralloc #include "asm/JSystem/JMessage/resource/parseHeader_next__Q28JMessage6TParseFPPCvPUlUl.s" } #pragma pop +#endif /* 802A92F4-802A9490 2A3C34 019C+00 1/0 0/0 0/0 .text * parseBlock_next__Q28JMessage6TParseFPPCvPUlUl */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void JMessage::TParse::parseBlock_next(void const** param_0, u32* param_1, u32 param_2) { +asm bool JMessage::TParse::parseBlock_next(void const** param_0, u32* param_1, u32 param_2) { nofralloc #include "asm/JSystem/JMessage/resource/parseBlock_next__Q28JMessage6TParseFPPCvPUlUl.s" } @@ -246,21 +269,35 @@ asm void JMessage::TParse::parseBlock_next(void const** param_0, u32* param_1, u /* 802A9490-802A94A8 2A3DD0 0018+00 1/0 0/0 0/0 .text * parseCharacter_1Byte__Q28JMessage6localeFPPCc */ +// reg swap +#ifdef NONMATCHING +int JMessage::locale::parseCharacter_1Byte(char const** pString) { + u8* c; + int ret; + + c = (u8*)*pString; + ret = *c; + + *pString = *pString + 1; + return ret; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void JMessage::locale::parseCharacter_1Byte(char const** param_0) { +asm int JMessage::locale::parseCharacter_1Byte(char const** param_0) { nofralloc #include "asm/JSystem/JMessage/resource/parseCharacter_1Byte__Q28JMessage6localeFPPCc.s" } #pragma pop +#endif /* 802A94A8-802A94D4 2A3DE8 002C+00 1/0 0/0 0/0 .text * parseCharacter_2Byte__Q28JMessage6localeFPPCc */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void JMessage::locale::parseCharacter_2Byte(char const** param_0) { +asm int JMessage::locale::parseCharacter_2Byte(char const** param_0) { nofralloc #include "asm/JSystem/JMessage/resource/parseCharacter_2Byte__Q28JMessage6localeFPPCc.s" }