This commit is contained in:
unknown
2020-12-01 19:04:35 -05:00
103 changed files with 3239 additions and 2401 deletions
+1
View File
@@ -7,6 +7,7 @@ build/
*.elf
*.map
*.dol
vtable.lcf
# Temporary files
*.swp
-3
View File
@@ -1,3 +0,0 @@
.include "macros.inc"
.section .text, "ax" # 802d147c
+26 -3
View File
@@ -1,7 +1,30 @@
.include "macros.inc"
.section .text, "ax" # 802ce138
.section .text, "ax" # 802CED84
.global JKRHeap_state_register
JKRHeap_state_register:
/* 802CED84 002CBCC4 4E 80 00 20 */ blr
.extern "C" becomeCurrentHeap__7JKRHeapFv
.extern "C" __nw__FUl
.global JKRHeap_state_compare
JKRHeap_state_compare:
/* 802CED88 002CBCC8 80 64 00 04 */ lwz r3, 4(r4)
/* 802CED8C 002CBCCC 80 05 00 04 */ lwz r0, 4(r5)
/* 802CED90 002CBCD0 7C 03 00 50 */ subf r0, r3, r0
/* 802CED94 002CBCD4 7C 00 00 34 */ cntlzw r0, r0
/* 802CED98 002CBCD8 54 03 D9 7E */ srwi r3, r0, 5
/* 802CED9C 002CBCDC 4E 80 00 20 */ blr
.global JKRHeap_state_dump
JKRHeap_state_dump:
/* 802CEDA0 002CBCE0 4E 80 00 20 */ blr
.global JKRHeap_do_changeGroupID
JKRHeap_do_changeGroupID:
/* 802CEDA4 002CBCE4 38 60 00 00 */ li r3, 0
/* 802CEDA8 002CBCE8 4E 80 00 20 */ blr
.global JKRHeap_do_getCurrentGroupId
JKRHeap_do_getCurrentGroupId:
/* 802CEDAC 002CBCEC 38 60 00 00 */ li r3, 0
/* 802CEDB0 002CBCF0 4E 80 00 20 */ blr
-28
View File
@@ -1,28 +0,0 @@
.include "macros.inc"
.section .text, "ax" # 80265e1c
.global cCt_Counter
cCt_Counter:
/* 80265E1C 00262D5C 2C 03 00 01 */ cmpwi r3, 1
/* 80265E20 00262D60 40 82 00 18 */ bne lbl_80265E38
/* 80265E24 00262D64 38 00 00 00 */ li r0, 0
/* 80265E28 00262D68 3C 60 80 43 */ lis r3, lbl_80430CD8@ha
/* 80265E2C 00262D6C 38 63 0C D8 */ addi r3, r3, lbl_80430CD8@l
/* 80265E30 00262D70 90 03 00 04 */ stw r0, 4(r3)
/* 80265E34 00262D74 48 00 00 18 */ b lbl_80265E4C
lbl_80265E38:
/* 80265E38 00262D78 3C 60 80 43 */ lis r3, lbl_80430CD8@ha
/* 80265E3C 00262D7C 38 83 0C D8 */ addi r4, r3, lbl_80430CD8@l
/* 80265E40 00262D80 80 64 00 04 */ lwz r3, 4(r4)
/* 80265E44 00262D84 38 03 00 01 */ addi r0, r3, 1
/* 80265E48 00262D88 90 04 00 04 */ stw r0, 4(r4)
lbl_80265E4C:
/* 80265E4C 00262D8C 3C 60 80 43 */ lis r3, lbl_80430CD8@ha
/* 80265E50 00262D90 38 83 0C D8 */ addi r4, r3, lbl_80430CD8@l
/* 80265E54 00262D94 80 64 00 00 */ lwz r3, 0(r4)
/* 80265E58 00262D98 38 03 00 01 */ addi r0, r3, 1
/* 80265E5C 00262D9C 90 04 00 00 */ stw r0, 0(r4)
/* 80265E60 00262DA0 4E 80 00 20 */ blr
-158
View File
@@ -1,158 +0,0 @@
.include "macros.inc"
.section .text, "ax" # 80265e64
.global cLs_Init
cLs_Init:
/* 80265E64 00262DA4 38 00 00 00 */ li r0, 0
/* 80265E68 00262DA8 90 03 00 00 */ stw r0, 0(r3)
/* 80265E6C 00262DAC 90 03 00 04 */ stw r0, 4(r3)
/* 80265E70 00262DB0 90 03 00 08 */ stw r0, 8(r3)
/* 80265E74 00262DB4 4E 80 00 20 */ blr
.global cLs_SingleCut
cLs_SingleCut:
/* 80265E78 00262DB8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80265E7C 00262DBC 7C 08 02 A6 */ mflr r0
/* 80265E80 00262DC0 90 01 00 14 */ stw r0, 0x14(r1)
/* 80265E84 00262DC4 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80265E88 00262DC8 93 C1 00 08 */ stw r30, 8(r1)
/* 80265E8C 00262DCC 7C 7E 1B 78 */ mr r30, r3
/* 80265E90 00262DD0 83 E3 00 04 */ lwz r31, 4(r3)
/* 80265E94 00262DD4 80 1F 00 00 */ lwz r0, 0(r31)
/* 80265E98 00262DD8 7C 1E 00 40 */ cmplw r30, r0
/* 80265E9C 00262DDC 40 82 00 0C */ bne lbl_80265EA8
/* 80265EA0 00262DE0 80 1E 00 08 */ lwz r0, 8(r30)
/* 80265EA4 00262DE4 90 1F 00 00 */ stw r0, 0(r31)
lbl_80265EA8:
/* 80265EA8 00262DE8 80 1F 00 04 */ lwz r0, 4(r31)
/* 80265EAC 00262DEC 7C 1E 00 40 */ cmplw r30, r0
/* 80265EB0 00262DF0 40 82 00 0C */ bne lbl_80265EBC
/* 80265EB4 00262DF4 80 1E 00 00 */ lwz r0, 0(r30)
/* 80265EB8 00262DF8 90 1F 00 04 */ stw r0, 4(r31)
lbl_80265EBC:
/* 80265EBC 00262DFC 7F C3 F3 78 */ mr r3, r30
/* 80265EC0 00262E00 48 00 02 FD */ bl cNd_SingleCut
/* 80265EC4 00262E04 7F C3 F3 78 */ mr r3, r30
/* 80265EC8 00262E08 48 00 04 11 */ bl cNd_ClearObject
/* 80265ECC 00262E0C 80 7F 00 08 */ lwz r3, 8(r31)
/* 80265ED0 00262E10 38 63 FF FF */ addi r3, r3, -1
/* 80265ED4 00262E14 90 7F 00 08 */ stw r3, 8(r31)
/* 80265ED8 00262E18 7C 03 00 D0 */ neg r0, r3
/* 80265EDC 00262E1C 7C 00 18 78 */ andc r0, r0, r3
/* 80265EE0 00262E20 54 03 0F FE */ srwi r3, r0, 0x1f
/* 80265EE4 00262E24 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80265EE8 00262E28 83 C1 00 08 */ lwz r30, 8(r1)
/* 80265EEC 00262E2C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80265EF0 00262E30 7C 08 03 A6 */ mtlr r0
/* 80265EF4 00262E34 38 21 00 10 */ addi r1, r1, 0x10
/* 80265EF8 00262E38 4E 80 00 20 */ blr
.global cLs_Addition
cLs_Addition:
/* 80265EFC 00262E3C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80265F00 00262E40 7C 08 02 A6 */ mflr r0
/* 80265F04 00262E44 90 01 00 14 */ stw r0, 0x14(r1)
/* 80265F08 00262E48 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80265F0C 00262E4C 93 C1 00 08 */ stw r30, 8(r1)
/* 80265F10 00262E50 7C 7E 1B 78 */ mr r30, r3
/* 80265F14 00262E54 7C 9F 23 78 */ mr r31, r4
/* 80265F18 00262E58 80 63 00 04 */ lwz r3, 4(r3)
/* 80265F1C 00262E5C 28 03 00 00 */ cmplwi r3, 0
/* 80265F20 00262E60 40 82 00 0C */ bne lbl_80265F2C
/* 80265F24 00262E64 93 FE 00 00 */ stw r31, 0(r30)
/* 80265F28 00262E68 48 00 00 08 */ b lbl_80265F30
lbl_80265F2C:
/* 80265F2C 00262E6C 48 00 02 E5 */ bl cNd_Addition
lbl_80265F30:
/* 80265F30 00262E70 7F E3 FB 78 */ mr r3, r31
/* 80265F34 00262E74 48 00 02 09 */ bl cNd_Last
/* 80265F38 00262E78 90 7E 00 04 */ stw r3, 4(r30)
/* 80265F3C 00262E7C 7F E3 FB 78 */ mr r3, r31
/* 80265F40 00262E80 7F C4 F3 78 */ mr r4, r30
/* 80265F44 00262E84 48 00 03 6D */ bl cNd_SetObject
/* 80265F48 00262E88 80 7E 00 00 */ lwz r3, 0(r30)
/* 80265F4C 00262E8C 48 00 01 91 */ bl cNd_LengthOf
/* 80265F50 00262E90 90 7E 00 08 */ stw r3, 8(r30)
/* 80265F54 00262E94 80 7E 00 08 */ lwz r3, 8(r30)
/* 80265F58 00262E98 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80265F5C 00262E9C 83 C1 00 08 */ lwz r30, 8(r1)
/* 80265F60 00262EA0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80265F64 00262EA4 7C 08 03 A6 */ mtlr r0
/* 80265F68 00262EA8 38 21 00 10 */ addi r1, r1, 0x10
/* 80265F6C 00262EAC 4E 80 00 20 */ blr
.global cLs_Insert
cLs_Insert:
/* 80265F70 00262EB0 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80265F74 00262EB4 7C 08 02 A6 */ mflr r0
/* 80265F78 00262EB8 90 01 00 24 */ stw r0, 0x24(r1)
/* 80265F7C 00262EBC 39 61 00 20 */ addi r11, r1, 0x20
/* 80265F80 00262EC0 48 0F C2 5D */ bl _savegpr_29
/* 80265F84 00262EC4 7C 7D 1B 78 */ mr r29, r3
/* 80265F88 00262EC8 7C BE 2B 78 */ mr r30, r5
/* 80265F8C 00262ECC 80 63 00 00 */ lwz r3, 0(r3)
/* 80265F90 00262ED0 48 00 01 DD */ bl cNd_Order
/* 80265F94 00262ED4 7C 7F 1B 79 */ or. r31, r3, r3
/* 80265F98 00262ED8 40 82 00 14 */ bne lbl_80265FAC
/* 80265F9C 00262EDC 7F A3 EB 78 */ mr r3, r29
/* 80265FA0 00262EE0 7F C4 F3 78 */ mr r4, r30
/* 80265FA4 00262EE4 4B FF FF 59 */ bl cLs_Addition
/* 80265FA8 00262EE8 48 00 00 38 */ b lbl_80265FE0
lbl_80265FAC:
/* 80265FAC 00262EEC 7F C3 F3 78 */ mr r3, r30
/* 80265FB0 00262EF0 7F A4 EB 78 */ mr r4, r29
/* 80265FB4 00262EF4 48 00 02 FD */ bl cNd_SetObject
/* 80265FB8 00262EF8 7F E3 FB 78 */ mr r3, r31
/* 80265FBC 00262EFC 7F C4 F3 78 */ mr r4, r30
/* 80265FC0 00262F00 48 00 02 85 */ bl cNd_Insert
/* 80265FC4 00262F04 7F C3 F3 78 */ mr r3, r30
/* 80265FC8 00262F08 48 00 01 45 */ bl cNd_First
/* 80265FCC 00262F0C 90 7D 00 00 */ stw r3, 0(r29)
/* 80265FD0 00262F10 80 7D 00 00 */ lwz r3, 0(r29)
/* 80265FD4 00262F14 48 00 01 09 */ bl cNd_LengthOf
/* 80265FD8 00262F18 90 7D 00 08 */ stw r3, 8(r29)
/* 80265FDC 00262F1C 80 7D 00 08 */ lwz r3, 8(r29)
lbl_80265FE0:
/* 80265FE0 00262F20 39 61 00 20 */ addi r11, r1, 0x20
/* 80265FE4 00262F24 48 0F C2 45 */ bl _restgpr_29
/* 80265FE8 00262F28 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80265FEC 00262F2C 7C 08 03 A6 */ mtlr r0
/* 80265FF0 00262F30 38 21 00 20 */ addi r1, r1, 0x20
/* 80265FF4 00262F34 4E 80 00 20 */ blr
.global cLs_GetFirst
cLs_GetFirst:
/* 80265FF8 00262F38 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80265FFC 00262F3C 7C 08 02 A6 */ mflr r0
/* 80266000 00262F40 90 01 00 14 */ stw r0, 0x14(r1)
/* 80266004 00262F44 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80266008 00262F48 80 03 00 08 */ lwz r0, 8(r3)
/* 8026600C 00262F4C 2C 00 00 00 */ cmpwi r0, 0
/* 80266010 00262F50 41 82 00 18 */ beq lbl_80266028
/* 80266014 00262F54 83 E3 00 00 */ lwz r31, 0(r3)
/* 80266018 00262F58 7F E3 FB 78 */ mr r3, r31
/* 8026601C 00262F5C 4B FF FE 5D */ bl cLs_SingleCut
/* 80266020 00262F60 7F E3 FB 78 */ mr r3, r31
/* 80266024 00262F64 48 00 00 08 */ b lbl_8026602C
lbl_80266028:
/* 80266028 00262F68 38 60 00 00 */ li r3, 0
lbl_8026602C:
/* 8026602C 00262F6C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80266030 00262F70 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80266034 00262F74 7C 08 03 A6 */ mtlr r0
/* 80266038 00262F78 38 21 00 10 */ addi r1, r1, 0x10
/* 8026603C 00262F7C 4E 80 00 20 */ blr
.global cLs_Create
cLs_Create:
/* 80266040 00262F80 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80266044 00262F84 7C 08 02 A6 */ mflr r0
/* 80266048 00262F88 90 01 00 14 */ stw r0, 0x14(r1)
/* 8026604C 00262F8C 4B FF FE 19 */ bl cLs_Init
/* 80266050 00262F90 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80266054 00262F94 7C 08 03 A6 */ mtlr r0
/* 80266058 00262F98 38 21 00 10 */ addi r1, r1, 0x10
/* 8026605C 00262F9C 4E 80 00 20 */ blr
-215
View File
@@ -1,215 +0,0 @@
.include "macros.inc"
.section .text, "ax" # 802660d0
.global cNd_Join
cNd_Join:
/* 802660D0 00263010 90 83 00 08 */ stw r4, 8(r3)
/* 802660D4 00263014 90 64 00 00 */ stw r3, 0(r4)
/* 802660D8 00263018 4E 80 00 20 */ blr
.global cNd_LengthOf
cNd_LengthOf:
/* 802660DC 0026301C 38 80 00 00 */ li r4, 0
/* 802660E0 00263020 48 00 00 1C */ b lbl_802660FC
lbl_802660E4:
/* 802660E4 00263024 28 03 00 00 */ cmplwi r3, 0
/* 802660E8 00263028 38 84 00 01 */ addi r4, r4, 1
/* 802660EC 0026302C 41 82 00 0C */ beq lbl_802660F8
/* 802660F0 00263030 80 63 00 08 */ lwz r3, 8(r3)
/* 802660F4 00263034 48 00 00 08 */ b lbl_802660FC
lbl_802660F8:
/* 802660F8 00263038 38 60 00 00 */ li r3, 0
lbl_802660FC:
/* 802660FC 0026303C 28 03 00 00 */ cmplwi r3, 0
/* 80266100 00263040 40 82 FF E4 */ bne lbl_802660E4
/* 80266104 00263044 7C 83 23 78 */ mr r3, r4
/* 80266108 00263048 4E 80 00 20 */ blr
.global cNd_First
cNd_First:
/* 8026610C 0026304C 38 00 00 00 */ li r0, 0
/* 80266110 00263050 48 00 00 1C */ b lbl_8026612C
lbl_80266114:
/* 80266114 00263054 7C 60 1B 78 */ mr r0, r3
/* 80266118 00263058 28 03 00 00 */ cmplwi r3, 0
/* 8026611C 0026305C 41 82 00 0C */ beq lbl_80266128
/* 80266120 00263060 80 63 00 00 */ lwz r3, 0(r3)
/* 80266124 00263064 48 00 00 08 */ b lbl_8026612C
lbl_80266128:
/* 80266128 00263068 38 60 00 00 */ li r3, 0
lbl_8026612C:
/* 8026612C 0026306C 28 03 00 00 */ cmplwi r3, 0
/* 80266130 00263070 40 82 FF E4 */ bne lbl_80266114
/* 80266134 00263074 7C 03 03 78 */ mr r3, r0
/* 80266138 00263078 4E 80 00 20 */ blr
.global cNd_Last
cNd_Last:
/* 8026613C 0026307C 38 00 00 00 */ li r0, 0
/* 80266140 00263080 48 00 00 1C */ b lbl_8026615C
lbl_80266144:
/* 80266144 00263084 7C 60 1B 78 */ mr r0, r3
/* 80266148 00263088 28 03 00 00 */ cmplwi r3, 0
/* 8026614C 0026308C 41 82 00 0C */ beq lbl_80266158
/* 80266150 00263090 80 63 00 08 */ lwz r3, 8(r3)
/* 80266154 00263094 48 00 00 08 */ b lbl_8026615C
lbl_80266158:
/* 80266158 00263098 38 60 00 00 */ li r3, 0
lbl_8026615C:
/* 8026615C 0026309C 28 03 00 00 */ cmplwi r3, 0
/* 80266160 002630A0 40 82 FF E4 */ bne lbl_80266144
/* 80266164 002630A4 7C 03 03 78 */ mr r3, r0
/* 80266168 002630A8 4E 80 00 20 */ blr
.global cNd_Order
cNd_Order:
/* 8026616C 002630AC 38 00 00 00 */ li r0, 0
/* 80266170 002630B0 38 A0 00 00 */ li r5, 0
/* 80266174 002630B4 48 00 00 20 */ b lbl_80266194
lbl_80266178:
/* 80266178 002630B8 7C 60 1B 78 */ mr r0, r3
/* 8026617C 002630BC 28 03 00 00 */ cmplwi r3, 0
/* 80266180 002630C0 38 A5 00 01 */ addi r5, r5, 1
/* 80266184 002630C4 41 82 00 0C */ beq lbl_80266190
/* 80266188 002630C8 80 63 00 08 */ lwz r3, 8(r3)
/* 8026618C 002630CC 48 00 00 08 */ b lbl_80266194
lbl_80266190:
/* 80266190 002630D0 38 60 00 00 */ li r3, 0
lbl_80266194:
/* 80266194 002630D4 7C 05 20 00 */ cmpw r5, r4
/* 80266198 002630D8 40 80 00 0C */ bge lbl_802661A4
/* 8026619C 002630DC 28 03 00 00 */ cmplwi r3, 0
/* 802661A0 002630E0 40 82 FF D8 */ bne lbl_80266178
lbl_802661A4:
/* 802661A4 002630E4 7C 05 20 00 */ cmpw r5, r4
/* 802661A8 002630E8 40 80 00 0C */ bge lbl_802661B4
/* 802661AC 002630EC 7C 03 03 78 */ mr r3, r0
/* 802661B0 002630F0 4E 80 00 20 */ blr
lbl_802661B4:
/* 802661B4 002630F4 38 60 00 00 */ li r3, 0
/* 802661B8 002630F8 4E 80 00 20 */ blr
.global cNd_SingleCut
cNd_SingleCut:
/* 802661BC 002630FC 80 A3 00 00 */ lwz r5, 0(r3)
/* 802661C0 00263100 80 83 00 08 */ lwz r4, 8(r3)
/* 802661C4 00263104 28 05 00 00 */ cmplwi r5, 0
/* 802661C8 00263108 41 82 00 08 */ beq lbl_802661D0
/* 802661CC 0026310C 90 85 00 08 */ stw r4, 8(r5)
lbl_802661D0:
/* 802661D0 00263110 28 04 00 00 */ cmplwi r4, 0
/* 802661D4 00263114 41 82 00 0C */ beq lbl_802661E0
/* 802661D8 00263118 80 03 00 00 */ lwz r0, 0(r3)
/* 802661DC 0026311C 90 04 00 00 */ stw r0, 0(r4)
lbl_802661E0:
/* 802661E0 00263120 38 00 00 00 */ li r0, 0
/* 802661E4 00263124 90 03 00 00 */ stw r0, 0(r3)
/* 802661E8 00263128 90 03 00 08 */ stw r0, 8(r3)
/* 802661EC 0026312C 4E 80 00 20 */ blr
.global cNd_Cut
cNd_Cut:
/* 802661F0 00263130 80 83 00 00 */ lwz r4, 0(r3)
/* 802661F4 00263134 28 04 00 00 */ cmplwi r4, 0
/* 802661F8 00263138 41 82 00 0C */ beq lbl_80266204
/* 802661FC 0026313C 38 00 00 00 */ li r0, 0
/* 80266200 00263140 90 04 00 08 */ stw r0, 8(r4)
lbl_80266204:
/* 80266204 00263144 38 00 00 00 */ li r0, 0
/* 80266208 00263148 90 03 00 00 */ stw r0, 0(r3)
/* 8026620C 0026314C 4E 80 00 20 */ blr
.global cNd_Addition
cNd_Addition:
/* 80266210 00263150 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80266214 00263154 7C 08 02 A6 */ mflr r0
/* 80266218 00263158 90 01 00 14 */ stw r0, 0x14(r1)
/* 8026621C 0026315C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80266220 00263160 7C 9F 23 78 */ mr r31, r4
/* 80266224 00263164 4B FF FF 19 */ bl cNd_Last
/* 80266228 00263168 7F E4 FB 78 */ mr r4, r31
/* 8026622C 0026316C 4B FF FE A5 */ bl cNd_Join
/* 80266230 00263170 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80266234 00263174 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80266238 00263178 7C 08 03 A6 */ mtlr r0
/* 8026623C 0026317C 38 21 00 10 */ addi r1, r1, 0x10
/* 80266240 00263180 4E 80 00 20 */ blr
.global cNd_Insert
cNd_Insert:
/* 80266244 00263184 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80266248 00263188 7C 08 02 A6 */ mflr r0
/* 8026624C 0026318C 90 01 00 24 */ stw r0, 0x24(r1)
/* 80266250 00263190 39 61 00 20 */ addi r11, r1, 0x20
/* 80266254 00263194 48 0F BF 89 */ bl _savegpr_29
/* 80266258 00263198 7C 7D 1B 78 */ mr r29, r3
/* 8026625C 0026319C 7C 9E 23 78 */ mr r30, r4
/* 80266260 002631A0 83 E3 00 00 */ lwz r31, 0(r3)
/* 80266264 002631A4 28 1F 00 00 */ cmplwi r31, 0
/* 80266268 002631A8 40 82 00 14 */ bne lbl_8026627C
/* 8026626C 002631AC 7F C3 F3 78 */ mr r3, r30
/* 80266270 002631B0 7F A4 EB 78 */ mr r4, r29
/* 80266274 002631B4 4B FF FF 9D */ bl cNd_Addition
/* 80266278 002631B8 48 00 00 20 */ b lbl_80266298
lbl_8026627C:
/* 8026627C 002631BC 4B FF FF 75 */ bl cNd_Cut
/* 80266280 002631C0 7F E3 FB 78 */ mr r3, r31
/* 80266284 002631C4 7F C4 F3 78 */ mr r4, r30
/* 80266288 002631C8 4B FF FF 89 */ bl cNd_Addition
/* 8026628C 002631CC 7F C3 F3 78 */ mr r3, r30
/* 80266290 002631D0 7F A4 EB 78 */ mr r4, r29
/* 80266294 002631D4 4B FF FF 7D */ bl cNd_Addition
lbl_80266298:
/* 80266298 002631D8 39 61 00 20 */ addi r11, r1, 0x20
/* 8026629C 002631DC 48 0F BF 8D */ bl _restgpr_29
/* 802662A0 002631E0 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802662A4 002631E4 7C 08 03 A6 */ mtlr r0
/* 802662A8 002631E8 38 21 00 20 */ addi r1, r1, 0x20
/* 802662AC 002631EC 4E 80 00 20 */ blr
.global cNd_SetObject
cNd_SetObject:
/* 802662B0 002631F0 48 00 00 1C */ b lbl_802662CC
lbl_802662B4:
/* 802662B4 002631F4 90 83 00 04 */ stw r4, 4(r3)
/* 802662B8 002631F8 28 03 00 00 */ cmplwi r3, 0
/* 802662BC 002631FC 41 82 00 0C */ beq lbl_802662C8
/* 802662C0 00263200 80 63 00 08 */ lwz r3, 8(r3)
/* 802662C4 00263204 48 00 00 08 */ b lbl_802662CC
lbl_802662C8:
/* 802662C8 00263208 38 60 00 00 */ li r3, 0
lbl_802662CC:
/* 802662CC 0026320C 28 03 00 00 */ cmplwi r3, 0
/* 802662D0 00263210 40 82 FF E4 */ bne lbl_802662B4
/* 802662D4 00263214 4E 80 00 20 */ blr
.global cNd_ClearObject
cNd_ClearObject:
/* 802662D8 00263218 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802662DC 0026321C 7C 08 02 A6 */ mflr r0
/* 802662E0 00263220 90 01 00 14 */ stw r0, 0x14(r1)
/* 802662E4 00263224 38 80 00 00 */ li r4, 0
/* 802662E8 00263228 4B FF FF C9 */ bl cNd_SetObject
/* 802662EC 0026322C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802662F0 00263230 7C 08 03 A6 */ mtlr r0
/* 802662F4 00263234 38 21 00 10 */ addi r1, r1, 0x10
/* 802662F8 00263238 4E 80 00 20 */ blr
.global cNd_ForcedClear
cNd_ForcedClear:
/* 802662FC 0026323C 38 00 00 00 */ li r0, 0
/* 80266300 00263240 90 03 00 00 */ stw r0, 0(r3)
/* 80266304 00263244 90 03 00 08 */ stw r0, 8(r3)
/* 80266308 00263248 90 03 00 04 */ stw r0, 4(r3)
/* 8026630C 0026324C 4E 80 00 20 */ blr
.global cNd_Create
cNd_Create:
/* 80266310 00263250 38 00 00 00 */ li r0, 0
/* 80266314 00263254 90 03 00 00 */ stw r0, 0(r3)
/* 80266318 00263258 90 03 00 08 */ stw r0, 8(r3)
/* 8026631C 0026325C 90 83 00 04 */ stw r4, 4(r3)
/* 80266320 00263260 4E 80 00 20 */ blr
-146
View File
@@ -1,146 +0,0 @@
.include "macros.inc"
.section .text, "ax" # 80266624
.global cPhs_Reset
cPhs_Reset:
/* 80266624 00263564 38 00 00 00 */ li r0, 0
/* 80266628 00263568 90 03 00 04 */ stw r0, 4(r3)
/* 8026662C 0026356C 4E 80 00 20 */ blr
.global cPhs_Set
cPhs_Set:
/* 80266630 00263570 90 83 00 00 */ stw r4, 0(r3)
/* 80266634 00263574 38 00 00 00 */ li r0, 0
/* 80266638 00263578 90 03 00 04 */ stw r0, 4(r3)
/* 8026663C 0026357C 4E 80 00 20 */ blr
.global cPhs_UnCompleate
cPhs_UnCompleate:
/* 80266640 00263580 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80266644 00263584 7C 08 02 A6 */ mflr r0
/* 80266648 00263588 90 01 00 14 */ stw r0, 0x14(r1)
/* 8026664C 0026358C 38 00 00 00 */ li r0, 0
/* 80266650 00263590 90 03 00 00 */ stw r0, 0(r3)
/* 80266654 00263594 4B FF FF D1 */ bl cPhs_Reset
/* 80266658 00263598 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8026665C 0026359C 7C 08 03 A6 */ mtlr r0
/* 80266660 002635A0 38 21 00 10 */ addi r1, r1, 0x10
/* 80266664 002635A4 4E 80 00 20 */ blr
.global cPhs_Compleate
cPhs_Compleate:
/* 80266668 002635A8 38 00 00 00 */ li r0, 0
/* 8026666C 002635AC 90 03 00 00 */ stw r0, 0(r3)
/* 80266670 002635B0 38 60 00 04 */ li r3, 4
/* 80266674 002635B4 4E 80 00 20 */ blr
.global cPhs_Next
cPhs_Next:
/* 80266678 002635B8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8026667C 002635BC 7C 08 02 A6 */ mflr r0
/* 80266680 002635C0 90 01 00 14 */ stw r0, 0x14(r1)
/* 80266684 002635C4 80 A3 00 00 */ lwz r5, 0(r3)
/* 80266688 002635C8 28 05 00 00 */ cmplwi r5, 0
/* 8026668C 002635CC 41 82 00 38 */ beq lbl_802666C4
/* 80266690 002635D0 80 83 00 04 */ lwz r4, 4(r3)
/* 80266694 002635D4 38 04 00 01 */ addi r0, r4, 1
/* 80266698 002635D8 90 03 00 04 */ stw r0, 4(r3)
/* 8026669C 002635DC 80 03 00 04 */ lwz r0, 4(r3)
/* 802666A0 002635E0 54 00 10 3A */ slwi r0, r0, 2
/* 802666A4 002635E4 7C 05 00 2E */ lwzx r0, r5, r0
/* 802666A8 002635E8 28 00 00 00 */ cmplwi r0, 0
/* 802666AC 002635EC 41 82 00 08 */ beq lbl_802666B4
/* 802666B0 002635F0 40 82 00 0C */ bne lbl_802666BC
lbl_802666B4:
/* 802666B4 002635F4 4B FF FF B5 */ bl cPhs_Compleate
/* 802666B8 002635F8 48 00 00 10 */ b lbl_802666C8
lbl_802666BC:
/* 802666BC 002635FC 38 60 00 01 */ li r3, 1
/* 802666C0 00263600 48 00 00 08 */ b lbl_802666C8
lbl_802666C4:
/* 802666C4 00263604 38 60 00 04 */ li r3, 4
lbl_802666C8:
/* 802666C8 00263608 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802666CC 0026360C 7C 08 03 A6 */ mtlr r0
/* 802666D0 00263610 38 21 00 10 */ addi r1, r1, 0x10
/* 802666D4 00263614 4E 80 00 20 */ blr
.global cPhs_Do
cPhs_Do:
/* 802666D8 00263618 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802666DC 0026361C 7C 08 02 A6 */ mflr r0
/* 802666E0 00263620 90 01 00 14 */ stw r0, 0x14(r1)
/* 802666E4 00263624 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802666E8 00263628 7C 7F 1B 78 */ mr r31, r3
/* 802666EC 0026362C 80 A3 00 00 */ lwz r5, 0(r3)
/* 802666F0 00263630 28 05 00 00 */ cmplwi r5, 0
/* 802666F4 00263634 41 82 00 A0 */ beq lbl_80266794
/* 802666F8 00263638 80 1F 00 04 */ lwz r0, 4(r31)
/* 802666FC 0026363C 54 00 10 3A */ slwi r0, r0, 2
/* 80266700 00263640 7C 83 23 78 */ mr r3, r4
/* 80266704 00263644 7D 85 00 2E */ lwzx r12, r5, r0
/* 80266708 00263648 7D 89 03 A6 */ mtctr r12
/* 8026670C 0026364C 4E 80 04 21 */ bctrl
/* 80266710 00263650 2C 03 00 03 */ cmpwi r3, 3
/* 80266714 00263654 41 82 00 5C */ beq lbl_80266770
/* 80266718 00263658 40 80 00 14 */ bge lbl_8026672C
/* 8026671C 0026365C 2C 03 00 01 */ cmpwi r3, 1
/* 80266720 00263660 41 82 00 1C */ beq lbl_8026673C
/* 80266724 00263664 40 80 00 24 */ bge lbl_80266748
/* 80266728 00263668 48 00 00 70 */ b lbl_80266798
lbl_8026672C:
/* 8026672C 0026366C 2C 03 00 05 */ cmpwi r3, 5
/* 80266730 00263670 41 82 00 50 */ beq lbl_80266780
/* 80266734 00263674 40 80 00 64 */ bge lbl_80266798
/* 80266738 00263678 48 00 00 2C */ b lbl_80266764
lbl_8026673C:
/* 8026673C 0026367C 7F E3 FB 78 */ mr r3, r31
/* 80266740 00263680 4B FF FF 39 */ bl cPhs_Next
/* 80266744 00263684 48 00 00 54 */ b lbl_80266798
lbl_80266748:
/* 80266748 00263688 7F E3 FB 78 */ mr r3, r31
/* 8026674C 0026368C 4B FF FF 2D */ bl cPhs_Next
/* 80266750 00263690 2C 03 00 01 */ cmpwi r3, 1
/* 80266754 00263694 38 60 00 04 */ li r3, 4
/* 80266758 00263698 40 82 00 40 */ bne lbl_80266798
/* 8026675C 0026369C 38 60 00 02 */ li r3, 2
/* 80266760 002636A0 48 00 00 38 */ b lbl_80266798
lbl_80266764:
/* 80266764 002636A4 7F E3 FB 78 */ mr r3, r31
/* 80266768 002636A8 4B FF FF 01 */ bl cPhs_Compleate
/* 8026676C 002636AC 48 00 00 2C */ b lbl_80266798
lbl_80266770:
/* 80266770 002636B0 7F E3 FB 78 */ mr r3, r31
/* 80266774 002636B4 4B FF FE CD */ bl cPhs_UnCompleate
/* 80266778 002636B8 38 60 00 03 */ li r3, 3
/* 8026677C 002636BC 48 00 00 1C */ b lbl_80266798
lbl_80266780:
/* 80266780 002636C0 7F E3 FB 78 */ mr r3, r31
/* 80266784 002636C4 4B FF FE BD */ bl cPhs_UnCompleate
/* 80266788 002636C8 38 60 00 05 */ li r3, 5
/* 8026678C 002636CC 48 00 00 0C */ b lbl_80266798
/* 80266790 002636D0 48 00 00 08 */ b lbl_80266798
lbl_80266794:
/* 80266794 002636D4 4B FF FE D5 */ bl cPhs_Compleate
lbl_80266798:
/* 80266798 002636D8 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8026679C 002636DC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802667A0 002636E0 7C 08 03 A6 */ mtlr r0
/* 802667A4 002636E4 38 21 00 10 */ addi r1, r1, 0x10
/* 802667A8 002636E8 4E 80 00 20 */ blr
.global cPhs_Handler
cPhs_Handler:
/* 802667AC 002636EC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802667B0 002636F0 7C 08 02 A6 */ mflr r0
/* 802667B4 002636F4 90 01 00 14 */ stw r0, 0x14(r1)
/* 802667B8 002636F8 90 83 00 00 */ stw r4, 0(r3)
/* 802667BC 002636FC 7C A4 2B 78 */ mr r4, r5
/* 802667C0 00263700 4B FF FF 19 */ bl cPhs_Do
/* 802667C4 00263704 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802667C8 00263708 7C 08 03 A6 */ mtlr r0
/* 802667CC 0026370C 38 21 00 10 */ addi r1, r1, 0x10
/* 802667D0 00263710 4E 80 00 20 */ blr
-168
View File
@@ -1,168 +0,0 @@
.include "macros.inc"
.section .text, "ax" # 80266880
.global cTg_IsUse
cTg_IsUse:
/* 80266880 002637C0 88 63 00 10 */ lbz r3, 0x10(r3)
/* 80266884 002637C4 7C 63 07 74 */ extsb r3, r3
/* 80266888 002637C8 4E 80 00 20 */ blr
.global cTg_SingleCutFromTree
cTg_SingleCutFromTree:
/* 8026688C 002637CC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80266890 002637D0 7C 08 02 A6 */ mflr r0
/* 80266894 002637D4 90 01 00 14 */ stw r0, 0x14(r1)
/* 80266898 002637D8 88 03 00 10 */ lbz r0, 0x10(r3)
/* 8026689C 002637DC 2C 00 00 01 */ cmpwi r0, 1
/* 802668A0 002637E0 40 82 00 18 */ bne lbl_802668B8
/* 802668A4 002637E4 38 00 00 00 */ li r0, 0
/* 802668A8 002637E8 98 03 00 10 */ stb r0, 0x10(r3)
/* 802668AC 002637EC 4B FF FB 95 */ bl cTr_SingleCut
/* 802668B0 002637F0 38 60 00 01 */ li r3, 1
/* 802668B4 002637F4 48 00 00 08 */ b lbl_802668BC
lbl_802668B8:
/* 802668B8 002637F8 38 60 00 00 */ li r3, 0
lbl_802668BC:
/* 802668BC 002637FC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802668C0 00263800 7C 08 03 A6 */ mtlr r0
/* 802668C4 00263804 38 21 00 10 */ addi r1, r1, 0x10
/* 802668C8 00263808 4E 80 00 20 */ blr
.global cTg_AdditionToTree
cTg_AdditionToTree:
/* 802668CC 0026380C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802668D0 00263810 7C 08 02 A6 */ mflr r0
/* 802668D4 00263814 90 01 00 14 */ stw r0, 0x14(r1)
/* 802668D8 00263818 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802668DC 0026381C 7C BF 2B 78 */ mr r31, r5
/* 802668E0 00263820 88 05 00 10 */ lbz r0, 0x10(r5)
/* 802668E4 00263824 7C 00 07 75 */ extsb. r0, r0
/* 802668E8 00263828 40 82 00 1C */ bne lbl_80266904
/* 802668EC 0026382C 4B FF FB 75 */ bl cTr_Addition
/* 802668F0 00263830 2C 03 00 00 */ cmpwi r3, 0
/* 802668F4 00263834 41 82 00 10 */ beq lbl_80266904
/* 802668F8 00263838 38 00 00 01 */ li r0, 1
/* 802668FC 0026383C 98 1F 00 10 */ stb r0, 0x10(r31)
/* 80266900 00263840 48 00 00 08 */ b lbl_80266908
lbl_80266904:
/* 80266904 00263844 38 60 00 00 */ li r3, 0
lbl_80266908:
/* 80266908 00263848 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8026690C 0026384C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80266910 00263850 7C 08 03 A6 */ mtlr r0
/* 80266914 00263854 38 21 00 10 */ addi r1, r1, 0x10
/* 80266918 00263858 4E 80 00 20 */ blr
.global cTg_InsertToTree
cTg_InsertToTree:
/* 8026691C 0026385C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80266920 00263860 7C 08 02 A6 */ mflr r0
/* 80266924 00263864 90 01 00 14 */ stw r0, 0x14(r1)
/* 80266928 00263868 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8026692C 0026386C 7C BF 2B 78 */ mr r31, r5
/* 80266930 00263870 88 05 00 10 */ lbz r0, 0x10(r5)
/* 80266934 00263874 7C 00 07 75 */ extsb. r0, r0
/* 80266938 00263878 40 82 00 1C */ bne lbl_80266954
/* 8026693C 0026387C 4B FF FB 69 */ bl cTr_Insert
/* 80266940 00263880 2C 03 00 00 */ cmpwi r3, 0
/* 80266944 00263884 41 82 00 10 */ beq lbl_80266954
/* 80266948 00263888 38 00 00 01 */ li r0, 1
/* 8026694C 0026388C 98 1F 00 10 */ stb r0, 0x10(r31)
/* 80266950 00263890 48 00 00 08 */ b lbl_80266958
lbl_80266954:
/* 80266954 00263894 38 60 00 00 */ li r3, 0
lbl_80266958:
/* 80266958 00263898 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8026695C 0026389C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80266960 002638A0 7C 08 03 A6 */ mtlr r0
/* 80266964 002638A4 38 21 00 10 */ addi r1, r1, 0x10
/* 80266968 002638A8 4E 80 00 20 */ blr
.global cTg_GetFirst
cTg_GetFirst:
/* 8026696C 002638AC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80266970 002638B0 7C 08 02 A6 */ mflr r0
/* 80266974 002638B4 90 01 00 14 */ stw r0, 0x14(r1)
/* 80266978 002638B8 4B FF F6 81 */ bl cLs_GetFirst
/* 8026697C 002638BC 28 03 00 00 */ cmplwi r3, 0
/* 80266980 002638C0 41 82 00 10 */ beq lbl_80266990
/* 80266984 002638C4 38 00 00 00 */ li r0, 0
/* 80266988 002638C8 98 03 00 10 */ stb r0, 0x10(r3)
/* 8026698C 002638CC 48 00 00 08 */ b lbl_80266994
lbl_80266990:
/* 80266990 002638D0 38 60 00 00 */ li r3, 0
lbl_80266994:
/* 80266994 002638D4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80266998 002638D8 7C 08 03 A6 */ mtlr r0
/* 8026699C 002638DC 38 21 00 10 */ addi r1, r1, 0x10
/* 802669A0 002638E0 4E 80 00 20 */ blr
.global cTg_SingleCut
cTg_SingleCut:
/* 802669A4 002638E4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802669A8 002638E8 7C 08 02 A6 */ mflr r0
/* 802669AC 002638EC 90 01 00 14 */ stw r0, 0x14(r1)
/* 802669B0 002638F0 88 03 00 10 */ lbz r0, 0x10(r3)
/* 802669B4 002638F4 2C 00 00 01 */ cmpwi r0, 1
/* 802669B8 002638F8 40 82 00 18 */ bne lbl_802669D0
/* 802669BC 002638FC 38 00 00 00 */ li r0, 0
/* 802669C0 00263900 98 03 00 10 */ stb r0, 0x10(r3)
/* 802669C4 00263904 4B FF F4 B5 */ bl cLs_SingleCut
/* 802669C8 00263908 38 60 00 01 */ li r3, 1
/* 802669CC 0026390C 48 00 00 08 */ b lbl_802669D4
lbl_802669D0:
/* 802669D0 00263910 38 60 00 00 */ li r3, 0
lbl_802669D4:
/* 802669D4 00263914 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802669D8 00263918 7C 08 03 A6 */ mtlr r0
/* 802669DC 0026391C 38 21 00 10 */ addi r1, r1, 0x10
/* 802669E0 00263920 4E 80 00 20 */ blr
.global cTg_Addition
cTg_Addition:
/* 802669E4 00263924 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802669E8 00263928 7C 08 02 A6 */ mflr r0
/* 802669EC 0026392C 90 01 00 14 */ stw r0, 0x14(r1)
/* 802669F0 00263930 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802669F4 00263934 7C 9F 23 78 */ mr r31, r4
/* 802669F8 00263938 88 04 00 10 */ lbz r0, 0x10(r4)
/* 802669FC 0026393C 7C 00 07 75 */ extsb. r0, r0
/* 80266A00 00263940 40 82 00 1C */ bne lbl_80266A1C
/* 80266A04 00263944 4B FF F4 F9 */ bl cLs_Addition
/* 80266A08 00263948 2C 03 00 00 */ cmpwi r3, 0
/* 80266A0C 0026394C 41 82 00 10 */ beq lbl_80266A1C
/* 80266A10 00263950 38 00 00 01 */ li r0, 1
/* 80266A14 00263954 98 1F 00 10 */ stb r0, 0x10(r31)
/* 80266A18 00263958 48 00 00 08 */ b lbl_80266A20
lbl_80266A1C:
/* 80266A1C 0026395C 38 60 00 00 */ li r3, 0
lbl_80266A20:
/* 80266A20 00263960 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80266A24 00263964 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80266A28 00263968 7C 08 03 A6 */ mtlr r0
/* 80266A2C 0026396C 38 21 00 10 */ addi r1, r1, 0x10
/* 80266A30 00263970 4E 80 00 20 */ blr
.global cTg_Create
cTg_Create:
/* 80266A34 00263974 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80266A38 00263978 7C 08 02 A6 */ mflr r0
/* 80266A3C 0026397C 90 01 00 14 */ stw r0, 0x14(r1)
/* 80266A40 00263980 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80266A44 00263984 93 C1 00 08 */ stw r30, 8(r1)
/* 80266A48 00263988 7C 7E 1B 78 */ mr r30, r3
/* 80266A4C 0026398C 7C 9F 23 78 */ mr r31, r4
/* 80266A50 00263990 38 80 00 00 */ li r4, 0
/* 80266A54 00263994 4B FF F8 BD */ bl cNd_Create
/* 80266A58 00263998 93 FE 00 0C */ stw r31, 0xc(r30)
/* 80266A5C 0026399C 38 00 00 00 */ li r0, 0
/* 80266A60 002639A0 98 1E 00 10 */ stb r0, 0x10(r30)
/* 80266A64 002639A4 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80266A68 002639A8 83 C1 00 08 */ lwz r30, 8(r1)
/* 80266A6C 002639AC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80266A70 002639B0 7C 08 03 A6 */ mtlr r0
/* 80266A74 002639B4 38 21 00 10 */ addi r1, r1, 0x10
/* 80266A78 002639B8 4E 80 00 20 */ blr
-87
View File
@@ -1,87 +0,0 @@
.include "macros.inc"
.section .text, "ax" # 80266440
.global cTr_SingleCut
cTr_SingleCut:
/* 80266440 00263380 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80266444 00263384 7C 08 02 A6 */ mflr r0
/* 80266448 00263388 90 01 00 14 */ stw r0, 0x14(r1)
/* 8026644C 0026338C 4B FF FA 2D */ bl cLs_SingleCut
/* 80266450 00263390 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80266454 00263394 7C 08 03 A6 */ mtlr r0
/* 80266458 00263398 38 21 00 10 */ addi r1, r1, 0x10
/* 8026645C 0026339C 4E 80 00 20 */ blr
.global cTr_Addition
cTr_Addition:
/* 80266460 002633A0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80266464 002633A4 7C 08 02 A6 */ mflr r0
/* 80266468 002633A8 90 01 00 14 */ stw r0, 0x14(r1)
/* 8026646C 002633AC 80 03 00 04 */ lwz r0, 4(r3)
/* 80266470 002633B0 7C 04 00 00 */ cmpw r4, r0
/* 80266474 002633B4 41 80 00 0C */ blt lbl_80266480
/* 80266478 002633B8 38 60 00 00 */ li r3, 0
/* 8026647C 002633BC 48 00 00 18 */ b lbl_80266494
lbl_80266480:
/* 80266480 002633C0 80 63 00 00 */ lwz r3, 0(r3)
/* 80266484 002633C4 1C 04 00 0C */ mulli r0, r4, 0xc
/* 80266488 002633C8 7C 63 02 14 */ add r3, r3, r0
/* 8026648C 002633CC 7C A4 2B 78 */ mr r4, r5
/* 80266490 002633D0 4B FF FA 6D */ bl cLs_Addition
lbl_80266494:
/* 80266494 002633D4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80266498 002633D8 7C 08 03 A6 */ mtlr r0
/* 8026649C 002633DC 38 21 00 10 */ addi r1, r1, 0x10
/* 802664A0 002633E0 4E 80 00 20 */ blr
.global cTr_Insert
cTr_Insert:
/* 802664A4 002633E4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802664A8 002633E8 7C 08 02 A6 */ mflr r0
/* 802664AC 002633EC 90 01 00 14 */ stw r0, 0x14(r1)
/* 802664B0 002633F0 80 03 00 04 */ lwz r0, 4(r3)
/* 802664B4 002633F4 7C 04 00 00 */ cmpw r4, r0
/* 802664B8 002633F8 41 80 00 0C */ blt lbl_802664C4
/* 802664BC 002633FC 38 60 00 00 */ li r3, 0
/* 802664C0 00263400 48 00 00 18 */ b lbl_802664D8
lbl_802664C4:
/* 802664C4 00263404 80 63 00 00 */ lwz r3, 0(r3)
/* 802664C8 00263408 1C 04 00 0C */ mulli r0, r4, 0xc
/* 802664CC 0026340C 7C 63 02 14 */ add r3, r3, r0
/* 802664D0 00263410 7C C4 33 78 */ mr r4, r6
/* 802664D4 00263414 4B FF FA 9D */ bl cLs_Insert
lbl_802664D8:
/* 802664D8 00263418 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802664DC 0026341C 7C 08 03 A6 */ mtlr r0
/* 802664E0 00263420 38 21 00 10 */ addi r1, r1, 0x10
/* 802664E4 00263424 4E 80 00 20 */ blr
.global cTr_Create
cTr_Create:
/* 802664E8 00263428 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802664EC 0026342C 7C 08 02 A6 */ mflr r0
/* 802664F0 00263430 90 01 00 14 */ stw r0, 0x14(r1)
/* 802664F4 00263434 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802664F8 00263438 93 C1 00 08 */ stw r30, 8(r1)
/* 802664FC 0026343C 7C 9E 23 78 */ mr r30, r4
/* 80266500 00263440 7C BF 2B 78 */ mr r31, r5
/* 80266504 00263444 93 C3 00 00 */ stw r30, 0(r3)
/* 80266508 00263448 93 E3 00 04 */ stw r31, 4(r3)
/* 8026650C 0026344C 48 00 00 10 */ b lbl_8026651C
lbl_80266510:
/* 80266510 00263450 7F C3 F3 78 */ mr r3, r30
/* 80266514 00263454 3B DE 00 0C */ addi r30, r30, 0xc
/* 80266518 00263458 4B FF FB 29 */ bl cLs_Create
lbl_8026651C:
/* 8026651C 0026345C 2C 1F 00 00 */ cmpwi r31, 0
/* 80266520 00263460 3B FF FF FF */ addi r31, r31, -1
/* 80266524 00263464 41 81 FF EC */ bgt lbl_80266510
/* 80266528 00263468 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8026652C 0026346C 83 C1 00 08 */ lwz r30, 8(r1)
/* 80266530 00263470 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80266534 00263474 7C 08 03 A6 */ mtlr r0
/* 80266538 00263478 38 21 00 10 */ addi r1, r1, 0x10
/* 8026653C 0026347C 4E 80 00 20 */ blr
-43
View File
@@ -1,43 +0,0 @@
.include "macros.inc"
.section .text, "ax" # 80266060
.global cLsIt_Method
cLsIt_Method:
/* 80266060 00262FA0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80266064 00262FA4 7C 08 02 A6 */ mflr r0
/* 80266068 00262FA8 90 01 00 14 */ stw r0, 0x14(r1)
/* 8026606C 00262FAC 80 03 00 08 */ lwz r0, 8(r3)
/* 80266070 00262FB0 2C 00 00 00 */ cmpwi r0, 0
/* 80266074 00262FB4 40 81 00 10 */ ble lbl_80266084
/* 80266078 00262FB8 80 63 00 00 */ lwz r3, 0(r3)
/* 8026607C 00262FBC 48 00 02 A9 */ bl cNdIt_Method
/* 80266080 00262FC0 48 00 00 08 */ b lbl_80266088
lbl_80266084:
/* 80266084 00262FC4 38 60 00 01 */ li r3, 1
lbl_80266088:
/* 80266088 00262FC8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8026608C 00262FCC 7C 08 03 A6 */ mtlr r0
/* 80266090 00262FD0 38 21 00 10 */ addi r1, r1, 0x10
/* 80266094 00262FD4 4E 80 00 20 */ blr
.global cLsIt_Judge
cLsIt_Judge:
/* 80266098 00262FD8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8026609C 00262FDC 7C 08 02 A6 */ mflr r0
/* 802660A0 00262FE0 90 01 00 14 */ stw r0, 0x14(r1)
/* 802660A4 00262FE4 80 03 00 08 */ lwz r0, 8(r3)
/* 802660A8 00262FE8 2C 00 00 00 */ cmpwi r0, 0
/* 802660AC 00262FEC 40 81 00 10 */ ble lbl_802660BC
/* 802660B0 00262FF0 80 63 00 00 */ lwz r3, 0(r3)
/* 802660B4 00262FF4 48 00 03 01 */ bl cNdIt_Judge
/* 802660B8 00262FF8 48 00 00 08 */ b lbl_802660C0
lbl_802660BC:
/* 802660BC 00262FFC 38 60 00 00 */ li r3, 0
lbl_802660C0:
/* 802660C0 00263000 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802660C4 00263004 7C 08 03 A6 */ mtlr r0
/* 802660C8 00263008 38 21 00 10 */ addi r1, r1, 0x10
/* 802660CC 0026300C 4E 80 00 20 */ blr
-93
View File
@@ -1,93 +0,0 @@
.include "macros.inc"
.section .text, "ax" # 80266324
.global cNdIt_Method
cNdIt_Method:
/* 80266324 00263264 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80266328 00263268 7C 08 02 A6 */ mflr r0
/* 8026632C 0026326C 90 01 00 24 */ stw r0, 0x24(r1)
/* 80266330 00263270 39 61 00 20 */ addi r11, r1, 0x20
/* 80266334 00263274 48 0F BE A5 */ bl _savegpr_28
/* 80266338 00263278 7C 9C 23 78 */ mr r28, r4
/* 8026633C 0026327C 7C BD 2B 78 */ mr r29, r5
/* 80266340 00263280 3B E0 00 01 */ li r31, 1
/* 80266344 00263284 28 03 00 00 */ cmplwi r3, 0
/* 80266348 00263288 41 82 00 0C */ beq lbl_80266354
/* 8026634C 0026328C 83 C3 00 08 */ lwz r30, 8(r3)
/* 80266350 00263290 48 00 00 40 */ b lbl_80266390
lbl_80266354:
/* 80266354 00263294 3B C0 00 00 */ li r30, 0
/* 80266358 00263298 48 00 00 38 */ b lbl_80266390
lbl_8026635C:
/* 8026635C 0026329C 7F A4 EB 78 */ mr r4, r29
/* 80266360 002632A0 7F 8C E3 78 */ mr r12, r28
/* 80266364 002632A4 7D 89 03 A6 */ mtctr r12
/* 80266368 002632A8 4E 80 04 21 */ bctrl
/* 8026636C 002632AC 2C 03 00 00 */ cmpwi r3, 0
/* 80266370 002632B0 40 82 00 08 */ bne lbl_80266378
/* 80266374 002632B4 3B E0 00 00 */ li r31, 0
lbl_80266378:
/* 80266378 002632B8 7F C3 F3 78 */ mr r3, r30
/* 8026637C 002632BC 28 1E 00 00 */ cmplwi r30, 0
/* 80266380 002632C0 41 82 00 0C */ beq lbl_8026638C
/* 80266384 002632C4 83 DE 00 08 */ lwz r30, 8(r30)
/* 80266388 002632C8 48 00 00 08 */ b lbl_80266390
lbl_8026638C:
/* 8026638C 002632CC 3B C0 00 00 */ li r30, 0
lbl_80266390:
/* 80266390 002632D0 28 03 00 00 */ cmplwi r3, 0
/* 80266394 002632D4 40 82 FF C8 */ bne lbl_8026635C
/* 80266398 002632D8 7F E3 FB 78 */ mr r3, r31
/* 8026639C 002632DC 39 61 00 20 */ addi r11, r1, 0x20
/* 802663A0 002632E0 48 0F BE 85 */ bl _restgpr_28
/* 802663A4 002632E4 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802663A8 002632E8 7C 08 03 A6 */ mtlr r0
/* 802663AC 002632EC 38 21 00 20 */ addi r1, r1, 0x20
/* 802663B0 002632F0 4E 80 00 20 */ blr
.global cNdIt_Judge
cNdIt_Judge:
/* 802663B4 002632F4 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802663B8 002632F8 7C 08 02 A6 */ mflr r0
/* 802663BC 002632FC 90 01 00 24 */ stw r0, 0x24(r1)
/* 802663C0 00263300 39 61 00 20 */ addi r11, r1, 0x20
/* 802663C4 00263304 48 0F BE 19 */ bl _savegpr_29
/* 802663C8 00263308 7C 9D 23 78 */ mr r29, r4
/* 802663CC 0026330C 7C BE 2B 78 */ mr r30, r5
/* 802663D0 00263310 28 03 00 00 */ cmplwi r3, 0
/* 802663D4 00263314 41 82 00 0C */ beq lbl_802663E0
/* 802663D8 00263318 83 E3 00 08 */ lwz r31, 8(r3)
/* 802663DC 0026331C 48 00 00 40 */ b lbl_8026641C
lbl_802663E0:
/* 802663E0 00263320 3B E0 00 00 */ li r31, 0
/* 802663E4 00263324 48 00 00 38 */ b lbl_8026641C
lbl_802663E8:
/* 802663E8 00263328 7F C4 F3 78 */ mr r4, r30
/* 802663EC 0026332C 7F AC EB 78 */ mr r12, r29
/* 802663F0 00263330 7D 89 03 A6 */ mtctr r12
/* 802663F4 00263334 4E 80 04 21 */ bctrl
/* 802663F8 00263338 28 03 00 00 */ cmplwi r3, 0
/* 802663FC 0026333C 41 82 00 08 */ beq lbl_80266404
/* 80266400 00263340 48 00 00 28 */ b lbl_80266428
lbl_80266404:
/* 80266404 00263344 7F E3 FB 78 */ mr r3, r31
/* 80266408 00263348 28 1F 00 00 */ cmplwi r31, 0
/* 8026640C 0026334C 41 82 00 0C */ beq lbl_80266418
/* 80266410 00263350 83 FF 00 08 */ lwz r31, 8(r31)
/* 80266414 00263354 48 00 00 08 */ b lbl_8026641C
lbl_80266418:
/* 80266418 00263358 3B E0 00 00 */ li r31, 0
lbl_8026641C:
/* 8026641C 0026335C 28 03 00 00 */ cmplwi r3, 0
/* 80266420 00263360 40 82 FF C8 */ bne lbl_802663E8
/* 80266424 00263364 38 60 00 00 */ li r3, 0
lbl_80266428:
/* 80266428 00263368 39 61 00 20 */ addi r11, r1, 0x20
/* 8026642C 0026336C 48 0F BD FD */ bl _restgpr_29
/* 80266430 00263370 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80266434 00263374 7C 08 03 A6 */ mtlr r0
/* 80266438 00263378 38 21 00 20 */ addi r1, r1, 0x20
/* 8026643C 0026337C 4E 80 00 20 */ blr
-73
View File
@@ -1,73 +0,0 @@
.include "macros.inc"
.section .text, "ax" # 80266540
.global cTrIt_Method
cTrIt_Method:
/* 80266540 00263480 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80266544 00263484 7C 08 02 A6 */ mflr r0
/* 80266548 00263488 90 01 00 24 */ stw r0, 0x24(r1)
/* 8026654C 0026348C 39 61 00 20 */ addi r11, r1, 0x20
/* 80266550 00263490 48 0F BC 85 */ bl _savegpr_27
/* 80266554 00263494 7C 9B 23 78 */ mr r27, r4
/* 80266558 00263498 7C BC 2B 78 */ mr r28, r5
/* 8026655C 0026349C 83 E3 00 00 */ lwz r31, 0(r3)
/* 80266560 002634A0 83 C3 00 04 */ lwz r30, 4(r3)
/* 80266564 002634A4 3B A0 00 01 */ li r29, 1
/* 80266568 002634A8 48 00 00 24 */ b lbl_8026658C
lbl_8026656C:
/* 8026656C 002634AC 7F E3 FB 78 */ mr r3, r31
/* 80266570 002634B0 7F 64 DB 78 */ mr r4, r27
/* 80266574 002634B4 7F 85 E3 78 */ mr r5, r28
/* 80266578 002634B8 3B FF 00 0C */ addi r31, r31, 0xc
/* 8026657C 002634BC 4B FF FA E5 */ bl cLsIt_Method
/* 80266580 002634C0 2C 03 00 00 */ cmpwi r3, 0
/* 80266584 002634C4 40 82 00 08 */ bne lbl_8026658C
/* 80266588 002634C8 3B A0 00 00 */ li r29, 0
lbl_8026658C:
/* 8026658C 002634CC 2C 1E 00 00 */ cmpwi r30, 0
/* 80266590 002634D0 3B DE FF FF */ addi r30, r30, -1
/* 80266594 002634D4 41 81 FF D8 */ bgt lbl_8026656C
/* 80266598 002634D8 7F A3 EB 78 */ mr r3, r29
/* 8026659C 002634DC 39 61 00 20 */ addi r11, r1, 0x20
/* 802665A0 002634E0 48 0F BC 81 */ bl _restgpr_27
/* 802665A4 002634E4 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802665A8 002634E8 7C 08 03 A6 */ mtlr r0
/* 802665AC 002634EC 38 21 00 20 */ addi r1, r1, 0x20
/* 802665B0 002634F0 4E 80 00 20 */ blr
.global cTrIt_Judge
cTrIt_Judge:
/* 802665B4 002634F4 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802665B8 002634F8 7C 08 02 A6 */ mflr r0
/* 802665BC 002634FC 90 01 00 24 */ stw r0, 0x24(r1)
/* 802665C0 00263500 39 61 00 20 */ addi r11, r1, 0x20
/* 802665C4 00263504 48 0F BC 15 */ bl _savegpr_28
/* 802665C8 00263508 7C 9C 23 78 */ mr r28, r4
/* 802665CC 0026350C 7C BD 2B 78 */ mr r29, r5
/* 802665D0 00263510 83 E3 00 00 */ lwz r31, 0(r3)
/* 802665D4 00263514 83 C3 00 04 */ lwz r30, 4(r3)
/* 802665D8 00263518 48 00 00 24 */ b lbl_802665FC
lbl_802665DC:
/* 802665DC 0026351C 7F E3 FB 78 */ mr r3, r31
/* 802665E0 00263520 7F 84 E3 78 */ mr r4, r28
/* 802665E4 00263524 7F A5 EB 78 */ mr r5, r29
/* 802665E8 00263528 3B FF 00 0C */ addi r31, r31, 0xc
/* 802665EC 0026352C 4B FF FA AD */ bl cLsIt_Judge
/* 802665F0 00263530 28 03 00 00 */ cmplwi r3, 0
/* 802665F4 00263534 41 82 00 08 */ beq lbl_802665FC
/* 802665F8 00263538 48 00 00 14 */ b lbl_8026660C
lbl_802665FC:
/* 802665FC 0026353C 2C 1E 00 00 */ cmpwi r30, 0
/* 80266600 00263540 3B DE FF FF */ addi r30, r30, -1
/* 80266604 00263544 41 81 FF D8 */ bgt lbl_802665DC
/* 80266608 00263548 38 60 00 00 */ li r3, 0
lbl_8026660C:
/* 8026660C 0026354C 39 61 00 20 */ addi r11, r1, 0x20
/* 80266610 00263550 48 0F BC 15 */ bl _restgpr_28
/* 80266614 00263554 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80266618 00263558 7C 08 03 A6 */ mtlr r0
/* 8026661C 0026355C 38 21 00 20 */ addi r1, r1, 0x20
/* 80266620 00263560 4E 80 00 20 */ blr
-273
View File
@@ -1,273 +0,0 @@
.include "macros.inc"
.section .text, "ax" # 80020acc
.global fpcCtRq_isCreatingByID
fpcCtRq_isCreatingByID:
/* 80020ACC 0001DA0C 80 63 00 0C */ lwz r3, 0xc(r3)
/* 80020AD0 0001DA10 80 63 00 3C */ lwz r3, 0x3c(r3)
/* 80020AD4 0001DA14 80 04 00 00 */ lwz r0, 0(r4)
/* 80020AD8 0001DA18 7C 03 00 50 */ subf r0, r3, r0
/* 80020ADC 0001DA1C 7C 00 00 34 */ cntlzw r0, r0
/* 80020AE0 0001DA20 54 03 D9 7E */ srwi r3, r0, 5
/* 80020AE4 0001DA24 4E 80 00 20 */ blr
.global fpcCtRq_IsCreatingByID
fpcCtRq_IsCreatingByID:
/* 80020AE8 0001DA28 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80020AEC 0001DA2C 7C 08 02 A6 */ mflr r0
/* 80020AF0 0001DA30 90 01 00 14 */ stw r0, 0x14(r1)
/* 80020AF4 0001DA34 90 61 00 08 */ stw r3, 8(r1)
.global fpcCtRq_isCreatingByID
/* 80020AF8 0001DA38 3C 60 80 02 */ lis r3, fpcCtRq_isCreatingByID@ha
.global fpcCtRq_isCreatingByID
/* 80020AFC 0001DA3C 38 63 0A CC */ addi r3, r3, fpcCtRq_isCreatingByID@l
/* 80020B00 0001DA40 38 81 00 08 */ addi r4, r1, 8
/* 80020B04 0001DA44 4B FF FF 01 */ bl fpcCtIt_Judge
/* 80020B08 0001DA48 30 03 FF FF */ addic r0, r3, -1
/* 80020B0C 0001DA4C 7C 60 19 10 */ subfe r3, r0, r3
/* 80020B10 0001DA50 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80020B14 0001DA54 7C 08 03 A6 */ mtlr r0
/* 80020B18 0001DA58 38 21 00 10 */ addi r1, r1, 0x10
/* 80020B1C 0001DA5C 4E 80 00 20 */ blr
.global fpcCtRq_CreateQTo
fpcCtRq_CreateQTo:
/* 80020B20 0001DA60 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80020B24 0001DA64 7C 08 02 A6 */ mflr r0
/* 80020B28 0001DA68 90 01 00 14 */ stw r0, 0x14(r1)
/* 80020B2C 0001DA6C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80020B30 0001DA70 7C 7F 1B 78 */ mr r31, r3
/* 80020B34 0001DA74 48 00 03 31 */ bl fpcCtTg_CreateQTo
/* 80020B38 0001DA78 80 7F 00 44 */ lwz r3, 0x44(r31)
/* 80020B3C 0001DA7C 48 00 0B 89 */ bl fpcLy_CreatedMesg
/* 80020B40 0001DA80 38 7F 00 18 */ addi r3, r31, 0x18
/* 80020B44 0001DA84 48 00 0A 45 */ bl fpcLy_CancelQTo
/* 80020B48 0001DA88 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80020B4C 0001DA8C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80020B50 0001DA90 7C 08 03 A6 */ mtlr r0
/* 80020B54 0001DA94 38 21 00 10 */ addi r1, r1, 0x10
/* 80020B58 0001DA98 4E 80 00 20 */ blr
.global fpcCtRq_ToCreateQ
fpcCtRq_ToCreateQ:
/* 80020B5C 0001DA9C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80020B60 0001DAA0 7C 08 02 A6 */ mflr r0
/* 80020B64 0001DAA4 90 01 00 14 */ stw r0, 0x14(r1)
/* 80020B68 0001DAA8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80020B6C 0001DAAC 7C 7F 1B 78 */ mr r31, r3
/* 80020B70 0001DAB0 80 63 00 44 */ lwz r3, 0x44(r3)
/* 80020B74 0001DAB4 48 00 0B 41 */ bl fpcLy_CreatingMesg
/* 80020B78 0001DAB8 80 7F 00 44 */ lwz r3, 0x44(r31)
/* 80020B7C 0001DABC 38 9F 00 18 */ addi r4, r31, 0x18
/* 80020B80 0001DAC0 48 00 0A 29 */ bl fpcLy_ToCancelQ
/* 80020B84 0001DAC4 7F E3 FB 78 */ mr r3, r31
/* 80020B88 0001DAC8 48 00 02 B1 */ bl fpcCtTg_ToCreateQ
/* 80020B8C 0001DACC 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80020B90 0001DAD0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80020B94 0001DAD4 7C 08 03 A6 */ mtlr r0
/* 80020B98 0001DAD8 38 21 00 10 */ addi r1, r1, 0x10
/* 80020B9C 0001DADC 4E 80 00 20 */ blr
.global fpcCtRq_Delete
fpcCtRq_Delete:
/* 80020BA0 0001DAE0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80020BA4 0001DAE4 7C 08 02 A6 */ mflr r0
/* 80020BA8 0001DAE8 90 01 00 14 */ stw r0, 0x14(r1)
/* 80020BAC 0001DAEC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80020BB0 0001DAF0 7C 7F 1B 78 */ mr r31, r3
/* 80020BB4 0001DAF4 4B FF FF 6D */ bl fpcCtRq_CreateQTo
/* 80020BB8 0001DAF8 80 7F 00 34 */ lwz r3, 0x34(r31)
/* 80020BBC 0001DAFC 28 03 00 00 */ cmplwi r3, 0
/* 80020BC0 0001DB00 41 82 00 20 */ beq lbl_80020BE0
/* 80020BC4 0001DB04 80 63 00 08 */ lwz r3, 8(r3)
/* 80020BC8 0001DB08 7F E4 FB 78 */ mr r4, r31
/* 80020BCC 0001DB0C 48 00 18 5D */ bl fpcMtd_Method
/* 80020BD0 0001DB10 2C 03 00 00 */ cmpwi r3, 0
/* 80020BD4 0001DB14 40 82 00 0C */ bne lbl_80020BE0
/* 80020BD8 0001DB18 38 60 00 00 */ li r3, 0
/* 80020BDC 0001DB1C 48 00 00 24 */ b lbl_80020C00
lbl_80020BE0:
/* 80020BE0 0001DB20 80 7F 00 40 */ lwz r3, 0x40(r31)
/* 80020BE4 0001DB24 28 03 00 00 */ cmplwi r3, 0
/* 80020BE8 0001DB28 41 82 00 0C */ beq lbl_80020BF4
/* 80020BEC 0001DB2C 38 00 00 00 */ li r0, 0
/* 80020BF0 0001DB30 90 03 00 14 */ stw r0, 0x14(r3)
lbl_80020BF4:
/* 80020BF4 0001DB34 7F E3 FB 78 */ mr r3, r31
/* 80020BF8 0001DB38 48 24 26 69 */ bl cMl_NS_free
/* 80020BFC 0001DB3C 38 60 00 01 */ li r3, 1
lbl_80020C00:
/* 80020C00 0001DB40 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80020C04 0001DB44 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80020C08 0001DB48 7C 08 03 A6 */ mtlr r0
/* 80020C0C 0001DB4C 38 21 00 10 */ addi r1, r1, 0x10
/* 80020C10 0001DB50 4E 80 00 20 */ blr
.global fpcCtRq_Cancel
fpcCtRq_Cancel:
/* 80020C14 0001DB54 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80020C18 0001DB58 7C 08 02 A6 */ mflr r0
/* 80020C1C 0001DB5C 90 01 00 14 */ stw r0, 0x14(r1)
/* 80020C20 0001DB60 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80020C24 0001DB64 7C 7F 1B 79 */ or. r31, r3, r3
/* 80020C28 0001DB68 41 82 00 6C */ beq lbl_80020C94
/* 80020C2C 0001DB6C 88 1F 00 15 */ lbz r0, 0x15(r31)
/* 80020C30 0001DB70 7C 00 07 75 */ extsb. r0, r0
/* 80020C34 0001DB74 40 82 00 60 */ bne lbl_80020C94
/* 80020C38 0001DB78 38 00 00 01 */ li r0, 1
/* 80020C3C 0001DB7C 98 1F 00 15 */ stb r0, 0x15(r31)
/* 80020C40 0001DB80 80 7F 00 40 */ lwz r3, 0x40(r31)
/* 80020C44 0001DB84 28 03 00 00 */ cmplwi r3, 0
/* 80020C48 0001DB88 41 82 00 18 */ beq lbl_80020C60
/* 80020C4C 0001DB8C 48 00 06 59 */ bl fpcDt_Delete
/* 80020C50 0001DB90 2C 03 00 00 */ cmpwi r3, 0
/* 80020C54 0001DB94 40 82 00 0C */ bne lbl_80020C60
/* 80020C58 0001DB98 38 60 00 00 */ li r3, 0
/* 80020C5C 0001DB9C 48 00 00 3C */ b lbl_80020C98
lbl_80020C60:
/* 80020C60 0001DBA0 80 7F 00 34 */ lwz r3, 0x34(r31)
/* 80020C64 0001DBA4 28 03 00 00 */ cmplwi r3, 0
/* 80020C68 0001DBA8 41 82 00 20 */ beq lbl_80020C88
/* 80020C6C 0001DBAC 80 63 00 04 */ lwz r3, 4(r3)
/* 80020C70 0001DBB0 7F E4 FB 78 */ mr r4, r31
/* 80020C74 0001DBB4 48 00 17 B5 */ bl fpcMtd_Method
/* 80020C78 0001DBB8 2C 03 00 00 */ cmpwi r3, 0
/* 80020C7C 0001DBBC 40 82 00 0C */ bne lbl_80020C88
/* 80020C80 0001DBC0 38 60 00 00 */ li r3, 0
/* 80020C84 0001DBC4 48 00 00 14 */ b lbl_80020C98
lbl_80020C88:
/* 80020C88 0001DBC8 7F E3 FB 78 */ mr r3, r31
/* 80020C8C 0001DBCC 4B FF FF 15 */ bl fpcCtRq_Delete
/* 80020C90 0001DBD0 48 00 00 08 */ b lbl_80020C98
lbl_80020C94:
/* 80020C94 0001DBD4 38 60 00 01 */ li r3, 1
lbl_80020C98:
/* 80020C98 0001DBD8 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80020C9C 0001DBDC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80020CA0 0001DBE0 7C 08 03 A6 */ mtlr r0
/* 80020CA4 0001DBE4 38 21 00 10 */ addi r1, r1, 0x10
/* 80020CA8 0001DBE8 4E 80 00 20 */ blr
.global fpcCtRq_IsDoing
fpcCtRq_IsDoing:
/* 80020CAC 0001DBEC 28 03 00 00 */ cmplwi r3, 0
/* 80020CB0 0001DBF0 41 82 00 10 */ beq lbl_80020CC0
/* 80020CB4 0001DBF4 88 63 00 14 */ lbz r3, 0x14(r3)
/* 80020CB8 0001DBF8 7C 63 07 74 */ extsb r3, r3
/* 80020CBC 0001DBFC 4E 80 00 20 */ blr
lbl_80020CC0:
/* 80020CC0 0001DC00 38 60 00 00 */ li r3, 0
/* 80020CC4 0001DC04 4E 80 00 20 */ blr
.global fpcCtRq_Do
fpcCtRq_Do:
/* 80020CC8 0001DC08 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80020CCC 0001DC0C 7C 08 02 A6 */ mflr r0
/* 80020CD0 0001DC10 90 01 00 14 */ stw r0, 0x14(r1)
/* 80020CD4 0001DC14 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80020CD8 0001DC18 7C 7F 1B 78 */ mr r31, r3
/* 80020CDC 0001DC1C 38 A0 00 04 */ li r5, 4
/* 80020CE0 0001DC20 80 83 00 34 */ lwz r4, 0x34(r3)
/* 80020CE4 0001DC24 28 04 00 00 */ cmplwi r4, 0
/* 80020CE8 0001DC28 41 82 00 2C */ beq lbl_80020D14
/* 80020CEC 0001DC2C 81 84 00 00 */ lwz r12, 0(r4)
/* 80020CF0 0001DC30 28 0C 00 00 */ cmplwi r12, 0
/* 80020CF4 0001DC34 41 82 00 20 */ beq lbl_80020D14
/* 80020CF8 0001DC38 38 00 00 01 */ li r0, 1
/* 80020CFC 0001DC3C 98 1F 00 14 */ stb r0, 0x14(r31)
/* 80020D00 0001DC40 7D 89 03 A6 */ mtctr r12
/* 80020D04 0001DC44 4E 80 04 21 */ bctrl
/* 80020D08 0001DC48 7C 65 1B 78 */ mr r5, r3
/* 80020D0C 0001DC4C 38 00 00 00 */ li r0, 0
/* 80020D10 0001DC50 98 1F 00 14 */ stb r0, 0x14(r31)
lbl_80020D14:
/* 80020D14 0001DC54 2C 05 00 04 */ cmpwi r5, 4
/* 80020D18 0001DC58 41 82 00 20 */ beq lbl_80020D38
/* 80020D1C 0001DC5C 40 80 00 10 */ bge lbl_80020D2C
/* 80020D20 0001DC60 2C 05 00 03 */ cmpwi r5, 3
/* 80020D24 0001DC64 40 80 00 3C */ bge lbl_80020D60
/* 80020D28 0001DC68 48 00 00 44 */ b lbl_80020D6C
lbl_80020D2C:
/* 80020D2C 0001DC6C 2C 05 00 06 */ cmpwi r5, 6
/* 80020D30 0001DC70 40 80 00 3C */ bge lbl_80020D6C
/* 80020D34 0001DC74 48 00 00 2C */ b lbl_80020D60
lbl_80020D38:
/* 80020D38 0001DC78 80 7F 00 40 */ lwz r3, 0x40(r31)
/* 80020D3C 0001DC7C 48 00 07 D5 */ bl fpcEx_ToExecuteQ
/* 80020D40 0001DC80 2C 03 00 00 */ cmpwi r3, 0
/* 80020D44 0001DC84 40 82 00 10 */ bne lbl_80020D54
/* 80020D48 0001DC88 7F E3 FB 78 */ mr r3, r31
/* 80020D4C 0001DC8C 4B FF FE C9 */ bl fpcCtRq_Cancel
/* 80020D50 0001DC90 48 00 00 20 */ b lbl_80020D70
lbl_80020D54:
/* 80020D54 0001DC94 7F E3 FB 78 */ mr r3, r31
/* 80020D58 0001DC98 4B FF FE 49 */ bl fpcCtRq_Delete
/* 80020D5C 0001DC9C 48 00 00 14 */ b lbl_80020D70
lbl_80020D60:
/* 80020D60 0001DCA0 7F E3 FB 78 */ mr r3, r31
/* 80020D64 0001DCA4 4B FF FE B1 */ bl fpcCtRq_Cancel
/* 80020D68 0001DCA8 48 00 00 08 */ b lbl_80020D70
lbl_80020D6C:
/* 80020D6C 0001DCAC 38 60 00 01 */ li r3, 1
lbl_80020D70:
/* 80020D70 0001DCB0 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80020D74 0001DCB4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80020D78 0001DCB8 7C 08 03 A6 */ mtlr r0
/* 80020D7C 0001DCBC 38 21 00 10 */ addi r1, r1, 0x10
/* 80020D80 0001DCC0 4E 80 00 20 */ blr
.global fpcCtRq_Handler
fpcCtRq_Handler:
/* 80020D84 0001DCC4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80020D88 0001DCC8 7C 08 02 A6 */ mflr r0
/* 80020D8C 0001DCCC 90 01 00 14 */ stw r0, 0x14(r1)
.global fpcCtRq_Do
/* 80020D90 0001DCD0 3C 60 80 02 */ lis r3, fpcCtRq_Do@ha
.global fpcCtRq_Do
/* 80020D94 0001DCD4 38 63 0C C8 */ addi r3, r3, fpcCtRq_Do@l
/* 80020D98 0001DCD8 38 80 00 00 */ li r4, 0
/* 80020D9C 0001DCDC 4B FF FC 2D */ bl fpcCtIt_Method
/* 80020DA0 0001DCE0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80020DA4 0001DCE4 7C 08 03 A6 */ mtlr r0
/* 80020DA8 0001DCE8 38 21 00 10 */ addi r1, r1, 0x10
/* 80020DAC 0001DCEC 4E 80 00 20 */ blr
.global fpcCtRq_Create
fpcCtRq_Create:
/* 80020DB0 0001DCF0 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80020DB4 0001DCF4 7C 08 02 A6 */ mflr r0
/* 80020DB8 0001DCF8 90 01 00 24 */ stw r0, 0x24(r1)
/* 80020DBC 0001DCFC 39 61 00 20 */ addi r11, r1, 0x20
/* 80020DC0 0001DD00 48 34 14 1D */ bl _savegpr_29
/* 80020DC4 0001DD04 7C 7D 1B 78 */ mr r29, r3
/* 80020DC8 0001DD08 7C BE 2B 78 */ mr r30, r5
/* 80020DCC 0001DD0C 38 60 FF FC */ li r3, -4
/* 80020DD0 0001DD10 48 24 24 59 */ bl cMl_NS_memalignB
/* 80020DD4 0001DD14 7C 7F 1B 79 */ or. r31, r3, r3
/* 80020DD8 0001DD18 41 82 00 44 */ beq lbl_80020E1C
/* 80020DDC 0001DD1C 7F E4 FB 78 */ mr r4, r31
/* 80020DE0 0001DD20 48 00 00 A5 */ bl fpcCtTg_Init
/* 80020DE4 0001DD24 38 7F 00 18 */ addi r3, r31, 0x18
/* 80020DE8 0001DD28 3C 80 80 02 */ lis r4, fpcCtRq_Cancel@ha
/* 80020DEC 0001DD2C 38 84 0C 14 */ addi r4, r4, fpcCtRq_Cancel@l
/* 80020DF0 0001DD30 7F E5 FB 78 */ mr r5, r31
/* 80020DF4 0001DD34 48 00 2A 05 */ bl fpcMtdTg_Init
/* 80020DF8 0001DD38 93 BF 00 44 */ stw r29, 0x44(r31)
/* 80020DFC 0001DD3C 93 DF 00 34 */ stw r30, 0x34(r31)
/* 80020E00 0001DD40 4B FF F8 9D */ bl fpcBs_MakeOfId
/* 80020E04 0001DD44 90 7F 00 3C */ stw r3, 0x3c(r31)
/* 80020E08 0001DD48 38 00 00 00 */ li r0, 0
/* 80020E0C 0001DD4C 90 1F 00 40 */ stw r0, 0x40(r31)
/* 80020E10 0001DD50 98 1F 00 15 */ stb r0, 0x15(r31)
/* 80020E14 0001DD54 7F E3 FB 78 */ mr r3, r31
/* 80020E18 0001DD58 4B FF FD 45 */ bl fpcCtRq_ToCreateQ
lbl_80020E1C:
/* 80020E1C 0001DD5C 7F E3 FB 78 */ mr r3, r31
/* 80020E20 0001DD60 39 61 00 20 */ addi r11, r1, 0x20
/* 80020E24 0001DD64 48 34 14 05 */ bl _restgpr_29
/* 80020E28 0001DD68 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80020E2C 0001DD6C 7C 08 03 A6 */ mtlr r0
/* 80020E30 0001DD70 38 21 00 20 */ addi r1, r1, 0x20
/* 80020E34 0001DD74 4E 80 00 20 */ blr
-42
View File
@@ -1,42 +0,0 @@
.include "macros.inc"
.section .text, "ax" # 80020e38
.global fpcCtTg_ToCreateQ
fpcCtTg_ToCreateQ:
/* 80020E38 0001DD78 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80020E3C 0001DD7C 7C 08 02 A6 */ mflr r0
/* 80020E40 0001DD80 90 01 00 14 */ stw r0, 0x14(r1)
/* 80020E44 0001DD84 7C 64 1B 78 */ mr r4, r3
/* 80020E48 0001DD88 3C 60 80 3A */ lis r3, lbl_803A3990@ha
/* 80020E4C 0001DD8C 38 63 39 90 */ addi r3, r3, lbl_803A3990@l
/* 80020E50 0001DD90 48 24 5B 95 */ bl cTg_Addition
/* 80020E54 0001DD94 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80020E58 0001DD98 7C 08 03 A6 */ mtlr r0
/* 80020E5C 0001DD9C 38 21 00 10 */ addi r1, r1, 0x10
/* 80020E60 0001DDA0 4E 80 00 20 */ blr
.global fpcCtTg_CreateQTo
fpcCtTg_CreateQTo:
/* 80020E64 0001DDA4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80020E68 0001DDA8 7C 08 02 A6 */ mflr r0
/* 80020E6C 0001DDAC 90 01 00 14 */ stw r0, 0x14(r1)
/* 80020E70 0001DDB0 48 24 5B 35 */ bl cTg_SingleCut
/* 80020E74 0001DDB4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80020E78 0001DDB8 7C 08 03 A6 */ mtlr r0
/* 80020E7C 0001DDBC 38 21 00 10 */ addi r1, r1, 0x10
/* 80020E80 0001DDC0 4E 80 00 20 */ blr
.global fpcCtTg_Init
fpcCtTg_Init:
/* 80020E84 0001DDC4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80020E88 0001DDC8 7C 08 02 A6 */ mflr r0
/* 80020E8C 0001DDCC 90 01 00 14 */ stw r0, 0x14(r1)
/* 80020E90 0001DDD0 48 24 5B A5 */ bl cTg_Create
/* 80020E94 0001DDD4 38 60 00 01 */ li r3, 1
/* 80020E98 0001DDD8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80020E9C 0001DDDC 7C 08 03 A6 */ mtlr r0
/* 80020EA0 0001DDE0 38 21 00 10 */ addi r1, r1, 0x10
/* 80020EA4 0001DDE4 4E 80 00 20 */ blr
-90
View File
@@ -1,90 +0,0 @@
.include "macros.inc"
.section .text, "ax" # 80020f30
.global fpcDtTg_IsEmpty
fpcDtTg_IsEmpty:
/* 80020F30 0001DE70 3C 60 80 3A */ lis r3, lbl_803A39A0@ha
/* 80020F34 0001DE74 38 63 39 A0 */ addi r3, r3, lbl_803A39A0@l
/* 80020F38 0001DE78 80 03 00 08 */ lwz r0, 8(r3)
/* 80020F3C 0001DE7C 7C 00 00 34 */ cntlzw r0, r0
/* 80020F40 0001DE80 54 03 D9 7E */ srwi r3, r0, 5
/* 80020F44 0001DE84 4E 80 00 20 */ blr
.global fpcDtTg_ToDeleteQ
fpcDtTg_ToDeleteQ:
/* 80020F48 0001DE88 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80020F4C 0001DE8C 7C 08 02 A6 */ mflr r0
/* 80020F50 0001DE90 90 01 00 14 */ stw r0, 0x14(r1)
/* 80020F54 0001DE94 7C 64 1B 78 */ mr r4, r3
/* 80020F58 0001DE98 38 00 00 01 */ li r0, 1
/* 80020F5C 0001DE9C B0 03 00 18 */ sth r0, 0x18(r3)
/* 80020F60 0001DEA0 3C 60 80 3A */ lis r3, lbl_803A39A0@ha
/* 80020F64 0001DEA4 38 63 39 A0 */ addi r3, r3, lbl_803A39A0@l
/* 80020F68 0001DEA8 48 24 5A 7D */ bl cTg_Addition
/* 80020F6C 0001DEAC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80020F70 0001DEB0 7C 08 03 A6 */ mtlr r0
/* 80020F74 0001DEB4 38 21 00 10 */ addi r1, r1, 0x10
/* 80020F78 0001DEB8 4E 80 00 20 */ blr
.global fpcDtTg_DeleteQTo
fpcDtTg_DeleteQTo:
/* 80020F7C 0001DEBC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80020F80 0001DEC0 7C 08 02 A6 */ mflr r0
/* 80020F84 0001DEC4 90 01 00 14 */ stw r0, 0x14(r1)
/* 80020F88 0001DEC8 48 24 5A 1D */ bl cTg_SingleCut
/* 80020F8C 0001DECC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80020F90 0001DED0 7C 08 03 A6 */ mtlr r0
/* 80020F94 0001DED4 38 21 00 10 */ addi r1, r1, 0x10
/* 80020F98 0001DED8 4E 80 00 20 */ blr
.global fpcDtTg_Do
fpcDtTg_Do:
/* 80020F9C 0001DEDC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80020FA0 0001DEE0 7C 08 02 A6 */ mflr r0
/* 80020FA4 0001DEE4 90 01 00 14 */ stw r0, 0x14(r1)
/* 80020FA8 0001DEE8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80020FAC 0001DEEC 93 C1 00 08 */ stw r30, 8(r1)
/* 80020FB0 0001DEF0 7C 7E 1B 78 */ mr r30, r3
/* 80020FB4 0001DEF4 7C 9F 23 78 */ mr r31, r4
/* 80020FB8 0001DEF8 A8 83 00 18 */ lha r4, 0x18(r3)
/* 80020FBC 0001DEFC 2C 04 00 00 */ cmpwi r4, 0
/* 80020FC0 0001DF00 41 81 00 38 */ bgt lbl_80020FF8
/* 80020FC4 0001DF04 4B FF FF B9 */ bl fpcDtTg_DeleteQTo
/* 80020FC8 0001DF08 80 7E 00 0C */ lwz r3, 0xc(r30)
/* 80020FCC 0001DF0C 7F EC FB 78 */ mr r12, r31
/* 80020FD0 0001DF10 7D 89 03 A6 */ mtctr r12
/* 80020FD4 0001DF14 4E 80 04 21 */ bctrl
/* 80020FD8 0001DF18 2C 03 00 00 */ cmpwi r3, 0
/* 80020FDC 0001DF1C 40 82 00 14 */ bne lbl_80020FF0
/* 80020FE0 0001DF20 7F C3 F3 78 */ mr r3, r30
/* 80020FE4 0001DF24 4B FF FF 65 */ bl fpcDtTg_ToDeleteQ
/* 80020FE8 0001DF28 38 60 00 00 */ li r3, 0
/* 80020FEC 0001DF2C 48 00 00 18 */ b lbl_80021004
lbl_80020FF0:
/* 80020FF0 0001DF30 38 60 00 01 */ li r3, 1
/* 80020FF4 0001DF34 48 00 00 10 */ b lbl_80021004
lbl_80020FF8:
/* 80020FF8 0001DF38 38 04 FF FF */ addi r0, r4, -1
/* 80020FFC 0001DF3C B0 1E 00 18 */ sth r0, 0x18(r30)
/* 80021000 0001DF40 38 60 00 00 */ li r3, 0
lbl_80021004:
/* 80021004 0001DF44 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80021008 0001DF48 83 C1 00 08 */ lwz r30, 8(r1)
/* 8002100C 0001DF4C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80021010 0001DF50 7C 08 03 A6 */ mtlr r0
/* 80021014 0001DF54 38 21 00 10 */ addi r1, r1, 0x10
/* 80021018 0001DF58 4E 80 00 20 */ blr
.global fpcDtTg_Init
fpcDtTg_Init:
/* 8002101C 0001DF5C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80021020 0001DF60 7C 08 02 A6 */ mflr r0
/* 80021024 0001DF64 90 01 00 14 */ stw r0, 0x14(r1)
/* 80021028 0001DF68 48 24 5A 0D */ bl cTg_Create
/* 8002102C 0001DF6C 38 60 00 01 */ li r3, 1
/* 80021030 0001DF70 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80021034 0001DF74 7C 08 03 A6 */ mtlr r0
/* 80021038 0001DF78 38 21 00 10 */ addi r1, r1, 0x10
/* 8002103C 0001DF7C 4E 80 00 20 */ blr
-26
View File
@@ -1,26 +0,0 @@
.include "macros.inc"
.section .text, "ax" # 80021308
.global fpcDwPi_Get
fpcDwPi_Get:
/* 80021308 0001E248 A8 63 00 00 */ lha r3, 0(r3)
/* 8002130C 0001E24C 4E 80 00 20 */ blr
.global fpcDwPi_Set
fpcDwPi_Set:
/* 80021310 0001E250 B0 83 00 00 */ sth r4, 0(r3)
/* 80021314 0001E254 4E 80 00 20 */ blr
.global fpcDwPi_Init
fpcDwPi_Init:
/* 80021318 0001E258 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8002131C 0001E25C 7C 08 02 A6 */ mflr r0
/* 80021320 0001E260 90 01 00 14 */ stw r0, 0x14(r1)
/* 80021324 0001E264 4B FF FF ED */ bl fpcDwPi_Set
/* 80021328 0001E268 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8002132C 0001E26C 7C 08 03 A6 */ mtlr r0
/* 80021330 0001E270 38 21 00 10 */ addi r1, r1, 0x10
/* 80021334 0001E274 4E 80 00 20 */ blr
-51
View File
@@ -1,51 +0,0 @@
.include "macros.inc"
.section .text, "ax" # 80020ea8
.global fpcCt_IsCreatingByID
fpcCt_IsCreatingByID:
/* 80020EA8 0001DDE8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80020EAC 0001DDEC 7C 08 02 A6 */ mflr r0
/* 80020EB0 0001DDF0 90 01 00 14 */ stw r0, 0x14(r1)
/* 80020EB4 0001DDF4 4B FF FC 35 */ bl fpcCtRq_IsCreatingByID
/* 80020EB8 0001DDF8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80020EBC 0001DDFC 7C 08 03 A6 */ mtlr r0
/* 80020EC0 0001DE00 38 21 00 10 */ addi r1, r1, 0x10
/* 80020EC4 0001DE04 4E 80 00 20 */ blr
.global fpcCt_IsDoing
fpcCt_IsDoing:
/* 80020EC8 0001DE08 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80020ECC 0001DE0C 7C 08 02 A6 */ mflr r0
/* 80020ED0 0001DE10 90 01 00 14 */ stw r0, 0x14(r1)
/* 80020ED4 0001DE14 80 63 00 14 */ lwz r3, 0x14(r3)
/* 80020ED8 0001DE18 4B FF FD D5 */ bl fpcCtRq_IsDoing
/* 80020EDC 0001DE1C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80020EE0 0001DE20 7C 08 03 A6 */ mtlr r0
/* 80020EE4 0001DE24 38 21 00 10 */ addi r1, r1, 0x10
/* 80020EE8 0001DE28 4E 80 00 20 */ blr
.global fpcCt_Abort
fpcCt_Abort:
/* 80020EEC 0001DE2C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80020EF0 0001DE30 7C 08 02 A6 */ mflr r0
/* 80020EF4 0001DE34 90 01 00 14 */ stw r0, 0x14(r1)
/* 80020EF8 0001DE38 80 63 00 14 */ lwz r3, 0x14(r3)
/* 80020EFC 0001DE3C 4B FF FD 19 */ bl fpcCtRq_Cancel
/* 80020F00 0001DE40 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80020F04 0001DE44 7C 08 03 A6 */ mtlr r0
/* 80020F08 0001DE48 38 21 00 10 */ addi r1, r1, 0x10
/* 80020F0C 0001DE4C 4E 80 00 20 */ blr
.global fpcCt_Handler
fpcCt_Handler:
/* 80020F10 0001DE50 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80020F14 0001DE54 7C 08 02 A6 */ mflr r0
/* 80020F18 0001DE58 90 01 00 14 */ stw r0, 0x14(r1)
/* 80020F1C 0001DE5C 4B FF FE 69 */ bl fpcCtRq_Handler
/* 80020F20 0001DE60 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80020F24 0001DE64 7C 08 03 A6 */ mtlr r0
/* 80020F28 0001DE68 38 21 00 10 */ addi r1, r1, 0x10
/* 80020F2C 0001DE6C 4E 80 00 20 */ blr
-32
View File
@@ -187,35 +187,3 @@ lbl_8002128C:
/* 8002129C 0001E1DC 38 21 00 10 */ addi r1, r1, 0x10
/* 800212A0 0001E1E0 4E 80 00 20 */ blr
.global fpcDt_Delete
fpcDt_Delete:
/* 800212A4 0001E1E4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 800212A8 0001E1E8 7C 08 02 A6 */ mflr r0
/* 800212AC 0001E1EC 90 01 00 14 */ stw r0, 0x14(r1)
/* 800212B0 0001E1F0 93 E1 00 0C */ stw r31, 0xc(r1)
/* 800212B4 0001E1F4 7C 7F 1B 79 */ or. r31, r3, r3
/* 800212B8 0001E1F8 41 82 00 38 */ beq lbl_800212F0
/* 800212BC 0001E1FC 4B FF FC 0D */ bl fpcCt_IsDoing
/* 800212C0 0001E200 2C 03 00 01 */ cmpwi r3, 1
/* 800212C4 0001E204 40 82 00 0C */ bne lbl_800212D0
/* 800212C8 0001E208 38 60 00 00 */ li r3, 0
/* 800212CC 0001E20C 48 00 00 28 */ b lbl_800212F4
lbl_800212D0:
/* 800212D0 0001E210 88 1F 00 0C */ lbz r0, 0xc(r31)
/* 800212D4 0001E214 2C 00 00 03 */ cmpwi r0, 3
/* 800212D8 0001E218 40 82 00 0C */ bne lbl_800212E4
/* 800212DC 0001E21C 38 60 00 00 */ li r3, 0
/* 800212E0 0001E220 48 00 00 14 */ b lbl_800212F4
lbl_800212E4:
/* 800212E4 0001E224 7F E3 FB 78 */ mr r3, r31
/* 800212E8 0001E228 4B FF FE A1 */ bl fpcDt_ToDeleteQ
/* 800212EC 0001E22C 48 00 00 08 */ b lbl_800212F4
lbl_800212F0:
/* 800212F0 0001E230 38 60 00 01 */ li r3, 1
lbl_800212F4:
/* 800212F4 0001E234 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 800212F8 0001E238 80 01 00 14 */ lwz r0, 0x14(r1)
/* 800212FC 0001E23C 7C 08 03 A6 */ mtlr r0
/* 80021300 0001E240 38 21 00 10 */ addi r1, r1, 0x10
/* 80021304 0001E244 4E 80 00 20 */ blr
-193
View File
@@ -1,193 +0,0 @@
.include "macros.inc"
.section .text, "ax" # 80021338
.global fpcEx_Search
fpcEx_Search:
/* 80021338 0001E278 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8002133C 0001E27C 7C 08 02 A6 */ mflr r0
/* 80021340 0001E280 90 01 00 14 */ stw r0, 0x14(r1)
/* 80021344 0001E284 48 00 09 1D */ bl fpcLyIt_AllJudge
/* 80021348 0001E288 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8002134C 0001E28C 7C 08 03 A6 */ mtlr r0
/* 80021350 0001E290 38 21 00 10 */ addi r1, r1, 0x10
/* 80021354 0001E294 4E 80 00 20 */ blr
.global fpcEx_SearchByID
fpcEx_SearchByID:
/* 80021358 0001E298 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8002135C 0001E29C 7C 08 02 A6 */ mflr r0
/* 80021360 0001E2A0 90 01 00 14 */ stw r0, 0x14(r1)
/* 80021364 0001E2A4 90 61 00 08 */ stw r3, 8(r1)
/* 80021368 0001E2A8 38 03 00 02 */ addi r0, r3, 2
/* 8002136C 0001E2AC 28 00 00 01 */ cmplwi r0, 1
/* 80021370 0001E2B0 41 81 00 0C */ bgt lbl_8002137C
/* 80021374 0001E2B4 38 60 00 00 */ li r3, 0
/* 80021378 0001E2B8 48 00 00 14 */ b lbl_8002138C
lbl_8002137C:
.global fpcSch_JudgeByID
/* 8002137C 0001E2BC 3C 60 80 02 */ lis r3, fpcSch_JudgeByID@ha
.global fpcSch_JudgeByID
/* 80021380 0001E2C0 38 63 35 90 */ addi r3, r3, fpcSch_JudgeByID@l
/* 80021384 0001E2C4 38 81 00 08 */ addi r4, r1, 8
/* 80021388 0001E2C8 4B FF FF B1 */ bl fpcEx_Search
lbl_8002138C:
/* 8002138C 0001E2CC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80021390 0001E2D0 7C 08 03 A6 */ mtlr r0
/* 80021394 0001E2D4 38 21 00 10 */ addi r1, r1, 0x10
/* 80021398 0001E2D8 4E 80 00 20 */ blr
.global fpcEx_IsExist
fpcEx_IsExist:
/* 8002139C 0001E2DC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 800213A0 0001E2E0 7C 08 02 A6 */ mflr r0
/* 800213A4 0001E2E4 90 01 00 14 */ stw r0, 0x14(r1)
/* 800213A8 0001E2E8 4B FF FF B1 */ bl fpcEx_SearchByID
/* 800213AC 0001E2EC 30 03 FF FF */ addic r0, r3, -1
/* 800213B0 0001E2F0 7C 60 19 10 */ subfe r3, r0, r3
/* 800213B4 0001E2F4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 800213B8 0001E2F8 7C 08 03 A6 */ mtlr r0
/* 800213BC 0001E2FC 38 21 00 10 */ addi r1, r1, 0x10
/* 800213C0 0001E300 4E 80 00 20 */ blr
.global fpcEx_Execute
fpcEx_Execute:
/* 800213C4 0001E304 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 800213C8 0001E308 7C 08 02 A6 */ mflr r0
/* 800213CC 0001E30C 90 01 00 14 */ stw r0, 0x14(r1)
/* 800213D0 0001E310 93 E1 00 0C */ stw r31, 0xc(r1)
/* 800213D4 0001E314 7C 7F 1B 78 */ mr r31, r3
/* 800213D8 0001E318 88 03 00 0C */ lbz r0, 0xc(r3)
/* 800213DC 0001E31C 2C 00 00 02 */ cmpwi r0, 2
/* 800213E0 0001E320 40 82 00 14 */ bne lbl_800213F4
/* 800213E4 0001E324 38 80 00 01 */ li r4, 1
/* 800213E8 0001E328 48 00 24 5D */ bl fpcPause_IsEnable
/* 800213EC 0001E32C 2C 03 00 01 */ cmpwi r3, 1
/* 800213F0 0001E330 40 82 00 0C */ bne lbl_800213FC
lbl_800213F4:
/* 800213F4 0001E334 38 60 00 00 */ li r3, 0
/* 800213F8 0001E338 48 00 00 0C */ b lbl_80021404
lbl_800213FC:
/* 800213FC 0001E33C 7F E3 FB 78 */ mr r3, r31
/* 80021400 0001E340 4B FF F2 C5 */ bl fpcBs_Execute
lbl_80021404:
/* 80021404 0001E344 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80021408 0001E348 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8002140C 0001E34C 7C 08 03 A6 */ mtlr r0
/* 80021410 0001E350 38 21 00 10 */ addi r1, r1, 0x10
/* 80021414 0001E354 4E 80 00 20 */ blr
.global fpcEx_ToLineQ
fpcEx_ToLineQ:
/* 80021418 0001E358 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8002141C 0001E35C 7C 08 02 A6 */ mflr r0
/* 80021420 0001E360 90 01 00 14 */ stw r0, 0x14(r1)
/* 80021424 0001E364 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80021428 0001E368 7C 7F 1B 78 */ mr r31, r3
/* 8002142C 0001E36C 80 63 00 2C */ lwz r3, 0x2c(r3)
/* 80021430 0001E370 80 83 00 18 */ lwz r4, 0x18(r3)
/* 80021434 0001E374 80 03 00 0C */ lwz r0, 0xc(r3)
/* 80021438 0001E378 28 00 00 00 */ cmplwi r0, 0
/* 8002143C 0001E37C 41 82 00 14 */ beq lbl_80021450
/* 80021440 0001E380 38 64 00 34 */ addi r3, r4, 0x34
/* 80021444 0001E384 48 24 54 3D */ bl cTg_IsUse
/* 80021448 0001E388 2C 03 00 01 */ cmpwi r3, 1
/* 8002144C 0001E38C 40 82 00 60 */ bne lbl_800214AC
lbl_80021450:
/* 80021450 0001E390 38 7F 00 34 */ addi r3, r31, 0x34
/* 80021454 0001E394 A0 9F 00 A4 */ lhz r4, 0xa4(r31)
/* 80021458 0001E398 48 00 21 DD */ bl fpcLnTg_ToQueue
/* 8002145C 0001E39C 2C 03 00 00 */ cmpwi r3, 0
/* 80021460 0001E3A0 40 82 00 14 */ bne lbl_80021474
/* 80021464 0001E3A4 38 7F 00 18 */ addi r3, r31, 0x18
/* 80021468 0001E3A8 48 00 09 65 */ bl fpcLyTg_QueueTo
/* 8002146C 0001E3AC 38 60 00 00 */ li r3, 0
/* 80021470 0001E3B0 48 00 00 40 */ b lbl_800214B0
lbl_80021474:
/* 80021474 0001E3B4 38 00 00 02 */ li r0, 2
/* 80021478 0001E3B8 98 1F 00 0C */ stb r0, 0xc(r31)
/* 8002147C 0001E3BC 80 6D 87 C0 */ lwz r3, lbl_80450D40-_SDA_BASE_(r13)
/* 80021480 0001E3C0 80 9F 00 B4 */ lwz r4, 0xb4(r31)
/* 80021484 0001E3C4 4B FF F1 C9 */ bl fpcBs_Is_JustOfType
/* 80021488 0001E3C8 2C 03 00 00 */ cmpwi r3, 0
/* 8002148C 0001E3CC 41 82 00 18 */ beq lbl_800214A4
/* 80021490 0001E3D0 38 7F 00 BC */ addi r3, r31, 0xbc
/* 80021494 0001E3D4 3C 80 80 02 */ lis r4, fpcEx_ToLineQ@ha
/* 80021498 0001E3D8 38 84 14 18 */ addi r4, r4, fpcEx_ToLineQ@l
/* 8002149C 0001E3DC 7F E5 FB 78 */ mr r5, r31
/* 800214A0 0001E3E0 48 00 06 E9 */ bl fpcLyIt_OnlyHere
lbl_800214A4:
/* 800214A4 0001E3E4 38 60 00 01 */ li r3, 1
/* 800214A8 0001E3E8 48 00 00 08 */ b lbl_800214B0
lbl_800214AC:
/* 800214AC 0001E3EC 38 60 00 00 */ li r3, 0
lbl_800214B0:
/* 800214B0 0001E3F0 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 800214B4 0001E3F4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 800214B8 0001E3F8 7C 08 03 A6 */ mtlr r0
/* 800214BC 0001E3FC 38 21 00 10 */ addi r1, r1, 0x10
/* 800214C0 0001E400 4E 80 00 20 */ blr
.global fpcEx_ExecuteQTo
fpcEx_ExecuteQTo:
/* 800214C4 0001E404 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 800214C8 0001E408 7C 08 02 A6 */ mflr r0
/* 800214CC 0001E40C 90 01 00 14 */ stw r0, 0x14(r1)
/* 800214D0 0001E410 93 E1 00 0C */ stw r31, 0xc(r1)
/* 800214D4 0001E414 7C 7F 1B 78 */ mr r31, r3
/* 800214D8 0001E418 38 7F 00 18 */ addi r3, r31, 0x18
/* 800214DC 0001E41C 48 00 08 F1 */ bl fpcLyTg_QueueTo
/* 800214E0 0001E420 2C 03 00 01 */ cmpwi r3, 1
/* 800214E4 0001E424 40 82 00 14 */ bne lbl_800214F8
/* 800214E8 0001E428 38 00 00 03 */ li r0, 3
/* 800214EC 0001E42C 98 1F 00 0C */ stb r0, 0xc(r31)
/* 800214F0 0001E430 38 60 00 01 */ li r3, 1
/* 800214F4 0001E434 48 00 00 08 */ b lbl_800214FC
lbl_800214F8:
/* 800214F8 0001E438 38 60 00 00 */ li r3, 0
lbl_800214FC:
/* 800214FC 0001E43C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80021500 0001E440 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80021504 0001E444 7C 08 03 A6 */ mtlr r0
/* 80021508 0001E448 38 21 00 10 */ addi r1, r1, 0x10
/* 8002150C 0001E44C 4E 80 00 20 */ blr
.global fpcEx_ToExecuteQ
fpcEx_ToExecuteQ:
/* 80021510 0001E450 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80021514 0001E454 7C 08 02 A6 */ mflr r0
/* 80021518 0001E458 90 01 00 14 */ stw r0, 0x14(r1)
/* 8002151C 0001E45C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80021520 0001E460 7C 7F 1B 78 */ mr r31, r3
/* 80021524 0001E464 38 7F 00 18 */ addi r3, r31, 0x18
/* 80021528 0001E468 80 9F 00 A0 */ lwz r4, 0xa0(r31)
/* 8002152C 0001E46C A0 BF 00 A4 */ lhz r5, 0xa4(r31)
/* 80021530 0001E470 A0 DF 00 A6 */ lhz r6, 0xa6(r31)
/* 80021534 0001E474 48 00 07 A1 */ bl fpcLyTg_ToQueue
/* 80021538 0001E478 2C 03 00 01 */ cmpwi r3, 1
/* 8002153C 0001E47C 40 82 00 14 */ bne lbl_80021550
/* 80021540 0001E480 7F E3 FB 78 */ mr r3, r31
/* 80021544 0001E484 4B FF FE D5 */ bl fpcEx_ToLineQ
/* 80021548 0001E488 38 60 00 01 */ li r3, 1
/* 8002154C 0001E48C 48 00 00 08 */ b lbl_80021554
lbl_80021550:
/* 80021550 0001E490 38 60 00 00 */ li r3, 0
lbl_80021554:
/* 80021554 0001E494 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80021558 0001E498 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8002155C 0001E49C 7C 08 03 A6 */ mtlr r0
/* 80021560 0001E4A0 38 21 00 10 */ addi r1, r1, 0x10
/* 80021564 0001E4A4 4E 80 00 20 */ blr
.global fpcEx_Handler
fpcEx_Handler:
/* 80021568 0001E4A8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8002156C 0001E4AC 7C 08 02 A6 */ mflr r0
/* 80021570 0001E4B0 90 01 00 14 */ stw r0, 0x14(r1)
/* 80021574 0001E4B4 48 00 21 B5 */ bl fpcLnIt_Queue
/* 80021578 0001E4B8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8002157C 0001E4BC 7C 08 03 A6 */ mtlr r0
/* 80021580 0001E4C0 38 21 00 10 */ addi r1, r1, 0x10
/* 80021584 0001E4C4 4E 80 00 20 */ blr
+18 -28
View File
@@ -2,30 +2,8 @@
.section .text, "ax" # 80021a00
.global fpcLf_GetPriority
fpcLf_GetPriority:
/* 80021A00 0001E940 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80021A04 0001E944 7C 08 02 A6 */ mflr r0
/* 80021A08 0001E948 90 01 00 14 */ stw r0, 0x14(r1)
/* 80021A0C 0001E94C 38 63 00 BE */ addi r3, r3, 0xbe
/* 80021A10 0001E950 4B FF F8 F9 */ bl fpcDwPi_Get
/* 80021A14 0001E954 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80021A18 0001E958 7C 08 03 A6 */ mtlr r0
/* 80021A1C 0001E95C 38 21 00 10 */ addi r1, r1, 0x10
/* 80021A20 0001E960 4E 80 00 20 */ blr
.global fpcLf_DrawMethod
fpcLf_DrawMethod:
/* 80021A24 0001E964 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80021A28 0001E968 7C 08 02 A6 */ mflr r0
/* 80021A2C 0001E96C 90 01 00 14 */ stw r0, 0x14(r1)
/* 80021A30 0001E970 80 63 00 10 */ lwz r3, 0x10(r3)
/* 80021A34 0001E974 48 00 09 F5 */ bl fpcMtd_Method
/* 80021A38 0001E978 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80021A3C 0001E97C 7C 08 03 A6 */ mtlr r0
/* 80021A40 0001E980 38 21 00 10 */ addi r1, r1, 0x10
/* 80021A44 0001E984 4E 80 00 20 */ blr
.global fpcLf_Draw
fpcLf_Draw:
/* 80021A48 0001E988 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80021A4C 0001E98C 7C 08 02 A6 */ mflr r0
/* 80021A50 0001E990 90 01 00 14 */ stw r0, 0x14(r1)
@@ -40,7 +18,10 @@ lbl_80021A70:
/* 80021A70 0001E9B0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80021A74 0001E9B4 7C 08 03 A6 */ mtlr r0
/* 80021A78 0001E9B8 38 21 00 10 */ addi r1, r1, 0x10
/* 80021A7C 0001E9BC 4E 80 00 20 */ blr
/* 80021A7C 0001E9BC 4E 80 00 20 */ blr
.global fpcLf_Execute
fpcLf_Execute:
/* 80021A80 0001E9C0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80021A84 0001E9C4 7C 08 02 A6 */ mflr r0
/* 80021A88 0001E9C8 90 01 00 14 */ stw r0, 0x14(r1)
@@ -50,7 +31,10 @@ lbl_80021A70:
/* 80021A98 0001E9D8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80021A9C 0001E9DC 7C 08 03 A6 */ mtlr r0
/* 80021AA0 0001E9E0 38 21 00 10 */ addi r1, r1, 0x10
/* 80021AA4 0001E9E4 4E 80 00 20 */ blr
/* 80021AA4 0001E9E4 4E 80 00 20 */ blr
.global fpcLf_IsDelete
fpcLf_IsDelete:
/* 80021AA8 0001E9E8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80021AAC 0001E9EC 7C 08 02 A6 */ mflr r0
/* 80021AB0 0001E9F0 90 01 00 14 */ stw r0, 0x14(r1)
@@ -60,7 +44,10 @@ lbl_80021A70:
/* 80021AC0 0001EA00 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80021AC4 0001EA04 7C 08 03 A6 */ mtlr r0
/* 80021AC8 0001EA08 38 21 00 10 */ addi r1, r1, 0x10
/* 80021ACC 0001EA0C 4E 80 00 20 */ blr
/* 80021ACC 0001EA0C 4E 80 00 20 */ blr
.global fpcLf_Delete
fpcLf_Delete:
/* 80021AD0 0001EA10 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80021AD4 0001EA14 7C 08 02 A6 */ mflr r0
/* 80021AD8 0001EA18 90 01 00 14 */ stw r0, 0x14(r1)
@@ -78,7 +65,10 @@ lbl_80021B00:
/* 80021B04 0001EA44 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80021B08 0001EA48 7C 08 03 A6 */ mtlr r0
/* 80021B0C 0001EA4C 38 21 00 10 */ addi r1, r1, 0x10
/* 80021B10 0001EA50 4E 80 00 20 */ blr
/* 80021B10 0001EA50 4E 80 00 20 */ blr
.global fpcLf_Create
fpcLf_Create:
/* 80021B14 0001EA54 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80021B18 0001EA58 7C 08 02 A6 */ mflr r0
/* 80021B1C 0001EA5C 90 01 00 14 */ stw r0, 0x14(r1)
-30
View File
@@ -1,30 +0,0 @@
.include "macros.inc"
.section .text, "ax" # 80021f64
.global fpcLn_Create
fpcLn_Create:
/* 80021F64 0001EEA4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80021F68 0001EEA8 7C 08 02 A6 */ mflr r0
/* 80021F6C 0001EEAC 90 01 00 14 */ stw r0, 0x14(r1)
/* 80021F70 0001EEB0 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80021F74 0001EEB4 93 C1 00 08 */ stw r30, 8(r1)
/* 80021F78 0001EEB8 3C 60 80 3F */ lis r3, lbl_803F4CF0@ha
/* 80021F7C 0001EEBC 38 03 4C F0 */ addi r0, r3, lbl_803F4CF0@l
/* 80021F80 0001EEC0 7C 1E 03 78 */ mr r30, r0
/* 80021F84 0001EEC4 3B E0 00 0F */ li r31, 0xf
lbl_80021F88:
/* 80021F88 0001EEC8 7F C3 F3 78 */ mr r3, r30
/* 80021F8C 0001EECC 3B DE 00 0C */ addi r30, r30, 0xc
/* 80021F90 0001EED0 48 24 40 B1 */ bl cLs_Create
/* 80021F94 0001EED4 2C 1F 00 00 */ cmpwi r31, 0
/* 80021F98 0001EED8 3B FF FF FF */ addi r31, r31, -1
/* 80021F9C 0001EEDC 41 81 FF EC */ bgt lbl_80021F88
/* 80021FA0 0001EEE0 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80021FA4 0001EEE4 83 C1 00 08 */ lwz r30, 8(r1)
/* 80021FA8 0001EEE8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80021FAC 0001EEEC 7C 08 03 A6 */ mtlr r0
/* 80021FB0 0001EEF0 38 21 00 10 */ addi r1, r1, 0x10
/* 80021FB4 0001EEF4 4E 80 00 20 */ blr
-81
View File
@@ -1,81 +0,0 @@
.include "macros.inc"
.section .text, "ax" # 80021fb8
.global fpcLd_Use
fpcLd_Use:
/* 80021FB8 0001EEF8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80021FBC 0001EEFC 7C 08 02 A6 */ mflr r0
/* 80021FC0 0001EF00 90 01 00 14 */ stw r0, 0x14(r1)
/* 80021FC4 0001EF04 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80021FC8 0001EF08 7C 7F 1B 78 */ mr r31, r3
/* 80021FCC 0001EF0C 48 00 00 3D */ bl fpcLd_IsLoaded
/* 80021FD0 0001EF10 2C 03 00 01 */ cmpwi r3, 1
/* 80021FD4 0001EF14 40 82 00 1C */ bne lbl_80021FF0
/* 80021FD8 0001EF18 7F E3 FB 78 */ mr r3, r31
/* 80021FDC 0001EF1C 48 00 00 75 */ bl fpcLd_Load
/* 80021FE0 0001EF20 2C 03 00 04 */ cmpwi r3, 4
/* 80021FE4 0001EF24 40 82 00 0C */ bne lbl_80021FF0
/* 80021FE8 0001EF28 38 60 00 01 */ li r3, 1
/* 80021FEC 0001EF2C 48 00 00 08 */ b lbl_80021FF4
lbl_80021FF0:
/* 80021FF0 0001EF30 38 60 00 00 */ li r3, 0
lbl_80021FF4:
/* 80021FF4 0001EF34 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80021FF8 0001EF38 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80021FFC 0001EF3C 7C 08 03 A6 */ mtlr r0
/* 80022000 0001EF40 38 21 00 10 */ addi r1, r1, 0x10
/* 80022004 0001EF44 4E 80 00 20 */ blr
.global fpcLd_IsLoaded
fpcLd_IsLoaded:
/* 80022008 0001EF48 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8002200C 0001EF4C 7C 08 02 A6 */ mflr r0
/* 80022010 0001EF50 90 01 00 14 */ stw r0, 0x14(r1)
/* 80022014 0001EF54 7C 63 07 34 */ extsh r3, r3
/* 80022018 0001EF58 4B FF 65 2D */ bl cDyl_IsLinked
/* 8002201C 0001EF5C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80022020 0001EF60 7C 08 03 A6 */ mtlr r0
/* 80022024 0001EF64 38 21 00 10 */ addi r1, r1, 0x10
/* 80022028 0001EF68 4E 80 00 20 */ blr
.global fpcLd_Free
fpcLd_Free:
/* 8002202C 0001EF6C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80022030 0001EF70 7C 08 02 A6 */ mflr r0
/* 80022034 0001EF74 90 01 00 14 */ stw r0, 0x14(r1)
/* 80022038 0001EF78 7C 63 07 34 */ extsh r3, r3
/* 8002203C 0001EF7C 4B FF 65 41 */ bl cDyl_Unlink
/* 80022040 0001EF80 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80022044 0001EF84 7C 08 03 A6 */ mtlr r0
/* 80022048 0001EF88 38 21 00 10 */ addi r1, r1, 0x10
/* 8002204C 0001EF8C 4E 80 00 20 */ blr
.global fpcLd_Load
fpcLd_Load:
/* 80022050 0001EF90 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80022054 0001EF94 7C 08 02 A6 */ mflr r0
/* 80022058 0001EF98 90 01 00 14 */ stw r0, 0x14(r1)
/* 8002205C 0001EF9C 7C 63 07 34 */ extsh r3, r3
/* 80022060 0001EFA0 4B FF 65 61 */ bl cDyl_LinkASync
/* 80022064 0001EFA4 2C 03 00 04 */ cmpwi r3, 4
/* 80022068 0001EFA8 41 82 00 14 */ beq lbl_8002207C
/* 8002206C 0001EFAC 40 80 00 20 */ bge lbl_8002208C
/* 80022070 0001EFB0 2C 03 00 00 */ cmpwi r3, 0
/* 80022074 0001EFB4 41 82 00 10 */ beq lbl_80022084
/* 80022078 0001EFB8 48 00 00 14 */ b lbl_8002208C
lbl_8002207C:
/* 8002207C 0001EFBC 38 60 00 04 */ li r3, 4
/* 80022080 0001EFC0 48 00 00 10 */ b lbl_80022090
lbl_80022084:
/* 80022084 0001EFC4 38 60 00 00 */ li r3, 0
/* 80022088 0001EFC8 48 00 00 08 */ b lbl_80022090
lbl_8002208C:
/* 8002208C 0001EFCC 38 60 00 05 */ li r3, 5
lbl_80022090:
/* 80022090 0001EFD0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80022094 0001EFD4 7C 08 03 A6 */ mtlr r0
/* 80022098 0001EFD8 38 21 00 10 */ addi r1, r1, 0x10
/* 8002209C 0001EFDC 4E 80 00 20 */ blr
-72
View File
@@ -1,72 +0,0 @@
.include "macros.inc"
.section .text, "ax" # 80022428
.global fpcMtd_Method
fpcMtd_Method:
/* 80022428 0001F368 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8002242C 0001F36C 7C 08 02 A6 */ mflr r0
/* 80022430 0001F370 90 01 00 14 */ stw r0, 0x14(r1)
/* 80022434 0001F374 7C 6C 1B 79 */ or. r12, r3, r3
/* 80022438 0001F378 41 82 00 14 */ beq lbl_8002244C
/* 8002243C 0001F37C 7C 83 23 78 */ mr r3, r4
/* 80022440 0001F380 7D 89 03 A6 */ mtctr r12
/* 80022444 0001F384 4E 80 04 21 */ bctrl
/* 80022448 0001F388 48 00 00 08 */ b lbl_80022450
lbl_8002244C:
/* 8002244C 0001F38C 38 60 00 01 */ li r3, 1
lbl_80022450:
/* 80022450 0001F390 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80022454 0001F394 7C 08 03 A6 */ mtlr r0
/* 80022458 0001F398 38 21 00 10 */ addi r1, r1, 0x10
/* 8002245C 0001F39C 4E 80 00 20 */ blr
.global fpcMtd_Execute
fpcMtd_Execute:
/* 80022460 0001F3A0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80022464 0001F3A4 7C 08 02 A6 */ mflr r0
/* 80022468 0001F3A8 90 01 00 14 */ stw r0, 0x14(r1)
/* 8002246C 0001F3AC 80 63 00 08 */ lwz r3, 8(r3)
/* 80022470 0001F3B0 4B FF FF B9 */ bl fpcMtd_Method
/* 80022474 0001F3B4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80022478 0001F3B8 7C 08 03 A6 */ mtlr r0
/* 8002247C 0001F3BC 38 21 00 10 */ addi r1, r1, 0x10
/* 80022480 0001F3C0 4E 80 00 20 */ blr
.global fpcMtd_IsDelete
fpcMtd_IsDelete:
/* 80022484 0001F3C4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80022488 0001F3C8 7C 08 02 A6 */ mflr r0
/* 8002248C 0001F3CC 90 01 00 14 */ stw r0, 0x14(r1)
/* 80022490 0001F3D0 80 63 00 0C */ lwz r3, 0xc(r3)
/* 80022494 0001F3D4 4B FF FF 95 */ bl fpcMtd_Method
/* 80022498 0001F3D8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8002249C 0001F3DC 7C 08 03 A6 */ mtlr r0
/* 800224A0 0001F3E0 38 21 00 10 */ addi r1, r1, 0x10
/* 800224A4 0001F3E4 4E 80 00 20 */ blr
.global fpcMtd_Delete
fpcMtd_Delete:
/* 800224A8 0001F3E8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 800224AC 0001F3EC 7C 08 02 A6 */ mflr r0
/* 800224B0 0001F3F0 90 01 00 14 */ stw r0, 0x14(r1)
/* 800224B4 0001F3F4 80 63 00 04 */ lwz r3, 4(r3)
/* 800224B8 0001F3F8 4B FF FF 71 */ bl fpcMtd_Method
/* 800224BC 0001F3FC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 800224C0 0001F400 7C 08 03 A6 */ mtlr r0
/* 800224C4 0001F404 38 21 00 10 */ addi r1, r1, 0x10
/* 800224C8 0001F408 4E 80 00 20 */ blr
.global fpcMtd_Create
fpcMtd_Create:
/* 800224CC 0001F40C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 800224D0 0001F410 7C 08 02 A6 */ mflr r0
/* 800224D4 0001F414 90 01 00 14 */ stw r0, 0x14(r1)
/* 800224D8 0001F418 80 63 00 00 */ lwz r3, 0(r3)
/* 800224DC 0001F41C 4B FF FF 4D */ bl fpcMtd_Method
/* 800224E0 0001F420 80 01 00 14 */ lwz r0, 0x14(r1)
/* 800224E4 0001F424 7C 08 03 A6 */ mtlr r0
/* 800224E8 0001F428 38 21 00 10 */ addi r1, r1, 0x10
/* 800224EC 0001F42C 4E 80 00 20 */ blr
-12
View File
@@ -1,12 +0,0 @@
.include "macros.inc"
.section .text, "ax" # 80023564
.global fpcPf_Get
fpcPf_Get:
/* 80023564 000204A4 80 8D 87 D0 */ lwz r4, lbl_80450D50-_SDA_BASE_(r13)
/* 80023568 000204A8 7C 60 07 34 */ extsh r0, r3
/* 8002356C 000204AC 54 00 10 3A */ slwi r0, r0, 2
/* 80023570 000204B0 7C 64 00 2E */ lwzx r3, r4, r0
/* 80023574 000204B4 4E 80 00 20 */ blr
-22
View File
@@ -1,22 +0,0 @@
.include "macros.inc"
.section .text, "ax" # 80023578
.global fpcSch_JudgeForPName
fpcSch_JudgeForPName:
/* 80023578 000204B8 A8 A3 00 08 */ lha r5, 8(r3)
/* 8002357C 000204BC A8 04 00 00 */ lha r0, 0(r4)
/* 80023580 000204C0 7C 05 00 00 */ cmpw r5, r0
/* 80023584 000204C4 4D 82 00 20 */ beqlr
/* 80023588 000204C8 38 60 00 00 */ li r3, 0
/* 8002358C 000204CC 4E 80 00 20 */ blr
.global fpcSch_JudgeByID
fpcSch_JudgeByID:
/* 80023590 000204D0 80 A3 00 04 */ lwz r5, 4(r3)
/* 80023594 000204D4 80 04 00 00 */ lwz r0, 0(r4)
/* 80023598 000204D8 7C 05 00 40 */ cmplw r5, r0
/* 8002359C 000204DC 4D 82 00 20 */ beqlr
/* 800235A0 000204E0 38 60 00 00 */ li r3, 0
/* 800235A4 000204E4 4E 80 00 20 */ blr
-54
View File
@@ -1,54 +0,0 @@
.include "macros.inc"
.section .text, "ax" # 800236c0
.global fpcLnIt_MethodCall
fpcLnIt_MethodCall:
/* 800236C0 00020600 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 800236C4 00020604 7C 08 02 A6 */ mflr r0
/* 800236C8 00020608 90 01 00 24 */ stw r0, 0x24(r1)
/* 800236CC 0002060C 39 61 00 20 */ addi r11, r1, 0x20
/* 800236D0 00020610 48 33 EB 09 */ bl _savegpr_28
/* 800236D4 00020614 7C 7C 1B 78 */ mr r28, r3
/* 800236D8 00020618 7C 9D 23 78 */ mr r29, r4
/* 800236DC 0002061C 80 63 00 0C */ lwz r3, 0xc(r3)
/* 800236E0 00020620 83 E3 00 2C */ lwz r31, 0x2c(r3)
/* 800236E4 00020624 4B FF E0 11 */ bl fpcLy_CurrentLayer
/* 800236E8 00020628 7C 7E 1B 78 */ mr r30, r3
/* 800236EC 0002062C 7F E3 FB 78 */ mr r3, r31
/* 800236F0 00020630 4B FF DF FD */ bl fpcLy_SetCurrentLayer
/* 800236F4 00020634 7F 83 E3 78 */ mr r3, r28
/* 800236F8 00020638 7F A4 EB 78 */ mr r4, r29
/* 800236FC 0002063C 48 24 33 81 */ bl cTgIt_MethodCall
/* 80023700 00020640 7C 7F 1B 78 */ mr r31, r3
/* 80023704 00020644 7F C3 F3 78 */ mr r3, r30
/* 80023708 00020648 4B FF DF E5 */ bl fpcLy_SetCurrentLayer
/* 8002370C 0002064C 7F E3 FB 78 */ mr r3, r31
/* 80023710 00020650 39 61 00 20 */ addi r11, r1, 0x20
/* 80023714 00020654 48 33 EB 11 */ bl _restgpr_28
/* 80023718 00020658 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8002371C 0002065C 7C 08 03 A6 */ mtlr r0
/* 80023720 00020660 38 21 00 20 */ addi r1, r1, 0x20
/* 80023724 00020664 4E 80 00 20 */ blr
.global fpcLnIt_Queue
fpcLnIt_Queue:
/* 80023728 00020668 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8002372C 0002066C 7C 08 02 A6 */ mflr r0
/* 80023730 00020670 90 01 00 14 */ stw r0, 0x14(r1)
/* 80023734 00020674 90 61 00 08 */ stw r3, 8(r1)
/* 80023738 00020678 38 00 00 00 */ li r0, 0
/* 8002373C 0002067C 90 01 00 0C */ stw r0, 0xc(r1)
/* 80023740 00020680 38 6D 80 58 */ addi r3, r13, lbl_804505D8-_SDA_BASE_
.global fpcLnIt_MethodCall
/* 80023744 00020684 3C 80 80 02 */ lis r4, fpcLnIt_MethodCall@ha
.global fpcLnIt_MethodCall
/* 80023748 00020688 38 84 36 C0 */ addi r4, r4, fpcLnIt_MethodCall@l
/* 8002374C 0002068C 38 A1 00 08 */ addi r5, r1, 8
/* 80023750 00020690 48 24 2D F1 */ bl cTrIt_Method
/* 80023754 00020694 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80023758 00020698 7C 08 03 A6 */ mtlr r0
/* 8002375C 0002069C 38 21 00 10 */ addi r1, r1, 0x10
/* 80023760 000206A0 4E 80 00 20 */ blr
-90
View File
@@ -1,90 +0,0 @@
.include "macros.inc"
.section .text, "ax" # 800235a8
.global fpcLnTg_Move
fpcLnTg_Move:
/* 800235A8 000204E8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 800235AC 000204EC 7C 08 02 A6 */ mflr r0
/* 800235B0 000204F0 90 01 00 14 */ stw r0, 0x14(r1)
/* 800235B4 000204F4 93 E1 00 0C */ stw r31, 0xc(r1)
/* 800235B8 000204F8 93 C1 00 08 */ stw r30, 8(r1)
/* 800235BC 000204FC 7C 7E 1B 78 */ mr r30, r3
/* 800235C0 00020500 7C 9F 23 78 */ mr r31, r4
/* 800235C4 00020504 80 03 00 14 */ lwz r0, 0x14(r3)
/* 800235C8 00020508 7C 00 F8 00 */ cmpw r0, r31
/* 800235CC 0002050C 41 82 00 18 */ beq lbl_800235E4
/* 800235D0 00020510 48 00 00 31 */ bl fpcLnTg_QueueTo
/* 800235D4 00020514 7F C3 F3 78 */ mr r3, r30
/* 800235D8 00020518 7F E4 FB 78 */ mr r4, r31
/* 800235DC 0002051C 48 00 00 59 */ bl fpcLnTg_ToQueue
/* 800235E0 00020520 48 00 00 08 */ b lbl_800235E8
lbl_800235E4:
/* 800235E4 00020524 38 60 00 01 */ li r3, 1
lbl_800235E8:
/* 800235E8 00020528 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 800235EC 0002052C 83 C1 00 08 */ lwz r30, 8(r1)
/* 800235F0 00020530 80 01 00 14 */ lwz r0, 0x14(r1)
/* 800235F4 00020534 7C 08 03 A6 */ mtlr r0
/* 800235F8 00020538 38 21 00 10 */ addi r1, r1, 0x10
/* 800235FC 0002053C 4E 80 00 20 */ blr
.global fpcLnTg_QueueTo
fpcLnTg_QueueTo:
/* 80023600 00020540 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80023604 00020544 7C 08 02 A6 */ mflr r0
/* 80023608 00020548 90 01 00 14 */ stw r0, 0x14(r1)
/* 8002360C 0002054C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80023610 00020550 7C 7F 1B 78 */ mr r31, r3
/* 80023614 00020554 48 24 32 79 */ bl cTg_SingleCutFromTree
/* 80023618 00020558 38 00 FF FF */ li r0, -1
/* 8002361C 0002055C 90 1F 00 14 */ stw r0, 0x14(r31)
/* 80023620 00020560 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80023624 00020564 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80023628 00020568 7C 08 03 A6 */ mtlr r0
/* 8002362C 0002056C 38 21 00 10 */ addi r1, r1, 0x10
/* 80023630 00020570 4E 80 00 20 */ blr
.global fpcLnTg_ToQueue
fpcLnTg_ToQueue:
/* 80023634 00020574 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80023638 00020578 7C 08 02 A6 */ mflr r0
/* 8002363C 0002057C 90 01 00 14 */ stw r0, 0x14(r1)
/* 80023640 00020580 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80023644 00020584 93 C1 00 08 */ stw r30, 8(r1)
/* 80023648 00020588 7C 7E 1B 78 */ mr r30, r3
/* 8002364C 0002058C 7C 9F 23 78 */ mr r31, r4
/* 80023650 00020590 38 6D 80 58 */ addi r3, r13, lbl_804505D8-_SDA_BASE_
/* 80023654 00020594 7F C5 F3 78 */ mr r5, r30
/* 80023658 00020598 48 24 32 75 */ bl cTg_AdditionToTree
/* 8002365C 0002059C 2C 03 00 00 */ cmpwi r3, 0
/* 80023660 000205A0 41 82 00 10 */ beq lbl_80023670
/* 80023664 000205A4 93 FE 00 14 */ stw r31, 0x14(r30)
/* 80023668 000205A8 38 60 00 01 */ li r3, 1
/* 8002366C 000205AC 48 00 00 08 */ b lbl_80023674
lbl_80023670:
/* 80023670 000205B0 38 60 00 00 */ li r3, 0
lbl_80023674:
/* 80023674 000205B4 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80023678 000205B8 83 C1 00 08 */ lwz r30, 8(r1)
/* 8002367C 000205BC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80023680 000205C0 7C 08 03 A6 */ mtlr r0
/* 80023684 000205C4 38 21 00 10 */ addi r1, r1, 0x10
/* 80023688 000205C8 4E 80 00 20 */ blr
.global fpcLnTg_Init
fpcLnTg_Init:
/* 8002368C 000205CC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80023690 000205D0 7C 08 02 A6 */ mflr r0
/* 80023694 000205D4 90 01 00 14 */ stw r0, 0x14(r1)
/* 80023698 000205D8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8002369C 000205DC 7C 7F 1B 78 */ mr r31, r3
/* 800236A0 000205E0 48 24 33 95 */ bl cTg_Create
/* 800236A4 000205E4 38 00 FF FF */ li r0, -1
/* 800236A8 000205E8 90 1F 00 14 */ stw r0, 0x14(r31)
/* 800236AC 000205EC 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 800236B0 000205F0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 800236B4 000205F4 7C 08 03 A6 */ mtlr r0
/* 800236B8 000205F8 38 21 00 10 */ addi r1, r1, 0x10
/* 800236BC 000205FC 4E 80 00 20 */ blr
-17
View File
@@ -1,17 +0,0 @@
.include "macros.inc"
.section .text, "ax" # 80023764
.global fpcMtdIt_Method
fpcMtdIt_Method:
/* 80023764 000206A4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80023768 000206A8 7C 08 02 A6 */ mflr r0
/* 8002376C 000206AC 90 01 00 14 */ stw r0, 0x14(r1)
/* 80023770 000206B0 38 A0 00 00 */ li r5, 0
/* 80023774 000206B4 48 24 28 ED */ bl cLsIt_Method
/* 80023778 000206B8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8002377C 000206BC 7C 08 03 A6 */ mtlr r0
/* 80023780 000206C0 38 21 00 10 */ addi r1, r1, 0x10
/* 80023784 000206C4 4E 80 00 20 */ blr
-64
View File
@@ -1,64 +0,0 @@
.include "macros.inc"
.section .text, "ax" # 80023788
.global fpcMtdTg_Do
fpcMtdTg_Do:
/* 80023788 000206C8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8002378C 000206CC 7C 08 02 A6 */ mflr r0
/* 80023790 000206D0 90 01 00 14 */ stw r0, 0x14(r1)
/* 80023794 000206D4 7C 64 1B 78 */ mr r4, r3
/* 80023798 000206D8 80 63 00 18 */ lwz r3, 0x18(r3)
/* 8002379C 000206DC 81 84 00 14 */ lwz r12, 0x14(r4)
/* 800237A0 000206E0 7D 89 03 A6 */ mtctr r12
/* 800237A4 000206E4 4E 80 04 21 */ bctrl
/* 800237A8 000206E8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 800237AC 000206EC 7C 08 03 A6 */ mtlr r0
/* 800237B0 000206F0 38 21 00 10 */ addi r1, r1, 0x10
/* 800237B4 000206F4 4E 80 00 20 */ blr
.global fpcMtdTg_ToMethodQ
fpcMtdTg_ToMethodQ:
/* 800237B8 000206F8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 800237BC 000206FC 7C 08 02 A6 */ mflr r0
/* 800237C0 00020700 90 01 00 14 */ stw r0, 0x14(r1)
/* 800237C4 00020704 48 24 32 21 */ bl cTg_Addition
/* 800237C8 00020708 80 01 00 14 */ lwz r0, 0x14(r1)
/* 800237CC 0002070C 7C 08 03 A6 */ mtlr r0
/* 800237D0 00020710 38 21 00 10 */ addi r1, r1, 0x10
/* 800237D4 00020714 4E 80 00 20 */ blr
.global fpcMtdTg_MethodQTo
fpcMtdTg_MethodQTo:
/* 800237D8 00020718 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 800237DC 0002071C 7C 08 02 A6 */ mflr r0
/* 800237E0 00020720 90 01 00 14 */ stw r0, 0x14(r1)
/* 800237E4 00020724 48 24 31 C1 */ bl cTg_SingleCut
/* 800237E8 00020728 80 01 00 14 */ lwz r0, 0x14(r1)
/* 800237EC 0002072C 7C 08 03 A6 */ mtlr r0
/* 800237F0 00020730 38 21 00 10 */ addi r1, r1, 0x10
/* 800237F4 00020734 4E 80 00 20 */ blr
.global fpcMtdTg_Init
fpcMtdTg_Init:
/* 800237F8 00020738 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 800237FC 0002073C 7C 08 02 A6 */ mflr r0
/* 80023800 00020740 90 01 00 24 */ stw r0, 0x24(r1)
/* 80023804 00020744 39 61 00 20 */ addi r11, r1, 0x20
/* 80023808 00020748 48 33 E9 D5 */ bl _savegpr_29
/* 8002380C 0002074C 7C 7D 1B 78 */ mr r29, r3
/* 80023810 00020750 7C 9E 23 78 */ mr r30, r4
/* 80023814 00020754 7C BF 2B 78 */ mr r31, r5
/* 80023818 00020758 7F A4 EB 78 */ mr r4, r29
/* 8002381C 0002075C 48 24 32 19 */ bl cTg_Create
/* 80023820 00020760 93 DD 00 14 */ stw r30, 0x14(r29)
/* 80023824 00020764 93 FD 00 18 */ stw r31, 0x18(r29)
/* 80023828 00020768 38 60 00 01 */ li r3, 1
/* 8002382C 0002076C 39 61 00 20 */ addi r11, r1, 0x20
/* 80023830 00020770 48 33 E9 F9 */ bl _restgpr_29
/* 80023834 00020774 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80023838 00020778 7C 08 03 A6 */ mtlr r0
/* 8002383C 0002077C 38 21 00 20 */ addi r1, r1, 0x20
/* 80023840 00020780 4E 80 00 20 */ blr
+3 -2
View File
@@ -2,6 +2,7 @@
OBJDUMP="$DEVKITPPC/bin/powerpc-eabi-objdump -D -bbinary -EB -mpowerpc -M gekko"
OPTIONS="--start-address=$(($1)) --stop-address=$(($1 + $2))"
echo $OPTIONS
$OBJDUMP $OPTIONS baserom.dol > baserom.dump
$OBJDUMP $OPTIONS main.dol > main.dump
diff -u --color=always baserom.dump main.dump
$OBJDUMP $OPTIONS build/dolzel2/main.dol > main.dump
diff -u --color=always baserom.dump main.dump
@@ -8,10 +8,11 @@ class JKRHeap;
class JKRDisposer {
public:
JKRDisposer();
~JKRDisposer();
virtual ~JKRDisposer();
virtual void callAllDisposer() = 0;
public:
void** __vt;
JKRHeap* heap;
JSUPtrLink ptr_link;
};
+37 -10
View File
@@ -1,3 +1,5 @@
#ifndef __JKRHEAP_H__
#define __JKRHEAP_H__
#include "dolphin/types.h"
#include "JSystem/JKernel/JKRDisposer/JKRDisposer.h"
@@ -6,11 +8,11 @@ typedef void (*JKRErrorHandler)(void*, unsigned long, int);
class JKRHeap : JKRDisposer {
public:
JKRHeap(void*, u32, JKRHeap*, bool);
~JKRHeap();
virtual ~JKRHeap();
static bool initArena(char**, u32*, int);
void becomeSystemHeap();
void becomeCurrentHeap();
JKRHeap* becomeSystemHeap();
JKRHeap* becomeCurrentHeap();
void destroy();
static void* alloc(u32 size, int alignment, JKRHeap* heap);
@@ -19,7 +21,6 @@ class JKRHeap : JKRDisposer {
static void free(void* ptr, JKRHeap* heap);
void free(void* ptr);
void callAllDisposer();
void freeAll();
void freeTail();
@@ -30,17 +31,17 @@ class JKRHeap : JKRDisposer {
s32 getSize(void* ptr);
s32 getFreeSize();
u32 getMaxFreeBlock();
u32 getTotalFreeSize();
s32 getMaxFreeBlock();
s32 getTotalFreeSize();
u8 changeGroupID(u8 param_1);
u32 getMaxAllocatableSize(int alignment);
s32 getMaxAllocatableSize(int alignment);
static JKRHeap* findFromRoot(void* ptr);
JKRHeap* find(void* ptr) const;
JKRHeap* findAllHeap(void* ptr) const;
void dispose_subroutine(u32 begin, u32 end);
void dispose(void* ptr, u32 size);
bool dispose(void* ptr, u32 size);
void dispose(void* begin, void* end);
void dispose();
@@ -52,6 +53,29 @@ class JKRHeap : JKRDisposer {
bool isSubHeap(JKRHeap* heap) const;
protected:
void callAllDisposer();
virtual void vt_func4() = 0;
virtual void vt_func5() = 0;
virtual void dump_sort();
virtual void vt_func7() = 0;
virtual void do_destroy() = 0;
virtual void* do_alloc(u32 size, int alignment) = 0;
virtual void do_free(void* ptr) = 0;
virtual void do_freeAll() = 0;
virtual void do_freeTail() = 0;
virtual void vt_func13() = 0;
virtual s32 do_resize(void* ptr, u32 size) = 0;
virtual s32 do_getSize(void* ptr) = 0;
virtual s32 do_getFreeSize() = 0;
virtual s32 do_getMaxFreeBlock() = 0;
virtual s32 do_getTotalFreeSize() = 0;
virtual u8 do_changeGroupID(u8 param_1);
virtual void do_getCurrent();
virtual void state_register();
virtual void state_compare();
virtual void state_dump();
public:
u8 mutex[24];
u32 begin;
@@ -64,8 +88,9 @@ class JKRHeap : JKRDisposer {
JSUPtrList child_list;
JSUPtrLink heap_link;
JSUPtrList disposable_list;
bool error_handler;
bool error_flag;
u8 field_0x69;
u8 field_0x6a[2];
};
void* operator new(u32 size);
@@ -77,4 +102,6 @@ void* operator new[](u32 size, int alignment);
void* operator new[](u32 size, JKRHeap* heap, int alignment);
void operator delete(void* ptr);
void operator delete[](void* ptr);
void operator delete[](void* ptr);
#endif
+16 -5
View File
@@ -6,11 +6,11 @@
class JSUPtrList;
class JSUPtrLink {
public:
JSUPtrLink(void*);
JSUPtrLink(void* owner);
~JSUPtrLink();
public:
void* unk0;
void* owner;
JSUPtrList* list;
JSUPtrLink* prev;
JSUPtrLink* next;
@@ -35,13 +35,24 @@ class JSUPtrList {
u32 length;
};
template <typename T>
class JSUList : JSUPtrList {
public:
JSUList() : JSUPtrList(true) {}
~JSUList() {};
JSUList() : JSUPtrList(true) {
}
~JSUList(){};
void append(T* value) {
list.append(&value->ptr_link);
}
void prepend(T* value) {
list.prepend(&value->ptr_link);
}
void remove(T* value) {
list.remove(&value->ptr_link);
}
};
#endif
+24
View File
@@ -0,0 +1,24 @@
#ifndef SCOMPONENT_C_LIST_H
#define SCOMPONENT_C_LIST_H
#include "SComponent/c_node.h"
struct node_list_class {
node_class *mpHead;
node_class *mpTail;
int mSize;
};
extern "C" {
void cLs_Init(node_list_class *pList);
int cLs_SingleCut(node_class *pNode);
int cLs_Addition(node_list_class *pList, node_class *pNode);
int cLs_Insert(node_list_class *pList, int idx, node_class *pNode);
node_class * cLs_GetFirst(node_list_class *pList);
void cLs_Create(node_list_class *pList);
};
#endif
+15
View File
@@ -0,0 +1,15 @@
#ifndef SCOMPONENT_C_LIST_ITER_H
#define SCOMPONENT_C_LIST_ITER_H
#include "SComponent/c_list.h"
#include "SComponent/c_node_iter.h"
extern "C" {
int cLsIt_Method(node_list_class *pList, cNdIt_MethodFunc pMethod, void *pUserData);
void * cLsIt_Judge(node_list_class *pList, cNdIt_JudgeFunc pJudge, void *pUserData);
};
#endif
+29
View File
@@ -0,0 +1,29 @@
#ifndef SCOMPONENT_C_NODE_H
#define SCOMPONENT_C_NODE_H
struct node_class {
node_class *mpPrevNode;
void *mpData;
node_class *mpNextNode;
};
extern "C" {
void cNd_Join(node_class *pA, node_class *pB);
int cNd_LengthOf(node_class *pNode);
node_class * cNd_First(node_class *pNode);
node_class * cNd_Last(node_class *pNode);
node_class * cNd_Order(node_class *pNode, int idx);
void cNd_SingleCut(node_class *pNode);
void cNd_Cut(node_class *pNode);
void cNd_Addition(node_class *pA, node_class *pB);
void cNd_Insert(node_class *pA, node_class *pB);
void cNd_SetObject(node_class *pNode, void *pData);
void cNd_ClearObject(node_class *pNode);
void cNd_ForcedClear(node_class *pNode);
void cNd_Create(node_class *pNode, void *pData);
};
#endif
+17
View File
@@ -0,0 +1,17 @@
#ifndef SCOMPONENT_C_NODE_ITER_H
#define SCOMPONENT_C_NODE_ITER_H
#include "SComponent/c_node.h"
extern "C" {
typedef int (*cNdIt_MethodFunc)(node_class *pNode, void *pUserData);
int cNdIt_Method(node_class *pNode, cNdIt_MethodFunc pMethod, void *pUserData);
typedef void * (*cNdIt_JudgeFunc)(node_class *pNode, void *pUserData);
void * cNdIt_Judge(node_class *pNode, cNdIt_JudgeFunc pJudge, void *pUserData);
};
#endif
+32
View File
@@ -0,0 +1,32 @@
#ifndef SCOMPONENT_C_PHASE_H
#define SCOMPONENT_C_PHASE_H
typedef int (*cPhs__Handler)(void *);
enum cPhs__Step {
cPhs_ZERO_e = 0x00,
// names from Wind Waker debug strings
cPhs_COMPLEATE_e = 0x04,
cPhs_ERROR_e = 0x05,
cPhs_NEXT_e = 0x06,
};
struct request_of_phase_process_class {
cPhs__Handler *mpHandlerTable;
int mPhaseStep;
};
extern "C" {
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);
int cPhs_Compleate(request_of_phase_process_class *pPhase);
int cPhs_Next(request_of_phase_process_class *pPhase);
int cPhs_Do(request_of_phase_process_class *pPhase, void *pUserData);
int cPhs_Handler(request_of_phase_process_class *pPhase, cPhs__Handler *pHandlerTable, void *pUserData);
};
#endif
+28
View File
@@ -0,0 +1,28 @@
#ifndef SCOMPONENT_C_TAG_H
#define SCOMPONENT_C_TAG_H
#include "global.h"
#include "SComponent/c_node.h"
#include "SComponent/c_list.h"
#include "SComponent/c_tree.h"
struct create_tag_class : public node_class {
void *mpTagData;
s8 mbIsUse;
};
extern "C" {
int cTg_IsUse(create_tag_class *pTag);
int cTg_SingleCutFromTree(create_tag_class *pTag);
int cTg_AdditionToTree(node_lists_tree_class *pTree, int listIdx, create_tag_class *pTag);
int cTg_InsertToTree(node_lists_tree_class *pTree, int listIdx, create_tag_class *pTag, int idx);
node_class * cTg_GetFirst(node_list_class *pTag);
int cTg_SingleCut(create_tag_class *pTag);
int cTg_Addition(node_list_class *pList, create_tag_class *pTag);
void cTg_Create(create_tag_class *pTag, void *pData);
};
#endif
+25
View File
@@ -0,0 +1,25 @@
#ifndef SCOMPONENT_C_TAG_ITER_H
#define SCOMPONENT_C_TAG_ITER_H
#include "SComponent/c_tag.h"
#include "SComponent/c_node_iter.h"
struct method_filter {
cNdIt_MethodFunc mpMethodFunc;
void *mpUserData;
};
struct judge_filter {
cNdIt_JudgeFunc mpJudgeFunc;
void *mpUserData;
};
extern "C" {
int cTgIt_MethodCall(create_tag_class *pTag, method_filter *pMethodFilter);
void * cTgIt_JudgeFilter(create_tag_class *pTag, judge_filter *pJudgeFilter);
};
#endif
+23
View File
@@ -0,0 +1,23 @@
#ifndef SCOMPONENT_C_TREE_H
#define SCOMPONENT_C_TREE_H
#include "global.h"
#include "SComponent/c_list.h"
#include "SComponent/c_node.h"
struct node_lists_tree_class {
node_list_class *mpLists;
int mNumLists;
};
extern "C" {
int cTr_SingleCut(node_class *pNode);
int cTr_Addition(node_lists_tree_class *pTree, int listIdx, node_class *pNode);
int cTr_Insert(node_lists_tree_class *pTree, int listIdx, node_class *pNode, int idx);
void cTr_Create(node_lists_tree_class *pTree, node_list_class *pLists, int numLists);
};
#endif
+15
View File
@@ -0,0 +1,15 @@
#ifndef SCOMPONENT_C_TREE_ITER_H
#define SCOMPONENT_C_TREE_ITER_H
#include "SComponent/c_tree.h"
#include "SComponent/c_node_iter.h"
extern "C" {
int cTrIt_Method(node_lists_tree_class *pTree, cNdIt_MethodFunc pJudgeFunc, void *pUserData);
void * cTrIt_Judge(node_lists_tree_class *pTree, cNdIt_JudgeFunc pJudgeFunc, void *pUserData);
};
#endif
+1 -1
View File
@@ -29,6 +29,6 @@ typedef int BOOL;
#define TRUE 1
#define FALSE 0
#define NULL ((void*)0)
#define NULL (0)
#endif
+43
View File
@@ -0,0 +1,43 @@
#ifndef F_PC_BASE_H
#define F_PC_BASE_H
#include "global.h"
#include "SComponent/c_tag.h"
#include "f/f_pc/f_pc_line_tag.h"
#include "f/f_pc/f_pc_layer_tag.h"
#include "f/f_pc/f_pc_delete_tag.h"
#include "f/f_pc/f_pc_priority.h"
struct create_request;
struct profile_method_class;
struct base_process_class {
u32 mBsType;
u32 mBsPcId;
s16 mProcName;
u8 mUnk0;
u8 mUnk1;
s8 mInitState;
u8 mUnk2;
s16 mBsTypeId;
void *mpProf;
create_request *mpCtRq;
layer_management_tag_class mLyTg;
line_tag mLnTg;
delete_tag_class mDtTg;
process_priority_class mPi;
profile_method_class *mpPcMtd;
void *mpUserData;
u32 mParameters;
u32 mSubType;
};
extern "C" {
extern int fpcBs_Is_JustOfType(int a, int b);
extern int fpcBs_Execute(base_process_class *pProc);
};
#endif
+14
View File
@@ -0,0 +1,14 @@
#ifndef F_PC_CREATE_ITER_H
#define F_PC_CREATE_ITER_H
#include "SComponent/c_node_iter.h"
extern "C" {
int fpcCtIt_Method(cNdIt_MethodFunc pJudge, void *pUserData);
void * fpcCtIt_Judge(cNdIt_JudgeFunc pJudge, void *pUserData);
};
#endif
+46
View File
@@ -0,0 +1,46 @@
#ifndef F_PC_CREATE_REQ_H
#define F_PC_CREATE_REQ_H
#include "global.h"
#include "SComponent/c_phase.h"
#include "SComponent/c_tag.h"
#include "f/f_pc/f_pc_create_tag.h"
#include "f/f_pc/f_pc_method.h"
#include "f/f_pc/f_pc_method_tag.h"
struct base_process_class;
struct layer_class;
struct create_request_method_class {
cPhs__Handler mpHandler;
process_method_func mpCancel;
process_method_func mpDelete;
};
struct create_request : public create_tag {
s8 mbIsCreating;
s8 mbIsCancelling;
process_method_tag_class mMtdTg;
create_request_method_class *mpCtRqMtd;
void *mpUnk1;
int mBsPcId;
base_process_class *mpRes;
layer_class *mpLayer;
};
extern "C" {
bool fpcCtRq_isCreatingByID(create_tag *pTag, int *pId);
bool fpcCtRq_IsCreatingByID(unsigned int id);
void fpcCtRq_CreateQTo(create_request *pReq);
void fpcCtRq_ToCreateQ(create_request *pReq);
bool fpcCtRq_Delete(create_request *pReq);
bool fpcCtRq_Cancel(create_request *pReq);
int fpcCtRq_IsDoing(create_request *pReq);
void fpcCtRq_Handler(void);
create_request * fpcCtRq_Create(layer_class *pLayer, unsigned long size, create_request_method_class *pCtRqMtd);
};
#endif
+19
View File
@@ -0,0 +1,19 @@
#ifndef F_PC_CREATE_TAG_H
#define F_PC_CREATE_TAG_H
#include "global.h"
#include "SComponent/c_tag.h"
struct create_tag : public create_tag_class {
};
extern "C" {
void fpcCtTg_ToCreateQ(create_tag_class *pTag);
void fpcCtTg_CreateQTo(create_tag_class *pTag);
int fpcCtTg_Init(create_tag *pTag, void *pUserData);
};
#endif
+18
View File
@@ -0,0 +1,18 @@
#ifndef F_PC_CREATOR_H
#define F_PC_CREATOR_H
#include "global.h"
struct base_process_class;
extern "C" {
bool fpcCt_IsCreatingByID(unsigned int id);
int fpcCt_IsDoing(base_process_class *pProc);
void fpcCt_Abort(base_process_class *pProc);
void fpcCt_Handler(void);
};
#endif
+27
View File
@@ -0,0 +1,27 @@
#ifndef F_PC_DELETE_TAG_H
#define F_PC_DELETE_TAG_H
#include "global.h"
#include "SComponent/c_tag.h"
struct layer_class;
typedef int (*delete_tag_func)(void*);
struct delete_tag_class : public create_tag_class {
layer_class *mpLayer;
s16 mTimer;
};
extern "C" {
bool fpcDtTg_IsEmpty(delete_tag_class *pTag);
void fpcDtTg_ToDeleteQ(delete_tag_class *pTag);
void fpcDtTg_DeleteQTo(delete_tag_class *pTag);
int fpcDtTg_Do(delete_tag_class *pTag, delete_tag_func pFunc);
int fpcDtTg_Init(delete_tag_class *pTag, void *pUserData);
};
#endif
+19
View File
@@ -0,0 +1,19 @@
#ifndef F_PC_DELETOR_H
#define F_PC_DELETOR_H
#include "global.h"
struct base_process_class;
extern "C" {
bool fpcDt_IsComplete(void);
int fpcDt_ToDeleteQ(base_process_class *pProc);
int fpcDt_ToQueue(base_process_class *pProc);
void fpcDt_Handler(void);
int fpcDt_Delete(base_process_class *pProc);
};
#endif
+17
View File
@@ -0,0 +1,17 @@
#ifndef F_PC_DRAW_PRIORITY_H
#define F_PC_DRAW_PRIORITY_H
struct draw_priority_class {
short mPriority;
};
extern "C" {
int fpcDwPi_Get(draw_priority_class *pDwPi);
void fpcDwPi_Set(draw_priority_class *pDwPi, int p);
void fpcDwPi_Init(draw_priority_class *pDwPi, int p);
};
#endif
+18
View File
@@ -0,0 +1,18 @@
#ifndef F_PC_EXECUTOR_H
#define F_PC_EXECUTOR_H
#include "SComponent/c_node_iter.h"
struct base_process_class;
extern "C" {
int fpcEx_ToLineQ(base_process_class *pProc);
int fpcEx_ExecuteQTo(base_process_class *pProc);
int fpcEx_ToExecuteQ(base_process_class *pProc);
void fpcEx_Handler(cNdIt_MethodFunc pFunc);
};
#endif
+54
View File
@@ -0,0 +1,54 @@
#ifndef F_PC_LAYER_H
#define F_PC_LAYER_H
#include "global.h"
#include "SComponent/c_node.h"
#include "SComponent/c_tree.h"
#include "SComponent/c_tag.h"
struct process_method_tag_class;
struct process_node_class;
struct layer_class : public node_class {
u32 mLayerID;
node_lists_tree_class mNodeListTree;
process_node_class *mpPcNode;
node_lists_tree_class mCancelListTree;
void *mpUnk0;
short mCreatingCount;
short mDeletingCount;
};
extern "C" {
void fpcLy_SetCurrentLayer(layer_class *pLayer);
layer_class * fpcLy_CurrentLayer(void);
layer_class * fpcLy_RootLayer(void);
layer_class * fpcLy_Layer(unsigned int id);
layer_class * fpcLy_Search(unsigned int id);
void fpcLy_Regist(layer_class *pLayer);
void fpcLy_CreatedMesg(layer_class *pLayer);
void fpcLy_CreatingMesg(layer_class *pLayer);
void fpcLy_DeletedMesg(layer_class *pLayer);
void fpcLy_DeletingMesg(layer_class *pLayer);
int fpcLy_IsCreatingMesg(layer_class *pLayer);
int fpcLy_IsDeletingMesg(layer_class *pLayer);
void fpcLy_IntoQueue(layer_class *pLayer, int treeListIdx, create_tag_class *pTag, int idx);
void fpcLy_ToQueue(layer_class *pLayer, int treeListIdx, create_tag_class *pTag);
void fpcLy_QueueTo(layer_class *pLayer, create_tag_class *pTag);
void fpcLy_Cancel(layer_class *pLayer);
int fpcLy_CancelMethod(layer_class *pLayer);
void fpcLy_CancelQTo(process_method_tag_class *pMthd);
void fpcLy_ToCancelQ(layer_class *pLayer, process_method_tag_class *pMthd);
void fpcLy_Create(layer_class *pLayer, void *pPcNode, node_list_class *pLists, int listNum);
void fpcLy_Delete(layer_class *pLayer);
};
#endif
+16
View File
@@ -0,0 +1,16 @@
#ifndef F_PC_LAYER_TAG_H
#define F_PC_LAYER_TAG_H
#include "global.h"
#include "SComponent/c_tag.h"
struct layer_class;
struct layer_management_tag_class : public create_tag_class {
layer_class *mpLayer;
s16 mNodeListID;
s16 mNodeListIdx;
};
#endif
+28
View File
@@ -0,0 +1,28 @@
#ifndef F_PC_LEAF_H
#define F_PC_LEAF_H
#include "f/f_pc/f_pc_base.h"
#include "f/f_pc/f_pc_draw_priority.h"
#include "f/f_pc/f_pc_method.h"
struct leafdraw_method_class : public process_method_class {
process_method_func mpDrawFunc;
};
struct leafdraw_class : public base_process_class {
leafdraw_method_class *mpDrawMtd;
u8 mbUnk0;
u8 mbUnk1;
draw_priority_class mDwPi;
};
extern "C" {
int fpcLf_GetPriority(leafdraw_class *pLeaf);
int fpcLf_DrawMethod(leafdraw_method_class *pMthd, void *pUserData);
int fpcLf_Draw(leafdraw_class *pMthd);
};
#endif
+13
View File
@@ -0,0 +1,13 @@
#ifndef F_PC_LINE_ITER_H
#define F_PC_LINE_ITER_H
#include "SComponent/c_node_iter.h"
extern "C" {
void fpcLnIt_Queue(cNdIt_MethodFunc pFunc);
};
#endif
+20
View File
@@ -0,0 +1,20 @@
#ifndef F_PC_LINE_TAG_H
#define F_PC_LINE_TAG_H
#include "SComponent/c_tag.h"
struct line_tag : public create_tag_class {
int mLineListID;
};
extern "C" {
int fpcLnTg_Move(line_tag *pLineTag, int newLineListID);
void fpcLnTg_QueueTo(line_tag *pLineTag);
int fpcLnTg_ToQueue(line_tag *pLineTag, int lineListID);
void fpcLnTg_Init(line_tag *pLineTag, void *pData);
};
#endif
+16
View File
@@ -0,0 +1,16 @@
#ifndef F_PC_LOAD_H
#define F_PC_LOAD_H
#include "global.h"
extern "C" {
bool fpcLd_Use(u16 procName);
int fpcLd_IsLoaded(u16 procName);
void fpcLd_Free(u16 procName);
int fpcLd_Load(u16 procName);
};
#endif
+24
View File
@@ -0,0 +1,24 @@
#ifndef F_PC_METHOD_H
#define F_PC_METHOD_H
typedef int (*process_method_func)(void *);
struct process_method_class {
process_method_func mpCreateFunc;
process_method_func mpDeleteFunc;
process_method_func mpExecuteFunc;
process_method_func mpIsDeleteFunc;
};
extern "C" {
int fpcMtd_Method(process_method_func pFunc, void *pUserData);
int fpcMtd_Execute(process_method_class *pMthd, void *pUserData);
int fpcMtd_IsDelete(process_method_class *pMthd, void *pUserData);
int fpcMtd_Delete(process_method_class *pMthd, void *pUserData);
int fpcMtd_Create(process_method_class *pMthd, void *pUserData);
};
#endif
+13
View File
@@ -0,0 +1,13 @@
#ifndef F_PC_METHOD_ITER_H
#define F_PC_METHOD_ITER_H
#include "SComponent/c_list_iter.h"
extern "C" {
void fpcMtdIt_Method(node_list_class *pList, cNdIt_MethodFunc pMethod);
};
#endif
+21
View File
@@ -0,0 +1,21 @@
#ifndef F_PC_METHOD_TAG_H
#define F_PC_METHOD_TAG_H
#include "SComponent/c_tag.h"
typedef int (*process_method_tag_func)(void *);
struct process_method_tag_class : public create_tag_class {
process_method_tag_func mpFunc;
void *mpMthdData;
};
extern "C" {
void fpcMtdTg_MethodQTo(process_method_tag_class *pMthd);
int fpcMtdTg_Init(process_method_tag_class *pMthd, process_method_tag_func pFunc, void *pMthdData);
};
#endif
+23
View File
@@ -0,0 +1,23 @@
#ifndef F_PC_NODE_H
#define F_PC_NODE_H
#include "f/f_pc/f_pc_base.h"
#include "f/f_pc/f_pc_method.h"
#include "f/f_pc/f_pc_layer.h"
struct process_node_class : public base_process_class {
process_method_class *mpNodeMtd;
layer_class mLayer;
node_list_class mLayerNodeLists[16];
u8 mUnk0;
};
extern "C" {
int fpcNd_Create(process_node_class *pNode);
bool fpcNd_IsDeleteTiming(void);
};
#endif
+32
View File
@@ -0,0 +1,32 @@
#ifndef F_PC_PRIORITY_H
#define F_PC_PRIORITY_H
#include "global.h"
#include "SComponent/c_tag.h"
#include "f/f_pc/f_pc_method_tag.h"
struct process_priority_class : public create_tag_class {
process_method_tag_class mMtdTag;
struct {
u32 mLayer;
u16 mListID;
u16 mListPrio;
} a, b;
};
extern "C" {
int fpcPi_IsInQueue(process_priority_class *pProc);
int fpcPi_QueueTo(process_priority_class *pProc);
int fpcPi_ToQueue(process_priority_class *pProc);
process_priority_class * fpcPi_GetFromQueue(void);
int fpcPi_Delete(process_priority_class *pProc);
int fpcPi_IsNormal(process_priority_class *pProc);
int fpcPi_Change(process_priority_class *pProc, unsigned int layer, unsigned short listID, unsigned short priority);
void fpcPi_Handler(void);
int fpcPi_Init(process_priority_class *pProc, void *pUserData, unsigned int layer, unsigned short listID, unsigned short priority);
};
#endif
+13
View File
@@ -0,0 +1,13 @@
#ifndef F_PC_PROFILE_H
#define F_PC_PROFILE_H
#include "global.h"
extern "C" {
void * fpcPf_Get(s16 profileID);
};
#endif
+16
View File
@@ -0,0 +1,16 @@
#ifndef F_PC_SEARCHER_H
#define F_PC_SEARCHER_H
#include "global.h"
struct base_process_class;
extern "C" {
void * fpcSch_JudgeForPName(base_process_class *pProc, void *pUserData);
void * fpcSch_JudgeByID(base_process_class *pProc, void *pUserData);
};
#endif
+7 -6
View File
@@ -156,12 +156,7 @@ extern "C" {
// OS
extern "C" {
void OSInitMutex(void);
void OSGetArenaLo(void);
void OSGetArenaHi(void);
void OSInitAlloc(void);
void OSSetArenaLo(void);
void OSSetArenaHi(void);
void OSInitMutex(u8[24]);
void OSEnableScheduler(void);
void OSDisableScheduler(void);
void OSCheckActiveThreads(void);
@@ -178,6 +173,12 @@ extern "C" {
void OSReportInit(void);
void OSGetCurrentThread(void);
void OSTicksToCalendarTime(void);
u32 OSGetArenaLo();
u32 OSGetArenaHi();
u32 OSInitAlloc(u32 low, u32 high, int param_3);
void OSSetArenaLo(u32 param_1);
void OSSetArenaHi(u32 param_1);
}
// DVD
+2
View File
@@ -1,6 +1,8 @@
#ifndef _global_h_
#define _global_h_
#define ARRAY_SIZE(o) (sizeof((o)) / sizeof(*(o)))
#include "dolphin/types.h"
#include "functions.h"
+11 -5
View File
@@ -81,11 +81,12 @@ extern u8 lbl_803BB498;
#define _SDA2_BASE_(dummy) 0
// func_802CE138
extern u32 lbl_803CBF70[24];
extern void* lbl_803CBF70; // JKRHeap::__vt
extern void* lbl_80451370; // JKRHeap::sSystemHeap
extern void* lbl_80451378; // JKRHeap::sRootHeap
extern void* lbl_80451374; // JKRHeap::sCurrentHeap
class JKRHeap;
extern JKRHeap* lbl_80451370; // JKRHeap::sSystemHeap
extern JKRHeap* lbl_80451378; // JKRHeap::sRootHeap
extern JKRHeap* lbl_80451374; // JKRHeap::sCurrentHeap
extern void* lbl_8045137C; // JKRHeap::mErrorHandler
extern u8 lbl_804508B0[8]; // ::*fill*
@@ -98,9 +99,14 @@ extern void* lbl_8045138C; // JKRHeap::mUserRamStart
extern void* lbl_80451390; // JKRHeap::mUserRamEnd
extern u32 lbl_80451394; // JKRHeap::mMemorySize
extern u8 lbl_80000000;
extern u32 lbl_80000028;
#define OS_GLOBAL(T, ADDR) *((T*)((void*)ADDR))
#define OS_GLOBAL_ADDR(T, ADDR) ((T*)((void*)ADDR))
// func_802CEB40
extern char lbl_8039CAD8[12]; // "JKRHeap.cpp"
// func_802D147C
extern void* lbl_803CC0F0[4]; // JKRDisposer::__vt
extern void* lbl_803CC0F0; // JKRDisposer::__vt
+732 -1
View File
@@ -24,6 +24,737 @@ SECTIONS {
_db_stack_end = _stack_addr;
__ArenaLo = (_db_stack_addr + 0x1f) & ~0x1f;
__ArenaHi = 0x81700000 ;
/* vtables locations */
"__vt__17mDoAud_zelAudio_c" = 0x803a2f40;
"__vt__12JAUSoundInfo" = 0x803a2f4c;
"__vt__7JUTFont" = 0x803a31f0;
"__vt__26mDoExt_3DlineMatSortPacket" = 0x803a3234;
"__vt__19mDoExt_3DlineMat1_c" = 0x803a3248;
"__vt__19mDoExt_3DlineMat0_c" = 0x803a325c;
"__vt__19mDoExt_invJntPacket" = 0x803a3270;
"__vt__15mDoExt_McaMorf2" = 0x803a3284;
"__vt__16mDoExt_McaMorfSO" = 0x803a32b0;
"__vt__15mDoExt_zelAnime" = 0x803a32dc;
"__vt__14mDoExt_McaMorf" = 0x803a32fc;
"__vt__13mDoExt_morf_c" = 0x803a3328;
"__vt__12J3DFrameCtrl" = 0x803a3354;
"__vt__73J3DMtxCalcNoAnm<27J3DMtxCalcCalcTransformMaya,24J3DMtxCalcJ3DSysInitMaya>" = 0x803a3360;
"__vt__19J3DMtxCalcNoAnmBase" = 0x803a338c;
"__vt__28mDoExt_MtxCalcAnmBlendTblOld" = 0x803a33b8;
"__vt__25mDoExt_MtxCalcAnmBlendTbl" = 0x803a33e4;
"__vt__114J3DMtxCalcAnimation<64J3DMtxCalcAnimationAdaptorDefault<27J3DMtxCalcCalcTransformMaya>,24J3DMtxCalcJ3DSysInitMaya>" = 0x803a3410;
"__vt__17J3DMtxCalcAnmBase" = 0x803a343c;
"__vt__10J3DMtxCalc" = 0x803a3468;
"__vt__11J3DUClipper" = 0x803a3498;
"__vt__21mDoDvdThd_toMainRam_c" = 0x803a34a8;
"__vt__25mDoDvdThd_mountXArchive_c" = 0x803a34b8;
"__vt__24mDoDvdThd_mountArchive_c" = 0x803a34c8;
"__vt__20mDoDvdThd_callback_c" = 0x803a34d8;
"__vt__19mDoDvdThd_command_c" = 0x803a34e8;
"__vt__24JPTraceParticleCallBack4" = 0x803a3568;
"__vt__19JPAParticleCallBack" = 0x803a357c;
"__vt__11fapGm_HIO_c" = 0x803a35a0;
"__vt__11dEvt_info_c" = 0x803a35d0;
"__vt__8cM3dGPla" = 0x803a37c0;
"__vt__15dBgS_ObjRoofChk" = 0x803a37cc;
"__vt__11dBgS_WtrChk" = 0x803a37fc;
"__vt__14dBgS_ObjGndChk" = 0x803a382c;
"__vt__15dStage_roomDt_c" = 0x803a6aac;
"__vt__16dStage_stageDt_c" = 0x803a6c20;
"__vt__11dStage_dt_c" = 0x803a6d94;
"__vt__12dDlst_base_c" = 0x803a6f88;
"__vt__28dDrawPathWithNormalPattern_c" = 0x803a6f94;
"__vt__15dRenderingMap_c" = 0x803a6fd4;
"__vt__6dMap_c" = 0x803a7030;
"__vt__15renderingAmap_c" = 0x803a70f4;
"__vt__25mDoExt_McaMorfCallBack1_c" = 0x803a71e8;
"__vt__12dCcMassS_Obj" = 0x803a71f4;
"__vt__15cCcD_DivideArea" = 0x803a7200;
"__vt__8cM3dGCyl" = 0x803a720c;
"__vt__8cM3dGAab" = 0x803a7218;
"__vt__15cCcD_DivideInfo" = 0x803a7224;
"__vt__12dCcMassS_Mng" = 0x803a7230;
"__vt__10CSTControl" = 0x803a7250;
"__vt__9STControl" = 0x803a7260;
"__vt__8cM3dGLin" = 0x803a78f8;
"__vt__8cM3dGSph" = 0x803a7904;
"__vt__16dDemo_particle_c" = 0x803a7910;
"__vt__17jmessage_tControl" = 0x803a7928;
"__vt__Q27JStudio13TCreateObject" = 0x803a7934;
"__vt__14dDemo_system_c" = 0x803a7944;
"__vt__11dDemo_fog_c" = 0x803a7994;
"__vt__13dDemo_light_c" = 0x803a79f0;
"__vt__15dDemo_ambient_c" = 0x803a7a5c;
"__vt__14dDemo_camera_c" = 0x803a7aa0;
"__vt__13dDemo_actor_c" = 0x803a7b34;
"__vt__Q27JStudio16TAdaptor_message" = 0x803a7bc0;
"__vt__Q220@unnamed@d_demo_cpp@29jstudio_tCreateObject_message" = 0x803a7be4;
"__vt__Q220@unnamed@d_demo_cpp@24jstudio_tAdaptor_message" = 0x803a7bf4;
"__vt__10J3DAnmBase" = 0x803a7c38;
"__vt__15J3DAnmTransform" = 0x803a7c48;
"__vt__18mDoExt_transAnmBas" = 0x803a7c5c;
"__vt__18J3DAnmTransformKey" = 0x803a7c70;
"__vt__11J3DTexNoAnm" = 0x803a7c84;
"__vt__18dRenderingFDAmap_c" = 0x803a7c90;
"__vt__11dDrawPath_c" = 0x803a7cf8;
"__vt__19dMenuFmapIconDisp_c" = 0x803a7d74;
"__vt__19renderingPlusDoor_c" = 0x803a7d80;
"__vt__28renderingPlusDoorAndCursor_c" = 0x803a7e24;
"__vt__16renderingDAmap_c" = 0x803a7ee0;
"__vt__15dSmplMdl_draw_c" = 0x803a82f8;
"__vt__28dPa_particleTracePcallBack_c" = 0x803a838c;
"__vt__22dPa_hermiteEcallBack_c" = 0x803a83a0;
"__vt__25dPa_gen_d_light8PcallBack" = 0x803a83c4;
"__vt__25dPa_gen_b_light8PcallBack" = 0x803a83d8;
"__vt__19dPa_light8PcallBack" = 0x803a83ec;
"__vt__19dPa_fsenthPcallBack" = 0x803a8400;
"__vt__17dPa_wbPcallBack_c" = 0x803a8414;
"__vt__17dPa_windPcallBack" = 0x803a8434;
"__vt__19dPa_simpleEcallBack" = 0x803a8448;
"__vt__22dPa_selectTexEcallBack" = 0x803a8464;
"__vt__18dPa_modelEcallBack" = 0x803a8488;
"__vt__18dPa_modelPcallBack" = 0x803a84ac;
"__vt__25dPa_gen_d_light8EcallBack" = 0x803a84c0;
"__vt__25dPa_gen_b_light8EcallBack" = 0x803a84e4;
"__vt__19dPa_light8EcallBack" = 0x803a8508;
"__vt__19dPa_followEcallBack" = 0x803a852c;
"__vt__18dPa_levelEcallBack" = 0x803a8554;
"__vt__18JPAEmitterCallBack" = 0x803a8578;
"__vt__21dPa_setColorEcallBack" = 0x803a8594;
"__vt__18dDlst_shadowPoly_c" = 0x803a8dcc;
"__vt__22dDlst_shadowRealPoly_c" = 0x803a8ddc;
"__vt__14ShdwDrawPoly_c" = 0x803a8dec;
"__vt__18dDlst_effectLine_c" = 0x803a8df8;
"__vt__10J2DAnmBase" = 0x803a8e04;
"__vt__11dDlst_blo_c" = 0x803a8e14;
"__vt__10dDlst_2D_c" = 0x803a8e20;
"__vt__12dDlst_2DMt_c" = 0x803a8e2c;
"__vt__11dDlst_2Dm_c" = 0x803a8e38;
"__vt__11dDlst_2DM_c" = 0x803a8e44;
"__vt__12dDlst_2DT2_c" = 0x803a8e5c;
"__vt__11dDlst_2DT_c" = 0x803a8e68;
"__vt__15dDlst_2DPoint_c" = 0x803a8e74;
"__vt__14dDlst_2DQuad_c" = 0x803a8e80;
"__vt__13dDlst_2DTri_c" = 0x803a8e8c;
"__vt__19dKankyo_evil_Packet" = 0x803a9ac0;
"__vt__18dKankyo_mud_Packet" = 0x803a9ad4;
"__vt__20dKankyo_odour_Packet" = 0x803a9ae8;
"__vt__21dKankyo_vrkumo_Packet" = 0x803a9afc;
"__vt__20dKankyo_housi_Packet" = 0x803a9b10;
"__vt__20dKankyo_cloud_Packet" = 0x803a9b24;
"__vt__19dKankyo_star_Packet" = 0x803a9b38;
"__vt__19dKankyo_snow_Packet" = 0x803a9b4c;
"__vt__19dKankyo_rain_Packet" = 0x803a9b60;
"__vt__22dKankyo_sunlenz_Packet" = 0x803a9b74;
"__vt__18dKankyo_sun_Packet" = 0x803a9b88;
"__vt__19dAttDraw_CallBack_c" = 0x803a9c48;
"__vt__15dAttDrawParam_c" = 0x803a9c54;
"__vt__11dAttParam_c" = 0x803a9c60;
"__vt__4dBgS" = 0x803ab608;
"__vt__4cBgS" = 0x803ab61c;
"__vt__11cBgS_ChkElm" = 0x803ab630;
"__vt__9dBgS_Acch" = 0x803ab640;
"__vt__12dBgS_AcchCir" = 0x803ab664;
"__vt__8dBgS_Chk" = 0x803ab670;
"__vt__18dBgS_CamGndChk_Wtr" = 0x803ab688;
"__vt__14dBgS_CamGndChk" = 0x803ab6b8;
"__vt__18dBgS_ObjGndChk_All" = 0x803ab6e8;
"__vt__18dBgS_ObjGndChk_Spl" = 0x803ab718;
"__vt__18dBgS_ObjGndChk_Wtr" = 0x803ab748;
"__vt__11dBgS_GndChk" = 0x803ab778;
"__vt__15dBgS_GrpPassChk" = 0x803ab7a8;
"__vt__15cBgS_GrpPassChk" = 0x803ab7b4;
"__vt__16dBgS_HorseLinChk" = 0x803ab7c0;
"__vt__15dBgS_RopeLinChk" = 0x803ab7f0;
"__vt__20dBgS_BoomerangLinChk" = 0x803ab820;
"__vt__16dBgS_ArrowLinChk" = 0x803ab850;
"__vt__15dBgS_BombLinChk" = 0x803ab880;
"__vt__15dBgS_LinkLinChk" = 0x803ab8b0;
"__vt__14dBgS_ObjLinChk" = 0x803ab8e0;
"__vt__21dBgS_CamLinChk_NorWtr" = 0x803ab910;
"__vt__14dBgS_CamLinChk" = 0x803ab940;
"__vt__11dBgS_LinChk" = 0x803ab970;
"__vt__16dBgS_MoveBgActor" = 0x803ab9a0;
"__vt__11dBgS_SphChk" = 0x803ab9c8;
"__vt__14dBgS_SplGrpChk" = 0x803aba08;
"__vt__16dBgS_PolyPassChk" = 0x803aba38;
"__vt__16cBgS_PolyPassChk" = 0x803aba44;
"__vt__12dBgS_RoofChk" = 0x803aba50;
"__vt__4dBgW" = 0x803aba80;
"__vt__8cM3dGTri" = 0x803abb84;
"__vt__11cBgW_GrpElm" = 0x803abb90;
"__vt__11cBgW_TriElm" = 0x803abb9c;
"__vt__4cBgW" = 0x803abba8;
"__vt__13cBgW_NodeTree" = 0x803abcac;
"__vt__11cBgW_RwgElm" = 0x803abcb8;
"__vt__9dBgW_Base" = 0x803abcc8;
"__vt__9cBgW_BgId" = 0x803abdb8;
"__vt__8dBgWKCol" = 0x803abdc8;
"__vt__6dBgWSv" = 0x803abeb8;
"__vt__8dCcD_Sph" = 0x803abfc0;
"__vt__8dCcD_Cyl" = 0x803ac050;
"__vt__8dCcD_Tri" = 0x803ac0e0;
"__vt__8dCcD_Cps" = 0x803ac170;
"__vt__12dCcD_GObjInf" = 0x803ac200;
"__vt__11dCcD_GObjCo" = 0x803ac22c;
"__vt__11dCcD_GObjTg" = 0x803ac238;
"__vt__11dCcD_GObjAt" = 0x803ac244;
"__vt__22dCcD_GAtTgCoCommonBase" = 0x803ac250;
"__vt__12cCcD_GObjInf" = 0x803ac25c;
"__vt__8cCcD_Obj" = 0x803ac288;
"__vt__10cCcD_ObjCo" = 0x803ac2a8;
"__vt__10cCcD_ObjTg" = 0x803ac2b4;
"__vt__10cCcD_ObjAt" = 0x803ac2c0;
"__vt__18cCcD_ObjCommonBase" = 0x803ac2cc;
"__vt__14cCcD_ObjHitInf" = 0x803ac2d8;
"__vt__9dCcD_Stts" = 0x803ac2e4;
"__vt__10dCcD_GStts" = 0x803ac310;
"__vt__10cCcD_GStts" = 0x803ac31c;
"__vt__4dCcS" = 0x803ac3e4;
"__vt__11dCamSetup_c" = 0x803ac500;
"__vt__11dCamParam_c" = 0x803ac50c;
"__vt__9dCstick_c" = 0x803ac518;
"__vt__6dMdl_c" = 0x803af978;
"__vt__16daPy_frameCtrl_c" = 0x803b2e20;
"__vt__8dEyeHL_c" = 0x803b2e80;
"__vt__16dBgS_LinkRoofChk" = 0x803b2ec8;
"__vt__15dBgS_LinkGndChk" = 0x803b2ef8;
"__vt__13dBgS_LinkAcch" = 0x803b2f28;
"__vt__9daPy_py_c" = 0x803b2f70;
"__vt__12daAlinkHIO_c" = 0x803b321c;
"__vt__9daAlink_c" = 0x803b32b8;
"__vt__16daAlink_matAnm_c" = 0x803b3564;
"__vt__15daAlink_sight_c" = 0x803b3580;
"__vt__20daAlink_lockCursor_c" = 0x803b3590;
"__vt__14daAlink_blur_c" = 0x803b35a0;
"__vt__29dAlink_bottleWaterPcallBack_c" = 0x803b35b4;
"__vt__12dBgS_ObjAcch" = 0x803b35c8;
"__vt__Q29daAlink_c14hsChainShape_c" = 0x803b35ec;
"__vt__12daItemBase_c" = 0x803b3610;
"__vt__18daNpcF_ActorMngr_c" = 0x803b3864;
"__vt__20daNpcF_MoveBgActor_c" = 0x803b3870;
"__vt__8daNpcF_c" = 0x803b38d8;
"__vt__15daNpcF_MatAnm_c" = 0x803b3920;
"__vt__23daBaseNpc_moveBgActor_c" = 0x803b3948;
"__vt__11daBaseNpc_c" = 0x803b39ac;
"__vt__18daBaseNpc_lookat_c" = 0x803b3a14;
"__vt__16daBaseNpc_path_c" = 0x803b3a50;
"__vt__18daBaseNpc_matAnm_c" = 0x803b3a5c;
"__vt__18daBaseNpc_acMngr_c" = 0x803b3a6c;
"__vt__8daNpcT_c" = 0x803b3a78;
"__vt__22daNpcT_MotionSeqMngr_c" = 0x803b3b3c;
"__vt__18daNpcT_ActorMngr_c" = 0x803b3b48;
"__vt__15daNpcT_JntAnm_c" = 0x803b3b54;
"__vt__16daNpcT_Hermite_c" = 0x803b3b60;
"__vt__15daNpcT_MatAnm_c" = 0x803b3b6c;
"__vt__17daNpcCd_HIO_Jnt_c" = 0x803b6184;
"__vt__19daNpcCd_HIO_Child_c" = 0x803b6190;
"__vt__13daNpcCd_HIO_c" = 0x803b619c;
"__vt__18fOpAcm_HIO_entry_c" = 0x803b61a8;
"__vt__14mDoHIO_entry_c" = 0x803b61b4;
"__vt__21daNpcCd2_HIO_MChild_c" = 0x803b9d54;
"__vt__18daNpcCd2_HIO_Jnt_c" = 0x803b9d60;
"__vt__21daNpcCd2_HIO_WChild_c" = 0x803b9d6c;
"__vt__14daNpcCd2_HIO_c" = 0x803b9d78;
"__vt__8daItem_c" = 0x803b9fa4;
"__vt__9dInsect_c" = 0x803ba078;
"__vt__14daObj_SSBase_c" = 0x803ba088;
"__vt__18daPy_sightPacket_c" = 0x803ba14c;
"__vt__14dBgS_CamSphChk" = 0x803ba798;
"__vt__14d2DBSplinePath" = 0x803ba7ec;
"__vt__16dFile_select3D_c" = 0x803bb35c;
"__vt__17dDlst_FileSel3m_c" = 0x803bb368;
"__vt__17dDlst_FileSelYn_c" = 0x803bb378;
"__vt__17dDlst_FileSelCp_c" = 0x803bb388;
"__vt__17dDlst_FileSelDt_c" = 0x803bb398;
"__vt__15dDlst_FileSel_c" = 0x803bb3a8;
"__vt__15J2DAnmTransform" = 0x803bb3b8;
"__vt__10JUTNameTab" = 0x803bb3dc;
"__vt__14dFile_select_c" = 0x803bb3e8;
"__vt__9dFs_HIO_c" = 0x803bb400;
"__vt__16dDlst_FileWarn_c" = 0x803bb44c;
"__vt__15dFile_warning_c" = 0x803bb480;
"__vt__16dDlst_FileInfo_c" = 0x803bb588;
"__vt__12dFile_info_c" = 0x803bb598;
"__vt__19dDlst_BrightCheck_c" = 0x803bb5ec;
"__vt__14dBrightCheck_c" = 0x803bb5fc;
"__vt__8dScope_c" = 0x803bb6b4;
"__vt__11dMeterSub_c" = 0x803bb6d4;
"__vt__16dSelect_cursor_c" = 0x803bb78c;
"__vt__19dSelect_cursorHIO_c" = 0x803bb7a8;
"__vt__9dSi_HIO_c" = 0x803bb7b8;
"__vt__15dShopItemCtrl_c" = 0x803bb888;
"__vt__13dShopSystem_c" = 0x803bba7c;
"__vt__24dDlst_GameOverScrnDraw_c" = 0x803bbd68;
"__vt__12dMenu_save_c" = 0x803bbd78;
"__vt__10dGov_HIO_c" = 0x803bbd90;
"__vt__24dDlst_Gameover_CAPTURE_c" = 0x803bbda8;
"__vt__18dScnKy_env_light_c" = 0x803bc13c;
"__vt__19dDlst_KanteraIcon_c" = 0x803bc218;
"__vt__15dKantera_icon_c" = 0x803bc228;
"__vt__19dMenu_Calibration_c" = 0x803bc364;
"__vt__15dMenu_Collect_c" = 0x803bc75c;
"__vt__20dMenu_Collect2DTop_c" = 0x803bc768;
"__vt__17dMenu_Collect3D_c" = 0x803bc790;
"__vt__17dMenu_Collect2D_c" = 0x803bc7c4;
"__vt__15dMenu_DmapMap_c" = 0x803bcae0;
"__vt__20dMenu_StageMapCtrl_c" = 0x803bcaec;
"__vt__12dMenu_Dmap_c" = 0x803bcb10;
"__vt__14dMenu_DmapBg_c" = 0x803bcb38;
"__vt__19dMenu_DmapMapCtrl_c" = 0x803bcd74;
"__vt__15renderingDmap_c" = 0x803bce68;
"__vt__16dMenuMapCommon_c" = 0x803bd02c;
"__vt__15dMenu_Fishing_c" = 0x803bd074;
"__vt__12dMenu_Fmap_c" = 0x803bd664;
"__vt__9dMf_HIO_c" = 0x803bd670;
"__vt__15dMenu_FmapMap_c" = 0x803bd680;
"__vt__15renderingFmap_c" = 0x803bd6e8;
"__vt__17dMenu_Fmap2DTop_c" = 0x803bd750;
"__vt__18dMenu_Fmap2DBack_c" = 0x803bd760;
"__vt__14dMenu_Insect_c" = 0x803bd8ac;
"__vt__19dMenu_ItemExplain_c" = 0x803bd9f4;
"__vt__14dMenu_Letter_c" = 0x803bdb8c;
"__vt__14dMenu_Option_c" = 0x803bde54;
"__vt__12dMenu_Ring_c" = 0x803bdf5c;
"__vt__16dDlst_MenuSave_c" = 0x803be764;
"__vt__23dDlst_MenuSaveExplain_c" = 0x803be774;
"__vt__9dMs_HIO_c" = 0x803be7cc;
"__vt__13dMenu_Skill_c" = 0x803be8c0;
"__vt__10dMw_DHIO_c" = 0x803be8e0;
"__vt__9dMw_HIO_c" = 0x803be8ec;
"__vt__20dDlst_MENU_CAPTURE_c" = 0x803bf0d4;
"__vt__18dMeter_cursorHIO_c" = 0x803bf0e8;
"__vt__16dMeter_fmapHIO_c" = 0x803bf0f4;
"__vt__19dMeter_mapIconHIO_c" = 0x803bf100;
"__vt__16dMeter_ringHIO_c" = 0x803bf10c;
"__vt__16dMeter_drawHIO_c" = 0x803bf118;
"__vt__25dMeter_drawLightDropHIO_c" = 0x803bf124;
"__vt__24dMeter_drawMiniGameHIO_c" = 0x803bf130;
"__vt__25dMeter_drawEmpButtonHIO_c" = 0x803bf13c;
"__vt__21dMeter_drawSkillHIO_c" = 0x803bf148;
"__vt__27dMeter_drawCalibrationHIO_c" = 0x803bf154;
"__vt__22dMeter_drawInsectHIO_c" = 0x803bf160;
"__vt__23dMeter_drawFishingHIO_c" = 0x803bf16c;
"__vt__22dMeter_drawLetterHIO_c" = 0x803bf178;
"__vt__22dMeter_drawOptionHIO_c" = 0x803bf184;
"__vt__23dMeter_drawCollectHIO_c" = 0x803bf190;
"__vt__16dMeter_menuHIO_c" = 0x803bf19c;
"__vt__14dMeterButton_c" = 0x803bf258;
"__vt__14dMeterHaihai_c" = 0x803bf268;
"__vt__15dMeterHakusha_c" = 0x803bf2b8;
"__vt__11dMeterMap_c" = 0x803bf2f8;
"__vt__14dMeterString_c" = 0x803bf308;
"__vt__13dMeter2Draw_c" = 0x803bf750;
"__vt__13dMeter2Info_c" = 0x803bfa1c;
"__vt__10COutFont_c" = 0x803bfdc4;
"__vt__13COutFontSet_c" = 0x803bfde8;
"__vt__35jmessage_string_tRenderingProcessor" = 0x803c0908;
"__vt__34jmessage_string_tSequenceProcessor" = 0x803c0948;
"__vt__33jmessage_string_tMeasureProcessor" = 0x803c09a0;
"__vt__24jmessage_string_tControl" = 0x803c09e0;
"__vt__26jmessage_string_tReference" = 0x803c09ec;
"__vt__28jmessage_tRenderingProcessor" = 0x803c09fc;
"__vt__27jmessage_tSequenceProcessor" = 0x803c0a3c;
"__vt__26jmessage_tMeasureProcessor" = 0x803c0a94;
"__vt__19jmessage_tReference" = 0x803c0ad4;
"__vt__16dMsgObject_HIO_c" = 0x803c0bd8;
"__vt__20dMsgObject_HowlHIO_c" = 0x803c0be4;
"__vt__10dMsgUnit_c" = 0x803c0bf0;
"__vt__17dMsgScrn3Select_c" = 0x803c0ce8;
"__vt__15dMsgScrnArrow_c" = 0x803c0cf8;
"__vt__14dMsgScrnBase_c" = 0x803c0d58;
"__vt__14dMsgScrnBoss_c" = 0x803c0de8;
"__vt__17dMsgScrnExplain_c" = 0x803c0f6c;
"__vt__14dMsgScrnItem_c" = 0x803c0f78;
"__vt__14dMsgScrnHowl_c" = 0x803c1190;
"__vt__16dMsgScrnJimaku_c" = 0x803c11e8;
"__vt__16dMsgScrnKanban_c" = 0x803c1240;
"__vt__15dMsgScrnLight_c" = 0x803c1298;
"__vt__19dMsgScrnLight_HIO_c" = 0x803c12a4;
"__vt__15dMsgScrnPlace_c" = 0x803c12e8;
"__vt__15dMsgScrnStaff_c" = 0x803c1370;
"__vt__14dMsgScrnTalk_c" = 0x803c13c8;
"__vt__14dMsgScrnTree_c" = 0x803c1420;
"__vt__16dMsgStringBase_c" = 0x803c1478;
"__vt__12dMsgString_c" = 0x803c1498;
"__vt__10dMsgFlow_c" = 0x803c1f40;
"__vt__14dDlst_NameIN_c" = 0x803c2b38;
"__vt__7dName_c" = 0x803c2b64;
"__vt__9dNm_HIO_c" = 0x803c2b7c;
"__vt__16dNpcLib_lookat_c" = 0x803c2b88;
"__vt__15dOvlpFd2_dlst_c" = 0x803c2d5c;
"__vt__15dOvlpFd3_dlst_c" = 0x803c2ddc;
"__vt__16dDlst_snapShot_c" = 0x803c2dec;
"__vt__10JSUIosBase" = 0x803c2df8;
"__vt__8CPaneMgr" = 0x803c2e04;
"__vt__17CPaneMgrAlphaMorf" = 0x803c2e18;
"__vt__13CPaneMgrAlpha" = 0x803c2e28;
"__vt__10dLog_HIO_c" = 0x803c300c;
"__vt__17dScnName_camera_c" = 0x803c3140;
"__vt__9dSn_HIO_c" = 0x803c314c;
"__vt__22dScnPly_env_debugHIO_c" = 0x803c3224;
"__vt__22dScnPly_env_otherHIO_c" = 0x803c3230;
"__vt__17dScnPly_env_HIO_c" = 0x803c323c;
"__vt__17dScnPly_reg_HIO_c" = 0x803c3248;
"__vt__21dScnPly_preLoad_HIO_c" = 0x803c3254;
"__vt__22dSvBit_childOtherHIO_c" = 0x803c3300;
"__vt__26dSvBit_childTransformHIO_c" = 0x803c330c;
"__vt__25dSvBit_childDarknessHIO_c" = 0x803c3318;
"__vt__29dSvBit_childTbPerfectionHIO_c" = 0x803c3324;
"__vt__26dSvBit_childItOneZoneHIO_c" = 0x803c3330;
"__vt__23dSvBit_childItZoneHIO_c" = 0x803c333c;
"__vt__26dSvBit_childItDungeonHIO_c" = 0x803c3348;
"__vt__29dSvBit_childItPerfectionHIO_c" = 0x803c3354;
"__vt__26dSvBit_childSwOneZoneHIO_c" = 0x803c3360;
"__vt__23dSvBit_childSwZoneHIO_c" = 0x803c336c;
"__vt__26dSvBit_childSwDungeonHIO_c" = 0x803c3378;
"__vt__29dSvBit_childSwPerfectionHIO_c" = 0x803c3384;
"__vt__25dSvBit_childTreasureHIO_c" = 0x803c3390;
"__vt__21dSvBit_childItemHIO_c" = 0x803c339c;
"__vt__23dSvBit_childSwitchHIO_c" = 0x803c33a8;
"__vt__12dSvBit_HIO_c" = 0x803c33b4;
"__vt__21dDlst_TimerScrnDraw_c" = 0x803c3420;
"__vt__20DynamicModuleControl" = 0x803c34c0;
"__vt__24DynamicModuleControlBase" = 0x803c34f4;
"__vt__12cCcD_SphAttr" = 0x803c3540;
"__vt__12cCcD_CylAttr" = 0x803c35a4;
"__vt__12cCcD_CpsAttr" = 0x803c3608;
"__vt__12cCcD_TriAttr" = 0x803c366c;
"__vt__14cCcD_ShapeAttr" = 0x803c36d0;
"__vt__9cCcD_Stts" = 0x803c3728;
"__vt__4cCcS" = 0x803c3748;
"__vt__8cBgS_Chk" = 0x803c3f80;
"__vt__11cBgS_GndChk" = 0x803c3f90;
"__vt__11cBgS_LinChk" = 0x803c3fa8;
"__vt__13cBgS_ShdwDraw" = 0x803c3fc0;
"__vt__13cBgS_PolyInfo" = 0x803c3fd0;
"__vt__8cM3dGCir" = 0x803c3fe0;
"__vt__8cM2dGCir" = 0x803c3fec;
"__vt__8cM3dGCps" = 0x803c3ff8;
"__vt__10JFWDisplay" = 0x803c40a0;
"__vt__12JPAFieldBase" = 0x803c44cc;
"__vt__12JPAFieldSpin" = 0x803c44e0;
"__vt__12JPAFieldDrag" = 0x803c44f4;
"__vt__14JPAFieldRandom" = 0x803c4508;
"__vt__18JPAFieldConvection" = 0x803c451c;
"__vt__14JPAFieldVortex" = 0x803c4530;
"__vt__14JPAFieldNewton" = 0x803c4544;
"__vt__14JPAFieldMagnet" = 0x803c4558;
"__vt__11JPAFieldAir" = 0x803c456c;
"__vt__15JPAFieldGravity" = 0x803c4580;
"__vt__10JPATexture" = 0x803c4598;
"__vt__Q26JStage6TActor" = 0x803c45a8;
"__vt__Q26JStage13TAmbientLight" = 0x803c4638;
"__vt__Q26JStage7TCamera" = 0x803c4680;
"__vt__Q26JStage4TFog" = 0x803c4718;
"__vt__Q26JStage6TLight" = 0x803c4778;
"__vt__Q26JStage7TObject" = 0x803c47e8;
"__vt__Q26JStage7TSystem" = 0x803c4828;
"__vt__Q37JStudio3ctb6TParse" = 0x803c4878;
"__vt__Q37JGadget6binary19TParse_header_block" = 0x803c488c;
"__vt__Q37JStudio3ctb8TFactory" = 0x803c48a0;
"__vt__Q37JStudio3ctb8TControl" = 0x803c48b4;
"__vt__Q37JStudio3ctb14TObject_TxyzRy" = 0x803c48c0;
"__vt__Q37JStudio3ctb7TObject" = 0x803c48d0;
"__vt__Q27JStudio22TFunctionValue_hermite" = 0x803c48e0;
"__vt__Q27JStudio29TFunctionValue_list_parameter" = 0x803c4900;
"__vt__Q27JStudio19TFunctionValue_list" = 0x803c4920;
"__vt__Q27JStudio25TFunctionValue_transition" = 0x803c4940;
"__vt__Q27JStudio23TFunctionValue_constant" = 0x803c4960;
"__vt__Q27JStudio24TFunctionValue_composite" = 0x803c4980;
"__vt__Q27JStudio14TFunctionValue" = 0x803c49a0;
"__vt__Q37JStudio3fvb6TParse" = 0x803c4a1c;
"__vt__Q37JStudio3fvb8TFactory" = 0x803c4a30;
"__vt__Q37JStudio3fvb8TControl" = 0x803c4a44;
"__vt__Q37JStudio3fvb15TObject_hermite" = 0x803c4a50;
"__vt__Q37JStudio3fvb22TObject_list_parameter" = 0x803c4a60;
"__vt__Q37JStudio3fvb12TObject_list" = 0x803c4a70;
"__vt__Q37JStudio3fvb18TObject_transition" = 0x803c4a80;
"__vt__Q37JStudio3fvb16TObject_constant" = 0x803c4a90;
"__vt__Q37JStudio3fvb17TObject_composite" = 0x803c4aa0;
"__vt__Q37JStudio3fvb7TObject" = 0x803c4ab0;
"__vt__Q27JStudio6TParse" = 0x803c4ac0;
"__vt__Q27JStudio8TFactory" = 0x803c4ae0;
"__vt__Q27JStudio8TControl" = 0x803c4af4;
"__vt__Q27JStudio13TObject_sound" = 0x803c533c;
"__vt__Q27JStudio14TAdaptor_sound" = 0x803c535c;
"__vt__Q27JStudio16TObject_particle" = 0x803c53ac;
"__vt__Q27JStudio17TAdaptor_particle" = 0x803c53cc;
"__vt__Q27JStudio15TObject_message" = 0x803c5418;
"__vt__Q27JStudio13TObject_light" = 0x803c545c;
"__vt__Q27JStudio14TAdaptor_light" = 0x803c547c;
"__vt__Q27JStudio11TObject_fog" = 0x803c54a4;
"__vt__Q27JStudio12TAdaptor_fog" = 0x803c54c4;
"__vt__Q27JStudio14TObject_camera" = 0x803c54e4;
"__vt__Q27JStudio15TAdaptor_camera" = 0x803c5504;
"__vt__Q27JStudio20TObject_ambientLight" = 0x803c5540;
"__vt__Q27JStudio21TAdaptor_ambientLight" = 0x803c5560;
"__vt__Q27JStudio13TObject_actor" = 0x803c5580;
"__vt__Q27JStudio14TAdaptor_actor" = 0x803c55a0;
"__vt__Q27JStudio7TObject" = 0x803c55f0;
"__vt__Q27JStudio8TAdaptor" = 0x803c5610;
"__vt__Q37JStudio14TVariableValue13TOutput_none_" = 0x803c5630;
"__vt__Q37JStudio14TVariableValue7TOutput" = 0x803c5640;
"__vt__Q37JStudio28@unnamed@jstudio_object_cpp@54TOutputVariableValue_BOOL_<Q27JStudio14TAdaptor_sound>" = 0x803c5650;
"__vt__Q37JStudio28@unnamed@jstudio_object_cpp@57TOutputVariableValue_BOOL_<Q27JStudio17TAdaptor_particle>" = 0x803c5660;
"__vt__Q37JStudio28@unnamed@jstudio_object_cpp@54TOutputVariableValue_BOOL_<Q27JStudio14TAdaptor_light>" = 0x803c5670;
"__vt__Q37JStudio28@unnamed@jstudio_object_cpp@55TOutputVariableValue_BOOL_<Q27JStudio15TAdaptor_camera>" = 0x803c5680;
"__vt__Q37JStudio28@unnamed@jstudio_object_cpp@54TOutputVariableValue_BOOL_<Q27JStudio14TAdaptor_actor>" = 0x803c5690;
"__vt__Q37JStudio3stb6TParse" = 0x803c56a0;
"__vt__Q37JStudio3stb8TFactory" = 0x803c56c0;
"__vt__Q37JStudio3stb8TControl" = 0x803c56d4;
"__vt__Q37JStudio3stb15TObject_control" = 0x803c56e0;
"__vt__Q37JStudio3stb7TObject" = 0x803c5700;
"__vt__Q214JStudio_JStage13TCreateObject" = 0x803c5720;
"__vt__Q314JStudio_JStage14TAdaptor_actor26TVVOutput_ANIMATION_FRAME_" = 0x803c57b4;
"__vt__Q214JStudio_JStage14TAdaptor_actor" = 0x803c57c4;
"__vt__Q214JStudio_JStage81TVariableValueOutput_object_<Q214JStudio_JStage14TAdaptor_actor,Q26JStage6TActor>" = 0x803c5864;
"__vt__Q214JStudio_JStage21TAdaptor_ambientLight" = 0x803c5888;
"__vt__Q214JStudio_JStage15TAdaptor_camera" = 0x803c5908;
"__vt__Q214JStudio_JStage83TVariableValueOutput_object_<Q214JStudio_JStage15TAdaptor_camera,Q26JStage7TCamera>" = 0x803c5980;
"__vt__Q214JStudio_JStage12TAdaptor_fog" = 0x803c59d0;
"__vt__Q214JStudio_JStage77TVariableValueOutput_object_<Q214JStudio_JStage12TAdaptor_fog,Q26JStage4TFog>" = 0x803c5a10;
"__vt__Q314JStudio_JStage14TAdaptor_light20TVVOutput_direction_" = 0x803c5a30;
"__vt__Q214JStudio_JStage14TAdaptor_light" = 0x803c5a40;
"__vt__Q215JStudio_JAudio213TCreateObject" = 0x803c5a68;
"__vt__Q315JStudio_JAudio214TAdaptor_sound13TVVOSetValue_" = 0x803c5a78;
"__vt__Q215JStudio_JAudio214TAdaptor_sound" = 0x803c5a88;
"__vt__Q217JStudio_JParticle13TCreateObject" = 0x803c5ad8;
"__vt__Q317JStudio_JParticle17TAdaptor_particle21TJPACallback_emitter_" = 0x803c5af0;
"__vt__Q217JStudio_JParticle17TAdaptor_particle" = 0x803c5b0c;
"__vt__13JASTaskThread" = 0x803c5b58;
"__vt__19JASDefaultBankTable" = 0x803c5b68;
"__vt__17JASBankTable<256>" = 0x803c5b74;
"__vt__11JASBankList" = 0x803c5b80;
"__vt__12JASSeqParser" = 0x803c7650;
"__vt__12JASBasicBank" = 0x803c76a8;
"__vt__7JASBank" = 0x803c76bc;
"__vt__12JASVoiceBank" = 0x803c76d0;
"__vt__12JASBasicInst" = 0x803c76e8;
"__vt__7JASInst" = 0x803c76fc;
"__vt__10JASDrumSet" = 0x803c7710;
"__vt__Q216JASBasicWaveBank11TWaveHandle" = 0x803c7728;
"__vt__Q216JASBasicWaveBank10TWaveGroup" = 0x803c773c;
"__vt__13JASWaveHandle" = 0x803c7754;
"__vt__16JASBasicWaveBank" = 0x803c7768;
"__vt__11JASWaveBank" = 0x803c7780;
"__vt__Q217JASSimpleWaveBank11TWaveHandle" = 0x803c7798;
"__vt__17JASSimpleWaveBank" = 0x803c77ac;
"__vt__10JASWaveArc" = 0x803c7820;
"__vt__11JASDisposer" = 0x803c7838;
"__vt__14JASAudioThread" = 0x803c78e0;
"__vt__10JAIAudible" = 0x803c9820;
"__vt__11JAIAudience" = 0x803c9838;
"__vt__5JAISe" = 0x803c9858;
"__vt__8JAISeMgr" = 0x803c98b0;
"__vt__16JAISeCategoryMgr" = 0x803c98c4;
"__vt__6JAISeq" = 0x803c98f4;
"__vt__13JAISeqDataMgr" = 0x803c9928;
"__vt__14JAISeqDataUser" = 0x803c9940;
"__vt__9JAISeqMgr" = 0x803c9958;
"__vt__8JAISound" = 0x803c9970;
"__vt__12JAISoundInfo" = 0x803c99a0;
"__vt__15JAISoundStarter" = 0x803c99c8;
"__vt__9JAIStream" = 0x803c99d8;
"__vt__16JAIStreamAramMgr" = 0x803c9a08;
"__vt__16JAIStreamDataMgr" = 0x803c9a1c;
"__vt__22JAUAudioArcInterpreter" = 0x803c9a30;
"__vt__17JAUAudioArcLoader" = 0x803c9a78;
"__vt__14JAUSectionHeap" = 0x803c9ac0;
"__vt__16JAUBankTableLink" = 0x803c9af4;
"__vt__12JAUBankTable" = 0x803c9b08;
"__vt__Q228@unnamed@JAUSectionHeap_cpp@14TStreamDataMgr" = 0x803c9b14;
"__vt__10JAUSection" = 0x803c9b24;
"__vt__27JAUSeqDataMgr_SeqCollection" = 0x803c9b38;
"__vt__32JAUStreamDataMgr_StreamFileTable" = 0x803c9b50;
"__vt__Q28JMessage8TControl" = 0x803c9b60;
"__vt__Q28JMessage19TRenderingProcessor" = 0x803c9b94;
"__vt__Q28JMessage18TSequenceProcessor" = 0x803c9bd4;
"__vt__Q28JMessage10TProcessor" = 0x803c9c2c;
"__vt__Q28JMessage10TReference" = 0x803c9c6c;
"__vt__Q28JMessage6TParse" = 0x803c9c94;
"__vt__Q38JMessage18TResourceContainer10TCResource" = 0x803c9ca8;
"__vt__Q27JGadget42TLinkList_factory<Q28JMessage9TResource,0>" = 0x803c9cbc;
"__vt__16Z2AudioArcLoader" = 0x803c9cd0;
"__vt__10Z2SoundMgr" = 0x803c9d70;
"__vt__14Z2SoundStarter" = 0x803c9d80;
"__vt__11Z2SoundInfo" = 0x803cac48;
"__vt__10Z2Audience" = 0x803cac98;
"__vt__9Z2Audible" = 0x803cacb8;
"__vt__15Z2SoundObjAnime" = 0x803cacd0;
"__vt__15Z2SoundObjArrow" = 0x803cacf0;
"__vt__16Z2SoundObjSimple" = 0x803cad10;
"__vt__21Z2DopplerSoundObjBase" = 0x803cad30;
"__vt__14Z2SoundObjBase" = 0x803cad50;
"__vt__12Z2CreatureOI" = 0x803cb780;
"__vt__13Z2CreatureGob" = 0x803cb7b0;
"__vt__12Z2CreatureFM" = 0x803cb7e0;
"__vt__18Z2SoundObjBeeGroup" = 0x803cb810;
"__vt__16Z2CreatureSumomo" = 0x803cb830;
"__vt__15Z2CreatureEnemy" = 0x803cb860;
"__vt__17Z2CreatureCitizen" = 0x803cb890;
"__vt__10Z2Creature" = 0x803cb8c0;
"__vt__15Z2SoundObjCoach" = 0x803cb8f0;
"__vt__18Z2RideSoundStarter" = 0x803cb910;
"__vt__14Z2CreatureRide" = 0x803cb924;
"__vt__18Z2LinkSoundStarter" = 0x803cb96c;
"__vt__14Z2CreatureLink" = 0x803cb980;
"__vt__15Z2SpeechStarter" = 0x803cbf24;
"__vt__10Z2AudioMgr" = 0x803cbf38;
"__vt__26JAUStreamStaticAramMgr_<1>" = 0x803cbf44;
"__vt__24JAUStreamAramMgrBase_<1>" = 0x803cbf58;
"__vt__7JKRHeap" = 0x803cbf70;
"__vt__10JKRExpHeap" = 0x803cbfd0;
"__vt__12JKRSolidHeap" = 0x803cc030;
"__vt__13JKRAssertHeap" = 0x803cc090;
"__vt__11JKRDisposer" = 0x803cc0f0;
"__vt__15JKRThreadSwitch" = 0x803cc100;
"__vt__9JKRThread" = 0x803cc114;
"__vt__7JKRAram" = 0x803cc158;
"__vt__11JKRAramHeap" = 0x803cc168;
"__vt__12JKRAramBlock" = 0x803cc178;
"__vt__13JKRAramStream" = 0x803cc1b8;
"__vt__13JKRFileLoader" = 0x803cc1c8;
"__vt__12JKRDvdFinder" = 0x803cc208;
"__vt__12JKRArcFinder" = 0x803cc218;
"__vt__13JKRFileFinder" = 0x803cc228;
"__vt__12JKRFileCache" = 0x803cc238;
"__vt__10JKRArchive" = 0x803cc288;
"__vt__13JKRMemArchive" = 0x803cc2d8;
"__vt__7JKRFile" = 0x803cc328;
"__vt__14JKRAramArchive" = 0x803cc348;
"__vt__13JKRDvdArchive" = 0x803cc398;
"__vt__14JKRCompArchive" = 0x803cc3e8;
"__vt__10JKRDvdFile" = 0x803cc438;
"__vt__9JKRDecomp" = 0x803cc4a0;
"__vt__20JSURandomInputStream" = 0x803cc4b0;
"__vt__14JSUInputStream" = 0x803cc4d4;
"__vt__20JSUMemoryInputStream" = 0x803cc4f0;
"__vt__18JSUFileInputStream" = 0x803cc518;
"__vt__12JUTCacheFont" = 0x803cc540;
"__vt__12JUTGraphFifo" = 0x803cc590;
"__vt__10JUTResFont" = 0x803cc5a0;
"__vt__10JUTGamePad" = 0x803cc610;
"__vt__12JUTException" = 0x803cc6a4;
"__vt__8JUTVideo" = 0x803cc980;
"__vt__8JUTFader" = 0x803cc990;
"__vt__10JUTConsole" = 0x803cc9a8;
"__vt__14J2DGrafContext" = 0x803cc9b8;
"__vt__13J2DOrthoGraph" = 0x803cc9e0;
"__vt__15J2DIndBlockNull" = 0x803cca08;
"__vt__11J2DIndBlock" = 0x803cca40;
"__vt__11J2DMaterial" = 0x803cca78;
"__vt__13J2DColorBlock" = 0x803cca84;
"__vt__15J2DIndBlockFull" = 0x803cca90;
"__vt__13J2DTevBlock16" = 0x803ccac8;
"__vt__12J2DTevBlock8" = 0x803ccb84;
"__vt__12J2DTevBlock4" = 0x803ccc40;
"__vt__12J2DTevBlock2" = 0x803cccfc;
"__vt__12J2DTevBlock1" = 0x803ccdb8;
"__vt__11J2DTevBlock" = 0x803cce74;
"__vt__14J2DTexGenBlock" = 0x803ccf30;
"__vt__8J2DPrint" = 0x803ccfa0;
"__vt__7J2DPane" = 0x803ccfd0;
"__vt__9J2DScreen" = 0x803cd068;
"__vt__9J2DWindow" = 0x803cd108;
"__vt__10J2DPicture" = 0x803cd1d8;
"__vt__10J2DTextBox" = 0x803cd328;
"__vt__11J2DWindowEx" = 0x803cd3e8;
"__vt__12J2DPictureEx" = 0x803cd4b8;
"__vt__12J2DTextBoxEx" = 0x803cd608;
"__vt__20J2DAnmFullLoader_v15" = 0x803cd6c8;
"__vt__19J2DAnmKeyLoader_v15" = 0x803cd6dc;
"__vt__12J2DAnmLoader" = 0x803cd6f0;
"__vt__20J2DAnmVisibilityFull" = 0x803cd704;
"__vt__14J2DAnmVtxColor" = 0x803cd714;
"__vt__15J2DAnmTevRegKey" = 0x803cd728;
"__vt__16J2DAnmTexPattern" = 0x803cd738;
"__vt__19J2DAnmTextureSRTKey" = 0x803cd748;
"__vt__17J2DAnmVtxColorKey" = 0x803cd758;
"__vt__18J2DAnmVtxColorFull" = 0x803cd76c;
"__vt__14J2DAnmColorKey" = 0x803cd780;
"__vt__15J2DAnmColorFull" = 0x803cd794;
"__vt__11J2DAnmColor" = 0x803cd7a8;
"__vt__18J2DAnmTransformKey" = 0x803cd7bc;
"__vt__19J2DAnmTransformFull" = 0x803cd7d4;
"__vt__14J3DShapePacket" = 0x803cd940;
"__vt__12J3DMatPacket" = 0x803cd954;
"__vt__13J3DDrawPacket" = 0x803cd968;
"__vt__9J3DPacket" = 0x803cd97c;
"__vt__28J3DShapeMtxYBBoardConcatView" = 0x803cdb84;
"__vt__27J3DShapeMtxBBoardConcatView" = 0x803cdbac;
"__vt__26J3DShapeMtxMultiConcatView" = 0x803cdbd4;
"__vt__16J3DShapeMtxMulti" = 0x803cdbfc;
"__vt__21J3DShapeMtxConcatView" = 0x803cdc1c;
"__vt__11J3DShapeMtx" = 0x803cdc44;
"__vt__12J3DShapeDraw" = 0x803cdc68;
"__vt__8J3DShape" = 0x803cdc78;
"__vt__17J3DLockedMaterial" = 0x803cdc90;
"__vt__18J3DPatchedMaterial" = 0x803cdcc0;
"__vt__11J3DMaterial" = 0x803cdcf0;
"__vt__10J3DPEBlock" = 0x803cdd20;
"__vt__15J3DIndBlockNull" = 0x803cdd9c;
"__vt__11J3DIndBlock" = 0x803cdde8;
"__vt__14J3DTexGenBlock" = 0x803cde34;
"__vt__13J3DColorBlock" = 0x803cdea0;
"__vt__14J3DPEBlockFull" = 0x803cdff0;
"__vt__16J3DPEBlockFogOff" = 0x803ce06c;
"__vt__13J3DTevBlock16" = 0x803ce0e8;
"__vt__12J3DTevBlock4" = 0x803ce1c4;
"__vt__12J3DTevBlock2" = 0x803ce2a0;
"__vt__12J3DTevBlock1" = 0x803ce37c;
"__vt__18J3DTevBlockPatched" = 0x803ce458;
"__vt__19J3DTexGenBlockBasic" = 0x803ce534;
"__vt__15J3DTexGenBlock4" = 0x803ce5a0;
"__vt__21J3DTexGenBlockPatched" = 0x803ce60c;
"__vt__20J3DColorBlockLightOn" = 0x803ce678;
"__vt__22J3DColorBlockAmbientOn" = 0x803ce708;
"__vt__13J3DPEBlockXlu" = 0x803ce798;
"__vt__17J3DPEBlockTexEdge" = 0x803ce814;
"__vt__13J3DPEBlockOpa" = 0x803ce890;
"__vt__15J3DIndBlockFull" = 0x803ce90c;
"__vt__11J3DTevBlock" = 0x803ce958;
"__vt__21J3DColorBlockLightOff" = 0x803cea34;
"__vt__12J3DJointTree" = 0x803cecf4;
"__vt__13J3DShapeTable" = 0x803ced08;
"__vt__12J3DModelData" = 0x803ced14;
"__vt__8J3DModel" = 0x803ced20;
"__vt__12J3DMtxBuffer" = 0x803ced44;
"__vt__16J3DAnmTexPattern" = 0x803ced50;
"__vt__15J3DAnmTevRegKey" = 0x803ced60;
"__vt__14J3DAnmColorKey" = 0x803ced70;
"__vt__15J3DAnmColorFull" = 0x803ced84;
"__vt__11J3DAnmColor" = 0x803ced98;
"__vt__17J3DAnmVtxColorKey" = 0x803cedac;
"__vt__18J3DAnmVtxColorFull" = 0x803cedc0;
"__vt__14J3DAnmVtxColor" = 0x803cedd4;
"__vt__16J3DAnmClusterKey" = 0x803cede8;
"__vt__13J3DAnmCluster" = 0x803cedfc;
"__vt__17J3DAnmClusterFull" = 0x803cee10;
"__vt__19J3DAnmTextureSRTKey" = 0x803cee24;
"__vt__27J3DAnmTransformFullWithLerp" = 0x803cee34;
"__vt__19J3DAnmTransformFull" = 0x803cee48;
"__vt__14J3DMaterialAnm" = 0x803cee60;
"__vt__13J3DSkinDeform" = 0x803cee70;
"__vt__16J3DMaterialTable" = 0x803cee80;
"__vt__14J3DPEBlockNull" = 0x803cee90;
"__vt__15J3DTevBlockNull" = 0x803cef0c;
"__vt__18J3DTexGenBlockNull" = 0x803cefe8;
"__vt__17J3DColorBlockNull" = 0x803cf054;
"__vt__20J3DClusterLoader_v15" = 0x803cf0e8;
"__vt__16J3DClusterLoader" = 0x803cf0f8;
"__vt__18J3DModelLoader_v21" = 0x803cf108;
"__vt__18J3DModelLoader_v26" = 0x803cf14c;
"__vt__83J3DMtxCalcNoAnm<32J3DMtxCalcCalcTransformSoftimage,29J3DMtxCalcJ3DSysInitSoftimage>" = 0x803cf190;
"__vt__75J3DMtxCalcNoAnm<28J3DMtxCalcCalcTransformBasic,25J3DMtxCalcJ3DSysInitBasic>" = 0x803cf1bc;
"__vt__10J3DTexture" = 0x803cf1e8;
"__vt__14J3DModelLoader" = 0x803cf1f4;
"__vt__19J3DAnmKeyLoader_v15" = 0x803cf238;
"__vt__20J3DAnmFullLoader_v15" = 0x803cf24c;
"__vt__12J3DAnmLoader" = 0x803cf260;
"__vt__20J3DAnmVisibilityFull" = 0x803cf274;
}
FORCEACTIVE {
set__17dSv_horse_place_cFPCcRC4cXyzsSc
@@ -54,4 +785,4 @@ extabindex 80005660 - 800056BC
.sbss 80450B00 - 80451A00
.sdata2 80451A00 - 80456B60
.sbss2 80456B60 - 80456BC8
*/
*/
+18 -7
View File
@@ -3,20 +3,31 @@
#include "JSystem/JKernel/JKRHeap/JKRHeap.h"
// #include "JSystem/JKernel/asm/func_802D147C.s"
JKRDisposer::JKRDisposer() : __vt(lbl_803CC0F0), ptr_link(this) {
this->heap = JKRHeap::findFromRoot(this);
JKRDisposer::JKRDisposer() : ptr_link(this) {
this->heap = JKRHeap::findFromRoot(this);
if (this->heap != 0) {
this->heap->disposable_list.append(&this->ptr_link);
}
}
// Almost. Missing three instructions, something
// to do with the destruction of JSUPtrLink
/*
Super close.
This is what we expected: (from Ghidra)
if (this != (JKRDisposer *)&DAT_fffffff8) {
JSUPtrLink::~JSUPtrLink(&this->ptr_link,0);
}
But the compiler generate code like this instead: (no if and -1 instead of 0)
JSUPtrLink::~JSUPtrLink(&this->ptr_link,-1);
Maybe we are using the wrong compiler?
*/
#ifdef NONMATCHING
JKRDisposer::~JKRDisposer() {
this->__vt = lbl_803CC0F0;
if (this->heap != NULL) {
this->heap->disposable_list.remove(&this->ptr_link);
JKRHeap* heap = this->heap;
if (heap != 0) {
heap->disposable_list.remove(&this->ptr_link);
}
}
#else
+216 -94
View File
@@ -1,11 +1,55 @@
#include "JSystem/JKernel/JKRHeap/JKRHeap.h"
#include "global.h"
/*
Very close! When initialzing child_list(true) it will use less register then the asm code.
- 2cb0b0: 3b 5f 00 40 addi r26,r31,64
- 2cb0b4: 7f 43 d3 78 mr r3,r26
- 2cb0b8: 48 00 dd 9d bl 0x2d8e54
- 2cb0bc: 38 7a 00 0c addi r3,r26,12
+ 2cb0b0: 38 7f 00 40 addi r3,r31,64
+ 2cb0b4: 38 80 00 01 li r4,1
+ 2cb0b8: 48 00 dd 01 bl 0x2d8db8
+ 2cb0bc: 38 7f 00 4c addi r3,r31,76
*/
#ifdef NONMATCHING
JKRHeap::JKRHeap(void* data, u32 size, JKRHeap* parent, bool error_handler) {
JKRHeap::JKRHeap(void* data, u32 size, JKRHeap* parent, bool error_flag)
: JKRDisposer(), child_list(true), heap_link(this), disposable_list(true) {
OSInitMutex(this->mutex);
this->size = size;
this->begin = (u32)data;
this->end = (u32)data + size;
if (parent == NULL) {
this->becomeSystemHeap();
this->becomeCurrentHeap();
} else {
JSUPtrLink* ptr = (JSUPtrLink*)&this->child_list;
if (ptr != NULL) {
ptr = &this->heap_link;
}
parent->child_list.append(ptr);
if (lbl_80451370 == lbl_80451378) {
this->becomeSystemHeap();
}
if (lbl_80451374 == lbl_80451378) {
this->becomeCurrentHeap();
}
}
this->error_flag = error_flag;
if ((this->error_flag == true) && (lbl_8045137C == NULL)) {
lbl_8045137C = JKRHeap::JKRDefaultMemoryErrorRoutine;
}
this->field_0x3c = lbl_804508B0[0];
this->field_0x3d = lbl_80451380[0];
this->field_0x69 = 0;
}
#else
asm JKRHeap::JKRHeap(void* data, u32 size, JKRHeap* parent, bool error_handler) {
asm JKRHeap::JKRHeap(void* data, u32 size, JKRHeap* parent, bool error_flag) {
nofralloc
#include "JSystem/JKernel/JKRHeap/asm/func_802CE138.s"
}
@@ -16,44 +60,81 @@ asm JKRHeap::~JKRHeap() {
#include "JSystem/JKernel/JKRHeap/asm/func_802CE264.s"
}
asm bool JKRHeap::initArena(char**, u32*, int) {
nofralloc
#include "JSystem/JKernel/JKRHeap/asm/func_802CE378.s"
// #include "JSystem/JKernel/JKRHeap/asm/func_802CE378.s"
bool JKRHeap::initArena(char** memory, u32* size, int param_3) {
u32 ram_start;
u32 ram_end;
u32 ram;
u32 low = OSGetArenaLo();
u32 high = OSGetArenaHi();
if (low == high) 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);
OSSetArenaLo(ram_end);
OSSetArenaHi(ram_end);
*memory = (char*)ram_start;
*size = ram_end - ram_start;
return true;
}
asm void JKRHeap::becomeSystemHeap() {
nofralloc
#include "JSystem/JKernel/JKRHeap/asm/func_802CE428.s"
// #include "JSystem/JKernel/JKRHeap/asm/func_802CE428.s"
JKRHeap* JKRHeap::becomeSystemHeap() {
JKRHeap* prev = lbl_80451370;
lbl_80451370 = this;
return prev;
}
asm void JKRHeap::becomeCurrentHeap() {
nofralloc
#include "JSystem/JKernel/JKRHeap/asm/func_802CE438.s"
// #include "JSystem/JKernel/JKRHeap/asm/func_802CE438.s"
JKRHeap* JKRHeap::becomeCurrentHeap() {
JKRHeap* prev = lbl_80451374;
lbl_80451374 = this;
return prev;
}
asm void JKRHeap::destroy() {
nofralloc
#include "JSystem/JKernel/JKRHeap/asm/func_802CE448.s"
// #include "JSystem/JKernel/JKRHeap/asm/func_802CE448.s"
void JKRHeap::destroy() {
this->do_destroy();
}
asm void* JKRHeap::alloc(u32 size, int alignment, JKRHeap* heap) {
nofralloc
#include "JSystem/JKernel/JKRHeap/asm/func_802CE474.s"
// #include "JSystem/JKernel/JKRHeap/asm/func_802CE474.s"
void* JKRHeap::alloc(u32 size, int alignment, JKRHeap* heap) {
if (heap != NULL) {
return heap->alloc(size, alignment);
}
if (lbl_80451374 != NULL) {
return lbl_80451374->alloc(size, alignment);
}
return NULL;
}
asm void* JKRHeap::alloc(u32 size, int alignment) {
nofralloc
#include "JSystem/JKernel/JKRHeap/asm/func_802CE4D4.s"
// #include "JSystem/JKernel/JKRHeap/asm/func_802CE4D4.s"
void* JKRHeap::alloc(u32 size, int alignment) {
return this->do_alloc(size, alignment);
}
asm void JKRHeap::free(void* ptr, JKRHeap* heap) {
nofralloc
#include "JSystem/JKernel/JKRHeap/asm/func_802CE500.s"
// #include "JSystem/JKernel/JKRHeap/asm/func_802CE500.s"
void JKRHeap::free(void* ptr, JKRHeap* heap) {
if (!heap) {
heap = findFromRoot(ptr);
if (!heap) return;
}
heap->free(ptr);
}
asm void JKRHeap::free(void* ptr) {
nofralloc
#include "JSystem/JKernel/JKRHeap/asm/func_802CE548.s"
// #include "JSystem/JKernel/JKRHeap/asm/func_802CE548.s"
void JKRHeap::free(void* ptr) {
this->do_free(ptr);
}
asm void JKRHeap::callAllDisposer() {
@@ -61,64 +142,82 @@ asm void JKRHeap::callAllDisposer() {
#include "JSystem/JKernel/JKRHeap/asm/func_802CE574.s"
}
asm void JKRHeap::freeAll() {
nofralloc
#include "JSystem/JKernel/JKRHeap/asm/func_802CE5CC.s"
// #include "JSystem/JKernel/JKRHeap/asm/func_802CE5CC.s"
void JKRHeap::freeAll() {
this->do_freeAll();
}
asm void JKRHeap::freeTail() {
nofralloc
#include "JSystem/JKernel/JKRHeap/asm/func_802CE5F8.s"
// #include "JSystem/JKernel/JKRHeap/asm/func_802CE5F8.s"
void JKRHeap::freeTail() {
this->do_freeTail();
}
asm s32 JKRHeap::resize(void* ptr, u32 size, JKRHeap* heap) {
nofralloc
#include "JSystem/JKernel/JKRHeap/asm/func_802CE624.s"
// #include "JSystem/JKernel/JKRHeap/asm/func_802CE624.s"
s32 JKRHeap::resize(void* ptr, u32 size, JKRHeap* heap) {
if (!heap) {
heap = findFromRoot(ptr);
if (!heap) return -1;
}
return heap->resize(ptr, size);
}
asm s32 JKRHeap::resize(void* ptr, u32 size) {
nofralloc
#include "JSystem/JKernel/JKRHeap/asm/func_802CE684.s"
// #include "JSystem/JKernel/JKRHeap/asm/func_802CE684.s"
s32 JKRHeap::resize(void* ptr, u32 size) {
return this->do_resize(ptr, size);
}
asm s32 JKRHeap::getSize(void* ptr, JKRHeap* heap) {
nofralloc
#include "JSystem/JKernel/JKRHeap/asm/func_802CE6B0.s"
// #include "JSystem/JKernel/JKRHeap/asm/func_802CE6B0.s"
s32 JKRHeap::getSize(void* ptr, JKRHeap* heap) {
if (!heap) {
heap = findFromRoot(ptr);
if (!heap) return -1;
}
return heap->getSize(ptr);
}
asm s32 JKRHeap::getSize(void* ptr) {
nofralloc
#include "JSystem/JKernel/JKRHeap/asm/func_802CE700.s"
// #include "JSystem/JKernel/JKRHeap/asm/func_802CE700.s"
s32 JKRHeap::getSize(void* ptr) {
return this->do_getSize(ptr);
}
asm s32 JKRHeap::getFreeSize() {
nofralloc
#include "JSystem/JKernel/JKRHeap/asm/func_802CE72C.s"
// #include "JSystem/JKernel/JKRHeap/asm/func_802CE72C.s"
s32 JKRHeap::getFreeSize() {
return this->do_getFreeSize();
}
asm u32 JKRHeap::getMaxFreeBlock() {
nofralloc
#include "JSystem/JKernel/JKRHeap/asm/func_802CE758.s"
// #include "JSystem/JKernel/JKRHeap/asm/func_802CE758.s"
s32 JKRHeap::getMaxFreeBlock() {
return this->do_getMaxFreeBlock();
}
asm u32 JKRHeap::getTotalFreeSize() {
nofralloc
#include "JSystem/JKernel/JKRHeap/asm/func_802CE784.s"
// #include "JSystem/JKernel/JKRHeap/asm/func_802CE784.s"
s32 JKRHeap::getTotalFreeSize() {
return this->do_getTotalFreeSize();
}
asm u8 JKRHeap::changeGroupID(u8 param_1) {
nofralloc
#include "JSystem/JKernel/JKRHeap/asm/func_802CE7B0.s"
// #include "JSystem/JKernel/JKRHeap/asm/func_802CE7B0.s"
u8 JKRHeap::changeGroupID(u8 param_1) {
return this->do_changeGroupID(param_1);
}
asm u32 JKRHeap::getMaxAllocatableSize(int alignment) {
asm s32 JKRHeap::getMaxAllocatableSize(int alignment) {
nofralloc
#include "JSystem/JKernel/JKRHeap/asm/func_802CE7DC.s"
#include "JSystem/JKernel/JKRHeap/asm/func_802CE7DC.s"
}
asm JKRHeap* JKRHeap::findFromRoot(void* ptr) {
nofralloc
#include "JSystem/JKernel/JKRHeap/asm/func_802CE83C.s"
// #include "JSystem/JKernel/JKRHeap/asm/func_802CE83C.s"
JKRHeap* JKRHeap::findFromRoot(void* ptr) {
if (lbl_80451378 == NULL) {
return (JKRHeap*)NULL;
}
if (((void*)lbl_80451378->begin <= ptr) && (ptr < (void*)lbl_80451378->end)) {
return lbl_80451378->find(ptr);
}
return lbl_80451378->findAllHeap(ptr);
}
asm JKRHeap* JKRHeap::find(void* ptr) const {
@@ -136,24 +235,47 @@ asm void JKRHeap::dispose_subroutine(u32 begin, u32 end) {
#include "JSystem/JKernel/JKRHeap/asm/func_802CE9E4.s"
}
asm void JKRHeap::dispose(void* ptr, u32 size) {
nofralloc
#include "JSystem/JKernel/JKRHeap/asm/func_802CEA78.s"
// #include "JSystem/JKernel/JKRHeap/asm/func_802CEA78.s"
bool JKRHeap::dispose(void* ptr, u32 size) {
u32 begin = (u32)ptr;
u32 end = (u32)ptr + size;
this->dispose_subroutine(begin, end);
return false;
}
asm void JKRHeap::dispose(void* begin, void* end) {
nofralloc
#include "JSystem/JKernel/JKRHeap/asm/func_802CEAA0.s"
// #include "JSystem/JKernel/JKRHeap/asm/func_802CEAA0.s"
void JKRHeap::dispose(void* begin, void* end) {
this->dispose_subroutine((u32)begin, (u32)end);
}
#ifdef NONMATCHING
void JKRHeap::dispose() {
JSUPtrLink* node;
JKRDisposer* disposable;
while (node = this->disposable_list.head, node != NULL) {
disposable = (JKRDisposer*)node->owner;
disposable->~JKRDisposer();
}
}
#else
asm void JKRHeap::dispose() {
nofralloc
#include "JSystem/JKernel/JKRHeap/asm/func_802CEAC0.s"
}
#endif
asm void JKRHeap::copyMemory(void* dst, void* src, u32 size) {
nofralloc
#include "JSystem/JKernel/JKRHeap/asm/func_802CEB18.s"
// #include "JSystem/JKernel/JKRHeap/asm/func_802CEB18.s"
void JKRHeap::copyMemory(void* dst, void* src, u32 size) {
u32 count = (size + 3) / 4;
u32* dst_32 = (u32*)dst;
u32* src_32 = (u32*)src;
while (count > 0) {
*dst_32 = *src_32;
dst_32++;
src_32++;
count--;
}
}
asm void JKRHeap::JKRDefaultMemoryErrorRoutine(JKRHeap* heap, u32 size, int alignment) {
@@ -176,42 +298,42 @@ asm bool JKRHeap::isSubHeap(JKRHeap* heap) const {
#include "JSystem/JKernel/JKRHeap/asm/func_802CEBA8.s"
}
asm void* operator new(u32 size) {
nofralloc
#include "JSystem/JKernel/JKRHeap/asm/func_802CEC4C.s"
// #include "JSystem/JKernel/JKRHeap/asm/func_802CEC4C.s"
void* operator new(u32 size) {
return JKRHeap::alloc(size, 4, NULL);
}
asm void* operator new(u32 size, int alignment) {
nofralloc
#include "JSystem/JKernel/JKRHeap/asm/func_802CEC74.s"
// #include "JSystem/JKernel/JKRHeap/asm/func_802CEC74.s"
void* operator new(u32 size, int alignment) {
return JKRHeap::alloc(size, alignment, NULL);
}
asm void* operator new(u32 size, JKRHeap* heap, int alignment) {
nofralloc
#include "JSystem/JKernel/JKRHeap/asm/func_802CEC98.s"
// #include "JSystem/JKernel/JKRHeap/asm/func_802CEC98.s"
void* operator new(u32 size, JKRHeap* heap, int alignment) {
return JKRHeap::alloc(size, alignment, heap);
}
asm void* operator new[](u32 size) {
nofralloc
#include "JSystem/JKernel/JKRHeap/asm/func_802CECC4.s"
// #include "JSystem/JKernel/JKRHeap/asm/func_802CECC4.s"
void* operator new[](u32 size) {
return JKRHeap::alloc(size, 4, NULL);
}
asm void* operator new[](u32 size, int alignment) {
nofralloc
#include "JSystem/JKernel/JKRHeap/asm/func_802CECEC.s"
// #include "JSystem/JKernel/JKRHeap/asm/func_802CECEC.s"
void* operator new[](u32 size, int alignment) {
return JKRHeap::alloc(size, alignment, NULL);
}
asm void* operator new[](u32 size, JKRHeap* heap, int alignment) {
nofralloc
#include "JSystem/JKernel/JKRHeap/asm/func_802CED10.s"
// #include "JSystem/JKernel/JKRHeap/asm/func_802CED10.s"
void* operator new[](u32 size, JKRHeap* heap, int alignment) {
return JKRHeap::alloc(size, alignment, heap);
}
asm void operator delete(void* ptr) {
nofralloc
#include "JSystem/JKernel/JKRHeap/asm/func_802CED3C.s"
// #include "JSystem/JKernel/JKRHeap/asm/func_802CED3C.s"
void operator delete(void* ptr) {
JKRHeap::free(ptr, NULL);
}
asm void operator delete[](void* ptr) {
nofralloc
#include "JSystem/JKernel/JKRHeap/asm/func_802CED60.s"
// #include "JSystem/JKernel/JKRHeap/asm/func_802CED60.s"
void operator delete[](void* ptr) {
JKRHeap::free(ptr, NULL);
}
+21 -21
View File
@@ -2,11 +2,11 @@
#include "global.h"
// #include "JSupport/asm/func_802DBDFC.s"
JSUPtrLink::JSUPtrLink(void* param_1) {
this->list = (JSUPtrList*)NULL;
this->unk0 = param_1;
this->prev = (JSUPtrLink*)NULL;
this->next = (JSUPtrLink*)NULL;
JSUPtrLink::JSUPtrLink(void* owner) {
this->list = NULL;
this->owner = owner;
this->prev = NULL;
this->next = NULL;
}
// #include "JSupport/asm/func_802DBE14.s"
@@ -32,7 +32,7 @@ JSUPtrList::~JSUPtrList() {
JSUPtrLink* node = this->head;
s32 removed = 0;
while (this->length > removed) {
node->list = (JSUPtrList*)NULL;
node->list = NULL;
node = node->next;
removed += 1;
}
@@ -40,16 +40,16 @@ JSUPtrList::~JSUPtrList() {
// #include "JSupport/asm/func_802DBF14.s"
void JSUPtrList::initiate() {
this->head = (JSUPtrLink*)NULL;
this->tail = (JSUPtrLink*)NULL;
this->head = NULL;
this->tail = NULL;
this->length = 0;
}
// #include "JSupport/asm/func_802DBF28.s"
void JSUPtrList::setFirst(JSUPtrLink* first) {
first->list = this;
first->prev = (JSUPtrLink*)NULL;
first->next = (JSUPtrLink*)NULL;
first->prev = NULL;
first->next = NULL;
this->tail = first;
this->head = first;
this->length = 1;
@@ -58,7 +58,7 @@ void JSUPtrList::setFirst(JSUPtrLink* first) {
// #include "JSupport/asm/func_802DBF4C.s"
bool JSUPtrList::append(JSUPtrLink* ptr) {
JSUPtrList* list = ptr->list;
bool result = ((JSUPtrList*)NULL == list);
bool result = (NULL == list);
if (!result) {
result = list->remove(ptr);
}
@@ -69,7 +69,7 @@ bool JSUPtrList::append(JSUPtrLink* ptr) {
} else {
ptr->list = this;
ptr->prev = this->tail;
ptr->next = (JSUPtrLink*)NULL;
ptr->next = NULL;
this->tail->next = ptr;
this->tail = ptr;
this->length++;
@@ -82,7 +82,7 @@ bool JSUPtrList::append(JSUPtrLink* ptr) {
// #include "JSupport/asm/func_802DBFF0.s"
bool JSUPtrList::prepend(JSUPtrLink* ptr) {
JSUPtrList* list = ptr->list;
bool result = ((JSUPtrList*)NULL == list);
bool result = (NULL == list);
if (!result) {
result = list->remove(ptr);
}
@@ -107,7 +107,7 @@ bool JSUPtrList::prepend(JSUPtrLink* ptr) {
bool JSUPtrList::insert(JSUPtrLink* before, JSUPtrLink* ptr) {
if (before == this->head) {
return this->prepend(ptr);
} else if (before == (JSUPtrLink*)NULL) {
} else if (before == NULL) {
return this->append(ptr);
}
@@ -115,7 +115,7 @@ bool JSUPtrList::insert(JSUPtrLink* before, JSUPtrLink* ptr) {
return false;
}
bool result = ((JSUPtrList*)NULL == ptr->list);
bool result = (NULL == ptr->list);
if (!result) {
result = ptr->list->remove(ptr);
}
@@ -138,20 +138,20 @@ bool JSUPtrList::remove(JSUPtrLink* ptr) {
bool is_parent = (ptr->list == this);
if (is_parent) {
if (this->length == 1) {
this->head = (JSUPtrLink*)NULL;
this->tail = (JSUPtrLink*)NULL;
this->head = NULL;
this->tail = NULL;
} else if (ptr == this->head) {
ptr->next->prev = (JSUPtrLink*)NULL;
ptr->next->prev = NULL;
this->head = ptr->next;
} else if (ptr == this->tail) {
ptr->prev->next = (JSUPtrLink*)NULL;
ptr->prev->next = NULL;
this->tail = ptr->prev;
} else {
ptr->prev->next = ptr->next;
ptr->next->prev = ptr->prev;
}
ptr->list = (JSUPtrList*)NULL;
ptr->list = NULL;
this->length--;
}
@@ -161,7 +161,7 @@ bool JSUPtrList::remove(JSUPtrLink* ptr) {
// #include "JSupport/asm/func_802DC20C.s"
JSUPtrLink* JSUPtrList::getNthLink(u32 index) const {
if (index >= this->length) {
return (JSUPtrLink*)NULL;
return NULL;
}
JSUPtrLink* node = this->head;
+24 -1
View File
@@ -1 +1,24 @@
// ok
struct counter_class {
int mCounter0;
int mCounter1;
int mTimer;
};
// g_Counter
extern counter_class lbl_80430CD8;
extern "C" {
void cCt_Counter(int resetCounter1)
{
if (resetCounter1 == 1) {
lbl_80430CD8.mCounter1 = 0;
} else {
lbl_80430CD8.mCounter1++;
}
lbl_80430CD8.mCounter0++;
}
};
+72 -1
View File
@@ -1 +1,72 @@
// ok
#include "global.h"
#include "SComponent/c_list.h"
extern "C" {
void cLs_Init(node_list_class *pList)
{
pList->mpHead = NULL;
pList->mpTail = NULL;
pList->mSize = 0;
}
int cLs_SingleCut(node_class *pNode)
{
node_list_class *pList = (node_list_class *) pNode->mpData;
if (pNode == pList->mpHead)
pList->mpHead = pNode->mpNextNode;
if (pNode == pList->mpTail)
pList->mpTail = pNode->mpPrevNode;
cNd_SingleCut(pNode);
cNd_ClearObject(pNode);
int newSize = pList->mSize - 1;
pList->mSize = newSize;
return newSize > 0;
}
int cLs_Addition(node_list_class *pList, node_class *pNode)
{
if (pList->mpTail == NULL) {
pList->mpHead = pNode;
} else {
cNd_Addition(pList->mpTail, pNode);
}
pList->mpTail = cNd_Last(pNode);
cNd_SetObject(pNode, pList);
pList->mSize = cNd_LengthOf(pList->mpHead);
return pList->mSize;
}
int cLs_Insert(node_list_class *pList, int idx, node_class *pNode)
{
node_class *pExisting = cNd_Order(pList->mpHead, idx);
if (pExisting == NULL) {
return cLs_Addition(pList, pNode);
} else {
cNd_SetObject(pNode, pList);
cNd_Insert(pExisting, pNode);
pList->mpHead = cNd_First(pNode);
pList->mSize = cNd_LengthOf(pList->mpHead);
return pList->mSize;
}
}
node_class * cLs_GetFirst(node_list_class *pList)
{
if (pList->mSize != 0) {
node_class *pHead = pList->mpHead;
cLs_SingleCut(pHead);
return pHead;
} else {
return NULL;
}
}
void cLs_Create(node_list_class *pList)
{
cLs_Init(pList);
}
};
+23 -1
View File
@@ -1 +1,23 @@
// ok
#include "global.h"
#include "SComponent/c_list_iter.h"
extern "C" {
int cLsIt_Method(node_list_class *pList, cNdIt_MethodFunc pMethod, void *pUserData)
{
if (pList->mSize > 0)
return cNdIt_Method(pList->mpHead, pMethod, pUserData);
else
return 1;
}
void * cLsIt_Judge(node_list_class *pList, cNdIt_JudgeFunc pJudge, void *pUserData)
{
if (pList->mSize > 0)
return cNdIt_Judge(pList->mpHead, pJudge, pUserData);
else
return NULL;
}
};
+125 -1
View File
@@ -1 +1,125 @@
// ok
#include "global.h"
#include "SComponent/c_node.h"
extern "C" {
#define NODE_GET_PREV(pNode) (pNode ? pNode->mpPrevNode : NULL)
#define NODE_GET_NEXT(pNode) (pNode ? pNode->mpNextNode : NULL)
void cNd_Join(node_class *pA, node_class *pB)
{
pA->mpNextNode = pB;
pB->mpPrevNode = pA;
}
int cNd_LengthOf(node_class *pNode)
{
int count = 0;
while (pNode) {
count++;
pNode = NODE_GET_NEXT(pNode);
}
return count;
}
node_class * cNd_First(node_class *pNode)
{
node_class *pRet = NULL;
while (pNode) {
pRet = pNode;
pNode = NODE_GET_PREV(pNode);
}
return pRet;
}
node_class * cNd_Last(node_class *pNode)
{
node_class *pRet = NULL;
while (pNode) {
pRet = pNode;
pNode = NODE_GET_NEXT(pNode);
}
return pRet;
}
node_class * cNd_Order(node_class *pNode, int idx)
{
node_class *pRet = NULL;
int i = 0;
while (i < idx && pNode) {
pRet = pNode;
i++;
pNode = NODE_GET_NEXT(pNode);
}
if (i < idx)
return pRet;
return NULL;
}
void cNd_SingleCut(node_class *pNode)
{
node_class *pPrev = pNode->mpPrevNode;
node_class *pNext = pNode->mpNextNode;
if (pPrev)
pPrev->mpNextNode = pNode->mpNextNode;
if (pNext)
pNext->mpPrevNode = pNode->mpPrevNode;
pNode->mpPrevNode = NULL;
pNode->mpNextNode = NULL;
}
void cNd_Cut(node_class *pNode)
{
if (pNode->mpPrevNode)
pNode->mpPrevNode->mpNextNode = NULL;
pNode->mpPrevNode = NULL;
}
void cNd_Addition(node_class *pA, node_class *pB)
{
node_class *pLast = cNd_Last(pA);
cNd_Join(pLast, pB);
}
void cNd_Insert(node_class *pA, node_class *pB)
{
node_class *pPrev = pA->mpPrevNode;
if (pPrev == NULL) {
cNd_Addition(pB, pA);
} else {
cNd_Cut(pA);
cNd_Addition(pPrev, pB);
cNd_Addition(pB, pA);
}
}
void cNd_SetObject(node_class *pNode, void *pData)
{
while (pNode) {
pNode->mpData = pData;
pNode = NODE_GET_NEXT(pNode);
}
}
void cNd_ClearObject(node_class *pNode)
{
cNd_SetObject(pNode, NULL);
}
void cNd_ForcedClear(node_class *pNode)
{
pNode->mpPrevNode = NULL;
pNode->mpNextNode = NULL;
pNode->mpData = NULL;
}
void cNd_Create(node_class *pNode, void *pData)
{
pNode->mpPrevNode = NULL;
pNode->mpNextNode = NULL;
pNode->mpData = pData;
}
};
+41 -1
View File
@@ -1 +1,41 @@
// ok
#include "global.h"
#include "SComponent/c_node_iter.h"
extern "C" {
#define NODE_GET_PREV(pNode) (pNode ? pNode->mpPrevNode : NULL)
#define NODE_GET_NEXT(pNode) (pNode ? pNode->mpNextNode : NULL)
int cNdIt_Method(node_class *pNode, cNdIt_MethodFunc pMethod, void *pUserData)
{
int ret = 1;
node_class *pNext = NODE_GET_NEXT(pNode);
while (pNode) {
int methodRet = pMethod(pNode, pUserData);
if (!methodRet)
ret = 0;
pNode = pNext;
pNext = NODE_GET_NEXT(pNext);
}
return ret;
}
void * cNdIt_Judge(node_class *pNode, cNdIt_JudgeFunc pJudge, void *pUserData)
{
node_class *pNext = NODE_GET_NEXT(pNode);
while (pNode) {
void *pJudgeRet = pJudge(pNode, pUserData);
if (pJudgeRet != NULL)
return pJudgeRet;
pNode = pNext;
pNext = NODE_GET_NEXT(pNext);
}
return NULL;
}
};
+183 -1
View File
@@ -1 +1,183 @@
// ok
#include "global.h"
#include "SComponent/c_phase.h"
void cPhs_Reset(request_of_phase_process_class *pPhase)
{
pPhase->mPhaseStep = 0;
}
void cPhs_Set(request_of_phase_process_class *pPhase, cPhs__Handler *pHandlerTable)
{
pPhase->mpHandlerTable = pHandlerTable;
pPhase->mPhaseStep = 0;
}
void cPhs_UnCompleate(request_of_phase_process_class *pPhase)
{
pPhase->mpHandlerTable = NULL;
cPhs_Reset(pPhase);
}
int cPhs_Compleate(request_of_phase_process_class *pPhase)
{
pPhase->mpHandlerTable = NULL;
return cPhs_COMPLEATE_e;
}
#if NON_MATCHING
int cPhs_Next(request_of_phase_process_class *pPhase)
{
// flow control
if (pPhase->mpHandlerTable != NULL) {
pPhase->mPhaseStep++;
cPhs__Handler pHandler = pPhase->mpHandlerTable[pPhase->mPhaseStep];
if (pHandler == NULL)
return cPhs_Compleate(pPhase);
else if (pHandler != NULL)
return 1;
}
return cPhs_COMPLEATE_e;
}
#else
asm int cPhs_Next(request_of_phase_process_class *pPhase)
{
nofralloc
/* 80266678 002635B8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8026667C 002635BC 7C 08 02 A6 */ mflr r0
/* 80266680 002635C0 90 01 00 14 */ stw r0, 0x14(r1)
/* 80266684 002635C4 80 A3 00 00 */ lwz r5, 0(r3)
/* 80266688 002635C8 28 05 00 00 */ cmplwi r5, 0
/* 8026668C 002635CC 41 82 00 38 */ beq lbl_802666C4
/* 80266690 002635D0 80 83 00 04 */ lwz r4, 4(r3)
/* 80266694 002635D4 38 04 00 01 */ addi r0, r4, 1
/* 80266698 002635D8 90 03 00 04 */ stw r0, 4(r3)
/* 8026669C 002635DC 80 03 00 04 */ lwz r0, 4(r3)
/* 802666A0 002635E0 54 00 10 3A */ slwi r0, r0, 2
/* 802666A4 002635E4 7C 05 00 2E */ lwzx r0, r5, r0
/* 802666A8 002635E8 28 00 00 00 */ cmplwi r0, 0
/* 802666AC 002635EC 41 82 00 08 */ beq lbl_802666B4
/* 802666B0 002635F0 40 82 00 0C */ bne lbl_802666BC
lbl_802666B4:
/* 802666B4 002635F4 4B FF FF B5 */ bl cPhs_Compleate
/* 802666B8 002635F8 48 00 00 10 */ b lbl_802666C8
lbl_802666BC:
/* 802666BC 002635FC 38 60 00 01 */ li r3, 1
/* 802666C0 00263600 48 00 00 08 */ b lbl_802666C8
lbl_802666C4:
/* 802666C4 00263604 38 60 00 04 */ li r3, 4
lbl_802666C8:
/* 802666C8 00263608 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802666CC 0026360C 7C 08 03 A6 */ mtlr r0
/* 802666D0 00263610 38 21 00 10 */ addi r1, r1, 0x10
/* 802666D4 00263614 4E 80 00 20 */ blr
}
#endif
#if NON_MATCHING
int cPhs_Do(request_of_phase_process_class *pPhase, void *pUserData)
{
cPhs__Handler *pHandlerTable = pPhase->mpHandlerTable;
if (pHandlerTable != NULL) {
// the load of pUserData seems to be slightly scrambled..
int step = pPhase->mPhaseStep;
cPhs__Handler pHandler = pHandlerTable[step];
int newStep = pHandler(pUserData);
switch (newStep) {
case 1:
return cPhs_Next(pPhase);
case 2: {
int step2 = cPhs_Next(pPhase);
return step2 == 1 ? 2 : cPhs_COMPLEATE_e;
}
case 3: {
cPhs_UnCompleate(pPhase);
return 3;
}
case cPhs_COMPLEATE_e:
return cPhs_Compleate(pPhase);
case cPhs_ERROR_e:
cPhs_UnCompleate(pPhase);
return cPhs_ERROR_e;
}
return newStep;
} else {
return cPhs_Compleate(pPhase);
}
}
#else
asm int cPhs_Do(request_of_phase_process_class *pPhase, void *pUserData)
{
nofralloc
/* 802666D8 00263618 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802666DC 0026361C 7C 08 02 A6 */ mflr r0
/* 802666E0 00263620 90 01 00 14 */ stw r0, 0x14(r1)
/* 802666E4 00263624 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802666E8 00263628 7C 7F 1B 78 */ mr r31, r3
/* 802666EC 0026362C 80 A3 00 00 */ lwz r5, 0(r3)
/* 802666F0 00263630 28 05 00 00 */ cmplwi r5, 0
/* 802666F4 00263634 41 82 00 A0 */ beq lbl_80266794
/* 802666F8 00263638 80 1F 00 04 */ lwz r0, 4(r31)
/* 802666FC 0026363C 54 00 10 3A */ slwi r0, r0, 2
/* 80266700 00263640 7C 83 23 78 */ mr r3, r4
/* 80266704 00263644 7D 85 00 2E */ lwzx r12, r5, r0
/* 80266708 00263648 7D 89 03 A6 */ mtctr r12
/* 8026670C 0026364C 4E 80 04 21 */ bctrl
/* 80266710 00263650 2C 03 00 03 */ cmpwi r3, 3
/* 80266714 00263654 41 82 00 5C */ beq lbl_80266770
/* 80266718 00263658 40 80 00 14 */ bge lbl_8026672C
/* 8026671C 0026365C 2C 03 00 01 */ cmpwi r3, 1
/* 80266720 00263660 41 82 00 1C */ beq lbl_8026673C
/* 80266724 00263664 40 80 00 24 */ bge lbl_80266748
/* 80266728 00263668 48 00 00 70 */ b lbl_80266798
lbl_8026672C:
/* 8026672C 0026366C 2C 03 00 05 */ cmpwi r3, 5
/* 80266730 00263670 41 82 00 50 */ beq lbl_80266780
/* 80266734 00263674 40 80 00 64 */ bge lbl_80266798
/* 80266738 00263678 48 00 00 2C */ b lbl_80266764
lbl_8026673C:
/* 8026673C 0026367C 7F E3 FB 78 */ mr r3, r31
/* 80266740 00263680 4B FF FF 39 */ bl cPhs_Next
/* 80266744 00263684 48 00 00 54 */ b lbl_80266798
lbl_80266748:
/* 80266748 00263688 7F E3 FB 78 */ mr r3, r31
/* 8026674C 0026368C 4B FF FF 2D */ bl cPhs_Next
/* 80266750 00263690 2C 03 00 01 */ cmpwi r3, 1
/* 80266754 00263694 38 60 00 04 */ li r3, 4
/* 80266758 00263698 40 82 00 40 */ bne lbl_80266798
/* 8026675C 0026369C 38 60 00 02 */ li r3, 2
/* 80266760 002636A0 48 00 00 38 */ b lbl_80266798
lbl_80266764:
/* 80266764 002636A4 7F E3 FB 78 */ mr r3, r31
/* 80266768 002636A8 4B FF FF 01 */ bl cPhs_Compleate
/* 8026676C 002636AC 48 00 00 2C */ b lbl_80266798
lbl_80266770:
/* 80266770 002636B0 7F E3 FB 78 */ mr r3, r31
/* 80266774 002636B4 4B FF FE CD */ bl cPhs_UnCompleate
/* 80266778 002636B8 38 60 00 03 */ li r3, 3
/* 8026677C 002636BC 48 00 00 1C */ b lbl_80266798
lbl_80266780:
/* 80266780 002636C0 7F E3 FB 78 */ mr r3, r31
/* 80266784 002636C4 4B FF FE BD */ bl cPhs_UnCompleate
/* 80266788 002636C8 38 60 00 05 */ li r3, 5
/* 8026678C 002636CC 48 00 00 0C */ b lbl_80266798
/* 80266790 002636D0 48 00 00 08 */ b lbl_80266798
lbl_80266794:
/* 80266794 002636D4 4B FF FE D5 */ bl cPhs_Compleate
lbl_80266798:
/* 80266798 002636D8 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8026679C 002636DC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802667A0 002636E0 7C 08 03 A6 */ mtlr r0
/* 802667A4 002636E4 38 21 00 10 */ addi r1, r1, 0x10
/* 802667A8 002636E8 4E 80 00 20 */ blr
}
#endif
int cPhs_Handler(request_of_phase_process_class *pPhase, cPhs__Handler *pHandlerTable, void *pUserData)
{
pPhase->mpHandlerTable = pHandlerTable;
return cPhs_Do(pPhase, pUserData);
}
+91 -1
View File
@@ -1 +1,91 @@
// ok
#include "SComponent/c_tag.h"
#include "SComponent/c_tree.h"
extern "C" {
int cTg_IsUse(create_tag_class *pTag)
{
return pTag->mbIsUse;
}
int cTg_SingleCutFromTree(create_tag_class *pTag)
{
if (pTag->mbIsUse == true) {
pTag->mbIsUse = false;
cTr_SingleCut(pTag);
return true;
} else {
return false;
}
}
int cTg_AdditionToTree(node_lists_tree_class *pTree, int listIdx, create_tag_class *pTag)
{
if (!pTag->mbIsUse) {
int ret = cTr_Addition(pTree, listIdx, pTag);
if (ret) {
pTag->mbIsUse = true;
return ret;
}
}
return 0;
}
int cTg_InsertToTree(node_lists_tree_class *pTree, int listIdx, create_tag_class *pTag, int idx)
{
if (!pTag->mbIsUse) {
int ret = cTr_Insert(pTree, listIdx, pTag, idx);
if (ret) {
pTag->mbIsUse = true;
return ret;
}
}
return 0;
}
node_class * cTg_GetFirst(node_list_class *pList)
{
create_tag_class *pTag = (create_tag_class *) cLs_GetFirst(pList);
if (pTag != NULL) {
pTag->mbIsUse = false;
} else {
pTag = NULL;
}
return pTag;
}
int cTg_SingleCut(create_tag_class *pTag)
{
if (pTag->mbIsUse == 1) {
pTag->mbIsUse = false;
cLs_SingleCut(pTag);
return 1;
}
return 0;
}
int cTg_Addition(node_list_class *pList, create_tag_class *pTag)
{
if (!pTag->mbIsUse) {
int ret = cLs_Addition(pList, pTag);
if (ret) {
pTag->mbIsUse = true;
return ret;
}
}
return 0;
}
void cTg_Create(create_tag_class *pTag, void *pData)
{
cNd_Create(pTag, NULL);
pTag->mpTagData = pData;
pTag->mbIsUse = false;
}
};
+17 -1
View File
@@ -1 +1,17 @@
// ok
#include "global.h"
#include "SComponent/c_tag_iter.h"
extern "C" {
int cTgIt_MethodCall(create_tag_class *pTag, method_filter *pMethodFilter)
{
return pMethodFilter->mpMethodFunc((node_class *) pTag->mpTagData, pMethodFilter->mpUserData);
}
void * cTgIt_JudgeFilter(create_tag_class *pTag, judge_filter *pJudgeFilter)
{
return pJudgeFilter->mpJudgeFunc((node_class *) pTag->mpTagData, pJudgeFilter->mpUserData);
}
};
+37 -1
View File
@@ -1 +1,37 @@
// ok
#include "global.h"
#include "SComponent/c_tree.h"
extern "C" {
int cTr_SingleCut(node_class *pNode)
{
return cLs_SingleCut(pNode);
}
int cTr_Addition(node_lists_tree_class *pTree, int listIdx, node_class *pNode)
{
if (listIdx >= pTree->mNumLists)
return 0;
return cLs_Addition(&pTree->mpLists[listIdx], pNode);
}
int cTr_Insert(node_lists_tree_class *pTree, int listIdx, node_class *pNode, int idx)
{
if (listIdx >= pTree->mNumLists)
return 0;
return cLs_Insert(&pTree->mpLists[listIdx], idx, pNode);
}
void cTr_Create(node_lists_tree_class *pTree, node_list_class *pLists, int numLists)
{
pTree->mpLists = pLists;
pTree->mNumLists = numLists;
while (numLists-- > 0)
cLs_Create(pLists++);
}
};
+33 -1
View File
@@ -1 +1,33 @@
// ok
#include "global.h"
#include "SComponent/c_list_iter.h"
#include "SComponent/c_tree_iter.h"
extern "C" {
int cTrIt_Method(node_lists_tree_class *pTree, cNdIt_MethodFunc pMethod, void *pUserData)
{
node_list_class *pList = pTree->mpLists;
int i = pTree->mNumLists;
int ret = 1;
while (i-- > 0) {
int sub = cLsIt_Method(pList++, pMethod, pUserData);
if (sub == 0)
ret = 0;
}
return ret;
}
void * cTrIt_Judge(node_lists_tree_class *pTree, cNdIt_JudgeFunc pJudge, void *pUserData)
{
node_list_class *pList = pTree->mpLists;
int i = pTree->mNumLists;
while (i-- > 0) {
void *pJudgeRet = cLsIt_Judge(pList++, pJudge, pUserData);
if (pJudgeRet != NULL)
return pJudgeRet;
}
return NULL;
}
};
+27 -26
View File
@@ -52,30 +52,32 @@ TEXT_O_FILES := \
$(BUILD_DIR)/asm/f/op/scene/f_op_scene_pause.o \
$(BUILD_DIR)/asm/f/pc/f_pc_base.o \
$(BUILD_DIR)/asm/f/pc/create/f_pc_create_iter.o \
$(BUILD_DIR)/asm/f/pc/create/f_pc_create_req.o \
$(BUILD_DIR)/asm/f/pc/create/f_pc_create_tag.o \
$(BUILD_DIR)/asm/f/pc/f_pc_creator.o \
$(BUILD_DIR)/asm/f/pc/delete/f_pc_delete_tag.o \
$(BUILD_DIR)/src/f/f_pc/f_pc_create_req.o \
$(BUILD_DIR)/src/f/f_pc/f_pc_create_tag.o \
$(BUILD_DIR)/src/f/f_pc/f_pc_creator.o \
$(BUILD_DIR)/src/f/f_pc/f_pc_delete_tag.o \
$(BUILD_DIR)/asm/f/pc/f_pc_deletor.o \
$(BUILD_DIR)/asm/f/pc/draw/f_pc_draw_priority.o \
$(BUILD_DIR)/asm/f/pc/f_pc_executor.o \
$(BUILD_DIR)/src/f/f_pc/f_pc_deletor.o \
$(BUILD_DIR)/src/f/f_pc/f_pc_draw_priority.o \
$(BUILD_DIR)/src/f/f_pc/f_pc_executor.o \
$(BUILD_DIR)/asm/f/pc/f_pc_layer.o \
$(BUILD_DIR)/src/f/f_pc/f_pc_leaf.o \
$(BUILD_DIR)/asm/f/pc/f_pc_leaf.o \
$(BUILD_DIR)/asm/f/pc/layer/f_pc_layer_iter.o \
$(BUILD_DIR)/asm/f/pc/layer/f_pc_layer_tag.o \
$(BUILD_DIR)/asm/f/pc/f_pc_line.o \
$(BUILD_DIR)/asm/f/pc/f_pc_load.o \
$(BUILD_DIR)/src/f/f_pc/f_pc_line.o \
$(BUILD_DIR)/src/f/f_pc/f_pc_load.o \
$(BUILD_DIR)/asm/f/pc/f_pc_manager.o \
$(BUILD_DIR)/asm/f/pc/f_pc_method.o \
$(BUILD_DIR)/src/f/f_pc/f_pc_method.o \
$(BUILD_DIR)/asm/f/pc/f_pc_node.o \
$(BUILD_DIR)/asm/f/pc/node/f_pc_node_req.o \
$(BUILD_DIR)/asm/f/pc/f_pc_priority.o \
$(BUILD_DIR)/asm/f/pc/f_pc_profile.o \
$(BUILD_DIR)/asm/f/pc/f_pc_searcher.o \
$(BUILD_DIR)/asm/f/pc/line/f_pc_line_tag.o \
$(BUILD_DIR)/asm/f/pc/line/f_pc_line_iter.o \
$(BUILD_DIR)/asm/f/pc/method/f_pc_method_iter.o \
$(BUILD_DIR)/asm/f/pc/method/f_pc_method_tag.o \
$(BUILD_DIR)/src/f/f_pc/f_pc_profile.o \
$(BUILD_DIR)/src/f/f_pc/f_pc_searcher.o \
$(BUILD_DIR)/src/f/f_pc/f_pc_line_tag.o \
$(BUILD_DIR)/src/f/f_pc/f_pc_line_iter.o \
$(BUILD_DIR)/src/f/f_pc/f_pc_method_iter.o \
$(BUILD_DIR)/src/f/f_pc/f_pc_method_tag.o \
$(BUILD_DIR)/asm/f/pc/f_pc_pause.o \
$(BUILD_DIR)/asm/f/pc/f_pc_draw.o \
$(BUILD_DIR)/asm/f/pc/fstcreate/f_pc_fstcreate_req.o \
@@ -243,17 +245,17 @@ TEXT_O_FILES := \
$(BUILD_DIR)/asm/SComponent/c/API/c_API_graphic.o \
$(BUILD_DIR)/asm/SComponent/c/cc/c_cc_d.o \
$(BUILD_DIR)/asm/SComponent/c/cc/c_cc_s.o \
$(BUILD_DIR)/asm/SComponent/c/c_counter.o \
$(BUILD_DIR)/asm/SComponent/c/c_list.o \
$(BUILD_DIR)/asm/SComponent/c/list/c_list_iter.o \
$(BUILD_DIR)/asm/SComponent/c/c_node.o \
$(BUILD_DIR)/asm/SComponent/c/node/c_node_iter.o \
$(BUILD_DIR)/asm/SComponent/c/c_tree.o \
$(BUILD_DIR)/asm/SComponent/c/tree/c_tree_iter.o \
$(BUILD_DIR)/asm/SComponent/c/c_phase.o \
$(BUILD_DIR)/libs/SSystem/SComponent/c_counter.o \
$(BUILD_DIR)/libs/SSystem/SComponent/c_list.o \
$(BUILD_DIR)/libs/SSystem/SComponent/c_list_iter.o \
$(BUILD_DIR)/libs/SSystem/SComponent/c_node.o \
$(BUILD_DIR)/libs/SSystem/SComponent/c_node_iter.o \
$(BUILD_DIR)/libs/SSystem/SComponent/c_tree.o \
$(BUILD_DIR)/libs/SSystem/SComponent/c_tree_iter.o \
$(BUILD_DIR)/libs/SSystem/SComponent/c_phase.o \
$(BUILD_DIR)/asm/SComponent/c/c_request.o \
$(BUILD_DIR)/asm/SComponent/c/c_tag.o \
$(BUILD_DIR)/asm/SComponent/c/tag/c_tag_iter.o \
$(BUILD_DIR)/libs/SSystem/SComponent/c_tag.o \
$(BUILD_DIR)/libs/SSystem/SComponent/c_tag_iter.o \
$(BUILD_DIR)/asm/SComponent/c/c_xyz.o \
$(BUILD_DIR)/asm/SComponent/c/c_sxyz.o \
$(BUILD_DIR)/asm/SComponent/c/c_math.o \
@@ -425,7 +427,6 @@ TEXT_O_FILES := \
$(BUILD_DIR)/asm/JKernel/JKRSolidHeap.o \
$(BUILD_DIR)/asm/JKernel/JKRAssertHeap.o \
$(BUILD_DIR)/libs/JSystem/JKernel/JKRDisposer.o \
$(BUILD_DIR)/asm/JKernel/JKRDisposer.o \
$(BUILD_DIR)/asm/JKernel/JKRThread.o \
$(BUILD_DIR)/asm/JKernel/JKRAram.o \
$(BUILD_DIR)/asm/JKernel/JKRAramHeap.o \
+178 -1
View File
@@ -1 +1,178 @@
// ok
#include "f/f_pc/f_pc_create_req.h"
#include "SComponent/c_phase.h"
#include "f/f_pc/f_pc_base.h"
#include "f/f_pc/f_pc_create_iter.h"
#include "f/f_pc/f_pc_layer.h"
#include "f/f_pc/f_pc_method.h"
#include "f/f_pc/f_pc_executor.h"
#include "f/f_pc/f_pc_deletor.h"
extern "C" {
bool fpcCtRq_isCreatingByID(create_tag *pTag, int *pId)
{
create_request *pReq = (create_request *) (pTag->mpTagData);
return pReq->mBsPcId == *pId;
}
bool fpcCtRq_IsCreatingByID(unsigned int id)
{
return fpcCtIt_Judge((cNdIt_JudgeFunc) fpcCtRq_isCreatingByID, &id) != NULL;
}
void fpcCtRq_CreateQTo(create_request *pReq)
{
fpcCtTg_CreateQTo(pReq);
fpcLy_CreatedMesg(pReq->mpLayer);
fpcLy_CancelQTo(&pReq->mMtdTg);
}
void fpcCtRq_ToCreateQ(create_request *pReq)
{
fpcLy_CreatingMesg(pReq->mpLayer);
fpcLy_ToCancelQ(pReq->mpLayer, &pReq->mMtdTg);
fpcCtTg_ToCreateQ(pReq);
}
extern void cMl_NS_free(void *pPtr);
#if NON_MATCHING
bool fpcCtRq_Delete(create_request *pReq)
{
fpcCtRq_CreateQTo(pReq);
if (pReq->mpCtRqMtd != NULL) {
// flow control
if (fpcMtd_Method(pReq->mpCtRqMtd->mpDelete, pReq) == 0)
return 0;
if (pReq->mpRes)
pReq->mpRes->mpCtRq = NULL;
cMl_NS_free(pReq);
return 1;
}
return 0;
}
#else
asm bool fpcCtRq_Delete(create_request *pReq)
{
nofralloc
/* 80020BA0 0001DAE0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80020BA4 0001DAE4 7C 08 02 A6 */ mflr r0
/* 80020BA8 0001DAE8 90 01 00 14 */ stw r0, 0x14(r1)
/* 80020BAC 0001DAEC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80020BB0 0001DAF0 7C 7F 1B 78 */ mr r31, r3
/* 80020BB4 0001DAF4 4B FF FF 6D */ bl fpcCtRq_CreateQTo
/* 80020BB8 0001DAF8 80 7F 00 34 */ lwz r3, 0x34(r31)
/* 80020BBC 0001DAFC 28 03 00 00 */ cmplwi r3, 0
/* 80020BC0 0001DB00 41 82 00 20 */ beq lbl_80020BE0
/* 80020BC4 0001DB04 80 63 00 08 */ lwz r3, 8(r3)
/* 80020BC8 0001DB08 7F E4 FB 78 */ mr r4, r31
/* 80020BCC 0001DB0C 48 00 18 5D */ bl fpcMtd_Method
/* 80020BD0 0001DB10 2C 03 00 00 */ cmpwi r3, 0
/* 80020BD4 0001DB14 40 82 00 0C */ bne lbl_80020BE0
/* 80020BD8 0001DB18 38 60 00 00 */ li r3, 0
/* 80020BDC 0001DB1C 48 00 00 24 */ b lbl_80020C00
lbl_80020BE0:
/* 80020BE0 0001DB20 80 7F 00 40 */ lwz r3, 0x40(r31)
/* 80020BE4 0001DB24 28 03 00 00 */ cmplwi r3, 0
/* 80020BE8 0001DB28 41 82 00 0C */ beq lbl_80020BF4
/* 80020BEC 0001DB2C 38 00 00 00 */ li r0, 0
/* 80020BF0 0001DB30 90 03 00 14 */ stw r0, 0x14(r3)
lbl_80020BF4:
/* 80020BF4 0001DB34 7F E3 FB 78 */ mr r3, r31
/* 80020BF8 0001DB38 48 24 26 69 */ bl cMl_NS_free
/* 80020BFC 0001DB3C 38 60 00 01 */ li r3, 1
lbl_80020C00:
/* 80020C00 0001DB40 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80020C04 0001DB44 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80020C08 0001DB48 7C 08 03 A6 */ mtlr r0
/* 80020C0C 0001DB4C 38 21 00 10 */ addi r1, r1, 0x10
/* 80020C10 0001DB50 4E 80 00 20 */ blr
}
#endif
bool fpcCtRq_Cancel(create_request *pReq)
{
if (pReq != NULL && !pReq->mbIsCancelling) {
pReq->mbIsCancelling = true;
base_process_class *pProc = pReq->mpRes;
if (pProc != NULL && !fpcDt_Delete(pProc))
return false;
if (pReq->mpCtRqMtd != NULL && !fpcMtd_Method(pReq->mpCtRqMtd->mpCancel, pReq))
return false;
return fpcCtRq_Delete(pReq);
} else {
return true;
}
}
int fpcCtRq_IsDoing(create_request *pReq)
{
if (pReq != NULL)
return pReq->mbIsCreating;
else
return false;
}
static bool fpcCtRq_Do(create_request *pReq)
{
int ret = cPhs_COMPLEATE_e;
if (pReq->mpCtRqMtd != NULL) {
cPhs__Handler pHandler = pReq->mpCtRqMtd->mpHandler;
if (pHandler != NULL) {
pReq->mbIsCreating = true;
ret = pHandler(pReq);
pReq->mbIsCreating = false;
}
}
switch (ret) {
case cPhs_COMPLEATE_e: {
int success = fpcEx_ToExecuteQ(pReq->mpRes);
if (success == 0)
return fpcCtRq_Cancel(pReq);
else
return fpcCtRq_Delete(pReq);
}
case 3:
case cPhs_ERROR_e:
return fpcCtRq_Cancel(pReq);
}
return 1;
}
void fpcCtRq_Handler(void)
{
fpcCtIt_Method((cNdIt_MethodFunc) fpcCtRq_Do, NULL);
}
extern void * cMl_NS_memalignB(int, unsigned long);
extern int fpcBs_MakeOfId(void);
create_request * fpcCtRq_Create(layer_class *pLayer, unsigned long size, create_request_method_class *pMthd)
{
create_request *pReq = (create_request *) cMl_NS_memalignB(-4, size);
if (pReq != NULL) {
fpcCtTg_Init(pReq, pReq);
fpcMtdTg_Init(&pReq->mMtdTg, (process_method_tag_func) fpcCtRq_Cancel, pReq);
pReq->mpLayer = pLayer;
pReq->mpCtRqMtd = pMthd;
pReq->mBsPcId = fpcBs_MakeOfId();
pReq->mpRes = NULL;
pReq->mbIsCancelling = false;
fpcCtRq_ToCreateQ(pReq);
}
return pReq;
}
};
+26 -1
View File
@@ -1 +1,26 @@
// ok
#include "global.h"
#include "f/f_pc/f_pc_create_tag.h"
// g_fpcCtTg_Queue
extern node_list_class lbl_803A3990;
extern "C" {
void fpcCtTg_ToCreateQ(create_tag_class *pTag)
{
cTg_Addition(&lbl_803A3990, pTag);
}
void fpcCtTg_CreateQTo(create_tag_class *pTag)
{
cTg_SingleCut(pTag);
}
int fpcCtTg_Init(create_tag *pTag, void *pUserData)
{
cTg_Create(pTag, pUserData);
return 1;
}
};
+28 -1
View File
@@ -1 +1,28 @@
// ok
#include "f/f_pc/f_pc_creator.h"
#include "f/f_pc/f_pc_base.h"
#include "f/f_pc/f_pc_create_req.h"
extern "C" {
bool fpcCt_IsCreatingByID(unsigned int id)
{
return fpcCtRq_IsCreatingByID(id);
}
int fpcCt_IsDoing(base_process_class *pProc)
{
return fpcCtRq_IsDoing(pProc->mpCtRq);
}
void fpcCt_Abort(base_process_class *pProc)
{
fpcCtRq_Cancel(pProc->mpCtRq);
}
void fpcCt_Handler(void)
{
fpcCtRq_Handler();
}
};
+49 -1
View File
@@ -1 +1,49 @@
// ok
#include "global.h"
#include "f/f_pc/f_pc_delete_tag.h"
// g_fpcDtTg_Queue
extern node_list_class lbl_803A39A0;
extern "C" {
bool fpcDtTg_IsEmpty(delete_tag_class *pTag)
{
return lbl_803A39A0.mSize == 0;
}
void fpcDtTg_ToDeleteQ(delete_tag_class *pTag)
{
pTag->mTimer = 1;
cTg_Addition(&lbl_803A39A0, pTag);
}
void fpcDtTg_DeleteQTo(delete_tag_class *pTag)
{
cTg_SingleCut(pTag);
}
int fpcDtTg_Do(delete_tag_class *pTag, delete_tag_func pFunc)
{
if (pTag->mTimer <= 0) {
fpcDtTg_DeleteQTo(pTag);
int ret = pFunc(pTag->mpTagData);
if (ret == 0) {
fpcDtTg_ToDeleteQ(pTag);
return 0;
} else {
return 1;
}
} else {
pTag->mTimer--;
return 0;
}
}
int fpcDtTg_Init(delete_tag_class *pTag, void *pUserData)
{
cTg_Create(pTag, pUserData);
return 1;
}
};
+23 -1
View File
@@ -1 +1,23 @@
// ok
#include "f/f_pc/f_pc_creator.h"
#include "f/f_pc/f_pc_deletor.h"
#include "f/f_pc/f_pc_base.h"
extern "C" {
int fpcDt_Delete(base_process_class *pProc)
{
if (pProc != NULL) {
if (fpcCt_IsDoing(pProc) == 1)
return 0;
if (pProc->mInitState == 3)
return 0;
return fpcDt_ToDeleteQ(pProc);
} else {
return 1;
}
}
};
+22 -1
View File
@@ -1 +1,22 @@
// ok
#include "global.h"
#include "f/f_pc/f_pc_draw_priority.h"
extern "C" {
int fpcDwPi_Get(draw_priority_class *pDwPi)
{
return pDwPi->mPriority;
}
void fpcDwPi_Set(draw_priority_class *pDwPi, int p)
{
pDwPi->mPriority = p;
}
void fpcDwPi_Init(draw_priority_class *pDwPi, int p)
{
fpcDwPi_Set(pDwPi, p);
}
};
+98 -1
View File
@@ -1 +1,98 @@
// ok
#include "f/f_pc/f_pc_executor.h"
#include "f/f_pc/f_pc_base.h"
#include "f/f_pc/f_pc_line_iter.h"
#include "f/f_pc/f_pc_layer_tag.h"
#include "f/f_pc/f_pc_layer.h"
#include "f/f_pc/f_pc_node.h"
#include "f/f_pc/f_pc_searcher.h"
extern "C" {
extern int fpcLyTg_ToQueue(layer_management_tag_class *pTag, u32 layerID, u16 listID, u16 listPrio);
extern int fpcLyTg_QueueTo(layer_management_tag_class *pTag);
extern int fpcLyIt_OnlyHere(layer_class *pLayer, cNdIt_MethodFunc pFunc, void *pUserData);
extern void * fpcLyIt_AllJudge(void *pFunc, void *pUserData);
extern int fpcPause_IsEnable(base_process_class *pProc, int);
// g_fpcNd_type
extern int lbl_80450D40;
base_process_class * fpcEx_Search(void *pFunc, void *pUserData)
{
return (base_process_class *) fpcLyIt_AllJudge(pFunc, pUserData);
}
base_process_class * fpcEx_SearchByID(u32 id)
{
if (id + 2 <= 1)
return NULL;
return fpcEx_Search(fpcSch_JudgeByID, &id);;
}
bool fpcEx_IsExist(int id)
{
return fpcEx_SearchByID(id) != NULL;
}
int fpcEx_Execute(base_process_class *pProc)
{
if (pProc->mInitState != 2 || fpcPause_IsEnable(pProc, 1) == 1)
return 0;
fpcBs_Execute(pProc);
// TODO: missing return?
}
int fpcEx_ToLineQ(base_process_class *pProc)
{
layer_class *pLayer = pProc->mLyTg.mpLayer;
base_process_class *pLayerPcNode = pLayer->mpPcNode;
if (pLayer->mLayerID == 0 || cTg_IsUse(&pLayerPcNode->mLnTg) == true) {
int ret = fpcLnTg_ToQueue(&pProc->mLnTg, pProc->mPi.b.mListID);
if (ret == 0) {
fpcLyTg_QueueTo(&pProc->mLyTg);
return 0;
}
pProc->mInitState = 2;
if (fpcBs_Is_JustOfType(lbl_80450D40, pProc->mSubType)) {
process_node_class *pNode = (process_node_class *) pProc;
fpcLyIt_OnlyHere(&pNode->mLayer, (cNdIt_MethodFunc) fpcEx_ToLineQ, pNode);
}
return 1;
}
return 0;
}
int fpcEx_ExecuteQTo(base_process_class *pProc)
{
int ret = fpcLyTg_QueueTo(&pProc->mLyTg);
if (ret == 1) {
pProc->mInitState = 3;
return 1;
} else {
return 0;
}
}
int fpcEx_ToExecuteQ(base_process_class *pProc)
{
int ret = fpcLyTg_ToQueue(&pProc->mLyTg, pProc->mPi.b.mLayer, pProc->mPi.b.mListID, pProc->mPi.b.mListPrio);
if (ret == 1) {
fpcEx_ToLineQ(pProc);
return 1;
} else {
return 0;
}
}
void fpcEx_Handler(cNdIt_MethodFunc pFunc)
{
return fpcLnIt_Queue(pFunc);
}
};
+26 -1
View File
@@ -1 +1,26 @@
// ok
#include "f/f_pc/f_pc_leaf.h"
extern "C" {
int fpcLf_GetPriority(leafdraw_class *pLeaf)
{
return fpcDwPi_Get(&pLeaf->mDwPi);
}
int fpcLf_DrawMethod(leafdraw_method_class *pMthd, void *pUserData)
{
return fpcMtd_Method(pMthd->mpDrawFunc, pUserData);
}
#if 0
int fpcLf_Draw(leafdraw_class *pLeaf)
{
int ret = 0;
if (pLeaf->mbUnk0 == 0)
ret = fpcLf_DrawMethod(pLeaf->mpDrawMtd, pLeaf);
return ret;
}
#endif
};
+18 -1
View File
@@ -1 +1,18 @@
// ok
#include "global.h"
#include "SComponent/c_list.h"
// l_fpcLn_Line
extern node_list_class lbl_803F4CF0[16];
extern "C" {
void fpcLn_Create(void)
{
int i = ARRAY_SIZE(lbl_803F4CF0);
node_list_class *pLine = lbl_803F4CF0;
while (i-- > 0)
cLs_Create(pLine++);
}
};
+32 -1
View File
@@ -1 +1,32 @@
// ok
#include "f/f_pc/f_pc_layer.h"
#include "f/f_pc/f_pc_base.h"
#include "SComponent/c_tag_iter.h"
#include "SComponent/c_tree_iter.h"
// g_fpcLn_Queue
extern node_lists_tree_class lbl_804505D8;
extern "C" {
static int fpcLnIt_MethodCall(create_tag_class *pTag, method_filter *pFilter)
{
layer_class *pLayer = ((base_process_class *) pTag->mpTagData)->mLyTg.mpLayer;
layer_class *pCurLayer = fpcLy_CurrentLayer();
fpcLy_SetCurrentLayer(pLayer);
int ret = cTgIt_MethodCall(pTag, pFilter);
fpcLy_SetCurrentLayer(pCurLayer);
return ret;
}
void fpcLnIt_Queue(cNdIt_MethodFunc pFunc)
{
method_filter filter;
filter.mpMethodFunc = pFunc;
filter.mpUserData = NULL;
cTrIt_Method(&lbl_804505D8, (cNdIt_MethodFunc) fpcLnIt_MethodCall, &filter);
}
};
+44 -1
View File
@@ -1 +1,44 @@
// ok
#include "f/f_pc/f_pc_line_tag.h"
// g_fpcLn_Queue
extern node_lists_tree_class lbl_804505D8;
extern "C" {
int fpcLnTg_Move(line_tag *pLineTag, int newLineListID)
{
if (pLineTag->mLineListID != newLineListID) {
fpcLnTg_QueueTo(pLineTag);
return fpcLnTg_ToQueue(pLineTag, newLineListID);
}
return 1;
}
void fpcLnTg_QueueTo(line_tag *pLineTag)
{
cTg_SingleCutFromTree(pLineTag);
pLineTag->mLineListID = -1;
}
int fpcLnTg_ToQueue(line_tag *pLineTag, int lineListID)
{
int ret = cTg_AdditionToTree(&lbl_804505D8, lineListID, pLineTag);
if (ret) {
pLineTag->mLineListID = lineListID;
return 1;
} else {
return 0;
}
}
void fpcLnTg_Init(line_tag *pLineTag, void *pData)
{
cTg_Create(pLineTag, pData);
pLineTag->mLineListID = -1;
}
};
+42 -1
View File
@@ -1 +1,42 @@
// ok
#include "SComponent/c_phase.h"
#include "f/f_pc/f_pc_load.h"
extern "C" {
extern int cDyl_IsLinked(short procName);
extern int cDyl_Unlink(short procName);
extern int cDyl_LinkASync(short procName);
bool fpcLd_Use(u16 procName)
{
if (fpcLd_IsLoaded(procName) == true && fpcLd_Load(procName) == cPhs_COMPLEATE_e)
return true;
return false;
}
int fpcLd_IsLoaded(u16 procName)
{
return cDyl_IsLinked(procName);
}
void fpcLd_Free(u16 procName)
{
cDyl_Unlink(procName);
}
int fpcLd_Load(u16 procName)
{
int phase = cDyl_LinkASync(procName);
switch (phase) {
case cPhs_COMPLEATE_e:
return cPhs_COMPLEATE_e;
case 0:
return 0;
default:
return cPhs_ERROR_e;
}
}
};
+35 -1
View File
@@ -1 +1,35 @@
// ok
#include "global.h"
#include "f/f_pc/f_pc_method.h"
extern "C" {
int fpcMtd_Method(process_method_func pFunc, void *pUserData)
{
if (pFunc != NULL)
return pFunc(pUserData);
else
return 1;
}
int fpcMtd_Execute(process_method_class *pMthd, void *pUserData)
{
return fpcMtd_Method(pMthd->mpExecuteFunc, pUserData);
}
int fpcMtd_IsDelete(process_method_class *pMthd, void *pUserData)
{
return fpcMtd_Method(pMthd->mpIsDeleteFunc, pUserData);
}
int fpcMtd_Delete(process_method_class *pMthd, void *pUserData)
{
return fpcMtd_Method(pMthd->mpDeleteFunc, pUserData);
}
int fpcMtd_Create(process_method_class *pMthd, void *pUserData)
{
return fpcMtd_Method(pMthd->mpCreateFunc, pUserData);
}
};
+12 -1
View File
@@ -1 +1,12 @@
// ok
#include "global.h"
#include "f/f_pc/f_pc_method_iter.h"
extern "C" {
void fpcMtdIt_Method(node_list_class *pList, cNdIt_MethodFunc pMethod)
{
cLsIt_Method(pList, pMethod, NULL);
}
};
+32 -1
View File
@@ -1 +1,32 @@
// ok
#include "f/f_pc/f_pc_method_tag.h"
// g_fpcLn_Queue
extern node_lists_tree_class lbl_804505D8;
extern "C" {
void fpcMtdTg_Do(process_method_tag_class *pMthd)
{
pMthd->mpFunc(pMthd->mpMthdData);
}
void fpcMtdTg_ToMethodQ(node_list_class *pList, process_method_tag_class *pMthd)
{
cTg_Addition(pList, pMthd);
}
void fpcMtdTg_MethodQTo(process_method_tag_class *pMthd)
{
cTg_SingleCut(pMthd);
}
int fpcMtdTg_Init(process_method_tag_class *pMthd, process_method_tag_func pFunc, void *pMthdData)
{
cTg_Create(pMthd, pMthd);
pMthd->mpFunc = pFunc;
pMthd->mpMthdData = pMthdData;
return 1;
}
};
+14 -1
View File
@@ -1 +1,14 @@
// ok
#include "f/f_pc/f_pc_profile.h"
// g_fpcPf_ProfileList_p
extern void ** lbl_80450D50;
extern "C" {
void * fpcPf_Get(s16 profileID)
{
return lbl_80450D50[profileID];
}
};

Some files were not shown because too many files have changed in this diff Show More