Merge pull request #180 from TakaRikka/dylink

c_dylink
This commit is contained in:
TakaRikka 2022-02-10 07:06:04 -08:00 committed by GitHub
commit d85ab6d159
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
33 changed files with 1140 additions and 5190 deletions

View File

@ -1,193 +0,0 @@
lbl_80262C5C:
/* 80262C5C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80262C60 7C 08 02 A6 */ mflr r0
/* 80262C64 90 01 00 24 */ stw r0, 0x24(r1)
/* 80262C68 39 61 00 20 */ addi r11, r1, 0x20
/* 80262C6C 48 0F F5 6D */ bl _savegpr_28
/* 80262C70 7C 7F 1B 78 */ mr r31, r3
/* 80262C74 48 0D FA 89 */ bl OSGetTime
/* 80262C78 80 1F 00 10 */ lwz r0, 0x10(r31)
/* 80262C7C 28 00 00 00 */ cmplwi r0, 0
/* 80262C80 40 82 00 18 */ bne lbl_80262C98
/* 80262C84 7F E3 FB 78 */ mr r3, r31
/* 80262C88 81 9F 00 0C */ lwz r12, 0xc(r31)
/* 80262C8C 81 8C 00 20 */ lwz r12, 0x20(r12)
/* 80262C90 7D 89 03 A6 */ mtctr r12
/* 80262C94 4E 80 04 21 */ bctrl
lbl_80262C98:
/* 80262C98 80 1F 00 10 */ lwz r0, 0x10(r31)
/* 80262C9C 28 00 00 00 */ cmplwi r0, 0
/* 80262CA0 41 82 02 2C */ beq lbl_80262ECC
/* 80262CA4 48 0D FA 59 */ bl OSGetTime
/* 80262CA8 48 0D FA 55 */ bl OSGetTime
/* 80262CAC 80 7F 00 10 */ lwz r3, 0x10(r31)
/* 80262CB0 80 03 00 1C */ lwz r0, 0x1c(r3)
/* 80262CB4 28 00 00 03 */ cmplwi r0, 3
/* 80262CB8 41 80 01 CC */ blt lbl_80262E84
/* 80262CBC 83 A3 00 48 */ lwz r29, 0x48(r3)
/* 80262CC0 38 1D 00 1F */ addi r0, r29, 0x1f
/* 80262CC4 54 1C 00 34 */ rlwinm r28, r0, 0, 0, 0x1a
/* 80262CC8 7F C3 E2 14 */ add r30, r3, r28
/* 80262CCC 38 80 00 00 */ li r4, 0
/* 80262CD0 48 06 B9 E1 */ bl getSize__7JKRHeapFPvP7JKRHeap
/* 80262CD4 2C 03 00 00 */ cmpwi r3, 0
/* 80262CD8 40 80 00 64 */ bge lbl_80262D3C
/* 80262CDC 80 7F 00 10 */ lwz r3, 0x10(r31)
/* 80262CE0 80 63 00 20 */ lwz r3, 0x20(r3)
/* 80262CE4 38 80 00 20 */ li r4, 0x20
/* 80262CE8 38 A0 00 00 */ li r5, 0
/* 80262CEC 48 06 B7 89 */ bl alloc__7JKRHeapFUliP7JKRHeap
/* 80262CF0 7C 64 1B 79 */ or. r4, r3, r3
/* 80262CF4 40 82 00 1C */ bne lbl_80262D10
/* 80262CF8 3C 60 80 3A */ lis r3, DynamicLink__stringBase0@ha /* 0x8039A4A0@ha */
/* 80262CFC 38 63 A4 A0 */ addi r3, r3, DynamicLink__stringBase0@l /* 0x8039A4A0@l */
/* 80262D00 38 63 02 42 */ addi r3, r3, 0x242
/* 80262D04 4C C6 31 82 */ crclr 6
/* 80262D08 4B DA 3F 05 */ bl OSReport_Error
/* 80262D0C 48 00 01 C0 */ b lbl_80262ECC
lbl_80262D10:
/* 80262D10 90 9F 00 14 */ stw r4, 0x14(r31)
/* 80262D14 80 7F 00 10 */ lwz r3, 0x10(r31)
/* 80262D18 48 0D B7 F9 */ bl OSLink
/* 80262D1C 2C 03 00 00 */ cmpwi r3, 0
/* 80262D20 40 82 01 64 */ bne lbl_80262E84
/* 80262D24 3C 60 80 3A */ lis r3, DynamicLink__stringBase0@ha /* 0x8039A4A0@ha */
/* 80262D28 38 63 A4 A0 */ addi r3, r3, DynamicLink__stringBase0@l /* 0x8039A4A0@l */
/* 80262D2C 38 63 02 55 */ addi r3, r3, 0x255
/* 80262D30 4C C6 31 82 */ crclr 6
/* 80262D34 4B DA 3E D9 */ bl OSReport_Error
/* 80262D38 48 00 01 94 */ b lbl_80262ECC
lbl_80262D3C:
/* 80262D3C 80 BF 00 10 */ lwz r5, 0x10(r31)
/* 80262D40 80 05 00 20 */ lwz r0, 0x20(r5)
/* 80262D44 7C 9C 02 14 */ add r4, r28, r0
/* 80262D48 7C 04 18 40 */ cmplw r4, r3
/* 80262D4C 40 80 00 64 */ bge lbl_80262DB0
/* 80262D50 7C A3 2B 78 */ mr r3, r5
/* 80262D54 7F C4 F3 78 */ mr r4, r30
/* 80262D58 48 0D B7 DD */ bl OSLinkFixed
/* 80262D5C 2C 03 00 00 */ cmpwi r3, 0
/* 80262D60 40 82 00 1C */ bne lbl_80262D7C
/* 80262D64 3C 60 80 3A */ lis r3, DynamicLink__stringBase0@ha /* 0x8039A4A0@ha */
/* 80262D68 38 63 A4 A0 */ addi r3, r3, DynamicLink__stringBase0@l /* 0x8039A4A0@l */
/* 80262D6C 38 63 02 55 */ addi r3, r3, 0x255
/* 80262D70 4C C6 31 82 */ crclr 6
/* 80262D74 4B DA 3E 99 */ bl OSReport_Error
/* 80262D78 48 00 01 54 */ b lbl_80262ECC
lbl_80262D7C:
/* 80262D7C 80 7F 00 10 */ lwz r3, 0x10(r31)
/* 80262D80 80 03 00 20 */ lwz r0, 0x20(r3)
/* 80262D84 7C 9C 02 14 */ add r4, r28, r0
/* 80262D88 38 A0 00 00 */ li r5, 0
/* 80262D8C 48 06 B8 99 */ bl resize__7JKRHeapFPvUlP7JKRHeap
/* 80262D90 2C 03 00 00 */ cmpwi r3, 0
/* 80262D94 40 80 00 F0 */ bge lbl_80262E84
/* 80262D98 3C 60 80 3A */ lis r3, DynamicLink__stringBase0@ha /* 0x8039A4A0@ha */
/* 80262D9C 38 63 A4 A0 */ addi r3, r3, DynamicLink__stringBase0@l /* 0x8039A4A0@l */
/* 80262DA0 38 63 02 61 */ addi r3, r3, 0x261
/* 80262DA4 4C C6 31 82 */ crclr 6
/* 80262DA8 4B DA 3E 65 */ bl OSReport_Error
/* 80262DAC 48 00 00 D8 */ b lbl_80262E84
lbl_80262DB0:
/* 80262DB0 7C A3 2B 78 */ mr r3, r5
/* 80262DB4 38 A0 00 00 */ li r5, 0
/* 80262DB8 48 06 B8 6D */ bl resize__7JKRHeapFPvUlP7JKRHeap
/* 80262DBC 2C 03 00 00 */ cmpwi r3, 0
/* 80262DC0 40 81 00 30 */ ble lbl_80262DF0
/* 80262DC4 80 7F 00 10 */ lwz r3, 0x10(r31)
/* 80262DC8 7F C4 F3 78 */ mr r4, r30
/* 80262DCC 48 0D B7 69 */ bl OSLinkFixed
/* 80262DD0 2C 03 00 00 */ cmpwi r3, 0
/* 80262DD4 40 82 00 B0 */ bne lbl_80262E84
/* 80262DD8 3C 60 80 3A */ lis r3, DynamicLink__stringBase0@ha /* 0x8039A4A0@ha */
/* 80262DDC 38 63 A4 A0 */ addi r3, r3, DynamicLink__stringBase0@l /* 0x8039A4A0@l */
/* 80262DE0 38 63 02 55 */ addi r3, r3, 0x255
/* 80262DE4 4C C6 31 82 */ crclr 6
/* 80262DE8 4B DA 3E 25 */ bl OSReport_Error
/* 80262DEC 48 00 00 E0 */ b lbl_80262ECC
lbl_80262DF0:
/* 80262DF0 80 7F 00 10 */ lwz r3, 0x10(r31)
/* 80262DF4 80 63 00 20 */ lwz r3, 0x20(r3)
/* 80262DF8 38 80 00 20 */ li r4, 0x20
/* 80262DFC 38 A0 00 00 */ li r5, 0
/* 80262E00 48 06 B6 75 */ bl alloc__7JKRHeapFUliP7JKRHeap
/* 80262E04 7C 64 1B 79 */ or. r4, r3, r3
/* 80262E08 40 82 00 24 */ bne lbl_80262E2C
/* 80262E0C 3C 60 80 3A */ lis r3, DynamicLink__stringBase0@ha /* 0x8039A4A0@ha */
/* 80262E10 38 63 A4 A0 */ addi r3, r3, DynamicLink__stringBase0@l /* 0x8039A4A0@l */
/* 80262E14 38 63 02 7F */ addi r3, r3, 0x27f
/* 80262E18 80 9F 00 10 */ lwz r4, 0x10(r31)
/* 80262E1C 80 84 00 20 */ lwz r4, 0x20(r4)
/* 80262E20 4C C6 31 82 */ crclr 6
/* 80262E24 4B DA 3D E9 */ bl OSReport_Error
/* 80262E28 48 00 00 A4 */ b lbl_80262ECC
lbl_80262E2C:
/* 80262E2C 90 9F 00 14 */ stw r4, 0x14(r31)
/* 80262E30 80 7F 00 10 */ lwz r3, 0x10(r31)
/* 80262E34 48 0D B7 01 */ bl OSLinkFixed
/* 80262E38 2C 03 00 00 */ cmpwi r3, 0
/* 80262E3C 40 82 00 1C */ bne lbl_80262E58
/* 80262E40 3C 60 80 3A */ lis r3, DynamicLink__stringBase0@ha /* 0x8039A4A0@ha */
/* 80262E44 38 63 A4 A0 */ addi r3, r3, DynamicLink__stringBase0@l /* 0x8039A4A0@l */
/* 80262E48 38 63 02 55 */ addi r3, r3, 0x255
/* 80262E4C 4C C6 31 82 */ crclr 6
/* 80262E50 4B DA 3D BD */ bl OSReport_Error
/* 80262E54 48 00 00 78 */ b lbl_80262ECC
lbl_80262E58:
/* 80262E58 80 7F 00 10 */ lwz r3, 0x10(r31)
/* 80262E5C 7F A4 EB 78 */ mr r4, r29
/* 80262E60 38 A0 00 00 */ li r5, 0
/* 80262E64 48 06 B7 C1 */ bl resize__7JKRHeapFPvUlP7JKRHeap
/* 80262E68 2C 03 00 00 */ cmpwi r3, 0
/* 80262E6C 40 80 00 18 */ bge lbl_80262E84
/* 80262E70 3C 60 80 3A */ lis r3, DynamicLink__stringBase0@ha /* 0x8039A4A0@ha */
/* 80262E74 38 63 A4 A0 */ addi r3, r3, DynamicLink__stringBase0@l /* 0x8039A4A0@l */
/* 80262E78 38 63 02 61 */ addi r3, r3, 0x261
/* 80262E7C 4C C6 31 82 */ crclr 6
/* 80262E80 4B DA 3D 8D */ bl OSReport_Error
lbl_80262E84:
/* 80262E84 48 0D F8 79 */ bl OSGetTime
/* 80262E88 7F E3 FB 78 */ mr r3, r31
/* 80262E8C 81 9F 00 0C */ lwz r12, 0xc(r31)
/* 80262E90 81 8C 00 10 */ lwz r12, 0x10(r12)
/* 80262E94 7D 89 03 A6 */ mtctr r12
/* 80262E98 4E 80 04 21 */ bctrl
/* 80262E9C 80 0D 8B C0 */ lwz r0, sAllocBytes__20DynamicModuleControl(r13)
/* 80262EA0 7C 00 1A 14 */ add r0, r0, r3
/* 80262EA4 90 0D 8B C0 */ stw r0, sAllocBytes__20DynamicModuleControl(r13)
/* 80262EA8 48 0D F8 55 */ bl OSGetTime
/* 80262EAC 80 7F 00 10 */ lwz r3, 0x10(r31)
/* 80262EB0 81 83 00 34 */ lwz r12, 0x34(r3)
/* 80262EB4 7D 89 03 A6 */ mtctr r12
/* 80262EB8 4E 80 04 21 */ bctrl
/* 80262EBC 90 7F 00 18 */ stw r3, 0x18(r31)
/* 80262EC0 48 0D F8 3D */ bl OSGetTime
/* 80262EC4 38 60 00 01 */ li r3, 1
/* 80262EC8 48 00 00 48 */ b lbl_80262F10
lbl_80262ECC:
/* 80262ECC 38 00 00 00 */ li r0, 0
/* 80262ED0 98 1F 00 21 */ stb r0, 0x21(r31)
/* 80262ED4 80 7F 00 14 */ lwz r3, 0x14(r31)
/* 80262ED8 28 03 00 00 */ cmplwi r3, 0
/* 80262EDC 41 82 00 14 */ beq lbl_80262EF0
/* 80262EE0 38 80 00 00 */ li r4, 0
/* 80262EE4 48 06 B6 1D */ bl free__7JKRHeapFPvP7JKRHeap
/* 80262EE8 38 00 00 00 */ li r0, 0
/* 80262EEC 90 1F 00 14 */ stw r0, 0x14(r31)
lbl_80262EF0:
/* 80262EF0 80 7F 00 10 */ lwz r3, 0x10(r31)
/* 80262EF4 28 03 00 00 */ cmplwi r3, 0
/* 80262EF8 41 82 00 14 */ beq lbl_80262F0C
/* 80262EFC 38 80 00 00 */ li r4, 0
/* 80262F00 48 06 B6 01 */ bl free__7JKRHeapFPvP7JKRHeap
/* 80262F04 38 00 00 00 */ li r0, 0
/* 80262F08 90 1F 00 10 */ stw r0, 0x10(r31)
lbl_80262F0C:
/* 80262F0C 38 60 00 00 */ li r3, 0
lbl_80262F10:
/* 80262F10 39 61 00 20 */ addi r11, r1, 0x20
/* 80262F14 48 0F F3 11 */ bl _restgpr_28
/* 80262F18 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80262F1C 7C 08 03 A6 */ mtlr r0
/* 80262F20 38 21 00 20 */ addi r1, r1, 0x20
/* 80262F24 4E 80 00 20 */ blr

