mirror of https://github.com/zeldaret/tp.git
f_pc_layer (#16)
* f_op_actor_tag OK * f_pc_layer_tag OK * f_pc_layer_iter * forgot a return * identation and extern var name comments * fix struct member name Co-authored-by: Pheenoh <pheenoh@gmail.com>
This commit is contained in:
parent
2fbecbc1da
commit
89385fe8fd
3
Makefile
3
Makefile
|
|
@ -103,7 +103,8 @@ tools:
|
|||
$(MAKE) -C tools
|
||||
|
||||
$(ELF): $(O_FILES) $(LDSCRIPT)
|
||||
$(LD) $(LDFLAGS) -o $@ -lcf $(LDSCRIPT) $(O_FILES)
|
||||
echo $(O_FILES) > build/o_files
|
||||
$(LD) $(LDFLAGS) -o $@ -lcf $(LDSCRIPT) @build/o_files
|
||||
# The Metrowerks linker doesn't generate physical addresses in the ELF program headers. This fixes it somehow.
|
||||
# $(OBJCOPY) $@ $@
|
||||
|
||||
|
|
|
|||
|
|
@ -1,42 +0,0 @@
|
|||
.include "macros.inc"
|
||||
|
||||
.section .text, "ax" # 80019834
|
||||
|
||||
|
||||
.global fopAcTg_ToActorQ
|
||||
fopAcTg_ToActorQ:
|
||||
/* 80019834 00016774 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 80019838 00016778 7C 08 02 A6 */ mflr r0
|
||||
/* 8001983C 0001677C 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 80019840 00016780 7C 64 1B 78 */ mr r4, r3
|
||||
/* 80019844 00016784 3C 60 80 3A */ lis r3, lbl_803A35E0@ha
|
||||
/* 80019848 00016788 38 63 35 E0 */ addi r3, r3, lbl_803A35E0@l
|
||||
/* 8001984C 0001678C 48 24 D1 99 */ bl cTg_Addition
|
||||
/* 80019850 00016790 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 80019854 00016794 7C 08 03 A6 */ mtlr r0
|
||||
/* 80019858 00016798 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 8001985C 0001679C 4E 80 00 20 */ blr
|
||||
|
||||
.global fopAcTg_ActorQTo
|
||||
fopAcTg_ActorQTo:
|
||||
/* 80019860 000167A0 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 80019864 000167A4 7C 08 02 A6 */ mflr r0
|
||||
/* 80019868 000167A8 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 8001986C 000167AC 48 24 D0 21 */ bl cTg_SingleCutFromTree
|
||||
/* 80019870 000167B0 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 80019874 000167B4 7C 08 03 A6 */ mtlr r0
|
||||
/* 80019878 000167B8 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 8001987C 000167BC 4E 80 00 20 */ blr
|
||||
|
||||
.global fopAcTg_Init
|
||||
fopAcTg_Init:
|
||||
/* 80019880 000167C0 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 80019884 000167C4 7C 08 02 A6 */ mflr r0
|
||||
/* 80019888 000167C8 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 8001988C 000167CC 48 24 D1 A9 */ bl cTg_Create
|
||||
/* 80019890 000167D0 38 60 00 01 */ li r3, 1
|
||||
/* 80019894 000167D4 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 80019898 000167D8 7C 08 03 A6 */ mtlr r0
|
||||
/* 8001989C 000167DC 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 800198A0 000167E0 4E 80 00 20 */ blr
|
||||
|
||||
|
|
@ -1,369 +0,0 @@
|
|||
.include "macros.inc"
|
||||
|
||||
.section .text, "ax" # 80021588
|
||||
|
||||
|
||||
.global fpcLy_CancelQTo
|
||||
fpcLy_CancelQTo:
|
||||
/* 80021588 0001E4C8 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 8002158C 0001E4CC 7C 08 02 A6 */ mflr r0
|
||||
/* 80021590 0001E4D0 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 80021594 0001E4D4 48 00 22 45 */ bl fpcMtdTg_MethodQTo
|
||||
/* 80021598 0001E4D8 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 8002159C 0001E4DC 7C 08 03 A6 */ mtlr r0
|
||||
/* 800215A0 0001E4E0 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 800215A4 0001E4E4 4E 80 00 20 */ blr
|
||||
|
||||
.global fpcLy_ToCancelQ
|
||||
fpcLy_ToCancelQ:
|
||||
/* 800215A8 0001E4E8 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 800215AC 0001E4EC 7C 08 02 A6 */ mflr r0
|
||||
/* 800215B0 0001E4F0 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 800215B4 0001E4F4 38 63 00 1C */ addi r3, r3, 0x1c
|
||||
/* 800215B8 0001E4F8 48 00 22 01 */ bl fpcMtdTg_ToMethodQ
|
||||
/* 800215BC 0001E4FC 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 800215C0 0001E500 7C 08 03 A6 */ mtlr r0
|
||||
/* 800215C4 0001E504 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 800215C8 0001E508 4E 80 00 20 */ blr
|
||||
.global fpcLy_CancelMethod
|
||||
fpcLy_CancelMethod:
|
||||
/* 800215CC 0001E50C 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 800215D0 0001E510 7C 08 02 A6 */ mflr r0
|
||||
/* 800215D4 0001E514 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 800215D8 0001E518 48 00 21 B1 */ bl fpcMtdTg_Do
|
||||
/* 800215DC 0001E51C 20 03 00 01 */ subfic r0, r3, 1
|
||||
/* 800215E0 0001E520 7C 00 00 34 */ cntlzw r0, r0
|
||||
/* 800215E4 0001E524 54 03 D9 7E */ srwi r3, r0, 5
|
||||
/* 800215E8 0001E528 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 800215EC 0001E52C 7C 08 03 A6 */ mtlr r0
|
||||
/* 800215F0 0001E530 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 800215F4 0001E534 4E 80 00 20 */ blr
|
||||
|
||||
.global fpcLy_IntoQueue
|
||||
fpcLy_IntoQueue:
|
||||
/* 800215F8 0001E538 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 800215FC 0001E53C 7C 08 02 A6 */ mflr r0
|
||||
/* 80021600 0001E540 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 80021604 0001E544 38 63 00 10 */ addi r3, r3, 0x10
|
||||
/* 80021608 0001E548 48 24 53 15 */ bl cTg_InsertToTree
|
||||
/* 8002160C 0001E54C 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 80021610 0001E550 7C 08 03 A6 */ mtlr r0
|
||||
/* 80021614 0001E554 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 80021618 0001E558 4E 80 00 20 */ blr
|
||||
|
||||
.global fpcLy_ToQueue
|
||||
fpcLy_ToQueue:
|
||||
/* 8002161C 0001E55C 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 80021620 0001E560 7C 08 02 A6 */ mflr r0
|
||||
/* 80021624 0001E564 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 80021628 0001E568 38 63 00 10 */ addi r3, r3, 0x10
|
||||
/* 8002162C 0001E56C 48 24 52 A1 */ bl cTg_AdditionToTree
|
||||
/* 80021630 0001E570 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 80021634 0001E574 7C 08 03 A6 */ mtlr r0
|
||||
/* 80021638 0001E578 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 8002163C 0001E57C 4E 80 00 20 */ blr
|
||||
|
||||
.global fpcLy_QueueTo
|
||||
fpcLy_QueueTo:
|
||||
/* 80021640 0001E580 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 80021644 0001E584 7C 08 02 A6 */ mflr r0
|
||||
/* 80021648 0001E588 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 8002164C 0001E58C 7C 83 23 78 */ mr r3, r4
|
||||
/* 80021650 0001E590 48 24 52 3D */ bl cTg_SingleCutFromTree
|
||||
/* 80021654 0001E594 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 80021658 0001E598 7C 08 03 A6 */ mtlr r0
|
||||
/* 8002165C 0001E59C 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 80021660 0001E5A0 4E 80 00 20 */ blr
|
||||
|
||||
.global fpcLy_IsDeletingMesg
|
||||
fpcLy_IsDeletingMesg:
|
||||
/* 80021664 0001E5A4 A8 63 00 2A */ lha r3, 0x2a(r3)
|
||||
/* 80021668 0001E5A8 7C 03 00 D0 */ neg r0, r3
|
||||
/* 8002166C 0001E5AC 7C 00 18 78 */ andc r0, r0, r3
|
||||
/* 80021670 0001E5B0 54 03 0F FE */ srwi r3, r0, 0x1f
|
||||
/* 80021674 0001E5B4 4E 80 00 20 */ blr
|
||||
|
||||
.global fpcLy_DeletingMesg
|
||||
fpcLy_DeletingMesg:
|
||||
/* 80021678 0001E5B8 A8 83 00 2A */ lha r4, 0x2a(r3)
|
||||
/* 8002167C 0001E5BC 38 04 00 01 */ addi r0, r4, 1
|
||||
/* 80021680 0001E5C0 B0 03 00 2A */ sth r0, 0x2a(r3)
|
||||
/* 80021684 0001E5C4 4E 80 00 20 */ blr
|
||||
|
||||
.global fpcLy_DeletedMesg
|
||||
fpcLy_DeletedMesg:
|
||||
/* 80021688 0001E5C8 A8 83 00 2A */ lha r4, 0x2a(r3)
|
||||
/* 8002168C 0001E5CC 2C 04 00 00 */ cmpwi r4, 0
|
||||
/* 80021690 0001E5D0 4C 81 00 20 */ blelr
|
||||
/* 80021694 0001E5D4 38 04 FF FF */ addi r0, r4, -1
|
||||
/* 80021698 0001E5D8 B0 03 00 2A */ sth r0, 0x2a(r3)
|
||||
/* 8002169C 0001E5DC 4E 80 00 20 */ blr
|
||||
|
||||
.global fpcLy_IsCreatingMesg
|
||||
fpcLy_IsCreatingMesg:
|
||||
/* 800216A0 0001E5E0 A8 63 00 28 */ lha r3, 0x28(r3)
|
||||
/* 800216A4 0001E5E4 7C 03 00 D0 */ neg r0, r3
|
||||
/* 800216A8 0001E5E8 7C 00 18 78 */ andc r0, r0, r3
|
||||
/* 800216AC 0001E5EC 54 03 0F FE */ srwi r3, r0, 0x1f
|
||||
/* 800216B0 0001E5F0 4E 80 00 20 */ blr
|
||||
|
||||
.global fpcLy_CreatingMesg
|
||||
fpcLy_CreatingMesg:
|
||||
/* 800216B4 0001E5F4 A8 83 00 28 */ lha r4, 0x28(r3)
|
||||
/* 800216B8 0001E5F8 38 04 00 01 */ addi r0, r4, 1
|
||||
/* 800216BC 0001E5FC B0 03 00 28 */ sth r0, 0x28(r3)
|
||||
/* 800216C0 0001E600 4E 80 00 20 */ blr
|
||||
|
||||
.global fpcLy_CreatedMesg
|
||||
fpcLy_CreatedMesg:
|
||||
/* 800216C4 0001E604 A8 83 00 28 */ lha r4, 0x28(r3)
|
||||
/* 800216C8 0001E608 2C 04 00 00 */ cmpwi r4, 0
|
||||
/* 800216CC 0001E60C 4C 81 00 20 */ blelr
|
||||
/* 800216D0 0001E610 38 04 FF FF */ addi r0, r4, -1
|
||||
/* 800216D4 0001E614 B0 03 00 28 */ sth r0, 0x28(r3)
|
||||
/* 800216D8 0001E618 4E 80 00 20 */ blr
|
||||
|
||||
.global fpcLy_RootLayer
|
||||
fpcLy_RootLayer:
|
||||
/* 800216DC 0001E61C 3C 60 80 3A */ lis r3, lbl_803A39DC@ha
|
||||
/* 800216E0 0001E620 38 63 39 DC */ addi r3, r3, lbl_803A39DC@l
|
||||
/* 800216E4 0001E624 80 63 00 00 */ lwz r3, 0(r3)
|
||||
/* 800216E8 0001E628 4E 80 00 20 */ blr
|
||||
|
||||
.global fpcLy_SetCurrentLayer
|
||||
fpcLy_SetCurrentLayer:
|
||||
/* 800216EC 0001E62C 90 6D 87 98 */ stw r3, lbl_80450D18-_SDA_BASE_(r13)
|
||||
/* 800216F0 0001E630 4E 80 00 20 */ blr
|
||||
|
||||
.global fpcLy_CurrentLayer
|
||||
fpcLy_CurrentLayer:
|
||||
/* 800216F4 0001E634 80 6D 87 98 */ lwz r3, lbl_80450D18-_SDA_BASE_(r13)
|
||||
/* 800216F8 0001E638 4E 80 00 20 */ blr
|
||||
|
||||
.global fpcLy_Search
|
||||
fpcLy_Search:
|
||||
/* 800216FC 0001E63C 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 80021700 0001E640 7C 08 02 A6 */ mflr r0
|
||||
/* 80021704 0001E644 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 80021708 0001E648 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 8002170C 0001E64C 7C 7F 1B 78 */ mr r31, r3
|
||||
/* 80021710 0001E650 4B FF FF CD */ bl fpcLy_RootLayer
|
||||
/* 80021714 0001E654 48 00 00 18 */ b lbl_8002172C
|
||||
lbl_80021718:
|
||||
/* 80021718 0001E658 80 03 00 0C */ lwz r0, 0xc(r3)
|
||||
/* 8002171C 0001E65C 7C 00 F8 40 */ cmplw r0, r31
|
||||
/* 80021720 0001E660 40 82 00 08 */ bne lbl_80021728
|
||||
/* 80021724 0001E664 48 00 00 14 */ b lbl_80021738
|
||||
lbl_80021728:
|
||||
/* 80021728 0001E668 80 63 00 08 */ lwz r3, 8(r3)
|
||||
lbl_8002172C:
|
||||
/* 8002172C 0001E66C 28 03 00 00 */ cmplwi r3, 0
|
||||
/* 80021730 0001E670 40 82 FF E8 */ bne lbl_80021718
|
||||
/* 80021734 0001E674 38 60 00 00 */ li r3, 0
|
||||
lbl_80021738:
|
||||
/* 80021738 0001E678 83 E1 00 0C */ lwz r31, 0xc(r1)
|
||||
/* 8002173C 0001E67C 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 80021740 0001E680 7C 08 03 A6 */ mtlr r0
|
||||
/* 80021744 0001E684 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 80021748 0001E688 4E 80 00 20 */ blr
|
||||
|
||||
.global fpcLy_Layer
|
||||
fpcLy_Layer:
|
||||
/* 8002174C 0001E68C 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 80021750 0001E690 7C 08 02 A6 */ mflr r0
|
||||
/* 80021754 0001E694 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 80021758 0001E698 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 8002175C 0001E69C 7C 7F 1B 79 */ or. r31, r3, r3
|
||||
/* 80021760 0001E6A0 41 82 00 14 */ beq lbl_80021774
|
||||
/* 80021764 0001E6A4 4B FF FF 79 */ bl fpcLy_RootLayer
|
||||
/* 80021768 0001E6A8 80 03 00 0C */ lwz r0, 0xc(r3)
|
||||
/* 8002176C 0001E6AC 7C 1F 00 40 */ cmplw r31, r0
|
||||
/* 80021770 0001E6B0 40 82 00 0C */ bne lbl_8002177C
|
||||
lbl_80021774:
|
||||
/* 80021774 0001E6B4 4B FF FF 69 */ bl fpcLy_RootLayer
|
||||
/* 80021778 0001E6B8 48 00 00 30 */ b lbl_800217A8
|
||||
lbl_8002177C:
|
||||
/* 8002177C 0001E6BC 3C 1F 00 01 */ addis r0, r31, 1
|
||||
/* 80021780 0001E6C0 28 00 FF FD */ cmplwi r0, 0xfffd
|
||||
/* 80021784 0001E6C4 41 82 00 14 */ beq lbl_80021798
|
||||
/* 80021788 0001E6C8 4B FF FF 6D */ bl fpcLy_CurrentLayer
|
||||
/* 8002178C 0001E6CC 80 03 00 0C */ lwz r0, 0xc(r3)
|
||||
/* 80021790 0001E6D0 7C 1F 00 40 */ cmplw r31, r0
|
||||
/* 80021794 0001E6D4 40 82 00 0C */ bne lbl_800217A0
|
||||
lbl_80021798:
|
||||
/* 80021798 0001E6D8 4B FF FF 5D */ bl fpcLy_CurrentLayer
|
||||
/* 8002179C 0001E6DC 48 00 00 0C */ b lbl_800217A8
|
||||
lbl_800217A0:
|
||||
/* 800217A0 0001E6E0 7F E3 FB 78 */ mr r3, r31
|
||||
/* 800217A4 0001E6E4 4B FF FF 59 */ bl fpcLy_Search
|
||||
lbl_800217A8:
|
||||
/* 800217A8 0001E6E8 83 E1 00 0C */ lwz r31, 0xc(r1)
|
||||
/* 800217AC 0001E6EC 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 800217B0 0001E6F0 7C 08 03 A6 */ mtlr r0
|
||||
/* 800217B4 0001E6F4 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 800217B8 0001E6F8 4E 80 00 20 */ blr
|
||||
|
||||
.global fpcLy_Regist
|
||||
fpcLy_Regist:
|
||||
/* 800217BC 0001E6FC 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 800217C0 0001E700 7C 08 02 A6 */ mflr r0
|
||||
/* 800217C4 0001E704 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 800217C8 0001E708 7C 64 1B 78 */ mr r4, r3
|
||||
/* 800217CC 0001E70C 3C 60 80 3A */ lis r3, lbl_803A39DC@ha
|
||||
/* 800217D0 0001E710 38 63 39 DC */ addi r3, r3, lbl_803A39DC@l
|
||||
/* 800217D4 0001E714 48 24 47 29 */ bl cLs_Addition
|
||||
/* 800217D8 0001E718 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 800217DC 0001E71C 7C 08 03 A6 */ mtlr r0
|
||||
/* 800217E0 0001E720 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 800217E4 0001E724 4E 80 00 20 */ blr
|
||||
|
||||
.global fpcLy_Delete
|
||||
fpcLy_Delete:
|
||||
/* 800217E8 0001E728 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 800217EC 0001E72C 7C 08 02 A6 */ mflr r0
|
||||
/* 800217F0 0001E730 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 800217F4 0001E734 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 800217F8 0001E738 7C 7F 1B 78 */ mr r31, r3
|
||||
/* 800217FC 0001E73C 80 83 00 10 */ lwz r4, 0x10(r3)
|
||||
/* 80021800 0001E740 80 04 00 08 */ lwz r0, 8(r4)
|
||||
/* 80021804 0001E744 2C 00 00 00 */ cmpwi r0, 0
|
||||
/* 80021808 0001E748 40 82 00 7C */ bne lbl_80021884
|
||||
/* 8002180C 0001E74C 80 1F 00 24 */ lwz r0, 0x24(r31)
|
||||
/* 80021810 0001E750 2C 00 00 00 */ cmpwi r0, 0
|
||||
/* 80021814 0001E754 40 82 00 70 */ bne lbl_80021884
|
||||
/* 80021818 0001E758 48 24 46 61 */ bl cLs_SingleCut
|
||||
/* 8002181C 0001E75C 3C 60 80 3A */ lis r3, lbl_803A39B0@ha
|
||||
/* 80021820 0001E760 38 83 39 B0 */ addi r4, r3, lbl_803A39B0@l
|
||||
/* 80021824 0001E764 80 64 00 00 */ lwz r3, 0(r4)
|
||||
/* 80021828 0001E768 80 04 00 04 */ lwz r0, 4(r4)
|
||||
/* 8002182C 0001E76C 90 7F 00 00 */ stw r3, 0(r31)
|
||||
/* 80021830 0001E770 90 1F 00 04 */ stw r0, 4(r31)
|
||||
/* 80021834 0001E774 80 04 00 08 */ lwz r0, 8(r4)
|
||||
/* 80021838 0001E778 90 1F 00 08 */ stw r0, 8(r31)
|
||||
/* 8002183C 0001E77C 80 04 00 0C */ lwz r0, 0xc(r4)
|
||||
/* 80021840 0001E780 90 1F 00 0C */ stw r0, 0xc(r31)
|
||||
/* 80021844 0001E784 80 64 00 10 */ lwz r3, 0x10(r4)
|
||||
/* 80021848 0001E788 80 04 00 14 */ lwz r0, 0x14(r4)
|
||||
/* 8002184C 0001E78C 90 7F 00 10 */ stw r3, 0x10(r31)
|
||||
/* 80021850 0001E790 90 1F 00 14 */ stw r0, 0x14(r31)
|
||||
/* 80021854 0001E794 80 04 00 18 */ lwz r0, 0x18(r4)
|
||||
/* 80021858 0001E798 90 1F 00 18 */ stw r0, 0x18(r31)
|
||||
/* 8002185C 0001E79C 80 64 00 1C */ lwz r3, 0x1c(r4)
|
||||
/* 80021860 0001E7A0 80 04 00 20 */ lwz r0, 0x20(r4)
|
||||
/* 80021864 0001E7A4 90 7F 00 1C */ stw r3, 0x1c(r31)
|
||||
/* 80021868 0001E7A8 90 1F 00 20 */ stw r0, 0x20(r31)
|
||||
/* 8002186C 0001E7AC 80 04 00 24 */ lwz r0, 0x24(r4)
|
||||
/* 80021870 0001E7B0 90 1F 00 24 */ stw r0, 0x24(r31)
|
||||
/* 80021874 0001E7B4 80 04 00 28 */ lwz r0, 0x28(r4)
|
||||
/* 80021878 0001E7B8 90 1F 00 28 */ stw r0, 0x28(r31)
|
||||
/* 8002187C 0001E7BC 38 60 00 01 */ li r3, 1
|
||||
/* 80021880 0001E7C0 48 00 00 08 */ b lbl_80021888
|
||||
lbl_80021884:
|
||||
/* 80021884 0001E7C4 38 60 00 00 */ li r3, 0
|
||||
lbl_80021888:
|
||||
/* 80021888 0001E7C8 83 E1 00 0C */ lwz r31, 0xc(r1)
|
||||
/* 8002188C 0001E7CC 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 80021890 0001E7D0 7C 08 03 A6 */ mtlr r0
|
||||
/* 80021894 0001E7D4 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 80021898 0001E7D8 4E 80 00 20 */ blr
|
||||
|
||||
.global fpcLy_Cancel
|
||||
fpcLy_Cancel:
|
||||
/* 8002189C 0001E7DC 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 800218A0 0001E7E0 7C 08 02 A6 */ mflr r0
|
||||
/* 800218A4 0001E7E4 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
.global fpcLy_CancelMethod
|
||||
/* 800218A8 0001E7E8 3C 80 80 02 */ lis r4, fpcLy_CancelMethod@ha
|
||||
.global fpcLy_CancelMethod
|
||||
/* 800218AC 0001E7EC 38 84 15 CC */ addi r4, r4, fpcLy_CancelMethod@l
|
||||
/* 800218B0 0001E7F0 38 63 00 1C */ addi r3, r3, 0x1c
|
||||
/* 800218B4 0001E7F4 48 00 1E B1 */ bl fpcMtdIt_Method
|
||||
/* 800218B8 0001E7F8 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 800218BC 0001E7FC 7C 08 03 A6 */ mtlr r0
|
||||
/* 800218C0 0001E800 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 800218C4 0001E804 4E 80 00 20 */ blr
|
||||
|
||||
.global fpcLy_Create
|
||||
fpcLy_Create:
|
||||
/* 800218C8 0001E808 94 21 FF E0 */ stwu r1, -0x20(r1)
|
||||
/* 800218CC 0001E80C 7C 08 02 A6 */ mflr r0
|
||||
/* 800218D0 0001E810 90 01 00 24 */ stw r0, 0x24(r1)
|
||||
/* 800218D4 0001E814 39 61 00 20 */ addi r11, r1, 0x20
|
||||
/* 800218D8 0001E818 48 34 09 01 */ bl _savegpr_28
|
||||
/* 800218DC 0001E81C 7C 7C 1B 78 */ mr r28, r3
|
||||
/* 800218E0 0001E820 7C 9D 23 78 */ mr r29, r4
|
||||
/* 800218E4 0001E824 7C BE 2B 78 */ mr r30, r5
|
||||
/* 800218E8 0001E828 7C DF 33 78 */ mr r31, r6
|
||||
/* 800218EC 0001E82C 88 0D 87 A0 */ lbz r0, lbl_80450D20-_SDA_BASE_(r13)
|
||||
/* 800218F0 0001E830 7C 00 07 75 */ extsb. r0, r0
|
||||
/* 800218F4 0001E834 40 82 00 10 */ bne lbl_80021904
|
||||
/* 800218F8 0001E838 38 00 00 01 */ li r0, 1
|
||||
/* 800218FC 0001E83C 90 0D 87 9C */ stw r0, lbl_80450D1C-_SDA_BASE_(r13)
|
||||
/* 80021900 0001E840 98 0D 87 A0 */ stb r0, lbl_80450D20-_SDA_BASE_(r13)
|
||||
lbl_80021904:
|
||||
/* 80021904 0001E844 88 0D 87 A8 */ lbz r0, lbl_80450D28-_SDA_BASE_(r13)
|
||||
/* 80021908 0001E848 7C 00 07 75 */ extsb. r0, r0
|
||||
/* 8002190C 0001E84C 40 82 00 14 */ bne lbl_80021920
|
||||
/* 80021910 0001E850 38 00 00 00 */ li r0, 0
|
||||
/* 80021914 0001E854 90 0D 87 A4 */ stw r0, lbl_80450D24-_SDA_BASE_(r13)
|
||||
/* 80021918 0001E858 38 00 00 01 */ li r0, 1
|
||||
/* 8002191C 0001E85C 98 0D 87 A8 */ stb r0, lbl_80450D28-_SDA_BASE_(r13)
|
||||
lbl_80021920:
|
||||
/* 80021920 0001E860 3C 60 80 3A */ lis r3, lbl_803A39B0@ha
|
||||
/* 80021924 0001E864 38 83 39 B0 */ addi r4, r3, lbl_803A39B0@l
|
||||
/* 80021928 0001E868 80 64 00 00 */ lwz r3, 0(r4)
|
||||
/* 8002192C 0001E86C 80 04 00 04 */ lwz r0, 4(r4)
|
||||
/* 80021930 0001E870 90 7C 00 00 */ stw r3, 0(r28)
|
||||
/* 80021934 0001E874 90 1C 00 04 */ stw r0, 4(r28)
|
||||
/* 80021938 0001E878 80 04 00 08 */ lwz r0, 8(r4)
|
||||
/* 8002193C 0001E87C 90 1C 00 08 */ stw r0, 8(r28)
|
||||
/* 80021940 0001E880 80 04 00 0C */ lwz r0, 0xc(r4)
|
||||
/* 80021944 0001E884 90 1C 00 0C */ stw r0, 0xc(r28)
|
||||
/* 80021948 0001E888 80 64 00 10 */ lwz r3, 0x10(r4)
|
||||
/* 8002194C 0001E88C 80 04 00 14 */ lwz r0, 0x14(r4)
|
||||
/* 80021950 0001E890 90 7C 00 10 */ stw r3, 0x10(r28)
|
||||
/* 80021954 0001E894 90 1C 00 14 */ stw r0, 0x14(r28)
|
||||
/* 80021958 0001E898 80 04 00 18 */ lwz r0, 0x18(r4)
|
||||
/* 8002195C 0001E89C 90 1C 00 18 */ stw r0, 0x18(r28)
|
||||
/* 80021960 0001E8A0 80 64 00 1C */ lwz r3, 0x1c(r4)
|
||||
/* 80021964 0001E8A4 80 04 00 20 */ lwz r0, 0x20(r4)
|
||||
/* 80021968 0001E8A8 90 7C 00 1C */ stw r3, 0x1c(r28)
|
||||
/* 8002196C 0001E8AC 90 1C 00 20 */ stw r0, 0x20(r28)
|
||||
/* 80021970 0001E8B0 80 04 00 24 */ lwz r0, 0x24(r4)
|
||||
/* 80021974 0001E8B4 90 1C 00 24 */ stw r0, 0x24(r28)
|
||||
/* 80021978 0001E8B8 80 04 00 28 */ lwz r0, 0x28(r4)
|
||||
/* 8002197C 0001E8BC 90 1C 00 28 */ stw r0, 0x28(r28)
|
||||
/* 80021980 0001E8C0 7F 83 E3 78 */ mr r3, r28
|
||||
/* 80021984 0001E8C4 38 80 00 00 */ li r4, 0
|
||||
/* 80021988 0001E8C8 48 24 49 89 */ bl cNd_Create
|
||||
/* 8002198C 0001E8CC 80 6D 87 A4 */ lwz r3, lbl_80450D24-_SDA_BASE_(r13)
|
||||
/* 80021990 0001E8D0 38 03 00 01 */ addi r0, r3, 1
|
||||
/* 80021994 0001E8D4 90 0D 87 A4 */ stw r0, lbl_80450D24-_SDA_BASE_(r13)
|
||||
/* 80021998 0001E8D8 90 7C 00 0C */ stw r3, 0xc(r28)
|
||||
/* 8002199C 0001E8DC 93 BC 00 18 */ stw r29, 0x18(r28)
|
||||
/* 800219A0 0001E8E0 80 0D 87 9C */ lwz r0, lbl_80450D1C-_SDA_BASE_(r13)
|
||||
/* 800219A4 0001E8E4 2C 00 00 01 */ cmpwi r0, 1
|
||||
/* 800219A8 0001E8E8 40 82 00 20 */ bne lbl_800219C8
|
||||
/* 800219AC 0001E8EC 38 00 00 00 */ li r0, 0
|
||||
/* 800219B0 0001E8F0 90 0D 87 9C */ stw r0, lbl_80450D1C-_SDA_BASE_(r13)
|
||||
/* 800219B4 0001E8F4 3C 60 80 3A */ lis r3, lbl_803A39DC@ha
|
||||
/* 800219B8 0001E8F8 38 63 39 DC */ addi r3, r3, lbl_803A39DC@l
|
||||
/* 800219BC 0001E8FC 48 24 46 85 */ bl cLs_Create
|
||||
/* 800219C0 0001E900 7F 83 E3 78 */ mr r3, r28
|
||||
/* 800219C4 0001E904 4B FF FD 29 */ bl fpcLy_SetCurrentLayer
|
||||
lbl_800219C8:
|
||||
/* 800219C8 0001E908 93 DC 00 10 */ stw r30, 0x10(r28)
|
||||
/* 800219CC 0001E90C 93 FC 00 14 */ stw r31, 0x14(r28)
|
||||
/* 800219D0 0001E910 38 7C 00 10 */ addi r3, r28, 0x10
|
||||
/* 800219D4 0001E914 80 9C 00 10 */ lwz r4, 0x10(r28)
|
||||
/* 800219D8 0001E918 80 BC 00 14 */ lwz r5, 0x14(r28)
|
||||
/* 800219DC 0001E91C 48 24 4B 0D */ bl cTr_Create
|
||||
/* 800219E0 0001E920 7F 83 E3 78 */ mr r3, r28
|
||||
/* 800219E4 0001E924 4B FF FD D9 */ bl fpcLy_Regist
|
||||
/* 800219E8 0001E928 39 61 00 20 */ addi r11, r1, 0x20
|
||||
/* 800219EC 0001E92C 48 34 08 39 */ bl _restgpr_28
|
||||
/* 800219F0 0001E930 80 01 00 24 */ lwz r0, 0x24(r1)
|
||||
/* 800219F4 0001E934 7C 08 03 A6 */ mtlr r0
|
||||
/* 800219F8 0001E938 38 21 00 20 */ addi r1, r1, 0x20
|
||||
/* 800219FC 0001E93C 4E 80 00 20 */ blr
|
||||
|
||||
|
|
@ -1,108 +0,0 @@
|
|||
.include "macros.inc"
|
||||
|
||||
.section .text, "ax" # 80021b88
|
||||
|
||||
|
||||
.global fpcLyIt_OnlyHere
|
||||
fpcLyIt_OnlyHere:
|
||||
/* 80021B88 0001EAC8 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 80021B8C 0001EACC 7C 08 02 A6 */ mflr r0
|
||||
/* 80021B90 0001EAD0 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 80021B94 0001EAD4 90 81 00 08 */ stw r4, 8(r1)
|
||||
/* 80021B98 0001EAD8 90 A1 00 0C */ stw r5, 0xc(r1)
|
||||
/* 80021B9C 0001EADC 3C 80 80 26 */ lis r4, cTgIt_MethodCall@ha
|
||||
/* 80021BA0 0001EAE0 38 84 6A 7C */ addi r4, r4, cTgIt_MethodCall@l
|
||||
/* 80021BA4 0001EAE4 38 A1 00 08 */ addi r5, r1, 8
|
||||
/* 80021BA8 0001EAE8 38 63 00 10 */ addi r3, r3, 0x10
|
||||
/* 80021BAC 0001EAEC 48 24 49 95 */ bl cTrIt_Method
|
||||
/* 80021BB0 0001EAF0 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 80021BB4 0001EAF4 7C 08 03 A6 */ mtlr r0
|
||||
/* 80021BB8 0001EAF8 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 80021BBC 0001EAFC 4E 80 00 20 */ blr
|
||||
|
||||
.global fpcLyIt_OnlyHereLY
|
||||
fpcLyIt_OnlyHereLY:
|
||||
/* 80021BC0 0001EB00 94 21 FF E0 */ stwu r1, -0x20(r1)
|
||||
/* 80021BC4 0001EB04 7C 08 02 A6 */ mflr r0
|
||||
/* 80021BC8 0001EB08 90 01 00 24 */ stw r0, 0x24(r1)
|
||||
/* 80021BCC 0001EB0C 39 61 00 20 */ addi r11, r1, 0x20
|
||||
/* 80021BD0 0001EB10 48 34 06 09 */ bl _savegpr_28
|
||||
/* 80021BD4 0001EB14 7C 7C 1B 78 */ mr r28, r3
|
||||
/* 80021BD8 0001EB18 7C 9D 23 78 */ mr r29, r4
|
||||
/* 80021BDC 0001EB1C 7C BF 2B 78 */ mr r31, r5
|
||||
/* 80021BE0 0001EB20 4B FF FB 15 */ bl fpcLy_CurrentLayer
|
||||
/* 80021BE4 0001EB24 7C 7E 1B 78 */ mr r30, r3
|
||||
/* 80021BE8 0001EB28 7F 83 E3 78 */ mr r3, r28
|
||||
/* 80021BEC 0001EB2C 4B FF FB 01 */ bl fpcLy_SetCurrentLayer
|
||||
/* 80021BF0 0001EB30 7F 83 E3 78 */ mr r3, r28
|
||||
/* 80021BF4 0001EB34 7F A4 EB 78 */ mr r4, r29
|
||||
/* 80021BF8 0001EB38 7F E5 FB 78 */ mr r5, r31
|
||||
/* 80021BFC 0001EB3C 4B FF FF 8D */ bl fpcLyIt_OnlyHere
|
||||
/* 80021C00 0001EB40 7C 7F 1B 78 */ mr r31, r3
|
||||
/* 80021C04 0001EB44 7F C3 F3 78 */ mr r3, r30
|
||||
/* 80021C08 0001EB48 4B FF FA E5 */ bl fpcLy_SetCurrentLayer
|
||||
/* 80021C0C 0001EB4C 7F E3 FB 78 */ mr r3, r31
|
||||
/* 80021C10 0001EB50 39 61 00 20 */ addi r11, r1, 0x20
|
||||
/* 80021C14 0001EB54 48 34 06 11 */ bl _restgpr_28
|
||||
/* 80021C18 0001EB58 80 01 00 24 */ lwz r0, 0x24(r1)
|
||||
/* 80021C1C 0001EB5C 7C 08 03 A6 */ mtlr r0
|
||||
/* 80021C20 0001EB60 38 21 00 20 */ addi r1, r1, 0x20
|
||||
/* 80021C24 0001EB64 4E 80 00 20 */ blr
|
||||
|
||||
.global fpcLyIt_Judge
|
||||
fpcLyIt_Judge:
|
||||
/* 80021C28 0001EB68 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 80021C2C 0001EB6C 7C 08 02 A6 */ mflr r0
|
||||
/* 80021C30 0001EB70 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 80021C34 0001EB74 90 81 00 08 */ stw r4, 8(r1)
|
||||
/* 80021C38 0001EB78 90 A1 00 0C */ stw r5, 0xc(r1)
|
||||
.global cTgIt_JudgeFilter
|
||||
/* 80021C3C 0001EB7C 3C 80 80 26 */ lis r4, cTgIt_JudgeFilter@ha
|
||||
.global cTgIt_JudgeFilter
|
||||
/* 80021C40 0001EB80 38 84 6A B0 */ addi r4, r4, cTgIt_JudgeFilter@l
|
||||
/* 80021C44 0001EB84 38 A1 00 08 */ addi r5, r1, 8
|
||||
/* 80021C48 0001EB88 38 63 00 10 */ addi r3, r3, 0x10
|
||||
/* 80021C4C 0001EB8C 48 24 49 69 */ bl cTrIt_Judge
|
||||
/* 80021C50 0001EB90 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 80021C54 0001EB94 7C 08 03 A6 */ mtlr r0
|
||||
/* 80021C58 0001EB98 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 80021C5C 0001EB9C 4E 80 00 20 */ blr
|
||||
|
||||
.global fpcLyIt_AllJudge
|
||||
fpcLyIt_AllJudge:
|
||||
/* 80021C60 0001EBA0 94 21 FF E0 */ stwu r1, -0x20(r1)
|
||||
/* 80021C64 0001EBA4 7C 08 02 A6 */ mflr r0
|
||||
/* 80021C68 0001EBA8 90 01 00 24 */ stw r0, 0x24(r1)
|
||||
/* 80021C6C 0001EBAC 93 E1 00 1C */ stw r31, 0x1c(r1)
|
||||
/* 80021C70 0001EBB0 93 C1 00 18 */ stw r30, 0x18(r1)
|
||||
/* 80021C74 0001EBB4 90 61 00 08 */ stw r3, 8(r1)
|
||||
/* 80021C78 0001EBB8 90 81 00 0C */ stw r4, 0xc(r1)
|
||||
/* 80021C7C 0001EBBC 4B FF FA 61 */ bl fpcLy_RootLayer
|
||||
/* 80021C80 0001EBC0 7C 7E 1B 78 */ mr r30, r3
|
||||
.global cTgIt_JudgeFilter
|
||||
/* 80021C84 0001EBC4 3C 60 80 26 */ lis r3, cTgIt_JudgeFilter@ha
|
||||
.global cTgIt_JudgeFilter
|
||||
/* 80021C88 0001EBC8 3B E3 6A B0 */ addi r31, r3, cTgIt_JudgeFilter@l
|
||||
/* 80021C8C 0001EBCC 48 00 00 24 */ b lbl_80021CB0
|
||||
lbl_80021C90:
|
||||
/* 80021C90 0001EBD0 38 7E 00 10 */ addi r3, r30, 0x10
|
||||
/* 80021C94 0001EBD4 7F E4 FB 78 */ mr r4, r31
|
||||
/* 80021C98 0001EBD8 38 A1 00 08 */ addi r5, r1, 8
|
||||
/* 80021C9C 0001EBDC 48 24 49 19 */ bl cTrIt_Judge
|
||||
/* 80021CA0 0001EBE0 28 03 00 00 */ cmplwi r3, 0
|
||||
/* 80021CA4 0001EBE4 41 82 00 08 */ beq lbl_80021CAC
|
||||
/* 80021CA8 0001EBE8 48 00 00 14 */ b lbl_80021CBC
|
||||
lbl_80021CAC:
|
||||
/* 80021CAC 0001EBEC 83 DE 00 08 */ lwz r30, 8(r30)
|
||||
lbl_80021CB0:
|
||||
/* 80021CB0 0001EBF0 28 1E 00 00 */ cmplwi r30, 0
|
||||
/* 80021CB4 0001EBF4 40 82 FF DC */ bne lbl_80021C90
|
||||
/* 80021CB8 0001EBF8 38 60 00 00 */ li r3, 0
|
||||
lbl_80021CBC:
|
||||
/* 80021CBC 0001EBFC 83 E1 00 1C */ lwz r31, 0x1c(r1)
|
||||
/* 80021CC0 0001EC00 83 C1 00 18 */ lwz r30, 0x18(r1)
|
||||
/* 80021CC4 0001EC04 80 01 00 24 */ lwz r0, 0x24(r1)
|
||||
/* 80021CC8 0001EC08 7C 08 03 A6 */ mtlr r0
|
||||
/* 80021CCC 0001EC0C 38 21 00 20 */ addi r1, r1, 0x20
|
||||
/* 80021CD0 0001EC10 4E 80 00 20 */ blr
|
||||
|
||||
|
|
@ -1,195 +0,0 @@
|
|||
.include "macros.inc"
|
||||
|
||||
.section .text, "ax" # 80021cd4
|
||||
|
||||
|
||||
.global fpcLyTg_ToQueue
|
||||
fpcLyTg_ToQueue:
|
||||
/* 80021CD4 0001EC14 94 21 FF E0 */ stwu r1, -0x20(r1)
|
||||
/* 80021CD8 0001EC18 7C 08 02 A6 */ mflr r0
|
||||
/* 80021CDC 0001EC1C 90 01 00 24 */ stw r0, 0x24(r1)
|
||||
/* 80021CE0 0001EC20 39 61 00 20 */ addi r11, r1, 0x20
|
||||
/* 80021CE4 0001EC24 48 34 04 F5 */ bl _savegpr_28
|
||||
/* 80021CE8 0001EC28 7C 7C 1B 78 */ mr r28, r3
|
||||
/* 80021CEC 0001EC2C 7C 9D 23 78 */ mr r29, r4
|
||||
/* 80021CF0 0001EC30 7C BE 2B 78 */ mr r30, r5
|
||||
/* 80021CF4 0001EC34 7C DF 33 78 */ mr r31, r6
|
||||
/* 80021CF8 0001EC38 80 63 00 14 */ lwz r3, 0x14(r3)
|
||||
/* 80021CFC 0001EC3C 28 03 00 00 */ cmplwi r3, 0
|
||||
/* 80021D00 0001EC40 40 82 00 18 */ bne lbl_80021D18
|
||||
/* 80021D04 0001EC44 3C 1D 00 01 */ addis r0, r29, 1
|
||||
/* 80021D08 0001EC48 28 00 FF FF */ cmplwi r0, 0xffff
|
||||
/* 80021D0C 0001EC4C 40 82 00 0C */ bne lbl_80021D18
|
||||
/* 80021D10 0001EC50 38 60 00 00 */ li r3, 0
|
||||
/* 80021D14 0001EC54 48 00 00 A0 */ b lbl_80021DB4
|
||||
lbl_80021D18:
|
||||
/* 80021D18 0001EC58 3C 1D 00 01 */ addis r0, r29, 1
|
||||
/* 80021D1C 0001EC5C 28 00 FF FF */ cmplwi r0, 0xffff
|
||||
/* 80021D20 0001EC60 41 82 00 24 */ beq lbl_80021D44
|
||||
/* 80021D24 0001EC64 28 00 FF FD */ cmplwi r0, 0xfffd
|
||||
/* 80021D28 0001EC68 41 82 00 1C */ beq lbl_80021D44
|
||||
/* 80021D2C 0001EC6C 80 03 00 0C */ lwz r0, 0xc(r3)
|
||||
/* 80021D30 0001EC70 7C 00 E8 40 */ cmplw r0, r29
|
||||
/* 80021D34 0001EC74 41 82 00 10 */ beq lbl_80021D44
|
||||
/* 80021D38 0001EC78 7F A3 EB 78 */ mr r3, r29
|
||||
/* 80021D3C 0001EC7C 4B FF FA 11 */ bl fpcLy_Layer
|
||||
/* 80021D40 0001EC80 90 7C 00 14 */ stw r3, 0x14(r28)
|
||||
lbl_80021D44:
|
||||
/* 80021D44 0001EC84 3C 1D 00 01 */ addis r0, r29, 1
|
||||
/* 80021D48 0001EC88 28 00 FF FF */ cmplwi r0, 0xffff
|
||||
/* 80021D4C 0001EC8C 41 82 00 0C */ beq lbl_80021D58
|
||||
/* 80021D50 0001EC90 28 00 FF FD */ cmplwi r0, 0xfffd
|
||||
/* 80021D54 0001EC94 40 82 00 30 */ bne lbl_80021D84
|
||||
lbl_80021D58:
|
||||
/* 80021D58 0001EC98 80 7C 00 14 */ lwz r3, 0x14(r28)
|
||||
/* 80021D5C 0001EC9C 57 C4 04 3E */ clrlwi r4, r30, 0x10
|
||||
/* 80021D60 0001ECA0 7F 85 E3 78 */ mr r5, r28
|
||||
/* 80021D64 0001ECA4 4B FF F8 B9 */ bl fpcLy_ToQueue
|
||||
/* 80021D68 0001ECA8 2C 03 00 00 */ cmpwi r3, 0
|
||||
/* 80021D6C 0001ECAC 41 82 00 44 */ beq lbl_80021DB0
|
||||
/* 80021D70 0001ECB0 B3 DC 00 18 */ sth r30, 0x18(r28)
|
||||
/* 80021D74 0001ECB4 38 03 FF FF */ addi r0, r3, -1
|
||||
/* 80021D78 0001ECB8 B0 1C 00 1A */ sth r0, 0x1a(r28)
|
||||
/* 80021D7C 0001ECBC 38 60 00 01 */ li r3, 1
|
||||
/* 80021D80 0001ECC0 48 00 00 34 */ b lbl_80021DB4
|
||||
lbl_80021D84:
|
||||
/* 80021D84 0001ECC4 80 7C 00 14 */ lwz r3, 0x14(r28)
|
||||
/* 80021D88 0001ECC8 57 C4 04 3E */ clrlwi r4, r30, 0x10
|
||||
/* 80021D8C 0001ECCC 7F 85 E3 78 */ mr r5, r28
|
||||
/* 80021D90 0001ECD0 57 E6 04 3E */ clrlwi r6, r31, 0x10
|
||||
/* 80021D94 0001ECD4 4B FF F8 65 */ bl fpcLy_IntoQueue
|
||||
/* 80021D98 0001ECD8 2C 03 00 00 */ cmpwi r3, 0
|
||||
/* 80021D9C 0001ECDC 41 82 00 14 */ beq lbl_80021DB0
|
||||
/* 80021DA0 0001ECE0 B3 DC 00 18 */ sth r30, 0x18(r28)
|
||||
/* 80021DA4 0001ECE4 B3 FC 00 1A */ sth r31, 0x1a(r28)
|
||||
/* 80021DA8 0001ECE8 38 60 00 01 */ li r3, 1
|
||||
/* 80021DAC 0001ECEC 48 00 00 08 */ b lbl_80021DB4
|
||||
lbl_80021DB0:
|
||||
/* 80021DB0 0001ECF0 38 60 00 00 */ li r3, 0
|
||||
lbl_80021DB4:
|
||||
/* 80021DB4 0001ECF4 39 61 00 20 */ addi r11, r1, 0x20
|
||||
/* 80021DB8 0001ECF8 48 34 04 6D */ bl _restgpr_28
|
||||
/* 80021DBC 0001ECFC 80 01 00 24 */ lwz r0, 0x24(r1)
|
||||
/* 80021DC0 0001ED00 7C 08 03 A6 */ mtlr r0
|
||||
/* 80021DC4 0001ED04 38 21 00 20 */ addi r1, r1, 0x20
|
||||
/* 80021DC8 0001ED08 4E 80 00 20 */ blr
|
||||
|
||||
.global fpcLyTg_QueueTo
|
||||
fpcLyTg_QueueTo:
|
||||
/* 80021DCC 0001ED0C 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 80021DD0 0001ED10 7C 08 02 A6 */ mflr r0
|
||||
/* 80021DD4 0001ED14 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 80021DD8 0001ED18 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 80021DDC 0001ED1C 7C 7F 1B 78 */ mr r31, r3
|
||||
/* 80021DE0 0001ED20 80 63 00 14 */ lwz r3, 0x14(r3)
|
||||
/* 80021DE4 0001ED24 7F E4 FB 78 */ mr r4, r31
|
||||
/* 80021DE8 0001ED28 4B FF F8 59 */ bl fpcLy_QueueTo
|
||||
/* 80021DEC 0001ED2C 2C 03 00 01 */ cmpwi r3, 1
|
||||
/* 80021DF0 0001ED30 40 82 00 24 */ bne lbl_80021E14
|
||||
/* 80021DF4 0001ED34 38 00 00 00 */ li r0, 0
|
||||
/* 80021DF8 0001ED38 90 1F 00 14 */ stw r0, 0x14(r31)
|
||||
/* 80021DFC 0001ED3C 3C 60 00 01 */ lis r3, 0x0000FFFF@ha
|
||||
/* 80021E00 0001ED40 38 03 FF FF */ addi r0, r3, 0x0000FFFF@l
|
||||
/* 80021E04 0001ED44 B0 1F 00 18 */ sth r0, 0x18(r31)
|
||||
/* 80021E08 0001ED48 B0 1F 00 1A */ sth r0, 0x1a(r31)
|
||||
/* 80021E0C 0001ED4C 38 60 00 01 */ li r3, 1
|
||||
/* 80021E10 0001ED50 48 00 00 08 */ b lbl_80021E18
|
||||
lbl_80021E14:
|
||||
/* 80021E14 0001ED54 38 60 00 00 */ li r3, 0
|
||||
lbl_80021E18:
|
||||
/* 80021E18 0001ED58 83 E1 00 0C */ lwz r31, 0xc(r1)
|
||||
/* 80021E1C 0001ED5C 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 80021E20 0001ED60 7C 08 03 A6 */ mtlr r0
|
||||
/* 80021E24 0001ED64 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 80021E28 0001ED68 4E 80 00 20 */ blr
|
||||
|
||||
.global fpcLyTg_Move
|
||||
fpcLyTg_Move:
|
||||
/* 80021E2C 0001ED6C 94 21 FF E0 */ stwu r1, -0x20(r1)
|
||||
/* 80021E30 0001ED70 7C 08 02 A6 */ mflr r0
|
||||
/* 80021E34 0001ED74 90 01 00 24 */ stw r0, 0x24(r1)
|
||||
/* 80021E38 0001ED78 39 61 00 20 */ addi r11, r1, 0x20
|
||||
/* 80021E3C 0001ED7C 48 34 03 99 */ bl _savegpr_27
|
||||
/* 80021E40 0001ED80 7C 7B 1B 78 */ mr r27, r3
|
||||
/* 80021E44 0001ED84 7C 9C 23 78 */ mr r28, r4
|
||||
/* 80021E48 0001ED88 7C BD 2B 78 */ mr r29, r5
|
||||
/* 80021E4C 0001ED8C 7C DE 33 78 */ mr r30, r6
|
||||
/* 80021E50 0001ED90 7F 83 E3 78 */ mr r3, r28
|
||||
/* 80021E54 0001ED94 4B FF F8 F9 */ bl fpcLy_Layer
|
||||
/* 80021E58 0001ED98 7C 7F 1B 79 */ or. r31, r3, r3
|
||||
/* 80021E5C 0001ED9C 40 82 00 0C */ bne lbl_80021E68
|
||||
/* 80021E60 0001EDA0 38 60 00 00 */ li r3, 0
|
||||
/* 80021E64 0001EDA4 48 00 00 34 */ b lbl_80021E98
|
||||
lbl_80021E68:
|
||||
/* 80021E68 0001EDA8 7F 63 DB 78 */ mr r3, r27
|
||||
/* 80021E6C 0001EDAC 4B FF FF 61 */ bl fpcLyTg_QueueTo
|
||||
/* 80021E70 0001EDB0 2C 03 00 01 */ cmpwi r3, 1
|
||||
/* 80021E74 0001EDB4 40 82 00 20 */ bne lbl_80021E94
|
||||
/* 80021E78 0001EDB8 93 FB 00 14 */ stw r31, 0x14(r27)
|
||||
/* 80021E7C 0001EDBC 7F 63 DB 78 */ mr r3, r27
|
||||
/* 80021E80 0001EDC0 7F 84 E3 78 */ mr r4, r28
|
||||
/* 80021E84 0001EDC4 7F A5 EB 78 */ mr r5, r29
|
||||
/* 80021E88 0001EDC8 7F C6 F3 78 */ mr r6, r30
|
||||
/* 80021E8C 0001EDCC 4B FF FE 49 */ bl fpcLyTg_ToQueue
|
||||
/* 80021E90 0001EDD0 48 00 00 08 */ b lbl_80021E98
|
||||
lbl_80021E94:
|
||||
/* 80021E94 0001EDD4 38 60 00 00 */ li r3, 0
|
||||
lbl_80021E98:
|
||||
/* 80021E98 0001EDD8 39 61 00 20 */ addi r11, r1, 0x20
|
||||
/* 80021E9C 0001EDDC 48 34 03 85 */ bl _restgpr_27
|
||||
/* 80021EA0 0001EDE0 80 01 00 24 */ lwz r0, 0x24(r1)
|
||||
/* 80021EA4 0001EDE4 7C 08 03 A6 */ mtlr r0
|
||||
/* 80021EA8 0001EDE8 38 21 00 20 */ addi r1, r1, 0x20
|
||||
/* 80021EAC 0001EDEC 4E 80 00 20 */ blr
|
||||
|
||||
.global fpcLyTg_Init
|
||||
fpcLyTg_Init:
|
||||
/* 80021EB0 0001EDF0 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 80021EB4 0001EDF4 7C 08 02 A6 */ mflr r0
|
||||
/* 80021EB8 0001EDF8 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 80021EBC 0001EDFC 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 80021EC0 0001EE00 93 C1 00 08 */ stw r30, 8(r1)
|
||||
/* 80021EC4 0001EE04 7C 7E 1B 78 */ mr r30, r3
|
||||
/* 80021EC8 0001EE08 7C 9F 23 78 */ mr r31, r4
|
||||
/* 80021ECC 0001EE0C 38 DE FF FC */ addi r6, r30, -4
|
||||
/* 80021ED0 0001EE10 3C 60 80 3A */ lis r3, lbl_803A3A00@ha
|
||||
/* 80021ED4 0001EE14 38 63 3A 00 */ addi r3, r3, lbl_803A3A00@l
|
||||
/* 80021ED8 0001EE18 38 83 FF FC */ addi r4, r3, -4
|
||||
/* 80021EDC 0001EE1C 38 00 00 02 */ li r0, 2
|
||||
/* 80021EE0 0001EE20 7C 09 03 A6 */ mtctr r0
|
||||
lbl_80021EE4:
|
||||
/* 80021EE4 0001EE24 80 64 00 04 */ lwz r3, 4(r4)
|
||||
/* 80021EE8 0001EE28 84 04 00 08 */ lwzu r0, 8(r4)
|
||||
/* 80021EEC 0001EE2C 90 66 00 04 */ stw r3, 4(r6)
|
||||
/* 80021EF0 0001EE30 94 06 00 08 */ stwu r0, 8(r6)
|
||||
/* 80021EF4 0001EE34 42 00 FF F0 */ bdnz lbl_80021EE4
|
||||
/* 80021EF8 0001EE38 80 04 00 04 */ lwz r0, 4(r4)
|
||||
/* 80021EFC 0001EE3C 90 06 00 04 */ stw r0, 4(r6)
|
||||
/* 80021F00 0001EE40 3C 60 80 3A */ lis r3, lbl_803A3A00@ha
|
||||
/* 80021F04 0001EE44 38 63 3A 00 */ addi r3, r3, lbl_803A3A00@l
|
||||
/* 80021F08 0001EE48 80 03 00 14 */ lwz r0, 0x14(r3)
|
||||
/* 80021F0C 0001EE4C 90 1E 00 14 */ stw r0, 0x14(r30)
|
||||
/* 80021F10 0001EE50 A0 03 00 18 */ lhz r0, 0x18(r3)
|
||||
/* 80021F14 0001EE54 B0 1E 00 18 */ sth r0, 0x18(r30)
|
||||
/* 80021F18 0001EE58 A0 03 00 1A */ lhz r0, 0x1a(r3)
|
||||
/* 80021F1C 0001EE5C B0 1E 00 1A */ sth r0, 0x1a(r30)
|
||||
/* 80021F20 0001EE60 7F C3 F3 78 */ mr r3, r30
|
||||
/* 80021F24 0001EE64 7C A4 2B 78 */ mr r4, r5
|
||||
/* 80021F28 0001EE68 48 24 4B 0D */ bl cTg_Create
|
||||
/* 80021F2C 0001EE6C 7F E3 FB 78 */ mr r3, r31
|
||||
/* 80021F30 0001EE70 4B FF F8 1D */ bl fpcLy_Layer
|
||||
/* 80021F34 0001EE74 28 03 00 00 */ cmplwi r3, 0
|
||||
/* 80021F38 0001EE78 41 82 00 10 */ beq lbl_80021F48
|
||||
/* 80021F3C 0001EE7C 90 7E 00 14 */ stw r3, 0x14(r30)
|
||||
/* 80021F40 0001EE80 38 60 00 01 */ li r3, 1
|
||||
/* 80021F44 0001EE84 48 00 00 08 */ b lbl_80021F4C
|
||||
lbl_80021F48:
|
||||
/* 80021F48 0001EE88 38 60 00 00 */ li r3, 0
|
||||
lbl_80021F4C:
|
||||
/* 80021F4C 0001EE8C 83 E1 00 0C */ lwz r31, 0xc(r1)
|
||||
/* 80021F50 0001EE90 83 C1 00 08 */ lwz r30, 8(r1)
|
||||
/* 80021F54 0001EE94 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 80021F58 0001EE98 7C 08 03 A6 */ mtlr r0
|
||||
/* 80021F5C 0001EE9C 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 80021F60 0001EEA0 4E 80 00 20 */ blr
|
||||
|
||||
|
|
@ -7,7 +7,8 @@
|
|||
#include "SComponent/c_list.h"
|
||||
#include "SComponent/c_tree.h"
|
||||
|
||||
struct create_tag_class : public node_class {
|
||||
struct create_tag_class {
|
||||
node_class pNode;
|
||||
void *mpTagData;
|
||||
s8 mbIsUse;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -0,0 +1,15 @@
|
|||
#ifndef F_OP_ACTOR_TAG_H
|
||||
#define F_OP_ACTOR_TAG_H
|
||||
|
||||
#include "global.h"
|
||||
#include "SComponent/c_tag.h"
|
||||
|
||||
extern "C" {
|
||||
|
||||
u32 fopAcTg_ToActorQ(create_tag_class* c);
|
||||
u32 fopAcTg_ActorQTo(create_tag_class* c);
|
||||
u32 fopAcTg_Init(create_tag_class* c, void* data);
|
||||
|
||||
}
|
||||
|
||||
#endif
|
||||
|
|
@ -10,14 +10,15 @@
|
|||
struct process_method_tag_class;
|
||||
struct process_node_class;
|
||||
|
||||
struct layer_class : public node_class {
|
||||
struct layer_class {
|
||||
node_class mNode; // generates different asm for struct copy if using inheritance
|
||||
u32 mLayerID;
|
||||
node_lists_tree_class mNodeListTree;
|
||||
process_node_class *mpPcNode;
|
||||
node_lists_tree_class mCancelListTree;
|
||||
void *mpUnk0;
|
||||
short mCreatingCount;
|
||||
short mDeletingCount;
|
||||
s32 mpUnk0;
|
||||
s32 mCreatingCount:16;// for some reason, the compiler only optimized these into a single word load/store instead of 2 halfword load/store, but only if they are written like this
|
||||
s32 mDeletingCount:16;
|
||||
};
|
||||
|
||||
extern "C" {
|
||||
|
|
@ -33,21 +34,21 @@ 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);
|
||||
bool fpcLy_IsCreatingMesg(layer_class *pLayer);
|
||||
bool 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);
|
||||
int fpcLy_IntoQueue(layer_class *pLayer, int treeListIdx, create_tag_class *pTag, int idx);
|
||||
int fpcLy_ToQueue(layer_class *pLayer, int treeListIdx, create_tag_class *pTag);
|
||||
int fpcLy_QueueTo(layer_class *pLayer, create_tag_class *pTag);
|
||||
|
||||
void fpcLy_Cancel(layer_class *pLayer);
|
||||
int fpcLy_CancelMethod(layer_class *pLayer);
|
||||
bool fpcLy_CancelMethod(process_method_tag_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);
|
||||
void fpcLy_Create(layer_class *pLayer, process_node_class *pPcNode, node_list_class *pLists, int listNum);
|
||||
int fpcLy_Delete(layer_class *pLayer);
|
||||
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,22 @@
|
|||
#ifndef F_PC_LAYER_ITER_H
|
||||
#define F_PC_LAYER_ITER_H
|
||||
|
||||
#include "global.h"
|
||||
#include "f/f_pc/f_pc_layer.h"
|
||||
#include "SComponent/c_node_iter.h"
|
||||
|
||||
struct layer_iter {
|
||||
void* mpFunc;
|
||||
void* mpUserData;
|
||||
};
|
||||
|
||||
extern "C" {
|
||||
|
||||
int fpcLyIt_OnlyHere(layer_class *pLayer, cNdIt_MethodFunc pFunc, void *pUserData);
|
||||
int fpcLyIt_OnlyHereLY(layer_class *pLayer, cNdIt_MethodFunc pFunc, void *pUserData);
|
||||
void * fpcLyIt_Judge(layer_class *pLayer, cNdIt_MethodFunc pFunc, void *pUserData);
|
||||
void * fpcLyIt_AllJudge(cNdIt_MethodFunc pFunc, void *pUserData);
|
||||
|
||||
}
|
||||
|
||||
#endif
|
||||
|
|
@ -7,10 +7,20 @@
|
|||
|
||||
struct layer_class;
|
||||
|
||||
struct layer_management_tag_class : public create_tag_class {
|
||||
struct layer_management_tag_class {
|
||||
create_tag_class mCreateTag;
|
||||
layer_class *mpLayer;
|
||||
s16 mNodeListID;
|
||||
s16 mNodeListIdx;
|
||||
u16 mNodeListID;
|
||||
u16 mNodeListIdx;
|
||||
};
|
||||
|
||||
extern "C" {
|
||||
|
||||
s32 fpcLyTg_QueueTo(layer_management_tag_class *pTag);
|
||||
s32 fpcLyTg_ToQueue(layer_management_tag_class *pTag, u32 layerID, u16 listID, u16 listPrio);
|
||||
s32 fpcLyTg_Move(layer_management_tag_class *, u32, u16, u16);
|
||||
s32 fpcLyTg_Init(layer_management_tag_class *, u32, void *);
|
||||
|
||||
}
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -13,7 +13,9 @@ struct process_method_tag_class : public create_tag_class {
|
|||
|
||||
extern "C" {
|
||||
|
||||
int fpcMtdTg_Do(process_method_tag_class *pMthd);
|
||||
void fpcMtdTg_MethodQTo(process_method_tag_class *pMthd);
|
||||
void fpcMtdTg_ToMethodQ(node_list_class *pList, process_method_tag_class *pMthd);
|
||||
int fpcMtdTg_Init(process_method_tag_class *pMthd, process_method_tag_func pFunc, void *pMthdData);
|
||||
|
||||
};
|
||||
|
|
|
|||
|
|
@ -164,4 +164,4 @@ lbl_80005D34:
|
|||
/* 80005D3C 00002C7C 80 01 00 34 */ lwz r0, 0x34(r1)
|
||||
/* 80005D40 00002C80 7C 08 03 A6 */ mtlr r0
|
||||
/* 80005D44 00002C84 38 21 00 30 */ addi r1, r1, 0x30
|
||||
/* 80005D48 00002C88 4E 80 00 20 */ blr
|
||||
/* 80005D48 00002C88 4E 80 00 20 */ blr
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ int cTg_SingleCutFromTree(create_tag_class *pTag)
|
|||
{
|
||||
if (pTag->mbIsUse == true) {
|
||||
pTag->mbIsUse = false;
|
||||
cTr_SingleCut(pTag);
|
||||
cTr_SingleCut(&pTag->pNode);
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
|
|
@ -23,7 +23,7 @@ int cTg_SingleCutFromTree(create_tag_class *pTag)
|
|||
int cTg_AdditionToTree(node_lists_tree_class *pTree, int listIdx, create_tag_class *pTag)
|
||||
{
|
||||
if (!pTag->mbIsUse) {
|
||||
int ret = cTr_Addition(pTree, listIdx, pTag);
|
||||
int ret = cTr_Addition(pTree, listIdx, &pTag->pNode);
|
||||
if (ret) {
|
||||
pTag->mbIsUse = true;
|
||||
return ret;
|
||||
|
|
@ -36,7 +36,7 @@ int cTg_AdditionToTree(node_lists_tree_class *pTree, int listIdx, create_tag_cla
|
|||
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);
|
||||
int ret = cTr_Insert(pTree, listIdx, &pTag->pNode, idx);
|
||||
if (ret) {
|
||||
pTag->mbIsUse = true;
|
||||
return ret;
|
||||
|
|
@ -54,14 +54,14 @@ node_class * cTg_GetFirst(node_list_class *pList)
|
|||
} else {
|
||||
pTag = NULL;
|
||||
}
|
||||
return pTag;
|
||||
return &pTag->pNode;
|
||||
}
|
||||
|
||||
int cTg_SingleCut(create_tag_class *pTag)
|
||||
{
|
||||
if (pTag->mbIsUse == 1) {
|
||||
pTag->mbIsUse = false;
|
||||
cLs_SingleCut(pTag);
|
||||
cLs_SingleCut(&pTag->pNode);
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
|
@ -71,7 +71,7 @@ int cTg_SingleCut(create_tag_class *pTag)
|
|||
int cTg_Addition(node_list_class *pList, create_tag_class *pTag)
|
||||
{
|
||||
if (!pTag->mbIsUse) {
|
||||
int ret = cLs_Addition(pList, pTag);
|
||||
int ret = cLs_Addition(pList, &pTag->pNode);
|
||||
if (ret) {
|
||||
pTag->mbIsUse = true;
|
||||
return ret;
|
||||
|
|
@ -83,7 +83,7 @@ int cTg_Addition(node_list_class *pList, create_tag_class *pTag)
|
|||
|
||||
void cTg_Create(create_tag_class *pTag, void *pData)
|
||||
{
|
||||
cNd_Create(pTag, NULL);
|
||||
cNd_Create(&pTag->pNode, NULL);
|
||||
pTag->mpTagData = pData;
|
||||
pTag->mbIsUse = false;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ TEXT_O_FILES := \
|
|||
$(BUILD_DIR)/asm/f/ap/f_ap_game.o \
|
||||
$(BUILD_DIR)/asm/f/op/f_op_actor.o \
|
||||
$(BUILD_DIR)/asm/f/op/actor/f_op_actor_iter.o \
|
||||
$(BUILD_DIR)/asm/f/op/actor/f_op_actor_tag.o \
|
||||
$(BUILD_DIR)/src/f/f_op/f_op_actor_tag.o \
|
||||
$(BUILD_DIR)/asm/f/op/actor/f_op_actor_mng.o \
|
||||
$(BUILD_DIR)/asm/f/op/f_op_camera.o \
|
||||
$(BUILD_DIR)/asm/f/op/camera/f_op_camera_mng.o \
|
||||
|
|
@ -60,11 +60,11 @@ TEXT_O_FILES := \
|
|||
$(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_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)/src/f/f_pc/f_pc_layer_iter.o \
|
||||
$(BUILD_DIR)/src/f/f_pc/f_pc_layer_tag.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 \
|
||||
|
|
|
|||
|
|
@ -1 +1,23 @@
|
|||
// ok
|
||||
#include "f/f_op/f_op_actor_tag.h"
|
||||
#include "global.h"
|
||||
#include "SComponent/c_tag.h"
|
||||
|
||||
// f_op_actor_tag::g_fopAcTg_Queue
|
||||
extern node_list_class lbl_803A35E0;
|
||||
|
||||
extern "C" {
|
||||
|
||||
u32 fopAcTg_ToActorQ(create_tag_class* c) {
|
||||
return cTg_Addition(&lbl_803A35E0, c);
|
||||
}
|
||||
|
||||
u32 fopAcTg_ActorQTo(create_tag_class* pTag) {
|
||||
return cTg_SingleCutFromTree(pTag);
|
||||
}
|
||||
|
||||
u32 fopAcTg_Init(create_tag_class* pTag, void* data) {
|
||||
cTg_Create(pTag, data);
|
||||
return 1;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -3,16 +3,13 @@
|
|||
#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_iter.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
|
||||
|
|
@ -20,7 +17,7 @@ extern int lbl_80450D40;
|
|||
|
||||
base_process_class * fpcEx_Search(void *pFunc, void *pUserData)
|
||||
{
|
||||
return (base_process_class *) fpcLyIt_AllJudge(pFunc, pUserData);
|
||||
return (base_process_class *) fpcLyIt_AllJudge((cNdIt_MethodFunc) pFunc, pUserData);
|
||||
}
|
||||
|
||||
base_process_class * fpcEx_SearchByID(u32 id)
|
||||
|
|
|
|||
|
|
@ -1 +1,154 @@
|
|||
// ok
|
||||
#include "global.h"
|
||||
#include "f/f_pc/f_pc_layer.h"
|
||||
#include "f/f_pc/f_pc_method_tag.h"
|
||||
#include "f/f_pc/f_pc_method_iter.h"
|
||||
|
||||
// f_pc_layer::l_fpcLy_CurrLayer_p
|
||||
extern layer_class *lbl_80450D18;
|
||||
extern s8 lbl_80450D20;
|
||||
// f_pc_layer::IsInitOfLayerList
|
||||
extern s32 lbl_80450D1C;
|
||||
extern s8 lbl_80450D28;
|
||||
// f_pc_layer::layer_id
|
||||
extern s32 lbl_80450D24;
|
||||
// f_pc_layer::l_fpcLy_LayerList
|
||||
extern node_list_class lbl_803A39DC;
|
||||
// f_pc_layer::l_fpcLy_Crear
|
||||
extern layer_class lbl_803A39B0;
|
||||
|
||||
extern "C" {
|
||||
|
||||
void fpcLy_CancelQTo(process_method_tag_class *pMthd) {
|
||||
fpcMtdTg_MethodQTo(pMthd);
|
||||
}
|
||||
|
||||
void fpcLy_ToCancelQ(layer_class *pLayer, process_method_tag_class *pMthd) {
|
||||
// this is obviously wrong
|
||||
fpcMtdTg_ToMethodQ((node_list_class*)&pLayer->mCancelListTree, pMthd);
|
||||
}
|
||||
|
||||
bool fpcLy_CancelMethod(process_method_tag_class *pLayer) {
|
||||
return fpcMtdTg_Do(pLayer) == 1;
|
||||
}
|
||||
|
||||
int fpcLy_IntoQueue(layer_class *pLayer, int treeListIdx, create_tag_class *pTag, int idx) {
|
||||
return cTg_InsertToTree(&pLayer->mNodeListTree, treeListIdx, pTag, idx);
|
||||
}
|
||||
|
||||
int fpcLy_ToQueue(layer_class *pLayer, int treeListIdx, create_tag_class *pTag) {
|
||||
return cTg_AdditionToTree(&pLayer->mNodeListTree, treeListIdx, pTag);
|
||||
}
|
||||
|
||||
int fpcLy_QueueTo(layer_class *pLayer, create_tag_class *pTag) {
|
||||
return cTg_SingleCutFromTree(pTag);
|
||||
}
|
||||
|
||||
bool fpcLy_IsDeletingMesg(layer_class *pLayer) {
|
||||
return pLayer->mDeletingCount > 0;
|
||||
}
|
||||
|
||||
void fpcLy_DeletingMesg(layer_class *pLayer) {
|
||||
pLayer->mDeletingCount++;
|
||||
}
|
||||
|
||||
void fpcLy_DeletedMesg(layer_class *pLayer) {
|
||||
if (pLayer->mDeletingCount > 0) {
|
||||
pLayer->mDeletingCount--;
|
||||
}
|
||||
}
|
||||
|
||||
bool fpcLy_IsCreatingMesg(layer_class *pLayer) {
|
||||
return pLayer->mCreatingCount > 0;
|
||||
}
|
||||
|
||||
void fpcLy_CreatingMesg(layer_class *pLayer) {
|
||||
pLayer->mCreatingCount++;
|
||||
}
|
||||
|
||||
void fpcLy_CreatedMesg(layer_class *pLayer) {
|
||||
if (pLayer->mCreatingCount > 0) {
|
||||
pLayer->mCreatingCount--;
|
||||
}
|
||||
}
|
||||
|
||||
layer_class * fpcLy_RootLayer(void) {
|
||||
return (layer_class*)lbl_803A39DC.mpHead;
|
||||
}
|
||||
|
||||
void fpcLy_SetCurrentLayer(layer_class *pLayer) {
|
||||
lbl_80450D18 = pLayer;
|
||||
}
|
||||
|
||||
layer_class * fpcLy_CurrentLayer(void) {
|
||||
return lbl_80450D18;
|
||||
}
|
||||
|
||||
layer_class * fpcLy_Search(unsigned int id) {
|
||||
layer_class* iVar1 = fpcLy_RootLayer();
|
||||
while (iVar1 != NULL) {
|
||||
if (iVar1->mLayerID == id) {
|
||||
return iVar1;
|
||||
}
|
||||
iVar1 = (layer_class*)iVar1->mNode.mpNextNode;
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
layer_class * fpcLy_Layer(unsigned int id) {
|
||||
if (id == 0 || fpcLy_RootLayer()->mLayerID == id) {
|
||||
return fpcLy_RootLayer();
|
||||
} else if (id == ~2 || fpcLy_CurrentLayer()->mLayerID == id) {
|
||||
return fpcLy_CurrentLayer();
|
||||
} else {
|
||||
return fpcLy_Search(id);
|
||||
}
|
||||
}
|
||||
|
||||
void fpcLy_Regist(layer_class *pLayer) {
|
||||
cLs_Addition(&lbl_803A39DC, &pLayer->mNode);
|
||||
}
|
||||
|
||||
int fpcLy_Delete(layer_class *pLayer) {
|
||||
if (pLayer->mNodeListTree.mpLists->mSize == 0 && pLayer->mpUnk0 == NULL) {
|
||||
cLs_SingleCut(&pLayer->mNode);
|
||||
*pLayer = lbl_803A39B0;
|
||||
return 1;
|
||||
} else {
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
void fpcLy_Cancel(layer_class *pLayer) {
|
||||
// data structures are messed up?
|
||||
fpcMtdIt_Method((node_list_class*)&pLayer->mCancelListTree, (cNdIt_MethodFunc)fpcLy_CancelMethod);
|
||||
}
|
||||
|
||||
void fpcLy_Create(layer_class *pLayer, process_node_class *pPcNode, node_list_class *pLists, int listNum) {
|
||||
void *pvVar1;
|
||||
int iVar2;
|
||||
|
||||
if (lbl_80450D20 == 0) {
|
||||
lbl_80450D1C = 0x1; // IsInitOfLayerList
|
||||
lbl_80450D20 = 1;
|
||||
}
|
||||
if (lbl_80450D28 == 0) {
|
||||
lbl_80450D24 = 0; // layer_id
|
||||
lbl_80450D28 = 1;
|
||||
}
|
||||
*pLayer = lbl_803A39B0;
|
||||
cNd_Create(&pLayer->mNode, NULL);
|
||||
pLayer->mLayerID = lbl_80450D24++;
|
||||
pLayer->mpPcNode = pPcNode;
|
||||
if (lbl_80450D1C == 0x1) {
|
||||
lbl_80450D1C = 0x0;
|
||||
cLs_Create(&lbl_803A39DC);
|
||||
fpcLy_SetCurrentLayer(pLayer);
|
||||
}
|
||||
(pLayer->mNodeListTree).mpLists = pLists;
|
||||
(pLayer->mNodeListTree).mNumLists = listNum;
|
||||
cTr_Create(&pLayer->mNodeListTree,(pLayer->mNodeListTree).mpLists,
|
||||
(pLayer->mNodeListTree).mNumLists);
|
||||
fpcLy_Regist(pLayer);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -1 +1,46 @@
|
|||
// ok
|
||||
#include "f/f_pc/f_pc_layer_iter.h"
|
||||
#include "SComponent/c_tree_iter.h"
|
||||
#include "SComponent/c_tag_iter.h"
|
||||
|
||||
extern "C" {
|
||||
|
||||
int fpcLyIt_OnlyHere(layer_class *pLayer, cNdIt_MethodFunc pFunc, void *pUserData) {
|
||||
layer_iter lIter;
|
||||
lIter.mpFunc = pFunc;
|
||||
lIter.mpUserData = pUserData;
|
||||
return cTrIt_Method(&pLayer->mNodeListTree,(cNdIt_MethodFunc) cTgIt_MethodCall, &lIter);
|
||||
}
|
||||
|
||||
int fpcLyIt_OnlyHereLY(layer_class *pLayer, cNdIt_MethodFunc pFunc, void *pUserData) {
|
||||
int result;
|
||||
layer_class* currentLayer = fpcLy_CurrentLayer();
|
||||
fpcLy_SetCurrentLayer(pLayer);
|
||||
result = fpcLyIt_OnlyHere(pLayer, pFunc, pUserData);
|
||||
fpcLy_SetCurrentLayer(currentLayer);
|
||||
return result;
|
||||
}
|
||||
|
||||
void * fpcLyIt_Judge(layer_class *pLayer, cNdIt_MethodFunc pFunc, void *pUserData) {
|
||||
layer_iter lIter;
|
||||
lIter.mpFunc = pFunc;
|
||||
lIter.mpUserData = pUserData;
|
||||
return cTrIt_Judge(&pLayer->mNodeListTree,(cNdIt_JudgeFunc) cTgIt_JudgeFilter, &lIter);
|
||||
}
|
||||
|
||||
void * fpcLyIt_AllJudge(cNdIt_MethodFunc pFunc, void *pUserData) {
|
||||
layer_iter lIter;
|
||||
lIter.mpFunc = pFunc;
|
||||
lIter.mpUserData = pUserData;
|
||||
|
||||
layer_class* current = fpcLy_RootLayer();
|
||||
while (current != NULL) {
|
||||
void* result = cTrIt_Judge(¤t->mNodeListTree,(cNdIt_JudgeFunc) cTgIt_JudgeFilter, &lIter);
|
||||
if (result != NULL) {
|
||||
return result;
|
||||
}
|
||||
current = (layer_class*)current->mNode.mpNextNode;
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -1 +1,70 @@
|
|||
// ok
|
||||
#include "global.h"
|
||||
#include "f/f_pc/f_pc_layer_tag.h"
|
||||
#include "f/f_pc/f_pc_layer.h"
|
||||
|
||||
// f_pc_layer_tag::crear
|
||||
extern layer_management_tag_class lbl_803A3A00;
|
||||
|
||||
extern "C" {
|
||||
|
||||
s32 fpcLyTg_ToQueue(layer_management_tag_class *pTag, u32 layerID, u16 listID, u16 listPrio) {
|
||||
if (pTag->mpLayer == NULL && layerID == -1) {
|
||||
return 0;
|
||||
} else {
|
||||
// ghidra says layerID is unsigned?
|
||||
if (layerID != -1 && layerID != -3 && pTag->mpLayer->mLayerID != layerID) {
|
||||
pTag->mpLayer = fpcLy_Layer(layerID);
|
||||
}
|
||||
if (layerID == -1 || layerID == -3) {
|
||||
int tmp = fpcLy_ToQueue(pTag->mpLayer, listID, &pTag->mCreateTag);
|
||||
if (tmp != 0x0) {
|
||||
pTag->mNodeListID = listID;
|
||||
pTag->mNodeListIdx = tmp - 1;
|
||||
return 1;
|
||||
}
|
||||
} else if (fpcLy_IntoQueue(pTag->mpLayer,listID,&pTag->mCreateTag,listPrio) != 0x0) {
|
||||
pTag->mNodeListID = listID;
|
||||
pTag->mNodeListIdx = listPrio;
|
||||
return 1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
s32 fpcLyTg_QueueTo(layer_management_tag_class *pTag) {
|
||||
if (fpcLy_QueueTo(pTag->mpLayer,&pTag->mCreateTag) == 1) {
|
||||
pTag->mpLayer = NULL;
|
||||
pTag->mNodeListID = 0xFFFF;
|
||||
pTag->mNodeListIdx = 0xFFFF;
|
||||
return 1;
|
||||
} else {
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
s32 fpcLyTg_Move(layer_management_tag_class * pTag, u32 layerID, u16 listID, u16 listPrio) {
|
||||
layer_class *layer = fpcLy_Layer(layerID);
|
||||
if (layer == NULL) {
|
||||
return 0;
|
||||
}
|
||||
else if (fpcLyTg_QueueTo(pTag) == 0x1) {
|
||||
pTag->mpLayer = layer;
|
||||
return fpcLyTg_ToQueue(pTag,layerID,listID,listPrio);
|
||||
} else {
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
s32 fpcLyTg_Init(layer_management_tag_class * pTag, u32 param2, void * param3) {
|
||||
*pTag = lbl_803A3A00;
|
||||
cTg_Create(&pTag->mCreateTag, param3);
|
||||
layer_class* layer = fpcLy_Layer(param2);
|
||||
if (layer != NULL) {
|
||||
pTag->mpLayer = layer;
|
||||
return 1;
|
||||
} else {
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -6,9 +6,9 @@ extern node_lists_tree_class lbl_804505D8;
|
|||
|
||||
extern "C" {
|
||||
|
||||
void fpcMtdTg_Do(process_method_tag_class *pMthd)
|
||||
int fpcMtdTg_Do(process_method_tag_class *pMthd)
|
||||
{
|
||||
pMthd->mpFunc(pMthd->mpMthdData);
|
||||
return pMthd->mpFunc(pMthd->mpMthdData);
|
||||
}
|
||||
|
||||
void fpcMtdTg_ToMethodQ(node_list_class *pList, process_method_tag_class *pMthd)
|
||||
|
|
|
|||
Loading…
Reference in New Issue