prime/asm/MetroidPrime/Enemies/CBurstFire.s

355 lines
16 KiB
ArmAsm
Raw Normal View History

.include "macros.inc"
.section .text, "ax"
.global GetMaxZError__10CBurstFireCFv
GetMaxZError__10CBurstFireCFv:
/* 801AD120 001AA080 80 6D A1 18 */ lwz r3, gpTweakPlayer@sda21(r13)
/* 801AD124 001AA084 C0 23 01 24 */ lfs f1, 0x124(r3)
/* 801AD128 001AA088 4E 80 00 20 */ blr
.global GetMaxXError__10CBurstFireCFv
GetMaxXError__10CBurstFireCFv:
/* 801AD12C 001AA08C 80 6D A1 18 */ lwz r3, gpTweakPlayer@sda21(r13)
/* 801AD130 001AA090 C0 42 A8 7C */ lfs f2, lbl_805AC59C@sda21(r2)
/* 801AD134 001AA094 C0 23 02 70 */ lfs f1, 0x270(r3)
/* 801AD138 001AA098 C0 02 A8 78 */ lfs f0, lbl_805AC598@sda21(r2)
/* 801AD13C 001AA09C EC 22 00 7A */ fmadds f1, f2, f1, f0
/* 801AD140 001AA0A0 4E 80 00 20 */ blr
.global GetDistanceCompensatedError__10CBurstFireCFff
GetDistanceCompensatedError__10CBurstFireCFff:
/* 801AD144 001AA0A4 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 801AD148 001AA0A8 7C 08 02 A6 */ mflr r0
/* 801AD14C 001AA0AC 90 01 00 44 */ stw r0, 0x44(r1)
/* 801AD150 001AA0B0 DB E1 00 30 */ stfd f31, 0x30(r1)
/* 801AD154 001AA0B4 F3 E1 00 38 */ psq_st f31, 56(r1), 0, qr0
/* 801AD158 001AA0B8 DB C1 00 20 */ stfd f30, 0x20(r1)
/* 801AD15C 001AA0BC F3 C1 00 28 */ psq_st f30, 40(r1), 0, qr0
/* 801AD160 001AA0C0 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 801AD164 001AA0C4 93 C1 00 18 */ stw r30, 0x18(r1)
/* 801AD168 001AA0C8 FF C0 08 90 */ fmr f30, f1
/* 801AD16C 001AA0CC 7C 9F 23 78 */ mr r31, r4
/* 801AD170 001AA0D0 FF E0 10 90 */ fmr f31, f2
/* 801AD174 001AA0D4 7C 7E 1B 78 */ mr r30, r3
/* 801AD178 001AA0D8 7F E3 FB 78 */ mr r3, r31
/* 801AD17C 001AA0DC 4B FF FF B1 */ bl GetMaxXError__10CBurstFireCFv
/* 801AD180 001AA0E0 D0 21 00 14 */ stfs f1, 0x14(r1)
/* 801AD184 001AA0E4 7F E3 FB 78 */ mr r3, r31
/* 801AD188 001AA0E8 4B FF FF 99 */ bl GetMaxZError__10CBurstFireCFv
/* 801AD18C 001AA0EC EC 7E F8 24 */ fdivs f3, f30, f31
/* 801AD190 001AA0F0 C0 41 00 14 */ lfs f2, 0x14(r1)
/* 801AD194 001AA0F4 D0 21 00 10 */ stfs f1, 0x10(r1)
/* 801AD198 001AA0F8 EC 03 00 B2 */ fmuls f0, f3, f2
/* 801AD19C 001AA0FC FC 02 00 40 */ fcmpo cr0, f2, f0
/* 801AD1A0 001AA100 D0 01 00 0C */ stfs f0, 0xc(r1)
/* 801AD1A4 001AA104 40 80 00 0C */ bge lbl_801AD1B0
/* 801AD1A8 001AA108 38 61 00 14 */ addi r3, r1, 0x14
/* 801AD1AC 001AA10C 48 00 00 08 */ b lbl_801AD1B4
lbl_801AD1B0:
/* 801AD1B0 001AA110 38 61 00 0C */ addi r3, r1, 0xc
lbl_801AD1B4:
/* 801AD1B4 001AA114 C0 41 00 10 */ lfs f2, 0x10(r1)
/* 801AD1B8 001AA118 C0 23 00 00 */ lfs f1, 0(r3)
/* 801AD1BC 001AA11C EC 03 00 B2 */ fmuls f0, f3, f2
/* 801AD1C0 001AA120 D0 21 00 14 */ stfs f1, 0x14(r1)
/* 801AD1C4 001AA124 FC 02 00 40 */ fcmpo cr0, f2, f0
/* 801AD1C8 001AA128 D0 01 00 08 */ stfs f0, 8(r1)
/* 801AD1CC 001AA12C 40 80 00 0C */ bge lbl_801AD1D8
/* 801AD1D0 001AA130 38 61 00 10 */ addi r3, r1, 0x10
/* 801AD1D4 001AA134 48 00 00 08 */ b lbl_801AD1DC
lbl_801AD1D8:
/* 801AD1D8 001AA138 38 61 00 08 */ addi r3, r1, 8
lbl_801AD1DC:
/* 801AD1DC 001AA13C C0 43 00 00 */ lfs f2, 0(r3)
/* 801AD1E0 001AA140 7F C3 F3 78 */ mr r3, r30
/* 801AD1E4 001AA144 C0 21 00 14 */ lfs f1, 0x14(r1)
/* 801AD1E8 001AA148 7F E4 FB 78 */ mr r4, r31
/* 801AD1EC 001AA14C D0 41 00 10 */ stfs f2, 0x10(r1)
/* 801AD1F0 001AA150 48 00 00 2D */ bl GetError__10CBurstFireCFff
/* 801AD1F4 001AA154 E3 E1 00 38 */ psq_l f31, 56(r1), 0, qr0
/* 801AD1F8 001AA158 CB E1 00 30 */ lfd f31, 0x30(r1)
/* 801AD1FC 001AA15C E3 C1 00 28 */ psq_l f30, 40(r1), 0, qr0
/* 801AD200 001AA160 CB C1 00 20 */ lfd f30, 0x20(r1)
/* 801AD204 001AA164 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 801AD208 001AA168 80 01 00 44 */ lwz r0, 0x44(r1)
/* 801AD20C 001AA16C 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 801AD210 001AA170 7C 08 03 A6 */ mtlr r0
/* 801AD214 001AA174 38 21 00 40 */ addi r1, r1, 0x40
/* 801AD218 001AA178 4E 80 00 20 */ blr
.global GetError__10CBurstFireCFff
GetError__10CBurstFireCFff:
/* 801AD21C 001AA17C 94 21 FF 90 */ stwu r1, -0x70(r1)
/* 801AD220 001AA180 7C 08 02 A6 */ mflr r0
/* 801AD224 001AA184 90 01 00 74 */ stw r0, 0x74(r1)
/* 801AD228 001AA188 DB E1 00 60 */ stfd f31, 0x60(r1)
/* 801AD22C 001AA18C F3 E1 00 68 */ psq_st f31, 104(r1), 0, qr0
/* 801AD230 001AA190 DB C1 00 50 */ stfd f30, 0x50(r1)
/* 801AD234 001AA194 F3 C1 00 58 */ psq_st f30, 88(r1), 0, qr0
/* 801AD238 001AA198 DB A1 00 40 */ stfd f29, 0x40(r1)
/* 801AD23C 001AA19C F3 A1 00 48 */ psq_st f29, 72(r1), 0, qr0
/* 801AD240 001AA1A0 DB 81 00 30 */ stfd f28, 0x30(r1)
/* 801AD244 001AA1A4 F3 81 00 38 */ psq_st f28, 56(r1), 0, qr0
/* 801AD248 001AA1A8 DB 61 00 20 */ stfd f27, 0x20(r1)
/* 801AD24C 001AA1AC F3 61 00 28 */ psq_st f27, 40(r1), 0, qr0
/* 801AD250 001AA1B0 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 801AD254 001AA1B4 88 A4 00 14 */ lbz r5, 0x14(r4)
/* 801AD258 001AA1B8 3C C0 80 5A */ lis r6, skZero3f@ha
/* 801AD25C 001AA1BC C7 E6 66 A0 */ lfsu f31, skZero3f@l(r6)
/* 801AD260 001AA1C0 FF 60 08 90 */ fmr f27, f1
/* 801AD264 001AA1C4 54 A0 CF FF */ rlwinm. r0, r5, 0x19, 0x1f, 0x1f
/* 801AD268 001AA1C8 FF 80 10 90 */ fmr f28, f2
/* 801AD26C 001AA1CC C3 C6 00 04 */ lfs f30, 4(r6)
/* 801AD270 001AA1D0 7C 7F 1B 78 */ mr r31, r3
/* 801AD274 001AA1D4 C0 06 00 08 */ lfs f0, 8(r6)
/* 801AD278 001AA1D8 41 82 00 94 */ beq lbl_801AD30C
/* 801AD27C 001AA1DC 80 64 00 18 */ lwz r3, 0x18(r4)
/* 801AD280 001AA1E0 28 03 00 00 */ cmplwi r3, 0
/* 801AD284 001AA1E4 41 82 00 88 */ beq lbl_801AD30C
/* 801AD288 001AA1E8 80 84 00 04 */ lwz r4, 4(r4)
/* 801AD28C 001AA1EC 54 A0 D7 FF */ rlwinm. r0, r5, 0x1a, 0x1f, 0x1f
/* 801AD290 001AA1F0 38 63 00 04 */ addi r3, r3, 4
/* 801AD294 001AA1F4 54 80 10 3A */ slwi r0, r4, 2
/* 801AD298 001AA1F8 7C 03 00 2E */ lwzx r0, r3, r0
/* 801AD29C 001AA1FC 41 82 00 2C */ beq lbl_801AD2C8
/* 801AD2A0 001AA200 2C 00 00 04 */ cmpwi r0, 4
/* 801AD2A4 001AA204 41 82 00 0C */ beq lbl_801AD2B0
/* 801AD2A8 001AA208 2C 00 00 0C */ cmpwi r0, 0xc
/* 801AD2AC 001AA20C 40 82 00 1C */ bne lbl_801AD2C8
lbl_801AD2B0:
/* 801AD2B0 001AA210 2C 04 00 00 */ cmpwi r4, 0
/* 801AD2B4 001AA214 38 04 00 01 */ addi r0, r4, 1
/* 801AD2B8 001AA218 40 81 00 08 */ ble lbl_801AD2C0
/* 801AD2BC 001AA21C 38 04 FF FF */ addi r0, r4, -1
lbl_801AD2C0:
/* 801AD2C0 001AA220 54 00 10 3A */ slwi r0, r0, 2
/* 801AD2C4 001AA224 7C 03 00 2E */ lwzx r0, r3, r0
lbl_801AD2C8:
/* 801AD2C8 001AA228 2C 00 00 00 */ cmpwi r0, 0
/* 801AD2CC 001AA22C 40 81 00 40 */ ble lbl_801AD30C
/* 801AD2D0 001AA230 6C 03 80 00 */ xoris r3, r0, 0x8000
/* 801AD2D4 001AA234 3C 00 43 30 */ lis r0, 0x4330
/* 801AD2D8 001AA238 90 61 00 0C */ stw r3, 0xc(r1)
/* 801AD2DC 001AA23C C8 22 A8 88 */ lfd f1, lbl_805AC5A8@sda21(r2)
/* 801AD2E0 001AA240 90 01 00 08 */ stw r0, 8(r1)
/* 801AD2E4 001AA244 C0 42 A8 80 */ lfs f2, lbl_805AC5A0@sda21(r2)
/* 801AD2E8 001AA248 C8 01 00 08 */ lfd f0, 8(r1)
/* 801AD2EC 001AA24C EC 00 08 28 */ fsubs f0, f0, f1
/* 801AD2F0 001AA250 EF A2 00 32 */ fmuls f29, f2, f0
/* 801AD2F4 001AA254 FC 20 E8 90 */ fmr f1, f29
/* 801AD2F8 001AA258 48 16 7A 4D */ bl FastCosR__5CMathFf
/* 801AD2FC 001AA25C EF FB 00 72 */ fmuls f31, f27, f1
/* 801AD300 001AA260 FC 20 E8 90 */ fmr f1, f29
/* 801AD304 001AA264 48 16 7A ED */ bl FastSinR__5CMathFf
/* 801AD308 001AA268 EC 1C 00 72 */ fmuls f0, f28, f1
lbl_801AD30C:
/* 801AD30C 001AA26C D3 FF 00 00 */ stfs f31, 0(r31)
/* 801AD310 001AA270 D3 DF 00 04 */ stfs f30, 4(r31)
/* 801AD314 001AA274 D0 1F 00 08 */ stfs f0, 8(r31)
/* 801AD318 001AA278 E3 E1 00 68 */ psq_l f31, 104(r1), 0, qr0
/* 801AD31C 001AA27C CB E1 00 60 */ lfd f31, 0x60(r1)
/* 801AD320 001AA280 E3 C1 00 58 */ psq_l f30, 88(r1), 0, qr0
/* 801AD324 001AA284 CB C1 00 50 */ lfd f30, 0x50(r1)
/* 801AD328 001AA288 E3 A1 00 48 */ psq_l f29, 72(r1), 0, qr0
/* 801AD32C 001AA28C CB A1 00 40 */ lfd f29, 0x40(r1)
/* 801AD330 001AA290 E3 81 00 38 */ psq_l f28, 56(r1), 0, qr0
/* 801AD334 001AA294 CB 81 00 30 */ lfd f28, 0x30(r1)
/* 801AD338 001AA298 E3 61 00 28 */ psq_l f27, 40(r1), 0, qr0
/* 801AD33C 001AA29C CB 61 00 20 */ lfd f27, 0x20(r1)
/* 801AD340 001AA2A0 80 01 00 74 */ lwz r0, 0x74(r1)
/* 801AD344 001AA2A4 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 801AD348 001AA2A8 7C 08 03 A6 */ mtlr r0
/* 801AD34C 001AA2AC 38 21 00 70 */ addi r1, r1, 0x70
/* 801AD350 001AA2B0 4E 80 00 20 */ blr
.global Update__10CBurstFireFR13CStateManagerf
Update__10CBurstFireFR13CStateManagerf:
/* 801AD354 001AA2B4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 801AD358 001AA2B8 7C 08 02 A6 */ mflr r0
/* 801AD35C 001AA2BC 38 A0 00 00 */ li r5, 0
/* 801AD360 001AA2C0 90 01 00 14 */ stw r0, 0x14(r1)
/* 801AD364 001AA2C4 93 E1 00 0C */ stw r31, 0xc(r1)
/* 801AD368 001AA2C8 7C 7F 1B 78 */ mr r31, r3
/* 801AD36C 001AA2CC 88 03 00 14 */ lbz r0, 0x14(r3)
/* 801AD370 001AA2D0 50 A0 3E 30 */ rlwimi r0, r5, 7, 0x18, 0x18
/* 801AD374 001AA2D4 98 03 00 14 */ stb r0, 0x14(r3)
/* 801AD378 001AA2D8 80 03 00 18 */ lwz r0, 0x18(r3)
/* 801AD37C 001AA2DC 28 00 00 00 */ cmplwi r0, 0
/* 801AD380 001AA2E0 41 82 00 90 */ beq lbl_801AD410
/* 801AD384 001AA2E4 C0 5F 00 08 */ lfs f2, 8(r31)
/* 801AD388 001AA2E8 C0 02 A8 90 */ lfs f0, lbl_805AC5B0@sda21(r2)
/* 801AD38C 001AA2EC EC 22 08 28 */ fsubs f1, f2, f1
/* 801AD390 001AA2F0 D0 3F 00 08 */ stfs f1, 8(r31)
/* 801AD394 001AA2F4 C0 3F 00 08 */ lfs f1, 8(r31)
/* 801AD398 001AA2F8 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 801AD39C 001AA2FC 40 80 00 74 */ bge lbl_801AD410
/* 801AD3A0 001AA300 80 7F 00 04 */ lwz r3, 4(r31)
/* 801AD3A4 001AA304 38 03 00 01 */ addi r0, r3, 1
/* 801AD3A8 001AA308 90 1F 00 04 */ stw r0, 4(r31)
/* 801AD3AC 001AA30C 80 1F 00 04 */ lwz r0, 4(r31)
/* 801AD3B0 001AA310 80 7F 00 18 */ lwz r3, 0x18(r31)
/* 801AD3B4 001AA314 54 00 10 3A */ slwi r0, r0, 2
/* 801AD3B8 001AA318 7C 63 02 14 */ add r3, r3, r0
/* 801AD3BC 001AA31C 80 03 00 04 */ lwz r0, 4(r3)
/* 801AD3C0 001AA320 2C 00 00 00 */ cmpwi r0, 0
/* 801AD3C4 001AA324 40 81 00 48 */ ble lbl_801AD40C
/* 801AD3C8 001AA328 88 1F 00 14 */ lbz r0, 0x14(r31)
/* 801AD3CC 001AA32C 38 60 00 01 */ li r3, 1
/* 801AD3D0 001AA330 50 60 3E 30 */ rlwimi r0, r3, 7, 0x18, 0x18
/* 801AD3D4 001AA334 98 1F 00 14 */ stb r0, 0x14(r31)
/* 801AD3D8 001AA338 80 7F 00 18 */ lwz r3, 0x18(r31)
/* 801AD3DC 001AA33C C0 03 00 24 */ lfs f0, 0x24(r3)
/* 801AD3E0 001AA340 D0 1F 00 08 */ stfs f0, 8(r31)
/* 801AD3E4 001AA344 80 64 09 00 */ lwz r3, 0x900(r4)
/* 801AD3E8 001AA348 48 16 50 F5 */ bl Float__9CRandom16Fv
/* 801AD3EC 001AA34C C0 02 A8 94 */ lfs f0, lbl_805AC5B4@sda21(r2)
/* 801AD3F0 001AA350 80 7F 00 18 */ lwz r3, 0x18(r31)
/* 801AD3F4 001AA354 EC 41 00 28 */ fsubs f2, f1, f0
/* 801AD3F8 001AA358 C0 1F 00 08 */ lfs f0, 8(r31)
/* 801AD3FC 001AA35C C0 23 00 28 */ lfs f1, 0x28(r3)
/* 801AD400 001AA360 EC 01 00 BA */ fmadds f0, f1, f2, f0
/* 801AD404 001AA364 D0 1F 00 08 */ stfs f0, 8(r31)
/* 801AD408 001AA368 48 00 00 08 */ b lbl_801AD410
lbl_801AD40C:
/* 801AD40C 001AA36C 90 BF 00 18 */ stw r5, 0x18(r31)
lbl_801AD410:
/* 801AD410 001AA370 80 01 00 14 */ lwz r0, 0x14(r1)
/* 801AD414 001AA374 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 801AD418 001AA378 7C 08 03 A6 */ mtlr r0
/* 801AD41C 001AA37C 38 21 00 10 */ addi r1, r1, 0x10
/* 801AD420 001AA380 4E 80 00 20 */ blr
.global Start__10CBurstFireFR13CStateManager
Start__10CBurstFireFR13CStateManager:
/* 801AD424 001AA384 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 801AD428 001AA388 7C 08 02 A6 */ mflr r0
/* 801AD42C 001AA38C 90 01 00 24 */ stw r0, 0x24(r1)
/* 801AD430 001AA390 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 801AD434 001AA394 7C 7F 1B 78 */ mr r31, r3
/* 801AD438 001AA398 93 C1 00 18 */ stw r30, 0x18(r1)
/* 801AD43C 001AA39C 93 A1 00 14 */ stw r29, 0x14(r1)
/* 801AD440 001AA3A0 3B A0 FF FF */ li r29, -1
/* 801AD444 001AA3A4 80 03 00 00 */ lwz r0, 0(r3)
/* 801AD448 001AA3A8 80 63 00 10 */ lwz r3, 0x10(r3)
/* 801AD44C 001AA3AC 54 00 10 3A */ slwi r0, r0, 2
/* 801AD450 001AA3B0 7C BF 02 14 */ add r5, r31, r0
/* 801AD454 001AA3B4 2C 03 00 00 */ cmpwi r3, 0
/* 801AD458 001AA3B8 83 C5 00 20 */ lwz r30, 0x20(r5)
/* 801AD45C 001AA3BC 38 03 FF FF */ addi r0, r3, -1
/* 801AD460 001AA3C0 90 1F 00 10 */ stw r0, 0x10(r31)
/* 801AD464 001AA3C4 40 81 00 1C */ ble lbl_801AD480
/* 801AD468 001AA3C8 80 9F 00 0C */ lwz r4, 0xc(r31)
/* 801AD46C 001AA3CC 54 83 0F FE */ srwi r3, r4, 0x1f
/* 801AD470 001AA3D0 38 03 FF FF */ addi r0, r3, -1
/* 801AD474 001AA3D4 7C 80 00 38 */ and r0, r4, r0
/* 801AD478 001AA3D8 7C 1D 03 78 */ mr r29, r0
/* 801AD47C 001AA3DC 48 00 00 40 */ b lbl_801AD4BC
lbl_801AD480:
/* 801AD480 001AA3E0 80 64 09 00 */ lwz r3, 0x900(r4)
/* 801AD484 001AA3E4 38 80 00 00 */ li r4, 0
/* 801AD488 001AA3E8 38 A0 00 64 */ li r5, 0x64
/* 801AD48C 001AA3EC 48 16 51 09 */ bl Range__9CRandom16Fii
/* 801AD490 001AA3F0 38 80 00 00 */ li r4, 0
lbl_801AD494:
/* 801AD494 001AA3F4 3B BD 00 01 */ addi r29, r29, 1
/* 801AD498 001AA3F8 1C 1D 00 2C */ mulli r0, r29, 0x2c
/* 801AD49C 001AA3FC 7C 1E 00 2E */ lwzx r0, r30, r0
/* 801AD4A0 001AA400 2C 00 00 00 */ cmpwi r0, 0
/* 801AD4A4 001AA404 40 82 00 0C */ bne lbl_801AD4B0
/* 801AD4A8 001AA408 38 80 00 64 */ li r4, 0x64
/* 801AD4AC 001AA40C 3B BD FF FF */ addi r29, r29, -1
lbl_801AD4B0:
/* 801AD4B0 001AA410 7C 84 02 14 */ add r4, r4, r0
/* 801AD4B4 001AA414 7C 03 20 00 */ cmpw r3, r4
/* 801AD4B8 001AA418 41 81 FF DC */ bgt lbl_801AD494
lbl_801AD4BC:
/* 801AD4BC 001AA41C 1C 9D 00 2C */ mulli r4, r29, 0x2c
/* 801AD4C0 001AA420 38 00 FF FF */ li r0, -1
/* 801AD4C4 001AA424 C0 02 A8 90 */ lfs f0, lbl_805AC5B0@sda21(r2)
/* 801AD4C8 001AA428 38 60 00 00 */ li r3, 0
/* 801AD4CC 001AA42C 7C 9E 22 14 */ add r4, r30, r4
/* 801AD4D0 001AA430 90 9F 00 18 */ stw r4, 0x18(r31)
/* 801AD4D4 001AA434 90 1F 00 04 */ stw r0, 4(r31)
/* 801AD4D8 001AA438 D0 1F 00 08 */ stfs f0, 8(r31)
/* 801AD4DC 001AA43C 88 1F 00 14 */ lbz r0, 0x14(r31)
/* 801AD4E0 001AA440 50 60 3E 30 */ rlwimi r0, r3, 7, 0x18, 0x18
/* 801AD4E4 001AA444 98 1F 00 14 */ stb r0, 0x14(r31)
/* 801AD4E8 001AA448 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 801AD4EC 001AA44C 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 801AD4F0 001AA450 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 801AD4F4 001AA454 80 01 00 24 */ lwz r0, 0x24(r1)
/* 801AD4F8 001AA458 7C 08 03 A6 */ mtlr r0
/* 801AD4FC 001AA45C 38 21 00 20 */ addi r1, r1, 0x20
/* 801AD500 001AA460 4E 80 00 20 */ blr
.global __ct__10CBurstFireFPPC6SBursti
__ct__10CBurstFireFPPC6SBursti:
/* 801AD504 001AA464 38 00 FF FF */ li r0, -1
/* 801AD508 001AA468 C0 02 A8 90 */ lfs f0, lbl_805AC5B0@sda21(r2)
/* 801AD50C 001AA46C 90 03 00 00 */ stw r0, 0(r3)
/* 801AD510 001AA470 38 C0 00 00 */ li r6, 0
/* 801AD514 001AA474 38 E3 00 20 */ addi r7, r3, 0x20
/* 801AD518 001AA478 90 03 00 04 */ stw r0, 4(r3)
/* 801AD51C 001AA47C D0 03 00 08 */ stfs f0, 8(r3)
/* 801AD520 001AA480 90 C3 00 0C */ stw r6, 0xc(r3)
/* 801AD524 001AA484 90 A3 00 10 */ stw r5, 0x10(r3)
/* 801AD528 001AA488 88 03 00 14 */ lbz r0, 0x14(r3)
/* 801AD52C 001AA48C 50 C0 3E 30 */ rlwimi r0, r6, 7, 0x18, 0x18
/* 801AD530 001AA490 98 03 00 14 */ stb r0, 0x14(r3)
/* 801AD534 001AA494 88 03 00 14 */ lbz r0, 0x14(r3)
/* 801AD538 001AA498 50 C0 36 72 */ rlwimi r0, r6, 6, 0x19, 0x19
/* 801AD53C 001AA49C 98 03 00 14 */ stb r0, 0x14(r3)
/* 801AD540 001AA4A0 90 C3 00 18 */ stw r6, 0x18(r3)
/* 801AD544 001AA4A4 90 C3 00 1C */ stw r6, 0x1c(r3)
/* 801AD548 001AA4A8 48 00 00 28 */ b lbl_801AD570
lbl_801AD54C:
/* 801AD54C 001AA4AC 80 03 00 1C */ lwz r0, 0x1c(r3)
/* 801AD550 001AA4B0 54 00 10 3A */ slwi r0, r0, 2
/* 801AD554 001AA4B4 7C A7 02 15 */ add. r5, r7, r0
/* 801AD558 001AA4B8 41 82 00 08 */ beq lbl_801AD560
/* 801AD55C 001AA4BC 90 C5 00 00 */ stw r6, 0(r5)
lbl_801AD560:
/* 801AD560 001AA4C0 80 A3 00 1C */ lwz r5, 0x1c(r3)
/* 801AD564 001AA4C4 38 84 00 04 */ addi r4, r4, 4
/* 801AD568 001AA4C8 38 05 00 01 */ addi r0, r5, 1
/* 801AD56C 001AA4CC 90 03 00 1C */ stw r0, 0x1c(r3)
lbl_801AD570:
/* 801AD570 001AA4D0 80 C4 00 00 */ lwz r6, 0(r4)
/* 801AD574 001AA4D4 28 06 00 00 */ cmplwi r6, 0
/* 801AD578 001AA4D8 40 82 FF D4 */ bne lbl_801AD54C
/* 801AD57C 001AA4DC 4E 80 00 20 */ blr
.section .sdata2, "a"
.global lbl_805AC598
lbl_805AC598:
# ROM: 0x3F8E38
.float 0.2
.global lbl_805AC59C
lbl_805AC59C:
# ROM: 0x3F8E3C
.4byte 0x40680000
.global lbl_805AC5A0
lbl_805AC5A0:
# ROM: 0x3F8E40
.4byte 0xBEC90FDB
.4byte 0
.global lbl_805AC5A8
lbl_805AC5A8:
# ROM: 0x3F8E48
.double 4.503601774854144E15
.global lbl_805AC5B0
lbl_805AC5B0:
# ROM: 0x3F8E50
.4byte 0
.global lbl_805AC5B4
lbl_805AC5B4:
# ROM: 0x3F8E54
.float 0.5