View File

@ -1,213 +0,0 @@
lbl_802627E8:
/* 802627E8 94 21 FF A0 */ stwu r1, -0x60(r1)
/* 802627EC 7C 08 02 A6 */ mflr r0
/* 802627F0 90 01 00 64 */ stw r0, 0x64(r1)
/* 802627F4 39 61 00 60 */ addi r11, r1, 0x60
/* 802627F8 48 0F F9 E1 */ bl _savegpr_28
/* 802627FC 7C 7C 1B 78 */ mr r28, r3
/* 80262800 80 03 00 10 */ lwz r0, 0x10(r3)
/* 80262804 28 00 00 00 */ cmplwi r0, 0
/* 80262808 41 82 00 0C */ beq lbl_80262814
/* 8026280C 38 60 00 01 */ li r3, 1
/* 80262810 48 00 02 D4 */ b lbl_80262AE4
lbl_80262814:
/* 80262814 4B DA C5 D9 */ bl mDoExt_getArchiveHeap__Fv
/* 80262818 7C 7E 1B 78 */ mr r30, r3
/* 8026281C 3B A0 00 00 */ li r29, 0
/* 80262820 3C 60 80 3A */ lis r3, DynamicLink__stringBase0@ha /* 0x8039A4A0@ha */
/* 80262824 3B E3 A4 A0 */ addi r31, r3, DynamicLink__stringBase0@l /* 0x8039A4A0@l */
lbl_80262828:
/* 80262828 80 7C 00 10 */ lwz r3, 0x10(r28)
/* 8026282C 28 03 00 00 */ cmplwi r3, 0
/* 80262830 41 82 00 14 */ beq lbl_80262844
/* 80262834 38 80 00 00 */ li r4, 0
/* 80262838 48 06 BC C9 */ bl free__7JKRHeapFPvP7JKRHeap
/* 8026283C 38 00 00 00 */ li r0, 0
/* 80262840 90 1C 00 10 */ stw r0, 0x10(r28)
lbl_80262844:
/* 80262844 38 61 00 10 */ addi r3, r1, 0x10
/* 80262848 38 80 00 40 */ li r4, 0x40
/* 8026284C 38 BF 01 41 */ addi r5, r31, 0x141
/* 80262850 80 DC 00 1C */ lwz r6, 0x1c(r28)
/* 80262854 4C C6 31 82 */ crclr 6
/* 80262858 48 10 3D 65 */ bl snprintf
/* 8026285C 80 1C 00 10 */ lwz r0, 0x10(r28)
/* 80262860 28 00 00 00 */ cmplwi r0, 0
/* 80262864 40 82 00 B0 */ bne lbl_80262914
/* 80262868 80 AD 8B C4 */ lwz r5, sArchive__20DynamicModuleControl(r13)
/* 8026286C 28 05 00 00 */ cmplwi r5, 0
/* 80262870 41 82 00 A4 */ beq lbl_80262914
/* 80262874 28 00 00 00 */ cmplwi r0, 0
/* 80262878 40 82 00 2C */ bne lbl_802628A4
/* 8026287C 3C 60 4D 4D */ lis r3, 0x4D4D /* 0x4D4D454D@ha */
/* 80262880 38 63 45 4D */ addi r3, r3, 0x454D /* 0x4D4D454D@l */
/* 80262884 38 81 00 10 */ addi r4, r1, 0x10
/* 80262888 48 07 32 B1 */ bl getGlbResource__10JKRArchiveFUlPCcP10JKRArchive
/* 8026288C 90 7C 00 10 */ stw r3, 0x10(r28)
/* 80262890 80 1C 00 10 */ lwz r0, 0x10(r28)
/* 80262894 28 00 00 00 */ cmplwi r0, 0
/* 80262898 41 82 00 0C */ beq lbl_802628A4
/* 8026289C 38 00 00 01 */ li r0, 1
/* 802628A0 98 1C 00 20 */ stb r0, 0x20(r28)
lbl_802628A4:
/* 802628A4 80 1C 00 10 */ lwz r0, 0x10(r28)
/* 802628A8 28 00 00 00 */ cmplwi r0, 0
/* 802628AC 40 82 00 30 */ bne lbl_802628DC
/* 802628B0 3C 60 41 4D */ lis r3, 0x414D /* 0x414D454D@ha */
/* 802628B4 38 63 45 4D */ addi r3, r3, 0x454D /* 0x414D454D@l */
/* 802628B8 38 81 00 10 */ addi r4, r1, 0x10
/* 802628BC 80 AD 8B C4 */ lwz r5, sArchive__20DynamicModuleControl(r13)
/* 802628C0 48 07 32 79 */ bl getGlbResource__10JKRArchiveFUlPCcP10JKRArchive
/* 802628C4 90 7C 00 10 */ stw r3, 0x10(r28)
/* 802628C8 80 1C 00 10 */ lwz r0, 0x10(r28)
/* 802628CC 28 00 00 00 */ cmplwi r0, 0
/* 802628D0 41 82 00 0C */ beq lbl_802628DC
/* 802628D4 38 00 00 02 */ li r0, 2
/* 802628D8 98 1C 00 20 */ stb r0, 0x20(r28)
lbl_802628DC:
/* 802628DC 80 1C 00 10 */ lwz r0, 0x10(r28)
/* 802628E0 28 00 00 00 */ cmplwi r0, 0
/* 802628E4 40 82 00 30 */ bne lbl_80262914
/* 802628E8 3C 60 44 4D */ lis r3, 0x444D /* 0x444D454D@ha */
/* 802628EC 38 63 45 4D */ addi r3, r3, 0x454D /* 0x444D454D@l */
/* 802628F0 38 81 00 10 */ addi r4, r1, 0x10
/* 802628F4 80 AD 8B C4 */ lwz r5, sArchive__20DynamicModuleControl(r13)
/* 802628F8 48 07 32 41 */ bl getGlbResource__10JKRArchiveFUlPCcP10JKRArchive
/* 802628FC 90 7C 00 10 */ stw r3, 0x10(r28)
/* 80262900 80 1C 00 10 */ lwz r0, 0x10(r28)
/* 80262904 28 00 00 00 */ cmplwi r0, 0
/* 80262908 41 82 00 0C */ beq lbl_80262914
/* 8026290C 38 00 00 03 */ li r0, 3
/* 80262910 98 1C 00 20 */ stb r0, 0x20(r28)
lbl_80262914:
/* 80262914 80 9C 00 10 */ lwz r4, 0x10(r28)
/* 80262918 28 04 00 00 */ cmplwi r4, 0
/* 8026291C 41 82 00 2C */ beq lbl_80262948
/* 80262920 80 6D 8B C4 */ lwz r3, sArchive__20DynamicModuleControl(r13)
/* 80262924 81 83 00 00 */ lwz r12, 0(r3)
/* 80262928 81 8C 00 3C */ lwz r12, 0x3c(r12)
/* 8026292C 7D 89 03 A6 */ mtctr r12
/* 80262930 4E 80 04 21 */ bctrl
/* 80262934 90 7C 00 24 */ stw r3, 0x24(r28)
/* 80262938 80 7C 00 10 */ lwz r3, 0x10(r28)
/* 8026293C 38 80 00 00 */ li r4, 0
/* 80262940 48 07 1A 61 */ bl detachResource__13JKRFileLoaderFPvP13JKRFileLoader
/* 80262944 48 00 00 D4 */ b lbl_80262A18
lbl_80262948:
/* 80262948 40 82 00 70 */ bne lbl_802629B8
/* 8026294C 38 61 00 10 */ addi r3, r1, 0x10
/* 80262950 38 80 00 40 */ li r4, 0x40
/* 80262954 3C A0 80 3A */ lis r5, DynamicLink__stringBase0@ha /* 0x8039A4A0@ha */
/* 80262958 38 A5 A4 A0 */ addi r5, r5, DynamicLink__stringBase0@l /* 0x8039A4A0@l */
/* 8026295C 38 A5 01 48 */ addi r5, r5, 0x148
/* 80262960 80 DC 00 1C */ lwz r6, 0x1c(r28)
/* 80262964 4C C6 31 82 */ crclr 6
/* 80262968 48 10 3C 55 */ bl snprintf
/* 8026296C 38 00 00 00 */ li r0, 0
/* 80262970 90 01 00 08 */ stw r0, 8(r1)
/* 80262974 38 61 00 10 */ addi r3, r1, 0x10
/* 80262978 38 80 00 00 */ li r4, 0
/* 8026297C 38 A0 00 01 */ li r5, 1
/* 80262980 38 C0 00 00 */ li r6, 0
/* 80262984 7F C7 F3 78 */ mr r7, r30
/* 80262988 39 00 00 01 */ li r8, 1
/* 8026298C 39 20 00 00 */ li r9, 0
/* 80262990 39 40 00 00 */ li r10, 0
/* 80262994 48 07 72 05 */ bl loadToMainRAM__12JKRDvdRipperFPCcPUc15JKRExpandSwitchUlP7JKRHeapQ212JKRDvdRipper15EAllocDirectionUlPiPUl
/* 80262998 90 7C 00 10 */ stw r3, 0x10(r28)
/* 8026299C 80 1C 00 10 */ lwz r0, 0x10(r28)
/* 802629A0 28 00 00 00 */ cmplwi r0, 0
/* 802629A4 41 82 00 14 */ beq lbl_802629B8
/* 802629A8 38 00 00 00 */ li r0, 0
/* 802629AC 90 1C 00 24 */ stw r0, 0x24(r28)
/* 802629B0 38 00 00 07 */ li r0, 7
/* 802629B4 98 1C 00 20 */ stb r0, 0x20(r28)
lbl_802629B8:
/* 802629B8 80 1C 00 10 */ lwz r0, 0x10(r28)
/* 802629BC 28 00 00 00 */ cmplwi r0, 0
/* 802629C0 40 82 00 58 */ bne lbl_80262A18
/* 802629C4 80 6D 8B C8 */ lwz r3, sFileCache__20DynamicModuleControl(r13)
/* 802629C8 28 03 00 00 */ cmplwi r3, 0
/* 802629CC 41 82 00 4C */ beq lbl_80262A18
/* 802629D0 3C 80 72 65 */ lis r4, 0x7265 /* 0x72656C73@ha */
/* 802629D4 38 84 6C 73 */ addi r4, r4, 0x6C73 /* 0x72656C73@l */
/* 802629D8 38 A1 00 10 */ addi r5, r1, 0x10
/* 802629DC 81 83 00 00 */ lwz r12, 0(r3)
/* 802629E0 81 8C 00 18 */ lwz r12, 0x18(r12)
/* 802629E4 7D 89 03 A6 */ mtctr r12
/* 802629E8 4E 80 04 21 */ bctrl
/* 802629EC 90 7C 00 10 */ stw r3, 0x10(r28)
/* 802629F0 80 1C 00 10 */ lwz r0, 0x10(r28)
/* 802629F4 28 00 00 00 */ cmplwi r0, 0
/* 802629F8 41 82 00 20 */ beq lbl_80262A18
/* 802629FC 38 00 00 00 */ li r0, 0
/* 80262A00 90 1C 00 24 */ stw r0, 0x24(r28)
/* 80262A04 38 00 00 0B */ li r0, 0xb
/* 80262A08 98 1C 00 20 */ stb r0, 0x20(r28)
/* 80262A0C 80 7C 00 10 */ lwz r3, 0x10(r28)
/* 80262A10 38 80 00 00 */ li r4, 0
/* 80262A14 48 07 19 8D */ bl detachResource__13JKRFileLoaderFPvP13JKRFileLoader
lbl_80262A18:
/* 80262A18 80 7C 00 10 */ lwz r3, 0x10(r28)
/* 80262A1C 28 03 00 00 */ cmplwi r3, 0
/* 80262A20 40 82 00 24 */ bne lbl_80262A44
/* 80262A24 3C 60 80 3A */ lis r3, DynamicLink__stringBase0@ha /* 0x8039A4A0@ha */
/* 80262A28 38 63 A4 A0 */ addi r3, r3, DynamicLink__stringBase0@l /* 0x8039A4A0@l */
/* 80262A2C 38 63 01 62 */ addi r3, r3, 0x162
/* 80262A30 80 9C 00 1C */ lwz r4, 0x1c(r28)
/* 80262A34 4C C6 31 82 */ crclr 6
/* 80262A38 4B DA 41 D5 */ bl OSReport_Error
/* 80262A3C 38 60 00 00 */ li r3, 0
/* 80262A40 48 00 00 A4 */ b lbl_80262AE4
lbl_80262A44:
/* 80262A44 80 9C 00 24 */ lwz r4, 0x24(r28)
/* 80262A48 2C 04 00 00 */ cmpwi r4, 0
/* 80262A4C 40 81 00 80 */ ble lbl_80262ACC
/* 80262A50 4B FF FD 71 */ bl calcSum2__FPCUsUl
/* 80262A54 88 DC 00 21 */ lbz r6, 0x21(r28)
/* 80262A58 28 06 00 00 */ cmplwi r6, 0
/* 80262A5C 40 82 00 18 */ bne lbl_80262A74
/* 80262A60 B0 7C 00 22 */ sth r3, 0x22(r28)
/* 80262A64 88 7C 00 21 */ lbz r3, 0x21(r28)
/* 80262A68 38 03 00 01 */ addi r0, r3, 1
/* 80262A6C 98 1C 00 21 */ stb r0, 0x21(r28)
/* 80262A70 4B FF FD B8 */ b lbl_80262828
lbl_80262A74:
/* 80262A74 54 64 04 3E */ clrlwi r4, r3, 0x10
/* 80262A78 A0 BC 00 22 */ lhz r5, 0x22(r28)
/* 80262A7C 7C 04 28 40 */ cmplw r4, r5
/* 80262A80 41 82 00 38 */ beq lbl_80262AB8
/* 80262A84 3C 60 80 3A */ lis r3, DynamicLink__stringBase0@ha /* 0x8039A4A0@ha */
/* 80262A88 38 63 A4 A0 */ addi r3, r3, DynamicLink__stringBase0@l /* 0x8039A4A0@l */
/* 80262A8C 38 63 01 9D */ addi r3, r3, 0x19d
/* 80262A90 80 DC 00 1C */ lwz r6, 0x1c(r28)
/* 80262A94 4C C6 31 82 */ crclr 6
/* 80262A98 4B DA 41 75 */ bl OSReport_Error
/* 80262A9C 38 00 00 00 */ li r0, 0
/* 80262AA0 98 1C 00 21 */ stb r0, 0x21(r28)
/* 80262AA4 3B BD 00 01 */ addi r29, r29, 1
/* 80262AA8 2C 1D 00 03 */ cmpwi r29, 3
/* 80262AAC 41 80 FD 7C */ blt lbl_80262828
/* 80262AB0 38 60 00 00 */ li r3, 0
/* 80262AB4 48 00 00 30 */ b lbl_80262AE4
lbl_80262AB8:
/* 80262AB8 28 06 00 FF */ cmplwi r6, 0xff
/* 80262ABC 40 80 00 24 */ bge lbl_80262AE0
/* 80262AC0 38 06 00 01 */ addi r0, r6, 1
/* 80262AC4 98 1C 00 21 */ stb r0, 0x21(r28)
/* 80262AC8 48 00 00 18 */ b lbl_80262AE0
lbl_80262ACC:
/* 80262ACC 88 7C 00 21 */ lbz r3, 0x21(r28)
/* 80262AD0 28 03 00 FF */ cmplwi r3, 0xff
/* 80262AD4 40 80 00 0C */ bge lbl_80262AE0
/* 80262AD8 38 03 00 01 */ addi r0, r3, 1
/* 80262ADC 98 1C 00 21 */ stb r0, 0x21(r28)
lbl_80262AE0:
/* 80262AE0 38 60 00 01 */ li r3, 1
lbl_80262AE4:
/* 80262AE4 39 61 00 60 */ addi r11, r1, 0x60
/* 80262AE8 48 0F F7 3D */ bl _restgpr_28
/* 80262AEC 80 01 00 64 */ lwz r0, 0x64(r1)
/* 80262AF0 7C 08 03 A6 */ mtlr r0
/* 80262AF4 38 21 00 60 */ addi r1, r1, 0x60
/* 80262AF8 4E 80 00 20 */ blr

