diff --git a/asm/DynamicLink.s b/asm/DynamicLink.s index 4630ec8e2d1..3df3524f97f 100644 --- a/asm/DynamicLink.s +++ b/asm/DynamicLink.s @@ -571,7 +571,7 @@ lbl_80262948: /* 80262988 0025F8C8 39 00 00 01 */ li r8, 1 /* 8026298C 0025F8CC 39 20 00 00 */ li r9, 0 /* 80262990 0025F8D0 39 40 00 00 */ li r10, 0 -/* 80262994 0025F8D4 48 07 72 05 */ bl loadToMainRAM__12JKRDvdRipperFPCcPUc15JKRExpandSwitchUlP7JKRHeapQ212JKRDvdRipper15EAllocDirectionUlP14JKRCompressionPUl +/* 80262994 0025F8D4 48 07 72 05 */ bl loadToMainRAM__12JKRDvdRipperFPCcPUc15JKRExpandSwitchUlP7JKRHeapQ212JKRDvdRipper15EAllocDirectionUlPiPUl /* 80262998 0025F8D8 90 7C 00 10 */ stw r3, 0x10(r28) /* 8026299C 0025F8DC 80 1C 00 10 */ lwz r0, 0x10(r28) /* 802629A0 0025F8E0 28 00 00 00 */ cmplwi r0, 0 diff --git a/asm/J2DGraph/J2DPrint.s b/asm/J2DGraph/J2DPrint.s index ae4e585ec8b..5e2e97cd455 100644 --- a/asm/J2DGraph/J2DPrint.s +++ b/asm/J2DGraph/J2DPrint.s @@ -260,7 +260,7 @@ J2DPrint_NS_setBuffer: /* 802F4684 002F15C4 4B FD A6 B9 */ bl __dl__FPv lbl_802F4688: /* 802F4688 002F15C8 7F C3 F3 78 */ mr r3, r30 -/* 802F468C 002F15CC 80 8D 8D F0 */ lwz r4, lbl_80451370-_SDA_BASE_(r13) +/* 802F468C 002F15CC 80 8D 8D F0 */ lwz r4, sSystemHeap__7JKRHeap-_SDA_BASE_(r13) /* 802F4690 002F15D0 38 A0 00 00 */ li r5, 0 /* 802F4694 002F15D4 4B FD A6 7D */ bl __nwa__FUlP7JKRHeapi /* 802F4698 002F15D8 90 6D 90 00 */ stw r3, lbl_80451580-_SDA_BASE_(r13) diff --git a/asm/J3DGraphLoader/J3DModelLoader.s b/asm/J3DGraphLoader/J3DModelLoader.s index 580c5cc9283..1e4c4587c9c 100644 --- a/asm/J3DGraphLoader/J3DModelLoader.s +++ b/asm/J3DGraphLoader/J3DModelLoader.s @@ -109,7 +109,7 @@ J3DModelLoader_NS_load: /* 803347F4 00331734 7C 7B 1B 78 */ mr r27, r3 /* 803347F8 00331738 7C 99 23 78 */ mr r25, r4 /* 803347FC 0033173C 7C BA 2B 78 */ mr r26, r5 -/* 80334800 00331740 80 6D 8D F4 */ lwz r3, lbl_80451374-_SDA_BASE_(r13) +/* 80334800 00331740 80 6D 8D F4 */ lwz r3, sCurrentHeap__7JKRHeap-_SDA_BASE_(r13) /* 80334804 00331744 4B F9 9F 81 */ bl getTotalFreeSize__7JKRHeapCFv /* 80334808 00331748 38 60 00 E4 */ li r3, 0xe4 /* 8033480C 0033174C 4B F9 A4 41 */ bl __nw__FUl diff --git a/asm/JAudio2/JASAudioThread.s b/asm/JAudio2/JASAudioThread.s index 2553c5ca3dc..f82bfb5a10c 100644 --- a/asm/JAudio2/JASAudioThread.s +++ b/asm/JAudio2/JASAudioThread.s @@ -54,12 +54,12 @@ JASAudioThread_NS_create: /* 8029CD84 00299CC4 4B FF FF 59 */ bl JASAudioThread /* 8029CD88 00299CC8 7C 64 1B 78 */ mr r4, r3 lbl_8029CD8C: -/* 8029CD8C 00299CCC 80 0D 8D F0 */ lwz r0, lbl_80451370-_SDA_BASE_(r13) +/* 8029CD8C 00299CCC 80 0D 8D F0 */ lwz r0, sSystemHeap__7JKRHeap-_SDA_BASE_(r13) /* 8029CD90 00299CD0 28 00 00 00 */ cmplwi r0, 0 /* 8029CD94 00299CD4 41 82 00 08 */ beq lbl_8029CD9C /* 8029CD98 00299CD8 48 00 00 08 */ b lbl_8029CDA0 lbl_8029CD9C: -/* 8029CD9C 00299CDC 80 0D 8D F4 */ lwz r0, lbl_80451374-_SDA_BASE_(r13) +/* 8029CD9C 00299CDC 80 0D 8D F4 */ lwz r0, sCurrentHeap__7JKRHeap-_SDA_BASE_(r13) lbl_8029CDA0: /* 8029CDA0 00299CE0 90 04 00 74 */ stw r0, 0x74(r4) /* 8029CDA4 00299CE4 80 64 00 2C */ lwz r3, 0x2c(r4) diff --git a/asm/JAudio2/JASDvdThread.s b/asm/JAudio2/JASDvdThread.s index 7ca72d83957..7432dd9c0e3 100644 --- a/asm/JAudio2/JASDvdThread.s +++ b/asm/JAudio2/JASDvdThread.s @@ -37,12 +37,12 @@ lbl_8028FF38: /* 8028FF60 0028CEA0 7C 64 1B 78 */ mr r4, r3 lbl_8028FF64: /* 8028FF64 0028CEA4 90 8D 8C 88 */ stw r4, lbl_80451208-_SDA_BASE_(r13) -/* 8028FF68 0028CEA8 80 0D 8D F0 */ lwz r0, lbl_80451370-_SDA_BASE_(r13) +/* 8028FF68 0028CEA8 80 0D 8D F0 */ lwz r0, sSystemHeap__7JKRHeap-_SDA_BASE_(r13) /* 8028FF6C 0028CEAC 28 00 00 00 */ cmplwi r0, 0 /* 8028FF70 0028CEB0 41 82 00 08 */ beq lbl_8028FF78 /* 8028FF74 0028CEB4 48 00 00 08 */ b lbl_8028FF7C lbl_8028FF78: -/* 8028FF78 0028CEB8 80 0D 8D F4 */ lwz r0, lbl_80451374-_SDA_BASE_(r13) +/* 8028FF78 0028CEB8 80 0D 8D F4 */ lwz r0, sCurrentHeap__7JKRHeap-_SDA_BASE_(r13) lbl_8028FF7C: /* 8028FF7C 0028CEBC 90 04 00 74 */ stw r0, 0x74(r4) /* 8028FF80 0028CEC0 80 6D 8C 88 */ lwz r3, lbl_80451208-_SDA_BASE_(r13) diff --git a/asm/JAudio2/JASHeapCtrl.s b/asm/JAudio2/JASHeapCtrl.s index 4816606a396..1f32c2fa640 100644 --- a/asm/JAudio2/JASHeapCtrl.s +++ b/asm/JAudio2/JASHeapCtrl.s @@ -683,7 +683,7 @@ lbl_80290A54: /* 80290A5C 0028D99C 28 00 00 00 */ cmplwi r0, 0 /* 80290A60 0028D9A0 40 82 00 40 */ bne lbl_80290AA0 /* 80290A64 0028D9A4 38 60 04 0C */ li r3, 0x40c -/* 80290A68 0028D9A8 80 8D 8D F0 */ lwz r4, lbl_80451370-_SDA_BASE_(r13) +/* 80290A68 0028D9A8 80 8D 8D F0 */ lwz r4, sSystemHeap__7JKRHeap-_SDA_BASE_(r13) /* 80290A6C 0028D9AC 38 A0 00 00 */ li r5, 0 /* 80290A70 0028D9B0 48 03 E2 29 */ bl __nw__FUlP7JKRHeapi /* 80290A74 0028D9B4 28 03 00 00 */ cmplwi r3, 0 diff --git a/asm/JAudio2/JASTaskThread.s b/asm/JAudio2/JASTaskThread.s index 1aa2b948dbe..29c04b322d2 100644 --- a/asm/JAudio2/JASTaskThread.s +++ b/asm/JAudio2/JASTaskThread.s @@ -171,7 +171,7 @@ lbl_8028F900: /* 8028F914 0028C854 48 00 00 4C */ b lbl_8028F960 lbl_8028F918: /* 8028F918 0028C858 38 60 04 0C */ li r3, 0x40c -/* 8028F91C 0028C85C 80 8D 8D F0 */ lwz r4, lbl_80451370-_SDA_BASE_(r13) +/* 8028F91C 0028C85C 80 8D 8D F0 */ lwz r4, sSystemHeap__7JKRHeap-_SDA_BASE_(r13) /* 8028F920 0028C860 38 A0 00 00 */ li r5, 0 /* 8028F924 0028C864 48 03 F3 75 */ bl __nw__FUlP7JKRHeapi /* 8028F928 0028C868 28 03 00 00 */ cmplwi r3, 0 @@ -279,7 +279,7 @@ lbl_8028FA7C: /* 8028FA90 0028C9D0 48 00 00 4C */ b lbl_8028FADC lbl_8028FA94: /* 8028FA94 0028C9D4 38 60 04 0C */ li r3, 0x40c -/* 8028FA98 0028C9D8 80 8D 8D F0 */ lwz r4, lbl_80451370-_SDA_BASE_(r13) +/* 8028FA98 0028C9D8 80 8D 8D F0 */ lwz r4, sSystemHeap__7JKRHeap-_SDA_BASE_(r13) /* 8028FA9C 0028C9DC 38 A0 00 00 */ li r5, 0 /* 8028FAA0 0028C9E0 48 03 F1 F9 */ bl __nw__FUlP7JKRHeapi /* 8028FAA4 0028C9E4 28 03 00 00 */ cmplwi r3, 0 diff --git a/asm/JAudio2/JASTrack.s b/asm/JAudio2/JASTrack.s index 246d24a19a8..42211dbeb04 100644 --- a/asm/JAudio2/JASTrack.s +++ b/asm/JAudio2/JASTrack.s @@ -2507,7 +2507,7 @@ lbl_8029336C: /* 802933CC 0029030C 90 1E 00 08 */ stw r0, 8(r30) /* 802933D0 00290310 38 80 00 00 */ li r4, 0 /* 802933D4 00290314 38 A0 04 00 */ li r5, 0x400 -/* 802933D8 00290318 4B D7 00 81 */ bl func_80003458 +/* 802933D8 00290318 4B D7 00 81 */ bl memset /* 802933DC 0029031C 7F C3 F3 78 */ mr r3, r30 /* 802933E0 00290320 34 63 04 0C */ addic. r3, r3, 0x40c /* 802933E4 00290324 41 82 00 08 */ beq lbl_802933EC diff --git a/asm/JAudio2/JAUInitializer.s b/asm/JAudio2/JAUInitializer.s index 92789e9d109..32bbc7afc66 100644 --- a/asm/JAudio2/JAUInitializer.s +++ b/asm/JAudio2/JAUInitializer.s @@ -49,14 +49,14 @@ JAU_JASInitializer_NS_initJASystem: /* 802A4B68 002A1AA8 80 1F 00 00 */ lwz r0, 0(r31) /* 802A4B6C 002A1AAC 28 00 00 00 */ cmplwi r0, 0 /* 802A4B70 002A1AB0 40 82 00 10 */ bne lbl_802A4B80 -/* 802A4B74 002A1AB4 80 6D 8E 48 */ lwz r3, lbl_804513C8-_SDA_BASE_(r13) +/* 802A4B74 002A1AB4 80 6D 8E 48 */ lwz r3, sAramObject__7JKRAram-_SDA_BASE_(r13) /* 802A4B78 002A1AB8 80 03 00 7C */ lwz r0, 0x7c(r3) /* 802A4B7C 002A1ABC 90 1F 00 00 */ stw r0, 0(r31) lbl_802A4B80: /* 802A4B80 002A1AC0 80 1F 00 04 */ lwz r0, 4(r31) /* 802A4B84 002A1AC4 28 00 00 00 */ cmplwi r0, 0 /* 802A4B88 002A1AC8 40 82 00 10 */ bne lbl_802A4B98 -/* 802A4B8C 002A1ACC 80 6D 8E 48 */ lwz r3, lbl_804513C8-_SDA_BASE_(r13) +/* 802A4B8C 002A1ACC 80 6D 8E 48 */ lwz r3, sAramObject__7JKRAram-_SDA_BASE_(r13) /* 802A4B90 002A1AD0 80 03 00 80 */ lwz r0, 0x80(r3) /* 802A4B94 002A1AD4 90 1F 00 04 */ stw r0, 4(r31) lbl_802A4B98: diff --git a/asm/JAudio2/JAUSectionHeap.s b/asm/JAudio2/JAUSectionHeap.s index 9cdc777b3b5..8c460d1db81 100644 --- a/asm/JAudio2/JAUSectionHeap.s +++ b/asm/JAudio2/JAUSectionHeap.s @@ -1038,7 +1038,7 @@ lbl_802A5D10: /* 802A5D34 002A2C74 80 7E 00 14 */ lwz r3, 0x14(r30) /* 802A5D38 002A2C78 38 80 00 00 */ li r4, 0 /* 802A5D3C 002A2C7C 57 A5 10 3A */ slwi r5, r29, 2 -/* 802A5D40 002A2C80 4B D5 D7 19 */ bl func_80003458 +/* 802A5D40 002A2C80 4B D5 D7 19 */ bl memset /* 802A5D44 002A2C84 93 9E 00 1C */ stw r28, 0x1c(r30) /* 802A5D48 002A2C88 3C 60 80 3D */ lis r3, lbl_803C9AF4@ha /* 802A5D4C 002A2C8C 38 63 9A F4 */ addi r3, r3, lbl_803C9AF4@l @@ -1104,7 +1104,7 @@ JAUSectionHeap_NS_TSectionHeapData: /* 802A5E18 002A2D58 80 63 00 00 */ lwz r3, 0(r3) /* 802A5E1C 002A2D5C 38 80 00 00 */ li r4, 0 /* 802A5E20 002A2D60 38 A0 03 FC */ li r5, 0x3fc -/* 802A5E24 002A2D64 4B D5 D6 35 */ bl func_80003458 +/* 802A5E24 002A2D64 4B D5 D6 35 */ bl memset /* 802A5E28 002A2D68 38 7F 04 08 */ addi r3, r31, 0x408 /* 802A5E2C 002A2D6C 48 00 0C 2D */ bl JAUDynamicSeqDataBlocks /* 802A5E30 002A2D70 38 00 00 00 */ li r0, 0 diff --git a/asm/JKernel/JKRAram.s b/asm/JKernel/JKRAram.s index b06deffdcdb..21ba852ca9c 100644 --- a/asm/JKernel/JKRAram.s +++ b/asm/JKernel/JKRAram.s @@ -7,11 +7,11 @@ __sinit_JKRAram_cpp: /* 802D2DAC 002CFCEC 94 21 FF F0 */ stwu r1, -0x10(r1) /* 802D2DB0 002CFCF0 7C 08 02 A6 */ mflr r0 /* 802D2DB4 002CFCF4 90 01 00 14 */ stw r0, 0x14(r1) -/* 802D2DB8 002CFCF8 3C 60 80 43 */ lis r3, lbl_804342DC@ha -/* 802D2DBC 002CFCFC 38 63 42 DC */ addi r3, r3, lbl_804342DC@l +/* 802D2DB8 002CFCF8 3C 60 80 43 */ lis r3, sAramCommandList__7JKRAram@ha +/* 802D2DBC 002CFCFC 38 63 42 DC */ addi r3, r3, sAramCommandList__7JKRAram@l /* 802D2DC0 002CFD00 48 00 91 55 */ bl initiate__10JSUPtrListFv -/* 802D2DC4 002CFD04 3C 60 80 43 */ lis r3, lbl_804342DC@ha -/* 802D2DC8 002CFD08 38 63 42 DC */ addi r3, r3, lbl_804342DC@l +/* 802D2DC4 002CFD04 3C 60 80 43 */ lis r3, sAramCommandList__7JKRAram@ha +/* 802D2DC8 002CFD08 38 63 42 DC */ addi r3, r3, sAramCommandList__7JKRAram@l .global JSUList_NS_dtor_X4_ /* 802D2DCC 002CFD0C 3C 80 80 2D */ lis r4, JSUList_NS_dtor_X4_@ha .global JSUList_NS_dtor_X4_ diff --git a/asm/JKernel/JKRAramArchive.s b/asm/JKernel/JKRAramArchive.s index 678e5e0cd3d..3c6d05fe736 100644 --- a/asm/JKernel/JKRAramArchive.s +++ b/asm/JKernel/JKRAramArchive.s @@ -2,6 +2,7 @@ .section .text, "ax" # 802D7B90 +/* JKRFile::~JKRFile(void) */ /* 802D7B90 002D4AD0 94 21 FF F0 */ stwu r1, -0x10(r1) /* 802D7B94 002D4AD4 7C 08 02 A6 */ mflr r0 /* 802D7B98 002D4AD8 90 01 00 14 */ stw r0, 0x14(r1) diff --git a/asm/JKernel/JKRArchivePri.s b/asm/JKernel/JKRArchivePri.s deleted file mode 100644 index 3351e797576..00000000000 --- a/asm/JKernel/JKRArchivePri.s +++ /dev/null @@ -1,41 +0,0 @@ -.include "macros.inc" - -.section .text, "ax" # 802D693C - -/* 802D693C 002D387C 80 03 00 4C */ lwz r0, 0x4c(r3) -/* 802D6940 002D3880 7C 80 20 50 */ subf r4, r0, r4 -/* 802D6944 002D3884 38 00 00 14 */ li r0, 0x14 -/* 802D6948 002D3888 7C C4 03 D6 */ divw r6, r4, r0 -/* 802D694C 002D388C 80 83 00 50 */ lwz r4, 0x50(r3) -/* 802D6950 002D3890 28 04 00 00 */ cmplwi r4, 0 -/* 802D6954 002D3894 4D 82 00 20 */ beqlr -/* 802D6958 002D3898 80 63 00 44 */ lwz r3, 0x44(r3) -/* 802D695C 002D389C 80 03 00 08 */ lwz r0, 8(r3) -/* 802D6960 002D38A0 7C 06 00 40 */ cmplw r6, r0 -/* 802D6964 002D38A4 41 80 00 08 */ blt lbl_802D696C -/* 802D6968 002D38A8 4E 80 00 20 */ blr -lbl_802D696C: -/* 802D696C 002D38AC 54 C0 10 3A */ slwi r0, r6, 2 -/* 802D6970 002D38B0 7C A4 01 2E */ stwx r5, r4, r0 -/* 802D6974 002D38B4 4E 80 00 20 */ blr - - -/* 802D6978 002D38B8 80 03 00 4C */ lwz r0, 0x4c(r3) -/* 802D697C 002D38BC 7C 80 20 50 */ subf r4, r0, r4 -/* 802D6980 002D38C0 38 00 00 14 */ li r0, 0x14 -/* 802D6984 002D38C4 7C A4 03 D6 */ divw r5, r4, r0 -/* 802D6988 002D38C8 80 83 00 50 */ lwz r4, 0x50(r3) -/* 802D698C 002D38CC 28 04 00 00 */ cmplwi r4, 0 -/* 802D6990 002D38D0 41 82 00 14 */ beq lbl_802D69A4 -/* 802D6994 002D38D4 80 63 00 44 */ lwz r3, 0x44(r3) -/* 802D6998 002D38D8 80 03 00 08 */ lwz r0, 8(r3) -/* 802D699C 002D38DC 7C 05 00 40 */ cmplw r5, r0 -/* 802D69A0 002D38E0 41 80 00 0C */ blt lbl_802D69AC -lbl_802D69A4: -/* 802D69A4 002D38E4 38 60 00 00 */ li r3, 0 -/* 802D69A8 002D38E8 4E 80 00 20 */ blr -lbl_802D69AC: -/* 802D69AC 002D38EC 54 A0 10 3A */ slwi r0, r5, 2 -/* 802D69B0 002D38F0 7C 64 00 2E */ lwzx r3, r4, r0 -/* 802D69B4 002D38F4 4E 80 00 20 */ blr - diff --git a/asm/JKernel/JKRAssertHeap.s b/asm/JKernel/JKRAssertHeap.s deleted file mode 100644 index 6910d246e28..00000000000 --- a/asm/JKernel/JKRAssertHeap.s +++ /dev/null @@ -1,126 +0,0 @@ -.include "macros.inc" - -.section .text, "ax" # 802d12c4 - - -.global __ct__13JKRAssertHeapFPvUlP7JKRHeapb -__ct__13JKRAssertHeapFPvUlP7JKRHeapb: -/* 802D12C4 002CE204 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802D12C8 002CE208 7C 08 02 A6 */ mflr r0 -/* 802D12CC 002CE20C 90 01 00 14 */ stw r0, 0x14(r1) -/* 802D12D0 002CE210 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802D12D4 002CE214 7C 7F 1B 78 */ mr r31, r3 -/* 802D12D8 002CE218 4B FF CE 61 */ bl __ct__7JKRHeapFPvUlP7JKRHeapb -/* 802D12DC 002CE21C 3C 60 80 3D */ lis r3, lbl_803CC090@ha -/* 802D12E0 002CE220 38 03 C0 90 */ addi r0, r3, lbl_803CC090@l -/* 802D12E4 002CE224 90 1F 00 00 */ stw r0, 0(r31) -/* 802D12E8 002CE228 7F E3 FB 78 */ mr r3, r31 -/* 802D12EC 002CE22C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802D12F0 002CE230 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802D12F4 002CE234 7C 08 03 A6 */ mtlr r0 -/* 802D12F8 002CE238 38 21 00 10 */ addi r1, r1, 0x10 -/* 802D12FC 002CE23C 4E 80 00 20 */ blr -/* 802D1300 002CE240 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802D1304 002CE244 7C 08 02 A6 */ mflr r0 -/* 802D1308 002CE248 90 01 00 14 */ stw r0, 0x14(r1) -/* 802D130C 002CE24C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802D1310 002CE250 93 C1 00 08 */ stw r30, 8(r1) -/* 802D1314 002CE254 7C 7E 1B 79 */ or. r30, r3, r3 -/* 802D1318 002CE258 7C 9F 23 78 */ mr r31, r4 -/* 802D131C 002CE25C 41 82 00 30 */ beq lbl_802D134C -/* 802D1320 002CE260 3C 80 80 3D */ lis r4, lbl_803CC090@ha -/* 802D1324 002CE264 38 04 C0 90 */ addi r0, r4, lbl_803CC090@l -/* 802D1328 002CE268 90 1E 00 00 */ stw r0, 0(r30) -/* 802D132C 002CE26C 4B FF D7 95 */ bl dispose__7JKRHeapFv -/* 802D1330 002CE270 7F C3 F3 78 */ mr r3, r30 -/* 802D1334 002CE274 38 80 00 00 */ li r4, 0 -/* 802D1338 002CE278 4B FF CF 2D */ bl __dt__7JKRHeapFv -/* 802D133C 002CE27C 7F E0 07 35 */ extsh. r0, r31 -/* 802D1340 002CE280 40 81 00 0C */ ble lbl_802D134C -/* 802D1344 002CE284 7F C3 F3 78 */ mr r3, r30 -/* 802D1348 002CE288 4B FF D9 F5 */ bl __dl__FPv -lbl_802D134C: -/* 802D134C 002CE28C 7F C3 F3 78 */ mr r3, r30 -/* 802D1350 002CE290 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802D1354 002CE294 83 C1 00 08 */ lwz r30, 8(r1) -/* 802D1358 002CE298 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802D135C 002CE29C 7C 08 03 A6 */ mtlr r0 -/* 802D1360 002CE2A0 38 21 00 10 */ addi r1, r1, 0x10 -/* 802D1364 002CE2A4 4E 80 00 20 */ blr - -.global create__13JKRAssertHeapFP7JKRHeap -create__13JKRAssertHeapFP7JKRHeap: -/* 802D1368 002CE2A8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802D136C 002CE2AC 7C 08 02 A6 */ mflr r0 -/* 802D1370 002CE2B0 90 01 00 14 */ stw r0, 0x14(r1) -/* 802D1374 002CE2B4 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802D1378 002CE2B8 7C 7F 1B 79 */ or. r31, r3, r3 -/* 802D137C 002CE2BC 40 82 00 08 */ bne lbl_802D1384 -/* 802D1380 002CE2C0 83 ED 8D F8 */ lwz r31, lbl_80451378-_SDA_BASE_(r13) -lbl_802D1384: -/* 802D1384 002CE2C4 38 60 00 70 */ li r3, 0x70 -/* 802D1388 002CE2C8 38 80 00 10 */ li r4, 0x10 -/* 802D138C 002CE2CC 7F E5 FB 78 */ mr r5, r31 -/* 802D1390 002CE2D0 4B FF D0 E5 */ bl alloc__7JKRHeapFUliP7JKRHeap -/* 802D1394 002CE2D4 7C 60 1B 79 */ or. r0, r3, r3 -/* 802D1398 002CE2D8 40 82 00 0C */ bne lbl_802D13A4 -/* 802D139C 002CE2DC 38 60 00 00 */ li r3, 0 -/* 802D13A0 002CE2E0 48 00 00 24 */ b lbl_802D13C4 -lbl_802D13A4: -/* 802D13A4 002CE2E4 41 82 00 1C */ beq lbl_802D13C0 -/* 802D13A8 002CE2E8 38 80 00 00 */ li r4, 0 -/* 802D13AC 002CE2EC 38 A0 00 00 */ li r5, 0 -/* 802D13B0 002CE2F0 7F E6 FB 78 */ mr r6, r31 -/* 802D13B4 002CE2F4 38 E0 00 00 */ li r7, 0 -/* 802D13B8 002CE2F8 4B FF FF 0D */ bl __ct__13JKRAssertHeapFPvUlP7JKRHeapb -/* 802D13BC 002CE2FC 7C 60 1B 78 */ mr r0, r3 -lbl_802D13C0: -/* 802D13C0 002CE300 7C 03 03 78 */ mr r3, r0 -lbl_802D13C4: -/* 802D13C4 002CE304 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802D13C8 002CE308 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802D13CC 002CE30C 7C 08 03 A6 */ mtlr r0 -/* 802D13D0 002CE310 38 21 00 10 */ addi r1, r1, 0x10 -/* 802D13D4 002CE314 4E 80 00 20 */ blr -/* 802D13D8 002CE318 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802D13DC 002CE31C 7C 08 02 A6 */ mflr r0 -/* 802D13E0 002CE320 90 01 00 14 */ stw r0, 0x14(r1) -/* 802D13E4 002CE324 38 80 FF FF */ li r4, -1 -/* 802D13E8 002CE328 81 83 00 00 */ lwz r12, 0(r3) -/* 802D13EC 002CE32C 81 8C 00 08 */ lwz r12, 8(r12) -/* 802D13F0 002CE330 7D 89 03 A6 */ mtctr r12 -/* 802D13F4 002CE334 4E 80 04 21 */ bctrl -/* 802D13F8 002CE338 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802D13FC 002CE33C 7C 08 03 A6 */ mtlr r0 -/* 802D1400 002CE340 38 21 00 10 */ addi r1, r1, 0x10 -/* 802D1404 002CE344 4E 80 00 20 */ blr -/* 802D1408 002CE348 3C 60 41 53 */ lis r3, 0x41535448@ha -/* 802D140C 002CE34C 38 63 54 48 */ addi r3, r3, 0x41535448@l -/* 802D1410 002CE350 4E 80 00 20 */ blr -/* 802D1414 002CE354 38 60 00 01 */ li r3, 1 -/* 802D1418 002CE358 4E 80 00 20 */ blr -/* 802D141C 002CE35C 38 60 00 01 */ li r3, 1 -/* 802D1420 002CE360 4E 80 00 20 */ blr -/* 802D1424 002CE364 38 60 00 01 */ li r3, 1 -/* 802D1428 002CE368 4E 80 00 20 */ blr -/* 802D142C 002CE36C 38 60 00 00 */ li r3, 0 -/* 802D1430 002CE370 4E 80 00 20 */ blr -/* 802D1434 002CE374 38 60 00 00 */ li r3, 0 -/* 802D1438 002CE378 4E 80 00 20 */ blr -/* 802D143C 002CE37C 38 60 00 00 */ li r3, 0 -/* 802D1440 002CE380 4E 80 00 20 */ blr -/* 802D1444 002CE384 4E 80 00 20 */ blr -/* 802D1448 002CE388 4E 80 00 20 */ blr -/* 802D144C 002CE38C 4E 80 00 20 */ blr -/* 802D1450 002CE390 4E 80 00 20 */ blr -/* 802D1454 002CE394 38 60 00 00 */ li r3, 0 -/* 802D1458 002CE398 4E 80 00 20 */ blr -/* 802D145C 002CE39C 38 60 00 00 */ li r3, 0 -/* 802D1460 002CE3A0 4E 80 00 20 */ blr -/* 802D1464 002CE3A4 38 60 00 00 */ li r3, 0 -/* 802D1468 002CE3A8 4E 80 00 20 */ blr -/* 802D146C 002CE3AC 38 60 00 00 */ li r3, 0 -/* 802D1470 002CE3B0 4E 80 00 20 */ blr -/* 802D1474 002CE3B4 38 60 00 00 */ li r3, 0 -/* 802D1478 002CE3B8 4E 80 00 20 */ blr - diff --git a/asm/JKernel/JKRDvdFile.s b/asm/JKernel/JKRDvdFile.s index 4d618874c3c..fa1f6e50d4c 100644 --- a/asm/JKernel/JKRDvdFile.s +++ b/asm/JKernel/JKRDvdFile.s @@ -7,11 +7,11 @@ __sinit_JKRDvdFile_cpp: /* 802D9B00 002D6A40 94 21 FF F0 */ stwu r1, -0x10(r1) /* 802D9B04 002D6A44 7C 08 02 A6 */ mflr r0 /* 802D9B08 002D6A48 90 01 00 14 */ stw r0, 0x14(r1) -/* 802D9B0C 002D6A4C 3C 60 80 43 */ lis r3, lbl_8043436C@ha -/* 802D9B10 002D6A50 38 63 43 6C */ addi r3, r3, lbl_8043436C@l +/* 802D9B0C 002D6A4C 3C 60 80 43 */ lis r3, sDvdList__10JKRDvdFile@ha +/* 802D9B10 002D6A50 38 63 43 6C */ addi r3, r3, sDvdList__10JKRDvdFile@l /* 802D9B14 002D6A54 48 00 24 01 */ bl initiate__10JSUPtrListFv -/* 802D9B18 002D6A58 3C 60 80 43 */ lis r3, lbl_8043436C@ha -/* 802D9B1C 002D6A5C 38 63 43 6C */ addi r3, r3, lbl_8043436C@l +/* 802D9B18 002D6A58 3C 60 80 43 */ lis r3, sDvdList__10JKRDvdFile@ha +/* 802D9B1C 002D6A5C 38 63 43 6C */ addi r3, r3, sDvdList__10JKRDvdFile@l .global JSUList_NS_dtor_X7_ /* 802D9B20 002D6A60 3C 80 80 2E */ lis r4, JSUList_NS_dtor_X7_@ha .global JSUList_NS_dtor_X7_ diff --git a/asm/JKernel/JKRExpHeap.s b/asm/JKernel/JKRExpHeap.s deleted file mode 100644 index 7ad4714373e..00000000000 --- a/asm/JKernel/JKRExpHeap.s +++ /dev/null @@ -1,2052 +0,0 @@ -.include "macros.inc" - -.section .text, "ax" # 802cedb4 - - -.global createRoot__10JKRExpHeapFib -createRoot__10JKRExpHeapFib: -/* 802CEDB4 002CBCF4 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802CEDB8 002CBCF8 7C 08 02 A6 */ mflr r0 -/* 802CEDBC 002CBCFC 90 01 00 24 */ stw r0, 0x24(r1) -/* 802CEDC0 002CBD00 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 802CEDC4 002CBD04 7C 65 1B 78 */ mr r5, r3 -/* 802CEDC8 002CBD08 7C 9F 23 78 */ mr r31, r4 -/* 802CEDCC 002CBD0C 38 60 00 00 */ li r3, 0 -/* 802CEDD0 002CBD10 80 0D 8D F8 */ lwz r0, lbl_80451378-_SDA_BASE_(r13) -/* 802CEDD4 002CBD14 28 00 00 00 */ cmplwi r0, 0 -/* 802CEDD8 002CBD18 40 82 00 38 */ bne lbl_802CEE10 -/* 802CEDDC 002CBD1C 38 61 00 0C */ addi r3, r1, 0xc -/* 802CEDE0 002CBD20 38 81 00 08 */ addi r4, r1, 8 -/* 802CEDE4 002CBD24 4B FF F5 95 */ bl initArena__7JKRHeapFPPcPUli -/* 802CEDE8 002CBD28 80 61 00 0C */ lwz r3, 0xc(r1) -/* 802CEDEC 002CBD2C 38 83 00 90 */ addi r4, r3, 0x90 -/* 802CEDF0 002CBD30 80 A1 00 08 */ lwz r5, 8(r1) -/* 802CEDF4 002CBD34 38 A5 FF 70 */ addi r5, r5, -144 -/* 802CEDF8 002CBD38 28 03 00 00 */ cmplwi r3, 0 -/* 802CEDFC 002CBD3C 41 82 00 10 */ beq lbl_802CEE0C -/* 802CEE00 002CBD40 38 C0 00 00 */ li r6, 0 -/* 802CEE04 002CBD44 7F E7 FB 78 */ mr r7, r31 -/* 802CEE08 002CBD48 48 00 02 29 */ bl __ct__10JKRExpHeapFPvUlP7JKRHeapb -lbl_802CEE0C: -/* 802CEE0C 002CBD4C 90 6D 8D F8 */ stw r3, lbl_80451378-_SDA_BASE_(r13) -lbl_802CEE10: -/* 802CEE10 002CBD50 38 00 00 01 */ li r0, 1 -/* 802CEE14 002CBD54 98 03 00 6E */ stb r0, 0x6e(r3) -/* 802CEE18 002CBD58 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 802CEE1C 002CBD5C 80 01 00 24 */ lwz r0, 0x24(r1) -/* 802CEE20 002CBD60 7C 08 03 A6 */ mtlr r0 -/* 802CEE24 002CBD64 38 21 00 20 */ addi r1, r1, 0x20 -/* 802CEE28 002CBD68 4E 80 00 20 */ blr - -.global create__10JKRExpHeapFUlP7JKRHeapb -create__10JKRExpHeapFUlP7JKRHeapb: -/* 802CEE2C 002CBD6C 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802CEE30 002CBD70 7C 08 02 A6 */ mflr r0 -/* 802CEE34 002CBD74 90 01 00 24 */ stw r0, 0x24(r1) -/* 802CEE38 002CBD78 39 61 00 20 */ addi r11, r1, 0x20 -/* 802CEE3C 002CBD7C 48 09 33 9D */ bl _savegpr_28 -/* 802CEE40 002CBD80 7C 9C 23 79 */ or. r28, r4, r4 -/* 802CEE44 002CBD84 7C BD 2B 78 */ mr r29, r5 -/* 802CEE48 002CBD88 40 82 00 08 */ bne lbl_802CEE50 -/* 802CEE4C 002CBD8C 83 8D 8D F8 */ lwz r28, lbl_80451378-_SDA_BASE_(r13) -lbl_802CEE50: -/* 802CEE50 002CBD90 3C 03 00 01 */ addis r0, r3, 1 -/* 802CEE54 002CBD94 28 00 FF FF */ cmplwi r0, 0xffff -/* 802CEE58 002CBD98 40 82 00 10 */ bne lbl_802CEE68 -/* 802CEE5C 002CBD9C 7F 83 E3 78 */ mr r3, r28 -/* 802CEE60 002CBDA0 38 80 00 10 */ li r4, 0x10 -/* 802CEE64 002CBDA4 4B FF F9 79 */ bl getMaxAllocatableSize__7JKRHeapCFi -lbl_802CEE68: -/* 802CEE68 002CBDA8 54 7F 00 36 */ rlwinm r31, r3, 0, 0, 0x1b -/* 802CEE6C 002CBDAC 28 1F 00 A0 */ cmplwi r31, 0xa0 -/* 802CEE70 002CBDB0 40 80 00 0C */ bge lbl_802CEE7C -/* 802CEE74 002CBDB4 38 60 00 00 */ li r3, 0 -/* 802CEE78 002CBDB8 48 00 00 70 */ b lbl_802CEEE8 -lbl_802CEE7C: -/* 802CEE7C 002CBDBC 7F E3 FB 78 */ mr r3, r31 -/* 802CEE80 002CBDC0 38 80 00 10 */ li r4, 0x10 -/* 802CEE84 002CBDC4 7F 85 E3 78 */ mr r5, r28 -/* 802CEE88 002CBDC8 4B FF F5 ED */ bl alloc__7JKRHeapFUliP7JKRHeap -/* 802CEE8C 002CBDCC 7C 60 1B 78 */ mr r0, r3 -/* 802CEE90 002CBDD0 7C 1E 03 79 */ or. r30, r0, r0 -/* 802CEE94 002CBDD4 38 9E 00 90 */ addi r4, r30, 0x90 -/* 802CEE98 002CBDD8 40 82 00 0C */ bne lbl_802CEEA4 -/* 802CEE9C 002CBDDC 38 60 00 00 */ li r3, 0 -/* 802CEEA0 002CBDE0 48 00 00 48 */ b lbl_802CEEE8 -lbl_802CEEA4: -/* 802CEEA4 002CBDE4 7F C5 F3 78 */ mr r5, r30 -/* 802CEEA8 002CBDE8 41 82 00 18 */ beq lbl_802CEEC0 -/* 802CEEAC 002CBDEC 38 BF FF 70 */ addi r5, r31, -144 -/* 802CEEB0 002CBDF0 7F 86 E3 78 */ mr r6, r28 -/* 802CEEB4 002CBDF4 7F A7 EB 78 */ mr r7, r29 -/* 802CEEB8 002CBDF8 48 00 01 79 */ bl __ct__10JKRExpHeapFPvUlP7JKRHeapb -/* 802CEEBC 002CBDFC 7C 65 1B 78 */ mr r5, r3 -lbl_802CEEC0: -/* 802CEEC0 002CBE00 28 05 00 00 */ cmplwi r5, 0 -/* 802CEEC4 002CBE04 40 82 00 18 */ bne lbl_802CEEDC -/* 802CEEC8 002CBE08 7F C3 F3 78 */ mr r3, r30 -/* 802CEECC 002CBE0C 38 80 00 00 */ li r4, 0 -/* 802CEED0 002CBE10 4B FF F6 31 */ bl free__7JKRHeapFPvP7JKRHeap -/* 802CEED4 002CBE14 38 60 00 00 */ li r3, 0 -/* 802CEED8 002CBE18 48 00 00 10 */ b lbl_802CEEE8 -lbl_802CEEDC: -/* 802CEEDC 002CBE1C 38 00 00 00 */ li r0, 0 -/* 802CEEE0 002CBE20 98 05 00 6E */ stb r0, 0x6e(r5) -/* 802CEEE4 002CBE24 7C A3 2B 78 */ mr r3, r5 -lbl_802CEEE8: -/* 802CEEE8 002CBE28 39 61 00 20 */ addi r11, r1, 0x20 -/* 802CEEEC 002CBE2C 48 09 33 39 */ bl _restgpr_28 -/* 802CEEF0 002CBE30 80 01 00 24 */ lwz r0, 0x24(r1) -/* 802CEEF4 002CBE34 7C 08 03 A6 */ mtlr r0 -/* 802CEEF8 002CBE38 38 21 00 20 */ addi r1, r1, 0x20 -/* 802CEEFC 002CBE3C 4E 80 00 20 */ blr - -.global create__10JKRExpHeapFPvUlP7JKRHeapb -create__10JKRExpHeapFPvUlP7JKRHeapb: -/* 802CEF00 002CBE40 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802CEF04 002CBE44 7C 08 02 A6 */ mflr r0 -/* 802CEF08 002CBE48 90 01 00 24 */ stw r0, 0x24(r1) -/* 802CEF0C 002CBE4C 39 61 00 20 */ addi r11, r1, 0x20 -/* 802CEF10 002CBE50 48 09 32 CD */ bl _savegpr_29 -/* 802CEF14 002CBE54 7C 7D 1B 78 */ mr r29, r3 -/* 802CEF18 002CBE58 7C 9E 23 78 */ mr r30, r4 -/* 802CEF1C 002CBE5C 7C DF 33 78 */ mr r31, r6 -/* 802CEF20 002CBE60 28 05 00 00 */ cmplwi r5, 0 -/* 802CEF24 002CBE64 40 82 00 20 */ bne lbl_802CEF44 -/* 802CEF28 002CBE68 80 6D 8D F8 */ lwz r3, lbl_80451378-_SDA_BASE_(r13) -/* 802CEF2C 002CBE6C 7F A4 EB 78 */ mr r4, r29 -/* 802CEF30 002CBE70 4B FF F9 65 */ bl find__7JKRHeapCFPv -/* 802CEF34 002CBE74 7C 66 1B 79 */ or. r6, r3, r3 -/* 802CEF38 002CBE78 40 82 00 10 */ bne lbl_802CEF48 -/* 802CEF3C 002CBE7C 38 60 00 00 */ li r3, 0 -/* 802CEF40 002CBE80 48 00 00 54 */ b lbl_802CEF94 -lbl_802CEF44: -/* 802CEF44 002CBE84 7C A6 2B 78 */ mr r6, r5 -lbl_802CEF48: -/* 802CEF48 002CBE88 38 60 00 00 */ li r3, 0 -/* 802CEF4C 002CBE8C 28 1E 00 90 */ cmplwi r30, 0x90 -/* 802CEF50 002CBE90 40 80 00 0C */ bge lbl_802CEF5C -/* 802CEF54 002CBE94 38 60 00 00 */ li r3, 0 -/* 802CEF58 002CBE98 48 00 00 3C */ b lbl_802CEF94 -lbl_802CEF5C: -/* 802CEF5C 002CBE9C 38 9D 00 90 */ addi r4, r29, 0x90 -/* 802CEF60 002CBEA0 7C 1D F2 14 */ add r0, r29, r30 -/* 802CEF64 002CBEA4 7C 04 00 50 */ subf r0, r4, r0 -/* 802CEF68 002CBEA8 54 05 00 36 */ rlwinm r5, r0, 0, 0, 0x1b -/* 802CEF6C 002CBEAC 28 1D 00 00 */ cmplwi r29, 0 -/* 802CEF70 002CBEB0 41 82 00 14 */ beq lbl_802CEF84 -/* 802CEF74 002CBEB4 7F A3 EB 78 */ mr r3, r29 -/* 802CEF78 002CBEB8 41 82 00 0C */ beq lbl_802CEF84 -/* 802CEF7C 002CBEBC 7F E7 FB 78 */ mr r7, r31 -/* 802CEF80 002CBEC0 48 00 00 B1 */ bl __ct__10JKRExpHeapFPvUlP7JKRHeapb -lbl_802CEF84: -/* 802CEF84 002CBEC4 38 00 00 01 */ li r0, 1 -/* 802CEF88 002CBEC8 98 03 00 6E */ stb r0, 0x6e(r3) -/* 802CEF8C 002CBECC 93 A3 00 70 */ stw r29, 0x70(r3) -/* 802CEF90 002CBED0 93 C3 00 74 */ stw r30, 0x74(r3) -lbl_802CEF94: -/* 802CEF94 002CBED4 39 61 00 20 */ addi r11, r1, 0x20 -/* 802CEF98 002CBED8 48 09 32 91 */ bl _restgpr_29 -/* 802CEF9C 002CBEDC 80 01 00 24 */ lwz r0, 0x24(r1) -/* 802CEFA0 002CBEE0 7C 08 03 A6 */ mtlr r0 -/* 802CEFA4 002CBEE4 38 21 00 20 */ addi r1, r1, 0x20 -/* 802CEFA8 002CBEE8 4E 80 00 20 */ blr -/* 802CEFAC 002CBEEC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802CEFB0 002CBEF0 7C 08 02 A6 */ mflr r0 -/* 802CEFB4 002CBEF4 90 01 00 14 */ stw r0, 0x14(r1) -/* 802CEFB8 002CBEF8 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802CEFBC 002CBEFC 93 C1 00 08 */ stw r30, 8(r1) -/* 802CEFC0 002CBF00 7C 7E 1B 78 */ mr r30, r3 -/* 802CEFC4 002CBF04 88 03 00 6E */ lbz r0, 0x6e(r3) -/* 802CEFC8 002CBF08 28 00 00 00 */ cmplwi r0, 0 -/* 802CEFCC 002CBF0C 40 82 00 38 */ bne lbl_802CF004 -/* 802CEFD0 002CBF10 80 9E 00 50 */ lwz r4, 0x50(r30) -/* 802CEFD4 002CBF14 83 E4 00 0C */ lwz r31, 0xc(r4) -/* 802CEFD8 002CBF18 28 1F 00 00 */ cmplwi r31, 0 -/* 802CEFDC 002CBF1C 41 82 00 3C */ beq lbl_802CF018 -/* 802CEFE0 002CBF20 38 80 FF FF */ li r4, -1 -/* 802CEFE4 002CBF24 81 83 00 00 */ lwz r12, 0(r3) -/* 802CEFE8 002CBF28 81 8C 00 08 */ lwz r12, 8(r12) -/* 802CEFEC 002CBF2C 7D 89 03 A6 */ mtctr r12 -/* 802CEFF0 002CBF30 4E 80 04 21 */ bctrl -/* 802CEFF4 002CBF34 7F C3 F3 78 */ mr r3, r30 -/* 802CEFF8 002CBF38 7F E4 FB 78 */ mr r4, r31 -/* 802CEFFC 002CBF3C 4B FF F5 05 */ bl free__7JKRHeapFPvP7JKRHeap -/* 802CF000 002CBF40 48 00 00 18 */ b lbl_802CF018 -lbl_802CF004: -/* 802CF004 002CBF44 38 80 FF FF */ li r4, -1 -/* 802CF008 002CBF48 81 83 00 00 */ lwz r12, 0(r3) -/* 802CF00C 002CBF4C 81 8C 00 08 */ lwz r12, 8(r12) -/* 802CF010 002CBF50 7D 89 03 A6 */ mtctr r12 -/* 802CF014 002CBF54 4E 80 04 21 */ bctrl -lbl_802CF018: -/* 802CF018 002CBF58 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802CF01C 002CBF5C 83 C1 00 08 */ lwz r30, 8(r1) -/* 802CF020 002CBF60 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802CF024 002CBF64 7C 08 03 A6 */ mtlr r0 -/* 802CF028 002CBF68 38 21 00 10 */ addi r1, r1, 0x10 -/* 802CF02C 002CBF6C 4E 80 00 20 */ blr - -.global __ct__10JKRExpHeapFPvUlP7JKRHeapb -__ct__10JKRExpHeapFPvUlP7JKRHeapb: -/* 802CF030 002CBF70 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802CF034 002CBF74 7C 08 02 A6 */ mflr r0 -/* 802CF038 002CBF78 90 01 00 24 */ stw r0, 0x24(r1) -/* 802CF03C 002CBF7C 39 61 00 20 */ addi r11, r1, 0x20 -/* 802CF040 002CBF80 48 09 31 9D */ bl _savegpr_29 -/* 802CF044 002CBF84 7C 7D 1B 78 */ mr r29, r3 -/* 802CF048 002CBF88 7C 9E 23 78 */ mr r30, r4 -/* 802CF04C 002CBF8C 7C BF 2B 78 */ mr r31, r5 -/* 802CF050 002CBF90 4B FF F0 E9 */ bl __ct__7JKRHeapFPvUlP7JKRHeapb -/* 802CF054 002CBF94 3C 60 80 3D */ lis r3, lbl_803CBFD0@ha -/* 802CF058 002CBF98 38 03 BF D0 */ addi r0, r3, lbl_803CBFD0@l -/* 802CF05C 002CBF9C 90 1D 00 00 */ stw r0, 0(r29) -/* 802CF060 002CBFA0 38 00 00 00 */ li r0, 0 -/* 802CF064 002CBFA4 98 1D 00 6C */ stb r0, 0x6c(r29) -/* 802CF068 002CBFA8 38 00 00 FF */ li r0, 0xff -/* 802CF06C 002CBFAC 98 1D 00 6D */ stb r0, 0x6d(r29) -/* 802CF070 002CBFB0 93 DD 00 78 */ stw r30, 0x78(r29) -/* 802CF074 002CBFB4 80 1D 00 78 */ lwz r0, 0x78(r29) -/* 802CF078 002CBFB8 90 1D 00 7C */ stw r0, 0x7c(r29) -/* 802CF07C 002CBFBC 80 7D 00 78 */ lwz r3, 0x78(r29) -/* 802CF080 002CBFC0 38 80 00 00 */ li r4, 0 -/* 802CF084 002CBFC4 38 A0 00 00 */ li r5, 0 -/* 802CF088 002CBFC8 38 DF FF F0 */ addi r6, r31, -16 -/* 802CF08C 002CBFCC 38 E0 00 00 */ li r7, 0 -/* 802CF090 002CBFD0 39 00 00 00 */ li r8, 0 -/* 802CF094 002CBFD4 48 00 17 7D */ bl initiate__Q210JKRExpHeap9CMemBlockFPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlockUlUcUc -/* 802CF098 002CBFD8 38 00 00 00 */ li r0, 0 -/* 802CF09C 002CBFDC 90 1D 00 80 */ stw r0, 0x80(r29) -/* 802CF0A0 002CBFE0 90 1D 00 84 */ stw r0, 0x84(r29) -/* 802CF0A4 002CBFE4 7F A3 EB 78 */ mr r3, r29 -/* 802CF0A8 002CBFE8 39 61 00 20 */ addi r11, r1, 0x20 -/* 802CF0AC 002CBFEC 48 09 31 7D */ bl _restgpr_29 -/* 802CF0B0 002CBFF0 80 01 00 24 */ lwz r0, 0x24(r1) -/* 802CF0B4 002CBFF4 7C 08 03 A6 */ mtlr r0 -/* 802CF0B8 002CBFF8 38 21 00 20 */ addi r1, r1, 0x20 -/* 802CF0BC 002CBFFC 4E 80 00 20 */ blr -/* 802CF0C0 002CC000 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802CF0C4 002CC004 7C 08 02 A6 */ mflr r0 -/* 802CF0C8 002CC008 90 01 00 14 */ stw r0, 0x14(r1) -/* 802CF0CC 002CC00C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802CF0D0 002CC010 93 C1 00 08 */ stw r30, 8(r1) -/* 802CF0D4 002CC014 7C 7E 1B 79 */ or. r30, r3, r3 -/* 802CF0D8 002CC018 7C 9F 23 78 */ mr r31, r4 -/* 802CF0DC 002CC01C 41 82 00 30 */ beq lbl_802CF10C -/* 802CF0E0 002CC020 3C 80 80 3D */ lis r4, lbl_803CBFD0@ha -/* 802CF0E4 002CC024 38 04 BF D0 */ addi r0, r4, lbl_803CBFD0@l -/* 802CF0E8 002CC028 90 1E 00 00 */ stw r0, 0(r30) -/* 802CF0EC 002CC02C 4B FF F9 D5 */ bl dispose__7JKRHeapFv -/* 802CF0F0 002CC030 7F C3 F3 78 */ mr r3, r30 -/* 802CF0F4 002CC034 38 80 00 00 */ li r4, 0 -/* 802CF0F8 002CC038 4B FF F1 6D */ bl __dt__7JKRHeapFv -/* 802CF0FC 002CC03C 7F E0 07 35 */ extsh. r0, r31 -/* 802CF100 002CC040 40 81 00 0C */ ble lbl_802CF10C -/* 802CF104 002CC044 7F C3 F3 78 */ mr r3, r30 -/* 802CF108 002CC048 4B FF FC 35 */ bl __dl__FPv -lbl_802CF10C: -/* 802CF10C 002CC04C 7F C3 F3 78 */ mr r3, r30 -/* 802CF110 002CC050 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802CF114 002CC054 83 C1 00 08 */ lwz r30, 8(r1) -/* 802CF118 002CC058 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802CF11C 002CC05C 7C 08 03 A6 */ mtlr r0 -/* 802CF120 002CC060 38 21 00 10 */ addi r1, r1, 0x10 -/* 802CF124 002CC064 4E 80 00 20 */ blr -/* 802CF128 002CC068 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802CF12C 002CC06C 7C 08 02 A6 */ mflr r0 -/* 802CF130 002CC070 90 01 00 24 */ stw r0, 0x24(r1) -/* 802CF134 002CC074 39 61 00 20 */ addi r11, r1, 0x20 -/* 802CF138 002CC078 48 09 30 A1 */ bl _savegpr_28 -/* 802CF13C 002CC07C 7C 7C 1B 78 */ mr r28, r3 -/* 802CF140 002CC080 7C 9D 23 78 */ mr r29, r4 -/* 802CF144 002CC084 7C BE 2B 78 */ mr r30, r5 -/* 802CF148 002CC088 38 7C 00 18 */ addi r3, r28, 0x18 -/* 802CF14C 002CC08C 48 06 FE F5 */ bl OSLockMutex -/* 802CF150 002CC090 28 1D 00 04 */ cmplwi r29, 4 -/* 802CF154 002CC094 40 80 00 08 */ bge lbl_802CF15C -/* 802CF158 002CC098 3B A0 00 04 */ li r29, 4 -lbl_802CF15C: -/* 802CF15C 002CC09C 2C 1E 00 00 */ cmpwi r30, 0 -/* 802CF160 002CC0A0 41 80 00 38 */ blt lbl_802CF198 -/* 802CF164 002CC0A4 2C 1E 00 04 */ cmpwi r30, 4 -/* 802CF168 002CC0A8 41 81 00 18 */ bgt lbl_802CF180 -/* 802CF16C 002CC0AC 7F 83 E3 78 */ mr r3, r28 -/* 802CF170 002CC0B0 7F A4 EB 78 */ mr r4, r29 -/* 802CF174 002CC0B4 48 00 03 1D */ bl allocFromHead__10JKRExpHeapFUl -/* 802CF178 002CC0B8 7C 7F 1B 78 */ mr r31, r3 -/* 802CF17C 002CC0BC 48 00 00 4C */ b lbl_802CF1C8 -lbl_802CF180: -/* 802CF180 002CC0C0 7F 83 E3 78 */ mr r3, r28 -/* 802CF184 002CC0C4 7F A4 EB 78 */ mr r4, r29 -/* 802CF188 002CC0C8 7F C5 F3 78 */ mr r5, r30 -/* 802CF18C 002CC0CC 48 00 00 A9 */ bl allocFromHead__10JKRExpHeapFUli -/* 802CF190 002CC0D0 7C 7F 1B 78 */ mr r31, r3 -/* 802CF194 002CC0D4 48 00 00 34 */ b lbl_802CF1C8 -lbl_802CF198: -/* 802CF198 002CC0D8 7C BE 00 D0 */ neg r5, r30 -/* 802CF19C 002CC0DC 2C 05 00 04 */ cmpwi r5, 4 -/* 802CF1A0 002CC0E0 41 81 00 18 */ bgt lbl_802CF1B8 -/* 802CF1A4 002CC0E4 7F 83 E3 78 */ mr r3, r28 -/* 802CF1A8 002CC0E8 7F A4 EB 78 */ mr r4, r29 -/* 802CF1AC 002CC0EC 48 00 05 29 */ bl allocFromTail__10JKRExpHeapFUl -/* 802CF1B0 002CC0F0 7C 7F 1B 78 */ mr r31, r3 -/* 802CF1B4 002CC0F4 48 00 00 14 */ b lbl_802CF1C8 -lbl_802CF1B8: -/* 802CF1B8 002CC0F8 7F 83 E3 78 */ mr r3, r28 -/* 802CF1BC 002CC0FC 7F A4 EB 78 */ mr r4, r29 -/* 802CF1C0 002CC100 48 00 03 B5 */ bl allocFromTail__10JKRExpHeapFUli -/* 802CF1C4 002CC104 7C 7F 1B 78 */ mr r31, r3 -lbl_802CF1C8: -/* 802CF1C8 002CC108 28 1F 00 00 */ cmplwi r31, 0 -/* 802CF1CC 002CC10C 40 82 00 44 */ bne lbl_802CF210 -/* 802CF1D0 002CC110 3C 60 80 3A */ lis r3, lbl_8039CAF0@ha -/* 802CF1D4 002CC114 38 63 CA F0 */ addi r3, r3, lbl_8039CAF0@l -/* 802CF1D8 002CC118 7F A4 EB 78 */ mr r4, r29 -/* 802CF1DC 002CC11C 4C C6 31 82 */ crclr 6 -/* 802CF1E0 002CC120 48 01 94 9D */ bl JUTWarningConsole_f -/* 802CF1E4 002CC124 88 1C 00 68 */ lbz r0, 0x68(r28) -/* 802CF1E8 002CC128 28 00 00 01 */ cmplwi r0, 1 -/* 802CF1EC 002CC12C 40 82 00 24 */ bne lbl_802CF210 -/* 802CF1F0 002CC130 81 8D 8D FC */ lwz r12, lbl_8045137C-_SDA_BASE_(r13) -/* 802CF1F4 002CC134 28 0C 00 00 */ cmplwi r12, 0 -/* 802CF1F8 002CC138 41 82 00 18 */ beq lbl_802CF210 -/* 802CF1FC 002CC13C 7F 83 E3 78 */ mr r3, r28 -/* 802CF200 002CC140 7F A4 EB 78 */ mr r4, r29 -/* 802CF204 002CC144 7F C5 F3 78 */ mr r5, r30 -/* 802CF208 002CC148 7D 89 03 A6 */ mtctr r12 -/* 802CF20C 002CC14C 4E 80 04 21 */ bctrl -lbl_802CF210: -/* 802CF210 002CC150 38 7C 00 18 */ addi r3, r28, 0x18 -/* 802CF214 002CC154 48 06 FF 09 */ bl OSUnlockMutex -/* 802CF218 002CC158 7F E3 FB 78 */ mr r3, r31 -/* 802CF21C 002CC15C 39 61 00 20 */ addi r11, r1, 0x20 -/* 802CF220 002CC160 48 09 30 05 */ bl _restgpr_28 -/* 802CF224 002CC164 80 01 00 24 */ lwz r0, 0x24(r1) -/* 802CF228 002CC168 7C 08 03 A6 */ mtlr r0 -/* 802CF22C 002CC16C 38 21 00 20 */ addi r1, r1, 0x20 -/* 802CF230 002CC170 4E 80 00 20 */ blr - -.global allocFromHead__10JKRExpHeapFUli -allocFromHead__10JKRExpHeapFUli: -/* 802CF234 002CC174 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 802CF238 002CC178 7C 08 02 A6 */ mflr r0 -/* 802CF23C 002CC17C 90 01 00 34 */ stw r0, 0x34(r1) -/* 802CF240 002CC180 39 61 00 30 */ addi r11, r1, 0x30 -/* 802CF244 002CC184 48 09 2F 89 */ bl _savegpr_25 -/* 802CF248 002CC188 7C 7D 1B 78 */ mr r29, r3 -/* 802CF24C 002CC18C 38 04 00 03 */ addi r0, r4, 3 -/* 802CF250 002CC190 54 1E 00 3A */ rlwinm r30, r0, 0, 0, 0x1d -/* 802CF254 002CC194 38 C0 FF FF */ li r6, -1 -/* 802CF258 002CC198 3B 60 00 00 */ li r27, 0 -/* 802CF25C 002CC19C 3B E0 00 00 */ li r31, 0 -/* 802CF260 002CC1A0 80 E3 00 78 */ lwz r7, 0x78(r3) -/* 802CF264 002CC1A4 38 65 FF FF */ addi r3, r5, -1 -/* 802CF268 002CC1A8 7C 64 18 F8 */ nor r4, r3, r3 -/* 802CF26C 002CC1AC 48 00 00 50 */ b lbl_802CF2BC -lbl_802CF270: -/* 802CF270 002CC1B0 38 A7 00 10 */ addi r5, r7, 0x10 -/* 802CF274 002CC1B4 7C 03 2A 14 */ add r0, r3, r5 -/* 802CF278 002CC1B8 7C 80 00 38 */ and r0, r4, r0 -/* 802CF27C 002CC1BC 7D 05 00 50 */ subf r8, r5, r0 -/* 802CF280 002CC1C0 80 A7 00 04 */ lwz r5, 4(r7) -/* 802CF284 002CC1C4 7C 1E 42 14 */ add r0, r30, r8 -/* 802CF288 002CC1C8 7C 05 00 40 */ cmplw r5, r0 -/* 802CF28C 002CC1CC 41 80 00 2C */ blt lbl_802CF2B8 -/* 802CF290 002CC1D0 7C 06 28 40 */ cmplw r6, r5 -/* 802CF294 002CC1D4 40 81 00 24 */ ble lbl_802CF2B8 -/* 802CF298 002CC1D8 7C A6 2B 78 */ mr r6, r5 -/* 802CF29C 002CC1DC 7C FF 3B 78 */ mr r31, r7 -/* 802CF2A0 002CC1E0 7D 1B 43 78 */ mr r27, r8 -/* 802CF2A4 002CC1E4 88 1D 00 6C */ lbz r0, 0x6c(r29) -/* 802CF2A8 002CC1E8 28 00 00 00 */ cmplwi r0, 0 -/* 802CF2AC 002CC1EC 40 82 00 18 */ bne lbl_802CF2C4 -/* 802CF2B0 002CC1F0 7C 05 F0 40 */ cmplw r5, r30 -/* 802CF2B4 002CC1F4 41 82 00 10 */ beq lbl_802CF2C4 -lbl_802CF2B8: -/* 802CF2B8 002CC1F8 80 E7 00 0C */ lwz r7, 0xc(r7) -lbl_802CF2BC: -/* 802CF2BC 002CC1FC 28 07 00 00 */ cmplwi r7, 0 -/* 802CF2C0 002CC200 40 82 FF B0 */ bne lbl_802CF270 -lbl_802CF2C4: -/* 802CF2C4 002CC204 90 CD 8E 18 */ stw r6, lbl_80451398-_SDA_BASE_(r13) -/* 802CF2C8 002CC208 93 6D 8E 1C */ stw r27, lbl_8045139C-_SDA_BASE_(r13) -/* 802CF2CC 002CC20C 93 ED 8E 20 */ stw r31, lbl_804513A0-_SDA_BASE_(r13) -/* 802CF2D0 002CC210 28 1F 00 00 */ cmplwi r31, 0 -/* 802CF2D4 002CC214 41 82 01 A0 */ beq lbl_802CF474 -/* 802CF2D8 002CC218 28 1B 00 10 */ cmplwi r27, 0x10 -/* 802CF2DC 002CC21C 41 80 00 C0 */ blt lbl_802CF39C -/* 802CF2E0 002CC220 83 5F 00 08 */ lwz r26, 8(r31) -/* 802CF2E4 002CC224 83 3F 00 0C */ lwz r25, 0xc(r31) -/* 802CF2E8 002CC228 7F E3 FB 78 */ mr r3, r31 -/* 802CF2EC 002CC22C 38 9B FF F0 */ addi r4, r27, -16 -/* 802CF2F0 002CC230 38 A0 00 00 */ li r5, 0 -/* 802CF2F4 002CC234 38 C0 00 00 */ li r6, 0 -/* 802CF2F8 002CC238 38 E0 00 00 */ li r7, 0 -/* 802CF2FC 002CC23C 39 00 00 00 */ li r8, 0 -/* 802CF300 002CC240 48 00 15 31 */ bl allocFore__Q210JKRExpHeap9CMemBlockFUlUcUcUcUc -/* 802CF304 002CC244 7C 7C 1B 79 */ or. r28, r3, r3 -/* 802CF308 002CC248 41 82 00 24 */ beq lbl_802CF32C -/* 802CF30C 002CC24C 7F C4 F3 78 */ mr r4, r30 -/* 802CF310 002CC250 88 BD 00 6D */ lbz r5, 0x6d(r29) -/* 802CF314 002CC254 38 C0 00 00 */ li r6, 0 -/* 802CF318 002CC258 38 E0 00 00 */ li r7, 0 -/* 802CF31C 002CC25C 39 00 00 00 */ li r8, 0 -/* 802CF320 002CC260 48 00 15 11 */ bl allocFore__Q210JKRExpHeap9CMemBlockFUlUcUcUcUc -/* 802CF324 002CC264 7C 66 1B 78 */ mr r6, r3 -/* 802CF328 002CC268 48 00 00 08 */ b lbl_802CF330 -lbl_802CF32C: -/* 802CF32C 002CC26C 38 C0 00 00 */ li r6, 0 -lbl_802CF330: -/* 802CF330 002CC270 7C DB 33 78 */ mr r27, r6 -/* 802CF334 002CC274 28 06 00 00 */ cmplwi r6, 0 -/* 802CF338 002CC278 41 82 00 18 */ beq lbl_802CF350 -/* 802CF33C 002CC27C 7F A3 EB 78 */ mr r3, r29 -/* 802CF340 002CC280 7F E4 FB 78 */ mr r4, r31 -/* 802CF344 002CC284 7F 45 D3 78 */ mr r5, r26 -/* 802CF348 002CC288 48 00 0B 21 */ bl setFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlock -/* 802CF34C 002CC28C 48 00 00 18 */ b lbl_802CF364 -lbl_802CF350: -/* 802CF350 002CC290 7F A3 EB 78 */ mr r3, r29 -/* 802CF354 002CC294 7F E4 FB 78 */ mr r4, r31 -/* 802CF358 002CC298 7F 45 D3 78 */ mr r5, r26 -/* 802CF35C 002CC29C 7F 26 CB 78 */ mr r6, r25 -/* 802CF360 002CC2A0 48 00 0B 09 */ bl setFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlock -lbl_802CF364: -/* 802CF364 002CC2A4 28 1B 00 00 */ cmplwi r27, 0 -/* 802CF368 002CC2A8 41 82 00 18 */ beq lbl_802CF380 -/* 802CF36C 002CC2AC 7F A3 EB 78 */ mr r3, r29 -/* 802CF370 002CC2B0 7F 64 DB 78 */ mr r4, r27 -/* 802CF374 002CC2B4 7F E5 FB 78 */ mr r5, r31 -/* 802CF378 002CC2B8 7F 26 CB 78 */ mr r6, r25 -/* 802CF37C 002CC2BC 48 00 0A ED */ bl setFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlock -lbl_802CF380: -/* 802CF380 002CC2C0 7F A3 EB 78 */ mr r3, r29 -/* 802CF384 002CC2C4 7F 84 E3 78 */ mr r4, r28 -/* 802CF388 002CC2C8 48 00 0A 45 */ bl appendUsedList__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock -/* 802CF38C 002CC2CC 93 6D 8E 24 */ stw r27, lbl_804513A4-_SDA_BASE_(r13) -/* 802CF390 002CC2D0 93 8D 8E 28 */ stw r28, lbl_804513A8-_SDA_BASE_(r13) -/* 802CF394 002CC2D4 38 7C 00 10 */ addi r3, r28, 0x10 -/* 802CF398 002CC2D8 48 00 00 E0 */ b lbl_802CF478 -lbl_802CF39C: -/* 802CF39C 002CC2DC 28 1B 00 00 */ cmplwi r27, 0 -/* 802CF3A0 002CC2E0 41 82 00 70 */ beq lbl_802CF410 -/* 802CF3A4 002CC2E4 83 3F 00 08 */ lwz r25, 8(r31) -/* 802CF3A8 002CC2E8 83 5F 00 0C */ lwz r26, 0xc(r31) -/* 802CF3AC 002CC2EC 7F A3 EB 78 */ mr r3, r29 -/* 802CF3B0 002CC2F0 7F E4 FB 78 */ mr r4, r31 -/* 802CF3B4 002CC2F4 48 00 0B 01 */ bl removeFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock -/* 802CF3B8 002CC2F8 7F 9F DA 14 */ add r28, r31, r27 -/* 802CF3BC 002CC2FC 80 1F 00 04 */ lwz r0, 4(r31) -/* 802CF3C0 002CC300 7C 1B 00 50 */ subf r0, r27, r0 -/* 802CF3C4 002CC304 90 1C 00 04 */ stw r0, 4(r28) -/* 802CF3C8 002CC308 7F 83 E3 78 */ mr r3, r28 -/* 802CF3CC 002CC30C 7F C4 F3 78 */ mr r4, r30 -/* 802CF3D0 002CC310 88 BD 00 6D */ lbz r5, 0x6d(r29) -/* 802CF3D4 002CC314 57 66 06 3E */ clrlwi r6, r27, 0x18 -/* 802CF3D8 002CC318 38 E0 00 00 */ li r7, 0 -/* 802CF3DC 002CC31C 39 00 00 00 */ li r8, 0 -/* 802CF3E0 002CC320 48 00 14 51 */ bl allocFore__Q210JKRExpHeap9CMemBlockFUlUcUcUcUc -/* 802CF3E4 002CC324 7C 64 1B 79 */ or. r4, r3, r3 -/* 802CF3E8 002CC328 41 82 00 14 */ beq lbl_802CF3FC -/* 802CF3EC 002CC32C 7F A3 EB 78 */ mr r3, r29 -/* 802CF3F0 002CC330 7F 25 CB 78 */ mr r5, r25 -/* 802CF3F4 002CC334 7F 46 D3 78 */ mr r6, r26 -/* 802CF3F8 002CC338 48 00 0A 71 */ bl setFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlock -lbl_802CF3FC: -/* 802CF3FC 002CC33C 7F A3 EB 78 */ mr r3, r29 -/* 802CF400 002CC340 7F 84 E3 78 */ mr r4, r28 -/* 802CF404 002CC344 48 00 09 C9 */ bl appendUsedList__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock -/* 802CF408 002CC348 38 7C 00 10 */ addi r3, r28, 0x10 -/* 802CF40C 002CC34C 48 00 00 6C */ b lbl_802CF478 -lbl_802CF410: -/* 802CF410 002CC350 83 3F 00 08 */ lwz r25, 8(r31) -/* 802CF414 002CC354 83 5F 00 0C */ lwz r26, 0xc(r31) -/* 802CF418 002CC358 7F E3 FB 78 */ mr r3, r31 -/* 802CF41C 002CC35C 7F C4 F3 78 */ mr r4, r30 -/* 802CF420 002CC360 88 BD 00 6D */ lbz r5, 0x6d(r29) -/* 802CF424 002CC364 38 C0 00 00 */ li r6, 0 -/* 802CF428 002CC368 38 E0 00 00 */ li r7, 0 -/* 802CF42C 002CC36C 39 00 00 00 */ li r8, 0 -/* 802CF430 002CC370 48 00 14 01 */ bl allocFore__Q210JKRExpHeap9CMemBlockFUlUcUcUcUc -/* 802CF434 002CC374 7C 7E 1B 78 */ mr r30, r3 -/* 802CF438 002CC378 7F A3 EB 78 */ mr r3, r29 -/* 802CF43C 002CC37C 7F E4 FB 78 */ mr r4, r31 -/* 802CF440 002CC380 48 00 0A 75 */ bl removeFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock -/* 802CF444 002CC384 28 1E 00 00 */ cmplwi r30, 0 -/* 802CF448 002CC388 41 82 00 18 */ beq lbl_802CF460 -/* 802CF44C 002CC38C 7F A3 EB 78 */ mr r3, r29 -/* 802CF450 002CC390 7F C4 F3 78 */ mr r4, r30 -/* 802CF454 002CC394 7F 25 CB 78 */ mr r5, r25 -/* 802CF458 002CC398 7F 46 D3 78 */ mr r6, r26 -/* 802CF45C 002CC39C 48 00 0A 0D */ bl setFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlock -lbl_802CF460: -/* 802CF460 002CC3A0 7F A3 EB 78 */ mr r3, r29 -/* 802CF464 002CC3A4 7F E4 FB 78 */ mr r4, r31 -/* 802CF468 002CC3A8 48 00 09 65 */ bl appendUsedList__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock -/* 802CF46C 002CC3AC 38 7F 00 10 */ addi r3, r31, 0x10 -/* 802CF470 002CC3B0 48 00 00 08 */ b lbl_802CF478 -lbl_802CF474: -/* 802CF474 002CC3B4 38 60 00 00 */ li r3, 0 -lbl_802CF478: -/* 802CF478 002CC3B8 39 61 00 30 */ addi r11, r1, 0x30 -/* 802CF47C 002CC3BC 48 09 2D 9D */ bl _restgpr_25 -/* 802CF480 002CC3C0 80 01 00 34 */ lwz r0, 0x34(r1) -/* 802CF484 002CC3C4 7C 08 03 A6 */ mtlr r0 -/* 802CF488 002CC3C8 38 21 00 30 */ addi r1, r1, 0x30 -/* 802CF48C 002CC3CC 4E 80 00 20 */ blr - -.global allocFromHead__10JKRExpHeapFUl -allocFromHead__10JKRExpHeapFUl: -/* 802CF490 002CC3D0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802CF494 002CC3D4 7C 08 02 A6 */ mflr r0 -/* 802CF498 002CC3D8 90 01 00 14 */ stw r0, 0x14(r1) -/* 802CF49C 002CC3DC 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802CF4A0 002CC3E0 93 C1 00 08 */ stw r30, 8(r1) -/* 802CF4A4 002CC3E4 7C 7E 1B 78 */ mr r30, r3 -/* 802CF4A8 002CC3E8 38 04 00 03 */ addi r0, r4, 3 -/* 802CF4AC 002CC3EC 54 04 00 3A */ rlwinm r4, r0, 0, 0, 0x1d -/* 802CF4B0 002CC3F0 38 A0 FF FF */ li r5, -1 -/* 802CF4B4 002CC3F4 3B E0 00 00 */ li r31, 0 -/* 802CF4B8 002CC3F8 80 C3 00 78 */ lwz r6, 0x78(r3) -/* 802CF4BC 002CC3FC 48 00 00 38 */ b lbl_802CF4F4 -lbl_802CF4C0: -/* 802CF4C0 002CC400 80 66 00 04 */ lwz r3, 4(r6) -/* 802CF4C4 002CC404 7C 03 20 40 */ cmplw r3, r4 -/* 802CF4C8 002CC408 41 80 00 28 */ blt lbl_802CF4F0 -/* 802CF4CC 002CC40C 7C 05 18 40 */ cmplw r5, r3 -/* 802CF4D0 002CC410 40 81 00 20 */ ble lbl_802CF4F0 -/* 802CF4D4 002CC414 7C 65 1B 78 */ mr r5, r3 -/* 802CF4D8 002CC418 7C DF 33 78 */ mr r31, r6 -/* 802CF4DC 002CC41C 88 1E 00 6C */ lbz r0, 0x6c(r30) -/* 802CF4E0 002CC420 28 00 00 00 */ cmplwi r0, 0 -/* 802CF4E4 002CC424 40 82 00 18 */ bne lbl_802CF4FC -/* 802CF4E8 002CC428 7C 03 20 40 */ cmplw r3, r4 -/* 802CF4EC 002CC42C 41 82 00 10 */ beq lbl_802CF4FC -lbl_802CF4F0: -/* 802CF4F0 002CC430 80 C6 00 0C */ lwz r6, 0xc(r6) -lbl_802CF4F4: -/* 802CF4F4 002CC434 28 06 00 00 */ cmplwi r6, 0 -/* 802CF4F8 002CC438 40 82 FF C8 */ bne lbl_802CF4C0 -lbl_802CF4FC: -/* 802CF4FC 002CC43C 28 1F 00 00 */ cmplwi r31, 0 -/* 802CF500 002CC440 41 82 00 58 */ beq lbl_802CF558 -/* 802CF504 002CC444 7F E3 FB 78 */ mr r3, r31 -/* 802CF508 002CC448 88 BE 00 6D */ lbz r5, 0x6d(r30) -/* 802CF50C 002CC44C 38 C0 00 00 */ li r6, 0 -/* 802CF510 002CC450 38 E0 00 00 */ li r7, 0 -/* 802CF514 002CC454 39 00 00 00 */ li r8, 0 -/* 802CF518 002CC458 48 00 13 19 */ bl allocFore__Q210JKRExpHeap9CMemBlockFUlUcUcUcUc -/* 802CF51C 002CC45C 7C 64 1B 79 */ or. r4, r3, r3 -/* 802CF520 002CC460 41 82 00 18 */ beq lbl_802CF538 -/* 802CF524 002CC464 7F C3 F3 78 */ mr r3, r30 -/* 802CF528 002CC468 80 BF 00 08 */ lwz r5, 8(r31) -/* 802CF52C 002CC46C 80 DF 00 0C */ lwz r6, 0xc(r31) -/* 802CF530 002CC470 48 00 09 39 */ bl setFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlock -/* 802CF534 002CC474 48 00 00 10 */ b lbl_802CF544 -lbl_802CF538: -/* 802CF538 002CC478 7F C3 F3 78 */ mr r3, r30 -/* 802CF53C 002CC47C 7F E4 FB 78 */ mr r4, r31 -/* 802CF540 002CC480 48 00 09 75 */ bl removeFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock -lbl_802CF544: -/* 802CF544 002CC484 7F C3 F3 78 */ mr r3, r30 -/* 802CF548 002CC488 7F E4 FB 78 */ mr r4, r31 -/* 802CF54C 002CC48C 48 00 08 81 */ bl appendUsedList__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock -/* 802CF550 002CC490 38 7F 00 10 */ addi r3, r31, 0x10 -/* 802CF554 002CC494 48 00 00 08 */ b lbl_802CF55C -lbl_802CF558: -/* 802CF558 002CC498 38 60 00 00 */ li r3, 0 -lbl_802CF55C: -/* 802CF55C 002CC49C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802CF560 002CC4A0 83 C1 00 08 */ lwz r30, 8(r1) -/* 802CF564 002CC4A4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802CF568 002CC4A8 7C 08 03 A6 */ mtlr r0 -/* 802CF56C 002CC4AC 38 21 00 10 */ addi r1, r1, 0x10 -/* 802CF570 002CC4B0 4E 80 00 20 */ blr - -.global allocFromTail__10JKRExpHeapFUli -allocFromTail__10JKRExpHeapFUli: -/* 802CF574 002CC4B4 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802CF578 002CC4B8 7C 08 02 A6 */ mflr r0 -/* 802CF57C 002CC4BC 90 01 00 24 */ stw r0, 0x24(r1) -/* 802CF580 002CC4C0 39 61 00 20 */ addi r11, r1, 0x20 -/* 802CF584 002CC4C4 48 09 2C 51 */ bl _savegpr_27 -/* 802CF588 002CC4C8 7C 7B 1B 78 */ mr r27, r3 -/* 802CF58C 002CC4CC 3B E0 00 00 */ li r31, 0 -/* 802CF590 002CC4D0 3B C0 00 00 */ li r30, 0 -/* 802CF594 002CC4D4 3B A0 00 00 */ li r29, 0 -/* 802CF598 002CC4D8 81 03 00 7C */ lwz r8, 0x7c(r3) -/* 802CF59C 002CC4DC 38 05 FF FF */ addi r0, r5, -1 -/* 802CF5A0 002CC4E0 7C 03 00 F8 */ nor r3, r0, r0 -/* 802CF5A4 002CC4E4 48 00 00 38 */ b lbl_802CF5DC -lbl_802CF5A8: -/* 802CF5A8 002CC4E8 80 C8 00 04 */ lwz r6, 4(r8) -/* 802CF5AC 002CC4EC 7C A8 32 14 */ add r5, r8, r6 -/* 802CF5B0 002CC4F0 38 A5 00 10 */ addi r5, r5, 0x10 -/* 802CF5B4 002CC4F4 7C 04 28 50 */ subf r0, r4, r5 -/* 802CF5B8 002CC4F8 7C 67 00 38 */ and r7, r3, r0 -/* 802CF5BC 002CC4FC 7F 87 28 50 */ subf r28, r7, r5 -/* 802CF5C0 002CC500 7C 06 E0 40 */ cmplw r6, r28 -/* 802CF5C4 002CC504 41 80 00 14 */ blt lbl_802CF5D8 -/* 802CF5C8 002CC508 7D 1E 43 78 */ mr r30, r8 -/* 802CF5CC 002CC50C 7F FC 30 50 */ subf r31, r28, r6 -/* 802CF5D0 002CC510 3B A7 FF F0 */ addi r29, r7, -16 -/* 802CF5D4 002CC514 48 00 00 10 */ b lbl_802CF5E4 -lbl_802CF5D8: -/* 802CF5D8 002CC518 81 08 00 08 */ lwz r8, 8(r8) -lbl_802CF5DC: -/* 802CF5DC 002CC51C 28 08 00 00 */ cmplwi r8, 0 -/* 802CF5E0 002CC520 40 82 FF C8 */ bne lbl_802CF5A8 -lbl_802CF5E4: -/* 802CF5E4 002CC524 28 1E 00 00 */ cmplwi r30, 0 -/* 802CF5E8 002CC528 41 82 00 D0 */ beq lbl_802CF6B8 -/* 802CF5EC 002CC52C 28 1F 00 10 */ cmplwi r31, 0x10 -/* 802CF5F0 002CC530 41 80 00 44 */ blt lbl_802CF634 -/* 802CF5F4 002CC534 7F A3 EB 78 */ mr r3, r29 -/* 802CF5F8 002CC538 38 80 00 00 */ li r4, 0 -/* 802CF5FC 002CC53C 38 A0 00 00 */ li r5, 0 -/* 802CF600 002CC540 7F 86 E3 78 */ mr r6, r28 -/* 802CF604 002CC544 88 FB 00 6D */ lbz r7, 0x6d(r27) -/* 802CF608 002CC548 39 00 00 80 */ li r8, 0x80 -/* 802CF60C 002CC54C 48 00 12 05 */ bl initiate__Q210JKRExpHeap9CMemBlockFPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlockUlUcUc -/* 802CF610 002CC550 80 1E 00 04 */ lwz r0, 4(r30) -/* 802CF614 002CC554 7C 7C 00 50 */ subf r3, r28, r0 -/* 802CF618 002CC558 38 03 FF F0 */ addi r0, r3, -16 -/* 802CF61C 002CC55C 90 1E 00 04 */ stw r0, 4(r30) -/* 802CF620 002CC560 7F 63 DB 78 */ mr r3, r27 -/* 802CF624 002CC564 7F A4 EB 78 */ mr r4, r29 -/* 802CF628 002CC568 48 00 07 A5 */ bl appendUsedList__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock -/* 802CF62C 002CC56C 38 7D 00 10 */ addi r3, r29, 0x10 -/* 802CF630 002CC570 48 00 00 8C */ b lbl_802CF6BC -lbl_802CF634: -/* 802CF634 002CC574 28 1F 00 00 */ cmplwi r31, 0 -/* 802CF638 002CC578 41 82 00 44 */ beq lbl_802CF67C -/* 802CF63C 002CC57C 7F 63 DB 78 */ mr r3, r27 -/* 802CF640 002CC580 7F C4 F3 78 */ mr r4, r30 -/* 802CF644 002CC584 48 00 08 71 */ bl removeFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock -/* 802CF648 002CC588 7F A3 EB 78 */ mr r3, r29 -/* 802CF64C 002CC58C 38 80 00 00 */ li r4, 0 -/* 802CF650 002CC590 38 A0 00 00 */ li r5, 0 -/* 802CF654 002CC594 7F 86 E3 78 */ mr r6, r28 -/* 802CF658 002CC598 88 FB 00 6D */ lbz r7, 0x6d(r27) -/* 802CF65C 002CC59C 63 E0 00 80 */ ori r0, r31, 0x80 -/* 802CF660 002CC5A0 54 08 06 3E */ clrlwi r8, r0, 0x18 -/* 802CF664 002CC5A4 48 00 11 AD */ bl initiate__Q210JKRExpHeap9CMemBlockFPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlockUlUcUc -/* 802CF668 002CC5A8 7F 63 DB 78 */ mr r3, r27 -/* 802CF66C 002CC5AC 7F A4 EB 78 */ mr r4, r29 -/* 802CF670 002CC5B0 48 00 07 5D */ bl appendUsedList__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock -/* 802CF674 002CC5B4 38 7D 00 10 */ addi r3, r29, 0x10 -/* 802CF678 002CC5B8 48 00 00 44 */ b lbl_802CF6BC -lbl_802CF67C: -/* 802CF67C 002CC5BC 7F 63 DB 78 */ mr r3, r27 -/* 802CF680 002CC5C0 7F C4 F3 78 */ mr r4, r30 -/* 802CF684 002CC5C4 48 00 08 31 */ bl removeFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock -/* 802CF688 002CC5C8 7F A3 EB 78 */ mr r3, r29 -/* 802CF68C 002CC5CC 38 80 00 00 */ li r4, 0 -/* 802CF690 002CC5D0 38 A0 00 00 */ li r5, 0 -/* 802CF694 002CC5D4 7F 86 E3 78 */ mr r6, r28 -/* 802CF698 002CC5D8 88 FB 00 6D */ lbz r7, 0x6d(r27) -/* 802CF69C 002CC5DC 39 00 00 80 */ li r8, 0x80 -/* 802CF6A0 002CC5E0 48 00 11 71 */ bl initiate__Q210JKRExpHeap9CMemBlockFPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlockUlUcUc -/* 802CF6A4 002CC5E4 7F 63 DB 78 */ mr r3, r27 -/* 802CF6A8 002CC5E8 7F A4 EB 78 */ mr r4, r29 -/* 802CF6AC 002CC5EC 48 00 07 21 */ bl appendUsedList__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock -/* 802CF6B0 002CC5F0 38 7D 00 10 */ addi r3, r29, 0x10 -/* 802CF6B4 002CC5F4 48 00 00 08 */ b lbl_802CF6BC -lbl_802CF6B8: -/* 802CF6B8 002CC5F8 38 60 00 00 */ li r3, 0 -lbl_802CF6BC: -/* 802CF6BC 002CC5FC 39 61 00 20 */ addi r11, r1, 0x20 -/* 802CF6C0 002CC600 48 09 2B 61 */ bl _restgpr_27 -/* 802CF6C4 002CC604 80 01 00 24 */ lwz r0, 0x24(r1) -/* 802CF6C8 002CC608 7C 08 03 A6 */ mtlr r0 -/* 802CF6CC 002CC60C 38 21 00 20 */ addi r1, r1, 0x20 -/* 802CF6D0 002CC610 4E 80 00 20 */ blr - -.global allocFromTail__10JKRExpHeapFUl -allocFromTail__10JKRExpHeapFUl: -/* 802CF6D4 002CC614 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802CF6D8 002CC618 7C 08 02 A6 */ mflr r0 -/* 802CF6DC 002CC61C 90 01 00 24 */ stw r0, 0x24(r1) -/* 802CF6E0 002CC620 39 61 00 20 */ addi r11, r1, 0x20 -/* 802CF6E4 002CC624 48 09 2A F9 */ bl _savegpr_29 -/* 802CF6E8 002CC628 7C 7D 1B 78 */ mr r29, r3 -/* 802CF6EC 002CC62C 38 04 00 03 */ addi r0, r4, 3 -/* 802CF6F0 002CC630 54 04 00 3A */ rlwinm r4, r0, 0, 0, 0x1d -/* 802CF6F4 002CC634 3B E0 00 00 */ li r31, 0 -/* 802CF6F8 002CC638 80 63 00 7C */ lwz r3, 0x7c(r3) -/* 802CF6FC 002CC63C 48 00 00 1C */ b lbl_802CF718 -lbl_802CF700: -/* 802CF700 002CC640 80 03 00 04 */ lwz r0, 4(r3) -/* 802CF704 002CC644 7C 00 20 40 */ cmplw r0, r4 -/* 802CF708 002CC648 41 80 00 0C */ blt lbl_802CF714 -/* 802CF70C 002CC64C 7C 7F 1B 78 */ mr r31, r3 -/* 802CF710 002CC650 48 00 00 10 */ b lbl_802CF720 -lbl_802CF714: -/* 802CF714 002CC654 80 63 00 08 */ lwz r3, 8(r3) -lbl_802CF718: -/* 802CF718 002CC658 28 03 00 00 */ cmplwi r3, 0 -/* 802CF71C 002CC65C 40 82 FF E4 */ bne lbl_802CF700 -lbl_802CF720: -/* 802CF720 002CC660 28 1F 00 00 */ cmplwi r31, 0 -/* 802CF724 002CC664 41 82 00 6C */ beq lbl_802CF790 -/* 802CF728 002CC668 7F E3 FB 78 */ mr r3, r31 -/* 802CF72C 002CC66C 38 A0 00 00 */ li r5, 0 -/* 802CF730 002CC670 38 C0 00 00 */ li r6, 0 -/* 802CF734 002CC674 88 FD 00 6D */ lbz r7, 0x6d(r29) -/* 802CF738 002CC678 39 00 00 00 */ li r8, 0 -/* 802CF73C 002CC67C 48 00 11 39 */ bl allocBack__Q210JKRExpHeap9CMemBlockFUlUcUcUcUc -/* 802CF740 002CC680 7C 7E 1B 79 */ or. r30, r3, r3 -/* 802CF744 002CC684 41 82 00 0C */ beq lbl_802CF750 -/* 802CF748 002CC688 7F E4 FB 78 */ mr r4, r31 -/* 802CF74C 002CC68C 48 00 00 18 */ b lbl_802CF764 -lbl_802CF750: -/* 802CF750 002CC690 7F A3 EB 78 */ mr r3, r29 -/* 802CF754 002CC694 7F E4 FB 78 */ mr r4, r31 -/* 802CF758 002CC698 48 00 07 5D */ bl removeFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock -/* 802CF75C 002CC69C 7F FE FB 78 */ mr r30, r31 -/* 802CF760 002CC6A0 38 80 00 00 */ li r4, 0 -lbl_802CF764: -/* 802CF764 002CC6A4 28 04 00 00 */ cmplwi r4, 0 -/* 802CF768 002CC6A8 41 82 00 14 */ beq lbl_802CF77C -/* 802CF76C 002CC6AC 7F A3 EB 78 */ mr r3, r29 -/* 802CF770 002CC6B0 80 BF 00 08 */ lwz r5, 8(r31) -/* 802CF774 002CC6B4 80 DF 00 0C */ lwz r6, 0xc(r31) -/* 802CF778 002CC6B8 48 00 06 F1 */ bl setFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlock -lbl_802CF77C: -/* 802CF77C 002CC6BC 7F A3 EB 78 */ mr r3, r29 -/* 802CF780 002CC6C0 7F C4 F3 78 */ mr r4, r30 -/* 802CF784 002CC6C4 48 00 06 49 */ bl appendUsedList__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock -/* 802CF788 002CC6C8 38 7E 00 10 */ addi r3, r30, 0x10 -/* 802CF78C 002CC6CC 48 00 00 08 */ b lbl_802CF794 -lbl_802CF790: -/* 802CF790 002CC6D0 38 60 00 00 */ li r3, 0 -lbl_802CF794: -/* 802CF794 002CC6D4 39 61 00 20 */ addi r11, r1, 0x20 -/* 802CF798 002CC6D8 48 09 2A 91 */ bl _restgpr_29 -/* 802CF79C 002CC6DC 80 01 00 24 */ lwz r0, 0x24(r1) -/* 802CF7A0 002CC6E0 7C 08 03 A6 */ mtlr r0 -/* 802CF7A4 002CC6E4 38 21 00 20 */ addi r1, r1, 0x20 -/* 802CF7A8 002CC6E8 4E 80 00 20 */ blr -/* 802CF7AC 002CC6EC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802CF7B0 002CC6F0 7C 08 02 A6 */ mflr r0 -/* 802CF7B4 002CC6F4 90 01 00 14 */ stw r0, 0x14(r1) -/* 802CF7B8 002CC6F8 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802CF7BC 002CC6FC 93 C1 00 08 */ stw r30, 8(r1) -/* 802CF7C0 002CC700 7C 7E 1B 78 */ mr r30, r3 -/* 802CF7C4 002CC704 7C 9F 23 78 */ mr r31, r4 -/* 802CF7C8 002CC708 38 7E 00 18 */ addi r3, r30, 0x18 -/* 802CF7CC 002CC70C 48 06 F8 75 */ bl OSLockMutex -/* 802CF7D0 002CC710 80 1E 00 30 */ lwz r0, 0x30(r30) -/* 802CF7D4 002CC714 7C 00 F8 40 */ cmplw r0, r31 -/* 802CF7D8 002CC718 41 81 00 28 */ bgt lbl_802CF800 -/* 802CF7DC 002CC71C 80 1E 00 34 */ lwz r0, 0x34(r30) -/* 802CF7E0 002CC720 7C 1F 00 40 */ cmplw r31, r0 -/* 802CF7E4 002CC724 41 81 00 1C */ bgt lbl_802CF800 -/* 802CF7E8 002CC728 7F E3 FB 78 */ mr r3, r31 -/* 802CF7EC 002CC72C 48 00 11 31 */ bl getHeapBlock__Q210JKRExpHeap9CMemBlockFPv -/* 802CF7F0 002CC730 28 03 00 00 */ cmplwi r3, 0 -/* 802CF7F4 002CC734 41 82 00 0C */ beq lbl_802CF800 -/* 802CF7F8 002CC738 7F C4 F3 78 */ mr r4, r30 -/* 802CF7FC 002CC73C 48 00 10 D1 */ bl free__Q210JKRExpHeap9CMemBlockFP10JKRExpHeap -lbl_802CF800: -/* 802CF800 002CC740 38 7E 00 18 */ addi r3, r30, 0x18 -/* 802CF804 002CC744 48 06 F9 19 */ bl OSUnlockMutex -/* 802CF808 002CC748 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802CF80C 002CC74C 83 C1 00 08 */ lwz r30, 8(r1) -/* 802CF810 002CC750 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802CF814 002CC754 7C 08 03 A6 */ mtlr r0 -/* 802CF818 002CC758 38 21 00 10 */ addi r1, r1, 0x10 -/* 802CF81C 002CC75C 4E 80 00 20 */ blr -/* 802CF820 002CC760 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802CF824 002CC764 7C 08 02 A6 */ mflr r0 -/* 802CF828 002CC768 90 01 00 14 */ stw r0, 0x14(r1) -/* 802CF82C 002CC76C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802CF830 002CC770 7C 7F 1B 78 */ mr r31, r3 -/* 802CF834 002CC774 38 7F 00 18 */ addi r3, r31, 0x18 -/* 802CF838 002CC778 48 06 F8 09 */ bl OSLockMutex -/* 802CF83C 002CC77C 7F E3 FB 78 */ mr r3, r31 -/* 802CF840 002CC780 4B FF ED 35 */ bl callAllDisposer__7JKRHeapFv -/* 802CF844 002CC784 80 1F 00 30 */ lwz r0, 0x30(r31) -/* 802CF848 002CC788 90 1F 00 78 */ stw r0, 0x78(r31) -/* 802CF84C 002CC78C 80 1F 00 78 */ lwz r0, 0x78(r31) -/* 802CF850 002CC790 90 1F 00 7C */ stw r0, 0x7c(r31) -/* 802CF854 002CC794 80 7F 00 78 */ lwz r3, 0x78(r31) -/* 802CF858 002CC798 38 80 00 00 */ li r4, 0 -/* 802CF85C 002CC79C 38 A0 00 00 */ li r5, 0 -/* 802CF860 002CC7A0 80 DF 00 38 */ lwz r6, 0x38(r31) -/* 802CF864 002CC7A4 38 C6 FF F0 */ addi r6, r6, -16 -/* 802CF868 002CC7A8 38 E0 00 00 */ li r7, 0 -/* 802CF86C 002CC7AC 39 00 00 00 */ li r8, 0 -/* 802CF870 002CC7B0 48 00 0F A1 */ bl initiate__Q210JKRExpHeap9CMemBlockFPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlockUlUcUc -/* 802CF874 002CC7B4 38 00 00 00 */ li r0, 0 -/* 802CF878 002CC7B8 90 1F 00 80 */ stw r0, 0x80(r31) -/* 802CF87C 002CC7BC 90 1F 00 84 */ stw r0, 0x84(r31) -/* 802CF880 002CC7C0 38 7F 00 18 */ addi r3, r31, 0x18 -/* 802CF884 002CC7C4 48 06 F8 99 */ bl OSUnlockMutex -/* 802CF888 002CC7C8 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802CF88C 002CC7CC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802CF890 002CC7D0 7C 08 03 A6 */ mtlr r0 -/* 802CF894 002CC7D4 38 21 00 10 */ addi r1, r1, 0x10 -/* 802CF898 002CC7D8 4E 80 00 20 */ blr -/* 802CF89C 002CC7DC 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802CF8A0 002CC7E0 7C 08 02 A6 */ mflr r0 -/* 802CF8A4 002CC7E4 90 01 00 24 */ stw r0, 0x24(r1) -/* 802CF8A8 002CC7E8 39 61 00 20 */ addi r11, r1, 0x20 -/* 802CF8AC 002CC7EC 48 09 29 31 */ bl _savegpr_29 -/* 802CF8B0 002CC7F0 7C 7D 1B 78 */ mr r29, r3 -/* 802CF8B4 002CC7F4 38 7D 00 18 */ addi r3, r29, 0x18 -/* 802CF8B8 002CC7F8 48 06 F7 89 */ bl OSLockMutex -/* 802CF8BC 002CC7FC 83 FD 00 80 */ lwz r31, 0x80(r29) -/* 802CF8C0 002CC800 48 00 00 3C */ b lbl_802CF8FC -lbl_802CF8C4: -/* 802CF8C4 002CC804 88 1F 00 02 */ lbz r0, 2(r31) -/* 802CF8C8 002CC808 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18 -/* 802CF8CC 002CC80C 41 82 00 2C */ beq lbl_802CF8F8 -/* 802CF8D0 002CC810 7F A3 EB 78 */ mr r3, r29 -/* 802CF8D4 002CC814 38 9F 00 10 */ addi r4, r31, 0x10 -/* 802CF8D8 002CC818 80 BF 00 04 */ lwz r5, 4(r31) -/* 802CF8DC 002CC81C 4B FF F1 9D */ bl dispose__7JKRHeapFPvUl -/* 802CF8E0 002CC820 83 DF 00 0C */ lwz r30, 0xc(r31) -/* 802CF8E4 002CC824 7F E3 FB 78 */ mr r3, r31 -/* 802CF8E8 002CC828 7F A4 EB 78 */ mr r4, r29 -/* 802CF8EC 002CC82C 48 00 0F E1 */ bl free__Q210JKRExpHeap9CMemBlockFP10JKRExpHeap -/* 802CF8F0 002CC830 7F DF F3 78 */ mr r31, r30 -/* 802CF8F4 002CC834 48 00 00 08 */ b lbl_802CF8FC -lbl_802CF8F8: -/* 802CF8F8 002CC838 83 FF 00 0C */ lwz r31, 0xc(r31) -lbl_802CF8FC: -/* 802CF8FC 002CC83C 28 1F 00 00 */ cmplwi r31, 0 -/* 802CF900 002CC840 40 82 FF C4 */ bne lbl_802CF8C4 -/* 802CF904 002CC844 38 7D 00 18 */ addi r3, r29, 0x18 -/* 802CF908 002CC848 48 06 F8 15 */ bl OSUnlockMutex -/* 802CF90C 002CC84C 39 61 00 20 */ addi r11, r1, 0x20 -/* 802CF910 002CC850 48 09 29 19 */ bl _restgpr_29 -/* 802CF914 002CC854 80 01 00 24 */ lwz r0, 0x24(r1) -/* 802CF918 002CC858 7C 08 03 A6 */ mtlr r0 -/* 802CF91C 002CC85C 38 21 00 20 */ addi r1, r1, 0x20 -/* 802CF920 002CC860 4E 80 00 20 */ blr -/* 802CF924 002CC864 4E 80 00 20 */ blr -/* 802CF928 002CC868 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802CF92C 002CC86C 7C 08 02 A6 */ mflr r0 -/* 802CF930 002CC870 90 01 00 24 */ stw r0, 0x24(r1) -/* 802CF934 002CC874 39 61 00 20 */ addi r11, r1, 0x20 -/* 802CF938 002CC878 48 09 28 A5 */ bl _savegpr_29 -/* 802CF93C 002CC87C 7C 7D 1B 78 */ mr r29, r3 -/* 802CF940 002CC880 7C 9E 23 78 */ mr r30, r4 -/* 802CF944 002CC884 38 7D 00 18 */ addi r3, r29, 0x18 -/* 802CF948 002CC888 48 06 F6 F9 */ bl OSLockMutex -/* 802CF94C 002CC88C 8B FD 00 6D */ lbz r31, 0x6d(r29) -/* 802CF950 002CC890 9B DD 00 6D */ stb r30, 0x6d(r29) -/* 802CF954 002CC894 38 7D 00 18 */ addi r3, r29, 0x18 -/* 802CF958 002CC898 48 06 F7 C5 */ bl OSUnlockMutex -/* 802CF95C 002CC89C 7F E3 FB 78 */ mr r3, r31 -/* 802CF960 002CC8A0 39 61 00 20 */ addi r11, r1, 0x20 -/* 802CF964 002CC8A4 48 09 28 C5 */ bl _restgpr_29 -/* 802CF968 002CC8A8 80 01 00 24 */ lwz r0, 0x24(r1) -/* 802CF96C 002CC8AC 7C 08 03 A6 */ mtlr r0 -/* 802CF970 002CC8B0 38 21 00 20 */ addi r1, r1, 0x20 -/* 802CF974 002CC8B4 4E 80 00 20 */ blr -/* 802CF978 002CC8B8 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802CF97C 002CC8BC 7C 08 02 A6 */ mflr r0 -/* 802CF980 002CC8C0 90 01 00 24 */ stw r0, 0x24(r1) -/* 802CF984 002CC8C4 39 61 00 20 */ addi r11, r1, 0x20 -/* 802CF988 002CC8C8 48 09 28 51 */ bl _savegpr_28 -/* 802CF98C 002CC8CC 7C 7D 1B 78 */ mr r29, r3 -/* 802CF990 002CC8D0 7C 9C 23 78 */ mr r28, r4 -/* 802CF994 002CC8D4 7C BE 2B 78 */ mr r30, r5 -/* 802CF998 002CC8D8 38 7D 00 18 */ addi r3, r29, 0x18 -/* 802CF99C 002CC8DC 48 06 F6 A5 */ bl OSLockMutex -/* 802CF9A0 002CC8E0 7F 83 E3 78 */ mr r3, r28 -/* 802CF9A4 002CC8E4 48 00 0F 79 */ bl getHeapBlock__Q210JKRExpHeap9CMemBlockFPv -/* 802CF9A8 002CC8E8 7C 7F 1B 79 */ or. r31, r3, r3 -/* 802CF9AC 002CC8EC 41 82 00 1C */ beq lbl_802CF9C8 -/* 802CF9B0 002CC8F0 80 1D 00 30 */ lwz r0, 0x30(r29) -/* 802CF9B4 002CC8F4 7C 1C 00 40 */ cmplw r28, r0 -/* 802CF9B8 002CC8F8 41 80 00 10 */ blt lbl_802CF9C8 -/* 802CF9BC 002CC8FC 80 1D 00 34 */ lwz r0, 0x34(r29) -/* 802CF9C0 002CC900 7C 00 E0 40 */ cmplw r0, r28 -/* 802CF9C4 002CC904 40 80 00 14 */ bge lbl_802CF9D8 -lbl_802CF9C8: -/* 802CF9C8 002CC908 38 7D 00 18 */ addi r3, r29, 0x18 -/* 802CF9CC 002CC90C 48 06 F7 51 */ bl OSUnlockMutex -/* 802CF9D0 002CC910 38 60 FF FF */ li r3, -1 -/* 802CF9D4 002CC914 48 00 01 38 */ b lbl_802CFB0C -lbl_802CF9D8: -/* 802CF9D8 002CC918 38 1E 00 03 */ addi r0, r30, 3 -/* 802CF9DC 002CC91C 54 1E 00 3A */ rlwinm r30, r0, 0, 0, 0x1d -/* 802CF9E0 002CC920 80 9F 00 04 */ lwz r4, 4(r31) -/* 802CF9E4 002CC924 7C 1E 20 40 */ cmplw r30, r4 -/* 802CF9E8 002CC928 40 82 00 14 */ bne lbl_802CF9FC -/* 802CF9EC 002CC92C 38 7D 00 18 */ addi r3, r29, 0x18 -/* 802CF9F0 002CC930 48 06 F7 2D */ bl OSUnlockMutex -/* 802CF9F4 002CC934 7F C3 F3 78 */ mr r3, r30 -/* 802CF9F8 002CC938 48 00 01 14 */ b lbl_802CFB0C -lbl_802CF9FC: -/* 802CF9FC 002CC93C 40 81 00 D0 */ ble lbl_802CFACC -/* 802CFA00 002CC940 3B 80 00 00 */ li r28, 0 -/* 802CFA04 002CC944 80 7D 00 78 */ lwz r3, 0x78(r29) -/* 802CFA08 002CC948 38 1F 00 10 */ addi r0, r31, 0x10 -/* 802CFA0C 002CC94C 7C 00 22 14 */ add r0, r0, r4 -/* 802CFA10 002CC950 48 00 00 18 */ b lbl_802CFA28 -lbl_802CFA14: -/* 802CFA14 002CC954 7C 03 00 40 */ cmplw r3, r0 -/* 802CFA18 002CC958 40 82 00 0C */ bne lbl_802CFA24 -/* 802CFA1C 002CC95C 7C 7C 1B 78 */ mr r28, r3 -/* 802CFA20 002CC960 48 00 00 10 */ b lbl_802CFA30 -lbl_802CFA24: -/* 802CFA24 002CC964 80 63 00 0C */ lwz r3, 0xc(r3) -lbl_802CFA28: -/* 802CFA28 002CC968 28 03 00 00 */ cmplwi r3, 0 -/* 802CFA2C 002CC96C 40 82 FF E8 */ bne lbl_802CFA14 -lbl_802CFA30: -/* 802CFA30 002CC970 28 1C 00 00 */ cmplwi r28, 0 -/* 802CFA34 002CC974 40 82 00 14 */ bne lbl_802CFA48 -/* 802CFA38 002CC978 38 7D 00 18 */ addi r3, r29, 0x18 -/* 802CFA3C 002CC97C 48 06 F6 E1 */ bl OSUnlockMutex -/* 802CFA40 002CC980 38 60 FF FF */ li r3, -1 -/* 802CFA44 002CC984 48 00 00 C8 */ b lbl_802CFB0C -lbl_802CFA48: -/* 802CFA48 002CC988 80 1C 00 04 */ lwz r0, 4(r28) -/* 802CFA4C 002CC98C 7C 64 02 14 */ add r3, r4, r0 -/* 802CFA50 002CC990 38 03 00 10 */ addi r0, r3, 0x10 -/* 802CFA54 002CC994 7C 1E 00 40 */ cmplw r30, r0 -/* 802CFA58 002CC998 40 81 00 14 */ ble lbl_802CFA6C -/* 802CFA5C 002CC99C 38 7D 00 18 */ addi r3, r29, 0x18 -/* 802CFA60 002CC9A0 48 06 F6 BD */ bl OSUnlockMutex -/* 802CFA64 002CC9A4 38 60 FF FF */ li r3, -1 -/* 802CFA68 002CC9A8 48 00 00 A4 */ b lbl_802CFB0C -lbl_802CFA6C: -/* 802CFA6C 002CC9AC 7F A3 EB 78 */ mr r3, r29 -/* 802CFA70 002CC9B0 7F 84 E3 78 */ mr r4, r28 -/* 802CFA74 002CC9B4 48 00 04 41 */ bl removeFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock -/* 802CFA78 002CC9B8 80 7F 00 04 */ lwz r3, 4(r31) -/* 802CFA7C 002CC9BC 80 1C 00 04 */ lwz r0, 4(r28) -/* 802CFA80 002CC9C0 7C 60 1A 14 */ add r3, r0, r3 -/* 802CFA84 002CC9C4 38 03 00 10 */ addi r0, r3, 0x10 -/* 802CFA88 002CC9C8 90 1F 00 04 */ stw r0, 4(r31) -/* 802CFA8C 002CC9CC 80 1F 00 04 */ lwz r0, 4(r31) -/* 802CFA90 002CC9D0 7C 1E 00 50 */ subf r0, r30, r0 -/* 802CFA94 002CC9D4 28 00 00 10 */ cmplwi r0, 0x10 -/* 802CFA98 002CC9D8 40 81 00 68 */ ble lbl_802CFB00 -/* 802CFA9C 002CC9DC 7F E3 FB 78 */ mr r3, r31 -/* 802CFAA0 002CC9E0 7F C4 F3 78 */ mr r4, r30 -/* 802CFAA4 002CC9E4 88 BF 00 03 */ lbz r5, 3(r31) -/* 802CFAA8 002CC9E8 88 DF 00 02 */ lbz r6, 2(r31) -/* 802CFAAC 002CC9EC 38 E0 00 00 */ li r7, 0 -/* 802CFAB0 002CC9F0 39 00 00 00 */ li r8, 0 -/* 802CFAB4 002CC9F4 48 00 0D 7D */ bl allocFore__Q210JKRExpHeap9CMemBlockFUlUcUcUcUc -/* 802CFAB8 002CC9F8 7C 64 1B 79 */ or. r4, r3, r3 -/* 802CFABC 002CC9FC 41 82 00 44 */ beq lbl_802CFB00 -/* 802CFAC0 002CCA00 7F A3 EB 78 */ mr r3, r29 -/* 802CFAC4 002CCA04 48 00 04 59 */ bl recycleFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock -/* 802CFAC8 002CCA08 48 00 00 38 */ b lbl_802CFB00 -lbl_802CFACC: -/* 802CFACC 002CCA0C 7C 1E 20 50 */ subf r0, r30, r4 -/* 802CFAD0 002CCA10 28 00 00 10 */ cmplwi r0, 0x10 -/* 802CFAD4 002CCA14 40 81 00 2C */ ble lbl_802CFB00 -/* 802CFAD8 002CCA18 7F C4 F3 78 */ mr r4, r30 -/* 802CFADC 002CCA1C 88 BF 00 03 */ lbz r5, 3(r31) -/* 802CFAE0 002CCA20 88 DF 00 02 */ lbz r6, 2(r31) -/* 802CFAE4 002CCA24 38 E0 00 00 */ li r7, 0 -/* 802CFAE8 002CCA28 39 00 00 00 */ li r8, 0 -/* 802CFAEC 002CCA2C 48 00 0D 45 */ bl allocFore__Q210JKRExpHeap9CMemBlockFUlUcUcUcUc -/* 802CFAF0 002CCA30 7C 64 1B 79 */ or. r4, r3, r3 -/* 802CFAF4 002CCA34 41 82 00 0C */ beq lbl_802CFB00 -/* 802CFAF8 002CCA38 7F A3 EB 78 */ mr r3, r29 -/* 802CFAFC 002CCA3C 48 00 04 21 */ bl recycleFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock -lbl_802CFB00: -/* 802CFB00 002CCA40 38 7D 00 18 */ addi r3, r29, 0x18 -/* 802CFB04 002CCA44 48 06 F6 19 */ bl OSUnlockMutex -/* 802CFB08 002CCA48 80 7F 00 04 */ lwz r3, 4(r31) -lbl_802CFB0C: -/* 802CFB0C 002CCA4C 39 61 00 20 */ addi r11, r1, 0x20 -/* 802CFB10 002CCA50 48 09 27 15 */ bl _restgpr_28 -/* 802CFB14 002CCA54 80 01 00 24 */ lwz r0, 0x24(r1) -/* 802CFB18 002CCA58 7C 08 03 A6 */ mtlr r0 -/* 802CFB1C 002CCA5C 38 21 00 20 */ addi r1, r1, 0x20 -/* 802CFB20 002CCA60 4E 80 00 20 */ blr -/* 802CFB24 002CCA64 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802CFB28 002CCA68 7C 08 02 A6 */ mflr r0 -/* 802CFB2C 002CCA6C 90 01 00 24 */ stw r0, 0x24(r1) -/* 802CFB30 002CCA70 39 61 00 20 */ addi r11, r1, 0x20 -/* 802CFB34 002CCA74 48 09 26 A9 */ bl _savegpr_29 -/* 802CFB38 002CCA78 7C 7D 1B 78 */ mr r29, r3 -/* 802CFB3C 002CCA7C 7C 9E 23 78 */ mr r30, r4 -/* 802CFB40 002CCA80 38 7D 00 18 */ addi r3, r29, 0x18 -/* 802CFB44 002CCA84 48 06 F4 FD */ bl OSLockMutex -/* 802CFB48 002CCA88 7F C3 F3 78 */ mr r3, r30 -/* 802CFB4C 002CCA8C 48 00 0D D1 */ bl getHeapBlock__Q210JKRExpHeap9CMemBlockFPv -/* 802CFB50 002CCA90 7C 7F 1B 79 */ or. r31, r3, r3 -/* 802CFB54 002CCA94 41 82 00 1C */ beq lbl_802CFB70 -/* 802CFB58 002CCA98 80 1D 00 30 */ lwz r0, 0x30(r29) -/* 802CFB5C 002CCA9C 7C 1E 00 40 */ cmplw r30, r0 -/* 802CFB60 002CCAA0 41 80 00 10 */ blt lbl_802CFB70 -/* 802CFB64 002CCAA4 80 1D 00 34 */ lwz r0, 0x34(r29) -/* 802CFB68 002CCAA8 7C 00 F0 40 */ cmplw r0, r30 -/* 802CFB6C 002CCAAC 40 80 00 14 */ bge lbl_802CFB80 -lbl_802CFB70: -/* 802CFB70 002CCAB0 38 7D 00 18 */ addi r3, r29, 0x18 -/* 802CFB74 002CCAB4 48 06 F5 A9 */ bl OSUnlockMutex -/* 802CFB78 002CCAB8 38 60 FF FF */ li r3, -1 -/* 802CFB7C 002CCABC 48 00 00 10 */ b lbl_802CFB8C -lbl_802CFB80: -/* 802CFB80 002CCAC0 38 7D 00 18 */ addi r3, r29, 0x18 -/* 802CFB84 002CCAC4 48 06 F5 99 */ bl OSUnlockMutex -/* 802CFB88 002CCAC8 80 7F 00 04 */ lwz r3, 4(r31) -lbl_802CFB8C: -/* 802CFB8C 002CCACC 39 61 00 20 */ addi r11, r1, 0x20 -/* 802CFB90 002CCAD0 48 09 26 99 */ bl _restgpr_29 -/* 802CFB94 002CCAD4 80 01 00 24 */ lwz r0, 0x24(r1) -/* 802CFB98 002CCAD8 7C 08 03 A6 */ mtlr r0 -/* 802CFB9C 002CCADC 38 21 00 20 */ addi r1, r1, 0x20 -/* 802CFBA0 002CCAE0 4E 80 00 20 */ blr -/* 802CFBA4 002CCAE4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802CFBA8 002CCAE8 7C 08 02 A6 */ mflr r0 -/* 802CFBAC 002CCAEC 90 01 00 14 */ stw r0, 0x14(r1) -/* 802CFBB0 002CCAF0 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802CFBB4 002CCAF4 93 C1 00 08 */ stw r30, 8(r1) -/* 802CFBB8 002CCAF8 7C 7E 1B 78 */ mr r30, r3 -/* 802CFBBC 002CCAFC 38 7E 00 18 */ addi r3, r30, 0x18 -/* 802CFBC0 002CCB00 48 06 F4 81 */ bl OSLockMutex -/* 802CFBC4 002CCB04 3B E0 00 00 */ li r31, 0 -/* 802CFBC8 002CCB08 80 7E 00 78 */ lwz r3, 0x78(r30) -/* 802CFBCC 002CCB0C 48 00 00 18 */ b lbl_802CFBE4 -lbl_802CFBD0: -/* 802CFBD0 002CCB10 80 03 00 04 */ lwz r0, 4(r3) -/* 802CFBD4 002CCB14 7C 1F 00 00 */ cmpw r31, r0 -/* 802CFBD8 002CCB18 40 80 00 08 */ bge lbl_802CFBE0 -/* 802CFBDC 002CCB1C 7C 1F 03 78 */ mr r31, r0 -lbl_802CFBE0: -/* 802CFBE0 002CCB20 80 63 00 0C */ lwz r3, 0xc(r3) -lbl_802CFBE4: -/* 802CFBE4 002CCB24 28 03 00 00 */ cmplwi r3, 0 -/* 802CFBE8 002CCB28 40 82 FF E8 */ bne lbl_802CFBD0 -/* 802CFBEC 002CCB2C 38 7E 00 18 */ addi r3, r30, 0x18 -/* 802CFBF0 002CCB30 48 06 F5 2D */ bl OSUnlockMutex -/* 802CFBF4 002CCB34 7F E3 FB 78 */ mr r3, r31 -/* 802CFBF8 002CCB38 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802CFBFC 002CCB3C 83 C1 00 08 */ lwz r30, 8(r1) -/* 802CFC00 002CCB40 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802CFC04 002CCB44 7C 08 03 A6 */ mtlr r0 -/* 802CFC08 002CCB48 38 21 00 10 */ addi r1, r1, 0x10 -/* 802CFC0C 002CCB4C 4E 80 00 20 */ blr -/* 802CFC10 002CCB50 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802CFC14 002CCB54 7C 08 02 A6 */ mflr r0 -/* 802CFC18 002CCB58 90 01 00 14 */ stw r0, 0x14(r1) -/* 802CFC1C 002CCB5C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802CFC20 002CCB60 93 C1 00 08 */ stw r30, 8(r1) -/* 802CFC24 002CCB64 7C 7E 1B 78 */ mr r30, r3 -/* 802CFC28 002CCB68 38 7E 00 18 */ addi r3, r30, 0x18 -/* 802CFC2C 002CCB6C 48 06 F4 15 */ bl OSLockMutex -/* 802CFC30 002CCB70 38 60 00 00 */ li r3, 0 -/* 802CFC34 002CCB74 3B E0 00 00 */ li r31, 0 -/* 802CFC38 002CCB78 80 9E 00 78 */ lwz r4, 0x78(r30) -/* 802CFC3C 002CCB7C 48 00 00 1C */ b lbl_802CFC58 -lbl_802CFC40: -/* 802CFC40 002CCB80 80 04 00 04 */ lwz r0, 4(r4) -/* 802CFC44 002CCB84 7C 03 00 00 */ cmpw r3, r0 -/* 802CFC48 002CCB88 40 80 00 0C */ bge lbl_802CFC54 -/* 802CFC4C 002CCB8C 7C 03 03 78 */ mr r3, r0 -/* 802CFC50 002CCB90 7C 9F 23 78 */ mr r31, r4 -lbl_802CFC54: -/* 802CFC54 002CCB94 80 84 00 0C */ lwz r4, 0xc(r4) -lbl_802CFC58: -/* 802CFC58 002CCB98 28 04 00 00 */ cmplwi r4, 0 -/* 802CFC5C 002CCB9C 40 82 FF E4 */ bne lbl_802CFC40 -/* 802CFC60 002CCBA0 38 7E 00 18 */ addi r3, r30, 0x18 -/* 802CFC64 002CCBA4 48 06 F4 B9 */ bl OSUnlockMutex -/* 802CFC68 002CCBA8 7F E3 FB 78 */ mr r3, r31 -/* 802CFC6C 002CCBAC 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802CFC70 002CCBB0 83 C1 00 08 */ lwz r30, 8(r1) -/* 802CFC74 002CCBB4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802CFC78 002CCBB8 7C 08 03 A6 */ mtlr r0 -/* 802CFC7C 002CCBBC 38 21 00 10 */ addi r1, r1, 0x10 -/* 802CFC80 002CCBC0 4E 80 00 20 */ blr -/* 802CFC84 002CCBC4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802CFC88 002CCBC8 7C 08 02 A6 */ mflr r0 -/* 802CFC8C 002CCBCC 90 01 00 14 */ stw r0, 0x14(r1) -/* 802CFC90 002CCBD0 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802CFC94 002CCBD4 93 C1 00 08 */ stw r30, 8(r1) -/* 802CFC98 002CCBD8 7C 7E 1B 78 */ mr r30, r3 -/* 802CFC9C 002CCBDC 3B E0 00 00 */ li r31, 0 -/* 802CFCA0 002CCBE0 38 7E 00 18 */ addi r3, r30, 0x18 -/* 802CFCA4 002CCBE4 48 06 F3 9D */ bl OSLockMutex -/* 802CFCA8 002CCBE8 80 7E 00 78 */ lwz r3, 0x78(r30) -/* 802CFCAC 002CCBEC 48 00 00 10 */ b lbl_802CFCBC -lbl_802CFCB0: -/* 802CFCB0 002CCBF0 80 03 00 04 */ lwz r0, 4(r3) -/* 802CFCB4 002CCBF4 7F FF 02 14 */ add r31, r31, r0 -/* 802CFCB8 002CCBF8 80 63 00 0C */ lwz r3, 0xc(r3) -lbl_802CFCBC: -/* 802CFCBC 002CCBFC 28 03 00 00 */ cmplwi r3, 0 -/* 802CFCC0 002CCC00 40 82 FF F0 */ bne lbl_802CFCB0 -/* 802CFCC4 002CCC04 38 7E 00 18 */ addi r3, r30, 0x18 -/* 802CFCC8 002CCC08 48 06 F4 55 */ bl OSUnlockMutex -/* 802CFCCC 002CCC0C 7F E3 FB 78 */ mr r3, r31 -/* 802CFCD0 002CCC10 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802CFCD4 002CCC14 83 C1 00 08 */ lwz r30, 8(r1) -/* 802CFCD8 002CCC18 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802CFCDC 002CCC1C 7C 08 03 A6 */ mtlr r0 -/* 802CFCE0 002CCC20 38 21 00 10 */ addi r1, r1, 0x10 -/* 802CFCE4 002CCC24 4E 80 00 20 */ blr - -.global getUsedSize__10JKRExpHeapCFUc -getUsedSize__10JKRExpHeapCFUc: -/* 802CFCE8 002CCC28 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802CFCEC 002CCC2C 7C 08 02 A6 */ mflr r0 -/* 802CFCF0 002CCC30 90 01 00 24 */ stw r0, 0x24(r1) -/* 802CFCF4 002CCC34 39 61 00 20 */ addi r11, r1, 0x20 -/* 802CFCF8 002CCC38 48 09 24 E5 */ bl _savegpr_29 -/* 802CFCFC 002CCC3C 7C 7D 1B 78 */ mr r29, r3 -/* 802CFD00 002CCC40 7C 9E 23 78 */ mr r30, r4 -/* 802CFD04 002CCC44 38 7D 00 18 */ addi r3, r29, 0x18 -/* 802CFD08 002CCC48 48 06 F3 39 */ bl OSLockMutex -/* 802CFD0C 002CCC4C 3B E0 00 00 */ li r31, 0 -/* 802CFD10 002CCC50 80 9D 00 80 */ lwz r4, 0x80(r29) -/* 802CFD14 002CCC54 57 C3 06 3E */ clrlwi r3, r30, 0x18 -/* 802CFD18 002CCC58 48 00 00 20 */ b lbl_802CFD38 -lbl_802CFD1C: -/* 802CFD1C 002CCC5C 88 04 00 03 */ lbz r0, 3(r4) -/* 802CFD20 002CCC60 7C 00 18 40 */ cmplw r0, r3 -/* 802CFD24 002CCC64 40 82 00 10 */ bne lbl_802CFD34 -/* 802CFD28 002CCC68 80 04 00 04 */ lwz r0, 4(r4) -/* 802CFD2C 002CCC6C 7F E0 FA 14 */ add r31, r0, r31 -/* 802CFD30 002CCC70 3B FF 00 10 */ addi r31, r31, 0x10 -lbl_802CFD34: -/* 802CFD34 002CCC74 80 84 00 0C */ lwz r4, 0xc(r4) -lbl_802CFD38: -/* 802CFD38 002CCC78 28 04 00 00 */ cmplwi r4, 0 -/* 802CFD3C 002CCC7C 40 82 FF E0 */ bne lbl_802CFD1C -/* 802CFD40 002CCC80 38 7D 00 18 */ addi r3, r29, 0x18 -/* 802CFD44 002CCC84 48 06 F3 D9 */ bl OSUnlockMutex -/* 802CFD48 002CCC88 7F E3 FB 78 */ mr r3, r31 -/* 802CFD4C 002CCC8C 39 61 00 20 */ addi r11, r1, 0x20 -/* 802CFD50 002CCC90 48 09 24 D9 */ bl _restgpr_29 -/* 802CFD54 002CCC94 80 01 00 24 */ lwz r0, 0x24(r1) -/* 802CFD58 002CCC98 7C 08 03 A6 */ mtlr r0 -/* 802CFD5C 002CCC9C 38 21 00 20 */ addi r1, r1, 0x20 -/* 802CFD60 002CCCA0 4E 80 00 20 */ blr - -.global getTotalUsedSize__10JKRExpHeapCFv -getTotalUsedSize__10JKRExpHeapCFv: -/* 802CFD64 002CCCA4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802CFD68 002CCCA8 7C 08 02 A6 */ mflr r0 -/* 802CFD6C 002CCCAC 90 01 00 14 */ stw r0, 0x14(r1) -/* 802CFD70 002CCCB0 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802CFD74 002CCCB4 93 C1 00 08 */ stw r30, 8(r1) -/* 802CFD78 002CCCB8 7C 7E 1B 78 */ mr r30, r3 -/* 802CFD7C 002CCCBC 38 7E 00 18 */ addi r3, r30, 0x18 -/* 802CFD80 002CCCC0 48 06 F2 C1 */ bl OSLockMutex -/* 802CFD84 002CCCC4 3B E0 00 00 */ li r31, 0 -/* 802CFD88 002CCCC8 80 7E 00 80 */ lwz r3, 0x80(r30) -/* 802CFD8C 002CCCCC 48 00 00 14 */ b lbl_802CFDA0 -lbl_802CFD90: -/* 802CFD90 002CCCD0 80 03 00 04 */ lwz r0, 4(r3) -/* 802CFD94 002CCCD4 7F E0 FA 14 */ add r31, r0, r31 -/* 802CFD98 002CCCD8 80 63 00 0C */ lwz r3, 0xc(r3) -/* 802CFD9C 002CCCDC 3B FF 00 10 */ addi r31, r31, 0x10 -lbl_802CFDA0: -/* 802CFDA0 002CCCE0 28 03 00 00 */ cmplwi r3, 0 -/* 802CFDA4 002CCCE4 40 82 FF EC */ bne lbl_802CFD90 -/* 802CFDA8 002CCCE8 38 7E 00 18 */ addi r3, r30, 0x18 -/* 802CFDAC 002CCCEC 48 06 F3 71 */ bl OSUnlockMutex -/* 802CFDB0 002CCCF0 7F E3 FB 78 */ mr r3, r31 -/* 802CFDB4 002CCCF4 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802CFDB8 002CCCF8 83 C1 00 08 */ lwz r30, 8(r1) -/* 802CFDBC 002CCCFC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802CFDC0 002CCD00 7C 08 03 A6 */ mtlr r0 -/* 802CFDC4 002CCD04 38 21 00 10 */ addi r1, r1, 0x10 -/* 802CFDC8 002CCD08 4E 80 00 20 */ blr - -.global appendUsedList__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock -appendUsedList__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock: -/* 802CFDCC 002CCD0C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802CFDD0 002CCD10 7C 08 02 A6 */ mflr r0 -/* 802CFDD4 002CCD14 90 01 00 14 */ stw r0, 0x14(r1) -/* 802CFDD8 002CCD18 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802CFDDC 002CCD1C 93 C1 00 08 */ stw r30, 8(r1) -/* 802CFDE0 002CCD20 7C 7E 1B 78 */ mr r30, r3 -/* 802CFDE4 002CCD24 7C 9F 23 79 */ or. r31, r4, r4 -/* 802CFDE8 002CCD28 40 82 00 24 */ bne lbl_802CFE0C -/* 802CFDEC 002CCD2C 3C 60 80 3A */ lis r3, lbl_8039CAF0@ha -/* 802CFDF0 002CCD30 38 C3 CA F0 */ addi r6, r3, lbl_8039CAF0@l -/* 802CFDF4 002CCD34 38 66 00 25 */ addi r3, r6, 0x25 -/* 802CFDF8 002CCD38 38 80 06 20 */ li r4, 0x620 -/* 802CFDFC 002CCD3C 38 A6 00 34 */ addi r5, r6, 0x34 -/* 802CFE00 002CCD40 38 C6 00 37 */ addi r6, r6, 0x37 -/* 802CFE04 002CCD44 4C C6 31 82 */ crclr 6 -/* 802CFE08 002CCD48 48 01 23 F5 */ bl JUTException_NS_panic_f -lbl_802CFE0C: -/* 802CFE0C 002CCD4C 80 7E 00 84 */ lwz r3, 0x84(r30) -/* 802CFE10 002CCD50 38 00 48 4D */ li r0, 0x484d -/* 802CFE14 002CCD54 B0 1F 00 00 */ sth r0, 0(r31) -/* 802CFE18 002CCD58 28 03 00 00 */ cmplwi r3, 0 -/* 802CFE1C 002CCD5C 41 82 00 10 */ beq lbl_802CFE2C -/* 802CFE20 002CCD60 93 E3 00 0C */ stw r31, 0xc(r3) -/* 802CFE24 002CCD64 90 7F 00 08 */ stw r3, 8(r31) -/* 802CFE28 002CCD68 48 00 00 0C */ b lbl_802CFE34 -lbl_802CFE2C: -/* 802CFE2C 002CCD6C 38 00 00 00 */ li r0, 0 -/* 802CFE30 002CCD70 90 1F 00 08 */ stw r0, 8(r31) -lbl_802CFE34: -/* 802CFE34 002CCD74 93 FE 00 84 */ stw r31, 0x84(r30) -/* 802CFE38 002CCD78 80 1E 00 80 */ lwz r0, 0x80(r30) -/* 802CFE3C 002CCD7C 28 00 00 00 */ cmplwi r0, 0 -/* 802CFE40 002CCD80 40 82 00 08 */ bne lbl_802CFE48 -/* 802CFE44 002CCD84 93 FE 00 80 */ stw r31, 0x80(r30) -lbl_802CFE48: -/* 802CFE48 002CCD88 38 00 00 00 */ li r0, 0 -/* 802CFE4C 002CCD8C 90 1F 00 0C */ stw r0, 0xc(r31) -/* 802CFE50 002CCD90 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802CFE54 002CCD94 83 C1 00 08 */ lwz r30, 8(r1) -/* 802CFE58 002CCD98 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802CFE5C 002CCD9C 7C 08 03 A6 */ mtlr r0 -/* 802CFE60 002CCDA0 38 21 00 10 */ addi r1, r1, 0x10 -/* 802CFE64 002CCDA4 4E 80 00 20 */ blr - -.global setFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlock -setFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlock: -/* 802CFE68 002CCDA8 28 05 00 00 */ cmplwi r5, 0 -/* 802CFE6C 002CCDAC 40 82 00 14 */ bne lbl_802CFE80 -/* 802CFE70 002CCDB0 90 83 00 78 */ stw r4, 0x78(r3) -/* 802CFE74 002CCDB4 38 00 00 00 */ li r0, 0 -/* 802CFE78 002CCDB8 90 04 00 08 */ stw r0, 8(r4) -/* 802CFE7C 002CCDBC 48 00 00 0C */ b lbl_802CFE88 -lbl_802CFE80: -/* 802CFE80 002CCDC0 90 85 00 0C */ stw r4, 0xc(r5) -/* 802CFE84 002CCDC4 90 A4 00 08 */ stw r5, 8(r4) -lbl_802CFE88: -/* 802CFE88 002CCDC8 28 06 00 00 */ cmplwi r6, 0 -/* 802CFE8C 002CCDCC 40 82 00 14 */ bne lbl_802CFEA0 -/* 802CFE90 002CCDD0 90 83 00 7C */ stw r4, 0x7c(r3) -/* 802CFE94 002CCDD4 38 00 00 00 */ li r0, 0 -/* 802CFE98 002CCDD8 90 04 00 0C */ stw r0, 0xc(r4) -/* 802CFE9C 002CCDDC 48 00 00 0C */ b lbl_802CFEA8 -lbl_802CFEA0: -/* 802CFEA0 002CCDE0 90 86 00 08 */ stw r4, 8(r6) -/* 802CFEA4 002CCDE4 90 C4 00 0C */ stw r6, 0xc(r4) -lbl_802CFEA8: -/* 802CFEA8 002CCDE8 38 00 00 00 */ li r0, 0 -/* 802CFEAC 002CCDEC B0 04 00 00 */ sth r0, 0(r4) -/* 802CFEB0 002CCDF0 4E 80 00 20 */ blr - -.global removeFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock -removeFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock: -/* 802CFEB4 002CCDF4 80 A4 00 08 */ lwz r5, 8(r4) -/* 802CFEB8 002CCDF8 80 84 00 0C */ lwz r4, 0xc(r4) -/* 802CFEBC 002CCDFC 28 05 00 00 */ cmplwi r5, 0 -/* 802CFEC0 002CCE00 40 82 00 0C */ bne lbl_802CFECC -/* 802CFEC4 002CCE04 90 83 00 78 */ stw r4, 0x78(r3) -/* 802CFEC8 002CCE08 48 00 00 08 */ b lbl_802CFED0 -lbl_802CFECC: -/* 802CFECC 002CCE0C 90 85 00 0C */ stw r4, 0xc(r5) -lbl_802CFED0: -/* 802CFED0 002CCE10 28 04 00 00 */ cmplwi r4, 0 -/* 802CFED4 002CCE14 40 82 00 0C */ bne lbl_802CFEE0 -/* 802CFED8 002CCE18 90 A3 00 7C */ stw r5, 0x7c(r3) -/* 802CFEDC 002CCE1C 4E 80 00 20 */ blr -lbl_802CFEE0: -/* 802CFEE0 002CCE20 90 A4 00 08 */ stw r5, 8(r4) -/* 802CFEE4 002CCE24 4E 80 00 20 */ blr - -.global removeUsedBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock -removeUsedBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock: -/* 802CFEE8 002CCE28 80 A4 00 08 */ lwz r5, 8(r4) -/* 802CFEEC 002CCE2C 80 84 00 0C */ lwz r4, 0xc(r4) -/* 802CFEF0 002CCE30 28 05 00 00 */ cmplwi r5, 0 -/* 802CFEF4 002CCE34 40 82 00 0C */ bne lbl_802CFF00 -/* 802CFEF8 002CCE38 90 83 00 80 */ stw r4, 0x80(r3) -/* 802CFEFC 002CCE3C 48 00 00 08 */ b lbl_802CFF04 -lbl_802CFF00: -/* 802CFF00 002CCE40 90 85 00 0C */ stw r4, 0xc(r5) -lbl_802CFF04: -/* 802CFF04 002CCE44 28 04 00 00 */ cmplwi r4, 0 -/* 802CFF08 002CCE48 40 82 00 0C */ bne lbl_802CFF14 -/* 802CFF0C 002CCE4C 90 A3 00 84 */ stw r5, 0x84(r3) -/* 802CFF10 002CCE50 4E 80 00 20 */ blr -lbl_802CFF14: -/* 802CFF14 002CCE54 90 A4 00 08 */ stw r5, 8(r4) -/* 802CFF18 002CCE58 4E 80 00 20 */ blr - -.global recycleFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock -recycleFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock: -/* 802CFF1C 002CCE5C 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802CFF20 002CCE60 7C 08 02 A6 */ mflr r0 -/* 802CFF24 002CCE64 90 01 00 24 */ stw r0, 0x24(r1) -/* 802CFF28 002CCE68 39 61 00 20 */ addi r11, r1, 0x20 -/* 802CFF2C 002CCE6C 48 09 22 B1 */ bl _savegpr_29 -/* 802CFF30 002CCE70 7C 7D 1B 78 */ mr r29, r3 -/* 802CFF34 002CCE74 7C 9F 23 78 */ mr r31, r4 -/* 802CFF38 002CCE78 80 C4 00 04 */ lwz r6, 4(r4) -/* 802CFF3C 002CCE7C 7C A4 32 14 */ add r5, r4, r6 -/* 802CFF40 002CCE80 38 60 00 00 */ li r3, 0 -/* 802CFF44 002CCE84 B0 64 00 00 */ sth r3, 0(r4) -/* 802CFF48 002CCE88 88 04 00 02 */ lbz r0, 2(r4) -/* 802CFF4C 002CCE8C 54 00 06 7F */ clrlwi. r0, r0, 0x19 -/* 802CFF50 002CCE90 41 82 00 1C */ beq lbl_802CFF6C -/* 802CFF54 002CCE94 7F E0 20 50 */ subf r31, r0, r4 -/* 802CFF58 002CCE98 7C C6 02 14 */ add r6, r6, r0 -/* 802CFF5C 002CCE9C 7C BF 32 14 */ add r5, r31, r6 -/* 802CFF60 002CCEA0 98 7F 00 03 */ stb r3, 3(r31) -/* 802CFF64 002CCEA4 98 7F 00 02 */ stb r3, 2(r31) -/* 802CFF68 002CCEA8 90 DF 00 04 */ stw r6, 4(r31) -lbl_802CFF6C: -/* 802CFF6C 002CCEAC 80 7D 00 78 */ lwz r3, 0x78(r29) -/* 802CFF70 002CCEB0 28 03 00 00 */ cmplwi r3, 0 -/* 802CFF74 002CCEB4 40 82 00 3C */ bne lbl_802CFFB0 -/* 802CFF78 002CCEB8 7F E3 FB 78 */ mr r3, r31 -/* 802CFF7C 002CCEBC 38 80 00 00 */ li r4, 0 -/* 802CFF80 002CCEC0 38 A0 00 00 */ li r5, 0 -/* 802CFF84 002CCEC4 38 E0 00 00 */ li r7, 0 -/* 802CFF88 002CCEC8 39 00 00 00 */ li r8, 0 -/* 802CFF8C 002CCECC 48 00 08 85 */ bl initiate__Q210JKRExpHeap9CMemBlockFPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlockUlUcUc -/* 802CFF90 002CCED0 93 FD 00 78 */ stw r31, 0x78(r29) -/* 802CFF94 002CCED4 93 FD 00 7C */ stw r31, 0x7c(r29) -/* 802CFF98 002CCED8 7F A3 EB 78 */ mr r3, r29 -/* 802CFF9C 002CCEDC 7F E4 FB 78 */ mr r4, r31 -/* 802CFFA0 002CCEE0 38 A0 00 00 */ li r5, 0 -/* 802CFFA4 002CCEE4 38 C0 00 00 */ li r6, 0 -/* 802CFFA8 002CCEE8 4B FF FE C1 */ bl setFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlock -/* 802CFFAC 002CCEEC 48 00 00 F0 */ b lbl_802D009C -lbl_802CFFB0: -/* 802CFFB0 002CCEF0 7C 03 28 40 */ cmplw r3, r5 -/* 802CFFB4 002CCEF4 41 80 00 40 */ blt lbl_802CFFF4 -/* 802CFFB8 002CCEF8 7F E3 FB 78 */ mr r3, r31 -/* 802CFFBC 002CCEFC 38 80 00 00 */ li r4, 0 -/* 802CFFC0 002CCF00 38 A0 00 00 */ li r5, 0 -/* 802CFFC4 002CCF04 38 E0 00 00 */ li r7, 0 -/* 802CFFC8 002CCF08 39 00 00 00 */ li r8, 0 -/* 802CFFCC 002CCF0C 48 00 08 45 */ bl initiate__Q210JKRExpHeap9CMemBlockFPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlockUlUcUc -/* 802CFFD0 002CCF10 7F A3 EB 78 */ mr r3, r29 -/* 802CFFD4 002CCF14 7F E4 FB 78 */ mr r4, r31 -/* 802CFFD8 002CCF18 38 A0 00 00 */ li r5, 0 -/* 802CFFDC 002CCF1C 80 DD 00 78 */ lwz r6, 0x78(r29) -/* 802CFFE0 002CCF20 4B FF FE 89 */ bl setFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlock -/* 802CFFE4 002CCF24 7F A3 EB 78 */ mr r3, r29 -/* 802CFFE8 002CCF28 7F E4 FB 78 */ mr r4, r31 -/* 802CFFEC 002CCF2C 48 00 00 C9 */ bl joinTwoBlocks__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock -/* 802CFFF0 002CCF30 48 00 00 AC */ b lbl_802D009C -lbl_802CFFF4: -/* 802CFFF4 002CCF34 80 1D 00 7C */ lwz r0, 0x7c(r29) -/* 802CFFF8 002CCF38 7C 00 F8 40 */ cmplw r0, r31 -/* 802CFFFC 002CCF3C 41 81 00 40 */ bgt lbl_802D003C -/* 802D0000 002CCF40 7F E3 FB 78 */ mr r3, r31 -/* 802D0004 002CCF44 38 80 00 00 */ li r4, 0 -/* 802D0008 002CCF48 38 A0 00 00 */ li r5, 0 -/* 802D000C 002CCF4C 38 E0 00 00 */ li r7, 0 -/* 802D0010 002CCF50 39 00 00 00 */ li r8, 0 -/* 802D0014 002CCF54 48 00 07 FD */ bl initiate__Q210JKRExpHeap9CMemBlockFPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlockUlUcUc -/* 802D0018 002CCF58 7F A3 EB 78 */ mr r3, r29 -/* 802D001C 002CCF5C 7F E4 FB 78 */ mr r4, r31 -/* 802D0020 002CCF60 80 BD 00 7C */ lwz r5, 0x7c(r29) -/* 802D0024 002CCF64 38 C0 00 00 */ li r6, 0 -/* 802D0028 002CCF68 4B FF FE 41 */ bl setFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlock -/* 802D002C 002CCF6C 7F A3 EB 78 */ mr r3, r29 -/* 802D0030 002CCF70 80 9F 00 08 */ lwz r4, 8(r31) -/* 802D0034 002CCF74 48 00 00 81 */ bl joinTwoBlocks__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock -/* 802D0038 002CCF78 48 00 00 64 */ b lbl_802D009C -lbl_802D003C: -/* 802D003C 002CCF7C 7C 7E 1B 78 */ mr r30, r3 -/* 802D0040 002CCF80 48 00 00 54 */ b lbl_802D0094 -lbl_802D0044: -/* 802D0044 002CCF84 7C 1E F8 40 */ cmplw r30, r31 -/* 802D0048 002CCF88 40 80 00 48 */ bge lbl_802D0090 -/* 802D004C 002CCF8C 80 1E 00 0C */ lwz r0, 0xc(r30) -/* 802D0050 002CCF90 7C 1F 00 40 */ cmplw r31, r0 -/* 802D0054 002CCF94 40 80 00 3C */ bge lbl_802D0090 -/* 802D0058 002CCF98 90 1F 00 0C */ stw r0, 0xc(r31) -/* 802D005C 002CCF9C 93 DF 00 08 */ stw r30, 8(r31) -/* 802D0060 002CCFA0 93 FE 00 0C */ stw r31, 0xc(r30) -/* 802D0064 002CCFA4 80 7F 00 0C */ lwz r3, 0xc(r31) -/* 802D0068 002CCFA8 93 E3 00 08 */ stw r31, 8(r3) -/* 802D006C 002CCFAC 38 00 00 00 */ li r0, 0 -/* 802D0070 002CCFB0 98 1F 00 03 */ stb r0, 3(r31) -/* 802D0074 002CCFB4 7F A3 EB 78 */ mr r3, r29 -/* 802D0078 002CCFB8 7F E4 FB 78 */ mr r4, r31 -/* 802D007C 002CCFBC 48 00 00 39 */ bl joinTwoBlocks__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock -/* 802D0080 002CCFC0 7F A3 EB 78 */ mr r3, r29 -/* 802D0084 002CCFC4 7F C4 F3 78 */ mr r4, r30 -/* 802D0088 002CCFC8 48 00 00 2D */ bl joinTwoBlocks__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock -/* 802D008C 002CCFCC 48 00 00 10 */ b lbl_802D009C -lbl_802D0090: -/* 802D0090 002CCFD0 83 DE 00 0C */ lwz r30, 0xc(r30) -lbl_802D0094: -/* 802D0094 002CCFD4 28 1E 00 00 */ cmplwi r30, 0 -/* 802D0098 002CCFD8 40 82 FF AC */ bne lbl_802D0044 -lbl_802D009C: -/* 802D009C 002CCFDC 39 61 00 20 */ addi r11, r1, 0x20 -/* 802D00A0 002CCFE0 48 09 21 89 */ bl _restgpr_29 -/* 802D00A4 002CCFE4 80 01 00 24 */ lwz r0, 0x24(r1) -/* 802D00A8 002CCFE8 7C 08 03 A6 */ mtlr r0 -/* 802D00AC 002CCFEC 38 21 00 20 */ addi r1, r1, 0x20 -/* 802D00B0 002CCFF0 4E 80 00 20 */ blr - -.global joinTwoBlocks__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock -joinTwoBlocks__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock: -/* 802D00B4 002CCFF4 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802D00B8 002CCFF8 7C 08 02 A6 */ mflr r0 -/* 802D00BC 002CCFFC 90 01 00 24 */ stw r0, 0x24(r1) -/* 802D00C0 002CD000 39 61 00 20 */ addi r11, r1, 0x20 -/* 802D00C4 002CD004 48 09 21 11 */ bl _savegpr_27 -/* 802D00C8 002CD008 7C 7E 1B 78 */ mr r30, r3 -/* 802D00CC 002CD00C 7C 9F 23 78 */ mr r31, r4 -/* 802D00D0 002CD010 80 04 00 04 */ lwz r0, 4(r4) -/* 802D00D4 002CD014 7F BF 02 14 */ add r29, r31, r0 -/* 802D00D8 002CD018 83 84 00 0C */ lwz r28, 0xc(r4) -/* 802D00DC 002CD01C 88 1C 00 02 */ lbz r0, 2(r28) -/* 802D00E0 002CD020 54 00 06 7E */ clrlwi r0, r0, 0x19 -/* 802D00E4 002CD024 7F 60 E0 50 */ subf r27, r0, r28 -/* 802D00E8 002CD028 3B BD 00 10 */ addi r29, r29, 0x10 -/* 802D00EC 002CD02C 7C 1D D8 40 */ cmplw r29, r27 -/* 802D00F0 002CD030 40 81 00 4C */ ble lbl_802D013C -/* 802D00F4 002CD034 3C 60 80 3A */ lis r3, lbl_8039CAF0@ha -/* 802D00F8 002CD038 38 63 CA F0 */ addi r3, r3, lbl_8039CAF0@l -/* 802D00FC 002CD03C 38 63 00 4B */ addi r3, r3, 0x4b -/* 802D0100 002CD040 4C C6 31 82 */ crclr 6 -/* 802D0104 002CD044 48 01 85 79 */ bl JUTWarningConsole_f -/* 802D0108 002CD048 80 6D 8D F4 */ lwz r3, lbl_80451374-_SDA_BASE_(r13) -/* 802D010C 002CD04C 81 83 00 00 */ lwz r12, 0(r3) -/* 802D0110 002CD050 81 8C 00 1C */ lwz r12, 0x1c(r12) -/* 802D0114 002CD054 7D 89 03 A6 */ mtctr r12 -/* 802D0118 002CD058 4E 80 04 21 */ bctrl -/* 802D011C 002CD05C 3C 60 80 3A */ lis r3, lbl_8039CAF0@ha -/* 802D0120 002CD060 38 C3 CA F0 */ addi r6, r3, lbl_8039CAF0@l -/* 802D0124 002CD064 38 66 00 25 */ addi r3, r6, 0x25 -/* 802D0128 002CD068 38 80 07 1C */ li r4, 0x71c -/* 802D012C 002CD06C 38 A6 00 34 */ addi r5, r6, 0x34 -/* 802D0130 002CD070 38 C6 00 6F */ addi r6, r6, 0x6f -/* 802D0134 002CD074 4C C6 31 82 */ crclr 6 -/* 802D0138 002CD078 48 01 20 C5 */ bl JUTException_NS_panic_f -lbl_802D013C: -/* 802D013C 002CD07C 7C 1D D8 40 */ cmplw r29, r27 -/* 802D0140 002CD080 40 82 00 38 */ bne lbl_802D0178 -/* 802D0144 002CD084 80 9F 00 04 */ lwz r4, 4(r31) -/* 802D0148 002CD088 80 7C 00 04 */ lwz r3, 4(r28) -/* 802D014C 002CD08C 88 1C 00 02 */ lbz r0, 2(r28) -/* 802D0150 002CD090 54 00 06 7E */ clrlwi r0, r0, 0x19 -/* 802D0154 002CD094 7C 03 02 14 */ add r0, r3, r0 -/* 802D0158 002CD098 7C 60 22 14 */ add r3, r0, r4 -/* 802D015C 002CD09C 38 03 00 10 */ addi r0, r3, 0x10 -/* 802D0160 002CD0A0 90 1F 00 04 */ stw r0, 4(r31) -/* 802D0164 002CD0A4 7F C3 F3 78 */ mr r3, r30 -/* 802D0168 002CD0A8 7F E4 FB 78 */ mr r4, r31 -/* 802D016C 002CD0AC 80 BF 00 08 */ lwz r5, 8(r31) -/* 802D0170 002CD0B0 80 DC 00 0C */ lwz r6, 0xc(r28) -/* 802D0174 002CD0B4 4B FF FC F5 */ bl setFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlock -lbl_802D0178: -/* 802D0178 002CD0B8 39 61 00 20 */ addi r11, r1, 0x20 -/* 802D017C 002CD0BC 48 09 20 A5 */ bl _restgpr_27 -/* 802D0180 002CD0C0 80 01 00 24 */ lwz r0, 0x24(r1) -/* 802D0184 002CD0C4 7C 08 03 A6 */ mtlr r0 -/* 802D0188 002CD0C8 38 21 00 20 */ addi r1, r1, 0x20 -/* 802D018C 002CD0CC 4E 80 00 20 */ blr -/* 802D0190 002CD0D0 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802D0194 002CD0D4 7C 08 02 A6 */ mflr r0 -/* 802D0198 002CD0D8 90 01 00 24 */ stw r0, 0x24(r1) -/* 802D019C 002CD0DC 39 61 00 20 */ addi r11, r1, 0x20 -/* 802D01A0 002CD0E0 48 09 20 39 */ bl _savegpr_28 -/* 802D01A4 002CD0E4 7C 7C 1B 78 */ mr r28, r3 -/* 802D01A8 002CD0E8 38 7C 00 18 */ addi r3, r28, 0x18 -/* 802D01AC 002CD0EC 48 06 EE 95 */ bl OSLockMutex -/* 802D01B0 002CD0F0 3B E0 00 00 */ li r31, 0 -/* 802D01B4 002CD0F4 3B C0 00 01 */ li r30, 1 -/* 802D01B8 002CD0F8 83 BC 00 80 */ lwz r29, 0x80(r28) -/* 802D01BC 002CD0FC 48 00 00 E0 */ b lbl_802D029C -lbl_802D01C0: -/* 802D01C0 002CD100 A0 1D 00 00 */ lhz r0, 0(r29) -/* 802D01C4 002CD104 28 00 48 4D */ cmplwi r0, 0x484d -/* 802D01C8 002CD108 41 82 00 28 */ beq lbl_802D01F0 -/* 802D01CC 002CD10C 3B C0 00 00 */ li r30, 0 -/* 802D01D0 002CD110 54 06 06 3E */ clrlwi r6, r0, 0x18 -/* 802D01D4 002CD114 54 05 C6 3E */ rlwinm r5, r0, 0x18, 0x18, 0x1f -/* 802D01D8 002CD118 3C 60 80 3A */ lis r3, lbl_8039CAF0@ha -/* 802D01DC 002CD11C 38 63 CA F0 */ addi r3, r3, lbl_8039CAF0@l -/* 802D01E0 002CD120 38 63 00 7A */ addi r3, r3, 0x7a -/* 802D01E4 002CD124 7F A4 EB 78 */ mr r4, r29 -/* 802D01E8 002CD128 4C C6 31 82 */ crclr 6 -/* 802D01EC 002CD12C 48 01 84 91 */ bl JUTWarningConsole_f -lbl_802D01F0: -/* 802D01F0 002CD130 80 BD 00 0C */ lwz r5, 0xc(r29) -/* 802D01F4 002CD134 28 05 00 00 */ cmplwi r5, 0 -/* 802D01F8 002CD138 41 82 00 60 */ beq lbl_802D0258 -/* 802D01FC 002CD13C A0 05 00 00 */ lhz r0, 0(r5) -/* 802D0200 002CD140 28 00 48 4D */ cmplwi r0, 0x484d -/* 802D0204 002CD144 41 82 00 24 */ beq lbl_802D0228 -/* 802D0208 002CD148 3B C0 00 00 */ li r30, 0 -/* 802D020C 002CD14C 3C 60 80 3A */ lis r3, lbl_8039CAF0@ha -/* 802D0210 002CD150 38 63 CA F0 */ addi r3, r3, lbl_8039CAF0@l -/* 802D0214 002CD154 38 63 00 A4 */ addi r3, r3, 0xa4 -/* 802D0218 002CD158 7F A4 EB 78 */ mr r4, r29 -/* 802D021C 002CD15C 4C C6 31 82 */ crclr 6 -/* 802D0220 002CD160 48 01 84 5D */ bl JUTWarningConsole_f -/* 802D0224 002CD164 48 00 00 80 */ b lbl_802D02A4 -lbl_802D0228: -/* 802D0228 002CD168 80 05 00 08 */ lwz r0, 8(r5) -/* 802D022C 002CD16C 7C 00 E8 40 */ cmplw r0, r29 -/* 802D0230 002CD170 41 82 00 50 */ beq lbl_802D0280 -/* 802D0234 002CD174 3B C0 00 00 */ li r30, 0 -/* 802D0238 002CD178 3C 60 80 3A */ lis r3, lbl_8039CAF0@ha -/* 802D023C 002CD17C 38 63 CA F0 */ addi r3, r3, lbl_8039CAF0@l -/* 802D0240 002CD180 38 63 00 D1 */ addi r3, r3, 0xd1 -/* 802D0244 002CD184 7C A4 2B 78 */ mr r4, r5 -/* 802D0248 002CD188 7C 05 03 78 */ mr r5, r0 -/* 802D024C 002CD18C 4C C6 31 82 */ crclr 6 -/* 802D0250 002CD190 48 01 84 2D */ bl JUTWarningConsole_f -/* 802D0254 002CD194 48 00 00 2C */ b lbl_802D0280 -lbl_802D0258: -/* 802D0258 002CD198 80 BC 00 84 */ lwz r5, 0x84(r28) -/* 802D025C 002CD19C 7C 05 E8 40 */ cmplw r5, r29 -/* 802D0260 002CD1A0 41 82 00 20 */ beq lbl_802D0280 -/* 802D0264 002CD1A4 3B C0 00 00 */ li r30, 0 -/* 802D0268 002CD1A8 3C 60 80 3A */ lis r3, lbl_8039CAF0@ha -/* 802D026C 002CD1AC 38 63 CA F0 */ addi r3, r3, lbl_8039CAF0@l -/* 802D0270 002CD1B0 38 63 00 FC */ addi r3, r3, 0xfc -/* 802D0274 002CD1B4 7F A4 EB 78 */ mr r4, r29 -/* 802D0278 002CD1B8 4C C6 31 82 */ crclr 6 -/* 802D027C 002CD1BC 48 01 84 01 */ bl JUTWarningConsole_f -lbl_802D0280: -/* 802D0280 002CD1C0 80 7D 00 04 */ lwz r3, 4(r29) -/* 802D0284 002CD1C4 88 1D 00 02 */ lbz r0, 2(r29) -/* 802D0288 002CD1C8 54 00 06 7E */ clrlwi r0, r0, 0x19 -/* 802D028C 002CD1CC 7C 03 02 14 */ add r0, r3, r0 -/* 802D0290 002CD1D0 7F E0 FA 14 */ add r31, r0, r31 -/* 802D0294 002CD1D4 83 BD 00 0C */ lwz r29, 0xc(r29) -/* 802D0298 002CD1D8 3B FF 00 10 */ addi r31, r31, 0x10 -lbl_802D029C: -/* 802D029C 002CD1DC 28 1D 00 00 */ cmplwi r29, 0 -/* 802D02A0 002CD1E0 40 82 FF 20 */ bne lbl_802D01C0 -lbl_802D02A4: -/* 802D02A4 002CD1E4 83 BC 00 78 */ lwz r29, 0x78(r28) -/* 802D02A8 002CD1E8 48 00 00 A4 */ b lbl_802D034C -lbl_802D02AC: -/* 802D02AC 002CD1EC 80 1D 00 04 */ lwz r0, 4(r29) -/* 802D02B0 002CD1F0 7F E0 FA 14 */ add r31, r0, r31 -/* 802D02B4 002CD1F4 80 9D 00 0C */ lwz r4, 0xc(r29) -/* 802D02B8 002CD1F8 28 04 00 00 */ cmplwi r4, 0 -/* 802D02BC 002CD1FC 3B FF 00 10 */ addi r31, r31, 0x10 -/* 802D02C0 002CD200 41 82 00 60 */ beq lbl_802D0320 -/* 802D02C4 002CD204 80 A4 00 08 */ lwz r5, 8(r4) -/* 802D02C8 002CD208 7C 05 E8 40 */ cmplw r5, r29 -/* 802D02CC 002CD20C 41 82 00 1C */ beq lbl_802D02E8 -/* 802D02D0 002CD210 3B C0 00 00 */ li r30, 0 -/* 802D02D4 002CD214 3C 60 80 3A */ lis r3, lbl_8039CAF0@ha -/* 802D02D8 002CD218 38 63 CA F0 */ addi r3, r3, lbl_8039CAF0@l -/* 802D02DC 002CD21C 38 63 00 D1 */ addi r3, r3, 0xd1 -/* 802D02E0 002CD220 4C C6 31 82 */ crclr 6 -/* 802D02E4 002CD224 48 01 83 99 */ bl JUTWarningConsole_f -lbl_802D02E8: -/* 802D02E8 002CD228 80 BD 00 04 */ lwz r5, 4(r29) -/* 802D02EC 002CD22C 38 05 00 10 */ addi r0, r5, 0x10 -/* 802D02F0 002CD230 7C 7D 02 14 */ add r3, r29, r0 -/* 802D02F4 002CD234 80 1D 00 0C */ lwz r0, 0xc(r29) -/* 802D02F8 002CD238 7C 03 00 40 */ cmplw r3, r0 -/* 802D02FC 002CD23C 40 81 00 4C */ ble lbl_802D0348 -/* 802D0300 002CD240 3B C0 00 00 */ li r30, 0 -/* 802D0304 002CD244 3C 60 80 3A */ lis r3, lbl_8039CAF0@ha -/* 802D0308 002CD248 38 63 CA F0 */ addi r3, r3, lbl_8039CAF0@l -/* 802D030C 002CD24C 38 63 01 25 */ addi r3, r3, 0x125 -/* 802D0310 002CD250 7F A4 EB 78 */ mr r4, r29 -/* 802D0314 002CD254 4C C6 31 82 */ crclr 6 -/* 802D0318 002CD258 48 01 83 65 */ bl JUTWarningConsole_f -/* 802D031C 002CD25C 48 00 00 2C */ b lbl_802D0348 -lbl_802D0320: -/* 802D0320 002CD260 80 BC 00 7C */ lwz r5, 0x7c(r28) -/* 802D0324 002CD264 7C 05 E8 40 */ cmplw r5, r29 -/* 802D0328 002CD268 41 82 00 20 */ beq lbl_802D0348 -/* 802D032C 002CD26C 3B C0 00 00 */ li r30, 0 -/* 802D0330 002CD270 3C 60 80 3A */ lis r3, lbl_8039CAF0@ha -/* 802D0334 002CD274 38 63 CA F0 */ addi r3, r3, lbl_8039CAF0@l -/* 802D0338 002CD278 38 63 00 FC */ addi r3, r3, 0xfc -/* 802D033C 002CD27C 7F A4 EB 78 */ mr r4, r29 -/* 802D0340 002CD280 4C C6 31 82 */ crclr 6 -/* 802D0344 002CD284 48 01 83 39 */ bl JUTWarningConsole_f -lbl_802D0348: -/* 802D0348 002CD288 83 BD 00 0C */ lwz r29, 0xc(r29) -lbl_802D034C: -/* 802D034C 002CD28C 28 1D 00 00 */ cmplwi r29, 0 -/* 802D0350 002CD290 40 82 FF 5C */ bne lbl_802D02AC -/* 802D0354 002CD294 80 9C 00 38 */ lwz r4, 0x38(r28) -/* 802D0358 002CD298 7C 1F 20 40 */ cmplw r31, r4 -/* 802D035C 002CD29C 41 82 00 20 */ beq lbl_802D037C -/* 802D0360 002CD2A0 3B C0 00 00 */ li r30, 0 -/* 802D0364 002CD2A4 3C 60 80 3A */ lis r3, lbl_8039CAF0@ha -/* 802D0368 002CD2A8 38 63 CA F0 */ addi r3, r3, lbl_8039CAF0@l -/* 802D036C 002CD2AC 38 63 01 4A */ addi r3, r3, 0x14a -/* 802D0370 002CD2B0 7F E5 FB 78 */ mr r5, r31 -/* 802D0374 002CD2B4 4C C6 31 82 */ crclr 6 -/* 802D0378 002CD2B8 48 01 83 05 */ bl JUTWarningConsole_f -lbl_802D037C: -/* 802D037C 002CD2BC 57 C0 06 3F */ clrlwi. r0, r30, 0x18 -/* 802D0380 002CD2C0 40 82 00 14 */ bne lbl_802D0394 -/* 802D0384 002CD2C4 3C 60 80 3A */ lis r3, lbl_8039CAF0@ha -/* 802D0388 002CD2C8 38 63 CA F0 */ addi r3, r3, lbl_8039CAF0@l -/* 802D038C 002CD2CC 38 63 01 77 */ addi r3, r3, 0x177 -/* 802D0390 002CD2D0 48 01 83 6D */ bl JUTWarningConsole -lbl_802D0394: -/* 802D0394 002CD2D4 38 7C 00 18 */ addi r3, r28, 0x18 -/* 802D0398 002CD2D8 48 06 ED 85 */ bl OSUnlockMutex -/* 802D039C 002CD2DC 7F C3 F3 78 */ mr r3, r30 -/* 802D03A0 002CD2E0 39 61 00 20 */ addi r11, r1, 0x20 -/* 802D03A4 002CD2E4 48 09 1E 81 */ bl _restgpr_28 -/* 802D03A8 002CD2E8 80 01 00 24 */ lwz r0, 0x24(r1) -/* 802D03AC 002CD2EC 7C 08 03 A6 */ mtlr r0 -/* 802D03B0 002CD2F0 38 21 00 20 */ addi r1, r1, 0x20 -/* 802D03B4 002CD2F4 4E 80 00 20 */ blr -/* 802D03B8 002CD2F8 94 21 FF C0 */ stwu r1, -0x40(r1) -/* 802D03BC 002CD2FC 7C 08 02 A6 */ mflr r0 -/* 802D03C0 002CD300 90 01 00 44 */ stw r0, 0x44(r1) -/* 802D03C4 002CD304 39 61 00 40 */ addi r11, r1, 0x40 -/* 802D03C8 002CD308 48 09 1E 05 */ bl _savegpr_25 -/* 802D03CC 002CD30C 7C 7A 1B 78 */ mr r26, r3 -/* 802D03D0 002CD310 38 7A 00 18 */ addi r3, r26, 0x18 -/* 802D03D4 002CD314 48 06 EC 6D */ bl OSLockMutex -/* 802D03D8 002CD318 7F 43 D3 78 */ mr r3, r26 -/* 802D03DC 002CD31C 81 9A 00 00 */ lwz r12, 0(r26) -/* 802D03E0 002CD320 81 8C 00 14 */ lwz r12, 0x14(r12) -/* 802D03E4 002CD324 7D 89 03 A6 */ mtctr r12 -/* 802D03E8 002CD328 4E 80 04 21 */ bctrl -/* 802D03EC 002CD32C 7C 7F 1B 78 */ mr r31, r3 -/* 802D03F0 002CD330 3B C0 00 00 */ li r30, 0 -/* 802D03F4 002CD334 3B A0 00 00 */ li r29, 0 -/* 802D03F8 002CD338 3B 80 00 00 */ li r28, 0 -/* 802D03FC 002CD33C 3C 60 80 3A */ lis r3, lbl_8039CAF0@ha -/* 802D0400 002CD340 38 63 CA F0 */ addi r3, r3, lbl_8039CAF0@l -/* 802D0404 002CD344 38 63 01 9D */ addi r3, r3, 0x19d -/* 802D0408 002CD348 48 01 82 41 */ bl JUTReportConsole -/* 802D040C 002CD34C 3C 60 80 3A */ lis r3, lbl_8039CAF0@ha -/* 802D0410 002CD350 38 63 CA F0 */ addi r3, r3, lbl_8039CAF0@l -/* 802D0414 002CD354 38 63 01 D4 */ addi r3, r3, 0x1d4 -/* 802D0418 002CD358 48 01 82 31 */ bl JUTReportConsole -/* 802D041C 002CD35C 80 1A 00 80 */ lwz r0, 0x80(r26) -/* 802D0420 002CD360 28 00 00 00 */ cmplwi r0, 0 -/* 802D0424 002CD364 40 82 00 14 */ bne lbl_802D0438 -/* 802D0428 002CD368 3C 60 80 3A */ lis r3, lbl_8039CAF0@ha -/* 802D042C 002CD36C 38 63 CA F0 */ addi r3, r3, lbl_8039CAF0@l -/* 802D0430 002CD370 38 63 01 E3 */ addi r3, r3, 0x1e3 -/* 802D0434 002CD374 48 01 82 15 */ bl JUTReportConsole -lbl_802D0438: -/* 802D0438 002CD378 83 7A 00 80 */ lwz r27, 0x80(r26) -/* 802D043C 002CD37C 3C 60 80 3A */ lis r3, lbl_8039CAF0@ha -/* 802D0440 002CD380 3B 23 CA F0 */ addi r25, r3, lbl_8039CAF0@l -/* 802D0444 002CD384 48 00 00 8C */ b lbl_802D04D0 -lbl_802D0448: -/* 802D0448 002CD388 A0 1B 00 00 */ lhz r0, 0(r27) -/* 802D044C 002CD38C 28 00 48 4D */ cmplwi r0, 0x484d -/* 802D0450 002CD390 41 82 00 20 */ beq lbl_802D0470 -/* 802D0454 002CD394 3C 60 80 3A */ lis r3, lbl_8039CAF0@ha -/* 802D0458 002CD398 38 63 CA F0 */ addi r3, r3, lbl_8039CAF0@l -/* 802D045C 002CD39C 38 63 01 EA */ addi r3, r3, 0x1ea -/* 802D0460 002CD3A0 7F 64 DB 78 */ mr r4, r27 -/* 802D0464 002CD3A4 4C C6 31 82 */ crclr 6 -/* 802D0468 002CD3A8 48 01 81 61 */ bl JUTReportConsole_f -/* 802D046C 002CD3AC 48 00 00 6C */ b lbl_802D04D8 -lbl_802D0470: -/* 802D0470 002CD3B0 88 1B 00 02 */ lbz r0, 2(r27) -/* 802D0474 002CD3B4 54 08 06 7E */ clrlwi r8, r0, 0x19 -/* 802D0478 002CD3B8 38 BB 00 10 */ addi r5, r27, 0x10 -/* 802D047C 002CD3BC 38 79 02 24 */ addi r3, r25, 0x224 -/* 802D0480 002CD3C0 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18 -/* 802D0484 002CD3C4 38 99 02 4F */ addi r4, r25, 0x24f -/* 802D0488 002CD3C8 41 82 00 10 */ beq lbl_802D0498 -/* 802D048C 002CD3CC 3C 80 80 3A */ lis r4, lbl_8039CAF0@ha -/* 802D0490 002CD3D0 38 84 CA F0 */ addi r4, r4, lbl_8039CAF0@l -/* 802D0494 002CD3D4 38 84 02 49 */ addi r4, r4, 0x249 -lbl_802D0498: -/* 802D0498 002CD3D8 80 DB 00 04 */ lwz r6, 4(r27) -/* 802D049C 002CD3DC 88 FB 00 03 */ lbz r7, 3(r27) -/* 802D04A0 002CD3E0 81 3B 00 08 */ lwz r9, 8(r27) -/* 802D04A4 002CD3E4 81 5B 00 0C */ lwz r10, 0xc(r27) -/* 802D04A8 002CD3E8 4C C6 31 82 */ crclr 6 -/* 802D04AC 002CD3EC 48 01 81 1D */ bl JUTReportConsole_f -/* 802D04B0 002CD3F0 80 7B 00 04 */ lwz r3, 4(r27) -/* 802D04B4 002CD3F4 88 1B 00 02 */ lbz r0, 2(r27) -/* 802D04B8 002CD3F8 54 00 06 7E */ clrlwi r0, r0, 0x19 -/* 802D04BC 002CD3FC 7C 03 02 14 */ add r0, r3, r0 -/* 802D04C0 002CD400 7F C0 F2 14 */ add r30, r0, r30 -/* 802D04C4 002CD404 83 7B 00 0C */ lwz r27, 0xc(r27) -/* 802D04C8 002CD408 3B DE 00 10 */ addi r30, r30, 0x10 -/* 802D04CC 002CD40C 3B BD 00 01 */ addi r29, r29, 1 -lbl_802D04D0: -/* 802D04D0 002CD410 28 1B 00 00 */ cmplwi r27, 0 -/* 802D04D4 002CD414 40 82 FF 74 */ bne lbl_802D0448 -lbl_802D04D8: -/* 802D04D8 002CD418 3C 60 80 3A */ lis r3, lbl_8039CAF0@ha -/* 802D04DC 002CD41C 38 63 CA F0 */ addi r3, r3, lbl_8039CAF0@l -/* 802D04E0 002CD420 38 63 02 55 */ addi r3, r3, 0x255 -/* 802D04E4 002CD424 48 01 81 65 */ bl JUTReportConsole -/* 802D04E8 002CD428 80 1A 00 78 */ lwz r0, 0x78(r26) -/* 802D04EC 002CD42C 28 00 00 00 */ cmplwi r0, 0 -/* 802D04F0 002CD430 40 82 00 14 */ bne lbl_802D0504 -/* 802D04F4 002CD434 3C 60 80 3A */ lis r3, lbl_8039CAF0@ha -/* 802D04F8 002CD438 38 63 CA F0 */ addi r3, r3, lbl_8039CAF0@l -/* 802D04FC 002CD43C 38 63 01 E3 */ addi r3, r3, 0x1e3 -/* 802D0500 002CD440 48 01 81 49 */ bl JUTReportConsole -lbl_802D0504: -/* 802D0504 002CD444 83 3A 00 78 */ lwz r25, 0x78(r26) -/* 802D0508 002CD448 3C 60 80 3A */ lis r3, lbl_8039CAF0@ha -/* 802D050C 002CD44C 3B 63 CA F0 */ addi r27, r3, lbl_8039CAF0@l -/* 802D0510 002CD450 48 00 00 38 */ b lbl_802D0548 -lbl_802D0514: -/* 802D0514 002CD454 38 7B 02 24 */ addi r3, r27, 0x224 -/* 802D0518 002CD458 38 9B 02 64 */ addi r4, r27, 0x264 -/* 802D051C 002CD45C 38 B9 00 10 */ addi r5, r25, 0x10 -/* 802D0520 002CD460 80 D9 00 04 */ lwz r6, 4(r25) -/* 802D0524 002CD464 88 F9 00 03 */ lbz r7, 3(r25) -/* 802D0528 002CD468 88 19 00 02 */ lbz r0, 2(r25) -/* 802D052C 002CD46C 54 08 06 7E */ clrlwi r8, r0, 0x19 -/* 802D0530 002CD470 81 39 00 08 */ lwz r9, 8(r25) -/* 802D0534 002CD474 81 59 00 0C */ lwz r10, 0xc(r25) -/* 802D0538 002CD478 4C C6 31 82 */ crclr 6 -/* 802D053C 002CD47C 48 01 80 8D */ bl JUTReportConsole_f -/* 802D0540 002CD480 83 39 00 0C */ lwz r25, 0xc(r25) -/* 802D0544 002CD484 3B 9C 00 01 */ addi r28, r28, 1 -lbl_802D0548: -/* 802D0548 002CD488 28 19 00 00 */ cmplwi r25, 0 -/* 802D054C 002CD48C 40 82 FF C8 */ bne lbl_802D0514 -/* 802D0550 002CD490 80 BA 00 38 */ lwz r5, 0x38(r26) -/* 802D0554 002CD494 3C 60 80 3A */ lis r3, lbl_8039CAF0@ha -/* 802D0558 002CD498 38 63 CA F0 */ addi r3, r3, lbl_8039CAF0@l -/* 802D055C 002CD49C 38 63 02 6A */ addi r3, r3, 0x26a -/* 802D0560 002CD4A0 7F C4 F3 78 */ mr r4, r30 -/* 802D0564 002CD4A4 C0 62 C5 98 */ lfs f3, lbl_80455F98-_SDA2_BASE_(r2) -/* 802D0568 002CD4A8 C8 42 C5 A0 */ lfd f2, lbl_80455FA0-_SDA2_BASE_(r2) -/* 802D056C 002CD4AC 93 C1 00 0C */ stw r30, 0xc(r1) -/* 802D0570 002CD4B0 3C 00 43 30 */ lis r0, 0x4330 -/* 802D0574 002CD4B4 90 01 00 08 */ stw r0, 8(r1) -/* 802D0578 002CD4B8 C8 01 00 08 */ lfd f0, 8(r1) -/* 802D057C 002CD4BC EC 20 10 28 */ fsubs f1, f0, f2 -/* 802D0580 002CD4C0 90 A1 00 14 */ stw r5, 0x14(r1) -/* 802D0584 002CD4C4 90 01 00 10 */ stw r0, 0x10(r1) -/* 802D0588 002CD4C8 C8 01 00 10 */ lfd f0, 0x10(r1) -/* 802D058C 002CD4CC EC 00 10 28 */ fsubs f0, f0, f2 -/* 802D0590 002CD4D0 EC 01 00 24 */ fdivs f0, f1, f0 -/* 802D0594 002CD4D4 EC 23 00 32 */ fmuls f1, f3, f0 -/* 802D0598 002CD4D8 7F A6 EB 78 */ mr r6, r29 -/* 802D059C 002CD4DC 7F 87 E3 78 */ mr r7, r28 -/* 802D05A0 002CD4E0 4C C6 32 42 */ crset 6 -/* 802D05A4 002CD4E4 48 01 80 25 */ bl JUTReportConsole_f -/* 802D05A8 002CD4E8 38 7A 00 18 */ addi r3, r26, 0x18 -/* 802D05AC 002CD4EC 48 06 EB 71 */ bl OSUnlockMutex -/* 802D05B0 002CD4F0 7F E3 FB 78 */ mr r3, r31 -/* 802D05B4 002CD4F4 39 61 00 40 */ addi r11, r1, 0x40 -/* 802D05B8 002CD4F8 48 09 1C 61 */ bl _restgpr_25 -/* 802D05BC 002CD4FC 80 01 00 44 */ lwz r0, 0x44(r1) -/* 802D05C0 002CD500 7C 08 03 A6 */ mtlr r0 -/* 802D05C4 002CD504 38 21 00 40 */ addi r1, r1, 0x40 -/* 802D05C8 002CD508 4E 80 00 20 */ blr -/* 802D05CC 002CD50C 94 21 FF C0 */ stwu r1, -0x40(r1) -/* 802D05D0 002CD510 7C 08 02 A6 */ mflr r0 -/* 802D05D4 002CD514 90 01 00 44 */ stw r0, 0x44(r1) -/* 802D05D8 002CD518 39 61 00 40 */ addi r11, r1, 0x40 -/* 802D05DC 002CD51C 48 09 1B F1 */ bl _savegpr_25 -/* 802D05E0 002CD520 7C 79 1B 78 */ mr r25, r3 -/* 802D05E4 002CD524 38 79 00 18 */ addi r3, r25, 0x18 -/* 802D05E8 002CD528 48 06 EA 59 */ bl OSLockMutex -/* 802D05EC 002CD52C 7F 23 CB 78 */ mr r3, r25 -/* 802D05F0 002CD530 81 99 00 00 */ lwz r12, 0(r25) -/* 802D05F4 002CD534 81 8C 00 14 */ lwz r12, 0x14(r12) -/* 802D05F8 002CD538 7D 89 03 A6 */ mtctr r12 -/* 802D05FC 002CD53C 4E 80 04 21 */ bctrl -/* 802D0600 002CD540 7C 7E 1B 78 */ mr r30, r3 -/* 802D0604 002CD544 3B A0 00 00 */ li r29, 0 -/* 802D0608 002CD548 3B 80 00 00 */ li r28, 0 -/* 802D060C 002CD54C 3B 60 00 00 */ li r27, 0 -/* 802D0610 002CD550 3C 60 80 3A */ lis r3, lbl_8039CAF0@ha -/* 802D0614 002CD554 38 63 CA F0 */ addi r3, r3, lbl_8039CAF0@l -/* 802D0618 002CD558 38 63 01 9D */ addi r3, r3, 0x19d -/* 802D061C 002CD55C 48 01 80 2D */ bl JUTReportConsole -/* 802D0620 002CD560 3C 60 80 3A */ lis r3, lbl_8039CAF0@ha -/* 802D0624 002CD564 38 63 CA F0 */ addi r3, r3, lbl_8039CAF0@l -/* 802D0628 002CD568 38 63 01 D4 */ addi r3, r3, 0x1d4 -/* 802D062C 002CD56C 48 01 80 1D */ bl JUTReportConsole -/* 802D0630 002CD570 80 19 00 80 */ lwz r0, 0x80(r25) -/* 802D0634 002CD574 28 00 00 00 */ cmplwi r0, 0 -/* 802D0638 002CD578 40 82 00 18 */ bne lbl_802D0650 -/* 802D063C 002CD57C 3C 60 80 3A */ lis r3, lbl_8039CAF0@ha -/* 802D0640 002CD580 38 63 CA F0 */ addi r3, r3, lbl_8039CAF0@l -/* 802D0644 002CD584 38 63 01 E3 */ addi r3, r3, 0x1e3 -/* 802D0648 002CD588 48 01 80 01 */ bl JUTReportConsole -/* 802D064C 002CD58C 48 00 00 D0 */ b lbl_802D071C -lbl_802D0650: -/* 802D0650 002CD590 38 80 00 00 */ li r4, 0 -/* 802D0654 002CD594 3C 60 80 3A */ lis r3, lbl_8039CAF0@ha -/* 802D0658 002CD598 3B E3 CA F0 */ addi r31, r3, lbl_8039CAF0@l -lbl_802D065C: -/* 802D065C 002CD59C 3B 40 FF FF */ li r26, -1 -/* 802D0660 002CD5A0 80 79 00 80 */ lwz r3, 0x80(r25) -/* 802D0664 002CD5A4 48 00 00 1C */ b lbl_802D0680 -lbl_802D0668: -/* 802D0668 002CD5A8 7C 04 18 40 */ cmplw r4, r3 -/* 802D066C 002CD5AC 40 80 00 10 */ bge lbl_802D067C -/* 802D0670 002CD5B0 7C 03 D0 40 */ cmplw r3, r26 -/* 802D0674 002CD5B4 40 80 00 08 */ bge lbl_802D067C -/* 802D0678 002CD5B8 7C 7A 1B 78 */ mr r26, r3 -lbl_802D067C: -/* 802D067C 002CD5BC 80 63 00 0C */ lwz r3, 0xc(r3) -lbl_802D0680: -/* 802D0680 002CD5C0 28 03 00 00 */ cmplwi r3, 0 -/* 802D0684 002CD5C4 40 82 FF E4 */ bne lbl_802D0668 -/* 802D0688 002CD5C8 3C 1A 00 01 */ addis r0, r26, 1 -/* 802D068C 002CD5CC 28 00 FF FF */ cmplwi r0, 0xffff -/* 802D0690 002CD5D0 41 82 00 8C */ beq lbl_802D071C -/* 802D0694 002CD5D4 A0 1A 00 00 */ lhz r0, 0(r26) -/* 802D0698 002CD5D8 28 00 48 4D */ cmplwi r0, 0x484d -/* 802D069C 002CD5DC 41 82 00 1C */ beq lbl_802D06B8 -/* 802D06A0 002CD5E0 3C 60 80 3A */ lis r3, lbl_8039CAF0@ha -/* 802D06A4 002CD5E4 38 63 CA F0 */ addi r3, r3, lbl_8039CAF0@l -/* 802D06A8 002CD5E8 38 63 01 EA */ addi r3, r3, 0x1ea -/* 802D06AC 002CD5EC 4C C6 31 82 */ crclr 6 -/* 802D06B0 002CD5F0 48 01 7F 19 */ bl JUTReportConsole_f -/* 802D06B4 002CD5F4 48 00 00 68 */ b lbl_802D071C -lbl_802D06B8: -/* 802D06B8 002CD5F8 88 1A 00 02 */ lbz r0, 2(r26) -/* 802D06BC 002CD5FC 54 08 06 7E */ clrlwi r8, r0, 0x19 -/* 802D06C0 002CD600 38 BA 00 10 */ addi r5, r26, 0x10 -/* 802D06C4 002CD604 38 7F 02 24 */ addi r3, r31, 0x224 -/* 802D06C8 002CD608 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18 -/* 802D06CC 002CD60C 38 9F 02 4F */ addi r4, r31, 0x24f -/* 802D06D0 002CD610 41 82 00 10 */ beq lbl_802D06E0 -/* 802D06D4 002CD614 3C 80 80 3A */ lis r4, lbl_8039CAF0@ha -/* 802D06D8 002CD618 38 84 CA F0 */ addi r4, r4, lbl_8039CAF0@l -/* 802D06DC 002CD61C 38 84 02 49 */ addi r4, r4, 0x249 -lbl_802D06E0: -/* 802D06E0 002CD620 80 DA 00 04 */ lwz r6, 4(r26) -/* 802D06E4 002CD624 88 FA 00 03 */ lbz r7, 3(r26) -/* 802D06E8 002CD628 81 3A 00 08 */ lwz r9, 8(r26) -/* 802D06EC 002CD62C 81 5A 00 0C */ lwz r10, 0xc(r26) -/* 802D06F0 002CD630 4C C6 31 82 */ crclr 6 -/* 802D06F4 002CD634 48 01 7E D5 */ bl JUTReportConsole_f -/* 802D06F8 002CD638 80 7A 00 04 */ lwz r3, 4(r26) -/* 802D06FC 002CD63C 88 1A 00 02 */ lbz r0, 2(r26) -/* 802D0700 002CD640 54 00 06 7E */ clrlwi r0, r0, 0x19 -/* 802D0704 002CD644 7C 03 02 14 */ add r0, r3, r0 -/* 802D0708 002CD648 7F A0 EA 14 */ add r29, r0, r29 -/* 802D070C 002CD64C 7F 44 D3 78 */ mr r4, r26 -/* 802D0710 002CD650 3B BD 00 10 */ addi r29, r29, 0x10 -/* 802D0714 002CD654 3B 9C 00 01 */ addi r28, r28, 1 -/* 802D0718 002CD658 4B FF FF 44 */ b lbl_802D065C -lbl_802D071C: -/* 802D071C 002CD65C 3C 60 80 3A */ lis r3, lbl_8039CAF0@ha -/* 802D0720 002CD660 38 63 CA F0 */ addi r3, r3, lbl_8039CAF0@l -/* 802D0724 002CD664 38 63 02 55 */ addi r3, r3, 0x255 -/* 802D0728 002CD668 48 01 7F 21 */ bl JUTReportConsole -/* 802D072C 002CD66C 80 19 00 78 */ lwz r0, 0x78(r25) -/* 802D0730 002CD670 28 00 00 00 */ cmplwi r0, 0 -/* 802D0734 002CD674 40 82 00 14 */ bne lbl_802D0748 -/* 802D0738 002CD678 3C 60 80 3A */ lis r3, lbl_8039CAF0@ha -/* 802D073C 002CD67C 38 63 CA F0 */ addi r3, r3, lbl_8039CAF0@l -/* 802D0740 002CD680 38 63 01 E3 */ addi r3, r3, 0x1e3 -/* 802D0744 002CD684 48 01 7F 05 */ bl JUTReportConsole -lbl_802D0748: -/* 802D0748 002CD688 83 F9 00 78 */ lwz r31, 0x78(r25) -/* 802D074C 002CD68C 3C 60 80 3A */ lis r3, lbl_8039CAF0@ha -/* 802D0750 002CD690 3B 43 CA F0 */ addi r26, r3, lbl_8039CAF0@l -/* 802D0754 002CD694 48 00 00 38 */ b lbl_802D078C -lbl_802D0758: -/* 802D0758 002CD698 38 7A 02 24 */ addi r3, r26, 0x224 -/* 802D075C 002CD69C 38 9A 02 64 */ addi r4, r26, 0x264 -/* 802D0760 002CD6A0 38 BF 00 10 */ addi r5, r31, 0x10 -/* 802D0764 002CD6A4 80 DF 00 04 */ lwz r6, 4(r31) -/* 802D0768 002CD6A8 88 FF 00 03 */ lbz r7, 3(r31) -/* 802D076C 002CD6AC 88 1F 00 02 */ lbz r0, 2(r31) -/* 802D0770 002CD6B0 54 08 06 7E */ clrlwi r8, r0, 0x19 -/* 802D0774 002CD6B4 81 3F 00 08 */ lwz r9, 8(r31) -/* 802D0778 002CD6B8 81 5F 00 0C */ lwz r10, 0xc(r31) -/* 802D077C 002CD6BC 4C C6 31 82 */ crclr 6 -/* 802D0780 002CD6C0 48 01 7E 49 */ bl JUTReportConsole_f -/* 802D0784 002CD6C4 83 FF 00 0C */ lwz r31, 0xc(r31) -/* 802D0788 002CD6C8 3B 7B 00 01 */ addi r27, r27, 1 -lbl_802D078C: -/* 802D078C 002CD6CC 28 1F 00 00 */ cmplwi r31, 0 -/* 802D0790 002CD6D0 40 82 FF C8 */ bne lbl_802D0758 -/* 802D0794 002CD6D4 80 B9 00 38 */ lwz r5, 0x38(r25) -/* 802D0798 002CD6D8 3C 60 80 3A */ lis r3, lbl_8039CAF0@ha -/* 802D079C 002CD6DC 38 63 CA F0 */ addi r3, r3, lbl_8039CAF0@l -/* 802D07A0 002CD6E0 38 63 02 6A */ addi r3, r3, 0x26a -/* 802D07A4 002CD6E4 7F A4 EB 78 */ mr r4, r29 -/* 802D07A8 002CD6E8 C0 62 C5 98 */ lfs f3, lbl_80455F98-_SDA2_BASE_(r2) -/* 802D07AC 002CD6EC C8 42 C5 A0 */ lfd f2, lbl_80455FA0-_SDA2_BASE_(r2) -/* 802D07B0 002CD6F0 93 A1 00 0C */ stw r29, 0xc(r1) -/* 802D07B4 002CD6F4 3C 00 43 30 */ lis r0, 0x4330 -/* 802D07B8 002CD6F8 90 01 00 08 */ stw r0, 8(r1) -/* 802D07BC 002CD6FC C8 01 00 08 */ lfd f0, 8(r1) -/* 802D07C0 002CD700 EC 20 10 28 */ fsubs f1, f0, f2 -/* 802D07C4 002CD704 90 A1 00 14 */ stw r5, 0x14(r1) -/* 802D07C8 002CD708 90 01 00 10 */ stw r0, 0x10(r1) -/* 802D07CC 002CD70C C8 01 00 10 */ lfd f0, 0x10(r1) -/* 802D07D0 002CD710 EC 00 10 28 */ fsubs f0, f0, f2 -/* 802D07D4 002CD714 EC 01 00 24 */ fdivs f0, f1, f0 -/* 802D07D8 002CD718 EC 23 00 32 */ fmuls f1, f3, f0 -/* 802D07DC 002CD71C 7F 86 E3 78 */ mr r6, r28 -/* 802D07E0 002CD720 7F 67 DB 78 */ mr r7, r27 -/* 802D07E4 002CD724 4C C6 32 42 */ crset 6 -/* 802D07E8 002CD728 48 01 7D E1 */ bl JUTReportConsole_f -/* 802D07EC 002CD72C 38 79 00 18 */ addi r3, r25, 0x18 -/* 802D07F0 002CD730 48 06 E9 2D */ bl OSUnlockMutex -/* 802D07F4 002CD734 7F C3 F3 78 */ mr r3, r30 -/* 802D07F8 002CD738 39 61 00 40 */ addi r11, r1, 0x40 -/* 802D07FC 002CD73C 48 09 1A 1D */ bl _restgpr_25 -/* 802D0800 002CD740 80 01 00 44 */ lwz r0, 0x44(r1) -/* 802D0804 002CD744 7C 08 03 A6 */ mtlr r0 -/* 802D0808 002CD748 38 21 00 40 */ addi r1, r1, 0x40 -/* 802D080C 002CD74C 4E 80 00 20 */ blr - -.global initiate__Q210JKRExpHeap9CMemBlockFPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlockUlUcUc -initiate__Q210JKRExpHeap9CMemBlockFPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlockUlUcUc: -/* 802D0810 002CD750 38 00 48 4D */ li r0, 0x484d -/* 802D0814 002CD754 B0 03 00 00 */ sth r0, 0(r3) -/* 802D0818 002CD758 99 03 00 02 */ stb r8, 2(r3) -/* 802D081C 002CD75C 98 E3 00 03 */ stb r7, 3(r3) -/* 802D0820 002CD760 90 C3 00 04 */ stw r6, 4(r3) -/* 802D0824 002CD764 90 83 00 08 */ stw r4, 8(r3) -/* 802D0828 002CD768 90 A3 00 0C */ stw r5, 0xc(r3) -/* 802D082C 002CD76C 4E 80 00 20 */ blr - -.global allocFore__Q210JKRExpHeap9CMemBlockFUlUcUcUcUc -allocFore__Q210JKRExpHeap9CMemBlockFUlUcUcUcUc: -/* 802D0830 002CD770 39 20 00 00 */ li r9, 0 -/* 802D0834 002CD774 98 A3 00 03 */ stb r5, 3(r3) -/* 802D0838 002CD778 98 C3 00 02 */ stb r6, 2(r3) -/* 802D083C 002CD77C 80 03 00 04 */ lwz r0, 4(r3) -/* 802D0840 002CD780 38 A4 00 10 */ addi r5, r4, 0x10 -/* 802D0844 002CD784 7C 00 28 40 */ cmplw r0, r5 -/* 802D0848 002CD788 41 80 00 24 */ blt lbl_802D086C -/* 802D084C 002CD78C 7D 24 1A 14 */ add r9, r4, r3 -/* 802D0850 002CD790 98 E9 00 13 */ stb r7, 0x13(r9) -/* 802D0854 002CD794 99 09 00 12 */ stb r8, 0x12(r9) -/* 802D0858 002CD798 80 03 00 04 */ lwz r0, 4(r3) -/* 802D085C 002CD79C 7C 05 00 50 */ subf r0, r5, r0 -/* 802D0860 002CD7A0 90 09 00 14 */ stw r0, 0x14(r9) -/* 802D0864 002CD7A4 90 83 00 04 */ stw r4, 4(r3) -/* 802D0868 002CD7A8 39 29 00 10 */ addi r9, r9, 0x10 -lbl_802D086C: -/* 802D086C 002CD7AC 7D 23 4B 78 */ mr r3, r9 -/* 802D0870 002CD7B0 4E 80 00 20 */ blr - -.global allocBack__Q210JKRExpHeap9CMemBlockFUlUcUcUcUc -allocBack__Q210JKRExpHeap9CMemBlockFUlUcUcUcUc: -/* 802D0874 002CD7B4 39 40 00 00 */ li r10, 0 -/* 802D0878 002CD7B8 80 03 00 04 */ lwz r0, 4(r3) -/* 802D087C 002CD7BC 39 24 00 10 */ addi r9, r4, 0x10 -/* 802D0880 002CD7C0 7C 00 48 40 */ cmplw r0, r9 -/* 802D0884 002CD7C4 41 80 00 34 */ blt lbl_802D08B8 -/* 802D0888 002CD7C8 7C 03 02 14 */ add r0, r3, r0 -/* 802D088C 002CD7CC 7D 44 00 50 */ subf r10, r4, r0 -/* 802D0890 002CD7D0 98 EA 00 03 */ stb r7, 3(r10) -/* 802D0894 002CD7D4 61 00 00 80 */ ori r0, r8, 0x80 -/* 802D0898 002CD7D8 98 0A 00 02 */ stb r0, 2(r10) -/* 802D089C 002CD7DC 90 8A 00 04 */ stw r4, 4(r10) -/* 802D08A0 002CD7E0 98 A3 00 03 */ stb r5, 3(r3) -/* 802D08A4 002CD7E4 98 C3 00 02 */ stb r6, 2(r3) -/* 802D08A8 002CD7E8 80 03 00 04 */ lwz r0, 4(r3) -/* 802D08AC 002CD7EC 7C 09 00 50 */ subf r0, r9, r0 -/* 802D08B0 002CD7F0 90 03 00 04 */ stw r0, 4(r3) -/* 802D08B4 002CD7F4 48 00 00 10 */ b lbl_802D08C4 -lbl_802D08B8: -/* 802D08B8 002CD7F8 98 E3 00 03 */ stb r7, 3(r3) -/* 802D08BC 002CD7FC 38 00 00 80 */ li r0, 0x80 -/* 802D08C0 002CD800 98 03 00 02 */ stb r0, 2(r3) -lbl_802D08C4: -/* 802D08C4 002CD804 7D 43 53 78 */ mr r3, r10 -/* 802D08C8 002CD808 4E 80 00 20 */ blr - -.global free__Q210JKRExpHeap9CMemBlockFP10JKRExpHeap -free__Q210JKRExpHeap9CMemBlockFP10JKRExpHeap: -/* 802D08CC 002CD80C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802D08D0 002CD810 7C 08 02 A6 */ mflr r0 -/* 802D08D4 002CD814 90 01 00 14 */ stw r0, 0x14(r1) -/* 802D08D8 002CD818 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802D08DC 002CD81C 93 C1 00 08 */ stw r30, 8(r1) -/* 802D08E0 002CD820 7C 7E 1B 78 */ mr r30, r3 -/* 802D08E4 002CD824 7C 9F 23 78 */ mr r31, r4 -/* 802D08E8 002CD828 7F E3 FB 78 */ mr r3, r31 -/* 802D08EC 002CD82C 7F C4 F3 78 */ mr r4, r30 -/* 802D08F0 002CD830 4B FF F5 F9 */ bl removeUsedBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock -/* 802D08F4 002CD834 7F E3 FB 78 */ mr r3, r31 -/* 802D08F8 002CD838 7F C4 F3 78 */ mr r4, r30 -/* 802D08FC 002CD83C 4B FF F6 21 */ bl recycleFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock -/* 802D0900 002CD840 38 60 00 00 */ li r3, 0 -/* 802D0904 002CD844 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802D0908 002CD848 83 C1 00 08 */ lwz r30, 8(r1) -/* 802D090C 002CD84C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802D0910 002CD850 7C 08 03 A6 */ mtlr r0 -/* 802D0914 002CD854 38 21 00 10 */ addi r1, r1, 0x10 -/* 802D0918 002CD858 4E 80 00 20 */ blr - -.global getHeapBlock__Q210JKRExpHeap9CMemBlockFPv -getHeapBlock__Q210JKRExpHeap9CMemBlockFPv: -/* 802D091C 002CD85C 28 03 00 00 */ cmplwi r3, 0 -/* 802D0920 002CD860 41 82 00 10 */ beq lbl_802D0930 -/* 802D0924 002CD864 A4 03 FF F0 */ lhzu r0, -0x10(r3) -/* 802D0928 002CD868 28 00 48 4D */ cmplwi r0, 0x484d -/* 802D092C 002CD86C 4D 82 00 20 */ beqlr -lbl_802D0930: -/* 802D0930 002CD870 38 60 00 00 */ li r3, 0 -/* 802D0934 002CD874 4E 80 00 20 */ blr -/* 802D0938 002CD878 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802D093C 002CD87C 7C 08 02 A6 */ mflr r0 -/* 802D0940 002CD880 90 01 00 24 */ stw r0, 0x24(r1) -/* 802D0944 002CD884 39 61 00 20 */ addi r11, r1, 0x20 -/* 802D0948 002CD888 48 09 18 95 */ bl _savegpr_29 -/* 802D094C 002CD88C 7C 7D 1B 78 */ mr r29, r3 -/* 802D0950 002CD890 7C 9E 23 78 */ mr r30, r4 -/* 802D0954 002CD894 7C BF 2B 78 */ mr r31, r5 -/* 802D0958 002CD898 93 E4 00 14 */ stw r31, 0x14(r4) -/* 802D095C 002CD89C 28 1F 00 FF */ cmplwi r31, 0xff -/* 802D0960 002CD8A0 41 81 00 14 */ bgt lbl_802D0974 -/* 802D0964 002CD8A4 57 E4 06 3E */ clrlwi r4, r31, 0x18 -/* 802D0968 002CD8A8 4B FF F3 81 */ bl getUsedSize__10JKRExpHeapCFUc -/* 802D096C 002CD8AC 90 7E 00 00 */ stw r3, 0(r30) -/* 802D0970 002CD8B0 48 00 00 14 */ b lbl_802D0984 -lbl_802D0974: -/* 802D0974 002CD8B4 4B FF DE 11 */ bl getTotalFreeSize__7JKRHeapCFv -/* 802D0978 002CD8B8 80 1D 00 38 */ lwz r0, 0x38(r29) -/* 802D097C 002CD8BC 7C 03 00 50 */ subf r0, r3, r0 -/* 802D0980 002CD8C0 90 1E 00 00 */ stw r0, 0(r30) -lbl_802D0984: -/* 802D0984 002CD8C4 38 60 00 00 */ li r3, 0 -/* 802D0988 002CD8C8 80 9D 00 80 */ lwz r4, 0x80(r29) -/* 802D098C 002CD8CC 48 00 00 30 */ b lbl_802D09BC -lbl_802D0990: -/* 802D0990 002CD8D0 28 1F 00 FF */ cmplwi r31, 0xff -/* 802D0994 002CD8D4 41 81 00 1C */ bgt lbl_802D09B0 -/* 802D0998 002CD8D8 88 04 00 03 */ lbz r0, 3(r4) -/* 802D099C 002CD8DC 7C 00 F8 40 */ cmplw r0, r31 -/* 802D09A0 002CD8E0 40 82 00 18 */ bne lbl_802D09B8 -/* 802D09A4 002CD8E4 1C 04 00 03 */ mulli r0, r4, 3 -/* 802D09A8 002CD8E8 7C 63 02 14 */ add r3, r3, r0 -/* 802D09AC 002CD8EC 48 00 00 0C */ b lbl_802D09B8 -lbl_802D09B0: -/* 802D09B0 002CD8F0 1C 04 00 03 */ mulli r0, r4, 3 -/* 802D09B4 002CD8F4 7C 63 02 14 */ add r3, r3, r0 -lbl_802D09B8: -/* 802D09B8 002CD8F8 80 84 00 0C */ lwz r4, 0xc(r4) -lbl_802D09BC: -/* 802D09BC 002CD8FC 28 04 00 00 */ cmplwi r4, 0 -/* 802D09C0 002CD900 40 82 FF D0 */ bne lbl_802D0990 -/* 802D09C4 002CD904 90 7E 00 04 */ stw r3, 4(r30) -/* 802D09C8 002CD908 39 61 00 20 */ addi r11, r1, 0x20 -/* 802D09CC 002CD90C 48 09 18 5D */ bl _restgpr_29 -/* 802D09D0 002CD910 80 01 00 24 */ lwz r0, 0x24(r1) -/* 802D09D4 002CD914 7C 08 03 A6 */ mtlr r0 -/* 802D09D8 002CD918 38 21 00 20 */ addi r1, r1, 0x20 -/* 802D09DC 002CD91C 4E 80 00 20 */ blr -/* 802D09E0 002CD920 38 60 00 01 */ li r3, 1 -/* 802D09E4 002CD924 80 C4 00 04 */ lwz r6, 4(r4) -/* 802D09E8 002CD928 80 05 00 04 */ lwz r0, 4(r5) -/* 802D09EC 002CD92C 7C 06 00 40 */ cmplw r6, r0 -/* 802D09F0 002CD930 41 82 00 08 */ beq lbl_802D09F8 -/* 802D09F4 002CD934 38 60 00 00 */ li r3, 0 -lbl_802D09F8: -/* 802D09F8 002CD938 80 84 00 00 */ lwz r4, 0(r4) -/* 802D09FC 002CD93C 80 05 00 00 */ lwz r0, 0(r5) -/* 802D0A00 002CD940 7C 04 00 40 */ cmplw r4, r0 -/* 802D0A04 002CD944 4D 82 00 20 */ beqlr -/* 802D0A08 002CD948 38 60 00 00 */ li r3, 0 -/* 802D0A0C 002CD94C 4E 80 00 20 */ blr -/* 802D0A10 002CD950 3C 60 45 58 */ lis r3, 0x45585048@ha -/* 802D0A14 002CD954 38 63 50 48 */ addi r3, r3, 0x45585048@l -/* 802D0A18 002CD958 4E 80 00 20 */ blr -/* 802D0A1C 002CD95C 88 63 00 6D */ lbz r3, 0x6d(r3) -/* 802D0A20 002CD960 4E 80 00 20 */ blr - diff --git a/asm/JKernel/JKRFileLoader.s b/asm/JKernel/JKRFileLoader.s index 68387295d70..cb8fffa0fa5 100644 --- a/asm/JKernel/JKRFileLoader.s +++ b/asm/JKernel/JKRFileLoader.s @@ -7,11 +7,11 @@ __sinit_JKRFileLoader_cpp: /* 802D45A0 002D14E0 94 21 FF F0 */ stwu r1, -0x10(r1) /* 802D45A4 002D14E4 7C 08 02 A6 */ mflr r0 /* 802D45A8 002D14E8 90 01 00 14 */ stw r0, 0x14(r1) -/* 802D45AC 002D14EC 3C 60 80 43 */ lis r3, lbl_80434354@ha -/* 802D45B0 002D14F0 38 63 43 54 */ addi r3, r3, lbl_80434354@l +/* 802D45AC 002D14EC 3C 60 80 43 */ lis r3, sVolumeList__13JKRFileLoader@ha +/* 802D45B0 002D14F0 38 63 43 54 */ addi r3, r3, sVolumeList__13JKRFileLoader@l /* 802D45B4 002D14F4 48 00 79 61 */ bl initiate__10JSUPtrListFv -/* 802D45B8 002D14F8 3C 60 80 43 */ lis r3, lbl_80434354@ha -/* 802D45BC 002D14FC 38 63 43 54 */ addi r3, r3, lbl_80434354@l +/* 802D45B8 002D14F8 3C 60 80 43 */ lis r3, sVolumeList__13JKRFileLoader@ha +/* 802D45BC 002D14FC 38 63 43 54 */ addi r3, r3, sVolumeList__13JKRFileLoader@l .global JSUList_NS_dtor_X6_ /* 802D45C0 002D1500 3C 80 80 2D */ lis r4, JSUList_NS_dtor_X6_@ha .global JSUList_NS_dtor_X6_ diff --git a/asm/JUtility/JUTCacheFont.s b/asm/JUtility/JUTCacheFont.s index 4166326ba63..70e5563d1b0 100644 --- a/asm/JUtility/JUTCacheFont.s +++ b/asm/JUtility/JUTCacheFont.s @@ -403,7 +403,7 @@ lbl_802DD6CC: /* 802DD6F8 002DA638 38 60 00 00 */ li r3, 0 /* 802DD6FC 002DA63C 48 00 00 F0 */ b lbl_802DD7EC lbl_802DD700: -/* 802DD700 002DA640 80 6D 8E 48 */ lwz r3, lbl_804513C8-_SDA_BASE_(r13) +/* 802DD700 002DA640 80 6D 8E 48 */ lwz r3, sAramObject__7JKRAram-_SDA_BASE_(r13) /* 802DD704 002DA644 80 63 00 94 */ lwz r3, 0x94(r3) /* 802DD708 002DA648 A0 1C 00 62 */ lhz r0, 0x62(r28) /* 802DD70C 002DA64C 54 04 28 34 */ slwi r4, r0, 5 diff --git a/asm/JUtility/JUTConsole.s b/asm/JUtility/JUTConsole.s index 5324126df01..e1880ed0b85 100644 --- a/asm/JUtility/JUTConsole.s +++ b/asm/JUtility/JUTConsole.s @@ -1050,7 +1050,7 @@ JUTConsoleManager_NS_createManager: /* 802E81FC 002E513C 90 01 00 14 */ stw r0, 0x14(r1) /* 802E8200 002E5140 7C 64 1B 79 */ or. r4, r3, r3 /* 802E8204 002E5144 40 82 00 08 */ bne lbl_802E820C -/* 802E8208 002E5148 80 8D 8D F4 */ lwz r4, lbl_80451374-_SDA_BASE_(r13) +/* 802E8208 002E5148 80 8D 8D F4 */ lwz r4, sCurrentHeap__7JKRHeap-_SDA_BASE_(r13) lbl_802E820C: /* 802E820C 002E514C 38 60 00 14 */ li r3, 0x14 /* 802E8210 002E5150 38 A0 00 00 */ li r5, 0 diff --git a/asm/JUtility/JUTDbPrint.s b/asm/JUtility/JUTDbPrint.s index f45dda36a36..e5498dda006 100644 --- a/asm/JUtility/JUTDbPrint.s +++ b/asm/JUtility/JUTDbPrint.s @@ -14,7 +14,7 @@ JUTDbPrint: /* 802E0160 002DD0A0 41 82 00 08 */ beq lbl_802E0168 /* 802E0164 002DD0A4 48 00 00 08 */ b lbl_802E016C lbl_802E0168: -/* 802E0168 002DD0A8 80 AD 8D F4 */ lwz r5, lbl_80451374-_SDA_BASE_(r13) +/* 802E0168 002DD0A8 80 AD 8D F4 */ lwz r5, sCurrentHeap__7JKRHeap-_SDA_BASE_(r13) lbl_802E016C: /* 802E016C 002DD0AC 90 A3 00 10 */ stw r5, 0x10(r3) /* 802E0170 002DD0B0 38 00 00 FF */ li r0, 0xff @@ -40,7 +40,7 @@ JUTDbPrint_NS_start: /* 802E01B4 002DD0F4 40 82 00 34 */ bne lbl_802E01E8 /* 802E01B8 002DD0F8 28 1F 00 00 */ cmplwi r31, 0 /* 802E01BC 002DD0FC 40 82 00 08 */ bne lbl_802E01C4 -/* 802E01C0 002DD100 83 ED 8D F4 */ lwz r31, lbl_80451374-_SDA_BASE_(r13) +/* 802E01C0 002DD100 83 ED 8D F4 */ lwz r31, sCurrentHeap__7JKRHeap-_SDA_BASE_(r13) lbl_802E01C4: /* 802E01C4 002DD104 38 60 00 14 */ li r3, 0x14 /* 802E01C8 002DD108 4B FE EA 85 */ bl __nw__FUl diff --git a/asm/JUtility/JUTException.s b/asm/JUtility/JUTException.s index 538d231bb4a..783743b93f8 100644 --- a/asm/JUtility/JUTException.s +++ b/asm/JUtility/JUTException.s @@ -84,7 +84,7 @@ JUTException_NS_create: /* 802E1E58 002DED98 28 00 00 00 */ cmplwi r0, 0 /* 802E1E5C 002DED9C 40 82 00 34 */ bne lbl_802E1E90 /* 802E1E60 002DEDA0 38 60 00 A4 */ li r3, 0xa4 -/* 802E1E64 002DEDA4 80 8D 8D F0 */ lwz r4, lbl_80451370-_SDA_BASE_(r13) +/* 802E1E64 002DEDA4 80 8D 8D F0 */ lwz r4, sSystemHeap__7JKRHeap-_SDA_BASE_(r13) /* 802E1E68 002DEDA8 38 A0 00 00 */ li r5, 0 /* 802E1E6C 002DEDAC 4B FE CE 2D */ bl __nw__FUlP7JKRHeapi /* 802E1E70 002DEDB0 7C 64 1B 79 */ or. r4, r3, r3 diff --git a/asm/JUtility/JUTGraphFifo.s b/asm/JUtility/JUTGraphFifo.s index 47115237056..4834de6532f 100644 --- a/asm/JUtility/JUTGraphFifo.s +++ b/asm/JUtility/JUTGraphFifo.s @@ -19,7 +19,7 @@ JUTGraphFifo: /* 802DEB84 002DBAC4 88 0D 8F 38 */ lbz r0, lbl_804514B8-_SDA_BASE_(r13) /* 802DEB88 002DBAC8 28 00 00 00 */ cmplwi r0, 0 /* 802DEB8C 002DBACC 41 82 00 4C */ beq lbl_802DEBD8 -/* 802DEB90 002DBAD0 80 6D 8D F0 */ lwz r3, lbl_80451370-_SDA_BASE_(r13) +/* 802DEB90 002DBAD0 80 6D 8D F0 */ lwz r3, sSystemHeap__7JKRHeap-_SDA_BASE_(r13) /* 802DEB94 002DBAD4 80 9F 00 0C */ lwz r4, 0xc(r31) /* 802DEB98 002DBAD8 38 84 00 80 */ addi r4, r4, 0x80 /* 802DEB9C 002DBADC 38 A0 00 20 */ li r5, 0x20 @@ -38,7 +38,7 @@ JUTGraphFifo: /* 802DEBD0 002DBB10 48 07 BB 79 */ bl GXInitFifoPtrs /* 802DEBD4 002DBB14 48 00 00 48 */ b lbl_802DEC1C lbl_802DEBD8: -/* 802DEBD8 002DBB18 80 6D 8D F0 */ lwz r3, lbl_80451370-_SDA_BASE_(r13) +/* 802DEBD8 002DBB18 80 6D 8D F0 */ lwz r3, sSystemHeap__7JKRHeap-_SDA_BASE_(r13) /* 802DEBDC 002DBB1C 80 9F 00 0C */ lwz r4, 0xc(r31) /* 802DEBE0 002DBB20 38 84 00 A0 */ addi r4, r4, 0xa0 /* 802DEBE4 002DBB24 38 A0 00 20 */ li r5, 0x20 @@ -99,7 +99,7 @@ lbl_802DEC88: /* 802DECB8 002DBBF8 38 00 00 00 */ li r0, 0 /* 802DECBC 002DBBFC 90 0D 8F 3C */ stw r0, lbl_804514BC-_SDA_BASE_(r13) lbl_802DECC0: -/* 802DECC0 002DBC00 80 6D 8D F0 */ lwz r3, lbl_80451370-_SDA_BASE_(r13) +/* 802DECC0 002DBC00 80 6D 8D F0 */ lwz r3, sSystemHeap__7JKRHeap-_SDA_BASE_(r13) /* 802DECC4 002DBC04 80 9A 00 08 */ lwz r4, 8(r26) /* 802DECC8 002DBC08 4B FE F8 81 */ bl free__7JKRHeapFPv /* 802DECCC 002DBC0C 7F 60 07 35 */ extsh. r0, r27 diff --git a/asm/JUtility/JUTProcBar.s b/asm/JUtility/JUTProcBar.s index e0cf5e40035..c1643b3cad8 100644 --- a/asm/JUtility/JUTProcBar.s +++ b/asm/JUtility/JUTProcBar.s @@ -1423,7 +1423,7 @@ addrToXPos: /* 802E6D68 002E3CA8 90 81 00 10 */ stw r4, 0x10(r1) /* 802E6D6C 002E3CAC C8 01 00 10 */ lfd f0, 0x10(r1) /* 802E6D70 002E3CB0 EC 20 10 28 */ fsubs f1, f0, f2 -/* 802E6D74 002E3CB4 80 0D 8E 14 */ lwz r0, lbl_80451394-_SDA_BASE_(r13) +/* 802E6D74 002E3CB4 80 0D 8E 14 */ lwz r0, mMemorySize__7JKRHeap-_SDA_BASE_(r13) /* 802E6D78 002E3CB8 90 01 00 1C */ stw r0, 0x1c(r1) /* 802E6D7C 002E3CBC 90 81 00 18 */ stw r4, 0x18(r1) /* 802E6D80 002E3CC0 C8 01 00 18 */ lfd f0, 0x18(r1) @@ -1451,7 +1451,7 @@ byteToXLen: /* 802E6DCC 002E3D0C 90 81 00 10 */ stw r4, 0x10(r1) /* 802E6DD0 002E3D10 C8 01 00 10 */ lfd f0, 0x10(r1) /* 802E6DD4 002E3D14 EC 40 08 28 */ fsubs f2, f0, f1 -/* 802E6DD8 002E3D18 80 0D 8E 14 */ lwz r0, lbl_80451394-_SDA_BASE_(r13) +/* 802E6DD8 002E3D18 80 0D 8E 14 */ lwz r0, mMemorySize__7JKRHeap-_SDA_BASE_(r13) /* 802E6DDC 002E3D1C C8 22 C7 08 */ lfd f1, lbl_80456108-_SDA2_BASE_(r2) /* 802E6DE0 002E3D20 90 01 00 1C */ stw r0, 0x1c(r1) /* 802E6DE4 002E3D24 90 81 00 18 */ stw r4, 0x18(r1) @@ -1656,11 +1656,11 @@ JUTProcBar_NS_drawHeapBar: /* 802E70E8 002E4028 38 61 00 24 */ addi r3, r1, 0x24 /* 802E70EC 002E402C 38 80 00 06 */ li r4, 6 /* 802E70F0 002E4030 48 00 2A AD */ bl J2DDrawFrame -/* 802E70F4 002E4034 80 6D 8E 04 */ lwz r3, lbl_80451384-_SDA_BASE_(r13) +/* 802E70F4 002E4034 80 6D 8E 04 */ lwz r3, mCodeStart__7JKRHeap-_SDA_BASE_(r13) /* 802E70F8 002E4038 7F 44 D3 78 */ mr r4, r26 /* 802E70FC 002E403C 4B FF FC 41 */ bl addrToXPos /* 802E7100 002E4040 7F BC 1A 14 */ add r29, r28, r3 -/* 802E7104 002E4044 80 6D 8E 08 */ lwz r3, lbl_80451388-_SDA_BASE_(r13) +/* 802E7104 002E4044 80 6D 8E 08 */ lwz r3, mCodeEnd__7JKRHeap-_SDA_BASE_(r13) /* 802E7108 002E4048 7F 44 D3 78 */ mr r4, r26 /* 802E710C 002E404C 4B FF FC 31 */ bl addrToXPos /* 802E7110 002E4050 7C 9C 1A 14 */ add r4, r28, r3 @@ -1698,11 +1698,11 @@ JUTProcBar_NS_drawHeapBar: /* 802E7190 002E40D0 EC 80 20 28 */ fsubs f4, f0, f4 /* 802E7194 002E40D4 38 61 00 1C */ addi r3, r1, 0x1c /* 802E7198 002E40D8 48 00 29 2D */ bl J2DFillBox -/* 802E719C 002E40DC 80 6D 8E 0C */ lwz r3, lbl_8045138C-_SDA_BASE_(r13) +/* 802E719C 002E40DC 80 6D 8E 0C */ lwz r3, mUserRamStart__7JKRHeap-_SDA_BASE_(r13) /* 802E71A0 002E40E0 7F 44 D3 78 */ mr r4, r26 /* 802E71A4 002E40E4 4B FF FB 99 */ bl addrToXPos /* 802E71A8 002E40E8 7F BC 1A 14 */ add r29, r28, r3 -/* 802E71AC 002E40EC 80 6D 8E 10 */ lwz r3, lbl_80451390-_SDA_BASE_(r13) +/* 802E71AC 002E40EC 80 6D 8E 10 */ lwz r3, mUserRamEnd__7JKRHeap-_SDA_BASE_(r13) /* 802E71B0 002E40F0 7F 44 D3 78 */ mr r4, r26 /* 802E71B4 002E40F4 4B FF FB 89 */ bl addrToXPos /* 802E71B8 002E40F8 7C 9C 1A 14 */ add r4, r28, r3 @@ -1741,7 +1741,7 @@ JUTProcBar_NS_drawHeapBar: /* 802E723C 002E417C EC 80 20 28 */ fsubs f4, f0, f4 /* 802E7240 002E4180 38 61 00 14 */ addi r3, r1, 0x14 /* 802E7244 002E4184 48 00 28 81 */ bl J2DFillBox -/* 802E7248 002E4188 80 6D 8D F8 */ lwz r3, lbl_80451378-_SDA_BASE_(r13) +/* 802E7248 002E4188 80 6D 8D F8 */ lwz r3, sRootHeap__7JKRHeap-_SDA_BASE_(r13) /* 802E724C 002E418C 4B FE 75 39 */ bl getTotalFreeSize__7JKRHeapCFv /* 802E7250 002E4190 7F 44 D3 78 */ mr r4, r26 /* 802E7254 002E4194 4B FF FB 51 */ bl byteToXLen @@ -1788,9 +1788,9 @@ JUTProcBar_NS_drawHeapBar: /* 802E72F8 002E4238 41 82 00 08 */ beq lbl_802E7300 /* 802E72FC 002E423C 48 00 00 08 */ b lbl_802E7304 lbl_802E7300: -/* 802E7300 002E4240 80 6D 8D F4 */ lwz r3, lbl_80451374-_SDA_BASE_(r13) +/* 802E7300 002E4240 80 6D 8D F4 */ lwz r3, sCurrentHeap__7JKRHeap-_SDA_BASE_(r13) lbl_802E7304: -/* 802E7304 002E4244 80 0D 8D F0 */ lwz r0, lbl_80451370-_SDA_BASE_(r13) +/* 802E7304 002E4244 80 0D 8D F0 */ lwz r0, sSystemHeap__7JKRHeap-_SDA_BASE_(r13) /* 802E7308 002E4248 7C 03 00 40 */ cmplw r3, r0 /* 802E730C 002E424C 41 82 00 1C */ beq lbl_802E7328 /* 802E7310 002E4250 7F 84 E3 78 */ mr r4, r28 diff --git a/asm/JUtility/JUTXfb.s b/asm/JUtility/JUTXfb.s index b901fc9748c..f7ae8d474ea 100644 --- a/asm/JUtility/JUTXfb.s +++ b/asm/JUtility/JUTXfb.s @@ -177,7 +177,7 @@ JUTXfb_NS_initiate: /* 802E546C 002E23AC 7C DD 33 79 */ or. r29, r6, r6 /* 802E5470 002E23B0 7C FE 3B 78 */ mr r30, r7 /* 802E5474 002E23B4 40 82 00 08 */ bne lbl_802E547C -/* 802E5478 002E23B8 83 AD 8D F0 */ lwz r29, lbl_80451370-_SDA_BASE_(r13) +/* 802E5478 002E23B8 83 AD 8D F0 */ lwz r29, sSystemHeap__7JKRHeap-_SDA_BASE_(r13) lbl_802E547C: /* 802E547C 002E23BC 54 83 04 3E */ clrlwi r3, r4, 0x10 /* 802E5480 002E23C0 38 03 00 0F */ addi r0, r3, 0xf diff --git a/asm/ar/ar.s b/asm/ar/ar.s index f200208bd35..b6aec8c80fd 100644 --- a/asm/ar/ar.s +++ b/asm/ar/ar.s @@ -421,7 +421,7 @@ lbl_80350B20: /* 80350B40 0034DA80 B0 1F 00 00 */ sth r0, 0(r31) /* 80350B44 0034DA84 38 80 00 00 */ li r4, 0 /* 80350B48 0034DA88 38 A0 00 20 */ li r5, 0x20 -/* 80350B4C 0034DA8C 4B CB 29 0D */ bl func_80003458 +/* 80350B4C 0034DA8C 4B CB 29 0D */ bl memset /* 80350B50 0034DA90 38 78 00 00 */ addi r3, r24, 0 /* 80350B54 0034DA94 38 80 00 20 */ li r4, 0x20 /* 80350B58 0034DA98 4B FE AA 55 */ bl DCFlushRange @@ -763,7 +763,7 @@ lbl_8035105C: /* 8035107C 0034DFBC B0 1F 00 00 */ sth r0, 0(r31) /* 80351080 0034DFC0 38 80 00 00 */ li r4, 0 /* 80351084 0034DFC4 38 A0 00 20 */ li r5, 0x20 -/* 80351088 0034DFC8 4B CB 23 D1 */ bl func_80003458 +/* 80351088 0034DFC8 4B CB 23 D1 */ bl memset /* 8035108C 0034DFCC 38 78 00 00 */ addi r3, r24, 0 /* 80351090 0034DFD0 38 80 00 20 */ li r4, 0x20 /* 80351094 0034DFD4 4B FE A5 19 */ bl DCFlushRange @@ -931,7 +931,7 @@ lbl_803512E8: /* 80351308 0034E248 B0 1F 00 00 */ sth r0, 0(r31) /* 8035130C 0034E24C 38 80 00 00 */ li r4, 0 /* 80351310 0034E250 38 A0 00 20 */ li r5, 0x20 -/* 80351314 0034E254 4B CB 21 45 */ bl func_80003458 +/* 80351314 0034E254 4B CB 21 45 */ bl memset /* 80351318 0034E258 38 78 00 00 */ addi r3, r24, 0 /* 8035131C 0034E25C 38 80 00 20 */ li r4, 0x20 /* 80351320 0034E260 4B FE A2 8D */ bl DCFlushRange @@ -1142,7 +1142,7 @@ lbl_8035161C: /* 8035163C 0034E57C B0 1F 00 00 */ sth r0, 0(r31) /* 80351640 0034E580 38 80 00 00 */ li r4, 0 /* 80351644 0034E584 38 A0 00 20 */ li r5, 0x20 -/* 80351648 0034E588 4B CB 1E 11 */ bl func_80003458 +/* 80351648 0034E588 4B CB 1E 11 */ bl memset /* 8035164C 0034E58C 38 78 00 00 */ addi r3, r24, 0 /* 80351650 0034E590 38 80 00 20 */ li r4, 0x20 /* 80351654 0034E594 4B FE 9F 59 */ bl DCFlushRange @@ -1393,7 +1393,7 @@ lbl_803519EC: /* 80351A0C 0034E94C B0 1F 00 00 */ sth r0, 0(r31) /* 80351A10 0034E950 38 80 00 00 */ li r4, 0 /* 80351A14 0034E954 38 A0 00 20 */ li r5, 0x20 -/* 80351A18 0034E958 4B CB 1A 41 */ bl func_80003458 +/* 80351A18 0034E958 4B CB 1A 41 */ bl memset /* 80351A1C 0034E95C 38 78 00 00 */ addi r3, r24, 0 /* 80351A20 0034E960 38 80 00 20 */ li r4, 0x20 /* 80351A24 0034E964 4B FE 9B 89 */ bl DCFlushRange diff --git a/asm/bss.s b/asm/bss.s index b315df37a22..428a3b6f5ea 100644 --- a/asm/bss.s +++ b/asm/bss.s @@ -809,14 +809,14 @@ lbl_80434274: .global lbl_80434280 lbl_80434280: .skip 0xC -.global lbl_8043428C -lbl_8043428C: +.global sThreadList__9JKRThread +sThreadList__9JKRThread: .skip 0x44 .global lbl_804342D0 lbl_804342D0: .skip 0xC -.global lbl_804342DC -lbl_804342DC: +.global sAramCommandList__7JKRAram +sAramCommandList__7JKRAram: .skip 0xC .global lbl_804342E8 lbl_804342E8: @@ -839,14 +839,14 @@ lbl_80434330: .global lbl_80434348 lbl_80434348: .skip 0xC -.global lbl_80434354 -lbl_80434354: +.global sVolumeList__13JKRFileLoader +sVolumeList__13JKRFileLoader: .skip 0xC .global lbl_80434360 lbl_80434360: .skip 0xC -.global lbl_8043436C -lbl_8043436C: +.global sDvdList__10JKRDvdFile +sDvdList__10JKRDvdFile: .skip 0xC .global lbl_80434378 lbl_80434378: diff --git a/asm/c/c_dylink.s b/asm/c/c_dylink.s index c34fa886557..61363a662dc 100644 --- a/asm/c/c_dylink.s +++ b/asm/c/c_dylink.s @@ -23,7 +23,7 @@ cCc_Init: /* 80018418 00015358 38 63 0F 50 */ addi r3, r3, lbl_803F0F50@l /* 8001841C 0001535C 38 80 00 00 */ li r4, 0 /* 80018420 00015360 38 A0 0C 60 */ li r5, 0xc60 -/* 80018424 00015364 4B FE B0 35 */ bl func_80003458 +/* 80018424 00015364 4B FE B0 35 */ bl memset /* 80018428 00015368 3B 80 00 00 */ li r28, 0 /* 8001842C 0001536C 3B 40 00 00 */ li r26, 0 /* 80018430 00015370 3C 60 80 37 */ lis r3, lbl_80374640@ha diff --git a/asm/card/CARDCheck.s b/asm/card/CARDCheck.s index e98894fafef..fd58ef8e731 100644 --- a/asm/card/CARDCheck.s +++ b/asm/card/CARDCheck.s @@ -818,7 +818,7 @@ lbl_803564C0: /* 803564D4 00353414 7F E3 00 2E */ lwzx r31, r3, r0 /* 803564D8 00353418 38 A0 20 00 */ li r5, 0x2000 /* 803564DC 0035341C 38 7F 00 00 */ addi r3, r31, 0 -/* 803564E0 00353420 4B CA CF 79 */ bl func_80003458 +/* 803564E0 00353420 4B CA CF 79 */ bl memset /* 803564E4 00353424 38 00 00 7F */ li r0, 0x7f /* 803564E8 00353428 80 A1 00 30 */ lwz r5, 0x30(r1) /* 803564EC 0035342C 7C 09 03 A6 */ mtctr r0 diff --git a/asm/card/CARDFormat.s b/asm/card/CARDFormat.s index 3b47722b2d5..72d8405af03 100644 --- a/asm/card/CARDFormat.s +++ b/asm/card/CARDFormat.s @@ -115,7 +115,7 @@ lbl_803575F8: /* 80357600 00354540 38 A0 20 00 */ li r5, 0x2000 /* 80357604 00354544 83 63 00 80 */ lwz r27, 0x80(r3) /* 80357608 00354548 7F 63 DB 78 */ mr r3, r27 -/* 8035760C 0035454C 4B CA BE 4D */ bl func_80003458 +/* 8035760C 0035454C 4B CA BE 4D */ bl memset /* 80357610 00354550 3C 60 CC 00 */ lis r3, 0xCC00206E@ha /* 80357614 00354554 A2 43 20 6E */ lhz r18, 0xCC00206E@l(r3) /* 80357618 00354558 B2 9B 00 24 */ sth r20, 0x24(r27) @@ -432,7 +432,7 @@ lbl_80357AC4: /* 80357ADC 00354A1C 7E 83 02 14 */ add r20, r3, r0 /* 80357AE0 00354A20 38 74 00 00 */ addi r3, r20, 0 /* 80357AE4 00354A24 38 A0 20 00 */ li r5, 0x2000 -/* 80357AE8 00354A28 4B CA B9 71 */ bl func_80003458 +/* 80357AE8 00354A28 4B CA B9 71 */ bl memset /* 80357AEC 00354A2C 38 94 1F C0 */ addi r4, r20, 0x1fc0 /* 80357AF0 00354A30 B2 54 1F FA */ sth r18, 0x1ffa(r20) /* 80357AF4 00354A34 38 74 00 00 */ addi r3, r20, 0 @@ -457,7 +457,7 @@ lbl_80357B20: /* 80357B38 00354A78 7E 83 02 14 */ add r20, r3, r0 /* 80357B3C 00354A7C 38 74 00 00 */ addi r3, r20, 0 /* 80357B40 00354A80 38 A0 20 00 */ li r5, 0x2000 -/* 80357B44 00354A84 4B CA B9 15 */ bl func_80003458 +/* 80357B44 00354A84 4B CA B9 15 */ bl memset /* 80357B48 00354A88 B2 54 00 04 */ sth r18, 4(r20) /* 80357B4C 00354A8C 38 00 00 04 */ li r0, 4 /* 80357B50 00354A90 38 B4 00 00 */ addi r5, r20, 0 diff --git a/asm/card/CARDUnlock.s b/asm/card/CARDUnlock.s index f91db4b4621..d678f15725f 100644 --- a/asm/card/CARDUnlock.s +++ b/asm/card/CARDUnlock.s @@ -138,7 +138,7 @@ lbl_803540E4: /* 803540E8 00351028 38 61 00 1C */ addi r3, r1, 0x1c /* 803540EC 0035102C 38 80 00 00 */ li r4, 0 /* 803540F0 00351030 38 A0 00 05 */ li r5, 5 -/* 803540F4 00351034 4B CA F3 65 */ bl func_80003458 +/* 803540F4 00351034 4B CA F3 65 */ bl memset /* 803540F8 00351038 38 00 00 52 */ li r0, 0x52 /* 803540FC 0035103C 2C 1B 00 00 */ cmpwi r27, 0 /* 80354100 00351040 98 01 00 1C */ stb r0, 0x1c(r1) diff --git a/asm/clib.s b/asm/clib.s index 61afe7c6396..627691197b2 100644 --- a/asm/clib.s +++ b/asm/clib.s @@ -1353,7 +1353,7 @@ func_80362B58: /* 80362B84 0035FAC4 38 80 00 00 */ li r4, 0 /* 80362B88 0035FAC8 38 63 D5 40 */ addi r3, r3, lbl_8044D540@l /* 80362B8C 0035FACC 38 A0 00 34 */ li r5, 0x34 -/* 80362B90 0035FAD0 4B CA 08 C9 */ bl func_80003458 +/* 80362B90 0035FAD0 4B CA 08 C9 */ bl memset /* 80362B94 0035FAD4 38 00 00 01 */ li r0, 1 /* 80362B98 0035FAD8 98 0D 94 20 */ stb r0, lbl_804519A0-_SDA_BASE_(r13) lbl_80362B9C: @@ -4094,8 +4094,8 @@ lbl_803650A4: /* 803650C8 00362008 38 21 00 10 */ addi r1, r1, 0x10 /* 803650CC 0036200C 4E 80 00 20 */ blr -.global func_803650D0 -func_803650D0: +.global abs +abs: /* 803650D0 00362010 7C 64 FE 70 */ srawi r4, r3, 0x1f /* 803650D4 00362014 7C 80 1A 78 */ xor r0, r4, r3 /* 803650D8 00362018 7C 64 00 50 */ subf r3, r4, r0 @@ -14471,7 +14471,7 @@ lbl_8036DD6C: /* 8036DD6C 0036ACAC 38 61 00 08 */ addi r3, r1, 8 /* 8036DD70 0036ACB0 38 80 00 00 */ li r4, 0 /* 8036DD74 0036ACB4 38 A0 00 40 */ li r5, 0x40 -/* 8036DD78 0036ACB8 4B C9 56 E1 */ bl func_80003458 +/* 8036DD78 0036ACB8 4B C9 56 E1 */ bl memset /* 8036DD7C 0036ACBC 38 60 00 80 */ li r3, 0x80 /* 8036DD80 0036ACC0 38 A0 00 40 */ li r5, 0x40 /* 8036DD84 0036ACC4 38 00 00 00 */ li r0, 0 @@ -14525,7 +14525,7 @@ lbl_8036DE1C: /* 8036DE1C 0036AD5C 38 61 00 08 */ addi r3, r1, 8 /* 8036DE20 0036AD60 38 80 00 00 */ li r4, 0 /* 8036DE24 0036AD64 38 A0 00 40 */ li r5, 0x40 -/* 8036DE28 0036AD68 4B C9 56 31 */ bl func_80003458 +/* 8036DE28 0036AD68 4B C9 56 31 */ bl memset /* 8036DE2C 0036AD6C 38 60 00 80 */ li r3, 0x80 /* 8036DE30 0036AD70 38 00 00 40 */ li r0, 0x40 /* 8036DE34 0036AD74 98 61 00 0C */ stb r3, 0xc(r1) @@ -14573,7 +14573,7 @@ lbl_8036DEBC: /* 8036DEC8 0036AE08 38 61 01 08 */ addi r3, r1, 0x108 /* 8036DECC 0036AE0C 38 80 00 00 */ li r4, 0 /* 8036DED0 0036AE10 38 A0 00 40 */ li r5, 0x40 -/* 8036DED4 0036AE14 4B C9 55 85 */ bl func_80003458 +/* 8036DED4 0036AE14 4B C9 55 85 */ bl memset /* 8036DED8 0036AE18 38 60 00 80 */ li r3, 0x80 /* 8036DEDC 0036AE1C 38 A0 00 40 */ li r5, 0x40 /* 8036DEE0 0036AE20 38 00 00 11 */ li r0, 0x11 @@ -14595,7 +14595,7 @@ lbl_8036DF18: /* 8036DF18 0036AE58 38 61 00 C8 */ addi r3, r1, 0xc8 /* 8036DF1C 0036AE5C 38 80 00 00 */ li r4, 0 /* 8036DF20 0036AE60 38 A0 00 40 */ li r5, 0x40 -/* 8036DF24 0036AE64 4B C9 55 35 */ bl func_80003458 +/* 8036DF24 0036AE64 4B C9 55 35 */ bl memset /* 8036DF28 0036AE68 38 60 00 80 */ li r3, 0x80 /* 8036DF2C 0036AE6C 38 A0 00 40 */ li r5, 0x40 /* 8036DF30 0036AE70 38 00 00 11 */ li r0, 0x11 @@ -14611,7 +14611,7 @@ lbl_8036DF54: /* 8036DF54 0036AE94 38 61 00 88 */ addi r3, r1, 0x88 /* 8036DF58 0036AE98 38 80 00 00 */ li r4, 0 /* 8036DF5C 0036AE9C 38 A0 00 40 */ li r5, 0x40 -/* 8036DF60 0036AEA0 4B C9 54 F9 */ bl func_80003458 +/* 8036DF60 0036AEA0 4B C9 54 F9 */ bl memset /* 8036DF64 0036AEA4 38 60 00 80 */ li r3, 0x80 /* 8036DF68 0036AEA8 38 A0 00 40 */ li r5, 0x40 /* 8036DF6C 0036AEAC 38 00 00 12 */ li r0, 0x12 @@ -14630,7 +14630,7 @@ lbl_8036DF90: /* 8036DF9C 0036AEDC 38 61 00 48 */ addi r3, r1, 0x48 /* 8036DFA0 0036AEE0 38 80 00 00 */ li r4, 0 /* 8036DFA4 0036AEE4 38 A0 00 40 */ li r5, 0x40 -/* 8036DFA8 0036AEE8 4B C9 54 B1 */ bl func_80003458 +/* 8036DFA8 0036AEE8 4B C9 54 B1 */ bl memset /* 8036DFAC 0036AEEC 38 60 00 80 */ li r3, 0x80 /* 8036DFB0 0036AEF0 38 A0 00 40 */ li r5, 0x40 /* 8036DFB4 0036AEF4 38 00 00 16 */ li r0, 0x16 @@ -14646,7 +14646,7 @@ lbl_8036DFD8: /* 8036DFD8 0036AF18 38 61 00 08 */ addi r3, r1, 8 /* 8036DFDC 0036AF1C 38 80 00 00 */ li r4, 0 /* 8036DFE0 0036AF20 38 A0 00 40 */ li r5, 0x40 -/* 8036DFE4 0036AF24 4B C9 54 75 */ bl func_80003458 +/* 8036DFE4 0036AF24 4B C9 54 75 */ bl memset /* 8036DFE8 0036AF28 38 60 00 80 */ li r3, 0x80 /* 8036DFEC 0036AF2C 38 A0 00 40 */ li r5, 0x40 /* 8036DFF0 0036AF30 38 00 00 00 */ li r0, 0 @@ -14707,7 +14707,7 @@ func_8036E084: /* 8036E0B0 0036AFF0 38 61 00 48 */ addi r3, r1, 0x48 /* 8036E0B4 0036AFF4 38 80 00 00 */ li r4, 0 /* 8036E0B8 0036AFF8 38 A0 00 40 */ li r5, 0x40 -/* 8036E0BC 0036AFFC 4B C9 53 9D */ bl func_80003458 +/* 8036E0BC 0036AFFC 4B C9 53 9D */ bl memset /* 8036E0C0 0036B000 38 60 00 80 */ li r3, 0x80 /* 8036E0C4 0036B004 38 A0 00 40 */ li r5, 0x40 /* 8036E0C8 0036B008 38 00 00 16 */ li r0, 0x16 @@ -14723,7 +14723,7 @@ lbl_8036E0EC: /* 8036E0EC 0036B02C 38 61 00 08 */ addi r3, r1, 8 /* 8036E0F0 0036B030 38 80 00 00 */ li r4, 0 /* 8036E0F4 0036B034 38 A0 00 40 */ li r5, 0x40 -/* 8036E0F8 0036B038 4B C9 53 61 */ bl func_80003458 +/* 8036E0F8 0036B038 4B C9 53 61 */ bl memset /* 8036E0FC 0036B03C 38 60 00 80 */ li r3, 0x80 /* 8036E100 0036B040 38 A0 00 40 */ li r5, 0x40 /* 8036E104 0036B044 38 00 00 00 */ li r0, 0 @@ -14760,7 +14760,7 @@ func_8036E134: /* 8036E170 0036B0B0 38 61 00 4C */ addi r3, r1, 0x4c /* 8036E174 0036B0B4 38 80 00 00 */ li r4, 0 /* 8036E178 0036B0B8 38 A0 00 40 */ li r5, 0x40 -/* 8036E17C 0036B0BC 4B C9 52 DD */ bl func_80003458 +/* 8036E17C 0036B0BC 4B C9 52 DD */ bl memset /* 8036E180 0036B0C0 38 60 00 80 */ li r3, 0x80 /* 8036E184 0036B0C4 38 A0 00 40 */ li r5, 0x40 /* 8036E188 0036B0C8 38 00 00 14 */ li r0, 0x14 @@ -14834,7 +14834,7 @@ lbl_8036E264: /* 8036E278 0036B1B8 38 61 00 8C */ addi r3, r1, 0x8c /* 8036E27C 0036B1BC 38 80 00 00 */ li r4, 0 /* 8036E280 0036B1C0 38 A0 00 40 */ li r5, 0x40 -/* 8036E284 0036B1C4 4B C9 51 D5 */ bl func_80003458 +/* 8036E284 0036B1C4 4B C9 51 D5 */ bl memset /* 8036E288 0036B1C8 38 60 00 40 */ li r3, 0x40 /* 8036E28C 0036B1CC 38 00 00 80 */ li r0, 0x80 /* 8036E290 0036B1D0 90 61 00 8C */ stw r3, 0x8c(r1) @@ -14891,7 +14891,7 @@ lbl_8036E330: /* 8036E330 0036B270 38 61 00 0C */ addi r3, r1, 0xc /* 8036E334 0036B274 38 80 00 00 */ li r4, 0 /* 8036E338 0036B278 38 A0 00 40 */ li r5, 0x40 -/* 8036E33C 0036B27C 4B C9 51 1D */ bl func_80003458 +/* 8036E33C 0036B27C 4B C9 51 1D */ bl memset /* 8036E340 0036B280 38 60 00 80 */ li r3, 0x80 /* 8036E344 0036B284 38 00 00 40 */ li r0, 0x40 /* 8036E348 0036B288 98 61 00 10 */ stb r3, 0x10(r1) @@ -14946,7 +14946,7 @@ func_8036E3C4: /* 8036E3F8 0036B338 38 61 00 4C */ addi r3, r1, 0x4c /* 8036E3FC 0036B33C 38 80 00 00 */ li r4, 0 /* 8036E400 0036B340 38 A0 00 40 */ li r5, 0x40 -/* 8036E404 0036B344 4B C9 50 55 */ bl func_80003458 +/* 8036E404 0036B344 4B C9 50 55 */ bl memset /* 8036E408 0036B348 38 60 00 80 */ li r3, 0x80 /* 8036E40C 0036B34C 38 A0 00 40 */ li r5, 0x40 /* 8036E410 0036B350 38 00 00 14 */ li r0, 0x14 @@ -15096,7 +15096,7 @@ lbl_8036E61C: /* 8036E61C 0036B55C 38 61 00 0C */ addi r3, r1, 0xc /* 8036E620 0036B560 38 80 00 00 */ li r4, 0 /* 8036E624 0036B564 38 A0 00 40 */ li r5, 0x40 -/* 8036E628 0036B568 4B C9 4E 31 */ bl func_80003458 +/* 8036E628 0036B568 4B C9 4E 31 */ bl memset /* 8036E62C 0036B56C 38 60 00 80 */ li r3, 0x80 /* 8036E630 0036B570 38 00 00 40 */ li r0, 0x40 /* 8036E634 0036B574 98 61 00 10 */ stb r3, 0x10(r1) @@ -15158,7 +15158,7 @@ func_8036E6A4: /* 8036E700 0036B640 38 61 00 64 */ addi r3, r1, 0x64 /* 8036E704 0036B644 38 80 00 00 */ li r4, 0 /* 8036E708 0036B648 38 A0 00 40 */ li r5, 0x40 -/* 8036E70C 0036B64C 4B C9 4D 4D */ bl func_80003458 +/* 8036E70C 0036B64C 4B C9 4D 4D */ bl memset /* 8036E710 0036B650 38 60 00 80 */ li r3, 0x80 /* 8036E714 0036B654 38 A0 00 40 */ li r5, 0x40 /* 8036E718 0036B658 38 00 00 12 */ li r0, 0x12 @@ -15212,7 +15212,7 @@ lbl_8036E7B8: /* 8036E7CC 0036B70C 38 61 00 A4 */ addi r3, r1, 0xa4 /* 8036E7D0 0036B710 38 80 00 00 */ li r4, 0 /* 8036E7D4 0036B714 38 A0 00 40 */ li r5, 0x40 -/* 8036E7D8 0036B718 4B C9 4C 81 */ bl func_80003458 +/* 8036E7D8 0036B718 4B C9 4C 81 */ bl memset /* 8036E7DC 0036B71C 38 60 00 40 */ li r3, 0x40 /* 8036E7E0 0036B720 38 00 00 80 */ li r0, 0x80 /* 8036E7E4 0036B724 90 61 00 A4 */ stw r3, 0xa4(r1) @@ -15251,7 +15251,7 @@ lbl_8036E85C: /* 8036E85C 0036B79C 38 61 00 24 */ addi r3, r1, 0x24 /* 8036E860 0036B7A0 38 80 00 00 */ li r4, 0 /* 8036E864 0036B7A4 38 A0 00 40 */ li r5, 0x40 -/* 8036E868 0036B7A8 4B C9 4B F1 */ bl func_80003458 +/* 8036E868 0036B7A8 4B C9 4B F1 */ bl memset /* 8036E86C 0036B7AC 38 60 00 80 */ li r3, 0x80 /* 8036E870 0036B7B0 38 00 00 40 */ li r0, 0x40 /* 8036E874 0036B7B4 98 61 00 28 */ stb r3, 0x28(r1) @@ -15312,7 +15312,7 @@ func_8036E8E0: /* 8036E93C 0036B87C 38 61 00 64 */ addi r3, r1, 0x64 /* 8036E940 0036B880 38 80 00 00 */ li r4, 0 /* 8036E944 0036B884 38 A0 00 40 */ li r5, 0x40 -/* 8036E948 0036B888 4B C9 4B 11 */ bl func_80003458 +/* 8036E948 0036B888 4B C9 4B 11 */ bl memset /* 8036E94C 0036B88C 38 60 00 80 */ li r3, 0x80 /* 8036E950 0036B890 38 A0 00 40 */ li r5, 0x40 /* 8036E954 0036B894 38 00 00 12 */ li r0, 0x12 @@ -15353,7 +15353,7 @@ lbl_8036E9C0: /* 8036E9D4 0036B914 38 61 00 A4 */ addi r3, r1, 0xa4 /* 8036E9D8 0036B918 38 80 00 00 */ li r4, 0 /* 8036E9DC 0036B91C 38 A0 00 40 */ li r5, 0x40 -/* 8036E9E0 0036B920 4B C9 4A 79 */ bl func_80003458 +/* 8036E9E0 0036B920 4B C9 4A 79 */ bl memset /* 8036E9E4 0036B924 80 81 00 20 */ lwz r4, 0x20(r1) /* 8036E9E8 0036B928 38 00 00 80 */ li r0, 0x80 /* 8036E9EC 0036B92C 9B C1 00 AC */ stb r30, 0xac(r1) @@ -15408,7 +15408,7 @@ lbl_8036EAA0: /* 8036EAA0 0036B9E0 38 61 00 24 */ addi r3, r1, 0x24 /* 8036EAA4 0036B9E4 38 80 00 00 */ li r4, 0 /* 8036EAA8 0036B9E8 38 A0 00 40 */ li r5, 0x40 -/* 8036EAAC 0036B9EC 4B C9 49 AD */ bl func_80003458 +/* 8036EAAC 0036B9EC 4B C9 49 AD */ bl memset /* 8036EAB0 0036B9F0 38 60 00 80 */ li r3, 0x80 /* 8036EAB4 0036B9F4 38 00 00 40 */ li r0, 0x40 /* 8036EAB8 0036B9F8 98 61 00 28 */ stb r3, 0x28(r1) @@ -15459,7 +15459,7 @@ func_8036EB34: /* 8036EB40 0036BA80 38 A0 00 40 */ li r5, 0x40 /* 8036EB44 0036BA84 90 01 00 54 */ stw r0, 0x54(r1) /* 8036EB48 0036BA88 38 61 00 08 */ addi r3, r1, 8 -/* 8036EB4C 0036BA8C 4B C9 49 0D */ bl func_80003458 +/* 8036EB4C 0036BA8C 4B C9 49 0D */ bl memset /* 8036EB50 0036BA90 38 60 00 80 */ li r3, 0x80 /* 8036EB54 0036BA94 38 A0 00 40 */ li r5, 0x40 /* 8036EB58 0036BA98 38 00 00 00 */ li r0, 0 @@ -15484,7 +15484,7 @@ func_8036EB8C: /* 8036EB98 0036BAD8 38 A0 00 40 */ li r5, 0x40 /* 8036EB9C 0036BADC 90 01 00 54 */ stw r0, 0x54(r1) /* 8036EBA0 0036BAE0 38 61 00 08 */ addi r3, r1, 8 -/* 8036EBA4 0036BAE4 4B C9 48 B5 */ bl func_80003458 +/* 8036EBA4 0036BAE4 4B C9 48 B5 */ bl memset /* 8036EBA8 0036BAE8 38 60 00 80 */ li r3, 0x80 /* 8036EBAC 0036BAEC 38 A0 00 40 */ li r5, 0x40 /* 8036EBB0 0036BAF0 38 00 00 00 */ li r0, 0 @@ -15513,7 +15513,7 @@ func_8036EBE4: /* 8036EC00 0036BB40 38 61 00 14 */ addi r3, r1, 0x14 /* 8036EC04 0036BB44 90 04 00 00 */ stw r0, 0(r4) /* 8036EC08 0036BB48 38 80 00 00 */ li r4, 0 -/* 8036EC0C 0036BB4C 4B C9 48 4D */ bl func_80003458 +/* 8036EC0C 0036BB4C 4B C9 48 4D */ bl memset /* 8036EC10 0036BB50 38 60 00 80 */ li r3, 0x80 /* 8036EC14 0036BB54 38 A0 00 40 */ li r5, 0x40 /* 8036EC18 0036BB58 38 00 00 00 */ li r0, 0 @@ -15546,7 +15546,7 @@ func_8036EC5C: /* 8036EC78 0036BBB8 38 61 00 08 */ addi r3, r1, 8 /* 8036EC7C 0036BBBC 90 04 00 00 */ stw r0, 0(r4) /* 8036EC80 0036BBC0 38 80 00 00 */ li r4, 0 -/* 8036EC84 0036BBC4 4B C9 47 D5 */ bl func_80003458 +/* 8036EC84 0036BBC4 4B C9 47 D5 */ bl memset /* 8036EC88 0036BBC8 38 60 00 80 */ li r3, 0x80 /* 8036EC8C 0036BBCC 38 A0 00 40 */ li r5, 0x40 /* 8036EC90 0036BBD0 38 00 00 00 */ li r0, 0 @@ -15639,7 +15639,7 @@ func_8036ED84: /* 8036EDB0 0036BCF0 93 81 00 60 */ stw r28, 0x60(r1) /* 8036EDB4 0036BCF4 7C 7C 1B 78 */ mr r28, r3 /* 8036EDB8 0036BCF8 38 61 00 14 */ addi r3, r1, 0x14 -/* 8036EDBC 0036BCFC 4B C9 46 9D */ bl func_80003458 +/* 8036EDBC 0036BCFC 4B C9 46 9D */ bl memset /* 8036EDC0 0036BD00 38 60 00 D4 */ li r3, 0xd4 /* 8036EDC4 0036BD04 38 00 00 40 */ li r0, 0x40 /* 8036EDC8 0036BD08 98 61 00 18 */ stb r3, 0x18(r1) @@ -15710,7 +15710,7 @@ func_8036EE94: /* 8036EEB4 0036BDF4 93 A1 00 64 */ stw r29, 0x64(r1) /* 8036EEB8 0036BDF8 7C 9D 23 78 */ mr r29, r4 /* 8036EEBC 0036BDFC 38 80 00 00 */ li r4, 0 -/* 8036EEC0 0036BE00 4B C9 45 99 */ bl func_80003458 +/* 8036EEC0 0036BE00 4B C9 45 99 */ bl memset /* 8036EEC4 0036BE04 38 60 00 D3 */ li r3, 0xd3 /* 8036EEC8 0036BE08 38 00 00 40 */ li r0, 0x40 /* 8036EECC 0036BE0C 98 61 00 18 */ stb r3, 0x18(r1) @@ -15775,7 +15775,7 @@ func_8036EF7C: /* 8036EF9C 0036BEDC 38 61 00 14 */ addi r3, r1, 0x14 /* 8036EFA0 0036BEE0 38 80 00 00 */ li r4, 0 /* 8036EFA4 0036BEE4 38 A0 00 40 */ li r5, 0x40 -/* 8036EFA8 0036BEE8 4B C9 44 B1 */ bl func_80003458 +/* 8036EFA8 0036BEE8 4B C9 44 B1 */ bl memset /* 8036EFAC 0036BEEC 38 60 00 00 */ li r3, 0 /* 8036EFB0 0036BEF0 38 00 00 D2 */ li r0, 0xd2 /* 8036EFB4 0036BEF4 90 7C 00 00 */ stw r3, 0(r28) @@ -16005,7 +16005,7 @@ lbl_8036F2D0: /* 8036F2D0 0036C210 38 61 00 14 */ addi r3, r1, 0x14 /* 8036F2D4 0036C214 38 80 00 00 */ li r4, 0 /* 8036F2D8 0036C218 38 A0 00 40 */ li r5, 0x40 -/* 8036F2DC 0036C21C 4B C9 41 7D */ bl func_80003458 +/* 8036F2DC 0036C21C 4B C9 41 7D */ bl memset /* 8036F2E0 0036C220 80 19 00 00 */ lwz r0, 0(r25) /* 8036F2E4 0036C224 38 60 08 00 */ li r3, 0x800 /* 8036F2E8 0036C228 7C 1E 00 50 */ subf r0, r30, r0 @@ -16888,7 +16888,7 @@ func_8036FE94: /* 8036FEA8 0036CDE8 93 E1 00 5C */ stw r31, 0x5c(r1) /* 8036FEAC 0036CDEC 7C 7F 1B 78 */ mr r31, r3 /* 8036FEB0 0036CDF0 38 61 00 0C */ addi r3, r1, 0xc -/* 8036FEB4 0036CDF4 4B C9 35 A5 */ bl func_80003458 +/* 8036FEB4 0036CDF4 4B C9 35 A5 */ bl memset /* 8036FEB8 0036CDF8 3C 60 80 3D */ lis r3, lbl_803D3244@ha /* 8036FEBC 0036CDFC 38 A0 00 40 */ li r5, 0x40 /* 8036FEC0 0036CE00 80 83 32 44 */ lwz r4, lbl_803D3244@l(r3) @@ -16924,7 +16924,7 @@ func_8036FF18: /* 8036FF2C 0036CE6C 93 E1 00 5C */ stw r31, 0x5c(r1) /* 8036FF30 0036CE70 7C 7F 1B 78 */ mr r31, r3 /* 8036FF34 0036CE74 38 61 00 0C */ addi r3, r1, 0xc -/* 8036FF38 0036CE78 4B C9 35 21 */ bl func_80003458 +/* 8036FF38 0036CE78 4B C9 35 21 */ bl memset /* 8036FF3C 0036CE7C 3C 60 80 45 */ lis r3, lbl_8044F338@ha /* 8036FF40 0036CE80 38 A0 00 40 */ li r5, 0x40 /* 8036FF44 0036CE84 38 63 F3 38 */ addi r3, r3, lbl_8044F338@l diff --git a/asm/d/a/d_a_npc.s b/asm/d/a/d_a_npc.s index 5ddc639d6ef..cc4c6e7a5f0 100644 --- a/asm/d/a/d_a_npc.s +++ b/asm/d/a/d_a_npc.s @@ -969,7 +969,7 @@ lbl_80146400: /* 80146498 001433D8 48 12 11 DD */ bl cM_atan2s__Fff /* 8014649C 001433DC 7C 03 E8 50 */ subf r0, r3, r29 /* 801464A0 001433E0 7C 03 07 34 */ extsh r3, r0 -/* 801464A4 001433E4 48 21 EC 2D */ bl func_803650D0 +/* 801464A4 001433E4 48 21 EC 2D */ bl abs /* 801464A8 001433E8 54 60 04 3E */ clrlwi r0, r3, 0x10 /* 801464AC 001433EC 28 00 40 00 */ cmplwi r0, 0x4000 /* 801464B0 001433F0 40 81 00 0C */ ble lbl_801464BC @@ -1277,7 +1277,7 @@ lbl_801467C8: /* 80146934 00143874 48 12 0D 41 */ bl cM_atan2s__Fff /* 80146938 00143878 7C 03 D0 50 */ subf r0, r3, r26 /* 8014693C 0014387C 7C 03 07 34 */ extsh r3, r0 -/* 80146940 00143880 48 21 E7 91 */ bl func_803650D0 +/* 80146940 00143880 48 21 E7 91 */ bl abs /* 80146944 00143884 54 60 04 3E */ clrlwi r0, r3, 0x10 /* 80146948 00143888 28 00 40 00 */ cmplwi r0, 0x4000 /* 8014694C 0014388C 40 81 00 18 */ ble lbl_80146964 @@ -1495,7 +1495,7 @@ lbl_80146C60: /* 80146C68 00143BA8 A0 01 00 08 */ lhz r0, 8(r1) /* 80146C6C 00143BAC 90 1E 00 00 */ stw r0, 0(r30) lbl_80146C70: -/* 80146C70 00143BB0 48 21 E4 61 */ bl func_803650D0 +/* 80146C70 00143BB0 48 21 E4 61 */ bl abs /* 80146C74 00143BB4 54 60 04 3E */ clrlwi r0, r3, 0x10 /* 80146C78 00143BB8 20 00 40 00 */ subfic r0, r0, 0x4000 /* 80146C7C 00143BBC 54 03 0F FE */ srwi r3, r0, 0x1f @@ -1516,7 +1516,7 @@ lbl_80146C80: /* 80146CB4 00143BF4 38 80 00 00 */ li r4, 0 /* 80146CB8 00143BF8 38 1F 01 58 */ addi r0, r31, 0x158 /* 80146CBC 00143BFC 7C A3 00 50 */ subf r5, r3, r0 -/* 80146CC0 00143C00 4B EB C7 99 */ bl func_80003458 +/* 80146CC0 00143C00 4B EB C7 99 */ bl memset /* 80146CC4 00143C04 83 E1 00 0C */ lwz r31, 0xc(r1) /* 80146CC8 00143C08 80 01 00 14 */ lwz r0, 0x14(r1) /* 80146CCC 00143C0C 7C 08 03 A6 */ mtlr r0 @@ -5260,7 +5260,7 @@ lbl_8014A30C: /* 8014A35C 0014729C 38 80 00 00 */ li r4, 0 /* 8014A360 001472A0 38 1F 0E 38 */ addi r0, r31, 0xe38 /* 8014A364 001472A4 7C A3 00 50 */ subf r5, r3, r0 -/* 8014A368 001472A8 4B EB 90 F1 */ bl func_80003458 +/* 8014A368 001472A8 4B EB 90 F1 */ bl memset /* 8014A36C 001472AC 38 00 00 00 */ li r0, 0 /* 8014A370 001472B0 98 1F 0C FF */ stb r0, 0xcff(r31) /* 8014A374 001472B4 83 E1 00 0C */ lwz r31, 0xc(r1) @@ -7904,7 +7904,7 @@ lbl_8014C8A0: /* 8014C99C 001498DC 48 11 AC D9 */ bl cM_atan2s__Fff /* 8014C9A0 001498E0 7C 03 90 50 */ subf r0, r3, r18 /* 8014C9A4 001498E4 7C 03 07 34 */ extsh r3, r0 -/* 8014C9A8 001498E8 48 21 87 29 */ bl func_803650D0 +/* 8014C9A8 001498E8 48 21 87 29 */ bl abs /* 8014C9AC 001498EC 54 60 04 3E */ clrlwi r0, r3, 0x10 /* 8014C9B0 001498F0 28 00 40 00 */ cmplwi r0, 0x4000 /* 8014C9B4 001498F4 40 80 00 14 */ bge lbl_8014C9C8 @@ -11856,7 +11856,7 @@ lbl_801501E4: /* 801501FC 0014D13C 48 11 74 79 */ bl cM_atan2s__Fff /* 80150200 0014D140 7C 03 F0 50 */ subf r0, r3, r30 /* 80150204 0014D144 7C 03 07 34 */ extsh r3, r0 -/* 80150208 0014D148 48 21 4E C9 */ bl func_803650D0 +/* 80150208 0014D148 48 21 4E C9 */ bl abs /* 8015020C 0014D14C 54 60 04 3E */ clrlwi r0, r3, 0x10 /* 80150210 0014D150 20 00 40 00 */ subfic r0, r0, 0x4000 /* 80150214 0014D154 54 03 0F FE */ srwi r3, r0, 0x1f @@ -15756,7 +15756,7 @@ lbl_80153998: /* 80153A10 00150950 4B EC 6D 01 */ bl fopAcM_searchActorAngleY /* 80153A14 00150954 7C 1F 18 50 */ subf r0, r31, r3 /* 80153A18 00150958 7C 03 07 34 */ extsh r3, r0 -/* 80153A1C 0015095C 48 21 16 B5 */ bl func_803650D0 +/* 80153A1C 0015095C 48 21 16 B5 */ bl abs /* 80153A20 00150960 7C 64 07 34 */ extsh r4, r3 /* 80153A24 00150964 38 60 00 00 */ li r3, 0 /* 80153A28 00150968 C0 02 9A 4C */ lfs f0, lbl_8045344C-_SDA2_BASE_(r2) @@ -17625,7 +17625,7 @@ lbl_80155518: /* 80155530 00152470 48 11 21 45 */ bl cM_atan2s__Fff /* 80155534 00152474 7C 03 F0 50 */ subf r0, r3, r30 /* 80155538 00152478 7C 03 07 34 */ extsh r3, r0 -/* 8015553C 0015247C 48 20 FB 95 */ bl func_803650D0 +/* 8015553C 0015247C 48 20 FB 95 */ bl abs /* 80155540 00152480 54 60 04 3E */ clrlwi r0, r3, 0x10 /* 80155544 00152484 20 00 40 00 */ subfic r0, r0, 0x4000 /* 80155548 00152488 54 03 0F FE */ srwi r3, r0, 0x1f diff --git a/asm/d/com/inf/d_com_inf_game.s b/asm/d/com/inf/d_com_inf_game.s index 3054282af80..52ea814c193 100644 --- a/asm/d/com/inf/d_com_inf_game.s +++ b/asm/d/com/inf/d_com_inf_game.s @@ -17,7 +17,7 @@ dComIfG_play_c_NS_itemInit: /* 8002B2F0 00028230 38 7E 4E 84 */ addi r3, r30, 0x4e84 /* 8002B2F4 00028234 38 80 00 00 */ li r4, 0 /* 8002B2F8 00028238 38 A0 01 2C */ li r5, 0x12c -/* 8002B2FC 0002823C 4B FD 81 5D */ bl func_80003458 +/* 8002B2FC 0002823C 4B FD 81 5D */ bl memset /* 8002B300 00028240 93 FE 4F 84 */ stw r31, 0x4f84(r30) /* 8002B304 00028244 38 00 02 58 */ li r0, 0x258 /* 8002B308 00028248 90 1E 4E A8 */ stw r0, 0x4ea8(r30) diff --git a/asm/d/d_resorce.s b/asm/d/d_resorce.s index ce60b0b3143..398f0b395fa 100644 --- a/asm/d/d_resorce.s +++ b/asm/d/d_resorce.s @@ -1295,7 +1295,7 @@ lbl_8003B420: /* 8003B46C 000383AC 38 00 00 00 */ li r0, 0 /* 8003B470 000383B0 38 61 00 08 */ addi r3, r1, 8 /* 8003B474 000383B4 7C 03 D9 AE */ stbx r0, r3, r27 -/* 8003B478 000383B8 80 6D 8D F4 */ lwz r3, lbl_80451374-_SDA_BASE_(r13) +/* 8003B478 000383B8 80 6D 8D F4 */ lwz r3, sCurrentHeap__7JKRHeap-_SDA_BASE_(r13) /* 8003B47C 000383BC 48 29 33 C1 */ bl findFromRoot__7JKRHeapFPv /* 8003B480 000383C0 4B FD 38 D1 */ bl mDoExt_getGameHeap /* 8003B484 000383C4 7E E3 BB 78 */ mr r3, r23 diff --git a/asm/d/k/d_k_wmark.s b/asm/d/k/d_k_wmark.s index ef8ae0e88ed..e5d235ab178 100644 --- a/asm/d/k/d_k_wmark.s +++ b/asm/d/k/d_k_wmark.s @@ -391,7 +391,7 @@ lbl_80261944: /* 80261984 0025E8C4 80 6D 8B B0 */ lwz r3, lbl_80451130-_SDA_BASE_(r13) /* 80261988 0025E8C8 80 1F 04 94 */ lwz r0, 0x494(r31) /* 8026198C 0025E8CC 7C 63 00 50 */ subf r3, r3, r0 -/* 80261990 0025E8D0 48 10 37 41 */ bl func_803650D0 +/* 80261990 0025E8D0 48 10 37 41 */ bl abs /* 80261994 0025E8D4 2C 03 00 14 */ cmpwi r3, 0x14 /* 80261998 0025E8D8 40 81 00 0C */ ble lbl_802619A4 /* 8026199C 0025E8DC 38 00 00 01 */ li r0, 1 diff --git a/asm/d/menu/d_menu_collect.s b/asm/d/menu/d_menu_collect.s index c4c306959ac..e92d9cd67dd 100644 --- a/asm/d/menu/d_menu_collect.s +++ b/asm/d/menu/d_menu_collect.s @@ -3325,7 +3325,7 @@ lbl_801B2D34: /* 801B2D80 001AFCC0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 801B2D84 001AFCC4 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 801B2D88 001AFCC8 80 63 5D B4 */ lwz r3, 0x5db4(r3) -/* 801B2D8C 001AFCCC 4B F8 D2 D9 */ bl daAlink_c_NS_setShieldChange +/* 801B2D8C 001AFCCC 4B F8 D2 D9 */ bl setShieldChange__9daAlink_cFv /* 801B2D90 001AFCD0 38 00 00 4F */ li r0, 0x4f /* 801B2D94 001AFCD4 90 01 00 10 */ stw r0, 0x10(r1) /* 801B2D98 001AFCD8 80 6D 8D E8 */ lwz r3, lbl_80451368-_SDA_BASE_(r13) @@ -3361,7 +3361,7 @@ lbl_801B2DCC: /* 801B2E0C 001AFD4C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 801B2E10 001AFD50 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 801B2E14 001AFD54 80 63 5D B4 */ lwz r3, 0x5db4(r3) -/* 801B2E18 001AFD58 4B F8 D2 4D */ bl daAlink_c_NS_setShieldChange +/* 801B2E18 001AFD58 4B F8 D2 4D */ bl setShieldChange__9daAlink_cFv /* 801B2E1C 001AFD5C 38 00 00 4F */ li r0, 0x4f /* 801B2E20 001AFD60 90 01 00 0C */ stw r0, 0xc(r1) /* 801B2E24 001AFD64 80 6D 8D E8 */ lwz r3, lbl_80451368-_SDA_BASE_(r13) @@ -3392,7 +3392,7 @@ lbl_801B2E58: /* 801B2E84 001AFDC4 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 801B2E88 001AFDC8 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 801B2E8C 001AFDCC 80 63 5D B4 */ lwz r3, 0x5db4(r3) -/* 801B2E90 001AFDD0 4B F8 D1 D5 */ bl daAlink_c_NS_setShieldChange +/* 801B2E90 001AFDD0 4B F8 D1 D5 */ bl setShieldChange__9daAlink_cFv /* 801B2E94 001AFDD4 38 00 00 4F */ li r0, 0x4f /* 801B2E98 001AFDD8 90 01 00 08 */ stw r0, 8(r1) /* 801B2E9C 001AFDDC 80 6D 8D E8 */ lwz r3, lbl_80451368-_SDA_BASE_(r13) diff --git a/asm/d/menu/d_menu_dmap.s b/asm/d/menu/d_menu_dmap.s index f1614446fbe..2a57675bdc4 100644 --- a/asm/d/menu/d_menu_dmap.s +++ b/asm/d/menu/d_menu_dmap.s @@ -122,7 +122,7 @@ lbl_801B80C0: /* 801B80D4 001B5014 38 7F 0D 80 */ addi r3, r31, 0xd80 /* 801B80D8 001B5018 38 80 00 00 */ li r4, 0 /* 801B80DC 001B501C 38 A0 00 14 */ li r5, 0x14 -/* 801B80E0 001B5020 4B E4 B3 79 */ bl func_80003458 +/* 801B80E0 001B5020 4B E4 B3 79 */ bl memset /* 801B80E4 001B5024 7F E3 FB 78 */ mr r3, r31 /* 801B80E8 001B5028 48 00 09 25 */ bl dMenu_DmapBg_c_NS_buttonIconScreenInit /* 801B80EC 001B502C 38 00 00 00 */ li r0, 0 diff --git a/asm/d/menu/d_menu_ring.s b/asm/d/menu/d_menu_ring.s index d49aed238da..11546c0c917 100644 --- a/asm/d/menu/d_menu_ring.s +++ b/asm/d/menu/d_menu_ring.s @@ -4911,7 +4911,7 @@ lbl_801ED7FC: /* 801ED800 001EA740 A8 1F 06 70 */ lha r0, 0x670(r31) /* 801ED804 001EA744 7C 03 00 50 */ subf r0, r3, r0 /* 801ED808 001EA748 7C 03 07 34 */ extsh r3, r0 -/* 801ED80C 001EA74C 48 17 78 C5 */ bl func_803650D0 +/* 801ED80C 001EA74C 48 17 78 C5 */ bl abs /* 801ED810 001EA750 2C 03 00 80 */ cmpwi r3, 0x80 /* 801ED814 001EA754 40 80 00 AC */ bge lbl_801ED8C0 /* 801ED818 001EA758 A8 1F 06 70 */ lha r0, 0x670(r31) diff --git a/asm/d/msg/scrn/d_msg_scrn_item.s b/asm/d/msg/scrn/d_msg_scrn_item.s index beac0520607..034601af5ed 100644 --- a/asm/d/msg/scrn/d_msg_scrn_item.s +++ b/asm/d/msg/scrn/d_msg_scrn_item.s @@ -478,7 +478,7 @@ lbl_8023EE2C: /* 8023EE40 0023BD80 7C 7B 1B 78 */ mr r27, r3 /* 8023EE44 0023BD84 38 80 00 00 */ li r4, 0 /* 8023EE48 0023BD88 38 A0 10 6A */ li r5, 0x106a -/* 8023EE4C 0023BD8C 4B DC 46 0D */ bl func_80003458 +/* 8023EE4C 0023BD8C 4B DC 46 0D */ bl memset /* 8023EE50 0023BD90 93 7F 00 50 */ stw r27, 0x50(r31) /* 8023EE54 0023BD94 80 7F 00 04 */ lwz r3, 4(r31) /* 8023EE58 0023BD98 3C 80 5F 61 */ lis r4, 0x5F616C6C@ha diff --git a/asm/d/msg/scrn/d_msg_scrn_jimaku.s b/asm/d/msg/scrn/d_msg_scrn_jimaku.s index 72a2ec2067f..0f9ab43ac2f 100644 --- a/asm/d/msg/scrn/d_msg_scrn_jimaku.s +++ b/asm/d/msg/scrn/d_msg_scrn_jimaku.s @@ -65,7 +65,7 @@ lbl_80244618: /* 8024462C 0024156C 7C 78 1B 78 */ mr r24, r3 /* 80244630 00241570 38 80 00 00 */ li r4, 0 /* 80244634 00241574 38 A0 10 6A */ li r5, 0x106a -/* 80244638 00241578 4B DB EE 21 */ bl func_80003458 +/* 80244638 00241578 4B DB EE 21 */ bl memset /* 8024463C 0024157C 93 1F 00 50 */ stw r24, 0x50(r31) /* 80244640 00241580 38 60 00 6C */ li r3, 0x6c /* 80244644 00241584 48 08 A6 09 */ bl __nw__FUl diff --git a/asm/d/msg/scrn/d_msg_scrn_talk.s b/asm/d/msg/scrn/d_msg_scrn_talk.s index 599cdbcef8a..bda240f80c8 100644 --- a/asm/d/msg/scrn/d_msg_scrn_talk.s +++ b/asm/d/msg/scrn/d_msg_scrn_talk.s @@ -151,7 +151,7 @@ lbl_802471D4: /* 802471E8 00244128 7C 7C 1B 78 */ mr r28, r3 /* 802471EC 0024412C 38 80 00 00 */ li r4, 0 /* 802471F0 00244130 38 A0 10 6A */ li r5, 0x106a -/* 802471F4 00244134 4B DB C2 65 */ bl func_80003458 +/* 802471F4 00244134 4B DB C2 65 */ bl memset /* 802471F8 00244138 93 9F 00 50 */ stw r28, 0x50(r31) /* 802471FC 0024413C 38 80 00 00 */ li r4, 0 /* 80247200 00244140 38 A0 00 00 */ li r5, 0 diff --git a/asm/d/s/d_s_logo.s b/asm/d/s/d_s_logo.s index 7dca3210e91..142eb1678c8 100644 --- a/asm/d/s/d_s_logo.s +++ b/asm/d/s/d_s_logo.s @@ -23,7 +23,7 @@ dScnLogo_c_NS_preLoad_dyl_create: /* 802560D4 00253014 80 7F 01 FC */ lwz r3, 0x1fc(r31) /* 802560D8 00253018 38 80 00 00 */ li r4, 0 /* 802560DC 0025301C 38 A0 00 70 */ li r5, 0x70 -/* 802560E0 00253020 4B DA D3 79 */ bl func_80003458 +/* 802560E0 00253020 4B DA D3 79 */ bl memset /* 802560E4 00253024 83 E1 00 0C */ lwz r31, 0xc(r1) /* 802560E8 00253028 80 01 00 14 */ lwz r0, 0x14(r1) /* 802560EC 0025302C 7C 08 03 A6 */ mtlr r0 @@ -1611,7 +1611,7 @@ lbl_80257810: /* 80257828 00254768 7D 89 03 A6 */ mtctr r12 /* 8025782C 0025476C 4E 80 04 21 */ bctrl lbl_80257830: -/* 80257830 00254770 80 6D 8E 48 */ lwz r3, lbl_804513C8-_SDA_BASE_(r13) +/* 80257830 00254770 80 6D 8E 48 */ lwz r3, sAramObject__7JKRAram-_SDA_BASE_(r13) /* 80257834 00254774 83 63 00 94 */ lwz r27, 0x94(r3) /* 80257838 00254778 7F 63 DB 78 */ mr r3, r27 /* 8025783C 0025477C 48 07 B9 71 */ bl getTotalFreeSize__11JKRAramHeapFv diff --git a/asm/data.s b/asm/data.s index 5f0f15d10a4..92aa3cdee15 100644 --- a/asm/data.s +++ b/asm/data.s @@ -3041,11 +3041,11 @@ lbl_803CC100: .global lbl_803CC114 lbl_803CC114: .incbin "baserom.dol", 0x3C9114, 0x14 -.global lbl_803CC128 -lbl_803CC128: +.global sMessageBuffer__7JKRAram +sMessageBuffer__7JKRAram: .incbin "baserom.dol", 0x3C9128, 0x10 -.global lbl_803CC138 -lbl_803CC138: +.global sMessageQueue__7JKRAram +sMessageQueue__7JKRAram: .incbin "baserom.dol", 0x3C9138, 0x20 .global lbl_803CC158 lbl_803CC158: @@ -3056,11 +3056,11 @@ lbl_803CC168: .global lbl_803CC178 lbl_803CC178: .incbin "baserom.dol", 0x3C9178, 0x10 -.global lbl_803CC188 -lbl_803CC188: +.global sMessageBuffer__13JKRAramStream +sMessageBuffer__13JKRAramStream: .incbin "baserom.dol", 0x3C9188, 0x10 -.global lbl_803CC198 -lbl_803CC198: +.global sMessageQueue__13JKRAramStream +sMessageQueue__13JKRAramStream: .incbin "baserom.dol", 0x3C9198, 0x20 .global lbl_803CC1B8 lbl_803CC1B8: diff --git a/asm/f/op/actor/f_op_actor_mng.s b/asm/f/op/actor/f_op_actor_mng.s index 908771a21c1..5f0a7ee5f34 100644 --- a/asm/f/op/actor/f_op_actor_mng.s +++ b/asm/f/op/actor/f_op_actor_mng.s @@ -1109,7 +1109,7 @@ fopAcM_seenActorAngleY: /* 8001A7BC 000176FC A8 1F 04 E6 */ lha r0, 0x4e6(r31) /* 8001A7C0 00017700 7C 00 18 50 */ subf r0, r0, r3 /* 8001A7C4 00017704 7C 03 07 34 */ extsh r3, r0 -/* 8001A7C8 00017708 48 34 A9 09 */ bl func_803650D0 +/* 8001A7C8 00017708 48 34 A9 09 */ bl abs /* 8001A7CC 0001770C 83 E1 00 0C */ lwz r31, 0xc(r1) /* 8001A7D0 00017710 80 01 00 14 */ lwz r0, 0x14(r1) /* 8001A7D4 00017714 7C 08 03 A6 */ mtlr r0 diff --git a/asm/gx/GXTexture.s b/asm/gx/GXTexture.s index b8ce8a603a7..2392c4a3239 100644 --- a/asm/gx/GXTexture.s +++ b/asm/gx/GXTexture.s @@ -182,7 +182,7 @@ GXInitTexObj: /* 8035DE6C 0035ADAC 3B 4A 00 00 */ addi r26, r10, 0 /* 8035DE70 0035ADB0 38 80 00 00 */ li r4, 0 /* 8035DE74 0035ADB4 38 A0 00 20 */ li r5, 0x20 -/* 8035DE78 0035ADB8 4B CA 55 E1 */ bl func_80003458 +/* 8035DE78 0035ADB8 4B CA 55 E1 */ bl memset /* 8035DE7C 0035ADBC 80 7F 00 00 */ lwz r3, 0(r31) /* 8035DE80 0035ADC0 53 03 07 BE */ rlwimi r3, r24, 0, 0x1e, 0x1f /* 8035DE84 0035ADC4 57 40 06 3F */ clrlwi. r0, r26, 0x18 diff --git a/asm/init.s b/asm/init.s index 46f727fb576..429318df8f6 100644 --- a/asm/init.s +++ b/asm/init.s @@ -218,7 +218,7 @@ lbl_800033C0: /* 800033CC 000003CC 80 7D 00 00 */ lwz r3, 0(r29) /* 800033D0 000003D0 41 82 00 0C */ beq lbl_800033DC /* 800033D4 000003D4 38 80 00 00 */ li r4, 0 -/* 800033D8 000003D8 48 00 00 81 */ bl func_80003458 +/* 800033D8 000003D8 48 00 00 81 */ bl memset lbl_800033DC: /* 800033DC 000003DC 3B BD 00 08 */ addi r29, r29, 8 /* 800033E0 000003E0 4B FF FF E0 */ b lbl_800033C0 @@ -260,8 +260,8 @@ lbl_80003438: /* 80003450 00000450 4C 00 01 2C */ isync /* 80003454 00000454 4E 80 00 20 */ blr -.global func_80003458 -func_80003458: +.global memset +memset: /* 80003458 00000458 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8000345C 0000045C 7C 08 02 A6 */ mflr r0 /* 80003460 00000460 90 01 00 14 */ stw r0, 0x14(r1) diff --git a/asm/m/Do/dvd/m_Do_dvd_thread.s b/asm/m/Do/dvd/m_Do_dvd_thread.s index 5a2d1dfbf18..abfa1ab38ce 100644 --- a/asm/m/Do/dvd/m_Do_dvd_thread.s +++ b/asm/m/Do/dvd/m_Do_dvd_thread.s @@ -963,7 +963,7 @@ lbl_800164EC: lbl_8001651C: /* 8001651C 0001345C 39 20 00 00 */ li r9, 0 /* 80016520 00013460 39 40 00 00 */ li r10, 0 -/* 80016524 00013464 48 2C 37 31 */ bl loadToMainRAM__12JKRDvdRipperFlPUc15JKRExpandSwitchUlP7JKRHeapQ212JKRDvdRipper15EAllocDirectionUlP14JKRCompressionPUl +/* 80016524 00013464 48 2C 37 31 */ bl loadToMainRAM__12JKRDvdRipperFlPUc15JKRExpandSwitchUlP7JKRHeapQ212JKRDvdRipper15EAllocDirectionUlPiPUl /* 80016528 00013468 90 7E 00 1C */ stw r3, 0x1c(r30) /* 8001652C 0001346C 80 9E 00 1C */ lwz r4, 0x1c(r30) /* 80016530 00013470 28 04 00 00 */ cmplwi r4, 0 diff --git a/asm/m/Do/m_Do_MemCardRWmng.s b/asm/m/Do/m_Do_MemCardRWmng.s index 41903ea0e1e..32189032632 100644 --- a/asm/m/Do/m_Do_MemCardRWmng.s +++ b/asm/m/Do/m_Do_MemCardRWmng.s @@ -34,7 +34,7 @@ lbl_800174E8: /* 800174FC 0001443C 38 63 CF 40 */ addi r3, r3, lbl_803ECF40@l /* 80017500 00014440 38 80 00 00 */ li r4, 0 /* 80017504 00014444 38 A0 40 00 */ li r5, 0x4000 -/* 80017508 00014448 4B FE BF 51 */ bl func_80003458 +/* 80017508 00014448 4B FE BF 51 */ bl memset /* 8001750C 0001444C 7F A3 EB 78 */ mr r3, r29 /* 80017510 00014450 3C 80 80 3F */ lis r4, lbl_803ECF40@ha /* 80017514 00014454 38 84 CF 40 */ addi r4, r4, lbl_803ECF40@l @@ -59,7 +59,7 @@ lbl_80017554: /* 80017558 00014498 38 63 CF 40 */ addi r3, r3, lbl_803ECF40@l /* 8001755C 0001449C 38 80 00 00 */ li r4, 0 /* 80017560 000144A0 38 A0 40 00 */ li r5, 0x4000 -/* 80017564 000144A4 4B FE BE F5 */ bl func_80003458 +/* 80017564 000144A4 4B FE BE F5 */ bl memset /* 80017568 000144A8 3C 60 80 3F */ lis r3, lbl_803ECF40@ha /* 8001756C 000144AC 38 63 CF 40 */ addi r3, r3, lbl_803ECF40@l /* 80017570 000144B0 7C 7C 1B 78 */ mr r28, r3 diff --git a/asm/m/Do/m_Do_audio.s b/asm/m/Do/m_Do_audio.s index d0a61985a02..7e602fa179d 100644 --- a/asm/m/Do/m_Do_audio.s +++ b/asm/m/Do/m_Do_audio.s @@ -52,7 +52,7 @@ lbl_80007030: /* 80007050 00003F90 80 0D 86 3C */ lwz r0, lbl_80450BBC-_SDA_BASE_(r13) /* 80007054 00003F94 28 00 00 00 */ cmplwi r0, 0 /* 80007058 00003F98 41 82 00 50 */ beq lbl_800070A8 -/* 8000705C 00003F9C 80 6D 8D F4 */ lwz r3, lbl_80451374-_SDA_BASE_(r13) +/* 8000705C 00003F9C 80 6D 8D F4 */ lwz r3, sCurrentHeap__7JKRHeap-_SDA_BASE_(r13) /* 80007060 00003FA0 38 80 00 05 */ li r4, 5 /* 80007064 00003FA4 48 2C 77 4D */ bl changeGroupID__7JKRHeapFUc /* 80007068 00003FA8 7C 7F 1B 78 */ mr r31, r3 @@ -65,7 +65,7 @@ lbl_80007030: /* 80007084 00003FC4 80 8D 86 3C */ lwz r4, lbl_80450BBC-_SDA_BASE_(r13) /* 80007088 00003FC8 3C A0 00 A0 */ lis r5, 0xa0 /* 8000708C 00003FCC 48 2C 62 C1 */ bl Z2AudioMgr_NS_init -/* 80007090 00003FD0 80 6D 8D F4 */ lwz r3, lbl_80451374-_SDA_BASE_(r13) +/* 80007090 00003FD0 80 6D 8D F4 */ lwz r3, sCurrentHeap__7JKRHeap-_SDA_BASE_(r13) /* 80007094 00003FD4 57 E4 06 3E */ clrlwi r4, r31, 0x18 /* 80007098 00003FD8 48 2C 77 19 */ bl changeGroupID__7JKRHeapFUc /* 8000709C 00003FDC 80 6D 86 3C */ lwz r3, lbl_80450BBC-_SDA_BASE_(r13) diff --git a/asm/m/Do/m_Do_ext.s b/asm/m/Do/m_Do_ext.s index 271951d9d36..d051fc1409a 100644 --- a/asm/m/Do/m_Do_ext.s +++ b/asm/m/Do/m_Do_ext.s @@ -2151,7 +2151,7 @@ mDoExt_createSolidHeap: /* 8000EE4C 0000BD8C 93 E1 00 0C */ stw r31, 0xc(r1) /* 8000EE50 0000BD90 28 04 00 00 */ cmplwi r4, 0 /* 8000EE54 0000BD94 40 82 00 08 */ bne lbl_8000EE5C -/* 8000EE58 0000BD98 80 8D 8D F4 */ lwz r4, lbl_80451374-_SDA_BASE_(r13) +/* 8000EE58 0000BD98 80 8D 8D F4 */ lwz r4, sCurrentHeap__7JKRHeap-_SDA_BASE_(r13) lbl_8000EE5C: /* 8000EE5C 0000BD9C 28 03 00 00 */ cmplwi r3, 0 /* 8000EE60 0000BDA0 41 82 00 10 */ beq lbl_8000EE70 @@ -2240,7 +2240,7 @@ mDoExt_createSolidHeapToCurrent: /* 8000EF74 0000BEB4 93 E1 00 0C */ stw r31, 0xc(r1) /* 8000EF78 0000BEB8 28 03 00 00 */ cmplwi r3, 0 /* 8000EF7C 0000BEBC 41 82 00 0C */ beq lbl_8000EF88 -/* 8000EF80 0000BEC0 80 0D 8D F4 */ lwz r0, lbl_80451374-_SDA_BASE_(r13) +/* 8000EF80 0000BEC0 80 0D 8D F4 */ lwz r0, sCurrentHeap__7JKRHeap-_SDA_BASE_(r13) /* 8000EF84 0000BEC4 90 03 00 00 */ stw r0, 0(r3) lbl_8000EF88: /* 8000EF88 0000BEC8 7C 83 23 78 */ mr r3, r4 @@ -2429,7 +2429,7 @@ mDoExt_setCurrentHeap: .global mDoExt_getCurrentHeap mDoExt_getCurrentHeap: -/* 8000F1EC 0000C12C 80 6D 8D F4 */ lwz r3, lbl_80451374-_SDA_BASE_(r13) +/* 8000F1EC 0000C12C 80 6D 8D F4 */ lwz r3, sCurrentHeap__7JKRHeap-_SDA_BASE_(r13) /* 8000F1F0 0000C130 4E 80 00 20 */ blr .global mDoExt_restoreCurrentHeap diff --git a/asm/m/Do/m_Do_graphic.s b/asm/m/Do/m_Do_graphic.s index eb538e61810..0979645fb6d 100644 --- a/asm/m/Do/m_Do_graphic.s +++ b/asm/m/Do/m_Do_graphic.s @@ -56,7 +56,7 @@ mDoGph_gInf_c_NS_create: /* 80007E48 00004D88 7C 08 02 A6 */ mflr r0 /* 80007E4C 00004D8C 90 01 00 14 */ stw r0, 0x14(r1) /* 80007E50 00004D90 38 60 00 00 */ li r3, 0 -/* 80007E54 00004D94 80 8D 8D F4 */ lwz r4, lbl_80451374-_SDA_BASE_(r13) +/* 80007E54 00004D94 80 8D 8D F4 */ lwz r4, sCurrentHeap__7JKRHeap-_SDA_BASE_(r13) /* 80007E58 00004D98 38 A0 00 02 */ li r5, 2 /* 80007E5C 00004D9C 38 C0 00 01 */ li r6, 1 /* 80007E60 00004DA0 48 26 A3 7D */ bl JFWDisplay_NS_createManager diff --git a/asm/m/Do/m_Do_machine.s b/asm/m/Do/m_Do_machine.s index 30ffd81de8c..124d3eb2c94 100644 --- a/asm/m/Do/m_Do_machine.s +++ b/asm/m/Do/m_Do_machine.s @@ -10,7 +10,7 @@ myGetHeapTypeByString: /* 8000B1F4 00008134 90 01 00 24 */ stw r0, 0x24(r1) /* 8000B1F8 00008138 93 E1 00 1C */ stw r31, 0x1c(r1) /* 8000B1FC 0000813C 7C 7F 1B 78 */ mr r31, r3 -/* 8000B200 00008140 80 0D 8D F0 */ lwz r0, lbl_80451370-_SDA_BASE_(r13) +/* 8000B200 00008140 80 0D 8D F0 */ lwz r0, sSystemHeap__7JKRHeap-_SDA_BASE_(r13) /* 8000B204 00008144 7C 1F 00 40 */ cmplw r31, r0 /* 8000B208 00008148 40 82 00 10 */ bne lbl_8000B218 /* 8000B20C 0000814C 3C 60 80 37 */ lis r3, lbl_80373DE8@ha @@ -335,7 +335,7 @@ mDoMch_HeapCheckAll: /* 8000B668 000085A8 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8000B66C 000085AC 7C 08 02 A6 */ mflr r0 /* 8000B670 000085B0 90 01 00 14 */ stw r0, 0x14(r1) -/* 8000B674 000085B4 80 6D 8D F8 */ lwz r3, lbl_80451378-_SDA_BASE_(r13) +/* 8000B674 000085B4 80 6D 8D F8 */ lwz r3, sRootHeap__7JKRHeap-_SDA_BASE_(r13) /* 8000B678 000085B8 4B FF FF 51 */ bl myHeapCheckRecursive /* 8000B67C 000085BC 80 01 00 14 */ lwz r0, 0x14(r1) /* 8000B680 000085C0 7C 08 03 A6 */ mtlr r0 @@ -926,12 +926,12 @@ lbl_8000BE84: /* 8000BE88 00008DC8 90 0D 82 14 */ stw r0, lbl_80450794-_SDA_BASE_(r13) /* 8000BE8C 00008DCC 48 26 5E 45 */ bl JFWSystem_NS_firstInit /* 8000BE90 00008DD0 38 60 18 00 */ li r3, 0x1800 -/* 8000BE94 00008DD4 80 8D 8D F8 */ lwz r4, lbl_80451378-_SDA_BASE_(r13) +/* 8000BE94 00008DD4 80 8D 8D F8 */ lwz r4, sRootHeap__7JKRHeap-_SDA_BASE_(r13) /* 8000BE98 00008DD8 48 00 2E 55 */ bl mDoExt_createDbPrintHeap /* 8000BE9C 00008DDC 7C 64 1B 78 */ mr r4, r3 /* 8000BEA0 00008DE0 38 60 00 00 */ li r3, 0 /* 8000BEA4 00008DE4 48 2D 42 ED */ bl JUTDbPrint_NS_start -/* 8000BEA8 00008DE8 80 6D 8D F8 */ lwz r3, lbl_80451378-_SDA_BASE_(r13) +/* 8000BEA8 00008DE8 80 6D 8D F8 */ lwz r3, sRootHeap__7JKRHeap-_SDA_BASE_(r13) /* 8000BEAC 00008DEC 48 00 2E 15 */ bl mDoExt_createAssertHeap /* 8000BEB0 00008DF0 48 26 5E 69 */ bl JFWSystem_NS_init /* 8000BEB4 00008DF4 88 0D 80 00 */ lbz r0, lbl_80450580-_SDA_BASE_(r13) @@ -948,13 +948,13 @@ lbl_8000BED4: .global myMemoryErrorRoutine /* 8000BED8 00008E18 38 63 B3 EC */ addi r3, r3, myMemoryErrorRoutine@l /* 8000BEDC 00008E1C 48 2C 2C AD */ bl setErrorHandler__7JKRHeapFPFP7JKRHeapUli_v -/* 8000BEE0 00008E20 80 6D 8D F8 */ lwz r3, lbl_80451378-_SDA_BASE_(r13) +/* 8000BEE0 00008E20 80 6D 8D F8 */ lwz r3, sRootHeap__7JKRHeap-_SDA_BASE_(r13) /* 8000BEE4 00008E24 38 80 00 01 */ li r4, 1 /* 8000BEE8 00008E28 48 2C 2C 91 */ bl setErrorFlag__7JKRHeapFb /* 8000BEEC 00008E2C 80 6D 8C 24 */ lwz r3, lbl_804511A4-_SDA_BASE_(r13) /* 8000BEF0 00008E30 38 80 00 01 */ li r4, 1 /* 8000BEF4 00008E34 48 2C 2C 85 */ bl setErrorFlag__7JKRHeapFb -/* 8000BEF8 00008E38 83 CD 8D F8 */ lwz r30, lbl_80451378-_SDA_BASE_(r13) +/* 8000BEF8 00008E38 83 CD 8D F8 */ lwz r30, sRootHeap__7JKRHeap-_SDA_BASE_(r13) /* 8000BEFC 00008E3C 38 60 10 00 */ li r3, 0x1000 /* 8000BF00 00008E40 7F C4 F3 78 */ mr r4, r30 /* 8000BF04 00008E44 48 00 2E 85 */ bl mDoExt_createCommandHeap @@ -997,7 +997,7 @@ lbl_8000BED4: /* 8000BF98 00008ED8 3C A0 00 45 */ lis r5, 0x0044E000@ha /* 8000BF9C 00008EDC 38 A5 E0 00 */ addi r5, r5, 0x0044E000@l /* 8000BFA0 00008EE0 4B FF FD 59 */ bl my_SysPrintHeap -/* 8000BFA4 00008EE4 83 ED 8D F0 */ lwz r31, lbl_80451370-_SDA_BASE_(r13) +/* 8000BFA4 00008EE4 83 ED 8D F0 */ lwz r31, sSystemHeap__7JKRHeap-_SDA_BASE_(r13) /* 8000BFA8 00008EE8 7F E3 FB 78 */ mr r3, r31 /* 8000BFAC 00008EEC 48 2C 27 81 */ bl getFreeSize__7JKRHeapCFv /* 8000BFB0 00008EF0 3F C3 FF FF */ addis r30, r3, 0xffff @@ -1015,7 +1015,7 @@ lbl_8000BED4: /* 8000BFE0 00008F20 48 2C 24 59 */ bl becomeCurrentHeap__7JKRHeapFv /* 8000BFE4 00008F24 38 60 00 00 */ li r3, 0 /* 8000BFE8 00008F28 38 80 20 00 */ li r4, 0x2000 -/* 8000BFEC 00008F2C 80 AD 8D F0 */ lwz r5, lbl_80451370-_SDA_BASE_(r13) +/* 8000BFEC 00008F2C 80 AD 8D F0 */ lwz r5, sSystemHeap__7JKRHeap-_SDA_BASE_(r13) /* 8000BFF0 00008F30 48 2C 80 45 */ bl setTransBuffer__13JKRAramStreamFPUcUlP7JKRHeap /* 8000BFF4 00008F34 38 60 00 00 */ li r3, 0 /* 8000BFF8 00008F38 48 2C 5A 1D */ bl createManager__15JKRThreadSwitchFP7JKRHeap @@ -1060,7 +1060,7 @@ lbl_8000C020: /* 8000C080 00008FC0 90 0D 83 4C */ stw r0, lbl_804508CC-_SDA_BASE_(r13) /* 8000C084 00008FC4 90 0D 83 54 */ stw r0, lbl_804508D4-_SDA_BASE_(r13) /* 8000C088 00008FC8 38 00 20 00 */ li r0, 0x2000 -/* 8000C08C 00008FCC 90 0D 83 38 */ stw r0, lbl_804508B8-_SDA_BASE_(r13) +/* 8000C08C 00008FCC 90 0D 83 38 */ stw r0, sSZSBufferSize__7JKRAram-_SDA_BASE_(r13) /* 8000C090 00008FD0 48 33 4B F5 */ bl OSGetCurrentThread /* 8000C094 00008FD4 48 33 5D C9 */ bl OSGetThreadPriority /* 8000C098 00008FD8 38 63 FF FE */ addi r3, r3, -2 diff --git a/asm/m/Do/machine/m_Do_machine_exception.s b/asm/m/Do/machine/m_Do_machine_exception.s index 93797487c02..d587e8f1e47 100644 --- a/asm/m/Do/machine/m_Do_machine_exception.s +++ b/asm/m/Do/machine/m_Do_machine_exception.s @@ -112,7 +112,7 @@ dispHeapInfo: /* 80017F00 00014E40 38 63 44 60 */ addi r3, r3, lbl_80374460@l /* 80017F04 00014E44 38 63 00 83 */ addi r3, r3, 0x83 /* 80017F08 00014E48 4B FF FF 01 */ bl print -/* 80017F0C 00014E4C 80 6D 8E 48 */ lwz r3, lbl_804513C8-_SDA_BASE_(r13) +/* 80017F0C 00014E4C 80 6D 8E 48 */ lwz r3, sAramObject__7JKRAram-_SDA_BASE_(r13) /* 80017F10 00014E50 80 63 00 94 */ lwz r3, 0x94(r3) /* 80017F14 00014E54 28 03 00 00 */ cmplwi r3, 0 /* 80017F18 00014E58 41 82 00 08 */ beq lbl_80017F20 diff --git a/asm/os/OS.s b/asm/os/OS.s index 7f5aae5914c..f863621ffe6 100644 --- a/asm/os/OS.s +++ b/asm/os/OS.s @@ -377,7 +377,7 @@ lbl_8033A2E8: /* 8033A300 00337240 48 00 0F 95 */ bl OSGetArenaLo /* 8033A304 00337244 7F C5 F3 78 */ mr r5, r30 /* 8033A308 00337248 38 80 00 00 */ li r4, 0 -/* 8033A30C 0033724C 4B CC 91 4D */ bl func_80003458 +/* 8033A30C 0033724C 4B CC 91 4D */ bl memset /* 8033A310 00337250 48 00 00 C0 */ b lbl_8033A3D0 lbl_8033A314: /* 8033A314 00337254 3B BF 00 5C */ addi r29, r31, 0x5c @@ -391,7 +391,7 @@ lbl_8033A314: /* 8033A334 00337274 48 00 0F 61 */ bl OSGetArenaLo /* 8033A338 00337278 7F C5 F3 78 */ mr r5, r30 /* 8033A33C 0033727C 38 80 00 00 */ li r4, 0 -/* 8033A340 00337280 4B CC 91 19 */ bl func_80003458 +/* 8033A340 00337280 4B CC 91 19 */ bl memset /* 8033A344 00337284 48 00 00 8C */ b lbl_8033A3D0 lbl_8033A348: /* 8033A348 00337288 48 00 0F 4D */ bl OSGetArenaLo @@ -409,7 +409,7 @@ lbl_8033A348: /* 8033A378 003372B8 48 00 0F 1D */ bl OSGetArenaLo /* 8033A37C 003372BC 7F C5 F3 78 */ mr r5, r30 /* 8033A380 003372C0 38 80 00 00 */ li r4, 0 -/* 8033A384 003372C4 4B CC 90 D5 */ bl func_80003458 +/* 8033A384 003372C4 4B CC 90 D5 */ bl memset /* 8033A388 003372C8 48 00 00 48 */ b lbl_8033A3D0 lbl_8033A38C: /* 8033A38C 003372CC 48 00 0F 09 */ bl OSGetArenaLo @@ -418,7 +418,7 @@ lbl_8033A38C: /* 8033A398 003372D8 48 00 0E FD */ bl OSGetArenaLo /* 8033A39C 003372DC 7F C5 F3 78 */ mr r5, r30 /* 8033A3A0 003372E0 38 80 00 00 */ li r4, 0 -/* 8033A3A4 003372E4 4B CC 90 B5 */ bl func_80003458 +/* 8033A3A4 003372E4 4B CC 90 B5 */ bl memset /* 8033A3A8 003372E8 48 00 0E E5 */ bl OSGetArenaHi /* 8033A3AC 003372EC 38 9F 00 60 */ addi r4, r31, 0x60 /* 8033A3B0 003372F0 83 A4 00 00 */ lwz r29, 0(r4) @@ -428,7 +428,7 @@ lbl_8033A38C: /* 8033A3C0 00337300 7C BD 18 50 */ subf r5, r29, r3 /* 8033A3C4 00337304 7F A3 EB 78 */ mr r3, r29 /* 8033A3C8 00337308 38 80 00 00 */ li r4, 0 -/* 8033A3CC 0033730C 4B CC 90 8D */ bl func_80003458 +/* 8033A3CC 0033730C 4B CC 90 8D */ bl memset lbl_8033A3D0: /* 8033A3D0 00337310 48 00 33 39 */ bl OSEnableInterrupts /* 8033A3D4 00337314 80 0D 90 A8 */ lwz r0, lbl_80451628-_SDA_BASE_(r13) diff --git a/asm/os/OSExec.s b/asm/os/OSExec.s index 2d851950d23..fe2f49780bb 100644 --- a/asm/os/OSExec.s +++ b/asm/os/OSExec.s @@ -14,7 +14,7 @@ PackArgs: /* 8033CA98 003399D8 3B C3 00 00 */ addi r30, r3, 0 /* 8033CA9C 003399DC 38 80 00 00 */ li r4, 0 /* 8033CAA0 003399E0 38 A0 20 00 */ li r5, 0x2000 -/* 8033CAA4 003399E4 4B CC 69 B5 */ bl func_80003458 +/* 8033CAA4 003399E4 4B CC 69 B5 */ bl memset /* 8033CAA8 003399E8 2C 1A 00 00 */ cmpwi r26, 0 /* 8033CAAC 003399EC 40 82 00 10 */ bne lbl_8033CABC /* 8033CAB0 003399F0 38 00 00 00 */ li r0, 0 diff --git a/asm/os/OSInterrupt.s b/asm/os/OSInterrupt.s index 5f615384a9c..f05cc015141 100644 --- a/asm/os/OSInterrupt.s +++ b/asm/os/OSInterrupt.s @@ -67,7 +67,7 @@ __OSInterruptInit: /* 8033D78C 0033A6CC 38 80 00 00 */ li r4, 0 /* 8033D790 0033A6D0 38 A0 00 80 */ li r5, 0x80 /* 8033D794 0033A6D4 80 6D 90 F0 */ lwz r3, lbl_80451670-_SDA_BASE_(r13) -/* 8033D798 0033A6D8 4B CC 5C C1 */ bl func_80003458 +/* 8033D798 0033A6D8 4B CC 5C C1 */ bl memset /* 8033D79C 0033A6DC 38 00 00 00 */ li r0, 0 /* 8033D7A0 0033A6E0 90 1F 00 C4 */ stw r0, 0xc4(r31) /* 8033D7A4 0033A6E4 3C 60 CC 00 */ lis r3, 0xCC003000@ha diff --git a/asm/os/OSLink.s b/asm/os/OSLink.s index 18317404870..8e330919e3c 100644 --- a/asm/os/OSLink.s +++ b/asm/os/OSLink.s @@ -423,7 +423,7 @@ lbl_8033E4D4: /* 8033E4D4 0033B414 80 BF 00 20 */ lwz r5, 0x20(r31) /* 8033E4D8 0033B418 38 7D 00 00 */ addi r3, r29, 0 /* 8033E4DC 0033B41C 38 80 00 00 */ li r4, 0 -/* 8033E4E0 0033B420 4B CC 4F 79 */ bl func_80003458 +/* 8033E4E0 0033B420 4B CC 4F 79 */ bl memset /* 8033E4E4 0033B424 7F E3 FB 78 */ mr r3, r31 /* 8033E4E8 0033B428 4B FF FA 79 */ bl OSNotifyLink /* 8033E4EC 0033B42C 38 60 00 01 */ li r3, 1 diff --git a/asm/os/OSReset.s b/asm/os/OSReset.s index e1838022714..041da82484e 100644 --- a/asm/os/OSReset.s +++ b/asm/os/OSReset.s @@ -309,27 +309,27 @@ lbl_8033FA28: /* 8033FA2C 0033C96C 38 7F 00 40 */ addi r3, r31, 0x80000040@l /* 8033FA30 0033C970 38 80 00 00 */ li r4, 0 /* 8033FA34 0033C974 38 A0 00 8C */ li r5, 0x8c -/* 8033FA38 0033C978 4B CC 3A 21 */ bl func_80003458 +/* 8033FA38 0033C978 4B CC 3A 21 */ bl memset /* 8033FA3C 0033C97C 38 7F 00 D4 */ addi r3, r31, 0xd4 /* 8033FA40 0033C980 38 80 00 00 */ li r4, 0 /* 8033FA44 0033C984 38 A0 00 14 */ li r5, 0x14 -/* 8033FA48 0033C988 4B CC 3A 11 */ bl func_80003458 +/* 8033FA48 0033C988 4B CC 3A 11 */ bl memset /* 8033FA4C 0033C98C 38 7F 00 F4 */ addi r3, r31, 0xf4 /* 8033FA50 0033C990 38 80 00 00 */ li r4, 0 /* 8033FA54 0033C994 38 A0 00 04 */ li r5, 4 -/* 8033FA58 0033C998 4B CC 3A 01 */ bl func_80003458 +/* 8033FA58 0033C998 4B CC 3A 01 */ bl memset /* 8033FA5C 0033C99C 38 7F 30 00 */ addi r3, r31, 0x3000 /* 8033FA60 0033C9A0 38 80 00 00 */ li r4, 0 /* 8033FA64 0033C9A4 38 A0 00 C0 */ li r5, 0xc0 -/* 8033FA68 0033C9A8 4B CC 39 F1 */ bl func_80003458 +/* 8033FA68 0033C9A8 4B CC 39 F1 */ bl memset /* 8033FA6C 0033C9AC 38 7F 30 C8 */ addi r3, r31, 0x30c8 /* 8033FA70 0033C9B0 38 80 00 00 */ li r4, 0 /* 8033FA74 0033C9B4 38 A0 00 0C */ li r5, 0xc -/* 8033FA78 0033C9B8 4B CC 39 E1 */ bl func_80003458 +/* 8033FA78 0033C9B8 4B CC 39 E1 */ bl memset /* 8033FA7C 0033C9BC 38 7F 30 E2 */ addi r3, r31, 0x30e2 /* 8033FA80 0033C9C0 38 80 00 00 */ li r4, 0 /* 8033FA84 0033C9C4 38 A0 00 01 */ li r5, 1 -/* 8033FA88 0033C9C8 4B CC 39 D1 */ bl func_80003458 +/* 8033FA88 0033C9C8 4B CC 39 D1 */ bl memset /* 8033FA8C 0033C9CC 80 01 00 34 */ lwz r0, 0x34(r1) /* 8033FA90 0033C9D0 83 E1 00 2C */ lwz r31, 0x2c(r1) /* 8033FA94 0033C9D4 83 C1 00 28 */ lwz r30, 0x28(r1) diff --git a/asm/pad/Pad.s b/asm/pad/Pad.s index dc27ee29e1e..83a9f4e33f5 100644 --- a/asm/pad/Pad.s +++ b/asm/pad/Pad.s @@ -160,7 +160,7 @@ lbl_8034E4B4: /* 8034E4E8 0034B428 7C 60 22 14 */ add r3, r0, r4 /* 8034E4EC 0034B42C 38 80 00 00 */ li r4, 0 /* 8034E4F0 0034B430 38 A0 00 0C */ li r5, 0xc -/* 8034E4F4 0034B434 4B CB 4F 65 */ bl func_80003458 +/* 8034E4F4 0034B434 4B CB 4F 65 */ bl memset .global PADTypeAndStatusCallback /* 8034E4F8 0034B438 3C 80 80 35 */ lis r4, PADTypeAndStatusCallback@ha /* 8034E4FC 0034B43C 80 6D 84 A4 */ lwz r3, lbl_80450A24-_SDA_BASE_(r13) @@ -274,7 +274,7 @@ lbl_8034E654: /* 8034E688 0034B5C8 7C 60 22 14 */ add r3, r0, r4 /* 8034E68C 0034B5CC 38 80 00 00 */ li r4, 0 /* 8034E690 0034B5D0 38 A0 00 0C */ li r5, 0xc -/* 8034E694 0034B5D4 4B CB 4D C5 */ bl func_80003458 +/* 8034E694 0034B5D4 4B CB 4D C5 */ bl memset .global PADTypeAndStatusCallback /* 8034E698 0034B5D8 3C 80 80 35 */ lis r4, PADTypeAndStatusCallback@ha /* 8034E69C 0034B5DC 80 6D 84 A4 */ lwz r3, lbl_80450A24-_SDA_BASE_(r13) @@ -323,7 +323,7 @@ PADTypeAndStatusCallback: /* 8034E738 0034B678 38 80 00 00 */ li r4, 0 /* 8034E73C 0034B67C 38 A0 00 0C */ li r5, 0xc /* 8034E740 0034B680 38 63 00 10 */ addi r3, r3, 0x10 -/* 8034E744 0034B684 4B CB 4D 15 */ bl func_80003458 +/* 8034E744 0034B684 4B CB 4D 15 */ bl memset .global PADTypeAndStatusCallback /* 8034E748 0034B688 3C 80 80 35 */ lis r4, PADTypeAndStatusCallback@ha /* 8034E74C 0034B68C 80 6D 84 A4 */ lwz r3, lbl_80450A24-_SDA_BASE_(r13) @@ -357,7 +357,7 @@ lbl_8034E780: /* 8034E7B0 0034B6F0 38 80 00 00 */ li r4, 0 /* 8034E7B4 0034B6F4 38 A0 00 0C */ li r5, 0xc /* 8034E7B8 0034B6F8 38 63 00 10 */ addi r3, r3, 0x10 -/* 8034E7BC 0034B6FC 4B CB 4C 9D */ bl func_80003458 +/* 8034E7BC 0034B6FC 4B CB 4C 9D */ bl memset .global PADTypeAndStatusCallback /* 8034E7C0 0034B700 3C 80 80 35 */ lis r4, PADTypeAndStatusCallback@ha /* 8034E7C4 0034B704 80 6D 84 A4 */ lwz r3, lbl_80450A24-_SDA_BASE_(r13) @@ -395,7 +395,7 @@ lbl_8034E7D4: /* 8034E83C 0034B77C 38 80 00 00 */ li r4, 0 /* 8034E840 0034B780 38 A0 00 0C */ li r5, 0xc /* 8034E844 0034B784 38 63 00 10 */ addi r3, r3, 0x10 -/* 8034E848 0034B788 4B CB 4C 11 */ bl func_80003458 +/* 8034E848 0034B788 4B CB 4C 11 */ bl memset .global PADTypeAndStatusCallback /* 8034E84C 0034B78C 3C 80 80 35 */ lis r4, PADTypeAndStatusCallback@ha /* 8034E850 0034B790 80 6D 84 A4 */ lwz r3, lbl_80450A24-_SDA_BASE_(r13) @@ -503,7 +503,7 @@ lbl_8034E968: /* 8034E9AC 0034B8EC 38 80 00 00 */ li r4, 0 /* 8034E9B0 0034B8F0 38 A0 00 0C */ li r5, 0xc /* 8034E9B4 0034B8F4 38 63 00 10 */ addi r3, r3, 0x10 -/* 8034E9B8 0034B8F8 4B CB 4A A1 */ bl func_80003458 +/* 8034E9B8 0034B8F8 4B CB 4A A1 */ bl memset .global PADTypeAndStatusCallback /* 8034E9BC 0034B8FC 3C 80 80 35 */ lis r4, PADTypeAndStatusCallback@ha /* 8034E9C0 0034B900 80 6D 84 A4 */ lwz r3, lbl_80450A24-_SDA_BASE_(r13) @@ -663,7 +663,7 @@ lbl_8034EBB4: /* 8034EBF8 0034BB38 7C 60 22 14 */ add r3, r0, r4 /* 8034EBFC 0034BB3C 38 80 00 00 */ li r4, 0 /* 8034EC00 0034BB40 38 A0 00 0C */ li r5, 0xc -/* 8034EC04 0034BB44 4B CB 48 55 */ bl func_80003458 +/* 8034EC04 0034BB44 4B CB 48 55 */ bl memset .global PADTypeAndStatusCallback /* 8034EC08 0034BB48 3C 80 80 35 */ lis r4, PADTypeAndStatusCallback@ha /* 8034EC0C 0034BB4C 80 6D 84 A4 */ lwz r3, lbl_80450A24-_SDA_BASE_(r13) @@ -739,7 +739,7 @@ lbl_8034ECC8: /* 8034ED0C 0034BC4C 7C 60 22 14 */ add r3, r0, r4 /* 8034ED10 0034BC50 38 80 00 00 */ li r4, 0 /* 8034ED14 0034BC54 38 A0 00 0C */ li r5, 0xc -/* 8034ED18 0034BC58 4B CB 47 41 */ bl func_80003458 +/* 8034ED18 0034BC58 4B CB 47 41 */ bl memset .global PADTypeAndStatusCallback /* 8034ED1C 0034BC5C 3C 80 80 35 */ lis r4, PADTypeAndStatusCallback@ha /* 8034ED20 0034BC60 80 6D 84 A4 */ lwz r3, lbl_80450A24-_SDA_BASE_(r13) @@ -884,7 +884,7 @@ lbl_8034EEE8: /* 8034EF08 0034BE48 38 77 00 00 */ addi r3, r23, 0 /* 8034EF0C 0034BE4C 38 80 00 00 */ li r4, 0 /* 8034EF10 0034BE50 38 A0 00 0A */ li r5, 0xa -/* 8034EF14 0034BE54 4B CB 45 45 */ bl func_80003458 +/* 8034EF14 0034BE54 4B CB 45 45 */ bl memset /* 8034EF18 0034BE58 48 00 02 54 */ b lbl_8034F16C lbl_8034EF1C: /* 8034EF1C 0034BE5C 80 0D 92 D0 */ lwz r0, lbl_80451850-_SDA_BASE_(r13) @@ -899,7 +899,7 @@ lbl_8034EF34: /* 8034EF3C 0034BE7C 38 77 00 00 */ addi r3, r23, 0 /* 8034EF40 0034BE80 38 80 00 00 */ li r4, 0 /* 8034EF44 0034BE84 38 A0 00 0A */ li r5, 0xa -/* 8034EF48 0034BE88 4B CB 45 11 */ bl func_80003458 +/* 8034EF48 0034BE88 4B CB 45 11 */ bl memset /* 8034EF4C 0034BE8C 48 00 02 20 */ b lbl_8034F16C lbl_8034EF50: /* 8034EF50 0034BE90 80 0D 92 CC */ lwz r0, lbl_8045184C-_SDA_BASE_(r13) @@ -910,7 +910,7 @@ lbl_8034EF50: /* 8034EF64 0034BEA4 38 77 00 00 */ addi r3, r23, 0 /* 8034EF68 0034BEA8 38 80 00 00 */ li r4, 0 /* 8034EF6C 0034BEAC 38 A0 00 0A */ li r5, 0xa -/* 8034EF70 0034BEB0 4B CB 44 E9 */ bl func_80003458 +/* 8034EF70 0034BEB0 4B CB 44 E9 */ bl memset /* 8034EF74 0034BEB4 48 00 01 F8 */ b lbl_8034F16C lbl_8034EF78: /* 8034EF78 0034BEB8 7F 23 CB 78 */ mr r3, r25 @@ -922,7 +922,7 @@ lbl_8034EF78: /* 8034EF90 0034BED0 38 77 00 00 */ addi r3, r23, 0 /* 8034EF94 0034BED4 38 80 00 00 */ li r4, 0 /* 8034EF98 0034BED8 38 A0 00 0A */ li r5, 0xa -/* 8034EF9C 0034BEDC 4B CB 44 BD */ bl func_80003458 +/* 8034EF9C 0034BEDC 4B CB 44 BD */ bl memset /* 8034EFA0 0034BEE0 48 00 01 CC */ b lbl_8034F16C lbl_8034EFA4: /* 8034EFA4 0034BEE4 7F 23 CB 78 */ mr r3, r25 @@ -940,7 +940,7 @@ lbl_8034EFA4: /* 8034EFD4 0034BF14 38 77 00 00 */ addi r3, r23, 0 /* 8034EFD8 0034BF18 38 80 00 00 */ li r4, 0 /* 8034EFDC 0034BF1C 38 A0 00 0A */ li r5, 0xa -/* 8034EFE0 0034BF20 4B CB 44 79 */ bl func_80003458 +/* 8034EFE0 0034BF20 4B CB 44 79 */ bl memset /* 8034EFE4 0034BF24 80 6D 92 DC */ lwz r3, lbl_8045185C-_SDA_BASE_(r13) /* 8034EFE8 0034BF28 7C 60 D8 39 */ and. r0, r3, r27 /* 8034EFEC 0034BF2C 40 82 01 80 */ bne lbl_8034F16C @@ -981,7 +981,7 @@ lbl_8034F008: /* 8034F074 0034BFB4 38 77 00 00 */ addi r3, r23, 0 /* 8034F078 0034BFB8 38 80 00 00 */ li r4, 0 /* 8034F07C 0034BFBC 38 A0 00 0A */ li r5, 0xa -/* 8034F080 0034BFC0 4B CB 43 D9 */ bl func_80003458 +/* 8034F080 0034BFC0 4B CB 43 D9 */ bl memset /* 8034F084 0034BFC4 48 00 00 E8 */ b lbl_8034F16C lbl_8034F088: /* 8034F088 0034BFC8 7F 23 CB 78 */ mr r3, r25 @@ -1000,7 +1000,7 @@ lbl_8034F09C: /* 8034F0B8 0034BFF8 38 77 00 00 */ addi r3, r23, 0 /* 8034F0BC 0034BFFC 38 80 00 00 */ li r4, 0 /* 8034F0C0 0034C000 38 A0 00 0A */ li r5, 0xa -/* 8034F0C4 0034C004 4B CB 43 95 */ bl func_80003458 +/* 8034F0C4 0034C004 4B CB 43 95 */ bl memset /* 8034F0C8 0034C008 48 00 00 A4 */ b lbl_8034F16C lbl_8034F0CC: /* 8034F0CC 0034C00C 80 01 00 10 */ lwz r0, 0x10(r1) @@ -1011,7 +1011,7 @@ lbl_8034F0CC: /* 8034F0E0 0034C020 38 77 00 00 */ addi r3, r23, 0 /* 8034F0E4 0034C024 38 80 00 00 */ li r4, 0 /* 8034F0E8 0034C028 38 A0 00 0A */ li r5, 0xa -/* 8034F0EC 0034C02C 4B CB 43 6D */ bl func_80003458 +/* 8034F0EC 0034C02C 4B CB 43 6D */ bl memset /* 8034F0F0 0034C030 48 00 00 7C */ b lbl_8034F16C lbl_8034F0F4: /* 8034F0F4 0034C034 81 8D 84 B4 */ lwz r12, lbl_80450A34-_SDA_BASE_(r13) @@ -1028,7 +1028,7 @@ lbl_8034F0F4: /* 8034F120 0034C060 38 77 00 00 */ addi r3, r23, 0 /* 8034F124 0034C064 38 80 00 00 */ li r4, 0 /* 8034F128 0034C068 38 A0 00 0A */ li r5, 0xa -/* 8034F12C 0034C06C 4B CB 43 2D */ bl func_80003458 +/* 8034F12C 0034C06C 4B CB 43 2D */ bl memset /* 8034F130 0034C070 38 79 00 00 */ addi r3, r25, 0 /* 8034F134 0034C074 38 DC 00 00 */ addi r6, r28, 0 /* 8034F138 0034C078 39 16 00 00 */ addi r8, r22, 0 diff --git a/asm/sbss.s b/asm/sbss.s index 4be814e8f9e..8712b60e054 100644 --- a/asm/sbss.s +++ b/asm/sbss.s @@ -1493,14 +1493,14 @@ lbl_80451360: .global lbl_80451368 lbl_80451368: .skip 0x8 -.global lbl_80451370 -lbl_80451370: +.global sSystemHeap__7JKRHeap +sSystemHeap__7JKRHeap: .skip 0x4 -.global lbl_80451374 -lbl_80451374: +.global sCurrentHeap__7JKRHeap +sCurrentHeap__7JKRHeap: .skip 0x4 -.global lbl_80451378 -lbl_80451378: +.global sRootHeap__7JKRHeap +sRootHeap__7JKRHeap: .skip 0x4 .global lbl_8045137C lbl_8045137C: @@ -1508,20 +1508,20 @@ lbl_8045137C: .global lbl_80451380 lbl_80451380: .skip 0x4 -.global lbl_80451384 -lbl_80451384: +.global mCodeStart__7JKRHeap +mCodeStart__7JKRHeap: .skip 0x4 -.global lbl_80451388 -lbl_80451388: +.global mCodeEnd__7JKRHeap +mCodeEnd__7JKRHeap: .skip 0x4 -.global lbl_8045138C -lbl_8045138C: +.global mUserRamStart__7JKRHeap +mUserRamStart__7JKRHeap: .skip 0x4 -.global lbl_80451390 -lbl_80451390: +.global mUserRamEnd__7JKRHeap +mUserRamEnd__7JKRHeap: .skip 0x4 -.global lbl_80451394 -lbl_80451394: +.global mMemorySize__7JKRHeap +mMemorySize__7JKRHeap: .skip 0x4 .global lbl_80451398 lbl_80451398: @@ -1556,71 +1556,71 @@ lbl_804513C0: .global lbl_804513C4 lbl_804513C4: .skip 0x4 -.global lbl_804513C8 -lbl_804513C8: +.global sAramObject__7JKRAram +sAramObject__7JKRAram: .skip 0x4 -.global lbl_804513CC -lbl_804513CC: +.global JKRAram__szpBuf +JKRAram__szpBuf: .skip 0x4 -.global lbl_804513D0 -lbl_804513D0: +.global JKRAram__szpEnd +JKRAram__szpEnd: .skip 0x4 -.global lbl_804513D4 -lbl_804513D4: +.global JKRAram__refBuf +JKRAram__refBuf: .skip 0x4 -.global lbl_804513D8 -lbl_804513D8: +.global JKRAram__refEnd +JKRAram__refEnd: .skip 0x4 -.global lbl_804513DC -lbl_804513DC: +.global JKRAram__refCurrent +JKRAram__refCurrent: .skip 0x4 -.global lbl_804513E0 -lbl_804513E0: +.global JKRAram__srcOffset +JKRAram__srcOffset: .skip 0x4 -.global lbl_804513E4 -lbl_804513E4: +.global JKRAram__transLeft +JKRAram__transLeft: .skip 0x4 -.global lbl_804513E8 -lbl_804513E8: +.global JKRAram__srcLimit +JKRAram__srcLimit: .skip 0x4 -.global lbl_804513EC -lbl_804513EC: +.global JKRAram__srcAddress +JKRAram__srcAddress: .skip 0x4 -.global lbl_804513F0 -lbl_804513F0: +.global JKRAram__fileOffset +JKRAram__fileOffset: .skip 0x4 -.global lbl_804513F4 -lbl_804513F4: +.global JKRAram__readCount +JKRAram__readCount: .skip 0x4 -.global lbl_804513F8 -lbl_804513F8: +.global JKRAram__maxDest +JKRAram__maxDest: .skip 0x4 .global lbl_804513FC lbl_804513FC: .skip 0x4 -.global lbl_80451400 -lbl_80451400: +.global JKRAram__tsPtr +JKRAram__tsPtr: .skip 0x4 -.global lbl_80451404 -lbl_80451404: +.global JKRAram__tsArea +JKRAram__tsArea: .skip 0x4 -.global lbl_80451408 -lbl_80451408: +.global sAramStreamObject__13JKRAramStream +sAramStreamObject__13JKRAramStream: .skip 0x4 -.global lbl_8045140C -lbl_8045140C: +.global transBuffer__13JKRAramStream +transBuffer__13JKRAramStream: .skip 0x4 -.global lbl_80451410 -lbl_80451410: +.global transSize__13JKRAramStream +transSize__13JKRAramStream: .skip 0x4 -.global lbl_80451414 -lbl_80451414: +.global transHeap__13JKRAramStream +transHeap__13JKRAramStream: .skip 0x4 -.global lbl_80451418 -lbl_80451418: +.global sCurrentVolume__13JKRFileLoader +sCurrentVolume__13JKRFileLoader: .skip 0x8 -.global lbl_80451420 -lbl_80451420: +.global sCurrentDirID__10JKRArchive +sCurrentDirID__10JKRArchive: .skip 0x8 .global lbl_80451428 lbl_80451428: diff --git a/asm/sdata.s b/asm/sdata.s index c6cb3423747..201f3ccf303 100644 --- a/asm/sdata.s +++ b/asm/sdata.s @@ -506,8 +506,8 @@ lbl_804508A8: .global lbl_804508B0 lbl_804508B0: .incbin "baserom.dol", 0x3D0610, 0x8 -.global lbl_804508B8 -lbl_804508B8: +.global sSZSBufferSize__7JKRAram +sSZSBufferSize__7JKRAram: .incbin "baserom.dol", 0x3D0618, 0x8 .global lbl_804508C0 lbl_804508C0: diff --git a/include/JSystem/JKernel/JKRAram/JKRAram.h b/include/JSystem/JKernel/JKRAram/JKRAram.h index cd68c730863..59180e497d7 100644 --- a/include/JSystem/JKernel/JKRAram/JKRAram.h +++ b/include/JSystem/JKernel/JKRAram/JKRAram.h @@ -1,15 +1,12 @@ #ifndef __JKRARAM_H__ #define __JKRARAM_H__ +#include "JSystem/JKernel/JKRAramHeap/JKRAramHeap.h" +#include "JSystem/JKernel/JKRDvdRipper/JKRDvdRipper.h" #include "JSystem/JKernel/JKRThread/JKRThread.h" #include "dolphin/types.h" - -// JKRExpandSwitch -#include "JSystem/JKernel/JKRDvdRipper/JKRDvdRipper.h" #include "global.h" -#include "JSystem/JKernel/JKRAramHeap/JKRAramHeap.h" - class JKRHeap; class JKRAramBlock; class JKRAram : public JKRThread { @@ -20,30 +17,33 @@ private: /* vt[03] */ void* run(void); /* override */ public: - void* getAudioMemory() { return this->mAudioMemoryPtr; } - u32 getAudioMemSize() { return this->mAudioMemorySize; } + u32 getAudioMemory() const { return mAudioMemoryPtr; } + u32 getAudioMemSize() const { return mAudioMemorySize; } + u32 getGraphMemory() const { return mGraphMemoryPtr; } + u32 getGraphMemSize() const { return mGraphMemorySize; } private: - void* mAudioMemoryPtr; - u32 mAudioMemorySize; - void* mGraphMemoryPtr; - u32 mGraphMemorySize; - void* mAramMemoryPtr; - u32 mAramMemorySize; - JKRAramHeap* mAramHeap; - u32 field_0x9c; - u32 field_0xa0; + /* 0x00 */ // vtable + /* 0x04 */ // JKRThread + /* 0x7C */ u32 mAudioMemoryPtr; + /* 0x80 */ u32 mAudioMemorySize; + /* 0x84 */ u32 mGraphMemoryPtr; + /* 0x88 */ u32 mGraphMemorySize; + /* 0x8C */ u32 mAramMemoryPtr; + /* 0x90 */ u32 mAramMemorySize; + /* 0x94 */ JKRAramHeap* mAramHeap; + /* 0x98 */ u32 mStackArray[3]; public: - static void create(u32, u32, long, long, long); + static JKRAram* create(u32, u32, long, long, long); static void checkOkAddress(u8*, u32, JKRAramBlock*, u32); static void changeGroupIdIfNeed(u8*, int); static void mainRamToAram(u8*, u32, u32, JKRExpandSwitch, u32, JKRHeap*, int, u32*); static void aramToMainRam(u32, u8*, u32, JKRExpandSwitch, u32, JKRHeap*, int, u32*); - static JKRAram* getManager() { return lbl_804513C8; } - + static JKRAram* getManager() { return sAramObject; } static JKRAramHeap* getAramHeap() { return getManager()->mAramHeap; } + static JSUList& getCommandList() { return sAramCommandList; } static u8 decideAramGroupId(int groupId) { JKRAramHeap* heap; @@ -56,14 +56,17 @@ public: return (u8)groupId; } - static u32 getSZSBufferSize() { return lbl_804508B8; } + static u32 getSZSBufferSize() { return sSZSBufferSize; } + static void setSZSBufferSize(u32 size) { sSZSBufferSize = size; } - void setSZSBufferSize(u32 size) { lbl_804508B8 = size; } +private: + static JKRAram* sAramObject; + static u32 sSZSBufferSize; + static OSMessage sMessageBuffer[4]; + static OSMessageQueue sMessageQueue; + static JSUList sAramCommandList; }; void JKRDecompressFromAramToMainRam(u32, void*, u32, u32, u32, u32*); -static void decompSZS_subroutine(u8*, u8*); -static void firstSrcData(void); -static void nextSrcData(u8*); #endif diff --git a/include/JSystem/JKernel/JKRAram/asm/func_802D1FA4.s b/include/JSystem/JKernel/JKRAram/asm/func_802D1FA4.s index 51f01a09354..3daaa7c1afd 100644 --- a/include/JSystem/JKernel/JKRAram/asm/func_802D1FA4.s +++ b/include/JSystem/JKernel/JKRAram/asm/func_802D1FA4.s @@ -10,11 +10,11 @@ /* 802D1FC0 002CEF00 7C BD 2B 78 */ mr r29, r5 /* 802D1FC4 002CEF04 7C DE 33 78 */ mr r30, r6 /* 802D1FC8 002CEF08 7C FF 3B 78 */ mr r31, r7 -/* 802D1FCC 002CEF0C 80 0D 8E 48 */ lwz r0, lbl_804513C8-_SDA_BASE_(r13) +/* 802D1FCC 002CEF0C 80 0D 8E 48 */ lwz r0, sAramObject__7JKRAram-_SDA_BASE_(r13) /* 802D1FD0 002CEF10 28 00 00 00 */ cmplwi r0, 0 /* 802D1FD4 002CEF14 40 82 00 34 */ bne lbl_802D2008 /* 802D1FD8 002CEF18 38 60 00 A4 */ li r3, 0xa4 -/* 802D1FDC 002CEF1C 80 8D 8D F0 */ lwz r4, lbl_80451370-_SDA_BASE_(r13) +/* 802D1FDC 002CEF1C 80 8D 8D F0 */ lwz r4, sSystemHeap__7JKRHeap-_SDA_BASE_(r13) /* 802D1FE0 002CEF20 38 A0 00 00 */ li r5, 0 /* 802D1FE4 002CEF24 4B FF CC B5 */ bl __nw__FUlP7JKRHeapi /* 802D1FE8 002CEF28 7C 60 1B 79 */ or. r0, r3, r3 @@ -25,16 +25,16 @@ /* 802D1FFC 002CEF3C 48 00 00 45 */ bl __ct__7JKRAramFUlUll /* 802D2000 002CEF40 7C 60 1B 78 */ mr r0, r3 lbl_802D2004: -/* 802D2004 002CEF44 90 0D 8E 48 */ stw r0, lbl_804513C8-_SDA_BASE_(r13) +/* 802D2004 002CEF44 90 0D 8E 48 */ stw r0, sAramObject__7JKRAram-_SDA_BASE_(r13) lbl_802D2008: /* 802D2008 002CEF48 7F A3 EB 78 */ mr r3, r29 /* 802D200C 002CEF4C 48 00 1B 3D */ bl create__13JKRAramStreamFl /* 802D2010 002CEF50 7F C3 F3 78 */ mr r3, r30 /* 802D2014 002CEF54 48 00 96 6D */ bl create__9JKRDecompFl -/* 802D2018 002CEF58 80 6D 8E 48 */ lwz r3, lbl_804513C8-_SDA_BASE_(r13) +/* 802D2018 002CEF58 80 6D 8E 48 */ lwz r3, sAramObject__7JKRAram-_SDA_BASE_(r13) /* 802D201C 002CEF5C 80 63 00 2C */ lwz r3, 0x2c(r3) /* 802D2020 002CEF60 48 06 F7 95 */ bl OSResumeThread -/* 802D2024 002CEF64 80 6D 8E 48 */ lwz r3, lbl_804513C8-_SDA_BASE_(r13) +/* 802D2024 002CEF64 80 6D 8E 48 */ lwz r3, sAramObject__7JKRAram-_SDA_BASE_(r13) /* 802D2028 002CEF68 39 61 00 20 */ addi r11, r1, 0x20 /* 802D202C 002CEF6C 48 09 01 F5 */ bl _restgpr_27 /* 802D2030 002CEF70 80 01 00 24 */ lwz r0, 0x24(r1) diff --git a/include/JSystem/JKernel/JKRAram/asm/func_802D2040.s b/include/JSystem/JKernel/JKRAram/asm/func_802D2040.s index 50ff23d956e..098cab30847 100644 --- a/include/JSystem/JKernel/JKRAram/asm/func_802D2040.s +++ b/include/JSystem/JKernel/JKRAram/asm/func_802D2040.s @@ -54,7 +54,7 @@ lbl_802D20FC: /* 802D2100 002CF040 90 1C 00 8C */ stw r0, 0x8c(r28) lbl_802D2104: /* 802D2104 002CF044 38 60 00 44 */ li r3, 0x44 -/* 802D2108 002CF048 80 8D 8D F0 */ lwz r4, lbl_80451370-_SDA_BASE_(r13) +/* 802D2108 002CF048 80 8D 8D F0 */ lwz r4, sSystemHeap__7JKRHeap-_SDA_BASE_(r13) /* 802D210C 002CF04C 38 A0 00 00 */ li r5, 0 /* 802D2110 002CF050 4B FF CB 89 */ bl __nw__FUlP7JKRHeapi /* 802D2114 002CF054 7C 60 1B 79 */ or. r0, r3, r3 diff --git a/include/JSystem/JKernel/JKRAram/asm/func_802D214C.s b/include/JSystem/JKernel/JKRAram/asm/func_802D214C.s index b2529a2dc4b..8286c0f646b 100644 --- a/include/JSystem/JKernel/JKRAram/asm/func_802D214C.s +++ b/include/JSystem/JKernel/JKRAram/asm/func_802D214C.s @@ -12,7 +12,7 @@ /* 802D2170 002CF0B0 38 03 C1 58 */ addi r0, r3, lbl_803CC158@l /* 802D2174 002CF0B4 90 1E 00 00 */ stw r0, 0(r30) /* 802D2178 002CF0B8 38 00 00 00 */ li r0, 0 -/* 802D217C 002CF0BC 90 0D 8E 48 */ stw r0, lbl_804513C8-_SDA_BASE_(r13) +/* 802D217C 002CF0BC 90 0D 8E 48 */ stw r0, sAramObject__7JKRAram-_SDA_BASE_(r13) /* 802D2180 002CF0C0 80 7E 00 94 */ lwz r3, 0x94(r30) /* 802D2184 002CF0C4 28 03 00 00 */ cmplwi r3, 0 /* 802D2188 002CF0C8 41 82 00 1C */ beq lbl_802D21A4 diff --git a/include/JSystem/JKernel/JKRAram/asm/func_802D21DC.s b/include/JSystem/JKernel/JKRAram/asm/func_802D21DC.s index 618d7471b9f..f7080d48148 100644 --- a/include/JSystem/JKernel/JKRAram/asm/func_802D21DC.s +++ b/include/JSystem/JKernel/JKRAram/asm/func_802D21DC.s @@ -5,14 +5,14 @@ /* 802D21E4 002CF124 90 01 00 24 */ stw r0, 0x24(r1) /* 802D21E8 002CF128 39 61 00 20 */ addi r11, r1, 0x20 /* 802D21EC 002CF12C 48 08 FF F1 */ bl _savegpr_29 -/* 802D21F0 002CF130 3C 60 80 3D */ lis r3, lbl_803CC138@ha -/* 802D21F4 002CF134 38 63 C1 38 */ addi r3, r3, lbl_803CC138@l -/* 802D21F8 002CF138 3C 80 80 3D */ lis r4, lbl_803CC128@ha -/* 802D21FC 002CF13C 38 84 C1 28 */ addi r4, r4, lbl_803CC128@l +/* 802D21F0 002CF130 3C 60 80 3D */ lis r3, sMessageQueue__7JKRAram@ha +/* 802D21F4 002CF134 38 63 C1 38 */ addi r3, r3, sMessageQueue__7JKRAram@l +/* 802D21F8 002CF138 3C 80 80 3D */ lis r4, sMessageBuffer__7JKRAram@ha +/* 802D21FC 002CF13C 38 84 C1 28 */ addi r4, r4, sMessageBuffer__7JKRAram@l /* 802D2200 002CF140 38 A0 00 04 */ li r5, 4 /* 802D2204 002CF144 48 06 C7 91 */ bl OSInitMessageQueue -/* 802D2208 002CF148 3C 60 80 3D */ lis r3, lbl_803CC138@ha -/* 802D220C 002CF14C 3B E3 C1 38 */ addi r31, r3, lbl_803CC138@l +/* 802D2208 002CF148 3C 60 80 3D */ lis r3, sMessageQueue__7JKRAram@ha +/* 802D220C 002CF14C 3B E3 C1 38 */ addi r31, r3, sMessageQueue__7JKRAram@l lbl_802D2210: /* 802D2210 002CF150 7F E3 FB 78 */ mr r3, r31 /* 802D2214 002CF154 38 81 00 08 */ addi r4, r1, 8 diff --git a/include/JSystem/JKernel/JKRAram/asm/func_802D22DC.s b/include/JSystem/JKernel/JKRAram/asm/func_802D22DC.s index e32a9b73a4a..00602c7bbe5 100644 --- a/include/JSystem/JKernel/JKRAram/asm/func_802D22DC.s +++ b/include/JSystem/JKernel/JKRAram/asm/func_802D22DC.s @@ -7,7 +7,7 @@ /* 802D22EC 002CF22C 93 C1 00 08 */ stw r30, 8(r1) /* 802D22F0 002CF230 7C 7E 1B 78 */ mr r30, r3 /* 802D22F4 002CF234 7C 9F 23 78 */ mr r31, r4 -/* 802D22F8 002CF238 80 6D 8D F4 */ lwz r3, lbl_80451374-_SDA_BASE_(r13) +/* 802D22F8 002CF238 80 6D 8D F4 */ lwz r3, sCurrentHeap__7JKRHeap-_SDA_BASE_(r13) /* 802D22FC 002CF23C 81 83 00 00 */ lwz r12, 0(r3) /* 802D2300 002CF240 81 8C 00 10 */ lwz r12, 0x10(r12) /* 802D2304 002CF244 7D 89 03 A6 */ mtctr r12 diff --git a/include/JSystem/JKernel/JKRAram/asm/func_802D233C.s b/include/JSystem/JKernel/JKRAram/asm/func_802D233C.s index 9addc12d7ab..aebcec48d0c 100644 --- a/include/JSystem/JKernel/JKRAram/asm/func_802D233C.s +++ b/include/JSystem/JKernel/JKRAram/asm/func_802D233C.s @@ -48,7 +48,7 @@ lbl_802D23DC: lbl_802D23E4: /* 802D23E4 002CF324 28 18 00 00 */ cmplwi r24, 0 /* 802D23E8 002CF328 40 82 00 50 */ bne lbl_802D2438 -/* 802D23EC 002CF32C 80 6D 8E 48 */ lwz r3, lbl_804513C8-_SDA_BASE_(r13) +/* 802D23EC 002CF32C 80 6D 8E 48 */ lwz r3, sAramObject__7JKRAram-_SDA_BASE_(r13) /* 802D23F0 002CF330 80 63 00 94 */ lwz r3, 0x94(r3) /* 802D23F4 002CF334 7F 24 CB 78 */ mr r4, r25 /* 802D23F8 002CF338 38 A0 00 00 */ li r5, 0 @@ -61,7 +61,7 @@ lbl_802D23E4: lbl_802D2414: /* 802D2414 002CF354 2C 1B 00 00 */ cmpwi r27, 0 /* 802D2418 002CF358 40 80 00 14 */ bge lbl_802D242C -/* 802D241C 002CF35C 80 8D 8E 48 */ lwz r4, lbl_804513C8-_SDA_BASE_(r13) +/* 802D241C 002CF35C 80 8D 8E 48 */ lwz r4, sAramObject__7JKRAram-_SDA_BASE_(r13) /* 802D2420 002CF360 80 84 00 94 */ lwz r4, 0x94(r4) /* 802D2424 002CF364 88 04 00 40 */ lbz r0, 0x40(r4) /* 802D2428 002CF368 48 00 00 08 */ b lbl_802D2430 @@ -136,7 +136,7 @@ lbl_802D24FC: lbl_802D2510: /* 802D2510 002CF450 28 18 00 00 */ cmplwi r24, 0 /* 802D2514 002CF454 40 82 00 50 */ bne lbl_802D2564 -/* 802D2518 002CF458 80 6D 8E 48 */ lwz r3, lbl_804513C8-_SDA_BASE_(r13) +/* 802D2518 002CF458 80 6D 8E 48 */ lwz r3, sAramObject__7JKRAram-_SDA_BASE_(r13) /* 802D251C 002CF45C 80 63 00 94 */ lwz r3, 0x94(r3) /* 802D2520 002CF460 7F E4 FB 78 */ mr r4, r31 /* 802D2524 002CF464 38 A0 00 00 */ li r5, 0 @@ -144,7 +144,7 @@ lbl_802D2510: /* 802D252C 002CF46C 7C 7D 1B 78 */ mr r29, r3 /* 802D2530 002CF470 2C 1B 00 00 */ cmpwi r27, 0 /* 802D2534 002CF474 40 80 00 14 */ bge lbl_802D2548 -/* 802D2538 002CF478 80 8D 8E 48 */ lwz r4, lbl_804513C8-_SDA_BASE_(r13) +/* 802D2538 002CF478 80 8D 8E 48 */ lwz r4, sAramObject__7JKRAram-_SDA_BASE_(r13) /* 802D253C 002CF47C 80 84 00 94 */ lwz r4, 0x94(r4) /* 802D2540 002CF480 88 04 00 40 */ lbz r0, 0x40(r4) /* 802D2544 002CF484 48 00 00 08 */ b lbl_802D254C diff --git a/include/JSystem/JKernel/JKRAram/asm/func_802D2830.s b/include/JSystem/JKernel/JKRAram/asm/func_802D2830.s index 9e50333fa42..50de96e106c 100644 --- a/include/JSystem/JKernel/JKRAram/asm/func_802D2830.s +++ b/include/JSystem/JKernel/JKRAram/asm/func_802D2830.s @@ -27,66 +27,66 @@ lbl_802D2884: /* 802D288C 002CF7CC 3C 60 80 43 */ lis r3, lbl_804342E8@ha /* 802D2890 002CF7D0 38 63 42 E8 */ addi r3, r3, lbl_804342E8@l /* 802D2894 002CF7D4 48 06 C7 AD */ bl OSLockMutex -/* 802D2898 002CF7D8 83 2D 83 38 */ lwz r25, lbl_804508B8-_SDA_BASE_(r13) -/* 802D289C 002CF7DC 80 6D 8D F0 */ lwz r3, lbl_80451370-_SDA_BASE_(r13) +/* 802D2898 002CF7D8 83 2D 83 38 */ lwz r25, sSZSBufferSize__7JKRAram-_SDA_BASE_(r13) +/* 802D289C 002CF7DC 80 6D 8D F0 */ lwz r3, sSystemHeap__7JKRHeap-_SDA_BASE_(r13) /* 802D28A0 002CF7E0 7F 24 CB 78 */ mr r4, r25 /* 802D28A4 002CF7E4 38 A0 00 20 */ li r5, 0x20 /* 802D28A8 002CF7E8 4B FF BC 2D */ bl alloc__7JKRHeapFUli -/* 802D28AC 002CF7EC 90 6D 8E 4C */ stw r3, lbl_804513CC-_SDA_BASE_(r13) +/* 802D28AC 002CF7EC 90 6D 8E 4C */ stw r3, JKRAram__szpBuf-_SDA_BASE_(r13) /* 802D28B0 002CF7F0 7C 03 CA 14 */ add r0, r3, r25 -/* 802D28B4 002CF7F4 90 0D 8E 50 */ stw r0, lbl_804513D0-_SDA_BASE_(r13) +/* 802D28B4 002CF7F4 90 0D 8E 50 */ stw r0, JKRAram__szpEnd-_SDA_BASE_(r13) /* 802D28B8 002CF7F8 28 1E 00 00 */ cmplwi r30, 0 /* 802D28BC 002CF7FC 41 82 00 28 */ beq lbl_802D28E4 -/* 802D28C0 002CF800 80 6D 8D F0 */ lwz r3, lbl_80451370-_SDA_BASE_(r13) +/* 802D28C0 002CF800 80 6D 8D F0 */ lwz r3, sSystemHeap__7JKRHeap-_SDA_BASE_(r13) /* 802D28C4 002CF804 38 80 11 20 */ li r4, 0x1120 /* 802D28C8 002CF808 38 A0 00 00 */ li r5, 0 /* 802D28CC 002CF80C 4B FF BC 09 */ bl alloc__7JKRHeapFUli -/* 802D28D0 002CF810 90 6D 8E 54 */ stw r3, lbl_804513D4-_SDA_BASE_(r13) +/* 802D28D0 002CF810 90 6D 8E 54 */ stw r3, JKRAram__refBuf-_SDA_BASE_(r13) /* 802D28D4 002CF814 38 03 11 20 */ addi r0, r3, 0x1120 -/* 802D28D8 002CF818 90 0D 8E 58 */ stw r0, lbl_804513D8-_SDA_BASE_(r13) -/* 802D28DC 002CF81C 90 6D 8E 5C */ stw r3, lbl_804513DC-_SDA_BASE_(r13) +/* 802D28D8 002CF818 90 0D 8E 58 */ stw r0, JKRAram__refEnd-_SDA_BASE_(r13) +/* 802D28DC 002CF81C 90 6D 8E 5C */ stw r3, JKRAram__refCurrent-_SDA_BASE_(r13) /* 802D28E0 002CF820 48 00 00 0C */ b lbl_802D28EC lbl_802D28E4: /* 802D28E4 002CF824 38 00 00 00 */ li r0, 0 -/* 802D28E8 002CF828 90 0D 8E 54 */ stw r0, lbl_804513D4-_SDA_BASE_(r13) +/* 802D28E8 002CF828 90 0D 8E 54 */ stw r0, JKRAram__refBuf-_SDA_BASE_(r13) lbl_802D28EC: -/* 802D28EC 002CF82C 93 4D 8E 6C */ stw r26, lbl_804513EC-_SDA_BASE_(r13) +/* 802D28EC 002CF82C 93 4D 8E 6C */ stw r26, JKRAram__srcAddress-_SDA_BASE_(r13) /* 802D28F0 002CF830 38 00 00 00 */ li r0, 0 -/* 802D28F4 002CF834 90 0D 8E 60 */ stw r0, lbl_804513E0-_SDA_BASE_(r13) +/* 802D28F4 002CF834 90 0D 8E 60 */ stw r0, JKRAram__srcOffset-_SDA_BASE_(r13) /* 802D28F8 002CF838 28 1C 00 00 */ cmplwi r28, 0 /* 802D28FC 002CF83C 38 00 FF FF */ li r0, -1 /* 802D2900 002CF840 41 82 00 08 */ beq lbl_802D2908 /* 802D2904 002CF844 7F 80 E3 78 */ mr r0, r28 lbl_802D2908: -/* 802D2908 002CF848 90 0D 8E 64 */ stw r0, lbl_804513E4-_SDA_BASE_(r13) -/* 802D290C 002CF84C 93 CD 8E 70 */ stw r30, lbl_804513F0-_SDA_BASE_(r13) +/* 802D2908 002CF848 90 0D 8E 64 */ stw r0, JKRAram__transLeft-_SDA_BASE_(r13) +/* 802D290C 002CF84C 93 CD 8E 70 */ stw r30, JKRAram__fileOffset-_SDA_BASE_(r13) /* 802D2910 002CF850 38 00 00 00 */ li r0, 0 -/* 802D2914 002CF854 90 0D 8E 74 */ stw r0, lbl_804513F4-_SDA_BASE_(r13) -/* 802D2918 002CF858 93 AD 8E 78 */ stw r29, lbl_804513F8-_SDA_BASE_(r13) +/* 802D2914 002CF854 90 0D 8E 74 */ stw r0, JKRAram__readCount-_SDA_BASE_(r13) +/* 802D2918 002CF858 93 AD 8E 78 */ stw r29, JKRAram__maxDest-_SDA_BASE_(r13) /* 802D291C 002CF85C 28 1F 00 00 */ cmplwi r31, 0 /* 802D2920 002CF860 41 82 00 0C */ beq lbl_802D292C /* 802D2924 002CF864 7F E3 FB 78 */ mr r3, r31 /* 802D2928 002CF868 48 00 00 08 */ b lbl_802D2930 lbl_802D292C: -/* 802D292C 002CF86C 38 6D 8E 84 */ addi r3, r13, 0x80451404-0x80458580 /* lbl_80451404-_SDA_BASE_ */ +/* 802D292C 002CF86C 38 6D 8E 84 */ addi r3, r13, 0x80451404-0x80458580 /* JKRAram__tsArea-_SDA_BASE_ */ lbl_802D2930: -/* 802D2930 002CF870 90 6D 8E 80 */ stw r3, lbl_80451400-_SDA_BASE_(r13) +/* 802D2930 002CF870 90 6D 8E 80 */ stw r3, JKRAram__tsPtr-_SDA_BASE_(r13) /* 802D2934 002CF874 38 00 00 00 */ li r0, 0 /* 802D2938 002CF878 90 03 00 00 */ stw r0, 0(r3) /* 802D293C 002CF87C 48 00 03 05 */ bl firstSrcData__Fv /* 802D2940 002CF880 7F 64 DB 78 */ mr r4, r27 /* 802D2944 002CF884 48 00 00 5D */ bl decompSZS_subroutine__FPUcPUc -/* 802D2948 002CF888 80 6D 8E 4C */ lwz r3, lbl_804513CC-_SDA_BASE_(r13) +/* 802D2948 002CF888 80 6D 8E 4C */ lwz r3, JKRAram__szpBuf-_SDA_BASE_(r13) /* 802D294C 002CF88C 38 80 00 00 */ li r4, 0 /* 802D2950 002CF890 4B FF BB B1 */ bl free__7JKRHeapFPvP7JKRHeap -/* 802D2954 002CF894 80 6D 8E 54 */ lwz r3, lbl_804513D4-_SDA_BASE_(r13) +/* 802D2954 002CF894 80 6D 8E 54 */ lwz r3, JKRAram__refBuf-_SDA_BASE_(r13) /* 802D2958 002CF898 28 03 00 00 */ cmplwi r3, 0 /* 802D295C 002CF89C 41 82 00 0C */ beq lbl_802D2968 /* 802D2960 002CF8A0 38 80 00 00 */ li r4, 0 /* 802D2964 002CF8A4 4B FF BB 9D */ bl free__7JKRHeapFPvP7JKRHeap lbl_802D2968: /* 802D2968 002CF8A8 7F 63 DB 78 */ mr r3, r27 -/* 802D296C 002CF8AC 80 8D 8E 80 */ lwz r4, lbl_80451400-_SDA_BASE_(r13) +/* 802D296C 002CF8AC 80 8D 8E 80 */ lwz r4, JKRAram__tsPtr-_SDA_BASE_(r13) /* 802D2970 002CF8B0 80 84 00 00 */ lwz r4, 0(r4) /* 802D2974 002CF8B4 48 06 8C C5 */ bl DCStoreRangeNoSync /* 802D2978 002CF8B8 3C 60 80 43 */ lis r3, lbl_804342E8@ha diff --git a/include/JSystem/JKernel/JKRAram/asm/func_802D29A0.s b/include/JSystem/JKernel/JKRAram/asm/func_802D29A0.s index 04e3d2a65bf..baf6d4c87fe 100644 --- a/include/JSystem/JKernel/JKRAram/asm/func_802D29A0.s +++ b/include/JSystem/JKernel/JKRAram/asm/func_802D29A0.s @@ -25,11 +25,11 @@ lbl_802D29F4: /* 802D29F4 002CF934 38 60 FF FF */ li r3, -1 /* 802D29F8 002CF938 48 00 02 30 */ b lbl_802D2C28 lbl_802D29FC: -/* 802D29FC 002CF93C 80 CD 8E 70 */ lwz r6, lbl_804513F0-_SDA_BASE_(r13) +/* 802D29FC 002CF93C 80 CD 8E 70 */ lwz r6, JKRAram__fileOffset-_SDA_BASE_(r13) /* 802D2A00 002CF940 80 A3 00 04 */ lwz r5, 4(r3) /* 802D2A04 002CF944 7C A6 28 50 */ subf r5, r6, r5 /* 802D2A08 002CF948 7F FD 2A 14 */ add r31, r29, r5 -/* 802D2A0C 002CF94C 80 AD 8E 78 */ lwz r5, lbl_804513F8-_SDA_BASE_(r13) +/* 802D2A0C 002CF94C 80 AD 8E 78 */ lwz r5, JKRAram__maxDest-_SDA_BASE_(r13) /* 802D2A10 002CF950 7C BD 2A 14 */ add r5, r29, r5 /* 802D2A14 002CF954 7C 1F 28 40 */ cmplw r31, r5 /* 802D2A18 002CF958 40 81 00 08 */ ble lbl_802D2A20 @@ -39,10 +39,10 @@ lbl_802D2A20: lbl_802D2A24: /* 802D2A24 002CF964 2C 04 00 00 */ cmpwi r4, 0 /* 802D2A28 002CF968 40 82 00 2C */ bne lbl_802D2A54 -/* 802D2A2C 002CF96C 80 0D 8E 68 */ lwz r0, lbl_804513E8-_SDA_BASE_(r13) +/* 802D2A2C 002CF96C 80 0D 8E 68 */ lwz r0, JKRAram__srcLimit-_SDA_BASE_(r13) /* 802D2A30 002CF970 7C 03 00 40 */ cmplw r3, r0 /* 802D2A34 002CF974 40 81 00 14 */ ble lbl_802D2A48 -/* 802D2A38 002CF978 80 0D 8E 64 */ lwz r0, lbl_804513E4-_SDA_BASE_(r13) +/* 802D2A38 002CF978 80 0D 8E 64 */ lwz r0, JKRAram__transLeft-_SDA_BASE_(r13) /* 802D2A3C 002CF97C 28 00 00 00 */ cmplwi r0, 0 /* 802D2A40 002CF980 41 82 00 08 */ beq lbl_802D2A48 /* 802D2A44 002CF984 48 00 02 A1 */ bl nextSrcData__FPUc @@ -53,10 +53,10 @@ lbl_802D2A48: lbl_802D2A54: /* 802D2A54 002CF994 54 05 06 31 */ rlwinm. r5, r0, 0, 0x18, 0x18 /* 802D2A58 002CF998 41 82 00 94 */ beq lbl_802D2AEC -/* 802D2A5C 002CF99C 80 CD 8E 70 */ lwz r6, lbl_804513F0-_SDA_BASE_(r13) +/* 802D2A5C 002CF99C 80 CD 8E 70 */ lwz r6, JKRAram__fileOffset-_SDA_BASE_(r13) /* 802D2A60 002CF9A0 28 06 00 00 */ cmplwi r6, 0 /* 802D2A64 002CF9A4 41 82 00 5C */ beq lbl_802D2AC0 -/* 802D2A68 002CF9A8 80 AD 8E 74 */ lwz r5, lbl_804513F4-_SDA_BASE_(r13) +/* 802D2A68 002CF9A8 80 AD 8E 74 */ lwz r5, JKRAram__readCount-_SDA_BASE_(r13) /* 802D2A6C 002CF9AC 7C 05 30 40 */ cmplw r5, r6 /* 802D2A70 002CF9B0 41 80 00 1C */ blt lbl_802D2A8C /* 802D2A74 002CF9B4 88 A3 00 00 */ lbz r5, 0(r3) @@ -67,16 +67,16 @@ lbl_802D2A54: /* 802D2A88 002CF9C8 41 82 01 94 */ beq lbl_802D2C1C lbl_802D2A8C: /* 802D2A8C 002CF9CC 88 E3 00 00 */ lbz r7, 0(r3) -/* 802D2A90 002CF9D0 80 CD 8E 5C */ lwz r6, lbl_804513DC-_SDA_BASE_(r13) +/* 802D2A90 002CF9D0 80 CD 8E 5C */ lwz r6, JKRAram__refCurrent-_SDA_BASE_(r13) /* 802D2A94 002CF9D4 38 A6 00 01 */ addi r5, r6, 1 -/* 802D2A98 002CF9D8 90 AD 8E 5C */ stw r5, lbl_804513DC-_SDA_BASE_(r13) +/* 802D2A98 002CF9D8 90 AD 8E 5C */ stw r5, JKRAram__refCurrent-_SDA_BASE_(r13) /* 802D2A9C 002CF9DC 98 E6 00 00 */ stb r7, 0(r6) -/* 802D2AA0 002CF9E0 80 CD 8E 5C */ lwz r6, lbl_804513DC-_SDA_BASE_(r13) -/* 802D2AA4 002CF9E4 80 AD 8E 58 */ lwz r5, lbl_804513D8-_SDA_BASE_(r13) +/* 802D2AA0 002CF9E0 80 CD 8E 5C */ lwz r6, JKRAram__refCurrent-_SDA_BASE_(r13) +/* 802D2AA4 002CF9E4 80 AD 8E 58 */ lwz r5, JKRAram__refEnd-_SDA_BASE_(r13) /* 802D2AA8 002CF9E8 7C 06 28 40 */ cmplw r6, r5 /* 802D2AAC 002CF9EC 40 82 00 0C */ bne lbl_802D2AB8 -/* 802D2AB0 002CF9F0 80 AD 8E 54 */ lwz r5, lbl_804513D4-_SDA_BASE_(r13) -/* 802D2AB4 002CF9F4 90 AD 8E 5C */ stw r5, lbl_804513DC-_SDA_BASE_(r13) +/* 802D2AB0 002CF9F0 80 AD 8E 54 */ lwz r5, JKRAram__refBuf-_SDA_BASE_(r13) +/* 802D2AB4 002CF9F4 90 AD 8E 5C */ stw r5, JKRAram__refCurrent-_SDA_BASE_(r13) lbl_802D2AB8: /* 802D2AB8 002CF9F8 38 63 00 01 */ addi r3, r3, 1 /* 802D2ABC 002CF9FC 48 00 00 20 */ b lbl_802D2ADC @@ -89,26 +89,26 @@ lbl_802D2AC0: /* 802D2AD4 002CFA14 3B DE 00 01 */ addi r30, r30, 1 /* 802D2AD8 002CFA18 41 82 01 44 */ beq lbl_802D2C1C lbl_802D2ADC: -/* 802D2ADC 002CFA1C 80 AD 8E 74 */ lwz r5, lbl_804513F4-_SDA_BASE_(r13) +/* 802D2ADC 002CFA1C 80 AD 8E 74 */ lwz r5, JKRAram__readCount-_SDA_BASE_(r13) /* 802D2AE0 002CFA20 38 A5 00 01 */ addi r5, r5, 1 -/* 802D2AE4 002CFA24 90 AD 8E 74 */ stw r5, lbl_804513F4-_SDA_BASE_(r13) +/* 802D2AE4 002CFA24 90 AD 8E 74 */ stw r5, JKRAram__readCount-_SDA_BASE_(r13) /* 802D2AE8 002CFA28 48 00 01 24 */ b lbl_802D2C0C lbl_802D2AEC: /* 802D2AEC 002CFA2C 88 C3 00 00 */ lbz r6, 0(r3) /* 802D2AF0 002CFA30 88 E3 00 01 */ lbz r7, 1(r3) /* 802D2AF4 002CFA34 50 C7 45 2E */ rlwimi r7, r6, 8, 0x14, 0x17 /* 802D2AF8 002CFA38 7C C5 26 70 */ srawi r5, r6, 4 -/* 802D2AFC 002CFA3C 81 0D 8E 70 */ lwz r8, lbl_804513F0-_SDA_BASE_(r13) +/* 802D2AFC 002CFA3C 81 0D 8E 70 */ lwz r8, JKRAram__fileOffset-_SDA_BASE_(r13) /* 802D2B00 002CFA40 28 08 00 00 */ cmplwi r8, 0 /* 802D2B04 002CFA44 38 63 00 02 */ addi r3, r3, 2 /* 802D2B08 002CFA48 41 82 00 2C */ beq lbl_802D2B34 -/* 802D2B0C 002CFA4C 80 CD 8E 5C */ lwz r6, lbl_804513DC-_SDA_BASE_(r13) +/* 802D2B0C 002CFA4C 80 CD 8E 5C */ lwz r6, JKRAram__refCurrent-_SDA_BASE_(r13) /* 802D2B10 002CFA50 7C C7 30 50 */ subf r6, r7, r6 /* 802D2B14 002CFA54 39 26 FF FF */ addi r9, r6, -1 -/* 802D2B18 002CFA58 80 ED 8E 54 */ lwz r7, lbl_804513D4-_SDA_BASE_(r13) +/* 802D2B18 002CFA58 80 ED 8E 54 */ lwz r7, JKRAram__refBuf-_SDA_BASE_(r13) /* 802D2B1C 002CFA5C 7C 09 38 40 */ cmplw r9, r7 /* 802D2B20 002CFA60 40 80 00 1C */ bge lbl_802D2B3C -/* 802D2B24 002CFA64 80 CD 8E 58 */ lwz r6, lbl_804513D8-_SDA_BASE_(r13) +/* 802D2B24 002CFA64 80 CD 8E 58 */ lwz r6, JKRAram__refEnd-_SDA_BASE_(r13) /* 802D2B28 002CFA68 7C C7 30 50 */ subf r6, r7, r6 /* 802D2B2C 002CFA6C 7D 29 32 14 */ add r9, r9, r6 /* 802D2B30 002CFA70 48 00 00 0C */ b lbl_802D2B3C @@ -128,8 +128,8 @@ lbl_802D2B58: /* 802D2B58 002CFA98 28 08 00 00 */ cmplwi r8, 0 /* 802D2B5C 002CFA9C 41 82 00 80 */ beq lbl_802D2BDC lbl_802D2B60: -/* 802D2B60 002CFAA0 80 ED 8E 74 */ lwz r7, lbl_804513F4-_SDA_BASE_(r13) -/* 802D2B64 002CFAA4 80 CD 8E 70 */ lwz r6, lbl_804513F0-_SDA_BASE_(r13) +/* 802D2B60 002CFAA0 80 ED 8E 74 */ lwz r7, JKRAram__readCount-_SDA_BASE_(r13) +/* 802D2B64 002CFAA4 80 CD 8E 70 */ lwz r6, JKRAram__fileOffset-_SDA_BASE_(r13) /* 802D2B68 002CFAA8 7C 07 30 40 */ cmplw r7, r6 /* 802D2B6C 002CFAAC 41 80 00 1C */ blt lbl_802D2B88 /* 802D2B70 002CFAB0 88 C9 00 00 */ lbz r6, 0(r9) @@ -140,25 +140,25 @@ lbl_802D2B60: /* 802D2B84 002CFAC4 41 82 00 88 */ beq lbl_802D2C0C lbl_802D2B88: /* 802D2B88 002CFAC8 89 09 00 00 */ lbz r8, 0(r9) -/* 802D2B8C 002CFACC 80 ED 8E 5C */ lwz r7, lbl_804513DC-_SDA_BASE_(r13) +/* 802D2B8C 002CFACC 80 ED 8E 5C */ lwz r7, JKRAram__refCurrent-_SDA_BASE_(r13) /* 802D2B90 002CFAD0 38 C7 00 01 */ addi r6, r7, 1 -/* 802D2B94 002CFAD4 90 CD 8E 5C */ stw r6, lbl_804513DC-_SDA_BASE_(r13) +/* 802D2B94 002CFAD4 90 CD 8E 5C */ stw r6, JKRAram__refCurrent-_SDA_BASE_(r13) /* 802D2B98 002CFAD8 99 07 00 00 */ stb r8, 0(r7) -/* 802D2B9C 002CFADC 80 CD 8E 5C */ lwz r6, lbl_804513DC-_SDA_BASE_(r13) -/* 802D2BA0 002CFAE0 80 ED 8E 58 */ lwz r7, lbl_804513D8-_SDA_BASE_(r13) +/* 802D2B9C 002CFADC 80 CD 8E 5C */ lwz r6, JKRAram__refCurrent-_SDA_BASE_(r13) +/* 802D2BA0 002CFAE0 80 ED 8E 58 */ lwz r7, JKRAram__refEnd-_SDA_BASE_(r13) /* 802D2BA4 002CFAE4 7C 06 38 40 */ cmplw r6, r7 /* 802D2BA8 002CFAE8 40 82 00 0C */ bne lbl_802D2BB4 -/* 802D2BAC 002CFAEC 80 CD 8E 54 */ lwz r6, lbl_804513D4-_SDA_BASE_(r13) -/* 802D2BB0 002CFAF0 90 CD 8E 5C */ stw r6, lbl_804513DC-_SDA_BASE_(r13) +/* 802D2BAC 002CFAEC 80 CD 8E 54 */ lwz r6, JKRAram__refBuf-_SDA_BASE_(r13) +/* 802D2BB0 002CFAF0 90 CD 8E 5C */ stw r6, JKRAram__refCurrent-_SDA_BASE_(r13) lbl_802D2BB4: /* 802D2BB4 002CFAF4 39 29 00 01 */ addi r9, r9, 1 /* 802D2BB8 002CFAF8 7C 09 38 40 */ cmplw r9, r7 /* 802D2BBC 002CFAFC 40 82 00 08 */ bne lbl_802D2BC4 -/* 802D2BC0 002CFB00 81 2D 8E 54 */ lwz r9, lbl_804513D4-_SDA_BASE_(r13) +/* 802D2BC0 002CFB00 81 2D 8E 54 */ lwz r9, JKRAram__refBuf-_SDA_BASE_(r13) lbl_802D2BC4: -/* 802D2BC4 002CFB04 80 CD 8E 74 */ lwz r6, lbl_804513F4-_SDA_BASE_(r13) +/* 802D2BC4 002CFB04 80 CD 8E 74 */ lwz r6, JKRAram__readCount-_SDA_BASE_(r13) /* 802D2BC8 002CFB08 38 C6 00 01 */ addi r6, r6, 1 -/* 802D2BCC 002CFB0C 90 CD 8E 74 */ stw r6, lbl_804513F4-_SDA_BASE_(r13) +/* 802D2BCC 002CFB0C 90 CD 8E 74 */ stw r6, JKRAram__readCount-_SDA_BASE_(r13) /* 802D2BD0 002CFB10 34 A5 FF FF */ addic. r5, r5, -1 /* 802D2BD4 002CFB14 40 82 FF 8C */ bne lbl_802D2B60 /* 802D2BD8 002CFB18 48 00 00 34 */ b lbl_802D2C0C @@ -169,9 +169,9 @@ lbl_802D2BDC: /* 802D2BE8 002CFB28 7C 1D F8 40 */ cmplw r29, r31 /* 802D2BEC 002CFB2C 3B DE 00 01 */ addi r30, r30, 1 /* 802D2BF0 002CFB30 41 82 00 1C */ beq lbl_802D2C0C -/* 802D2BF4 002CFB34 80 CD 8E 74 */ lwz r6, lbl_804513F4-_SDA_BASE_(r13) +/* 802D2BF4 002CFB34 80 CD 8E 74 */ lwz r6, JKRAram__readCount-_SDA_BASE_(r13) /* 802D2BF8 002CFB38 38 C6 00 01 */ addi r6, r6, 1 -/* 802D2BFC 002CFB3C 90 CD 8E 74 */ stw r6, lbl_804513F4-_SDA_BASE_(r13) +/* 802D2BFC 002CFB3C 90 CD 8E 74 */ stw r6, JKRAram__readCount-_SDA_BASE_(r13) /* 802D2C00 002CFB40 34 A5 FF FF */ addic. r5, r5, -1 /* 802D2C04 002CFB44 39 29 00 01 */ addi r9, r9, 1 /* 802D2C08 002CFB48 40 82 FF D4 */ bne lbl_802D2BDC @@ -181,7 +181,7 @@ lbl_802D2C0C: /* 802D2C14 002CFB54 38 84 FF FF */ addi r4, r4, -1 /* 802D2C18 002CFB58 41 80 FE 0C */ blt lbl_802D2A24 lbl_802D2C1C: -/* 802D2C1C 002CFB5C 80 6D 8E 80 */ lwz r3, lbl_80451400-_SDA_BASE_(r13) +/* 802D2C1C 002CFB5C 80 6D 8E 80 */ lwz r3, JKRAram__tsPtr-_SDA_BASE_(r13) /* 802D2C20 002CFB60 93 C3 00 00 */ stw r30, 0(r3) /* 802D2C24 002CFB64 38 60 00 00 */ li r3, 0 lbl_802D2C28: diff --git a/include/JSystem/JKernel/JKRAram/asm/func_802D2C40.s b/include/JSystem/JKernel/JKRAram/asm/func_802D2C40.s index 5bd546ea4e8..f73dfa07ec7 100644 --- a/include/JSystem/JKernel/JKRAram/asm/func_802D2C40.s +++ b/include/JSystem/JKernel/JKRAram/asm/func_802D2C40.s @@ -5,36 +5,36 @@ /* 802D2C48 002CFB88 90 01 00 14 */ stw r0, 0x14(r1) /* 802D2C4C 002CFB8C 93 E1 00 0C */ stw r31, 0xc(r1) /* 802D2C50 002CFB90 93 C1 00 08 */ stw r30, 8(r1) -/* 802D2C54 002CFB94 80 6D 8E 50 */ lwz r3, lbl_804513D0-_SDA_BASE_(r13) +/* 802D2C54 002CFB94 80 6D 8E 50 */ lwz r3, JKRAram__szpEnd-_SDA_BASE_(r13) /* 802D2C58 002CFB98 38 03 FF E7 */ addi r0, r3, -25 -/* 802D2C5C 002CFB9C 90 0D 8E 68 */ stw r0, lbl_804513E8-_SDA_BASE_(r13) -/* 802D2C60 002CFBA0 80 0D 8E 4C */ lwz r0, lbl_804513CC-_SDA_BASE_(r13) +/* 802D2C5C 002CFB9C 90 0D 8E 68 */ stw r0, JKRAram__srcLimit-_SDA_BASE_(r13) +/* 802D2C60 002CFBA0 80 0D 8E 4C */ lwz r0, JKRAram__szpBuf-_SDA_BASE_(r13) /* 802D2C64 002CFBA4 7C 1E 03 78 */ mr r30, r0 /* 802D2C68 002CFBA8 7C 60 18 50 */ subf r3, r0, r3 -/* 802D2C6C 002CFBAC 80 0D 8E 64 */ lwz r0, lbl_804513E4-_SDA_BASE_(r13) +/* 802D2C6C 002CFBAC 80 0D 8E 64 */ lwz r0, JKRAram__transLeft-_SDA_BASE_(r13) /* 802D2C70 002CFBB0 7C 00 18 40 */ cmplw r0, r3 /* 802D2C74 002CFBB4 7C 7F 1B 78 */ mr r31, r3 /* 802D2C78 002CFBB8 40 80 00 08 */ bge lbl_802D2C80 /* 802D2C7C 002CFBBC 7C 1F 03 78 */ mr r31, r0 lbl_802D2C80: /* 802D2C80 002CFBC0 38 60 00 01 */ li r3, 1 -/* 802D2C84 002CFBC4 80 8D 8E 6C */ lwz r4, lbl_804513EC-_SDA_BASE_(r13) -/* 802D2C88 002CFBC8 80 0D 8E 60 */ lwz r0, lbl_804513E0-_SDA_BASE_(r13) +/* 802D2C84 002CFBC4 80 8D 8E 6C */ lwz r4, JKRAram__srcAddress-_SDA_BASE_(r13) +/* 802D2C88 002CFBC8 80 0D 8E 60 */ lwz r0, JKRAram__srcOffset-_SDA_BASE_(r13) /* 802D2C8C 002CFBCC 7C 84 02 14 */ add r4, r4, r0 /* 802D2C90 002CFBD0 7F C5 F3 78 */ mr r5, r30 /* 802D2C94 002CFBD4 38 1F 00 1F */ addi r0, r31, 0x1f /* 802D2C98 002CFBD8 54 06 00 34 */ rlwinm r6, r0, 0, 0, 0x1a /* 802D2C9C 002CFBDC 38 E0 00 00 */ li r7, 0 /* 802D2CA0 002CFBE0 48 00 0B 99 */ bl orderSync__12JKRAramPieceFiUlUlUlP12JKRAramBlock -/* 802D2CA4 002CFBE4 80 0D 8E 60 */ lwz r0, lbl_804513E0-_SDA_BASE_(r13) +/* 802D2CA4 002CFBE4 80 0D 8E 60 */ lwz r0, JKRAram__srcOffset-_SDA_BASE_(r13) /* 802D2CA8 002CFBE8 7C 00 FA 14 */ add r0, r0, r31 -/* 802D2CAC 002CFBEC 90 0D 8E 60 */ stw r0, lbl_804513E0-_SDA_BASE_(r13) -/* 802D2CB0 002CFBF0 80 0D 8E 64 */ lwz r0, lbl_804513E4-_SDA_BASE_(r13) +/* 802D2CAC 002CFBEC 90 0D 8E 60 */ stw r0, JKRAram__srcOffset-_SDA_BASE_(r13) +/* 802D2CB0 002CFBF0 80 0D 8E 64 */ lwz r0, JKRAram__transLeft-_SDA_BASE_(r13) /* 802D2CB4 002CFBF4 7C 1F 00 51 */ subf. r0, r31, r0 -/* 802D2CB8 002CFBF8 90 0D 8E 64 */ stw r0, lbl_804513E4-_SDA_BASE_(r13) +/* 802D2CB8 002CFBF8 90 0D 8E 64 */ stw r0, JKRAram__transLeft-_SDA_BASE_(r13) /* 802D2CBC 002CFBFC 40 82 00 0C */ bne lbl_802D2CC8 /* 802D2CC0 002CFC00 7C 1E FA 14 */ add r0, r30, r31 -/* 802D2CC4 002CFC04 90 0D 8E 68 */ stw r0, lbl_804513E8-_SDA_BASE_(r13) +/* 802D2CC4 002CFC04 90 0D 8E 68 */ stw r0, JKRAram__srcLimit-_SDA_BASE_(r13) lbl_802D2CC8: /* 802D2CC8 002CFC08 7F C3 F3 78 */ mr r3, r30 /* 802D2CCC 002CFC0C 83 E1 00 0C */ lwz r31, 0xc(r1) diff --git a/include/JSystem/JKernel/JKRAram/asm/func_802D2CE4.s b/include/JSystem/JKernel/JKRAram/asm/func_802D2CE4.s index a144b1e851f..92c2a1f70ea 100644 --- a/include/JSystem/JKernel/JKRAram/asm/func_802D2CE4.s +++ b/include/JSystem/JKernel/JKRAram/asm/func_802D2CE4.s @@ -6,46 +6,46 @@ /* 802D2CF0 002CFC30 39 61 00 20 */ addi r11, r1, 0x20 /* 802D2CF4 002CFC34 48 08 F4 E5 */ bl _savegpr_28 /* 802D2CF8 002CFC38 7C 64 1B 78 */ mr r4, r3 -/* 802D2CFC 002CFC3C 80 0D 8E 50 */ lwz r0, lbl_804513D0-_SDA_BASE_(r13) +/* 802D2CFC 002CFC3C 80 0D 8E 50 */ lwz r0, JKRAram__szpEnd-_SDA_BASE_(r13) /* 802D2D00 002CFC40 7F A4 00 50 */ subf r29, r4, r0 /* 802D2D04 002CFC44 57 A5 06 FF */ clrlwi. r5, r29, 0x1b /* 802D2D08 002CFC48 41 82 00 14 */ beq lbl_802D2D1C -/* 802D2D0C 002CFC4C 80 6D 8E 4C */ lwz r3, lbl_804513CC-_SDA_BASE_(r13) +/* 802D2D0C 002CFC4C 80 6D 8E 4C */ lwz r3, JKRAram__szpBuf-_SDA_BASE_(r13) /* 802D2D10 002CFC50 38 03 00 20 */ addi r0, r3, 0x20 /* 802D2D14 002CFC54 7F C5 00 50 */ subf r30, r5, r0 /* 802D2D18 002CFC58 48 00 00 08 */ b lbl_802D2D20 lbl_802D2D1C: -/* 802D2D1C 002CFC5C 83 CD 8E 4C */ lwz r30, lbl_804513CC-_SDA_BASE_(r13) +/* 802D2D1C 002CFC5C 83 CD 8E 4C */ lwz r30, JKRAram__szpBuf-_SDA_BASE_(r13) lbl_802D2D20: /* 802D2D20 002CFC60 7F C3 F3 78 */ mr r3, r30 /* 802D2D24 002CFC64 7F A5 EB 78 */ mr r5, r29 /* 802D2D28 002CFC68 4B D3 08 19 */ bl memcpy /* 802D2D2C 002CFC6C 7F FE EA 14 */ add r31, r30, r29 -/* 802D2D30 002CFC70 80 0D 8E 50 */ lwz r0, lbl_804513D0-_SDA_BASE_(r13) +/* 802D2D30 002CFC70 80 0D 8E 50 */ lwz r0, JKRAram__szpEnd-_SDA_BASE_(r13) /* 802D2D34 002CFC74 7F 9F 00 50 */ subf r28, r31, r0 -/* 802D2D38 002CFC78 80 0D 8E 64 */ lwz r0, lbl_804513E4-_SDA_BASE_(r13) +/* 802D2D38 002CFC78 80 0D 8E 64 */ lwz r0, JKRAram__transLeft-_SDA_BASE_(r13) /* 802D2D3C 002CFC7C 7C 1C 00 40 */ cmplw r28, r0 /* 802D2D40 002CFC80 40 81 00 08 */ ble lbl_802D2D48 /* 802D2D44 002CFC84 7C 1C 03 78 */ mr r28, r0 lbl_802D2D48: /* 802D2D48 002CFC88 38 60 00 01 */ li r3, 1 -/* 802D2D4C 002CFC8C 80 8D 8E 6C */ lwz r4, lbl_804513EC-_SDA_BASE_(r13) -/* 802D2D50 002CFC90 80 0D 8E 60 */ lwz r0, lbl_804513E0-_SDA_BASE_(r13) +/* 802D2D4C 002CFC8C 80 8D 8E 6C */ lwz r4, JKRAram__srcAddress-_SDA_BASE_(r13) +/* 802D2D50 002CFC90 80 0D 8E 60 */ lwz r0, JKRAram__srcOffset-_SDA_BASE_(r13) /* 802D2D54 002CFC94 7C 84 02 14 */ add r4, r4, r0 /* 802D2D58 002CFC98 7C BE EA 14 */ add r5, r30, r29 /* 802D2D5C 002CFC9C 38 1C 00 1F */ addi r0, r28, 0x1f /* 802D2D60 002CFCA0 54 06 00 34 */ rlwinm r6, r0, 0, 0, 0x1a /* 802D2D64 002CFCA4 38 E0 00 00 */ li r7, 0 /* 802D2D68 002CFCA8 48 00 0A D1 */ bl orderSync__12JKRAramPieceFiUlUlUlP12JKRAramBlock -/* 802D2D6C 002CFCAC 80 0D 8E 60 */ lwz r0, lbl_804513E0-_SDA_BASE_(r13) +/* 802D2D6C 002CFCAC 80 0D 8E 60 */ lwz r0, JKRAram__srcOffset-_SDA_BASE_(r13) /* 802D2D70 002CFCB0 7C 00 E2 14 */ add r0, r0, r28 -/* 802D2D74 002CFCB4 90 0D 8E 60 */ stw r0, lbl_804513E0-_SDA_BASE_(r13) -/* 802D2D78 002CFCB8 80 0D 8E 64 */ lwz r0, lbl_804513E4-_SDA_BASE_(r13) +/* 802D2D74 002CFCB4 90 0D 8E 60 */ stw r0, JKRAram__srcOffset-_SDA_BASE_(r13) +/* 802D2D78 002CFCB8 80 0D 8E 64 */ lwz r0, JKRAram__transLeft-_SDA_BASE_(r13) /* 802D2D7C 002CFCBC 7C 1C 00 51 */ subf. r0, r28, r0 -/* 802D2D80 002CFCC0 90 0D 8E 64 */ stw r0, lbl_804513E4-_SDA_BASE_(r13) +/* 802D2D80 002CFCC0 90 0D 8E 64 */ stw r0, JKRAram__transLeft-_SDA_BASE_(r13) /* 802D2D84 002CFCC4 40 82 00 0C */ bne lbl_802D2D90 /* 802D2D88 002CFCC8 7C 1F E2 14 */ add r0, r31, r28 -/* 802D2D8C 002CFCCC 90 0D 8E 68 */ stw r0, lbl_804513E8-_SDA_BASE_(r13) +/* 802D2D8C 002CFCCC 90 0D 8E 68 */ stw r0, JKRAram__srcLimit-_SDA_BASE_(r13) lbl_802D2D90: /* 802D2D90 002CFCD0 7F C3 F3 78 */ mr r3, r30 /* 802D2D94 002CFCD4 39 61 00 20 */ addi r11, r1, 0x20 diff --git a/include/JSystem/JKernel/JKRAram/asm/func_802D2DAC.s b/include/JSystem/JKernel/JKRAram/asm/func_802D2DAC.s index 4c7853332bc..6725c28ec26 100644 --- a/include/JSystem/JKernel/JKRAram/asm/func_802D2DAC.s +++ b/include/JSystem/JKernel/JKRAram/asm/func_802D2DAC.s @@ -3,11 +3,11 @@ /* 802D2DAC 002CFCEC 94 21 FF F0 */ stwu r1, -0x10(r1) /* 802D2DB0 002CFCF0 7C 08 02 A6 */ mflr r0 /* 802D2DB4 002CFCF4 90 01 00 14 */ stw r0, 0x14(r1) -/* 802D2DB8 002CFCF8 3C 60 80 43 */ lis r3, lbl_804342DC@ha -/* 802D2DBC 002CFCFC 38 63 42 DC */ addi r3, r3, lbl_804342DC@l +/* 802D2DB8 002CFCF8 3C 60 80 43 */ lis r3, sAramCommandList__7JKRAram@ha +/* 802D2DBC 002CFCFC 38 63 42 DC */ addi r3, r3, sAramCommandList__7JKRAram@l /* 802D2DC0 002CFD00 48 00 91 55 */ bl initiate__10JSUPtrListFv -/* 802D2DC4 002CFD04 3C 60 80 43 */ lis r3, lbl_804342DC@ha -/* 802D2DC8 002CFD08 38 63 42 DC */ addi r3, r3, lbl_804342DC@l +/* 802D2DC4 002CFD04 3C 60 80 43 */ lis r3, sAramCommandList__7JKRAram@ha +/* 802D2DC8 002CFD08 38 63 42 DC */ addi r3, r3, sAramCommandList__7JKRAram@l /* 802D2DCC 002CFD0C 3C 80 80 2D */ lis r4, JSUList_NS_dtor_X4_@ha /* 802D2DD0 002CFD10 38 84 2D F0 */ addi r4, r4, JSUList_NS_dtor_X4_@l /* 802D2DD4 002CFD14 3C A0 80 43 */ lis r5, lbl_804342D0@ha diff --git a/include/JSystem/JKernel/JKRAramArchive/JKRAramArchive.h b/include/JSystem/JKernel/JKRAramArchive/JKRAramArchive.h index 117dcc87c71..b591f8822e9 100644 --- a/include/JSystem/JKernel/JKRAramArchive/JKRAramArchive.h +++ b/include/JSystem/JKernel/JKRAramArchive/JKRAramArchive.h @@ -13,7 +13,7 @@ public: void getAramAddress_Entry(SDIFileEntry*); void getAramAddress(char const*); - /* vt[15] */ u32 getExpandedResSize(const void*) const; /* override */ + /* vt[15] */ u32 getExpandedResSize(const void*); /* override */ /* vt[16] */ void* fetchResource(SDIFileEntry*, u32*); /* override */ /* vt[17] */ void* fetchResource(void*, u32, SDIFileEntry*, u32*); /* override */ diff --git a/include/JSystem/JKernel/JKRAramArchive/asm/func_802D70C0.s b/include/JSystem/JKernel/JKRAramArchive/asm/func_802D70C0.s index 37cfed51c86..723b8e3319e 100644 --- a/include/JSystem/JKernel/JKRAramArchive/asm/func_802D70C0.s +++ b/include/JSystem/JKernel/JKRAramArchive/asm/func_802D70C0.s @@ -30,8 +30,8 @@ lbl_802D7114: /* 802D7128 002D4068 80 03 00 04 */ lwz r0, 4(r3) /* 802D712C 002D406C 7C 04 02 14 */ add r0, r4, r0 /* 802D7130 002D4070 90 1D 00 28 */ stw r0, 0x28(r29) -/* 802D7134 002D4074 3C 60 80 43 */ lis r3, lbl_80434354@ha -/* 802D7138 002D4078 38 63 43 54 */ addi r3, r3, lbl_80434354@l +/* 802D7134 002D4074 3C 60 80 43 */ lis r3, sVolumeList__13JKRFileLoader@ha +/* 802D7138 002D4078 38 63 43 54 */ addi r3, r3, sVolumeList__13JKRFileLoader@l /* 802D713C 002D407C 38 9D 00 18 */ addi r4, r29, 0x18 /* 802D7140 002D4080 48 00 4E B1 */ bl prepend__10JSUPtrListFP10JSUPtrLink /* 802D7144 002D4084 38 00 00 01 */ li r0, 1 diff --git a/include/JSystem/JKernel/JKRAramArchive/asm/func_802D7168.s b/include/JSystem/JKernel/JKRAramArchive/asm/func_802D7168.s index 6623a530ea8..c377c2a2a48 100644 --- a/include/JSystem/JKernel/JKRAramArchive/asm/func_802D7168.s +++ b/include/JSystem/JKernel/JKRAramArchive/asm/func_802D7168.s @@ -67,8 +67,8 @@ lbl_802D7234: /* 802D7250 002D4190 7D 89 03 A6 */ mtctr r12 /* 802D7254 002D4194 4E 80 04 21 */ bctrl lbl_802D7258: -/* 802D7258 002D4198 3C 60 80 43 */ lis r3, lbl_80434354@ha -/* 802D725C 002D419C 38 63 43 54 */ addi r3, r3, lbl_80434354@l +/* 802D7258 002D4198 3C 60 80 43 */ lis r3, sVolumeList__13JKRFileLoader@ha +/* 802D725C 002D419C 38 63 43 54 */ addi r3, r3, sVolumeList__13JKRFileLoader@l /* 802D7260 002D41A0 38 9E 00 18 */ addi r4, r30, 0x18 /* 802D7264 002D41A4 48 00 4E F9 */ bl remove__10JSUPtrListFP10JSUPtrLink /* 802D7268 002D41A8 38 00 00 00 */ li r0, 0 diff --git a/include/JSystem/JKernel/JKRAramArchive/asm/func_802D72A8.s b/include/JSystem/JKernel/JKRAramArchive/asm/func_802D72A8.s index 2994dc7c077..150c1c779b9 100644 --- a/include/JSystem/JKernel/JKRAramArchive/asm/func_802D72A8.s +++ b/include/JSystem/JKernel/JKRAramArchive/asm/func_802D72A8.s @@ -14,7 +14,7 @@ /* 802D72D4 002D4214 90 03 00 54 */ stw r0, 0x54(r3) /* 802D72D8 002D4218 90 03 00 64 */ stw r0, 0x64(r3) /* 802D72DC 002D421C 38 60 00 F8 */ li r3, 0xf8 -/* 802D72E0 002D4220 80 8D 8D F0 */ lwz r4, lbl_80451370-_SDA_BASE_(r13) +/* 802D72E0 002D4220 80 8D 8D F0 */ lwz r4, sSystemHeap__7JKRHeap-_SDA_BASE_(r13) /* 802D72E4 002D4224 80 1F 00 60 */ lwz r0, 0x60(r31) /* 802D72E8 002D4228 2C 00 00 01 */ cmpwi r0, 1 /* 802D72EC 002D422C 38 A0 FF FC */ li r5, -4 @@ -37,7 +37,7 @@ lbl_802D7310: /* 802D7328 002D4268 38 60 00 00 */ li r3, 0 /* 802D732C 002D426C 48 00 02 9C */ b lbl_802D75C8 lbl_802D7330: -/* 802D7330 002D4270 80 6D 8D F0 */ lwz r3, lbl_80451370-_SDA_BASE_(r13) +/* 802D7330 002D4270 80 6D 8D F0 */ lwz r3, sSystemHeap__7JKRHeap-_SDA_BASE_(r13) /* 802D7334 002D4274 38 80 00 20 */ li r4, 0x20 /* 802D7338 002D4278 38 A0 FF E0 */ li r5, -32 /* 802D733C 002D427C 4B FF 71 99 */ bl alloc__7JKRHeapFUli @@ -57,7 +57,7 @@ lbl_802D7354: /* 802D7370 002D42B0 39 00 00 01 */ li r8, 1 /* 802D7374 002D42B4 39 20 00 00 */ li r9, 0 /* 802D7378 002D42B8 39 5F 00 5C */ addi r10, r31, 0x5c -/* 802D737C 002D42BC 48 00 28 D9 */ bl loadToMainRAM__12JKRDvdRipperFlPUc15JKRExpandSwitchUlP7JKRHeapQ212JKRDvdRipper15EAllocDirectionUlP14JKRCompressionPUl +/* 802D737C 002D42BC 48 00 28 D9 */ bl loadToMainRAM__12JKRDvdRipperFlPUc15JKRExpandSwitchUlP7JKRHeapQ212JKRDvdRipper15EAllocDirectionUlPiPUl /* 802D7380 002D42C0 7F A3 EB 78 */ mr r3, r29 /* 802D7384 002D42C4 38 80 00 20 */ li r4, 0x20 /* 802D7388 002D42C8 48 06 41 F9 */ bl DCInvalidateRange @@ -91,7 +91,7 @@ lbl_802D73D8: /* 802D73F0 002D4330 39 00 00 01 */ li r8, 1 /* 802D73F4 002D4334 39 20 00 20 */ li r9, 0x20 /* 802D73F8 002D4338 39 40 00 00 */ li r10, 0 -/* 802D73FC 002D433C 48 00 28 59 */ bl loadToMainRAM__12JKRDvdRipperFlPUc15JKRExpandSwitchUlP7JKRHeapQ212JKRDvdRipper15EAllocDirectionUlP14JKRCompressionPUl +/* 802D73FC 002D433C 48 00 28 59 */ bl loadToMainRAM__12JKRDvdRipperFlPUc15JKRExpandSwitchUlP7JKRHeapQ212JKRDvdRipper15EAllocDirectionUlPiPUl /* 802D7400 002D4340 80 7F 00 44 */ lwz r3, 0x44(r31) /* 802D7404 002D4344 7F 64 DB 78 */ mr r4, r27 /* 802D7408 002D4348 48 06 41 79 */ bl DCInvalidateRange @@ -131,7 +131,7 @@ lbl_802D7484: /* 802D7484 002D43C4 54 80 06 3F */ clrlwi. r0, r4, 0x18 /* 802D7488 002D43C8 41 82 00 60 */ beq lbl_802D74E8 /* 802D748C 002D43CC 7F C3 F3 78 */ mr r3, r30 -/* 802D7490 002D43D0 48 08 DC 41 */ bl func_803650D0 +/* 802D7490 002D43D0 48 08 DC 41 */ bl abs /* 802D7494 002D43D4 7C 64 1B 78 */ mr r4, r3 /* 802D7498 002D43D8 80 BF 00 38 */ lwz r5, 0x38(r31) /* 802D749C 002D43DC 80 7F 00 44 */ lwz r3, 0x44(r31) @@ -153,12 +153,12 @@ lbl_802D74D4: /* 802D74D8 002D4418 80 BF 00 44 */ lwz r5, 0x44(r31) /* 802D74DC 002D441C 80 05 00 08 */ lwz r0, 8(r5) /* 802D74E0 002D4420 54 05 10 3A */ slwi r5, r0, 2 -/* 802D74E4 002D4424 4B D2 BF 75 */ bl func_80003458 +/* 802D74E4 002D4424 4B D2 BF 75 */ bl memset lbl_802D74E8: /* 802D74E8 002D4428 80 7D 00 10 */ lwz r3, 0x10(r29) /* 802D74EC 002D442C 38 03 00 1F */ addi r0, r3, 0x1f /* 802D74F0 002D4430 54 04 00 34 */ rlwinm r4, r0, 0, 0, 0x1a -/* 802D74F4 002D4434 80 6D 8E 48 */ lwz r3, lbl_804513C8-_SDA_BASE_(r13) +/* 802D74F4 002D4434 80 6D 8E 48 */ lwz r3, sAramObject__7JKRAram-_SDA_BASE_(r13) /* 802D74F8 002D4438 80 63 00 94 */ lwz r3, 0x94(r3) /* 802D74FC 002D443C 80 1F 00 60 */ lwz r0, 0x60(r31) /* 802D7500 002D4440 20 A0 00 01 */ subfic r5, r0, 1 @@ -197,7 +197,7 @@ lbl_802D7554: lbl_802D7578: /* 802D7578 002D44B8 28 1D 00 00 */ cmplwi r29, 0 /* 802D757C 002D44BC 41 82 00 10 */ beq lbl_802D758C -/* 802D7580 002D44C0 80 6D 8D F0 */ lwz r3, lbl_80451370-_SDA_BASE_(r13) +/* 802D7580 002D44C0 80 6D 8D F0 */ lwz r3, sSystemHeap__7JKRHeap-_SDA_BASE_(r13) /* 802D7584 002D44C4 7F A4 EB 78 */ mr r4, r29 /* 802D7588 002D44C8 4B FF 6F C1 */ bl free__7JKRHeapFPv lbl_802D758C: diff --git a/include/JSystem/JKernel/JKRAramPiece/JKRAramPiece.h b/include/JSystem/JKernel/JKRAramPiece/JKRAramPiece.h index 0281d81021f..b44b3086587 100644 --- a/include/JSystem/JKernel/JKRAramPiece/JKRAramPiece.h +++ b/include/JSystem/JKernel/JKRAramPiece/JKRAramPiece.h @@ -62,4 +62,9 @@ private: static void unlock() { OSUnlockMutex(&lbl_80434330); } }; +inline BOOL JKRAramPcs(int direction, u32 source, u32 destination, u32 length, + JKRAramBlock* block) { + return JKRAramPiece::orderSync(direction, source, destination, length, block); +} + #endif diff --git a/include/JSystem/JKernel/JKRAramPiece/asm/func_802D3614.s b/include/JSystem/JKernel/JKRAramPiece/asm/func_802D3614.s index b7b92f63b12..f9b48da4703 100644 --- a/include/JSystem/JKernel/JKRAramPiece/asm/func_802D3614.s +++ b/include/JSystem/JKernel/JKRAramPiece/asm/func_802D3614.s @@ -52,7 +52,7 @@ lbl_802D365C: /* 802D36D4 002D0614 48 00 EB 29 */ bl JUTException_NS_panic_f lbl_802D36D8: /* 802D36D8 002D0618 38 60 00 08 */ li r3, 8 -/* 802D36DC 002D061C 80 8D 8D F0 */ lwz r4, lbl_80451370-_SDA_BASE_(r13) +/* 802D36DC 002D061C 80 8D 8D F0 */ lwz r4, sSystemHeap__7JKRHeap-_SDA_BASE_(r13) /* 802D36E0 002D0620 38 A0 FF FC */ li r5, -4 /* 802D36E4 002D0624 4B FF B5 B5 */ bl __nw__FUlP7JKRHeapi /* 802D36E8 002D0628 7C 79 1B 78 */ mr r25, r3 @@ -67,8 +67,8 @@ lbl_802D36D8: /* 802D370C 002D064C 38 00 00 01 */ li r0, 1 /* 802D3710 002D0650 90 19 00 00 */ stw r0, 0(r25) /* 802D3714 002D0654 93 59 00 04 */ stw r26, 4(r25) -/* 802D3718 002D0658 3C 60 80 3D */ lis r3, lbl_803CC138@ha -/* 802D371C 002D065C 38 63 C1 38 */ addi r3, r3, lbl_803CC138@l +/* 802D3718 002D0658 3C 60 80 3D */ lis r3, sMessageQueue__7JKRAram@ha +/* 802D371C 002D065C 38 63 C1 38 */ addi r3, r3, sMessageQueue__7JKRAram@l /* 802D3720 002D0660 7F 24 CB 78 */ mr r4, r25 /* 802D3724 002D0664 38 A0 00 01 */ li r5, 1 /* 802D3728 002D0668 48 06 B2 CD */ bl OSSendMessage diff --git a/include/JSystem/JKernel/JKRAramStream/JKRAramStream.h b/include/JSystem/JKernel/JKRAramStream/JKRAramStream.h index 01c0f0229be..3b8966e880d 100644 --- a/include/JSystem/JKernel/JKRAramStream/JKRAramStream.h +++ b/include/JSystem/JKernel/JKRAramStream/JKRAramStream.h @@ -8,26 +8,32 @@ class JKRAramStreamCommand { public: + enum Type { + UNKNOWN = 0, + READ = 1, + WRITE = 2, + }; + JKRAramStreamCommand(); public: - u32 field_0x00; - u32 field_0x04; - u32 field_0x08; - u32 field_0x0c; - JSUFileInputStream* field_0x10; - u32 field_0x14; - u32* field_0x18; - u32 field_0x1c; - u32 field_0x20; - u32 field_0x24; - bool field_0x28; - u8 padding_0x29[3]; - u32 field_0x2c; - OSMessageQueue mQueue; - OSMessage mMessage; - u32 field_0x54; - u32 field_0x58; + /* 0x00 */ Type mType; + /* 0x04 */ u32 mAddress; + /* 0x08 */ u32 mSize; + /* 0x0C */ u32 field_0x0c; + /* 0x10 */ JSUFileInputStream* mStream; + /* 0x14 */ u32 mOffset; + /* 0x18 */ u32* mReturnSize; + /* 0x1C */ u8* mTransferBuffer; + /* 0x20 */ u32 mTransferBufferSize; + /* 0x24 */ JKRHeap* mHeap; + /* 0x28 */ bool mAllocatedTransferBuffer; + /* 0x29 */ u8 padding_0x29[3]; + /* 0x2C */ u32 field_0x2c; + /* 0x30 */ OSMessageQueue mMessageQueue; + /* 0x50 */ OSMessage mMessage; + /* 0x54 */ u32 field_0x54; + /* 0x58 */ u32 field_0x58; }; class JKRAramStream : public JKRThread { @@ -38,13 +44,26 @@ private: /* vt[03] */ void* run(void); /* override */ public: - static void create(long); + static JKRAramStream* create(long); - static void readFromAram(void); - static void writeToAram(JKRAramStreamCommand*); - static void write_StreamToAram_Async(JSUFileInputStream*, u32, u32, u32, u32*); - static void sync(JKRAramStreamCommand*, int); + static s32 readFromAram(void); + static s32 writeToAram(JKRAramStreamCommand*); + static JKRAramStreamCommand* write_StreamToAram_Async(JSUFileInputStream*, u32, u32, u32, u32*); + static JKRAramStreamCommand* sync(JKRAramStreamCommand*, BOOL); static void setTransBuffer(u8*, u32, JKRHeap*); + +private: + static JKRAramStream* sAramStreamObject; + static OSMessage sMessageBuffer[4]; + static OSMessageQueue sMessageQueue; + + static u8* transBuffer; + static u32 transSize; + static JKRHeap* transHeap; }; +inline JKRAramStream* JKRCreateAramStreamManager(long priority) { + return JKRAramStream::create(priority); +} + #endif diff --git a/include/JSystem/JKernel/JKRAramStream/asm/func_802D3B48.s b/include/JSystem/JKernel/JKRAramStream/asm/func_802D3B48.s index 8fc2486b53e..3c98bc4701e 100644 --- a/include/JSystem/JKernel/JKRAramStream/asm/func_802D3B48.s +++ b/include/JSystem/JKernel/JKRAramStream/asm/func_802D3B48.s @@ -5,11 +5,11 @@ /* 802D3B50 002D0A90 90 01 00 14 */ stw r0, 0x14(r1) /* 802D3B54 002D0A94 93 E1 00 0C */ stw r31, 0xc(r1) /* 802D3B58 002D0A98 7C 7F 1B 78 */ mr r31, r3 -/* 802D3B5C 002D0A9C 80 0D 8E 88 */ lwz r0, lbl_80451408-_SDA_BASE_(r13) +/* 802D3B5C 002D0A9C 80 0D 8E 88 */ lwz r0, sAramStreamObject__13JKRAramStream-_SDA_BASE_(r13) /* 802D3B60 002D0AA0 28 00 00 00 */ cmplwi r0, 0 /* 802D3B64 002D0AA4 40 82 00 3C */ bne lbl_802D3BA0 /* 802D3B68 002D0AA8 38 60 00 7C */ li r3, 0x7c -/* 802D3B6C 002D0AAC 80 8D 8D F0 */ lwz r4, lbl_80451370-_SDA_BASE_(r13) +/* 802D3B6C 002D0AAC 80 8D 8D F0 */ lwz r4, sSystemHeap__7JKRHeap-_SDA_BASE_(r13) /* 802D3B70 002D0AB0 38 A0 00 00 */ li r5, 0 /* 802D3B74 002D0AB4 4B FF B1 25 */ bl __nw__FUlP7JKRHeapi /* 802D3B78 002D0AB8 7C 60 1B 79 */ or. r0, r3, r3 @@ -18,13 +18,13 @@ /* 802D3B84 002D0AC4 48 00 00 35 */ bl __ct__13JKRAramStreamFl /* 802D3B88 002D0AC8 7C 60 1B 78 */ mr r0, r3 lbl_802D3B8C: -/* 802D3B8C 002D0ACC 90 0D 8E 88 */ stw r0, lbl_80451408-_SDA_BASE_(r13) +/* 802D3B8C 002D0ACC 90 0D 8E 88 */ stw r0, sAramStreamObject__13JKRAramStream-_SDA_BASE_(r13) /* 802D3B90 002D0AD0 38 60 00 00 */ li r3, 0 /* 802D3B94 002D0AD4 38 80 00 00 */ li r4, 0 /* 802D3B98 002D0AD8 38 A0 00 00 */ li r5, 0 /* 802D3B9C 002D0ADC 48 00 04 99 */ bl setTransBuffer__13JKRAramStreamFPUcUlP7JKRHeap lbl_802D3BA0: -/* 802D3BA0 002D0AE0 80 6D 8E 88 */ lwz r3, lbl_80451408-_SDA_BASE_(r13) +/* 802D3BA0 002D0AE0 80 6D 8E 88 */ lwz r3, sAramStreamObject__13JKRAramStream-_SDA_BASE_(r13) /* 802D3BA4 002D0AE4 83 E1 00 0C */ lwz r31, 0xc(r1) /* 802D3BA8 002D0AE8 80 01 00 14 */ lwz r0, 0x14(r1) /* 802D3BAC 002D0AEC 7C 08 03 A6 */ mtlr r0 diff --git a/include/JSystem/JKernel/JKRAramStream/asm/func_802D3C68.s b/include/JSystem/JKernel/JKRAramStream/asm/func_802D3C68.s index e25158be16e..a8343425fa3 100644 --- a/include/JSystem/JKernel/JKRAramStream/asm/func_802D3C68.s +++ b/include/JSystem/JKernel/JKRAramStream/asm/func_802D3C68.s @@ -4,14 +4,14 @@ /* 802D3C6C 002D0BAC 7C 08 02 A6 */ mflr r0 /* 802D3C70 002D0BB0 90 01 00 24 */ stw r0, 0x24(r1) /* 802D3C74 002D0BB4 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 802D3C78 002D0BB8 3C 60 80 3D */ lis r3, lbl_803CC198@ha -/* 802D3C7C 002D0BBC 38 63 C1 98 */ addi r3, r3, lbl_803CC198@l -/* 802D3C80 002D0BC0 3C 80 80 3D */ lis r4, lbl_803CC188@ha -/* 802D3C84 002D0BC4 38 84 C1 88 */ addi r4, r4, lbl_803CC188@l +/* 802D3C78 002D0BB8 3C 60 80 3D */ lis r3, sMessageQueue__13JKRAramStream@ha +/* 802D3C7C 002D0BBC 38 63 C1 98 */ addi r3, r3, sMessageQueue__13JKRAramStream@l +/* 802D3C80 002D0BC0 3C 80 80 3D */ lis r4, sMessageBuffer__13JKRAramStream@ha +/* 802D3C84 002D0BC4 38 84 C1 88 */ addi r4, r4, sMessageBuffer__13JKRAramStream@l /* 802D3C88 002D0BC8 38 A0 00 04 */ li r5, 4 /* 802D3C8C 002D0BCC 48 06 AD 09 */ bl OSInitMessageQueue -/* 802D3C90 002D0BD0 3C 60 80 3D */ lis r3, lbl_803CC198@ha -/* 802D3C94 002D0BD4 3B E3 C1 98 */ addi r31, r3, lbl_803CC198@l +/* 802D3C90 002D0BD0 3C 60 80 3D */ lis r3, sMessageQueue__13JKRAramStream@ha +/* 802D3C94 002D0BD4 3B E3 C1 98 */ addi r31, r3, sMessageQueue__13JKRAramStream@l lbl_802D3C98: /* 802D3C98 002D0BD8 7F E3 FB 78 */ mr r3, r31 /* 802D3C9C 002D0BDC 38 81 00 08 */ addi r4, r1, 8 diff --git a/include/JSystem/JKernel/JKRAramStream/asm/func_802D3CE0.s b/include/JSystem/JKernel/JKRAramStream/asm/func_802D3CE0.s index 11970ccc3ea..5eba315b216 100644 --- a/include/JSystem/JKernel/JKRAramStream/asm/func_802D3CE0.s +++ b/include/JSystem/JKernel/JKRAramStream/asm/func_802D3CE0.s @@ -42,7 +42,7 @@ lbl_802D3D54: /* 802D3D70 002D0CB0 93 58 00 1C */ stw r26, 0x1c(r24) /* 802D3D74 002D0CB4 48 00 00 1C */ b lbl_802D3D90 lbl_802D3D78: -/* 802D3D78 002D0CB8 80 6D 8D F0 */ lwz r3, lbl_80451370-_SDA_BASE_(r13) +/* 802D3D78 002D0CB8 80 6D 8D F0 */ lwz r3, sSystemHeap__7JKRHeap-_SDA_BASE_(r13) /* 802D3D7C 002D0CBC 7F E4 FB 78 */ mr r4, r31 /* 802D3D80 002D0CC0 38 A0 FF E0 */ li r5, -32 /* 802D3D84 002D0CC4 4B FF A7 51 */ bl alloc__7JKRHeapFUli @@ -57,7 +57,7 @@ lbl_802D3D9C: /* 802D3DA0 002D0CE0 40 82 00 54 */ bne lbl_802D3DF4 /* 802D3DA4 002D0CE4 28 19 00 00 */ cmplwi r25, 0 /* 802D3DA8 002D0CE8 40 82 00 1C */ bne lbl_802D3DC4 -/* 802D3DAC 002D0CEC 80 6D 8D F4 */ lwz r3, lbl_80451374-_SDA_BASE_(r13) +/* 802D3DAC 002D0CEC 80 6D 8D F4 */ lwz r3, sCurrentHeap__7JKRHeap-_SDA_BASE_(r13) /* 802D3DB0 002D0CF0 81 83 00 00 */ lwz r12, 0(r3) /* 802D3DB4 002D0CF4 81 8C 00 1C */ lwz r12, 0x1c(r12) /* 802D3DB8 002D0CF8 7D 89 03 A6 */ mtctr r12 diff --git a/include/JSystem/JKernel/JKRAramStream/asm/func_802D3ED0.s b/include/JSystem/JKernel/JKRAramStream/asm/func_802D3ED0.s index db9b598f390..84f2bb4547a 100644 --- a/include/JSystem/JKernel/JKRAramStream/asm/func_802D3ED0.s +++ b/include/JSystem/JKernel/JKRAramStream/asm/func_802D3ED0.s @@ -11,7 +11,7 @@ /* 802D3EF0 002D0E30 7C DD 33 78 */ mr r29, r6 /* 802D3EF4 002D0E34 7C FE 3B 78 */ mr r30, r7 /* 802D3EF8 002D0E38 38 60 00 5C */ li r3, 0x5c -/* 802D3EFC 002D0E3C 80 8D 8D F0 */ lwz r4, lbl_80451370-_SDA_BASE_(r13) +/* 802D3EFC 002D0E3C 80 8D 8D F0 */ lwz r4, sSystemHeap__7JKRHeap-_SDA_BASE_(r13) /* 802D3F00 002D0E40 38 A0 FF FC */ li r5, -4 /* 802D3F04 002D0E44 4B FF AD 95 */ bl __nw__FUlP7JKRHeapi /* 802D3F08 002D0E48 7C 7F 1B 79 */ or. r31, r3, r3 @@ -27,11 +27,11 @@ lbl_802D3F18: /* 802D3F2C 002D0E6C 38 60 00 00 */ li r3, 0 /* 802D3F30 002D0E70 90 7F 00 2C */ stw r3, 0x2c(r31) /* 802D3F34 002D0E74 93 BF 00 14 */ stw r29, 0x14(r31) -/* 802D3F38 002D0E78 80 0D 8E 8C */ lwz r0, lbl_8045140C-_SDA_BASE_(r13) +/* 802D3F38 002D0E78 80 0D 8E 8C */ lwz r0, transBuffer__13JKRAramStream-_SDA_BASE_(r13) /* 802D3F3C 002D0E7C 90 1F 00 1C */ stw r0, 0x1c(r31) -/* 802D3F40 002D0E80 80 0D 8E 94 */ lwz r0, lbl_80451414-_SDA_BASE_(r13) +/* 802D3F40 002D0E80 80 0D 8E 94 */ lwz r0, transHeap__13JKRAramStream-_SDA_BASE_(r13) /* 802D3F44 002D0E84 90 1F 00 24 */ stw r0, 0x24(r31) -/* 802D3F48 002D0E88 80 0D 8E 90 */ lwz r0, lbl_80451410-_SDA_BASE_(r13) +/* 802D3F48 002D0E88 80 0D 8E 90 */ lwz r0, transSize__13JKRAramStream-_SDA_BASE_(r13) /* 802D3F4C 002D0E8C 90 1F 00 20 */ stw r0, 0x20(r31) /* 802D3F50 002D0E90 93 DF 00 18 */ stw r30, 0x18(r31) /* 802D3F54 002D0E94 28 1E 00 00 */ cmplwi r30, 0 @@ -42,8 +42,8 @@ lbl_802D3F60: /* 802D3F64 002D0EA4 38 9F 00 50 */ addi r4, r31, 0x50 /* 802D3F68 002D0EA8 38 A0 00 01 */ li r5, 1 /* 802D3F6C 002D0EAC 48 06 AA 29 */ bl OSInitMessageQueue -/* 802D3F70 002D0EB0 3C 60 80 3D */ lis r3, lbl_803CC198@ha -/* 802D3F74 002D0EB4 38 63 C1 98 */ addi r3, r3, lbl_803CC198@l +/* 802D3F70 002D0EB0 3C 60 80 3D */ lis r3, sMessageQueue__13JKRAramStream@ha +/* 802D3F74 002D0EB4 38 63 C1 98 */ addi r3, r3, sMessageQueue__13JKRAramStream@l /* 802D3F78 002D0EB8 7F E4 FB 78 */ mr r4, r31 /* 802D3F7C 002D0EBC 38 A0 00 01 */ li r5, 1 /* 802D3F80 002D0EC0 48 06 AA 75 */ bl OSSendMessage diff --git a/include/JSystem/JKernel/JKRAramStream/asm/func_802D4034.s b/include/JSystem/JKernel/JKRAramStream/asm/func_802D4034.s index c7861cc8075..f876e509235 100644 --- a/include/JSystem/JKernel/JKRAramStream/asm/func_802D4034.s +++ b/include/JSystem/JKernel/JKRAramStream/asm/func_802D4034.s @@ -1,25 +1,25 @@ /* setTransBuffer__13JKRAramStreamFPUcUlP7JKRHeap __ct__13JKRAramStreamFl::setTransBuffer(unsigned char *, unsigned long, JKRHeap *) */ /* JKRAramStream_NS_setTransBuffer */ /* 802D4034 002D0F74 38 E0 00 00 */ li r7, 0 -/* 802D4038 002D0F78 90 ED 8E 8C */ stw r7, lbl_8045140C-_SDA_BASE_(r13) +/* 802D4038 002D0F78 90 ED 8E 8C */ stw r7, transBuffer__13JKRAramStream-_SDA_BASE_(r13) /* 802D403C 002D0F7C 3C C0 00 01 */ lis r6, 0x00008000@ha /* 802D4040 002D0F80 38 06 80 00 */ addi r0, r6, 0x00008000@l -/* 802D4044 002D0F84 90 0D 8E 90 */ stw r0, lbl_80451410-_SDA_BASE_(r13) -/* 802D4048 002D0F88 90 ED 8E 94 */ stw r7, lbl_80451414-_SDA_BASE_(r13) +/* 802D4044 002D0F84 90 0D 8E 90 */ stw r0, transSize__13JKRAramStream-_SDA_BASE_(r13) +/* 802D4048 002D0F88 90 ED 8E 94 */ stw r7, transHeap__13JKRAramStream-_SDA_BASE_(r13) /* 802D404C 002D0F8C 28 03 00 00 */ cmplwi r3, 0 /* 802D4050 002D0F90 41 82 00 10 */ beq lbl_802D4060 /* 802D4054 002D0F94 38 03 00 1F */ addi r0, r3, 0x1f /* 802D4058 002D0F98 54 00 00 34 */ rlwinm r0, r0, 0, 0, 0x1a -/* 802D405C 002D0F9C 90 0D 8E 8C */ stw r0, lbl_8045140C-_SDA_BASE_(r13) +/* 802D405C 002D0F9C 90 0D 8E 8C */ stw r0, transBuffer__13JKRAramStream-_SDA_BASE_(r13) lbl_802D4060: /* 802D4060 002D0FA0 28 04 00 00 */ cmplwi r4, 0 /* 802D4064 002D0FA4 41 82 00 0C */ beq lbl_802D4070 /* 802D4068 002D0FA8 54 80 00 34 */ rlwinm r0, r4, 0, 0, 0x1a -/* 802D406C 002D0FAC 90 0D 8E 90 */ stw r0, lbl_80451410-_SDA_BASE_(r13) +/* 802D406C 002D0FAC 90 0D 8E 90 */ stw r0, transSize__13JKRAramStream-_SDA_BASE_(r13) lbl_802D4070: /* 802D4070 002D0FB0 28 05 00 00 */ cmplwi r5, 0 /* 802D4074 002D0FB4 4D 82 00 20 */ beqlr /* 802D4078 002D0FB8 28 03 00 00 */ cmplwi r3, 0 /* 802D407C 002D0FBC 4C 82 00 20 */ bnelr -/* 802D4080 002D0FC0 90 AD 8E 94 */ stw r5, lbl_80451414-_SDA_BASE_(r13) +/* 802D4080 002D0FC0 90 AD 8E 94 */ stw r5, transHeap__13JKRAramStream-_SDA_BASE_(r13) /* 802D4084 002D0FC4 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRArchive/JKRArchive.h b/include/JSystem/JKernel/JKRArchive/JKRArchive.h index 5fe1d4c1775..c5333bdbd2c 100644 --- a/include/JSystem/JKernel/JKRArchive/JKRArchive.h +++ b/include/JSystem/JKernel/JKRArchive/JKRArchive.h @@ -3,66 +3,10 @@ #include "JSystem/JKernel/JKRDecomp/JKRDecomp.h" #include "JSystem/JKernel/JKRFileLoader/JKRFileLoader.h" +#include "JSystem/JKernel/SArc.h" #include "dolphin/types.h" -struct SArcHeader { - u32 signature; - u32 file_length; - u32 header_length; - u32 file_data_offset; - u32 file_data_length; - u32 field_0x14; - u32 field_0x18; - u32 field_0x1c; -}; - -struct SArcDataInfo { - u32 num_nodes; - u32 node_offset; - u32 num_file_entries; - u32 file_entry_offset; - u32 string_table_length; - u32 string_table_offset; - u16 next_free_file_id; - bool sync_file_ids_and_indices; - u8 field_1b[5]; -}; - -struct SDirEntry { - union { - u32 type; - struct { - u8 flags; - u8 padding; - u16 id; - } other; - }; - - const char* name; - u16 field_0x8; - u16 num_entries; - s32 first_file_index; -}; - -struct SDIFileEntry { - u16 file_id; - u16 name_hash; - u32 type_flags_and_name_offset; - u32 data_offset; - u32 data_size; - void* data; - - u32 getNameOffset() const { return type_flags_and_name_offset & 0xFFFFFF; } - u16 getNameHash() const { return name_hash; } - u32 getFlags() const { return type_flags_and_name_offset >> 24; } - u16 getFileID() const { return file_id; } - bool isDirectory() const { return (getFlags() & 0x02) != 0; } - bool isUnknownFlag1() const { return (getFlags() & 0x01) != 0; } - bool isCompressed() const { return (getFlags() & 0x04) != 0; } - bool isYAZ0Compressed() const { return (getFlags() & 0x80) != 0; } -}; - -extern u32 lbl_80451420; // JKRArchive::sCurrentDirID +extern u32 sCurrentDirID__10JKRArchive; // JKRArchive::sCurrentDirID class JKRHeap; class JKRDvdFile; @@ -78,8 +22,8 @@ public: enum EMountDirection { UNKNOWN_MOUNT_DIRECTION = 0, - HEAD = 1, - TAIL = 2, + MOUNT_DIRECTION_HEAD = 1, + MOUNT_DIRECTION_TAIL = 2, }; class CArcName { @@ -140,7 +84,7 @@ public: /* vt[12] */ virtual u32 getResSize(const void*) const; /* override */ /* vt[13] */ virtual u32 countFile(const char*) const; /* override */ /* vt[14] */ virtual JKRFileFinder* getFirstFile(const char*) const; /* override */ - /* vt[15] */ virtual u32 getExpandedResSize(const void*) const; + /* vt[15] */ virtual u32 getExpandedResSize(const void*); /* vt[16] */ virtual void* fetchResource(SDIFileEntry*, u32*) = 0; /* vt[17] */ virtual void* fetchResource(void*, u32, SDIFileEntry*, u32*) = 0; /* vt[18] */ virtual void setExpandSize(SDIFileEntry*, u32); @@ -167,8 +111,30 @@ public: static JKRArchive* mount(s32, EMountMode, JKRHeap*, EMountDirection); static void* getGlbResource(u32, const char*, JKRArchive*); - static u32 getCurrentDirID() { return lbl_80451420; } - static void setCurrentDirID(u32 dirID) { lbl_80451420 = dirID; } + static JKRCompression convertAttrToCompressionType(u32 attr) { +#define JKRARCHIVE_ATTR_COMPRESSION 0x04 +#define JKRARCHIVE_ATTR_YAY0 0x80 + + JKRCompression compression; + if (FLAG_ON(attr, JKRARCHIVE_ATTR_COMPRESSION)) { + compression = COMPRESSION_NONE; + } else if (!FLAG_ON(attr, JKRARCHIVE_ATTR_YAY0)) { + compression = COMPRESSION_YAZ0; + } else { + compression = COMPRESSION_YAY0; + } + return compression; + } + + static u32 getCurrentDirID() { return sCurrentDirID; } + static void setCurrentDirID(u32 dirID) { sCurrentDirID = dirID; } + +private: + static u32 sCurrentDirID; }; +inline JKRCompression JKRConvertAttrToCompressionType(u32 attr) { + return JKRArchive::convertAttrToCompressionType(attr); +} + #endif diff --git a/include/JSystem/JKernel/JKRCompArchive/JKRCompArchive.h b/include/JSystem/JKernel/JKRCompArchive/JKRCompArchive.h index fd6c33a0672..e15ab26472f 100644 --- a/include/JSystem/JKernel/JKRCompArchive/JKRCompArchive.h +++ b/include/JSystem/JKernel/JKRCompArchive/JKRCompArchive.h @@ -14,7 +14,7 @@ public: /* vt[09] */ void removeResourceAll(void); /* override */ /* vt[10] */ bool removeResource(void*); /* override */ - /* vt[15] */ u32 getExpandedResSize(const void*) const; /* override */ + /* vt[15] */ u32 getExpandedResSize(const void*); /* override */ /* vt[16] */ void* fetchResource(SDIFileEntry*, u32*); /* override */ /* vt[17] */ void* fetchResource(void*, u32, SDIFileEntry*, u32*); /* override */ diff --git a/include/JSystem/JKernel/JKRCompArchive/asm/func_802D87D4.s b/include/JSystem/JKernel/JKRCompArchive/asm/func_802D87D4.s index 35a910642e5..74e61b582bf 100644 --- a/include/JSystem/JKernel/JKRCompArchive/asm/func_802D87D4.s +++ b/include/JSystem/JKernel/JKRCompArchive/asm/func_802D87D4.s @@ -30,8 +30,8 @@ lbl_802D8828: /* 802D883C 002D577C 80 03 00 04 */ lwz r0, 4(r3) /* 802D8840 002D5780 7C 04 02 14 */ add r0, r4, r0 /* 802D8844 002D5784 90 1D 00 28 */ stw r0, 0x28(r29) -/* 802D8848 002D5788 3C 60 80 43 */ lis r3, lbl_80434354@ha -/* 802D884C 002D578C 38 63 43 54 */ addi r3, r3, lbl_80434354@l +/* 802D8848 002D5788 3C 60 80 43 */ lis r3, sVolumeList__13JKRFileLoader@ha +/* 802D884C 002D578C 38 63 43 54 */ addi r3, r3, sVolumeList__13JKRFileLoader@l /* 802D8850 002D5790 38 9D 00 18 */ addi r4, r29, 0x18 /* 802D8854 002D5794 48 00 37 9D */ bl prepend__10JSUPtrListFP10JSUPtrLink /* 802D8858 002D5798 38 00 00 01 */ li r0, 1 diff --git a/include/JSystem/JKernel/JKRCompArchive/asm/func_802D887C.s b/include/JSystem/JKernel/JKRCompArchive/asm/func_802D887C.s index eb3a3cdf11f..26186e3c277 100644 --- a/include/JSystem/JKernel/JKRCompArchive/asm/func_802D887C.s +++ b/include/JSystem/JKernel/JKRCompArchive/asm/func_802D887C.s @@ -67,8 +67,8 @@ lbl_802D8948: /* 802D8964 002D58A4 7D 89 03 A6 */ mtctr r12 /* 802D8968 002D58A8 4E 80 04 21 */ bctrl lbl_802D896C: -/* 802D896C 002D58AC 3C 60 80 43 */ lis r3, lbl_80434354@ha -/* 802D8970 002D58B0 38 63 43 54 */ addi r3, r3, lbl_80434354@l +/* 802D896C 002D58AC 3C 60 80 43 */ lis r3, sVolumeList__13JKRFileLoader@ha +/* 802D8970 002D58B0 38 63 43 54 */ addi r3, r3, sVolumeList__13JKRFileLoader@l /* 802D8974 002D58B4 38 9E 00 18 */ addi r4, r30, 0x18 /* 802D8978 002D58B8 48 00 37 E5 */ bl remove__10JSUPtrListFP10JSUPtrLink /* 802D897C 002D58BC 38 00 00 00 */ li r0, 0 diff --git a/include/JSystem/JKernel/JKRCompArchive/asm/func_802D89BC.s b/include/JSystem/JKernel/JKRCompArchive/asm/func_802D89BC.s index 59da4fc871c..c7382067014 100644 --- a/include/JSystem/JKernel/JKRCompArchive/asm/func_802D89BC.s +++ b/include/JSystem/JKernel/JKRCompArchive/asm/func_802D89BC.s @@ -19,7 +19,7 @@ /* 802D89FC 002D593C 90 03 00 4C */ stw r0, 0x4c(r3) /* 802D8A00 002D5940 90 03 00 54 */ stw r0, 0x54(r3) /* 802D8A04 002D5944 38 60 00 F8 */ li r3, 0xf8 -/* 802D8A08 002D5948 80 8D 8D F0 */ lwz r4, lbl_80451370-_SDA_BASE_(r13) +/* 802D8A08 002D5948 80 8D 8D F0 */ lwz r4, sSystemHeap__7JKRHeap-_SDA_BASE_(r13) /* 802D8A0C 002D594C 38 A0 00 00 */ li r5, 0 /* 802D8A10 002D5950 4B FF 62 89 */ bl __nw__FUlP7JKRHeapi /* 802D8A14 002D5954 7C 60 1B 79 */ or. r0, r3, r3 @@ -37,7 +37,7 @@ lbl_802D8A28: /* 802D8A40 002D5980 38 60 00 00 */ li r3, 0 /* 802D8A44 002D5984 48 00 04 E4 */ b lbl_802D8F28 lbl_802D8A48: -/* 802D8A48 002D5988 80 6D 8D F0 */ lwz r3, lbl_80451370-_SDA_BASE_(r13) +/* 802D8A48 002D5988 80 6D 8D F0 */ lwz r3, sSystemHeap__7JKRHeap-_SDA_BASE_(r13) /* 802D8A4C 002D598C 38 80 00 20 */ li r4, 0x20 /* 802D8A50 002D5990 38 A0 FF E0 */ li r5, -32 /* 802D8A54 002D5994 4B FF 5A 81 */ bl alloc__7JKRHeapFUli @@ -57,7 +57,7 @@ lbl_802D8A6C: /* 802D8A88 002D59C8 39 00 00 01 */ li r8, 1 /* 802D8A8C 002D59CC 39 20 00 00 */ li r9, 0 /* 802D8A90 002D59D0 39 5F 00 5C */ addi r10, r31, 0x5c -/* 802D8A94 002D59D4 48 00 11 C1 */ bl loadToMainRAM__12JKRDvdRipperFlPUc15JKRExpandSwitchUlP7JKRHeapQ212JKRDvdRipper15EAllocDirectionUlP14JKRCompressionPUl +/* 802D8A94 002D59D4 48 00 11 C1 */ bl loadToMainRAM__12JKRDvdRipperFlPUc15JKRExpandSwitchUlP7JKRHeapQ212JKRDvdRipper15EAllocDirectionUlPiPUl /* 802D8A98 002D59D8 7F C3 F3 78 */ mr r3, r30 /* 802D8A9C 002D59DC 38 80 00 20 */ li r4, 0x20 /* 802D8AA0 002D59E0 48 06 2A E1 */ bl DCInvalidateRange @@ -107,7 +107,7 @@ lbl_802D8B20: /* 802D8B40 002D5A80 39 00 00 01 */ li r8, 1 /* 802D8B44 002D5A84 39 20 00 20 */ li r9, 0x20 /* 802D8B48 002D5A88 39 40 00 00 */ li r10, 0 -/* 802D8B4C 002D5A8C 48 00 11 09 */ bl loadToMainRAM__12JKRDvdRipperFlPUc15JKRExpandSwitchUlP7JKRHeapQ212JKRDvdRipper15EAllocDirectionUlP14JKRCompressionPUl +/* 802D8B4C 002D5A8C 48 00 11 09 */ bl loadToMainRAM__12JKRDvdRipperFlPUc15JKRExpandSwitchUlP7JKRHeapQ212JKRDvdRipper15EAllocDirectionUlPiPUl /* 802D8B50 002D5A90 80 7F 00 44 */ lwz r3, 0x44(r31) /* 802D8B54 002D5A94 80 9E 00 0C */ lwz r4, 0xc(r30) /* 802D8B58 002D5A98 80 1F 00 74 */ lwz r0, 0x74(r31) @@ -120,7 +120,7 @@ lbl_802D8B20: /* 802D8B74 002D5AB4 80 9F 00 78 */ lwz r4, 0x78(r31) /* 802D8B78 002D5AB8 28 04 00 00 */ cmplwi r4, 0 /* 802D8B7C 002D5ABC 41 82 00 5C */ beq lbl_802D8BD8 -/* 802D8B80 002D5AC0 80 6D 8E 48 */ lwz r3, lbl_804513C8-_SDA_BASE_(r13) +/* 802D8B80 002D5AC0 80 6D 8E 48 */ lwz r3, sAramObject__7JKRAram-_SDA_BASE_(r13) /* 802D8B84 002D5AC4 80 63 00 94 */ lwz r3, 0x94(r3) /* 802D8B88 002D5AC8 38 A0 00 00 */ li r5, 0 /* 802D8B8C 002D5ACC 4B FF A4 31 */ bl alloc__11JKRAramHeapFUlQ211JKRAramHeap10EAllocMode @@ -175,7 +175,7 @@ lbl_802D8C1C: /* 802D8C44 002D5B84 40 82 00 08 */ bne lbl_802D8C4C /* 802D8C48 002D5B88 3B A0 00 20 */ li r29, 0x20 lbl_802D8C4C: -/* 802D8C4C 002D5B8C 80 6D 8D F0 */ lwz r3, lbl_80451370-_SDA_BASE_(r13) +/* 802D8C4C 002D5B8C 80 6D 8D F0 */ lwz r3, sSystemHeap__7JKRHeap-_SDA_BASE_(r13) /* 802D8C50 002D5B90 7F 24 CB 78 */ mr r4, r25 /* 802D8C54 002D5B94 7F 9D 00 D0 */ neg r28, r29 /* 802D8C58 002D5B98 7F 85 E3 78 */ mr r5, r28 @@ -196,7 +196,7 @@ lbl_802D8C74: /* 802D8C90 002D5BD0 39 00 00 01 */ li r8, 1 /* 802D8C94 002D5BD4 39 20 00 00 */ li r9, 0 /* 802D8C98 002D5BD8 39 40 00 00 */ li r10, 0 -/* 802D8C9C 002D5BDC 48 00 0F B9 */ bl loadToMainRAM__12JKRDvdRipperFlPUc15JKRExpandSwitchUlP7JKRHeapQ212JKRDvdRipper15EAllocDirectionUlP14JKRCompressionPUl +/* 802D8C9C 002D5BDC 48 00 0F B9 */ bl loadToMainRAM__12JKRDvdRipperFlPUc15JKRExpandSwitchUlP7JKRHeapQ212JKRDvdRipper15EAllocDirectionUlPiPUl /* 802D8CA0 002D5BE0 7F 63 DB 78 */ mr r3, r27 /* 802D8CA4 002D5BE4 7F 24 CB 78 */ mr r4, r25 /* 802D8CA8 002D5BE8 48 06 28 D9 */ bl DCInvalidateRange @@ -226,7 +226,7 @@ lbl_802D8CF8: /* 802D8D04 002D5C44 7F 25 CB 78 */ mr r5, r25 /* 802D8D08 002D5C48 38 C0 00 00 */ li r6, 0 /* 802D8D0C 002D5C4C 48 00 2C 7D */ bl orderSync__9JKRDecompFPUcPUcUlUl -/* 802D8D10 002D5C50 80 6D 8D F0 */ lwz r3, lbl_80451370-_SDA_BASE_(r13) +/* 802D8D10 002D5C50 80 6D 8D F0 */ lwz r3, sSystemHeap__7JKRHeap-_SDA_BASE_(r13) /* 802D8D14 002D5C54 7F 64 DB 78 */ mr r4, r27 /* 802D8D18 002D5C58 4B FF 58 31 */ bl free__7JKRHeapFPv /* 802D8D1C 002D5C5C 80 7E 00 0C */ lwz r3, 0xc(r30) @@ -255,7 +255,7 @@ lbl_802D8D50: /* 802D8D74 002D5CB4 80 9F 00 78 */ lwz r4, 0x78(r31) /* 802D8D78 002D5CB8 28 04 00 00 */ cmplwi r4, 0 /* 802D8D7C 002D5CBC 41 82 00 68 */ beq lbl_802D8DE4 -/* 802D8D80 002D5CC0 80 6D 8E 48 */ lwz r3, lbl_804513C8-_SDA_BASE_(r13) +/* 802D8D80 002D5CC0 80 6D 8E 48 */ lwz r3, sAramObject__7JKRAram-_SDA_BASE_(r13) /* 802D8D84 002D5CC4 80 63 00 94 */ lwz r3, 0x94(r3) /* 802D8D88 002D5CC8 38 A0 00 00 */ li r5, 0 /* 802D8D8C 002D5CCC 4B FF A2 31 */ bl alloc__11JKRAramHeapFUlQ211JKRAramHeap10EAllocMode @@ -325,7 +325,7 @@ lbl_802D8E74: /* 802D8E74 002D5DB4 54 80 06 3F */ clrlwi. r0, r4, 0x18 /* 802D8E78 002D5DB8 41 82 00 60 */ beq lbl_802D8ED8 /* 802D8E7C 002D5DBC 7F A3 EB 78 */ mr r3, r29 -/* 802D8E80 002D5DC0 48 08 C2 51 */ bl func_803650D0 +/* 802D8E80 002D5DC0 48 08 C2 51 */ bl abs /* 802D8E84 002D5DC4 7C 64 1B 78 */ mr r4, r3 /* 802D8E88 002D5DC8 80 BF 00 38 */ lwz r5, 0x38(r31) /* 802D8E8C 002D5DCC 80 7F 00 44 */ lwz r3, 0x44(r31) @@ -336,7 +336,7 @@ lbl_802D8E74: /* 802D8EA0 002D5DE0 80 7F 00 50 */ lwz r3, 0x50(r31) /* 802D8EA4 002D5DE4 28 03 00 00 */ cmplwi r3, 0 /* 802D8EA8 002D5DE8 40 82 00 1C */ bne lbl_802D8EC4 -/* 802D8EAC 002D5DEC 80 6D 8D F0 */ lwz r3, lbl_80451370-_SDA_BASE_(r13) +/* 802D8EAC 002D5DEC 80 6D 8D F0 */ lwz r3, sSystemHeap__7JKRHeap-_SDA_BASE_(r13) /* 802D8EB0 002D5DF0 80 9F 00 44 */ lwz r4, 0x44(r31) /* 802D8EB4 002D5DF4 4B FF 56 95 */ bl free__7JKRHeapFPv /* 802D8EB8 002D5DF8 38 00 00 00 */ li r0, 0 @@ -347,11 +347,11 @@ lbl_802D8EC4: /* 802D8EC8 002D5E08 80 BF 00 44 */ lwz r5, 0x44(r31) /* 802D8ECC 002D5E0C 80 05 00 08 */ lwz r0, 8(r5) /* 802D8ED0 002D5E10 54 05 10 3A */ slwi r5, r0, 2 -/* 802D8ED4 002D5E14 4B D2 A5 85 */ bl func_80003458 +/* 802D8ED4 002D5E14 4B D2 A5 85 */ bl memset lbl_802D8ED8: /* 802D8ED8 002D5E18 28 1E 00 00 */ cmplwi r30, 0 /* 802D8EDC 002D5E1C 41 82 00 10 */ beq lbl_802D8EEC -/* 802D8EE0 002D5E20 80 6D 8D F0 */ lwz r3, lbl_80451370-_SDA_BASE_(r13) +/* 802D8EE0 002D5E20 80 6D 8D F0 */ lwz r3, sSystemHeap__7JKRHeap-_SDA_BASE_(r13) /* 802D8EE4 002D5E24 7F C4 F3 78 */ mr r4, r30 /* 802D8EE8 002D5E28 4B FF 56 61 */ bl free__7JKRHeapFPv lbl_802D8EEC: diff --git a/include/JSystem/JKernel/JKRCompArchive/asm/func_802D90C0.s b/include/JSystem/JKernel/JKRCompArchive/asm/func_802D90C0.s index cbca7e28c89..0574a10ed05 100644 --- a/include/JSystem/JKernel/JKRCompArchive/asm/func_802D90C0.s +++ b/include/JSystem/JKernel/JKRCompArchive/asm/func_802D90C0.s @@ -63,7 +63,7 @@ lbl_802D9180: /* 802D9198 002D60D8 7F 85 E3 78 */ mr r5, r28 /* 802D919C 002D60DC 57 A6 00 34 */ rlwinm r6, r29, 0, 0, 0x1a /* 802D91A0 002D60E0 7D 07 43 78 */ mr r7, r8 -/* 802D91A4 002D60E4 4B FF DD B9 */ bl fetchResource_subroutine__13JKRMemArchiveFPUcUlPUcUl14JKRCompression +/* 802D91A4 002D60E4 4B FF DD B9 */ bl fetchResource_subroutine__13JKRMemArchiveFPUcUlPUcUli /* 802D91A8 002D60E8 7C 7B 1B 78 */ mr r27, r3 /* 802D91AC 002D60EC 48 00 00 8C */ b lbl_802D9238 lbl_802D91B0: diff --git a/include/JSystem/JKernel/JKRCompArchive/asm/func_802D9360.s b/include/JSystem/JKernel/JKRCompArchive/asm/func_802D9360.s index 182cc3dca3d..2ec587696cb 100644 --- a/include/JSystem/JKernel/JKRCompArchive/asm/func_802D9360.s +++ b/include/JSystem/JKernel/JKRCompArchive/asm/func_802D9360.s @@ -81,7 +81,7 @@ lbl_802D9458: /* 802D9484 002D63C4 80 1F 00 08 */ lwz r0, 8(r31) /* 802D9488 002D63C8 7D 29 02 14 */ add r9, r9, r0 /* 802D948C 002D63CC 39 40 00 00 */ li r10, 0 -/* 802D9490 002D63D0 48 00 07 C5 */ bl loadToMainRAM__12JKRDvdRipperFlPUc15JKRExpandSwitchUlP7JKRHeapQ212JKRDvdRipper15EAllocDirectionUlP14JKRCompressionPUl +/* 802D9490 002D63D0 48 00 07 C5 */ bl loadToMainRAM__12JKRDvdRipperFlPUc15JKRExpandSwitchUlP7JKRHeapQ212JKRDvdRipper15EAllocDirectionUlPiPUl /* 802D9494 002D63D4 7F A3 EB 78 */ mr r3, r29 /* 802D9498 002D63D8 38 80 00 20 */ li r4, 0x20 /* 802D949C 002D63DC 48 06 20 E5 */ bl DCInvalidateRange diff --git a/include/JSystem/JKernel/JKRCompression.h b/include/JSystem/JKernel/JKRCompression.h new file mode 100644 index 00000000000..9ad850d85b0 --- /dev/null +++ b/include/JSystem/JKernel/JKRCompression.h @@ -0,0 +1,28 @@ +#ifndef __JKRCOMPREESION_H__ +#define __JKRCOMPREESION_H__ + +#include "JSystem/JKernel/SArc.h" +#include "dolphin/types.h" + +inline u32 read_big_endian_u32(void* ptr) { + u8* uptr = (u8*)ptr; + return ((u32)uptr[0] << 0x18) | ((u32)uptr[1] << 0x10) | ((u32)uptr[2] << 8) | (u32)uptr[3]; +} + +inline u16 read_big_endian_u16(void* ptr) { + u8* uptr = (u8*)ptr; + return ((u16)uptr[0] << 8) | ((u16)uptr[1]); +} + +typedef int JKRCompression; +const JKRCompression COMPRESSION_NONE = 0; +const JKRCompression COMPRESSION_YAY0 = 1; +const JKRCompression COMPRESSION_YAZ0 = 2; +const JKRCompression COMPRESSION_ASR = 3; + +inline u32 JKRDecompExpandSize(SArcHeader* header) { + u8* fileLength = (u8*)&header->file_length; + return read_big_endian_u32(fileLength); +} + +#endif \ No newline at end of file diff --git a/include/JSystem/JKernel/JKRDecomp/JKRDecomp.h b/include/JSystem/JKernel/JKRDecomp/JKRDecomp.h index 16e1cd699ff..59388308549 100644 --- a/include/JSystem/JKernel/JKRDecomp/JKRDecomp.h +++ b/include/JSystem/JKernel/JKRDecomp/JKRDecomp.h @@ -1,6 +1,7 @@ #ifndef __JKRDECOMP_H__ #define __JKRDECOMP_H__ +#include "JSystem/JKernel/JKRCompression.h" #include "JSystem/JKernel/JKRThread/JKRThread.h" #include "dolphin/types.h" @@ -30,19 +31,6 @@ public: #define JKRDECOMP_SYNC_BLOCKING 0 #define JKRDECOMP_SYNC_NON_BLOCKING 1 -#define READ_BIG_ENDIAN_U32(P) \ - (((u32)(((u8*)(P))[0]) << 0x18) | ((u32)(((u8*)(P))[1]) << 0x10) | \ - ((u32)(((u8*)(P))[2]) << 8) | ((u32)(((u8*)(P))[3]))) - -#define READ_BIG_ENDIAN_U16(P) (((u32)(((u8*)(P))[0]) << 8) | ((u32)(((u8*)(P))[1]))) - -enum JKRCompression { - COMPRESSION_NONE = 0, - COMPRESSION_YAY0 = 1, - COMPRESSION_YAZ0 = 2, - COMPRESSION_ASR = 3, -}; - class JKRDecomp : public JKRThread { private: JKRDecomp(long); @@ -63,12 +51,12 @@ public: static JKRCompression checkCompressed(u8*); }; -inline u32 JKRDecompExpandSize(const void* resource) { - return READ_BIG_ENDIAN_U32((u8*)resource + 4); -} - inline void JKRDecompress(u8* srcBuffer, u8* dstBuffer, u32 srcLength, u32 dstLength) { JKRDecomp::orderSync(srcBuffer, dstBuffer, srcLength, dstLength); } +inline JKRDecomp* JKRCreateDecompManager(long priority) { + return JKRDecomp::create(priority); +} + #endif diff --git a/include/JSystem/JKernel/JKRDecomp/asm/func_802DB680.s b/include/JSystem/JKernel/JKRDecomp/asm/func_802DB680.s index 120bf1b400b..b06049177d0 100644 --- a/include/JSystem/JKernel/JKRDecomp/asm/func_802DB680.s +++ b/include/JSystem/JKernel/JKRDecomp/asm/func_802DB680.s @@ -9,7 +9,7 @@ /* 802DB698 002D85D8 28 00 00 00 */ cmplwi r0, 0 /* 802DB69C 002D85DC 40 82 00 2C */ bne lbl_802DB6C8 /* 802DB6A0 002D85E0 38 60 00 7C */ li r3, 0x7c -/* 802DB6A4 002D85E4 80 8D 8D F0 */ lwz r4, lbl_80451370-_SDA_BASE_(r13) +/* 802DB6A4 002D85E4 80 8D 8D F0 */ lwz r4, sSystemHeap__7JKRHeap-_SDA_BASE_(r13) /* 802DB6A8 002D85E8 38 A0 00 00 */ li r5, 0 /* 802DB6AC 002D85EC 4B FF 35 ED */ bl __nw__FUlP7JKRHeapi /* 802DB6B0 002D85F0 7C 60 1B 79 */ or. r0, r3, r3 diff --git a/include/JSystem/JKernel/JKRDecomp/asm/func_802DB858.s b/include/JSystem/JKernel/JKRDecomp/asm/func_802DB858.s index 537dcd2aba1..ccd9fb217c6 100644 --- a/include/JSystem/JKernel/JKRDecomp/asm/func_802DB858.s +++ b/include/JSystem/JKernel/JKRDecomp/asm/func_802DB858.s @@ -11,7 +11,7 @@ /* 802DB878 002D87B8 7C DE 33 78 */ mr r30, r6 /* 802DB87C 002D87BC 7C FF 3B 78 */ mr r31, r7 /* 802DB880 002D87C0 38 60 00 4C */ li r3, 0x4c -/* 802DB884 002D87C4 80 8D 8D F0 */ lwz r4, lbl_80451370-_SDA_BASE_(r13) +/* 802DB884 002D87C4 80 8D 8D F0 */ lwz r4, sSystemHeap__7JKRHeap-_SDA_BASE_(r13) /* 802DB888 002D87C8 38 A0 FF FC */ li r5, -4 /* 802DB88C 002D87CC 4B FF 34 0D */ bl __nw__FUlP7JKRHeapi /* 802DB890 002D87D0 7C 64 1B 79 */ or. r4, r3, r3 diff --git a/include/JSystem/JKernel/JKRDvdAramRipper/JKRDvdAramRipper.h b/include/JSystem/JKernel/JKRDvdAramRipper/JKRDvdAramRipper.h index 8b1895e6ffd..e90e669ea47 100644 --- a/include/JSystem/JKernel/JKRDvdAramRipper/JKRDvdAramRipper.h +++ b/include/JSystem/JKernel/JKRDvdAramRipper/JKRDvdAramRipper.h @@ -22,9 +22,6 @@ public: }; void JKRDecompressFromDVDToAram(JKRDvdFile*, u32, u32, u32, u32, u32, u32*); -static void decompSZS_subroutine(u8*, u32); -static void firstSrcData(void); -static void nextSrcData(u8*); void dmaBufferFlush(u32); #endif diff --git a/include/JSystem/JKernel/JKRDvdAramRipper/asm/func_802DA9C0.s b/include/JSystem/JKernel/JKRDvdAramRipper/asm/func_802DA9C0.s index 227d7f6f415..d3e64778a09 100644 --- a/include/JSystem/JKernel/JKRDvdAramRipper/asm/func_802DA9C0.s +++ b/include/JSystem/JKernel/JKRDvdAramRipper/asm/func_802DA9C0.s @@ -13,7 +13,7 @@ /* 802DA9E8 002D7928 7D 1D 43 78 */ mr r29, r8 /* 802DA9EC 002D792C 7D 3E 4B 78 */ mr r30, r9 /* 802DA9F0 002D7930 38 60 00 54 */ li r3, 0x54 -/* 802DA9F4 002D7934 80 8D 8D F0 */ lwz r4, lbl_80451370-_SDA_BASE_(r13) +/* 802DA9F4 002D7934 80 8D 8D F0 */ lwz r4, sSystemHeap__7JKRHeap-_SDA_BASE_(r13) /* 802DA9F8 002D7938 38 A0 FF FC */ li r5, -4 /* 802DA9FC 002D793C 4B FF 42 9D */ bl __nw__FUlP7JKRHeapi /* 802DAA00 002D7940 7C 7F 1B 79 */ or. r31, r3, r3 diff --git a/include/JSystem/JKernel/JKRDvdAramRipper/asm/func_802DAA74.s b/include/JSystem/JKernel/JKRDvdAramRipper/asm/func_802DAA74.s index 470747e608f..6d140687e73 100644 --- a/include/JSystem/JKernel/JKRDvdAramRipper/asm/func_802DAA74.s +++ b/include/JSystem/JKernel/JKRDvdAramRipper/asm/func_802DAA74.s @@ -26,7 +26,7 @@ lbl_802DAAC8: /* 802DAAC8 002D7A08 48 06 61 BD */ bl OSGetCurrentThread /* 802DAACC 002D7A0C 90 7E 00 50 */ stw r3, 0x50(r30) /* 802DAAD0 002D7A10 38 60 00 10 */ li r3, 0x10 -/* 802DAAD4 002D7A14 80 8D 8D F0 */ lwz r4, lbl_80451370-_SDA_BASE_(r13) +/* 802DAAD4 002D7A14 80 8D 8D F0 */ lwz r4, sSystemHeap__7JKRHeap-_SDA_BASE_(r13) /* 802DAAD8 002D7A18 38 A0 FF FC */ li r5, -4 /* 802DAADC 002D7A1C 4B FF 41 BD */ bl __nw__FUlP7JKRHeapi /* 802DAAE0 002D7A20 7C 7C 1B 79 */ or. r28, r3, r3 @@ -122,7 +122,7 @@ lbl_802DAC0C: /* 802DAC24 002D7B64 80 1D 00 30 */ lwz r0, 0x30(r29) /* 802DAC28 002D7B68 28 00 00 00 */ cmplwi r0, 0 /* 802DAC2C 002D7B6C 40 82 00 38 */ bne lbl_802DAC64 -/* 802DAC30 002D7B70 80 6D 8E 48 */ lwz r3, lbl_804513C8-_SDA_BASE_(r13) +/* 802DAC30 002D7B70 80 6D 8E 48 */ lwz r3, sAramObject__7JKRAram-_SDA_BASE_(r13) /* 802DAC34 002D7B74 80 63 00 94 */ lwz r3, 0x94(r3) /* 802DAC38 002D7B78 7F 24 CB 78 */ mr r4, r25 /* 802DAC3C 002D7B7C 38 A0 00 00 */ li r5, 0 @@ -157,7 +157,7 @@ lbl_802DAC94: /* 802DACA0 002D7BE0 80 1D 00 30 */ lwz r0, 0x30(r29) /* 802DACA4 002D7BE4 28 00 00 00 */ cmplwi r0, 0 /* 802DACA8 002D7BE8 40 82 00 1C */ bne lbl_802DACC4 -/* 802DACAC 002D7BEC 80 6D 8E 48 */ lwz r3, lbl_804513C8-_SDA_BASE_(r13) +/* 802DACAC 002D7BEC 80 6D 8E 48 */ lwz r3, sAramObject__7JKRAram-_SDA_BASE_(r13) /* 802DACB0 002D7BF0 80 63 00 94 */ lwz r3, 0x94(r3) /* 802DACB4 002D7BF4 7F 64 DB 78 */ mr r4, r27 /* 802DACB8 002D7BF8 38 A0 00 00 */ li r5, 0 diff --git a/include/JSystem/JKernel/JKRDvdAramRipper/asm/func_802DAFE8.s b/include/JSystem/JKernel/JKRDvdAramRipper/asm/func_802DAFE8.s index 88c813916d3..885d2343827 100644 --- a/include/JSystem/JKernel/JKRDvdAramRipper/asm/func_802DAFE8.s +++ b/include/JSystem/JKernel/JKRDvdAramRipper/asm/func_802DAFE8.s @@ -29,14 +29,14 @@ lbl_802DB040: /* 802DB04C 002D7F8C 38 63 43 C0 */ addi r3, r3, lbl_804343C0@l /* 802DB050 002D7F90 48 06 3F F1 */ bl OSLockMutex /* 802DB054 002D7F94 83 0D 83 54 */ lwz r24, lbl_804508D4-_SDA_BASE_(r13) -/* 802DB058 002D7F98 80 6D 8D F0 */ lwz r3, lbl_80451370-_SDA_BASE_(r13) +/* 802DB058 002D7F98 80 6D 8D F0 */ lwz r3, sSystemHeap__7JKRHeap-_SDA_BASE_(r13) /* 802DB05C 002D7F9C 7F 04 C3 78 */ mr r4, r24 /* 802DB060 002D7FA0 38 A0 00 20 */ li r5, 0x20 /* 802DB064 002D7FA4 4B FF 34 71 */ bl alloc__7JKRHeapFUli /* 802DB068 002D7FA8 90 6D 8E E8 */ stw r3, lbl_80451468-_SDA_BASE_(r13) /* 802DB06C 002D7FAC 7C 03 C2 14 */ add r0, r3, r24 /* 802DB070 002D7FB0 90 0D 8E EC */ stw r0, lbl_8045146C-_SDA_BASE_(r13) -/* 802DB074 002D7FB4 80 6D 8D F0 */ lwz r3, lbl_80451370-_SDA_BASE_(r13) +/* 802DB074 002D7FB4 80 6D 8D F0 */ lwz r3, sSystemHeap__7JKRHeap-_SDA_BASE_(r13) /* 802DB078 002D7FB8 38 80 11 20 */ li r4, 0x1120 /* 802DB07C 002D7FBC 38 A0 00 00 */ li r5, 0 /* 802DB080 002D7FC0 4B FF 34 55 */ bl alloc__7JKRHeapFUli @@ -44,7 +44,7 @@ lbl_802DB040: /* 802DB088 002D7FC8 38 03 11 20 */ addi r0, r3, 0x1120 /* 802DB08C 002D7FCC 90 0D 8E F4 */ stw r0, lbl_80451474-_SDA_BASE_(r13) /* 802DB090 002D7FD0 90 6D 8E F8 */ stw r3, lbl_80451478-_SDA_BASE_(r13) -/* 802DB094 002D7FD4 80 6D 8D F0 */ lwz r3, lbl_80451370-_SDA_BASE_(r13) +/* 802DB094 002D7FD4 80 6D 8D F0 */ lwz r3, sSystemHeap__7JKRHeap-_SDA_BASE_(r13) /* 802DB098 002D7FD8 38 80 01 00 */ li r4, 0x100 /* 802DB09C 002D7FDC 38 A0 00 20 */ li r5, 0x20 /* 802DB0A0 002D7FE0 4B FF 34 35 */ bl alloc__7JKRHeapFUli diff --git a/include/JSystem/JKernel/JKRDvdArchive/JKRDvdArchive.h b/include/JSystem/JKernel/JKRDvdArchive/JKRDvdArchive.h index 5eb9a3c407c..8ca3b862018 100644 --- a/include/JSystem/JKernel/JKRDvdArchive/JKRDvdArchive.h +++ b/include/JSystem/JKernel/JKRDvdArchive/JKRDvdArchive.h @@ -4,25 +4,30 @@ #include "JSystem/JKernel/JKRArchive/JKRArchive.h" #include "dolphin/types.h" +class JKRDvdFile; class JKRDvdArchive : public JKRArchive { public: - JKRDvdArchive(long, JKRArchive::EMountDirection); + JKRDvdArchive(s32, JKRArchive::EMountDirection); virtual ~JKRDvdArchive(); - void open(long); + bool open(s32); - /* vt[15] */ virtual u32 getExpandedResSize(const void*) const; /* override */ + /* vt[15] */ virtual u32 getExpandedResSize(const void*); /* override */ /* vt[16] */ virtual void* fetchResource(SDIFileEntry*, u32*); /* override */ /* vt[17] */ virtual void* fetchResource(void*, u32, SDIFileEntry*, u32*); /* override */ public: - static void fetchResource_subroutine(long, u32, u32, u8*, u32, int, int); - static void fetchResource_subroutine(long, u32, u32, JKRHeap*, int, int, u8**); + static u32 fetchResource_subroutine(s32, u32, u32, u8*, u32, JKRCompression, JKRCompression); + static u32 fetchResource_subroutine(s32, u32, u32, JKRHeap*, JKRCompression, JKRCompression, + u8**); private: /* 0x00 */ // vtable /* 0x04 */ // JKRArchive - u8 unk[16]; + /* 0x5C */ JKRCompression mCompression; + /* 0x60 */ EMountDirection mMountDirection; + /* 0x64 */ s32 field_0x64; + /* 0x68 */ JKRDvdFile* mDvdFile; }; #endif diff --git a/include/JSystem/JKernel/JKRDvdArchive/asm/func_802D7BF0.s b/include/JSystem/JKernel/JKRDvdArchive/asm/func_802D7BF0.s index 68ebd678fd3..bab2f50a97d 100644 --- a/include/JSystem/JKernel/JKRDvdArchive/asm/func_802D7BF0.s +++ b/include/JSystem/JKernel/JKRDvdArchive/asm/func_802D7BF0.s @@ -30,8 +30,8 @@ lbl_802D7C44: /* 802D7C58 002D4B98 80 03 00 04 */ lwz r0, 4(r3) /* 802D7C5C 002D4B9C 7C 04 02 14 */ add r0, r4, r0 /* 802D7C60 002D4BA0 90 1D 00 28 */ stw r0, 0x28(r29) -/* 802D7C64 002D4BA4 3C 60 80 43 */ lis r3, lbl_80434354@ha -/* 802D7C68 002D4BA8 38 63 43 54 */ addi r3, r3, lbl_80434354@l +/* 802D7C64 002D4BA4 3C 60 80 43 */ lis r3, sVolumeList__13JKRFileLoader@ha +/* 802D7C68 002D4BA8 38 63 43 54 */ addi r3, r3, sVolumeList__13JKRFileLoader@l /* 802D7C6C 002D4BAC 38 9D 00 18 */ addi r4, r29, 0x18 /* 802D7C70 002D4BB0 48 00 43 81 */ bl prepend__10JSUPtrListFP10JSUPtrLink /* 802D7C74 002D4BB4 38 00 00 01 */ li r0, 1 diff --git a/include/JSystem/JKernel/JKRDvdArchive/asm/func_802D7C98.s b/include/JSystem/JKernel/JKRDvdArchive/asm/func_802D7C98.s index 6d28d9b8602..b83c46efa76 100644 --- a/include/JSystem/JKernel/JKRDvdArchive/asm/func_802D7C98.s +++ b/include/JSystem/JKernel/JKRDvdArchive/asm/func_802D7C98.s @@ -57,8 +57,8 @@ lbl_802D7D40: /* 802D7D5C 002D4C9C 7D 89 03 A6 */ mtctr r12 /* 802D7D60 002D4CA0 4E 80 04 21 */ bctrl lbl_802D7D64: -/* 802D7D64 002D4CA4 3C 60 80 43 */ lis r3, lbl_80434354@ha -/* 802D7D68 002D4CA8 38 63 43 54 */ addi r3, r3, lbl_80434354@l +/* 802D7D64 002D4CA4 3C 60 80 43 */ lis r3, sVolumeList__13JKRFileLoader@ha +/* 802D7D68 002D4CA8 38 63 43 54 */ addi r3, r3, sVolumeList__13JKRFileLoader@l /* 802D7D6C 002D4CAC 38 9F 00 18 */ addi r4, r31, 0x18 /* 802D7D70 002D4CB0 48 00 43 ED */ bl remove__10JSUPtrListFP10JSUPtrLink /* 802D7D74 002D4CB4 38 00 00 00 */ li r0, 0 diff --git a/include/JSystem/JKernel/JKRDvdArchive/asm/func_802D7DB4.s b/include/JSystem/JKernel/JKRDvdArchive/asm/func_802D7DB4.s index d70f7720df5..2288d891e34 100644 --- a/include/JSystem/JKernel/JKRDvdArchive/asm/func_802D7DB4.s +++ b/include/JSystem/JKernel/JKRDvdArchive/asm/func_802D7DB4.s @@ -14,7 +14,7 @@ /* 802D7DE0 002D4D20 90 03 00 4C */ stw r0, 0x4c(r3) /* 802D7DE4 002D4D24 90 03 00 54 */ stw r0, 0x54(r3) /* 802D7DE8 002D4D28 38 60 00 F8 */ li r3, 0xf8 -/* 802D7DEC 002D4D2C 80 8D 8D F0 */ lwz r4, lbl_80451370-_SDA_BASE_(r13) +/* 802D7DEC 002D4D2C 80 8D 8D F0 */ lwz r4, sSystemHeap__7JKRHeap-_SDA_BASE_(r13) /* 802D7DF0 002D4D30 38 A0 00 00 */ li r5, 0 /* 802D7DF4 002D4D34 4B FF 6E A5 */ bl __nw__FUlP7JKRHeapi /* 802D7DF8 002D4D38 7C 60 1B 79 */ or. r0, r3, r3 @@ -32,7 +32,7 @@ lbl_802D7E0C: /* 802D7E24 002D4D64 38 60 00 00 */ li r3, 0 /* 802D7E28 002D4D68 48 00 02 10 */ b lbl_802D8038 lbl_802D7E2C: -/* 802D7E2C 002D4D6C 80 6D 8D F0 */ lwz r3, lbl_80451370-_SDA_BASE_(r13) +/* 802D7E2C 002D4D6C 80 6D 8D F0 */ lwz r3, sSystemHeap__7JKRHeap-_SDA_BASE_(r13) /* 802D7E30 002D4D70 38 80 00 20 */ li r4, 0x20 /* 802D7E34 002D4D74 38 A0 00 20 */ li r5, 0x20 /* 802D7E38 002D4D78 4B FF 66 9D */ bl alloc__7JKRHeapFUli @@ -52,7 +52,7 @@ lbl_802D7E50: /* 802D7E6C 002D4DAC 39 00 00 01 */ li r8, 1 /* 802D7E70 002D4DB0 39 20 00 00 */ li r9, 0 /* 802D7E74 002D4DB4 39 5D 00 5C */ addi r10, r29, 0x5c -/* 802D7E78 002D4DB8 48 00 1D DD */ bl loadToMainRAM__12JKRDvdRipperFlPUc15JKRExpandSwitchUlP7JKRHeapQ212JKRDvdRipper15EAllocDirectionUlP14JKRCompressionPUl +/* 802D7E78 002D4DB8 48 00 1D DD */ bl loadToMainRAM__12JKRDvdRipperFlPUc15JKRExpandSwitchUlP7JKRHeapQ212JKRDvdRipper15EAllocDirectionUlPiPUl /* 802D7E7C 002D4DBC 7F C3 F3 78 */ mr r3, r30 /* 802D7E80 002D4DC0 38 80 00 20 */ li r4, 0x20 /* 802D7E84 002D4DC4 48 06 36 FD */ bl DCInvalidateRange @@ -83,7 +83,7 @@ lbl_802D7EC8: /* 802D7EE0 002D4E20 39 00 00 01 */ li r8, 1 /* 802D7EE4 002D4E24 39 20 00 20 */ li r9, 0x20 /* 802D7EE8 002D4E28 39 40 00 00 */ li r10, 0 -/* 802D7EEC 002D4E2C 48 00 1D 69 */ bl loadToMainRAM__12JKRDvdRipperFlPUc15JKRExpandSwitchUlP7JKRHeapQ212JKRDvdRipper15EAllocDirectionUlP14JKRCompressionPUl +/* 802D7EEC 002D4E2C 48 00 1D 69 */ bl loadToMainRAM__12JKRDvdRipperFlPUc15JKRExpandSwitchUlP7JKRHeapQ212JKRDvdRipper15EAllocDirectionUlPiPUl /* 802D7EF0 002D4E30 80 7D 00 44 */ lwz r3, 0x44(r29) /* 802D7EF4 002D4E34 80 9E 00 0C */ lwz r4, 0xc(r30) /* 802D7EF8 002D4E38 48 06 36 89 */ bl DCInvalidateRange @@ -123,7 +123,7 @@ lbl_802D7F74: /* 802D7F74 002D4EB4 54 80 06 3F */ clrlwi. r0, r4, 0x18 /* 802D7F78 002D4EB8 41 82 00 60 */ beq lbl_802D7FD8 /* 802D7F7C 002D4EBC 7F E3 FB 78 */ mr r3, r31 -/* 802D7F80 002D4EC0 48 08 D1 51 */ bl func_803650D0 +/* 802D7F80 002D4EC0 48 08 D1 51 */ bl abs /* 802D7F84 002D4EC4 7C 64 1B 78 */ mr r4, r3 /* 802D7F88 002D4EC8 80 BD 00 38 */ lwz r5, 0x38(r29) /* 802D7F8C 002D4ECC 80 7D 00 44 */ lwz r3, 0x44(r29) @@ -134,7 +134,7 @@ lbl_802D7F74: /* 802D7FA0 002D4EE0 80 7D 00 50 */ lwz r3, 0x50(r29) /* 802D7FA4 002D4EE4 28 03 00 00 */ cmplwi r3, 0 /* 802D7FA8 002D4EE8 40 82 00 1C */ bne lbl_802D7FC4 -/* 802D7FAC 002D4EEC 80 6D 8D F0 */ lwz r3, lbl_80451370-_SDA_BASE_(r13) +/* 802D7FAC 002D4EEC 80 6D 8D F0 */ lwz r3, sSystemHeap__7JKRHeap-_SDA_BASE_(r13) /* 802D7FB0 002D4EF0 80 9D 00 44 */ lwz r4, 0x44(r29) /* 802D7FB4 002D4EF4 4B FF 65 95 */ bl free__7JKRHeapFPv /* 802D7FB8 002D4EF8 38 00 00 00 */ li r0, 0 @@ -145,7 +145,7 @@ lbl_802D7FC4: /* 802D7FC8 002D4F08 80 BD 00 44 */ lwz r5, 0x44(r29) /* 802D7FCC 002D4F0C 80 05 00 08 */ lwz r0, 8(r5) /* 802D7FD0 002D4F10 54 05 10 3A */ slwi r5, r0, 2 -/* 802D7FD4 002D4F14 4B D2 B4 85 */ bl func_80003458 +/* 802D7FD4 002D4F14 4B D2 B4 85 */ bl memset lbl_802D7FD8: /* 802D7FD8 002D4F18 80 7E 00 08 */ lwz r3, 8(r30) /* 802D7FDC 002D4F1C 80 1E 00 0C */ lwz r0, 0xc(r30) @@ -154,7 +154,7 @@ lbl_802D7FD8: lbl_802D7FE8: /* 802D7FE8 002D4F28 28 1E 00 00 */ cmplwi r30, 0 /* 802D7FEC 002D4F2C 41 82 00 10 */ beq lbl_802D7FFC -/* 802D7FF0 002D4F30 80 6D 8D F0 */ lwz r3, lbl_80451370-_SDA_BASE_(r13) +/* 802D7FF0 002D4F30 80 6D 8D F0 */ lwz r3, sSystemHeap__7JKRHeap-_SDA_BASE_(r13) /* 802D7FF4 002D4F34 7F C4 F3 78 */ mr r4, r30 /* 802D7FF8 002D4F38 4B FF 65 51 */ bl free__7JKRHeapFPv lbl_802D7FFC: diff --git a/include/JSystem/JKernel/JKRDvdArchive/asm/func_802D826C.s b/include/JSystem/JKernel/JKRDvdArchive/asm/func_802D826C.s index 9d55a1f75a9..6c66977cbb1 100644 --- a/include/JSystem/JKernel/JKRDvdArchive/asm/func_802D826C.s +++ b/include/JSystem/JKernel/JKRDvdArchive/asm/func_802D826C.s @@ -44,7 +44,7 @@ lbl_802D82E4: /* 802D8300 002D5240 39 00 00 01 */ li r8, 1 /* 802D8304 002D5244 7F C9 F3 78 */ mr r9, r30 /* 802D8308 002D5248 39 40 00 00 */ li r10, 0 -/* 802D830C 002D524C 48 00 19 49 */ bl loadToMainRAM__12JKRDvdRipperFlPUc15JKRExpandSwitchUlP7JKRHeapQ212JKRDvdRipper15EAllocDirectionUlP14JKRCompressionPUl +/* 802D830C 002D524C 48 00 19 49 */ bl loadToMainRAM__12JKRDvdRipperFlPUc15JKRExpandSwitchUlP7JKRHeapQ212JKRDvdRipper15EAllocDirectionUlPiPUl /* 802D8310 002D5250 7F E3 FB 78 */ mr r3, r31 /* 802D8314 002D5254 7F 84 E3 78 */ mr r4, r28 /* 802D8318 002D5258 48 06 32 69 */ bl DCInvalidateRange @@ -62,7 +62,7 @@ lbl_802D8324: /* 802D8344 002D5284 39 00 00 01 */ li r8, 1 /* 802D8348 002D5288 7F C9 F3 78 */ mr r9, r30 /* 802D834C 002D528C 39 40 00 00 */ li r10, 0 -/* 802D8350 002D5290 48 00 19 05 */ bl loadToMainRAM__12JKRDvdRipperFlPUc15JKRExpandSwitchUlP7JKRHeapQ212JKRDvdRipper15EAllocDirectionUlP14JKRCompressionPUl +/* 802D8350 002D5290 48 00 19 05 */ bl loadToMainRAM__12JKRDvdRipperFlPUc15JKRExpandSwitchUlP7JKRHeapQ212JKRDvdRipper15EAllocDirectionUlPiPUl /* 802D8354 002D5294 7F 83 E3 78 */ mr r3, r28 /* 802D8358 002D5298 38 80 00 20 */ li r4, 0x20 /* 802D835C 002D529C 48 06 32 25 */ bl DCInvalidateRange @@ -90,7 +90,7 @@ lbl_802D8394: /* 802D83B0 002D52F0 39 00 00 01 */ li r8, 1 /* 802D83B4 002D52F4 7F C9 F3 78 */ mr r9, r30 /* 802D83B8 002D52F8 39 40 00 00 */ li r10, 0 -/* 802D83BC 002D52FC 48 00 18 99 */ bl loadToMainRAM__12JKRDvdRipperFlPUc15JKRExpandSwitchUlP7JKRHeapQ212JKRDvdRipper15EAllocDirectionUlP14JKRCompressionPUl +/* 802D83BC 002D52FC 48 00 18 99 */ bl loadToMainRAM__12JKRDvdRipperFlPUc15JKRExpandSwitchUlP7JKRHeapQ212JKRDvdRipper15EAllocDirectionUlPiPUl /* 802D83C0 002D5300 7F E3 FB 78 */ mr r3, r31 /* 802D83C4 002D5304 7F 44 D3 78 */ mr r4, r26 /* 802D83C8 002D5308 48 06 31 B9 */ bl DCInvalidateRange @@ -111,7 +111,7 @@ lbl_802D83E0: /* 802D83FC 002D533C 39 00 00 01 */ li r8, 1 /* 802D8400 002D5340 7F C9 F3 78 */ mr r9, r30 /* 802D8404 002D5344 39 40 00 00 */ li r10, 0 -/* 802D8408 002D5348 48 00 18 4D */ bl loadToMainRAM__12JKRDvdRipperFlPUc15JKRExpandSwitchUlP7JKRHeapQ212JKRDvdRipper15EAllocDirectionUlP14JKRCompressionPUl +/* 802D8408 002D5348 48 00 18 4D */ bl loadToMainRAM__12JKRDvdRipperFlPUc15JKRExpandSwitchUlP7JKRHeapQ212JKRDvdRipper15EAllocDirectionUlPiPUl /* 802D840C 002D534C 7F E3 FB 78 */ mr r3, r31 /* 802D8410 002D5350 7F 44 D3 78 */ mr r4, r26 /* 802D8414 002D5354 48 06 31 6D */ bl DCInvalidateRange diff --git a/include/JSystem/JKernel/JKRDvdArchive/asm/func_802D8474.s b/include/JSystem/JKernel/JKRDvdArchive/asm/func_802D8474.s index 84ad42e21b0..1f7728e5188 100644 --- a/include/JSystem/JKernel/JKRDvdArchive/asm/func_802D8474.s +++ b/include/JSystem/JKernel/JKRDvdArchive/asm/func_802D8474.s @@ -45,7 +45,7 @@ lbl_802D84E0: /* 802D8510 002D5450 39 00 00 01 */ li r8, 1 /* 802D8514 002D5454 7F C9 F3 78 */ mr r9, r30 /* 802D8518 002D5458 39 40 00 00 */ li r10, 0 -/* 802D851C 002D545C 48 00 17 39 */ bl loadToMainRAM__12JKRDvdRipperFlPUc15JKRExpandSwitchUlP7JKRHeapQ212JKRDvdRipper15EAllocDirectionUlP14JKRCompressionPUl +/* 802D851C 002D545C 48 00 17 39 */ bl loadToMainRAM__12JKRDvdRipperFlPUc15JKRExpandSwitchUlP7JKRHeapQ212JKRDvdRipper15EAllocDirectionUlPiPUl /* 802D8520 002D5460 7F 83 E3 78 */ mr r3, r28 /* 802D8524 002D5464 7F 64 DB 78 */ mr r4, r27 /* 802D8528 002D5468 48 06 30 59 */ bl DCInvalidateRange @@ -64,7 +64,7 @@ lbl_802D8538: /* 802D8558 002D5498 39 00 00 01 */ li r8, 1 /* 802D855C 002D549C 7F C9 F3 78 */ mr r9, r30 /* 802D8560 002D54A0 39 40 00 00 */ li r10, 0 -/* 802D8564 002D54A4 48 00 16 F1 */ bl loadToMainRAM__12JKRDvdRipperFlPUc15JKRExpandSwitchUlP7JKRHeapQ212JKRDvdRipper15EAllocDirectionUlP14JKRCompressionPUl +/* 802D8564 002D54A4 48 00 16 F1 */ bl loadToMainRAM__12JKRDvdRipperFlPUc15JKRExpandSwitchUlP7JKRHeapQ212JKRDvdRipper15EAllocDirectionUlPiPUl /* 802D8568 002D54A8 7F 63 DB 78 */ mr r3, r27 /* 802D856C 002D54AC 38 80 00 20 */ li r4, 0x20 /* 802D8570 002D54B0 48 06 30 11 */ bl DCInvalidateRange @@ -91,7 +91,7 @@ lbl_802D8538: /* 802D85C4 002D5504 39 00 00 01 */ li r8, 1 /* 802D85C8 002D5508 7F C9 F3 78 */ mr r9, r30 /* 802D85CC 002D550C 39 40 00 00 */ li r10, 0 -/* 802D85D0 002D5510 48 00 16 85 */ bl loadToMainRAM__12JKRDvdRipperFlPUc15JKRExpandSwitchUlP7JKRHeapQ212JKRDvdRipper15EAllocDirectionUlP14JKRCompressionPUl +/* 802D85D0 002D5510 48 00 16 85 */ bl loadToMainRAM__12JKRDvdRipperFlPUc15JKRExpandSwitchUlP7JKRHeapQ212JKRDvdRipper15EAllocDirectionUlPiPUl /* 802D85D4 002D5514 7F 63 DB 78 */ mr r3, r27 /* 802D85D8 002D5518 7F 84 E3 78 */ mr r4, r28 /* 802D85DC 002D551C 48 06 2F A5 */ bl DCInvalidateRange @@ -114,7 +114,7 @@ lbl_802D85EC: /* 802D861C 002D555C 39 00 00 01 */ li r8, 1 /* 802D8620 002D5560 7F C9 F3 78 */ mr r9, r30 /* 802D8624 002D5564 39 40 00 00 */ li r10, 0 -/* 802D8628 002D5568 48 00 16 2D */ bl loadToMainRAM__12JKRDvdRipperFlPUc15JKRExpandSwitchUlP7JKRHeapQ212JKRDvdRipper15EAllocDirectionUlP14JKRCompressionPUl +/* 802D8628 002D5568 48 00 16 2D */ bl loadToMainRAM__12JKRDvdRipperFlPUc15JKRExpandSwitchUlP7JKRHeapQ212JKRDvdRipper15EAllocDirectionUlPiPUl /* 802D862C 002D556C 7F 83 E3 78 */ mr r3, r28 /* 802D8630 002D5570 7F 24 CB 78 */ mr r4, r25 /* 802D8634 002D5574 48 06 2F 4D */ bl DCInvalidateRange diff --git a/include/JSystem/JKernel/JKRDvdArchive/asm/func_802D8698.s b/include/JSystem/JKernel/JKRDvdArchive/asm/func_802D8698.s index 5bf7d8bd87e..4fe8320948b 100644 --- a/include/JSystem/JKernel/JKRDvdArchive/asm/func_802D8698.s +++ b/include/JSystem/JKernel/JKRDvdArchive/asm/func_802D8698.s @@ -57,7 +57,7 @@ lbl_802D8734: /* 802D8760 002D56A0 80 1D 00 08 */ lwz r0, 8(r29) /* 802D8764 002D56A4 7D 29 02 14 */ add r9, r9, r0 /* 802D8768 002D56A8 39 40 00 00 */ li r10, 0 -/* 802D876C 002D56AC 48 00 14 E9 */ bl loadToMainRAM__12JKRDvdRipperFlPUc15JKRExpandSwitchUlP7JKRHeapQ212JKRDvdRipper15EAllocDirectionUlP14JKRCompressionPUl +/* 802D876C 002D56AC 48 00 14 E9 */ bl loadToMainRAM__12JKRDvdRipperFlPUc15JKRExpandSwitchUlP7JKRHeapQ212JKRDvdRipper15EAllocDirectionUlPiPUl /* 802D8770 002D56B0 7F C3 F3 78 */ mr r3, r30 /* 802D8774 002D56B4 38 80 00 20 */ li r4, 0x20 /* 802D8778 002D56B8 48 06 2E 09 */ bl DCInvalidateRange diff --git a/include/JSystem/JKernel/JKRDvdFile/JKRDvdFile.h b/include/JSystem/JKernel/JKRDvdFile/JKRDvdFile.h index 99fe0fad5ae..ae2d03b5282 100644 --- a/include/JSystem/JKernel/JKRDvdFile/JKRDvdFile.h +++ b/include/JSystem/JKernel/JKRDvdFile/JKRDvdFile.h @@ -50,6 +50,11 @@ private: public: static void doneProcess(long, DVDFileInfo*); + + static JSUList& getDvdList() { return sDvdList; } + +private: + static JSUList sDvdList; }; #endif diff --git a/include/JSystem/JKernel/JKRDvdFile/asm/func_802D9850.s b/include/JSystem/JKernel/JKRDvdFile/asm/func_802D9850.s index 124d7f4153e..5e0ec554234 100644 --- a/include/JSystem/JKernel/JKRDvdFile/asm/func_802D9850.s +++ b/include/JSystem/JKernel/JKRDvdFile/asm/func_802D9850.s @@ -17,8 +17,8 @@ /* 802D9888 002D67C8 88 1F 00 18 */ lbz r0, 0x18(r31) /* 802D988C 002D67CC 28 00 00 00 */ cmplwi r0, 0 /* 802D9890 002D67D0 41 82 00 1C */ beq lbl_802D98AC -/* 802D9894 002D67D4 3C 60 80 43 */ lis r3, lbl_8043436C@ha -/* 802D9898 002D67D8 38 63 43 6C */ addi r3, r3, lbl_8043436C@l +/* 802D9894 002D67D4 3C 60 80 43 */ lis r3, sDvdList__10JKRDvdFile@ha +/* 802D9898 002D67D8 38 63 43 6C */ addi r3, r3, sDvdList__10JKRDvdFile@l /* 802D989C 002D67DC 38 9F 00 E4 */ addi r4, r31, 0xe4 /* 802D98A0 002D67E0 48 00 26 AD */ bl append__10JSUPtrListFP10JSUPtrLink /* 802D98A4 002D67E4 38 7F 00 5C */ addi r3, r31, 0x5c diff --git a/include/JSystem/JKernel/JKRDvdFile/asm/func_802D98C4.s b/include/JSystem/JKernel/JKRDvdFile/asm/func_802D98C4.s index 43272c89935..7bda2273f68 100644 --- a/include/JSystem/JKernel/JKRDvdFile/asm/func_802D98C4.s +++ b/include/JSystem/JKernel/JKRDvdFile/asm/func_802D98C4.s @@ -17,8 +17,8 @@ /* 802D98FC 002D683C 88 1F 00 18 */ lbz r0, 0x18(r31) /* 802D9900 002D6840 28 00 00 00 */ cmplwi r0, 0 /* 802D9904 002D6844 41 82 00 1C */ beq lbl_802D9920 -/* 802D9908 002D6848 3C 60 80 43 */ lis r3, lbl_8043436C@ha -/* 802D990C 002D684C 38 63 43 6C */ addi r3, r3, lbl_8043436C@l +/* 802D9908 002D6848 3C 60 80 43 */ lis r3, sDvdList__10JKRDvdFile@ha +/* 802D990C 002D684C 38 63 43 6C */ addi r3, r3, sDvdList__10JKRDvdFile@l /* 802D9910 002D6850 38 9F 00 E4 */ addi r4, r31, 0xe4 /* 802D9914 002D6854 48 00 26 39 */ bl append__10JSUPtrListFP10JSUPtrLink /* 802D9918 002D6858 38 7F 00 5C */ addi r3, r31, 0x5c diff --git a/include/JSystem/JKernel/JKRDvdFile/asm/func_802D9938.s b/include/JSystem/JKernel/JKRDvdFile/asm/func_802D9938.s index c6228feba3a..37034cae087 100644 --- a/include/JSystem/JKernel/JKRDvdFile/asm/func_802D9938.s +++ b/include/JSystem/JKernel/JKRDvdFile/asm/func_802D9938.s @@ -14,8 +14,8 @@ /* 802D9964 002D68A4 41 82 00 20 */ beq lbl_802D9984 /* 802D9968 002D68A8 38 00 00 00 */ li r0, 0 /* 802D996C 002D68AC 98 1F 00 18 */ stb r0, 0x18(r31) -/* 802D9970 002D68B0 3C 60 80 43 */ lis r3, lbl_8043436C@ha -/* 802D9974 002D68B4 38 63 43 6C */ addi r3, r3, lbl_8043436C@l +/* 802D9970 002D68B0 3C 60 80 43 */ lis r3, sDvdList__10JKRDvdFile@ha +/* 802D9974 002D68B4 38 63 43 6C */ addi r3, r3, sDvdList__10JKRDvdFile@l /* 802D9978 002D68B8 38 9F 00 E4 */ addi r4, r31, 0xe4 /* 802D997C 002D68BC 48 00 27 E1 */ bl remove__10JSUPtrListFP10JSUPtrLink /* 802D9980 002D68C0 48 00 00 20 */ b lbl_802D99A0 diff --git a/include/JSystem/JKernel/JKRDvdFile/asm/func_802D9B00.s b/include/JSystem/JKernel/JKRDvdFile/asm/func_802D9B00.s index 14d3c7b00f2..1b577014a97 100644 --- a/include/JSystem/JKernel/JKRDvdFile/asm/func_802D9B00.s +++ b/include/JSystem/JKernel/JKRDvdFile/asm/func_802D9B00.s @@ -3,11 +3,11 @@ /* 802D9B00 002D6A40 94 21 FF F0 */ stwu r1, -0x10(r1) /* 802D9B04 002D6A44 7C 08 02 A6 */ mflr r0 /* 802D9B08 002D6A48 90 01 00 14 */ stw r0, 0x14(r1) -/* 802D9B0C 002D6A4C 3C 60 80 43 */ lis r3, lbl_8043436C@ha -/* 802D9B10 002D6A50 38 63 43 6C */ addi r3, r3, lbl_8043436C@l +/* 802D9B0C 002D6A4C 3C 60 80 43 */ lis r3, sDvdList__10JKRDvdFile@ha +/* 802D9B10 002D6A50 38 63 43 6C */ addi r3, r3, sDvdList__10JKRDvdFile@l /* 802D9B14 002D6A54 48 00 24 01 */ bl initiate__10JSUPtrListFv -/* 802D9B18 002D6A58 3C 60 80 43 */ lis r3, lbl_8043436C@ha -/* 802D9B1C 002D6A5C 38 63 43 6C */ addi r3, r3, lbl_8043436C@l +/* 802D9B18 002D6A58 3C 60 80 43 */ lis r3, sDvdList__10JKRDvdFile@ha +/* 802D9B1C 002D6A5C 38 63 43 6C */ addi r3, r3, sDvdList__10JKRDvdFile@l /* 802D9B20 002D6A60 3C 80 80 2E */ lis r4, JSUList_NS_dtor_X7_@ha /* 802D9B24 002D6A64 38 84 9B 44 */ addi r4, r4, JSUList_NS_dtor_X7_@l /* 802D9B28 002D6A68 3C A0 80 43 */ lis r5, lbl_80434360@ha diff --git a/include/JSystem/JKernel/JKRDvdRipper/JKRDvdRipper.h b/include/JSystem/JKernel/JKRDvdRipper/JKRDvdRipper.h index 0add634e7b7..71a3c9f3cd4 100644 --- a/include/JSystem/JKernel/JKRDvdRipper/JKRDvdRipper.h +++ b/include/JSystem/JKernel/JKRDvdRipper/JKRDvdRipper.h @@ -16,8 +16,8 @@ class JKRDvdRipper { public: enum EAllocDirection { UNKNOWN_EALLOC_DIRECTION = 0, - FORWARD = 1, - BACKWARD = 2, + ALLOC_DIRECTION_FORWARD = 1, + ALLOC_DIRECTION_BACKWARD = 2, }; static void* loadToMainRAM(char const*, u8*, JKRExpandSwitch, u32, JKRHeap*, EAllocDirection, @@ -31,8 +31,12 @@ public: }; void JKRDecompressFromDVD(JKRDvdFile*, void*, u32, u32, u32, u32, u32*); -static void decompSZS_subroutine(u8*, u8*); -static void firstSrcData(void); -static void nextSrcData(u8*); + +inline void* JKRDvdToMainRam(s32 entryNum, u8* dst, JKRExpandSwitch expandSwitch, u32 dstLength, + JKRHeap* heap, JKRDvdRipper::EAllocDirection allocDirection, + u32 offset, JKRCompression* compression, u32* returnSize) { + return JKRDvdRipper::loadToMainRAM(entryNum, dst, expandSwitch, dstLength, heap, allocDirection, + offset, compression, returnSize); +} #endif diff --git a/include/JSystem/JKernel/JKRDvdRipper/asm/func_802D9B98.s b/include/JSystem/JKernel/JKRDvdRipper/asm/func_802D9B98.s index 66f96e93e3f..804b88def11 100644 --- a/include/JSystem/JKernel/JKRDvdRipper/asm/func_802D9B98.s +++ b/include/JSystem/JKernel/JKRDvdRipper/asm/func_802D9B98.s @@ -1,4 +1,4 @@ -/* loadToMainRAM__12JKRDvdRipperFPCcPUc15JKRExpandSwitchUlP7JKRHeapQ212JKRDvdRipper15EAllocDirectionUlP14JKRCompressionPUl JKRDvdRipper::loadToMainRAM(char const *, unsigned char *, JKRExpandSwitch, unsigned long, JKRHeap *, JKRDvdRipper::EAllocDirection, unsigned long, int *, unsigned long *) */ +/* loadToMainRAM__12JKRDvdRipperFPCcPUc15JKRExpandSwitchUlP7JKRHeapQ212JKRDvdRipper15EAllocDirectionUlPiPUl JKRDvdRipper::loadToMainRAM(char const *, unsigned char *, JKRExpandSwitch, unsigned long, JKRHeap *, JKRDvdRipper::EAllocDirection, unsigned long, int *, unsigned long *) */ /* JKRDvdRipper_NS_loadToMainRAM */ /* 802D9B98 002D6AD8 94 21 FE D0 */ stwu r1, -0x130(r1) /* 802D9B9C 002D6ADC 7C 08 02 A6 */ mflr r0 @@ -36,7 +36,7 @@ lbl_802D9C00: /* 802D9C18 002D6B58 7F 88 E3 78 */ mr r8, r28 /* 802D9C1C 002D6B5C 7F A9 EB 78 */ mr r9, r29 /* 802D9C20 002D6B60 7F CA F3 78 */ mr r10, r30 -/* 802D9C24 002D6B64 48 00 00 ED */ bl loadToMainRAM__12JKRDvdRipperFP10JKRDvdFilePUc15JKRExpandSwitchUlP7JKRHeapQ212JKRDvdRipper15EAllocDirectionUlP14JKRCompressionPUl +/* 802D9C24 002D6B64 48 00 00 ED */ bl loadToMainRAM__12JKRDvdRipperFP10JKRDvdFilePUc15JKRExpandSwitchUlP7JKRHeapQ212JKRDvdRipper15EAllocDirectionUlPiPUl /* 802D9C28 002D6B68 7C 7F 1B 78 */ mr r31, r3 /* 802D9C2C 002D6B6C 38 61 00 10 */ addi r3, r1, 0x10 /* 802D9C30 002D6B70 38 80 FF FF */ li r4, -1 diff --git a/include/JSystem/JKernel/JKRDvdRipper/asm/func_802D9C54.s b/include/JSystem/JKernel/JKRDvdRipper/asm/func_802D9C54.s index 5b7dcb6e718..b61001b7944 100644 --- a/include/JSystem/JKernel/JKRDvdRipper/asm/func_802D9C54.s +++ b/include/JSystem/JKernel/JKRDvdRipper/asm/func_802D9C54.s @@ -1,4 +1,4 @@ -/* loadToMainRAM__12JKRDvdRipperFlPUc15JKRExpandSwitchUlP7JKRHeapQ212JKRDvdRipper15EAllocDirectionUlP14JKRCompressionPUl JKRDvdRipper::loadToMainRAM(long, unsigned char *, JKRExpandSwitch, unsigned long, JKRHeap *, JKRDvdRipper::EAllocDirection, unsigned long, int *, unsigned long *) */ +/* loadToMainRAM__12JKRDvdRipperFlPUc15JKRExpandSwitchUlP7JKRHeapQ212JKRDvdRipper15EAllocDirectionUlPiPUl JKRDvdRipper::loadToMainRAM(long, unsigned char *, JKRExpandSwitch, unsigned long, JKRHeap *, JKRDvdRipper::EAllocDirection, unsigned long, int *, unsigned long *) */ /* JKRDvdRipper_NS_loadToMainRAM_X1_ */ /* 802D9C54 002D6B94 94 21 FE D0 */ stwu r1, -0x130(r1) /* 802D9C58 002D6B98 7C 08 02 A6 */ mflr r0 @@ -36,7 +36,7 @@ lbl_802D9CBC: /* 802D9CD4 002D6C14 7F 88 E3 78 */ mr r8, r28 /* 802D9CD8 002D6C18 7F A9 EB 78 */ mr r9, r29 /* 802D9CDC 002D6C1C 7F CA F3 78 */ mr r10, r30 -/* 802D9CE0 002D6C20 48 00 00 31 */ bl loadToMainRAM__12JKRDvdRipperFP10JKRDvdFilePUc15JKRExpandSwitchUlP7JKRHeapQ212JKRDvdRipper15EAllocDirectionUlP14JKRCompressionPUl +/* 802D9CE0 002D6C20 48 00 00 31 */ bl loadToMainRAM__12JKRDvdRipperFP10JKRDvdFilePUc15JKRExpandSwitchUlP7JKRHeapQ212JKRDvdRipper15EAllocDirectionUlPiPUl /* 802D9CE4 002D6C24 7C 7F 1B 78 */ mr r31, r3 /* 802D9CE8 002D6C28 38 61 00 10 */ addi r3, r1, 0x10 /* 802D9CEC 002D6C2C 38 80 FF FF */ li r4, -1 diff --git a/include/JSystem/JKernel/JKRDvdRipper/asm/func_802D9D10.s b/include/JSystem/JKernel/JKRDvdRipper/asm/func_802D9D10.s index d0ef664f662..903a0154d57 100644 --- a/include/JSystem/JKernel/JKRDvdRipper/asm/func_802D9D10.s +++ b/include/JSystem/JKernel/JKRDvdRipper/asm/func_802D9D10.s @@ -1,4 +1,4 @@ -/* loadToMainRAM__12JKRDvdRipperFP10JKRDvdFilePUc15JKRExpandSwitchUlP7JKRHeapQ212JKRDvdRipper15EAllocDirectionUlP14JKRCompressionPUl JKRDvdRipper::loadToMainRAM(JKRDvdFile *, unsigned char *, JKRExpandSwitch, unsigned long, JKRHeap *, JKRDvdRipper::EAllocDirection, unsigned long, int *, unsigned long *) */ +/* loadToMainRAM__12JKRDvdRipperFP10JKRDvdFilePUc15JKRExpandSwitchUlP7JKRHeapQ212JKRDvdRipper15EAllocDirectionUlPiPUl JKRDvdRipper::loadToMainRAM(JKRDvdFile *, unsigned char *, JKRExpandSwitch, unsigned long, JKRHeap *, JKRDvdRipper::EAllocDirection, unsigned long, int *, unsigned long *) */ /* JKRDvdRipper_NS_loadToMainRAM_X2_ */ /* 802D9D10 002D6C50 94 21 FF 40 */ stwu r1, -0xc0(r1) /* 802D9D14 002D6C54 7C 08 02 A6 */ mflr r0 diff --git a/include/JSystem/JKernel/JKRDvdRipper/asm/func_802DA1E4.s b/include/JSystem/JKernel/JKRDvdRipper/asm/func_802DA1E4.s index 7afadde3eea..425ee239a66 100644 --- a/include/JSystem/JKernel/JKRDvdRipper/asm/func_802DA1E4.s +++ b/include/JSystem/JKernel/JKRDvdRipper/asm/func_802DA1E4.s @@ -29,7 +29,7 @@ lbl_802DA23C: /* 802DA248 002D7188 38 63 43 90 */ addi r3, r3, lbl_80434390@l /* 802DA24C 002D718C 48 06 4D F5 */ bl OSLockMutex /* 802DA250 002D7190 83 0D 83 4C */ lwz r24, lbl_804508CC-_SDA_BASE_(r13) -/* 802DA254 002D7194 80 6D 8D F0 */ lwz r3, lbl_80451370-_SDA_BASE_(r13) +/* 802DA254 002D7194 80 6D 8D F0 */ lwz r3, sSystemHeap__7JKRHeap-_SDA_BASE_(r13) /* 802DA258 002D7198 7F 04 C3 78 */ mr r4, r24 /* 802DA25C 002D719C 38 A0 FF E0 */ li r5, -32 /* 802DA260 002D71A0 4B FF 42 75 */ bl alloc__7JKRHeapFUli @@ -38,7 +38,7 @@ lbl_802DA23C: /* 802DA26C 002D71AC 90 0D 8E AC */ stw r0, lbl_8045142C-_SDA_BASE_(r13) /* 802DA270 002D71B0 28 1D 00 00 */ cmplwi r29, 0 /* 802DA274 002D71B4 41 82 00 28 */ beq lbl_802DA29C -/* 802DA278 002D71B8 80 6D 8D F0 */ lwz r3, lbl_80451370-_SDA_BASE_(r13) +/* 802DA278 002D71B8 80 6D 8D F0 */ lwz r3, sSystemHeap__7JKRHeap-_SDA_BASE_(r13) /* 802DA27C 002D71BC 38 80 11 20 */ li r4, 0x1120 /* 802DA280 002D71C0 38 A0 FF FC */ li r5, -4 /* 802DA284 002D71C4 4B FF 42 51 */ bl alloc__7JKRHeapFUli diff --git a/include/JSystem/JKernel/JKRExpHeap/JKRExpHeap.h b/include/JSystem/JKernel/JKRExpHeap/JKRExpHeap.h index 0b40a15bb4f..6486c9f6d1b 100644 --- a/include/JSystem/JKernel/JKRExpHeap/JKRExpHeap.h +++ b/include/JSystem/JKernel/JKRExpHeap/JKRExpHeap.h @@ -22,6 +22,7 @@ public: CMemBlock* getPrevBlock() const { return this->mPrev; } CMemBlock* getNextBlock() const { return this->mNext; } u32 getSize() const { return this->size; } + static CMemBlock* getBlock(void* data) { return (CMemBlock*)((u32)data + -0x10); } private: u16 mMagic; diff --git a/include/JSystem/JKernel/JKRExpHeap/asm/func_802CEDB4.s b/include/JSystem/JKernel/JKRExpHeap/asm/func_802CEDB4.s index a362d85fbd5..b05cd1df98b 100644 --- a/include/JSystem/JKernel/JKRExpHeap/asm/func_802CEDB4.s +++ b/include/JSystem/JKernel/JKRExpHeap/asm/func_802CEDB4.s @@ -7,7 +7,7 @@ /* 802CEDC4 002CBD04 7C 65 1B 78 */ mr r5, r3 /* 802CEDC8 002CBD08 7C 9F 23 78 */ mr r31, r4 /* 802CEDCC 002CBD0C 38 60 00 00 */ li r3, 0 -/* 802CEDD0 002CBD10 80 0D 8D F8 */ lwz r0, lbl_80451378-_SDA_BASE_(r13) +/* 802CEDD0 002CBD10 80 0D 8D F8 */ lwz r0, sRootHeap__7JKRHeap-_SDA_BASE_(r13) /* 802CEDD4 002CBD14 28 00 00 00 */ cmplwi r0, 0 /* 802CEDD8 002CBD18 40 82 00 38 */ bne lbl_802CEE10 /* 802CEDDC 002CBD1C 38 61 00 0C */ addi r3, r1, 0xc @@ -23,7 +23,7 @@ /* 802CEE04 002CBD44 7F E7 FB 78 */ mr r7, r31 /* 802CEE08 002CBD48 48 00 02 29 */ bl __ct__10JKRExpHeapFPvUlP7JKRHeapb lbl_802CEE0C: -/* 802CEE0C 002CBD4C 90 6D 8D F8 */ stw r3, lbl_80451378-_SDA_BASE_(r13) +/* 802CEE0C 002CBD4C 90 6D 8D F8 */ stw r3, sRootHeap__7JKRHeap-_SDA_BASE_(r13) lbl_802CEE10: /* 802CEE10 002CBD50 38 00 00 01 */ li r0, 1 /* 802CEE14 002CBD54 98 03 00 6E */ stb r0, 0x6e(r3) diff --git a/include/JSystem/JKernel/JKRExpHeap/asm/func_802CEE2C.s b/include/JSystem/JKernel/JKRExpHeap/asm/func_802CEE2C.s index aa24a4db220..8bed3c4fba6 100644 --- a/include/JSystem/JKernel/JKRExpHeap/asm/func_802CEE2C.s +++ b/include/JSystem/JKernel/JKRExpHeap/asm/func_802CEE2C.s @@ -8,7 +8,7 @@ /* 802CEE40 002CBD80 7C 9C 23 79 */ or. r28, r4, r4 /* 802CEE44 002CBD84 7C BD 2B 78 */ mr r29, r5 /* 802CEE48 002CBD88 40 82 00 08 */ bne lbl_802CEE50 -/* 802CEE4C 002CBD8C 83 8D 8D F8 */ lwz r28, lbl_80451378-_SDA_BASE_(r13) +/* 802CEE4C 002CBD8C 83 8D 8D F8 */ lwz r28, sRootHeap__7JKRHeap-_SDA_BASE_(r13) lbl_802CEE50: /* 802CEE50 002CBD90 3C 03 00 01 */ addis r0, r3, 1 /* 802CEE54 002CBD94 28 00 FF FF */ cmplwi r0, 0xffff diff --git a/include/JSystem/JKernel/JKRExpHeap/asm/func_802CEF00.s b/include/JSystem/JKernel/JKRExpHeap/asm/func_802CEF00.s index d57fe041e1d..582612eabd1 100644 --- a/include/JSystem/JKernel/JKRExpHeap/asm/func_802CEF00.s +++ b/include/JSystem/JKernel/JKRExpHeap/asm/func_802CEF00.s @@ -10,7 +10,7 @@ /* 802CEF1C 002CBE5C 7C DF 33 78 */ mr r31, r6 /* 802CEF20 002CBE60 28 05 00 00 */ cmplwi r5, 0 /* 802CEF24 002CBE64 40 82 00 20 */ bne lbl_802CEF44 -/* 802CEF28 002CBE68 80 6D 8D F8 */ lwz r3, lbl_80451378-_SDA_BASE_(r13) +/* 802CEF28 002CBE68 80 6D 8D F8 */ lwz r3, sRootHeap__7JKRHeap-_SDA_BASE_(r13) /* 802CEF2C 002CBE6C 7F A4 EB 78 */ mr r4, r29 /* 802CEF30 002CBE70 4B FF F9 65 */ bl find__7JKRHeapCFPv /* 802CEF34 002CBE74 7C 66 1B 79 */ or. r6, r3, r3 diff --git a/include/JSystem/JKernel/JKRExpHeap/asm/func_802D00B4.s b/include/JSystem/JKernel/JKRExpHeap/asm/func_802D00B4.s index 3e046eefd11..0d36bdcb450 100644 --- a/include/JSystem/JKernel/JKRExpHeap/asm/func_802D00B4.s +++ b/include/JSystem/JKernel/JKRExpHeap/asm/func_802D00B4.s @@ -21,7 +21,7 @@ /* 802D00FC 002CD03C 38 63 00 4B */ addi r3, r3, 0x4b /* 802D0100 002CD040 4C C6 31 82 */ crclr 6 /* 802D0104 002CD044 48 01 85 79 */ bl JUTWarningConsole_f -/* 802D0108 002CD048 80 6D 8D F4 */ lwz r3, lbl_80451374-_SDA_BASE_(r13) +/* 802D0108 002CD048 80 6D 8D F4 */ lwz r3, sCurrentHeap__7JKRHeap-_SDA_BASE_(r13) /* 802D010C 002CD04C 81 83 00 00 */ lwz r12, 0(r3) /* 802D0110 002CD050 81 8C 00 1C */ lwz r12, 0x1c(r12) /* 802D0114 002CD054 7D 89 03 A6 */ mtctr r12 diff --git a/include/JSystem/JKernel/JKRFileCache/asm/func_802D49B4.s b/include/JSystem/JKernel/JKRFileCache/asm/func_802D49B4.s index 7b376d52870..13e1b5cd168 100644 --- a/include/JSystem/JKernel/JKRFileCache/asm/func_802D49B4.s +++ b/include/JSystem/JKernel/JKRFileCache/asm/func_802D49B4.s @@ -25,8 +25,8 @@ lbl_802D49EC: /* 802D4A08 002D1948 38 60 00 00 */ li r3, 0 /* 802D4A0C 002D194C 48 00 00 90 */ b lbl_802D4A9C lbl_802D4A10: -/* 802D4A10 002D1950 3C 60 80 43 */ lis r3, lbl_80434354@ha -/* 802D4A14 002D1954 83 A3 43 54 */ lwz r29, lbl_80434354@l(r3) +/* 802D4A10 002D1950 3C 60 80 43 */ lis r3, sVolumeList__13JKRFileLoader@ha +/* 802D4A14 002D1954 83 A3 43 54 */ lwz r29, sVolumeList__13JKRFileLoader@l(r3) /* 802D4A18 002D1958 48 00 00 50 */ b lbl_802D4A68 lbl_802D4A1C: /* 802D4A1C 002D195C 80 9D 00 00 */ lwz r4, 0(r29) diff --git a/include/JSystem/JKernel/JKRFileCache/asm/func_802D4AB4.s b/include/JSystem/JKernel/JKRFileCache/asm/func_802D4AB4.s index 91ec854b103..85c2eef7d7c 100644 --- a/include/JSystem/JKernel/JKRFileCache/asm/func_802D4AB4.s +++ b/include/JSystem/JKernel/JKRFileCache/asm/func_802D4AB4.s @@ -30,7 +30,7 @@ /* 802D4B20 002D1A60 80 BF 00 38 */ lwz r5, 0x38(r31) /* 802D4B24 002D1A64 4B FF 99 51 */ bl alloc__7JKRHeapFUliP7JKRHeap /* 802D4B28 002D1A68 90 7F 00 48 */ stw r3, 0x48(r31) -/* 802D4B2C 002D1A6C 80 6D 8D F0 */ lwz r3, lbl_80451370-_SDA_BASE_(r13) +/* 802D4B2C 002D1A6C 80 6D 8D F0 */ lwz r3, sSystemHeap__7JKRHeap-_SDA_BASE_(r13) /* 802D4B30 002D1A70 38 9E 00 02 */ addi r4, r30, 2 /* 802D4B34 002D1A74 38 A0 00 01 */ li r5, 1 /* 802D4B38 002D1A78 4B FF 99 9D */ bl alloc__7JKRHeapFUli @@ -65,7 +65,7 @@ lbl_802D4BA8: /* 802D4BA8 002D1AE8 7F C3 F3 78 */ mr r3, r30 /* 802D4BAC 002D1AEC 48 09 40 39 */ bl strlen /* 802D4BB0 002D1AF0 38 83 00 01 */ addi r4, r3, 1 -/* 802D4BB4 002D1AF4 80 6D 8D F0 */ lwz r3, lbl_80451370-_SDA_BASE_(r13) +/* 802D4BB4 002D1AF4 80 6D 8D F0 */ lwz r3, sSystemHeap__7JKRHeap-_SDA_BASE_(r13) /* 802D4BB8 002D1AF8 38 A0 00 00 */ li r5, 0 /* 802D4BBC 002D1AFC 4B FF 99 19 */ bl alloc__7JKRHeapFUli /* 802D4BC0 002D1B00 90 7F 00 50 */ stw r3, 0x50(r31) @@ -89,7 +89,7 @@ lbl_802D4C00: /* 802D4C00 002D1B40 7F C3 F3 78 */ mr r3, r30 /* 802D4C04 002D1B44 48 09 3F E1 */ bl strlen /* 802D4C08 002D1B48 38 83 00 01 */ addi r4, r3, 1 -/* 802D4C0C 002D1B4C 80 6D 8D F0 */ lwz r3, lbl_80451370-_SDA_BASE_(r13) +/* 802D4C0C 002D1B4C 80 6D 8D F0 */ lwz r3, sSystemHeap__7JKRHeap-_SDA_BASE_(r13) /* 802D4C10 002D1B50 38 A0 00 00 */ li r5, 0 /* 802D4C14 002D1B54 4B FF 98 C1 */ bl alloc__7JKRHeapFUli /* 802D4C18 002D1B58 90 7F 00 50 */ stw r3, 0x50(r31) @@ -102,8 +102,8 @@ lbl_802D4C00: /* 802D4C34 002D1B74 80 1F 00 50 */ lwz r0, 0x50(r31) /* 802D4C38 002D1B78 90 1F 00 28 */ stw r0, 0x28(r31) lbl_802D4C3C: -/* 802D4C3C 002D1B7C 3C 60 80 43 */ lis r3, lbl_80434354@ha -/* 802D4C40 002D1B80 38 63 43 54 */ addi r3, r3, lbl_80434354@l +/* 802D4C3C 002D1B7C 3C 60 80 43 */ lis r3, sVolumeList__13JKRFileLoader@ha +/* 802D4C40 002D1B80 38 63 43 54 */ addi r3, r3, sVolumeList__13JKRFileLoader@l /* 802D4C44 002D1B84 38 9F 00 18 */ addi r4, r31, 0x18 /* 802D4C48 002D1B88 48 00 73 A9 */ bl prepend__10JSUPtrListFP10JSUPtrLink /* 802D4C4C 002D1B8C 38 00 00 01 */ li r0, 1 diff --git a/include/JSystem/JKernel/JKRFileCache/asm/func_802D4C70.s b/include/JSystem/JKernel/JKRFileCache/asm/func_802D4C70.s index 860b0a726e1..2dd1d1f7394 100644 --- a/include/JSystem/JKernel/JKRFileCache/asm/func_802D4C70.s +++ b/include/JSystem/JKernel/JKRFileCache/asm/func_802D4C70.s @@ -24,17 +24,17 @@ lbl_802D4CC0: /* 802D4CC0 002D1C00 80 9E 00 4C */ lwz r4, 0x4c(r30) /* 802D4CC4 002D1C04 28 04 00 00 */ cmplwi r4, 0 /* 802D4CC8 002D1C08 41 82 00 0C */ beq lbl_802D4CD4 -/* 802D4CCC 002D1C0C 80 6D 8D F0 */ lwz r3, lbl_80451370-_SDA_BASE_(r13) +/* 802D4CCC 002D1C0C 80 6D 8D F0 */ lwz r3, sSystemHeap__7JKRHeap-_SDA_BASE_(r13) /* 802D4CD0 002D1C10 4B FF 98 79 */ bl free__7JKRHeapFPv lbl_802D4CD4: /* 802D4CD4 002D1C14 80 9E 00 50 */ lwz r4, 0x50(r30) /* 802D4CD8 002D1C18 28 04 00 00 */ cmplwi r4, 0 /* 802D4CDC 002D1C1C 41 82 00 0C */ beq lbl_802D4CE8 -/* 802D4CE0 002D1C20 80 6D 8D F0 */ lwz r3, lbl_80451370-_SDA_BASE_(r13) +/* 802D4CE0 002D1C20 80 6D 8D F0 */ lwz r3, sSystemHeap__7JKRHeap-_SDA_BASE_(r13) /* 802D4CE4 002D1C24 4B FF 98 65 */ bl free__7JKRHeapFPv lbl_802D4CE8: -/* 802D4CE8 002D1C28 3C 60 80 43 */ lis r3, lbl_80434354@ha -/* 802D4CEC 002D1C2C 38 63 43 54 */ addi r3, r3, lbl_80434354@l +/* 802D4CE8 002D1C28 3C 60 80 43 */ lis r3, sVolumeList__13JKRFileLoader@ha +/* 802D4CEC 002D1C2C 38 63 43 54 */ addi r3, r3, sVolumeList__13JKRFileLoader@l /* 802D4CF0 002D1C30 38 9E 00 18 */ addi r4, r30, 0x18 /* 802D4CF4 002D1C34 48 00 74 69 */ bl remove__10JSUPtrListFP10JSUPtrLink /* 802D4CF8 002D1C38 34 1E 00 3C */ addic. r0, r30, 0x3c diff --git a/include/JSystem/JKernel/JKRFileCache/asm/func_802D4D44.s b/include/JSystem/JKernel/JKRFileCache/asm/func_802D4D44.s index 006719984f3..cc9792013a7 100644 --- a/include/JSystem/JKernel/JKRFileCache/asm/func_802D4D44.s +++ b/include/JSystem/JKernel/JKRFileCache/asm/func_802D4D44.s @@ -14,8 +14,8 @@ /* 802D4D70 002D1CB0 54 00 06 3F */ clrlwi. r0, r0, 0x18 /* 802D4D74 002D1CB4 7C 1E 03 78 */ mr r30, r0 /* 802D4D78 002D1CB8 41 82 00 38 */ beq lbl_802D4DB0 -/* 802D4D7C 002D1CBC 93 AD 8E 98 */ stw r29, lbl_80451418-_SDA_BASE_(r13) -/* 802D4D80 002D1CC0 80 6D 8D F0 */ lwz r3, lbl_80451370-_SDA_BASE_(r13) +/* 802D4D7C 002D1CBC 93 AD 8E 98 */ stw r29, sCurrentVolume__13JKRFileLoader-_SDA_BASE_(r13) +/* 802D4D80 002D1CC0 80 6D 8D F0 */ lwz r3, sSystemHeap__7JKRHeap-_SDA_BASE_(r13) /* 802D4D84 002D1CC4 80 9D 00 4C */ lwz r4, 0x4c(r29) /* 802D4D88 002D1CC8 4B FF 97 C1 */ bl free__7JKRHeapFPv /* 802D4D8C 002D1CCC 93 FD 00 4C */ stw r31, 0x4c(r29) @@ -28,7 +28,7 @@ /* 802D4DA8 002D1CE8 48 09 3D 15 */ bl strcat /* 802D4DAC 002D1CEC 48 00 00 10 */ b lbl_802D4DBC lbl_802D4DB0: -/* 802D4DB0 002D1CF0 80 6D 8D F0 */ lwz r3, lbl_80451370-_SDA_BASE_(r13) +/* 802D4DB0 002D1CF0 80 6D 8D F0 */ lwz r3, sSystemHeap__7JKRHeap-_SDA_BASE_(r13) /* 802D4DB4 002D1CF4 7F E4 FB 78 */ mr r4, r31 /* 802D4DB8 002D1CF8 4B FF 97 91 */ bl free__7JKRHeapFPv lbl_802D4DBC: diff --git a/include/JSystem/JKernel/JKRFileCache/asm/func_802D4DD8.s b/include/JSystem/JKernel/JKRFileCache/asm/func_802D4DD8.s index abfc3e21b82..74aa8e00f0e 100644 --- a/include/JSystem/JKernel/JKRFileCache/asm/func_802D4DD8.s +++ b/include/JSystem/JKernel/JKRFileCache/asm/func_802D4DD8.s @@ -35,7 +35,7 @@ /* 802D4E58 002D1D98 38 C0 00 00 */ li r6, 0 /* 802D4E5C 002D1D9C 48 00 46 BD */ bl read__7JKRFileFPvll /* 802D4E60 002D1DA0 38 60 00 20 */ li r3, 0x20 -/* 802D4E64 002D1DA4 80 8D 8D F0 */ lwz r4, lbl_80451370-_SDA_BASE_(r13) +/* 802D4E64 002D1DA4 80 8D 8D F0 */ lwz r4, sSystemHeap__7JKRHeap-_SDA_BASE_(r13) /* 802D4E68 002D1DA8 38 A0 00 00 */ li r5, 0 /* 802D4E6C 002D1DAC 4B FF 9E 2D */ bl __nw__FUlP7JKRHeapi /* 802D4E70 002D1DB0 7C 64 1B 79 */ or. r4, r3, r3 @@ -55,7 +55,7 @@ lbl_802D4E98: /* 802D4EA0 002D1DE0 90 03 00 10 */ stw r0, 0x10(r3) /* 802D4EA4 002D1DE4 83 E3 00 1C */ lwz r31, 0x1c(r3) lbl_802D4EA8: -/* 802D4EA8 002D1DE8 80 6D 8D F0 */ lwz r3, lbl_80451370-_SDA_BASE_(r13) +/* 802D4EA8 002D1DE8 80 6D 8D F0 */ lwz r3, sSystemHeap__7JKRHeap-_SDA_BASE_(r13) /* 802D4EAC 002D1DEC 7F C4 F3 78 */ mr r4, r30 /* 802D4EB0 002D1DF0 4B FF 96 99 */ bl free__7JKRHeapFPv /* 802D4EB4 002D1DF4 38 61 00 08 */ addi r3, r1, 8 diff --git a/include/JSystem/JKernel/JKRFileCache/asm/func_802D4F64.s b/include/JSystem/JKernel/JKRFileCache/asm/func_802D4F64.s index 9cf2764e956..2f7db4fea12 100644 --- a/include/JSystem/JKernel/JKRFileCache/asm/func_802D4F64.s +++ b/include/JSystem/JKernel/JKRFileCache/asm/func_802D4F64.s @@ -45,7 +45,7 @@ lbl_802D4FF4: /* 802D5000 002D1F40 4B D2 E5 41 */ bl memcpy /* 802D5004 002D1F44 4B FF FF 9C */ b lbl_802D4FA0 lbl_802D5008: -/* 802D5008 002D1F48 80 6D 8D F0 */ lwz r3, lbl_80451370-_SDA_BASE_(r13) +/* 802D5008 002D1F48 80 6D 8D F0 */ lwz r3, sSystemHeap__7JKRHeap-_SDA_BASE_(r13) /* 802D500C 002D1F4C 7F E4 FB 78 */ mr r4, r31 /* 802D5010 002D1F50 4B FF 95 39 */ bl free__7JKRHeapFPv /* 802D5014 002D1F54 38 61 00 08 */ addi r3, r1, 8 diff --git a/include/JSystem/JKernel/JKRFileCache/asm/func_802D52A0.s b/include/JSystem/JKernel/JKRFileCache/asm/func_802D52A0.s index 7547548cf24..c21e22284ce 100644 --- a/include/JSystem/JKernel/JKRFileCache/asm/func_802D52A0.s +++ b/include/JSystem/JKernel/JKRFileCache/asm/func_802D52A0.s @@ -24,7 +24,7 @@ lbl_802D52D8: /* 802D52EC 002D222C 38 61 00 14 */ addi r3, r1, 0x14 /* 802D52F0 002D2230 48 07 3D F5 */ bl DVDCloseDir lbl_802D52F4: -/* 802D52F4 002D2234 80 6D 8D F0 */ lwz r3, lbl_80451370-_SDA_BASE_(r13) +/* 802D52F4 002D2234 80 6D 8D F0 */ lwz r3, sSystemHeap__7JKRHeap-_SDA_BASE_(r13) /* 802D52F8 002D2238 7F C4 F3 78 */ mr r4, r30 /* 802D52FC 002D223C 4B FF 92 4D */ bl free__7JKRHeapFPv /* 802D5300 002D2240 7F E3 FB 78 */ mr r3, r31 diff --git a/include/JSystem/JKernel/JKRFileCache/asm/func_802D531C.s b/include/JSystem/JKernel/JKRFileCache/asm/func_802D531C.s index 2145be2d489..4a5797fadb9 100644 --- a/include/JSystem/JKernel/JKRFileCache/asm/func_802D531C.s +++ b/include/JSystem/JKernel/JKRFileCache/asm/func_802D531C.s @@ -8,7 +8,7 @@ /* 802D5330 002D2270 48 00 01 ED */ bl getDvdPathName__12JKRFileCacheCFPCc /* 802D5334 002D2274 7C 7E 1B 78 */ mr r30, r3 /* 802D5338 002D2278 38 60 00 24 */ li r3, 0x24 -/* 802D533C 002D227C 80 8D 8D F0 */ lwz r4, lbl_80451370-_SDA_BASE_(r13) +/* 802D533C 002D227C 80 8D 8D F0 */ lwz r4, sSystemHeap__7JKRHeap-_SDA_BASE_(r13) /* 802D5340 002D2280 38 A0 00 00 */ li r5, 0 /* 802D5344 002D2284 4B FF 99 55 */ bl __nw__FUlP7JKRHeapi /* 802D5348 002D2288 7C 7F 1B 79 */ or. r31, r3, r3 @@ -17,7 +17,7 @@ /* 802D5354 002D2294 4B FF F4 1D */ bl __ct__12JKRDvdFinderFPCc /* 802D5358 002D2298 7C 7F 1B 78 */ mr r31, r3 lbl_802D535C: -/* 802D535C 002D229C 80 6D 8D F0 */ lwz r3, lbl_80451370-_SDA_BASE_(r13) +/* 802D535C 002D229C 80 6D 8D F0 */ lwz r3, sSystemHeap__7JKRHeap-_SDA_BASE_(r13) /* 802D5360 002D22A0 7F C4 F3 78 */ mr r4, r30 /* 802D5364 002D22A4 4B FF 91 E5 */ bl free__7JKRHeapFPv /* 802D5368 002D22A8 88 1F 00 10 */ lbz r0, 0x10(r31) diff --git a/include/JSystem/JKernel/JKRFileCache/asm/func_802D551C.s b/include/JSystem/JKernel/JKRFileCache/asm/func_802D551C.s index 35be8380459..e04ecb485d5 100644 --- a/include/JSystem/JKernel/JKRFileCache/asm/func_802D551C.s +++ b/include/JSystem/JKernel/JKRFileCache/asm/func_802D551C.s @@ -17,7 +17,7 @@ /* 802D5554 002D2494 48 09 36 91 */ bl strlen /* 802D5558 002D2498 38 9F 00 02 */ addi r4, r31, 2 /* 802D555C 002D249C 7C 83 22 14 */ add r4, r3, r4 -/* 802D5560 002D24A0 80 6D 8D F0 */ lwz r3, lbl_80451370-_SDA_BASE_(r13) +/* 802D5560 002D24A0 80 6D 8D F0 */ lwz r3, sSystemHeap__7JKRHeap-_SDA_BASE_(r13) /* 802D5564 002D24A4 38 A0 00 01 */ li r5, 1 /* 802D5568 002D24A8 4B FF 8F 6D */ bl alloc__7JKRHeapFUli /* 802D556C 002D24AC 7C 60 1B 78 */ mr r0, r3 @@ -48,7 +48,7 @@ lbl_802D55B8: /* 802D55C8 002D2508 48 09 36 1D */ bl strlen /* 802D55CC 002D250C 38 9F 00 02 */ addi r4, r31, 2 /* 802D55D0 002D2510 7C 83 22 14 */ add r4, r3, r4 -/* 802D55D4 002D2514 80 6D 8D F0 */ lwz r3, lbl_80451370-_SDA_BASE_(r13) +/* 802D55D4 002D2514 80 6D 8D F0 */ lwz r3, sSystemHeap__7JKRHeap-_SDA_BASE_(r13) /* 802D55D8 002D2518 38 A0 00 01 */ li r5, 1 /* 802D55DC 002D251C 4B FF 8E F9 */ bl alloc__7JKRHeapFUli /* 802D55E0 002D2520 7C 60 1B 78 */ mr r0, r3 diff --git a/include/JSystem/JKernel/JKRFileLoader/JKRFileLoader.h b/include/JSystem/JKernel/JKRFileLoader/JKRFileLoader.h index 654f08c8b8b..7f09d9b6fe7 100644 --- a/include/JSystem/JKernel/JKRFileLoader/JKRFileLoader.h +++ b/include/JSystem/JKernel/JKRFileLoader/JKRFileLoader.h @@ -4,10 +4,6 @@ #include "JSystem/JKernel/JKRDisposer/JKRDisposer.h" #include "dolphin/types.h" -class JKRFileLoader; -extern JKRFileLoader* lbl_80451418; // JKRFileLoader::sCurrentVolume -extern JSUList lbl_80434354; // JKRFileLoader::sVolumeList - class JKRFileFinder; class JKRFileLoader : public JKRDisposer { public: @@ -42,16 +38,19 @@ protected: /* 0x34 */ u32 mMountCount; public: - static void* getGlbResource(char const*); - static void* getGlbResource(char const*, JKRFileLoader*); + static void* getGlbResource(const char*); + static void* getGlbResource(const char*, JKRFileLoader*); static bool removeResource(void*, JKRFileLoader*); static bool detachResource(void*, JKRFileLoader*); - static JKRFileLoader* findVolume(char const**); - static const char* fetchVolumeName(char*, long, char const*); + static JKRFileLoader* findVolume(const char**); + static const char* fetchVolumeName(char*, long, const char*); - static JKRFileLoader* getCurrentVolume() { return lbl_80451418; } - static void setCurrentVolume(JKRFileLoader* fileLoader) { lbl_80451418 = fileLoader; } - static JSUList& getVolumeList() { return lbl_80434354; } + static JKRFileLoader* getCurrentVolume() { return sCurrentVolume; } + static void setCurrentVolume(JKRFileLoader* fileLoader) { sCurrentVolume = fileLoader; } + static JSUList& getVolumeList() { return sVolumeList; } + + static JKRFileLoader* sCurrentVolume; + static JSUList sVolumeList; }; #endif diff --git a/include/JSystem/JKernel/JKRFileLoader/asm/func_802D4148.s b/include/JSystem/JKernel/JKRFileLoader/asm/func_802D4148.s index 1183fe1abde..2963b552a38 100644 --- a/include/JSystem/JKernel/JKRFileLoader/asm/func_802D4148.s +++ b/include/JSystem/JKernel/JKRFileLoader/asm/func_802D4148.s @@ -11,11 +11,11 @@ /* 802D4168 002D10A8 3C 60 80 3D */ lis r3, lbl_803CC1C8@ha /* 802D416C 002D10AC 38 03 C1 C8 */ addi r0, r3, lbl_803CC1C8@l /* 802D4170 002D10B0 90 1E 00 00 */ stw r0, 0(r30) -/* 802D4174 002D10B4 80 0D 8E 98 */ lwz r0, lbl_80451418-_SDA_BASE_(r13) +/* 802D4174 002D10B4 80 0D 8E 98 */ lwz r0, sCurrentVolume__13JKRFileLoader-_SDA_BASE_(r13) /* 802D4178 002D10B8 7C 00 F0 40 */ cmplw r0, r30 /* 802D417C 002D10BC 40 82 00 0C */ bne lbl_802D4188 /* 802D4180 002D10C0 38 00 00 00 */ li r0, 0 -/* 802D4184 002D10C4 90 0D 8E 98 */ stw r0, lbl_80451418-_SDA_BASE_(r13) +/* 802D4184 002D10C4 90 0D 8E 98 */ stw r0, sCurrentVolume__13JKRFileLoader-_SDA_BASE_(r13) lbl_802D4188: /* 802D4188 002D10C8 34 1E 00 18 */ addic. r0, r30, 0x18 /* 802D418C 002D10CC 41 82 00 10 */ beq lbl_802D419C diff --git a/include/JSystem/JKernel/JKRFileLoader/asm/func_802D4270.s b/include/JSystem/JKernel/JKRFileLoader/asm/func_802D4270.s index 5435cd3e5bb..d6a2233e509 100644 --- a/include/JSystem/JKernel/JKRFileLoader/asm/func_802D4270.s +++ b/include/JSystem/JKernel/JKRFileLoader/asm/func_802D4270.s @@ -18,8 +18,8 @@ /* 802D42AC 002D11EC 4E 80 04 21 */ bctrl /* 802D42B0 002D11F0 48 00 00 40 */ b lbl_802D42F0 lbl_802D42B4: -/* 802D42B4 002D11F4 3C 80 80 43 */ lis r4, lbl_80434354@ha -/* 802D42B8 002D11F8 83 E4 43 54 */ lwz r31, lbl_80434354@l(r4) +/* 802D42B4 002D11F4 3C 80 80 43 */ lis r4, sVolumeList__13JKRFileLoader@ha +/* 802D42B8 002D11F8 83 E4 43 54 */ lwz r31, sVolumeList__13JKRFileLoader@l(r4) /* 802D42BC 002D11FC 48 00 00 2C */ b lbl_802D42E8 lbl_802D42C0: /* 802D42C0 002D1200 80 7F 00 00 */ lwz r3, 0(r31) diff --git a/include/JSystem/JKernel/JKRFileLoader/asm/func_802D4308.s b/include/JSystem/JKernel/JKRFileLoader/asm/func_802D4308.s index ee1f63749f3..2e50b745a80 100644 --- a/include/JSystem/JKernel/JKRFileLoader/asm/func_802D4308.s +++ b/include/JSystem/JKernel/JKRFileLoader/asm/func_802D4308.s @@ -16,8 +16,8 @@ /* 802D433C 002D127C 4E 80 04 21 */ bctrl /* 802D4340 002D1280 48 00 00 48 */ b lbl_802D4388 lbl_802D4344: -/* 802D4344 002D1284 3C 60 80 43 */ lis r3, lbl_80434354@ha -/* 802D4348 002D1288 83 E3 43 54 */ lwz r31, lbl_80434354@l(r3) +/* 802D4344 002D1284 3C 60 80 43 */ lis r3, sVolumeList__13JKRFileLoader@ha +/* 802D4348 002D1288 83 E3 43 54 */ lwz r31, sVolumeList__13JKRFileLoader@l(r3) /* 802D434C 002D128C 48 00 00 30 */ b lbl_802D437C lbl_802D4350: /* 802D4350 002D1290 80 7F 00 00 */ lwz r3, 0(r31) diff --git a/include/JSystem/JKernel/JKRFileLoader/asm/func_802D43A0.s b/include/JSystem/JKernel/JKRFileLoader/asm/func_802D43A0.s index 3c24ccd7fd9..10bddda48e3 100644 --- a/include/JSystem/JKernel/JKRFileLoader/asm/func_802D43A0.s +++ b/include/JSystem/JKernel/JKRFileLoader/asm/func_802D43A0.s @@ -16,8 +16,8 @@ /* 802D43D4 002D1314 4E 80 04 21 */ bctrl /* 802D43D8 002D1318 48 00 00 48 */ b lbl_802D4420 lbl_802D43DC: -/* 802D43DC 002D131C 3C 60 80 43 */ lis r3, lbl_80434354@ha -/* 802D43E0 002D1320 83 E3 43 54 */ lwz r31, lbl_80434354@l(r3) +/* 802D43DC 002D131C 3C 60 80 43 */ lis r3, sVolumeList__13JKRFileLoader@ha +/* 802D43E0 002D1320 83 E3 43 54 */ lwz r31, sVolumeList__13JKRFileLoader@l(r3) /* 802D43E4 002D1324 48 00 00 30 */ b lbl_802D4414 lbl_802D43E8: /* 802D43E8 002D1328 80 7F 00 00 */ lwz r3, 0(r31) diff --git a/include/JSystem/JKernel/JKRFileLoader/asm/func_802D4438.s b/include/JSystem/JKernel/JKRFileLoader/asm/func_802D4438.s index b50d6c27d28..c6e5061602b 100644 --- a/include/JSystem/JKernel/JKRFileLoader/asm/func_802D4438.s +++ b/include/JSystem/JKernel/JKRFileLoader/asm/func_802D4438.s @@ -9,15 +9,15 @@ /* 802D4450 002D1390 88 05 00 00 */ lbz r0, 0(r5) /* 802D4454 002D1394 2C 00 00 2F */ cmpwi r0, 0x2f /* 802D4458 002D1398 41 82 00 0C */ beq lbl_802D4464 -/* 802D445C 002D139C 80 6D 8E 98 */ lwz r3, lbl_80451418-_SDA_BASE_(r13) +/* 802D445C 002D139C 80 6D 8E 98 */ lwz r3, sCurrentVolume__13JKRFileLoader-_SDA_BASE_(r13) /* 802D4460 002D13A0 48 00 00 50 */ b lbl_802D44B0 lbl_802D4464: /* 802D4464 002D13A4 38 61 00 08 */ addi r3, r1, 8 /* 802D4468 002D13A8 38 80 01 01 */ li r4, 0x101 /* 802D446C 002D13AC 48 00 00 59 */ bl fetchVolumeName__13JKRFileLoaderFPclPCc /* 802D4470 002D13B0 90 7F 00 00 */ stw r3, 0(r31) -/* 802D4474 002D13B4 3C 60 80 43 */ lis r3, lbl_80434354@ha -/* 802D4478 002D13B8 83 E3 43 54 */ lwz r31, lbl_80434354@l(r3) +/* 802D4474 002D13B4 3C 60 80 43 */ lis r3, sVolumeList__13JKRFileLoader@ha +/* 802D4478 002D13B8 83 E3 43 54 */ lwz r31, sVolumeList__13JKRFileLoader@l(r3) /* 802D447C 002D13BC 48 00 00 28 */ b lbl_802D44A4 lbl_802D4480: /* 802D4480 002D13C0 80 9F 00 00 */ lwz r4, 0(r31) diff --git a/include/JSystem/JKernel/JKRFileLoader/asm/func_802D45A0.s b/include/JSystem/JKernel/JKRFileLoader/asm/func_802D45A0.s index a128e9bbe17..d1de857590a 100644 --- a/include/JSystem/JKernel/JKRFileLoader/asm/func_802D45A0.s +++ b/include/JSystem/JKernel/JKRFileLoader/asm/func_802D45A0.s @@ -3,11 +3,11 @@ /* 802D45A0 002D14E0 94 21 FF F0 */ stwu r1, -0x10(r1) /* 802D45A4 002D14E4 7C 08 02 A6 */ mflr r0 /* 802D45A8 002D14E8 90 01 00 14 */ stw r0, 0x14(r1) -/* 802D45AC 002D14EC 3C 60 80 43 */ lis r3, lbl_80434354@ha -/* 802D45B0 002D14F0 38 63 43 54 */ addi r3, r3, lbl_80434354@l +/* 802D45AC 002D14EC 3C 60 80 43 */ lis r3, sVolumeList__13JKRFileLoader@ha +/* 802D45B0 002D14F0 38 63 43 54 */ addi r3, r3, sVolumeList__13JKRFileLoader@l /* 802D45B4 002D14F4 48 00 79 61 */ bl initiate__10JSUPtrListFv -/* 802D45B8 002D14F8 3C 60 80 43 */ lis r3, lbl_80434354@ha -/* 802D45BC 002D14FC 38 63 43 54 */ addi r3, r3, lbl_80434354@l +/* 802D45B8 002D14F8 3C 60 80 43 */ lis r3, sVolumeList__13JKRFileLoader@ha +/* 802D45BC 002D14FC 38 63 43 54 */ addi r3, r3, sVolumeList__13JKRFileLoader@l /* 802D45C0 002D1500 3C 80 80 2D */ lis r4, JSUList_NS_dtor_X6_@ha /* 802D45C4 002D1504 38 84 45 E4 */ addi r4, r4, JSUList_NS_dtor_X6_@l /* 802D45C8 002D1508 3C A0 80 43 */ lis r5, lbl_80434348@ha diff --git a/include/JSystem/JKernel/JKRHeap/JKRHeap.h b/include/JSystem/JKernel/JKRHeap/JKRHeap.h index a7470eda219..58724932bf3 100644 --- a/include/JSystem/JKernel/JKRHeap/JKRHeap.h +++ b/include/JSystem/JKernel/JKRHeap/JKRHeap.h @@ -136,14 +136,16 @@ public: static void JKRDefaultMemoryErrorRoutine(JKRHeap* heap, u32 size, int alignment); static JKRErrorHandler setErrorHandler(JKRErrorHandler errorHandler); - static void* getCodeStart(void) { return lbl_80451384; } - static void* getCodeEnd(void) { return lbl_80451388; } - static void* getUserRamStart(void) { return lbl_8045138C; } - static void* getUserRamEnd(void) { return lbl_80451390; } - static u32 getMemorySize(void) { return lbl_80451394; } - static JKRHeap* getRootHeap() { return lbl_80451378; } - static JKRHeap* getSystemHeap() { return lbl_80451370; } - static JKRHeap* getCurrentHeap() { return lbl_80451374; } + static void* getCodeStart(void) { return mCodeStart; } + static void* getCodeEnd(void) { return mCodeEnd; } + static void* getUserRamStart(void) { return mUserRamStart; } + static void* getUserRamEnd(void) { return mUserRamEnd; } + static u32 getMemorySize(void) { return mMemorySize; } + static JKRHeap* getRootHeap() { return sRootHeap; } + static JKRHeap* getSystemHeap() { return sSystemHeap; } + static JKRHeap* getCurrentHeap() { return sCurrentHeap; } + static void setSystemHeap(JKRHeap* heap) { sSystemHeap = heap; } + static void setCurrentHeap(JKRHeap* heap) { sCurrentHeap = heap; } static void setState_u32ID_(TState* state, u32 id) { state->mId = id; } static void setState_uUsedSize_(TState* state, u32 usedSize) { state->mUsedSize = usedSize; } @@ -152,6 +154,16 @@ public: } static void* getState_buf_(TState* state) { return &state->mBuf; } static void* getState_(TState* state) { return getState_buf_(state); } + + static void* mCodeStart; + static void* mCodeEnd; + static void* mUserRamStart; + static void* mUserRamEnd; + static u32 mMemorySize; + + static JKRHeap* sRootHeap; + static JKRHeap* sSystemHeap; + static JKRHeap* sCurrentHeap; }; void* operator new(u32 size); @@ -191,4 +203,12 @@ inline void JKRFree(void* ptr) { JKRHeap::free(ptr, NULL); } +inline JKRHeap* JKRGetSystemHeap() { + return JKRHeap::getSystemHeap(); +} + +inline JKRHeap* JKRGetCurrentHeap() { + return JKRHeap::getCurrentHeap(); +} + #endif \ No newline at end of file diff --git a/include/JSystem/JKernel/JKRHeap/asm/func_802CE138.s b/include/JSystem/JKernel/JKRHeap/asm/func_802CE138.s index 3ccaf1573b2..8c280fae384 100644 --- a/include/JSystem/JKernel/JKRHeap/asm/func_802CE138.s +++ b/include/JSystem/JKernel/JKRHeap/asm/func_802CE138.s @@ -40,15 +40,15 @@ lbl_802CE1C4: lbl_802CE1D0: /* 802CE1D0 002CB110 38 7D 00 40 */ addi r3, r29, 0x40 /* 802CE1D4 002CB114 48 00 DD 79 */ bl append__10JSUPtrListFP10JSUPtrLink -/* 802CE1D8 002CB118 80 6D 8D F0 */ lwz r3, lbl_80451370-_SDA_BASE_(r13) -/* 802CE1DC 002CB11C 80 0D 8D F8 */ lwz r0, lbl_80451378-_SDA_BASE_(r13) +/* 802CE1D8 002CB118 80 6D 8D F0 */ lwz r3, sSystemHeap__7JKRHeap-_SDA_BASE_(r13) +/* 802CE1DC 002CB11C 80 0D 8D F8 */ lwz r0, sRootHeap__7JKRHeap-_SDA_BASE_(r13) /* 802CE1E0 002CB120 7C 03 00 40 */ cmplw r3, r0 /* 802CE1E4 002CB124 40 82 00 0C */ bne lbl_802CE1F0 /* 802CE1E8 002CB128 7F E3 FB 78 */ mr r3, r31 /* 802CE1EC 002CB12C 48 00 02 3D */ bl becomeSystemHeap__7JKRHeapFv lbl_802CE1F0: -/* 802CE1F0 002CB130 80 6D 8D F4 */ lwz r3, lbl_80451374-_SDA_BASE_(r13) -/* 802CE1F4 002CB134 80 0D 8D F8 */ lwz r0, lbl_80451378-_SDA_BASE_(r13) +/* 802CE1F0 002CB130 80 6D 8D F4 */ lwz r3, sCurrentHeap__7JKRHeap-_SDA_BASE_(r13) +/* 802CE1F4 002CB134 80 0D 8D F8 */ lwz r0, sRootHeap__7JKRHeap-_SDA_BASE_(r13) /* 802CE1F8 002CB138 7C 03 00 40 */ cmplw r3, r0 /* 802CE1FC 002CB13C 40 82 00 0C */ bne lbl_802CE208 /* 802CE200 002CB140 7F E3 FB 78 */ mr r3, r31 diff --git a/include/JSystem/JKernel/JKRHeap/asm/func_802CE264.s b/include/JSystem/JKernel/JKRHeap/asm/func_802CE264.s index 373ba892dda..1a3ee5daaed 100644 --- a/include/JSystem/JKernel/JKRHeap/asm/func_802CE264.s +++ b/include/JSystem/JKernel/JKRHeap/asm/func_802CE264.s @@ -15,13 +15,13 @@ /* 802CE29C 002CB1DC 38 84 00 0C */ addi r4, r4, 0xc lbl_802CE2A0: /* 802CE2A0 002CB1E0 48 00 DE BD */ bl remove__10JSUPtrListFP10JSUPtrLink -/* 802CE2A4 002CB1E4 80 8D 8D F8 */ lwz r4, lbl_80451378-_SDA_BASE_(r13) +/* 802CE2A4 002CB1E4 80 8D 8D F8 */ lwz r4, sRootHeap__7JKRHeap-_SDA_BASE_(r13) /* 802CE2A8 002CB1E8 80 64 00 40 */ lwz r3, 0x40(r4) /* 802CE2AC 002CB1EC 28 03 00 00 */ cmplwi r3, 0 /* 802CE2B0 002CB1F0 41 82 00 08 */ beq lbl_802CE2B8 /* 802CE2B4 002CB1F4 38 63 FF F4 */ addi r3, r3, -12 lbl_802CE2B8: -/* 802CE2B8 002CB1F8 80 0D 8D F4 */ lwz r0, lbl_80451374-_SDA_BASE_(r13) +/* 802CE2B8 002CB1F8 80 0D 8D F4 */ lwz r0, sCurrentHeap__7JKRHeap-_SDA_BASE_(r13) /* 802CE2BC 002CB1FC 7C 00 F0 40 */ cmplw r0, r30 /* 802CE2C0 002CB200 40 82 00 1C */ bne lbl_802CE2DC /* 802CE2C4 002CB204 28 03 00 00 */ cmplwi r3, 0 @@ -31,9 +31,9 @@ lbl_802CE2B8: lbl_802CE2D4: /* 802CE2D4 002CB214 80 03 00 0C */ lwz r0, 0xc(r3) lbl_802CE2D8: -/* 802CE2D8 002CB218 90 0D 8D F4 */ stw r0, lbl_80451374-_SDA_BASE_(r13) +/* 802CE2D8 002CB218 90 0D 8D F4 */ stw r0, sCurrentHeap__7JKRHeap-_SDA_BASE_(r13) lbl_802CE2DC: -/* 802CE2DC 002CB21C 80 0D 8D F0 */ lwz r0, lbl_80451370-_SDA_BASE_(r13) +/* 802CE2DC 002CB21C 80 0D 8D F0 */ lwz r0, sSystemHeap__7JKRHeap-_SDA_BASE_(r13) /* 802CE2E0 002CB220 7C 00 F0 40 */ cmplw r0, r30 /* 802CE2E4 002CB224 40 82 00 18 */ bne lbl_802CE2FC /* 802CE2E8 002CB228 28 03 00 00 */ cmplwi r3, 0 @@ -42,7 +42,7 @@ lbl_802CE2DC: lbl_802CE2F4: /* 802CE2F4 002CB234 80 83 00 0C */ lwz r4, 0xc(r3) lbl_802CE2F8: -/* 802CE2F8 002CB238 90 8D 8D F0 */ stw r4, lbl_80451370-_SDA_BASE_(r13) +/* 802CE2F8 002CB238 90 8D 8D F0 */ stw r4, sSystemHeap__7JKRHeap-_SDA_BASE_(r13) lbl_802CE2FC: /* 802CE2FC 002CB23C 34 1E 00 5C */ addic. r0, r30, 0x5c /* 802CE300 002CB240 41 82 00 10 */ beq lbl_802CE310 diff --git a/include/JSystem/JKernel/JKRHeap/asm/func_802CE378.s b/include/JSystem/JKernel/JKRHeap/asm/func_802CE378.s index 2437d87215f..0eb3aaad5b9 100644 --- a/include/JSystem/JKernel/JKRHeap/asm/func_802CE378.s +++ b/include/JSystem/JKernel/JKRHeap/asm/func_802CE378.s @@ -23,12 +23,12 @@ lbl_802CE3B8: /* 802CE3CC 002CB30C 54 1F 00 34 */ rlwinm r31, r0, 0, 0, 0x1a /* 802CE3D0 002CB310 57 BE 00 34 */ rlwinm r30, r29, 0, 0, 0x1a /* 802CE3D4 002CB314 3C 60 80 00 */ lis r3, 0x80000028@ha -/* 802CE3D8 002CB318 90 6D 8E 04 */ stw r3, lbl_80451384-_SDA_BASE_(r13) -/* 802CE3DC 002CB31C 93 ED 8E 08 */ stw r31, lbl_80451388-_SDA_BASE_(r13) -/* 802CE3E0 002CB320 93 ED 8E 0C */ stw r31, lbl_8045138C-_SDA_BASE_(r13) -/* 802CE3E4 002CB324 93 CD 8E 10 */ stw r30, lbl_80451390-_SDA_BASE_(r13) +/* 802CE3D8 002CB318 90 6D 8E 04 */ stw r3, mCodeStart__7JKRHeap-_SDA_BASE_(r13) +/* 802CE3DC 002CB31C 93 ED 8E 08 */ stw r31, mCodeEnd__7JKRHeap-_SDA_BASE_(r13) +/* 802CE3E0 002CB320 93 ED 8E 0C */ stw r31, mUserRamStart__7JKRHeap-_SDA_BASE_(r13) +/* 802CE3E4 002CB324 93 CD 8E 10 */ stw r30, mUserRamEnd__7JKRHeap-_SDA_BASE_(r13) /* 802CE3E8 002CB328 80 03 00 28 */ lwz r0, 0x80000028@l(r3) -/* 802CE3EC 002CB32C 90 0D 8E 14 */ stw r0, lbl_80451394-_SDA_BASE_(r13) +/* 802CE3EC 002CB32C 90 0D 8E 14 */ stw r0, mMemorySize__7JKRHeap-_SDA_BASE_(r13) /* 802CE3F0 002CB330 7F C3 F3 78 */ mr r3, r30 /* 802CE3F4 002CB334 48 06 CE B1 */ bl OSSetArenaLo /* 802CE3F8 002CB338 7F C3 F3 78 */ mr r3, r30 diff --git a/include/JSystem/JKernel/JKRHeap/asm/func_802CE428.s b/include/JSystem/JKernel/JKRHeap/asm/func_802CE428.s index 33ab82edb8b..13a1d0da2ed 100644 --- a/include/JSystem/JKernel/JKRHeap/asm/func_802CE428.s +++ b/include/JSystem/JKernel/JKRHeap/asm/func_802CE428.s @@ -1,4 +1,4 @@ -/* 802CE428 002CB368 80 0D 8D F0 */ lwz r0, lbl_80451370-_SDA_BASE_(r13) -/* 802CE42C 002CB36C 90 6D 8D F0 */ stw r3, lbl_80451370-_SDA_BASE_(r13) +/* 802CE428 002CB368 80 0D 8D F0 */ lwz r0, sSystemHeap__7JKRHeap-_SDA_BASE_(r13) +/* 802CE42C 002CB36C 90 6D 8D F0 */ stw r3, sSystemHeap__7JKRHeap-_SDA_BASE_(r13) /* 802CE430 002CB370 7C 03 03 78 */ mr r3, r0 /* 802CE434 002CB374 4E 80 00 20 */ blr \ No newline at end of file diff --git a/include/JSystem/JKernel/JKRHeap/asm/func_802CE438.s b/include/JSystem/JKernel/JKRHeap/asm/func_802CE438.s index 0e5d91b7e1e..e7d17a686bd 100644 --- a/include/JSystem/JKernel/JKRHeap/asm/func_802CE438.s +++ b/include/JSystem/JKernel/JKRHeap/asm/func_802CE438.s @@ -1,4 +1,4 @@ -/* 802CE438 002CB378 80 0D 8D F4 */ lwz r0, lbl_80451374-_SDA_BASE_(r13) -/* 802CE43C 002CB37C 90 6D 8D F4 */ stw r3, lbl_80451374-_SDA_BASE_(r13) +/* 802CE438 002CB378 80 0D 8D F4 */ lwz r0, sCurrentHeap__7JKRHeap-_SDA_BASE_(r13) +/* 802CE43C 002CB37C 90 6D 8D F4 */ stw r3, sCurrentHeap__7JKRHeap-_SDA_BASE_(r13) /* 802CE440 002CB380 7C 03 03 78 */ mr r3, r0 /* 802CE444 002CB384 4E 80 00 20 */ blr \ No newline at end of file diff --git a/include/JSystem/JKernel/JKRHeap/asm/func_802CE474.s b/include/JSystem/JKernel/JKRHeap/asm/func_802CE474.s index 3936faed97b..47cfa1afe16 100644 --- a/include/JSystem/JKernel/JKRHeap/asm/func_802CE474.s +++ b/include/JSystem/JKernel/JKRHeap/asm/func_802CE474.s @@ -11,7 +11,7 @@ /* 802CE49C 002CB3DC 48 00 00 39 */ bl alloc__7JKRHeapFUli /* 802CE4A0 002CB3E0 48 00 00 24 */ b lbl_802CE4C4 lbl_802CE4A4: -/* 802CE4A4 002CB3E4 80 6D 8D F4 */ lwz r3, lbl_80451374-_SDA_BASE_(r13) +/* 802CE4A4 002CB3E4 80 6D 8D F4 */ lwz r3, sCurrentHeap__7JKRHeap-_SDA_BASE_(r13) /* 802CE4A8 002CB3E8 28 03 00 00 */ cmplwi r3, 0 /* 802CE4AC 002CB3EC 41 82 00 14 */ beq lbl_802CE4C0 /* 802CE4B0 002CB3F0 7C C4 33 78 */ mr r4, r6 diff --git a/include/JSystem/JKernel/JKRHeap/asm/func_802CE83C.s b/include/JSystem/JKernel/JKRHeap/asm/func_802CE83C.s index bf1f7202af3..3409ac4f304 100644 --- a/include/JSystem/JKernel/JKRHeap/asm/func_802CE83C.s +++ b/include/JSystem/JKernel/JKRHeap/asm/func_802CE83C.s @@ -2,7 +2,7 @@ /* 802CE840 002CB780 7C 08 02 A6 */ mflr r0 /* 802CE844 002CB784 90 01 00 14 */ stw r0, 0x14(r1) /* 802CE848 002CB788 7C 64 1B 78 */ mr r4, r3 -/* 802CE84C 002CB78C 80 6D 8D F8 */ lwz r3, lbl_80451378-_SDA_BASE_(r13) +/* 802CE84C 002CB78C 80 6D 8D F8 */ lwz r3, sRootHeap__7JKRHeap-_SDA_BASE_(r13) /* 802CE850 002CB790 28 03 00 00 */ cmplwi r3, 0 /* 802CE854 002CB794 40 82 00 0C */ bne lbl_802CE860 /* 802CE858 002CB798 38 60 00 00 */ li r3, 0 diff --git a/include/JSystem/JKernel/JKRMemArchive/JKRMemArchive.h b/include/JSystem/JKernel/JKRMemArchive/JKRMemArchive.h index 2c676ebb51a..e0bbc859e40 100644 --- a/include/JSystem/JKernel/JKRMemArchive/JKRMemArchive.h +++ b/include/JSystem/JKernel/JKRMemArchive/JKRMemArchive.h @@ -21,7 +21,7 @@ public: /* vt[09] */ void removeResourceAll(void); /* override */ /* vt[10] */ bool removeResource(void*); /* override */ - /* vt[15] */ u32 getExpandedResSize(const void*) const; /* override */ + /* vt[15] */ u32 getExpandedResSize(const void*); /* override */ /* vt[16] */ void* fetchResource(SDIFileEntry*, u32*); /* override */ /* vt[17] */ void* fetchResource(void*, u32, SDIFileEntry*, u32*); /* override */ diff --git a/include/JSystem/JKernel/JKRMemArchive/asm/func_802D69B8.s b/include/JSystem/JKernel/JKRMemArchive/asm/func_802D69B8.s index c3adf41b160..3e2eb8e2d82 100644 --- a/include/JSystem/JKernel/JKRMemArchive/asm/func_802D69B8.s +++ b/include/JSystem/JKernel/JKRMemArchive/asm/func_802D69B8.s @@ -33,8 +33,8 @@ lbl_802D6A18: /* 802D6A2C 002D396C 80 03 00 04 */ lwz r0, 4(r3) /* 802D6A30 002D3970 7C 04 02 14 */ add r0, r4, r0 /* 802D6A34 002D3974 90 1D 00 28 */ stw r0, 0x28(r29) -/* 802D6A38 002D3978 3C 60 80 43 */ lis r3, lbl_80434354@ha -/* 802D6A3C 002D397C 38 63 43 54 */ addi r3, r3, lbl_80434354@l +/* 802D6A38 002D3978 3C 60 80 43 */ lis r3, sVolumeList__13JKRFileLoader@ha +/* 802D6A3C 002D397C 38 63 43 54 */ addi r3, r3, sVolumeList__13JKRFileLoader@l /* 802D6A40 002D3980 38 9D 00 18 */ addi r4, r29, 0x18 /* 802D6A44 002D3984 48 00 55 AD */ bl prepend__10JSUPtrListFP10JSUPtrLink /* 802D6A48 002D3988 38 00 00 01 */ li r0, 1 diff --git a/include/JSystem/JKernel/JKRMemArchive/asm/func_802D6A6C.s b/include/JSystem/JKernel/JKRMemArchive/asm/func_802D6A6C.s index 3580a5aa7a3..accaf35d296 100644 --- a/include/JSystem/JKernel/JKRMemArchive/asm/func_802D6A6C.s +++ b/include/JSystem/JKernel/JKRMemArchive/asm/func_802D6A6C.s @@ -34,8 +34,8 @@ lbl_802D6AD0: /* 802D6AE4 002D3A24 80 03 00 04 */ lwz r0, 4(r3) /* 802D6AE8 002D3A28 7C 04 02 14 */ add r0, r4, r0 /* 802D6AEC 002D3A2C 90 1C 00 28 */ stw r0, 0x28(r28) -/* 802D6AF0 002D3A30 3C 60 80 43 */ lis r3, lbl_80434354@ha -/* 802D6AF4 002D3A34 38 63 43 54 */ addi r3, r3, lbl_80434354@l +/* 802D6AF0 002D3A30 3C 60 80 43 */ lis r3, sVolumeList__13JKRFileLoader@ha +/* 802D6AF4 002D3A34 38 63 43 54 */ addi r3, r3, sVolumeList__13JKRFileLoader@l /* 802D6AF8 002D3A38 38 9C 00 18 */ addi r4, r28, 0x18 /* 802D6AFC 002D3A3C 48 00 54 F5 */ bl prepend__10JSUPtrListFP10JSUPtrLink /* 802D6B00 002D3A40 38 00 00 01 */ li r0, 1 diff --git a/include/JSystem/JKernel/JKRMemArchive/asm/func_802D6B24.s b/include/JSystem/JKernel/JKRMemArchive/asm/func_802D6B24.s index 703975325a7..d1c20dab691 100644 --- a/include/JSystem/JKernel/JKRMemArchive/asm/func_802D6B24.s +++ b/include/JSystem/JKernel/JKRMemArchive/asm/func_802D6B24.s @@ -23,8 +23,8 @@ /* 802D6B74 002D3AB4 80 9E 00 38 */ lwz r4, 0x38(r30) /* 802D6B78 002D3AB8 4B FF 79 89 */ bl free__7JKRHeapFPvP7JKRHeap lbl_802D6B7C: -/* 802D6B7C 002D3ABC 3C 60 80 43 */ lis r3, lbl_80434354@ha -/* 802D6B80 002D3AC0 38 63 43 54 */ addi r3, r3, lbl_80434354@l +/* 802D6B7C 002D3ABC 3C 60 80 43 */ lis r3, sVolumeList__13JKRFileLoader@ha +/* 802D6B80 002D3AC0 38 63 43 54 */ addi r3, r3, sVolumeList__13JKRFileLoader@l /* 802D6B84 002D3AC4 38 9E 00 18 */ addi r4, r30, 0x18 /* 802D6B88 002D3AC8 48 00 55 D5 */ bl remove__10JSUPtrListFP10JSUPtrLink /* 802D6B8C 002D3ACC 38 00 00 00 */ li r0, 0 diff --git a/include/JSystem/JKernel/JKRMemArchive/asm/func_802D6BCC.s b/include/JSystem/JKernel/JKRMemArchive/asm/func_802D6BCC.s index afcf3895708..3b028d5bd84 100644 --- a/include/JSystem/JKernel/JKRMemArchive/asm/func_802D6BCC.s +++ b/include/JSystem/JKernel/JKRMemArchive/asm/func_802D6BCC.s @@ -27,7 +27,7 @@ /* 802D6C2C 002D3B6C 39 00 00 01 */ li r8, 1 /* 802D6C30 002D3B70 39 20 00 00 */ li r9, 0 /* 802D6C34 002D3B74 39 5F 00 5C */ addi r10, r31, 0x5c -/* 802D6C38 002D3B78 48 00 30 1D */ bl loadToMainRAM__12JKRDvdRipperFlPUc15JKRExpandSwitchUlP7JKRHeapQ212JKRDvdRipper15EAllocDirectionUlP14JKRCompressionPUl +/* 802D6C38 002D3B78 48 00 30 1D */ bl loadToMainRAM__12JKRDvdRipperFlPUc15JKRExpandSwitchUlP7JKRHeapQ212JKRDvdRipper15EAllocDirectionUlPiPUl /* 802D6C3C 002D3B7C 90 7F 00 64 */ stw r3, 0x64(r31) /* 802D6C40 002D3B80 80 7F 00 64 */ lwz r3, 0x64(r31) /* 802D6C44 002D3B84 28 03 00 00 */ cmplwi r3, 0 @@ -46,7 +46,7 @@ lbl_802D6C58: /* 802D6C74 002D3BB4 39 00 00 02 */ li r8, 2 /* 802D6C78 002D3BB8 39 20 00 00 */ li r9, 0 /* 802D6C7C 002D3BBC 39 5F 00 5C */ addi r10, r31, 0x5c -/* 802D6C80 002D3BC0 48 00 2F D5 */ bl loadToMainRAM__12JKRDvdRipperFlPUc15JKRExpandSwitchUlP7JKRHeapQ212JKRDvdRipper15EAllocDirectionUlP14JKRCompressionPUl +/* 802D6C80 002D3BC0 48 00 2F D5 */ bl loadToMainRAM__12JKRDvdRipperFlPUc15JKRExpandSwitchUlP7JKRHeapQ212JKRDvdRipper15EAllocDirectionUlPiPUl /* 802D6C84 002D3BC4 90 7F 00 64 */ stw r3, 0x64(r31) /* 802D6C88 002D3BC8 80 7F 00 64 */ lwz r3, 0x64(r31) /* 802D6C8C 002D3BCC 28 03 00 00 */ cmplwi r3, 0 diff --git a/include/JSystem/JKernel/JKRMemArchive/asm/func_802D6E10.s b/include/JSystem/JKernel/JKRMemArchive/asm/func_802D6E10.s index a6bf0c82885..129a0744e38 100644 --- a/include/JSystem/JKernel/JKRMemArchive/asm/func_802D6E10.s +++ b/include/JSystem/JKernel/JKRMemArchive/asm/func_802D6E10.s @@ -41,7 +41,7 @@ lbl_802D6E88: /* 802D6E94 002D3DD4 7F E4 FB 78 */ mr r4, r31 /* 802D6E98 002D3DD8 7F A5 EB 78 */ mr r5, r29 /* 802D6E9C 002D3DDC 7D 06 43 78 */ mr r6, r8 -/* 802D6EA0 002D3DE0 48 00 00 BD */ bl fetchResource_subroutine__13JKRMemArchiveFPUcUlPUcUl14JKRCompression +/* 802D6EA0 002D3DE0 48 00 00 BD */ bl fetchResource_subroutine__13JKRMemArchiveFPUcUlPUcUli /* 802D6EA4 002D3DE4 7C 7F 1B 78 */ mr r31, r3 lbl_802D6EA8: /* 802D6EA8 002D3DE8 28 1E 00 00 */ cmplwi r30, 0 diff --git a/include/JSystem/JKernel/JKRMemArchive/asm/func_802D6F5C.s b/include/JSystem/JKernel/JKRMemArchive/asm/func_802D6F5C.s index 5dbcb760014..7f6f9b40323 100644 --- a/include/JSystem/JKernel/JKRMemArchive/asm/func_802D6F5C.s +++ b/include/JSystem/JKernel/JKRMemArchive/asm/func_802D6F5C.s @@ -1,4 +1,4 @@ -/* fetchResource_subroutine__13JKRMemArchiveFPUcUlPUcUl14JKRCompression __ct__13JKRMemArchiveFlQ210JKRArchive15EMountDirection::fetchResource_subroutine(unsigned char *, unsigned long, unsigned char *, unsigned long, int) */ +/* fetchResource_subroutine__13JKRMemArchiveFPUcUlPUcUli __ct__13JKRMemArchiveFlQ210JKRArchive15EMountDirection::fetchResource_subroutine(unsigned char *, unsigned long, unsigned char *, unsigned long, int) */ /* JKRMemArchive_NS_fetchResource_subroutine */ /* 802D6F5C 002D3E9C 94 21 FF F0 */ stwu r1, -0x10(r1) /* 802D6F60 002D3EA0 7C 08 02 A6 */ mflr r0 diff --git a/include/JSystem/JKernel/JKRThread/JKRThread.h b/include/JSystem/JKernel/JKRThread/JKRThread.h index d259de7d11e..1268256936d 100644 --- a/include/JSystem/JKernel/JKRThread/JKRThread.h +++ b/include/JSystem/JKernel/JKRThread/JKRThread.h @@ -26,6 +26,7 @@ public: JKRHeap* getCurrentHeap() const { return mCurrentHeap; } JKRHeap* getCurrentHeapError() const { return mCurrentHeapError; } +protected: void resume() { OSResumeThread(mThreadRecord); } void sendMessage(OSMessage message) { OSSendMessage(&mMessageQueue, message, OS_MESSAGE_NON_BLOCKING); @@ -70,7 +71,9 @@ private: public: static void* start(void* param_1); static JKRThread* searchThread(OSThread* thread); - static JSUList* getList() { return &lbl_8043428C; } + static JSUList& getList() { return sThreadList; } + + static JSUList sThreadList; }; class JKRThreadSwitch { diff --git a/include/JSystem/JKernel/JKRThread/asm/func_802D1568.s b/include/JSystem/JKernel/JKRThread/asm/func_802D1568.s index 987b22cdf31..f801a642800 100644 --- a/include/JSystem/JKernel/JKRThread/asm/func_802D1568.s +++ b/include/JSystem/JKernel/JKRThread/asm/func_802D1568.s @@ -24,7 +24,7 @@ /* 802D15C4 002CE504 4B FF D2 79 */ bl findFromRoot__7JKRHeapFPv /* 802D15C8 002CE508 7C 64 1B 79 */ or. r4, r3, r3 /* 802D15CC 002CE50C 40 82 00 08 */ bne lbl_802D15D4 -/* 802D15D0 002CE510 80 8D 8D F0 */ lwz r4, lbl_80451370-_SDA_BASE_(r13) +/* 802D15D0 002CE510 80 8D 8D F0 */ lwz r4, sSystemHeap__7JKRHeap-_SDA_BASE_(r13) lbl_802D15D4: /* 802D15D4 002CE514 7F 83 E3 78 */ mr r3, r28 /* 802D15D8 002CE518 7F A5 EB 78 */ mr r5, r29 diff --git a/include/JSystem/JKernel/JKRThread/asm/func_802D1610.s b/include/JSystem/JKernel/JKRThread/asm/func_802D1610.s index f9ff4b833a2..17eccb5a2a3 100644 --- a/include/JSystem/JKernel/JKRThread/asm/func_802D1610.s +++ b/include/JSystem/JKernel/JKRThread/asm/func_802D1610.s @@ -23,7 +23,7 @@ /* 802D1668 002CE5A8 90 1B 00 70 */ stw r0, 0x70(r27) /* 802D166C 002CE5AC 28 1C 00 00 */ cmplwi r28, 0 /* 802D1670 002CE5B0 40 82 00 08 */ bne lbl_802D1678 -/* 802D1674 002CE5B4 83 8D 8D F4 */ lwz r28, lbl_80451374-_SDA_BASE_(r13) +/* 802D1674 002CE5B4 83 8D 8D F4 */ lwz r28, sCurrentHeap__7JKRHeap-_SDA_BASE_(r13) lbl_802D1678: /* 802D1678 002CE5B8 7F 63 DB 78 */ mr r3, r27 /* 802D167C 002CE5BC 7F 84 E3 78 */ mr r4, r28 diff --git a/include/JSystem/JKernel/JKRThread/asm/func_802D16B8.s b/include/JSystem/JKernel/JKRThread/asm/func_802D16B8.s index f8504eec89f..6ada92de130 100644 --- a/include/JSystem/JKernel/JKRThread/asm/func_802D16B8.s +++ b/include/JSystem/JKernel/JKRThread/asm/func_802D16B8.s @@ -28,7 +28,7 @@ /* 802D1724 002CE664 80 1E 03 04 */ lwz r0, 0x304(r30) /* 802D1728 002CE668 90 1D 00 58 */ stw r0, 0x58(r29) /* 802D172C 002CE66C 7F A3 EB 78 */ mr r3, r29 -/* 802D1730 002CE670 80 8D 8D F0 */ lwz r4, lbl_80451370-_SDA_BASE_(r13) +/* 802D1730 002CE670 80 8D 8D F0 */ lwz r4, sSystemHeap__7JKRHeap-_SDA_BASE_(r13) /* 802D1734 002CE674 7F E5 FB 78 */ mr r5, r31 /* 802D1738 002CE678 48 00 00 F9 */ bl setCommon_mesgQueue__9JKRThreadFP7JKRHeapi /* 802D173C 002CE67C 7F A3 EB 78 */ mr r3, r29 diff --git a/include/JSystem/JKernel/JKRThread/asm/func_802D1758.s b/include/JSystem/JKernel/JKRThread/asm/func_802D1758.s index 6ae3077f55a..8063508fe0d 100644 --- a/include/JSystem/JKernel/JKRThread/asm/func_802D1758.s +++ b/include/JSystem/JKernel/JKRThread/asm/func_802D1758.s @@ -9,8 +9,8 @@ /* 802D1778 002CE6B8 3C 60 80 3D */ lis r3, lbl_803CC114@ha /* 802D177C 002CE6BC 38 03 C1 14 */ addi r0, r3, lbl_803CC114@l /* 802D1780 002CE6C0 90 1E 00 00 */ stw r0, 0(r30) -/* 802D1784 002CE6C4 3C 60 80 43 */ lis r3, lbl_8043428C@ha -/* 802D1788 002CE6C8 38 63 42 8C */ addi r3, r3, lbl_8043428C@l +/* 802D1784 002CE6C4 3C 60 80 43 */ lis r3, sThreadList__9JKRThread@ha +/* 802D1788 002CE6C8 38 63 42 8C */ addi r3, r3, sThreadList__9JKRThread@l /* 802D178C 002CE6CC 38 9E 00 18 */ addi r4, r30, 0x18 /* 802D1790 002CE6D0 48 00 A9 CD */ bl remove__10JSUPtrListFP10JSUPtrLink /* 802D1794 002CE6D4 80 1E 00 28 */ lwz r0, 0x28(r30) diff --git a/include/JSystem/JKernel/JKRThread/asm/func_802D1830.s b/include/JSystem/JKernel/JKRThread/asm/func_802D1830.s index 60dd0775e49..27035c76500 100644 --- a/include/JSystem/JKernel/JKRThread/asm/func_802D1830.s +++ b/include/JSystem/JKernel/JKRThread/asm/func_802D1830.s @@ -15,8 +15,8 @@ /* 802D1868 002CE7A8 80 9F 00 50 */ lwz r4, 0x50(r31) /* 802D186C 002CE7AC 80 BF 00 54 */ lwz r5, 0x54(r31) /* 802D1870 002CE7B0 48 06 D1 25 */ bl OSInitMessageQueue -/* 802D1874 002CE7B4 3C 60 80 43 */ lis r3, lbl_8043428C@ha -/* 802D1878 002CE7B8 38 63 42 8C */ addi r3, r3, lbl_8043428C@l +/* 802D1874 002CE7B4 3C 60 80 43 */ lis r3, sThreadList__9JKRThread@ha +/* 802D1878 002CE7B8 38 63 42 8C */ addi r3, r3, sThreadList__9JKRThread@l /* 802D187C 002CE7BC 38 9F 00 18 */ addi r4, r31, 0x18 /* 802D1880 002CE7C0 48 00 A6 CD */ bl append__10JSUPtrListFP10JSUPtrLink /* 802D1884 002CE7C4 38 00 00 00 */ li r0, 0 diff --git a/include/JSystem/JKernel/JKRThread/asm/func_802D1960.s b/include/JSystem/JKernel/JKRThread/asm/func_802D1960.s index 85403b95b71..7448a8d482f 100644 --- a/include/JSystem/JKernel/JKRThread/asm/func_802D1960.s +++ b/include/JSystem/JKernel/JKRThread/asm/func_802D1960.s @@ -1,5 +1,5 @@ -/* 802D1960 002CE8A0 3C 80 80 43 */ lis r4, lbl_8043428C@ha -/* 802D1964 002CE8A4 38 84 42 8C */ addi r4, r4, lbl_8043428C@l +/* 802D1960 002CE8A0 3C 80 80 43 */ lis r4, sThreadList__9JKRThread@ha +/* 802D1964 002CE8A4 38 84 42 8C */ addi r4, r4, sThreadList__9JKRThread@l /* 802D1968 002CE8A8 80 84 00 00 */ lwz r4, 0(r4) /* 802D196C 002CE8AC 48 00 00 20 */ b lbl_802D198C lbl_802D1970: diff --git a/include/JSystem/JKernel/JKRThread/asm/func_802D1A14.s b/include/JSystem/JKernel/JKRThread/asm/func_802D1A14.s index 12feca93860..4040efbddbf 100644 --- a/include/JSystem/JKernel/JKRThread/asm/func_802D1A14.s +++ b/include/JSystem/JKernel/JKRThread/asm/func_802D1A14.s @@ -4,7 +4,7 @@ /* 802D1A20 002CE960 93 E1 00 0C */ stw r31, 0xc(r1) /* 802D1A24 002CE964 7C 7F 1B 79 */ or. r31, r3, r3 /* 802D1A28 002CE968 40 82 00 08 */ bne lbl_802D1A30 -/* 802D1A2C 002CE96C 83 ED 8D F4 */ lwz r31, lbl_80451374-_SDA_BASE_(r13) +/* 802D1A2C 002CE96C 83 ED 8D F4 */ lwz r31, sCurrentHeap__7JKRHeap-_SDA_BASE_(r13) lbl_802D1A30: /* 802D1A30 002CE970 38 60 00 28 */ li r3, 0x28 /* 802D1A34 002CE974 7F E4 FB 78 */ mr r4, r31 diff --git a/include/JSystem/JKernel/JKRThread/asm/func_802D1AE4.s b/include/JSystem/JKernel/JKRThread/asm/func_802D1AE4.s index 61c450e0e9a..4322b2bd73a 100644 --- a/include/JSystem/JKernel/JKRThread/asm/func_802D1AE4.s +++ b/include/JSystem/JKernel/JKRThread/asm/func_802D1AE4.s @@ -15,15 +15,15 @@ lbl_802D1B14: /* 802D1B18 002CEA58 38 03 00 01 */ addi r0, r3, 1 /* 802D1B1C 002CEA5C 90 0D 8E 34 */ stw r0, lbl_804513B4-_SDA_BASE_(r13) /* 802D1B20 002CEA60 3B A0 00 00 */ li r29, 0 -/* 802D1B24 002CEA64 3C 60 80 43 */ lis r3, lbl_8043428C@ha -/* 802D1B28 002CEA68 83 C3 42 8C */ lwz r30, lbl_8043428C@l(r3) +/* 802D1B24 002CEA64 3C 60 80 43 */ lis r3, sThreadList__9JKRThread@ha +/* 802D1B28 002CEA68 83 C3 42 8C */ lwz r30, sThreadList__9JKRThread@l(r3) /* 802D1B2C 002CEA6C 48 00 00 FC */ b lbl_802D1C28 lbl_802D1B30: /* 802D1B30 002CEA70 83 FE 00 00 */ lwz r31, 0(r30) /* 802D1B34 002CEA74 80 1F 00 2C */ lwz r0, 0x2c(r31) /* 802D1B38 002CEA78 7C 00 D8 40 */ cmplw r0, r27 /* 802D1B3C 002CEA7C 40 82 00 34 */ bne lbl_802D1B70 -/* 802D1B40 002CEA80 80 0D 8D F4 */ lwz r0, lbl_80451374-_SDA_BASE_(r13) +/* 802D1B40 002CEA80 80 0D 8D F4 */ lwz r0, sCurrentHeap__7JKRHeap-_SDA_BASE_(r13) /* 802D1B44 002CEA84 28 00 00 00 */ cmplwi r0, 0 /* 802D1B48 002CEA88 90 1F 00 74 */ stw r0, 0x74(r31) /* 802D1B4C 002CEA8C 88 1F 00 60 */ lbz r0, 0x60(r31) @@ -56,10 +56,10 @@ lbl_802D1B9C: /* 802D1BB0 002CEAF0 7C 9D 23 78 */ mr r29, r4 /* 802D1BB4 002CEAF4 28 04 00 00 */ cmplwi r4, 0 /* 802D1BB8 002CEAF8 40 82 00 0C */ bne lbl_802D1BC4 -/* 802D1BBC 002CEAFC 83 AD 8D F4 */ lwz r29, lbl_80451374-_SDA_BASE_(r13) +/* 802D1BBC 002CEAFC 83 AD 8D F4 */ lwz r29, sCurrentHeap__7JKRHeap-_SDA_BASE_(r13) /* 802D1BC0 002CEB00 48 00 00 64 */ b lbl_802D1C24 lbl_802D1BC4: -/* 802D1BC4 002CEB04 80 6D 8D F8 */ lwz r3, lbl_80451378-_SDA_BASE_(r13) +/* 802D1BC4 002CEB04 80 6D 8D F8 */ lwz r3, sRootHeap__7JKRHeap-_SDA_BASE_(r13) /* 802D1BC8 002CEB08 4B FF CF E1 */ bl isSubHeap__7JKRHeapCFP7JKRHeap /* 802D1BCC 002CEB0C 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802D1BD0 002CEB10 40 82 00 54 */ bne lbl_802D1C24 @@ -80,13 +80,13 @@ lbl_802D1C00: /* 802D1C04 002CEB44 38 63 CF A8 */ addi r3, r3, lbl_8039CFA8@l /* 802D1C08 002CEB48 38 63 00 34 */ addi r3, r3, 0x34 /* 802D1C0C 002CEB4C 48 01 6A F1 */ bl JUTWarningConsole -/* 802D1C10 002CEB50 83 AD 8D F4 */ lwz r29, lbl_80451374-_SDA_BASE_(r13) +/* 802D1C10 002CEB50 83 AD 8D F4 */ lwz r29, sCurrentHeap__7JKRHeap-_SDA_BASE_(r13) /* 802D1C14 002CEB54 48 00 00 10 */ b lbl_802D1C24 lbl_802D1C18: -/* 802D1C18 002CEB58 83 AD 8D F4 */ lwz r29, lbl_80451374-_SDA_BASE_(r13) +/* 802D1C18 002CEB58 83 AD 8D F4 */ lwz r29, sCurrentHeap__7JKRHeap-_SDA_BASE_(r13) /* 802D1C1C 002CEB5C 48 00 00 08 */ b lbl_802D1C24 lbl_802D1C20: -/* 802D1C20 002CEB60 83 AD 8D F0 */ lwz r29, lbl_80451370-_SDA_BASE_(r13) +/* 802D1C20 002CEB60 83 AD 8D F0 */ lwz r29, sSystemHeap__7JKRHeap-_SDA_BASE_(r13) lbl_802D1C24: /* 802D1C24 002CEB64 83 DE 00 0C */ lwz r30, 0xc(r30) lbl_802D1C28: diff --git a/include/JSystem/JKernel/JKRThread/asm/func_802D1C74.s b/include/JSystem/JKernel/JKRThread/asm/func_802D1C74.s index 269610592be..4b509cd159e 100644 --- a/include/JSystem/JKernel/JKRThread/asm/func_802D1C74.s +++ b/include/JSystem/JKernel/JKRThread/asm/func_802D1C74.s @@ -26,8 +26,8 @@ /* 802D1CD8 002CEC18 7F A4 EB 78 */ mr r4, r29 /* 802D1CDC 002CEC1C 48 01 5F 5D */ bl JUTConsole_NS_print lbl_802D1CE0: -/* 802D1CE0 002CEC20 3C 60 80 43 */ lis r3, lbl_8043428C@ha -/* 802D1CE4 002CEC24 83 C3 42 8C */ lwz r30, lbl_8043428C@l(r3) +/* 802D1CE0 002CEC20 3C 60 80 43 */ lis r3, sThreadList__9JKRThread@ha +/* 802D1CE4 002CEC24 83 C3 42 8C */ lwz r30, sThreadList__9JKRThread@l(r3) /* 802D1CE8 002CEC28 48 00 01 04 */ b lbl_802D1DEC lbl_802D1CEC: /* 802D1CEC 002CEC2C 83 3E 00 00 */ lwz r25, 0(r30) diff --git a/include/JSystem/JKernel/SArc.h b/include/JSystem/JKernel/SArc.h new file mode 100644 index 00000000000..22ed94253f0 --- /dev/null +++ b/include/JSystem/JKernel/SArc.h @@ -0,0 +1,64 @@ +#ifndef __SARC_H__ +#define __SARC_H__ + +#include "dolphin/types.h" + +struct SArcHeader { + u32 signature; + u32 file_length; + u32 header_length; + u32 file_data_offset; + u32 file_data_length; + u32 field_0x14; + u32 field_0x18; + u32 field_0x1c; +}; + +struct SArcDataInfo { + u32 num_nodes; + u32 node_offset; + u32 num_file_entries; + u32 file_entry_offset; + u32 string_table_length; + u32 string_table_offset; + u16 next_free_file_id; + bool sync_file_ids_and_indices; + u8 field_1b[5]; +}; + +struct SDirEntry { + union { + u32 type; + struct { + u8 flags; + u8 padding; + u16 id; + } other; + }; + + const char* name; + u16 field_0x8; + u16 num_entries; + s32 first_file_index; +}; + +struct SDIFileEntry { + u16 file_id; + u16 name_hash; + u32 type_flags_and_name_offset; + u32 data_offset; + u32 data_size; + void* data; + + u32 getNameOffset() const { return type_flags_and_name_offset & 0xFFFFFF; } + u16 getNameHash() const { return name_hash; } + u32 getFlags() const { return type_flags_and_name_offset >> 24; } + u32 getAttr() const { return getFlags(); } + u16 getFileID() const { return file_id; } + bool isDirectory() const { return (getFlags() & 0x02) != 0; } + bool isUnknownFlag1() const { return (getFlags() & 0x01) != 0; } + bool isCompressed() const { return (getFlags() & 0x04) != 0; } + bool isYAZ0Compressed() const { return (getFlags() & 0x80) != 0; } +}; + +#endif \ No newline at end of file diff --git a/include/JSystem/JSupport/JSUFileInputStream/JSUFileInputStream.h b/include/JSystem/JSupport/JSUFileInputStream/JSUFileInputStream.h index 49a48bd7962..6221b56d72c 100644 --- a/include/JSystem/JSupport/JSUFileInputStream/JSUFileInputStream.h +++ b/include/JSystem/JSupport/JSUFileInputStream/JSUFileInputStream.h @@ -1,9 +1,10 @@ #ifndef __JSUFILEINPUTSTREAM_H__ #define __JSUFILEINPUTSTREAM_H__ +#include "JSystem/JSupport/JSURandomInputStream/JSURandomInputStream.h" #include "dolphin/types.h" -class JSUFileInputStream { +class JSUFileInputStream : public JSURandomInputStream { public: virtual ~JSUFileInputStream(); }; diff --git a/include/JSystem/JSupport/JSUInputStream.h b/include/JSystem/JSupport/JSUInputStream.h new file mode 100644 index 00000000000..389c4864bc3 --- /dev/null +++ b/include/JSystem/JSupport/JSUInputStream.h @@ -0,0 +1,16 @@ +#ifndef __JSUINPUTSTREAM_H__ +#define __JSUINPUTSTREAM_H__ + +#include "JSystem/JSupport/JSUIosBase.h" +#include "dolphin/types.h" + +class JSUInputStream : public JSUIosBase { +public: + JSUInputStream(); + virtual ~JSUInputStream(); + + /* vt[3] */ virtual s32 getAvailable() const = 0; + /* vt[4] */ virtual s32 skip(s32); +}; + +#endif diff --git a/include/JSystem/JSupport/JSUIosBase.h b/include/JSystem/JSupport/JSUIosBase.h new file mode 100644 index 00000000000..a39028e24b5 --- /dev/null +++ b/include/JSystem/JSupport/JSUIosBase.h @@ -0,0 +1,24 @@ +#ifndef __JSUIOSBASE_H__ +#define __JSUIOSBASE_H__ + +#include "dolphin/types.h" + +enum EIoState { + IOS_STATE_1 = 1, +}; + +class JSUIosBase { +public: + JSUIosBase() { mState = false; } + + virtual ~JSUIosBase(); + + bool isGood() const { return mState == 0; } + void clrState(EIoState state) { mState &= ~state; } + void setState(EIoState state) { mState |= state; } + +private: + u8 mState; +}; + +#endif diff --git a/include/JSystem/JSupport/JSUList/JSUList.h b/include/JSystem/JSupport/JSUList/JSUList.h index 1418b240c37..bafa9438406 100644 --- a/include/JSystem/JSupport/JSUList/JSUList.h +++ b/include/JSystem/JSupport/JSUList/JSUList.h @@ -105,7 +105,7 @@ public: template class JSUListIterator { public: - JSUListIterator() : mLink() {} + JSUListIterator() : mLink(NULL) {} JSUListIterator(JSULink* link) : mLink(link) {} JSUListIterator(JSUList* list) : mLink(list->getFirst()) {} @@ -117,11 +117,8 @@ public: T* getObject() { return this->mLink->getObject(); } bool operator==(JSULink const* other) const { return this->mLink == other; } - bool operator!=(JSULink const* other) const { return this->mLink != other; } - bool operator==(JSUListIterator const& other) const { return this->mLink == other.mLink; } - bool operator!=(JSUListIterator const& other) const { return this->mLink != other.other; } JSUListIterator operator++(int) { @@ -170,6 +167,7 @@ template class JSUTree { public: JSUTree(T* owner) : mList(), mLink(owner) {} + ~JSUTree() {} bool appendChild(JSUTree* child) { JSU_TREE_LINK_IF_NOT_NULL(child); diff --git a/include/JSystem/JSupport/JSURandomInputStream/JSURandomInputStream.h b/include/JSystem/JSupport/JSURandomInputStream/JSURandomInputStream.h index 0caddd1743c..b47c400a94a 100644 --- a/include/JSystem/JSupport/JSURandomInputStream/JSURandomInputStream.h +++ b/include/JSystem/JSupport/JSURandomInputStream/JSURandomInputStream.h @@ -1,11 +1,20 @@ #ifndef __JSURANDOMINPUTSTREAM_H__ #define __JSURANDOMINPUTSTREAM_H__ +#include "JSystem/JSupport/JSUInputStream.h" #include "dolphin/types.h" -class JSURandomInputStream { +class JSURandomInputStream : public JSUInputStream { public: - void getAvailable(void) const; + JSURandomInputStream(); + virtual ~JSURandomInputStream(); + + /* vt[3] */ virtual s32 getAvailable() const; /* override */ + /* vt[4] */ virtual s32 skip(s32); /* override */ + /* vt[5] */ virtual s32 readData() = 0; + /* vt[6] */ virtual s32 getLength() const = 0; + /* vt[7] */ virtual s32 getPosition() const = 0; + /* vt[7] */ virtual s32 seekPos() = 0; }; #endif diff --git a/include/SComponent/c_lib/asm/func_8026F95C.s b/include/SComponent/c_lib/asm/func_8026F95C.s index 09217b621f2..51b4c34e360 100644 --- a/include/SComponent/c_lib/asm/func_8026F95C.s +++ b/include/SComponent/c_lib/asm/func_8026F95C.s @@ -1,7 +1,7 @@ /* 8026F95C 0026C89C 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8026F960 0026C8A0 7C 08 02 A6 */ mflr r0 /* 8026F964 0026C8A4 90 01 00 14 */ stw r0, 0x14(r1) -/* 8026F968 0026C8A8 4B D9 3A F1 */ bl func_80003458 +/* 8026F968 0026C8A8 4B D9 3A F1 */ bl memset /* 8026F96C 0026C8AC 80 01 00 14 */ lwz r0, 0x14(r1) /* 8026F970 0026C8B0 7C 08 03 A6 */ mtlr r0 /* 8026F974 0026C8B4 38 21 00 10 */ addi r1, r1, 0x10 diff --git a/include/SComponent/c_lib/asm/func_80270E24.s b/include/SComponent/c_lib/asm/func_80270E24.s index 9937d1fe9fd..ced4adee113 100644 --- a/include/SComponent/c_lib/asm/func_80270E24.s +++ b/include/SComponent/c_lib/asm/func_80270E24.s @@ -3,7 +3,7 @@ /* 80270E2C 0026DD6C 90 01 00 14 */ stw r0, 0x14(r1) /* 80270E30 0026DD70 7C 04 18 50 */ subf r0, r4, r3 /* 80270E34 0026DD74 7C 03 07 34 */ extsh r3, r0 -/* 80270E38 0026DD78 48 0F 42 99 */ bl func_803650D0 +/* 80270E38 0026DD78 48 0F 42 99 */ bl abs /* 80270E3C 0026DD7C 80 01 00 14 */ lwz r0, 0x14(r1) /* 80270E40 0026DD80 7C 08 03 A6 */ mtlr r0 /* 80270E44 0026DD84 38 21 00 10 */ addi r1, r1, 0x10 diff --git a/include/Z2AudioLib/Z2AudioArcLoader/asm/func_802A9AC8.s b/include/Z2AudioLib/Z2AudioArcLoader/asm/func_802A9AC8.s index 35a4b0d92d1..8c802ea19c4 100644 --- a/include/Z2AudioLib/Z2AudioArcLoader/asm/func_802A9AC8.s +++ b/include/Z2AudioLib/Z2AudioArcLoader/asm/func_802A9AC8.s @@ -16,7 +16,7 @@ lbl_802A9B00: /* 802A9B00 002A6A40 3B E0 00 00 */ li r31, 0 lbl_802A9B04: /* 802A9B04 002A6A44 7F A3 EB 78 */ mr r3, r29 -/* 802A9B08 002A6A48 80 8D 8D F4 */ lwz r4, lbl_80451374-_SDA_BASE_(r13) +/* 802A9B08 002A6A48 80 8D 8D F4 */ lwz r4, sCurrentHeap__7JKRHeap-_SDA_BASE_(r13) /* 802A9B0C 002A6A4C 38 A0 00 02 */ li r5, 2 /* 802A9B10 002A6A50 48 02 BD 31 */ bl mount__10JKRArchiveFPvP7JKRHeapQ210JKRArchive15EMountDirection /* 802A9B14 002A6A54 7C 7E 1B 78 */ mr r30, r3 diff --git a/include/ar/AR.h b/include/ar/AR.h new file mode 100644 index 00000000000..8ea72847e7d --- /dev/null +++ b/include/ar/AR.h @@ -0,0 +1,12 @@ +#ifndef __AR_H__ +#define __AR_H__ + +#include "dolphin/types.h" + +extern "C" { +u32 ARInit(u32*, u32); +u32 ARAlloc(u32); +u32 ARGetSize(void); +} + +#endif diff --git a/include/d/d_a/d_a_alink/asm/func_8009F034.s b/include/d/d_a/d_a_alink/asm/func_8009F034.s index ce137ff8720..faee547afef 100644 --- a/include/d/d_a/d_a_alink/asm/func_8009F034.s +++ b/include/d/d_a/d_a_alink/asm/func_8009F034.s @@ -405,11 +405,11 @@ lbl_8009F5E8: /* 8009F5F0 0009C530 7C 00 07 34 */ extsh r0, r0 /* 8009F5F4 0009C534 7C 00 0E 70 */ srawi r0, r0, 1 /* 8009F5F8 0009C538 7C 17 07 34 */ extsh r23, r0 -/* 8009F5FC 0009C53C 48 2C 5A D5 */ bl func_803650D0 +/* 8009F5FC 0009C53C 48 2C 5A D5 */ bl abs /* 8009F600 0009C540 2C 03 30 00 */ cmpwi r3, 0x3000 /* 8009F604 0009C544 40 81 00 1C */ ble lbl_8009F620 /* 8009F608 0009C548 A8 7F 30 60 */ lha r3, 0x3060(r31) -/* 8009F60C 0009C54C 48 2C 5A C5 */ bl func_803650D0 +/* 8009F60C 0009C54C 48 2C 5A C5 */ bl abs /* 8009F610 0009C550 2C 03 50 00 */ cmpwi r3, 0x5000 /* 8009F614 0009C554 40 80 00 0C */ bge lbl_8009F620 /* 8009F618 0009C558 3B 00 00 00 */ li r24, 0 diff --git a/include/d/d_a/d_a_alink/asm/func_800A22E8.s b/include/d/d_a/d_a_alink/asm/func_800A22E8.s index 28f614fe245..c7e46b4b163 100644 --- a/include/d/d_a/d_a_alink/asm/func_800A22E8.s +++ b/include/d/d_a/d_a_alink/asm/func_800A22E8.s @@ -117,7 +117,7 @@ lbl_800A248C: lbl_800A249C: /* 800A249C 0009F3DC 7C 1F 07 34 */ extsh r31, r0 /* 800A24A0 0009F3E0 7F E3 FB 78 */ mr r3, r31 -/* 800A24A4 0009F3E4 48 2C 2C 2D */ bl func_803650D0 +/* 800A24A4 0009F3E4 48 2C 2C 2D */ bl abs /* 800A24A8 0009F3E8 2C 03 08 00 */ cmpwi r3, 0x800 /* 800A24AC 0009F3EC 40 81 00 48 */ ble lbl_800A24F4 /* 800A24B0 0009F3F0 C0 42 98 24 */ lfs f2, lbl_80453224-_SDA2_BASE_(r2) diff --git a/include/d/d_a/d_a_alink/asm/func_800A3430.s b/include/d/d_a/d_a_alink/asm/func_800A3430.s index f7496f43a53..7b567adcd8d 100644 --- a/include/d/d_a/d_a_alink/asm/func_800A3430.s +++ b/include/d/d_a/d_a_alink/asm/func_800A3430.s @@ -313,7 +313,7 @@ lbl_800A38A4: /* 800A38AC 000A07EC 7C 04 19 D7 */ mullw. r0, r4, r3 /* 800A38B0 000A07F0 40 80 00 3C */ bge lbl_800A38EC /* 800A38B4 000A07F4 7C 63 20 50 */ subf r3, r3, r4 -/* 800A38B8 000A07F8 48 2C 18 19 */ bl func_803650D0 +/* 800A38B8 000A07F8 48 2C 18 19 */ bl abs /* 800A38BC 000A07FC 3C 80 00 01 */ lis r4, 0x00008000@ha /* 800A38C0 000A0800 38 04 80 00 */ addi r0, r4, 0x00008000@l /* 800A38C4 000A0804 7C 03 00 00 */ cmpw r3, r0 diff --git a/include/d/d_a/d_a_alink/asm/func_800ADE14.s b/include/d/d_a/d_a_alink/asm/func_800ADE14.s index 3bb67bc2b1c..4b6757d91b5 100644 --- a/include/d/d_a/d_a_alink/asm/func_800ADE14.s +++ b/include/d/d_a/d_a_alink/asm/func_800ADE14.s @@ -457,7 +457,7 @@ lbl_800AE468: /* 800AE474 000AB3B4 7C 03 00 50 */ subf r0, r3, r0 /* 800AE478 000AB3B8 7C 1E 07 34 */ extsh r30, r0 /* 800AE47C 000AB3BC 7F C3 F3 78 */ mr r3, r30 -/* 800AE480 000AB3C0 48 2B 6C 51 */ bl func_803650D0 +/* 800AE480 000AB3C0 48 2B 6C 51 */ bl abs /* 800AE484 000AB3C4 2C 03 00 64 */ cmpwi r3, 0x64 /* 800AE488 000AB3C8 40 81 01 1C */ ble lbl_800AE5A4 /* 800AE48C 000AB3CC C0 1F 33 A8 */ lfs f0, 0x33a8(r31) @@ -520,7 +520,7 @@ lbl_800AE550: /* 800AE550 000AB490 38 7C 00 0C */ addi r3, r28, 0xc /* 800AE554 000AB494 C3 E3 00 1C */ lfs f31, 0x1c(r3) /* 800AE558 000AB498 7F C3 F3 78 */ mr r3, r30 -/* 800AE55C 000AB49C 48 2B 6B 75 */ bl func_803650D0 +/* 800AE55C 000AB49C 48 2B 6B 75 */ bl abs /* 800AE560 000AB4A0 C8 22 92 B0 */ lfd f1, lbl_80452CB0-_SDA2_BASE_(r2) /* 800AE564 000AB4A4 6C 60 80 00 */ xoris r0, r3, 0x8000 /* 800AE568 000AB4A8 90 01 00 4C */ stw r0, 0x4c(r1) diff --git a/include/d/d_a/d_a_alink/asm/func_800B02BC.s b/include/d/d_a/d_a_alink/asm/func_800B02BC.s index a1c66cd19b0..12d62401936 100644 --- a/include/d/d_a/d_a_alink/asm/func_800B02BC.s +++ b/include/d/d_a/d_a_alink/asm/func_800B02BC.s @@ -560,7 +560,7 @@ lbl_800B0A94: /* 800B0AC0 000ADA00 40 82 00 34 */ bne lbl_800B0AF4 /* 800B0AC4 000ADA04 7F 03 C3 78 */ mr r3, r24 /* 800B0AC8 000ADA08 38 80 00 07 */ li r4, 7 -/* 800B0ACC 000ADA0C 48 00 27 85 */ bl daAlink_c_NS_setDoStatus +/* 800B0ACC 000ADA0C 48 00 27 85 */ bl setDoStatus__9daAlink_cFUc /* 800B0AD0 000ADA10 7F 03 C3 78 */ mr r3, r24 /* 800B0AD4 000ADA14 48 04 C5 75 */ bl daAlink_c_NS_setLadderPosInit /* 800B0AD8 000ADA18 38 61 00 78 */ addi r3, r1, 0x78 @@ -626,7 +626,7 @@ lbl_800B0B84: /* 800B0BBC 000ADAFC 41 82 00 10 */ beq lbl_800B0BCC /* 800B0BC0 000ADB00 7F 03 C3 78 */ mr r3, r24 /* 800B0BC4 000ADB04 38 80 00 8E */ li r4, 0x8e -/* 800B0BC8 000ADB08 48 00 26 89 */ bl daAlink_c_NS_setDoStatus +/* 800B0BC8 000ADB08 48 00 26 89 */ bl setDoStatus__9daAlink_cFUc lbl_800B0BCC: /* 800B0BCC 000ADB0C 80 18 31 A0 */ lwz r0, 0x31a0(r24) /* 800B0BD0 000ADB10 54 00 03 5B */ rlwinm. r0, r0, 0, 0xd, 0xd @@ -763,7 +763,7 @@ lbl_800B0DA4: /* 800B0DBC 000ADCFC 41 82 00 1C */ beq lbl_800B0DD8 /* 800B0DC0 000ADD00 7F 03 C3 78 */ mr r3, r24 /* 800B0DC4 000ADD04 38 80 00 8E */ li r4, 0x8e -/* 800B0DC8 000ADD08 48 00 24 89 */ bl daAlink_c_NS_setDoStatus +/* 800B0DC8 000ADD08 48 00 24 89 */ bl setDoStatus__9daAlink_cFUc /* 800B0DCC 000ADD0C 48 00 00 0C */ b lbl_800B0DD8 lbl_800B0DD0: /* 800B0DD0 000ADD10 38 00 00 05 */ li r0, 5 diff --git a/include/d/d_a/d_a_alink/asm/func_800B25CC.s b/include/d/d_a/d_a_alink/asm/func_800B25CC.s deleted file mode 100644 index cb6591d0061..00000000000 --- a/include/d/d_a/d_a_alink/asm/func_800B25CC.s +++ /dev/null @@ -1,7 +0,0 @@ -/* 800B25CC 000AF50C 88 03 2F AE */ lbz r0, 0x2fae(r3) -/* 800B25D0 000AF510 7C 00 23 78 */ or r0, r0, r4 -/* 800B25D4 000AF514 98 03 2F AE */ stb r0, 0x2fae(r3) -/* 800B25D8 000AF518 88 63 2F 8D */ lbz r3, 0x2f8d(r3) -/* 800B25DC 000AF51C 54 80 06 3E */ clrlwi r0, r4, 0x18 -/* 800B25E0 000AF520 7C 63 00 38 */ and r3, r3, r0 -/* 800B25E4 000AF524 4E 80 00 20 */ blr diff --git a/include/d/d_a/d_a_alink/asm/func_800B25E8.s b/include/d/d_a/d_a_alink/asm/func_800B25E8.s deleted file mode 100644 index 70ba87ce1d8..00000000000 --- a/include/d/d_a/d_a_alink/asm/func_800B25E8.s +++ /dev/null @@ -1,7 +0,0 @@ -/* 800B25E8 000AF528 88 03 2F AE */ lbz r0, 0x2fae(r3) -/* 800B25EC 000AF52C 7C 00 23 78 */ or r0, r0, r4 -/* 800B25F0 000AF530 98 03 2F AE */ stb r0, 0x2fae(r3) -/* 800B25F4 000AF534 88 63 2F 8E */ lbz r3, 0x2f8e(r3) -/* 800B25F8 000AF538 54 80 06 3E */ clrlwi r0, r4, 0x18 -/* 800B25FC 000AF53C 7C 63 00 38 */ and r3, r3, r0 -/* 800B2600 000AF540 4E 80 00 20 */ blr diff --git a/include/d/d_a/d_a_alink/asm/func_800B2604.s b/include/d/d_a/d_a_alink/asm/func_800B2604.s deleted file mode 100644 index 843671d0d19..00000000000 --- a/include/d/d_a/d_a_alink/asm/func_800B2604.s +++ /dev/null @@ -1,12 +0,0 @@ -/* 800B2604 000AF544 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800B2608 000AF548 7C 08 02 A6 */ mflr r0 -/* 800B260C 000AF54C 90 01 00 14 */ stw r0, 0x14(r1) -/* 800B2610 000AF550 38 80 00 01 */ li r4, 1 -/* 800B2614 000AF554 88 03 2F 9C */ lbz r0, 0x2f9c(r3) -/* 800B2618 000AF558 7C 80 00 30 */ slw r0, r4, r0 -/* 800B261C 000AF55C 54 04 06 3E */ clrlwi r4, r0, 0x18 -/* 800B2620 000AF560 4B FF FF C9 */ bl daAlink_c_NS_itemButtonCheck -/* 800B2624 000AF564 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800B2628 000AF568 7C 08 03 A6 */ mtlr r0 -/* 800B262C 000AF56C 38 21 00 10 */ addi r1, r1, 0x10 -/* 800B2630 000AF570 4E 80 00 20 */ blr diff --git a/include/d/d_a/d_a_alink/asm/func_800B2634.s b/include/d/d_a/d_a_alink/asm/func_800B2634.s deleted file mode 100644 index 140359dff65..00000000000 --- a/include/d/d_a/d_a_alink/asm/func_800B2634.s +++ /dev/null @@ -1,12 +0,0 @@ -/* 800B2634 000AF574 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800B2638 000AF578 7C 08 02 A6 */ mflr r0 -/* 800B263C 000AF57C 90 01 00 14 */ stw r0, 0x14(r1) -/* 800B2640 000AF580 38 80 00 01 */ li r4, 1 -/* 800B2644 000AF584 88 03 2F 9C */ lbz r0, 0x2f9c(r3) -/* 800B2648 000AF588 7C 80 00 30 */ slw r0, r4, r0 -/* 800B264C 000AF58C 54 04 06 3E */ clrlwi r4, r0, 0x18 -/* 800B2650 000AF590 4B FF FF 7D */ bl daAlink_c_NS_itemTriggerCheck -/* 800B2654 000AF594 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800B2658 000AF598 7C 08 03 A6 */ mtlr r0 -/* 800B265C 000AF59C 38 21 00 10 */ addi r1, r1, 0x10 -/* 800B2660 000AF5A0 4E 80 00 20 */ blr diff --git a/include/d/d_a/d_a_alink/asm/func_800B2664.s b/include/d/d_a/d_a_alink/asm/func_800B2664.s deleted file mode 100644 index b01c7047cf2..00000000000 --- a/include/d/d_a/d_a_alink/asm/func_800B2664.s +++ /dev/null @@ -1,9 +0,0 @@ -/* 800B2664 000AF5A4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800B2668 000AF5A8 7C 08 02 A6 */ mflr r0 -/* 800B266C 000AF5AC 90 01 00 14 */ stw r0, 0x14(r1) -/* 800B2670 000AF5B0 38 80 00 40 */ li r4, 0x40 -/* 800B2674 000AF5B4 4B FF FF 75 */ bl daAlink_c_NS_itemButtonCheck -/* 800B2678 000AF5B8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800B267C 000AF5BC 7C 08 03 A6 */ mtlr r0 -/* 800B2680 000AF5C0 38 21 00 10 */ addi r1, r1, 0x10 -/* 800B2684 000AF5C4 4E 80 00 20 */ blr diff --git a/include/d/d_a/d_a_alink/asm/func_800B2688.s b/include/d/d_a/d_a_alink/asm/func_800B2688.s deleted file mode 100644 index 4e4ffaa9393..00000000000 --- a/include/d/d_a/d_a_alink/asm/func_800B2688.s +++ /dev/null @@ -1,9 +0,0 @@ -/* 800B2688 000AF5C8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800B268C 000AF5CC 7C 08 02 A6 */ mflr r0 -/* 800B2690 000AF5D0 90 01 00 14 */ stw r0, 0x14(r1) -/* 800B2694 000AF5D4 38 80 00 40 */ li r4, 0x40 -/* 800B2698 000AF5D8 4B FF FF 35 */ bl daAlink_c_NS_itemTriggerCheck -/* 800B269C 000AF5DC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800B26A0 000AF5E0 7C 08 03 A6 */ mtlr r0 -/* 800B26A4 000AF5E4 38 21 00 10 */ addi r1, r1, 0x10 -/* 800B26A8 000AF5E8 4E 80 00 20 */ blr diff --git a/include/d/d_a/d_a_alink/asm/func_800B26AC.s b/include/d/d_a/d_a_alink/asm/func_800B26AC.s deleted file mode 100644 index a969c8a0800..00000000000 --- a/include/d/d_a/d_a_alink/asm/func_800B26AC.s +++ /dev/null @@ -1,3 +0,0 @@ -/* 800B26AC 000AF5EC 88 03 2F 8D */ lbz r0, 0x2f8d(r3) -/* 800B26B0 000AF5F0 54 03 07 7A */ rlwinm r3, r0, 0, 0x1d, 0x1d -/* 800B26B4 000AF5F4 4E 80 00 20 */ blr diff --git a/include/d/d_a/d_a_alink/asm/func_800B26B8.s b/include/d/d_a/d_a_alink/asm/func_800B26B8.s deleted file mode 100644 index b16e4ec4a5b..00000000000 --- a/include/d/d_a/d_a_alink/asm/func_800B26B8.s +++ /dev/null @@ -1,9 +0,0 @@ -/* 800B26B8 000AF5F8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800B26BC 000AF5FC 7C 08 02 A6 */ mflr r0 -/* 800B26C0 000AF600 90 01 00 14 */ stw r0, 0x14(r1) -/* 800B26C4 000AF604 38 80 00 08 */ li r4, 8 -/* 800B26C8 000AF608 4B FF FF 05 */ bl daAlink_c_NS_itemTriggerCheck -/* 800B26CC 000AF60C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800B26D0 000AF610 7C 08 03 A6 */ mtlr r0 -/* 800B26D4 000AF614 38 21 00 10 */ addi r1, r1, 0x10 -/* 800B26D8 000AF618 4E 80 00 20 */ blr diff --git a/include/d/d_a/d_a_alink/asm/func_800B26DC.s b/include/d/d_a/d_a_alink/asm/func_800B26DC.s index 14713235e01..0e7e61d8085 100644 --- a/include/d/d_a/d_a_alink/asm/func_800B26DC.s +++ b/include/d/d_a/d_a_alink/asm/func_800B26DC.s @@ -1,7 +1,7 @@ /* 800B26DC 000AF61C 94 21 FF F0 */ stwu r1, -0x10(r1) /* 800B26E0 000AF620 7C 08 02 A6 */ mflr r0 /* 800B26E4 000AF624 90 01 00 14 */ stw r0, 0x14(r1) -/* 800B26E8 000AF628 48 00 0B 51 */ bl daAlink_c_NS_setRStatusEmphasys +/* 800B26E8 000AF628 48 00 0B 51 */ bl setRStatusEmphasys__9daAlink_cFUc /* 800B26EC 000AF62C 80 01 00 14 */ lwz r0, 0x14(r1) /* 800B26F0 000AF630 7C 08 03 A6 */ mtlr r0 /* 800B26F4 000AF634 38 21 00 10 */ addi r1, r1, 0x10 diff --git a/include/d/d_a/d_a_alink/asm/func_800B26FC.s b/include/d/d_a/d_a_alink/asm/func_800B26FC.s index a2d487f35ca..3c90830f19d 100644 --- a/include/d/d_a/d_a_alink/asm/func_800B26FC.s +++ b/include/d/d_a/d_a_alink/asm/func_800B26FC.s @@ -1,7 +1,7 @@ /* 800B26FC 000AF63C 94 21 FF F0 */ stwu r1, -0x10(r1) /* 800B2700 000AF640 7C 08 02 A6 */ mflr r0 /* 800B2704 000AF644 90 01 00 14 */ stw r0, 0x14(r1) -/* 800B2708 000AF648 4B FF FF 81 */ bl daAlink_c_NS_spActionTrigger +/* 800B2708 000AF648 4B FF FF 81 */ bl spActionTrigger__9daAlink_cFv /* 800B270C 000AF64C 80 01 00 14 */ lwz r0, 0x14(r1) /* 800B2710 000AF650 7C 08 03 A6 */ mtlr r0 /* 800B2714 000AF654 38 21 00 10 */ addi r1, r1, 0x10 diff --git a/include/d/d_a/d_a_alink/asm/func_800B271C.s b/include/d/d_a/d_a_alink/asm/func_800B271C.s index 87042a73e06..8d3c60a4d8d 100644 --- a/include/d/d_a/d_a_alink/asm/func_800B271C.s +++ b/include/d/d_a/d_a_alink/asm/func_800B271C.s @@ -478,7 +478,7 @@ lbl_800B2DC0: /* 800B2DC8 000AFD08 7C 03 00 50 */ subf r0, r3, r0 /* 800B2DCC 000AFD0C 7C 1D 07 34 */ extsh r29, r0 /* 800B2DD0 000AFD10 7F A3 EB 78 */ mr r3, r29 -/* 800B2DD4 000AFD14 48 2B 22 FD */ bl func_803650D0 +/* 800B2DD4 000AFD14 48 2B 22 FD */ bl abs /* 800B2DD8 000AFD18 2C 03 40 00 */ cmpwi r3, 0x4000 /* 800B2DDC 000AFD1C 40 80 00 2C */ bge lbl_800B2E08 /* 800B2DE0 000AFD20 2C 03 06 D4 */ cmpwi r3, 0x6d4 diff --git a/include/d/d_a/d_a_alink/asm/func_800B3220.s b/include/d/d_a/d_a_alink/asm/func_800B3220.s deleted file mode 100644 index 96e3f21b553..00000000000 --- a/include/d/d_a/d_a_alink/asm/func_800B3220.s +++ /dev/null @@ -1,6 +0,0 @@ -/* 800B3220 000B0160 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha -/* 800B3224 000B0164 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l -/* 800B3228 000B0168 98 83 5E 1C */ stb r4, 0x5e1c(r3) -/* 800B322C 000B016C 38 00 00 00 */ li r0, 0 -/* 800B3230 000B0170 98 03 5E 42 */ stb r0, 0x5e42(r3) -/* 800B3234 000B0174 4E 80 00 20 */ blr diff --git a/include/d/d_a/d_a_alink/asm/func_800B3238.s b/include/d/d_a/d_a_alink/asm/func_800B3238.s deleted file mode 100644 index 445e1bfa1d2..00000000000 --- a/include/d/d_a/d_a_alink/asm/func_800B3238.s +++ /dev/null @@ -1,6 +0,0 @@ -/* 800B3238 000B0178 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha -/* 800B323C 000B017C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l -/* 800B3240 000B0180 98 83 5E 1C */ stb r4, 0x5e1c(r3) -/* 800B3244 000B0184 38 00 00 02 */ li r0, 2 -/* 800B3248 000B0188 98 03 5E 42 */ stb r0, 0x5e42(r3) -/* 800B324C 000B018C 4E 80 00 20 */ blr diff --git a/include/d/d_a/d_a_alink/asm/func_800B3250.s b/include/d/d_a/d_a_alink/asm/func_800B3250.s deleted file mode 100644 index 0f9b3e5d76b..00000000000 --- a/include/d/d_a/d_a_alink/asm/func_800B3250.s +++ /dev/null @@ -1,6 +0,0 @@ -/* 800B3250 000B0190 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha -/* 800B3254 000B0194 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l -/* 800B3258 000B0198 98 83 5E 24 */ stb r4, 0x5e24(r3) -/* 800B325C 000B019C 38 00 00 00 */ li r0, 0 -/* 800B3260 000B01A0 98 03 5E 4A */ stb r0, 0x5e4a(r3) -/* 800B3264 000B01A4 4E 80 00 20 */ blr diff --git a/include/d/d_a/d_a_alink/asm/func_800B3268.s b/include/d/d_a/d_a_alink/asm/func_800B3268.s deleted file mode 100644 index 09b8beb195f..00000000000 --- a/include/d/d_a/d_a_alink/asm/func_800B3268.s +++ /dev/null @@ -1,6 +0,0 @@ -/* 800B3268 000B01A8 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha -/* 800B326C 000B01AC 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l -/* 800B3270 000B01B0 98 83 5E 24 */ stb r4, 0x5e24(r3) -/* 800B3274 000B01B4 38 00 00 02 */ li r0, 2 -/* 800B3278 000B01B8 98 03 5E 4A */ stb r0, 0x5e4a(r3) -/* 800B327C 000B01BC 4E 80 00 20 */ blr diff --git a/include/d/d_a/d_a_alink/asm/func_800B3280.s b/include/d/d_a/d_a_alink/asm/func_800B3280.s deleted file mode 100644 index 488aa1d781e..00000000000 --- a/include/d/d_a/d_a_alink/asm/func_800B3280.s +++ /dev/null @@ -1,6 +0,0 @@ -/* 800B3280 000B01C0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha -/* 800B3284 000B01C4 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l -/* 800B3288 000B01C8 98 83 5E 24 */ stb r4, 0x5e24(r3) -/* 800B328C 000B01CC 38 00 00 04 */ li r0, 4 -/* 800B3290 000B01D0 98 03 5E 4A */ stb r0, 0x5e4a(r3) -/* 800B3294 000B01D4 4E 80 00 20 */ blr diff --git a/include/d/d_a/d_a_alink/asm/func_800B3298.s b/include/d/d_a/d_a_alink/asm/func_800B3298.s deleted file mode 100644 index db894f0627f..00000000000 --- a/include/d/d_a/d_a_alink/asm/func_800B3298.s +++ /dev/null @@ -1,6 +0,0 @@ -/* 800B3298 000B01D8 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha -/* 800B329C 000B01DC 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l -/* 800B32A0 000B01E0 98 83 5E 1D */ stb r4, 0x5e1d(r3) -/* 800B32A4 000B01E4 38 00 00 00 */ li r0, 0 -/* 800B32A8 000B01E8 98 03 5E 43 */ stb r0, 0x5e43(r3) -/* 800B32AC 000B01EC 4E 80 00 20 */ blr diff --git a/include/d/d_a/d_a_alink/asm/func_800B3494.s b/include/d/d_a/d_a_alink/asm/func_800B3494.s index 84d374b7f8b..4ebbc43d191 100644 --- a/include/d/d_a/d_a_alink/asm/func_800B3494.s +++ b/include/d/d_a/d_a_alink/asm/func_800B3494.s @@ -4,7 +4,7 @@ /* 800B34A0 000B03E0 93 E1 00 0C */ stw r31, 0xc(r1) /* 800B34A4 000B03E4 7C 7F 1B 78 */ mr r31, r3 /* 800B34A8 000B03E8 7F E3 07 34 */ extsh r3, r31 -/* 800B34AC 000B03EC 48 2B 1C 25 */ bl func_803650D0 +/* 800B34AC 000B03EC 48 2B 1C 25 */ bl abs /* 800B34B0 000B03F0 2C 03 60 00 */ cmpwi r3, 0x6000 /* 800B34B4 000B03F4 40 81 00 0C */ ble lbl_800B34C0 /* 800B34B8 000B03F8 38 60 00 01 */ li r3, 1 diff --git a/include/d/d_a/d_a_alink/asm/func_800B3734.s b/include/d/d_a/d_a_alink/asm/func_800B3734.s index 77eb4842a5d..a363225fd36 100644 --- a/include/d/d_a/d_a_alink/asm/func_800B3734.s +++ b/include/d/d_a/d_a_alink/asm/func_800B3734.s @@ -50,7 +50,7 @@ lbl_800B37D4: /* 800B37E8 000B0728 A8 1D 04 E6 */ lha r0, 0x4e6(r29) /* 800B37EC 000B072C 7C 00 F8 50 */ subf r0, r0, r31 /* 800B37F0 000B0730 7C 03 07 34 */ extsh r3, r0 -/* 800B37F4 000B0734 48 2B 18 DD */ bl func_803650D0 +/* 800B37F4 000B0734 48 2B 18 DD */ bl abs /* 800B37F8 000B0738 2C 03 30 00 */ cmpwi r3, 0x3000 /* 800B37FC 000B073C 40 81 00 0C */ ble lbl_800B3808 /* 800B3800 000B0740 38 60 00 01 */ li r3, 1 diff --git a/include/d/d_a/d_a_alink/asm/func_800B3924.s b/include/d/d_a/d_a_alink/asm/func_800B3924.s index 6d8fcbe858a..a7df48c333d 100644 --- a/include/d/d_a/d_a_alink/asm/func_800B3924.s +++ b/include/d/d_a/d_a_alink/asm/func_800B3924.s @@ -215,7 +215,7 @@ lbl_800B3BD8: /* 800B3C2C 000B0B6C 28 00 00 00 */ cmplwi r0, 0 /* 800B3C30 000B0B70 41 82 01 80 */ beq lbl_800B3DB0 /* 800B3C34 000B0B74 7F E3 FB 78 */ mr r3, r31 -/* 800B3C38 000B0B78 48 2B 14 99 */ bl func_803650D0 +/* 800B3C38 000B0B78 48 2B 14 99 */ bl abs /* 800B3C3C 000B0B7C 2C 03 40 00 */ cmpwi r3, 0x4000 /* 800B3C40 000B0B80 40 80 01 70 */ bge lbl_800B3DB0 lbl_800B3C44: @@ -227,7 +227,7 @@ lbl_800B3C44: /* 800B3C58 000B0B98 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 800B3C5C 000B0B9C 41 82 00 14 */ beq lbl_800B3C70 /* 800B3C60 000B0BA0 A8 7E 30 80 */ lha r3, 0x3080(r30) -/* 800B3C64 000B0BA4 48 2B 14 6D */ bl func_803650D0 +/* 800B3C64 000B0BA4 48 2B 14 6D */ bl abs /* 800B3C68 000B0BA8 2C 03 20 00 */ cmpwi r3, 0x2000 /* 800B3C6C 000B0BAC 41 81 01 44 */ bgt lbl_800B3DB0 lbl_800B3C70: @@ -302,7 +302,7 @@ lbl_800B3D1C: /* 800B3D6C 000B0CAC B0 1E 30 FC */ sth r0, 0x30fc(r30) lbl_800B3D70: /* 800B3D70 000B0CB0 7F E3 07 34 */ extsh r3, r31 -/* 800B3D74 000B0CB4 48 2B 13 5D */ bl func_803650D0 +/* 800B3D74 000B0CB4 48 2B 13 5D */ bl abs /* 800B3D78 000B0CB8 2C 03 04 00 */ cmpwi r3, 0x400 /* 800B3D7C 000B0CBC 40 80 00 0C */ bge lbl_800B3D88 /* 800B3D80 000B0CC0 C3 E2 92 C0 */ lfs f31, lbl_80452CC0-_SDA2_BASE_(r2) @@ -329,7 +329,7 @@ lbl_800B3DB0: /* 800B3DCC 000B0D0C 7C 04 00 50 */ subf r0, r4, r0 /* 800B3DD0 000B0D10 7C 1F 07 34 */ extsh r31, r0 /* 800B3DD4 000B0D14 7F E3 FB 78 */ mr r3, r31 -/* 800B3DD8 000B0D18 48 2B 12 F9 */ bl func_803650D0 +/* 800B3DD8 000B0D18 48 2B 12 F9 */ bl abs /* 800B3DDC 000B0D1C 2C 03 40 00 */ cmpwi r3, 0x4000 /* 800B3DE0 000B0D20 40 80 00 90 */ bge lbl_800B3E70 /* 800B3DE4 000B0D24 80 1E 31 A0 */ lwz r0, 0x31a0(r30) diff --git a/include/d/d_a/d_a_alink/asm/func_800B3F2C.s b/include/d/d_a/d_a_alink/asm/func_800B3F2C.s index 6f97bde5f82..04bdfaf4e0f 100644 --- a/include/d/d_a/d_a_alink/asm/func_800B3F2C.s +++ b/include/d/d_a/d_a_alink/asm/func_800B3F2C.s @@ -7,7 +7,7 @@ /* 800B3F44 000B0E84 A8 1F 30 7C */ lha r0, 0x307c(r31) /* 800B3F48 000B0E88 7C 03 00 50 */ subf r0, r3, r0 /* 800B3F4C 000B0E8C 7C 03 07 34 */ extsh r3, r0 -/* 800B3F50 000B0E90 48 2B 11 81 */ bl func_803650D0 +/* 800B3F50 000B0E90 48 2B 11 81 */ bl abs /* 800B3F54 000B0E94 2C 03 10 00 */ cmpwi r3, 0x1000 /* 800B3F58 000B0E98 40 81 00 64 */ ble lbl_800B3FBC /* 800B3F5C 000B0E9C 3C 60 80 44 */ lis r3, lbl_80439A20@ha diff --git a/include/d/d_a/d_a_alink/asm/func_800B3FD4.s b/include/d/d_a/d_a_alink/asm/func_800B3FD4.s index 77f2038d026..3de46e6a0a4 100644 --- a/include/d/d_a/d_a_alink/asm/func_800B3FD4.s +++ b/include/d/d_a/d_a_alink/asm/func_800B3FD4.s @@ -35,7 +35,7 @@ lbl_800B403C: /* 800B4054 000B0F94 38 03 80 00 */ addi r0, r3, -32768 /* 800B4058 000B0F98 7C 04 00 50 */ subf r0, r4, r0 /* 800B405C 000B0F9C 7C 03 07 34 */ extsh r3, r0 -/* 800B4060 000B0FA0 48 2B 10 71 */ bl func_803650D0 +/* 800B4060 000B0FA0 48 2B 10 71 */ bl abs /* 800B4064 000B0FA4 48 00 00 0C */ b lbl_800B4070 lbl_800B4068: /* 800B4068 000B0FA8 38 63 00 40 */ addi r3, r3, 0x40 @@ -50,7 +50,7 @@ lbl_800B4070: /* 800B4088 000B0FC8 38 03 80 00 */ addi r0, r3, -32768 /* 800B408C 000B0FCC 7C 04 00 50 */ subf r0, r4, r0 /* 800B4090 000B0FD0 7C 03 07 34 */ extsh r3, r0 -/* 800B4094 000B0FD4 48 2B 10 3D */ bl func_803650D0 +/* 800B4094 000B0FD4 48 2B 10 3D */ bl abs lbl_800B4098: /* 800B4098 000B0FD8 C0 3E 33 AC */ lfs f1, 0x33ac(r30) /* 800B409C 000B0FDC C0 02 92 A4 */ lfs f0, lbl_80452CA4-_SDA2_BASE_(r2) diff --git a/include/d/d_a/d_a_alink/asm/func_800B4A08.s b/include/d/d_a/d_a_alink/asm/func_800B4A08.s index 636f6ec8cb7..ea03671d1e0 100644 --- a/include/d/d_a/d_a_alink/asm/func_800B4A08.s +++ b/include/d/d_a/d_a_alink/asm/func_800B4A08.s @@ -23,7 +23,7 @@ lbl_800B4A3C: /* 800B4A58 000B1998 41 82 00 14 */ beq lbl_800B4A6C /* 800B4A5C 000B199C 7F E3 FB 78 */ mr r3, r31 /* 800B4A60 000B19A0 38 80 00 90 */ li r4, 0x90 -/* 800B4A64 000B19A4 4B FF E7 ED */ bl daAlink_c_NS_setDoStatus +/* 800B4A64 000B19A4 4B FF E7 ED */ bl setDoStatus__9daAlink_cFUc /* 800B4A68 000B19A8 48 00 00 A4 */ b lbl_800B4B0C lbl_800B4A6C: /* 800B4A6C 000B19AC 80 9F 27 F4 */ lwz r4, 0x27f4(r31) @@ -37,7 +37,7 @@ lbl_800B4A84: /* 800B4A88 000B19C8 41 82 00 14 */ beq lbl_800B4A9C /* 800B4A8C 000B19CC 7F E3 FB 78 */ mr r3, r31 /* 800B4A90 000B19D0 38 80 00 3B */ li r4, 0x3b -/* 800B4A94 000B19D4 4B FF E7 BD */ bl daAlink_c_NS_setDoStatus +/* 800B4A94 000B19D4 4B FF E7 BD */ bl setDoStatus__9daAlink_cFUc /* 800B4A98 000B19D8 48 00 00 74 */ b lbl_800B4B0C lbl_800B4A9C: /* 800B4A9C 000B19DC 54 60 00 85 */ rlwinm. r0, r3, 0, 2, 2 @@ -47,31 +47,31 @@ lbl_800B4A9C: /* 800B4AAC 000B19EC 40 82 00 14 */ bne lbl_800B4AC0 /* 800B4AB0 000B19F0 7F E3 FB 78 */ mr r3, r31 /* 800B4AB4 000B19F4 38 80 00 3C */ li r4, 0x3c -/* 800B4AB8 000B19F8 4B FF E7 99 */ bl daAlink_c_NS_setDoStatus +/* 800B4AB8 000B19F8 4B FF E7 99 */ bl setDoStatus__9daAlink_cFUc /* 800B4ABC 000B19FC 48 00 00 50 */ b lbl_800B4B0C lbl_800B4AC0: /* 800B4AC0 000B1A00 7F E3 FB 78 */ mr r3, r31 /* 800B4AC4 000B1A04 38 80 00 08 */ li r4, 8 -/* 800B4AC8 000B1A08 4B FF E7 89 */ bl daAlink_c_NS_setDoStatus +/* 800B4AC8 000B1A08 4B FF E7 89 */ bl setDoStatus__9daAlink_cFUc /* 800B4ACC 000B1A0C 48 00 00 40 */ b lbl_800B4B0C lbl_800B4AD0: /* 800B4AD0 000B1A10 54 60 00 43 */ rlwinm. r0, r3, 0, 1, 1 /* 800B4AD4 000B1A14 41 82 00 14 */ beq lbl_800B4AE8 /* 800B4AD8 000B1A18 7F E3 FB 78 */ mr r3, r31 /* 800B4ADC 000B1A1C 38 80 00 80 */ li r4, 0x80 -/* 800B4AE0 000B1A20 4B FF E7 71 */ bl daAlink_c_NS_setDoStatus +/* 800B4AE0 000B1A20 4B FF E7 71 */ bl setDoStatus__9daAlink_cFUc /* 800B4AE4 000B1A24 48 00 00 28 */ b lbl_800B4B0C lbl_800B4AE8: /* 800B4AE8 000B1A28 54 60 01 09 */ rlwinm. r0, r3, 0, 4, 4 /* 800B4AEC 000B1A2C 41 82 00 14 */ beq lbl_800B4B00 /* 800B4AF0 000B1A30 7F E3 FB 78 */ mr r3, r31 /* 800B4AF4 000B1A34 38 80 00 1B */ li r4, 0x1b -/* 800B4AF8 000B1A38 4B FF E7 59 */ bl daAlink_c_NS_setDoStatus +/* 800B4AF8 000B1A38 4B FF E7 59 */ bl setDoStatus__9daAlink_cFUc /* 800B4AFC 000B1A3C 48 00 00 10 */ b lbl_800B4B0C lbl_800B4B00: /* 800B4B00 000B1A40 7F E3 FB 78 */ mr r3, r31 /* 800B4B04 000B1A44 38 80 00 1C */ li r4, 0x1c -/* 800B4B08 000B1A48 4B FF E7 49 */ bl daAlink_c_NS_setDoStatus +/* 800B4B08 000B1A48 4B FF E7 49 */ bl setDoStatus__9daAlink_cFUc lbl_800B4B0C: /* 800B4B0C 000B1A4C 38 60 00 01 */ li r3, 1 /* 800B4B10 000B1A50 48 00 00 08 */ b lbl_800B4B18 diff --git a/include/d/d_a/d_a_alink/asm/func_800B4B7C.s b/include/d/d_a/d_a_alink/asm/func_800B4B7C.s index 003d06f676a..6bfe607a6fb 100644 --- a/include/d/d_a/d_a_alink/asm/func_800B4B7C.s +++ b/include/d/d_a/d_a_alink/asm/func_800B4B7C.s @@ -57,12 +57,12 @@ lbl_800B4C28: /* 800B4C50 000B1B90 40 82 00 14 */ bne lbl_800B4C64 /* 800B4C54 000B1B94 7F A3 EB 78 */ mr r3, r29 /* 800B4C58 000B1B98 38 80 00 2A */ li r4, 0x2a -/* 800B4C5C 000B1B9C 4B FF E5 F5 */ bl daAlink_c_NS_setDoStatus +/* 800B4C5C 000B1B9C 4B FF E5 F5 */ bl setDoStatus__9daAlink_cFUc /* 800B4C60 000B1BA0 48 00 06 04 */ b lbl_800B5264 lbl_800B4C64: /* 800B4C64 000B1BA4 7F A3 EB 78 */ mr r3, r29 /* 800B4C68 000B1BA8 38 80 00 04 */ li r4, 4 -/* 800B4C6C 000B1BAC 4B FF E5 E5 */ bl daAlink_c_NS_setDoStatus +/* 800B4C6C 000B1BAC 4B FF E5 E5 */ bl setDoStatus__9daAlink_cFUc /* 800B4C70 000B1BB0 48 00 05 F4 */ b lbl_800B5264 lbl_800B4C74: /* 800B4C74 000B1BB4 A8 1D 30 8E */ lha r0, 0x308e(r29) @@ -70,7 +70,7 @@ lbl_800B4C74: /* 800B4C7C 000B1BBC 41 82 05 E8 */ beq lbl_800B5264 /* 800B4C80 000B1BC0 7F A3 EB 78 */ mr r3, r29 /* 800B4C84 000B1BC4 38 80 00 12 */ li r4, 0x12 -/* 800B4C88 000B1BC8 4B FF E5 C9 */ bl daAlink_c_NS_setDoStatus +/* 800B4C88 000B1BC8 4B FF E5 C9 */ bl setDoStatus__9daAlink_cFUc /* 800B4C8C 000B1BCC 48 00 05 D8 */ b lbl_800B5264 lbl_800B4C90: /* 800B4C90 000B1BD0 80 1D 05 74 */ lwz r0, 0x574(r29) @@ -82,7 +82,7 @@ lbl_800B4C90: /* 800B4CA8 000B1BE8 41 82 00 14 */ beq lbl_800B4CBC /* 800B4CAC 000B1BEC 7F A3 EB 78 */ mr r3, r29 /* 800B4CB0 000B1BF0 38 80 00 30 */ li r4, 0x30 -/* 800B4CB4 000B1BF4 4B FF E5 B5 */ bl daAlink_c_NS_setDoStatusEmphasys +/* 800B4CB4 000B1BF4 4B FF E5 B5 */ bl setDoStatusEmphasys__9daAlink_cFUc /* 800B4CB8 000B1BF8 48 00 01 88 */ b lbl_800B4E40 lbl_800B4CBC: /* 800B4CBC 000B1BFC 7F A3 EB 78 */ mr r3, r29 @@ -91,7 +91,7 @@ lbl_800B4CBC: /* 800B4CC8 000B1C08 41 82 00 14 */ beq lbl_800B4CDC /* 800B4CCC 000B1C0C 7F A3 EB 78 */ mr r3, r29 /* 800B4CD0 000B1C10 38 80 00 77 */ li r4, 0x77 -/* 800B4CD4 000B1C14 4B FF E5 95 */ bl daAlink_c_NS_setDoStatusEmphasys +/* 800B4CD4 000B1C14 4B FF E5 95 */ bl setDoStatusEmphasys__9daAlink_cFUc /* 800B4CD8 000B1C18 48 00 01 68 */ b lbl_800B4E40 lbl_800B4CDC: /* 800B4CDC 000B1C1C 7F A3 EB 78 */ mr r3, r29 @@ -100,7 +100,7 @@ lbl_800B4CDC: /* 800B4CE8 000B1C28 41 82 00 14 */ beq lbl_800B4CFC /* 800B4CEC 000B1C2C 7F A3 EB 78 */ mr r3, r29 /* 800B4CF0 000B1C30 38 80 00 19 */ li r4, 0x19 -/* 800B4CF4 000B1C34 4B FF E5 75 */ bl daAlink_c_NS_setDoStatusEmphasys +/* 800B4CF4 000B1C34 4B FF E5 75 */ bl setDoStatusEmphasys__9daAlink_cFUc /* 800B4CF8 000B1C38 48 00 01 48 */ b lbl_800B4E40 lbl_800B4CFC: /* 800B4CFC 000B1C3C 80 7D 27 EC */ lwz r3, 0x27ec(r29) @@ -125,7 +125,7 @@ lbl_800B4D2C: /* 800B4D40 000B1C80 40 82 00 10 */ bne lbl_800B4D50 /* 800B4D44 000B1C84 7F A3 EB 78 */ mr r3, r29 /* 800B4D48 000B1C88 38 80 00 93 */ li r4, 0x93 -/* 800B4D4C 000B1C8C 4B FF E5 05 */ bl daAlink_c_NS_setDoStatus +/* 800B4D4C 000B1C8C 4B FF E5 05 */ bl setDoStatus__9daAlink_cFUc lbl_800B4D50: /* 800B4D50 000B1C90 80 1D 05 80 */ lwz r0, 0x580(r29) /* 800B4D54 000B1C94 64 00 00 02 */ oris r0, r0, 2 @@ -149,7 +149,7 @@ lbl_800B4D78: lbl_800B4D94: /* 800B4D94 000B1CD4 7F A3 EB 78 */ mr r3, r29 /* 800B4D98 000B1CD8 38 80 00 8B */ li r4, 0x8b -/* 800B4D9C 000B1CDC 4B FF E4 B5 */ bl daAlink_c_NS_setDoStatus +/* 800B4D9C 000B1CDC 4B FF E4 B5 */ bl setDoStatus__9daAlink_cFUc /* 800B4DA0 000B1CE0 48 00 00 A0 */ b lbl_800B4E40 lbl_800B4DA4: /* 800B4DA4 000B1CE4 83 9D 27 E0 */ lwz r28, 0x27e0(r29) @@ -167,7 +167,7 @@ lbl_800B4DCC: /* 800B4DD0 000B1D10 41 82 00 14 */ beq lbl_800B4DE4 /* 800B4DD4 000B1D14 7F A3 EB 78 */ mr r3, r29 /* 800B4DD8 000B1D18 38 80 00 8B */ li r4, 0x8b -/* 800B4DDC 000B1D1C 4B FF E4 75 */ bl daAlink_c_NS_setDoStatus +/* 800B4DDC 000B1D1C 4B FF E4 75 */ bl setDoStatus__9daAlink_cFUc /* 800B4DE0 000B1D20 48 00 00 60 */ b lbl_800B4E40 lbl_800B4DE4: /* 800B4DE4 000B1D24 A8 1D 30 D2 */ lha r0, 0x30d2(r29) @@ -194,7 +194,7 @@ lbl_800B4E2C: lbl_800B4E34: /* 800B4E34 000B1D74 7F A3 EB 78 */ mr r3, r29 /* 800B4E38 000B1D78 38 80 00 09 */ li r4, 9 -/* 800B4E3C 000B1D7C 4B FF E4 15 */ bl daAlink_c_NS_setDoStatus +/* 800B4E3C 000B1D7C 4B FF E4 15 */ bl setDoStatus__9daAlink_cFUc lbl_800B4E40: /* 800B4E40 000B1D80 7F A3 EB 78 */ mr r3, r29 /* 800B4E44 000B1D84 4B FF CC E5 */ bl daAlink_c_NS_checkNotJumpSinkLimit @@ -216,7 +216,7 @@ lbl_800B4E40: lbl_800B4E84: /* 800B4E84 000B1DC4 7F A3 EB 78 */ mr r3, r29 /* 800B4E88 000B1DC8 38 80 00 00 */ li r4, 0 -/* 800B4E8C 000B1DCC 4B FF E3 C5 */ bl daAlink_c_NS_setDoStatus +/* 800B4E8C 000B1DCC 4B FF E3 C5 */ bl setDoStatus__9daAlink_cFUc /* 800B4E90 000B1DD0 48 00 03 D4 */ b lbl_800B5264 lbl_800B4E94: /* 800B4E94 000B1DD4 A8 7D 04 E6 */ lha r3, 0x4e6(r29) @@ -266,7 +266,7 @@ lbl_800B4F0C: /* 800B4F3C 000B1E7C 41 82 00 14 */ beq lbl_800B4F50 /* 800B4F40 000B1E80 7F A3 EB 78 */ mr r3, r29 /* 800B4F44 000B1E84 38 80 00 30 */ li r4, 0x30 -/* 800B4F48 000B1E88 4B FF E3 21 */ bl daAlink_c_NS_setDoStatusEmphasys +/* 800B4F48 000B1E88 4B FF E3 21 */ bl setDoStatusEmphasys__9daAlink_cFUc /* 800B4F4C 000B1E8C 48 00 01 D4 */ b lbl_800B5120 lbl_800B4F50: /* 800B4F50 000B1E90 A0 1D 2F DC */ lhz r0, 0x2fdc(r29) @@ -278,12 +278,12 @@ lbl_800B4F50: /* 800B4F68 000B1EA8 41 82 00 14 */ beq lbl_800B4F7C /* 800B4F6C 000B1EAC 7F A3 EB 78 */ mr r3, r29 /* 800B4F70 000B1EB0 38 80 00 77 */ li r4, 0x77 -/* 800B4F74 000B1EB4 4B FF E2 F5 */ bl daAlink_c_NS_setDoStatusEmphasys +/* 800B4F74 000B1EB4 4B FF E2 F5 */ bl setDoStatusEmphasys__9daAlink_cFUc /* 800B4F78 000B1EB8 48 00 01 A8 */ b lbl_800B5120 lbl_800B4F7C: /* 800B4F7C 000B1EBC 7F A3 EB 78 */ mr r3, r29 /* 800B4F80 000B1EC0 38 80 00 19 */ li r4, 0x19 -/* 800B4F84 000B1EC4 4B FF E2 E5 */ bl daAlink_c_NS_setDoStatusEmphasys +/* 800B4F84 000B1EC4 4B FF E2 E5 */ bl setDoStatusEmphasys__9daAlink_cFUc /* 800B4F88 000B1EC8 48 00 01 98 */ b lbl_800B5120 lbl_800B4F8C: /* 800B4F8C 000B1ECC A0 1D 1F BC */ lhz r0, 0x1fbc(r29) @@ -299,7 +299,7 @@ lbl_800B4FAC: /* 800B4FB0 000B1EF0 40 82 00 14 */ bne lbl_800B4FC4 /* 800B4FB4 000B1EF4 7F A3 EB 78 */ mr r3, r29 /* 800B4FB8 000B1EF8 38 80 00 13 */ li r4, 0x13 -/* 800B4FBC 000B1EFC 4B FF E2 95 */ bl daAlink_c_NS_setDoStatus +/* 800B4FBC 000B1EFC 4B FF E2 95 */ bl setDoStatus__9daAlink_cFUc /* 800B4FC0 000B1F00 48 00 01 60 */ b lbl_800B5120 lbl_800B4FC4: /* 800B4FC4 000B1F04 28 00 01 03 */ cmplwi r0, 0x103 @@ -310,7 +310,7 @@ lbl_800B4FC4: /* 800B4FD8 000B1F18 41 82 00 14 */ beq lbl_800B4FEC /* 800B4FDC 000B1F1C 7F A3 EB 78 */ mr r3, r29 /* 800B4FE0 000B1F20 38 80 00 30 */ li r4, 0x30 -/* 800B4FE4 000B1F24 4B FF E2 85 */ bl daAlink_c_NS_setDoStatusEmphasys +/* 800B4FE4 000B1F24 4B FF E2 85 */ bl setDoStatusEmphasys__9daAlink_cFUc /* 800B4FE8 000B1F28 48 00 01 38 */ b lbl_800B5120 lbl_800B4FEC: /* 800B4FEC 000B1F2C A0 1D 2F DC */ lhz r0, 0x2fdc(r29) @@ -322,17 +322,17 @@ lbl_800B4FEC: /* 800B5004 000B1F44 41 82 00 14 */ beq lbl_800B5018 /* 800B5008 000B1F48 7F A3 EB 78 */ mr r3, r29 /* 800B500C 000B1F4C 38 80 00 77 */ li r4, 0x77 -/* 800B5010 000B1F50 4B FF E2 59 */ bl daAlink_c_NS_setDoStatusEmphasys +/* 800B5010 000B1F50 4B FF E2 59 */ bl setDoStatusEmphasys__9daAlink_cFUc /* 800B5014 000B1F54 48 00 01 0C */ b lbl_800B5120 lbl_800B5018: /* 800B5018 000B1F58 7F A3 EB 78 */ mr r3, r29 /* 800B501C 000B1F5C 38 80 00 86 */ li r4, 0x86 -/* 800B5020 000B1F60 4B FF E2 31 */ bl daAlink_c_NS_setDoStatus +/* 800B5020 000B1F60 4B FF E2 31 */ bl setDoStatus__9daAlink_cFUc /* 800B5024 000B1F64 48 00 00 FC */ b lbl_800B5120 lbl_800B5028: /* 800B5028 000B1F68 7F A3 EB 78 */ mr r3, r29 /* 800B502C 000B1F6C 38 80 00 79 */ li r4, 0x79 -/* 800B5030 000B1F70 4B FF E2 21 */ bl daAlink_c_NS_setDoStatus +/* 800B5030 000B1F70 4B FF E2 21 */ bl setDoStatus__9daAlink_cFUc /* 800B5034 000B1F74 48 00 00 EC */ b lbl_800B5120 lbl_800B5038: /* 800B5038 000B1F78 7F A3 EB 78 */ mr r3, r29 @@ -364,17 +364,17 @@ lbl_800B5060: /* 800B509C 000B1FDC 41 82 00 14 */ beq lbl_800B50B0 /* 800B50A0 000B1FE0 7F A3 EB 78 */ mr r3, r29 /* 800B50A4 000B1FE4 38 80 00 13 */ li r4, 0x13 -/* 800B50A8 000B1FE8 4B FF E1 A9 */ bl daAlink_c_NS_setDoStatus +/* 800B50A8 000B1FE8 4B FF E1 A9 */ bl setDoStatus__9daAlink_cFUc /* 800B50AC 000B1FEC 48 00 00 74 */ b lbl_800B5120 lbl_800B50B0: /* 800B50B0 000B1FF0 7F A3 EB 78 */ mr r3, r29 /* 800B50B4 000B1FF4 38 80 00 14 */ li r4, 0x14 -/* 800B50B8 000B1FF8 4B FF E1 99 */ bl daAlink_c_NS_setDoStatus +/* 800B50B8 000B1FF8 4B FF E1 99 */ bl setDoStatus__9daAlink_cFUc /* 800B50BC 000B1FFC 48 00 00 64 */ b lbl_800B5120 lbl_800B50C0: /* 800B50C0 000B2000 7F A3 EB 78 */ mr r3, r29 /* 800B50C4 000B2004 38 80 00 04 */ li r4, 4 -/* 800B50C8 000B2008 4B FF E1 89 */ bl daAlink_c_NS_setDoStatus +/* 800B50C8 000B2008 4B FF E1 89 */ bl setDoStatus__9daAlink_cFUc /* 800B50CC 000B200C 48 00 00 54 */ b lbl_800B5120 lbl_800B50D0: /* 800B50D0 000B2010 C0 1D 33 A8 */ lfs f0, 0x33a8(r29) @@ -385,12 +385,12 @@ lbl_800B50D0: /* 800B50E4 000B2024 40 82 00 14 */ bne lbl_800B50F8 /* 800B50E8 000B2028 7F A3 EB 78 */ mr r3, r29 /* 800B50EC 000B202C 38 80 00 13 */ li r4, 0x13 -/* 800B50F0 000B2030 4B FF E1 61 */ bl daAlink_c_NS_setDoStatus +/* 800B50F0 000B2030 4B FF E1 61 */ bl setDoStatus__9daAlink_cFUc /* 800B50F4 000B2034 48 00 00 2C */ b lbl_800B5120 lbl_800B50F8: /* 800B50F8 000B2038 7F A3 EB 78 */ mr r3, r29 /* 800B50FC 000B203C 38 80 00 79 */ li r4, 0x79 -/* 800B5100 000B2040 4B FF E1 51 */ bl daAlink_c_NS_setDoStatus +/* 800B5100 000B2040 4B FF E1 51 */ bl setDoStatus__9daAlink_cFUc /* 800B5104 000B2044 48 00 00 1C */ b lbl_800B5120 lbl_800B5108: /* 800B5108 000B2048 A8 1D 30 8E */ lha r0, 0x308e(r29) @@ -398,7 +398,7 @@ lbl_800B5108: /* 800B5110 000B2050 41 82 00 10 */ beq lbl_800B5120 /* 800B5114 000B2054 7F A3 EB 78 */ mr r3, r29 /* 800B5118 000B2058 38 80 00 12 */ li r4, 0x12 -/* 800B511C 000B205C 4B FF E1 35 */ bl daAlink_c_NS_setDoStatus +/* 800B511C 000B205C 4B FF E1 35 */ bl setDoStatus__9daAlink_cFUc lbl_800B5120: /* 800B5120 000B2060 80 1D 05 70 */ lwz r0, 0x570(r29) /* 800B5124 000B2064 54 00 04 E7 */ rlwinm. r0, r0, 0, 0x13, 0x13 @@ -464,12 +464,12 @@ lbl_800B51EC: /* 800B5200 000B2140 41 82 00 14 */ beq lbl_800B5214 /* 800B5204 000B2144 7F A3 EB 78 */ mr r3, r29 /* 800B5208 000B2148 38 80 00 04 */ li r4, 4 -/* 800B520C 000B214C 4B FF E0 45 */ bl daAlink_c_NS_setDoStatus +/* 800B520C 000B214C 4B FF E0 45 */ bl setDoStatus__9daAlink_cFUc /* 800B5210 000B2150 48 00 00 10 */ b lbl_800B5220 lbl_800B5214: /* 800B5214 000B2154 7F A3 EB 78 */ mr r3, r29 /* 800B5218 000B2158 38 80 00 00 */ li r4, 0 -/* 800B521C 000B215C 4B FF E0 35 */ bl daAlink_c_NS_setDoStatus +/* 800B521C 000B215C 4B FF E0 35 */ bl setDoStatus__9daAlink_cFUc lbl_800B5220: /* 800B5220 000B2160 57 E0 06 3F */ clrlwi. r0, r31, 0x18 /* 800B5224 000B2164 41 82 00 1C */ beq lbl_800B5240 @@ -478,7 +478,7 @@ lbl_800B5220: /* 800B5230 000B2170 40 82 00 10 */ bne lbl_800B5240 /* 800B5234 000B2174 7F A3 EB 78 */ mr r3, r29 /* 800B5238 000B2178 38 80 00 00 */ li r4, 0 -/* 800B523C 000B217C 4B FF E0 15 */ bl daAlink_c_NS_setDoStatus +/* 800B523C 000B217C 4B FF E0 15 */ bl setDoStatus__9daAlink_cFUc lbl_800B5240: /* 800B5240 000B2180 88 1E 5E 24 */ lbz r0, 0x5e24(r30) /* 800B5244 000B2184 28 00 00 04 */ cmplwi r0, 4 @@ -488,7 +488,7 @@ lbl_800B5240: /* 800B5254 000B2194 40 82 00 10 */ bne lbl_800B5264 /* 800B5258 000B2198 7F A3 EB 78 */ mr r3, r29 /* 800B525C 000B219C 38 80 00 2A */ li r4, 0x2a -/* 800B5260 000B21A0 4B FF DF F1 */ bl daAlink_c_NS_setDoStatus +/* 800B5260 000B21A0 4B FF DF F1 */ bl setDoStatus__9daAlink_cFUc lbl_800B5264: /* 800B5264 000B21A4 E3 E1 00 28 */ psq_l f31, 40(r1), 0, 0 /* 800B5268 000B21A8 CB E1 00 20 */ lfd f31, 0x20(r1) diff --git a/include/d/d_a/d_a_alink/asm/func_800B5284.s b/include/d/d_a/d_a_alink/asm/func_800B5284.s index c3d42f1403c..2240cce53a4 100644 --- a/include/d/d_a/d_a_alink/asm/func_800B5284.s +++ b/include/d/d_a/d_a_alink/asm/func_800B5284.s @@ -21,7 +21,7 @@ lbl_800B52BC: /* 800B52CC 000B220C 41 82 00 10 */ beq lbl_800B52DC /* 800B52D0 000B2210 7F C3 F3 78 */ mr r3, r30 /* 800B52D4 000B2214 38 80 00 62 */ li r4, 0x62 -/* 800B52D8 000B2218 4B FF DF 91 */ bl daAlink_c_NS_setDoStatusEmphasys +/* 800B52D8 000B2218 4B FF DF 91 */ bl setDoStatusEmphasys__9daAlink_cFUc lbl_800B52DC: /* 800B52DC 000B221C 80 1E 27 EC */ lwz r0, 0x27ec(r30) /* 800B52E0 000B2220 28 00 00 00 */ cmplwi r0, 0 @@ -48,7 +48,7 @@ lbl_800B52DC: lbl_800B5334: /* 800B5334 000B2274 7F C3 F3 78 */ mr r3, r30 /* 800B5338 000B2278 38 80 00 20 */ li r4, 0x20 -/* 800B533C 000B227C 4B FF DF 15 */ bl daAlink_c_NS_setDoStatus +/* 800B533C 000B227C 4B FF DF 15 */ bl setDoStatus__9daAlink_cFUc /* 800B5340 000B2280 48 00 05 94 */ b lbl_800B58D4 lbl_800B5344: /* 800B5344 000B2284 7F C3 F3 78 */ mr r3, r30 @@ -83,7 +83,7 @@ lbl_800B5368: lbl_800B53B4: /* 800B53B4 000B22F4 7F C3 F3 78 */ mr r3, r30 /* 800B53B8 000B22F8 38 80 00 06 */ li r4, 6 -/* 800B53BC 000B22FC 4B FF DE 95 */ bl daAlink_c_NS_setDoStatus +/* 800B53BC 000B22FC 4B FF DE 95 */ bl setDoStatus__9daAlink_cFUc /* 800B53C0 000B2300 48 00 05 0C */ b lbl_800B58CC lbl_800B53C4: /* 800B53C4 000B2304 80 7E 27 E4 */ lwz r3, 0x27e4(r30) @@ -94,7 +94,7 @@ lbl_800B53C4: /* 800B53D8 000B2318 40 82 00 14 */ bne lbl_800B53EC /* 800B53DC 000B231C 7F C3 F3 78 */ mr r3, r30 /* 800B53E0 000B2320 38 80 00 89 */ li r4, 0x89 -/* 800B53E4 000B2324 4B FF DE 6D */ bl daAlink_c_NS_setDoStatus +/* 800B53E4 000B2324 4B FF DE 6D */ bl setDoStatus__9daAlink_cFUc /* 800B53E8 000B2328 48 00 04 E4 */ b lbl_800B58CC lbl_800B53EC: /* 800B53EC 000B232C 80 1E 05 74 */ lwz r0, 0x574(r30) @@ -113,21 +113,21 @@ lbl_800B53EC: /* 800B5420 000B2360 40 82 00 14 */ bne lbl_800B5434 /* 800B5424 000B2364 7F C3 F3 78 */ mr r3, r30 /* 800B5428 000B2368 38 80 00 91 */ li r4, 0x91 -/* 800B542C 000B236C 4B FF DE 25 */ bl daAlink_c_NS_setDoStatus +/* 800B542C 000B236C 4B FF DE 25 */ bl setDoStatus__9daAlink_cFUc /* 800B5430 000B2370 48 00 04 9C */ b lbl_800B58CC lbl_800B5434: /* 800B5434 000B2374 2C 1F 01 4D */ cmpwi r31, 0x14d /* 800B5438 000B2378 40 82 00 14 */ bne lbl_800B544C /* 800B543C 000B237C 7F C3 F3 78 */ mr r3, r30 /* 800B5440 000B2380 38 80 00 05 */ li r4, 5 -/* 800B5444 000B2384 4B FF DE 25 */ bl daAlink_c_NS_setDoStatusEmphasys +/* 800B5444 000B2384 4B FF DE 25 */ bl setDoStatusEmphasys__9daAlink_cFUc /* 800B5448 000B2388 48 00 04 84 */ b lbl_800B58CC lbl_800B544C: /* 800B544C 000B238C 2C 1F 02 FD */ cmpwi r31, 0x2fd /* 800B5450 000B2390 40 82 00 14 */ bne lbl_800B5464 /* 800B5454 000B2394 7F C3 F3 78 */ mr r3, r30 /* 800B5458 000B2398 38 80 00 47 */ li r4, 0x47 -/* 800B545C 000B239C 4B FF DD F5 */ bl daAlink_c_NS_setDoStatus +/* 800B545C 000B239C 4B FF DD F5 */ bl setDoStatus__9daAlink_cFUc /* 800B5460 000B23A0 48 00 04 6C */ b lbl_800B58CC lbl_800B5464: /* 800B5464 000B23A4 2C 1F 02 1F */ cmpwi r31, 0x21f @@ -139,7 +139,7 @@ lbl_800B5464: lbl_800B547C: /* 800B547C 000B23BC 7F C3 F3 78 */ mr r3, r30 /* 800B5480 000B23C0 38 80 00 39 */ li r4, 0x39 -/* 800B5484 000B23C4 4B FF DD E5 */ bl daAlink_c_NS_setDoStatusEmphasys +/* 800B5484 000B23C4 4B FF DD E5 */ bl setDoStatusEmphasys__9daAlink_cFUc /* 800B5488 000B23C8 48 00 04 44 */ b lbl_800B58CC lbl_800B548C: /* 800B548C 000B23CC 7F C3 F3 78 */ mr r3, r30 @@ -152,7 +152,7 @@ lbl_800B548C: /* 800B54A8 000B23E8 40 82 04 24 */ bne lbl_800B58CC /* 800B54AC 000B23EC 7F C3 F3 78 */ mr r3, r30 /* 800B54B0 000B23F0 38 80 00 0C */ li r4, 0xc -/* 800B54B4 000B23F4 4B FF DD B5 */ bl daAlink_c_NS_setDoStatusEmphasys +/* 800B54B4 000B23F4 4B FF DD B5 */ bl setDoStatusEmphasys__9daAlink_cFUc /* 800B54B8 000B23F8 48 00 04 14 */ b lbl_800B58CC lbl_800B54BC: /* 800B54BC 000B23FC 80 7E 27 EC */ lwz r3, 0x27ec(r30) @@ -178,7 +178,7 @@ lbl_800B54BC: /* 800B550C 000B244C 40 82 00 14 */ bne lbl_800B5520 /* 800B5510 000B2450 7F C3 F3 78 */ mr r3, r30 /* 800B5514 000B2454 38 80 00 91 */ li r4, 0x91 -/* 800B5518 000B2458 4B FF DD 39 */ bl daAlink_c_NS_setDoStatus +/* 800B5518 000B2458 4B FF DD 39 */ bl setDoStatus__9daAlink_cFUc /* 800B551C 000B245C 48 00 03 B0 */ b lbl_800B58CC lbl_800B5520: /* 800B5520 000B2460 80 7E 27 EC */ lwz r3, 0x27ec(r30) @@ -253,14 +253,14 @@ lbl_800B5608: lbl_800B5628: /* 800B5628 000B2568 7F C3 F3 78 */ mr r3, r30 /* 800B562C 000B256C 38 80 00 05 */ li r4, 5 -/* 800B5630 000B2570 4B FF DC 39 */ bl daAlink_c_NS_setDoStatusEmphasys +/* 800B5630 000B2570 4B FF DC 39 */ bl setDoStatusEmphasys__9daAlink_cFUc /* 800B5634 000B2574 48 00 02 98 */ b lbl_800B58CC lbl_800B5638: /* 800B5638 000B2578 2C 1F 02 AD */ cmpwi r31, 0x2ad /* 800B563C 000B257C 40 82 02 90 */ bne lbl_800B58CC /* 800B5640 000B2580 7F C3 F3 78 */ mr r3, r30 /* 800B5644 000B2584 38 80 00 45 */ li r4, 0x45 -/* 800B5648 000B2588 4B FF DC 21 */ bl daAlink_c_NS_setDoStatusEmphasys +/* 800B5648 000B2588 4B FF DC 21 */ bl setDoStatusEmphasys__9daAlink_cFUc /* 800B564C 000B258C 48 00 02 80 */ b lbl_800B58CC lbl_800B5650: /* 800B5650 000B2590 80 7E 27 EC */ lwz r3, 0x27ec(r30) @@ -273,7 +273,7 @@ lbl_800B5650: /* 800B566C 000B25AC 40 82 00 14 */ bne lbl_800B5680 /* 800B5670 000B25B0 7F C3 F3 78 */ mr r3, r30 /* 800B5674 000B25B4 38 80 00 7B */ li r4, 0x7b -/* 800B5678 000B25B8 4B FF DB F1 */ bl daAlink_c_NS_setDoStatusEmphasys +/* 800B5678 000B25B8 4B FF DB F1 */ bl setDoStatusEmphasys__9daAlink_cFUc /* 800B567C 000B25BC 48 00 02 50 */ b lbl_800B58CC lbl_800B5680: /* 800B5680 000B25C0 7F C3 F3 78 */ mr r3, r30 @@ -303,21 +303,21 @@ lbl_800B56C4: lbl_800B56D4: /* 800B56D4 000B2614 7F C3 F3 78 */ mr r3, r30 /* 800B56D8 000B2618 38 80 00 17 */ li r4, 0x17 -/* 800B56DC 000B261C 4B FF DB 75 */ bl daAlink_c_NS_setDoStatus +/* 800B56DC 000B261C 4B FF DB 75 */ bl setDoStatus__9daAlink_cFUc /* 800B56E0 000B2620 48 00 01 EC */ b lbl_800B58CC lbl_800B56E4: /* 800B56E4 000B2624 2C 1F 01 06 */ cmpwi r31, 0x106 /* 800B56E8 000B2628 40 82 00 14 */ bne lbl_800B56FC /* 800B56EC 000B262C 7F C3 F3 78 */ mr r3, r30 /* 800B56F0 000B2630 38 80 00 38 */ li r4, 0x38 -/* 800B56F4 000B2634 4B FF DB 5D */ bl daAlink_c_NS_setDoStatus +/* 800B56F4 000B2634 4B FF DB 5D */ bl setDoStatus__9daAlink_cFUc /* 800B56F8 000B2638 48 00 01 D4 */ b lbl_800B58CC lbl_800B56FC: /* 800B56FC 000B263C 2C 1F 00 CC */ cmpwi r31, 0xcc /* 800B5700 000B2640 40 82 00 14 */ bne lbl_800B5714 /* 800B5704 000B2644 7F C3 F3 78 */ mr r3, r30 /* 800B5708 000B2648 38 80 00 99 */ li r4, 0x99 -/* 800B570C 000B264C 4B FF DB 5D */ bl daAlink_c_NS_setDoStatusEmphasys +/* 800B570C 000B264C 4B FF DB 5D */ bl setDoStatusEmphasys__9daAlink_cFUc /* 800B5710 000B2650 48 00 01 BC */ b lbl_800B58CC lbl_800B5714: /* 800B5714 000B2654 2C 1F 02 C9 */ cmpwi r31, 0x2c9 @@ -343,7 +343,7 @@ lbl_800B5748: /* 800B5760 000B26A0 41 82 01 6C */ beq lbl_800B58CC /* 800B5764 000B26A4 7F C3 F3 78 */ mr r3, r30 /* 800B5768 000B26A8 38 80 00 63 */ li r4, 0x63 -/* 800B576C 000B26AC 4B FF DA E5 */ bl daAlink_c_NS_setDoStatus +/* 800B576C 000B26AC 4B FF DA E5 */ bl setDoStatus__9daAlink_cFUc /* 800B5770 000B26B0 48 00 01 5C */ b lbl_800B58CC lbl_800B5774: /* 800B5774 000B26B4 80 9E 27 EC */ lwz r4, 0x27ec(r30) @@ -370,7 +370,7 @@ lbl_800B5774: /* 800B57C8 000B2708 40 82 00 14 */ bne lbl_800B57DC /* 800B57CC 000B270C 7F C3 F3 78 */ mr r3, r30 /* 800B57D0 000B2710 38 80 00 91 */ li r4, 0x91 -/* 800B57D4 000B2714 4B FF DA 7D */ bl daAlink_c_NS_setDoStatus +/* 800B57D4 000B2714 4B FF DA 7D */ bl setDoStatus__9daAlink_cFUc /* 800B57D8 000B2718 48 00 00 F4 */ b lbl_800B58CC lbl_800B57DC: /* 800B57DC 000B271C 80 7E 27 E4 */ lwz r3, 0x27e4(r30) @@ -387,7 +387,7 @@ lbl_800B57DC: /* 800B5808 000B2748 41 82 00 14 */ beq lbl_800B581C /* 800B580C 000B274C 7F C3 F3 78 */ mr r3, r30 /* 800B5810 000B2750 38 80 00 91 */ li r4, 0x91 -/* 800B5814 000B2754 4B FF DA 3D */ bl daAlink_c_NS_setDoStatus +/* 800B5814 000B2754 4B FF DA 3D */ bl setDoStatus__9daAlink_cFUc /* 800B5818 000B2758 48 00 00 B4 */ b lbl_800B58CC lbl_800B581C: /* 800B581C 000B275C 80 1E 05 70 */ lwz r0, 0x570(r30) @@ -400,14 +400,14 @@ lbl_800B581C: /* 800B5838 000B2778 41 82 00 14 */ beq lbl_800B584C /* 800B583C 000B277C 7F C3 F3 78 */ mr r3, r30 /* 800B5840 000B2780 38 80 00 98 */ li r4, 0x98 -/* 800B5844 000B2784 4B FF DA 25 */ bl daAlink_c_NS_setDoStatusEmphasys +/* 800B5844 000B2784 4B FF DA 25 */ bl setDoStatusEmphasys__9daAlink_cFUc /* 800B5848 000B2788 48 00 00 84 */ b lbl_800B58CC lbl_800B584C: /* 800B584C 000B278C 2C 1F 02 19 */ cmpwi r31, 0x219 /* 800B5850 000B2790 40 82 00 14 */ bne lbl_800B5864 /* 800B5854 000B2794 7F C3 F3 78 */ mr r3, r30 /* 800B5858 000B2798 38 80 00 39 */ li r4, 0x39 -/* 800B585C 000B279C 4B FF DA 0D */ bl daAlink_c_NS_setDoStatusEmphasys +/* 800B585C 000B279C 4B FF DA 0D */ bl setDoStatusEmphasys__9daAlink_cFUc /* 800B5860 000B27A0 48 00 00 6C */ b lbl_800B58CC lbl_800B5864: /* 800B5864 000B27A4 7F C3 F3 78 */ mr r3, r30 @@ -418,7 +418,7 @@ lbl_800B5864: /* 800B5878 000B27B8 40 82 00 14 */ bne lbl_800B588C /* 800B587C 000B27BC 7F C3 F3 78 */ mr r3, r30 /* 800B5880 000B27C0 38 80 00 2B */ li r4, 0x2b -/* 800B5884 000B27C4 4B FF D9 CD */ bl daAlink_c_NS_setDoStatus +/* 800B5884 000B27C4 4B FF D9 CD */ bl setDoStatus__9daAlink_cFUc /* 800B5888 000B27C8 48 00 00 44 */ b lbl_800B58CC lbl_800B588C: /* 800B588C 000B27CC 80 7E 27 F4 */ lwz r3, 0x27f4(r30) @@ -427,14 +427,14 @@ lbl_800B588C: /* 800B5898 000B27D8 41 82 00 14 */ beq lbl_800B58AC /* 800B589C 000B27DC 7F C3 F3 78 */ mr r3, r30 /* 800B58A0 000B27E0 38 80 00 34 */ li r4, 0x34 -/* 800B58A4 000B27E4 4B FF D9 C5 */ bl daAlink_c_NS_setDoStatusEmphasys +/* 800B58A4 000B27E4 4B FF D9 C5 */ bl setDoStatusEmphasys__9daAlink_cFUc /* 800B58A8 000B27E8 48 00 00 24 */ b lbl_800B58CC lbl_800B58AC: /* 800B58AC 000B27EC 2C 1F 02 16 */ cmpwi r31, 0x216 /* 800B58B0 000B27F0 41 82 00 1C */ beq lbl_800B58CC /* 800B58B4 000B27F4 7F C3 F3 78 */ mr r3, r30 /* 800B58B8 000B27F8 38 80 00 1F */ li r4, 0x1f -/* 800B58BC 000B27FC 4B FF D9 AD */ bl daAlink_c_NS_setDoStatusEmphasys +/* 800B58BC 000B27FC 4B FF D9 AD */ bl setDoStatusEmphasys__9daAlink_cFUc /* 800B58C0 000B2800 48 00 00 0C */ b lbl_800B58CC lbl_800B58C4: /* 800B58C4 000B2804 7F C3 F3 78 */ mr r3, r30 diff --git a/include/d/d_a/d_a_alink/asm/func_800B6A30.s b/include/d/d_a/d_a_alink/asm/func_800B6A30.s index ffa6f4931e8..76a4a8e76e9 100644 --- a/include/d/d_a/d_a_alink/asm/func_800B6A30.s +++ b/include/d/d_a/d_a_alink/asm/func_800B6A30.s @@ -164,7 +164,7 @@ lbl_800B6C70: /* 800B6C98 000B3BD8 A8 1E 2F E2 */ lha r0, 0x2fe2(r30) /* 800B6C9C 000B3BDC 7C 03 00 50 */ subf r0, r3, r0 /* 800B6CA0 000B3BE0 7C 03 07 34 */ extsh r3, r0 -/* 800B6CA4 000B3BE4 48 2A E4 2D */ bl func_803650D0 +/* 800B6CA4 000B3BE4 48 2A E4 2D */ bl abs /* 800B6CA8 000B3BE8 2C 03 78 00 */ cmpwi r3, 0x7800 /* 800B6CAC 000B3BEC 40 80 00 0C */ bge lbl_800B6CB8 /* 800B6CB0 000B3BF0 38 60 00 00 */ li r3, 0 diff --git a/include/d/d_a/d_a_alink/asm/func_800B75EC.s b/include/d/d_a/d_a_alink/asm/func_800B75EC.s index c56627580b1..e591aac7b12 100644 --- a/include/d/d_a/d_a_alink/asm/func_800B75EC.s +++ b/include/d/d_a/d_a_alink/asm/func_800B75EC.s @@ -173,10 +173,10 @@ lbl_800B7848: lbl_800B784C: /* 800B784C 000B478C 7F E3 FB 78 */ mr r3, r31 /* 800B7850 000B4790 7F A4 EB 78 */ mr r4, r29 -/* 800B7854 000B4794 4B FF BA 45 */ bl daAlink_c_NS_setBStatus +/* 800B7854 000B4794 4B FF BA 45 */ bl setBStatus__9daAlink_cFUc /* 800B7858 000B4798 7F E3 FB 78 */ mr r3, r31 /* 800B785C 000B479C 7F A4 EB 78 */ mr r4, r29 -/* 800B7860 000B47A0 4B FF B9 F1 */ bl daAlink_c_NS_setDoStatus +/* 800B7860 000B47A0 4B FF B9 F1 */ bl setDoStatus__9daAlink_cFUc /* 800B7864 000B47A4 57 A4 06 3E */ clrlwi r4, r29, 0x18 /* 800B7868 000B47A8 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 800B786C 000B47AC 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l @@ -195,7 +195,7 @@ lbl_800B7888: /* 800B789C 000B47DC 40 82 02 C4 */ bne lbl_800B7B60 /* 800B78A0 000B47E0 7F E3 FB 78 */ mr r3, r31 /* 800B78A4 000B47E4 38 80 00 08 */ li r4, 8 -/* 800B78A8 000B47E8 4B FF AD 25 */ bl daAlink_c_NS_itemTriggerCheck +/* 800B78A8 000B47E8 4B FF AD 25 */ bl itemTriggerCheck__9daAlink_cFUc /* 800B78AC 000B47EC 2C 03 00 00 */ cmpwi r3, 0 /* 800B78B0 000B47F0 41 82 02 B0 */ beq lbl_800B7B60 lbl_800B78B4: @@ -225,7 +225,7 @@ lbl_800B78FC: /* 800B7904 000B4844 B0 1F 30 F6 */ sth r0, 0x30f6(r31) /* 800B7908 000B4848 7F E3 FB 78 */ mr r3, r31 /* 800B790C 000B484C 38 80 00 08 */ li r4, 8 -/* 800B7910 000B4850 4B FF AC BD */ bl daAlink_c_NS_itemTriggerCheck +/* 800B7910 000B4850 4B FF AC BD */ bl itemTriggerCheck__9daAlink_cFUc /* 800B7914 000B4854 2C 03 00 00 */ cmpwi r3, 0 /* 800B7918 000B4858 40 82 00 10 */ bne lbl_800B7928 /* 800B791C 000B485C 88 1F 2F 8D */ lbz r0, 0x2f8d(r31) @@ -247,7 +247,7 @@ lbl_800B7940: /* 800B7954 000B4894 A8 1F 2F E0 */ lha r0, 0x2fe0(r31) /* 800B7958 000B4898 7C 03 00 50 */ subf r0, r3, r0 /* 800B795C 000B489C 7C 03 07 34 */ extsh r3, r0 -/* 800B7960 000B48A0 48 2A D7 71 */ bl func_803650D0 +/* 800B7960 000B48A0 48 2A D7 71 */ bl abs /* 800B7964 000B48A4 2C 03 10 00 */ cmpwi r3, 0x1000 /* 800B7968 000B48A8 40 81 00 1C */ ble lbl_800B7984 /* 800B796C 000B48AC 3C 60 80 39 */ lis r3, lbl_8038E49C@ha diff --git a/include/d/d_a/d_a_alink/asm/func_800B7BF8.s b/include/d/d_a/d_a_alink/asm/func_800B7BF8.s index 8dc22c36073..8e8b4a5c4dd 100644 --- a/include/d/d_a/d_a_alink/asm/func_800B7BF8.s +++ b/include/d/d_a/d_a_alink/asm/func_800B7BF8.s @@ -59,7 +59,7 @@ lbl_800B7CB8: /* 800B7CD0 000B4C10 7F 83 E3 78 */ mr r3, r28 /* 800B7CD4 000B4C14 7F E0 F0 30 */ slw r0, r31, r30 /* 800B7CD8 000B4C18 54 04 06 3E */ clrlwi r4, r0, 0x18 -/* 800B7CDC 000B4C1C 4B FF A8 F1 */ bl daAlink_c_NS_itemTriggerCheck +/* 800B7CDC 000B4C1C 4B FF A8 F1 */ bl itemTriggerCheck__9daAlink_cFUc /* 800B7CE0 000B4C20 2C 03 00 00 */ cmpwi r3, 0 /* 800B7CE4 000B4C24 41 82 00 2C */ beq lbl_800B7D10 /* 800B7CE8 000B4C28 57 C0 08 3C */ slwi r0, r30, 1 diff --git a/include/d/d_a/d_a_alink/asm/func_800B80C4.s b/include/d/d_a/d_a_alink/asm/func_800B80C4.s index 67842981f20..5530655ccb9 100644 --- a/include/d/d_a/d_a_alink/asm/func_800B80C4.s +++ b/include/d/d_a/d_a_alink/asm/func_800B80C4.s @@ -118,7 +118,7 @@ lbl_800B8268: /* 800B8274 000B51B4 60 00 08 00 */ ori r0, r0, 0x800 /* 800B8278 000B51B8 B0 03 00 AE */ sth r0, 0xae(r3) /* 800B827C 000B51BC 7F E3 FB 78 */ mr r3, r31 -/* 800B8280 000B51C0 4B FF A4 2D */ bl daAlink_c_NS_midnaTalkTrigger +/* 800B8280 000B51C0 4B FF A4 2D */ bl midnaTalkTrigger__9daAlink_cCFv /* 800B8284 000B51C4 2C 03 00 00 */ cmpwi r3, 0 /* 800B8288 000B51C8 41 82 00 D0 */ beq lbl_800B8358 /* 800B828C 000B51CC 28 1E 00 00 */ cmplwi r30, 0 diff --git a/include/d/d_a/d_a_alink/asm/func_800B8988.s b/include/d/d_a/d_a_alink/asm/func_800B8988.s index 702a5e72271..0873d42d42c 100644 --- a/include/d/d_a/d_a_alink/asm/func_800B8988.s +++ b/include/d/d_a/d_a_alink/asm/func_800B8988.s @@ -49,7 +49,7 @@ lbl_800B8A18: /* 800B8A38 000B5978 48 00 05 C0 */ b lbl_800B8FF8 lbl_800B8A3C: /* 800B8A3C 000B597C 7F E3 FB 78 */ mr r3, r31 -/* 800B8A40 000B5980 4B FF 9C 79 */ bl daAlink_c_NS_swordSwingTrigger +/* 800B8A40 000B5980 4B FF 9C 79 */ bl swordSwingTrigger__9daAlink_cFv /* 800B8A44 000B5984 2C 03 00 00 */ cmpwi r3, 0 /* 800B8A48 000B5988 40 82 00 14 */ bne lbl_800B8A5C /* 800B8A4C 000B598C 7F E3 FB 78 */ mr r3, r31 @@ -233,7 +233,7 @@ lbl_800B8CAC: /* 800B8CBC 000B5BFC 48 00 03 3C */ b lbl_800B8FF8 lbl_800B8CC0: /* 800B8CC0 000B5C00 7F E3 FB 78 */ mr r3, r31 -/* 800B8CC4 000B5C04 4B FF 99 F5 */ bl daAlink_c_NS_swordSwingTrigger +/* 800B8CC4 000B5C04 4B FF 99 F5 */ bl swordSwingTrigger__9daAlink_cFv /* 800B8CC8 000B5C08 2C 03 00 00 */ cmpwi r3, 0 /* 800B8CCC 000B5C0C 40 82 00 14 */ bne lbl_800B8CE0 /* 800B8CD0 000B5C10 7F E3 FB 78 */ mr r3, r31 @@ -385,14 +385,14 @@ lbl_800B8EC8: /* 800B8EDC 000B5E1C 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 800B8EE0 000B5E20 41 82 00 44 */ beq lbl_800B8F24 /* 800B8EE4 000B5E24 7F E3 FB 78 */ mr r3, r31 -/* 800B8EE8 000B5E28 4B FF 97 4D */ bl daAlink_c_NS_itemTrigger +/* 800B8EE8 000B5E28 4B FF 97 4D */ bl itemTrigger__9daAlink_cFv /* 800B8EEC 000B5E2C 2C 03 00 00 */ cmpwi r3, 0 /* 800B8EF0 000B5E30 40 82 00 20 */ bne lbl_800B8F10 /* 800B8EF4 000B5E34 A0 1F 1F BC */ lhz r0, 0x1fbc(r31) /* 800B8EF8 000B5E38 28 00 00 52 */ cmplwi r0, 0x52 /* 800B8EFC 000B5E3C 40 82 00 28 */ bne lbl_800B8F24 /* 800B8F00 000B5E40 7F E3 FB 78 */ mr r3, r31 -/* 800B8F04 000B5E44 4B FF 97 01 */ bl daAlink_c_NS_itemButton +/* 800B8F04 000B5E44 4B FF 97 01 */ bl itemButton__9daAlink_cFv /* 800B8F08 000B5E48 2C 03 00 00 */ cmpwi r3, 0 /* 800B8F0C 000B5E4C 41 82 00 18 */ beq lbl_800B8F24 lbl_800B8F10: @@ -448,9 +448,9 @@ lbl_800B8FB8: /* 800B8FC8 000B5F08 40 82 00 2C */ bne lbl_800B8FF4 /* 800B8FCC 000B5F0C 7F E3 FB 78 */ mr r3, r31 /* 800B8FD0 000B5F10 38 80 00 3A */ li r4, 0x3a -/* 800B8FD4 000B5F14 4B FF A2 4D */ bl daAlink_c_NS_setRStatus +/* 800B8FD4 000B5F14 4B FF A2 4D */ bl setRStatus__9daAlink_cFUc /* 800B8FD8 000B5F18 7F E3 FB 78 */ mr r3, r31 -/* 800B8FDC 000B5F1C 4B FF 96 AD */ bl daAlink_c_NS_spActionTrigger +/* 800B8FDC 000B5F1C 4B FF 96 AD */ bl spActionTrigger__9daAlink_cFv /* 800B8FE0 000B5F20 2C 03 00 00 */ cmpwi r3, 0 /* 800B8FE4 000B5F24 41 82 00 10 */ beq lbl_800B8FF4 /* 800B8FE8 000B5F28 7F E3 FB 78 */ mr r3, r31 diff --git a/include/d/d_a/d_a_alink/asm/func_800B994C.s b/include/d/d_a/d_a_alink/asm/func_800B994C.s index 7ff46c2d0cd..0b692bedf1b 100644 --- a/include/d/d_a/d_a_alink/asm/func_800B994C.s +++ b/include/d/d_a/d_a_alink/asm/func_800B994C.s @@ -52,7 +52,7 @@ lbl_800B9A08: /* 800B9A10 000B6950 41 82 00 3C */ beq lbl_800B9A4C /* 800B9A14 000B6954 7F C3 F3 78 */ mr r3, r30 /* 800B9A18 000B6958 38 80 00 08 */ li r4, 8 -/* 800B9A1C 000B695C 4B FF 8B B1 */ bl daAlink_c_NS_itemTriggerCheck +/* 800B9A1C 000B695C 4B FF 8B B1 */ bl itemTriggerCheck__9daAlink_cFUc /* 800B9A20 000B6960 2C 03 00 00 */ cmpwi r3, 0 /* 800B9A24 000B6964 41 82 00 28 */ beq lbl_800B9A4C /* 800B9A28 000B6968 80 1E 05 8C */ lwz r0, 0x58c(r30) @@ -87,7 +87,7 @@ lbl_800B9A4C: /* 800B9A94 000B69D4 41 82 00 28 */ beq lbl_800B9ABC /* 800B9A98 000B69D8 7F C3 F3 78 */ mr r3, r30 /* 800B9A9C 000B69DC 38 80 00 08 */ li r4, 8 -/* 800B9AA0 000B69E0 4B FF 8B 2D */ bl daAlink_c_NS_itemTriggerCheck +/* 800B9AA0 000B69E0 4B FF 8B 2D */ bl itemTriggerCheck__9daAlink_cFUc /* 800B9AA4 000B69E4 2C 03 00 00 */ cmpwi r3, 0 /* 800B9AA8 000B69E8 41 82 00 14 */ beq lbl_800B9ABC /* 800B9AAC 000B69EC 7F C3 F3 78 */ mr r3, r30 @@ -108,7 +108,7 @@ lbl_800B9AC8: /* 800B9AE0 000B6A20 57 80 06 3E */ clrlwi r0, r28, 0x18 /* 800B9AE4 000B6A24 7F A0 00 30 */ slw r0, r29, r0 /* 800B9AE8 000B6A28 54 04 06 3E */ clrlwi r4, r0, 0x18 -/* 800B9AEC 000B6A2C 4B FF 8A E1 */ bl daAlink_c_NS_itemTriggerCheck +/* 800B9AEC 000B6A2C 4B FF 8A E1 */ bl itemTriggerCheck__9daAlink_cFUc /* 800B9AF0 000B6A30 2C 03 00 00 */ cmpwi r3, 0 /* 800B9AF4 000B6A34 41 82 00 18 */ beq lbl_800B9B0C /* 800B9AF8 000B6A38 7F C3 F3 78 */ mr r3, r30 diff --git a/include/d/d_a/d_a_alink/asm/func_800B9D2C.s b/include/d/d_a/d_a_alink/asm/func_800B9D2C.s index fda8a1abdbb..52305c14838 100644 --- a/include/d/d_a/d_a_alink/asm/func_800B9D2C.s +++ b/include/d/d_a/d_a_alink/asm/func_800B9D2C.s @@ -42,7 +42,7 @@ lbl_800B9D80: /* 800B9DC4 000B6D04 40 82 00 D4 */ bne lbl_800B9E98 /* 800B9DC8 000B6D08 7F E3 FB 78 */ mr r3, r31 /* 800B9DCC 000B6D0C 38 80 00 04 */ li r4, 4 -/* 800B9DD0 000B6D10 4B FF 94 81 */ bl daAlink_c_NS_setDoStatus +/* 800B9DD0 000B6D10 4B FF 94 81 */ bl setDoStatus__9daAlink_cFUc /* 800B9DD4 000B6D14 48 00 00 C4 */ b lbl_800B9E98 lbl_800B9DD8: /* 800B9DD8 000B6D18 54 60 03 5B */ rlwinm. r0, r3, 0, 0xd, 0xd diff --git a/include/d/d_a/d_a_alink/asm/func_800BA914.s b/include/d/d_a/d_a_alink/asm/func_800BA914.s index ee27e486d31..d0414c57537 100644 --- a/include/d/d_a/d_a_alink/asm/func_800BA914.s +++ b/include/d/d_a/d_a_alink/asm/func_800BA914.s @@ -359,7 +359,7 @@ lbl_800BAE24: /* 800BAE28 000B7D68 28 00 00 00 */ cmplwi r0, 0 /* 800BAE2C 000B7D6C 40 82 00 20 */ bne lbl_800BAE4C /* 800BAE30 000B7D70 7F A3 EB 78 */ mr r3, r29 -/* 800BAE34 000B7D74 4B FF 78 85 */ bl daAlink_c_NS_swordSwingTrigger +/* 800BAE34 000B7D74 4B FF 78 85 */ bl swordSwingTrigger__9daAlink_cFv /* 800BAE38 000B7D78 2C 03 00 00 */ cmpwi r3, 0 /* 800BAE3C 000B7D7C 41 82 00 10 */ beq lbl_800BAE4C /* 800BAE40 000B7D80 80 1D 05 78 */ lwz r0, 0x578(r29) @@ -371,7 +371,7 @@ lbl_800BAE4C: /* 800BAE54 000B7D94 90 1D 05 78 */ stw r0, 0x578(r29) /* 800BAE58 000B7D98 7F A3 EB 78 */ mr r3, r29 /* 800BAE5C 000B7D9C 38 80 00 08 */ li r4, 8 -/* 800BAE60 000B7DA0 4B FF 77 89 */ bl daAlink_c_NS_itemButtonCheck +/* 800BAE60 000B7DA0 4B FF 77 89 */ bl itemButtonCheck__9daAlink_cFUc /* 800BAE64 000B7DA4 2C 03 00 00 */ cmpwi r3, 0 /* 800BAE68 000B7DA8 41 82 00 38 */ beq lbl_800BAEA0 /* 800BAE6C 000B7DAC 80 1D 05 74 */ lwz r0, 0x574(r29) @@ -398,7 +398,7 @@ lbl_800BAEAC: /* 800BAEB4 000B7DF4 40 82 00 34 */ bne lbl_800BAEE8 /* 800BAEB8 000B7DF8 7F A3 EB 78 */ mr r3, r29 /* 800BAEBC 000B7DFC 38 80 00 08 */ li r4, 8 -/* 800BAEC0 000B7E00 4B FF 77 29 */ bl daAlink_c_NS_itemButtonCheck +/* 800BAEC0 000B7E00 4B FF 77 29 */ bl itemButtonCheck__9daAlink_cFUc /* 800BAEC4 000B7E04 2C 03 00 00 */ cmpwi r3, 0 /* 800BAEC8 000B7E08 40 82 00 20 */ bne lbl_800BAEE8 /* 800BAECC 000B7E0C 7F C3 F3 78 */ mr r3, r30 diff --git a/include/d/d_a/d_a_alink/asm/func_800C0164.s b/include/d/d_a/d_a_alink/asm/func_800C0164.s index 24a27cbdbf0..1ea4d1af826 100644 --- a/include/d/d_a/d_a_alink/asm/func_800C0164.s +++ b/include/d/d_a/d_a_alink/asm/func_800C0164.s @@ -21,7 +21,7 @@ lbl_800C018C: /* 800C01B0 000BD0F0 7F 63 DB 78 */ mr r3, r27 /* 800C01B4 000BD0F4 7F E0 F0 30 */ slw r0, r31, r30 /* 800C01B8 000BD0F8 54 04 06 3E */ clrlwi r4, r0, 0x18 -/* 800C01BC 000BD0FC 4B FF 24 11 */ bl daAlink_c_NS_itemTriggerCheck +/* 800C01BC 000BD0FC 4B FF 24 11 */ bl itemTriggerCheck__9daAlink_cFUc /* 800C01C0 000BD100 2C 03 00 00 */ cmpwi r3, 0 /* 800C01C4 000BD104 41 82 00 18 */ beq lbl_800C01DC /* 800C01C8 000BD108 2C 1C 00 45 */ cmpwi r28, 0x45 diff --git a/include/d/d_a/d_a_alink/asm/func_800C61EC.s b/include/d/d_a/d_a_alink/asm/func_800C61EC.s index 2d759bea37d..fb7fbb7ce72 100644 --- a/include/d/d_a/d_a_alink/asm/func_800C61EC.s +++ b/include/d/d_a/d_a_alink/asm/func_800C61EC.s @@ -137,7 +137,7 @@ lbl_800C63CC: /* 800C63D4 000C3314 41 82 01 80 */ beq lbl_800C6554 /* 800C63D8 000C3318 7F C3 F3 78 */ mr r3, r30 /* 800C63DC 000C331C 38 80 00 01 */ li r4, 1 -/* 800C63E0 000C3320 4B FE CE 71 */ bl daAlink_c_NS_setDoStatus +/* 800C63E0 000C3320 4B FE CE 71 */ bl setDoStatus__9daAlink_cFUc /* 800C63E4 000C3324 88 1E 2F 8D */ lbz r0, 0x2f8d(r30) /* 800C63E8 000C3328 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b /* 800C63EC 000C332C 41 82 00 18 */ beq lbl_800C6404 diff --git a/include/d/d_a/d_a_alink/asm/func_800C77F4.s b/include/d/d_a/d_a_alink/asm/func_800C77F4.s index e12a6a20c6d..a750ac9ffc2 100644 --- a/include/d/d_a/d_a_alink/asm/func_800C77F4.s +++ b/include/d/d_a/d_a_alink/asm/func_800C77F4.s @@ -276,7 +276,7 @@ lbl_800C7BE4: /* 800C7BF8 000C4B38 48 19 F5 59 */ bl atan2sY_XZ__4cXyzCFv /* 800C7BFC 000C4B3C B0 7E 30 0C */ sth r3, 0x300c(r30) /* 800C7C00 000C4B40 A8 7E 30 0C */ lha r3, 0x300c(r30) -/* 800C7C04 000C4B44 48 29 D4 CD */ bl func_803650D0 +/* 800C7C04 000C4B44 48 29 D4 CD */ bl abs /* 800C7C08 000C4B48 2C 03 31 C7 */ cmpwi r3, 0x31c7 /* 800C7C0C 000C4B4C 40 81 00 18 */ ble lbl_800C7C24 /* 800C7C10 000C4B50 A8 1E 2F F0 */ lha r0, 0x2ff0(r30) diff --git a/include/d/d_a/d_a_alink/asm/func_800C7C64.s b/include/d/d_a/d_a_alink/asm/func_800C7C64.s index 8aa67d9f132..235946dd000 100644 --- a/include/d/d_a/d_a_alink/asm/func_800C7C64.s +++ b/include/d/d_a/d_a_alink/asm/func_800C7C64.s @@ -191,7 +191,7 @@ lbl_800C7EF4: /* 800C7F28 000C4E68 40 82 00 18 */ bne lbl_800C7F40 /* 800C7F2C 000C4E6C 7F A3 EB 78 */ mr r3, r29 /* 800C7F30 000C4E70 38 80 00 08 */ li r4, 8 -/* 800C7F34 000C4E74 4B FE A6 99 */ bl daAlink_c_NS_itemTriggerCheck +/* 800C7F34 000C4E74 4B FE A6 99 */ bl itemTriggerCheck__9daAlink_cFUc /* 800C7F38 000C4E78 2C 03 00 00 */ cmpwi r3, 0 /* 800C7F3C 000C4E7C 41 82 00 E4 */ beq lbl_800C8020 lbl_800C7F40: diff --git a/include/d/d_a/d_a_alink/asm/func_800C85D8.s b/include/d/d_a/d_a_alink/asm/func_800C85D8.s index 543f1e1031f..872b262f77f 100644 --- a/include/d/d_a/d_a_alink/asm/func_800C85D8.s +++ b/include/d/d_a/d_a_alink/asm/func_800C85D8.s @@ -38,7 +38,7 @@ lbl_800C8650: lbl_800C8660: /* 800C8660 000C55A0 3B E0 00 19 */ li r31, 0x19 lbl_800C8664: -/* 800C8664 000C55A4 48 29 CA 6D */ bl func_803650D0 +/* 800C8664 000C55A4 48 29 CA 6D */ bl abs /* 800C8668 000C55A8 C8 22 92 B0 */ lfd f1, lbl_80452CB0-_SDA2_BASE_(r2) /* 800C866C 000C55AC 6C 60 80 00 */ xoris r0, r3, 0x8000 /* 800C8670 000C55B0 90 01 00 0C */ stw r0, 0xc(r1) diff --git a/include/d/d_a/d_a_alink/asm/func_800C8700.s b/include/d/d_a/d_a_alink/asm/func_800C8700.s index 33610aef4ab..83598e10c35 100644 --- a/include/d/d_a/d_a_alink/asm/func_800C8700.s +++ b/include/d/d_a/d_a_alink/asm/func_800C8700.s @@ -338,10 +338,10 @@ lbl_800C8BF8: /* 800C8BFC 000C5B3C 98 1F 2F AE */ stb r0, 0x2fae(r31) /* 800C8C00 000C5B40 7F E3 FB 78 */ mr r3, r31 /* 800C8C04 000C5B44 38 80 00 00 */ li r4, 0 -/* 800C8C08 000C5B48 4B FE A6 49 */ bl daAlink_c_NS_setDoStatus +/* 800C8C08 000C5B48 4B FE A6 49 */ bl setDoStatus__9daAlink_cFUc /* 800C8C0C 000C5B4C 7F E3 FB 78 */ mr r3, r31 /* 800C8C10 000C5B50 38 80 00 00 */ li r4, 0 -/* 800C8C14 000C5B54 4B FE A6 0D */ bl daAlink_c_NS_setRStatus +/* 800C8C14 000C5B54 4B FE A6 0D */ bl setRStatus__9daAlink_cFUc /* 800C8C18 000C5B58 7F E3 FB 78 */ mr r3, r31 /* 800C8C1C 000C5B5C 38 80 00 00 */ li r4, 0 /* 800C8C20 000C5B60 38 A0 00 00 */ li r5, 0 @@ -355,7 +355,7 @@ lbl_800C8BF8: /* 800C8C40 000C5B80 41 82 00 4C */ beq lbl_800C8C8C /* 800C8C44 000C5B84 7F E3 FB 78 */ mr r3, r31 /* 800C8C48 000C5B88 38 80 00 03 */ li r4, 3 -/* 800C8C4C 000C5B8C 4B FE A6 4D */ bl daAlink_c_NS_setBStatus +/* 800C8C4C 000C5B8C 4B FE A6 4D */ bl setBStatus__9daAlink_cFUc /* 800C8C50 000C5B90 7F E3 FB 78 */ mr r3, r31 /* 800C8C54 000C5B94 38 80 00 00 */ li r4, 0 /* 800C8C58 000C5B98 48 05 F0 F9 */ bl daAlink_c_NS_setWolfDigStatus @@ -388,7 +388,7 @@ lbl_800C8C8C: /* 800C8CBC 000C5BFC 41 82 00 14 */ beq lbl_800C8CD0 /* 800C8CC0 000C5C00 7F E3 FB 78 */ mr r3, r31 /* 800C8CC4 000C5C04 38 80 00 4F */ li r4, 0x4f -/* 800C8CC8 000C5C08 4B FE A5 D1 */ bl daAlink_c_NS_setBStatus +/* 800C8CC8 000C5C08 4B FE A5 D1 */ bl setBStatus__9daAlink_cFUc /* 800C8CCC 000C5C0C 48 00 00 2C */ b lbl_800C8CF8 lbl_800C8CD0: /* 800C8CD0 000C5C10 48 07 87 09 */ bl daPy_py_c_NS_checkSwordGet @@ -396,12 +396,12 @@ lbl_800C8CD0: /* 800C8CD8 000C5C18 41 82 00 14 */ beq lbl_800C8CEC /* 800C8CDC 000C5C1C 7F E3 FB 78 */ mr r3, r31 /* 800C8CE0 000C5C20 38 80 00 26 */ li r4, 0x26 -/* 800C8CE4 000C5C24 4B FE A5 B5 */ bl daAlink_c_NS_setBStatus +/* 800C8CE4 000C5C24 4B FE A5 B5 */ bl setBStatus__9daAlink_cFUc /* 800C8CE8 000C5C28 48 00 00 10 */ b lbl_800C8CF8 lbl_800C8CEC: /* 800C8CEC 000C5C2C 7F E3 FB 78 */ mr r3, r31 /* 800C8CF0 000C5C30 38 80 00 00 */ li r4, 0 -/* 800C8CF4 000C5C34 4B FE A5 A5 */ bl daAlink_c_NS_setBStatus +/* 800C8CF4 000C5C34 4B FE A5 A5 */ bl setBStatus__9daAlink_cFUc lbl_800C8CF8: /* 800C8CF8 000C5C38 38 00 00 00 */ li r0, 0 /* 800C8CFC 000C5C3C 98 1F 2F 91 */ stb r0, 0x2f91(r31) @@ -2232,7 +2232,7 @@ lbl_800CA6C0: /* 800CA728 000C7668 38 00 00 0A */ li r0, 0xa /* 800CA72C 000C766C 98 1F 2F C3 */ stb r0, 0x2fc3(r31) /* 800CA730 000C7670 38 60 FF FF */ li r3, -1 -/* 800CA734 000C7674 48 07 72 6D */ bl dComIfGp_setItemRupeeCount +/* 800CA734 000C7674 48 07 72 6D */ bl dComIfGp_setItemRupeeCount__Fl /* 800CA738 000C7678 48 00 00 0C */ b lbl_800CA744 lbl_800CA73C: /* 800CA73C 000C767C 38 03 FF FF */ addi r0, r3, -1 @@ -2401,11 +2401,11 @@ lbl_800CA960: /* 800CA994 000C78D4 41 82 00 10 */ beq lbl_800CA9A4 /* 800CA998 000C78D8 7F E3 FB 78 */ mr r3, r31 /* 800CA99C 000C78DC 38 80 00 00 */ li r4, 0 -/* 800CA9A0 000C78E0 4B FE 88 B1 */ bl daAlink_c_NS_setDoStatus +/* 800CA9A0 000C78E0 4B FE 88 B1 */ bl setDoStatus__9daAlink_cFUc lbl_800CA9A4: /* 800CA9A4 000C78E4 7F E3 FB 78 */ mr r3, r31 /* 800CA9A8 000C78E8 38 80 00 00 */ li r4, 0 -/* 800CA9AC 000C78EC 4B FE 88 75 */ bl daAlink_c_NS_setRStatus +/* 800CA9AC 000C78EC 4B FE 88 75 */ bl setRStatus__9daAlink_cFUc /* 800CA9B0 000C78F0 48 00 03 B8 */ b lbl_800CAD68 lbl_800CA9B4: /* 800CA9B4 000C78F4 48 07 6F 99 */ bl dComIfGp_getDoStatus @@ -2419,7 +2419,7 @@ lbl_800CA9B4: lbl_800CA9D4: /* 800CA9D4 000C7914 7F E3 FB 78 */ mr r3, r31 /* 800CA9D8 000C7918 38 80 00 03 */ li r4, 3 -/* 800CA9DC 000C791C 4B FE 88 75 */ bl daAlink_c_NS_setDoStatus +/* 800CA9DC 000C791C 4B FE 88 75 */ bl setDoStatus__9daAlink_cFUc /* 800CA9E0 000C7920 48 00 02 E0 */ b lbl_800CACC0 lbl_800CA9E4: /* 800CA9E4 000C7924 48 07 6F 69 */ bl dComIfGp_getDoStatus @@ -2428,7 +2428,7 @@ lbl_800CA9E4: /* 800CA9F0 000C7930 40 82 00 14 */ bne lbl_800CAA04 /* 800CA9F4 000C7934 7F E3 FB 78 */ mr r3, r31 /* 800CA9F8 000C7938 38 80 00 08 */ li r4, 8 -/* 800CA9FC 000C793C 4B FE 88 55 */ bl daAlink_c_NS_setDoStatus +/* 800CA9FC 000C793C 4B FE 88 55 */ bl setDoStatus__9daAlink_cFUc /* 800CAA00 000C7940 48 00 02 C0 */ b lbl_800CACC0 lbl_800CAA04: /* 800CAA04 000C7944 48 07 6F 49 */ bl dComIfGp_getDoStatus @@ -2437,7 +2437,7 @@ lbl_800CAA04: /* 800CAA10 000C7950 40 82 00 14 */ bne lbl_800CAA24 /* 800CAA14 000C7954 7F E3 FB 78 */ mr r3, r31 /* 800CAA18 000C7958 38 80 00 19 */ li r4, 0x19 -/* 800CAA1C 000C795C 4B FE 88 4D */ bl daAlink_c_NS_setDoStatusEmphasys +/* 800CAA1C 000C795C 4B FE 88 4D */ bl setDoStatusEmphasys__9daAlink_cFUc /* 800CAA20 000C7960 48 00 02 A0 */ b lbl_800CACC0 lbl_800CAA24: /* 800CAA24 000C7964 48 07 6F 29 */ bl dComIfGp_getDoStatus @@ -2446,7 +2446,7 @@ lbl_800CAA24: /* 800CAA30 000C7970 40 82 00 14 */ bne lbl_800CAA44 /* 800CAA34 000C7974 7F E3 FB 78 */ mr r3, r31 /* 800CAA38 000C7978 38 80 00 15 */ li r4, 0x15 -/* 800CAA3C 000C797C 4B FE 88 2D */ bl daAlink_c_NS_setDoStatusEmphasys +/* 800CAA3C 000C797C 4B FE 88 2D */ bl setDoStatusEmphasys__9daAlink_cFUc /* 800CAA40 000C7980 48 00 02 80 */ b lbl_800CACC0 lbl_800CAA44: /* 800CAA44 000C7984 48 07 6F 09 */ bl dComIfGp_getDoStatus @@ -2455,7 +2455,7 @@ lbl_800CAA44: /* 800CAA50 000C7990 40 82 00 14 */ bne lbl_800CAA64 /* 800CAA54 000C7994 7F E3 FB 78 */ mr r3, r31 /* 800CAA58 000C7998 38 80 00 00 */ li r4, 0 -/* 800CAA5C 000C799C 4B FE 87 F5 */ bl daAlink_c_NS_setDoStatus +/* 800CAA5C 000C799C 4B FE 87 F5 */ bl setDoStatus__9daAlink_cFUc /* 800CAA60 000C79A0 48 00 02 60 */ b lbl_800CACC0 lbl_800CAA64: /* 800CAA64 000C79A4 3C 60 80 39 */ lis r3, lbl_80392094@ha @@ -2477,7 +2477,7 @@ lbl_800CAA64: /* 800CAAA4 000C79E4 40 82 00 14 */ bne lbl_800CAAB8 /* 800CAAA8 000C79E8 7F E3 FB 78 */ mr r3, r31 /* 800CAAAC 000C79EC 38 80 00 00 */ li r4, 0 -/* 800CAAB0 000C79F0 4B FE 87 A1 */ bl daAlink_c_NS_setDoStatus +/* 800CAAB0 000C79F0 4B FE 87 A1 */ bl setDoStatus__9daAlink_cFUc /* 800CAAB4 000C79F4 48 00 02 0C */ b lbl_800CACC0 lbl_800CAAB8: /* 800CAAB8 000C79F8 48 07 6E 95 */ bl dComIfGp_getDoStatus @@ -2486,7 +2486,7 @@ lbl_800CAAB8: /* 800CAAC4 000C7A04 40 82 00 14 */ bne lbl_800CAAD8 /* 800CAAC8 000C7A08 7F E3 FB 78 */ mr r3, r31 /* 800CAACC 000C7A0C 38 80 00 00 */ li r4, 0 -/* 800CAAD0 000C7A10 4B FE 87 81 */ bl daAlink_c_NS_setDoStatus +/* 800CAAD0 000C7A10 4B FE 87 81 */ bl setDoStatus__9daAlink_cFUc /* 800CAAD4 000C7A14 48 00 01 EC */ b lbl_800CACC0 lbl_800CAAD8: /* 800CAAD8 000C7A18 48 07 6E 75 */ bl dComIfGp_getDoStatus @@ -2495,7 +2495,7 @@ lbl_800CAAD8: /* 800CAAE4 000C7A24 40 82 00 14 */ bne lbl_800CAAF8 /* 800CAAE8 000C7A28 7F E3 FB 78 */ mr r3, r31 /* 800CAAEC 000C7A2C 38 80 00 39 */ li r4, 0x39 -/* 800CAAF0 000C7A30 4B FE 87 79 */ bl daAlink_c_NS_setDoStatusEmphasys +/* 800CAAF0 000C7A30 4B FE 87 79 */ bl setDoStatusEmphasys__9daAlink_cFUc /* 800CAAF4 000C7A34 48 00 01 CC */ b lbl_800CACC0 lbl_800CAAF8: /* 800CAAF8 000C7A38 48 07 6E 55 */ bl dComIfGp_getDoStatus @@ -2504,7 +2504,7 @@ lbl_800CAAF8: /* 800CAB04 000C7A44 40 82 00 14 */ bne lbl_800CAB18 /* 800CAB08 000C7A48 7F E3 FB 78 */ mr r3, r31 /* 800CAB0C 000C7A4C 38 80 00 15 */ li r4, 0x15 -/* 800CAB10 000C7A50 4B FE 87 59 */ bl daAlink_c_NS_setDoStatusEmphasys +/* 800CAB10 000C7A50 4B FE 87 59 */ bl setDoStatusEmphasys__9daAlink_cFUc /* 800CAB14 000C7A54 48 00 01 AC */ b lbl_800CACC0 lbl_800CAB18: /* 800CAB18 000C7A58 48 07 6E 35 */ bl dComIfGp_getDoStatus @@ -2534,12 +2534,12 @@ lbl_800CAB18: lbl_800CAB78: /* 800CAB78 000C7AB8 7F E3 FB 78 */ mr r3, r31 /* 800CAB7C 000C7ABC 38 80 00 15 */ li r4, 0x15 -/* 800CAB80 000C7AC0 4B FE 86 E9 */ bl daAlink_c_NS_setDoStatusEmphasys +/* 800CAB80 000C7AC0 4B FE 86 E9 */ bl setDoStatusEmphasys__9daAlink_cFUc /* 800CAB84 000C7AC4 48 00 01 3C */ b lbl_800CACC0 lbl_800CAB88: /* 800CAB88 000C7AC8 7F E3 FB 78 */ mr r3, r31 /* 800CAB8C 000C7ACC 38 80 00 00 */ li r4, 0 -/* 800CAB90 000C7AD0 4B FE 86 C1 */ bl daAlink_c_NS_setDoStatus +/* 800CAB90 000C7AD0 4B FE 86 C1 */ bl setDoStatus__9daAlink_cFUc /* 800CAB94 000C7AD4 48 00 01 2C */ b lbl_800CACC0 lbl_800CAB98: /* 800CAB98 000C7AD8 48 07 6D B5 */ bl dComIfGp_getDoStatus @@ -2554,12 +2554,12 @@ lbl_800CAB98: /* 800CABBC 000C7AFC 40 80 00 14 */ bge lbl_800CABD0 /* 800CABC0 000C7B00 7F E3 FB 78 */ mr r3, r31 /* 800CABC4 000C7B04 38 80 00 4C */ li r4, 0x4c -/* 800CABC8 000C7B08 4B FE 86 89 */ bl daAlink_c_NS_setDoStatus +/* 800CABC8 000C7B08 4B FE 86 89 */ bl setDoStatus__9daAlink_cFUc /* 800CABCC 000C7B0C 48 00 00 F4 */ b lbl_800CACC0 lbl_800CABD0: /* 800CABD0 000C7B10 7F E3 FB 78 */ mr r3, r31 /* 800CABD4 000C7B14 38 80 00 00 */ li r4, 0 -/* 800CABD8 000C7B18 4B FE 86 79 */ bl daAlink_c_NS_setDoStatus +/* 800CABD8 000C7B18 4B FE 86 79 */ bl setDoStatus__9daAlink_cFUc /* 800CABDC 000C7B1C 48 00 00 E4 */ b lbl_800CACC0 lbl_800CABE0: /* 800CABE0 000C7B20 48 07 6D 6D */ bl dComIfGp_getDoStatus @@ -2570,12 +2570,12 @@ lbl_800CABE0: /* 800CABF4 000C7B34 28 03 00 00 */ cmplwi r3, 0 /* 800CABF8 000C7B38 41 82 00 24 */ beq lbl_800CAC1C /* 800CABFC 000C7B3C 48 07 68 DD */ bl dComIfGp_getHorseActor -/* 800CAC00 000C7B40 48 07 6D 45 */ bl daHorse_c_NS_getZeldaActor +/* 800CAC00 000C7B40 48 07 6D 45 */ bl getZeldaActor__9daHorse_cFv /* 800CAC04 000C7B44 28 03 00 00 */ cmplwi r3, 0 /* 800CAC08 000C7B48 41 82 00 14 */ beq lbl_800CAC1C /* 800CAC0C 000C7B4C 7F E3 FB 78 */ mr r3, r31 /* 800CAC10 000C7B50 38 80 00 19 */ li r4, 0x19 -/* 800CAC14 000C7B54 4B FE 86 3D */ bl daAlink_c_NS_setDoStatus +/* 800CAC14 000C7B54 4B FE 86 3D */ bl setDoStatus__9daAlink_cFUc /* 800CAC18 000C7B58 48 00 00 A8 */ b lbl_800CACC0 lbl_800CAC1C: /* 800CAC1C 000C7B5C 48 07 6D 31 */ bl dComIfGp_getDoStatus @@ -2597,7 +2597,7 @@ lbl_800CAC1C: lbl_800CAC5C: /* 800CAC5C 000C7B9C 7F E3 FB 78 */ mr r3, r31 /* 800CAC60 000C7BA0 38 80 00 3B */ li r4, 0x3b -/* 800CAC64 000C7BA4 4B FE 86 05 */ bl daAlink_c_NS_setDoStatusEmphasys +/* 800CAC64 000C7BA4 4B FE 86 05 */ bl setDoStatusEmphasys__9daAlink_cFUc /* 800CAC68 000C7BA8 48 00 00 58 */ b lbl_800CACC0 lbl_800CAC6C: /* 800CAC6C 000C7BAC 48 07 6C E1 */ bl dComIfGp_getDoStatus @@ -2611,7 +2611,7 @@ lbl_800CAC6C: /* 800CAC8C 000C7BCC 41 82 00 14 */ beq lbl_800CACA0 /* 800CAC90 000C7BD0 7F E3 FB 78 */ mr r3, r31 /* 800CAC94 000C7BD4 38 80 00 61 */ li r4, 0x61 -/* 800CAC98 000C7BD8 4B FE 85 D1 */ bl daAlink_c_NS_setDoStatusEmphasys +/* 800CAC98 000C7BD8 4B FE 85 D1 */ bl setDoStatusEmphasys__9daAlink_cFUc /* 800CAC9C 000C7BDC 48 00 00 24 */ b lbl_800CACC0 lbl_800CACA0: /* 800CACA0 000C7BE0 7F E3 FB 78 */ mr r3, r31 @@ -2621,7 +2621,7 @@ lbl_800CACA0: /* 800CACB0 000C7BF0 41 82 00 10 */ beq lbl_800CACC0 /* 800CACB4 000C7BF4 7F E3 FB 78 */ mr r3, r31 /* 800CACB8 000C7BF8 38 80 00 14 */ li r4, 0x14 -/* 800CACBC 000C7BFC 4B FE 85 AD */ bl daAlink_c_NS_setDoStatusEmphasys +/* 800CACBC 000C7BFC 4B FE 85 AD */ bl setDoStatusEmphasys__9daAlink_cFUc lbl_800CACC0: /* 800CACC0 000C7C00 7F E3 FB 78 */ mr r3, r31 /* 800CACC4 000C7C04 48 01 D2 21 */ bl daAlink_c_NS_getWallGrabStatus @@ -2667,7 +2667,7 @@ lbl_800CAD3C: /* 800CAD58 000C7C98 40 82 00 10 */ bne lbl_800CAD68 /* 800CAD5C 000C7C9C 7F E3 FB 78 */ mr r3, r31 /* 800CAD60 000C7CA0 38 80 00 00 */ li r4, 0 -/* 800CAD64 000C7CA4 4B FE 84 BD */ bl daAlink_c_NS_setRStatus +/* 800CAD64 000C7CA4 4B FE 84 BD */ bl setRStatus__9daAlink_cFUc lbl_800CAD68: /* 800CAD68 000C7CA8 4B F6 2F 41 */ bl dComIfGs_getMaxLifeGauge /* 800CAD6C 000C7CAC 54 7C 04 3E */ clrlwi r28, r3, 0x10 @@ -2765,7 +2765,7 @@ lbl_800CAE84: /* 800CAEC8 000C7E08 28 03 00 00 */ cmplwi r3, 0 /* 800CAECC 000C7E0C 41 82 00 2C */ beq lbl_800CAEF8 /* 800CAED0 000C7E10 A8 7F 04 E6 */ lha r3, 0x4e6(r31) -/* 800CAED4 000C7E14 48 29 A1 FD */ bl func_803650D0 +/* 800CAED4 000C7E14 48 29 A1 FD */ bl abs /* 800CAED8 000C7E18 2C 03 40 00 */ cmpwi r3, 0x4000 /* 800CAEDC 000C7E1C 40 80 00 10 */ bge lbl_800CAEEC /* 800CAEE0 000C7E20 38 00 00 00 */ li r0, 0 diff --git a/include/d/d_a/d_a_alink/asm/func_800CBA38.s b/include/d/d_a/d_a_alink/asm/func_800CBA38.s index 1c86e2eaeaf..0b9820e2e82 100644 --- a/include/d/d_a/d_a_alink/asm/func_800CBA38.s +++ b/include/d/d_a/d_a_alink/asm/func_800CBA38.s @@ -13,7 +13,7 @@ /* 800CBA68 000C89A8 7C 03 00 50 */ subf r0, r3, r0 /* 800CBA6C 000C89AC 7C 1D 07 34 */ extsh r29, r0 /* 800CBA70 000C89B0 7F A3 EB 78 */ mr r3, r29 -/* 800CBA74 000C89B4 48 29 96 5D */ bl func_803650D0 +/* 800CBA74 000C89B4 48 29 96 5D */ bl abs /* 800CBA78 000C89B8 2C 03 40 00 */ cmpwi r3, 0x4000 /* 800CBA7C 000C89BC 40 80 00 64 */ bge lbl_800CBAE0 /* 800CBA80 000C89C0 7F A0 07 35 */ extsh. r0, r29 diff --git a/include/d/d_a/d_a_alink/asm/func_800CEB58.s b/include/d/d_a/d_a_alink/asm/func_800CEB58.s index 2a77100e37e..e1009fc28a9 100644 --- a/include/d/d_a/d_a_alink/asm/func_800CEB58.s +++ b/include/d/d_a/d_a_alink/asm/func_800CEB58.s @@ -23,7 +23,7 @@ lbl_800CEBB0: /* 800CEBB0 000CBAF0 7F E3 FB 78 */ mr r3, r31 /* 800CEBB4 000CBAF4 38 80 00 08 */ li r4, 8 -/* 800CEBB8 000CBAF8 4B FE 3A 15 */ bl daAlink_c_NS_itemTriggerCheck +/* 800CEBB8 000CBAF8 4B FE 3A 15 */ bl itemTriggerCheck__9daAlink_cFUc /* 800CEBBC 000CBAFC 48 00 00 08 */ b lbl_800CEBC4 lbl_800CEBC0: /* 800CEBC0 000CBB00 38 60 00 00 */ li r3, 0 diff --git a/include/d/d_a/d_a_alink/asm/func_800CEBD8.s b/include/d/d_a/d_a_alink/asm/func_800CEBD8.s index 77ecd304150..8a902e50457 100644 --- a/include/d/d_a/d_a_alink/asm/func_800CEBD8.s +++ b/include/d/d_a/d_a_alink/asm/func_800CEBD8.s @@ -6,7 +6,7 @@ /* 800CEBEC 000CBB2C 7C 7E 1B 78 */ mr r30, r3 /* 800CEBF0 000CBB30 7C 9F 23 78 */ mr r31, r4 /* 800CEBF4 000CBB34 38 80 00 12 */ li r4, 0x12 -/* 800CEBF8 000CBB38 4B FE 46 59 */ bl daAlink_c_NS_setDoStatus +/* 800CEBF8 000CBB38 4B FE 46 59 */ bl setDoStatus__9daAlink_cFUc /* 800CEBFC 000CBB3C 7F C3 F3 78 */ mr r3, r30 /* 800CEC00 000CBB40 48 04 70 21 */ bl daAlink_c_NS_checkEventRun /* 800CEC04 000CBB44 2C 03 00 00 */ cmpwi r3, 0 diff --git a/include/d/d_a/d_a_alink/asm/func_800CF1B8.s b/include/d/d_a/d_a_alink/asm/func_800CF1B8.s index c71eb357b19..c3babecb92a 100644 --- a/include/d/d_a/d_a_alink/asm/func_800CF1B8.s +++ b/include/d/d_a/d_a_alink/asm/func_800CF1B8.s @@ -7,7 +7,7 @@ /* 800CF1D0 000CC110 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b /* 800CF1D4 000CC114 40 82 00 14 */ bne lbl_800CF1E8 /* 800CF1D8 000CC118 38 80 00 08 */ li r4, 8 -/* 800CF1DC 000CC11C 4B FE 33 F1 */ bl daAlink_c_NS_itemTriggerCheck +/* 800CF1DC 000CC11C 4B FE 33 F1 */ bl itemTriggerCheck__9daAlink_cFUc /* 800CF1E0 000CC120 2C 03 00 00 */ cmpwi r3, 0 /* 800CF1E4 000CC124 41 82 00 60 */ beq lbl_800CF244 lbl_800CF1E8: diff --git a/include/d/d_a/d_a_alink/asm/func_800CF380.s b/include/d/d_a/d_a_alink/asm/func_800CF380.s index 1ea1c7577bf..aaa6bcc93dd 100644 --- a/include/d/d_a/d_a_alink/asm/func_800CF380.s +++ b/include/d/d_a/d_a_alink/asm/func_800CF380.s @@ -33,9 +33,9 @@ /* 800CF400 000CC340 90 1A 00 18 */ stw r0, 0x18(r26) /* 800CF404 000CC344 38 7F 07 C4 */ addi r3, r31, 0x7c4 /*.global daPy_actorKeep_c*/ -/* 800CF408 000CC348 3C 80 80 14 */ lis r4, daPy_actorKeep_c@ha +/* 800CF408 000CC348 3C 80 80 14 */ lis r4, __ct__16daPy_actorKeep_cFv@ha /*.global daPy_actorKeep_c*/ -/* 800CF40C 000CC34C 38 84 10 EC */ addi r4, r4, daPy_actorKeep_c@l +/* 800CF40C 000CC34C 38 84 10 EC */ addi r4, r4, __ct__16daPy_actorKeep_cFv@l /* 800CF410 000CC350 38 A0 00 00 */ li r5, 0 /* 800CF414 000CC354 38 C0 00 08 */ li r6, 8 /* 800CF418 000CC358 38 E0 00 0A */ li r7, 0xa diff --git a/include/d/d_a/d_a_alink/asm/func_800CFF2C.s b/include/d/d_a/d_a_alink/asm/func_800CFF2C.s deleted file mode 100644 index 0fa00f3cb72..00000000000 --- a/include/d/d_a/d_a_alink/asm/func_800CFF2C.s +++ /dev/null @@ -1,4 +0,0 @@ -/* 800CFF2C 000CCE6C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha -/* 800CFF30 000CCE70 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l -/* 800CFF34 000CCE74 A0 63 00 02 */ lhz r3, 2(r3) -/* 800CFF38 000CCE78 4E 80 00 20 */ blr diff --git a/include/d/d_a/d_a_alink/asm/func_800CFF3C.s b/include/d/d_a/d_a_alink/asm/func_800CFF3C.s deleted file mode 100644 index 7f792582823..00000000000 --- a/include/d/d_a/d_a_alink/asm/func_800CFF3C.s +++ /dev/null @@ -1,4 +0,0 @@ -/* 800CFF3C 000CCE7C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha -/* 800CFF40 000CCE80 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l -/* 800CFF44 000CCE84 88 63 5E 1C */ lbz r3, 0x5e1c(r3) -/* 800CFF48 000CCE88 4E 80 00 20 */ blr diff --git a/include/d/d_a/d_a_alink/asm/func_800CFFA4.s b/include/d/d_a/d_a_alink/asm/func_800CFFA4.s deleted file mode 100644 index ec37f72e664..00000000000 --- a/include/d/d_a/d_a_alink/asm/func_800CFFA4.s +++ /dev/null @@ -1,7 +0,0 @@ -/* 800CFFA4 000CCEE4 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha -/* 800CFFA8 000CCEE8 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l -/* 800CFFAC 000CCEEC C0 04 5D C0 */ lfs f0, 0x5dc0(r4) -/* 800CFFB0 000CCEF0 EC 00 08 2A */ fadds f0, f0, f1 -/* 800CFFB4 000CCEF4 D0 04 5D C0 */ stfs f0, 0x5dc0(r4) -/* 800CFFB8 000CCEF8 98 64 5E B6 */ stb r3, 0x5eb6(r4) -/* 800CFFBC 000CCEFC 4E 80 00 20 */ blr diff --git a/include/d/d_a/d_a_alink/asm/func_800D102C.s b/include/d/d_a/d_a_alink/asm/func_800D102C.s index c51460799d2..526f23ede50 100644 --- a/include/d/d_a/d_a_alink/asm/func_800D102C.s +++ b/include/d/d_a/d_a_alink/asm/func_800D102C.s @@ -10,7 +10,7 @@ /* 800D1050 000CDF90 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 800D1054 000CDF94 40 82 00 1C */ bne lbl_800D1070 /* 800D1058 000CDF98 7F E3 FB 78 */ mr r3, r31 -/* 800D105C 000CDF9C 4B FE 16 5D */ bl daAlink_c_NS_swordSwingTrigger +/* 800D105C 000CDF9C 4B FE 16 5D */ bl swordSwingTrigger__9daAlink_cFv /* 800D1060 000CDFA0 2C 03 00 00 */ cmpwi r3, 0 /* 800D1064 000CDFA4 41 82 00 0C */ beq lbl_800D1070 /* 800D1068 000CDFA8 38 60 00 01 */ li r3, 1 diff --git a/include/d/d_a/d_a_alink/asm/func_800D13E4.s b/include/d/d_a/d_a_alink/asm/func_800D13E4.s index cd8a5d84fe8..cd74f432132 100644 --- a/include/d/d_a/d_a_alink/asm/func_800D13E4.s +++ b/include/d/d_a/d_a_alink/asm/func_800D13E4.s @@ -2,7 +2,7 @@ /* 800D13E8 000CE328 7C 08 02 A6 */ mflr r0 /* 800D13EC 000CE32C 90 01 00 14 */ stw r0, 0x14(r1) /* 800D13F0 000CE330 80 63 31 80 */ lwz r3, 0x3180(r3) -/* 800D13F4 000CE334 48 29 3C DD */ bl func_803650D0 +/* 800D13F4 000CE334 48 29 3C DD */ bl abs /* 800D13F8 000CE338 3C 80 00 01 */ lis r4, 0x0000F800@ha /* 800D13FC 000CE33C 38 04 F8 00 */ addi r0, r4, 0x0000F800@l /* 800D1400 000CE340 7C 60 02 78 */ xor r0, r3, r0 diff --git a/include/d/d_a/d_a_alink/asm/func_800D20B4.s b/include/d/d_a/d_a_alink/asm/func_800D20B4.s index 3f1671dec72..021ba7db090 100644 --- a/include/d/d_a/d_a_alink/asm/func_800D20B4.s +++ b/include/d/d_a/d_a_alink/asm/func_800D20B4.s @@ -6,7 +6,7 @@ /* 800D20C8 000CF008 A0 03 2F DC */ lhz r0, 0x2fdc(r3) /* 800D20CC 000CF00C 28 00 01 03 */ cmplwi r0, 0x103 /* 800D20D0 000CF010 40 82 00 14 */ bne lbl_800D20E4 -/* 800D20D4 000CF014 4B FE 05 E5 */ bl daAlink_c_NS_swordSwingTrigger +/* 800D20D4 000CF014 4B FE 05 E5 */ bl swordSwingTrigger__9daAlink_cFv /* 800D20D8 000CF018 2C 03 00 00 */ cmpwi r3, 0 /* 800D20DC 000CF01C 41 82 00 08 */ beq lbl_800D20E4 /* 800D20E0 000CF020 3B E0 00 01 */ li r31, 1 diff --git a/include/d/d_a/d_a_alink/asm/func_800D20FC.s b/include/d/d_a/d_a_alink/asm/func_800D20FC.s index 4c9a0266d3e..1626801cc70 100644 --- a/include/d/d_a/d_a_alink/asm/func_800D20FC.s +++ b/include/d/d_a/d_a_alink/asm/func_800D20FC.s @@ -24,7 +24,7 @@ lbl_800D2140: /* 800D2150 000CF090 28 00 00 00 */ cmplwi r0, 0 /* 800D2154 000CF094 40 82 00 20 */ bne lbl_800D2174 /* 800D2158 000CF098 7F E3 FB 78 */ mr r3, r31 -/* 800D215C 000CF09C 4B FE 05 5D */ bl daAlink_c_NS_swordSwingTrigger +/* 800D215C 000CF09C 4B FE 05 5D */ bl swordSwingTrigger__9daAlink_cFv /* 800D2160 000CF0A0 2C 03 00 00 */ cmpwi r3, 0 /* 800D2164 000CF0A4 41 82 00 10 */ beq lbl_800D2174 /* 800D2168 000CF0A8 80 1F 05 78 */ lwz r0, 0x578(r31) diff --git a/include/d/d_a/d_a_alink/asm/func_800D21D0.s b/include/d/d_a/d_a_alink/asm/func_800D21D0.s index 71ca390fe29..ef8d7bb2be7 100644 --- a/include/d/d_a/d_a_alink/asm/func_800D21D0.s +++ b/include/d/d_a/d_a_alink/asm/func_800D21D0.s @@ -16,7 +16,7 @@ lbl_800D21F8: /* 800D2208 000CF148 40 82 00 10 */ bne lbl_800D2218 /* 800D220C 000CF14C 7F E3 FB 78 */ mr r3, r31 /* 800D2210 000CF150 38 80 00 00 */ li r4, 0 -/* 800D2214 000CF154 4B FE 10 3D */ bl daAlink_c_NS_setDoStatus +/* 800D2214 000CF154 4B FE 10 3D */ bl setDoStatus__9daAlink_cFUc lbl_800D2218: /* 800D2218 000CF158 88 7F 05 69 */ lbz r3, 0x569(r31) /* 800D221C 000CF15C 38 03 00 01 */ addi r0, r3, 1 diff --git a/include/d/d_a/d_a_alink/asm/func_800D2368.s b/include/d/d_a/d_a_alink/asm/func_800D2368.s index 5e6eeb80ab1..fe9feceba09 100644 --- a/include/d/d_a/d_a_alink/asm/func_800D2368.s +++ b/include/d/d_a/d_a_alink/asm/func_800D2368.s @@ -5,7 +5,7 @@ /* 800D2378 000CF2B8 93 C1 00 08 */ stw r30, 8(r1) /* 800D237C 000CF2BC 7C 7E 1B 78 */ mr r30, r3 /* 800D2380 000CF2C0 3B E0 00 00 */ li r31, 0 -/* 800D2384 000CF2C4 4B FE 03 35 */ bl daAlink_c_NS_swordSwingTrigger +/* 800D2384 000CF2C4 4B FE 03 35 */ bl swordSwingTrigger__9daAlink_cFv /* 800D2388 000CF2C8 2C 03 00 00 */ cmpwi r3, 0 /* 800D238C 000CF2CC 41 82 00 18 */ beq lbl_800D23A4 /* 800D2390 000CF2D0 7F C3 F3 78 */ mr r3, r30 diff --git a/include/d/d_a/d_a_alink/asm/func_800D2684.s b/include/d/d_a/d_a_alink/asm/func_800D2684.s index f4879c61eb9..0cd2b22974a 100644 --- a/include/d/d_a/d_a_alink/asm/func_800D2684.s +++ b/include/d/d_a/d_a_alink/asm/func_800D2684.s @@ -4,7 +4,7 @@ /* 800D2690 000CF5D0 93 E1 00 0C */ stw r31, 0xc(r1) /* 800D2694 000CF5D4 7C 7F 1B 78 */ mr r31, r3 /* 800D2698 000CF5D8 38 80 00 08 */ li r4, 8 -/* 800D269C 000CF5DC 4B FD FF 4D */ bl daAlink_c_NS_itemButtonCheck +/* 800D269C 000CF5DC 4B FD FF 4D */ bl itemButtonCheck__9daAlink_cFUc /* 800D26A0 000CF5E0 2C 03 00 00 */ cmpwi r3, 0 /* 800D26A4 000CF5E4 41 82 00 2C */ beq lbl_800D26D0 /* 800D26A8 000CF5E8 A8 7F 30 12 */ lha r3, 0x3012(r31) diff --git a/include/d/d_a/d_a_alink/asm/func_800D4D04.s b/include/d/d_a/d_a_alink/asm/func_800D4D04.s index d2396af011f..d70daea7d92 100644 --- a/include/d/d_a/d_a_alink/asm/func_800D4D04.s +++ b/include/d/d_a/d_a_alink/asm/func_800D4D04.s @@ -17,7 +17,7 @@ lbl_800D4D2C: /* 800D4D40 000D1C80 B0 1F 30 7E */ sth r0, 0x307e(r31) /* 800D4D44 000D1C84 7F E3 FB 78 */ mr r3, r31 /* 800D4D48 000D1C88 38 80 00 08 */ li r4, 8 -/* 800D4D4C 000D1C8C 4B FD D8 9D */ bl daAlink_c_NS_itemButtonCheck +/* 800D4D4C 000D1C8C 4B FD D8 9D */ bl itemButtonCheck__9daAlink_cFUc /* 800D4D50 000D1C90 2C 03 00 00 */ cmpwi r3, 0 /* 800D4D54 000D1C94 40 82 00 34 */ bne lbl_800D4D88 /* 800D4D58 000D1C98 80 1F 06 14 */ lwz r0, 0x614(r31) diff --git a/include/d/d_a/d_a_alink/asm/func_800D4EFC.s b/include/d/d_a/d_a_alink/asm/func_800D4EFC.s index 88113495416..03b3cba65a5 100644 --- a/include/d/d_a/d_a_alink/asm/func_800D4EFC.s +++ b/include/d/d_a/d_a_alink/asm/func_800D4EFC.s @@ -81,7 +81,7 @@ lbl_800D5008: /* 800D502C 000D1F6C 40 82 00 14 */ bne lbl_800D5040 /* 800D5030 000D1F70 7F E3 FB 78 */ mr r3, r31 /* 800D5034 000D1F74 38 80 00 30 */ li r4, 0x30 -/* 800D5038 000D1F78 4B FD E2 31 */ bl daAlink_c_NS_setDoStatusEmphasys +/* 800D5038 000D1F78 4B FD E2 31 */ bl setDoStatusEmphasys__9daAlink_cFUc /* 800D503C 000D1F7C 48 00 00 4C */ b lbl_800D5088 lbl_800D5040: /* 800D5040 000D1F80 7F E3 FB 78 */ mr r3, r31 @@ -92,12 +92,12 @@ lbl_800D5040: /* 800D5054 000D1F94 40 82 00 14 */ bne lbl_800D5068 /* 800D5058 000D1F98 7F E3 FB 78 */ mr r3, r31 /* 800D505C 000D1F9C 38 80 00 77 */ li r4, 0x77 -/* 800D5060 000D1FA0 4B FD E2 09 */ bl daAlink_c_NS_setDoStatusEmphasys +/* 800D5060 000D1FA0 4B FD E2 09 */ bl setDoStatusEmphasys__9daAlink_cFUc /* 800D5064 000D1FA4 48 00 00 24 */ b lbl_800D5088 lbl_800D5068: /* 800D5068 000D1FA8 7F E3 FB 78 */ mr r3, r31 /* 800D506C 000D1FAC 38 80 00 86 */ li r4, 0x86 -/* 800D5070 000D1FB0 4B FD E1 E1 */ bl daAlink_c_NS_setDoStatus +/* 800D5070 000D1FB0 4B FD E1 E1 */ bl setDoStatus__9daAlink_cFUc /* 800D5074 000D1FB4 48 00 00 14 */ b lbl_800D5088 lbl_800D5078: /* 800D5078 000D1FB8 3C 60 80 39 */ lis r3, lbl_8038DE8C@ha @@ -125,7 +125,7 @@ lbl_800D50BC: /* 800D50C4 000D2004 40 82 00 18 */ bne lbl_800D50DC /* 800D50C8 000D2008 7F E3 FB 78 */ mr r3, r31 /* 800D50CC 000D200C 38 80 00 08 */ li r4, 8 -/* 800D50D0 000D2010 4B FD D5 19 */ bl daAlink_c_NS_itemButtonCheck +/* 800D50D0 000D2010 4B FD D5 19 */ bl itemButtonCheck__9daAlink_cFUc /* 800D50D4 000D2014 2C 03 00 00 */ cmpwi r3, 0 /* 800D50D8 000D2018 40 82 00 1C */ bne lbl_800D50F4 lbl_800D50DC: diff --git a/include/d/d_a/d_a_alink/asm/func_800D62A0.s b/include/d/d_a/d_a_alink/asm/func_800D62A0.s index 1331d634f68..fc6e44cb86e 100644 --- a/include/d/d_a/d_a_alink/asm/func_800D62A0.s +++ b/include/d/d_a/d_a_alink/asm/func_800D62A0.s @@ -15,7 +15,7 @@ lbl_800D62C8: /* 800D62D4 000D3214 41 82 00 14 */ beq lbl_800D62E8 /* 800D62D8 000D3218 7F E3 FB 78 */ mr r3, r31 /* 800D62DC 000D321C 38 80 00 30 */ li r4, 0x30 -/* 800D62E0 000D3220 4B FD CF 89 */ bl daAlink_c_NS_setDoStatusEmphasys +/* 800D62E0 000D3220 4B FD CF 89 */ bl setDoStatusEmphasys__9daAlink_cFUc /* 800D62E4 000D3224 48 00 00 30 */ b lbl_800D6314 lbl_800D62E8: /* 800D62E8 000D3228 7F E3 FB 78 */ mr r3, r31 @@ -24,12 +24,12 @@ lbl_800D62E8: /* 800D62F4 000D3234 41 82 00 14 */ beq lbl_800D6308 /* 800D62F8 000D3238 7F E3 FB 78 */ mr r3, r31 /* 800D62FC 000D323C 38 80 00 77 */ li r4, 0x77 -/* 800D6300 000D3240 4B FD CF 69 */ bl daAlink_c_NS_setDoStatusEmphasys +/* 800D6300 000D3240 4B FD CF 69 */ bl setDoStatusEmphasys__9daAlink_cFUc /* 800D6304 000D3244 48 00 00 10 */ b lbl_800D6314 lbl_800D6308: /* 800D6308 000D3248 7F E3 FB 78 */ mr r3, r31 /* 800D630C 000D324C 38 80 00 86 */ li r4, 0x86 -/* 800D6310 000D3250 4B FD CF 41 */ bl daAlink_c_NS_setDoStatus +/* 800D6310 000D3250 4B FD CF 41 */ bl setDoStatus__9daAlink_cFUc lbl_800D6314: /* 800D6314 000D3254 7F E3 FB 78 */ mr r3, r31 /* 800D6318 000D3258 4B FF BF A5 */ bl daAlink_c_NS_setSwordChargeVoiceSe diff --git a/include/d/d_a/d_a_alink/asm/func_800D6E24.s b/include/d/d_a/d_a_alink/asm/func_800D6E24.s index ae937725422..39c42194168 100644 --- a/include/d/d_a/d_a_alink/asm/func_800D6E24.s +++ b/include/d/d_a/d_a_alink/asm/func_800D6E24.s @@ -39,7 +39,7 @@ lbl_800D6EA0: /* 800D6EB4 000D3DF4 A8 1F 2F E0 */ lha r0, 0x2fe0(r31) /* 800D6EB8 000D3DF8 7C 03 00 50 */ subf r0, r3, r0 /* 800D6EBC 000D3DFC 7C 03 07 34 */ extsh r3, r0 -/* 800D6EC0 000D3E00 48 28 E2 11 */ bl func_803650D0 +/* 800D6EC0 000D3E00 48 28 E2 11 */ bl abs /* 800D6EC4 000D3E04 2C 03 10 00 */ cmpwi r3, 0x1000 /* 800D6EC8 000D3E08 40 81 00 10 */ ble lbl_800D6ED8 /* 800D6ECC 000D3E0C A8 7F 30 08 */ lha r3, 0x3008(r31) diff --git a/include/d/d_a/d_a_alink/asm/func_800DB860.s b/include/d/d_a/d_a_alink/asm/func_800DB860.s index f311ff5e395..a62f6c22fef 100644 --- a/include/d/d_a/d_a_alink/asm/func_800DB860.s +++ b/include/d/d_a/d_a_alink/asm/func_800DB860.s @@ -256,7 +256,7 @@ lbl_800DBBEC: /* 800DBC00 000D8B40 A8 1F 2F E0 */ lha r0, 0x2fe0(r31) /* 800DBC04 000D8B44 7C 03 00 50 */ subf r0, r3, r0 /* 800DBC08 000D8B48 7C 03 07 34 */ extsh r3, r0 -/* 800DBC0C 000D8B4C 48 28 94 C5 */ bl func_803650D0 +/* 800DBC0C 000D8B4C 48 28 94 C5 */ bl abs /* 800DBC10 000D8B50 2C 03 10 00 */ cmpwi r3, 0x1000 /* 800DBC14 000D8B54 40 81 00 1C */ ble lbl_800DBC30 /* 800DBC18 000D8B58 3C 60 80 39 */ lis r3, lbl_8038E49C@ha diff --git a/include/d/d_a/d_a_alink/asm/func_800DD1D4.s b/include/d/d_a/d_a_alink/asm/func_800DD1D4.s index 5db53fd36b2..f37825c3d60 100644 --- a/include/d/d_a/d_a_alink/asm/func_800DD1D4.s +++ b/include/d/d_a/d_a_alink/asm/func_800DD1D4.s @@ -18,7 +18,7 @@ /* 800DD218 000DA158 7C 00 18 50 */ subf r0, r0, r3 /* 800DD21C 000DA15C B0 1D 05 9E */ sth r0, 0x59e(r29) /* 800DD220 000DA160 A8 7D 05 9E */ lha r3, 0x59e(r29) -/* 800DD224 000DA164 48 28 7E AD */ bl func_803650D0 +/* 800DD224 000DA164 48 28 7E AD */ bl abs /* 800DD228 000DA168 2C 03 70 00 */ cmpwi r3, 0x7000 /* 800DD22C 000DA16C 40 81 00 10 */ ble lbl_800DD23C /* 800DD230 000DA170 38 00 00 00 */ li r0, 0 diff --git a/include/d/d_a/d_a_alink/asm/func_800DD3E4.s b/include/d/d_a/d_a_alink/asm/func_800DD3E4.s index 5f0ae0c6cf9..4fd091aaa5b 100644 --- a/include/d/d_a/d_a_alink/asm/func_800DD3E4.s +++ b/include/d/d_a/d_a_alink/asm/func_800DD3E4.s @@ -70,7 +70,7 @@ lbl_800DD4C8: /* 800DD4E8 000DA428 7C 04 00 50 */ subf r0, r4, r0 /* 800DD4EC 000DA42C B0 1A 30 0C */ sth r0, 0x300c(r26) /* 800DD4F0 000DA430 A8 7A 30 0C */ lha r3, 0x300c(r26) -/* 800DD4F4 000DA434 48 28 7B DD */ bl func_803650D0 +/* 800DD4F4 000DA434 48 28 7B DD */ bl abs /* 800DD4F8 000DA438 2C 03 70 00 */ cmpwi r3, 0x7000 /* 800DD4FC 000DA43C 40 81 00 10 */ ble lbl_800DD50C /* 800DD500 000DA440 38 00 00 00 */ li r0, 0 diff --git a/include/d/d_a/d_a_alink/asm/func_800DDBA8.s b/include/d/d_a/d_a_alink/asm/func_800DDBA8.s index defb844095b..4e754b67d72 100644 --- a/include/d/d_a/d_a_alink/asm/func_800DDBA8.s +++ b/include/d/d_a/d_a_alink/asm/func_800DDBA8.s @@ -103,12 +103,12 @@ lbl_800DDD18: /* 800DDD2C 000DAC6C 41 82 00 14 */ beq lbl_800DDD40 /* 800DDD30 000DAC70 7F C3 F3 78 */ mr r3, r30 /* 800DDD34 000DAC74 38 80 00 77 */ li r4, 0x77 -/* 800DDD38 000DAC78 4B FD 55 31 */ bl daAlink_c_NS_setDoStatusEmphasys +/* 800DDD38 000DAC78 4B FD 55 31 */ bl setDoStatusEmphasys__9daAlink_cFUc /* 800DDD3C 000DAC7C 48 00 00 10 */ b lbl_800DDD4C lbl_800DDD40: /* 800DDD40 000DAC80 7F C3 F3 78 */ mr r3, r30 /* 800DDD44 000DAC84 38 80 00 86 */ li r4, 0x86 -/* 800DDD48 000DAC88 4B FD 55 09 */ bl daAlink_c_NS_setDoStatus +/* 800DDD48 000DAC88 4B FD 55 09 */ bl setDoStatus__9daAlink_cFUc lbl_800DDD4C: /* 800DDD4C 000DAC8C 7F E3 FB 78 */ mr r3, r31 /* 800DDD50 000DAC90 48 08 07 7D */ bl daPy_frameCtrl_c_NS_checkAnmEnd diff --git a/include/d/d_a/d_a_alink/asm/func_800DE380.s b/include/d/d_a/d_a_alink/asm/func_800DE380.s index 6f2c9f6640e..cd57ebbe78d 100644 --- a/include/d/d_a/d_a_alink/asm/func_800DE380.s +++ b/include/d/d_a/d_a_alink/asm/func_800DE380.s @@ -174,7 +174,7 @@ lbl_800DE5D4: /* 800DE614 000DB554 4B F9 14 11 */ bl dVibration_c_NS_StartShock lbl_800DE618: /* 800DE618 000DB558 7F E3 FB 78 */ mr r3, r31 -/* 800DE61C 000DB55C 48 28 6A B5 */ bl func_803650D0 +/* 800DE61C 000DB55C 48 28 6A B5 */ bl abs /* 800DE620 000DB560 2C 03 01 00 */ cmpwi r3, 0x100 /* 800DE624 000DB564 40 81 00 0C */ ble lbl_800DE630 /* 800DE628 000DB568 38 00 00 04 */ li r0, 4 diff --git a/include/d/d_a/d_a_alink/asm/func_800DF0BC.s b/include/d/d_a/d_a_alink/asm/func_800DF0BC.s index 63d321aa49c..6439b5fe9cc 100644 --- a/include/d/d_a/d_a_alink/asm/func_800DF0BC.s +++ b/include/d/d_a/d_a_alink/asm/func_800DF0BC.s @@ -123,7 +123,7 @@ lbl_800DF284: /* 800DF288 000DC1C8 28 00 00 4B */ cmplwi r0, 0x4b /* 800DF28C 000DC1CC 40 82 00 74 */ bne lbl_800DF300 /* 800DF290 000DC1D0 7F E3 FB 78 */ mr r3, r31 -/* 800DF294 000DC1D4 4B FD 33 71 */ bl daAlink_c_NS_itemButton +/* 800DF294 000DC1D4 4B FD 33 71 */ bl itemButton__9daAlink_cFv /* 800DF298 000DC1D8 2C 03 00 00 */ cmpwi r3, 0 /* 800DF29C 000DC1DC 40 82 04 90 */ bne lbl_800DF72C /* 800DF2A0 000DC1E0 C0 22 92 C0 */ lfs f1, lbl_80452CC0-_SDA2_BASE_(r2) @@ -152,7 +152,7 @@ lbl_800DF284: /* 800DF2FC 000DC23C 48 00 04 30 */ b lbl_800DF72C lbl_800DF300: /* 800DF300 000DC240 7F E3 FB 78 */ mr r3, r31 -/* 800DF304 000DC244 4B FD 33 01 */ bl daAlink_c_NS_itemButton +/* 800DF304 000DC244 4B FD 33 01 */ bl itemButton__9daAlink_cFv /* 800DF308 000DC248 2C 03 00 00 */ cmpwi r3, 0 /* 800DF30C 000DC24C 40 82 01 50 */ bne lbl_800DF45C /* 800DF310 000DC250 28 1D 00 00 */ cmplwi r29, 0 @@ -308,7 +308,7 @@ lbl_800DF538: /* 800DF53C 000DC47C 2C 00 00 00 */ cmpwi r0, 0 /* 800DF540 000DC480 40 82 00 60 */ bne lbl_800DF5A0 /* 800DF544 000DC484 7F E3 FB 78 */ mr r3, r31 -/* 800DF548 000DC488 4B FD 30 BD */ bl daAlink_c_NS_itemButton +/* 800DF548 000DC488 4B FD 30 BD */ bl itemButton__9daAlink_cFv /* 800DF54C 000DC48C 2C 03 00 00 */ cmpwi r3, 0 /* 800DF550 000DC490 40 82 00 50 */ bne lbl_800DF5A0 /* 800DF554 000DC494 A8 1F 30 18 */ lha r0, 0x3018(r31) @@ -336,7 +336,7 @@ lbl_800DF5A0: /* 800DF5A4 000DC4E4 2C 00 00 00 */ cmpwi r0, 0 /* 800DF5A8 000DC4E8 40 82 00 74 */ bne lbl_800DF61C /* 800DF5AC 000DC4EC 7F E3 FB 78 */ mr r3, r31 -/* 800DF5B0 000DC4F0 4B FD 30 55 */ bl daAlink_c_NS_itemButton +/* 800DF5B0 000DC4F0 4B FD 30 55 */ bl itemButton__9daAlink_cFv /* 800DF5B4 000DC4F4 2C 03 00 00 */ cmpwi r3, 0 /* 800DF5B8 000DC4F8 40 82 00 10 */ bne lbl_800DF5C8 /* 800DF5BC 000DC4FC A8 1F 30 18 */ lha r0, 0x3018(r31) @@ -430,7 +430,7 @@ lbl_800DF6D8: /* 800DF6F8 000DC638 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 800DF6FC 000DC63C 40 81 00 1C */ ble lbl_800DF718 /* 800DF700 000DC640 7F E3 FB 78 */ mr r3, r31 -/* 800DF704 000DC644 4B FD 2F 01 */ bl daAlink_c_NS_itemButton +/* 800DF704 000DC644 4B FD 2F 01 */ bl itemButton__9daAlink_cFv /* 800DF708 000DC648 2C 03 00 00 */ cmpwi r3, 0 /* 800DF70C 000DC64C 41 82 00 0C */ beq lbl_800DF718 lbl_800DF710: diff --git a/include/d/d_a/d_a_alink/asm/func_800DF798.s b/include/d/d_a/d_a_alink/asm/func_800DF798.s index 3d676a87669..b694eaa01ea 100644 --- a/include/d/d_a/d_a_alink/asm/func_800DF798.s +++ b/include/d/d_a/d_a_alink/asm/func_800DF798.s @@ -18,7 +18,7 @@ lbl_800DF7D0: /* 800DF7D8 000DC718 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 800DF7DC 000DC71C 41 82 00 24 */ beq lbl_800DF800 /* 800DF7E0 000DC720 7F E3 FB 78 */ mr r3, r31 -/* 800DF7E4 000DC724 4B FD 2E 51 */ bl daAlink_c_NS_itemTrigger +/* 800DF7E4 000DC724 4B FD 2E 51 */ bl itemTrigger__9daAlink_cFv /* 800DF7E8 000DC728 2C 03 00 00 */ cmpwi r3, 0 /* 800DF7EC 000DC72C 41 82 00 14 */ beq lbl_800DF800 /* 800DF7F0 000DC730 7F E3 FB 78 */ mr r3, r31 diff --git a/include/d/d_a/d_a_alink/asm/func_800DFDDC.s b/include/d/d_a/d_a_alink/asm/func_800DFDDC.s index c4bb26cf00d..66570056767 100644 --- a/include/d/d_a/d_a_alink/asm/func_800DFDDC.s +++ b/include/d/d_a/d_a_alink/asm/func_800DFDDC.s @@ -4,7 +4,7 @@ /* 800DFDE8 000DCD28 93 E1 00 0C */ stw r31, 0xc(r1) /* 800DFDEC 000DCD2C 7C 7F 1B 78 */ mr r31, r3 /* 800DFDF0 000DCD30 38 80 00 12 */ li r4, 0x12 -/* 800DFDF4 000DCD34 4B FD 34 5D */ bl daAlink_c_NS_setDoStatus +/* 800DFDF4 000DCD34 4B FD 34 5D */ bl setDoStatus__9daAlink_cFUc /* 800DFDF8 000DCD38 7F E3 FB 78 */ mr r3, r31 /* 800DFDFC 000DCD3C 38 80 00 00 */ li r4, 0 /* 800DFE00 000DCD40 4B FD A2 D1 */ bl daAlink_c_NS_checkNextAction diff --git a/include/d/d_a/d_a_alink/asm/func_800DFEC0.s b/include/d/d_a/d_a_alink/asm/func_800DFEC0.s index 9b4c5673767..872da29107f 100644 --- a/include/d/d_a/d_a_alink/asm/func_800DFEC0.s +++ b/include/d/d_a/d_a_alink/asm/func_800DFEC0.s @@ -16,7 +16,7 @@ /* 800DFEFC 000DCE3C 28 00 00 0D */ cmplwi r0, 0xd /* 800DFF00 000DCE40 40 82 00 24 */ bne lbl_800DFF24 /* 800DFF04 000DCE44 7F E3 FB 78 */ mr r3, r31 -/* 800DFF08 000DCE48 4B FD 26 FD */ bl daAlink_c_NS_itemButton +/* 800DFF08 000DCE48 4B FD 26 FD */ bl itemButton__9daAlink_cFv /* 800DFF0C 000DCE4C 2C 03 00 00 */ cmpwi r3, 0 /* 800DFF10 000DCE50 40 82 00 14 */ bne lbl_800DFF24 /* 800DFF14 000DCE54 7F E3 FB 78 */ mr r3, r31 diff --git a/include/d/d_a/d_a_alink/asm/func_800E0A9C.s b/include/d/d_a/d_a_alink/asm/func_800E0A9C.s index 50ca4df6e43..33a8c2a78c5 100644 --- a/include/d/d_a/d_a_alink/asm/func_800E0A9C.s +++ b/include/d/d_a/d_a_alink/asm/func_800E0A9C.s @@ -19,7 +19,7 @@ lbl_800E0AD8: /* 800E0AE0 000DDA20 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 800E0AE4 000DDA24 41 82 00 54 */ beq lbl_800E0B38 /* 800E0AE8 000DDA28 7F E3 FB 78 */ mr r3, r31 -/* 800E0AEC 000DDA2C 4B FD 1B 19 */ bl daAlink_c_NS_itemButton +/* 800E0AEC 000DDA2C 4B FD 1B 19 */ bl itemButton__9daAlink_cFv /* 800E0AF0 000DDA30 2C 03 00 00 */ cmpwi r3, 0 /* 800E0AF4 000DDA34 40 82 00 44 */ bne lbl_800E0B38 /* 800E0AF8 000DDA38 38 60 00 00 */ li r3, 0 diff --git a/include/d/d_a/d_a_alink/asm/func_800E0B58.s b/include/d/d_a/d_a_alink/asm/func_800E0B58.s index c7d0b5fdba6..0c25deedbd3 100644 --- a/include/d/d_a/d_a_alink/asm/func_800E0B58.s +++ b/include/d/d_a/d_a_alink/asm/func_800E0B58.s @@ -26,7 +26,7 @@ lbl_800E0BA8: /* 800E0BB0 000DDAF0 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 800E0BB4 000DDAF4 41 82 00 1C */ beq lbl_800E0BD0 /* 800E0BB8 000DDAF8 7F E3 FB 78 */ mr r3, r31 -/* 800E0BBC 000DDAFC 4B FD 1A 79 */ bl daAlink_c_NS_itemTrigger +/* 800E0BBC 000DDAFC 4B FD 1A 79 */ bl itemTrigger__9daAlink_cFv /* 800E0BC0 000DDB00 2C 03 00 00 */ cmpwi r3, 0 /* 800E0BC4 000DDB04 41 82 00 0C */ beq lbl_800E0BD0 /* 800E0BC8 000DDB08 7F E3 FB 78 */ mr r3, r31 diff --git a/include/d/d_a/d_a_alink/asm/func_800E0FA0.s b/include/d/d_a/d_a_alink/asm/func_800E0FA0.s index 168aabac052..ebcce22b56c 100644 --- a/include/d/d_a/d_a_alink/asm/func_800E0FA0.s +++ b/include/d/d_a/d_a_alink/asm/func_800E0FA0.s @@ -25,7 +25,7 @@ lbl_800E0FF0: /* 800E0FF4 000DDF34 41 82 00 10 */ beq lbl_800E1004 /* 800E0FF8 000DDF38 7F E3 FB 78 */ mr r3, r31 /* 800E0FFC 000DDF3C 38 80 00 12 */ li r4, 0x12 -/* 800E1000 000DDF40 4B FD 22 51 */ bl daAlink_c_NS_setDoStatus +/* 800E1000 000DDF40 4B FD 22 51 */ bl setDoStatus__9daAlink_cFUc lbl_800E1004: /* 800E1004 000DDF44 7F E3 FB 78 */ mr r3, r31 /* 800E1008 000DDF48 38 80 00 00 */ li r4, 0 diff --git a/include/d/d_a/d_a_alink/asm/func_800E1ADC.s b/include/d/d_a/d_a_alink/asm/func_800E1ADC.s index 9cc394db516..c18ded173e7 100644 --- a/include/d/d_a/d_a_alink/asm/func_800E1ADC.s +++ b/include/d/d_a/d_a_alink/asm/func_800E1ADC.s @@ -14,7 +14,7 @@ lbl_800E1B04: /* 800E1B0C 000DEA4C 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 800E1B10 000DEA50 41 82 00 84 */ beq lbl_800E1B94 /* 800E1B14 000DEA54 7F E3 FB 78 */ mr r3, r31 -/* 800E1B18 000DEA58 4B FD 0A ED */ bl daAlink_c_NS_itemButton +/* 800E1B18 000DEA58 4B FD 0A ED */ bl itemButton__9daAlink_cFv /* 800E1B1C 000DEA5C 2C 03 00 00 */ cmpwi r3, 0 /* 800E1B20 000DEA60 40 82 00 74 */ bne lbl_800E1B94 /* 800E1B24 000DEA64 38 60 00 00 */ li r3, 0 diff --git a/include/d/d_a/d_a_alink/asm/func_800E1BB4.s b/include/d/d_a/d_a_alink/asm/func_800E1BB4.s index 4fd0bc35113..ca683c8e647 100644 --- a/include/d/d_a/d_a_alink/asm/func_800E1BB4.s +++ b/include/d/d_a/d_a_alink/asm/func_800E1BB4.s @@ -26,7 +26,7 @@ lbl_800E1C08: /* 800E1C10 000DEB50 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 800E1C14 000DEB54 41 82 00 1C */ beq lbl_800E1C30 /* 800E1C18 000DEB58 7F E3 FB 78 */ mr r3, r31 -/* 800E1C1C 000DEB5C 4B FD 0A 19 */ bl daAlink_c_NS_itemTrigger +/* 800E1C1C 000DEB5C 4B FD 0A 19 */ bl itemTrigger__9daAlink_cFv /* 800E1C20 000DEB60 2C 03 00 00 */ cmpwi r3, 0 /* 800E1C24 000DEB64 41 82 00 0C */ beq lbl_800E1C30 /* 800E1C28 000DEB68 7F E3 FB 78 */ mr r3, r31 diff --git a/include/d/d_a/d_a_alink/asm/func_800E1EB0.s b/include/d/d_a/d_a_alink/asm/func_800E1EB0.s index 9ead2b9e88a..26b2e8d2d65 100644 --- a/include/d/d_a/d_a_alink/asm/func_800E1EB0.s +++ b/include/d/d_a/d_a_alink/asm/func_800E1EB0.s @@ -22,7 +22,7 @@ lbl_800E1EF8: /* 800E1EFC 000DEE3C 41 82 00 10 */ beq lbl_800E1F0C /* 800E1F00 000DEE40 7F E3 FB 78 */ mr r3, r31 /* 800E1F04 000DEE44 38 80 00 12 */ li r4, 0x12 -/* 800E1F08 000DEE48 4B FD 13 49 */ bl daAlink_c_NS_setDoStatus +/* 800E1F08 000DEE48 4B FD 13 49 */ bl setDoStatus__9daAlink_cFUc lbl_800E1F0C: /* 800E1F0C 000DEE4C 7F E3 FB 78 */ mr r3, r31 /* 800E1F10 000DEE50 38 80 00 00 */ li r4, 0 diff --git a/include/d/d_a/d_a_alink/asm/func_800E2808.s b/include/d/d_a/d_a_alink/asm/func_800E2808.s index 1660422b5b1..4a3c800dea7 100644 --- a/include/d/d_a/d_a_alink/asm/func_800E2808.s +++ b/include/d/d_a/d_a_alink/asm/func_800E2808.s @@ -94,7 +94,7 @@ lbl_800E2954: /* 800E2958 000DF898 48 18 4D 1D */ bl cM_atan2s__Fff /* 800E295C 000DF89C 7C 7C 1B 78 */ mr r28, r3 /* 800E2960 000DF8A0 7F 83 07 34 */ extsh r3, r28 -/* 800E2964 000DF8A4 48 28 27 6D */ bl func_803650D0 +/* 800E2964 000DF8A4 48 28 27 6D */ bl abs /* 800E2968 000DF8A8 2C 03 01 F4 */ cmpwi r3, 0x1f4 /* 800E296C 000DF8AC 40 80 00 0C */ bge lbl_800E2978 /* 800E2970 000DF8B0 3B 80 00 00 */ li r28, 0 @@ -301,7 +301,7 @@ lbl_800E2C44: /* 800E2C48 000DFB88 48 18 4A 2D */ bl cM_atan2s__Fff /* 800E2C4C 000DFB8C B0 7D 31 14 */ sth r3, 0x3114(r29) /* 800E2C50 000DFB90 A8 7D 31 14 */ lha r3, 0x3114(r29) -/* 800E2C54 000DFB94 48 28 24 7D */ bl func_803650D0 +/* 800E2C54 000DFB94 48 28 24 7D */ bl abs /* 800E2C58 000DFB98 2C 03 01 F4 */ cmpwi r3, 0x1f4 /* 800E2C5C 000DFB9C 40 80 00 10 */ bge lbl_800E2C6C /* 800E2C60 000DFBA0 38 00 00 00 */ li r0, 0 diff --git a/include/d/d_a/d_a_alink/asm/func_800E5170.s b/include/d/d_a/d_a_alink/asm/func_800E5170.s index 102d109da66..b8ef7835d4f 100644 --- a/include/d/d_a/d_a_alink/asm/func_800E5170.s +++ b/include/d/d_a/d_a_alink/asm/func_800E5170.s @@ -28,7 +28,7 @@ lbl_800E51A0: /* 800E51D8 000E2118 41 82 00 14 */ beq lbl_800E51EC /* 800E51DC 000E211C 7F C3 F3 78 */ mr r3, r30 /* 800E51E0 000E2120 38 80 00 06 */ li r4, 6 -/* 800E51E4 000E2124 4B FC E0 6D */ bl daAlink_c_NS_setDoStatus +/* 800E51E4 000E2124 4B FC E0 6D */ bl setDoStatus__9daAlink_cFUc /* 800E51E8 000E2128 48 00 00 A0 */ b lbl_800E5288 lbl_800E51EC: /* 800E51EC 000E212C 80 9E 27 F4 */ lwz r4, 0x27f4(r30) @@ -48,7 +48,7 @@ lbl_800E5218: /* 800E5220 000E2160 41 82 00 14 */ beq lbl_800E5234 /* 800E5224 000E2164 7F C3 F3 78 */ mr r3, r30 /* 800E5228 000E2168 38 80 00 13 */ li r4, 0x13 -/* 800E522C 000E216C 4B FC E0 25 */ bl daAlink_c_NS_setDoStatus +/* 800E522C 000E216C 4B FC E0 25 */ bl setDoStatus__9daAlink_cFUc /* 800E5230 000E2170 48 00 00 58 */ b lbl_800E5288 lbl_800E5234: /* 800E5234 000E2174 7F C3 F3 78 */ mr r3, r30 @@ -69,12 +69,12 @@ lbl_800E525C: lbl_800E526C: /* 800E526C 000E21AC 7F C3 F3 78 */ mr r3, r30 /* 800E5270 000E21B0 38 80 00 14 */ li r4, 0x14 -/* 800E5274 000E21B4 4B FC DF DD */ bl daAlink_c_NS_setDoStatus +/* 800E5274 000E21B4 4B FC DF DD */ bl setDoStatus__9daAlink_cFUc /* 800E5278 000E21B8 48 00 00 10 */ b lbl_800E5288 lbl_800E527C: /* 800E527C 000E21BC 7F C3 F3 78 */ mr r3, r30 /* 800E5280 000E21C0 38 80 00 13 */ li r4, 0x13 -/* 800E5284 000E21C4 4B FC DF CD */ bl daAlink_c_NS_setDoStatus +/* 800E5284 000E21C4 4B FC DF CD */ bl setDoStatus__9daAlink_cFUc lbl_800E5288: /* 800E5288 000E21C8 88 1E 2F 8D */ lbz r0, 0x2f8d(r30) /* 800E528C 000E21CC 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b diff --git a/include/d/d_a/d_a_alink/asm/func_800E7894.s b/include/d/d_a/d_a_alink/asm/func_800E7894.s index b4ca8c81f86..8536da267c8 100644 --- a/include/d/d_a/d_a_alink/asm/func_800E7894.s +++ b/include/d/d_a/d_a_alink/asm/func_800E7894.s @@ -36,7 +36,7 @@ lbl_800E7908: /* 800E7914 000E4854 A8 1D 2F E2 */ lha r0, 0x2fe2(r29) /* 800E7918 000E4858 7C 1E 00 50 */ subf r0, r30, r0 /* 800E791C 000E485C 7C 03 07 34 */ extsh r3, r0 -/* 800E7920 000E4860 48 27 D7 B1 */ bl func_803650D0 +/* 800E7920 000E4860 48 27 D7 B1 */ bl abs /* 800E7924 000E4864 2C 03 38 00 */ cmpwi r3, 0x3800 /* 800E7928 000E4868 41 80 00 08 */ blt lbl_800E7930 lbl_800E792C: diff --git a/include/d/d_a/d_a_alink/asm/func_800E7EF4.s b/include/d/d_a/d_a_alink/asm/func_800E7EF4.s index 7a0d712584d..9a9b353464d 100644 --- a/include/d/d_a/d_a_alink/asm/func_800E7EF4.s +++ b/include/d/d_a/d_a_alink/asm/func_800E7EF4.s @@ -2,7 +2,7 @@ /* 800E7EF8 000E4E38 7C 08 02 A6 */ mflr r0 /* 800E7EFC 000E4E3C 90 01 00 14 */ stw r0, 0x14(r1) /* 800E7F00 000E4E40 38 80 00 40 */ li r4, 0x40 -/* 800E7F04 000E4E44 4B FC A6 C9 */ bl daAlink_c_NS_itemTriggerCheck +/* 800E7F04 000E4E44 4B FC A6 C9 */ bl itemTriggerCheck__9daAlink_cFUc /* 800E7F08 000E4E48 80 01 00 14 */ lwz r0, 0x14(r1) /* 800E7F0C 000E4E4C 7C 08 03 A6 */ mtlr r0 /* 800E7F10 000E4E50 38 21 00 10 */ addi r1, r1, 0x10 diff --git a/include/d/d_a/d_a_alink/asm/func_800E7F18.s b/include/d/d_a/d_a_alink/asm/func_800E7F18.s index bf7425d06c4..56034861d42 100644 --- a/include/d/d_a/d_a_alink/asm/func_800E7F18.s +++ b/include/d/d_a/d_a_alink/asm/func_800E7F18.s @@ -2,7 +2,7 @@ /* 800E7F1C 000E4E5C 7C 08 02 A6 */ mflr r0 /* 800E7F20 000E4E60 90 01 00 14 */ stw r0, 0x14(r1) /* 800E7F24 000E4E64 38 80 00 40 */ li r4, 0x40 -/* 800E7F28 000E4E68 4B FC A6 C1 */ bl daAlink_c_NS_itemButtonCheck +/* 800E7F28 000E4E68 4B FC A6 C1 */ bl itemButtonCheck__9daAlink_cFUc /* 800E7F2C 000E4E6C 80 01 00 14 */ lwz r0, 0x14(r1) /* 800E7F30 000E4E70 7C 08 03 A6 */ mtlr r0 /* 800E7F34 000E4E74 38 21 00 10 */ addi r1, r1, 0x10 diff --git a/include/d/d_a/d_a_alink/asm/func_800E9434.s b/include/d/d_a/d_a_alink/asm/func_800E9434.s index bb29f57958a..4794fcf5a7b 100644 --- a/include/d/d_a/d_a_alink/asm/func_800E9434.s +++ b/include/d/d_a/d_a_alink/asm/func_800E9434.s @@ -81,7 +81,7 @@ lbl_800E9554: /* 800E9560 000E64A0 40 80 00 34 */ bge lbl_800E9594 /* 800E9564 000E64A4 7F C3 F3 78 */ mr r3, r30 /* 800E9568 000E64A8 38 80 00 15 */ li r4, 0x15 -/* 800E956C 000E64AC 4B FC 9C FD */ bl daAlink_c_NS_setDoStatusEmphasys +/* 800E956C 000E64AC 4B FC 9C FD */ bl setDoStatusEmphasys__9daAlink_cFUc /* 800E9570 000E64B0 48 00 00 24 */ b lbl_800E9594 lbl_800E9574: /* 800E9574 000E64B4 C0 02 94 A0 */ lfs f0, lbl_80452EA0-_SDA2_BASE_(r2) @@ -157,7 +157,7 @@ lbl_800E9640: /* 800E9680 000E65C0 48 00 01 FC */ b lbl_800E987C lbl_800E9684: /* 800E9684 000E65C4 A8 7E 2F E2 */ lha r3, 0x2fe2(r30) -/* 800E9688 000E65C8 48 27 BA 49 */ bl func_803650D0 +/* 800E9688 000E65C8 48 27 BA 49 */ bl abs /* 800E968C 000E65CC C0 3E 33 AC */ lfs f1, 0x33ac(r30) /* 800E9690 000E65D0 C0 02 92 A4 */ lfs f0, lbl_80452CA4-_SDA2_BASE_(r2) /* 800E9694 000E65D4 FC 01 00 40 */ fcmpo cr0, f1, f0 @@ -190,7 +190,7 @@ lbl_800E96F4: /* 800E96F8 000E6638 A8 1E 2F E2 */ lha r0, 0x2fe2(r30) /* 800E96FC 000E663C 7C 03 00 50 */ subf r0, r3, r0 /* 800E9700 000E6640 7C 03 07 34 */ extsh r3, r0 -/* 800E9704 000E6644 48 27 B9 CD */ bl func_803650D0 +/* 800E9704 000E6644 48 27 B9 CD */ bl abs /* 800E9708 000E6648 2C 03 40 00 */ cmpwi r3, 0x4000 /* 800E970C 000E664C 40 81 00 44 */ ble lbl_800E9750 /* 800E9710 000E6650 A8 7E 04 DE */ lha r3, 0x4de(r30) diff --git a/include/d/d_a/d_a_alink/asm/func_800E9894.s b/include/d/d_a/d_a_alink/asm/func_800E9894.s index 17fde796c37..4536a0f6e53 100644 --- a/include/d/d_a/d_a_alink/asm/func_800E9894.s +++ b/include/d/d_a/d_a_alink/asm/func_800E9894.s @@ -54,7 +54,7 @@ lbl_800E9910: /* 800E9964 000E68A4 41 82 00 18 */ beq lbl_800E997C /* 800E9968 000E68A8 7F C3 F3 78 */ mr r3, r30 /* 800E996C 000E68AC 38 80 00 00 */ li r4, 0 -/* 800E9970 000E68B0 4B FC 98 E1 */ bl daAlink_c_NS_setDoStatus +/* 800E9970 000E68B0 4B FC 98 E1 */ bl setDoStatus__9daAlink_cFUc /* 800E9974 000E68B4 38 60 00 00 */ li r3, 0 /* 800E9978 000E68B8 48 00 02 38 */ b lbl_800E9BB0 lbl_800E997C: diff --git a/include/d/d_a/d_a_alink/asm/func_800E9BD0.s b/include/d/d_a/d_a_alink/asm/func_800E9BD0.s index 70383b72641..723e510dd75 100644 --- a/include/d/d_a/d_a_alink/asm/func_800E9BD0.s +++ b/include/d/d_a/d_a_alink/asm/func_800E9BD0.s @@ -249,7 +249,7 @@ lbl_800E9F44: lbl_800E9F58: /* 800E9F58 000E6E98 7F 83 E3 78 */ mr r3, r28 /* 800E9F5C 000E6E9C 38 80 00 15 */ li r4, 0x15 -/* 800E9F60 000E6EA0 4B FC 93 09 */ bl daAlink_c_NS_setDoStatusEmphasys +/* 800E9F60 000E6EA0 4B FC 93 09 */ bl setDoStatusEmphasys__9daAlink_cFUc /* 800E9F64 000E6EA4 A8 7C 04 E6 */ lha r3, 0x4e6(r28) /* 800E9F68 000E6EA8 A8 1C 2F E2 */ lha r0, 0x2fe2(r28) /* 800E9F6C 000E6EAC 7C 03 00 50 */ subf r0, r3, r0 diff --git a/include/d/d_a/d_a_alink/asm/func_800EA4CC.s b/include/d/d_a/d_a_alink/asm/func_800EA4CC.s index 12f9824ab19..16c966155a1 100644 --- a/include/d/d_a/d_a_alink/asm/func_800EA4CC.s +++ b/include/d/d_a/d_a_alink/asm/func_800EA4CC.s @@ -65,7 +65,7 @@ lbl_800EA584: /* 800EA5B4 000E74F4 40 82 00 C0 */ bne lbl_800EA674 /* 800EA5B8 000E74F8 7F E3 FB 78 */ mr r3, r31 /* 800EA5BC 000E74FC 38 80 00 91 */ li r4, 0x91 -/* 800EA5C0 000E7500 4B FC 8C 91 */ bl daAlink_c_NS_setDoStatus +/* 800EA5C0 000E7500 4B FC 8C 91 */ bl setDoStatus__9daAlink_cFUc /* 800EA5C4 000E7504 88 1F 2F 8D */ lbz r0, 0x2f8d(r31) /* 800EA5C8 000E7508 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b /* 800EA5CC 000E750C 41 82 00 10 */ beq lbl_800EA5DC @@ -129,7 +129,7 @@ lbl_800EA67C: /* 800EA6A0 000E75E0 A8 1F 2F E2 */ lha r0, 0x2fe2(r31) /* 800EA6A4 000E75E4 7C 03 00 50 */ subf r0, r3, r0 /* 800EA6A8 000E75E8 7C 03 07 34 */ extsh r3, r0 -/* 800EA6AC 000E75EC 48 27 AA 25 */ bl func_803650D0 +/* 800EA6AC 000E75EC 48 27 AA 25 */ bl abs /* 800EA6B0 000E75F0 2C 03 40 00 */ cmpwi r3, 0x4000 /* 800EA6B4 000E75F4 40 81 00 44 */ ble lbl_800EA6F8 /* 800EA6B8 000E75F8 A8 7F 04 DE */ lha r3, 0x4de(r31) diff --git a/include/d/d_a/d_a_alink/asm/func_800EA908.s b/include/d/d_a/d_a_alink/asm/func_800EA908.s index 04c48129e58..508fd86d876 100644 --- a/include/d/d_a/d_a_alink/asm/func_800EA908.s +++ b/include/d/d_a/d_a_alink/asm/func_800EA908.s @@ -2,7 +2,7 @@ /* 800EA90C 000E784C 7C 08 02 A6 */ mflr r0 /* 800EA910 000E7850 90 01 00 14 */ stw r0, 0x14(r1) /* 800EA914 000E7854 38 80 00 08 */ li r4, 8 -/* 800EA918 000E7858 4B FC 7C B5 */ bl daAlink_c_NS_itemTriggerCheck +/* 800EA918 000E7858 4B FC 7C B5 */ bl itemTriggerCheck__9daAlink_cFUc /* 800EA91C 000E785C 80 01 00 14 */ lwz r0, 0x14(r1) /* 800EA920 000E7860 7C 08 03 A6 */ mtlr r0 /* 800EA924 000E7864 38 21 00 10 */ addi r1, r1, 0x10 diff --git a/include/d/d_a/d_a_alink/asm/func_800EA92C.s b/include/d/d_a/d_a_alink/asm/func_800EA92C.s index 07f9d4fc3cc..05d51bba5f8 100644 --- a/include/d/d_a/d_a_alink/asm/func_800EA92C.s +++ b/include/d/d_a/d_a_alink/asm/func_800EA92C.s @@ -2,7 +2,7 @@ /* 800EA930 000E7870 7C 08 02 A6 */ mflr r0 /* 800EA934 000E7874 90 01 00 14 */ stw r0, 0x14(r1) /* 800EA938 000E7878 38 80 00 44 */ li r4, 0x44 -/* 800EA93C 000E787C 4B FC 89 5D */ bl daAlink_c_NS_setBStatus +/* 800EA93C 000E787C 4B FC 89 5D */ bl setBStatus__9daAlink_cFUc /* 800EA940 000E7880 80 01 00 14 */ lwz r0, 0x14(r1) /* 800EA944 000E7884 7C 08 03 A6 */ mtlr r0 /* 800EA948 000E7888 38 21 00 10 */ addi r1, r1, 0x10 diff --git a/include/d/d_a/d_a_alink/asm/func_800EAA28.s b/include/d/d_a/d_a_alink/asm/func_800EAA28.s index 9e0ed0878b3..980f5b311be 100644 --- a/include/d/d_a/d_a_alink/asm/func_800EAA28.s +++ b/include/d/d_a/d_a_alink/asm/func_800EAA28.s @@ -24,7 +24,7 @@ lbl_800EAA78: /* 800EAA7C 000E79BC 4B FF FE B1 */ bl daAlink_c_NS_setSumouPunchStatus /* 800EAA80 000E79C0 7F E3 FB 78 */ mr r3, r31 /* 800EAA84 000E79C4 38 80 00 15 */ li r4, 0x15 -/* 800EAA88 000E79C8 4B FC 87 E1 */ bl daAlink_c_NS_setDoStatusEmphasys +/* 800EAA88 000E79C8 4B FC 87 E1 */ bl setDoStatusEmphasys__9daAlink_cFUc /* 800EAA8C 000E79CC 38 00 00 05 */ li r0, 5 /* 800EAA90 000E79D0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 800EAA94 000E79D4 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l @@ -89,7 +89,7 @@ lbl_800EAB48: /* 800EAB70 000E7AB0 7C 03 00 50 */ subf r0, r3, r0 /* 800EAB74 000E7AB4 7C 1D 07 34 */ extsh r29, r0 /* 800EAB78 000E7AB8 7F A3 EB 78 */ mr r3, r29 -/* 800EAB7C 000E7ABC 48 27 A5 55 */ bl func_803650D0 +/* 800EAB7C 000E7ABC 48 27 A5 55 */ bl abs /* 800EAB80 000E7AC0 7C 7E 1B 78 */ mr r30, r3 /* 800EAB84 000E7AC4 A8 7F 2F E2 */ lha r3, 0x2fe2(r31) /* 800EAB88 000E7AC8 A8 9F 04 E6 */ lha r4, 0x4e6(r31) diff --git a/include/d/d_a/d_a_alink/asm/func_800EAD84.s b/include/d/d_a/d_a_alink/asm/func_800EAD84.s index 395e4c1c3de..0179af8b5bf 100644 --- a/include/d/d_a/d_a_alink/asm/func_800EAD84.s +++ b/include/d/d_a/d_a_alink/asm/func_800EAD84.s @@ -106,7 +106,7 @@ lbl_800EAED4: lbl_800EAF00: /* 800EAF00 000E7E40 7F A3 EB 78 */ mr r3, r29 /* 800EAF04 000E7E44 38 80 00 64 */ li r4, 0x64 -/* 800EAF08 000E7E48 4B FC 83 79 */ bl daAlink_c_NS_setDoStatusContinuation +/* 800EAF08 000E7E48 4B FC 83 79 */ bl setDoStatusContinuation__9daAlink_cFUc /* 800EAF0C 000E7E4C C0 3D 33 9C */ lfs f1, 0x339c(r29) /* 800EAF10 000E7E50 C0 02 92 C0 */ lfs f0, lbl_80452CC0-_SDA2_BASE_(r2) /* 800EAF14 000E7E54 FC 01 00 40 */ fcmpo cr0, f1, f0 diff --git a/include/d/d_a/d_a_alink/asm/func_800EB208.s b/include/d/d_a/d_a_alink/asm/func_800EB208.s index 1b8916e89a9..50e9242fb05 100644 --- a/include/d/d_a/d_a_alink/asm/func_800EB208.s +++ b/include/d/d_a/d_a_alink/asm/func_800EB208.s @@ -25,7 +25,7 @@ /* 800EB268 000E81A8 4B FF F6 C5 */ bl daAlink_c_NS_setSumouPunchStatus /* 800EB26C 000E81AC 7F E3 FB 78 */ mr r3, r31 /* 800EB270 000E81B0 38 80 00 15 */ li r4, 0x15 -/* 800EB274 000E81B4 4B FC 7F F5 */ bl daAlink_c_NS_setDoStatusEmphasys +/* 800EB274 000E81B4 4B FC 7F F5 */ bl setDoStatusEmphasys__9daAlink_cFUc /* 800EB278 000E81B8 38 00 00 05 */ li r0, 5 /* 800EB27C 000E81BC 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 800EB280 000E81C0 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l diff --git a/include/d/d_a/d_a_alink/asm/func_800EB2BC.s b/include/d/d_a/d_a_alink/asm/func_800EB2BC.s index 3666054d1c0..1ad6d209969 100644 --- a/include/d/d_a/d_a_alink/asm/func_800EB2BC.s +++ b/include/d/d_a/d_a_alink/asm/func_800EB2BC.s @@ -80,7 +80,7 @@ lbl_800EB3DC: /* 800EB3E0 000E8320 4B FF F5 4D */ bl daAlink_c_NS_setSumouPunchStatus /* 800EB3E4 000E8324 7F E3 FB 78 */ mr r3, r31 /* 800EB3E8 000E8328 38 80 00 15 */ li r4, 0x15 -/* 800EB3EC 000E832C 4B FC 7E 7D */ bl daAlink_c_NS_setDoStatusEmphasys +/* 800EB3EC 000E832C 4B FC 7E 7D */ bl setDoStatusEmphasys__9daAlink_cFUc /* 800EB3F0 000E8330 38 00 00 05 */ li r0, 5 /* 800EB3F4 000E8334 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 800EB3F8 000E8338 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l @@ -97,7 +97,7 @@ lbl_800EB3DC: /* 800EB424 000E8364 A8 1F 2F E2 */ lha r0, 0x2fe2(r31) /* 800EB428 000E8368 7C 03 00 50 */ subf r0, r3, r0 /* 800EB42C 000E836C 7C 03 07 34 */ extsh r3, r0 -/* 800EB430 000E8370 48 27 9C A1 */ bl func_803650D0 +/* 800EB430 000E8370 48 27 9C A1 */ bl abs /* 800EB434 000E8374 2C 03 40 00 */ cmpwi r3, 0x4000 /* 800EB438 000E8378 40 81 00 44 */ ble lbl_800EB47C /* 800EB43C 000E837C A8 7F 04 DE */ lha r3, 0x4de(r31) diff --git a/include/d/d_a/d_a_alink/asm/func_800EB624.s b/include/d/d_a/d_a_alink/asm/func_800EB624.s index 7f57b41654b..010bb20f4f5 100644 --- a/include/d/d_a/d_a_alink/asm/func_800EB624.s +++ b/include/d/d_a/d_a_alink/asm/func_800EB624.s @@ -217,7 +217,7 @@ lbl_800EB920: /* 800EB924 000E8864 41 82 00 24 */ beq lbl_800EB948 /* 800EB928 000E8868 7F 63 DB 78 */ mr r3, r27 /* 800EB92C 000E886C 38 80 00 15 */ li r4, 0x15 -/* 800EB930 000E8870 4B FC 79 39 */ bl daAlink_c_NS_setDoStatusEmphasys +/* 800EB930 000E8870 4B FC 79 39 */ bl setDoStatusEmphasys__9daAlink_cFUc /* 800EB934 000E8874 38 00 00 15 */ li r0, 0x15 /* 800EB938 000E8878 B0 1B 30 0E */ sth r0, 0x300e(r27) /* 800EB93C 000E887C 38 00 00 04 */ li r0, 4 diff --git a/include/d/d_a/d_a_alink/asm/func_800EBCE0.s b/include/d/d_a/d_a_alink/asm/func_800EBCE0.s index 2327f487fd8..d9c231a95db 100644 --- a/include/d/d_a/d_a_alink/asm/func_800EBCE0.s +++ b/include/d/d_a/d_a_alink/asm/func_800EBCE0.s @@ -159,7 +159,7 @@ lbl_800EBF20: /* 800EBF28 000E8E68 40 82 00 14 */ bne lbl_800EBF3C /* 800EBF2C 000E8E6C 7F E3 FB 78 */ mr r3, r31 /* 800EBF30 000E8E70 38 80 00 15 */ li r4, 0x15 -/* 800EBF34 000E8E74 4B FC 73 35 */ bl daAlink_c_NS_setDoStatusEmphasys +/* 800EBF34 000E8E74 4B FC 73 35 */ bl setDoStatusEmphasys__9daAlink_cFUc /* 800EBF38 000E8E78 48 00 00 14 */ b lbl_800EBF4C lbl_800EBF3C: /* 800EBF3C 000E8E7C 2C 00 00 44 */ cmpwi r0, 0x44 diff --git a/include/d/d_a/d_a_alink/asm/func_800EC87C.s b/include/d/d_a/d_a_alink/asm/func_800EC87C.s index d0644704b3b..c481fd6f7d2 100644 --- a/include/d/d_a/d_a_alink/asm/func_800EC87C.s +++ b/include/d/d_a/d_a_alink/asm/func_800EC87C.s @@ -14,7 +14,7 @@ /* 800EC8B0 000E97F0 2C 00 00 EE */ cmpwi r0, 0xee /* 800EC8B4 000E97F4 40 82 00 1C */ bne lbl_800EC8D0 /* 800EC8B8 000E97F8 7F E3 FB 78 */ mr r3, r31 -/* 800EC8BC 000E97FC 48 27 88 15 */ bl func_803650D0 +/* 800EC8BC 000E97FC 48 27 88 15 */ bl abs /* 800EC8C0 000E9800 2C 03 68 00 */ cmpwi r3, 0x6800 /* 800EC8C4 000E9804 40 81 00 0C */ ble lbl_800EC8D0 /* 800EC8C8 000E9808 38 60 00 01 */ li r3, 1 diff --git a/include/d/d_a/d_a_alink/asm/func_800EDB48.s b/include/d/d_a/d_a_alink/asm/func_800EDB48.s index bb75f4be6c9..6cb6fe6597c 100644 --- a/include/d/d_a/d_a_alink/asm/func_800EDB48.s +++ b/include/d/d_a/d_a_alink/asm/func_800EDB48.s @@ -25,15 +25,15 @@ lbl_800EDB88: /* 800EDBA4 000EAAE4 41 82 00 14 */ beq lbl_800EDBB8 /* 800EDBA8 000EAAE8 7F 83 E3 78 */ mr r3, r28 /* 800EDBAC 000EAAEC 38 80 00 0B */ li r4, 0xb -/* 800EDBB0 000EAAF0 4B FC 56 71 */ bl daAlink_c_NS_setRStatus +/* 800EDBB0 000EAAF0 4B FC 56 71 */ bl setRStatus__9daAlink_cFUc /* 800EDBB4 000EAAF4 48 00 00 10 */ b lbl_800EDBC4 lbl_800EDBB8: /* 800EDBB8 000EAAF8 7F 83 E3 78 */ mr r3, r28 /* 800EDBBC 000EAAFC 38 80 00 3E */ li r4, 0x3e -/* 800EDBC0 000EAB00 4B FC 56 61 */ bl daAlink_c_NS_setRStatus +/* 800EDBC0 000EAB00 4B FC 56 61 */ bl setRStatus__9daAlink_cFUc lbl_800EDBC4: /* 800EDBC4 000EAB04 7F 83 E3 78 */ mr r3, r28 -/* 800EDBC8 000EAB08 4B FC 4A 9D */ bl daAlink_c_NS_spActionButton +/* 800EDBC8 000EAB08 4B FC 4A 9D */ bl spActionButton__9daAlink_cFv /* 800EDBCC 000EAB0C 2C 03 00 00 */ cmpwi r3, 0 /* 800EDBD0 000EAB10 41 82 00 24 */ beq lbl_800EDBF4 /* 800EDBD4 000EAB14 7F 83 E3 78 */ mr r3, r28 diff --git a/include/d/d_a/d_a_alink/asm/func_800EDEEC.s b/include/d/d_a/d_a_alink/asm/func_800EDEEC.s index a2d4040dc9c..759a86afc2e 100644 --- a/include/d/d_a/d_a_alink/asm/func_800EDEEC.s +++ b/include/d/d_a/d_a_alink/asm/func_800EDEEC.s @@ -97,7 +97,7 @@ lbl_800EE04C: /* 800EE058 000EAF98 2C 03 00 00 */ cmpwi r3, 0 /* 800EE05C 000EAF9C 41 82 00 40 */ beq lbl_800EE09C /* 800EE060 000EAFA0 7F A3 EB 78 */ mr r3, r29 -/* 800EE064 000EAFA4 4B FC 46 01 */ bl daAlink_c_NS_spActionButton +/* 800EE064 000EAFA4 4B FC 46 01 */ bl spActionButton__9daAlink_cFv /* 800EE068 000EAFA8 2C 03 00 00 */ cmpwi r3, 0 /* 800EE06C 000EAFAC 41 82 00 30 */ beq lbl_800EE09C /* 800EE070 000EAFB0 7F A3 EB 78 */ mr r3, r29 @@ -171,7 +171,7 @@ lbl_800EE158: /* 800EE170 000EB0B0 41 82 01 54 */ beq lbl_800EE2C4 /* 800EE174 000EB0B4 7F A3 EB 78 */ mr r3, r29 /* 800EE178 000EB0B8 38 80 00 28 */ li r4, 0x28 -/* 800EE17C 000EB0BC 4B FC 50 D5 */ bl daAlink_c_NS_setDoStatus +/* 800EE17C 000EB0BC 4B FC 50 D5 */ bl setDoStatus__9daAlink_cFUc /* 800EE180 000EB0C0 88 1D 2F 8D */ lbz r0, 0x2f8d(r29) /* 800EE184 000EB0C4 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b /* 800EE188 000EB0C8 41 82 01 3C */ beq lbl_800EE2C4 @@ -201,7 +201,7 @@ lbl_800EE1DC: /* 800EE1E4 000EB124 41 82 00 E0 */ beq lbl_800EE2C4 /* 800EE1E8 000EB128 7F A3 EB 78 */ mr r3, r29 /* 800EE1EC 000EB12C 38 80 00 09 */ li r4, 9 -/* 800EE1F0 000EB130 4B FC 50 61 */ bl daAlink_c_NS_setDoStatus +/* 800EE1F0 000EB130 4B FC 50 61 */ bl setDoStatus__9daAlink_cFUc /* 800EE1F4 000EB134 88 1D 2F 8D */ lbz r0, 0x2f8d(r29) /* 800EE1F8 000EB138 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b /* 800EE1FC 000EB13C 41 82 00 C8 */ beq lbl_800EE2C4 @@ -405,7 +405,7 @@ lbl_800EE4BC: /* 800EE4D4 000EB414 2C 03 00 4E */ cmpwi r3, 0x4e /* 800EE4D8 000EB418 41 82 00 38 */ beq lbl_800EE510 /* 800EE4DC 000EB41C 7F A3 EB 78 */ mr r3, r29 -/* 800EE4E0 000EB420 4B FC 41 85 */ bl daAlink_c_NS_spActionButton +/* 800EE4E0 000EB420 4B FC 41 85 */ bl spActionButton__9daAlink_cFv /* 800EE4E4 000EB424 2C 03 00 00 */ cmpwi r3, 0 /* 800EE4E8 000EB428 41 82 00 34 */ beq lbl_800EE51C /* 800EE4EC 000EB42C 7F A3 EB 78 */ mr r3, r29 diff --git a/include/d/d_a/d_a_alink/asm/func_800EE64C.s b/include/d/d_a/d_a_alink/asm/func_800EE64C.s index 1fd1ba1f0af..8f048302166 100644 --- a/include/d/d_a/d_a_alink/asm/func_800EE64C.s +++ b/include/d/d_a/d_a_alink/asm/func_800EE64C.s @@ -65,7 +65,7 @@ lbl_800EE720: /* 800EE740 000EB680 41 82 00 24 */ beq lbl_800EE764 /* 800EE744 000EB684 7F C3 F3 78 */ mr r3, r30 /* 800EE748 000EB688 38 80 00 09 */ li r4, 9 -/* 800EE74C 000EB68C 4B FC 4B 05 */ bl daAlink_c_NS_setDoStatus +/* 800EE74C 000EB68C 4B FC 4B 05 */ bl setDoStatus__9daAlink_cFUc /* 800EE750 000EB690 88 1E 2F 8D */ lbz r0, 0x2f8d(r30) /* 800EE754 000EB694 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b /* 800EE758 000EB698 41 82 00 0C */ beq lbl_800EE764 diff --git a/include/d/d_a/d_a_alink/asm/func_800EF6B0.s b/include/d/d_a/d_a_alink/asm/func_800EF6B0.s index db599b94518..56db28e4403 100644 --- a/include/d/d_a/d_a_alink/asm/func_800EF6B0.s +++ b/include/d/d_a/d_a_alink/asm/func_800EF6B0.s @@ -31,12 +31,12 @@ lbl_800EF70C: /* 800EF724 000EC664 40 82 00 14 */ bne lbl_800EF738 /* 800EF728 000EC668 7F C3 F3 78 */ mr r3, r30 /* 800EF72C 000EC66C 38 80 00 32 */ li r4, 0x32 -/* 800EF730 000EC670 4B FC 3B 21 */ bl daAlink_c_NS_setDoStatus +/* 800EF730 000EC670 4B FC 3B 21 */ bl setDoStatus__9daAlink_cFUc /* 800EF734 000EC674 48 00 01 34 */ b lbl_800EF868 lbl_800EF738: /* 800EF738 000EC678 7F C3 F3 78 */ mr r3, r30 /* 800EF73C 000EC67C 38 80 00 8C */ li r4, 0x8c -/* 800EF740 000EC680 4B FC 3B 11 */ bl daAlink_c_NS_setDoStatus +/* 800EF740 000EC680 4B FC 3B 11 */ bl setDoStatus__9daAlink_cFUc /* 800EF744 000EC684 48 00 01 24 */ b lbl_800EF868 lbl_800EF748: /* 800EF748 000EC688 7F C3 F3 78 */ mr r3, r30 @@ -84,12 +84,12 @@ lbl_800EF7D4: /* 800EF7E8 000EC728 40 82 00 14 */ bne lbl_800EF7FC /* 800EF7EC 000EC72C 7F C3 F3 78 */ mr r3, r30 /* 800EF7F0 000EC730 38 80 00 32 */ li r4, 0x32 -/* 800EF7F4 000EC734 4B FC 3A 5D */ bl daAlink_c_NS_setDoStatus +/* 800EF7F4 000EC734 4B FC 3A 5D */ bl setDoStatus__9daAlink_cFUc /* 800EF7F8 000EC738 48 00 00 70 */ b lbl_800EF868 lbl_800EF7FC: /* 800EF7FC 000EC73C 7F C3 F3 78 */ mr r3, r30 /* 800EF800 000EC740 38 80 00 8C */ li r4, 0x8c -/* 800EF804 000EC744 4B FC 3A 4D */ bl daAlink_c_NS_setDoStatus +/* 800EF804 000EC744 4B FC 3A 4D */ bl setDoStatus__9daAlink_cFUc /* 800EF808 000EC748 48 00 00 60 */ b lbl_800EF868 lbl_800EF80C: /* 800EF80C 000EC74C 7F C3 F3 78 */ mr r3, r30 @@ -110,12 +110,12 @@ lbl_800EF80C: /* 800EF848 000EC788 41 82 00 14 */ beq lbl_800EF85C /* 800EF84C 000EC78C 7F C3 F3 78 */ mr r3, r30 /* 800EF850 000EC790 38 80 00 32 */ li r4, 0x32 -/* 800EF854 000EC794 4B FC 39 FD */ bl daAlink_c_NS_setDoStatus +/* 800EF854 000EC794 4B FC 39 FD */ bl setDoStatus__9daAlink_cFUc /* 800EF858 000EC798 48 00 00 10 */ b lbl_800EF868 lbl_800EF85C: /* 800EF85C 000EC79C 7F C3 F3 78 */ mr r3, r30 /* 800EF860 000EC7A0 38 80 00 04 */ li r4, 4 -/* 800EF864 000EC7A4 4B FC 39 ED */ bl daAlink_c_NS_setDoStatus +/* 800EF864 000EC7A4 4B FC 39 ED */ bl setDoStatus__9daAlink_cFUc lbl_800EF868: /* 800EF868 000EC7A8 7F E3 FB 78 */ mr r3, r31 /* 800EF86C 000EC7AC 39 61 00 20 */ addi r11, r1, 0x20 diff --git a/include/d/d_a/d_a_alink/asm/func_800F0AA4.s b/include/d/d_a/d_a_alink/asm/func_800F0AA4.s index 909bfc33ca4..632cca26fb3 100644 --- a/include/d/d_a/d_a_alink/asm/func_800F0AA4.s +++ b/include/d/d_a/d_a_alink/asm/func_800F0AA4.s @@ -70,7 +70,7 @@ lbl_800F0B70: /* 800F0BA0 000EDAE0 A8 1D 04 E6 */ lha r0, 0x4e6(r29) /* 800F0BA4 000EDAE4 7C 00 18 50 */ subf r0, r0, r3 /* 800F0BA8 000EDAE8 7C 03 07 34 */ extsh r3, r0 -/* 800F0BAC 000EDAEC 48 27 45 25 */ bl func_803650D0 +/* 800F0BAC 000EDAEC 48 27 45 25 */ bl abs /* 800F0BB0 000EDAF0 7C 7E 1B 78 */ mr r30, r3 /* 800F0BB4 000EDAF4 C0 5D 04 D8 */ lfs f2, 0x4d8(r29) /* 800F0BB8 000EDAF8 C0 1D 04 D0 */ lfs f0, 0x4d0(r29) @@ -95,7 +95,7 @@ lbl_800F0B70: /* 800F0C04 000EDB44 40 80 00 14 */ bge lbl_800F0C18 /* 800F0C08 000EDB48 7F E3 FB 78 */ mr r3, r31 /* 800F0C0C 000EDB4C 38 80 00 2E */ li r4, 0x2e -/* 800F0C10 000EDB50 4B FC 26 89 */ bl daAlink_c_NS_setBStatus +/* 800F0C10 000EDB50 4B FC 26 89 */ bl setBStatus__9daAlink_cFUc /* 800F0C14 000EDB54 48 00 00 3C */ b lbl_800F0C50 lbl_800F0C18: /* 800F0C18 000EDB58 80 1F 05 88 */ lwz r0, 0x588(r31) @@ -111,7 +111,7 @@ lbl_800F0C18: /* 800F0C40 000EDB80 98 03 5E 4B */ stb r0, 0x5e4b(r3) /* 800F0C44 000EDB84 7F E3 FB 78 */ mr r3, r31 /* 800F0C48 000EDB88 38 80 00 2E */ li r4, 0x2e -/* 800F0C4C 000EDB8C 4B FC 26 4D */ bl daAlink_c_NS_setBStatus +/* 800F0C4C 000EDB8C 4B FC 26 4D */ bl setBStatus__9daAlink_cFUc lbl_800F0C50: /* 800F0C50 000EDB90 38 60 00 01 */ li r3, 1 lbl_800F0C54: diff --git a/include/d/d_a/d_a_alink/asm/func_800F0CE4.s b/include/d/d_a/d_a_alink/asm/func_800F0CE4.s index df846a761da..a102a63b351 100644 --- a/include/d/d_a/d_a_alink/asm/func_800F0CE4.s +++ b/include/d/d_a/d_a_alink/asm/func_800F0CE4.s @@ -109,15 +109,15 @@ lbl_800F0E3C: /* 800F0E74 000EDDB4 41 82 00 14 */ beq lbl_800F0E88 /* 800F0E78 000EDDB8 7F C3 F3 78 */ mr r3, r30 /* 800F0E7C 000EDDBC 38 80 00 0B */ li r4, 0xb -/* 800F0E80 000EDDC0 4B FC 23 A1 */ bl daAlink_c_NS_setRStatus +/* 800F0E80 000EDDC0 4B FC 23 A1 */ bl setRStatus__9daAlink_cFUc /* 800F0E84 000EDDC4 48 00 00 10 */ b lbl_800F0E94 lbl_800F0E88: /* 800F0E88 000EDDC8 7F C3 F3 78 */ mr r3, r30 /* 800F0E8C 000EDDCC 38 80 00 3E */ li r4, 0x3e -/* 800F0E90 000EDDD0 4B FC 23 91 */ bl daAlink_c_NS_setRStatus +/* 800F0E90 000EDDD0 4B FC 23 91 */ bl setRStatus__9daAlink_cFUc lbl_800F0E94: /* 800F0E94 000EDDD4 7F C3 F3 78 */ mr r3, r30 -/* 800F0E98 000EDDD8 4B FC 17 CD */ bl daAlink_c_NS_spActionButton +/* 800F0E98 000EDDD8 4B FC 17 CD */ bl spActionButton__9daAlink_cFv /* 800F0E9C 000EDDDC 2C 03 00 00 */ cmpwi r3, 0 /* 800F0EA0 000EDDE0 41 82 00 24 */ beq lbl_800F0EC4 /* 800F0EA4 000EDDE4 7F C3 F3 78 */ mr r3, r30 @@ -204,7 +204,7 @@ lbl_800F0F5C: /* 800F0FC8 000EDF08 48 00 00 80 */ b lbl_800F1048 lbl_800F0FCC: /* 800F0FCC 000EDF0C 7F C3 F3 78 */ mr r3, r30 -/* 800F0FD0 000EDF10 4B FC 16 95 */ bl daAlink_c_NS_spActionButton +/* 800F0FD0 000EDF10 4B FC 16 95 */ bl spActionButton__9daAlink_cFv /* 800F0FD4 000EDF14 2C 03 00 00 */ cmpwi r3, 0 /* 800F0FD8 000EDF18 41 82 00 64 */ beq lbl_800F103C /* 800F0FDC 000EDF1C 80 1E 05 78 */ lwz r0, 0x578(r30) @@ -212,7 +212,7 @@ lbl_800F0FCC: /* 800F0FE4 000EDF24 40 82 00 58 */ bne lbl_800F103C /* 800F0FE8 000EDF28 7F C3 F3 78 */ mr r3, r30 /* 800F0FEC 000EDF2C 38 80 00 32 */ li r4, 0x32 -/* 800F0FF0 000EDF30 4B FC 22 61 */ bl daAlink_c_NS_setDoStatus +/* 800F0FF0 000EDF30 4B FC 22 61 */ bl setDoStatus__9daAlink_cFUc /* 800F0FF4 000EDF34 88 1E 2F 8D */ lbz r0, 0x2f8d(r30) /* 800F0FF8 000EDF38 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b /* 800F0FFC 000EDF3C 41 82 00 40 */ beq lbl_800F103C diff --git a/include/d/d_a/d_a_alink/asm/func_800F1688.s b/include/d/d_a/d_a_alink/asm/func_800F1688.s index 42e5d6369c0..d118e6b9258 100644 --- a/include/d/d_a/d_a_alink/asm/func_800F1688.s +++ b/include/d/d_a/d_a_alink/asm/func_800F1688.s @@ -51,7 +51,7 @@ lbl_800F1724: /* 800F1744 000EE684 54 00 06 73 */ rlwinm. r0, r0, 0, 0x19, 0x19 /* 800F1748 000EE688 40 82 00 14 */ bne lbl_800F175C /* 800F174C 000EE68C 7F E3 FB 78 */ mr r3, r31 -/* 800F1750 000EE690 4B FC 0F 15 */ bl daAlink_c_NS_spActionButton +/* 800F1750 000EE690 4B FC 0F 15 */ bl spActionButton__9daAlink_cFv /* 800F1754 000EE694 2C 03 00 00 */ cmpwi r3, 0 /* 800F1758 000EE698 41 82 00 8C */ beq lbl_800F17E4 lbl_800F175C: @@ -76,12 +76,12 @@ lbl_800F178C: /* 800F179C 000EE6DC 41 82 00 14 */ beq lbl_800F17B0 /* 800F17A0 000EE6E0 7F E3 FB 78 */ mr r3, r31 /* 800F17A4 000EE6E4 38 80 00 0B */ li r4, 0xb -/* 800F17A8 000EE6E8 4B FC 1A 79 */ bl daAlink_c_NS_setRStatus +/* 800F17A8 000EE6E8 4B FC 1A 79 */ bl setRStatus__9daAlink_cFUc /* 800F17AC 000EE6EC 48 00 00 10 */ b lbl_800F17BC lbl_800F17B0: /* 800F17B0 000EE6F0 7F E3 FB 78 */ mr r3, r31 /* 800F17B4 000EE6F4 38 80 00 3E */ li r4, 0x3e -/* 800F17B8 000EE6F8 4B FC 1A 69 */ bl daAlink_c_NS_setRStatus +/* 800F17B8 000EE6F8 4B FC 1A 69 */ bl setRStatus__9daAlink_cFUc lbl_800F17BC: /* 800F17BC 000EE6FC 7F E3 FB 78 */ mr r3, r31 /* 800F17C0 000EE700 38 80 00 02 */ li r4, 2 @@ -105,12 +105,12 @@ lbl_800F17E4: /* 800F1804 000EE744 41 82 00 14 */ beq lbl_800F1818 /* 800F1808 000EE748 7F E3 FB 78 */ mr r3, r31 /* 800F180C 000EE74C 38 80 00 0B */ li r4, 0xb -/* 800F1810 000EE750 4B FC 1A 11 */ bl daAlink_c_NS_setRStatus +/* 800F1810 000EE750 4B FC 1A 11 */ bl setRStatus__9daAlink_cFUc /* 800F1814 000EE754 48 00 00 10 */ b lbl_800F1824 lbl_800F1818: /* 800F1818 000EE758 7F E3 FB 78 */ mr r3, r31 /* 800F181C 000EE75C 38 80 00 3E */ li r4, 0x3e -/* 800F1820 000EE760 4B FC 1A 01 */ bl daAlink_c_NS_setRStatus +/* 800F1820 000EE760 4B FC 1A 01 */ bl setRStatus__9daAlink_cFUc lbl_800F1824: /* 800F1824 000EE764 7F E3 FB 78 */ mr r3, r31 /* 800F1828 000EE768 38 80 00 01 */ li r4, 1 diff --git a/include/d/d_a/d_a_alink/asm/func_800F194C.s b/include/d/d_a/d_a_alink/asm/func_800F194C.s index 85bc64f02d8..5418473c910 100644 --- a/include/d/d_a/d_a_alink/asm/func_800F194C.s +++ b/include/d/d_a/d_a_alink/asm/func_800F194C.s @@ -68,7 +68,7 @@ lbl_800F1A44: lbl_800F1A48: /* 800F1A48 000EE988 7F C3 F3 78 */ mr r3, r30 /* 800F1A4C 000EE98C 38 80 00 08 */ li r4, 8 -/* 800F1A50 000EE990 4B FC 0B 99 */ bl daAlink_c_NS_itemButtonCheck +/* 800F1A50 000EE990 4B FC 0B 99 */ bl itemButtonCheck__9daAlink_cFUc /* 800F1A54 000EE994 2C 03 00 00 */ cmpwi r3, 0 /* 800F1A58 000EE998 40 82 00 38 */ bne lbl_800F1A90 /* 800F1A5C 000EE99C A8 1E 30 0C */ lha r0, 0x300c(r30) diff --git a/include/d/d_a/d_a_alink/asm/func_800F21B4.s b/include/d/d_a/d_a_alink/asm/func_800F21B4.s index 0112b504de0..087e1abea92 100644 --- a/include/d/d_a/d_a_alink/asm/func_800F21B4.s +++ b/include/d/d_a/d_a_alink/asm/func_800F21B4.s @@ -4,7 +4,7 @@ /* 800F21C0 000EF100 93 E1 00 0C */ stw r31, 0xc(r1) /* 800F21C4 000EF104 7C 7F 1B 78 */ mr r31, r3 /* 800F21C8 000EF108 38 80 00 12 */ li r4, 0x12 -/* 800F21CC 000EF10C 4B FC 10 85 */ bl daAlink_c_NS_setDoStatus +/* 800F21CC 000EF10C 4B FC 10 85 */ bl setDoStatus__9daAlink_cFUc /* 800F21D0 000EF110 7F E3 FB 78 */ mr r3, r31 /* 800F21D4 000EF114 4B FF B8 51 */ bl daAlink_c_NS_setSyncRidePos /* 800F21D8 000EF118 2C 03 00 00 */ cmpwi r3, 0 diff --git a/include/d/d_a/d_a_alink/asm/func_800F22A8.s b/include/d/d_a/d_a_alink/asm/func_800F22A8.s index 5f87dd009c1..6ef404aa05e 100644 --- a/include/d/d_a/d_a_alink/asm/func_800F22A8.s +++ b/include/d/d_a/d_a_alink/asm/func_800F22A8.s @@ -4,7 +4,7 @@ /* 800F22B4 000EF1F4 93 E1 00 0C */ stw r31, 0xc(r1) /* 800F22B8 000EF1F8 7C 7F 1B 78 */ mr r31, r3 /* 800F22BC 000EF1FC 38 80 00 12 */ li r4, 0x12 -/* 800F22C0 000EF200 4B FC 0F 91 */ bl daAlink_c_NS_setDoStatus +/* 800F22C0 000EF200 4B FC 0F 91 */ bl setDoStatus__9daAlink_cFUc /* 800F22C4 000EF204 7F E3 FB 78 */ mr r3, r31 /* 800F22C8 000EF208 4B FF B7 5D */ bl daAlink_c_NS_setSyncRidePos /* 800F22CC 000EF20C 2C 03 00 00 */ cmpwi r3, 0 diff --git a/include/d/d_a/d_a_alink/asm/func_800F24C8.s b/include/d/d_a/d_a_alink/asm/func_800F24C8.s index 552ea67d9a5..f8fec73e74f 100644 --- a/include/d/d_a/d_a_alink/asm/func_800F24C8.s +++ b/include/d/d_a/d_a_alink/asm/func_800F24C8.s @@ -25,7 +25,7 @@ lbl_800F2518: /* 800F251C 000EF45C 41 82 00 10 */ beq lbl_800F252C /* 800F2520 000EF460 7F E3 FB 78 */ mr r3, r31 /* 800F2524 000EF464 38 80 00 12 */ li r4, 0x12 -/* 800F2528 000EF468 4B FC 0D 29 */ bl daAlink_c_NS_setDoStatus +/* 800F2528 000EF468 4B FC 0D 29 */ bl setDoStatus__9daAlink_cFUc lbl_800F252C: /* 800F252C 000EF46C 7F E3 FB 78 */ mr r3, r31 /* 800F2530 000EF470 4B FF B4 F5 */ bl daAlink_c_NS_setSyncRidePos diff --git a/include/d/d_a/d_a_alink/asm/func_800F2628.s b/include/d/d_a/d_a_alink/asm/func_800F2628.s index c3c751d93bd..e101c991bfd 100644 --- a/include/d/d_a/d_a_alink/asm/func_800F2628.s +++ b/include/d/d_a/d_a_alink/asm/func_800F2628.s @@ -25,7 +25,7 @@ lbl_800F2678: /* 800F267C 000EF5BC 41 82 00 10 */ beq lbl_800F268C /* 800F2680 000EF5C0 7F E3 FB 78 */ mr r3, r31 /* 800F2684 000EF5C4 38 80 00 12 */ li r4, 0x12 -/* 800F2688 000EF5C8 4B FC 0B C9 */ bl daAlink_c_NS_setDoStatus +/* 800F2688 000EF5C8 4B FC 0B C9 */ bl setDoStatus__9daAlink_cFUc lbl_800F268C: /* 800F268C 000EF5CC 7F E3 FB 78 */ mr r3, r31 /* 800F2690 000EF5D0 4B FF B3 95 */ bl daAlink_c_NS_setSyncRidePos diff --git a/include/d/d_a/d_a_alink/asm/func_800F2770.s b/include/d/d_a/d_a_alink/asm/func_800F2770.s index b3f3d995b61..d4441d74c00 100644 --- a/include/d/d_a/d_a_alink/asm/func_800F2770.s +++ b/include/d/d_a/d_a_alink/asm/func_800F2770.s @@ -8,7 +8,7 @@ /* 800F278C 000EF6CC 41 82 00 10 */ beq lbl_800F279C /* 800F2790 000EF6D0 7F E3 FB 78 */ mr r3, r31 /* 800F2794 000EF6D4 38 80 00 12 */ li r4, 0x12 -/* 800F2798 000EF6D8 4B FC 0A B9 */ bl daAlink_c_NS_setDoStatus +/* 800F2798 000EF6D8 4B FC 0A B9 */ bl setDoStatus__9daAlink_cFUc lbl_800F279C: /* 800F279C 000EF6DC 7F E3 FB 78 */ mr r3, r31 /* 800F27A0 000EF6E0 4B FF B2 85 */ bl daAlink_c_NS_setSyncRidePos diff --git a/include/d/d_a/d_a_alink/asm/func_800F2898.s b/include/d/d_a/d_a_alink/asm/func_800F2898.s index 47830bf51dd..2e1e1c1826d 100644 --- a/include/d/d_a/d_a_alink/asm/func_800F2898.s +++ b/include/d/d_a/d_a_alink/asm/func_800F2898.s @@ -10,7 +10,7 @@ /* 800F28BC 000EF7FC 41 82 00 10 */ beq lbl_800F28CC /* 800F28C0 000EF800 7F E3 FB 78 */ mr r3, r31 /* 800F28C4 000EF804 38 80 00 12 */ li r4, 0x12 -/* 800F28C8 000EF808 4B FC 09 89 */ bl daAlink_c_NS_setDoStatus +/* 800F28C8 000EF808 4B FC 09 89 */ bl setDoStatus__9daAlink_cFUc lbl_800F28CC: /* 800F28CC 000EF80C 7F E3 FB 78 */ mr r3, r31 /* 800F28D0 000EF810 4B FF B1 55 */ bl daAlink_c_NS_setSyncRidePos diff --git a/include/d/d_a/d_a_alink/asm/func_800F2F98.s b/include/d/d_a/d_a_alink/asm/func_800F2F98.s index 157d35d0065..86568315be0 100644 --- a/include/d/d_a/d_a_alink/asm/func_800F2F98.s +++ b/include/d/d_a/d_a_alink/asm/func_800F2F98.s @@ -228,7 +228,7 @@ lbl_800F31E8: /* 800F32F4 000F0234 D0 1E 34 78 */ stfs f0, 0x3478(r30) lbl_800F32F8: /* 800F32F8 000F0238 A8 7E 30 12 */ lha r3, 0x3012(r30) -/* 800F32FC 000F023C 48 27 1D D5 */ bl func_803650D0 +/* 800F32FC 000F023C 48 27 1D D5 */ bl abs /* 800F3300 000F0240 2C 03 27 10 */ cmpwi r3, 0x2710 /* 800F3304 000F0244 40 80 00 10 */ bge lbl_800F3314 /* 800F3308 000F0248 A8 1E 30 0C */ lha r0, 0x300c(r30) @@ -271,7 +271,7 @@ lbl_800F3378: /* 800F338C 000F02CC 41 82 00 78 */ beq lbl_800F3404 /* 800F3390 000F02D0 7F C3 F3 78 */ mr r3, r30 /* 800F3394 000F02D4 38 80 00 6F */ li r4, 0x6f -/* 800F3398 000F02D8 4B FB FE B9 */ bl daAlink_c_NS_setDoStatus +/* 800F3398 000F02D8 4B FB FE B9 */ bl setDoStatus__9daAlink_cFUc /* 800F339C 000F02DC 88 1E 2F 8D */ lbz r0, 0x2f8d(r30) /* 800F33A0 000F02E0 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b /* 800F33A4 000F02E4 41 82 00 58 */ beq lbl_800F33FC diff --git a/include/d/d_a/d_a_alink/asm/func_800F4140.s b/include/d/d_a/d_a_alink/asm/func_800F4140.s index 3621735f13b..b8f96367efc 100644 --- a/include/d/d_a/d_a_alink/asm/func_800F4140.s +++ b/include/d/d_a/d_a_alink/asm/func_800F4140.s @@ -55,7 +55,7 @@ lbl_800F4200: /* 800F4204 000F1144 FC 40 E0 90 */ fmr f2, f28 /* 800F4208 000F1148 48 17 34 6D */ bl cM_atan2s__Fff /* 800F420C 000F114C 7C 63 07 34 */ extsh r3, r3 -/* 800F4210 000F1150 48 27 0E C1 */ bl func_803650D0 +/* 800F4210 000F1150 48 27 0E C1 */ bl abs /* 800F4214 000F1154 C0 02 92 A4 */ lfs f0, lbl_80452CA4-_SDA2_BASE_(r2) /* 800F4218 000F1158 FC 1F 00 40 */ fcmpo cr0, f31, f0 /* 800F421C 000F115C 40 81 01 90 */ ble lbl_800F43AC diff --git a/include/d/d_a/d_a_alink/asm/func_800F542C.s b/include/d/d_a/d_a_alink/asm/func_800F542C.s index bc8ea274a66..afd8b5babb8 100644 --- a/include/d/d_a/d_a_alink/asm/func_800F542C.s +++ b/include/d/d_a/d_a_alink/asm/func_800F542C.s @@ -46,7 +46,7 @@ lbl_800F546C: /* 800F54D8 000F2418 40 82 00 10 */ bne lbl_800F54E8 /* 800F54DC 000F241C 7F E3 FB 78 */ mr r3, r31 /* 800F54E0 000F2420 38 80 00 16 */ li r4, 0x16 -/* 800F54E4 000F2424 4B FB DD 85 */ bl daAlink_c_NS_setDoStatusEmphasys +/* 800F54E4 000F2424 4B FB DD 85 */ bl setDoStatusEmphasys__9daAlink_cFUc lbl_800F54E8: /* 800F54E8 000F2428 7F E3 FB 78 */ mr r3, r31 /* 800F54EC 000F242C 38 80 00 00 */ li r4, 0 diff --git a/include/d/d_a/d_a_alink/asm/func_800F571C.s b/include/d/d_a/d_a_alink/asm/func_800F571C.s index 87d632fcc46..b6e1756f9a1 100644 --- a/include/d/d_a/d_a_alink/asm/func_800F571C.s +++ b/include/d/d_a/d_a_alink/asm/func_800F571C.s @@ -20,7 +20,7 @@ /* 800F5768 000F26A8 7C 03 00 50 */ subf r0, r3, r0 /* 800F576C 000F26AC 7C 1F 07 34 */ extsh r31, r0 /* 800F5770 000F26B0 7F E3 FB 78 */ mr r3, r31 -/* 800F5774 000F26B4 48 26 F9 5D */ bl func_803650D0 +/* 800F5774 000F26B4 48 26 F9 5D */ bl abs /* 800F5778 000F26B8 38 00 68 00 */ li r0, 0x6800 /* 800F577C 000F26BC 7C 65 FE 70 */ srawi r5, r3, 0x1f /* 800F5780 000F26C0 54 04 0F FE */ srwi r4, r0, 0x1f diff --git a/include/d/d_a/d_a_alink/asm/func_800F5A1C.s b/include/d/d_a/d_a_alink/asm/func_800F5A1C.s index 0929ce6d6d9..90f5ea8013b 100644 --- a/include/d/d_a/d_a_alink/asm/func_800F5A1C.s +++ b/include/d/d_a/d_a_alink/asm/func_800F5A1C.s @@ -136,14 +136,14 @@ lbl_800F5BF8: /* 800F5C00 000F2B40 28 00 00 2D */ cmplwi r0, 0x2d /* 800F5C04 000F2B44 40 82 00 40 */ bne lbl_800F5C44 /* 800F5C08 000F2B48 7C 83 07 34 */ extsh r3, r4 -/* 800F5C0C 000F2B4C 48 26 F4 C5 */ bl func_803650D0 +/* 800F5C0C 000F2B4C 48 26 F4 C5 */ bl abs /* 800F5C10 000F2B50 2C 03 60 00 */ cmpwi r3, 0x6000 /* 800F5C14 000F2B54 40 80 00 50 */ bge lbl_800F5C64 /* 800F5C18 000F2B58 2C 03 20 00 */ cmpwi r3, 0x2000 /* 800F5C1C 000F2B5C 40 81 00 48 */ ble lbl_800F5C64 /* 800F5C20 000F2B60 38 03 C0 00 */ addi r0, r3, -16384 /* 800F5C24 000F2B64 54 03 08 3C */ slwi r3, r0, 1 -/* 800F5C28 000F2B68 48 26 F4 A9 */ bl func_803650D0 +/* 800F5C28 000F2B68 48 26 F4 A9 */ bl abs /* 800F5C2C 000F2B6C 54 60 04 38 */ rlwinm r0, r3, 0, 0x10, 0x1c /* 800F5C30 000F2B70 3C 60 80 44 */ lis r3, lbl_80439A20@ha /* 800F5C34 000F2B74 38 63 9A 20 */ addi r3, r3, lbl_80439A20@l diff --git a/include/d/d_a/d_a_alink/asm/func_800F6D64.s b/include/d/d_a/d_a_alink/asm/func_800F6D64.s index 9ec56c1cda9..1df32ab64e0 100644 --- a/include/d/d_a/d_a_alink/asm/func_800F6D64.s +++ b/include/d/d_a/d_a_alink/asm/func_800F6D64.s @@ -5,7 +5,7 @@ /* 800F6D74 000F3CB4 48 26 B4 69 */ bl _savegpr_29 /* 800F6D78 000F3CB8 7C 7D 1B 78 */ mr r29, r3 /* 800F6D7C 000F3CBC 38 80 00 12 */ li r4, 0x12 -/* 800F6D80 000F3CC0 4B FB C4 D1 */ bl daAlink_c_NS_setDoStatus +/* 800F6D80 000F3CC0 4B FB C4 D1 */ bl setDoStatus__9daAlink_cFUc /* 800F6D84 000F3CC4 AB FD 04 E6 */ lha r31, 0x4e6(r29) /* 800F6D88 000F3CC8 AB DD 04 DE */ lha r30, 0x4de(r29) /* 800F6D8C 000F3CCC 7F A3 EB 78 */ mr r3, r29 diff --git a/include/d/d_a/d_a_alink/asm/func_800F6E44.s b/include/d/d_a/d_a_alink/asm/func_800F6E44.s index 09aafa54a4a..4da1ba30760 100644 --- a/include/d/d_a/d_a_alink/asm/func_800F6E44.s +++ b/include/d/d_a/d_a_alink/asm/func_800F6E44.s @@ -4,7 +4,7 @@ /* 800F6E50 000F3D90 93 E1 00 0C */ stw r31, 0xc(r1) /* 800F6E54 000F3D94 7C 7F 1B 78 */ mr r31, r3 /* 800F6E58 000F3D98 38 80 00 12 */ li r4, 0x12 -/* 800F6E5C 000F3D9C 4B FB C3 F5 */ bl daAlink_c_NS_setDoStatus +/* 800F6E5C 000F3D9C 4B FB C3 F5 */ bl setDoStatus__9daAlink_cFUc /* 800F6E60 000F3DA0 7F E3 FB 78 */ mr r3, r31 /* 800F6E64 000F3DA4 4B FF D9 75 */ bl daAlink_c_NS_canoeCommon /* 800F6E68 000F3DA8 2C 03 00 00 */ cmpwi r3, 0 diff --git a/include/d/d_a/d_a_alink/asm/func_800F7010.s b/include/d/d_a/d_a_alink/asm/func_800F7010.s index e8cbd470ca2..458c9e15956 100644 --- a/include/d/d_a/d_a_alink/asm/func_800F7010.s +++ b/include/d/d_a/d_a_alink/asm/func_800F7010.s @@ -26,7 +26,7 @@ lbl_800F7064: /* 800F7068 000F3FA8 41 82 00 10 */ beq lbl_800F7078 /* 800F706C 000F3FAC 7F A3 EB 78 */ mr r3, r29 /* 800F7070 000F3FB0 38 80 00 12 */ li r4, 0x12 -/* 800F7074 000F3FB4 4B FB C1 DD */ bl daAlink_c_NS_setDoStatus +/* 800F7074 000F3FB4 4B FB C1 DD */ bl setDoStatus__9daAlink_cFUc lbl_800F7078: /* 800F7078 000F3FB8 AB FD 04 E6 */ lha r31, 0x4e6(r29) /* 800F707C 000F3FBC AB DD 04 DE */ lha r30, 0x4de(r29) diff --git a/include/d/d_a/d_a_alink/asm/func_800F715C.s b/include/d/d_a/d_a_alink/asm/func_800F715C.s index 980135bc7b2..b557f2191a7 100644 --- a/include/d/d_a/d_a_alink/asm/func_800F715C.s +++ b/include/d/d_a/d_a_alink/asm/func_800F715C.s @@ -25,7 +25,7 @@ lbl_800F71AC: /* 800F71B0 000F40F0 41 82 00 10 */ beq lbl_800F71C0 /* 800F71B4 000F40F4 7F E3 FB 78 */ mr r3, r31 /* 800F71B8 000F40F8 38 80 00 12 */ li r4, 0x12 -/* 800F71BC 000F40FC 4B FB C0 95 */ bl daAlink_c_NS_setDoStatus +/* 800F71BC 000F40FC 4B FB C0 95 */ bl setDoStatus__9daAlink_cFUc lbl_800F71C0: /* 800F71C0 000F4100 7F E3 FB 78 */ mr r3, r31 /* 800F71C4 000F4104 4B FF D6 15 */ bl daAlink_c_NS_canoeCommon diff --git a/include/d/d_a/d_a_alink/asm/func_800F7274.s b/include/d/d_a/d_a_alink/asm/func_800F7274.s index 089412cf3ab..3bd79a87066 100644 --- a/include/d/d_a/d_a_alink/asm/func_800F7274.s +++ b/include/d/d_a/d_a_alink/asm/func_800F7274.s @@ -9,7 +9,7 @@ /* 800F7294 000F41D4 41 82 00 10 */ beq lbl_800F72A4 /* 800F7298 000F41D8 7F A3 EB 78 */ mr r3, r29 /* 800F729C 000F41DC 38 80 00 12 */ li r4, 0x12 -/* 800F72A0 000F41E0 4B FB BF B1 */ bl daAlink_c_NS_setDoStatus +/* 800F72A0 000F41E0 4B FB BF B1 */ bl setDoStatus__9daAlink_cFUc lbl_800F72A4: /* 800F72A4 000F41E4 AB FD 04 E6 */ lha r31, 0x4e6(r29) /* 800F72A8 000F41E8 AB DD 04 DE */ lha r30, 0x4de(r29) diff --git a/include/d/d_a/d_a_alink/asm/func_800F7388.s b/include/d/d_a/d_a_alink/asm/func_800F7388.s index 4a6916621ee..ebf4193310b 100644 --- a/include/d/d_a/d_a_alink/asm/func_800F7388.s +++ b/include/d/d_a/d_a_alink/asm/func_800F7388.s @@ -10,7 +10,7 @@ /* 800F73AC 000F42EC 41 82 00 10 */ beq lbl_800F73BC /* 800F73B0 000F42F0 7F E3 FB 78 */ mr r3, r31 /* 800F73B4 000F42F4 38 80 00 12 */ li r4, 0x12 -/* 800F73B8 000F42F8 4B FB BE 99 */ bl daAlink_c_NS_setDoStatus +/* 800F73B8 000F42F8 4B FB BE 99 */ bl setDoStatus__9daAlink_cFUc lbl_800F73BC: /* 800F73BC 000F42FC 7F E3 FB 78 */ mr r3, r31 /* 800F73C0 000F4300 4B FF D4 19 */ bl daAlink_c_NS_canoeCommon diff --git a/include/d/d_a/d_a_alink/asm/func_800F81C0.s b/include/d/d_a/d_a_alink/asm/func_800F81C0.s index eee19f1b01b..8e4a0b91f1f 100644 --- a/include/d/d_a/d_a_alink/asm/func_800F81C0.s +++ b/include/d/d_a/d_a_alink/asm/func_800F81C0.s @@ -88,7 +88,7 @@ lbl_800F82C4: /* 800F830C 000F524C 38 03 80 00 */ addi r0, r3, -32768 /* 800F8310 000F5250 7C 1E 00 50 */ subf r0, r30, r0 /* 800F8314 000F5254 7C 03 07 34 */ extsh r3, r0 -/* 800F8318 000F5258 48 26 CD B9 */ bl func_803650D0 +/* 800F8318 000F5258 48 26 CD B9 */ bl abs /* 800F831C 000F525C 2C 03 30 00 */ cmpwi r3, 0x3000 /* 800F8320 000F5260 40 81 00 18 */ ble lbl_800F8338 /* 800F8324 000F5264 3C 60 80 3A */ lis r3, lbl_803A37C0@ha diff --git a/include/d/d_a/d_a_alink/asm/func_800F9FFC.s b/include/d/d_a/d_a_alink/asm/func_800F9FFC.s index ed71a9dff7e..d7a52bd6bab 100644 --- a/include/d/d_a/d_a_alink/asm/func_800F9FFC.s +++ b/include/d/d_a/d_a_alink/asm/func_800F9FFC.s @@ -7,7 +7,7 @@ /* 800FA014 000F6F54 7C 04 00 50 */ subf r0, r4, r0 /* 800FA018 000F6F58 7C 1F 07 34 */ extsh r31, r0 /* 800FA01C 000F6F5C 7F E3 FB 78 */ mr r3, r31 -/* 800FA020 000F6F60 48 26 B0 B1 */ bl func_803650D0 +/* 800FA020 000F6F60 48 26 B0 B1 */ bl abs /* 800FA024 000F6F64 2C 03 78 E4 */ cmpwi r3, 0x78e4 /* 800FA028 000F6F68 40 81 00 0C */ ble lbl_800FA034 /* 800FA02C 000F6F6C 38 60 00 01 */ li r3, 1 diff --git a/include/d/d_a/d_a_alink/asm/func_800FA78C.s b/include/d/d_a/d_a_alink/asm/func_800FA78C.s index bef3f5c8e05..fc0b5958a5a 100644 --- a/include/d/d_a/d_a_alink/asm/func_800FA78C.s +++ b/include/d/d_a/d_a_alink/asm/func_800FA78C.s @@ -33,7 +33,7 @@ lbl_800FA7E8: lbl_800FA808: /* 800FA808 000F7748 7F E3 FB 78 */ mr r3, r31 /* 800FA80C 000F774C 38 80 00 33 */ li r4, 0x33 -/* 800FA810 000F7750 4B FB 8A 41 */ bl daAlink_c_NS_setDoStatus +/* 800FA810 000F7750 4B FB 8A 41 */ bl setDoStatus__9daAlink_cFUc /* 800FA814 000F7754 88 1F 2F 8D */ lbz r0, 0x2f8d(r31) /* 800FA818 000F7758 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b /* 800FA81C 000F775C 41 82 00 28 */ beq lbl_800FA844 diff --git a/include/d/d_a/d_a_alink/asm/func_800FB790.s b/include/d/d_a/d_a_alink/asm/func_800FB790.s index b53fc85ec66..28aaf32f174 100644 --- a/include/d/d_a/d_a_alink/asm/func_800FB790.s +++ b/include/d/d_a/d_a_alink/asm/func_800FB790.s @@ -212,7 +212,7 @@ lbl_800FBAA4: /* 800FBAB4 000F89F4 7C 00 1A 14 */ add r0, r0, r3 /* 800FBAB8 000F89F8 B0 1E 30 8C */ sth r0, 0x308c(r30) /* 800FBABC 000F89FC B0 9E 04 E6 */ sth r4, 0x4e6(r30) -/* 800FBAC0 000F8A00 48 26 96 11 */ bl func_803650D0 +/* 800FBAC0 000F8A00 48 26 96 11 */ bl abs /* 800FBAC4 000F8A04 2C 03 00 64 */ cmpwi r3, 0x64 /* 800FBAC8 000F8A08 40 80 00 10 */ bge lbl_800FBAD8 /* 800FBACC 000F8A0C 38 00 00 00 */ li r0, 0 diff --git a/include/d/d_a/d_a_alink/asm/func_800FC870.s b/include/d/d_a/d_a_alink/asm/func_800FC870.s index 175c2dda7aa..b0aa5309b62 100644 --- a/include/d/d_a/d_a_alink/asm/func_800FC870.s +++ b/include/d/d_a/d_a_alink/asm/func_800FC870.s @@ -62,7 +62,7 @@ lbl_800FC93C: /* 800FC950 000F9890 41 82 00 10 */ beq lbl_800FC960 /* 800FC954 000F9894 7F A3 EB 78 */ mr r3, r29 /* 800FC958 000F9898 38 80 00 30 */ li r4, 0x30 -/* 800FC95C 000F989C 4B FB 69 0D */ bl daAlink_c_NS_setDoStatusEmphasys +/* 800FC95C 000F989C 4B FB 69 0D */ bl setDoStatusEmphasys__9daAlink_cFUc lbl_800FC960: /* 800FC960 000F98A0 3B DD 1F D0 */ addi r30, r29, 0x1fd0 /* 800FC964 000F98A4 7F C3 F3 78 */ mr r3, r30 @@ -142,7 +142,7 @@ lbl_800FCA44: /* 800FCA6C 000F99AC 40 82 00 14 */ bne lbl_800FCA80 lbl_800FCA70: /* 800FCA70 000F99B0 7F A3 EB 78 */ mr r3, r29 -/* 800FCA74 000F99B4 4B FB 5C 45 */ bl daAlink_c_NS_swordSwingTrigger +/* 800FCA74 000F99B4 4B FB 5C 45 */ bl swordSwingTrigger__9daAlink_cFv /* 800FCA78 000F99B8 2C 03 00 00 */ cmpwi r3, 0 /* 800FCA7C 000F99BC 41 82 01 94 */ beq lbl_800FCC10 lbl_800FCA80: diff --git a/include/d/d_a/d_a_alink/asm/func_800FD2AC.s b/include/d/d_a/d_a_alink/asm/func_800FD2AC.s index fefb5aa04e9..48449785030 100644 --- a/include/d/d_a/d_a_alink/asm/func_800FD2AC.s +++ b/include/d/d_a/d_a_alink/asm/func_800FD2AC.s @@ -38,7 +38,7 @@ lbl_800FD328: /* 800FD33C 000FA27C A8 1C 2F E2 */ lha r0, 0x2fe2(r28) /* 800FD340 000FA280 7C 03 00 50 */ subf r0, r3, r0 /* 800FD344 000FA284 7C 03 07 34 */ extsh r3, r0 -/* 800FD348 000FA288 48 26 7D 89 */ bl func_803650D0 +/* 800FD348 000FA288 48 26 7D 89 */ bl abs /* 800FD34C 000FA28C 7C 7F 1B 78 */ mr r31, r3 /* 800FD350 000FA290 2C 1F 30 00 */ cmpwi r31, 0x3000 /* 800FD354 000FA294 40 81 00 14 */ ble lbl_800FD368 diff --git a/include/d/d_a/d_a_alink/asm/func_800FD5E4.s b/include/d/d_a/d_a_alink/asm/func_800FD5E4.s index a37637bff5d..7a6dd2981be 100644 --- a/include/d/d_a/d_a_alink/asm/func_800FD5E4.s +++ b/include/d/d_a/d_a_alink/asm/func_800FD5E4.s @@ -4,7 +4,7 @@ /* 800FD5F0 000FA530 93 E1 00 0C */ stw r31, 0xc(r1) /* 800FD5F4 000FA534 7C 7F 1B 78 */ mr r31, r3 /* 800FD5F8 000FA538 38 80 00 33 */ li r4, 0x33 -/* 800FD5FC 000FA53C 4B FB 5C 55 */ bl daAlink_c_NS_setDoStatus +/* 800FD5FC 000FA53C 4B FB 5C 55 */ bl setDoStatus__9daAlink_cFUc /* 800FD600 000FA540 88 1F 2F 8D */ lbz r0, 0x2f8d(r31) /* 800FD604 000FA544 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b /* 800FD608 000FA548 41 82 00 28 */ beq lbl_800FD630 diff --git a/include/d/d_a/d_a_alink/asm/func_800FE3C4.s b/include/d/d_a/d_a_alink/asm/func_800FE3C4.s index 4f368211d18..a49227940d9 100644 --- a/include/d/d_a/d_a_alink/asm/func_800FE3C4.s +++ b/include/d/d_a/d_a_alink/asm/func_800FE3C4.s @@ -7,7 +7,7 @@ /* 800FE3DC 000FB31C 7C 04 00 50 */ subf r0, r4, r0 /* 800FE3E0 000FB320 7C 1F 07 34 */ extsh r31, r0 /* 800FE3E4 000FB324 7F E3 FB 78 */ mr r3, r31 -/* 800FE3E8 000FB328 48 26 6C E9 */ bl func_803650D0 +/* 800FE3E8 000FB328 48 26 6C E9 */ bl abs /* 800FE3EC 000FB32C 2C 03 70 00 */ cmpwi r3, 0x7000 /* 800FE3F0 000FB330 40 81 00 0C */ ble lbl_800FE3FC /* 800FE3F4 000FB334 38 60 00 01 */ li r3, 1 diff --git a/include/d/d_a/d_a_alink/asm/func_80100770.s b/include/d/d_a/d_a_alink/asm/func_80100770.s index a543c7ce696..ba2914760f9 100644 --- a/include/d/d_a/d_a_alink/asm/func_80100770.s +++ b/include/d/d_a/d_a_alink/asm/func_80100770.s @@ -29,7 +29,7 @@ lbl_801007E0: /* 801007E0 000FD720 7F C3 F3 78 */ mr r3, r30 /* 801007E4 000FD724 38 80 00 33 */ li r4, 0x33 -/* 801007E8 000FD728 4B FB 2A 69 */ bl daAlink_c_NS_setDoStatus +/* 801007E8 000FD728 4B FB 2A 69 */ bl setDoStatus__9daAlink_cFUc /* 801007EC 000FD72C 88 1E 2F 8D */ lbz r0, 0x2f8d(r30) /* 801007F0 000FD730 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b /* 801007F4 000FD734 41 82 00 20 */ beq lbl_80100814 diff --git a/include/d/d_a/d_a_alink/asm/func_801017AC.s b/include/d/d_a/d_a_alink/asm/func_801017AC.s index c60ff0a7c6e..d39175e7dd2 100644 --- a/include/d/d_a/d_a_alink/asm/func_801017AC.s +++ b/include/d/d_a/d_a_alink/asm/func_801017AC.s @@ -34,7 +34,7 @@ lbl_80101820: /* 80101828 000FE768 41 82 00 34 */ beq lbl_8010185C /* 8010182C 000FE76C 7F E3 FB 78 */ mr r3, r31 /* 80101830 000FE770 38 80 00 33 */ li r4, 0x33 -/* 80101834 000FE774 4B FB 1A 1D */ bl daAlink_c_NS_setDoStatus +/* 80101834 000FE774 4B FB 1A 1D */ bl setDoStatus__9daAlink_cFUc /* 80101838 000FE778 88 1F 2F 8D */ lbz r0, 0x2f8d(r31) /* 8010183C 000FE77C 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b /* 80101840 000FE780 41 82 00 1C */ beq lbl_8010185C diff --git a/include/d/d_a/d_a_alink/asm/func_801023E4.s b/include/d/d_a/d_a_alink/asm/func_801023E4.s index 564a3e7c888..2f1cc9f8567 100644 --- a/include/d/d_a/d_a_alink/asm/func_801023E4.s +++ b/include/d/d_a/d_a_alink/asm/func_801023E4.s @@ -51,12 +51,12 @@ lbl_8010247C: /* 801024A0 000FF3E0 40 82 00 84 */ bne lbl_80102524 /* 801024A4 000FF3E4 7F E3 FB 78 */ mr r3, r31 /* 801024A8 000FF3E8 38 80 00 41 */ li r4, 0x41 -/* 801024AC 000FF3EC 4B FB 0D A5 */ bl daAlink_c_NS_setDoStatus +/* 801024AC 000FF3EC 4B FB 0D A5 */ bl setDoStatus__9daAlink_cFUc /* 801024B0 000FF3F0 48 00 00 74 */ b lbl_80102524 lbl_801024B4: /* 801024B4 000FF3F4 7F E3 FB 78 */ mr r3, r31 /* 801024B8 000FF3F8 38 80 00 4C */ li r4, 0x4c -/* 801024BC 000FF3FC 4B FB 0D 95 */ bl daAlink_c_NS_setDoStatus +/* 801024BC 000FF3FC 4B FB 0D 95 */ bl setDoStatus__9daAlink_cFUc /* 801024C0 000FF400 48 00 00 64 */ b lbl_80102524 lbl_801024C4: /* 801024C4 000FF404 80 1F 05 70 */ lwz r0, 0x570(r31) @@ -64,7 +64,7 @@ lbl_801024C4: /* 801024CC 000FF40C 40 82 00 14 */ bne lbl_801024E0 /* 801024D0 000FF410 7F E3 FB 78 */ mr r3, r31 /* 801024D4 000FF414 38 80 00 97 */ li r4, 0x97 -/* 801024D8 000FF418 4B FB 0D 79 */ bl daAlink_c_NS_setDoStatus +/* 801024D8 000FF418 4B FB 0D 79 */ bl setDoStatus__9daAlink_cFUc /* 801024DC 000FF41C 48 00 00 48 */ b lbl_80102524 lbl_801024E0: /* 801024E0 000FF420 A0 1F 2F E8 */ lhz r0, 0x2fe8(r31) @@ -83,7 +83,7 @@ lbl_801024E0: /* 80102514 000FF454 40 82 00 10 */ bne lbl_80102524 /* 80102518 000FF458 7F E3 FB 78 */ mr r3, r31 /* 8010251C 000FF45C 38 80 00 09 */ li r4, 9 -/* 80102520 000FF460 4B FB 0D 31 */ bl daAlink_c_NS_setDoStatus +/* 80102520 000FF460 4B FB 0D 31 */ bl setDoStatus__9daAlink_cFUc lbl_80102524: /* 80102524 000FF464 A0 1F 2F E8 */ lhz r0, 0x2fe8(r31) /* 80102528 000FF468 28 00 00 7E */ cmplwi r0, 0x7e diff --git a/include/d/d_a/d_a_alink/asm/func_801029C8.s b/include/d/d_a/d_a_alink/asm/func_801029C8.s index c2ad4bce32e..224798c1034 100644 --- a/include/d/d_a/d_a_alink/asm/func_801029C8.s +++ b/include/d/d_a/d_a_alink/asm/func_801029C8.s @@ -54,7 +54,7 @@ lbl_80102A58: /* 80102A88 000FF9C8 40 82 00 28 */ bne lbl_80102AB0 /* 80102A8C 000FF9CC 7F E3 FB 78 */ mr r3, r31 /* 80102A90 000FF9D0 38 80 00 17 */ li r4, 0x17 -/* 80102A94 000FF9D4 4B FB 07 BD */ bl daAlink_c_NS_setDoStatus +/* 80102A94 000FF9D4 4B FB 07 BD */ bl setDoStatus__9daAlink_cFUc /* 80102A98 000FF9D8 88 1F 2F 8D */ lbz r0, 0x2f8d(r31) /* 80102A9C 000FF9DC 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b /* 80102AA0 000FF9E0 41 82 00 60 */ beq lbl_80102B00 diff --git a/include/d/d_a/d_a_alink/asm/func_80103698.s b/include/d/d_a/d_a_alink/asm/func_80103698.s index 74a16427eba..8a15ceb8e00 100644 --- a/include/d/d_a/d_a_alink/asm/func_80103698.s +++ b/include/d/d_a/d_a_alink/asm/func_80103698.s @@ -368,7 +368,7 @@ lbl_80103BAC: /* 80103BB0 00100AF0 40 82 00 10 */ bne lbl_80103BC0 /* 80103BB4 00100AF4 7F 43 D3 78 */ mr r3, r26 /* 80103BB8 00100AF8 38 80 00 04 */ li r4, 4 -/* 80103BBC 00100AFC 4B FA F6 95 */ bl daAlink_c_NS_setDoStatus +/* 80103BBC 00100AFC 4B FA F6 95 */ bl setDoStatus__9daAlink_cFUc lbl_80103BC0: /* 80103BC0 00100B00 80 1A 31 98 */ lwz r0, 0x3198(r26) /* 80103BC4 00100B04 7C 1D 00 00 */ cmpw r29, r0 diff --git a/include/d/d_a/d_a_alink/asm/func_801044B4.s b/include/d/d_a/d_a_alink/asm/func_801044B4.s index d814e7a52f2..0011ed78a27 100644 --- a/include/d/d_a/d_a_alink/asm/func_801044B4.s +++ b/include/d/d_a/d_a_alink/asm/func_801044B4.s @@ -45,7 +45,7 @@ lbl_8010453C: /* 80104558 00101498 41 82 00 10 */ beq lbl_80104568 /* 8010455C 0010149C 7F E3 FB 78 */ mr r3, r31 /* 80104560 001014A0 38 80 00 04 */ li r4, 4 -/* 80104564 001014A4 4B FA EC ED */ bl daAlink_c_NS_setDoStatus +/* 80104564 001014A4 4B FA EC ED */ bl setDoStatus__9daAlink_cFUc lbl_80104568: /* 80104568 001014A8 7F E3 FB 78 */ mr r3, r31 /* 8010456C 001014AC 4B FF EA ED */ bl daAlink_c_NS_checkSwimUpAction diff --git a/include/d/d_a/d_a_alink/asm/func_80104AA0.s b/include/d/d_a/d_a_alink/asm/func_80104AA0.s index d10ab0fec14..6aee80dcfe9 100644 --- a/include/d/d_a/d_a_alink/asm/func_80104AA0.s +++ b/include/d/d_a/d_a_alink/asm/func_80104AA0.s @@ -9,7 +9,7 @@ /* 80104AC0 00101A00 2C 00 00 00 */ cmpwi r0, 0 /* 80104AC4 00101A04 40 82 00 10 */ bne lbl_80104AD4 /* 80104AC8 00101A08 38 80 00 4C */ li r4, 0x4c -/* 80104ACC 00101A0C 4B FA E7 85 */ bl daAlink_c_NS_setDoStatus +/* 80104ACC 00101A0C 4B FA E7 85 */ bl setDoStatus__9daAlink_cFUc /* 80104AD0 00101A10 48 00 00 3C */ b lbl_80104B0C lbl_80104AD4: /* 80104AD4 00101A14 80 1F 05 70 */ lwz r0, 0x570(r31) diff --git a/include/d/d_a/d_a_alink/asm/func_80104D7C.s b/include/d/d_a/d_a_alink/asm/func_80104D7C.s index b1744726d61..3a4d39d334d 100644 --- a/include/d/d_a/d_a_alink/asm/func_80104D7C.s +++ b/include/d/d_a/d_a_alink/asm/func_80104D7C.s @@ -14,7 +14,7 @@ /* 80104DB0 00101CF0 41 82 00 10 */ beq lbl_80104DC0 /* 80104DB4 00101CF4 7F E3 FB 78 */ mr r3, r31 /* 80104DB8 00101CF8 38 80 00 12 */ li r4, 0x12 -/* 80104DBC 00101CFC 4B FA E4 95 */ bl daAlink_c_NS_setDoStatus +/* 80104DBC 00101CFC 4B FA E4 95 */ bl setDoStatus__9daAlink_cFUc lbl_80104DC0: /* 80104DC0 00101D00 7F E3 FB 78 */ mr r3, r31 /* 80104DC4 00101D04 38 80 00 00 */ li r4, 0 diff --git a/include/d/d_a/d_a_alink/asm/func_80104FC4.s b/include/d/d_a/d_a_alink/asm/func_80104FC4.s index bb05ced31a5..5fb8e532f75 100644 --- a/include/d/d_a/d_a_alink/asm/func_80104FC4.s +++ b/include/d/d_a/d_a_alink/asm/func_80104FC4.s @@ -14,7 +14,7 @@ /* 80104FF8 00101F38 40 82 00 10 */ bne lbl_80105008 /* 80104FFC 00101F3C 7F E3 FB 78 */ mr r3, r31 /* 80105000 00101F40 38 80 00 12 */ li r4, 0x12 -/* 80105004 00101F44 4B FA E2 4D */ bl daAlink_c_NS_setDoStatus +/* 80105004 00101F44 4B FA E2 4D */ bl setDoStatus__9daAlink_cFUc lbl_80105008: /* 80105008 00101F48 A8 1F 30 18 */ lha r0, 0x3018(r31) /* 8010500C 00101F4C 2C 00 00 00 */ cmpwi r0, 0 diff --git a/include/d/d_a/d_a_alink/asm/func_80105B58.s b/include/d/d_a/d_a_alink/asm/func_80105B58.s index d6178558bd0..2857caafb85 100644 --- a/include/d/d_a/d_a_alink/asm/func_80105B58.s +++ b/include/d/d_a/d_a_alink/asm/func_80105B58.s @@ -10,10 +10,10 @@ /* 80105B7C 00102ABC 7C 7B 1B 78 */ mr r27, r3 /* 80105B80 00102AC0 7C 9C 23 78 */ mr r28, r4 /* 80105B84 00102AC4 A8 63 04 E4 */ lha r3, 0x4e4(r3) -/* 80105B88 00102AC8 48 25 F5 49 */ bl func_803650D0 +/* 80105B88 00102AC8 48 25 F5 49 */ bl abs /* 80105B8C 00102ACC 7C 7D 1B 78 */ mr r29, r3 /* 80105B90 00102AD0 A8 7B 04 E8 */ lha r3, 0x4e8(r27) -/* 80105B94 00102AD4 48 25 F5 3D */ bl func_803650D0 +/* 80105B94 00102AD4 48 25 F5 3D */ bl abs /* 80105B98 00102AD8 7C 1D 18 00 */ cmpw r29, r3 /* 80105B9C 00102ADC 40 81 00 08 */ ble lbl_80105BA4 /* 80105BA0 00102AE0 7F A3 EB 78 */ mr r3, r29 @@ -231,7 +231,7 @@ lbl_80105E80: lbl_80105EA0: /* 80105EA0 00102DE0 C3 C2 92 C0 */ lfs f30, lbl_80452CC0-_SDA2_BASE_(r2) /* 80105EA4 00102DE4 A8 7B 2F E0 */ lha r3, 0x2fe0(r27) -/* 80105EA8 00102DE8 48 25 F2 29 */ bl func_803650D0 +/* 80105EA8 00102DE8 48 25 F2 29 */ bl abs /* 80105EAC 00102DEC 7C 7F 1B 78 */ mr r31, r3 /* 80105EB0 00102DF0 C0 5B 33 AC */ lfs f2, 0x33ac(r27) /* 80105EB4 00102DF4 C0 02 92 A4 */ lfs f0, lbl_80452CA4-_SDA2_BASE_(r2) @@ -498,7 +498,7 @@ lbl_80106288: /* 8010628C 001031CC 7C 1E 00 50 */ subf r0, r30, r0 /* 80106290 001031D0 7C 1A 07 34 */ extsh r26, r0 /* 80106294 001031D4 7F 43 D3 78 */ mr r3, r26 -/* 80106298 001031D8 48 25 EE 39 */ bl func_803650D0 +/* 80106298 001031D8 48 25 EE 39 */ bl abs /* 8010629C 001031DC 2C 03 40 00 */ cmpwi r3, 0x4000 /* 801062A0 001031E0 41 81 00 28 */ bgt lbl_801062C8 /* 801062A4 001031E4 C0 22 92 98 */ lfs f1, lbl_80452C98-_SDA2_BASE_(r2) diff --git a/include/d/d_a/d_a_alink/asm/func_80106BCC.s b/include/d/d_a/d_a_alink/asm/func_80106BCC.s index b3482e47127..6191f6caf4c 100644 --- a/include/d/d_a/d_a_alink/asm/func_80106BCC.s +++ b/include/d/d_a/d_a_alink/asm/func_80106BCC.s @@ -34,7 +34,7 @@ lbl_80106C30: /* 80106C48 00103B88 40 82 00 C4 */ bne lbl_80106D0C /* 80106C4C 00103B8C 7F E3 FB 78 */ mr r3, r31 /* 80106C50 00103B90 38 80 00 08 */ li r4, 8 -/* 80106C54 00103B94 4B FA B9 95 */ bl daAlink_c_NS_itemButtonCheck +/* 80106C54 00103B94 4B FA B9 95 */ bl itemButtonCheck__9daAlink_cFUc /* 80106C58 00103B98 2C 03 00 00 */ cmpwi r3, 0 /* 80106C5C 00103B9C 41 82 00 B0 */ beq lbl_80106D0C /* 80106C60 00103BA0 A8 1F 30 0A */ lha r0, 0x300a(r31) @@ -117,7 +117,7 @@ lbl_80106D5C: /* 80106D7C 00103CBC 41 82 00 EC */ beq lbl_80106E68 /* 80106D80 00103CC0 7F E3 FB 78 */ mr r3, r31 /* 80106D84 00103CC4 38 80 00 0A */ li r4, 0xa -/* 80106D88 00103CC8 4B FA C4 C9 */ bl daAlink_c_NS_setDoStatus +/* 80106D88 00103CC8 4B FA C4 C9 */ bl setDoStatus__9daAlink_cFUc /* 80106D8C 00103CCC 88 1F 2F 8E */ lbz r0, 0x2f8e(r31) /* 80106D90 00103CD0 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b /* 80106D94 00103CD4 41 82 00 D4 */ beq lbl_80106E68 @@ -155,7 +155,7 @@ lbl_80106DF4: /* 80106E08 00103D48 40 81 00 10 */ ble lbl_80106E18 /* 80106E0C 00103D4C 7F E3 FB 78 */ mr r3, r31 /* 80106E10 00103D50 38 80 00 19 */ li r4, 0x19 -/* 80106E14 00103D54 4B FA C4 3D */ bl daAlink_c_NS_setDoStatus +/* 80106E14 00103D54 4B FA C4 3D */ bl setDoStatus__9daAlink_cFUc lbl_80106E18: /* 80106E18 00103D58 88 1F 2F 8E */ lbz r0, 0x2f8e(r31) /* 80106E1C 00103D5C 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b diff --git a/include/d/d_a/d_a_alink/asm/func_80106F00.s b/include/d/d_a/d_a_alink/asm/func_80106F00.s index c5db720faec..bdcf5cf55ab 100644 --- a/include/d/d_a/d_a_alink/asm/func_80106F00.s +++ b/include/d/d_a/d_a_alink/asm/func_80106F00.s @@ -35,7 +35,7 @@ lbl_80106F50: /* 80106F80 00103EC0 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80106F84 00103EC4 40 81 00 64 */ ble lbl_80106FE8 /* 80106F88 00103EC8 A8 7E 2F E0 */ lha r3, 0x2fe0(r30) -/* 80106F8C 00103ECC 48 25 E1 45 */ bl func_803650D0 +/* 80106F8C 00103ECC 48 25 E1 45 */ bl abs /* 80106F90 00103ED0 2C 03 20 00 */ cmpwi r3, 0x2000 /* 80106F94 00103ED4 40 80 00 54 */ bge lbl_80106FE8 /* 80106F98 00103ED8 80 1E 31 A0 */ lwz r0, 0x31a0(r30) diff --git a/include/d/d_a/d_a_alink/asm/func_80108F64.s b/include/d/d_a/d_a_alink/asm/func_80108F64.s index dd877cbcc8a..4e319f6ca67 100644 --- a/include/d/d_a/d_a_alink/asm/func_80108F64.s +++ b/include/d/d_a/d_a_alink/asm/func_80108F64.s @@ -40,7 +40,7 @@ lbl_80108FF0: /* 80108FF4 00105F34 41 82 00 14 */ beq lbl_80109008 lbl_80108FF8: /* 80108FF8 00105F38 7F A3 EB 78 */ mr r3, r29 -/* 80108FFC 00105F3C 4B FA 96 09 */ bl daAlink_c_NS_itemButton +/* 80108FFC 00105F3C 4B FA 96 09 */ bl itemButton__9daAlink_cFv /* 80109000 00105F40 2C 03 00 00 */ cmpwi r3, 0 /* 80109004 00105F44 40 82 00 1C */ bne lbl_80109020 lbl_80109008: diff --git a/include/d/d_a/d_a_alink/asm/func_80109284.s b/include/d/d_a/d_a_alink/asm/func_80109284.s index 2fdec88a5a3..3bcc05a3c71 100644 --- a/include/d/d_a/d_a_alink/asm/func_80109284.s +++ b/include/d/d_a/d_a_alink/asm/func_80109284.s @@ -15,7 +15,7 @@ lbl_801092B4: /* 801092B8 001061F8 2C 03 00 01 */ cmpwi r3, 1 /* 801092BC 001061FC 40 82 01 94 */ bne lbl_80109450 /* 801092C0 00106200 7F E3 FB 78 */ mr r3, r31 -/* 801092C4 00106204 4B FA 93 41 */ bl daAlink_c_NS_itemButton +/* 801092C4 00106204 4B FA 93 41 */ bl itemButton__9daAlink_cFv /* 801092C8 00106208 2C 03 00 00 */ cmpwi r3, 0 /* 801092CC 0010620C 40 82 02 C4 */ bne lbl_80109590 /* 801092D0 00106210 A8 1F 30 18 */ lha r0, 0x3018(r31) @@ -162,7 +162,7 @@ lbl_801094CC: /* 801094D4 00106414 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 801094D8 00106418 41 82 00 B8 */ beq lbl_80109590 /* 801094DC 0010641C 7F E3 FB 78 */ mr r3, r31 -/* 801094E0 00106420 4B FA 91 25 */ bl daAlink_c_NS_itemButton +/* 801094E0 00106420 4B FA 91 25 */ bl itemButton__9daAlink_cFv /* 801094E4 00106424 2C 03 00 00 */ cmpwi r3, 0 /* 801094E8 00106428 41 82 00 A8 */ beq lbl_80109590 /* 801094EC 0010642C 7F E3 FB 78 */ mr r3, r31 @@ -176,7 +176,7 @@ lbl_801094F8: /* 80109508 00106448 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8010950C 0010644C 41 82 00 1C */ beq lbl_80109528 /* 80109510 00106450 7F E3 FB 78 */ mr r3, r31 -/* 80109514 00106454 4B FA 91 21 */ bl daAlink_c_NS_itemTrigger +/* 80109514 00106454 4B FA 91 21 */ bl itemTrigger__9daAlink_cFv /* 80109518 00106458 2C 03 00 00 */ cmpwi r3, 0 /* 8010951C 0010645C 41 82 00 0C */ beq lbl_80109528 /* 80109520 00106460 38 00 00 06 */ li r0, 6 diff --git a/include/d/d_a/d_a_alink/asm/func_8010BB48.s b/include/d/d_a/d_a_alink/asm/func_8010BB48.s index 70a4cc75b4a..47546bb70e9 100644 --- a/include/d/d_a/d_a_alink/asm/func_8010BB48.s +++ b/include/d/d_a/d_a_alink/asm/func_8010BB48.s @@ -8,7 +8,7 @@ /* 8010BB64 00108AA4 41 82 00 10 */ beq lbl_8010BB74 /* 8010BB68 00108AA8 7F E3 FB 78 */ mr r3, r31 /* 8010BB6C 00108AAC 38 80 00 12 */ li r4, 0x12 -/* 8010BB70 00108AB0 4B FA 76 E1 */ bl daAlink_c_NS_setDoStatus +/* 8010BB70 00108AB0 4B FA 76 E1 */ bl setDoStatus__9daAlink_cFUc lbl_8010BB74: /* 8010BB74 00108AB4 7F E3 FB 78 */ mr r3, r31 /* 8010BB78 00108AB8 38 80 00 00 */ li r4, 0 diff --git a/include/d/d_a/d_a_alink/asm/func_8010BEF0.s b/include/d/d_a/d_a_alink/asm/func_8010BEF0.s index aa2e7af5293..f027a4185d5 100644 --- a/include/d/d_a/d_a_alink/asm/func_8010BEF0.s +++ b/include/d/d_a/d_a_alink/asm/func_8010BEF0.s @@ -252,7 +252,7 @@ lbl_8010C268: /* 8010C26C 001091AC 2C 00 00 00 */ cmpwi r0, 0 /* 8010C270 001091B0 41 82 00 1C */ beq lbl_8010C28C /* 8010C274 001091B4 7F 23 CB 78 */ mr r3, r25 -/* 8010C278 001091B8 4B FA 63 8D */ bl daAlink_c_NS_itemButton +/* 8010C278 001091B8 4B FA 63 8D */ bl itemButton__9daAlink_cFv /* 8010C27C 001091BC 2C 03 00 00 */ cmpwi r3, 0 /* 8010C280 001091C0 40 82 00 0C */ bne lbl_8010C28C /* 8010C284 001091C4 38 00 00 00 */ li r0, 0 diff --git a/include/d/d_a/d_a_alink/asm/func_8010C9F4.s b/include/d/d_a/d_a_alink/asm/func_8010C9F4.s index 16039e9e5b9..3da1d546d9c 100644 --- a/include/d/d_a/d_a_alink/asm/func_8010C9F4.s +++ b/include/d/d_a/d_a_alink/asm/func_8010C9F4.s @@ -82,7 +82,7 @@ lbl_8010CAFC: lbl_8010CB28: /* 8010CB28 00109A68 7F E3 FB 78 */ mr r3, r31 /* 8010CB2C 00109A6C 38 80 00 01 */ li r4, 1 -/* 8010CB30 00109A70 4B FA 67 39 */ bl daAlink_c_NS_setDoStatusEmphasys +/* 8010CB30 00109A70 4B FA 67 39 */ bl setDoStatusEmphasys__9daAlink_cFUc /* 8010CB34 00109A74 88 1F 2F 8D */ lbz r0, 0x2f8d(r31) /* 8010CB38 00109A78 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b /* 8010CB3C 00109A7C 41 82 00 18 */ beq lbl_8010CB54 @@ -111,7 +111,7 @@ lbl_8010CB8C: /* 8010CB90 00109AD0 2C 00 00 00 */ cmpwi r0, 0 /* 8010CB94 00109AD4 41 82 00 1C */ beq lbl_8010CBB0 /* 8010CB98 00109AD8 7F E3 FB 78 */ mr r3, r31 -/* 8010CB9C 00109ADC 4B FA 5A 69 */ bl daAlink_c_NS_itemButton +/* 8010CB9C 00109ADC 4B FA 5A 69 */ bl itemButton__9daAlink_cFv /* 8010CBA0 00109AE0 2C 03 00 00 */ cmpwi r3, 0 /* 8010CBA4 00109AE4 40 82 00 0C */ bne lbl_8010CBB0 /* 8010CBA8 00109AE8 38 00 00 00 */ li r0, 0 diff --git a/include/d/d_a/d_a_alink/asm/func_8010CD60.s b/include/d/d_a/d_a_alink/asm/func_8010CD60.s index b60f621b87d..d73f69443f9 100644 --- a/include/d/d_a/d_a_alink/asm/func_8010CD60.s +++ b/include/d/d_a/d_a_alink/asm/func_8010CD60.s @@ -9,7 +9,7 @@ /* 8010CD80 00109CC0 41 82 00 10 */ beq lbl_8010CD90 /* 8010CD84 00109CC4 7F E3 FB 78 */ mr r3, r31 /* 8010CD88 00109CC8 38 80 00 12 */ li r4, 0x12 -/* 8010CD8C 00109CCC 4B FA 64 C5 */ bl daAlink_c_NS_setDoStatus +/* 8010CD8C 00109CCC 4B FA 64 C5 */ bl setDoStatus__9daAlink_cFUc lbl_8010CD90: /* 8010CD90 00109CD0 7F E3 FB 78 */ mr r3, r31 /* 8010CD94 00109CD4 4B FF EB D9 */ bl daAlink_c_NS_commonHookshotRoofWait diff --git a/include/d/d_a/d_a_alink/asm/func_8010D034.s b/include/d/d_a/d_a_alink/asm/func_8010D034.s index 99e16285221..eda0f658304 100644 --- a/include/d/d_a/d_a_alink/asm/func_8010D034.s +++ b/include/d/d_a/d_a_alink/asm/func_8010D034.s @@ -24,7 +24,7 @@ lbl_8010D060: lbl_8010D08C: /* 8010D08C 00109FCC 7F C3 F3 78 */ mr r3, r30 /* 8010D090 00109FD0 38 80 00 01 */ li r4, 1 -/* 8010D094 00109FD4 4B FA 61 D5 */ bl daAlink_c_NS_setDoStatusEmphasys +/* 8010D094 00109FD4 4B FA 61 D5 */ bl setDoStatusEmphasys__9daAlink_cFUc /* 8010D098 00109FD8 88 1E 2F 8D */ lbz r0, 0x2f8d(r30) /* 8010D09C 00109FDC 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b /* 8010D0A0 00109FE0 41 82 00 18 */ beq lbl_8010D0B8 diff --git a/include/d/d_a/d_a_alink/asm/func_8010D38C.s b/include/d/d_a/d_a_alink/asm/func_8010D38C.s index 57649300c7a..6af7f338a95 100644 --- a/include/d/d_a/d_a_alink/asm/func_8010D38C.s +++ b/include/d/d_a/d_a_alink/asm/func_8010D38C.s @@ -87,7 +87,7 @@ lbl_8010D4BC: lbl_8010D4D4: /* 8010D4D4 0010A414 7F E3 FB 78 */ mr r3, r31 /* 8010D4D8 0010A418 38 80 00 01 */ li r4, 1 -/* 8010D4DC 0010A41C 4B FA 5D 8D */ bl daAlink_c_NS_setDoStatusEmphasys +/* 8010D4DC 0010A41C 4B FA 5D 8D */ bl setDoStatusEmphasys__9daAlink_cFUc /* 8010D4E0 0010A420 88 1F 2F 8D */ lbz r0, 0x2f8d(r31) /* 8010D4E4 0010A424 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b /* 8010D4E8 0010A428 41 82 00 18 */ beq lbl_8010D500 @@ -113,7 +113,7 @@ lbl_8010D52C: /* 8010D530 0010A470 2C 00 00 00 */ cmpwi r0, 0 /* 8010D534 0010A474 41 82 00 1C */ beq lbl_8010D550 /* 8010D538 0010A478 7F E3 FB 78 */ mr r3, r31 -/* 8010D53C 0010A47C 4B FA 50 C9 */ bl daAlink_c_NS_itemButton +/* 8010D53C 0010A47C 4B FA 50 C9 */ bl itemButton__9daAlink_cFv /* 8010D540 0010A480 2C 03 00 00 */ cmpwi r3, 0 /* 8010D544 0010A484 40 82 00 0C */ bne lbl_8010D550 /* 8010D548 0010A488 38 00 00 00 */ li r0, 0 diff --git a/include/d/d_a/d_a_alink/asm/func_8010D6CC.s b/include/d/d_a/d_a_alink/asm/func_8010D6CC.s index 82e6dfc6313..18469a1f565 100644 --- a/include/d/d_a/d_a_alink/asm/func_8010D6CC.s +++ b/include/d/d_a/d_a_alink/asm/func_8010D6CC.s @@ -9,7 +9,7 @@ /* 8010D6EC 0010A62C 41 82 00 10 */ beq lbl_8010D6FC /* 8010D6F0 0010A630 7F A3 EB 78 */ mr r3, r29 /* 8010D6F4 0010A634 38 80 00 12 */ li r4, 0x12 -/* 8010D6F8 0010A638 4B FA 5B 59 */ bl daAlink_c_NS_setDoStatus +/* 8010D6F8 0010A638 4B FA 5B 59 */ bl setDoStatus__9daAlink_cFUc lbl_8010D6FC: /* 8010D6FC 0010A63C 7F A3 EB 78 */ mr r3, r29 /* 8010D700 0010A640 4B FF E3 6D */ bl daAlink_c_NS_commonHookshotWallWait diff --git a/include/d/d_a/d_a_alink/asm/func_8010DF4C.s b/include/d/d_a/d_a_alink/asm/func_8010DF4C.s index 6aa1631dc2e..28816879b7a 100644 --- a/include/d/d_a/d_a_alink/asm/func_8010DF4C.s +++ b/include/d/d_a/d_a_alink/asm/func_8010DF4C.s @@ -56,7 +56,7 @@ lbl_8010E008: /* 8010E01C 0010AF5C 2C 00 00 00 */ cmpwi r0, 0 /* 8010E020 0010AF60 40 82 00 C8 */ bne lbl_8010E0E8 /* 8010E024 0010AF64 7F C3 F3 78 */ mr r3, r30 -/* 8010E028 0010AF68 4B FA 45 DD */ bl daAlink_c_NS_itemButton +/* 8010E028 0010AF68 4B FA 45 DD */ bl itemButton__9daAlink_cFv /* 8010E02C 0010AF6C 2C 03 00 00 */ cmpwi r3, 0 /* 8010E030 0010AF70 40 82 00 44 */ bne lbl_8010E074 /* 8010E034 0010AF74 38 00 00 01 */ li r0, 1 @@ -114,14 +114,14 @@ lbl_8010E0E8: /* 8010E0F4 0010B034 2C 03 00 00 */ cmpwi r3, 0 /* 8010E0F8 0010B038 40 82 00 1C */ bne lbl_8010E114 /* 8010E0FC 0010B03C 7F C3 F3 78 */ mr r3, r30 -/* 8010E100 0010B040 4B FA 45 B9 */ bl daAlink_c_NS_swordSwingTrigger +/* 8010E100 0010B040 4B FA 45 B9 */ bl swordSwingTrigger__9daAlink_cFv /* 8010E104 0010B044 2C 03 00 00 */ cmpwi r3, 0 /* 8010E108 0010B048 40 82 00 0C */ bne lbl_8010E114 /* 8010E10C 0010B04C 2C 1D 00 02 */ cmpwi r29, 2 /* 8010E110 0010B050 40 82 00 4C */ bne lbl_8010E15C lbl_8010E114: /* 8010E114 0010B054 7F C3 F3 78 */ mr r3, r30 -/* 8010E118 0010B058 4B FA 45 A1 */ bl daAlink_c_NS_swordSwingTrigger +/* 8010E118 0010B058 4B FA 45 A1 */ bl swordSwingTrigger__9daAlink_cFv /* 8010E11C 0010B05C 2C 03 00 00 */ cmpwi r3, 0 /* 8010E120 0010B060 41 82 00 10 */ beq lbl_8010E130 /* 8010E124 0010B064 7F C3 F3 78 */ mr r3, r30 diff --git a/include/d/d_a/d_a_alink/asm/func_80111CA4.s b/include/d/d_a/d_a_alink/asm/func_80111CA4.s index ba75d1dea71..aa6077f632b 100644 --- a/include/d/d_a/d_a_alink/asm/func_80111CA4.s +++ b/include/d/d_a/d_a_alink/asm/func_80111CA4.s @@ -121,7 +121,7 @@ lbl_80111E34: lbl_80111E50: /* 80111E50 0010ED90 7F E3 FB 78 */ mr r3, r31 /* 80111E54 0010ED94 38 80 00 00 */ li r4, 0 -/* 80111E58 0010ED98 4B FA 14 41 */ bl daAlink_c_NS_setBStatus +/* 80111E58 0010ED98 4B FA 14 41 */ bl setBStatus__9daAlink_cFUc /* 80111E5C 0010ED9C 48 00 01 78 */ b lbl_80111FD4 lbl_80111E60: /* 80111E60 0010EDA0 38 7F 20 48 */ addi r3, r31, 0x2048 @@ -130,10 +130,10 @@ lbl_80111E60: /* 80111E6C 0010EDAC 41 82 01 5C */ beq lbl_80111FC8 /* 80111E70 0010EDB0 7F E3 FB 78 */ mr r3, r31 /* 80111E74 0010EDB4 38 80 00 12 */ li r4, 0x12 -/* 80111E78 0010EDB8 4B FA 14 21 */ bl daAlink_c_NS_setBStatus +/* 80111E78 0010EDB8 4B FA 14 21 */ bl setBStatus__9daAlink_cFUc /* 80111E7C 0010EDBC 7F E3 FB 78 */ mr r3, r31 /* 80111E80 0010EDC0 38 80 00 2C */ li r4, 0x2c -/* 80111E84 0010EDC4 4B FA 13 CD */ bl daAlink_c_NS_setDoStatus +/* 80111E84 0010EDC4 4B FA 13 CD */ bl setDoStatus__9daAlink_cFUc /* 80111E88 0010EDC8 A8 1F 30 0C */ lha r0, 0x300c(r31) /* 80111E8C 0010EDCC 2C 00 00 03 */ cmpwi r0, 3 /* 80111E90 0010EDD0 41 82 00 10 */ beq lbl_80111EA0 @@ -205,7 +205,7 @@ lbl_80111F48: lbl_80111F90: /* 80111F90 0010EED0 7F E3 FB 78 */ mr r3, r31 /* 80111F94 0010EED4 38 80 00 08 */ li r4, 8 -/* 80111F98 0010EED8 4B FA 06 35 */ bl daAlink_c_NS_itemTriggerCheck +/* 80111F98 0010EED8 4B FA 06 35 */ bl itemTriggerCheck__9daAlink_cFUc /* 80111F9C 0010EEDC 2C 03 00 00 */ cmpwi r3, 0 /* 80111FA0 0010EEE0 41 82 00 34 */ beq lbl_80111FD4 /* 80111FA4 0010EEE4 7F E3 FB 78 */ mr r3, r31 @@ -220,7 +220,7 @@ lbl_80111F90: lbl_80111FC8: /* 80111FC8 0010EF08 7F E3 FB 78 */ mr r3, r31 /* 80111FCC 0010EF0C 38 80 00 00 */ li r4, 0 -/* 80111FD0 0010EF10 4B FA 12 C9 */ bl daAlink_c_NS_setBStatus +/* 80111FD0 0010EF10 4B FA 12 C9 */ bl setBStatus__9daAlink_cFUc lbl_80111FD4: /* 80111FD4 0010EF14 38 60 00 01 */ li r3, 1 lbl_80111FD8: diff --git a/include/d/d_a/d_a_alink/asm/func_80111FF0.s b/include/d/d_a/d_a_alink/asm/func_80111FF0.s index b04c3af3c82..92139ef7d2f 100644 --- a/include/d/d_a/d_a_alink/asm/func_80111FF0.s +++ b/include/d/d_a/d_a_alink/asm/func_80111FF0.s @@ -44,7 +44,7 @@ lbl_80112070: lbl_8011208C: /* 8011208C 0010EFCC 7F C3 F3 78 */ mr r3, r30 /* 80112090 0010EFD0 38 80 00 00 */ li r4, 0 -/* 80112094 0010EFD4 4B FA 12 05 */ bl daAlink_c_NS_setBStatus +/* 80112094 0010EFD4 4B FA 12 05 */ bl setBStatus__9daAlink_cFUc /* 80112098 0010EFD8 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 8011209C 0010EFDC 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 801120A0 0010EFE0 80 03 5F 1C */ lwz r0, 0x5f1c(r3) diff --git a/include/d/d_a/d_a_alink/asm/func_801120C8.s b/include/d/d_a/d_a_alink/asm/func_801120C8.s index 608ce686043..308b304ecee 100644 --- a/include/d/d_a/d_a_alink/asm/func_801120C8.s +++ b/include/d/d_a/d_a_alink/asm/func_801120C8.s @@ -4,7 +4,7 @@ /* 801120D4 0010F014 93 E1 00 0C */ stw r31, 0xc(r1) /* 801120D8 0010F018 7C 7F 1B 78 */ mr r31, r3 /* 801120DC 0010F01C 38 80 00 00 */ li r4, 0 -/* 801120E0 0010F020 4B FA 11 B9 */ bl daAlink_c_NS_setBStatus +/* 801120E0 0010F020 4B FA 11 B9 */ bl setBStatus__9daAlink_cFUc /* 801120E4 0010F024 A8 7F 30 10 */ lha r3, 0x3010(r31) /* 801120E8 0010F028 38 03 FF FF */ addi r0, r3, -1 /* 801120EC 0010F02C B0 1F 30 10 */ sth r0, 0x3010(r31) diff --git a/include/d/d_a/d_a_alink/asm/func_80112304.s b/include/d/d_a/d_a_alink/asm/func_80112304.s index 8a7b4148df4..4781cf28e98 100644 --- a/include/d/d_a/d_a_alink/asm/func_80112304.s +++ b/include/d/d_a/d_a_alink/asm/func_80112304.s @@ -30,10 +30,10 @@ lbl_80112370: /* 80112370 0010F2B0 83 FE 28 10 */ lwz r31, 0x2810(r30) /* 80112374 0010F2B4 7F C3 F3 78 */ mr r3, r30 /* 80112378 0010F2B8 38 80 00 12 */ li r4, 0x12 -/* 8011237C 0010F2BC 4B FA 0F 1D */ bl daAlink_c_NS_setBStatus +/* 8011237C 0010F2BC 4B FA 0F 1D */ bl setBStatus__9daAlink_cFUc /* 80112380 0010F2C0 7F C3 F3 78 */ mr r3, r30 /* 80112384 0010F2C4 38 80 00 31 */ li r4, 0x31 -/* 80112388 0010F2C8 4B FA 0E C9 */ bl daAlink_c_NS_setDoStatus +/* 80112388 0010F2C8 4B FA 0E C9 */ bl setDoStatus__9daAlink_cFUc /* 8011238C 0010F2CC 88 1E 2F 8D */ lbz r0, 0x2f8d(r30) /* 80112390 0010F2D0 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b /* 80112394 0010F2D4 41 82 00 2C */ beq lbl_801123C0 @@ -50,7 +50,7 @@ lbl_80112370: lbl_801123C0: /* 801123C0 0010F300 7F C3 F3 78 */ mr r3, r30 /* 801123C4 0010F304 38 80 00 08 */ li r4, 8 -/* 801123C8 0010F308 4B FA 02 05 */ bl daAlink_c_NS_itemTriggerCheck +/* 801123C8 0010F308 4B FA 02 05 */ bl itemTriggerCheck__9daAlink_cFUc /* 801123CC 0010F30C 2C 03 00 00 */ cmpwi r3, 0 /* 801123D0 0010F310 41 82 00 10 */ beq lbl_801123E0 /* 801123D4 0010F314 7F C3 F3 78 */ mr r3, r30 diff --git a/include/d/d_a/d_a_alink/asm/func_80115254.s b/include/d/d_a/d_a_alink/asm/func_80115254.s index f9c681fa693..ea1b0e56e08 100644 --- a/include/d/d_a/d_a_alink/asm/func_80115254.s +++ b/include/d/d_a/d_a_alink/asm/func_80115254.s @@ -4,7 +4,7 @@ /* 80115260 001121A0 93 E1 00 0C */ stw r31, 0xc(r1) /* 80115264 001121A4 93 C1 00 08 */ stw r30, 8(r1) /* 80115268 001121A8 7C 7F 1B 78 */ mr r31, r3 -/* 8011526C 001121AC 4B F9 D3 99 */ bl daAlink_c_NS_itemButton +/* 8011526C 001121AC 4B F9 D3 99 */ bl itemButton__9daAlink_cFv /* 80115270 001121B0 2C 03 00 00 */ cmpwi r3, 0 /* 80115274 001121B4 40 82 00 1C */ bne lbl_80115290 /* 80115278 001121B8 7F E3 FB 78 */ mr r3, r31 diff --git a/include/d/d_a/d_a_alink/asm/func_80115564.s b/include/d/d_a/d_a_alink/asm/func_80115564.s index 747e2daebb8..44ff058d6c6 100644 --- a/include/d/d_a/d_a_alink/asm/func_80115564.s +++ b/include/d/d_a/d_a_alink/asm/func_80115564.s @@ -8,7 +8,7 @@ /* 80115580 001124C0 41 82 00 10 */ beq lbl_80115590 /* 80115584 001124C4 7F E3 FB 78 */ mr r3, r31 /* 80115588 001124C8 38 80 00 12 */ li r4, 0x12 -/* 8011558C 001124CC 4B F9 DC C5 */ bl daAlink_c_NS_setDoStatus +/* 8011558C 001124CC 4B F9 DC C5 */ bl setDoStatus__9daAlink_cFUc lbl_80115590: /* 80115590 001124D0 7F E3 FB 78 */ mr r3, r31 /* 80115594 001124D4 38 80 00 00 */ li r4, 0 @@ -19,7 +19,7 @@ lbl_80115590: /* 801155A8 001124E8 2C 03 00 00 */ cmpwi r3, 0 /* 801155AC 001124EC 40 82 00 28 */ bne lbl_801155D4 /* 801155B0 001124F0 7F E3 FB 78 */ mr r3, r31 -/* 801155B4 001124F4 4B F9 D0 51 */ bl daAlink_c_NS_itemButton +/* 801155B4 001124F4 4B F9 D0 51 */ bl itemButton__9daAlink_cFv /* 801155B8 001124F8 2C 03 00 00 */ cmpwi r3, 0 /* 801155BC 001124FC 41 82 00 18 */ beq lbl_801155D4 /* 801155C0 00112500 A8 1F 30 18 */ lha r0, 0x3018(r31) diff --git a/include/d/d_a/d_a_alink/asm/func_80115674.s b/include/d/d_a/d_a_alink/asm/func_80115674.s index 59eaca93391..4fe9082b28b 100644 --- a/include/d/d_a/d_a_alink/asm/func_80115674.s +++ b/include/d/d_a/d_a_alink/asm/func_80115674.s @@ -10,7 +10,7 @@ /* 80115698 001125D8 41 82 00 10 */ beq lbl_801156A8 /* 8011569C 001125DC 7F E3 FB 78 */ mr r3, r31 /* 801156A0 001125E0 38 80 00 12 */ li r4, 0x12 -/* 801156A4 001125E4 4B F9 DB AD */ bl daAlink_c_NS_setDoStatus +/* 801156A4 001125E4 4B F9 DB AD */ bl setDoStatus__9daAlink_cFUc lbl_801156A8: /* 801156A8 001125E8 7F E3 FB 78 */ mr r3, r31 /* 801156AC 001125EC 38 80 00 00 */ li r4, 0 diff --git a/include/d/d_a/d_a_alink/asm/func_8011A798.s b/include/d/d_a/d_a_alink/asm/func_8011A798.s index a57bb282d6a..7b50b26fdc1 100644 --- a/include/d/d_a/d_a_alink/asm/func_8011A798.s +++ b/include/d/d_a/d_a_alink/asm/func_8011A798.s @@ -281,10 +281,10 @@ lbl_8011AB4C: /* 8011AB88 00117AC8 38 03 E9 3F */ addi r0, r3, -5825 /* 8011AB8C 00117ACC 7C 1F 07 34 */ extsh r31, r0 /* 8011AB90 00117AD0 7F E3 FB 78 */ mr r3, r31 -/* 8011AB94 00117AD4 48 24 A5 3D */ bl func_803650D0 +/* 8011AB94 00117AD4 48 24 A5 3D */ bl abs /* 8011AB98 00117AD8 7C 7E 1B 78 */ mr r30, r3 /* 8011AB9C 00117ADC 7F 83 E3 78 */ mr r3, r28 -/* 8011ABA0 00117AE0 48 24 A5 31 */ bl func_803650D0 +/* 8011ABA0 00117AE0 48 24 A5 31 */ bl abs /* 8011ABA4 00117AE4 7C 03 F0 00 */ cmpw r3, r30 /* 8011ABA8 00117AE8 40 81 00 0C */ ble lbl_8011ABB4 /* 8011ABAC 00117AEC B3 FD 30 0E */ sth r31, 0x300e(r29) diff --git a/include/d/d_a/d_a_alink/asm/func_80127CF0.s b/include/d/d_a/d_a_alink/asm/func_80127CF0.s index 6709acfaa6e..f98b7de33b3 100644 --- a/include/d/d_a/d_a_alink/asm/func_80127CF0.s +++ b/include/d/d_a/d_a_alink/asm/func_80127CF0.s @@ -2,7 +2,7 @@ /* 80127CF4 00124C34 7C 08 02 A6 */ mflr r0 /* 80127CF8 00124C38 90 01 00 14 */ stw r0, 0x14(r1) /* 80127CFC 00124C3C 38 80 00 01 */ li r4, 1 -/* 80127D00 00124C40 4B F8 A8 CD */ bl daAlink_c_NS_itemTriggerCheck +/* 80127D00 00124C40 4B F8 A8 CD */ bl itemTriggerCheck__9daAlink_cFUc /* 80127D04 00124C44 80 01 00 14 */ lwz r0, 0x14(r1) /* 80127D08 00124C48 7C 08 03 A6 */ mtlr r0 /* 80127D0C 00124C4C 38 21 00 10 */ addi r1, r1, 0x10 diff --git a/include/d/d_a/d_a_alink/asm/func_80127D2C.s b/include/d/d_a/d_a_alink/asm/func_80127D2C.s index 8f51916fa31..7f9d7e2ab3a 100644 --- a/include/d/d_a/d_a_alink/asm/func_80127D2C.s +++ b/include/d/d_a/d_a_alink/asm/func_80127D2C.s @@ -2,7 +2,7 @@ /* 80127D30 00124C70 7C 08 02 A6 */ mflr r0 /* 80127D34 00124C74 90 01 00 14 */ stw r0, 0x14(r1) /* 80127D38 00124C78 38 80 00 02 */ li r4, 2 -/* 80127D3C 00124C7C 4B F8 A8 91 */ bl daAlink_c_NS_itemTriggerCheck +/* 80127D3C 00124C7C 4B F8 A8 91 */ bl itemTriggerCheck__9daAlink_cFUc /* 80127D40 00124C80 80 01 00 14 */ lwz r0, 0x14(r1) /* 80127D44 00124C84 7C 08 03 A6 */ mtlr r0 /* 80127D48 00124C88 38 21 00 10 */ addi r1, r1, 0x10 diff --git a/include/d/d_a/d_a_alink/asm/func_80127F50.s b/include/d/d_a/d_a_alink/asm/func_80127F50.s index 38a76db1778..e96e3c3a3e2 100644 --- a/include/d/d_a/d_a_alink/asm/func_80127F50.s +++ b/include/d/d_a/d_a_alink/asm/func_80127F50.s @@ -78,7 +78,7 @@ lbl_8012802C: /* 80128070 00124FB0 2C 03 70 00 */ cmpwi r3, 0x7000 /* 80128074 00124FB4 40 81 01 30 */ ble lbl_801281A4 /* 80128078 00124FB8 80 79 31 80 */ lwz r3, 0x3180(r25) -/* 8012807C 00124FBC 48 23 D0 55 */ bl func_803650D0 +/* 8012807C 00124FBC 48 23 D0 55 */ bl abs /* 80128080 00124FC0 2C 03 50 00 */ cmpwi r3, 0x5000 /* 80128084 00124FC4 40 80 01 20 */ bge lbl_801281A4 /* 80128088 00124FC8 80 19 31 A0 */ lwz r0, 0x31a0(r25) diff --git a/include/d/d_a/d_a_alink/asm/func_80128844.s b/include/d/d_a/d_a_alink/asm/func_80128844.s index 31fd1e9c9b6..6a2645172de 100644 --- a/include/d/d_a/d_a_alink/asm/func_80128844.s +++ b/include/d/d_a/d_a_alink/asm/func_80128844.s @@ -158,7 +158,7 @@ lbl_80128A70: /* 80128A90 001259D0 7C 03 00 50 */ subf r0, r3, r0 /* 80128A94 001259D4 7C 03 07 34 */ extsh r3, r0 /* 80128A98 001259D8 7C 7C 1B 78 */ mr r28, r3 -/* 80128A9C 001259DC 48 23 C6 35 */ bl func_803650D0 +/* 80128A9C 001259DC 48 23 C6 35 */ bl abs /* 80128AA0 001259E0 2C 03 00 00 */ cmpwi r3, 0 /* 80128AA4 001259E4 40 81 00 84 */ ble lbl_80128B28 /* 80128AA8 001259E8 7F A3 EB 78 */ mr r3, r29 @@ -166,7 +166,7 @@ lbl_80128A70: /* 80128AB0 001259F0 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 80128AB4 001259F4 40 82 00 74 */ bne lbl_80128B28 /* 80128AB8 001259F8 7F 83 E3 78 */ mr r3, r28 -/* 80128ABC 001259FC 48 23 C6 15 */ bl func_803650D0 +/* 80128ABC 001259FC 48 23 C6 15 */ bl abs /* 80128AC0 00125A00 C8 22 92 B0 */ lfd f1, lbl_80452CB0-_SDA2_BASE_(r2) /* 80128AC4 00125A04 6C 60 80 00 */ xoris r0, r3, 0x8000 /* 80128AC8 00125A08 90 01 00 1C */ stw r0, 0x1c(r1) diff --git a/include/d/d_a/d_a_alink/asm/func_80129B44.s b/include/d/d_a/d_a_alink/asm/func_80129B44.s index e0793910383..9c75ec4ece1 100644 --- a/include/d/d_a/d_a_alink/asm/func_80129B44.s +++ b/include/d/d_a/d_a_alink/asm/func_80129B44.s @@ -256,7 +256,7 @@ lbl_80129E9C: /* 80129ECC 00126E0C FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80129ED0 00126E10 40 81 00 88 */ ble lbl_80129F58 /* 80129ED4 00126E14 80 7D 31 80 */ lwz r3, 0x3180(r29) -/* 80129ED8 00126E18 48 23 B1 F9 */ bl func_803650D0 +/* 80129ED8 00126E18 48 23 B1 F9 */ bl abs /* 80129EDC 00126E1C 2C 03 50 00 */ cmpwi r3, 0x5000 /* 80129EE0 00126E20 40 80 00 78 */ bge lbl_80129F58 /* 80129EE4 00126E24 A0 1D 2F E8 */ lhz r0, 0x2fe8(r29) @@ -305,7 +305,7 @@ lbl_80129F68: /* 80129F7C 00126EBC 28 00 00 08 */ cmplwi r0, 8 /* 80129F80 00126EC0 41 82 00 84 */ beq lbl_8012A004 /* 80129F84 00126EC4 80 7D 31 80 */ lwz r3, 0x3180(r29) -/* 80129F88 00126EC8 48 23 B1 49 */ bl func_803650D0 +/* 80129F88 00126EC8 48 23 B1 49 */ bl abs /* 80129F8C 00126ECC 2C 03 50 00 */ cmpwi r3, 0x5000 /* 80129F90 00126ED0 40 80 00 74 */ bge lbl_8012A004 /* 80129F94 00126ED4 A8 7D 2F E2 */ lha r3, 0x2fe2(r29) diff --git a/include/d/d_a/d_a_alink/asm/func_8012C1F4.s b/include/d/d_a/d_a_alink/asm/func_8012C1F4.s index 1ae3b651a41..7edca613780 100644 --- a/include/d/d_a/d_a_alink/asm/func_8012C1F4.s +++ b/include/d/d_a/d_a_alink/asm/func_8012C1F4.s @@ -30,7 +30,7 @@ lbl_8012C260: /* 8012C264 001291A4 A8 1F 04 E6 */ lha r0, 0x4e6(r31) /* 8012C268 001291A8 7C 03 00 50 */ subf r0, r3, r0 /* 8012C26C 001291AC 7C 03 07 34 */ extsh r3, r0 -/* 8012C270 001291B0 48 23 8E 61 */ bl func_803650D0 +/* 8012C270 001291B0 48 23 8E 61 */ bl abs /* 8012C274 001291B4 2C 03 40 00 */ cmpwi r3, 0x4000 /* 8012C278 001291B8 41 80 00 14 */ blt lbl_8012C28C /* 8012C27C 001291BC 38 00 00 01 */ li r0, 1 diff --git a/include/d/d_a/d_a_alink/asm/func_8012D590.s b/include/d/d_a/d_a_alink/asm/func_8012D590.s index 6ec4eb1eeb9..510c42e0f52 100644 --- a/include/d/d_a/d_a_alink/asm/func_8012D590.s +++ b/include/d/d_a/d_a_alink/asm/func_8012D590.s @@ -75,7 +75,7 @@ lbl_8012D670: /* 8012D6A4 0012A5E4 48 00 02 04 */ b lbl_8012D8A8 lbl_8012D6A8: /* 8012D6A8 0012A5E8 7F C3 F3 78 */ mr r3, r30 -/* 8012D6AC 0012A5EC 4B F8 50 0D */ bl daAlink_c_NS_swordSwingTrigger +/* 8012D6AC 0012A5EC 4B F8 50 0D */ bl swordSwingTrigger__9daAlink_cFv /* 8012D6B0 0012A5F0 2C 03 00 00 */ cmpwi r3, 0 /* 8012D6B4 0012A5F4 41 82 00 0C */ beq lbl_8012D6C0 /* 8012D6B8 0012A5F8 38 00 00 01 */ li r0, 1 diff --git a/include/d/d_a/d_a_alink/asm/func_8012F358.s b/include/d/d_a/d_a_alink/asm/func_8012F358.s index a7b798ccecc..d69b8364a65 100644 --- a/include/d/d_a/d_a_alink/asm/func_8012F358.s +++ b/include/d/d_a/d_a_alink/asm/func_8012F358.s @@ -21,7 +21,7 @@ lbl_8012F39C: lbl_8012F3A4: /* 8012F3A4 0012C2E4 48 14 13 9D */ bl cLib_chaseF__FPfff /* 8012F3A8 0012C2E8 7F A3 EB 78 */ mr r3, r29 -/* 8012F3AC 0012C2EC 4B F8 32 B9 */ bl daAlink_c_NS_spActionButton +/* 8012F3AC 0012C2EC 4B F8 32 B9 */ bl spActionButton__9daAlink_cFv /* 8012F3B0 0012C2F0 2C 03 00 00 */ cmpwi r3, 0 /* 8012F3B4 0012C2F4 40 82 00 1C */ bne lbl_8012F3D0 /* 8012F3B8 0012C2F8 80 1D 06 14 */ lwz r0, 0x614(r29) diff --git a/include/d/d_a/d_a_alink/asm/func_80130268.s b/include/d/d_a/d_a_alink/asm/func_80130268.s index 7477961cbec..f3be54bc5c6 100644 --- a/include/d/d_a/d_a_alink/asm/func_80130268.s +++ b/include/d/d_a/d_a_alink/asm/func_80130268.s @@ -42,7 +42,7 @@ /* 8013030C 0012D24C A8 1F 04 E6 */ lha r0, 0x4e6(r31) /* 80130310 0012D250 7C 00 F0 50 */ subf r0, r0, r30 /* 80130314 0012D254 7C 03 07 34 */ extsh r3, r0 -/* 80130318 0012D258 48 23 4D B9 */ bl func_803650D0 +/* 80130318 0012D258 48 23 4D B9 */ bl abs /* 8013031C 0012D25C 2C 03 60 00 */ cmpwi r3, 0x6000 /* 80130320 0012D260 41 80 00 20 */ blt lbl_80130340 /* 80130324 0012D264 7F E3 FB 78 */ mr r3, r31 diff --git a/include/d/d_a/d_a_alink/asm/func_801319F0.s b/include/d/d_a/d_a_alink/asm/func_801319F0.s index 40f63d198cc..0ffa2445bfb 100644 --- a/include/d/d_a/d_a_alink/asm/func_801319F0.s +++ b/include/d/d_a/d_a_alink/asm/func_801319F0.s @@ -9,7 +9,7 @@ /* 80131A10 0012E950 A8 1F 04 E6 */ lha r0, 0x4e6(r31) /* 80131A14 0012E954 7C 03 00 50 */ subf r0, r3, r0 /* 80131A18 0012E958 7C 03 07 34 */ extsh r3, r0 -/* 80131A1C 0012E95C 48 23 36 B5 */ bl func_803650D0 +/* 80131A1C 0012E95C 48 23 36 B5 */ bl abs /* 80131A20 0012E960 2C 03 40 00 */ cmpwi r3, 0x4000 /* 80131A24 0012E964 40 80 00 14 */ bge lbl_80131A38 /* 80131A28 0012E968 A8 1F 04 E6 */ lha r0, 0x4e6(r31) diff --git a/include/d/d_a/d_a_alink/asm/func_80131C00.s b/include/d/d_a/d_a_alink/asm/func_80131C00.s index c7e9ba753c3..c6ebe2b278c 100644 --- a/include/d/d_a/d_a_alink/asm/func_80131C00.s +++ b/include/d/d_a/d_a_alink/asm/func_80131C00.s @@ -7,7 +7,7 @@ /* 80131C18 0012EB58 7C 04 00 50 */ subf r0, r4, r0 /* 80131C1C 0012EB5C 7C 1F 07 34 */ extsh r31, r0 /* 80131C20 0012EB60 7F E3 FB 78 */ mr r3, r31 -/* 80131C24 0012EB64 48 23 34 AD */ bl func_803650D0 +/* 80131C24 0012EB64 48 23 34 AD */ bl abs /* 80131C28 0012EB68 2C 03 50 00 */ cmpwi r3, 0x5000 /* 80131C2C 0012EB6C 40 81 00 0C */ ble lbl_80131C38 /* 80131C30 0012EB70 38 60 00 01 */ li r3, 1 diff --git a/include/d/d_a/d_a_alink/asm/func_80131DA0.s b/include/d/d_a/d_a_alink/asm/func_80131DA0.s index fccd1751ad2..b1f1784d840 100644 --- a/include/d/d_a/d_a_alink/asm/func_80131DA0.s +++ b/include/d/d_a/d_a_alink/asm/func_80131DA0.s @@ -79,7 +79,7 @@ lbl_80131EB8: /* 80131EC0 0012EE00 41 82 00 2C */ beq lbl_80131EEC /* 80131EC4 0012EE04 7F 43 D3 78 */ mr r3, r26 /* 80131EC8 0012EE08 38 80 00 8B */ li r4, 0x8b -/* 80131ECC 0012EE0C 4B F8 13 85 */ bl daAlink_c_NS_setDoStatus +/* 80131ECC 0012EE0C 4B F8 13 85 */ bl setDoStatus__9daAlink_cFUc /* 80131ED0 0012EE10 88 1A 2F 8D */ lbz r0, 0x2f8d(r26) /* 80131ED4 0012EE14 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b /* 80131ED8 0012EE18 41 82 00 14 */ beq lbl_80131EEC diff --git a/include/d/d_a/d_a_alink/asm/func_80132914.s b/include/d/d_a/d_a_alink/asm/func_80132914.s index 5f5fb64b694..c711528aad7 100644 --- a/include/d/d_a/d_a_alink/asm/func_80132914.s +++ b/include/d/d_a/d_a_alink/asm/func_80132914.s @@ -88,7 +88,7 @@ lbl_80132A40: lbl_80132A5C: /* 80132A5C 0012F99C 7F C3 F3 78 */ mr r3, r30 /* 80132A60 0012F9A0 38 80 00 33 */ li r4, 0x33 -/* 80132A64 0012F9A4 4B F8 07 ED */ bl daAlink_c_NS_setDoStatus +/* 80132A64 0012F9A4 4B F8 07 ED */ bl setDoStatus__9daAlink_cFUc /* 80132A68 0012F9A8 88 1E 2F 8D */ lbz r0, 0x2f8d(r30) /* 80132A6C 0012F9AC 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b /* 80132A70 0012F9B0 41 82 00 84 */ beq lbl_80132AF4 diff --git a/include/d/d_a/d_a_alink/asm/func_80134838.s b/include/d/d_a/d_a_alink/asm/func_80134838.s index e8ab96f5f81..e13c0c3f73c 100644 --- a/include/d/d_a/d_a_alink/asm/func_80134838.s +++ b/include/d/d_a/d_a_alink/asm/func_80134838.s @@ -58,7 +58,7 @@ lbl_801348EC: /* 80134900 00131840 D0 1D 37 40 */ stfs f0, 0x3740(r29) /* 80134904 00131844 7F A3 EB 78 */ mr r3, r29 /* 80134908 00131848 38 80 00 93 */ li r4, 0x93 -/* 8013490C 0013184C 4B F7 E9 45 */ bl daAlink_c_NS_setDoStatus +/* 8013490C 0013184C 4B F7 E9 45 */ bl setDoStatus__9daAlink_cFUc /* 80134910 00131850 38 7D 04 D0 */ addi r3, r29, 0x4d0 /* 80134914 00131854 38 9D 37 38 */ addi r4, r29, 0x3738 /* 80134918 00131858 48 13 C2 ED */ bl cLib_targetAngleY__FPC3VecPC3Vec diff --git a/include/d/d_a/d_a_alink/asm/func_80134EBC.s b/include/d/d_a/d_a_alink/asm/func_80134EBC.s index c12fbe09d20..1075ec9ca4f 100644 --- a/include/d/d_a/d_a_alink/asm/func_80134EBC.s +++ b/include/d/d_a/d_a_alink/asm/func_80134EBC.s @@ -43,7 +43,7 @@ lbl_80134F28: /* 80134F54 00131E94 40 81 00 2C */ ble lbl_80134F80 /* 80134F58 00131E98 7F E3 FB 78 */ mr r3, r31 /* 80134F5C 00131E9C 38 80 00 93 */ li r4, 0x93 -/* 80134F60 00131EA0 4B F7 E2 F1 */ bl daAlink_c_NS_setDoStatus +/* 80134F60 00131EA0 4B F7 E2 F1 */ bl setDoStatus__9daAlink_cFUc /* 80134F64 00131EA4 88 1F 2F 8D */ lbz r0, 0x2f8d(r31) /* 80134F68 00131EA8 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b /* 80134F6C 00131EAC 41 82 00 14 */ beq lbl_80134F80 diff --git a/include/d/d_a/d_a_alink/asm/func_801351F8.s b/include/d/d_a/d_a_alink/asm/func_801351F8.s index 697623bdf1b..adb12ee751e 100644 --- a/include/d/d_a/d_a_alink/asm/func_801351F8.s +++ b/include/d/d_a/d_a_alink/asm/func_801351F8.s @@ -24,7 +24,7 @@ lbl_80135224: /* 80135250 00132190 41 82 01 74 */ beq lbl_801353C4 /* 80135254 00132194 7F E3 FB 78 */ mr r3, r31 /* 80135258 00132198 38 80 00 1C */ li r4, 0x1c -/* 8013525C 0013219C 4B F7 E0 0D */ bl daAlink_c_NS_setDoStatusEmphasys +/* 8013525C 0013219C 4B F7 E0 0D */ bl setDoStatusEmphasys__9daAlink_cFUc /* 80135260 001321A0 88 1F 2F 8D */ lbz r0, 0x2f8d(r31) /* 80135264 001321A4 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b /* 80135268 001321A8 41 82 00 30 */ beq lbl_80135298 diff --git a/include/d/d_a/d_a_alink/asm/func_801354C8.s b/include/d/d_a/d_a_alink/asm/func_801354C8.s index 1461698cdef..1da1eec8dbc 100644 --- a/include/d/d_a/d_a_alink/asm/func_801354C8.s +++ b/include/d/d_a/d_a_alink/asm/func_801354C8.s @@ -35,7 +35,7 @@ lbl_80135520: lbl_80135548: /* 80135548 00132488 7F E3 FB 78 */ mr r3, r31 /* 8013554C 0013248C 38 80 00 33 */ li r4, 0x33 -/* 80135550 00132490 4B F7 DD 01 */ bl daAlink_c_NS_setDoStatus +/* 80135550 00132490 4B F7 DD 01 */ bl setDoStatus__9daAlink_cFUc /* 80135554 00132494 88 1F 2F 8D */ lbz r0, 0x2f8d(r31) /* 80135558 00132498 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b /* 8013555C 0013249C 41 82 00 78 */ beq lbl_801355D4 diff --git a/include/d/d_a/d_a_alink/asm/func_801381F8.s b/include/d/d_a/d_a_alink/asm/func_801381F8.s index f237789fcfd..d624feebb2a 100644 --- a/include/d/d_a/d_a_alink/asm/func_801381F8.s +++ b/include/d/d_a/d_a_alink/asm/func_801381F8.s @@ -20,7 +20,7 @@ lbl_8013822C: /* 80138240 00135180 40 82 00 38 */ bne lbl_80138278 /* 80138244 00135184 7F E3 FB 78 */ mr r3, r31 /* 80138248 00135188 38 80 00 39 */ li r4, 0x39 -/* 8013824C 0013518C 4B F7 B0 05 */ bl daAlink_c_NS_setDoStatus +/* 8013824C 0013518C 4B F7 B0 05 */ bl setDoStatus__9daAlink_cFUc /* 80138250 00135190 88 1F 2F 8D */ lbz r0, 0x2f8d(r31) /* 80138254 00135194 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b /* 80138258 00135198 41 82 00 E8 */ beq lbl_80138340 @@ -48,7 +48,7 @@ lbl_80138278: /* 801382AC 001351EC 40 82 00 94 */ bne lbl_80138340 /* 801382B0 001351F0 7F E3 FB 78 */ mr r3, r31 /* 801382B4 001351F4 38 80 00 09 */ li r4, 9 -/* 801382B8 001351F8 4B F7 AF 99 */ bl daAlink_c_NS_setDoStatus +/* 801382B8 001351F8 4B F7 AF 99 */ bl setDoStatus__9daAlink_cFUc /* 801382BC 001351FC 88 1F 2F 8D */ lbz r0, 0x2f8d(r31) /* 801382C0 00135200 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b /* 801382C4 00135204 41 82 00 7C */ beq lbl_80138340 diff --git a/include/d/d_a/d_a_alink/asm/func_80139908.s b/include/d/d_a/d_a_alink/asm/func_80139908.s index 262436ee55c..b3a60594095 100644 --- a/include/d/d_a/d_a_alink/asm/func_80139908.s +++ b/include/d/d_a/d_a_alink/asm/func_80139908.s @@ -11,7 +11,7 @@ lbl_80139930: /* 80139930 00136870 7F E3 FB 78 */ mr r3, r31 /* 80139934 00136874 38 80 00 08 */ li r4, 8 -/* 80139938 00136878 4B F7 8C B1 */ bl daAlink_c_NS_itemButtonCheck +/* 80139938 00136878 4B F7 8C B1 */ bl itemButtonCheck__9daAlink_cFUc /* 8013993C 0013687C 2C 03 00 00 */ cmpwi r3, 0 /* 80139940 00136880 40 82 00 10 */ bne lbl_80139950 /* 80139944 00136884 7F E3 FB 78 */ mr r3, r31 diff --git a/include/d/d_a/d_a_alink/asm/func_80139A70.s b/include/d/d_a/d_a_alink/asm/func_80139A70.s index 9471304e170..80b69cff6bb 100644 --- a/include/d/d_a/d_a_alink/asm/func_80139A70.s +++ b/include/d/d_a/d_a_alink/asm/func_80139A70.s @@ -15,7 +15,7 @@ lbl_80139AA8: /* 80139AA8 001369E8 7F C3 F3 78 */ mr r3, r30 /* 80139AAC 001369EC 38 80 00 08 */ li r4, 8 -/* 80139AB0 001369F0 4B F7 8B 39 */ bl daAlink_c_NS_itemButtonCheck +/* 80139AB0 001369F0 4B F7 8B 39 */ bl itemButtonCheck__9daAlink_cFUc /* 80139AB4 001369F4 2C 03 00 00 */ cmpwi r3, 0 /* 80139AB8 001369F8 41 82 00 10 */ beq lbl_80139AC8 /* 80139ABC 001369FC A8 1E 30 0A */ lha r0, 0x300a(r30) diff --git a/include/d/d_a/d_a_alink/asm/func_8013C630.s b/include/d/d_a/d_a_alink/asm/func_8013C630.s index 165f1732bf2..84c5ed50a63 100644 --- a/include/d/d_a/d_a_alink/asm/func_8013C630.s +++ b/include/d/d_a/d_a_alink/asm/func_8013C630.s @@ -14,7 +14,7 @@ /* 8013C664 001395A4 A8 1E 04 E6 */ lha r0, 0x4e6(r30) /* 8013C668 001395A8 7C 00 18 50 */ subf r0, r0, r3 /* 8013C66C 001395AC 7C 03 07 34 */ extsh r3, r0 -/* 8013C670 001395B0 48 22 8A 61 */ bl func_803650D0 +/* 8013C670 001395B0 48 22 8A 61 */ bl abs /* 8013C674 001395B4 2C 03 40 00 */ cmpwi r3, 0x4000 /* 8013C678 001395B8 40 81 00 50 */ ble lbl_8013C6C8 /* 8013C67C 001395BC 7F C3 F3 78 */ mr r3, r30 diff --git a/include/d/d_a/d_a_alink/asm/func_8013CDEC.s b/include/d/d_a/d_a_alink/asm/func_8013CDEC.s index d984b80884b..50ed677a6a0 100644 --- a/include/d/d_a/d_a_alink/asm/func_8013CDEC.s +++ b/include/d/d_a/d_a_alink/asm/func_8013CDEC.s @@ -24,7 +24,7 @@ lbl_8013CE28: /* 8013CE44 00139D84 B0 1D 04 DE */ sth r0, 0x4de(r29) /* 8013CE48 00139D88 7F A3 EB 78 */ mr r3, r29 /* 8013CE4C 00139D8C 38 80 00 03 */ li r4, 3 -/* 8013CE50 00139D90 4B F7 64 31 */ bl daAlink_c_NS_setDoStatusContinuation +/* 8013CE50 00139D90 4B F7 64 31 */ bl setDoStatusContinuation__9daAlink_cFUc /* 8013CE54 00139D94 88 1D 2F 8D */ lbz r0, 0x2f8d(r29) /* 8013CE58 00139D98 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b /* 8013CE5C 00139D9C 41 82 00 20 */ beq lbl_8013CE7C diff --git a/include/d/d_a/d_a_alink/asm/func_8013ED44.s b/include/d/d_a/d_a_alink/asm/func_8013ED44.s index bdbf0e13d1c..3342234d1e1 100644 --- a/include/d/d_a/d_a_alink/asm/func_8013ED44.s +++ b/include/d/d_a/d_a_alink/asm/func_8013ED44.s @@ -107,7 +107,7 @@ lbl_8013EEB0: /* 8013EEC0 0013BE00 A8 1E 04 E6 */ lha r0, 0x4e6(r30) /* 8013EEC4 0013BE04 7C 00 E8 50 */ subf r0, r0, r29 /* 8013EEC8 0013BE08 7C 03 07 34 */ extsh r3, r0 -/* 8013EECC 0013BE0C 48 22 62 05 */ bl func_803650D0 +/* 8013EECC 0013BE0C 48 22 62 05 */ bl abs /* 8013EED0 0013BE10 2C 03 40 00 */ cmpwi r3, 0x4000 /* 8013EED4 0013BE14 40 81 00 10 */ ble lbl_8013EEE4 /* 8013EED8 0013BE18 3C 7D 00 01 */ addis r3, r29, 1 diff --git a/include/d/d_a/d_a_alink/asm/func_80140064.s b/include/d/d_a/d_a_alink/asm/func_80140064.s deleted file mode 100644 index 2c7d2e4439c..00000000000 --- a/include/d/d_a/d_a_alink/asm/func_80140064.s +++ /dev/null @@ -1,3 +0,0 @@ -/* 80140064 0013CFA4 38 00 00 04 */ li r0, 4 -/* 80140068 0013CFA8 98 03 2F D1 */ stb r0, 0x2fd1(r3) -/* 8014006C 0013CFAC 4E 80 00 20 */ blr diff --git a/include/d/d_a/d_a_alink/asm/func_80141944.s b/include/d/d_a/d_a_alink/asm/func_80141944.s deleted file mode 100644 index d2c6d85f25e..00000000000 --- a/include/d/d_a/d_a_alink/asm/func_80141944.s +++ /dev/null @@ -1,2 +0,0 @@ -/* 80141944 0013E884 80 63 12 58 */ lwz r3, 0x1258(r3) -/* 80141948 0013E888 4E 80 00 20 */ blr diff --git a/include/d/d_a/d_a_alink/asm/func_8014194C.s b/include/d/d_a/d_a_alink/asm/func_8014194C.s deleted file mode 100644 index befc58ab1ad..00000000000 --- a/include/d/d_a/d_a_alink/asm/func_8014194C.s +++ /dev/null @@ -1,4 +0,0 @@ -/* 8014194C 0013E88C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha -/* 80141950 0013E890 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l -/* 80141954 0013E894 88 63 5E 24 */ lbz r3, 0x5e24(r3) -/* 80141958 0013E898 4E 80 00 20 */ blr diff --git a/include/d/d_a/d_a_alink/asm/func_80141990.s b/include/d/d_a/d_a_alink/asm/func_80141990.s deleted file mode 100644 index d757ad7a22c..00000000000 --- a/include/d/d_a/d_a_alink/asm/func_80141990.s +++ /dev/null @@ -1,4 +0,0 @@ -/* 80141990 0013E8D0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha -/* 80141994 0013E8D4 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l -/* 80141998 0013E8D8 A0 63 00 04 */ lhz r3, 4(r3) -/* 8014199C 0013E8DC 4E 80 00 20 */ blr diff --git a/include/d/d_a/d_a_alink/asm/func_801419A0.s b/include/d/d_a/d_a_alink/asm/func_801419A0.s deleted file mode 100644 index 5b09b28b35f..00000000000 --- a/include/d/d_a/d_a_alink/asm/func_801419A0.s +++ /dev/null @@ -1,6 +0,0 @@ -/* 801419A0 0013E8E0 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha -/* 801419A4 0013E8E4 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l -/* 801419A8 0013E8E8 80 04 5D C4 */ lwz r0, 0x5dc4(r4) -/* 801419AC 0013E8EC 7C 00 1A 14 */ add r0, r0, r3 -/* 801419B0 0013E8F0 90 04 5D C4 */ stw r0, 0x5dc4(r4) -/* 801419B4 0013E8F4 4E 80 00 20 */ blr diff --git a/include/d/d_a/d_a_alink/d_a_alink.h b/include/d/d_a/d_a_alink/d_a_alink.h index 9e505ae60b6..bd3a537b73d 100644 --- a/include/d/d_a/d_a_alink/d_a_alink.h +++ b/include/d/d_a/d_a_alink/d_a_alink.h @@ -45,7 +45,7 @@ public: // member functions u32 getE3Zhint(void); const char* getAlinkArcName(void); - u32 checkStageName(const char*); + bool checkStageName(const char*); void tgHitCallback(fopAc_ac_c*, dCcD_GObjInf*, dCcD_GObjInf*); void coHitCallback(fopAc_ac_c*, dCcD_GObjInf*); void setMatrixWorldAxisRot(float (*)[4], short, short, short, int, const cXyz*); @@ -195,13 +195,29 @@ public: void setPlayerPosAndAngle(float (*)[4]); u32 itemTriggerCheck(u8); u32 itemButtonCheck(u8); + void itemButton(void); + void itemTrigger(void); + void spActionButton(void); + void spActionTrigger(void); + u32 midnaTalkTrigger(void) const; + void swordSwingTrigger(void); + void setItemActionButtonStatus(u8); + void itemActionTrigger(void); /*---*/ + void setRStatus(u8); + void setRStatusEmphasys(u8); + void setDoStatus(u8); + void setDoStatusEmphasys(u8); + void setDoStatusContinuation(u8); + void setBStatus(u8); + int checkRAction(void); BOOL checkMagicArmorHeavy(void) const; BOOL checkBootsOrArmorHeavy(void) const; void setSpecialGravity(float, float, int); int checkMagicArmorWearAbility(void) const; void onFrollCrashFlg(u8, int); void setMidnaTalkStatus(u8); + void setShieldChange(void); private: u8 unk[1328]; @@ -214,9 +230,20 @@ private: u32 unk1404; u8 unk1408[6716]; u16 unk8124; - u8 unk8126[4070]; + u8 unk8126[4047]; + u8 unk12173; + u8 unk12174; + u8 unk12175[13]; + u8 unk12188; + u8 unk12199[7]; u8 unk12196; - u8 unk12197[2071]; + u8 unk12197[9]; + u8 unk12206; + u8 unk12207[16]; + u8 unk12223; + u8 unk12224[17]; + u8 unk12241; + u8 unk12242[2026]; }; class daMidna_c { @@ -233,6 +260,15 @@ private: u32 unk2200; }; +class daHorse_c { +public: + u32 getZeldaActor(void); + +private: + u8 unk[0x1254]; + daPy_actorKeep_c actorKeep; +}; + extern "C" { void tgHitCallback__9daAlink_cFP10fopAc_ac_cP12dCcD_GObjInfP12dCcD_GObjInf(fopAc_ac_c*, dCcD_GObjInf*, diff --git a/include/d/d_a/d_a_player/d_a_player.h b/include/d/d_a/d_a_player/d_a_player.h index 02e3aab329a..8506e63c72d 100644 --- a/include/d/d_a/d_a_player/d_a_player.h +++ b/include/d/d_a/d_a_player/d_a_player.h @@ -1,6 +1,198 @@ #ifndef D_A_PLAYER_H_ #define D_A_PLAYER_H_ +#include "SComponent/c_bg_s_poly_info.h" +#include "SComponent/c_xyz.h" +#include "d/d_a/d_a_alink/d_a_alink.h" +#include "f/f_op/f_op_actor.h" +#include "global.h" + class daPy_anmHeap_c {}; +class daPy_actorKeep_c { +public: + daPy_actorKeep_c(void); + void setActor(void); + void setData(void); + void clearData(void); + + u32 getID(void) const { return mID; } + void setID(u32 id) { mID = id; } + u32 getActor(void) const { return mActor; } + +private: + u32 mID; + u32 mActor; +}; + +class daPy_py_c { +public: + enum daPy_FLG2 {}; + enum daPy_ERFLG0 {}; + + u32 checkBoarSingleBattle(void) const; + u32 checkEndResetFlg0(daPy_ERFLG0) const; + int getMidnaAtnPos(void) const; + void setMidnaMsgNum(fopAc_ac_c*, u16); + u32 getModelMtx(void); + u32 getInvMtx(void); + daPy_py_c* getShadowTalkAtnPos(void); + u32 getLeftItemMatrix(void); + u32 getRightItemMatrix(void); + u32 getLeftHandMatrix(void); + u32 getRightHandMatrix(void); + u32 getLinkBackBone1Matrix(void); + u32 getWolfMouthMatrix(void); + u32 getWolfBackbone2Matrix(void); + int getBottleMtx(void); + int checkPlayerGuard(void); + int checkAutoJump(void) const; + int checkSideStep(void) const; + int checkWolfTriggerJump(void) const; + int checkGuardBreakMode(void) const; + int checkLv3Slide(void) const; + int checkWolfHowlDemoMode(void) const; + int checkChainBlockPushPull(void); + int checkElecDamage(void) const; + int checkEmptyBottleSwing(void) const; + int checkBottleSwingMode(void) const; + int checkHawkWait(void) const; + int checkGoatThrow(void) const; + int checkGoatThrowAfter(void) const; + int checkWolfTagLockJump(void) const; + int checkWolfTagLockJumpLand(void) const; + int checkWolfRope(void); + int checkWolfRopeHang(void) const; + int checkRollJump(void) const; + int checkGoronRideWait(void) const; + int checkWolfChain(void) const; + int checkWolfWait(void) const; + int checkWolfJumpAttack(void) const; + int checkWolfRSit(void) const; + int checkBubbleFly(void) const; + int checkBottleDrinkEnd(void) const; + int checkWolfDig(void) const; + int checkCutCharge(void) const; + int checkCutTurnCharge(void) const; + int checkCutLargeJumpCharge(void) const; + int getBokoFlamePos(cXyz*); + int checkComboCutTurn(void) const; + int checkClimbMove(void) const; + int checkGrassWhistle(void) const; + int checkBoarRun(void) const; + int checkFmChainPut(void) const; + int checkHorseElecDamage(void) const; + float getBaseAnimeFrameRate(void) const; + float getBaseAnimeFrame(void) const; + float setAnimeFrame(float); + int checkWolfLock(fopAc_ac_c*) const; + int cancelWolfLock(fopAc_ac_c*) const; + int getItemID(void) const; + int exchangeGrabActor(fopAc_ac_c*); + int setForceGrab(fopAc_ac_c*, int, int); + void setForcePutPos(cXyz const&); + int checkPlayerNoDraw(void); + int checkRopeTag(void); + void voiceStart(u32); + void seStartOnlyReverb(u32); + void seStartOnlyReverbLevel(u32); + float setOutPower(float, short, int); + void setGrabCollisionOffset(float, float, cBgS_PolyInfo*); + void onMagneGrab(float, float); + int getModelJointMtx(u16); + int getHeadMtx(void); + int setHookshotCarryOffset(u32, cXyz const*); + int checkIronBallReturn(void) const; + int checkIronBallGroundStop(void) const; + int checkSingleBoarBattleSecondBowReady(void) const; + int checkPointSubWindowMode(void) const; + void setClothesChange(int); + void setPlayerPosAndAngle(float (*)[4]); + // void setPlayerPosAndAngle(cXyz const*, csXyz const*); + void setPlayerPosAndAngle(cXyz const*, short, int); + int setThrowDamage(short, float, float, int, int, int); + int checkSetNpcTks(cXyz*, int, int); + int setRollJump(float, float, short); + void playerStartCollisionSE(u32, u32); + void changeTextureAnime(u16, u16, int); + void cancelChangeTextureAnime(void); + void cancelDungeonWarpReadyNeck(void); + void onSceneChangeArea(u8, u8, fopAc_ac_c*); + void onSceneChangeAreaJump(u8, u8, fopAc_ac_c*); + void onSceneChangeDead(u8, int); + int getSpinnerActor(void); + int checkHorseRideNotReady(void) const; + int checkArrowChargeEnd(void) const; + float getSearchBallScale(void) const; + int checkFastShotTime(void); + int checkNoEquipItem(void) const; + int checkFireMaterial(void) const; + int checkKandelaarSwing(int) const; + int getBoardCutTurnOffsetAngleY(void) const; + int getMagneHitPos(void); + int getMagneBootsTopVec(void); + int checkUseKandelaar(int); + void setDkCaught(fopAc_ac_c*); + void onPressedDamage(cXyz const&, short); + int checkPriActorOwn(fopAc_ac_c const*) const; + int onWolfEnemyBiteAll(fopAc_ac_c*, daPy_FLG2); + int checkWolfEnemyBiteAllOwn(fopAc_ac_c const*) const; + void setWolfEnemyHangBiteAngle(short); + void setKandelaarMtx(float (*)[4], int, int); + int getStickAngleFromPlayerShape(short*) const; + int checkSpinnerPathMove(void); + int checkSpinnerTriggerAttack(void); + void onSpinnerPathForceRemove(void); + int getIronBallBgHit(void) const; + int getIronBallCenterPos(void); + int checkCanoeFishingGetLeft(void) const; + int checkCanoeFishingGetRight(void) const; + int checkBeeChildDrink(void) const; + void skipPortalObjWarp(void); + int checkTreasureRupeeReturn(int) const; + void setSumouReady(fopAc_ac_c*); + int checkAcceptDungeonWarpAlink(int); + int getSumouCounter(void) const; + int checkSumouWithstand(void) const; + void cancelGoronThrowEvent(void); + void setSumouGraspCancelCount(int); + void setSumouPushBackDirection(short); + void setSumouLoseHeadUp(void); + s16 getGiantPuzzleAimAngle(void) const; + void setGoronSideMove(fopAc_ac_c*); + void setCargoCarry(fopAc_ac_c*); + int getDpdFarFlg(void) const; + int getHookshotTopPos(void); + int checkHookshotReturnMode(void) const; + int checkHookshotShootReturnMode(void) const; + int checkOctaIealHang(void) const; + void cancelOctaIealHang(void); + void cancelDragonHangBackJump(void); + void setOctaIealWildHang(void); + int checkDragonHangRide(void) const; + void changeDragonActor(fopAc_ac_c*); + int getClothesChangeWaitTimer(void) const; + int getShieldChangeWaitTimer(void) const; + int getSwordChangeWaitTimer(void) const; + int checkMetamorphose(void) const; + int checkWolfDownAttackPullOut(void) const; + int checkBootsOrArmorHeavy(void) const; + int getBottleOpenAppearItem(void) const; + int checkItemSwordEquip(void) const; + float getSinkShapeOffset(void) const; + int checkSinkDead(void) const; + int checkHorseStart(void); + int getWolfHowlMgrP(void); + int checkWolfHowlSuccessAnime(void) const; + int checkCopyRodTopUse(void); + int checkCopyRodEquip(void) const; + int checkCutJumpMode(void) const; + +private: + u8 unk[0x4e6]; + s16 mGiantPuzzleAimAngle; + u32 unk0x578; + u32 unk0x588; +}; + #endif \ No newline at end of file diff --git a/include/d/d_com/d_com_inf_game/asm/func_8002B1DC.s b/include/d/d_com/d_com_inf_game/asm/func_8002B1DC.s index f196b1ef416..d3ce182bcc3 100644 --- a/include/d/d_com/d_com_inf_game/asm/func_8002B1DC.s +++ b/include/d/d_com/d_com_inf_game/asm/func_8002B1DC.s @@ -10,7 +10,7 @@ /* 8002B200 00028140 38 7F 50 24 */ addi r3, r31, 0x5024 /* 8002B204 00028144 38 80 00 00 */ li r4, 0 /* 8002B208 00028148 38 A0 00 08 */ li r5, 8 -/* 8002B20C 0002814C 4B FD 82 4D */ bl func_80003458 +/* 8002B20C 0002814C 4B FD 82 4D */ bl memset /* 8002B210 00028150 7F E3 FB 78 */ mr r3, r31 /* 8002B214 00028154 48 00 00 19 */ bl init__14dComIfG_play_cFv /* 8002B218 00028158 83 E1 00 0C */ lwz r31, 0xc(r1) diff --git a/include/d/d_com/d_com_inf_game/d_com_inf_game.h b/include/d/d_com/d_com_inf_game/d_com_inf_game.h index dc5447a5155..0b28014ec67 100644 --- a/include/d/d_com/d_com_inf_game/d_com_inf_game.h +++ b/include/d/d_com/d_com_inf_game/d_com_inf_game.h @@ -79,6 +79,18 @@ public: field_0x4ec0[0x3B] = status; field_0x4ec0[0x56] = unk; } + void setRStatus(u8 status, u8 unk) { + field_0x4ec0[0x24] = status; + field_0x4ec0[0x4A] = unk; + } + void setDoStatus(u8 status, u8 unk) { + field_0x4ec0[0x2C] = status; + field_0x4ec0[0x52] = unk; + } + void setAStatus(u8 status, u8 unk) { + field_0x4ec0[0x25] = status; + field_0x4ec0[0x4B] = unk; + } void setItemLifeCount(float hearts, u8 unk) { give_item.hearts += hearts; unk_heart = unk; @@ -92,6 +104,8 @@ public: void setItemMaxLifeCount(short max) { give_item.max_life += max; } void setOxygen(long oxygen) { give_item.oxygen = oxygen; } void setMaxOxygen(long max) { give_item.max_oxygen = max; } + u8 getDoStatus(void) { return field_0x4ec0[0x2C]; } + u8 getRStatus(void) { return field_0x4ec0[0x24]; } private: /* 0x00000 */ dBgS dbgs; @@ -186,17 +200,22 @@ private: extern dComIfG_inf_c g_dComIfG_gameInfo; +void dComIfGp_setItemLifeCount(float, u8); +void dComIfGp_setItemRupeeCount(long); int dComIfGs_isItemFirstBit(u8); +inline void dComIfGp_setRStatus(u8 status, u8 unk) { + g_dComIfG_gameInfo.getPlay().setRStatus(status, unk); +} +inline void dComIfGp_setDoStatus(u8 status, u8 unk) { + g_dComIfG_gameInfo.getPlay().setDoStatus(status, unk); +} +inline void dComIfGp_setAStatus(u8 status, u8 unk) { + g_dComIfG_gameInfo.getPlay().setAStatus(status, unk); +} inline void dComIfGp_setZStatus(u8 status, u8 unk) { g_dComIfG_gameInfo.getPlay().setZStatus(status, unk); } -inline void dComIfGp_setItemLifeCount(float amount, u8 unk) { - g_dComIfG_gameInfo.getPlay().setItemLifeCount(amount, unk); -} -inline void dComIfGp_setItemRupeeCount(long amount) { - g_dComIfG_gameInfo.getPlay().setItemRupeeCount(amount); -} inline void dComIfGp_setItemMagicCount(short amount) { g_dComIfG_gameInfo.getPlay().setItemMagicCount(amount); } @@ -330,5 +349,20 @@ inline u8 dComIfGs_checkBottle(u8 type) { inline BOOL dComIfGs_isLightDropGetFlag(u8 area_id) { return g_dComIfG_gameInfo.getSaveFile().getLightDrop().isLightDropGetFlag(area_id); } +inline u8 dComIfGs_getArrowMax(void) { + return g_dComIfG_gameInfo.getSaveFile().getPlayer().getPlayerItemMax().getArrowNum(); +} +inline u8 dComIfGs_getCollectSmell(void) { + return g_dComIfG_gameInfo.getSaveFile().getPlayer().getPlayerStatusA().getSelectEquip(3); +} +inline u8 dComIfGs_getPohSpiritNum(void) { + return g_dComIfG_gameInfo.getSaveFile().getPlayer().getPlayerCollect().getPohNum(); +} +inline u8 dComIfGs_getKeyNum(void) { + return g_dComIfG_gameInfo.getMemory().getTempFlags().getKeyNum(); +} +inline void dComIfGs_onItemFirstBit(u8 i_no) { + g_dComIfG_gameInfo.getSaveFile().getPlayerGetItem().onFirstBit(i_no); +} #endif \ No newline at end of file diff --git a/include/d/d_item/d_item/d_item.h b/include/d/d_item/d_item/d_item.h index aebfacd2120..b703c8ecb44 100644 --- a/include/d/d_item/d_item/d_item.h +++ b/include/d/d_item/d_item/d_item.h @@ -9,4 +9,12 @@ int checkItemGet(u8, int); extern int (*item_func_ptr[256])(void); extern int (*item_getcheck_func_ptr[256])(void); +inline int getItemFunc(u8 i_no) { + dComIfGs_onItemFirstBit(i_no); + return item_func_ptr[i_no](); +} +inline int getCheckItemFunc(u8 i_no) { + return item_getcheck_func_ptr[i_no](); +} + #endif \ No newline at end of file diff --git a/include/d/d_kankyo/asm/func_8019EC98.s b/include/d/d_kankyo/asm/func_8019EC98.s index ff9197e812b..6a1a23f5b83 100644 --- a/include/d/d_kankyo/asm/func_8019EC98.s +++ b/include/d/d_kankyo/asm/func_8019EC98.s @@ -379,7 +379,7 @@ lbl_8019F224: /* 8019F234 0019C174 38 63 12 88 */ addi r3, r3, 0x1288 /* 8019F238 0019C178 38 80 00 00 */ li r4, 0 /* 8019F23C 0019C17C 38 A0 00 10 */ li r5, 0x10 -/* 8019F240 0019C180 4B E6 42 19 */ bl func_80003458 +/* 8019F240 0019C180 4B E6 42 19 */ bl memset /* 8019F244 0019C184 E3 E1 00 38 */ psq_l f31, 56(r1), 0, 0 /* 8019F248 0019C188 CB E1 00 30 */ lfd f31, 0x30(r1) /* 8019F24C 0019C18C 39 61 00 30 */ addi r11, r1, 0x30 diff --git a/include/d/d_kankyo/asm/func_801A2090.s b/include/d/d_kankyo/asm/func_801A2090.s index 368c760cf86..bbf795f6293 100644 --- a/include/d/d_kankyo/asm/func_801A2090.s +++ b/include/d/d_kankyo/asm/func_801A2090.s @@ -11,7 +11,7 @@ /* 801A20B8 0019EFF8 7C 1E 00 50 */ subf r0, r30, r0 /* 801A20BC 0019EFFC 7C 1F 07 34 */ extsh r31, r0 /* 801A20C0 0019F000 7F E3 FB 78 */ mr r3, r31 -/* 801A20C4 0019F004 48 1C 30 0D */ bl func_803650D0 +/* 801A20C4 0019F004 48 1C 30 0D */ bl abs /* 801A20C8 0019F008 7F 80 07 34 */ extsh r0, r28 /* 801A20CC 0019F00C 7C 03 00 00 */ cmpw r3, r0 /* 801A20D0 0019F010 41 80 00 0C */ blt lbl_801A20DC diff --git a/include/d/d_kankyo/asm/func_801A88EC.s b/include/d/d_kankyo/asm/func_801A88EC.s index 7200c958822..d96c3504bfb 100644 --- a/include/d/d_kankyo/asm/func_801A88EC.s +++ b/include/d/d_kankyo/asm/func_801A88EC.s @@ -8,7 +8,7 @@ /* 801A8908 001A5848 7C BE 2B 78 */ mr r30, r5 /* 801A890C 001A584C 38 80 00 00 */ li r4, 0 /* 801A8910 001A5850 38 A0 03 88 */ li r5, 0x388 -/* 801A8914 001A5854 4B E5 AB 45 */ bl func_80003458 +/* 801A8914 001A5854 4B E5 AB 45 */ bl memset /* 801A8918 001A5858 7F A0 07 74 */ extsb r0, r29 /* 801A891C 001A585C 2C 00 FF FF */ cmpwi r0, -1 /* 801A8920 001A5860 40 82 00 10 */ bne lbl_801A8930 diff --git a/include/d/d_save/d_save/d_save.h b/include/d/d_save/d_save/d_save.h index 4480da87291..c2acd22d426 100644 --- a/include/d/d_save/d_save/d_save.h +++ b/include/d/d_save/d_save/d_save.h @@ -326,10 +326,10 @@ public: u16 getRupeeMax(void) const; int isMagicFlag(u8) const; - u16& getCurrentHealth() { return mCurrentHealth; } - u16& getCurrentRupees() { return mCurrentRupees; } - u16& getCurrentLanternOil() { return mCurrentLanternOil; } - u8& getScent() { return mEquipment[3]; } + u16& getLife() { return mCurrentHealth; } + u16& getRupee() { return mCurrentRupees; } + u16& getOil() { return mCurrentLanternOil; } + u8& getSelectEquip(int item) { return mEquipment[item]; } void setWalletLV(u8 lv) { mCurrentWallet = lv; } void setOil(u16 oil) { mCurrentLanternOil = oil; } void setMaxOil(u16 max) { mMaxLanternOil = max; } @@ -512,7 +512,7 @@ public: u8 getBombNum(u8) const; void setArrowNum(u8 max) { mItemCapacities[0] = max; } - u8 getBowCapacity() { return mItemCapacities[0]; } + u8 getArrowNum() { return mItemCapacities[0]; } private: u8 mItemCapacities[8]; @@ -528,7 +528,7 @@ public: void onCollectMirror(u8); BOOL isCollectMirror(u8) const; - u8 getPoeCount() { return mPoeCount; } + u8 getPohNum() { return mPoeCount; } private: u8 unk0[8]; @@ -683,7 +683,7 @@ public: void onDungeonItem(int); bool isDungeonItem(int) const; - u8 getSmallKeys() { return small_key_flags; } + u8 getKeyNum() { return small_key_flags; } void onDungeonItemMap() { onDungeonItem(MAP_FLAG); } bool isDungeonItemMap() const { return isDungeonItem(MAP_FLAG); } void onDungeonItemCompass() { onDungeonItem(COMPASS_FLAG); } diff --git a/include/functions.h b/include/functions.h index 4559284138c..b9ee7b90e00 100644 --- a/include/functions.h +++ b/include/functions.h @@ -140,7 +140,7 @@ void setPlayTime__12dFile_info_cFP10dSv_save_c(void); void func_80362540(void); void dDlst_list_c_NS_set(void); void init__14dComIfG_play_cFv(void); -void func_80003458(void); +void* memset(void* dest, int ch, u32 count); void dStage_roomControl_c_NS_initZone(void); void JUTWarningConsole(void); void JUTConsole_NS_print(void); @@ -170,8 +170,7 @@ void DCStoreRange(void*, u32); void DCInvalidateRange(void*, u32); void DCStoreRangeNoSync(void); void JKRDvdRipper_NS_loadToMainRAM_X1_(void); -void func_80003458(void); -void func_803650D0(void); +int abs(int); void JKRDecomp_NS_orderSync(void); void JKRAramHeap_NS_alloc(void); void JKRAram_NS_aramToMainRam(void); @@ -180,13 +179,12 @@ void JKRAram_NS_mainRamToAram(void); void JKRAramPiece_NS_sendCommand(void); void __RAS_OSDisableInterrupts_begin(void); void func_80361C24(void); -void JSUInputStream_NS_read(void); -void JSURandomInputStream_NS_seek(void); +class JSUInputStream; +s32 JSUInputStream_NS_read(JSUInputStream*, u8*, u32); +class JSURandomInputStream; +void JSURandomInputStream_NS_seek(JSURandomInputStream*, u32, u32); void JSUInputStream_NS_dtor(void); void JSUFileInputStream_ct(void); -void ARAlloc(void); -void ARGetSize(void); -void ARInit(void); void DCStoreRangeNoSync(void); void __RAS_OSDisableInterrupts_begin(void); u8 dComIfGs_getBottleMax(void); @@ -351,7 +349,6 @@ void setPlayTime__12dFile_info_cFP10dSv_save_c(void); void func_80362540(void); void dDlst_list_c_NS_set(void); void init__14dComIfG_play_cFv(void); -void func_80003458(void); void dStage_roomControl_c_NS_initZone(void); void JUTWarningConsole(void); void JUTConsole_NS_print(void); @@ -374,8 +371,6 @@ void JKRArchive_NS_findPtrResource(void); void JKRArchive_NS_findTypeResource(void); void JKRDvdRipper_NS_loadToMainRAM_X1_(void); -void func_80003458(void); -void func_803650D0(void); void JKRDecomp_NS_orderSync(void); @@ -388,15 +383,9 @@ void JKRAramPiece_NS_sendCommand(void); void __RAS_OSDisableInterrupts_begin(void); void func_80361C24(void); -void JSUInputStream_NS_read(void); -void JSURandomInputStream_NS_seek(void); - void JSUInputStream_NS_dtor(void); void JSUFileInputStream_ct(void); -void ARAlloc(void); -void ARGetSize(void); -void ARInit(void); void DCStoreRangeNoSync(void); void __RAS_OSDisableInterrupts_begin(void); u8 dComIfGs_getBottleMax(void); @@ -871,7 +860,7 @@ void __ct__13JKRMemArchiveFlQ210JKRArchive15EMountDirection(void); void __dt__13JKRMemArchiveFv(void); void fetchResource__13JKRMemArchiveFP12SDIFileEntryPUl(void); void fetchResource__13JKRMemArchiveFPvUlP12SDIFileEntryPUl(void); -void fetchResource_subroutine__13JKRMemArchiveFPUcUlPUcUl14JKRCompression(void); +void fetchResource_subroutine__13JKRMemArchiveFPUcUlPUcUli(void); void getExpandedResSize__13JKRMemArchiveCFPCv(void); void open__13JKRMemArchiveFPvUl15JKRMemBreakFlag(void); void open__13JKRMemArchiveFlQ210JKRArchive15EMountDirection(void); @@ -931,15 +920,15 @@ void JKRDecompressFromDVD__FP10JKRDvdFilePvUlUlUlUlPUl(void); // void __dt__23JSUList<12JKRDMCommand>Fv(void); void __sinit_JKRDvdRipper_cpp(void); void decompSZS_subroutine__FPUcPUc(void); -void firstSrcData__Fv(void); void isErrorRetry__12JKRDvdRipperFv(void); -void loadToMainRAM__12JKRDvdRipperFP10JKRDvdFilePUc15JKRExpandSwitchUlP7JKRHeapQ212JKRDvdRipper15EAllocDirectionUlP14JKRCompressionPUl( +void loadToMainRAM__12JKRDvdRipperFP10JKRDvdFilePUc15JKRExpandSwitchUlP7JKRHeapQ212JKRDvdRipper15EAllocDirectionUlPiPUl( void); -void loadToMainRAM__12JKRDvdRipperFP10JKRDvdFilePUc15JKRExpandSwitchUlP7JKRHeapQ212JKRDvdRipper15EAllocDirectionUlP14JKRCompressionPUl( +void loadToMainRAM__12JKRDvdRipperFP10JKRDvdFilePUc15JKRExpandSwitchUlP7JKRHeapQ212JKRDvdRipper15EAllocDirectionUlPiPUl( void); -void loadToMainRAM__12JKRDvdRipperFlPUc15JKRExpandSwitchUlP7JKRHeapQ212JKRDvdRipper15EAllocDirectionUlP14JKRCompressionPUl( +void loadToMainRAM__12JKRDvdRipperFlPUc15JKRExpandSwitchUlP7JKRHeapQ212JKRDvdRipper15EAllocDirectionUlPiPUl( void); void nextSrcData__FPUc(void); +void firstSrcData__Fv(void); }; // JSystem/JKernel/JKRAramBlock @@ -1004,11 +993,11 @@ void __sinit_JKRDvdAramRipper_cpp(void); void callCommand_Async__16JKRDvdAramRipperFP12JKRADCommand(void); void decompSZS_subroutine__FPUcUl(void); void dmaBufferFlush__FUl(void); -void firstSrcData__Fv(void); void loadToAram_Async__16JKRDvdAramRipperFP10JKRDvdFileUl15JKRExpandSwitchPFUl_vUlUlPUl(void); void loadToAram__16JKRDvdAramRipperFP10JKRDvdFileUl15JKRExpandSwitchUlUlPUl(void); void loadToAram__16JKRDvdAramRipperFlUl15JKRExpandSwitchUlUlPUl(void); void nextSrcData__FPUc(void); +void firstSrcData__Fv(void); void syncAram__16JKRDvdAramRipperFP12JKRADCommandi(void); }; @@ -1024,9 +1013,9 @@ void changeGroupIdIfNeed__7JKRAramFPUci(void); void checkOkAddress__7JKRAramFPUcUlP12JKRAramBlockUl(void); void create__7JKRAramFUlUllll(void); void decompSZS_subroutine__FPUcPUc(void); -void firstSrcData__Fv(void); void mainRamToAram__7JKRAramFPUcUlUl15JKRExpandSwitchUlP7JKRHeapiPUl(void); void nextSrcData__FPUc(void); +void firstSrcData__Fv(void); void run__7JKRAramFv(void); }; @@ -1343,7 +1332,7 @@ void func_801417E0(void); void normZP__4cXyzCFv(void); void daAlink_c_NS_checkEquipAnime(void); void daAlink_c_NS_concatMagneBootInvMtx(void); -void dComIfGp_getRStatus(void); +u8 dComIfGp_getRStatus(void); void daAlink_c_NS_commonHookshotWallWait(void); void daAlink_c_NS_checkBootsMoveAnime(void); void func_800EC5F4(void); @@ -1484,7 +1473,7 @@ void setWolfEyeOpen__14Z2CreatureLinkFb(void); void GXSetCurrentMtx(void); void daAlink_c_NS_setWolfJumpAttackEffect(void); void func_8014471C(void); -void daAlink_c_NS_setRStatusEmphasys(void); +void setRStatusEmphasys__9daAlink_cFUc(void); void func_8011EBDC(void); void daAlink_c_NS_setSmallGuard(void); void daAlink_c_NS_setBodyPartPos(void); @@ -1522,7 +1511,7 @@ void Z2SeqMgr_NS_taktModeMute(void); void daAlink_c_NS_procInsectCatchInit(void); void dBgS_NS_GetGrpSoundId(void); void func_8011ED18(void); -void daAlink_c_NS_setDoStatusEmphasys(void); +void setDoStatusEmphasys__9daAlink_cFUc(void); void func_800B4908(void); void daAlink_c_NS_setSwordCutSplash(void); void func_8011C890(void); @@ -1655,7 +1644,7 @@ void daAlink_c_NS_procCopyRodSwingInit(void); void daPy_addCalcShort(void); void daAlink_c_NS_setSyncBoarPos(void); void cM3d_Len2dSqPntAndSegLine__FffffffPfPfPf(void); -void daAlink_c_NS_itemTriggerCheck(void); +void itemTriggerCheck__9daAlink_cFUc(void); void daAlink_c_NS_checkClimbRoof(void); void daAlink_c_NS_checkUpperItemActionFly(void); void func_800D0660(void); @@ -1767,7 +1756,7 @@ void dBgS_RoofChk_NS_dtor(void); void daAlink_c_NS_checkReinRide(void); void func_800CF314(void); void func_800E7BD0(void); -void daAlink_c_NS_itemTrigger(void); +void itemTrigger__9daAlink_cFv(void); void cM3dGPla_NS_dtor(void); void daAlink_c_NS_warpModelTexScroll(void); void func_800DC8C4(void); @@ -1815,7 +1804,7 @@ void mDoMtx_ZXYrotS(void); void daAlink_c_NS_setWolfSenceStatus(void); void dEvt_control_c_NS_convPId(void); void daAlink_c_NS_setHookshotSight(void); -void daAlink_c_NS_midnaTalkTrigger(void); +void midnaTalkTrigger__9daAlink_cCFv(void); void daAlink_c_NS_checkForceSwordSwing(void); void daPy_py_c_NS_checkBoarSingleBattle(void); void func_800F6E44(void); @@ -2000,7 +1989,7 @@ void cM_rnd__Fv(void); void dCcD_GObjInf_NS_GetAtHitGObj(void); void dBgS_RoofChk(void); void daAlink_c_NS_getCutDirection(void); -void daAlink_c_NS_setDoStatus(void); +void setDoStatus__9daAlink_cFUc(void); void func_800CF2F8(void); void dBgS_ArrowLinChk_NS_dtor(void); void daAlink_c_NS_setCutType(void); @@ -2192,7 +2181,7 @@ void func_80141724(void); void daAlink_c_NS_procWolfHowlInit(void); void daAlink_c_NS_checkSwordTwirlAction(void); void func_800D0360(void); -void daAlink_c_NS_setBStatus(void); +void setBStatus__9daAlink_cFUc(void); void func_800C3868(void); void dPa_control_c_NS_getPolyColor(void); void daAlink_searchPeepObj(void); @@ -2334,7 +2323,7 @@ void func_80141684(void); void daAlink_c_NS_procCoDeadInit(void); void daAlink_c_NS_setSelectEquipItem(void); void daAlink_c_NS_setTradeItemOutHand(void); -void daAlink_c_NS_swordSwingTrigger(void); +void swordSwingTrigger__9daAlink_cFv(void); void func_801351F8(void); void dKy_shadow_mode_set(void); void daAlink_c_NS_checkCutReverseAt(void); @@ -2354,7 +2343,7 @@ void daAlink_c_NS_checkUnderMove1BckNoArc(void); void dComIfG_resLoad_X1_(void); void daAlink_c_NS_setSwimUpDownOffset(void); void daAlink_c_NS_procBowMoveInit(void); -void daAlink_c_NS_itemButtonCheck(void); +void itemButtonCheck__9daAlink_cFUc(void); void daAlink_c_NS_getClimbDirectionFromAngle(void); void daAlink_c_NS_commonSingleAnime(void); void func_8014186C(void); @@ -2504,7 +2493,7 @@ void daAlink_c_NS_wolfSenseTrigger(void); void daAlink_c_NS_setShieldGuard(void); void func_800F10F8(void); void daAlink_c_NS_checkNextActionHorse(void); -void daPy_actorKeep_c(void); +void __ct__16daPy_actorKeep_cFv(void); void daAlink_c_NS_getWallEdgePos(void); void daAlink_c_NS_checkGrabAnimeAndThrow(void); void func_8014171C(void); @@ -2639,7 +2628,7 @@ void daAlink_c_NS_checkRestartDead(void); void func_800F5048(void); void func_800D09AC(void); void daNpcT_ActorMngr_c_NS_getActorP(void); -void daAlink_c_NS_spActionButton(void); +void spActionButton__9daAlink_cFv(void); void daAlink_c_NS_checkLandHookshotHang(void); void daAlink_c_NS_setBoardLandAnime(void); void daAlink_c_NS_setSwordPos(void); @@ -2859,7 +2848,7 @@ void daAlink_c_NS_checkPushPullTurnBlock(void); void dMeter2Info_c_NS_resetWarpStatus(void); void daAlink_c_NS_procHorseSubjectivityInit(void); void dEvent_manager_c_NS_setGoal(void); -void daAlink_c_NS_spActionTrigger(void); +void spActionTrigger__9daAlink_cFv(void); void func_800F24C8(void); void cXyz_X2_(void); void daAlink_c_NS_procFrontRollSuccessInit(void); @@ -2911,7 +2900,7 @@ void daAlink_c_NS_setIronBallPos(void); void daAlink_c_NS_setSwordVoiceSe(void); void func_800D07FC(void); void daAlink_c_NS_checkGrabNotThrow(void); -void daAlink_c_NS_setShieldChange(void); +void setShieldChange__9daAlink_cFv(void); void daAlink_c_NS_setWolfBiteDamage(void); void func_800F3818(void); void dPaPoF_c_NS_clearFourAllID(void); @@ -3041,7 +3030,7 @@ void daAlink_c_NS_checkHugeAttack(void); void daAlink_c_NS_cancelItemUseQuake(void); void daAlink_c_NS_initDemoModel(void); void daAlink_c_NS_setRoomInfo(void); -void dComIfGs_getLife(void); +u16 dComIfGs_getLife(void); void daAlink_c_NS_procHookshotMoveInit(void); void daAlink_c_NS_procCoWarpInit(void); void dCcD_Cyl(void); @@ -3053,7 +3042,7 @@ void func_801418C0(void); void daAlink_c_NS_checkOilBottleItemNotGet(void); void func_800C755C(void); void J3DMaterialTable_NS_removeTevRegAnimator(void); -void daAlink_c_NS_setRStatus(void); +void setRStatus__9daAlink_cFUc(void); void daAlink_c_NS_checkBossBabaRoom(void); void JPAEmitterCallBack_NS_dtor(void); void daAlink_c_NS_procWolfMidnaRideShockInit(void); @@ -3158,14 +3147,14 @@ void daAlink_c_NS_setGoatStopGameFail(void); void daAlink_c_NS_procLandInit(void); void daAlink_c_NS_setLastSceneDamage(void); void daAlink_c_NS_setShapeAngleToAtnActor(void); -void dComIfGp_setItemRupeeCount(void); +void dComIfGp_setItemRupeeCount__Fl(long); void dMsgFlow_c_NS_doFlow(void); void func_800F9F30(void); void dBgS_NS_PushPullCallBack(void); void daPy_py_c_NS_checkMidnaRide(void); void dBgS_NS_GetRoomId(void); void dEvt_control_c_NS_isOrderOK(void); -void daAlink_c_NS_itemButton(void); +void itemButton__9daAlink_cFv(void); void dCcD_Cyl_NS_StartCAt(void); void daAlink_c_NS_setGrabUpperAnime(void); void mDoMtx_stack_c_NS_transS(void); @@ -3177,7 +3166,7 @@ void daAlink_c_NS_setSyncHorsePos(void); void daAlink_c_NS_setStickAnmData(void); void func_800D67FC(void); void func_8010FF58(void); -void dComIfGp_getDoStatus(void); +u8 dComIfGp_getDoStatus(void); void dBgS_LinkLinChk_NS_dtor(void); void func_801120C8(void); void daAlink_c_NS_checkAutoJumpAction(void); @@ -3384,7 +3373,7 @@ void daAlink_searchEnemyCargo(void); void dComIfGp_setBottleStatus(void); void daAlink_c_NS_setStickData(void); void daAlink_c_NS_procWolfLargeDamageUpInit(void); -void dComIfGs_getRupee(void); +u16 dComIfGs_getRupee(void); void daAlink_c_NS_checkCutTurnInput(void); void dAttention_c_NS_LockonTarget(void); void func_801446E4(void); @@ -3399,7 +3388,7 @@ void daAlink_c_NS_makeFairy(void); void daAlink_c_NS_procRoofHangFrontMoveInit(void); void dJntCol_c_NS_getHitmarkPosAndAngle(void); void func_800D079C(void); -void dComIfGp_setItemLifeCount(void); +void dComIfGp_setItemLifeCount__FfUc(void); void func_801417A8(void); void func_80110E80(void); void func_801196D8(void); @@ -3572,7 +3561,7 @@ void onNoServiceWait__9daMidna_cFv(void); void func_80105728(void); void daAlink_searchNightStalker(void); void func_80107418(void); -void daHorse_c_NS_getZeldaActor(void); +void getZeldaActor__9daHorse_cFv(void); void func_800D6DA4(void); void J3DAnmTevRegKey_NS_getTevColorReg(void); void daAlink_c_NS_makeItemType(void); @@ -3761,7 +3750,7 @@ void daAlink_c_NS_autoGroundHit(void); void dBgS_NS_GetSpecialCode(void); void daAlink_c_NS_setCollisionPos(void); void daAlink_c_NS_procCutHeadLandInit(void); -void daAlink_c_NS_setDoStatusContinuation(void); +void setDoStatusContinuation__9daAlink_cFUc(void); void func_800CD78C(void); void daAlink_c_NS_procHookshotSubjectInit(void); void daAlink_c_NS_setUpperAnimeParam(void); diff --git a/include/global.h b/include/global.h index 75cb37b293d..638fbe40791 100644 --- a/include/global.h +++ b/include/global.h @@ -7,10 +7,13 @@ #define ALIGN_PREV(X, N) ((X) & ~((N)-1)) // Align X to the next N bytes (N must be power of two) #define ALIGN_NEXT(X, N) ALIGN_PREV(((X) + (N)-1), N) +#define IS_ALIGNED(X, N) (((X) & ((N)-1)) == 0) +#define IS_NOT_ALIGNED(X, N) (((X) & ((N)-1)) != 0) #define JUT_ASSERT(...) #define ASSERT(...) #define LOGF(FMT, ...) +#define FLAG_ON(V, F) (((V) & (F)) == 0) extern float __fabsf(float); @@ -26,6 +29,7 @@ inline double sqrt(double d) { #include "dolphin/types.h" +#include "ar/AR.h" #include "ar/ARQ.h" #include "functions.h" #include "mwcc.h" diff --git a/include/m_Do/m_Do_main/asm/func_80005AD8.s b/include/m_Do/m_Do_main/asm/func_80005AD8.s index 91577f8f1ba..40c5b047cd4 100644 --- a/include/m_Do/m_Do_main/asm/func_80005AD8.s +++ b/include/m_Do/m_Do_main/asm/func_80005AD8.s @@ -19,7 +19,7 @@ lbl_80005B1C: /* 80005B1C 00002A5C 88 0D 80 08 */ lbz r0, lbl_80450588-_SDA_BASE_(r13) /* 80005B20 00002A60 28 00 00 05 */ cmplwi r0, 5 /* 80005B24 00002A64 40 82 00 A0 */ bne lbl_80005BC4 -/* 80005B28 00002A68 80 6D 8E 48 */ lwz r3, lbl_804513C8-_SDA_BASE_(r13) +/* 80005B28 00002A68 80 6D 8E 48 */ lwz r3, sAramObject__7JKRAram-_SDA_BASE_(r13) /* 80005B2C 00002A6C 83 23 00 94 */ lwz r25, 0x94(r3) /* 80005B30 00002A70 28 19 00 00 */ cmplwi r25, 0 /* 80005B34 00002A74 41 82 02 00 */ beq lbl_80005D34 diff --git a/include/m_Do/m_Do_main/asm/func_80005D4C.s b/include/m_Do/m_Do_main/asm/func_80005D4C.s index 28ec4a8f708..736e68245e5 100644 --- a/include/m_Do/m_Do_main/asm/func_80005D4C.s +++ b/include/m_Do/m_Do_main/asm/func_80005D4C.s @@ -194,7 +194,7 @@ lbl_80005FF4: lbl_80006014: /* 80006014 00002F54 54 80 07 FF */ clrlwi. r0, r4, 0x1f /* 80006018 00002F58 41 82 00 30 */ beq lbl_80006048 -/* 8000601C 00002F5C 80 6D 8E 48 */ lwz r3, lbl_804513C8-_SDA_BASE_(r13) +/* 8000601C 00002F5C 80 6D 8E 48 */ lwz r3, sAramObject__7JKRAram-_SDA_BASE_(r13) /* 80006020 00002F60 80 63 00 94 */ lwz r3, 0x94(r3) /* 80006024 00002F64 28 03 00 00 */ cmplwi r3, 0 /* 80006028 00002F68 41 82 00 08 */ beq lbl_80006030 @@ -210,7 +210,7 @@ lbl_80006048: /* 80006048 00002F88 80 1E 00 00 */ lwz r0, 0(r30) /* 8000604C 00002F8C 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e /* 80006050 00002F90 41 82 00 18 */ beq lbl_80006068 -/* 80006054 00002F94 80 6D 8D F0 */ lwz r3, lbl_80451370-_SDA_BASE_(r13) +/* 80006054 00002F94 80 6D 8D F0 */ lwz r3, sSystemHeap__7JKRHeap-_SDA_BASE_(r13) /* 80006058 00002F98 81 83 00 00 */ lwz r12, 0(r3) /* 8000605C 00002F9C 81 8C 00 18 */ lwz r12, 0x18(r12) /* 80006060 00002FA0 7D 89 03 A6 */ mtctr r12 diff --git a/include/m_Do/m_Do_main/asm/func_8000628C.s b/include/m_Do/m_Do_main/asm/func_8000628C.s index 3fe94dc0090..a3018a69e05 100644 --- a/include/m_Do/m_Do_main/asm/func_8000628C.s +++ b/include/m_Do/m_Do_main/asm/func_8000628C.s @@ -7,7 +7,7 @@ /* 800062A4 000031E4 48 00 5A A1 */ bl mDoMch_Create /* 800062A8 000031E8 48 00 4E CD */ bl mDoGph_Create /* 800062AC 000031EC 48 00 16 A9 */ bl create__8mDoCPd_cFv -/* 800062B0 000031F0 80 8D 8D F8 */ lwz r4, lbl_80451378-_SDA_BASE_(r13) +/* 800062B0 000031F0 80 8D 8D F8 */ lwz r4, sRootHeap__7JKRHeap-_SDA_BASE_(r13) /* 800062B4 000031F4 38 7F 00 00 */ addi r3, r31, 0 /* 800062B8 000031F8 90 83 00 08 */ stw r4, 8(r3) /* 800062BC 000031FC 28 04 00 00 */ cmplwi r4, 0 @@ -15,7 +15,7 @@ /* 800062C4 00003204 80 04 00 38 */ lwz r0, 0x38(r4) /* 800062C8 00003208 90 03 00 1C */ stw r0, 0x1c(r3) lbl_800062CC: -/* 800062CC 0000320C 80 8D 8D F0 */ lwz r4, lbl_80451370-_SDA_BASE_(r13) +/* 800062CC 0000320C 80 8D 8D F0 */ lwz r4, sSystemHeap__7JKRHeap-_SDA_BASE_(r13) /* 800062D0 00003210 38 7F 00 28 */ addi r3, r31, 0x28 /* 800062D4 00003214 90 83 00 08 */ stw r4, 8(r3) /* 800062D8 00003218 28 04 00 00 */ cmplwi r4, 0 @@ -94,7 +94,7 @@ lbl_800063A8: /* 800063DC 0000331C 48 01 23 89 */ bl cDyl_InitAsync /* 800063E0 00003320 3C 60 00 15 */ lis r3, 0x0014D800@ha /* 800063E4 00003324 38 63 D8 00 */ addi r3, r3, 0x0014D800@l -/* 800063E8 00003328 80 8D 8D F4 */ lwz r4, lbl_80451374-_SDA_BASE_(r13) +/* 800063E8 00003328 80 8D 8D F4 */ lwz r4, sCurrentHeap__7JKRHeap-_SDA_BASE_(r13) /* 800063EC 0000332C 38 A0 00 00 */ li r5, 0 /* 800063F0 00003330 48 2C A6 35 */ bl create__12JKRSolidHeapFUlP7JKRHeapb /* 800063F4 00003334 90 6D 86 3C */ stw r3, lbl_80450BBC-_SDA_BASE_(r13) diff --git a/include/os/OS.h b/include/os/OS.h index b3cff64bf09..c500d96f670 100644 --- a/include/os/OS.h +++ b/include/os/OS.h @@ -1,5 +1,5 @@ -// at some point: we should split this up into various OS/... headers. but not yet, since barely any -// files include this atm. +// at some point: we should split this up into various OS/... headers. but not +// yet, since barely any files include this atm. #ifndef __OS_H__ #define __OS_H__ @@ -142,7 +142,7 @@ BOOL OSIsThreadTerminated(OSThread* thread); OSSwitchThreadCallback OSSetSwitchThreadCallback(OSSwitchThreadCallback* callback); void OSInitMessageQueue(OSMessageQueue* queue, OSMessage* messages, int message_count); -BOOL OSReceiveMessage(OSMessageQueue* queue, OSMessage message, int flags); +BOOL OSReceiveMessage(OSMessageQueue* queue, OSMessage* message, int flags); BOOL OSSendMessage(OSMessageQueue* queue, OSMessage message, int flags); BOOL OSJamMessage(OSMessageQueue* queue, OSMessage message, int flags); @@ -197,4 +197,95 @@ void OSSetSaveRegion(void* start, void* end); void LCDisable(void); }; +#include "dvd/dvd.h" + +struct GLOBAL_MEMORY { + DVDDiskID disk; + u32 nintendo_boot_code; /* Nintendo Standard Boot Code. */ + u32 field_0x24; /* Version (set by apploader) */ + u32 memory_size; /* Memory Size (Physical) 24MB */ + u32 field_0x2c; /* Production Board Model */ + u32 arena_low; /* Arena Low */ + u32 arena_high; /* Arena High */ + u32 field_0x38; /* Start of FST (varies in all games) */ + u32 field_0x3c; /* Maximum FST Size (varies in all games) */ + u8 padding_0x40[32]; + u8 field_0x60[36]; /* Hook is PPC assembler used by Debugger. */ + u8 padding_0x84[84]; + OSContext* field_0xd8; /* Current OSContext instance. */ + OSThread* field_0xdc; /* OSThread pointer, previously created thread. */ + OSThread* field_0xe0; /* OSThread pointer, most recently created thread. */ + OSThread* field_0xe4; /* Current thread pointer. */ + u32 field_0xe8; /* Dev Debugger Monitor Address (If present) */ + u32 field_0xec; /* Simulated Memory Size */ + u32 field_0xf0; /* Pointer to data read from partition's bi2.bin, set by apploader */ + u32 field_0xf4; /* Console Bus Speed */ + u32 field_0xf8; /* Console CPU Speed */ + u8 padding_0xfc[5892]; + u8 field_0x1800[6144]; /* Unused Exception Vector */ + u8 padding_0x3000[64]; + u32 field_0x3040[34]; /* __OSInterrupt table. */ + u32 field_0x30c8; /* Pointer to the first loaded REL file. */ + u32 field_0x30cc; /* Pointer to the last loaded REL file. */ + u32 field_0x30d0; /* Pointer to a REL module name table, or 0. */ + u8 padding_0x30d8[4]; + u64 field_0x30d8; /* System time */ + u8 padding_0x30e0[4]; + u32 field_0x30e4; /* __OSPADButton */ + u8 padding_0x30ec[8]; + u32 field_0x30f0; /* DOL Execute Parameters */ + u8 padding_0x30f4[12]; + u32 field_0x3100; /* Physical MEM1 size */ + u32 field_0x3104; /* Simulated MEM1 size */ + u8 padding_0x3108[8]; + u32 field_0x3110; /* Heap pointer (end of usable memory by the game) */ + u8 padding_0x3114[4]; + u32 field_0x3118; /* Physical MEM2 size */ + u32 field_0x311c; /* Simulated MEM2 size */ + u8 padding_0x3120[16]; + u32 field_0x3130; /* IOS Heap Range (start) */ + u32 field_0x3134; /* IOS Heap Range (end) */ + u32 field_0x3138; /* Hollywood Version */ + u8 padding_0x313c[4]; + u32 field_0x3140; /* IOS version */ + u32 field_0x3144; /* IOS Build Date */ + u8 padding_0x3148[16]; + u32 field_0x3158; /* GDDR Vendor Code */ + u32 field_0x315c; /* During the boot process, */ + u32 field_0x3160; /* Init semaphore (1-2 main() waits for this to clear) */ + u32 field_0x3164; /* GC (MIOS) mode flag? */ + u8 padding_0x3168[24]; + u32 field_0x3180; /* Game ID */ + u8 field_0x3184; /* Application type. 0x80 for disc games, 0x81 for channels. */ + u8 padding_0x3185; + u8 field_0x3186; /* Application type 2 */ + u8 padding_0x3187; + u32 field_0x3188; /* Minimum IOS version */ + u32 field_0x318c; /* Title Booted from NAND (Launch Code) */ + u32 field_0x3190; /* Title Booted from NAND (Return Code) */ + u32 field_0x3194; /* While reading a disc, the system menu reads the first partition table (0x20 + bytes from 0x00040020) and stores a pointer to the data partition entry. + When launching the disc game, it copies the partition type to 0x3194. The + partition type for data partitions is 0, so typically this location always + has 0. */ + u32 field_0x3198; /* While reading a disc, the system menu reads the first partition table (0x20 + bytes from 0x00040020) and stores a pointer to the data partition entry. + When launching the disc game, it copies the partition offset to 0x3198. */ + u32 field_0x319c; /* Set by the apploader to 0x80 for single-layer discs and 0x81 for dual-layer + discs (determined by whether 0x7ed40000 is the value at offset 0x30 in the + partition's bi2.bin; it seems that that value is 0 for single-layer discs). + Early titles' apploaders do not set it at all, leaving the value as 0. This + controls the /dev/di#0x8D_DVDLowUnencryptedRead out-of-bounds Error #001 + read for titles that do make such a read: they try to read at 0x7ed40000 + for dual-layer discs and 0x460a0000 for single-layer discs. */ + u8 field_0x31a0[3424]; +}; + +#define OS_ASSERT(...) + +inline void* OSPhysicalToCached(u32 offset) { + OS_ASSERT(offset <= 0x1fffffff); + return (void*)(offset + 0x80000000); +} + #endif \ No newline at end of file diff --git a/include/variables.h b/include/variables.h index 0b38b2ee132..383cff8b282 100644 --- a/include/variables.h +++ b/include/variables.h @@ -44,7 +44,7 @@ extern u8 lbl_80450C28; extern u8 lbl_80450C34; extern u8 lbl_80450B24; extern u8 lbl_80450B1C; -// extern u8 lbl_80450580; +extern s8 lbl_80450580[4]; // extern u8 lbl_80450B1A; struct JUTGamePad; extern JUTGamePad* m_gamePad[4]; @@ -85,19 +85,19 @@ extern u8 J3DLightObj; extern void* lbl_803CBF70; // JKRHeap::__vt class JKRHeap; -extern JKRHeap* lbl_80451370; // JKRHeap::sSystemHeap -extern JKRHeap* lbl_80451378; // JKRHeap::sRootHeap -extern JKRHeap* lbl_80451374; // JKRHeap::sCurrentHeap +extern JKRHeap* sSystemHeap__7JKRHeap; // JKRHeap::sSystemHeap +extern JKRHeap* sRootHeap__7JKRHeap; // JKRHeap::sRootHeap +extern JKRHeap* sCurrentHeap__7JKRHeap; // JKRHeap::sCurrentHeap extern bool lbl_804508B0; // ::*fill* extern bool lbl_80451380; // DAT_80451380 // func_802CE378 -extern void* lbl_80451384; // JKRHeap::mCodeStart -extern void* lbl_80451388; // JKRHeap::mCodeEnd -extern void* lbl_8045138C; // JKRHeap::mUserRamStart -extern void* lbl_80451390; // JKRHeap::mUserRamEnd -extern u32 lbl_80451394; // JKRHeap::mMemorySize +extern void* mCodeStart__7JKRHeap; // JKRHeap::mCodeStart +extern void* mCodeEnd__7JKRHeap; // JKRHeap::mCodeEnd +extern void* mUserRamStart__7JKRHeap; // JKRHeap::mUserRamStart +extern void* mUserRamEnd__7JKRHeap; // JKRHeap::mUserRamEnd +extern u32 mMemorySize__7JKRHeap; // JKRHeap::mMemorySize extern u8 lbl_80000000; extern u32 lbl_80000028; @@ -205,42 +205,41 @@ extern float lbl_80455FC4; // JKernel::@935 = 1000.0 extern double lbl_80455FC8; // JKernel::@937 = 4.503599627370496E15 class JKRDvdFile; -extern JSUList lbl_8043436C; // JKRDvdFile::sDvdList -extern u8 lbl_803CC438; // JKRDvdFile::__vt -extern u8 lbl_80434360; // JKernel::@657 (global destructor chain) -extern char lbl_8039D260[12]; // "JKRDvdFile.cpp" -extern u8 lbl_803CC328; // JKRFile::__vt +extern JSUList sDvdList__10JKRDvdFile; // JKRDvdFile::sDvdList +extern u8 lbl_803CC438; // JKRDvdFile::__vt +extern u8 lbl_80434360; // JKernel::@657 (global destructor chain) +extern char lbl_8039D260[12]; // "JKRDvdFile.cpp" +extern u8 lbl_803CC328; // JKRFile::__vt class JKRFileLoader; -extern JKRFileLoader* lbl_80451418; // JKRFileLoader::sCurrentVolume -extern char lbl_8039D158[16]; // "/" -extern u8 lbl_803CC238; // JKRFileCache::__vt -extern JSUList lbl_80434354; // JKRFileLoader::sVolumeList -extern u8 lbl_803CC218; // JKRArcFinder::__vt -extern u8 lbl_803CC228; // JKRFileFinder::__vt -extern u8 lbl_803CC208; // JKRDvdFinder::__vt -extern const char lbl_8039D150[16]; // "/" -extern u8 lbl_803CC1C8; // JKRFileLoader::__vt -extern const char lbl_804508C0[16]; // "/" JKernel::rootPath$2498 -extern u8 lbl_80434348; // JKernel::@2182 (global destructor chain) -extern const char lbl_803D2D18[256]; // MSL_C.PPCEABI.bare.H::__lower_map -extern u8 lbl_803CC090; // JKRAssertHeap::__vt -extern u8 lbl_80451398; // JKernel::DBfoundSize -extern u8 lbl_8045139C; // JKernel::DBfoundOffset -extern u8 lbl_804513A0; // JKernel::DBfoundBlock -extern u8 lbl_804513A4; // JKernel::DBnewFreeBlock -extern u8 lbl_804513A8; // JKernel::DBnewUsedBlock -extern float lbl_80455F98; // JKernel::@1121 = 100.0 -extern u8 lbl_803CBFD0; // JKRExpHeap::__vt -extern u8 lbl_8039CAF0; // ":::cannot alloc memory (0x%x byte).\n" -extern double lbl_80455FA0; // JKernel::@1123 = 4.503599627370496E15 -extern u8 lbl_803CC030; // JKRSolidHeap::__vt -extern double lbl_80455FB8; // JKernel::@697 = 4.503599627370496E15 -extern const char lbl_8039CE50[16]; // "allocFromHead: cannot alloc memory (0x%x byte).\n" -extern double lbl_80455FB0; // JKernel::@695 = 4.503601774854144E15 -extern float lbl_80455FA8; // JKernel::@693 = 100.0 -extern u32 lbl_80451420; // JKRArchive::sCurrentDirID -extern u8 lbl_803CC288; // JKRArchive::__vt +extern JKRFileLoader* sCurrentVolume__13JKRFileLoader; // JKRFileLoader::sCurrentVolume +extern char lbl_8039D158[16]; // "/" +extern u8 lbl_803CC238; // JKRFileCache::__vt +extern JSUList sVolumeList__13JKRFileLoader; // JKRFileLoader::sVolumeList +extern u8 lbl_803CC218; // JKRArcFinder::__vt +extern u8 lbl_803CC228; // JKRFileFinder::__vt +extern u8 lbl_803CC208; // JKRDvdFinder::__vt +extern const char lbl_8039D150[16]; // "/" +extern const char lbl_804508C0[16]; // "/" JKernel::rootPath$2498 +extern u8 lbl_80434348; // JKernel::@2182 (global destructor chain) +extern const char lbl_803D2D18[256]; // MSL_C.PPCEABI.bare.H::__lower_map +extern u8 lbl_803CC090; // JKRAssertHeap::__vt +extern u8 lbl_80451398; // JKernel::DBfoundSize +extern u8 lbl_8045139C; // JKernel::DBfoundOffset +extern u8 lbl_804513A0; // JKernel::DBfoundBlock +extern u8 lbl_804513A4; // JKernel::DBnewFreeBlock +extern u8 lbl_804513A8; // JKernel::DBnewUsedBlock +extern float lbl_80455F98; // JKernel::@1121 = 100.0 +extern u8 lbl_803CBFD0; // JKRExpHeap::__vt +extern u8 lbl_8039CAF0; // ":::cannot alloc memory (0x%x byte).\n" +extern double lbl_80455FA0; // JKernel::@1123 = 4.503599627370496E15 +extern u8 lbl_803CC030; // JKRSolidHeap::__vt +extern double lbl_80455FB8; // JKernel::@697 = 4.503599627370496E15 +extern const char lbl_8039CE50[16]; // "allocFromHead: cannot alloc memory (0x%x byte).\n" +extern double lbl_80455FB0; // JKernel::@695 = 4.503601774854144E15 +extern float lbl_80455FA8; // JKernel::@693 = 100.0 +extern u32 sCurrentDirID__10JKRArchive; // JKRArchive::sCurrentDirID +extern u8 lbl_803CC288; // JKRArchive::__vt // d_item extern float lbl_80452BD8; @@ -257,10 +256,10 @@ extern unkEvent lbl_803A7288; extern u8 lbl_8037B0D0[0x8]; class JKRThread; -extern JSUList lbl_8043428C; // JSUList JKRThread::sThreadList +extern JSUList sThreadList__9JKRThread; // JSUList JKRThread::sThreadList -extern u8 lbl_803CC398; // JKRDvdArchive::__vt -extern u8 lbl_8039D1B0; // "JKRDvdArchive.cpp" +extern u8 lbl_803CC398; // JKRDvdArchive::__vt +extern char lbl_8039D1B0[16]; // "JKRDvdArchive.cpp" extern u8 lbl_803CC2D8; // JKRMemArchive::__vt extern const char lbl_8039D160[16]; // "JKRMemArchive.cpp" @@ -311,17 +310,17 @@ extern JSUList lbl_80434324; // JKRAramPiece::sAramPieceCommandLi extern OSMutex lbl_80434330; // JKRAramPiece::mMutex extern char lbl_8039D0B8[]; // "direction = %x\n" -extern u8 lbl_80434318; // JKernel::@492 (global destructor chain) -extern OSMessageQueue lbl_803CC138; // JKRAram::sMessageQueue +extern u8 lbl_80434318; // JKernel::@492 (global destructor chain) -extern u8 lbl_80451408; // JKRAramStream::sAramStreamObject -extern u8 lbl_80451414; // JKRAramStream::transHeap -extern u8 lbl_8039D120; // "JKRAramStream.cpp" -extern u8 lbl_8045140C; // JKRAramStream::transBuffer -extern u8 lbl_80451410; // JKRAramStream::transSize -extern u8 lbl_803CC1B8; // JKRAramStream::__vt -extern u8 lbl_803CC198; // JKRAramStream::sMessageQueue -extern u8 lbl_803CC188; // JKRAramStream::sMessageBuffer +class JKRAramStream; +extern JKRAramStream* sAramStreamObject__13JKRAramStream; // JKRAramStream::sAramStreamObject +extern u8 transHeap__13JKRAramStream; // JKRAramStream::transHeap +extern char lbl_8039D120[16]; // "JKRAramStream.cpp" +extern u8 transBuffer__13JKRAramStream; // JKRAramStream::transBuffer +extern u8 transSize__13JKRAramStream; // JKRAramStream::transSize +extern u8 lbl_803CC1B8; // JKRAramStream::__vt +extern OSMessageQueue sMessageQueue__13JKRAramStream; // JKRAramStream::sMessageQueue +extern OSMessage sMessageBuffer__13JKRAramStream[4]; // JKRAramStream::sMessageBuffer extern u8 lbl_804508D0; // DAT_804508d0 extern u8 lbl_80451468; // JKernel::szpBuf (static?) @@ -351,30 +350,16 @@ extern u8 lbl_804343C0; // JKernel::decompMutex extern u8 lbl_803CC518; // JSUFileInputStream::__vt class JKRAram; -extern JKRAram* lbl_804513C8; // JKRAram::sAramObject -extern u8 lbl_804513CC; // JKernel::szpBuf (static?) -extern u8 lbl_804513D0; // JKernel::szpEnd (static?) -extern u8 lbl_804513D4; // JKernel::refBuf (static?) -extern u8 lbl_804513D8; // JKernel::refEnd (static?) -extern u8 lbl_804513DC; // JKernel::refCurrent (static?) -extern u8 lbl_804513E0; // JKernel::srcOffset (static?) -extern u8 lbl_804513E4; // JKernel::transLeft (static?) -extern u8 lbl_804513E8; // JKernel::srcLimit (static?) -extern u8 lbl_804513EC; // JKernel::srcAddress (static?) -extern u8 lbl_804513F0; // JKernel::fileOffset (static?) -extern u8 lbl_804513F4; // JKernel::readCount (static?) -extern u8 lbl_804513F8; // JKernel::maxDest (static?) -extern u8 lbl_804513FC; // DAT_804513fc (init global mutex) -extern u8 lbl_80451400; // JKernel::tsPtr (static?) -extern u8 lbl_80451404; // JKernel::tsArea (static?) - -extern u8 lbl_803CC158; // JKRAram::__vt -extern u8 lbl_8039D078; // "JKRAram.cpp" -extern u8 lbl_804342D0; // JKernel::@492 (global destructor chain) -extern u8 lbl_804342DC; // JKRAram::sAramCommandList -extern u8 lbl_804342E8; // JKernel::decompMutex (static?) -extern u8 lbl_804508B8; // JKRAram::sSZSBufferSize -extern u8 lbl_803CC128; // JKRAram::sMessageBuffer +extern u8 lbl_803CC158; // JKRAram::__vt +extern char lbl_8039D078[16]; // "JKRAram.cpp" +extern JKRAram* sAramObject__7JKRAram; // JKRAram::sAramObject +extern OSMessageQueue sMessageQueue__7JKRAram; // JKRAram::sMessageQueue +extern bool lbl_804513FC; // DAT_804513fc (init global mutex) +extern OSMutex lbl_804342E8; // JKernel::decompMutex (static?) +extern u8 lbl_804342D0; // JKernel::@492 (global destructor chain) +extern u8 sAramCommandList__7JKRAram; // JKRAram::sAramCommandList +extern u8 sSZSBufferSize__7JKRAram; // JKRAram::sSZSBufferSize +extern u8 sMessageBuffer__7JKRAram; // JKRAram::sMessageBuffer extern bool lbl_80451501; @@ -384,29 +369,6 @@ extern float lbl_80451A28; // m_Do_controller_pad::@3711 0.007142857 extern double lbl_80451A30; // m_Do_controller_pad::@3713 4.503599627370496E15 extern s32 sAnalogMode; -extern u8 lbl_804513CC; // JKernel::szpBuf (static?) -extern u8 lbl_804513D0; // JKernel::szpEnd (static?) -extern u8 lbl_804513D4; // JKernel::refBuf (static?) -extern u8 lbl_804513D8; // JKernel::refEnd (static?) -extern u8 lbl_804513DC; // JKernel::refCurrent (static?) -extern u8 lbl_804513E0; // JKernel::srcOffset (static?) -extern u8 lbl_804513E4; // JKernel::transLeft (static?) -extern u8 lbl_804513E8; // JKernel::srcLimit (static?) -extern u8 lbl_804513EC; // JKernel::srcAddress (static?) -extern u8 lbl_804513F0; // JKernel::fileOffset (static?) -extern u8 lbl_804513F4; // JKernel::readCount (static?) -extern u8 lbl_804513F8; // JKernel::maxDest (static?) -extern u8 lbl_804513FC; // DAT_804513fc (init global mutex) -extern u8 lbl_80451400; // JKernel::tsPtr (static?) -extern u8 lbl_80451404; // JKernel::tsArea (static?) - -extern u8 lbl_803CC158; // JKRAram::__vt -extern u8 lbl_8039D078; // "JKRAram.cpp" -extern u8 lbl_804342D0; // JKernel::@492 (global destructor chain) -extern u8 lbl_804342DC; // JKRAram::sAramCommandList -extern u8 lbl_804342E8; // JKernel::decompMutex (static?) -extern u8 lbl_804508B8; // JKRAram::sSZSBufferSize -extern u8 lbl_803CC128; // JKRAram::sMessageBuffer //// JUTGamePad: // func_802E06DC diff --git a/ldscript.lcf b/ldscript.lcf index 4ffdccab620..aa285d7e978 100644 --- a/ldscript.lcf +++ b/ldscript.lcf @@ -1299,22 +1299,22 @@ do_getCurrentGroupId__7JKRHeapCFv __dt__13JKRDvdArchiveFv fetchResource__13JKRDvdArchiveFP12SDIFileEntryPUl fetchResource__13JKRDvdArchiveFPvUlP12SDIFileEntryPUl -getExpandedResSize__13JKRDvdArchiveCFPCv +getExpandedResSize__13JKRDvdArchiveFPCv __dt__13JKRMemArchiveFv fetchResource__13JKRMemArchiveFP12SDIFileEntryPUl fetchResource__13JKRMemArchiveFPvUlP12SDIFileEntryPUl -getExpandedResSize__13JKRMemArchiveCFPCv +getExpandedResSize__13JKRMemArchiveFPCv removeResourceAll__13JKRMemArchiveFv removeResource__13JKRMemArchiveFPv __dt__14JKRAramArchiveFv __dt__7JKRFileFv fetchResource__14JKRAramArchiveFP12SDIFileEntryPUl fetchResource__14JKRAramArchiveFPvUlP12SDIFileEntryPUl -getExpandedResSize__14JKRAramArchiveCFPCv +getExpandedResSize__14JKRAramArchiveFPCv __dt__14JKRCompArchiveFv fetchResource__14JKRCompArchiveFP12SDIFileEntryPUl fetchResource__14JKRCompArchiveFPvUlP12SDIFileEntryPUl -getExpandedResSize__14JKRCompArchiveCFPCv +getExpandedResSize__14JKRCompArchiveFPCv removeResourceAll__14JKRCompArchiveFv removeResource__14JKRCompArchiveFPv __dt__9JKRDecompFv diff --git a/libs/JSystem/JKernel/JKRAram.cpp b/libs/JSystem/JKernel/JKRAram.cpp index 25f272d16c1..ad2a8858fdc 100644 --- a/libs/JSystem/JKernel/JKRAram.cpp +++ b/libs/JSystem/JKernel/JKRAram.cpp @@ -1,34 +1,132 @@ #include "JSystem/JKernel/JKRAram/JKRAram.h" +#include "JSystem/JKernel/JKRAramBlock/JKRAramBlock.h" +#include "JSystem/JKernel/JKRAramHeap/JKRAramHeap.h" +#include "JSystem/JKernel/JKRAramPiece/JKRAramPiece.h" +#include "JSystem/JKernel/JKRAramStream/JKRAramStream.h" +#include "JSystem/JKernel/JKRDecomp/JKRDecomp.h" +#include "JSystem/JKernel/JKRExpHeap/JKRExpHeap.h" +#include "JSystem/JKernel/JKRHeap/JKRHeap.h" #include "global.h" -asm void JKRAram::create(u32, u32, long, long, long) { - nofralloc -#include "JSystem/JKernel/JKRAram/asm/func_802D1FA4.s" +// Uncomment when static initialization is working +// JKRAram* JKRAram::sAramObject = NULL; +// u32 JKRAram::sSZSBufferSize = 0x400; + +static void decompSZS_subroutine(u8*, u8*); +static u8* firstSrcData(void); +static u8* nextSrcData(u8*); + +// The prefix JKRAram__ is for now used to skip name collision in 'sbss.s'. All of these variables +// are probably defined as static and only visible in this translation unit. +extern u8* JKRAram__szpBuf; +extern u8* JKRAram__szpEnd; +extern u8* JKRAram__refBuf; +extern u8* JKRAram__refEnd; +extern u8* JKRAram__refCurrent; +extern u32 JKRAram__srcOffset; +extern u32 JKRAram__transLeft; +extern u32 JKRAram__srcLimit; +extern u32 JKRAram__srcAddress; +extern u32 JKRAram__fileOffset; +extern u32 JKRAram__readCount; +extern u32 JKRAram__maxDest; +extern u32* JKRAram__tsPtr; +extern u32 JKRAram__tsArea; + +JKRAram* JKRAram::create(u32 aram_audio_buffer_size, u32 aram_audio_graph_size, + long stream_priority, long decomp_priority, long piece_priority) { + if (!sAramObject) { + sAramObject = new (JKRHeap::getSystemHeap(), 0) + JKRAram(aram_audio_buffer_size, aram_audio_graph_size, piece_priority); + } + + JKRCreateAramStreamManager(stream_priority); + JKRCreateDecompManager(decomp_priority); + sAramObject->resume(); + return sAramObject; } -asm JKRAram::JKRAram(u32, u32, long) { - nofralloc -#include "JSystem/JKernel/JKRAram/asm/func_802D2040.s" +JKRAram::JKRAram(u32 audio_buffer_size, u32 audio_graph_size, long priority) + : JKRThread(0xC00, 0x10, priority) { + u32 aramBase = ARInit(mStackArray, ARRAY_SIZE(mStackArray)); + ARQInit(); + + u32 aramSize = ARGetSize(); + + mAudioMemorySize = audio_buffer_size; + if (audio_graph_size == 0xffffffff) { + mGraphMemorySize = (aramSize - audio_buffer_size) - aramBase; + mAramMemorySize = 0; + } else { + mGraphMemorySize = audio_graph_size; + mAramMemorySize = (aramSize - (audio_buffer_size + audio_graph_size)) - aramBase; + } + + mAudioMemoryPtr = ARAlloc(mAudioMemorySize); + mGraphMemoryPtr = ARAlloc(mGraphMemorySize); + + if (mAramMemorySize) { + mAramMemoryPtr = ARAlloc(mAramMemorySize); + } else { + mAramMemoryPtr = NULL; + } + + mAramHeap = new (JKRHeap::getSystemHeap(), 0) JKRAramHeap(mGraphMemoryPtr, mGraphMemorySize); } -asm JKRAram::~JKRAram() { - nofralloc -#include "JSystem/JKernel/JKRAram/asm/func_802D214C.s" +JKRAram::~JKRAram() { + sAramObject = NULL; + if (mAramHeap) + delete mAramHeap; } +// almost full match +#ifdef NONMATCHING +void* JKRAram::run(void) { + int result; + JKRAMCommand* command; + JKRAMCommand::Message* message; + OSInitMessageQueue(&sMessageQueue, sMessageBuffer, 4); + do { + OSReceiveMessage(&sMessageQueue, &message, OS_MESSAGE_BLOCKING); + result = message->field_0x0; + command = message->command; + delete message; + + if (result == 1) { + JKRAramPiece::startDMA(command); + } + } while (true); +} +#else asm void* JKRAram::run(void) { nofralloc #include "JSystem/JKernel/JKRAram/asm/func_802D21DC.s" } +#endif -asm void JKRAram::checkOkAddress(u8*, u32, JKRAramBlock*, u32) { - nofralloc -#include "JSystem/JKernel/JKRAram/asm/func_802D2248.s" +void JKRAram::checkOkAddress(u8* addr, u32 size, JKRAramBlock* block, u32 param_4) { + if (!IS_ALIGNED((u32)addr, 0x20) && !IS_ALIGNED(size, 0x20)) { + const char* file = lbl_8039D078; + const char* format = lbl_8039D078 + 0xc; + const char* arg1 = lbl_8039D078 + 0xc + 0x3; + JUTException_NS_panic_f(file, 0xdb, format, arg1); + } + + if (block && !IS_ALIGNED((u32)block->getAddress() + param_4, 0x20)) { + const char* file = lbl_8039D078; + const char* format = lbl_8039D078 + 0xc; + const char* arg1 = lbl_8039D078 + 0xc + 0x3; + JUTException_NS_panic_f(file, 0xe3, format, arg1); + } } -asm void JKRAram::changeGroupIdIfNeed(u8*, int) { - nofralloc -#include "JSystem/JKernel/JKRAram/asm/func_802D22DC.s" +void JKRAram::changeGroupIdIfNeed(u8* data, int groupId) { + JKRHeap* currentHeap = JKRHeap::getCurrentHeap(); + if (currentHeap->getHeapType() == 'EXPH' && groupId >= 0) { + JKRExpHeap::CMemBlock* block = JKRExpHeap::CMemBlock::getBlock(data); + block->newGroupId(groupId); + } } asm void JKRAram::mainRamToAram(u8*, u32, u32, JKRExpandSwitch, u32, JKRHeap*, int, u32*) { @@ -41,25 +139,145 @@ asm void JKRAram::aramToMainRam(u32, u8*, u32, JKRExpandSwitch, u32, JKRHeap*, i #include "JSystem/JKernel/JKRAram/asm/func_802D25B4.s" } -asm void JKRDecompressFromAramToMainRam(u32, void*, u32, u32, u32, u32*) { +#ifdef NONMATCHING +// full match, except: +// tsPtr = &tsArea; +// doesn't use r13 +void JKRDecompressFromAramToMainRam(u32 src, void* dst, u32 srcLength, u32 dstLength, u32 offset, + u32* resourceSize) { +#define s_is_decompress_mutex_initialized lbl_804513FC +#define decompMutex lbl_804343C0 + + // STATIC BEGIN + // This code is probably generated by the compiler for a static variable + BOOL enable = OSDisableInterrupts(); + if (s_is_decompress_mutex_initialized == false) { + OSInitMutex(&decompMutex); + s_is_decompress_mutex_initialized = true; + } + OSRestoreInterrupts(enable); + // STATIC END + + OSLockMutex(&decompMutex); + u32 szpSize = getSZSBufferSize(); + szpBuf = (u8*)JKRAllocFromSysHeap(szpSize, 0x20); + ASSERT(szpBuf != 0); + szpEnd = szpBuf + szpSize; + + if (offset != 0) { + refBuf = (u8*)JKRAllocFromSysHeap(0x1120, 0); + ASSERT(refBuf != 0); + refEnd = refBuf + 0x1120; + refCurrent = refBuf; + } else { + refBuf = NULL; + } + + srcAddress = src; + srcOffset = 0; + if (srcLength == 0) { + transLeft = -1; + } else { + transLeft = srcLength; + } + + fileOffset = offset; + readCount = 0; + maxDest = dstLength; + if (!resourceSize) { + tsPtr = &tsArea; + } else { + tsPtr = resourceSize; + } + + *tsPtr = 0; + + decompSZS_subroutine(firstSrcData(), (u8*)dst); + JKRFreeToSysHeap(szpBuf); + if (refBuf) { + JKRFreeToSysHeap(refBuf); + } + DCStoreRangeNoSync(dst, *tsPtr); + OSUnlockMutex(&decompMutex); +#undef s_is_decompress_mutex_initialized +#undef decompMutex +} +#else +asm void JKRDecompressFromAramToMainRam(u32 src, void* dst, u32 srcLength, u32 dstLength, + u32 offset, u32* resourceSize) { nofralloc #include "JSystem/JKernel/JKRAram/asm/func_802D2830.s" } +#endif -asm void decompSZS_subroutine(u8*, u8*) { - nofralloc +asm void decompSZS_subroutine(u8*, u8*){nofralloc #include "JSystem/JKernel/JKRAram/asm/func_802D29A0.s" } -asm void firstSrcData(void) { - nofralloc -#include "JSystem/JKernel/JKRAram/asm/func_802D2C40.s" +u8* firstSrcData(void) { + JKRAram__srcLimit = (u32)(JKRAram__szpEnd - 0x19); + u8* buffer = JKRAram__szpBuf; + + u32 length; + u32 size = JKRAram__szpEnd - JKRAram__szpBuf; + if (JKRAram__transLeft < size) { + length = JKRAram__transLeft; + } else { + length = size; + } + + u32 src = (u32)(JKRAram__srcAddress + JKRAram__srcOffset); + u32 dst = (u32)buffer; + u32 alignedLength = ALIGN_NEXT(length, 0x20); + JKRAramPcs(1, src, dst, alignedLength, NULL); + + JKRAram__srcOffset += length; + JKRAram__transLeft -= length; + if (!JKRAram__transLeft) { + JKRAram__srcLimit = (u32)(buffer + length); + } + + return buffer; } -asm void nextSrcData(u8*) { +// missing one add instruction +#ifdef NONMATCHING +inline u32 nextSrcData_MIN(u32 A, u32 B) { + if (A > B) + return B; + return A; +} + +static u8* nextSrcData(u8* current) { + u8* dest; + u32 left = (u32)(szpEnd - current); + if (!IS_NOT_ALIGNED(left, 0x20)) { + dest = szpBuf; + } else { + dest = szpBuf + 0x20 - (left & 0x1f); + } + + memcpy(dest, current, left); + u32 transSize = nextSrcData_MIN(transLeft, szpEnd - (dest + left)); + ASSERT(transSize > 0); + + JKRAramPcs(1, (u32)(srcAddress + srcOffset), (u32)(dest + left), ALIGN_NEXT(transSize, 0x20), + NULL); + srcOffset += transSize; + transLeft -= transSize; + + if (transLeft == 0) { + srcLimit = (u32)(dest + left) + transSize; + } + + return dest; +} +#else +asm u8* nextSrcData(u8* current) { nofralloc #include "JSystem/JKernel/JKRAram/asm/func_802D2CE4.s" } +#endif #if 0 asm void __sinit_JKRAram_cpp { diff --git a/libs/JSystem/JKernel/JKRAramArchive.cpp b/libs/JSystem/JKernel/JKRAramArchive.cpp index c9699b2c4d3..ec6a48a05da 100644 --- a/libs/JSystem/JKernel/JKRAramArchive.cpp +++ b/libs/JSystem/JKernel/JKRAramArchive.cpp @@ -48,7 +48,7 @@ asm void JKRAramArchive::fetchResource_subroutine(u32, u32, JKRHeap*, int, u8**) #include "JSystem/JKernel/JKRAramArchive/asm/func_802D7914.s" } -asm u32 JKRAramArchive::getExpandedResSize(void const*) const { +asm u32 JKRAramArchive::getExpandedResSize(void const*) { nofralloc #include "JSystem/JKernel/JKRAramArchive/asm/func_802D7A64.s" } diff --git a/libs/JSystem/JKernel/JKRAramPiece.cpp b/libs/JSystem/JKernel/JKRAramPiece.cpp index 59fddd0a4a7..ad2b83d1701 100644 --- a/libs/JSystem/JKernel/JKRAramPiece.cpp +++ b/libs/JSystem/JKernel/JKRAramPiece.cpp @@ -1,7 +1,7 @@ #include "JSystem/JKernel/JKRAramPiece/JKRAramPiece.h" -#include "global.h" - +#include "JSystem/JKernel/JKRAram/JKRAram.h" #include "JSystem/JKernel/JKRDecomp/JKRDecomp.h" +#include "global.h" JKRAMCommand* JKRAramPiece::prepareCommand(int direction, u32 src, u32 dst, u32 length, JKRAramBlock* block, @@ -41,7 +41,7 @@ JKRAMCommand* JKRAramPiece::orderAsync(int direction, u32 source, u32 destinatio message->field_0x00 = 1; message->command = command; - OSSendMessage(&lbl_803CC138, message, OS_MESSAGE_BLOCKING); + OSSendMessage(&JKRAram::sMessageQueue, message, OS_MESSAGE_BLOCKING); if (command->mCallback != NULL) { lbl_80434324.append(&command->mPieceLink); } @@ -51,7 +51,7 @@ JKRAMCommand* JKRAramPiece::orderAsync(int direction, u32 source, u32 destinatio } BOOL JKRAramPiece::sync(JKRAMCommand* command, int is_non_blocking) { - OSMessage* message; + OSMessage message; lock(); if (is_non_blocking == 0) { diff --git a/libs/JSystem/JKernel/JKRAramStream.cpp b/libs/JSystem/JKernel/JKRAramStream.cpp index 3a6a5b82c5a..353bfbe2854 100644 --- a/libs/JSystem/JKernel/JKRAramStream.cpp +++ b/libs/JSystem/JKernel/JKRAramStream.cpp @@ -1,57 +1,210 @@ #include "JSystem/JKernel/JKRAramStream/JKRAramStream.h" +#include "JSystem/JKernel/JKRAramPiece/JKRAramPiece.h" #include "global.h" -asm void JKRAramStream::create(long) { - nofralloc -#include "JSystem/JKernel/JKRAramStream/asm/func_802D3B48.s" +JKRAramStream* JKRAramStream::create(long priority) { + if (!sAramStreamObject) { + sAramStreamObject = new (JKRGetSystemHeap(), 0) JKRAramStream(priority); + setTransBuffer(NULL, 0, NULL); + } + + return sAramStreamObject; } -asm JKRAramStream::JKRAramStream(long) { - nofralloc -#include "JSystem/JKernel/JKRAramStream/asm/func_802D3BB8.s" +JKRAramStream::JKRAramStream(long priority) : JKRThread(0xc00, 0x10, priority) { + resume(); } -asm JKRAramStream::~JKRAramStream() { - nofralloc -#include "JSystem/JKernel/JKRAramStream/asm/func_802D3C08.s" +JKRAramStream::~JKRAramStream() {} + +void* JKRAramStream::run(void) { + OSInitMessageQueue(&sMessageQueue, sMessageBuffer, ARRAY_SIZE(sMessageBuffer)); + + for (;;) { + OSMessage message; + OSReceiveMessage(&sMessageQueue, &message, OS_MESSAGE_BLOCKING); + JKRAramStreamCommand* command = (JKRAramStreamCommand*)message; + + switch (command->mType) { + case JKRAramStreamCommand::READ: + readFromAram(); + break; + case JKRAramStreamCommand::WRITE: + writeToAram(command); + break; + } + } } -asm void* JKRAramStream::run(void) { - nofralloc -#include "JSystem/JKernel/JKRAramStream/asm/func_802D3C68.s" +s32 JKRAramStream::readFromAram(void) { + return 1; } -asm void JKRAramStream::readFromAram(void) { - nofralloc -#include "JSystem/JKernel/JKRAramStream/asm/func_802D3CD8.s" -} +// regalloc problems +#ifdef NONMATCHING +s32 JKRAramStream::writeToAram(JKRAramStreamCommand* command) { + u32 size; + u32 dstSize = command->mDstLength; + u32 offset = command->mOffset; + u32 writtenLength = 0; + u32 destination = command->mDst; + u8* buffer = command->mTransferBuffer; + u32 bufferSize = command->mTransferBufferSize; + JKRHeap* heap = command->mHeap; + if (buffer) { + if (bufferSize) { + size = bufferSize; + } else { + size = 0x8000; + } -asm void JKRAramStream::writeToAram(JKRAramStreamCommand*) { + command->mTransferBufferSize = size; + command->mAllocatedTransferBuffer = false; + } else { + if (bufferSize) { + size = bufferSize; + } else { + size = 0x8000; + } + + if (heap) { + buffer = (u8*)JKRAllocFromHeap(heap, size, -0x20); + command->mTransferBuffer = buffer; + } else { + buffer = (u8*)JKRAllocFromSysHeap(size, -0x20); + command->mTransferBuffer = buffer; + } + + command->mTransferBufferSize = size; + command->mAllocatedTransferBuffer = true; + } + + if (!buffer) { + if (!heap) { + JKRGetCurrentHeap()->dump(); + } else { + heap->dump(); + } + + const char* file = lbl_8039D120; // "JKRAramStream.cpp"; + const char* format = lbl_8039D120 + 0x12; // "%s"; + const char* arg1 = lbl_8039D120 + 0x15; // ":::Cannot alloc memory\n"; + JUTException_NS_panic_f(file, 0xac, format, arg1); + } + + if (buffer) { + JSURandomInputStream_NS_seek((JSURandomInputStream*)command->mStream, offset, 0); + while (dstSize != 0) { + u32 length; + if (dstSize > size) { + length = size; + } else { + length = dstSize; + } + + s32 readLength = + JSUInputStream_NS_read((JSUInputStream*)command->mStream, buffer, length); + if (readLength == 0) { + writtenLength = 0; + break; + } + + JKRAramPcs(0, (u32)buffer, destination, length, NULL); + dstSize -= length; + writtenLength += writtenLength; + destination += length; + + if (command->mReturnSize) { + *command->mReturnSize += length; + } + } + + if (command->mAllocatedTransferBuffer) { + JKRFree(buffer); + command->mAllocatedTransferBuffer = false; + } + } + + OSSendMessage(&command->mMessageQueue, (OSMessage)writtenLength, OS_MESSAGE_NON_BLOCKING); + return writtenLength; +} +#else +asm s32 JKRAramStream::writeToAram(JKRAramStreamCommand* command) { nofralloc #include "JSystem/JKernel/JKRAramStream/asm/func_802D3CE0.s" } +#endif -asm void JKRAramStream::write_StreamToAram_Async(JSUFileInputStream*, u32, u32, u32, u32*) { - nofralloc -#include "JSystem/JKernel/JKRAramStream/asm/func_802D3ED0.s" +JKRAramStreamCommand* JKRAramStream::write_StreamToAram_Async(JSUFileInputStream* stream, u32 addr, + u32 size, u32 offset, + u32* returnSize) { + JKRAramStreamCommand* command = new (JKRGetSystemHeap(), -4) JKRAramStreamCommand(); + command->mType = JKRAramStreamCommand::WRITE; + command->mAddress = addr; + command->mSize = size; + command->mStream = stream; + command->field_0x2c = 0; + command->mOffset = offset; + command->mTransferBuffer = transBuffer; + command->mHeap = transHeap; + command->mTransferBufferSize = transSize; + command->mReturnSize = returnSize; + if (returnSize) { + *returnSize = 0; + } + + OSInitMessageQueue(&command->mMessageQueue, &command->mMessage, 1); + OSSendMessage(&sMessageQueue, command, OS_MESSAGE_BLOCKING); + return command; } -asm void JKRAramStream::sync(JKRAramStreamCommand*, int) { - nofralloc -#include "JSystem/JKernel/JKRAramStream/asm/func_802D3FA0.s" +JKRAramStreamCommand* JKRAramStream::sync(JKRAramStreamCommand* command, BOOL isNonBlocking) { + OSMessage message; + if (isNonBlocking == 0) { + OSReceiveMessage(&command->mMessageQueue, &message, OS_MESSAGE_BLOCKING); + if (message == NULL) { + command = NULL; + return command; + } else { + return command; + } + } else { + BOOL receiveResult = + OSReceiveMessage(&command->mMessageQueue, &message, OS_MESSAGE_NON_BLOCKING); + if (receiveResult == FALSE) { + command = NULL; + return command; + } else if (message == NULL) { + command = NULL; + return command; + } else { + return command; + } + } } -asm void JKRAramStream::setTransBuffer(u8*, u32, JKRHeap*) { - nofralloc -#include "JSystem/JKernel/JKRAramStream/asm/func_802D4034.s" +void JKRAramStream::setTransBuffer(u8* buffer, u32 bufferSize, JKRHeap* heap) { + transBuffer = NULL; + transSize = 0x8000; + transHeap = NULL; + + if (buffer) { + transBuffer = (u8*)ALIGN_NEXT((u32)buffer, 0x20); + } + + if (bufferSize) { + transSize = ALIGN_PREV(bufferSize, 0x20); + } + + if (heap && !buffer) { + transHeap = heap; + } } -asm JKRAramStreamCommand::JKRAramStreamCommand(void) { - nofralloc -#include "JSystem/JKernel/JKRAramStream/asm/func_802D4088.s" +JKRAramStreamCommand::JKRAramStreamCommand() { + mAllocatedTransferBuffer = false; } -asm void JSURandomInputStream::getAvailable(void) const { - nofralloc -#include "JSystem/JKernel/JKRAramStream/asm/func_802D4094.s" +s32 JSURandomInputStream::getAvailable() const { + return getLength() - getPosition(); } diff --git a/libs/JSystem/JKernel/JKRArchivePri.cpp b/libs/JSystem/JKernel/JKRArchivePri.cpp index 167dad2c8b6..3112797feca 100644 --- a/libs/JSystem/JKernel/JKRArchivePri.cpp +++ b/libs/JSystem/JKernel/JKRArchivePri.cpp @@ -194,29 +194,18 @@ const char* JKRArchive::CArcName::store(const char* name, char endChar) { return name + 1; } -// using include vs the JKRArchivePri.s file yields different code -// super weird... -#if 0 -#if NONMATCHING void JKRArchive::setExpandSize(SDIFileEntry* fileEntry, u32 expandSize) { int index = fileEntry - mFiles; - if (!mExpandedSize) - return; - - if (index <= mArcInfoBlock->num_file_entries) + if (!mExpandedSize || index >= mArcInfoBlock->num_file_entries) return; mExpandedSize[index] = expandSize; } -#else -asm void JKRArchive::setExpandSize(SDIFileEntry* fileEntry, u32 expandSize) { - nofralloc -#include "JSystem/JKernel/JKRArchive/asm/func_802D693C.s" -} -#endif -asm void JKRArchive::getExpandSize(SDIFileEntry*) const { - nofralloc -#include "JSystem/JKernel/JKRArchive/asm/func_802D6978.s" +u32 JKRArchive::getExpandSize(SDIFileEntry* fileEntry) const { + int index = fileEntry - mFiles; + if (!mExpandedSize || index >= mArcInfoBlock->num_file_entries) + return 0; + + return mExpandedSize[index]; } -#endif \ No newline at end of file diff --git a/libs/JSystem/JKernel/JKRArchivePub.cpp b/libs/JSystem/JKernel/JKRArchivePub.cpp index 4d850c4d399..a76d54909c8 100644 --- a/libs/JSystem/JKernel/JKRArchivePub.cpp +++ b/libs/JSystem/JKernel/JKRArchivePub.cpp @@ -44,7 +44,7 @@ JKRArchive* JKRArchive::mount(void* ptr, JKRHeap* heap, return archive; int alignment; - if (mountDirection == JKRArchive::HEAD) { + if (mountDirection == JKRArchive::MOUNT_DIRECTION_HEAD) { alignment = 4; } else { alignment = -4; @@ -61,7 +61,7 @@ JKRArchive* JKRArchive::mount(s32 entryNum, JKRArchive::EMountMode mountMode, JK return archive; } else { int alignment; - if (mountDirection == JKRArchive::HEAD) { + if (mountDirection == JKRArchive::MOUNT_DIRECTION_HEAD) { alignment = 4; } else { alignment = -4; diff --git a/libs/JSystem/JKernel/JKRCompArchive.cpp b/libs/JSystem/JKernel/JKRCompArchive.cpp index 69a0c02ed6c..f9b4ba6626a 100644 --- a/libs/JSystem/JKernel/JKRCompArchive.cpp +++ b/libs/JSystem/JKernel/JKRCompArchive.cpp @@ -36,7 +36,7 @@ asm bool JKRCompArchive::removeResource(void*) { #include "JSystem/JKernel/JKRCompArchive/asm/func_802D92F4.s" } -asm u32 JKRCompArchive::getExpandedResSize(void const*) const { +asm u32 JKRCompArchive::getExpandedResSize(void const*) { nofralloc #include "JSystem/JKernel/JKRCompArchive/asm/func_802D9360.s" } diff --git a/libs/JSystem/JKernel/JKRDecomp.cpp b/libs/JSystem/JKernel/JKRDecomp.cpp index 671017ef5b9..8ac14bb30df 100644 --- a/libs/JSystem/JKernel/JKRDecomp.cpp +++ b/libs/JSystem/JKernel/JKRDecomp.cpp @@ -1,7 +1,6 @@ #include "JSystem/JKernel/JKRDecomp/JKRDecomp.h" -#include "global.h" - #include "JSystem/JKernel/JKRAramPiece/JKRAramPiece.h" +#include "global.h" JKRDecomp* JKRDecomp::create(long priority) { if (!lbl_804514B0) { @@ -114,9 +113,9 @@ void JKRDecomp::decodeSZP(u8* src, u8* dst, u32 srcLength, u32 dstLength) { s32 offset; s32 i; - decodedSize = READ_BIG_ENDIAN_U32(src + 4); - linkTableOffset = READ_BIG_ENDIAN_U32(src + 8); - srcDataOffset = READ_BIG_ENDIAN_U32(src + 12); + decodedSize = read_big_endian_u32(src + 4); + linkTableOffset = read_big_endian_u32(src + 8); + srcDataOffset = read_big_endian_u32(src + 12); dstOffset = 0; counter = 0; @@ -131,7 +130,7 @@ void JKRDecomp::decodeSZP(u8* src, u8* dst, u32 srcLength, u32 dstLength) { length = srcLength; do { if (counter == 0) { - chunkBits = READ_BIG_ENDIAN_U32(src + srcChunkOffset); + chunkBits = read_big_endian_u32(src + srcChunkOffset); srcChunkOffset += 4; counter = 32; } @@ -149,7 +148,7 @@ void JKRDecomp::decodeSZP(u8* src, u8* dst, u32 srcLength, u32 dstLength) { dstOffset++; srcDataOffset++; } else { - u32 linkInfo = READ_BIG_ENDIAN_U16(src + linkTableOffset); + u32 linkInfo = read_big_endian_u16(src + linkTableOffset); linkTableOffset += 2; offset = dstOffset - (linkInfo & 0xFFF); diff --git a/libs/JSystem/JKernel/JKRDvdAramRipper.cpp b/libs/JSystem/JKernel/JKRDvdAramRipper.cpp index fc047657a28..906afbd720f 100644 --- a/libs/JSystem/JKernel/JKRDvdAramRipper.cpp +++ b/libs/JSystem/JKernel/JKRDvdAramRipper.cpp @@ -2,6 +2,10 @@ #include "dvd/dvd.h" #include "global.h" +static void decompSZS_subroutine(u8*, u32); +static u8* firstSrcData(void); +static u8* nextSrcData(u8*); + asm void JKRDvdAramRipper::loadToAram(long, u32, JKRExpandSwitch, u32, u32, u32*) { nofralloc #include "JSystem/JKernel/JKRDvdAramRipper/asm/func_802DA874.s" @@ -53,12 +57,12 @@ asm void decompSZS_subroutine(u8*, u32) { #include "JSystem/JKernel/JKRDvdAramRipper/asm/func_802DB160.s" } -asm void firstSrcData(void) { +asm u8* firstSrcData(void) { nofralloc #include "JSystem/JKernel/JKRDvdAramRipper/asm/func_802DB3E8.s" } -asm void nextSrcData(u8*) { +asm u8* nextSrcData(u8*) { nofralloc #include "JSystem/JKernel/JKRDvdAramRipper/asm/func_802DB49C.s" } diff --git a/libs/JSystem/JKernel/JKRDvdArchive.cpp b/libs/JSystem/JKernel/JKRDvdArchive.cpp index c60c1377716..cdd37cf747c 100644 --- a/libs/JSystem/JKernel/JKRDvdArchive.cpp +++ b/libs/JSystem/JKernel/JKRDvdArchive.cpp @@ -1,42 +1,387 @@ #include "JSystem/JKernel/JKRDvdArchive/JKRDvdArchive.h" +#include "JSystem/JKernel/JKRDvdFile/JKRDvdFile.h" +#include "JSystem/JKernel/JKRDvdRipper/JKRDvdRipper.h" #include "global.h" -asm JKRDvdArchive::JKRDvdArchive(long, JKRArchive::EMountDirection) { - nofralloc -#include "JSystem/JKernel/JKRDvdArchive/asm/func_802D7BF0.s" +JKRDvdArchive::JKRDvdArchive(s32 entryNum, JKRArchive::EMountDirection mountDirection) + : JKRArchive(entryNum, MOUNT_DVD), mMountDirection(mountDirection) { + if (!open(entryNum)) + return; + + mVolumeType = 'RARC'; + mVolumeName = mStringTable + (u32)mNodes->name; + getVolumeList().prepend(&mFileLoaderLink); + mIsMounted = true; } -asm JKRDvdArchive::~JKRDvdArchive() { - nofralloc -#include "JSystem/JKernel/JKRDvdArchive/asm/func_802D7C98.s" +JKRDvdArchive::~JKRDvdArchive() { + if (mIsMounted == true) { + if (mArcInfoBlock) { + SDIFileEntry* fileEntry = mFiles; + int i = 0; + for (; i < mArcInfoBlock->num_file_entries; fileEntry++, i++) { + if (fileEntry->data) { + JKRFreeToHeap(mHeap, fileEntry->data); + } + } + + JKRFreeToHeap(mHeap, mArcInfoBlock); + mArcInfoBlock = NULL; + } + + if (mExpandedSize) { + JKRFree(mExpandedSize); + mExpandedSize = NULL; + } + + if (mDvdFile) { + delete mDvdFile; + } + + getVolumeList().remove(&mFileLoaderLink); + mIsMounted = false; + } } -asm void JKRDvdArchive::open(long) { +#ifdef NONMATCHING +bool JKRDvdArchive::open(s32 entryNum) { + mArcInfoBlock = NULL; + field_0x64 = NULL; + mNodes = NULL; + mFiles = NULL; + mStringTable = NULL; + + mDvdFile = new (JKRHeap::getSystemHeap(), 0) JKRDvdFile(entryNum); + if (!mDvdFile) { + mMountMode = UNKNOWN_MOUNT_MODE; + return false; + } + + SArcHeader* arcHeader = (SArcHeader*)JKRAllocFromSysHeap(sizeof(SArcHeader), 0x20); + if (!arcHeader) { + mMountMode = UNKNOWN_MOUNT_MODE; + goto cleanup; + } + + JKRDvdToMainRam(entryNum, (u8*)arcHeader, EXPAND_SWITCH_UNKNOWN1, sizeof(SArcHeader), NULL, + JKRDvdRipper::ALLOC_DIRECTION_FORWARD, 0, &mCompression, NULL); + DCInvalidateRange(arcHeader, sizeof(SArcHeader)); + + int alignment; + if (mMountDirection == MOUNT_DIRECTION_HEAD) { + alignment = 0x20; + } else { + alignment = -0x20; + } + + mArcInfoBlock = (SArcDataInfo*)JKRAllocFromHeap(mHeap, arcHeader->file_data_offset, alignment); + if (!mArcInfoBlock) { + mMountMode = UNKNOWN_MOUNT_MODE; + goto cleanup; + } + + JKRDvdToMainRam(entryNum, (u8*)mArcInfoBlock, EXPAND_SWITCH_UNKNOWN1, + arcHeader->file_data_offset, NULL, JKRDvdRipper::ALLOC_DIRECTION_FORWARD, + sizeof(SArcHeader), NULL, NULL); + DCInvalidateRange(mArcInfoBlock, arcHeader->file_data_offset); + + mNodes = (SDirEntry*)((int)&mArcInfoBlock->num_nodes + mArcInfoBlock->node_offset); + mFiles = (SDIFileEntry*)((int)&mArcInfoBlock->num_nodes + mArcInfoBlock->file_entry_offset); + mStringTable = (char*)((int)&mArcInfoBlock->num_nodes + mArcInfoBlock->string_table_offset); + mExpandedSize = NULL; + + bool useCompression = false; + SDIFileEntry* fileEntry = mFiles; + for (u32 i = 0; i < mArcInfoBlock->num_file_entries; fileEntry++, i++) { + if (!fileEntry->isUnknownFlag1()) { + useCompression |= fileEntry->isCompressed(); + } + } + + if (useCompression) { + mExpandedSize = (s32*)JKRAllocFromHeap(mHeap, sizeof(s32) * mArcInfoBlock->num_file_entries, + abs(alignment)); + if (mExpandedSize) { + // !@bug: mArcInfoBlock is allocated from mHeap but free'd to sSystemHeap. I don't know + // what will happen if mHeap != sSystemHeap, but it's still a bug to free to the wrong + // allocator. + JKRFreeToSysHeap(mArcInfoBlock); + mMountMode = UNKNOWN_MOUNT_MODE; + goto cleanup; + } + + memset(mExpandedSize, 0, sizeof(s32) * mArcInfoBlock->num_file_entries); + } + + field_0x64 = arcHeader->header_length + arcHeader->file_data_offset; + +cleanup: + if (arcHeader) { + JKRFreeToSysHeap(arcHeader); + } + + if (mMountMode == UNKNOWN_MOUNT_MODE) { + if (mDvdFile) { + delete mDvdFile; + } + return false; + } + + return true; +} +#else +asm bool JKRDvdArchive::open(s32 entryNum) { nofralloc #include "JSystem/JKernel/JKRDvdArchive/asm/func_802D7DB4.s" } +#endif -asm void* JKRDvdArchive::fetchResource(SDIFileEntry*, u32*) { - nofralloc -#include "JSystem/JKernel/JKRDvdArchive/asm/func_802D8050.s" +void* JKRDvdArchive::fetchResource(SDIFileEntry* fileEntry, u32* returnSize) { + u32 tempReturnSize; + if (returnSize == NULL) { + returnSize = &tempReturnSize; + } + + JKRCompression fileCompression = JKRConvertAttrToCompressionType(fileEntry->getAttr()); + if (!fileEntry->data) { + u8* resourcePtr; + u32 resourceSize = fetchResource_subroutine( + mEntryNum, this->field_0x64 + fileEntry->data_offset, fileEntry->data_size, mHeap, + fileCompression, mCompression, &resourcePtr); + *returnSize = resourceSize; + if (resourceSize == 0) { + return NULL; + } + fileEntry->data = resourcePtr; + if (fileCompression == COMPRESSION_YAZ0) { + setExpandSize(fileEntry, *returnSize); + } + } else { + if (fileCompression == COMPRESSION_YAZ0) { + u32 resourceSize = getExpandSize(fileEntry); + *returnSize = resourceSize; + } else { + *returnSize = fileEntry->data_size; + } + } + + return fileEntry->data; } -asm void* JKRDvdArchive::fetchResource(void*, u32, SDIFileEntry*, u32*) { +// ALIGN_PREV(bufferSize, 0x20) is "inlined" in the function parameter. +#ifdef NONMATCHING +void* JKRDvdArchive::fetchResource(void* buffer, u32 bufferSize, SDIFileEntry* fileEntry, + u32* returnSize) { + ASSERT(isMounted()); + u32 otherSize; + u32 size = fileEntry->data_size; + u32 dstSize = bufferSize; + JKRCompression fileCompression = JKRConvertAttrToCompressionType(fileEntry->getAttr()); + + if (!fileEntry->data) { + dstSize = ALIGN_PREV(bufferSize, 0x20); + size = fetchResource_subroutine(mEntryNum, field_0x64 + fileEntry->data_offset, + fileEntry->data_size, (u8*)buffer, dstSize, fileCompression, + mCompression); + } else { + if (fileCompression == COMPRESSION_YAZ0) { + otherSize = getExpandSize(fileEntry); + if (otherSize) { + size = otherSize; + } + } + + if (size > bufferSize) { + size = bufferSize; + } + + JKRHeap::copyMemory(buffer, fileEntry->data, size); + } + + if (returnSize) { + *returnSize = size; + } + return buffer; +} +#else +asm void* JKRDvdArchive::fetchResource(void* buffer, u32 bufferSize, SDIFileEntry* fileEntry, + u32* returnSize) { nofralloc #include "JSystem/JKernel/JKRDvdArchive/asm/func_802D8168.s" } +#endif -asm void JKRDvdArchive::fetchResource_subroutine(long, u32, u32, u8*, u32, int, int) { - nofralloc -#include "JSystem/JKernel/JKRDvdArchive/asm/func_802D826C.s" +u32 JKRDvdArchive::fetchResource_subroutine(s32 entryNum, u32 offset, u32 size, u8* dst, + u32 dstLength, JKRCompression fileCompression, + JKRCompression archiveCompression) { + u32 alignedSize = ALIGN_NEXT(size, 0x20); + u32 alignedDstLength = ALIGN_PREV(dstLength, 0x20); + + switch (archiveCompression) { + case COMPRESSION_NONE: { + switch (fileCompression) { + case COMPRESSION_NONE: + if (alignedSize > alignedDstLength) { + alignedSize = alignedDstLength; + } + + JKRDvdToMainRam(entryNum, dst, EXPAND_SWITCH_UNKNOWN0, alignedSize, NULL, + JKRDvdRipper::ALLOC_DIRECTION_FORWARD, offset, NULL, NULL); + DCInvalidateRange(dst, alignedSize); + return alignedSize; + case COMPRESSION_YAY0: + case COMPRESSION_YAZ0: + // The dst pointer to JKRDvdToMainRam should be aligned to 32 bytes. This will align + // arcHeader to 32 bytes on the stack. + char arcHeaderBuffer[64]; + SArcHeader* arcHeader = (SArcHeader*)ALIGN_NEXT((u32)arcHeaderBuffer, 0x20); + JKRDvdToMainRam(entryNum, (u8*)arcHeader, EXPAND_SWITCH_UNKNOWN2, sizeof(SArcHeader), + NULL, JKRDvdRipper::ALLOC_DIRECTION_FORWARD, offset, NULL, NULL); + DCInvalidateRange(arcHeader, sizeof(SArcHeader)); + + u32 decompressedSize = JKRDecompExpandSize(arcHeader); + u32 alignedDecompressedSize = ALIGN_NEXT(decompressedSize, 0x20); + if (alignedDecompressedSize > alignedDstLength) { + alignedDecompressedSize = alignedDstLength; + } + + JKRDvdToMainRam(entryNum, dst, EXPAND_SWITCH_UNKNOWN1, alignedDecompressedSize, NULL, + JKRDvdRipper::ALLOC_DIRECTION_FORWARD, offset, NULL, NULL); + DCInvalidateRange(dst, alignedDecompressedSize); + return decompressedSize; + } + } + + case COMPRESSION_YAZ0: { + if (size > alignedDstLength) { + size = alignedDstLength; + } + + JKRDvdToMainRam(entryNum, dst, EXPAND_SWITCH_UNKNOWN1, size, NULL, + JKRDvdRipper::ALLOC_DIRECTION_FORWARD, offset, NULL, NULL); + DCInvalidateRange(dst, size); + return size; + } + + case COMPRESSION_YAY0: { + const char* file = lbl_8039D1B0; // "JKRDvdArchive.cpp" + const char* format = lbl_8039D1B0 + 0x12; // "%s" + const char* arg1 = lbl_8039D1B0 + 0x15; // "Sorry, not applied for SZP archive.\n" + JUTException_NS_panic_f(file, 0x289, format, arg1); + } + + default: { + const char* file = lbl_8039D1B0; // "JKRDvdArchive.cpp" + const char* format = lbl_8039D1B0 + 0x12; // "%s" + const char* arg1 = lbl_8039D1B0 + 0x3A; // "??? bad sequence\n" + JUTException_NS_panic_f(file, 0x28d, format, arg1); + return 0; + } + } } -asm void JKRDvdArchive::fetchResource_subroutine(long, u32, u32, JKRHeap*, int, int, u8**) { - nofralloc -#include "JSystem/JKernel/JKRDvdArchive/asm/func_802D8474.s" +u32 JKRDvdArchive::fetchResource_subroutine(s32 entryNum, u32 offset, u32 size, JKRHeap* heap, + JKRCompression fileCompression, + JKRCompression archiveCompression, + u8** returnResource) { + u32 alignedSize = ALIGN_NEXT(size, 0x20); + u8* buffer; + + switch (archiveCompression) { + case COMPRESSION_NONE: { + switch (fileCompression) { + case COMPRESSION_NONE: + buffer = (u8*)JKRAllocFromHeap(heap, alignedSize, sizeof(SArcHeader)); + ASSERT(buffer); + + JKRDvdToMainRam(entryNum, buffer, EXPAND_SWITCH_UNKNOWN0, alignedSize, NULL, + JKRDvdRipper::ALLOC_DIRECTION_FORWARD, offset, NULL, NULL); + DCInvalidateRange(buffer, alignedSize); + + *returnResource = buffer; + return alignedSize; + case COMPRESSION_YAY0: + case COMPRESSION_YAZ0: + // The dst pointer to JKRDvdToMainRam should be aligned to 32 bytes. This will align + // arcHeader to 32 bytes on the stack. + char arcHeaderBuffer[64]; + SArcHeader* arcHeader = (SArcHeader*)ALIGN_NEXT((u32)arcHeaderBuffer, 0x20); + JKRDvdToMainRam(entryNum, (u8*)arcHeader, EXPAND_SWITCH_UNKNOWN2, sizeof(SArcHeader), + NULL, JKRDvdRipper::ALLOC_DIRECTION_FORWARD, offset, NULL, NULL); + DCInvalidateRange(arcHeader, sizeof(SArcHeader)); + + alignedSize = JKRDecompExpandSize(arcHeader); + buffer = (u8*)JKRAllocFromHeap(heap, alignedSize, sizeof(SArcHeader)); + ASSERT(buffer); + JKRDvdToMainRam(entryNum, buffer, EXPAND_SWITCH_UNKNOWN1, alignedSize, NULL, + JKRDvdRipper::ALLOC_DIRECTION_FORWARD, offset, NULL, NULL); + DCInvalidateRange(buffer, alignedSize); + + *returnResource = buffer; + return alignedSize; + } + } + + case COMPRESSION_YAZ0: { + buffer = (u8*)JKRAllocFromHeap(heap, alignedSize, sizeof(SArcHeader)); + ASSERT(buffer); + + JKRDvdToMainRam(entryNum, buffer, EXPAND_SWITCH_UNKNOWN1, size, NULL, + JKRDvdRipper::ALLOC_DIRECTION_FORWARD, offset, NULL, NULL); + DCInvalidateRange(buffer, size); + + *returnResource = buffer; + return alignedSize; + } + + case COMPRESSION_YAY0: { + const char* file = lbl_8039D1B0; // "JKRDvdArchive.cpp" + const char* format = lbl_8039D1B0 + 0x12; // "%s" + const char* arg1 = lbl_8039D1B0 + 0x4c; // "Sorry, not applied SZP archive.\n" + JUTException_NS_panic_f(file, 0x2f2, format, arg1); + } + + default: { + const char* file = lbl_8039D1B0; // "JKRDvdArchive.cpp" + const char* format = lbl_8039D1B0 + 0x12; // "%s" + const char* arg1 = lbl_8039D1B0 + 0x3A; // "??? bad sequence\n" + JUTException_NS_panic_f(file, 0x2f6, format, arg1); + return 0; + } + } } -asm u32 JKRDvdArchive::getExpandedResSize(void const*) const { - nofralloc -#include "JSystem/JKernel/JKRDvdArchive/asm/func_802D8698.s" +u32 JKRDvdArchive::getExpandedResSize(const void* resource) { + u32 resourceSize; + if (!mExpandedSize) { + return getResSize(resource); + } + + SDIFileEntry* fileEntry = findPtrResource(resource); + if (!fileEntry) { + return -1; + } + + if (!fileEntry->isCompressed()) { + return getResSize(resource); + } + + resourceSize = getExpandSize(fileEntry); + if (resourceSize) { + return resourceSize; + } + + // The dst pointer to JKRDvdToMainRam should be aligned to 32 bytes. This will align arcHeader + // to 32 bytes on the stack. + char buffer[64]; + SArcHeader* arcHeader = (SArcHeader*)ALIGN_NEXT((u32)buffer, 0x20); + JKRDvdToMainRam(mEntryNum, (u8*)arcHeader, EXPAND_SWITCH_UNKNOWN2, sizeof(*arcHeader), NULL, + JKRDvdRipper::ALLOC_DIRECTION_FORWARD, + this->field_0x64 + fileEntry->data_offset, NULL, NULL); + DCInvalidateRange(arcHeader, sizeof(*arcHeader)); + + resourceSize = JKRDecompExpandSize(arcHeader); + setExpandSize(fileEntry, resourceSize); + + return resourceSize; } diff --git a/libs/JSystem/JKernel/JKRDvdFile.cpp b/libs/JSystem/JKernel/JKRDvdFile.cpp index ce571abc647..19a8489b10d 100644 --- a/libs/JSystem/JKernel/JKRDvdFile.cpp +++ b/libs/JSystem/JKernel/JKRDvdFile.cpp @@ -5,32 +5,27 @@ JKRDvdFile::JKRDvdFile() : JKRFile(), mDvdLink(this) { initiate(); } -// end of fuctions is weird. instructions which should have been optimized out. -#ifdef NONMATCHING JKRDvdFile::JKRDvdFile(const char* name) : JKRFile(), mDvdLink(this) { initiate(); bool result = open(name); mIsAvailable = result; + // weird code. doesn't match without this, maybe remains from assert or something? + if (mIsAvailable) + return; + else + return; } -#else -asm JKRDvdFile::JKRDvdFile(char const*) { - nofralloc -#include "JSystem/JKernel/JKRDvdFile/asm/func_802D95F8.s" -} -#endif -#ifdef NONMATHCING -JKRDvdFile::JKRDvdFile(long param_1) : JKRFile(), mDvdLink(this) { +JKRDvdFile::JKRDvdFile(long entryNum) : JKRFile(), mDvdLink(this) { initiate(); - bool result = open(param_1); + bool result = open(entryNum); mIsAvailable = result; + // weird code. doesn't match without this, maybe remains from assert or something? + if (mIsAvailable) + return; + else + return; } -#else -asm JKRDvdFile::JKRDvdFile(long) { - nofralloc -#include "JSystem/JKernel/JKRDvdFile/asm/func_802D96A0.s" -} -#endif JKRDvdFile::~JKRDvdFile() { close(); @@ -51,18 +46,18 @@ bool JKRDvdFile::open(const char* param_1) { if (!mIsAvailable) { mIsAvailable = DVDOpen(param_1, &mFileInfo); if (mIsAvailable) { - lbl_8043436C.append(&mDvdLink); + getDvdList().append(&mDvdLink); getStatus(); } } return mIsAvailable; } -bool JKRDvdFile::open(long param_1) { +bool JKRDvdFile::open(long entryNum) { if (!mIsAvailable) { - mIsAvailable = DVDFastOpen(param_1, &mFileInfo); + mIsAvailable = DVDFastOpen(entryNum, &mFileInfo); if (mIsAvailable) { - lbl_8043436C.append(&mDvdLink); + getDvdList().append(&mDvdLink); getStatus(); } } @@ -74,7 +69,7 @@ void JKRDvdFile::close() { s32 result = DVDClose(&mFileInfo); if (result != 0) { mIsAvailable = false; - lbl_8043436C.remove(&mDvdLink); + getDvdList().remove(&mDvdLink); } else { const char* filename = lbl_8039D260; // "JKRDvdFile.cpp" const char* format = lbl_8039D260 + 0x0F; // "%s" diff --git a/libs/JSystem/JKernel/JKRDvdRipper.cpp b/libs/JSystem/JKernel/JKRDvdRipper.cpp index b47bc700bee..4455b6e8ede 100644 --- a/libs/JSystem/JKernel/JKRDvdRipper.cpp +++ b/libs/JSystem/JKernel/JKRDvdRipper.cpp @@ -2,6 +2,11 @@ #include "dvd/dvd.h" #include "global.h" +static void decompSZS_subroutine(u8*, u8*); +static u8* firstSrcData(void); +static u8* nextSrcData(u8*); +extern "C" void firstSrcData__Fv(); + asm void* JKRDvdRipper::loadToMainRAM(const char*, u8*, JKRExpandSwitch, u32, JKRHeap*, JKRDvdRipper::EAllocDirection, u32, JKRCompression*, u32*) { nofralloc @@ -30,12 +35,12 @@ asm void decompSZS_subroutine(u8*, u8*) { #include "JSystem/JKernel/JKRDvdRipper/asm/func_802DA35C.s" } -asm void firstSrcData(void) { +asm u8* firstSrcData(void) { nofralloc #include "JSystem/JKernel/JKRDvdRipper/asm/func_802DA60C.s" } -asm void nextSrcData(u8*) { +asm u8* nextSrcData(u8*) { nofralloc #include "JSystem/JKernel/JKRDvdRipper/asm/func_802DA6D8.s" } diff --git a/libs/JSystem/JKernel/JKRFileLoader.cpp b/libs/JSystem/JKernel/JKRFileLoader.cpp index fb44c3301b6..616f727ef5b 100644 --- a/libs/JSystem/JKernel/JKRFileLoader.cpp +++ b/libs/JSystem/JKernel/JKRFileLoader.cpp @@ -1,16 +1,15 @@ #include "JSystem/JKernel/JKRFileLoader/JKRFileLoader.h" #include "global.h" -JKRFileLoader::JKRFileLoader(void) : mFileLoaderLink(this) { - mVolumeName = NULL; - mVolumeType = 0; - mMountCount = 0; -} +// todo: static initialization is working uncomment this +// JSUList JKRFileLoader::sVolumeList; + +JKRFileLoader::JKRFileLoader(void) + : mFileLoaderLink(this), mVolumeName(NULL), mVolumeType(0), mMountCount(0) {} JKRFileLoader::~JKRFileLoader() { - // lbl_80451418 = JKRFileLoader::sCurrentVolume - if (lbl_80451418 == this) { - lbl_80451418 = NULL; + if (getCurrentVolume() == this) { + setCurrentVolume(NULL); } } @@ -41,15 +40,14 @@ void* JKRFileLoader::getGlbResource(const char* name) { } void* JKRFileLoader::getGlbResource(const char* name, JKRFileLoader* fileLoader) { - // lbl_80434354 = JKRFileLoader::sVolumeList - void* resource = NULL; if (fileLoader) { return fileLoader->getResource(0, name); } + JSUList& volumeList = getVolumeList(); JSUListIterator iterator; - for (iterator = lbl_80434354.getFirst(); iterator != lbl_80434354.getEnd(); ++iterator) { + for (iterator = volumeList.getFirst(); iterator != volumeList.getEnd(); ++iterator) { resource = iterator->getResource(0, name); if (resource) break; @@ -58,14 +56,13 @@ void* JKRFileLoader::getGlbResource(const char* name, JKRFileLoader* fileLoader) } bool JKRFileLoader::removeResource(void* resource, JKRFileLoader* fileLoader) { - // lbl_80434354 = JKRFileLoader::sVolumeList - if (fileLoader) { return fileLoader->removeResource(resource); } + JSUList& volumeList = getVolumeList(); JSUListIterator iterator; - for (iterator = lbl_80434354.getFirst(); iterator != lbl_80434354.getEnd(); ++iterator) { + for (iterator = volumeList.getFirst(); iterator != volumeList.getEnd(); ++iterator) { if (iterator->removeResource(resource)) { return true; } @@ -75,14 +72,13 @@ bool JKRFileLoader::removeResource(void* resource, JKRFileLoader* fileLoader) { } bool JKRFileLoader::detachResource(void* resource, JKRFileLoader* fileLoader) { - // lbl_80434354 = JKRFileLoader::sVolumeList - if (fileLoader) { return fileLoader->detachResource(resource); } + JSUList& volumeList = getVolumeList(); JSUListIterator iterator; - for (iterator = lbl_80434354.getFirst(); iterator != lbl_80434354.getEnd(); ++iterator) { + for (iterator = volumeList.getFirst(); iterator != volumeList.getEnd(); ++iterator) { if (iterator->detachResource(resource)) { return true; } @@ -92,17 +88,16 @@ bool JKRFileLoader::detachResource(void* resource, JKRFileLoader* fileLoader) { } JKRFileLoader* JKRFileLoader::findVolume(const char** volumeName) { - // lbl_80451418 = JKRFileLoader::sCurrentVolume - if (*volumeName[0] != '/') { - return lbl_80451418; + return getCurrentVolume(); } char volumeNameBuffer[0x101]; *volumeName = fetchVolumeName(volumeNameBuffer, ARRAY_SIZE(volumeNameBuffer), *volumeName); + JSUList& volumeList = getVolumeList(); JSUListIterator iterator; - for (iterator = lbl_80434354.getFirst(); iterator != lbl_80434354.getEnd(); ++iterator) { + for (iterator = volumeList.getFirst(); iterator != volumeList.getEnd(); ++iterator) { if (strcmp(volumeNameBuffer, iterator->mVolumeName) == 0) { return iterator.getObject(); } diff --git a/libs/JSystem/JKernel/JKRHeap.cpp b/libs/JSystem/JKernel/JKRHeap.cpp index 13cdac78734..bf3ee748983 100644 --- a/libs/JSystem/JKernel/JKRHeap.cpp +++ b/libs/JSystem/JKernel/JKRHeap.cpp @@ -14,10 +14,10 @@ JKRHeap::JKRHeap(void* data, u32 size, JKRHeap* parent, bool errorFlag) } else { parent->mChildTree.appendChild(&mChildTree); - if (lbl_80451370 == lbl_80451378) { + if (getSystemHeap() == getRootHeap()) { becomeSystemHeap(); } - if (lbl_80451374 == lbl_80451378) { + if (getCurrentHeap() == getRootHeap()) { becomeCurrentHeap(); } } @@ -33,16 +33,15 @@ JKRHeap::JKRHeap(void* data, u32 size, JKRHeap* parent, bool errorFlag) } // using the wrong register for storing the results -// lbl_80451370 = systemHeap; #ifdef NONMATCHING JKRHeap::~JKRHeap() { JSUTree* parent = mChildTree.getParent(); parent->removeChild(&mChildTree); - JSUTree* nextRootHeap = lbl_80451378->mChildTree.getFirstChild(); + JSUTree* nextRootHeap = getRootHeap()->mChildTree.getFirstChild(); - JKRHeap* rootHeap = lbl_80451378; - JKRHeap* currentHeap = lbl_80451374; + JKRHeap* rootHeap = getRootHeap(); + JKRHeap* currentHeap = getCurrentHeap(); if (currentHeap == this) { if (!nextRootHeap) { currentHeap = rootHeap; @@ -50,9 +49,9 @@ JKRHeap::~JKRHeap() { currentHeap = nextRootHeap->getObject(); } } - lbl_80451374 = currentHeap; + setCurrentHeap(currentHeap); - JKRHeap* systemHeap = lbl_80451370; + JKRHeap* systemHeap = getSystemHeap(); if (systemHeap == this) { if (!nextRootHeap) { systemHeap = rootHeap; @@ -60,7 +59,7 @@ JKRHeap::~JKRHeap() { systemHeap = nextRootHeap->getObject(); } } - lbl_80451370 = systemHeap; + setSystemHeap(systemHeap); } #else asm JKRHeap::~JKRHeap() { @@ -80,13 +79,14 @@ bool JKRHeap::initArena(char** memory, u32* size, int param_3) { return false; ram = OSInitAlloc(low, high, param_3); - ram_start = (ram + 0x1fU & 0xffffffe0); - ram_end = (high & 0xffffffe0); - lbl_80451384 = OS_GLOBAL_ADDR(void, 0x80000000); - lbl_80451388 = (void*)ram_start; - lbl_8045138C = (void*)ram_start; - lbl_80451390 = (void*)ram_end; - lbl_80451394 = OS_GLOBAL(u32, 0x80000028); + ram_start = ALIGN_NEXT(ram, 0x20); + ram_end = ALIGN_PREV(high, 0x20); + GLOBAL_MEMORY* globalMemory = (GLOBAL_MEMORY*)OSPhysicalToCached(0); + mCodeStart = globalMemory; + mCodeEnd = (void*)ram_start; + mUserRamStart = (void*)ram_start; + mUserRamEnd = (void*)ram_end; + mMemorySize = globalMemory->memory_size; OSSetArenaLo(ram_end); OSSetArenaHi(ram_end); *memory = (char*)ram_start; @@ -95,14 +95,14 @@ bool JKRHeap::initArena(char** memory, u32* size, int param_3) { } JKRHeap* JKRHeap::becomeSystemHeap() { - JKRHeap* prev = lbl_80451370; - lbl_80451370 = this; + JKRHeap* prev = JKRHeap::getSystemHeap(); + setSystemHeap(this); return prev; } JKRHeap* JKRHeap::becomeCurrentHeap() { - JKRHeap* prev = lbl_80451374; - lbl_80451374 = this; + JKRHeap* prev = getCurrentHeap(); + setCurrentHeap(this); return prev; } @@ -115,8 +115,8 @@ void* JKRHeap::alloc(u32 size, int alignment, JKRHeap* heap) { return heap->alloc(size, alignment); } - if (lbl_80451374 != NULL) { - return lbl_80451374->alloc(size, alignment); + if (getCurrentHeap() != NULL) { + return getCurrentHeap()->alloc(size, alignment); } return NULL; @@ -216,15 +216,16 @@ asm u32 JKRHeap::getMaxAllocatableSize(int alignment) const { #endif JKRHeap* JKRHeap::findFromRoot(void* ptr) { - if (lbl_80451378 == NULL) { + JKRHeap* rootHeap = getRootHeap(); + if (rootHeap == NULL) { return NULL; } - if (lbl_80451378->getStartAddr() <= ptr && ptr < lbl_80451378->getEndAddr()) { - return lbl_80451378->find(ptr); + if (rootHeap->getStartAddr() <= ptr && ptr < rootHeap->getEndAddr()) { + return rootHeap->find(ptr); } - return lbl_80451378->findAllHeap(ptr); + return rootHeap->findAllHeap(ptr); } JKRHeap* JKRHeap::find(void* ptr) const { @@ -241,6 +242,7 @@ JKRHeap* JKRHeap::find(void* ptr) const { } } + // todo: not sure about this... casting away const for now. return (JKRHeap*)this; } @@ -261,7 +263,7 @@ JKRHeap* JKRHeap::findAllHeap(void* ptr) const { } if (getStartAddr() <= ptr && ptr < getEndAddr()) { - // not sure about this... casting away const for now. + // todo: not sure about this... casting away const for now. return (JKRHeap*)this; } @@ -306,13 +308,11 @@ void JKRHeap::dispose(void* begin, void* end) { // missing stack variable? #ifdef NONMATCHING void JKRHeap::dispose() { - JKRDisposer* disposer; + const JSUList& list = mDisposerList; JSUListIterator iterator; - - JSUList* list = &mDisposerList; - while (iterator = list->getFirst(), iterator != list->getEnd()) { - disposer = iterator.getObject(); - disposer->~JKRDisposer(); + while (list.getFirst() != list.getEnd()) { + iterator = list.getFirst(); + iterator->~JKRDisposer(); } } #else diff --git a/libs/JSystem/JKernel/JKRMemArchive.cpp b/libs/JSystem/JKernel/JKRMemArchive.cpp index 4911dde5c41..d42ed4dbf53 100644 --- a/libs/JSystem/JKernel/JKRMemArchive.cpp +++ b/libs/JSystem/JKernel/JKRMemArchive.cpp @@ -146,15 +146,7 @@ void* JKRMemArchive::fetchResource(void* buffer, u32 bufferSize, SDIFileEntry* f if (fileEntry->data != NULL) { memcpy(buffer, fileEntry->data, srcLength); } else { - JKRCompression compression; - if (!fileEntry->isCompressed()) { - compression = COMPRESSION_NONE; - } else if (fileEntry->isYAZ0Compressed()) { - compression = COMPRESSION_YAZ0; - } else { - compression = COMPRESSION_YAY0; - } - + JKRCompression compression = JKRConvertAttrToCompressionType(fileEntry->getAttr()); void* data = mArchiveData + fileEntry->data_offset; srcLength = fetchResource_subroutine((u8*)data, srcLength, (u8*)buffer, bufferSize, compression); @@ -209,7 +201,7 @@ u32 JKRMemArchive::fetchResource_subroutine(u8* src, u32 srcLength, u8* dst, u32 case COMPRESSION_YAY0: case COMPRESSION_YAZ0: - u32 expendedSize = JKRDecompExpandSize(src); + u32 expendedSize = JKRDecompExpandSize((SArcHeader*)src); srcLength = expendedSize; if (expendedSize > dstLength) { srcLength = dstLength; @@ -229,14 +221,14 @@ u32 JKRMemArchive::fetchResource_subroutine(u8* src, u32 srcLength, u8* dst, u32 return 0; } -u32 JKRMemArchive::getExpandedResSize(const void* resource) const { +u32 JKRMemArchive::getExpandedResSize(const void* resource) { SDIFileEntry* fileEntry = findPtrResource(resource); if (fileEntry == NULL) - return 0xFFFFFFFF; + return -1; if (fileEntry->isCompressed() == false) { return getResSize(resource); } else { - return JKRDecompExpandSize(resource); + return JKRDecompExpandSize((SArcHeader*)resource); } } diff --git a/libs/JSystem/JKernel/JKRThread.cpp b/libs/JSystem/JKernel/JKRThread.cpp index 77ca85ab547..b37c996d3d6 100644 --- a/libs/JSystem/JKernel/JKRThread.cpp +++ b/libs/JSystem/JKernel/JKRThread.cpp @@ -11,7 +11,7 @@ JKRThread::JKRThread(u32 stack_size, int message_count, int param_3) : mThreadLi JKRHeap* heap = JKRHeap::findFromRoot(this); if (heap == NULL) { - heap = lbl_80451370; + heap = JKRHeap::getSystemHeap(); } setCommon_heapSpecified(heap, stack_size, param_3); @@ -27,7 +27,7 @@ JKRThread::JKRThread(JKRHeap* heap, u32 stack_size, int message_count, int param field_0x70 = 0; if (heap == NULL) { - heap = lbl_80451374; + heap = JKRHeap::getCurrentHeap(); } setCommon_heapSpecified(heap, stack_size, param_4); @@ -49,8 +49,7 @@ JKRThread::JKRThread(OSThread* thread, int message_count) : mThreadListLink(this } JKRThread::~JKRThread() { - // lbl_8043428C = JKRThread::sThreadList - lbl_8043428C.remove(&mThreadListLink); + getList().remove(&mThreadListLink); if (mHeap) { BOOL result = OSIsThreadTerminated(mThreadRecord); @@ -69,7 +68,7 @@ void JKRThread::setCommon_mesgQueue(JKRHeap* heap, int message_count) { mMessages = (OSMessage*)JKRHeap::alloc(mMessageCount * sizeof(OSMessage), 0, heap); OSInitMessageQueue(&mMessageQueue, mMessages, mMessageCount); - lbl_8043428C.append(&mThreadListLink); + getList().append(&mThreadListLink); mCurrentHeap = NULL; mCurrentHeapError = NULL; @@ -91,9 +90,9 @@ void* JKRThread::start(void* param) { } JKRThread* JKRThread::searchThread(OSThread* thread) { - JSUList* threadList = JKRThread::getList(); + JSUList& threadList = getList(); JSUListIterator iterator; - for (iterator = threadList; iterator != threadList->getEnd(); ++iterator) { + for (iterator = threadList.getFirst(); iterator != threadList.getEnd(); ++iterator) { if (iterator->getThreadRecord() == thread) { return iterator.getObject(); } diff --git a/libs/JSystem/JUtility/JUTXfb.cpp b/libs/JSystem/JUtility/JUTXfb.cpp index d37b26fc321..463ecc8697b 100644 --- a/libs/JSystem/JUtility/JUTXfb.cpp +++ b/libs/JSystem/JUtility/JUTXfb.cpp @@ -64,7 +64,7 @@ void JUTXfb::destroyManager() { void JUTXfb::initiate(u16 width, u16 height, JKRHeap* heap, JUTXfb::EXfbNumber xfb_number) { if (heap == NULL) { - heap = /* sSystemHeap */ lbl_80451370; + heap = JKRHeap::getSystemHeap(); } int size = ((u32)width + 0xf & 0xfff0) * (u32)height * 2; diff --git a/obj_files.mk b/obj_files.mk index d23848c64e4..365eeab79bc 100644 --- a/obj_files.mk +++ b/obj_files.mk @@ -441,7 +441,6 @@ TEXT_O_FILES := \ $(BUILD_DIR)/libs/JSystem/JKernel/JKRFileCache.o \ $(BUILD_DIR)/libs/JSystem/JKernel/JKRArchivePub.o \ $(BUILD_DIR)/libs/JSystem/JKernel/JKRArchivePri.o \ - $(BUILD_DIR)/asm/JKernel/JKRArchivePri.o \ $(BUILD_DIR)/libs/JSystem/JKernel/JKRMemArchive.o \ $(BUILD_DIR)/libs/JSystem/JKernel/JKRAramArchive.o \ $(BUILD_DIR)/asm/JKernel/JKRAramArchive.o \ diff --git a/src/d/d_a/d_a_alink.cpp b/src/d/d_a/d_a_alink.cpp index cfbdfaa70fb..afe63d9718a 100644 --- a/src/d/d_a/d_a_alink.cpp +++ b/src/d/d_a/d_a_alink.cpp @@ -44,14 +44,14 @@ asm void daAlink_matAnm_c::calc(J3DMaterial*) const { #include "d/d_a/d_a_alink/asm/func_8009D90C.s" } -// 1 missing mr instruction +// matches but need to fix class structure #ifdef NONMATCHING -u32 daAlink_c::checkStageName(const char* stage) { - return (u32)__cntlzw(strcmp(g_dComIfG_gameInfo.stage, (char*)stage)) >> - 5; // no idea if current stage vars are a struct or part of some class +bool daAlink_c::checkStageName(const char* stage) { + stage = (const char*)this; + return strcmp(dComIfGp_getStartStageName(), stage) == 0; } #else -asm u32 daAlink_c::checkStageName(char const* stage) { +asm bool daAlink_c::checkStageName(char const* stage) { nofralloc #include "d/d_a/d_a_alink/asm/func_8009DA60.s" } @@ -1031,10 +1031,23 @@ asm void daAlink_c_NS_setSandShapeOffset(void) { // checkLv2MiddleBossBgRide__9daAlink_cFs // daAlink_c::checkLv2MiddleBossBgRide(short) +#ifdef NONMATCHING +bool daAlink_c::checkLv2MiddleBossBgRide(short param1) { + bool check = 0; + + // beqlr needs to be beq + if (param1 != 0x7B && param1 == 0x7D) { + check = 1; + } + + return check; +} +#else asm void daAlink_c_NS_checkLv2MiddleBossBgRide(void) { nofralloc #include "d/d_a/d_a_alink/asm/func_800B1FB8.s" } +#endif // getSlidePolygon__9daAlink_cFP8cM3dGPla // daAlink_c::getSlidePolygon(cM3dGPla*) @@ -1065,65 +1078,42 @@ asm void func_800B23FC(void) { } // setPlayerPosAndAngle__9daAlink_cFPA4_f -asm void func_800B24F4(void) { - nofralloc +asm void func_800B24F4(void){nofralloc #include "d/d_a/d_a_alink/asm/func_800B24F4.s" } -// itemTriggerCheck__9daAlink_cFUc -// daAlink_c::itemTriggerCheck(unsigned char) -asm void daAlink_c_NS_itemTriggerCheck(void) { - nofralloc -#include "d/d_a/d_a_alink/asm/func_800B25CC.s" +u32 daAlink_c::itemTriggerCheck(u8 param1) { + unk12206 |= param1; + return unk12173 & param1; } -// itemButtonCheck__9daAlink_cFUc -// daAlink_c::itemButtonCheck(unsigned char) -asm void daAlink_c_NS_itemButtonCheck(void) { - nofralloc -#include "d/d_a/d_a_alink/asm/func_800B25E8.s" +u32 daAlink_c::itemButtonCheck(u8 param1) { + unk12206 |= param1; + return unk12174 & param1; } -// itemButton__9daAlink_cFv -// daAlink_c::itemButton(void) -asm void daAlink_c_NS_itemButton(void) { - nofralloc -#include "d/d_a/d_a_alink/asm/func_800B2604.s" +void daAlink_c::itemButton(void) { + itemButtonCheck(1 << unk12188); } -// itemTrigger__9daAlink_cFv -// daAlink_c::itemTrigger(void) -asm void daAlink_c_NS_itemTrigger(void) { - nofralloc -#include "d/d_a/d_a_alink/asm/func_800B2634.s" +void daAlink_c::itemTrigger(void) { + itemTriggerCheck(1 << unk12188); } -// spActionButton__9daAlink_cFv -// daAlink_c::spActionButton(void) -asm void daAlink_c_NS_spActionButton(void) { - nofralloc -#include "d/d_a/d_a_alink/asm/func_800B2664.s" +void daAlink_c::spActionButton(void) { + itemButtonCheck(64); } -// spActionTrigger__9daAlink_cFv -// daAlink_c::spActionTrigger(void) -asm void daAlink_c_NS_spActionTrigger(void) { - nofralloc -#include "d/d_a/d_a_alink/asm/func_800B2688.s" +void daAlink_c::spActionTrigger(void) { + itemTriggerCheck(64); } -// midnaTalkTrigger__9daAlink_cCFv -// daAlink_c::midnaTalkTrigger(const void) -asm void daAlink_c_NS_midnaTalkTrigger(void) { - nofralloc -#include "d/d_a/d_a_alink/asm/func_800B26AC.s" +u32 daAlink_c::midnaTalkTrigger(void) const { + return unk12173 & 4; } -// swordSwingTrigger__9daAlink_cFv -// daAlink_c::swordSwingTrigger(void) -asm void daAlink_c_NS_swordSwingTrigger(void) { - nofralloc -#include "d/d_a/d_a_alink/asm/func_800B26B8.s" +void daAlink_c::swordSwingTrigger(void) { + itemTriggerCheck(8); } // setItemActionButtonStatus__9daAlink_cFUc @@ -1156,44 +1146,28 @@ asm void daAlink_c_NS_setAtnList(void) { // setRStatus__9daAlink_cFUc // daAlink_c::setRStatus(unsigned char) -asm void daAlink_c_NS_setRStatus(void) { - nofralloc -#include "d/d_a/d_a_alink/asm/func_800B3220.s" +void daAlink_c::setRStatus(u8 status) { + dComIfGp_setRStatus(status, 0); } -// setRStatusEmphasys__9daAlink_cFUc -// daAlink_c::setRStatusEmphasys(unsigned char) -asm void daAlink_c_NS_setRStatusEmphasys(void) { - nofralloc -#include "d/d_a/d_a_alink/asm/func_800B3238.s" +void daAlink_c::setRStatusEmphasys(u8 status) { + dComIfGp_setRStatus(status, 2); } -// setDoStatus__9daAlink_cFUc -// daAlink_c::setDoStatus(unsigned char) -asm void daAlink_c_NS_setDoStatus(void) { - nofralloc -#include "d/d_a/d_a_alink/asm/func_800B3250.s" +void daAlink_c::setDoStatus(u8 status) { + dComIfGp_setDoStatus(status, 0); } -// setDoStatusEmphasys__9daAlink_cFUc -// daAlink_c::setDoStatusEmphasys(unsigned char) -asm void daAlink_c_NS_setDoStatusEmphasys(void) { - nofralloc -#include "d/d_a/d_a_alink/asm/func_800B3268.s" +void daAlink_c::setDoStatusEmphasys(u8 status) { + dComIfGp_setDoStatus(status, 2); } -// setDoStatusContinuation__9daAlink_cFUc -// daAlink_c::setDoStatusContinuation(unsigned char) -asm void daAlink_c_NS_setDoStatusContinuation(void) { - nofralloc -#include "d/d_a/d_a_alink/asm/func_800B3280.s" +void daAlink_c::setDoStatusContinuation(u8 status) { + dComIfGp_setDoStatus(status, 4); } -// setBStatus__9daAlink_cFUc -// daAlink_c::setBStatus(unsigned char) -asm void daAlink_c_NS_setBStatus(void) { - nofralloc -#include "d/d_a/d_a_alink/asm/func_800B3298.s" +void daAlink_c::setBStatus(u8 status) { + dComIfGp_setAStatus(status, 0); } // checkAtnWaitAnime__9daAlink_cFv @@ -1759,7 +1733,7 @@ BOOL daAlink_c::checkMagicArmorHeavy(void) const { BOOL check = FALSE; if (checkMagicArmorWearAbility() != 0 && - g_dComIfG_gameInfo.getSaveFile().getPlayer().getPlayerStatusA().getCurrentRupees() == 0) { + g_dComIfG_gameInfo.getSaveFile().getPlayer().getPlayerStatusA().getRupee() == 0) { check = TRUE; } @@ -2156,10 +2130,24 @@ asm void daAlink_c_NS_checkRoomOnly(void) { // checkLv2DungeonRoomSpecial__9daAlink_cFv // daAlink_c::checkLv2DungeonRoomSpecial(void) +#ifdef NONMATCHING +bool daAlink_c::checkLv2DungeonRoomSpecial(void) { + bool check = 0; + + // lbl_80392094 needs to be in r3 instead of r4 + if (checkStageName(lbl_80392094.lv2) && + (lbl_80450D64 == 14 || lbl_80450D64 == 16 || lbl_80450D64 == 17)) { + check = 1; + } + + return check; +} +#else asm void daAlink_c_NS_checkLv2DungeonRoomSpecial(void) { nofralloc #include "d/d_a/d_a_alink/asm/func_800C044C.s" } +#endif // checkRoomSpecial__9daAlink_cFv // daAlink_c::checkRoomSpecial(void) @@ -3140,23 +3128,16 @@ asm void dComIfGp_att_getCatghTarget(void) { // mDoAud_setLinkHp__Fll // mDoAud_setLinkHp(long, long) -asm void mDoAud_setLinkHp(void) { - nofralloc +asm void mDoAud_setLinkHp(void){nofralloc #include "d/d_a/d_a_alink/asm/func_800CFEF4.s" } -// dComIfGs_getLife__Fv -// dComIfGs_getLife(void) -asm void dComIfGs_getLife(void) { - nofralloc -#include "d/d_a/d_a_alink/asm/func_800CFF2C.s" +u16 dComIfGs_getLife(void) { + return g_dComIfG_gameInfo.getSaveFile().getPlayerStatusA().getLife(); } -// dComIfGp_getRStatus__Fv -// dComIfGp_getRStatus(void) -asm void dComIfGp_getRStatus(void) { - nofralloc -#include "d/d_a/d_a_alink/asm/func_800CFF3C.s" +u8 dComIfGp_getRStatus(void) { + return g_dComIfG_gameInfo.getPlay().getRStatus(); } // checkAttentionLock__9daAlink_cFv @@ -3166,11 +3147,8 @@ asm void daAlink_c_NS_checkAttentionLock(void) { #include "d/d_a/d_a_alink/asm/func_800CFF4C.s" } -// dComIfGp_setItemLifeCount__FfUc -// dComIfGp_setItemLifeCount(float, unsigned char) -asm void dComIfGp_setItemLifeCount(void) { - nofralloc -#include "d/d_a/d_a_alink/asm/func_800CFFA4.s" +void dComIfGp_setItemLifeCount(float amount, u8 unk) { + g_dComIfG_gameInfo.getPlay().setItemLifeCount(amount, unk); } // cMtx_multVec__FPA4_CfPC3VecP3Vec @@ -13480,9 +13458,8 @@ asm void func_80140038(void) { // setShieldChange__9daAlink_cFv // daAlink_c::setShieldChange(void) -asm void daAlink_c_NS_setShieldChange(void) { - nofralloc -#include "d/d_a/d_a_alink/asm/func_80140064.s" +void daAlink_c::setShieldChange(void) { + unk12241 = 4; } // loadModelDVD__9daAlink_cFv @@ -13668,7 +13645,7 @@ asm void func_801410A4(void) { // __ct__16daPy_actorKeep_cFv // daPy_actorKeep_c::daPy_actorKeep_c(void) -asm void daPy_actorKeep_c(void) { +asm daPy_actorKeep_c::daPy_actorKeep_c(void) { nofralloc #include "d/d_a/d_a_alink/asm/func_801410EC.s" } @@ -15043,23 +15020,16 @@ asm void func_80141934(void) { // checkCutJumpMode__9daPy_py_cCFv // daPy_py_c::checkCutJumpMode(const void) -asm void func_8014193C(void) { - nofralloc +asm void func_8014193C(void){nofralloc #include "d/d_a/d_a_alink/asm/func_8014193C.s" } -// getZeldaActor__9daHorse_cFv -// daHorse_c::getZeldaActor(void) -asm void daHorse_c_NS_getZeldaActor(void) { - nofralloc -#include "d/d_a/d_a_alink/asm/func_80141944.s" +u32 daHorse_c::getZeldaActor(void) { + return actorKeep.getActor(); } -// dComIfGp_getDoStatus__Fv -// dComIfGp_getDoStatus(void) -asm void dComIfGp_getDoStatus(void) { - nofralloc -#include "d/d_a/d_a_alink/asm/func_8014194C.s" +u8 dComIfGp_getDoStatus(void) { + return g_dComIfG_gameInfo.getPlay().getDoStatus(); } // __ct__4cXyzFfff @@ -15080,18 +15050,12 @@ void Z2CreatureLink::setLinkState(u8 state) { link_state = state; } -// dComIfGs_getRupee__Fv -// dComIfGs_getRupee(void) -asm void dComIfGs_getRupee(void) { - nofralloc -#include "d/d_a/d_a_alink/asm/func_80141990.s" +u16 dComIfGs_getRupee(void) { + return g_dComIfG_gameInfo.getSaveFile().getPlayerStatusA().getRupee(); } -// dComIfGp_setItemRupeeCount__Fl -// dComIfGp_setItemRupeeCount(long) -asm void dComIfGp_setItemRupeeCount(void) { - nofralloc -#include "d/d_a/d_a_alink/asm/func_801419A0.s" +void dComIfGp_setItemRupeeCount(long amount) { + g_dComIfG_gameInfo.getPlay().setItemRupeeCount(amount); } // dMeter2Info_setFloatingMessage__FUssb diff --git a/src/d/d_file/d_file_sel_info.cpp b/src/d/d_file/d_file_sel_info.cpp index 35d6c2a6dce..0e1e52d9084 100644 --- a/src/d/d_file/d_file_sel_info.cpp +++ b/src/d/d_file/d_file_sel_info.cpp @@ -34,9 +34,9 @@ s32 dFile_info_c::setSaveData(dSv_save_c* save_file, int param_2, u8 param_3) { } else { if (!save_file->getPlayer().getPlayerInfo().getLinkName()) { if ((this->unk34) && (param_3 == DAT_804070D8)) { - save_file->getPlayer().getPlayerStatusA().getCurrentHealth() = DAT_804061C2; + save_file->getPlayer().getPlayerStatusA().getLife() = DAT_804061C2; this->setHeartCnt(save_file); - save_file->getPlayer().getPlayerStatusA().getCurrentHealth() = 0xC; + save_file->getPlayer().getPlayerStatusA().getLife() = 0xC; strcpy(this->unk44, DAT_80406374); strcpy(this->save_date, (char*)DAT_803948D8); strcpy(this->play_time, (char*)DAT_803948D8); diff --git a/src/d/d_item/d_item.cpp b/src/d/d_item/d_item.cpp index 220cd6b6f6b..3ace193bfc9 100644 --- a/src/d/d_item/d_item.cpp +++ b/src/d/d_item/d_item.cpp @@ -1,17 +1,26 @@ #include "d/d_item/d_item/d_item.h" #include "global.h" +inline void dComIfGp_setItemLifeCount(float amount, u8 unk) { + g_dComIfG_gameInfo.getPlay().setItemLifeCount(amount, unk); +} +inline void dComIfGp_setItemRupeeCount(long amount) { + g_dComIfG_gameInfo.getPlay().setItemRupeeCount(amount); +} +inline int dComIfGs_isItemFirstBit(u8 i_no) { + return g_dComIfG_gameInfo.getSaveFile().getPlayerGetItem().isFirstBit(i_no); +} + void execItemGet(u8 item_id) { - g_dComIfG_gameInfo.getSaveFile().getPlayer().getPlayerGetItem().onFirstBit(item_id); - item_func_ptr[item_id](); + getItemFunc(item_id); } int checkItemGet(u8 item_id, int param_2) { - int uVar2 = item_getcheck_func_ptr[item_id](); - if (uVar2 == -1) { - uVar2 = param_2; + int checkItem = getCheckItemFunc(item_id); + if (checkItem == -1) { + checkItem = param_2; } - return uVar2; + return checkItem; } void item_func_HEART(void) { @@ -812,32 +821,32 @@ int item_getcheck_func_HEART(void) { return -1; } -void item_getcheck_func_GREEN_RUPEE(void) { - g_dComIfG_gameInfo.getSaveFile().getPlayer().getPlayerGetItem().isFirstBit(GREEN_RUPEE); +int item_getcheck_func_GREEN_RUPEE(void) { + return dComIfGs_isItemFirstBit(GREEN_RUPEE); } -void item_getcheck_func_BLUE_RUPEE(void) { - g_dComIfG_gameInfo.getSaveFile().getPlayer().getPlayerGetItem().isFirstBit(BLUE_RUPEE); +int item_getcheck_func_BLUE_RUPEE(void) { + return dComIfGs_isItemFirstBit(BLUE_RUPEE); } -void item_getcheck_func_YELLOW_RUPEE(void) { - g_dComIfG_gameInfo.getSaveFile().getPlayer().getPlayerGetItem().isFirstBit(YELLOW_RUPEE); +int item_getcheck_func_YELLOW_RUPEE(void) { + return dComIfGs_isItemFirstBit(YELLOW_RUPEE); } -void item_getcheck_func_RED_RUPEE(void) { - g_dComIfG_gameInfo.getSaveFile().getPlayer().getPlayerGetItem().isFirstBit(RED_RUPEE); +int item_getcheck_func_RED_RUPEE(void) { + return dComIfGs_isItemFirstBit(RED_RUPEE); } -void item_getcheck_func_PURPLE_RUPEE(void) { - g_dComIfG_gameInfo.getSaveFile().getPlayer().getPlayerGetItem().isFirstBit(PURPLE_RUPEE); +int item_getcheck_func_PURPLE_RUPEE(void) { + return dComIfGs_isItemFirstBit(PURPLE_RUPEE); } -void item_getcheck_func_ORANGE_RUPEE(void) { - g_dComIfG_gameInfo.getSaveFile().getPlayer().getPlayerGetItem().isFirstBit(ORANGE_RUPEE); +int item_getcheck_func_ORANGE_RUPEE(void) { + return dComIfGs_isItemFirstBit(ORANGE_RUPEE); } -void item_getcheck_func_SILVER_RUPEE(void) { - g_dComIfG_gameInfo.getSaveFile().getPlayer().getPlayerGetItem().isFirstBit(SILVER_RUPEE); +int item_getcheck_func_SILVER_RUPEE(void) { + return dComIfGs_isItemFirstBit(SILVER_RUPEE); } int item_getcheck_func_S_MAGIC(void) { @@ -848,40 +857,40 @@ int item_getcheck_func_L_MAGIC(void) { return -1; } -void item_getcheck_func_BOMB_5(void) { - g_dComIfG_gameInfo.getSaveFile().getPlayer().getPlayerGetItem().isFirstBit(BOMB_5); +int item_getcheck_func_BOMB_5(void) { + return dComIfGs_isItemFirstBit(BOMB_5); } -void item_getcheck_func_BOMB_10(void) { - g_dComIfG_gameInfo.getSaveFile().getPlayer().getPlayerGetItem().isFirstBit(BOMB_10); +int item_getcheck_func_BOMB_10(void) { + return dComIfGs_isItemFirstBit(BOMB_10); } -void item_getcheck_func_BOMB_20(void) { - g_dComIfG_gameInfo.getSaveFile().getPlayer().getPlayerGetItem().isFirstBit(BOMB_20); +int item_getcheck_func_BOMB_20(void) { + return dComIfGs_isItemFirstBit(BOMB_20); } -void item_getcheck_func_BOMB_30(void) { - g_dComIfG_gameInfo.getSaveFile().getPlayer().getPlayerGetItem().isFirstBit(BOMB_30); +int item_getcheck_func_BOMB_30(void) { + return dComIfGs_isItemFirstBit(BOMB_30); } -void item_getcheck_func_ARROW_10(void) { - g_dComIfG_gameInfo.getSaveFile().getPlayer().getPlayerGetItem().isFirstBit(ARROW_10); +int item_getcheck_func_ARROW_10(void) { + return dComIfGs_isItemFirstBit(ARROW_10); } -void item_getcheck_func_ARROW_20(void) { - g_dComIfG_gameInfo.getSaveFile().getPlayer().getPlayerGetItem().isFirstBit(ARROW_20); +int item_getcheck_func_ARROW_20(void) { + return dComIfGs_isItemFirstBit(ARROW_20); } -void item_getcheck_func_ARROW_30(void) { - g_dComIfG_gameInfo.getSaveFile().getPlayer().getPlayerGetItem().isFirstBit(ARROW_30); +int item_getcheck_func_ARROW_30(void) { + return dComIfGs_isItemFirstBit(ARROW_30); } -void item_getcheck_func_ARROW_1(void) { - g_dComIfG_gameInfo.getSaveFile().getPlayer().getPlayerGetItem().isFirstBit(ARROW_1); +int item_getcheck_func_ARROW_1(void) { + return dComIfGs_isItemFirstBit(ARROW_1); } -void item_getcheck_func_PACHINKO_SHOT(void) { - g_dComIfG_gameInfo.getSaveFile().getPlayer().getPlayerGetItem().isFirstBit(PACHINKO_SHOT); +int item_getcheck_func_PACHINKO_SHOT(void) { + return dComIfGs_isItemFirstBit(PACHINKO_SHOT); } int item_getcheck_func_WATER_BOMB_5(void) { @@ -904,16 +913,16 @@ int item_getcheck_func_BOMB_INSECT_5(void) { return -1; } -void item_getcheck_func_BOMB_INSECT_10(void) { - g_dComIfG_gameInfo.getSaveFile().getPlayer().getPlayerGetItem().isFirstBit(BOMB_INSECT_10); +int item_getcheck_func_BOMB_INSECT_10(void) { + return dComIfGs_isItemFirstBit(BOMB_INSECT_10); } -void item_getcheck_func_BOMB_INSECT_20(void) { - g_dComIfG_gameInfo.getSaveFile().getPlayer().getPlayerGetItem().isFirstBit(BOMB_INSECT_20); +int item_getcheck_func_BOMB_INSECT_20(void) { + return dComIfGs_isItemFirstBit(BOMB_INSECT_20); } -void item_getcheck_func_BOMB_INSECT_30(void) { - g_dComIfG_gameInfo.getSaveFile().getPlayer().getPlayerGetItem().isFirstBit(BOMB_INSECT_30); +int item_getcheck_func_BOMB_INSECT_30(void) { + return dComIfGs_isItemFirstBit(BOMB_INSECT_30); } int item_getcheck_func_RECOVER_FAILY(void) { @@ -964,36 +973,36 @@ BOOL item_getcheck_func_MASTER_SWORD(void) { return dComIfGs_isCollectSword(MASTER_SWORD_FLAG); } -void item_getcheck_func_WOOD_SHIELD(void) { - g_dComIfG_gameInfo.getSaveFile().getPlayer().getPlayerGetItem().isFirstBit(WOOD_SHIELD); +int item_getcheck_func_WOOD_SHIELD(void) { + return dComIfGs_isItemFirstBit(WOOD_SHIELD); } -void item_getcheck_func_SHIELD(void) { - g_dComIfG_gameInfo.getSaveFile().getPlayer().getPlayerGetItem().isFirstBit(SHIELD); +int item_getcheck_func_SHIELD(void) { + return dComIfGs_isItemFirstBit(SHIELD); } -void item_getcheck_func_HYLIA_SHIELD(void) { - g_dComIfG_gameInfo.getSaveFile().getPlayer().getPlayerGetItem().isFirstBit(HYLIA_SHIELD); +int item_getcheck_func_HYLIA_SHIELD(void) { + return dComIfGs_isItemFirstBit(HYLIA_SHIELD); } bool item_getcheck_func_TKS_LETTER(void) { return dComIfGs_getItem(SLOT_18, true) == TKS_LETTER; } -void item_getcheck_func_WEAR_CASUAL(void) { - g_dComIfG_gameInfo.getSaveFile().getPlayer().getPlayerGetItem().isFirstBit(WEARS_CASUAL); +int item_getcheck_func_WEAR_CASUAL(void) { + return dComIfGs_isItemFirstBit(WEARS_CASUAL); } BOOL item_getcheck_func_WEAR_KOKIRI(void) { return dComIfGs_isCollectClothing(KOKIRI_CLOTHES_FLAG); } -void item_getcheck_func_ARMOR(void) { - g_dComIfG_gameInfo.getSaveFile().getPlayer().getPlayerGetItem().isFirstBit(ARMOR); +int item_getcheck_func_ARMOR(void) { + return dComIfGs_isItemFirstBit(ARMOR); } -void item_getcheck_func_WEAR_ZORA(void) { - g_dComIfG_gameInfo.getSaveFile().getPlayer().getPlayerGetItem().isFirstBit(WEAR_ZORA); +int item_getcheck_func_WEAR_ZORA(void) { + return dComIfGs_isItemFirstBit(WEAR_ZORA); } int item_getcheck_func_MAGIC_LV1(void) { @@ -1020,12 +1029,12 @@ bool item_getcheck_func_ZORAS_JEWEL(void) { return dComIfGs_getItem(SLOT_20, true) == ZORAS_JEWEL; } -void item_getcheck_func_HAWK_EYE(void) { - g_dComIfG_gameInfo.getSaveFile().getPlayer().getPlayerGetItem().isFirstBit(HAWK_EYE); +int item_getcheck_func_HAWK_EYE(void) { + return dComIfGs_isItemFirstBit(HAWK_EYE); } -void item_getcheck_func_WOOD_STICK(void) { - g_dComIfG_gameInfo.getSaveFile().getPlayer().getPlayerGetItem().isFirstBit(WOOD_STICK); +int item_getcheck_func_WOOD_STICK(void) { + return dComIfGs_isItemFirstBit(WOOD_STICK); } bool item_getcheck_func_BOOMERANG(void) { @@ -1081,44 +1090,32 @@ int item_getcheck_func_COPY_ROD_2(void) { return -1; } -void item_getcheck_func_BOMB_BAG_LV2(void) { - g_dComIfG_gameInfo.getSaveFile().getPlayer().getPlayerGetItem().isFirstBit(BOMB_BAG_LV2); +int item_getcheck_func_BOMB_BAG_LV2(void) { + return dComIfGs_isItemFirstBit(BOMB_BAG_LV2); } -void item_getcheck_func_BOMB_BAG_LV1(void) { - g_dComIfG_gameInfo.getSaveFile().getPlayer().getPlayerGetItem().isFirstBit(BOMB_BAG_LV1); +int item_getcheck_func_BOMB_BAG_LV1(void) { + return dComIfGs_isItemFirstBit(BOMB_BAG_LV1); } -void item_getcheck_func_BOMB_IN_BAG(void) { - g_dComIfG_gameInfo.getSaveFile().getPlayer().getPlayerGetItem().isFirstBit(BOMB_IN_BAG); +int item_getcheck_func_BOMB_IN_BAG(void) { + return dComIfGs_isItemFirstBit(BOMB_IN_BAG); } -void item_getcheck_func_LIGHT_ARROW(void) { - g_dComIfG_gameInfo.getSaveFile().getPlayer().getPlayerGetItem().isFirstBit(LIGHT_ARROW); +int item_getcheck_func_LIGHT_ARROW(void) { + return dComIfGs_isItemFirstBit(LIGHT_ARROW); } int item_getcheck_func_ARROW_LV1(void) { - return (dComIfGs_getItem(SLOT_4, false) == BOW && - g_dComIfG_gameInfo.getSaveFile().getPlayer().getPlayerItemMax().getBowCapacity() >= - 30) ? - 1 : - 0; + return (dComIfGs_getItem(SLOT_4, false) == BOW && dComIfGs_getArrowMax() >= 30) ? 1 : 0; } int item_getcheck_func_ARROW_LV2(void) { - return (dComIfGs_getItem(SLOT_4, false) == BOW && - g_dComIfG_gameInfo.getSaveFile().getPlayer().getPlayerItemMax().getBowCapacity() >= - 60) ? - 1 : - 0; + return (dComIfGs_getItem(SLOT_4, false) == BOW && dComIfGs_getArrowMax() >= 60) ? 1 : 0; } int item_getcheck_func_ARROW_LV3(void) { - return (dComIfGs_getItem(SLOT_4, false) == BOW && - g_dComIfG_gameInfo.getSaveFile().getPlayer().getPlayerItemMax().getBowCapacity() >= - 100) ? - 1 : - 0; + return (dComIfGs_getItem(SLOT_4, false) == BOW && dComIfGs_getArrowMax() >= 100) ? 1 : 0; } int item_getcheck_func_LURE_ROD(void) { @@ -1217,16 +1214,16 @@ int item_getcheck_func_OIL(void) { return dComIfGs_checkBottle(OIL); } -void item_getcheck_func_NORMAL_BOMB(void) { - g_dComIfG_gameInfo.getSaveFile().getPlayer().getPlayerGetItem().isFirstBit(NORMAL_BOMB); +int item_getcheck_func_NORMAL_BOMB(void) { + return dComIfGs_isItemFirstBit(NORMAL_BOMB); } -void item_getcheck_func_WATER_BOMB(void) { - g_dComIfG_gameInfo.getSaveFile().getPlayer().getPlayerGetItem().isFirstBit(WATER_BOMB); +int item_getcheck_func_WATER_BOMB(void) { + return dComIfGs_isItemFirstBit(WATER_BOMB); } -void item_getcheck_func_POKE_BOMB(void) { - g_dComIfG_gameInfo.getSaveFile().getPlayer().getPlayerGetItem().isFirstBit(POKE_BOMB); +int item_getcheck_func_POKE_BOMB(void) { + return dComIfGs_isItemFirstBit(POKE_BOMB); } int item_getcheck_func_FAIRY_DROP(void) { @@ -1237,8 +1234,8 @@ int item_getcheck_func_WORM(void) { return dComIfGs_checkBottle(WORM); } -void item_getcheck_func_DROP_BOTTLE(void) { - g_dComIfG_gameInfo.getSaveFile().getPlayer().getPlayerGetItem().isFirstBit(DROP_BOTTLE); +int item_getcheck_func_DROP_BOTTLE(void) { + return dComIfGs_isItemFirstBit(DROP_BOTTLE); } int item_getcheck_func_BEE_CHILD(void) { @@ -1269,16 +1266,16 @@ int item_getcheck_func_CHUCHU_PURPLE(void) { return dComIfGs_checkBottle(CHUCHU_PURPLE); } -void item_getcheck_func_LV1_SOUP(void) { - g_dComIfG_gameInfo.getSaveFile().getPlayer().getPlayerGetItem().isFirstBit(LV1_SOUP); +int item_getcheck_func_LV1_SOUP(void) { + return dComIfGs_isItemFirstBit(LV1_SOUP); } -void item_getcheck_func_LV2_SOUP(void) { - g_dComIfG_gameInfo.getSaveFile().getPlayer().getPlayerGetItem().isFirstBit(LV2_SOUP); +int item_getcheck_func_LV2_SOUP(void) { + return dComIfGs_isItemFirstBit(LV2_SOUP); } -void item_getcheck_func_LV3_SOUP(void) { - g_dComIfG_gameInfo.getSaveFile().getPlayer().getPlayerGetItem().isFirstBit(LV3_SOUP); +int item_getcheck_func_LV3_SOUP(void) { + return dComIfGs_isItemFirstBit(LV3_SOUP); } bool item_getcheck_func_LETTER(void) { @@ -1325,8 +1322,8 @@ int item_getcheck_func_CHUCHU_BLACK(void) { return dComIfGs_checkBottle(CHUCHU_BLACK); } -void item_getcheck_func_LIGHT_DROP(void) { - g_dComIfG_gameInfo.getSaveFile().getPlayer().getPlayerGetItem().isFirstBit(LIGHT_DROP); +int item_getcheck_func_LIGHT_DROP(void) { + return dComIfGs_isItemFirstBit(LIGHT_DROP); } BOOL item_getcheck_func_DROP_CONTAINER(void) { @@ -1358,8 +1355,7 @@ int item_getcheck_func_MIRROR_PIECE_4(void) { } bool item_getcheck_func_SMELL_YELIA_POUCH(void) { - return g_dComIfG_gameInfo.getSaveFile().getPlayer().getPlayerStatusA().getScent() == - SMELL_YELIA_POUCH; + return dComIfGs_getCollectSmell() == SMELL_YELIA_POUCH; } int item_getcheck_func_SMELL_PUMPKIN(void) { @@ -1367,121 +1363,119 @@ int item_getcheck_func_SMELL_PUMPKIN(void) { } bool item_getcheck_func_SMELL_POH(void) { - return g_dComIfG_gameInfo.getSaveFile().getPlayer().getPlayerStatusA().getScent() == SMELL_POH; + return dComIfGs_getCollectSmell() == SMELL_POH; } bool item_getcheck_func_SMELL_FISH(void) { - return g_dComIfG_gameInfo.getSaveFile().getPlayer().getPlayerStatusA().getScent() == SMELL_FISH; + return dComIfGs_getCollectSmell() == SMELL_FISH; } bool item_getcheck_func_SMELL_CHILDREN(void) { - return g_dComIfG_gameInfo.getSaveFile().getPlayer().getPlayerStatusA().getScent() == - SMELL_CHILDREN; + return dComIfGs_getCollectSmell() == SMELL_CHILDREN; } bool item_getcheck_func_SMELL_MEDICINE(void) { - return g_dComIfG_gameInfo.getSaveFile().getPlayer().getPlayerStatusA().getScent() == - SMELL_MEDICINE; + return dComIfGs_getCollectSmell() == SMELL_MEDICINE; } -void item_getcheck_func_M_BEETLE(void) { - g_dComIfG_gameInfo.getSaveFile().getPlayer().getPlayerGetItem().isFirstBit(M_BEETLE); +int item_getcheck_func_M_BEETLE(void) { + return dComIfGs_isItemFirstBit(M_BEETLE); } -void item_getcheck_func_F_BEETLE(void) { - g_dComIfG_gameInfo.getSaveFile().getPlayer().getPlayerGetItem().isFirstBit(F_BEETLE); +int item_getcheck_func_F_BEETLE(void) { + return dComIfGs_isItemFirstBit(F_BEETLE); } -void item_getcheck_func_M_BUTTERFLY(void) { - g_dComIfG_gameInfo.getSaveFile().getPlayer().getPlayerGetItem().isFirstBit(M_BUTTERFLY); +int item_getcheck_func_M_BUTTERFLY(void) { + return dComIfGs_isItemFirstBit(M_BUTTERFLY); } -void item_getcheck_func_F_BUTTERFLY(void) { - g_dComIfG_gameInfo.getSaveFile().getPlayer().getPlayerGetItem().isFirstBit(F_BUTTERFLY); +int item_getcheck_func_F_BUTTERFLY(void) { + return dComIfGs_isItemFirstBit(F_BUTTERFLY); } -void item_getcheck_func_M_STAG_BEETLE(void) { - g_dComIfG_gameInfo.getSaveFile().getPlayer().getPlayerGetItem().isFirstBit(M_STAG_BEETLE); +int item_getcheck_func_M_STAG_BEETLE(void) { + return dComIfGs_isItemFirstBit(M_STAG_BEETLE); } -void item_getcheck_func_F_STAG_BEETLE(void) { - g_dComIfG_gameInfo.getSaveFile().getPlayer().getPlayerGetItem().isFirstBit(F_STAG_BEETLE); +int item_getcheck_func_F_STAG_BEETLE(void) { + return dComIfGs_isItemFirstBit(F_STAG_BEETLE); } -void item_getcheck_func_M_GRASSHOPPER(void) { - g_dComIfG_gameInfo.getSaveFile().getPlayer().getPlayerGetItem().isFirstBit(M_GRASSHOPPER); +int item_getcheck_func_M_GRASSHOPPER(void) { + return dComIfGs_isItemFirstBit(M_GRASSHOPPER); } -void item_getcheck_func_F_GRASSHOPPER(void) { - g_dComIfG_gameInfo.getSaveFile().getPlayer().getPlayerGetItem().isFirstBit(F_GRASSHOPPER); +int item_getcheck_func_F_GRASSHOPPER(void) { + return dComIfGs_isItemFirstBit(F_GRASSHOPPER); } -void item_getcheck_func_M_NANAFUSHI(void) { - g_dComIfG_gameInfo.getSaveFile().getPlayer().getPlayerGetItem().isFirstBit(M_NANAFUSHI); +int item_getcheck_func_M_NANAFUSHI(void) { + return dComIfGs_isItemFirstBit(M_NANAFUSHI); } -void item_getcheck_func_F_NANAFUSHI(void) { - g_dComIfG_gameInfo.getSaveFile().getPlayer().getPlayerGetItem().isFirstBit(F_NANAFUSHI); +int item_getcheck_func_F_NANAFUSHI(void) { + return dComIfGs_isItemFirstBit(F_NANAFUSHI); } -void item_getcheck_func_M_DANGOMUSHI(void) { - g_dComIfG_gameInfo.getSaveFile().getPlayer().getPlayerGetItem().isFirstBit(M_DANGOMUSHI); +int item_getcheck_func_M_DANGOMUSHI(void) { + return dComIfGs_isItemFirstBit(M_DANGOMUSHI); } -void item_getcheck_func_F_DANGOMUSHI(void) { - g_dComIfG_gameInfo.getSaveFile().getPlayer().getPlayerGetItem().isFirstBit(F_DANGOMUSHI); +int item_getcheck_func_F_DANGOMUSHI(void) { + return dComIfGs_isItemFirstBit(F_DANGOMUSHI); } -void item_getcheck_func_M_MANTIS(void) { - g_dComIfG_gameInfo.getSaveFile().getPlayer().getPlayerGetItem().isFirstBit(M_MANTIS); +int item_getcheck_func_M_MANTIS(void) { + return dComIfGs_isItemFirstBit(M_MANTIS); } -void item_getcheck_func_F_MANTIS(void) { - g_dComIfG_gameInfo.getSaveFile().getPlayer().getPlayerGetItem().isFirstBit(F_MANTIS); +int item_getcheck_func_F_MANTIS(void) { + return dComIfGs_isItemFirstBit(F_MANTIS); } -void item_getcheck_func_M_LADYBUG(void) { - g_dComIfG_gameInfo.getSaveFile().getPlayer().getPlayerGetItem().isFirstBit(M_LADYBUG); +int item_getcheck_func_M_LADYBUG(void) { + return dComIfGs_isItemFirstBit(M_LADYBUG); } -void item_getcheck_func_F_LADYBUG(void) { - g_dComIfG_gameInfo.getSaveFile().getPlayer().getPlayerGetItem().isFirstBit(F_LADYBUG); +int item_getcheck_func_F_LADYBUG(void) { + return dComIfGs_isItemFirstBit(F_LADYBUG); } -void item_getcheck_func_M_SNAIL(void) { - g_dComIfG_gameInfo.getSaveFile().getPlayer().getPlayerGetItem().isFirstBit(M_SNAIL); +int item_getcheck_func_M_SNAIL(void) { + return dComIfGs_isItemFirstBit(M_SNAIL); } -void item_getcheck_func_F_SNAIL(void) { - g_dComIfG_gameInfo.getSaveFile().getPlayer().getPlayerGetItem().isFirstBit(F_SNAIL); +int item_getcheck_func_F_SNAIL(void) { + return dComIfGs_isItemFirstBit(F_SNAIL); } -void item_getcheck_func_M_DRAGONFLY(void) { - g_dComIfG_gameInfo.getSaveFile().getPlayer().getPlayerGetItem().isFirstBit(M_DRAGONFLY); +int item_getcheck_func_M_DRAGONFLY(void) { + return dComIfGs_isItemFirstBit(M_DRAGONFLY); } -void item_getcheck_func_F_DRAGONFLY(void) { - g_dComIfG_gameInfo.getSaveFile().getPlayer().getPlayerGetItem().isFirstBit(F_DRAGONFLY); +int item_getcheck_func_F_DRAGONFLY(void) { + return dComIfGs_isItemFirstBit(F_DRAGONFLY); } -void item_getcheck_func_M_ANT(void) { - g_dComIfG_gameInfo.getSaveFile().getPlayer().getPlayerGetItem().isFirstBit(M_ANT); +int item_getcheck_func_M_ANT(void) { + return dComIfGs_isItemFirstBit(M_ANT); } -void item_getcheck_func_F_ANT(void) { - g_dComIfG_gameInfo.getSaveFile().getPlayer().getPlayerGetItem().isFirstBit(F_ANT); +int item_getcheck_func_F_ANT(void) { + return dComIfGs_isItemFirstBit(F_ANT); } -void item_getcheck_func_M_MAYFLY(void) { - g_dComIfG_gameInfo.getSaveFile().getPlayer().getPlayerGetItem().isFirstBit(M_MAYFLY); +int item_getcheck_func_M_MAYFLY(void) { + return dComIfGs_isItemFirstBit(M_MAYFLY); } -void item_getcheck_func_F_MAYFLY(void) { - g_dComIfG_gameInfo.getSaveFile().getPlayer().getPlayerGetItem().isFirstBit(F_MAYFLY); +int item_getcheck_func_F_MAYFLY(void) { + return dComIfGs_isItemFirstBit(F_MAYFLY); } int item_getcheck_func_POU_SPIRIT(void) { - return g_dComIfG_gameInfo.getSaveFile().getPlayer().getPlayerCollect().getPoeCount(); + return dComIfGs_getPohSpiritNum(); } bool item_getcheck_func_ANCIENT_DOCUMENT(void) { @@ -1528,16 +1522,16 @@ int item_getcheck_func_BOSSRIDER_KEY(void) { return -1; } -void item_getcheck_func_TOMATO_PUREE(void) { - g_dComIfG_gameInfo.getSaveFile().getPlayer().getPlayerGetItem().isFirstBit(TOMATO_PUREE); +int item_getcheck_func_TOMATO_PUREE(void) { + return dComIfGs_isItemFirstBit(TOMATO_PUREE); } -void item_getcheck_func_TASTE(void) { - g_dComIfG_gameInfo.getSaveFile().getPlayer().getPlayerGetItem().isFirstBit(TASTE); +int item_getcheck_func_TASTE(void) { + return dComIfGs_isItemFirstBit(TASTE); } -void item_getcheck_func_LV5_BOSS_KEY(void) { - g_dComIfG_gameInfo.getMemory().getTempFlags().isDungeonItem(BOSS_KEY_FLAG); +bool item_getcheck_func_LV5_BOSS_KEY(void) { + return dComIfGs_isDungeonItemBossKey(); } int item_getcheck_func_SURFBOARD(void) { @@ -1548,20 +1542,20 @@ int item_getcheck_func_KANTERA2(void) { return -1; } -void item_getcheck_func_L2_KEY_PIECES1(void) { - g_dComIfG_gameInfo.getSaveFile().getPlayer().getPlayerGetItem().isFirstBit(L2_KEY_PIECES1); +int item_getcheck_func_L2_KEY_PIECES1(void) { + return dComIfGs_isItemFirstBit(L2_KEY_PIECES1); } -void item_getcheck_func_L2_KEY_PIECES2(void) { - g_dComIfG_gameInfo.getSaveFile().getPlayer().getPlayerGetItem().isFirstBit(L2_KEY_PIECES2); +int item_getcheck_func_L2_KEY_PIECES2(void) { + return dComIfGs_isItemFirstBit(L2_KEY_PIECES2); } -void item_getcheck_func_L2_KEY_PIECES3(void) { - g_dComIfG_gameInfo.getSaveFile().getPlayer().getPlayerGetItem().isFirstBit(L2_KEY_PIECES3); +int item_getcheck_func_L2_KEY_PIECES3(void) { + return dComIfGs_isItemFirstBit(L2_KEY_PIECES3); } -void item_getcheck_func_KEY_OF_CARAVAN(void) { - g_dComIfG_gameInfo.getSaveFile().getPlayer().getPlayerGetItem().isFirstBit(KEY_OF_CARAVAN); +int item_getcheck_func_KEY_OF_CARAVAN(void) { + return dComIfGs_isItemFirstBit(KEY_OF_CARAVAN); } bool item_getcheck_func_LV2_BOSS_KEY(void) { @@ -1569,7 +1563,7 @@ bool item_getcheck_func_LV2_BOSS_KEY(void) { } int item_getcheck_func_KEY_OF_FILONE(void) { - return g_dComIfG_gameInfo.getMemory().getTempFlags().getSmallKeys(); + return dComIfGs_getKeyNum(); } #ifdef NONMATCHING @@ -1596,14 +1590,12 @@ asm bool isBomb(u8 param1) { } #endif -bool isArrow(u8 param1) { - bool is_arrow; +bool isArrow(u8 item_no) { + bool is_arrow = false; - is_arrow = false; - if (param1 == ARROW_1 || (u8)(param1 - ARROW_10) <= 1 || param1 == ARROW_30) { + if (item_no == ARROW_1 || item_no == ARROW_10 || item_no == ARROW_20 || item_no == ARROW_30) { is_arrow = true; } - return is_arrow; } @@ -1612,11 +1604,10 @@ asm bool isBottleItem(u8 param1) { #include "d/d_item/d_item/asm/func_8009B708.s" } -bool isHeart(u8 param1) { - bool is_heart; +bool isHeart(u8 item_no) { + bool is_heart = false; - is_heart = false; - if (param1 == HEART || param1 == TRIPLE_HEART) { + if (item_no == HEART || item_no == TRIPLE_HEART) { is_heart = true; } return is_heart; @@ -1640,10 +1631,33 @@ asm bool isInsect(u8 param1) { } #endif +#ifdef NONMATCHING +int check_itemno(int param1) { + if (dComIfGs_isGetMagicUseFlag() == 0 && (param1 == 8 || param1 == 9)) { + param1 = 1; + return param1; + } else if (param1 == 0x11) { + if (dComIfGs_isItemFirstBit(67) == false) { + param1 = 1; + return param1; + } + } else if (isArrow(param1)) { + if (dComIfGs_isItemFirstBit(67) == false) { + param1 = 1; + return param1; + } + } else if (test_getLayerNo(0) != 0xd) { + if (test_getLayerNo(0) == 0xe) { + } + } + return param1; +} +#else asm u32 check_itemno(int param1) { nofralloc #include "d/d_item/d_item/asm/func_8009B7C4.s" } +#endif asm void addBombCount(u8 param1, u8 param2) { nofralloc diff --git a/src/m_Do/m_Do_main.cpp b/src/m_Do/m_Do_main.cpp index fc14ff2ebd2..8534743a3a4 100644 --- a/src/m_Do/m_Do_main.cpp +++ b/src/m_Do/m_Do_main.cpp @@ -178,15 +178,15 @@ void main01(void) { // JKRSolidHeap audio_heap; // Root Heap - heaps[0].setHeap((JKRExpHeap*)lbl_80451378); - if (lbl_80451378) { - heaps[0].setHeapSize(lbl_80451378->getSize()); + heaps[0].setHeap((JKRExpHeap*)JKRHeap::getRootHeap()); + if (JKRHeap::getRootHeap()) { + heaps[0].setHeapSize(JKRHeap::getRootHeap()->getSize()); } // System Heap - heaps[1].setHeap((JKRExpHeap*)lbl_80451370); - if (lbl_80451370) { - heaps[1].setHeapSize(lbl_80451370->getSize()); + heaps[1].setHeap((JKRExpHeap*)JKRHeap::getSystemHeap()); + if (JKRHeap::getSystemHeap()) { + heaps[1].setHeapSize(JKRHeap::getSystemHeap()->getSize()); } // Zelda Heap @@ -246,7 +246,7 @@ void main01(void) { // g_mDoAud_audioHeap - lbl_80450BBC = JKRSolidHeap_NS_create(0x14d800, lbl_80451374, false); + lbl_80450BBC = JKRSolidHeap_NS_create(0x14d800, JKRHeap::getCurrentHeap(), false); // main loop do { diff --git a/tools/clang-format-all.sh b/tools/clang-format-all.sh index 926dff4c180..65606bb5e38 100755 --- a/tools/clang-format-all.sh +++ b/tools/clang-format-all.sh @@ -1,8 +1,14 @@ #!/bin/bash +if [[ -z "${CLANG_FORMAT_EXE}" ]]; then + CF="clang-format-10" +else + CF="${CLANG_FORMAT_EXE}" +fi + echo "formatting src/*" -find ./src -iname *.h -o -iname *.cpp | xargs clang-format -i +find ./src -iname *.h -o -iname *.cpp | xargs $CF -i echo "formatting libs/*" -find ./libs -iname *.h -o -iname *.cpp | xargs clang-format -i +find ./libs -iname *.h -o -iname *.cpp | xargs $CF -i echo "formatting include/*" -find ./include -iname *.h -o -iname *.cpp | xargs clang-format -i +find ./include -iname *.h -o -iname *.cpp | xargs $CF -i echo "done"