prime/asm/MetroidPrime/CArtifactDoll.s

1188 lines
54 KiB
ArmAsm

.include "macros.inc"
.section .ctors, "wa"
lbl_ctor:
.4byte __sinit_CArtifactDoll_cpp
.section .sdata
.balign 8
.global lbl_805A85D0
lbl_805A85D0:
# ROM: 0x3F5F70
.float 1.0
.global lbl_805A85D4
lbl_805A85D4:
# ROM: 0x3F5F74
.float 1.0
.global lbl_805A85D8
lbl_805A85D8:
# ROM: 0x3F5F78
.4byte 0
.global lbl_805A85DC
lbl_805A85DC:
# ROM: 0x3F5F7C
.float 1.0
.section .sbss, "wa"
.balign 8
.global lbl_805A9170
lbl_805A9170:
.skip 0x4
.global lbl_805A9174
lbl_805A9174:
.skip 0x4
.section .text, "ax"
.global GetArtifactHeadScanIndex__13CArtifactDollFUi
GetArtifactHeadScanIndex__13CArtifactDollFUi:
/* 8029C884 002997E4 3C 80 80 3D */ lis r4, lbl_803D5D80@ha
/* 8029C888 002997E8 38 00 00 02 */ li r0, 2
/* 8029C88C 002997EC 38 84 5D 80 */ addi r4, r4, lbl_803D5D80@l
/* 8029C890 002997F0 38 A0 00 00 */ li r5, 0
/* 8029C894 002997F4 7C 09 03 A6 */ mtctr r0
lbl_8029C898:
/* 8029C898 002997F8 80 04 00 00 */ lwz r0, 0(r4)
/* 8029C89C 002997FC 7C 03 00 40 */ cmplw r3, r0
/* 8029C8A0 00299800 40 82 00 0C */ bne lbl_8029C8AC
/* 8029C8A4 00299804 7C A3 2B 78 */ mr r3, r5
/* 8029C8A8 00299808 4E 80 00 20 */ blr
lbl_8029C8AC:
/* 8029C8AC 0029980C 84 04 00 04 */ lwzu r0, 4(r4)
/* 8029C8B0 00299810 38 A5 00 01 */ addi r5, r5, 1
/* 8029C8B4 00299814 7C 03 00 40 */ cmplw r3, r0
/* 8029C8B8 00299818 40 82 00 0C */ bne lbl_8029C8C4
/* 8029C8BC 0029981C 7C A3 2B 78 */ mr r3, r5
/* 8029C8C0 00299820 4E 80 00 20 */ blr
lbl_8029C8C4:
/* 8029C8C4 00299824 84 04 00 04 */ lwzu r0, 4(r4)
/* 8029C8C8 00299828 38 A5 00 01 */ addi r5, r5, 1
/* 8029C8CC 0029982C 7C 03 00 40 */ cmplw r3, r0
/* 8029C8D0 00299830 40 82 00 0C */ bne lbl_8029C8DC
/* 8029C8D4 00299834 7C A3 2B 78 */ mr r3, r5
/* 8029C8D8 00299838 4E 80 00 20 */ blr
lbl_8029C8DC:
/* 8029C8DC 0029983C 84 04 00 04 */ lwzu r0, 4(r4)
/* 8029C8E0 00299840 38 A5 00 01 */ addi r5, r5, 1
/* 8029C8E4 00299844 7C 03 00 40 */ cmplw r3, r0
/* 8029C8E8 00299848 40 82 00 0C */ bne lbl_8029C8F4
/* 8029C8EC 0029984C 7C A3 2B 78 */ mr r3, r5
/* 8029C8F0 00299850 4E 80 00 20 */ blr
lbl_8029C8F4:
/* 8029C8F4 00299854 84 04 00 04 */ lwzu r0, 4(r4)
/* 8029C8F8 00299858 38 A5 00 01 */ addi r5, r5, 1
/* 8029C8FC 0029985C 7C 03 00 40 */ cmplw r3, r0
/* 8029C900 00299860 40 82 00 0C */ bne lbl_8029C90C
/* 8029C904 00299864 7C A3 2B 78 */ mr r3, r5
/* 8029C908 00299868 4E 80 00 20 */ blr
lbl_8029C90C:
/* 8029C90C 0029986C 84 04 00 04 */ lwzu r0, 4(r4)
/* 8029C910 00299870 38 A5 00 01 */ addi r5, r5, 1
/* 8029C914 00299874 7C 03 00 40 */ cmplw r3, r0
/* 8029C918 00299878 40 82 00 0C */ bne lbl_8029C924
/* 8029C91C 0029987C 7C A3 2B 78 */ mr r3, r5
/* 8029C920 00299880 4E 80 00 20 */ blr
lbl_8029C924:
/* 8029C924 00299884 38 84 00 04 */ addi r4, r4, 4
/* 8029C928 00299888 38 A5 00 01 */ addi r5, r5, 1
/* 8029C92C 0029988C 42 00 FF 6C */ bdnz lbl_8029C898
/* 8029C930 00299890 38 60 FF FF */ li r3, -1
/* 8029C934 00299894 4E 80 00 20 */ blr
.global GetArtifactHeadScanFromItemType__13CArtifactDollF9EItemType
GetArtifactHeadScanFromItemType__13CArtifactDollF9EItemType:
/* 8029C938 00299898 2C 03 00 1D */ cmpwi r3, 0x1d
/* 8029C93C 0029989C 41 80 00 24 */ blt lbl_8029C960
/* 8029C940 002998A0 2C 03 00 28 */ cmpwi r3, 0x28
/* 8029C944 002998A4 41 81 00 1C */ bgt lbl_8029C960
/* 8029C948 002998A8 38 03 FF E3 */ addi r0, r3, -29
/* 8029C94C 002998AC 3C 60 80 3D */ lis r3, lbl_803D5D80@ha
/* 8029C950 002998B0 54 00 10 3A */ slwi r0, r0, 2
/* 8029C954 002998B4 38 63 5D 80 */ addi r3, r3, lbl_803D5D80@l
/* 8029C958 002998B8 7C 63 00 2E */ lwzx r3, r3, r0
/* 8029C95C 002998BC 4E 80 00 20 */ blr
lbl_8029C960:
/* 8029C960 002998C0 38 60 FF FF */ li r3, -1
/* 8029C964 002998C4 4E 80 00 20 */ blr
.global Draw__13CArtifactDollFfRC13CStateManagerbUi
Draw__13CArtifactDollFfRC13CStateManagerbUi:
/* 8029C968 002998C8 94 21 FD 90 */ stwu r1, -0x270(r1)
/* 8029C96C 002998CC 7C 08 02 A6 */ mflr r0
/* 8029C970 002998D0 90 01 02 74 */ stw r0, 0x274(r1)
/* 8029C974 002998D4 DB E1 02 60 */ stfd f31, 0x260(r1)
/* 8029C978 002998D8 F3 E1 02 68 */ psq_st f31, 616(r1), 0, qr0
/* 8029C97C 002998DC DB C1 02 50 */ stfd f30, 0x250(r1)
/* 8029C980 002998E0 F3 C1 02 58 */ psq_st f30, 600(r1), 0, qr0
/* 8029C984 002998E4 DB A1 02 40 */ stfd f29, 0x240(r1)
/* 8029C988 002998E8 F3 A1 02 48 */ psq_st f29, 584(r1), 0, qr0
/* 8029C98C 002998EC DB 81 02 30 */ stfd f28, 0x230(r1)
/* 8029C990 002998F0 F3 81 02 38 */ psq_st f28, 568(r1), 0, qr0
/* 8029C994 002998F4 DB 61 02 20 */ stfd f27, 0x220(r1)
/* 8029C998 002998F8 F3 61 02 28 */ psq_st f27, 552(r1), 0, qr0
/* 8029C99C 002998FC DB 41 02 10 */ stfd f26, 0x210(r1)
/* 8029C9A0 00299900 F3 41 02 18 */ psq_st f26, 536(r1), 0, qr0
/* 8029C9A4 00299904 BE C1 01 E8 */ stmw r22, 0x1e8(r1)
/* 8029C9A8 00299908 FF 40 08 90 */ fmr f26, f1
/* 8029C9AC 0029990C 7C 7D 1B 78 */ mr r29, r3
/* 8029C9B0 00299910 7C 9E 23 78 */ mr r30, r4
/* 8029C9B4 00299914 7C B6 2B 78 */ mr r22, r5
/* 8029C9B8 00299918 7C DF 33 78 */ mr r31, r6
/* 8029C9BC 0029991C 48 00 0A 65 */ bl IsLoaded__13CArtifactDollCFv
/* 8029C9C0 00299920 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 8029C9C4 00299924 41 82 03 F4 */ beq lbl_8029CDB8
/* 8029C9C8 00299928 3C 60 80 3F */ lis r3, mViewport__9CGraphics@ha
/* 8029C9CC 0029992C 3C 80 43 30 */ lis r4, 0x4330
/* 8029C9D0 00299930 38 C3 D9 10 */ addi r6, r3, mViewport__9CGraphics@l
/* 8029C9D4 00299934 80 6D A0 68 */ lwz r3, gpRender@sda21(r13)
/* 8029C9D8 00299938 80 A6 00 08 */ lwz r5, 8(r6)
/* 8029C9DC 0029993C 80 06 00 0C */ lwz r0, 0xc(r6)
/* 8029C9E0 00299940 6C A5 80 00 */ xoris r5, r5, 0x8000
/* 8029C9E4 00299944 81 83 00 00 */ lwz r12, 0(r3)
/* 8029C9E8 00299948 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 8029C9EC 0029994C 90 A1 01 DC */ stw r5, 0x1dc(r1)
/* 8029C9F0 00299950 C0 1D 00 24 */ lfs f0, 0x24(r29)
/* 8029C9F4 00299954 90 81 01 D8 */ stw r4, 0x1d8(r1)
/* 8029C9F8 00299958 C8 62 C0 78 */ lfd f3, lbl_805ADD98@sda21(r2)
/* 8029C9FC 0029995C EF BA 00 32 */ fmuls f29, f26, f0
/* 8029CA00 00299960 C8 01 01 D8 */ lfd f0, 0x1d8(r1)
/* 8029CA04 00299964 90 01 01 E4 */ stw r0, 0x1e4(r1)
/* 8029CA08 00299968 81 8C 00 4C */ lwz r12, 0x4c(r12)
/* 8029CA0C 0029996C EC 40 18 28 */ fsubs f2, f0, f3
/* 8029CA10 00299970 90 81 01 E0 */ stw r4, 0x1e0(r1)
/* 8029CA14 00299974 C0 22 C0 40 */ lfs f1, lbl_805ADD60@sda21(r2)
/* 8029CA18 00299978 C8 01 01 E0 */ lfd f0, 0x1e0(r1)
/* 8029CA1C 0029997C C0 82 C0 44 */ lfs f4, lbl_805ADD64@sda21(r2)
/* 8029CA20 00299980 EC 60 18 28 */ fsubs f3, f0, f3
/* 8029CA24 00299984 C0 A2 C0 48 */ lfs f5, lbl_805ADD68@sda21(r2)
/* 8029CA28 00299988 7D 89 03 A6 */ mtctr r12
/* 8029CA2C 0029998C 4E 80 04 21 */ bctrl
/* 8029CA30 00299990 C0 22 C0 4C */ lfs f1, lbl_805ADD6C@sda21(r2)
/* 8029CA34 00299994 38 61 01 A4 */ addi r3, r1, 0x1a4
/* 8029CA38 00299998 C0 42 C0 50 */ lfs f2, lbl_805ADD70@sda21(r2)
/* 8029CA3C 0029999C FC 60 08 90 */ fmr f3, f1
/* 8029CA40 002999A0 48 07 67 49 */ bl Translate__12CTransform4fFfff
/* 8029CA44 002999A4 38 61 01 A4 */ addi r3, r1, 0x1a4
/* 8029CA48 002999A8 48 06 FD 05 */ bl SetViewPointMatrix__9CGraphicsFRC12CTransform4f
/* 8029CA4C 002999AC 80 7D 00 20 */ lwz r3, 0x20(r29)
/* 8029CA50 002999B0 4B E6 83 39 */ bl ActivateLights__12CActorLightsCFv
/* 8029CA54 002999B4 48 06 D4 8D */ bl GetSecondsMod900__9CGraphicsFv
/* 8029CA58 002999B8 C0 02 C0 5C */ lfs f0, lbl_805ADD7C@sda21(r2)
/* 8029CA5C 002999BC C0 42 C0 58 */ lfs f2, lbl_805ADD78@sda21(r2)
/* 8029CA60 002999C0 EC 20 00 72 */ fmuls f1, f0, f1
/* 8029CA64 002999C4 C0 02 C0 54 */ lfs f0, lbl_805ADD74@sda21(r2)
/* 8029CA68 002999C8 EC 22 00 72 */ fmuls f1, f2, f1
/* 8029CA6C 002999CC EF 60 00 72 */ fmuls f27, f0, f1
/* 8029CA70 002999D0 FC 20 D8 90 */ fmr f1, f27
/* 8029CA74 002999D4 48 07 88 95 */ bl SlowSineR__5CMathFf
/* 8029CA78 002999D8 C0 02 C0 60 */ lfs f0, lbl_805ADD80@sda21(r2)
/* 8029CA7C 002999DC EF 80 00 72 */ fmuls f28, f0, f1
/* 8029CA80 002999E0 FC 20 D8 90 */ fmr f1, f27
/* 8029CA84 002999E4 48 07 88 61 */ bl SlowCosineR__5CMathFf
/* 8029CA88 002999E8 C0 02 C0 60 */ lfs f0, lbl_805ADD80@sda21(r2)
/* 8029CA8C 002999EC 38 61 00 54 */ addi r3, r1, 0x54
/* 8029CA90 002999F0 C0 42 C0 68 */ lfs f2, lbl_805ADD88@sda21(r2)
/* 8029CA94 002999F4 EC 80 00 72 */ fmuls f4, f0, f1
/* 8029CA98 002999F8 C0 62 C0 64 */ lfs f3, lbl_805ADD84@sda21(r2)
/* 8029CA9C 002999FC EC 02 07 32 */ fmuls f0, f2, f28
/* 8029CAA0 00299A00 C0 22 C0 44 */ lfs f1, lbl_805ADD64@sda21(r2)
/* 8029CAA4 00299A04 D0 61 00 1C */ stfs f3, 0x1c(r1)
/* 8029CAA8 00299A08 EC 42 01 32 */ fmuls f2, f2, f4
/* 8029CAAC 00299A0C D0 01 00 24 */ stfs f0, 0x24(r1)
/* 8029CAB0 00299A10 D0 41 00 20 */ stfs f2, 0x20(r1)
/* 8029CAB4 00299A14 48 07 67 8D */ bl Scale__12CTransform4fFf
/* 8029CAB8 00299A18 38 61 00 84 */ addi r3, r1, 0x84
/* 8029CABC 00299A1C 38 81 00 1C */ addi r4, r1, 0x1c
/* 8029CAC0 00299A20 48 07 6E 81 */ bl RotateX__12CTransform4fFRC9CRelAngle
/* 8029CAC4 00299A24 38 61 00 B4 */ addi r3, r1, 0xb4
/* 8029CAC8 00299A28 38 81 00 20 */ addi r4, r1, 0x20
/* 8029CACC 00299A2C 48 07 6D 45 */ bl RotateZ__12CTransform4fFRC9CRelAngle
/* 8029CAD0 00299A30 38 61 00 E4 */ addi r3, r1, 0xe4
/* 8029CAD4 00299A34 38 81 00 24 */ addi r4, r1, 0x24
/* 8029CAD8 00299A38 48 07 6E 69 */ bl RotateX__12CTransform4fFRC9CRelAngle
/* 8029CADC 00299A3C 38 61 01 14 */ addi r3, r1, 0x114
/* 8029CAE0 00299A40 38 81 00 E4 */ addi r4, r1, 0xe4
/* 8029CAE4 00299A44 38 A1 00 B4 */ addi r5, r1, 0xb4
/* 8029CAE8 00299A48 48 07 5E 69 */ bl __ml__12CTransform4fCFRC12CTransform4f
/* 8029CAEC 00299A4C 38 61 01 44 */ addi r3, r1, 0x144
/* 8029CAF0 00299A50 38 81 01 14 */ addi r4, r1, 0x114
/* 8029CAF4 00299A54 38 A1 00 84 */ addi r5, r1, 0x84
/* 8029CAF8 00299A58 48 07 5E 59 */ bl __ml__12CTransform4fCFRC12CTransform4f
/* 8029CAFC 00299A5C 38 61 01 74 */ addi r3, r1, 0x174
/* 8029CB00 00299A60 38 81 01 44 */ addi r4, r1, 0x144
/* 8029CB04 00299A64 38 A1 00 54 */ addi r5, r1, 0x54
/* 8029CB08 00299A68 48 07 5E 49 */ bl __ml__12CTransform4fCFRC12CTransform4f
/* 8029CB0C 00299A6C 38 61 01 74 */ addi r3, r1, 0x174
/* 8029CB10 00299A70 48 06 FA D1 */ bl SetModelMatrix__9CGraphicsFRC12CTransform4f
/* 8029CB14 00299A74 80 9E 08 B8 */ lwz r4, 0x8b8(r30)
/* 8029CB18 00299A78 38 60 00 00 */ li r3, 0
/* 8029CB1C 00299A7C 83 44 00 00 */ lwz r26, 0(r4)
/* 8029CB20 00299A80 48 06 EF 51 */ bl SetCullMode__9CGraphicsF12ERglCullMode
/* 8029CB24 00299A84 3C 60 80 3D */ lis r3, lbl_803D5D80@ha
/* 8029CB28 00299A88 CB 82 C0 80 */ lfd f28, lbl_805ADDA0@sda21(r2)
/* 8029CB2C 00299A8C 56 DB 06 3E */ clrlwi r27, r22, 0x18
/* 8029CB30 00299A90 3A E1 00 40 */ addi r23, r1, 0x40
/* 8029CB34 00299A94 3B 03 5D 80 */ addi r24, r3, lbl_803D5D80@l
/* 8029CB38 00299A98 3A C0 00 00 */ li r22, 0
/* 8029CB3C 00299A9C 3B 20 00 00 */ li r25, 0
/* 8029CB40 00299AA0 3F 80 43 30 */ lis r28, 0x4330
/* 8029CB44 00299AA4 48 00 02 5C */ b lbl_8029CDA0
lbl_8029CB48:
/* 8029CB48 00299AA8 80 1D 00 0C */ lwz r0, 0xc(r29)
/* 8029CB4C 00299AAC 38 61 00 4C */ addi r3, r1, 0x4c
/* 8029CB50 00299AB0 7C 80 CA 14 */ add r4, r0, r25
/* 8029CB54 00299AB4 48 0A 43 55 */ bl __ct__6CTokenFRC6CToken
/* 8029CB58 00299AB8 7F 43 D3 78 */ mr r3, r26
/* 8029CB5C 00299ABC 38 96 00 1D */ addi r4, r22, 0x1d
/* 8029CB60 00299AC0 4B DF 4F 61 */ bl HasPowerUp__12CPlayerStateCFQ212CPlayerState9EItemType
/* 8029CB64 00299AC4 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 8029CB68 00299AC8 80 6D A5 B4 */ lwz r3, lbl_805A9174@sda21(r13)
/* 8029CB6C 00299ACC 90 61 00 28 */ stw r3, 0x28(r1)
/* 8029CB70 00299AD0 41 82 00 98 */ beq lbl_8029CC08
/* 8029CB74 00299AD4 80 98 00 00 */ lwz r4, 0(r24)
/* 8029CB78 00299AD8 3C 04 00 01 */ addis r0, r4, 1
/* 8029CB7C 00299ADC 28 00 FF FF */ cmplwi r0, 0xffff
/* 8029CB80 00299AE0 41 82 00 80 */ beq lbl_8029CC00
/* 8029CB84 00299AE4 80 7E 08 B8 */ lwz r3, 0x8b8(r30)
/* 8029CB88 00299AE8 80 63 00 00 */ lwz r3, 0(r3)
/* 8029CB8C 00299AEC 4B DF 4B 05 */ bl GetScanTime__12CPlayerStateCFUi
/* 8029CB90 00299AF0 C0 42 C0 6C */ lfs f2, lbl_805ADD8C@sda21(r2)
/* 8029CB94 00299AF4 C0 62 C0 58 */ lfs f3, lbl_805ADD78@sda21(r2)
/* 8029CB98 00299AF8 EC 01 10 28 */ fsubs f0, f1, f2
/* 8029CB9C 00299AFC EF 63 00 32 */ fmuls f27, f3, f0
/* 8029CBA0 00299B00 FC 1B 10 40 */ fcmpo cr0, f27, f2
/* 8029CBA4 00299B04 40 80 00 2C */ bge lbl_8029CBD0
/* 8029CBA8 00299B08 48 0A D4 05 */ bl White__6CColorFv
/* 8029CBAC 00299B0C C0 02 C0 58 */ lfs f0, lbl_805ADD78@sda21(r2)
/* 8029CBB0 00299B10 7C 65 1B 78 */ mr r5, r3
/* 8029CBB4 00299B14 38 61 00 18 */ addi r3, r1, 0x18
/* 8029CBB8 00299B18 38 8D A5 B4 */ addi r4, r13, lbl_805A9174@sda21
/* 8029CBBC 00299B1C EC 20 06 F2 */ fmuls f1, f0, f27
/* 8029CBC0 00299B20 48 0C 66 ED */ bl Lerp__6CColorFRC6CColorRC6CColorf
/* 8029CBC4 00299B24 80 01 00 18 */ lwz r0, 0x18(r1)
/* 8029CBC8 00299B28 90 01 00 28 */ stw r0, 0x28(r1)
/* 8029CBCC 00299B2C 48 00 00 3C */ b lbl_8029CC08
lbl_8029CBD0:
/* 8029CBD0 00299B30 48 0A D3 DD */ bl White__6CColorFv
/* 8029CBD4 00299B34 C0 02 C0 6C */ lfs f0, lbl_805ADD8C@sda21(r2)
/* 8029CBD8 00299B38 7C 64 1B 78 */ mr r4, r3
/* 8029CBDC 00299B3C C0 22 C0 58 */ lfs f1, lbl_805ADD78@sda21(r2)
/* 8029CBE0 00299B40 38 61 00 14 */ addi r3, r1, 0x14
/* 8029CBE4 00299B44 EC 1B 00 28 */ fsubs f0, f27, f0
/* 8029CBE8 00299B48 38 AD A5 B0 */ addi r5, r13, lbl_805A9170@sda21
/* 8029CBEC 00299B4C EC 21 00 32 */ fmuls f1, f1, f0
/* 8029CBF0 00299B50 48 0C 66 BD */ bl Lerp__6CColorFRC6CColorRC6CColorf
/* 8029CBF4 00299B54 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8029CBF8 00299B58 90 01 00 28 */ stw r0, 0x28(r1)
/* 8029CBFC 00299B5C 48 00 00 0C */ b lbl_8029CC08
lbl_8029CC00:
/* 8029CC00 00299B60 80 0D A5 B0 */ lwz r0, lbl_805A9170@sda21(r13)
/* 8029CC04 00299B64 90 01 00 28 */ stw r0, 0x28(r1)
lbl_8029CC08:
/* 8029CC08 00299B68 28 1B 00 00 */ cmplwi r27, 0
/* 8029CC0C 00299B6C 41 82 00 A0 */ beq lbl_8029CCAC
/* 8029CC10 00299B70 7C 16 F8 00 */ cmpw r22, r31
/* 8029CC14 00299B74 40 82 00 98 */ bne lbl_8029CCAC
/* 8029CC18 00299B78 48 06 D2 C9 */ bl GetSecondsMod900__9CGraphicsFv
/* 8029CC1C 00299B7C C0 42 C0 5C */ lfs f2, lbl_805ADD7C@sda21(r2)
/* 8029CC20 00299B80 C0 02 C0 58 */ lfs f0, lbl_805ADD78@sda21(r2)
/* 8029CC24 00299B84 EC 22 00 72 */ fmuls f1, f2, f1
/* 8029CC28 00299B88 EC 20 00 72 */ fmuls f1, f0, f1
/* 8029CC2C 00299B8C 48 07 86 DD */ bl SlowSineR__5CMathFf
/* 8029CC30 00299B90 C0 02 C0 70 */ lfs f0, lbl_805ADD90@sda21(r2)
/* 8029CC34 00299B94 38 81 00 0C */ addi r4, r1, 0xc
/* 8029CC38 00299B98 C0 42 C0 6C */ lfs f2, lbl_805ADD8C@sda21(r2)
/* 8029CC3C 00299B9C 38 6D 9A 18 */ addi r3, r13, lbl_805A85D8@sda21
/* 8029CC40 00299BA0 EC 20 08 2A */ fadds f1, f0, f1
/* 8029CC44 00299BA4 C0 02 C0 74 */ lfs f0, lbl_805ADD94@sda21(r2)
/* 8029CC48 00299BA8 38 AD 9A 1C */ addi r5, r13, lbl_805A85DC@sda21
/* 8029CC4C 00299BAC EF 42 00 72 */ fmuls f26, f2, f1
/* 8029CC50 00299BB0 EC 00 D0 28 */ fsubs f0, f0, f26
/* 8029CC54 00299BB4 D0 01 00 0C */ stfs f0, 0xc(r1)
/* 8029CC58 00299BB8 4B D6 F6 5D */ bl "Clamp<f>__5CMathFRCfRCfRCf"
/* 8029CC5C 00299BBC C3 63 00 00 */ lfs f27, 0(r3)
/* 8029CC60 00299BC0 48 0A D3 4D */ bl White__6CColorFv
/* 8029CC64 00299BC4 FC 20 D0 90 */ fmr f1, f26
/* 8029CC68 00299BC8 7C 64 1B 78 */ mr r4, r3
/* 8029CC6C 00299BCC 38 61 00 10 */ addi r3, r1, 0x10
/* 8029CC70 00299BD0 38 A1 00 28 */ addi r5, r1, 0x28
/* 8029CC74 00299BD4 48 0C 66 39 */ bl Lerp__6CColorFRC6CColorRC6CColorf
/* 8029CC78 00299BD8 88 61 00 13 */ lbz r3, 0x13(r1)
/* 8029CC7C 00299BDC 3C 00 43 30 */ lis r0, 0x4330
/* 8029CC80 00299BE0 90 01 01 E0 */ stw r0, 0x1e0(r1)
/* 8029CC84 00299BE4 C8 22 C0 80 */ lfd f1, lbl_805ADDA0@sda21(r2)
/* 8029CC88 00299BE8 90 61 01 E4 */ stw r3, 0x1e4(r1)
/* 8029CC8C 00299BEC C8 01 01 E0 */ lfd f0, 0x1e0(r1)
/* 8029CC90 00299BF0 EC 00 08 28 */ fsubs f0, f0, f1
/* 8029CC94 00299BF4 EF DB 00 32 */ fmuls f30, f27, f0
/* 8029CC98 00299BF8 F3 C1 A0 08 */ psq_st f30, 8(r1), 1, qr2
/* 8029CC9C 00299BFC 80 61 00 10 */ lwz r3, 0x10(r1)
/* 8029CCA0 00299C00 88 01 00 08 */ lbz r0, 8(r1)
/* 8029CCA4 00299C04 50 60 00 2E */ rlwimi r0, r3, 0, 0, 0x17
/* 8029CCA8 00299C08 90 01 00 28 */ stw r0, 0x28(r1)
lbl_8029CCAC:
/* 8029CCAC 00299C0C C0 22 C0 70 */ lfs f1, lbl_805ADD90@sda21(r2)
/* 8029CCB0 00299C10 38 80 00 07 */ li r4, 7
/* 8029CCB4 00299C14 38 60 00 00 */ li r3, 0
/* 8029CCB8 00299C18 38 00 00 03 */ li r0, 3
/* 8029CCBC 00299C1C FC 40 08 90 */ fmr f2, f1
/* 8029CCC0 00299C20 98 81 00 3C */ stb r4, 0x3c(r1)
/* 8029CCC4 00299C24 FC 60 08 90 */ fmr f3, f1
/* 8029CCC8 00299C28 C0 82 C0 4C */ lfs f4, lbl_805ADD6C@sda21(r2)
/* 8029CCCC 00299C2C 98 61 00 3D */ stb r3, 0x3d(r1)
/* 8029CCD0 00299C30 7E E3 BB 78 */ mr r3, r23
/* 8029CCD4 00299C34 B0 01 00 3E */ sth r0, 0x3e(r1)
/* 8029CCD8 00299C38 48 0C 67 15 */ bl __ct__6CColorFffff
/* 8029CCDC 00299C3C A0 01 00 3E */ lhz r0, 0x3e(r1)
/* 8029CCE0 00299C40 38 61 00 4C */ addi r3, r1, 0x4c
/* 8029CCE4 00299C44 88 C1 00 3C */ lbz r6, 0x3c(r1)
/* 8029CCE8 00299C48 54 00 00 3A */ rlwinm r0, r0, 0, 0, 0x1d
/* 8029CCEC 00299C4C 88 A1 00 3D */ lbz r5, 0x3d(r1)
/* 8029CCF0 00299C50 60 04 00 03 */ ori r4, r0, 3
/* 8029CCF4 00299C54 80 01 00 40 */ lwz r0, 0x40(r1)
/* 8029CCF8 00299C58 98 C1 00 44 */ stb r6, 0x44(r1)
/* 8029CCFC 00299C5C 98 A1 00 45 */ stb r5, 0x45(r1)
/* 8029CD00 00299C60 B0 81 00 46 */ sth r4, 0x46(r1)
/* 8029CD04 00299C64 90 01 00 48 */ stw r0, 0x48(r1)
/* 8029CD08 00299C68 48 0A 41 05 */ bl GetObj__6CTokenFv
/* 8029CD0C 00299C6C 80 63 00 04 */ lwz r3, 4(r3)
/* 8029CD10 00299C70 38 81 00 44 */ addi r4, r1, 0x44
/* 8029CD14 00299C74 48 0B 8E C1 */ bl Draw__6CModelCFRC11CModelFlags
/* 8029CD18 00299C78 38 61 00 4C */ addi r3, r1, 0x4c
/* 8029CD1C 00299C7C 48 0A 40 F1 */ bl GetObj__6CTokenFv
/* 8029CD20 00299C80 88 01 00 2B */ lbz r0, 0x2b(r1)
/* 8029CD24 00299C84 93 81 01 E0 */ stw r28, 0x1e0(r1)
/* 8029CD28 00299C88 80 63 00 04 */ lwz r3, 4(r3)
/* 8029CD2C 00299C8C 90 01 01 E4 */ stw r0, 0x1e4(r1)
/* 8029CD30 00299C90 C8 01 01 E0 */ lfd f0, 0x1e0(r1)
/* 8029CD34 00299C94 EC 00 E0 28 */ fsubs f0, f0, f28
/* 8029CD38 00299C98 EF FD 00 32 */ fmuls f31, f29, f0
/* 8029CD3C 00299C9C F3 E1 A0 09 */ psq_st f31, 9(r1), 1, qr2
/* 8029CD40 00299CA0 38 A0 00 03 */ li r5, 3
/* 8029CD44 00299CA4 54 A0 00 3A */ rlwinm r0, r5, 0, 0, 0x1d
/* 8029CD48 00299CA8 80 81 00 28 */ lwz r4, 0x28(r1)
/* 8029CD4C 00299CAC 38 E0 00 08 */ li r7, 8
/* 8029CD50 00299CB0 38 C0 00 00 */ li r6, 0
/* 8029CD54 00299CB4 89 01 00 09 */ lbz r8, 9(r1)
/* 8029CD58 00299CB8 50 88 00 2E */ rlwimi r8, r4, 0, 0, 0x17
/* 8029CD5C 00299CBC 60 00 00 01 */ ori r0, r0, 1
/* 8029CD60 00299CC0 98 E1 00 2C */ stb r7, 0x2c(r1)
/* 8029CD64 00299CC4 38 81 00 34 */ addi r4, r1, 0x34
/* 8029CD68 00299CC8 98 C1 00 2D */ stb r6, 0x2d(r1)
/* 8029CD6C 00299CCC B0 A1 00 2E */ sth r5, 0x2e(r1)
/* 8029CD70 00299CD0 91 01 00 30 */ stw r8, 0x30(r1)
/* 8029CD74 00299CD4 98 E1 00 34 */ stb r7, 0x34(r1)
/* 8029CD78 00299CD8 98 C1 00 35 */ stb r6, 0x35(r1)
/* 8029CD7C 00299CDC B0 01 00 36 */ sth r0, 0x36(r1)
/* 8029CD80 00299CE0 91 01 00 38 */ stw r8, 0x38(r1)
/* 8029CD84 00299CE4 48 0B 8E 51 */ bl Draw__6CModelCFRC11CModelFlags
/* 8029CD88 00299CE8 38 61 00 4C */ addi r3, r1, 0x4c
/* 8029CD8C 00299CEC 38 80 00 00 */ li r4, 0
/* 8029CD90 00299CF0 48 0A 40 B1 */ bl __dt__6CTokenFv
/* 8029CD94 00299CF4 3B 39 00 08 */ addi r25, r25, 8
/* 8029CD98 00299CF8 3B 18 00 04 */ addi r24, r24, 4
/* 8029CD9C 00299CFC 3A D6 00 01 */ addi r22, r22, 1
lbl_8029CDA0:
/* 8029CDA0 00299D00 80 1D 00 04 */ lwz r0, 4(r29)
/* 8029CDA4 00299D04 7C 16 00 00 */ cmpw r22, r0
/* 8029CDA8 00299D08 41 80 FD A0 */ blt lbl_8029CB48
/* 8029CDAC 00299D0C 38 60 00 01 */ li r3, 1
/* 8029CDB0 00299D10 48 06 EC C1 */ bl SetCullMode__9CGraphicsF12ERglCullMode
/* 8029CDB4 00299D14 48 06 FB C9 */ bl DisableAllLights__9CGraphicsFv
lbl_8029CDB8:
/* 8029CDB8 00299D18 E3 E1 02 68 */ psq_l f31, 616(r1), 0, qr0
/* 8029CDBC 00299D1C CB E1 02 60 */ lfd f31, 0x260(r1)
/* 8029CDC0 00299D20 E3 C1 02 58 */ psq_l f30, 600(r1), 0, qr0
/* 8029CDC4 00299D24 CB C1 02 50 */ lfd f30, 0x250(r1)
/* 8029CDC8 00299D28 E3 A1 02 48 */ psq_l f29, 584(r1), 0, qr0
/* 8029CDCC 00299D2C CB A1 02 40 */ lfd f29, 0x240(r1)
/* 8029CDD0 00299D30 E3 81 02 38 */ psq_l f28, 568(r1), 0, qr0
/* 8029CDD4 00299D34 CB 81 02 30 */ lfd f28, 0x230(r1)
/* 8029CDD8 00299D38 E3 61 02 28 */ psq_l f27, 552(r1), 0, qr0
/* 8029CDDC 00299D3C CB 61 02 20 */ lfd f27, 0x220(r1)
/* 8029CDE0 00299D40 E3 41 02 18 */ psq_l f26, 536(r1), 0, qr0
/* 8029CDE4 00299D44 CB 41 02 10 */ lfd f26, 0x210(r1)
/* 8029CDE8 00299D48 BA C1 01 E8 */ lmw r22, 0x1e8(r1)
/* 8029CDEC 00299D4C 80 01 02 74 */ lwz r0, 0x274(r1)
/* 8029CDF0 00299D50 7C 08 03 A6 */ mtlr r0
/* 8029CDF4 00299D54 38 21 02 70 */ addi r1, r1, 0x270
/* 8029CDF8 00299D58 4E 80 00 20 */ blr
.global UpdateArtifactHeadScan__13CArtifactDollFRC13CStateManagerf
UpdateArtifactHeadScan__13CArtifactDollFRC13CStateManagerf:
/* 8029CDFC 00299D5C 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8029CE00 00299D60 7C 08 02 A6 */ mflr r0
/* 8029CE04 00299D64 90 01 00 34 */ stw r0, 0x34(r1)
/* 8029CE08 00299D68 DB E1 00 20 */ stfd f31, 0x20(r1)
/* 8029CE0C 00299D6C F3 E1 00 28 */ psq_st f31, 40(r1), 0, qr0
/* 8029CE10 00299D70 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8029CE14 00299D74 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8029CE18 00299D78 93 A1 00 14 */ stw r29, 0x14(r1)
/* 8029CE1C 00299D7C 93 81 00 10 */ stw r28, 0x10(r1)
/* 8029CE20 00299D80 FF E0 08 90 */ fmr f31, f1
/* 8029CE24 00299D84 3C 80 80 3D */ lis r4, lbl_803D5D80@ha
/* 8029CE28 00299D88 3B E4 5D 80 */ addi r31, r4, lbl_803D5D80@l
/* 8029CE2C 00299D8C 7C 7C 1B 78 */ mr r28, r3
/* 8029CE30 00299D90 3B C0 00 00 */ li r30, 0
lbl_8029CE34:
/* 8029CE34 00299D94 80 7C 08 B8 */ lwz r3, 0x8b8(r28)
/* 8029CE38 00299D98 38 9E 00 1D */ addi r4, r30, 0x1d
/* 8029CE3C 00299D9C 80 63 00 00 */ lwz r3, 0(r3)
/* 8029CE40 00299DA0 4B DF 4C 81 */ bl HasPowerUp__12CPlayerStateCFQ212CPlayerState9EItemType
/* 8029CE44 00299DA4 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 8029CE48 00299DA8 41 82 00 4C */ beq lbl_8029CE94
/* 8029CE4C 00299DAC 80 7C 08 B8 */ lwz r3, 0x8b8(r28)
/* 8029CE50 00299DB0 83 BF 00 00 */ lwz r29, 0(r31)
/* 8029CE54 00299DB4 80 63 00 00 */ lwz r3, 0(r3)
/* 8029CE58 00299DB8 7F A4 EB 78 */ mr r4, r29
/* 8029CE5C 00299DBC 4B DF 48 35 */ bl GetScanTime__12CPlayerStateCFUi
/* 8029CE60 00299DC0 EC 21 F8 2A */ fadds f1, f1, f31
/* 8029CE64 00299DC4 C0 0D 9A 14 */ lfs f0, lbl_805A85D4@sda21(r13)
/* 8029CE68 00299DC8 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8029CE6C 00299DCC D0 21 00 08 */ stfs f1, 8(r1)
/* 8029CE70 00299DD0 40 80 00 0C */ bge lbl_8029CE7C
/* 8029CE74 00299DD4 38 A1 00 08 */ addi r5, r1, 8
/* 8029CE78 00299DD8 48 00 00 08 */ b lbl_8029CE80
lbl_8029CE7C:
/* 8029CE7C 00299DDC 38 AD 9A 14 */ addi r5, r13, lbl_805A85D4@sda21
lbl_8029CE80:
/* 8029CE80 00299DE0 80 7C 08 B8 */ lwz r3, 0x8b8(r28)
/* 8029CE84 00299DE4 7F A4 EB 78 */ mr r4, r29
/* 8029CE88 00299DE8 C0 25 00 00 */ lfs f1, 0(r5)
/* 8029CE8C 00299DEC 80 63 00 00 */ lwz r3, 0(r3)
/* 8029CE90 00299DF0 4B DF 47 45 */ bl SetScanTime__12CPlayerStateFUif
lbl_8029CE94:
/* 8029CE94 00299DF4 3B DE 00 01 */ addi r30, r30, 1
/* 8029CE98 00299DF8 3B FF 00 04 */ addi r31, r31, 4
/* 8029CE9C 00299DFC 2C 1E 00 0C */ cmpwi r30, 0xc
/* 8029CEA0 00299E00 41 80 FF 94 */ blt lbl_8029CE34
/* 8029CEA4 00299E04 E3 E1 00 28 */ psq_l f31, 40(r1), 0, qr0
/* 8029CEA8 00299E08 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8029CEAC 00299E0C CB E1 00 20 */ lfd f31, 0x20(r1)
/* 8029CEB0 00299E10 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8029CEB4 00299E14 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8029CEB8 00299E18 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 8029CEBC 00299E1C 83 81 00 10 */ lwz r28, 0x10(r1)
/* 8029CEC0 00299E20 7C 08 03 A6 */ mtlr r0
/* 8029CEC4 00299E24 38 21 00 30 */ addi r1, r1, 0x30
/* 8029CEC8 00299E28 4E 80 00 20 */ blr
.global CompleteArtifactHeadScan__13CArtifactDollFRC13CStateManager
CompleteArtifactHeadScan__13CArtifactDollFRC13CStateManager:
/* 8029CECC 00299E2C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8029CED0 00299E30 7C 08 02 A6 */ mflr r0
/* 8029CED4 00299E34 C0 22 C0 70 */ lfs f1, lbl_805ADD90@sda21(r2)
/* 8029CED8 00299E38 7C 83 23 78 */ mr r3, r4
/* 8029CEDC 00299E3C 90 01 00 14 */ stw r0, 0x14(r1)
/* 8029CEE0 00299E40 4B FF FF 1D */ bl UpdateArtifactHeadScan__13CArtifactDollFRC13CStateManagerf
/* 8029CEE4 00299E44 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8029CEE8 00299E48 7C 08 03 A6 */ mtlr r0
/* 8029CEEC 00299E4C 38 21 00 10 */ addi r1, r1, 0x10
/* 8029CEF0 00299E50 4E 80 00 20 */ blr
.global Update__13CArtifactDollFfRC13CStateManager
Update__13CArtifactDollFfRC13CStateManager:
/* 8029CEF4 00299E54 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8029CEF8 00299E58 7C 08 02 A6 */ mflr r0
/* 8029CEFC 00299E5C 90 01 00 34 */ stw r0, 0x34(r1)
/* 8029CF00 00299E60 DB E1 00 20 */ stfd f31, 0x20(r1)
/* 8029CF04 00299E64 F3 E1 00 28 */ psq_st f31, 40(r1), 0, qr0
/* 8029CF08 00299E68 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8029CF0C 00299E6C 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8029CF10 00299E70 FF E0 08 90 */ fmr f31, f1
/* 8029CF14 00299E74 7C 7E 1B 78 */ mr r30, r3
/* 8029CF18 00299E78 7C 9F 23 78 */ mr r31, r4
/* 8029CF1C 00299E7C 48 00 05 1D */ bl CheckLoadComplete__13CArtifactDollFv
/* 8029CF20 00299E80 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 8029CF24 00299E84 41 82 00 6C */ beq lbl_8029CF90
/* 8029CF28 00299E88 C0 42 C0 58 */ lfs f2, lbl_805ADD78@sda21(r2)
/* 8029CF2C 00299E8C C0 3E 00 24 */ lfs f1, 0x24(r30)
/* 8029CF30 00299E90 C0 0D 9A 10 */ lfs f0, lbl_805A85D0@sda21(r13)
/* 8029CF34 00299E94 EC 22 0F FA */ fmadds f1, f2, f31, f1
/* 8029CF38 00299E98 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8029CF3C 00299E9C D0 21 00 08 */ stfs f1, 8(r1)
/* 8029CF40 00299EA0 40 80 00 0C */ bge lbl_8029CF4C
/* 8029CF44 00299EA4 38 61 00 08 */ addi r3, r1, 8
/* 8029CF48 00299EA8 48 00 00 08 */ b lbl_8029CF50
lbl_8029CF4C:
/* 8029CF4C 00299EAC 38 6D 9A 10 */ addi r3, r13, lbl_805A85D0@sda21
lbl_8029CF50:
/* 8029CF50 00299EB0 C0 03 00 00 */ lfs f0, 0(r3)
/* 8029CF54 00299EB4 C0 22 C0 70 */ lfs f1, lbl_805ADD90@sda21(r2)
/* 8029CF58 00299EB8 D0 1E 00 24 */ stfs f0, 0x24(r30)
/* 8029CF5C 00299EBC C0 02 C0 88 */ lfs f0, lbl_805ADDA8@sda21(r2)
/* 8029CF60 00299EC0 C0 5E 00 24 */ lfs f2, 0x24(r30)
/* 8029CF64 00299EC4 EC 22 08 28 */ fsubs f1, f2, f1
/* 8029CF68 00299EC8 FC 20 0A 10 */ fabs f1, f1
/* 8029CF6C 00299ECC FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8029CF70 00299ED0 40 80 00 18 */ bge lbl_8029CF88
/* 8029CF74 00299ED4 C0 22 C0 6C */ lfs f1, lbl_805ADD8C@sda21(r2)
/* 8029CF78 00299ED8 7F E3 FB 78 */ mr r3, r31
/* 8029CF7C 00299EDC EC 01 07 F2 */ fmuls f0, f1, f31
/* 8029CF80 00299EE0 EC 20 00 72 */ fmuls f1, f0, f1
/* 8029CF84 00299EE4 4B FF FE 79 */ bl UpdateArtifactHeadScan__13CArtifactDollFRC13CStateManagerf
lbl_8029CF88:
/* 8029CF88 00299EE8 7F C3 F3 78 */ mr r3, r30
/* 8029CF8C 00299EEC 48 00 00 B9 */ bl UpdateActorLights__13CArtifactDollFv
lbl_8029CF90:
/* 8029CF90 00299EF0 E3 E1 00 28 */ psq_l f31, 40(r1), 0, qr0
/* 8029CF94 00299EF4 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8029CF98 00299EF8 CB E1 00 20 */ lfd f31, 0x20(r1)
/* 8029CF9C 00299EFC 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8029CFA0 00299F00 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8029CFA4 00299F04 7C 08 03 A6 */ mtlr r0
/* 8029CFA8 00299F08 38 21 00 30 */ addi r1, r1, 0x30
/* 8029CFAC 00299F0C 4E 80 00 20 */ blr
.global Touch__13CArtifactDollFv
Touch__13CArtifactDollFv:
/* 8029CFB0 00299F10 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8029CFB4 00299F14 7C 08 02 A6 */ mflr r0
/* 8029CFB8 00299F18 90 01 00 24 */ stw r0, 0x24(r1)
/* 8029CFBC 00299F1C 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8029CFC0 00299F20 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8029CFC4 00299F24 93 A1 00 14 */ stw r29, 0x14(r1)
/* 8029CFC8 00299F28 7C 7D 1B 78 */ mr r29, r3
/* 8029CFCC 00299F2C 48 00 04 6D */ bl CheckLoadComplete__13CArtifactDollFv
/* 8029CFD0 00299F30 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 8029CFD4 00299F34 41 82 00 54 */ beq lbl_8029D028
/* 8029CFD8 00299F38 3B C0 00 00 */ li r30, 0
/* 8029CFDC 00299F3C 3B E0 00 00 */ li r31, 0
/* 8029CFE0 00299F40 48 00 00 3C */ b lbl_8029D01C
lbl_8029CFE4:
/* 8029CFE4 00299F44 80 1D 00 0C */ lwz r0, 0xc(r29)
/* 8029CFE8 00299F48 38 61 00 08 */ addi r3, r1, 8
/* 8029CFEC 00299F4C 7C 80 FA 14 */ add r4, r0, r31
/* 8029CFF0 00299F50 48 0A 3E B9 */ bl __ct__6CTokenFRC6CToken
/* 8029CFF4 00299F54 38 61 00 08 */ addi r3, r1, 8
/* 8029CFF8 00299F58 48 0A 3E 15 */ bl GetObj__6CTokenFv
/* 8029CFFC 00299F5C 80 63 00 04 */ lwz r3, 4(r3)
/* 8029D000 00299F60 38 80 00 00 */ li r4, 0
/* 8029D004 00299F64 48 0B 86 31 */ bl Touch__6CModelCFi
/* 8029D008 00299F68 38 61 00 08 */ addi r3, r1, 8
/* 8029D00C 00299F6C 38 80 00 00 */ li r4, 0
/* 8029D010 00299F70 48 0A 3E 31 */ bl __dt__6CTokenFv
/* 8029D014 00299F74 3B FF 00 08 */ addi r31, r31, 8
/* 8029D018 00299F78 3B DE 00 01 */ addi r30, r30, 1
lbl_8029D01C:
/* 8029D01C 00299F7C 80 1D 00 04 */ lwz r0, 4(r29)
/* 8029D020 00299F80 7C 1E 00 00 */ cmpw r30, r0
/* 8029D024 00299F84 41 80 FF C0 */ blt lbl_8029CFE4
lbl_8029D028:
/* 8029D028 00299F88 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8029D02C 00299F8C 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8029D030 00299F90 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8029D034 00299F94 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 8029D038 00299F98 7C 08 03 A6 */ mtlr r0
/* 8029D03C 00299F9C 38 21 00 20 */ addi r1, r1, 0x20
/* 8029D040 00299FA0 4E 80 00 20 */ blr
.global UpdateActorLights__13CArtifactDollFv
UpdateActorLights__13CArtifactDollFv:
/* 8029D044 00299FA4 94 21 FE F0 */ stwu r1, -0x110(r1)
/* 8029D048 00299FA8 7C 08 02 A6 */ mflr r0
/* 8029D04C 00299FAC 3C 80 80 5A */ lis r4, sRightVector__9CVector3f@ha
/* 8029D050 00299FB0 3C C0 80 5A */ lis r6, sDownVector__9CVector3f@ha
/* 8029D054 00299FB4 90 01 01 14 */ stw r0, 0x114(r1)
/* 8029D058 00299FB8 38 A4 67 18 */ addi r5, r4, sRightVector__9CVector3f@l
/* 8029D05C 00299FBC C0 62 C0 54 */ lfs f3, lbl_805ADD74@sda21(r2)
/* 8029D060 00299FC0 3C 80 80 5A */ lis r4, sForwardVector__9CVector3f@ha
/* 8029D064 00299FC4 93 E1 01 0C */ stw r31, 0x10c(r1)
/* 8029D068 00299FC8 3B E4 67 24 */ addi r31, r4, sForwardVector__9CVector3f@l
/* 8029D06C 00299FCC 38 C6 67 00 */ addi r6, r6, sDownVector__9CVector3f@l
/* 8029D070 00299FD0 C0 C2 C0 8C */ lfs f6, lbl_805ADDAC@sda21(r2)
/* 8029D074 00299FD4 93 C1 01 08 */ stw r30, 0x108(r1)
/* 8029D078 00299FD8 7C 7E 1B 78 */ mr r30, r3
/* 8029D07C 00299FDC 38 61 00 50 */ addi r3, r1, 0x50
/* 8029D080 00299FE0 38 81 00 44 */ addi r4, r1, 0x44
/* 8029D084 00299FE4 C0 45 00 08 */ lfs f2, 8(r5)
/* 8029D088 00299FE8 C0 25 00 00 */ lfs f1, 0(r5)
/* 8029D08C 00299FEC EC E3 00 B2 */ fmuls f7, f3, f2
/* 8029D090 00299FF0 C0 05 00 04 */ lfs f0, 4(r5)
/* 8029D094 00299FF4 EC 83 00 72 */ fmuls f4, f3, f1
/* 8029D098 00299FF8 C0 3F 00 08 */ lfs f1, 8(r31)
/* 8029D09C 00299FFC EC 63 00 32 */ fmuls f3, f3, f0
/* 8029D0A0 0029A000 C0 1F 00 00 */ lfs f0, 0(r31)
/* 8029D0A4 0029A004 ED 01 38 2A */ fadds f8, f1, f7
/* 8029D0A8 0029A008 C0 5F 00 04 */ lfs f2, 4(r31)
/* 8029D0AC 0029A00C EC 20 20 2A */ fadds f1, f0, f4
/* 8029D0B0 0029A010 C0 06 00 00 */ lfs f0, 0(r6)
/* 8029D0B4 0029A014 ED 22 18 2A */ fadds f9, f2, f3
/* 8029D0B8 0029A018 C0 46 00 08 */ lfs f2, 8(r6)
/* 8029D0BC 0029A01C EC A6 00 32 */ fmuls f5, f6, f0
/* 8029D0C0 0029A020 C0 06 00 04 */ lfs f0, 4(r6)
/* 8029D0C4 0029A024 ED 46 00 B2 */ fmuls f10, f6, f2
/* 8029D0C8 0029A028 D0 81 00 2C */ stfs f4, 0x2c(r1)
/* 8029D0CC 0029A02C EC 46 00 32 */ fmuls f2, f6, f0
/* 8029D0D0 0029A030 EC 01 28 2A */ fadds f0, f1, f5
/* 8029D0D4 0029A034 EC 88 50 2A */ fadds f4, f8, f10
/* 8029D0D8 0029A038 D0 A1 00 20 */ stfs f5, 0x20(r1)
/* 8029D0DC 0029A03C EC A9 10 2A */ fadds f5, f9, f2
/* 8029D0E0 0029A040 D0 41 00 24 */ stfs f2, 0x24(r1)
/* 8029D0E4 0029A044 D1 41 00 28 */ stfs f10, 0x28(r1)
/* 8029D0E8 0029A048 D0 61 00 30 */ stfs f3, 0x30(r1)
/* 8029D0EC 0029A04C D0 E1 00 34 */ stfs f7, 0x34(r1)
/* 8029D0F0 0029A050 D0 21 00 38 */ stfs f1, 0x38(r1)
/* 8029D0F4 0029A054 D1 21 00 3C */ stfs f9, 0x3c(r1)
/* 8029D0F8 0029A058 D1 01 00 40 */ stfs f8, 0x40(r1)
/* 8029D0FC 0029A05C D0 01 00 44 */ stfs f0, 0x44(r1)
/* 8029D100 0029A060 D0 A1 00 48 */ stfs f5, 0x48(r1)
/* 8029D104 0029A064 D0 81 00 4C */ stfs f4, 0x4c(r1)
/* 8029D108 0029A068 48 07 77 49 */ bl AsNormalized__9CVector3fCFv
/* 8029D10C 0029A06C 38 00 00 FF */ li r0, 0xff
/* 8029D110 0029A070 3C 60 80 5A */ lis r3, sForwardVector__9CVector3f@ha
/* 8029D114 0029A074 98 01 00 10 */ stb r0, 0x10(r1)
/* 8029D118 0029A078 38 83 67 24 */ addi r4, r3, sForwardVector__9CVector3f@l
/* 8029D11C 0029A07C 38 61 00 AC */ addi r3, r1, 0xac
/* 8029D120 0029A080 38 A1 00 10 */ addi r5, r1, 0x10
/* 8029D124 0029A084 98 01 00 11 */ stb r0, 0x11(r1)
/* 8029D128 0029A088 98 01 00 12 */ stb r0, 0x12(r1)
/* 8029D12C 0029A08C 98 01 00 13 */ stb r0, 0x13(r1)
/* 8029D130 0029A090 48 06 93 3D */ bl BuildDirectional__6CLightFRC9CVector3fRC6CColor
/* 8029D134 0029A094 81 5E 00 1C */ lwz r10, 0x1c(r30)
/* 8029D138 0029A098 3C 60 80 5A */ lis r3, sForwardVector__9CVector3f@ha
/* 8029D13C 0029A09C 80 81 00 AC */ lwz r4, 0xac(r1)
/* 8029D140 0029A0A0 38 C3 67 24 */ addi r6, r3, sForwardVector__9CVector3f@l
/* 8029D144 0029A0A4 81 01 00 B0 */ lwz r8, 0xb0(r1)
/* 8029D148 0029A0A8 38 E0 00 00 */ li r7, 0
/* 8029D14C 0029A0AC 38 00 00 FF */ li r0, 0xff
/* 8029D150 0029A0B0 38 61 00 5C */ addi r3, r1, 0x5c
/* 8029D154 0029A0B4 90 8A 00 00 */ stw r4, 0(r10)
/* 8029D158 0029A0B8 38 81 00 14 */ addi r4, r1, 0x14
/* 8029D15C 0029A0BC 38 A1 00 0C */ addi r5, r1, 0xc
/* 8029D160 0029A0C0 91 0A 00 04 */ stw r8, 4(r10)
/* 8029D164 0029A0C4 81 01 00 B4 */ lwz r8, 0xb4(r1)
/* 8029D168 0029A0C8 91 0A 00 08 */ stw r8, 8(r10)
/* 8029D16C 0029A0CC 81 21 00 B8 */ lwz r9, 0xb8(r1)
/* 8029D170 0029A0D0 81 01 00 BC */ lwz r8, 0xbc(r1)
/* 8029D174 0029A0D4 91 2A 00 0C */ stw r9, 0xc(r10)
/* 8029D178 0029A0D8 91 0A 00 10 */ stw r8, 0x10(r10)
/* 8029D17C 0029A0DC 81 01 00 C0 */ lwz r8, 0xc0(r1)
/* 8029D180 0029A0E0 91 0A 00 14 */ stw r8, 0x14(r10)
/* 8029D184 0029A0E4 81 01 00 C4 */ lwz r8, 0xc4(r1)
/* 8029D188 0029A0E8 91 0A 00 18 */ stw r8, 0x18(r10)
/* 8029D18C 0029A0EC 81 01 00 C8 */ lwz r8, 0xc8(r1)
/* 8029D190 0029A0F0 91 0A 00 1C */ stw r8, 0x1c(r10)
/* 8029D194 0029A0F4 C0 01 00 CC */ lfs f0, 0xcc(r1)
/* 8029D198 0029A0F8 D0 0A 00 20 */ stfs f0, 0x20(r10)
/* 8029D19C 0029A0FC C0 01 00 D0 */ lfs f0, 0xd0(r1)
/* 8029D1A0 0029A100 D0 0A 00 24 */ stfs f0, 0x24(r10)
/* 8029D1A4 0029A104 C0 01 00 D4 */ lfs f0, 0xd4(r1)
/* 8029D1A8 0029A108 D0 0A 00 28 */ stfs f0, 0x28(r10)
/* 8029D1AC 0029A10C C0 01 00 D8 */ lfs f0, 0xd8(r1)
/* 8029D1B0 0029A110 D0 0A 00 2C */ stfs f0, 0x2c(r10)
/* 8029D1B4 0029A114 C0 01 00 DC */ lfs f0, 0xdc(r1)
/* 8029D1B8 0029A118 D0 0A 00 30 */ stfs f0, 0x30(r10)
/* 8029D1BC 0029A11C C0 01 00 E0 */ lfs f0, 0xe0(r1)
/* 8029D1C0 0029A120 D0 0A 00 34 */ stfs f0, 0x34(r10)
/* 8029D1C4 0029A124 C0 01 00 E4 */ lfs f0, 0xe4(r1)
/* 8029D1C8 0029A128 D0 0A 00 38 */ stfs f0, 0x38(r10)
/* 8029D1CC 0029A12C 81 01 00 E8 */ lwz r8, 0xe8(r1)
/* 8029D1D0 0029A130 91 0A 00 3C */ stw r8, 0x3c(r10)
/* 8029D1D4 0029A134 81 01 00 EC */ lwz r8, 0xec(r1)
/* 8029D1D8 0029A138 91 0A 00 40 */ stw r8, 0x40(r10)
/* 8029D1DC 0029A13C C0 01 00 F0 */ lfs f0, 0xf0(r1)
/* 8029D1E0 0029A140 D0 0A 00 44 */ stfs f0, 0x44(r10)
/* 8029D1E4 0029A144 C0 01 00 F4 */ lfs f0, 0xf4(r1)
/* 8029D1E8 0029A148 D0 0A 00 48 */ stfs f0, 0x48(r10)
/* 8029D1EC 0029A14C 89 01 00 F8 */ lbz r8, 0xf8(r1)
/* 8029D1F0 0029A150 99 0A 00 4C */ stb r8, 0x4c(r10)
/* 8029D1F4 0029A154 C0 46 00 00 */ lfs f2, 0(r6)
/* 8029D1F8 0029A158 C0 3F 00 04 */ lfs f1, 4(r31)
/* 8029D1FC 0029A15C C0 1F 00 08 */ lfs f0, 8(r31)
/* 8029D200 0029A160 FC 40 10 50 */ fneg f2, f2
/* 8029D204 0029A164 FC 20 08 50 */ fneg f1, f1
/* 8029D208 0029A168 98 E1 00 0C */ stb r7, 0xc(r1)
/* 8029D20C 0029A16C FC 00 00 50 */ fneg f0, f0
/* 8029D210 0029A170 98 E1 00 0D */ stb r7, 0xd(r1)
/* 8029D214 0029A174 98 E1 00 0E */ stb r7, 0xe(r1)
/* 8029D218 0029A178 98 01 00 0F */ stb r0, 0xf(r1)
/* 8029D21C 0029A17C D0 41 00 14 */ stfs f2, 0x14(r1)
/* 8029D220 0029A180 D0 21 00 18 */ stfs f1, 0x18(r1)
/* 8029D224 0029A184 D0 01 00 1C */ stfs f0, 0x1c(r1)
/* 8029D228 0029A188 48 06 92 45 */ bl BuildDirectional__6CLightFRC9CVector3fRC6CColor
/* 8029D22C 0029A18C 80 BE 00 1C */ lwz r5, 0x1c(r30)
/* 8029D230 0029A190 38 61 00 08 */ addi r3, r1, 8
/* 8029D234 0029A194 80 81 00 5C */ lwz r4, 0x5c(r1)
/* 8029D238 0029A198 80 01 00 60 */ lwz r0, 0x60(r1)
/* 8029D23C 0029A19C C0 22 C0 54 */ lfs f1, lbl_805ADD74@sda21(r2)
/* 8029D240 0029A1A0 90 85 00 50 */ stw r4, 0x50(r5)
/* 8029D244 0029A1A4 FC 40 08 90 */ fmr f2, f1
/* 8029D248 0029A1A8 C0 82 C0 70 */ lfs f4, lbl_805ADD90@sda21(r2)
/* 8029D24C 0029A1AC 90 05 00 54 */ stw r0, 0x54(r5)
/* 8029D250 0029A1B0 FC 60 08 90 */ fmr f3, f1
/* 8029D254 0029A1B4 80 01 00 64 */ lwz r0, 0x64(r1)
/* 8029D258 0029A1B8 90 05 00 58 */ stw r0, 0x58(r5)
/* 8029D25C 0029A1BC 80 81 00 68 */ lwz r4, 0x68(r1)
/* 8029D260 0029A1C0 80 01 00 6C */ lwz r0, 0x6c(r1)
/* 8029D264 0029A1C4 90 85 00 5C */ stw r4, 0x5c(r5)
/* 8029D268 0029A1C8 90 05 00 60 */ stw r0, 0x60(r5)
/* 8029D26C 0029A1CC 80 01 00 70 */ lwz r0, 0x70(r1)
/* 8029D270 0029A1D0 90 05 00 64 */ stw r0, 0x64(r5)
/* 8029D274 0029A1D4 80 01 00 74 */ lwz r0, 0x74(r1)
/* 8029D278 0029A1D8 90 05 00 68 */ stw r0, 0x68(r5)
/* 8029D27C 0029A1DC 80 01 00 78 */ lwz r0, 0x78(r1)
/* 8029D280 0029A1E0 90 05 00 6C */ stw r0, 0x6c(r5)
/* 8029D284 0029A1E4 C0 01 00 7C */ lfs f0, 0x7c(r1)
/* 8029D288 0029A1E8 D0 05 00 70 */ stfs f0, 0x70(r5)
/* 8029D28C 0029A1EC C0 01 00 80 */ lfs f0, 0x80(r1)
/* 8029D290 0029A1F0 D0 05 00 74 */ stfs f0, 0x74(r5)
/* 8029D294 0029A1F4 C0 01 00 84 */ lfs f0, 0x84(r1)
/* 8029D298 0029A1F8 D0 05 00 78 */ stfs f0, 0x78(r5)
/* 8029D29C 0029A1FC C0 01 00 88 */ lfs f0, 0x88(r1)
/* 8029D2A0 0029A200 D0 05 00 7C */ stfs f0, 0x7c(r5)
/* 8029D2A4 0029A204 C0 01 00 8C */ lfs f0, 0x8c(r1)
/* 8029D2A8 0029A208 D0 05 00 80 */ stfs f0, 0x80(r5)
/* 8029D2AC 0029A20C C0 01 00 90 */ lfs f0, 0x90(r1)
/* 8029D2B0 0029A210 D0 05 00 84 */ stfs f0, 0x84(r5)
/* 8029D2B4 0029A214 C0 01 00 94 */ lfs f0, 0x94(r1)
/* 8029D2B8 0029A218 D0 05 00 88 */ stfs f0, 0x88(r5)
/* 8029D2BC 0029A21C 80 01 00 98 */ lwz r0, 0x98(r1)
/* 8029D2C0 0029A220 90 05 00 8C */ stw r0, 0x8c(r5)
/* 8029D2C4 0029A224 80 01 00 9C */ lwz r0, 0x9c(r1)
/* 8029D2C8 0029A228 90 05 00 90 */ stw r0, 0x90(r5)
/* 8029D2CC 0029A22C C0 01 00 A0 */ lfs f0, 0xa0(r1)
/* 8029D2D0 0029A230 D0 05 00 94 */ stfs f0, 0x94(r5)
/* 8029D2D4 0029A234 C0 01 00 A4 */ lfs f0, 0xa4(r1)
/* 8029D2D8 0029A238 D0 05 00 98 */ stfs f0, 0x98(r5)
/* 8029D2DC 0029A23C 88 01 00 A8 */ lbz r0, 0xa8(r1)
/* 8029D2E0 0029A240 98 05 00 9C */ stb r0, 0x9c(r5)
/* 8029D2E4 0029A244 83 FE 00 20 */ lwz r31, 0x20(r30)
/* 8029D2E8 0029A248 48 0C 61 05 */ bl __ct__6CColorFffff
/* 8029D2EC 0029A24C 7C 65 1B 78 */ mr r5, r3
/* 8029D2F0 0029A250 7F E3 FB 78 */ mr r3, r31
/* 8029D2F4 0029A254 38 9E 00 10 */ addi r4, r30, 0x10
/* 8029D2F8 0029A258 4B E6 5E 35 */ bl "BuildFakeLightList__12CActorLightsFRCQ24rstl42vector<6CLight,Q24rstl17rmemory_allocator>RC6CColor"
/* 8029D2FC 0029A25C 80 01 01 14 */ lwz r0, 0x114(r1)
/* 8029D300 0029A260 83 E1 01 0C */ lwz r31, 0x10c(r1)
/* 8029D304 0029A264 83 C1 01 08 */ lwz r30, 0x108(r1)
/* 8029D308 0029A268 7C 08 03 A6 */ mtlr r0
/* 8029D30C 0029A26C 38 21 01 10 */ addi r1, r1, 0x110
/* 8029D310 0029A270 4E 80 00 20 */ blr
.global __dt__13CArtifactDollFv
__dt__13CArtifactDollFv:
/* 8029D314 0029A274 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 8029D318 0029A278 7C 08 02 A6 */ mflr r0
/* 8029D31C 0029A27C 90 01 00 44 */ stw r0, 0x44(r1)
/* 8029D320 0029A280 93 E1 00 3C */ stw r31, 0x3c(r1)
/* 8029D324 0029A284 93 C1 00 38 */ stw r30, 0x38(r1)
/* 8029D328 0029A288 93 A1 00 34 */ stw r29, 0x34(r1)
/* 8029D32C 0029A28C 7C 9D 23 78 */ mr r29, r4
/* 8029D330 0029A290 93 81 00 30 */ stw r28, 0x30(r1)
/* 8029D334 0029A294 7C 7C 1B 79 */ or. r28, r3, r3
/* 8029D338 0029A298 41 82 00 C4 */ beq lbl_8029D3FC
/* 8029D33C 0029A29C 34 1C 00 20 */ addic. r0, r28, 0x20
/* 8029D340 0029A2A0 41 82 00 10 */ beq lbl_8029D350
/* 8029D344 0029A2A4 80 7C 00 20 */ lwz r3, 0x20(r28)
/* 8029D348 0029A2A8 38 80 00 01 */ li r4, 1
/* 8029D34C 0029A2AC 4B E6 7D 89 */ bl __dt__12CActorLightsFv
lbl_8029D350:
/* 8029D350 0029A2B0 34 1C 00 10 */ addic. r0, r28, 0x10
/* 8029D354 0029A2B4 41 82 00 44 */ beq lbl_8029D398
/* 8029D358 0029A2B8 80 1C 00 14 */ lwz r0, 0x14(r28)
/* 8029D35C 0029A2BC 80 7C 00 1C */ lwz r3, 0x1c(r28)
/* 8029D360 0029A2C0 1C 00 00 50 */ mulli r0, r0, 0x50
/* 8029D364 0029A2C4 90 61 00 1C */ stw r3, 0x1c(r1)
/* 8029D368 0029A2C8 7C 64 1B 78 */ mr r4, r3
/* 8029D36C 0029A2CC 7C 03 02 14 */ add r0, r3, r0
/* 8029D370 0029A2D0 90 61 00 18 */ stw r3, 0x18(r1)
/* 8029D374 0029A2D4 90 01 00 24 */ stw r0, 0x24(r1)
/* 8029D378 0029A2D8 90 01 00 20 */ stw r0, 0x20(r1)
/* 8029D37C 0029A2DC 48 00 00 08 */ b lbl_8029D384
lbl_8029D380:
/* 8029D380 0029A2E0 38 84 00 50 */ addi r4, r4, 0x50
lbl_8029D384:
/* 8029D384 0029A2E4 7C 04 00 40 */ cmplw r4, r0
/* 8029D388 0029A2E8 40 82 FF F8 */ bne lbl_8029D380
/* 8029D38C 0029A2EC 28 03 00 00 */ cmplwi r3, 0
/* 8029D390 0029A2F0 41 82 00 08 */ beq lbl_8029D398
/* 8029D394 0029A2F4 48 07 85 9D */ bl Free__7CMemoryFPCv
lbl_8029D398:
/* 8029D398 0029A2F8 28 1C 00 00 */ cmplwi r28, 0
/* 8029D39C 0029A2FC 41 82 00 50 */ beq lbl_8029D3EC
/* 8029D3A0 0029A300 80 1C 00 04 */ lwz r0, 4(r28)
/* 8029D3A4 0029A304 83 DC 00 0C */ lwz r30, 0xc(r28)
/* 8029D3A8 0029A308 54 00 18 38 */ slwi r0, r0, 3
/* 8029D3AC 0029A30C 7F FE 02 14 */ add r31, r30, r0
/* 8029D3B0 0029A310 93 C1 00 0C */ stw r30, 0xc(r1)
/* 8029D3B4 0029A314 93 E1 00 14 */ stw r31, 0x14(r1)
/* 8029D3B8 0029A318 93 E1 00 10 */ stw r31, 0x10(r1)
/* 8029D3BC 0029A31C 93 C1 00 08 */ stw r30, 8(r1)
/* 8029D3C0 0029A320 48 00 00 14 */ b lbl_8029D3D4
lbl_8029D3C4:
/* 8029D3C4 0029A324 7F C3 F3 78 */ mr r3, r30
/* 8029D3C8 0029A328 38 80 FF FF */ li r4, -1
/* 8029D3CC 0029A32C 48 0A 3A 75 */ bl __dt__6CTokenFv
/* 8029D3D0 0029A330 3B DE 00 08 */ addi r30, r30, 8
lbl_8029D3D4:
/* 8029D3D4 0029A334 7C 1E F8 40 */ cmplw r30, r31
/* 8029D3D8 0029A338 40 82 FF EC */ bne lbl_8029D3C4
/* 8029D3DC 0029A33C 80 7C 00 0C */ lwz r3, 0xc(r28)
/* 8029D3E0 0029A340 28 03 00 00 */ cmplwi r3, 0
/* 8029D3E4 0029A344 41 82 00 08 */ beq lbl_8029D3EC
/* 8029D3E8 0029A348 48 07 85 49 */ bl Free__7CMemoryFPCv
lbl_8029D3EC:
/* 8029D3EC 0029A34C 7F A0 07 35 */ extsh. r0, r29
/* 8029D3F0 0029A350 40 81 00 0C */ ble lbl_8029D3FC
/* 8029D3F4 0029A354 7F 83 E3 78 */ mr r3, r28
/* 8029D3F8 0029A358 48 07 85 39 */ bl Free__7CMemoryFPCv
lbl_8029D3FC:
/* 8029D3FC 0029A35C 80 01 00 44 */ lwz r0, 0x44(r1)
/* 8029D400 0029A360 7F 83 E3 78 */ mr r3, r28
/* 8029D404 0029A364 83 E1 00 3C */ lwz r31, 0x3c(r1)
/* 8029D408 0029A368 83 C1 00 38 */ lwz r30, 0x38(r1)
/* 8029D40C 0029A36C 83 A1 00 34 */ lwz r29, 0x34(r1)
/* 8029D410 0029A370 83 81 00 30 */ lwz r28, 0x30(r1)
/* 8029D414 0029A374 7C 08 03 A6 */ mtlr r0
/* 8029D418 0029A378 38 21 00 40 */ addi r1, r1, 0x40
/* 8029D41C 0029A37C 4E 80 00 20 */ blr
.global IsLoaded__13CArtifactDollCFv
IsLoaded__13CArtifactDollCFv:
/* 8029D420 0029A380 88 03 00 28 */ lbz r0, 0x28(r3)
/* 8029D424 0029A384 54 03 CF FE */ rlwinm r3, r0, 0x19, 0x1f, 0x1f
/* 8029D428 0029A388 7C 03 00 D0 */ neg r0, r3
/* 8029D42C 0029A38C 7C 00 1B 78 */ or r0, r0, r3
/* 8029D430 0029A390 54 03 0F FE */ srwi r3, r0, 0x1f
/* 8029D434 0029A394 4E 80 00 20 */ blr
.global CheckLoadComplete__13CArtifactDollFv
CheckLoadComplete__13CArtifactDollFv:
/* 8029D438 0029A398 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8029D43C 0029A39C 7C 08 02 A6 */ mflr r0
/* 8029D440 0029A3A0 90 01 00 14 */ stw r0, 0x14(r1)
/* 8029D444 0029A3A4 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8029D448 0029A3A8 7C 7F 1B 78 */ mr r31, r3
/* 8029D44C 0029A3AC 4B FF FF D5 */ bl IsLoaded__13CArtifactDollCFv
/* 8029D450 0029A3B0 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 8029D454 0029A3B4 41 82 00 0C */ beq lbl_8029D460
/* 8029D458 0029A3B8 38 60 00 01 */ li r3, 1
/* 8029D45C 0029A3BC 48 00 00 50 */ b lbl_8029D4AC
lbl_8029D460:
/* 8029D460 0029A3C0 80 1F 00 04 */ lwz r0, 4(r31)
/* 8029D464 0029A3C4 80 BF 00 0C */ lwz r5, 0xc(r31)
/* 8029D468 0029A3C8 54 00 18 38 */ slwi r0, r0, 3
/* 8029D46C 0029A3CC 7C 85 02 14 */ add r4, r5, r0
/* 8029D470 0029A3D0 48 00 00 20 */ b lbl_8029D490
lbl_8029D474:
/* 8029D474 0029A3D4 80 65 00 00 */ lwz r3, 0(r5)
/* 8029D478 0029A3D8 80 03 00 10 */ lwz r0, 0x10(r3)
/* 8029D47C 0029A3DC 28 00 00 00 */ cmplwi r0, 0
/* 8029D480 0029A3E0 40 82 00 0C */ bne lbl_8029D48C
/* 8029D484 0029A3E4 38 60 00 00 */ li r3, 0
/* 8029D488 0029A3E8 48 00 00 24 */ b lbl_8029D4AC
lbl_8029D48C:
/* 8029D48C 0029A3EC 38 A5 00 08 */ addi r5, r5, 8
lbl_8029D490:
/* 8029D490 0029A3F0 7C 05 20 40 */ cmplw r5, r4
/* 8029D494 0029A3F4 40 82 FF E0 */ bne lbl_8029D474
/* 8029D498 0029A3F8 88 1F 00 28 */ lbz r0, 0x28(r31)
/* 8029D49C 0029A3FC 38 60 00 01 */ li r3, 1
/* 8029D4A0 0029A400 50 60 3E 30 */ rlwimi r0, r3, 7, 0x18, 0x18
/* 8029D4A4 0029A404 38 60 00 01 */ li r3, 1
/* 8029D4A8 0029A408 98 1F 00 28 */ stb r0, 0x28(r31)
lbl_8029D4AC:
/* 8029D4AC 0029A40C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8029D4B0 0029A410 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8029D4B4 0029A414 7C 08 03 A6 */ mtlr r0
/* 8029D4B8 0029A418 38 21 00 10 */ addi r1, r1, 0x10
/* 8029D4BC 0029A41C 4E 80 00 20 */ blr
.global __ct__13CArtifactDollFv
__ct__13CArtifactDollFv:
/* 8029D4C0 0029A420 94 21 FF 70 */ stwu r1, -0x90(r1)
/* 8029D4C4 0029A424 7C 08 02 A6 */ mflr r0
/* 8029D4C8 0029A428 38 C0 00 00 */ li r6, 0
/* 8029D4CC 0029A42C 90 01 00 94 */ stw r0, 0x94(r1)
/* 8029D4D0 0029A430 38 00 FF FF */ li r0, -1
/* 8029D4D4 0029A434 38 A1 00 0C */ addi r5, r1, 0xc
/* 8029D4D8 0029A438 93 E1 00 8C */ stw r31, 0x8c(r1)
/* 8029D4DC 0029A43C 7C 7F 1B 78 */ mr r31, r3
/* 8029D4E0 0029A440 93 C1 00 88 */ stw r30, 0x88(r1)
/* 8029D4E4 0029A444 93 A1 00 84 */ stw r29, 0x84(r1)
/* 8029D4E8 0029A448 90 C3 00 04 */ stw r6, 4(r3)
/* 8029D4EC 0029A44C 3C 60 80 5A */ lis r3, sForwardVector__9CVector3f@ha
/* 8029D4F0 0029A450 38 83 67 24 */ addi r4, r3, sForwardVector__9CVector3f@l
/* 8029D4F4 0029A454 90 DF 00 08 */ stw r6, 8(r31)
/* 8029D4F8 0029A458 38 61 00 2C */ addi r3, r1, 0x2c
/* 8029D4FC 0029A45C 90 DF 00 0C */ stw r6, 0xc(r31)
/* 8029D500 0029A460 90 01 00 0C */ stw r0, 0xc(r1)
/* 8029D504 0029A464 48 06 8F 69 */ bl BuildDirectional__6CLightFRC9CVector3fRC6CColor
/* 8029D508 0029A468 38 7F 00 10 */ addi r3, r31, 0x10
/* 8029D50C 0029A46C 38 A1 00 2C */ addi r5, r1, 0x2c
/* 8029D510 0029A470 38 C1 00 08 */ addi r6, r1, 8
/* 8029D514 0029A474 38 80 00 02 */ li r4, 2
/* 8029D518 0029A478 4B E4 11 B1 */ bl "__ct__Q24rstl42vector<6CLight,Q24rstl17rmemory_allocator>FiRC6CLightRCQ24rstl17rmemory_allocator"
/* 8029D51C 0029A47C 3C 80 80 3D */ lis r4, lbl_803D5DB0@ha
/* 8029D520 0029A480 38 60 02 E0 */ li r3, 0x2e0
/* 8029D524 0029A484 38 84 5D B0 */ addi r4, r4, lbl_803D5DB0@l
/* 8029D528 0029A488 38 A0 00 00 */ li r5, 0
/* 8029D52C 0029A48C 38 84 00 93 */ addi r4, r4, 0x93
/* 8029D530 0029A490 48 07 83 3D */ bl __nw__FUlPCcPCc
/* 8029D534 0029A494 7C 60 1B 79 */ or. r0, r3, r3
/* 8029D538 0029A498 41 82 00 4C */ beq lbl_8029D584
/* 8029D53C 0029A49C 3C 80 80 5A */ lis r4, sZeroVector__9CVector3f@ha
/* 8029D540 0029A4A0 C0 22 94 04 */ lfs f1, lbl_805AB124@sda21(r2)
/* 8029D544 0029A4A4 38 E4 66 A0 */ addi r7, r4, sZeroVector__9CVector3f@l
/* 8029D548 0029A4A8 38 A1 00 20 */ addi r5, r1, 0x20
/* 8029D54C 0029A4AC 81 07 00 00 */ lwz r8, 0(r7)
/* 8029D550 0029A4B0 38 80 00 08 */ li r4, 8
/* 8029D554 0029A4B4 81 67 00 04 */ lwz r11, 4(r7)
/* 8029D558 0029A4B8 38 C0 00 04 */ li r6, 4
/* 8029D55C 0029A4BC 80 07 00 08 */ lwz r0, 8(r7)
/* 8029D560 0029A4C0 38 E0 00 04 */ li r7, 4
/* 8029D564 0029A4C4 91 01 00 20 */ stw r8, 0x20(r1)
/* 8029D568 0029A4C8 39 00 00 00 */ li r8, 0
/* 8029D56C 0029A4CC 39 20 00 00 */ li r9, 0
/* 8029D570 0029A4D0 39 40 00 00 */ li r10, 0
/* 8029D574 0029A4D4 91 61 00 24 */ stw r11, 0x24(r1)
/* 8029D578 0029A4D8 90 01 00 28 */ stw r0, 0x28(r1)
/* 8029D57C 0029A4DC 4B E6 7C 51 */ bl __ct__12CActorLightsFUi9CVector3fiif
/* 8029D580 0029A4E0 7C 60 1B 78 */ mr r0, r3
lbl_8029D584:
/* 8029D584 0029A4E4 90 1F 00 20 */ stw r0, 0x20(r31)
/* 8029D588 0029A4E8 38 A0 00 00 */ li r5, 0
/* 8029D58C 0029A4EC C0 02 C0 4C */ lfs f0, lbl_805ADD6C@sda21(r2)
/* 8029D590 0029A4F0 7F E3 FB 78 */ mr r3, r31
/* 8029D594 0029A4F4 38 80 00 0C */ li r4, 0xc
/* 8029D598 0029A4F8 D0 1F 00 24 */ stfs f0, 0x24(r31)
/* 8029D59C 0029A4FC 88 1F 00 28 */ lbz r0, 0x28(r31)
/* 8029D5A0 0029A500 50 A0 3E 30 */ rlwimi r0, r5, 7, 0x18, 0x18
/* 8029D5A4 0029A504 98 1F 00 28 */ stb r0, 0x28(r31)
/* 8029D5A8 0029A508 4B D6 B3 B5 */ bl "reserve__Q24rstl42vector<6CToken,Q24rstl17rmemory_allocator>Fi"
/* 8029D5AC 0029A50C 3C 60 80 3D */ lis r3, lbl_803D5D50@ha
/* 8029D5B0 0029A510 3B A0 00 00 */ li r29, 0
/* 8029D5B4 0029A514 3B C3 5D 50 */ addi r30, r3, lbl_803D5D50@l
lbl_8029D5B8:
/* 8029D5B8 0029A518 80 8D A0 64 */ lwz r4, gpSimplePool@sda21(r13)
/* 8029D5BC 0029A51C 38 61 00 10 */ addi r3, r1, 0x10
/* 8029D5C0 0029A520 80 BE 00 00 */ lwz r5, 0(r30)
/* 8029D5C4 0029A524 81 84 00 00 */ lwz r12, 0(r4)
/* 8029D5C8 0029A528 81 8C 00 10 */ lwz r12, 0x10(r12)
/* 8029D5CC 0029A52C 7D 89 03 A6 */ mtctr r12
/* 8029D5D0 0029A530 4E 80 04 21 */ bctrl
/* 8029D5D4 0029A534 38 61 00 18 */ addi r3, r1, 0x18
/* 8029D5D8 0029A538 38 81 00 10 */ addi r4, r1, 0x10
/* 8029D5DC 0029A53C 48 0A 38 CD */ bl __ct__6CTokenFRC6CToken
/* 8029D5E0 0029A540 38 61 00 10 */ addi r3, r1, 0x10
/* 8029D5E4 0029A544 38 80 FF FF */ li r4, -1
/* 8029D5E8 0029A548 48 0A 38 59 */ bl __dt__6CTokenFv
/* 8029D5EC 0029A54C 38 61 00 18 */ addi r3, r1, 0x18
/* 8029D5F0 0029A550 48 0A 37 95 */ bl Lock__6CTokenFv
/* 8029D5F4 0029A554 80 1F 00 04 */ lwz r0, 4(r31)
/* 8029D5F8 0029A558 80 BF 00 08 */ lwz r5, 8(r31)
/* 8029D5FC 0029A55C 7C 00 28 00 */ cmpw r0, r5
/* 8029D600 0029A560 41 80 00 1C */ blt lbl_8029D61C
/* 8029D604 0029A564 2C 05 00 00 */ cmpwi r5, 0
/* 8029D608 0029A568 7F E3 FB 78 */ mr r3, r31
/* 8029D60C 0029A56C 38 80 00 04 */ li r4, 4
/* 8029D610 0029A570 41 82 00 08 */ beq lbl_8029D618
/* 8029D614 0029A574 54 A4 08 3C */ slwi r4, r5, 1
lbl_8029D618:
/* 8029D618 0029A578 4B D6 B3 45 */ bl "reserve__Q24rstl42vector<6CToken,Q24rstl17rmemory_allocator>Fi"
lbl_8029D61C:
/* 8029D61C 0029A57C 80 1F 00 04 */ lwz r0, 4(r31)
/* 8029D620 0029A580 80 7F 00 0C */ lwz r3, 0xc(r31)
/* 8029D624 0029A584 54 00 18 38 */ slwi r0, r0, 3
/* 8029D628 0029A588 7C 63 02 15 */ add. r3, r3, r0
/* 8029D62C 0029A58C 41 82 00 0C */ beq lbl_8029D638
/* 8029D630 0029A590 38 81 00 18 */ addi r4, r1, 0x18
/* 8029D634 0029A594 48 0A 38 75 */ bl __ct__6CTokenFRC6CToken
lbl_8029D638:
/* 8029D638 0029A598 80 BF 00 04 */ lwz r5, 4(r31)
/* 8029D63C 0029A59C 38 61 00 18 */ addi r3, r1, 0x18
/* 8029D640 0029A5A0 38 80 FF FF */ li r4, -1
/* 8029D644 0029A5A4 38 05 00 01 */ addi r0, r5, 1
/* 8029D648 0029A5A8 90 1F 00 04 */ stw r0, 4(r31)
/* 8029D64C 0029A5AC 48 0A 37 F5 */ bl __dt__6CTokenFv
/* 8029D650 0029A5B0 3B BD 00 01 */ addi r29, r29, 1
/* 8029D654 0029A5B4 3B DE 00 04 */ addi r30, r30, 4
/* 8029D658 0029A5B8 2C 1D 00 0C */ cmpwi r29, 0xc
/* 8029D65C 0029A5BC 41 80 FF 5C */ blt lbl_8029D5B8
/* 8029D660 0029A5C0 80 01 00 94 */ lwz r0, 0x94(r1)
/* 8029D664 0029A5C4 7F E3 FB 78 */ mr r3, r31
/* 8029D668 0029A5C8 83 E1 00 8C */ lwz r31, 0x8c(r1)
/* 8029D66C 0029A5CC 83 C1 00 88 */ lwz r30, 0x88(r1)
/* 8029D670 0029A5D0 83 A1 00 84 */ lwz r29, 0x84(r1)
/* 8029D674 0029A5D4 7C 08 03 A6 */ mtlr r0
/* 8029D678 0029A5D8 38 21 00 90 */ addi r1, r1, 0x90
/* 8029D67C 0029A5DC 4E 80 00 20 */ blr
.global __sinit_CArtifactDoll_cpp
__sinit_CArtifactDoll_cpp:
/* 8029D680 0029A5E0 39 40 00 FF */ li r10, 0xff
/* 8029D684 0029A5E4 39 0D A5 B0 */ addi r8, r13, lbl_805A9170@sda21
/* 8029D688 0029A5E8 39 20 00 A0 */ li r9, 0xa0
/* 8029D68C 0029A5EC 38 E0 00 05 */ li r7, 5
/* 8029D690 0029A5F0 38 C0 00 67 */ li r6, 0x67
/* 8029D694 0029A5F4 38 A0 00 AE */ li r5, 0xae
/* 8029D698 0029A5F8 38 8D A5 B4 */ addi r4, r13, lbl_805A9174@sda21
/* 8029D69C 0029A5FC 38 60 00 E1 */ li r3, 0xe1
/* 8029D6A0 0029A600 38 00 00 CD */ li r0, 0xcd
/* 8029D6A4 0029A604 99 4D A5 B0 */ stb r10, lbl_805A9170@sda21(r13)
/* 8029D6A8 0029A608 99 28 00 01 */ stb r9, 1(r8)
/* 8029D6AC 0029A60C 98 E8 00 02 */ stb r7, 2(r8)
/* 8029D6B0 0029A610 99 48 00 03 */ stb r10, 3(r8)
/* 8029D6B4 0029A614 98 CD A5 B4 */ stb r6, lbl_805A9174@sda21(r13)
/* 8029D6B8 0029A618 98 A4 00 01 */ stb r5, 1(r4)
/* 8029D6BC 0029A61C 98 64 00 02 */ stb r3, 2(r4)
/* 8029D6C0 0029A620 98 04 00 03 */ stb r0, 3(r4)
/* 8029D6C4 0029A624 4E 80 00 20 */ blr
.section .sdata2, "a"
.balign 8
.global lbl_805ADD60
lbl_805ADD60:
# ROM: 0x3FA600
.4byte 0x425C0000
.global lbl_805ADD64
lbl_805ADD64:
# ROM: 0x3FA604
.float 0.2
.global lbl_805ADD68
lbl_805ADD68:
# ROM: 0x3FA608
.4byte 0x45800000
.global lbl_805ADD6C
lbl_805ADD6C:
# ROM: 0x3FA60C
.4byte 0
.global lbl_805ADD70
lbl_805ADD70:
# ROM: 0x3FA610
.4byte 0xC1200000
.global lbl_805ADD74
lbl_805ADD74:
# ROM: 0x3FA614
.float 0.25
.global lbl_805ADD78
lbl_805ADD78:
# ROM: 0x3FA618
.float 2.0
.global lbl_805ADD7C
lbl_805ADD7C:
# ROM: 0x3FA61C
.4byte 0x40490FDB
.global lbl_805ADD80
lbl_805ADD80:
# ROM: 0x3FA620
.float 8.0
.global lbl_805ADD84
lbl_805ADD84:
# ROM: 0x3FA624
.4byte 0x3FC90FDB
.global lbl_805ADD88
lbl_805ADD88:
# ROM: 0x3FA628
.float 0.017453292
.global lbl_805ADD8C
lbl_805ADD8C:
# ROM: 0x3FA62C
.float 0.5
.global lbl_805ADD90
lbl_805ADD90:
# ROM: 0x3FA630
.float 1.0
.global lbl_805ADD94
lbl_805ADD94:
# ROM: 0x3FA634
.float 1.25
.global lbl_805ADD98
lbl_805ADD98:
# ROM: 0x3FA638
.double 4.503601774854144E15
.global lbl_805ADDA0
lbl_805ADDA0:
# ROM: 0x3FA640
.4byte 0x43300000
.4byte 0
.global lbl_805ADDA8
lbl_805ADDA8:
# ROM: 0x3FA648
.4byte 0x3727C5AC
.global lbl_805ADDAC
lbl_805ADDAC:
# ROM: 0x3FA64C
.float 0.1
.section .rodata
.balign 8
.global lbl_803D5D50
lbl_803D5D50:
# ROM: 0x3D2D50
.4byte 0x803D5DB0
.4byte 0x803D5DBC
.4byte 0x803D5DC8
.4byte 0x803D5DD4
.4byte 0x803D5DE0
.4byte 0x803D5DEC
.4byte 0x803D5DF8
.4byte 0x803D5E04
.4byte 0x803D5E10
.4byte 0x803D5E1C
.4byte 0x803D5E29
.4byte 0x803D5E36
.global lbl_803D5D80
lbl_803D5D80:
# ROM: 0x3D2D80
.4byte 0x32C9DDCE
.4byte 0xB45DAF60
.4byte 0x7F017CC5
.4byte 0x62044C7D
.4byte 0xA9589FD8
.4byte 0x2FCCED76
.4byte 0xE4903ED3
.4byte 0x15C68C06
.4byte 0xDE9A5FA3
.4byte 0xFBBE9D9A
.4byte 0x30E24E3F
.4byte 0xB6763C91
.global lbl_803D5DB0
lbl_803D5DB0:
# ROM: 0x3D2DB0
.asciz "CMDL_Piece1"
.asciz "CMDL_Piece2"
.asciz "CMDL_Piece3"
.asciz "CMDL_Piece4"
.asciz "CMDL_Piece5"
.asciz "CMDL_Piece6"
.asciz "CMDL_Piece7"
.asciz "CMDL_Piece8"
.asciz "CMDL_Piece9"
.asciz "CMDL_Piece10"
.byte 0x43, 0x4D, 0x44
.asciz "L_Piece11"
.byte 0x43, 0x4D
.asciz "DL_Piece12"
.byte 0x3F
.asciz "?(??)"
.balign 4
.4byte 0