More text.s splitting

This commit is contained in:
Phillip Stephens 2022-04-12 02:57:02 -07:00
parent 49492e8d2b
commit 604ef813e4
Signed by: Antidote
GPG Key ID: F8BEE4C83DACA60D
18 changed files with 34309 additions and 34259 deletions

View File

@ -0,0 +1,70 @@
.include "macros.inc"
.section .text, "ax" # 0x80003640 - 0x803CB1C0
.global __dt__11CCameraHintFv
__dt__11CCameraHintFv:
/* 800C518C 000C20EC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 800C5190 000C20F0 7C 08 02 A6 */ mflr r0
/* 800C5194 000C20F4 90 01 00 14 */ stw r0, 0x14(r1)
/* 800C5198 000C20F8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 800C519C 000C20FC 7C 7F 1B 79 */ or. r31, r3, r3
/* 800C51A0 000C2100 41 82 00 1C */ beq lbl_800C51BC
/* 800C51A4 000C2104 3C A0 80 3E */ lis r5, lbl_803DF6F4@ha
/* 800C51A8 000C2108 7C 80 07 35 */ extsh. r0, r4
/* 800C51AC 000C210C 38 05 F6 F4 */ addi r0, r5, lbl_803DF6F4@l
/* 800C51B0 000C2110 90 1F 00 00 */ stw r0, 0(r31)
/* 800C51B4 000C2114 40 81 00 08 */ ble lbl_800C51BC
/* 800C51B8 000C2118 48 25 07 79 */ bl Free__7CMemoryFPCv
lbl_800C51BC:
/* 800C51BC 000C211C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 800C51C0 000C2120 7F E3 FB 78 */ mr r3, r31
/* 800C51C4 000C2124 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 800C51C8 000C2128 7C 08 03 A6 */ mtlr r0
/* 800C51CC 000C212C 38 21 00 10 */ addi r1, r1, 0x10
/* 800C51D0 000C2130 4E 80 00 20 */ blr
.global __ct__11CCameraHintFiQ211CBallCamera20EBallCameraBehaviourfffRC9CVector3fRC9CVector3fRC9CVector3fffffffffff
__ct__11CCameraHintFiQ211CBallCamera20EBallCameraBehaviourfffRC9CVector3fRC9CVector3fRC9CVector3fffffffffff:
/* 800C51D4 000C2134 3D 20 80 3E */ lis r9, lbl_803DF6F4@ha
/* 800C51D8 000C2138 C1 A1 00 08 */ lfs f13, 8(r1)
/* 800C51DC 000C213C 38 09 F6 F4 */ addi r0, r9, lbl_803DF6F4@l
/* 800C51E0 000C2140 C1 81 00 0C */ lfs f12, 0xc(r1)
/* 800C51E4 000C2144 90 03 00 00 */ stw r0, 0(r3)
/* 800C51E8 000C2148 C1 61 00 10 */ lfs f11, 0x10(r1)
/* 800C51EC 000C214C 90 83 00 04 */ stw r4, 4(r3)
/* 800C51F0 000C2150 C1 41 00 14 */ lfs f10, 0x14(r1)
/* 800C51F4 000C2154 90 A3 00 08 */ stw r5, 8(r3)
/* 800C51F8 000C2158 C1 21 00 18 */ lfs f9, 0x18(r1)
/* 800C51FC 000C215C D0 23 00 0C */ stfs f1, 0xc(r3)
/* 800C5200 000C2160 D0 43 00 10 */ stfs f2, 0x10(r3)
/* 800C5204 000C2164 D0 63 00 14 */ stfs f3, 0x14(r3)
/* 800C5208 000C2168 C0 06 00 00 */ lfs f0, 0(r6)
/* 800C520C 000C216C D0 03 00 18 */ stfs f0, 0x18(r3)
/* 800C5210 000C2170 C0 06 00 04 */ lfs f0, 4(r6)
/* 800C5214 000C2174 D0 03 00 1C */ stfs f0, 0x1c(r3)
/* 800C5218 000C2178 C0 06 00 08 */ lfs f0, 8(r6)
/* 800C521C 000C217C D0 03 00 20 */ stfs f0, 0x20(r3)
/* 800C5220 000C2180 C0 07 00 00 */ lfs f0, 0(r7)
/* 800C5224 000C2184 D0 03 00 24 */ stfs f0, 0x24(r3)
/* 800C5228 000C2188 C0 07 00 04 */ lfs f0, 4(r7)
/* 800C522C 000C218C D0 03 00 28 */ stfs f0, 0x28(r3)
/* 800C5230 000C2190 C0 07 00 08 */ lfs f0, 8(r7)
/* 800C5234 000C2194 D0 03 00 2C */ stfs f0, 0x2c(r3)
/* 800C5238 000C2198 C0 08 00 00 */ lfs f0, 0(r8)
/* 800C523C 000C219C D0 03 00 30 */ stfs f0, 0x30(r3)
/* 800C5240 000C21A0 C0 08 00 04 */ lfs f0, 4(r8)
/* 800C5244 000C21A4 D0 03 00 34 */ stfs f0, 0x34(r3)
/* 800C5248 000C21A8 C0 08 00 08 */ lfs f0, 8(r8)
/* 800C524C 000C21AC D0 03 00 38 */ stfs f0, 0x38(r3)
/* 800C5250 000C21B0 D0 83 00 3C */ stfs f4, 0x3c(r3)
/* 800C5254 000C21B4 D0 A3 00 40 */ stfs f5, 0x40(r3)
/* 800C5258 000C21B8 D0 C3 00 44 */ stfs f6, 0x44(r3)
/* 800C525C 000C21BC D0 E3 00 48 */ stfs f7, 0x48(r3)
/* 800C5260 000C21C0 D1 03 00 4C */ stfs f8, 0x4c(r3)
/* 800C5264 000C21C4 D1 A3 00 50 */ stfs f13, 0x50(r3)
/* 800C5268 000C21C8 D1 83 00 54 */ stfs f12, 0x54(r3)
/* 800C526C 000C21CC D1 63 00 58 */ stfs f11, 0x58(r3)
/* 800C5270 000C21D0 D1 43 00 5C */ stfs f10, 0x5c(r3)
/* 800C5274 000C21D4 D1 23 00 60 */ stfs f9, 0x60(r3)
/* 800C5278 000C21D8 4E 80 00 20 */ blr

150
asm/Kyoto_CWD/CDamageInfo.s Normal file
View File

@ -0,0 +1,150 @@
.include "macros.inc"
.section .text, "ax" # 0x80003640 - 0x803CB1C0
.global __ct__11CDamageInfoFRC11CDamageInfof
__ct__11CDamageInfoFRC11CDamageInfof:
/* 800C3448 000C03A8 C0 02 8E 00 */ lfs f0, lbl_805AAB20@sda21(r2)
/* 800C344C 000C03AC 38 A0 00 01 */ li r5, 1
/* 800C3450 000C03B0 C0 64 00 14 */ lfs f3, 0x14(r4)
/* 800C3454 000C03B4 C0 44 00 10 */ lfs f2, 0x10(r4)
/* 800C3458 000C03B8 EC 00 00 72 */ fmuls f0, f0, f1
/* 800C345C 000C03BC C0 24 00 08 */ lfs f1, 8(r4)
/* 800C3460 000C03C0 80 04 00 00 */ lwz r0, 0(r4)
/* 800C3464 000C03C4 EC 01 00 32 */ fmuls f0, f1, f0
/* 800C3468 000C03C8 90 03 00 00 */ stw r0, 0(r3)
/* 800C346C 000C03CC 88 04 00 04 */ lbz r0, 4(r4)
/* 800C3470 000C03D0 98 03 00 04 */ stb r0, 4(r3)
/* 800C3474 000C03D4 D0 03 00 08 */ stfs f0, 8(r3)
/* 800C3478 000C03D8 C0 03 00 08 */ lfs f0, 8(r3)
/* 800C347C 000C03DC D0 03 00 0C */ stfs f0, 0xc(r3)
/* 800C3480 000C03E0 D0 43 00 10 */ stfs f2, 0x10(r3)
/* 800C3484 000C03E4 D0 63 00 14 */ stfs f3, 0x14(r3)
/* 800C3488 000C03E8 88 03 00 18 */ lbz r0, 0x18(r3)
/* 800C348C 000C03EC 50 A0 3E 30 */ rlwimi r0, r5, 7, 0x18, 0x18
/* 800C3490 000C03F0 98 03 00 18 */ stb r0, 0x18(r3)
/* 800C3494 000C03F4 4E 80 00 20 */ blr
.global GetRadiusDamage__11CDamageInfoCFRC20CDamageVulnerability
GetRadiusDamage__11CDamageInfoCFRC20CDamageVulnerability:
/* 800C3498 000C03F8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 800C349C 000C03FC 7C 08 02 A6 */ mflr r0
/* 800C34A0 000C0400 38 A0 00 00 */ li r5, 0
/* 800C34A4 000C0404 90 01 00 14 */ stw r0, 0x14(r1)
/* 800C34A8 000C0408 93 E1 00 0C */ stw r31, 0xc(r1)
/* 800C34AC 000C040C 7C 7F 1B 78 */ mr r31, r3
/* 800C34B0 000C0410 7C 83 23 78 */ mr r3, r4
/* 800C34B4 000C0414 7F E4 FB 78 */ mr r4, r31
/* 800C34B8 000C0418 48 03 F0 05 */ bl GetVulnerability__20CDamageVulnerabilityCFRC11CWeaponMode
/* 800C34BC 000C041C 2C 03 00 02 */ cmpwi r3, 2
/* 800C34C0 000C0420 40 82 00 0C */ bne lbl_800C34CC
/* 800C34C4 000C0424 C0 22 8E 04 */ lfs f1, lbl_805AAB24@sda21(r2)
/* 800C34C8 000C0428 48 00 00 20 */ b lbl_800C34E8
lbl_800C34CC:
/* 800C34CC 000C042C 2C 03 00 00 */ cmpwi r3, 0
/* 800C34D0 000C0430 40 82 00 14 */ bne lbl_800C34E4
/* 800C34D4 000C0434 C0 22 8E 08 */ lfs f1, lbl_805AAB28@sda21(r2)
/* 800C34D8 000C0438 C0 1F 00 0C */ lfs f0, 0xc(r31)
/* 800C34DC 000C043C EC 21 00 32 */ fmuls f1, f1, f0
/* 800C34E0 000C0440 48 00 00 08 */ b lbl_800C34E8
lbl_800C34E4:
/* 800C34E4 000C0444 C0 3F 00 0C */ lfs f1, 0xc(r31)
lbl_800C34E8:
/* 800C34E8 000C0448 80 01 00 14 */ lwz r0, 0x14(r1)
/* 800C34EC 000C044C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 800C34F0 000C0450 7C 08 03 A6 */ mtlr r0
/* 800C34F4 000C0454 38 21 00 10 */ addi r1, r1, 0x10
/* 800C34F8 000C0458 4E 80 00 20 */ blr
.global GetDamage__11CDamageInfoCFRC20CDamageVulnerability
GetDamage__11CDamageInfoCFRC20CDamageVulnerability:
/* 800C34FC 000C045C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 800C3500 000C0460 7C 08 02 A6 */ mflr r0
/* 800C3504 000C0464 38 A0 00 00 */ li r5, 0
/* 800C3508 000C0468 90 01 00 14 */ stw r0, 0x14(r1)
/* 800C350C 000C046C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 800C3510 000C0470 7C 7F 1B 78 */ mr r31, r3
/* 800C3514 000C0474 7C 83 23 78 */ mr r3, r4
/* 800C3518 000C0478 7F E4 FB 78 */ mr r4, r31
/* 800C351C 000C047C 48 03 EF A1 */ bl GetVulnerability__20CDamageVulnerabilityCFRC11CWeaponMode
/* 800C3520 000C0480 2C 03 00 02 */ cmpwi r3, 2
/* 800C3524 000C0484 40 82 00 0C */ bne lbl_800C3530
/* 800C3528 000C0488 C0 22 8E 04 */ lfs f1, lbl_805AAB24@sda21(r2)
/* 800C352C 000C048C 48 00 00 20 */ b lbl_800C354C
lbl_800C3530:
/* 800C3530 000C0490 2C 03 00 00 */ cmpwi r3, 0
/* 800C3534 000C0494 40 82 00 14 */ bne lbl_800C3548
/* 800C3538 000C0498 C0 22 8E 08 */ lfs f1, lbl_805AAB28@sda21(r2)
/* 800C353C 000C049C C0 1F 00 08 */ lfs f0, 8(r31)
/* 800C3540 000C04A0 EC 21 00 32 */ fmuls f1, f1, f0
/* 800C3544 000C04A4 48 00 00 08 */ b lbl_800C354C
lbl_800C3548:
/* 800C3548 000C04A8 C0 3F 00 08 */ lfs f1, 8(r31)
lbl_800C354C:
/* 800C354C 000C04AC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 800C3550 000C04B0 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 800C3554 000C04B4 7C 08 03 A6 */ mtlr r0
/* 800C3558 000C04B8 38 21 00 10 */ addi r1, r1, 0x10
/* 800C355C 000C04BC 4E 80 00 20 */ blr
.global __ct__11CDamageInfoFR12CInputStream
__ct__11CDamageInfoFR12CInputStream:
/* 800C3560 000C04C0 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 800C3564 000C04C4 7C 08 02 A6 */ mflr r0
/* 800C3568 000C04C8 38 E0 FF FF */ li r7, -1
/* 800C356C 000C04CC 38 C0 00 00 */ li r6, 0
/* 800C3570 000C04D0 90 01 00 24 */ stw r0, 0x24(r1)
/* 800C3574 000C04D4 88 A1 00 14 */ lbz r5, 0x14(r1)
/* 800C3578 000C04D8 50 C5 3E 30 */ rlwimi r5, r6, 7, 0x18, 0x18
/* 800C357C 000C04DC 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 800C3580 000C04E0 7C 9F 23 78 */ mr r31, r4
/* 800C3584 000C04E4 54 A0 06 3E */ clrlwi r0, r5, 0x18
/* 800C3588 000C04E8 93 C1 00 18 */ stw r30, 0x18(r1)
/* 800C358C 000C04EC 50 C0 36 72 */ rlwimi r0, r6, 6, 0x19, 0x19
/* 800C3590 000C04F0 54 04 06 3E */ clrlwi r4, r0, 0x18
/* 800C3594 000C04F4 7C 7E 1B 78 */ mr r30, r3
/* 800C3598 000C04F8 90 E3 00 00 */ stw r7, 0(r3)
/* 800C359C 000C04FC 50 C4 2E B4 */ rlwimi r4, r6, 5, 0x1a, 0x1a
/* 800C35A0 000C0500 7F E3 FB 78 */ mr r3, r31
/* 800C35A4 000C0504 98 A1 00 14 */ stb r5, 0x14(r1)
/* 800C35A8 000C0508 98 01 00 14 */ stb r0, 0x14(r1)
/* 800C35AC 000C050C 98 9E 00 04 */ stb r4, 4(r30)
/* 800C35B0 000C0510 88 1E 00 18 */ lbz r0, 0x18(r30)
/* 800C35B4 000C0514 50 C0 3E 30 */ rlwimi r0, r6, 7, 0x18, 0x18
/* 800C35B8 000C0518 90 E1 00 10 */ stw r7, 0x10(r1)
/* 800C35BC 000C051C 98 81 00 14 */ stb r4, 0x14(r1)
/* 800C35C0 000C0520 98 1E 00 18 */ stb r0, 0x18(r30)
/* 800C35C4 000C0524 48 27 B6 C1 */ bl ReadLong__12CInputStreamFv
/* 800C35C8 000C0528 7F E3 FB 78 */ mr r3, r31
/* 800C35CC 000C052C 48 27 B6 B9 */ bl ReadLong__12CInputStreamFv
/* 800C35D0 000C0530 88 01 00 0C */ lbz r0, 0xc(r1)
/* 800C35D4 000C0534 38 A0 00 00 */ li r5, 0
/* 800C35D8 000C0538 50 A0 3E 30 */ rlwimi r0, r5, 7, 0x18, 0x18
/* 800C35DC 000C053C 90 7E 00 00 */ stw r3, 0(r30)
/* 800C35E0 000C0540 54 04 06 3E */ clrlwi r4, r0, 0x18
/* 800C35E4 000C0544 98 01 00 0C */ stb r0, 0xc(r1)
/* 800C35E8 000C0548 50 A4 36 72 */ rlwimi r4, r5, 6, 0x19, 0x19
/* 800C35EC 000C054C 54 80 06 3E */ clrlwi r0, r4, 0x18
/* 800C35F0 000C0550 50 A0 2E B4 */ rlwimi r0, r5, 5, 0x1a, 0x1a
/* 800C35F4 000C0554 98 81 00 0C */ stb r4, 0xc(r1)
/* 800C35F8 000C0558 90 61 00 08 */ stw r3, 8(r1)
/* 800C35FC 000C055C 7F E3 FB 78 */ mr r3, r31
/* 800C3600 000C0560 98 01 00 0C */ stb r0, 0xc(r1)
/* 800C3604 000C0564 98 1E 00 04 */ stb r0, 4(r30)
/* 800C3608 000C0568 48 27 B6 21 */ bl ReadFloat__12CInputStreamFv
/* 800C360C 000C056C D0 3E 00 08 */ stfs f1, 8(r30)
/* 800C3610 000C0570 7F E3 FB 78 */ mr r3, r31
/* 800C3614 000C0574 C0 1E 00 08 */ lfs f0, 8(r30)
/* 800C3618 000C0578 D0 1E 00 0C */ stfs f0, 0xc(r30)
/* 800C361C 000C057C 48 27 B6 0D */ bl ReadFloat__12CInputStreamFv
/* 800C3620 000C0580 D0 3E 00 10 */ stfs f1, 0x10(r30)
/* 800C3624 000C0584 7F E3 FB 78 */ mr r3, r31
/* 800C3628 000C0588 48 27 B6 01 */ bl ReadFloat__12CInputStreamFv
/* 800C362C 000C058C D0 3E 00 14 */ stfs f1, 0x14(r30)
/* 800C3630 000C0590 7F C3 F3 78 */ mr r3, r30
/* 800C3634 000C0594 80 01 00 24 */ lwz r0, 0x24(r1)
/* 800C3638 000C0598 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 800C363C 000C059C 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 800C3640 000C05A0 7C 08 03 A6 */ mtlr r0
/* 800C3644 000C05A4 38 21 00 20 */ addi r1, r1, 0x20
/* 800C3648 000C05A8 4E 80 00 20 */ blr

813
asm/Kyoto_CWD/CIceBeam.s Normal file
View File

@ -0,0 +1,813 @@
.include "macros.inc"
.section .text, "ax" # 0x80003640 - 0x803CB1C0
.global EnableFx__8CIceBeamFb
EnableFx__8CIceBeamFb:
/* 800E0EE0 000DDE40 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 800E0EE4 000DDE44 7C 08 02 A6 */ mflr r0
/* 800E0EE8 000DDE48 90 01 00 14 */ stw r0, 0x14(r1)
/* 800E0EEC 000DDE4C 80 63 02 40 */ lwz r3, 0x240(r3)
/* 800E0EF0 000DDE50 28 03 00 00 */ cmplwi r3, 0
/* 800E0EF4 000DDE54 41 82 00 14 */ beq lbl_800E0F08
/* 800E0EF8 000DDE58 81 83 00 00 */ lwz r12, 0(r3)
/* 800E0EFC 000DDE5C 81 8C 00 2C */ lwz r12, 0x2c(r12)
/* 800E0F00 000DDE60 7D 89 03 A6 */ mtctr r12
/* 800E0F04 000DDE64 4E 80 04 21 */ bctrl
lbl_800E0F08:
/* 800E0F08 000DDE68 80 01 00 14 */ lwz r0, 0x14(r1)
/* 800E0F0C 000DDE6C 7C 08 03 A6 */ mtlr r0
/* 800E0F10 000DDE70 38 21 00 10 */ addi r1, r1, 0x10
/* 800E0F14 000DDE74 4E 80 00 20 */ blr
.global EnableSecondaryFx__8CIceBeamFQ210CGunWeapon16ESecondaryFxType
EnableSecondaryFx__8CIceBeamFQ210CGunWeapon16ESecondaryFxType:
/* 800E0F18 000DDE78 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 800E0F1C 000DDE7C 7C 08 02 A6 */ mflr r0
/* 800E0F20 000DDE80 90 01 00 34 */ stw r0, 0x34(r1)
/* 800E0F24 000DDE84 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 800E0F28 000DDE88 7C 7F 1B 78 */ mr r31, r3
/* 800E0F2C 000DDE8C 93 C1 00 28 */ stw r30, 0x28(r1)
/* 800E0F30 000DDE90 93 A1 00 24 */ stw r29, 0x24(r1)
/* 800E0F34 000DDE94 7C 9D 23 78 */ mr r29, r4
/* 800E0F38 000DDE98 2C 1D 00 03 */ cmpwi r29, 3
/* 800E0F3C 000DDE9C 93 81 00 20 */ stw r28, 0x20(r1)
/* 800E0F40 000DDEA0 41 82 00 14 */ beq lbl_800E0F54
/* 800E0F44 000DDEA4 40 80 00 1C */ bge lbl_800E0F60
/* 800E0F48 000DDEA8 2C 1D 00 00 */ cmpwi r29, 0
/* 800E0F4C 000DDEAC 41 82 00 08 */ beq lbl_800E0F54
/* 800E0F50 000DDEB0 48 00 00 10 */ b lbl_800E0F60
lbl_800E0F54:
/* 800E0F54 000DDEB4 80 1F 01 CC */ lwz r0, 0x1cc(r31)
/* 800E0F58 000DDEB8 2C 00 00 00 */ cmpwi r0, 0
/* 800E0F5C 000DDEBC 41 82 01 90 */ beq lbl_800E10EC
lbl_800E0F60:
/* 800E0F60 000DDEC0 2C 1D 00 01 */ cmpwi r29, 1
/* 800E0F64 000DDEC4 41 82 00 DC */ beq lbl_800E1040
/* 800E0F68 000DDEC8 40 80 00 10 */ bge lbl_800E0F78
/* 800E0F6C 000DDECC 2C 1D 00 00 */ cmpwi r29, 0
/* 800E0F70 000DDED0 40 80 00 10 */ bge lbl_800E0F80
/* 800E0F74 000DDED4 48 00 01 78 */ b lbl_800E10EC
lbl_800E0F78:
/* 800E0F78 000DDED8 2C 1D 00 04 */ cmpwi r29, 4
/* 800E0F7C 000DDEDC 40 80 01 70 */ bge lbl_800E10EC
lbl_800E0F80:
/* 800E0F80 000DDEE0 88 1F 02 48 */ lbz r0, 0x248(r31)
/* 800E0F84 000DDEE4 54 00 D7 FF */ rlwinm. r0, r0, 0x1a, 0x1f, 0x1f
/* 800E0F88 000DDEE8 40 82 01 64 */ bne lbl_800E10EC
/* 800E0F8C 000DDEEC 3C 60 80 3D */ lis r3, lbl_803CE598@ha
/* 800E0F90 000DDEF0 3B A0 00 00 */ li r29, 0
/* 800E0F94 000DDEF4 38 83 E5 98 */ addi r4, r3, lbl_803CE598@l
/* 800E0F98 000DDEF8 38 A0 00 00 */ li r5, 0
/* 800E0F9C 000DDEFC 38 60 03 40 */ li r3, 0x340
/* 800E0FA0 000DDF00 48 23 48 CD */ bl __nw__FUlPCcPCc
/* 800E0FA4 000DDF04 7C 7E 1B 79 */ or. r30, r3, r3
/* 800E0FA8 000DDF08 41 82 00 2C */ beq lbl_800E0FD4
/* 800E0FAC 000DDF0C 38 61 00 10 */ addi r3, r1, 0x10
/* 800E0FB0 000DDF10 38 9F 02 34 */ addi r4, r31, 0x234
/* 800E0FB4 000DDF14 48 25 FE F5 */ bl __ct__6CTokenFRC6CToken
/* 800E0FB8 000DDF18 7F C3 F3 78 */ mr r3, r30
/* 800E0FBC 000DDF1C 38 81 00 10 */ addi r4, r1, 0x10
/* 800E0FC0 000DDF20 3B A0 00 01 */ li r29, 1
/* 800E0FC4 000DDF24 38 A0 00 00 */ li r5, 0
/* 800E0FC8 000DDF28 38 C0 00 01 */ li r6, 1
/* 800E0FCC 000DDF2C 48 23 E4 15 */ bl "__ct__11CElementGenF25TToken<15CGenDescription>Q211CElementGen21EModelOrientationTypeQ211CElementGen20EOptionalSystemFlags"
/* 800E0FD0 000DDF30 7C 7E 1B 78 */ mr r30, r3
lbl_800E0FD4:
/* 800E0FD4 000DDF34 80 7F 02 44 */ lwz r3, 0x244(r31)
/* 800E0FD8 000DDF38 28 03 00 00 */ cmplwi r3, 0
/* 800E0FDC 000DDF3C 41 82 00 18 */ beq lbl_800E0FF4
/* 800E0FE0 000DDF40 81 83 00 00 */ lwz r12, 0(r3)
/* 800E0FE4 000DDF44 38 80 00 01 */ li r4, 1
/* 800E0FE8 000DDF48 81 8C 00 08 */ lwz r12, 8(r12)
/* 800E0FEC 000DDF4C 7D 89 03 A6 */ mtctr r12
/* 800E0FF0 000DDF50 4E 80 04 21 */ bctrl
lbl_800E0FF4:
/* 800E0FF4 000DDF54 7F A0 07 75 */ extsb. r0, r29
/* 800E0FF8 000DDF58 93 DF 02 44 */ stw r30, 0x244(r31)
/* 800E0FFC 000DDF5C 41 82 00 10 */ beq lbl_800E100C
/* 800E1000 000DDF60 38 61 00 10 */ addi r3, r1, 0x10
/* 800E1004 000DDF64 38 80 00 00 */ li r4, 0
/* 800E1008 000DDF68 48 25 FE 39 */ bl __dt__6CTokenFv
lbl_800E100C:
/* 800E100C 000DDF6C 80 7F 02 44 */ lwz r3, 0x244(r31)
/* 800E1010 000DDF70 38 9F 00 04 */ addi r4, r31, 4
/* 800E1014 000DDF74 81 83 00 00 */ lwz r12, 0(r3)
/* 800E1018 000DDF78 81 8C 00 24 */ lwz r12, 0x24(r12)
/* 800E101C 000DDF7C 7D 89 03 A6 */ mtctr r12
/* 800E1020 000DDF80 4E 80 04 21 */ bctrl
/* 800E1024 000DDF84 88 7F 02 48 */ lbz r3, 0x248(r31)
/* 800E1028 000DDF88 38 00 00 01 */ li r0, 1
/* 800E102C 000DDF8C 50 03 36 72 */ rlwimi r3, r0, 6, 0x19, 0x19
/* 800E1030 000DDF90 38 00 00 03 */ li r0, 3
/* 800E1034 000DDF94 98 7F 02 48 */ stb r3, 0x248(r31)
/* 800E1038 000DDF98 90 1F 01 CC */ stw r0, 0x1cc(r31)
/* 800E103C 000DDF9C 48 00 00 B0 */ b lbl_800E10EC
lbl_800E1040:
/* 800E1040 000DDFA0 3C 60 80 3D */ lis r3, lbl_803CE598@ha
/* 800E1044 000DDFA4 3B 80 00 00 */ li r28, 0
/* 800E1048 000DDFA8 38 83 E5 98 */ addi r4, r3, lbl_803CE598@l
/* 800E104C 000DDFAC 38 A0 00 00 */ li r5, 0
/* 800E1050 000DDFB0 38 60 03 40 */ li r3, 0x340
/* 800E1054 000DDFB4 48 23 48 19 */ bl __nw__FUlPCcPCc
/* 800E1058 000DDFB8 7C 7E 1B 79 */ or. r30, r3, r3
/* 800E105C 000DDFBC 41 82 00 2C */ beq lbl_800E1088
/* 800E1060 000DDFC0 38 61 00 08 */ addi r3, r1, 8
/* 800E1064 000DDFC4 38 9F 02 28 */ addi r4, r31, 0x228
/* 800E1068 000DDFC8 48 25 FE 41 */ bl __ct__6CTokenFRC6CToken
/* 800E106C 000DDFCC 7F C3 F3 78 */ mr r3, r30
/* 800E1070 000DDFD0 38 81 00 08 */ addi r4, r1, 8
/* 800E1074 000DDFD4 3B 80 00 01 */ li r28, 1
/* 800E1078 000DDFD8 38 A0 00 00 */ li r5, 0
/* 800E107C 000DDFDC 38 C0 00 01 */ li r6, 1
/* 800E1080 000DDFE0 48 23 E3 61 */ bl "__ct__11CElementGenF25TToken<15CGenDescription>Q211CElementGen21EModelOrientationTypeQ211CElementGen20EOptionalSystemFlags"
/* 800E1084 000DDFE4 7C 7E 1B 78 */ mr r30, r3
lbl_800E1088:
/* 800E1088 000DDFE8 80 7F 02 44 */ lwz r3, 0x244(r31)
/* 800E108C 000DDFEC 28 03 00 00 */ cmplwi r3, 0
/* 800E1090 000DDFF0 41 82 00 18 */ beq lbl_800E10A8
/* 800E1094 000DDFF4 81 83 00 00 */ lwz r12, 0(r3)
/* 800E1098 000DDFF8 38 80 00 01 */ li r4, 1
/* 800E109C 000DDFFC 81 8C 00 08 */ lwz r12, 8(r12)
/* 800E10A0 000DE000 7D 89 03 A6 */ mtctr r12
/* 800E10A4 000DE004 4E 80 04 21 */ bctrl
lbl_800E10A8:
/* 800E10A8 000DE008 7F 80 07 75 */ extsb. r0, r28
/* 800E10AC 000DE00C 93 DF 02 44 */ stw r30, 0x244(r31)
/* 800E10B0 000DE010 41 82 00 10 */ beq lbl_800E10C0
/* 800E10B4 000DE014 38 61 00 08 */ addi r3, r1, 8
/* 800E10B8 000DE018 38 80 00 00 */ li r4, 0
/* 800E10BC 000DE01C 48 25 FD 85 */ bl __dt__6CTokenFv
lbl_800E10C0:
/* 800E10C0 000DE020 80 7F 02 44 */ lwz r3, 0x244(r31)
/* 800E10C4 000DE024 38 9F 00 04 */ addi r4, r31, 4
/* 800E10C8 000DE028 81 83 00 00 */ lwz r12, 0(r3)
/* 800E10CC 000DE02C 81 8C 00 24 */ lwz r12, 0x24(r12)
/* 800E10D0 000DE030 7D 89 03 A6 */ mtctr r12
/* 800E10D4 000DE034 4E 80 04 21 */ bctrl
/* 800E10D8 000DE038 93 BF 01 CC */ stw r29, 0x1cc(r31)
/* 800E10DC 000DE03C 38 60 00 00 */ li r3, 0
/* 800E10E0 000DE040 88 1F 02 48 */ lbz r0, 0x248(r31)
/* 800E10E4 000DE044 50 60 36 72 */ rlwimi r0, r3, 6, 0x19, 0x19
/* 800E10E8 000DE048 98 1F 02 48 */ stb r0, 0x248(r31)
lbl_800E10EC:
/* 800E10EC 000DE04C 80 01 00 34 */ lwz r0, 0x34(r1)
/* 800E10F0 000DE050 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 800E10F4 000DE054 83 C1 00 28 */ lwz r30, 0x28(r1)
/* 800E10F8 000DE058 83 A1 00 24 */ lwz r29, 0x24(r1)
/* 800E10FC 000DE05C 83 81 00 20 */ lwz r28, 0x20(r1)
/* 800E1100 000DE060 7C 08 03 A6 */ mtlr r0
/* 800E1104 000DE064 38 21 00 30 */ addi r1, r1, 0x30
/* 800E1108 000DE068 4E 80 00 20 */ blr
.global IsLoaded__8CIceBeamCFv
IsLoaded__8CIceBeamCFv:
/* 800E110C 000DE06C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 800E1110 000DE070 7C 08 02 A6 */ mflr r0
/* 800E1114 000DE074 90 01 00 14 */ stw r0, 0x14(r1)
/* 800E1118 000DE078 93 E1 00 0C */ stw r31, 0xc(r1)
/* 800E111C 000DE07C 3B E0 00 00 */ li r31, 0
/* 800E1120 000DE080 93 C1 00 08 */ stw r30, 8(r1)
/* 800E1124 000DE084 7C 7E 1B 78 */ mr r30, r3
/* 800E1128 000DE088 48 0D A2 7D */ bl IsLoaded__10CGunWeaponCFv
/* 800E112C 000DE08C 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 800E1130 000DE090 41 82 00 14 */ beq lbl_800E1144
/* 800E1134 000DE094 88 1E 02 48 */ lbz r0, 0x248(r30)
/* 800E1138 000DE098 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 800E113C 000DE09C 41 82 00 08 */ beq lbl_800E1144
/* 800E1140 000DE0A0 3B E0 00 01 */ li r31, 1
lbl_800E1144:
/* 800E1144 000DE0A4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 800E1148 000DE0A8 7F E3 FB 78 */ mr r3, r31
/* 800E114C 000DE0AC 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 800E1150 000DE0B0 83 C1 00 08 */ lwz r30, 8(r1)
/* 800E1154 000DE0B4 7C 08 03 A6 */ mtlr r0
/* 800E1158 000DE0B8 38 21 00 10 */ addi r1, r1, 0x10
/* 800E115C 000DE0BC 4E 80 00 20 */ blr
.global Unload__8CIceBeamFR13CStateManager
Unload__8CIceBeamFR13CStateManager:
/* 800E1160 000DE0C0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 800E1164 000DE0C4 7C 08 02 A6 */ mflr r0
/* 800E1168 000DE0C8 90 01 00 14 */ stw r0, 0x14(r1)
/* 800E116C 000DE0CC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 800E1170 000DE0D0 7C 7F 1B 78 */ mr r31, r3
/* 800E1174 000DE0D4 48 0D A2 3D */ bl Unload__10CGunWeaponFR13CStateManager
/* 800E1178 000DE0D8 38 00 00 00 */ li r0, 0
/* 800E117C 000DE0DC 38 7F 02 34 */ addi r3, r31, 0x234
/* 800E1180 000DE0E0 90 1F 02 3C */ stw r0, 0x23c(r31)
/* 800E1184 000DE0E4 48 25 FB BD */ bl Unlock__6CTokenFv
/* 800E1188 000DE0E8 38 00 00 00 */ li r0, 0
/* 800E118C 000DE0EC 38 7F 02 28 */ addi r3, r31, 0x228
/* 800E1190 000DE0F0 90 1F 02 30 */ stw r0, 0x230(r31)
/* 800E1194 000DE0F4 48 25 FB AD */ bl Unlock__6CTokenFv
/* 800E1198 000DE0F8 38 00 00 00 */ li r0, 0
/* 800E119C 000DE0FC 38 7F 02 1C */ addi r3, r31, 0x21c
/* 800E11A0 000DE100 90 1F 02 24 */ stw r0, 0x224(r31)
/* 800E11A4 000DE104 48 25 FB 9D */ bl Unlock__6CTokenFv
/* 800E11A8 000DE108 7F E3 FB 78 */ mr r3, r31
/* 800E11AC 000DE10C 48 00 05 A5 */ bl ReInitVariables__8CIceBeamFv
/* 800E11B0 000DE110 80 01 00 14 */ lwz r0, 0x14(r1)
/* 800E11B4 000DE114 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 800E11B8 000DE118 7C 08 03 A6 */ mtlr r0
/* 800E11BC 000DE11C 38 21 00 10 */ addi r1, r1, 0x10
/* 800E11C0 000DE120 4E 80 00 20 */ blr
.global Load__8CIceBeamFb
Load__8CIceBeamFb:
/* 800E11C4 000DE124 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 800E11C8 000DE128 7C 08 02 A6 */ mflr r0
/* 800E11CC 000DE12C 90 01 00 14 */ stw r0, 0x14(r1)
/* 800E11D0 000DE130 93 E1 00 0C */ stw r31, 0xc(r1)
/* 800E11D4 000DE134 7C 7F 1B 78 */ mr r31, r3
/* 800E11D8 000DE138 48 0D A2 FD */ bl Load__10CGunWeaponFR13CStateManagerb
/* 800E11DC 000DE13C 38 7F 02 1C */ addi r3, r31, 0x21c
/* 800E11E0 000DE140 48 25 FB A5 */ bl Lock__6CTokenFv
/* 800E11E4 000DE144 38 7F 02 28 */ addi r3, r31, 0x228
/* 800E11E8 000DE148 48 25 FB 9D */ bl Lock__6CTokenFv
/* 800E11EC 000DE14C 38 7F 02 34 */ addi r3, r31, 0x234
/* 800E11F0 000DE150 48 25 FB 95 */ bl Lock__6CTokenFv
/* 800E11F4 000DE154 88 1F 02 48 */ lbz r0, 0x248(r31)
/* 800E11F8 000DE158 38 60 00 00 */ li r3, 0
/* 800E11FC 000DE15C 50 60 36 72 */ rlwimi r0, r3, 6, 0x19, 0x19
/* 800E1200 000DE160 98 1F 02 48 */ stb r0, 0x248(r31)
/* 800E1204 000DE164 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 800E1208 000DE168 80 01 00 14 */ lwz r0, 0x14(r1)
/* 800E120C 000DE16C 7C 08 03 A6 */ mtlr r0
/* 800E1210 000DE170 38 21 00 10 */ addi r1, r1, 0x10
/* 800E1214 000DE174 4E 80 00 20 */ blr
.global Fire__8CIceBeamFbfQ212CPlayerState12EChargeStageRC12CTransform4fR13CStateManager9TUniqueId
Fire__8CIceBeamFbfQ212CPlayerState12EChargeStageRC12CTransform4fR13CStateManager9TUniqueId:
/* 800E1218 000DE178 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 800E121C 000DE17C 7C 08 02 A6 */ mflr r0
/* 800E1220 000DE180 90 01 00 24 */ stw r0, 0x24(r1)
/* 800E1224 000DE184 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 800E1228 000DE188 7C BF 2B 78 */ mr r31, r5
/* 800E122C 000DE18C 93 C1 00 18 */ stw r30, 0x18(r1)
/* 800E1230 000DE190 7C 9E 23 78 */ mr r30, r4
/* 800E1234 000DE194 A0 08 00 00 */ lhz r0, 0(r8)
/* 800E1238 000DE198 39 01 00 08 */ addi r8, r1, 8
/* 800E123C 000DE19C B0 01 00 08 */ sth r0, 8(r1)
/* 800E1240 000DE1A0 48 0D A6 49 */ bl Fire__10CGunWeaponFbfQ212CPlayerState12EChargeStageRC12CTransform4fR13CStateManager9TUniqueId
/* 800E1244 000DE1A4 57 E0 08 3C */ slwi r0, r31, 1
/* 800E1248 000DE1A8 38 62 8F A0 */ addi r3, r2, lbl_805AACC0@sda21
/* 800E124C 000DE1AC 7C 83 02 2E */ lhzx r4, r3, r0
/* 800E1250 000DE1B0 7F C5 F3 78 */ mr r5, r30
/* 800E1254 000DE1B4 38 61 00 0C */ addi r3, r1, 0xc
/* 800E1258 000DE1B8 38 C0 00 00 */ li r6, 0
/* 800E125C 000DE1BC 38 E0 00 4A */ li r7, 0x4a
/* 800E1260 000DE1C0 48 1A 98 99 */ bl play_sfx__12NWeaponTypesFUsbbs
/* 800E1264 000DE1C4 80 01 00 24 */ lwz r0, 0x24(r1)
/* 800E1268 000DE1C8 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 800E126C 000DE1CC 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 800E1270 000DE1D0 7C 08 03 A6 */ mtlr r0
/* 800E1274 000DE1D4 38 21 00 20 */ addi r1, r1, 0x20
/* 800E1278 000DE1D8 4E 80 00 20 */ blr
.global Update__8CIceBeamFfR13CStateManager
Update__8CIceBeamFfR13CStateManager:
/* 800E127C 000DE1DC 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 800E1280 000DE1E0 7C 08 02 A6 */ mflr r0
/* 800E1284 000DE1E4 90 01 00 24 */ stw r0, 0x24(r1)
/* 800E1288 000DE1E8 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 800E128C 000DE1EC 7C 7F 1B 78 */ mr r31, r3
/* 800E1290 000DE1F0 93 C1 00 18 */ stw r30, 0x18(r1)
/* 800E1294 000DE1F4 93 A1 00 14 */ stw r29, 0x14(r1)
/* 800E1298 000DE1F8 48 0D B1 E1 */ bl Update__10CGunWeaponFfR13CStateManager
/* 800E129C 000DE1FC 88 1F 02 48 */ lbz r0, 0x248(r31)
/* 800E12A0 000DE200 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 800E12A4 000DE204 40 82 01 C0 */ bne lbl_800E1464
/* 800E12A8 000DE208 80 1F 02 24 */ lwz r0, 0x224(r31)
/* 800E12AC 000DE20C 28 00 00 00 */ cmplwi r0, 0
/* 800E12B0 000DE210 41 82 00 0C */ beq lbl_800E12BC
/* 800E12B4 000DE214 38 60 00 01 */ li r3, 1
/* 800E12B8 000DE218 48 00 00 3C */ b lbl_800E12F4
lbl_800E12BC:
/* 800E12BC 000DE21C 88 1F 02 20 */ lbz r0, 0x220(r31)
/* 800E12C0 000DE220 28 00 00 00 */ cmplwi r0, 0
/* 800E12C4 000DE224 41 82 00 2C */ beq lbl_800E12F0
/* 800E12C8 000DE228 80 7F 02 1C */ lwz r3, 0x21c(r31)
/* 800E12CC 000DE22C 80 03 00 10 */ lwz r0, 0x10(r3)
/* 800E12D0 000DE230 28 00 00 00 */ cmplwi r0, 0
/* 800E12D4 000DE234 41 82 00 1C */ beq lbl_800E12F0
/* 800E12D8 000DE238 38 7F 02 1C */ addi r3, r31, 0x21c
/* 800E12DC 000DE23C 48 25 FB 31 */ bl GetObj__6CTokenFv
/* 800E12E0 000DE240 80 03 00 04 */ lwz r0, 4(r3)
/* 800E12E4 000DE244 38 60 00 01 */ li r3, 1
/* 800E12E8 000DE248 90 1F 02 24 */ stw r0, 0x224(r31)
/* 800E12EC 000DE24C 48 00 00 08 */ b lbl_800E12F4
lbl_800E12F0:
/* 800E12F0 000DE250 38 60 00 00 */ li r3, 0
lbl_800E12F4:
/* 800E12F4 000DE254 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 800E12F8 000DE258 41 82 00 50 */ beq lbl_800E1348
/* 800E12FC 000DE25C 80 1F 02 30 */ lwz r0, 0x230(r31)
/* 800E1300 000DE260 28 00 00 00 */ cmplwi r0, 0
/* 800E1304 000DE264 41 82 00 0C */ beq lbl_800E1310
/* 800E1308 000DE268 38 60 00 01 */ li r3, 1
/* 800E130C 000DE26C 48 00 00 3C */ b lbl_800E1348
lbl_800E1310:
/* 800E1310 000DE270 88 1F 02 2C */ lbz r0, 0x22c(r31)
/* 800E1314 000DE274 28 00 00 00 */ cmplwi r0, 0
/* 800E1318 000DE278 41 82 00 2C */ beq lbl_800E1344
/* 800E131C 000DE27C 80 7F 02 28 */ lwz r3, 0x228(r31)
/* 800E1320 000DE280 80 03 00 10 */ lwz r0, 0x10(r3)
/* 800E1324 000DE284 28 00 00 00 */ cmplwi r0, 0
/* 800E1328 000DE288 41 82 00 1C */ beq lbl_800E1344
/* 800E132C 000DE28C 38 7F 02 28 */ addi r3, r31, 0x228
/* 800E1330 000DE290 48 25 FA DD */ bl GetObj__6CTokenFv
/* 800E1334 000DE294 80 03 00 04 */ lwz r0, 4(r3)
/* 800E1338 000DE298 38 60 00 01 */ li r3, 1
/* 800E133C 000DE29C 90 1F 02 30 */ stw r0, 0x230(r31)
/* 800E1340 000DE2A0 48 00 00 08 */ b lbl_800E1348
lbl_800E1344:
/* 800E1344 000DE2A4 38 60 00 00 */ li r3, 0
lbl_800E1348:
/* 800E1348 000DE2A8 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 800E134C 000DE2AC 41 82 00 50 */ beq lbl_800E139C
/* 800E1350 000DE2B0 80 1F 02 3C */ lwz r0, 0x23c(r31)
/* 800E1354 000DE2B4 28 00 00 00 */ cmplwi r0, 0
/* 800E1358 000DE2B8 41 82 00 0C */ beq lbl_800E1364
/* 800E135C 000DE2BC 38 60 00 01 */ li r3, 1
/* 800E1360 000DE2C0 48 00 00 3C */ b lbl_800E139C
lbl_800E1364:
/* 800E1364 000DE2C4 88 1F 02 38 */ lbz r0, 0x238(r31)
/* 800E1368 000DE2C8 28 00 00 00 */ cmplwi r0, 0
/* 800E136C 000DE2CC 41 82 00 2C */ beq lbl_800E1398
/* 800E1370 000DE2D0 80 7F 02 34 */ lwz r3, 0x234(r31)
/* 800E1374 000DE2D4 80 03 00 10 */ lwz r0, 0x10(r3)
/* 800E1378 000DE2D8 28 00 00 00 */ cmplwi r0, 0
/* 800E137C 000DE2DC 41 82 00 1C */ beq lbl_800E1398
/* 800E1380 000DE2E0 38 7F 02 34 */ addi r3, r31, 0x234
/* 800E1384 000DE2E4 48 25 FA 89 */ bl GetObj__6CTokenFv
/* 800E1388 000DE2E8 80 03 00 04 */ lwz r0, 4(r3)
/* 800E138C 000DE2EC 38 60 00 01 */ li r3, 1
/* 800E1390 000DE2F0 90 1F 02 3C */ stw r0, 0x23c(r31)
/* 800E1394 000DE2F4 48 00 00 08 */ b lbl_800E139C
lbl_800E1398:
/* 800E1398 000DE2F8 38 60 00 00 */ li r3, 0
lbl_800E139C:
/* 800E139C 000DE2FC 88 1F 02 48 */ lbz r0, 0x248(r31)
/* 800E13A0 000DE300 50 60 3E 30 */ rlwimi r0, r3, 7, 0x18, 0x18
/* 800E13A4 000DE304 98 1F 02 48 */ stb r0, 0x248(r31)
/* 800E13A8 000DE308 88 1F 02 48 */ lbz r0, 0x248(r31)
/* 800E13AC 000DE30C 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 800E13B0 000DE310 41 82 00 B4 */ beq lbl_800E1464
/* 800E13B4 000DE314 3C 60 80 3D */ lis r3, lbl_803CE598@ha
/* 800E13B8 000DE318 3B A0 00 00 */ li r29, 0
/* 800E13BC 000DE31C 38 83 E5 98 */ addi r4, r3, lbl_803CE598@l
/* 800E13C0 000DE320 38 A0 00 00 */ li r5, 0
/* 800E13C4 000DE324 38 60 03 40 */ li r3, 0x340
/* 800E13C8 000DE328 48 23 44 A5 */ bl __nw__FUlPCcPCc
/* 800E13CC 000DE32C 7C 7E 1B 79 */ or. r30, r3, r3
/* 800E13D0 000DE330 41 82 00 2C */ beq lbl_800E13FC
/* 800E13D4 000DE334 38 61 00 08 */ addi r3, r1, 8
/* 800E13D8 000DE338 38 9F 02 1C */ addi r4, r31, 0x21c
/* 800E13DC 000DE33C 48 25 FA CD */ bl __ct__6CTokenFRC6CToken
/* 800E13E0 000DE340 7F C3 F3 78 */ mr r3, r30
/* 800E13E4 000DE344 38 81 00 08 */ addi r4, r1, 8
/* 800E13E8 000DE348 3B A0 00 01 */ li r29, 1
/* 800E13EC 000DE34C 38 A0 00 00 */ li r5, 0
/* 800E13F0 000DE350 38 C0 00 01 */ li r6, 1
/* 800E13F4 000DE354 48 23 DF ED */ bl "__ct__11CElementGenF25TToken<15CGenDescription>Q211CElementGen21EModelOrientationTypeQ211CElementGen20EOptionalSystemFlags"
/* 800E13F8 000DE358 7C 7E 1B 78 */ mr r30, r3
lbl_800E13FC:
/* 800E13FC 000DE35C 80 7F 02 40 */ lwz r3, 0x240(r31)
/* 800E1400 000DE360 28 03 00 00 */ cmplwi r3, 0
/* 800E1404 000DE364 41 82 00 18 */ beq lbl_800E141C
/* 800E1408 000DE368 81 83 00 00 */ lwz r12, 0(r3)
/* 800E140C 000DE36C 38 80 00 01 */ li r4, 1
/* 800E1410 000DE370 81 8C 00 08 */ lwz r12, 8(r12)
/* 800E1414 000DE374 7D 89 03 A6 */ mtctr r12
/* 800E1418 000DE378 4E 80 04 21 */ bctrl
lbl_800E141C:
/* 800E141C 000DE37C 7F A0 07 75 */ extsb. r0, r29
/* 800E1420 000DE380 93 DF 02 40 */ stw r30, 0x240(r31)
/* 800E1424 000DE384 41 82 00 10 */ beq lbl_800E1434
/* 800E1428 000DE388 38 61 00 08 */ addi r3, r1, 8
/* 800E142C 000DE38C 38 80 00 00 */ li r4, 0
/* 800E1430 000DE390 48 25 FA 11 */ bl __dt__6CTokenFv
lbl_800E1434:
/* 800E1434 000DE394 80 7F 02 40 */ lwz r3, 0x240(r31)
/* 800E1438 000DE398 38 9F 00 04 */ addi r4, r31, 4
/* 800E143C 000DE39C 81 83 00 00 */ lwz r12, 0(r3)
/* 800E1440 000DE3A0 81 8C 00 24 */ lwz r12, 0x24(r12)
/* 800E1444 000DE3A4 7D 89 03 A6 */ mtctr r12
/* 800E1448 000DE3A8 4E 80 04 21 */ bctrl
/* 800E144C 000DE3AC 80 7F 02 40 */ lwz r3, 0x240(r31)
/* 800E1450 000DE3B0 38 80 00 00 */ li r4, 0
/* 800E1454 000DE3B4 81 83 00 00 */ lwz r12, 0(r3)
/* 800E1458 000DE3B8 81 8C 00 2C */ lwz r12, 0x2c(r12)
/* 800E145C 000DE3BC 7D 89 03 A6 */ mtctr r12
/* 800E1460 000DE3C0 4E 80 04 21 */ bctrl
lbl_800E1464:
/* 800E1464 000DE3C4 80 01 00 24 */ lwz r0, 0x24(r1)
/* 800E1468 000DE3C8 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 800E146C 000DE3CC 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 800E1470 000DE3D0 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 800E1474 000DE3D4 7C 08 03 A6 */ mtlr r0
/* 800E1478 000DE3D8 38 21 00 20 */ addi r1, r1, 0x20
/* 800E147C 000DE3DC 4E 80 00 20 */ blr
.global UpdateGunFx__8CIceBeamFbfRC13CStateManagerRC12CTransform4f
UpdateGunFx__8CIceBeamFbfRC13CStateManagerRC12CTransform4f:
/* 800E1480 000DE3E0 94 21 FE E0 */ stwu r1, -0x120(r1)
/* 800E1484 000DE3E4 7C 08 02 A6 */ mflr r0
/* 800E1488 000DE3E8 90 01 01 24 */ stw r0, 0x124(r1)
/* 800E148C 000DE3EC DB E1 01 10 */ stfd f31, 0x110(r1)
/* 800E1490 000DE3F0 F3 E1 01 18 */ psq_st f31, 280(r1), 0, qr0
/* 800E1494 000DE3F4 BF 61 00 FC */ stmw r27, 0xfc(r1)
/* 800E1498 000DE3F8 7C 7B 1B 78 */ mr r27, r3
/* 800E149C 000DE3FC FF E0 08 90 */ fmr f31, f1
/* 800E14A0 000DE400 80 03 02 40 */ lwz r0, 0x240(r3)
/* 800E14A4 000DE404 7C 9C 23 78 */ mr r28, r4
/* 800E14A8 000DE408 7C BD 2B 78 */ mr r29, r5
/* 800E14AC 000DE40C 7C DE 33 78 */ mr r30, r6
/* 800E14B0 000DE410 28 00 00 00 */ cmplwi r0, 0
/* 800E14B4 000DE414 41 82 00 A4 */ beq lbl_800E1558
/* 800E14B8 000DE418 80 82 A9 C8 */ lwz r4, lbl_805AC6E8@sda21(r2)
/* 800E14BC 000DE41C 38 61 00 20 */ addi r3, r1, 0x20
/* 800E14C0 000DE420 4B F2 37 F9 */ bl string_l__4rstlFPCc
/* 800E14C4 000DE424 38 61 00 90 */ addi r3, r1, 0x90
/* 800E14C8 000DE428 38 9B 00 10 */ addi r4, r27, 0x10
/* 800E14CC 000DE42C 38 A1 00 20 */ addi r5, r1, 0x20
/* 800E14D0 000DE430 48 03 44 D1 */ bl "GetScaledLocatorTransform__10CModelDataCFRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>"
/* 800E14D4 000DE434 38 61 00 C0 */ addi r3, r1, 0xc0
/* 800E14D8 000DE438 38 81 00 90 */ addi r4, r1, 0x90
/* 800E14DC 000DE43C 48 23 16 99 */ bl __ct__12CTransform4fFRC12CTransform4f
/* 800E14E0 000DE440 38 61 00 20 */ addi r3, r1, 0x20
/* 800E14E4 000DE444 48 25 C5 FD */ bl "internal_dereference__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Fv"
/* 800E14E8 000DE448 C0 41 00 CC */ lfs f2, 0xcc(r1)
/* 800E14EC 000DE44C 38 81 00 14 */ addi r4, r1, 0x14
/* 800E14F0 000DE450 C0 21 00 DC */ lfs f1, 0xdc(r1)
/* 800E14F4 000DE454 C0 01 00 EC */ lfs f0, 0xec(r1)
/* 800E14F8 000DE458 D0 41 00 14 */ stfs f2, 0x14(r1)
/* 800E14FC 000DE45C D0 21 00 18 */ stfs f1, 0x18(r1)
/* 800E1500 000DE460 D0 01 00 1C */ stfs f0, 0x1c(r1)
/* 800E1504 000DE464 80 7B 02 40 */ lwz r3, 0x240(r27)
/* 800E1508 000DE468 81 83 00 00 */ lwz r12, 0(r3)
/* 800E150C 000DE46C 81 8C 00 18 */ lwz r12, 0x18(r12)
/* 800E1510 000DE470 7D 89 03 A6 */ mtctr r12
/* 800E1514 000DE474 4E 80 04 21 */ bctrl
/* 800E1518 000DE478 83 FB 02 40 */ lwz r31, 0x240(r27)
/* 800E151C 000DE47C 38 61 00 60 */ addi r3, r1, 0x60
/* 800E1520 000DE480 38 81 00 C0 */ addi r4, r1, 0xc0
/* 800E1524 000DE484 48 23 17 1D */ bl GetRotation__12CTransform4fCFv
/* 800E1528 000DE488 7F E3 FB 78 */ mr r3, r31
/* 800E152C 000DE48C 38 81 00 60 */ addi r4, r1, 0x60
/* 800E1530 000DE490 81 9F 00 00 */ lwz r12, 0(r31)
/* 800E1534 000DE494 81 8C 00 14 */ lwz r12, 0x14(r12)
/* 800E1538 000DE498 7D 89 03 A6 */ mtctr r12
/* 800E153C 000DE49C 4E 80 04 21 */ bctrl
/* 800E1540 000DE4A0 80 7B 02 40 */ lwz r3, 0x240(r27)
/* 800E1544 000DE4A4 FC 20 F8 90 */ fmr f1, f31
/* 800E1548 000DE4A8 81 83 00 00 */ lwz r12, 0(r3)
/* 800E154C 000DE4AC 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 800E1550 000DE4B0 7D 89 03 A6 */ mtctr r12
/* 800E1554 000DE4B4 4E 80 04 21 */ bctrl
lbl_800E1558:
/* 800E1558 000DE4B8 80 7B 02 44 */ lwz r3, 0x244(r27)
/* 800E155C 000DE4BC 28 03 00 00 */ cmplwi r3, 0
/* 800E1560 000DE4C0 41 82 00 F0 */ beq lbl_800E1650
/* 800E1564 000DE4C4 88 1B 02 48 */ lbz r0, 0x248(r27)
/* 800E1568 000DE4C8 54 00 D7 FF */ rlwinm. r0, r0, 0x1a, 0x1f, 0x1f
/* 800E156C 000DE4CC 41 82 00 4C */ beq lbl_800E15B8
/* 800E1570 000DE4D0 81 83 00 00 */ lwz r12, 0(r3)
/* 800E1574 000DE4D4 81 8C 00 58 */ lwz r12, 0x58(r12)
/* 800E1578 000DE4D8 7D 89 03 A6 */ mtctr r12
/* 800E157C 000DE4DC 4E 80 04 21 */ bctrl
/* 800E1580 000DE4E0 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 800E1584 000DE4E4 41 82 00 34 */ beq lbl_800E15B8
/* 800E1588 000DE4E8 38 00 00 00 */ li r0, 0
/* 800E158C 000DE4EC 90 1B 01 CC */ stw r0, 0x1cc(r27)
/* 800E1590 000DE4F0 80 7B 02 44 */ lwz r3, 0x244(r27)
/* 800E1594 000DE4F4 28 03 00 00 */ cmplwi r3, 0
/* 800E1598 000DE4F8 41 82 00 18 */ beq lbl_800E15B0
/* 800E159C 000DE4FC 81 83 00 00 */ lwz r12, 0(r3)
/* 800E15A0 000DE500 38 80 00 01 */ li r4, 1
/* 800E15A4 000DE504 81 8C 00 08 */ lwz r12, 8(r12)
/* 800E15A8 000DE508 7D 89 03 A6 */ mtctr r12
/* 800E15AC 000DE50C 4E 80 04 21 */ bctrl
lbl_800E15B0:
/* 800E15B0 000DE510 38 00 00 00 */ li r0, 0
/* 800E15B4 000DE514 90 1B 02 44 */ stw r0, 0x244(r27)
lbl_800E15B8:
/* 800E15B8 000DE518 80 1B 01 CC */ lwz r0, 0x1cc(r27)
/* 800E15BC 000DE51C 2C 00 00 00 */ cmpwi r0, 0
/* 800E15C0 000DE520 41 82 00 90 */ beq lbl_800E1650
/* 800E15C4 000DE524 88 1B 02 48 */ lbz r0, 0x248(r27)
/* 800E15C8 000DE528 54 00 D7 FF */ rlwinm. r0, r0, 0x1a, 0x1f, 0x1f
/* 800E15CC 000DE52C 41 82 00 60 */ beq lbl_800E162C
/* 800E15D0 000DE530 C0 5E 00 2C */ lfs f2, 0x2c(r30)
/* 800E15D4 000DE534 38 81 00 08 */ addi r4, r1, 8
/* 800E15D8 000DE538 C0 3E 00 1C */ lfs f1, 0x1c(r30)
/* 800E15DC 000DE53C C0 1E 00 0C */ lfs f0, 0xc(r30)
/* 800E15E0 000DE540 D0 21 00 0C */ stfs f1, 0xc(r1)
/* 800E15E4 000DE544 D0 01 00 08 */ stfs f0, 8(r1)
/* 800E15E8 000DE548 D0 41 00 10 */ stfs f2, 0x10(r1)
/* 800E15EC 000DE54C 80 7B 02 44 */ lwz r3, 0x244(r27)
/* 800E15F0 000DE550 81 83 00 00 */ lwz r12, 0(r3)
/* 800E15F4 000DE554 81 8C 00 18 */ lwz r12, 0x18(r12)
/* 800E15F8 000DE558 7D 89 03 A6 */ mtctr r12
/* 800E15FC 000DE55C 4E 80 04 21 */ bctrl
/* 800E1600 000DE560 83 FB 02 44 */ lwz r31, 0x244(r27)
/* 800E1604 000DE564 7F C4 F3 78 */ mr r4, r30
/* 800E1608 000DE568 38 61 00 30 */ addi r3, r1, 0x30
/* 800E160C 000DE56C 48 23 16 35 */ bl GetRotation__12CTransform4fCFv
/* 800E1610 000DE570 7F E3 FB 78 */ mr r3, r31
/* 800E1614 000DE574 38 81 00 30 */ addi r4, r1, 0x30
/* 800E1618 000DE578 81 9F 00 00 */ lwz r12, 0(r31)
/* 800E161C 000DE57C 81 8C 00 14 */ lwz r12, 0x14(r12)
/* 800E1620 000DE580 7D 89 03 A6 */ mtctr r12
/* 800E1624 000DE584 4E 80 04 21 */ bctrl
/* 800E1628 000DE588 48 00 00 10 */ b lbl_800E1638
lbl_800E162C:
/* 800E162C 000DE58C 80 7B 02 44 */ lwz r3, 0x244(r27)
/* 800E1630 000DE590 7F C4 F3 78 */ mr r4, r30
/* 800E1634 000DE594 48 23 D5 51 */ bl SetGlobalOrientAndTrans__11CElementGenFRC12CTransform4f
lbl_800E1638:
/* 800E1638 000DE598 80 7B 02 44 */ lwz r3, 0x244(r27)
/* 800E163C 000DE59C FC 20 F8 90 */ fmr f1, f31
/* 800E1640 000DE5A0 81 83 00 00 */ lwz r12, 0(r3)
/* 800E1644 000DE5A4 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 800E1648 000DE5A8 7D 89 03 A6 */ mtctr r12
/* 800E164C 000DE5AC 4E 80 04 21 */ bctrl
lbl_800E1650:
/* 800E1650 000DE5B0 FC 20 F8 90 */ fmr f1, f31
/* 800E1654 000DE5B4 7F 63 DB 78 */ mr r3, r27
/* 800E1658 000DE5B8 7F 84 E3 78 */ mr r4, r28
/* 800E165C 000DE5BC 7F A5 EB 78 */ mr r5, r29
/* 800E1660 000DE5C0 7F C6 F3 78 */ mr r6, r30
/* 800E1664 000DE5C4 48 0D AC 79 */ bl UpdateGunFx__10CGunWeaponFbfRC13CStateManagerRC12CTransform4f
/* 800E1668 000DE5C8 E3 E1 01 18 */ psq_l f31, 280(r1), 0, qr0
/* 800E166C 000DE5CC CB E1 01 10 */ lfd f31, 0x110(r1)
/* 800E1670 000DE5D0 BB 61 00 FC */ lmw r27, 0xfc(r1)
/* 800E1674 000DE5D4 80 01 01 24 */ lwz r0, 0x124(r1)
/* 800E1678 000DE5D8 7C 08 03 A6 */ mtlr r0
/* 800E167C 000DE5DC 38 21 01 20 */ addi r1, r1, 0x120
/* 800E1680 000DE5E0 4E 80 00 20 */ blr
.global PostRenderGunFx__8CIceBeamFRC13CStateManagerRC12CTransform4f
PostRenderGunFx__8CIceBeamFRC13CStateManagerRC12CTransform4f:
/* 800E1684 000DE5E4 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 800E1688 000DE5E8 7C 08 02 A6 */ mflr r0
/* 800E168C 000DE5EC 90 01 00 24 */ stw r0, 0x24(r1)
/* 800E1690 000DE5F0 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 800E1694 000DE5F4 93 C1 00 18 */ stw r30, 0x18(r1)
/* 800E1698 000DE5F8 7C BE 2B 78 */ mr r30, r5
/* 800E169C 000DE5FC 93 A1 00 14 */ stw r29, 0x14(r1)
/* 800E16A0 000DE600 7C 9D 23 78 */ mr r29, r4
/* 800E16A4 000DE604 93 81 00 10 */ stw r28, 0x10(r1)
/* 800E16A8 000DE608 7C 7C 1B 78 */ mr r28, r3
/* 800E16AC 000DE60C 80 04 0F 34 */ lwz r0, 0xf34(r4)
/* 800E16B0 000DE610 7C 03 00 34 */ cntlzw r3, r0
/* 800E16B4 000DE614 54 60 DE 3F */ rlwinm. r0, r3, 0x1b, 0x18, 0x1f
/* 800E16B8 000DE618 54 7F D9 7E */ srwi r31, r3, 5
/* 800E16BC 000DE61C 41 82 00 0C */ beq lbl_800E16C8
/* 800E16C0 000DE620 38 00 00 01 */ li r0, 1
/* 800E16C4 000DE624 98 0D A8 B9 */ stb r0, lbl_805A9479@sda21(r13)
lbl_800E16C8:
/* 800E16C8 000DE628 80 7C 02 40 */ lwz r3, 0x240(r28)
/* 800E16CC 000DE62C 28 03 00 00 */ cmplwi r3, 0
/* 800E16D0 000DE630 41 82 00 14 */ beq lbl_800E16E4
/* 800E16D4 000DE634 81 83 00 00 */ lwz r12, 0(r3)
/* 800E16D8 000DE638 81 8C 00 10 */ lwz r12, 0x10(r12)
/* 800E16DC 000DE63C 7D 89 03 A6 */ mtctr r12
/* 800E16E0 000DE640 4E 80 04 21 */ bctrl
lbl_800E16E4:
/* 800E16E4 000DE644 80 1C 01 CC */ lwz r0, 0x1cc(r28)
/* 800E16E8 000DE648 2C 00 00 00 */ cmpwi r0, 0
/* 800E16EC 000DE64C 41 82 00 20 */ beq lbl_800E170C
/* 800E16F0 000DE650 80 7C 02 44 */ lwz r3, 0x244(r28)
/* 800E16F4 000DE654 28 03 00 00 */ cmplwi r3, 0
/* 800E16F8 000DE658 41 82 00 14 */ beq lbl_800E170C
/* 800E16FC 000DE65C 81 83 00 00 */ lwz r12, 0(r3)
/* 800E1700 000DE660 81 8C 00 10 */ lwz r12, 0x10(r12)
/* 800E1704 000DE664 7D 89 03 A6 */ mtctr r12
/* 800E1708 000DE668 4E 80 04 21 */ bctrl
lbl_800E170C:
/* 800E170C 000DE66C 7F 83 E3 78 */ mr r3, r28
/* 800E1710 000DE670 7F A4 EB 78 */ mr r4, r29
/* 800E1714 000DE674 7F C5 F3 78 */ mr r5, r30
/* 800E1718 000DE678 48 0D AD 0D */ bl PostRenderGunFx__10CGunWeaponFRC13CStateManagerRC12CTransform4f
/* 800E171C 000DE67C 57 E0 06 3F */ clrlwi. r0, r31, 0x18
/* 800E1720 000DE680 41 82 00 0C */ beq lbl_800E172C
/* 800E1724 000DE684 38 00 00 00 */ li r0, 0
/* 800E1728 000DE688 98 0D A8 B9 */ stb r0, lbl_805A9479@sda21(r13)
lbl_800E172C:
/* 800E172C 000DE68C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 800E1730 000DE690 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 800E1734 000DE694 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 800E1738 000DE698 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 800E173C 000DE69C 83 81 00 10 */ lwz r28, 0x10(r1)
/* 800E1740 000DE6A0 7C 08 03 A6 */ mtlr r0
/* 800E1744 000DE6A4 38 21 00 20 */ addi r1, r1, 0x20
/* 800E1748 000DE6A8 4E 80 00 20 */ blr
.global PreRenderGunFx__8CIceBeamFRC13CStateManagerRC12CTransform4f
PreRenderGunFx__8CIceBeamFRC13CStateManagerRC12CTransform4f:
/* 800E174C 000DE6AC 4E 80 00 20 */ blr
.global ReInitVariables__8CIceBeamFv
ReInitVariables__8CIceBeamFv:
/* 800E1750 000DE6B0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 800E1754 000DE6B4 7C 08 02 A6 */ mflr r0
/* 800E1758 000DE6B8 90 01 00 14 */ stw r0, 0x14(r1)
/* 800E175C 000DE6BC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 800E1760 000DE6C0 7C 7F 1B 78 */ mr r31, r3
/* 800E1764 000DE6C4 80 63 02 40 */ lwz r3, 0x240(r3)
/* 800E1768 000DE6C8 28 03 00 00 */ cmplwi r3, 0
/* 800E176C 000DE6CC 41 82 00 18 */ beq lbl_800E1784
/* 800E1770 000DE6D0 81 83 00 00 */ lwz r12, 0(r3)
/* 800E1774 000DE6D4 38 80 00 01 */ li r4, 1
/* 800E1778 000DE6D8 81 8C 00 08 */ lwz r12, 8(r12)
/* 800E177C 000DE6DC 7D 89 03 A6 */ mtctr r12
/* 800E1780 000DE6E0 4E 80 04 21 */ bctrl
lbl_800E1784:
/* 800E1784 000DE6E4 38 00 00 00 */ li r0, 0
/* 800E1788 000DE6E8 90 1F 02 40 */ stw r0, 0x240(r31)
/* 800E178C 000DE6EC 80 7F 02 44 */ lwz r3, 0x244(r31)
/* 800E1790 000DE6F0 28 03 00 00 */ cmplwi r3, 0
/* 800E1794 000DE6F4 41 82 00 18 */ beq lbl_800E17AC
/* 800E1798 000DE6F8 81 83 00 00 */ lwz r12, 0(r3)
/* 800E179C 000DE6FC 38 80 00 01 */ li r4, 1
/* 800E17A0 000DE700 81 8C 00 08 */ lwz r12, 8(r12)
/* 800E17A4 000DE704 7D 89 03 A6 */ mtctr r12
/* 800E17A8 000DE708 4E 80 04 21 */ bctrl
lbl_800E17AC:
/* 800E17AC 000DE70C 38 60 00 00 */ li r3, 0
/* 800E17B0 000DE710 90 7F 02 44 */ stw r3, 0x244(r31)
/* 800E17B4 000DE714 88 1F 02 48 */ lbz r0, 0x248(r31)
/* 800E17B8 000DE718 50 60 3E 30 */ rlwimi r0, r3, 7, 0x18, 0x18
/* 800E17BC 000DE71C 98 1F 02 48 */ stb r0, 0x248(r31)
/* 800E17C0 000DE720 88 1F 02 48 */ lbz r0, 0x248(r31)
/* 800E17C4 000DE724 50 60 36 72 */ rlwimi r0, r3, 6, 0x19, 0x19
/* 800E17C8 000DE728 98 1F 02 48 */ stb r0, 0x248(r31)
/* 800E17CC 000DE72C 90 7F 01 CC */ stw r3, 0x1cc(r31)
/* 800E17D0 000DE730 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 800E17D4 000DE734 80 01 00 14 */ lwz r0, 0x14(r1)
/* 800E17D8 000DE738 7C 08 03 A6 */ mtlr r0
/* 800E17DC 000DE73C 38 21 00 10 */ addi r1, r1, 0x10
/* 800E17E0 000DE740 4E 80 00 20 */ blr
.global __dt__8CIceBeamFv
__dt__8CIceBeamFv:
/* 800E17E4 000DE744 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 800E17E8 000DE748 7C 08 02 A6 */ mflr r0
/* 800E17EC 000DE74C 90 01 00 14 */ stw r0, 0x14(r1)
/* 800E17F0 000DE750 93 E1 00 0C */ stw r31, 0xc(r1)
/* 800E17F4 000DE754 7C 9F 23 78 */ mr r31, r4
/* 800E17F8 000DE758 93 C1 00 08 */ stw r30, 8(r1)
/* 800E17FC 000DE75C 7C 7E 1B 79 */ or. r30, r3, r3
/* 800E1800 000DE760 41 82 00 D0 */ beq lbl_800E18D0
/* 800E1804 000DE764 3C 60 80 3E */ lis r3, lbl_803DF7E8@ha
/* 800E1808 000DE768 34 1E 02 44 */ addic. r0, r30, 0x244
/* 800E180C 000DE76C 38 03 F7 E8 */ addi r0, r3, lbl_803DF7E8@l
/* 800E1810 000DE770 90 1E 00 00 */ stw r0, 0(r30)
/* 800E1814 000DE774 41 82 00 24 */ beq lbl_800E1838
/* 800E1818 000DE778 80 7E 02 44 */ lwz r3, 0x244(r30)
/* 800E181C 000DE77C 28 03 00 00 */ cmplwi r3, 0
/* 800E1820 000DE780 41 82 00 18 */ beq lbl_800E1838
/* 800E1824 000DE784 81 83 00 00 */ lwz r12, 0(r3)
/* 800E1828 000DE788 38 80 00 01 */ li r4, 1
/* 800E182C 000DE78C 81 8C 00 08 */ lwz r12, 8(r12)
/* 800E1830 000DE790 7D 89 03 A6 */ mtctr r12
/* 800E1834 000DE794 4E 80 04 21 */ bctrl
lbl_800E1838:
/* 800E1838 000DE798 34 1E 02 40 */ addic. r0, r30, 0x240
/* 800E183C 000DE79C 41 82 00 24 */ beq lbl_800E1860
/* 800E1840 000DE7A0 80 7E 02 40 */ lwz r3, 0x240(r30)
/* 800E1844 000DE7A4 28 03 00 00 */ cmplwi r3, 0
/* 800E1848 000DE7A8 41 82 00 18 */ beq lbl_800E1860
/* 800E184C 000DE7AC 81 83 00 00 */ lwz r12, 0(r3)
/* 800E1850 000DE7B0 38 80 00 01 */ li r4, 1
/* 800E1854 000DE7B4 81 8C 00 08 */ lwz r12, 8(r12)
/* 800E1858 000DE7B8 7D 89 03 A6 */ mtctr r12
/* 800E185C 000DE7BC 4E 80 04 21 */ bctrl
lbl_800E1860:
/* 800E1860 000DE7C0 34 1E 02 34 */ addic. r0, r30, 0x234
/* 800E1864 000DE7C4 41 82 00 18 */ beq lbl_800E187C
/* 800E1868 000DE7C8 34 1E 02 34 */ addic. r0, r30, 0x234
/* 800E186C 000DE7CC 41 82 00 10 */ beq lbl_800E187C
/* 800E1870 000DE7D0 38 7E 02 34 */ addi r3, r30, 0x234
/* 800E1874 000DE7D4 38 80 00 00 */ li r4, 0
/* 800E1878 000DE7D8 48 25 F5 C9 */ bl __dt__6CTokenFv
lbl_800E187C:
/* 800E187C 000DE7DC 34 1E 02 28 */ addic. r0, r30, 0x228
/* 800E1880 000DE7E0 41 82 00 18 */ beq lbl_800E1898
/* 800E1884 000DE7E4 34 1E 02 28 */ addic. r0, r30, 0x228
/* 800E1888 000DE7E8 41 82 00 10 */ beq lbl_800E1898
/* 800E188C 000DE7EC 38 7E 02 28 */ addi r3, r30, 0x228
/* 800E1890 000DE7F0 38 80 00 00 */ li r4, 0
/* 800E1894 000DE7F4 48 25 F5 AD */ bl __dt__6CTokenFv
lbl_800E1898:
/* 800E1898 000DE7F8 34 1E 02 1C */ addic. r0, r30, 0x21c
/* 800E189C 000DE7FC 41 82 00 18 */ beq lbl_800E18B4
/* 800E18A0 000DE800 34 1E 02 1C */ addic. r0, r30, 0x21c
/* 800E18A4 000DE804 41 82 00 10 */ beq lbl_800E18B4
/* 800E18A8 000DE808 38 7E 02 1C */ addi r3, r30, 0x21c
/* 800E18AC 000DE80C 38 80 00 00 */ li r4, 0
/* 800E18B0 000DE810 48 25 F5 91 */ bl __dt__6CTokenFv
lbl_800E18B4:
/* 800E18B4 000DE814 7F C3 F3 78 */ mr r3, r30
/* 800E18B8 000DE818 38 80 00 00 */ li r4, 0
/* 800E18BC 000DE81C 48 0D B4 05 */ bl __dt__10CGunWeaponFv
/* 800E18C0 000DE820 7F E0 07 35 */ extsh. r0, r31
/* 800E18C4 000DE824 40 81 00 0C */ ble lbl_800E18D0
/* 800E18C8 000DE828 7F C3 F3 78 */ mr r3, r30
/* 800E18CC 000DE82C 48 23 40 65 */ bl Free__7CMemoryFPCv
lbl_800E18D0:
/* 800E18D0 000DE830 80 01 00 14 */ lwz r0, 0x14(r1)
/* 800E18D4 000DE834 7F C3 F3 78 */ mr r3, r30
/* 800E18D8 000DE838 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 800E18DC 000DE83C 83 C1 00 08 */ lwz r30, 8(r1)
/* 800E18E0 000DE840 7C 08 03 A6 */ mtlr r0
/* 800E18E4 000DE844 38 21 00 10 */ addi r1, r1, 0x10
/* 800E18E8 000DE848 4E 80 00 20 */ blr
.global __ct__8CIceBeamFUi11EWeaponType9TUniqueId14EMaterialTypesRC9CVector3f
__ct__8CIceBeamFUi11EWeaponType9TUniqueId14EMaterialTypesRC9CVector3f:
/* 800E18EC 000DE84C 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 800E18F0 000DE850 7C 08 02 A6 */ mflr r0
/* 800E18F4 000DE854 90 01 00 34 */ stw r0, 0x34(r1)
/* 800E18F8 000DE858 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 800E18FC 000DE85C 7C 7F 1B 78 */ mr r31, r3
/* 800E1900 000DE860 93 C1 00 28 */ stw r30, 0x28(r1)
/* 800E1904 000DE864 A0 06 00 00 */ lhz r0, 0(r6)
/* 800E1908 000DE868 38 C1 00 08 */ addi r6, r1, 8
/* 800E190C 000DE86C B0 01 00 08 */ sth r0, 8(r1)
/* 800E1910 000DE870 48 0D B8 A1 */ bl __ct__10CGunWeaponFUi11EWeaponType9TUniqueId14EMaterialTypesRC9CVector3f
/* 800E1914 000DE874 3C 60 80 3E */ lis r3, lbl_803DF7E8@ha
/* 800E1918 000DE878 3C 80 80 3D */ lis r4, lbl_803CE598@ha
/* 800E191C 000DE87C 38 03 F7 E8 */ addi r0, r3, lbl_803DF7E8@l
/* 800E1920 000DE880 38 61 00 1C */ addi r3, r1, 0x1c
/* 800E1924 000DE884 90 1F 00 00 */ stw r0, 0(r31)
/* 800E1928 000DE888 38 84 E5 98 */ addi r4, r4, lbl_803CE598@l
/* 800E192C 000DE88C 38 A4 00 07 */ addi r5, r4, 7
/* 800E1930 000DE890 80 8D A0 64 */ lwz r4, gpSimplePool@sda21(r13)
/* 800E1934 000DE894 81 84 00 00 */ lwz r12, 0(r4)
/* 800E1938 000DE898 81 8C 00 10 */ lwz r12, 0x10(r12)
/* 800E193C 000DE89C 7D 89 03 A6 */ mtctr r12
/* 800E1940 000DE8A0 4E 80 04 21 */ bctrl
/* 800E1944 000DE8A4 3B DF 02 1C */ addi r30, r31, 0x21c
/* 800E1948 000DE8A8 38 81 00 1C */ addi r4, r1, 0x1c
/* 800E194C 000DE8AC 7F C3 F3 78 */ mr r3, r30
/* 800E1950 000DE8B0 48 25 F5 59 */ bl __ct__6CTokenFRC6CToken
/* 800E1954 000DE8B4 38 00 00 00 */ li r0, 0
/* 800E1958 000DE8B8 38 61 00 1C */ addi r3, r1, 0x1c
/* 800E195C 000DE8BC 90 1E 00 08 */ stw r0, 8(r30)
/* 800E1960 000DE8C0 38 80 FF FF */ li r4, -1
/* 800E1964 000DE8C4 48 25 F4 DD */ bl __dt__6CTokenFv
/* 800E1968 000DE8C8 80 8D A0 64 */ lwz r4, gpSimplePool@sda21(r13)
/* 800E196C 000DE8CC 3C 60 80 3D */ lis r3, lbl_803CE598@ha
/* 800E1970 000DE8D0 38 A3 E5 98 */ addi r5, r3, lbl_803CE598@l
/* 800E1974 000DE8D4 38 61 00 14 */ addi r3, r1, 0x14
/* 800E1978 000DE8D8 81 84 00 00 */ lwz r12, 0(r4)
/* 800E197C 000DE8DC 38 A5 00 10 */ addi r5, r5, 0x10
/* 800E1980 000DE8E0 81 8C 00 10 */ lwz r12, 0x10(r12)
/* 800E1984 000DE8E4 7D 89 03 A6 */ mtctr r12
/* 800E1988 000DE8E8 4E 80 04 21 */ bctrl
/* 800E198C 000DE8EC 3B DF 02 28 */ addi r30, r31, 0x228
/* 800E1990 000DE8F0 38 81 00 14 */ addi r4, r1, 0x14
/* 800E1994 000DE8F4 7F C3 F3 78 */ mr r3, r30
/* 800E1998 000DE8F8 48 25 F5 11 */ bl __ct__6CTokenFRC6CToken
/* 800E199C 000DE8FC 38 00 00 00 */ li r0, 0
/* 800E19A0 000DE900 38 61 00 14 */ addi r3, r1, 0x14
/* 800E19A4 000DE904 90 1E 00 08 */ stw r0, 8(r30)
/* 800E19A8 000DE908 38 80 FF FF */ li r4, -1
/* 800E19AC 000DE90C 48 25 F4 95 */ bl __dt__6CTokenFv
/* 800E19B0 000DE910 80 8D A0 64 */ lwz r4, gpSimplePool@sda21(r13)
/* 800E19B4 000DE914 3C 60 80 3D */ lis r3, lbl_803CE598@ha
/* 800E19B8 000DE918 38 A3 E5 98 */ addi r5, r3, lbl_803CE598@l
/* 800E19BC 000DE91C 38 61 00 0C */ addi r3, r1, 0xc
/* 800E19C0 000DE920 81 84 00 00 */ lwz r12, 0(r4)
/* 800E19C4 000DE924 38 A5 00 19 */ addi r5, r5, 0x19
/* 800E19C8 000DE928 81 8C 00 10 */ lwz r12, 0x10(r12)
/* 800E19CC 000DE92C 7D 89 03 A6 */ mtctr r12
/* 800E19D0 000DE930 4E 80 04 21 */ bctrl
/* 800E19D4 000DE934 3B DF 02 34 */ addi r30, r31, 0x234
/* 800E19D8 000DE938 38 81 00 0C */ addi r4, r1, 0xc
/* 800E19DC 000DE93C 7F C3 F3 78 */ mr r3, r30
/* 800E19E0 000DE940 48 25 F4 C9 */ bl __ct__6CTokenFRC6CToken
/* 800E19E4 000DE944 38 00 00 00 */ li r0, 0
/* 800E19E8 000DE948 38 61 00 0C */ addi r3, r1, 0xc
/* 800E19EC 000DE94C 90 1E 00 08 */ stw r0, 8(r30)
/* 800E19F0 000DE950 38 80 FF FF */ li r4, -1
/* 800E19F4 000DE954 48 25 F4 4D */ bl __dt__6CTokenFv
/* 800E19F8 000DE958 38 80 00 00 */ li r4, 0
/* 800E19FC 000DE95C 7F E3 FB 78 */ mr r3, r31
/* 800E1A00 000DE960 90 9F 02 40 */ stw r4, 0x240(r31)
/* 800E1A04 000DE964 90 9F 02 44 */ stw r4, 0x244(r31)
/* 800E1A08 000DE968 88 1F 02 48 */ lbz r0, 0x248(r31)
/* 800E1A0C 000DE96C 50 80 3E 30 */ rlwimi r0, r4, 7, 0x18, 0x18
/* 800E1A10 000DE970 98 1F 02 48 */ stb r0, 0x248(r31)
/* 800E1A14 000DE974 88 1F 02 48 */ lbz r0, 0x248(r31)
/* 800E1A18 000DE978 50 80 36 72 */ rlwimi r0, r4, 6, 0x19, 0x19
/* 800E1A1C 000DE97C 98 1F 02 48 */ stb r0, 0x248(r31)
/* 800E1A20 000DE980 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 800E1A24 000DE984 83 C1 00 28 */ lwz r30, 0x28(r1)
/* 800E1A28 000DE988 80 01 00 34 */ lwz r0, 0x34(r1)
/* 800E1A2C 000DE98C 7C 08 03 A6 */ mtlr r0
/* 800E1A30 000DE990 38 21 00 30 */ addi r1, r1, 0x30
/* 800E1A34 000DE994 4E 80 00 20 */ blr

View File

@ -0,0 +1,51 @@
.include "macros.inc"
.section .text, "ax" # 0x80003640 - 0x803CB1C0
.global __ct__Q210IAllocator8SMetricsFRCQ210IAllocator8SMetrics
__ct__Q210IAllocator8SMetricsFRCQ210IAllocator8SMetrics:
/* 800C364C 000C05AC 80 04 00 00 */ lwz r0, 0(r4)
/* 800C3650 000C05B0 90 03 00 00 */ stw r0, 0(r3)
/* 800C3654 000C05B4 80 04 00 04 */ lwz r0, 4(r4)
/* 800C3658 000C05B8 90 03 00 04 */ stw r0, 4(r3)
/* 800C365C 000C05BC 80 04 00 08 */ lwz r0, 8(r4)
/* 800C3660 000C05C0 90 03 00 08 */ stw r0, 8(r3)
/* 800C3664 000C05C4 80 04 00 0C */ lwz r0, 0xc(r4)
/* 800C3668 000C05C8 90 03 00 0C */ stw r0, 0xc(r3)
/* 800C366C 000C05CC 80 04 00 10 */ lwz r0, 0x10(r4)
/* 800C3670 000C05D0 90 03 00 10 */ stw r0, 0x10(r3)
/* 800C3674 000C05D4 80 04 00 14 */ lwz r0, 0x14(r4)
/* 800C3678 000C05D8 90 03 00 14 */ stw r0, 0x14(r3)
/* 800C367C 000C05DC 80 04 00 18 */ lwz r0, 0x18(r4)
/* 800C3680 000C05E0 90 03 00 18 */ stw r0, 0x18(r3)
/* 800C3684 000C05E4 80 04 00 1C */ lwz r0, 0x1c(r4)
/* 800C3688 000C05E8 90 03 00 1C */ stw r0, 0x1c(r3)
/* 800C368C 000C05EC 80 04 00 20 */ lwz r0, 0x20(r4)
/* 800C3690 000C05F0 90 03 00 20 */ stw r0, 0x20(r3)
/* 800C3694 000C05F4 80 04 00 24 */ lwz r0, 0x24(r4)
/* 800C3698 000C05F8 90 03 00 24 */ stw r0, 0x24(r3)
/* 800C369C 000C05FC 80 04 00 28 */ lwz r0, 0x28(r4)
/* 800C36A0 000C0600 90 03 00 28 */ stw r0, 0x28(r3)
/* 800C36A4 000C0604 80 04 00 2C */ lwz r0, 0x2c(r4)
/* 800C36A8 000C0608 90 03 00 2C */ stw r0, 0x2c(r3)
/* 800C36AC 000C060C 80 04 00 30 */ lwz r0, 0x30(r4)
/* 800C36B0 000C0610 90 03 00 30 */ stw r0, 0x30(r3)
/* 800C36B4 000C0614 80 04 00 34 */ lwz r0, 0x34(r4)
/* 800C36B8 000C0618 90 03 00 34 */ stw r0, 0x34(r3)
/* 800C36BC 000C061C 80 04 00 38 */ lwz r0, 0x38(r4)
/* 800C36C0 000C0620 90 03 00 38 */ stw r0, 0x38(r3)
/* 800C36C4 000C0624 80 04 00 3C */ lwz r0, 0x3c(r4)
/* 800C36C8 000C0628 90 03 00 3C */ stw r0, 0x3c(r3)
/* 800C36CC 000C062C 80 04 00 40 */ lwz r0, 0x40(r4)
/* 800C36D0 000C0630 90 03 00 40 */ stw r0, 0x40(r3)
/* 800C36D4 000C0634 80 04 00 44 */ lwz r0, 0x44(r4)
/* 800C36D8 000C0638 90 03 00 44 */ stw r0, 0x44(r3)
/* 800C36DC 000C063C 80 04 00 48 */ lwz r0, 0x48(r4)
/* 800C36E0 000C0640 90 03 00 48 */ stw r0, 0x48(r3)
/* 800C36E4 000C0644 80 04 00 4C */ lwz r0, 0x4c(r4)
/* 800C36E8 000C0648 90 03 00 4C */ stw r0, 0x4c(r3)
/* 800C36EC 000C064C 80 04 00 50 */ lwz r0, 0x50(r4)
/* 800C36F0 000C0650 90 03 00 50 */ stw r0, 0x50(r3)
/* 800C36F4 000C0654 80 04 00 54 */ lwz r0, 0x54(r4)
/* 800C36F8 000C0658 90 03 00 54 */ stw r0, 0x54(r3)
/* 800C36FC 000C065C 4E 80 00 20 */ blr

View File

@ -330,9 +330,6 @@ lbl_800100A0:
/* 8001011C 0000D07C 83 C1 00 08 */ lwz r30, 8(r1)
/* 80010120 0000D080 7C 08 03 A6 */ mtlr r0
/* 80010124 0000D084 38 21 00 10 */ addi r1, r1, 0x10
.global sub_80010128
sub_80010128:
/* 80010128 0000D088 4E 80 00 20 */ blr
.global __ct__Q211CObjectList16SObjectListEntryFv

802
asm/Kyoto_CWD/CPlasmaBeam.s Normal file
View File

@ -0,0 +1,802 @@
.include "macros.inc"
.section .text, "ax"
.global SetWorldLighting__11CPlasmaBeamFR13CStateManager7TAreaIdff
SetWorldLighting__11CPlasmaBeamFR13CStateManager7TAreaIdff:
/* 800DEB9C 000DBAFC 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 800DEBA0 000DBB00 7C 08 02 A6 */ mflr r0
/* 800DEBA4 000DBB04 90 01 00 44 */ stw r0, 0x44(r1)
/* 800DEBA8 000DBB08 DB E1 00 30 */ stfd f31, 0x30(r1)
/* 800DEBAC 000DBB0C F3 E1 00 38 */ psq_st f31, 56(r1), 0, qr0
/* 800DEBB0 000DBB10 DB C1 00 20 */ stfd f30, 0x20(r1)
/* 800DEBB4 000DBB14 F3 C1 00 28 */ psq_st f30, 40(r1), 0, qr0
/* 800DEBB8 000DBB18 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 800DEBBC 000DBB1C 93 C1 00 18 */ stw r30, 0x18(r1)
/* 800DEBC0 000DBB20 93 A1 00 14 */ stw r29, 0x14(r1)
/* 800DEBC4 000DBB24 88 03 02 2C */ lbz r0, 0x22c(r3)
/* 800DEBC8 000DBB28 FF C0 08 90 */ fmr f30, f1
/* 800DEBCC 000DBB2C FF E0 10 90 */ fmr f31, f2
/* 800DEBD0 000DBB30 7C 7E 1B 78 */ mr r30, r3
/* 800DEBD4 000DBB34 54 00 D7 FF */ rlwinm. r0, r0, 0x1a, 0x1f, 0x1f
/* 800DEBD8 000DBB38 7C 9F 23 78 */ mr r31, r4
/* 800DEBDC 000DBB3C 7C BD 2B 78 */ mr r29, r5
/* 800DEBE0 000DBB40 41 82 00 54 */ beq lbl_800DEC34
/* 800DEBE4 000DBB44 80 7E 02 3C */ lwz r3, 0x23c(r30)
/* 800DEBE8 000DBB48 80 1D 00 00 */ lwz r0, 0(r29)
/* 800DEBEC 000DBB4C 7C 03 00 00 */ cmpw r3, r0
/* 800DEBF0 000DBB50 41 82 00 44 */ beq lbl_800DEC34
/* 800DEBF4 000DBB54 80 0D A3 90 */ lwz r0, lbl_805A8F50@sda21(r13)
/* 800DEBF8 000DBB58 7C 03 00 00 */ cmpw r3, r0
/* 800DEBFC 000DBB5C 41 82 00 38 */ beq lbl_800DEC34
/* 800DEC00 000DBB60 80 1E 02 3C */ lwz r0, 0x23c(r30)
/* 800DEC04 000DBB64 80 9F 08 50 */ lwz r4, 0x850(r31)
/* 800DEC08 000DBB68 54 03 18 38 */ slwi r3, r0, 3
/* 800DEC0C 000DBB6C 90 01 00 0C */ stw r0, 0xc(r1)
/* 800DEC10 000DBB70 80 84 00 20 */ lwz r4, 0x20(r4)
/* 800DEC14 000DBB74 38 03 00 04 */ addi r0, r3, 4
/* 800DEC18 000DBB78 7C 64 00 2E */ lwzx r3, r4, r0
/* 800DEC1C 000DBB7C 88 03 00 F0 */ lbz r0, 0xf0(r3)
/* 800DEC20 000DBB80 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 800DEC24 000DBB84 41 82 00 10 */ beq lbl_800DEC34
/* 800DEC28 000DBB88 C0 22 8F 34 */ lfs f1, lbl_805AAC54@sda21(r2)
/* 800DEC2C 000DBB8C C0 42 8F 38 */ lfs f2, lbl_805AAC58@sda21(r2)
/* 800DEC30 000DBB90 4B F7 F5 A5 */ bl SetWeaponWorldLighting__9CGameAreaFff
lbl_800DEC34:
/* 800DEC34 000DBB94 C0 02 8F 38 */ lfs f0, lbl_805AAC58@sda21(r2)
/* 800DEC38 000DBB98 80 1D 00 00 */ lwz r0, 0(r29)
/* 800DEC3C 000DBB9C FC 00 F8 00 */ fcmpu cr0, f0, f31
/* 800DEC40 000DBBA0 90 1E 02 3C */ stw r0, 0x23c(r30)
/* 800DEC44 000DBBA4 7C 60 00 26 */ mfcr r3
/* 800DEC48 000DBBA8 88 1E 02 2C */ lbz r0, 0x22c(r30)
/* 800DEC4C 000DBBAC 54 63 1F FE */ rlwinm r3, r3, 3, 0x1f, 0x1f
/* 800DEC50 000DBBB0 68 63 00 01 */ xori r3, r3, 1
/* 800DEC54 000DBBB4 50 60 36 72 */ rlwimi r0, r3, 6, 0x19, 0x19
/* 800DEC58 000DBBB8 98 1E 02 2C */ stb r0, 0x22c(r30)
/* 800DEC5C 000DBBBC 80 7E 02 3C */ lwz r3, 0x23c(r30)
/* 800DEC60 000DBBC0 80 0D A3 90 */ lwz r0, lbl_805A8F50@sda21(r13)
/* 800DEC64 000DBBC4 7C 03 00 00 */ cmpw r3, r0
/* 800DEC68 000DBBC8 41 82 00 38 */ beq lbl_800DECA0
/* 800DEC6C 000DBBCC 80 1E 02 3C */ lwz r0, 0x23c(r30)
/* 800DEC70 000DBBD0 80 9F 08 50 */ lwz r4, 0x850(r31)
/* 800DEC74 000DBBD4 54 03 18 38 */ slwi r3, r0, 3
/* 800DEC78 000DBBD8 90 01 00 08 */ stw r0, 8(r1)
/* 800DEC7C 000DBBDC 80 84 00 20 */ lwz r4, 0x20(r4)
/* 800DEC80 000DBBE0 38 03 00 04 */ addi r0, r3, 4
/* 800DEC84 000DBBE4 7C 64 00 2E */ lwzx r3, r4, r0
/* 800DEC88 000DBBE8 88 03 00 F0 */ lbz r0, 0xf0(r3)
/* 800DEC8C 000DBBEC 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 800DEC90 000DBBF0 41 82 00 10 */ beq lbl_800DECA0
/* 800DEC94 000DBBF4 FC 20 F0 90 */ fmr f1, f30
/* 800DEC98 000DBBF8 FC 40 F8 90 */ fmr f2, f31
/* 800DEC9C 000DBBFC 4B F7 F5 39 */ bl SetWeaponWorldLighting__9CGameAreaFff
lbl_800DECA0:
/* 800DECA0 000DBC00 E3 E1 00 38 */ psq_l f31, 56(r1), 0, qr0
/* 800DECA4 000DBC04 CB E1 00 30 */ lfd f31, 0x30(r1)
/* 800DECA8 000DBC08 E3 C1 00 28 */ psq_l f30, 40(r1), 0, qr0
/* 800DECAC 000DBC0C CB C1 00 20 */ lfd f30, 0x20(r1)
/* 800DECB0 000DBC10 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 800DECB4 000DBC14 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 800DECB8 000DBC18 80 01 00 44 */ lwz r0, 0x44(r1)
/* 800DECBC 000DBC1C 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 800DECC0 000DBC20 7C 08 03 A6 */ mtlr r0
/* 800DECC4 000DBC24 38 21 00 40 */ addi r1, r1, 0x40
/* 800DECC8 000DBC28 4E 80 00 20 */ blr
.global EnableSecondaryFx__11CPlasmaBeamFQ210CGunWeapon16ESecondaryFxType
EnableSecondaryFx__11CPlasmaBeamFQ210CGunWeapon16ESecondaryFxType:
/* 800DECCC 000DBC2C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 800DECD0 000DBC30 7C 08 02 A6 */ mflr r0
/* 800DECD4 000DBC34 90 01 00 24 */ stw r0, 0x24(r1)
/* 800DECD8 000DBC38 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 800DECDC 000DBC3C 93 C1 00 18 */ stw r30, 0x18(r1)
/* 800DECE0 000DBC40 7C 9E 23 78 */ mr r30, r4
/* 800DECE4 000DBC44 2C 1E 00 02 */ cmpwi r30, 2
/* 800DECE8 000DBC48 93 A1 00 14 */ stw r29, 0x14(r1)
/* 800DECEC 000DBC4C 7C 7D 1B 78 */ mr r29, r3
/* 800DECF0 000DBC50 93 81 00 10 */ stw r28, 0x10(r1)
/* 800DECF4 000DBC54 41 82 00 E8 */ beq lbl_800DEDDC
/* 800DECF8 000DBC58 40 80 00 10 */ bge lbl_800DED08
/* 800DECFC 000DBC5C 2C 1E 00 01 */ cmpwi r30, 1
/* 800DED00 000DBC60 40 80 00 44 */ bge lbl_800DED44
/* 800DED04 000DBC64 48 00 00 D8 */ b lbl_800DEDDC
lbl_800DED08:
/* 800DED08 000DBC68 2C 1E 00 04 */ cmpwi r30, 4
/* 800DED0C 000DBC6C 40 80 00 D0 */ bge lbl_800DEDDC
/* 800DED10 000DBC70 80 1D 01 CC */ lwz r0, 0x1cc(r29)
/* 800DED14 000DBC74 2C 00 00 00 */ cmpwi r0, 0
/* 800DED18 000DBC78 41 82 00 C8 */ beq lbl_800DEDE0
/* 800DED1C 000DBC7C 80 7D 02 28 */ lwz r3, 0x228(r29)
/* 800DED20 000DBC80 28 03 00 00 */ cmplwi r3, 0
/* 800DED24 000DBC84 41 82 00 BC */ beq lbl_800DEDE0
/* 800DED28 000DBC88 81 83 00 00 */ lwz r12, 0(r3)
/* 800DED2C 000DBC8C 38 80 00 00 */ li r4, 0
/* 800DED30 000DBC90 81 8C 00 2C */ lwz r12, 0x2c(r12)
/* 800DED34 000DBC94 7D 89 03 A6 */ mtctr r12
/* 800DED38 000DBC98 4E 80 04 21 */ bctrl
/* 800DED3C 000DBC9C 48 00 00 A0 */ b lbl_800DEDDC
/* 800DED40 000DBCA0 48 00 00 A0 */ b lbl_800DEDE0
lbl_800DED44:
/* 800DED44 000DBCA4 3C 60 80 3D */ lis r3, lbl_803CE530@ha
/* 800DED48 000DBCA8 3B 80 00 00 */ li r28, 0
/* 800DED4C 000DBCAC 38 83 E5 30 */ addi r4, r3, lbl_803CE530@l
/* 800DED50 000DBCB0 38 A0 00 00 */ li r5, 0
/* 800DED54 000DBCB4 38 60 03 40 */ li r3, 0x340
/* 800DED58 000DBCB8 48 23 6B 15 */ bl __nw__FUlPCcPCc
/* 800DED5C 000DBCBC 7C 7F 1B 79 */ or. r31, r3, r3
/* 800DED60 000DBCC0 41 82 00 2C */ beq lbl_800DED8C
/* 800DED64 000DBCC4 38 61 00 08 */ addi r3, r1, 8
/* 800DED68 000DBCC8 38 9D 02 1C */ addi r4, r29, 0x21c
/* 800DED6C 000DBCCC 48 26 21 3D */ bl __ct__6CTokenFRC6CToken
/* 800DED70 000DBCD0 7F E3 FB 78 */ mr r3, r31
/* 800DED74 000DBCD4 38 81 00 08 */ addi r4, r1, 8
/* 800DED78 000DBCD8 3B 80 00 01 */ li r28, 1
/* 800DED7C 000DBCDC 38 A0 00 00 */ li r5, 0
/* 800DED80 000DBCE0 38 C0 00 01 */ li r6, 1
/* 800DED84 000DBCE4 48 24 06 5D */ bl "__ct__11CElementGenF25TToken<15CGenDescription>Q211CElementGen21EModelOrientationTypeQ211CElementGen20EOptionalSystemFlags"
/* 800DED88 000DBCE8 7C 7F 1B 78 */ mr r31, r3
lbl_800DED8C:
/* 800DED8C 000DBCEC 80 7D 02 28 */ lwz r3, 0x228(r29)
/* 800DED90 000DBCF0 28 03 00 00 */ cmplwi r3, 0
/* 800DED94 000DBCF4 41 82 00 18 */ beq lbl_800DEDAC
/* 800DED98 000DBCF8 81 83 00 00 */ lwz r12, 0(r3)
/* 800DED9C 000DBCFC 38 80 00 01 */ li r4, 1
/* 800DEDA0 000DBD00 81 8C 00 08 */ lwz r12, 8(r12)
/* 800DEDA4 000DBD04 7D 89 03 A6 */ mtctr r12
/* 800DEDA8 000DBD08 4E 80 04 21 */ bctrl
lbl_800DEDAC:
/* 800DEDAC 000DBD0C 7F 80 07 75 */ extsb. r0, r28
/* 800DEDB0 000DBD10 93 FD 02 28 */ stw r31, 0x228(r29)
/* 800DEDB4 000DBD14 41 82 00 10 */ beq lbl_800DEDC4
/* 800DEDB8 000DBD18 38 61 00 08 */ addi r3, r1, 8
/* 800DEDBC 000DBD1C 38 80 00 00 */ li r4, 0
/* 800DEDC0 000DBD20 48 26 20 81 */ bl __dt__6CTokenFv
lbl_800DEDC4:
/* 800DEDC4 000DBD24 80 7D 02 28 */ lwz r3, 0x228(r29)
/* 800DEDC8 000DBD28 38 9D 00 04 */ addi r4, r29, 4
/* 800DEDCC 000DBD2C 81 83 00 00 */ lwz r12, 0(r3)
/* 800DEDD0 000DBD30 81 8C 00 24 */ lwz r12, 0x24(r12)
/* 800DEDD4 000DBD34 7D 89 03 A6 */ mtctr r12
/* 800DEDD8 000DBD38 4E 80 04 21 */ bctrl
lbl_800DEDDC:
/* 800DEDDC 000DBD3C 93 DD 01 CC */ stw r30, 0x1cc(r29)
lbl_800DEDE0:
/* 800DEDE0 000DBD40 80 01 00 24 */ lwz r0, 0x24(r1)
/* 800DEDE4 000DBD44 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 800DEDE8 000DBD48 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 800DEDEC 000DBD4C 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 800DEDF0 000DBD50 83 81 00 10 */ lwz r28, 0x10(r1)
/* 800DEDF4 000DBD54 7C 08 03 A6 */ mtlr r0
/* 800DEDF8 000DBD58 38 21 00 20 */ addi r1, r1, 0x20
/* 800DEDFC 000DBD5C 4E 80 00 20 */ blr
.global IsLoaded__11CPlasmaBeamCFv
IsLoaded__11CPlasmaBeamCFv:
/* 800DEE00 000DBD60 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 800DEE04 000DBD64 7C 08 02 A6 */ mflr r0
/* 800DEE08 000DBD68 90 01 00 14 */ stw r0, 0x14(r1)
/* 800DEE0C 000DBD6C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 800DEE10 000DBD70 3B E0 00 00 */ li r31, 0
/* 800DEE14 000DBD74 93 C1 00 08 */ stw r30, 8(r1)
/* 800DEE18 000DBD78 7C 7E 1B 78 */ mr r30, r3
/* 800DEE1C 000DBD7C 48 0D C5 89 */ bl IsLoaded__10CGunWeaponCFv
/* 800DEE20 000DBD80 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 800DEE24 000DBD84 41 82 00 14 */ beq lbl_800DEE38
/* 800DEE28 000DBD88 88 1E 02 2C */ lbz r0, 0x22c(r30)
/* 800DEE2C 000DBD8C 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 800DEE30 000DBD90 41 82 00 08 */ beq lbl_800DEE38
/* 800DEE34 000DBD94 3B E0 00 01 */ li r31, 1
lbl_800DEE38:
/* 800DEE38 000DBD98 80 01 00 14 */ lwz r0, 0x14(r1)
/* 800DEE3C 000DBD9C 7F E3 FB 78 */ mr r3, r31
/* 800DEE40 000DBDA0 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 800DEE44 000DBDA4 83 C1 00 08 */ lwz r30, 8(r1)
/* 800DEE48 000DBDA8 7C 08 03 A6 */ mtlr r0
/* 800DEE4C 000DBDAC 38 21 00 10 */ addi r1, r1, 0x10
/* 800DEE50 000DBDB0 4E 80 00 20 */ blr
.global Unload__11CPlasmaBeamFR13CStateManager
Unload__11CPlasmaBeamFR13CStateManager:
/* 800DEE54 000DBDB4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 800DEE58 000DBDB8 7C 08 02 A6 */ mflr r0
/* 800DEE5C 000DBDBC 90 01 00 14 */ stw r0, 0x14(r1)
/* 800DEE60 000DBDC0 93 E1 00 0C */ stw r31, 0xc(r1)
/* 800DEE64 000DBDC4 7C 9F 23 78 */ mr r31, r4
/* 800DEE68 000DBDC8 93 C1 00 08 */ stw r30, 8(r1)
/* 800DEE6C 000DBDCC 7C 7E 1B 78 */ mr r30, r3
/* 800DEE70 000DBDD0 48 0D C5 41 */ bl Unload__10CGunWeaponFR13CStateManager
/* 800DEE74 000DBDD4 38 00 00 00 */ li r0, 0
/* 800DEE78 000DBDD8 38 7E 02 1C */ addi r3, r30, 0x21c
/* 800DEE7C 000DBDDC 90 1E 02 24 */ stw r0, 0x224(r30)
/* 800DEE80 000DBDE0 48 26 1E C1 */ bl Unlock__6CTokenFv
/* 800DEE84 000DBDE4 7F C3 F3 78 */ mr r3, r30
/* 800DEE88 000DBDE8 7F E4 FB 78 */ mr r4, r31
/* 800DEE8C 000DBDEC 48 00 00 8D */ bl DeleteBeam__11CPlasmaBeamFR13CStateManager
/* 800DEE90 000DBDF0 7F C3 F3 78 */ mr r3, r30
/* 800DEE94 000DBDF4 48 00 05 A1 */ bl ReInitVariables__11CPlasmaBeamFv
/* 800DEE98 000DBDF8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 800DEE9C 000DBDFC 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 800DEEA0 000DBE00 83 C1 00 08 */ lwz r30, 8(r1)
/* 800DEEA4 000DBE04 7C 08 03 A6 */ mtlr r0
/* 800DEEA8 000DBE08 38 21 00 10 */ addi r1, r1, 0x10
/* 800DEEAC 000DBE0C 4E 80 00 20 */ blr
.global Load__11CPlasmaBeamFb
Load__11CPlasmaBeamFb:
/* 800DEEB0 000DBE10 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 800DEEB4 000DBE14 7C 08 02 A6 */ mflr r0
/* 800DEEB8 000DBE18 90 01 00 14 */ stw r0, 0x14(r1)
/* 800DEEBC 000DBE1C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 800DEEC0 000DBE20 7C 7F 1B 78 */ mr r31, r3
/* 800DEEC4 000DBE24 48 0D C6 11 */ bl Load__10CGunWeaponFR13CStateManagerb
/* 800DEEC8 000DBE28 38 7F 02 1C */ addi r3, r31, 0x21c
/* 800DEECC 000DBE2C 48 26 1E B9 */ bl Lock__6CTokenFv
/* 800DEED0 000DBE30 80 01 00 14 */ lwz r0, 0x14(r1)
/* 800DEED4 000DBE34 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 800DEED8 000DBE38 7C 08 03 A6 */ mtlr r0
/* 800DEEDC 000DBE3C 38 21 00 10 */ addi r1, r1, 0x10
/* 800DEEE0 000DBE40 4E 80 00 20 */ blr
.global AcceptScriptMsg__11CPlasmaBeamF20EScriptObjectMessage9TUniqueIdR13CStateManager
AcceptScriptMsg__11CPlasmaBeamF20EScriptObjectMessage9TUniqueIdR13CStateManager:
/* 800DEEE4 000DBE44 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 800DEEE8 000DBE48 7C 08 02 A6 */ mflr r0
/* 800DEEEC 000DBE4C 2C 04 00 22 */ cmpwi r4, 0x22
/* 800DEEF0 000DBE50 90 01 00 14 */ stw r0, 0x14(r1)
/* 800DEEF4 000DBE54 41 82 00 0C */ beq lbl_800DEF00
/* 800DEEF8 000DBE58 40 80 00 10 */ bge lbl_800DEF08
/* 800DEEFC 000DBE5C 48 00 00 0C */ b lbl_800DEF08
lbl_800DEF00:
/* 800DEF00 000DBE60 7C C4 33 78 */ mr r4, r6
/* 800DEF04 000DBE64 48 00 00 15 */ bl DeleteBeam__11CPlasmaBeamFR13CStateManager
lbl_800DEF08:
/* 800DEF08 000DBE68 80 01 00 14 */ lwz r0, 0x14(r1)
/* 800DEF0C 000DBE6C 7C 08 03 A6 */ mtlr r0
/* 800DEF10 000DBE70 38 21 00 10 */ addi r1, r1, 0x10
/* 800DEF14 000DBE74 4E 80 00 20 */ blr
.global DeleteBeam__11CPlasmaBeamFR13CStateManager
DeleteBeam__11CPlasmaBeamFR13CStateManager:
/* 800DEF18 000DBE78 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 800DEF1C 000DBE7C 7C 08 02 A6 */ mflr r0
/* 800DEF20 000DBE80 90 01 00 14 */ stw r0, 0x14(r1)
/* 800DEF24 000DBE84 88 03 02 2C */ lbz r0, 0x22c(r3)
/* 800DEF28 000DBE88 54 00 D7 FF */ rlwinm. r0, r0, 0x1a, 0x1f, 0x1f
/* 800DEF2C 000DBE8C 41 82 00 24 */ beq lbl_800DEF50
/* 800DEF30 000DBE90 80 C4 08 4C */ lwz r6, 0x84c(r4)
/* 800DEF34 000DBE94 38 A1 00 0C */ addi r5, r1, 0xc
/* 800DEF38 000DBE98 C0 22 8F 34 */ lfs f1, lbl_805AAC54@sda21(r2)
/* 800DEF3C 000DBE9C 80 06 00 04 */ lwz r0, 4(r6)
/* 800DEF40 000DBEA0 C0 42 8F 38 */ lfs f2, lbl_805AAC58@sda21(r2)
/* 800DEF44 000DBEA4 90 01 00 08 */ stw r0, 8(r1)
/* 800DEF48 000DBEA8 90 01 00 0C */ stw r0, 0xc(r1)
/* 800DEF4C 000DBEAC 4B FF FC 51 */ bl SetWorldLighting__11CPlasmaBeamFR13CStateManager7TAreaIdff
lbl_800DEF50:
/* 800DEF50 000DBEB0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 800DEF54 000DBEB4 7C 08 03 A6 */ mtlr r0
/* 800DEF58 000DBEB8 38 21 00 10 */ addi r1, r1, 0x10
/* 800DEF5C 000DBEBC 4E 80 00 20 */ blr
.global CreateBeam__11CPlasmaBeamFR13CStateManager
CreateBeam__11CPlasmaBeamFR13CStateManager:
/* 800DEF60 000DBEC0 4E 80 00 20 */ blr
.global StopBeam__11CPlasmaBeamFR13CStateManagerb
StopBeam__11CPlasmaBeamFR13CStateManagerb:
/* 800DEF64 000DBEC4 4E 80 00 20 */ blr
.global UpdateBeam__11CPlasmaBeamFfRC12CTransform4fRC9CVector3fR13CStateManager
UpdateBeam__11CPlasmaBeamFfRC12CTransform4fRC9CVector3fR13CStateManager:
/* 800DEF68 000DBEC8 4E 80 00 20 */ blr
.global Fire__11CPlasmaBeamFbfQ212CPlayerState12EChargeStageRC12CTransform4fR13CStateManager9TUniqueId
Fire__11CPlasmaBeamFbfQ212CPlayerState12EChargeStageRC12CTransform4fR13CStateManager9TUniqueId:
/* 800DEF6C 000DBECC 94 21 FF 90 */ stwu r1, -0x70(r1)
/* 800DEF70 000DBED0 7C 08 02 A6 */ mflr r0
/* 800DEF74 000DBED4 90 01 00 74 */ stw r0, 0x74(r1)
/* 800DEF78 000DBED8 DB E1 00 60 */ stfd f31, 0x60(r1)
/* 800DEF7C 000DBEDC F3 E1 00 68 */ psq_st f31, 104(r1), 0, qr0
/* 800DEF80 000DBEE0 DB C1 00 50 */ stfd f30, 0x50(r1)
/* 800DEF84 000DBEE4 F3 C1 00 58 */ psq_st f30, 88(r1), 0, qr0
/* 800DEF88 000DBEE8 DB A1 00 40 */ stfd f29, 0x40(r1)
/* 800DEF8C 000DBEEC F3 A1 00 48 */ psq_st f29, 72(r1), 0, qr0
/* 800DEF90 000DBEF0 BF 41 00 28 */ stmw r26, 0x28(r1)
/* 800DEF94 000DBEF4 7C BC 2B 79 */ or. r28, r5, r5
/* 800DEF98 000DBEF8 FF A0 08 90 */ fmr f29, f1
/* 800DEF9C 000DBEFC FF C0 10 90 */ fmr f30, f2
/* 800DEFA0 000DBF00 7C 7A 1B 78 */ mr r26, r3
/* 800DEFA4 000DBF04 FF E0 18 90 */ fmr f31, f3
/* 800DEFA8 000DBF08 7C 9B 23 78 */ mr r27, r4
/* 800DEFAC 000DBF0C 7C DD 33 78 */ mr r29, r6
/* 800DEFB0 000DBF10 7C FE 3B 78 */ mr r30, r7
/* 800DEFB4 000DBF14 7D 1F 43 78 */ mr r31, r8
/* 800DEFB8 000DBF18 38 00 00 00 */ li r0, 0
/* 800DEFBC 000DBF1C 40 82 00 6C */ bne lbl_800DF028
/* 800DEFC0 000DBF20 C0 3A 02 30 */ lfs f1, 0x230(r26)
/* 800DEFC4 000DBF24 C0 02 8F 3C */ lfs f0, lbl_805AAC5C@sda21(r2)
/* 800DEFC8 000DBF28 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 800DEFCC 000DBF2C 40 80 00 B8 */ bge lbl_800DF084
/* 800DEFD0 000DBF30 38 80 00 00 */ li r4, 0
/* 800DEFD4 000DBF34 38 A0 00 01 */ li r5, 1
/* 800DEFD8 000DBF38 48 0D CF B1 */ bl ActivateCharge__10CGunWeaponFbb
/* 800DEFDC 000DBF3C A0 1F 00 00 */ lhz r0, 0(r31)
/* 800DEFE0 000DBF40 FC 20 E8 90 */ fmr f1, f29
/* 800DEFE4 000DBF44 FC 40 F0 90 */ fmr f2, f30
/* 800DEFE8 000DBF48 7F 43 D3 78 */ mr r3, r26
/* 800DEFEC 000DBF4C FC 60 F8 90 */ fmr f3, f31
/* 800DEFF0 000DBF50 B0 01 00 0C */ sth r0, 0xc(r1)
/* 800DEFF4 000DBF54 7F 64 DB 78 */ mr r4, r27
/* 800DEFF8 000DBF58 7F 85 E3 78 */ mr r5, r28
/* 800DEFFC 000DBF5C 7F A6 EB 78 */ mr r6, r29
/* 800DF000 000DBF60 7F C7 F3 78 */ mr r7, r30
/* 800DF004 000DBF64 39 01 00 0C */ addi r8, r1, 0xc
/* 800DF008 000DBF68 48 0D C8 81 */ bl Fire__10CGunWeaponFbfQ212CPlayerState12EChargeStageRC12CTransform4fR13CStateManager9TUniqueId
/* 800DF00C 000DBF6C C0 1A 02 30 */ lfs f0, 0x230(r26)
/* 800DF010 000DBF70 38 00 00 01 */ li r0, 1
/* 800DF014 000DBF74 C0 22 8F 40 */ lfs f1, lbl_805AAC60@sda21(r2)
/* 800DF018 000DBF78 EC 00 08 2A */ fadds f0, f0, f1
/* 800DF01C 000DBF7C D0 1A 02 30 */ stfs f0, 0x230(r26)
/* 800DF020 000DBF80 D0 3A 02 34 */ stfs f1, 0x234(r26)
/* 800DF024 000DBF84 48 00 00 60 */ b lbl_800DF084
lbl_800DF028:
/* 800DF028 000DBF88 A0 1F 00 00 */ lhz r0, 0(r31)
/* 800DF02C 000DBF8C 39 01 00 08 */ addi r8, r1, 8
/* 800DF030 000DBF90 C0 62 8F 38 */ lfs f3, lbl_805AAC58@sda21(r2)
/* 800DF034 000DBF94 B0 01 00 08 */ sth r0, 8(r1)
/* 800DF038 000DBF98 48 0D C8 51 */ bl Fire__10CGunWeaponFbfQ212CPlayerState12EChargeStageRC12CTransform4fR13CStateManager9TUniqueId
/* 800DF03C 000DBF9C 3C 80 80 57 */ lis r4, lbl_8056D420@ha
/* 800DF040 000DBFA0 80 7E 08 70 */ lwz r3, 0x870(r30)
/* 800DF044 000DBFA4 38 84 D4 20 */ addi r4, r4, lbl_8056D420@l
/* 800DF048 000DBFA8 38 A0 00 00 */ li r5, 0
/* 800DF04C 000DBFAC 4B F2 B9 D5 */ bl AddCameraShaker__14CCameraManagerFRC16CCameraShakeDatab
/* 800DF050 000DBFB0 C0 02 8F 44 */ lfs f0, lbl_805AAC64@sda21(r2)
/* 800DF054 000DBFB4 7F 43 D3 78 */ mr r3, r26
/* 800DF058 000DBFB8 C0 22 8F 48 */ lfs f1, lbl_805AAC68@sda21(r2)
/* 800DF05C 000DBFBC 7F C4 F3 78 */ mr r4, r30
/* 800DF060 000DBFC0 D0 1A 02 38 */ stfs f0, 0x238(r26)
/* 800DF064 000DBFC4 38 A1 00 18 */ addi r5, r1, 0x18
/* 800DF068 000DBFC8 C0 42 8F 4C */ lfs f2, lbl_805AAC6C@sda21(r2)
/* 800DF06C 000DBFCC 80 DE 08 4C */ lwz r6, 0x84c(r30)
/* 800DF070 000DBFD0 80 06 00 04 */ lwz r0, 4(r6)
/* 800DF074 000DBFD4 90 01 00 14 */ stw r0, 0x14(r1)
/* 800DF078 000DBFD8 90 01 00 18 */ stw r0, 0x18(r1)
/* 800DF07C 000DBFDC 4B FF FB 21 */ bl SetWorldLighting__11CPlasmaBeamFR13CStateManager7TAreaIdff
/* 800DF080 000DBFE0 38 00 00 01 */ li r0, 1
lbl_800DF084:
/* 800DF084 000DBFE4 54 00 06 3F */ clrlwi. r0, r0, 0x18
/* 800DF088 000DBFE8 41 82 00 24 */ beq lbl_800DF0AC
/* 800DF08C 000DBFEC 57 80 08 3C */ slwi r0, r28, 1
/* 800DF090 000DBFF0 38 62 8F 30 */ addi r3, r2, lbl_805AAC50@sda21
/* 800DF094 000DBFF4 7C 83 02 2E */ lhzx r4, r3, r0
/* 800DF098 000DBFF8 7F 65 DB 78 */ mr r5, r27
/* 800DF09C 000DBFFC 38 61 00 10 */ addi r3, r1, 0x10
/* 800DF0A0 000DC000 38 C0 00 00 */ li r6, 0
/* 800DF0A4 000DC004 38 E0 00 4A */ li r7, 0x4a
/* 800DF0A8 000DC008 48 1A BA 51 */ bl play_sfx__12NWeaponTypesFUsbbs
lbl_800DF0AC:
/* 800DF0AC 000DC00C E3 E1 00 68 */ psq_l f31, 104(r1), 0, qr0
/* 800DF0B0 000DC010 CB E1 00 60 */ lfd f31, 0x60(r1)
/* 800DF0B4 000DC014 E3 C1 00 58 */ psq_l f30, 88(r1), 0, qr0
/* 800DF0B8 000DC018 CB C1 00 50 */ lfd f30, 0x50(r1)
/* 800DF0BC 000DC01C E3 A1 00 48 */ psq_l f29, 72(r1), 0, qr0
/* 800DF0C0 000DC020 CB A1 00 40 */ lfd f29, 0x40(r1)
/* 800DF0C4 000DC024 BB 41 00 28 */ lmw r26, 0x28(r1)
/* 800DF0C8 000DC028 80 01 00 74 */ lwz r0, 0x74(r1)
/* 800DF0CC 000DC02C 7C 08 03 A6 */ mtlr r0
/* 800DF0D0 000DC030 38 21 00 70 */ addi r1, r1, 0x70
/* 800DF0D4 000DC034 4E 80 00 20 */ blr
.global Update__11CPlasmaBeamFfR13CStateManager
Update__11CPlasmaBeamFfR13CStateManager:
/* 800DF0D8 000DC038 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 800DF0DC 000DC03C 7C 08 02 A6 */ mflr r0
/* 800DF0E0 000DC040 90 01 00 34 */ stw r0, 0x34(r1)
/* 800DF0E4 000DC044 DB E1 00 20 */ stfd f31, 0x20(r1)
/* 800DF0E8 000DC048 F3 E1 00 28 */ psq_st f31, 40(r1), 0, qr0
/* 800DF0EC 000DC04C 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 800DF0F0 000DC050 93 C1 00 18 */ stw r30, 0x18(r1)
/* 800DF0F4 000DC054 FF E0 08 90 */ fmr f31, f1
/* 800DF0F8 000DC058 7C 7E 1B 78 */ mr r30, r3
/* 800DF0FC 000DC05C 7C 9F 23 78 */ mr r31, r4
/* 800DF100 000DC060 48 0D D3 79 */ bl Update__10CGunWeaponFfR13CStateManager
/* 800DF104 000DC064 C0 1E 02 30 */ lfs f0, 0x230(r30)
/* 800DF108 000DC068 EC 00 F8 28 */ fsubs f0, f0, f31
/* 800DF10C 000DC06C D0 1E 02 30 */ stfs f0, 0x230(r30)
/* 800DF110 000DC070 C0 2D 87 60 */ lfs f1, lbl_805A7320@sda21(r13)
/* 800DF114 000DC074 C0 1E 02 30 */ lfs f0, 0x230(r30)
/* 800DF118 000DC078 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 800DF11C 000DC07C 40 80 00 0C */ bge lbl_800DF128
/* 800DF120 000DC080 38 7E 02 30 */ addi r3, r30, 0x230
/* 800DF124 000DC084 48 00 00 08 */ b lbl_800DF12C
lbl_800DF128:
/* 800DF128 000DC088 38 6D 87 60 */ addi r3, r13, lbl_805A7320@sda21
lbl_800DF12C:
/* 800DF12C 000DC08C C0 03 00 00 */ lfs f0, 0(r3)
/* 800DF130 000DC090 D0 1E 02 30 */ stfs f0, 0x230(r30)
/* 800DF134 000DC094 C0 1E 02 38 */ lfs f0, 0x238(r30)
/* 800DF138 000DC098 EC 00 F8 28 */ fsubs f0, f0, f31
/* 800DF13C 000DC09C D0 1E 02 38 */ stfs f0, 0x238(r30)
/* 800DF140 000DC0A0 80 9F 08 4C */ lwz r4, 0x84c(r31)
/* 800DF144 000DC0A4 80 64 04 90 */ lwz r3, 0x490(r4)
/* 800DF148 000DC0A8 88 03 08 34 */ lbz r0, 0x834(r3)
/* 800DF14C 000DC0AC 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 800DF150 000DC0B0 41 82 00 0C */ beq lbl_800DF15C
/* 800DF154 000DC0B4 C0 23 03 40 */ lfs f1, 0x340(r3)
/* 800DF158 000DC0B8 48 00 00 08 */ b lbl_800DF160
lbl_800DF15C:
/* 800DF15C 000DC0BC C0 22 8F 50 */ lfs f1, lbl_805AAC70@sda21(r2)
lbl_800DF160:
/* 800DF160 000DC0C0 C0 02 8F 54 */ lfs f0, lbl_805AAC74@sda21(r2)
/* 800DF164 000DC0C4 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 800DF168 000DC0C8 40 81 00 2C */ ble lbl_800DF194
/* 800DF16C 000DC0CC 80 04 00 04 */ lwz r0, 4(r4)
/* 800DF170 000DC0D0 7F C3 F3 78 */ mr r3, r30
/* 800DF174 000DC0D4 C0 22 8F 58 */ lfs f1, lbl_805AAC78@sda21(r2)
/* 800DF178 000DC0D8 7F E4 FB 78 */ mr r4, r31
/* 800DF17C 000DC0DC 90 01 00 10 */ stw r0, 0x10(r1)
/* 800DF180 000DC0E0 38 A1 00 14 */ addi r5, r1, 0x14
/* 800DF184 000DC0E4 C0 42 8F 5C */ lfs f2, lbl_805AAC7C@sda21(r2)
/* 800DF188 000DC0E8 90 01 00 14 */ stw r0, 0x14(r1)
/* 800DF18C 000DC0EC 4B FF FA 11 */ bl SetWorldLighting__11CPlasmaBeamFR13CStateManager7TAreaIdff
/* 800DF190 000DC0F0 48 00 00 44 */ b lbl_800DF1D4
lbl_800DF194:
/* 800DF194 000DC0F4 C0 3E 02 38 */ lfs f1, 0x238(r30)
/* 800DF198 000DC0F8 C0 02 8F 50 */ lfs f0, lbl_805AAC70@sda21(r2)
/* 800DF19C 000DC0FC FC 01 00 40 */ fcmpo cr0, f1, f0
/* 800DF1A0 000DC100 40 80 00 34 */ bge lbl_800DF1D4
/* 800DF1A4 000DC104 88 1E 02 2C */ lbz r0, 0x22c(r30)
/* 800DF1A8 000DC108 54 00 D7 FF */ rlwinm. r0, r0, 0x1a, 0x1f, 0x1f
/* 800DF1AC 000DC10C 41 82 00 28 */ beq lbl_800DF1D4
/* 800DF1B0 000DC110 80 04 00 04 */ lwz r0, 4(r4)
/* 800DF1B4 000DC114 7F C3 F3 78 */ mr r3, r30
/* 800DF1B8 000DC118 C0 22 8F 34 */ lfs f1, lbl_805AAC54@sda21(r2)
/* 800DF1BC 000DC11C 7F E4 FB 78 */ mr r4, r31
/* 800DF1C0 000DC120 90 01 00 08 */ stw r0, 8(r1)
/* 800DF1C4 000DC124 38 A1 00 0C */ addi r5, r1, 0xc
/* 800DF1C8 000DC128 C0 42 8F 38 */ lfs f2, lbl_805AAC58@sda21(r2)
/* 800DF1CC 000DC12C 90 01 00 0C */ stw r0, 0xc(r1)
/* 800DF1D0 000DC130 4B FF F9 CD */ bl SetWorldLighting__11CPlasmaBeamFR13CStateManager7TAreaIdff
lbl_800DF1D4:
/* 800DF1D4 000DC134 7F C3 F3 78 */ mr r3, r30
/* 800DF1D8 000DC138 81 9E 00 00 */ lwz r12, 0(r30)
/* 800DF1DC 000DC13C 81 8C 00 40 */ lwz r12, 0x40(r12)
/* 800DF1E0 000DC140 7D 89 03 A6 */ mtctr r12
/* 800DF1E4 000DC144 4E 80 04 21 */ bctrl
/* 800DF1E8 000DC148 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 800DF1EC 000DC14C 40 82 00 90 */ bne lbl_800DF27C
/* 800DF1F0 000DC150 7F C3 F3 78 */ mr r3, r30
/* 800DF1F4 000DC154 48 0D C1 B1 */ bl IsLoaded__10CGunWeaponCFv
/* 800DF1F8 000DC158 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 800DF1FC 000DC15C 41 82 00 80 */ beq lbl_800DF27C
/* 800DF200 000DC160 88 1E 02 2C */ lbz r0, 0x22c(r30)
/* 800DF204 000DC164 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 800DF208 000DC168 40 82 00 74 */ bne lbl_800DF27C
/* 800DF20C 000DC16C 80 1E 02 24 */ lwz r0, 0x224(r30)
/* 800DF210 000DC170 28 00 00 00 */ cmplwi r0, 0
/* 800DF214 000DC174 41 82 00 0C */ beq lbl_800DF220
/* 800DF218 000DC178 38 60 00 01 */ li r3, 1
/* 800DF21C 000DC17C 48 00 00 3C */ b lbl_800DF258
lbl_800DF220:
/* 800DF220 000DC180 88 1E 02 20 */ lbz r0, 0x220(r30)
/* 800DF224 000DC184 28 00 00 00 */ cmplwi r0, 0
/* 800DF228 000DC188 41 82 00 2C */ beq lbl_800DF254
/* 800DF22C 000DC18C 80 7E 02 1C */ lwz r3, 0x21c(r30)
/* 800DF230 000DC190 80 03 00 10 */ lwz r0, 0x10(r3)
/* 800DF234 000DC194 28 00 00 00 */ cmplwi r0, 0
/* 800DF238 000DC198 41 82 00 1C */ beq lbl_800DF254
/* 800DF23C 000DC19C 38 7E 02 1C */ addi r3, r30, 0x21c
/* 800DF240 000DC1A0 48 26 1B CD */ bl GetObj__6CTokenFv
/* 800DF244 000DC1A4 80 03 00 04 */ lwz r0, 4(r3)
/* 800DF248 000DC1A8 38 60 00 01 */ li r3, 1
/* 800DF24C 000DC1AC 90 1E 02 24 */ stw r0, 0x224(r30)
/* 800DF250 000DC1B0 48 00 00 08 */ b lbl_800DF258
lbl_800DF254:
/* 800DF254 000DC1B4 38 60 00 00 */ li r3, 0
lbl_800DF258:
/* 800DF258 000DC1B8 88 1E 02 2C */ lbz r0, 0x22c(r30)
/* 800DF25C 000DC1BC 50 60 3E 30 */ rlwimi r0, r3, 7, 0x18, 0x18
/* 800DF260 000DC1C0 98 1E 02 2C */ stb r0, 0x22c(r30)
/* 800DF264 000DC1C4 88 1E 02 2C */ lbz r0, 0x22c(r30)
/* 800DF268 000DC1C8 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 800DF26C 000DC1CC 41 82 00 10 */ beq lbl_800DF27C
/* 800DF270 000DC1D0 7F C3 F3 78 */ mr r3, r30
/* 800DF274 000DC1D4 7F E4 FB 78 */ mr r4, r31
/* 800DF278 000DC1D8 4B FF FC E9 */ bl CreateBeam__11CPlasmaBeamFR13CStateManager
lbl_800DF27C:
/* 800DF27C 000DC1DC E3 E1 00 28 */ psq_l f31, 40(r1), 0, qr0
/* 800DF280 000DC1E0 80 01 00 34 */ lwz r0, 0x34(r1)
/* 800DF284 000DC1E4 CB E1 00 20 */ lfd f31, 0x20(r1)
/* 800DF288 000DC1E8 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 800DF28C 000DC1EC 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 800DF290 000DC1F0 7C 08 03 A6 */ mtlr r0
/* 800DF294 000DC1F4 38 21 00 30 */ addi r1, r1, 0x30
/* 800DF298 000DC1F8 4E 80 00 20 */ blr
.global UpdateGunFx__11CPlasmaBeamFbfRC13CStateManagerRC12CTransform4f
UpdateGunFx__11CPlasmaBeamFbfRC13CStateManagerRC12CTransform4f:
/* 800DF29C 000DC1FC 94 21 FF 90 */ stwu r1, -0x70(r1)
/* 800DF2A0 000DC200 7C 08 02 A6 */ mflr r0
/* 800DF2A4 000DC204 90 01 00 74 */ stw r0, 0x74(r1)
/* 800DF2A8 000DC208 DB E1 00 60 */ stfd f31, 0x60(r1)
/* 800DF2AC 000DC20C F3 E1 00 68 */ psq_st f31, 104(r1), 0, qr0
/* 800DF2B0 000DC210 BF 61 00 4C */ stmw r27, 0x4c(r1)
/* 800DF2B4 000DC214 7C 7B 1B 78 */ mr r27, r3
/* 800DF2B8 000DC218 FF E0 08 90 */ fmr f31, f1
/* 800DF2BC 000DC21C 80 63 02 28 */ lwz r3, 0x228(r3)
/* 800DF2C0 000DC220 7C 9C 23 78 */ mr r28, r4
/* 800DF2C4 000DC224 7C BD 2B 78 */ mr r29, r5
/* 800DF2C8 000DC228 7C DE 33 78 */ mr r30, r6
/* 800DF2CC 000DC22C 28 03 00 00 */ cmplwi r3, 0
/* 800DF2D0 000DC230 41 82 00 A0 */ beq lbl_800DF370
/* 800DF2D4 000DC234 80 1B 01 CC */ lwz r0, 0x1cc(r27)
/* 800DF2D8 000DC238 2C 00 00 00 */ cmpwi r0, 0
/* 800DF2DC 000DC23C 41 82 00 94 */ beq lbl_800DF370
/* 800DF2E0 000DC240 81 83 00 00 */ lwz r12, 0(r3)
/* 800DF2E4 000DC244 81 8C 00 58 */ lwz r12, 0x58(r12)
/* 800DF2E8 000DC248 7D 89 03 A6 */ mtctr r12
/* 800DF2EC 000DC24C 4E 80 04 21 */ bctrl
/* 800DF2F0 000DC250 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 800DF2F4 000DC254 41 82 00 0C */ beq lbl_800DF300
/* 800DF2F8 000DC258 38 00 00 00 */ li r0, 0
/* 800DF2FC 000DC25C 90 1B 01 CC */ stw r0, 0x1cc(r27)
lbl_800DF300:
/* 800DF300 000DC260 C0 5E 00 2C */ lfs f2, 0x2c(r30)
/* 800DF304 000DC264 38 81 00 08 */ addi r4, r1, 8
/* 800DF308 000DC268 C0 3E 00 1C */ lfs f1, 0x1c(r30)
/* 800DF30C 000DC26C C0 1E 00 0C */ lfs f0, 0xc(r30)
/* 800DF310 000DC270 D0 21 00 0C */ stfs f1, 0xc(r1)
/* 800DF314 000DC274 D0 01 00 08 */ stfs f0, 8(r1)
/* 800DF318 000DC278 D0 41 00 10 */ stfs f2, 0x10(r1)
/* 800DF31C 000DC27C 80 7B 02 28 */ lwz r3, 0x228(r27)
/* 800DF320 000DC280 81 83 00 00 */ lwz r12, 0(r3)
/* 800DF324 000DC284 81 8C 00 18 */ lwz r12, 0x18(r12)
/* 800DF328 000DC288 7D 89 03 A6 */ mtctr r12
/* 800DF32C 000DC28C 4E 80 04 21 */ bctrl
/* 800DF330 000DC290 83 FB 02 28 */ lwz r31, 0x228(r27)
/* 800DF334 000DC294 7F C4 F3 78 */ mr r4, r30
/* 800DF338 000DC298 38 61 00 14 */ addi r3, r1, 0x14
/* 800DF33C 000DC29C 48 23 39 05 */ bl GetRotation__12CTransform4fCFv
/* 800DF340 000DC2A0 7F E3 FB 78 */ mr r3, r31
/* 800DF344 000DC2A4 38 81 00 14 */ addi r4, r1, 0x14
/* 800DF348 000DC2A8 81 9F 00 00 */ lwz r12, 0(r31)
/* 800DF34C 000DC2AC 81 8C 00 14 */ lwz r12, 0x14(r12)
/* 800DF350 000DC2B0 7D 89 03 A6 */ mtctr r12
/* 800DF354 000DC2B4 4E 80 04 21 */ bctrl
/* 800DF358 000DC2B8 80 7B 02 28 */ lwz r3, 0x228(r27)
/* 800DF35C 000DC2BC FC 20 F8 90 */ fmr f1, f31
/* 800DF360 000DC2C0 81 83 00 00 */ lwz r12, 0(r3)
/* 800DF364 000DC2C4 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 800DF368 000DC2C8 7D 89 03 A6 */ mtctr r12
/* 800DF36C 000DC2CC 4E 80 04 21 */ bctrl
lbl_800DF370:
/* 800DF370 000DC2D0 FC 20 F8 90 */ fmr f1, f31
/* 800DF374 000DC2D4 7F 63 DB 78 */ mr r3, r27
/* 800DF378 000DC2D8 7F 84 E3 78 */ mr r4, r28
/* 800DF37C 000DC2DC 7F A5 EB 78 */ mr r5, r29
/* 800DF380 000DC2E0 7F C6 F3 78 */ mr r6, r30
/* 800DF384 000DC2E4 48 0D CF 59 */ bl UpdateGunFx__10CGunWeaponFbfRC13CStateManagerRC12CTransform4f
/* 800DF388 000DC2E8 E3 E1 00 68 */ psq_l f31, 104(r1), 0, qr0
/* 800DF38C 000DC2EC CB E1 00 60 */ lfd f31, 0x60(r1)
/* 800DF390 000DC2F0 BB 61 00 4C */ lmw r27, 0x4c(r1)
/* 800DF394 000DC2F4 80 01 00 74 */ lwz r0, 0x74(r1)
/* 800DF398 000DC2F8 7C 08 03 A6 */ mtlr r0
/* 800DF39C 000DC2FC 38 21 00 70 */ addi r1, r1, 0x70
/* 800DF3A0 000DC300 4E 80 00 20 */ blr
.global PostRenderGunFx__11CPlasmaBeamFRC13CStateManagerRC12CTransform4f
PostRenderGunFx__11CPlasmaBeamFRC13CStateManagerRC12CTransform4f:
/* 800DF3A4 000DC304 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 800DF3A8 000DC308 7C 08 02 A6 */ mflr r0
/* 800DF3AC 000DC30C 90 01 00 24 */ stw r0, 0x24(r1)
/* 800DF3B0 000DC310 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 800DF3B4 000DC314 7C BF 2B 78 */ mr r31, r5
/* 800DF3B8 000DC318 93 C1 00 18 */ stw r30, 0x18(r1)
/* 800DF3BC 000DC31C 7C 9E 23 78 */ mr r30, r4
/* 800DF3C0 000DC320 93 A1 00 14 */ stw r29, 0x14(r1)
/* 800DF3C4 000DC324 7C 7D 1B 78 */ mr r29, r3
/* 800DF3C8 000DC328 80 63 02 28 */ lwz r3, 0x228(r3)
/* 800DF3CC 000DC32C 28 03 00 00 */ cmplwi r3, 0
/* 800DF3D0 000DC330 41 82 00 20 */ beq lbl_800DF3F0
/* 800DF3D4 000DC334 80 1D 01 CC */ lwz r0, 0x1cc(r29)
/* 800DF3D8 000DC338 2C 00 00 00 */ cmpwi r0, 0
/* 800DF3DC 000DC33C 41 82 00 14 */ beq lbl_800DF3F0
/* 800DF3E0 000DC340 81 83 00 00 */ lwz r12, 0(r3)
/* 800DF3E4 000DC344 81 8C 00 10 */ lwz r12, 0x10(r12)
/* 800DF3E8 000DC348 7D 89 03 A6 */ mtctr r12
/* 800DF3EC 000DC34C 4E 80 04 21 */ bctrl
lbl_800DF3F0:
/* 800DF3F0 000DC350 7F A3 EB 78 */ mr r3, r29
/* 800DF3F4 000DC354 7F C4 F3 78 */ mr r4, r30
/* 800DF3F8 000DC358 7F E5 FB 78 */ mr r5, r31
/* 800DF3FC 000DC35C 48 0D D0 29 */ bl PostRenderGunFx__10CGunWeaponFRC13CStateManagerRC12CTransform4f
/* 800DF400 000DC360 80 01 00 24 */ lwz r0, 0x24(r1)
/* 800DF404 000DC364 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 800DF408 000DC368 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 800DF40C 000DC36C 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 800DF410 000DC370 7C 08 03 A6 */ mtlr r0
/* 800DF414 000DC374 38 21 00 20 */ addi r1, r1, 0x20
/* 800DF418 000DC378 4E 80 00 20 */ blr
.global IsFiring__11CPlasmaBeamCFRC13CStateManager
IsFiring__11CPlasmaBeamCFRC13CStateManager:
/* 800DF41C 000DC37C C0 23 02 34 */ lfs f1, 0x234(r3)
/* 800DF420 000DC380 C0 02 8F 50 */ lfs f0, lbl_805AAC70@sda21(r2)
/* 800DF424 000DC384 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 800DF428 000DC388 7C 00 00 26 */ mfcr r0
/* 800DF42C 000DC38C 54 03 17 FE */ rlwinm r3, r0, 2, 0x1f, 0x1f
/* 800DF430 000DC390 4E 80 00 20 */ blr
.global ReInitVariables__11CPlasmaBeamFv
ReInitVariables__11CPlasmaBeamFv:
/* 800DF434 000DC394 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 800DF438 000DC398 7C 08 02 A6 */ mflr r0
/* 800DF43C 000DC39C 90 01 00 14 */ stw r0, 0x14(r1)
/* 800DF440 000DC3A0 93 E1 00 0C */ stw r31, 0xc(r1)
/* 800DF444 000DC3A4 7C 7F 1B 78 */ mr r31, r3
/* 800DF448 000DC3A8 80 63 02 28 */ lwz r3, 0x228(r3)
/* 800DF44C 000DC3AC 28 03 00 00 */ cmplwi r3, 0
/* 800DF450 000DC3B0 41 82 00 18 */ beq lbl_800DF468
/* 800DF454 000DC3B4 81 83 00 00 */ lwz r12, 0(r3)
/* 800DF458 000DC3B8 38 80 00 01 */ li r4, 1
/* 800DF45C 000DC3BC 81 8C 00 08 */ lwz r12, 8(r12)
/* 800DF460 000DC3C0 7D 89 03 A6 */ mtctr r12
/* 800DF464 000DC3C4 4E 80 04 21 */ bctrl
lbl_800DF468:
/* 800DF468 000DC3C8 38 60 00 00 */ li r3, 0
/* 800DF46C 000DC3CC 90 7F 02 28 */ stw r3, 0x228(r31)
/* 800DF470 000DC3D0 88 1F 02 2C */ lbz r0, 0x22c(r31)
/* 800DF474 000DC3D4 50 60 3E 30 */ rlwimi r0, r3, 7, 0x18, 0x18
/* 800DF478 000DC3D8 98 1F 02 2C */ stb r0, 0x22c(r31)
/* 800DF47C 000DC3DC 90 7F 01 CC */ stw r3, 0x1cc(r31)
/* 800DF480 000DC3E0 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 800DF484 000DC3E4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 800DF488 000DC3E8 7C 08 03 A6 */ mtlr r0
/* 800DF48C 000DC3EC 38 21 00 10 */ addi r1, r1, 0x10
.global sub_800df490
sub_800df490:
/* 800DF490 000DC3F0 4E 80 00 20 */ blr
.global __dt__11CPlasmaBeamFv
__dt__11CPlasmaBeamFv:
/* 800DF494 000DC3F4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 800DF498 000DC3F8 7C 08 02 A6 */ mflr r0
/* 800DF49C 000DC3FC 90 01 00 14 */ stw r0, 0x14(r1)
/* 800DF4A0 000DC400 93 E1 00 0C */ stw r31, 0xc(r1)
/* 800DF4A4 000DC404 7C 9F 23 78 */ mr r31, r4
/* 800DF4A8 000DC408 93 C1 00 08 */ stw r30, 8(r1)
/* 800DF4AC 000DC40C 7C 7E 1B 79 */ or. r30, r3, r3
/* 800DF4B0 000DC410 41 82 00 70 */ beq lbl_800DF520
/* 800DF4B4 000DC414 3C 60 80 3E */ lis r3, lbl_803DF710@ha
/* 800DF4B8 000DC418 34 1E 02 28 */ addic. r0, r30, 0x228
/* 800DF4BC 000DC41C 38 03 F7 10 */ addi r0, r3, lbl_803DF710@l
/* 800DF4C0 000DC420 90 1E 00 00 */ stw r0, 0(r30)
/* 800DF4C4 000DC424 41 82 00 24 */ beq lbl_800DF4E8
/* 800DF4C8 000DC428 80 7E 02 28 */ lwz r3, 0x228(r30)
/* 800DF4CC 000DC42C 28 03 00 00 */ cmplwi r3, 0
/* 800DF4D0 000DC430 41 82 00 18 */ beq lbl_800DF4E8
/* 800DF4D4 000DC434 81 83 00 00 */ lwz r12, 0(r3)
/* 800DF4D8 000DC438 38 80 00 01 */ li r4, 1
/* 800DF4DC 000DC43C 81 8C 00 08 */ lwz r12, 8(r12)
/* 800DF4E0 000DC440 7D 89 03 A6 */ mtctr r12
/* 800DF4E4 000DC444 4E 80 04 21 */ bctrl
lbl_800DF4E8:
/* 800DF4E8 000DC448 34 1E 02 1C */ addic. r0, r30, 0x21c
/* 800DF4EC 000DC44C 41 82 00 18 */ beq lbl_800DF504
/* 800DF4F0 000DC450 34 1E 02 1C */ addic. r0, r30, 0x21c
/* 800DF4F4 000DC454 41 82 00 10 */ beq lbl_800DF504
/* 800DF4F8 000DC458 38 7E 02 1C */ addi r3, r30, 0x21c
/* 800DF4FC 000DC45C 38 80 00 00 */ li r4, 0
/* 800DF500 000DC460 48 26 19 41 */ bl __dt__6CTokenFv
lbl_800DF504:
/* 800DF504 000DC464 7F C3 F3 78 */ mr r3, r30
/* 800DF508 000DC468 38 80 00 00 */ li r4, 0
/* 800DF50C 000DC46C 48 0D D7 B5 */ bl __dt__10CGunWeaponFv
/* 800DF510 000DC470 7F E0 07 35 */ extsh. r0, r31
/* 800DF514 000DC474 40 81 00 0C */ ble lbl_800DF520
/* 800DF518 000DC478 7F C3 F3 78 */ mr r3, r30
/* 800DF51C 000DC47C 48 23 64 15 */ bl Free__7CMemoryFPCv
lbl_800DF520:
/* 800DF520 000DC480 80 01 00 14 */ lwz r0, 0x14(r1)
/* 800DF524 000DC484 7F C3 F3 78 */ mr r3, r30
/* 800DF528 000DC488 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 800DF52C 000DC48C 83 C1 00 08 */ lwz r30, 8(r1)
/* 800DF530 000DC490 7C 08 03 A6 */ mtlr r0
/* 800DF534 000DC494 38 21 00 10 */ addi r1, r1, 0x10
/* 800DF538 000DC498 4E 80 00 20 */ blr
.global __ct__11CPlasmaBeamFUi11EWeaponType9TUniqueId14EMaterialTypesRC9CVector3f
__ct__11CPlasmaBeamFUi11EWeaponType9TUniqueId14EMaterialTypesRC9CVector3f:
/* 800DF53C 000DC49C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 800DF540 000DC4A0 7C 08 02 A6 */ mflr r0
/* 800DF544 000DC4A4 90 01 00 24 */ stw r0, 0x24(r1)
/* 800DF548 000DC4A8 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 800DF54C 000DC4AC 7C 7F 1B 78 */ mr r31, r3
/* 800DF550 000DC4B0 93 C1 00 18 */ stw r30, 0x18(r1)
/* 800DF554 000DC4B4 A0 06 00 00 */ lhz r0, 0(r6)
/* 800DF558 000DC4B8 38 C1 00 08 */ addi r6, r1, 8
/* 800DF55C 000DC4BC B0 01 00 08 */ sth r0, 8(r1)
/* 800DF560 000DC4C0 48 0D DC 51 */ bl __ct__10CGunWeaponFUi11EWeaponType9TUniqueId14EMaterialTypesRC9CVector3f
/* 800DF564 000DC4C4 3C 60 80 3E */ lis r3, lbl_803DF710@ha
/* 800DF568 000DC4C8 3C 80 80 3D */ lis r4, lbl_803CE530@ha
/* 800DF56C 000DC4CC 38 03 F7 10 */ addi r0, r3, lbl_803DF710@l
/* 800DF570 000DC4D0 38 61 00 0C */ addi r3, r1, 0xc
/* 800DF574 000DC4D4 90 1F 00 00 */ stw r0, 0(r31)
/* 800DF578 000DC4D8 38 84 E5 30 */ addi r4, r4, lbl_803CE530@l
/* 800DF57C 000DC4DC 38 A4 00 07 */ addi r5, r4, 7
/* 800DF580 000DC4E0 80 8D A0 64 */ lwz r4, gpSimplePool@sda21(r13)
/* 800DF584 000DC4E4 81 84 00 00 */ lwz r12, 0(r4)
/* 800DF588 000DC4E8 81 8C 00 10 */ lwz r12, 0x10(r12)
/* 800DF58C 000DC4EC 7D 89 03 A6 */ mtctr r12
/* 800DF590 000DC4F0 4E 80 04 21 */ bctrl
/* 800DF594 000DC4F4 3B DF 02 1C */ addi r30, r31, 0x21c
/* 800DF598 000DC4F8 38 81 00 0C */ addi r4, r1, 0xc
/* 800DF59C 000DC4FC 7F C3 F3 78 */ mr r3, r30
/* 800DF5A0 000DC500 48 26 19 09 */ bl __ct__6CTokenFRC6CToken
/* 800DF5A4 000DC504 38 00 00 00 */ li r0, 0
/* 800DF5A8 000DC508 38 61 00 0C */ addi r3, r1, 0xc
/* 800DF5AC 000DC50C 90 1E 00 08 */ stw r0, 8(r30)
/* 800DF5B0 000DC510 38 80 FF FF */ li r4, -1
/* 800DF5B4 000DC514 48 26 18 8D */ bl __dt__6CTokenFv
/* 800DF5B8 000DC518 38 80 00 00 */ li r4, 0
/* 800DF5BC 000DC51C C0 02 8F 50 */ lfs f0, lbl_805AAC70@sda21(r2)
/* 800DF5C0 000DC520 90 9F 02 28 */ stw r4, 0x228(r31)
/* 800DF5C4 000DC524 7F E3 FB 78 */ mr r3, r31
/* 800DF5C8 000DC528 88 1F 02 2C */ lbz r0, 0x22c(r31)
/* 800DF5CC 000DC52C 50 80 3E 30 */ rlwimi r0, r4, 7, 0x18, 0x18
/* 800DF5D0 000DC530 98 1F 02 2C */ stb r0, 0x22c(r31)
/* 800DF5D4 000DC534 88 1F 02 2C */ lbz r0, 0x22c(r31)
/* 800DF5D8 000DC538 50 80 36 72 */ rlwimi r0, r4, 6, 0x19, 0x19
/* 800DF5DC 000DC53C 98 1F 02 2C */ stb r0, 0x22c(r31)
/* 800DF5E0 000DC540 D0 1F 02 30 */ stfs f0, 0x230(r31)
/* 800DF5E4 000DC544 D0 1F 02 34 */ stfs f0, 0x234(r31)
/* 800DF5E8 000DC548 D0 1F 02 38 */ stfs f0, 0x238(r31)
/* 800DF5EC 000DC54C 80 0D A3 90 */ lwz r0, lbl_805A8F50@sda21(r13)
/* 800DF5F0 000DC550 90 1F 02 3C */ stw r0, 0x23c(r31)
/* 800DF5F4 000DC554 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 800DF5F8 000DC558 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 800DF5FC 000DC55C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 800DF600 000DC560 7C 08 03 A6 */ mtlr r0
/* 800DF604 000DC564 38 21 00 20 */ addi r1, r1, 0x20
/* 800DF608 000DC568 4E 80 00 20 */ blr
.global __sinit_CPlasmaBeam_cpp
__sinit_CPlasmaBeam_cpp:
/* 800DF60C 000DC56C 94 21 FF 20 */ stwu r1, -0xe0(r1)
/* 800DF610 000DC570 7C 08 02 A6 */ mflr r0
/* 800DF614 000DC574 C0 22 8F 60 */ lfs f1, lbl_805AAC80@sda21(r2)
/* 800DF618 000DC578 90 01 00 E4 */ stw r0, 0xe4(r1)
/* 800DF61C 000DC57C 38 61 00 08 */ addi r3, r1, 8
/* 800DF620 000DC580 C0 42 8F 64 */ lfs f2, lbl_805AAC84@sda21(r2)
/* 800DF624 000DC584 48 07 E2 0D */ bl __ct__16CCameraShakeDataFff
/* 800DF628 000DC588 3C 60 80 57 */ lis r3, lbl_8056D420@ha
/* 800DF62C 000DC58C 38 81 00 08 */ addi r4, r1, 8
/* 800DF630 000DC590 38 63 D4 20 */ addi r3, r3, lbl_8056D420@l
/* 800DF634 000DC594 4B F2 B7 75 */ bl __ct__16CCameraShakeDataFRC16CCameraShakeData
/* 800DF638 000DC598 3C 80 80 01 */ lis r4, sub_8000ad2c@ha
/* 800DF63C 000DC59C 3C A0 80 47 */ lis r5, lbl_8046C488@ha
/* 800DF640 000DC5A0 38 84 AD 2C */ addi r4, r4, sub_8000ad2c@l
/* 800DF644 000DC5A4 38 A5 C4 88 */ addi r5, r5, lbl_8046C488@l
/* 800DF648 000DC5A8 48 2A A0 45 */ bl __register_global_object
/* 800DF64C 000DC5AC 34 81 00 88 */ addic. r4, r1, 0x88
/* 800DF650 000DC5B0 41 82 00 10 */ beq lbl_800DF660
/* 800DF654 000DC5B4 3C 60 80 3E */ lis r3, lbl_803D8EA8@ha
/* 800DF658 000DC5B8 38 03 8E A8 */ addi r0, r3, lbl_803D8EA8@l
/* 800DF65C 000DC5BC 90 04 00 00 */ stw r0, 0(r4)
lbl_800DF660:
/* 800DF660 000DC5C0 34 81 00 4C */ addic. r4, r1, 0x4c
/* 800DF664 000DC5C4 41 82 00 10 */ beq lbl_800DF674
/* 800DF668 000DC5C8 3C 60 80 3E */ lis r3, lbl_803D8EA8@ha
/* 800DF66C 000DC5CC 38 03 8E A8 */ addi r0, r3, lbl_803D8EA8@l
/* 800DF670 000DC5D0 90 04 00 00 */ stw r0, 0(r4)
lbl_800DF674:
/* 800DF674 000DC5D4 34 81 00 10 */ addic. r4, r1, 0x10
/* 800DF678 000DC5D8 41 82 00 10 */ beq lbl_800DF688
/* 800DF67C 000DC5DC 3C 60 80 3E */ lis r3, lbl_803D8EA8@ha
/* 800DF680 000DC5E0 38 03 8E A8 */ addi r0, r3, lbl_803D8EA8@l
/* 800DF684 000DC5E4 90 04 00 00 */ stw r0, 0(r4)
lbl_800DF688:
/* 800DF688 000DC5E8 80 01 00 E4 */ lwz r0, 0xe4(r1)
/* 800DF68C 000DC5EC 7C 08 03 A6 */ mtlr r0
/* 800DF690 000DC5F0 38 21 00 E0 */ addi r1, r1, 0xe0
/* 800DF694 000DC5F4 4E 80 00 20 */ blr

723
asm/Kyoto_CWD/CPowerBeam.s Normal file
View File

@ -0,0 +1,723 @@
.include "macros.inc"
.section .text, "ax"
.global EnableSecondaryFx__10CPowerBeamFQ210CGunWeapon16ESecondaryFxType
EnableSecondaryFx__10CPowerBeamFQ210CGunWeapon16ESecondaryFxType:
/* 800DF698 000DC5F8 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 800DF69C 000DC5FC 7C 08 02 A6 */ mflr r0
/* 800DF6A0 000DC600 90 01 00 24 */ stw r0, 0x24(r1)
/* 800DF6A4 000DC604 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 800DF6A8 000DC608 93 C1 00 18 */ stw r30, 0x18(r1)
/* 800DF6AC 000DC60C 7C 9E 23 78 */ mr r30, r4
/* 800DF6B0 000DC610 2C 1E 00 01 */ cmpwi r30, 1
/* 800DF6B4 000DC614 93 A1 00 14 */ stw r29, 0x14(r1)
/* 800DF6B8 000DC618 7C 7D 1B 78 */ mr r29, r3
/* 800DF6BC 000DC61C 93 81 00 10 */ stw r28, 0x10(r1)
/* 800DF6C0 000DC620 41 82 00 54 */ beq lbl_800DF714
/* 800DF6C4 000DC624 40 80 00 10 */ bge lbl_800DF6D4
/* 800DF6C8 000DC628 2C 1E 00 00 */ cmpwi r30, 0
/* 800DF6CC 000DC62C 40 80 00 10 */ bge lbl_800DF6DC
/* 800DF6D0 000DC630 48 00 00 E0 */ b lbl_800DF7B0
lbl_800DF6D4:
/* 800DF6D4 000DC634 2C 1E 00 04 */ cmpwi r30, 4
/* 800DF6D8 000DC638 40 80 00 D8 */ bge lbl_800DF7B0
lbl_800DF6DC:
/* 800DF6DC 000DC63C 80 1D 01 CC */ lwz r0, 0x1cc(r29)
/* 800DF6E0 000DC640 2C 00 00 00 */ cmpwi r0, 0
/* 800DF6E4 000DC644 41 82 00 24 */ beq lbl_800DF708
/* 800DF6E8 000DC648 80 7D 02 38 */ lwz r3, 0x238(r29)
/* 800DF6EC 000DC64C 28 03 00 00 */ cmplwi r3, 0
/* 800DF6F0 000DC650 41 82 00 18 */ beq lbl_800DF708
/* 800DF6F4 000DC654 81 83 00 00 */ lwz r12, 0(r3)
/* 800DF6F8 000DC658 38 80 00 00 */ li r4, 0
/* 800DF6FC 000DC65C 81 8C 00 2C */ lwz r12, 0x2c(r12)
/* 800DF700 000DC660 7D 89 03 A6 */ mtctr r12
/* 800DF704 000DC664 4E 80 04 21 */ bctrl
lbl_800DF708:
/* 800DF708 000DC668 38 00 00 00 */ li r0, 0
/* 800DF70C 000DC66C 90 1D 01 CC */ stw r0, 0x1cc(r29)
/* 800DF710 000DC670 48 00 00 A0 */ b lbl_800DF7B0
lbl_800DF714:
/* 800DF714 000DC674 3C 60 80 3D */ lis r3, lbl_803CE548@ha
/* 800DF718 000DC678 3B 80 00 00 */ li r28, 0
/* 800DF71C 000DC67C 38 83 E5 48 */ addi r4, r3, lbl_803CE548@l
/* 800DF720 000DC680 38 A0 00 00 */ li r5, 0
/* 800DF724 000DC684 38 60 03 40 */ li r3, 0x340
/* 800DF728 000DC688 48 23 61 45 */ bl __nw__FUlPCcPCc
/* 800DF72C 000DC68C 7C 7F 1B 79 */ or. r31, r3, r3
/* 800DF730 000DC690 41 82 00 2C */ beq lbl_800DF75C
/* 800DF734 000DC694 38 61 00 08 */ addi r3, r1, 8
/* 800DF738 000DC698 38 9D 02 28 */ addi r4, r29, 0x228
/* 800DF73C 000DC69C 48 26 17 6D */ bl __ct__6CTokenFRC6CToken
/* 800DF740 000DC6A0 7F E3 FB 78 */ mr r3, r31
/* 800DF744 000DC6A4 38 81 00 08 */ addi r4, r1, 8
/* 800DF748 000DC6A8 3B 80 00 01 */ li r28, 1
/* 800DF74C 000DC6AC 38 A0 00 00 */ li r5, 0
/* 800DF750 000DC6B0 38 C0 00 01 */ li r6, 1
/* 800DF754 000DC6B4 48 23 FC 8D */ bl "__ct__11CElementGenF25TToken<15CGenDescription>Q211CElementGen21EModelOrientationTypeQ211CElementGen20EOptionalSystemFlags"
/* 800DF758 000DC6B8 7C 7F 1B 78 */ mr r31, r3
lbl_800DF75C:
/* 800DF75C 000DC6BC 80 7D 02 38 */ lwz r3, 0x238(r29)
/* 800DF760 000DC6C0 28 03 00 00 */ cmplwi r3, 0
/* 800DF764 000DC6C4 41 82 00 18 */ beq lbl_800DF77C
/* 800DF768 000DC6C8 81 83 00 00 */ lwz r12, 0(r3)
/* 800DF76C 000DC6CC 38 80 00 01 */ li r4, 1
/* 800DF770 000DC6D0 81 8C 00 08 */ lwz r12, 8(r12)
/* 800DF774 000DC6D4 7D 89 03 A6 */ mtctr r12
/* 800DF778 000DC6D8 4E 80 04 21 */ bctrl
lbl_800DF77C:
/* 800DF77C 000DC6DC 7F 80 07 75 */ extsb. r0, r28
/* 800DF780 000DC6E0 93 FD 02 38 */ stw r31, 0x238(r29)
/* 800DF784 000DC6E4 41 82 00 10 */ beq lbl_800DF794
/* 800DF788 000DC6E8 38 61 00 08 */ addi r3, r1, 8
/* 800DF78C 000DC6EC 38 80 00 00 */ li r4, 0
/* 800DF790 000DC6F0 48 26 16 B1 */ bl __dt__6CTokenFv
lbl_800DF794:
/* 800DF794 000DC6F4 80 7D 02 38 */ lwz r3, 0x238(r29)
/* 800DF798 000DC6F8 38 9D 00 04 */ addi r4, r29, 4
/* 800DF79C 000DC6FC 81 83 00 00 */ lwz r12, 0(r3)
/* 800DF7A0 000DC700 81 8C 00 24 */ lwz r12, 0x24(r12)
/* 800DF7A4 000DC704 7D 89 03 A6 */ mtctr r12
/* 800DF7A8 000DC708 4E 80 04 21 */ bctrl
/* 800DF7AC 000DC70C 93 DD 01 CC */ stw r30, 0x1cc(r29)
lbl_800DF7B0:
/* 800DF7B0 000DC710 80 01 00 24 */ lwz r0, 0x24(r1)
/* 800DF7B4 000DC714 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 800DF7B8 000DC718 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 800DF7BC 000DC71C 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 800DF7C0 000DC720 83 81 00 10 */ lwz r28, 0x10(r1)
/* 800DF7C4 000DC724 7C 08 03 A6 */ mtlr r0
/* 800DF7C8 000DC728 38 21 00 20 */ addi r1, r1, 0x20
/* 800DF7CC 000DC72C 4E 80 00 20 */ blr
.global IsLoaded__10CPowerBeamCFv
IsLoaded__10CPowerBeamCFv:
/* 800DF7D0 000DC730 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 800DF7D4 000DC734 7C 08 02 A6 */ mflr r0
/* 800DF7D8 000DC738 90 01 00 14 */ stw r0, 0x14(r1)
/* 800DF7DC 000DC73C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 800DF7E0 000DC740 3B E0 00 00 */ li r31, 0
/* 800DF7E4 000DC744 93 C1 00 08 */ stw r30, 8(r1)
/* 800DF7E8 000DC748 7C 7E 1B 78 */ mr r30, r3
/* 800DF7EC 000DC74C 48 0D BB B9 */ bl IsLoaded__10CGunWeaponCFv
/* 800DF7F0 000DC750 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 800DF7F4 000DC754 41 82 00 14 */ beq lbl_800DF808
/* 800DF7F8 000DC758 88 1E 02 44 */ lbz r0, 0x244(r30)
/* 800DF7FC 000DC75C 54 00 D7 FF */ rlwinm. r0, r0, 0x1a, 0x1f, 0x1f
/* 800DF800 000DC760 41 82 00 08 */ beq lbl_800DF808
/* 800DF804 000DC764 3B E0 00 01 */ li r31, 1
lbl_800DF808:
/* 800DF808 000DC768 80 01 00 14 */ lwz r0, 0x14(r1)
/* 800DF80C 000DC76C 7F E3 FB 78 */ mr r3, r31
/* 800DF810 000DC770 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 800DF814 000DC774 83 C1 00 08 */ lwz r30, 8(r1)
/* 800DF818 000DC778 7C 08 03 A6 */ mtlr r0
/* 800DF81C 000DC77C 38 21 00 10 */ addi r1, r1, 0x10
/* 800DF820 000DC780 4E 80 00 20 */ blr
.global Unload__10CPowerBeamFR13CStateManager
Unload__10CPowerBeamFR13CStateManager:
/* 800DF824 000DC784 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 800DF828 000DC788 7C 08 02 A6 */ mflr r0
/* 800DF82C 000DC78C 90 01 00 14 */ stw r0, 0x14(r1)
/* 800DF830 000DC790 93 E1 00 0C */ stw r31, 0xc(r1)
/* 800DF834 000DC794 7C 7F 1B 78 */ mr r31, r3
/* 800DF838 000DC798 48 0D BB 79 */ bl Unload__10CGunWeaponFR13CStateManager
/* 800DF83C 000DC79C 38 00 00 00 */ li r0, 0
/* 800DF840 000DC7A0 38 7F 02 28 */ addi r3, r31, 0x228
/* 800DF844 000DC7A4 90 1F 02 30 */ stw r0, 0x230(r31)
/* 800DF848 000DC7A8 48 26 14 F9 */ bl Unlock__6CTokenFv
/* 800DF84C 000DC7AC 38 00 00 00 */ li r0, 0
/* 800DF850 000DC7B0 38 7F 02 1C */ addi r3, r31, 0x21c
/* 800DF854 000DC7B4 90 1F 02 24 */ stw r0, 0x224(r31)
/* 800DF858 000DC7B8 48 26 14 E9 */ bl Unlock__6CTokenFv
/* 800DF85C 000DC7BC 7F E3 FB 78 */ mr r3, r31
/* 800DF860 000DC7C0 48 00 05 B5 */ bl ReInitVariables__10CPowerBeamFv
/* 800DF864 000DC7C4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 800DF868 000DC7C8 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 800DF86C 000DC7CC 7C 08 03 A6 */ mtlr r0
/* 800DF870 000DC7D0 38 21 00 10 */ addi r1, r1, 0x10
/* 800DF874 000DC7D4 4E 80 00 20 */ blr
.global Load__10CPowerBeamFR13CStateManagerb
Load__10CPowerBeamFR13CStateManagerb:
/* 800DF878 000DC7D8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 800DF87C 000DC7DC 7C 08 02 A6 */ mflr r0
/* 800DF880 000DC7E0 90 01 00 14 */ stw r0, 0x14(r1)
/* 800DF884 000DC7E4 93 E1 00 0C */ stw r31, 0xc(r1)
/* 800DF888 000DC7E8 7C 7F 1B 78 */ mr r31, r3
/* 800DF88C 000DC7EC 48 0D BC 49 */ bl Load__10CGunWeaponFR13CStateManagerb
/* 800DF890 000DC7F0 38 7F 02 1C */ addi r3, r31, 0x21c
/* 800DF894 000DC7F4 48 26 14 F1 */ bl Lock__6CTokenFv
/* 800DF898 000DC7F8 38 7F 02 28 */ addi r3, r31, 0x228
/* 800DF89C 000DC7FC 48 26 14 E9 */ bl Lock__6CTokenFv
/* 800DF8A0 000DC800 80 01 00 14 */ lwz r0, 0x14(r1)
/* 800DF8A4 000DC804 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 800DF8A8 000DC808 7C 08 03 A6 */ mtlr r0
/* 800DF8AC 000DC80C 38 21 00 10 */ addi r1, r1, 0x10
/* 800DF8B0 000DC810 4E 80 00 20 */ blr
.global Fire__10CPowerBeamFbfQ212CPlayerState12EChargeStageRC12CTransform4fR13CStateManager9TUniqueId
Fire__10CPowerBeamFbfQ212CPlayerState12EChargeStageRC12CTransform4fR13CStateManager9TUniqueId:
/* 800DF8B4 000DC814 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 800DF8B8 000DC818 7C 08 02 A6 */ mflr r0
/* 800DF8BC 000DC81C 90 01 00 24 */ stw r0, 0x24(r1)
/* 800DF8C0 000DC820 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 800DF8C4 000DC824 7C BF 2B 78 */ mr r31, r5
/* 800DF8C8 000DC828 93 C1 00 18 */ stw r30, 0x18(r1)
/* 800DF8CC 000DC82C 7C 9E 23 78 */ mr r30, r4
/* 800DF8D0 000DC830 A0 08 00 00 */ lhz r0, 0(r8)
/* 800DF8D4 000DC834 39 01 00 08 */ addi r8, r1, 8
/* 800DF8D8 000DC838 B0 01 00 08 */ sth r0, 8(r1)
/* 800DF8DC 000DC83C 48 0D BF AD */ bl Fire__10CGunWeaponFbfQ212CPlayerState12EChargeStageRC12CTransform4fR13CStateManager9TUniqueId
/* 800DF8E0 000DC840 57 E0 08 3C */ slwi r0, r31, 1
/* 800DF8E4 000DC844 38 62 8F 68 */ addi r3, r2, lbl_805AAC88@sda21
/* 800DF8E8 000DC848 7C 83 02 2E */ lhzx r4, r3, r0
/* 800DF8EC 000DC84C 7F C5 F3 78 */ mr r5, r30
/* 800DF8F0 000DC850 38 61 00 0C */ addi r3, r1, 0xc
/* 800DF8F4 000DC854 38 C0 00 00 */ li r6, 0
/* 800DF8F8 000DC858 38 E0 00 4A */ li r7, 0x4a
/* 800DF8FC 000DC85C 48 1A B1 FD */ bl play_sfx__12NWeaponTypesFUsbbs
/* 800DF900 000DC860 80 01 00 24 */ lwz r0, 0x24(r1)
/* 800DF904 000DC864 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 800DF908 000DC868 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 800DF90C 000DC86C 7C 08 03 A6 */ mtlr r0
/* 800DF910 000DC870 38 21 00 20 */ addi r1, r1, 0x20
/* 800DF914 000DC874 4E 80 00 20 */ blr
.global Update__10CPowerBeamFfR13CStateManager
Update__10CPowerBeamFfR13CStateManager:
/* 800DF918 000DC878 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 800DF91C 000DC87C 7C 08 02 A6 */ mflr r0
/* 800DF920 000DC880 90 01 00 24 */ stw r0, 0x24(r1)
/* 800DF924 000DC884 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 800DF928 000DC888 7C 7F 1B 78 */ mr r31, r3
/* 800DF92C 000DC88C 93 C1 00 18 */ stw r30, 0x18(r1)
/* 800DF930 000DC890 93 A1 00 14 */ stw r29, 0x14(r1)
/* 800DF934 000DC894 48 0D CB 45 */ bl Update__10CGunWeaponFfR13CStateManager
/* 800DF938 000DC898 7F E3 FB 78 */ mr r3, r31
/* 800DF93C 000DC89C 81 9F 00 00 */ lwz r12, 0(r31)
/* 800DF940 000DC8A0 81 8C 00 40 */ lwz r12, 0x40(r12)
/* 800DF944 000DC8A4 7D 89 03 A6 */ mtctr r12
/* 800DF948 000DC8A8 4E 80 04 21 */ bctrl
/* 800DF94C 000DC8AC 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 800DF950 000DC8B0 40 82 01 70 */ bne lbl_800DFAC0
/* 800DF954 000DC8B4 7F E3 FB 78 */ mr r3, r31
/* 800DF958 000DC8B8 48 0D BA 4D */ bl IsLoaded__10CGunWeaponCFv
/* 800DF95C 000DC8BC 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 800DF960 000DC8C0 41 82 01 60 */ beq lbl_800DFAC0
/* 800DF964 000DC8C4 88 1F 02 44 */ lbz r0, 0x244(r31)
/* 800DF968 000DC8C8 54 00 D7 FF */ rlwinm. r0, r0, 0x1a, 0x1f, 0x1f
/* 800DF96C 000DC8CC 40 82 01 54 */ bne lbl_800DFAC0
/* 800DF970 000DC8D0 80 1F 02 24 */ lwz r0, 0x224(r31)
/* 800DF974 000DC8D4 28 00 00 00 */ cmplwi r0, 0
/* 800DF978 000DC8D8 41 82 00 0C */ beq lbl_800DF984
/* 800DF97C 000DC8DC 38 60 00 01 */ li r3, 1
/* 800DF980 000DC8E0 48 00 00 3C */ b lbl_800DF9BC
lbl_800DF984:
/* 800DF984 000DC8E4 88 1F 02 20 */ lbz r0, 0x220(r31)
/* 800DF988 000DC8E8 28 00 00 00 */ cmplwi r0, 0
/* 800DF98C 000DC8EC 41 82 00 2C */ beq lbl_800DF9B8
/* 800DF990 000DC8F0 80 7F 02 1C */ lwz r3, 0x21c(r31)
/* 800DF994 000DC8F4 80 03 00 10 */ lwz r0, 0x10(r3)
/* 800DF998 000DC8F8 28 00 00 00 */ cmplwi r0, 0
/* 800DF99C 000DC8FC 41 82 00 1C */ beq lbl_800DF9B8
/* 800DF9A0 000DC900 38 7F 02 1C */ addi r3, r31, 0x21c
/* 800DF9A4 000DC904 48 26 14 69 */ bl GetObj__6CTokenFv
/* 800DF9A8 000DC908 80 03 00 04 */ lwz r0, 4(r3)
/* 800DF9AC 000DC90C 38 60 00 01 */ li r3, 1
/* 800DF9B0 000DC910 90 1F 02 24 */ stw r0, 0x224(r31)
/* 800DF9B4 000DC914 48 00 00 08 */ b lbl_800DF9BC
lbl_800DF9B8:
/* 800DF9B8 000DC918 38 60 00 00 */ li r3, 0
lbl_800DF9BC:
/* 800DF9BC 000DC91C 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 800DF9C0 000DC920 41 82 00 50 */ beq lbl_800DFA10
/* 800DF9C4 000DC924 80 1F 02 30 */ lwz r0, 0x230(r31)
/* 800DF9C8 000DC928 28 00 00 00 */ cmplwi r0, 0
/* 800DF9CC 000DC92C 41 82 00 0C */ beq lbl_800DF9D8
/* 800DF9D0 000DC930 38 60 00 01 */ li r3, 1
/* 800DF9D4 000DC934 48 00 00 3C */ b lbl_800DFA10
lbl_800DF9D8:
/* 800DF9D8 000DC938 88 1F 02 2C */ lbz r0, 0x22c(r31)
/* 800DF9DC 000DC93C 28 00 00 00 */ cmplwi r0, 0
/* 800DF9E0 000DC940 41 82 00 2C */ beq lbl_800DFA0C
/* 800DF9E4 000DC944 80 7F 02 28 */ lwz r3, 0x228(r31)
/* 800DF9E8 000DC948 80 03 00 10 */ lwz r0, 0x10(r3)
/* 800DF9EC 000DC94C 28 00 00 00 */ cmplwi r0, 0
/* 800DF9F0 000DC950 41 82 00 1C */ beq lbl_800DFA0C
/* 800DF9F4 000DC954 38 7F 02 28 */ addi r3, r31, 0x228
/* 800DF9F8 000DC958 48 26 14 15 */ bl GetObj__6CTokenFv
/* 800DF9FC 000DC95C 80 03 00 04 */ lwz r0, 4(r3)
/* 800DFA00 000DC960 38 60 00 01 */ li r3, 1
/* 800DFA04 000DC964 90 1F 02 30 */ stw r0, 0x230(r31)
/* 800DFA08 000DC968 48 00 00 08 */ b lbl_800DFA10
lbl_800DFA0C:
/* 800DFA0C 000DC96C 38 60 00 00 */ li r3, 0
lbl_800DFA10:
/* 800DFA10 000DC970 88 1F 02 44 */ lbz r0, 0x244(r31)
/* 800DFA14 000DC974 50 60 36 72 */ rlwimi r0, r3, 6, 0x19, 0x19
/* 800DFA18 000DC978 98 1F 02 44 */ stb r0, 0x244(r31)
/* 800DFA1C 000DC97C 88 1F 02 44 */ lbz r0, 0x244(r31)
/* 800DFA20 000DC980 54 00 D7 FF */ rlwinm. r0, r0, 0x1a, 0x1f, 0x1f
/* 800DFA24 000DC984 41 82 00 9C */ beq lbl_800DFAC0
/* 800DFA28 000DC988 3C 60 80 3D */ lis r3, lbl_803CE548@ha
/* 800DFA2C 000DC98C 3B A0 00 00 */ li r29, 0
/* 800DFA30 000DC990 38 83 E5 48 */ addi r4, r3, lbl_803CE548@l
/* 800DFA34 000DC994 38 A0 00 00 */ li r5, 0
/* 800DFA38 000DC998 38 60 03 40 */ li r3, 0x340
/* 800DFA3C 000DC99C 48 23 5E 31 */ bl __nw__FUlPCcPCc
/* 800DFA40 000DC9A0 7C 7E 1B 79 */ or. r30, r3, r3
/* 800DFA44 000DC9A4 41 82 00 2C */ beq lbl_800DFA70
/* 800DFA48 000DC9A8 38 61 00 08 */ addi r3, r1, 8
/* 800DFA4C 000DC9AC 38 9F 02 1C */ addi r4, r31, 0x21c
/* 800DFA50 000DC9B0 48 26 14 59 */ bl __ct__6CTokenFRC6CToken
/* 800DFA54 000DC9B4 7F C3 F3 78 */ mr r3, r30
/* 800DFA58 000DC9B8 38 81 00 08 */ addi r4, r1, 8
/* 800DFA5C 000DC9BC 3B A0 00 01 */ li r29, 1
/* 800DFA60 000DC9C0 38 A0 00 00 */ li r5, 0
/* 800DFA64 000DC9C4 38 C0 00 01 */ li r6, 1
/* 800DFA68 000DC9C8 48 23 F9 79 */ bl "__ct__11CElementGenF25TToken<15CGenDescription>Q211CElementGen21EModelOrientationTypeQ211CElementGen20EOptionalSystemFlags"
/* 800DFA6C 000DC9CC 7C 7E 1B 78 */ mr r30, r3
lbl_800DFA70:
/* 800DFA70 000DC9D0 80 7F 02 34 */ lwz r3, 0x234(r31)
/* 800DFA74 000DC9D4 28 03 00 00 */ cmplwi r3, 0
/* 800DFA78 000DC9D8 41 82 00 18 */ beq lbl_800DFA90
/* 800DFA7C 000DC9DC 81 83 00 00 */ lwz r12, 0(r3)
/* 800DFA80 000DC9E0 38 80 00 01 */ li r4, 1
/* 800DFA84 000DC9E4 81 8C 00 08 */ lwz r12, 8(r12)
/* 800DFA88 000DC9E8 7D 89 03 A6 */ mtctr r12
/* 800DFA8C 000DC9EC 4E 80 04 21 */ bctrl
lbl_800DFA90:
/* 800DFA90 000DC9F0 7F A0 07 75 */ extsb. r0, r29
/* 800DFA94 000DC9F4 93 DF 02 34 */ stw r30, 0x234(r31)
/* 800DFA98 000DC9F8 41 82 00 10 */ beq lbl_800DFAA8
/* 800DFA9C 000DC9FC 38 61 00 08 */ addi r3, r1, 8
/* 800DFAA0 000DCA00 38 80 00 00 */ li r4, 0
/* 800DFAA4 000DCA04 48 26 13 9D */ bl __dt__6CTokenFv
lbl_800DFAA8:
/* 800DFAA8 000DCA08 80 7F 02 34 */ lwz r3, 0x234(r31)
/* 800DFAAC 000DCA0C 38 80 00 00 */ li r4, 0
/* 800DFAB0 000DCA10 81 83 00 00 */ lwz r12, 0(r3)
/* 800DFAB4 000DCA14 81 8C 00 2C */ lwz r12, 0x2c(r12)
/* 800DFAB8 000DCA18 7D 89 03 A6 */ mtctr r12
/* 800DFABC 000DCA1C 4E 80 04 21 */ bctrl
lbl_800DFAC0:
/* 800DFAC0 000DCA20 80 01 00 24 */ lwz r0, 0x24(r1)
/* 800DFAC4 000DCA24 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 800DFAC8 000DCA28 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 800DFACC 000DCA2C 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 800DFAD0 000DCA30 7C 08 03 A6 */ mtlr r0
/* 800DFAD4 000DCA34 38 21 00 20 */ addi r1, r1, 0x20
/* 800DFAD8 000DCA38 4E 80 00 20 */ blr
.global UpdateGunFx__10CPowerBeamFbfRC13CStateManagerRC12CTransform4f
UpdateGunFx__10CPowerBeamFbfRC13CStateManagerRC12CTransform4f:
/* 800DFADC 000DCA3C 94 21 FF 50 */ stwu r1, -0xb0(r1)
/* 800DFAE0 000DCA40 7C 08 02 A6 */ mflr r0
/* 800DFAE4 000DCA44 90 01 00 B4 */ stw r0, 0xb4(r1)
/* 800DFAE8 000DCA48 DB E1 00 A0 */ stfd f31, 0xa0(r1)
/* 800DFAEC 000DCA4C F3 E1 00 A8 */ psq_st f31, 168(r1), 0, qr0
/* 800DFAF0 000DCA50 93 E1 00 9C */ stw r31, 0x9c(r1)
/* 800DFAF4 000DCA54 93 C1 00 98 */ stw r30, 0x98(r1)
/* 800DFAF8 000DCA58 93 A1 00 94 */ stw r29, 0x94(r1)
/* 800DFAFC 000DCA5C 93 81 00 90 */ stw r28, 0x90(r1)
/* 800DFB00 000DCA60 7C 7C 1B 78 */ mr r28, r3
/* 800DFB04 000DCA64 FF E0 08 90 */ fmr f31, f1
/* 800DFB08 000DCA68 80 03 02 40 */ lwz r0, 0x240(r3)
/* 800DFB0C 000DCA6C 7C 9D 23 78 */ mr r29, r4
/* 800DFB10 000DCA70 7C BE 2B 78 */ mr r30, r5
/* 800DFB14 000DCA74 7C DF 33 78 */ mr r31, r6
/* 800DFB18 000DCA78 2C 00 00 01 */ cmpwi r0, 1
/* 800DFB1C 000DCA7C 41 82 00 5C */ beq lbl_800DFB78
/* 800DFB20 000DCA80 40 80 00 10 */ bge lbl_800DFB30
/* 800DFB24 000DCA84 2C 00 00 00 */ cmpwi r0, 0
/* 800DFB28 000DCA88 40 80 00 14 */ bge lbl_800DFB3C
/* 800DFB2C 000DCA8C 48 00 01 44 */ b lbl_800DFC70
lbl_800DFB30:
/* 800DFB30 000DCA90 2C 00 00 03 */ cmpwi r0, 3
/* 800DFB34 000DCA94 40 80 01 3C */ bge lbl_800DFC70
/* 800DFB38 000DCA98 48 00 00 84 */ b lbl_800DFBBC
lbl_800DFB3C:
/* 800DFB3C 000DCA9C 57 A0 06 3F */ clrlwi. r0, r29, 0x18
/* 800DFB40 000DCAA0 41 82 01 30 */ beq lbl_800DFC70
/* 800DFB44 000DCAA4 80 7C 02 34 */ lwz r3, 0x234(r28)
/* 800DFB48 000DCAA8 28 03 00 00 */ cmplwi r3, 0
/* 800DFB4C 000DCAAC 41 82 00 18 */ beq lbl_800DFB64
/* 800DFB50 000DCAB0 81 83 00 00 */ lwz r12, 0(r3)
/* 800DFB54 000DCAB4 38 80 00 01 */ li r4, 1
/* 800DFB58 000DCAB8 81 8C 00 2C */ lwz r12, 0x2c(r12)
/* 800DFB5C 000DCABC 7D 89 03 A6 */ mtctr r12
/* 800DFB60 000DCAC0 4E 80 04 21 */ bctrl
lbl_800DFB64:
/* 800DFB64 000DCAC4 C0 02 8F 6C */ lfs f0, lbl_805AAC8C@sda21(r2)
/* 800DFB68 000DCAC8 38 00 00 01 */ li r0, 1
/* 800DFB6C 000DCACC D0 1C 02 3C */ stfs f0, 0x23c(r28)
/* 800DFB70 000DCAD0 90 1C 02 40 */ stw r0, 0x240(r28)
/* 800DFB74 000DCAD4 48 00 00 FC */ b lbl_800DFC70
lbl_800DFB78:
/* 800DFB78 000DCAD8 C0 3C 02 3C */ lfs f1, 0x23c(r28)
/* 800DFB7C 000DCADC C0 02 8F 70 */ lfs f0, lbl_805AAC90@sda21(r2)
/* 800DFB80 000DCAE0 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 800DFB84 000DCAE4 40 81 00 10 */ ble lbl_800DFB94
/* 800DFB88 000DCAE8 EC 01 F8 28 */ fsubs f0, f1, f31
/* 800DFB8C 000DCAEC D0 1C 02 3C */ stfs f0, 0x23c(r28)
/* 800DFB90 000DCAF0 48 00 00 2C */ b lbl_800DFBBC
lbl_800DFB94:
/* 800DFB94 000DCAF4 80 7C 02 34 */ lwz r3, 0x234(r28)
/* 800DFB98 000DCAF8 28 03 00 00 */ cmplwi r3, 0
/* 800DFB9C 000DCAFC 41 82 00 18 */ beq lbl_800DFBB4
/* 800DFBA0 000DCB00 81 83 00 00 */ lwz r12, 0(r3)
/* 800DFBA4 000DCB04 38 80 00 00 */ li r4, 0
/* 800DFBA8 000DCB08 81 8C 00 2C */ lwz r12, 0x2c(r12)
/* 800DFBAC 000DCB0C 7D 89 03 A6 */ mtctr r12
/* 800DFBB0 000DCB10 4E 80 04 21 */ bctrl
lbl_800DFBB4:
/* 800DFBB4 000DCB14 38 00 00 02 */ li r0, 2
/* 800DFBB8 000DCB18 90 1C 02 40 */ stw r0, 0x240(r28)
lbl_800DFBBC:
/* 800DFBBC 000DCB1C 80 1C 02 34 */ lwz r0, 0x234(r28)
/* 800DFBC0 000DCB20 28 00 00 00 */ cmplwi r0, 0
/* 800DFBC4 000DCB24 41 82 00 A4 */ beq lbl_800DFC68
/* 800DFBC8 000DCB28 80 82 A9 C8 */ lwz r4, lbl_805AC6E8@sda21(r2)
/* 800DFBCC 000DCB2C 38 61 00 14 */ addi r3, r1, 0x14
/* 800DFBD0 000DCB30 4B F2 50 E9 */ bl string_l__4rstlFPCc
/* 800DFBD4 000DCB34 38 61 00 24 */ addi r3, r1, 0x24
/* 800DFBD8 000DCB38 38 9C 00 10 */ addi r4, r28, 0x10
/* 800DFBDC 000DCB3C 38 A1 00 14 */ addi r5, r1, 0x14
/* 800DFBE0 000DCB40 48 03 5D C1 */ bl "GetScaledLocatorTransform__10CModelDataCFRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>"
/* 800DFBE4 000DCB44 38 61 00 54 */ addi r3, r1, 0x54
/* 800DFBE8 000DCB48 38 81 00 24 */ addi r4, r1, 0x24
/* 800DFBEC 000DCB4C 48 23 2F 89 */ bl __ct__12CTransform4fFRC12CTransform4f
/* 800DFBF0 000DCB50 38 61 00 14 */ addi r3, r1, 0x14
/* 800DFBF4 000DCB54 48 25 DE ED */ bl "internal_dereference__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Fv"
/* 800DFBF8 000DCB58 C0 41 00 60 */ lfs f2, 0x60(r1)
/* 800DFBFC 000DCB5C 38 81 00 08 */ addi r4, r1, 8
/* 800DFC00 000DCB60 C0 21 00 70 */ lfs f1, 0x70(r1)
/* 800DFC04 000DCB64 C0 01 00 80 */ lfs f0, 0x80(r1)
/* 800DFC08 000DCB68 D0 41 00 08 */ stfs f2, 8(r1)
/* 800DFC0C 000DCB6C D0 21 00 0C */ stfs f1, 0xc(r1)
/* 800DFC10 000DCB70 D0 01 00 10 */ stfs f0, 0x10(r1)
/* 800DFC14 000DCB74 80 7C 02 34 */ lwz r3, 0x234(r28)
/* 800DFC18 000DCB78 81 83 00 00 */ lwz r12, 0(r3)
/* 800DFC1C 000DCB7C 81 8C 00 20 */ lwz r12, 0x20(r12)
/* 800DFC20 000DCB80 7D 89 03 A6 */ mtctr r12
/* 800DFC24 000DCB84 4E 80 04 21 */ bctrl
/* 800DFC28 000DCB88 80 7C 02 34 */ lwz r3, 0x234(r28)
/* 800DFC2C 000DCB8C FC 20 F8 90 */ fmr f1, f31
/* 800DFC30 000DCB90 81 83 00 00 */ lwz r12, 0(r3)
/* 800DFC34 000DCB94 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 800DFC38 000DCB98 7D 89 03 A6 */ mtctr r12
/* 800DFC3C 000DCB9C 4E 80 04 21 */ bctrl
/* 800DFC40 000DCBA0 80 1C 02 40 */ lwz r0, 0x240(r28)
/* 800DFC44 000DCBA4 2C 00 00 02 */ cmpwi r0, 2
/* 800DFC48 000DCBA8 40 82 00 28 */ bne lbl_800DFC70
/* 800DFC4C 000DCBAC 80 7C 02 34 */ lwz r3, 0x234(r28)
/* 800DFC50 000DCBB0 48 23 81 49 */ bl GetSystemCount__11CElementGenFv
/* 800DFC54 000DCBB4 2C 03 00 00 */ cmpwi r3, 0
/* 800DFC58 000DCBB8 40 82 00 18 */ bne lbl_800DFC70
/* 800DFC5C 000DCBBC 38 00 00 00 */ li r0, 0
/* 800DFC60 000DCBC0 90 1C 02 40 */ stw r0, 0x240(r28)
/* 800DFC64 000DCBC4 48 00 00 0C */ b lbl_800DFC70
lbl_800DFC68:
/* 800DFC68 000DCBC8 38 00 00 00 */ li r0, 0
/* 800DFC6C 000DCBCC 90 1C 02 40 */ stw r0, 0x240(r28)
lbl_800DFC70:
/* 800DFC70 000DCBD0 80 1C 01 CC */ lwz r0, 0x1cc(r28)
/* 800DFC74 000DCBD4 2C 00 00 00 */ cmpwi r0, 0
/* 800DFC78 000DCBD8 41 82 00 30 */ beq lbl_800DFCA8
/* 800DFC7C 000DCBDC 80 7C 02 38 */ lwz r3, 0x238(r28)
/* 800DFC80 000DCBE0 28 03 00 00 */ cmplwi r3, 0
/* 800DFC84 000DCBE4 41 82 00 24 */ beq lbl_800DFCA8
/* 800DFC88 000DCBE8 7F E4 FB 78 */ mr r4, r31
/* 800DFC8C 000DCBEC 48 23 EE F9 */ bl SetGlobalOrientAndTrans__11CElementGenFRC12CTransform4f
/* 800DFC90 000DCBF0 80 7C 02 38 */ lwz r3, 0x238(r28)
/* 800DFC94 000DCBF4 FC 20 F8 90 */ fmr f1, f31
/* 800DFC98 000DCBF8 81 83 00 00 */ lwz r12, 0(r3)
/* 800DFC9C 000DCBFC 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 800DFCA0 000DCC00 7D 89 03 A6 */ mtctr r12
/* 800DFCA4 000DCC04 4E 80 04 21 */ bctrl
lbl_800DFCA8:
/* 800DFCA8 000DCC08 FC 20 F8 90 */ fmr f1, f31
/* 800DFCAC 000DCC0C 7F 83 E3 78 */ mr r3, r28
/* 800DFCB0 000DCC10 7F A4 EB 78 */ mr r4, r29
/* 800DFCB4 000DCC14 7F C5 F3 78 */ mr r5, r30
/* 800DFCB8 000DCC18 7F E6 FB 78 */ mr r6, r31
/* 800DFCBC 000DCC1C 48 0D C6 21 */ bl UpdateGunFx__10CGunWeaponFbfRC13CStateManagerRC12CTransform4f
/* 800DFCC0 000DCC20 E3 E1 00 A8 */ psq_l f31, 168(r1), 0, qr0
/* 800DFCC4 000DCC24 80 01 00 B4 */ lwz r0, 0xb4(r1)
/* 800DFCC8 000DCC28 CB E1 00 A0 */ lfd f31, 0xa0(r1)
/* 800DFCCC 000DCC2C 83 E1 00 9C */ lwz r31, 0x9c(r1)
/* 800DFCD0 000DCC30 83 C1 00 98 */ lwz r30, 0x98(r1)
/* 800DFCD4 000DCC34 83 A1 00 94 */ lwz r29, 0x94(r1)
/* 800DFCD8 000DCC38 83 81 00 90 */ lwz r28, 0x90(r1)
/* 800DFCDC 000DCC3C 7C 08 03 A6 */ mtlr r0
/* 800DFCE0 000DCC40 38 21 00 B0 */ addi r1, r1, 0xb0
/* 800DFCE4 000DCC44 4E 80 00 20 */ blr
.global PostRenderGunFx__10CPowerBeamFRC13CStateManagerRC12CTransform4f
PostRenderGunFx__10CPowerBeamFRC13CStateManagerRC12CTransform4f:
/* 800DFCE8 000DCC48 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 800DFCEC 000DCC4C 7C 08 02 A6 */ mflr r0
/* 800DFCF0 000DCC50 90 01 00 24 */ stw r0, 0x24(r1)
/* 800DFCF4 000DCC54 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 800DFCF8 000DCC58 7C BF 2B 78 */ mr r31, r5
/* 800DFCFC 000DCC5C 93 C1 00 18 */ stw r30, 0x18(r1)
/* 800DFD00 000DCC60 7C 9E 23 78 */ mr r30, r4
/* 800DFD04 000DCC64 93 A1 00 14 */ stw r29, 0x14(r1)
/* 800DFD08 000DCC68 7C 7D 1B 78 */ mr r29, r3
/* 800DFD0C 000DCC6C 80 03 01 CC */ lwz r0, 0x1cc(r3)
/* 800DFD10 000DCC70 2C 00 00 00 */ cmpwi r0, 0
/* 800DFD14 000DCC74 41 82 00 20 */ beq lbl_800DFD34
/* 800DFD18 000DCC78 80 7D 02 38 */ lwz r3, 0x238(r29)
/* 800DFD1C 000DCC7C 28 03 00 00 */ cmplwi r3, 0
/* 800DFD20 000DCC80 41 82 00 14 */ beq lbl_800DFD34
/* 800DFD24 000DCC84 81 83 00 00 */ lwz r12, 0(r3)
/* 800DFD28 000DCC88 81 8C 00 10 */ lwz r12, 0x10(r12)
/* 800DFD2C 000DCC8C 7D 89 03 A6 */ mtctr r12
/* 800DFD30 000DCC90 4E 80 04 21 */ bctrl
lbl_800DFD34:
/* 800DFD34 000DCC94 7F A3 EB 78 */ mr r3, r29
/* 800DFD38 000DCC98 7F C4 F3 78 */ mr r4, r30
/* 800DFD3C 000DCC9C 7F E5 FB 78 */ mr r5, r31
/* 800DFD40 000DCCA0 48 0D C6 E5 */ bl PostRenderGunFx__10CGunWeaponFRC13CStateManagerRC12CTransform4f
/* 800DFD44 000DCCA4 80 01 00 24 */ lwz r0, 0x24(r1)
/* 800DFD48 000DCCA8 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 800DFD4C 000DCCAC 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 800DFD50 000DCCB0 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 800DFD54 000DCCB4 7C 08 03 A6 */ mtlr r0
/* 800DFD58 000DCCB8 38 21 00 20 */ addi r1, r1, 0x20
/* 800DFD5C 000DCCBC 4E 80 00 20 */ blr
.global PreRenderGunFx__10CPowerBeamFRC13CStateManagerRC12CTransform4f
PreRenderGunFx__10CPowerBeamFRC13CStateManagerRC12CTransform4f:
/* 800DFD60 000DCCC0 94 21 FF 60 */ stwu r1, -0xa0(r1)
/* 800DFD64 000DCCC4 7C 08 02 A6 */ mflr r0
/* 800DFD68 000DCCC8 3C 80 80 5A */ lis r4, lbl_805A61D4@ha
/* 800DFD6C 000DCCCC 90 01 00 A4 */ stw r0, 0xa4(r1)
/* 800DFD70 000DCCD0 38 84 61 D4 */ addi r4, r4, lbl_805A61D4@l
/* 800DFD74 000DCCD4 93 E1 00 9C */ stw r31, 0x9c(r1)
/* 800DFD78 000DCCD8 7C BF 2B 78 */ mr r31, r5
/* 800DFD7C 000DCCDC 93 C1 00 98 */ stw r30, 0x98(r1)
/* 800DFD80 000DCCE0 7C 7E 1B 78 */ mr r30, r3
/* 800DFD84 000DCCE4 38 61 00 68 */ addi r3, r1, 0x68
/* 800DFD88 000DCCE8 48 23 2D ED */ bl __ct__12CTransform4fFRC12CTransform4f
/* 800DFD8C 000DCCEC 7F E4 FB 78 */ mr r4, r31
/* 800DFD90 000DCCF0 38 61 00 08 */ addi r3, r1, 8
/* 800DFD94 000DCCF4 48 23 29 4D */ bl GetInverse__12CTransform4fCFv
/* 800DFD98 000DCCF8 38 61 00 38 */ addi r3, r1, 0x38
/* 800DFD9C 000DCCFC 38 81 00 08 */ addi r4, r1, 8
/* 800DFDA0 000DCD00 38 A1 00 68 */ addi r5, r1, 0x68
/* 800DFDA4 000DCD04 48 23 2B AD */ bl __ml__12CTransform4fCFRC12CTransform4f
/* 800DFDA8 000DCD08 38 61 00 38 */ addi r3, r1, 0x38
/* 800DFDAC 000DCD0C 48 22 C9 A1 */ bl SetViewPointMatrix__9CGraphicsFRC12CTransform4f
/* 800DFDB0 000DCD10 80 6D A0 68 */ lwz r3, gpRender@sda21(r13)
/* 800DFDB4 000DCD14 3C 80 80 5A */ lis r4, skIdentity4f@ha
/* 800DFDB8 000DCD18 38 84 66 70 */ addi r4, r4, skIdentity4f@l
/* 800DFDBC 000DCD1C 81 83 00 00 */ lwz r12, 0(r3)
/* 800DFDC0 000DCD20 81 8C 00 30 */ lwz r12, 0x30(r12)
/* 800DFDC4 000DCD24 7D 89 03 A6 */ mtctr r12
/* 800DFDC8 000DCD28 4E 80 04 21 */ bctrl
/* 800DFDCC 000DCD2C 80 7E 02 34 */ lwz r3, 0x234(r30)
/* 800DFDD0 000DCD30 28 03 00 00 */ cmplwi r3, 0
/* 800DFDD4 000DCD34 41 82 00 20 */ beq lbl_800DFDF4
/* 800DFDD8 000DCD38 80 1E 02 40 */ lwz r0, 0x240(r30)
/* 800DFDDC 000DCD3C 2C 00 00 00 */ cmpwi r0, 0
/* 800DFDE0 000DCD40 41 82 00 14 */ beq lbl_800DFDF4
/* 800DFDE4 000DCD44 81 83 00 00 */ lwz r12, 0(r3)
/* 800DFDE8 000DCD48 81 8C 00 10 */ lwz r12, 0x10(r12)
/* 800DFDEC 000DCD4C 7D 89 03 A6 */ mtctr r12
/* 800DFDF0 000DCD50 4E 80 04 21 */ bctrl
lbl_800DFDF4:
/* 800DFDF4 000DCD54 38 61 00 68 */ addi r3, r1, 0x68
/* 800DFDF8 000DCD58 48 22 C9 55 */ bl SetViewPointMatrix__9CGraphicsFRC12CTransform4f
/* 800DFDFC 000DCD5C 80 01 00 A4 */ lwz r0, 0xa4(r1)
/* 800DFE00 000DCD60 83 E1 00 9C */ lwz r31, 0x9c(r1)
/* 800DFE04 000DCD64 83 C1 00 98 */ lwz r30, 0x98(r1)
/* 800DFE08 000DCD68 7C 08 03 A6 */ mtlr r0
/* 800DFE0C 000DCD6C 38 21 00 A0 */ addi r1, r1, 0xa0
/* 800DFE10 000DCD70 4E 80 00 20 */ blr
.global ReInitVariables__10CPowerBeamFv
ReInitVariables__10CPowerBeamFv:
/* 800DFE14 000DCD74 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 800DFE18 000DCD78 7C 08 02 A6 */ mflr r0
/* 800DFE1C 000DCD7C 90 01 00 14 */ stw r0, 0x14(r1)
/* 800DFE20 000DCD80 93 E1 00 0C */ stw r31, 0xc(r1)
/* 800DFE24 000DCD84 7C 7F 1B 78 */ mr r31, r3
/* 800DFE28 000DCD88 80 63 02 34 */ lwz r3, 0x234(r3)
/* 800DFE2C 000DCD8C 28 03 00 00 */ cmplwi r3, 0
/* 800DFE30 000DCD90 41 82 00 18 */ beq lbl_800DFE48
/* 800DFE34 000DCD94 81 83 00 00 */ lwz r12, 0(r3)
/* 800DFE38 000DCD98 38 80 00 01 */ li r4, 1
/* 800DFE3C 000DCD9C 81 8C 00 08 */ lwz r12, 8(r12)
/* 800DFE40 000DCDA0 7D 89 03 A6 */ mtctr r12
/* 800DFE44 000DCDA4 4E 80 04 21 */ bctrl
lbl_800DFE48:
/* 800DFE48 000DCDA8 38 00 00 00 */ li r0, 0
/* 800DFE4C 000DCDAC 90 1F 02 34 */ stw r0, 0x234(r31)
/* 800DFE50 000DCDB0 80 7F 02 38 */ lwz r3, 0x238(r31)
/* 800DFE54 000DCDB4 28 03 00 00 */ cmplwi r3, 0
/* 800DFE58 000DCDB8 41 82 00 18 */ beq lbl_800DFE70
/* 800DFE5C 000DCDBC 81 83 00 00 */ lwz r12, 0(r3)
/* 800DFE60 000DCDC0 38 80 00 01 */ li r4, 1
/* 800DFE64 000DCDC4 81 8C 00 08 */ lwz r12, 8(r12)
/* 800DFE68 000DCDC8 7D 89 03 A6 */ mtctr r12
/* 800DFE6C 000DCDCC 4E 80 04 21 */ bctrl
lbl_800DFE70:
/* 800DFE70 000DCDD0 38 60 00 00 */ li r3, 0
/* 800DFE74 000DCDD4 C0 02 8F 70 */ lfs f0, lbl_805AAC90@sda21(r2)
/* 800DFE78 000DCDD8 90 7F 02 38 */ stw r3, 0x238(r31)
/* 800DFE7C 000DCDDC D0 1F 02 3C */ stfs f0, 0x23c(r31)
/* 800DFE80 000DCDE0 90 7F 02 40 */ stw r3, 0x240(r31)
/* 800DFE84 000DCDE4 88 1F 02 44 */ lbz r0, 0x244(r31)
/* 800DFE88 000DCDE8 50 60 3E 30 */ rlwimi r0, r3, 7, 0x18, 0x18
/* 800DFE8C 000DCDEC 98 1F 02 44 */ stb r0, 0x244(r31)
/* 800DFE90 000DCDF0 88 1F 02 44 */ lbz r0, 0x244(r31)
/* 800DFE94 000DCDF4 50 60 36 72 */ rlwimi r0, r3, 6, 0x19, 0x19
/* 800DFE98 000DCDF8 98 1F 02 44 */ stb r0, 0x244(r31)
/* 800DFE9C 000DCDFC 90 7F 01 CC */ stw r3, 0x1cc(r31)
/* 800DFEA0 000DCE00 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 800DFEA4 000DCE04 80 01 00 14 */ lwz r0, 0x14(r1)
/* 800DFEA8 000DCE08 7C 08 03 A6 */ mtlr r0
/* 800DFEAC 000DCE0C 38 21 00 10 */ addi r1, r1, 0x10
/* 800DFEB0 000DCE10 4E 80 00 20 */ blr
.global __dt__10CPowerBeamFv
__dt__10CPowerBeamFv:
/* 800DFEB4 000DCE14 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 800DFEB8 000DCE18 7C 08 02 A6 */ mflr r0
/* 800DFEBC 000DCE1C 90 01 00 14 */ stw r0, 0x14(r1)
/* 800DFEC0 000DCE20 93 E1 00 0C */ stw r31, 0xc(r1)
/* 800DFEC4 000DCE24 7C 9F 23 78 */ mr r31, r4
/* 800DFEC8 000DCE28 93 C1 00 08 */ stw r30, 8(r1)
/* 800DFECC 000DCE2C 7C 7E 1B 79 */ or. r30, r3, r3
/* 800DFED0 000DCE30 41 82 00 B4 */ beq lbl_800DFF84
/* 800DFED4 000DCE34 3C 60 80 3E */ lis r3, lbl_803DF758@ha
/* 800DFED8 000DCE38 34 1E 02 38 */ addic. r0, r30, 0x238
/* 800DFEDC 000DCE3C 38 03 F7 58 */ addi r0, r3, lbl_803DF758@l
/* 800DFEE0 000DCE40 90 1E 00 00 */ stw r0, 0(r30)
/* 800DFEE4 000DCE44 41 82 00 24 */ beq lbl_800DFF08
/* 800DFEE8 000DCE48 80 7E 02 38 */ lwz r3, 0x238(r30)
/* 800DFEEC 000DCE4C 28 03 00 00 */ cmplwi r3, 0
/* 800DFEF0 000DCE50 41 82 00 18 */ beq lbl_800DFF08
/* 800DFEF4 000DCE54 81 83 00 00 */ lwz r12, 0(r3)
/* 800DFEF8 000DCE58 38 80 00 01 */ li r4, 1
/* 800DFEFC 000DCE5C 81 8C 00 08 */ lwz r12, 8(r12)
/* 800DFF00 000DCE60 7D 89 03 A6 */ mtctr r12
/* 800DFF04 000DCE64 4E 80 04 21 */ bctrl
lbl_800DFF08:
/* 800DFF08 000DCE68 34 1E 02 34 */ addic. r0, r30, 0x234
/* 800DFF0C 000DCE6C 41 82 00 24 */ beq lbl_800DFF30
/* 800DFF10 000DCE70 80 7E 02 34 */ lwz r3, 0x234(r30)
/* 800DFF14 000DCE74 28 03 00 00 */ cmplwi r3, 0
/* 800DFF18 000DCE78 41 82 00 18 */ beq lbl_800DFF30
/* 800DFF1C 000DCE7C 81 83 00 00 */ lwz r12, 0(r3)
/* 800DFF20 000DCE80 38 80 00 01 */ li r4, 1
/* 800DFF24 000DCE84 81 8C 00 08 */ lwz r12, 8(r12)
/* 800DFF28 000DCE88 7D 89 03 A6 */ mtctr r12
/* 800DFF2C 000DCE8C 4E 80 04 21 */ bctrl
lbl_800DFF30:
/* 800DFF30 000DCE90 34 1E 02 28 */ addic. r0, r30, 0x228
/* 800DFF34 000DCE94 41 82 00 18 */ beq lbl_800DFF4C
/* 800DFF38 000DCE98 34 1E 02 28 */ addic. r0, r30, 0x228
/* 800DFF3C 000DCE9C 41 82 00 10 */ beq lbl_800DFF4C
/* 800DFF40 000DCEA0 38 7E 02 28 */ addi r3, r30, 0x228
/* 800DFF44 000DCEA4 38 80 00 00 */ li r4, 0
/* 800DFF48 000DCEA8 48 26 0E F9 */ bl __dt__6CTokenFv
lbl_800DFF4C:
/* 800DFF4C 000DCEAC 34 1E 02 1C */ addic. r0, r30, 0x21c
/* 800DFF50 000DCEB0 41 82 00 18 */ beq lbl_800DFF68
/* 800DFF54 000DCEB4 34 1E 02 1C */ addic. r0, r30, 0x21c
/* 800DFF58 000DCEB8 41 82 00 10 */ beq lbl_800DFF68
/* 800DFF5C 000DCEBC 38 7E 02 1C */ addi r3, r30, 0x21c
/* 800DFF60 000DCEC0 38 80 00 00 */ li r4, 0
/* 800DFF64 000DCEC4 48 26 0E DD */ bl __dt__6CTokenFv
lbl_800DFF68:
/* 800DFF68 000DCEC8 7F C3 F3 78 */ mr r3, r30
/* 800DFF6C 000DCECC 38 80 00 00 */ li r4, 0
/* 800DFF70 000DCED0 48 0D CD 51 */ bl __dt__10CGunWeaponFv
/* 800DFF74 000DCED4 7F E0 07 35 */ extsh. r0, r31
/* 800DFF78 000DCED8 40 81 00 0C */ ble lbl_800DFF84
/* 800DFF7C 000DCEDC 7F C3 F3 78 */ mr r3, r30
/* 800DFF80 000DCEE0 48 23 59 B1 */ bl Free__7CMemoryFPCv
lbl_800DFF84:
/* 800DFF84 000DCEE4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 800DFF88 000DCEE8 7F C3 F3 78 */ mr r3, r30
/* 800DFF8C 000DCEEC 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 800DFF90 000DCEF0 83 C1 00 08 */ lwz r30, 8(r1)
/* 800DFF94 000DCEF4 7C 08 03 A6 */ mtlr r0
/* 800DFF98 000DCEF8 38 21 00 10 */ addi r1, r1, 0x10
/* 800DFF9C 000DCEFC 4E 80 00 20 */ blr
.global __ct__10CPowerBeamFUi11EWeaponType9TUniqueId14EMaterialTypesRC9CVector3f
__ct__10CPowerBeamFUi11EWeaponType9TUniqueId14EMaterialTypesRC9CVector3f:
/* 800DFFA0 000DCF00 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 800DFFA4 000DCF04 7C 08 02 A6 */ mflr r0
/* 800DFFA8 000DCF08 90 01 00 34 */ stw r0, 0x34(r1)
/* 800DFFAC 000DCF0C 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 800DFFB0 000DCF10 7C 7F 1B 78 */ mr r31, r3
/* 800DFFB4 000DCF14 93 C1 00 28 */ stw r30, 0x28(r1)
/* 800DFFB8 000DCF18 A0 06 00 00 */ lhz r0, 0(r6)
/* 800DFFBC 000DCF1C 38 C1 00 08 */ addi r6, r1, 8
/* 800DFFC0 000DCF20 B0 01 00 08 */ sth r0, 8(r1)
/* 800DFFC4 000DCF24 48 0D D1 ED */ bl __ct__10CGunWeaponFUi11EWeaponType9TUniqueId14EMaterialTypesRC9CVector3f
/* 800DFFC8 000DCF28 3C 60 80 3E */ lis r3, lbl_803DF758@ha
/* 800DFFCC 000DCF2C 3C 80 80 3D */ lis r4, lbl_803CE548@ha
/* 800DFFD0 000DCF30 38 03 F7 58 */ addi r0, r3, lbl_803DF758@l
/* 800DFFD4 000DCF34 38 61 00 14 */ addi r3, r1, 0x14
/* 800DFFD8 000DCF38 90 1F 00 00 */ stw r0, 0(r31)
/* 800DFFDC 000DCF3C 38 84 E5 48 */ addi r4, r4, lbl_803CE548@l
/* 800DFFE0 000DCF40 38 A4 00 07 */ addi r5, r4, 7
/* 800DFFE4 000DCF44 80 8D A0 64 */ lwz r4, gpSimplePool@sda21(r13)
/* 800DFFE8 000DCF48 81 84 00 00 */ lwz r12, 0(r4)
/* 800DFFEC 000DCF4C 81 8C 00 10 */ lwz r12, 0x10(r12)
/* 800DFFF0 000DCF50 7D 89 03 A6 */ mtctr r12
/* 800DFFF4 000DCF54 4E 80 04 21 */ bctrl
/* 800DFFF8 000DCF58 3B DF 02 1C */ addi r30, r31, 0x21c
/* 800DFFFC 000DCF5C 38 81 00 14 */ addi r4, r1, 0x14
/* 800E0000 000DCF60 7F C3 F3 78 */ mr r3, r30
/* 800E0004 000DCF64 48 26 0E A5 */ bl __ct__6CTokenFRC6CToken
/* 800E0008 000DCF68 38 00 00 00 */ li r0, 0
/* 800E000C 000DCF6C 38 61 00 14 */ addi r3, r1, 0x14
/* 800E0010 000DCF70 90 1E 00 08 */ stw r0, 8(r30)
/* 800E0014 000DCF74 38 80 FF FF */ li r4, -1
/* 800E0018 000DCF78 48 26 0E 29 */ bl __dt__6CTokenFv
/* 800E001C 000DCF7C 80 8D A0 64 */ lwz r4, gpSimplePool@sda21(r13)
/* 800E0020 000DCF80 3C 60 80 3D */ lis r3, lbl_803CE548@ha
/* 800E0024 000DCF84 38 A3 E5 48 */ addi r5, r3, lbl_803CE548@l
/* 800E0028 000DCF88 38 61 00 0C */ addi r3, r1, 0xc
/* 800E002C 000DCF8C 81 84 00 00 */ lwz r12, 0(r4)
/* 800E0030 000DCF90 38 A5 00 11 */ addi r5, r5, 0x11
/* 800E0034 000DCF94 81 8C 00 10 */ lwz r12, 0x10(r12)
/* 800E0038 000DCF98 7D 89 03 A6 */ mtctr r12
/* 800E003C 000DCF9C 4E 80 04 21 */ bctrl
/* 800E0040 000DCFA0 3B DF 02 28 */ addi r30, r31, 0x228
/* 800E0044 000DCFA4 38 81 00 0C */ addi r4, r1, 0xc
/* 800E0048 000DCFA8 7F C3 F3 78 */ mr r3, r30
/* 800E004C 000DCFAC 48 26 0E 5D */ bl __ct__6CTokenFRC6CToken
/* 800E0050 000DCFB0 38 00 00 00 */ li r0, 0
/* 800E0054 000DCFB4 38 61 00 0C */ addi r3, r1, 0xc
/* 800E0058 000DCFB8 90 1E 00 08 */ stw r0, 8(r30)
/* 800E005C 000DCFBC 38 80 FF FF */ li r4, -1
/* 800E0060 000DCFC0 48 26 0D E1 */ bl __dt__6CTokenFv
/* 800E0064 000DCFC4 38 80 00 00 */ li r4, 0
/* 800E0068 000DCFC8 C0 02 8F 70 */ lfs f0, lbl_805AAC90@sda21(r2)
/* 800E006C 000DCFCC 90 9F 02 34 */ stw r4, 0x234(r31)
/* 800E0070 000DCFD0 7F E3 FB 78 */ mr r3, r31
/* 800E0074 000DCFD4 90 9F 02 38 */ stw r4, 0x238(r31)
/* 800E0078 000DCFD8 D0 1F 02 3C */ stfs f0, 0x23c(r31)
/* 800E007C 000DCFDC 90 9F 02 40 */ stw r4, 0x240(r31)
/* 800E0080 000DCFE0 88 1F 02 44 */ lbz r0, 0x244(r31)
/* 800E0084 000DCFE4 50 80 3E 30 */ rlwimi r0, r4, 7, 0x18, 0x18
/* 800E0088 000DCFE8 98 1F 02 44 */ stb r0, 0x244(r31)
/* 800E008C 000DCFEC 88 1F 02 44 */ lbz r0, 0x244(r31)
/* 800E0090 000DCFF0 50 80 36 72 */ rlwimi r0, r4, 6, 0x19, 0x19
/* 800E0094 000DCFF4 98 1F 02 44 */ stb r0, 0x244(r31)
/* 800E0098 000DCFF8 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 800E009C 000DCFFC 83 C1 00 28 */ lwz r30, 0x28(r1)
/* 800E00A0 000DD000 80 01 00 34 */ lwz r0, 0x34(r1)
/* 800E00A4 000DD004 7C 08 03 A6 */ mtlr r0
/* 800E00A8 000DD008 38 21 00 30 */ addi r1, r1, 0x30
/* 800E00AC 000DD00C 4E 80 00 20 */ blr

4284
asm/Kyoto_CWD/CSamusDoll.s Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,795 @@
.include "macros.inc"
.section .text, "ax" # 0x80003640 - 0x803CB1C0
.global Accept__17CScriptCameraHintFR8IVisitor
Accept__17CScriptCameraHintFR8IVisitor:
/* 800C468C 000C15EC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 800C4690 000C15F0 7C 08 02 A6 */ mflr r0
/* 800C4694 000C15F4 90 01 00 14 */ stw r0, 0x14(r1)
/* 800C4698 000C15F8 7C 60 1B 78 */ mr r0, r3
/* 800C469C 000C15FC 7C 83 23 78 */ mr r3, r4
/* 800C46A0 000C1600 81 84 00 00 */ lwz r12, 0(r4)
/* 800C46A4 000C1604 7C 04 03 78 */ mr r4, r0
/* 800C46A8 000C1608 81 8C 00 68 */ lwz r12, 0x68(r12)
/* 800C46AC 000C160C 7D 89 03 A6 */ mtctr r12
/* 800C46B0 000C1610 4E 80 04 21 */ bctrl
/* 800C46B4 000C1614 80 01 00 14 */ lwz r0, 0x14(r1)
/* 800C46B8 000C1618 7C 08 03 A6 */ mtlr r0
/* 800C46BC 000C161C 38 21 00 10 */ addi r1, r1, 0x10
/* 800C46C0 000C1620 4E 80 00 20 */ blr
.global AcceptScriptMsg__17CScriptCameraHintF20EScriptObjectMessage9TUniqueIdR13CStateManager
AcceptScriptMsg__17CScriptCameraHintF20EScriptObjectMessage9TUniqueIdR13CStateManager:
/* 800C46C4 000C1624 94 21 FF 40 */ stwu r1, -0xc0(r1)
/* 800C46C8 000C1628 7C 08 02 A6 */ mflr r0
/* 800C46CC 000C162C 90 01 00 C4 */ stw r0, 0xc4(r1)
/* 800C46D0 000C1630 BF 41 00 A8 */ stmw r26, 0xa8(r1)
/* 800C46D4 000C1634 7C 9C 23 78 */ mr r28, r4
/* 800C46D8 000C1638 2C 1C 00 22 */ cmpwi r28, 0x22
/* 800C46DC 000C163C 7C 7B 1B 78 */ mr r27, r3
/* 800C46E0 000C1640 7C BD 2B 78 */ mr r29, r5
/* 800C46E4 000C1644 7C DE 33 78 */ mr r30, r6
/* 800C46E8 000C1648 41 82 00 20 */ beq lbl_800C4708
/* 800C46EC 000C164C 40 80 00 10 */ bge lbl_800C46FC
/* 800C46F0 000C1650 2C 1C 00 04 */ cmpwi r28, 4
/* 800C46F4 000C1654 41 82 00 14 */ beq lbl_800C4708
/* 800C46F8 000C1658 48 00 00 38 */ b lbl_800C4730
lbl_800C46FC:
/* 800C46FC 000C165C 2C 1C 00 24 */ cmpwi r28, 0x24
/* 800C4700 000C1660 40 80 00 30 */ bge lbl_800C4730
/* 800C4704 000C1664 48 00 00 24 */ b lbl_800C4728
lbl_800C4708:
/* 800C4708 000C1668 A0 1B 00 08 */ lhz r0, 8(r27)
/* 800C470C 000C166C 7F C5 F3 78 */ mr r5, r30
/* 800C4710 000C1670 80 7E 08 70 */ lwz r3, 0x870(r30)
/* 800C4714 000C1674 38 81 00 38 */ addi r4, r1, 0x38
/* 800C4718 000C1678 B0 01 00 34 */ sth r0, 0x34(r1)
/* 800C471C 000C167C B0 01 00 38 */ sth r0, 0x38(r1)
/* 800C4720 000C1680 4B F4 4E 5D */ bl DeleteCameraHint__14CCameraManagerF9TUniqueIdR13CStateManager
/* 800C4724 000C1684 48 00 00 0C */ b lbl_800C4730
lbl_800C4728:
/* 800C4728 000C1688 7F C4 F3 78 */ mr r4, r30
/* 800C472C 000C168C 48 00 02 79 */ bl InitializeInArea__17CScriptCameraHintFR13CStateManager
lbl_800C4730:
/* 800C4730 000C1690 88 1B 00 30 */ lbz r0, 0x30(r27)
/* 800C4734 000C1694 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 800C4738 000C1698 41 82 00 98 */ beq lbl_800C47D0
/* 800C473C 000C169C 2C 1C 00 06 */ cmpwi r28, 6
/* 800C4740 000C16A0 83 FE 08 70 */ lwz r31, 0x870(r30)
/* 800C4744 000C16A4 41 82 00 8C */ beq lbl_800C47D0
/* 800C4748 000C16A8 40 80 00 10 */ bge lbl_800C4758
/* 800C474C 000C16AC 2C 1C 00 05 */ cmpwi r28, 5
/* 800C4750 000C16B0 40 80 00 4C */ bge lbl_800C479C
/* 800C4754 000C16B4 48 00 00 7C */ b lbl_800C47D0
lbl_800C4758:
/* 800C4758 000C16B8 2C 1C 00 08 */ cmpwi r28, 8
/* 800C475C 000C16BC 40 80 00 74 */ bge lbl_800C47D0
/* 800C4760 000C16C0 A0 1D 00 00 */ lhz r0, 0(r29)
/* 800C4764 000C16C4 7F 63 DB 78 */ mr r3, r27
/* 800C4768 000C16C8 38 81 00 30 */ addi r4, r1, 0x30
/* 800C476C 000C16CC B0 01 00 30 */ sth r0, 0x30(r1)
/* 800C4770 000C16D0 48 00 05 F9 */ bl AddHelper__17CScriptCameraHintF9TUniqueId
/* 800C4774 000C16D4 A0 1B 00 08 */ lhz r0, 8(r27)
/* 800C4778 000C16D8 7F E3 FB 78 */ mr r3, r31
/* 800C477C 000C16DC 7F C5 F3 78 */ mr r5, r30
/* 800C4780 000C16E0 38 81 00 2C */ addi r4, r1, 0x2c
/* 800C4784 000C16E4 B0 01 00 28 */ sth r0, 0x28(r1)
/* 800C4788 000C16E8 B0 01 00 2C */ sth r0, 0x2c(r1)
/* 800C478C 000C16EC 4B F4 4E D9 */ bl AddActiveCameraHint__14CCameraManagerF9TUniqueIdR13CStateManager
/* 800C4790 000C16F0 38 00 00 00 */ li r0, 0
/* 800C4794 000C16F4 98 1B 01 66 */ stb r0, 0x166(r27)
/* 800C4798 000C16F8 48 00 00 38 */ b lbl_800C47D0
lbl_800C479C:
/* 800C479C 000C16FC A0 1D 00 00 */ lhz r0, 0(r29)
/* 800C47A0 000C1700 7F 63 DB 78 */ mr r3, r27
/* 800C47A4 000C1704 7F C5 F3 78 */ mr r5, r30
/* 800C47A8 000C1708 38 81 00 24 */ addi r4, r1, 0x24
/* 800C47AC 000C170C B0 01 00 24 */ sth r0, 0x24(r1)
/* 800C47B0 000C1710 48 00 04 E9 */ bl RemoveHelper__17CScriptCameraHintF9TUniqueId
/* 800C47B4 000C1714 A0 1B 00 08 */ lhz r0, 8(r27)
/* 800C47B8 000C1718 7F E3 FB 78 */ mr r3, r31
/* 800C47BC 000C171C 7F C5 F3 78 */ mr r5, r30
/* 800C47C0 000C1720 38 81 00 20 */ addi r4, r1, 0x20
/* 800C47C4 000C1724 B0 01 00 1C */ sth r0, 0x1c(r1)
/* 800C47C8 000C1728 B0 01 00 20 */ sth r0, 0x20(r1)
/* 800C47CC 000C172C 4B F4 4C F5 */ bl AddInactiveCameraHint__14CCameraManagerF9TUniqueIdR13CStateManager
lbl_800C47D0:
/* 800C47D0 000C1730 2C 1C 00 06 */ cmpwi r28, 6
/* 800C47D4 000C1734 83 FE 08 70 */ lwz r31, 0x870(r30)
/* 800C47D8 000C1738 41 82 00 08 */ beq lbl_800C47E0
/* 800C47DC 000C173C 48 00 01 98 */ b lbl_800C4974
lbl_800C47E0:
/* 800C47E0 000C1740 88 1B 00 30 */ lbz r0, 0x30(r27)
/* 800C47E4 000C1744 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 800C47E8 000C1748 40 82 01 5C */ bne lbl_800C4944
/* 800C47EC 000C174C 7F 63 DB 78 */ mr r3, r27
/* 800C47F0 000C1750 38 80 00 01 */ li r4, 1
/* 800C47F4 000C1754 81 9B 00 00 */ lwz r12, 0(r27)
/* 800C47F8 000C1758 81 8C 00 1C */ lwz r12, 0x1c(r12)
/* 800C47FC 000C175C 7D 89 03 A6 */ mtctr r12
/* 800C4800 000C1760 4E 80 04 21 */ bctrl
/* 800C4804 000C1764 A0 1D 00 00 */ lhz r0, 0(r29)
/* 800C4808 000C1768 7F C3 F3 78 */ mr r3, r30
/* 800C480C 000C176C 38 81 00 18 */ addi r4, r1, 0x18
/* 800C4810 000C1770 B0 01 00 18 */ sth r0, 0x18(r1)
/* 800C4814 000C1774 4B F8 7D 91 */ bl GetObjectById__13CStateManagerCF9TUniqueId
/* 800C4818 000C1778 7C 64 1B 78 */ mr r4, r3
/* 800C481C 000C177C 38 61 00 3C */ addi r3, r1, 0x3c
/* 800C4820 000C1780 4B FE B4 71 */ bl "__ct__19TCastToPtr<6CActor>FP7CEntity"
/* 800C4824 000C1784 83 43 00 04 */ lwz r26, 4(r3)
/* 800C4828 000C1788 28 1A 00 00 */ cmplwi r26, 0
/* 800C482C 000C178C 41 82 01 18 */ beq lbl_800C4944
/* 800C4830 000C1790 C0 3B 01 94 */ lfs f1, 0x194(r27)
/* 800C4834 000C1794 38 61 00 68 */ addi r3, r1, 0x68
/* 800C4838 000C1798 C0 1A 00 60 */ lfs f0, 0x60(r26)
/* 800C483C 000C179C C0 9B 01 84 */ lfs f4, 0x184(r27)
/* 800C4840 000C17A0 C0 7A 00 50 */ lfs f3, 0x50(r26)
/* 800C4844 000C17A4 EC A1 00 28 */ fsubs f5, f1, f0
/* 800C4848 000C17A8 C0 5B 01 74 */ lfs f2, 0x174(r27)
/* 800C484C 000C17AC C0 3A 00 40 */ lfs f1, 0x40(r26)
/* 800C4850 000C17B0 EC 64 18 28 */ fsubs f3, f4, f3
/* 800C4854 000C17B4 C0 02 8E 20 */ lfs f0, lbl_805AAB40@sda21(r2)
/* 800C4858 000C17B8 EC 22 08 28 */ fsubs f1, f2, f1
/* 800C485C 000C17BC D0 A1 00 70 */ stfs f5, 0x70(r1)
/* 800C4860 000C17C0 D0 61 00 6C */ stfs f3, 0x6c(r1)
/* 800C4864 000C17C4 D0 21 00 68 */ stfs f1, 0x68(r1)
/* 800C4868 000C17C8 D0 01 00 70 */ stfs f0, 0x70(r1)
/* 800C486C 000C17CC 48 24 FE 8D */ bl CanBeNormalized__9CVector3fCFv
/* 800C4870 000C17D0 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 800C4874 000C17D4 41 82 00 10 */ beq lbl_800C4884
/* 800C4878 000C17D8 38 61 00 68 */ addi r3, r1, 0x68
/* 800C487C 000C17DC 48 25 00 7D */ bl Normalize__9CVector3fFv
/* 800C4880 000C17E0 48 00 00 1C */ b lbl_800C489C
lbl_800C4884:
/* 800C4884 000C17E4 C0 5A 00 58 */ lfs f2, 0x58(r26)
/* 800C4888 000C17E8 C0 3A 00 48 */ lfs f1, 0x48(r26)
/* 800C488C 000C17EC C0 1A 00 38 */ lfs f0, 0x38(r26)
/* 800C4890 000C17F0 D0 01 00 68 */ stfs f0, 0x68(r1)
/* 800C4894 000C17F4 D0 21 00 6C */ stfs f1, 0x6c(r1)
/* 800C4898 000C17F8 D0 41 00 70 */ stfs f2, 0x70(r1)
lbl_800C489C:
/* 800C489C 000C17FC C0 9A 00 60 */ lfs f4, 0x60(r26)
/* 800C48A0 000C1800 3C 60 80 5A */ lis r3, lbl_805A66F4@ha
/* 800C48A4 000C1804 C0 7A 00 50 */ lfs f3, 0x50(r26)
/* 800C48A8 000C1808 38 C3 66 F4 */ addi r6, r3, lbl_805A66F4@l
/* 800C48AC 000C180C C0 5A 00 40 */ lfs f2, 0x40(r26)
/* 800C48B0 000C1810 38 61 00 74 */ addi r3, r1, 0x74
/* 800C48B4 000C1814 C0 01 00 68 */ lfs f0, 0x68(r1)
/* 800C48B8 000C1818 38 81 00 5C */ addi r4, r1, 0x5c
/* 800C48BC 000C181C D0 41 00 5C */ stfs f2, 0x5c(r1)
/* 800C48C0 000C1820 38 A1 00 44 */ addi r5, r1, 0x44
/* 800C48C4 000C1824 C0 21 00 6C */ lfs f1, 0x6c(r1)
/* 800C48C8 000C1828 EC 02 00 2A */ fadds f0, f2, f0
/* 800C48CC 000C182C D0 61 00 60 */ stfs f3, 0x60(r1)
/* 800C48D0 000C1830 EC C3 08 2A */ fadds f6, f3, f1
/* 800C48D4 000C1834 C0 21 00 70 */ lfs f1, 0x70(r1)
/* 800C48D8 000C1838 D0 81 00 64 */ stfs f4, 0x64(r1)
/* 800C48DC 000C183C C0 BB 01 94 */ lfs f5, 0x194(r27)
/* 800C48E0 000C1840 C0 9B 01 84 */ lfs f4, 0x184(r27)
/* 800C48E4 000C1844 C0 7B 01 74 */ lfs f3, 0x174(r27)
/* 800C48E8 000C1848 FC 40 28 18 */ frsp f2, f5
/* 800C48EC 000C184C D0 81 00 54 */ stfs f4, 0x54(r1)
/* 800C48F0 000C1850 EC 22 08 2A */ fadds f1, f2, f1
/* 800C48F4 000C1854 D0 61 00 50 */ stfs f3, 0x50(r1)
/* 800C48F8 000C1858 D0 A1 00 58 */ stfs f5, 0x58(r1)
/* 800C48FC 000C185C D0 A1 00 64 */ stfs f5, 0x64(r1)
/* 800C4900 000C1860 D0 01 00 44 */ stfs f0, 0x44(r1)
/* 800C4904 000C1864 D0 C1 00 48 */ stfs f6, 0x48(r1)
/* 800C4908 000C1868 D0 21 00 4C */ stfs f1, 0x4c(r1)
/* 800C490C 000C186C 48 24 F2 05 */ bl LookAt__12CTransform4fFRC9CVector3fRC9CVector3fRC9CVector3f
/* 800C4910 000C1870 38 7B 00 34 */ addi r3, r27, 0x34
/* 800C4914 000C1874 38 81 00 74 */ addi r4, r1, 0x74
/* 800C4918 000C1878 48 24 E2 29 */ bl __as__12CTransform4fFRC12CTransform4f
/* 800C491C 000C187C 88 1B 00 E4 */ lbz r0, 0xe4(r27)
/* 800C4920 000C1880 38 60 00 01 */ li r3, 1
/* 800C4924 000C1884 50 60 26 F6 */ rlwimi r0, r3, 4, 0x1b, 0x1b
/* 800C4928 000C1888 98 1B 00 E4 */ stb r0, 0xe4(r27)
/* 800C492C 000C188C 88 1B 00 E4 */ lbz r0, 0xe4(r27)
/* 800C4930 000C1890 50 60 1F 38 */ rlwimi r0, r3, 3, 0x1c, 0x1c
/* 800C4934 000C1894 98 1B 00 E4 */ stb r0, 0xe4(r27)
/* 800C4938 000C1898 88 1B 00 E4 */ lbz r0, 0xe4(r27)
/* 800C493C 000C189C 50 60 17 7A */ rlwimi r0, r3, 2, 0x1d, 0x1d
/* 800C4940 000C18A0 98 1B 00 E4 */ stb r0, 0xe4(r27)
lbl_800C4944:
/* 800C4944 000C18A4 A0 1D 00 00 */ lhz r0, 0(r29)
/* 800C4948 000C18A8 7F 63 DB 78 */ mr r3, r27
/* 800C494C 000C18AC 38 81 00 14 */ addi r4, r1, 0x14
/* 800C4950 000C18B0 B0 01 00 14 */ sth r0, 0x14(r1)
/* 800C4954 000C18B4 48 00 04 15 */ bl AddHelper__17CScriptCameraHintF9TUniqueId
/* 800C4958 000C18B8 A0 1B 00 08 */ lhz r0, 8(r27)
/* 800C495C 000C18BC 7F E3 FB 78 */ mr r3, r31
/* 800C4960 000C18C0 7F C5 F3 78 */ mr r5, r30
/* 800C4964 000C18C4 38 81 00 10 */ addi r4, r1, 0x10
/* 800C4968 000C18C8 B0 01 00 0C */ sth r0, 0xc(r1)
/* 800C496C 000C18CC B0 01 00 10 */ sth r0, 0x10(r1)
/* 800C4970 000C18D0 4B F4 4C F5 */ bl AddActiveCameraHint__14CCameraManagerF9TUniqueIdR13CStateManager
lbl_800C4974:
/* 800C4974 000C18D4 A0 1D 00 00 */ lhz r0, 0(r29)
/* 800C4978 000C18D8 7F 63 DB 78 */ mr r3, r27
/* 800C497C 000C18DC 7F 84 E3 78 */ mr r4, r28
/* 800C4980 000C18E0 7F C6 F3 78 */ mr r6, r30
/* 800C4984 000C18E4 B0 01 00 08 */ sth r0, 8(r1)
/* 800C4988 000C18E8 38 A1 00 08 */ addi r5, r1, 8
/* 800C498C 000C18EC 4B F8 EC 89 */ bl AcceptScriptMsg__6CActorF20EScriptObjectMessage9TUniqueIdR13CStateManager
/* 800C4990 000C18F0 BB 41 00 A8 */ lmw r26, 0xa8(r1)
/* 800C4994 000C18F4 80 01 00 C4 */ lwz r0, 0xc4(r1)
/* 800C4998 000C18F8 7C 08 03 A6 */ mtlr r0
/* 800C499C 000C18FC 38 21 00 C0 */ addi r1, r1, 0xc0
/* 800C49A0 000C1900 4E 80 00 20 */ blr
.global InitializeInArea__17CScriptCameraHintFR13CStateManager
InitializeInArea__17CScriptCameraHintFR13CStateManager:
/* 800C49A4 000C1904 94 21 FF 90 */ stwu r1, -0x70(r1)
/* 800C49A8 000C1908 7C 08 02 A6 */ mflr r0
/* 800C49AC 000C190C 90 01 00 74 */ stw r0, 0x74(r1)
/* 800C49B0 000C1910 BF 21 00 54 */ stmw r25, 0x54(r1)
/* 800C49B4 000C1914 7C 7A 1B 78 */ mr r26, r3
/* 800C49B8 000C1918 7C 9B 23 78 */ mr r27, r4
/* 800C49BC 000C191C 83 E4 08 10 */ lwz r31, 0x810(r4)
/* 800C49C0 000C1920 A3 A3 00 08 */ lhz r29, 8(r3)
/* 800C49C4 000C1924 A0 0D A3 8C */ lhz r0, lbl_805A8F4C@sda21(r13)
/* 800C49C8 000C1928 B0 03 01 64 */ sth r0, 0x164(r3)
/* 800C49CC 000C192C AB 9F 20 08 */ lha r28, 0x2008(r31)
/* 800C49D0 000C1930 48 00 01 AC */ b lbl_800C4B7C
lbl_800C49D4:
/* 800C49D4 000C1934 7F E3 FB 78 */ mr r3, r31
/* 800C49D8 000C1938 7F 84 E3 78 */ mr r4, r28
/* 800C49DC 000C193C 4B F4 B3 39 */ bl __vc__11CObjectListFi
/* 800C49E0 000C1940 7C 64 1B 78 */ mr r4, r3
/* 800C49E4 000C1944 38 61 00 40 */ addi r3, r1, 0x40
/* 800C49E8 000C1948 4B FE 9F CD */ bl "__ct__20TCastToPtr<7CEntity>FP7CEntity"
/* 800C49EC 000C194C 80 63 00 04 */ lwz r3, 4(r3)
/* 800C49F0 000C1950 28 03 00 00 */ cmplwi r3, 0
/* 800C49F4 000C1954 41 82 01 6C */ beq lbl_800C4B60
/* 800C49F8 000C1958 3B C3 00 20 */ addi r30, r3, 0x20
/* 800C49FC 000C195C 83 23 00 2C */ lwz r25, 0x2c(r3)
/* 800C4A00 000C1960 48 00 01 48 */ b lbl_800C4B48
lbl_800C4A04:
/* 800C4A04 000C1964 80 19 00 08 */ lwz r0, 8(r25)
/* 800C4A08 000C1968 7F 64 DB 78 */ mr r4, r27
/* 800C4A0C 000C196C 38 61 00 14 */ addi r3, r1, 0x14
/* 800C4A10 000C1970 38 A1 00 28 */ addi r5, r1, 0x28
/* 800C4A14 000C1974 90 01 00 28 */ stw r0, 0x28(r1)
/* 800C4A18 000C1978 4B F8 35 05 */ bl GetIdForScript__13CStateManagerCF9TEditorId
/* 800C4A1C 000C197C A0 01 00 14 */ lhz r0, 0x14(r1)
/* 800C4A20 000C1980 7C 00 E8 40 */ cmplw r0, r29
/* 800C4A24 000C1984 40 82 01 20 */ bne lbl_800C4B44
/* 800C4A28 000C1988 80 19 00 04 */ lwz r0, 4(r25)
/* 800C4A2C 000C198C 2C 00 00 07 */ cmpwi r0, 7
/* 800C4A30 000C1990 41 82 00 0C */ beq lbl_800C4A3C
/* 800C4A34 000C1994 2C 00 00 05 */ cmpwi r0, 5
/* 800C4A38 000C1998 40 82 01 0C */ bne lbl_800C4B44
lbl_800C4A3C:
/* 800C4A3C 000C199C 80 1E 00 0C */ lwz r0, 0xc(r30)
/* 800C4A40 000C19A0 90 01 00 2C */ stw r0, 0x2c(r1)
/* 800C4A44 000C19A4 48 00 00 E0 */ b lbl_800C4B24
lbl_800C4A48:
/* 800C4A48 000C19A8 80 61 00 2C */ lwz r3, 0x2c(r1)
/* 800C4A4C 000C19AC 80 03 00 04 */ lwz r0, 4(r3)
/* 800C4A50 000C19B0 2C 00 00 07 */ cmpwi r0, 7
/* 800C4A54 000C19B4 41 82 00 0C */ beq lbl_800C4A60
/* 800C4A58 000C19B8 2C 00 00 05 */ cmpwi r0, 5
/* 800C4A5C 000C19BC 40 82 00 BC */ bne lbl_800C4B18
lbl_800C4A60:
/* 800C4A60 000C19C0 80 C1 00 2C */ lwz r6, 0x2c(r1)
/* 800C4A64 000C19C4 7F 64 DB 78 */ mr r4, r27
/* 800C4A68 000C19C8 38 61 00 10 */ addi r3, r1, 0x10
/* 800C4A6C 000C19CC 38 A1 00 24 */ addi r5, r1, 0x24
/* 800C4A70 000C19D0 80 06 00 08 */ lwz r0, 8(r6)
/* 800C4A74 000C19D4 90 01 00 24 */ stw r0, 0x24(r1)
/* 800C4A78 000C19D8 4B F8 34 A5 */ bl GetIdForScript__13CStateManagerCF9TEditorId
/* 800C4A7C 000C19DC A0 01 00 10 */ lhz r0, 0x10(r1)
/* 800C4A80 000C19E0 7F 63 DB 78 */ mr r3, r27
/* 800C4A84 000C19E4 38 81 00 0C */ addi r4, r1, 0xc
/* 800C4A88 000C19E8 B0 01 00 18 */ sth r0, 0x18(r1)
/* 800C4A8C 000C19EC B0 01 00 0C */ sth r0, 0xc(r1)
/* 800C4A90 000C19F0 4B F8 7A E5 */ bl ObjectById__13CStateManagerF9TUniqueId
/* 800C4A94 000C19F4 7C 64 1B 78 */ mr r4, r3
/* 800C4A98 000C19F8 38 61 00 38 */ addi r3, r1, 0x38
/* 800C4A9C 000C19FC 4B FE 83 39 */ bl "__ct__25TCastToPtr<11CPathCamera>FP7CEntity"
/* 800C4AA0 000C1A00 83 23 00 04 */ lwz r25, 4(r3)
/* 800C4AA4 000C1A04 7F 63 DB 78 */ mr r3, r27
/* 800C4AA8 000C1A08 A0 01 00 18 */ lhz r0, 0x18(r1)
/* 800C4AAC 000C1A0C 38 81 00 08 */ addi r4, r1, 8
/* 800C4AB0 000C1A10 B0 01 00 08 */ sth r0, 8(r1)
/* 800C4AB4 000C1A14 4B F8 7A C1 */ bl ObjectById__13CStateManagerF9TUniqueId
/* 800C4AB8 000C1A18 7C 64 1B 78 */ mr r4, r3
/* 800C4ABC 000C1A1C 38 61 00 30 */ addi r3, r1, 0x30
/* 800C4AC0 000C1A20 4B FE 14 65 */ bl "__ct__34TCastToPtr<20CScriptSpindleCamera>FP7CEntity"
/* 800C4AC4 000C1A24 28 19 00 00 */ cmplwi r25, 0
/* 800C4AC8 000C1A28 80 03 00 04 */ lwz r0, 4(r3)
/* 800C4ACC 000C1A2C 40 82 00 0C */ bne lbl_800C4AD8
/* 800C4AD0 000C1A30 28 00 00 00 */ cmplwi r0, 0
/* 800C4AD4 000C1A34 41 82 00 34 */ beq lbl_800C4B08
lbl_800C4AD8:
/* 800C4AD8 000C1A38 80 01 00 2C */ lwz r0, 0x2c(r1)
/* 800C4ADC 000C1A3C 7F C4 F3 78 */ mr r4, r30
/* 800C4AE0 000C1A40 38 61 00 20 */ addi r3, r1, 0x20
/* 800C4AE4 000C1A44 38 A1 00 1C */ addi r5, r1, 0x1c
/* 800C4AE8 000C1A48 90 01 00 1C */ stw r0, 0x1c(r1)
/* 800C4AEC 000C1A4C 48 00 00 AD */ bl sub_800c4b98
/* 800C4AF0 000C1A50 A0 7A 01 64 */ lhz r3, 0x164(r26)
/* 800C4AF4 000C1A54 A0 01 00 18 */ lhz r0, 0x18(r1)
/* 800C4AF8 000C1A58 7C 03 00 40 */ cmplw r3, r0
/* 800C4AFC 000C1A5C 41 82 00 64 */ beq lbl_800C4B60
/* 800C4B00 000C1A60 B0 1A 01 64 */ sth r0, 0x164(r26)
/* 800C4B04 000C1A64 48 00 00 5C */ b lbl_800C4B60
lbl_800C4B08:
/* 800C4B08 000C1A68 80 61 00 2C */ lwz r3, 0x2c(r1)
/* 800C4B0C 000C1A6C 38 03 00 0C */ addi r0, r3, 0xc
/* 800C4B10 000C1A70 90 01 00 2C */ stw r0, 0x2c(r1)
/* 800C4B14 000C1A74 48 00 00 10 */ b lbl_800C4B24
lbl_800C4B18:
/* 800C4B18 000C1A78 80 61 00 2C */ lwz r3, 0x2c(r1)
/* 800C4B1C 000C1A7C 38 03 00 0C */ addi r0, r3, 0xc
/* 800C4B20 000C1A80 90 01 00 2C */ stw r0, 0x2c(r1)
lbl_800C4B24:
/* 800C4B24 000C1A84 80 1E 00 04 */ lwz r0, 4(r30)
/* 800C4B28 000C1A88 80 7E 00 0C */ lwz r3, 0xc(r30)
/* 800C4B2C 000C1A8C 1C 00 00 0C */ mulli r0, r0, 0xc
/* 800C4B30 000C1A90 80 81 00 2C */ lwz r4, 0x2c(r1)
/* 800C4B34 000C1A94 7C 03 02 14 */ add r0, r3, r0
/* 800C4B38 000C1A98 7C 04 00 40 */ cmplw r4, r0
/* 800C4B3C 000C1A9C 40 82 FF 0C */ bne lbl_800C4A48
/* 800C4B40 000C1AA0 48 00 00 20 */ b lbl_800C4B60
lbl_800C4B44:
/* 800C4B44 000C1AA4 3B 39 00 0C */ addi r25, r25, 0xc
lbl_800C4B48:
/* 800C4B48 000C1AA8 80 1E 00 04 */ lwz r0, 4(r30)
/* 800C4B4C 000C1AAC 80 7E 00 0C */ lwz r3, 0xc(r30)
/* 800C4B50 000C1AB0 1C 00 00 0C */ mulli r0, r0, 0xc
/* 800C4B54 000C1AB4 7C 03 02 14 */ add r0, r3, r0
/* 800C4B58 000C1AB8 7C 19 00 40 */ cmplw r25, r0
/* 800C4B5C 000C1ABC 40 82 FE A8 */ bne lbl_800C4A04
lbl_800C4B60:
/* 800C4B60 000C1AC0 2C 1C FF FF */ cmpwi r28, -1
/* 800C4B64 000C1AC4 41 82 00 14 */ beq lbl_800C4B78
/* 800C4B68 000C1AC8 57 83 18 38 */ slwi r3, r28, 3
/* 800C4B6C 000C1ACC 38 03 00 08 */ addi r0, r3, 8
/* 800C4B70 000C1AD0 7F 9F 02 AE */ lhax r28, r31, r0
/* 800C4B74 000C1AD4 48 00 00 08 */ b lbl_800C4B7C
lbl_800C4B78:
/* 800C4B78 000C1AD8 3B 80 FF FF */ li r28, -1
lbl_800C4B7C:
/* 800C4B7C 000C1ADC 2C 1C FF FF */ cmpwi r28, -1
/* 800C4B80 000C1AE0 40 82 FE 54 */ bne lbl_800C49D4
/* 800C4B84 000C1AE4 BB 21 00 54 */ lmw r25, 0x54(r1)
/* 800C4B88 000C1AE8 80 01 00 74 */ lwz r0, 0x74(r1)
/* 800C4B8C 000C1AEC 7C 08 03 A6 */ mtlr r0
/* 800C4B90 000C1AF0 38 21 00 70 */ addi r1, r1, 0x70
/* 800C4B94 000C1AF4 4E 80 00 20 */ blr
.global sub_800c4b98
sub_800c4b98:
/* 800C4B98 000C1AF8 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 800C4B9C 000C1AFC 7C 08 02 A6 */ mflr r0
/* 800C4BA0 000C1B00 90 01 00 24 */ stw r0, 0x24(r1)
/* 800C4BA4 000C1B04 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 800C4BA8 000C1B08 7C 7F 1B 78 */ mr r31, r3
/* 800C4BAC 000C1B0C 80 C5 00 00 */ lwz r6, 0(r5)
/* 800C4BB0 000C1B10 80 05 00 00 */ lwz r0, 0(r5)
/* 800C4BB4 000C1B14 38 A1 00 10 */ addi r5, r1, 0x10
/* 800C4BB8 000C1B18 38 E6 00 0C */ addi r7, r6, 0xc
/* 800C4BBC 000C1B1C 38 C1 00 0C */ addi r6, r1, 0xc
/* 800C4BC0 000C1B20 90 E1 00 08 */ stw r7, 8(r1)
/* 800C4BC4 000C1B24 90 E1 00 0C */ stw r7, 0xc(r1)
/* 800C4BC8 000C1B28 90 01 00 10 */ stw r0, 0x10(r1)
/* 800C4BCC 000C1B2C 48 00 00 19 */ bl sub_800c4be4
/* 800C4BD0 000C1B30 80 01 00 24 */ lwz r0, 0x24(r1)
/* 800C4BD4 000C1B34 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 800C4BD8 000C1B38 7C 08 03 A6 */ mtlr r0
/* 800C4BDC 000C1B3C 38 21 00 20 */ addi r1, r1, 0x20
/* 800C4BE0 000C1B40 4E 80 00 20 */ blr
.global sub_800c4be4
sub_800c4be4:
/* 800C4BE4 000C1B44 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 800C4BE8 000C1B48 80 E5 00 00 */ lwz r7, 0(r5)
/* 800C4BEC 000C1B4C 80 06 00 00 */ lwz r0, 0(r6)
/* 800C4BF0 000C1B50 90 E1 00 0C */ stw r7, 0xc(r1)
/* 800C4BF4 000C1B54 90 01 00 08 */ stw r0, 8(r1)
/* 800C4BF8 000C1B58 48 00 00 08 */ b lbl_800C4C00
lbl_800C4BFC:
/* 800C4BFC 000C1B5C 38 E7 00 0C */ addi r7, r7, 0xc
lbl_800C4C00:
/* 800C4C00 000C1B60 7C 07 00 40 */ cmplw r7, r0
/* 800C4C04 000C1B64 40 82 FF F8 */ bne lbl_800C4BFC
/* 800C4C08 000C1B68 81 24 00 0C */ lwz r9, 0xc(r4)
/* 800C4C0C 000C1B6C 3C E0 2A AB */ lis r7, 0x2AAAAAAB@ha
/* 800C4C10 000C1B70 80 05 00 00 */ lwz r0, 0(r5)
/* 800C4C14 000C1B74 38 E7 AA AB */ addi r7, r7, 0x2AAAAAAB@l
/* 800C4C18 000C1B78 81 06 00 00 */ lwz r8, 0(r6)
/* 800C4C1C 000C1B7C 7C 09 00 50 */ subf r0, r9, r0
/* 800C4C20 000C1B80 7C 07 00 96 */ mulhw r0, r7, r0
/* 800C4C24 000C1B84 7C 00 0E 70 */ srawi r0, r0, 1
/* 800C4C28 000C1B88 54 06 0F FE */ srwi r6, r0, 0x1f
/* 800C4C2C 000C1B8C 7C C0 32 14 */ add r6, r0, r6
/* 800C4C30 000C1B90 1C 06 00 0C */ mulli r0, r6, 0xc
/* 800C4C34 000C1B94 7C CA 33 78 */ mr r10, r6
/* 800C4C38 000C1B98 7C E9 02 14 */ add r7, r9, r0
/* 800C4C3C 000C1B9C 48 00 00 30 */ b lbl_800C4C6C
lbl_800C4C40:
/* 800C4C40 000C1BA0 28 07 00 00 */ cmplwi r7, 0
/* 800C4C44 000C1BA4 41 82 00 1C */ beq lbl_800C4C60
/* 800C4C48 000C1BA8 80 08 00 00 */ lwz r0, 0(r8)
/* 800C4C4C 000C1BAC 90 07 00 00 */ stw r0, 0(r7)
/* 800C4C50 000C1BB0 80 08 00 04 */ lwz r0, 4(r8)
/* 800C4C54 000C1BB4 90 07 00 04 */ stw r0, 4(r7)
/* 800C4C58 000C1BB8 80 08 00 08 */ lwz r0, 8(r8)
/* 800C4C5C 000C1BBC 90 07 00 08 */ stw r0, 8(r7)
lbl_800C4C60:
/* 800C4C60 000C1BC0 38 E7 00 0C */ addi r7, r7, 0xc
/* 800C4C64 000C1BC4 39 4A 00 01 */ addi r10, r10, 1
/* 800C4C68 000C1BC8 39 08 00 0C */ addi r8, r8, 0xc
lbl_800C4C6C:
/* 800C4C6C 000C1BCC 80 04 00 04 */ lwz r0, 4(r4)
/* 800C4C70 000C1BD0 80 C4 00 0C */ lwz r6, 0xc(r4)
/* 800C4C74 000C1BD4 1C 00 00 0C */ mulli r0, r0, 0xc
/* 800C4C78 000C1BD8 7C 06 02 14 */ add r0, r6, r0
/* 800C4C7C 000C1BDC 7C 08 00 40 */ cmplw r8, r0
/* 800C4C80 000C1BE0 40 82 FF C0 */ bne lbl_800C4C40
/* 800C4C84 000C1BE4 91 44 00 04 */ stw r10, 4(r4)
/* 800C4C88 000C1BE8 80 05 00 00 */ lwz r0, 0(r5)
/* 800C4C8C 000C1BEC 90 03 00 00 */ stw r0, 0(r3)
/* 800C4C90 000C1BF0 38 21 00 10 */ addi r1, r1, 0x10
/* 800C4C94 000C1BF4 4E 80 00 20 */ blr
.global RemoveHelper__17CScriptCameraHintF9TUniqueId
RemoveHelper__17CScriptCameraHintF9TUniqueId:
/* 800C4C98 000C1BF8 80 03 01 50 */ lwz r0, 0x150(r3)
/* 800C4C9C 000C1BFC 2C 00 00 00 */ cmpwi r0, 0
/* 800C4CA0 000C1C00 4D 82 00 20 */ beqlr
/* 800C4CA4 000C1C04 38 E3 01 54 */ addi r7, r3, 0x154
/* 800C4CA8 000C1C08 54 00 08 3C */ slwi r0, r0, 1
/* 800C4CAC 000C1C0C 7C E6 3B 78 */ mr r6, r7
/* 800C4CB0 000C1C10 7D 07 02 14 */ add r8, r7, r0
/* 800C4CB4 000C1C14 48 00 00 08 */ b lbl_800C4CBC
lbl_800C4CB8:
/* 800C4CB8 000C1C18 38 C6 00 02 */ addi r6, r6, 2
lbl_800C4CBC:
/* 800C4CBC 000C1C1C 7C 06 40 40 */ cmplw r6, r8
/* 800C4CC0 000C1C20 41 82 00 14 */ beq lbl_800C4CD4
/* 800C4CC4 000C1C24 A0 A6 00 00 */ lhz r5, 0(r6)
/* 800C4CC8 000C1C28 A0 04 00 00 */ lhz r0, 0(r4)
/* 800C4CCC 000C1C2C 7C 05 00 40 */ cmplw r5, r0
/* 800C4CD0 000C1C30 40 82 FF E8 */ bne lbl_800C4CB8
lbl_800C4CD4:
/* 800C4CD4 000C1C34 7C 06 40 40 */ cmplw r6, r8
/* 800C4CD8 000C1C38 40 82 00 4C */ bne lbl_800C4D24
/* 800C4CDC 000C1C3C 7C 07 38 40 */ cmplw r7, r7
/* 800C4CE0 000C1C40 4D 80 00 20 */ bltlr
/* 800C4CE4 000C1C44 7C 07 40 40 */ cmplw r7, r8
/* 800C4CE8 000C1C48 4C 80 00 20 */ bgelr
/* 800C4CEC 000C1C4C 7C E6 3B 78 */ mr r6, r7
/* 800C4CF0 000C1C50 48 00 00 10 */ b lbl_800C4D00
lbl_800C4CF4:
/* 800C4CF4 000C1C54 A0 06 00 02 */ lhz r0, 2(r6)
/* 800C4CF8 000C1C58 B0 06 00 00 */ sth r0, 0(r6)
/* 800C4CFC 000C1C5C 38 C6 00 02 */ addi r6, r6, 2
lbl_800C4D00:
/* 800C4D00 000C1C60 80 A3 01 50 */ lwz r5, 0x150(r3)
/* 800C4D04 000C1C64 54 A4 08 3C */ slwi r4, r5, 1
/* 800C4D08 000C1C68 38 04 FF FE */ addi r0, r4, -2
/* 800C4D0C 000C1C6C 7C 07 02 14 */ add r0, r7, r0
/* 800C4D10 000C1C70 7C 06 00 40 */ cmplw r6, r0
/* 800C4D14 000C1C74 41 80 FF E0 */ blt lbl_800C4CF4
/* 800C4D18 000C1C78 38 05 FF FF */ addi r0, r5, -1
/* 800C4D1C 000C1C7C 90 03 01 50 */ stw r0, 0x150(r3)
/* 800C4D20 000C1C80 4E 80 00 20 */ blr
lbl_800C4D24:
/* 800C4D24 000C1C84 7C 06 38 40 */ cmplw r6, r7
/* 800C4D28 000C1C88 4D 80 00 20 */ bltlr
/* 800C4D2C 000C1C8C 7C 06 40 40 */ cmplw r6, r8
/* 800C4D30 000C1C90 4C 80 00 20 */ bgelr
/* 800C4D34 000C1C94 48 00 00 10 */ b lbl_800C4D44
lbl_800C4D38:
/* 800C4D38 000C1C98 A0 06 00 02 */ lhz r0, 2(r6)
/* 800C4D3C 000C1C9C B0 06 00 00 */ sth r0, 0(r6)
/* 800C4D40 000C1CA0 38 C6 00 02 */ addi r6, r6, 2
lbl_800C4D44:
/* 800C4D44 000C1CA4 80 A3 01 50 */ lwz r5, 0x150(r3)
/* 800C4D48 000C1CA8 54 A4 08 3C */ slwi r4, r5, 1
/* 800C4D4C 000C1CAC 38 04 FF FE */ addi r0, r4, -2
/* 800C4D50 000C1CB0 7C 07 02 14 */ add r0, r7, r0
/* 800C4D54 000C1CB4 7C 06 00 40 */ cmplw r6, r0
/* 800C4D58 000C1CB8 41 80 FF E0 */ blt lbl_800C4D38
/* 800C4D5C 000C1CBC 38 05 FF FF */ addi r0, r5, -1
/* 800C4D60 000C1CC0 90 03 01 50 */ stw r0, 0x150(r3)
/* 800C4D64 000C1CC4 4E 80 00 20 */ blr
.global AddHelper__17CScriptCameraHintF9TUniqueId
AddHelper__17CScriptCameraHintF9TUniqueId:
/* 800C4D68 000C1CC8 80 03 01 50 */ lwz r0, 0x150(r3)
/* 800C4D6C 000C1CCC 38 C3 01 54 */ addi r6, r3, 0x154
/* 800C4D70 000C1CD0 54 00 08 3C */ slwi r0, r0, 1
/* 800C4D74 000C1CD4 7C E6 02 14 */ add r7, r6, r0
/* 800C4D78 000C1CD8 48 00 00 08 */ b lbl_800C4D80
lbl_800C4D7C:
/* 800C4D7C 000C1CDC 38 C6 00 02 */ addi r6, r6, 2
lbl_800C4D80:
/* 800C4D80 000C1CE0 7C 06 38 40 */ cmplw r6, r7
/* 800C4D84 000C1CE4 41 82 00 14 */ beq lbl_800C4D98
/* 800C4D88 000C1CE8 A0 A6 00 00 */ lhz r5, 0(r6)
/* 800C4D8C 000C1CEC A0 04 00 00 */ lhz r0, 0(r4)
/* 800C4D90 000C1CF0 7C 05 00 40 */ cmplw r5, r0
/* 800C4D94 000C1CF4 40 82 FF E8 */ bne lbl_800C4D7C
lbl_800C4D98:
/* 800C4D98 000C1CF8 7C 06 38 40 */ cmplw r6, r7
/* 800C4D9C 000C1CFC 4C 82 00 20 */ bnelr
/* 800C4DA0 000C1D00 28 07 00 00 */ cmplwi r7, 0
/* 800C4DA4 000C1D04 41 82 00 0C */ beq lbl_800C4DB0
/* 800C4DA8 000C1D08 A0 04 00 00 */ lhz r0, 0(r4)
/* 800C4DAC 000C1D0C B0 07 00 00 */ sth r0, 0(r7)
lbl_800C4DB0:
/* 800C4DB0 000C1D10 80 83 01 50 */ lwz r4, 0x150(r3)
/* 800C4DB4 000C1D14 38 04 00 01 */ addi r0, r4, 1
/* 800C4DB8 000C1D18 90 03 01 50 */ stw r0, 0x150(r3)
/* 800C4DBC 000C1D1C 4E 80 00 20 */ blr
.global ClearIdList__17CScriptCameraHintFv
ClearIdList__17CScriptCameraHintFv:
/* 800C4DC0 000C1D20 80 C3 01 50 */ lwz r6, 0x150(r3)
/* 800C4DC4 000C1D24 38 80 00 00 */ li r4, 0
/* 800C4DC8 000C1D28 2C 06 00 00 */ cmpwi r6, 0
/* 800C4DCC 000C1D2C 40 81 00 40 */ ble lbl_800C4E0C
/* 800C4DD0 000C1D30 2C 06 00 08 */ cmpwi r6, 8
/* 800C4DD4 000C1D34 38 A6 FF F8 */ addi r5, r6, -8
/* 800C4DD8 000C1D38 40 81 00 20 */ ble lbl_800C4DF8
/* 800C4DDC 000C1D3C 38 05 00 07 */ addi r0, r5, 7
/* 800C4DE0 000C1D40 54 00 E8 FE */ srwi r0, r0, 3
/* 800C4DE4 000C1D44 7C 09 03 A6 */ mtctr r0
/* 800C4DE8 000C1D48 2C 05 00 00 */ cmpwi r5, 0
/* 800C4DEC 000C1D4C 40 81 00 0C */ ble lbl_800C4DF8
lbl_800C4DF0:
/* 800C4DF0 000C1D50 38 84 00 08 */ addi r4, r4, 8
/* 800C4DF4 000C1D54 42 00 FF FC */ bdnz lbl_800C4DF0
lbl_800C4DF8:
/* 800C4DF8 000C1D58 7C 04 30 50 */ subf r0, r4, r6
/* 800C4DFC 000C1D5C 7C 09 03 A6 */ mtctr r0
/* 800C4E00 000C1D60 7C 04 30 00 */ cmpw r4, r6
/* 800C4E04 000C1D64 40 80 00 08 */ bge lbl_800C4E0C
lbl_800C4E08:
/* 800C4E08 000C1D68 42 00 00 00 */ bdnz lbl_800C4E08
lbl_800C4E0C:
/* 800C4E0C 000C1D6C 38 00 00 00 */ li r0, 0
/* 800C4E10 000C1D70 90 03 01 50 */ stw r0, 0x150(r3)
/* 800C4E14 000C1D74 4E 80 00 20 */ blr
.global GetFirstHelper__17CScriptCameraHintCFv
GetFirstHelper__17CScriptCameraHintCFv:
/* 800C4E18 000C1D78 80 04 01 50 */ lwz r0, 0x150(r4)
/* 800C4E1C 000C1D7C 2C 00 00 00 */ cmpwi r0, 0
/* 800C4E20 000C1D80 40 81 00 10 */ ble lbl_800C4E30
/* 800C4E24 000C1D84 A0 04 01 54 */ lhz r0, 0x154(r4)
/* 800C4E28 000C1D88 B0 03 00 00 */ sth r0, 0(r3)
/* 800C4E2C 000C1D8C 4E 80 00 20 */ blr
lbl_800C4E30:
/* 800C4E30 000C1D90 A0 0D A3 8C */ lhz r0, lbl_805A8F4C@sda21(r13)
/* 800C4E34 000C1D94 B0 03 00 00 */ sth r0, 0(r3)
/* 800C4E38 000C1D98 4E 80 00 20 */ blr
.global __dt__17CScriptCameraHintFv
__dt__17CScriptCameraHintFv:
/* 800C4E3C 000C1D9C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 800C4E40 000C1DA0 7C 08 02 A6 */ mflr r0
/* 800C4E44 000C1DA4 90 01 00 14 */ stw r0, 0x14(r1)
/* 800C4E48 000C1DA8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 800C4E4C 000C1DAC 7C 9F 23 78 */ mr r31, r4
/* 800C4E50 000C1DB0 93 C1 00 08 */ stw r30, 8(r1)
/* 800C4E54 000C1DB4 7C 7E 1B 79 */ or. r30, r3, r3
/* 800C4E58 000C1DB8 41 82 00 9C */ beq lbl_800C4EF4
/* 800C4E5C 000C1DBC 3C 60 80 3E */ lis r3, lbl_803DF688@ha
/* 800C4E60 000C1DC0 34 1E 01 50 */ addic. r0, r30, 0x150
/* 800C4E64 000C1DC4 38 03 F6 88 */ addi r0, r3, lbl_803DF688@l
/* 800C4E68 000C1DC8 90 1E 00 00 */ stw r0, 0(r30)
/* 800C4E6C 000C1DCC 41 82 00 58 */ beq lbl_800C4EC4
/* 800C4E70 000C1DD0 80 BE 01 50 */ lwz r5, 0x150(r30)
/* 800C4E74 000C1DD4 38 60 00 00 */ li r3, 0
/* 800C4E78 000C1DD8 2C 05 00 00 */ cmpwi r5, 0
/* 800C4E7C 000C1DDC 40 81 00 40 */ ble lbl_800C4EBC
/* 800C4E80 000C1DE0 2C 05 00 08 */ cmpwi r5, 8
/* 800C4E84 000C1DE4 38 85 FF F8 */ addi r4, r5, -8
/* 800C4E88 000C1DE8 40 81 00 20 */ ble lbl_800C4EA8
/* 800C4E8C 000C1DEC 38 04 00 07 */ addi r0, r4, 7
/* 800C4E90 000C1DF0 54 00 E8 FE */ srwi r0, r0, 3
/* 800C4E94 000C1DF4 7C 09 03 A6 */ mtctr r0
/* 800C4E98 000C1DF8 2C 04 00 00 */ cmpwi r4, 0
/* 800C4E9C 000C1DFC 40 81 00 0C */ ble lbl_800C4EA8
lbl_800C4EA0:
/* 800C4EA0 000C1E00 38 63 00 08 */ addi r3, r3, 8
/* 800C4EA4 000C1E04 42 00 FF FC */ bdnz lbl_800C4EA0
lbl_800C4EA8:
/* 800C4EA8 000C1E08 7C 03 28 50 */ subf r0, r3, r5
/* 800C4EAC 000C1E0C 7C 09 03 A6 */ mtctr r0
/* 800C4EB0 000C1E10 7C 03 28 00 */ cmpw r3, r5
/* 800C4EB4 000C1E14 40 80 00 08 */ bge lbl_800C4EBC
lbl_800C4EB8:
/* 800C4EB8 000C1E18 42 00 00 00 */ bdnz lbl_800C4EB8
lbl_800C4EBC:
/* 800C4EBC 000C1E1C 38 00 00 00 */ li r0, 0
/* 800C4EC0 000C1E20 90 1E 01 50 */ stw r0, 0x150(r30)
lbl_800C4EC4:
/* 800C4EC4 000C1E24 34 1E 00 EC */ addic. r0, r30, 0xec
/* 800C4EC8 000C1E28 41 82 00 10 */ beq lbl_800C4ED8
/* 800C4ECC 000C1E2C 3C 60 80 3E */ lis r3, lbl_803DF6F4@ha
/* 800C4ED0 000C1E30 38 03 F6 F4 */ addi r0, r3, lbl_803DF6F4@l
/* 800C4ED4 000C1E34 90 1E 00 EC */ stw r0, 0xec(r30)
lbl_800C4ED8:
/* 800C4ED8 000C1E38 7F C3 F3 78 */ mr r3, r30
/* 800C4EDC 000C1E3C 38 80 00 00 */ li r4, 0
/* 800C4EE0 000C1E40 4B F9 08 11 */ bl __dt__6CActorFv
/* 800C4EE4 000C1E44 7F E0 07 35 */ extsh. r0, r31
/* 800C4EE8 000C1E48 40 81 00 0C */ ble lbl_800C4EF4
/* 800C4EEC 000C1E4C 7F C3 F3 78 */ mr r3, r30
/* 800C4EF0 000C1E50 48 25 0A 41 */ bl Free__7CMemoryFPCv
lbl_800C4EF4:
/* 800C4EF4 000C1E54 80 01 00 14 */ lwz r0, 0x14(r1)
/* 800C4EF8 000C1E58 7F C3 F3 78 */ mr r3, r30
/* 800C4EFC 000C1E5C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 800C4F00 000C1E60 83 C1 00 08 */ lwz r30, 8(r1)
/* 800C4F04 000C1E64 7C 08 03 A6 */ mtlr r0
/* 800C4F08 000C1E68 38 21 00 10 */ addi r1, r1, 0x10
/* 800C4F0C 000C1E6C 4E 80 00 20 */ blr
.global "__ct__17CScriptCameraHintF9TUniqueIdRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>RC11CEntityInfoRC12CTransform4fbiQ211CBallCamera20EBallCameraBehaviourifffRC13CCameraSpringRC13CCameraSpringfRC9CVector3fRC9CVector3ff"
"__ct__17CScriptCameraHintF9TUniqueIdRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>RC11CEntityInfoRC12CTransform4fbiQ211CBallCamera20EBallCameraBehaviourifffRC13CCameraSpringRC13CCameraSpringfRC9CVector3fRC9CVector3ff":
/* 800C4F10 000C1E70 94 21 FE 10 */ stwu r1, -0x1f0(r1)
/* 800C4F14 000C1E74 7C 08 02 A6 */ mflr r0
/* 800C4F18 000C1E78 90 01 01 F4 */ stw r0, 0x1f4(r1)
/* 800C4F1C 000C1E7C DB E1 01 E0 */ stfd f31, 0x1e0(r1)
/* 800C4F20 000C1E80 F3 E1 01 E8 */ psq_st f31, 488(r1), 0, qr0
/* 800C4F24 000C1E84 DB C1 01 D0 */ stfd f30, 0x1d0(r1)
/* 800C4F28 000C1E88 F3 C1 01 D8 */ psq_st f30, 472(r1), 0, qr0
/* 800C4F2C 000C1E8C DB A1 01 C0 */ stfd f29, 0x1c0(r1)
/* 800C4F30 000C1E90 F3 A1 01 C8 */ psq_st f29, 456(r1), 0, qr0
/* 800C4F34 000C1E94 DB 81 01 B0 */ stfd f28, 0x1b0(r1)
/* 800C4F38 000C1E98 F3 81 01 B8 */ psq_st f28, 440(r1), 0, qr0
/* 800C4F3C 000C1E9C DB 61 01 A0 */ stfd f27, 0x1a0(r1)
/* 800C4F40 000C1EA0 F3 61 01 A8 */ psq_st f27, 424(r1), 0, qr0
/* 800C4F44 000C1EA4 DB 41 01 90 */ stfd f26, 0x190(r1)
/* 800C4F48 000C1EA8 F3 41 01 98 */ psq_st f26, 408(r1), 0, qr0
/* 800C4F4C 000C1EAC DB 21 01 80 */ stfd f25, 0x180(r1)
/* 800C4F50 000C1EB0 F3 21 01 88 */ psq_st f25, 392(r1), 0, qr0
/* 800C4F54 000C1EB4 DB 01 01 70 */ stfd f24, 0x170(r1)
/* 800C4F58 000C1EB8 F3 01 01 78 */ psq_st f24, 376(r1), 0, qr0
/* 800C4F5C 000C1EBC DA E1 01 60 */ stfd f23, 0x160(r1)
/* 800C4F60 000C1EC0 F2 E1 01 68 */ psq_st f23, 360(r1), 0, qr0
/* 800C4F64 000C1EC4 DA C1 01 50 */ stfd f22, 0x150(r1)
/* 800C4F68 000C1EC8 F2 C1 01 58 */ psq_st f22, 344(r1), 0, qr0
/* 800C4F6C 000C1ECC DA A1 01 40 */ stfd f21, 0x140(r1)
/* 800C4F70 000C1ED0 F2 A1 01 48 */ psq_st f21, 328(r1), 0, qr0
/* 800C4F74 000C1ED4 DA 81 01 30 */ stfd f20, 0x130(r1)
/* 800C4F78 000C1ED8 F2 81 01 38 */ psq_st f20, 312(r1), 0, qr0
/* 800C4F7C 000C1EDC DA 61 01 20 */ stfd f19, 0x120(r1)
/* 800C4F80 000C1EE0 F2 61 01 28 */ psq_st f19, 296(r1), 0, qr0
/* 800C4F84 000C1EE4 BE 81 00 F0 */ stmw r20, 0xf0(r1)
/* 800C4F88 000C1EE8 FE 60 08 90 */ fmr f19, f1
/* 800C4F8C 000C1EEC 7C 74 1B 78 */ mr r20, r3
/* 800C4F90 000C1EF0 FE 80 10 90 */ fmr f20, f2
/* 800C4F94 000C1EF4 83 81 01 F8 */ lwz r28, 0x1f8(r1)
/* 800C4F98 000C1EF8 FE A0 18 90 */ fmr f21, f3
/* 800C4F9C 000C1EFC 83 A1 01 FC */ lwz r29, 0x1fc(r1)
/* 800C4FA0 000C1F00 FE C0 20 90 */ fmr f22, f4
/* 800C4FA4 000C1F04 83 C1 02 00 */ lwz r30, 0x200(r1)
/* 800C4FA8 000C1F08 FE E0 28 90 */ fmr f23, f5
/* 800C4FAC 000C1F0C 83 E1 02 04 */ lwz r31, 0x204(r1)
/* 800C4FB0 000C1F10 FF 00 30 90 */ fmr f24, f6
/* 800C4FB4 000C1F14 C3 61 02 08 */ lfs f27, 0x208(r1)
/* 800C4FB8 000C1F18 FF 20 38 90 */ fmr f25, f7
/* 800C4FBC 000C1F1C C3 81 02 0C */ lfs f28, 0x20c(r1)
/* 800C4FC0 000C1F20 FF 40 40 90 */ fmr f26, f8
/* 800C4FC4 000C1F24 C3 A1 02 10 */ lfs f29, 0x210(r1)
/* 800C4FC8 000C1F28 C3 C1 02 14 */ lfs f30, 0x214(r1)
/* 800C4FCC 000C1F2C 7C 95 23 78 */ mr r21, r4
/* 800C4FD0 000C1F30 C3 E1 02 18 */ lfs f31, 0x218(r1)
/* 800C4FD4 000C1F34 7C B6 2B 78 */ mr r22, r5
/* 800C4FD8 000C1F38 7C D7 33 78 */ mr r23, r6
/* 800C4FDC 000C1F3C 7C F8 3B 78 */ mr r24, r7
/* 800C4FE0 000C1F40 7D 19 43 78 */ mr r25, r8
/* 800C4FE4 000C1F44 7D 3A 4B 78 */ mr r26, r9
/* 800C4FE8 000C1F48 7D 5B 53 78 */ mr r27, r10
/* 800C4FEC 000C1F4C 38 61 00 98 */ addi r3, r1, 0x98
/* 800C4FF0 000C1F50 4B F7 57 B5 */ bl CModelDataNull__10CModelDataFv
/* 800C4FF4 000C1F54 38 61 00 30 */ addi r3, r1, 0x30
/* 800C4FF8 000C1F58 4B F5 5E 41 */ bl None__16CActorParametersFv
/* 800C4FFC 000C1F5C A0 8D A3 8C */ lhz r4, lbl_805A8F4C@sda21(r13)
/* 800C5000 000C1F60 38 00 00 00 */ li r0, 0
/* 800C5004 000C1F64 80 AD 86 D8 */ lwz r5, lbl_805A7298@sda21(r13)
/* 800C5008 000C1F68 38 60 00 00 */ li r3, 0
/* 800C500C 000C1F6C B0 81 00 20 */ sth r4, 0x20(r1)
/* 800C5010 000C1F70 38 80 00 01 */ li r4, 1
/* 800C5014 000C1F74 90 01 00 2C */ stw r0, 0x2c(r1)
/* 800C5018 000C1F78 90 01 00 28 */ stw r0, 0x28(r1)
/* 800C501C 000C1F7C 48 2C 4E D9 */ bl __shl2i
/* 800C5020 000C1F80 80 A1 00 28 */ lwz r5, 0x28(r1)
/* 800C5024 000C1F84 39 61 00 30 */ addi r11, r1, 0x30
/* 800C5028 000C1F88 80 C1 00 2C */ lwz r6, 0x2c(r1)
/* 800C502C 000C1F8C 38 01 00 20 */ addi r0, r1, 0x20
/* 800C5030 000C1F90 7C A3 1B 78 */ or r3, r5, r3
/* 800C5034 000C1F94 A1 35 00 00 */ lhz r9, 0(r21)
/* 800C5038 000C1F98 7C C4 23 78 */ or r4, r6, r4
/* 800C503C 000C1F9C 90 61 00 28 */ stw r3, 0x28(r1)
/* 800C5040 000C1FA0 7E 83 A3 78 */ mr r3, r20
/* 800C5044 000C1FA4 7F 25 CB 78 */ mr r5, r25
/* 800C5048 000C1FA8 90 81 00 2C */ stw r4, 0x2c(r1)
/* 800C504C 000C1FAC 7E C6 B3 78 */ mr r6, r22
/* 800C5050 000C1FB0 7E E7 BB 78 */ mr r7, r23
/* 800C5054 000C1FB4 7F 08 C3 78 */ mr r8, r24
/* 800C5058 000C1FB8 B1 21 00 24 */ sth r9, 0x24(r1)
/* 800C505C 000C1FBC 38 81 00 24 */ addi r4, r1, 0x24
/* 800C5060 000C1FC0 39 21 00 98 */ addi r9, r1, 0x98
/* 800C5064 000C1FC4 39 41 00 28 */ addi r10, r1, 0x28
/* 800C5068 000C1FC8 91 61 00 08 */ stw r11, 8(r1)
/* 800C506C 000C1FCC 90 01 00 0C */ stw r0, 0xc(r1)
/* 800C5070 000C1FD0 4B F9 07 B1 */ bl "__ct__6CActorF9TUniqueIdbRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>RC11CEntityInfoRC12CTransform4fRC10CModelDataRC13CMaterialListRC16CActorParameters9TUniqueId"
/* 800C5074 000C1FD4 38 61 00 30 */ addi r3, r1, 0x30
/* 800C5078 000C1FD8 38 80 FF FF */ li r4, -1
/* 800C507C 000C1FDC 48 04 15 8D */ bl __dt__16CActorParametersFv
/* 800C5080 000C1FE0 38 61 00 98 */ addi r3, r1, 0x98
/* 800C5084 000C1FE4 38 80 FF FF */ li r4, -1
/* 800C5088 000C1FE8 48 05 19 C5 */ bl __dt__10CModelDataFv
/* 800C508C 000C1FEC 3C 60 80 3E */ lis r3, lbl_803DF688@ha
/* 800C5090 000C1FF0 FC 20 98 90 */ fmr f1, f19
/* 800C5094 000C1FF4 38 03 F6 88 */ addi r0, r3, lbl_803DF688@l
/* 800C5098 000C1FF8 FC 40 A0 90 */ fmr f2, f20
/* 800C509C 000C1FFC 90 14 00 00 */ stw r0, 0(r20)
/* 800C50A0 000C2000 FC 60 A8 90 */ fmr f3, f21
/* 800C50A4 000C2004 FC 80 B0 90 */ fmr f4, f22
/* 800C50A8 000C2008 93 54 00 E8 */ stw r26, 0xe8(r20)
/* 800C50AC 000C200C FC A0 B8 90 */ fmr f5, f23
/* 800C50B0 000C2010 FC C0 C0 90 */ fmr f6, f24
/* 800C50B4 000C2014 7F 84 E3 78 */ mr r4, r28
/* 800C50B8 000C2018 D3 61 00 08 */ stfs f27, 8(r1)
/* 800C50BC 000C201C FC E0 C8 90 */ fmr f7, f25
/* 800C50C0 000C2020 7F 65 DB 78 */ mr r5, r27
/* 800C50C4 000C2024 D3 81 00 0C */ stfs f28, 0xc(r1)
/* 800C50C8 000C2028 FD 00 D0 90 */ fmr f8, f26
/* 800C50CC 000C202C 7F A6 EB 78 */ mr r6, r29
/* 800C50D0 000C2030 D3 A1 00 10 */ stfs f29, 0x10(r1)
/* 800C50D4 000C2034 7F C7 F3 78 */ mr r7, r30
/* 800C50D8 000C2038 7F E8 FB 78 */ mr r8, r31
/* 800C50DC 000C203C D3 C1 00 14 */ stfs f30, 0x14(r1)
/* 800C50E0 000C2040 38 74 00 EC */ addi r3, r20, 0xec
/* 800C50E4 000C2044 D3 E1 00 18 */ stfs f31, 0x18(r1)
/* 800C50E8 000C2048 48 00 00 ED */ bl __ct__11CCameraHintFiQ211CBallCamera20EBallCameraBehaviourfffRC9CVector3fRC9CVector3fRC9CVector3fffffffffff
/* 800C50EC 000C204C 38 A0 00 00 */ li r5, 0
/* 800C50F0 000C2050 7F 04 C3 78 */ mr r4, r24
/* 800C50F4 000C2054 90 B4 01 50 */ stw r5, 0x150(r20)
/* 800C50F8 000C2058 38 74 01 68 */ addi r3, r20, 0x168
/* 800C50FC 000C205C A0 0D A3 8C */ lhz r0, lbl_805A8F4C@sda21(r13)
/* 800C5100 000C2060 B0 14 01 64 */ sth r0, 0x164(r20)
/* 800C5104 000C2064 98 B4 01 66 */ stb r5, 0x166(r20)
/* 800C5108 000C2068 48 24 DA 6D */ bl __ct__12CTransform4fFRC12CTransform4f
/* 800C510C 000C206C 7E 83 A3 78 */ mr r3, r20
/* 800C5110 000C2070 E3 E1 01 E8 */ psq_l f31, 488(r1), 0, qr0
/* 800C5114 000C2074 CB E1 01 E0 */ lfd f31, 0x1e0(r1)
/* 800C5118 000C2078 E3 C1 01 D8 */ psq_l f30, 472(r1), 0, qr0
/* 800C511C 000C207C CB C1 01 D0 */ lfd f30, 0x1d0(r1)
/* 800C5120 000C2080 E3 A1 01 C8 */ psq_l f29, 456(r1), 0, qr0
/* 800C5124 000C2084 CB A1 01 C0 */ lfd f29, 0x1c0(r1)
/* 800C5128 000C2088 E3 81 01 B8 */ psq_l f28, 440(r1), 0, qr0
/* 800C512C 000C208C CB 81 01 B0 */ lfd f28, 0x1b0(r1)
/* 800C5130 000C2090 E3 61 01 A8 */ psq_l f27, 424(r1), 0, qr0
/* 800C5134 000C2094 CB 61 01 A0 */ lfd f27, 0x1a0(r1)
/* 800C5138 000C2098 E3 41 01 98 */ psq_l f26, 408(r1), 0, qr0
/* 800C513C 000C209C CB 41 01 90 */ lfd f26, 0x190(r1)
/* 800C5140 000C20A0 E3 21 01 88 */ psq_l f25, 392(r1), 0, qr0
/* 800C5144 000C20A4 CB 21 01 80 */ lfd f25, 0x180(r1)
/* 800C5148 000C20A8 E3 01 01 78 */ psq_l f24, 376(r1), 0, qr0
/* 800C514C 000C20AC CB 01 01 70 */ lfd f24, 0x170(r1)
/* 800C5150 000C20B0 E2 E1 01 68 */ psq_l f23, 360(r1), 0, qr0
/* 800C5154 000C20B4 CA E1 01 60 */ lfd f23, 0x160(r1)
/* 800C5158 000C20B8 E2 C1 01 58 */ psq_l f22, 344(r1), 0, qr0
/* 800C515C 000C20BC CA C1 01 50 */ lfd f22, 0x150(r1)
/* 800C5160 000C20C0 E2 A1 01 48 */ psq_l f21, 328(r1), 0, qr0
/* 800C5164 000C20C4 CA A1 01 40 */ lfd f21, 0x140(r1)
/* 800C5168 000C20C8 E2 81 01 38 */ psq_l f20, 312(r1), 0, qr0
/* 800C516C 000C20CC CA 81 01 30 */ lfd f20, 0x130(r1)
/* 800C5170 000C20D0 E2 61 01 28 */ psq_l f19, 296(r1), 0, qr0
/* 800C5174 000C20D4 CA 61 01 20 */ lfd f19, 0x120(r1)
/* 800C5178 000C20D8 BA 81 00 F0 */ lmw r20, 0xf0(r1)
/* 800C517C 000C20DC 80 01 01 F4 */ lwz r0, 0x1f4(r1)
/* 800C5180 000C20E0 7C 08 03 A6 */ mtlr r0
/* 800C5184 000C20E4 38 21 01 F0 */ addi r1, r1, 0x1f0
/* 800C5188 000C20E8 4E 80 00 20 */ blr

1094
asm/Kyoto_CWD/CScriptDock.s Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,473 @@
.include "macros.inc"
.section .text, "ax"
.global HasObject__14CScriptMailboxCF9TEditorId
HasObject__14CScriptMailboxCF9TEditorId:
/* 800E1A38 000DE998 80 03 00 00 */ lwz r0, 0(r3)
/* 800E1A3C 000DE99C 38 C3 00 04 */ addi r6, r3, 4
/* 800E1A40 000DE9A0 54 00 10 3A */ slwi r0, r0, 2
/* 800E1A44 000DE9A4 7C A3 02 14 */ add r5, r3, r0
/* 800E1A48 000DE9A8 38 A5 00 04 */ addi r5, r5, 4
/* 800E1A4C 000DE9AC 48 00 00 28 */ b lbl_800E1A74
lbl_800E1A50:
/* 800E1A50 000DE9B0 80 66 00 00 */ lwz r3, 0(r6)
/* 800E1A54 000DE9B4 80 04 00 00 */ lwz r0, 0(r4)
/* 800E1A58 000DE9B8 54 63 01 BE */ clrlwi r3, r3, 6
/* 800E1A5C 000DE9BC 54 00 01 BE */ clrlwi r0, r0, 6
/* 800E1A60 000DE9C0 7C 03 00 40 */ cmplw r3, r0
/* 800E1A64 000DE9C4 40 82 00 0C */ bne lbl_800E1A70
/* 800E1A68 000DE9C8 38 60 00 01 */ li r3, 1
/* 800E1A6C 000DE9CC 4E 80 00 20 */ blr
lbl_800E1A70:
/* 800E1A70 000DE9D0 38 C6 00 04 */ addi r6, r6, 4
lbl_800E1A74:
/* 800E1A74 000DE9D4 7C 06 28 40 */ cmplw r6, r5
/* 800E1A78 000DE9D8 40 82 FF D8 */ bne lbl_800E1A50
/* 800E1A7C 000DE9DC 38 60 00 00 */ li r3, 0
/* 800E1A80 000DE9E0 4E 80 00 20 */ blr
.global RemoveRelay__14CScriptMailboxF9TEditorId
RemoveRelay__14CScriptMailboxF9TEditorId:
/* 800E1A84 000DE9E4 80 03 00 00 */ lwz r0, 0(r3)
/* 800E1A88 000DE9E8 38 E3 00 04 */ addi r7, r3, 4
/* 800E1A8C 000DE9EC 54 00 10 3A */ slwi r0, r0, 2
/* 800E1A90 000DE9F0 7C C3 02 14 */ add r6, r3, r0
/* 800E1A94 000DE9F4 38 C6 00 04 */ addi r6, r6, 4
/* 800E1A98 000DE9F8 48 00 00 68 */ b lbl_800E1B00
lbl_800E1A9C:
/* 800E1A9C 000DE9FC 80 A7 00 00 */ lwz r5, 0(r7)
/* 800E1AA0 000DEA00 80 04 00 00 */ lwz r0, 0(r4)
/* 800E1AA4 000DEA04 54 A5 01 BE */ clrlwi r5, r5, 6
/* 800E1AA8 000DEA08 54 00 01 BE */ clrlwi r0, r0, 6
/* 800E1AAC 000DEA0C 7C 05 00 40 */ cmplw r5, r0
/* 800E1AB0 000DEA10 40 82 00 4C */ bne lbl_800E1AFC
/* 800E1AB4 000DEA14 38 03 00 04 */ addi r0, r3, 4
/* 800E1AB8 000DEA18 7C 07 00 40 */ cmplw r7, r0
/* 800E1ABC 000DEA1C 4D 80 00 20 */ bltlr
/* 800E1AC0 000DEA20 7C 07 30 40 */ cmplw r7, r6
/* 800E1AC4 000DEA24 4C 80 00 20 */ bgelr
/* 800E1AC8 000DEA28 7C E5 3B 78 */ mr r5, r7
/* 800E1ACC 000DEA2C 48 00 00 10 */ b lbl_800E1ADC
lbl_800E1AD0:
/* 800E1AD0 000DEA30 80 05 00 04 */ lwz r0, 4(r5)
/* 800E1AD4 000DEA34 90 05 00 00 */ stw r0, 0(r5)
/* 800E1AD8 000DEA38 38 A5 00 04 */ addi r5, r5, 4
lbl_800E1ADC:
/* 800E1ADC 000DEA3C 80 83 00 00 */ lwz r4, 0(r3)
/* 800E1AE0 000DEA40 54 80 10 3A */ slwi r0, r4, 2
/* 800E1AE4 000DEA44 7C 03 02 14 */ add r0, r3, r0
/* 800E1AE8 000DEA48 7C 05 00 40 */ cmplw r5, r0
/* 800E1AEC 000DEA4C 41 80 FF E4 */ blt lbl_800E1AD0
/* 800E1AF0 000DEA50 38 04 FF FF */ addi r0, r4, -1
/* 800E1AF4 000DEA54 90 03 00 00 */ stw r0, 0(r3)
/* 800E1AF8 000DEA58 4E 80 00 20 */ blr
lbl_800E1AFC:
/* 800E1AFC 000DEA5C 38 E7 00 04 */ addi r7, r7, 4
lbl_800E1B00:
/* 800E1B00 000DEA60 7C 07 30 40 */ cmplw r7, r6
/* 800E1B04 000DEA64 40 82 FF 98 */ bne lbl_800E1A9C
/* 800E1B08 000DEA68 4E 80 00 20 */ blr
.global AddRelay__14CScriptMailboxF9TEditorId
AddRelay__14CScriptMailboxF9TEditorId:
/* 800E1B0C 000DEA6C 80 03 00 00 */ lwz r0, 0(r3)
/* 800E1B10 000DEA70 38 E3 00 04 */ addi r7, r3, 4
/* 800E1B14 000DEA74 54 00 10 3A */ slwi r0, r0, 2
/* 800E1B18 000DEA78 7C C3 02 14 */ add r6, r3, r0
/* 800E1B1C 000DEA7C 38 C6 00 04 */ addi r6, r6, 4
/* 800E1B20 000DEA80 48 00 00 20 */ b lbl_800E1B40
lbl_800E1B24:
/* 800E1B24 000DEA84 80 A7 00 00 */ lwz r5, 0(r7)
/* 800E1B28 000DEA88 80 04 00 00 */ lwz r0, 0(r4)
/* 800E1B2C 000DEA8C 54 A5 01 BE */ clrlwi r5, r5, 6
/* 800E1B30 000DEA90 54 00 01 BE */ clrlwi r0, r0, 6
/* 800E1B34 000DEA94 7C 05 00 40 */ cmplw r5, r0
/* 800E1B38 000DEA98 4D 82 00 20 */ beqlr
/* 800E1B3C 000DEA9C 38 E7 00 04 */ addi r7, r7, 4
lbl_800E1B40:
/* 800E1B40 000DEAA0 7C 07 30 40 */ cmplw r7, r6
/* 800E1B44 000DEAA4 40 82 FF E0 */ bne lbl_800E1B24
/* 800E1B48 000DEAA8 28 06 00 00 */ cmplwi r6, 0
/* 800E1B4C 000DEAAC 41 82 00 0C */ beq lbl_800E1B58
/* 800E1B50 000DEAB0 80 04 00 00 */ lwz r0, 0(r4)
/* 800E1B54 000DEAB4 90 06 00 00 */ stw r0, 0(r6)
lbl_800E1B58:
/* 800E1B58 000DEAB8 80 83 00 00 */ lwz r4, 0(r3)
/* 800E1B5C 000DEABC 38 04 00 01 */ addi r0, r4, 1
/* 800E1B60 000DEAC0 90 03 00 00 */ stw r0, 0(r3)
/* 800E1B64 000DEAC4 4E 80 00 20 */ blr
.global SendMsgs__14CScriptMailboxFRC7TAreaIdR13CStateManager
SendMsgs__14CScriptMailboxFRC7TAreaIdR13CStateManager:
/* 800E1B68 000DEAC8 94 21 FF B0 */ stwu r1, -0x50(r1)
/* 800E1B6C 000DEACC 7C 08 02 A6 */ mflr r0
/* 800E1B70 000DEAD0 90 01 00 54 */ stw r0, 0x54(r1)
/* 800E1B74 000DEAD4 BF 21 00 34 */ stmw r25, 0x34(r1)
/* 800E1B78 000DEAD8 7C BB 2B 78 */ mr r27, r5
/* 800E1B7C 000DEADC 7C 79 1B 78 */ mr r25, r3
/* 800E1B80 000DEAE0 7C 9A 23 78 */ mr r26, r4
/* 800E1B84 000DEAE4 83 E5 08 50 */ lwz r31, 0x850(r5)
/* 800E1B88 000DEAE8 80 1F 00 30 */ lwz r0, 0x30(r31)
/* 800E1B8C 000DEAEC 2C 00 00 00 */ cmpwi r0, 0
/* 800E1B90 000DEAF0 40 81 01 18 */ ble lbl_800E1CA8
/* 800E1B94 000DEAF4 83 DF 00 38 */ lwz r30, 0x38(r31)
/* 800E1B98 000DEAF8 3B 80 00 00 */ li r28, 0
/* 800E1B9C 000DEAFC 48 00 00 78 */ b lbl_800E1C14
lbl_800E1BA0:
/* 800E1BA0 000DEB00 80 9E 00 04 */ lwz r4, 4(r30)
/* 800E1BA4 000DEB04 80 1A 00 00 */ lwz r0, 0(r26)
/* 800E1BA8 000DEB08 54 83 85 BE */ rlwinm r3, r4, 0x10, 0x16, 0x1f
/* 800E1BAC 000DEB0C 90 81 00 24 */ stw r4, 0x24(r1)
/* 800E1BB0 000DEB10 7C 03 00 00 */ cmpw r3, r0
/* 800E1BB4 000DEB14 40 82 00 5C */ bne lbl_800E1C10
/* 800E1BB8 000DEB18 80 1E 00 00 */ lwz r0, 0(r30)
/* 800E1BBC 000DEB1C 7F 23 CB 78 */ mr r3, r25
/* 800E1BC0 000DEB20 38 81 00 18 */ addi r4, r1, 0x18
/* 800E1BC4 000DEB24 90 01 00 20 */ stw r0, 0x20(r1)
/* 800E1BC8 000DEB28 90 01 00 18 */ stw r0, 0x18(r1)
/* 800E1BCC 000DEB2C 4B FF FE 6D */ bl HasObject__14CScriptMailboxCF9TEditorId
/* 800E1BD0 000DEB30 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 800E1BD4 000DEB34 41 82 00 3C */ beq lbl_800E1C10
/* 800E1BD8 000DEB38 80 A1 00 24 */ lwz r5, 0x24(r1)
/* 800E1BDC 000DEB3C 7F 63 DB 78 */ mr r3, r27
/* 800E1BE0 000DEB40 A0 0D A3 8C */ lhz r0, lbl_805A8F4C@sda21(r13)
/* 800E1BE4 000DEB44 38 81 00 08 */ addi r4, r1, 8
/* 800E1BE8 000DEB48 90 A1 00 14 */ stw r5, 0x14(r1)
/* 800E1BEC 000DEB4C 38 A1 00 14 */ addi r5, r1, 0x14
/* 800E1BF0 000DEB50 38 E0 FF FF */ li r7, -1
/* 800E1BF4 000DEB54 B0 01 00 08 */ sth r0, 8(r1)
/* 800E1BF8 000DEB58 A0 DE 00 08 */ lhz r6, 8(r30)
/* 800E1BFC 000DEB5C 4B F6 5F 41 */ bl SendScriptMsg__13CStateManagerF9TUniqueId9TEditorId20EScriptObjectMessage18EScriptObjectState
/* 800E1C00 000DEB60 88 1E 00 0A */ lbz r0, 0xa(r30)
/* 800E1C04 000DEB64 28 00 00 00 */ cmplwi r0, 0
/* 800E1C08 000DEB68 41 82 00 08 */ beq lbl_800E1C10
/* 800E1C0C 000DEB6C 3B 80 00 01 */ li r28, 1
lbl_800E1C10:
/* 800E1C10 000DEB70 3B DE 00 0C */ addi r30, r30, 0xc
lbl_800E1C14:
/* 800E1C14 000DEB74 80 1F 00 30 */ lwz r0, 0x30(r31)
/* 800E1C18 000DEB78 83 BF 00 38 */ lwz r29, 0x38(r31)
/* 800E1C1C 000DEB7C 1C 00 00 0C */ mulli r0, r0, 0xc
/* 800E1C20 000DEB80 7C 1D 02 14 */ add r0, r29, r0
/* 800E1C24 000DEB84 7C 1E 00 40 */ cmplw r30, r0
/* 800E1C28 000DEB88 40 82 FF 78 */ bne lbl_800E1BA0
/* 800E1C2C 000DEB8C 57 80 06 3F */ clrlwi. r0, r28, 0x18
/* 800E1C30 000DEB90 41 82 00 78 */ beq lbl_800E1CA8
/* 800E1C34 000DEB94 48 00 00 5C */ b lbl_800E1C90
lbl_800E1C38:
/* 800E1C38 000DEB98 80 7D 00 04 */ lwz r3, 4(r29)
/* 800E1C3C 000DEB9C 80 1A 00 00 */ lwz r0, 0(r26)
/* 800E1C40 000DEBA0 54 63 85 BE */ rlwinm r3, r3, 0x10, 0x16, 0x1f
/* 800E1C44 000DEBA4 7C 03 00 00 */ cmpw r3, r0
/* 800E1C48 000DEBA8 40 82 00 44 */ bne lbl_800E1C8C
/* 800E1C4C 000DEBAC 80 1D 00 00 */ lwz r0, 0(r29)
/* 800E1C50 000DEBB0 7F 23 CB 78 */ mr r3, r25
/* 800E1C54 000DEBB4 38 81 00 10 */ addi r4, r1, 0x10
/* 800E1C58 000DEBB8 90 01 00 1C */ stw r0, 0x1c(r1)
/* 800E1C5C 000DEBBC 90 01 00 10 */ stw r0, 0x10(r1)
/* 800E1C60 000DEBC0 4B FF FD D9 */ bl HasObject__14CScriptMailboxCF9TEditorId
/* 800E1C64 000DEBC4 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 800E1C68 000DEBC8 41 82 00 24 */ beq lbl_800E1C8C
/* 800E1C6C 000DEBCC 88 1D 00 0A */ lbz r0, 0xa(r29)
/* 800E1C70 000DEBD0 28 00 00 00 */ cmplwi r0, 0
/* 800E1C74 000DEBD4 41 82 00 18 */ beq lbl_800E1C8C
/* 800E1C78 000DEBD8 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 800E1C7C 000DEBDC 7F 23 CB 78 */ mr r3, r25
/* 800E1C80 000DEBE0 38 81 00 0C */ addi r4, r1, 0xc
/* 800E1C84 000DEBE4 90 01 00 0C */ stw r0, 0xc(r1)
/* 800E1C88 000DEBE8 4B FF FD FD */ bl RemoveRelay__14CScriptMailboxF9TEditorId
lbl_800E1C8C:
/* 800E1C8C 000DEBEC 3B BD 00 0C */ addi r29, r29, 0xc
lbl_800E1C90:
/* 800E1C90 000DEBF0 80 1F 00 30 */ lwz r0, 0x30(r31)
/* 800E1C94 000DEBF4 80 7F 00 38 */ lwz r3, 0x38(r31)
/* 800E1C98 000DEBF8 1C 00 00 0C */ mulli r0, r0, 0xc
/* 800E1C9C 000DEBFC 7C 03 02 14 */ add r0, r3, r0
/* 800E1CA0 000DEC00 7C 1D 00 40 */ cmplw r29, r0
/* 800E1CA4 000DEC04 40 82 FF 94 */ bne lbl_800E1C38
lbl_800E1CA8:
/* 800E1CA8 000DEC08 BB 21 00 34 */ lmw r25, 0x34(r1)
/* 800E1CAC 000DEC0C 80 01 00 54 */ lwz r0, 0x54(r1)
/* 800E1CB0 000DEC10 7C 08 03 A6 */ mtlr r0
/* 800E1CB4 000DEC14 38 21 00 50 */ addi r1, r1, 0x50
/* 800E1CB8 000DEC18 4E 80 00 20 */ blr
.global PutTo__14CScriptMailboxCFR13COutputStream
PutTo__14CScriptMailboxCFR13COutputStream:
/* 800E1CBC 000DEC1C 94 21 FF B0 */ stwu r1, -0x50(r1)
/* 800E1CC0 000DEC20 7C 08 02 A6 */ mflr r0
/* 800E1CC4 000DEC24 90 01 00 54 */ stw r0, 0x54(r1)
/* 800E1CC8 000DEC28 BF 41 00 38 */ stmw r26, 0x38(r1)
/* 800E1CCC 000DEC2C 7C BB 2B 78 */ mr r27, r5
/* 800E1CD0 000DEC30 7C 7A 1B 78 */ mr r26, r3
/* 800E1CD4 000DEC34 7C 9F 23 78 */ mr r31, r4
/* 800E1CD8 000DEC38 83 A5 00 18 */ lwz r29, 0x18(r5)
/* 800E1CDC 000DEC3C 2C 1D 00 00 */ cmpwi r29, 0
/* 800E1CE0 000DEC40 93 A1 00 20 */ stw r29, 0x20(r1)
/* 800E1CE4 000DEC44 93 A1 00 24 */ stw r29, 0x24(r1)
/* 800E1CE8 000DEC48 40 82 00 10 */ bne lbl_800E1CF8
/* 800E1CEC 000DEC4C 38 00 00 00 */ li r0, 0
/* 800E1CF0 000DEC50 90 01 00 28 */ stw r0, 0x28(r1)
/* 800E1CF4 000DEC54 48 00 00 1C */ b lbl_800E1D10
lbl_800E1CF8:
/* 800E1CF8 000DEC58 3C 80 80 3D */ lis r4, lbl_803CE5C0@ha
/* 800E1CFC 000DEC5C 7F A3 EB 78 */ mr r3, r29
/* 800E1D00 000DEC60 38 84 E5 C0 */ addi r4, r4, lbl_803CE5C0@l
/* 800E1D04 000DEC64 38 A0 00 00 */ li r5, 0
/* 800E1D08 000DEC68 48 23 3B 11 */ bl __nwa__FUlPCcPCc
/* 800E1D0C 000DEC6C 90 61 00 28 */ stw r3, 0x28(r1)
lbl_800E1D10:
/* 800E1D10 000DEC70 80 61 00 28 */ lwz r3, 0x28(r1)
/* 800E1D14 000DEC74 7F A9 03 A6 */ mtctr r29
/* 800E1D18 000DEC78 2C 1D 00 00 */ cmpwi r29, 0
/* 800E1D1C 000DEC7C 40 81 00 1C */ ble lbl_800E1D38
lbl_800E1D20:
/* 800E1D20 000DEC80 28 03 00 00 */ cmplwi r3, 0
/* 800E1D24 000DEC84 41 82 00 0C */ beq lbl_800E1D30
/* 800E1D28 000DEC88 88 0D 87 69 */ lbz r0, lbl_805A7329@sda21(r13)
/* 800E1D2C 000DEC8C 98 03 00 00 */ stb r0, 0(r3)
lbl_800E1D30:
/* 800E1D30 000DEC90 38 63 00 01 */ addi r3, r3, 1
/* 800E1D34 000DEC94 42 00 FF EC */ bdnz lbl_800E1D20
lbl_800E1D38:
/* 800E1D38 000DEC98 83 A1 00 28 */ lwz r29, 0x28(r1)
/* 800E1D3C 000DEC9C 3B 9A 00 04 */ addi r28, r26, 4
/* 800E1D40 000DECA0 3B C0 00 01 */ li r30, 1
/* 800E1D44 000DECA4 48 00 00 20 */ b lbl_800E1D64
lbl_800E1D48:
/* 800E1D48 000DECA8 80 1C 00 00 */ lwz r0, 0(r28)
/* 800E1D4C 000DECAC 7F 63 DB 78 */ mr r3, r27
/* 800E1D50 000DECB0 38 81 00 18 */ addi r4, r1, 0x18
/* 800E1D54 000DECB4 90 01 00 18 */ stw r0, 0x18(r1)
/* 800E1D58 000DECB8 48 18 94 81 */ bl GetRelayIndex__10CSaveWorldCFRC9TEditorId
/* 800E1D5C 000DECBC 7F DD 19 AE */ stbx r30, r29, r3
/* 800E1D60 000DECC0 3B 9C 00 04 */ addi r28, r28, 4
lbl_800E1D64:
/* 800E1D64 000DECC4 80 1A 00 00 */ lwz r0, 0(r26)
/* 800E1D68 000DECC8 54 00 10 3A */ slwi r0, r0, 2
/* 800E1D6C 000DECCC 7C 7A 02 14 */ add r3, r26, r0
/* 800E1D70 000DECD0 38 03 00 04 */ addi r0, r3, 4
/* 800E1D74 000DECD4 7C 1C 00 40 */ cmplw r28, r0
/* 800E1D78 000DECD8 40 82 FF D0 */ bne lbl_800E1D48
/* 800E1D7C 000DECDC 83 A1 00 28 */ lwz r29, 0x28(r1)
/* 800E1D80 000DECE0 3B 80 00 00 */ li r28, 0
/* 800E1D84 000DECE4 83 C1 00 20 */ lwz r30, 0x20(r1)
/* 800E1D88 000DECE8 48 00 00 28 */ b lbl_800E1DB0
lbl_800E1D8C:
/* 800E1D8C 000DECEC 88 9D 00 00 */ lbz r4, 0(r29)
/* 800E1D90 000DECF0 7F E3 FB 78 */ mr r3, r31
/* 800E1D94 000DECF4 38 A0 00 01 */ li r5, 1
/* 800E1D98 000DECF8 7C 04 00 D0 */ neg r0, r4
/* 800E1D9C 000DECFC 7C 00 23 78 */ or r0, r0, r4
/* 800E1DA0 000DED00 54 04 0F FE */ srwi r4, r0, 0x1f
/* 800E1DA4 000DED04 48 25 D6 19 */ bl WriteBits__13COutputStreamFii
/* 800E1DA8 000DED08 3B 9C 00 01 */ addi r28, r28, 1
/* 800E1DAC 000DED0C 3B BD 00 01 */ addi r29, r29, 1
lbl_800E1DB0:
/* 800E1DB0 000DED10 7C 1C F0 00 */ cmpw r28, r30
/* 800E1DB4 000DED14 41 80 FF D8 */ blt lbl_800E1D8C
/* 800E1DB8 000DED18 80 61 00 28 */ lwz r3, 0x28(r1)
/* 800E1DBC 000DED1C 80 01 00 20 */ lwz r0, 0x20(r1)
/* 800E1DC0 000DED20 90 61 00 0C */ stw r3, 0xc(r1)
/* 800E1DC4 000DED24 7C 83 02 14 */ add r4, r3, r0
/* 800E1DC8 000DED28 7C 03 20 50 */ subf r0, r3, r4
/* 800E1DCC 000DED2C 90 81 00 14 */ stw r4, 0x14(r1)
/* 800E1DD0 000DED30 90 81 00 10 */ stw r4, 0x10(r1)
/* 800E1DD4 000DED34 90 61 00 08 */ stw r3, 8(r1)
/* 800E1DD8 000DED38 7C 09 03 A6 */ mtctr r0
/* 800E1DDC 000DED3C 7C 03 20 40 */ cmplw r3, r4
/* 800E1DE0 000DED40 41 82 00 08 */ beq lbl_800E1DE8
lbl_800E1DE4:
/* 800E1DE4 000DED44 42 00 00 00 */ bdnz lbl_800E1DE4
lbl_800E1DE8:
/* 800E1DE8 000DED48 28 03 00 00 */ cmplwi r3, 0
/* 800E1DEC 000DED4C 41 82 00 08 */ beq lbl_800E1DF4
/* 800E1DF0 000DED50 48 23 3B 41 */ bl Free__7CMemoryFPCv
lbl_800E1DF4:
/* 800E1DF4 000DED54 BB 41 00 38 */ lmw r26, 0x38(r1)
/* 800E1DF8 000DED58 80 01 00 54 */ lwz r0, 0x54(r1)
/* 800E1DFC 000DED5C 7C 08 03 A6 */ mtlr r0
/* 800E1E00 000DED60 38 21 00 50 */ addi r1, r1, 0x50
/* 800E1E04 000DED64 4E 80 00 20 */ blr
.global __dt__14CScriptMailboxFv
__dt__14CScriptMailboxFv:
/* 800E1E08 000DED68 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 800E1E0C 000DED6C 7C 08 02 A6 */ mflr r0
/* 800E1E10 000DED70 90 01 00 14 */ stw r0, 0x14(r1)
/* 800E1E14 000DED74 93 E1 00 0C */ stw r31, 0xc(r1)
/* 800E1E18 000DED78 7C 9F 23 78 */ mr r31, r4
/* 800E1E1C 000DED7C 93 C1 00 08 */ stw r30, 8(r1)
/* 800E1E20 000DED80 7C 7E 1B 79 */ or. r30, r3, r3
/* 800E1E24 000DED84 41 82 00 78 */ beq lbl_800E1E9C
/* 800E1E28 000DED88 38 60 F7 FC */ li r3, -2052
/* 800E1E2C 000DED8C 48 23 3A 95 */ bl OffsetFakeStatics__7CMemoryFi
/* 800E1E30 000DED90 28 1E 00 00 */ cmplwi r30, 0
/* 800E1E34 000DED94 41 82 00 58 */ beq lbl_800E1E8C
/* 800E1E38 000DED98 80 BE 00 00 */ lwz r5, 0(r30)
/* 800E1E3C 000DED9C 38 60 00 00 */ li r3, 0
/* 800E1E40 000DEDA0 2C 05 00 00 */ cmpwi r5, 0
/* 800E1E44 000DEDA4 40 81 00 40 */ ble lbl_800E1E84
/* 800E1E48 000DEDA8 2C 05 00 08 */ cmpwi r5, 8
/* 800E1E4C 000DEDAC 38 85 FF F8 */ addi r4, r5, -8
/* 800E1E50 000DEDB0 40 81 00 20 */ ble lbl_800E1E70
/* 800E1E54 000DEDB4 38 04 00 07 */ addi r0, r4, 7
/* 800E1E58 000DEDB8 54 00 E8 FE */ srwi r0, r0, 3
/* 800E1E5C 000DEDBC 7C 09 03 A6 */ mtctr r0
/* 800E1E60 000DEDC0 2C 04 00 00 */ cmpwi r4, 0
/* 800E1E64 000DEDC4 40 81 00 0C */ ble lbl_800E1E70
lbl_800E1E68:
/* 800E1E68 000DEDC8 38 63 00 08 */ addi r3, r3, 8
/* 800E1E6C 000DEDCC 42 00 FF FC */ bdnz lbl_800E1E68
lbl_800E1E70:
/* 800E1E70 000DEDD0 7C 03 28 50 */ subf r0, r3, r5
/* 800E1E74 000DEDD4 7C 09 03 A6 */ mtctr r0
/* 800E1E78 000DEDD8 7C 03 28 00 */ cmpw r3, r5
/* 800E1E7C 000DEDDC 40 80 00 08 */ bge lbl_800E1E84
lbl_800E1E80:
/* 800E1E80 000DEDE0 42 00 00 00 */ bdnz lbl_800E1E80
lbl_800E1E84:
/* 800E1E84 000DEDE4 38 00 00 00 */ li r0, 0
/* 800E1E88 000DEDE8 90 1E 00 00 */ stw r0, 0(r30)
lbl_800E1E8C:
/* 800E1E8C 000DEDEC 7F E0 07 35 */ extsh. r0, r31
/* 800E1E90 000DEDF0 40 81 00 0C */ ble lbl_800E1E9C
/* 800E1E94 000DEDF4 7F C3 F3 78 */ mr r3, r30
/* 800E1E98 000DEDF8 48 23 3A 99 */ bl Free__7CMemoryFPCv
lbl_800E1E9C:
/* 800E1E9C 000DEDFC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 800E1EA0 000DEE00 7F C3 F3 78 */ mr r3, r30
/* 800E1EA4 000DEE04 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 800E1EA8 000DEE08 83 C1 00 08 */ lwz r30, 8(r1)
/* 800E1EAC 000DEE0C 7C 08 03 A6 */ mtlr r0
/* 800E1EB0 000DEE10 38 21 00 10 */ addi r1, r1, 0x10
/* 800E1EB4 000DEE14 4E 80 00 20 */ blr
.global __ct__14CScriptMailboxFR12CInputStreamRC10CSaveWorld
__ct__14CScriptMailboxFR12CInputStreamRC10CSaveWorld:
/* 800E1EB8 000DEE18 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 800E1EBC 000DEE1C 7C 08 02 A6 */ mflr r0
/* 800E1EC0 000DEE20 90 01 00 44 */ stw r0, 0x44(r1)
/* 800E1EC4 000DEE24 38 00 00 00 */ li r0, 0
/* 800E1EC8 000DEE28 BF 41 00 28 */ stmw r26, 0x28(r1)
/* 800E1ECC 000DEE2C 7C 7E 1B 78 */ mr r30, r3
/* 800E1ED0 000DEE30 7C BF 2B 78 */ mr r31, r5
/* 800E1ED4 000DEE34 7C 9A 23 78 */ mr r26, r4
/* 800E1ED8 000DEE38 90 03 00 00 */ stw r0, 0(r3)
/* 800E1EDC 000DEE3C 83 85 00 18 */ lwz r28, 0x18(r5)
/* 800E1EE0 000DEE40 2C 1C 00 00 */ cmpwi r28, 0
/* 800E1EE4 000DEE44 93 81 00 1C */ stw r28, 0x1c(r1)
/* 800E1EE8 000DEE48 93 81 00 20 */ stw r28, 0x20(r1)
/* 800E1EEC 000DEE4C 40 82 00 0C */ bne lbl_800E1EF8
/* 800E1EF0 000DEE50 90 01 00 24 */ stw r0, 0x24(r1)
/* 800E1EF4 000DEE54 48 00 00 1C */ b lbl_800E1F10
lbl_800E1EF8:
/* 800E1EF8 000DEE58 3C 80 80 3D */ lis r4, lbl_803CE5C0@ha
/* 800E1EFC 000DEE5C 7F 83 E3 78 */ mr r3, r28
/* 800E1F00 000DEE60 38 84 E5 C0 */ addi r4, r4, lbl_803CE5C0@l
/* 800E1F04 000DEE64 38 A0 00 00 */ li r5, 0
/* 800E1F08 000DEE68 48 23 39 11 */ bl __nwa__FUlPCcPCc
/* 800E1F0C 000DEE6C 90 61 00 24 */ stw r3, 0x24(r1)
lbl_800E1F10:
/* 800E1F10 000DEE70 80 61 00 24 */ lwz r3, 0x24(r1)
/* 800E1F14 000DEE74 7F 89 03 A6 */ mtctr r28
/* 800E1F18 000DEE78 2C 1C 00 00 */ cmpwi r28, 0
/* 800E1F1C 000DEE7C 40 81 00 1C */ ble lbl_800E1F38
lbl_800E1F20:
/* 800E1F20 000DEE80 28 03 00 00 */ cmplwi r3, 0
/* 800E1F24 000DEE84 41 82 00 0C */ beq lbl_800E1F30
/* 800E1F28 000DEE88 88 0D 87 68 */ lbz r0, lbl_805A7328@sda21(r13)
/* 800E1F2C 000DEE8C 98 03 00 00 */ stb r0, 0(r3)
lbl_800E1F30:
/* 800E1F30 000DEE90 38 63 00 01 */ addi r3, r3, 1
/* 800E1F34 000DEE94 42 00 FF EC */ bdnz lbl_800E1F20
lbl_800E1F38:
/* 800E1F38 000DEE98 83 81 00 24 */ lwz r28, 0x24(r1)
/* 800E1F3C 000DEE9C 3B 60 00 00 */ li r27, 0
/* 800E1F40 000DEEA0 83 A1 00 1C */ lwz r29, 0x1c(r1)
/* 800E1F44 000DEEA4 48 00 00 28 */ b lbl_800E1F6C
lbl_800E1F48:
/* 800E1F48 000DEEA8 7F 43 D3 78 */ mr r3, r26
/* 800E1F4C 000DEEAC 38 80 00 01 */ li r4, 1
/* 800E1F50 000DEEB0 48 25 CD E9 */ bl ReadBits__12CInputStreamFi
/* 800E1F54 000DEEB4 7C 03 00 D0 */ neg r0, r3
/* 800E1F58 000DEEB8 3B 7B 00 01 */ addi r27, r27, 1
/* 800E1F5C 000DEEBC 7C 00 1B 78 */ or r0, r0, r3
/* 800E1F60 000DEEC0 54 00 0F FE */ srwi r0, r0, 0x1f
/* 800E1F64 000DEEC4 98 1C 00 00 */ stb r0, 0(r28)
/* 800E1F68 000DEEC8 3B 9C 00 01 */ addi r28, r28, 1
lbl_800E1F6C:
/* 800E1F6C 000DEECC 7C 1B E8 00 */ cmpw r27, r29
/* 800E1F70 000DEED0 41 80 FF D8 */ blt lbl_800E1F48
/* 800E1F74 000DEED4 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 800E1F78 000DEED8 38 C0 00 00 */ li r6, 0
/* 800E1F7C 000DEEDC 80 61 00 24 */ lwz r3, 0x24(r1)
/* 800E1F80 000DEEE0 7C 09 03 A6 */ mtctr r0
/* 800E1F84 000DEEE4 2C 00 00 00 */ cmpwi r0, 0
/* 800E1F88 000DEEE8 40 81 00 48 */ ble lbl_800E1FD0
lbl_800E1F8C:
/* 800E1F8C 000DEEEC 88 03 00 00 */ lbz r0, 0(r3)
/* 800E1F90 000DEEF0 28 00 00 00 */ cmplwi r0, 0
/* 800E1F94 000DEEF4 41 82 00 30 */ beq lbl_800E1FC4
/* 800E1F98 000DEEF8 80 1E 00 00 */ lwz r0, 0(r30)
/* 800E1F9C 000DEEFC 80 9F 00 20 */ lwz r4, 0x20(r31)
/* 800E1FA0 000DEF00 54 00 10 3A */ slwi r0, r0, 2
/* 800E1FA4 000DEF04 7C BE 02 14 */ add r5, r30, r0
/* 800E1FA8 000DEF08 7C 04 30 2E */ lwzx r0, r4, r6
/* 800E1FAC 000DEF0C 34 A5 00 04 */ addic. r5, r5, 4
/* 800E1FB0 000DEF10 41 82 00 08 */ beq lbl_800E1FB8
/* 800E1FB4 000DEF14 90 05 00 00 */ stw r0, 0(r5)
lbl_800E1FB8:
/* 800E1FB8 000DEF18 80 9E 00 00 */ lwz r4, 0(r30)
/* 800E1FBC 000DEF1C 38 04 00 01 */ addi r0, r4, 1
/* 800E1FC0 000DEF20 90 1E 00 00 */ stw r0, 0(r30)
lbl_800E1FC4:
/* 800E1FC4 000DEF24 38 C6 00 04 */ addi r6, r6, 4
/* 800E1FC8 000DEF28 38 63 00 01 */ addi r3, r3, 1
/* 800E1FCC 000DEF2C 42 00 FF C0 */ bdnz lbl_800E1F8C
lbl_800E1FD0:
/* 800E1FD0 000DEF30 38 60 08 04 */ li r3, 0x804
/* 800E1FD4 000DEF34 48 23 38 ED */ bl OffsetFakeStatics__7CMemoryFi
/* 800E1FD8 000DEF38 80 61 00 24 */ lwz r3, 0x24(r1)
/* 800E1FDC 000DEF3C 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 800E1FE0 000DEF40 90 61 00 0C */ stw r3, 0xc(r1)
/* 800E1FE4 000DEF44 7C 83 02 14 */ add r4, r3, r0
/* 800E1FE8 000DEF48 7C 03 20 50 */ subf r0, r3, r4
/* 800E1FEC 000DEF4C 90 81 00 14 */ stw r4, 0x14(r1)
/* 800E1FF0 000DEF50 90 81 00 10 */ stw r4, 0x10(r1)
/* 800E1FF4 000DEF54 90 61 00 08 */ stw r3, 8(r1)
/* 800E1FF8 000DEF58 7C 09 03 A6 */ mtctr r0
/* 800E1FFC 000DEF5C 7C 03 20 40 */ cmplw r3, r4
/* 800E2000 000DEF60 41 82 00 08 */ beq lbl_800E2008
lbl_800E2004:
/* 800E2004 000DEF64 42 00 00 00 */ bdnz lbl_800E2004
lbl_800E2008:
/* 800E2008 000DEF68 28 03 00 00 */ cmplwi r3, 0
/* 800E200C 000DEF6C 41 82 00 08 */ beq lbl_800E2014
/* 800E2010 000DEF70 48 23 39 21 */ bl Free__7CMemoryFPCv
lbl_800E2014:
/* 800E2014 000DEF74 7F C3 F3 78 */ mr r3, r30
/* 800E2018 000DEF78 BB 41 00 28 */ lmw r26, 0x28(r1)
/* 800E201C 000DEF7C 80 01 00 44 */ lwz r0, 0x44(r1)
/* 800E2020 000DEF80 7C 08 03 A6 */ mtlr r0
/* 800E2024 000DEF84 38 21 00 40 */ addi r1, r1, 0x40
/* 800E2028 000DEF88 4E 80 00 20 */ blr
.global __ct__14CScriptMailboxFv
__ct__14CScriptMailboxFv:
/* 800E202C 000DEF8C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 800E2030 000DEF90 7C 08 02 A6 */ mflr r0
/* 800E2034 000DEF94 90 01 00 14 */ stw r0, 0x14(r1)
/* 800E2038 000DEF98 38 00 00 00 */ li r0, 0
/* 800E203C 000DEF9C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 800E2040 000DEFA0 7C 7F 1B 78 */ mr r31, r3
/* 800E2044 000DEFA4 90 03 00 00 */ stw r0, 0(r3)
/* 800E2048 000DEFA8 38 60 08 04 */ li r3, 0x804
/* 800E204C 000DEFAC 48 23 38 75 */ bl OffsetFakeStatics__7CMemoryFi
/* 800E2050 000DEFB0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 800E2054 000DEFB4 7F E3 FB 78 */ mr r3, r31
/* 800E2058 000DEFB8 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 800E205C 000DEFBC 7C 08 03 A6 */ mtlr r0
/* 800E2060 000DEFC0 38 21 00 10 */ addi r1, r1, 0x10
/* 800E2064 000DEFC4 4E 80 00 20 */ blr

View File

@ -0,0 +1,232 @@
.include "macros.inc"
.section .text, "ax"
.global __dt__12CScriptRelayFv
__dt__12CScriptRelayFv:
/* 800E2068 000DEFC8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 800E206C 000DEFCC 7C 08 02 A6 */ mflr r0
/* 800E2070 000DEFD0 90 01 00 14 */ stw r0, 0x14(r1)
/* 800E2074 000DEFD4 93 E1 00 0C */ stw r31, 0xc(r1)
/* 800E2078 000DEFD8 7C 9F 23 78 */ mr r31, r4
/* 800E207C 000DEFDC 93 C1 00 08 */ stw r30, 8(r1)
/* 800E2080 000DEFE0 7C 7E 1B 79 */ or. r30, r3, r3
/* 800E2084 000DEFE4 41 82 00 28 */ beq lbl_800E20AC
/* 800E2088 000DEFE8 3C A0 80 3E */ lis r5, lbl_803DF830@ha
/* 800E208C 000DEFEC 38 80 00 00 */ li r4, 0
/* 800E2090 000DEFF0 38 05 F8 30 */ addi r0, r5, lbl_803DF830@l
/* 800E2094 000DEFF4 90 1E 00 00 */ stw r0, 0(r30)
/* 800E2098 000DEFF8 4B F6 F1 DD */ bl __dt__7CEntityFv
/* 800E209C 000DEFFC 7F E0 07 35 */ extsh. r0, r31
/* 800E20A0 000DF000 40 81 00 0C */ ble lbl_800E20AC
/* 800E20A4 000DF004 7F C3 F3 78 */ mr r3, r30
/* 800E20A8 000DF008 48 23 38 89 */ bl Free__7CMemoryFPCv
lbl_800E20AC:
/* 800E20AC 000DF00C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 800E20B0 000DF010 7F C3 F3 78 */ mr r3, r30
/* 800E20B4 000DF014 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 800E20B8 000DF018 83 C1 00 08 */ lwz r30, 8(r1)
/* 800E20BC 000DF01C 7C 08 03 A6 */ mtlr r0
/* 800E20C0 000DF020 38 21 00 10 */ addi r1, r1, 0x10
/* 800E20C4 000DF024 4E 80 00 20 */ blr
.global Accept__12CScriptRelayFR8IVisitor
Accept__12CScriptRelayFR8IVisitor:
/* 800E20C8 000DF028 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 800E20CC 000DF02C 7C 08 02 A6 */ mflr r0
/* 800E20D0 000DF030 90 01 00 14 */ stw r0, 0x14(r1)
/* 800E20D4 000DF034 7C 60 1B 78 */ mr r0, r3
/* 800E20D8 000DF038 7C 83 23 78 */ mr r3, r4
/* 800E20DC 000DF03C 81 84 00 00 */ lwz r12, 0(r4)
/* 800E20E0 000DF040 7C 04 03 78 */ mr r4, r0
/* 800E20E4 000DF044 81 8C 00 24 */ lwz r12, 0x24(r12)
/* 800E20E8 000DF048 7D 89 03 A6 */ mtctr r12
/* 800E20EC 000DF04C 4E 80 04 21 */ bctrl
/* 800E20F0 000DF050 80 01 00 14 */ lwz r0, 0x14(r1)
/* 800E20F4 000DF054 7C 08 03 A6 */ mtlr r0
/* 800E20F8 000DF058 38 21 00 10 */ addi r1, r1, 0x10
/* 800E20FC 000DF05C 4E 80 00 20 */ blr
.global Think__12CScriptRelayFfR13CStateManager
Think__12CScriptRelayFfR13CStateManager:
/* 800E2100 000DF060 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 800E2104 000DF064 7C 08 02 A6 */ mflr r0
/* 800E2108 000DF068 90 01 00 14 */ stw r0, 0x14(r1)
/* 800E210C 000DF06C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 800E2110 000DF070 7C 9F 23 78 */ mr r31, r4
/* 800E2114 000DF074 93 C1 00 08 */ stw r30, 8(r1)
/* 800E2118 000DF078 7C 7E 1B 78 */ mr r30, r3
/* 800E211C 000DF07C 80 03 00 38 */ lwz r0, 0x38(r3)
/* 800E2120 000DF080 2C 00 00 00 */ cmpwi r0, 0
/* 800E2124 000DF084 41 82 00 40 */ beq lbl_800E2164
/* 800E2128 000DF088 48 00 00 24 */ b lbl_800E214C
lbl_800E212C:
/* 800E212C 000DF08C 80 DE 00 38 */ lwz r6, 0x38(r30)
/* 800E2130 000DF090 7F C3 F3 78 */ mr r3, r30
/* 800E2134 000DF094 7F E5 FB 78 */ mr r5, r31
/* 800E2138 000DF098 38 80 00 09 */ li r4, 9
/* 800E213C 000DF09C 38 06 FF FF */ addi r0, r6, -1
/* 800E2140 000DF0A0 38 C0 FF FF */ li r6, -1
/* 800E2144 000DF0A4 90 1E 00 38 */ stw r0, 0x38(r30)
/* 800E2148 000DF0A8 4B F6 EF 79 */ bl SendScriptMsgs__7CEntityF18EScriptObjectStateR13CStateManager20EScriptObjectMessage
lbl_800E214C:
/* 800E214C 000DF0AC 80 1E 00 38 */ lwz r0, 0x38(r30)
/* 800E2150 000DF0B0 2C 00 00 00 */ cmpwi r0, 0
/* 800E2154 000DF0B4 40 82 FF D8 */ bne lbl_800E212C
/* 800E2158 000DF0B8 7F C3 F3 78 */ mr r3, r30
/* 800E215C 000DF0BC 7F E4 FB 78 */ mr r4, r31
/* 800E2160 000DF0C0 48 00 01 25 */ bl UpdateObjectRef__12CScriptRelayFR13CStateManager
lbl_800E2164:
/* 800E2164 000DF0C4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 800E2168 000DF0C8 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 800E216C 000DF0CC 83 C1 00 08 */ lwz r30, 8(r1)
/* 800E2170 000DF0D0 7C 08 03 A6 */ mtlr r0
/* 800E2174 000DF0D4 38 21 00 10 */ addi r1, r1, 0x10
/* 800E2178 000DF0D8 4E 80 00 20 */ blr
.global AcceptScriptMsg__12CScriptRelayF20EScriptObjectMessage9TUniqueIdR13CStateManager
AcceptScriptMsg__12CScriptRelayF20EScriptObjectMessage9TUniqueIdR13CStateManager:
/* 800E217C 000DF0DC 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 800E2180 000DF0E0 7C 08 02 A6 */ mflr r0
/* 800E2184 000DF0E4 90 01 00 34 */ stw r0, 0x34(r1)
/* 800E2188 000DF0E8 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 800E218C 000DF0EC 7C DF 33 78 */ mr r31, r6
/* 800E2190 000DF0F0 93 C1 00 28 */ stw r30, 0x28(r1)
/* 800E2194 000DF0F4 7C 7E 1B 78 */ mr r30, r3
/* 800E2198 000DF0F8 93 A1 00 24 */ stw r29, 0x24(r1)
/* 800E219C 000DF0FC 7C 9D 23 78 */ mr r29, r4
/* 800E21A0 000DF100 A0 05 00 00 */ lhz r0, 0(r5)
/* 800E21A4 000DF104 38 A1 00 0C */ addi r5, r1, 0xc
/* 800E21A8 000DF108 B0 01 00 0C */ sth r0, 0xc(r1)
/* 800E21AC 000DF10C 4B F6 EF B1 */ bl AcceptScriptMsg__7CEntityF20EScriptObjectMessage9TUniqueIdR13CStateManager
/* 800E21B0 000DF110 2C 1D 00 22 */ cmpwi r29, 0x22
/* 800E21B4 000DF114 41 82 00 A8 */ beq lbl_800E225C
/* 800E21B8 000DF118 40 80 00 B0 */ bge lbl_800E2268
/* 800E21BC 000DF11C 2C 1D 00 0D */ cmpwi r29, 0xd
/* 800E21C0 000DF120 41 82 00 08 */ beq lbl_800E21C8
/* 800E21C4 000DF124 48 00 00 A4 */ b lbl_800E2268
lbl_800E21C8:
/* 800E21C8 000DF128 88 1E 00 30 */ lbz r0, 0x30(r30)
/* 800E21CC 000DF12C 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 800E21D0 000DF130 41 82 00 98 */ beq lbl_800E2268
/* 800E21D4 000DF134 80 7E 00 38 */ lwz r3, 0x38(r30)
/* 800E21D8 000DF138 38 03 00 01 */ addi r0, r3, 1
/* 800E21DC 000DF13C 90 1E 00 38 */ stw r0, 0x38(r30)
/* 800E21E0 000DF140 A0 1F 0F 76 */ lhz r0, 0xf76(r31)
/* 800E21E4 000DF144 B0 01 00 10 */ sth r0, 0x10(r1)
/* 800E21E8 000DF148 48 00 00 34 */ b lbl_800E221C
lbl_800E21EC:
/* 800E21EC 000DF14C A0 01 00 10 */ lhz r0, 0x10(r1)
/* 800E21F0 000DF150 7F E3 FB 78 */ mr r3, r31
/* 800E21F4 000DF154 38 81 00 08 */ addi r4, r1, 8
/* 800E21F8 000DF158 B0 01 00 08 */ sth r0, 8(r1)
/* 800E21FC 000DF15C 4B F6 A3 79 */ bl ObjectById__13CStateManagerF9TUniqueId
/* 800E2200 000DF160 28 03 00 00 */ cmplwi r3, 0
/* 800E2204 000DF164 40 82 00 10 */ bne lbl_800E2214
/* 800E2208 000DF168 A0 0D A3 8C */ lhz r0, lbl_805A8F4C@sda21(r13)
/* 800E220C 000DF16C B0 01 00 10 */ sth r0, 0x10(r1)
/* 800E2210 000DF170 48 00 00 28 */ b lbl_800E2238
lbl_800E2214:
/* 800E2214 000DF174 A0 03 00 34 */ lhz r0, 0x34(r3)
/* 800E2218 000DF178 B0 01 00 10 */ sth r0, 0x10(r1)
lbl_800E221C:
/* 800E221C 000DF17C A0 61 00 10 */ lhz r3, 0x10(r1)
/* 800E2220 000DF180 A0 1E 00 08 */ lhz r0, 8(r30)
/* 800E2224 000DF184 7C 03 00 40 */ cmplw r3, r0
/* 800E2228 000DF188 41 82 00 10 */ beq lbl_800E2238
/* 800E222C 000DF18C A0 0D A3 8C */ lhz r0, lbl_805A8F4C@sda21(r13)
/* 800E2230 000DF190 7C 03 00 40 */ cmplw r3, r0
/* 800E2234 000DF194 40 82 FF B8 */ bne lbl_800E21EC
lbl_800E2238:
/* 800E2238 000DF198 A0 61 00 10 */ lhz r3, 0x10(r1)
/* 800E223C 000DF19C A0 0D A3 8C */ lhz r0, lbl_805A8F4C@sda21(r13)
/* 800E2240 000DF1A0 7C 03 00 40 */ cmplw r3, r0
/* 800E2244 000DF1A4 40 82 00 24 */ bne lbl_800E2268
/* 800E2248 000DF1A8 A0 1F 0F 76 */ lhz r0, 0xf76(r31)
/* 800E224C 000DF1AC B0 1E 00 34 */ sth r0, 0x34(r30)
/* 800E2250 000DF1B0 A0 1E 00 08 */ lhz r0, 8(r30)
/* 800E2254 000DF1B4 B0 1F 0F 76 */ sth r0, 0xf76(r31)
/* 800E2258 000DF1B8 48 00 00 10 */ b lbl_800E2268
lbl_800E225C:
/* 800E225C 000DF1BC 7F C3 F3 78 */ mr r3, r30
/* 800E2260 000DF1C0 7F E4 FB 78 */ mr r4, r31
/* 800E2264 000DF1C4 48 00 00 21 */ bl UpdateObjectRef__12CScriptRelayFR13CStateManager
lbl_800E2268:
/* 800E2268 000DF1C8 80 01 00 34 */ lwz r0, 0x34(r1)
/* 800E226C 000DF1CC 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 800E2270 000DF1D0 83 C1 00 28 */ lwz r30, 0x28(r1)
/* 800E2274 000DF1D4 83 A1 00 24 */ lwz r29, 0x24(r1)
/* 800E2278 000DF1D8 7C 08 03 A6 */ mtlr r0
/* 800E227C 000DF1DC 38 21 00 30 */ addi r1, r1, 0x30
/* 800E2280 000DF1E0 4E 80 00 20 */ blr
.global UpdateObjectRef__12CScriptRelayFR13CStateManager
UpdateObjectRef__12CScriptRelayFR13CStateManager:
/* 800E2284 000DF1E4 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 800E2288 000DF1E8 7C 08 02 A6 */ mflr r0
/* 800E228C 000DF1EC 90 01 00 24 */ stw r0, 0x24(r1)
/* 800E2290 000DF1F0 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 800E2294 000DF1F4 7C 9F 23 78 */ mr r31, r4
/* 800E2298 000DF1F8 38 9F 0F 76 */ addi r4, r31, 0xf76
/* 800E229C 000DF1FC 93 C1 00 18 */ stw r30, 0x18(r1)
/* 800E22A0 000DF200 7C 7E 1B 78 */ mr r30, r3
/* 800E22A4 000DF204 48 00 00 3C */ b lbl_800E22E0
lbl_800E22A8:
/* 800E22A8 000DF208 A0 1E 00 08 */ lhz r0, 8(r30)
/* 800E22AC 000DF20C 7C 03 00 40 */ cmplw r3, r0
/* 800E22B0 000DF210 40 82 00 10 */ bne lbl_800E22C0
/* 800E22B4 000DF214 A0 1E 00 34 */ lhz r0, 0x34(r30)
/* 800E22B8 000DF218 B0 04 00 00 */ sth r0, 0(r4)
/* 800E22BC 000DF21C 48 00 00 3C */ b lbl_800E22F8
lbl_800E22C0:
/* 800E22C0 000DF220 A0 04 00 00 */ lhz r0, 0(r4)
/* 800E22C4 000DF224 7F E3 FB 78 */ mr r3, r31
/* 800E22C8 000DF228 38 81 00 08 */ addi r4, r1, 8
/* 800E22CC 000DF22C B0 01 00 08 */ sth r0, 8(r1)
/* 800E22D0 000DF230 4B F6 A2 A5 */ bl ObjectById__13CStateManagerF9TUniqueId
/* 800E22D4 000DF234 28 03 00 00 */ cmplwi r3, 0
/* 800E22D8 000DF238 41 82 00 20 */ beq lbl_800E22F8
/* 800E22DC 000DF23C 38 83 00 34 */ addi r4, r3, 0x34
lbl_800E22E0:
/* 800E22E0 000DF240 28 04 00 00 */ cmplwi r4, 0
/* 800E22E4 000DF244 41 82 00 14 */ beq lbl_800E22F8
/* 800E22E8 000DF248 A0 64 00 00 */ lhz r3, 0(r4)
/* 800E22EC 000DF24C A0 0D A3 8C */ lhz r0, lbl_805A8F4C@sda21(r13)
/* 800E22F0 000DF250 7C 03 00 40 */ cmplw r3, r0
/* 800E22F4 000DF254 40 82 FF B4 */ bne lbl_800E22A8
lbl_800E22F8:
/* 800E22F8 000DF258 80 01 00 24 */ lwz r0, 0x24(r1)
/* 800E22FC 000DF25C 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 800E2300 000DF260 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 800E2304 000DF264 7C 08 03 A6 */ mtlr r0
/* 800E2308 000DF268 38 21 00 20 */ addi r1, r1, 0x20
/* 800E230C 000DF26C 4E 80 00 20 */ blr
.global "__ct__12CScriptRelayF9TUniqueIdRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>RC11CEntityInfofb"
"__ct__12CScriptRelayF9TUniqueIdRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>RC11CEntityInfofb":
/* 800E2310 000DF270 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 800E2314 000DF274 7C 08 02 A6 */ mflr r0
/* 800E2318 000DF278 90 01 00 24 */ stw r0, 0x24(r1)
/* 800E231C 000DF27C 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 800E2320 000DF280 7C 7F 1B 78 */ mr r31, r3
/* 800E2324 000DF284 A0 04 00 00 */ lhz r0, 0(r4)
/* 800E2328 000DF288 7C A4 2B 78 */ mr r4, r5
/* 800E232C 000DF28C 7C C5 33 78 */ mr r5, r6
/* 800E2330 000DF290 7C E6 3B 78 */ mr r6, r7
/* 800E2334 000DF294 B0 01 00 08 */ sth r0, 8(r1)
/* 800E2338 000DF298 7C 87 23 78 */ mr r7, r4
/* 800E233C 000DF29C 38 81 00 08 */ addi r4, r1, 8
/* 800E2340 000DF2A0 4B F6 EF E5 */ bl "__ct__7CEntityF9TUniqueIdRC11CEntityInfobRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>"
/* 800E2344 000DF2A4 3C 60 80 3E */ lis r3, lbl_803DF830@ha
/* 800E2348 000DF2A8 38 00 00 00 */ li r0, 0
/* 800E234C 000DF2AC 38 83 F8 30 */ addi r4, r3, lbl_803DF830@l
/* 800E2350 000DF2B0 7F E3 FB 78 */ mr r3, r31
/* 800E2354 000DF2B4 90 9F 00 00 */ stw r4, 0(r31)
/* 800E2358 000DF2B8 A0 8D A3 8C */ lhz r4, lbl_805A8F4C@sda21(r13)
/* 800E235C 000DF2BC B0 9F 00 34 */ sth r4, 0x34(r31)
/* 800E2360 000DF2C0 90 1F 00 38 */ stw r0, 0x38(r31)
/* 800E2364 000DF2C4 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 800E2368 000DF2C8 80 01 00 24 */ lwz r0, 0x24(r1)
/* 800E236C 000DF2CC 7C 08 03 A6 */ mtlr r0
/* 800E2370 000DF2D0 38 21 00 20 */ addi r1, r1, 0x20
/* 800E2374 000DF2D4 4E 80 00 20 */ blr

View File

@ -0,0 +1,271 @@
.include "macros.inc"
.section .text, "ax"
.global FAiFiniteStateMachineFactory__FRC10SObjectTagR12CInputStreamRC15CVParamTransfer
FAiFiniteStateMachineFactory__FRC10SObjectTagR12CInputStreamRC15CVParamTransfer:
/* 800DE7FC 000DB75C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 800DE800 000DB760 7C 08 02 A6 */ mflr r0
/* 800DE804 000DB764 3C 80 80 3D */ lis r4, lbl_803CE528@ha
/* 800DE808 000DB768 90 01 00 14 */ stw r0, 0x14(r1)
/* 800DE80C 000DB76C 38 84 E5 28 */ addi r4, r4, lbl_803CE528@l
/* 800DE810 000DB770 93 E1 00 0C */ stw r31, 0xc(r1)
/* 800DE814 000DB774 7C BF 2B 78 */ mr r31, r5
/* 800DE818 000DB778 38 A0 00 00 */ li r5, 0
/* 800DE81C 000DB77C 93 C1 00 08 */ stw r30, 8(r1)
/* 800DE820 000DB780 7C 7E 1B 78 */ mr r30, r3
/* 800DE824 000DB784 38 60 00 20 */ li r3, 0x20
/* 800DE828 000DB788 48 23 70 45 */ bl __nw__FUlPCcPCc
/* 800DE82C 000DB78C 7C 64 1B 79 */ or. r4, r3, r3
/* 800DE830 000DB790 41 82 00 10 */ beq lbl_800DE840
/* 800DE834 000DB794 7F E4 FB 78 */ mr r4, r31
/* 800DE838 000DB798 4B FA 0E 3D */ bl __ct__13CStateMachineFR12CInputStream
/* 800DE83C 000DB79C 7C 64 1B 78 */ mr r4, r3
lbl_800DE840:
/* 800DE840 000DB7A0 7F C3 F3 78 */ mr r3, r30
/* 800DE844 000DB7A4 48 00 00 1D */ bl "__ct<13CStateMachine>__16CFactoryFnReturnFP13CStateMachine"
/* 800DE848 000DB7A8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 800DE84C 000DB7AC 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 800DE850 000DB7B0 83 C1 00 08 */ lwz r30, 8(r1)
/* 800DE854 000DB7B4 7C 08 03 A6 */ mtlr r0
/* 800DE858 000DB7B8 38 21 00 10 */ addi r1, r1, 0x10
/* 800DE85C 000DB7BC 4E 80 00 20 */ blr
.global "__ct<13CStateMachine>__16CFactoryFnReturnFP13CStateMachine"
"__ct<13CStateMachine>__16CFactoryFnReturnFP13CStateMachine":
/* 800DE860 000DB7C0 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 800DE864 000DB7C4 7C 08 02 A6 */ mflr r0
/* 800DE868 000DB7C8 90 01 00 24 */ stw r0, 0x24(r1)
/* 800DE86C 000DB7CC 7C 04 00 D0 */ neg r0, r4
/* 800DE870 000DB7D0 7C 00 23 78 */ or r0, r0, r4
/* 800DE874 000DB7D4 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 800DE878 000DB7D8 54 00 0F FE */ srwi r0, r0, 0x1f
/* 800DE87C 000DB7DC 7C 7F 1B 78 */ mr r31, r3
/* 800DE880 000DB7E0 38 61 00 08 */ addi r3, r1, 8
/* 800DE884 000DB7E4 90 81 00 14 */ stw r4, 0x14(r1)
/* 800DE888 000DB7E8 38 81 00 10 */ addi r4, r1, 0x10
/* 800DE88C 000DB7EC 98 01 00 10 */ stb r0, 0x10(r1)
/* 800DE890 000DB7F0 48 00 01 E1 */ bl "GetIObjObjectFor__23TToken<13CStateMachine>FRCQ24rstl25auto_ptr<13CStateMachine>"
/* 800DE894 000DB7F4 80 61 00 0C */ lwz r3, 0xc(r1)
/* 800DE898 000DB7F8 38 00 00 00 */ li r0, 0
/* 800DE89C 000DB7FC 98 01 00 08 */ stb r0, 8(r1)
/* 800DE8A0 000DB800 7C 03 00 D0 */ neg r0, r3
/* 800DE8A4 000DB804 7C 00 1B 78 */ or r0, r0, r3
/* 800DE8A8 000DB808 54 00 0F FE */ srwi r0, r0, 0x1f
/* 800DE8AC 000DB80C 98 1F 00 00 */ stb r0, 0(r31)
/* 800DE8B0 000DB810 90 7F 00 04 */ stw r3, 4(r31)
/* 800DE8B4 000DB814 88 01 00 08 */ lbz r0, 8(r1)
/* 800DE8B8 000DB818 28 00 00 00 */ cmplwi r0, 0
/* 800DE8BC 000DB81C 41 82 00 24 */ beq lbl_800DE8E0
/* 800DE8C0 000DB820 80 61 00 0C */ lwz r3, 0xc(r1)
/* 800DE8C4 000DB824 28 03 00 00 */ cmplwi r3, 0
/* 800DE8C8 000DB828 41 82 00 18 */ beq lbl_800DE8E0
/* 800DE8CC 000DB82C 81 83 00 00 */ lwz r12, 0(r3)
/* 800DE8D0 000DB830 38 80 00 01 */ li r4, 1
/* 800DE8D4 000DB834 81 8C 00 08 */ lwz r12, 8(r12)
/* 800DE8D8 000DB838 7D 89 03 A6 */ mtctr r12
/* 800DE8DC 000DB83C 4E 80 04 21 */ bctrl
lbl_800DE8E0:
/* 800DE8E0 000DB840 38 61 00 10 */ addi r3, r1, 0x10
/* 800DE8E4 000DB844 38 80 FF FF */ li r4, -1
/* 800DE8E8 000DB848 48 00 02 51 */ bl "__dt__Q24rstl53auto_ptr<41TObjOwnerDerivedFromIObj<13CStateMachine>>Fv"
/* 800DE8EC 000DB84C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 800DE8F0 000DB850 7F E3 FB 78 */ mr r3, r31
/* 800DE8F4 000DB854 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 800DE8F8 000DB858 7C 08 03 A6 */ mtlr r0
/* 800DE8FC 000DB85C 38 21 00 20 */ addi r1, r1, 0x20
/* 800DE900 000DB860 4E 80 00 20 */ blr
.global sub_800de904
sub_800de904:
/* 800DE904 000DB864 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 800DE908 000DB868 7C 08 02 A6 */ mflr r0
/* 800DE90C 000DB86C 90 01 00 14 */ stw r0, 0x14(r1)
/* 800DE910 000DB870 93 E1 00 0C */ stw r31, 0xc(r1)
/* 800DE914 000DB874 7C 9F 23 78 */ mr r31, r4
/* 800DE918 000DB878 93 C1 00 08 */ stw r30, 8(r1)
/* 800DE91C 000DB87C 7C 7E 1B 79 */ or. r30, r3, r3
/* 800DE920 000DB880 41 82 00 58 */ beq lbl_800DE978
/* 800DE924 000DB884 3C 60 80 3E */ lis r3, lbl_803DF700@ha
/* 800DE928 000DB888 38 03 F7 00 */ addi r0, r3, lbl_803DF700@l
/* 800DE92C 000DB88C 90 1E 00 00 */ stw r0, 0(r30)
/* 800DE930 000DB890 80 7E 00 04 */ lwz r3, 4(r30)
/* 800DE934 000DB894 28 03 00 00 */ cmplwi r3, 0
/* 800DE938 000DB898 41 82 00 0C */ beq lbl_800DE944
/* 800DE93C 000DB89C 38 80 00 01 */ li r4, 1
/* 800DE940 000DB8A0 48 00 00 55 */ bl sub_800de994
lbl_800DE944:
/* 800DE944 000DB8A4 28 1E 00 00 */ cmplwi r30, 0
/* 800DE948 000DB8A8 41 82 00 20 */ beq lbl_800DE968
/* 800DE94C 000DB8AC 3C 60 80 3E */ lis r3, lbl_803D8D78@ha
/* 800DE950 000DB8B0 38 03 8D 78 */ addi r0, r3, lbl_803D8D78@l
/* 800DE954 000DB8B4 90 1E 00 00 */ stw r0, 0(r30)
/* 800DE958 000DB8B8 41 82 00 10 */ beq lbl_800DE968
/* 800DE95C 000DB8BC 3C 60 80 3E */ lis r3, lbl_803D8D6C@ha
/* 800DE960 000DB8C0 38 03 8D 6C */ addi r0, r3, lbl_803D8D6C@l
/* 800DE964 000DB8C4 90 1E 00 00 */ stw r0, 0(r30)
lbl_800DE968:
/* 800DE968 000DB8C8 7F E0 07 35 */ extsh. r0, r31
/* 800DE96C 000DB8CC 40 81 00 0C */ ble lbl_800DE978
/* 800DE970 000DB8D0 7F C3 F3 78 */ mr r3, r30
/* 800DE974 000DB8D4 48 23 6F BD */ bl Free__7CMemoryFPCv
lbl_800DE978:
/* 800DE978 000DB8D8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 800DE97C 000DB8DC 7F C3 F3 78 */ mr r3, r30
/* 800DE980 000DB8E0 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 800DE984 000DB8E4 83 C1 00 08 */ lwz r30, 8(r1)
/* 800DE988 000DB8E8 7C 08 03 A6 */ mtlr r0
/* 800DE98C 000DB8EC 38 21 00 10 */ addi r1, r1, 0x10
/* 800DE990 000DB8F0 4E 80 00 20 */ blr
.global sub_800de994
sub_800de994:
/* 800DE994 000DB8F4 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 800DE998 000DB8F8 7C 08 02 A6 */ mflr r0
/* 800DE99C 000DB8FC 90 01 00 34 */ stw r0, 0x34(r1)
/* 800DE9A0 000DB900 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 800DE9A4 000DB904 7C 9F 23 78 */ mr r31, r4
/* 800DE9A8 000DB908 93 C1 00 28 */ stw r30, 0x28(r1)
/* 800DE9AC 000DB90C 7C 7E 1B 79 */ or. r30, r3, r3
/* 800DE9B0 000DB910 41 82 00 A4 */ beq lbl_800DEA54
/* 800DE9B4 000DB914 34 1E 00 10 */ addic. r0, r30, 0x10
/* 800DE9B8 000DB918 41 82 00 44 */ beq lbl_800DE9FC
/* 800DE9BC 000DB91C 80 1E 00 14 */ lwz r0, 0x14(r30)
/* 800DE9C0 000DB920 80 7E 00 1C */ lwz r3, 0x1c(r30)
/* 800DE9C4 000DB924 1C 00 00 1C */ mulli r0, r0, 0x1c
/* 800DE9C8 000DB928 90 61 00 1C */ stw r3, 0x1c(r1)
/* 800DE9CC 000DB92C 7C 64 1B 78 */ mr r4, r3
/* 800DE9D0 000DB930 7C 03 02 14 */ add r0, r3, r0
/* 800DE9D4 000DB934 90 61 00 18 */ stw r3, 0x18(r1)
/* 800DE9D8 000DB938 90 01 00 24 */ stw r0, 0x24(r1)
/* 800DE9DC 000DB93C 90 01 00 20 */ stw r0, 0x20(r1)
/* 800DE9E0 000DB940 48 00 00 08 */ b lbl_800DE9E8
lbl_800DE9E4:
/* 800DE9E4 000DB944 38 84 00 1C */ addi r4, r4, 0x1c
lbl_800DE9E8:
/* 800DE9E8 000DB948 7C 04 00 40 */ cmplw r4, r0
/* 800DE9EC 000DB94C 40 82 FF F8 */ bne lbl_800DE9E4
/* 800DE9F0 000DB950 28 03 00 00 */ cmplwi r3, 0
/* 800DE9F4 000DB954 41 82 00 08 */ beq lbl_800DE9FC
/* 800DE9F8 000DB958 48 23 6F 39 */ bl Free__7CMemoryFPCv
lbl_800DE9FC:
/* 800DE9FC 000DB95C 28 1E 00 00 */ cmplwi r30, 0
/* 800DEA00 000DB960 41 82 00 44 */ beq lbl_800DEA44
/* 800DEA04 000DB964 80 1E 00 04 */ lwz r0, 4(r30)
/* 800DEA08 000DB968 80 7E 00 0C */ lwz r3, 0xc(r30)
/* 800DEA0C 000DB96C 1C 00 00 34 */ mulli r0, r0, 0x34
/* 800DEA10 000DB970 90 61 00 0C */ stw r3, 0xc(r1)
/* 800DEA14 000DB974 7C 64 1B 78 */ mr r4, r3
/* 800DEA18 000DB978 7C 03 02 14 */ add r0, r3, r0
/* 800DEA1C 000DB97C 90 61 00 08 */ stw r3, 8(r1)
/* 800DEA20 000DB980 90 01 00 14 */ stw r0, 0x14(r1)
/* 800DEA24 000DB984 90 01 00 10 */ stw r0, 0x10(r1)
/* 800DEA28 000DB988 48 00 00 08 */ b lbl_800DEA30
lbl_800DEA2C:
/* 800DEA2C 000DB98C 38 84 00 34 */ addi r4, r4, 0x34
lbl_800DEA30:
/* 800DEA30 000DB990 7C 04 00 40 */ cmplw r4, r0
/* 800DEA34 000DB994 40 82 FF F8 */ bne lbl_800DEA2C
/* 800DEA38 000DB998 28 03 00 00 */ cmplwi r3, 0
/* 800DEA3C 000DB99C 41 82 00 08 */ beq lbl_800DEA44
/* 800DEA40 000DB9A0 48 23 6E F1 */ bl Free__7CMemoryFPCv
lbl_800DEA44:
/* 800DEA44 000DB9A4 7F E0 07 35 */ extsh. r0, r31
/* 800DEA48 000DB9A8 40 81 00 0C */ ble lbl_800DEA54
/* 800DEA4C 000DB9AC 7F C3 F3 78 */ mr r3, r30
/* 800DEA50 000DB9B0 48 23 6E E1 */ bl Free__7CMemoryFPCv
lbl_800DEA54:
/* 800DEA54 000DB9B4 80 01 00 34 */ lwz r0, 0x34(r1)
/* 800DEA58 000DB9B8 7F C3 F3 78 */ mr r3, r30
/* 800DEA5C 000DB9BC 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 800DEA60 000DB9C0 83 C1 00 28 */ lwz r30, 0x28(r1)
/* 800DEA64 000DB9C4 7C 08 03 A6 */ mtlr r0
/* 800DEA68 000DB9C8 38 21 00 30 */ addi r1, r1, 0x30
/* 800DEA6C 000DB9CC 4E 80 00 20 */ blr
.global "GetIObjObjectFor__23TToken<13CStateMachine>FRCQ24rstl25auto_ptr<13CStateMachine>"
"GetIObjObjectFor__23TToken<13CStateMachine>FRCQ24rstl25auto_ptr<13CStateMachine>":
/* 800DEA70 000DB9D0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 800DEA74 000DB9D4 7C 08 02 A6 */ mflr r0
/* 800DEA78 000DB9D8 90 01 00 14 */ stw r0, 0x14(r1)
/* 800DEA7C 000DB9DC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 800DEA80 000DB9E0 7C 7F 1B 78 */ mr r31, r3
/* 800DEA84 000DB9E4 48 00 00 19 */ bl "GetNewDerivedObject__41TObjOwnerDerivedFromIObj<13CStateMachine>FRCQ24rstl25auto_ptr<13CStateMachine>"
/* 800DEA88 000DB9E8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 800DEA8C 000DB9EC 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 800DEA90 000DB9F0 7C 08 03 A6 */ mtlr r0
/* 800DEA94 000DB9F4 38 21 00 10 */ addi r1, r1, 0x10
/* 800DEA98 000DB9F8 4E 80 00 20 */ blr
.global "GetNewDerivedObject__41TObjOwnerDerivedFromIObj<13CStateMachine>FRCQ24rstl25auto_ptr<13CStateMachine>"
"GetNewDerivedObject__41TObjOwnerDerivedFromIObj<13CStateMachine>FRCQ24rstl25auto_ptr<13CStateMachine>":
/* 800DEA9C 000DB9FC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 800DEAA0 000DBA00 7C 08 02 A6 */ mflr r0
/* 800DEAA4 000DBA04 3C A0 80 3D */ lis r5, lbl_803CE528@ha
/* 800DEAA8 000DBA08 90 01 00 14 */ stw r0, 0x14(r1)
/* 800DEAAC 000DBA0C 38 05 E5 28 */ addi r0, r5, lbl_803CE528@l
/* 800DEAB0 000DBA10 38 A0 00 00 */ li r5, 0
/* 800DEAB4 000DBA14 93 E1 00 0C */ stw r31, 0xc(r1)
/* 800DEAB8 000DBA18 7C 9F 23 78 */ mr r31, r4
/* 800DEABC 000DBA1C 7C 04 03 78 */ mr r4, r0
/* 800DEAC0 000DBA20 93 C1 00 08 */ stw r30, 8(r1)
/* 800DEAC4 000DBA24 7C 7E 1B 78 */ mr r30, r3
/* 800DEAC8 000DBA28 38 60 00 08 */ li r3, 8
/* 800DEACC 000DBA2C 48 23 6D A1 */ bl __nw__FUlPCcPCc
/* 800DEAD0 000DBA30 28 03 00 00 */ cmplwi r3, 0
/* 800DEAD4 000DBA34 41 82 00 38 */ beq lbl_800DEB0C
/* 800DEAD8 000DBA38 3C 80 80 3E */ lis r4, lbl_803D8D6C@ha
/* 800DEADC 000DBA3C 3C A0 80 3E */ lis r5, lbl_803D8D78@ha
/* 800DEAE0 000DBA40 38 04 8D 6C */ addi r0, r4, lbl_803D8D6C@l
/* 800DEAE4 000DBA44 3C 80 80 3E */ lis r4, lbl_803DF700@ha
/* 800DEAE8 000DBA48 90 03 00 00 */ stw r0, 0(r3)
/* 800DEAEC 000DBA4C 38 C5 8D 78 */ addi r6, r5, lbl_803D8D78@l
/* 800DEAF0 000DBA50 38 A0 00 00 */ li r5, 0
/* 800DEAF4 000DBA54 38 04 F7 00 */ addi r0, r4, lbl_803DF700@l
/* 800DEAF8 000DBA58 90 C3 00 00 */ stw r6, 0(r3)
/* 800DEAFC 000DBA5C 98 BF 00 00 */ stb r5, 0(r31)
/* 800DEB00 000DBA60 80 9F 00 04 */ lwz r4, 4(r31)
/* 800DEB04 000DBA64 90 83 00 04 */ stw r4, 4(r3)
/* 800DEB08 000DBA68 90 03 00 00 */ stw r0, 0(r3)
lbl_800DEB0C:
/* 800DEB0C 000DBA6C 7C 03 00 D0 */ neg r0, r3
/* 800DEB10 000DBA70 7C 00 1B 78 */ or r0, r0, r3
/* 800DEB14 000DBA74 54 00 0F FE */ srwi r0, r0, 0x1f
/* 800DEB18 000DBA78 98 1E 00 00 */ stb r0, 0(r30)
/* 800DEB1C 000DBA7C 90 7E 00 04 */ stw r3, 4(r30)
/* 800DEB20 000DBA80 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 800DEB24 000DBA84 83 C1 00 08 */ lwz r30, 8(r1)
/* 800DEB28 000DBA88 80 01 00 14 */ lwz r0, 0x14(r1)
/* 800DEB2C 000DBA8C 7C 08 03 A6 */ mtlr r0
/* 800DEB30 000DBA90 38 21 00 10 */ addi r1, r1, 0x10
/* 800DEB34 000DBA94 4E 80 00 20 */ blr
.global "__dt__Q24rstl53auto_ptr<41TObjOwnerDerivedFromIObj<13CStateMachine>>Fv"
"__dt__Q24rstl53auto_ptr<41TObjOwnerDerivedFromIObj<13CStateMachine>>Fv":
/* 800DEB38 000DBA98 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 800DEB3C 000DBA9C 7C 08 02 A6 */ mflr r0
/* 800DEB40 000DBAA0 90 01 00 14 */ stw r0, 0x14(r1)
/* 800DEB44 000DBAA4 93 E1 00 0C */ stw r31, 0xc(r1)
/* 800DEB48 000DBAA8 7C 9F 23 78 */ mr r31, r4
/* 800DEB4C 000DBAAC 93 C1 00 08 */ stw r30, 8(r1)
/* 800DEB50 000DBAB0 7C 7E 1B 79 */ or. r30, r3, r3
/* 800DEB54 000DBAB4 41 82 00 2C */ beq lbl_800DEB80
/* 800DEB58 000DBAB8 88 1E 00 00 */ lbz r0, 0(r30)
/* 800DEB5C 000DBABC 28 00 00 00 */ cmplwi r0, 0
/* 800DEB60 000DBAC0 41 82 00 10 */ beq lbl_800DEB70
/* 800DEB64 000DBAC4 80 7E 00 04 */ lwz r3, 4(r30)
/* 800DEB68 000DBAC8 38 80 00 01 */ li r4, 1
/* 800DEB6C 000DBACC 4B FF FE 29 */ bl sub_800de994
lbl_800DEB70:
/* 800DEB70 000DBAD0 7F E0 07 35 */ extsh. r0, r31
/* 800DEB74 000DBAD4 40 81 00 0C */ ble lbl_800DEB80
/* 800DEB78 000DBAD8 7F C3 F3 78 */ mr r3, r30
/* 800DEB7C 000DBADC 48 23 6D B5 */ bl Free__7CMemoryFPCv
lbl_800DEB80:
/* 800DEB80 000DBAE0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 800DEB84 000DBAE4 7F C3 F3 78 */ mr r3, r30
/* 800DEB88 000DBAE8 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 800DEB8C 000DBAEC 83 C1 00 08 */ lwz r30, 8(r1)
/* 800DEB90 000DBAF0 7C 08 03 A6 */ mtlr r0
/* 800DEB94 000DBAF4 38 21 00 10 */ addi r1, r1, 0x10
/* 800DEB98 000DBAF8 4E 80 00 20 */ blr

1002
asm/Kyoto_CWD/CWaveBeam.s Normal file

File diff suppressed because it is too large Load Diff

23529
asm/Kyoto_CWD/ScriptLoader.s Normal file

File diff suppressed because it is too large Load Diff

View File

@ -6731,7 +6731,7 @@ __dt__11CWorldStateFv:
/* 80008668 000055C8 80 7F 00 00 */ lwz r3, 0(r31)
/* 8000866C 000055CC 38 80 00 01 */ li r4, 1
/* 80008670 000055D0 80 63 00 00 */ lwz r3, 0(r3)
/* 80008674 000055D4 48 0D 97 95 */ bl __dt__13CRelayTrackerFv
/* 80008674 000055D4 48 0D 97 95 */ bl __dt__14CScriptMailboxFv
/* 80008678 000055D8 80 7F 00 00 */ lwz r3, 0(r31)
/* 8000867C 000055DC 28 03 00 00 */ cmplwi r3, 0
/* 80008680 000055E0 41 82 00 08 */ beq lbl_80008688

34260
asm/text.s

File diff suppressed because it is too large Load Diff

View File

@ -94,6 +94,20 @@ KYOTO_CWD :=\
$(BUILD_DIR)/asm/Kyoto_CWD/CTargetReticles.o\
$(BUILD_DIR)/asm/Kyoto_CWD/CWeaponMgr.o\
$(BUILD_DIR)/asm/Kyoto_CWD/CScriptPickup.o\
$(BUILD_DIR)/asm/Kyoto_CWD/CDamageInfo.o\
$(BUILD_DIR)/asm/Kyoto_CWD/CMemoryDrawEnum.o\
$(BUILD_DIR)/asm/Kyoto_CWD/CScriptDock.o\
$(BUILD_DIR)/asm/Kyoto_CWD/CScriptCameraHint.o\
$(BUILD_DIR)/asm/Kyoto_CWD/CCameraHint.o\
$(BUILD_DIR)/asm/Kyoto_CWD/ScriptLoader.o\
$(BUILD_DIR)/asm/Kyoto_CWD/CSamusDoll.o\
$(BUILD_DIR)/asm/Kyoto_CWD/CStateMachineFactory.o\
$(BUILD_DIR)/asm/Kyoto_CWD/CPlasmaBeam.o\
$(BUILD_DIR)/asm/Kyoto_CWD/CPowerBeam.o\
$(BUILD_DIR)/asm/Kyoto_CWD/CWaveBeam.o\
$(BUILD_DIR)/asm/Kyoto_CWD/CIceBeam.o\
$(BUILD_DIR)/asm/Kyoto_CWD/CScriptMailbox.o\
$(BUILD_DIR)/asm/Kyoto_CWD/CScriptRelay.o\
AI_FILES :=\
$(BUILD_DIR)/asm/Dolphin/ai.o