prime/asm/GuiSys/CAuiMeter.s

518 lines
22 KiB
ArmAsm

.include "macros.inc"
.section .data
.balign 8
.global lbl_803EC6F8
lbl_803EC6F8:
# ROM: 0x3E96F8
.4byte 0
.4byte 0
.4byte __dt__9CAuiMeterFv
.4byte Update__10CGuiWidgetFf
.4byte Draw__10CGuiWidgetCFRC19CGuiWidgetDrawParms
.4byte Initialize__10CGuiWidgetFv
.4byte ProcessUserInput__10CGuiWidgetFRC11CFinalInput
.4byte Touch__10CGuiWidgetCFv
.4byte GetIsVisible__10CGuiWidgetCFv
.4byte GetIsActive__10CGuiWidgetCFv
.4byte GetWidgetTypeID__9CAuiMeterCFv
.4byte AddWorkerWidget__9CAuiMeterFP10CGuiWidget
.4byte GetIsFinishedLoadingWidgetSpecific__10CGuiWidgetCFv
.4byte OnVisible__9CAuiMeterFv
.4byte OnActivate__9CGuiGroupFv
.4byte GetWorkerWidget__9CAuiMeterFi
.section .sdata
.balign 8
.global lbl_805A86B0
lbl_805A86B0:
# ROM: 0x3F6050
.4byte 0
.global lbl_805A86B4
lbl_805A86B4:
# ROM: 0x3F6054
.4byte 0
.global lbl_805A86B8
lbl_805A86B8:
# ROM: 0x3F6058
.4byte 0
.4byte 0
.section .text, "ax"
.global __dt__9CAuiMeterFv
__dt__9CAuiMeterFv:
/* 802C0BF8 002BDB58 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802C0BFC 002BDB5C 7C 08 02 A6 */ mflr r0
/* 802C0C00 002BDB60 90 01 00 24 */ stw r0, 0x24(r1)
/* 802C0C04 002BDB64 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 802C0C08 002BDB68 7C 9F 23 78 */ mr r31, r4
/* 802C0C0C 002BDB6C 93 C1 00 18 */ stw r30, 0x18(r1)
/* 802C0C10 002BDB70 7C 7E 1B 79 */ or. r30, r3, r3
/* 802C0C14 002BDB74 41 82 00 88 */ beq lbl_802C0C9C
/* 802C0C18 002BDB78 3C 60 80 3F */ lis r3, lbl_803EC6F8@ha
/* 802C0C1C 002BDB7C 34 1E 00 D4 */ addic. r0, r30, 0xd4
/* 802C0C20 002BDB80 38 03 C6 F8 */ addi r0, r3, lbl_803EC6F8@l
/* 802C0C24 002BDB84 90 1E 00 00 */ stw r0, 0(r30)
/* 802C0C28 002BDB88 41 82 00 44 */ beq lbl_802C0C6C
/* 802C0C2C 002BDB8C 80 1E 00 D8 */ lwz r0, 0xd8(r30)
/* 802C0C30 002BDB90 80 7E 00 E0 */ lwz r3, 0xe0(r30)
/* 802C0C34 002BDB94 54 00 10 3A */ slwi r0, r0, 2
/* 802C0C38 002BDB98 7C 03 02 14 */ add r0, r3, r0
/* 802C0C3C 002BDB9C 90 61 00 0C */ stw r3, 0xc(r1)
/* 802C0C40 002BDBA0 7C 64 1B 78 */ mr r4, r3
/* 802C0C44 002BDBA4 90 01 00 14 */ stw r0, 0x14(r1)
/* 802C0C48 002BDBA8 90 01 00 10 */ stw r0, 0x10(r1)
/* 802C0C4C 002BDBAC 90 61 00 08 */ stw r3, 8(r1)
/* 802C0C50 002BDBB0 48 00 00 08 */ b lbl_802C0C58
lbl_802C0C54:
/* 802C0C54 002BDBB4 38 84 00 04 */ addi r4, r4, 4
lbl_802C0C58:
/* 802C0C58 002BDBB8 7C 04 00 40 */ cmplw r4, r0
/* 802C0C5C 002BDBBC 40 82 FF F8 */ bne lbl_802C0C54
/* 802C0C60 002BDBC0 28 03 00 00 */ cmplwi r3, 0
/* 802C0C64 002BDBC4 41 82 00 08 */ beq lbl_802C0C6C
/* 802C0C68 002BDBC8 48 05 4C C9 */ bl Free__7CMemoryFPCv
lbl_802C0C6C:
/* 802C0C6C 002BDBCC 28 1E 00 00 */ cmplwi r30, 0
/* 802C0C70 002BDBD0 41 82 00 1C */ beq lbl_802C0C8C
/* 802C0C74 002BDBD4 3C 80 80 3F */ lis r4, lbl_803EC7C8@ha
/* 802C0C78 002BDBD8 7F C3 F3 78 */ mr r3, r30
/* 802C0C7C 002BDBDC 38 04 C7 C8 */ addi r0, r4, lbl_803EC7C8@l
/* 802C0C80 002BDBE0 38 80 00 00 */ li r4, 0
/* 802C0C84 002BDBE4 90 1E 00 00 */ stw r0, 0(r30)
/* 802C0C88 002BDBE8 48 00 0E A9 */ bl __dt__18CGuiCompoundWidgetFv
lbl_802C0C8C:
/* 802C0C8C 002BDBEC 7F E0 07 35 */ extsh. r0, r31
/* 802C0C90 002BDBF0 40 81 00 0C */ ble lbl_802C0C9C
/* 802C0C94 002BDBF4 7F C3 F3 78 */ mr r3, r30
/* 802C0C98 002BDBF8 48 05 4C 99 */ bl Free__7CMemoryFPCv
lbl_802C0C9C:
/* 802C0C9C 002BDBFC 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802C0CA0 002BDC00 7F C3 F3 78 */ mr r3, r30
/* 802C0CA4 002BDC04 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 802C0CA8 002BDC08 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 802C0CAC 002BDC0C 7C 08 03 A6 */ mtlr r0
/* 802C0CB0 002BDC10 38 21 00 20 */ addi r1, r1, 0x20
/* 802C0CB4 002BDC14 4E 80 00 20 */ blr
.global GetWidgetTypeID__9CAuiMeterCFv
GetWidgetTypeID__9CAuiMeterCFv:
/* 802C0CB8 002BDC18 3C 60 4D 45 */ lis r3, 0x4D455452@ha
/* 802C0CBC 002BDC1C 38 63 54 52 */ addi r3, r3, 0x4D455452@l
/* 802C0CC0 002BDC20 4E 80 00 20 */ blr
.global Initialize__10CGuiWidgetFv
Initialize__10CGuiWidgetFv:
/* 802C0CC4 002BDC24 4E 80 00 20 */ blr
.global Touch__10CGuiWidgetCFv
Touch__10CGuiWidgetCFv:
/* 802C0CC8 002BDC28 4E 80 00 20 */ blr
.global GetIsFinishedLoadingWidgetSpecific__10CGuiWidgetCFv
GetIsFinishedLoadingWidgetSpecific__10CGuiWidgetCFv:
/* 802C0CCC 002BDC2C 38 60 00 01 */ li r3, 1
/* 802C0CD0 002BDC30 4E 80 00 20 */ blr
.global UpdateMeterWorkers__9CAuiMeterFv
UpdateMeterWorkers__9CAuiMeterFv:
/* 802C0CD4 002BDC34 94 21 FF 80 */ stwu r1, -0x80(r1)
/* 802C0CD8 002BDC38 7C 08 02 A6 */ mflr r0
/* 802C0CDC 002BDC3C C8 42 C3 68 */ lfd f2, lbl_805AE088@sda21(r2)
/* 802C0CE0 002BDC40 90 01 00 84 */ stw r0, 0x84(r1)
/* 802C0CE4 002BDC44 BF 01 00 60 */ stmw r24, 0x60(r1)
/* 802C0CE8 002BDC48 7C 7E 1B 78 */ mr r30, r3
/* 802C0CEC 002BDC4C 3C 60 43 30 */ lis r3, 0x4330
/* 802C0CF0 002BDC50 90 61 00 08 */ stw r3, 8(r1)
/* 802C0CF4 002BDC54 90 61 00 10 */ stw r3, 0x10(r1)
/* 802C0CF8 002BDC58 83 FE 00 D8 */ lwz r31, 0xd8(r30)
/* 802C0CFC 002BDC5C 80 1E 00 C8 */ lwz r0, 0xc8(r30)
/* 802C0D00 002BDC60 6F E4 80 00 */ xoris r4, r31, 0x8000
/* 802C0D04 002BDC64 88 BE 00 C4 */ lbz r5, 0xc4(r30)
/* 802C0D08 002BDC68 90 81 00 0C */ stw r4, 0xc(r1)
/* 802C0D0C 002BDC6C 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 802C0D10 002BDC70 28 05 00 00 */ cmplwi r5, 0
/* 802C0D14 002BDC74 C8 01 00 08 */ lfd f0, 8(r1)
/* 802C0D18 002BDC78 90 01 00 14 */ stw r0, 0x14(r1)
/* 802C0D1C 002BDC7C EC 20 10 28 */ fsubs f1, f0, f2
/* 802C0D20 002BDC80 C8 01 00 10 */ lfd f0, 0x10(r1)
/* 802C0D24 002BDC84 EC 00 10 28 */ fsubs f0, f0, f2
/* 802C0D28 002BDC88 EC 61 00 24 */ fdivs f3, f1, f0
/* 802C0D2C 002BDC8C 41 82 00 30 */ beq lbl_802C0D5C
/* 802C0D30 002BDC90 80 1E 00 CC */ lwz r0, 0xcc(r30)
/* 802C0D34 002BDC94 90 61 00 18 */ stw r3, 0x18(r1)
/* 802C0D38 002BDC98 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 802C0D3C 002BDC9C 90 01 00 1C */ stw r0, 0x1c(r1)
/* 802C0D40 002BDCA0 C8 01 00 18 */ lfd f0, 0x18(r1)
/* 802C0D44 002BDCA4 EC 00 10 28 */ fsubs f0, f0, f2
/* 802C0D48 002BDCA8 EC 03 00 32 */ fmuls f0, f3, f0
/* 802C0D4C 002BDCAC FC 00 00 1E */ fctiwz f0, f0
/* 802C0D50 002BDCB0 D8 01 00 20 */ stfd f0, 0x20(r1)
/* 802C0D54 002BDCB4 83 A1 00 24 */ lwz r29, 0x24(r1)
/* 802C0D58 002BDCB8 48 00 00 30 */ b lbl_802C0D88
lbl_802C0D5C:
/* 802C0D5C 002BDCBC 80 1E 00 CC */ lwz r0, 0xcc(r30)
/* 802C0D60 002BDCC0 90 61 00 28 */ stw r3, 0x28(r1)
/* 802C0D64 002BDCC4 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 802C0D68 002BDCC8 C0 02 C3 60 */ lfs f0, lbl_805AE080@sda21(r2)
/* 802C0D6C 002BDCCC 90 01 00 2C */ stw r0, 0x2c(r1)
/* 802C0D70 002BDCD0 C8 21 00 28 */ lfd f1, 0x28(r1)
/* 802C0D74 002BDCD4 EC 21 10 28 */ fsubs f1, f1, f2
/* 802C0D78 002BDCD8 EC 03 00 7A */ fmadds f0, f3, f1, f0
/* 802C0D7C 002BDCDC FC 00 00 1E */ fctiwz f0, f0
/* 802C0D80 002BDCE0 D8 01 00 30 */ stfd f0, 0x30(r1)
/* 802C0D84 002BDCE4 83 A1 00 34 */ lwz r29, 0x34(r1)
lbl_802C0D88:
/* 802C0D88 002BDCE8 28 05 00 00 */ cmplwi r5, 0
/* 802C0D8C 002BDCEC 41 82 00 38 */ beq lbl_802C0DC4
/* 802C0D90 002BDCF0 80 7E 00 D0 */ lwz r3, 0xd0(r30)
/* 802C0D94 002BDCF4 3C 00 43 30 */ lis r0, 0x4330
/* 802C0D98 002BDCF8 90 01 00 38 */ stw r0, 0x38(r1)
/* 802C0D9C 002BDCFC 6C 60 80 00 */ xoris r0, r3, 0x8000
/* 802C0DA0 002BDD00 C8 22 C3 68 */ lfd f1, lbl_805AE088@sda21(r2)
/* 802C0DA4 002BDD04 90 01 00 3C */ stw r0, 0x3c(r1)
/* 802C0DA8 002BDD08 C8 01 00 38 */ lfd f0, 0x38(r1)
/* 802C0DAC 002BDD0C EC 00 08 28 */ fsubs f0, f0, f1
/* 802C0DB0 002BDD10 EC 03 00 32 */ fmuls f0, f3, f0
/* 802C0DB4 002BDD14 FC 00 00 1E */ fctiwz f0, f0
/* 802C0DB8 002BDD18 D8 01 00 40 */ stfd f0, 0x40(r1)
/* 802C0DBC 002BDD1C 83 81 00 44 */ lwz r28, 0x44(r1)
/* 802C0DC0 002BDD20 48 00 00 38 */ b lbl_802C0DF8
lbl_802C0DC4:
/* 802C0DC4 002BDD24 80 7E 00 D0 */ lwz r3, 0xd0(r30)
/* 802C0DC8 002BDD28 3C 00 43 30 */ lis r0, 0x4330
/* 802C0DCC 002BDD2C 90 01 00 48 */ stw r0, 0x48(r1)
/* 802C0DD0 002BDD30 6C 60 80 00 */ xoris r0, r3, 0x8000
/* 802C0DD4 002BDD34 C8 42 C3 68 */ lfd f2, lbl_805AE088@sda21(r2)
/* 802C0DD8 002BDD38 90 01 00 4C */ stw r0, 0x4c(r1)
/* 802C0DDC 002BDD3C C0 02 C3 60 */ lfs f0, lbl_805AE080@sda21(r2)
/* 802C0DE0 002BDD40 C8 21 00 48 */ lfd f1, 0x48(r1)
/* 802C0DE4 002BDD44 EC 21 10 28 */ fsubs f1, f1, f2
/* 802C0DE8 002BDD48 EC 03 00 7A */ fmadds f0, f3, f1, f0
/* 802C0DEC 002BDD4C FC 00 00 1E */ fctiwz f0, f0
/* 802C0DF0 002BDD50 D8 01 00 50 */ stfd f0, 0x50(r1)
/* 802C0DF4 002BDD54 83 81 00 54 */ lwz r28, 0x54(r1)
lbl_802C0DF8:
/* 802C0DF8 002BDD58 3B 00 00 00 */ li r24, 0
/* 802C0DFC 002BDD5C 3B 20 00 00 */ li r25, 0
/* 802C0E00 002BDD60 48 00 00 E4 */ b lbl_802C0EE4
lbl_802C0E04:
/* 802C0E04 002BDD64 80 7E 00 E0 */ lwz r3, 0xe0(r30)
/* 802C0E08 002BDD68 7F 43 C8 2E */ lwzx r26, r3, r25
/* 802C0E0C 002BDD6C 28 1A 00 00 */ cmplwi r26, 0
/* 802C0E10 002BDD70 41 82 00 CC */ beq lbl_802C0EDC
/* 802C0E14 002BDD74 7F 43 D3 78 */ mr r3, r26
/* 802C0E18 002BDD78 38 80 00 00 */ li r4, 0
/* 802C0E1C 002BDD7C 81 9A 00 00 */ lwz r12, 0(r26)
/* 802C0E20 002BDD80 81 8C 00 3C */ lwz r12, 0x3c(r12)
/* 802C0E24 002BDD84 7D 89 03 A6 */ mtctr r12
/* 802C0E28 002BDD88 4E 80 04 21 */ bctrl
/* 802C0E2C 002BDD8C 81 9A 00 00 */ lwz r12, 0(r26)
/* 802C0E30 002BDD90 7C 7B 1B 78 */ mr r27, r3
/* 802C0E34 002BDD94 7F 43 D3 78 */ mr r3, r26
/* 802C0E38 002BDD98 38 80 00 01 */ li r4, 1
/* 802C0E3C 002BDD9C 81 8C 00 3C */ lwz r12, 0x3c(r12)
/* 802C0E40 002BDDA0 7D 89 03 A6 */ mtctr r12
/* 802C0E44 002BDDA4 4E 80 04 21 */ bctrl
/* 802C0E48 002BDDA8 7C 18 E0 00 */ cmpw r24, r28
/* 802C0E4C 002BDDAC 7C 7A 1B 78 */ mr r26, r3
/* 802C0E50 002BDDB0 40 80 00 30 */ bge lbl_802C0E80
/* 802C0E54 002BDDB4 28 1B 00 00 */ cmplwi r27, 0
/* 802C0E58 002BDDB8 41 82 00 10 */ beq lbl_802C0E68
/* 802C0E5C 002BDDBC 7F 63 DB 78 */ mr r3, r27
/* 802C0E60 002BDDC0 38 80 00 01 */ li r4, 1
/* 802C0E64 002BDDC4 48 00 97 C9 */ bl SetIsVisible__10CGuiWidgetFb
lbl_802C0E68:
/* 802C0E68 002BDDC8 28 1A 00 00 */ cmplwi r26, 0
/* 802C0E6C 002BDDCC 41 82 00 70 */ beq lbl_802C0EDC
/* 802C0E70 002BDDD0 7F 43 D3 78 */ mr r3, r26
/* 802C0E74 002BDDD4 38 80 00 00 */ li r4, 0
/* 802C0E78 002BDDD8 48 00 97 B5 */ bl SetIsVisible__10CGuiWidgetFb
/* 802C0E7C 002BDDDC 48 00 00 60 */ b lbl_802C0EDC
lbl_802C0E80:
/* 802C0E80 002BDDE0 7C 18 E8 00 */ cmpw r24, r29
/* 802C0E84 002BDDE4 40 80 00 30 */ bge lbl_802C0EB4
/* 802C0E88 002BDDE8 28 1B 00 00 */ cmplwi r27, 0
/* 802C0E8C 002BDDEC 41 82 00 10 */ beq lbl_802C0E9C
/* 802C0E90 002BDDF0 7F 63 DB 78 */ mr r3, r27
/* 802C0E94 002BDDF4 38 80 00 00 */ li r4, 0
/* 802C0E98 002BDDF8 48 00 97 95 */ bl SetIsVisible__10CGuiWidgetFb
lbl_802C0E9C:
/* 802C0E9C 002BDDFC 28 1A 00 00 */ cmplwi r26, 0
/* 802C0EA0 002BDE00 41 82 00 3C */ beq lbl_802C0EDC
/* 802C0EA4 002BDE04 7F 43 D3 78 */ mr r3, r26
/* 802C0EA8 002BDE08 38 80 00 01 */ li r4, 1
/* 802C0EAC 002BDE0C 48 00 97 81 */ bl SetIsVisible__10CGuiWidgetFb
/* 802C0EB0 002BDE10 48 00 00 2C */ b lbl_802C0EDC
lbl_802C0EB4:
/* 802C0EB4 002BDE14 28 1B 00 00 */ cmplwi r27, 0
/* 802C0EB8 002BDE18 41 82 00 10 */ beq lbl_802C0EC8
/* 802C0EBC 002BDE1C 7F 63 DB 78 */ mr r3, r27
/* 802C0EC0 002BDE20 38 80 00 00 */ li r4, 0
/* 802C0EC4 002BDE24 48 00 97 69 */ bl SetIsVisible__10CGuiWidgetFb
lbl_802C0EC8:
/* 802C0EC8 002BDE28 28 1A 00 00 */ cmplwi r26, 0
/* 802C0ECC 002BDE2C 41 82 00 10 */ beq lbl_802C0EDC
/* 802C0ED0 002BDE30 7F 43 D3 78 */ mr r3, r26
/* 802C0ED4 002BDE34 38 80 00 00 */ li r4, 0
/* 802C0ED8 002BDE38 48 00 97 55 */ bl SetIsVisible__10CGuiWidgetFb
lbl_802C0EDC:
/* 802C0EDC 002BDE3C 3B 39 00 04 */ addi r25, r25, 4
/* 802C0EE0 002BDE40 3B 18 00 01 */ addi r24, r24, 1
lbl_802C0EE4:
/* 802C0EE4 002BDE44 7C 18 F8 00 */ cmpw r24, r31
/* 802C0EE8 002BDE48 41 80 FF 1C */ blt lbl_802C0E04
/* 802C0EEC 002BDE4C BB 01 00 60 */ lmw r24, 0x60(r1)
/* 802C0EF0 002BDE50 80 01 00 84 */ lwz r0, 0x84(r1)
/* 802C0EF4 002BDE54 7C 08 03 A6 */ mtlr r0
/* 802C0EF8 002BDE58 38 21 00 80 */ addi r1, r1, 0x80
/* 802C0EFC 002BDE5C 4E 80 00 20 */ blr
.global OnVisible__9CAuiMeterFv
OnVisible__9CAuiMeterFv:
/* 802C0F00 002BDE60 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802C0F04 002BDE64 7C 08 02 A6 */ mflr r0
/* 802C0F08 002BDE68 90 01 00 14 */ stw r0, 0x14(r1)
/* 802C0F0C 002BDE6C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802C0F10 002BDE70 7C 7F 1B 78 */ mr r31, r3
/* 802C0F14 002BDE74 81 83 00 00 */ lwz r12, 0(r3)
/* 802C0F18 002BDE78 81 8C 00 20 */ lwz r12, 0x20(r12)
/* 802C0F1C 002BDE7C 7D 89 03 A6 */ mtctr r12
/* 802C0F20 002BDE80 4E 80 04 21 */ bctrl
/* 802C0F24 002BDE84 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 802C0F28 002BDE88 41 82 00 0C */ beq lbl_802C0F34
/* 802C0F2C 002BDE8C 7F E3 FB 78 */ mr r3, r31
/* 802C0F30 002BDE90 4B FF FD A5 */ bl UpdateMeterWorkers__9CAuiMeterFv
lbl_802C0F34:
/* 802C0F34 002BDE94 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802C0F38 002BDE98 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802C0F3C 002BDE9C 7C 08 03 A6 */ mtlr r0
/* 802C0F40 002BDEA0 38 21 00 10 */ addi r1, r1, 0x10
/* 802C0F44 002BDEA4 4E 80 00 20 */ blr
.global SetRemainder__9CAuiMeteri
SetRemainder__9CAuiMeteri:
/* 802C0F48 002BDEA8 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802C0F4C 002BDEAC 7C 08 02 A6 */ mflr r0
/* 802C0F50 002BDEB0 90 01 00 24 */ stw r0, 0x24(r1)
/* 802C0F54 002BDEB4 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 802C0F58 002BDEB8 7C 7F 1B 78 */ mr r31, r3
/* 802C0F5C 002BDEBC 38 6D 9A F8 */ addi r3, r13, lbl_805A86B8@sda21
/* 802C0F60 002BDEC0 90 81 00 08 */ stw r4, 8(r1)
/* 802C0F64 002BDEC4 38 81 00 08 */ addi r4, r1, 8
/* 802C0F68 002BDEC8 38 BF 00 CC */ addi r5, r31, 0xcc
/* 802C0F6C 002BDECC 4B D9 90 F9 */ bl "Clamp<i>__5CMathFRCiRCiRCi"
/* 802C0F70 002BDED0 80 03 00 00 */ lwz r0, 0(r3)
/* 802C0F74 002BDED4 7F E3 FB 78 */ mr r3, r31
/* 802C0F78 002BDED8 90 1F 00 D0 */ stw r0, 0xd0(r31)
/* 802C0F7C 002BDEDC 4B FF FD 59 */ bl UpdateMeterWorkers__9CAuiMeterFv
/* 802C0F80 002BDEE0 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802C0F84 002BDEE4 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 802C0F88 002BDEE8 7C 08 03 A6 */ mtlr r0
/* 802C0F8C 002BDEEC 38 21 00 20 */ addi r1, r1, 0x20
/* 802C0F90 002BDEF0 4E 80 00 20 */ blr
.global SetCapacity__9CAuiMeterFi
SetCapacity__9CAuiMeterFi:
/* 802C0F94 002BDEF4 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802C0F98 002BDEF8 7C 08 02 A6 */ mflr r0
/* 802C0F9C 002BDEFC 90 01 00 24 */ stw r0, 0x24(r1)
/* 802C0FA0 002BDF00 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 802C0FA4 002BDF04 7C 7F 1B 78 */ mr r31, r3
/* 802C0FA8 002BDF08 38 6D 9A F4 */ addi r3, r13, lbl_805A86B4@sda21
/* 802C0FAC 002BDF0C 90 81 00 08 */ stw r4, 8(r1)
/* 802C0FB0 002BDF10 38 81 00 08 */ addi r4, r1, 8
/* 802C0FB4 002BDF14 38 BF 00 C8 */ addi r5, r31, 0xc8
/* 802C0FB8 002BDF18 4B D9 90 AD */ bl "Clamp<i>__5CMathFRCiRCiRCi"
/* 802C0FBC 002BDF1C 80 03 00 00 */ lwz r0, 0(r3)
/* 802C0FC0 002BDF20 90 1F 00 CC */ stw r0, 0xcc(r31)
/* 802C0FC4 002BDF24 80 7F 00 CC */ lwz r3, 0xcc(r31)
/* 802C0FC8 002BDF28 80 1F 00 D0 */ lwz r0, 0xd0(r31)
/* 802C0FCC 002BDF2C 7C 03 00 00 */ cmpw r3, r0
/* 802C0FD0 002BDF30 40 80 00 0C */ bge lbl_802C0FDC
/* 802C0FD4 002BDF34 38 7F 00 CC */ addi r3, r31, 0xcc
/* 802C0FD8 002BDF38 48 00 00 08 */ b lbl_802C0FE0
lbl_802C0FDC:
/* 802C0FDC 002BDF3C 38 7F 00 D0 */ addi r3, r31, 0xd0
lbl_802C0FE0:
/* 802C0FE0 002BDF40 80 03 00 00 */ lwz r0, 0(r3)
/* 802C0FE4 002BDF44 7F E3 FB 78 */ mr r3, r31
/* 802C0FE8 002BDF48 90 1F 00 D0 */ stw r0, 0xd0(r31)
/* 802C0FEC 002BDF4C 4B FF FC E9 */ bl UpdateMeterWorkers__9CAuiMeterFv
/* 802C0FF0 002BDF50 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802C0FF4 002BDF54 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 802C0FF8 002BDF58 7C 08 03 A6 */ mtlr r0
/* 802C0FFC 002BDF5C 38 21 00 20 */ addi r1, r1, 0x20
/* 802C1000 002BDF60 4E 80 00 20 */ blr
.global SetMaxCapacity__9CAuiMeterFi
SetMaxCapacity__9CAuiMeterFi:
/* 802C1004 002BDF64 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802C1008 002BDF68 7C 08 02 A6 */ mflr r0
/* 802C100C 002BDF6C 38 AD 9A F0 */ addi r5, r13, lbl_805A86B0@sda21
/* 802C1010 002BDF70 90 01 00 14 */ stw r0, 0x14(r1)
/* 802C1014 002BDF74 80 0D 9A F0 */ lwz r0, lbl_805A86B0@sda21(r13)
/* 802C1018 002BDF78 90 81 00 08 */ stw r4, 8(r1)
/* 802C101C 002BDF7C 7C 00 20 00 */ cmpw r0, r4
/* 802C1020 002BDF80 40 80 00 08 */ bge lbl_802C1028
/* 802C1024 002BDF84 38 A1 00 08 */ addi r5, r1, 8
lbl_802C1028:
/* 802C1028 002BDF88 80 05 00 00 */ lwz r0, 0(r5)
/* 802C102C 002BDF8C 90 03 00 C8 */ stw r0, 0xc8(r3)
/* 802C1030 002BDF90 80 83 00 C8 */ lwz r4, 0xc8(r3)
/* 802C1034 002BDF94 80 03 00 CC */ lwz r0, 0xcc(r3)
/* 802C1038 002BDF98 7C 04 00 00 */ cmpw r4, r0
/* 802C103C 002BDF9C 40 80 00 0C */ bge lbl_802C1048
/* 802C1040 002BDFA0 38 83 00 C8 */ addi r4, r3, 0xc8
/* 802C1044 002BDFA4 48 00 00 08 */ b lbl_802C104C
lbl_802C1048:
/* 802C1048 002BDFA8 38 83 00 CC */ addi r4, r3, 0xcc
lbl_802C104C:
/* 802C104C 002BDFAC 80 04 00 00 */ lwz r0, 0(r4)
/* 802C1050 002BDFB0 90 03 00 CC */ stw r0, 0xcc(r3)
/* 802C1054 002BDFB4 80 83 00 CC */ lwz r4, 0xcc(r3)
/* 802C1058 002BDFB8 80 03 00 D0 */ lwz r0, 0xd0(r3)
/* 802C105C 002BDFBC 7C 04 00 00 */ cmpw r4, r0
/* 802C1060 002BDFC0 40 80 00 0C */ bge lbl_802C106C
/* 802C1064 002BDFC4 38 83 00 CC */ addi r4, r3, 0xcc
/* 802C1068 002BDFC8 48 00 00 08 */ b lbl_802C1070
lbl_802C106C:
/* 802C106C 002BDFCC 38 83 00 D0 */ addi r4, r3, 0xd0
lbl_802C1070:
/* 802C1070 002BDFD0 80 04 00 00 */ lwz r0, 0(r4)
/* 802C1074 002BDFD4 90 03 00 D0 */ stw r0, 0xd0(r3)
/* 802C1078 002BDFD8 4B FF FC 5D */ bl UpdateMeterWorkers__9CAuiMeterFv
/* 802C107C 002BDFDC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802C1080 002BDFE0 7C 08 03 A6 */ mtlr r0
/* 802C1084 002BDFE4 38 21 00 10 */ addi r1, r1, 0x10
/* 802C1088 002BDFE8 4E 80 00 20 */ blr
.global GetWorkerWidget__9CAuiMeterFi
GetWorkerWidget__9CAuiMeterFi:
/* 802C108C 002BDFEC 80 63 00 E0 */ lwz r3, 0xe0(r3)
/* 802C1090 002BDFF0 54 80 10 3A */ slwi r0, r4, 2
/* 802C1094 002BDFF4 7C 63 00 2E */ lwzx r3, r3, r0
/* 802C1098 002BDFF8 4E 80 00 20 */ blr
.global AddWorkerWidget__9CAuiMeterFP10CGuiWidget
AddWorkerWidget__9CAuiMeterFP10CGuiWidget:
/* 802C109C 002BDFFC 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802C10A0 002BE000 7C 08 02 A6 */ mflr r0
/* 802C10A4 002BE004 90 01 00 24 */ stw r0, 0x24(r1)
/* 802C10A8 002BE008 BF 61 00 0C */ stmw r27, 0xc(r1)
/* 802C10AC 002BE00C 7C 7B 1B 78 */ mr r27, r3
/* 802C10B0 002BE010 7C 9C 23 78 */ mr r28, r4
/* 802C10B4 002BE014 48 00 23 39 */ bl AddWorkerWidget__9CGuiGroupFP10CGuiWidget
/* 802C10B8 002BE018 AB DC 00 B4 */ lha r30, 0xb4(r28)
/* 802C10BC 002BE01C 80 1B 00 D8 */ lwz r0, 0xd8(r27)
/* 802C10C0 002BE020 7C 1E 00 00 */ cmpw r30, r0
/* 802C10C4 002BE024 41 80 00 68 */ blt lbl_802C112C
/* 802C10C8 002BE028 7C 1D 03 78 */ mr r29, r0
/* 802C10CC 002BE02C 3B E0 00 00 */ li r31, 0
/* 802C10D0 002BE030 48 00 00 54 */ b lbl_802C1124
lbl_802C10D4:
/* 802C10D4 002BE034 80 1B 00 D8 */ lwz r0, 0xd8(r27)
/* 802C10D8 002BE038 80 BB 00 DC */ lwz r5, 0xdc(r27)
/* 802C10DC 002BE03C 7C 00 28 00 */ cmpw r0, r5
/* 802C10E0 002BE040 41 80 00 1C */ blt lbl_802C10FC
/* 802C10E4 002BE044 2C 05 00 00 */ cmpwi r5, 0
/* 802C10E8 002BE048 38 7B 00 D4 */ addi r3, r27, 0xd4
/* 802C10EC 002BE04C 38 80 00 04 */ li r4, 4
/* 802C10F0 002BE050 41 82 00 08 */ beq lbl_802C10F8
/* 802C10F4 002BE054 54 A4 08 3C */ slwi r4, r5, 1
lbl_802C10F8:
/* 802C10F8 002BE058 48 00 02 61 */ bl "reserve__Q24rstl46vector<P9CGuiGroup,Q24rstl17rmemory_allocator>Fi"
lbl_802C10FC:
/* 802C10FC 002BE05C 80 1B 00 D8 */ lwz r0, 0xd8(r27)
/* 802C1100 002BE060 80 7B 00 E0 */ lwz r3, 0xe0(r27)
/* 802C1104 002BE064 54 00 10 3A */ slwi r0, r0, 2
/* 802C1108 002BE068 7C 63 02 15 */ add. r3, r3, r0
/* 802C110C 002BE06C 41 82 00 08 */ beq lbl_802C1114
/* 802C1110 002BE070 93 E3 00 00 */ stw r31, 0(r3)
lbl_802C1114:
/* 802C1114 002BE074 80 7B 00 D8 */ lwz r3, 0xd8(r27)
/* 802C1118 002BE078 3B BD 00 01 */ addi r29, r29, 1
/* 802C111C 002BE07C 38 03 00 01 */ addi r0, r3, 1
/* 802C1120 002BE080 90 1B 00 D8 */ stw r0, 0xd8(r27)
lbl_802C1124:
/* 802C1124 002BE084 7C 1D F0 00 */ cmpw r29, r30
/* 802C1128 002BE088 40 81 FF AC */ ble lbl_802C10D4
lbl_802C112C:
/* 802C112C 002BE08C 80 9B 00 E0 */ lwz r4, 0xe0(r27)
/* 802C1130 002BE090 57 C0 10 3A */ slwi r0, r30, 2
/* 802C1134 002BE094 38 60 00 01 */ li r3, 1
/* 802C1138 002BE098 7F 84 01 2E */ stwx r28, r4, r0
/* 802C113C 002BE09C BB 61 00 0C */ lmw r27, 0xc(r1)
/* 802C1140 002BE0A0 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802C1144 002BE0A4 7C 08 03 A6 */ mtlr r0
/* 802C1148 002BE0A8 38 21 00 20 */ addi r1, r1, 0x20
/* 802C114C 002BE0AC 4E 80 00 20 */ blr
.global __ct__9CAuiMeterFRCQ210CGuiWidget15CGuiWidgetParmsbii
__ct__9CAuiMeterFRCQ210CGuiWidget15CGuiWidgetParmsbii:
/* 802C1150 002BE0B0 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802C1154 002BE0B4 7C 08 02 A6 */ mflr r0
/* 802C1158 002BE0B8 90 01 00 24 */ stw r0, 0x24(r1)
/* 802C115C 002BE0BC 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 802C1160 002BE0C0 7C FF 3B 78 */ mr r31, r7
/* 802C1164 002BE0C4 93 C1 00 18 */ stw r30, 0x18(r1)
/* 802C1168 002BE0C8 7C DE 33 78 */ mr r30, r6
/* 802C116C 002BE0CC 38 C0 00 00 */ li r6, 0
/* 802C1170 002BE0D0 93 A1 00 14 */ stw r29, 0x14(r1)
/* 802C1174 002BE0D4 7C BD 2B 78 */ mr r29, r5
/* 802C1178 002BE0D8 38 A0 00 00 */ li r5, 0
/* 802C117C 002BE0DC 93 81 00 10 */ stw r28, 0x10(r1)
/* 802C1180 002BE0E0 7C 7C 1B 78 */ mr r28, r3
/* 802C1184 002BE0E4 48 00 22 D9 */ bl __ct__9CGuiGroupFRCQ210CGuiWidget15CGuiWidgetParmsib
/* 802C1188 002BE0E8 3C 60 80 3F */ lis r3, lbl_803EC6F8@ha
/* 802C118C 002BE0EC 38 00 00 00 */ li r0, 0
/* 802C1190 002BE0F0 38 63 C6 F8 */ addi r3, r3, lbl_803EC6F8@l
/* 802C1194 002BE0F4 7F E4 FB 78 */ mr r4, r31
/* 802C1198 002BE0F8 90 7C 00 00 */ stw r3, 0(r28)
/* 802C119C 002BE0FC 38 7C 00 D4 */ addi r3, r28, 0xd4
/* 802C11A0 002BE100 9B BC 00 C4 */ stb r29, 0xc4(r28)
/* 802C11A4 002BE104 93 DC 00 C8 */ stw r30, 0xc8(r28)
/* 802C11A8 002BE108 80 BC 00 C8 */ lwz r5, 0xc8(r28)
/* 802C11AC 002BE10C 90 BC 00 CC */ stw r5, 0xcc(r28)
/* 802C11B0 002BE110 90 1C 00 D0 */ stw r0, 0xd0(r28)
/* 802C11B4 002BE114 90 1C 00 D8 */ stw r0, 0xd8(r28)
/* 802C11B8 002BE118 90 1C 00 DC */ stw r0, 0xdc(r28)
/* 802C11BC 002BE11C 90 1C 00 E0 */ stw r0, 0xe0(r28)
/* 802C11C0 002BE120 48 00 01 99 */ bl "reserve__Q24rstl46vector<P9CGuiGroup,Q24rstl17rmemory_allocator>Fi"
/* 802C11C4 002BE124 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802C11C8 002BE128 7F 83 E3 78 */ mr r3, r28
/* 802C11CC 002BE12C 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 802C11D0 002BE130 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 802C11D4 002BE134 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 802C11D8 002BE138 83 81 00 10 */ lwz r28, 0x10(r1)
/* 802C11DC 002BE13C 7C 08 03 A6 */ mtlr r0
/* 802C11E0 002BE140 38 21 00 20 */ addi r1, r1, 0x20
/* 802C11E4 002BE144 4E 80 00 20 */ blr
.section .sdata2, "a"
.balign 8
.global lbl_805AE080
lbl_805AE080:
# ROM: 0x3FA920
.float 0.5
.4byte 0
.global lbl_805AE088
lbl_805AE088:
# ROM: 0x3FA928
.double 4.503601774854144E15
.section .rodata
.balign 8
.global lbl_803D6878
lbl_803D6878:
# ROM: 0x3D3878
.asciz "??(??)"
.balign 4