View File

@ -1,135 +0,0 @@
lbl_80262470:
/* 80262470 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 80262474 7C 08 02 A6 */ mflr r0
/* 80262478 90 01 00 34 */ stw r0, 0x34(r1)
/* 8026247C 39 61 00 30 */ addi r11, r1, 0x30
/* 80262480 48 0F FD 51 */ bl _savegpr_26
/* 80262484 83 AD 8B B8 */ lwz r29, mFirst__24DynamicModuleControlBase(r13)
/* 80262488 3B 80 00 00 */ li r28, 0
/* 8026248C 3C 60 80 3A */ lis r3, DynamicLink__stringBase0@ha /* 0x8039A4A0@ha */
/* 80262490 38 63 A4 A0 */ addi r3, r3, DynamicLink__stringBase0@l /* 0x8039A4A0@l */
/* 80262494 38 63 00 45 */ addi r3, r3, 0x45
/* 80262498 4C C6 31 82 */ crclr 6
/* 8026249C 48 08 61 2D */ bl JUTReportConsole_f
/* 802624A0 3C 60 80 3A */ lis r3, DynamicLink__stringBase0@ha /* 0x8039A4A0@ha */
/* 802624A4 38 63 A4 A0 */ addi r3, r3, DynamicLink__stringBase0@l /* 0x8039A4A0@l */
/* 802624A8 38 63 00 68 */ addi r3, r3, 0x68
/* 802624AC 4C C6 31 82 */ crclr 6
/* 802624B0 48 08 61 19 */ bl JUTReportConsole_f
/* 802624B4 48 00 01 54 */ b lbl_80262608
lbl_802624B8:
/* 802624B8 A3 FD 00 02 */ lhz r31, 2(r29)
/* 802624BC A3 DD 00 00 */ lhz r30, 0(r29)
/* 802624C0 28 1F 00 00 */ cmplwi r31, 0
/* 802624C4 40 82 00 0C */ bne lbl_802624D0
/* 802624C8 28 1E 00 00 */ cmplwi r30, 0
/* 802624CC 41 82 01 38 */ beq lbl_80262604
lbl_802624D0:
/* 802624D0 7F A3 EB 78 */ mr r3, r29
/* 802624D4 81 9D 00 0C */ lwz r12, 0xc(r29)
/* 802624D8 81 8C 00 10 */ lwz r12, 0x10(r12)
/* 802624DC 7D 89 03 A6 */ mtctr r12
/* 802624E0 4E 80 04 21 */ bctrl
/* 802624E4 7C 7A 1B 78 */ mr r26, r3
/* 802624E8 7F A3 EB 78 */ mr r3, r29
/* 802624EC 81 9D 00 0C */ lwz r12, 0xc(r29)
/* 802624F0 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 802624F4 7D 89 03 A6 */ mtctr r12
/* 802624F8 4E 80 04 21 */ bctrl
/* 802624FC 38 00 FF FF */ li r0, -1
/* 80262500 7C 1A 00 40 */ cmplw r26, r0
/* 80262504 40 80 00 84 */ bge lbl_80262588
/* 80262508 28 03 00 00 */ cmplwi r3, 0
/* 8026250C 41 82 00 0C */ beq lbl_80262518
/* 80262510 7C 7B 1B 78 */ mr r27, r3
/* 80262514 48 00 00 10 */ b lbl_80262524
lbl_80262518:
/* 80262518 3C 60 80 3A */ lis r3, DynamicLink__stringBase0@ha /* 0x8039A4A0@ha */
/* 8026251C 38 63 A4 A0 */ addi r3, r3, DynamicLink__stringBase0@l /* 0x8039A4A0@l */
/* 80262520 3B 63 00 80 */ addi r27, r3, 0x80
lbl_80262524:
/* 80262524 7F A3 EB 78 */ mr r3, r29
/* 80262528 81 9D 00 0C */ lwz r12, 0xc(r29)
/* 8026252C 81 8C 00 14 */ lwz r12, 0x14(r12)
/* 80262530 7D 89 03 A6 */ mtctr r12
/* 80262534 4E 80 04 21 */ bctrl
/* 80262538 7C 67 1B 78 */ mr r7, r3
/* 8026253C 3C 60 80 3A */ lis r3, DynamicLink__stringBase0@ha /* 0x8039A4A0@ha */
/* 80262540 38 63 A4 A0 */ addi r3, r3, DynamicLink__stringBase0@l /* 0x8039A4A0@l */
/* 80262544 38 63 00 87 */ addi r3, r3, 0x87
/* 80262548 7F E4 FB 78 */ mr r4, r31
/* 8026254C 7F C5 F3 78 */ mr r5, r30
/* 80262550 C8 22 B6 10 */ lfd f1, lit_3774(r2)
/* 80262554 93 41 00 0C */ stw r26, 0xc(r1)
/* 80262558 3C 00 43 30 */ lis r0, 0x4330
/* 8026255C 90 01 00 08 */ stw r0, 8(r1)
/* 80262560 C8 01 00 08 */ lfd f0, 8(r1)
/* 80262564 EC 20 08 28 */ fsubs f1, f0, f1
/* 80262568 C0 02 B6 08 */ lfs f0, lit_3772(r2)
/* 8026256C EC 21 00 32 */ fmuls f1, f1, f0
/* 80262570 7F 46 D3 78 */ mr r6, r26
/* 80262574 7F 68 DB 78 */ mr r8, r27
/* 80262578 4C C6 32 42 */ crset 6
/* 8026257C 48 08 60 4D */ bl JUTReportConsole_f
/* 80262580 7F 9C D2 14 */ add r28, r28, r26
/* 80262584 48 00 00 58 */ b lbl_802625DC
lbl_80262588:
/* 80262588 28 03 00 00 */ cmplwi r3, 0
/* 8026258C 41 82 00 0C */ beq lbl_80262598
/* 80262590 7C 7B 1B 78 */ mr r27, r3
/* 80262594 48 00 00 10 */ b lbl_802625A4
lbl_80262598:
/* 80262598 3C 60 80 3A */ lis r3, DynamicLink__stringBase0@ha /* 0x8039A4A0@ha */
/* 8026259C 38 63 A4 A0 */ addi r3, r3, DynamicLink__stringBase0@l /* 0x8039A4A0@l */
/* 802625A0 3B 63 00 80 */ addi r27, r3, 0x80
lbl_802625A4:
/* 802625A4 7F A3 EB 78 */ mr r3, r29
/* 802625A8 81 9D 00 0C */ lwz r12, 0xc(r29)
/* 802625AC 81 8C 00 14 */ lwz r12, 0x14(r12)
/* 802625B0 7D 89 03 A6 */ mtctr r12
/* 802625B4 4E 80 04 21 */ bctrl
/* 802625B8 7C 66 1B 78 */ mr r6, r3
/* 802625BC 3C 60 80 3A */ lis r3, DynamicLink__stringBase0@ha /* 0x8039A4A0@ha */
/* 802625C0 38 63 A4 A0 */ addi r3, r3, DynamicLink__stringBase0@l /* 0x8039A4A0@l */
/* 802625C4 38 63 00 A4 */ addi r3, r3, 0xa4
/* 802625C8 7F E4 FB 78 */ mr r4, r31
/* 802625CC 7F C5 F3 78 */ mr r5, r30
/* 802625D0 7F 67 DB 78 */ mr r7, r27
/* 802625D4 4C C6 31 82 */ crclr 6
/* 802625D8 48 08 5F F1 */ bl JUTReportConsole_f
lbl_802625DC:
/* 802625DC 7F A3 EB 78 */ mr r3, r29
/* 802625E0 81 9D 00 0C */ lwz r12, 0xc(r29)
/* 802625E4 81 8C 00 1C */ lwz r12, 0x1c(r12)
/* 802625E8 7D 89 03 A6 */ mtctr r12
/* 802625EC 4E 80 04 21 */ bctrl
/* 802625F0 3C 60 80 3A */ lis r3, DynamicLink__stringBase0@ha /* 0x8039A4A0@ha */
/* 802625F4 38 63 A4 A0 */ addi r3, r3, DynamicLink__stringBase0@l /* 0x8039A4A0@l */
/* 802625F8 38 63 00 C2 */ addi r3, r3, 0xc2
/* 802625FC 4C C6 31 82 */ crclr 6
/* 80262600 48 08 5F C9 */ bl JUTReportConsole_f
lbl_80262604:
/* 80262604 83 BD 00 08 */ lwz r29, 8(r29)
lbl_80262608:
/* 80262608 28 1D 00 00 */ cmplwi r29, 0
/* 8026260C 40 82 FE AC */ bne lbl_802624B8
/* 80262610 3C 60 80 3A */ lis r3, DynamicLink__stringBase0@ha /* 0x8039A4A0@ha */
/* 80262614 38 63 A4 A0 */ addi r3, r3, DynamicLink__stringBase0@l /* 0x8039A4A0@l */
/* 80262618 38 63 00 C4 */ addi r3, r3, 0xc4
/* 8026261C C8 22 B6 10 */ lfd f1, lit_3774(r2)
/* 80262620 93 81 00 0C */ stw r28, 0xc(r1)
/* 80262624 3C 00 43 30 */ lis r0, 0x4330
/* 80262628 90 01 00 08 */ stw r0, 8(r1)
/* 8026262C C8 01 00 08 */ lfd f0, 8(r1)
/* 80262630 EC 20 08 28 */ fsubs f1, f0, f1
/* 80262634 C0 02 B6 08 */ lfs f0, lit_3772(r2)
/* 80262638 EC 21 00 32 */ fmuls f1, f1, f0
/* 8026263C 7F 84 E3 78 */ mr r4, r28
/* 80262640 4C C6 32 42 */ crset 6
/* 80262644 48 08 5F 85 */ bl JUTReportConsole_f
/* 80262648 39 61 00 30 */ addi r11, r1, 0x30
/* 8026264C 48 0F FB D1 */ bl _restgpr_26
/* 80262650 80 01 00 34 */ lwz r0, 0x34(r1)
/* 80262654 7C 08 03 A6 */ mtlr r0
/* 80262658 38 21 00 30 */ addi r1, r1, 0x30
/* 8026265C 4E 80 00 20 */ blr

