prime/asm/MetroidPrime/Enemies/CAmbientAI.s

804 lines
39 KiB
ArmAsm

.include "macros.inc"
.section .data
.balign 8
.global lbl_803E8CB0
lbl_803E8CB0:
# ROM: 0x3E5CB0
.4byte 0
.4byte 0
.4byte __dt__10CAmbientAIFv
.4byte Accept__10CAmbientAIFR8IVisitor
.4byte PreThink__7CEntityFfR13CStateManager
.4byte Think__10CAmbientAIFfR13CStateManager
.4byte AcceptScriptMsg__10CAmbientAIF20EScriptObjectMessage9TUniqueIdR13CStateManager
.4byte SetActive__6CActorFb
.4byte PreRender__6CActorFR13CStateManagerRC14CFrustumPlanes
.4byte AddToRenderer__6CActorCFRC14CFrustumPlanesRC13CStateManager
.4byte Render__13CPhysicsActorCFRC13CStateManager
.4byte CanRenderUnsorted__6CActorCFRC13CStateManager
.4byte CalculateRenderBounds__6CActorFv
.4byte HealthInfo__10CAmbientAIFR13CStateManager
.4byte GetDamageVulnerability__10CAmbientAICFv
.4byte GetDamageVulnerability__6CActorCFRC9CVector3fRC9CVector3fRC11CDamageInfo
.4byte GetTouchBounds__10CAmbientAICFv
.4byte Touch__10CAmbientAIFR6CActorR13CStateManager
.4byte GetOrbitPosition__13CPhysicsActorCFRC13CStateManager
.4byte GetAimPosition__13CPhysicsActorCFRC13CStateManagerf
.4byte GetHomingPosition__6CActorCFRC13CStateManagerf
.4byte GetScanObjectIndicatorPosition__6CActorCFRC13CStateManager
.4byte GetCollisionResponseType__6CActorCFRC9CVector3fRC9CVector3fRC11CWeaponModei
.4byte FluidFXThink__6CActorFQ26CActor11EFluidStateR12CScriptWaterR13CStateManager
.4byte OnScanStateChange__6CActorFQ26CActor10EScanStateR13CStateManager
.4byte GetSortingBounds__6CActorCFRC13CStateManager
.4byte DoUserAnimEvent__6CActorFR13CStateManagerRC13CInt32POINode14EUserEventTypef
.4byte GetCollisionPrimitive__13CPhysicsActorCFv
.4byte GetPrimitiveTransform__13CPhysicsActorCFv
.4byte CollidedWith__13CPhysicsActorFRC9TUniqueIdRC18CCollisionInfoListR13CStateManager
.4byte GetStepDownHeight__13CPhysicsActorCFv
.4byte GetStepUpHeight__13CPhysicsActorCFv
.4byte GetWeight__13CPhysicsActorCFv
.4byte 0
.section .text, "ax"
.global __dt__10CAmbientAIFv
__dt__10CAmbientAIFv:
/* 8024B83C 0024879C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8024B840 002487A0 7C 08 02 A6 */ mflr r0
/* 8024B844 002487A4 90 01 00 14 */ stw r0, 0x14(r1)
/* 8024B848 002487A8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8024B84C 002487AC 7C 9F 23 78 */ mr r31, r4
/* 8024B850 002487B0 93 C1 00 08 */ stw r30, 8(r1)
/* 8024B854 002487B4 7C 7E 1B 79 */ or. r30, r3, r3
/* 8024B858 002487B8 41 82 00 28 */ beq lbl_8024B880
/* 8024B85C 002487BC 3C A0 80 3F */ lis r5, lbl_803E8CB0@ha
/* 8024B860 002487C0 38 80 00 00 */ li r4, 0
/* 8024B864 002487C4 38 05 8C B0 */ addi r0, r5, lbl_803E8CB0@l
/* 8024B868 002487C8 90 1E 00 00 */ stw r0, 0(r30)
/* 8024B86C 002487CC 4B ED 0B A9 */ bl __dt__13CPhysicsActorFv
/* 8024B870 002487D0 7F E0 07 35 */ extsh. r0, r31
/* 8024B874 002487D4 40 81 00 0C */ ble lbl_8024B880
/* 8024B878 002487D8 7F C3 F3 78 */ mr r3, r30
/* 8024B87C 002487DC 48 0C A0 B5 */ bl Free__7CMemoryFPCv
lbl_8024B880:
/* 8024B880 002487E0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8024B884 002487E4 7F C3 F3 78 */ mr r3, r30
/* 8024B888 002487E8 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8024B88C 002487EC 83 C1 00 08 */ lwz r30, 8(r1)
/* 8024B890 002487F0 7C 08 03 A6 */ mtlr r0
/* 8024B894 002487F4 38 21 00 10 */ addi r1, r1, 0x10
/* 8024B898 002487F8 4E 80 00 20 */ blr
.global Accept__10CAmbientAIFR8IVisitor
Accept__10CAmbientAIFR8IVisitor:
/* 8024B89C 002487FC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8024B8A0 00248800 7C 08 02 A6 */ mflr r0
/* 8024B8A4 00248804 90 01 00 14 */ stw r0, 0x14(r1)
/* 8024B8A8 00248808 7C 60 1B 78 */ mr r0, r3
/* 8024B8AC 0024880C 7C 83 23 78 */ mr r3, r4
/* 8024B8B0 00248810 81 84 00 00 */ lwz r12, 0(r4)
/* 8024B8B4 00248814 7C 04 03 78 */ mr r4, r0
/* 8024B8B8 00248818 81 8C 00 50 */ lwz r12, 0x50(r12)
/* 8024B8BC 0024881C 7D 89 03 A6 */ mtctr r12
/* 8024B8C0 00248820 4E 80 04 21 */ bctrl
/* 8024B8C4 00248824 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8024B8C8 00248828 7C 08 03 A6 */ mtlr r0
/* 8024B8CC 0024882C 38 21 00 10 */ addi r1, r1, 0x10
/* 8024B8D0 00248830 4E 80 00 20 */ blr
.global AcceptScriptMsg__10CAmbientAIF20EScriptObjectMessage9TUniqueIdR13CStateManager
AcceptScriptMsg__10CAmbientAIF20EScriptObjectMessage9TUniqueIdR13CStateManager:
/* 8024B8D4 00248834 94 21 FF 90 */ stwu r1, -0x70(r1)
/* 8024B8D8 00248838 7C 08 02 A6 */ mflr r0
/* 8024B8DC 0024883C 90 01 00 74 */ stw r0, 0x74(r1)
/* 8024B8E0 00248840 93 E1 00 6C */ stw r31, 0x6c(r1)
/* 8024B8E4 00248844 7C DF 33 78 */ mr r31, r6
/* 8024B8E8 00248848 93 C1 00 68 */ stw r30, 0x68(r1)
/* 8024B8EC 0024884C 7C BE 2B 78 */ mr r30, r5
/* 8024B8F0 00248850 93 A1 00 64 */ stw r29, 0x64(r1)
/* 8024B8F4 00248854 7C 9D 23 78 */ mr r29, r4
/* 8024B8F8 00248858 2C 1D 00 23 */ cmpwi r29, 0x23
/* 8024B8FC 0024885C 93 81 00 60 */ stw r28, 0x60(r1)
/* 8024B900 00248860 7C 7C 1B 78 */ mr r28, r3
/* 8024B904 00248864 41 82 00 D0 */ beq lbl_8024B9D4
/* 8024B908 00248868 40 80 00 10 */ bge lbl_8024B918
/* 8024B90C 0024886C 2C 1D 00 0A */ cmpwi r29, 0xa
/* 8024B910 00248870 41 82 00 14 */ beq lbl_8024B924
/* 8024B914 00248874 48 00 01 48 */ b lbl_8024BA5C
lbl_8024B918:
/* 8024B918 00248878 2C 1D 00 29 */ cmpwi r29, 0x29
/* 8024B91C 0024887C 41 82 00 C4 */ beq lbl_8024B9E0
/* 8024B920 00248880 48 00 01 3C */ b lbl_8024BA5C
lbl_8024B924:
/* 8024B924 00248884 88 1C 00 30 */ lbz r0, 0x30(r28)
/* 8024B928 00248888 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 8024B92C 0024888C 40 82 00 18 */ bne lbl_8024B944
/* 8024B930 00248890 81 83 00 00 */ lwz r12, 0(r3)
/* 8024B934 00248894 38 80 00 01 */ li r4, 1
/* 8024B938 00248898 81 8C 00 1C */ lwz r12, 0x1c(r12)
/* 8024B93C 0024889C 7D 89 03 A6 */ mtctr r12
/* 8024B940 002488A0 4E 80 04 21 */ bctrl
lbl_8024B944:
/* 8024B944 002488A4 38 E0 00 00 */ li r7, 0
/* 8024B948 002488A8 C0 02 B8 90 */ lfs f0, lbl_805AD5B0@sda21(r2)
/* 8024B94C 002488AC 90 FC 02 D0 */ stw r7, 0x2d0(r28)
/* 8024B950 002488B0 38 60 FF FF */ li r3, -1
/* 8024B954 002488B4 38 00 00 01 */ li r0, 1
/* 8024B958 002488B8 38 81 00 34 */ addi r4, r1, 0x34
/* 8024B95C 002488BC 80 DC 02 DC */ lwz r6, 0x2dc(r28)
/* 8024B960 002488C0 38 A0 00 00 */ li r5, 0
/* 8024B964 002488C4 90 C1 00 34 */ stw r6, 0x34(r1)
/* 8024B968 002488C8 90 61 00 38 */ stw r3, 0x38(r1)
/* 8024B96C 002488CC D0 01 00 3C */ stfs f0, 0x3c(r1)
/* 8024B970 002488D0 98 01 00 40 */ stb r0, 0x40(r1)
/* 8024B974 002488D4 90 E1 00 44 */ stw r7, 0x44(r1)
/* 8024B978 002488D8 90 E1 00 48 */ stw r7, 0x48(r1)
/* 8024B97C 002488DC 98 E1 00 4C */ stb r7, 0x4c(r1)
/* 8024B980 002488E0 90 E1 00 50 */ stw r7, 0x50(r1)
/* 8024B984 002488E4 90 E1 00 54 */ stw r7, 0x54(r1)
/* 8024B988 002488E8 90 E1 00 58 */ stw r7, 0x58(r1)
/* 8024B98C 002488EC 80 7C 00 64 */ lwz r3, 0x64(r28)
/* 8024B990 002488F0 80 63 00 10 */ lwz r3, 0x10(r3)
/* 8024B994 002488F4 4B DE 13 E9 */ bl SetAnimation__9CAnimDataFRC18CAnimPlaybackParmsb
/* 8024B998 002488F8 80 7C 00 64 */ lwz r3, 0x64(r28)
/* 8024B99C 002488FC 38 80 00 01 */ li r4, 1
/* 8024B9A0 00248900 4B EC 9B C1 */ bl EnableLooping__10CModelDataFb
/* 8024B9A4 00248904 7F 83 E3 78 */ mr r3, r28
/* 8024B9A8 00248908 7F E4 FB 78 */ mr r4, r31
/* 8024B9AC 0024890C 48 00 05 71 */ bl sub_8024bf1c
/* 8024B9B0 00248910 88 1C 02 E8 */ lbz r0, 0x2e8(r28)
/* 8024B9B4 00248914 38 60 00 00 */ li r3, 0
/* 8024B9B8 00248918 50 60 3E 30 */ rlwimi r0, r3, 7, 0x18, 0x18
/* 8024B9BC 0024891C 98 1C 02 E8 */ stb r0, 0x2e8(r28)
/* 8024B9C0 00248920 C0 1C 02 58 */ lfs f0, 0x258(r28)
/* 8024B9C4 00248924 D0 1C 02 60 */ stfs f0, 0x260(r28)
/* 8024B9C8 00248928 C0 1C 02 5C */ lfs f0, 0x25c(r28)
/* 8024B9CC 0024892C D0 1C 02 64 */ stfs f0, 0x264(r28)
/* 8024B9D0 00248930 48 00 00 8C */ b lbl_8024BA5C
lbl_8024B9D4:
/* 8024B9D4 00248934 7F E4 FB 78 */ mr r4, r31
/* 8024B9D8 00248938 48 00 05 45 */ bl sub_8024bf1c
/* 8024B9DC 0024893C 48 00 00 80 */ b lbl_8024BA5C
lbl_8024B9E0:
/* 8024B9E0 00248940 88 1C 00 30 */ lbz r0, 0x30(r28)
/* 8024B9E4 00248944 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 8024B9E8 00248948 41 82 00 74 */ beq lbl_8024BA5C
/* 8024B9EC 0024894C 38 00 00 02 */ li r0, 2
/* 8024B9F0 00248950 C0 02 B8 90 */ lfs f0, lbl_805AD5B0@sda21(r2)
/* 8024B9F4 00248954 90 1C 02 D0 */ stw r0, 0x2d0(r28)
/* 8024B9F8 00248958 38 C0 FF FF */ li r6, -1
/* 8024B9FC 0024895C 38 60 00 01 */ li r3, 1
/* 8024BA00 00248960 38 00 00 00 */ li r0, 0
/* 8024BA04 00248964 80 FC 02 E4 */ lwz r7, 0x2e4(r28)
/* 8024BA08 00248968 38 81 00 0C */ addi r4, r1, 0xc
/* 8024BA0C 0024896C 38 A0 00 00 */ li r5, 0
/* 8024BA10 00248970 90 E1 00 0C */ stw r7, 0xc(r1)
/* 8024BA14 00248974 90 C1 00 10 */ stw r6, 0x10(r1)
/* 8024BA18 00248978 D0 01 00 14 */ stfs f0, 0x14(r1)
/* 8024BA1C 0024897C 98 61 00 18 */ stb r3, 0x18(r1)
/* 8024BA20 00248980 90 01 00 1C */ stw r0, 0x1c(r1)
/* 8024BA24 00248984 90 01 00 20 */ stw r0, 0x20(r1)
/* 8024BA28 00248988 98 01 00 24 */ stb r0, 0x24(r1)
/* 8024BA2C 0024898C 90 01 00 28 */ stw r0, 0x28(r1)
/* 8024BA30 00248990 90 01 00 2C */ stw r0, 0x2c(r1)
/* 8024BA34 00248994 90 01 00 30 */ stw r0, 0x30(r1)
/* 8024BA38 00248998 80 7C 00 64 */ lwz r3, 0x64(r28)
/* 8024BA3C 0024899C 80 63 00 10 */ lwz r3, 0x10(r3)
/* 8024BA40 002489A0 4B DE 13 3D */ bl SetAnimation__9CAnimDataFRC18CAnimPlaybackParmsb
/* 8024BA44 002489A4 80 7C 00 64 */ lwz r3, 0x64(r28)
/* 8024BA48 002489A8 38 80 00 00 */ li r4, 0
/* 8024BA4C 002489AC 4B EC 9B 15 */ bl EnableLooping__10CModelDataFb
/* 8024BA50 002489B0 7F 83 E3 78 */ mr r3, r28
/* 8024BA54 002489B4 7F E4 FB 78 */ mr r4, r31
/* 8024BA58 002489B8 48 00 04 C5 */ bl sub_8024bf1c
lbl_8024BA5C:
/* 8024BA5C 002489BC A0 1E 00 00 */ lhz r0, 0(r30)
/* 8024BA60 002489C0 7F 83 E3 78 */ mr r3, r28
/* 8024BA64 002489C4 7F A4 EB 78 */ mr r4, r29
/* 8024BA68 002489C8 7F E6 FB 78 */ mr r6, r31
/* 8024BA6C 002489CC B0 01 00 08 */ sth r0, 8(r1)
/* 8024BA70 002489D0 38 A1 00 08 */ addi r5, r1, 8
/* 8024BA74 002489D4 4B E0 7B A1 */ bl AcceptScriptMsg__6CActorF20EScriptObjectMessage9TUniqueIdR13CStateManager
/* 8024BA78 002489D8 80 01 00 74 */ lwz r0, 0x74(r1)
/* 8024BA7C 002489DC 83 E1 00 6C */ lwz r31, 0x6c(r1)
/* 8024BA80 002489E0 83 C1 00 68 */ lwz r30, 0x68(r1)
/* 8024BA84 002489E4 83 A1 00 64 */ lwz r29, 0x64(r1)
/* 8024BA88 002489E8 83 81 00 60 */ lwz r28, 0x60(r1)
/* 8024BA8C 002489EC 7C 08 03 A6 */ mtlr r0
/* 8024BA90 002489F0 38 21 00 70 */ addi r1, r1, 0x70
/* 8024BA94 002489F4 4E 80 00 20 */ blr
.global Think__10CAmbientAIFfR13CStateManager
Think__10CAmbientAIFfR13CStateManager:
/* 8024BA98 002489F8 94 21 FE E0 */ stwu r1, -0x120(r1)
/* 8024BA9C 002489FC 7C 08 02 A6 */ mflr r0
/* 8024BAA0 00248A00 90 01 01 24 */ stw r0, 0x124(r1)
/* 8024BAA4 00248A04 DB E1 01 10 */ stfd f31, 0x110(r1)
/* 8024BAA8 00248A08 F3 E1 01 18 */ psq_st f31, 280(r1), 0, qr0
/* 8024BAAC 00248A0C BF 61 00 FC */ stmw r27, 0xfc(r1)
/* 8024BAB0 00248A10 88 03 00 30 */ lbz r0, 0x30(r3)
/* 8024BAB4 00248A14 FF E0 08 90 */ fmr f31, f1
/* 8024BAB8 00248A18 7C 7E 1B 78 */ mr r30, r3
/* 8024BABC 00248A1C 7C 9F 23 78 */ mr r31, r4
/* 8024BAC0 00248A20 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 8024BAC4 00248A24 41 82 04 3C */ beq lbl_8024BF00
/* 8024BAC8 00248A28 80 9E 00 64 */ lwz r4, 0x64(r30)
/* 8024BACC 00248A2C 38 60 00 00 */ li r3, 0
/* 8024BAD0 00248A30 28 04 00 00 */ cmplwi r4, 0
/* 8024BAD4 00248A34 41 82 00 14 */ beq lbl_8024BAE8
/* 8024BAD8 00248A38 80 04 00 10 */ lwz r0, 0x10(r4)
/* 8024BADC 00248A3C 28 00 00 00 */ cmplwi r0, 0
/* 8024BAE0 00248A40 41 82 00 08 */ beq lbl_8024BAE8
/* 8024BAE4 00248A44 38 60 00 01 */ li r3, 1
lbl_8024BAE8:
/* 8024BAE8 00248A48 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 8024BAEC 00248A4C 41 82 01 18 */ beq lbl_8024BC04
/* 8024BAF0 00248A50 3C 80 80 3D */ lis r4, lbl_803D4798@ha
/* 8024BAF4 00248A54 38 61 00 38 */ addi r3, r1, 0x38
/* 8024BAF8 00248A58 38 84 47 98 */ addi r4, r4, lbl_803D4798@l
/* 8024BAFC 00248A5C 4B DB 91 BD */ bl string_l__4rstlFPCc
/* 8024BB00 00248A60 C0 02 B8 94 */ lfs f0, lbl_805AD5B4@sda21(r2)
/* 8024BB04 00248A64 38 81 00 38 */ addi r4, r1, 0x38
/* 8024BB08 00248A68 80 7E 00 64 */ lwz r3, 0x64(r30)
/* 8024BB0C 00248A6C EC 3F 00 28 */ fsubs f1, f31, f0
/* 8024BB10 00248A70 80 63 00 10 */ lwz r3, 0x10(r3)
/* 8024BB14 00248A74 4B DE 08 D9 */ bl "IsAnimTimeRemaining__9CAnimDataCFfRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>"
/* 8024BB18 00248A78 7C 7C 1B 78 */ mr r28, r3
/* 8024BB1C 00248A7C 38 61 00 38 */ addi r3, r1, 0x38
/* 8024BB20 00248A80 48 0F 1F C1 */ bl "internal_dereference__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Fv"
/* 8024BB24 00248A84 80 7E 00 64 */ lwz r3, 0x64(r30)
/* 8024BB28 00248A88 4B EC 99 E5 */ bl GetIsLoop__10CModelDataCFv
/* 8024BB2C 00248A8C 57 80 06 3F */ clrlwi. r0, r28, 0x18
/* 8024BB30 00248A90 7C 7D 1B 78 */ mr r29, r3
/* 8024BB34 00248A94 40 82 00 0C */ bne lbl_8024BB40
/* 8024BB38 00248A98 57 A0 06 3F */ clrlwi. r0, r29, 0x18
/* 8024BB3C 00248A9C 41 82 00 88 */ beq lbl_8024BBC4
lbl_8024BB40:
/* 8024BB40 00248AA0 88 1E 02 E8 */ lbz r0, 0x2e8(r30)
/* 8024BB44 00248AA4 38 60 00 01 */ li r3, 1
/* 8024BB48 00248AA8 50 60 36 72 */ rlwimi r0, r3, 6, 0x19, 0x19
/* 8024BB4C 00248AAC FC 20 F8 90 */ fmr f1, f31
/* 8024BB50 00248AB0 98 1E 02 E8 */ stb r0, 0x2e8(r30)
/* 8024BB54 00248AB4 7F C4 F3 78 */ mr r4, r30
/* 8024BB58 00248AB8 7F E5 FB 78 */ mr r5, r31
/* 8024BB5C 00248ABC 38 61 00 48 */ addi r3, r1, 0x48
/* 8024BB60 00248AC0 38 C0 00 01 */ li r6, 1
/* 8024BB64 00248AC4 4B E0 97 39 */ bl UpdateAnimation__6CActorFfR13CStateManagerb
/* 8024BB68 00248AC8 C0 E1 00 48 */ lfs f7, 0x48(r1)
/* 8024BB6C 00248ACC FC 20 F8 90 */ fmr f1, f31
/* 8024BB70 00248AD0 C0 C1 00 4C */ lfs f6, 0x4c(r1)
/* 8024BB74 00248AD4 7F C3 F3 78 */ mr r3, r30
/* 8024BB78 00248AD8 C0 A1 00 50 */ lfs f5, 0x50(r1)
/* 8024BB7C 00248ADC 3B 61 00 70 */ addi r27, r1, 0x70
/* 8024BB80 00248AE0 C0 81 00 54 */ lfs f4, 0x54(r1)
/* 8024BB84 00248AE4 C0 61 00 58 */ lfs f3, 0x58(r1)
/* 8024BB88 00248AE8 38 81 00 64 */ addi r4, r1, 0x64
/* 8024BB8C 00248AEC C0 41 00 5C */ lfs f2, 0x5c(r1)
/* 8024BB90 00248AF0 C0 01 00 60 */ lfs f0, 0x60(r1)
/* 8024BB94 00248AF4 D0 E1 00 64 */ stfs f7, 0x64(r1)
/* 8024BB98 00248AF8 D0 C1 00 68 */ stfs f6, 0x68(r1)
/* 8024BB9C 00248AFC D0 A1 00 6C */ stfs f5, 0x6c(r1)
/* 8024BBA0 00248B00 D0 81 00 70 */ stfs f4, 0x70(r1)
/* 8024BBA4 00248B04 D0 61 00 74 */ stfs f3, 0x74(r1)
/* 8024BBA8 00248B08 D0 41 00 78 */ stfs f2, 0x78(r1)
/* 8024BBAC 00248B0C D0 01 00 7C */ stfs f0, 0x7c(r1)
/* 8024BBB0 00248B10 4B EC F2 C9 */ bl MoveToOR__13CPhysicsActorFRC9CVector3ff
/* 8024BBB4 00248B14 FC 20 F8 90 */ fmr f1, f31
/* 8024BBB8 00248B18 7F C3 F3 78 */ mr r3, r30
/* 8024BBBC 00248B1C 7F 64 DB 78 */ mr r4, r27
/* 8024BBC0 00248B20 4B EC F2 55 */ bl RotateToOR__13CPhysicsActorFRC11CQuaternionf
lbl_8024BBC4:
/* 8024BBC4 00248B24 57 80 06 3F */ clrlwi. r0, r28, 0x18
/* 8024BBC8 00248B28 40 82 00 3C */ bne lbl_8024BC04
/* 8024BBCC 00248B2C 88 1E 02 E8 */ lbz r0, 0x2e8(r30)
/* 8024BBD0 00248B30 54 00 D7 FF */ rlwinm. r0, r0, 0x1a, 0x1f, 0x1f
/* 8024BBD4 00248B34 41 82 00 30 */ beq lbl_8024BC04
/* 8024BBD8 00248B38 57 A0 06 3F */ clrlwi. r0, r29, 0x18
/* 8024BBDC 00248B3C 40 82 00 28 */ bne lbl_8024BC04
/* 8024BBE0 00248B40 7F C3 F3 78 */ mr r3, r30
/* 8024BBE4 00248B44 7F E5 FB 78 */ mr r5, r31
/* 8024BBE8 00248B48 38 80 00 07 */ li r4, 7
/* 8024BBEC 00248B4C 38 C0 FF FF */ li r6, -1
/* 8024BBF0 00248B50 4B E0 54 D1 */ bl SendScriptMsgs__7CEntityF18EScriptObjectStateR13CStateManager20EScriptObjectMessage
/* 8024BBF4 00248B54 88 1E 02 E8 */ lbz r0, 0x2e8(r30)
/* 8024BBF8 00248B58 38 60 00 00 */ li r3, 0
/* 8024BBFC 00248B5C 50 60 36 72 */ rlwimi r0, r3, 6, 0x19, 0x19
/* 8024BC00 00248B60 98 1E 02 E8 */ stb r0, 0x2e8(r30)
lbl_8024BC04:
/* 8024BC04 00248B64 80 9F 08 4C */ lwz r4, 0x84c(r31)
/* 8024BC08 00248B68 38 61 00 2C */ addi r3, r1, 0x2c
/* 8024BC0C 00248B6C C0 1E 00 60 */ lfs f0, 0x60(r30)
/* 8024BC10 00248B70 C0 A4 00 60 */ lfs f5, 0x60(r4)
/* 8024BC14 00248B74 C0 84 00 50 */ lfs f4, 0x50(r4)
/* 8024BC18 00248B78 C0 5E 00 50 */ lfs f2, 0x50(r30)
/* 8024BC1C 00248B7C EC 25 00 28 */ fsubs f1, f5, f0
/* 8024BC20 00248B80 C0 04 00 40 */ lfs f0, 0x40(r4)
/* 8024BC24 00248B84 C0 7E 00 40 */ lfs f3, 0x40(r30)
/* 8024BC28 00248B88 EC 44 10 28 */ fsubs f2, f4, f2
/* 8024BC2C 00248B8C D0 01 00 20 */ stfs f0, 0x20(r1)
/* 8024BC30 00248B90 EC 00 18 28 */ fsubs f0, f0, f3
/* 8024BC34 00248B94 D0 81 00 24 */ stfs f4, 0x24(r1)
/* 8024BC38 00248B98 D0 A1 00 28 */ stfs f5, 0x28(r1)
/* 8024BC3C 00248B9C D0 01 00 2C */ stfs f0, 0x2c(r1)
/* 8024BC40 00248BA0 D0 41 00 30 */ stfs f2, 0x30(r1)
/* 8024BC44 00248BA4 D0 21 00 34 */ stfs f1, 0x34(r1)
/* 8024BC48 00248BA8 48 0C 8C 71 */ bl Magnitude__9CVector3fCFv
/* 8024BC4C 00248BAC C0 1E 02 D4 */ lfs f0, 0x2d4(r30)
/* 8024BC50 00248BB0 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8024BC54 00248BB4 7C 00 00 26 */ mfcr r0
/* 8024BC58 00248BB8 80 9F 08 4C */ lwz r4, 0x84c(r31)
/* 8024BC5C 00248BBC C0 1E 00 60 */ lfs f0, 0x60(r30)
/* 8024BC60 00248BC0 54 1B 0F FE */ srwi r27, r0, 0x1f
/* 8024BC64 00248BC4 C0 A4 00 60 */ lfs f5, 0x60(r4)
/* 8024BC68 00248BC8 38 61 00 14 */ addi r3, r1, 0x14
/* 8024BC6C 00248BCC C0 84 00 50 */ lfs f4, 0x50(r4)
/* 8024BC70 00248BD0 C0 5E 00 50 */ lfs f2, 0x50(r30)
/* 8024BC74 00248BD4 EC 25 00 28 */ fsubs f1, f5, f0
/* 8024BC78 00248BD8 C0 04 00 40 */ lfs f0, 0x40(r4)
/* 8024BC7C 00248BDC C0 7E 00 40 */ lfs f3, 0x40(r30)
/* 8024BC80 00248BE0 EC 44 10 28 */ fsubs f2, f4, f2
/* 8024BC84 00248BE4 D0 01 00 08 */ stfs f0, 8(r1)
/* 8024BC88 00248BE8 EC 00 18 28 */ fsubs f0, f0, f3
/* 8024BC8C 00248BEC D0 81 00 0C */ stfs f4, 0xc(r1)
/* 8024BC90 00248BF0 D0 A1 00 10 */ stfs f5, 0x10(r1)
/* 8024BC94 00248BF4 D0 01 00 14 */ stfs f0, 0x14(r1)
/* 8024BC98 00248BF8 D0 41 00 18 */ stfs f2, 0x18(r1)
/* 8024BC9C 00248BFC D0 21 00 1C */ stfs f1, 0x1c(r1)
/* 8024BCA0 00248C00 48 0C 8C 19 */ bl Magnitude__9CVector3fCFv
/* 8024BCA4 00248C04 C0 1E 02 D8 */ lfs f0, 0x2d8(r30)
/* 8024BCA8 00248C08 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8024BCAC 00248C0C 7C 60 00 26 */ mfcr r3
/* 8024BCB0 00248C10 80 1E 02 D0 */ lwz r0, 0x2d0(r30)
/* 8024BCB4 00248C14 54 63 0F FE */ srwi r3, r3, 0x1f
/* 8024BCB8 00248C18 2C 00 00 01 */ cmpwi r0, 1
/* 8024BCBC 00248C1C 41 82 00 98 */ beq lbl_8024BD54
/* 8024BCC0 00248C20 40 80 00 10 */ bge lbl_8024BCD0
/* 8024BCC4 00248C24 2C 00 00 00 */ cmpwi r0, 0
/* 8024BCC8 00248C28 40 80 00 14 */ bge lbl_8024BCDC
/* 8024BCCC 00248C2C 48 00 01 B8 */ b lbl_8024BE84
lbl_8024BCD0:
/* 8024BCD0 00248C30 2C 00 00 03 */ cmpwi r0, 3
/* 8024BCD4 00248C34 40 80 01 B0 */ bge lbl_8024BE84
/* 8024BCD8 00248C38 48 00 01 34 */ b lbl_8024BE0C
lbl_8024BCDC:
/* 8024BCDC 00248C3C 28 1B 00 00 */ cmplwi r27, 0
/* 8024BCE0 00248C40 41 82 01 A4 */ beq lbl_8024BE84
/* 8024BCE4 00248C44 38 E0 00 01 */ li r7, 1
/* 8024BCE8 00248C48 C0 02 B8 90 */ lfs f0, lbl_805AD5B0@sda21(r2)
/* 8024BCEC 00248C4C 90 FE 02 D0 */ stw r7, 0x2d0(r30)
/* 8024BCF0 00248C50 38 60 FF FF */ li r3, -1
/* 8024BCF4 00248C54 38 00 00 00 */ li r0, 0
/* 8024BCF8 00248C58 38 81 00 D0 */ addi r4, r1, 0xd0
/* 8024BCFC 00248C5C 80 DE 02 E0 */ lwz r6, 0x2e0(r30)
/* 8024BD00 00248C60 38 A0 00 00 */ li r5, 0
/* 8024BD04 00248C64 90 C1 00 D0 */ stw r6, 0xd0(r1)
/* 8024BD08 00248C68 90 61 00 D4 */ stw r3, 0xd4(r1)
/* 8024BD0C 00248C6C D0 01 00 D8 */ stfs f0, 0xd8(r1)
/* 8024BD10 00248C70 98 E1 00 DC */ stb r7, 0xdc(r1)
/* 8024BD14 00248C74 90 01 00 E0 */ stw r0, 0xe0(r1)
/* 8024BD18 00248C78 90 01 00 E4 */ stw r0, 0xe4(r1)
/* 8024BD1C 00248C7C 98 01 00 E8 */ stb r0, 0xe8(r1)
/* 8024BD20 00248C80 90 01 00 EC */ stw r0, 0xec(r1)
/* 8024BD24 00248C84 90 01 00 F0 */ stw r0, 0xf0(r1)
/* 8024BD28 00248C88 90 01 00 F4 */ stw r0, 0xf4(r1)
/* 8024BD2C 00248C8C 80 7E 00 64 */ lwz r3, 0x64(r30)
/* 8024BD30 00248C90 80 63 00 10 */ lwz r3, 0x10(r3)
/* 8024BD34 00248C94 4B DE 10 49 */ bl SetAnimation__9CAnimDataFRC18CAnimPlaybackParmsb
/* 8024BD38 00248C98 80 7E 00 64 */ lwz r3, 0x64(r30)
/* 8024BD3C 00248C9C 38 80 00 01 */ li r4, 1
/* 8024BD40 00248CA0 4B EC 98 21 */ bl EnableLooping__10CModelDataFb
/* 8024BD44 00248CA4 7F C3 F3 78 */ mr r3, r30
/* 8024BD48 00248CA8 7F E4 FB 78 */ mr r4, r31
/* 8024BD4C 00248CAC 48 00 01 D1 */ bl sub_8024bf1c
/* 8024BD50 00248CB0 48 00 01 34 */ b lbl_8024BE84
lbl_8024BD54:
/* 8024BD54 00248CB4 28 1B 00 00 */ cmplwi r27, 0
/* 8024BD58 00248CB8 40 82 00 74 */ bne lbl_8024BDCC
/* 8024BD5C 00248CBC 38 E0 00 00 */ li r7, 0
/* 8024BD60 00248CC0 C0 02 B8 90 */ lfs f0, lbl_805AD5B0@sda21(r2)
/* 8024BD64 00248CC4 90 FE 02 D0 */ stw r7, 0x2d0(r30)
/* 8024BD68 00248CC8 38 60 FF FF */ li r3, -1
/* 8024BD6C 00248CCC 38 00 00 01 */ li r0, 1
/* 8024BD70 00248CD0 38 81 00 A8 */ addi r4, r1, 0xa8
/* 8024BD74 00248CD4 80 DE 02 DC */ lwz r6, 0x2dc(r30)
/* 8024BD78 00248CD8 38 A0 00 00 */ li r5, 0
/* 8024BD7C 00248CDC 90 C1 00 A8 */ stw r6, 0xa8(r1)
/* 8024BD80 00248CE0 90 61 00 AC */ stw r3, 0xac(r1)
/* 8024BD84 00248CE4 D0 01 00 B0 */ stfs f0, 0xb0(r1)
/* 8024BD88 00248CE8 98 01 00 B4 */ stb r0, 0xb4(r1)
/* 8024BD8C 00248CEC 90 E1 00 B8 */ stw r7, 0xb8(r1)
/* 8024BD90 00248CF0 90 E1 00 BC */ stw r7, 0xbc(r1)
/* 8024BD94 00248CF4 98 E1 00 C0 */ stb r7, 0xc0(r1)
/* 8024BD98 00248CF8 90 E1 00 C4 */ stw r7, 0xc4(r1)
/* 8024BD9C 00248CFC 90 E1 00 C8 */ stw r7, 0xc8(r1)
/* 8024BDA0 00248D00 90 E1 00 CC */ stw r7, 0xcc(r1)
/* 8024BDA4 00248D04 80 7E 00 64 */ lwz r3, 0x64(r30)
/* 8024BDA8 00248D08 80 63 00 10 */ lwz r3, 0x10(r3)
/* 8024BDAC 00248D0C 4B DE 0F D1 */ bl SetAnimation__9CAnimDataFRC18CAnimPlaybackParmsb
/* 8024BDB0 00248D10 80 7E 00 64 */ lwz r3, 0x64(r30)
/* 8024BDB4 00248D14 38 80 00 01 */ li r4, 1
/* 8024BDB8 00248D18 4B EC 97 A9 */ bl EnableLooping__10CModelDataFb
/* 8024BDBC 00248D1C 7F C3 F3 78 */ mr r3, r30
/* 8024BDC0 00248D20 7F E4 FB 78 */ mr r4, r31
/* 8024BDC4 00248D24 48 00 01 59 */ bl sub_8024bf1c
/* 8024BDC8 00248D28 48 00 00 BC */ b lbl_8024BE84
lbl_8024BDCC:
/* 8024BDCC 00248D2C 28 03 00 00 */ cmplwi r3, 0
/* 8024BDD0 00248D30 41 82 00 B4 */ beq lbl_8024BE84
/* 8024BDD4 00248D34 7F C3 F3 78 */ mr r3, r30
/* 8024BDD8 00248D38 7F E5 FB 78 */ mr r5, r31
/* 8024BDDC 00248D3C 38 80 00 0E */ li r4, 0xe
/* 8024BDE0 00248D40 38 C0 FF FF */ li r6, -1
/* 8024BDE4 00248D44 4B E0 52 DD */ bl SendScriptMsgs__7CEntityF18EScriptObjectStateR13CStateManager20EScriptObjectMessage
/* 8024BDE8 00248D48 7F C3 F3 78 */ mr r3, r30
/* 8024BDEC 00248D4C 4B E0 94 59 */ bl RemoveEmitter__6CActorFv
/* 8024BDF0 00248D50 7F C3 F3 78 */ mr r3, r30
/* 8024BDF4 00248D54 38 80 00 00 */ li r4, 0
/* 8024BDF8 00248D58 81 9E 00 00 */ lwz r12, 0(r30)
/* 8024BDFC 00248D5C 81 8C 00 1C */ lwz r12, 0x1c(r12)
/* 8024BE00 00248D60 7D 89 03 A6 */ mtctr r12
/* 8024BE04 00248D64 4E 80 04 21 */ bctrl
/* 8024BE08 00248D68 48 00 00 7C */ b lbl_8024BE84
lbl_8024BE0C:
/* 8024BE0C 00248D6C 88 1E 02 E8 */ lbz r0, 0x2e8(r30)
/* 8024BE10 00248D70 54 00 D7 FF */ rlwinm. r0, r0, 0x1a, 0x1f, 0x1f
/* 8024BE14 00248D74 40 82 00 70 */ bne lbl_8024BE84
/* 8024BE18 00248D78 38 E0 00 00 */ li r7, 0
/* 8024BE1C 00248D7C C0 02 B8 90 */ lfs f0, lbl_805AD5B0@sda21(r2)
/* 8024BE20 00248D80 90 FE 02 D0 */ stw r7, 0x2d0(r30)
/* 8024BE24 00248D84 38 60 FF FF */ li r3, -1
/* 8024BE28 00248D88 38 00 00 01 */ li r0, 1
/* 8024BE2C 00248D8C 38 81 00 80 */ addi r4, r1, 0x80
/* 8024BE30 00248D90 80 DE 02 DC */ lwz r6, 0x2dc(r30)
/* 8024BE34 00248D94 38 A0 00 00 */ li r5, 0
/* 8024BE38 00248D98 90 C1 00 80 */ stw r6, 0x80(r1)
/* 8024BE3C 00248D9C 90 61 00 84 */ stw r3, 0x84(r1)
/* 8024BE40 00248DA0 D0 01 00 88 */ stfs f0, 0x88(r1)
/* 8024BE44 00248DA4 98 01 00 8C */ stb r0, 0x8c(r1)
/* 8024BE48 00248DA8 90 E1 00 90 */ stw r7, 0x90(r1)
/* 8024BE4C 00248DAC 90 E1 00 94 */ stw r7, 0x94(r1)
/* 8024BE50 00248DB0 98 E1 00 98 */ stb r7, 0x98(r1)
/* 8024BE54 00248DB4 90 E1 00 9C */ stw r7, 0x9c(r1)
/* 8024BE58 00248DB8 90 E1 00 A0 */ stw r7, 0xa0(r1)
/* 8024BE5C 00248DBC 90 E1 00 A4 */ stw r7, 0xa4(r1)
/* 8024BE60 00248DC0 80 7E 00 64 */ lwz r3, 0x64(r30)
/* 8024BE64 00248DC4 80 63 00 10 */ lwz r3, 0x10(r3)
/* 8024BE68 00248DC8 4B DE 0F 15 */ bl SetAnimation__9CAnimDataFRC18CAnimPlaybackParmsb
/* 8024BE6C 00248DCC 80 7E 00 64 */ lwz r3, 0x64(r30)
/* 8024BE70 00248DD0 38 80 00 01 */ li r4, 1
/* 8024BE74 00248DD4 4B EC 96 ED */ bl EnableLooping__10CModelDataFb
/* 8024BE78 00248DD8 7F C3 F3 78 */ mr r3, r30
/* 8024BE7C 00248DDC 7F E4 FB 78 */ mr r4, r31
/* 8024BE80 00248DE0 48 00 00 9D */ bl sub_8024bf1c
lbl_8024BE84:
/* 8024BE84 00248DE4 88 1E 02 E8 */ lbz r0, 0x2e8(r30)
/* 8024BE88 00248DE8 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 8024BE8C 00248DEC 40 82 00 74 */ bne lbl_8024BF00
/* 8024BE90 00248DF0 7F C3 F3 78 */ mr r3, r30
/* 8024BE94 00248DF4 7F E4 FB 78 */ mr r4, r31
/* 8024BE98 00248DF8 81 9E 00 00 */ lwz r12, 0(r30)
/* 8024BE9C 00248DFC 81 8C 00 34 */ lwz r12, 0x34(r12)
/* 8024BEA0 00248E00 7D 89 03 A6 */ mtctr r12
/* 8024BEA4 00248E04 4E 80 04 21 */ bctrl
/* 8024BEA8 00248E08 C0 23 00 00 */ lfs f1, 0(r3)
/* 8024BEAC 00248E0C C0 02 B8 98 */ lfs f0, lbl_805AD5B8@sda21(r2)
/* 8024BEB0 00248E10 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8024BEB4 00248E14 4C 40 13 82 */ cror 2, 0, 2
/* 8024BEB8 00248E18 40 82 00 48 */ bne lbl_8024BF00
/* 8024BEBC 00248E1C 88 1E 02 E8 */ lbz r0, 0x2e8(r30)
/* 8024BEC0 00248E20 38 60 00 01 */ li r3, 1
/* 8024BEC4 00248E24 50 60 3E 30 */ rlwimi r0, r3, 7, 0x18, 0x18
/* 8024BEC8 00248E28 7F C3 F3 78 */ mr r3, r30
/* 8024BECC 00248E2C 98 1E 02 E8 */ stb r0, 0x2e8(r30)
/* 8024BED0 00248E30 7F E5 FB 78 */ mr r5, r31
/* 8024BED4 00248E34 38 80 00 0E */ li r4, 0xe
/* 8024BED8 00248E38 38 C0 FF FF */ li r6, -1
/* 8024BEDC 00248E3C 4B E0 51 E5 */ bl SendScriptMsgs__7CEntityF18EScriptObjectStateR13CStateManager20EScriptObjectMessage
/* 8024BEE0 00248E40 7F C3 F3 78 */ mr r3, r30
/* 8024BEE4 00248E44 4B E0 93 61 */ bl RemoveEmitter__6CActorFv
/* 8024BEE8 00248E48 7F C3 F3 78 */ mr r3, r30
/* 8024BEEC 00248E4C 38 80 00 00 */ li r4, 0
/* 8024BEF0 00248E50 81 9E 00 00 */ lwz r12, 0(r30)
/* 8024BEF4 00248E54 81 8C 00 1C */ lwz r12, 0x1c(r12)
/* 8024BEF8 00248E58 7D 89 03 A6 */ mtctr r12
/* 8024BEFC 00248E5C 4E 80 04 21 */ bctrl
lbl_8024BF00:
/* 8024BF00 00248E60 E3 E1 01 18 */ psq_l f31, 280(r1), 0, qr0
/* 8024BF04 00248E64 CB E1 01 10 */ lfd f31, 0x110(r1)
/* 8024BF08 00248E68 BB 61 00 FC */ lmw r27, 0xfc(r1)
/* 8024BF0C 00248E6C 80 01 01 24 */ lwz r0, 0x124(r1)
/* 8024BF10 00248E70 7C 08 03 A6 */ mtlr r0
/* 8024BF14 00248E74 38 21 01 20 */ addi r1, r1, 0x120
/* 8024BF18 00248E78 4E 80 00 20 */ blr
.global sub_8024bf1c
sub_8024bf1c:
/* 8024BF1C 00248E7C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8024BF20 00248E80 7C 08 02 A6 */ mflr r0
/* 8024BF24 00248E84 90 01 00 14 */ stw r0, 0x14(r1)
/* 8024BF28 00248E88 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8024BF2C 00248E8C 80 A3 00 64 */ lwz r5, 0x64(r3)
/* 8024BF30 00248E90 80 64 09 00 */ lwz r3, 0x900(r4)
/* 8024BF34 00248E94 83 E5 00 10 */ lwz r31, 0x10(r5)
/* 8024BF38 00248E98 48 0C 65 A5 */ bl Float__9CRandom16Fv
/* 8024BF3C 00248E9C C0 42 B8 A0 */ lfs f2, lbl_805AD5C0@sda21(r2)
/* 8024BF40 00248EA0 7F E3 FB 78 */ mr r3, r31
/* 8024BF44 00248EA4 C0 02 B8 9C */ lfs f0, lbl_805AD5BC@sda21(r2)
/* 8024BF48 00248EA8 EC 22 00 7A */ fmadds f1, f2, f1, f0
/* 8024BF4C 00248EAC 4B DD F5 0D */ bl MultiplyPlaybackRate__9CAnimDataFf
/* 8024BF50 00248EB0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8024BF54 00248EB4 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8024BF58 00248EB8 7C 08 03 A6 */ mtlr r0
/* 8024BF5C 00248EBC 38 21 00 10 */ addi r1, r1, 0x10
/* 8024BF60 00248EC0 4E 80 00 20 */ blr
.global GetTouchBounds__10CAmbientAICFv
GetTouchBounds__10CAmbientAICFv:
/* 8024BF64 00248EC4 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8024BF68 00248EC8 7C 08 02 A6 */ mflr r0
/* 8024BF6C 00248ECC 90 01 00 34 */ stw r0, 0x34(r1)
/* 8024BF70 00248ED0 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 8024BF74 00248ED4 7C 7F 1B 78 */ mr r31, r3
/* 8024BF78 00248ED8 88 04 00 30 */ lbz r0, 0x30(r4)
/* 8024BF7C 00248EDC 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 8024BF80 00248EE0 41 82 00 50 */ beq lbl_8024BFD0
/* 8024BF84 00248EE4 38 61 00 08 */ addi r3, r1, 8
/* 8024BF88 00248EE8 4B EC E9 A5 */ bl GetBoundingBox__13CPhysicsActorCFv
/* 8024BF8C 00248EEC 38 00 00 01 */ li r0, 1
/* 8024BF90 00248EF0 28 1F 00 00 */ cmplwi r31, 0
/* 8024BF94 00248EF4 98 1F 00 18 */ stb r0, 0x18(r31)
/* 8024BF98 00248EF8 41 82 00 40 */ beq lbl_8024BFD8
/* 8024BF9C 00248EFC C0 01 00 08 */ lfs f0, 8(r1)
/* 8024BFA0 00248F00 D0 1F 00 00 */ stfs f0, 0(r31)
/* 8024BFA4 00248F04 C0 01 00 0C */ lfs f0, 0xc(r1)
/* 8024BFA8 00248F08 D0 1F 00 04 */ stfs f0, 4(r31)
/* 8024BFAC 00248F0C C0 01 00 10 */ lfs f0, 0x10(r1)
/* 8024BFB0 00248F10 D0 1F 00 08 */ stfs f0, 8(r31)
/* 8024BFB4 00248F14 C0 01 00 14 */ lfs f0, 0x14(r1)
/* 8024BFB8 00248F18 D0 1F 00 0C */ stfs f0, 0xc(r31)
/* 8024BFBC 00248F1C C0 01 00 18 */ lfs f0, 0x18(r1)
/* 8024BFC0 00248F20 D0 1F 00 10 */ stfs f0, 0x10(r31)
/* 8024BFC4 00248F24 C0 01 00 1C */ lfs f0, 0x1c(r1)
/* 8024BFC8 00248F28 D0 1F 00 14 */ stfs f0, 0x14(r31)
/* 8024BFCC 00248F2C 48 00 00 0C */ b lbl_8024BFD8
lbl_8024BFD0:
/* 8024BFD0 00248F30 38 00 00 00 */ li r0, 0
/* 8024BFD4 00248F34 98 1F 00 18 */ stb r0, 0x18(r31)
lbl_8024BFD8:
/* 8024BFD8 00248F38 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8024BFDC 00248F3C 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 8024BFE0 00248F40 7C 08 03 A6 */ mtlr r0
/* 8024BFE4 00248F44 38 21 00 30 */ addi r1, r1, 0x30
/* 8024BFE8 00248F48 4E 80 00 20 */ blr
.global Touch__10CAmbientAIFR6CActorR13CStateManager
Touch__10CAmbientAIFR6CActorR13CStateManager:
/* 8024BFEC 00248F4C 4E 80 00 20 */ blr
.global GetDamageVulnerability__10CAmbientAICFv
GetDamageVulnerability__10CAmbientAICFv:
/* 8024BFF0 00248F50 38 63 02 68 */ addi r3, r3, 0x268
/* 8024BFF4 00248F54 4E 80 00 20 */ blr
.global HealthInfo__10CAmbientAIFR13CStateManager
HealthInfo__10CAmbientAIFR13CStateManager:
/* 8024BFF8 00248F58 38 63 02 60 */ addi r3, r3, 0x260
/* 8024BFFC 00248F5C 4E 80 00 20 */ blr
.global __ct__10CAmbientAI
__ct__10CAmbientAI:
/* 8024C000 00248F60 94 21 FF 40 */ stwu r1, -0xc0(r1)
/* 8024C004 00248F64 7C 08 02 A6 */ mflr r0
/* 8024C008 00248F68 90 01 00 C4 */ stw r0, 0xc4(r1)
/* 8024C00C 00248F6C DB E1 00 B0 */ stfd f31, 0xb0(r1)
/* 8024C010 00248F70 F3 E1 00 B8 */ psq_st f31, 184(r1), 0, qr0
/* 8024C014 00248F74 DB C1 00 A0 */ stfd f30, 0xa0(r1)
/* 8024C018 00248F78 F3 C1 00 A8 */ psq_st f30, 168(r1), 0, qr0
/* 8024C01C 00248F7C DB A1 00 90 */ stfd f29, 0x90(r1)
/* 8024C020 00248F80 F3 A1 00 98 */ psq_st f29, 152(r1), 0, qr0
/* 8024C024 00248F84 BE 21 00 54 */ stmw r17, 0x54(r1)
/* 8024C028 00248F88 FF A0 08 90 */ fmr f29, f1
/* 8024C02C 00248F8C 83 21 00 C8 */ lwz r25, 0xc8(r1)
/* 8024C030 00248F90 FF C0 10 90 */ fmr f30, f2
/* 8024C034 00248F94 83 41 00 CC */ lwz r26, 0xcc(r1)
/* 8024C038 00248F98 FF E0 18 90 */ fmr f31, f3
/* 8024C03C 00248F9C 83 61 00 D0 */ lwz r27, 0xd0(r1)
/* 8024C040 00248FA0 83 81 00 D4 */ lwz r28, 0xd4(r1)
/* 8024C044 00248FA4 7C 72 1B 78 */ mr r18, r3
/* 8024C048 00248FA8 83 A1 00 D8 */ lwz r29, 0xd8(r1)
/* 8024C04C 00248FAC 7C 91 23 78 */ mr r17, r4
/* 8024C050 00248FB0 8B C1 00 DF */ lbz r30, 0xdf(r1)
/* 8024C054 00248FB4 7C B3 2B 78 */ mr r19, r5
/* 8024C058 00248FB8 7C D4 33 78 */ mr r20, r6
/* 8024C05C 00248FBC 7C F5 3B 78 */ mr r21, r7
/* 8024C060 00248FC0 7D 16 43 78 */ mr r22, r8
/* 8024C064 00248FC4 7D 37 4B 78 */ mr r23, r9
/* 8024C068 00248FC8 7D 58 53 78 */ mr r24, r10
/* 8024C06C 00248FCC 4B DC F4 C9 */ bl Identity__10CAxisAngleFv
/* 8024C070 00248FD0 7C 7F 1B 78 */ mr r31, r3
/* 8024C074 00248FD4 4B DC F4 C1 */ bl Identity__10CAxisAngleFv
/* 8024C078 00248FD8 3C 80 80 5A */ lis r4, sZeroVector__9CVector3f@ha
/* 8024C07C 00248FDC C4 64 66 A0 */ lfsu f3, sZeroVector__9CVector3f@l(r4)
/* 8024C080 00248FE0 A1 71 00 00 */ lhz r11, 0(r17)
/* 8024C084 00248FE4 38 01 00 1C */ addi r0, r1, 0x1c
/* 8024C088 00248FE8 C0 84 00 04 */ lfs f4, 4(r4)
/* 8024C08C 00248FEC 7F C5 F3 78 */ mr r5, r30
/* 8024C090 00248FF0 C0 A4 00 08 */ lfs f5, 8(r4)
/* 8024C094 00248FF4 7E 66 9B 78 */ mr r6, r19
/* 8024C098 00248FF8 D0 61 00 1C */ stfs f3, 0x1c(r1)
/* 8024C09C 00248FFC 7E 87 A3 78 */ mr r7, r20
/* 8024C0A0 00249000 C0 22 B8 A4 */ lfs f1, lbl_805AD5C4@sda21(r2)
/* 8024C0A4 00249004 7E A8 AB 78 */ mr r8, r21
/* 8024C0A8 00249008 D0 81 00 20 */ stfs f4, 0x20(r1)
/* 8024C0AC 0024900C 7E C9 B3 78 */ mr r9, r22
/* 8024C0B0 00249010 C0 42 B8 A8 */ lfs f2, lbl_805AD5C8@sda21(r2)
/* 8024C0B4 00249014 7F 0A C3 78 */ mr r10, r24
/* 8024C0B8 00249018 D0 A1 00 24 */ stfs f5, 0x24(r1)
/* 8024C0BC 0024901C 38 81 00 18 */ addi r4, r1, 0x18
/* 8024C0C0 00249020 C0 03 00 00 */ lfs f0, 0(r3)
/* 8024C0C4 00249024 D0 01 00 28 */ stfs f0, 0x28(r1)
/* 8024C0C8 00249028 C0 03 00 04 */ lfs f0, 4(r3)
/* 8024C0CC 0024902C D0 01 00 2C */ stfs f0, 0x2c(r1)
/* 8024C0D0 00249030 C0 03 00 08 */ lfs f0, 8(r3)
/* 8024C0D4 00249034 7E 43 93 78 */ mr r3, r18
/* 8024C0D8 00249038 D0 01 00 30 */ stfs f0, 0x30(r1)
/* 8024C0DC 0024903C D0 61 00 34 */ stfs f3, 0x34(r1)
/* 8024C0E0 00249040 D0 81 00 38 */ stfs f4, 0x38(r1)
/* 8024C0E4 00249044 D0 A1 00 3C */ stfs f5, 0x3c(r1)
/* 8024C0E8 00249048 C0 1F 00 00 */ lfs f0, 0(r31)
/* 8024C0EC 0024904C D0 01 00 40 */ stfs f0, 0x40(r1)
/* 8024C0F0 00249050 C0 1F 00 04 */ lfs f0, 4(r31)
/* 8024C0F4 00249054 D0 01 00 44 */ stfs f0, 0x44(r1)
/* 8024C0F8 00249058 C0 1F 00 08 */ lfs f0, 8(r31)
/* 8024C0FC 0024905C D0 01 00 48 */ stfs f0, 0x48(r1)
/* 8024C100 00249060 D3 A1 00 4C */ stfs f29, 0x4c(r1)
/* 8024C104 00249064 B1 61 00 18 */ sth r11, 0x18(r1)
/* 8024C108 00249068 92 E1 00 08 */ stw r23, 8(r1)
/* 8024C10C 0024906C 90 01 00 0C */ stw r0, 0xc(r1)
/* 8024C110 00249070 93 61 00 10 */ stw r27, 0x10(r1)
/* 8024C114 00249074 4B ED 03 9D */ bl "__ct__13CPhysicsActorF9TUniqueIdbRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>RC11CEntityInfoRC12CTransform4fRC10CModelDataRC13CMaterialListRC6CAABoxRC10SMoverDataRC16CActorParametersff"
/* 8024C118 00249078 3C 60 80 3F */ lis r3, lbl_803E8CB0@ha
/* 8024C11C 0024907C 38 A0 00 00 */ li r5, 0
/* 8024C120 00249080 38 03 8C B0 */ addi r0, r3, lbl_803E8CB0@l
/* 8024C124 00249084 38 80 00 01 */ li r4, 1
/* 8024C128 00249088 90 12 00 00 */ stw r0, 0(r18)
/* 8024C12C 0024908C C0 19 00 00 */ lfs f0, 0(r25)
/* 8024C130 00249090 D0 12 02 58 */ stfs f0, 0x258(r18)
/* 8024C134 00249094 C0 19 00 04 */ lfs f0, 4(r25)
/* 8024C138 00249098 D0 12 02 5C */ stfs f0, 0x25c(r18)
/* 8024C13C 0024909C C0 19 00 00 */ lfs f0, 0(r25)
/* 8024C140 002490A0 D0 12 02 60 */ stfs f0, 0x260(r18)
/* 8024C144 002490A4 C0 19 00 04 */ lfs f0, 4(r25)
/* 8024C148 002490A8 D0 12 02 64 */ stfs f0, 0x264(r18)
/* 8024C14C 002490AC 80 7A 00 00 */ lwz r3, 0(r26)
/* 8024C150 002490B0 80 1A 00 04 */ lwz r0, 4(r26)
/* 8024C154 002490B4 90 72 02 68 */ stw r3, 0x268(r18)
/* 8024C158 002490B8 90 12 02 6C */ stw r0, 0x26c(r18)
/* 8024C15C 002490BC 80 7A 00 08 */ lwz r3, 8(r26)
/* 8024C160 002490C0 80 1A 00 0C */ lwz r0, 0xc(r26)
/* 8024C164 002490C4 90 72 02 70 */ stw r3, 0x270(r18)
/* 8024C168 002490C8 90 12 02 74 */ stw r0, 0x274(r18)
/* 8024C16C 002490CC 80 7A 00 10 */ lwz r3, 0x10(r26)
/* 8024C170 002490D0 80 1A 00 14 */ lwz r0, 0x14(r26)
/* 8024C174 002490D4 90 72 02 78 */ stw r3, 0x278(r18)
/* 8024C178 002490D8 90 12 02 7C */ stw r0, 0x27c(r18)
/* 8024C17C 002490DC 80 7A 00 18 */ lwz r3, 0x18(r26)
/* 8024C180 002490E0 80 1A 00 1C */ lwz r0, 0x1c(r26)
/* 8024C184 002490E4 90 72 02 80 */ stw r3, 0x280(r18)
/* 8024C188 002490E8 90 12 02 84 */ stw r0, 0x284(r18)
/* 8024C18C 002490EC 80 7A 00 20 */ lwz r3, 0x20(r26)
/* 8024C190 002490F0 80 1A 00 24 */ lwz r0, 0x24(r26)
/* 8024C194 002490F4 90 72 02 88 */ stw r3, 0x288(r18)
/* 8024C198 002490F8 90 12 02 8C */ stw r0, 0x28c(r18)
/* 8024C19C 002490FC 80 7A 00 28 */ lwz r3, 0x28(r26)
/* 8024C1A0 00249100 80 1A 00 2C */ lwz r0, 0x2c(r26)
/* 8024C1A4 00249104 90 72 02 90 */ stw r3, 0x290(r18)
/* 8024C1A8 00249108 90 12 02 94 */ stw r0, 0x294(r18)
/* 8024C1AC 0024910C 80 7A 00 30 */ lwz r3, 0x30(r26)
/* 8024C1B0 00249110 80 1A 00 34 */ lwz r0, 0x34(r26)
/* 8024C1B4 00249114 90 72 02 98 */ stw r3, 0x298(r18)
/* 8024C1B8 00249118 90 12 02 9C */ stw r0, 0x29c(r18)
/* 8024C1BC 0024911C 80 1A 00 38 */ lwz r0, 0x38(r26)
/* 8024C1C0 00249120 90 12 02 A0 */ stw r0, 0x2a0(r18)
/* 8024C1C4 00249124 80 7A 00 3C */ lwz r3, 0x3c(r26)
/* 8024C1C8 00249128 80 1A 00 40 */ lwz r0, 0x40(r26)
/* 8024C1CC 0024912C 90 72 02 A4 */ stw r3, 0x2a4(r18)
/* 8024C1D0 00249130 90 12 02 A8 */ stw r0, 0x2a8(r18)
/* 8024C1D4 00249134 80 7A 00 44 */ lwz r3, 0x44(r26)
/* 8024C1D8 00249138 80 1A 00 48 */ lwz r0, 0x48(r26)
/* 8024C1DC 0024913C 90 72 02 AC */ stw r3, 0x2ac(r18)
/* 8024C1E0 00249140 90 12 02 B0 */ stw r0, 0x2b0(r18)
/* 8024C1E4 00249144 80 7A 00 4C */ lwz r3, 0x4c(r26)
/* 8024C1E8 00249148 80 1A 00 50 */ lwz r0, 0x50(r26)
/* 8024C1EC 0024914C 90 72 02 B4 */ stw r3, 0x2b4(r18)
/* 8024C1F0 00249150 90 12 02 B8 */ stw r0, 0x2b8(r18)
/* 8024C1F4 00249154 80 7A 00 54 */ lwz r3, 0x54(r26)
/* 8024C1F8 00249158 80 1A 00 58 */ lwz r0, 0x58(r26)
/* 8024C1FC 0024915C 90 72 02 BC */ stw r3, 0x2bc(r18)
/* 8024C200 00249160 90 12 02 C0 */ stw r0, 0x2c0(r18)
/* 8024C204 00249164 80 1A 00 5C */ lwz r0, 0x5c(r26)
/* 8024C208 00249168 90 12 02 C4 */ stw r0, 0x2c4(r18)
/* 8024C20C 0024916C 80 1A 00 60 */ lwz r0, 0x60(r26)
/* 8024C210 00249170 90 12 02 C8 */ stw r0, 0x2c8(r18)
/* 8024C214 00249174 80 1A 00 64 */ lwz r0, 0x64(r26)
/* 8024C218 00249178 90 12 02 CC */ stw r0, 0x2cc(r18)
/* 8024C21C 0024917C 90 B2 02 D0 */ stw r5, 0x2d0(r18)
/* 8024C220 00249180 D3 D2 02 D4 */ stfs f30, 0x2d4(r18)
/* 8024C224 00249184 D3 F2 02 D8 */ stfs f31, 0x2d8(r18)
/* 8024C228 00249188 80 72 00 64 */ lwz r3, 0x64(r18)
/* 8024C22C 0024918C 80 63 00 10 */ lwz r3, 0x10(r3)
/* 8024C230 00249190 A8 03 02 08 */ lha r0, 0x208(r3)
/* 8024C234 00249194 90 12 02 DC */ stw r0, 0x2dc(r18)
/* 8024C238 00249198 93 92 02 E0 */ stw r28, 0x2e0(r18)
/* 8024C23C 0024919C 93 B2 02 E4 */ stw r29, 0x2e4(r18)
/* 8024C240 002491A0 88 12 02 E8 */ lbz r0, 0x2e8(r18)
/* 8024C244 002491A4 50 A0 3E 30 */ rlwimi r0, r5, 7, 0x18, 0x18
/* 8024C248 002491A8 98 12 02 E8 */ stb r0, 0x2e8(r18)
/* 8024C24C 002491AC 88 12 02 E8 */ lbz r0, 0x2e8(r18)
/* 8024C250 002491B0 50 A0 36 72 */ rlwimi r0, r5, 6, 0x19, 0x19
/* 8024C254 002491B4 98 12 02 E8 */ stb r0, 0x2e8(r18)
/* 8024C258 002491B8 80 72 00 64 */ lwz r3, 0x64(r18)
/* 8024C25C 002491BC 4B EC 93 05 */ bl EnableLooping__10CModelDataFb
/* 8024C260 002491C0 7E 43 93 78 */ mr r3, r18
/* 8024C264 002491C4 E3 E1 00 B8 */ psq_l f31, 184(r1), 0, qr0
/* 8024C268 002491C8 CB E1 00 B0 */ lfd f31, 0xb0(r1)
/* 8024C26C 002491CC E3 C1 00 A8 */ psq_l f30, 168(r1), 0, qr0
/* 8024C270 002491D0 CB C1 00 A0 */ lfd f30, 0xa0(r1)
/* 8024C274 002491D4 E3 A1 00 98 */ psq_l f29, 152(r1), 0, qr0
/* 8024C278 002491D8 CB A1 00 90 */ lfd f29, 0x90(r1)
/* 8024C27C 002491DC BA 21 00 54 */ lmw r17, 0x54(r1)
/* 8024C280 002491E0 80 01 00 C4 */ lwz r0, 0xc4(r1)
/* 8024C284 002491E4 7C 08 03 A6 */ mtlr r0
/* 8024C288 002491E8 38 21 00 C0 */ addi r1, r1, 0xc0
/* 8024C28C 002491EC 4E 80 00 20 */ blr
.section .sdata2, "a"
.balign 8
.global lbl_805AD5B0
lbl_805AD5B0:
# ROM: 0x3F9E50
.float 1.0
.global lbl_805AD5B4
lbl_805AD5B4:
# ROM: 0x3F9E54
.float 1.1920929E-7
.global lbl_805AD5B8
lbl_805AD5B8:
# ROM: 0x3F9E58
.4byte 0
.global lbl_805AD5BC
lbl_805AD5BC:
# ROM: 0x3F9E5C
.4byte 0x3F4CCCCD
.global lbl_805AD5C0
lbl_805AD5C0:
# ROM: 0x3F9E60
.float 0.4
.global lbl_805AD5C4
lbl_805AD5C4:
# ROM: 0x3F9E64
.float 0.3
.global lbl_805AD5C8
lbl_805AD5C8:
# ROM: 0x3F9E68
.float 0.1
.4byte 0
.section .rodata
.balign 8
.global lbl_803D4798
lbl_803D4798:
# ROM: 0x3D1798
.asciz "Whole Body"
.balign 4
.4byte 0