.include "macros.inc" .section .data .balign 8 .global lbl_803DFEF0 lbl_803DFEF0: # ROM: 0x3DCEF0 .4byte 0 .4byte 0 .4byte __dt__7CWeaponFv .4byte 0 .4byte PreThink__7CEntityFfR13CStateManager .4byte Think__7CWeaponFfR13CStateManager .4byte AcceptScriptMsg__6CActorF20EScriptObjectMessage9TUniqueIdR13CStateManager .4byte SetActive__6CActorFb .4byte PreRender__6CActorFR13CStateManagerRC14CFrustumPlanes .4byte AddToRenderer__6CActorCFRC14CFrustumPlanesRC13CStateManager .4byte Render__7CWeaponCFRC13CStateManager .4byte CanRenderUnsorted__6CActorCFRC13CStateManager .4byte CalculateRenderBounds__6CActorFv .4byte HealthInfo__6CActorFR13CStateManager .4byte GetDamageVulnerability__6CActorCFv .4byte GetDamageVulnerability__6CActorCFRC9CVector3fRC9CVector3fRC11CDamageInfo .4byte GetTouchBounds__6CActorCFv .4byte Touch__6CActorFR6CActorR13CStateManager .4byte GetOrbitPosition__6CActorCFRC13CStateManager .4byte GetAimPosition__6CActorCFRC13CStateManagerf .4byte GetHomingPosition__6CActorCFRC13CStateManagerf .4byte GetScanObjectIndicatorPosition__6CActorCFRC13CStateManager .4byte GetCollisionResponseType__7CWeaponCFRC9CVector3fRC9CVector3fRC11CWeaponModei .4byte FluidFXThink__7CWeaponFQ26CActor11EFluidStateR12CScriptWaterR13CStateManager .4byte OnScanStateChange__6CActorFQ26CActor10EScanStateR13CStateManager .4byte GetSortingBounds__6CActorCFRC12CTransform4f .4byte DoUserAnimEvent__6CActorFR13CStateManagerRC13CInt32POINode14EUserEventTypef .global lbl_803DFF5C lbl_803DFF5C: # ROM: 0x3DCF5C .4byte lbl_80101F60 .4byte lbl_80101F68 .4byte lbl_80101F70 .4byte lbl_80101F78 .4byte lbl_80101F8C .4byte lbl_80101F8C .4byte lbl_80101F7C .4byte lbl_80101F8C .4byte lbl_80101F84 .section .sdata .balign 8 .global lbl_805A7558 lbl_805A7558: # ROM: 0x3F4EF8 .4byte 0 .4byte 0 .section .sdata2, "a" .balign 8 .global lbl_805AB108 lbl_805AB108: # ROM: 0x3F79A8 .4byte 0 .global lbl_805AB10C lbl_805AB10C: # ROM: 0x3F79AC .float 0.1 .global lbl_805AB110 lbl_805AB110: # ROM: 0x3F79B0 .float 0.3 .global lbl_805AB114 lbl_805AB114: # ROM: 0x3F79B4 .float 0.5 .global lbl_805AB118 lbl_805AB118: # ROM: 0x3F79B8 .float 0.25 .global lbl_805AB11C lbl_805AB11C: # ROM: 0x3F79BC .float 1.0 .section .text, "ax" .global GetCollisionResponseType__7CWeaponCFRC9CVector3fRC9CVector3fRC11CWeaponModei GetCollisionResponseType__7CWeaponCFRC9CVector3fRC9CVector3fRC11CWeaponModei: /* 80101F00 000FEE60 38 60 00 0C */ li r3, 0xc /* 80101F04 000FEE64 4E 80 00 20 */ blr .global Render__7CWeaponCFRC13CStateManager Render__7CWeaponCFRC13CStateManager: /* 80101F08 000FEE68 4E 80 00 20 */ blr .global FluidFXThink__7CWeaponFQ26CActor11EFluidStateR12CScriptWaterR13CStateManager FluidFXThink__7CWeaponFQ26CActor11EFluidStateR12CScriptWaterR13CStateManager: /* 80101F0C 000FEE6C 94 21 FF 90 */ stwu r1, -0x70(r1) /* 80101F10 000FEE70 7C 08 02 A6 */ mflr r0 /* 80101F14 000FEE74 90 01 00 74 */ stw r0, 0x74(r1) /* 80101F18 000FEE78 DB E1 00 60 */ stfd f31, 0x60(r1) /* 80101F1C 000FEE7C F3 E1 00 68 */ psq_st f31, 104(r1), 0, qr0 /* 80101F20 000FEE80 BF 61 00 4C */ stmw r27, 0x4c(r1) /* 80101F24 000FEE84 7C 7C 1B 78 */ mr r28, r3 /* 80101F28 000FEE88 C3 E2 93 E8 */ lfs f31, lbl_805AB108@sda21(r2) /* 80101F2C 000FEE8C 80 03 00 F0 */ lwz r0, 0xf0(r3) /* 80101F30 000FEE90 7C 9D 23 78 */ mr r29, r4 /* 80101F34 000FEE94 7C BE 2B 78 */ mr r30, r5 /* 80101F38 000FEE98 7C DF 33 78 */ mr r31, r6 /* 80101F3C 000FEE9C 28 00 00 08 */ cmplwi r0, 8 /* 80101F40 000FEEA0 3B 60 00 01 */ li r27, 1 /* 80101F44 000FEEA4 41 81 00 48 */ bgt lbl_80101F8C /* 80101F48 000FEEA8 3C 60 80 3E */ lis r3, lbl_803DFF5C@ha /* 80101F4C 000FEEAC 54 00 10 3A */ slwi r0, r0, 2 /* 80101F50 000FEEB0 38 63 FF 5C */ addi r3, r3, lbl_803DFF5C@l /* 80101F54 000FEEB4 7C 03 00 2E */ lwzx r0, r3, r0 /* 80101F58 000FEEB8 7C 09 03 A6 */ mtctr r0 /* 80101F5C 000FEEBC 4E 80 04 20 */ bctr .global lbl_80101F60 lbl_80101F60: /* 80101F60 000FEEC0 C3 E2 93 EC */ lfs f31, lbl_805AB10C@sda21(r2) /* 80101F64 000FEEC4 48 00 00 2C */ b lbl_80101F90 .global lbl_80101F68 lbl_80101F68: /* 80101F68 000FEEC8 C3 E2 93 F0 */ lfs f31, lbl_805AB110@sda21(r2) /* 80101F6C 000FEECC 48 00 00 24 */ b lbl_80101F90 .global lbl_80101F70 lbl_80101F70: /* 80101F70 000FEED0 C3 E2 93 EC */ lfs f31, lbl_805AB10C@sda21(r2) /* 80101F74 000FEED4 48 00 00 1C */ b lbl_80101F90 .global lbl_80101F78 lbl_80101F78: /* 80101F78 000FEED8 48 00 00 18 */ b lbl_80101F90 .global lbl_80101F7C lbl_80101F7C: /* 80101F7C 000FEEDC C3 E2 93 F4 */ lfs f31, lbl_805AB114@sda21(r2) /* 80101F80 000FEEE0 48 00 00 10 */ b lbl_80101F90 .global lbl_80101F84 lbl_80101F84: /* 80101F84 000FEEE4 C3 E2 93 EC */ lfs f31, lbl_805AB10C@sda21(r2) /* 80101F88 000FEEE8 48 00 00 08 */ b lbl_80101F90 .global lbl_80101F8C lbl_80101F8C: /* 80101F8C 000FEEEC 3B 60 00 00 */ li r27, 0 lbl_80101F90: /* 80101F90 000FEEF0 80 7C 00 E8 */ lwz r3, 0xe8(r28) /* 80101F94 000FEEF4 54 60 06 31 */ rlwinm. r0, r3, 0, 0x18, 0x18 /* 80101F98 000FEEF8 41 82 00 14 */ beq lbl_80101FAC /* 80101F9C 000FEEFC 2C 1D 00 01 */ cmpwi r29, 1 /* 80101FA0 000FEF00 41 82 00 0C */ beq lbl_80101FAC /* 80101FA4 000FEF04 C0 02 93 F4 */ lfs f0, lbl_805AB114@sda21(r2) /* 80101FA8 000FEF08 EF FF 00 2A */ fadds f31, f31, f0 lbl_80101FAC: /* 80101FAC 000FEF0C 54 60 07 7B */ rlwinm. r0, r3, 0, 0x1d, 0x1d /* 80101FB0 000FEF10 41 82 00 0C */ beq lbl_80101FBC /* 80101FB4 000FEF14 C0 02 93 F8 */ lfs f0, lbl_805AB118@sda21(r2) /* 80101FB8 000FEF18 EF FF 00 2A */ fadds f31, f31, f0 lbl_80101FBC: /* 80101FBC 000FEF1C C0 02 93 FC */ lfs f0, lbl_805AB11C@sda21(r2) /* 80101FC0 000FEF20 FC 1F 00 40 */ fcmpo cr0, f31, f0 /* 80101FC4 000FEF24 40 81 00 08 */ ble lbl_80101FCC /* 80101FC8 000FEF28 FF E0 00 90 */ fmr f31, f0 lbl_80101FCC: /* 80101FCC 000FEF2C 57 60 06 3F */ clrlwi. r0, r27, 0x18 /* 80101FD0 000FEF30 41 82 00 EC */ beq lbl_801020BC /* 80101FD4 000FEF34 7F C4 F3 78 */ mr r4, r30 /* 80101FD8 000FEF38 38 61 00 30 */ addi r3, r1, 0x30 /* 80101FDC 000FEF3C 4B F7 46 F1 */ bl GetTriggerBoundsWR__14CScriptTriggerCFv /* 80101FE0 000FEF40 C0 3C 00 60 */ lfs f1, 0x60(r28) /* 80101FE4 000FEF44 C0 1C 00 50 */ lfs f0, 0x50(r28) /* 80101FE8 000FEF48 C0 7C 00 40 */ lfs f3, 0x40(r28) /* 80101FEC 000FEF4C C0 41 00 44 */ lfs f2, 0x44(r1) /* 80101FF0 000FEF50 D0 61 00 24 */ stfs f3, 0x24(r1) /* 80101FF4 000FEF54 D0 01 00 28 */ stfs f0, 0x28(r1) /* 80101FF8 000FEF58 D0 41 00 2C */ stfs f2, 0x2c(r1) /* 80101FFC 000FEF5C 80 1C 00 E8 */ lwz r0, 0xe8(r28) /* 80102000 000FEF60 D0 61 00 18 */ stfs f3, 0x18(r1) /* 80102004 000FEF64 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18 /* 80102008 000FEF68 D0 01 00 1C */ stfs f0, 0x1c(r1) /* 8010200C 000FEF6C D0 21 00 20 */ stfs f1, 0x20(r1) /* 80102010 000FEF70 41 82 00 20 */ beq lbl_80102030 /* 80102014 000FEF74 7F C3 F3 78 */ mr r3, r30 /* 80102018 000FEF78 38 81 00 24 */ addi r4, r1, 0x24 /* 8010201C 000FEF7C 4B FF CC 95 */ bl CanRippleAtPoint__12CScriptWaterCFRC9CVector3f /* 80102020 000FEF80 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 80102024 000FEF84 40 82 00 18 */ bne lbl_8010203C /* 80102028 000FEF88 3B 60 00 00 */ li r27, 0 /* 8010202C 000FEF8C 48 00 00 10 */ b lbl_8010203C lbl_80102030: /* 80102030 000FEF90 2C 1D 00 01 */ cmpwi r29, 1 /* 80102034 000FEF94 40 82 00 08 */ bne lbl_8010203C /* 80102038 000FEF98 3B 60 00 00 */ li r27, 0 lbl_8010203C: /* 8010203C 000FEF9C 57 60 06 3F */ clrlwi. r0, r27, 0x18 /* 80102040 000FEFA0 41 82 00 7C */ beq lbl_801020BC /* 80102044 000FEFA4 2C 1D 00 00 */ cmpwi r29, 0 /* 80102048 000FEFA8 3B 60 00 00 */ li r27, 0 /* 8010204C 000FEFAC 41 82 00 0C */ beq lbl_80102058 /* 80102050 000FEFB0 2C 1D 00 02 */ cmpwi r29, 2 /* 80102054 000FEFB4 40 82 00 08 */ bne lbl_8010205C lbl_80102058: /* 80102058 000FEFB8 3B 60 00 01 */ li r27, 1 lbl_8010205C: /* 8010205C 000FEFBC A0 1C 00 08 */ lhz r0, 8(r28) /* 80102060 000FEFC0 FC 20 F8 90 */ fmr f1, f31 /* 80102064 000FEFC4 7F C6 F3 78 */ mr r6, r30 /* 80102068 000FEFC8 7F E7 FB 78 */ mr r7, r31 /* 8010206C 000FEFCC B0 01 00 14 */ sth r0, 0x14(r1) /* 80102070 000FEFD0 38 81 00 14 */ addi r4, r1, 0x14 /* 80102074 000FEFD4 38 A1 00 24 */ addi r5, r1, 0x24 /* 80102078 000FEFD8 80 7E 01 B4 */ lwz r3, 0x1b4(r30) /* 8010207C 000FEFDC B0 01 00 10 */ sth r0, 0x10(r1) /* 80102080 000FEFE0 81 83 00 00 */ lwz r12, 0(r3) /* 80102084 000FEFE4 81 8C 00 0C */ lwz r12, 0xc(r12) /* 80102088 000FEFE8 7D 89 03 A6 */ mtctr r12 /* 8010208C 000FEFEC 4E 80 04 21 */ bctrl /* 80102090 000FEFF0 A0 1C 00 08 */ lhz r0, 8(r28) /* 80102094 000FEFF4 FC 20 F8 90 */ fmr f1, f31 /* 80102098 000FEFF8 7F E5 FB 78 */ mr r5, r31 /* 8010209C 000FEFFC 7F C6 F3 78 */ mr r6, r30 /* 801020A0 000FF000 B0 01 00 0C */ sth r0, 0xc(r1) /* 801020A4 000FF004 7F 68 DB 78 */ mr r8, r27 /* 801020A8 000FF008 38 81 00 0C */ addi r4, r1, 0xc /* 801020AC 000FF00C B0 01 00 08 */ sth r0, 8(r1) /* 801020B0 000FF010 38 E1 00 24 */ addi r7, r1, 0x24 /* 801020B4 000FF014 80 7F 08 7C */ lwz r3, 0x87c(r31) /* 801020B8 000FF018 48 02 D2 01 */ bl CreateSplash__18CFluidPlaneManagerF9TUniqueIdR13CStateManagerRC12CScriptWaterRC9CVector3ffb lbl_801020BC: /* 801020BC 000FF01C E3 E1 00 68 */ psq_l f31, 104(r1), 0, qr0 /* 801020C0 000FF020 CB E1 00 60 */ lfd f31, 0x60(r1) /* 801020C4 000FF024 BB 61 00 4C */ lmw r27, 0x4c(r1) /* 801020C8 000FF028 80 01 00 74 */ lwz r0, 0x74(r1) /* 801020CC 000FF02C 7C 08 03 A6 */ mtlr r0 /* 801020D0 000FF030 38 21 00 70 */ addi r1, r1, 0x70 /* 801020D4 000FF034 4E 80 00 20 */ blr .global Think__7CWeaponFfR13CStateManager Think__7CWeaponFfR13CStateManager: /* 801020D8 000FF038 94 21 FF C0 */ stwu r1, -0x40(r1) /* 801020DC 000FF03C 7C 08 02 A6 */ mflr r0 /* 801020E0 000FF040 90 01 00 44 */ stw r0, 0x44(r1) /* 801020E4 000FF044 DB E1 00 30 */ stfd f31, 0x30(r1) /* 801020E8 000FF048 F3 E1 00 38 */ psq_st f31, 56(r1), 0, qr0 /* 801020EC 000FF04C 93 E1 00 2C */ stw r31, 0x2c(r1) /* 801020F0 000FF050 93 C1 00 28 */ stw r30, 0x28(r1) /* 801020F4 000FF054 7C 7E 1B 78 */ mr r30, r3 /* 801020F8 000FF058 FF E0 08 90 */ fmr f31, f1 /* 801020FC 000FF05C C0 03 01 48 */ lfs f0, 0x148(r3) /* 80102100 000FF060 7C 9F 23 78 */ mr r31, r4 /* 80102104 000FF064 EC 00 F8 2A */ fadds f0, f0, f31 /* 80102108 000FF068 D0 03 01 48 */ stfs f0, 0x148(r3) /* 8010210C 000FF06C 80 03 00 E8 */ lwz r0, 0xe8(r3) /* 80102110 000FF070 54 00 04 A4 */ rlwinm r0, r0, 0, 0x12, 0x12 /* 80102114 000FF074 2C 00 20 00 */ cmpwi r0, 0x2000 /* 80102118 000FF078 40 82 00 98 */ bne lbl_801021B0 /* 8010211C 000FF07C C0 5E 01 48 */ lfs f2, 0x148(r30) /* 80102120 000FF080 38 81 00 08 */ addi r4, r1, 8 /* 80102124 000FF084 C0 3E 01 4C */ lfs f1, 0x14c(r30) /* 80102128 000FF088 38 6D 89 98 */ addi r3, r13, lbl_805A7558@sda21 /* 8010212C 000FF08C C0 02 93 FC */ lfs f0, lbl_805AB11C@sda21(r2) /* 80102130 000FF090 EC 02 00 7C */ fnmsubs f0, f2, f1, f0 /* 80102134 000FF094 D0 01 00 08 */ stfs f0, 8(r1) /* 80102138 000FF098 4B F4 D5 F9 */ bl "Max__5CMathFRCfRCf" /* 8010213C 000FF09C 88 1E 01 14 */ lbz r0, 0x114(r30) /* 80102140 000FF0A0 38 80 00 00 */ li r4, 0 /* 80102144 000FF0A4 C0 83 00 00 */ lfs f4, 0(r3) /* 80102148 000FF0A8 C0 1E 01 18 */ lfs f0, 0x118(r30) /* 8010214C 000FF0AC 80 BE 01 10 */ lwz r5, 0x110(r30) /* 80102150 000FF0B0 EC 64 00 32 */ fmuls f3, f4, f0 /* 80102154 000FF0B4 98 01 00 10 */ stb r0, 0x10(r1) /* 80102158 000FF0B8 C0 3E 01 20 */ lfs f1, 0x120(r30) /* 8010215C 000FF0BC C0 1E 01 24 */ lfs f0, 0x124(r30) /* 80102160 000FF0C0 EC 44 00 72 */ fmuls f2, f4, f1 /* 80102164 000FF0C4 80 01 00 10 */ lwz r0, 0x10(r1) /* 80102168 000FF0C8 EC 24 00 32 */ fmuls f1, f4, f0 /* 8010216C 000FF0CC 90 BE 01 2C */ stw r5, 0x12c(r30) /* 80102170 000FF0D0 FC 00 18 18 */ frsp f0, f3 /* 80102174 000FF0D4 90 1E 01 30 */ stw r0, 0x130(r30) /* 80102178 000FF0D8 88 01 00 24 */ lbz r0, 0x24(r1) /* 8010217C 000FF0DC 50 80 3E 30 */ rlwimi r0, r4, 7, 0x18, 0x18 /* 80102180 000FF0E0 D0 7E 01 34 */ stfs f3, 0x134(r30) /* 80102184 000FF0E4 D0 1E 01 38 */ stfs f0, 0x138(r30) /* 80102188 000FF0E8 D0 5E 01 3C */ stfs f2, 0x13c(r30) /* 8010218C 000FF0EC D0 3E 01 40 */ stfs f1, 0x140(r30) /* 80102190 000FF0F0 90 A1 00 0C */ stw r5, 0xc(r1) /* 80102194 000FF0F4 D0 61 00 14 */ stfs f3, 0x14(r1) /* 80102198 000FF0F8 D0 61 00 18 */ stfs f3, 0x18(r1) /* 8010219C 000FF0FC D0 41 00 1C */ stfs f2, 0x1c(r1) /* 801021A0 000FF100 D0 21 00 20 */ stfs f1, 0x20(r1) /* 801021A4 000FF104 98 01 00 24 */ stb r0, 0x24(r1) /* 801021A8 000FF108 98 1E 01 44 */ stb r0, 0x144(r30) /* 801021AC 000FF10C 48 00 00 3C */ b lbl_801021E8 lbl_801021B0: /* 801021B0 000FF110 80 7E 01 10 */ lwz r3, 0x110(r30) /* 801021B4 000FF114 80 1E 01 14 */ lwz r0, 0x114(r30) /* 801021B8 000FF118 90 7E 01 2C */ stw r3, 0x12c(r30) /* 801021BC 000FF11C 90 1E 01 30 */ stw r0, 0x130(r30) /* 801021C0 000FF120 C0 1E 01 18 */ lfs f0, 0x118(r30) /* 801021C4 000FF124 D0 1E 01 34 */ stfs f0, 0x134(r30) /* 801021C8 000FF128 C0 1E 01 1C */ lfs f0, 0x11c(r30) /* 801021CC 000FF12C D0 1E 01 38 */ stfs f0, 0x138(r30) /* 801021D0 000FF130 C0 1E 01 20 */ lfs f0, 0x120(r30) /* 801021D4 000FF134 D0 1E 01 3C */ stfs f0, 0x13c(r30) /* 801021D8 000FF138 C0 1E 01 24 */ lfs f0, 0x124(r30) /* 801021DC 000FF13C D0 1E 01 40 */ stfs f0, 0x140(r30) /* 801021E0 000FF140 88 1E 01 28 */ lbz r0, 0x128(r30) /* 801021E4 000FF144 98 1E 01 44 */ stb r0, 0x144(r30) lbl_801021E8: /* 801021E8 000FF148 FC 20 F8 90 */ fmr f1, f31 /* 801021EC 000FF14C 7F C3 F3 78 */ mr r3, r30 /* 801021F0 000FF150 7F E4 FB 78 */ mr r4, r31 /* 801021F4 000FF154 4B F4 EE C5 */ bl Think__7CEntityFfR13CStateManager /* 801021F8 000FF158 E3 E1 00 38 */ psq_l f31, 56(r1), 0, qr0 /* 801021FC 000FF15C 80 01 00 44 */ lwz r0, 0x44(r1) /* 80102200 000FF160 CB E1 00 30 */ lfd f31, 0x30(r1) /* 80102204 000FF164 83 E1 00 2C */ lwz r31, 0x2c(r1) /* 80102208 000FF168 83 C1 00 28 */ lwz r30, 0x28(r1) /* 8010220C 000FF16C 7C 08 03 A6 */ mtlr r0 /* 80102210 000FF170 38 21 00 40 */ addi r1, r1, 0x40 /* 80102214 000FF174 4E 80 00 20 */ blr .global sub_80102218 sub_80102218: /* 80102218 000FF178 C0 02 93 E8 */ lfs f0, lbl_805AB108@sda21(r2) /* 8010221C 000FF17C FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80102220 000FF180 4C 81 00 20 */ blelr /* 80102224 000FF184 C0 02 93 FC */ lfs f0, lbl_805AB11C@sda21(r2) /* 80102228 000FF188 EC 00 08 24 */ fdivs f0, f0, f1 /* 8010222C 000FF18C D0 03 01 4C */ stfs f0, 0x14c(r3) /* 80102230 000FF190 4E 80 00 20 */ blr .global __dt__7CWeaponFv __dt__7CWeaponFv: /* 80102234 000FF194 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80102238 000FF198 7C 08 02 A6 */ mflr r0 /* 8010223C 000FF19C 90 01 00 14 */ stw r0, 0x14(r1) /* 80102240 000FF1A0 93 E1 00 0C */ stw r31, 0xc(r1) /* 80102244 000FF1A4 7C 9F 23 78 */ mr r31, r4 /* 80102248 000FF1A8 93 C1 00 08 */ stw r30, 8(r1) /* 8010224C 000FF1AC 7C 7E 1B 79 */ or. r30, r3, r3 /* 80102250 000FF1B0 41 82 00 28 */ beq lbl_80102278 /* 80102254 000FF1B4 3C A0 80 3E */ lis r5, lbl_803DFEF0@ha /* 80102258 000FF1B8 38 80 00 00 */ li r4, 0 /* 8010225C 000FF1BC 38 05 FE F0 */ addi r0, r5, lbl_803DFEF0@l /* 80102260 000FF1C0 90 1E 00 00 */ stw r0, 0(r30) /* 80102264 000FF1C4 4B F5 34 8D */ bl __dt__6CActorFv /* 80102268 000FF1C8 7F E0 07 35 */ extsh. r0, r31 /* 8010226C 000FF1CC 40 81 00 0C */ ble lbl_80102278 /* 80102270 000FF1D0 7F C3 F3 78 */ mr r3, r30 /* 80102274 000FF1D4 48 21 36 BD */ bl Free__7CMemoryFPCv lbl_80102278: /* 80102278 000FF1D8 80 01 00 14 */ lwz r0, 0x14(r1) /* 8010227C 000FF1DC 7F C3 F3 78 */ mr r3, r30 /* 80102280 000FF1E0 83 E1 00 0C */ lwz r31, 0xc(r1) /* 80102284 000FF1E4 83 C1 00 08 */ lwz r30, 8(r1) /* 80102288 000FF1E8 7C 08 03 A6 */ mtlr r0 /* 8010228C 000FF1EC 38 21 00 10 */ addi r1, r1, 0x10 /* 80102290 000FF1F0 4E 80 00 20 */ blr .global "__ct__7CWeaponF9TUniqueIdb9TUniqueId11EWeaponTypeRCQ24rstl66basic_string,Q24rstl17rmemory_allocator>RC12CTransform4fRC15CMaterialFilterRC13CMaterialListRC11CDamageInfoiRC10CModelData" "__ct__7CWeaponF9TUniqueIdb9TUniqueId11EWeaponTypeRCQ24rstl66basic_string,Q24rstl17rmemory_allocator>RC12CTransform4fRC15CMaterialFilterRC13CMaterialListRC11CDamageInfoiRC10CModelData": /* 80102294 000FF1F4 94 21 FE B0 */ stwu r1, -0x150(r1) /* 80102298 000FF1F8 7C 08 02 A6 */ mflr r0 /* 8010229C 000FF1FC 3D 60 80 57 */ lis r11, NullConnectionList__7CEntity@ha /* 801022A0 000FF200 90 01 01 54 */ stw r0, 0x154(r1) /* 801022A4 000FF204 BE 81 01 20 */ stmw r20, 0x120(r1) /* 801022A8 000FF208 7C 79 1B 78 */ mr r25, r3 /* 801022AC 000FF20C 7C 94 23 78 */ mr r20, r4 /* 801022B0 000FF210 7C DA 33 78 */ mr r26, r6 /* 801022B4 000FF214 83 A1 01 58 */ lwz r29, 0x158(r1) /* 801022B8 000FF218 7C FB 3B 78 */ mr r27, r7 /* 801022BC 000FF21C 82 E1 01 5C */ lwz r23, 0x15c(r1) /* 801022C0 000FF220 7D 1C 43 78 */ mr r28, r8 /* 801022C4 000FF224 83 C1 01 60 */ lwz r30, 0x160(r1) /* 801022C8 000FF228 7D 35 4B 78 */ mr r21, r9 /* 801022CC 000FF22C 83 E1 01 64 */ lwz r31, 0x164(r1) /* 801022D0 000FF230 7D 56 53 78 */ mr r22, r10 /* 801022D4 000FF234 83 01 01 68 */ lwz r24, 0x168(r1) /* 801022D8 000FF238 38 61 00 30 */ addi r3, r1, 0x30 /* 801022DC 000FF23C 38 81 00 2C */ addi r4, r1, 0x2c /* 801022E0 000FF240 38 C1 00 28 */ addi r6, r1, 0x28 /* 801022E4 000FF244 80 05 00 00 */ lwz r0, 0(r5) /* 801022E8 000FF248 38 AB D4 10 */ addi r5, r11, NullConnectionList__7CEntity@l /* 801022EC 000FF24C 81 8D A3 88 */ lwz r12, kInvalidEditorId@sda21(r13) /* 801022F0 000FF250 90 01 00 2C */ stw r0, 0x2c(r1) /* 801022F4 000FF254 91 81 00 28 */ stw r12, 0x28(r1) /* 801022F8 000FF258 4B F4 F1 8D */ bl "__ct__11CEntityInfoF7TAreaIdRCQ24rstl48vector<11SConnection,Q24rstl17rmemory_allocator>9TEditorId" /* 801022FC 000FF25C 38 61 00 B0 */ addi r3, r1, 0xb0 /* 80102300 000FF260 4B F1 8B 39 */ bl None__16CActorParametersFv /* 80102304 000FF264 38 61 00 48 */ addi r3, r1, 0x48 /* 80102308 000FF268 38 81 00 B0 */ addi r4, r1, 0xb0 /* 8010230C 000FF26C 38 A0 00 01 */ li r5, 1 /* 80102310 000FF270 48 00 44 FD */ bl sub_8010680c /* 80102314 000FF274 A0 6D A3 8C */ lhz r3, kInvalidUniqueId@sda21(r13) /* 80102318 000FF278 38 81 00 48 */ addi r4, r1, 0x48 /* 8010231C 000FF27C A0 F4 00 00 */ lhz r7, 0(r20) /* 80102320 000FF280 38 01 00 10 */ addi r0, r1, 0x10 /* 80102324 000FF284 B0 61 00 10 */ sth r3, 0x10(r1) /* 80102328 000FF288 7F 23 CB 78 */ mr r3, r25 /* 8010232C 000FF28C 7F 45 D3 78 */ mr r5, r26 /* 80102330 000FF290 7E A6 AB 78 */ mr r6, r21 /* 80102334 000FF294 B0 E1 00 14 */ sth r7, 0x14(r1) /* 80102338 000FF298 7E C8 B3 78 */ mr r8, r22 /* 8010233C 000FF29C 7F 09 C3 78 */ mr r9, r24 /* 80102340 000FF2A0 7E EA BB 78 */ mr r10, r23 /* 80102344 000FF2A4 90 81 00 08 */ stw r4, 8(r1) /* 80102348 000FF2A8 38 81 00 14 */ addi r4, r1, 0x14 /* 8010234C 000FF2AC 38 E1 00 30 */ addi r7, r1, 0x30 /* 80102350 000FF2B0 90 01 00 0C */ stw r0, 0xc(r1) /* 80102354 000FF2B4 4B F5 34 CD */ bl "__ct__6CActorF9TUniqueIdbRCQ24rstl66basic_string,Q24rstl17rmemory_allocator>RC11CEntityInfoRC12CTransform4fRC10CModelDataRC13CMaterialListRC16CActorParameters9TUniqueId" /* 80102358 000FF2B8 38 61 00 48 */ addi r3, r1, 0x48 /* 8010235C 000FF2BC 38 80 FF FF */ li r4, -1 /* 80102360 000FF2C0 48 00 42 A9 */ bl __dt__16CActorParametersFv /* 80102364 000FF2C4 38 61 00 B0 */ addi r3, r1, 0xb0 /* 80102368 000FF2C8 38 80 FF FF */ li r4, -1 /* 8010236C 000FF2CC 48 00 42 9D */ bl __dt__16CActorParametersFv /* 80102370 000FF2D0 80 01 00 38 */ lwz r0, 0x38(r1) /* 80102374 000FF2D4 80 61 00 40 */ lwz r3, 0x40(r1) /* 80102378 000FF2D8 1C 00 00 0C */ mulli r0, r0, 0xc /* 8010237C 000FF2DC 90 61 00 1C */ stw r3, 0x1c(r1) /* 80102380 000FF2E0 7C 64 1B 78 */ mr r4, r3 /* 80102384 000FF2E4 7C 03 02 14 */ add r0, r3, r0 /* 80102388 000FF2E8 90 61 00 18 */ stw r3, 0x18(r1) /* 8010238C 000FF2EC 90 01 00 24 */ stw r0, 0x24(r1) /* 80102390 000FF2F0 90 01 00 20 */ stw r0, 0x20(r1) /* 80102394 000FF2F4 48 00 00 08 */ b lbl_8010239C lbl_80102398: /* 80102398 000FF2F8 38 84 00 0C */ addi r4, r4, 0xc lbl_8010239C: /* 8010239C 000FF2FC 7C 04 00 40 */ cmplw r4, r0 /* 801023A0 000FF300 40 82 FF F8 */ bne lbl_80102398 /* 801023A4 000FF304 28 03 00 00 */ cmplwi r3, 0 /* 801023A8 000FF308 41 82 00 08 */ beq lbl_801023B0 /* 801023AC 000FF30C 48 21 35 85 */ bl Free__7CMemoryFPCv lbl_801023B0: /* 801023B0 000FF310 3C 60 80 3E */ lis r3, lbl_803DFEF0@ha /* 801023B4 000FF314 C0 02 93 E8 */ lfs f0, lbl_805AB108@sda21(r2) /* 801023B8 000FF318 38 03 FE F0 */ addi r0, r3, lbl_803DFEF0@l /* 801023BC 000FF31C 7F 23 CB 78 */ mr r3, r25 /* 801023C0 000FF320 90 19 00 00 */ stw r0, 0(r25) /* 801023C4 000FF324 93 F9 00 E8 */ stw r31, 0xe8(r25) /* 801023C8 000FF328 A0 1B 00 00 */ lhz r0, 0(r27) /* 801023CC 000FF32C B0 19 00 EC */ sth r0, 0xec(r25) /* 801023D0 000FF330 93 99 00 F0 */ stw r28, 0xf0(r25) /* 801023D4 000FF334 80 1D 00 00 */ lwz r0, 0(r29) /* 801023D8 000FF338 80 9D 00 04 */ lwz r4, 4(r29) /* 801023DC 000FF33C 90 99 00 FC */ stw r4, 0xfc(r25) /* 801023E0 000FF340 90 19 00 F8 */ stw r0, 0xf8(r25) /* 801023E4 000FF344 80 1D 00 08 */ lwz r0, 8(r29) /* 801023E8 000FF348 80 9D 00 0C */ lwz r4, 0xc(r29) /* 801023EC 000FF34C 90 99 01 04 */ stw r4, 0x104(r25) /* 801023F0 000FF350 90 19 01 00 */ stw r0, 0x100(r25) /* 801023F4 000FF354 80 1D 00 10 */ lwz r0, 0x10(r29) /* 801023F8 000FF358 90 19 01 08 */ stw r0, 0x108(r25) /* 801023FC 000FF35C 80 1E 00 00 */ lwz r0, 0(r30) /* 80102400 000FF360 90 19 01 10 */ stw r0, 0x110(r25) /* 80102404 000FF364 88 1E 00 04 */ lbz r0, 4(r30) /* 80102408 000FF368 98 19 01 14 */ stb r0, 0x114(r25) /* 8010240C 000FF36C C0 3E 00 08 */ lfs f1, 8(r30) /* 80102410 000FF370 D0 39 01 18 */ stfs f1, 0x118(r25) /* 80102414 000FF374 C0 3E 00 0C */ lfs f1, 0xc(r30) /* 80102418 000FF378 D0 39 01 1C */ stfs f1, 0x11c(r25) /* 8010241C 000FF37C C0 3E 00 10 */ lfs f1, 0x10(r30) /* 80102420 000FF380 D0 39 01 20 */ stfs f1, 0x120(r25) /* 80102424 000FF384 C0 3E 00 14 */ lfs f1, 0x14(r30) /* 80102428 000FF388 D0 39 01 24 */ stfs f1, 0x124(r25) /* 8010242C 000FF38C 88 1E 00 18 */ lbz r0, 0x18(r30) /* 80102430 000FF390 98 19 01 28 */ stb r0, 0x128(r25) /* 80102434 000FF394 80 1E 00 00 */ lwz r0, 0(r30) /* 80102438 000FF398 90 19 01 2C */ stw r0, 0x12c(r25) /* 8010243C 000FF39C 88 1E 00 04 */ lbz r0, 4(r30) /* 80102440 000FF3A0 98 19 01 30 */ stb r0, 0x130(r25) /* 80102444 000FF3A4 C0 3E 00 08 */ lfs f1, 8(r30) /* 80102448 000FF3A8 D0 39 01 34 */ stfs f1, 0x134(r25) /* 8010244C 000FF3AC C0 3E 00 0C */ lfs f1, 0xc(r30) /* 80102450 000FF3B0 D0 39 01 38 */ stfs f1, 0x138(r25) /* 80102454 000FF3B4 C0 3E 00 10 */ lfs f1, 0x10(r30) /* 80102458 000FF3B8 D0 39 01 3C */ stfs f1, 0x13c(r25) /* 8010245C 000FF3BC C0 3E 00 14 */ lfs f1, 0x14(r30) /* 80102460 000FF3C0 D0 39 01 40 */ stfs f1, 0x140(r25) /* 80102464 000FF3C4 88 1E 00 18 */ lbz r0, 0x18(r30) /* 80102468 000FF3C8 98 19 01 44 */ stb r0, 0x144(r25) /* 8010246C 000FF3CC D0 19 01 48 */ stfs f0, 0x148(r25) /* 80102470 000FF3D0 D0 19 01 4C */ stfs f0, 0x14c(r25) /* 80102474 000FF3D4 D0 19 01 50 */ stfs f0, 0x150(r25) /* 80102478 000FF3D8 D0 19 01 54 */ stfs f0, 0x154(r25) /* 8010247C 000FF3DC BA 81 01 20 */ lmw r20, 0x120(r1) /* 80102480 000FF3E0 80 01 01 54 */ lwz r0, 0x154(r1) /* 80102484 000FF3E4 7C 08 03 A6 */ mtlr r0 /* 80102488 000FF3E8 38 21 01 50 */ addi r1, r1, 0x150 /* 8010248C 000FF3EC 4E 80 00 20 */ blr