View File

@ -1,20 +0,0 @@
lbl_8001884C:
/* 8001884C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80018850 7C 08 02 A6 */ mflr r0
/* 80018854 90 01 00 14 */ stw r0, 0x14(r1)
/* 80018858 B0 81 00 08 */ sth r4, 8(r1)
/* 8001885C 80 03 00 04 */ lwz r0, 4(r3)
/* 80018860 2C 00 00 02 */ cmpwi r0, 2
/* 80018864 40 82 00 0C */ bne lbl_80018870
/* 80018868 38 60 00 04 */ li r3, 4
/* 8001886C 48 00 00 14 */ b lbl_80018880
lbl_80018870:
/* 80018870 3C 80 80 3A */ lis r4, l_method@ha /* 0x803A3590@ha */
/* 80018874 38 84 35 90 */ addi r4, r4, l_method@l /* 0x803A3590@l */
/* 80018878 38 A1 00 08 */ addi r5, r1, 8
/* 8001887C 48 01 72 A5 */ bl dComLbG_PhaseHandler__FP30request_of_phase_process_classPPFPv_iPv
lbl_80018880:
/* 80018880 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80018884 7C 08 03 A6 */ mtlr r0
/* 80018888 38 21 00 10 */ addi r1, r1, 0x10
/* 8001888C 4E 80 00 20 */ blr

View File

@ -1,22 +0,0 @@
lbl_80018890:
/* 80018890 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80018894 7C 08 02 A6 */ mflr r0
/* 80018898 90 01 00 14 */ stw r0, 0x14(r1)
/* 8001889C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 800188A0 7C 7F 1B 78 */ mr r31, r3
/* 800188A4 80 03 00 04 */ lwz r0, 4(r3)
/* 800188A8 2C 00 00 02 */ cmpwi r0, 2
/* 800188AC 40 82 00 18 */ bne lbl_800188C4
/* 800188B0 7C 83 23 78 */ mr r3, r4
/* 800188B4 4B FF FC C9 */ bl cDyl_Unlink__Fs
/* 800188B8 38 00 00 00 */ li r0, 0
/* 800188BC 90 1F 00 04 */ stw r0, 4(r31)
/* 800188C0 48 00 00 08 */ b lbl_800188C8
lbl_800188C4:
/* 800188C4 38 60 00 00 */ li r3, 0
lbl_800188C8:
/* 800188C8 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 800188CC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 800188D0 7C 08 03 A6 */ mtlr r0
/* 800188D4 38 21 00 10 */ addi r1, r1, 0x10
/* 800188D8 4E 80 00 20 */ blr

View File

@ -1,97 +0,0 @@
lbl_800183DC:
/* 800183DC 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 800183E0 7C 08 02 A6 */ mflr r0
/* 800183E4 90 01 00 34 */ stw r0, 0x34(r1)
/* 800183E8 39 61 00 30 */ addi r11, r1, 0x30
/* 800183EC 48 34 9D D9 */ bl _savegpr_23
/* 800183F0 4B FF 69 FD */ bl mDoExt_getArchiveHeap__Fv
/* 800183F4 7C 64 1B 78 */ mr r4, r3
/* 800183F8 3C 60 00 01 */ lis r3, 0x0001 /* 0x00008820@ha */
/* 800183FC 38 63 88 20 */ addi r3, r3, 0x8820 /* 0x00008820@l */
/* 80018400 38 A0 00 00 */ li r5, 0
/* 80018404 48 2B 86 21 */ bl create__12JKRSolidHeapFUlP7JKRHeapb
/* 80018408 7C 7E 1B 78 */ mr r30, r3
/* 8001840C 48 2B 60 2D */ bl becomeCurrentHeap__7JKRHeapFv
/* 80018410 7C 7D 1B 78 */ mr r29, r3
/* 80018414 3C 60 80 3F */ lis r3, DMC@ha /* 0x803F0F50@ha */
/* 80018418 38 63 0F 50 */ addi r3, r3, DMC@l /* 0x803F0F50@l */
/* 8001841C 38 80 00 00 */ li r4, 0
/* 80018420 38 A0 0C 60 */ li r5, 0xc60
/* 80018424 4B FE B0 35 */ bl memset
/* 80018428 3B 80 00 00 */ li r28, 0
/* 8001842C 3B 40 00 00 */ li r26, 0
/* 80018430 3C 60 80 37 */ lis r3, DynamicNameTable@ha /* 0x80374640@ha */
/* 80018434 3B E3 46 40 */ addi r31, r3, DynamicNameTable@l /* 0x80374640@l */
lbl_80018438:
/* 80018438 7F 7F D2 14 */ add r27, r31, r26
/* 8001843C 80 1B 00 04 */ lwz r0, 4(r27)
/* 80018440 28 00 00 00 */ cmplwi r0, 0
/* 80018444 41 82 00 BC */ beq lbl_80018500
/* 80018448 3A E0 00 00 */ li r23, 0
/* 8001844C 3B 20 00 00 */ li r25, 0
/* 80018450 3C 60 80 3F */ lis r3, DMC@ha /* 0x803F0F50@ha */
/* 80018454 3B 03 0F 50 */ addi r24, r3, DMC@l /* 0x803F0F50@l */
lbl_80018458:
/* 80018458 7C 78 C8 2E */ lwzx r3, r24, r25
/* 8001845C 28 03 00 00 */ cmplwi r3, 0
/* 80018460 41 82 00 44 */ beq lbl_800184A4
/* 80018464 81 83 00 0C */ lwz r12, 0xc(r3)
/* 80018468 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 8001846C 7D 89 03 A6 */ mtctr r12
/* 80018470 4E 80 04 21 */ bctrl
/* 80018474 7C 64 1B 78 */ mr r4, r3
/* 80018478 80 7B 00 04 */ lwz r3, 4(r27)
/* 8001847C 48 35 05 19 */ bl strcmp
/* 80018480 2C 03 00 00 */ cmpwi r3, 0
/* 80018484 40 82 00 20 */ bne lbl_800184A4
/* 80018488 7C 98 C8 2E */ lwzx r4, r24, r25
/* 8001848C A8 1B 00 00 */ lha r0, 0(r27)
/* 80018490 54 00 10 3A */ slwi r0, r0, 2
/* 80018494 3C 60 80 3F */ lis r3, DMC@ha /* 0x803F0F50@ha */
/* 80018498 38 63 0F 50 */ addi r3, r3, DMC@l /* 0x803F0F50@l */
/* 8001849C 7C 83 01 2E */ stwx r4, r3, r0
/* 800184A0 48 00 00 14 */ b lbl_800184B4
lbl_800184A4:
/* 800184A4 3A F7 00 01 */ addi r23, r23, 1
/* 800184A8 28 17 03 18 */ cmplwi r23, 0x318
/* 800184AC 3B 39 00 04 */ addi r25, r25, 4
/* 800184B0 41 80 FF A8 */ blt lbl_80018458
lbl_800184B4:
/* 800184B4 A8 1B 00 00 */ lha r0, 0(r27)
/* 800184B8 54 00 10 3A */ slwi r0, r0, 2
/* 800184BC 3C 60 80 3F */ lis r3, DMC@ha /* 0x803F0F50@ha */
/* 800184C0 38 63 0F 50 */ addi r3, r3, DMC@l /* 0x803F0F50@l */
/* 800184C4 7C 03 00 2E */ lwzx r0, r3, r0
/* 800184C8 28 00 00 00 */ cmplwi r0, 0
/* 800184CC 40 82 00 34 */ bne lbl_80018500
/* 800184D0 38 60 00 2C */ li r3, 0x2c
/* 800184D4 48 2B 67 79 */ bl __nw__FUl
/* 800184D8 7C 64 1B 79 */ or. r4, r3, r3
/* 800184DC 41 82 00 10 */ beq lbl_800184EC
/* 800184E0 80 9B 00 04 */ lwz r4, 4(r27)
/* 800184E4 48 24 A1 7D */ bl __ct__20DynamicModuleControlFPCc
/* 800184E8 7C 64 1B 78 */ mr r4, r3
lbl_800184EC:
/* 800184EC A8 1B 00 00 */ lha r0, 0(r27)
/* 800184F0 54 00 10 3A */ slwi r0, r0, 2
/* 800184F4 3C 60 80 3F */ lis r3, DMC@ha /* 0x803F0F50@ha */
/* 800184F8 38 63 0F 50 */ addi r3, r3, DMC@l /* 0x803F0F50@l */
/* 800184FC 7C 83 01 2E */ stwx r4, r3, r0
lbl_80018500:
/* 80018500 3B 9C 00 01 */ addi r28, r28, 1
/* 80018504 28 1C 02 F5 */ cmplwi r28, 0x2f5
/* 80018508 3B 5A 00 08 */ addi r26, r26, 8
/* 8001850C 41 80 FF 2C */ blt lbl_80018438
/* 80018510 7F C3 F3 78 */ mr r3, r30
/* 80018514 48 2B 86 E1 */ bl adjustSize__12JKRSolidHeapFv
/* 80018518 7F A3 EB 78 */ mr r3, r29
/* 8001851C 48 2B 5F 1D */ bl becomeCurrentHeap__7JKRHeapFv
/* 80018520 38 00 00 01 */ li r0, 1
/* 80018524 98 0D 87 28 */ stb r0, data_80450CA8(r13)
/* 80018528 38 60 00 01 */ li r3, 1
/* 8001852C 39 61 00 30 */ addi r11, r1, 0x30
/* 80018530 48 34 9C E1 */ bl _restgpr_23
/* 80018534 80 01 00 34 */ lwz r0, 0x34(r1)
/* 80018538 7C 08 03 A6 */ mtlr r0
/* 8001853C 38 21 00 30 */ addi r1, r1, 0x30
/* 80018540 4E 80 00 20 */ blr

View File

