.include "macros.inc" .section .text, "ax" # 0x80003640 - 0x803CB1C0 .global LoadIdle__10CAuxWeaponFv LoadIdle__10CAuxWeaponFv: /* 801B88A4 001B5804 94 21 FF F0 */ stwu r1, -0x10(r1) /* 801B88A8 001B5808 7C 08 02 A6 */ mflr r0 /* 801B88AC 001B580C 90 01 00 14 */ stw r0, 0x14(r1) /* 801B88B0 001B5810 93 E1 00 0C */ stw r31, 0xc(r1) /* 801B88B4 001B5814 93 C1 00 08 */ stw r30, 8(r1) /* 801B88B8 001B5818 7C 7E 1B 78 */ mr r30, r3 /* 801B88BC 001B581C 80 03 00 78 */ lwz r0, 0x78(r3) /* 801B88C0 001B5820 1C 00 00 0C */ mulli r0, r0, 0xc /* 801B88C4 001B5824 7F FE 02 14 */ add r31, r30, r0 /* 801B88C8 001B5828 80 1F 00 34 */ lwz r0, 0x34(r31) /* 801B88CC 001B582C 3B FF 00 2C */ addi r31, r31, 0x2c /* 801B88D0 001B5830 28 00 00 00 */ cmplwi r0, 0 /* 801B88D4 001B5834 41 82 00 0C */ beq lbl_801B88E0 /* 801B88D8 001B5838 38 60 00 01 */ li r3, 1 /* 801B88DC 001B583C 48 00 00 3C */ b lbl_801B8918 lbl_801B88E0: /* 801B88E0 001B5840 88 1F 00 04 */ lbz r0, 4(r31) /* 801B88E4 001B5844 28 00 00 00 */ cmplwi r0, 0 /* 801B88E8 001B5848 41 82 00 2C */ beq lbl_801B8914 /* 801B88EC 001B584C 80 7F 00 00 */ lwz r3, 0(r31) /* 801B88F0 001B5850 80 03 00 10 */ lwz r0, 0x10(r3) /* 801B88F4 001B5854 28 00 00 00 */ cmplwi r0, 0 /* 801B88F8 001B5858 41 82 00 1C */ beq lbl_801B8914 /* 801B88FC 001B585C 7F E3 FB 78 */ mr r3, r31 /* 801B8900 001B5860 48 18 85 0D */ bl GetObj__6CTokenFv /* 801B8904 001B5864 80 03 00 04 */ lwz r0, 4(r3) /* 801B8908 001B5868 38 60 00 01 */ li r3, 1 /* 801B890C 001B586C 90 1F 00 08 */ stw r0, 8(r31) /* 801B8910 001B5870 48 00 00 08 */ b lbl_801B8918 lbl_801B8914: /* 801B8914 001B5874 38 60 00 00 */ li r3, 0 lbl_801B8918: /* 801B8918 001B5878 88 1E 00 80 */ lbz r0, 0x80(r30) /* 801B891C 001B587C 50 60 3E 30 */ rlwimi r0, r3, 7, 0x18, 0x18 /* 801B8920 001B5880 98 1E 00 80 */ stb r0, 0x80(r30) /* 801B8924 001B5884 83 E1 00 0C */ lwz r31, 0xc(r1) /* 801B8928 001B5888 83 C1 00 08 */ lwz r30, 8(r1) /* 801B892C 001B588C 80 01 00 14 */ lwz r0, 0x14(r1) /* 801B8930 001B5890 7C 08 03 A6 */ mtlr r0 /* 801B8934 001B5894 38 21 00 10 */ addi r1, r1, 0x10 /* 801B8938 001B5898 4E 80 00 20 */ blr .global Load__10CAuxWeaponFiR13CStateManager Load__10CAuxWeaponFiR13CStateManager: /* 801B893C 001B589C 94 21 FF E0 */ stwu r1, -0x20(r1) /* 801B8940 001B58A0 7C 08 02 A6 */ mflr r0 /* 801B8944 001B58A4 38 C0 00 00 */ li r6, 0 /* 801B8948 001B58A8 90 01 00 24 */ stw r0, 0x24(r1) /* 801B894C 001B58AC 93 E1 00 1C */ stw r31, 0x1c(r1) /* 801B8950 001B58B0 93 C1 00 18 */ stw r30, 0x18(r1) /* 801B8954 001B58B4 7C 9E 23 78 */ mr r30, r4 /* 801B8958 001B58B8 93 A1 00 14 */ stw r29, 0x14(r1) /* 801B895C 001B58BC 7C 7D 1B 78 */ mr r29, r3 /* 801B8960 001B58C0 88 03 00 80 */ lbz r0, 0x80(r3) /* 801B8964 001B58C4 50 C0 3E 30 */ rlwimi r0, r6, 7, 0x18, 0x18 /* 801B8968 001B58C8 98 03 00 80 */ stb r0, 0x80(r3) /* 801B896C 001B58CC 80 03 00 78 */ lwz r0, 0x78(r3) /* 801B8970 001B58D0 2C 00 00 03 */ cmpwi r0, 3 /* 801B8974 001B58D4 41 82 00 20 */ beq lbl_801B8994 /* 801B8978 001B58D8 40 80 00 24 */ bge lbl_801B899C /* 801B897C 001B58DC 2C 00 00 02 */ cmpwi r0, 2 /* 801B8980 001B58E0 40 80 00 08 */ bge lbl_801B8988 /* 801B8984 001B58E4 48 00 00 18 */ b lbl_801B899C lbl_801B8988: /* 801B8988 001B58E8 7C A4 2B 78 */ mr r4, r5 /* 801B898C 001B58EC 48 00 00 F9 */ bl DeleteWaveBusterBeam__10CAuxWeaponFR13CStateManager /* 801B8990 001B58F0 48 00 00 0C */ b lbl_801B899C lbl_801B8994: /* 801B8994 001B58F4 7C A4 2B 78 */ mr r4, r5 /* 801B8998 001B58F8 48 00 01 7D */ bl DeleteFlameThrower__10CAuxWeaponFR13CStateManager lbl_801B899C: /* 801B899C 001B58FC 80 7D 00 78 */ lwz r3, 0x78(r29) /* 801B89A0 001B5900 3B FD 00 2C */ addi r31, r29, 0x2c /* 801B89A4 001B5904 38 00 00 00 */ li r0, 0 /* 801B89A8 001B5908 1C 63 00 0C */ mulli r3, r3, 0xc /* 801B89AC 001B590C 7C 7F 1A 14 */ add r3, r31, r3 /* 801B89B0 001B5910 90 03 00 08 */ stw r0, 8(r3) /* 801B89B4 001B5914 48 18 83 8D */ bl Unlock__6CTokenFv /* 801B89B8 001B5918 1C 1E 00 0C */ mulli r0, r30, 0xc /* 801B89BC 001B591C 7C 7F 02 14 */ add r3, r31, r0 /* 801B89C0 001B5920 48 18 83 C5 */ bl Lock__6CTokenFv /* 801B89C4 001B5924 93 DD 00 78 */ stw r30, 0x78(r29) /* 801B89C8 001B5928 7F A3 EB 78 */ mr r3, r29 /* 801B89CC 001B592C 4B FF FE D9 */ bl LoadIdle__10CAuxWeaponFv /* 801B89D0 001B5930 80 01 00 24 */ lwz r0, 0x24(r1) /* 801B89D4 001B5934 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 801B89D8 001B5938 83 C1 00 18 */ lwz r30, 0x18(r1) /* 801B89DC 001B593C 83 A1 00 14 */ lwz r29, 0x14(r1) /* 801B89E0 001B5940 7C 08 03 A6 */ mtlr r0 /* 801B89E4 001B5944 38 21 00 20 */ addi r1, r1, 0x20 /* 801B89E8 001B5948 4E 80 00 20 */ blr .global FreeComboVoiceId__10CAuxWeaponFv FreeComboVoiceId__10CAuxWeaponFv: /* 801B89EC 001B594C 94 21 FF E0 */ stwu r1, -0x20(r1) /* 801B89F0 001B5950 7C 08 02 A6 */ mflr r0 /* 801B89F4 001B5954 90 01 00 24 */ stw r0, 0x24(r1) /* 801B89F8 001B5958 93 E1 00 1C */ stw r31, 0x1c(r1) /* 801B89FC 001B595C 7C 7F 1B 78 */ mr r31, r3 /* 801B8A00 001B5960 38 61 00 08 */ addi r3, r1, 8 /* 801B8A04 001B5964 80 1F 00 7C */ lwz r0, 0x7c(r31) /* 801B8A08 001B5968 90 01 00 08 */ stw r0, 8(r1) /* 801B8A0C 001B596C 48 13 13 3D */ bl SfxStop__11CSfxManagerFRC10CSfxHandle /* 801B8A10 001B5970 38 00 00 00 */ li r0, 0 /* 801B8A14 001B5974 90 1F 00 7C */ stw r0, 0x7c(r31) /* 801B8A18 001B5978 80 01 00 24 */ lwz r0, 0x24(r1) /* 801B8A1C 001B597C 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 801B8A20 001B5980 7C 08 03 A6 */ mtlr r0 /* 801B8A24 001B5984 38 21 00 20 */ addi r1, r1, 0x20 /* 801B8A28 001B5988 4E 80 00 20 */ blr .global AcceptScriptMsg__10CAuxWeaponF20EScriptObjectMessage9TUniqueIdR13CStateManager AcceptScriptMsg__10CAuxWeaponF20EScriptObjectMessage9TUniqueIdR13CStateManager: /* 801B8A2C 001B598C 94 21 FF F0 */ stwu r1, -0x10(r1) /* 801B8A30 001B5990 7C 08 02 A6 */ mflr r0 /* 801B8A34 001B5994 2C 04 00 22 */ cmpwi r4, 0x22 /* 801B8A38 001B5998 90 01 00 14 */ stw r0, 0x14(r1) /* 801B8A3C 001B599C 93 E1 00 0C */ stw r31, 0xc(r1) /* 801B8A40 001B59A0 7C DF 33 78 */ mr r31, r6 /* 801B8A44 001B59A4 93 C1 00 08 */ stw r30, 8(r1) /* 801B8A48 001B59A8 7C 7E 1B 78 */ mr r30, r3 /* 801B8A4C 001B59AC 41 82 00 0C */ beq lbl_801B8A58 /* 801B8A50 001B59B0 40 80 00 1C */ bge lbl_801B8A6C /* 801B8A54 001B59B4 48 00 00 18 */ b lbl_801B8A6C lbl_801B8A58: /* 801B8A58 001B59B8 7F E4 FB 78 */ mr r4, r31 /* 801B8A5C 001B59BC 48 00 00 B9 */ bl DeleteFlameThrower__10CAuxWeaponFR13CStateManager /* 801B8A60 001B59C0 7F C3 F3 78 */ mr r3, r30 /* 801B8A64 001B59C4 7F E4 FB 78 */ mr r4, r31 /* 801B8A68 001B59C8 48 00 00 1D */ bl DeleteWaveBusterBeam__10CAuxWeaponFR13CStateManager lbl_801B8A6C: /* 801B8A6C 001B59CC 80 01 00 14 */ lwz r0, 0x14(r1) /* 801B8A70 001B59D0 83 E1 00 0C */ lwz r31, 0xc(r1) /* 801B8A74 001B59D4 83 C1 00 08 */ lwz r30, 8(r1) /* 801B8A78 001B59D8 7C 08 03 A6 */ mtlr r0 /* 801B8A7C 001B59DC 38 21 00 10 */ addi r1, r1, 0x10 /* 801B8A80 001B59E0 4E 80 00 20 */ blr .global DeleteWaveBusterBeam__10CAuxWeaponFR13CStateManager DeleteWaveBusterBeam__10CAuxWeaponFR13CStateManager: /* 801B8A84 001B59E4 94 21 FF E0 */ stwu r1, -0x20(r1) /* 801B8A88 001B59E8 7C 08 02 A6 */ mflr r0 /* 801B8A8C 001B59EC 90 01 00 24 */ stw r0, 0x24(r1) /* 801B8A90 001B59F0 93 E1 00 1C */ stw r31, 0x1c(r1) /* 801B8A94 001B59F4 7C 9F 23 78 */ mr r31, r4 /* 801B8A98 001B59F8 93 C1 00 18 */ stw r30, 0x18(r1) /* 801B8A9C 001B59FC 7C 7E 1B 78 */ mr r30, r3 /* 801B8AA0 001B5A00 4B FF FF 4D */ bl FreeComboVoiceId__10CAuxWeaponFv /* 801B8AA4 001B5A04 A0 7E 00 70 */ lhz r3, 0x70(r30) /* 801B8AA8 001B5A08 A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13) /* 801B8AAC 001B5A0C 7C 03 00 40 */ cmplw r3, r0 /* 801B8AB0 001B5A10 41 82 00 4C */ beq lbl_801B8AFC /* 801B8AB4 001B5A14 A0 1E 00 70 */ lhz r0, 0x70(r30) /* 801B8AB8 001B5A18 7F E3 FB 78 */ mr r3, r31 /* 801B8ABC 001B5A1C 38 81 00 08 */ addi r4, r1, 8 /* 801B8AC0 001B5A20 B0 01 00 08 */ sth r0, 8(r1) /* 801B8AC4 001B5A24 4B E9 37 A9 */ bl FreeScriptObject__13CStateManagerF9TUniqueId /* 801B8AC8 001B5A28 A0 6D A3 8C */ lhz r3, kInvalidUniqueId@sda21(r13) /* 801B8ACC 001B5A2C 38 00 FF FF */ li r0, -1 /* 801B8AD0 001B5A30 B0 7E 00 70 */ sth r3, 0x70(r30) /* 801B8AD4 001B5A34 90 1E 00 74 */ stw r0, 0x74(r30) /* 801B8AD8 001B5A38 80 7F 08 B8 */ lwz r3, 0x8b8(r31) /* 801B8ADC 001B5A3C 80 83 00 00 */ lwz r4, 0(r3) /* 801B8AE0 001B5A40 88 04 00 00 */ lbz r0, 0(r4) /* 801B8AE4 001B5A44 54 00 D7 FF */ rlwinm. r0, r0, 0x1a, 0x1f, 0x1f /* 801B8AE8 001B5A48 41 82 00 14 */ beq lbl_801B8AFC /* 801B8AEC 001B5A4C 88 04 00 00 */ lbz r0, 0(r4) /* 801B8AF0 001B5A50 38 60 00 00 */ li r3, 0 /* 801B8AF4 001B5A54 50 60 36 72 */ rlwimi r0, r3, 6, 0x19, 0x19 /* 801B8AF8 001B5A58 98 04 00 00 */ stb r0, 0(r4) lbl_801B8AFC: /* 801B8AFC 001B5A5C 80 01 00 24 */ lwz r0, 0x24(r1) /* 801B8B00 001B5A60 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 801B8B04 001B5A64 83 C1 00 18 */ lwz r30, 0x18(r1) /* 801B8B08 001B5A68 7C 08 03 A6 */ mtlr r0 /* 801B8B0C 001B5A6C 38 21 00 20 */ addi r1, r1, 0x20 /* 801B8B10 001B5A70 4E 80 00 20 */ blr .global DeleteFlameThrower__10CAuxWeaponFR13CStateManager DeleteFlameThrower__10CAuxWeaponFR13CStateManager: /* 801B8B14 001B5A74 94 21 FF E0 */ stwu r1, -0x20(r1) /* 801B8B18 001B5A78 7C 08 02 A6 */ mflr r0 /* 801B8B1C 001B5A7C 90 01 00 24 */ stw r0, 0x24(r1) /* 801B8B20 001B5A80 93 E1 00 1C */ stw r31, 0x1c(r1) /* 801B8B24 001B5A84 7C 9F 23 78 */ mr r31, r4 /* 801B8B28 001B5A88 93 C1 00 18 */ stw r30, 0x18(r1) /* 801B8B2C 001B5A8C 7C 7E 1B 78 */ mr r30, r3 /* 801B8B30 001B5A90 4B FF FE BD */ bl FreeComboVoiceId__10CAuxWeaponFv /* 801B8B34 001B5A94 A0 7E 00 6E */ lhz r3, 0x6e(r30) /* 801B8B38 001B5A98 A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13) /* 801B8B3C 001B5A9C 7C 03 00 40 */ cmplw r3, r0 /* 801B8B40 001B5AA0 41 82 00 4C */ beq lbl_801B8B8C /* 801B8B44 001B5AA4 A0 1E 00 6E */ lhz r0, 0x6e(r30) /* 801B8B48 001B5AA8 7F E3 FB 78 */ mr r3, r31 /* 801B8B4C 001B5AAC 38 81 00 08 */ addi r4, r1, 8 /* 801B8B50 001B5AB0 B0 01 00 08 */ sth r0, 8(r1) /* 801B8B54 001B5AB4 4B E9 37 19 */ bl FreeScriptObject__13CStateManagerF9TUniqueId /* 801B8B58 001B5AB8 A0 6D A3 8C */ lhz r3, kInvalidUniqueId@sda21(r13) /* 801B8B5C 001B5ABC 38 00 FF FF */ li r0, -1 /* 801B8B60 001B5AC0 B0 7E 00 6E */ sth r3, 0x6e(r30) /* 801B8B64 001B5AC4 90 1E 00 74 */ stw r0, 0x74(r30) /* 801B8B68 001B5AC8 80 7F 08 B8 */ lwz r3, 0x8b8(r31) /* 801B8B6C 001B5ACC 80 83 00 00 */ lwz r4, 0(r3) /* 801B8B70 001B5AD0 88 04 00 00 */ lbz r0, 0(r4) /* 801B8B74 001B5AD4 54 00 D7 FF */ rlwinm. r0, r0, 0x1a, 0x1f, 0x1f /* 801B8B78 001B5AD8 41 82 00 14 */ beq lbl_801B8B8C /* 801B8B7C 001B5ADC 88 04 00 00 */ lbz r0, 0(r4) /* 801B8B80 001B5AE0 38 60 00 00 */ li r3, 0 /* 801B8B84 001B5AE4 50 60 36 72 */ rlwimi r0, r3, 6, 0x19, 0x19 /* 801B8B88 001B5AE8 98 04 00 00 */ stb r0, 0(r4) lbl_801B8B8C: /* 801B8B8C 001B5AEC 80 01 00 24 */ lwz r0, 0x24(r1) /* 801B8B90 001B5AF0 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 801B8B94 001B5AF4 83 C1 00 18 */ lwz r30, 0x18(r1) /* 801B8B98 001B5AF8 7C 08 03 A6 */ mtlr r0 /* 801B8B9C 001B5AFC 38 21 00 20 */ addi r1, r1, 0x20 /* 801B8BA0 001B5B00 4E 80 00 20 */ blr .global CreateWaveBusterBeam__10CAuxWeaponFUi9TUniqueIdRC12CTransform4fR13CStateManager CreateWaveBusterBeam__10CAuxWeaponFUi9TUniqueIdRC12CTransform4fR13CStateManager: /* 801B8BA4 001B5B04 94 21 FF 90 */ stwu r1, -0x70(r1) /* 801B8BA8 001B5B08 7C 08 02 A6 */ mflr r0 /* 801B8BAC 001B5B0C 90 01 00 74 */ stw r0, 0x74(r1) /* 801B8BB0 001B5B10 BF 41 00 58 */ stmw r26, 0x58(r1) /* 801B8BB4 001B5B14 7C FF 3B 78 */ mr r31, r7 /* 801B8BB8 001B5B18 7C 9D 23 78 */ mr r29, r4 /* 801B8BBC 001B5B1C 7C 7C 1B 78 */ mr r28, r3 /* 801B8BC0 001B5B20 7C BA 2B 78 */ mr r26, r5 /* 801B8BC4 001B5B24 7C DE 33 78 */ mr r30, r6 /* 801B8BC8 001B5B28 7F E4 FB 78 */ mr r4, r31 /* 801B8BCC 001B5B2C 4B FF FE B9 */ bl DeleteWaveBusterBeam__10CAuxWeaponFR13CStateManager /* 801B8BD0 001B5B30 A0 7C 00 70 */ lhz r3, 0x70(r28) /* 801B8BD4 001B5B34 A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13) /* 801B8BD8 001B5B38 7C 03 00 40 */ cmplw r3, r0 /* 801B8BDC 001B5B3C 40 82 01 8C */ bne lbl_801B8D68 /* 801B8BE0 001B5B40 7F E4 FB 78 */ mr r4, r31 /* 801B8BE4 001B5B44 38 61 00 24 */ addi r3, r1, 0x24 /* 801B8BE8 001B5B48 4B E9 44 F5 */ bl AllocateUniqueId__13CStateManagerFv /* 801B8BEC 001B5B4C A0 01 00 24 */ lhz r0, 0x24(r1) /* 801B8BF0 001B5B50 3C 60 80 3D */ lis r3, lbl_803D1678@ha /* 801B8BF4 001B5B54 38 83 16 78 */ addi r4, r3, lbl_803D1678@l /* 801B8BF8 001B5B58 38 60 03 D8 */ li r3, 0x3d8 /* 801B8BFC 001B5B5C B0 1C 00 70 */ sth r0, 0x70(r28) /* 801B8C00 001B5B60 38 84 00 2E */ addi r4, r4, 0x2e /* 801B8C04 001B5B64 38 A0 00 00 */ li r5, 0 /* 801B8C08 001B5B68 48 15 CC 65 */ bl __nw__FUlPCcPCc /* 801B8C0C 001B5B6C 7C 7B 1B 79 */ or. r27, r3, r3 /* 801B8C10 001B5B70 41 82 00 74 */ beq lbl_801B8C84 /* 801B8C14 001B5B74 A0 1A 00 00 */ lhz r0, 0(r26) /* 801B8C18 001B5B78 7F E5 FB 78 */ mr r5, r31 /* 801B8C1C 001B5B7C 80 8D A1 34 */ lwz r4, gpTweakPlayerGun@sda21(r13) /* 801B8C20 001B5B80 38 61 00 38 */ addi r3, r1, 0x38 /* 801B8C24 001B5B84 B0 01 00 20 */ sth r0, 0x20(r1) /* 801B8C28 001B5B88 80 0D A3 90 */ lwz r0, kInvalidAreaId@sda21(r13) /* 801B8C2C 001B5B8C 38 84 02 2C */ addi r4, r4, 0x22c /* 801B8C30 001B5B90 A0 DC 00 6C */ lhz r6, 0x6c(r28) /* 801B8C34 001B5B94 B0 C1 00 1C */ sth r6, 0x1c(r1) /* 801B8C38 001B5B98 90 01 00 2C */ stw r0, 0x2c(r1) /* 801B8C3C 001B5B9C A0 1C 00 70 */ lhz r0, 0x70(r28) /* 801B8C40 001B5BA0 B0 01 00 18 */ sth r0, 0x18(r1) /* 801B8C44 001B5BA4 48 0D 1D E1 */ bl GetShotDamageInfo__10CGunWeaponCFRC10SShotParamR13CStateManager /* 801B8C48 001B5BA8 38 61 00 1C */ addi r3, r1, 0x1c /* 801B8C4C 001B5BAC 38 01 00 20 */ addi r0, r1, 0x20 /* 801B8C50 001B5BB0 90 61 00 08 */ stw r3, 8(r1) /* 801B8C54 001B5BB4 7F 63 DB 78 */ mr r3, r27 /* 801B8C58 001B5BB8 7F C6 F3 78 */ mr r6, r30 /* 801B8C5C 001B5BBC 38 9C 00 44 */ addi r4, r28, 0x44 /* 801B8C60 001B5BC0 90 01 00 0C */ stw r0, 0xc(r1) /* 801B8C64 001B5BC4 39 01 00 38 */ addi r8, r1, 0x38 /* 801B8C68 001B5BC8 39 21 00 18 */ addi r9, r1, 0x18 /* 801B8C6C 001B5BCC 39 41 00 2C */ addi r10, r1, 0x2c /* 801B8C70 001B5BD0 93 A1 00 10 */ stw r29, 0x10(r1) /* 801B8C74 001B5BD4 38 A0 00 02 */ li r5, 2 /* 801B8C78 001B5BD8 38 E0 00 20 */ li r7, 0x20 /* 801B8C7C 001B5BDC 48 00 75 01 */ bl "__ct__11CWaveBusterFRC28TToken<18CWeaponDescription>11EWeaponTypeRC12CTransform4f14EMaterialTypesRC11CDamageInfo9TUniqueId7TAreaId9TUniqueId9TUniqueIdUi" /* 801B8C80 001B5BE0 7C 7B 1B 78 */ mr r27, r3 lbl_801B8C84: /* 801B8C84 001B5BE4 7F E3 FB 78 */ mr r3, r31 /* 801B8C88 001B5BE8 7F 64 DB 78 */ mr r4, r27 /* 801B8C8C 001B5BEC 4B E9 3E 89 */ bl AddObject__13CStateManagerFR7CEntity /* 801B8C90 001B5BF0 3C 60 80 3D */ lis r3, lbl_803D1678@ha /* 801B8C94 001B5BF4 3B 40 00 00 */ li r26, 0 /* 801B8C98 001B5BF8 38 83 16 78 */ addi r4, r3, lbl_803D1678@l /* 801B8C9C 001B5BFC 38 60 03 40 */ li r3, 0x340 /* 801B8CA0 001B5C00 38 84 00 2E */ addi r4, r4, 0x2e /* 801B8CA4 001B5C04 38 A0 00 00 */ li r5, 0 /* 801B8CA8 001B5C08 48 15 CB C5 */ bl __nw__FUlPCcPCc /* 801B8CAC 001B5C0C 7C 7D 1B 79 */ or. r29, r3, r3 /* 801B8CB0 001B5C10 41 82 00 2C */ beq lbl_801B8CDC /* 801B8CB4 001B5C14 38 61 00 30 */ addi r3, r1, 0x30 /* 801B8CB8 001B5C18 38 9C 00 18 */ addi r4, r28, 0x18 /* 801B8CBC 001B5C1C 48 18 81 ED */ bl __ct__6CTokenFRC6CToken /* 801B8CC0 001B5C20 7F A3 EB 78 */ mr r3, r29 /* 801B8CC4 001B5C24 38 81 00 30 */ addi r4, r1, 0x30 /* 801B8CC8 001B5C28 3B 40 00 01 */ li r26, 1 /* 801B8CCC 001B5C2C 38 A0 00 00 */ li r5, 0 /* 801B8CD0 001B5C30 38 C0 00 01 */ li r6, 1 /* 801B8CD4 001B5C34 48 16 67 0D */ bl "__ct__11CElementGenF25TToken<15CGenDescription>Q211CElementGen21EModelOrientationTypeQ211CElementGen20EOptionalSystemFlags" /* 801B8CD8 001B5C38 7C 7D 1B 78 */ mr r29, r3 lbl_801B8CDC: /* 801B8CDC 001B5C3C 80 7C 00 24 */ lwz r3, 0x24(r28) /* 801B8CE0 001B5C40 28 03 00 00 */ cmplwi r3, 0 /* 801B8CE4 001B5C44 41 82 00 18 */ beq lbl_801B8CFC /* 801B8CE8 001B5C48 81 83 00 00 */ lwz r12, 0(r3) /* 801B8CEC 001B5C4C 38 80 00 01 */ li r4, 1 /* 801B8CF0 001B5C50 81 8C 00 08 */ lwz r12, 8(r12) /* 801B8CF4 001B5C54 7D 89 03 A6 */ mtctr r12 /* 801B8CF8 001B5C58 4E 80 04 21 */ bctrl lbl_801B8CFC: /* 801B8CFC 001B5C5C 7F 40 07 75 */ extsb. r0, r26 /* 801B8D00 001B5C60 93 BC 00 24 */ stw r29, 0x24(r28) /* 801B8D04 001B5C64 41 82 00 10 */ beq lbl_801B8D14 /* 801B8D08 001B5C68 38 61 00 30 */ addi r3, r1, 0x30 /* 801B8D0C 001B5C6C 38 80 00 00 */ li r4, 0 /* 801B8D10 001B5C70 48 18 81 31 */ bl __dt__6CTokenFv lbl_801B8D14: /* 801B8D14 001B5C74 38 61 00 28 */ addi r3, r1, 0x28 /* 801B8D18 001B5C78 38 80 07 37 */ li r4, 0x737 /* 801B8D1C 001B5C7C 38 A0 00 00 */ li r5, 0 /* 801B8D20 001B5C80 38 C0 00 01 */ li r6, 1 /* 801B8D24 001B5C84 38 E0 00 4A */ li r7, 0x4a /* 801B8D28 001B5C88 48 0D 1D D1 */ bl play_sfx__12NWeaponTypesFUsbbs /* 801B8D2C 001B5C8C 80 01 00 28 */ lwz r0, 0x28(r1) /* 801B8D30 001B5C90 3C 60 80 57 */ lis r3, lbl_805719E8@ha /* 801B8D34 001B5C94 38 83 19 E8 */ addi r4, r3, lbl_805719E8@l /* 801B8D38 001B5C98 38 A0 00 00 */ li r5, 0 /* 801B8D3C 001B5C9C 90 1C 00 7C */ stw r0, 0x7c(r28) /* 801B8D40 001B5CA0 80 7F 08 70 */ lwz r3, 0x870(r31) /* 801B8D44 001B5CA4 4B E5 1C DD */ bl AddCameraShaker__14CCameraManagerFRC16CCameraShakeDatab /* 801B8D48 001B5CA8 80 7F 08 B8 */ lwz r3, 0x8b8(r31) /* 801B8D4C 001B5CAC 38 A0 00 01 */ li r5, 1 /* 801B8D50 001B5CB0 38 00 00 02 */ li r0, 2 /* 801B8D54 001B5CB4 80 83 00 00 */ lwz r4, 0(r3) /* 801B8D58 001B5CB8 88 64 00 00 */ lbz r3, 0(r4) /* 801B8D5C 001B5CBC 50 A3 36 72 */ rlwimi r3, r5, 6, 0x19, 0x19 /* 801B8D60 001B5CC0 98 64 00 00 */ stb r3, 0(r4) /* 801B8D64 001B5CC4 90 1C 00 74 */ stw r0, 0x74(r28) lbl_801B8D68: /* 801B8D68 001B5CC8 BB 41 00 58 */ lmw r26, 0x58(r1) /* 801B8D6C 001B5CCC 80 01 00 74 */ lwz r0, 0x74(r1) /* 801B8D70 001B5CD0 7C 08 03 A6 */ mtlr r0 /* 801B8D74 001B5CD4 38 21 00 70 */ addi r1, r1, 0x70 /* 801B8D78 001B5CD8 4E 80 00 20 */ blr .global CreateFlameThrower__10CAuxWeaponFRC12CTransform4fR13CStateManagerf CreateFlameThrower__10CAuxWeaponFRC12CTransform4fR13CStateManagerf: /* 801B8D7C 001B5CDC 94 21 FF 40 */ stwu r1, -0xc0(r1) /* 801B8D80 001B5CE0 7C 08 02 A6 */ mflr r0 /* 801B8D84 001B5CE4 90 01 00 C4 */ stw r0, 0xc4(r1) /* 801B8D88 001B5CE8 DB E1 00 B8 */ stfd f31, 0xb8(r1) /* 801B8D8C 001B5CEC FF E0 08 90 */ fmr f31, f1 /* 801B8D90 001B5CF0 BE E1 00 94 */ stmw r23, 0x94(r1) /* 801B8D94 001B5CF4 7C BC 2B 78 */ mr r28, r5 /* 801B8D98 001B5CF8 7C 9B 23 78 */ mr r27, r4 /* 801B8D9C 001B5CFC 7C 7A 1B 78 */ mr r26, r3 /* 801B8DA0 001B5D00 7F 84 E3 78 */ mr r4, r28 /* 801B8DA4 001B5D04 4B FF FD 71 */ bl DeleteFlameThrower__10CAuxWeaponFR13CStateManager /* 801B8DA8 001B5D08 A0 7A 00 6E */ lhz r3, 0x6e(r26) /* 801B8DAC 001B5D0C A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13) /* 801B8DB0 001B5D10 7C 03 00 40 */ cmplw r3, r0 /* 801B8DB4 001B5D14 40 82 02 A4 */ bne lbl_801B9058 /* 801B8DB8 001B5D18 3C 60 80 3D */ lis r3, lbl_803D1678@ha /* 801B8DBC 001B5D1C 38 63 16 78 */ addi r3, r3, lbl_803D1678@l /* 801B8DC0 001B5D20 38 63 00 35 */ addi r3, r3, 0x35 /* 801B8DC4 001B5D24 48 0D 26 85 */ bl get_asset_id_from_name__12NWeaponTypesFPCc /* 801B8DC8 001B5D28 3C 80 80 3D */ lis r4, lbl_803D1678@ha /* 801B8DCC 001B5D2C 7C 7D 1B 78 */ mr r29, r3 /* 801B8DD0 001B5D30 38 64 16 78 */ addi r3, r4, lbl_803D1678@l /* 801B8DD4 001B5D34 38 63 00 48 */ addi r3, r3, 0x48 /* 801B8DD8 001B5D38 48 0D 26 71 */ bl get_asset_id_from_name__12NWeaponTypesFPCc /* 801B8DDC 001B5D3C 3C 80 80 3D */ lis r4, lbl_803D1678@ha /* 801B8DE0 001B5D40 7C 7E 1B 78 */ mr r30, r3 /* 801B8DE4 001B5D44 38 64 16 78 */ addi r3, r4, lbl_803D1678@l /* 801B8DE8 001B5D48 38 63 00 59 */ addi r3, r3, 0x59 /* 801B8DEC 001B5D4C 48 0D 26 5D */ bl get_asset_id_from_name__12NWeaponTypesFPCc /* 801B8DF0 001B5D50 3C 80 80 3D */ lis r4, lbl_803D1678@ha /* 801B8DF4 001B5D54 7C 7F 1B 78 */ mr r31, r3 /* 801B8DF8 001B5D58 38 64 16 78 */ addi r3, r4, lbl_803D1678@l /* 801B8DFC 001B5D5C 38 63 00 6B */ addi r3, r3, 0x6b /* 801B8E00 001B5D60 48 0D 26 49 */ bl get_asset_id_from_name__12NWeaponTypesFPCc /* 801B8E04 001B5D64 3C 80 80 3D */ lis r4, lbl_803D1678@ha /* 801B8E08 001B5D68 7C 77 1B 78 */ mr r23, r3 /* 801B8E0C 001B5D6C 38 64 16 78 */ addi r3, r4, lbl_803D1678@l /* 801B8E10 001B5D70 38 63 00 79 */ addi r3, r3, 0x79 /* 801B8E14 001B5D74 48 0D 26 35 */ bl get_asset_id_from_name__12NWeaponTypesFPCc /* 801B8E18 001B5D78 3C 80 80 3D */ lis r4, lbl_803D1678@ha /* 801B8E1C 001B5D7C 7C 78 1B 78 */ mr r24, r3 /* 801B8E20 001B5D80 38 64 16 78 */ addi r3, r4, lbl_803D1678@l /* 801B8E24 001B5D84 38 63 00 89 */ addi r3, r3, 0x89 /* 801B8E28 001B5D88 48 0D 26 21 */ bl get_asset_id_from_name__12NWeaponTypesFPCc /* 801B8E2C 001B5D8C 3C 80 80 3D */ lis r4, lbl_803D1678@ha /* 801B8E30 001B5D90 7C 79 1B 78 */ mr r25, r3 /* 801B8E34 001B5D94 38 64 16 78 */ addi r3, r4, lbl_803D1678@l /* 801B8E38 001B5D98 38 63 00 96 */ addi r3, r3, 0x96 /* 801B8E3C 001B5D9C 48 0D 26 0D */ bl get_asset_id_from_name__12NWeaponTypesFPCc /* 801B8E40 001B5DA0 38 A0 00 08 */ li r5, 8 /* 801B8E44 001B5DA4 38 00 FF FF */ li r0, -1 /* 801B8E48 001B5DA8 90 61 00 64 */ stw r3, 0x64(r1) /* 801B8E4C 001B5DAC 7F 84 E3 78 */ mr r4, r28 /* 801B8E50 001B5DB0 38 61 00 20 */ addi r3, r1, 0x20 /* 801B8E54 001B5DB4 90 A1 00 60 */ stw r5, 0x60(r1) /* 801B8E58 001B5DB8 93 21 00 68 */ stw r25, 0x68(r1) /* 801B8E5C 001B5DBC 93 01 00 6C */ stw r24, 0x6c(r1) /* 801B8E60 001B5DC0 92 E1 00 70 */ stw r23, 0x70(r1) /* 801B8E64 001B5DC4 93 E1 00 74 */ stw r31, 0x74(r1) /* 801B8E68 001B5DC8 93 C1 00 78 */ stw r30, 0x78(r1) /* 801B8E6C 001B5DCC 93 A1 00 7C */ stw r29, 0x7c(r1) /* 801B8E70 001B5DD0 90 01 00 80 */ stw r0, 0x80(r1) /* 801B8E74 001B5DD4 4B E9 42 69 */ bl AllocateUniqueId__13CStateManagerFv /* 801B8E78 001B5DD8 A0 01 00 20 */ lhz r0, 0x20(r1) /* 801B8E7C 001B5DDC 3C 60 80 3D */ lis r3, lbl_803D1678@ha /* 801B8E80 001B5DE0 38 63 16 78 */ addi r3, r3, lbl_803D1678@l /* 801B8E84 001B5DE4 3B 00 00 00 */ li r24, 0 /* 801B8E88 001B5DE8 B0 1A 00 6E */ sth r0, 0x6e(r26) /* 801B8E8C 001B5DEC 38 83 00 2E */ addi r4, r3, 0x2e /* 801B8E90 001B5DF0 38 60 03 C8 */ li r3, 0x3c8 /* 801B8E94 001B5DF4 38 A0 00 00 */ li r5, 0 /* 801B8E98 001B5DF8 48 15 C9 D5 */ bl __nw__FUlPCcPCc /* 801B8E9C 001B5DFC 7C 77 1B 79 */ or. r23, r3, r3 /* 801B8EA0 001B5E00 41 82 00 94 */ beq lbl_801B8F34 /* 801B8EA4 001B5E04 A0 BA 00 6C */ lhz r5, 0x6c(r26) /* 801B8EA8 001B5E08 3C 60 80 3D */ lis r3, lbl_803D1678@ha /* 801B8EAC 001B5E0C 80 0D A3 90 */ lwz r0, kInvalidAreaId@sda21(r13) /* 801B8EB0 001B5E10 38 83 16 78 */ addi r4, r3, lbl_803D1678@l /* 801B8EB4 001B5E14 B0 A1 00 1C */ sth r5, 0x1c(r1) /* 801B8EB8 001B5E18 38 61 00 34 */ addi r3, r1, 0x34 /* 801B8EBC 001B5E1C 80 AD A1 34 */ lwz r5, gpTweakPlayerGun@sda21(r13) /* 801B8EC0 001B5E20 38 84 00 A2 */ addi r4, r4, 0xa2 /* 801B8EC4 001B5E24 90 01 00 28 */ stw r0, 0x28(r1) /* 801B8EC8 001B5E28 3B 05 02 48 */ addi r24, r5, 0x248 /* 801B8ECC 001B5E2C A0 1A 00 6E */ lhz r0, 0x6e(r26) /* 801B8ED0 001B5E30 B0 01 00 18 */ sth r0, 0x18(r1) /* 801B8ED4 001B5E34 4B E4 BD E5 */ bl string_l__4rstlFPCc /* 801B8ED8 001B5E38 7F 04 C3 78 */ mr r4, r24 /* 801B8EDC 001B5E3C 7F 85 E3 78 */ mr r5, r28 /* 801B8EE0 001B5E40 38 61 00 44 */ addi r3, r1, 0x44 /* 801B8EE4 001B5E44 3B 00 00 01 */ li r24, 1 /* 801B8EE8 001B5E48 48 0D 1B 3D */ bl GetShotDamageInfo__10CGunWeaponCFRC10SShotParamR13CStateManager /* 801B8EEC 001B5E4C 38 01 00 18 */ addi r0, r1, 0x18 /* 801B8EF0 001B5E50 38 81 00 28 */ addi r4, r1, 0x28 /* 801B8EF4 001B5E54 90 01 00 08 */ stw r0, 8(r1) /* 801B8EF8 001B5E58 38 C1 00 1C */ addi r6, r1, 0x1c /* 801B8EFC 001B5E5C 38 00 00 00 */ li r0, 0 /* 801B8F00 001B5E60 7E E3 BB 78 */ mr r3, r23 /* 801B8F04 001B5E64 90 81 00 0C */ stw r4, 0xc(r1) /* 801B8F08 001B5E68 7F 68 DB 78 */ mr r8, r27 /* 801B8F0C 001B5E6C 38 9A 00 50 */ addi r4, r26, 0x50 /* 801B8F10 001B5E70 38 A1 00 34 */ addi r5, r1, 0x34 /* 801B8F14 001B5E74 90 C1 00 10 */ stw r6, 0x10(r1) /* 801B8F18 001B5E78 38 E1 00 60 */ addi r7, r1, 0x60 /* 801B8F1C 001B5E7C 39 41 00 44 */ addi r10, r1, 0x44 /* 801B8F20 001B5E80 38 C0 00 03 */ li r6, 3 /* 801B8F24 001B5E84 90 01 00 14 */ stw r0, 0x14(r1) /* 801B8F28 001B5E88 39 20 00 20 */ li r9, 0x20 /* 801B8F2C 001B5E8C 48 0A B4 F9 */ bl "__ct__16CNewFlameThrowerbRC28TToken<18CWeaponDescription>RCQ24rstl66basic_string,Q24rstl17rmemory_allocator>11EWeaponTypeRCQ24rstl21reserved_vectorRC12CTransform4f14EMaterialTypesRC11CDamageInfo9TUniqueId7TAreaId9TUniqueIdUi" /* 801B8F30 001B5E90 7C 77 1B 78 */ mr r23, r3 lbl_801B8F34: /* 801B8F34 001B5E94 7F 00 07 75 */ extsb. r0, r24 /* 801B8F38 001B5E98 41 82 00 0C */ beq lbl_801B8F44 /* 801B8F3C 001B5E9C 38 61 00 34 */ addi r3, r1, 0x34 /* 801B8F40 001B5EA0 48 18 4B A1 */ bl "internal_dereference__Q24rstl66basic_string,Q24rstl17rmemory_allocator>Fv" lbl_801B8F44: /* 801B8F44 001B5EA4 7F 83 E3 78 */ mr r3, r28 /* 801B8F48 001B5EA8 7E E4 BB 78 */ mr r4, r23 /* 801B8F4C 001B5EAC 4B E9 3B C9 */ bl AddObject__13CStateManagerFR7CEntity /* 801B8F50 001B5EB0 7E E3 BB 78 */ mr r3, r23 /* 801B8F54 001B5EB4 FC 20 F8 90 */ fmr f1, f31 /* 801B8F58 001B5EB8 81 97 00 00 */ lwz r12, 0(r23) /* 801B8F5C 001B5EBC 7F 84 E3 78 */ mr r4, r28 /* 801B8F60 001B5EC0 81 8C 00 14 */ lwz r12, 0x14(r12) /* 801B8F64 001B5EC4 7D 89 03 A6 */ mtctr r12 /* 801B8F68 001B5EC8 4E 80 04 21 */ bctrl /* 801B8F6C 001B5ECC 7E E3 BB 78 */ mr r3, r23 /* 801B8F70 001B5ED0 7F 64 DB 78 */ mr r4, r27 /* 801B8F74 001B5ED4 7F 85 E3 78 */ mr r5, r28 /* 801B8F78 001B5ED8 38 C0 00 00 */ li r6, 0 /* 801B8F7C 001B5EDC 48 0A AA 45 */ bl StartFiring__16CNewFlameThrowerFRC12CTransform4fRC13CStateManager /* 801B8F80 001B5EE0 3C 60 80 3D */ lis r3, lbl_803D1678@ha /* 801B8F84 001B5EE4 3B 00 00 00 */ li r24, 0 /* 801B8F88 001B5EE8 38 83 16 78 */ addi r4, r3, lbl_803D1678@l /* 801B8F8C 001B5EEC 38 60 03 40 */ li r3, 0x340 /* 801B8F90 001B5EF0 38 84 00 2E */ addi r4, r4, 0x2e /* 801B8F94 001B5EF4 38 A0 00 00 */ li r5, 0 /* 801B8F98 001B5EF8 48 15 C8 D5 */ bl __nw__FUlPCcPCc /* 801B8F9C 001B5EFC 7C 77 1B 79 */ or. r23, r3, r3 /* 801B8FA0 001B5F00 41 82 00 2C */ beq lbl_801B8FCC /* 801B8FA4 001B5F04 38 61 00 2C */ addi r3, r1, 0x2c /* 801B8FA8 001B5F08 38 9A 00 0C */ addi r4, r26, 0xc /* 801B8FAC 001B5F0C 48 18 7E FD */ bl __ct__6CTokenFRC6CToken /* 801B8FB0 001B5F10 7E E3 BB 78 */ mr r3, r23 /* 801B8FB4 001B5F14 38 81 00 2C */ addi r4, r1, 0x2c /* 801B8FB8 001B5F18 3B 00 00 01 */ li r24, 1 /* 801B8FBC 001B5F1C 38 A0 00 00 */ li r5, 0 /* 801B8FC0 001B5F20 38 C0 00 01 */ li r6, 1 /* 801B8FC4 001B5F24 48 16 64 1D */ bl "__ct__11CElementGenF25TToken<15CGenDescription>Q211CElementGen21EModelOrientationTypeQ211CElementGen20EOptionalSystemFlags" /* 801B8FC8 001B5F28 7C 77 1B 78 */ mr r23, r3 lbl_801B8FCC: /* 801B8FCC 001B5F2C 80 7A 00 24 */ lwz r3, 0x24(r26) /* 801B8FD0 001B5F30 28 03 00 00 */ cmplwi r3, 0 /* 801B8FD4 001B5F34 41 82 00 18 */ beq lbl_801B8FEC /* 801B8FD8 001B5F38 81 83 00 00 */ lwz r12, 0(r3) /* 801B8FDC 001B5F3C 38 80 00 01 */ li r4, 1 /* 801B8FE0 001B5F40 81 8C 00 08 */ lwz r12, 8(r12) /* 801B8FE4 001B5F44 7D 89 03 A6 */ mtctr r12 /* 801B8FE8 001B5F48 4E 80 04 21 */ bctrl lbl_801B8FEC: /* 801B8FEC 001B5F4C 7F 00 07 75 */ extsb. r0, r24 /* 801B8FF0 001B5F50 92 FA 00 24 */ stw r23, 0x24(r26) /* 801B8FF4 001B5F54 41 82 00 10 */ beq lbl_801B9004 /* 801B8FF8 001B5F58 38 61 00 2C */ addi r3, r1, 0x2c /* 801B8FFC 001B5F5C 38 80 00 00 */ li r4, 0 /* 801B9000 001B5F60 48 18 7E 41 */ bl __dt__6CTokenFv lbl_801B9004: /* 801B9004 001B5F64 38 61 00 24 */ addi r3, r1, 0x24 /* 801B9008 001B5F68 38 80 07 32 */ li r4, 0x732 /* 801B900C 001B5F6C 38 A0 00 00 */ li r5, 0 /* 801B9010 001B5F70 38 C0 00 01 */ li r6, 1 /* 801B9014 001B5F74 38 E0 00 4A */ li r7, 0x4a /* 801B9018 001B5F78 48 0D 1A E1 */ bl play_sfx__12NWeaponTypesFUsbbs /* 801B901C 001B5F7C 80 01 00 24 */ lwz r0, 0x24(r1) /* 801B9020 001B5F80 3C 60 80 57 */ lis r3, lbl_80571B90@ha /* 801B9024 001B5F84 38 83 1B 90 */ addi r4, r3, lbl_80571B90@l /* 801B9028 001B5F88 38 A0 00 00 */ li r5, 0 /* 801B902C 001B5F8C 90 1A 00 7C */ stw r0, 0x7c(r26) /* 801B9030 001B5F90 80 7C 08 70 */ lwz r3, 0x870(r28) /* 801B9034 001B5F94 4B E5 19 ED */ bl AddCameraShaker__14CCameraManagerFRC16CCameraShakeDatab /* 801B9038 001B5F98 80 7C 08 B8 */ lwz r3, 0x8b8(r28) /* 801B903C 001B5F9C 38 A0 00 01 */ li r5, 1 /* 801B9040 001B5FA0 38 00 00 03 */ li r0, 3 /* 801B9044 001B5FA4 80 83 00 00 */ lwz r4, 0(r3) /* 801B9048 001B5FA8 88 64 00 00 */ lbz r3, 0(r4) /* 801B904C 001B5FAC 50 A3 36 72 */ rlwimi r3, r5, 6, 0x19, 0x19 /* 801B9050 001B5FB0 98 64 00 00 */ stb r3, 0(r4) /* 801B9054 001B5FB4 90 1A 00 74 */ stw r0, 0x74(r26) lbl_801B9058: /* 801B9058 001B5FB8 CB E1 00 B8 */ lfd f31, 0xb8(r1) /* 801B905C 001B5FBC BA E1 00 94 */ lmw r23, 0x94(r1) /* 801B9060 001B5FC0 80 01 00 C4 */ lwz r0, 0xc4(r1) /* 801B9064 001B5FC4 7C 08 03 A6 */ mtlr r0 /* 801B9068 001B5FC8 38 21 00 C0 */ addi r1, r1, 0xc0 /* 801B906C 001B5FCC 4E 80 00 20 */ blr .global LaunchMissile__10CAuxWeaponFbbiUiRC12CTransform4f9TUniqueIdR13CStateManager LaunchMissile__10CAuxWeaponFbbiUiRC12CTransform4f9TUniqueIdR13CStateManager: /* 801B9070 001B5FD0 94 21 FE 30 */ stwu r1, -0x1d0(r1) /* 801B9074 001B5FD4 7C 08 02 A6 */ mflr r0 /* 801B9078 001B5FD8 90 01 01 D4 */ stw r0, 0x1d4(r1) /* 801B907C 001B5FDC DB E1 01 C0 */ stfd f31, 0x1c0(r1) /* 801B9080 001B5FE0 F3 E1 01 C8 */ psq_st f31, 456(r1), 0, qr0 /* 801B9084 001B5FE4 BD C1 01 78 */ stmw r14, 0x178(r1) /* 801B9088 001B5FE8 7C 79 1B 78 */ mr r25, r3 /* 801B908C 001B5FEC FF E0 08 90 */ fmr f31, f1 /* 801B9090 001B5FF0 1C 66 00 0C */ mulli r3, r6, 0xc /* 801B9094 001B5FF4 54 A0 06 3F */ clrlwi. r0, r5, 0x18 /* 801B9098 001B5FF8 7C BB 2B 78 */ mr r27, r5 /* 801B909C 001B5FFC 7C 9A 23 78 */ mr r26, r4 /* 801B90A0 001B6000 7F F9 1A 14 */ add r31, r25, r3 /* 801B90A4 001B6004 7C FC 3B 78 */ mr r28, r7 /* 801B90A8 001B6008 7D 1D 43 78 */ mr r29, r8 /* 801B90AC 001B600C 7D 2E 4B 78 */ mr r14, r9 /* 801B90B0 001B6010 7D 5E 53 78 */ mr r30, r10 /* 801B90B4 001B6014 3B FF 00 2C */ addi r31, r31, 0x2c /* 801B90B8 001B6018 41 82 00 18 */ beq lbl_801B90D0 /* 801B90BC 001B601C 1C 06 00 1C */ mulli r0, r6, 0x1c /* 801B90C0 001B6020 80 6D A1 34 */ lwz r3, gpTweakPlayerGun@sda21(r13) /* 801B90C4 001B6024 7E E3 02 14 */ add r23, r3, r0 /* 801B90C8 001B6028 3A F7 01 F4 */ addi r23, r23, 0x1f4 /* 801B90CC 001B602C 48 00 00 0C */ b lbl_801B90D8 lbl_801B90D0: /* 801B90D0 001B6030 80 6D A1 34 */ lwz r3, gpTweakPlayerGun@sda21(r13) /* 801B90D4 001B6034 3A E3 01 D4 */ addi r23, r3, 0x1d4 lbl_801B90D8: /* 801B90D8 001B6038 57 60 06 3F */ clrlwi. r0, r27, 0x18 /* 801B90DC 001B603C 41 82 00 18 */ beq lbl_801B90F4 /* 801B90E0 001B6040 3C 60 80 3D */ lis r3, lbl_803D1658@ha /* 801B90E4 001B6044 54 C0 08 3C */ slwi r0, r6, 1 /* 801B90E8 001B6048 38 63 16 58 */ addi r3, r3, lbl_803D1658@l /* 801B90EC 001B604C 7E C3 02 2E */ lhzx r22, r3, r0 /* 801B90F0 001B6050 48 00 00 08 */ b lbl_801B90F8 lbl_801B90F4: /* 801B90F4 001B6054 3A C0 06 E8 */ li r22, 0x6e8 lbl_801B90F8: /* 801B90F8 001B6058 3C 60 80 3D */ lis r3, lbl_803D1678@ha /* 801B90FC 001B605C 3B 00 00 00 */ li r24, 0 /* 801B9100 001B6060 38 83 16 78 */ addi r4, r3, lbl_803D1678@l /* 801B9104 001B6064 38 60 03 D8 */ li r3, 0x3d8 /* 801B9108 001B6068 38 84 00 2E */ addi r4, r4, 0x2e /* 801B910C 001B606C 38 A0 00 00 */ li r5, 0 /* 801B9110 001B6070 48 15 C7 5D */ bl __nw__FUlPCcPCc /* 801B9114 001B6074 7C 75 1B 79 */ or. r21, r3, r3 /* 801B9118 001B6078 41 82 00 EC */ beq lbl_801B9204 /* 801B911C 001B607C C0 02 A9 B0 */ lfs f0, lbl_805AC6D0@sda21(r2) /* 801B9120 001B6080 38 00 00 00 */ li r0, 0 /* 801B9124 001B6084 A0 AE 00 00 */ lhz r5, 0(r14) /* 801B9128 001B6088 7F C4 F3 78 */ mr r4, r30 /* 801B912C 001B608C 98 01 00 78 */ stb r0, 0x78(r1) /* 801B9130 001B6090 39 C1 00 6C */ addi r14, r1, 0x6c /* 801B9134 001B6094 80 0D A3 90 */ lwz r0, kInvalidAreaId@sda21(r13) /* 801B9138 001B6098 39 E1 00 60 */ addi r15, r1, 0x60 /* 801B913C 001B609C D0 01 00 60 */ stfs f0, 0x60(r1) /* 801B9140 001B60A0 3A 81 00 3C */ addi r20, r1, 0x3c /* 801B9144 001B60A4 3A 61 00 38 */ addi r19, r1, 0x38 /* 801B9148 001B60A8 3A 41 00 44 */ addi r18, r1, 0x44 /* 801B914C 001B60AC D0 01 00 64 */ stfs f0, 0x64(r1) /* 801B9150 001B60B0 38 61 00 30 */ addi r3, r1, 0x30 /* 801B9154 001B60B4 3B 00 00 01 */ li r24, 1 /* 801B9158 001B60B8 D0 01 00 68 */ stfs f0, 0x68(r1) /* 801B915C 001B60BC B0 A1 00 3C */ sth r5, 0x3c(r1) /* 801B9160 001B60C0 A0 B9 00 6C */ lhz r5, 0x6c(r25) /* 801B9164 001B60C4 B0 A1 00 38 */ sth r5, 0x38(r1) /* 801B9168 001B60C8 90 01 00 44 */ stw r0, 0x44(r1) /* 801B916C 001B60CC 4B E9 3F 71 */ bl AllocateUniqueId__13CStateManagerFv /* 801B9170 001B60D0 A0 61 00 30 */ lhz r3, 0x30(r1) /* 801B9174 001B60D4 57 60 06 3F */ clrlwi. r0, r27, 0x18 /* 801B9178 001B60D8 3A 21 00 34 */ addi r17, r1, 0x34 /* 801B917C 001B60DC 3A 00 00 06 */ li r16, 6 /* 801B9180 001B60E0 B0 61 00 34 */ sth r3, 0x34(r1) /* 801B9184 001B60E4 41 82 00 08 */ beq lbl_801B918C /* 801B9188 001B60E8 3A 00 00 00 */ li r16, 0 lbl_801B918C: /* 801B918C 001B60EC 57 60 06 3F */ clrlwi. r0, r27, 0x18 /* 801B9190 001B60F0 41 82 00 08 */ beq lbl_801B9198 /* 801B9194 001B60F4 48 00 00 08 */ b lbl_801B919C lbl_801B9198: /* 801B9198 001B60F8 7F 3F CB 78 */ mr r31, r25 lbl_801B919C: /* 801B919C 001B60FC 7E E4 BB 78 */ mr r4, r23 /* 801B91A0 001B6100 7F C5 F3 78 */ mr r5, r30 /* 801B91A4 001B6104 38 61 00 7C */ addi r3, r1, 0x7c /* 801B91A8 001B6108 48 0D 18 7D */ bl GetShotDamageInfo__10CGunWeaponCFRC10SShotParamR13CStateManager /* 801B91AC 001B610C 92 41 00 08 */ stw r18, 8(r1) /* 801B91B0 001B6110 63 84 08 00 */ ori r4, r28, 0x800 /* 801B91B4 001B6114 A1 62 C5 FC */ lhz r11, lbl_805AE31C@sda21(r2) /* 801B91B8 001B6118 38 00 00 00 */ li r0, 0 /* 801B91BC 001B611C 92 61 00 0C */ stw r19, 0xc(r1) /* 801B91C0 001B6120 7E A3 AB 78 */ mr r3, r21 /* 801B91C4 001B6124 7F E5 FB 78 */ mr r5, r31 /* 801B91C8 001B6128 7E 06 83 78 */ mr r6, r16 /* 801B91CC 001B612C 92 81 00 10 */ stw r20, 0x10(r1) /* 801B91D0 001B6130 7F A7 EB 78 */ mr r7, r29 /* 801B91D4 001B6134 7E 2A 8B 78 */ mr r10, r17 /* 801B91D8 001B6138 39 21 00 7C */ addi r9, r1, 0x7c /* 801B91DC 001B613C 90 81 00 14 */ stw r4, 0x14(r1) /* 801B91E0 001B6140 38 80 00 01 */ li r4, 1 /* 801B91E4 001B6144 39 00 00 20 */ li r8, 0x20 /* 801B91E8 001B6148 93 41 00 18 */ stw r26, 0x18(r1) /* 801B91EC 001B614C 91 E1 00 1C */ stw r15, 0x1c(r1) /* 801B91F0 001B6150 91 C1 00 20 */ stw r14, 0x20(r1) /* 801B91F4 001B6154 91 61 00 24 */ stw r11, 0x24(r1) /* 801B91F8 001B6158 90 01 00 28 */ stw r0, 0x28(r1) /* 801B91FC 001B615C 48 05 C4 9D */ bl "__ct__17CEnergyProjectileFbRC28TToken<18CWeaponDescription>11EWeaponTypeRC12CTransform4f14EMaterialTypesRC11CDamageInfo9TUniqueId7TAreaId9TUniqueId9TUniqueIdUibRC9CVector3fRCQ24rstl50optional_object<31TLockedToken<15CGenDescription>>sb" /* 801B9200 001B6160 7C 75 1B 78 */ mr r21, r3 lbl_801B9204: /* 801B9204 001B6164 7F 00 07 75 */ extsb. r0, r24 /* 801B9208 001B6168 7E AE AB 78 */ mr r14, r21 /* 801B920C 001B616C 41 82 00 30 */ beq lbl_801B923C /* 801B9210 001B6170 88 01 00 78 */ lbz r0, 0x78(r1) /* 801B9214 001B6174 28 00 00 00 */ cmplwi r0, 0 /* 801B9218 001B6178 41 82 00 1C */ beq lbl_801B9234 /* 801B921C 001B617C 34 61 00 6C */ addic. r3, r1, 0x6c /* 801B9220 001B6180 41 82 00 14 */ beq lbl_801B9234 /* 801B9224 001B6184 28 03 00 00 */ cmplwi r3, 0 /* 801B9228 001B6188 41 82 00 0C */ beq lbl_801B9234 /* 801B922C 001B618C 38 80 00 00 */ li r4, 0 /* 801B9230 001B6190 48 18 7C 11 */ bl __dt__6CTokenFv lbl_801B9234: /* 801B9234 001B6194 38 00 00 00 */ li r0, 0 /* 801B9238 001B6198 98 01 00 78 */ stb r0, 0x78(r1) lbl_801B923C: /* 801B923C 001B619C 28 0E 00 00 */ cmplwi r14, 0 /* 801B9240 001B61A0 41 82 00 2C */ beq lbl_801B926C /* 801B9244 001B61A4 7F C3 F3 78 */ mr r3, r30 /* 801B9248 001B61A8 7D C4 73 78 */ mr r4, r14 /* 801B924C 001B61AC 4B E9 3A A9 */ bl AddObject__13CStateManagerFP7CEntityQ213CStateManager18EScriptPersistence /* 801B9250 001B61B0 7D C3 73 78 */ mr r3, r14 /* 801B9254 001B61B4 FC 20 F8 90 */ fmr f1, f31 /* 801B9258 001B61B8 81 8E 00 00 */ lwz r12, 0(r14) /* 801B925C 001B61BC 7F C4 F3 78 */ mr r4, r30 /* 801B9260 001B61C0 81 8C 00 14 */ lwz r12, 0x14(r12) /* 801B9264 001B61C4 7D 89 03 A6 */ mtctr r12 /* 801B9268 001B61C8 4E 80 04 21 */ bctrl lbl_801B926C: /* 801B926C 001B61CC 57 60 06 3F */ clrlwi. r0, r27, 0x18 /* 801B9270 001B61D0 41 82 00 AC */ beq lbl_801B931C /* 801B9274 001B61D4 C0 2E 00 40 */ lfs f1, 0x40(r14) /* 801B9278 001B61D8 38 61 00 98 */ addi r3, r1, 0x98 /* 801B927C 001B61DC C0 4E 00 50 */ lfs f2, 0x50(r14) /* 801B9280 001B61E0 38 81 00 54 */ addi r4, r1, 0x54 /* 801B9284 001B61E4 C0 0E 00 60 */ lfs f0, 0x60(r14) /* 801B9288 001B61E8 D0 21 00 48 */ stfs f1, 0x48(r1) /* 801B928C 001B61EC C0 22 A9 B4 */ lfs f1, lbl_805AC6D4@sda21(r2) /* 801B9290 001B61F0 D0 41 00 4C */ stfs f2, 0x4c(r1) /* 801B9294 001B61F4 80 C1 00 48 */ lwz r6, 0x48(r1) /* 801B9298 001B61F8 D0 01 00 50 */ stfs f0, 0x50(r1) /* 801B929C 001B61FC 80 A1 00 4C */ lwz r5, 0x4c(r1) /* 801B92A0 001B6200 80 01 00 50 */ lwz r0, 0x50(r1) /* 801B92A4 001B6204 90 C1 00 54 */ stw r6, 0x54(r1) /* 801B92A8 001B6208 C0 42 A9 B8 */ lfs f2, lbl_805AC6D8@sda21(r2) /* 801B92AC 001B620C 90 A1 00 58 */ stw r5, 0x58(r1) /* 801B92B0 001B6210 C0 62 A9 BC */ lfs f3, lbl_805AC6DC@sda21(r2) /* 801B92B4 001B6214 90 01 00 5C */ stw r0, 0x5c(r1) /* 801B92B8 001B6218 4B FA 42 0D */ bl BuildMissileShakeData__16CCameraShakeDataFfffRC9CVector3f /* 801B92BC 001B621C 7D C3 73 78 */ mr r3, r14 /* 801B92C0 001B6220 38 81 00 98 */ addi r4, r1, 0x98 /* 801B92C4 001B6224 48 05 A8 09 */ bl SetCameraShake__17CEnergyProjectileFRC16CCameraShakeData /* 801B92C8 001B6228 34 81 01 18 */ addic. r4, r1, 0x118 /* 801B92CC 001B622C 41 82 00 10 */ beq lbl_801B92DC /* 801B92D0 001B6230 3C 60 80 3E */ lis r3, lbl_803D8EA8@ha /* 801B92D4 001B6234 38 03 8E A8 */ addi r0, r3, lbl_803D8EA8@l /* 801B92D8 001B6238 90 04 00 00 */ stw r0, 0(r4) lbl_801B92DC: /* 801B92DC 001B623C 34 81 00 DC */ addic. r4, r1, 0xdc /* 801B92E0 001B6240 41 82 00 10 */ beq lbl_801B92F0 /* 801B92E4 001B6244 3C 60 80 3E */ lis r3, lbl_803D8EA8@ha /* 801B92E8 001B6248 38 03 8E A8 */ addi r0, r3, lbl_803D8EA8@l /* 801B92EC 001B624C 90 04 00 00 */ stw r0, 0(r4) lbl_801B92F0: /* 801B92F0 001B6250 34 81 00 A0 */ addic. r4, r1, 0xa0 /* 801B92F4 001B6254 41 82 00 10 */ beq lbl_801B9304 /* 801B92F8 001B6258 3C 60 80 3E */ lis r3, lbl_803D8EA8@ha /* 801B92FC 001B625C 38 03 8E A8 */ addi r0, r3, lbl_803D8EA8@l /* 801B9300 001B6260 90 04 00 00 */ stw r0, 0(r4) lbl_801B9304: /* 801B9304 001B6264 3C 80 80 57 */ lis r4, lbl_80571B90@ha /* 801B9308 001B6268 80 7E 08 70 */ lwz r3, 0x870(r30) /* 801B930C 001B626C 38 84 1B 90 */ addi r4, r4, lbl_80571B90@l /* 801B9310 001B6270 38 A0 00 00 */ li r5, 0 /* 801B9314 001B6274 4B E5 17 0D */ bl AddCameraShaker__14CCameraManagerFRC16CCameraShakeDatab /* 801B9318 001B6278 48 00 00 1C */ b lbl_801B9334 lbl_801B931C: /* 801B931C 001B627C 80 7E 08 8C */ lwz r3, 0x88c(r30) /* 801B9320 001B6280 7F C4 F3 78 */ mr r4, r30 /* 801B9324 001B6284 C0 22 A9 C0 */ lfs f1, lbl_805AC6E0@sda21(r2) /* 801B9328 001B6288 38 A0 00 0D */ li r5, 0xd /* 801B932C 001B628C 38 C0 00 01 */ li r6, 1 /* 801B9330 001B6290 48 07 4F 15 */ bl Rumble__14CRumbleManagerFR13CStateManager11ERumbleFxIdf15ERumblePriority lbl_801B9334: /* 801B9334 001B6294 7E C4 B3 78 */ mr r4, r22 /* 801B9338 001B6298 7F 45 D3 78 */ mr r5, r26 /* 801B933C 001B629C 38 61 00 40 */ addi r3, r1, 0x40 /* 801B9340 001B62A0 38 C0 00 00 */ li r6, 0 /* 801B9344 001B62A4 38 E0 00 4A */ li r7, 0x4a /* 801B9348 001B62A8 48 0D 17 B1 */ bl play_sfx__12NWeaponTypesFUsbbs /* 801B934C 001B62AC 80 01 00 40 */ lwz r0, 0x40(r1) /* 801B9350 001B62B0 90 19 00 7C */ stw r0, 0x7c(r25) /* 801B9354 001B62B4 E3 E1 01 C8 */ psq_l f31, 456(r1), 0, qr0 /* 801B9358 001B62B8 CB E1 01 C0 */ lfd f31, 0x1c0(r1) /* 801B935C 001B62BC B9 C1 01 78 */ lmw r14, 0x178(r1) /* 801B9360 001B62C0 80 01 01 D4 */ lwz r0, 0x1d4(r1) /* 801B9364 001B62C4 7C 08 03 A6 */ mtlr r0 /* 801B9368 001B62C8 38 21 01 D0 */ addi r1, r1, 0x1d0 /* 801B936C 001B62CC 4E 80 00 20 */ blr .global InitComboData__10CAuxWeaponFv InitComboData__10CAuxWeaponFv: /* 801B9370 001B62D0 94 21 FF C0 */ stwu r1, -0x40(r1) /* 801B9374 001B62D4 7C 08 02 A6 */ mflr r0 /* 801B9378 001B62D8 3C 80 80 3D */ lis r4, lbl_803D1664@ha /* 801B937C 001B62DC 90 01 00 44 */ stw r0, 0x44(r1) /* 801B9380 001B62E0 BF 61 00 2C */ stmw r27, 0x2c(r1) /* 801B9384 001B62E4 7C 7B 1B 78 */ mr r27, r3 /* 801B9388 001B62E8 3B C4 16 64 */ addi r30, r4, lbl_803D1664@l /* 801B938C 001B62EC 3B 80 00 00 */ li r28, 0 /* 801B9390 001B62F0 3B BB 00 2C */ addi r29, r27, 0x2c lbl_801B9394: /* 801B9394 001B62F4 80 8D A0 64 */ lwz r4, gpSimplePool@sda21(r13) /* 801B9398 001B62F8 38 61 00 08 */ addi r3, r1, 8 /* 801B939C 001B62FC 80 BE 00 00 */ lwz r5, 0(r30) /* 801B93A0 001B6300 81 84 00 00 */ lwz r12, 0(r4) /* 801B93A4 001B6304 81 8C 00 10 */ lwz r12, 0x10(r12) /* 801B93A8 001B6308 7D 89 03 A6 */ mtctr r12 /* 801B93AC 001B630C 4E 80 04 21 */ bctrl /* 801B93B0 001B6310 38 61 00 10 */ addi r3, r1, 0x10 /* 801B93B4 001B6314 38 81 00 08 */ addi r4, r1, 8 /* 801B93B8 001B6318 48 18 7A F1 */ bl __ct__6CTokenFRC6CToken /* 801B93BC 001B631C 38 00 00 00 */ li r0, 0 /* 801B93C0 001B6320 90 01 00 18 */ stw r0, 0x18(r1) /* 801B93C4 001B6324 80 1B 00 28 */ lwz r0, 0x28(r27) /* 801B93C8 001B6328 1C 00 00 0C */ mulli r0, r0, 0xc /* 801B93CC 001B632C 7F FD 02 15 */ add. r31, r29, r0 /* 801B93D0 001B6330 41 82 00 18 */ beq lbl_801B93E8 /* 801B93D4 001B6334 7F E3 FB 78 */ mr r3, r31 /* 801B93D8 001B6338 38 81 00 10 */ addi r4, r1, 0x10 /* 801B93DC 001B633C 48 18 7A CD */ bl __ct__6CTokenFRC6CToken /* 801B93E0 001B6340 80 01 00 18 */ lwz r0, 0x18(r1) /* 801B93E4 001B6344 90 1F 00 08 */ stw r0, 8(r31) lbl_801B93E8: /* 801B93E8 001B6348 80 BB 00 28 */ lwz r5, 0x28(r27) /* 801B93EC 001B634C 38 61 00 10 */ addi r3, r1, 0x10 /* 801B93F0 001B6350 38 80 00 00 */ li r4, 0 /* 801B93F4 001B6354 38 05 00 01 */ addi r0, r5, 1 /* 801B93F8 001B6358 90 1B 00 28 */ stw r0, 0x28(r27) /* 801B93FC 001B635C 48 18 7A 45 */ bl __dt__6CTokenFv /* 801B9400 001B6360 38 61 00 08 */ addi r3, r1, 8 /* 801B9404 001B6364 38 80 FF FF */ li r4, -1 /* 801B9408 001B6368 48 18 7A 39 */ bl __dt__6CTokenFv /* 801B940C 001B636C 3B 9C 00 01 */ addi r28, r28, 1 /* 801B9410 001B6370 3B DE 00 04 */ addi r30, r30, 4 /* 801B9414 001B6374 2C 1C 00 05 */ cmpwi r28, 5 /* 801B9418 001B6378 41 80 FF 7C */ blt lbl_801B9394 /* 801B941C 001B637C BB 61 00 2C */ lmw r27, 0x2c(r1) /* 801B9420 001B6380 80 01 00 44 */ lwz r0, 0x44(r1) /* 801B9424 001B6384 7C 08 03 A6 */ mtlr r0 /* 801B9428 001B6388 38 21 00 40 */ addi r1, r1, 0x40 /* 801B942C 001B638C 4E 80 00 20 */ blr .global IsComboFxActive__10CAuxWeaponCFRC13CStateManager IsComboFxActive__10CAuxWeaponCFRC13CStateManager: /* 801B9430 001B6390 94 21 FF F0 */ stwu r1, -0x10(r1) /* 801B9434 001B6394 7C 08 02 A6 */ mflr r0 /* 801B9438 001B6398 90 01 00 14 */ stw r0, 0x14(r1) /* 801B943C 001B639C 80 03 00 74 */ lwz r0, 0x74(r3) /* 801B9440 001B63A0 2C 00 00 03 */ cmpwi r0, 3 /* 801B9444 001B63A4 41 82 00 3C */ beq lbl_801B9480 /* 801B9448 001B63A8 40 80 00 60 */ bge lbl_801B94A8 /* 801B944C 001B63AC 2C 00 00 02 */ cmpwi r0, 2 /* 801B9450 001B63B0 40 80 00 08 */ bge lbl_801B9458 /* 801B9454 001B63B4 48 00 00 54 */ b lbl_801B94A8 lbl_801B9458: /* 801B9458 001B63B8 A0 03 00 70 */ lhz r0, 0x70(r3) /* 801B945C 001B63BC 7C 83 23 78 */ mr r3, r4 /* 801B9460 001B63C0 38 81 00 0C */ addi r4, r1, 0xc /* 801B9464 001B63C4 B0 01 00 0C */ sth r0, 0xc(r1) /* 801B9468 001B63C8 4B E9 31 3D */ bl GetObjectById__13CStateManagerCF9TUniqueId /* 801B946C 001B63CC 28 03 00 00 */ cmplwi r3, 0 /* 801B9470 001B63D0 41 82 00 38 */ beq lbl_801B94A8 /* 801B9474 001B63D4 88 03 03 D0 */ lbz r0, 0x3d0(r3) /* 801B9478 001B63D8 54 03 CF FE */ rlwinm r3, r0, 0x19, 0x1f, 0x1f /* 801B947C 001B63DC 48 00 00 30 */ b lbl_801B94AC lbl_801B9480: /* 801B9480 001B63E0 A0 03 00 6E */ lhz r0, 0x6e(r3) /* 801B9484 001B63E4 7C 83 23 78 */ mr r3, r4 /* 801B9488 001B63E8 38 81 00 08 */ addi r4, r1, 8 /* 801B948C 001B63EC B0 01 00 08 */ sth r0, 8(r1) /* 801B9490 001B63F0 4B E9 31 15 */ bl GetObjectById__13CStateManagerCF9TUniqueId /* 801B9494 001B63F4 28 03 00 00 */ cmplwi r3, 0 /* 801B9498 001B63F8 41 82 00 10 */ beq lbl_801B94A8 /* 801B949C 001B63FC 88 03 03 7C */ lbz r0, 0x37c(r3) /* 801B94A0 001B6400 54 03 D7 FE */ rlwinm r3, r0, 0x1a, 0x1f, 0x1f /* 801B94A4 001B6404 48 00 00 08 */ b lbl_801B94AC lbl_801B94A8: /* 801B94A8 001B6408 38 60 00 00 */ li r3, 0 lbl_801B94AC: /* 801B94AC 001B640C 80 01 00 14 */ lwz r0, 0x14(r1) /* 801B94B0 001B6410 7C 08 03 A6 */ mtlr r0 /* 801B94B4 001B6414 38 21 00 10 */ addi r1, r1, 0x10 /* 801B94B8 001B6418 4E 80 00 20 */ blr .global StopComboFx__10CAuxWeaponFR13CStateManagerb StopComboFx__10CAuxWeaponFR13CStateManagerb: /* 801B94BC 001B641C 94 21 FF E0 */ stwu r1, -0x20(r1) /* 801B94C0 001B6420 7C 08 02 A6 */ mflr r0 /* 801B94C4 001B6424 90 01 00 24 */ stw r0, 0x24(r1) /* 801B94C8 001B6428 93 E1 00 1C */ stw r31, 0x1c(r1) /* 801B94CC 001B642C 7C BF 2B 78 */ mr r31, r5 /* 801B94D0 001B6430 93 C1 00 18 */ stw r30, 0x18(r1) /* 801B94D4 001B6434 7C 9E 23 78 */ mr r30, r4 /* 801B94D8 001B6438 93 A1 00 14 */ stw r29, 0x14(r1) /* 801B94DC 001B643C 7C 7D 1B 78 */ mr r29, r3 /* 801B94E0 001B6440 80 03 00 74 */ lwz r0, 0x74(r3) /* 801B94E4 001B6444 2C 00 00 03 */ cmpwi r0, 3 /* 801B94E8 001B6448 41 82 00 48 */ beq lbl_801B9530 /* 801B94EC 001B644C 40 80 00 BC */ bge lbl_801B95A8 /* 801B94F0 001B6450 2C 00 00 02 */ cmpwi r0, 2 /* 801B94F4 001B6454 40 80 00 08 */ bge lbl_801B94FC /* 801B94F8 001B6458 48 00 00 B0 */ b lbl_801B95A8 lbl_801B94FC: /* 801B94FC 001B645C A0 1D 00 70 */ lhz r0, 0x70(r29) /* 801B9500 001B6460 7F C3 F3 78 */ mr r3, r30 /* 801B9504 001B6464 38 81 00 0C */ addi r4, r1, 0xc /* 801B9508 001B6468 B0 01 00 0C */ sth r0, 0xc(r1) /* 801B950C 001B646C 4B E9 30 69 */ bl ObjectById__13CStateManagerF9TUniqueId /* 801B9510 001B6470 28 03 00 00 */ cmplwi r3, 0 /* 801B9514 001B6474 41 82 00 94 */ beq lbl_801B95A8 /* 801B9518 001B6478 7F E4 FB 78 */ mr r4, r31 /* 801B951C 001B647C 48 00 57 FD */ bl ResetBeam__11CWaveBusterFb /* 801B9520 001B6480 7F A3 EB 78 */ mr r3, r29 /* 801B9524 001B6484 7F C4 F3 78 */ mr r4, r30 /* 801B9528 001B6488 4B FF F5 5D */ bl DeleteWaveBusterBeam__10CAuxWeaponFR13CStateManager /* 801B952C 001B648C 48 00 00 7C */ b lbl_801B95A8 lbl_801B9530: /* 801B9530 001B6490 A0 1D 00 6E */ lhz r0, 0x6e(r29) /* 801B9534 001B6494 7F C3 F3 78 */ mr r3, r30 /* 801B9538 001B6498 38 81 00 08 */ addi r4, r1, 8 /* 801B953C 001B649C B0 01 00 08 */ sth r0, 8(r1) /* 801B9540 001B64A0 4B E9 30 35 */ bl ObjectById__13CStateManagerF9TUniqueId /* 801B9544 001B64A4 28 03 00 00 */ cmplwi r3, 0 /* 801B9548 001B64A8 41 82 00 60 */ beq lbl_801B95A8 /* 801B954C 001B64AC 80 9E 08 B8 */ lwz r4, 0x8b8(r30) /* 801B9550 001B64B0 38 A0 00 00 */ li r5, 0 /* 801B9554 001B64B4 80 84 00 00 */ lwz r4, 0(r4) /* 801B9558 001B64B8 88 04 00 00 */ lbz r0, 0(r4) /* 801B955C 001B64BC 50 A0 36 72 */ rlwimi r0, r5, 6, 0x19, 0x19 /* 801B9560 001B64C0 98 04 00 00 */ stb r0, 0(r4) /* 801B9564 001B64C4 88 03 03 7C */ lbz r0, 0x37c(r3) /* 801B9568 001B64C8 54 00 D7 FF */ rlwinm. r0, r0, 0x1a, 0x1f, 0x1f /* 801B956C 001B64CC 41 82 00 1C */ beq lbl_801B9588 /* 801B9570 001B64D0 7F C4 F3 78 */ mr r4, r30 /* 801B9574 001B64D4 7F E5 FB 78 */ mr r5, r31 /* 801B9578 001B64D8 48 0A A3 69 */ bl Reset__16CFlameNewThrowerFR13CStateManagerb /* 801B957C 001B64DC 7F A3 EB 78 */ mr r3, r29 /* 801B9580 001B64E0 4B FF F4 6D */ bl FreeComboVoiceId__10CAuxWeaponFv /* 801B9584 001B64E4 48 00 00 24 */ b lbl_801B95A8 lbl_801B9588: /* 801B9588 001B64E8 88 03 00 30 */ lbz r0, 0x30(r3) /* 801B958C 001B64EC 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f /* 801B9590 001B64F0 41 82 00 18 */ beq lbl_801B95A8 /* 801B9594 001B64F4 57 E0 06 3F */ clrlwi. r0, r31, 0x18 /* 801B9598 001B64F8 41 82 00 10 */ beq lbl_801B95A8 /* 801B959C 001B64FC 7F C4 F3 78 */ mr r4, r30 /* 801B95A0 001B6500 7F E5 FB 78 */ mr r5, r31 /* 801B95A4 001B6504 48 0A A3 3D */ bl Reset__16CFlameNewThrowerFR13CStateManagerb lbl_801B95A8: /* 801B95A8 001B6508 57 E0 06 3F */ clrlwi. r0, r31, 0x18 /* 801B95AC 001B650C 41 82 00 14 */ beq lbl_801B95C0 /* 801B95B0 001B6510 38 00 FF FF */ li r0, -1 /* 801B95B4 001B6514 C0 02 A9 C4 */ lfs f0, lbl_805AC6E4@sda21(r2) /* 801B95B8 001B6518 90 1D 00 74 */ stw r0, 0x74(r29) /* 801B95BC 001B651C D0 1D 00 68 */ stfs f0, 0x68(r29) lbl_801B95C0: /* 801B95C0 001B6520 80 01 00 24 */ lwz r0, 0x24(r1) /* 801B95C4 001B6524 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 801B95C8 001B6528 83 C1 00 18 */ lwz r30, 0x18(r1) /* 801B95CC 001B652C 83 A1 00 14 */ lwz r29, 0x14(r1) /* 801B95D0 001B6530 7C 08 03 A6 */ mtlr r0 /* 801B95D4 001B6534 38 21 00 20 */ addi r1, r1, 0x20 /* 801B95D8 001B6538 4E 80 00 20 */ blr .global UpdateComboFx__10CAuxWeaponFfRC9CVector3fRC9CVector3fRC12CTransform4fR13CStateManager UpdateComboFx__10CAuxWeaponFfRC9CVector3fRC9CVector3fRC12CTransform4fR13CStateManager: /* 801B95DC 001B653C 94 21 FF B0 */ stwu r1, -0x50(r1) /* 801B95E0 001B6540 7C 08 02 A6 */ mflr r0 /* 801B95E4 001B6544 90 01 00 54 */ stw r0, 0x54(r1) /* 801B95E8 001B6548 DB E1 00 40 */ stfd f31, 0x40(r1) /* 801B95EC 001B654C F3 E1 00 48 */ psq_st f31, 72(r1), 0, qr0 /* 801B95F0 001B6550 BE C1 00 18 */ stmw r22, 0x18(r1) /* 801B95F4 001B6554 88 03 00 80 */ lbz r0, 0x80(r3) /* 801B95F8 001B6558 FF E0 08 90 */ fmr f31, f1 /* 801B95FC 001B655C 7C 78 1B 78 */ mr r24, r3 /* 801B9600 001B6560 7C 99 23 78 */ mr r25, r4 /* 801B9604 001B6564 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f /* 801B9608 001B6568 7C BA 2B 78 */ mr r26, r5 /* 801B960C 001B656C 7C DB 33 78 */ mr r27, r6 /* 801B9610 001B6570 7C FC 3B 78 */ mr r28, r7 /* 801B9614 001B6574 41 82 00 10 */ beq lbl_801B9624 /* 801B9618 001B6578 80 18 00 74 */ lwz r0, 0x74(r24) /* 801B961C 001B657C 2C 00 FF FF */ cmpwi r0, -1 /* 801B9620 001B6580 40 82 00 0C */ bne lbl_801B962C lbl_801B9624: /* 801B9624 001B6584 38 60 00 00 */ li r3, 0 /* 801B9628 001B6588 48 00 02 2C */ b lbl_801B9854 lbl_801B962C: /* 801B962C 001B658C 80 9C 08 B8 */ lwz r4, 0x8b8(r28) /* 801B9630 001B6590 38 61 00 10 */ addi r3, r1, 0x10 /* 801B9634 001B6594 80 18 00 7C */ lwz r0, 0x7c(r24) /* 801B9638 001B6598 3B C0 00 00 */ li r30, 0 /* 801B963C 001B659C 83 E4 00 00 */ lwz r31, 0(r4) /* 801B9640 001B65A0 90 01 00 10 */ stw r0, 0x10(r1) /* 801B9644 001B65A4 48 12 F7 91 */ bl IsPlaying__11CSfxManagerF10CSfxHandle /* 801B9648 001B65A8 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 801B964C 001B65AC 40 82 00 18 */ bne lbl_801B9664 /* 801B9650 001B65B0 80 18 00 7C */ lwz r0, 0x7c(r24) /* 801B9654 001B65B4 28 00 00 00 */ cmplwi r0, 0 /* 801B9658 001B65B8 41 82 00 0C */ beq lbl_801B9664 /* 801B965C 001B65BC 7F 03 C3 78 */ mr r3, r24 /* 801B9660 001B65C0 4B FF F3 8D */ bl FreeComboVoiceId__10CAuxWeaponFv lbl_801B9664: /* 801B9664 001B65C4 80 18 00 74 */ lwz r0, 0x74(r24) /* 801B9668 001B65C8 2C 00 00 04 */ cmpwi r0, 4 /* 801B966C 001B65CC 40 80 01 E4 */ bge lbl_801B9850 /* 801B9670 001B65D0 2C 00 00 02 */ cmpwi r0, 2 /* 801B9674 001B65D4 40 80 00 08 */ bge lbl_801B967C /* 801B9678 001B65D8 48 00 01 D8 */ b lbl_801B9850 lbl_801B967C: /* 801B967C 001B65DC 3B A0 00 00 */ li r29, 0 /* 801B9680 001B65E0 40 82 00 68 */ bne lbl_801B96E8 /* 801B9684 001B65E4 A0 18 00 70 */ lhz r0, 0x70(r24) /* 801B9688 001B65E8 7F 83 E3 78 */ mr r3, r28 /* 801B968C 001B65EC 38 81 00 0C */ addi r4, r1, 0xc /* 801B9690 001B65F0 B0 01 00 0C */ sth r0, 0xc(r1) /* 801B9694 001B65F4 4B E9 2E E1 */ bl ObjectById__13CStateManagerF9TUniqueId /* 801B9698 001B65F8 28 03 00 00 */ cmplwi r3, 0 /* 801B969C 001B65FC 41 82 00 2C */ beq lbl_801B96C8 /* 801B96A0 001B6600 88 03 03 D0 */ lbz r0, 0x3d0(r3) /* 801B96A4 001B6604 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f /* 801B96A8 001B6608 41 82 00 20 */ beq lbl_801B96C8 /* 801B96AC 001B660C FC 20 F8 90 */ fmr f1, f31 /* 801B96B0 001B6610 7F 64 DB 78 */ mr r4, r27 /* 801B96B4 001B6614 7F 85 E3 78 */ mr r5, r28 /* 801B96B8 001B6618 48 00 57 C5 */ bl UpdateFx__11CWaveBusterFRC12CTransform4ffR13CStateManager /* 801B96BC 001B661C 3B C0 00 01 */ li r30, 1 /* 801B96C0 001B6620 3B A0 00 01 */ li r29, 1 /* 801B96C4 001B6624 48 00 00 B0 */ b lbl_801B9774 lbl_801B96C8: /* 801B96C8 001B6628 7F 03 C3 78 */ mr r3, r24 /* 801B96CC 001B662C 7F 84 E3 78 */ mr r4, r28 /* 801B96D0 001B6630 4B FF F3 B5 */ bl DeleteWaveBusterBeam__10CAuxWeaponFR13CStateManager /* 801B96D4 001B6634 88 1F 00 00 */ lbz r0, 0(r31) /* 801B96D8 001B6638 38 60 00 00 */ li r3, 0 /* 801B96DC 001B663C 50 60 36 72 */ rlwimi r0, r3, 6, 0x19, 0x19 /* 801B96E0 001B6640 98 1F 00 00 */ stb r0, 0(r31) /* 801B96E4 001B6644 48 00 00 90 */ b lbl_801B9774 lbl_801B96E8: /* 801B96E8 001B6648 A0 18 00 6E */ lhz r0, 0x6e(r24) /* 801B96EC 001B664C 7F 83 E3 78 */ mr r3, r28 /* 801B96F0 001B6650 38 81 00 08 */ addi r4, r1, 8 /* 801B96F4 001B6654 B0 01 00 08 */ sth r0, 8(r1) /* 801B96F8 001B6658 4B E9 2E 7D */ bl ObjectById__13CStateManagerF9TUniqueId /* 801B96FC 001B665C 7C 77 1B 79 */ or. r23, r3, r3 /* 801B9700 001B6660 3A C0 00 01 */ li r22, 1 /* 801B9704 001B6664 41 82 00 4C */ beq lbl_801B9750 /* 801B9708 001B6668 88 17 00 30 */ lbz r0, 0x30(r23) /* 801B970C 001B666C 88 97 03 7C */ lbz r4, 0x37c(r23) /* 801B9710 001B6670 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f /* 801B9714 001B6674 54 9D CF FE */ rlwinm r29, r4, 0x19, 0x1f, 0x1f /* 801B9718 001B6678 41 82 00 1C */ beq lbl_801B9734 /* 801B971C 001B667C FC 20 F8 90 */ fmr f1, f31 /* 801B9720 001B6680 7F 64 DB 78 */ mr r4, r27 /* 801B9724 001B6684 7F 85 E3 78 */ mr r5, r28 /* 801B9728 001B6688 48 0A A4 15 */ bl UpdateFx__16CNewFlameThrowerFRC12CTransform4ffR13CStateManager /* 801B972C 001B668C 88 17 03 7C */ lbz r0, 0x37c(r23) /* 801B9730 001B6690 54 1E D7 FE */ rlwinm r30, r0, 0x1a, 0x1f, 0x1f lbl_801B9734: /* 801B9734 001B6694 A0 78 00 6E */ lhz r3, 0x6e(r24) /* 801B9738 001B6698 A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13) /* 801B973C 001B669C 7C 03 00 40 */ cmplw r3, r0 /* 801B9740 001B66A0 41 82 00 10 */ beq lbl_801B9750 /* 801B9744 001B66A4 7E E3 BB 78 */ mr r3, r23 /* 801B9748 001B66A8 48 0A 87 6D */ bl AreParticlesDoneEmitting__16CNewFlameThrowerCFv /* 801B974C 001B66AC 7C 76 1B 78 */ mr r22, r3 lbl_801B9750: /* 801B9750 001B66B0 56 C0 06 3F */ clrlwi. r0, r22, 0x18 /* 801B9754 001B66B4 41 82 00 20 */ beq lbl_801B9774 /* 801B9758 001B66B8 7F 03 C3 78 */ mr r3, r24 /* 801B975C 001B66BC 7F 84 E3 78 */ mr r4, r28 /* 801B9760 001B66C0 4B FF F3 B5 */ bl DeleteFlameThrower__10CAuxWeaponFR13CStateManager /* 801B9764 001B66C4 88 1F 00 00 */ lbz r0, 0(r31) /* 801B9768 001B66C8 38 60 00 00 */ li r3, 0 /* 801B976C 001B66CC 50 60 36 72 */ rlwimi r0, r3, 6, 0x19, 0x19 /* 801B9770 001B66D0 98 1F 00 00 */ stb r0, 0(r31) lbl_801B9774: /* 801B9774 001B66D4 57 A0 06 3F */ clrlwi. r0, r29, 0x18 /* 801B9778 001B66D8 41 82 00 54 */ beq lbl_801B97CC /* 801B977C 001B66DC C0 18 00 68 */ lfs f0, 0x68(r24) /* 801B9780 001B66E0 7F E3 FB 78 */ mr r3, r31 /* 801B9784 001B66E4 38 80 00 04 */ li r4, 4 /* 801B9788 001B66E8 EC 00 F8 2A */ fadds f0, f0, f31 /* 801B978C 001B66EC D0 18 00 68 */ stfs f0, 0x68(r24) /* 801B9790 001B66F0 4B ED 83 8D */ bl GetItemAmount__12CPlayerStateCFQ212CPlayerState9EItemType /* 801B9794 001B66F4 2C 03 00 00 */ cmpwi r3, 0 /* 801B9798 001B66F8 40 81 00 34 */ ble lbl_801B97CC /* 801B979C 001B66FC 7F E3 FB 78 */ mr r3, r31 /* 801B97A0 001B6700 4B ED 7A 65 */ bl GetComboFireAmmoPeriod__12CPlayerStateCFv /* 801B97A4 001B6704 C0 18 00 68 */ lfs f0, 0x68(r24) /* 801B97A8 001B6708 FC 00 08 40 */ fcmpo cr0, f0, f1 /* 801B97AC 001B670C 4C 41 13 82 */ cror 2, 1, 2 /* 801B97B0 001B6710 40 82 00 1C */ bne lbl_801B97CC /* 801B97B4 001B6714 7F E3 FB 78 */ mr r3, r31 /* 801B97B8 001B6718 38 80 00 04 */ li r4, 4 /* 801B97BC 001B671C 38 A0 00 01 */ li r5, 1 /* 801B97C0 001B6720 4B ED 83 D5 */ bl DecrPickUp__12CPlayerStateFQ212CPlayerState9EItemTypei /* 801B97C4 001B6724 C0 02 A9 C4 */ lfs f0, lbl_805AC6E4@sda21(r2) /* 801B97C8 001B6728 D0 18 00 68 */ stfs f0, 0x68(r24) lbl_801B97CC: /* 801B97CC 001B672C 7F E3 FB 78 */ mr r3, r31 /* 801B97D0 001B6730 38 80 00 04 */ li r4, 4 /* 801B97D4 001B6734 4B ED 83 49 */ bl GetItemAmount__12CPlayerStateCFQ212CPlayerState9EItemType /* 801B97D8 001B6738 2C 03 00 00 */ cmpwi r3, 0 /* 801B97DC 001B673C 40 82 00 14 */ bne lbl_801B97F0 /* 801B97E0 001B6740 7F 03 C3 78 */ mr r3, r24 /* 801B97E4 001B6744 7F 84 E3 78 */ mr r4, r28 /* 801B97E8 001B6748 38 A0 00 00 */ li r5, 0 /* 801B97EC 001B674C 4B FF FC D1 */ bl StopComboFx__10CAuxWeaponFR13CStateManagerb lbl_801B97F0: /* 801B97F0 001B6750 80 78 00 24 */ lwz r3, 0x24(r24) /* 801B97F4 001B6754 7F 44 D3 78 */ mr r4, r26 /* 801B97F8 001B6758 81 83 00 00 */ lwz r12, 0(r3) /* 801B97FC 001B675C 81 8C 00 20 */ lwz r12, 0x20(r12) /* 801B9800 001B6760 7D 89 03 A6 */ mtctr r12 /* 801B9804 001B6764 4E 80 04 21 */ bctrl /* 801B9808 001B6768 80 78 00 24 */ lwz r3, 0x24(r24) /* 801B980C 001B676C 7F 24 CB 78 */ mr r4, r25 /* 801B9810 001B6770 81 83 00 00 */ lwz r12, 0(r3) /* 801B9814 001B6774 81 8C 00 24 */ lwz r12, 0x24(r12) /* 801B9818 001B6778 7D 89 03 A6 */ mtctr r12 /* 801B981C 001B677C 4E 80 04 21 */ bctrl /* 801B9820 001B6780 80 78 00 24 */ lwz r3, 0x24(r24) /* 801B9824 001B6784 57 A4 06 3E */ clrlwi r4, r29, 0x18 /* 801B9828 001B6788 81 83 00 00 */ lwz r12, 0(r3) /* 801B982C 001B678C 81 8C 00 2C */ lwz r12, 0x2c(r12) /* 801B9830 001B6790 7D 89 03 A6 */ mtctr r12 /* 801B9834 001B6794 4E 80 04 21 */ bctrl /* 801B9838 001B6798 80 78 00 24 */ lwz r3, 0x24(r24) /* 801B983C 001B679C FC 20 F8 90 */ fmr f1, f31 /* 801B9840 001B67A0 81 83 00 00 */ lwz r12, 0(r3) /* 801B9844 001B67A4 81 8C 00 0C */ lwz r12, 0xc(r12) /* 801B9848 001B67A8 7D 89 03 A6 */ mtctr r12 /* 801B984C 001B67AC 4E 80 04 21 */ bctrl lbl_801B9850: /* 801B9850 001B67B0 57 C3 06 3E */ clrlwi r3, r30, 0x18 lbl_801B9854: /* 801B9854 001B67B4 E3 E1 00 48 */ psq_l f31, 72(r1), 0, qr0 /* 801B9858 001B67B8 CB E1 00 40 */ lfd f31, 0x40(r1) /* 801B985C 001B67BC BA C1 00 18 */ lmw r22, 0x18(r1) /* 801B9860 001B67C0 80 01 00 54 */ lwz r0, 0x54(r1) /* 801B9864 001B67C4 7C 08 03 A6 */ mtlr r0 /* 801B9868 001B67C8 38 21 00 50 */ addi r1, r1, 0x50 /* 801B986C 001B67CC 4E 80 00 20 */ blr .global RenderMuzzleFx__10CAuxWeaponCFv RenderMuzzleFx__10CAuxWeaponCFv: /* 801B9870 001B67D0 94 21 FF F0 */ stwu r1, -0x10(r1) /* 801B9874 001B67D4 7C 08 02 A6 */ mflr r0 /* 801B9878 001B67D8 90 01 00 14 */ stw r0, 0x14(r1) /* 801B987C 001B67DC 80 03 00 74 */ lwz r0, 0x74(r3) /* 801B9880 001B67E0 2C 00 00 04 */ cmpwi r0, 4 /* 801B9884 001B67E4 40 80 00 24 */ bge lbl_801B98A8 /* 801B9888 001B67E8 2C 00 00 02 */ cmpwi r0, 2 /* 801B988C 001B67EC 40 80 00 08 */ bge lbl_801B9894 /* 801B9890 001B67F0 48 00 00 18 */ b lbl_801B98A8 lbl_801B9894: /* 801B9894 001B67F4 80 63 00 24 */ lwz r3, 0x24(r3) /* 801B9898 001B67F8 81 83 00 00 */ lwz r12, 0(r3) /* 801B989C 001B67FC 81 8C 00 10 */ lwz r12, 0x10(r12) /* 801B98A0 001B6800 7D 89 03 A6 */ mtctr r12 /* 801B98A4 001B6804 4E 80 04 21 */ bctrl lbl_801B98A8: /* 801B98A8 001B6808 80 01 00 14 */ lwz r0, 0x14(r1) /* 801B98AC 001B680C 7C 08 03 A6 */ mtlr r0 /* 801B98B0 001B6810 38 21 00 10 */ addi r1, r1, 0x10 /* 801B98B4 001B6814 4E 80 00 20 */ blr .global HasTarget__10CAuxWeaponCFRC13CStateManager HasTarget__10CAuxWeaponCFRC13CStateManager: /* 801B98B8 001B6818 94 21 FF E0 */ stwu r1, -0x20(r1) /* 801B98BC 001B681C 7C 08 02 A6 */ mflr r0 /* 801B98C0 001B6820 90 01 00 24 */ stw r0, 0x24(r1) /* 801B98C4 001B6824 93 E1 00 1C */ stw r31, 0x1c(r1) /* 801B98C8 001B6828 7C 7F 1B 78 */ mr r31, r3 /* 801B98CC 001B682C 80 04 00 74 */ lwz r0, 0x74(r4) /* 801B98D0 001B6830 2C 00 00 02 */ cmpwi r0, 2 /* 801B98D4 001B6834 41 82 00 08 */ beq lbl_801B98DC /* 801B98D8 001B6838 48 00 00 2C */ b lbl_801B9904 lbl_801B98DC: /* 801B98DC 001B683C A0 04 00 70 */ lhz r0, 0x70(r4) /* 801B98E0 001B6840 7C A3 2B 78 */ mr r3, r5 /* 801B98E4 001B6844 38 81 00 08 */ addi r4, r1, 8 /* 801B98E8 001B6848 B0 01 00 08 */ sth r0, 8(r1) /* 801B98EC 001B684C 4B E9 2C B9 */ bl GetObjectById__13CStateManagerCF9TUniqueId /* 801B98F0 001B6850 28 03 00 00 */ cmplwi r3, 0 /* 801B98F4 001B6854 41 82 00 10 */ beq lbl_801B9904 /* 801B98F8 001B6858 A0 03 02 C0 */ lhz r0, 0x2c0(r3) /* 801B98FC 001B685C B0 1F 00 00 */ sth r0, 0(r31) /* 801B9900 001B6860 48 00 00 0C */ b lbl_801B990C lbl_801B9904: /* 801B9904 001B6864 A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13) /* 801B9908 001B6868 B0 1F 00 00 */ sth r0, 0(r31) lbl_801B990C: /* 801B990C 001B686C 80 01 00 24 */ lwz r0, 0x24(r1) /* 801B9910 001B6870 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 801B9914 001B6874 7C 08 03 A6 */ mtlr r0 /* 801B9918 001B6878 38 21 00 20 */ addi r1, r1, 0x20 /* 801B991C 001B687C 4E 80 00 20 */ blr .global SetNewTarget__10CAuxWeaponF9TUniqueIdR13CStateManager SetNewTarget__10CAuxWeaponF9TUniqueIdR13CStateManager: /* 801B9920 001B6880 94 21 FF E0 */ stwu r1, -0x20(r1) /* 801B9924 001B6884 7C 08 02 A6 */ mflr r0 /* 801B9928 001B6888 90 01 00 24 */ stw r0, 0x24(r1) /* 801B992C 001B688C 93 E1 00 1C */ stw r31, 0x1c(r1) /* 801B9930 001B6890 7C BF 2B 78 */ mr r31, r5 /* 801B9934 001B6894 93 C1 00 18 */ stw r30, 0x18(r1) /* 801B9938 001B6898 7C 9E 23 78 */ mr r30, r4 /* 801B993C 001B689C 80 03 00 74 */ lwz r0, 0x74(r3) /* 801B9940 001B68A0 2C 00 00 02 */ cmpwi r0, 2 /* 801B9944 001B68A4 41 82 00 08 */ beq lbl_801B994C /* 801B9948 001B68A8 48 00 00 34 */ b lbl_801B997C lbl_801B994C: /* 801B994C 001B68AC A0 03 00 70 */ lhz r0, 0x70(r3) /* 801B9950 001B68B0 7F E3 FB 78 */ mr r3, r31 /* 801B9954 001B68B4 38 81 00 0C */ addi r4, r1, 0xc /* 801B9958 001B68B8 B0 01 00 0C */ sth r0, 0xc(r1) /* 801B995C 001B68BC 4B E9 2C 19 */ bl ObjectById__13CStateManagerF9TUniqueId /* 801B9960 001B68C0 28 03 00 00 */ cmplwi r3, 0 /* 801B9964 001B68C4 41 82 00 18 */ beq lbl_801B997C /* 801B9968 001B68C8 A0 1E 00 00 */ lhz r0, 0(r30) /* 801B996C 001B68CC 7F E5 FB 78 */ mr r5, r31 /* 801B9970 001B68D0 38 81 00 08 */ addi r4, r1, 8 /* 801B9974 001B68D4 B0 01 00 08 */ sth r0, 8(r1) /* 801B9978 001B68D8 48 00 66 E5 */ bl SetNewTarget__11CWaveBusterF9TUniqueId lbl_801B997C: /* 801B997C 001B68DC 80 01 00 24 */ lwz r0, 0x24(r1) /* 801B9980 001B68E0 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 801B9984 001B68E4 83 C1 00 18 */ lwz r30, 0x18(r1) /* 801B9988 001B68E8 7C 08 03 A6 */ mtlr r0 /* 801B998C 001B68EC 38 21 00 20 */ addi r1, r1, 0x20 /* 801B9990 001B68F0 4E 80 00 20 */ blr .global Fire__10CAuxWeaponFfbiQ212CPlayerState12EChargeStageRC12CTransform4fR13CStateManager11EWeaponType9TUniqueId Fire__10CAuxWeaponFfbiQ212CPlayerState12EChargeStageRC12CTransform4fR13CStateManager11EWeaponType9TUniqueId: /* 801B9994 001B68F4 94 21 FF C0 */ stwu r1, -0x40(r1) /* 801B9998 001B68F8 7C 08 02 A6 */ mflr r0 /* 801B999C 001B68FC 90 01 00 44 */ stw r0, 0x44(r1) /* 801B99A0 001B6900 DB E1 00 38 */ stfd f31, 0x38(r1) /* 801B99A4 001B6904 FF E0 08 90 */ fmr f31, f1 /* 801B99A8 001B6908 BF 21 00 1C */ stmw r25, 0x1c(r1) /* 801B99AC 001B690C 7C 79 1B 78 */ mr r25, r3 /* 801B99B0 001B6910 7C 9A 23 78 */ mr r26, r4 /* 801B99B4 001B6914 7C BB 2B 78 */ mr r27, r5 /* 801B99B8 001B6918 7C FC 3B 78 */ mr r28, r7 /* 801B99BC 001B691C 7D 1D 43 78 */ mr r29, r8 /* 801B99C0 001B6920 7D 5E 53 78 */ mr r30, r10 /* 801B99C4 001B6924 88 03 00 80 */ lbz r0, 0x80(r3) /* 801B99C8 001B6928 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f /* 801B99CC 001B692C 41 82 00 EC */ beq lbl_801B9AB8 /* 801B99D0 001B6930 7C 06 00 D0 */ neg r0, r6 /* 801B99D4 001B6934 7C 00 33 78 */ or r0, r0, r6 /* 801B99D8 001B6938 54 1F 0F FF */ rlwinm. r31, r0, 1, 0x1f, 0x1f /* 801B99DC 001B693C 41 82 00 14 */ beq lbl_801B99F0 /* 801B99E0 001B6940 7D 23 4B 78 */ mr r3, r9 /* 801B99E4 001B6944 4B E7 DE 75 */ bl GetBeamAttribType__15CGameProjectileF11EWeaponType /* 801B99E8 001B6948 60 67 00 80 */ ori r7, r3, 0x80 /* 801B99EC 001B694C 48 00 00 08 */ b lbl_801B99F4 lbl_801B99F0: /* 801B99F0 001B6950 38 E0 00 00 */ li r7, 0 lbl_801B99F4: /* 801B99F4 001B6954 28 1F 00 00 */ cmplwi r31, 0 /* 801B99F8 001B6958 40 82 00 34 */ bne lbl_801B9A2C /* 801B99FC 001B695C A0 1E 00 00 */ lhz r0, 0(r30) /* 801B9A00 001B6960 FC 20 F8 90 */ fmr f1, f31 /* 801B9A04 001B6964 7F 23 CB 78 */ mr r3, r25 /* 801B9A08 001B6968 7F 44 D3 78 */ mr r4, r26 /* 801B9A0C 001B696C B0 01 00 10 */ sth r0, 0x10(r1) /* 801B9A10 001B6970 7F E5 FB 78 */ mr r5, r31 /* 801B9A14 001B6974 7F 66 DB 78 */ mr r6, r27 /* 801B9A18 001B6978 7F 88 E3 78 */ mr r8, r28 /* 801B9A1C 001B697C 7F AA EB 78 */ mr r10, r29 /* 801B9A20 001B6980 39 21 00 10 */ addi r9, r1, 0x10 /* 801B9A24 001B6984 4B FF F6 4D */ bl LaunchMissile__10CAuxWeaponFbbiUiRC12CTransform4f9TUniqueIdR13CStateManager /* 801B9A28 001B6988 48 00 00 90 */ b lbl_801B9AB8 lbl_801B9A2C: /* 801B9A2C 001B698C 2C 1B 00 02 */ cmpwi r27, 2 /* 801B9A30 001B6990 41 82 00 50 */ beq lbl_801B9A80 /* 801B9A34 001B6994 40 80 00 10 */ bge lbl_801B9A44 /* 801B9A38 001B6998 2C 1B 00 00 */ cmpwi r27, 0 /* 801B9A3C 001B699C 40 80 00 14 */ bge lbl_801B9A50 /* 801B9A40 001B69A0 48 00 00 78 */ b lbl_801B9AB8 lbl_801B9A44: /* 801B9A44 001B69A4 2C 1B 00 04 */ cmpwi r27, 4 /* 801B9A48 001B69A8 40 80 00 70 */ bge lbl_801B9AB8 /* 801B9A4C 001B69AC 48 00 00 58 */ b lbl_801B9AA4 lbl_801B9A50: /* 801B9A50 001B69B0 A0 1E 00 00 */ lhz r0, 0(r30) /* 801B9A54 001B69B4 FC 20 F8 90 */ fmr f1, f31 /* 801B9A58 001B69B8 7F 23 CB 78 */ mr r3, r25 /* 801B9A5C 001B69BC 7F 44 D3 78 */ mr r4, r26 /* 801B9A60 001B69C0 B0 01 00 0C */ sth r0, 0xc(r1) /* 801B9A64 001B69C4 7F E5 FB 78 */ mr r5, r31 /* 801B9A68 001B69C8 7F 66 DB 78 */ mr r6, r27 /* 801B9A6C 001B69CC 7F 88 E3 78 */ mr r8, r28 /* 801B9A70 001B69D0 7F AA EB 78 */ mr r10, r29 /* 801B9A74 001B69D4 39 21 00 0C */ addi r9, r1, 0xc /* 801B9A78 001B69D8 4B FF F5 F9 */ bl LaunchMissile__10CAuxWeaponFbbiUiRC12CTransform4f9TUniqueIdR13CStateManager /* 801B9A7C 001B69DC 48 00 00 3C */ b lbl_801B9AB8 lbl_801B9A80: /* 801B9A80 001B69E0 A0 1E 00 00 */ lhz r0, 0(r30) /* 801B9A84 001B69E4 7F 23 CB 78 */ mr r3, r25 /* 801B9A88 001B69E8 7C E4 3B 78 */ mr r4, r7 /* 801B9A8C 001B69EC 7F 86 E3 78 */ mr r6, r28 /* 801B9A90 001B69F0 B0 01 00 08 */ sth r0, 8(r1) /* 801B9A94 001B69F4 7F A7 EB 78 */ mr r7, r29 /* 801B9A98 001B69F8 38 A1 00 08 */ addi r5, r1, 8 /* 801B9A9C 001B69FC 4B FF F1 09 */ bl CreateWaveBusterBeam__10CAuxWeaponFUi9TUniqueIdRC12CTransform4fR13CStateManager /* 801B9AA0 001B6A00 48 00 00 18 */ b lbl_801B9AB8 lbl_801B9AA4: /* 801B9AA4 001B6A04 FC 20 F8 90 */ fmr f1, f31 /* 801B9AA8 001B6A08 7F 23 CB 78 */ mr r3, r25 /* 801B9AAC 001B6A0C 7F 84 E3 78 */ mr r4, r28 /* 801B9AB0 001B6A10 7F A5 EB 78 */ mr r5, r29 /* 801B9AB4 001B6A14 4B FF F2 C9 */ bl CreateFlameThrower__10CAuxWeaponFRC12CTransform4fR13CStateManagerf lbl_801B9AB8: /* 801B9AB8 001B6A18 CB E1 00 38 */ lfd f31, 0x38(r1) /* 801B9ABC 001B6A1C BB 21 00 1C */ lmw r25, 0x1c(r1) /* 801B9AC0 001B6A20 80 01 00 44 */ lwz r0, 0x44(r1) /* 801B9AC4 001B6A24 7C 08 03 A6 */ mtlr r0 /* 801B9AC8 001B6A28 38 21 00 40 */ addi r1, r1, 0x40 /* 801B9ACC 001B6A2C 4E 80 00 20 */ blr .global __ct__10CAuxWeaponF9TUniqueId __ct__10CAuxWeaponF9TUniqueId: /* 801B9AD0 001B6A30 94 21 FF D0 */ stwu r1, -0x30(r1) /* 801B9AD4 001B6A34 7C 08 02 A6 */ mflr r0 /* 801B9AD8 001B6A38 3C A0 80 3D */ lis r5, lbl_803D1678@ha /* 801B9ADC 001B6A3C 90 01 00 34 */ stw r0, 0x34(r1) /* 801B9AE0 001B6A40 38 A5 16 78 */ addi r5, r5, lbl_803D1678@l /* 801B9AE4 001B6A44 38 A5 00 B6 */ addi r5, r5, 0xb6 /* 801B9AE8 001B6A48 93 E1 00 2C */ stw r31, 0x2c(r1) /* 801B9AEC 001B6A4C 7C 9F 23 78 */ mr r31, r4 /* 801B9AF0 001B6A50 93 C1 00 28 */ stw r30, 0x28(r1) /* 801B9AF4 001B6A54 7C 7E 1B 78 */ mr r30, r3 /* 801B9AF8 001B6A58 38 61 00 18 */ addi r3, r1, 0x18 /* 801B9AFC 001B6A5C 93 A1 00 24 */ stw r29, 0x24(r1) /* 801B9B00 001B6A60 80 8D A0 64 */ lwz r4, gpSimplePool@sda21(r13) /* 801B9B04 001B6A64 81 84 00 00 */ lwz r12, 0(r4) /* 801B9B08 001B6A68 81 8C 00 10 */ lwz r12, 0x10(r12) /* 801B9B0C 001B6A6C 7D 89 03 A6 */ mtctr r12 /* 801B9B10 001B6A70 4E 80 04 21 */ bctrl /* 801B9B14 001B6A74 7F C3 F3 78 */ mr r3, r30 /* 801B9B18 001B6A78 38 81 00 18 */ addi r4, r1, 0x18 /* 801B9B1C 001B6A7C 48 18 73 8D */ bl __ct__6CTokenFRC6CToken /* 801B9B20 001B6A80 7F C3 F3 78 */ mr r3, r30 /* 801B9B24 001B6A84 48 18 72 E9 */ bl GetObj__6CTokenFv /* 801B9B28 001B6A88 80 03 00 04 */ lwz r0, 4(r3) /* 801B9B2C 001B6A8C 38 61 00 18 */ addi r3, r1, 0x18 /* 801B9B30 001B6A90 38 80 FF FF */ li r4, -1 /* 801B9B34 001B6A94 90 1E 00 08 */ stw r0, 8(r30) /* 801B9B38 001B6A98 48 18 73 09 */ bl __dt__6CTokenFv /* 801B9B3C 001B6A9C 80 8D A0 64 */ lwz r4, gpSimplePool@sda21(r13) /* 801B9B40 001B6AA0 3C 60 80 3D */ lis r3, lbl_803D1678@ha /* 801B9B44 001B6AA4 38 A3 16 78 */ addi r5, r3, lbl_803D1678@l /* 801B9B48 001B6AA8 38 61 00 10 */ addi r3, r1, 0x10 /* 801B9B4C 001B6AAC 81 84 00 00 */ lwz r12, 0(r4) /* 801B9B50 001B6AB0 38 A5 00 BE */ addi r5, r5, 0xbe /* 801B9B54 001B6AB4 81 8C 00 10 */ lwz r12, 0x10(r12) /* 801B9B58 001B6AB8 7D 89 03 A6 */ mtctr r12 /* 801B9B5C 001B6ABC 4E 80 04 21 */ bctrl /* 801B9B60 001B6AC0 3B BE 00 0C */ addi r29, r30, 0xc /* 801B9B64 001B6AC4 38 81 00 10 */ addi r4, r1, 0x10 /* 801B9B68 001B6AC8 7F A3 EB 78 */ mr r3, r29 /* 801B9B6C 001B6ACC 48 18 73 3D */ bl __ct__6CTokenFRC6CToken /* 801B9B70 001B6AD0 7F A3 EB 78 */ mr r3, r29 /* 801B9B74 001B6AD4 48 18 72 99 */ bl GetObj__6CTokenFv /* 801B9B78 001B6AD8 80 03 00 04 */ lwz r0, 4(r3) /* 801B9B7C 001B6ADC 38 61 00 10 */ addi r3, r1, 0x10 /* 801B9B80 001B6AE0 38 80 FF FF */ li r4, -1 /* 801B9B84 001B6AE4 90 1D 00 08 */ stw r0, 8(r29) /* 801B9B88 001B6AE8 48 18 72 B9 */ bl __dt__6CTokenFv /* 801B9B8C 001B6AEC 80 8D A0 64 */ lwz r4, gpSimplePool@sda21(r13) /* 801B9B90 001B6AF0 3C 60 80 3D */ lis r3, lbl_803D1678@ha /* 801B9B94 001B6AF4 38 A3 16 78 */ addi r5, r3, lbl_803D1678@l /* 801B9B98 001B6AF8 38 61 00 08 */ addi r3, r1, 8 /* 801B9B9C 001B6AFC 81 84 00 00 */ lwz r12, 0(r4) /* 801B9BA0 001B6B00 38 A5 00 CA */ addi r5, r5, 0xca /* 801B9BA4 001B6B04 81 8C 00 10 */ lwz r12, 0x10(r12) /* 801B9BA8 001B6B08 7D 89 03 A6 */ mtctr r12 /* 801B9BAC 001B6B0C 4E 80 04 21 */ bctrl /* 801B9BB0 001B6B10 3B BE 00 18 */ addi r29, r30, 0x18 /* 801B9BB4 001B6B14 38 81 00 08 */ addi r4, r1, 8 /* 801B9BB8 001B6B18 7F A3 EB 78 */ mr r3, r29 /* 801B9BBC 001B6B1C 48 18 72 ED */ bl __ct__6CTokenFRC6CToken /* 801B9BC0 001B6B20 7F A3 EB 78 */ mr r3, r29 /* 801B9BC4 001B6B24 48 18 72 49 */ bl GetObj__6CTokenFv /* 801B9BC8 001B6B28 80 03 00 04 */ lwz r0, 4(r3) /* 801B9BCC 001B6B2C 38 61 00 08 */ addi r3, r1, 8 /* 801B9BD0 001B6B30 38 80 FF FF */ li r4, -1 /* 801B9BD4 001B6B34 90 1D 00 08 */ stw r0, 8(r29) /* 801B9BD8 001B6B38 48 18 72 69 */ bl __dt__6CTokenFv /* 801B9BDC 001B6B3C 38 A0 00 00 */ li r5, 0 /* 801B9BE0 001B6B40 C0 02 A9 C4 */ lfs f0, lbl_805AC6E4@sda21(r2) /* 801B9BE4 001B6B44 90 BE 00 24 */ stw r5, 0x24(r30) /* 801B9BE8 001B6B48 38 00 FF FF */ li r0, -1 /* 801B9BEC 001B6B4C 7F C3 F3 78 */ mr r3, r30 /* 801B9BF0 001B6B50 90 BE 00 28 */ stw r5, 0x28(r30) /* 801B9BF4 001B6B54 D0 1E 00 68 */ stfs f0, 0x68(r30) /* 801B9BF8 001B6B58 A0 9F 00 00 */ lhz r4, 0(r31) /* 801B9BFC 001B6B5C B0 9E 00 6C */ sth r4, 0x6c(r30) /* 801B9C00 001B6B60 A0 8D A3 8C */ lhz r4, kInvalidUniqueId@sda21(r13) /* 801B9C04 001B6B64 B0 9E 00 6E */ sth r4, 0x6e(r30) /* 801B9C08 001B6B68 A0 8D A3 8C */ lhz r4, kInvalidUniqueId@sda21(r13) /* 801B9C0C 001B6B6C B0 9E 00 70 */ sth r4, 0x70(r30) /* 801B9C10 001B6B70 90 1E 00 74 */ stw r0, 0x74(r30) /* 801B9C14 001B6B74 90 BE 00 78 */ stw r5, 0x78(r30) /* 801B9C18 001B6B78 90 BE 00 7C */ stw r5, 0x7c(r30) /* 801B9C1C 001B6B7C 88 1E 00 80 */ lbz r0, 0x80(r30) /* 801B9C20 001B6B80 50 A0 3E 30 */ rlwimi r0, r5, 7, 0x18, 0x18 /* 801B9C24 001B6B84 98 1E 00 80 */ stb r0, 0x80(r30) /* 801B9C28 001B6B88 4B FF F7 49 */ bl InitComboData__10CAuxWeaponFv /* 801B9C2C 001B6B8C 80 01 00 34 */ lwz r0, 0x34(r1) /* 801B9C30 001B6B90 7F C3 F3 78 */ mr r3, r30 /* 801B9C34 001B6B94 83 E1 00 2C */ lwz r31, 0x2c(r1) /* 801B9C38 001B6B98 83 C1 00 28 */ lwz r30, 0x28(r1) /* 801B9C3C 001B6B9C 83 A1 00 24 */ lwz r29, 0x24(r1) /* 801B9C40 001B6BA0 7C 08 03 A6 */ mtlr r0 /* 801B9C44 001B6BA4 38 21 00 30 */ addi r1, r1, 0x30 /* 801B9C48 001B6BA8 4E 80 00 20 */ blr