prime/asm/GuiSys/CGuiWidget.s

742 lines
36 KiB
ArmAsm

.include "macros.inc"
.section .data
.balign 8
.global lbl_803ECA10
lbl_803ECA10:
# ROM: 0x3E9A10
.4byte 0
.4byte 0
.4byte __dt__10CGuiWidgetFv
.4byte Update__10CGuiWidgetFf
.4byte Draw__10CGuiWidgetCFRC19CGuiWidgetDrawParms
.4byte Initialize__10CGuiWidgetFv
.4byte ProcessUserInput__10CGuiWidgetFRC11CFinalInput
.4byte Touch__10CGuiWidgetCFv
.4byte GetIsVisible__10CGuiWidgetCFv
.4byte GetIsActive__10CGuiWidgetCFv
.4byte GetWidgetTypeID__10CGuiWidgetCFv
.4byte AddWorkerWidget__10CGuiWidgetFP10CGuiWidget
.4byte GetIsFinishedLoadingWidgetSpecific__10CGuiWidgetCFv
.4byte OnVisible__10CGuiWidgetFv
.4byte OnActivate__10CGuiWidgetFv
.4byte 0
.section .text, "ax"
.global OnActivate__10CGuiWidgetFv
OnActivate__10CGuiWidgetFv:
/* 802CA5DC 002C753C 4E 80 00 20 */ blr
.global OnVisible__10CGuiWidgetFv
OnVisible__10CGuiWidgetFv:
/* 802CA5E0 002C7540 4E 80 00 20 */ blr
.global SetIsActive__10CGuiWidgetFb
SetIsActive__10CGuiWidgetFb:
/* 802CA5E4 002C7544 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802CA5E8 002C7548 7C 08 02 A6 */ mflr r0
/* 802CA5EC 002C754C 90 01 00 14 */ stw r0, 0x14(r1)
/* 802CA5F0 002C7550 54 80 06 3E */ clrlwi r0, r4, 0x18
/* 802CA5F4 002C7554 88 A3 00 B6 */ lbz r5, 0xb6(r3)
/* 802CA5F8 002C7558 54 A4 DF FE */ rlwinm r4, r5, 0x1b, 0x1f, 0x1f
/* 802CA5FC 002C755C 7C 04 00 40 */ cmplw r4, r0
/* 802CA600 002C7560 41 82 00 1C */ beq lbl_802CA61C
/* 802CA604 002C7564 50 05 2E B4 */ rlwimi r5, r0, 5, 0x1a, 0x1a
/* 802CA608 002C7568 98 A3 00 B6 */ stb r5, 0xb6(r3)
/* 802CA60C 002C756C 81 83 00 00 */ lwz r12, 0(r3)
/* 802CA610 002C7570 81 8C 00 38 */ lwz r12, 0x38(r12)
/* 802CA614 002C7574 7D 89 03 A6 */ mtctr r12
/* 802CA618 002C7578 4E 80 04 21 */ bctrl
lbl_802CA61C:
/* 802CA61C 002C757C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802CA620 002C7580 7C 08 03 A6 */ mtlr r0
/* 802CA624 002C7584 38 21 00 10 */ addi r1, r1, 0x10
/* 802CA628 002C7588 4E 80 00 20 */ blr
.global SetIsVisible__10CGuiWidgetFb
SetIsVisible__10CGuiWidgetFb:
/* 802CA62C 002C758C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802CA630 002C7590 7C 08 02 A6 */ mflr r0
/* 802CA634 002C7594 90 01 00 14 */ stw r0, 0x14(r1)
/* 802CA638 002C7598 88 03 00 B6 */ lbz r0, 0xb6(r3)
/* 802CA63C 002C759C 50 80 36 72 */ rlwimi r0, r4, 6, 0x19, 0x19
/* 802CA640 002C75A0 98 03 00 B6 */ stb r0, 0xb6(r3)
/* 802CA644 002C75A4 81 83 00 00 */ lwz r12, 0(r3)
/* 802CA648 002C75A8 81 8C 00 34 */ lwz r12, 0x34(r12)
/* 802CA64C 002C75AC 7D 89 03 A6 */ mtctr r12
/* 802CA650 002C75B0 4E 80 04 21 */ bctrl
/* 802CA654 002C75B4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802CA658 002C75B8 7C 08 03 A6 */ mtlr r0
/* 802CA65C 002C75BC 38 21 00 10 */ addi r1, r1, 0x10
/* 802CA660 002C75C0 4E 80 00 20 */ blr
.global ReapplyXform__10CGuiWidgetFv
ReapplyXform__10CGuiWidgetFv:
/* 802CA664 002C75C4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802CA668 002C75C8 7C 08 02 A6 */ mflr r0
/* 802CA66C 002C75CC 90 01 00 14 */ stw r0, 0x14(r1)
/* 802CA670 002C75D0 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802CA674 002C75D4 7C 7F 1B 78 */ mr r31, r3
/* 802CA678 002C75D8 4B FF AA C9 */ bl RotateReset__10CGuiObjectFv
/* 802CA67C 002C75DC 3C 80 80 5A */ lis r4, sZeroVector__9CVector3f@ha
/* 802CA680 002C75E0 7F E3 FB 78 */ mr r3, r31
/* 802CA684 002C75E4 38 84 66 A0 */ addi r4, r4, sZeroVector__9CVector3f@l
/* 802CA688 002C75E8 4B FF AB 41 */ bl SetLocalPosition__10CGuiObjectFRC9CVector3f
/* 802CA68C 002C75EC 7F E3 FB 78 */ mr r3, r31
/* 802CA690 002C75F0 38 9F 00 74 */ addi r4, r31, 0x74
/* 802CA694 002C75F4 4B FF A9 95 */ bl MultiplyO2P__10CGuiObjectFRC12CTransform4f
/* 802CA698 002C75F8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802CA69C 002C75FC 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802CA6A0 002C7600 7C 08 03 A6 */ mtlr r0
/* 802CA6A4 002C7604 38 21 00 10 */ addi r1, r1, 0x10
/* 802CA6A8 002C7608 4E 80 00 20 */ blr
.global GetIdlePosition__10CGuiWidgetFv
GetIdlePosition__10CGuiWidgetFv:
/* 802CA6AC 002C760C C0 24 00 A0 */ lfs f1, 0xa0(r4)
/* 802CA6B0 002C7610 C0 44 00 90 */ lfs f2, 0x90(r4)
/* 802CA6B4 002C7614 C0 04 00 80 */ lfs f0, 0x80(r4)
/* 802CA6B8 002C7618 D0 03 00 00 */ stfs f0, 0(r3)
/* 802CA6BC 002C761C D0 43 00 04 */ stfs f2, 4(r3)
/* 802CA6C0 002C7620 D0 23 00 08 */ stfs f1, 8(r3)
/* 802CA6C4 002C7624 4E 80 00 20 */ blr
.global AddChildWidget__10CGuiWidgetFP10CGuiWidgetbb
AddChildWidget__10CGuiWidgetFP10CGuiWidgetbb:
/* 802CA6C8 002C7628 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802CA6CC 002C762C 7C 08 02 A6 */ mflr r0
/* 802CA6D0 002C7630 90 01 00 14 */ stw r0, 0x14(r1)
/* 802CA6D4 002C7634 4B FF A6 6D */ bl AddChildObject__10CGuiObjectFP10CGuiObjectbb
/* 802CA6D8 002C7638 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802CA6DC 002C763C 7C 08 03 A6 */ mtlr r0
/* 802CA6E0 002C7640 38 21 00 10 */ addi r1, r1, 0x10
/* 802CA6E4 002C7644 4E 80 00 20 */ blr
.global SetVisibility__10CGuiWidgetFb14ETraversalMode
SetVisibility__10CGuiWidgetFb14ETraversalMode:
/* 802CA6E8 002C7648 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802CA6EC 002C764C 7C 08 02 A6 */ mflr r0
/* 802CA6F0 002C7650 2C 05 00 01 */ cmpwi r5, 1
/* 802CA6F4 002C7654 90 01 00 14 */ stw r0, 0x14(r1)
/* 802CA6F8 002C7658 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802CA6FC 002C765C 7C 9F 23 78 */ mr r31, r4
/* 802CA700 002C7660 93 C1 00 08 */ stw r30, 8(r1)
/* 802CA704 002C7664 7C 7E 1B 78 */ mr r30, r3
/* 802CA708 002C7668 41 82 00 18 */ beq lbl_802CA720
/* 802CA70C 002C766C 40 80 00 7C */ bge lbl_802CA788
/* 802CA710 002C7670 2C 05 00 00 */ cmpwi r5, 0
/* 802CA714 002C7674 40 80 00 30 */ bge lbl_802CA744
/* 802CA718 002C7678 48 00 00 70 */ b lbl_802CA788
/* 802CA71C 002C767C 48 00 00 6C */ b lbl_802CA788
lbl_802CA720:
/* 802CA720 002C7680 4B FF A6 11 */ bl ChildObject__10CGuiObjectFv
/* 802CA724 002C7684 28 03 00 00 */ cmplwi r3, 0
/* 802CA728 002C7688 41 82 00 60 */ beq lbl_802CA788
/* 802CA72C 002C768C 7F C3 F3 78 */ mr r3, r30
/* 802CA730 002C7690 4B FF A6 01 */ bl ChildObject__10CGuiObjectFv
/* 802CA734 002C7694 7F E4 FB 78 */ mr r4, r31
/* 802CA738 002C7698 38 A0 00 00 */ li r5, 0
/* 802CA73C 002C769C 4B FF FF AD */ bl SetVisibility__10CGuiWidgetFb14ETraversalMode
/* 802CA740 002C76A0 48 00 00 48 */ b lbl_802CA788
lbl_802CA744:
/* 802CA744 002C76A4 4B FF A5 ED */ bl ChildObject__10CGuiObjectFv
/* 802CA748 002C76A8 28 03 00 00 */ cmplwi r3, 0
/* 802CA74C 002C76AC 41 82 00 18 */ beq lbl_802CA764
/* 802CA750 002C76B0 7F C3 F3 78 */ mr r3, r30
/* 802CA754 002C76B4 4B FF A5 DD */ bl ChildObject__10CGuiObjectFv
/* 802CA758 002C76B8 7F E4 FB 78 */ mr r4, r31
/* 802CA75C 002C76BC 38 A0 00 00 */ li r5, 0
/* 802CA760 002C76C0 4B FF FF 89 */ bl SetVisibility__10CGuiWidgetFb14ETraversalMode
lbl_802CA764:
/* 802CA764 002C76C4 7F C3 F3 78 */ mr r3, r30
/* 802CA768 002C76C8 4B FF A5 B9 */ bl NextSibling__10CGuiObjectFv
/* 802CA76C 002C76CC 28 03 00 00 */ cmplwi r3, 0
/* 802CA770 002C76D0 41 82 00 18 */ beq lbl_802CA788
/* 802CA774 002C76D4 7F C3 F3 78 */ mr r3, r30
/* 802CA778 002C76D8 4B FF A5 A9 */ bl NextSibling__10CGuiObjectFv
/* 802CA77C 002C76DC 7F E4 FB 78 */ mr r4, r31
/* 802CA780 002C76E0 38 A0 00 00 */ li r5, 0
/* 802CA784 002C76E4 4B FF FF 65 */ bl SetVisibility__10CGuiWidgetFb14ETraversalMode
lbl_802CA788:
/* 802CA788 002C76E8 7F C3 F3 78 */ mr r3, r30
/* 802CA78C 002C76EC 57 E4 06 3E */ clrlwi r4, r31, 0x18
/* 802CA790 002C76F0 4B FF FE 9D */ bl SetIsVisible__10CGuiWidgetFb
/* 802CA794 002C76F4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802CA798 002C76F8 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802CA79C 002C76FC 83 C1 00 08 */ lwz r30, 8(r1)
/* 802CA7A0 002C7700 7C 08 03 A6 */ mtlr r0
/* 802CA7A4 002C7704 38 21 00 10 */ addi r1, r1, 0x10
/* 802CA7A8 002C7708 4E 80 00 20 */ blr
.global RecalcWidgetColor__10CGuiWidgetF14ETraversalMode
RecalcWidgetColor__10CGuiWidgetF14ETraversalMode:
/* 802CA7AC 002C770C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802CA7B0 002C7710 7C 08 02 A6 */ mflr r0
/* 802CA7B4 002C7714 90 01 00 24 */ stw r0, 0x24(r1)
/* 802CA7B8 002C7718 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 802CA7BC 002C771C 7C 9F 23 78 */ mr r31, r4
/* 802CA7C0 002C7720 93 C1 00 18 */ stw r30, 0x18(r1)
/* 802CA7C4 002C7724 7C 7E 1B 78 */ mr r30, r3
/* 802CA7C8 002C7728 4B FF A5 51 */ bl Parent__10CGuiObjectFv
/* 802CA7CC 002C772C 7C 65 1B 79 */ or. r5, r3, r3
/* 802CA7D0 002C7730 41 82 00 20 */ beq lbl_802CA7F0
/* 802CA7D4 002C7734 38 61 00 08 */ addi r3, r1, 8
/* 802CA7D8 002C7738 38 9E 00 A4 */ addi r4, r30, 0xa4
/* 802CA7DC 002C773C 38 A5 00 A8 */ addi r5, r5, 0xa8
/* 802CA7E0 002C7740 48 09 89 99 */ bl Modulate__6CColorFRC6CColorRC6CColor
/* 802CA7E4 002C7744 80 01 00 08 */ lwz r0, 8(r1)
/* 802CA7E8 002C7748 90 1E 00 A8 */ stw r0, 0xa8(r30)
/* 802CA7EC 002C774C 48 00 00 0C */ b lbl_802CA7F8
lbl_802CA7F0:
/* 802CA7F0 002C7750 80 1E 00 A4 */ lwz r0, 0xa4(r30)
/* 802CA7F4 002C7754 90 1E 00 A8 */ stw r0, 0xa8(r30)
lbl_802CA7F8:
/* 802CA7F8 002C7758 2C 1F 00 01 */ cmpwi r31, 1
/* 802CA7FC 002C775C 41 82 00 38 */ beq lbl_802CA834
/* 802CA800 002C7760 40 80 00 54 */ bge lbl_802CA854
/* 802CA804 002C7764 2C 1F 00 00 */ cmpwi r31, 0
/* 802CA808 002C7768 40 80 00 0C */ bge lbl_802CA814
/* 802CA80C 002C776C 48 00 00 48 */ b lbl_802CA854
/* 802CA810 002C7770 48 00 00 44 */ b lbl_802CA854
lbl_802CA814:
/* 802CA814 002C7774 7F C3 F3 78 */ mr r3, r30
/* 802CA818 002C7778 4B FF A5 09 */ bl NextSibling__10CGuiObjectFv
/* 802CA81C 002C777C 28 03 00 00 */ cmplwi r3, 0
/* 802CA820 002C7780 41 82 00 14 */ beq lbl_802CA834
/* 802CA824 002C7784 7F C3 F3 78 */ mr r3, r30
/* 802CA828 002C7788 4B FF A4 F9 */ bl NextSibling__10CGuiObjectFv
/* 802CA82C 002C778C 38 80 00 00 */ li r4, 0
/* 802CA830 002C7790 4B FF FF 7D */ bl RecalcWidgetColor__10CGuiWidgetF14ETraversalMode
lbl_802CA834:
/* 802CA834 002C7794 7F C3 F3 78 */ mr r3, r30
/* 802CA838 002C7798 4B FF A4 F9 */ bl ChildObject__10CGuiObjectFv
/* 802CA83C 002C779C 28 03 00 00 */ cmplwi r3, 0
/* 802CA840 002C77A0 41 82 00 14 */ beq lbl_802CA854
/* 802CA844 002C77A4 7F C3 F3 78 */ mr r3, r30
/* 802CA848 002C77A8 4B FF A4 E9 */ bl ChildObject__10CGuiObjectFv
/* 802CA84C 002C77AC 38 80 00 00 */ li r4, 0
/* 802CA850 002C77B0 4B FF FF 5D */ bl RecalcWidgetColor__10CGuiWidgetF14ETraversalMode
lbl_802CA854:
/* 802CA854 002C77B4 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802CA858 002C77B8 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 802CA85C 002C77BC 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 802CA860 002C77C0 7C 08 03 A6 */ mtlr r0
/* 802CA864 002C77C4 38 21 00 20 */ addi r1, r1, 0x20
/* 802CA868 002C77C8 4E 80 00 20 */ blr
.global SetColor__10CGuiWidgetFRC6CColor
SetColor__10CGuiWidgetFRC6CColor:
/* 802CA86C 002C77CC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802CA870 002C77D0 7C 08 02 A6 */ mflr r0
/* 802CA874 002C77D4 90 01 00 14 */ stw r0, 0x14(r1)
/* 802CA878 002C77D8 80 04 00 00 */ lwz r0, 0(r4)
/* 802CA87C 002C77DC 38 80 00 01 */ li r4, 1
/* 802CA880 002C77E0 90 03 00 A4 */ stw r0, 0xa4(r3)
/* 802CA884 002C77E4 4B FF FF 29 */ bl RecalcWidgetColor__10CGuiWidgetF14ETraversalMode
/* 802CA888 002C77E8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802CA88C 002C77EC 7C 08 03 A6 */ mtlr r0
/* 802CA890 002C77F0 38 21 00 10 */ addi r1, r1, 0x10
/* 802CA894 002C77F4 4E 80 00 20 */ blr
.global FindWidget__10CGuiWidgetFs
FindWidget__10CGuiWidgetFs:
/* 802CA898 002C77F8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802CA89C 002C77FC 7C 08 02 A6 */ mflr r0
/* 802CA8A0 002C7800 90 01 00 14 */ stw r0, 0x14(r1)
/* 802CA8A4 002C7804 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802CA8A8 002C7808 7C 9F 23 78 */ mr r31, r4
/* 802CA8AC 002C780C 7F E0 07 34 */ extsh r0, r31
/* 802CA8B0 002C7810 93 C1 00 08 */ stw r30, 8(r1)
/* 802CA8B4 002C7814 7C 7E 1B 78 */ mr r30, r3
/* 802CA8B8 002C7818 A8 83 00 70 */ lha r4, 0x70(r3)
/* 802CA8BC 002C781C 7C 04 00 00 */ cmpw r4, r0
/* 802CA8C0 002C7820 40 82 00 08 */ bne lbl_802CA8C8
/* 802CA8C4 002C7824 48 00 00 5C */ b lbl_802CA920
lbl_802CA8C8:
/* 802CA8C8 002C7828 4B FF A4 69 */ bl ChildObject__10CGuiObjectFv
/* 802CA8CC 002C782C 28 03 00 00 */ cmplwi r3, 0
/* 802CA8D0 002C7830 41 82 00 20 */ beq lbl_802CA8F0
/* 802CA8D4 002C7834 7F C3 F3 78 */ mr r3, r30
/* 802CA8D8 002C7838 4B FF A4 59 */ bl ChildObject__10CGuiObjectFv
/* 802CA8DC 002C783C 7F E4 FB 78 */ mr r4, r31
/* 802CA8E0 002C7840 4B FF FF B9 */ bl FindWidget__10CGuiWidgetFs
/* 802CA8E4 002C7844 28 03 00 00 */ cmplwi r3, 0
/* 802CA8E8 002C7848 41 82 00 08 */ beq lbl_802CA8F0
/* 802CA8EC 002C784C 48 00 00 34 */ b lbl_802CA920
lbl_802CA8F0:
/* 802CA8F0 002C7850 7F C3 F3 78 */ mr r3, r30
/* 802CA8F4 002C7854 4B FF A4 2D */ bl NextSibling__10CGuiObjectFv
/* 802CA8F8 002C7858 28 03 00 00 */ cmplwi r3, 0
/* 802CA8FC 002C785C 41 82 00 20 */ beq lbl_802CA91C
/* 802CA900 002C7860 7F C3 F3 78 */ mr r3, r30
/* 802CA904 002C7864 4B FF A4 1D */ bl NextSibling__10CGuiObjectFv
/* 802CA908 002C7868 7F E4 FB 78 */ mr r4, r31
/* 802CA90C 002C786C 4B FF FF 8D */ bl FindWidget__10CGuiWidgetFs
/* 802CA910 002C7870 28 03 00 00 */ cmplwi r3, 0
/* 802CA914 002C7874 41 82 00 08 */ beq lbl_802CA91C
/* 802CA918 002C7878 48 00 00 08 */ b lbl_802CA920
lbl_802CA91C:
/* 802CA91C 002C787C 38 60 00 00 */ li r3, 0
lbl_802CA920:
/* 802CA920 002C7880 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802CA924 002C7884 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802CA928 002C7888 83 C1 00 08 */ lwz r30, 8(r1)
/* 802CA92C 002C788C 7C 08 03 A6 */ mtlr r0
/* 802CA930 002C7890 38 21 00 10 */ addi r1, r1, 0x10
/* 802CA934 002C7894 4E 80 00 20 */ blr
.global GetIsFinishedLoading__10CGuiWidgetCFv
GetIsFinishedLoading__10CGuiWidgetCFv:
/* 802CA938 002C7898 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802CA93C 002C789C 7C 08 02 A6 */ mflr r0
/* 802CA940 002C78A0 90 01 00 14 */ stw r0, 0x14(r1)
/* 802CA944 002C78A4 81 83 00 00 */ lwz r12, 0(r3)
/* 802CA948 002C78A8 81 8C 00 30 */ lwz r12, 0x30(r12)
/* 802CA94C 002C78AC 7D 89 03 A6 */ mtctr r12
/* 802CA950 002C78B0 4E 80 04 21 */ bctrl
/* 802CA954 002C78B4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802CA958 002C78B8 7C 08 03 A6 */ mtlr r0
/* 802CA95C 002C78BC 38 21 00 10 */ addi r1, r1, 0x10
/* 802CA960 002C78C0 4E 80 00 20 */ blr
.global DispatchInitialize__10CGuiWidgetFv
DispatchInitialize__10CGuiWidgetFv:
/* 802CA964 002C78C4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802CA968 002C78C8 7C 08 02 A6 */ mflr r0
/* 802CA96C 002C78CC 90 01 00 14 */ stw r0, 0x14(r1)
/* 802CA970 002C78D0 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802CA974 002C78D4 7C 7F 1B 78 */ mr r31, r3
/* 802CA978 002C78D8 81 83 00 00 */ lwz r12, 0(r3)
/* 802CA97C 002C78DC 81 8C 00 14 */ lwz r12, 0x14(r12)
/* 802CA980 002C78E0 7D 89 03 A6 */ mtctr r12
/* 802CA984 002C78E4 4E 80 04 21 */ bctrl
/* 802CA988 002C78E8 7F E3 FB 78 */ mr r3, r31
/* 802CA98C 002C78EC 4B FF A3 A5 */ bl ChildObject__10CGuiObjectFv
/* 802CA990 002C78F0 28 03 00 00 */ cmplwi r3, 0
/* 802CA994 002C78F4 41 82 00 10 */ beq lbl_802CA9A4
/* 802CA998 002C78F8 7F E3 FB 78 */ mr r3, r31
/* 802CA99C 002C78FC 4B FF A3 95 */ bl ChildObject__10CGuiObjectFv
/* 802CA9A0 002C7900 4B FF FF C5 */ bl DispatchInitialize__10CGuiWidgetFv
lbl_802CA9A4:
/* 802CA9A4 002C7904 7F E3 FB 78 */ mr r3, r31
/* 802CA9A8 002C7908 4B FF A3 79 */ bl NextSibling__10CGuiObjectFv
/* 802CA9AC 002C790C 28 03 00 00 */ cmplwi r3, 0
/* 802CA9B0 002C7910 41 82 00 10 */ beq lbl_802CA9C0
/* 802CA9B4 002C7914 7F E3 FB 78 */ mr r3, r31
/* 802CA9B8 002C7918 4B FF A3 69 */ bl NextSibling__10CGuiObjectFv
/* 802CA9BC 002C791C 4B FF FF A9 */ bl DispatchInitialize__10CGuiWidgetFv
lbl_802CA9C0:
/* 802CA9C0 002C7920 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802CA9C4 002C7924 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802CA9C8 002C7928 7C 08 03 A6 */ mtlr r0
/* 802CA9CC 002C792C 38 21 00 10 */ addi r1, r1, 0x10
/* 802CA9D0 002C7930 4E 80 00 20 */ blr
.global Update__10CGuiWidgetFf
Update__10CGuiWidgetFf:
/* 802CA9D4 002C7934 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802CA9D8 002C7938 7C 08 02 A6 */ mflr r0
/* 802CA9DC 002C793C 90 01 00 24 */ stw r0, 0x24(r1)
/* 802CA9E0 002C7940 DB E1 00 18 */ stfd f31, 0x18(r1)
/* 802CA9E4 002C7944 FF E0 08 90 */ fmr f31, f1
/* 802CA9E8 002C7948 93 E1 00 14 */ stw r31, 0x14(r1)
/* 802CA9EC 002C794C 7C 7F 1B 78 */ mr r31, r3
/* 802CA9F0 002C7950 4B FF A3 41 */ bl ChildObject__10CGuiObjectFv
/* 802CA9F4 002C7954 28 03 00 00 */ cmplwi r3, 0
/* 802CA9F8 002C7958 41 82 00 20 */ beq lbl_802CAA18
/* 802CA9FC 002C795C 7F E3 FB 78 */ mr r3, r31
/* 802CAA00 002C7960 4B FF A3 31 */ bl ChildObject__10CGuiObjectFv
/* 802CAA04 002C7964 81 83 00 00 */ lwz r12, 0(r3)
/* 802CAA08 002C7968 FC 20 F8 90 */ fmr f1, f31
/* 802CAA0C 002C796C 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 802CAA10 002C7970 7D 89 03 A6 */ mtctr r12
/* 802CAA14 002C7974 4E 80 04 21 */ bctrl
lbl_802CAA18:
/* 802CAA18 002C7978 7F E3 FB 78 */ mr r3, r31
/* 802CAA1C 002C797C 4B FF A3 05 */ bl NextSibling__10CGuiObjectFv
/* 802CAA20 002C7980 28 03 00 00 */ cmplwi r3, 0
/* 802CAA24 002C7984 41 82 00 20 */ beq lbl_802CAA44
/* 802CAA28 002C7988 7F E3 FB 78 */ mr r3, r31
/* 802CAA2C 002C798C 4B FF A2 F5 */ bl NextSibling__10CGuiObjectFv
/* 802CAA30 002C7990 81 83 00 00 */ lwz r12, 0(r3)
/* 802CAA34 002C7994 FC 20 F8 90 */ fmr f1, f31
/* 802CAA38 002C7998 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 802CAA3C 002C799C 7D 89 03 A6 */ mtctr r12
/* 802CAA40 002C79A0 4E 80 04 21 */ bctrl
lbl_802CAA44:
/* 802CAA44 002C79A4 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802CAA48 002C79A8 CB E1 00 18 */ lfd f31, 0x18(r1)
/* 802CAA4C 002C79AC 83 E1 00 14 */ lwz r31, 0x14(r1)
/* 802CAA50 002C79B0 7C 08 03 A6 */ mtlr r0
/* 802CAA54 002C79B4 38 21 00 20 */ addi r1, r1, 0x20
/* 802CAA58 002C79B8 4E 80 00 20 */ blr
.global ProcessUserInput__10CGuiWidgetFRC11CFinalInput
ProcessUserInput__10CGuiWidgetFRC11CFinalInput:
/* 802CAA5C 002C79BC 4E 80 00 20 */ blr
.global Draw__10CGuiWidgetCFRC19CGuiWidgetDrawParms
Draw__10CGuiWidgetCFRC19CGuiWidgetDrawParms:
/* 802CAA60 002C79C0 4E 80 00 20 */ blr
.global ReadUnusedThing__10CGuiWidgetFR12CInputStream
ReadUnusedThing__10CGuiWidgetFR12CInputStream:
/* 802CAA64 002C79C4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802CAA68 002C79C8 7C 08 02 A6 */ mflr r0
/* 802CAA6C 002C79CC 7C 83 23 78 */ mr r3, r4
/* 802CAA70 002C79D0 90 01 00 14 */ stw r0, 0x14(r1)
/* 802CAA74 002C79D4 48 07 42 11 */ bl ReadLong__12CInputStreamFv
/* 802CAA78 002C79D8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802CAA7C 002C79DC 7C 08 03 A6 */ mtlr r0
/* 802CAA80 002C79E0 38 21 00 10 */ addi r1, r1, 0x10
/* 802CAA84 002C79E4 4E 80 00 20 */ blr
.global ParseBaseInfo__10CGuiWidgetFP9CGuiFrameR12CInputStreamRCQ210CGuiWidget15CGuiWidgetParms
ParseBaseInfo__10CGuiWidgetFP9CGuiFrameR12CInputStreamRCQ210CGuiWidget15CGuiWidgetParms:
/* 802CAA88 002C79E8 94 21 FF 70 */ stwu r1, -0x90(r1)
/* 802CAA8C 002C79EC 7C 08 02 A6 */ mflr r0
/* 802CAA90 002C79F0 90 01 00 94 */ stw r0, 0x94(r1)
/* 802CAA94 002C79F4 7C 80 23 78 */ mr r0, r4
/* 802CAA98 002C79F8 93 E1 00 8C */ stw r31, 0x8c(r1)
/* 802CAA9C 002C79FC 93 C1 00 88 */ stw r30, 0x88(r1)
/* 802CAAA0 002C7A00 93 A1 00 84 */ stw r29, 0x84(r1)
/* 802CAAA4 002C7A04 7C BD 2B 78 */ mr r29, r5
/* 802CAAA8 002C7A08 93 81 00 80 */ stw r28, 0x80(r1)
/* 802CAAAC 002C7A0C 7C 7C 1B 78 */ mr r28, r3
/* 802CAAB0 002C7A10 7C 03 03 78 */ mr r3, r0
/* 802CAAB4 002C7A14 A8 86 00 08 */ lha r4, 8(r6)
/* 802CAAB8 002C7A18 4B FF 76 F9 */ bl FindWidget__9CGuiFrameCFs
/* 802CAABC 002C7A1C 7C 60 1B 78 */ mr r0, r3
/* 802CAAC0 002C7A20 7F A3 EB 78 */ mr r3, r29
/* 802CAAC4 002C7A24 7C 1E 03 78 */ mr r30, r0
/* 802CAAC8 002C7A28 48 07 42 15 */ bl ReadBool__12CInputStreamFv
/* 802CAACC 002C7A2C 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 802CAAD0 002C7A30 7C 7F 1B 78 */ mr r31, r3
/* 802CAAD4 002C7A34 41 82 00 10 */ beq lbl_802CAAE4
/* 802CAAD8 002C7A38 7F A3 EB 78 */ mr r3, r29
/* 802CAADC 002C7A3C 48 07 41 D5 */ bl ReadShort__12CInputStreamFv
/* 802CAAE0 002C7A40 B0 7C 00 B4 */ sth r3, 0xb4(r28)
lbl_802CAAE4:
/* 802CAAE4 002C7A44 7F A4 EB 78 */ mr r4, r29
/* 802CAAE8 002C7A48 38 61 00 14 */ addi r3, r1, 0x14
/* 802CAAEC 002C7A4C 48 04 A0 A1 */ bl __ct__9CVector3fFR12CInputStream
/* 802CAAF0 002C7A50 7F A4 EB 78 */ mr r4, r29
/* 802CAAF4 002C7A54 38 61 00 50 */ addi r3, r1, 0x50
/* 802CAAF8 002C7A58 48 04 5A 29 */ bl __ct__9CMatrix3fFR12CInputStream
/* 802CAAFC 002C7A5C 38 61 00 20 */ addi r3, r1, 0x20
/* 802CAB00 002C7A60 38 81 00 50 */ addi r4, r1, 0x50
/* 802CAB04 002C7A64 38 A1 00 14 */ addi r5, r1, 0x14
/* 802CAB08 002C7A68 48 04 87 71 */ bl __ct__12CTransform4fFRC9CMatrix3fRC9CVector3f
/* 802CAB0C 002C7A6C 38 7C 00 74 */ addi r3, r28, 0x74
/* 802CAB10 002C7A70 38 81 00 20 */ addi r4, r1, 0x20
/* 802CAB14 002C7A74 48 04 80 2D */ bl __as__12CTransform4fFRC12CTransform4f
/* 802CAB18 002C7A78 7F 83 E3 78 */ mr r3, r28
/* 802CAB1C 002C7A7C 4B FF FB 49 */ bl ReapplyXform__10CGuiWidgetFv
/* 802CAB20 002C7A80 7F A4 EB 78 */ mr r4, r29
/* 802CAB24 002C7A84 38 61 00 08 */ addi r3, r1, 8
/* 802CAB28 002C7A88 48 04 A0 65 */ bl __ct__9CVector3fFR12CInputStream
/* 802CAB2C 002C7A8C 7F 83 E3 78 */ mr r3, r28
/* 802CAB30 002C7A90 7F A4 EB 78 */ mr r4, r29
/* 802CAB34 002C7A94 4B FF FF 31 */ bl ReadUnusedThing__10CGuiWidgetFR12CInputStream
/* 802CAB38 002C7A98 7F A3 EB 78 */ mr r3, r29
/* 802CAB3C 002C7A9C 48 07 41 75 */ bl ReadShort__12CInputStreamFv
/* 802CAB40 002C7AA0 57 E0 06 3F */ clrlwi. r0, r31, 0x18
/* 802CAB44 002C7AA4 41 82 00 3C */ beq lbl_802CAB80
/* 802CAB48 002C7AA8 7F C3 F3 78 */ mr r3, r30
/* 802CAB4C 002C7AAC 7F 84 E3 78 */ mr r4, r28
/* 802CAB50 002C7AB0 81 9E 00 00 */ lwz r12, 0(r30)
/* 802CAB54 002C7AB4 81 8C 00 2C */ lwz r12, 0x2c(r12)
/* 802CAB58 002C7AB8 7D 89 03 A6 */ mtctr r12
/* 802CAB5C 002C7ABC 4E 80 04 21 */ bctrl
/* 802CAB60 002C7AC0 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 802CAB64 002C7AC4 40 82 00 1C */ bne lbl_802CAB80
/* 802CAB68 002C7AC8 3C 60 80 3D */ lis r3, lbl_803D68F8@ha
/* 802CAB6C 002C7ACC 38 63 68 F8 */ addi r3, r3, lbl_803D68F8@l
/* 802CAB70 002C7AD0 4C C6 31 82 */ crclr 6
/* 802CAB74 002C7AD4 48 0C 33 3D */ bl printf
/* 802CAB78 002C7AD8 38 00 FF FF */ li r0, -1
/* 802CAB7C 002C7ADC B0 1C 00 B4 */ sth r0, 0xb4(r28)
lbl_802CAB80:
/* 802CAB80 002C7AE0 7F C3 F3 78 */ mr r3, r30
/* 802CAB84 002C7AE4 7F 84 E3 78 */ mr r4, r28
/* 802CAB88 002C7AE8 38 A0 00 00 */ li r5, 0
/* 802CAB8C 002C7AEC 38 C0 00 01 */ li r6, 1
/* 802CAB90 002C7AF0 4B FF FB 39 */ bl AddChildWidget__10CGuiWidgetFP10CGuiWidgetbb
/* 802CAB94 002C7AF4 80 01 00 94 */ lwz r0, 0x94(r1)
/* 802CAB98 002C7AF8 83 E1 00 8C */ lwz r31, 0x8c(r1)
/* 802CAB9C 002C7AFC 83 C1 00 88 */ lwz r30, 0x88(r1)
/* 802CABA0 002C7B00 83 A1 00 84 */ lwz r29, 0x84(r1)
/* 802CABA4 002C7B04 83 81 00 80 */ lwz r28, 0x80(r1)
/* 802CABA8 002C7B08 7C 08 03 A6 */ mtlr r0
/* 802CABAC 002C7B0C 38 21 00 90 */ addi r1, r1, 0x90
/* 802CABB0 002C7B10 4E 80 00 20 */ blr
.global __dt__10CGuiWidgetFv
__dt__10CGuiWidgetFv:
/* 802CABB4 002C7B14 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802CABB8 002C7B18 7C 08 02 A6 */ mflr r0
/* 802CABBC 002C7B1C 90 01 00 14 */ stw r0, 0x14(r1)
/* 802CABC0 002C7B20 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802CABC4 002C7B24 7C 9F 23 78 */ mr r31, r4
/* 802CABC8 002C7B28 93 C1 00 08 */ stw r30, 8(r1)
/* 802CABCC 002C7B2C 7C 7E 1B 79 */ or. r30, r3, r3
/* 802CABD0 002C7B30 41 82 00 38 */ beq lbl_802CAC08
/* 802CABD4 002C7B34 3C 60 80 3F */ lis r3, lbl_803ECA10@ha
/* 802CABD8 002C7B38 7F C4 F3 78 */ mr r4, r30
/* 802CABDC 002C7B3C 38 03 CA 10 */ addi r0, r3, lbl_803ECA10@l
/* 802CABE0 002C7B40 90 1E 00 00 */ stw r0, 0(r30)
/* 802CABE4 002C7B44 80 7E 00 B0 */ lwz r3, 0xb0(r30)
/* 802CABE8 002C7B48 4B FF 76 3D */ bl sub_802c2224
/* 802CABEC 002C7B4C 7F C3 F3 78 */ mr r3, r30
/* 802CABF0 002C7B50 38 80 00 00 */ li r4, 0
/* 802CABF4 002C7B54 4B FF A7 E1 */ bl __dt__10CGuiObjectFv
/* 802CABF8 002C7B58 7F E0 07 35 */ extsh. r0, r31
/* 802CABFC 002C7B5C 40 81 00 0C */ ble lbl_802CAC08
/* 802CAC00 002C7B60 7F C3 F3 78 */ mr r3, r30
/* 802CAC04 002C7B64 48 04 AD 2D */ bl Free__7CMemoryFPCv
lbl_802CAC08:
/* 802CAC08 002C7B68 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802CAC0C 002C7B6C 7F C3 F3 78 */ mr r3, r30
/* 802CAC10 002C7B70 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802CAC14 002C7B74 83 C1 00 08 */ lwz r30, 8(r1)
/* 802CAC18 002C7B78 7C 08 03 A6 */ mtlr r0
/* 802CAC1C 002C7B7C 38 21 00 10 */ addi r1, r1, 0x10
/* 802CAC20 002C7B80 4E 80 00 20 */ blr
.global __ct__10CGuiWidgetFRCQ210CGuiWidget15CGuiWidgetParms
__ct__10CGuiWidgetFRCQ210CGuiWidget15CGuiWidgetParms:
/* 802CAC24 002C7B84 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802CAC28 002C7B88 7C 08 02 A6 */ mflr r0
/* 802CAC2C 002C7B8C 90 01 00 14 */ stw r0, 0x14(r1)
/* 802CAC30 002C7B90 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802CAC34 002C7B94 7C 9F 23 78 */ mr r31, r4
/* 802CAC38 002C7B98 93 C1 00 08 */ stw r30, 8(r1)
/* 802CAC3C 002C7B9C 7C 7E 1B 78 */ mr r30, r3
/* 802CAC40 002C7BA0 4B FF A8 3D */ bl __ct__10CGuiObjectFv
/* 802CAC44 002C7BA4 3C 60 80 3F */ lis r3, lbl_803ECA10@ha
/* 802CAC48 002C7BA8 3C 80 80 5A */ lis r4, sIdentity__12CTransform4f@ha
/* 802CAC4C 002C7BAC 38 03 CA 10 */ addi r0, r3, lbl_803ECA10@l
/* 802CAC50 002C7BB0 90 1E 00 00 */ stw r0, 0(r30)
/* 802CAC54 002C7BB4 38 7E 00 74 */ addi r3, r30, 0x74
/* 802CAC58 002C7BB8 38 84 66 70 */ addi r4, r4, sIdentity__12CTransform4f@l
/* 802CAC5C 002C7BBC A8 1F 00 06 */ lha r0, 6(r31)
/* 802CAC60 002C7BC0 B0 1E 00 70 */ sth r0, 0x70(r30)
/* 802CAC64 002C7BC4 A8 1F 00 08 */ lha r0, 8(r31)
/* 802CAC68 002C7BC8 B0 1E 00 72 */ sth r0, 0x72(r30)
/* 802CAC6C 002C7BCC 48 04 7F 09 */ bl __ct__12CTransform4fFRC12CTransform4f
/* 802CAC70 002C7BD0 80 7F 00 10 */ lwz r3, 0x10(r31)
/* 802CAC74 002C7BD4 38 00 FF FF */ li r0, -1
/* 802CAC78 002C7BD8 38 E0 00 01 */ li r7, 1
/* 802CAC7C 002C7BDC 38 C0 00 00 */ li r6, 0
/* 802CAC80 002C7BE0 90 7E 00 A4 */ stw r3, 0xa4(r30)
/* 802CAC84 002C7BE4 7F C3 F3 78 */ mr r3, r30
/* 802CAC88 002C7BE8 38 80 00 02 */ li r4, 2
/* 802CAC8C 002C7BEC 80 BE 00 A4 */ lwz r5, 0xa4(r30)
/* 802CAC90 002C7BF0 90 BE 00 A8 */ stw r5, 0xa8(r30)
/* 802CAC94 002C7BF4 80 BF 00 14 */ lwz r5, 0x14(r31)
/* 802CAC98 002C7BF8 90 BE 00 AC */ stw r5, 0xac(r30)
/* 802CAC9C 002C7BFC 80 BF 00 00 */ lwz r5, 0(r31)
/* 802CACA0 002C7C00 90 BE 00 B0 */ stw r5, 0xb0(r30)
/* 802CACA4 002C7C04 B0 1E 00 B4 */ sth r0, 0xb4(r30)
/* 802CACA8 002C7C08 88 BF 00 0D */ lbz r5, 0xd(r31)
/* 802CACAC 002C7C0C 88 1E 00 B6 */ lbz r0, 0xb6(r30)
/* 802CACB0 002C7C10 50 A0 3E 30 */ rlwimi r0, r5, 7, 0x18, 0x18
/* 802CACB4 002C7C14 98 1E 00 B6 */ stb r0, 0xb6(r30)
/* 802CACB8 002C7C18 88 BF 00 0A */ lbz r5, 0xa(r31)
/* 802CACBC 002C7C1C 88 1E 00 B6 */ lbz r0, 0xb6(r30)
/* 802CACC0 002C7C20 50 A0 36 72 */ rlwimi r0, r5, 6, 0x19, 0x19
/* 802CACC4 002C7C24 98 1E 00 B6 */ stb r0, 0xb6(r30)
/* 802CACC8 002C7C28 88 BF 00 0B */ lbz r5, 0xb(r31)
/* 802CACCC 002C7C2C 88 1E 00 B6 */ lbz r0, 0xb6(r30)
/* 802CACD0 002C7C30 50 A0 2E B4 */ rlwimi r0, r5, 5, 0x1a, 0x1a
/* 802CACD4 002C7C34 98 1E 00 B6 */ stb r0, 0xb6(r30)
/* 802CACD8 002C7C38 88 1E 00 B6 */ lbz r0, 0xb6(r30)
/* 802CACDC 002C7C3C 50 E0 26 F6 */ rlwimi r0, r7, 4, 0x1b, 0x1b
/* 802CACE0 002C7C40 98 1E 00 B6 */ stb r0, 0xb6(r30)
/* 802CACE4 002C7C44 88 1E 00 B6 */ lbz r0, 0xb6(r30)
/* 802CACE8 002C7C48 50 C0 1F 38 */ rlwimi r0, r6, 3, 0x1c, 0x1c
/* 802CACEC 002C7C4C 98 1E 00 B6 */ stb r0, 0xb6(r30)
/* 802CACF0 002C7C50 88 BF 00 0C */ lbz r5, 0xc(r31)
/* 802CACF4 002C7C54 88 1E 00 B6 */ lbz r0, 0xb6(r30)
/* 802CACF8 002C7C58 50 A0 17 7A */ rlwimi r0, r5, 2, 0x1d, 0x1d
/* 802CACFC 002C7C5C 98 1E 00 B6 */ stb r0, 0xb6(r30)
/* 802CAD00 002C7C60 88 1E 00 B6 */ lbz r0, 0xb6(r30)
/* 802CAD04 002C7C64 50 C0 0F BC */ rlwimi r0, r6, 1, 0x1e, 0x1e
/* 802CAD08 002C7C68 98 1E 00 B6 */ stb r0, 0xb6(r30)
/* 802CAD0C 002C7C6C 88 1E 00 B6 */ lbz r0, 0xb6(r30)
/* 802CAD10 002C7C70 50 E0 07 FE */ rlwimi r0, r7, 0, 0x1f, 0x1f
/* 802CAD14 002C7C74 98 1E 00 B6 */ stb r0, 0xb6(r30)
/* 802CAD18 002C7C78 88 1E 00 B7 */ lbz r0, 0xb7(r30)
/* 802CAD1C 002C7C7C 50 C0 3E 30 */ rlwimi r0, r6, 7, 0x18, 0x18
/* 802CAD20 002C7C80 98 1E 00 B7 */ stb r0, 0xb7(r30)
/* 802CAD24 002C7C84 88 1E 00 B7 */ lbz r0, 0xb7(r30)
/* 802CAD28 002C7C88 50 E0 36 72 */ rlwimi r0, r7, 6, 0x19, 0x19
/* 802CAD2C 002C7C8C 98 1E 00 B7 */ stb r0, 0xb7(r30)
/* 802CAD30 002C7C90 4B FF FA 7D */ bl RecalcWidgetColor__10CGuiWidgetF14ETraversalMode
/* 802CAD34 002C7C94 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802CAD38 002C7C98 7F C3 F3 78 */ mr r3, r30
/* 802CAD3C 002C7C9C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802CAD40 002C7CA0 83 C1 00 08 */ lwz r30, 8(r1)
/* 802CAD44 002C7CA4 7C 08 03 A6 */ mtlr r0
/* 802CAD48 002C7CA8 38 21 00 10 */ addi r1, r1, 0x10
/* 802CAD4C 002C7CAC 4E 80 00 20 */ blr
.global ReadWidgetHeader__10CGuiWidgetFP9CGuiFrameR12CInputStream
ReadWidgetHeader__10CGuiWidgetFP9CGuiFrameR12CInputStream:
/* 802CAD50 002C7CB0 94 21 FF 90 */ stwu r1, -0x70(r1)
/* 802CAD54 002C7CB4 7C 08 02 A6 */ mflr r0
/* 802CAD58 002C7CB8 90 01 00 74 */ stw r0, 0x74(r1)
/* 802CAD5C 002C7CBC BE E1 00 4C */ stmw r23, 0x4c(r1)
/* 802CAD60 002C7CC0 7C B9 2B 78 */ mr r25, r5
/* 802CAD64 002C7CC4 7C 77 1B 78 */ mr r23, r3
/* 802CAD68 002C7CC8 7C 98 23 78 */ mr r24, r4
/* 802CAD6C 002C7CCC 38 61 00 34 */ addi r3, r1, 0x34
/* 802CAD70 002C7CD0 7F 24 CB 78 */ mr r4, r25
/* 802CAD74 002C7CD4 38 A1 00 1C */ addi r5, r1, 0x1c
/* 802CAD78 002C7CD8 48 07 35 81 */ bl "__ct__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>FR12CInputStreamRCQ24rstl17rmemory_allocator"
/* 802CAD7C 002C7CDC 38 78 00 18 */ addi r3, r24, 0x18
/* 802CAD80 002C7CE0 38 81 00 34 */ addi r4, r1, 0x34
/* 802CAD84 002C7CE4 48 00 02 79 */ bl "AddWidget__14CGuiWidgetIdDBFRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>"
/* 802CAD88 002C7CE8 7C 7C 1B 78 */ mr r28, r3
/* 802CAD8C 002C7CEC 7F 24 CB 78 */ mr r4, r25
/* 802CAD90 002C7CF0 38 61 00 24 */ addi r3, r1, 0x24
/* 802CAD94 002C7CF4 38 A1 00 18 */ addi r5, r1, 0x18
/* 802CAD98 002C7CF8 48 07 35 61 */ bl "__ct__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>FR12CInputStreamRCQ24rstl17rmemory_allocator"
/* 802CAD9C 002C7CFC 38 78 00 18 */ addi r3, r24, 0x18
/* 802CADA0 002C7D00 38 81 00 24 */ addi r4, r1, 0x24
/* 802CADA4 002C7D04 48 00 02 59 */ bl "AddWidget__14CGuiWidgetIdDBFRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>"
/* 802CADA8 002C7D08 7C 7B 1B 78 */ mr r27, r3
/* 802CADAC 002C7D0C 7F 23 CB 78 */ mr r3, r25
/* 802CADB0 002C7D10 48 07 3F 2D */ bl ReadBool__12CInputStreamFv
/* 802CADB4 002C7D14 7C 60 1B 78 */ mr r0, r3
/* 802CADB8 002C7D18 7F 23 CB 78 */ mr r3, r25
/* 802CADBC 002C7D1C 7C 1A 03 78 */ mr r26, r0
/* 802CADC0 002C7D20 48 07 3F 1D */ bl ReadBool__12CInputStreamFv
/* 802CADC4 002C7D24 7C 7D 1B 78 */ mr r29, r3
/* 802CADC8 002C7D28 7F 23 CB 78 */ mr r3, r25
/* 802CADCC 002C7D2C 48 07 3F 11 */ bl ReadBool__12CInputStreamFv
/* 802CADD0 002C7D30 7C 7E 1B 78 */ mr r30, r3
/* 802CADD4 002C7D34 7F 23 CB 78 */ mr r3, r25
/* 802CADD8 002C7D38 48 07 3F 05 */ bl ReadBool__12CInputStreamFv
/* 802CADDC 002C7D3C 7C 7F 1B 78 */ mr r31, r3
/* 802CADE0 002C7D40 7F 24 CB 78 */ mr r4, r25
/* 802CADE4 002C7D44 38 61 00 20 */ addi r3, r1, 0x20
/* 802CADE8 002C7D48 48 09 86 65 */ bl __ct__6CColorFR12CInputStream
/* 802CADEC 002C7D4C 7F 23 CB 78 */ mr r3, r25
/* 802CADF0 002C7D50 48 07 3E 95 */ bl ReadLong__12CInputStreamFv
/* 802CADF4 002C7D54 38 01 00 20 */ addi r0, r1, 0x20
/* 802CADF8 002C7D58 39 00 00 01 */ li r8, 1
/* 802CADFC 002C7D5C 90 01 00 08 */ stw r0, 8(r1)
/* 802CAE00 002C7D60 38 00 00 00 */ li r0, 0
/* 802CAE04 002C7D64 7F 04 C3 78 */ mr r4, r24
/* 802CAE08 002C7D68 7F 45 D3 78 */ mr r5, r26
/* 802CAE0C 002C7D6C 90 61 00 0C */ stw r3, 0xc(r1)
/* 802CAE10 002C7D70 7E E3 BB 78 */ mr r3, r23
/* 802CAE14 002C7D74 7F 86 E3 78 */ mr r6, r28
/* 802CAE18 002C7D78 7F 67 DB 78 */ mr r7, r27
/* 802CAE1C 002C7D7C 91 01 00 10 */ stw r8, 0x10(r1)
/* 802CAE20 002C7D80 57 A8 06 3E */ clrlwi r8, r29, 0x18
/* 802CAE24 002C7D84 57 C9 06 3E */ clrlwi r9, r30, 0x18
/* 802CAE28 002C7D88 57 EA 06 3E */ clrlwi r10, r31, 0x18
/* 802CAE2C 002C7D8C 90 01 00 14 */ stw r0, 0x14(r1)
/* 802CAE30 002C7D90 48 00 01 01 */ bl __ct__Q210CGuiWidget15CGuiWidgetParmsFP9CGuiFramebssbbbRC6CColorQ210CGuiWidget18EGuiModelDrawFlagsbb
/* 802CAE34 002C7D94 38 61 00 24 */ addi r3, r1, 0x24
/* 802CAE38 002C7D98 48 07 2C A9 */ bl "internal_dereference__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Fv"
/* 802CAE3C 002C7D9C 38 61 00 34 */ addi r3, r1, 0x34
/* 802CAE40 002C7DA0 48 07 2C A1 */ bl "internal_dereference__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Fv"
/* 802CAE44 002C7DA4 BA E1 00 4C */ lmw r23, 0x4c(r1)
/* 802CAE48 002C7DA8 80 01 00 74 */ lwz r0, 0x74(r1)
/* 802CAE4C 002C7DAC 7C 08 03 A6 */ mtlr r0
/* 802CAE50 002C7DB0 38 21 00 70 */ addi r1, r1, 0x70
/* 802CAE54 002C7DB4 4E 80 00 20 */ blr
.global Create__10CGuiWidgetFP9CGuiFrameR12CInputStreamb
Create__10CGuiWidgetFP9CGuiFrameR12CInputStreamb:
/* 802CAE58 002C7DB8 94 21 FF B0 */ stwu r1, -0x50(r1)
/* 802CAE5C 002C7DBC 7C 08 02 A6 */ mflr r0
/* 802CAE60 002C7DC0 90 01 00 54 */ stw r0, 0x54(r1)
/* 802CAE64 002C7DC4 BF 61 00 3C */ stmw r27, 0x3c(r1)
/* 802CAE68 002C7DC8 7C 7E 1B 78 */ mr r30, r3
/* 802CAE6C 002C7DCC 7C 9F 23 78 */ mr r31, r4
/* 802CAE70 002C7DD0 38 61 00 08 */ addi r3, r1, 8
/* 802CAE74 002C7DD4 7F C4 F3 78 */ mr r4, r30
/* 802CAE78 002C7DD8 7F E5 FB 78 */ mr r5, r31
/* 802CAE7C 002C7DDC 4B FF FE D5 */ bl ReadWidgetHeader__10CGuiWidgetFP9CGuiFrameR12CInputStream
/* 802CAE80 002C7DE0 83 61 00 08 */ lwz r27, 8(r1)
/* 802CAE84 002C7DE4 3C 60 80 3D */ lis r3, lbl_803D68F8@ha
/* 802CAE88 002C7DE8 8B 81 00 0C */ lbz r28, 0xc(r1)
/* 802CAE8C 002C7DEC 38 63 68 F8 */ addi r3, r3, lbl_803D68F8@l
/* 802CAE90 002C7DF0 AB A1 00 0E */ lha r29, 0xe(r1)
/* 802CAE94 002C7DF4 38 83 00 49 */ addi r4, r3, 0x49
/* 802CAE98 002C7DF8 A9 81 00 10 */ lha r12, 0x10(r1)
/* 802CAE9C 002C7DFC 38 60 00 B8 */ li r3, 0xb8
/* 802CAEA0 002C7E00 89 61 00 12 */ lbz r11, 0x12(r1)
/* 802CAEA4 002C7E04 38 A0 00 00 */ li r5, 0
/* 802CAEA8 002C7E08 89 41 00 13 */ lbz r10, 0x13(r1)
/* 802CAEAC 002C7E0C 89 21 00 14 */ lbz r9, 0x14(r1)
/* 802CAEB0 002C7E10 89 01 00 15 */ lbz r8, 0x15(r1)
/* 802CAEB4 002C7E14 88 E1 00 16 */ lbz r7, 0x16(r1)
/* 802CAEB8 002C7E18 80 C1 00 18 */ lwz r6, 0x18(r1)
/* 802CAEBC 002C7E1C 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 802CAEC0 002C7E20 93 61 00 20 */ stw r27, 0x20(r1)
/* 802CAEC4 002C7E24 9B 81 00 24 */ stb r28, 0x24(r1)
/* 802CAEC8 002C7E28 B3 A1 00 26 */ sth r29, 0x26(r1)
/* 802CAECC 002C7E2C B1 81 00 28 */ sth r12, 0x28(r1)
/* 802CAED0 002C7E30 99 61 00 2A */ stb r11, 0x2a(r1)
/* 802CAED4 002C7E34 99 41 00 2B */ stb r10, 0x2b(r1)
/* 802CAED8 002C7E38 99 21 00 2C */ stb r9, 0x2c(r1)
/* 802CAEDC 002C7E3C 99 01 00 2D */ stb r8, 0x2d(r1)
/* 802CAEE0 002C7E40 98 E1 00 2E */ stb r7, 0x2e(r1)
/* 802CAEE4 002C7E44 90 C1 00 30 */ stw r6, 0x30(r1)
/* 802CAEE8 002C7E48 90 01 00 34 */ stw r0, 0x34(r1)
/* 802CAEEC 002C7E4C 48 04 A9 81 */ bl __nw__FUlPCcPCc
/* 802CAEF0 002C7E50 7C 7B 1B 79 */ or. r27, r3, r3
/* 802CAEF4 002C7E54 41 82 00 10 */ beq lbl_802CAF04
/* 802CAEF8 002C7E58 38 81 00 20 */ addi r4, r1, 0x20
/* 802CAEFC 002C7E5C 4B FF FD 29 */ bl __ct__10CGuiWidgetFRCQ210CGuiWidget15CGuiWidgetParms
/* 802CAF00 002C7E60 7C 7B 1B 78 */ mr r27, r3
lbl_802CAF04:
/* 802CAF04 002C7E64 7F 63 DB 78 */ mr r3, r27
/* 802CAF08 002C7E68 7F C4 F3 78 */ mr r4, r30
/* 802CAF0C 002C7E6C 7F E5 FB 78 */ mr r5, r31
/* 802CAF10 002C7E70 38 C1 00 20 */ addi r6, r1, 0x20
/* 802CAF14 002C7E74 4B FF FB 75 */ bl ParseBaseInfo__10CGuiWidgetFP9CGuiFrameR12CInputStreamRCQ210CGuiWidget15CGuiWidgetParms
/* 802CAF18 002C7E78 7F 63 DB 78 */ mr r3, r27
/* 802CAF1C 002C7E7C BB 61 00 3C */ lmw r27, 0x3c(r1)
/* 802CAF20 002C7E80 80 01 00 54 */ lwz r0, 0x54(r1)
/* 802CAF24 002C7E84 7C 08 03 A6 */ mtlr r0
/* 802CAF28 002C7E88 38 21 00 50 */ addi r1, r1, 0x50
/* 802CAF2C 002C7E8C 4E 80 00 20 */ blr
.global __ct__Q210CGuiWidget15CGuiWidgetParmsFP9CGuiFramebssbbbRC6CColorQ210CGuiWidget18EGuiModelDrawFlagsbb
__ct__Q210CGuiWidget15CGuiWidgetParmsFP9CGuiFramebssbbbRC6CColorQ210CGuiWidget18EGuiModelDrawFlagsbb:
/* 802CAF30 002C7E90 90 83 00 00 */ stw r4, 0(r3)
/* 802CAF34 002C7E94 88 81 00 13 */ lbz r4, 0x13(r1)
/* 802CAF38 002C7E98 98 A3 00 04 */ stb r5, 4(r3)
/* 802CAF3C 002C7E9C 88 01 00 17 */ lbz r0, 0x17(r1)
/* 802CAF40 002C7EA0 B0 C3 00 06 */ sth r6, 6(r3)
/* 802CAF44 002C7EA4 80 C1 00 08 */ lwz r6, 8(r1)
/* 802CAF48 002C7EA8 B0 E3 00 08 */ sth r7, 8(r3)
/* 802CAF4C 002C7EAC 80 A1 00 0C */ lwz r5, 0xc(r1)
/* 802CAF50 002C7EB0 99 03 00 0A */ stb r8, 0xa(r3)
/* 802CAF54 002C7EB4 99 23 00 0B */ stb r9, 0xb(r3)
/* 802CAF58 002C7EB8 99 43 00 0C */ stb r10, 0xc(r3)
/* 802CAF5C 002C7EBC 98 83 00 0D */ stb r4, 0xd(r3)
/* 802CAF60 002C7EC0 98 03 00 0E */ stb r0, 0xe(r3)
/* 802CAF64 002C7EC4 80 06 00 00 */ lwz r0, 0(r6)
/* 802CAF68 002C7EC8 90 03 00 10 */ stw r0, 0x10(r3)
/* 802CAF6C 002C7ECC 90 A3 00 14 */ stw r5, 0x14(r3)
/* 802CAF70 002C7ED0 4E 80 00 20 */ blr
.section .rodata
.balign 8
.global lbl_803D68F8
lbl_803D68F8:
# ROM: 0x3D38F8
.asciz "Warning: Discarding useless worker id. Parent is not a compound widget."
.byte 0x3F, 0x3F, 0x28
.4byte 0x3F3F2900