@ -1,32 +0,0 @@
lbl_80018798:
/* 80018798 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8001879C 7C 08 02 A6 */ mflr r0
/* 800187A0 90 01 00 14 */ stw r0, 0x14(r1)
/* 800187A4 80 6D 87 30 */ lwz r3, cDyl_DVD(r13)
/* 800187A8 28 03 00 00 */ cmplwi r3, 0
/* 800187AC 40 82 00 0C */ bne lbl_800187B8
/* 800187B0 38 60 00 01 */ li r3, 1
/* 800187B4 48 00 00 40 */ b lbl_800187F4
lbl_800187B8:
/* 800187B8 88 03 00 0C */ lbz r0, 0xc(r3)
/* 800187BC 2C 00 00 00 */ cmpwi r0, 0
/* 800187C0 41 82 00 30 */ beq lbl_800187F0
/* 800187C4 28 03 00 00 */ cmplwi r3, 0
/* 800187C8 41 82 00 18 */ beq lbl_800187E0
/* 800187CC 38 80 00 01 */ li r4, 1
/* 800187D0 81 83 00 10 */ lwz r12, 0x10(r3)
/* 800187D4 81 8C 00 08 */ lwz r12, 8(r12)
/* 800187D8 7D 89 03 A6 */ mtctr r12
/* 800187DC 4E 80 04 21 */ bctrl
lbl_800187E0:
/* 800187E0 38 00 00 00 */ li r0, 0
/* 800187E4 90 0D 87 30 */ stw r0, cDyl_DVD(r13)
/* 800187E8 38 60 00 01 */ li r3, 1
/* 800187EC 48 00 00 08 */ b lbl_800187F4
lbl_800187F0:
/* 800187F0 38 60 00 00 */ li r3, 0
lbl_800187F4:
/* 800187F4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 800187F8 7C 08 03 A6 */ mtlr r0
/* 800187FC 38 21 00 10 */ addi r1, r1, 0x10
/* 80018800 4E 80 00 20 */ blr

View File

@ -1,14 +0,0 @@
lbl_80018764:
/* 80018764 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80018768 7C 08 02 A6 */ mflr r0
/* 8001876C 90 01 00 14 */ stw r0, 0x14(r1)
/* 80018770 4B FF FC 6D */ bl cCc_Init__Fv
/* 80018774 3C 60 80 02 */ lis r3, cDyl_InitCallback__FPv@ha /* 0x80018688@ha */
/* 80018778 38 63 86 88 */ addi r3, r3, cDyl_InitCallback__FPv@l /* 0x80018688@l */
/* 8001877C 38 80 00 00 */ li r4, 0
/* 80018780 4B FF D4 F5 */ bl create__20mDoDvdThd_callback_cFPFPv_PvPv
/* 80018784 90 6D 87 30 */ stw r3, cDyl_DVD(r13)
/* 80018788 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8001878C 7C 08 03 A6 */ mtlr r0
/* 80018790 38 21 00 10 */ addi r1, r1, 0x10
/* 80018794 4E 80 00 20 */ blr

View File

@ -1,56 +0,0 @@
lbl_80018688:
/* 80018688 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 8001868C 7C 08 02 A6 */ mflr r0
/* 80018690 90 01 00 44 */ stw r0, 0x44(r1)
/* 80018694 93 E1 00 3C */ stw r31, 0x3c(r1)
/* 80018698 93 C1 00 38 */ stw r30, 0x38(r1)
/* 8001869C 4B FF 67 51 */ bl mDoExt_getArchiveHeap__Fv
/* 800186A0 7C 64 1B 78 */ mr r4, r3
/* 800186A4 3C 60 80 37 */ lis r3, c_c_dylink__stringBase0@ha /* 0x80375DE8@ha */
/* 800186A8 38 63 5D E8 */ addi r3, r3, c_c_dylink__stringBase0@l /* 0x80375DE8@l */
/* 800186AC 38 63 2A 56 */ addi r3, r3, 0x2a56
/* 800186B0 38 A0 00 00 */ li r5, 0
/* 800186B4 48 2B C3 01 */ bl mount__12JKRFileCacheFPCcP7JKRHeapPCc
/* 800186B8 7C 7F 1B 78 */ mr r31, r3
/* 800186BC 48 24 A0 A1 */ bl initialize__20DynamicModuleControlFv
/* 800186C0 3C 60 80 37 */ lis r3, c_c_dylink__stringBase0@ha /* 0x80375DE8@ha */
/* 800186C4 38 63 5D E8 */ addi r3, r3, c_c_dylink__stringBase0@l /* 0x80375DE8@l */
/* 800186C8 38 63 2A 58 */ addi r3, r3, 0x2a58
/* 800186CC 48 2B BB 59 */ bl getGlbResource__13JKRFileLoaderFPCc
/* 800186D0 7C 7E 1B 78 */ mr r30, r3
/* 800186D4 7F E4 FB 78 */ mr r4, r31
/* 800186D8 48 2B BC C9 */ bl detachResource__13JKRFileLoaderFPvP13JKRFileLoader
/* 800186DC 7F E3 FB 78 */ mr r3, r31
/* 800186E0 81 9F 00 00 */ lwz r12, 0(r31)
/* 800186E4 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 800186E8 7D 89 03 A6 */ mtctr r12
/* 800186EC 4E 80 04 21 */ bctrl
/* 800186F0 7F C3 F3 78 */ mr r3, r30
/* 800186F4 48 32 58 75 */ bl OSSetStringTable
/* 800186F8 38 61 00 08 */ addi r3, r1, 8
/* 800186FC 3C 80 80 37 */ lis r4, c_c_dylink__stringBase0@ha /* 0x80375DE8@ha */
/* 80018700 38 84 5D E8 */ addi r4, r4, c_c_dylink__stringBase0@l /* 0x80375DE8@l */
/* 80018704 38 84 2A 7E */ addi r4, r4, 0x2a7e
/* 80018708 48 24 9F 59 */ bl __ct__20DynamicModuleControlFPCc
/* 8001870C 38 61 00 08 */ addi r3, r1, 8
/* 80018710 48 24 9B C1 */ bl link__24DynamicModuleControlBaseFv
/* 80018714 38 00 00 01 */ li r0, 1
/* 80018718 90 0D 87 2C */ stw r0, cDyl_Initialized(r13)
/* 8001871C 38 60 00 09 */ li r3, 9
/* 80018720 38 80 7F FF */ li r4, 0x7fff
/* 80018724 38 A0 00 00 */ li r5, 0
/* 80018728 38 C0 00 00 */ li r6, 0
/* 8001872C 48 00 66 59 */ bl fopScnM_CreateReq__FssUsUl
/* 80018730 3C 60 80 3C */ lis r3, __vt__20DynamicModuleControl@ha /* 0x803C34C0@ha */
/* 80018734 38 03 34 C0 */ addi r0, r3, __vt__20DynamicModuleControl@l /* 0x803C34C0@l */
/* 80018738 90 01 00 14 */ stw r0, 0x14(r1)
/* 8001873C 38 61 00 08 */ addi r3, r1, 8
/* 80018740 38 80 00 00 */ li r4, 0
/* 80018744 48 24 9A 89 */ bl __dt__24DynamicModuleControlBaseFv
/* 80018748 38 60 00 01 */ li r3, 1
/* 8001874C 83 E1 00 3C */ lwz r31, 0x3c(r1)
/* 80018750 83 C1 00 38 */ lwz r30, 0x38(r1)
/* 80018754 80 01 00 44 */ lwz r0, 0x44(r1)
/* 80018758 7C 08 03 A6 */ mtlr r0
/* 8001875C 38 21 00 40 */ addi r1, r1, 0x40
/* 80018760 4E 80 00 20 */ blr

View File

@ -1,16 +0,0 @@
lbl_80018544:
/* 80018544 7C 60 07 34 */ extsh r0, r3
/* 80018548 54 00 10 3A */ slwi r0, r0, 2
/* 8001854C 3C 60 80 3F */ lis r3, DMC@ha /* 0x803F0F50@ha */
/* 80018550 38 63 0F 50 */ addi r3, r3, DMC@l /* 0x803F0F50@l */
/* 80018554 7C 63 00 2E */ lwzx r3, r3, r0
/* 80018558 28 03 00 00 */ cmplwi r3, 0
/* 8001855C 41 82 00 18 */ beq lbl_80018574
/* 80018560 A0 63 00 00 */ lhz r3, 0(r3)
/* 80018564 30 03 FF FF */ addic r0, r3, -1
/* 80018568 7C 00 19 10 */ subfe r0, r0, r3
/* 8001856C 54 03 06 3E */ clrlwi r3, r0, 0x18
/* 80018570 4E 80 00 20 */ blr
lbl_80018574:
/* 80018574 38 60 00 01 */ li r3, 1
/* 80018578 4E 80 00 20 */ blr

View File

@ -1,57 +0,0 @@
lbl_800185C0:
/* 800185C0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 800185C4 7C 08 02 A6 */ mflr r0
/* 800185C8 90 01 00 14 */ stw r0, 0x14(r1)
/* 800185CC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 800185D0 80 0D 87 2C */ lwz r0, cDyl_Initialized(r13)
/* 800185D4 2C 00 00 00 */ cmpwi r0, 0
/* 800185D8 40 82 00 0C */ bne lbl_800185E4
/* 800185DC 38 60 00 00 */ li r3, 0
/* 800185E0 48 00 00 94 */ b lbl_80018674
lbl_800185E4:
/* 800185E4 7C 64 07 34 */ extsh r4, r3
/* 800185E8 28 04 03 18 */ cmplwi r4, 0x318
/* 800185EC 41 80 00 20 */ blt lbl_8001860C
/* 800185F0 3C 60 80 37 */ lis r3, c_c_dylink__stringBase0@ha /* 0x80375DE8@ha */
/* 800185F4 38 63 5D E8 */ addi r3, r3, c_c_dylink__stringBase0@l /* 0x80375DE8@l */
/* 800185F8 38 63 2A 0D */ addi r3, r3, 0x2a0d
/* 800185FC 4C C6 31 82 */ crclr 6
/* 80018600 4B FE E6 0D */ bl OSReport_Error
/* 80018604 38 60 00 05 */ li r3, 5
/* 80018608 48 00 00 6C */ b lbl_80018674
lbl_8001860C:
/* 8001860C 54 80 10 3A */ slwi r0, r4, 2
/* 80018610 3C 60 80 3F */ lis r3, DMC@ha /* 0x803F0F50@ha */
/* 80018614 38 63 0F 50 */ addi r3, r3, DMC@l /* 0x803F0F50@l */
/* 80018618 7F E3 00 2E */ lwzx r31, r3, r0
/* 8001861C 28 1F 00 00 */ cmplwi r31, 0
/* 80018620 41 82 00 50 */ beq lbl_80018670
/* 80018624 7F E3 FB 78 */ mr r3, r31
/* 80018628 48 24 9D C5 */ bl load_async__24DynamicModuleControlBaseFv
/* 8001862C 2C 03 00 00 */ cmpwi r3, 0
/* 80018630 41 82 00 38 */ beq lbl_80018668
/* 80018634 7F E3 FB 78 */ mr r3, r31
/* 80018638 48 24 9C 99 */ bl link__24DynamicModuleControlBaseFv
/* 8001863C 2C 03 00 00 */ cmpwi r3, 0
/* 80018640 41 82 00 0C */ beq lbl_8001864C
/* 80018644 38 60 00 04 */ li r3, 4
/* 80018648 48 00 00 2C */ b lbl_80018674
lbl_8001864C:
/* 8001864C 3C 60 80 37 */ lis r3, c_c_dylink__stringBase0@ha /* 0x80375DE8@ha */
/* 80018650 38 63 5D E8 */ addi r3, r3, c_c_dylink__stringBase0@l /* 0x80375DE8@l */
/* 80018654 38 63 2A 26 */ addi r3, r3, 0x2a26
/* 80018658 4C C6 31 82 */ crclr 6
/* 8001865C 4B FE E5 B1 */ bl OSReport_Error
/* 80018660 38 60 00 05 */ li r3, 5
/* 80018664 48 00 00 10 */ b lbl_80018674
lbl_80018668:
/* 80018668 38 60 00 00 */ li r3, 0
/* 8001866C 48 00 00 08 */ b lbl_80018674
lbl_80018670:
/* 80018670 38 60 00 04 */ li r3, 4
lbl_80018674:
/* 80018674 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80018678 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8001867C 7C 08 03 A6 */ mtlr r0
/* 80018680 38 21 00 10 */ addi r1, r1, 0x10
/* 80018684 4E 80 00 20 */ blr

View File

@ -1,20 +0,0 @@
lbl_8001857C:
/* 8001857C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80018580 7C 08 02 A6 */ mflr r0
/* 80018584 90 01 00 14 */ stw r0, 0x14(r1)
/* 80018588 7C 60 07 34 */ extsh r0, r3
/* 8001858C 54 00 10 3A */ slwi r0, r0, 2
/* 80018590 3C 60 80 3F */ lis r3, DMC@ha /* 0x803F0F50@ha */
/* 80018594 38 63 0F 50 */ addi r3, r3, DMC@l /* 0x803F0F50@l */
/* 80018598 7C 63 00 2E */ lwzx r3, r3, r0
/* 8001859C 28 03 00 00 */ cmplwi r3, 0
/* 800185A0 41 82 00 0C */ beq lbl_800185AC
/* 800185A4 48 24 9D C1 */ bl unlink__24DynamicModuleControlBaseFv
/* 800185A8 48 00 00 08 */ b lbl_800185B0
lbl_800185AC:
/* 800185AC 38 60 00 00 */ li r3, 0
lbl_800185B0:
/* 800185B0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 800185B4 7C 08 03 A6 */ mtlr r0
/* 800185B8 38 21 00 10 */ addi r1, r1, 0x10
/* 800185BC 4E 80 00 20 */ blr

View File

