prime/asm/Kyoto_CWD/CArchMsgParmControllerStatus.s

545 lines
28 KiB
ArmAsm
Raw Normal View History

.include "macros.inc"
.section .text, "ax"
.global __dt__28CArchMsgParmControllerStatusFv
__dt__28CArchMsgParmControllerStatusFv:
/* 8005A090 00056FF0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8005A094 00056FF4 7C 08 02 A6 */ mflr r0
/* 8005A098 00056FF8 90 01 00 14 */ stw r0, 0x14(r1)
/* 8005A09C 00056FFC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8005A0A0 00057000 7C 7F 1B 79 */ or. r31, r3, r3
/* 8005A0A4 00057004 41 82 00 30 */ beq lbl_8005A0D4
/* 8005A0A8 00057008 3C 60 80 3E */ lis r3, lbl_803DA098@ha
/* 8005A0AC 0005700C 38 03 A0 98 */ addi r0, r3, lbl_803DA098@l
/* 8005A0B0 00057010 90 1F 00 00 */ stw r0, 0(r31)
/* 8005A0B4 00057014 41 82 00 10 */ beq lbl_8005A0C4
/* 8005A0B8 00057018 3C 60 80 3E */ lis r3, lbl_803D8E9C@ha
/* 8005A0BC 0005701C 38 03 8E 9C */ addi r0, r3, lbl_803D8E9C@l
/* 8005A0C0 00057020 90 1F 00 00 */ stw r0, 0(r31)
lbl_8005A0C4:
/* 8005A0C4 00057024 7C 80 07 35 */ extsh. r0, r4
/* 8005A0C8 00057028 40 81 00 0C */ ble lbl_8005A0D4
/* 8005A0CC 0005702C 7F E3 FB 78 */ mr r3, r31
/* 8005A0D0 00057030 48 2B B8 61 */ bl Free__7CMemoryFPCv
lbl_8005A0D4:
/* 8005A0D4 00057034 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8005A0D8 00057038 7F E3 FB 78 */ mr r3, r31
/* 8005A0DC 0005703C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8005A0E0 00057040 7C 08 03 A6 */ mtlr r0
/* 8005A0E4 00057044 38 21 00 10 */ addi r1, r1, 0x10
/* 8005A0E8 00057048 4E 80 00 20 */ blr
.global __ct__28CArchMsgParmControllerStatusFsb
__ct__28CArchMsgParmControllerStatusFsb:
/* 8005A0EC 0005704C 3C E0 80 3E */ lis r7, lbl_803D8E9C@ha
/* 8005A0F0 00057050 3C C0 80 3E */ lis r6, lbl_803DA098@ha
/* 8005A0F4 00057054 38 E7 8E 9C */ addi r7, r7, lbl_803D8E9C@l
/* 8005A0F8 00057058 90 E3 00 00 */ stw r7, 0(r3)
/* 8005A0FC 0005705C 38 06 A0 98 */ addi r0, r6, lbl_803DA098@l
/* 8005A100 00057060 90 03 00 00 */ stw r0, 0(r3)
/* 8005A104 00057064 B0 83 00 04 */ sth r4, 4(r3)
/* 8005A108 00057068 98 A3 00 06 */ stb r5, 6(r3)
/* 8005A10C 0005706C 4E 80 00 20 */ blr
.global Render__10CExplosionCFRC13CStateManager
Render__10CExplosionCFRC13CStateManager:
/* 8005A110 00057070 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8005A114 00057074 7C 08 02 A6 */ mflr r0
/* 8005A118 00057078 90 01 00 24 */ stw r0, 0x24(r1)
/* 8005A11C 0005707C 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8005A120 00057080 7C 9F 23 78 */ mr r31, r4
/* 8005A124 00057084 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8005A128 00057088 7C 7E 1B 78 */ mr r30, r3
/* 8005A12C 0005708C 80 04 0F 34 */ lwz r0, 0xf34(r4)
/* 8005A130 00057090 2C 00 00 00 */ cmpwi r0, 0
/* 8005A134 00057094 40 82 00 48 */ bne lbl_8005A17C
/* 8005A138 00057098 88 1E 00 F4 */ lbz r0, 0xf4(r30)
/* 8005A13C 0005709C 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 8005A140 000570A0 41 82 00 3C */ beq lbl_8005A17C
/* 8005A144 000570A4 38 00 00 01 */ li r0, 1
/* 8005A148 000570A8 38 60 00 01 */ li r3, 1
/* 8005A14C 000570AC 98 0D A8 B9 */ stb r0, lbl_805A9479@sda21(r13)
/* 8005A150 000570B0 48 2E B6 99 */ bl SetRenderModelBlack__10CCubeModelFb
/* 8005A154 000570B4 80 7E 00 E8 */ lwz r3, 0xe8(r30)
/* 8005A158 000570B8 81 83 00 00 */ lwz r12, 0(r3)
/* 8005A15C 000570BC 81 8C 00 10 */ lwz r12, 0x10(r12)
/* 8005A160 000570C0 7D 89 03 A6 */ mtctr r12
/* 8005A164 000570C4 4E 80 04 21 */ bctrl
/* 8005A168 000570C8 38 60 00 00 */ li r3, 0
/* 8005A16C 000570CC 48 2E B6 7D */ bl SetRenderModelBlack__10CCubeModelFb
/* 8005A170 000570D0 38 00 00 00 */ li r0, 0
/* 8005A174 000570D4 98 0D A8 B9 */ stb r0, lbl_805A9479@sda21(r13)
/* 8005A178 000570D8 48 00 00 64 */ b lbl_8005A1DC
lbl_8005A17C:
/* 8005A17C 000570DC 88 1E 00 F4 */ lbz r0, 0xf4(r30)
/* 8005A180 000570E0 54 00 CF FE */ rlwinm r0, r0, 0x19, 0x1f, 0x1f
/* 8005A184 000570E4 7C 00 00 34 */ cntlzw r0, r0
/* 8005A188 000570E8 54 00 D9 7E */ srwi r0, r0, 5
/* 8005A18C 000570EC 98 0D A8 B9 */ stb r0, lbl_805A9479@sda21(r13)
/* 8005A190 000570F0 48 2E FE 25 */ bl Black__6CColorFv
/* 8005A194 000570F4 C0 22 86 A8 */ lfs f1, lbl_805AA3C8@sda21(r2)
/* 8005A198 000570F8 7C 64 1B 78 */ mr r4, r3
/* 8005A19C 000570FC C0 42 86 AC */ lfs f2, lbl_805AA3CC@sda21(r2)
/* 8005A1A0 00057100 38 60 00 02 */ li r3, 2
/* 8005A1A4 00057104 48 2B 00 E5 */ bl SetFog__9CGraphicsF11ERglFogModeffRC6CColor
/* 8005A1A8 00057108 80 7E 00 E8 */ lwz r3, 0xe8(r30)
/* 8005A1AC 0005710C 81 83 00 00 */ lwz r12, 0(r3)
/* 8005A1B0 00057110 81 8C 00 10 */ lwz r12, 0x10(r12)
/* 8005A1B4 00057114 7D 89 03 A6 */ mtctr r12
/* 8005A1B8 00057118 4E 80 04 21 */ bctrl
/* 8005A1BC 0005711C 80 1E 00 04 */ lwz r0, 4(r30)
/* 8005A1C0 00057120 7F E3 FB 78 */ mr r3, r31
/* 8005A1C4 00057124 38 81 00 0C */ addi r4, r1, 0xc
/* 8005A1C8 00057128 90 01 00 08 */ stw r0, 8(r1)
/* 8005A1CC 0005712C 90 01 00 0C */ stw r0, 0xc(r1)
/* 8005A1D0 00057130 4B FE CB B1 */ bl SetupFogForArea__13CStateManagerCF7TAreaId
/* 8005A1D4 00057134 38 00 00 00 */ li r0, 0
/* 8005A1D8 00057138 98 0D A8 B9 */ stb r0, lbl_805A9479@sda21(r13)
lbl_8005A1DC:
/* 8005A1DC 0005713C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8005A1E0 00057140 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8005A1E4 00057144 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8005A1E8 00057148 7C 08 03 A6 */ mtlr r0
/* 8005A1EC 0005714C 38 21 00 20 */ addi r1, r1, 0x20
/* 8005A1F0 00057150 4E 80 00 20 */ blr
.global CalculateRenderBounds__10CExplosionFv
CalculateRenderBounds__10CExplosionFv:
/* 8005A1F4 00057154 94 21 FF 90 */ stwu r1, -0x70(r1)
/* 8005A1F8 00057158 7C 08 02 A6 */ mflr r0
/* 8005A1FC 0005715C 90 01 00 74 */ stw r0, 0x74(r1)
/* 8005A200 00057160 93 E1 00 6C */ stw r31, 0x6c(r1)
/* 8005A204 00057164 7C 7F 1B 78 */ mr r31, r3
/* 8005A208 00057168 38 61 00 2C */ addi r3, r1, 0x2c
/* 8005A20C 0005716C 80 9F 00 E8 */ lwz r4, 0xe8(r31)
/* 8005A210 00057170 81 84 00 00 */ lwz r12, 0(r4)
/* 8005A214 00057174 81 8C 00 5C */ lwz r12, 0x5c(r12)
/* 8005A218 00057178 7D 89 03 A6 */ mtctr r12
/* 8005A21C 0005717C 4E 80 04 21 */ bctrl
/* 8005A220 00057180 88 01 00 44 */ lbz r0, 0x44(r1)
/* 8005A224 00057184 28 00 00 00 */ cmplwi r0, 0
/* 8005A228 00057188 98 01 00 60 */ stb r0, 0x60(r1)
/* 8005A22C 0005718C 41 82 00 3C */ beq lbl_8005A268
/* 8005A230 00057190 34 61 00 48 */ addic. r3, r1, 0x48
/* 8005A234 00057194 41 82 00 34 */ beq lbl_8005A268
/* 8005A238 00057198 C0 01 00 2C */ lfs f0, 0x2c(r1)
/* 8005A23C 0005719C D0 03 00 00 */ stfs f0, 0(r3)
/* 8005A240 000571A0 C0 01 00 30 */ lfs f0, 0x30(r1)
/* 8005A244 000571A4 D0 03 00 04 */ stfs f0, 4(r3)
/* 8005A248 000571A8 C0 01 00 34 */ lfs f0, 0x34(r1)
/* 8005A24C 000571AC D0 03 00 08 */ stfs f0, 8(r3)
/* 8005A250 000571B0 C0 01 00 38 */ lfs f0, 0x38(r1)
/* 8005A254 000571B4 D0 03 00 0C */ stfs f0, 0xc(r3)
/* 8005A258 000571B8 C0 01 00 3C */ lfs f0, 0x3c(r1)
/* 8005A25C 000571BC D0 03 00 10 */ stfs f0, 0x10(r3)
/* 8005A260 000571C0 C0 01 00 40 */ lfs f0, 0x40(r1)
/* 8005A264 000571C4 D0 03 00 14 */ stfs f0, 0x14(r3)
lbl_8005A268:
/* 8005A268 000571C8 88 01 00 60 */ lbz r0, 0x60(r1)
/* 8005A26C 000571CC 38 60 00 00 */ li r3, 0
/* 8005A270 000571D0 98 61 00 44 */ stb r3, 0x44(r1)
/* 8005A274 000571D4 28 00 00 00 */ cmplwi r0, 0
/* 8005A278 000571D8 41 82 00 48 */ beq lbl_8005A2C0
/* 8005A27C 000571DC 80 81 00 48 */ lwz r4, 0x48(r1)
/* 8005A280 000571E0 38 60 00 01 */ li r3, 1
/* 8005A284 000571E4 80 01 00 4C */ lwz r0, 0x4c(r1)
/* 8005A288 000571E8 90 9F 00 9C */ stw r4, 0x9c(r31)
/* 8005A28C 000571EC 80 81 00 50 */ lwz r4, 0x50(r1)
/* 8005A290 000571F0 90 1F 00 A0 */ stw r0, 0xa0(r31)
/* 8005A294 000571F4 80 01 00 54 */ lwz r0, 0x54(r1)
/* 8005A298 000571F8 90 9F 00 A4 */ stw r4, 0xa4(r31)
/* 8005A29C 000571FC 80 81 00 58 */ lwz r4, 0x58(r1)
/* 8005A2A0 00057200 90 1F 00 A8 */ stw r0, 0xa8(r31)
/* 8005A2A4 00057204 80 01 00 5C */ lwz r0, 0x5c(r1)
/* 8005A2A8 00057208 90 9F 00 AC */ stw r4, 0xac(r31)
/* 8005A2AC 0005720C 90 1F 00 B0 */ stw r0, 0xb0(r31)
/* 8005A2B0 00057210 88 1F 00 F4 */ lbz r0, 0xf4(r31)
/* 8005A2B4 00057214 50 60 36 72 */ rlwimi r0, r3, 6, 0x19, 0x19
/* 8005A2B8 00057218 98 1F 00 F4 */ stb r0, 0xf4(r31)
/* 8005A2BC 0005721C 48 00 00 68 */ b lbl_8005A324
lbl_8005A2C0:
/* 8005A2C0 00057220 88 1F 00 F4 */ lbz r0, 0xf4(r31)
/* 8005A2C4 00057224 50 60 36 72 */ rlwimi r0, r3, 6, 0x19, 0x19
/* 8005A2C8 00057228 38 81 00 08 */ addi r4, r1, 8
/* 8005A2CC 0005722C 38 61 00 14 */ addi r3, r1, 0x14
/* 8005A2D0 00057230 98 1F 00 F4 */ stb r0, 0xf4(r31)
/* 8005A2D4 00057234 7C 85 23 78 */ mr r5, r4
/* 8005A2D8 00057238 C0 5F 00 60 */ lfs f2, 0x60(r31)
/* 8005A2DC 0005723C C0 3F 00 50 */ lfs f1, 0x50(r31)
/* 8005A2E0 00057240 C0 1F 00 40 */ lfs f0, 0x40(r31)
/* 8005A2E4 00057244 D0 01 00 08 */ stfs f0, 8(r1)
/* 8005A2E8 00057248 D0 21 00 0C */ stfs f1, 0xc(r1)
/* 8005A2EC 0005724C D0 41 00 10 */ stfs f2, 0x10(r1)
/* 8005A2F0 00057250 48 2D E2 19 */ bl __ct__6CAABoxFRC9CVector3fRC9CVector3f
/* 8005A2F4 00057254 80 61 00 14 */ lwz r3, 0x14(r1)
/* 8005A2F8 00057258 80 01 00 18 */ lwz r0, 0x18(r1)
/* 8005A2FC 0005725C 90 7F 00 9C */ stw r3, 0x9c(r31)
/* 8005A300 00057260 90 1F 00 A0 */ stw r0, 0xa0(r31)
/* 8005A304 00057264 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 8005A308 00057268 90 1F 00 A4 */ stw r0, 0xa4(r31)
/* 8005A30C 0005726C 80 61 00 20 */ lwz r3, 0x20(r1)
/* 8005A310 00057270 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8005A314 00057274 90 7F 00 A8 */ stw r3, 0xa8(r31)
/* 8005A318 00057278 90 1F 00 AC */ stw r0, 0xac(r31)
/* 8005A31C 0005727C 80 01 00 28 */ lwz r0, 0x28(r1)
/* 8005A320 00057280 90 1F 00 B0 */ stw r0, 0xb0(r31)
lbl_8005A324:
/* 8005A324 00057284 38 00 00 00 */ li r0, 0
/* 8005A328 00057288 83 E1 00 6C */ lwz r31, 0x6c(r1)
/* 8005A32C 0005728C 98 01 00 60 */ stb r0, 0x60(r1)
/* 8005A330 00057290 80 01 00 74 */ lwz r0, 0x74(r1)
/* 8005A334 00057294 7C 08 03 A6 */ mtlr r0
/* 8005A338 00057298 38 21 00 70 */ addi r1, r1, 0x70
/* 8005A33C 0005729C 4E 80 00 20 */ blr
.global AcceptScriptMsg__10CExplosionF20EScriptObjectMessage9TUniqueIdR13CStateManager
AcceptScriptMsg__10CExplosionF20EScriptObjectMessage9TUniqueIdR13CStateManager:
/* 8005A340 000572A0 94 21 FF 30 */ stwu r1, -0xd0(r1)
/* 8005A344 000572A4 7C 08 02 A6 */ mflr r0
/* 8005A348 000572A8 90 01 00 D4 */ stw r0, 0xd4(r1)
/* 8005A34C 000572AC BE E1 00 AC */ stmw r23, 0xac(r1)
/* 8005A350 000572B0 7C 9D 23 78 */ mr r29, r4
/* 8005A354 000572B4 2C 1D 00 22 */ cmpwi r29, 0x22
/* 8005A358 000572B8 7C 7C 1B 78 */ mr r28, r3
/* 8005A35C 000572BC 7C BE 2B 78 */ mr r30, r5
/* 8005A360 000572C0 7C DF 33 78 */ mr r31, r6
/* 8005A364 000572C4 41 82 01 44 */ beq lbl_8005A4A8
/* 8005A368 000572C8 40 80 01 6C */ bge lbl_8005A4D4
/* 8005A36C 000572CC 2C 1D 00 21 */ cmpwi r29, 0x21
/* 8005A370 000572D0 40 80 00 08 */ bge lbl_8005A378
/* 8005A374 000572D4 48 00 01 60 */ b lbl_8005A4D4
lbl_8005A378:
/* 8005A378 000572D8 80 7C 00 E8 */ lwz r3, 0xe8(r28)
/* 8005A37C 000572DC 81 83 00 00 */ lwz r12, 0(r3)
/* 8005A380 000572E0 81 8C 00 64 */ lwz r12, 0x64(r12)
/* 8005A384 000572E4 7D 89 03 A6 */ mtctr r12
/* 8005A388 000572E8 4E 80 04 21 */ bctrl
/* 8005A38C 000572EC 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 8005A390 000572F0 41 82 01 44 */ beq lbl_8005A4D4
/* 8005A394 000572F4 7F E4 FB 78 */ mr r4, r31
/* 8005A398 000572F8 38 61 00 2C */ addi r3, r1, 0x2c
/* 8005A39C 000572FC 4B FF 2D 41 */ bl AllocateUniqueId__13CStateManagerFv
/* 8005A3A0 00057300 A0 01 00 2C */ lhz r0, 0x2c(r1)
/* 8005A3A4 00057304 3C 60 80 3D */ lis r3, lbl_803CCF78@ha
/* 8005A3A8 00057308 38 83 CF 78 */ addi r4, r3, lbl_803CCF78@l
/* 8005A3AC 0005730C 3B 60 00 00 */ li r27, 0
/* 8005A3B0 00057310 B0 1C 00 EC */ sth r0, 0xec(r28)
/* 8005A3B4 00057314 3A E0 00 00 */ li r23, 0
/* 8005A3B8 00057318 38 60 01 48 */ li r3, 0x148
/* 8005A3BC 0005731C 38 A0 00 00 */ li r5, 0
/* 8005A3C0 00057320 83 1C 00 F0 */ lwz r24, 0xf0(r28)
/* 8005A3C4 00057324 48 2B B4 A9 */ bl __nw__FUlPCcPCc
/* 8005A3C8 00057328 7C 7A 1B 79 */ or. r26, r3, r3
/* 8005A3CC 0005732C 41 82 00 AC */ beq lbl_8005A478
/* 8005A3D0 00057330 A0 1C 00 08 */ lhz r0, 8(r28)
/* 8005A3D4 00057334 3C 60 80 3D */ lis r3, lbl_803CCF78@ha
/* 8005A3D8 00057338 83 3C 00 E8 */ lwz r25, 0xe8(r28)
/* 8005A3DC 0005733C 38 83 CF 78 */ addi r4, r3, lbl_803CCF78@l
/* 8005A3E0 00057340 B0 01 00 24 */ sth r0, 0x24(r1)
/* 8005A3E4 00057344 38 61 00 48 */ addi r3, r1, 0x48
/* 8005A3E8 00057348 38 84 00 07 */ addi r4, r4, 7
/* 8005A3EC 0005734C B0 01 00 28 */ sth r0, 0x28(r1)
/* 8005A3F0 00057350 4B FA A8 C9 */ bl string_l__4rstlFPCc
/* 8005A3F4 00057354 38 61 00 38 */ addi r3, r1, 0x38
/* 8005A3F8 00057358 38 81 00 48 */ addi r4, r1, 0x48
/* 8005A3FC 0005735C 38 BC 00 10 */ addi r5, r28, 0x10
/* 8005A400 00057360 3B 60 00 01 */ li r27, 1
/* 8005A404 00057364 4B FA A8 59 */ bl "__pl__4rstlFRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>RCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>"
/* 8005A408 00057368 88 1C 00 30 */ lbz r0, 0x30(r28)
/* 8005A40C 0005736C 7F 24 CB 78 */ mr r4, r25
/* 8005A410 00057370 80 BC 00 04 */ lwz r5, 4(r28)
/* 8005A414 00057374 38 61 00 58 */ addi r3, r1, 0x58
/* 8005A418 00057378 54 19 CF FE */ rlwinm r25, r0, 0x19, 0x1f, 0x1f
/* 8005A41C 0005737C 3A E0 00 01 */ li r23, 1
/* 8005A420 00057380 90 A1 00 34 */ stw r5, 0x34(r1)
/* 8005A424 00057384 A0 1C 00 EC */ lhz r0, 0xec(r28)
/* 8005A428 00057388 90 A1 00 30 */ stw r5, 0x30(r1)
/* 8005A42C 0005738C B0 01 00 20 */ sth r0, 0x20(r1)
/* 8005A430 00057390 81 84 00 00 */ lwz r12, 0(r4)
/* 8005A434 00057394 81 8C 00 68 */ lwz r12, 0x68(r12)
/* 8005A438 00057398 7D 89 03 A6 */ mtctr r12
/* 8005A43C 0005739C 4E 80 04 21 */ bctrl
/* 8005A440 000573A0 93 01 00 08 */ stw r24, 8(r1)
/* 8005A444 000573A4 38 00 00 01 */ li r0, 1
/* 8005A448 000573A8 C0 22 86 A8 */ lfs f1, lbl_805AA3C8@sda21(r2)
/* 8005A44C 000573AC 7F 43 D3 78 */ mr r3, r26
/* 8005A450 000573B0 90 01 00 0C */ stw r0, 0xc(r1)
/* 8005A454 000573B4 7F 26 CB 78 */ mr r6, r25
/* 8005A458 000573B8 38 81 00 20 */ addi r4, r1, 0x20
/* 8005A45C 000573BC 38 A1 00 34 */ addi r5, r1, 0x34
/* 8005A460 000573C0 38 E1 00 38 */ addi r7, r1, 0x38
/* 8005A464 000573C4 39 1C 00 34 */ addi r8, r28, 0x34
/* 8005A468 000573C8 39 21 00 28 */ addi r9, r1, 0x28
/* 8005A46C 000573CC 39 41 00 58 */ addi r10, r1, 0x58
/* 8005A470 000573D0 48 05 B3 B5 */ bl "__ct__10CGameLightF9TUniqueIdbRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>RC12CTransform4f9TUniqueIdRC6CLightUiUif"
/* 8005A474 000573D4 7C 7A 1B 78 */ mr r26, r3
lbl_8005A478:
/* 8005A478 000573D8 7F E3 FB 78 */ mr r3, r31
/* 8005A47C 000573DC 7F 44 D3 78 */ mr r4, r26
/* 8005A480 000573E0 4B FF 28 75 */ bl AddObject__13CStateManagerFP7CEntityQ213CStateManager18EScriptPersistence
/* 8005A484 000573E4 7E E0 07 75 */ extsb. r0, r23
/* 8005A488 000573E8 41 82 00 0C */ beq lbl_8005A494
/* 8005A48C 000573EC 38 61 00 38 */ addi r3, r1, 0x38
/* 8005A490 000573F0 48 2E 36 51 */ bl "internal_dereference__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Fv"
lbl_8005A494:
/* 8005A494 000573F4 7F 60 07 75 */ extsb. r0, r27
/* 8005A498 000573F8 41 82 00 3C */ beq lbl_8005A4D4
/* 8005A49C 000573FC 38 61 00 48 */ addi r3, r1, 0x48
/* 8005A4A0 00057400 48 2E 36 41 */ bl "internal_dereference__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Fv"
/* 8005A4A4 00057404 48 00 00 30 */ b lbl_8005A4D4
lbl_8005A4A8:
/* 8005A4A8 00057408 A0 7C 00 EC */ lhz r3, 0xec(r28)
/* 8005A4AC 0005740C A0 0D A3 8C */ lhz r0, lbl_805A8F4C@sda21(r13)
/* 8005A4B0 00057410 7C 03 00 40 */ cmplw r3, r0
/* 8005A4B4 00057414 41 82 00 20 */ beq lbl_8005A4D4
/* 8005A4B8 00057418 A0 1C 00 EC */ lhz r0, 0xec(r28)
/* 8005A4BC 0005741C 7F E3 FB 78 */ mr r3, r31
/* 8005A4C0 00057420 38 81 00 1C */ addi r4, r1, 0x1c
/* 8005A4C4 00057424 B0 01 00 1C */ sth r0, 0x1c(r1)
/* 8005A4C8 00057428 4B FF 1D A5 */ bl FreeScriptObject__13CStateManagerF9TUniqueId
/* 8005A4CC 0005742C A0 0D A3 8C */ lhz r0, lbl_805A8F4C@sda21(r13)
/* 8005A4D0 00057430 B0 1C 00 EC */ sth r0, 0xec(r28)
lbl_8005A4D4:
/* 8005A4D4 00057434 A0 1E 00 00 */ lhz r0, 0(r30)
/* 8005A4D8 00057438 7F 83 E3 78 */ mr r3, r28
/* 8005A4DC 0005743C 7F A4 EB 78 */ mr r4, r29
/* 8005A4E0 00057440 7F E6 FB 78 */ mr r6, r31
/* 8005A4E4 00057444 B0 01 00 18 */ sth r0, 0x18(r1)
/* 8005A4E8 00057448 38 A1 00 18 */ addi r5, r1, 0x18
/* 8005A4EC 0005744C 4B FF 91 29 */ bl AcceptScriptMsg__6CActorF20EScriptObjectMessage9TUniqueIdR13CStateManager
/* 8005A4F0 00057450 A0 7C 00 EC */ lhz r3, 0xec(r28)
/* 8005A4F4 00057454 A0 0D A3 8C */ lhz r0, lbl_805A8F4C@sda21(r13)
/* 8005A4F8 00057458 7C 03 00 40 */ cmplw r3, r0
/* 8005A4FC 0005745C 41 82 00 28 */ beq lbl_8005A524
/* 8005A500 00057460 A0 1E 00 00 */ lhz r0, 0(r30)
/* 8005A504 00057464 7F E3 FB 78 */ mr r3, r31
/* 8005A508 00057468 7F A6 EB 78 */ mr r6, r29
/* 8005A50C 0005746C 38 81 00 14 */ addi r4, r1, 0x14
/* 8005A510 00057470 B0 01 00 10 */ sth r0, 0x10(r1)
/* 8005A514 00057474 38 A1 00 10 */ addi r5, r1, 0x10
/* 8005A518 00057478 A0 1C 00 EC */ lhz r0, 0xec(r28)
/* 8005A51C 0005747C B0 01 00 14 */ sth r0, 0x14(r1)
/* 8005A520 00057480 4B FE 99 35 */ bl SendScriptMsgAlways__13CStateManagerF9TUniqueId
lbl_8005A524:
/* 8005A524 00057484 BA E1 00 AC */ lmw r23, 0xac(r1)
/* 8005A528 00057488 80 01 00 D4 */ lwz r0, 0xd4(r1)
/* 8005A52C 0005748C 7C 08 03 A6 */ mtlr r0
/* 8005A530 00057490 38 21 00 D0 */ addi r1, r1, 0xd0
/* 8005A534 00057494 4E 80 00 20 */ blr
.global Accept__10CExplosionFR8IVisitor
Accept__10CExplosionFR8IVisitor:
/* 8005A538 00057498 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8005A53C 0005749C 7C 08 02 A6 */ mflr r0
/* 8005A540 000574A0 90 01 00 14 */ stw r0, 0x14(r1)
/* 8005A544 000574A4 7C 60 1B 78 */ mr r0, r3
/* 8005A548 000574A8 7C 83 23 78 */ mr r3, r4
/* 8005A54C 000574AC 81 84 00 00 */ lwz r12, 0(r4)
/* 8005A550 000574B0 7C 04 03 78 */ mr r4, r0
/* 8005A554 000574B4 81 8C 00 28 */ lwz r12, 0x28(r12)
/* 8005A558 000574B8 7D 89 03 A6 */ mtctr r12
/* 8005A55C 000574BC 4E 80 04 21 */ bctrl
/* 8005A560 000574C0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8005A564 000574C4 7C 08 03 A6 */ mtlr r0
/* 8005A568 000574C8 38 21 00 10 */ addi r1, r1, 0x10
/* 8005A56C 000574CC 4E 80 00 20 */ blr
.global Think__10CExplosionFfR13CStateManager
Think__10CExplosionFfR13CStateManager:
/* 8005A570 000574D0 94 21 FF 30 */ stwu r1, -0xd0(r1)
/* 8005A574 000574D4 7C 08 02 A6 */ mflr r0
/* 8005A578 000574D8 90 01 00 D4 */ stw r0, 0xd4(r1)
/* 8005A57C 000574DC DB E1 00 C0 */ stfd f31, 0xc0(r1)
/* 8005A580 000574E0 F3 E1 00 C8 */ psq_st f31, 200(r1), 0, qr0
/* 8005A584 000574E4 93 E1 00 BC */ stw r31, 0xbc(r1)
/* 8005A588 000574E8 93 C1 00 B8 */ stw r30, 0xb8(r1)
/* 8005A58C 000574EC 93 A1 00 B4 */ stw r29, 0xb4(r1)
/* 8005A590 000574F0 88 03 00 E4 */ lbz r0, 0xe4(r3)
/* 8005A594 000574F4 FF E0 08 90 */ fmr f31, f1
/* 8005A598 000574F8 7C 7D 1B 78 */ mr r29, r3
/* 8005A59C 000574FC 7C 9E 23 78 */ mr r30, r4
/* 8005A5A0 00057500 54 00 EF FF */ rlwinm. r0, r0, 0x1d, 0x1f, 0x1f
/* 8005A5A4 00057504 41 82 00 6C */ beq lbl_8005A610
/* 8005A5A8 00057508 C0 5D 00 60 */ lfs f2, 0x60(r29)
/* 8005A5AC 0005750C 38 81 00 24 */ addi r4, r1, 0x24
/* 8005A5B0 00057510 C0 3D 00 50 */ lfs f1, 0x50(r29)
/* 8005A5B4 00057514 C0 1D 00 40 */ lfs f0, 0x40(r29)
/* 8005A5B8 00057518 D0 01 00 24 */ stfs f0, 0x24(r1)
/* 8005A5BC 0005751C D0 21 00 28 */ stfs f1, 0x28(r1)
/* 8005A5C0 00057520 D0 41 00 2C */ stfs f2, 0x2c(r1)
/* 8005A5C4 00057524 80 7D 00 E8 */ lwz r3, 0xe8(r29)
/* 8005A5C8 00057528 81 83 00 00 */ lwz r12, 0(r3)
/* 8005A5CC 0005752C 81 8C 00 20 */ lwz r12, 0x20(r12)
/* 8005A5D0 00057530 7D 89 03 A6 */ mtctr r12
/* 8005A5D4 00057534 4E 80 04 21 */ bctrl
/* 8005A5D8 00057538 83 FD 00 E8 */ lwz r31, 0xe8(r29)
/* 8005A5DC 0005753C 38 61 00 30 */ addi r3, r1, 0x30
/* 8005A5E0 00057540 38 9D 00 34 */ addi r4, r29, 0x34
/* 8005A5E4 00057544 48 2B 86 5D */ bl GetRotation__12CTransform4fCFv
/* 8005A5E8 00057548 7F E3 FB 78 */ mr r3, r31
/* 8005A5EC 0005754C 38 81 00 30 */ addi r4, r1, 0x30
/* 8005A5F0 00057550 81 9F 00 00 */ lwz r12, 0(r31)
/* 8005A5F4 00057554 81 8C 00 14 */ lwz r12, 0x14(r12)
/* 8005A5F8 00057558 7D 89 03 A6 */ mtctr r12
/* 8005A5FC 0005755C 4E 80 04 21 */ bctrl
/* 8005A600 00057560 88 1D 00 E4 */ lbz r0, 0xe4(r29)
/* 8005A604 00057564 38 60 00 00 */ li r3, 0
/* 8005A608 00057568 50 60 1F 38 */ rlwimi r0, r3, 3, 0x1c, 0x1c
/* 8005A60C 0005756C 98 1D 00 E4 */ stb r0, 0xe4(r29)
lbl_8005A610:
/* 8005A610 00057570 80 7D 00 E8 */ lwz r3, 0xe8(r29)
/* 8005A614 00057574 FC 20 F8 90 */ fmr f1, f31
/* 8005A618 00057578 81 83 00 00 */ lwz r12, 0(r3)
/* 8005A61C 0005757C 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 8005A620 00057580 7D 89 03 A6 */ mtctr r12
/* 8005A624 00057584 4E 80 04 21 */ bctrl
/* 8005A628 00057588 A0 7D 00 EC */ lhz r3, 0xec(r29)
/* 8005A62C 0005758C A0 0D A3 8C */ lhz r0, lbl_805A8F4C@sda21(r13)
/* 8005A630 00057590 7C 03 00 40 */ cmplw r3, r0
/* 8005A634 00057594 41 82 00 60 */ beq lbl_8005A694
/* 8005A638 00057598 A0 1D 00 EC */ lhz r0, 0xec(r29)
/* 8005A63C 0005759C 7F C3 F3 78 */ mr r3, r30
/* 8005A640 000575A0 38 81 00 18 */ addi r4, r1, 0x18
/* 8005A644 000575A4 B0 01 00 18 */ sth r0, 0x18(r1)
/* 8005A648 000575A8 4B FF 1F 2D */ bl ObjectById__13CStateManagerF9TUniqueId
/* 8005A64C 000575AC 7C 64 1B 78 */ mr r4, r3
/* 8005A650 000575B0 38 61 00 1C */ addi r3, r1, 0x1c
/* 8005A654 000575B4 48 05 34 31 */ bl "__ct__24TCastToPtr<10CGameLight>FP7CEntity"
/* 8005A658 000575B8 83 E3 00 04 */ lwz r31, 4(r3)
/* 8005A65C 000575BC 28 1F 00 00 */ cmplwi r31, 0
/* 8005A660 000575C0 41 82 00 34 */ beq lbl_8005A694
/* 8005A664 000575C4 88 1D 00 30 */ lbz r0, 0x30(r29)
/* 8005A668 000575C8 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 8005A66C 000575CC 41 82 00 28 */ beq lbl_8005A694
/* 8005A670 000575D0 80 9D 00 E8 */ lwz r4, 0xe8(r29)
/* 8005A674 000575D4 38 61 00 60 */ addi r3, r1, 0x60
/* 8005A678 000575D8 81 84 00 00 */ lwz r12, 0(r4)
/* 8005A67C 000575DC 81 8C 00 68 */ lwz r12, 0x68(r12)
/* 8005A680 000575E0 7D 89 03 A6 */ mtctr r12
/* 8005A684 000575E4 4E 80 04 21 */ bctrl
/* 8005A688 000575E8 7F E3 FB 78 */ mr r3, r31
/* 8005A68C 000575EC 38 81 00 60 */ addi r4, r1, 0x60
/* 8005A690 000575F0 48 05 B0 B5 */ bl SetLight__10CGameLightFRC6CLight
lbl_8005A694:
/* 8005A694 000575F4 C0 3D 00 F8 */ lfs f1, 0xf8(r29)
/* 8005A698 000575F8 C0 02 86 B0 */ lfs f0, lbl_805AA3D0@sda21(r2)
/* 8005A69C 000575FC EC 21 F8 2A */ fadds f1, f1, f31
/* 8005A6A0 00057600 D0 3D 00 F8 */ stfs f1, 0xf8(r29)
/* 8005A6A4 00057604 C0 3D 00 F8 */ lfs f1, 0xf8(r29)
/* 8005A6A8 00057608 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8005A6AC 0005760C 40 81 00 20 */ ble lbl_8005A6CC
/* 8005A6B0 00057610 A0 1D 00 08 */ lhz r0, 8(r29)
/* 8005A6B4 00057614 7F C3 F3 78 */ mr r3, r30
/* 8005A6B8 00057618 38 81 00 14 */ addi r4, r1, 0x14
/* 8005A6BC 0005761C B0 01 00 10 */ sth r0, 0x10(r1)
/* 8005A6C0 00057620 B0 01 00 14 */ sth r0, 0x14(r1)
/* 8005A6C4 00057624 4B FF 1B A9 */ bl FreeScriptObject__13CStateManagerF9TUniqueId
/* 8005A6C8 00057628 48 00 00 38 */ b lbl_8005A700
lbl_8005A6CC:
/* 8005A6CC 0005762C 80 7D 00 E8 */ lwz r3, 0xe8(r29)
/* 8005A6D0 00057630 81 83 00 00 */ lwz r12, 0(r3)
/* 8005A6D4 00057634 81 8C 00 58 */ lwz r12, 0x58(r12)
/* 8005A6D8 00057638 7D 89 03 A6 */ mtctr r12
/* 8005A6DC 0005763C 4E 80 04 21 */ bctrl
/* 8005A6E0 00057640 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 8005A6E4 00057644 41 82 00 1C */ beq lbl_8005A700
/* 8005A6E8 00057648 A0 1D 00 08 */ lhz r0, 8(r29)
/* 8005A6EC 0005764C 7F C3 F3 78 */ mr r3, r30
/* 8005A6F0 00057650 38 81 00 0C */ addi r4, r1, 0xc
/* 8005A6F4 00057654 B0 01 00 08 */ sth r0, 8(r1)
/* 8005A6F8 00057658 B0 01 00 0C */ sth r0, 0xc(r1)
/* 8005A6FC 0005765C 4B FF 1B 71 */ bl FreeScriptObject__13CStateManagerF9TUniqueId
lbl_8005A700:
/* 8005A700 00057660 E3 E1 00 C8 */ psq_l f31, 200(r1), 0, qr0
/* 8005A704 00057664 80 01 00 D4 */ lwz r0, 0xd4(r1)
/* 8005A708 00057668 CB E1 00 C0 */ lfd f31, 0xc0(r1)
/* 8005A70C 0005766C 83 E1 00 BC */ lwz r31, 0xbc(r1)
/* 8005A710 00057670 83 C1 00 B8 */ lwz r30, 0xb8(r1)
/* 8005A714 00057674 83 A1 00 B4 */ lwz r29, 0xb4(r1)
/* 8005A718 00057678 7C 08 03 A6 */ mtlr r0
/* 8005A71C 0005767C 38 21 00 D0 */ addi r1, r1, 0xd0
/* 8005A720 00057680 4E 80 00 20 */ blr
.global PreRender__10CExplosionFR13CStateManagerRC14CFrustumPlanes
PreRender__10CExplosionFR13CStateManagerRC14CFrustumPlanes:
/* 8005A724 00057684 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8005A728 00057688 7C 08 02 A6 */ mflr r0
/* 8005A72C 0005768C 90 01 00 24 */ stw r0, 0x24(r1)
/* 8005A730 00057690 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8005A734 00057694 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8005A738 00057698 7C BE 2B 78 */ mr r30, r5
/* 8005A73C 0005769C 93 A1 00 14 */ stw r29, 0x14(r1)
/* 8005A740 000576A0 7C 7D 1B 78 */ mr r29, r3
/* 8005A744 000576A4 4B FF A5 9D */ bl PreRender__6CActorFR13CStateManagerRC14CFrustumPlanes
/* 8005A748 000576A8 88 1D 00 F4 */ lbz r0, 0xf4(r29)
/* 8005A74C 000576AC 3B E0 00 00 */ li r31, 0
/* 8005A750 000576B0 54 00 D7 FF */ rlwinm. r0, r0, 0x1a, 0x1f, 0x1f
/* 8005A754 000576B4 41 82 00 18 */ beq lbl_8005A76C
/* 8005A758 000576B8 7F C3 F3 78 */ mr r3, r30
/* 8005A75C 000576BC 38 9D 00 9C */ addi r4, r29, 0x9c
/* 8005A760 000576C0 48 2E AA 71 */ bl BoxInFrustumPlanes__14CFrustumPlanesCFRC6CAABox
/* 8005A764 000576C4 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 8005A768 000576C8 40 82 00 08 */ bne lbl_8005A770
lbl_8005A76C:
/* 8005A76C 000576CC 3B E0 00 01 */ li r31, 1
lbl_8005A770:
/* 8005A770 000576D0 88 1D 00 E4 */ lbz r0, 0xe4(r29)
/* 8005A774 000576D4 53 E0 0F BC */ rlwimi r0, r31, 1, 0x1e, 0x1e
/* 8005A778 000576D8 98 1D 00 E4 */ stb r0, 0xe4(r29)
/* 8005A77C 000576DC 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8005A780 000576E0 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8005A784 000576E4 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8005A788 000576E8 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 8005A78C 000576EC 7C 08 03 A6 */ mtlr r0
/* 8005A790 000576F0 38 21 00 20 */ addi r1, r1, 0x20
/* 8005A794 000576F4 4E 80 00 20 */ blr
.global AddToRenderer__10CExplosionCFRC14CFrustumPlanesRC13CStateManager
AddToRenderer__10CExplosionCFRC14CFrustumPlanesRC13CStateManager:
/* 8005A798 000576F8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8005A79C 000576FC 7C 08 02 A6 */ mflr r0
/* 8005A7A0 00057700 90 01 00 14 */ stw r0, 0x14(r1)
/* 8005A7A4 00057704 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8005A7A8 00057708 7C BF 2B 78 */ mr r31, r5
/* 8005A7AC 0005770C 93 C1 00 08 */ stw r30, 8(r1)
/* 8005A7B0 00057710 7C 7E 1B 78 */ mr r30, r3
/* 8005A7B4 00057714 88 03 00 E4 */ lbz r0, 0xe4(r3)
/* 8005A7B8 00057718 54 00 FF FF */ rlwinm. r0, r0, 0x1f, 0x1f, 0x1f
/* 8005A7BC 0005771C 40 82 00 68 */ bne lbl_8005A824
/* 8005A7C0 00057720 88 1E 00 F4 */ lbz r0, 0xf4(r30)
/* 8005A7C4 00057724 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 8005A7C8 00057728 41 82 00 10 */ beq lbl_8005A7D8
/* 8005A7CC 0005772C 80 1F 0F 34 */ lwz r0, 0xf34(r31)
/* 8005A7D0 00057730 2C 00 00 00 */ cmpwi r0, 0
/* 8005A7D4 00057734 41 82 00 28 */ beq lbl_8005A7FC
lbl_8005A7D8:
/* 8005A7D8 00057738 88 1E 00 F4 */ lbz r0, 0xf4(r30)
/* 8005A7DC 0005773C 54 00 DF FF */ rlwinm. r0, r0, 0x1b, 0x1f, 0x1f
/* 8005A7E0 00057740 41 82 00 2C */ beq lbl_8005A80C
/* 8005A7E4 00057744 80 7F 08 B8 */ lwz r3, 0x8b8(r31)
/* 8005A7E8 00057748 7F E4 FB 78 */ mr r4, r31
/* 8005A7EC 0005774C 80 63 00 00 */ lwz r3, 0(r3)
/* 8005A7F0 00057750 48 03 6D 69 */ bl GetActiveVisor__12CPlayerStateCFRC13CStateManager
/* 8005A7F4 00057754 2C 03 00 01 */ cmpwi r3, 1
/* 8005A7F8 00057758 40 82 00 14 */ bne lbl_8005A80C
lbl_8005A7FC:
/* 8005A7FC 0005775C 7F C3 F3 78 */ mr r3, r30
/* 8005A800 00057760 7F E4 FB 78 */ mr r4, r31
/* 8005A804 00057764 4B FF A1 C9 */ bl EnsureRendered__6CActorCFRC13CStateManager
/* 8005A808 00057768 48 00 00 1C */ b lbl_8005A824
lbl_8005A80C:
/* 8005A80C 0005776C 80 6D A0 68 */ lwz r3, gpRender@sda21(r13)
/* 8005A810 00057770 80 9E 00 E8 */ lwz r4, 0xe8(r30)
/* 8005A814 00057774 81 83 00 00 */ lwz r12, 0(r3)
/* 8005A818 00057778 81 8C 00 34 */ lwz r12, 0x34(r12)
/* 8005A81C 0005777C 7D 89 03 A6 */ mtctr r12
/* 8005A820 00057780 4E 80 04 21 */ bctrl
lbl_8005A824:
/* 8005A824 00057784 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8005A828 00057788 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8005A82C 0005778C 83 C1 00 08 */ lwz r30, 8(r1)
/* 8005A830 00057790 7C 08 03 A6 */ mtlr r0
/* 8005A834 00057794 38 21 00 10 */ addi r1, r1, 0x10
/* 8005A838 00057798 4E 80 00 20 */ blr