.include "macros.inc" .section .data .global lbl_803DA0A8 lbl_803DA0A8: # ROM: 0x3D70A8 .4byte 0 .4byte 0 .4byte __dt__10CExplosionFv .4byte Accept__10CExplosionFR8IVisitor .4byte PreThink__7CEntityFfR13CStateManager .4byte Think__10CExplosionFfR13CStateManager .4byte AcceptScriptMsg__10CExplosionF20EScriptObjectMessage9TUniqueIdR13CStateManager .4byte SetActive__6CActorFb .4byte PreRender__10CExplosionFR13CStateManagerRC14CFrustumPlanes .4byte AddToRenderer__10CExplosionCFRC14CFrustumPlanesRC13CStateManager .4byte Render__10CExplosionCFRC13CStateManager .4byte CanRenderUnsorted__6CActorCFRC13CStateManager .4byte CalculateRenderBounds__10CExplosionFv .4byte HealthInfo__6CActorFR13CStateManager .4byte GetDamageVulnerability__6CActorCFv .4byte GetDamageVulnerability__6CActorCFRC9CVector3fRC9CVector3fRC11CDamageInfo .4byte GetTouchBounds__6CActorCFv .4byte Touch__6CActorFR6CActorR13CStateManager .4byte GetOrbitPosition__6CActorCFRC13CStateManager .4byte GetAimPosition__6CActorCFRC13CStateManagerf .4byte GetHomingPosition__6CActorCFRC13CStateManagerf .4byte GetScanObjectIndicatorPosition__6CActorCFRC13CStateManager .4byte GetCollisionResponseType__6CActorCFRC9CVector3fRC9CVector3fRC11CWeaponModei .4byte FluidFXThink__6CActorFQ26CActor11EFluidStateR12CScriptWaterR13CStateManager .4byte OnScanStateChange__6CActorFQ26CActor10EScanStateR13CStateManager .4byte GetSortingBounds__6CActorCFRC12CTransform4f .4byte DoUserAnimEvent__6CActorFR13CStateManagerRC13CInt32POINode14EUserEventType .4byte 0 .section .text, "ax" .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,Q24rstl17rmemory_allocator>RCQ24rstl66basic_string,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,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,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,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 .global __dt__10CExplosionFv __dt__10CExplosionFv: /* 8005A83C 0005779C 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8005A840 000577A0 7C 08 02 A6 */ mflr r0 /* 8005A844 000577A4 90 01 00 14 */ stw r0, 0x14(r1) /* 8005A848 000577A8 93 E1 00 0C */ stw r31, 0xc(r1) /* 8005A84C 000577AC 7C 9F 23 78 */ mr r31, r4 /* 8005A850 000577B0 93 C1 00 08 */ stw r30, 8(r1) /* 8005A854 000577B4 7C 7E 1B 79 */ or. r30, r3, r3 /* 8005A858 000577B8 41 82 00 68 */ beq lbl_8005A8C0 /* 8005A85C 000577BC 3C 60 80 3E */ lis r3, lbl_803DA0A8@ha /* 8005A860 000577C0 34 1E 00 E8 */ addic. r0, r30, 0xe8 /* 8005A864 000577C4 38 03 A0 A8 */ addi r0, r3, lbl_803DA0A8@l /* 8005A868 000577C8 90 1E 00 00 */ stw r0, 0(r30) /* 8005A86C 000577CC 41 82 00 24 */ beq lbl_8005A890 /* 8005A870 000577D0 80 7E 00 E8 */ lwz r3, 0xe8(r30) /* 8005A874 000577D4 28 03 00 00 */ cmplwi r3, 0 /* 8005A878 000577D8 41 82 00 18 */ beq lbl_8005A890 /* 8005A87C 000577DC 81 83 00 00 */ lwz r12, 0(r3) /* 8005A880 000577E0 38 80 00 01 */ li r4, 1 /* 8005A884 000577E4 81 8C 00 08 */ lwz r12, 8(r12) /* 8005A888 000577E8 7D 89 03 A6 */ mtctr r12 /* 8005A88C 000577EC 4E 80 04 21 */ bctrl lbl_8005A890: /* 8005A890 000577F0 28 1E 00 00 */ cmplwi r30, 0 /* 8005A894 000577F4 41 82 00 1C */ beq lbl_8005A8B0 /* 8005A898 000577F8 3C 80 80 3E */ lis r4, lbl_803DA118@ha /* 8005A89C 000577FC 7F C3 F3 78 */ mr r3, r30 /* 8005A8A0 00057800 38 04 A1 18 */ addi r0, r4, lbl_803DA118@l /* 8005A8A4 00057804 38 80 00 00 */ li r4, 0 /* 8005A8A8 00057808 90 1E 00 00 */ stw r0, 0(r30) /* 8005A8AC 0005780C 4B FF AE 45 */ bl __dt__6CActorFv lbl_8005A8B0: /* 8005A8B0 00057810 7F E0 07 35 */ extsh. r0, r31 /* 8005A8B4 00057814 40 81 00 0C */ ble lbl_8005A8C0 /* 8005A8B8 00057818 7F C3 F3 78 */ mr r3, r30 /* 8005A8BC 0005781C 48 2B B0 75 */ bl Free__7CMemoryFPCv lbl_8005A8C0: /* 8005A8C0 00057820 80 01 00 14 */ lwz r0, 0x14(r1) /* 8005A8C4 00057824 7F C3 F3 78 */ mr r3, r30 /* 8005A8C8 00057828 83 E1 00 0C */ lwz r31, 0xc(r1) /* 8005A8CC 0005782C 83 C1 00 08 */ lwz r30, 8(r1) /* 8005A8D0 00057830 7C 08 03 A6 */ mtlr r0 /* 8005A8D4 00057834 38 21 00 10 */ addi r1, r1, 0x10 /* 8005A8D8 00057838 4E 80 00 20 */ blr .global "__ct__10CExplosionFRC31TLockedToken<20CElectricDescription>9TUniqueIdbRC11CEntityInfoRCQ24rstl66basic_string,Q24rstl17rmemory_allocator>RC12CTransform4fUiRC9CVector3fRC6CColor" "__ct__10CExplosionFRC31TLockedToken<20CElectricDescription>9TUniqueIdbRC11CEntityInfoRCQ24rstl66basic_string,Q24rstl17rmemory_allocator>RC12CTransform4fUiRC9CVector3fRC6CColor": /* 8005A8DC 0005783C 94 21 FF 80 */ stwu r1, -0x80(r1) /* 8005A8E0 00057840 7C 08 02 A6 */ mflr r0 /* 8005A8E4 00057844 90 01 00 84 */ stw r0, 0x84(r1) /* 8005A8E8 00057848 BF 01 00 60 */ stmw r24, 0x60(r1) /* 8005A8EC 0005784C 7C 9B 23 78 */ mr r27, r4 /* 8005A8F0 00057850 7D 3C 4B 78 */ mr r28, r9 /* 8005A8F4 00057854 83 C1 00 88 */ lwz r30, 0x88(r1) /* 8005A8F8 00057858 83 E1 00 8C */ lwz r31, 0x8c(r1) /* 8005A8FC 0005785C 7C 7A 1B 78 */ mr r26, r3 /* 8005A900 00057860 7D 5D 53 78 */ mr r29, r10 /* 8005A904 00057864 38 81 00 08 */ addi r4, r1, 8 /* 8005A908 00057868 A0 05 00 00 */ lhz r0, 0(r5) /* 8005A90C 0005786C 7C E5 3B 78 */ mr r5, r7 /* 8005A910 00057870 7D 07 43 78 */ mr r7, r8 /* 8005A914 00057874 7F 88 E3 78 */ mr r8, r28 /* 8005A918 00057878 B0 01 00 08 */ sth r0, 8(r1) /* 8005A91C 0005787C 48 00 04 35 */ bl "__ct__7CEffectF9TUniqueIdRC11CEntityInfobRCQ24rstl66basic_string,Q24rstl17rmemory_allocator>RC12CTransform4f" /* 8005A920 00057880 3C 80 80 3E */ lis r4, lbl_803DA0A8@ha /* 8005A924 00057884 3C 60 80 3D */ lis r3, lbl_803CCF78@ha /* 8005A928 00057888 38 04 A0 A8 */ addi r0, r4, lbl_803DA0A8@l /* 8005A92C 0005788C 3B 00 00 00 */ li r24, 0 /* 8005A930 00057890 90 1A 00 00 */ stw r0, 0(r26) /* 8005A934 00057894 38 83 CF 78 */ addi r4, r3, lbl_803CCF78@l /* 8005A938 00057898 38 60 04 58 */ li r3, 0x458 /* 8005A93C 0005789C 38 A0 00 00 */ li r5, 0 /* 8005A940 000578A0 48 2B AF 2D */ bl __nw__FUlPCcPCc /* 8005A944 000578A4 7C 79 1B 79 */ or. r25, r3, r3 /* 8005A948 000578A8 41 82 00 24 */ beq lbl_8005A96C /* 8005A94C 000578AC 7F 64 DB 78 */ mr r4, r27 /* 8005A950 000578B0 38 61 00 14 */ addi r3, r1, 0x14 /* 8005A954 000578B4 48 2E 65 55 */ bl __ct__6CTokenFRC6CToken /* 8005A958 000578B8 7F 23 CB 78 */ mr r3, r25 /* 8005A95C 000578BC 38 81 00 14 */ addi r4, r1, 0x14 /* 8005A960 000578C0 3B 00 00 01 */ li r24, 1 /* 8005A964 000578C4 48 30 78 0D */ bl "__ct__17CParticleElectricF30TToken<20CElectricDescription>" /* 8005A968 000578C8 7C 79 1B 78 */ mr r25, r3 lbl_8005A96C: /* 8005A96C 000578CC 7F 00 07 75 */ extsb. r0, r24 /* 8005A970 000578D0 93 3A 00 E8 */ stw r25, 0xe8(r26) /* 8005A974 000578D4 41 82 00 10 */ beq lbl_8005A984 /* 8005A978 000578D8 38 61 00 14 */ addi r3, r1, 0x14 /* 8005A97C 000578DC 38 80 00 00 */ li r4, 0 /* 8005A980 000578E0 48 2E 64 C1 */ bl __dt__6CTokenFv lbl_8005A984: /* 8005A984 000578E4 A0 0D A3 8C */ lhz r0, lbl_805A8F4C@sda21(r13) /* 8005A988 000578E8 7F 64 DB 78 */ mr r4, r27 /* 8005A98C 000578EC 38 61 00 0C */ addi r3, r1, 0xc /* 8005A990 000578F0 B0 1A 00 EC */ sth r0, 0xec(r26) /* 8005A994 000578F4 48 2E 65 15 */ bl __ct__6CTokenFRC6CToken /* 8005A998 000578F8 80 A1 00 0C */ lwz r5, 0xc(r1) /* 8005A99C 000578FC 38 61 00 0C */ addi r3, r1, 0xc /* 8005A9A0 00057900 38 80 FF FF */ li r4, -1 /* 8005A9A4 00057904 80 05 00 08 */ lwz r0, 8(r5) /* 8005A9A8 00057908 90 1A 00 F0 */ stw r0, 0xf0(r26) /* 8005A9AC 0005790C 48 2E 64 95 */ bl __dt__6CTokenFv /* 8005A9B0 00057910 88 7A 00 F4 */ lbz r3, 0xf4(r26) /* 8005A9B4 00057914 53 A3 2E 30 */ rlwimi r3, r29, 5, 0x18, 0x18 /* 8005A9B8 00057918 57 A0 07 FF */ clrlwi. r0, r29, 0x1f /* 8005A9BC 0005791C 38 A0 00 01 */ li r5, 1 /* 8005A9C0 00057920 98 7A 00 F4 */ stb r3, 0xf4(r26) /* 8005A9C4 00057924 88 1A 00 F4 */ lbz r0, 0xf4(r26) /* 8005A9C8 00057928 50 A0 36 72 */ rlwimi r0, r5, 6, 0x19, 0x19 /* 8005A9CC 0005792C 98 1A 00 F4 */ stb r0, 0xf4(r26) /* 8005A9D0 00057930 38 00 00 02 */ li r0, 2 /* 8005A9D4 00057934 88 7A 00 F4 */ lbz r3, 0xf4(r26) /* 8005A9D8 00057938 53 A3 16 B4 */ rlwimi r3, r29, 2, 0x1a, 0x1a /* 8005A9DC 0005793C 98 7A 00 F4 */ stb r3, 0xf4(r26) /* 8005A9E0 00057940 41 82 00 08 */ beq lbl_8005A9E8 /* 8005A9E4 00057944 7C A0 2B 78 */ mr r0, r5 lbl_8005A9E8: /* 8005A9E8 00057948 54 03 06 3E */ clrlwi r3, r0, 0x18 /* 8005A9EC 0005794C 88 1A 00 E6 */ lbz r0, 0xe6(r26) /* 8005A9F0 00057950 50 60 1E F8 */ rlwimi r0, r3, 3, 0x1b, 0x1c /* 8005A9F4 00057954 38 81 00 1C */ addi r4, r1, 0x1c /* 8005A9F8 00057958 98 1A 00 E6 */ stb r0, 0xe6(r26) /* 8005A9FC 0005795C C0 5C 00 2C */ lfs f2, 0x2c(r28) /* 8005AA00 00057960 C0 3C 00 1C */ lfs f1, 0x1c(r28) /* 8005AA04 00057964 C0 1C 00 0C */ lfs f0, 0xc(r28) /* 8005AA08 00057968 D0 21 00 20 */ stfs f1, 0x20(r1) /* 8005AA0C 0005796C D0 01 00 1C */ stfs f0, 0x1c(r1) /* 8005AA10 00057970 D0 41 00 24 */ stfs f2, 0x24(r1) /* 8005AA14 00057974 80 7A 00 E8 */ lwz r3, 0xe8(r26) /* 8005AA18 00057978 81 83 00 00 */ lwz r12, 0(r3) /* 8005AA1C 0005797C 81 8C 00 20 */ lwz r12, 0x20(r12) /* 8005AA20 00057980 7D 89 03 A6 */ mtctr r12 /* 8005AA24 00057984 4E 80 04 21 */ bctrl /* 8005AA28 00057988 83 3A 00 E8 */ lwz r25, 0xe8(r26) /* 8005AA2C 0005798C 7F 84 E3 78 */ mr r4, r28 /* 8005AA30 00057990 38 61 00 28 */ addi r3, r1, 0x28 /* 8005AA34 00057994 48 2B 82 0D */ bl GetRotation__12CTransform4fCFv /* 8005AA38 00057998 7F 23 CB 78 */ mr r3, r25 /* 8005AA3C 0005799C 38 81 00 28 */ addi r4, r1, 0x28 /* 8005AA40 000579A0 81 99 00 00 */ lwz r12, 0(r25) /* 8005AA44 000579A4 81 8C 00 14 */ lwz r12, 0x14(r12) /* 8005AA48 000579A8 7D 89 03 A6 */ mtctr r12 /* 8005AA4C 000579AC 4E 80 04 21 */ bctrl /* 8005AA50 000579B0 80 7A 00 E8 */ lwz r3, 0xe8(r26) /* 8005AA54 000579B4 7F C4 F3 78 */ mr r4, r30 /* 8005AA58 000579B8 81 83 00 00 */ lwz r12, 0(r3) /* 8005AA5C 000579BC 81 8C 00 24 */ lwz r12, 0x24(r12) /* 8005AA60 000579C0 7D 89 03 A6 */ mtctr r12 /* 8005AA64 000579C4 4E 80 04 21 */ bctrl /* 8005AA68 000579C8 80 7A 00 E8 */ lwz r3, 0xe8(r26) /* 8005AA6C 000579CC 7F E4 FB 78 */ mr r4, r31 /* 8005AA70 000579D0 81 83 00 00 */ lwz r12, 0(r3) /* 8005AA74 000579D4 81 8C 00 30 */ lwz r12, 0x30(r12) /* 8005AA78 000579D8 7D 89 03 A6 */ mtctr r12 /* 8005AA7C 000579DC 4E 80 04 21 */ bctrl /* 8005AA80 000579E0 7F 43 D3 78 */ mr r3, r26 /* 8005AA84 000579E4 BB 01 00 60 */ lmw r24, 0x60(r1) /* 8005AA88 000579E8 80 01 00 84 */ lwz r0, 0x84(r1) /* 8005AA8C 000579EC 7C 08 03 A6 */ mtlr r0 /* 8005AA90 000579F0 38 21 00 80 */ addi r1, r1, 0x80 /* 8005AA94 000579F4 4E 80 00 20 */ blr .global __dt__7CEffectFv __dt__7CEffectFv: /* 8005AA98 000579F8 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8005AA9C 000579FC 7C 08 02 A6 */ mflr r0 /* 8005AAA0 00057A00 90 01 00 14 */ stw r0, 0x14(r1) /* 8005AAA4 00057A04 93 E1 00 0C */ stw r31, 0xc(r1) /* 8005AAA8 00057A08 7C 9F 23 78 */ mr r31, r4 /* 8005AAAC 00057A0C 93 C1 00 08 */ stw r30, 8(r1) /* 8005AAB0 00057A10 7C 7E 1B 79 */ or. r30, r3, r3 /* 8005AAB4 00057A14 41 82 00 28 */ beq lbl_8005AADC /* 8005AAB8 00057A18 3C A0 80 3E */ lis r5, lbl_803DA118@ha /* 8005AABC 00057A1C 38 80 00 00 */ li r4, 0 /* 8005AAC0 00057A20 38 05 A1 18 */ addi r0, r5, lbl_803DA118@l /* 8005AAC4 00057A24 90 1E 00 00 */ stw r0, 0(r30) /* 8005AAC8 00057A28 4B FF AC 29 */ bl __dt__6CActorFv /* 8005AACC 00057A2C 7F E0 07 35 */ extsh. r0, r31 /* 8005AAD0 00057A30 40 81 00 0C */ ble lbl_8005AADC /* 8005AAD4 00057A34 7F C3 F3 78 */ mr r3, r30 /* 8005AAD8 00057A38 48 2B AE 59 */ bl Free__7CMemoryFPCv lbl_8005AADC: /* 8005AADC 00057A3C 80 01 00 14 */ lwz r0, 0x14(r1) /* 8005AAE0 00057A40 7F C3 F3 78 */ mr r3, r30 /* 8005AAE4 00057A44 83 E1 00 0C */ lwz r31, 0xc(r1) /* 8005AAE8 00057A48 83 C1 00 08 */ lwz r30, 8(r1) /* 8005AAEC 00057A4C 7C 08 03 A6 */ mtlr r0 /* 8005AAF0 00057A50 38 21 00 10 */ addi r1, r1, 0x10 /* 8005AAF4 00057A54 4E 80 00 20 */ blr .global "__ct__10CExplosionFRC31TLockedToken<15CGenDescription>9TUniqueIdbRC11CEntityInfoRCQ24rstl66basic_string,Q24rstl17rmemory_allocator>RC12CTransform4fUiRC9CVector3fRC6CColor" "__ct__10CExplosionFRC31TLockedToken<15CGenDescription>9TUniqueIdbRC11CEntityInfoRCQ24rstl66basic_string,Q24rstl17rmemory_allocator>RC12CTransform4fUiRC9CVector3fRC6CColor": /* 8005AAF8 00057A58 94 21 FF 80 */ stwu r1, -0x80(r1) /* 8005AAFC 00057A5C 7C 08 02 A6 */ mflr r0 /* 8005AB00 00057A60 90 01 00 84 */ stw r0, 0x84(r1) /* 8005AB04 00057A64 BF 01 00 60 */ stmw r24, 0x60(r1) /* 8005AB08 00057A68 7C 9B 23 78 */ mr r27, r4 /* 8005AB0C 00057A6C 7D 3C 4B 78 */ mr r28, r9 /* 8005AB10 00057A70 83 C1 00 88 */ lwz r30, 0x88(r1) /* 8005AB14 00057A74 83 E1 00 8C */ lwz r31, 0x8c(r1) /* 8005AB18 00057A78 7C 7A 1B 78 */ mr r26, r3 /* 8005AB1C 00057A7C 7D 5D 53 78 */ mr r29, r10 /* 8005AB20 00057A80 38 81 00 08 */ addi r4, r1, 8 /* 8005AB24 00057A84 A0 05 00 00 */ lhz r0, 0(r5) /* 8005AB28 00057A88 7C E5 3B 78 */ mr r5, r7 /* 8005AB2C 00057A8C 7D 07 43 78 */ mr r7, r8 /* 8005AB30 00057A90 7F 88 E3 78 */ mr r8, r28 /* 8005AB34 00057A94 B0 01 00 08 */ sth r0, 8(r1) /* 8005AB38 00057A98 48 00 02 19 */ bl "__ct__7CEffectF9TUniqueIdRC11CEntityInfobRCQ24rstl66basic_string,Q24rstl17rmemory_allocator>RC12CTransform4f" /* 8005AB3C 00057A9C 3C 80 80 3E */ lis r4, lbl_803DA0A8@ha /* 8005AB40 00057AA0 3C 60 80 3D */ lis r3, lbl_803CCF78@ha /* 8005AB44 00057AA4 38 04 A0 A8 */ addi r0, r4, lbl_803DA0A8@l /* 8005AB48 00057AA8 3B 00 00 00 */ li r24, 0 /* 8005AB4C 00057AAC 90 1A 00 00 */ stw r0, 0(r26) /* 8005AB50 00057AB0 38 83 CF 78 */ addi r4, r3, lbl_803CCF78@l /* 8005AB54 00057AB4 38 60 03 40 */ li r3, 0x340 /* 8005AB58 00057AB8 38 A0 00 00 */ li r5, 0 /* 8005AB5C 00057ABC 48 2B AD 11 */ bl __nw__FUlPCcPCc /* 8005AB60 00057AC0 7C 79 1B 79 */ or. r25, r3, r3 /* 8005AB64 00057AC4 41 82 00 38 */ beq lbl_8005AB9C /* 8005AB68 00057AC8 7F 64 DB 78 */ mr r4, r27 /* 8005AB6C 00057ACC 38 61 00 14 */ addi r3, r1, 0x14 /* 8005AB70 00057AD0 48 2E 63 39 */ bl __ct__6CTokenFRC6CToken /* 8005AB74 00057AD4 57 A0 07 BD */ rlwinm. r0, r29, 0, 0x1e, 0x1e /* 8005AB78 00057AD8 7F 23 CB 78 */ mr r3, r25 /* 8005AB7C 00057ADC 38 81 00 14 */ addi r4, r1, 0x14 /* 8005AB80 00057AE0 3B 00 00 01 */ li r24, 1 /* 8005AB84 00057AE4 38 A0 00 00 */ li r5, 0 /* 8005AB88 00057AE8 38 C0 00 01 */ li r6, 1 /* 8005AB8C 00057AEC 41 82 00 08 */ beq lbl_8005AB94 /* 8005AB90 00057AF0 38 C0 00 02 */ li r6, 2 lbl_8005AB94: /* 8005AB94 00057AF4 48 2C 48 4D */ bl "__ct__11CElementGenF25TToken<15CGenDescription>Q211CElementGen21EModelOrientationTypeQ211CElementGen20EOptionalSystemFlags" /* 8005AB98 00057AF8 7C 79 1B 78 */ mr r25, r3 lbl_8005AB9C: /* 8005AB9C 00057AFC 7F 00 07 75 */ extsb. r0, r24 /* 8005ABA0 00057B00 93 3A 00 E8 */ stw r25, 0xe8(r26) /* 8005ABA4 00057B04 41 82 00 10 */ beq lbl_8005ABB4 /* 8005ABA8 00057B08 38 61 00 14 */ addi r3, r1, 0x14 /* 8005ABAC 00057B0C 38 80 00 00 */ li r4, 0 /* 8005ABB0 00057B10 48 2E 62 91 */ bl __dt__6CTokenFv lbl_8005ABB4: /* 8005ABB4 00057B14 A0 0D A3 8C */ lhz r0, lbl_805A8F4C@sda21(r13) /* 8005ABB8 00057B18 7F 64 DB 78 */ mr r4, r27 /* 8005ABBC 00057B1C 38 61 00 0C */ addi r3, r1, 0xc /* 8005ABC0 00057B20 B0 1A 00 EC */ sth r0, 0xec(r26) /* 8005ABC4 00057B24 48 2E 62 E5 */ bl __ct__6CTokenFRC6CToken /* 8005ABC8 00057B28 80 A1 00 0C */ lwz r5, 0xc(r1) /* 8005ABCC 00057B2C 38 61 00 0C */ addi r3, r1, 0xc /* 8005ABD0 00057B30 38 80 FF FF */ li r4, -1 /* 8005ABD4 00057B34 80 05 00 08 */ lwz r0, 8(r5) /* 8005ABD8 00057B38 90 1A 00 F0 */ stw r0, 0xf0(r26) /* 8005ABDC 00057B3C 48 2E 62 65 */ bl __dt__6CTokenFv /* 8005ABE0 00057B40 88 7A 00 F4 */ lbz r3, 0xf4(r26) /* 8005ABE4 00057B44 53 A3 2E 30 */ rlwimi r3, r29, 5, 0x18, 0x18 /* 8005ABE8 00057B48 57 A0 07 FF */ clrlwi. r0, r29, 0x1f /* 8005ABEC 00057B4C 38 A0 00 01 */ li r5, 1 /* 8005ABF0 00057B50 98 7A 00 F4 */ stb r3, 0xf4(r26) /* 8005ABF4 00057B54 38 00 00 02 */ li r0, 2 /* 8005ABF8 00057B58 C0 02 86 A8 */ lfs f0, lbl_805AA3C8@sda21(r2) /* 8005ABFC 00057B5C 88 7A 00 F4 */ lbz r3, 0xf4(r26) /* 8005AC00 00057B60 50 A3 36 72 */ rlwimi r3, r5, 6, 0x19, 0x19 /* 8005AC04 00057B64 98 7A 00 F4 */ stb r3, 0xf4(r26) /* 8005AC08 00057B68 88 7A 00 F4 */ lbz r3, 0xf4(r26) /* 8005AC0C 00057B6C 53 A3 16 B4 */ rlwimi r3, r29, 2, 0x1a, 0x1a /* 8005AC10 00057B70 98 7A 00 F4 */ stb r3, 0xf4(r26) /* 8005AC14 00057B74 D0 1A 00 F8 */ stfs f0, 0xf8(r26) /* 8005AC18 00057B78 41 82 00 08 */ beq lbl_8005AC20 /* 8005AC1C 00057B7C 7C A0 2B 78 */ mr r0, r5 lbl_8005AC20: /* 8005AC20 00057B80 54 03 06 3E */ clrlwi r3, r0, 0x18 /* 8005AC24 00057B84 88 1A 00 E6 */ lbz r0, 0xe6(r26) /* 8005AC28 00057B88 50 60 1E F8 */ rlwimi r0, r3, 3, 0x1b, 0x1c /* 8005AC2C 00057B8C 38 81 00 1C */ addi r4, r1, 0x1c /* 8005AC30 00057B90 98 1A 00 E6 */ stb r0, 0xe6(r26) /* 8005AC34 00057B94 C0 5C 00 2C */ lfs f2, 0x2c(r28) /* 8005AC38 00057B98 C0 3C 00 1C */ lfs f1, 0x1c(r28) /* 8005AC3C 00057B9C C0 1C 00 0C */ lfs f0, 0xc(r28) /* 8005AC40 00057BA0 D0 21 00 20 */ stfs f1, 0x20(r1) /* 8005AC44 00057BA4 D0 01 00 1C */ stfs f0, 0x1c(r1) /* 8005AC48 00057BA8 D0 41 00 24 */ stfs f2, 0x24(r1) /* 8005AC4C 00057BAC 80 7A 00 E8 */ lwz r3, 0xe8(r26) /* 8005AC50 00057BB0 81 83 00 00 */ lwz r12, 0(r3) /* 8005AC54 00057BB4 81 8C 00 20 */ lwz r12, 0x20(r12) /* 8005AC58 00057BB8 7D 89 03 A6 */ mtctr r12 /* 8005AC5C 00057BBC 4E 80 04 21 */ bctrl /* 8005AC60 00057BC0 83 3A 00 E8 */ lwz r25, 0xe8(r26) /* 8005AC64 00057BC4 7F 84 E3 78 */ mr r4, r28 /* 8005AC68 00057BC8 38 61 00 28 */ addi r3, r1, 0x28 /* 8005AC6C 00057BCC 48 2B 7F D5 */ bl GetRotation__12CTransform4fCFv /* 8005AC70 00057BD0 7F 23 CB 78 */ mr r3, r25 /* 8005AC74 00057BD4 38 81 00 28 */ addi r4, r1, 0x28 /* 8005AC78 00057BD8 81 99 00 00 */ lwz r12, 0(r25) /* 8005AC7C 00057BDC 81 8C 00 14 */ lwz r12, 0x14(r12) /* 8005AC80 00057BE0 7D 89 03 A6 */ mtctr r12 /* 8005AC84 00057BE4 4E 80 04 21 */ bctrl /* 8005AC88 00057BE8 80 7A 00 E8 */ lwz r3, 0xe8(r26) /* 8005AC8C 00057BEC 7F C4 F3 78 */ mr r4, r30 /* 8005AC90 00057BF0 81 83 00 00 */ lwz r12, 0(r3) /* 8005AC94 00057BF4 81 8C 00 24 */ lwz r12, 0x24(r12) /* 8005AC98 00057BF8 7D 89 03 A6 */ mtctr r12 /* 8005AC9C 00057BFC 4E 80 04 21 */ bctrl /* 8005ACA0 00057C00 80 7A 00 E8 */ lwz r3, 0xe8(r26) /* 8005ACA4 00057C04 7F E4 FB 78 */ mr r4, r31 /* 8005ACA8 00057C08 81 83 00 00 */ lwz r12, 0(r3) /* 8005ACAC 00057C0C 81 8C 00 30 */ lwz r12, 0x30(r12) /* 8005ACB0 00057C10 7D 89 03 A6 */ mtctr r12 /* 8005ACB4 00057C14 4E 80 04 21 */ bctrl /* 8005ACB8 00057C18 7F 43 D3 78 */ mr r3, r26 /* 8005ACBC 00057C1C BB 01 00 60 */ lmw r24, 0x60(r1) /* 8005ACC0 00057C20 80 01 00 84 */ lwz r0, 0x84(r1) /* 8005ACC4 00057C24 7C 08 03 A6 */ mtlr r0 /* 8005ACC8 00057C28 38 21 00 80 */ addi r1, r1, 0x80 /* 8005ACCC 00057C2C 4E 80 00 20 */ blr