@ -1,16 +0,0 @@
lbl_8001880C:
/* 8001880C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80018810 7C 08 02 A6 */ mflr r0
/* 80018814 90 01 00 14 */ stw r0, 0x14(r1)
/* 80018818 A8 63 00 00 */ lha r3, 0(r3)
/* 8001881C 4B FF FD A5 */ bl cDyl_LinkASync__Fs
/* 80018820 2C 03 00 04 */ cmpwi r3, 4
/* 80018824 38 00 00 02 */ li r0, 2
/* 80018828 41 82 00 08 */ beq lbl_80018830
/* 8001882C 7C 60 1B 78 */ mr r0, r3
lbl_80018830:
/* 80018830 7C 03 03 78 */ mr r3, r0
/* 80018834 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80018838 7C 08 03 A6 */ mtlr r0
/* 8001883C 38 21 00 10 */ addi r1, r1, 0x10
/* 80018840 4E 80 00 20 */ blr

View File

@ -1,4 +0,0 @@
lbl_8009BC60:
/* 8009BC60 38 00 00 01 */ li r0, 1
/* 8009BC64 98 0D 81 00 */ stb r0, data_80450680(r13)
/* 8009BC68 4E 80 00 20 */ blr

View File

@ -20,38 +20,38 @@ struct DynamicModuleControlBase {
/* 80262470 */ virtual void dump();
/* 802631FC */ virtual void dump2();
/* 802631DC */ virtual bool do_load();
/* 802631F4 */ virtual bool do_load_async();
/* 802631F4 */ virtual BOOL do_load_async();
/* 802631E4 */ virtual bool do_unload();
/* 802631D4 */ virtual BOOL do_link();
/* 802631EC */ virtual bool do_unlink();
/* 80262284 */ DynamicModuleControlBase();
/* 802622D0 */ bool link();
/* 80262364 */ bool unlink();
/* 802623EC */ bool load_async();
/* 802622D0 */ BOOL link();
/* 80262364 */ BOOL unlink();
/* 802623EC */ BOOL load_async();
/* 8026242C */ bool force_unlink();
static inline DynamicModuleControlBase* getFirstClass() { return mFirst; }
inline DynamicModuleControlBase* getNextClass() { return mNext; }
bool isLinked() const { return mLinkCount != 0; }
static DynamicModuleControlBase* mFirst;
static DynamicModuleControlBase* mLast;
};
struct DynamicModuleControl : DynamicModuleControlBase {
/* 800188E4 */ virtual ~DynamicModuleControl();
/* 800188E4 */ virtual ~DynamicModuleControl() {}
/* 80263218 */ virtual const char* getModuleName() const;
/* 80263000 */ virtual int getModuleSize() const;
/* 80263070 */ virtual const char* getModuleTypeString() const;
virtual void dump() = 0;
/* 80262C0C */ virtual void dump2();
/* 802627E8 */ virtual bool do_load();
/* 80262AFC */ virtual bool do_load_async();
/* 80262AFC */ virtual BOOL do_load_async();
/* 80262BC4 */ virtual bool do_unload();
/* 80262C5C */ virtual BOOL do_link();
/* 80262F28 */ virtual bool do_unlink();
/* 80262660 */ DynamicModuleControl(char const*);
/* 802626D0 */ static JKRArchive* mountCallback(void*);
/* 8026275C */ bool initialize();
/* 8026275C */ static bool initialize();
/* 80262794 */ static void* callback(void*);
/* 0x10 */ OSModuleInfo* mModule;

View File

@ -222,4 +222,8 @@ inline void* JKRGetTypeResource(u32 tag, const char* name, JKRArchive* arc) {
return JKRArchive::getGlbResource(tag, name, arc);
}
inline void* JKRGetResource(u32 tag, const char* name, JKRArchive* arc) {
return JKRArchive::getGlbResource(tag, name, arc);
}
#endif

View File

@ -43,4 +43,12 @@ inline void* JKRDvdToMainRam(s32 entryNum, u8* dst, JKRExpandSwitch expandSwitch
offset, compression, returnSize);
}
inline void* JKRDvdToMainRam(char const* param_0, u8* dst, JKRExpandSwitch expandSwitch,
u32 dstLength, JKRHeap* heap,
JKRDvdRipper::EAllocDirection allocDirection, u32 offset,
JKRCompression* compression, u32* returnSize) {
return JKRDvdRipper::loadToMainRAM(param_0, dst, expandSwitch, dstLength, heap, allocDirection,
offset, compression, returnSize);
}
#endif /* JKRDVDRIPPER_H */

View File

@ -60,4 +60,8 @@ public:
static JKRFileCache* mount(const char*, JKRHeap*, const char*);
};
inline JKRFileCache* JKRMountDvdDrive(const char* path, JKRHeap* heap, const char* param_2) {
return JKRFileCache::mount(path, heap, param_2);
}
#endif /* JKRFILECACHE_H */

View File

@ -58,4 +58,12 @@ inline void* JKRGetNameResource(const char* name, JKRFileLoader* loader) {
return JKRFileLoader::getGlbResource(name, loader);
}
inline void* JKRGetResource(const char* name) {
return JKRFileLoader::getGlbResource(name);
}
inline bool JKRDetachResource(void* resource, JKRFileLoader* loader) {
return JKRFileLoader::detachResource(resource, loader);
}
#endif /* JKRFILELOADER_H */

View File

@ -225,4 +225,12 @@ inline u32 JKRGetMemBlockSize(JKRHeap* heap, void* block) {
return JKRHeap::getSize(block, heap);
}
inline void* JKRAlloc(u32 size, int alignment) {
return JKRHeap::alloc(size, alignment, NULL);
}
inline s32 JKRResizeMemBlock(JKRHeap* heap, void* ptr, u32 size) {
return JKRHeap::resize(ptr, size, heap);
}
#endif /* JKRHEAP_H */

View File

@ -20,6 +20,8 @@ typedef struct request_of_phase_process_class {
int mPhaseStep;
} request_of_phase_process_class;
typedef int (**request_of_phase_process_fn)(void*);
void cPhs_Reset(request_of_phase_process_class* pPhase);
void cPhs_Set(request_of_phase_process_class* pPhase, cPhs__Handler* pHandlerTable);
void cPhs_UnCompleate(request_of_phase_process_class* pPhase);

View File

@ -2,5 +2,19 @@
#define C_C_DYLINK_H
#include "dolphin/types.h"
#include "f_op/f_op_scene_mng.h"
struct cDylPhs {
/* 80018804 */ static int phase_01(void*);
/* 8001880C */ static int phase_02(s16*);
/* 80018844 */ static int phase_03(void*);
/* 8001884C */ static int Link(request_of_phase_process_class*, s16);
/* 80018890 */ static int Unlink(request_of_phase_process_class*, s16);
};
struct DynamicNameTableEntry {
s16 mKey;
char* name;
};
#endif /* C_C_DYLINK_H */

View File

@ -1,9 +1,9 @@
#ifndef D_CC_D_CC_UTY_H
#define D_CC_D_CC_UTY_H
#include "d/com/d_com_inf_game.h"
#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
#include "d/com/d_com_inf_game.h"
struct dCcU_AtInfo {
/* 0x00 */ cCcD_Obj* mpCollider;

View File

@ -555,8 +555,6 @@ extern GXColor g_blackColor;
extern GXColor g_clearColor;
extern GXColor g_whiteColor;
typedef int (**request_of_phase_process_fn)(void*);
void dComIfGp_setItemLifeCount(float, u8);
void dComIfGp_setItemRupeeCount(long);
int dComIfGs_isItemFirstBit(u8);
@ -580,7 +578,7 @@ void dComIfGs_setWarpMarkFlag(u8);
void dComIfGs_setSelectEquipSword(u8);
void dComIfGs_setSelectEquipShield(u8);
void* dComIfG_getStageRes(char const*);
void dComLbG_PhaseHandler(request_of_phase_process_class*, request_of_phase_process_fn, void*);
int dComLbG_PhaseHandler(request_of_phase_process_class*, request_of_phase_process_fn, void*);
void dComIfGp_addSelectItemNum(int, s16);
BOOL dComIfGs_isOneZoneSwitch(int, int);
u8 dComIfGp_getSelectItem(int);

View File

@ -43,15 +43,7 @@ struct stage_stag_info_class {
/* 0x20 */ u8 field_0x20[8];
/* 0x28 */ u8 mMsgGroup;
/* 0x2A */ u16 mStageTitleNo;
}; // Size: Unknown
inline s16 dStage_stagInfo_GetUpButton(stage_stag_info_class* p_info) {
return p_info->field_0x0a & 7;
}
inline u32 dStage_stagInfo_GetArg0(stage_stag_info_class* p_info) {
return (p_info->field_0x0c >> 0x14) & 0xFF;
}
}; // Size: 0x2C
struct stage_scls_info_class {
/* 0x0 */ char mStage[8];
@ -701,11 +693,11 @@ inline u8 dStage_roomRead_dt_c_GetLoadRoomIndex(u8 param_0) {
}
inline u32 dStage_stagInfo_GetSTType(stage_stag_info_class* pstag) {
return pstag->field_0x0c >> 0x10 & 7;
return (pstag->field_0x0c >> 16) & 7;
}
inline u32 dStage_stagInfo_GetEscapeWarp(stage_stag_info_class* pstag) {
return pstag->field_0x10 >> 0x18;
inline int dStage_stagInfo_GetEscapeWarp(stage_stag_info_class* pstag) {
return (pstag->field_0x10 >> 24);
}
inline u32 dStage_stagInfo_GetMiniMap(stage_stag_info_class* pstag) {
@ -716,6 +708,14 @@ inline u8 dStage_stagInfo_GetParticleNo(stage_stag_info_class* p_info) {
return (p_info->field_0x0a >> 0x3) & 0xFF;
}
inline s16 dStage_stagInfo_GetUpButton(stage_stag_info_class* p_info) {
return p_info->field_0x0a & 7;
}
inline u32 dStage_stagInfo_GetArg0(stage_stag_info_class* p_info) {
return (p_info->field_0x0c >> 0x14) & 0xFF;
}
inline s8 dStage_sclsInfo_getSceneLayer(stage_scls_info_class* p_info) {
return p_info->field_0xb & 0xF;
}

View File

@ -1,6 +1,60 @@
#ifndef D_D_TRESURE_H
#define D_D_TRESURE_H
#include "dolphin/mtx/mtxvec.h"
#include "dolphin/types.h"
class dTres_c {
public:
struct data_s {
/* 0x00 */ u8 mNo;
/* 0x01 */ s8 mRoomNo;
/* 0x02 */ u8 mStatus;
/* 0x03 */ u8 mArg1;
/* 0x04 */ Vec mPos;
/* 0x10 */ u8 mSwBit;
/* 0x11 */ u8 mType;
/* 0x12 */ u8 mArg2;
/* 0x13 */ u8 mAngleY;
};
class typeGroupData_c {
public:
data_s* getDataPointer() { return &mData; }
void setNextDataPointer(typeGroupData_c* data) { mNextData = data; }
void setTypeGroupNo(u8 no) { mTypeGroupNo = no; }
/* 0x00 */ data_s mData;
/* 0x14 */ typeGroupData_c* mNextData;
/* 0x18 */ u8 mTypeGroupNo;
}; // Size: 0x1C
struct list_class {
/* 0x0 */ int field_0x0;
/* 0x4 */ typeGroupData_c* field_0x4;
/* 0x8 */ u8 field_0x8;
};
/* 8009BBD8 */ static int createWork();
/* 8009BC18 */ static void create();
/* 8009BC60 */ void remove();
/* 8009BC6C */ static void reset();
/* 8009BCB4 */ static void addData(dTres_c::list_class*, s8);
/* 8009BE28 */ static void checkTreasureBox(dTres_c::data_s*);
/* 8009C168 */ void onStatus(u8, int, int);
/* 8009C1F0 */ void offStatus(u8, int, int);
/* 8009C27C */ void getBossIconFloorNo(int*);
/* 8009C360 */ void getFirstData(u8);
/* 8009C39C */ void getNextData(dTres_c::typeGroupData_c*);
/* 8009C3B4 */ void getNextData(dTres_c::typeGroupData_c const*);
/* 8009C3CC */ void setPosition(int, u8, Vec const*, int);
/* 8009C49C */ void getTypeGroupNoToType(u8);
/* 8009C4B0 */ static u8 getTypeToTypeGroupNo(u8);
static u8 const typeToTypeGroup[34];
static list_class mTypeGroupListAll[17];
static typeGroupData_c* mTypeGroupData;
static u16 mNum;
};
#endif /* D_D_TRESURE_H */

View File

@ -2,25 +2,10 @@
#define D_MAP_D_MAP_PATH_DMAP_H
#include "d/d_stage.h"
#include "d/d_tresure.h"
#include "d/map/d_map_path.h"
#include "dolphin/types.h"
struct dTres_c {
struct data_s {};
struct typeGroupData_c {};
struct list_class {};
/* 8009BCB4 */ void addData(dTres_c::list_class*, s8);
/* 8009C360 */ void getFirstData(u8);
/* 8009C3B4 */ void getNextData(dTres_c::typeGroupData_c const*);
/* 8009C39C */ void getNextData(dTres_c::typeGroupData_c*);
/* 8009C4B0 */ void getTypeToTypeGroupNo(u8);
static u8 mTypeGroupListAll[204 + 4 /* padding */];
};
class dMpath_c {
public:
/* 8003F758 */ static u8 isExistMapPathData();

View File

@ -137,7 +137,7 @@ DynamicModuleControlBase::DynamicModuleControlBase() {
/* 802622D0-80262364 25CC10 0094+00 0/0 2/2 0/0 .text link__24DynamicModuleControlBaseFv
*/
bool DynamicModuleControlBase::link() {
BOOL DynamicModuleControlBase::link() {
if (mLinkCount == 0) {
do_load();
if (do_link() == false) {
@ -154,7 +154,7 @@ bool DynamicModuleControlBase::link() {
}
/* 80262364-802623EC 25CCA4 0088+00 0/0 1/1 0/0 .text unlink__24DynamicModuleControlBaseFv */
bool DynamicModuleControlBase::unlink() {
BOOL DynamicModuleControlBase::unlink() {
if (mLinkCount != 0) {
mLinkCount--;
if (mLinkCount == 0) {
@ -169,7 +169,7 @@ bool DynamicModuleControlBase::unlink() {
}
/* 802623EC-8026242C 25CD2C 0040+00 0/0 1/1 0/0 .text load_async__24DynamicModuleControlBaseFv */
bool DynamicModuleControlBase::load_async() {
BOOL DynamicModuleControlBase::load_async() {
if (mLinkCount == 0) {
return do_load_async();
}
@ -186,80 +186,40 @@ bool DynamicModuleControlBase::force_unlink() {
return true;
}
#ifdef NONMATCHING
/* 80262470-80262660 25CDB0 01F0+00 2/0 2/2 0/0 .text dump__24DynamicModuleControlBaseFv
*/
void DynamicModuleControlBase::dump() {
u16 doLinkCount;
u16 linkCount;
DynamicModuleControlBase* current = getFirstClass();
int totalSize = 0;
size_t totalSize = 0;
JUTReportConsole_f("\nDynamicModuleControlBase::dump()\n");
JUTReportConsole_f("Do Lnk Size Name\n");
// lbl_80262608
while (current != NULL) {
// lbl_802624B8
u16 doLinkCount = current->mDoLinkCount;
u16 linkCount = current->mLinkCount;
doLinkCount = current->mDoLinkCount;
linkCount = current->mLinkCount;
if (doLinkCount != 0 || linkCount != 0) {
// lbl_802624D0
u32 size = current->getModuleSize();
const char* name = current->getModuleName();
if (size < 0xFFFFFFFF) {
name = (name != NULL) ? name : "(Null)";
// lbl_80262524
const char* type = current->getModuleTypeString();
JUTReportConsole_f("%3d%3d%5.1f %05x %-4s %-24s ", doLinkCount, linkCount,
size * (1.0f / 1024.0f), size, type, name);
size / 1024.0f, size, type, name);
totalSize = totalSize + size;
} else {
// lbl_80262588
name = (name != NULL) ? name : "(Null)";
// lbl_802625A4
const char* type = current->getModuleTypeString();
JUTReportConsole_f("%3d%3d ???? ????? %-4s %-24s ", doLinkCount, linkCount, type,
name);
}
// lbl_802625DC
current->dump2();
JUTReportConsole_f("\n");
}
// lbl_80262604
current = getNextClass();
current = current->getNextClass();
}
// lbl_80262608
JUTReportConsole_f("TotalSize %6.2f %06x\n\n", (1.0f / 1024.0f) * totalSize, totalSize);
JUTReportConsole_f("TotalSize %6.2f %06x\n\n", totalSize / 1024.0f, totalSize);
}
#else
/* ############################################################################################## */
/* 80455008-80455010 003608 0004+04 1/1 0/0 0/0 .sdata2 @3772 */
SECTION_SDATA2 static f32 lit_3772[1 + 1 /* padding */] = {
0.0009765625f, // 1/1024
/* padding */
0.0f,
};
#pragma push
#pragma force_active on
SECTION_DEAD static char const* const stringBase_8039A4E5 = "\nDynamicModuleControlBase::dump()\n";
SECTION_DEAD static char const* const stringBase_8039A508 = "Do Lnk Size Name\n";
SECTION_DEAD static char const* const stringBase_8039A520 = "(Null)";
SECTION_DEAD static char const* const stringBase_8039A527 = "%3d%3d%5.1f %05x %-4s %-24s ";
SECTION_DEAD static char const* const stringBase_8039A544 = "%3d%3d ???? ????? %-4s %-24s ";
SECTION_DEAD static char const* const stringBase_8039A562 = "\n";
SECTION_DEAD static char const* const stringBase_8039A564 = "TotalSize %6.2f %06x\n\n";
#pragma pop
/* 80455010-80455018 003610 0008+00 1/1 0/0 0/0 .sdata2 @3774 */
SECTION_SDATA2 static f64 lit_3774 = 4503599627370496.0 /* cast u32 to float */;
/* 80262470-80262660 25CDB0 01F0+00 2/0 2/2 0/0 .text dump__24DynamicModuleControlBaseFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void DynamicModuleControlBase::dump() {
nofralloc
#include "asm/DynamicLink/dump__24DynamicModuleControlBaseFv.s"
}
#pragma pop
#endif
/* 80262660-802626D0 25CFA0 0070+00 0/0 2/2 0/0 .text __ct__20DynamicModuleControlFPCc */
DynamicModuleControl::DynamicModuleControl(char const* name) {
@ -332,7 +292,8 @@ static u32 calcSum2(u16 const* data, u32 size) {
return sum;
}
#ifdef NONMATCHING
/* 802627E8-80262AFC 25D128 0314+00 1/0 0/0 0/0 .text do_load__20DynamicModuleControlFv
*/
bool DynamicModuleControl::do_load() {
if (mModule != NULL) {
return true;
@ -341,26 +302,26 @@ bool DynamicModuleControl::do_load() {
s32 i = 0;
while (true) {
if (mModule != NULL) {
JKRHeap::free(mModule, NULL);
JKRFree(mModule);
mModule = NULL;
}
char buffer[64];
snprintf(buffer, 64, "%s.rel", mName);
if (mModule == NULL && sArchive != NULL) {
if (mModule == NULL) {
mModule = (OSModuleInfo*)JKRArchive::getGlbResource('MMEM', buffer, sArchive);
mModule = (OSModuleInfo*)JKRGetResource('MMEM', buffer, sArchive);
if (mModule != NULL) {
mResourceType = 1;
}
}
if (mModule == NULL) {
mModule = (OSModuleInfo*)JKRArchive::getGlbResource('AMEM', buffer, sArchive);
mModule = (OSModuleInfo*)JKRGetResource('AMEM', buffer, sArchive);
if (mModule != NULL) {
mResourceType = 2;
}
}
if (mModule == NULL) {
mModule = (OSModuleInfo*)JKRArchive::getGlbResource('DMEM', buffer, sArchive);
mModule = (OSModuleInfo*)JKRGetResource('DMEM', buffer, sArchive);
if (mModule != NULL) {
mResourceType = 3;
}
@ -368,23 +329,25 @@ bool DynamicModuleControl::do_load() {
}
if (mModule != NULL) {
mSize = sArchive->getExpandedResSize(mModule);
JKRFileLoader::detachResource(mModule, NULL);
} else if (mModule == NULL) {
snprintf(buffer, 64, "/rel/Final/Release/%s.rel", mName);
mModule = (OSModuleInfo*)JKRDvdRipper::loadToMainRAM(
buffer, NULL, EXPAND_SWITCH_UNKNOWN1, 0, heap,
JKRDvdRipper::ALLOC_DIRECTION_FORWARD, 0, NULL, NULL);
if (mModule != NULL) {
mSize = 0;
mResourceType = 7;
JKRDetachResource(mModule, NULL);
} else {
if (mModule == NULL) {
snprintf(buffer, 64, "/rel/Final/Release/%s.rel", mName);
mModule = (OSModuleInfo*)JKRDvdToMainRam(
buffer, NULL, EXPAND_SWITCH_UNKNOWN1, NULL, heap,
JKRDvdRipper::ALLOC_DIRECTION_FORWARD, 0, NULL, NULL);
if (mModule != NULL) {
mSize = 0;
mResourceType = 7;
}
}
}
if (mModule == NULL && sFileCache != NULL) {
mModule = (OSModuleInfo*)sFileCache->getResource('rels', buffer);
if (mModule != NULL) {
mSize = 0;
mResourceType = 11;
JKRFileLoader::detachResource(mModule, NULL);
if (mModule == NULL && sFileCache != NULL) {
mModule = (OSModuleInfo*)sFileCache->getResource('rels', buffer);
if (mModule != NULL) {
mSize = 0;
mResourceType = 11;
JKRDetachResource(mModule, NULL);
}
}
}
if (mModule == NULL) {
@ -413,52 +376,25 @@ bool DynamicModuleControl::do_load() {
if (i >= 3) {
return false;
}
} else {
if (unk_33 < 0xFF) {
unk_33++;
}
break;
}
}
} else {
if (unk_33 < 0xFF) {
unk_33++;
return true;
}
}
if (unk_33 < 0xFF) {
unk_33++;
return true;
break;
}
}
return true;
}
#else
/* ############################################################################################## */
/* 8039A4A0-8039A4A0 026B00 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
#pragma push
#pragma force_active on
SECTION_DEAD static char const* const stringBase_8039A5E1 = "%s.rel";
SECTION_DEAD static char const* const stringBase_8039A5E8 = "/rel/Final/Release/%s.rel";
// MWCC ignores mapping of some japanese characters using the
// byte 0x5C (ASCII '\'). This is why this string is hex-encoded.
SECTION_DEAD static char const* const stringBase_8039A602 =
"\x44\x79\x6E\x61\x6D\x69\x63\x4D\x6F\x64\x75\x6C\x65\x43\x6F\x6E\x74\x72\x6F\x6C\x3A\x3A\x64"
"\x6F\x5F\x6C\x6F\x61\x64\x28\x29\x20\x83\x8A\x83\x5C\x81\x5B\x83\x58\x93\xC7\x82\xDD\x8D\x9E"
"\x82\xDD"
"\x8E\xB8\x94\x73\x20\x5B\x25\x73\x5D\x0A";
SECTION_DEAD static char const* const stringBase_8039A63D =
"DynamicModuleControl::do_load() チェックサムエラー %04x %"
"04x[%s]\n";
#pragma pop
/* 802627E8-80262AFC 25D128 0314+00 1/0 0/0 0/0 .text do_load__20DynamicModuleControlFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm bool DynamicModuleControl::do_load() {
nofralloc
#include "asm/DynamicLink/do_load__20DynamicModuleControlFv.s"
}
#pragma pop
#endif
/* 80262AFC-80262BC4 25D43C 00C8+00 1/0 0/0 0/0 .text do_load_async__20DynamicModuleControlFv */
bool DynamicModuleControl::do_load_async() {
BOOL DynamicModuleControl::do_load_async() {
if (mAsyncLoadCallback == NULL) {
if (mModule != NULL) {
return true;
@ -500,96 +436,92 @@ void DynamicModuleControl::dump2() {
}
}
#ifdef NONMATCHING
/* 80262C5C-80262F28 25D59C 02CC+00 1/0 0/0 0/0 .text do_link__20DynamicModuleControlFv
*/
BOOL DynamicModuleControl::do_link() {
OSGetTime();
if (mModule == NULL) {
do_load();
}
if (mModule != NULL) {
ASSERT(mModule->info.sectionInfoOffset < 0x80000000);
ASSERT((u32)mModule + mModule->fixSize < 0x82000000);
OSGetTime();
OSGetTime();
if (mModule->mModuleVersion >= 3) {
u32 unk = mModule->fixSize;
u32 unk3 = (unk + 0x1f) & ~0x1f;
u32 unk2 = (u32)mModule + unk3;
s32 size = JKRHeap::getSize(mModule, NULL);
u32 fixSizePtr;
u32 fixSize = mModule->fixSize;
u32 fixSize2 = (fixSize + 0x1f) & ~0x1f;
fixSizePtr = (u32)mModule + fixSize2;
s32 size = JKRGetMemBlockSize(NULL, mModule);
if (size < 0) {
void* bss = JKRHeap::alloc(mModule->mBssSize, 0x20, NULL);
void* bss = JKRAlloc(mModule->mBssSize, 0x20);
if (bss == NULL) {
// "BSS Memory allocation failed\n"
OSReport_Error("BSSメモリ確保失敗\n");
goto end;
} else {
mBss = bss;
BOOL linkResult = OSLink(mModule);
if (linkResult == FALSE) {
// "link failed\n"
OSReport_Error("リンク失敗\n");
goto end;
}
OSReport_Error("BSSメモリ確保失敗\n", bss);
goto error;
}
mBss = bss;
BOOL linkResult = OSLink(mModule);
if (linkResult == FALSE) {
// "link failed\n"
OSReport_Error("リンク失敗\n");
goto error;
}
} else {
if (mModule->mBssSize + unk < size) {
BOOL linkResult = OSLinkFixed(mModule, unk2);
if (fixSize2 + mModule->mBssSize < size) {
BOOL linkResult = OSLinkFixed(mModule, fixSizePtr);
if (linkResult == FALSE) {
// "link failed\n"
OSReport_Error("リンク失敗\n");
goto end;
goto error;
}
s32 result = JKRResizeMemBlock(NULL, mModule, fixSize2 + mModule->mBssSize);
if (result < 0) {
// "Module size (resize) failed\n"
OSReport_Error("モジュールリサイズ(縮小)失敗\n");
}
} else {
s32 result = JKRResizeMemBlock(NULL, mModule, fixSize2 + mModule->mBssSize);
if (result > 0) {
BOOL linkResult = OSLinkFixed(mModule, fixSizePtr);
if (linkResult == FALSE) {
// "link failed\n"
OSReport_Error("リンク失敗\n");
goto error;
}
} else {
s32 result = JKRHeap::resize(mModule, mModule->mBssSize + unk, NULL);
void* bss = JKRAlloc(mModule->mBssSize, 0x20);
if (bss == NULL) {
// "BSS Memory allocation failure [%x]\n"
OSReport_Error("BSSメモリ確保失敗 [%x]\n", mModule->mBssSize);
goto error;
}
mBss = bss;
BOOL linkResult = OSLinkFixed(mModule, (u32)bss);
if (linkResult == FALSE) {
// "link failed\n"
OSReport_Error("リンク失敗\n");
goto error;
}
s32 result = JKRResizeMemBlock(NULL, mModule, fixSize);
if (result < 0) {
// "Module size (resize) failed\n"
OSReport_Error("モジュールリサイズ(縮小)失敗\n");
}
}
} else { // lbl_80262DB0
s32 result = JKRHeap::resize(mModule, mModule->mBssSize + unk, NULL);
if (result > 0) {
BOOL linkResult = OSLinkFixed(mModule, unk2);
if (linkResult == FALSE) {
// "link failed\n"
OSReport_Error("リンク失敗\n");
goto end;
}
} else { // lbl_80262DF0
void* bss = JKRHeap::alloc(mModule->mBssSize, 0x20, NULL);
if (bss == NULL) {
// "BSS Memory allocation failure [%x]\n"
OSReport_Error("BSSメモリ確保失敗 [%x]\n", mModule->mBssSize);
goto end;
} else { // lbl_80262E2C
mBss = bss;
BOOL linkResult = OSLinkFixed(mModule, (u32)bss);
if (linkResult == FALSE) {
// "link failed\n"
OSReport_Error("リンク失敗\n");
goto end;
}
// lbl_80262E58
s32 result = JKRHeap::resize(mModule, unk3, NULL);
if (result < 0) {
// "Module size (resize) failed\n"
OSReport_Error("モジュールリサイズ(縮小)失敗\n");
}
}
}
}
}
}
// lbl_80262E84
OSGetTime();
sAllocBytes = sAllocBytes + getModuleSize();
OSGetTime();
unk_24 = mModule->prolog();
unk_24 = ((u32(*)())mModule->prolog)();
OSGetTime();
return TRUE;
}
end: // lbl_80262ECC
error:
unk_33 = 0;
if (mBss != NULL) {
JKRHeap::free(mBss, NULL);
@ -601,26 +533,6 @@ end: // lbl_80262ECC
}
return FALSE;
}
#else
#pragma push
#pragma force_active on
SECTION_DEAD static char const* const stringBase_8039A6E2 = "BSSメモリ確保失敗\n";
SECTION_DEAD static char const* const stringBase_8039A6F5 = "リンク失敗\n";
SECTION_DEAD static char const* const stringBase_8039A701 = "モジュールリサイズ(縮小)失敗\n";
SECTION_DEAD static char const* const stringBase_8039A71F = "BSSメモリ確保失敗 [%x]\n";
#pragma pop
/* 80262C5C-80262F28 25D59C 02CC+00 1/0 0/0 0/0 .text do_link__20DynamicModuleControlFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm BOOL DynamicModuleControl::do_link() {
nofralloc
#include "asm/DynamicLink/do_link__20DynamicModuleControlFv.s"
}
#pragma pop
#endif
/* 80262F28-80263000 25D868 00D8+00 1/0 0/0 0/0 .text do_unlink__20DynamicModuleControlFv
*/
@ -743,7 +655,7 @@ bool DynamicModuleControlBase::do_unlink() {
/* 802631F4-802631FC 25DB34 0008+00 1/0 0/0 0/0 .text do_load_async__24DynamicModuleControlBaseFv
*/
bool DynamicModuleControlBase::do_load_async() {
BOOL DynamicModuleControlBase::do_load_async() {
return true;
}

File diff suppressed because it is too large Load Diff

View File

@ -460,7 +460,8 @@ fopAc_ac_c* cc_at_check(fopAc_ac_c* enemy, dCcU_AtInfo* info) {
if (info->mpSound != NULL) {
if (info->field_0x18 != 0) {
info->mpSound->startCollisionSE(getHitId(info->mpCollider, uvar8), info->field_0x18);
info->mpSound->startCollisionSE(getHitId(info->mpCollider, uvar8),
info->field_0x18);
} else {
info->mpSound->startCollisionSE(getHitId(info->mpCollider, uvar8),
getMapInfo(info->mHitStatus));

View File

@ -2526,8 +2526,8 @@ BOOL dComIfGp_TransportWarp_check() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dComLbG_PhaseHandler(request_of_phase_process_class* param_0, int (**param_1)(void*),
void* param_2) {
asm int dComLbG_PhaseHandler(request_of_phase_process_class* param_0, int (**param_1)(void*),
void* param_2) {
nofralloc
#include "asm/d/com/d_com_inf_game/dComLbG_PhaseHandler__FP30request_of_phase_process_classPPFPv_iPv.s"
}

View File

@ -4,6 +4,7 @@
//
#include "d/d_tresure.h"
#include "d/com/d_com_inf_game.h"
#include "dol2asm.h"
#include "dolphin/types.h"
@ -15,49 +16,6 @@ struct mDoMtx_stack_c {
static u8 now[48];
};
struct Vec {};
struct dTres_c {
struct list_class {};
struct data_s {};
struct typeGroupData_c {};
/* 8009BBD8 */ void createWork();
/* 8009BC18 */ void create();
/* 8009BC60 */ void remove();
/* 8009BC6C */ void reset();
/* 8009BCB4 */ void addData(dTres_c::list_class*, s8);
/* 8009BE28 */ void checkTreasureBox(dTres_c::data_s*);
/* 8009C168 */ void onStatus(u8, int, int);
/* 8009C1F0 */ void offStatus(u8, int, int);
/* 8009C27C */ void getBossIconFloorNo(int*);
/* 8009C360 */ void getFirstData(u8);
/* 8009C39C */ void getNextData(dTres_c::typeGroupData_c*);
/* 8009C3B4 */ void getNextData(dTres_c::typeGroupData_c const*);
/* 8009C3CC */ void setPosition(int, u8, Vec const*, int);
/* 8009C49C */ void getTypeGroupNoToType(u8);
/* 8009C4B0 */ void getTypeToTypeGroupNo(u8);
static u8 const typeToTypeGroup[34 + 6 /* padding */];
static u8 mTypeGroupListAll[204 + 4 /* padding */];
static u8 mTypeGroupData[4];
static u8 mNum[2 + 2 /* padding */];
};
struct dSv_memBit_c {
/* 80034934 */ void isDungeonItem(int) const;
};
struct dSv_info_c {
/* 80035360 */ void isSwitch(int, int) const;
};
struct dMapInfo_n {
/* 8003ED60 */ void correctionOriginPos(s8, Vec*);
};
struct dMapInfo_c {
/* 8003F40C */ void calcFloorNo(f32, bool, int);
};
@ -97,9 +55,6 @@ extern "C" void correctionOriginPos__10dMapInfo_nFScP3Vec();
extern "C" void calcFloorNo__10dMapInfo_cFfbi();
extern "C" void dPath_GetRoomPath__Fii();
extern "C" void* __nwa__FUl();
extern "C" void PSMTXMultVec();
extern "C" void PSVECAdd();
extern "C" void PSVECSquareDistance();
extern "C" void __construct_new_array();
extern "C" void _savegpr_26();
extern "C" void _savegpr_27();
@ -108,9 +63,7 @@ extern "C" void _restgpr_26();
extern "C" void _restgpr_27();
extern "C" void _restgpr_28();
extern "C" u8 now__14mDoMtx_stack_c[48];
extern "C" extern u8 g_dComIfG_gameInfo[122384];
extern "C" extern u8 data_80450680[8];
extern "C" extern u32 __float_nan;
extern "C" extern bool data_80450680;
//
// Declarations:
@ -118,13 +71,13 @@ extern "C" extern u32 __float_nan;
/* ############################################################################################## */
/* 80450F98-80450F9C 000498 0004+00 2/2 0/0 0/0 .sbss mTypeGroupData__7dTres_c */
u8 dTres_c::mTypeGroupData[4];
dTres_c::typeGroupData_c* dTres_c::mTypeGroupData;
/* 8009BBD8-8009BC18 096518 0040+00 0/0 1/1 0/0 .text createWork__7dTres_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dTres_c::createWork() {
asm int dTres_c::createWork() {
nofralloc
#include "asm/d/d_tresure/createWork__7dTres_cFv.s"
}
@ -141,21 +94,16 @@ asm void dTres_c::create() {
#pragma pop
/* 8009BC60-8009BC6C 0965A0 000C+00 0/0 1/1 0/0 .text remove__7dTres_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dTres_c::remove() {
nofralloc
#include "asm/d/d_tresure/remove__7dTres_cFv.s"
void dTres_c::remove() {
data_80450680 = true;
}
#pragma pop
/* ############################################################################################## */
/* 80425438-80425508 052158 00CC+04 6/6 3/3 0/0 .bss mTypeGroupListAll__7dTres_c */
u8 dTres_c::mTypeGroupListAll[204 + 4 /* padding */];
dTres_c::list_class dTres_c::mTypeGroupListAll[17];
/* 80450F9C-80450FA0 00049C 0002+02 2/2 0/0 0/0 .sbss mNum__7dTres_c */
u8 dTres_c::mNum[2 + 2 /* padding */];
u16 dTres_c::mNum;
/* 8009BC6C-8009BCB4 0965AC 0048+00 2/2 0/0 0/0 .text reset__7dTres_cFv */
#pragma push
@ -290,48 +238,10 @@ asm void dTres_c::setPosition(int param_0, u8 param_1, Vec const* param_2, int p
/* ############################################################################################## */
/* 8037B0D8-8037B100 007738 0022+06 2/2 0/0 0/0 .rodata typeToTypeGroup__7dTres_c */
SECTION_RODATA u8 const dTres_c::typeToTypeGroup[34 + 6 /* padding */] = {
0xFF,
0x00,
0x00,
0x01,
0x01,
0x02,
0x02,
0x03,
0x03,
0x04,
0x04,
0x05,
0x05,
0x06,
0x06,
0x07,
0x07,
0x08,
0x80,
0x09,
0x81,
0x0A,
0x82,
0x0B,
0x83,
0x0C,
0x84,
0x0D,
0x85,
0x0E,
0x87,
0x0F,
0x88,
0x10,
/* padding */
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
SECTION_RODATA u8 const dTres_c::typeToTypeGroup[34] = {
0xFF, 0x00, 0x00, 0x01, 0x01, 0x02, 0x02, 0x03, 0x03, 0x04, 0x04, 0x05,
0x05, 0x06, 0x06, 0x07, 0x07, 0x08, 0x80, 0x09, 0x81, 0x0A, 0x82, 0x0B,
0x83, 0x0C, 0x84, 0x0D, 0x85, 0x0E, 0x87, 0x0F, 0x88, 0x10,
};
COMPILER_STRIP_GATE(0x8037B0D8, &dTres_c::typeToTypeGroup);
@ -351,7 +261,7 @@ asm void dTres_c::getTypeGroupNoToType(u8 param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dTres_c::getTypeToTypeGroupNo(u8 param_0) {
asm u8 dTres_c::getTypeToTypeGroupNo(u8 param_0) {
nofralloc
#include "asm/d/d_tresure/getTypeToTypeGroupNo__7dTres_cFUc.s"
}

View File

@ -9,12 +9,6 @@ import ctypes
import oead
def sha1_from_data(data):
sha1 = hashlib.sha1()
sha1.update(data)
return sha1.hexdigest().upper()
def copy(path,destPath):
for root,dirs,files in os.walk(str(path)):
for file in files:
@ -28,11 +22,7 @@ def copy(path,destPath):
print(str(inFile)+" -> "+str(outputFile))
shutil.copyfile(inFile,outputFile)
else:
inf = open(inFile,"rb")
inSum = sha1_from_data(bytearray(inf.read()))
outf = open(outputFile,"rb")
outSum = sha1_from_data(bytearray(outf.read()))
if inSum!=outSum:
if os.path.getmtime(inFile)>os.path.getmtime(outputFile):
print(str(inFile)+" -> "+str(outputFile))
shutil.copyfile(inFile,outputFile)