Files
DedicatedServerCourse/Content/Effects/Particles/Weapons/NS_WeaponFire_ShellEject.uasset

10968 lines
860 KiB
Plaintext
Raw Normal View History

2026-02-24 22:49:32 -05:00
<EFBFBD><EFBFBD>*<2A><><EFBFBD><EFBFBD><EFBFBD>`
<00><00><>}i<>AO<41><4F>QJ<51>(<28><><EFBFBD>v"<22>T<EFBFBD><54>O&<26>F!<21>Ђ<EFBFBD>a,<00>2ذ O<><1F><>J<EFBFBD>6
?t<>πD<CF80>C<EFBFBD><14><>s %B^<5E><>FM<46>$<24><><12>yd<>/<00>h<EFBFBD><68><EFBFBD>B<EFBFBD><42> <0B>1<EFBFBD>A<EFBFBD>F.(<00>z<EFBFBD><7A><EFBFBD>BvPX橹2-<2D><>Oe9/Game/Effects/Particles/Weapons/NS_WeaponFire_ShellEject<00><00>o~!1DE127DD45BAEB3321F7DAAC0F96B99Eo~h<00><><00><00><><00>$<00><><01><02><>I<EFBFBD><49>5<EFBFBD>:<3A>߷"<22>e<EFBFBD><65><EFBFBD><EFBFBD>D<EFBFBD>0<><30><EFBFBD>h<00><00>K<EFBFBD>++UE5+Release-5.3<00>,<2C>++UE5+Release-5.3<00><><EFBFBD>\[(o <00><><EFBFBD><EFBFBD>e*,o 7__INTERNAL__.Collision.CollisionQueryAndResponse.Query<00><>&m:__INTERNAL__.Collision.CollisionQueryAndResponse001.Query<00><><EFBFBD>`A<00>mD<6D>Add<00>(<28><>AddEmitterDefaultViewState<1D>{AdditionalDefines<1D><><EFBFBD>AdditionalVariables<00>{<7B>4$AddRotationalVelocity.Rotation Rate<00><>x<EFBFBD>AddRotationalVelocity_Emitter<00><>PK$AddRotationalVelocity_Emitter_Func_b<>@WAddVelocityInCone_EmitterNb<4E><62> AddVelocityInCone_Emitter_Func_<00>0<EFBFBD><30> AdjustAlpha<00><><00>
AdjustHuey`<60>YAdjustSaturation<01><><EFBFBD> AdjustValueF<>?<3F>AdvancedPinDisplay~<17>Age<00><>c<EFBFBD>Age Colliding Particles<00><><kAliasedParameter<00><><EFBFBD>>AllocationMode<00><06>ArrayPropertyI<><49>i Attributes<00><><1D>AttributesToPreserve<00>O<EFBFBD>AttributesWrittenK<>w<EFBFBD>BK<>OBakedRapidIterationParameters<00>׮<EFBFBD>BakerSettings{<7B><><EFBFBD>BaseIdK<1D><>BaseScriptCompileHash<15>)<29>bBindingExistsOnSource<00>wv<77>bCanBeUsedForTypeConversions;<1F><>bCanDieWhenEmitterDeactivates?<1F><> bDeprecated<00><>P bDeterminism<00><><EFBFBD>gbDisableDebugSwitchesA<>ҖbExperimentalu<1F><>"bGpuAlwaysRunParticleUpdateScriptQ9$rbHasCompilerMessage'N<>"bHasValidLastBuiltScriptVersionId<00><>A<EFBFBD>bInterpolatedSpawnbInterpolatedSpawning<00><><EFBFBD>pbIsCompileTagGeneratorP^<19> bIsEnabled<00>geUbIsInfinitelyLived<00><>7<EFBFBD> bIsInternal<00>O{<7B>bIsPlaceholder<00><>p bIsValidA<1C>bIsVisibleInVersionSelectortD<74><44> bLocalSpace<00>ͳ<EFBFBD>bMemberFunction<00> <20><>Boolean::LogicNot<00> x<> BoolProperty<04><>BoundPinNamesjT<6A>BoundVariable>mK*bOverrideParameterDefinitionsDefaultValueս<>Box^7d<37>bReadFunction<00>( <0C>bRequiresContext<00>?<3F>"bRequiresExecPin2<>*<2A>bRequiresPersistentIDs<00><1D>dbSoftDeprecatedFunctiong3<67><33>"bSubscribedToParameterDefinitions<00><0F>y bSuggestedI<14> bSupportsCPU <20>{ bSupportsGPU<00><><EFBFBD>@bUsePythonScriptConversion%HM\bUserSetEnabledState<00><><EFBFBD>HbUsesRapidIterationParams<00>³<EFBFBD>bWriteFunction<00>S<EFBFBD>Z ByteCode<00><>w ByteProperty<00>N-<2D>Bytes<00>h<EFBFBD><68>CachedChangeIde<><65>oCachedChangeIdHash<00><1A><>CachedDefaultDataInterfaces`_#/CachedScriptVM<00>':CachedScriptVMId<00><><EFBFBD>&CachedUsageInfo*ث!CalculateBoundsMode?<3F><>FCalledVMExternalFunctions<62>CallSortPriority<00><>ԥ Category<00>~<7E><> ChangeId<00>7T<37>Clamp VelocityV/<2F>"Classtwx<77>ClassStructOrEnum3g<14>CollapsedViewFormat
<EFBFBD>4<EFBFBD>Collision.AxisAngle<00>q<EFBFBD><71>0Collision.CollisionQueryAndResponse.CollisionID<00><12>t*Collision.CollisionQueryAndResponse.Query<00><><EFBFBD>%3Collision.CollisionQueryAndResponse001.CollisionID<00><>m<EFBFBD>-Collision.CollisionQueryAndResponse001.Query<00><01><>%Collision.DoOnce_fn001.TriggeredOnceҜ<>Collision_Emitter<00><08> Collision_Emitter_Func_<00><><EFBFBD>wCollisionMaterialFrictionc;g9CollisionMaterialIndexYl'CollisionMaterialRestitution<00>ZE<5A>CollisionNormal<00>CollisionPosWorldcbi<62>CollisionQuery<1F>ECollisionValidp<><70> Color Channel ModeH<><48>j Color Mode<00><><00>Color Randomness Modecÿ<63> CompileHash<00><>dCompileHashFromGraphv<>j<EFBFBD> CompileNameM<>7<EFBFBD>CompilerVersionID]<5D><><EFBFBD> CompileTags \fComponentsOffsetsD6<44>u#Constants.DebugFire.TriggerSpacingJH<4A>6(Constants.NM_WeaponTrigger.Max LifeTime<00><>Q<EFBFBD>:Constants.Shell_Eject.AddRotationalVelocity.Rotation Ratef<>hX3Constants.Shell_Eject.AddVelocityInCone.Cone Angle<00><><EFBFBD>2Constants.Shell_Eject.AddVelocityInCone.Cone Axis<16><> NConstants.Shell_Eject.AddVelocityInCone.Velocity Distribution Along Cone Axis<6D>MConstants.Shell_Eject.AddVelocityInCone.Velocity Falloff Away From Cone Axis<00><>~<7E>:Constants.Shell_Eject.AddVelocityInCone.Velocity Strength<00><>q#4Constants.Shell_Eject.Collision.Advanced Aging RateL{<7B>CConstants.Shell_Eject.Collision.CPU Trace Vector Length MultiplierV3 x)Constants.Shell_Eject.Collision.FrictionC<>5<EFBFBD>9Constants.Shell_Eject.Collision.Friction During a Bounce<15>~<7E>5Constants.Shell_Eject.Collision.Max CPU Trace Length<00>z)H9Constants.Shell_Eject.Collision.Max Number Of Collisionsb<><62><EFBFBD>HConstants.Shell_Eject.Collision.Maximum Penetration Correction Distance@<40>c<EFBFBD>0Constants.Shell_Eject.Collision.Mesh Dimensions<00><>E<EFBFBD>ZConstants.Shell_Eject.Collision.Minimum Collision Normal/Rest Normal Alignment Percentageg<><67>.Constants.Shell_Eject.Collision.Particle Mass2+<2B>0Constants.Shell_Eject.Collision.Particle Radius<00><>ӽ6Constants.Shell_Eject.Collision.Particle Radius Scale*<2A>3cFConstants.Shell_Eject.Collision.Percentage of Penetration Before Rest<00>Pf:Constants.Shell_Eject.Collision.Radius Scale for Rotation[<5B>I<EFBFBD>;Constants.Shell_Eject.Collision.Randomize Collision Normal<00>\ȍ6Constants.Shell_Eject.Collision.Rest State Time Range<00>q5<71>,Constants.Shell_Eject.Collision.Restitutionx<> #0Constants.Shell_Eject.Collision.Static Friction<00><>տAConstants.Shell_Eject.Collision.Static Friction Engagement Speedg j<>FConstants.Shell_Eject.Collision.Valid Collision Plane Normal For Rest<00><<3C><>=Constants.Shell_Eject.ConvertPositionToVector.Input Position<00>HC<48> Constants.Shell_Eject.Drag.Drag<00>)\<5C>+Constants.Shell_Eject.Drag.Rotational Dragb.Constants.Shell_Eject.EmitterState.Loop Count<00>:[.Constants.Shell_Eject.EmitterState.Loop Delay<00><>Z1Constants.Shell_Eject.EmitterState.Loop Duration<00><>%F/Constants.Shell_Eject.EmitterState.MaxDistanceٌ4<D98C>/Constants.Shell_Eject.EmitterState.MinDistance<00>+k<>+Constants.Shell_Eject.GravityForce.Gravity<00><>BFConstants.Shell_Eject.InheritVelocity.Inherited Velocity Amount Scale8I<38>hEConstants.Shell_Eject.InheritVelocity.Inherited Velocity Speed Limit<00><>=<3D>=Constants.Shell_Eject.InheritVelocity.Source Speed Threshold<00>q 6Constants.Shell_Eject.InheritVelocity.Velocity Sourcet<>H<EFBFBD>2Constants.Shell_Eject.InitializeParticle.Lifetime<00>Ю4Constants.Shell_Eject.InitializeParticle.Mesh ScaleñC<C3B1><Constants.Shell_Eject.InitializeParticle.Mesh Uniform Scaleg,<2Constants.Shell_Eject.InitializeParticle.Position<00><><EFBFBD><EFBFBD>9Constants.Shell_Eject.InitializeParticle.Position Offset<00>x#6Constants.Shell_Eject.InitializeParticle.Ribbon Width<00><01><>AConstants.Shell_Eject.InitialMeshOrientation.Mesh Axis To Orient<00><><EFBFBD><EFBFBD>@Constants.Shell_Eject.InitialMeshOrientation.Orientation Vector<00><><EFBFBD><EFBFBD>9Constants.Shell_Eject.InitialMeshOrientation.Random SeedM<11>6Constants.Shell_Eject.InitialMeshOrientation.Rotation<00>
<EFBFBD><EFBFBD>0Constants.Shell_Eject.RandomRangeVector.MaximumB<><42><0Constants.Shell_Eject.RandomRangeVector.Minimum<00><><EFBFBD>64Constants.Shell_Eject.RandomRangeVector.Random Seedġ<1E>@Constants.Shell_Eject.SolveForcesAndVelocity.Acceleration LimitK{<7B><>OConstants.Shell_Eject.SolveForcesAndVelocity.Manually Enable Rotational SolverC<><43><EFBFBD>>Constants.Shell_Eject.SolveForcesAndVelocity.Mesh OrientationW<1C><>>Constants.Shell_Eject.SolveForcesAndVelocity.Rotational ForceA<1B><>AConstants.Shell_Eject.SolveForcesAndVelocity.Rotational Velocity<00><08><>9Constants.Shell_Eject.SolveForcesAndVelocity.Speed Limitd$T<>0Constants.Shell_Eject.SpawnPerFrame.Spawn Count<00><><EFBFBD>S0Constants.Shell_Eject.SpawnPerFrame.Spawn Group<00>@<40>{6Constants.Shell_Eject.SpawnPerFrame.Spawn Probability<16>W<EFBFBD>2Constants.Shell_Eject.SpawnRate.Spawn Probability<00><><EFBFBD><EFBFBD>+Constants.Shell_Eject.SpawnRate.SpawnGroup<00><><EFBFBD><EFBFBD>*Constants.Shell_Eject.SpawnRate.SpawnRate6<>:&Constants.StepOccured_01.StepLocationԳ+?)Constants.StepOccured_01.StepOrientationP<><50><EFBFBD>!Constants.SystemState.Loop DelayD)t$Constants.SystemState.Loop Duration<07><>PContextStageIndex<15><10>Control Roll On Collision<00>ܔConversionScriptAsset<07>r<EFBFBD>ConversionScriptExecutionE<><13>ConversionUtility<00>G<EFBFBD>yCoordinate Spaces<>e<EFBFBD>CPU Collision TypeR<><52>CPU Friction Blending2<> CurrentMode<00><><EFBFBD><EFBFBD>CustomSortingBinding<00><>7<EFBFBD>CVarConditions<00><>>pData IC<49> DataHash}Fe<46>DataInterface<00>\<5C><>DataInterfaceInfo<00><><EFBFBD><EFBFBD>DataInterfaces<00><17><>DataSetCompiledData<00><><EFBFBD><EFBFBD>DataSetComponentOffset<00><>o<EFBFBD>DataSetToParameters<00><> !DE2E06E64C522272FA3783B0019BBB69w~m<>
DebugName<00><><EFBFBD>L DefaultModeR|DefaultValueVariant<00><>"<22> Definitions.<2E><10>DeprecationMessage<00><> <20>DeprecationRecommendation􄶕 Description*<2A> Dest<00>g<EFBFBD>KDeviceProfileStates}<7D>ǒ DisplayNamez<><7A>B Drag_Emitter<1E>x<EFBFBD>Drag_Emitter_Func_a<><61>LDynamicAddPin<00>`eE EditorData<00>H<EFBFBD><48>EditorOnlyScriptVars J<0E>EditorParameters<00><>Y<EFBFBD>EmitterA<><41>dEmitter.MaterialTextureOffset<00>\$Emitter.RandomSeedB<07><>EmitterAgeVarNo?EmitterHandleGuid<00><><13>EmitterHandleId<10>
EmitterHandles<00><><EFBFBD><EFBFBD>EmitterInstanceSeedVara/8EmitterInterpSpawnStartDTVarN,<2C>TEmitterRandomSeedVar<00>0<EFBFBD>9EmitterSpawnGroupVar<00><>UpEmitterSpawnIntervalVar<00>l<EFBFBD> EmitterSpawnScriptProps<00><>G<EFBFBD>EmitterState_Shell_Eject<00>a<EFBFBD>EmitterState_Shell_Eject_Func_L<><4C> EmitterTotalSpawnedParticlesVarH<>h<EFBFBD>EmitterUpdateScriptPropsEmpty.Mesh Orientation Mode<00>jtUEmpty.Mesh Scale Model><3E>,#Empty.Orientation Coordinate Space\-<2D>'Empty.Radius Calculation TypeѾǀEmpty.Speed Limit<00><>A4Enable Distance CullingЕnEnable Visibility Culling<00><0E><> EnabledState<00>%N<>Engine<00>D<>Engine.DeltaTime<00><>r?Engine.Emitter.InstanceSeed<17><>-%Engine.Emitter.TotalSpawnedParticlesǪZ<C7AA>Engine.ExecutionCountx<>IEngine.Owner.ExecutionState<00><><EFBFBD><EFBFBD>!Engine.Owner.LODDistanceFraction<>Engine.Owner.Velocityp<><70><EFBFBD> Engine.Shell_Eject.InstanceSeedqK<71><4B> Engine.Shell_Eject.NumParticlesd<>S<EFBFBD>)Engine.Shell_Eject.TotalSpawnedParticles<00><>l<EFBFBD>Engine.System.NumEmittersAlive<00><><EFBFBD>VEngine.System.RandomSeed<03><>|ENiagaraDataSetTypea<01>\"ENiagaraDataSetType::ParticleData<00><>7<EFBFBD>ENiagaraDefaultMode?<3F>a,ENiagaraDefaultMode::FailIfPreviouslyNotSet<00><><EFBFBD><EFBFBD>"ENiagaraEmitterCalculateBoundMode<00><>e<EFBFBD>+ENiagaraEmitterCalculateBoundMode::Dynamic<00><><EFBFBD>#ENiagaraEmitterDefaultSummaryStatee!<21>,ENiagaraEmitterDefaultSummaryState::Default <20><EFBFBD>ENiagaraMeshPivotOffsetSpaceu$<24>#ENiagaraMeshPivotOffsetSpace::Mesh<62>'ENiagaraNumericOutputTypeSelectionMode<00><>`k0ENiagaraNumericOutputTypeSelectionMode::Largest<00>RC<52>$ENiagaraPythonUpdateScriptReference<00><><EFBFBD><EFBFBD>*ENiagaraPythonUpdateScriptReference::NoneV<15><>1ENiagaraPythonUpdateScriptReference::ScriptAssetn<>~ENiagaraScriptCompileStatus<00><>;I*ENiagaraScriptCompileStatus::NCS_UpToDate<00>0<<3C>6ENiagaraScriptCompileStatus::NCS_UpToDateWithWarnings^S| ENiagaraScriptLibraryVisibility<00><><EFBFBD>)ENiagaraScriptLibraryVisibility::Library<00>9<EFBFBD><39>+ENiagaraScriptLibraryVisibility::Unexposedo zJENiagaraScriptUsage<00> <0B>m(ENiagaraScriptUsage::EmitterSpawnScriptVz<56><7A>)ENiagaraScriptUsage::EmitterUpdateScript<00>ϵXENiagaraScriptUsage::Function<00>Қ9ENiagaraScriptUsage::Module:<3A>vj.ENiagaraScriptUsage::ParticleGPUComputeScript_<><5F>Z)ENiagaraScriptUsage::ParticleSpawnScript<00><1B>5ENiagaraScriptUsage::ParticleSpawnScriptInterpolated<00><><EFBFBD>*ENiagaraScriptUsage::ParticleUpdateScript<00><> l'ENiagaraScriptUsage::SystemSpawnScriptX6<06>(ENiagaraScriptUsage::SystemUpdateScript<00><><EFBFBD>qENiagaraSimTargetA<41><7F>ENiagaraSimTarget::CPUSim&<26><>uENiagaraVariantMode<00>R_9ENiagaraVariantMode::Bytes<00><x<>ENodeAdvancedPinse<> !ENodeAdvancedPins::Hidden״g<D7B4>ENodeEnabledState<00>@<40><>ENodeEnabledState::Disabled<00><><EFBFBD><EFBFBD>EnumVÅo EnumPropertyQם@EParticleAllocationModed<02><>+EParticleAllocationMode::AutomaticEstimate<00>lO ErrorMsg<00>^<5E>p
ErrorTypet0<>Evaluation Type<00><><EFBFBD>tEventGeneratorsOS<4F><53>EventHandlerScriptProps<00><>;EventReceiverstA<74>ExperimentalMessage<00>U<EFBFBD>`ExposedParameters<00>u<EFBFBD> ExposedVersion<00><><12> FilePath+<2B><>&Fixed Random Seed<00><0F> FixedBounds<00><><EFBFBD><EFBFBD>FlagsA<><41>~FloatComponentStart:<3A><> FloatOffsetsC;G<>FloatProperty<00><><EFBFBD><EFBFBD>FNiagaraCompileEventSeverity<00><><00>&FNiagaraCompileEventSeverity::Warning<00>1<EFBFBD><31>FNiagaraCompileEventSourceoR<6F><52>"FNiagaraCompileEventSource::Unset<00>R4ForceRebuildId<00>%<25><> FriendlyName<03><> FullName{*<2A><FunctionDisplayName<00>?<3F>EFunctionScript݄FunctionSpecifiers_<><5F><EFBFBD>FunctionVersionQ<>kGPU Collision Type$<24>GPUComputeScript!<21><><EFBFBD>
GraphGuid<00><><EFBFBD>v GraphSource,VR9GravityForce_Emitterp<10>GravityForce_Emitter_Func_<00><><EFBFBD><EFBFBD>GuidCP<43>hGuids <20><>HalfComponentStartj<>R`IDt<><74><EFBFBD>Idt<><74>f Identity<00><><EFBFBD>RIdName<00><>%<25>Inactive Response;C<><43>InheritVelocity_Emitter<00><>
<EFBFBD>InheritVelocity_Emitter_Func_<19><10>4InitializeParticle.Position Offset Coordinate Space<00><>ldInitializeParticle_Emitter 7l>!InitializeParticle_Emitter_Func_<00> ɠInitialMeshOrientation_EmitterS<><53>%InitialMeshOrientation_Emitter_Func_o<><6F>ZInlineExpressionFormat<00>ܡ<EFBFBD>InlineGraphFormatM+<2B>Input|<7C><><EFBFBD>InputDescriptionss<10><> InputMap~<7E>]dInputParamLocationsU"<22>? InputPin<00><>V<EFBFBD>Inputs<00><><EFBFBD>InputSections<00>0<EFBFBD> InstanceData9`-<2D>InstanceParamStorejOInt16Property<00>)<29>Int32ComponentStarta΋' Int32Offsets<00><><EFBFBD><EFBFBD>InternalConstant<0F><08>InternalParameters<00><><EFBFBD>7 IntProperty<00><>6JIsTraceInsideMeshT<>U KeywordsC-N<>Kill Offscreen Particles<70>)Kill Particles When Lifetime Has ElapsedWkM<6B>LastAssemblyTranslation$<24> <20>LastBuiltScriptVersionId]<1E>LastBuiltTraversalDataChangeId<17>R<EFBFBD>LastCompileEvents<00><><EFBFBD><EFBFBD>LastCompileStatus<00><14><>LastGeneratedVMId<00><><EFBFBD>yLastHlslTranslation5n<35>[ LastOpCount<00>љ<EFBFBD> LayoutInfo<1E><><EFBFBD>LibraryVisibilityQ<16>KLife Cycle Mode<00>M<EFBFBD><4D> Lifetime<00><><EFBFBD>\Lifetime Mode<00><>njLifetime Randomness Modeh<>oLimit Accelerationh<># Locationq|<7C><>Loop Behavior<00>[C}Loop Duration Mode{#K\MainL`1<> MajorVersion<00><1A><>MapMain:<05>D MapProperty5<><35><EFBFBD> MapSpawnMainɒ<>CMapUpdateMain<00><>,<2C>Mass^<5E><>F
Mass Mode>d<>7Mass Randomness Mode<>MaterialRandom]<5D><>MaterialRandomBinding&<26>A<EFBFBD>MaxGPUParticlesSpawnPerFrame<00>MergeId'S<>Mesh<00>q<>Mesh Orientation Mode$Mesh Renderer Array Visibility Modez<><1F>Mesh Scale Mode߉<>nMesh Scale Randomness Mode<00><>AMeshes<00>9<EFBFBD>kMeshOrientation[<5B><04>MeshOrientationBinding'7xMeshParameterBindinga<>aMessageȃr<C883> Metadata<00><><EFBFBD><EFBFBD>'Method for Calculating Particle RadiusC<>| MinorVersion<00><> IMisc<00> <0B>gMiscUsageBitMask <09><><EFBFBD>Module.TriggerSpacing<00>$<03>ModuleUsageBitmaskl4]?Name98<> NameProperty<00><>J
NewOutput <0C>nbNextFrameQueryIDj<><6A>xNiagaraAssetVersion<1B><>M NiagaraBool֛DNiagaraBool if False<00><01>`NiagaraBool if Trueh<><68>fNiagaraCompileEventߎnNiagaraCompileHash<00>~o<>NiagaraCompilerTag<00><><EFBFBD>tNiagaraDataSetCompiledData+.<2E>9NiagaraDataSetID<00><>sNiagaraDeviceProfileStateEntry<00>AhRNiagaraEmitterHandle<1C>"NiagaraEmitterScalabilityOverrides<><0F>#NiagaraEmitterScalabilityOverrides'=?NiagaraEmitterScriptProperties<00><>b<EFBFBD> NiagaraEventGeneratorProperties;.<2E><>NiagaraEventReceiverPropertiesG<>?<3F>NiagaraEventScriptProperties.<2E>NiagaraExternalUObjectInfoj_BsNiagaraFunctionSignature<00>)<1F>NiagaraGraphScriptUsageInfoy<>9NiagaraGraphViewSettings<00><1B><>NiagaraHierarchyIdentity<16>/r%NiagaraInlineDynamicInputFormatToken J<>"NiagaraMeshRendererMeshProperties<00>t<EFBFBD>ENiagaraModuleDependency<00>r#<23>NiagaraParameterBinding<00><><EFBFBD><EFBFBD>NiagaraParameterDataSetBinding<00>/ˢ)NiagaraParameterDataSetBindingCollection<00><>\<5C>NiagaraParameters<00><><EFBFBD><EFBFBD>NiagaraParameterStoreQ<>NiagaraPlatformSetʟo
NiagaraPlatformSetCVarCondition<00><><EFBFBD>ZNiagaraPositionSourceK}<7D>&NiagaraScriptDataInterfaceCompileInfoƐ<>NiagaraScriptDataInterfaceInfo<00><>@'NiagaraScriptResolvedDataInterfaceInfoI<11><>NiagaraStackSection<00><><EFBFBD>NiagaraStatScope<00><><EFBFBD><EFBFBD>NiagaraSystemCompiledData4B<34>NiagaraTypeDefinition<00><><EFBFBD>8NiagaraTypeLayoutInfo<00>˦r%NiagaraUserRedirectionParameterStore{<7B><>NiagaraVariablej<>' NiagaraVariableAttributeBinding L<>DNiagaraVariableBase<00>=<3D>/NiagaraVariableLayoutInfo<1D><>NiagaraVariableMetaData<00><>9cNiagaraVariableWithOffsetq<><71><EFBFBD>NiagaraVarianty<>vNiagaraVMExecutableByteCode^LNiagaraVMExecutableData<00><><EFBFBD>NiagaraVMExecutableDataId<00>Ź<EFBFBD>NM_WeaponTriggerv;<3B>zNM_WeaponTrigger.Trigger<0F>m<EFBFBD>NM_WeaponTrigger_Func_|
NodeGraphT<16> NodeGuidѬ<04> NodePosX<00>[<5B> NodePosYrF<72>eNodes<00><><EFBFBD>lNone<00><03> NormalizedAgef<08>oNormalizedAgeBinding<00> NoteMessageU<>ͿNumber Of CollisionsH<><48><EFBFBD> Numeric::Add<1E><><EFBFBD>Numeric::CmpLT<00><02>~Numeric::FMod0<><30><EFBFBD>NumericOutputTypeSelectionModek<>NumFloatComponents<00>JPNumHalfComponents<00><><EFBFBD><EFBFBD>NumInt32Componentsăg=NumOptionsPerVariable`GP NumOutputs2<>&<26>NumTempRegisters<00><><EFBFBD>U NumUserPtrs fObjectProperty<41>OpName<00> <09>Orientation Coordinate Space<00>@<40><>OriginalPositionData<13><><EFBFBD>Out<00><05>FOuterEmitterVersion0(<13>OutputDescriptions_8^<5E>
OutputMap9<><39>
OutputPin<00> <0A>Outputs<03><1C>OutputVarGuids&)%<25> OutputVarsӧ <20>Override Seed<00>'T
Overrides<00>1<EFBFBD><31>OverviewGraphViewSettings<00><>K<EFBFBD>
OwnerNameLB<4C> OwnerSystem|:+<2B> OwningSystem<00>?gPackageLocalizationNamespacety<74>ParameterData|p<>
!ParameterDefinitionsSubscriptionDP<44><50>"ParameterDefinitionsSubscriptions%'Z>ParameterGuidMapping<00><><EFBFBD><EFBFBD>ParameterOffset<00> ؍ParameterOffsets<00>^B<> ParameterPin<00><>OK Parameters/<2F>,ParameterStoreVariablevP<76><50>ParamMapVariable<00>3<EFBFBD><33>ParentScratchPads<00>!<21> Particles.AgeP<><50><EFBFBD>Particles.Collision.AxisAngleˠ<>SFParticles.Collision.CollisionQueryAndResponse.Collision1MaterialIndex<00><>U:Particles.Collision.CollisionQueryAndResponse.CollisionIDu5<75><35>IParticles.Collision.CollisionQueryAndResponse001.Collision2MaterialIndex1<><31><EFBFBD>=Particles.Collision.CollisionQueryAndResponse001.CollisionID<00><><EFBFBD><EFBFBD>)Particles.Collision.DoOnce_fn001.Execute5k/Particles.Collision.DoOnce_fn001.TriggeredOncee<>:<3A>0Particles.Collision.SafeCombinedCollisionNormal<00><><EFBFBD><EFBFBD>Particles.Color<00>2zcParticles.DistanceTraveled%<25>J<EFBFBD>Particles.HasCollided<00>:<3A>zParticles.HitPosition<00><>4<EFBFBD>Particles.Initial.Color$<24><><EFBFBD>Particles.InitialRotation<00>m<EFBFBD><6D>Particles.LifetimePnw<6E>Particles.MassI<>b<EFBFBD>Particles.MaterialRandomr<13><>Particles.MeshOrientation<00><>BLParticles.NormalizedAgeΑ<>Particles.Number Of Collisions,1<><31>Particles.Position8<>|<7C> Particles.Presolve.PhysicsForce<00> j?Particles.Presolve.Positionm<><6D><EFBFBD>Particles.Presolve.VelocityH
<EFBFBD><EFBFBD> Particles.Previous.CameraOffset1Y<31><59>#Particles.Previous.MeshOrientation<00><><EFBFBD>Particles.Previous.Position<00>><3E>Particles.Previous.Scale<00><><EFBFBD>Particles.Previous.Velocity<00><>B<EFBFBD>Particles.RestCounter<00> <20><>Particles.RibbonUVDistance0d<>Particles.RotationalVelocityv<><76><EFBFBD>$Particles.RotationalVelocityEnabledMn<4D>Particles.Scale<00><><EFBFBD>rParticles.SmokeColorH,<2C><>Particles.SpriteAlignmentΡ<1E>Particles.SpriteFacing<00>><3E>}Particles.SpriteSizeT<>[Particles.Velocity^<00>ParticleState_Emitter<00><>u<EFBFBD>ParticleState_Emitter_Func_/<2F>'5'Perform 2 Analytical Collision Queriesp<03>MPerformCollisionQueryAsyncCPU<0F><> PinGuid o<>$"PinOutputToPinDefaultPersistentId<00>1<EFBFBD><31> PivotOffset<00><>%PivotOffsetSpace2cP
PlatformsXJ%<25> Position<00>3<EFBFBD>+Position Mode <0B>)=Position Offset<00><03>PositionBinding<00><><EFBFBD> PreAllocationCount <09><><EFBFBD>Previous.MeshOrientationn<>~fPrevious.Position"nTPrevious.Scale<00>><3E><>Previous.Velocity<07>(fPreviousFrameQueryID<00>.<2E><>ProvidedDependenciesX<>N<EFBFBD>PythonConversionScript \<5C><>PythonUpdateScript<00><07>QualityLevelMask<00><10><>Query Custom Depth Buffer<00><><EFBFBD>Radius Calculation Type˸<><CBB8>Randomness Mode<00>D<EFBFBD><44> RandomSeed[&^<5E>RapidIterationParameters~G1[Recalculate Random Each Loop<00>~f5ReferencedCompileHashes<00>J<EFBFBD>bReferenceHashFromGraph<00><>`<60>RegisteredFunctions<00>ҡ<EFBFBD>RegisteredParameterMapRead<00><><EFBFBD> RegisteredParameterMapWritel:<3A>RendererBindings"<22>I<EFBFBD> RendererBindingsExternalObjects<1C><>=RendererEnabledBinding<00><><1A>RendererProperties<00> <09><>RequiredDependencies<00><><1E>RequiredInputs<1E>UxRequiredOutputs‘<><C291>ResolvedDataInterfaceD<>ݕResolvedDataInterfaces<00>wResolvedDIBindings<00>$<24>ResolvedParameterv<>1|ResolvedSourceEmitterName<00>y<EFBFBD>ResolvedVariable<00>b<> RestCounterۼ_<DBBC>!Restitution Coefficient Blending<00><>aResult<00>s<EFBFBD><73>Ribbon Facing ModeK<1D><>Ribbon Twist Mode<17><03>Ribbon Width Mode<00><>^= RootFolder<00>yl<79> RootVariable&<26><><EFBFBD> RotationB<>x<EFBFBD>Rotation Coordinate SpaceF<>i7Rotational Solver Is Enabled-3D)RotationalInertiax<><78>;RotationalVelocity<00><>I#Rotator<00>i<EFBFBD><69>Scalability Mode!<21>/<2F>ScalabilityOverrides1<><31><EFBFBD>Scale<00>N<EFBFBD>vScale Spawn Count!<21>B<EFBFBD> ScaleBindingB <0C><>ScaleRateOfRotation<00>r<EFBFBD><72>ScaleSpawnCountCurve W <20>Schema<00><><EFBFBD>w ScratchPads<00>n<EFBFBD><6E>ScratchPadScripts<00><><EFBFBD>Script<19><>= ScriptAssetlv<6C>tScriptMetaData+<2B><>} ScriptType<00><>c'ScriptUsageType<<3C><><EFBFBD>ScriptUsageTypeID<00><>]uScriptVersionID<05><> SelectedScriptVersion<00><>A<EFBFBD> Selector<00><><04>SelectorPinGuid<00><><EFBFBD><EFBFBD>SelectorPinTypex<>6l Severity<00><><EFBFBD><EFBFBD>SharedEventGeneratorIds4<>|<7C> Shell_Ejecta<>z'Shell_Eject.Age<00>:e&Shell_Eject.Control Roll On Collision<<3C><>6Shell_Eject.CurrentLoopDelay0<>l<EFBFBD> Shell_Eject.CurrentLoopDuration<00><0E>Shell_Eject.DistanceTraveledE^<1F>Shell_Eject.ExecutionState<00>x<>!Shell_Eject.ExecutionStateSource{w<><77>Shell_Eject.Inactive Responseĺ!.Shell_Eject.InterpSpawnStartDt<00>Shell_Eject.Life Cycle Mode<><7F><EFBFBD>Shell_Eject.Loop Behaviorp<>t<EFBFBD>Shell_Eject.Loop Duration Mode6 <0C>yShell_Eject.LoopCount&<26><>bShell_Eject.LoopedAgeHn9<6E>Shell_Eject.NormalizedLoopAge<<3C><>ZShell_Eject.Position Mode<00><1E>Shell_Eject.RandomSeed<00>e<EFBFBD><65>Shell_Eject.Scalability Mode(FT)Shell_Eject.Scalability.DistanceFraction/<2F>`Shell_Eject.SpawnGroupH<>;*Shell_Eject.SpawnInterval<00><><EFBFBD><EFBFBD>%Shell_Eject.SpawnPerFrame.SpawnBurst@%<25><>Shell_Eject.SpawnRateL<><4C><EFBFBD>ShellEjectStaticMesh;<3B><>ShortDescription&<26> <0A>Simple Friction<00><>c<EFBFBD>
SimTarget<00><> &SimulationStages<00><><EFBFBD><EFBFBD>
SkipTrace<00><><EFBFBD>SolveForcesAndVelocity_Emitter<00>0F%SolveForcesAndVelocity_Emitter_Func_<00>Ӎ<EFBFBD>)SolveRotationalForcesAndVelocity_EmitteriE<69>/SolveRotationalForcesAndVelocity_Emitter_Func_ɺ%SortedParameterOffsets<00><>lSourceV9<56><39>SourceEmitterName<00>V<EFBFBD><56>Spawn-<2D><>VSpawnAttributes<00><>H=SpawnInstanceEmitterBindings<00><>j<EFBFBD>'SpawnInstanceParamsDataSetCompiledData<00>{h/SpawnInstanceSystemBinding<00>!j SpawnPerFrame.Spawn<00><><EFBFBD><EFBFBD>SpawnPerFrame_Shell_Eject'(> SpawnPerFrame_Shell_Eject_Func_<00>x'<27> SpawnScript$<24>s<EFBFBD>SpawnScript_Mainj<><6A>sSpawnScript_MapSpawnMainP<><50>?SpawnScript_MapUpdateMainyPSpawnScriptProps<00>`W Speed LimitXf?Sprite Rotation ModeF}<7D> Sprite Rotation Randomness Mode<16><><EFBFBD>Sprite Size Mode<00>fn<66>Sprite Size Randomness Modeo_ͬSprite UV Mode<00><1E>Sprite UV Randomness Mode<00>Ő|StackEditorData<00><>v<EFBFBD>StackEntryKeyToExpandedMap<00>&#StackEntryKeyToExpandedOverviewMap}<7D><><EFBFBD> StackGuidsq<>~StaticVariablesWrittenwd<77>a StatScopesD<>v StringValue]<5D>G StrProperty;<3B>r$StructProperty0<00><>SummaryViewRoot<00>9 System.Age>|<7C><>System.bCompleteOnInactive<00>J<EFBFBD>OSystem.CachedTriggeri3MSystem.CurrentLoopDelay<00>3i<33>System.CurrentLoopDurationi<12>mSystem.ExecutionState`<60><><EFBFBD>System.ExecutionStateSource<07><>LSystem.LoopCount^ǒJSystem.LoopedAge0|[<5B>System.NormalizedLoopAgeԛ<><D49B>System.StepOccured!%<25><>System.TimeSinceFire<00>YSystem.TriggerAL<>SystemCompiledData<00><>_)SystemOverviewGraphtK9rSystemSpawnScript1<03>SystemSpawnScript_Main<00>?<3F><>SystemSpawnScript_MapMain<00><><18> SystemState<00><><11>SystemState_Func_<00>ٖ<EFBFBD>SystemUpdateScript$<24><>SystemUpdateScript_Main<00><>vSystemUpdateScript_MapMain<00>Fp TextProperty<00>:t<>TotalFloatComponents<00>[<5B><>TotalHalfComponents<00><>~<7E>TotalInt32Components<00><>Դ TraceChannel<00><><EFBFBD>ZTraceEndWorld<00><><EFBFBD>TraceStartWorld|<7C><><EFBFBD>
Traversal<00><><EFBFBD>5Trigger8<14><>Type<00>Fr<46>UInt16Property<00>O`0UInt32Property<00>,8JUnderlyingType<00>
<EFBFBD>UniqueEmitterName-<2D>ڠ UniqueID<00>k<EFBFBD><6B> UObjectsU<> %UpdateInstanceEmitterBindings<00>ЕcUpdateInstanceOwnerBinding<00>mB<6D>(UpdateInstanceParamsDataSetCompiledData<00><>^<5E>UpdateInstanceSystemBindingK<><4B> UpdateScript<00><>-XUpdateScript_Main<00><>MUpdateScript_MapMain9<><39><EFBFBD>UpdateScriptExecution<00>4<EFBFBD><34>UpdateScriptProps9<04>iUsage<00><><EFBFBD><EFBFBD>UsageId<00><><EFBFBD>&
UsageTypes`9zUse Linear Drag<00>f<EFBFBD>;Use Rotation Vector<00><>kUUse Rotational Drag<00>s<EFBFBD>}Use Spawn Probabilityn<>FW UseLoopDelay<10><><EFBFBD>UsePositionOffsetk4<6B><34>User.ShellEjectStaticMesh<00>6<> User.Trigger<00>i<EFBFBD>UserParameterHierarchyt<><74>UserParameterMetaData/<2F><><EFBFBD>UserParameterRedirects{<1F> UserPtrIdx<00><>8 UseSpeedThreshold<00>V<EFBFBD><56>Value<00>01<30> Variable<00><>rx VariableGuid<00><>~<7E>VariableLayoutsM<><10>
Variables<00><0F><>VariableToScriptVariableD`<60><>VariadicInputs<00>.P<>VariadicOutputs<00><>q<EFBFBD>Vector<00>d Vector2DU0l Velocity<00><><EFBFBD>CVelocityBinding<37>Version|<7C>a^VersionChangeDescriptionA<><41> VersionData<00><14><>VersionedInstanceM<><4D> VersionedNiagaraEmitter<00>YVersionedNiagaraEmitterDataf <09><>VersionedNiagaraScriptData<17><><EFBFBD>VersionedParent&<26><>VersionedParentAtLastMergeV<><56>3 VersionGuid<00> 8{VMExternalFunctionBindingInfo<19><15>VMFunctionSpecifierCEĪWrap Index By Mesh County` Write Material Random<00>O<EFBFBD> Write to Presolve Properties<00> hzZoom=<3D><>W0/Game/Effects/Meshes/BulletShells/SM_rifleshellJ-2<>./Game/Effects/NiagaraModules/NM_WeaponTrigger<00><><EFBFBD>w9/Game/Effects/Particles/Weapons/NS_WeaponFire_ShellEject.<2E>O<EFBFBD>9/Niagara/DynamicInputs/UniformRange/V2/RandomRangeVector:<3A>fj0/Niagara/Enums/ENiagara_ColorInitializationModeX<>6<EFBFBD>)/Niagara/Enums/ENiagara_CPUCollisionType8<><38>5,/Niagara/Enums/ENiagara_EmitterStateOptions<15>
)/Niagara/Enums/ENiagara_GPUCollisionType<00><><1D>-/Niagara/Enums/ENiagara_InfiniteLoopDurationE<><45>%/Niagara/Enums/ENiagara_LifetimeMode<00>v<EFBFBD><76>//Niagara/Enums/ENiagara_MassInitializationMode;<3B><><EFBFBD>3/Niagara/Enums/ENiagara_PositionInitializationMode<00> <0A><>&/Niagara/Enums/ENiagara_SizeScaleMode<00><><EFBFBD><EFBFBD>+/Niagara/Enums/ENiagara_SpriteRotationMode<00><<3C><>'/Niagara/Enums/ENiagara_UVFlippingModeT5<54><35>./Niagara/Enums/ENiagaraCalculateRadiusOptionsU3<55>*/Niagara/Enums/ENiagaraChannelCorrelation* <20><>./Niagara/Enums/ENiagaraCollisionRadiusOptionsz<><7A><EFBFBD>,/Niagara/Enums/ENiagaraEmitterLifeCycleMode<00>o<>6/Niagara/Enums/ENiagaraEmitterScalabilityMode_Limited<00><>y<EFBFBD>)/Niagara/Enums/ENiagaraFrictionMergeType=<3D><><EFBFBD>$/Niagara/Enums/ENiagaraInactiveMode<00><><EFBFBD><EFBFBD>&/Niagara/Enums/ENiagaraMeshTransforms<00>`^6,/Niagara/Enums/ENiagaraRandomnessEvaluation1&/Niagara/Enums/ENiagaraRandomnessModee<>n,/Niagara/Enums/ENiagaraRestitutionMergeType<00>&<26><>*/Niagara/Enums/ENiagaraSystemInactiveMode/b<>//Niagara/Enums/Ribbons/ENiagara_UnsetDirectSet<00><> <0C>5/Niagara/Enums/Ribbons/ENiagara_UnsetDirectSetRandomG<>:/Niagara/Enums/Transforms/ENiagara_MeshOrientationOptions<16><>1/Niagara/Modules/Collision/AddRotationalVelocity_<14><>%/Niagara/Modules/Collision/Collision<11>a<EFBFBD>&/Niagara/Modules/Emitter/EmitterStateka<6B><61>'/Niagara/Modules/Emitter/SpawnPerFrame<00>m<EFBFBD><6D>#/Niagara/Modules/Emitter/SpawnRate<00>lb0/Niagara/Modules/Solvers/SolveForcesAndVelocityd<>et:/Niagara/Modules/Solvers/SolveRotationalForcesAndVelocity<00> <09><></Niagara/Modules/Spawn/Initialization/V2/InitializeParticle<00>%?<3F>=/Niagara/Modules/Spawn/Orientation/V3/InitialMeshOrientationnjKJ2/Niagara/Modules/Spawn/Velocity/AddVelocityInCone<00><><EFBFBD>\$/Niagara/Modules/System/SystemState<00><>H!$/Niagara/Modules/Update/Forces/Drag<00>|U`,/Niagara/Modules/Update/Forces/GravityForce9<><39>//Niagara/Modules/Update/Lifetime/ParticleState<00>ɾ&1/Niagara/Modules/Update/Velocity/InheritVelocity<00><><EFBFBD>E-/Niagara/ParameterDefinitions/CoreParameters$<24><>,/Niagara/ParameterDefinitions/LightRenderer'd<>m+/Niagara/ParameterDefinitions/MeshRendererfx<66><78>-/Niagara/ParameterDefinitions/RibbonRenderer<00><>>P-/Niagara/ParameterDefinitions/SpriteRenderer<1C>w8/Script/CoreUObject<00>I->/Script/Engine<00>@<40>I/Script/Niagara<00>GZ`/Script/NiagaraEditor<00>p<EFBFBD>oAddRotationalVelocity<00><>ؓAddVelocityInConed
Collisionٜ<>,CoreParameters<00><>)<29>
DebugFire1<>ÆDefault__NiagaraBakerSettings0<>5<EFBFBD>"Default__NiagaraEmitterEditorData<00>i<EFBFBD><69>!Default__NiagaraSystemEditorData<03>C<EFBFBD>DefaultOutput<00><00><>Drag<00>܁ECollisionChannelLh2EdGrapho<>]$EdGraphSchema_NiagaraSystemOverview<00><><EFBFBD><EFBFBD>EmitterSpawnScript<00>5<EFBFBD><35> EmitterStateZTg<54>EmitterUpdateScript]'<27>[!ENiagara_ColorInitializationMode<00><><14>ENiagara_CPUCollisionType<00>|<7C><>ENiagara_EmitterStateOptionsWS<57>8ENiagara_GPUCollisionTypeoV~7ENiagara_InfiniteLoopDuration<00><><-ENiagara_LifetimeModep<><70>H ENiagara_MassInitializationModebP<62> ENiagara_MeshOrientationOptions<00>?<3F>-$ENiagara_PositionInitializationMode<00><><EFBFBD><EFBFBD>ENiagara_SizeScaleMode<00><><EFBFBD><EFBFBD>ENiagara_SpriteRotationMode a<>?ENiagara_UnsetDirectSet<00>b>"ENiagara_UnsetDirectSetRandom6<><36><EFBFBD>ENiagara_UVFlippingMode<00><><EFBFBD><EFBFBD>ENiagaraCalculateRadiusOptions<00><11>AENiagaraChannelCorrelation|.=<3D>ENiagaraCollisionRadiusOptions;<><CDBE>ENiagaraCoordinateSpace<00><00>ENiagaraEmitterLifeCycleModeƉ<><C689>'ENiagaraEmitterScalabilityMode_Limited<00>xq<78>ENiagaraExecutionStateL<>s<EFBFBD>ENiagaraExecutionStateSource$<24><> ENiagaraFrictionMergeType<00>t<EFBFBD>,ENiagaraInactiveMode<00><>J ENiagaraMeshTransforms<00>.XNENiagaraRandomnessEvaluationspK<70>ENiagaraRandomnessMode <0C>hlENiagaraRestitutionMergeType<00><>H<EFBFBD>ENiagaraSystemInactiveModeyl~C GravityForceVÖtInheritVelocity<00>h'InitializeParticle<00><14> InitialMeshOrientation<00><>Y,LightRenderer<13><12> LinearColorCsF MeshRenderer<00>e<EFBFBD><65> MetaData<>NiagaraBakerOutputTexture2D7l<37><6C>NiagaraBakerSettings<00>-<2D>NiagaraDataInterfaceArrayInt32VA<56><41>#NiagaraDataInterfaceCollisionQueryr<>x<EFBFBD>NiagaraDataInterfaceCurve<00><>u:NiagaraEditorParametersAdapter6<>NiagaraEmitter<00><><EFBFBD><EFBFBD>NiagaraEmitterEditorData<00>%0<> NiagaraFloat5<><35>Y NiagaraGraphy7<>NiagaraHierarchyRoot<00> 8 NiagaraInt32Ĺ"<22>NiagaraMeshRendererProperties<1D><>kNiagaraNodeEmitter<00>)f<>NiagaraNodeFunctionCall<00>JNiagaraNodeInput<00><07><>NiagaraNodeOpLj<>FNiagaraNodeOutput'<27><><EFBFBD>NiagaraNodeParameterMapGet<10>FNiagaraNodeParameterMapSetTm<54><6D>NiagaraNodeReroute<00><>٩NiagaraNodeSelectf0<66><30>NiagaraNumeric3=ӈNiagaraOverview<00>f^<5E>NiagaraOverviewNode<00><>0NiagaraParameterDefinitions<13>C&NiagaraParameterMap<00><><EFBFBD>(NiagaraPositionv<03>tNiagaraScratchPadContainer[,eNiagaraScript<00><><EFBFBD>NiagaraScriptSourceP[-NiagaraScriptVariable<00>T<EFBFBD><54>NiagaraSpawnInfoQ<><51><EFBFBD>NiagaraStackEditorData_<>G<EFBFBD>NiagaraSystem<00>RN^NiagaraSystemEditorData+<2B><03>NiagaraSystemEditorFolderz<18><>NS_WeaponFire_ShellEject&<26>PPackagesG<73>PackageMetaData<00>,<2C>eParticleState<00><><EFBFBD>Quat4f<00>Jm<4A>RandomRangeVector<00><>w<EFBFBD>RibbonRenderer4A<34>0 ScriptStructK<15><>SM_rifleshell<00><><19>SolveForcesAndVelocity 3<><33>!SolveRotationalForcesAndVelocity<00>mSpawnPerFrame<00><> <09>
SpawnRate<00>*#<23>SpriteRenderer<00>?<3F>X StaticMeshY@TSystemScriptGraphQ<>g2SystemScriptSource.<2E>UserDefinedEnum<00>*<2A>NUserParameterHierarchyRoot<6D> Vector2f; <0B>n Vector3f]Gn Vector4ff;^gDefault!9EFEC2754688770EFEEE238A26C4F1C4<00>/Game/Effects/Particles/Weapons/NS_WeaponFire_ShellEject.NS_WeaponFire_ShellEject:DebugFire.VersionData(0).VersionData.Category#NiagaraDataInterfaceCollisionQuery<00>Traces a ray against the world using a specific channel and return the first blocking hit the next frame.
Note that this is the ASYNC version of the trace function, meaning it will not returns the result right away, but with one frame latency.SigCpuAsyncDescription<00>/Game/Effects/Particles/Weapons/NS_WeaponFire_ShellEject.NS_WeaponFire_ShellEject:Shell_Eject_0.UpdateScript.CachedScriptVM.DataInterfaceInfo(0).DataInterfaceInfo.RegisteredFunctions(0).RegisteredFunctions.DescriptionSigCpuAsyncDescription<00>/Game/Effects/Particles/Weapons/NS_WeaponFire_ShellEject.NS_WeaponFire_ShellEject:Shell_Eject_0.UpdateScript.CachedScriptVM.DataInterfaceInfo(1).DataInterfaceInfo.RegisteredFunctions(0).RegisteredFunctions.DescriptionSigCpuAsyncDescription<00>/Game/Effects/Particles/Weapons/NS_WeaponFire_ShellEject.NS_WeaponFire_ShellEject:Shell_Eject_0.SpawnScript.CachedScriptVM.DataInterfaceInfo(0).DataInterfaceInfo.RegisteredFunctions(0).RegisteredFunctions.DescriptionSigCpuAsyncDescription<00>/Game/Effects/Particles/Weapons/NS_WeaponFire_ShellEject.NS_WeaponFire_ShellEject:Shell_Eject_0.SpawnScript.CachedScriptVM.DataInterfaceInfo(1).DataInterfaceInfo.RegisteredFunctions(0).RegisteredFunctions.Description#NiagaraDataInterfaceCollisionQuery<00>The query ID returned from the last frame's async trace call.
Regardless if it is a valid ID or not this function call with issue a new async line trace, but it will only return results with a valid ID.+TraceAsync_PreviousFrameQueryIDDescription<00>/Game/Effects/Particles/Weapons/NS_WeaponFire_ShellEject.NS_WeaponFire_ShellEject:Shell_Eject_0.UpdateScript.CachedScriptVM.DataInterfaceInfo(0).DataInterfaceInfo.RegisteredFunctions(0).RegisteredFunctions.InputDescriptions(0 - Value).InputDescriptions+TraceAsync_PreviousFrameQueryIDDescription<00>/Game/Effects/Particles/Weapons/NS_WeaponFire_ShellEject.NS_WeaponFire_ShellEject:Shell_Eject_0.UpdateScript.CachedScriptVM.DataInterfaceInfo(1).DataInterfaceInfo.RegisteredFunctions(0).RegisteredFunctions.InputDescriptions(0 - Value).InputDescriptions+TraceAsync_PreviousFrameQueryIDDescription<00>/Game/Effects/Particles/Weapons/NS_WeaponFire_ShellEject.NS_WeaponFire_ShellEject:Shell_Eject_0.SpawnScript.CachedScriptVM.DataInterfaceInfo(0).DataInterfaceInfo.RegisteredFunctions(0).RegisteredFunctions.InputDescriptions(0 - Value).InputDescriptions+TraceAsync_PreviousFrameQueryIDDescription<00>/Game/Effects/Particles/Weapons/NS_WeaponFire_ShellEject.NS_WeaponFire_ShellEject:Shell_Eject_0.SpawnScript.CachedScriptVM.DataInterfaceInfo(1).DataInterfaceInfo.RegisteredFunctions(0).RegisteredFunctions.InputDescriptions(0 - Value).InputDescriptions#NiagaraDataInterfaceCollisionQuery"Ray starting point in world spaceTraceStartWorldDescription<00>/Game/Effects/Particles/Weapons/NS_WeaponFire_ShellEject.NS_WeaponFire_ShellEject:Shell_Eject_0.UpdateScript.CachedScriptVM.DataInterfaceInfo(0).DataInterfaceInfo.RegisteredFunctions(0).RegisteredFunctions.InputDescriptions(1 - Value).InputDescriptionsTraceStartWorldDescription<00>/Game/Effects/Particles/Weapons/NS_WeaponFire_ShellEject.NS_WeaponFire_ShellEject:Shell_Eject_0.UpdateScript.CachedScriptVM.DataInterfaceInfo(1).DataInterfaceInfo.RegisteredFunctions(0).RegisteredFunctions.InputDescriptions(1 - Value).InputDescriptionsTraceStartWorldDescription<00>/Game/Effects/Particles/Weapons/NS_WeaponFire_ShellEject.NS_WeaponFire_ShellEject:Shell_Eject_0.SpawnScript.CachedScriptVM.DataInterfaceInfo(0).DataInterfaceInfo.RegisteredFunctions(0).RegisteredFunctions.InputDescriptions(1 - Value).InputDescriptionsTraceStartWorldDescription<00>/Game/Effects/Particles/Weapons/NS_WeaponFire_ShellEject.NS_WeaponFire_ShellEject:Shell_Eject_0.SpawnScript.CachedScriptVM.DataInterfaceInfo(1).DataInterfaceInfo.RegisteredFunctions(0).RegisteredFunctions.InputDescriptions(1 - Value).InputDescriptions#NiagaraDataInterfaceCollisionQueryRay end point in world spaceTraceEndWorldDescription<00>/Game/Effects/Particles/Weapons/NS_WeaponFire_ShellEject.NS_WeaponFire_ShellEject:Shell_Eject_0.UpdateScript.CachedScriptVM.DataInterfaceInfo(0).DataInterfaceInfo.RegisteredFunctions(0).RegisteredFunctions.InputDescriptions(2 - Value).InputDescriptionsTraceEndWorldDescription<00>/Game/Effects/Particles/Weapons/NS_WeaponFire_ShellEject.NS_WeaponFire_ShellEject:Shell_Eject_0.UpdateScript.CachedScriptVM.DataInterfaceInfo(1).DataInterfaceInfo.RegisteredFunctions(0).RegisteredFunctions.InputDescriptions(2 - Value).InputDescriptionsTraceEndWorldDescription<00>/Game/Effects/Particles/Weapons/NS_WeaponFire_ShellEject.NS_WeaponFire_ShellEject:Shell_Eject_0.SpawnScript.CachedScriptVM.DataInterfaceInfo(0).DataInterfaceInfo.RegisteredFunctions(0).RegisteredFunctions.InputDescriptions(2 - Value).InputDescriptionsTraceEndWorldDescription<00>/Game/Effects/Particles/Weapons/NS_WeaponFire_ShellEject.NS_WeaponFire_ShellEject:Shell_Eject_0.SpawnScript.CachedScriptVM.DataInterfaceInfo(1).DataInterfaceInfo.RegisteredFunctions(0).RegisteredFunctions.InputDescriptions(2 - Value).InputDescriptions#NiagaraDataInterfaceCollisionQuery`The trace channel to collide against. Tr
This can be used as a performance optimization, as branch nodes in the graph still execute every path.SkipTraceDescription<00>/Game/Effects/Particles/Weapons/NS_WeaponFire_ShellEject.NS_WeaponFire_ShellEject:Shell_Eject_0.UpdateScript.CachedScriptVM.DataInterfaceInfo(0).DataInterfaceInfo.RegisteredFunctions(0).RegisteredFunctions.InputDescriptions(4 - Value).InputDescriptionsSkipTraceDescription<00>/Game/Effects/Particles/Weapons/NS_WeaponFire_ShellEject.NS_WeaponFire_ShellEject:Shell_Eject_0.UpdateScript.CachedScriptVM.DataInterfaceInfo(1).DataInterfaceInfo.RegisteredFunctions(0).RegisteredFunctions.InputDescriptions(4 - Value).InputDescriptionsSkipTraceDescription<00>/Game/Effects/Particles/Weapons/NS_WeaponFire_ShellEject.NS_WeaponFire_ShellEject:Shell_Eject_0.SpawnScript.CachedScriptVM.DataInterfaceInfo(0).DataInterfaceInfo.RegisteredFunctions(0).RegisteredFunctions.InputDescriptions(4 - Value).InputDescriptionsSkipTraceDescription<00>/Game/Effects/Particles/Weapons/NS_WeaponFire_ShellEject.NS_WeaponFire_ShellEject:Shell_Eject_0.SpawnScript.CachedScriptVM.DataInterfaceInfo(1).DataInterfaceInfo.RegisteredFunctions(0).RegisteredFunctions.InputDescriptions(4 - Value).InputDescriptions#NiagaraDataInterfaceCollisionQueryJThe query ID to save and use as input to this function in the next frame.'TraceAsync_NextFrameQueryIDDescription<00>/Game/Effects/Particles/Weapons/NS_WeaponFire_ShellEject.NS_WeaponFire_ShellEject:Shell_Eject_0.UpdateScript.CachedScriptVM.DataInterfaceInfo(0).DataInterfaceInfo.RegisteredFunctions(0).RegisteredFunctions.OutputDescriptions(0 - Value).OutputDescriptions'TraceAsync_NextFrameQueryIDDescription<00>/Game/Effects/Particles/Weapons/NS_WeaponFire_ShellEject.NS_WeaponFire_ShellEject:Shell_Eject_0.UpdateScript.CachedScriptVM.DataInterfaceInfo(1).DataInterfaceInfo.RegisteredFunctions(0).RegisteredFunctions.OutputDescriptions(0 - Value).OutputDescriptions'TraceAsync_NextFrameQueryIDDescription<00>/Game/Effects/Particles/Weapons/NS_WeaponFire_ShellEject.NS_WeaponFire_ShellEject:Shell_Eject_0.SpawnScript.CachedScriptVM.DataInterfaceInfo(0).DataInterfaceInfo.RegisteredFunctions(0).RegisteredFunctions.OutputDescriptions(0 - Value).OutputDescriptions'TraceAsync_NextFrameQueryIDDescription<00>/Game/Effects/Particles/Weapons/NS_WeaponFire_ShellEject.NS_WeaponFire_ShellEject:Shell_Eject_0.SpawnScript.CachedScriptVM.DataInterfaceInfo(1).DataInterfaceInfo.RegisteredFunctions(0).RegisteredFunctions.OutputDescriptions(0 - Value).OutputDescriptions#NiagaraDataInterfaceCollisionQuery\Returns true if the trace was not skipped and the trace was blocked by some world geometry.CollisionValidDescription<00>/Game/Effects/Particles/Weapons/NS_WeaponFire_ShellEject.NS_WeaponFire_ShellEject:Shell_Eject_0.UpdateScript.CachedScriptVM.DataInterfaceInfo(0).DataInterfaceInfo.RegisteredFunctions(0).RegisteredFunctions.OutputDescriptions(1 - Value).OutputDescriptionsCollisionValidDescription<00>/Game/Effects/Particles/Weapons/NS_WeaponFire_ShellEject.NS_WeaponFire_ShellEject:Shell_Eject_0.UpdateScript.CachedScriptVM.DataInterfaceInfo(1).DataInterfaceInfo.RegisteredFunctions(0).RegisteredFunctions.OutputDescriptions(1 - Value).OutputDescriptionsCollisionValidDescription<00>/Game/Effects/Particles/Weapons/NS_WeaponFire_ShellEject.NS_WeaponFire_ShellEject:Shell_Eject_0.SpawnScript.CachedScriptVM.DataInterfaceInfo(0).DataInterfaceInfo.RegisteredFunctions(0).RegisteredFunctions.OutputDescriptions(1 - Value).OutputDescriptionsCollisionValidDescription<00>/Game/Effects/Particles/Weapons/NS_WeaponFire_ShellEject.NS_WeaponFire_ShellEject:Shell_Eject_0.SpawnScript.CachedScriptVM.DataInterfaceInfo(1).DataInterfaceInfo.RegisteredFunctions(0).RegisteredFunctions.OutputDescriptions(1 - Value).OutputDescriptions#NiagaraDataInterfaceCollisionQuery
<00>:<3A><00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD><00><00><><00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD><00>d<00><><00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD><00>Y><3E><00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD> <00><00>}<00><><00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD><00>+<14><00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD><00>H?<3F><00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD><00>G<00><><00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD><00>G<00><><00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD><00>*<15><00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD><00>H?<3F><00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD> <00>`<00><><00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD> <00><00><00><><00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD> <00><00><00><><00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD> <00><00>)<29><00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD> <00>D<00><00><><00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD> <00><00>}<7D><00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD><00>[0<><00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD><00>x<00><><00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD><00>y<00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD><00>x|<00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD><00>[<00><00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD><00>xO <00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD> <00>. <00> <00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD><00><00><00><00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD><00><00><00><00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD> <00>]<00>!<00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD><00>$6&<00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD><00>$Z*<00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD><00>~.<00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD><00>$<00>2<00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD> <00><00><00>6<00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD> <00><00>P9<00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD> <00><00><00>;<00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD> <00><00>p><00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD><00><00> F<00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD><00> <00>F<00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD> <00> <00>G<00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD> <00> <00>G<00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD>fd<00> <00>G<00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD> m<00>iS<00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD> o<00>g<00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD> H<00>
<15><00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD> <00><00><><00><><00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD> <00><17>J<><00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD>f<00><00>^a<> <00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD>f<00><00><><00><> <00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD>J<00>)<00><> <00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD> <00>)<00><> <00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD>P<00>) <20> <00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD> <00>I<> <00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD> <00>g<> <00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD> <00><00><00><> <00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD> <00><00>z<> <00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD> <00><00>o<> <00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD> <00>f <09> <00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD> <00><00>o<> <00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD> <00><00><17> <00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD> <00> <0C> <00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD> <00> <11> <00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD> <00> <1E> <00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD> <00> <00>+<2B> <00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD> <00>
&!<21> <00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD>g<00>fG<> <00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD>g<00><00><00><> <00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD>g<00><00><00><> <00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD> <00> 1<> <00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD><00> <00>p<<3C> <00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD>f<00>^<00>m <00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD>gl o <00><><EFBFBD><EFBFBD>FG<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ZY[`a\]^_e':D1.B/C02E=3UVXW(4);>5*@?6+!"# 7 ,8-$%<A&9<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>f,8f&9<00><><EFBFBD><EFBFBD>@m<><6D><EFBFBD>y<EFBFBD><79><EFBFBD>e<EFBFBD><65><EFBFBD>t<EFBFBD><74><EFBFBD>s<EFBFBD><73><EFBFBD>a<EFBFBD><61><EFBFBD>q<EFBFBD><71><EFBFBD>r<EFBFBD><72><EFBFBD>b<EFBFBD><62><EFBFBD>p<EFBFBD><70><EFBFBD>o<EFBFBD><6F><EFBFBD><00><><EFBFBD><EFBFBD>+!<00><><EFBFBD><EFBFBD>`<60><><EFBFBD>g<EFBFBD><67><EFBFBD><00><><EFBFBD><EFBFBD>?<00><><EFBFBD><EFBFBD> 7<00><><EFBFBD><EFBFBD>?g<><67><EFBFBD>6<00><><EFBFBD><EFBFBD>f<><66><EFBFBD>e<EFBFBD><65><EFBFBD>?<00><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD>>
<00><><EFBFBD><EFBFBD>)h<><68><EFBFBD>k<EFBFBD><6B><EFBFBD>w<EFBFBD><77><EFBFBD>u<EFBFBD><75><EFBFBD>j<EFBFBD><6A><EFBFBD>>;<00><><EFBFBD><EFBFBD>5<00><><EFBFBD><EFBFBD> #<00><><EFBFBD><EFBFBD>!"<00><><EFBFBD><EFBFBD>"!#
<00><><EFBFBD><EFBFBD>#"x<><78><EFBFBD>i<EFBFBD><69><EFBFBD>v<EFBFBD><76><EFBFBD>n<EFBFBD><6E><EFBFBD>l<EFBFBD><6C><EFBFBD>d<EFBFBD><64><EFBFBD> <00><><EFBFBD><EFBFBD>$-c<><63><EFBFBD>w<EFBFBD><77><EFBFBD>%J%$A<<00><><EFBFBD><EFBFBD>&A':=(4)*@+,-$.://.B20CB21DE2/0E3=4(56789:'DB.C;><%A='3E>;?@*A%<&B:0/C:0D:E1E1D2=ffRSSS <00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>hdbc<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>NiagaraSystemNS_WeaponFire_ShellEjectINS_WeaponFire_ShellEject/Script/Niagara.NiagaraSystemHasGPUEmitterFalseFixedBoundsSizeNone NumEmitters1ActiveEmitters1ActiveRenderers1GPUSimsMissingFixedBounds0 EffectTypeNone WarmupTime 0.000000 HasOverrideScalabilityForSystemFalseHasDIsWithPostSimulateTickTrueNeedsSortedSignificanceCullFalse LowEmitters1MediumEmitters1 HighEmitters1 EpicEmitters1CinematicEmitters1
ActiveDIs1 MeshRenderer1CollisionQuery1 CPUCollisionTrueTemplateSpecificationNoneClassUsageList<00>/Script/NiagaraEditor.NiagaraNodeEmitter
/Script/NiagaraEditor.NiagaraNodeFunctionCall
/Script/NiagaraEditor.NiagaraNodeInput
/Script/NiagaraEditor.NiagaraNodeOutput
/Script/NiagaraEditor.NiagaraNodeParameterMapGet
/Script/NiagaraEditor.NiagaraNodeParameterMapSet
/Script/NiagaraEditor.NiagaraNodeOp
/Script/NiagaraEditor.NiagaraNodeReroute
/Script/NiagaraEditor.NiagaraNodeSelect
/Script/Niagara.NiagaraMeshRendererProperties
/Script/Niagara.NiagaraDataInterfaceCollisionQueryLibraryVisibility
UnexposedTemplateAssetDescription Category<00>D<00><>9{<00><00><><EFBFBD><EFBFBD><EFBFBD> <00>FGI<00>M<00><12>z/<1E>I<EFBFBD>-T٣r<D9A3><72><00>!1DE127DD45BAEB3321F7DAAC0F96B99E<00><00><00><00><00><00>M7<><37>d<0E><>C<EFBFBD><43><EFBFBD><EFBFBD><EFBFBD><1B>K<EFBFBD><00><00>M|`8<><38><EFBFBD>nD<6E>*<2A>%<25><><EFBFBD><EFBFBD><00><00>M|<7C>}6T<36>I<EFBFBD><49><06>͋L<0E><00><00>M<00> z<>u1<75>K<EFBFBD><4B><EFBFBD><12><00><><00>(<00> ZY[`a\]^_<00><00>4<00>M<00><>wT<77>K.<2E><>h6v<36>><3E>A<00><00><00>l<00><00><00><00>l<00>l#<00>M<00><>wT<77>K.<2E><>h6v<36>><3E>A04<00><00> <00><00>)  L<00><00>%55<00><00>!4<00><00> <00>14"4Ql)4%4<00>) !O)7<00>18Y<>Y<>Y<>Y@Y@Y@<405<00>0<00><00>?<00><00><00><00>5<00><00><00><00><00>5<00><00><00><00>Ml<00>u<00>^<00><00>5<00><00><00><00><00><00>l)*+Dl<00><00><00><00>~<00>O15<00>1<00><00>/5<00>/<00><00><00><00><00><00><00>~<00>N15<00>1<00><00>/5<00>/<00><00><00>Y<00><00><00> <00><00>l<00>5<00><00><00><00>G<00><00><00><00><00>5<00><00><00><00><00><00><00><00><00><00>Z5<00>Z<00><00>b<00><00><00><00>)<00><00><00><00>~<00>K15<00>1<00><00>/5<00>/<00><00><00><00><00><00><00>~<00>L15<00>1<00><00>/5<00>/<00><00><00>J<00>S|<00>H<00>
<00>R<00>C!F4752BEF4026A232736BFE96D40C8884Engine Providedz)S<00>M<00><>P<EFBFBD>(<28><>F<EFBFBD><46>BL<42>5[<5B><00><00><00><00><00><00><00><><EFBFBD><EFBFBD>Jl4<>c<EFBFBD><63><00><00><00><><EFBFBD><EFBFBD>Jl<00>(<28><><00><00><00><><EFBFBD><EFBFBD>Jl<><E7A09A><00><00> Shell_Eject<00><00><00>e<00><00><00>S<00>M<00> <20><><EFBFBD>EB<45><42><EFBFBD><EFBFBD>l(<28>s<00>M<00> <20><><EFBFBD>EB<45><42><EFBFBD><EFBFBD>l(<28>r<00>M<00><><19>5<EFBFBD>"׋^)<29>D<EFBFBD> N<00><00>N<00>b<00><00>M<00><>$<24>J7TF<54><46>t<EFBFBD><74><EFBFBD><EFBFBD> )<00><00>Mj<00>A<00><00>Gɺ<>E=<3D><>!<21>?6<><36><08><>k<00>A<00><00>Gزe<D8B2>Z2(`ge<67>`<60><><EFBFBD><EFBFBD>m<EFBFBD>C<EFBFBD><43>U<00>A<00><00>G<00>9<EFBFBD><39>^kK 2U<32><55><EFBFBD>`<18><><EFBFBD> <09><00>8<00> ':D1.B/C02E=3<00><00><00><00><00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>U<00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>V<00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>X<00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>W'4<00>8<00> 3':=.20/BCE1DI<00>M<00>Px<50><78>3<EFBFBD>M<EFBFBD><4D><EFBFBD><1A><><1A><>S<00>M<00>L{0<17>K<EFBFBD><4B>Z<EFBFBD><5A><EFBFBD>$<24>s<00>M<00>L{0<17>K<EFBFBD><4B>Z<EFBFBD><5A><EFBFBD>$<24>r<00>M<00><><19>5<EFBFBD>"׋^)<29>D<EFBFBD> Ns <00>N<00>> <00><00>M<00><>м<EFBFBD><D0BC>DD<44>c<EFBFBD><63><EFBFBD>bj<62>)<00><00>Mj<00>A<00><00>G<00>v<EFBFBD><76>p<04><>,E<>ў<EFBFBD><D19E>j<EFBFBD> <0B><>k<00>A<00><00>Gy<>-m0$(<28>D.U<>Sd<53>AqN<71><4E>U<00>A<00><00>G<00>9<EFBFBD><39>^kK 2U<32><55><EFBFBD>`<18><><EFBFBD> <09><00> <00>(4<00><00>Mv*<02><><EFBFBD>"B<><1E>`l<14>)<00><00>Mj<00>A<00><00>G<00>Q<EFBFBD><51>W<EFBFBD>:<3A><><03><><EFBFBD>\@<40>%<0F>w<EFBFBD>k<00>A<00><00>G ͍<><CD8D><01>E73k<33><6B>ͫ<EFBFBD><CDAB>v<12>U<00>A<00><00>G"<22>!<21>2H(<eɉr<C989><72><EFBFBD><EFBFBD><EFBFBD><16>Y<EFBFBD><00> <00>);>5<00><00>M<00><>K<EFBFBD><4B>W<EFBFBD>I<EFBFBD>Θ<EFBFBD>R?P<>)<00><00>Mj<00>A<00><00>G<00>^<5E><>r<EFBFBD><72><EFBFBD>D<EFBFBD><44><EFBFBD><EFBFBD>S<EFBFBD><07><><EFBFBD><EFBFBD><EFBFBD>k<00>A<00><00>G<00><,z<>D<EFBFBD><44>B<EFBFBD>[ho<12>o<EFBFBD><6F>U<00>A<00><00>
*@?6<00><00>M<00><>W<EFBFBD>>AD<41><44>C<EFBFBD>^_)<00><00>Mj<00>A<00><00>GS<>9 <0C>C<EFBFBD>{T,b:H<1A><1E><>a<EFBFBD>k<00>A<00><00>Gۙ<DB99><7F><EFBFBD><EFBFBD><07>e<EFBFBD>/<2F><>8AN+<2B>c<EFBFBD>U<00>A<00><00>G4<>"3 <0C><><EFBFBD><EFBFBD>բ<EFBFBD>wr<77>w#<06><><00>$<00>+!"# 7<00><00>M<0E>Fc<46><63><EFBFBD>M<EFBFBD>G<EFBFBD><47>3<EFBFBD><33>)<00><00>Mj<00>A<00><00>G<00>^<5E><>r<EFBFBD><72><EFBFBD>D<EFBFBD><44><EFBFBD><EFBFBD>S<EFBFBD><07><><EFBFBD><EFBFBD><EFBFBD>k<00>A<00><00>G<00><,z<>D<EFBFBD><44>B<EFBFBD>[ho<12>o<EFBFBD><6F>U<00>-<00><00>G<00><00><00><00>'4<00>p<00>4(5)6*7+> !"#?@;I<00>M<00><><EFBFBD><EFBFBD>s<1F>I<EFBFBD><49><EFBFBD><EFBFBD><05>A<EFBFBD><41>S<00>M(<28>2h}<7D>I<EFBFBD><49><EFBFBD>`<60>Wδ@<00>M%FP-<2D><>E@<40>1<01> s<00>M(<28>2h}<7D>I<EFBFBD><49><EFBFBD>`<60>Wδr<00>M<00><><19>5<EFBFBD>"׋^)<29>D<EFBFBD> N<00><00>N<00><00><00><00>M>?<3F><><EFBFBD><EFBFBD><EFBFBD>B<EFBFBD>ֱh<D6B1>\<5C><>)<00><00>Mj<00>A<00><00>G<00>h)<29><><1A><>r<EFBFBD><72><EFBFBD><0F><><EFBFBD>><3E><><EFBFBD><EFBFBD>k<00>A<00><00>G<00>qQ<00>/<x<><78><EFBFBD><EFBFBD><EFBFBD>[<5B><><06>q<EFBFBD>U<00>A<00><00>G<00>9<EFBFBD><39>^kK 2U<32><55><EFBFBD>`<18><><EFBFBD> <09><00><00>,8<00><00>M.<2E><10><>s\C<><12>]9<><39>)<00><00>Mj<00>A<00><00>G6K=s<>f<EFBFBD><66>=%<25><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>c<EFBFBD>E<EFBFBD>k<00>A<00><00>G9} <>M<EFBFBD>%
<EFBFBD>ܡo><3E><>U<00>A<00><00>G-C` <0A><><EFBFBD>L<13>u<x<1D>W'<27><<3C><00>$<00>-$%<A&9<00>'4<00>0<00> 8,9-$%&A<I<00>M<00>"<22>ʹ<EFBFBD>@<40>R<EFBFBD><EFBFBD>%<25>R<00>n<00>NE<00>N<00>M<00><><EFBFBD><EFBFBD>F<EFBFBD><>/v<><76><00>R<00>n<00>NE<00>N<00>M<00>'f?<3F><19>E<EFBFBD>N<14>l<EFBFBD><6C><EFBFBD><EFBFBD><00><00><00><00><00><00><00><00><00><00>z<><7A><EFBFBD><EFBFBD><00>><00>c<00>j<00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>j<00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>v<00><00>?<00>?<00>?n<00>s=<00>>) <00>C<00>"<00>4<00><00>"<00>4<00><00><00>"<00>4<00>x<00>"<00>4<00><00><00>"<00>4<00><00><00>"<00>4<00><00><00>"<00>4<00>[<00><00><00>m<00>n<00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00> <00>j<00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>6<00>n<00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00><00><00>M<00><>wT<77>K.<2E><>h6v<36>><3E>A<EFBFBD><00>M<00><>[<5B><>P}@<40><>5<11>=<3D><0E><00>f<00><00>M<00>.<2E>r"RL<52><4C>7<EFBFBD>i<EFBFBD><69><01><00><00> Shell_Eject<00>)S<00>M#3K<33><4B>}<7D>I<EFBFBD><49><0E><>j<18><>lp<><70><EFBFBD><EFBFBD><00>M<00><><EFBFBD>N*
SK<EFBFBD><EFBFBD><EFBFBD><EFBFBD>FP%<25><1C><>z<>2K<32><4B><14><>&<26>+<1C><>z<>2K<32><4B><14><>&<26>+`<00><00><><EFBFBD><EFBFBD><00><00>}<7D><><EFBFBD><00><00>,_<><00><>.F<>o<0F>}Z?<00><>2 (<28>E<EFBFBD> <0C>ʄ<EFBFBD><CA84>X<00><>2 (<28>E<EFBFBD> <0C>ʄ<EFBFBD><CA84>X<EFBFBD><00><00><><EFBFBD><EFBFBD><01><00>}<7D><><EFBFBD><00><00>8<16><>-/<2F>KL<4B>B<EFBFBD>GWɈ@<00>f<00><00>M<00>.<2E>r"RL<52><4C>7<EFBFBD>i<EFBFBD><69><01><00><00> Shell_Eject<00>)S<00>M<00>ws$83H<>K<EFBFBD>qL<>lp<><70><EFBFBD><EFBFBD>l<00><00><00>Mz<><7A>b<EFBFBD>ߴO<DFB4><4F>D<EFBFBD><44>%<25><><EFBFBD><00><0F><18><><@<40>9<EFBFBD><39><EFBFBD>3DN<00><0F><18><><@<40>9<EFBFBD><39><EFBFBD>3DN`<00><00><><EFBFBD><EFBFBD><00><00>}<7D><><EFBFBD><00><00>&ό<07><>
~A<><41><EFBFBD><18><1C>F0<14>B<|F<>(<28><><EFBFBD> <20><>0<14>B<|F<>(<28><><EFBFBD> <20><><EFBFBD><00><00><><EFBFBD><EFBFBD><01><00>}<7D><><EFBFBD><00><00>9y<><79>͠j<CDA0>D<EFBFBD>K<EFBFBD>@<40>׮<EFBFBD>D<00><00><><EFBFBD><EFBFBD>I<00>M<00><><EFBFBD><EFBFBD>?J<>&/<2F> <0A>/C<00>InitializeParticle5<00>h<00><00>%6<><36><EFBFBD>#I<>d<EFBFBD><64><EFBFBD>t<EFBFBD>W<EFBFBD>Ay<41><79>e-<2D>H<EFBFBD>}lyjM<6A><4D>4<05><>D<EFBFBD>C<EFBFBD><43>F<EFBFBD><46><EFBFBD><EFBFBD>CB<00><1D><><EFBFBD><EFBFBD>}B<><42>S<EFBFBD><53>F<EFBFBD>3WS<00>M+dεR<CEB5>O<>F<EFBFBD><46>liNW<4E>l<00><><EFBFBD><EFBFBD><EFBFBD>l<00><00><00>M<00><>U<EFBFBD>j_ J<><4A>V<EFBFBD><56>mi<><00>Њ<EFBFBD><D08A><<3C>J<EFBFBD><4A>.<2E>+!#<23><00>Њ<EFBFBD><D08A><<3C>J<EFBFBD><4A>.<2E>+!#<23>`<00><00><><EFBFBD><EFBFBD><00><00>}<7D><><EFBFBD><00><00>@<00>o<EFBFBD><05>.L<>.<2E>fABF#<23><><EFBFBD><EFBFBD><EFBFBD>AJ<41><4A><EFBFBD>K<EFBFBD><4B>4<EFBFBD>#<23><><EFBFBD><EFBFBD><EFBFBD>AJ<41><4A><EFBFBD>K<EFBFBD><4B>4<EFBFBD> <00><00><><EFBFBD><EFBFBD><00><00><00><><EFBFBD><EFBFBD><00>falsefalse<00><00><><EFBFBD><10><>?@<40><><EFBFBD>g<>%<25><00><00>V<<19>K<EFBFBD>a<EFBFBD>K&=<00><00>V<<19>K<EFBFBD>a<EFBFBD>K&= <00><00><><EFBFBD><EFBFBD><00><00><00><><EFBFBD><EFBFBD><00>truetrue<00><00><><13><><EFBFBD><EFBFBD>E<EFBFBD><45>0i<30><69><16><00><>\<5C>K<EFBFBD>jO<6A>(<28><><EFBFBD><00><>\<5C>K<EFBFBD>jO<6A>(<28><><EFBFBD><00><00><><EFBFBD><EFBFBD><00><00><00><><EFBFBD><EFBFBD><00>falsefalse<00><10><>q.<2E>bJ<62><4A><EFBFBD><EFBFBD>~:<3A>%<00>YJ{u<><75>A<EFBFBD>'<27><><EFBFBD>f<1B><00>YJ{u<><75>A<EFBFBD>'<27><><EFBFBD>f<1B><00><00><><EFBFBD><EFBFBD><00><00><00><><EFBFBD><EFBFBD><00>falsefalse<00>U/<2F>><3E><07>G<EFBFBD>G<EFBFBD>ß<EFBFBD>G<EFBFBD><00>~q<1F><1E>C<EFBFBD><43>L<EFBFBD><4C>J<EFBFBD>u<00>~q<1F><1E>C<EFBFBD><43>L<EFBFBD><4C>J<EFBFBD>ug<00><00><><EFBFBD><EFBFBD>(<00>m<><6D><EFBFBD><00>NewEnumerator1NewEnumerator1<00><00>!s<><73>Z<EFBFBD>E<EFBFBD>+8<>t<EFBFBD>Ƒw<><77><EFBFBD>$;@<40>.<2E>M9Oyw<><77><EFBFBD>$;@<40>.<2E>M9Oyh<00><00><><EFBFBD><EFBFBD>(<00>y<><79><EFBFBD><00>NewEnumerator0NewEnumerator1<00><00><01>ǰ<EFBFBD>1L<31>{<7B> <0B>y<EFBFBD>,<00>(:<3A><>1<EFBFBD>C<EFBFBD><43>b<EFBFBD>s6$<00>(:<3A><>1<EFBFBD>C<EFBFBD><43>b<EFBFBD>s6$i<00><00><><EFBFBD><EFBFBD>(<00>e<><65><EFBFBD><00>NewEnumerator0NewEnumerator0<00>գ<1D><><EFBFBD>-N<><4E>\5h<35><68>A<00>&R<><52><1B>G<EFBFBD><07>w<EFBFBD><77>Į<00>&R<><52><1B>G<EFBFBD><07>w<EFBFBD><77>Į}<00><00><><EFBFBD><EFBFBD>(<00>t<><74><EFBFBD><00>NewEnumerator0NewEnumerator0<00><00>LmKV<4B><56>@<40><1E>.<2E><>z)|<7C>.v<><76>H<EFBFBD>f<EFBFBD>9<EFBFBD>`<60>|<7C>.v<><76>H<EFBFBD>f<EFBFBD>9<EFBFBD>`<60>~<00><00><><EFBFBD><EFBFBD>(<00>e<><65><EFBFBD><00>NewEnumerator0NewEnumerator0<00>;<3B>m˥m<CBA5>C<EFBFBD><43>E<EFBFBD><45><19><><00><><EFBFBD><EFBFBD><EFBFBD>K<EFBFBD>M<EFBFBD><4D><EFBFBD><14><><EFBFBD>8<00><><EFBFBD><EFBFBD><EFBFBD>K<EFBFBD>M<EFBFBD><4D><EFBFBD><14><><EFBFBD>8<EFBFBD><00><00><><EFBFBD><EFBFBD>(<00>s<><73><EFBFBD><00>NewEnumerator0NewEnumerator0<00><00><>Da<1E><>M<EFBFBD><4D><EFBFBD><1C>\n<>9<>K<EFBFBD><4B>%G<><47><EFBFBD><EFBFBD>9<>K<EFBFBD><4B>%G<><47><EFBFBD>ʋ<00><00><><EFBFBD><EFBFBD>(<00>e<><65><EFBFBD><00>NewEnumerator0NewEnumerator0<00>w~<7E>OFUE<55><45><EFBFBD><EFBFBD><EFBFBD>x<EFBFBD>]|<7C><>O<><4F>e}<05>L|<7C><>O<><4F>e}<05>L<EFBFBD><00><00><><EFBFBD><EFBFBD>(<00>a<><61><EFBFBD><00>NewEnumerator0NewEnumerator0<00>|g<>zZ<7A> I<>8wy<77>#<23>~><3E><><EFBFBD>y[$N<>A<EFBFBD><41><EFBFBD>3~-><3E><><EFBFBD>y[$N<>A<EFBFBD><41><EFBFBD>3~-<2D><00><00><><EFBFBD><EFBFBD>(<00>q<><71><EFBFBD><00>NewEnumerator4NewEnumerator0<00>%6<><36><EFBFBD>#I<>d<EFBFBD><64><EFBFBD>t<EFBFBD>WQ,<2C><>ے<EFBFBD>E<EFBFBD><45>H<EFBFBD>lu+<2B>Q,<2C><>ے<EFBFBD>E<EFBFBD><45>H<EFBFBD>lu+˔<00><00><><EFBFBD><EFBFBD>(<00>e<><65><EFBFBD><00>NewEnumerator0NewEnumerator0<00><1D><>7<13><>J<EFBFBD><4A>><1B>K<EFBFBD><4B>۔]3<><33>N<EFBFBD>ܥ]L<><4C>_۔]
C<00>InitialMeshOrientation5<00>8<00><00><00>S;<3B><>XA<58><41>{sc6X<36><58><00><><08>h<EFBFBD><68>C<EFBFBD>ϧ<EFBFBD>Gr<17><>S<00>M<00>Wx{: <20>H<EFBFBD><48>N<>}U<1E>l<00><><EFBFBD><EFBFBD><EFBFBD>l<00><00><00>M<00><1C><>A<EFBFBD>I@<40><><EFBFBD>RFF<46>Y<><59><EFBFBD>?DAM<41><4D><EFBFBD>%<25><>q<EFBFBD>Y<><59><EFBFBD>?DAM<41><4D><EFBFBD>%<25><>q<EFBFBD>`<00><00><><EFBFBD><EFBFBD><00><00>}<7D><><EFBFBD><00><00>B<>ת’<D7AA>H<EFBFBD>U{%<25><>T<EFBFBD><00>,<2C>c<EFBFBD><63><EFBFBD>E<EFBFBD>B"<22>$<24><><00>,<2C>c<EFBFBD><63><EFBFBD>E<EFBFBD>B"<22>$<24><><EFBFBD><00><00><><EFBFBD><EFBFBD>(<00>`<60><><EFBFBD><00>NewEnumerator2NewEnumerator0<00><00>S;<3B><>XA<58><41>{sc6X<36><00><>'<27><04>uO<75>U<03>w<EFBFBD>{<00><>'<27><04>uO<75>U<03>w<EFBFBD>{<7B><00><00><><EFBFBD><EFBFBD>(<00><00><><EFBFBD><EFBFBD><00>Local Simulation<00><00><><08>h<EFBFBD><68>C<EFBFBD>ϧ<EFBFBD>Gr<17>4<><34>$<24><>M<><4D>,<2C>p<>4<><34>$<24><>M<><4D>,<2C>p<>o<00><00><><EFBFBD><EFBFBD>(<00>g<><67><EFBFBD><00>NewEnumerator3NewEnumerator3<00><00><16>g <09>D<EFBFBD><44>Ov<><76>`RI<13>E<EFBFBD>IJ<49><4A><EFBFBD><EFBFBD>ҭC<D2AD>RI<13>E<EFBFBD>IJ<49><4A><EFBFBD><EFBFBD>ҭC<D2AD><00><00><><EFBFBD><EFBFBD><00><00><00><><EFBFBD><EFBFBD><00>falsefalse<00><00>j<EFBFBD><6A>t<EFBFBD><74>L<EFBFBD><4C>v<EFBFBD>
q<00><0E><><EFBFBD>{TF<54><46>J<EFBFBD><4A>585<00><0E><><EFBFBD>{TF<54><46>J<EFBFBD><4A>585<38><00><00><><EFBFBD><EFBFBD><01><00>}<7D><><EFBFBD><00><00>/Y<><0E><>bN<62>գ <20><>VKD<00><00><><EFBFBD><EFBFBD>I<00>MQ<>c<EFBFBD>;<3B>0D<30> Dr <0B>[C<00>AddVelocityInConeS<00>M7i<37><69>:<3A>@<40>kP܅<1F><>lP<><50><EFBFBD><EFBFBD>l<00><00><00>M<00>ܥT<DCA5><54><EFBFBD>A<EFBFBD><41><12><><EFBFBD><EFBFBD>o<EFBFBD>/Y<><0E><>bN<62>գ <20><>VK/Y<><0E><>bN<62>գ <20><>VK`<00><00><><EFBFBD><EFBFBD><00><00>}<7D><><EFBFBD><00><00><00><0E><><EFBFBD>{TF<54><46>J<EFBFBD><4A>585<00><v<1C>)!C<>iN<69>8 <1C><00><v<1C>)!C<>iN<69>8 <1C><><00><00><><EFBFBD><EFBFBD><01><00>}<7D><><EFBFBD><00><00>?,<2C><>Z[E<><45><EFBFBD><EFBFBD><EFBFBD><EFBFBD>{<7B><00>kA<6B>1fK<>l#=<3D>;<3B><>D<00><00><><EFBFBD><EFBFBD>I<00>M <20>V<EFBFBD>Π<EFBFBD>E<EFBFBD> <0B><>=<3D><>'C<00>%!SolveRotationalForcesAndVelocityS<00>MR&:\<5C>!]O<><4F><EFBFBD>*>C.<2E>lp<><70><EFBFBD><EFBFBD>l<00>&4-l,<00>d`Function call "SolveRotationalForcesAndVelocity" is deprecated. No recommendation was provided.<00><00>M<00>4:W<>lHF<48>%<25><>Qhy<68><79><00><><EFBFBD><EFBFBD>><3E><>B<EFBFBD><42><EFBFBD><EFBFBD>,+<2B><><00><><EFBFBD><EFBFBD>><3E><>B<EFBFBD><42><EFBFBD><EFBFBD>,+<2B><>`<00><00><><EFBFBD><EFBFBD><00><00>}<7D><><EFBFBD><00><00> <00>s<EFBFBD><73>,<11>D<EFBFBD>жP<11><<3C><00>;<3B>$0<>@<40><>t<>xk<78><00>;<3B>$0<>@<40><>t<>xk<78><6B><00><00><><EFBFBD><EFBFBD><01><00>}<7D><><EFBFBD><00><00>7y<><79>}7<><37>B<EFBFBD>.<2E>ތF<DE8C>}D<00><00><><EFBFBD><EFBFBD>I<00>MI<>p<EFBFBD><70>)L<><4C>v<EFBFBD><76><EFBFBD><EFBFBD><EFBFBD>C<00>AddRotationalVelocity5<00> <00><00>d.WT<57>*xC<78>)<29><1C><>\<5C>S<00>M]<04><>Pt<50>A<EFBFBD>8<EFBFBD><1C>0d<>lp<><70><EFBFBD><EFBFBD>l<00><00><00>M<00><>y<EFBFBD>-P|G<><47><EFBFBD><EFBFBD>Q6<13>0<>B)<29>6<EFBFBD>D<EFBFBD><44><EFBFBD>v<*<2A>q0<>B)<29>6<EFBFBD>D<EFBFBD><44><EFBFBD>v<*<2A>q`<00><00><><EFBFBD><EFBFBD><00><00>}<7D><><EFBFBD><00><00>?<00><>dZH<><48>4<EFBFBD>[r<10>,<1F>i<EFBFBD>WD<57>-k<><6B>ɧ<EFBFBD>,<1F>i<EFBFBD>WD<57>-k<><6B>ɧ<EFBFBD><C9A7><00><00><><EFBFBD><EFBFBD>(<00>g<><67><EFBFBD><00>NewEnumerator0NewEnumerator0<00><00>n}@<0F>6H<36>bk<06>n<00><>m<EFBFBD><6D><EFBFBD>=H<>Q<0E><><EFBFBD>Ex<00><>m<EFBFBD><6D><EFBFBD>=H<>Q<0E><><EFBFBD>Ex<45><00><00><><EFBFBD><EFBFBD><01><00>}<7D><><EFBFBD><00><00>6<00><><EFBFBD><EFBFBD><EFBFBD>!<21>I<EFBFBD><49>(P<>D<00><00><><EFBFBD><EFBFBD>I<00>M<00><>g<EFBFBD>ύEG<45>]<5D>X<EFBFBD><58><EFBFBD>C<00>RandomRangeVectorS<00>M<00><><C4B7><EFBFBD>D<EFBFBD>̨<EFBFBD><CCA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>lP<><50><EFBFBD><EFBFBD>l<00><00>MNC<4E>;<3B>`E<><45><0F><>Ё<18><00>kA<6B>1fK<>l#=<3D>;<3B><><00>kA<6B>1fK<>l#=<3D>;<3B><>`<00><00><><EFBFBD><EFBFBD><00><00>}<7D><><EFBFBD><00><00><00><v<1C>)!C<>iN<69>8 <1C>|<7C><><EFBFBD>R<EFBFBD><52>I<EFBFBD>z><3E>H
(|<7C><><EFBFBD>R<EFBFBD><52>I<EFBFBD>z><3E>H
(.<00><00><><EFBFBD><EFBFBD>(<00>f<><66><EFBFBD><00>NewEnumerator0NewEnumerator0<00><00><17>,J<>'3<><33>C]<5D><00>9 ><3E><>B<EFBFBD>f0"<22><16><><00>9 ><3E><>B<EFBFBD>f0"<22><16><>6<00><00><><EFBFBD><EFBFBD><00><00><00><><EFBFBD><EFBFBD><00>falsefalse<00>w<><EFBFBD><E8B39D>O<EFBFBD><4F><EFBFBD><EFBFBD>B6<42>(<00>v:*<2A>`C<><43>g<EFBFBD><08>t<00>v:*<2A>`C<><43>g<EFBFBD><08>t<><00><00><><EFBFBD><EFBFBD><00><00><00><><EFBFBD><EFBFBD><00>falsefalse<00><00><><E593B8>L<EFBFBD>D<EFBFBD><07><>g<EFBFBD>xV|b<>)JO<4A>eEZ<45>`Z<>xV|b<>)JO<4A>eEZ<45>`Z<>P<00><00><><EFBFBD><EFBFBD>(<00>e<><65><EFBFBD><00>NewEnumerator0NewEnumerator0<00><00><>'<27><>@<40>L<EFBFBD><4C><EFBFBD>X<EFBFBD><58><EFBFBD><EFBFBD>y<>[ <0B>pmH<6D><48>z8<><38><EFBFBD>y<>[ <0B>pmH<6D><48>z8<><38><EFBFBD>S<00><00><><EFBFBD><EFBFBD><00><00><00><><EFBFBD><EFBFBD><00>truetrue<00><00><>.a_&<26>F<EFBFBD>+<2B>#<23>B!<21>8LсZ<D181>N<EFBFBD><4E>p<EFBFBD> <0A><>8LсZ<D181>N<EFBFBD><4E>p<EFBFBD> <0A><><1F><00><00><><EFBFBD><EFBFBD><01><00><00><><EFBFBD><EFBFBD><00><00>?<00>EޕKŜD<C59C>u<>?<3F>rnD<00><00><><EFBFBD><EFBFBD><EFBFBD><00>Mh, <0F><>H<><48><EFBFBD>pB<70> I<00>M:jcĐ9@<40> <0C><><EFBFBD>z<EFBFBD>C<00>InheritVelocity5<00> <00><00><<3C>i<>M<EFBFBD><4D>:rY#<23>d<EFBFBD>S<00>M{<7B><><EFBFBD>xfbB<62><42><EFBFBD><11><><EFBFBD><EFBFBD><EFBFBD>l0<><30><EFBFBD><EFBFBD>l<00><00><00>M<1C>$<24>$<24><>O<EFBFBD><4F>{%<25>J<EFBFBD><4A><EFBFBD><00> <20><>o<12>G<EFBFBD>:<3A>Tt<00> <20><>o<12>G<EFBFBD>:<3A>Tt`<00><00><><EFBFBD><EFBFBD><00><00>}<7D><><EFBFBD><00><00>)C<19><>$I<><49>f<EFBFBD><04>'<27><00><08>JdrFM<46><4D><<3C>z<EFBFBD>Θ<00><08>JdrFM<46><4D><<3C>z<EFBFBD>Θ<EFBFBD><00><00><><EFBFBD><EFBFBD><00><00><00><><EFBFBD><EFBFBD><00>falsetrue<00><<3C>i<>M<EFBFBD><4D>:rY#<23>d<00><08>4<EFBFBD> <09>A<EFBFBD><41>R *<2A>i<00><08>4<EFBFBD> <09>A<EFBFBD><41>R *<2A>i <00><00><><EFBFBD><EFBFBD><00><00><00><><EFBFBD><EFBFBD><00>falsefalse<00><00><>0&֠K<><4B>RQ0<51><17>B<>ת’<D7AA>H<EFBFBD>U{%<25><>T<EFBFBD>B<>ת’<D7AA>H<EFBFBD>U{%<25><>T<EFBFBD><54><00><00><><EFBFBD><EFBFBD><01><00>}<7D><><EFBFBD><00><00>Y<><59><EFBFBD>?DAM<41><4D><EFBFBD>%<25><>q<EFBFBD>D<00><00><><EFBFBD><EFBFBD>I<00>M<00><14>ٲ<EFBFBD>E<EFBFBD><45>9M<39>ȅ<EFBFBD>C<00>SpawnPerFrame5<00>(<00><00> <00>.<2E>Ak7J<37> k<><06><><EFBFBD>A~'H<>@w<>$
<EFBFBD><EFBFBD><EFBFBD>Pw<50>=#N<>K<EFBFBD>85X<35>Ӣ<EFBFBD><D3A2>_<><5F><EFBFBD>ef$N<>b<EFBFBD><62><EFBFBD>:{<7B>0m~s<18>I<EFBFBD><49>d<EFBFBD><64>vy<76><79><00>}<7D><><EFBFBD>"B<><42>W<EFBFBD><57>F<><46>"U\JM'N<><4E><EFBFBD>,<2C>.81<EFBFBD><00><>l<19><>>N<>c<EFBFBD><63><EFBFBD><EFBFBD>_<EFBFBD><5F>kK<6B>_5<5F>M<EFBFBD>-<2D>ch<63>)(<28>^^<5E><1D>7<EFBFBD>J<EFBFBD><4A><EFBFBD><EFBFBD>G<EFBFBD>-<2D>6e]{cC<63><43>5<EFBFBD>.6y<EFBFBD>#<23><>(ew<65>]v<1B><><EFBFBD>H<EFBFBD>S<00>M<00>8<EFBFBD>i<12> I<>i<><69>d!<>l<00><><EFBFBD><EFBFBD><EFBFBD>l<00>&4-l<00><00>M<00>1rWB<>؎<EFBFBD>aj8<6A><38>\_<><5F>m<EFBFBD><6D>D<EFBFBD><44><EFBFBD>8<EFBFBD>Dg\_<><5F>m<EFBFBD><6D>D<EFBFBD><44><EFBFBD>8<EFBFBD>Dg`<00><00><><EFBFBD><EFBFBD><00><00>}<7D><><EFBFBD><00><00>>e<><65>/<2F><><EFBFBD>D<EFBFBD><44><0E><>0f<00>#<23>,<2C><1A>O<EFBFBD><4F>M<EFBFBD><4D>ܱ^<00>#<23>,<2C><1A>O<EFBFBD><4F>M<EFBFBD><4D>ܱ^<00><00><><EFBFBD><EFBFBD><00><00><00><><EFBFBD><EFBFBD><00>falsefalse<00><00><><EFBFBD><EFBFBD>P<>Y<01><1B><><EFBFBD>Q<EFBFBD><00>C4:<3A><>ZF<5A>bG<62><47><EFBFBD><EFBFBD>?<00>C4:<3A><>ZF<5A>bG<62><47><EFBFBD><EFBFBD>?<3F><00><00><><EFBFBD><EFBFBD><01><00>}<7D><><EFBFBD><00><00>ڳ!n<>q<EFBFBD>B<EFBFBD>՛<EFBFBD> ]<5D><>D<00><00><><EFBFBD><EFBFBD>I<00>Ml<><6C>^<5E><><EFBFBD>I<EFBFBD><49><05>%Z<19>C<00> EmitterState5<00><00><00><00>
C<EFBFBD>D<EFBFBD><EFBFBD><G<><47>=4K<14><>3<><33><EFBFBD>˭
E<EFBFBD>/|<1A> <02><00>3%<25>6<>J<EFBFBD>t<EFBFBD><74>ͣ<EFBFBD>K<EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>:<3A><>A<EFBFBD>eYr2<72><32><16>A<><41><EFBFBD>V*XJ<58><4A> 9b<18><><EFBFBD>S<00>MrG<72><47><EFBFBD>=~D<>$%<25>W<EFBFBD><57>i<EFBFBD>l<00><><EFBFBD><EFBFBD><EFBFBD>l<00>G$%<00><00>M<00>4<EFBFBD><34>o<EFBFBD><6F>N<EFBFBD><4E><EFBFBD>h<>B<EFBFBD><42> <00><>{ɾ&+A<><1B>b<EFBFBD>"<22><><00><>{ɾ&+A<><1B>b<EFBFBD>"<22><>`<00><00><><EFBFBD><EFBFBD><00><00>}<7D><><EFBFBD><00><00>)<00>9<EFBFBD>K<17><>H<EFBFBD><48><EFBFBD> <0B><>9<EFBFBD><00><>gq<67><71><EFBFBD>O<EFBFBD>;<0F>[<5B>6<EFBFBD><00><>gq<67><71><EFBFBD>O<EFBFBD>;<0F>[<5B>6<EFBFBD>z<00><00><><EFBFBD><EFBFBD>U<00><00><><EFBFBD><EFBFBD><00><00><00>39<17><>G<EFBFBD>6<15>pS<00>39<17><>G<EFBFBD>6<15>pS<70><00><00><><EFBFBD><EFBFBD><00><00><00><><EFBFBD><EFBFBD><00>falsefalse<00><00>`<60>><3E><><EFBFBD>C<EFBFBD><43><EFBFBD>Y<EFBFBD><1B><>P<><50>G)<29>C<EFBFBD><43><EFBFBD><EFBFBD>PӟP<><50>G)<29>C<EFBFBD><43><EFBFBD><EFBFBD>Pӟ<7F><00><00><><EFBFBD><EFBFBD><00><00><00><><EFBFBD><EFBFBD><00>falsefalse<00><00><13><>3<EFBFBD>gN<67><4E><EFBFBD>B<EFBFBD><42><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD>*<2A><>@<40><>I<EFBFBD>Ǘ<><00><><EFBFBD><EFBFBD>*<2A><>@<40><>I<EFBFBD>Ǘ<>T<00><00><><EFBFBD><EFBFBD>(<00>h<><68><EFBFBD><00>NewEnumerator0NewEnumerator0<00>A<><41><EFBFBD>V*XJ<58><4A> 9b<18><><00> 0-/Q\K<><4B>G<EFBFBD><47><0F><><00> 0-/Q\K<><4B>G<EFBFBD><47><0F><>{<00><00><><EFBFBD><EFBFBD>(<00>k<><6B><EFBFBD><00>NewEnumerator0NewEnumerator0<00>
C<EFBFBD>D<EFBFBD><EFBFBD><G<><47>=4K<14> <20><><1C>
AE<EFBFBD>a<><61>"E<> <20><><1C>
AE<EFBFBD>a<><61>"E<><45><00><00><><EFBFBD><EFBFBD>(<00>w<><77><EFBFBD><00>NewEnumerator0NewEnumerator0<00><00>3%<25>6<>J<EFBFBD>t<EFBFBD><74>ͣ<EFBFBD>K<00>F<EFBFBD>[k<>>D<>y<EFBFBD><79>:n<00>F<EFBFBD>[k<>>D<>y<EFBFBD><79>:n<><00><00><><EFBFBD><EFBFBD>(<00>u<><75><EFBFBD><00>NewEnumerator1NewEnumerator0<00>
<EFBFBD><EFBFBD><EFBFBD>:<3A><>A<EFBFBD>eYr2<72><32>2?ͧ$)K<>Y<EFBFBD><08><><EFBFBD>2?ͧ$)K<>Y<EFBFBD><08><><EFBFBD>t<00><00><><EFBFBD><EFBFBD>(<00>j<><6A><EFBFBD><00>NewEnumerator0NewEnumerator0<00>3<><33><EFBFBD>˭
E<EFBFBD>/|<1A> <15>
@<40>dL<>"<22><>d<EFBFBD><64><EFBFBD><15>
@<40>dL<>"<22><>d<EFBFBD><64><EFBFBD>w<00><00><><EFBFBD><EFBFBD><00><00><00><><EFBFBD><EFBFBD><00>falsefalse<00><00>R<EFBFBD><15><><EFBFBD>L<EFBFBD>'<27><>%<25><<3C>o|ʰ-[E<><45>3Q&
<EFBFBD>o|ʰ-[E<><45>3Q&
<EFBFBD><00><00><><EFBFBD><EFBFBD><00><00><00><><EFBFBD><EFBFBD><00>falsefalse<00>y<>ўMK<4D>x<12><EFBFBD><00><>;<3B>ΕG<CE95><47><EFBFBD><EFBFBD>bT<62>8<00><>;<3B>ΕG<CE95><47><EFBFBD><EFBFBD>bT<62>8<EFBFBD><00><00><><EFBFBD><EFBFBD><01><00>}<7D><><EFBFBD><00><00>><00>X._p<5F>HE<48>f<EFBFBD>,<2C>YJ;<00><>ZH<5A>JSJ<53><4A>(<1B><>NnD<00><00><><EFBFBD><EFBFBD>I<00>M<00>*<2A><>q<EFBFBD>J<EFBFBD><4A><EFBFBD><EFBFBD>q`C<00>
SpawnRateS<00>M<00><>Ȁ<EFBFBD>ׁH<D781><48>$O w"<22>lp<><70><EFBFBD><EFBFBD>l<00><00>)&'C4<00><00>MU<16><><1C>JO<4A>W/wl<<3C><>ڳ!n<>q<EFBFBD>B<EFBFBD>՛<EFBFBD> ]<5D><>ڳ!n<>q<EFBFBD>B<EFBFBD>՛<EFBFBD> ]<5D><>`<00><00><><EFBFBD><EFBFBD><00><00>}<7D><><EFBFBD><00><00><00>C4:<3A><>ZF<5A>bG<62><47><EFBFBD><EFBFBD>?ø(<28><>{<7B>F<EFBFBD><46>X{<7B><>lø(<28><>{<7B>F<EFBFBD><46>X{<7B><>l<00><00><><EFBFBD><EFBFBD><00><00><00><><EFBFBD><EFBFBD><00>falsefalse<00>^p<><70>T<EFBFBD>D<EFBFBD><44>xF<78> <09><04><>T<><54>O<EFBFBD>+<2B>!<21>Qz<51><04><>T<><54>O<EFBFBD>+<2B>!<21>Qz<51><7A><00><00><><EFBFBD><EFBFBD><01><00>}<7D><><EFBFBD><00><00>5<00>H<13>P<EFBFBD>K<>t<EFBFBD><74><EFBFBD>~<7E><>D<00><00><><EFBFBD><EFBFBD><EFBFBD><00>Mk<><6B><EFBFBD>w<EFBFBD><77>G<EFBFBD>l:<3A><13>=*I<00>M<00><>ZM|<7C>A<EFBFBD><41>L<EFBFBD><4C>~3mC<00>SolveForcesAndVelocityS<00>M7<1D>1B<31><42><EFBFBD>͌/<2F>l<00><><EFBFBD><EFBFBD><EFBFBD>l<00><00><00>M}<7D><>'r<>N<EFBFBD><14>W׃)<29> %<25><><EFBFBD><EFBFBD><EFBFBD>H<><1E><><15><> %<25><><EFBFBD><EFBFBD><EFBFBD>H<><1E><><15><>`<00><00><><EFBFBD><EFBFBD><00><00>}<7D><><EFBFBD><00><00>#]<5D><>'mG<>Yt <0C>8 <00>F<>l
<EFBFBD>B<EFBFBD> 6Sw<53><77>T <00>F<>l
<EFBFBD>B<EFBFBD> 6Sw<53><77>TT<00><00><><EFBFBD><EFBFBD><00><00><00><><EFBFBD><EFBFBD><00>falsefalse<00><00>XO<15>LN<4C><4E><EFBFBD>}=<3D><><EFBFBD> <00><>
<EFBFBD><EFBFBD><EFBFBD>I<EFBFBD><EFBFBD><EFBFBD><EFBFBD><15>s<EFBFBD> <00><>
<EFBFBD><EFBFBD><EFBFBD>I<EFBFBD><EFBFBD><EFBFBD><EFBFBD><15>s<EFBFBD><00><00><><EFBFBD><EFBFBD><00><00><00><><EFBFBD><EFBFBD><00>falsefalse<00>F<>>_<18>I<EFBFBD><49>!'"<22>]$ Շ<><D587><EFBFBD>F<EFBFBD>@<40>z<><7A>4<EFBFBD> Շ<><D587><EFBFBD>F<EFBFBD>@<40>z<><7A>4<EFBFBD>p<00><00><><EFBFBD><EFBFBD><00><00><00><><EFBFBD><EFBFBD><00>truetrue<00>ȯ<>)<29>ٖ@<40>4<EFBFBD>`0<1F> M<04>$9<>@<40>ƒ<EFBFBD><C692><EFBFBD><EFBFBD> M<04>$9<>@<40>ƒ<EFBFBD><C692><EFBFBD><EFBFBD>(<00><00><><EFBFBD><EFBFBD><00><00><00><><EFBFBD><EFBFBD><00>truetrue<00><00><><EFBFBD><00>L<EFBFBD>O<EFBFBD><4F><06><><EFBFBD><EFBFBD>K <00>s<EFBFBD><73>,<11>D<EFBFBD>жP<11><<3C> <00>s<EFBFBD><73>,<11>D<EFBFBD>жP<11><<3C><><00><00><><EFBFBD><EFBFBD><01><00>}<7D><><EFBFBD><00><00><00><><EFBFBD><EFBFBD>><3E><>B<EFBFBD><42><EFBFBD><EFBFBD>,+<2B><>D<00><00><><EFBFBD><EFBFBD>I<00>M<00><>+O<><4F><EFBFBD>A<EFBFBD><41><EFBFBD>1<08><><EFBFBD>C<00> GravityForceS<00>M<00><10><8<><38>O<EFBFBD><4F>̔<EFBFBD>Z<EFBFBD>-<2D>l0<><30><EFBFBD><EFBFBD>l<00><00><00>M <0A>2 <20><><EFBFBD>A<EFBFBD><41><EFBFBD><EFBFBD>^ӈ@<40>!_@c<13><>I<EFBFBD><49>m<EFBFBD><6D>j3b!_@c<13><>I<EFBFBD><49>m<EFBFBD><6D>j3b`<00><00><><EFBFBD><EFBFBD><00><00>}<7D><><EFBFBD><00><00><00>lWB<57><42><EFBFBD>5$<24>0<EFBFBD>!yp^`C<>B<EFBFBD><42>U`<60> <09>!yp^`C<>B<EFBFBD><42>U`<60> <09><><00><00><><EFBFBD><EFBFBD>(<00><00><><EFBFBD><EFBFBD><00>WorldWorld<00>58y.<2E><>B<EFBFBD><17><>؋<EFBFBD>F!8]6U8K<38><4B> <20>Z<EFBFBD><5A><EFBFBD>!8]6U8K<38><4B> <20>Z<EFBFBD><5A><EFBFBD><EFBFBD><00><00><><EFBFBD><EFBFBD><01><00>}<7D><><EFBFBD><00><00>"<00>+<2B><1E><>C<EFBFBD><43><13>"<22>NqD<00><00><><EFBFBD><EFBFBD><EFBFBD><00>M9<14>><3E>m<EFBFBD>K<EFBFBD>Џ$<24> ?<3F>I<00>Mk<13> <20>O
J<EFBFBD>ٴհu<EFBFBD>~C<00> DragS<00>M}t<><74><03>D<>ۥ<EFBFBD><DBA5>a<EFBFBD><17>l<00><><EFBFBD><EFBFBD><EFBFBD>l<00><00><00>M[<5B>2<EFBFBD>F<EFBFBD><46>C<EFBFBD><43><1C><>H<EFBFBD><48><EFBFBD>"<00>+<2B><1E><>C<EFBFBD><43><13>"<22>Nq"<00>+<2B><1E><>C<EFBFBD><43><13>"<22>Nq`<00><00><><EFBFBD><EFBFBD><00><00>}<7D><><EFBFBD><00><00>!8]6U8K<38><4B> <20>Z<EFBFBD><5A><EFBFBD>"Ɂ|<7C>;;<3B>O<EFBFBD><4F>N<EFBFBD>A?8E"Ɂ|<7C>;;<3B>O<EFBFBD><4F>N<EFBFBD>A?8E<00><00><><EFBFBD><EFBFBD><00><00><00><><EFBFBD><EFBFBD><00>truetrue<00>v<>Wf<57><66>LC<4C><43>O<EFBFBD>y<EFBFBD><79><EFBFBD>"<00><>X6$<24><>K<EFBFBD>#<23>.<2E>J<02>"<00><>X6$<24><>K<EFBFBD>#<23>.<2E>J<02><00><00><><EFBFBD><EFBFBD><00><00><00><><EFBFBD><EFBFBD><00>falsefalse<00>Η<><7A>O<EFBFBD><4F><EFBFBD>~$-cd"<00>X<EFBFBD><58><EFBFBD>J<EFBFBD>J<EFBFBD>ծ|MF8"<00>X<EFBFBD><58><EFBFBD>J<EFBFBD>J<EFBFBD>ծ|MF8<1D><00><00><><EFBFBD><EFBFBD><01><00>}<7D><><EFBFBD><00><00>#OY<4F>u<EFBFBD><75><EFBFBD>M<EFBFBD><4D>v<EFBFBD><76><03>@D<00><00><><EFBFBD><EFBFBD><EFBFBD><00>M<00><><12><>2GA<47><41>Kn,<2C>w<EFBFBD>I<00>M<00><>#i<><69><EFBFBD>J<EFBFBD><4A>
<EFBFBD>LU<>C<00>
Collision5<00>8<00><00><00>[V+R$K<><14><>}<7D><>b<EFBFBD><00><><EFBFBD><EFBFBD>Z<EFBFBD>'F<>
<EFBFBD>}<7D><>E<EFBFBD>S<00>M4 Yձ<>D<EFBFBD>r<EFBFBD>J<EFBFBD>srq<72>lP<><50><EFBFBD><EFBFBD>l<00><00><00>Mb<><62><EFBFBD>~<7E><>G<EFBFBD><47><EFBFBD><EFBFBD><EFBFBD>Zc<5A><63>#OY<4F>u<EFBFBD><75><EFBFBD>M<EFBFBD><4D>v<EFBFBD><76><03>@#OY<4F>u<EFBFBD><75><EFBFBD>M<EFBFBD><4D>v<EFBFBD><76><03>@`<00><00><><EFBFBD><EFBFBD><00><00>}<7D><><EFBFBD><00><00>"<00>X<EFBFBD><58><EFBFBD>J<EFBFBD>J<EFBFBD>ծ|MF8#<05>%Q<><51>L<EFBFBD><4C><EFBFBD>2)<29>#.#<05>%Q<><51>L<EFBFBD><4C><EFBFBD>2)<29>#.<00><00><><EFBFBD><EFBFBD><00><00><00><><EFBFBD><EFBFBD><00>falsefalse<00><01>ܧ<EFBFBD>R<EFBFBD>I<EFBFBD>a<EFBFBD>erw<72>#<04>r.<2E>G<>0x+<2B><>c#<04>r.<2E>G<>0x+<2B><>c<EFBFBD><00><00><><EFBFBD><EFBFBD><00><00><00><><EFBFBD><EFBFBD><00>truefalse<00><00><><EFBFBD><EFBFBD>Z<EFBFBD>'F<>
<EFBFBD>}<7D><>E#<00><xM<>O<EFBFBD>rV<72>=}-#<00><xM<>O<EFBFBD>rV<72>=}-<2D><00><00><><EFBFBD><EFBFBD>(<00>x<><78><EFBFBD><00>NewEnumerator1NewEnumerator1<00><00><>XV͒<56>H<EFBFBD>"˃DZp#*OœMM<4D><1A>r<EFBFBD>e<EFBFBD>g#*OœMM<4D><1A>r<EFBFBD>e<EFBFBD>g<EFBFBD><00><00><><EFBFBD><EFBFBD>(<00>i<><69><EFBFBD><00>NewEnumerator0NewEnumerator0<00>ҿX<19>8<EFBFBD>H<EFBFBD><48>@#<23><>k<EFBFBD>#j<>AucqA<7F><41>t<EFBFBD><74><EFBFBD>-
#j<>AucqA<7F><41>t<EFBFBD><74><EFBFBD>-
G<00><00><><EFBFBD><EFBFBD>(<00>v<><76><EFBFBD><00>NewEnumerator1NewEnumerator1<00><00><39>1<EFBFBD>A<EFBFBD><41><EFBFBD>CXN<58>#<00>m<>F<EFBFBD><46>J<EFBFBD>Ci4mv
<EFBFBD>#<00>m<>F<EFBFBD><46>J<EFBFBD>Ci4mv
<EFBFBD>o<00><00><><EFBFBD><EFBFBD><00><00><00><><EFBFBD><EFBFBD><00>truetrue<00>ܦX<J<><4A>A<EFBFBD><41>4<>=Y#O-<2D>X<EFBFBD>0<EFBFBD>D<EFBFBD><44>'P<><50>#O-<2D>X<EFBFBD>0<EFBFBD>D<EFBFBD><44>'P<><50><1E><00><00><><EFBFBD><EFBFBD>(<00>n<><6E><EFBFBD><00>NewEnumerator0NewEnumerator0<00><Y<><59>qJ<71>G<EFBFBD>b<13>VK#Q<><51><EFBFBD>]<5D>C<EFBFBD><43>u<EFBFBD><75><EFBFBD>c#Q<><51><EFBFBD>]<5D>C<EFBFBD><43>u<EFBFBD><75><EFBFBD>c9<00><00><><EFBFBD><EFBFBD><00><00><00><><EFBFBD><EFBFBD><00>truetrue<00><00>9<EFBFBD><>N<EFBFBD><4E><EFBFBD><EFBFBD>.K7#(<28>.d<><64><EFBFBD>C<EFBFBD><43>m4<6D><34>6<EFBFBD>#(<28>.d<><64><EFBFBD>C<EFBFBD><43>m4<6D><34>6<EFBFBD>N<00><00><><EFBFBD><EFBFBD><00><00><00><><EFBFBD><EFBFBD><00>falsefalse<00>?~1_<31>B<EFBFBD>$<24><>H5l<35>#<00><EFBFBD>[<5B>M<EFBFBD>O<EFBFBD><4F>4<>q#<00><EFBFBD>[<5B>M<EFBFBD>O<EFBFBD><4F>4<>qO<00><00><><EFBFBD><EFBFBD>(<00>l<><6C><EFBFBD><00>NewEnumerator1NewEnumerator0<00><00>[V+R$K<><14><>}<7D><>b#<00>T<EFBFBD><54><EFBFBD><EFBFBD>ZL<5A>9_ɩ<5F>ѳ#<00>T<EFBFBD><54><EFBFBD><EFBFBD>ZL<5A>9_ɩ<5F>ѳg<00><00><><EFBFBD><EFBFBD>(<00>d<><64><EFBFBD><00>NewEnumerator3NewEnumerator3<00><00><>a4E<34><45>D<EFBFBD> j<>1<EFBFBD>(<28>#<00>J<0F><>+,B<><42><EFBFBD><EFBFBD><EFBFBD>-<2D><>#<00>J<0F><>+,B<><42><EFBFBD><EFBFBD><EFBFBD>-<2D><>y<00><00><><EFBFBD><EFBFBD><00><00><00><><EFBFBD><EFBFBD><00>falsefalse<00><00>b<EFBFBD><62>M<>J<EFBFBD>{<7B>x<EFBFBD>P~<7E>#"<22>x<12>JfI<66>M<EFBFBD><4D>H/<2F>\#"<22>x<12>JfI<66>M<EFBFBD><4D>H/<2F>\<5C><00><00><><EFBFBD><EFBFBD><00><00><00><><EFBFBD><EFBFBD><00>truetrue<00><00><02><>낑A<EB8291>6<EFBFBD>%y<><79>#]<5D><>'mG<>Yt <0C>8#]<5D><>'mG<>Yt <0C>8<EFBFBD><00><00><><EFBFBD><EFBFBD><01><00>}<7D><><EFBFBD><00><00> %<25><><EFBFBD><EFBFBD><EFBFBD>H<><1E><><15><>D<00><00><><EFBFBD><EFBFBD>I<00>M<00><><EFBFBD>H)wDK<44>jxa<<3C>C<00> SystemState5<00>8<00><00><>o<>O<EFBFBD>.<2E><>f<EFBFBD>k<><00><10>`R<><52>M<EFBFBD><4D>7<><37><EFBFBD><EFBFBD>TS<00>M<00><>"<22><><EFBFBD><EFBFBD>A<EFBFBD>F<EFBFBD><46> <0B>K<EFBFBD><4B>l0<><30><EFBFBD><EFBFBD>l<00><00><00>M<00><>8<EFBFBD>L<EFBFBD><4C>U<EFBFBD>C<EFBFBD><43>r<EFBFBD>$)\<5C><><EFBFBD>-M<>#<23><>7*$)\<5C><><EFBFBD>-M<>#<23><>7*`<00><00><><EFBFBD><EFBFBD><00><00>}<7D><><EFBFBD><00><00>-<00>lR<6C><52>[J<><4A><EFBFBD>A<EFBFBD>n<EFBFBD><6E>$<06> t<C<><43><DR<44>$<24>$<06> t<C<><43><DR<44>$<24>T<00><00><><EFBFBD><EFBFBD>(<00>c<><63><EFBFBD><00>NewEnumerator1NewEnumerator0<00><00><10>`R<><52>M<EFBFBD><4D>7<><37><EFBFBD><EFBFBD>$U<>Y<EFBFBD><59>n<EFBFBD>L<EFBFBD>",o7k<37><6B>$U<>Y<EFBFBD><59>n<EFBFBD>L<EFBFBD>",o7k<37><6B><EFBFBD><00><00><><EFBFBD><EFBFBD>(<00>w<><77><EFBFBD><00>NewEnumerator0NewEnumerator0<00><>o<>O<EFBFBD>.<2E><>f<EFBFBD>k$#<23><>C<EFBFBD>8K<>D<7F><0E><><EFBFBD>$#<23><>C<EFBFBD>8K<>D<7F><0E><><EFBFBD><00><00><><EFBFBD><EFBFBD><00><00><00><><EFBFBD><EFBFBD><00>falsefalse<00>ŏ<01><>IG<49>\=<<1E><>6$?<3F>A<>"<22>C<EFBFBD>3g|ƻ<>$?<3F>A<>"<22>C<EFBFBD>3g|ƻ<><C6BB><00><00><><EFBFBD><EFBFBD><01><00>}<7D><><EFBFBD><00><00>%1ƫ8YM<59> l<><6C>N<EFBFBD><4E>D<00>JI<00>M<00><>~Z<><5A><EFBFBD>J<EFBFBD>|
n<15><>C<00>
DebugFireS<00>Mp<>6<EFBFBD>2ԝM<D49D><4D><EFBFBD><EFBFBD><02>ϴ<EFBFBD>l<00><><EFBFBD><EFBFBD><EFBFBD>l<00><00>)&'C4<00><00>Mp<>K<EFBFBD>q C<>~<7E><><EFBFBD> k<><6B>%1ƫ8YM<59> l<><6C>N<EFBFBD><4E>%1ƫ8YM<59> l<><6C>N<EFBFBD><4E>`<00><00><><EFBFBD><EFBFBD><00><00>}<7D><><EFBFBD><00><00>$?<3F>A<>"<22>C<EFBFBD>3g|ƻ<>%Q<>8<EFBFBD>'%<25>L<EFBFBD>t<EFBFBD><74><EFBFBD><EFBFBD><EFBFBD>%Q<>8<EFBFBD>'%<25>L<EFBFBD>t<EFBFBD><74><EFBFBD><EFBFBD><EFBFBD><06><00><00><><EFBFBD><EFBFBD><01><00>}<7D><><EFBFBD><00><00>A<00>yT<79>G<><47>QSo<53><6F><EFBFBD><<00>u<><75>*^K<>\B<18>D<00><00><><EFBFBD><EFBFBD>I<00>M^Cuړ<75>N<EFBFBD><4E><EFBFBD>lw-<2D><>C<00>NM_WeaponTrigger5<00> <00><00><00>~<7E>,<2C><><EFBFBD>A<EFBFBD><41><EFBFBD><EFBFBD><EFBFBD><EFBFBD>t<EFBFBD><74>S<00>M ?<0F><><EFBFBD>fK<66>ǩ<EFBFBD><C7A9>2j<32><6A>l<00><><EFBFBD><EFBFBD><EFBFBD>l<00><00><00>M<00><>JW<4A>'
H<EFBFBD><EFBFBD>,<2C>GAs<41>&%<25><>z<EFBFBD>,5G<35><47>`<17>(a}&%<25><>z<EFBFBD>,5G<35><47>`<17>(a}`<00><00><><EFBFBD><EFBFBD><00><00>}<7D><><EFBFBD><00><00>Ap<>\<5C><><EFBFBD><EFBFBD>O<EFBFBD><4F><EFBFBD><EFBFBD>23<32><33>&ό<07><>
~A<><41><EFBFBD><18><1C>F&ό<07><>
~A<><41><EFBFBD><18><1C>F<EFBFBD><00><00><><EFBFBD><EFBFBD><01><00>}<7D><><EFBFBD><00><00><00><0F><18><><@<40>9<EFBFBD><39><EFBFBD>3DN^<00>o<00>`V<00>}<7D><><EFBFBD><EFBFBD><00>8G<00><00>QlS<00>M<1F>z<EFBFBD>i<EFBFBD><69>C<EFBFBD>y<EFBFBD>v<EFBFBD>Ē<EFBFBD><C492>l <20><><EFBFBD><EFBFBD>l<00><><EFBFBD><EFBFBD><EFBFBD><00>M<00><>E+<2B><><EFBFBD>C<EFBFBD>лc<D0BB>,1<><31>'[<5B>4P@<40>E<EFBFBD>)<29><><05>'[<5B>4P@<40>E<EFBFBD>)<29><><05>^<00><00><><EFBFBD><EFBFBD><01><00>}<7D><><EFBFBD><00><00>:<00>?D<>C<EFBFBD><N<><4E><EFBFBD>8V<00>p=z<1B><><EFBFBD><EFBFBD>D<>J<EFBFBD>]~]<5D>^<00>o<00>`V<00>}<7D><><EFBFBD><EFBFBD><00>8G<00><00>S<00>M<00><><EFBFBD>!;<3B><>L<EFBFBD><4C><03>x<1C>h<EFBFBD>lp<><70><EFBFBD><EFBFBD><00>M<00><0E><><EFBFBD>XF<58>u)<29>)|<7C><>(<00><>q<EFBFBD><71><EFBFBD><EFBFBD>A<EFBFBD>U<16> <09><>}(<00><>q<EFBFBD><71><EFBFBD><EFBFBD>A<EFBFBD>U<16> <09><>}^<00><00><><EFBFBD><EFBFBD><01><00>}<7D><><EFBFBD><00><00>4<02>I0<49>%<25>J<EFBFBD><4A><EFBFBD><0E><04>p^<00>o<00>`V<00>}<7D><><EFBFBD><EFBFBD><00>8G<00><00>S<00>M<00>?<3F>:&L<>O<EFBFBD><4F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>l0<><30><EFBFBD><EFBFBD>l<00><00><00>M2<>\G<><47>N<EFBFBD><15><>۱<EFBFBD> <20>)<00>9<EFBFBD>K<17><>H<EFBFBD><48><EFBFBD> <0B><>9<EFBFBD>)<00>9<EFBFBD>K<17><>H<EFBFBD><48><EFBFBD> <0B><>9<EFBFBD>^<00><00><><EFBFBD><EFBFBD><01><00>}<7D><><EFBFBD><00><00><00><>{ɾ&+A<><1B>b<EFBFBD>"<22><>^<00>n<00>`V<00>}<7D><><EFBFBD><EFBFBD><00>8G<00><00>S<00>M<00><EFBFBD>q[<18>D<EFBFBD>s<EFBFBD><73>.O9X<39>l<00><><EFBFBD><EFBFBD><EFBFBD>l<00><00><00>M<00><>%A,<16>M<EFBFBD>d<10><>Էy<D4B7>*<00><><EFBFBD><EFBFBD>.<2E>hH<68><17><>=b*<00><><EFBFBD><EFBFBD>.<2E>hH<68><17><>=b^<00><00><><EFBFBD><EFBFBD><01><00>}<7D><><EFBFBD><00><00>@<02><>K_<4B>G<EFBFBD><47>x<EFBFBD>;<3B>V<EFBFBD>^<00>n<00>`V<00>}<7D><><EFBFBD><EFBFBD><00>8G<00><00>S<00>M<00>o<EFBFBD><6F>:V?H<><48>
R<EFBFBD>9<EFBFBD>u<EFBFBD>l<10><><EFBFBD><EFBFBD>l<00><00><00>M<00><>O<EFBFBD><4F><EFBFBD>'O<><4F>Tnp<6E><70>-<2D>+C7y<16>H<EFBFBD>L<EFBFBD>w-#Z<>+C7y<16>H<EFBFBD>L<EFBFBD>w-#Z<>^<00><00><><EFBFBD><EFBFBD><01><00>}<7D><><EFBFBD><00><00><00><><EFBFBD>7<EFBFBD>!D<> <0B><1A>J(^<00>n<00>`V<00>}<7D><><EFBFBD><EFBFBD><00>8G<00><00>S<00>Mv<>1 <15>A<EFBFBD><41>+<2B>W%<25>j<EFBFBD>l<00><><EFBFBD><EFBFBD><EFBFBD><00>M<00><>*R<>F<C281>Z7<> <0B><>,_<><00><>.F<>o<0F>}Z?,_<><00><>.F<>o<0F>}Z?^<00><00><><EFBFBD><EFBFBD><01><00>}<7D><><EFBFBD><00><00><1C><>z<>2K<32><4B><14><>&<26>+^<00>o<00>`V<00>}<7D><><EFBFBD><EFBFBD><00>8G<00><00>S<00>M<00><>(<14>FD<46><44><EFBFBD>$#<23>{<7B><>l<00><><EFBFBD><EFBFBD><EFBFBD>l<00><00><00>M<00><>zK<7A>GWF<57><46><EFBFBD>V<01><><EFBFBD>-<00>lR<6C><52>[J<><4A><EFBFBD>A<EFBFBD>n<EFBFBD><6E>-<00>lR<6C><52>[J<><4A><EFBFBD>A<EFBFBD>n<EFBFBD><6E>^<00><00><><EFBFBD><EFBFBD><01><00>}<7D><><EFBFBD><00><00>$)\<5C><><EFBFBD>-M<>#<23><>7*<00><00><00>S<00>M<00>[<5B>B|hG<68><47>e<EFBFBD>^O<>.<2E>lp<><70><EFBFBD><EFBFBD>lP<00><00>M<00>q<EFBFBD>^Wt<57>M<EFBFBD><4D>2hS<68>\<5C><>.̥<><CCA5><EFBFBD><EFBFBD>A<><41>0<>΄<EFBFBD>.̥<><CCA5><EFBFBD><EFBFBD>A<><41>0<>΄<EFBFBD><00><00><><EFBFBD><EFBFBD>A<00><00>~<7E><><EFBFBD><00>0.00.0<00>:Ph<7F><68><15>I<EFBFBD><_<><5F>U<>.J<><1F>`AUL<55> <0A><><17><03>.J<><1F>`AUL<55> <0A><><17><03><00><00><><EFBFBD><EFBFBD>B<00><00>~<7E><><EFBFBD><00>0.00.0<00>:@vtr<74><72>&H<><48>66<36><36>8i.L&ǖ<>m<EFBFBD>C<EFBFBD><43><06>\M<><4D>.L&ǖ<>m<EFBFBD>C<EFBFBD><43><06>\M<><4D>h<00><00><><EFBFBD><EFBFBD>Result<01><00>~<7E><><EFBFBD><00><00>/<12>Dqlg<6C>O<EFBFBD>έ٪<CEAD>-m.KՄ)0<>M<EFBFBD>ڞ<EFBFBD>9<EFBFBD><39><EFBFBD>.KՄ)0<>M<EFBFBD>ڞ<EFBFBD>9<EFBFBD><39><EFBFBD><00><00><><EFBFBD><EFBFBD><00><00><00><00><00><00><00>S<00>Mh<><68><12>I<EFBFBD><49><EFBFBD>Lȑ`<60>l<00><00>lP<00><00>M?<3F><1E><><EFBFBD>K<EFBFBD><4B><14><08>.<2E><>/<12>Dqlg<6C>O<EFBFBD>έ٪<CEAD>-m/<12>Dqlg<6C>O<EFBFBD>έ٪<CEAD>-m<00><00><><EFBFBD><EFBFBD>A<00><00>~<7E><><EFBFBD><00>1.01.0<00>.L&ǖ<>m<EFBFBD>C<EFBFBD><43><06>\M<><4D>/<00>f_u<5F>Y<EFBFBD>B<EFBFBD><42>˄X ɀ/<00>f_u<5F>Y<EFBFBD>B<EFBFBD><42>˄X ɀ<00><00><><EFBFBD><EFBFBD>B<00><00><00><><EFBFBD><EFBFBD><00> 1.0000001.0<00>B/7<> <0A><>K<EFBFBD>[<5B>O<EFBFBD><4F>.<2E>/nmp<6D><70><EFBFBD><EFBFBD>H<EFBFBD><48><EFBFBD>f<EFBFBD>`/nmp<6D><70><EFBFBD><EFBFBD>H<EFBFBD><48><EFBFBD>f<EFBFBD>`h<00><00><><EFBFBD><EFBFBD>Result<01><00>~<7E><><EFBFBD><00><00>2<00>Z<EFBFBD>=@<07>K<EFBFBD><4B><19>iwUm<00><00><00>S<00>MFĠ0<C4A0><30>D<EFBFBD>Bi!<21>8 "<22>l<00><00>l<00><><EFBFBD><EFBFBD><EFBFBD><00>M<00><>|g><3E>E<EFBFBD><45> <0C><>Z<EFBFBD>/<2F>0<12>Dqlg<6C>O<EFBFBD>έ٪<CEAD>-m0<12>Dqlg<6C>O<EFBFBD>έ٪<CEAD>-m<00><00><><EFBFBD><EFBFBD>A<00><00>~<7E><><EFBFBD><00>1.01.0<00>C<00><02>/+s<>F<EFBFBD><46><EFBFBD><EFBFBD><EFBFBD><EFBFBD>{0<00>f_u<5F>Y<EFBFBD>B<EFBFBD><42>˄X ɀ0<00>f_u<5F>Y<EFBFBD>B<EFBFBD><42>˄X ɀ<00><00><><EFBFBD><EFBFBD>B<00>
]<5D>~?<3F>1<00>п]<5D><>*J<><4A><EFBFBD>TYi<59>1<00>п]<5D><>*J<><4A><EFBFBD>TYi<59><00><00><><EFBFBD><EFBFBD>A<00><00><00><><EFBFBD><EFBFBD><00>truetrue<00>DL<><4C>u0<75>E<EFBFBD>bKʧ_<CAA7>1<00>z<EFBFBD><7A>54bK<62><4B><EFBFBD><EFBFBD>j<EFBFBD>+1<00>z<EFBFBD><7A>54bK<62><4B><EFBFBD><EFBFBD>j<EFBFBD>+h<00><00><><EFBFBD><EFBFBD>Result<01><00><00><><EFBFBD><EFBFBD><00><00>E<00><><EFBFBD>[^v1J<31>JB<4A><42><EFBFBD><EFBFBD>8<00><00><00>S<00>M<00><02>4X&@<40><>94<39><34><16><>lp<00>l<00><><EFBFBD><EFBFBD><EFBFBD><00>M4<><34><EFBFBD>*<2A><>A<EFBFBD><41><EFBFBD><EFA1A3><19>2<00>Z<EFBFBD>=@<07>K<EFBFBD><4B><19>iwUm2<00>Z<EFBFBD>=@<07>K<EFBFBD><4B><19>iwUm<00><00><><EFBFBD><EFBFBD>A<00><00>~<7E><><EFBFBD><00>0.00.0<00>/nmp<6D><70><EFBFBD><EFBFBD>H<EFBFBD><48><EFBFBD>f<EFBFBD>`2<1E>|<7C>H<EFBFBD><48>M<EFBFBD><4D><EFBFBD><EFBFBD>@<40><><EFBFBD>2<1E>|<7C>H<EFBFBD><48>M<EFBFBD><4D><EFBFBD><EFBFBD>@<40><><EFBFBD><00><00><><EFBFBD><EFBFBD>B<00><00>~<7E><><EFBFBD><00>1.01.0<00>0nmp<6D><70><EFBFBD><EFBFBD>H<EFBFBD><48><EFBFBD>f<EFBFBD>`2<00>m<EFBFBD><6D>(P<>B<EFBFBD>M}<7D>K<EFBFBD>%02<00>m<EFBFBD><6D>(P<>B<EFBFBD>M}<7D>K<EFBFBD>%0h<00><00><><EFBFBD><EFBFBD>Result<01><00><00><><EFBFBD><EFBFBD><00><00>E <09>:<1A><><EFBFBD>D<EFBFBD><44>'K<16><>U<00><00><00><00><00>o<00><00>V<00>}<7D><><EFBFBD><EFBFBD><00>8G<00><00><00>)S<00>MԬ|k<>VB<56>,Җ@<40>l<00>l<00><><EFBFBD><EFBFBD>-l<00><00>M<00><><0E>ʮ^G<>cr<63>=/`<60>3S
<EFBFBD>V~<7E>lA<6C>r<>Ex3S
<EFBFBD>V~<7E>lA<6C>r<>Ex<45><00><00><><EFBFBD><EFBFBD><00><00>}<7D><><EFBFBD><00><00>=v<>X<EFBFBD>+<2B><>J<EFBFBD><47><14>~<00><00><00><00><00>n<00><00>V<00>}<7D><><EFBFBD><EFBFBD><00>8G<00><00><00>)S<00>Mf>Xb<58><62>I<EFBFBD>1<EFBFBD><31>Z<EFBFBD>z<><00>M<00>Ю
<EFBFBD><EFBFBD>!C<><43><EFBFBD><EFBFBD><EFBFBD>Gs<47><73>4<02>I0<49>%<25>J<EFBFBD><4A><EFBFBD><0E><04>p4<02>I0<49>%<25>J<EFBFBD><4A><EFBFBD><0E><04>p<EFBFBD><00><00><><EFBFBD><EFBFBD><00><00>}<7D><><EFBFBD><00><00>(<00><>q<EFBFBD><71><EFBFBD><EFBFBD>A<EFBFBD>U<16> <09><>}<00><00><00><00><00>n<00><00>V<00>}<7D><><EFBFBD><EFBFBD><00>8G<00><00><00>)S<00>M3<><33>Q<EFBFBD><51>hH<68>Ƃ<EFBFBD>+<2B>sr<73>l<00><00><00>Mи<>;7<> J<><4A>)<29>T<EFBFBD>W&<26>5<00>H<13>P<EFBFBD>K<>t<EFBFBD><74><EFBFBD>~<7E><>5<00>H<13>P<EFBFBD>K<>t<EFBFBD><74><EFBFBD>~<7E><><EFBFBD><00><00><><EFBFBD><EFBFBD><00><00>}<7D><><EFBFBD><00><00><04><>T<><54>O<EFBFBD>+<2B>!<21>Qz<51><00><00><00><00><00>o<00><00>V<00>}<7D><><EFBFBD><EFBFBD><00>8G<00><00><00>)S<00>M<00>E+<12><><EFBFBD>M<EFBFBD>cf<63>2<|<7C>l<00><00><00>MHc<18>lepD<70>5q<35>r<EFBFBD>Um<55>6<00><><EFBFBD><EFBFBD><EFBFBD>!<21>I<EFBFBD><49>(P<>6<00><><EFBFBD><EFBFBD><EFBFBD>!<21>I<EFBFBD><49>(P<><1C><00><00><><EFBFBD><EFBFBD><00><00>}<7D><><EFBFBD><00><00><00><>m<EFBFBD><6D><EFBFBD>=H<>Q<0E><><EFBFBD>Ex<00><00><00><00><00>n<00><00>V<00>}<7D><><EFBFBD><EFBFBD><00>8G<00><00><00>)S<00>MO<>f<EFBFBD><66>4@<40>9<EFBFBD>/<2F><1B><><EFBFBD>l<00><00><00>M'<27>X<EFBFBD>6d<36>O<EFBFBD><4F><EFBFBD>,<00> <09><>7y<><79>}7<><37>B<EFBFBD>.<2E>ތF<DE8C>}7y<><79>}7<><37>B<EFBFBD>.<2E>ތF<DE8C>}<7D><00><00><><EFBFBD><EFBFBD><00><00>}<7D><><EFBFBD><00><00><00>;<3B>$0<>@<40><>t<>xk<78><00><00><00><00><00>n<00><00>V<00>}<7D><><EFBFBD><EFBFBD><00>8G<00><00><00>)S<00>M <20>/<2F>zK}K<><4B><EFBFBD><EFBFBD>A<><41><EFBFBD><00>M<00>*3<><33><EFBFBD>B<><42>d<EFBFBD>$<24><>8<EFBFBD>8<16><>-/<2F>KL<4B>B<EFBFBD>GWɈ@8<16><>-/<2F>KL<4B>B<EFBFBD>GWɈ@<40><00><00><><EFBFBD><EFBFBD><00><00>}<7D><><EFBFBD><00><00><00><>2 (<28>E<EFBFBD> <0C>ʄ<EFBFBD><CA84>X<00><00><00><00><00>n<00><00>V<00>}<7D><><EFBFBD><EFBFBD><00>8G<00><00><00>)S<00>M<00><>͠<EFBFBD><CDA0><EFBFBD>N<EFBFBD><4E><EFBFBD><EFBFBD>a<EFBFBD><61>&<26>l<00><00><00>Mf<><66><EFBFBD><EFBFBD>YOL<4F>-<2D><>!O(G<>9y<><79>͠j<CDA0>D<EFBFBD>K<EFBFBD>@<40>׮<EFBFBD>9y<><79>͠j<CDA0>D<EFBFBD>K<EFBFBD>@<40>׮<EFBFBD><D7AE><00><00><><EFBFBD><EFBFBD><00><00>}<7D><><EFBFBD><00><00>0<14>B<|F<>(<28><><EFBFBD> <20><><<00><00><00><00><00>5<><35><EFBFBD><EFBFBD>E<EFBFBD>X(61X<31><58><EFBFBD><EFBFBD>g<EFBFBD>߂<EFBFBD>B<EFBFBD><14><>y<EFBFBD>5<EFBFBD>$N2<4E>`?<3F>C<EFBFBD>G<EFBFBD><47><EFBFBD>)?FP D<><44>xA<78><10>Q
<EFBFBD>A=<3D>aI<11>F<EFBFBD><46><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>4<0E>-L<>gF<67><46>ir<01><>Ͱ<EFBFBD><CDB0>TqX<71>A<EFBFBD><41><EFBFBD><EFBFBD>D<EFBFBD>U<EFBFBD>',r<><72><EFBFBD>8E<38>w<EFBFBD><77>^'<12><><EFBFBD><EFBFBD>D<EFBFBD><44>E<EFBFBD><45>4S<34><53><EFBFBD>e<EFBFBD><65>$D<><44>]@<40><><EFBFBD><08><>+<2B>S<00>M4<>t<EFBFBD>ċ<EFBFBD>B<EFBFBD>,<05>4r<05><>l <20><><EFBFBD><EFBFBD>l<00><><EFBFBD><EFBFBD><EFBFBD><00>Mu<>~<7E> *<2A>D<EFBFBD>j<EFBFBD>*3~<7E><><EFBFBD>
:<00>?D<>C<EFBFBD><N<><4E><EFBFBD>8V<00>p:<00>?D<>C<EFBFBD><N<><4E><EFBFBD>8V<00>p<EFBFBD><00><00><><EFBFBD><EFBFBD><00><00>}<7D><><EFBFBD><00><00>'[<5B>4P@<40>E<EFBFBD>)<29><><05>:Gu<47><75><EFBFBD><EFBFBD>;L<><4C><EFBFBD>r皚:Gu<47><75><EFBFBD><EFBFBD>;L<><4C><EFBFBD>r<>!A851C6F74A2F69B5627B608A5BD1286FSystem.Trigger<00><><EFBFBD><EFBFBD><01>
<00><><EFBFBD><EFBFBD><00><00>D (<28><>_<EFBFBD><5F>O<EFBFBD>6<EFBFBD><36> }<7D>x<00><><EFBFBD>TqX<71>A<EFBFBD><41><EFBFBD><EFBFBD>D<EFBFBD>U<EFBFBD>:<00>ɧ<EFBFBD>7<>C<EFBFBD><43>1˗F<1A>:<00>ɧ<EFBFBD>7<>C<EFBFBD><43>1˗F<1A><>!17DB4E8F4FFE07501C4AF7B89A9057FEModule.TriggerSpacing<00><><EFBFBD><EFBFBD><01>
<00><><EFBFBD><EFBFBD><00><00>B<00><><EFBFBD>9<EFBFBD><39>nD<6E>԰3{O<00><><EFBFBD><EFBFBD>D<EFBFBD><44>E<EFBFBD><45>4S<34><53><EFBFBD>e:K<><4B>8_B<><EFBFBD>͝4:K<><4B>8_B<><EFBFBD>͝4<CD9D><00><00><><EFBFBD><EFBFBD>TDefault value for System.Age if no other module has set it previously in the stack.<00>
<00><><EFBFBD><EFBFBD><00> 0.000000<00><00><>g<EFBFBD>߂<EFBFBD>B<EFBFBD><14><>y<EFBFBD>5<EFBFBD>:Ì_<C38C> PM<><4D> <09><>˓V:Ì_<C38C> PM<><4D> <09><>˓V<CB93><00><00><><EFBFBD><EFBFBD>DDefault value for Engine.DeltaTime. Disabled for Engine Parameters.<00>
<00><><EFBFBD><EFBFBD><00> 0.000000<00>P D<><44>xA<78><10>Q
<EFBFBD>A:Ph<7F><68><15>I<EFBFBD><_<><5F>U<>:Ph<7F><68><15>I<EFBFBD><_<><5F>U<><55>!375D3FAD4B76C22825A0A1ABFB8AEBD1 System.Age<00><><EFBFBD><EFBFBD><01>
<00><><EFBFBD><EFBFBD><00><00>.̥<><CCA5><EFBFBD><EFBFBD>A<><41>0<>΄<EFBFBD>C\#<23>X<EFBFBD>/B<>b@<40>/<04><><00>5<><35><EFBFBD><EFBFBD>E<EFBFBD>X(61X<31><58>:@vtr<74><72>&H<><48>66<36><36>8i:@vtr<74><72>&H<><48>66<36><36>8i<38>!3B0352C74BE516B928CAFE9D266AFBC0Engine.DeltaTime<00><><EFBFBD><EFBFBD><01>
<00><><EFBFBD><EFBFBD><00><00>.J<><1F>`AUL<55> <0A><><17><03>$N2<4E>`?<3F>C<EFBFBD>G<EFBFBD><47><EFBFBD>)?F:J<>өr<D3A9><72>A<EFBFBD>d$E +<2B>@:J<>өr<D3A9><72>A<EFBFBD>d$E +<2B>@<40><00><00><><EFBFBD><EFBFBD>XDefault value for System.Trigger if no other module has set it previously in the stack.<00>
<00><><EFBFBD><EFBFBD><00>false<00>',r<><72><EFBFBD>8E<38>w<EFBFBD><77>^':4lwe<77><65>D<EFBFBD>f%<25><>:4lwe<77><65>D<EFBFBD>f%<25><><00><00><><EFBFBD><EFBFBD><01><00><00><00>:P<><08>I<EFBFBD>{D<><44>c<EFBFBD>]<5D>!<21>:P<><08>I<EFBFBD>{D<><44>c<EFBFBD>]<5D>!<21><><00><00><><EFBFBD><EFBFBD>_Default value for Module.TriggerSpacing if no other module has set it previously in the stack.<00>
<00><><EFBFBD><EFBFBD><00> 1.000000<00><00><>$D<><44>]@<40><><EFBFBD><08><>+<2B><<00>(<00><00><17> <09><>Q<EFBFBD>N<EFBFBD><4E><EFBFBD><EFBFBD>L<EFBFBD><4C><1B>N<EFBFBD>ɐn<C990>H<EFBFBD>u1<1B>q<EFBFBD>)S<00>M<00>{/<2F><>A<EFBFBD>L<EFBFBD>W0<><30><1D>l<00><><EFBFBD><EFBFBD><EFBFBD>l<00><00><00>M_<>9V 9J<39><4A>c*<2A><>'<27><>;<00><>ZH<5A>JSJ<53><4A>(<1B><>Nn;<00><>ZH<5A>JSJ<53><4A>(<1B><>Nn<4E><00><00><><EFBFBD><EFBFBD><00><00>}<7D><><EFBFBD><00><00><00><>;<3B>ΕG<CE95><47><EFBFBD><EFBFBD>bT<62>8;Z<>w>-C<><43>~W<><57>w;Z<>w>-C<><43>~W<><57>w<>!1D0F96E149245561BB5C14A0C90D9F35System.Trigger<00><><EFBFBD><EFBFBD><01>
<00><><EFBFBD><EFBFBD><00><00>><00><>:K<>Q2G<32><47>ޭbT˯<17> <09><>Q<EFBFBD>N<EFBFBD><4E><EFBFBD><EFBFBD>L<EFBFBD><4C>;<00>9 <0A><><EFBFBD>N<>Of= |q;<00>9 <0A><><EFBFBD>N<>Of= |q<00><00><><EFBFBD><EFBFBD><01><00><00><00>;<00>s<EFBFBD>z<EFBFBD>g<EFBFBD>E<EFBFBD>o<EFBFBD>*Ѯ;;<00>s<EFBFBD>z<EFBFBD>g<EFBFBD>E<EFBFBD>o<EFBFBD>*Ѯ;<03><00><00><><EFBFBD><EFBFBD>XDefault value for System.Trigger if no other module has set it previously in the stack.<00>
<00><><EFBFBD><EFBFBD><00>false<00><00>N<EFBFBD>ɐn<C990>H<EFBFBD>u1<1B>q<EFBFBD>)<<00>(<00><00><00><13><>C<EFBFBD>+@<40><><EFBFBD>nHIͧ<08><>#<23>D<EFBFBD><44><06>.<2E><18>S<00>M*<2A>L<EFBFBD><4C>><3E>J<EFBFBD>$!y1<79><06>l<00><><EFBFBD><EFBFBD><EFBFBD>l<00><00><00>M5H!6Y<36>I<EFBFBD>D<EFBFBD>@<40> <0B><><<00>u<><75>*^K<>\B<18><<00>u<><75>*^K<>\B<18><><00><00><><EFBFBD><EFBFBD><00><00>}<7D><><EFBFBD><00><00>%Q<>8<EFBFBD>'%<25>L<EFBFBD>t<EFBFBD><74><EFBFBD><EFBFBD><EFBFBD><hZx<5A><78><EFBFBD>C<EFBFBD>ŏd͔"<22><hZx<5A><78><EFBFBD>C<EFBFBD>ŏd͔"<22>!039842BA4ABCE11A9F095C878F92593B User.Trigger<00><><EFBFBD><EFBFBD><01>
<00><><EFBFBD><EFBFBD><00><00>A<00>!<21>Sr<53><72>N<EFBFBD>׋B)<29><00><13><>C<EFBFBD>+@<40><><EFBFBD>nHIͧ<]Q<><51><EFBFBD>.1F<EFBFBD><00>r<EFBFBD>ҋ<EFBFBD><]Q<><51><EFBFBD>.1F<EFBFBD><00>r<EFBFBD>ҋ<EFBFBD><00><00><><EFBFBD><EFBFBD><01><00><00><00><
)\G<><07><><EFBFBD>LYT<
)\G<><07><><EFBFBD>LYT<59><00><00><><EFBFBD><EFBFBD>VDefault value for User.Trigger if no other module has set it previously in the stack.<00>
<00><><EFBFBD><EFBFBD><00>false<00><08><>#<23>D<EFBFBD><44><06>.<2E><18>S<00>M) <0A><><C<>L<EFBFBD>g<EFBFBD> <09>X/ <0B>l<00><00>l<00><><EFBFBD><EFBFBD><EFBFBD><00>M<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>rL<72>e<EFBFBD><65><EFBFBD>#b<>=z<1B><><EFBFBD><EFBFBD>D<>J<EFBFBD>]~]<5D>=z<1B><><EFBFBD><EFBFBD>D<>J<EFBFBD>]~]<5D><1C><00><00><><EFBFBD><EFBFBD><00><00>}<7D><><EFBFBD><00><00>'[<5B>4P@<40>E<EFBFBD>)<29><><05>h<>#7<>E<><45><EFBFBD><EFBFBD>N=v<>X<EFBFBD>+<2B><>J<EFBFBD><47><14>~=v<>X<EFBFBD>+<2B><>J<EFBFBD><47><14>~<7E><00><00><><EFBFBD><EFBFBD><01><00>}<7D><><EFBFBD><00><00>3S
<EFBFBD>V~<7E>lA<6C>r<>Ex<14><>6!<21><>E<EFBFBD>G<EFBFBD><47>7<EFBFBD> =![&<26>=<3D>nN<6E>J<EFBFBD>)v<16>=![&<26>=<3D>nN<6E>J<EFBFBD>)v<16><>!BEA305964D1C19E926AAF68850C511D6System.Trigger<00><><EFBFBD><EFBFBD><00>
<00><><EFBFBD><EFBFBD><00><00>E<00>U|=<3D><EFBFBD>B<EFBFBD><42>ϊ<EFBFBD>pm<00>
<12><><11>J<EFBFBD><4A><EFBFBD>"<22><>S5=nx<1C>R<EFBFBD><52>A<EFBFBD><41>SBT?<3F>=nx<1C>R<EFBFBD><52>A<EFBFBD><41>SBT?<3F><00><00><><EFBFBD><EFBFBD><00><00><00><00>~<17><><EFBFBD><EFBFBD><EFBFBD>H<EFBFBD><48>i<EFBFBD><69><01>(S<00>MQ_<51><5F><EFBFBD>:<3A>G<EFBFBD>A<EFBFBD>JgG<67><47><EFBFBD>lP<><50><EFBFBD><EFBFBD>l<00><00><00>M}B[٨<>C<EFBFBD><43><EFBFBD>|<7C><>><00>X._p<5F>HE<48>f<EFBFBD>,<2C>YJ><00>X._p<5F>HE<48>f<EFBFBD>,<2C>YJ<59><00><00><><EFBFBD><EFBFBD><00><00>}<7D><><EFBFBD><00><00><00><>;<3B>ΕG<CE95><47><EFBFBD><EFBFBD>bT<62>8hbY<62><59>,<2C>E<EFBFBD>q*<03>.><00><>:K<>Q2G<32><47>ޭbT˯><00><>:K<>Q2G<32><47>ޭbT˯<54><00><00><><EFBFBD><EFBFBD><00>
<00><><EFBFBD><EFBFBD><00><00>;Z<>w>-C<><43>~W<><57>w<00>e<EFBFBD><65><EFBFBD><EFBFBD><EFBFBD>L<EFBFBD>~<<3C>bb<62>>e<><65>/<2F><><EFBFBD>D<EFBFBD><44><0E><>0f>e<><65>/<2F><><EFBFBD>D<EFBFBD><44><0E><>0f<><00><00><><EFBFBD><EFBFBD><01><00>}<7D><><EFBFBD><00><00>\_<><5F>m<EFBFBD><6D>D<EFBFBD><44><EFBFBD>8<EFBFBD>Dg5ZrC<72><0E>I<EFBFBD>I4<49>@<40>><00><19><>U<04>M<EFBFBD>2%<25><18>N]><00><19><>U<04>M<EFBFBD>2%<25><18>N]<00><00><><EFBFBD><EFBFBD><00><00><00><00><00><><EFBFBD>@EM<45>A<EFBFBD>β<EFBFBD><CEB2><EFBFBD><EFBFBD>0S<00>M<00><><13>T<>C<EFBFBD><1B><>.<2E><><1C>l<00><><EFBFBD><EFBFBD><EFBFBD>l<00><00><00>M<00><><EFBFBD>^<5E>+H<><48>+<2B><>P<EFBFBD><04>?,<2C><>Z[E<><45><EFBFBD><EFBFBD><EFBFBD><EFBFBD>{<7B>?,<2C><>Z[E<><45><EFBFBD><EFBFBD><EFBFBD><EFBFBD>{<7B><><00><00><><EFBFBD><EFBFBD><00><00>}<7D><><EFBFBD><00><00><00><v<1C>)!C<>iN<69>8 <1C>_<><5F><EFBFBD>s<>M<EFBFBD><4D>I6<49><0E>?<00>EޕKŜD<C59C>u<>?<3F>rn?<00>EޕKŜD<C59C>u<>?<3F>rn<00><00><><EFBFBD><EFBFBD><00>
<00><><EFBFBD><EFBFBD><00><00>8LсZ<D181>N<EFBFBD><4E>p<EFBFBD> <0A><><00>ZK<5A><4B>h<EFBFBD>N<EFBFBD>4<EFBFBD><02><><EFBFBD><EFBFBD>?<00><>dZH<><48>4<EFBFBD>[r<10>?<00><>dZH<><48>4<EFBFBD>[r<10><><00><00><><EFBFBD><EFBFBD><01><00>}<7D><><EFBFBD><00><00>0<>B)<29>6<EFBFBD>D<EFBFBD><44><EFBFBD>v<*<2A>q<00><>R{,]M<>t<EFBFBD><74><EFBFBD>Em<45>?<00>س/J<>MA<4D>V<12><>@?<00>س/J<>MA<4D>V<12><>@<00><00><><EFBFBD><EFBFBD><00><00><00><00>.7<EFBFBD>0<EFBFBD><EFBFBD>E<><45>U<EFBFBD>{V<><56>S<00>M|-=<3D>2K<32>(DRq<07><><EFBFBD>l<10><><EFBFBD><EFBFBD>l<00><00><00>M鯊C<1E><>N<EFBFBD>pfl̙<6C><CC99><EFBFBD>@<02><>K_<4B>G<EFBFBD><47>x<EFBFBD>;<3B>V<EFBFBD>@<02><>K_<4B>G<EFBFBD><47>x<EFBFBD>;<3B>V<EFBFBD><56><00><00><><EFBFBD><EFBFBD><00><00>}<7D><><EFBFBD><00><00>*<00><><EFBFBD><EFBFBD>.<2E>hH<68><17><>=bY<12>&Io<49>D<EFBFBD>[9K<39><1E>2@z<><7A>Ν<EFBFBD><CE9D>M<EFBFBD>v<EFBFBD><76><EFBFBD><EFBFBD>|)@z<><7A>Ν<EFBFBD><CE9D>M<EFBFBD>v<EFBFBD><76><EFBFBD><EFBFBD>|)W<00><00><><EFBFBD><EFBFBD>(
<00><><EFBFBD><EFBFBD><00>Local<00>F<>n<EFBFBD><6E><12>A<EFBFBD><41><EFBFBD>P<EFBFBD><50>j-@<00>o<EFBFBD><05>.L<>.<2E>fABF@<00>o<EFBFBD><05>.L<>.<2E>fABF<><00><00><><EFBFBD><EFBFBD><01><00>}<7D><><EFBFBD><00><00><00>Њ<EFBFBD><D08A><<3C>J<EFBFBD><4A>.<2E>+!#<23><00><>0<EFBFBD><30><EFBFBD><EFBFBD>A<EFBFBD>Ħ<EFBFBD>\SI+@g <0C>=<3D>W<EFBFBD>C<EFBFBD><<3C> zd@g <0C>=<3D>W<EFBFBD>C<EFBFBD><<3C> zd<00><00><><EFBFBD><EFBFBD><00><00><00><00>W<><1E><>)<29>A<EFBFBD><41>vtO<74>w'S<00>M<00>1<EFBFBD>zXN%F<><46> j<><6A>K<EFBFBD><4B>lP<><50><EFBFBD><EFBFBD>l<00><00><00>M<1F><>^<5E><>/F<><46><EFBFBD>}ϲ<02>A<00>yT<79>G<><47>QSo<53><6F><EFBFBD>A<00>yT<79>G<><47>QSo<53><6F><EFBFBD><EFBFBD><00><00><><EFBFBD><EFBFBD><00><00>}<7D><><EFBFBD><00><00>%Q<>8<EFBFBD>'%<25>L<EFBFBD>t<EFBFBD><74><EFBFBD><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD><EFBFBD>]<5D>O<EFBFBD><18>ۓE<DB93>A<00>!<21>Sr<53><72>N<EFBFBD>׋B)<29>A<00>!<21>Sr<53><72>N<EFBFBD>׋B)<29><><00><00><><EFBFBD><EFBFBD><00>
<00><><EFBFBD><EFBFBD><00><00><hZx<5A><78><EFBFBD>C<EFBFBD>ŏd͔"<22><00>q_<71>S<EFBFBD><53>O<EFBFBD><4F><EFBFBD>s<EFBFBD>d0<64>Ap<>\<5C><><EFBFBD><EFBFBD>O<EFBFBD><4F><EFBFBD><EFBFBD>23<32><33>Ap<>\<5C><><EFBFBD><EFBFBD>O<EFBFBD><4F><EFBFBD><EFBFBD>23<32><33><EFBFBD><00><00><><EFBFBD><EFBFBD><01><00>}<7D><><EFBFBD><00><00>&%<25><>z<EFBFBD>,5G<35><47>`<17>(a}<00>@<40>k4<6B>*A<00><><EFBFBD>"<22>_P@<40><>o<>s<EFBFBD><73>A<00><><EFBFBD>"<22>_P@<40><>o<>s<EFBFBD><73><00><00><><EFBFBD><EFBFBD><00><00><00><00><00><><EFBFBD><EFBFBD><UK<>i<10><><EFBFBD><EFBFBD><EFBFBD>S<00>M'<27>bh&)<29>B<EFBFBD>].;<3B>(<28>l<00><><EFBFBD><EFBFBD><EFBFBD>l<00><><EFBFBD><EFBFBD><EFBFBD><00>M<16>[w`@<40>G<EFBFBD>U[<5B> %+i<>B<00><><EFBFBD>9<EFBFBD><39>nD<6E>԰3{OB<00><><EFBFBD>9<EFBFBD><39>nD<6E>԰3{Ob<00><00><><EFBFBD><EFBFBD><00>
<00><><EFBFBD><EFBFBD><00><00>:<00>ɧ<EFBFBD>7<>C<EFBFBD><43>1˗F<1A>B/7<> <0A><>K<EFBFBD>[<5B>O<EFBFBD><4F>.<2E>B/7<> <0A><>K<EFBFBD>[<5B>O<EFBFBD><4F>.<2E><><00><00><><EFBFBD><EFBFBD><01>
<00><><EFBFBD><EFBFBD><00><00>0<00>f_u<5F>Y<EFBFBD>B<EFBFBD><42>˄X ɀ/<00>f_u<5F>Y<EFBFBD>B<EFBFBD><42>˄X ɀS<00>M<00>ˈ <09><>I<EFBFBD>r<EFBFBD>(<28><>'<27><>l<00><><EFBFBD><EFBFBD><EFBFBD>l<00><00>M<12><>X8M<38>C<EFBFBD>`<60>6<EFBFBD><36><EFBFBD><12>C\#<23>X<EFBFBD>/B<>b@<40>/<04><>C\#<23>X<EFBFBD>/B<>b@<40>/<04><>b<00><00><><EFBFBD><EFBFBD><00>
<00><><EFBFBD><EFBFBD><00><00>:Ph<7F><68><15>I<EFBFBD><_<><5F>U<>C<00><02>/+s<>F<EFBFBD><46><EFBFBD><EFBFBD><EFBFBD><EFBFBD>{C<00><02>/+s<>F<EFBFBD><46><EFBFBD><EFBFBD><EFBFBD><EFBFBD>{<18><00><00><><EFBFBD><EFBFBD><01>
<00><><EFBFBD><EFBFBD><00><00>0<12>Dqlg<6C>O<EFBFBD>έ٪<CEAD>-mS<00>MYSH<53>|<7C>MK<4D><4B>f<EFBFBD><66>T<><54>l<00><00>l<00><><EFBFBD><EFBFBD><EFBFBD><00>M<00>Z <0C>h<EFBFBD>B<EFBFBD>z<EFBFBD><08><>r<EFBFBD>D (<28><>_<EFBFBD><5F>O<EFBFBD>6<EFBFBD><36> }<7D>xD (<28><>_<EFBFBD><5F>O<EFBFBD>6<EFBFBD><36> }<7D>xb<00><00><><EFBFBD><EFBFBD><00>
<00><><EFBFBD><EFBFBD><00><00>:Gu<47><75><EFBFBD><EFBFBD>;L<><4C><EFBFBD>rDL<><4C>u0<75>E<EFBFBD>bKʧ_<CAA7>DL<><4C>u0<75>E<EFBFBD>bKʧ_<CAA7><15><00><00><><EFBFBD><EFBFBD><01>
<00><><EFBFBD><EFBFBD><00><00>E<00>rܳWtG<74><47><EFBFBD><EFBFBD>*Xj?1<00>п]<5D><>*J<><4A><EFBFBD>TYi<59><00><00>b<00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00><00>M<0F>G<12><>bF<62><46><EFBFBD><EFBFBD>}<7D>U<EFBFBD><55><00><00><00><00>n<00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>E<00><00><00>M8Nh]<5D>N<EFBFBD>v<EFBFBD>=<3D><>IR<49>lS<00>M<00>k<EFBFBD>AA<>O<EFBFBD>@g<>|<7C>V<EFBFBD><56>lp<00>lP<><50><EFBFBD><EFBFBD><00>Mvu<76><75>$<0F>@<40>|<7C>8<EFBFBD><38>}<7D><>E<00><><EFBFBD>[^v1J<31>JB<4A><42><EFBFBD><EFBFBD>8E<00><><EFBFBD>[^v1J<31>JB<4A><42><EFBFBD><EFBFBD>8<EFBFBD>!35485312447A4F9CAC4D24952978700A NiagaraBool<00><><EFBFBD><EFBFBD><00><00><00><><EFBFBD><EFBFBD><00>false<00>1<00>z<EFBFBD><7A>54bK<62><4B><EFBFBD><EFBFBD>j<EFBFBD>+E<00>rܳWtG<74><47><EFBFBD><EFBFBD>*Xj?E<00>rܳWtG<74><47><EFBFBD><EFBFBD>*Xj?<3F>!FBF7BD48468D4E99ED1CFAA989C6627B NiagaraBool<00><><EFBFBD><EFBFBD><00><00><00><><EFBFBD><EFBFBD><00>false<00>DL<><4C>u0<75>E<EFBFBD>bKʧ_<CAA7>E <09>:<1A><><EFBFBD>D<EFBFBD><44>'K<16><>UE <09>:<1A><><EFBFBD>D<EFBFBD><44>'K<16><>U<EFBFBD><00><00><><EFBFBD><EFBFBD><00><00><00><><EFBFBD><EFBFBD><00>false<00>2<00>m<EFBFBD><6D>(P<>B<EFBFBD>M}<7D>K<EFBFBD>%0<0F>G<12><>bF<62><46><EFBFBD><EFBFBD>}<7D>U<EFBFBD>E<00>U|=<3D><EFBFBD>B<EFBFBD><42>ϊ<EFBFBD>pmE<00>U|=<3D><EFBFBD>B<EFBFBD><42>ϊ<EFBFBD>pm<><00><00><><EFBFBD><EFBFBD><01><00><00><><EFBFBD><EFBFBD><00><00>=![&<26>=<3D>nN<6E>J<EFBFBD>)v<16>8Nh]<5D>N<EFBFBD>v<EFBFBD>=<3D><>IREԧN<D4A7><4E>F<EFBFBD>G<EFBFBD>H@<40><><EFBFBD>HEԧN<D4A7><4E>F<EFBFBD>G<EFBFBD>H@<40><><EFBFBD>H<00><00><><EFBFBD><EFBFBD><01><00><00><00><00>f<00>l<00><><EFBFBD><EFBFBD><EFBFBD>lp<00><00>M#(<28>C@p<>H<EFBFBD><48><EFBFBD>b<EFBFBD>
<EFBFBD>O<EFBFBD><00>f<00><00>M<00>.<2E>r"RL<52><4C>7<EFBFBD>i<EFBFBD><69><01>l0<00>lpC4<00><00>MN<><4E><EFBFBD><EFBFBD>uO<75>+<2B> K<><4B><EFBFBD><00><00><00>)4<00>M1v秢<76>YE<59><45><EFBFBD><EFBFBD>:Eo
<00><00>:
<00><00><00><00>l<00>l#<00>M1v秢<76>YE<59><45><EFBFBD><EFBFBD>:E04<00><00> <00><00>l<00>R<00>;!9EFEC2754688770EFEEE238A26C4F1C4Default?4J<00>]5<00>]<00><00>!4<00><00> <00><00><00>B4<00>) K<00><00><00>%55<00><00><00><00>$42<00> <00><00><00> <00>z)<00>)
 <00><00> <00>n<00> <00>W<00> <00>\5<00>\<00><00>]5<00>]<00><00>4<00><00><00><00>d5<00>d<00><00>v<00>m<00>m<00>MD<><44>@<40>d<EFBFBD>!۔*ٯu<D9AF>)<00><00>M<00>CPUSim5<00><00><00>D4#4(4<4<00>A<00><00>GY`౹<0E>TM<54>e<EFBFBD><65>W<EFBFBD>N<EFBFBD><4E> <0C><>T<00><00>T<00><00><00><00>G<1C><76><DD86>L<EFBFBD>Z;<3B>r
<EFBFBD>4%<25>ڄ<EFBFBD><00>G<00>Lċ<><C48B><EFBFBD>n<EFBFBD>s6<73>q<EFBFBD>Y<EFBFBD><59>LS<4C><00>G҉<>.7FG <09>%6&⟞򟪈<E29F9E><00><00>M<00><00>)  L<00><00>%55<00><00>5<00><00><00><00>R<00>R<00>f<00><00><00>EANiagaraScript /Niagara/DefaultAssets/DefaultModule.DefaultModule<00><00><00>)4<00>M6<04>=<3D><>$I<><49><EFBFBD><1F><>C<EFBFBD>r<00><00>= <00><00><00><00>l<00>l#<00>M6<04>=<3D><>$I<><49><EFBFBD><1F><>C<EFBFBD>04<00><00> <00><00>l<00>R<00> <00>?4J<00>]5<00>]<00><00>!4<00><00> <00><00><00>B4<00>) K<00><00><00>%55<00><00><00><00>$42<00> <00><00><00> <00>z)<00>)
 <00><00> <00>n<00> <00>W<00> <00>\5<00>\<00><00>]5<00>]<00><00>4<00><00><00><00>d5<00>d<00><00>v<00><00> <00>m<00>M#<23>y<EFBFBD><79>J;hQpe<70>'މ<>)<00><00>M*<00>CPUSimEmitter.InterpolatedSpawnFailIfNotSetMessageSeverity: 3)PreserveAttribute=Particles.CameraOffset"PreserveAttribute=Particles.Color5PreserveAttribute=Particles.DynamicMaterialParameter6PreserveAttribute=Particles.DynamicMaterialParameter16PreserveAttribute=Particles.DynamicMaterialParameter26PreserveAttribute=Particles.DynamicMaterialParameter3+PreserveAttribute=Particles.MaterialRandom&PreserveAttribute=Particles.MeshIndex,PreserveAttribute=Particles.MeshOrientation*PreserveAttribute=Particles.NormalizedAge%PreserveAttribute=Particles.Position2PreserveAttribute=Particles.Previous.CameraOffset5PreserveAttribute=Particles.Previous.MeshOrientation.PreserveAttribute=Particles.Previous.Position+PreserveAttribute=Particles.Previous.Scale.PreserveAttribute=Particles.Previous.Velocity"PreserveAttribute=Particles.Scale*PreserveAttribute=Particles.SubImageIndex%PreserveAttribute=Particles.Velocity*PreserveAttribute=Particles.VisibilityTagTrimAttributesG<00><00><00>(V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>)V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>*V<00>|<7C><><EFBFBD><EFBFBD><00>8G<00><00>+V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>,V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>D4#4(4<4<00>A<00><00>G<00>tNf<1D>B<EFBFBD>ϲM7<4D><37>
4Ya[<5B><>T<00> T<00><00><00><00>G<00>z<%<25><>D<EFBFBD><44>ܿ<><DCBF>3ǖp<C796><00>G<12>(n-<2D><><EFBFBD><12><>=N<>[<5B><>^UG<55><00>GH<><48><EFBFBD><EFBFBD><EFBFBD><EFBFBD>%<25>_<EFBFBD>{<7B>h+<2B><01>*<2A><><00>Gc9n<19>;j{<15>.<2E>d<01>eG<65><47><EFBFBD><00>G<00><>e<EFBFBD><65>i<EFBFBD>bڲ=<3D>t<><74>7<EFBFBD><37>x<EFBFBD><00>G<00><><EFBFBD><EFBFBD><EFBFBD>;ZG<>"<22><>y<EFBFBD><79>|<01><><00>G<00><><EFBFBD>!t+<1D>[<5B>{<7B><13>U<EFBFBD><55><EFBFBD><00>G<00>//-/&Oa<>?S<><53>'<27><><EFBFBD><EFBFBD>C<EFBFBD><00>G<00><>Z|<7C><><06><><EFBFBD>k<><6B>VF4<46><34><<3C><00>G<00>9<EFBFBD><39>^kK 2U<32><55><EFBFBD>`<18><><EFBFBD> <09><00>G<00><> qg<71>I<EFBFBD>A&<26><><EFBFBD>w<EFBFBD><77><02><><EFBFBD><EFBFBD><00><00>M<00><00>)  L<00><00>%55<00><00>5<00><00><00><00>S<00>R<00>{<00><00><00>ZVNiagaraScript /Niagara/DefaultAssets/DefaultEmitter.DefaultEmitter:EmitterSpawnScript<00><00><00>)4<00>M8<>9 O<><4F><EFBFBD><EFBFBD>e<EFBFBD>r<00><00><00>~ <00><00><00><00>l<00>l#<00>M8<>9 O<><4F><EFBFBD><EFBFBD>e<EFBFBD>r04<00><00> <00><00>l<00>R<00> <00>?4J<00>]5<00>]<00><00>!4<00><00> <00><00><00>B4<00>) K<00><00><00>%55<00><00><00><00>$42<00> <00><00><00> <00>z)<00>)
 <00><00> <00>n<00> <00>W<00> <00>\5<00>\<00><00>]5<00>]<00><00>4<00><00><00><00>d5<00>d<00><00>v<00><00> <00>m<00>M#<23>y<EFBFBD><79>J;hQpe<70>'މ<>)<00><00>M*<00>CPUSimEmitter.InterpolatedSpawnFailIfNotSetMessageSeverity: 3)PreserveAttribute=Particles.CameraOffset"PreserveAttribute=Particles.Color5PreserveAttribute=Particles.DynamicMaterialParameter6PreserveAttribute=Particles.DynamicMaterialParameter16PreserveAttribute=Particles.DynamicMaterialParameter26PreserveAttribute=Particles.DynamicMaterialParameter3+PreserveAttribute=Particles.MaterialRandom&PreserveAttribute=Particles.MeshIndex,PreserveAttribute=Particles.MeshOrientation*PreserveAttribute=Particles.NormalizedAge%PreserveAttribute=Particles.Position2PreserveAttribute=Particles.Previous.CameraOffset5PreserveAttribute=Particles.Previous.MeshOrientation.PreserveAttribute=Particles.Previous.Position+PreserveAttribute=Particles.Previous.Scale.PreserveAttribute=Particles.Previous.Velocity"PreserveAttribute=Particles.Scale*PreserveAttribute=Particles.SubImageIndex%PreserveAttribute=Particles.Velocity*PreserveAttribute=Particles.VisibilityTagTrimAttributesG<00><00><00>(V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>)V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>*V<00>|<7C><><EFBFBD><EFBFBD><00>8G<00><00>+V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>,V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>D4#4(4<4<00>A<00><00>G<00><>Z|<7C><><06><><EFBFBD>k<><6B>VF4<46><34><<3C>TA<00> T<00> <00><00>G<00>z<%<25><>D<EFBFBD><44>ܿ<><DCBF>3ǖp<C796><00>Gc3<63><33><EFBFBD>Y<EFBFBD>|<7C>cI<63>bAZN<5A><4E> <0A><00>G<12>(n-<2D><><EFBFBD><12><>=N<>[<5B><>^UG<55><00>GH<><48><EFBFBD><EFBFBD><EFBFBD><EFBFBD>%<25>_<EFBFBD>{<7B>h+<2B><01>*<2A><><00>Gc9n<19>;j{<15>.<2E>d<01>eG<65><47><EFBFBD><00>G<00><>e<EFBFBD><65>i<EFBFBD>bڲ=<3D>t<><74>7<EFBFBD><37>x<EFBFBD><00>G<00><><EFBFBD><EFBFBD><EFBFBD>;ZG<>"<22><>y<EFBFBD><79>|<01><><00>G<00><><EFBFBD>!t+<1D>[<5B>{<7B><13>U<EFBFBD><55><EFBFBD><00>G<00>tNf<1D>B<EFBFBD>ϲM7<4D><37>
4Ya[<5B><><00>G<00>//-/&Oa<>?S<><53>'<27><><EFBFBD><EFBFBD>C<EFBFBD><00>G<00>9<EFBFBD><39>^kK 2U<32><55><EFBFBD>`<18><><EFBFBD> <09><00>G<00><> qg<71>I<EFBFBD>A&<26><><EFBFBD>w<EFBFBD><77><02><><EFBFBD><EFBFBD><00><00>M<00><00>)  L<00><00>%55<00><00>5<00><00><00><00>S<00>R<00>|
<00><00><00><00> <00><00><00><00><00>V<00><><7F><EFBFBD><EFBFBD><00>8G<00><00>(<00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00> <00>V<00><><7F><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><><7F><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><><7F><EFBFBD><EFBFBD><00>8G<00><00> <00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>$0G,<00>?@<40>E<00>?<00>?<00>?<00><00>[WNiagaraScript /Niagara/DefaultAssets/DefaultEmitter.DefaultEmitter:EmitterUpdateScript<00>v<00><00> <00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00><>Z<EFBFBD>w<EFBFBD>B<>;r<>=<3D><><EFBFBD><EFBFBD>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00><>H$<24>"F<><46><06>M⑬V<00><><7F><EFBFBD><EFBFBD><00>8G<00><00><00><>i<EFBFBD><69><02>F<EFBFBD><46>-<2D><>@A<>V<00><><7F><EFBFBD><EFBFBD><00>8G<00><00>"<9 O<>K<EFBFBD>c<11><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>{<7B><>:<3A><>2K<32><4B>ӄ ߲<><DFB2>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>@v=<3D>HfbB<62><42><EFBFBD><EFBFBD><EFBFBD>Χ<0F>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00><>!<21>d<EFBFBD>C<>-<13>70<37> <0B>V<00><><7F><EFBFBD><EFBFBD><00>8G<00><00><00><>\t <0A><>K<EFBFBD>~<7E><><EFBFBD>J<EFBFBD>w<EFBFBD>V<00><><7F><EFBFBD><EFBFBD><00>8G<00><00><00><><EFBFBD>wG<47>J<EFBFBD><4A>H<EFBFBD>[<5B><><EFBFBD><EFBFBD><00><00>)4<00>M
<EFBFBD>za@<40><>'<27><>`<<3C>[ <00><00>& <00><00><00><00>l<00>l#<00>M
<EFBFBD>za@<40><>'<27><>`<<3C>04<00><00> <00><00>l<00>R<00> <00>?4J<00>]5<00>]<00><00>!4<00><00> <00><00><00>B4<00>) K<00><00><00>%55<00><00><00><00>$42<00> <00><00><00> <00>z)<00>)
 <00><00> <00>n<00> <00>W<00> <00>\5<00>\<00><00>]5<00>]<00><00>4<00><00><00><00>d5<00>d<00><00>v<00><00><00>m<00>M<00>)<00><00>M<00>5<00><00><00>D4#4(4<4<00>-<00><00>G<00>T5<00>T<00><00><00><00>M<00><00>)  L<00><00>%55<00><00>5<00><00><00><00>S<00>R<00>y<00><00><00>XTNiagaraScript /Niagara/DefaultAssets/DefaultEmitter.DefaultEmitter:GPUComputeScript<00><00><00>)4<00>M㹦q<16><>@<40>\<5C>s<>YX<00><00># <00><00><00><00>l<00>l#<00>M㹦q<16><>@<40>\<5C>s<>Y04<00><00> <00><00>l<00>R<00> <00>?4J<00>]5<00>]<00><00>!4<00><00> <00><00><00>B4<00>) K<00><00><00>%55<00><00><00><00>$42<00> <00><00><00> <00>z)<00>)
 <00><00> <00>n<00> <00>W<00> <00>\5<00>\<00><00>]5<00>]<00><00>4<00><00><00><00>d5<00>d<00><00>v<00><00><00>m<00>M<00><><19>5<EFBFBD>"׋^)<29>D<EFBFBD> <1C>)<00><00>M[<00>CPUSimEmitter.InterpolatedSpawnExperimentalVMDisabledFailIfNotSetMessageSeverity: 3InterpolatedSpawn)PreserveAttribute=Particles.CameraOffset"PreserveAttribute=Particles.Color5PreserveAttribute=Particles.DynamicMaterialParameter6PreserveAttribute=Particles.DynamicMaterialParameter16PreserveAttribute=Particles.DynamicMaterialParameter26PreserveAttribute=Particles.DynamicMaterialParameter3+PreserveAttribute=Particles.MaterialRandom&PreserveAttribute=Particles.MeshIndex,PreserveAttribute=Particles.MeshOrientation*PreserveAttribute=Particles.NormalizedAge%PreserveAttribute=Particles.Position2PreserveAttribute=Particles.Previous.CameraOffset5PreserveAttribute=Particles.Previous.MeshOrientation.PreserveAttribute=Particles.Previous.Position+PreserveAttribute=Particles.Previous.Scale.PreserveAttribute=Particles.Previous.Velocity"PreserveAttribute=Particles.Scale*PreserveAttribute=Particles.SubImageIndex%PreserveAttribute=Particles.Velocity*PreserveAttribute=Particles.VisibilityTagTrimAttributesG<00><00><00>(V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>)V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>*V<00>|<7C><><EFBFBD><EFBFBD><00>8G<00><00>+V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>,V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>D4#4(4<4<00>A<00><00>G<00><,z<>D<EFBFBD><44>B<EFBFBD>[ho<12>o<EFBFBD><6F>T<00><00>:T<00><00><00><00>G<07>d<0F>,<2C><13>><3E><>}<7D><>:.<2E>U<EFBFBD><00>G<08>\h<><45><D588><00><>g><3E><07><>+<2B><00>G
;<3B>w<0F><><EFBFBD>l<EFBFBD>I!<21>aͲ@<40><><00>G<18>V<EFBFBD><56>4><3E>C<EFBFBD><43>R<EFBFBD><52>5y<35>J<EFBFBD><4A><00>G<18>+(<28><>==<3D>r<EFBFBD> <13><>:1<>ع<EFBFBD><00>Gn<><6E><EFBFBD><EFBFBD><EFBFBD>^<5E><>,<2C>C<>̙E5<45><35><00>G<1B>e<EFBFBD><65>Z!CeO R<><52>ٟ(<28><00>G"<22>!<21>2H(<eɉr<C989><72><EFBFBD><EFBFBD><EFBFBD><16>Y<EFBFBD><00>G&<26><>dX<64>!P<><50>^<5E>2<EFBFBD>><3E><><EFBFBD><EFBFBD><EFBFBD><00>G(<28><><EFBFBD>e<02>)v`<60>Ar!<21><>,}p<><70><00>G-C` <0A><><EFBFBD>L<13>u<x<1D>W'<27><<3C><00>G-QJ/<2F>W/52ړ<32><DA93>-<2D><>k<EFBFBD><6B><EFBFBD><00>G2<>
<EFBFBD><EFBFBD>k<EFBFBD>(1W<31><>f<EFBFBD>1=<3D><00>G4<>"3 <0C><><EFBFBD><EFBFBD>բ<EFBFBD>wr<77>w#<06><><00>G607IZ$<24><>\a<>a<EFBFBD>jzm<7A><6D><EFBFBD><00>G;C<>7<EFBFBD><37>0FZ<1D>º<EFBFBD><C2BA>o*"<13><00>G@<40>nLV<4C><56>QF<51><46><EFBFBD>XTUM]<5D><><EFBFBD><EFBFBD><00>GA.<2E><>/<1A>y<EFBFBD><79><EFBFBD>ac<61>ـ<EFBFBD><D980><EFBFBD><00>GJ7h4ځ|عp㠾7y<>z<1E><><00>GPpg<70>N
<0C>'<27><>J <0C><>l<EFBFBD> <08><00>G_p_7 7sp!<21><>0my@<40><16><><EFBFBD><00>G_<><5F>1<EFBFBD> W<>2<EFBFBD><32>s<EFBFBD><73><00>Gr<><72><EFBFBD>i<EFBFBD>1<EFBFBD><31><EFBFBD><EFBFBD>p<EFBFBD>n<EFBFBD>D<EFBFBD><44><EFBFBD><EFBFBD><EFBFBD><00>Gu<>hFe-y #<23>\-C!=<3D><>b5~<7E><00>Gy<>P|<7C>Q<EFBFBD><01> <12><><EFBFBD>ʪˁ<CAAA><CB81><EFBFBD><00>G T<><54><EFBFBD><1F><>WTνW<CEBD>7<EFBFBD><37><EFBFBD><EFBFBD><00>G><3E>/qwi؈YaL6<4C>J<EFBFBD><4A><EFBFBD><EFBFBD><00>G<00>7Q <20><><18><>ߴ<EFBFBD><DFB4><EFBFBD>&Уsj<73><00>G<00>
=]<5D><>z<EFBFBD>ݱ<EFBFBD><DDB1><EFBFBD><EFBFBD><EFBFBD> {D<>z<EFBFBD><00>G<00><><EFBFBD><EFBFBD>H^<<3C><><EFBFBD>adIN<49><4E><EFBFBD>̀<EFBFBD><CC80><00>G<00>*C<01><>pU<70>ٔ<><D994><EFBFBD>vUW<55><57><00>G<00>*<2A>|L~<7E>_$<24>/K<>̑n>#<05><00>G<00> <0A><><10><>?<3F><>v<EFBFBD><76><EFBFBD>\Ia<49><01><00>G<00>0<EFBFBD>V<EFBFBD>!P<>Bt)<29><>"<22><>t-<13><><00>G<00><>"{m~~<7E><><EFBFBD><EFBFBD><13><>k<EFBFBD>S<EFBFBD>6<EFBFBD><00>G<00><><EFBFBD><EFBFBD>C%<25><>U<EFBFBD><55>[<5B><><EFBFBD><EFBFBD><EFBFBD>^<5E><><00>G<00>S:6"<22><>S<EFBFBD><53><EFBFBD><EFBFBD>̤4R<34><52><EFBFBD><EFBFBD><00>G<00>\<5C>۝<EFBFBD>#,<2C><><EFBFBD><EFBFBD><><DEA0><EFBFBD>P~<7E><00>G<00><>J<EFBFBD><4A><EFBFBD><EFBFBD>@<40><><EFBFBD> <20>x<EFBFBD>b<EFBFBD><03><><EFBFBD><00>G<00>V˪Bl<42>NJ<EFBFBD><C78A>w<EFBFBD>$<24> <0C>Y<EFBFBD>!<21><00>G<00><><EFBFBD><EFBFBD><EFBFBD>}C<><43>T<EFBFBD>g<EFBFBD><67><EFBFBD><EFBFBD>|<7C><><EFBFBD><00>G<00><>p7<70>;<3B>5<EFBFBD>e<EFBFBD><65>ݠ<EFBFBD><DDA0><EFBFBD><EFBFBD>e<02><00>G<00><>G~<7E>54<14><><EFBFBD><EFBFBD>P<EFBFBD><50>T<12><><00>G<00>ZJ4S(T<>݌<11><>j<EFBFBD><6A><EFBFBD><EFBFBD><18><00>G<00><>-><07>6W"<22>b<EFBFBD><62>5<EFBFBD><35><EFBFBD><EFBFBD><EFBFBD><00>G<00>NJJg$,&<26><><EFBFBD>n<><6E>h7<68>M<EFBFBD><4D><00>G<00>'!<21><><EFBFBD>u<EFBFBD><75>۬<><04><><EFBFBD>\ <20><00>G<00>9<EFBFBD><39>^kK 2U<32><55><EFBFBD>`<18><><EFBFBD> <09><00>Gۙ<DB99><7F><EFBFBD><EFBFBD><07>e<EFBFBD>/<2F><>8AN+<2B>c<EFBFBD><00>G<00><><EFBFBD>T<EFBFBD>6<EFBFBD><1A>o<>z3<7A><33>-D<><44><EFBFBD><00>G<00><><EFBFBD>n<EFBFBD>lPB<50>/<2F><>j<EFBFBD><6A>"QF<51><46><00>G<00>^<1E>d<17>qn<71><6E>C<EFBFBD><43><EFBFBD>ptͻ<74><CDBB><00>G<00>iqe<71><65>ab="<22>L<EFBFBD><4C><EFBFBD><EFBFBD><EFBFBD><16><><00>G<00><>Α<EFBFBD>H<EFBFBD>w˴'<27><>F<><46><EFBFBD>I<EFBFBD><00>G<00><><EFBFBD><EFBFBD><EFBFBD>v<EFBFBD><76> O+<2B><10><><EFBFBD>@S<><53><EFBFBD><00>G<00><>B<EFBFBD>Mc~<7E>=<3D><><EFBFBD>hE<68> bN<62><00>G<00><>$ <0C><>.<2E>۩;r@P<><50>D0<44><00>G<00><><EFBFBD>Y$<1B><><1D><14>ƓP<C693><50><EFBFBD>I<><00><00>M<00><00>)  L<00><00>%55<00><00><00><00><00><00><00><00><00><><EFBFBD><EFBFBD>Jl4<>c<EFBFBD><63><00><00><00><><EFBFBD><EFBFBD>Jl<00>(<28><><00><00><00><><EFBFBD><EFBFBD>Jl<><E7A09A><00><00>S<00>R<00>#<00><00><00>3<00><00><00><00>sV<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>tV<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>uV<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>vV<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>wV<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>xV<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>yV<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00> zV<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>${V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>(|V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>,}V<00><><7F><EFBFBD><EFBFBD><00>8G<00><00>0~V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>4V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>8<00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8
<EFBFBD>#<<00>@<00>?<00>? A A A <20> <20> <20><F<00>?zD<7A><00><00><00><00>r<00><00><00><00><00><00><00><00>SONiagaraScript /Niagara/DefaultAssets/DefaultEmitter.DefaultEmitter:SpawnScript<00><00> <00><00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>=<3D>A4<41>F<EFBFBD><47>!<21>ʝV<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>4<05><>D<EFBFBD>C<EFBFBD><43>F<EFBFBD><46><EFBFBD><EFBFBD>C<EFBFBD>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>ԫ6<D4AB><36><EFBFBD>F<EFBFBD>j<>f<EFBFBD>N<EFBFBD><4E>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>D<>% D#<23>O<EFBFBD><4F>Sy<53>y<EFBFBD> <09>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>ӟ_<D39F>x<M<><4D><19>#ס<><D7A1>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>q ,OG<4F><47>M<EFBFBD>yq<1A>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>׏<06><08>D<EFBFBD><1D>f!<21>%<25><>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>tv<74>oK<6F><4B>@<40><>\<5C><><EFBFBD>l<EFBFBD>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*H<><48>% o<><6F>wV<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>I<>%<25><>V<EFBFBD>K<EFBFBD>;p<><70><EFBFBD><EFBFBD>sV<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>BRך϶J<><1E><14><><EFBFBD>tV<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>$<24><>ZĎ^G<>T <01>uV<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>><3E><><EFBFBD>zM<7A><4D>Ьɔ<D0AC><C994>vV<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>U<EFBFBD><55><EFBFBD><EFBFBD><EFBFBD>I<EFBFBD><49>ËUO(rV<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>d.WT<57>*xC<78>)<29><1C><>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00><07><00>߆H<DF86>S1<53><31>yI<79><49>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>,<2C>-<0E>bF<>^<5E><>$<24>P<EFBFBD><50>V<00><><7F><EFBFBD><EFBFBD><00>8G<00><00><00>7<EFBFBD>1<EFBFBD><31>,A<>- <20><>5МV<00>|<7C><><EFBFBD><EFBFBD><00>8G<00><00>N<><4E><EFBFBD>jN<><4E>ߊ;l<>ɌV<00>|<7C><><EFBFBD><EFBFBD><00>8G<00><00>܆<><DC86><EFBFBD>0jD<6A> <20>Q$<24><>M<00>&<00>m<00>M<00><><19>5<EFBFBD>"׋^)<29>D<EFBFBD> <1C>)[<00>CPUSimEmitter.InterpolatedSpawnExperimentalVMDisabledFailIfNotSetMessageSeverity: 3InterpolatedSpawn)PreserveAttribute=Particles.CameraOffset"PreserveAttribute=Particles.Color5PreserveAttribute=Particles.DynamicMaterialParameter6PreserveAttribute=Particles.DynamicMaterialParameter16PreserveAttribute=Particles.DynamicMaterialParameter26PreserveAttribute=Particles.DynamicMaterialParameter3+PreserveAttribute=Particles.MaterialRandom&PreserveAttribute=Particles.MeshIndex,PreserveAttribute=Particles.MeshOrientation*PreserveAttribute=Particles.NormalizedAge%PreserveAttribute=Particles.Position2PreserveAttribute=Particles.Previous.CameraOffset5PreserveAttribute=Particles.Previous.MeshOrientation.PreserveAttribute=Particles.Previous.Position+PreserveAttribute=Particles.Previous.Sc
<EFBFBD><EFBFBD>k<EFBFBD>(1W<31><>f<EFBFBD>1=<3D><00>G4<>"3 <0C><><EFBFBD><EFBFBD>բ<EFBFBD>wr<77>w#<06><><00>G607IZ$<24><>\a<>a<EFBFBD>jzm<7A><6D><EFBFBD><00>G;C<>7<EFBFBD><37>0FZ<1D>º<EFBFBD><C2BA>o*"<13><00>G@<40>nLV<4C><56>QF<51><46><EFBFBD>XTUM]<5D><><EFBFBD><EFBFBD><00>GA.<2E><>/<1A>y<EFBFBD><79><EFBFBD>ac<61>ـ<EFBFBD><D980><EFBFBD><00>GJ7h4ځ|عp㠾7y<>z<1E><><00>GPpg<70>N
<0C>'<27><>J <0C><>l<EFBFBD> <08><00>G_p_7 7sp!<21><>0my@<40><16><><EFBFBD><00>G_<><5F>1<EFBFBD> W<>2<EFBFBD><32>s<EFBFBD><73><00>Gr<><72><EFBFBD>i<EFBFBD>1<EFBFBD><31><EFBFBD><EFBFBD>p<EFBFBD>n<EFBFBD>D<EFBFBD><44><EFBFBD><EFBFBD><EFBFBD><00>Gu<>hFe-y #<23>\-C!=<3D><>b5~<7E><00>Gy<>P|<7C>Q<EFBFBD><01> <12><><EFBFBD>ʪˁ<CAAA><CB81><EFBFBD><00>G{<13>w<EFBFBD>S/<2F>R|~<7E>.7p<EFBFBD><1D><>S<EFBFBD><00>G T<><54><EFBFBD><1F><>WTνW<CEBD>7<EFBFBD><37><EFBFBD><EFBFBD><00>G><3E>/qwi؈YaL6<4C>J<EFBFBD><4A><EFBFBD><EFBFBD><00>G<00>7Q <20><><18><>ߴ<EFBFBD><DFB4><EFBFBD>&Уsj<73><00>G<00>
=]<5D><>z<EFBFBD>ݱ<EFBFBD><DDB1><EFBFBD><EFBFBD><EFBFBD> {D<>z<EFBFBD><00>G<00><><EFBFBD><EFBFBD>H^<<3C><><EFBFBD>adIN<49><4E><EFBFBD>̀<EFBFBD><CC80><00>G<00>*C<01><>pU<70>ٔ<><D994><EFBFBD>vUW<55><57><00>G<00>*<2A>|L~<7E>_$<24>/K<>̑n>#<05><00>G<00> <0A><><10><>?<3F><>v<EFBFBD><76><EFBFBD>\Ia<49><01><00>G<00>0<EFBFBD>V<EFBFBD>!P<>Bt)<29><>"<22><>t-<13><><00>G<00><>"{m~~<7E><><EFBFBD><EFBFBD><13><>k<EFBFBD>S<EFBFBD>6<EFBFBD><00>G<00><><EFBFBD><EFBFBD>C%<25><>U<EFBFBD><55>[<5B><><EFBFBD><EFBFBD><EFBFBD>^<5E><><00>G<00>S:6"<22><>S<EFBFBD><53><EFBFBD><EFBFBD>̤4R<34><52><EFBFBD><EFBFBD><00>G<00>\<5C>۝<EFBFBD>#,<2C><><EFBFBD><EFBFBD><><DEA0><EFBFBD>P~<7E><00>G<00><>J<EFBFBD><4A><EFBFBD><EFBFBD>@<40><><EFBFBD> <20>x<EFBFBD>b<EFBFBD><03><><EFBFBD><00>G<00>V˪Bl<42>NJ<EFBFBD><C78A>w<EFBFBD>$<24> <0C>Y<EFBFBD>!<21><00>G<00><><EFBFBD><EFBFBD><EFBFBD>}C<><43>T<EFBFBD>g<EFBFBD><67><EFBFBD><EFBFBD>|<7C><><EFBFBD><00>G<00><>p7<70>;<3B>5<EFBFBD>e<EFBFBD><65>ݠ<EFBFBD><DDA0><EFBFBD><EFBFBD>e<02><00>G<00><>G~<7E>54<14><><EFBFBD><EFBFBD>P<EFBFBD><50>T<12><><00>G<00>ZJ4S(T<>݌<11><>j<EFBFBD><6A><EFBFBD><EFBFBD><18><00>G<00><>-><07>6W"<22>b<EFBFBD><62>5<EFBFBD><35><EFBFBD><EFBFBD><EFBFBD><00>G<00>NJJg$,&<26><><EFBFBD>n<><6E>h7<68>M<EFBFBD><4D><00>G<00>'!<21><><EFBFBD>u<EFBFBD><75>۬<><04><><EFBFBD>\ <20><00>G<00>9<EFBFBD><39>^kK 2U<32><55><EFBFBD>`<18><><EFBFBD> <09><00>Gۙ<DB99><7F><EFBFBD><EFBFBD><07>e<EFBFBD>/<2F><>8AN+<2B>c<EFBFBD><00>G<00><><EFBFBD>T<EFBFBD>6<EFBFBD><1A>o<>z3<7A><33>-D<><44><EFBFBD><00>G<00><><EFBFBD>n<EFBFBD>lPB<50>/<2F><>j<EFBFBD><6A>"QF<51><46><00>G<00>^<1E>d<17>qn<71><6E>C<EFBFBD><43><EFBFBD>ptͻ<74><CDBB><00>G<00>iqe<71><65>ab="<22>L<EFBFBD><4C><EFBFBD><EFBFBD><EFBFBD><16><><00>G<00><>Α<EFBFBD>H<EFBFBD>w˴'<27><>F<><46><EFBFBD>I<EFBFBD><00>G<00><><EFBFBD><EFBFBD><EFBFBD>v<EFBFBD><76> O+<2B><10><><EFBFBD>@S<><53><EFBFBD><00>G<00><>B<EFBFBD>Mc~<7E>=<3D><><EFBFBD>hE<68> bN<62><00>G<00><>$ <0C><>.<2E>۩;r@P<><50>D0<44><00>G<00><><EFBFBD>Y$<1B><><1D><14>ƓP<C693><50><EFBFBD>I<><00>L<00>E<><00>F<00>l!<00><00>C!G?![0X,dXH<05><00><03><04><03><04><03><04><03><03><03>[4#8[<@ @@\[Ddd``
hh
%H
 ` d h L
; L
+
8 +
P+
P 



 T (
+ P+ X +PP +
P% T
          +
P +
P+
P +
8  P
PXP PP PX P

PX PX PX P

PX \[\#8 #8 P @ #8` ` dd     % H    L;L+ 8+ P +P ttppxx%HptxL;L+8+P+P 
T(+PP+P+8+P%T+P+P+P+8    h  h       l  l l\#p#p #p tt t [x` ` `\\[|[<5B>&P %<00>+<00><05><00>\[<5B>L ;L + P<05><01> PP  8PPPP %HPP L;L+P+P+X<00><00><00><03>P<03>P<01>    % H  L;L+ P+P +X+8<00>  WLL<1A><1B><1C><18><19> <0B><><05> !"#$<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>F C +"P +#P+$8+P+ P+!<00>


 !"!# #!"!  <00>!%!P !""#"$"%"&'"(&'(<00> ! T)PD +88+ #+ $+ %+ + !!+ !&!P
!
"##<00>$!# #%"%#!P% P%!"$! # !%!<00> !++ P<05>"! "##"""## "#$#%!"#$"%$<01>!%<01>&<01>'&(% (&'&%"&# &'$'&& '&(&)#'&"('$)('')&&)*((*)%)H*)+&+)'+,(+-L*+;+L*+*)P++*,P)+*-P,&<00>*'<00>&(<00>'+ <00>P(+( )(-,(. %(-% .%-*(%& .'-/..0%%01//10%0H102%20.2%/2.L1/;/L1+10P/+1%P0+1.P%)0.+/.),%)+&+P%+%*()+%& (+%'- )X%(X& X'%<00> &<00>%'<00>&# '"% $&%"& #&"$"# #"#$#&8#"#$#"&#$'# "%$ +"++!!$$%H$%!%%!%L$;L$+$P+$!P+$8! !%PC+PP+PP+P<05>!+#$+ #+ $# !%8&&' &%& '%& && %% '' % H' (%( &()(*L'(;(L'+' P(+')P +'*X)(<00>' <00>()<00> "')(* +<01>%',<01>&('<01> ('' ,, -((- % H- .,. '.,(.'.(L-.;.L-+- P.+-,P +-'X,+-(8''<00>(.("' (-,( W<01>L)<29>*<2A>+<2B>'<27>-<2D> <20><><05>(,./01234<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>F. C, '+'2P +'3P)+'48*+'/P++'0P,+'1<00>-
'
).
*/+"0,1-2.13'031/2100<00>1%1P0122'"2.32/4"%2&56+27,5+-6,.+-'7-+/,+''<00>+ +'1+, ,--T,',-)-P'D0',+,8-'8',,%"-,&.,/',+0-'+03.+04/-+0,.+011,+0++/&/P+
/
)0
*122322!0&!/%!212!02/321/!/%<00>%&!%++.+P<05>!)& &.%*.&&&.. &.)/.*0&.!/&%0/<01>0<01>!1<01>%21)30 312*10&)1. 12/*211 21)31*4.21&32/4322411453354%4H546164267368L56;6L5+54P6+57P4+58P71<00>52<00>13<00>2+<00>P36343873903809085301928:99;00;<::<;%;H<;=0=;9=0:=9L<:;:L<+<;P:+<0P;+<9P04;96:947046&6P0+0534+013+0284X03X1X20<00>1<00>02<00>1.2&0/10)&1 .1&*/&. .&)./*.18.&./.&1./2.&0/++'"&++"++-!!%%%H''!'%'!L%;%L+P%+P+!8)% *%PC++.$+#+D++<00>L%P%,P!C!#L$;$L+P@$L!;L!+!P@$!@!$'$8D#!X','<01>,D#D!#+&+"!+#+%+ ++PP+PP'+P<05>,+-+PP+PP.+PP/+&0+"!+#!+P%+P"+P+P+P'+P,#+--%+P&+P.+P/'+P +P +P+PP+PP,+PP-)). ./**/.%.H/.1 1.)1 *1)L/*;*L/+/.P*+/ P.+/)8 ++*P)++.P*++ 8.+ ) +* +."    )*")*) )*+*+.* )*+    ++..  %H *.*+*. *+L ; L*+*P +*.P+*+P.**))%H))L);)L+P)+ P + P + 8.+ P)<00> ` +P + P+8 +Ph) * ** **+ *.)**/+*.*+)*+ )+.+1+
2
+34 5//
6/ 7/8*/* 9*
:*;/*6X97:/8X;6+*73*4X/5X6+)X7/.*)1*2X+))+//+.**.++..+/+.)+/*+)+*+.+/ ++)
.+*)\[<5B>%*%"#%*&'%8""&'%0%%!%!,% -%"%# %% ##% %%H%&#&&# && L%&;&L'+'P&+'#P+'P#+' Ph &&'##''&''&#' ##'&##& &+ &#&)*&.,.&)-/+0')'.1'+2'3'+4.5)6'1X425'3X61&2-/X'0X1& X2'# *,X&+%'#+%+ +%. +%)\\VSS SS STT(TS<00>S8SS#S S
S S TS SSSS S
SSSSS8S8S8SS SS$S8S!S S"!S8"S8#S8$TS%S&S'\<00><00>l><00>l <00>
<00> <00><00> <00><00><00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><><7F><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><><7F><EFBFBD><EFBFBD><00>8G<00><00><00>k<00><00><00> w<00>) <00>B<00>jV<00><><7F><EFBFBD><EFBFBD><00>8G<00><00> jV<00><><7F><EFBFBD><EFBFBD><00>8G<00><00> jV<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>?jV<00><><7F><EFBFBD><EFBFBD><00>8G<00><00>jV<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>?jV<00><><7F><EFBFBD><EFBFBD><00>8G<00><00>jV<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00><><EFBFBD>.jV<00><><7F><EFBFBD><EFBFBD><00>8G<00><00>jV<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>j V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>7<EFBFBD>5j
V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00><>j V<00><><7F><EFBFBD><EFBFBD><00>8G<00><00>j V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00><0F>@j V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00><13>>jV<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>@jV<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>CjV<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>AjV<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00> <20>jV<00><><7F><EFBFBD><EFBFBD><00>8G<00><00>jV<00><><7F><EFBFBD><EFBFBD><00>8G<00><00>jV<00><><7F><EFBFBD><EFBFBD><00>8G<00><00>jV<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>.<2E><>@jV<00><><7F><EFBFBD><EFBFBD><00>8G<00><00><00><><EFBFBD><EFBFBD>jV<00><><7F><EFBFBD><EFBFBD><00>8G<00><00>jV<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>@jV<00><><7F><EFBFBD><EFBFBD><00>8G<00><00> jV<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00><><18>jV<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>u<>jV<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>F&@jV<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>CjV<00><><7F><EFBFBD><EFBFBD><00>8G<00><00>jV<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00><0E>j V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00><><EFBFBD>=j!V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00><>?j"V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>
<EFBFBD>#<23>j#V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>
<EFBFBD>#<j$V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>>j%V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>Bj&V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>j'V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00><><EFBFBD>Aj(V<00><><7F><EFBFBD><EFBFBD><00>8G<00><00>
<00>w<00>3<00>B<00>sV<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>4BtV<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00> <00>?uV<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>?vV<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>@wV<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>CxV<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>yV<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>@zV<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>>{V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>|V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>C}V<00><><7F><EFBFBD><EFBFBD><00>8G<00><00>~V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>?V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00> @@@@@@<40>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>?<3F>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>?<3F>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>?<3F>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>?<3F>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>?<3F>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00><><EFBFBD>=<3D>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>?<3F>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00><>?<3F>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>?<3F>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>?<3F>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00> <00>?<3F>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>?<3F>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>?<3F>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00> V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00> ???<3F>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>B<EFBFBD>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>A<EFBFBD>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00> <00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>@<40>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00> <00>?<00>?<00>?<3F>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8
<EFBFBD>#<<3C>V<00>|<7C><><EFBFBD><EFBFBD><00>8G<00><00> <00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00> <00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>@<40>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00> <00>?<3F>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00> <00>?<00>V<00><><7F><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00> <00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00> A A A<>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00> <20> <20> <20><>V<00><><7F><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><F<>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><01><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>?<3F>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00> <00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00> <00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>zDn<00>
<00> n<00>T
<00><00>r<00>,V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00><00><00><00>r<00> V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00><><EFBFBD><EFBFBD><EFBFBD><00><00><00>n<00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00><00> Trimmed<00><00>n<00>V<00><><7F><EFBFBD><EFBFBD><00>8G<00><00><00><00> Trimmed<00><00>n<00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00><00> Trimmed<00><00>n<00>V<00><><7F><EFBFBD><EFBFBD><00>8G<00><00><00><00> Trimmed<00><00>n<00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00><00> Trimmed<00><00>n<00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00><00> Trimmed<00><00>n<00>'V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00><00> Trimmed<00><00>n<00>&V<00>|<7C><><EFBFBD><EFBFBD><00>8G<00><00><00><00> Trimmed<00><00>n<00>%V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00><00> Trimmed<00><00>n<00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00><00> Trimmed<00><00>n<00>.V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00><00> Trimmed<00>Q <00><00> <00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>XV<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>YV<00><><7F><EFBFBD><EFBFBD><00>8G<00><00>[V<00><><7F><EFBFBD><EFBFBD><00>8G<00><00>]V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>|V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><><7F><EFBFBD><EFBFBD><00>8G<00><00>@V<00>|<7C><><EFBFBD><EFBFBD><00>8G<00><00>EV<00><00><><EFBFBD><EFBFBD><EFBFBD><00>
Note that this is the ASYNC version of the trace function, meaning it will not returns the result right away, but with one frame latency._<00><00><00><00>IV<00><><7F><EFBFBD><EFBFBD><00>8G<00><00>#NiagaraDataInterfaceCollisionQuery+TraceAsync_PreviousFrameQueryIDDescription<00>The query ID returned from the last frame's async trace call.
Regardless if it is a valid ID or not this function call with issue a new async line trace, but it will only return results with a valid ID.<00>V<00>|<7C><><EFBFBD><EFBFBD><00>8G<00><00>#NiagaraDataInterfaceCollisionQueryTraceStartWorldDescription"Ray starting point in world space<00>V<00>|<7C><><EFBFBD><EFBFBD><00>8G<00><00>#NiagaraDataInterfaceCollisionQueryTraceEndWorldDescriptionRay end point in world space<00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>#NiagaraDataInterfaceCollisionQueryTraceChannelDescription`The trace channel to collide against. Trace channels can be configured in the project settings.<00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>#NiagaraDataInterfaceCollisionQuerySkipTraceDescription<00>If true then the trace will be skipped completely.
This can be used as a performance optimization, as branch nodes in the graph still execute every path.<00><00> <00><00><00>V<00><><7F><EFBFBD><EFBFBD><00>8G<00><00>#NiagaraDataInterfaceCollisionQuery'TraceAsync_NextFrameQueryIDDescriptionJThe query ID to save and use as input to this function in the next frame.fV<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>#NiagaraDataInterfaceCollisionQueryCollisionValidDescription\Returns true if the trace was not skipped and the trace was blocked by some world geometry.mV<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>#NiagaraDataInterfaceCollisionQueryIsTraceInsideMeshDescriptionVIf true then the trace started in penetration, i.e. with an initial blocking overlap.dV<00>|<7C><><EFBFBD><EFBFBD><00>8G<00><00>#NiagaraDataInterfaceCollisionQueryCollisionPosWorldDescriptionJIf the collision is valid, this returns the location of the blocking hit.cV<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>#NiagaraDataInterfaceCollisionQueryCollisionNormalDescriptionXIf the collision is valid, this returns the normal at the position of the blocking hit.`V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>#NiagaraDataInterfaceCollisionQuery%CollisionMaterialFrictionDescription<00>Friction value of surface, controls how easily things can slide on this surface (0 is frictionless, higher values increase the amount of friction).bV<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>#NiagaraDataInterfaceCollisionQuery(CollisionMaterialRestitutionDescriptionqRestitution or 'bounciness' of this surface, between 0 (no bounce) and 1 (outgoing velocity is same as incoming)aV<00><><7F><EFBFBD><EFBFBD><00>8G<00><00>#NiagaraDataInterfaceCollisionQuery"CollisionMaterialIndexDescriptioncReturns the index of the surface as defined in the ProjectSettings/Physics/PhysicalSurface section<00>W<00>ZX<00><00>.4<00><00> Shell_Eject<00><00><00>\ l<00><00>b<00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>V<00><00>V<00><00><00><00><00>:c7<00>c<00><00>eV<00><><7F><EFBFBD><EFBFBD><00>8G<00><00>eV<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>IV<00><><7F><EFBFBD><EFBFBD><00>8G<00><00><00>V<00>|<7C><><EFBFBD><EFBFBD><00>8G<00><00><00>V<00>|<7C><><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00><00><00><00><00>p<00><00>V<00><><7F><EFBFBD><EFBFBD><00>8G<00><00>fV<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>m
Note that this is the ASYNC version of the trace function, meaning it will not returns the result right away, but with one frame latency._<00><00><00><00>IV<00><><7F><EFBFBD><EFBFBD><00>8G<00><00>#NiagaraDataInterfaceCollisionQuery+TraceAsync_PreviousFrameQueryIDDescription<00>The query ID returned from the last frame's async trace call.
Regardless if it is a valid ID or not this function call with issue a new async line trace, but it will only return results with a valid ID.<00>V<00>|<7C><><EFBFBD><EFBFBD><00>8G<00><00>#NiagaraDataInterfaceCollisionQueryTraceStartWorldDescription"Ray starting point in world space<00>V<00>|<7C><><EFBFBD><EFBFBD><00>8G<00><00>#NiagaraDataInterfaceCollisionQueryTraceEndWorldDescriptionRay end point in world space<00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>#NiagaraDataInterfaceCollisionQueryTraceChannelDescription`The trace channel to collide against. Trace channels can be configured in the project settings.<00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>#NiagaraDataInterfaceCollisionQuerySkipTraceDescription<00>If true then the trace will be skipped completely.
This can be used as a performance optimization, as branch nodes in the graph still execute every path.<00><00> <00><00><00>V<00><><7F><EFBFBD><EFBFBD><00>8G<00><00>#NiagaraDataInterfaceCollisionQuery'TraceAsync_NextFrameQueryIDDescriptionJThe query ID to save and use as input to this function in the next frame.fV<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>#NiagaraDataInterfaceCollisionQueryCollisionValidDescription\Returns true if the trace was not skipped and the trace was blocked by some world geometry.mV<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>#NiagaraDataInterfaceCollisionQueryIsTraceInsideMeshDescriptionVIf true then the trace started in penetration, i.e. with an initial blocking overlap.dV<00>|<7C><><EFBFBD><EFBFBD><00>8G<00><00>#NiagaraDataInterfaceCollisionQueryCollisionPosWorldDescriptionJIf the collision is valid, this returns the location of the blocking hit.cV<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>#NiagaraDataInterfaceCollisionQueryCollisionNormalDescriptionXIf the collision is valid, this returns the normal at the position of the blocking hit.`V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>#NiagaraDataInterfaceCollisionQuery%CollisionMaterialFrictionDescription<00>Friction value of surface, controls how easily things can slide on this surface (0 is frictionless, higher values increase the amount of friction).bV<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>#NiagaraDataInterfaceCollisionQuery(CollisionMaterialRestitutionDescriptionqRestitution or 'bounciness' of this surface, between 0 (no bounce) and 1 (outgoing velocity is same as incoming)aV<00><><7F><EFBFBD><EFBFBD><00>8G<00><00>#NiagaraDataInterfaceCollisionQuery"CollisionMaterialIndexDescriptioncReturns the index of the surface as defined in the ProjectSettings/Physics/PhysicalSurface section<00>W<00>\X<00><00>.4<00><00> Shell_Eject<00>Pe<00>P<00>0$<00><00>:<00>Za4
<01>l E5<00>E<00>%5<00><00><00>5<00><00><00><00><00><00>:<00>\a4
<01>l E5<00>E<00>%5<00><00><00>5<00><00><00><00><00><00><00><00><00>V<00>B<00><00>A<00><00><00>B<00>YA<00>X<00>B<00>VA<00>U<00>B<00>[A<00>Z<00>B<00> A<00>
<00>B<00> A<00><00>B<00>8A<00>7<00>B<00>LA<00>K<00>B<00><00>A<00><00><00>B<00>_A<00>^<00>B<00><00>A<00><00><00>B<00><00>A<00><00><00>B<00><00>A<00><00><00>B<00><00>A<00><00><00>B<00><00>A<00><00><00>w<00>OK// Shader generated by Niagara HLSL Translator
// Compile Tags:
// Variable: "bIsInfinitelyLived(False)" StringValue: ""
// Variable: "bCanDieWhenEmitterDeactivates(True)" StringValue: ""
// Variable: "Particles.InitialRotation((null))" StringValue: "Trimmed"
// Variable: "Particles.Collision.CollisionQueryAndResponse.Collision1MaterialIndex((null))" StringValue: "Trimmed"
// Variable: "Particles.HasCollided((null))" StringValue: "Trimmed"
// Variable: "Particles.Collision.CollisionQueryAndResponse001.Collision2MaterialIndex((null))" StringValue: "Trimmed"
// Variable: "Particles.Collision.SafeCombinedCollisionNormal((null))" StringValue: "Trimmed"
// Variable: "Particles.Collision.DoOnce_fn001.Execute((null))" StringValue: "Trimmed"
// Variable: "Particles.Presolve.Velocity((null))" StringValue: "Trimmed"
// Variable: "Particles.Presolve.Position((null))" StringValue: "Trimmed"
// Variable: "Particles.Presolve.PhysicsForce((null))" StringValue: "Trimmed"
// Variable: "Particles.DistanceTraveled((null))" StringValue: "Trimmed"
// Variable: "Particles.RibbonUVDistance((null))" StringValue: "Trimmed"
// Compile Tags Editor Only:
// Compile Data> Static Variables Input:
// Variable: Constants.Emitter.SolveForcesAndVelocity.Manually Enable Rotational Solver(False)
// Variable: Particles.RotationalVelocityEnabled(True)
// Variable: SolveForcesAndVelocity.Manually Enable Rotational Solver(False)
// Compile Data> PinToConstantValues Input:
// Pin: /Add Rotational Velocity/Map Set/Map Set->Particles.RotationalVelocityEnabled Value: true
// Pin: /Solve Forces and Velocity/Map Get/Map Get->Particles.RotationalVelocityEnabled Value: True
// Pin: /Solve Forces and Velocity/Map Get/Map Get->Module.Manually Enable Rotational Solver Value: False
// Pin: /Solve Forces and Velocity/Logic OR (Static)/Logic OR (Static)->Result Value: 1
// Pin: /Solve Forces and Velocity/Reroute Node/Reroute Node->InputPin Value: 1
// Pin: /Solve Forces and Velocity/Reroute Node/Reroute Node->OutputPin Value: 1
// Pin: /Solve Forces and Velocity/Reroute Node/Reroute Node->InputPin Value: 1
// Pin: /Solve Forces and Velocity/Reroute Node/Reroute Node->OutputPin Value: 1
// Pin: /Solve Forces and Velocity/Map Get/Map Get->Particles.DragLocalOffsetEnabled Value: Particles.DragLocalOffsetEnabled
// Pin: /Solve Forces and Velocity/Reroute Node/Reroute Node->InputPin Value: Particles.DragLocalOffsetEnabled
// Pin: /Solve Forces and Velocity/Reroute Node/Reroute Node->OutputPin Value: Particles.DragLocalOffsetEnabled
// Static Variables Written:
// Variable: Particles.RotationalVelocityEnabled(True)
struct NiagaraID
{
int Index;
int AcquireTag;
};
cbuffer FNiagaraGlobalParameters
{
float Engine_WorldDeltaTime;
float Engine_DeltaTime;
float Engine_InverseDeltaTime;
float Engine_Time;
float Engine_RealTime;
int Engine_QualityLevel;
int Engine_PaddingInt32_0;
int Engine_PaddingInt32_1;
}
cbuffer FNiagaraSystemParameters
{
float Engine_Owner_TimeSinceRendered;
float Engine_Owner_LODDistance;
float Engine_Owner_LODDistanceFraction;
float Engine_System_Age;
int Engine_Owner_ExecutionState;
int Engine_System_TickCount;
int Engine_System_NumEmitters;
int Engine_System_NumEmittersAlive;
int Engine_System_SignificanceIndex;
int Engine_System_RandomSeed;
int Engine_System_CurrentTimeStep;
int Engine_System_NumTimeSteps;
float Engine_System_TimeStepFraction;
int Engine_System_NumParticles;
int Engine_System_PaddingInt32_0;
int Engine_System_PaddingInt32_1;
}
cbuffer FNiagaraOwnerParameters
{
float4x4 Engine_Owner_SystemLocalToWorld;
float4x4 Engine_Owner_SystemWorldToLocal;
float4x4 Engine_Owner_SystemLocalToWorldTransposed;
float4x4 Engine_Owner_SystemWorldToLocalTransposed;
float4x4 Engine_Owner_SystemLocalToWorldNoScale;
float4x4 Engine_Owner_SystemWorldToLocalNoScale;
float4 Engine_Owner_Rotation;
float3 Engine_Owner_Position;
int Engine_Owner_PaddingInt32_0;
float3 Engine_Owner_Velocity;
int Engine_Owner_PaddingInt32_1;
float3 Engine_Owner_SystemXAxis;
int Engine_Owner_PaddingInt32_2;
float3 Engine_Owner_SystemYAxis;
int Engine_Owner_PaddingInt32_3;
float3 Engine_Owner_SystemZAxis;
int Engine_Owner_PaddingInt32_4;
float3 Engine_Owner_Scale;
int Engine_Owner_PaddingInt32_5;
float4 Engine_Owner_LWCTile;
}
cbuffer FNiagaraEmitterParameters
{
int Engine_Emitter_NumParticles;
int Engine_Emitter_TotalSpawnedParticles;
float Engine_Emitter_SpawnCountScale;
float Emitter_Age;
int Emitter_RandomSeed;
int Engine_Emitter_InstanceSeed;
int Engine_Emitter_PaddingInt32_0;
int Engine_Emitter_PaddingInt32_1;
}
cbuffer FNiagaraExternalParameters
{
float Emitter_DistanceTraveled;
int Engine_ExecutionCount;
float Emitter_SpawnRate;
float Emitter_SpawnInterval;
float Emitter_InterpSpawnStartDt;
int Emitter_SpawnGroup;
}
cbuffer PREV_FNiagaraGlobalParameters
{
float PREV_Engine_WorldDeltaTime;
float PREV_Engine_DeltaTime;
float PREV_Engine_InverseDeltaTime;
float PREV_Engine_Time;
float PREV_Engine_RealTime;
int PREV_Engine_QualityLevel;
int PREV_Engine_PaddingInt32_0;
int PREV_Engine_PaddingInt32_1;
}
cbuffer PREV_FNiagaraSystemParameters
{
float PREV_Engine_Owner_TimeSinceRendered;
float PREV_Engine_Owner_LODDistance;
float PREV_Engine_Owner_LODDistanceFraction;
float PREV_Engine_System_Age;
int PREV_Engine_Owner_ExecutionState;
int PREV_Engine_System_TickCount;
int PREV_Engine_System_NumEmitters;
int PREV_Engine_System_NumEmittersAlive;
int PREV_Engine_System_SignificanceIndex;
int PREV_Engine_System_RandomSeed;
int PREV_Engine_System_CurrentTimeStep;
int PREV_Engine_System_NumTimeSteps;
float PREV_Engine_System_TimeStepFraction;
int PREV_Engine_System_NumParticles;
int PREV_Engine_System_PaddingInt32_0;
int PREV_Engine_System_PaddingInt32_1;
}
cbuffer PREV_FNiagaraOwnerParameters
{
float4x4 PREV_Engine_Owner_SystemLocalToWorld;
float4x4 PREV_Engine_Owner_SystemWorldToLocal;
float4x4 PREV_Engine_Owner_SystemLocalToWorldTransposed;
float4x4 PREV_Engine_Owner_SystemWorldToLocalTransposed;
float4x4 PREV_Engine_Owner_SystemLocalToWorldNoScale;
float4x4 PREV_Engine_Owner_SystemWorldToLocalNoScale;
float4 PREV_Engine_Owner_Rotation;
float3 PREV_Engine_Owner_Position;
int PREV_Engine_Owner_PaddingInt32_0;
float3 PREV_Engine_Owner_Velocity;
int PREV_Engine_Owner_PaddingInt32_1;
float3 PREV_Engine_Owner_SystemXAxis;
int PREV_Engine_Owner_PaddingInt32_2;
float3 PREV_Engine_Owner_SystemYAxis;
int PREV_Engine_Owner_PaddingInt32_3;
float3 PREV_Engine_Owner_SystemZAxis;
int PREV_Engine_Owner_PaddingInt32_4;
float3 PREV_Engine_Owner_Scale;
int PREV_Engine_Owner_PaddingInt32_5;
float4 PREV_Engine_Owner_LWCTile;
}
cbuffer PREV_FNiagaraEmitterParameters
{
int PREV_Engine_Emitter_NumParticles;
int PREV_Engine_Emitter_TotalSpawnedParticles;
float PREV_Engine_Emitter_SpawnCountScale;
float PREV_Emitter_Age;
int PREV_Emitter_RandomSeed;
int PREV_Engine_Emitter_InstanceSeed;
int PREV_Engine_Emitter_PaddingInt32_0;
int PREV_Engine_Emitter_PaddingInt32_1;
}
cbuffer PREV_FNiagaraExternalParameters
{
float PREV_Emitter_DistanceTraveled;
int PREV_Engine_ExecutionCount;
float PREV_Emitter_SpawnRate;
float PREV_Emitter_SpawnInterval;
float PREV_Emitter_InterpSpawnStartDt;
int PREV_Emitter_SpawnGroup;
}
struct FParamMap0_Transient
{
float3 AdvectionVelocity;
float Collision_ParticleInverseMassReplacement;
float Collision_ParticleMassReplacement;
float3 Collision_ParticlePhysicsForceReplacement;
float3 Collision_ParticlePositionReplacement;
float3 Collision_ParticleVelocityReplacement;
float3 Collision_PredictedParticlePositionForSimStages;
float CollisionDistanceToCollision;
float CollisionFriction;
bool CollisionIsResting;
float3 CollisionNormal;
float3 CollisionParticleRelativeCollisionLocation;
float3 CollisionParticleWorldPosition;
float CollisionRestitution;
float CollisionSize;
bool CollisionValid;
float3 CollisionVelocity;
float3 CollisionWorldPosition;
bool DragIgnoreMass;
bool FirstFrame;
bool HasAppliedRotationalSolver;
float PhysicsDeltaTime;
float PhysicsDrag;
float3 PhysicsForce;
float PhysicsRotationalDrag;
float3 PhysicsRotationalForce;
};
struct FParamMap0_SolveRotationalForcesAndVelocity
{
float DeltaTime;
float4 MeshOrientation;
float RotationalInertia;
float3 RotationalVelocity;
bool WritetoIntrinsicProperties;
};
struct FParamMap0_SolveForcesAndVelocity
{
float DeltaTime;
float3 Force;
float Mass;
float4 MeshOrientation;
float3 Position;
float3 PreviousVelocity;
float3 RotationalForce;
float RotationalInertia;
float3 RotationalVelocity;
float3 Velocity;
bool WritetoIntrinsicProperties;
};
struct FParamMap0_ParticleState
{
float DeltaTime;
float Lifetime;
};
struct FParamMap0_Particles_Previous
{
float4 MeshOrientation;
float3 Position;
float3 Scale;
float3 Velocity;
};
struct FParamMap0_Particles_Presolve
{
float3 PhysicsForce;
float3 Position;
float3 Velocity;
};
struct FParamMap0_Particles_Collision_DoOnce_fn001
{
bool Execute;
bool TriggeredOnce;
};
struct FParamMap0_Particles_Collision_CollisionQueryAndResponse001
{
int Collision2MaterialIndex;
int CollisionID;
};
struct FParamMap0_Particles_Collision_CollisionQueryAndResponse
{
int Collision1MaterialIndex;
int CollisionID;
};
struct FParamMap0_Particles_Collision
{
float4 AxisAngle;
FParamMap0_Particles_Collision_CollisionQueryAndResponse CollisionQueryAndResponse;
FParamMap0_Particles_Collision_CollisionQueryAndResponse001 CollisionQueryAndResponse001;
FParamMap0_Particles_Collision_DoOnce_fn001 DoOnce_fn001;
float3 SafeCombinedCollisionNormal;
};
struct FParamMap0_Particles
{
float Age;
FParamMap0_Particles_Collision Collision;
float DistanceTraveled;
bool HasCollided;
float4 InitialRotation;
float Lifetime;
float Mass;
float MaterialRandom;
float4 MeshOrientation;
float NormalizedAge;
int NumberOfCollisions;
float3 Position;
FParamMap0_Particles_Presolve Presolve;
FParamMap0_Particles_Previous Previous;
float RestCounter;
float RibbonUVDistance;
float RotationalInertia;
float3 RotationalVelocity;
bool RotationalVelocityEnabled;
float3 Scale;
int UniqueID;
float3 Velocity;
};
struct FParamMap0_OUTPUT_VAR_SolveRotationalForcesAndVelocity
{
float IncomingPhysicsRotationalDrag;
float3 IncomingPhysicsRotationalForce;
float4 MeshOrientation;
float3 RotationalVelocity;
};
struct FParamMap0_OUTPUT_VAR_SolveForcesAndVelocity
{
float IncomingPhysicsDrag;
float3 IncomingPhysicsForce;
float IncomingPhysicsRotationalDrag;
float3 IncomingPhysicsRotationalForce;
float4 MeshOrientation;
float3 Position;
float3 RotationalVelocity;
float3 Velocity;
};
struct FParamMap0_OUTPUT_VAR_ParticleState
{
bool FirstFrame;
};
struct FParamMap0_OUTPUT_VAR_Collision_CollisionQueryAndResponse001
{
float CollisionPenetrationDistance;
bool ModuleDepthBasedCollisionParticleOccluded;
bool ParticleOnScreen;
bool PhysicsCollidesThisFrame;
};
struct FParamMap0_OUTPUT_VAR_Collision_CollisionQueryAndResponse
{
float CollisionPenetrationDistance;
bool ModuleDepthBasedCollisionParticleOccluded;
bool ParticleOnScreen;
bool PhysicsCollidesThisFrame;
};
struct FParamMap0_OUTPUT_VAR_Collision
{
FParamMap0_OUTPUT_VAR_Collision_CollisionQueryAndResponse CollisionQueryAndResponse;
FParamMap0_OUTPUT_VAR_Collision_CollisionQueryAndResponse001 CollisionQueryAndResponse001;
bool CollisionValid;
float3 CombinedCollisionNormal;
float3 IncomingCollisionVelocity;
float3 ModuleCollision1Normal;
bool ModuleCollision1Valid;
float3 ModuleCollision2Normal;
bool ModuleCollision2Valid;
float3 ModuleCombinedCollisionNormal;
};
struct FParamMap0_OUTPUT_VAR
{
FParamMap0_OUTPUT_VAR_Collision Collision;
FParamMap0_OUTPUT_VAR_ParticleState ParticleState;
FParamMap0_OUTPUT_VAR_SolveForcesAndVelocity SolveForcesAndVelocity;
FParamMap0_OUTPUT_VAR_SolveRotationalForcesAndVelocity SolveRotationalForcesAndVelocity;
};
struct FParamMap0_Local_SolveRotationalForcesAndVelocity
{
float DeltaTime;
float3 ForceRotationsInRadians;
};
struct FParamMap0_Local_SolveForcesAndVelocity
{
float3 AdvectionVelocity;
float DeltaTime;
bool DragIgnoreMass;
float3 DragVelocity;
float3 ForceRotationsInRadians;
float InverseDeltaTime;
float InverseMass;
float Mass;
float PhysicsDrag;
float3 PhysicsForce;
float3 RotationalForce;
float RotationalInertia;
};
struct FParamMap0_Local_InitialMeshOrientation
{
float4 OrientationQuat;
float4 RotationQuat;
};
struct FParamMap0_Local_InitializeParticle
{
float InitRIbbonDistance;
};
struct FParamMap0_Local_Collision_CollisionQueryAndResponse001
{
float3 ModuleAttemptedMovementThisUpdate;
float3 ModuleForceContribution;
float3 ModuleFrictionForceVectorInNewtons;
float3 ModuleFrictionForceVelocityVector;
bool ModuleInitialDataInstanceAlive;
float3 ModuleInitialForceDividedByMass;
float ModuleNormalForceInNewtons;
float ModulePercentageOfTickDedicatedToUpdatingPosition;
float ModulePhysicsDeltaTime;
float3 ModulePlaneNormal;
float3 ModulePlanePivotPoint;
float3 ModuleReflectedVelocity;
float3 ModuleReflectedVelocityWithFrictionApplied;
bool ModuleRemoveRestitution;
float3 ModuleReturnedCollisionNormal;
bool ModuleReturnedCollisionValidBool;
float3 ModuleReturnedCollisionWorldPosition;
float ModuleReturnedFriction;
float ModuleReturnedRestitution;
float ModuleTickDeltaForThisCollisionUpdate;
float3 ModuleTraceDirection;
float3 ModuleTraceOrigin;
float3 ModuleTraceVector;
float3 ModuleTraceWorldEnd;
float3 ModuleTraceWorldStart;
};
struct FParamMap0_Local_Collision_CollisionQueryAndResponse
{
float3 ModuleAttemptedMovementThisUpdate;
float3 ModuleForceContribution;
float3 ModuleFrictionForceVectorInNewtons;
float3 ModuleFrictionForceVelocityVector;
bool ModuleInitialDataInstanceAlive;
float3 ModuleInitialForceDividedByMass;
float ModuleNormalForceInNewtons;
float ModulePercentageOfTickDedicatedToUpdatingPosition;
float ModulePhysicsDeltaTime;
float3 ModulePlaneNormal;
float3 ModulePlanePivotPoint;
float3 ModuleReflectedVelocity;
float3 ModuleReflectedVelocityWithFrictionApplied;
bool ModuleRemoveRestitution;
float3 ModuleReturnedCollisionNormal;
bool ModuleReturnedCollisionValidBool;
float3 ModuleReturnedCollisionWorldPosition;
float ModuleReturnedFriction;
float ModuleReturnedRestitution;
float ModuleTickDeltaForThisCollisionUpdate;
float3 ModuleTraceDirection;
float3 ModuleTraceOrigin;
float3 ModuleTraceVector;
float3 ModuleTraceWorldEnd;
float3 ModuleTraceWorldStart;
};
struct FParamMap0_Local_Collision
{
FParamMap0_Local_Collision_CollisionQueryAndResponse CollisionQueryAndResponse;
FParamMap0_Local_Collision_CollisionQueryAndResponse001 CollisionQueryAndResponse001;
bool DebugCollided1;
bool DebugCollided2;
float3 DebugCollisionNormal1;
float3 DebugCollisionNormal2;
float3 DebugCollisionPosition1;
float3 DebugCollisionPosition2;
float3 InputForcePassthrough_NeededForSimStageExecution;
float3 InputPositionPassthrough_NeededForSimStageExecution;
float3 InputVelocityPassthrough_NeededForSimStageExecution;
bool ManuallyEnterRest;
float ModuleParticleRadius;
float3 ModuleTraceWorldEnd1;
float3 ModuleTraceWorldEnd2;
float3 ModuleTraceWorldStart1;
float3 ModuleTraceWorldStart2;
bool UpdateMeshRotation;
};
struct FParamMap0_Local_AddVelocityInCone
{
float3 ConeVector;
float DotBetweenConeVectorAndAxis;
};
struct FParamMap0_Local
{
FParamMap0_Local_AddVelocityInCone AddVelocityInCone;
FParamMap0_Local_Collision Collision;
FParamMap0_Local_InitializeParticle InitializeParticle;
FParamMap0_Local_InitialMeshOrientation InitialMeshOrientation;
FParamMap0_Local_SolveForcesAndVelocity SolveForcesAndVelocity;
FParamMap0_Local_SolveRotationalForcesAndVelocity SolveRotationalForcesAndVelocity;
};
struct FParamMap0_Interpolation
{
float Emitter_InterpSpawnStartDt;
int Emitter_SpawnGroup;
float Emitter_SpawnInterval;
int InterpSpawn_Index;
float InterpSpawn_InvSpawnTime;
float InterpSpawn_InvUpdateTime;
float InterpSpawn_SpawnTime;
float InterpSpawn_UpdateTime;
float SpawnInterp;
};
struct FParamMap0_InitializeParticle
{
float MaterialRandom;
int PositionOffsetCoordinateSpace;
};
struct FParamMap0_InheritVelocity
{
float3 VelocitySource;
};
struct FParamMap0_Engine_System
{
float Age;
int CurrentTimeStep;
int NumEmitters;
int NumEmittersAlive;
int NumParticles;
int NumTimeSteps;
int PaddingInt32_0;
int PaddingInt32_1;
int RandomSeed;
int SignificanceIndex;
int TickCount;
float TimeStepFraction;
};
struct FParamMap0_Engine_Owner
{
int ExecutionState;
float LODDistance;
float LODDistanceFraction;
float4 LWCTile;
int PaddingInt32_0;
int PaddingInt32_1;
int PaddingInt32_2;
int PaddingInt32_3;
int PaddingInt32_4;
int PaddingInt32_5;
float3 Position;
float4 Rotation;
float3 Scale;
float4x4 SystemLocalToWorld;
float4x4 SystemLocalToWorldNoScale;
float4x4 SystemLocalToWorldTransposed;
float4x4 SystemWorldToLocal;
float4x4 SystemWorldToLocalNoScale;
float4x4 SystemWorldToLocalTransposed;
float3 SystemXAxis;
float3 SystemYAxis;
float3 SystemZAxis;
float TimeSinceRendered;
float3 Velocity;
};
struct FParamMap0_Engine_Emitter
{
int InstanceSeed;
int NumParticles;
int PaddingInt32_0;
int PaddingInt32_1;
float SpawnCountScale;
int TotalSpawnedParticles;
};
struct FParamMap0_Engine
{
float DeltaTime;
FParamMap0_Engine_Emitter Emitter;
int ExecutionCount;
float InverseDeltaTime;
FParamMap0_Engine_Owner Owner;
int PaddingInt32_0;
int PaddingInt32_1;
int QualityLevel;
float RealTime;
FParamMap0_Engine_System System;
float Time;
float WorldDeltaTime;
};
struct FParamMap0_Emitter
{
float Age;
float DistanceTraveled;
float InterpSpawnStartDt;
int RandomSeed;
int SpawnGroup;
float SpawnInterval;
float SpawnRate;
};
struct FParamMap0_DataInstance
{
bool Alive;
};
struct FParamMap0_Collision_CollisionQueryAndResponse001
{
float BounceCollisionFriction;
bool CollisionEnabled;
float CollisionNormalRandomizationPercentage;
int CPUCollisionTraceChannel;
int CPUFrictionMergeType;
float DeltaTime;
float DynamicFrictionCoefficient;
bool ManuallyEnterRest;
float MaxIntersectionCorrectionDistance;
float MaxTraceLength;
float ParticleRadius;
float ParticleRestitutionCoeffiecient;
bool RandomizeCollisionNormal;
float StaticFrictionCoefficient;
float StaticFrictionEngagementSpeed;
float TraceVectorLengthMultiplier;
bool UpdateRotationalVelocity;
};
struct FParamMap0_Collision_CollisionQueryAndResponse
{
float BounceCollisionFriction;
bool CollisionEnabled;
float CollisionNormalRandomizationPercentage;
int CPUCollisionTraceChannel;
int CPUFrictionMergeType;
float DeltaTime;
float DynamicFrictionCoefficient;
bool ManuallyEnterRest;
float MaxIntersectionCorrectionDistance;
float MaxTraceLength;
float ParticleRadius;
float ParticleRestitutionCoeffiecient;
bool RandomizeCollisionNormal;
float StaticFrictionCoefficient;
float StaticFrictionEngagementSpeed;
float TraceVectorLengthMultiplier;
bool UpdateRotationalVelocity;
};
struct FParamMap0_Collision
{
float AdvancedAgingRate;
bool CollisionEnabled;
FParamMap0_Collision_CollisionQueryAndResponse CollisionQueryAndResponse;
FParamMap0_Collision_CollisionQueryAndResponse001 CollisionQueryAndResponse001;
bool ControlRestStateViaSurfaceNormal;
bool CorrectInterpenetration;
int CPUCollisionTraceChannel;
bool EnableMaxCollisionCount;
bool EnableRestState;
bool ManuallyEnterRest;
float ParticleMass;
float3 PhysicsForce;
bool RandomizeCollisionNormalVector;
};
struct FParamMap0_Array_Previous
{
int MeshOrientation;
int Position;
int Scale;
int Velocity;
};
struct FParamMap0_Array_Presolve
{
int PhysicsForce;
int Position;
int Velocity;
};
struct FParamMap0_Array_Collision_DoOnce_fn001
{
int Execute;
int TriggeredOnce;
};
struct FParamMap0_Array_Collision_CollisionQueryAndResponse001
{
int Collision2MaterialIndex;
int CollisionID;
};
struct FParamMap0_Array_Collision_CollisionQueryAndResponse
{
int Collision1MaterialIndex;
int CollisionID;
};
struct FParamMap0_Array_Collision
{
int AxisAngle;
FParamMap0_Array_Collision_CollisionQueryAndResponse CollisionQueryAndResponse;
FParamMap0_Array_Collision_CollisionQueryAndResponse001 CollisionQueryAndResponse001;
FParamMap0_Array_Collision_DoOnce_fn001 DoOnce_fn001;
int SafeCombinedCollisionNormal;
};
struct FParamMap0_Array
{
int Age;
FParamMap0_Array_Collision Collision;
int DistanceTraveled;
int HasCollided;
int InitialRotation;
int Lifetime;
int Mass;
int MaterialRandom;
int MeshOrientation;
int NormalizedAge;
int NumberOfCollisions;
int Position;
FParamMap0_Array_Presolve Presolve;
FParamMap0_Array_Previous Previous;
int RestCounter;
int RibbonUVDistance;
int RotationalInertia;
int RotationalVelocity;
int RotationalVelocityEnabled;
int Scale;
int UniqueID;
int Velocity;
};
struct FParamMap0_AddVelocityInCone
{
int ConeAxisCoordinateSpace;
bool UseVelocityFalloffOnConeAxis;
};
struct FParamMap0_AddRotationalVelocity
{
float3 RotationRate;
};
struct FParamMap0
{
FParamMap0_AddRotationalVelocity AddRotationalVelocity;
FParamMap0_AddVelocityInCone AddVelocityInCone;
FParamMap0_Array Array;
FParamMap0_Collision Collision;
FParamMap0_DataInstance DataInstance;
FParamMap0_Emitter Emitter;
FParamMap0_Engine Engine;
FParamMap0_InheritVelocity InheritVelocity;
FParamMap0_InitializeParticle InitializeParticle;
FParamMap0_Interpolation Interpolation;
FParamMap0_Local Local;
FParamMap0_OUTPUT_VAR OUTPUT_VAR;
FParamMap0_Particles Particles;
FParamMap0_ParticleState ParticleState;
FParamMap0_SolveForcesAndVelocity SolveForcesAndVelocity;
FParamMap0_SolveRotationalForcesAndVelocity SolveRotationalForcesAndVelocity;
FParamMap0_Transient Transient;
};
struct FSimulationContext
{
FParamMap0 MapSpawn;
FParamMap0 MapUpdate;
};
static float HackSpawnInterp = 1.0;
void NiagaraScript_1857_ScriptUsage4_EvaluationType_NewEnumerator0_FixedRandomSeed_false_OverrideSeed_false_RandomnessMode_NewEnumerator0_Func_(int In_Engine_System_RandomSeed, float In_FloatMin, float In_FloatMax, int In_Seed, int In_Engine_System_TickCount, int In_Particles_UniqueID, int In_Emitter_RandomSeed, int In_Engine_Emitter_InstanceSeed, out float Out_RandomFloat, out bool Out_IsDeterministic, inout FSimulationContext Context);
void NiagaraScript_1864_Func_(float3 In_Engine_Owner_Position, out float3 Out_SimulationPosition, inout FSimulationContext Context);
void InitializeParticle_Emitter_Func_(inout FSimulationContext Context);
void InheritVelocity_Emitter_Func_(inout FSimulationContext Context);
void NiagaraScript_1845_Func_(float3 In_V, float3 In_Fallback, float In_Threshold, out float3 Out_Direction, out float Out_Length, out bool Out_BelowThreshold, inout FSimulationContext Context);
void NiagaraScript_1835_Func_(int In_SourceSpace, int In_DestinationSpace, float4x4 In_LocalToWorldTransform, float4x4 In_WorldToLocalTransform, bool In_bLocalSpace, out bool Out_bUseOriginal, out float4x4 Out_OutTransform, out bool Out_LocalToWorld, inout FSimulationContext Context);
void InitialMeshOrientation_TransformVector002_Emitter_Func_(float3 In_InVector, int In_SourceSpace, int In_DestinationSpace, bool In_ApplyScale, out float3 Out_OutVector, inout FSimulationContext Context);
void CustomHlsl5A25A2A4455E3C692D3322A954DF887F_Func_(float3 In_From, float3 In_To, out float4 Out_Result);
void NiagaraScript_1847_Func_(float3 In_From, float3 In_To, out float4 Out_NewOutput, inout FSimulationContext Context);
void CustomHlsl001624D816540ECD5F976902A85E139007C_Func_(float4 In_Quat1, float4 In_Quat2, out float4 Out_Result);
void NiagaraScript_1850_Func_(float4 In_QuaternionA, float4 In_QuaternionB, out float4 Out_Quaternion, inout FSimulationContext Context);
void InitialMeshOrientation_Emitter_Func_(inout FSimulationContext Context);
void NiagaraScript_1841_Emitter_Determinism_false_Func_(int In_Seed, int In_Engine_System_TickCount, bool In_OverrideSeed, int In_Particles_UniqueID, int In_Emitter_RandomSeed, bool In_FixedOverrideSeed, int In_RandomnessMode, out NiagaraRandInfo Out_RandomInfo, out bool Out_UseDeterministicRandoms, inout FSimulationContext Context);
void NiagaraScript_1840_Func_(float In_Min, float In_Max, int In_Seed, int In_RandomnessMode, bool In_OverrideSeed, bool In_FixedOverrideSeed, out float Out_Result, inout FSimulationContext Context);
void NiagaraScript_1842_Func_(float In_Min, float In_Max, int In_Seed, int In_RandomnessMode, bool In_OverrideSeed, bool In_FixedOverrideSeed, out float Out_Result, inout FSimulationContext Context);
void NiagaraScript_1844_Func_(float In_Min, float In_Max, int In_Seed, int In_RandomnessMode, bool In_OverrideSeed, bool In_FixedOverrideSeed, out float Out_Result, inout FSimulationContext Context);
void NiagaraScript_1843_Func_(float In_Theta, float In_Radius, float In_Period, out float2 Out_XY, out float Out_X, out float Out_Y, out float2 Out_dXdY, out float Out_dX, out float Out_dY, inout FSimulationContext Context);
void NiagaraScript_1839_Func_(float In_ConeAngle, float In_ConePointDistribution, bool In_EnableCurvature, float In_ConeCurvature, int In_Seed, int In_RandomnessMode, bool In_OverrideSeed, out float3 Out_Vector, out float3 Out_NormalizedVector, inout FSimulationContext Context);
void NiagaraScript_1846_Func_(float In_INPUT_VAR, float In_InputLow, float In_InputHigh, float In_TargetLow, float In_TargetHigh, out float Out_Remapped, inout FSimulationContext Context);
void AddVelocityInCone_NF_TransformVector_Emitter_Func_(float3 In_InVector, int In_SourceSpace, int In_DestinationSpace, bool In_ApplyScale, out float3 Out_OutVector, inout FSimulationContext Context);
void NiagaraScript_1836_Func_(float3 In_VECTOR_VAR, float4 In_Quaternion, out float3 Out_Vector, inout FSimulationContext Context);
void AddVelocityInCone_Emitter_Func_(inout FSimulationContext Context);
void NiagaraScript_1868_ScriptUsage4_EvaluationType_NewEnumerator0_FixedRandomSeed_false_OverrideSeed_false_RandomnessMode_NewEnumerator0_Func_(int In_Engine_System_RandomSeed, float3 In_RangeMin, float3 In_RangeMax, int In_Seed, int In_Engine_System_TickCount, int In_Particles_UniqueID, int In_Emitter_RandomSeed, int In_Engine_Emitter_InstanceSeed, out float3 Out_RandomValue, out bool Out_IsDeterministic, inout FSimulationContext Context);
void RandomRangeVector_Emitter_Func_(out float3 Out_NewOutput, inout FSimulationContext Context);
void AddRotationalVelocity_TransformVector_Emitter_Func_(float3 In_InVector, int In_SourceSpace, int In_DestinationSpace, bool In_ApplyScale, out float3 Out_OutVector, inout FSimulationContext Context);
void AddRotationalVelocity_Emitter_Func_(inout FSimulationContext Context);
void ParticleState_Emitter_Func_(inout FSimulationContext Context);
void GravityForce_Emitter_Func_(inout FSimulationContext Context);
void Drag_Emitter_Func_(inout FSimulationContext Context);
void Collision_TransformPosition007_Emitter_Func_(float3 In_InPosition, int In_SourceSpace, int In_DestinationSpace, bool In_ApplyScale, out float3 Out_OutPosition, inout FSimulationContext Context);
void Collision_TransformVector009_Emitter_Func_(float3 In_InVector, int In_SourceSpace, int In_DestinationSpace, bool In_ApplyScale, out float3 Out_OutVector, inout FSimulationContext Context);
void Collision_TransformVector010_Emitter_Func_(float3 In_InVector, int In_SourceSpace, int In_DestinationSpace, bool In_ApplyScale, out float3 Out_OutVector, inout FSimulationContext Context);
void NiagaraScript_1890_Method_NewEnumerator0_Func_(float3 In_MeshScale, float3 In_MeshDimensions, out float Out_Radius, inout FSimulationContext Context);
void NiagaraScript_1872_Func_(float3 In_Velocity, float3 In_AdvectionVelocity, float In_InverseMass, float In_Drag, float In_DeltaTime, bool In_IgnoreMass, out float3 Out_Output, inout FSimulationContext Context);
void PerformCollisionQueryAsyncCPU_Collision_CollisionQueryAndResponse_Query(int In_InstanceData, int In_PreviousFrameQueryID, float3 In_TraceStartWorld, float3 In_TraceEndWorld, int In_TraceChannel, bool In_SkipTrace, out int Out_NextFrameQueryID, out bool Out_CollisionValid, out bool Out_IsTraceInsideMesh, out float3 Out_CollisionPosWorld, out float3 Out_CollisionNormal, out float Out_CollisionMaterialFriction, out float Out_CollisionMaterialRestitution, out int Out_CollisionMaterialIndex);
void NiagaraScript_1879_Func_(float3 In_PlaneNormal, float3 In_PlanePivotPoint, float3 In_InitialSphereLocation, float3 In_SpherePositionDelta, float In_CollisionRadius, float In_PhysicsDeltaTime, float In_MaxCorrectiondistance, out bool Out_Collides, out float3 Out_IntersectionLocation, out float3 Out_PreASC45IntersectionSphereCenterLocation, out float3 Out_InitialPositionRelativeCollisionLocation, out float Out_TimeElapsedToCollision, out float Out_RemainingTimePostCollision, out float Out_PercentageofTimeUsedToPerformCollision, out float Out_InitialDistanceBetweenTheSphereASC39sSurfaceandtheCollision, out float Out_UninterruptedAnimatedSphereASC39sDistancetoCollisionPlane, inout FSimulationContext Context);
void NiagaraScript_1882_Func_(float2 In_Min, float2 In_Max, int In_Seed, int In_RandomnessMode, bool In_OverrideSeed, out float2 Out_Result, inout FSimulationContext Context);
void NiagaraScript_1881_Func_(float3 In_ConeAxis, float In_Scale, float In_Spread, out float3 Out_Ouput, inout FSimulationContext Context);
void NiagaraScript_1880_Func_(float3 In_InVector, float3 In_Normal, out float3 Out_Reflected, inout FSimulationContext Context);
void NiagaraScript_1883_Func_(float3 In_INPUT_VAR, out float3 Out_CentimeterstoMeters, out float3 Out_MeterstoCentimeters, inout FSimulationContext Context);
void NiagaraScript_1885_Func_(float3 In_VECTOR_VAR, float3 In_FallbackVector, float In_Threshold, out float3 Out_Direction, out float Out_Length, out bool Out_BelowThreshold, inout FSimulationContext Context);
void NiagaraScript_1884_Func_(float3 In_VECTOR_VAR, float3 In_Normal, bool In_NormalizeNormal, out float3 Out_Ouput, inout FSimulationContext Context);
void NiagaraScript_1886_Func_(float3 In_INPUT_VAR, out float3 Out_CentimeterstoMeters, out float3 Out_MeterstoCentimeters, inout FSimulationContext Context);
void NiagaraScript_1887_Func_(float3 In_INPUT_VAR, out float3 Out_CentimeterstoMeters, out float3 Out_MeterstoCentimeters, inout FSimulationContext Context);
void Collision_CollisionQueryAndResponse_Emitter_Func_(out float3 Out_ModuleTraceWorldStart, out float3 Out_ModuleTraceWorldEnd, out float3 Out_CollisionPosition, out float3 Out_CollisionNormal, out bool Out_Collided, inout FSimulationContext Context);
void PerformCollisionQueryAsyncCPU_Collision_CollisionQueryAndResponse001_Query(int In_InstanceData, int In_PreviousFrameQueryID, float3 In_TraceStartWorld, float3 In_TraceEndWorld, int In_TraceChannel, bool In_SkipTrace, out int Out_NextFrameQueryID, out bool Out_CollisionValid, out bool Out_IsTraceInsideMesh, out float3 Out_CollisionPosWorld, out float3 Out_CollisionNormal, out float Out_CollisionMaterialFriction, out float Out_CollisionMaterialRestitution, out int Out_CollisionMaterialIndex);
void Collision_CollisionQueryAndResponse001_Emitter_Func_(out float3 Out_ModuleTraceWorldStart, out float3 Out_ModuleTraceWorldEnd, out float3 Out_CollisionPosition, out float3 Out_CollisionNormal, out bool Out_Collided, inout FSimulationContext Context);
void Collision_TransformVector_Emitter_Func_(float3 In_InVector, int In_SourceSpace, int In_DestinationSpace, bool In_ApplyScale, out float3 Out_OutVector, inout FSimulationContext Context);
void Collision_TransformPosition001_Emitter_Func_(float3 In_InPosition, int In_SourceSpace, int In_DestinationSpace, bool In_ApplyScale, out float3 Out_OutPosition, inout FSimulationContext Context);
void Collision_TransformVector001_Emitter_Func_(float3 In_InVector, int In_SourceSpace, int In_DestinationSpace, bool In_ApplyScale, out float3 Out_OutVector, inout FSimulationContext Context);
void Collision_DoOnce_fn001_Emitter_Func_(bool In_TriggerCondition, bool In_Reset, out bool Out_Execute, out bool Out_Triggered, inout FSimulationContext Context);
void NiagaraScript_1851_Func_(float4 In_AxisAngle, bool In_NormalizeAxis, out float4 Out_Quaternion, inout FSimulationContext Context);
void Collision_Emitter_Func_(inout FSimulationContext Context);
void NiagaraScript_1849_NormalizeRotations_false_Func_(float3 In_RotationalVelocityVector, float In_DeltaTime, float4 In_ExistingOrientationQuat, out float4 Out_NewOrientationQuat, inout FSimulationContext Context);
void SolveForcesAndVelocity_Emitter_Func_(inout FSimulationContext Context);
void SolveRotationalForcesAndVelocity_Emitter_Func_(inout FSimulationContext Context);
float GetSpawnInterpolation();
void NiagaraScript_1857_ScriptUsage4_EvaluationType_NewEnumerator0_FixedRandomSeed_false_OverrideSeed_false_RandomnessMode_NewEnumerator0_Func_(int In_Engine_System_RandomSeed, float In_FloatMin, float In_FloatMax, int In_Seed, int In_Engine_System_TickCount, int In_Particles_UniqueID, int In_Emitter_RandomSeed, int In_Engine_Emitter_InstanceSeed, out float Out_RandomFloat, out bool Out_IsDeterministic, inout FSimulationContext Context)
{
bool Constant36 = false;
float Result = In_FloatMax - In_FloatMin;
float Result1 = rand_float(Result);
float Result2 = In_FloatMin + Result1;
Out_RandomFloat = Result2;
Out_IsDeterministic = Constant36;
}
void NiagaraScript_1864_Func_(float3 In_Engine_Owner_Position, out float3 Out_SimulationPosition, inout FSimulationContext Context)
{
Out_SimulationPosition = Context.MapSpawn.Engine.Owner.Position;
}
void InitializeParticle_Emitter_Func_(inout FSimulationContext Context)
{
Context.MapSpawn.Particles.MaterialRandom = Context.MapSpawn.InitializeParticle.MaterialRandom;
float Constant40 = 5;
Context.MapSpawn.Particles.Lifetime = Constant40;
float Constant41 = 1;
Context.MapSpawn.Particles.Mass = Constant41;
float3 Constant42 = float3(1,1,1);
Context.MapSpawn.Particles.Scale = Constant42;
float3 Constant43 = float3(0,0,0);
float3 NiagaraScript_1864_Func_Output_SimulationPosition;
NiagaraScript_1864_Func_(Constant43, NiagaraScript_1864_Func_Output_SimulationPosition, Context);
float3 Constant44 = float3(0,0,0);
int Constant45 = 0;
Context.MapSpawn.InitializeParticle.PositionOffsetCoordinateSpace = Constant45;
float Constant46 = 0;
float3 Result3 = Constant44 * Constant46;
float3 Result4 = NiagaraScript_1864_Func_Output_SimulationPosition + Result3;
Context.MapSpawn.Particles.Position = Result4;
Context.MapSpawn.Local.InitializeParticle.InitRIbbonDistance = Context.MapSpawn.Particles.RibbonUVDistance;
}
void InheritVelocity_Emitter_Func_(inout FSimulationContext Context)
{
float3 Constant50 = float3(0.5,0.5,0.5);
float Constant51 = 100;
float Constant52 = 25;
float3 Result5 = Constant50 * Context.MapSpawn.InheritVelocity.VelocitySource;
float3 Result6 = Context.MapSpawn.Particles.Velocity + Result5;
Context.MapSpawn.Particles.Velocity = Result6;
}
void NiagaraScript_1845_Func_(float3 In_V, float3 In_Fallback, float In_Threshold, out float3 Out_Direction, out float Out_Length, out bool Out_BelowThreshold, inout FSimulationContext Context)
{
float Result7 = dot(In_V,In_V);
float Result8 = In_Threshold * In_Threshold;
bool Result9 = NiagaraAll(Result7 < Result8);
float Result10 = length(In_Fallback);
float Result11 = rsqrt(Result7);
float3 Result12 = In_V * Result11;
float Result13 = Reciprocal(Result11);
float3 Constant62 = float3(0.0, 0.0, 0.0);
float3 Direction_SelectResult = Constant62;
float Constant63 = (0.0);
float Length_SelectResult = Constant63;
Direction_SelectResult = In_Fallback;
Length_SelectResult = Result10;
if(Result9 == 0)
{
Direction_SelectResult = Result12;
Length_SelectResult = Result13;
}
Out_Direction = Direction_SelectResult;
Out_Length = Length_SelectResult;
Out_BelowThreshold = Result9;
}
void NiagaraScript_1835_Func_(int In_SourceSpace, int In_DestinationSpace, float4x4 In_LocalToWorldTransform, float4x4 In_WorldToLocalTransform, bool In_bLocalSpace, out bool Out_bUseOriginal, out float4x4 Out_OutTransform, out bool Out_LocalToWorld, inout FSimulationContext Context)
{
int Constant70 = 0;
bool Result14 = NiagaraAll(In_SourceSpace == Constant70);
int Constant71 = 0;
bool Result15 = NiagaraAll(In_DestinationSpace == Constant71);
bool Result16 = Result14 && Result15;
int Constant72 = 1;
bool Result17 = NiagaraAll(In_SourceSpace == Constant72);
int Constant73 = 1;
bool Result18 = NiagaraAll(In_DestinationSpace == Constant73);
bool Result19 = Result17 && Result18;
bool Result20 = Result16 || Result19;
int Constant74 = 2;
bool Result21 = NiagaraAll(In_SourceSpace == Constant74);
int Constant75 = 2;
bool Result22 = NiagaraAll(In_DestinationSpace == Constant75);
bool Result23 = Result21 && Result22;
bool Result24 = Result20 || Result23;
bool Result25 = Result14 && Result22;
bool Result26 = Result21 && Result15;
bool Result27 = Result25 || Result26;
bool Result28 = In_bLocalSpace && Result27;
bool Result29 = Result24 || Result28;
bool Result30 = !In_bLocalSpace;
bool Result31 = Result14 && Result18;
bool Result32 = Result17 && Result15;
bool Result33 = Result31 || Result32;
bool Result34 = Result30 && Result33;
bool Result35 = Result29 || Result34;
bool Result36 = In_bLocalSpace && Result31;
bool Result37 = Result21 && Result18;
bool Result38 = Result36 || Result37;
bool Result39 = Result30 && Result26;
bool Result40 = Result38 || Result39;
float4x4 Matrix_IfResult1;
if(Result40)
{
Matrix_IfResult1 = In_LocalToWorldTransform;
}
else
{
Matrix_IfResult1 = In_WorldToLocalTransform;
}
Out_bUseOriginal = Result35;
Out_OutTransform = Matrix_IfResult1;
Out_LocalToWorld = Result40;
}
void InitialMeshOrientation_TransformVector002_Emitter_Func_(float3 In_InVector, int In_SourceSpace, int In_DestinationSpace, bool In_ApplyScale, out float3 Out_OutVector, inout FSimulationContext Context)
{
bool Constant69 = false;
float4x4 Matrix_IfResult;
float4x4 Matrix001_IfResult;
if(In_ApplyScale)
{
Matrix_IfResult = Context.MapSpawn.Engine.Owner.SystemLocalToWorld;
Matrix001_IfResult = Context.MapSpawn.Engine.Owner.SystemWorldToLocal;
}
else
{
Matrix_IfResult = Context.MapSpawn.Engine.Owner.SystemLocalToWorldNoScale;
Matrix001_IfResult = Context.MapSpawn.Engine.Owner.SystemWorldToLocalNoScale;
}
bool NiagaraScript_1835_Func_Output_bUseOriginal;
float4x4 NiagaraScript_1835_Func_Output_OutTransform;
bool NiagaraScript_1835_Func_Output_LocalToWorld;
NiagaraScript_1835_Func_(In_SourceSpace, In_DestinationSpace, Matrix_IfResult, Matrix001_IfResult, Constant69, NiagaraScript_1835_Func_Output_bUseOriginal, NiagaraScript_1835_Func_Output_OutTransform, NiagaraScript_1835_Func_Output_LocalToWorld, Context);
float3 Result41 = mul(float4(In_InVector,0.0),NiagaraScript_1835_Func_Output_OutTransform).xyz;
float3 Vector_IfResult;
if(NiagaraScript_1835_Func_Output_bUseOriginal)
{
Vector_IfResult = In_InVector;
}
else
{
Vector_IfResult = Result41;
}
Out_OutVector = Vector_IfResult;
}
void CustomHlsl5A25A2A4455E3C692D3322A954DF887F_Func_(float3 In_From, float3 In_To, out float4 Out_Result)
{
// From UE::Math::FindBetween_Helper()
const float NormAB = sqrt(dot(In_From, In_From) * dot(In_To, In_To));
float W = NormAB + dot(In_From, In_To);
float4 ValidResult = float4(cross(In_From, In_To), W);
float4 FallbackX = float4(-In_From.z, 0.0f, In_From.x, 0.0f);
float4 FallbackY = float4(0.0f, -In_From.z, In_From.y, 0.0f);
float4 Identity = float4(0.0f, 0.0f, 0.0f, 1.0f);
const float Epsilon = 1e-6f;
if (abs(In_From.x) > abs(In_From.y))
{
Out_Result = FallbackX;
}
else
{
Out_Result = FallbackY;
}
if (W >= 1e-6f * NormAB)
{
Out_Result = ValidResult;
}
if (NormAB < Epsilon)
{
Out_Result = Identity;
}
else
{
// normalize the quat before returning
Out_Result = normalize(Out_Result);
}
}
void NiagaraScript_1847_Func_(float3 In_From, float3 In_To, out float4 Out_NewOutput, inout FSimulationContext Context)
{
float3 Constant76 = float3(1,0,0);
float Constant77 = 1e-05;
float3 NiagaraScript_1845_Func_Output_Direction2;
float NiagaraScript_1845_Func_Output_Length2;
bool NiagaraScript_1845_Func_Output_BelowThreshold2;
NiagaraScript_1845_Func_(In_From, Constant76, Constant77, NiagaraScript_1845_Func_Output_Direction2, NiagaraScript_1845_Func_Output_Length2, NiagaraScript_1845_Func_Output_BelowThreshold2, Context);
float3 Constant78 = float3(1,0,0);
float Constant79 = 1e-05;
float3 NiagaraScript_1845_Func_Output_Direction3;
float NiagaraScript_1845_Func_Output_Length3;
bool NiagaraScript_1845_Func_Output_BelowThreshold3;
NiagaraScript_1845_Func_(In_To, Constant78, Constant79, NiagaraScript_1845_Func_Output_Direction3, NiagaraScript_1845_Func_Output_Length3, NiagaraScript_1845_Func_Output_BelowThreshold3, Context);
float4 CustomHlsl5A25A2A4455E3C692D3322A954DF887F_Func_Output_Result;
CustomHlsl5A25A2A4455E3C692D3322A954DF887F_Func_(NiagaraScript_1845_Func_Output_Direction2, NiagaraScript_1845_Func_Output_Direction3, CustomHlsl5A25A2A4455E3C692D3322A954DF887F_Func_Output_Result);
Out_NewOutput = CustomHlsl5A25A2A4455E3C692D3322A954DF887F_Func_Output_Result;
}
void CustomHlsl001624D816540ECD5F976902A85E139007C_Func_(float4 In_Quat1, float4 In_Quat2, out float4 Out_Result)
{
float4 SIGN_MASK0 = float4( 1.f, -1.f, 1.f, -1.f );
float4 SIGN_MASK1 = float4( 1.f, 1.f, -1.f, -1.f );
float4 SIGN_MASK2 = float4( -1.f, 1.f, 1.f, -1.f );
Out_Result = (In_Quat1.wwww * In_Quat2);
Out_Result = ((In_Quat1.xxxx * In_Quat2.wzyx) * SIGN_MASK0) + Out_Result;
Out_Result = ((In_Quat1.yyyy * In_Quat2.zwxy)* SIGN_MASK1) + Out_Result;
Out_Result = ((In_Quat1.zzzz * In_Quat2.yxwz)* SIGN_MASK2) + Out_Result;
}
void NiagaraScript_1850_Func_(float4 In_QuaternionA, float4 In_QuaternionB, out float4 Out_Quaternion, inout FSimulationContext Context)
{
float4 CustomHlsl001624D816540ECD5F976902A85E139007C_Func_Output_Result;
CustomHlsl001624D816540ECD5F976902A85E139007C_Func_(In_QuaternionA, In_QuaternionB, CustomHlsl001624D816540ECD5F976902A85E139007C_Func_Output_Result);
Out_Quaternion = CustomHlsl001624D816540ECD5F976902A85E139007C_Func_Output_Result;
}
void InitialMeshOrientation_Emitter_Func_(inout FSimulationContext Context)
{
float3 Constant57 = float3(0,0,0);
Context.MapSpawn.Local.InitialMeshOrientation.RotationQuat = Context.MapSpawn.Particles.MeshOrientation;
float3 Constant58 = float3(0,0,1);
float3 Constant59 = float3(1,0,0);
float3 Constant60 = float3(1,0,0);
float Constant61 = 1e-05;
float3 NiagaraScript_1845_Func_Output_Direction;
float NiagaraScript_1845_Func_Output_Length;
bool NiagaraScript_1845_Func_Output_BelowThreshold;
NiagaraScript_1845_Func_(Constant58, Constant60, Constant61, NiagaraScript_1845_Func_Output_Direction, NiagaraScript_1845_Func_Output_Length, NiagaraScript_1845_Func_Output_BelowThreshold, Context);
float3 Constant64 = float3(1,0,0);
float Constant65 = 1e-05;
float3 NiagaraScript_1845_Func_Output_Direction1;
float NiagaraScript_1845_Func_Output_Length1;
bool NiagaraScript_1845_Func_Output_BelowThreshold1;
NiagaraScript_1845_Func_(Constant59, Constant64, Constant65, NiagaraScript_1845_Func_Output_Direction1, NiagaraScript_1845_Func_Output_Length1, NiagaraScript_1845_Func_Output_BelowThreshold1, Context);
int Constant66 = 2;
int Constant67 = 1;
bool Constant68 = false;
float3 InitialMeshOrientation_TransformVector002_Emitter_Func_Output_OutVector;
InitialMeshOrientation_TransformVector002_Emitter_Func_(NiagaraScript_1845_Func_Output_Direction1, Constant66, Constant67, Constant68, InitialMeshOrientation_TransformVector002_Emitter_Func_Output_OutVector, Context);
float4 NiagaraScript_1847_Func_Output_NewOutput;
NiagaraScript_1847_Func_(NiagaraScript_1845_Func_Output_Direction, InitialMeshOrientation_TransformVector002_Emitter_Func_Output_OutVector, NiagaraScript_1847_Func_Output_NewOutput, Context);
Context.MapSpawn.Local.InitialMeshOrientation.OrientationQuat = NiagaraScript_1847_Func_Output_NewOutput;
float4 NiagaraScript_1850_Func_Output_Quaternion;
NiagaraScript_1850_Func_(Context.MapSpawn.Local.InitialMeshOrientation.OrientationQuat, Context.MapSpawn.Local.InitialMeshOrientation.RotationQuat, NiagaraScript_1850_Func_Output_Quaternion, Context);
Context.MapSpawn.Particles.InitialRotation = NiagaraScript_1850_Func_Output_Quaternion;
Context.MapSpawn.Particles.MeshOrientation = NiagaraScript_1850_Func_Output_Quaternion;
}
void NiagaraScript_1841_Emitter_Determinism_false_Func_(int In_Seed, int In_Engine_System_TickCount, bool In_OverrideSeed, int In_Particles_UniqueID, int In_Emitter_RandomSeed, bool In_FixedOverrideSeed, int In_RandomnessMode, out NiagaraRandInfo Out_RandomInfo, out bool Out_UseDeterministicRandoms, inout FSimulationContext Context)
{
bool Constant102 = false;
int Constant103 = 0;
bool Result43 = NiagaraAll(In_RandomnessMode == Constant103);
bool Result44 = Constant102 && Result43;
int Constant104 = 1;
bool Result45 = NiagaraAll(In_RandomnessMode == Constant104);
bool Result46 = Result44 || Result45;
int Seed_IfResult;
if(In_OverrideSeed)
{
Seed_IfResult = In_Seed;
}
else
{
Seed_IfResult = Context.MapSpawn.Emitter.RandomSeed;
}
int Constant105 = 0;
int Constant106 = 0;
int Seed1_IfResult;
int Seed2_IfResult;
int Seed3_IfResult;
if(In_FixedOverrideSeed)
{
Seed1_IfResult = Seed_IfResult;
Seed2_IfResult = Constant105;
Seed3_IfResult = Constant106;
}
else
{
Seed1_IfResult = Context.MapSpawn.Particles.UniqueID;
Seed2_IfResult = Context.MapSpawn.Engine.System.TickCount;
Seed3_IfResult = Seed_IfResult;
}
int Constant107 = -1;
int Constant108 = -1;
int Constant109 = -1;
int Seed1_IfResult1;
int Seed2_IfResult1;
int Seed3_IfResult1;
if(Result46)
{
Seed1_IfResult1 = Seed1_IfResult;
Seed2_IfResult1 = Seed2_IfResult;
Seed3_IfResult1 = Seed3_IfResult;
}
else
{
Seed1_IfResult1 = Constant107;
Seed2_IfResult1 = Constant108;
Seed3_IfResult1 = Constant109;
}
NiagaraRandInfo Output1;
Output1.Seed1 = Seed1_IfResult1;
Output1.Seed2 = Seed2_IfResult1;
Output1.Seed3 = Seed3_IfResult1;
Out_RandomInfo = Output1;
Out_UseDeterministicRandoms = Result46;
}
void NiagaraScript_1840_Func_(float In_Min, float In_Max, int In_Seed, int In_RandomnessMode, bool In_OverrideSeed, bool In_FixedOverrideSeed, out float Out_Result, inout FSimulationContext Context)
{
int Constant98 = (0);
bool Constant99 = false;
int Constant100 = 0;
int Constant101 = (0);
NiagaraRandInfo NiagaraScript_1841_Emitter_Determinism_false_Func_Output_RandomInfo;
bool NiagaraScript_1841_Emitter_Determinism_false_Func_Output_UseDeterministicRandoms;
NiagaraScript_1841_Emitter_Determinism_false_Func_(In_Seed, Constant98, In_OverrideSeed, Constant100, Constant101, In_FixedOverrideSeed, In_RandomnessMode, NiagaraScript_1841_Emitter_Determinism_false_Func_Output_RandomInfo, NiagaraScript_1841_Emitter_Determinism_false_Func_Output_UseDeterministicRandoms, Context);
float Result47 = In_Max - In_Min;
int Seed1;
int Seed2;
int Seed3;
Seed1 = NiagaraScript_1841_Emitter_Determinism_false_Func_Output_RandomInfo.Seed1;
Seed2 = NiagaraScript_1841_Emitter_Determinism_false_Func_Output_RandomInfo.Seed2;
Seed3 = NiagaraScript_1841_Emitter_Determinism_false_Func_Output_RandomInfo.Seed3;
float Result48 = rand_float(Result47, Seed1, Seed2, Seed3);
float Result49 = rand_float(Result47);
float Random_IfResult;
if(NiagaraScript_1841_Emitter_Determinism_false_Func_Output_UseDeterministicRandoms)
{
Random_IfResult = Result48;
}
else
{
Random_IfResult = Result49;
}
float Result50 = In_Min + Random_IfResult;
Out_Result = Result50;
}
void NiagaraScript_1842_Func_(float In_Min, float In_Max, int In_Seed, int In_RandomnessMode, bool In_OverrideSeed, bool In_FixedOverrideSeed, out float Out_Result, inout FSimulationContext Context)
{
int Constant113 = (0);
bool Constant114 = false;
int Constant115 = 0;
int Constant116 = (0);
NiagaraRandInfo NiagaraScript_1841_Emitter_Determinism_false_Func_Output_RandomInfo1;
bool NiagaraScript_1841_Emitter_Determinism_false_Func_Output_UseDeterministicRandoms1;
NiagaraScript_1841_Emitter_Determinism_false_Func_(In_Seed, Constant113, In_OverrideSeed, Constant115, Constant116, In_FixedOverrideSeed, In_RandomnessMode, NiagaraScript_1841_Emitter_Determinism_false_Func_Output_RandomInfo1, NiagaraScript_1841_Emitter_Determinism_false_Func_Output_UseDeterministicRandoms1, Context);
float Result51 = In_Max - In_Min;
int Seed11;
int Seed21;
int Seed31;
Seed11 = NiagaraScript_1841_Emitter_Determinism_false_Func_Output_RandomInfo1.Seed1;
Seed21 = NiagaraScript_1841_Emitter_Determinism_false_Func_Output_RandomInfo1.Seed2;
Seed31 = NiagaraScript_1841_Emitter_Determinism_false_Func_Output_RandomInfo1.Seed3;
float Result52 = rand_float(Result51, Seed11, Seed21, Seed31);
float Result53 = rand_float(Result51);
float Random_IfResult1;
if(NiagaraScript_1841_Emitter_Determinism_false_Func_Output_UseDeterministicRandoms1)
{
Random_IfResult1 = Result52;
}
else
{
Random_IfResult1 = Result53;
}
float Result54 = In_Min + Random_IfResult1;
Out_Result = Result54;
}
void NiagaraScript_1844_Func_(float In_Min, float In_Max, int In_Seed, int In_RandomnessMode, bool In_OverrideSeed, bool In_FixedOverrideSeed, out float Out_Result, inout FSimulationContext Context)
{
int Constant123 = (0);
bool Constant124 = false;
int Constant125 = 0;
int Constant126 = (0);
NiagaraRandInfo NiagaraScript_1841_Emitter_Determinism_false_Func_Output_RandomInfo2;
bool NiagaraScript_1841_Emitter_Determinism_false_Func_Output_UseDeterministicRandoms2;
NiagaraScript_1841_Emitter_Determinism_false_Func_(In_Seed, Constant123, In_OverrideSeed, Constant125, Constant126, In_FixedOverrideSeed, In_RandomnessMode, NiagaraScript_1841_Emitter_Determinism_false_Func_Output_RandomInfo2, NiagaraScript_1841_Emitter_Determinism_false_Func_Output_UseDeterministicRandoms2, Context);
float Result59 = In_Max - In_Min;
int Seed12;
int Seed22;
int Seed32;
Seed12 = NiagaraScript_1841_Emitter_Determinism_false_Func_Output_RandomInfo2.Seed1;
Seed22 = NiagaraScript_1841_Emitter_Determinism_false_Func_Output_RandomInfo2.Seed2;
Seed32 = NiagaraScript_1841_Emitter_Determinism_false_Func_Output_RandomInfo2.Seed3;
float Result60 = rand_float(Result59, Seed12, Seed22, Seed32);
float Result61 = rand_float(Result59);
float Random_IfResult2;
if(NiagaraScript_1841_Emitter_Determinism_false_Func_Output_UseDeterministicRandoms2)
{
Random_IfResult2 = Result60;
}
else
{
Random_IfResult2 = Result61;
}
float Result62 = In_Min + Random_IfResult2;
Out_Result = Result62;
}
void NiagaraScript_1843_Func_(float In_Theta, float In_Radius, float In_Period, out float2 Out_XY, out float Out_X, out float Out_Y, out float2 Out_dXdY, out float Out_dX, out float Out_dY, inout FSimulationContext Context)
{
float Result65 = cos(In_Theta*(TWO_PI/In_Period));
float Result66 = In_Radius * Result65;
float Result67 = sin(In_Theta*(TWO_PI/In_Period));
float Result68 = In_Radius * Result67;
float2 XY;
XY.x = Result66;
XY.y = Result68;
float Constant130 = -1;
float Result69 = Result67 * Constant130;
float2 dXdY;
dXdY.x = Result69;
dXdY.y = Result65;
Out_XY = XY;
Out_X = Result66;
Out_Y = Result68;
Out_dXdY = dXdY;
Out_dX = Result69;
Out_dY = Result65;
}
void NiagaraScript_1839_Func_(float In_ConeAngle, float In_ConePointDistribution, bool In_EnableCurvature, float In_ConeCurvature, int In_Seed, int In_RandomnessMode, bool In_OverrideSeed, out float3 Out_Vector, out float3 Out_NormalizedVector, inout FSimulationContext Context)
{
float Constant95 = 0;
float Constant96 = 1;
bool Constant97 = false;
float NiagaraScript_1840_Func_Output_Result;
NiagaraScript_1840_Func_(Constant95, Constant96, In_Seed, In_RandomnessMode, In_OverrideSeed, Constant97, NiagaraScript_1840_Func_Output_Result, Context);
float Constant110 = 0;
float Constant111 = 1;
bool Constant112 = false;
float NiagaraScript_1842_Func_Output_Result;
NiagaraScript_1842_Func_(Constant110, Constant111, In_Seed, In_RandomnessMode, In_OverrideSeed, Constant112, NiagaraScript_1842_Func_Output_Result, Context);
float Result55 = pow(max(0, NiagaraScript_1842_Func_Output_Result),In_ConePointDistribution);
float Constant117 = 1e-05;
float Constant118 = 179.875;
float Result56 = clamp(In_ConeAngle,Constant117,Constant118);
float Constant119 = 0.5;
float Result57 = Result56 * Constant119;
float Result58 = tan((PI/180.0f)*Result57);
float Constant120 = 0;
float Constant121 = 1;
bool Constant122 = false;
float NiagaraScript_1844_Func_Output_Result;
NiagaraScript_1844_Func_(Constant120, Constant121, In_Seed, In_RandomnessMode, In_OverrideSeed, Constant122, NiagaraScript_1844_Func_Output_Result, Context);
float Constant127 = 0.0001;
float Constant128 = 10;
float Result63 = clamp(In_ConeCurvature,Constant127,Constant128);
float Result64 = pow(max(0, NiagaraScript_1840_Func_Output_Result),Result63);
float float_IfResult;
if(In_EnableCurvature)
{
float_IfResult = Result64;
}
else
{
float_IfResult = NiagaraScript_1840_Func_Output_Result;
}
float Constant129 = 1;
float2 NiagaraScript_1843_Func_Output_XY;
float NiagaraScript_1843_Func_Output_X;
float NiagaraScript_1843_Func_Output_Y;
float2 NiagaraScript_1843_Func_Output_dXdY;
float NiagaraScript_1843_Func_Output_dX;
float NiagaraScript_1843_Func_Output_dY;
NiagaraScript_1843_Func_(NiagaraScript_1844_Func_Output_Result, float_IfResult, Constant129, NiagaraScript_1843_Func_Output_XY, NiagaraScript_1843_Func_Output_X, NiagaraScript_1843_Func_Output_Y, NiagaraScript_1843_Func_Output_dXdY, NiagaraScript_1843_Func_Output_dX, NiagaraScript_1843_Func_Output_dY, Context);
float2 Result70 = Result58 * NiagaraScript_1843_Func_Output_XY;
float2 Result71 = Result55 * Result70;
float X;
float Y;
X = Result71.x;
Y = Result71.y;
float3 Output11;
Output11.x = NiagaraScript_1840_Func_Output_Result;
Output11.y = X;
Output11.z = Y;
float3 Constant131 = float3(1,0,0);
float Constant132 = 1e-05;
float3 NiagaraScript_1845_Func_Output_Direction4;
float NiagaraScript_1845_Func_Output_Length4;
bool NiagaraScript_1845_Func_Output_BelowThreshold4;
NiagaraScript_1845_Func_(Output11, Constant131, Constant132, NiagaraScript_1845_Func_Output_Direction4, NiagaraScript_1845_Func_Output_Length4, NiagaraScript_1845_Func_Output_BelowThreshold4, Context);
Out_Vector = Output11;
Out_NormalizedVector = NiagaraScript_1845_Func_Output_Direction4;
}
void NiagaraScript_1846_Func_(float In_INPUT_VAR, float In_InputLow, float In_InputHigh, float In_TargetLow, float In_TargetHigh, out float Out_Remapped, inout FSimulationContext Context)
{
float Result75 = In_INPUT_VAR - In_InputLow;
float Result76 = In_InputHigh - In_InputLow;
float Result77 = Result75 / Result76;
float Result78 = In_TargetHigh - In_TargetLow;
float Result79 = Result77 * Result78;
float Result80 = Result79 + In_TargetLow;
Out_Remapped = Result80;
}
void AddVelocityInCone_NF_TransformVector_Emitter_Func_(float3 In_InVector, int In_SourceSpace, int In_DestinationSpace, bool In_ApplyScale, out float3 Out_OutVector, inout FSimulationContext Context)
{
bool Constant144 = false;
float4x4 Matrix_IfResult2;
float4x4 Matrix001_IfResult1;
if(In_ApplyScale)
{
Matrix_IfResult2 = Context.MapSpawn.Engine.Owner.SystemLocalToWorld;
Matrix001_IfResult1 = Context.MapSpawn.Engine.Owner.SystemWorldToLocal;
}
else
{
Matrix_IfResult2 = Context.MapSpawn.Engine.Owner.SystemLocalToWorldNoScale;
Matrix001_IfResult1 = Context.MapSpawn.Engine.Owner.SystemWorldToLocalNoScale;
}
bool NiagaraScript_1835_Func_Output_bUseOriginal1;
float4x4 NiagaraScript_1835_Func_Output_OutTransform1;
bool NiagaraScript_1835_Func_Output_LocalToWorld1;
NiagaraScript_1835_Func_(In_SourceSpace, In_DestinationSpace, Matrix_IfResult2, Matrix001_IfResult1, Constant144, NiagaraScript_1835_Func_Output_bUseOriginal1, NiagaraScript_1835_Func_Output_OutTransform1, NiagaraScript_1835_Func_Output_LocalToWorld1, Context);
float3 Result83 = mul(float4(In_InVector,0.0),NiagaraScript_1835_Func_Output_OutTransform1).xyz;
float3 Vector_IfResult1;
if(NiagaraScript_1835_Func_Output_bUseOriginal1)
{
Vector_IfResult1 = In_InVector;
}
else
{
Vector_IfResult1 = Result83;
}
Out_OutVector = Vector_IfResult1;
}
void NiagaraScript_1836_Func_(float3 In_VECTOR_VAR, float4 In_Quaternion, out float3 Out_Vector, inout FSimulationContext Context)
{
float3 Output0;
float Output12;
Output0.x = In_Quaternion.x;
Output0.y = In_Quaternion.y;
Output0.z = In_Quaternion.z;
Output12 = In_Quaternion.w;
float Result84 = dot(Output0,In_VECTOR_VAR);
float Constant145 = 2;
float Result85 = Result84 * Constant145;
float3 Result86 = Output0 * Result85;
float Result87 = Output12 * Output12;
float Result88 = dot(Output0,Output0);
float Result89 = Result87 - Result88;
float3 Result90 = Result89 * In_VECTOR_VAR;
float3 Result91 = Result86 + Result90;
float3 Result92 = cross(Output0,In_VECTOR_VAR);
float Constant146 = 2;
float Result93 = Output12 * Constant146;
float3 Result94 = Result92 * Result93;
float3 Result95 = Result91 + Result94;
Out_Vector = Result95;
}
void AddVelocityInCone_Emitter_Func_(inout FSimulationContext Context)
{
float Constant87 = 45;
float Constant88 = 0.5;
float Constant89 = 1e-05;
float Result42 = max(Constant87, Constant89);
bool Constant90 = false;
float Constant91 = 1;
int Constant92 = -1;
int Constant93 = 0;
bool Constant94 = false;
float3 NiagaraScript_1839_Func_Output_Vector;
float3 NiagaraScript_1839_Func_Output_NormalizedVector;
NiagaraScript_1839_Func_(Result42, Constant88, Constant90, Constant91, Constant92, Constant93, Constant94, NiagaraScript_1839_Func_Output_Vector, NiagaraScript_1839_Func_Output_NormalizedVector, Context);
float3 Constant133 = float3(1,0,0);
float Result72 = dot(Constant133,NiagaraScript_1839_Func_Output_NormalizedVector);
float Constant134 = 0.5;
float Result73 = Result42 * Constant134;
float Result74 = cos((PI/180.0f)*Result73);
float Constant135 = 1;
float Constant136 = 0;
float Constant137 = 1;
float NiagaraScript_1846_Func_Output_Remapped;
NiagaraScript_1846_Func_(Result72, Result74, Constant135, Constant136, Constant137, NiagaraScript_1846_Func_Output_Remapped, Context);
float Constant138 = 0;
float Constant139 = 1;
float Result81 = clamp(NiagaraScript_1846_Func_Output_Remapped,Constant138,Constant139);
Context.MapSpawn.Local.AddVelocityInCone.ConeVector = NiagaraScript_1839_Func_Output_NormalizedVector;
Context.MapSpawn.Local.AddVelocityInCone.DotBetweenConeVectorAndAxis = Result81;
float3 Constant140 = float3(0,1,0);
float3 Constant141 = float3(1,0,0);
float3 Result82 = normalize(Constant140);
int Constant142 = 0;
bool Constant143 = false;
float3 AddVelocityInCone_NF_TransformVector_Emitter_Func_Output_OutVector;
AddVelocityInCone_NF_TransformVector_Emitter_Func_(Result82, Context.MapSpawn.AddVelocityInCone.ConeAxisCoordinateSpace, Constant142, Constant143, AddVelocityInCone_NF_TransformVector_Emitter_Func_Output_OutVector, Context);
float4 NiagaraScript_1847_Func_Output_NewOutput1;
NiagaraScript_1847_Func_(Constant141, AddVelocityInCone_NF_TransformVector_Emitter_Func_Output_OutVector, NiagaraScript_1847_Func_Output_NewOutput1, Context);
float3 NiagaraScript_1836_Func_Output_Vector;
NiagaraScript_1836_Func_(Context.MapSpawn.Local.AddVelocityInCone.ConeVector, NiagaraScript_1847_Func_Output_NewOutput1, NiagaraScript_1836_Func_Output_Vector, Context);
Context.MapSpawn.Local.AddVelocityInCone.ConeVector = NiagaraScript_1836_Func_Output_Vector;
float Constant147 = 300;
float Constant148 = 2;
float Constant149 = 0.0001;
float Result96 = max(Constant148, Constant149);
float Result97 = pow(max(0, Context.MapSpawn.Local.AddVelocityInCone.DotBetweenConeVectorAndAxis),Result96);
float Result98 = Constant147 * Result97;
float float_IfResult1;
if(Context.MapSpawn.AddVelocityInCone.UseVelocityFalloffOnConeAxis)
{
float_IfResult1 = Result98;
}
else
{
float_IfResult1 = Constant147;
}
float3 Result99 = Context.MapSpawn.Local.AddVelocityInCone.ConeVector * float_IfResult1;
float3 Result100 = Context.MapSpawn.Particles.Velocity + Result99;
Context.MapSpawn.Particles.Velocity = Result100;
}
void NiagaraScript_1868_ScriptUsage4_EvaluationType_NewEnumerator0_FixedRandomSeed_false_OverrideSeed_false_RandomnessMode_NewEnumerator0_Func_(int In_Engine_System_RandomSeed, float3 In_RangeMin, float3 In_RangeMax, int In_Seed, int In_Engine_System_TickCount, int In_Particles_UniqueID, int In_Emitter_RandomSeed, int In_Engine_Emitter_InstanceSeed, out float3 Out_RandomValue, out bool Out_IsDeterministic, inout FSimulationContext Context)
{
bool Constant161 = false;
float3 Result101 = In_RangeMax - In_RangeMin;
float3 Result102 = rand(Result101);
float3 Result103 = In_RangeMin + Result102;
Out_RandomValue = Result103;
Out_IsDeterministic = Constant161;
}
void RandomRangeVector_Emitter_Func_(out float3 Out_NewOutput, inout FSimulationContext Context)
{
int Constant153 = (0);
float3 Constant154 = float3(-10,-10,-10);
float3 Constant155 = float3(10,10,10);
int Constant156 = 0;
int Constant157 = (0);
int Constant158 = 0;
int Constant159 = (0);
int Constant160 = (0);
float3 NiagaraScript_1868_ScriptUsage4_EvaluationType_NewEnumerator0_FixedRandomSeed_false_OverrideSeed_false_RandomnessMode_NewEnumerator0_Func_Output_RandomValue;
bool NiagaraScript_1868_ScriptUsage4_EvaluationType_NewEnumerator0_FixedRandomSeed_false_OverrideSeed_false_RandomnessMode_NewEnumerator0_Func_Output_IsDeterministic;
NiagaraScript_1868_ScriptUsage4_EvaluationType_NewEnumerator0_FixedRandomSeed_false_OverrideSeed_false_RandomnessMode_NewEnumerator0_Func_(Constant153, Constant154, Constant155, Constant156, Constant157, Constant158, Constant159, Constant160, NiagaraScript_1868_ScriptUsage4_EvaluationType_NewEnumerator0_FixedRandomSeed_false_OverrideSeed_false_RandomnessMode_NewEnumerator0_Func_Output_RandomValue, NiagaraScript_1868_ScriptUsage4_EvaluationType_NewEnumerator0_FixedRandomSeed_false_OverrideSeed_false_RandomnessMode_NewEnumerator0_Func_Output_IsDeterministic, Context);
Out_NewOutput = NiagaraScript_1868_ScriptUsage4_EvaluationType_NewEnumerator0_FixedRandomSeed_false_OverrideSeed_false_RandomnessMode_NewEnumerator0_Func_Output_RandomValue;
}
void AddRotationalVelocity_TransformVector_Emitter_Func_(float3 In_InVector, int In_SourceSpace, int In_DestinationSpace, bool In_ApplyScale, out float3 Out_OutVector, inout FSimulationContext Context)
{
bool Constant165 = false;
float4x4 Matrix_IfResult3;
float4x4 Matrix001_IfResult2;
if(In_ApplyScale)
{
Matrix_IfResult3 = Context.MapSpawn.Engine.Owner.SystemLocalToWorld;
Matrix001_IfResult2 = Context.MapSpawn.Engine.Owner.SystemWorldToLocal;
}
else
{
Matrix_IfResult3 = Context.MapSpawn.Engine.Owner.SystemLocalToWorldNoScale;
Matrix001_IfResult2 = Context.MapSpawn.Engine.Owner.SystemWorldToLocalNoScale;
}
bool NiagaraScript_1835_Func_Output_bUseOriginal2;
float4x4 NiagaraScript_1835_Func_Output_OutTransform2;
bool NiagaraScript_1835_Func_Output_LocalToWorld2;
NiagaraScript_1835_Func_(In_SourceSpace, In_DestinationSpace, Matrix_IfResult3, Matrix001_IfResult2, Constant165, NiagaraScript_1835_Func_Output_bUseOriginal2, NiagaraScript_1835_Func_Output_OutTransform2, NiagaraScript_1835_Func_Output_LocalToWorld2, Context);
float3 Result106 = mul(float4(In_InVector,0.0),NiagaraScript_1835_Func_Output_OutTransform2).xyz;
float3 Vector_IfResult2;
if(NiagaraScript_1835_Func_Output_bUseOriginal2)
{
Vector_IfResult2 = In_InVector;
}
else
{
Vector_IfResult2 = Result106;
}
Out_OutVector = Vector_IfResult2;
}
void AddRotationalVelocity_Emitter_Func_(inout FSimulationContext Context)
{
float Result104 = TWO_PI;
float3 Result105 = Context.MapSpawn.AddRotationalVelocity.RotationRate * Result104;
int Constant162 = 0;
int Constant163 = 0;
bool Constant164 = false;
float3 AddRotationalVelocity_TransformVector_Emitter_Func_Output_OutVector;
AddRotationalVelocity_TransformVector_Emitter_Func_(Result105, Constant162, Constant163, Constant164, AddRotationalVelocity_TransformVector_Emitter_Func_Output_OutVector, Context);
float3 Result107 = Context.MapSpawn.Particles.RotationalVelocity + AddRotationalVelocity_TransformVector_Emitter_Func_Output_OutVector;
Context.MapSpawn.Particles.RotationalVelocity = Result107;
bool Constant166 = true;
//SetConstantByStaticVariable "/Add Rotational Velocity/Map Set/Map Set->Particles.RotationalVelocityEnabled"
Context.MapSpawn.Particles.RotationalVelocityEnabled = Constant166;
}
void ParticleState_Emitter_Func_(inout FSimulationContext Context)
{
bool Result108 = NiagaraAll(Context.MapUpdate.Particles.Age <= Context.MapUpdate.Engine.DeltaTime);
Context.MapUpdate.OUTPUT_VAR.ParticleState.FirstFrame = Result108;
Context.MapUpdate.Transient.FirstFrame = Result108;
float Result109 = Context.MapUpdate.Particles.Age + Context.MapUpdate.ParticleState.DeltaTime;
float Constant169 = 1e-05;
float Result110 = max(Context.MapUpdate.ParticleState.Lifetime, Constant169);
float Constant170 = 0.0001;
float Result111 = Result110 - Constant170;
bool Result112 = NiagaraAll(Result109 < Result111);
bool Constant171 = false;
bool bool_IfResult;
if(Result112)
{
bool_IfResult = Context.MapUpdate.DataInstance.Alive;
}
else
{
bool_IfResult = Constant171;
}
float Result113 = Result109 / Result110;
Context.MapUpdate.DataInstance.Alive = bool_IfResult;
Context.MapUpdate.Particles.Age = Result109;
Context.MapUpdate.Particles.NormalizedAge = Result113;
bool Constant172 = false;
bool Constant173 = true;
}
void GravityForce_Emitter_Func_(inout FSimulationContext Context)
{
float3 Constant176 = float3(0,0,-980);
float3 Result114 = Constant176 * Context.MapUpdate.Particles.Mass;
float3 Result115 = Context.MapUpdate.Transient.PhysicsForce + Result114;
Context.MapUpdate.Transient.PhysicsForce = Result115;
}
void Drag_Emitter_Func_(inout FSimulationContext Context)
{
float Constant181 = 1;
float Result116 = Constant181 + Context.MapUpdate.Transient.PhysicsDrag;
Context.MapUpdate.Transient.PhysicsDrag = Result116;
float Constant182 = 1;
Context.MapUpdate.Transient.PhysicsRotationalDrag = Context.MapUpdate.Transient.PhysicsRotationalDrag;
}
void Collision_TransformPosition007_Emitter_Func_(float3 In_InPosition, int In_SourceSpace, int In_DestinationSpace, bool In_ApplyScale, out float3 Out_OutPosition, inout FSimulationContext Context)
{
bool Constant221 = false;
float4x4 Matrix_IfResult4;
float4x4 Matrix001_IfResult3;
if(In_ApplyScale)
{
Matrix_IfResult4 = Context.MapUpdate.Engine.Owner.SystemLocalToWorld;
Matrix001_IfResult3 = Context.MapUpdate.Engine.Owner.SystemWorldToLocal;
}
else
{
Matrix_IfResult4 = Context.MapUpdate.Engine.Owner.SystemLocalToWorldNoScale;
Matrix001_IfResult3 = Context.MapUpdate.Engine.Owner.SystemWorldToLocalNoScale;
}
bool NiagaraScript_1835_Func_Output_bUseOriginal3;
float4x4 NiagaraScript_1835_Func_Output_OutTransform3;
bool NiagaraScript_1835_Func_Output_LocalToWorld3;
NiagaraScript_1835_Func_(In_SourceSpace, In_DestinationSpace, Matrix_IfResult4, Matrix001_IfResult3, Constant221, NiagaraScript_1835_Func_Output_bUseOriginal3, NiagaraScript_1835_Func_Output_OutTransform3, NiagaraScript_1835_Func_Output_LocalToWorld3, Context);
float3 Result122 = mul(float4(In_InPosition,1.0),NiagaraScript_1835_Func_Output_OutTransform3).xyz;
float3 Vector_IfResult3;
if(NiagaraScript_1835_Func_Output_bUseOriginal3)
{
Vector_IfResult3 = In_InPosition;
}
else
{
Vector_IfResult3 = Result122;
}
Out_OutPosition = Vector_IfResult3;
}
void Collision_TransformVector009_Emitter_Func_(float3 In_InVector, int In_SourceSpace, int In_DestinationSpace, bool In_ApplyScale, out float3 Out_OutVector, inout FSimulationContext Context)
{
bool Constant225 = false;
float4x4 Matrix_IfResult5;
float4x4 Matrix001_IfResult4;
if(In_ApplyScale)
{
Matrix_IfResult5 = Context.MapUpdate.Engine.Owner.SystemLocalToWorld;
Matrix001_IfResult4 = Context.MapUpdate.Engine.Owner.SystemWorldToLocal;
}
else
{
Matrix_IfResult5 = Context.MapUpdate.Engine.Owner.SystemLocalToWorldNoScale;
Matrix001_IfResult4 = Context.MapUpdate.Engine.Owner.SystemWorldToLocalNoScale;
}
bool NiagaraScript_1835_Func_Output_bUseOriginal4;
float4x4 NiagaraScript_1835_Func_Output_OutTransform4;
bool NiagaraScript_1835_Func_Output_LocalToWorld4;
NiagaraScript_1835_Func_(In_SourceSpace, In_DestinationSpace, Matrix_IfResult5, Matrix001_IfResult4, Constant225, NiagaraScript_1835_Func_Output_bUseOriginal4, NiagaraScript_1835_Func_Output_OutTransform4, NiagaraScript_1835_Func_Output_LocalToWorld4, Context);
float3 Result123 = mul(float4(In_InVector,0.0),NiagaraScript_1835_Func_Output_OutTransform4).xyz;
float3 Vector_IfResult4;
if(NiagaraScript_1835_Func_Output_bUseOriginal4)
{
Vector_IfResult4 = In_InVector;
}
else
{
Vector_IfResult4 = Result123;
}
Out_OutVector = Vector_IfResult4;
}
void Collision_TransformVector010_Emitter_Func_(float3 In_InVector, int In_SourceSpace, int In_DestinationSpace, bool In_ApplyScale, out float3 Out_OutVector, inout FSimulationContext Context)
{
bool Constant229 = false;
float4x4 Matrix_IfResult6;
float4x4 Matrix001_IfResult5;
if(In_ApplyScale)
{
Matrix_IfResult6 = Context.MapUpdate.Engine.Owner.SystemLocalToWorld;
Matrix001_IfResult5 = Context.MapUpdate.Engine.Owner.SystemWorldToLocal;
}
else
{
Matrix_IfResult6 = Context.MapUpdate.Engine.Owner.SystemLocalToWorldNoScale;
Matrix001_IfResult5 = Context.MapUpdate.Engine.Owner.SystemWorldToLocalNoScale;
}
bool NiagaraScript_1835_Func_Output_bUseOriginal5;
float4x4 NiagaraScript_1835_Func_Output_OutTransform5;
bool NiagaraScript_1835_Func_Output_LocalToWorld5;
NiagaraScript_1835_Func_(In_SourceSpace, In_DestinationSpace, Matrix_IfResult6, Matrix001_IfResult5, Constant229, NiagaraScript_1835_Func_Output_bUseOriginal5, NiagaraScript_1835_Func_Output_OutTransform5, NiagaraScript_1835_Func_Output_LocalToWorld5, Context);
float3 Result124 = mul(float4(In_InVector,0.0),NiagaraScript_1835_Func_Output_OutTransform5).xyz;
float3 Vector_IfResult5;
if(NiagaraScript_1835_Func_Output_bUseOriginal5)
{
Vector_IfResult5 = In_InVector;
}
else
{
Vector_IfResult5 = Result124;
}
Out_OutVector = Vector_IfResult5;
}
void NiagaraScript_1890_Method_NewEnumerator0_Func_(float3 In_MeshScale, float3 In_MeshDimensions, out float Out_Radius, inout FSimulationContext Context)
{
float3 Result125 = In_MeshScale * In_MeshDimensions;
float Result126 = length(Result125);
float Constant232 = 1e-06;
float Result127 = max(Result126, Constant232);
float Constant233 = 0.5;
float Result128 = Result127 * Constant233;
Out_Radius = Result128;
}
void NiagaraScript_1872_Func_(float3 In_Velocity, float3 In_AdvectionVelocity, float In_InverseMass, float In_Drag, float In_DeltaTime, bool In_IgnoreMass, out float3 Out_Output, inout FSimulationContext Context)
{
float3 Result135 = In_Velocity - In_AdvectionVelocity;
float Result136 = In_Drag * In_InverseMass;
float Constant247 = (0.0);
float NiagaraFloat_SelectResult2 = Constant247;
NiagaraFloat_SelectResult2 = In_Drag;
if(In_IgnoreMass == 0)
{
NiagaraFloat_SelectResult2 = Result136;
}
float Constant248 = 0;
float Result137 = max(NiagaraFloat_SelectResult2, Constant248);
float Result138 = Result137 * In_DeltaTime;
float Constant249 = 1;
float Result139 = Result138 + Constant249;
float3 Result140 = Result135 / Result139;
float3 Result141 = Result140 + In_AdvectionVelocity;
Out_Output = Result141;
}
void NiagaraScript_1879_Func_(float3 In_PlaneNormal, float3 In_PlanePivotPoint, float3 In_InitialSphereLocation, float3 In_SpherePositionDelta, float In_CollisionRadius, float In_PhysicsDeltaTime, float In_MaxCorrectiondistance, out bool Out_Collides, out float3 Out_IntersectionLocation, out float3 Out_PreASC45IntersectionSphereCenterLocation, out float3 Out_InitialPositionRelativeCollisionLocation, out float Out_TimeElapsedToCollision, out float Out_RemainingTimePostCollision, out float Out_PercentageofTimeUsedToPerformCollision, out float Out_InitialDistanceBetweenTheSphereASC39sSurfaceandtheCollision, out float Out_UninterruptedAnimatedSphereASC39sDistancetoCollisionPlane, inout FSimulationContext Context)
{
float3 Result154 = -(In_PlaneNormal);
float3 Result155 = In_PlanePivotPoint - In_InitialSphereLocation;
float Result156 = dot(Result154,Result155);
float Result157 = Result156 - In_CollisionRadius;
float Constant258 = 0;
bool Result158 = NiagaraAll(Result157 < Constant258);
bool Constant259 = true;
float3 Result159 = Result154 * Result156;
float3 Result160 = Result159 + In_InitialSphereLocation;
float Result161 = max(In_MaxCorrectiondistance, Result157);
float3 Result162 = Result161 * Result154;
float3 Result163 = Result162 + In_InitialSphereLocation;
float Constant260 = 0;
float Constant261 = 0;
float3 Result164 = In_InitialSphereLocation + In_SpherePositionDelta;
float3 Result165 = In_PlanePivotPoint - Result164;
float Result166 = dot(Result154,Result165);
float Result167 = Result166 - In_CollisionRadius;
float Constant262 = 0;
bool Result168 = NiagaraAll(Result167 <= Constant262);
float Result169 = abs(Result167);
float Result170 = Result157 - Result167;
float Result171 = abs(Result170);
float Constant263 = 1e-06;
float Result172 = max(Result171, Constant263);
float Result173 = Result169 / Result172;
float Constant264 = 0;
bool Result174 = NiagaraAll(Result173 == Constant264);
bool Result175 = Result158 || Result174;
float Constant265 = 1;
float float_IfResult2;
if(Result175)
{
float_IfResult2 = Constant265;
}
else
{
float_IfResult2 = Result173;
}
float Result176 = 1 - float_IfResult2;
float3 Result177 = Result176 * In_SpherePositionDelta;
float3 Result178 = In_InitialSphereLocation + Result177;
float3 Result179 = Result154 * In_CollisionRadius;
float3 Result180 = Result178 + Result179;
float3 Result181 = Result180 - Result178;
float Result182 = In_PhysicsDeltaTime * Result176;
float Result183 = In_PhysicsDeltaTime * float_IfResult2;
bool Collides_IfResult;
float3 IntersectionLocation_IfResult;
float3 PreASC45IntersectionSphereCenterLocation_IfResult;
float3 InitialPositionRelativeCollisionLocation_IfResult;
float TimeElapsedToCollision_IfResult;
float RemainingTimePostCollision_IfResult;
float PercentageofTimeUsedToPerformCollision_IfResult;
float InitialDistanceBetweenTheSphereASC39sSurfaceandtheCollision_IfResult;
float UninterruptedAnimatedSphereASC39sDistancetoCollisionPlane_IfResult;
if(Result158)
{
Collides_IfResult = Constant259;
IntersectionLocation_IfResult = Result160;
PreASC45IntersectionSphereCenterLocation_IfResult = Result163;
InitialPositionRelativeCollisionLocation_IfResult = Result159;
TimeElapsedToCollision_IfResult = Constant260;
RemainingTimePostCollision_IfResult = In_PhysicsDeltaTime;
PercentageofTimeUsedToPerformCollision_IfResult = Constant261;
InitialDistanceBetweenTheSphereASC39sSurfaceandtheCollision_IfResult = Result157;
UninterruptedAnimatedSphereASC39sDistancetoCollisionPlane_IfResult = Result167;
}
else
{
Collides_IfResult = Result168;
IntersectionLocation_IfResult = Result180;
PreASC45IntersectionSphereCenterLocation_IfResult = Result178;
InitialPositionRelativeCollisionLocation_IfResult = Result181;
TimeElapsedToCollision_IfResult = Result182;
RemainingTimePostCollision_IfResult = Result183;
PercentageofTimeUsedToPerformCollision_IfResult = Result176;
InitialDistanceBetweenTheSphereASC39sSurfaceandtheCollision_IfResult = Result157;
UninterruptedAnimatedSphereASC39sDistancetoCollisionPlane_IfResult = Result167;
}
Out_Collides = Collides_IfResult;
Out_IntersectionLocation = IntersectionLocation_IfResult;
Out_PreASC45IntersectionSphereCenterLocation = PreASC45IntersectionSphereCenterLocation_IfResult;
Out_InitialPositionRelativeCollisionLocation = InitialPositionRelativeCollisionLocation_IfResult;
Out_TimeElapsedToCollision = TimeElapsedToCollision_IfResult;
Out_RemainingTimePostCollision = RemainingTimePostCollision_IfResult;
Out_PercentageofTimeUsedToPerformCollision = PercentageofTimeUsedToPerformCollision_IfResult;
Out_InitialDistanceBetweenTheSphereASC39sSurfaceandtheCollision = InitialDistanceBetweenTheSphereASC39sSurfaceandtheCollision_IfResult;
Out_UninterruptedAnimatedSphereASC39sDistancetoCollisionPlane = UninterruptedAnimatedSphereASC39sDistancetoCollisionPlane_IfResult;
}
void NiagaraScript_1882_Func_(float2 In_Min, float2 In_Max, int In_Seed, int In_RandomnessMode, bool In_OverrideSeed, out float2 Out_Result, inout FSimulationContext Context)
{
int Constant276 = (0);
bool Constant277 = false;
int Constant278 = 0;
int Constant279 = (0);
bool Constant280 = false;
NiagaraRandInfo NiagaraScript_1841_Emitter_Determinism_false_Func_Output_RandomInfo3;
bool NiagaraScript_1841_Emitter_Determinism_false_Func_Output_UseDeterministicRandoms3;
NiagaraScript_1841_Emitter_Determinism_false_Func_(In_Seed, Constant276, In_OverrideSeed, Constant278, Constant279, Constant280, In_RandomnessMode, NiagaraScript_1841_Emitter_Determinism_false_Func_Output_RandomInfo3, NiagaraScript_1841_Emitter_Determinism_false_Func_Output_UseDeterministicRandoms3, Context);
float2 Result199 = In_Max - In_Min;
int Seed13;
int Seed23;
int Seed33;
Seed13 = NiagaraScript_1841_Emitter_Determinism_false_Func_Output_RandomInfo3.Seed1;
Seed23 = NiagaraScript_1841_Emitter_Determinism_false_Func_Output_RandomInfo3.Seed2;
Seed33 = NiagaraScript_1841_Emitter_Determinism_false_Func_Output_RandomInfo3.Seed3;
float2 Result200 = rand_float(Result199, Seed13, Seed23, Seed33);
float2 Result201 = rand_float(Result199);
float2 Random_IfResult3;
if(NiagaraScript_1841_Emitter_Determinism_false_Func_Output_UseDeterministicRandoms3)
{
Random_IfResult3 = Result200;
}
else
{
Random_IfResult3 = Result201;
}
float2 Result202 = In_Min + Random_IfResult3;
Out_Result = Result202;
}
void NiagaraScript_1881_Func_(float3 In_ConeAxis, float In_Scale, float In_Spread, out float3 Out_Ouput, inout FSimulationContext Context)
{
float Constant270 = 0;
float Constant271 = 1;
float Result197 = clamp(In_Spread,Constant270,Constant271);
float Constant272 = -1;
float Result198 = Result197 * Constant272;
float2 Output13;
Output13.x = Result198;
Output13.y = Result198;
float2 Output14;
Output14.x = Result197;
Output14.y = Result197;
int Constant273 = -1;
int Constant274 = 0;
bool Constant275 = false;
float2 NiagaraScript_1882_Func_Output_Result;
NiagaraScript_1882_Func_(Output13, Output14, Constant273, Constant274, Constant275, NiagaraScript_1882_Func_Output_Result, Context);
float X1;
float Y1;
X1 = NiagaraScript_1882_Func_Output_Result.x;
Y1 = NiagaraScript_1882_Func_Output_Result.y;
float3 Constant281 = float3(1,0,0);
float3 Result203 = X1 * Constant281;
float3 Constant282 = float3(0,1,0);
float3 Result204 = Y1 * Constant282;
float3 Result205 = Result203 + Result204;
float Result206 = abs(X1);
float Result207 = abs(Y1);
float Result208 = max(Result206, Result207);
float Result209 = 1 - Result208;
float3 Constant283 = float3(0,0,1);
float3 Result210 = Result209 * Constant283;
float3 Result211 = Result205 + Result210;
float3 Result212 = normalize(Result211);
float3 Result213 = Result212 * In_Scale;
float3 Constant284 = float3(0,0,1);
float3 Constant285 = float3(0,0,1);
float Constant286 = 1e-05;
float3 NiagaraScript_1845_Func_Output_Direction7;
float NiagaraScript_1845_Func_Output_Length7;
bool NiagaraScript_1845_Func_Output_BelowThreshold7;
NiagaraScript_1845_Func_(In_ConeAxis, Constant285, Constant286, NiagaraScript_1845_Func_Output_Direction7, NiagaraScript_1845_Func_Output_Length7, NiagaraScript_1845_Func_Output_BelowThreshold7, Context);
float4 NiagaraScript_1847_Func_Output_NewOutput2;
NiagaraScript_1847_Func_(Constant284, NiagaraScript_1845_Func_Output_Direction7, NiagaraScript_1847_Func_Output_NewOutput2, Context);
float3 NiagaraScript_1836_Func_Output_Vector1;
NiagaraScript_1836_Func_(Result213, NiagaraScript_1847_Func_Output_NewOutput2, NiagaraScript_1836_Func_Output_Vector1, Context);
Out_Ouput = NiagaraScript_1836_Func_Output_Vector1;
}
void NiagaraScript_1880_Func_(float3 In_InVector, float3 In_Normal, out float3 Out_Reflected, inout FSimulationContext Context)
{
float Result214 = dot(In_InVector,In_Normal);
float Result215 = Result214 + Result214;
float3 Result216 = Result215 * In_Normal;
float3 Result217 = In_InVector - Result216;
Out_Reflected = Result217;
}
void NiagaraScript_1883_Func_(float3 In_INPUT_VAR, out float3 Out_CentimeterstoMeters, out float3 Out_MeterstoCentimeters, inout FSimulationContext Context)
{
float Constant287 = 0.01;
float3 Result218 = In_INPUT_VAR * Constant287;
float Constant288 = 100;
float3 Result219 = In_INPUT_VAR * Constant288;
Out_CentimeterstoMeters = Result218;
Out_MeterstoCentimeters = Result219;
}
void NiagaraScript_1885_Func_(float3 In_VECTOR_VAR, float3 In_FallbackVector, float In_Threshold, out float3 Out_Direction, out float Out_Length, out bool Out_BelowThreshold, inout FSimulationContext Context)
{
float Result224 = dot(In_VECTOR_VAR,In_VECTOR_VAR);
float Result225 = In_Threshold * In_Threshold;
bool Result226 = NiagaraAll(Result224 < Result225);
float Result227 = length(In_FallbackVector);
float Result228 = rsqrt(Result224);
float3 Result229 = In_VECTOR_VAR * Result228;
float Result230 = Reciprocal(Result228);
float3 Constant293 = float3(0.0, 0.0, 0.0);
float3 Direction_SelectResult3 = Constant293;
float Constant294 = (0.0);
float Length_SelectResult3 = Constant294;
Direction_SelectResult3 = In_FallbackVector;
Length_SelectResult3 = Result227;
if(Result226 == 0)
{
Direction_SelectResult3 = Result229;
Length_SelectResult3 = Result230;
}
Out_Direction = Direction_SelectResult3;
Out_Length = Length_SelectResult3;
Out_BelowThreshold = Result226;
}
void NiagaraScript_1884_Func_(float3 In_VECTOR_VAR, float3 In_Normal, bool In_NormalizeNormal, out float3 Out_Ouput, inout FSimulationContext Context)
{
float Result223 = dot(In_VECTOR_VAR,In_Normal);
float3 Constant291 = float3(0,0,0);
float Constant292 = 1e-05;
float3 NiagaraScript_1885_Func_Output_Direction;
float NiagaraScript_1885_Func_Output_Length;
bool NiagaraScript_1885_Func_Output_BelowThreshold;
NiagaraScript_1885_Func_(In_Normal, Constant291, Constant292, NiagaraScript_1885_Func_Output_Direction, NiagaraScript_1885_Func_Output_Length, NiagaraScript_1885_Func_Output_BelowThreshold, Context);
float3 Constant295 = float3(0.0, 0.0, 0.0);
float3 Vector3f_SelectResult4 = Constant295;
Vector3f_SelectResult4 = NiagaraScript_1885_Func_Output_Direction;
if(In_NormalizeNormal == 0)
{
Vector3f_SelectResult4 = In_Normal;
}
float3 Result231 = Result223 * Vector3f_SelectResult4;
float3 Result232 = In_VECTOR_VAR - Result231;
Out_Ouput = Result232;
}
void NiagaraScript_1886_Func_(float3 In_INPUT_VAR, out float3 Out_CentimeterstoMeters, out float3 Out_MeterstoCentimeters, inout FSimulationContext Context)
{
float Constant298 = 0.01;
float3 Result233 = In_INPUT_VAR * Constant298;
float Constant299 = 100;
float3 Result234 = In_INPUT_VAR * Constant299;
Out_CentimeterstoMeters = Result233;
Out_MeterstoCentimeters = Result234;
}
void NiagaraScript_1887_Func_(float3 In_INPUT_VAR, out float3 Out_CentimeterstoMeters, out float3 Out_MeterstoCentimeters, inout FSimulationContext Context)
{
float Constant304 = 0.01;
float3 Result242 = In_INPUT_VAR * Constant304;
float Constant305 = 100;
float3 Result243 = In_INPUT_VAR * Constant305;
Out_CentimeterstoMeters = Result242;
Out_MeterstoCentimeters = Result243;
}
void Collision_CollisionQueryAndResponse_Emitter_Func_(out float3 Out_ModuleTraceWorldStart, out float3 Out_ModuleTraceWorldEnd, out float3 Out_CollisionPosition, out float3 Out_CollisionNormal, out bool Out_Collided, inout FSimulationContext Context)
{
Context.MapUpdate.Local.Collision.CollisionQueryAndResponse.ModuleInitialDataInstanceAlive = Context.MapUpdate.DataInstance.Alive;
Context.MapUpdate.Transient.Collision_ParticlePositionReplacement = Context.MapUpdate.Transient.Collision_ParticlePositionReplacement;
Context.MapUpdate.Transient.Collision_PredictedParticlePositionForSimStages = Context.MapUpdate.Transient.Collision_PredictedParticlePositionForSimStages;
Context.MapUpdate.Collision.CollisionQueryAndResponse.DeltaTime = Context.MapUpdate.Collision.CollisionQueryAndResponse.DeltaTime;
float Result131 = Reciprocal(Context.MapUpdate.Transient.Collision_ParticleMassReplacement);
Context.MapUpdate.Transient.Collision_ParticlePositionReplacement = Context.MapUpdate.Transient.Collision_ParticlePositionReplacement;
Context.MapUpdate.Transient.Collision_ParticleVelocityReplacement = Context.MapUpdate.Transient.Collision_ParticleVelocityReplacement;
Context.MapUpdate.Transient.Collision_ParticlePhysicsForceReplacement = Context.MapUpdate.Transient.Collision_ParticlePhysicsForceReplacement;
Context.MapUpdate.Transient.Collision_ParticleMassReplacement = Context.MapUpdate.Transient.Collision_ParticleMassReplacement;
Context.MapUpdate.Transient.Collision_ParticleInverseMassReplacement = Result131;
float3 Result132 = Context.MapUpdate.Transient.Collision_ParticlePhysicsForceReplacement * Context.MapUpdate.Transient.Collision_ParticleInverseMassReplacement;
float3 Result133 = Result132 * Context.MapUpdate.Collision.CollisionQueryAndResponse.DeltaTime;
float3 Result134 = Result133 + Context.MapUpdate.Transient.Collision_ParticleVelocityReplacement;
float3 NiagaraScript_1872_Func_Output_Output;
NiagaraScript_1872_Func_(Result134, Context.MapUpdate.Transient.AdvectionVelocity, Context.MapUpdate.Transient.Collision_ParticleInverseMassReplacement, Context.MapUpdate.Transient.PhysicsDrag, Context.MapUpdate.Collision.CollisionQueryAndResponse.DeltaTime, Context.MapUpdate.Transient.DragIgnoreMass, NiagaraScript_1872_Func_Output_Output, Context);
float3 Result142 = NiagaraScript_1872_Func_Output_Output * Context.MapUpdate.Collision.CollisionQueryAndResponse.DeltaTime;
Context.MapUpdate.Local.Collision.CollisionQueryAndResponse.ModuleTraceOrigin = Context.MapUpdate.Transient.Collision_ParticlePositionReplacement;
Context.MapUpdate.Local.Collision.CollisionQueryAndResponse.ModuleInitialForceDividedByMass = Result132;
Context.MapUpdate.Local.Collision.CollisionQueryAndResponse.ModuleForceContribution = Result133;
Context.MapUpdate.Local.Collision.CollisionQueryAndResponse.ModuleAttemptedMovementThisUpdate = Result142;
float3 Constant250 = float3(0,0,-1);
float Constant251 = 1e-05;
float3 NiagaraScript_1845_Func_Output_Direction5;
float NiagaraScript_1845_Func_Output_Length5;
bool NiagaraScript_1845_Func_Output_BelowThreshold5;
NiagaraScript_1845_Func_(Context.MapUpdate.Local.Collision.CollisionQueryAndResponse.ModuleForceContribution, Constant250, Constant251, NiagaraScript_1845_Func_Output_Direction5, NiagaraScript_1845_Func_Output_Length5, NiagaraScript_1845_Func_Output_BelowThreshold5, Context);
Context.MapUpdate.Local.Collision.CollisionQueryAndResponse.ModuleTraceVector = Context.MapUpdate.Local.Collision.CollisionQueryAndResponse.ModuleForceContribution;
Context.MapUpdate.Local.Collision.CollisionQueryAndResponse.ModuleTraceDirection = NiagaraScript_1845_Func_Output_Direction5;
float3 Result143 = NiagaraScript_1845_Func_Output_Direction5 * Context.MapUpdate.Collision.CollisionQueryAndResponse.ParticleRadius;
float3 Result144 = Context.MapUpdate.Local.Collision.CollisionQueryAndResponse.ModuleTraceOrigin - Result143;
float3 Result145 = Context.MapUpdate.Collision.CollisionQueryAndResponse.TraceVectorLengthMultiplier * Context.MapUpdate.Local.Collision.CollisionQueryAndResponse.ModuleForceContribution;
float3 Result146 = Result143 + Result145;
float3 Constant252 = float3(0,0,-1);
float Constant253 = 1e-05;
float3 NiagaraScript_1845_Func_Output_Direction6;
float NiagaraScript_1845_Func_Output_Length6;
bool NiagaraScript_1845_Func_Output_BelowThreshold6;
NiagaraScript_1845_Func_(Result146, Constant252, Constant253, NiagaraScript_1845_Func_Output_Direction6, NiagaraScript_1845_Func_Output_Length6, NiagaraScript_1845_Func_Output_BelowThreshold6, Context);
float Result147 = min(NiagaraScript_1845_Func_Output_Length6, Context.MapUpdate.Collision.CollisionQueryAndResponse.MaxTraceLength);
float3 Result148 = NiagaraScript_1845_Func_Output_Direction6 * Result147;
float3 Result149 = Context.MapUpdate.Local.Collision.CollisionQueryAndResponse.ModuleTraceOrigin + Result148;
Context.MapUpdate.Local.Collision.CollisionQueryAndResponse.ModuleTraceWorldStart = Result144;
Context.MapUpdate.Local.Collision.CollisionQueryAndResponse.ModuleTraceWorldEnd = Result149;
bool Result150 = !Context.MapUpdate.Collision.CollisionQueryAndResponse.CollisionEnabled;
bool Result151 = Result150 || Context.MapUpdate.Collision.CollisionQueryAndResponse.ManuallyEnterRest;
int PerformCollisionQueryAsyncCPU_Collision_CollisionQueryAndResponse_QueryOutput_NextFrameQueryID;
bool PerformCollisionQueryAsyncCPU_Collision_CollisionQueryAndResponse_QueryOutput_CollisionValid;
bool PerformCollisionQueryAsyncCPU_Collision_CollisionQueryAndResponse_QueryOutput_IsTraceInsideMesh;
float3 PerformCollisionQueryAsyncCPU_Collision_CollisionQueryAndResponse_QueryOutput_CollisionPosWorld;
float3 PerformCollisionQueryAsyncCPU_Collision_CollisionQueryAndResponse_QueryOutput_CollisionNormal;
float PerformCollisionQueryAsyncCPU_Collision_CollisionQueryAndResponse_QueryOutput_CollisionMaterialFriction;
float PerformCollisionQueryAsyncCPU_Collision_CollisionQueryAndResponse_QueryOutput_CollisionMaterialRestitution;
int PerformCollisionQueryAsyncCPU_Collision_CollisionQueryAndResponse_QueryOutput_CollisionMaterialIndex;
PerformCollisionQueryAsyncCPU_Collision_CollisionQueryAndResponse_Query(0, Context.MapUpdate.Particles.Collision.CollisionQueryAndResponse.CollisionID, Context.MapUpdate.Local.Collision.CollisionQueryAndResponse.ModuleTraceWorldStart, Context.MapUpdate.Local.Collision.CollisionQueryAndResponse.ModuleTraceWorldEnd, Context.MapUpdate.Collision.CollisionQueryAndResponse.CPUCollisionTraceChannel, Result151, PerformCollisionQueryAsyncCPU_Collision_CollisionQueryAndResponse_QueryOutput_NextFrameQueryID, PerformCollisionQueryAsyncCPU_Collision_CollisionQueryAndResponse_QueryOutput_CollisionValid, PerformCollisionQueryAsyncCPU_Collision_CollisionQueryAndResponse_QueryOutput_IsTraceInsideMesh, PerformCollisionQueryAsyncCPU_Collision_CollisionQueryAndResponse_QueryOutput_CollisionPosWorld, PerformCollisionQueryAsyncCPU_Collision_CollisionQueryAndResponse_QueryOutput_CollisionNormal, PerformCollisionQueryAsyncCPU_Collision_CollisionQueryAndResponse_QueryOutput_CollisionMaterialFriction, PerformCollisionQueryAsyncCPU_Collision_CollisionQueryAndResponse_QueryOutput_CollisionMaterialRestitution, PerformCollisionQueryAsyncCPU_Collision_CollisionQueryAndResponse_QueryOutput_CollisionMaterialIndex);
bool Result152 = !PerformCollisionQueryAsyncCPU_Collision_CollisionQueryAndResponse_QueryOutput_IsTraceInsideMesh;
bool Result153 = PerformCollisionQueryAsyncCPU_Collision_CollisionQueryAndResponse_QueryOutput_CollisionValid && Result152;
bool Constant254 = false;
bool Constant255 = true;
Context.MapUpdate.Particles.Collision.CollisionQueryAndResponse.CollisionID = PerformCollisionQueryAsyncCPU_Collision_CollisionQueryAndResponse_QueryOutput_NextFrameQueryID;
Context.MapUpdate.Local.Collision.CollisionQueryAndResponse.ModuleReturnedCollisionValidBool = Result153;
Context.MapUpdate.Local.Collision.CollisionQueryAndResponse.ModuleReturnedCollisionWorldPosition = PerformCollisionQueryAsyncCPU_Collision_CollisionQueryAndResponse_QueryOutput_CollisionPosWorld;
Context.MapUpdate.Local.Collision.CollisionQueryAndResponse.ModuleReturnedCollisionNormal = PerformCollisionQueryAsyncCPU_Collision_CollisionQueryAndResponse_QueryOutput_CollisionNormal;
Context.MapUpdate.Local.Collision.CollisionQueryAndResponse.ModuleReturnedFriction = PerformCollisionQueryAsyncCPU_Collision_CollisionQueryAndResponse_QueryOutput_CollisionMaterialFriction;
Context.MapUpdate.Local.Collision.CollisionQueryAndResponse.ModuleReturnedRestitution = Context.MapUpdate.Collision.CollisionQueryAndResponse.ParticleRestitutionCoeffiecient;
Context.MapUpdate.OUTPUT_VAR.Collision.CollisionQueryAndResponse.ModuleDepthBasedCollisionParticleOccluded = Constant254;
Context.MapUpdate.DataInstance.Alive = Context.MapUpdate.DataInstance.Alive;
Context.MapUpdate.OUTPUT_VAR.Collision.CollisionQueryAndResponse.ParticleOnScreen = Constant255;
Context.MapUpdate.Particles.Collision.CollisionQueryAndResponse.Collision1MaterialIndex = PerformCollisionQueryAsyncCPU_Collision_CollisionQueryAndResponse_QueryOutput_CollisionMaterialIndex;
float3 Constant256 = float3(0,0,1);
float3 Constant257 = float3(0,0,-1e+16);
float3 PlaneNormal_IfResult;
float3 PlanePivotPoint_IfResult;
if(Context.MapUpdate.Local.Collision.CollisionQueryAndResponse.ModuleReturnedCollisionValidBool)
{
PlaneNormal_IfResult = Context.MapUpdate.Local.Collision.CollisionQueryAndResponse.ModuleReturnedCollisionNormal;
PlanePivotPoint_IfResult = Context.MapUpdate.Local.Collision.CollisionQueryAndResponse.ModuleReturnedCollisionWorldPosition;
}
else
{
PlaneNormal_IfResult = Constant256;
PlanePivotPoint_IfResult = Constant257;
}
Context.MapUpdate.Local.Collision.CollisionQueryAndResponse.ModulePlaneNormal = PlaneNormal_IfResult;
Context.MapUpdate.Local.Collision.CollisionQueryAndResponse.ModulePlanePivotPoint = PlanePivotPoint_IfResult;
bool NiagaraScript_1879_Func_Output_Collides;
float3 NiagaraScript_1879_Func_Output_IntersectionLocation;
float3 NiagaraScript_1879_Func_Output_PreASC45IntersectionSphereCenterLocation;
float3 NiagaraScript_1879_Func_Output_InitialPositionRelativeCollisionLocation;
float NiagaraScript_1879_Func_Output_TimeElapsedToCollision;
float NiagaraScript_1879_Func_Output_RemainingTimePostCollision;
float NiagaraScript_1879_Func_Output_PercentageofTimeUsedToPerformCollision;
float NiagaraScript_1879_Func_Output_InitialDistanceBetweenTheSphereASC39sSurfaceandtheCollision;
float NiagaraScript_1879_Func_Output_UninterruptedAnimatedSphereASC39sDistancetoCollisionPlane;
NiagaraScript_1879_Func_(Context.MapUpdate.Local.Collision.CollisionQueryAndResponse.ModulePlaneNormal, Context.MapUpdate.Local.Collision.CollisionQueryAndResponse.ModulePlanePivotPoint, Context.MapUpdate.Local.Collision.CollisionQueryAndResponse.ModuleTraceOrigin, Context.MapUpdate.Local.Collision.CollisionQueryAndResponse.ModuleAttemptedMovementThisUpdate, Context.MapUpdate.Collision.CollisionQueryAndResponse.ParticleRadius, Context.MapUpdate.Collision.CollisionQueryAndResponse.DeltaTime, Context.MapUpdate.Collision.CollisionQueryAndResponse.MaxIntersectionCorrectionDistance, NiagaraScript_1879_Func_Output_Collides, NiagaraScript_1879_Func_Output_IntersectionLocation, NiagaraScript_1879_Func_Output_PreASC45IntersectionSphereCenterLocation, NiagaraScript_1879_Func_Output_InitialPositionRelativeCollisionLocation, NiagaraScript_1879_Func_Output_TimeElapsedToCollision, NiagaraScript_1879_Func_Output_RemainingTimePostCollision, NiagaraScript_1879_Func_Output_PercentageofTimeUsedToPerformCollision, NiagaraScript_1879_Func_Output_InitialDistanceBetweenTheSphereASC39sSurfaceandtheCollision, NiagaraScript_1879_Func_Output_UninterruptedAnimatedSphereASC39sDistancetoCollisionPlane, Context);
Context.MapUpdate.Transient.CollisionWorldPosition = NiagaraScript_1879_Func_Output_IntersectionLocation;
Context.MapUpdate.Transient.CollisionParticleWorldPosition = NiagaraScript_1879_Func_Output_PreASC45IntersectionSphereCenterLocation;
Context.MapUpdate.Transient.CollisionParticleRelativeCollisionLocation = NiagaraScript_1879_Func_Output_InitialPositionRelativeCollisionLocation;
Context.MapUpdate.Local.Collision.CollisionQueryAndResponse.ModuleTickDeltaForThisCollisionUpdate = NiagaraScript_1879_Func_Output_TimeElapsedToCollision;
Context.MapUpdate.Local.Collision.CollisionQueryAndResponse.ModulePhysicsDeltaTime = NiagaraScript_1879_Func_Output_RemainingTimePostCollision;
Context.MapUpdate.Local.Collision.CollisionQueryAndResponse.ModulePercentageOfTickDedicatedToUpdatingPosition = NiagaraScript_1879_Func_Output_PercentageofTimeUsedToPerformCollision;
Context.MapUpdate.OUTPUT_VAR.Collision.CollisionQueryAndResponse.CollisionPenetrationDistance = NiagaraScript_1879_Func_Output_InitialDistanceBetweenTheSphereASC39sSurfaceandtheCollision;
Context.MapUpdate.Transient.CollisionDistanceToCollision = NiagaraScript_1879_Func_Output_UninterruptedAnimatedSphereASC39sDistancetoCollisionPlane;
float Constant266 = 0;
bool Result184 = NiagaraAll(Context.MapUpdate.Transient.CollisionDistanceToCollision <= Constant266);
bool Result185 = Context.MapUpdate.Collision.CollisionQueryAndResponse.CollisionEnabled && Result184;
bool Result186 = Result185 || Context.MapUpdate.Particles.HasCollided;
Context.MapUpdate.OUTPUT_VAR.Collision.CollisionQueryAndResponse.PhysicsCollidesThisFrame = Result185;
Context.MapUpdate.Particles.HasCollided = Result186;
float3 Result187 = -(Context.MapUpdate.Local.Collision.CollisionQueryAndResponse.ModulePlaneNormal);
float Result188 = dot(Result187,Context.MapUpdate.Local.Collision.CollisionQueryAndResponse.ModuleAttemptedMovementThisUpdate);
float Result189 = Context.MapUpdate.Collision.CollisionQueryAndResponse.DeltaTime * Context.MapUpdate.Collision.CollisionQueryAndResponse.DeltaTime;
float3 Result190 = Result189 * Context.MapUpdate.Local.Collision.CollisionQueryAndResponse.ModuleInitialForceDividedByMass;
float Result191 = dot(Result187,Result190);
float Result192 = Result188 - Result191;
float Constant267 = 0.1;
bool Result193 = NiagaraAll(Result192 < Constant267);
Context.MapUpdate.Local.Collision.CollisionQueryAndResponse.ModuleRemoveRestitution = Result193;
float3 Result194 = Context.MapUpdate.Local.Collision.CollisionQueryAndResponse.ModuleAttemptedMovementThisUpdate / Context.MapUpdate.Collision.CollisionQueryAndResponse.DeltaTime;
float float_IfResult3;
if(Context.MapUpdate.OUTPUT_VAR.Collision.CollisionQueryAndResponse.PhysicsCollidesThisFrame)
{
float_IfResult3 = Context.MapUpdate.Local.Collision.CollisionQueryAndResponse.ModulePhysicsDeltaTime;
}
else
{
float_IfResult3 = Context.MapUpdate.Collision.CollisionQueryAndResponse.DeltaTime;
}
float Constant268 = 0;
float float_IfResult4;
if(Context.MapUpdate.Local.Collision.CollisionQueryAndResponse.ModuleRemoveRestitution)
{
float_IfResult4 = Constant268;
}
else
{
float_IfResult4 = Context.MapUpdate.Local.Collision.CollisionQueryAndResponse.ModuleReturnedRestitution;
}
Context.MapUpdate.Transient.CollisionValid = Context.MapUpdate.OUTPUT_VAR.Collision.CollisionQueryAndResponse.PhysicsCollidesThisFrame;
Context.MapUpdate.Transient.CollisionSize = Context.MapUpdate.Collision.CollisionQueryAndResponse.ParticleRadius;
Context.MapUpdate.Transient.CollisionNormal = Context.MapUpdate.Local.Collision.CollisionQueryAndResponse.ModulePlaneNormal;
Context.MapUpdate.Transient.CollisionVelocity = Result194;
Context.MapUpdate.Transient.CollisionFriction = Context.MapUpdate.Local.Collision.CollisionQueryAndResponse.ModuleReturnedFriction;
Context.MapUpdate.Transient.PhysicsDeltaTime = float_IfResult3;
Context.MapUpdate.Transient.CollisionRestitution = float_IfResult4;
bool Result195 = !Context.MapUpdate.Local.Collision.CollisionQueryAndResponse.ModuleRemoveRestitution;
bool Result196 = Result195 && Context.MapUpdate.Collision.CollisionQueryAndResponse.RandomizeCollisionNormal;
float Constant269 = 1;
float3 NiagaraScript_1881_Func_Output_Ouput;
NiagaraScript_1881_Func_(Context.MapUpdate.Transient.CollisionNormal, Constant269, Context.MapUpdate.Collision.CollisionQueryAndResponse.CollisionNormalRandomizationPercentage, NiagaraScript_1881_Func_Output_Ouput, Context);
float3 Vector_IfResult6;
if(Result196)
{
Vector_IfResult6 = NiagaraScript_1881_Func_Output_Ouput;
}
else
{
Vector_IfResult6 = Context.MapUpdate.Transient.CollisionNormal;
}
float3 NiagaraScript_1880_Func_Output_Reflected;
NiagaraScript_1880_Func_(Context.MapUpdate.Transient.CollisionVelocity, Vector_IfResult6, NiagaraScript_1880_Func_Output_Reflected, Context);
Context.MapUpdate.Local.Collision.CollisionQueryAndResponse.ModuleReflectedVelocity = NiagaraScript_1880_Func_Output_Reflected;
float3 NiagaraScript_1883_Func_Output_CentimeterstoMeters;
float3 NiagaraScript_1883_Func_Output_MeterstoCentimeters;
NiagaraScript_1883_Func_(Context.MapUpdate.Transient.CollisionVelocity, NiagaraScript_1883_Func_Output_CentimeterstoMeters, NiagaraScript_1883_Func_Output_MeterstoCentimeters, Context);
float3 Result220 = Context.MapUpdate.Transient.Collision_ParticleMassReplacement * NiagaraScript_1883_Func_Output_CentimeterstoMeters;
float Constant289 = -1;
float3 Result221 = Result220 * Constant289;
float Result222 = dot(Result221,Context.MapUpdate.Transient.CollisionNormal);
Context.MapUpdate.Local.Collision.CollisionQueryAndResponse.ModuleNormalForceInNewtons = Result222;
bool Constant290 = false;
float3 NiagaraScript_1884_Func_Output_Ouput;
NiagaraScript_1884_Func_(Context.MapUpdate.Local.Collision.CollisionQueryAndResponse.ModuleReflectedVelocity, Context.MapUpdate.Transient.CollisionNormal, Constant290, NiagaraScript_1884_Func_Output_Ouput, Context);
float3 Constant296 = float3(0,0,0);
float Constant297 = 1e-05;
float3 NiagaraScript_1845_Func_Output_Direction8;
float NiagaraScript_1845_Func_Output_Length8;
bool NiagaraScript_1845_Func_Output_BelowThreshold8;
NiagaraScript_1845_Func_(NiagaraScript_1884_Func_Output_Ouput, Constant296, Constant297, NiagaraScript_1845_Func_Output_Direction8, NiagaraScript_1845_Func_Output_Length8, NiagaraScript_1845_Func_Output_BelowThreshold8, Context);
float3 NiagaraScript_1886_Func_Output_CentimeterstoMeters;
float3 NiagaraScript_1886_Func_Output_MeterstoCentimeters;
NiagaraScript_1886_Func_(NiagaraScript_1884_Func_Output_Ouput, NiagaraScript_1886_Func_Output_CentimeterstoMeters, NiagaraScript_1886_Func_Output_MeterstoCentimeters, Context);
float3 Result235 = NiagaraScript_1886_Func_Output_CentimeterstoMeters * Context.MapUpdate.Transient.Collision_ParticleMassReplacement;
float float_IfResult5;
if(Context.MapUpdate.Local.Collision.CollisionQueryAndResponse.ModuleRemoveRestitution)
{
float_IfResult5 = Context.MapUpdate.Collision.CollisionQueryAndResponse.DynamicFrictionCoefficient;
}
else
{
float_IfResult5 = Context.MapUpdate.Collision.CollisionQueryAndResponse.BounceCollisionFriction;
}
float3 Result236 = NiagaraScript_1845_Func_Output_Direction8 * float_IfResult5 * Context.MapUpdate.Local.Collision.CollisionQueryAndResponse.ModuleNormalForceInNewtons;
float3 Result237 = Result235 - Result236;
float3 Constant300 = float3(0,0,0);
float Constant301 = 1e-05;
float3 NiagaraScript_1845_Func_Output_Direction9;
float NiagaraScript_1845_Func_Output_Length9;
bool NiagaraScript_1845_Func_Output_BelowThreshold9;
NiagaraScript_1845_Func_(Result237, Constant300, Constant301, NiagaraScript_1845_Func_Output_Direction9, NiagaraScript_1845_Func_Output_Length9, NiagaraScript_1845_Func_Output_BelowThreshold9, Context);
float Result238 = dot(NiagaraScript_1845_Func_Output_Direction8,NiagaraScript_1845_Func_Output_Direction9);
float Constant302 = 0;
bool Result239 = NiagaraAll(Result238 <= Constant302);
float3 Vector_IfResult7;
if(Result239)
{
Vector_IfResult7 = Result235;
}
else
{
Vector_IfResult7 = Result236;
}
float Constant303 = -1;
float3 Result240 = Vector_IfResult7 * Constant303;
Context.MapUpdate.Local.Collision.CollisionQueryAndResponse.ModuleFrictionForceVectorInNewtons = Result240;
float3 Result241 = Context.MapUpdate.Local.Collision.CollisionQueryAndResponse.ModuleFrictionForceVectorInNewtons * Context.MapUpdate.Transient.Collision_ParticleInverseMassReplacement;
float3 NiagaraScript_1887_Func_Output_CentimeterstoMeters;
float3 NiagaraScript_1887_Func_Output_MeterstoCentimeters;
NiagaraScript_1887_Func_(Result241, NiagaraScript_1887_Func_Output_CentimeterstoMeters, NiagaraScript_1887_Func_Output_MeterstoCentimeters, Context);
Context.MapUpdate.Local.Collision.CollisionQueryAndResponse.ModuleFrictionForceVelocityVector = NiagaraScript_1887_Func_Output_MeterstoCentimeters;
float3 Result244 = Context.MapUpdate.Local.Collision.CollisionQueryAndResponse.ModuleReflectedVelocity + Context.MapUpdate.Local.Collision.CollisionQueryAndResponse.ModuleFrictionForceVelocityVector;
float Result245 = dot(Context.MapUpdate.Transient.CollisionNormal,Context.MapUpdate.Local.Collision.CollisionQueryAndResponse.ModuleReflectedVelocity);
float3 Result246 = Context.MapUpdate.Transient.CollisionNormal * Result245;
float Result247 = 1 - Context.MapUpdate.Transient.CollisionRestitution;
float3 Result248 = Result246 * Result247;
float3 Result249 = Result244 - Result248;
Context.MapUpdate.Local.Collision.CollisionQueryAndResponse.ModuleReflectedVelocityWithFrictionApplied = Result249;
float3 Particleposition_IfResult;
if(Context.MapUpdate.Transient.CollisionValid)
{
Particleposition_IfResult = Context.MapUpdate.Transient.CollisionParticleWorldPosition;
}
else
{
Particleposition_IfResult = Context.MapUpdate.Transient.Collision_ParticlePositionReplacement;
}
Context.MapUpdate.Transient.Collision_ParticlePositionReplacement = Particleposition_IfResult;
float3 Constant306 = float3(0,0,1);
float Constant307 = 1e-05;
float3 NiagaraScript_1845_Func_Output_Direction10;
float NiagaraScript_1845_Func_Output_Length10;
bool NiagaraScript_1845_Func_Output_BelowThreshold10;
NiagaraScript_1845_Func_(Context.MapUpdate.Transient.CollisionVelocity, Constant306, Constant307, NiagaraScript_1845_Func_Output_Direction10, NiagaraScript_1845_Func_Output_Length10, NiagaraScript_1845_Func_Output_BelowThreshold10, Context);
float Result250 = dot(NiagaraScript_1845_Func_Output_Direction10,Context.MapUpdate.Transient.CollisionNormal);
float Constant308 = 0;
bool Result251 = NiagaraAll(Result250 < Constant308);
bool Result252 = Result251 && Context.MapUpdate.Transient.CollisionValid;
float3 Constant309 = float3(0,0,0);
float3 physicsforce_IfResult;
float3 Velocity_IfResult;
if(Result252)
{
physicsforce_IfResult = Constant309;
Velocity_IfResult = Context.MapUpdate.Local.Collision.CollisionQueryAndResponse.ModuleReflectedVelocityWithFrictionApplied;
}
else
{
physicsforce_IfResult = Context.MapUpdate.Transient.PhysicsForce;
Velocity_IfResult = Context.MapUpdate.Transient.Collision_ParticleVelocityReplacement;
}
Context.MapUpdate.Transient.Collision_ParticleVelocityReplacement = Velocity_IfResult;
Context.MapUpdate.Transient.Collision_ParticlePhysicsForceReplacement = physicsforce_IfResult;
Out_ModuleTraceWorldStart = Context.MapUpdate.Local.Collision.CollisionQueryAndResponse.ModuleTraceWorldStart;
Out_ModuleTraceWorldEnd = Context.MapUpdate.Local.Collision.CollisionQueryAndResponse.ModuleTraceWorldEnd;
Out_CollisionPosition = Context.MapUpdate.Transient.CollisionWorldPosition;
Out_CollisionNormal = Context.MapUpdate.Transient.CollisionNormal;
Out_Collided = Context.MapUpdate.Transient.CollisionValid;
}
void Collision_CollisionQueryAndResponse001_Emitter_Func_(out float3 Out_ModuleTraceWorldStart, out float3 Out_ModuleTraceWorldEnd, out float3 Out_CollisionPosition, out float3 Out_CollisionNormal, out bool Out_Collided, inout FSimulationContext Context)
{
Context.MapUpdate.Local.Collision.CollisionQueryAndResponse001.ModuleInitialDataInstanceAlive = Context.MapUpdate.DataInstance.Alive;
Context.MapUpdate.Transient.Collision_ParticlePositionReplacement = Context.MapUpdate.Transient.Collision_ParticlePositionReplacement;
Context.MapUpdate.Transient.Collision_PredictedParticlePositionForSimStages = Context.MapUpdate.Transient.Collision_PredictedParticlePositionForSimStages;
Context.MapUpdate.Collision.CollisionQueryAndResponse001.DeltaTime = Context.MapUpdate.Collision.CollisionQueryAndResponse001.DeltaTime;
float Result253 = Reciprocal(Context.MapUpdate.Transient.Collision_ParticleMassReplacement);
Context.MapUpdate.Transient.Collision_ParticlePositionReplacement = Context.MapUpdate.Transient.Collision_ParticlePositionReplacement;
Context.MapUpdate.Transient.Collision_ParticleVelocityReplacement = Context.MapUpdate.Transient.Collision_ParticleVelocityReplacement;
Context.MapUpdate.Transient.Collision_ParticlePhysicsForceReplacement = Context.MapUpdate.Transient.Collision_ParticlePhysicsForceReplacement;
Context.MapUpdate.Transient.Collision_ParticleMassReplacement = Context.MapUpdate.Transient.Collision_ParticleMassReplacement;
Context.MapUpdate.Transient.Collision_ParticleInverseMassReplacement = Result253;
float3 Result254 = Context.MapUpdate.Transient.Collision_ParticlePhysicsForceReplacement * Context.MapUpdate.Transient.Collision_ParticleInverseMassReplacement;
float3 Result255 = Result254 * Context.MapUpdate.Collision.CollisionQueryAndResponse001.DeltaTime;
float3 Result256 = Result255 + Context.MapUpdate.Transient.Collision_ParticleVelocityReplacement;
float3 NiagaraScript_1872_Func_Output_Output1;
NiagaraScript_1872_Func_(Result256, Context.MapUpdate.Transient.AdvectionVelocity, Context.MapUpdate.Transient.Collision_ParticleInverseMassReplacement, Context.MapUpdate.Transient.PhysicsDrag, Context.MapUpdate.Collision.CollisionQueryAndResponse001.DeltaTime, Context.MapUpdate.Transient.DragIgnoreMass, NiagaraScript_1872_Func_Output_Output1, Context);
float3 Result257 = NiagaraScript_1872_Func_Output_Output1 * Context.MapUpdate.Collision.CollisionQueryAndResponse001.DeltaTime;
Context.MapUpdate.Local.Collision.CollisionQueryAndResponse001.ModuleTraceOrigin = Context.MapUpdate.Transient.Collision_ParticlePositionReplacement;
Context.MapUpdate.Local.Collision.CollisionQueryAndResponse001.ModuleInitialForceDividedByMass = Result254;
Context.MapUpdate.Local.Collision.CollisionQueryAndResponse001.ModuleForceContribution = Result255;
Context.MapUpdate.Local.Collision.CollisionQueryAndResponse001.ModuleAttemptedMovementThisUpdate = Result257;
float3 Constant311 = float3(0,0,-1);
float Constant312 = 1e-05;
float3 NiagaraScript_1845_Func_Output_Direction11;
float NiagaraScript_1845_Func_Output_Length11;
bool NiagaraScript_1845_Func_Output_BelowThreshold11;
NiagaraScript_1845_Func_(Context.MapUpdate.Local.Collision.CollisionQueryAndResponse001.ModuleAttemptedMovementThisUpdate, Constant311, Constant312, NiagaraScript_1845_Func_Output_Direction11, NiagaraScript_1845_Func_Output_Length11, NiagaraScript_1845_Func_Output_BelowThreshold11, Context);
Context.MapUpdate.Local.Collision.CollisionQueryAndResponse001.ModuleTraceVector = Context.MapUpdate.Local.Collision.CollisionQueryAndResponse001.ModuleAttemptedMovementThisUpdate;
Context.MapUpdate.Local.Collision.CollisionQueryAndResponse001.ModuleTraceDirection = NiagaraScript_1845_Func_Output_Direction11;
float3 Result258 = NiagaraScript_1845_Func_Output_Direction11 * Context.MapUpdate.Collision.CollisionQueryAndResponse001.ParticleRadius;
float3 Result259 = Context.MapUpdate.Local.Collision.CollisionQueryAndResponse001.ModuleTraceOrigin - Result258;
float3 Result260 = Context.MapUpdate.Collision.CollisionQueryAndResponse001.TraceVectorLengthMultiplier * Context.MapUpdate.Local.Collision.CollisionQueryAndResponse001.ModuleAttemptedMovementThisUpdate;
float3 Result261 = Result258 + Result260;
float3 Constant313 = float3(0,0,-1);
float Constant314 = 1e-05;
float3 NiagaraScript_1845_Func_Output_Direction12;
float NiagaraScript_1845_Func_Output_Length12;
bool NiagaraScript_1845_Func_Output_BelowThreshold12;
NiagaraScript_1845_Func_(Result261, Constant313, Constant314, NiagaraScript_1845_Func_Output_Direction12, NiagaraScript_1845_Func_Output_Length12, NiagaraScript_1845_Func_Output_BelowThreshold12, Context);
float Result262 = min(NiagaraScript_1845_Func_Output_Length12, Context.MapUpdate.Collision.CollisionQueryAndResponse001.MaxTraceLength);
float3 Result263 = NiagaraScript_1845_Func_Output_Direction12 * Result262;
float3 Result264 = Context.MapUpdate.Local.Collision.CollisionQueryAndResponse001.ModuleTraceOrigin + Result263;
Context.MapUpdate.Local.Collision.CollisionQueryAndResponse001.ModuleTraceWorldStart = Result259;
Context.MapUpdate.Local.Collision.CollisionQueryAndResponse001.ModuleTraceWorldEnd = Result264;
bool Result265 = !Context.MapUpdate.Collision.CollisionQueryAndResponse001.CollisionEnabled;
bool Result266 = Result265 || Context.MapUpdate.Collision.CollisionQueryAndResponse001.ManuallyEnterRest;
int PerformCollisionQueryAsyncCPU_Collision_CollisionQueryAndResponse001_QueryOutput_NextFrameQueryID;
bool PerformCollisionQueryAsyncCPU_Collision_CollisionQueryAndResponse001_QueryOutput_CollisionValid;
bool PerformCollisionQueryAsyncCPU_Collision_CollisionQueryAndResponse001_QueryOutput_IsTraceInsideMesh;
float3 PerformCollisionQueryAsyncCPU_Collision_CollisionQueryAndResponse001_QueryOutput_CollisionPosWorld;
float3 PerformCollisionQueryAsyncCPU_Collision_CollisionQueryAndResponse001_QueryOutput_CollisionNormal;
float PerformCollisionQueryAsyncCPU_Collision_CollisionQueryAndResponse001_QueryOutput_CollisionMaterialFriction;
float PerformCollisionQueryAsyncCPU_Collision_CollisionQueryAndResponse001_QueryOutput_CollisionMaterialRestitution;
int PerformCollisionQueryAsyncCPU_Collision_CollisionQueryAndResponse001_QueryOutput_CollisionMaterialIndex;
PerformCollisionQueryAsyncCPU_Collision_CollisionQueryAndResponse001_Query(1, Context.MapUpdate.Particles.Collision.CollisionQueryAndResponse001.CollisionID, Context.MapUpdate.Local.Collision.CollisionQueryAndResponse001.ModuleTraceWorldStart, Context.MapUpdate.Local.Collision.CollisionQueryAndResponse001.ModuleTraceWorldEnd, Context.MapUpdate.Collision.CollisionQueryAndResponse001.CPUCollisionTraceChannel, Result266, PerformCollisionQueryAsyncCPU_Collision_CollisionQueryAndResponse001_QueryOutput_NextFrameQueryID, PerformCollisionQueryAsyncCPU_Collision_CollisionQueryAndResponse001_QueryOutput_CollisionValid, PerformCollisionQueryAsyncCPU_Collision_CollisionQueryAndResponse001_QueryOutput_IsTraceInsideMesh, PerformCollisionQueryAsyncCPU_Collision_CollisionQueryAndResponse001_QueryOutput_CollisionPosWorld, PerformCollisionQueryAsyncCPU_Collision_CollisionQueryAndResponse001_QueryOutput_CollisionNormal, PerformCollisionQueryAsyncCPU_Collision_CollisionQueryAndResponse001_QueryOutput_CollisionMaterialFriction, PerformCollisionQueryAsyncCPU_Collision_CollisionQueryAndResponse001_QueryOutput_CollisionMaterialRestitution, PerformCollisionQueryAsyncCPU_Collision_CollisionQueryAndResponse001_QueryOutput_CollisionMaterialIndex);
bool Result267 = !PerformCollisionQueryAsyncCPU_Collision_CollisionQueryAndResponse001_QueryOutput_IsTraceInsideMesh;
bool Result268 = PerformCollisionQueryAsyncCPU_Collision_CollisionQueryAndResponse001_QueryOutput_CollisionValid && Result267;
bool Constant315 = false;
bool Constant316 = true;
Context.MapUpdate.Particles.Collision.CollisionQueryAndResponse001.CollisionID = PerformCollisionQueryAsyncCPU_Collision_CollisionQueryAndResponse001_QueryOutput_NextFrameQueryID;
Context.MapUpdate.Local.Collision.CollisionQueryAndResponse001.ModuleReturnedCollisionValidBool = Result268;
Context.MapUpdate.Local.Collision.CollisionQueryAndResponse001.ModuleReturnedCollisionWorldPosition = PerformCollisionQueryAsyncCPU_Collision_CollisionQueryAndResponse001_QueryOutput_CollisionPosWorld;
Context.MapUpdate.Local.Collision.CollisionQueryAndResponse001.ModuleReturnedCollisionNormal = PerformCollisionQueryAsyncCPU_Collision_CollisionQueryAndResponse001_QueryOutput_CollisionNormal;
Context.MapUpdate.Local.Collision.CollisionQueryAndResponse001.ModuleReturnedFriction = PerformCollisionQueryAsyncCPU_Collision_CollisionQueryAndResponse001_QueryOutput_CollisionMaterialFriction;
Context.MapUpdate.Local.Collision.CollisionQueryAndResponse001.ModuleReturnedRestitution = Context.MapUpdate.Collision.CollisionQueryAndResponse001.ParticleRestitutionCoeffiecient;
Context.MapUpdate.OUTPUT_VAR.Collision.CollisionQueryAndResponse001.ModuleDepthBasedCollisionParticleOccluded = Constant315;
Context.MapUpdate.DataInstance.Alive = Context.MapUpdate.DataInstance.Alive;
Context.MapUpdate.OUTPUT_VAR.Collision.CollisionQueryAndResponse001.ParticleOnScreen = Constant316;
Context.MapUpdate.Particles.Collision.CollisionQueryAndResponse001.Collision2MaterialIndex = PerformCollisionQueryAsyncCPU_Collision_CollisionQueryAndResponse001_QueryOutput_CollisionMaterialIndex;
float3 Constant317 = float3(0,0,1);
float3 Constant318 = float3(0,0,-1e+16);
float3 PlaneNormal_IfResult1;
float3 PlanePivotPoint_IfResult1;
if(Context.MapUpdate.Local.Collision.CollisionQueryAndResponse001.ModuleReturnedCollisionValidBool)
{
PlaneNormal_IfResult1 = Context.MapUpdate.Local.Collision.CollisionQueryAndResponse001.ModuleReturnedCollisionNormal;
PlanePivotPoint_IfResult1 = Context.MapUpdate.Local.Collision.CollisionQueryAndResponse001.ModuleReturnedCollisionWorldPosition;
}
else
{
PlaneNormal_IfResult1 = Constant317;
PlanePivotPoint_IfResult1 = Constant318;
}
Context.MapUpdate.Local.Collision.CollisionQueryAndResponse001.ModulePlaneNormal = PlaneNormal_IfResult1;
Context.MapUpdate.Local.Collision.CollisionQueryAndResponse001.ModulePlanePivotPoint = PlanePivotPoint_IfResult1;
bool NiagaraScript_1879_Func_Output_Collides1;
float3 NiagaraScript_1879_Func_Output_IntersectionLocation1;
float3 NiagaraScript_1879_Func_Output_PreASC45IntersectionSphereCenterLocation1;
float3 NiagaraScript_1879_Func_Output_InitialPositionRelativeCollisionLocation1;
float NiagaraScript_1879_Func_Output_TimeElapsedToCollision1;
float NiagaraScript_1879_Func_Output_RemainingTimePostCollision1;
float NiagaraScript_1879_Func_Output_PercentageofTimeUsedToPerformCollision1;
float NiagaraScript_1879_Func_Output_InitialDistanceBetweenTheSphereASC39sSurfaceandtheCollision1;
float NiagaraScript_1879_Func_Output_UninterruptedAnimatedSphereASC39sDistancetoCollisionPlane1;
NiagaraScript_1879_Func_(Context.MapUpdate.Local.Collision.CollisionQueryAndResponse001.ModulePlaneNormal, Context.MapUpdate.Local.Collision.CollisionQueryAndResponse001.ModulePlanePivotPoint, Context.MapUpdate.Local.Collision.CollisionQueryAndResponse001.ModuleTraceOrigin, Context.MapUpdate.Local.Collision.CollisionQueryAndResponse001.ModuleAttemptedMovementThisUpdate, Context.MapUpdate.Collision.CollisionQueryAndResponse001.ParticleRadius, Context.MapUpdate.Collision.CollisionQueryAndResponse001.DeltaTime, Context.MapUpdate.Collision.CollisionQueryAndResponse001.MaxIntersectionCorrectionDistance, NiagaraScript_1879_Func_Output_Collides1, NiagaraScript_1879_Func_Output_IntersectionLocation1, NiagaraScript_1879_Func_Output_PreASC45IntersectionSphereCenterLocation1, NiagaraScript_1879_Func_Output_InitialPositionRelativeCollisionLocation1, NiagaraScript_1879_Func_Output_TimeElapsedToCollision1, NiagaraScript_1879_Func_Output_RemainingTimePostCollision1, NiagaraScript_1879_Func_Output_PercentageofTimeUsedToPerformCollision1, NiagaraScript_1879_Func_Output_InitialDistanceBetweenTheSphereASC39sSurfaceandtheCollision1, NiagaraScript_1879_Func_Output_UninterruptedAnimatedSphereASC39sDistancetoCollisionPlane1, Context);
Context.MapUpdate.Transient.CollisionWorldPosition = NiagaraScript_1879_Func_Output_IntersectionLocation1;
Context.MapUpdate.Transient.CollisionParticleWorldPosition = NiagaraScript_1879_Func_Output_PreASC45IntersectionSphereCenterLocation1;
Context.MapUpdate.Transient.CollisionParticleRelativeCollisionLocation = NiagaraScript_1879_Func_Output_InitialPositionRelativeCollisionLocation1;
Context.MapUpdate.Local.Collision.CollisionQueryAndResponse001.ModuleTickDeltaForThisCollisionUpdate = NiagaraScript_1879_Func_Output_TimeElapsedToCollision1;
Context.MapUpdate.Local.Collision.CollisionQueryAndResponse001.ModulePhysicsDeltaTime = NiagaraScript_1879_Func_Output_RemainingTimePostCollision1;
Context.MapUpdate.Local.Collision.CollisionQueryAndResponse001.ModulePercentageOfTickDedicatedToUpdatingPosition = NiagaraScript_1879_Func_Output_PercentageofTimeUsedToPerformCollision1;
Context.MapUpdate.OUTPUT_VAR.Collision.CollisionQueryAndResponse001.CollisionPenetrationDistance = NiagaraScript_1879_Func_Output_InitialDistanceBetweenTheSphereASC39sSurfaceandtheCollision1;
Context.MapUpdate.Transient.CollisionDistanceToCollision = NiagaraScript_1879_Func_Output_UninterruptedAnimatedSphereASC39sDistancetoCollisionPlane1;
float Constant319 = 0;
bool Result269 = NiagaraAll(Context.MapUpdate.Transient.CollisionDistanceToCollision <= Constant319);
bool Result270 = Context.MapUpdate.Collision.CollisionQueryAndResponse001.CollisionEnabled && Result269;
bool Result271 = Result270 || Context.MapUpdate.Particles.HasCollided;
Context.MapUpdate.OUTPUT_VAR.Collision.CollisionQueryAndResponse001.PhysicsCollidesThisFrame = Result270;
Context.MapUpdate.Particles.HasCollided = Result271;
float3 Result272 = -(Context.MapUpdate.Local.Collision.CollisionQueryAndResponse001.ModulePlaneNormal);
float Result273 = dot(Result272,Context.MapUpdate.Local.Collision.CollisionQueryAndResponse001.ModuleAttemptedMovementThisUpdate);
float Result274 = Context.MapUpdate.Collision.CollisionQueryAndResponse001.DeltaTime * Context.MapUpdate.Collision.CollisionQueryAndResponse001.DeltaTime;
float3 Result275 = Result274 * Context.MapUpdate.Local.Collision.CollisionQueryAndResponse001.ModuleInitialForceDividedByMass;
float Result276 = dot(Result272,Result275);
float Result277 = Result273 - Result276;
float Constant320 = 0.1;
bool Result278 = NiagaraAll(Result277 < Constant320);
Context.MapUpdate.Local.Collision.CollisionQueryAndResponse001.ModuleRemoveRestitution = Result278;
float3 Result279 = Context.MapUpdate.Local.Collision.CollisionQueryAndResponse001.ModuleAttemptedMovementThisUpdate / Context.MapUpdate.Collision.CollisionQueryAndResponse001.DeltaTime;
float float_IfResult6;
if(Context.MapUpdate.OUTPUT_VAR.Collision.CollisionQueryAndResponse001.PhysicsCollidesThisFrame)
{
float_IfResult6 = Context.MapUpdate.Local.Collision.CollisionQueryAndResponse001.ModulePhysicsDeltaTime;
}
else
{
float_IfResult6 = Context.MapUpdate.Collision.CollisionQueryAndResponse001.DeltaTime;
}
float Constant321 = 0;
float float_IfResult7;
if(Context.MapUpdate.Local.Collision.CollisionQueryAndResponse001.ModuleRemoveRestitution)
{
float_IfResult7 = Constant321;
}
else
{
float_IfResult7 = Context.MapUpdate.Local.Collision.CollisionQueryAndResponse001.ModuleReturnedRestitution;
}
Context.MapUpdate.Transient.CollisionValid = Context.MapUpdate.OUTPUT_VAR.Collision.CollisionQueryAndResponse001.PhysicsCollidesThisFrame;
Context.MapUpdate.Transient.CollisionSize = Context.MapUpdate.Collision.CollisionQueryAndResponse001.ParticleRadius;
Context.MapUpdate.Transient.CollisionNormal = Context.MapUpdate.Local.Collision.CollisionQueryAndResponse001.ModulePlaneNormal;
Context.MapUpdate.Transient.CollisionVelocity = Result279;
Context.MapUpdate.Transient.CollisionFriction = Context.MapUpdate.Local.Collision.CollisionQueryAndResponse001.ModuleReturnedFriction;
Context.MapUpdate.Transient.PhysicsDeltaTime = float_IfResult6;
Context.MapUpdate.Transient.CollisionRestitution = float_IfResult7;
bool Result280 = !Context.MapUpdate.Local.Collision.CollisionQueryAndResponse001.ModuleRemoveRestitution;
bool Result281 = Result280 && Context.MapUpdate.Collision.CollisionQueryAndResponse001.RandomizeCollisionNormal;
float Constant322 = 1;
float3 NiagaraScript_1881_Func_Output_Ouput1;
NiagaraScript_1881_Func_(Context.MapUpdate.Transient.CollisionNormal, Constant322, Context.MapUpdate.Collision.CollisionQueryAndResponse001.CollisionNormalRandomizationPercentage, NiagaraScript_1881_Func_Output_Ouput1, Context);
float3 Vector_IfResult8;
if(Result281)
{
Vector_IfResult8 = NiagaraScript_1881_Func_Output_Ouput1;
}
else
{
Vector_IfResult8 = Context.MapUpdate.Transient.CollisionNormal;
}
float3 NiagaraScript_1880_Func_Output_Reflected1;
NiagaraScript_1880_Func_(Context.MapUpdate.Transient.CollisionVelocity, Vector_IfResult8, NiagaraScript_1880_Func_Output_Reflected1, Context);
Context.MapUpdate.Local.Collision.CollisionQueryAndResponse001.ModuleReflectedVelocity = NiagaraScript_1880_Func_Output_Reflected1;
float3 NiagaraScript_1883_Func_Output_CentimeterstoMeters1;
float3 NiagaraScript_1883_Func_Output_MeterstoCentimeters1;
NiagaraScript_1883_Func_(Context.MapUpdate.Transient.CollisionVelocity, NiagaraScript_1883_Func_Output_CentimeterstoMeters1, NiagaraScript_1883_Func_Output_MeterstoCentimeters1, Context);
float3 Result282 = Context.MapUpdate.Transient.Collision_ParticleMassReplacement * NiagaraScript_1883_Func_Output_CentimeterstoMeters1;
float Constant323 = -1;
float3 Result283 = Result282 * Constant323;
float Result284 = dot(Result283,Context.MapUpdate.Transient.CollisionNormal);
Context.MapUpdate.Local.Collision.CollisionQueryAndResponse001.ModuleNormalForceInNewtons = Result284;
bool Constant324 = false;
float3 NiagaraScript_1884_Func_Output_Ouput1;
NiagaraScript_1884_Func_(Context.MapUpdate.Local.Collision.CollisionQueryAndResponse001.ModuleReflectedVelocity, Context.MapUpdate.Transient.CollisionNormal, Constant324, NiagaraScript_1884_Func_Output_Ouput1, Context);
float3 Constant325 = float3(0,0,0);
float Constant326 = 1e-05;
float3 NiagaraScript_1845_Func_Output_Direction13;
float NiagaraScript_1845_Func_Output_Length13;
bool NiagaraScript_1845_Func_Output_BelowThreshold13;
NiagaraScript_1845_Func_(NiagaraScript_1884_Func_Output_Ouput1, Constant325, Constant326, NiagaraScript_1845_Func_Output_Direction13, NiagaraScript_1845_Func_Output_Length13, NiagaraScript_1845_Func_Output_BelowThreshold13, Context);
float3 NiagaraScript_1886_Func_Output_CentimeterstoMeters1;
float3 NiagaraScript_1886_Func_Output_MeterstoCentimeters1;
NiagaraScript_1886_Func_(NiagaraScript_1884_Func_Output_Ouput1, NiagaraScript_1886_Func_Output_CentimeterstoMeters1, NiagaraScript_1886_Func_Output_MeterstoCentimeters1, Context);
float3 Result285 = NiagaraScript_1886_Func_Output_CentimeterstoMeters1 * Context.MapUpdate.Transient.Collision_ParticleMassReplacement;
float float_IfResult8;
if(Context.MapUpdate.Local.Collision.CollisionQueryAndResponse001.ModuleRemoveRestitution)
{
float_IfResult8 = Context.MapUpdate.Collision.CollisionQueryAndResponse001.DynamicFrictionCoefficient;
}
else
{
float_IfResult8 = Context.MapUpdate.Collision.CollisionQueryAndResponse001.BounceCollisionFriction;
}
float3 Result286 = NiagaraScript_1845_Func_Output_Direction13 * float_IfResult8 * Context.MapUpdate.Local.Collision.CollisionQueryAndResponse001.ModuleNormalForceInNewtons;
float3 Result287 = Result285 - Result286;
float3 Constant327 = float3(0,0,0);
float Constant328 = 1e-05;
float3 NiagaraScript_1845_Func_Output_Direction14;
float NiagaraScript_1845_Func_Output_Length14;
bool NiagaraScript_1845_Func_Output_BelowThreshold14;
NiagaraScript_1845_Func_(Result287, Constant327, Constant328, NiagaraScript_1845_Func_Output_Direction14, NiagaraScript_1845_Func_Output_Length14, NiagaraScript_1845_Func_Output_BelowThreshold14, Context);
float Result288 = dot(NiagaraScript_1845_Func_Output_Direction13,NiagaraScript_1845_Func_Output_Direction14);
float Constant329 = 0;
bool Result289 = NiagaraAll(Result288 <= Constant329);
float3 Vector_IfResult9;
if(Result289)
{
Vector_IfResult9 = Result285;
}
else
{
Vector_IfResult9 = Result286;
}
float Constant330 = -1;
float3 Result290 = Vector_IfResult9 * Constant330;
Context.MapUpdate.Local.Collision.CollisionQueryAndResponse001.ModuleFrictionForceVectorInNewtons = Result290;
float3 Result291 = Context.MapUpdate.Local.Collision.CollisionQueryAndResponse001.ModuleFrictionForceVectorInNewtons * Context.MapUpdate.Transient.Collision_ParticleInverseMassReplacement;
float3 NiagaraScript_1887_Func_Output_CentimeterstoMeters1;
float3 NiagaraScript_1887_Func_Output_MeterstoCentimeters1;
NiagaraScript_1887_Func_(Result291, NiagaraScript_1887_Func_Output_CentimeterstoMeters1, NiagaraScript_1887_Func_Output_MeterstoCentimeters1, Context);
Context.MapUpdate.Local.Collision.CollisionQueryAndResponse001.ModuleFrictionForceVelocityVector = NiagaraScript_1887_Func_Output_MeterstoCentimeters1;
float3 Result292 = Context.MapUpdate.Local.Collision.CollisionQueryAndResponse001.ModuleReflectedVelocity + Context.MapUpdate.Local.Collision.CollisionQueryAndResponse001.ModuleFrictionForceVelocityVector;
float Result293 = dot(Context.MapUpdate.Transient.CollisionNormal,Context.MapUpdate.Local.Collision.CollisionQueryAndResponse001.ModuleReflectedVelocity);
float3 Result294 = Context.MapUpdate.Transient.CollisionNormal * Result293;
float Result295 = 1 - Context.MapUpdate.Transient.CollisionRestitution;
float3 Result296 = Result294 * Result295;
float3 Result297 = Result292 - Result296;
Context.MapUpdate.Local.Collision.CollisionQueryAndResponse001.ModuleReflectedVelocityWithFrictionApplied = Result297;
float3 Particleposition_IfResult1;
if(Context.MapUpdate.Transient.CollisionValid)
{
Particleposition_IfResult1 = Context.MapUpdate.Transient.CollisionParticleWorldPosition;
}
else
{
Particleposition_IfResult1 = Context.MapUpdate.Transient.Collision_ParticlePositionReplacement;
}
Context.MapUpdate.Transient.Collision_ParticlePositionReplacement = Particleposition_IfResult1;
float3 Constant331 = float3(0,0,1);
float Constant332 = 1e-05;
float3 NiagaraScript_1845_Func_Output_Direction15;
float NiagaraScript_1845_Func_Output_Length15;
bool NiagaraScript_1845_Func_Output_BelowThreshold15;
NiagaraScript_1845_Func_(Context.MapUpdate.Transient.CollisionVelocity, Constant331, Constant332, NiagaraScript_1845_Func_Output_Direction15, NiagaraScript_1845_Func_Output_Length15, NiagaraScript_1845_Func_Output_BelowThreshold15, Context);
float Result298 = dot(NiagaraScript_1845_Func_Output_Direction15,Context.MapUpdate.Transient.CollisionNormal);
float Constant333 = 0;
bool Result299 = NiagaraAll(Result298 < Constant333);
bool Result300 = Result299 && Context.MapUpdate.Transient.CollisionValid;
float3 Constant334 = float3(0,0,0);
float3 physicsforce_IfResult1;
float3 Velocity_IfResult1;
if(Result300)
{
physicsforce_IfResult1 = Constant334;
Velocity_IfResult1 = Context.MapUpdate.Local.Collision.CollisionQueryAndResponse001.ModuleReflectedVelocityWithFrictionApplied;
}
else
{
physicsforce_IfResult1 = Context.MapUpdate.Transient.PhysicsForce;
Velocity_IfResult1 = Context.MapUpdate.Transient.Collision_ParticleVelocityReplacement;
}
Context.MapUpdate.Transient.Collision_ParticleVelocityReplacement = Velocity_IfResult1;
Context.MapUpdate.Transient.Collision_ParticlePhysicsForceReplacement = physicsforce_IfResult1;
Out_ModuleTraceWorldStart = Context.MapUpdate.Local.Collision.CollisionQueryAndResponse001.ModuleTraceWorldStart;
Out_ModuleTraceWorldEnd = Context.MapUpdate.Local.Collision.CollisionQueryAndResponse001.ModuleTraceWorldEnd;
Out_CollisionPosition = Context.MapUpdate.Transient.CollisionWorldPosition;
Out_CollisionNormal = Context.MapUpdate.Transient.CollisionNormal;
Out_Collided = Context.MapUpdate.Transient.CollisionValid;
}
void Collision_TransformVector_Emitter_Func_(float3 In_InVector, int In_SourceSpace, int In_DestinationSpace, bool In_ApplyScale, out float3 Out_OutVector, inout FSimulationContext Context)
{
bool Constant366 = false;
float4x4 Matrix_IfResult7;
float4x4 Matrix001_IfResult6;
if(In_ApplyScale)
{
Matrix_IfResult7 = Context.MapUpdate.Engine.Owner.SystemLocalToWorld;
Matrix001_IfResult6 = Context.MapUpdate.Engine.Owner.SystemWorldToLocal;
}
else
{
Matrix_IfResult7 = Context.MapUpdate.Engine.Owner.SystemLocalToWorldNoScale;
Matrix001_IfResult6 = Context.MapUpdate.Engine.Owner.SystemWorldToLocalNoScale;
}
bool NiagaraScript_1835_Func_Output_bUseOriginal6;
float4x4 NiagaraScript_1835_Func_Output_OutTransform6;
bool NiagaraScript_1835_Func_Output_LocalToWorld6;
NiagaraScript_1835_Func_(In_SourceSpace, In_DestinationSpace, Matrix_IfResult7, Matrix001_IfResult6, Constant366, NiagaraScript_1835_Func_Output_bUseOriginal6, NiagaraScript_1835_Func_Output_OutTransform6, NiagaraScript_1835_Func_Output_LocalToWorld6, Context);
float3 Result328 = mul(float4(In_InVector,0.0),NiagaraScript_1835_Func_Output_OutTransform6).xyz;
float3 Vector_IfResult12;
if(NiagaraScript_1835_Func_Output_bUseOriginal6)
{
Vector_IfResult12 = In_InVector;
}
else
{
Vector_IfResult12 = Result328;
}
Out_OutVector = Vector_IfResult12;
}
void Collision_TransformPosition001_Emitter_Func_(float3 In_InPosition, int In_SourceSpace, int In_DestinationSpace, bool In_ApplyScale, out float3 Out_OutPosition, inout FSimulationContext Context)
{
bool Constant371 = false;
float4x4 Matrix_IfResult8;
float4x4 Matrix001_IfResult7;
if(In_ApplyScale)
{
Matrix_IfResult8 = Context.MapUpdate.Engine.Owner.SystemLocalToWorld;
Matrix001_IfResult7 = Context.MapUpdate.Engine.Owner.SystemWorldToLocal;
}
else
{
Matrix_IfResult8 = Context.MapUpdate.Engine.Owner.SystemLocalToWorldNoScale;
Matrix001_IfResult7 = Context.MapUpdate.Engine.Owner.SystemWorldToLocalNoScale;
}
bool NiagaraScript_1835_Func_Output_bUseOriginal7;
float4x4 NiagaraScript_1835_Func_Output_OutTransform7;
bool NiagaraScript_1835_Func_Output_LocalToWorld7;
NiagaraScript_1835_Func_(In_SourceSpace, In_DestinationSpace, Matrix_IfResult8, Matrix001_IfResult7, Constant371, NiagaraScript_1835_Func_Output_bUseOriginal7, NiagaraScript_1835_Func_Output_OutTransform7, NiagaraScript_1835_Func_Output_LocalToWorld7, Context);
float3 Result331 = mul(float4(In_InPosition,1.0),NiagaraScript_1835_Func_Output_OutTransform7).xyz;
float3 Vector_IfResult13;
if(NiagaraScript_1835_Func_Output_bUseOriginal7)
{
Vector_IfResult13 = In_InPosition;
}
else
{
Vector_IfResult13 = Result331;
}
Out_OutPosition = Vector_IfResult13;
}
void Collision_TransformVector001_Emitter_Func_(float3 In_InVector, int In_SourceSpace, int In_DestinationSpace, bool In_ApplyScale, out float3 Out_OutVector, inout FSimulationContext Context)
{
bool Constant375 = false;
float4x4 Matrix_IfResult9;
float4x4 Matrix001_IfResult8;
if(In_ApplyScale)
{
Matrix_IfResult9 = Context.MapUpdate.Engine.Owner.SystemLocalToWorld;
Matrix001_IfResult8 = Context.MapUpdate.Engine.Owner.SystemWorldToLocal;
}
else
{
Matrix_IfResult9 = Context.MapUpdate.Engine.Owner.SystemLocalToWorldNoScale;
Matrix001_IfResult8 = Context.MapUpdate.Engine.Owner.SystemWorldToLocalNoScale;
}
bool NiagaraScript_1835_Func_Output_bUseOriginal8;
float4x4 NiagaraScript_1835_Func_Output_OutTransform8;
bool NiagaraScript_1835_Func_Output_LocalToWorld8;
NiagaraScript_1835_Func_(In_SourceSpace, In_DestinationSpace, Matrix_IfResult9, Matrix001_IfResult8, Constant375, NiagaraScript_1835_Func_Output_bUseOriginal8, NiagaraScript_1835_Func_Output_OutTransform8, NiagaraScript_1835_Func_Output_LocalToWorld8, Context);
float3 Result332 = mul(float4(In_InVector,0.0),NiagaraScript_1835_Func_Output_OutTransform8).xyz;
float3 Vector_IfResult14;
if(NiagaraScript_1835_Func_Output_bUseOriginal8)
{
Vector_IfResult14 = In_InVector;
}
else
{
Vector_IfResult14 = Result332;
}
Out_OutVector = Vector_IfResult14;
}
void Collision_DoOnce_fn001_Emitter_Func_(bool In_TriggerCondition, bool In_Reset, out bool Out_Execute, out bool Out_Triggered, inout FSimulationContext Context)
{
bool Constant391 = false;
bool bool_IfResult2;
if(In_Reset)
{
bool_IfResult2 = Constant391;
}
else
{
bool_IfResult2 = Context.MapUpdate.Particles.Collision.DoOnce_fn001.TriggeredOnce;
}
Context.MapUpdate.Particles.Collision.DoOnce_fn001.TriggeredOnce = bool_IfResult2;
bool Result339 = !Context.MapUpdate.Particles.Collision.DoOnce_fn001.TriggeredOnce;
bool Result340 = Result339 && In_TriggerCondition;
Context.MapUpdate.Particles.Collision.DoOnce_fn001.Execute = Result340;
bool Result341 = Context.MapUpdate.Particles.Collision.DoOnce_fn001.TriggeredOnce || In_TriggerCondition;
Context.MapUpdate.Particles.Collision.DoOnce_fn001.TriggeredOnce = Result341;
Out_Execute = Context.MapUpdate.Particles.Collision.DoOnce_fn001.Execute;
Out_Triggered = Result341;
}
void NiagaraScript_1851_Func_(float4 In_AxisAngle, bool In_NormalizeAxis, out float4 Out_Quaternion, inout FSimulationContext Context)
{
float3 VECTOR_VAR;
float NiagaraFloat;
VECTOR_VAR.x = In_AxisAngle.x;
VECTOR_VAR.y = In_AxisAngle.y;
VECTOR_VAR.z = In_AxisAngle.z;
NiagaraFloat = In_AxisAngle.w;
float3 Result343 = normalize(VECTOR_VAR);
float3 Vector_IfResult19;
if(In_NormalizeAxis)
{
Vector_IfResult19 = Result343;
}
else
{
Vector_IfResult19 = VECTOR_VAR;
}
float Constant393 = 2;
float Result344 = NiagaraFloat / Constant393;
float Result345 = sin(Result344);
float3 Result346 = Vector_IfResult19 * Result345;
float Result347 = cos(Result344);
float4 Output3;
Output3.x = Result346.x;
Output3.y = Result346.y;
Output3.z = Result346.z;
Output3.w = Result347;
Out_Quaternion = Output3;
}
void Collision_Emitter_Func_(inout FSimulationContext Context)
{
int Constant215 = 1;
int Constant216 = 1;
int Result117 = max(Constant215, Constant216);
bool Result118 = NiagaraAll(Context.MapUpdate.Particles.NumberOfCollisions >= Result117);
bool Result119 = Result118 && Context.MapUpdate.Collision.EnableRestState && Context.MapUpdate.Collision.EnableMaxCollisionCount;
bool Result120 = Result119 || Context.MapUpdate.Transient.CollisionIsResting || Context.MapUpdate.Collision.ManuallyEnterRest;
Context.MapUpdate.Local.Collision.ManuallyEnterRest = Result120;
float Constant217 = 0.001;
float Result121 = max(Context.MapUpdate.Collision.ParticleMass, Constant217);
Context.MapUpdate.Transient.Collision_ParticleMassReplacement = Result121;
Context.MapUpdate.OUTPUT_VAR.Collision.IncomingCollisionVelocity = Context.MapUpdate.Particles.Velocity;
int Constant218 = 0;
int Constant219 = 1;
bool Constant220 = false;
float3 Collision_TransformPosition007_Emitter_Func_Output_OutPosition;
Collision_TransformPosition007_Emitter_Func_(Context.MapUpdate.Particles.Position, Constant218, Constant219, Constant220, Collision_TransformPosition007_Emitter_Func_Output_OutPosition, Context);
int Constant222 = 0;
int Constant223 = 1;
bool Constant224 = false;
float3 Collision_TransformVector009_Emitter_Func_Output_OutVector;
Collision_TransformVector009_Emitter_Func_(Context.MapUpdate.Particles.Velocity, Constant222, Constant223, Constant224, Collision_TransformVector009_Emitter_Func_Output_OutVector, Context);
int Constant226 = 0;
int Constant227 = 1;
bool Constant228 = false;
float3 Collision_TransformVector010_Emitter_Func_Output_OutVector;
Collision_TransformVector010_Emitter_Func_(Context.MapUpdate.Collision.PhysicsForce, Constant226, Constant227, Constant228, Collision_TransformVector010_Emitter_Func_Output_OutVector, Context);
Context.MapUpdate.Transient.Collision_ParticlePositionReplacement = Collision_TransformPosition007_Emitter_Func_Output_OutPosition;
Context.MapUpdate.Local.Collision.InputPositionPassthrough_NeededForSimStageExecution = Collision_TransformPosition007_Emitter_Func_Output_OutPosition;
Context.MapUpdate.Transient.Collision_ParticleVelocityReplacement = Collision_TransformVector009_Emitter_Func_Output_OutVector;
Context.MapUpdate.Local.Collision.InputVelocityPassthrough_NeededForSimStageExecution = Collision_TransformVector009_Emitter_Func_Output_OutVector;
Context.MapUpdate.Transient.Collision_ParticlePhysicsForceReplacement = Collision_TransformVector010_Emitter_Func_Output_OutVector;
Context.MapUpdate.Local.Collision.InputForcePassthrough_NeededForSimStageExecution = Collision_TransformVector010_Emitter_Func_Output_OutVector;
float Constant230 = 1;
float3 Constant231 = float3(3,3,3);
float NiagaraScript_1890_Method_NewEnumerator0_Func_Output_Radius;
NiagaraScript_1890_Method_NewEnumerator0_Func_(Context.MapUpdate.Particles.Scale, Constant231, NiagaraScript_1890_Method_NewEnumerator0_Func_Output_Radius, Context);
float Result129 = Constant230 * NiagaraScript_1890_Method_NewEnumerator0_Func_Output_Radius;
float Constant234 = 1e-06;
float Result130 = max(Result129, Constant234);
Context.MapUpdate.Local.Collision.ModuleParticleRadius = Result130;
float Constant235 = 0.25;
float Constant236 = 0.5;
float Constant237 = 1;
float Constant238 = 0.6;
float Constant239 = 0.1;
float Constant240 = 0;
float Constant241 = -1e+07;
float Constant242 = 0;
float Constant243 = (0.0);
float NiagaraFloat_SelectResult1 = Constant243;
NiagaraFloat_SelectResult1 = Constant241;
if(Context.MapUpdate.Collision.CorrectInterpenetration == 0)
{
NiagaraFloat_SelectResult1 = Constant242;
}
Context.MapUpdate.Collision.CollisionQueryAndResponse.DynamicFrictionCoefficient = Constant235;
Context.MapUpdate.Collision.CollisionQueryAndResponse001.DynamicFrictionCoefficient = Constant235;
Context.MapUpdate.Collision.CollisionQueryAndResponse.StaticFrictionCoefficient = Constant236;
Context.MapUpdate.Collision.CollisionQueryAndResponse001.StaticFrictionCoefficient = Constant236;
Context.MapUpdate.Collision.CollisionQueryAndResponse.StaticFrictionEngagementSpeed = Constant237;
Context.MapUpdate.Collision.CollisionQueryAndResponse001.StaticFrictionEngagementSpeed = Constant237;
Context.MapUpdate.Collision.CollisionQueryAndResponse.ParticleRadius = Context.MapUpdate.Local.Collision.ModuleParticleRadius;
Context.MapUpdate.Collision.CollisionQueryAndResponse001.ParticleRadius = Context.MapUpdate.Local.Collision.ModuleParticleRadius;
Context.MapUpdate.Collision.CollisionQueryAndResponse.ParticleRestitutionCoeffiecient = Constant238;
Context.MapUpdate.Collision.CollisionQueryAndResponse001.ParticleRestitutionCoeffiecient = Constant238;
Context.MapUpdate.Collision.CollisionQueryAndResponse.CollisionNormalRandomizationPercentage = Constant239;
Context.MapUpdate.Collision.CollisionQueryAndResponse001.CollisionNormalRandomizationPercentage = Constant239;
Context.MapUpdate.Collision.CollisionQueryAndResponse.CollisionEnabled = Context.MapUpdate.Collision.CollisionEnabled;
Context.MapUpdate.Collision.CollisionQueryAndResponse001.CollisionEnabled = Context.MapUpdate.Collision.CollisionEnabled;
Context.MapUpdate.Collision.CollisionQueryAndResponse.RandomizeCollisionNormal = Context.MapUpdate.Collision.RandomizeCollisionNormalVector;
Context.MapUpdate.Collision.CollisionQueryAndResponse001.RandomizeCollisionNormal = Context.MapUpdate.Collision.RandomizeCollisionNormalVector;
Context.MapUpdate.Collision.CollisionQueryAndResponse.UpdateRotationalVelocity = Context.MapUpdate.Local.Collision.UpdateMeshRotation;
Context.MapUpdate.Collision.CollisionQueryAndResponse001.UpdateRotationalVelocity = Context.MapUpdate.Local.Collision.UpdateMeshRotation;
Context.MapUpdate.Collision.CollisionQueryAndResponse001.BounceCollisionFriction = Constant240;
Context.MapUpdate.Collision.CollisionQueryAndResponse.BounceCollisionFriction = Constant240;
Context.MapUpdate.Collision.CollisionQueryAndResponse.MaxIntersectionCorrectionDistance = NiagaraFloat_SelectResult1;
Context.MapUpdate.Collision.CollisionQueryAndResponse001.MaxIntersectionCorrectionDistance = NiagaraFloat_SelectResult1;
float Constant244 = 5;
float Constant245 = 500;
Context.MapUpdate.Collision.CollisionQueryAndResponse.TraceVectorLengthMultiplier = Constant244;
Context.MapUpdate.Collision.CollisionQueryAndResponse001.TraceVectorLengthMultiplier = Constant244;
Context.MapUpdate.Collision.CollisionQueryAndResponse.MaxTraceLength = Constant245;
Context.MapUpdate.Collision.CollisionQueryAndResponse001.MaxTraceLength = Constant245;
Context.MapUpdate.Collision.CollisionQueryAndResponse.CPUCollisionTraceChannel = Context.MapUpdate.Collision.CPUCollisionTraceChannel;
Context.MapUpdate.Collision.CollisionQueryAndResponse001.CPUCollisionTraceChannel = Context.MapUpdate.Collision.CPUCollisionTraceChannel;
Context.MapUpdate.Collision.CollisionQueryAndResponse.ManuallyEnterRest = Context.MapUpdate.Local.Collision.ManuallyEnterRest;
Context.MapUpdate.Collision.CollisionQueryAndResponse001.ManuallyEnterRest = Context.MapUpdate.Local.Collision.ManuallyEnterRest;
Context.MapUpdate.Collision.CollisionQueryAndResponse.DeltaTime = Context.MapUpdate.Transient.PhysicsDeltaTime;
int Constant246 = 0;
Context.MapUpdate.Collision.CollisionQueryAndResponse.CPUFrictionMergeType = Constant246;
float3 Collision_CollisionQueryAndResponse_Emitter_Func_Output_ModuleTraceWorldStart;
float3 Collision_CollisionQueryAndResponse_Emitter_Func_Output_ModuleTraceWorldEnd;
float3 Collision_CollisionQueryAndResponse_Emitter_Func_Output_CollisionPosition;
float3 Collision_CollisionQueryAndResponse_Emitter_Func_Output_CollisionNormal;
bool Collision_CollisionQueryAndResponse_Emitter_Func_Output_Collided;
Collision_CollisionQueryAndResponse_Emitter_Func_(Collision_CollisionQueryAndResponse_Emitter_Func_Output_ModuleTraceWorldStart, Collision_CollisionQueryAndResponse_Emitter_Func_Output_ModuleTraceWorldEnd, Collision_CollisionQueryAndResponse_Emitter_Func_Output_CollisionPosition, Collision_CollisionQueryAndResponse_Emitter_Func_Output_CollisionNormal, Collision_CollisionQueryAndResponse_Emitter_Func_Output_Collided, Context);
Context.MapUpdate.Local.Collision.ModuleTraceWorldStart1 = Collision_CollisionQueryAndResponse_Emitter_Func_Output_ModuleTraceWorldStart;
Context.MapUpdate.Local.Collision.ModuleTraceWorldEnd1 = Collision_CollisionQueryAndResponse_Emitter_Func_Output_ModuleTraceWorldEnd;
Context.MapUpdate.Local.Collision.DebugCollisionPosition1 = Collision_CollisionQueryAndResponse_Emitter_Func_Output_CollisionPosition;
Context.MapUpdate.Local.Collision.DebugCollisionNormal1 = Collision_CollisionQueryAndResponse_Emitter_Func_Output_CollisionNormal;
Context.MapUpdate.Local.Collision.DebugCollided1 = Collision_CollisionQueryAndResponse_Emitter_Func_Output_Collided;
Context.MapUpdate.OUTPUT_VAR.Collision.ModuleCollision1Valid = Context.MapUpdate.Transient.CollisionValid;
Context.MapUpdate.OUTPUT_VAR.Collision.ModuleCollision1Normal = Context.MapUpdate.Transient.CollisionNormal;
Context.MapUpdate.Collision.CollisionQueryAndResponse001.DeltaTime = Context.MapUpdate.Transient.PhysicsDeltaTime;
int Constant310 = 0;
Context.MapUpdate.Collision.CollisionQueryAndResponse001.CPUFrictionMergeType = Constant310;
float3 Collision_CollisionQueryAndResponse001_Emitter_Func_Output_ModuleTraceWorldStart;
float3 Collision_CollisionQueryAndResponse001_Emitter_Func_Output_ModuleTraceWorldEnd;
float3 Collision_CollisionQueryAndResponse001_Emitter_Func_Output_CollisionPosition;
float3 Collision_CollisionQueryAndResponse001_Emitter_Func_Output_CollisionNormal;
bool Collision_CollisionQueryAndResponse001_Emitter_Func_Output_Collided;
Collision_CollisionQueryAndResponse001_Emitter_Func_(Collision_CollisionQueryAndResponse001_Emitter_Func_Output_ModuleTraceWorldStart, Collision_CollisionQueryAndResponse001_Emitter_Func_Output_ModuleTraceWorldEnd, Collision_CollisionQueryAndResponse001_Emitter_Func_Output_CollisionPosition, Collision_CollisionQueryAndResponse001_Emitter_Func_Output_CollisionNormal, Collision_CollisionQueryAndResponse001_Emitter_Func_Output_Collided, Context);
Context.MapUpdate.Local.Collision.ModuleTraceWorldStart2 = Collision_CollisionQueryAndResponse001_Emitter_Func_Output_ModuleTraceWorldStart;
Context.MapUpdate.Local.Collision.ModuleTraceWorldEnd2 = Collision_CollisionQueryAndResponse001_Emitter_Func_Output_ModuleTraceWorldEnd;
Context.MapUpdate.Local.Collision.DebugCollisionPosition2 = Collision_CollisionQueryAndResponse001_Emitter_Func_Output_CollisionPosition;
Context.MapUpdate.Local.Collision.DebugCollisionNormal2 = Collision_CollisionQueryAndResponse001_Emitter_Func_Output_CollisionNormal;
Context.MapUpdate.Local.Collision.DebugCollided2 = Collision_CollisionQueryAndResponse001_Emitter_Func_Output_Collided;
Context.MapUpdate.OUTPUT_VAR.Collision.ModuleCollision2Valid = Context.MapUpdate.Transient.CollisionValid;
Context.MapUpdate.OUTPUT_VAR.Collision.ModuleCollision2Normal = Context.MapUpdate.Transient.CollisionNormal;
bool Result301 = Context.MapUpdate.OUTPUT_VAR.Collision.ModuleCollision1Valid || Context.MapUpdate.OUTPUT_VAR.Collision.ModuleCollision2Valid;
int Constant335 = 1;
int Result302 = Context.MapUpdate.Particles.NumberOfCollisions + Constant335;
int int32_IfResult;
if(Result301)
{
int32_IfResult = Result302;
}
else
{
int32_IfResult = Context.MapUpdate.Particles.NumberOfCollisions;
}
Context.MapUpdate.Transient.CollisionValid = Result301;
Context.MapUpdate.OUTPUT_VAR.Collision.CollisionValid = Result301;
Context.MapUpdate.Particles.NumberOfCollisions = int32_IfResult;
float Constant336 = 1;
float Constant337 = 0.5;
float Constant338 = 0.5;
float3 Constant339 = float3(0,0,1);
float Constant340 = 0.5;
float Constant341 = 0;
bool Result303 = NiagaraAll(Context.MapUpdate.OUTPUT_VAR.Collision.CollisionQueryAndResponse.CollisionPenetrationDistance < Constant341);
float Constant342 = 0;
bool Result304 = NiagaraAll(Context.MapUpdate.OUTPUT_VAR.Collision.CollisionQueryAndResponse001.CollisionPenetrationDistance < Constant342);
bool Result305 = Result303 && Result304;
float Constant343 = 0.5;
float Constant344 = 0;
float Constant345 = (0.0);
float NiagaraFloat_SelectResult5 = Constant345;
NiagaraFloat_SelectResult5 = Constant343;
if(Result303 == 0)
{
NiagaraFloat_SelectResult5 = Constant344;
}
float Constant346 = 0.5;
float Constant347 = 0;
float Constant348 = (0.0);
float NiagaraFloat_SelectResult6 = Constant348;
NiagaraFloat_SelectResult6 = Constant346;
if(Result304 == 0)
{
NiagaraFloat_SelectResult6 = Constant347;
}
float Result306 = NiagaraFloat_SelectResult5 + NiagaraFloat_SelectResult6;
float Result307 = Context.MapUpdate.Engine.DeltaTime * Constant337;
float Result308 = lerp(Context.MapUpdate.Particles.RestCounter,Result306,Result307);
bool Result309 = NiagaraAll(Result308 > Constant336);
float Constant349 = -1;
float Result310 = Context.MapUpdate.OUTPUT_VAR.Collision.CollisionQueryAndResponse.CollisionPenetrationDistance * Constant349;
bool Result311 = NiagaraAll(Result310 > Context.MapUpdate.OUTPUT_VAR.Collision.CollisionQueryAndResponse001.CollisionPenetrationDistance);
float Constant350 = -1;
float Result312 = Constant338 * Constant350;
bool Result313 = NiagaraAll(Result312 > Context.MapUpdate.OUTPUT_VAR.Collision.CollisionQueryAndResponse001.CollisionPenetrationDistance);
bool Result314 = Result311 || Result313;
bool Result315 = Result305 || Result309 || Result314;
float3 Constant351 = float3(0,0,0);
float3 Vector_IfResult10;
if(Context.MapUpdate.OUTPUT_VAR.Collision.ModuleCollision1Valid)
{
Vector_IfResult10 = Context.MapUpdate.OUTPUT_VAR.Collision.ModuleCollision1Normal;
}
else
{
Vector_IfResult10 = Constant351;
}
float3 Constant352 = float3(0,0,0);
float3 Vector_IfResult11;
if(Context.MapUpdate.OUTPUT_VAR.Collision.ModuleCollision2Valid)
{
Vector_IfResult11 = Context.MapUpdate.OUTPUT_VAR.Collision.ModuleCollision2Normal;
}
else
{
Vector_IfResult11 = Constant352;
}
float3 Result316 = Vector_IfResult10 + Vector_IfResult11;
float3 Constant353 = float3(0,0,1);
float Constant354 = 1e-05;
float3 NiagaraScript_1885_Func_Output_Direction1;
float NiagaraScript_1885_Func_Output_Length1;
bool NiagaraScript_1885_Func_Output_BelowThreshold1;
NiagaraScript_1885_Func_(Result316, Constant353, Constant354, NiagaraScript_1885_Func_Output_Direction1, NiagaraScript_1885_Func_Output_Length1, NiagaraScript_1885_Func_Output_BelowThreshold1, Context);
float Result317 = dot(NiagaraScript_1885_Func_Output_Direction1,Constant339);
float Constant355 = 0.5;
float Result318 = Constant340 - Constant355;
float Constant356 = 2;
float Result319 = Result318 * Constant356;
bool Result320 = NiagaraAll(Result317 > Result319);
bool Result321 = Result315 && Result320;
bool bool_IfResult1;
if(Context.MapUpdate.Collision.ControlRestStateViaSurfaceNormal)
{
bool_IfResult1 = Result321;
}
else
{
bool_IfResult1 = Result315;
}
bool Result322 = Context.MapUpdate.Collision.EnableRestState && bool_IfResult1 && Context.MapUpdate.Collision.CollisionEnabled;
bool Result323 = Result322 || Context.MapUpdate.Local.Collision.ManuallyEnterRest;
float3 Constant357 = float3(0,0,0);
float3 Constant358 = float3(0,0,0);
float3 Constant359 = float3(0,0,0);
float Result324 = dot(Context.MapUpdate.Transient.AdvectionVelocity,NiagaraScript_1885_Func_Output_Direction1);
float Constant360 = 0;
bool Result325 = NiagaraAll(Result324 > Constant360);
float3 Result326 = NiagaraScript_1885_Func_Output_Direction1 * Result324;
float3 Result327 = Context.MapUpdate.Transient.AdvectionVelocity - Result326;
float3 Constant361 = float3(0.0, 0.0, 0.0);
float3 Vector3f_SelectResult7 = Constant361;
Vector3f_SelectResult7 = Context.MapUpdate.Transient.AdvectionVelocity;
if(Result325 == 0)
{
Vector3f_SelectResult7 = Result327;
}
float3 Position_IfResult;
float3 Velocity_IfResult2;
float3 Force_IfResult;
float deltatime_IfResult;
float3 AdvectionVelocity_IfResult;
if(Context.MapUpdate.Transient.CollisionValid)
{
Position_IfResult = Context.MapUpdate.Transient.Collision_ParticlePositionReplacement;
Velocity_IfResult2 = Context.MapUpdate.Transient.Collision_ParticleVelocityReplacement;
Force_IfResult = Constant359;
deltatime_IfResult = Context.MapUpdate.Transient.PhysicsDeltaTime;
AdvectionVelocity_IfResult = Vector3f_SelectResult7;
}
else
{
Position_IfResult = Context.MapUpdate.Local.Collision.InputPositionPassthrough_NeededForSimStageExecution;
Velocity_IfResult2 = Context.MapUpdate.Local.Collision.InputVelocityPassthrough_NeededForSimStageExecution;
Force_IfResult = Context.MapUpdate.Local.Collision.InputForcePassthrough_NeededForSimStageExecution;
deltatime_IfResult = Context.MapUpdate.Engine.DeltaTime;
AdvectionVelocity_IfResult = Context.MapUpdate.Transient.AdvectionVelocity;
}
float3 Constant362 = float3(0,0,0);
float3 Position_IfResult1;
float3 Velocity_IfResult3;
float3 Force_IfResult1;
float deltatime_IfResult1;
float3 AdvectionVelocity_IfResult1;
if(Result323)
{
Position_IfResult1 = Context.MapUpdate.Transient.Collision_ParticlePositionReplacement;
Velocity_IfResult3 = Constant357;
Force_IfResult1 = Constant358;
deltatime_IfResult1 = deltatime_IfResult;
AdvectionVelocity_IfResult1 = Constant362;
}
else
{
Position_IfResult1 = Position_IfResult;
Velocity_IfResult3 = Velocity_IfResult2;
Force_IfResult1 = Force_IfResult;
deltatime_IfResult1 = deltatime_IfResult;
AdvectionVelocity_IfResult1 = AdvectionVelocity_IfResult;
}
int Constant363 = 1;
int Constant364 = 0;
bool Constant365 = false;
float3 Collision_TransformVector_Emitter_Func_Output_OutVector;
Collision_TransformVector_Emitter_Func_(Force_IfResult1, Constant363, Constant364, Constant365, Collision_TransformVector_Emitter_Func_Output_OutVector, Context);
bool Result329 = Result309 && Context.MapUpdate.Collision.CollisionEnabled;
bool Result330 = Context.MapUpdate.Local.Collision.ManuallyEnterRest || Result329;
float3 Constant367 = float3(0.0, 0.0, 0.0);
float3 Vector3f_SelectResult8 = Constant367;
Vector3f_SelectResult8 = NiagaraScript_1885_Func_Output_Direction1;
if(Context.MapUpdate.Transient.CollisionValid == 0)
{
Vector3f_SelectResult8 = Context.MapUpdate.Particles.Collision.SafeCombinedCollisionNormal;
}
int Constant368 = 1;
int Constant369 = 0;
bool Constant370 = false;
float3 Collision_TransformPosition001_Emitter_Func_Output_OutPosition;
Collision_TransformPosition001_Emitter_Func_(Position_IfResult1, Constant368, Constant369, Constant370, Collision_TransformPosition001_Emitter_Func_Output_OutPosition, Context);
int Constant372 = 1;
int Constant373 = 0;
bool Constant374 = false;
float3 Collision_TransformVector001_Emitter_Func_Output_OutVector;
Collision_TransformVector001_Emitter_Func_(Velocity_IfResult3, Constant372, Constant373, Constant374, Collision_TransformVector001_Emitter_Func_Output_OutVector, Context);
Context.MapUpdate.Transient.PhysicsForce = Collision_TransformVector_Emitter_Func_Output_OutVector;
Context.MapUpdate.Transient.PhysicsDeltaTime = deltatime_IfResult1;
Context.MapUpdate.Transient.CollisionIsResting = Result330;
Context.MapUpdate.Particles.RestCounter = Result308;
Context.MapUpdate.OUTPUT_VAR.Collision.ModuleCombinedCollisionNormal = Vector3f_SelectResult8;
Context.MapUpdate.Transient.Collision_ParticlePositionReplacement = Collision_TransformPosition001_Emitter_Func_Output_OutPosition;
Context.MapUpdate.Transient.Collision_ParticleVelocityReplacement = Collision_TransformVector001_Emitter_Func_Output_OutVector;
Context.MapUpdate.Particles.Velocity = Collision_TransformVector001_Emitter_Func_Output_OutVector;
Context.MapUpdate.Particles.Position = Collision_TransformPosition001_Emitter_Func_Output_OutPosition;
Context.MapUpdate.OUTPUT_VAR.Collision.CombinedCollisionNormal = Vector3f_SelectResult8;
Context.MapUpdate.Transient.AdvectionVelocity = AdvectionVelocity_IfResult1;
Context.MapUpdate.Particles.Collision.SafeCombinedCollisionNormal = Vector3f_SelectResult8;
float Constant376 = 0;
Context.MapUpdate.Collision.AdvancedAgingRate = Constant376;
float3 Constant377 = float3(0,0,0);
float3 Constant378 = float3(0,0,0);
float3 Vector_IfResult15;
float3 PhysicsRotationalForce_IfResult;
if(Context.MapUpdate.Transient.CollisionValid)
{
Vector_IfResult15 = Constant377;
PhysicsRotationalForce_IfResult = Constant378;
}
else
{
Vector_IfResult15 = Context.MapUpdate.Particles.RotationalVelocity;
PhysicsRotationalForce_IfResult = Context.MapUpdate.Transient.PhysicsRotationalForce;
}
Context.MapUpdate.Particles.RotationalVelocity = Vector_IfResult15;
Context.MapUpdate.Transient.PhysicsRotationalForce = PhysicsRotationalForce_IfResult;
float3 Constant379 = float3(0,0,1);
float Constant380 = 1e-05;
float3 NiagaraScript_1885_Func_Output_Direction2;
float NiagaraScript_1885_Func_Output_Length2;
bool NiagaraScript_1885_Func_Output_BelowThreshold2;
NiagaraScript_1885_Func_(Context.MapUpdate.OUTPUT_VAR.Collision.ModuleCollision2Normal, Constant379, Constant380, NiagaraScript_1885_Func_Output_Direction2, NiagaraScript_1885_Func_Output_Length2, NiagaraScript_1885_Func_Output_BelowThreshold2, Context);
float3 Constant381 = float3(0,0,1);
float3 Vector_IfResult16;
if(Context.MapUpdate.OUTPUT_VAR.Collision.ModuleCollision2Valid)
{
Vector_IfResult16 = NiagaraScript_1885_Func_Output_Direction2;
}
else
{
Vector_IfResult16 = Constant381;
}
float3 Vector_IfResult17;
if(Context.MapUpdate.OUTPUT_VAR.Collision.ModuleCollision1Valid)
{
Vector_IfResult17 = Context.MapUpdate.OUTPUT_VAR.Collision.ModuleCollision1Normal;
}
else
{
Vector_IfResult17 = Vector_IfResult16;
}
bool Constant382 = false;
float3 NiagaraScript_1884_Func_Output_Ouput2;
NiagaraScript_1884_Func_(Context.MapUpdate.Transient.Collision_ParticleVelocityReplacement, Vector_IfResult17, Constant382, NiagaraScript_1884_Func_Output_Ouput2, Context);
float3 Result333 = cross(Vector_IfResult17,NiagaraScript_1884_Func_Output_Ouput2);
float3 Constant383 = float3(0,0,0);
float Constant384 = 1e-05;
float3 NiagaraScript_1845_Func_Output_Direction16;
float NiagaraScript_1845_Func_Output_Length16;
bool NiagaraScript_1845_Func_Output_BelowThreshold16;
NiagaraScript_1845_Func_(Result333, Constant383, Constant384, NiagaraScript_1845_Func_Output_Direction16, NiagaraScript_1845_Func_Output_Length16, NiagaraScript_1845_Func_Output_BelowThreshold16, Context);
float3 Constant385 = float3(0,0,1);
float Constant386 = 0;
float3 Constant387 = float3(0,0,0);
float Constant388 = 1e-05;
float3 NiagaraScript_1845_Func_Output_Direction17;
float NiagaraScript_1845_Func_Output_Length17;
bool NiagaraScript_1845_Func_Output_BelowThreshold17;
NiagaraScript_1845_Func_(NiagaraScript_1884_Func_Output_Ouput2, Constant387, Constant388, NiagaraScript_1845_Func_Output_Direction17, NiagaraScript_1845_Func_Output_Length17, NiagaraScript_1845_Func_Output_BelowThreshold17, Context);
float3 Vector_IfResult18;
float float001_IfResult;
if(NiagaraScript_1845_Func_Output_BelowThreshold16)
{
Vector_IfResult18 = Constant385;
float001_IfResult = Constant386;
}
else
{
Vector_IfResult18 = NiagaraScript_1845_Func_Output_Direction16;
float001_IfResult = NiagaraScript_1845_Func_Output_Length17;
}
float Result334 = TWO_PI;
float Result335 = TWO_PI;
float Constant389 = 1;
float Result336 = Result335 * Context.MapUpdate.Local.Collision.ModuleParticleRadius;
float Result337 = float001_IfResult / Result336;
float Result338 = Result334 * Result337;
float4 Vector4;
Vector4.x = Vector_IfResult18.x;
Vector4.y = Vector_IfResult18.y;
Vector4.z = Vector_IfResult18.z;
Vector4.w = Result338;
float4 Vector4_IfResult;
if(Context.MapUpdate.Transient.CollisionValid)
{
Vector4_IfResult = Vector4;
}
else
{
Vector4_IfResult = Context.MapUpdate.Particles.Collision.AxisAngle;
}
Context.MapUpdate.Particles.Collision.AxisAngle = Vector4_IfResult;
bool Constant390 = false;
bool Collision_DoOnce_fn001_Emitter_Func_Output_Execute;
bool Collision_DoOnce_fn001_Emitter_Func_Output_Triggered;
Collision_DoOnce_fn001_Emitter_Func_(Context.MapUpdate.Transient.CollisionValid, Constant390, Collision_DoOnce_fn001_Emitter_Func_Output_Execute, Collision_DoOnce_fn001_Emitter_Func_Output_Triggered, Context);
float X2;
float Y2;
float Z;
float W;
X2 = Context.MapUpdate.Particles.Collision.AxisAngle.x;
Y2 = Context.MapUpdate.Particles.Collision.AxisAngle.y;
Z = Context.MapUpdate.Particles.Collision.AxisAngle.z;
W = Context.MapUpdate.Particles.Collision.AxisAngle.w;
float Result342 = W * Context.MapUpdate.Engine.DeltaTime;
float4 Output15;
Output15.x = X2;
Output15.y = Y2;
Output15.z = Z;
Output15.w = Result342;
bool Constant392 = true;
float4 NiagaraScript_1851_Func_Output_Quaternion;
NiagaraScript_1851_Func_(Output15, Constant392, NiagaraScript_1851_Func_Output_Quaternion, Context);
float4 NiagaraScript_1850_Func_Output_Quaternion1;
NiagaraScript_1850_Func_(NiagaraScript_1851_Func_Output_Quaternion, Context.MapUpdate.Particles.MeshOrientation, NiagaraScript_1850_Func_Output_Quaternion1, Context);
float4 Result348 = normalize(NiagaraScript_1850_Func_Output_Quaternion1);
float4 Quat_IfResult;
if(Collision_DoOnce_fn001_Emitter_Func_Output_Triggered)
{
Quat_IfResult = Result348;
}
else
{
Quat_IfResult = Context.MapUpdate.Particles.MeshOrientation;
}
Context.MapUpdate.Particles.MeshOrientation = Quat_IfResult;
}
void NiagaraScript_1849_NormalizeRotations_false_Func_(float3 In_RotationalVelocityVector, float In_DeltaTime, float4 In_ExistingOrientationQuat, out float4 Out_NewOrientationQuat, inout FSimulationContext Context)
{
float3 Result371 = In_RotationalVelocityVector * In_DeltaTime;
float3 Constant412 = float3(0,0,0);
float Constant413 = 1e-05;
float3 NiagaraScript_1845_Func_Output_Direction18;
float NiagaraScript_1845_Func_Output_Length18;
bool NiagaraScript_1845_Func_Output_BelowThreshold18;
NiagaraScript_1845_Func_(Result371, Constant412, Constant413, NiagaraScript_1845_Func_Output_Direction18, NiagaraScript_1845_Func_Output_Length18, NiagaraScript_1845_Func_Output_BelowThreshold18, Context);
float4 Vector41;
Vector41.x = NiagaraScript_1845_Func_Output_Direction18.x;
Vector41.y = NiagaraScript_1845_Func_Output_Direction18.y;
Vector41.z = NiagaraScript_1845_Func_Output_Direction18.z;
Vector41.w = NiagaraScript_1845_Func_Output_Length18;
bool Constant414 = true;
float4 NiagaraScript_1851_Func_Output_Quaternion1;
NiagaraScript_1851_Func_(Vector41, Constant414, NiagaraScript_1851_Func_Output_Quaternion1, Context);
float4 NiagaraScript_1850_Func_Output_Quaternion2;
NiagaraScript_1850_Func_(NiagaraScript_1851_Func_Output_Quaternion1, In_ExistingOrientationQuat, NiagaraScript_1850_Func_Output_Quaternion2, Context);
float4 Quat_IfResult1;
if(NiagaraScript_1845_Func_Output_BelowThreshold18)
{
Quat_IfResult1 = In_ExistingOrientationQuat;
}
else
{
Quat_IfResult1 = NiagaraScript_1850_Func_Output_Quaternion2;
}
Out_NewOrientationQuat = Quat_IfResult1;
}
void SolveForcesAndVelocity_Emitter_Func_(inout FSimulationContext Context)
{
Context.MapUpdate.Local.SolveForcesAndVelocity.DeltaTime = Context.MapUpdate.SolveForcesAndVelocity.DeltaTime;
float Constant397 = 1e-05;
float Result349 = max(Context.MapUpdate.Local.SolveForcesAndVelocity.DeltaTime, Constant397);
float Result350 = Reciprocal(Result349);
Context.MapUpdate.Local.SolveForcesAndVelocity.InverseDeltaTime = Result350;
Context.MapUpdate.Local.SolveForcesAndVelocity.PhysicsForce = Context.MapUpdate.SolveForcesAndVelocity.Force;
Context.MapUpdate.OUTPUT_VAR.SolveForcesAndVelocity.IncomingPhysicsForce = Context.MapUpdate.SolveForcesAndVelocity.Force;
Context.MapUpdate.OUTPUT_VAR.SolveForcesAndVelocity.Velocity = Context.MapUpdate.SolveForcesAndVelocity.Velocity;
Context.MapUpdate.Local.SolveForcesAndVelocity.Mass = Context.MapUpdate.SolveForcesAndVelocity.Mass;
Context.MapUpdate.OUTPUT_VAR.SolveForcesAndVelocity.Position = Context.MapUpdate.SolveForcesAndVelocity.Position;
Context.MapUpdate.Particles.Presolve.Velocity = Context.MapUpdate.OUTPUT_VAR.SolveForcesAndVelocity.Velocity;
Context.MapUpdate.Particles.Presolve.Position = Context.MapUpdate.OUTPUT_VAR.SolveForcesAndVelocity.Position;
Context.MapUpdate.Particles.Presolve.PhysicsForce = Context.MapUpdate.OUTPUT_VAR.SolveForcesAndVelocity.IncomingPhysicsForce;
float Constant398 = 1e-06;
float Result351 = max(Context.MapUpdate.Local.SolveForcesAndVelocity.Mass, Constant398);
float Result352 = Reciprocal(Result351);
float3 Result353 = Result352 * Context.MapUpdate.Local.SolveForcesAndVelocity.PhysicsForce;
Context.MapUpdate.Local.SolveForcesAndVelocity.PhysicsForce = Result353;
Context.MapUpdate.Local.SolveForcesAndVelocity.InverseMass = Result352;
float3 Result354 = Context.MapUpdate.Local.SolveForcesAndVelocity.PhysicsForce * Context.MapUpdate.Local.SolveForcesAndVelocity.DeltaTime + Context.MapUpdate.OUTPUT_VAR.SolveForcesAndVelocity.Velocity;
Context.MapUpdate.OUTPUT_VAR.SolveForcesAndVelocity.Velocity = Result354;
Context.MapUpdate.Local.SolveForcesAndVelocity.AdvectionVelocity = Context.MapUpdate.Transient.AdvectionVelocity;
Context.MapUpdate.Local.SolveForcesAndVelocity.PhysicsDrag = Context.MapUpdate.Transient.PhysicsDrag;
Context.MapUpdate.Local.SolveForcesAndVelocity.DragIgnoreMass = Context.MapUpdate.Transient.DragIgnoreMass;
float3 NiagaraScript_1872_Func_Output_Output2;
NiagaraScript_1872_Func_(Context.MapUpdate.OUTPUT_VAR.SolveForcesAndVelocity.Velocity, Context.MapUpdate.Local.SolveForcesAndVelocity.AdvectionVelocity, Context.MapUpdate.Local.SolveForcesAndVelocity.InverseMass, Context.MapUpdate.Local.SolveForcesAndVelocity.PhysicsDrag, Context.MapUpdate.Local.SolveForcesAndVelocity.DeltaTime, Context.MapUpdate.Local.SolveForcesAndVelocity.DragIgnoreMass, NiagaraScript_1872_Func_Output_Output2, Context);
float3 Result355 = NiagaraScript_1872_Func_Output_Output2 - Context.MapUpdate.OUTPUT_VAR.SolveForcesAndVelocity.Velocity;
Context.MapUpdate.OUTPUT_VAR.SolveForcesAndVelocity.Velocity = NiagaraScript_1872_Func_Output_Output2;
Context.MapUpdate.Local.SolveForcesAndVelocity.DragVelocity = Result355;
Context.MapUpdate.OUTPUT_VAR.SolveForcesAndVelocity.IncomingPhysicsDrag = Context.MapUpdate.Local.SolveForcesAndVelocity.PhysicsDrag;
float Constant399 = 1000;
Context.MapUpdate.OUTPUT_VAR.SolveForcesAndVelocity.Velocity = Context.MapUpdate.OUTPUT_VAR.SolveForcesAndVelocity.Velocity;
float Constant400 = 9999;
Context.MapUpdate.OUTPUT_VAR.SolveForcesAndVelocity.Velocity = Context.MapUpdate.OUTPUT_VAR.SolveForcesAndVelocity.Velocity;
float3 Result356 = Context.MapUpdate.OUTPUT_VAR.SolveForcesAndVelocity.Velocity * Context.MapUpdate.Local.SolveForcesAndVelocity.DeltaTime;
float3 Result357 = Result356 + Context.MapUpdate.OUTPUT_VAR.SolveForcesAndVelocity.Position;
Context.MapUpdate.OUTPUT_VAR.SolveForcesAndVelocity.Position = Result357;
float3 Position_IfResult2;
float3 Velocity_IfResult4;
if(Context.MapUpdate.SolveForcesAndVelocity.WritetoIntrinsicProperties)
{
Position_IfResult2 = Context.MapUpdate.OUTPUT_VAR.SolveForcesAndVelocity.Position;
Velocity_IfResult4 = Context.MapUpdate.OUTPUT_VAR.SolveForcesAndVelocity.Velocity;
}
else
{
Position_IfResult2 = Context.MapUpdate.Particles.Position;
Velocity_IfResult4 = Context.MapUpdate.Particles.Velocity;
}
Context.MapUpdate.Particles.Position = Position_IfResult2;
Context.MapUpdate.Particles.Velocity = Velocity_IfResult4;
float3 Constant401 = float3(0,0,0);
float Constant402 = 0;
float3 ForceVector_IfResult;
float Drag_IfResult;
if(Context.MapUpdate.SolveForcesAndVelocity.WritetoIntrinsicProperties)
{
ForceVector_IfResult = Constant401;
Drag_IfResult = Constant402;
}
else
{
ForceVector_IfResult = Context.MapUpdate.Transient.PhysicsForce;
Drag_IfResult = Context.MapUpdate.Transient.PhysicsDrag;
}
Context.MapUpdate.Transient.PhysicsForce = ForceVector_IfResult;
Context.MapUpdate.Transient.PhysicsDrag = Drag_IfResult;
float3 Result358 = Context.MapUpdate.Particles.Position - Context.MapUpdate.Particles.Previous.Position;
float Result359 = length(Result358);
float Constant403 = 0.3333;
float Result360 = Result359 * Constant403;
float Constant404 = 1e+08;
float Result361 = Modulo(Context.MapUpdate.Particles.DistanceTraveled, Constant404);
float Result362 = Result360 + Result361;
Context.MapUpdate.Particles.DistanceTraveled = Result362;
//SetConstantByStaticVariable "/Solve Forces and Velocity/Map Get/Map Get->Particles.RotationalVelocityEnabled"
int Constant405 = 1;
//SetConstantByStaticVariable "/Solve Forces and Velocity/Map Get/Map Get->Module.Manually Enable Rotational Solver"
int Constant406 = 0;
//SetConstantByStaticVariable "/Solve Forces and Velocity/Logic OR (Static)/Logic OR (Static)->Result"
int Constant407 = 1;
Context.MapUpdate.Local.SolveForcesAndVelocity.RotationalForce = Context.MapUpdate.SolveForcesAndVelocity.RotationalForce;
Context.MapUpdate.Local.SolveForcesAndVelocity.RotationalInertia = Context.MapUpdate.SolveForcesAndVelocity.RotationalInertia;
//SetConstantByStaticVariable "/Solve Forces and Velocity/Map Get/Map Get->Particles.DragLocalOffsetEnabled"
int Constant408 = 0;
float Constant409 = 1e-05;
float Result363 = max(Context.MapUpdate.Local.SolveForcesAndVelocity.RotationalInertia, Constant409);
float3 Result364 = Context.MapUpdate.Local.SolveForcesAndVelocity.RotationalForce / Result363;
float3 Result365 = Result364 * Context.MapUpdate.Local.SolveForcesAndVelocity.DeltaTime;
Context.MapUpdate.Local.SolveForcesAndVelocity.ForceRotationsInRadians = Result365;
Context.MapUpdate.OUTPUT_VAR.SolveForcesAndVelocity.IncomingPhysicsRotationalForce = Context.MapUpdate.Local.SolveForcesAndVelocity.RotationalForce;
float3 Result366 = Context.MapUpdate.SolveForcesAndVelocity.RotationalVelocity + Context.MapUpdate.Local.SolveForcesAndVelocity.ForceRotationsInRadians;
Context.MapUpdate.OUTPUT_VAR.SolveForcesAndVelocity.RotationalVelocity = Result366;
float Constant410 = 0;
float Result367 = max(Context.MapUpdate.Transient.PhysicsRotationalDrag, Constant410);
float Result368 = Result367 * Context.MapUpdate.Local.SolveForcesAndVelocity.DeltaTime;
float Constant411 = 1;
float Result369 = Result368 + Constant411;
float3 Result370 = Context.MapUpdate.OUTPUT_VAR.SolveForcesAndVelocity.RotationalVelocity / Result369;
Context.MapUpdate.OUTPUT_VAR.SolveForcesAndVelocity.RotationalVelocity = Result370;
Context.MapUpdate.OUTPUT_VAR.SolveForcesAndVelocity.IncomingPhysicsRotationalDrag = Context.MapUpdate.Transient.PhysicsRotationalDrag;
float4 NiagaraScript_1849_NormalizeRotations_false_Func_Output_NewOrientationQuat;
NiagaraScript_1849_NormalizeRotations_false_Func_(Context.MapUpdate.SolveForcesAndVelocity.RotationalVelocity, Context.MapUpdate.Local.SolveForcesAndVelocity.DeltaTime, Context.MapUpdate.SolveForcesAndVelocity.MeshOrientation, NiagaraScript_1849_NormalizeRotations_false_Func_Output_NewOrientationQuat, Context);
Context.MapUpdate.OUTPUT_VAR.SolveForcesAndVelocity.MeshOrientation = NiagaraScript_1849_NormalizeRotations_false_Func_Output_NewOrientationQuat;
float4 MeshOrientation_IfResult;
float3 AngularVelocity_IfResult;
if(Context.MapUpdate.SolveForcesAndVelocity.WritetoIntrinsicProperties)
{
MeshOrientation_IfResult = Context.MapUpdate.OUTPUT_VAR.SolveForcesAndVelocity.MeshOrientation;
AngularVelocity_IfResult = Context.MapUpdate.OUTPUT_VAR.SolveForcesAndVelocity.RotationalVelocity;
}
else
{
MeshOrientation_IfResult = Context.MapUpdate.SolveForcesAndVelocity.MeshOrientation;
AngularVelocity_IfResult = Context.MapUpdate.SolveForcesAndVelocity.RotationalVelocity;
}
Context.MapUpdate.Transient.HasAppliedRotationalSolver = Context.MapUpdate.SolveForcesAndVelocity.WritetoIntrinsicProperties;
Context.MapUpdate.Particles.MeshOrientation = MeshOrientation_IfResult;
Context.MapUpdate.Particles.RotationalVelocity = AngularVelocity_IfResult;
float3 Constant415 = float3(0,0,0);
float Constant416 = 0;
float3 ForceVector_IfResult1;
float Drag_IfResult1;
if(Context.MapUpdate.SolveForcesAndVelocity.WritetoIntrinsicProperties)
{
ForceVector_IfResult1 = Constant415;
Drag_IfResult1 = Constant416;
}
else
{
ForceVector_IfResult1 = Context.MapUpdate.Transient.PhysicsRotationalForce;
Drag_IfResult1 = Context.MapUpdate.Transient.PhysicsRotationalDrag;
}
Context.MapUpdate.Transient.PhysicsRotationalForce = ForceVector_IfResult1;
Context.MapUpdate.Transient.PhysicsRotationalDrag = Drag_IfResult1;
}
void SolveRotationalForcesAndVelocity_Emitter_Func_(inout FSimulationContext Context)
{
Context.MapUpdate.Local.SolveRotationalForcesAndVelocity.DeltaTime = Context.MapUpdate.SolveRotationalForcesAndVelocity.DeltaTime;
float Constant418 = 1e-05;
float Result372 = max(Context.MapUpdate.SolveRotationalForcesAndVelocity.RotationalInertia, Constant418);
float3 Result373 = Context.MapUpdate.Transient.PhysicsRotationalForce / Result372;
float3 Result374 = Result373 * Context.MapUpdate.Local.SolveRotationalForcesAndVelocity.DeltaTime;
Context.MapUpdate.Local.SolveRotationalForcesAndVelocity.ForceRotationsInRadians = Result374;
Context.MapUpdate.OUTPUT_VAR.SolveRotationalForcesAndVelocity.IncomingPhysicsRotationalForce = Context.MapUpdate.Transient.PhysicsRotationalForce;
float3 Result375 = Context.MapUpdate.SolveRotationalForcesAndVelocity.RotationalVelocity + Context.MapUpdate.Local.SolveRotationalForcesAndVelocity.ForceRotationsInRadians;
Context.MapUpdate.OUTPUT_VAR.SolveRotationalForcesAndVelocity.RotationalVelocity = Result375;
float Constant419 = 0;
float Result376 = max(Context.MapUpdate.Transient.PhysicsRotationalDrag, Constant419);
float Result377 = Result376 * Context.MapUpdate.Local.SolveRotationalForcesAndVelocity.DeltaTime;
float Constant420 = 1;
float Result378 = Result377 + Constant420;
float3 Result379 = Context.MapUpdate.OUTPUT_VAR.SolveRotationalForcesAndVelocity.RotationalVelocity / Result378;
Context.MapUpdate.OUTPUT_VAR.SolveRotationalForcesAndVelocity.RotationalVelocity = Result379;
Context.MapUpdate.OUTPUT_VAR.SolveRotationalForcesAndVelocity.IncomingPhysicsRotationalDrag = Context.MapUpdate.Transient.PhysicsRotationalDrag;
float4 NiagaraScript_1849_NormalizeRotations_false_Func_Output_NewOrientationQuat1;
NiagaraScript_1849_NormalizeRotations_false_Func_(Context.MapUpdate.SolveRotationalForcesAndVelocity.RotationalVelocity, Context.MapUpdate.Local.SolveRotationalForcesAndVelocity.DeltaTime, Context.MapUpdate.SolveRotationalForcesAndVelocity.MeshOrientation, NiagaraScript_1849_NormalizeRotations_false_Func_Output_NewOrientationQuat1, Context);
Context.MapUpdate.OUTPUT_VAR.SolveRotationalForcesAndVelocity.MeshOrientation = NiagaraScript_1849_NormalizeRotations_false_Func_Output_NewOrientationQuat1;
bool Result380 = !Context.MapUpdate.Transient.HasAppliedRotationalSolver;
bool Result381 = Result380 && Context.MapUpdate.SolveRotationalForcesAndVelocity.WritetoIntrinsicProperties;
float4 Constant421 = float4(0.0, 0.0, 0.0, 1.0);
float4 MeshOrientation_SelectResult9 = Constant421;
float3 Constant422 = float3(0.0, 0.0, 0.0);
float3 AngularVel_SelectResult9 = Constant422;
MeshOrientation_SelectResult9 = Context.MapUpdate.OUTPUT_VAR.SolveRotationalForcesAndVelocity.MeshOrientation;
AngularVel_SelectResult9 = Context.MapUpdate.OUTPUT_VAR.SolveRotationalForcesAndVelocity.RotationalVelocity;
if(Result381 == 0)
{
MeshOrientation_SelectResult9 = Context.MapUpdate.SolveRotationalForcesAndVelocity.MeshOrientation;
AngularVel_SelectResult9 = Context.MapUpdate.SolveRotationalForcesAndVelocity.RotationalVelocity;
}
Context.MapUpdate.Particles.MeshOrientation = MeshOrientation_SelectResult9;
Context.MapUpdate.Particles.RotationalVelocity = AngularVel_SelectResult9;
float3 Constant423 = float3(0,0,0);
float Constant424 = 0;
float3 ForceVector_IfResult2;
float Drag_IfResult2;
if(Context.MapUpdate.SolveRotationalForcesAndVelocity.WritetoIntrinsicProperties)
{
ForceVector_IfResult2 = Constant423;
Drag_IfResult2 = Constant424;
}
else
{
ForceVector_IfResult2 = Context.MapUpdate.Transient.PhysicsRotationalForce;
Drag_IfResult2 = Context.MapUpdate.Transient.PhysicsRotationalDrag;
}
Context.MapUpdate.Transient.PhysicsRotationalForce = ForceVector_IfResult2;
Context.MapUpdate.Transient.PhysicsRotationalDrag = Drag_IfResult2;
}
float GetSpawnInterpolation()
{
return HackSpawnInterp;
}
void InterpolateParameters(inout FSimulationContext Context)
{
int InterpSpawn_Index = ExecIndex();
float InterpSpawn_SpawnTime = Emitter_InterpSpawnStartDt + (Emitter_SpawnInterval * InterpSpawn_Index);
float InterpSpawn_UpdateTime = Engine_DeltaTime - InterpSpawn_SpawnTime;
float InterpSpawn_InvSpawnTime = 1.0 / InterpSpawn_SpawnTime;
float InterpSpawn_InvUpdateTime = 1.0 / InterpSpawn_UpdateTime;
float SpawnInterp = InterpSpawn_SpawnTime * Engine_InverseDeltaTime ;
HackSpawnInterp = SpawnInterp;
Context.MapSpawn.Interpolation.InterpSpawn_Index = InterpSpawn_Index;
Context.MapSpawn.Interpolation.InterpSpawn_SpawnTime = InterpSpawn_SpawnTime;
Context.MapSpawn.Interpolation.InterpSpawn_UpdateTime = InterpSpawn_UpdateTime;
Context.MapSpawn.Interpolation.InterpSpawn_InvSpawnTime = InterpSpawn_InvSpawnTime;
Context.MapSpawn.Interpolation.InterpSpawn_InvUpdateTime = InterpSpawn_InvUpdateTime;
Context.MapSpawn.Interpolation.SpawnInterp = SpawnInterp;
Context.MapSpawn.Interpolation.Emitter_SpawnInterval = Emitter_SpawnInterval;
Context.MapSpawn.Interpolation.Emitter_InterpSpawnStartDt = Emitter_InterpSpawnStartDt;
Context.MapSpawn.Interpolation.Emitter_SpawnGroup = Emitter_SpawnGroup;
Context.MapSpawn.Engine.Time = lerp(PREV_Engine_Time, Engine_Time, SpawnInterp);
Context.MapSpawn.Engine.RealTime = lerp(PREV_Engine_RealTime, Engine_RealTime, SpawnInterp);
Context.MapSpawn.Engine.Owner.TimeSinceRendered = lerp(PREV_Engine_Owner_TimeSinceRendered, Engine_Owner_TimeSinceRendered, SpawnInterp);
Context.MapSpawn.Engine.Owner.LODDistance = lerp(PREV_Engine_Owner_LODDistance, Engine_Owner_LODDistance, SpawnInterp);
Context.MapSpawn.Engine.Owner.LODDistanceFraction = lerp(PREV_Engine_Owner_LODDistanceFraction, Engine_Owner_LODDistanceFraction, SpawnInterp);
Context.MapSpawn.Engine.System.Age = lerp(PREV_Engine_System_Age, Engine_System_Age, SpawnInterp);
Context.MapSpawn.Engine.Owner.Rotation = lerp(PREV_Engine_Owner_Rotation, Engine_Owner_Rotation, SpawnInterp);
Context.MapSpawn.Engine.Owner.Position = lerp(PREV_Engine_Owner_Position, Engine_Owner_Position, SpawnInterp);
Context.MapSpawn.Engine.Owner.Velocity = lerp(PREV_Engine_Owner_Velocity, Engine_Owner_Velocity, SpawnInterp);
Context.MapSpawn.Engine.Owner.SystemXAxis = lerp(PREV_Engine_Owner_SystemXAxis, Engine_Owner_SystemXAxis, SpawnInterp);
Context.MapSpawn.Engine.Owner.SystemYAxis = lerp(PREV_Engine_Owner_SystemYAxis, Engine_Owner_SystemYAxis, SpawnInterp);
Context.MapSpawn.Engine.Owner.SystemZAxis = lerp(PREV_Engine_Owner_SystemZAxis, Engine_Owner_SystemZAxis, SpawnInterp);
Context.MapSpawn.Engine.Owner.Scale = lerp(PREV_Engine_Owner_Scale, Engine_Owner_Scale, SpawnInterp);
Context.MapSpawn.Engine.Owner.LWCTile = lerp(PREV_Engine_Owner_LWCTile, Engine_Owner_LWCTile, SpawnInterp);
Context.MapSpawn.Emitter.Age = lerp(PREV_Emitter_Age, Emitter_Age, SpawnInterp);
Context.MapSpawn.Emitter.DistanceTraveled = lerp(PREV_Emitter_DistanceTraveled, Emitter_DistanceTraveled, SpawnInterp);
Context.MapUpdate.Engine.DeltaTime = InterpSpawn_UpdateTime;
Context.MapUpdate.Engine.InverseDeltaTime = InterpSpawn_InvUpdateTime;
}
#if (SimulationStageIndex == 0) // MapSpawn
void HandlePreviousValuesForSpawn(inout FSimulationContext Context)
{
Context.MapSpawn.Particles.Previous.MeshOrientation = Context.MapSpawn.Particles.MeshOrientation;
Context.MapSpawn.Particles.Previous.Position = Context.MapSpawn.Particles.Position;
Context.MapSpawn.Particles.Previous.Scale = Context.MapSpawn.Particles.Scale;
Context.MapSpawn.Particles.Previous.Velocity = Context.MapSpawn.Particles.Velocity;
}
#endif
void ReadDataSets(inout FSimulationContext Context)
{
}
void WriteDataSets(inout FSimulationContext Context)
{
}
void SimulateMapSpawn(inout FSimulationContext Context)
{
//Begin Interpolated Spawn Script!
//Begin Initialize Parameter Map Defaults
float Constant = (0.0);
Context.MapSpawn.Particles.MaterialRandom = Constant;
float Constant1 = (0.0);
Context.MapSpawn.Particles.Lifetime = Constant1;
float Constant2 = 1;
Context.MapSpawn.Particles.Mass = Constant2;
float3 Constant3 = float3(1,1,1);
Context.MapSpawn.Particles.Scale = Constant3;
float3 Constant4 = float3(0.0, 0.0, 0.0);
Context.MapSpawn.Particles.Position = Constant4;
float3 Constant5 = float3(0,0,0);
Context.MapSpawn.Particles.Velocity = Constant5;
float4 Constant6 = float4(0,0,0,1);
Context.MapSpawn.Particles.MeshOrientation = Constant6;
float4 Constant7 = float4(0.0, 0.0, 0.0, 1.0);
Context.MapSpawn.Particles.InitialRotation = Constant7;
float3 Constant8 = float3(0,0,0);
Context.MapSpawn.Particles.RotationalVelocity = Constant8;
float Constant9 = 0;
Context.MapSpawn.Particles.Age = Constant9;
float Constant10 = (0.0);
Context.MapSpawn.Particles.NormalizedAge = Constant10;
int Constant11 = 0;
Context.MapSpawn.Particles.NumberOfCollisions = Constant11;
int Constant12 = 0;
Context.MapSpawn.Particles.Collision.CollisionQueryAndResponse.CollisionID = Constant12;
int Constant13 = (0);
Context.MapSpawn.Particles.Collision.CollisionQueryAndResponse.Collision1MaterialIndex = Constant13;
bool Constant14 = false;
Context.MapSpawn.Particles.HasCollided = Constant14;
int Constant15 = 0;
Context.MapSpawn.Particles.Collision.CollisionQueryAndResponse001.CollisionID = Constant15;
int Constant16 = (0);
Context.MapSpawn.Particles.Collision.CollisionQueryAndResponse001.Collision2MaterialIndex = Constant16;
float Constant17 = 0;
Context.MapSpawn.Particles.RestCounter = Constant17;
float3 Constant18 = float3(0,0,0);
Context.MapSpawn.Particles.Collision.SafeCombinedCollisionNormal = Constant18;
float4 Constant19 = float4(0,0,1,0);
Context.MapSpawn.Particles.Collision.AxisAngle = Constant19;
bool Constant20 = false;
Context.MapSpawn.Particles.Collision.DoOnce_fn001.TriggeredOnce = Constant20;
bool Constant21 = (false);
Context.MapSpawn.Particles.Collision.DoOnce_fn001.Execute = Constant21;
float3 Constant22 = float3(0.0, 0.0, 0.0);
Context.MapSpawn.Particles.Presolve.Velocity = Constant22;
float3 Constant23 = float3(0.0, 0.0, 0.0);
Context.MapSpawn.Particles.Presolve.Position = Constant23;
float3 Constant24 = float3(0.0, 0.0, 0.0);
Context.MapSpawn.Particles.Presolve.PhysicsForce = Constant24;
float3 Constant25 = float3(0,0,0);
Context.MapSpawn.Particles.Previous.Velocity = Constant25;
float3 Constant26 = float3(0,0,0);
Context.MapSpawn.Particles.Previous.Position = Constant26;
float Constant27 = 0;
Context.MapSpawn.Particles.DistanceTraveled = Constant27;
//End Initialize Parameter Map Defaults
int Constant28 = (0);
float Constant29 = 0;
float Constant30 = 1;
int Constant31 = -1;
int Constant32 = (0);
int Constant33 = 0;
int Constant34 = (0);
int Constant35 = (0);
float NiagaraScript_1857_ScriptUsage4_EvaluationType_NewEnumerator0_FixedRandomSeed_false_OverrideSeed_false_RandomnessMode_NewEnumerator0_Func_Output_RandomFloat;
bool NiagaraScript_1857_ScriptUsage4_EvaluationType_NewEnumerator0_FixedRandomSeed_false_OverrideSeed_false_RandomnessMode_NewEnumerator0_Func_Output_IsDeterministic;
NiagaraScript_1857_ScriptUsage4_EvaluationType_NewEnumerator0_FixedRandomSeed_false_OverrideSeed_false_RandomnessMode_NewEnumerator0_Func_(Constant28, Constant29, Constant30, Constant31, Constant32, Constant33, Constant34, Constant35, NiagaraScript_1857_ScriptUsage4_EvaluationType_NewEnumerator0_FixedRandomSeed_false_OverrideSeed_false_RandomnessMode_NewEnumerator0_Func_Output_RandomFloat, NiagaraScript_1857_ScriptUsage4_EvaluationType_NewEnumerator0_FixedRandomSeed_false_OverrideSeed_false_RandomnessMode_NewEnumerator0_Func_Output_IsDeterministic, Context);
Context.MapSpawn.InitializeParticle.MaterialRandom = NiagaraScript_1857_ScriptUsage4_EvaluationType_NewEnumerator0_FixedRandomSeed_false_OverrideSeed_false_RandomnessMode_NewEnumerator0_Func_Output_RandomFloat;
float Constant37 = 5;
float3 Constant38 = float3(1,1,1);
float3 Constant39 = float3(0,0,0);
Context.MapSpawn.Particles.RibbonUVDistance = Context.MapSpawn.Emitter.DistanceTraveled;
EnterStatScope(1 /**InitializeParticle_Emitter_Func_*/);
InitializeParticle_Emitter_Func_(Context);
ExitStatScope(/**InitializeParticle_Emitter_Func_*/);
float3 Constant47 = float3(0.5,0.5,0.5);
float Constant48 = 100;
Context.MapSpawn.InheritVelocity.VelocitySource = Context.MapSpawn.Engine.Owner.Velocity;
float Constant49 = 25;
EnterStatScope(2 /**InheritVelocity_Emitter_Func_*/);
InheritVelocity_Emitter_Func_(Context);
ExitStatScope(/**InheritVelocity_Emitter_Func_*/);
float3 Constant53 = float3(0,0,0);
float3 Constant54 = float3(0,0,1);
float3 Constant55 = float3(1,0,0);
bool Constant56 = false;
EnterStatScope(3 /**InitialMeshOrientation_Emitter_Func_*/);
InitialMeshOrientation_Emitter_Func_(Context);
ExitStatScope(/**InitialMeshOrientation_Emitter_Func_*/);
float Constant80 = 45;
float Constant81 = 0.5;
float3 Constant82 = float3(0,1,0);
int Constant83 = 2;
Context.MapSpawn.AddVelocityInCone.ConeAxisCoordinateSpace = Constant83;
float Constant84 = 300;
bool Constant85 = false;
Context.MapSpawn.AddVelocityInCone.UseVelocityFalloffOnConeAxis = Constant85;
float Constant86 = 2;
EnterStatScope(4 /**AddVelocityInCone_Emitter_Func_*/);
AddVelocityInCone_Emitter_Func_(Context);
ExitStatScope(/**AddVelocityInCone_Emitter_Func_*/);
float3 Constant150 = float3(-10,-10,-10);
float3 Constant151 = float3(10,10,10);
int Constant152 = 0;
float3 RandomRangeVector_Emitter_Func_Output_NewOutput;
RandomRangeVector_Emitter_Func_(RandomRangeVector_Emitter_Func_Output_NewOutput, Context);
Context.MapSpawn.AddRotationalVelocity.RotationRate = RandomRangeVector_Emitter_Func_Output_NewOutput;
EnterStatScope(5 /**AddRotationalVelocity_Emitter_Func_*/);
AddRotationalVelocity_Emitter_Func_(Context);
ExitStatScope(/**AddRotationalVelocity_Emitter_Func_*/);
//End Spawn Script!
//Handle resetting previous values at the end of spawn so that they match outputs! (Needed for motion blur/etc)
HandlePreviousValuesForSpawn(Context);
// Begin HandleMissingDefaultValues
Context.MapSpawn.Particles.RotationalInertia = Context.MapSpawn.Particles.Mass;
// End HandleMissingDefaultValues
}
void SimulateMapUpdate(inout FSimulationContext Context)
{
//Begin Update Script!
RandomCounterDeterministic = 0;
bool Constant167 = (false);
Context.MapUpdate.Transient.FirstFrame = Constant167;
bool Constant168 = true;
Context.MapUpdate.DataInstance.Alive = Constant168;
Context.MapUpdate.ParticleState.DeltaTime = Context.MapUpdate.Engine.DeltaTime;
Context.MapUpdate.ParticleState.Lifetime = Context.MapUpdate.Particles.Lifetime;
EnterStatScope(6 /**ParticleState_Emitter_Func_*/);
ParticleState_Emitter_Func_(Context);
ExitStatScope(/**ParticleState_Emitter_Func_*/);
float3 Constant174 = float3(0,0,0);
Context.MapUpdate.Transient.PhysicsForce = Constant174;
float3 Constant175 = float3(0,0,-980);
EnterStatScope(7 /**GravityForce_Emitter_Func_*/);
GravityForce_Emitter_Func_(Context);
ExitStatScope(/**GravityForce_Emitter_Func_*/);
float Constant177 = 1;
float Constant178 = 0;
Context.MapUpdate.Transient.PhysicsDrag = Constant178;
float Constant179 = 1;
float Constant180 = 0;
Context.MapUpdate.Transient.PhysicsRotationalDrag = Constant180;
EnterStatScope(8 /**Drag_Emitter_Func_*/);
Drag_Emitter_Func_(Context);
ExitStatScope(/**Drag_Emitter_Func_*/);
int Constant183 = 1;
bool Constant184 = true;
Context.MapUpdate.Collision.EnableRestState = Constant184;
bool Constant185 = false;
Context.MapUpdate.Transient.CollisionIsResting = Constant185;
bool Constant186 = false;
Context.MapUpdate.Collision.ManuallyEnterRest = Constant186;
bool Constant187 = false;
Context.MapUpdate.Collision.EnableMaxCollisionCount = Constant187;
Context.MapUpdate.Collision.ParticleMass = Context.MapUpdate.Particles.Mass;
Context.MapUpdate.Collision.PhysicsForce = Context.MapUpdate.Transient.PhysicsForce;
bool Constant188 = false;
float Constant189 = 1;
float3 Constant190 = float3(3,3,3);
float Constant191 = 0.25;
float Constant192 = 0.5;
float Constant193 = 1;
float Constant194 = 0.6;
float Constant195 = 0.1;
bool Constant196 = true;
Context.MapUpdate.Collision.CollisionEnabled = Constant196;
bool Constant197 = false;
Context.MapUpdate.Collision.RandomizeCollisionNormalVector = Constant197;
bool Constant198 = false;
Context.MapUpdate.Local.Collision.UpdateMeshRotation = Constant198;
float Constant199 = 0;
Context.MapUpdate.Collision.CorrectInterpenetration = Context.MapUpdate.Transient.FirstFrame;
float Constant200 = 5;
float Constant201 = 500;
int Constant202 = 1;
Context.MapUpdate.Collision.CPUCollisionTraceChannel = Constant202;
float3 Constant203 = float3(0,0,0);
Context.MapUpdate.Transient.Collision_PredictedParticlePositionForSimStages = Constant203;
Context.MapUpdate.Transient.PhysicsDeltaTime = Context.MapUpdate.Engine.DeltaTime;
float3 Constant204 = float3(0,0,0);
Context.MapUpdate.Transient.AdvectionVelocity = Constant204;
bool Constant205 = true;
Context.MapUpdate.Transient.DragIgnoreMass = Constant205;
float Constant206 = 1;
float Constant207 = 0.5;
float Constant208 = 0.5;
float3 Constant209 = float3(0,0,1);
bool Constant210 = false;
Context.MapUpdate.Collision.ControlRestStateViaSurfaceNormal = Constant210;
float Constant211 = 0.5;
float Constant212 = 0;
float3 Constant213 = float3(0,0,0);
Context.MapUpdate.Transient.PhysicsRotationalForce = Constant213;
float Constant214 = 1;
EnterStatScope(9 /**Collision_Emitter_Func_*/);
Collision_Emitter_Func_(Context);
ExitStatScope(/**Collision_Emitter_Func_*/);
Context.MapUpdate.SolveForcesAndVelocity.DeltaTime = Context.MapUpdate.Transient.PhysicsDeltaTime;
Context.MapUpdate.SolveForcesAndVelocity.Force = Context.MapUpdate.Transient.PhysicsForce;
Context.MapUpdate.SolveForcesAndVelocity.Velocity = Context.MapUpdate.Particles.Velocity;
Context.MapUpdate.SolveForcesAndVelocity.Mass = Context.MapUpdate.Particles.Mass;
Context.MapUpdate.SolveForcesAndVelocity.Position = Context.MapUpdate.Particles.Position;
float Constant394 = 1000;
Context.MapUpdate.SolveForcesAndVelocity.PreviousVelocity = Context.MapUpdate.Particles.Previous.Velocity;
float Constant395 = 9999;
bool Constant396 = true;
Context.MapUpdate.SolveForcesAndVelocity.WritetoIntrinsicProperties = Constant396;
Context.MapUpdate.SolveForcesAndVelocity.RotationalForce = Context.MapUpdate.Transient.PhysicsRotationalForce;
Context.MapUpdate.SolveForcesAndVelocity.RotationalInertia = Context.MapUpdate.Particles.RotationalInertia;
Context.MapUpdate.SolveForcesAndVelocity.RotationalVelocity = Context.MapUpdate.Particles.RotationalVelocity;
Context.MapUpdate.SolveForcesAndVelocity.MeshOrientation = Context.MapUpdate.Particles.MeshOrientation;
EnterStatScope(10 /**SolveForcesAndVelocity_Emitter_Func_*/);
SolveForcesAndVelocity_Emitter_Func_(Context);
ExitStatScope(/**SolveForcesAndVelocity_Emitter_Func_*/);
Context.MapUpdate.SolveRotationalForcesAndVelocity.DeltaTime = Context.MapUpdate.Transient.PhysicsDeltaTime;
Context.MapUpdate.SolveRotationalForcesAndVelocity.RotationalInertia = Context.MapUpdate.Particles.RotationalInertia;
Context.MapUpdate.SolveRotationalForcesAndVelocity.RotationalVelocity = Context.MapUpdate.Particles.RotationalVelocity;
Context.MapUpdate.SolveRotationalForcesAndVelocity.MeshOrientation = Context.MapUpdate.Particles.MeshOrientation;
bool Constant417 = true;
Context.MapUpdate.SolveRotationalForcesAndVelocity.WritetoIntrinsicProperties = Constant417;
EnterStatScope(11 /**SolveRotationalForcesAndVelocity_Emitter_Func_*/);
SolveRotationalForcesAndVelocity_Emitter_Func_(Context);
ExitStatScope(/**SolveRotationalForcesAndVelocity_Emitter_Func_*/);
//End Update Script!
}
void SimulateMain()
{
EnterStatScope(12 /**SpawnScript_Main*/);
FSimulationContext Context = (FSimulationContext)0;
Context.MapSpawn.Particles.Age = 0.0f;
Context.MapSpawn.Particles.Collision.AxisAngle.x = 0.0f;
Context.MapSpawn.Particles.Collision.AxisAngle.y = 0.0f;
Context.MapSpawn.Particles.Collision.AxisAngle.z = 0.0f;
Context.MapSpawn.Particles.Collision.AxisAngle.w = 0.0f;
Context.MapSpawn.Particles.Collision.CollisionQueryAndResponse.CollisionID = 0;
Context.MapSpawn.Particles.Collision.CollisionQueryAndResponse001.CollisionID = 0;
Context.MapSpawn.Particles.Collision.DoOnce_fn001.TriggeredOnce = false;
Context.MapSpawn.Particles.Lifetime = 0.0f;
Context.MapSpawn.Particles.Mass = 0.0f;
Context.MapSpawn.Particles.MaterialRandom = 0.0f;
Context.MapSpawn.Particles.MeshOrientation.x = 0.0f;
Context.MapSpawn.Particles.MeshOrientation.y = 0.0f;
Context.MapSpawn.Particles.MeshOrientation.z = 0.0f;
Context.MapSpawn.Particles.MeshOrientation.w = 0.0f;
Context.MapSpawn.Particles.NormalizedAge = 0.0f;
Context.MapSpawn.Particles.NumberOfCollisions = 0;
Context.MapSpawn.Particles.Position.x = 0.0f;
Context.MapSpawn.Particles.Position.y = 0.0f;
Context.MapSpawn.Particles.Position.z = 0.0f;
Context.MapSpawn.Particles.Previous.MeshOrientation.x = 0.0f;
Context.MapSpawn.Particles.Previous.MeshOrientation.y = 0.0f;
Context.MapSpawn.Particles.Previous.MeshOrientation.z = 0.0f;
Context.MapSpawn.Particles.Previous.MeshOrientation.w = 0.0f;
Context.MapSpawn.Particles.Previous.Position.x = 0.0f;
Context.MapSpawn.Particles.Previous.Position.y = 0.0f;
Context.MapSpawn.Particles.Previous.Position.z = 0.0f;
Context.MapSpawn.Particles.Previous.Scale.x = 0.0f;
Context.MapSpawn.Particles.Previous.Scale.y = 0.0f;
Context.MapSpawn.Particles.Previous.Scale.z = 0.0f;
Context.MapSpawn.Particles.Previous.Velocity.x = 0.0f;
Context.MapSpawn.Particles.Previous.Velocity.y = 0.0f;
Context.MapSpawn.Particles.Previous.Velocity.z = 0.0f;
Context.MapSpawn.Particles.RestCounter = 0.0f;
Context.MapSpawn.Particles.RotationalInertia = 0.0f;
Context.MapSpawn.Particles.RotationalVelocity.x = 0.0f;
Context.MapSpawn.Particles.RotationalVelocity.y = 0.0f;
Context.MapSpawn.Particles.RotationalVelocity.z = 0.0f;
Context.MapSpawn.Particles.Scale.x = 0.0f;
Context.MapSpawn.Particles.Scale.y = 0.0f;
Context.MapSpawn.Particles.Scale.z = 0.0f;
Context.MapSpawn.Particles.UniqueID = 0;
Context.MapSpawn.Particles.Velocity.x = 0.0f;
Context.MapSpawn.Particles.Velocity.y = 0.0f;
Context.MapSpawn.Particles.Velocity.z = 0.0f;
Context.MapSpawn.Particles.UniqueID = Engine_Emitter_TotalSpawnedParticles + ExecIndex();
Context.MapSpawn.Emitter.DistanceTraveled = Emitter_DistanceTraveled;
Context.MapSpawn.Engine.Owner.Position = Engine_Owner_Position;
Context.MapSpawn.Engine.Owner.Velocity = Engine_Owner_Velocity;
Context.MapSpawn.Engine.Owner.SystemLocalToWorld = Engine_Owner_SystemLocalToWorld;
Context.MapSpawn.Engine.Owner.SystemWorldToLocal = Engine_Owner_SystemWorldToLocal;
Context.MapSpawn.Engine.Owner.SystemLocalToWorldNoScale = Engine_Owner_SystemLocalToWorldNoScale;
Context.MapSpawn.Engine.Owner.SystemWorldToLocalNoScale = Engine_Owner_SystemWorldToLocalNoScale;
Context.MapSpawn.Emitter.RandomSeed = Emitter_RandomSeed;
Context.MapSpawn.Engine.System.TickCount = Engine_System_TickCount;
Context.MapUpdate.Engine.DeltaTime = Engine_DeltaTime;
Context.MapUpdate.Engine.Owner.SystemLocalToWorld = Engine_Owner_SystemLocalToWorld;
Context.MapUpdate.Engine.Owner.SystemWorldToLocal = Engine_Owner_SystemWorldToLocal;
Context.MapUpdate.Engine.Owner.SystemLocalToWorldNoScale = Engine_Owner_SystemLocalToWorldNoScale;
Context.MapUpdate.Engine.Owner.SystemWorldToLocalNoScale = Engine_Owner_SystemWorldToLocalNoScale;
Context.MapUpdate.Engine.Time = Engine_Time;
Context.MapUpdate.Engine.WorldDeltaTime = Engine_WorldDeltaTime;
Context.MapUpdate.Engine.InverseDeltaTime = Engine_InverseDeltaTime;
Context.MapUpdate.Engine.ExecutionCount = Engine_ExecutionCount;
Context.MapUpdate.Emitter.SpawnRate = Emitter_SpawnRate;
Context.MapUpdate.Emitter.SpawnInterval = Emitter_SpawnInterval;
Context.MapUpdate.Emitter.InterpSpawnStartDt = Emitter_InterpSpawnStartDt;
Context.MapUpdate.Emitter.SpawnGroup = Emitter_SpawnGroup;
Context.MapUpdate.Engine.Emitter.TotalSpawnedParticles = Engine_Emitter_TotalSpawnedParticles;
Context.MapUpdate.Emitter.RandomSeed = Emitter_RandomSeed;
Context.MapUpdate.Engine.Emitter.InstanceSeed = Engine_Emitter_InstanceSeed;
Context.MapUpdate.Engine.System.RandomSeed = Engine_System_RandomSeed;
ReadDataSets(Context);
InterpolateParameters(Context);
EnterStatScope(13 /**SpawnScript_MapSpawnMain*/);
SimulateMapSpawn(Context);
ExitStatScope(/**SpawnScript_MapSpawnMain*/);
//Begin Transfer of Attributes!
Context.MapUpdate.Particles = Context.MapSpawn.Particles;
Context.MapUpdate.Particles.Previous.Velocity = Context.MapSpawn.Particles.Velocity;
Context.MapUpdate.Particles.Previous.Position = Context.MapSpawn.Particles.Position;
//End Transfer of Attributes!
EnterStatScope(14 /**SpawnScript_MapUpdateMain*/);
SimulateMapUpdate(Context);
ExitStatScope(/**SpawnScript_MapUpdateMain*/);
WriteDataSets(Context);
{
bool bValid = Context.MapUpdate.DataInstance.Alive;
int TmpWriteIndex = OutputIndex(0, true, bValid);
OutputDataFloat(0, 0, TmpWriteIndex, Context.MapUpdate.Particles.Age);
OutputDataFloat(0, 1, TmpWriteIndex, Context.MapUpdate.Particles.Collision.AxisAngle.x);
OutputDataFloat(0, 2, TmpWriteIndex, Context.MapUpdate.Particles.Collision.AxisAngle.y);
OutputDataFloat(0, 3, TmpWriteIndex, Context.MapUpdate.Particles.Collision.AxisAngle.z);
OutputDataFloat(0, 4, TmpWriteIndex, Context.MapUpdate.Particles.Collision.AxisAngle.w);
OutputDataInt(0, 0, TmpWriteIndex, Context.MapUpdate.Particles.Collision.CollisionQueryAndResponse.CollisionID);
OutputDataInt(0, 1, TmpWriteIndex, Context.MapUpdate.Particles.Collision.CollisionQueryAndResponse001.CollisionID);
OutputDataBool(0, 2, TmpWriteIndex, Context.MapUpdate.Particles.Collision.DoOnce_fn001.TriggeredOnce);
OutputDataFloat(0, 5, TmpWriteIndex, Context.MapUpdate.Particles.Lifetime);
OutputDataFloat(0, 6, TmpWriteIndex, Context.MapUpdate.Particles.Mass);
OutputDataFloat(0, 7, TmpWriteIndex, Context.MapUpdate.Particles.MaterialRandom);
OutputDataFloat(0, 8, TmpWriteIndex, Context.MapUpdate.Particles.MeshOrientation.x);
OutputDataFloat(0, 9, TmpWriteIndex, Context.MapUpdate.Particles.MeshOrientation.y);
OutputDataFloat(0, 10, TmpWriteIndex, Context.MapUpdate.Particles.MeshOrientation.z);
OutputDataFloat(0, 11, TmpWriteIndex, Context.MapUpdate.Particles.MeshOrientation.w);
OutputDataFloat(0, 12, TmpWriteIndex, Context.MapUpdate.Particles.NormalizedAge);
OutputDataInt(0, 3, TmpWriteIndex, Context.MapUpdate.Particles.NumberOfCollisions);
OutputDataFloat(0, 13, TmpWriteIndex, Context.MapUpdate.Particles.Position.x);
OutputDataFloat(0, 14, TmpWriteIndex, Context.MapUpdate.Particles.Position.y);
OutputDataFloat(0, 15, TmpWriteIndex, Context.MapUpdate.Particles.Position.z);
OutputDataFloat(0, 16, TmpWriteIndex, Context.MapUpdate.Particles.Previous.MeshOrientation.x);
OutputDataFloat(0, 17, TmpWriteIndex, Context.MapUpdate.Particles.Previous.MeshOrientation.y);
OutputDataFloat(0, 18, TmpWriteIndex, Context.MapUpdate.Particles.Previous.MeshOrientation.z);
OutputDataFloat(0, 19, TmpWriteIndex, Context.MapUpdate.Particles.Previous.MeshOrientation.w);
OutputDataFloat(0, 20, TmpWriteIndex, Context.MapUpdate.Particles.Previous.Position.x);
OutputDataFloat(0, 21, TmpWriteIndex, Context.MapUpdate.Particles.Previous.Position.y);
OutputDataFloat(0, 22, TmpWriteIndex, Context.MapUpdate.Particles.Previous.Position.z);
OutputDataFloat(0, 23, TmpWriteIndex, Context.MapUpdate.Particles.Previous.Scale.x);
OutputDataFloat(0, 24, TmpWriteIndex, Context.MapUpdate.Particles.Previous.Scale.y);
OutputDataFloat(0, 25, TmpWriteIndex, Context.MapUpdate.Particles.Previous.Scale.z);
OutputDataFloat(0, 26, TmpWriteIndex, Context.MapUpdate.Particles.Previous.Velocity.x);
OutputDataFloat(0, 27, TmpWriteIndex, Context.MapUpdate.Particles.Previous.Velocity.y);
OutputDataFloat(0, 28, TmpWriteIndex, Context.MapUpdate.Particles.Previous.Velocity.z);
OutputDataFloat(0, 29, TmpWriteIndex, Context.MapUpdate.Particles.RestCounter);
OutputDataFloat(0, 30, TmpWriteIndex, Context.MapUpdate.Particles.RotationalInertia);
OutputDataFloat(0, 31, TmpWriteIndex, Context.MapUpdate.Particles.RotationalVelocity.x);
OutputDataFloat(0, 32, TmpWriteIndex, Context.MapUpdate.Particles.RotationalVelocity.y);
OutputDataFloat(0, 33, TmpWriteIndex, Context.MapUpdate.Particles.RotationalVelocity.z);
OutputDataFloat(0, 34, TmpWriteIndex, Context.MapUpdate.Particles.Scale.x);
OutputDataFloat(0, 35, TmpWriteIndex, Context.MapUpdate.Particles.Scale.y);
OutputDataFloat(0, 36, TmpWriteIndex, Context.MapUpdate.Particles.Scale.z);
OutputDataInt(0, 4, TmpWriteIndex, Context.MapUpdate.Particles.UniqueID);
OutputDataFloat(0, 37, TmpWriteIndex, Context.MapUpdate.Particles.Velocity.x);
OutputDataFloat(0, 38, TmpWriteIndex, Context.MapUpdate.Particles.Velocity.y);
OutputDataFloat(0, 39, TmpWriteIndex, Context.MapUpdate.Particles.Velocity.z);
}
ExitStatScope(/**SpawnScript_Main*/);
}
q<00>7<>3<>
-------------------------------
Summary
-------------------------------
Num Byte Code Ops: 993
Num Constants: 373
-------------------------------
Constant Table
-------------------------------
0 | Engine_WorldDeltaTime
4 | Engine_DeltaTime
8 | Engine_InverseDeltaTime
12 | Engine_Time
16 | Engine_RealTime
20 | Engine_QualityLevel
24 | Engine_PaddingInt32_0
28 | Engine_PaddingInt32_1
32 | Engine_Owner_TimeSinceRendered
36 | Engine_Owner_LODDistance
40 | Engine_Owner_LODDistanceFraction
44 | Engine_System_Age
48 | Engine_Owner_ExecutionState
52 | Engine_System_TickCount
56 | Engine_System_NumEmitters
60 | Engine_System_NumEmittersAlive
64 | Engine_System_SignificanceIndex
68 | Engine_System_RandomSeed
72 | Engine_System_CurrentTimeStep
76 | Engine_System_NumTimeSteps
80 | Engine_System_TimeStepFraction
84 | Engine_System_NumParticles
88 | Engine_System_PaddingInt32_0
92 | Engine_System_PaddingInt32_1
96 | Engine_Owner_SystemLocalToWorldRow0x
100 | Engine_Owner_SystemLocalToWorldRow0y
104 | Engine_Owner_SystemLocalToWorldRow0z
108 | Engine_Owner_SystemLocalToWorldRow0w
112 | Engine_Owner_SystemLocalToWorldRow1x
116 | Engine_Owner_SystemLocalToWorldRow1y
120 | Engine_Owner_SystemLocalToWorldRow1z
124 | Engine_Owner_SystemLocalToWorldRow1w
128 | Engine_Owner_SystemLocalToWorldRow2x
132 | Engine_Owner_SystemLocalToWorldRow2y
136 | Engine_Owner_SystemLocalToWorldRow2z
140 | Engine_Owner_SystemLocalToWorldRow2w
144 | Engine_Owner_SystemLocalToWorldRow3x
148 | Engine_Owner_SystemLocalToWorldRow3y
152 | Engine_Owner_SystemLocalToWorldRow3z
156 | Engine_Owner_SystemLocalToWorldRow3w
160 | Engine_Owner_SystemWorldToLocalRow0x
164 | Engine_Owner_SystemWorldToLocalRow0y
168 | Engine_Owner_SystemWorldToLocalRow0z
172 | Engine_Owner_SystemWorldToLocalRow0w
176 | Engine_Owner_SystemWorldToLocalRow1x
180 | Engine_Owner_SystemWorldToLocalRow1y
184 | Engine_Owner_SystemWorldToLocalRow1z
188 | Engine_Owner_SystemWorldToLocalRow1w
192 | Engine_Owner_SystemWorldToLocalRow2x
196 | Engine_Owner_SystemWorldToLocalRow2y
200 | Engine_Owner_SystemWorldToLocalRow2z
204 | Engine_Owner_SystemWorldToLocalRow2w
208 | Engine_Owner_SystemWorldToLocalRow3x
212 | Engine_Owner_SystemWorldToLocalRow3y
216 | Engine_Owner_SystemWorldToLocalRow3z
220 | Engine_Owner_SystemWorldToLocalRow3w
224 | Engine_Owner_SystemLocalToWorldTransposedRow0x
228 | Engine_Owner_SystemLocalToWorldTransposedRow0y
232 | Engine_Owner_SystemLocalToWorldTransposedRow0z
236 | Engine_Owner_SystemLocalToWorldTransposedRow0w
240 | Engine_Owner_SystemLocalToWorldTransposedRow1x
244 | Engine_Owner_SystemLocalToWorldTransposedRow1y
248 | Engine_Owner_SystemLocalToWorldTransposedRow1z
252 | Engine_Owner_SystemLocalToWorldTransposedRow1w
256 | Engine_Owner_SystemLocalToWorldTransposedRow2x
260 | Engine_Owner_SystemLocalToWorldTransposedRow2y
264 | Engine_Owner_SystemLocalToWorldTransposedRow2z
268 | Engine_Owner_SystemLocalToWorldTransposedRow2w
272 | Engine_Owner_SystemLocalToWorldTransposedRow3x
276 | Engine_Owner_SystemLocalToWorldTransposedRow3y
280 | Engine_Owner_SystemLocalToWorldTransposedRow3z
284 | Engine_Owner_SystemLocalToWorldTransposedRow3w
288 | Engine_Owner_SystemWorldToLocalTransposedRow0x
292 | Engine_Owner_SystemWorldToLocalTransposedRow0y
296 | Engine_Owner_SystemWorldToLocalTransposedRow0z
300 | Engine_Owner_SystemWorldToLocalTransposedRow0w
304 | Engine_Owner_SystemWorldToLocalTransposedRow1x
308 | Engine_Owner_SystemWorldToLocalTransposedRow1y
312 | Engine_Owner_SystemWorldToLocalTransposedRow1z
316 | Engine_Owner_SystemWorldToLocalTransposedRow1w
320 | Engine_Owner_SystemWorldToLocalTransposedRow2x
324 | Engine_Owner_SystemWorldToLocalTransposedRow2y
328 | Engine_Owner_SystemWorldToLocalTransposedRow2z
332 | Engine_Owner_SystemWorldToLocalTransposedRow2w
336 | Engine_Owner_SystemWorldToLocalTransposedRow3x
340 | Engine_Owner_SystemWorldToLocalTransposedRow3y
344 | Engine_Owner_SystemWorldToLocalTransposedRow3z
348 | Engine_Owner_SystemWorldToLocalTransposedRow3w
352 | Engine_Owner_SystemLocalToWorldNoScaleRow0x
356 | Engine_Owner_SystemLocalToWorldNoScaleRow0y
360 | Engine_Owner_SystemLocalToWorldNoScaleRow0z
364 | Engine_Owner_SystemLocalToWorldNoScaleRow0w
368 | Engine_Owner_SystemLocalToWorldNoScaleRow1x
372 | Engine_Owner_SystemLocalToWorldNoScaleRow1y
376 | Engine_Owner_SystemLocalToWorldNoScaleRow1z
380 | Engine_Owner_SystemLocalToWorldNoScaleRow1w
384 | Engine_Owner_SystemLocalToWorldNoScaleRow2x
388 | Engine_Owner_SystemLocalToWorldNoScaleRow2y
392 | Engine_Owner_SystemLocalToWorldNoScaleRow2z
396 | Engine_Owner_SystemLocalToWorldNoScaleRow2w
400 | Engine_Owner_SystemLocalToWorldNoScaleRow3x
404 | Engine_Owner_SystemLocalToWorldNoScaleRow3y
408 | Engine_Owner_SystemLocalToWorldNoScaleRow3z
412 | Engine_Owner_SystemLocalToWorldNoScaleRow3w
416 | Engine_Owner_SystemWorldToLocalNoScaleRow0x
420 | Engine_Owner_SystemWorldToLocalNoScaleRow0y
424 | Engine_Owner_SystemWorldToLocalNoScaleRow0z
428 | Engine_Owner_SystemWorldToLocalNoScaleRow0w
432 | Engine_Owner_SystemWorldToLocalNoScaleRow1x
436 | Engine_Owner_SystemWorldToLocalNoScaleRow1y
440 | Engine_Owner_SystemWorldToLocalNoScaleRow1z
444 | Engine_Owner_SystemWorldToLocalNoScaleRow1w
448 | Engine_Owner_SystemWorldToLocalNoScaleRow2x
452 | Engine_Owner_SystemWorldToLocalNoScaleRow2y
456 | Engine_Owner_SystemWorldToLocalNoScaleRow2z
460 | Engine_Owner_SystemWorldToLocalNoScaleRow2w
464 | Engine_Owner_SystemWorldToLocalNoScaleRow3x
468 | Engine_Owner_SystemWorldToLocalNoScaleRow3y
472 | Engine_Owner_SystemWorldToLocalNoScaleRow3z
476 | Engine_Owner_SystemWorldToLocalNoScaleRow3w
480 | Engine_Owner_Rotationx
484 | Engine_Owner_Rotationy
488 | Engine_Owner_Rotationz
492 | Engine_Owner_Rotationw
496 | Engine_Owner_Positionx
500 | Engine_Owner_Positiony
504 | Engine_Owner_Positionz
508 | Engine_Owner_PaddingInt32_0
512 | Engine_Owner_Velocityx
516 | Engine_Owner_Velocityy
520 | Engine_Owner_Velocityz
524 | Engine_Owner_PaddingInt32_1
528 | Engine_Owner_SystemXAxisx
532 | Engine_Owner_SystemXAxisy
536 | Engine_Owner_SystemXAxisz
540 | Engine_Owner_PaddingInt32_2
544 | Engine_Owner_SystemYAxisx
548 | Engine_Owner_SystemYAxisy
552 | Engine_Owner_SystemYAxisz
556 | Engine_Owner_PaddingInt32_3
560 | Engine_Owner_SystemZAxisx
564 | Engine_Owner_SystemZAxisy
568 | Engine_Owner_SystemZAxisz
572 | Engine_Owner_PaddingInt32_4
576 | Engine_Owner_Scalex
580 | Engine_Owner_Scaley
584 | Engine_Owner_Scalez
588 | Engine_Owner_PaddingInt32_5
592 | Engine_Owner_LWCTilex
596 | Engine_Owner_LWCTiley
600 | Engine_Owner_LWCTilez
604 | Engine_Owner_LWCTilew
608 | Engine_Emitter_NumParticles
612 | Engine_Emitter_TotalSpawnedParticles
616 | Engine_Emitter_SpawnCountScale
620 | Emitter_Age
624 | Emitter_RandomSeed
628 | Engine_Emitter_InstanceSeed
632 | Engine_Emitter_PaddingInt32_0
636 | Engine_Emitter_PaddingInt32_1
640 | Emitter_DistanceTraveled
644 | Engine_ExecutionCount
648 | Emitter_SpawnRate
652 | Emitter_SpawnInterval
656 | Emitter_InterpSpawnStartDt
660 | Emitter_SpawnGroup
664 | PREV_Engine_WorldDeltaTime
668 | PREV_Engine_DeltaTime
672 | PREV_Engine_InverseDeltaTime
676 | PREV_Engine_Time
680 | PREV_Engine_RealTime
684 | PREV_Engine_QualityLevel
688 | PREV_Engine_PaddingInt32_0
692 | PREV_Engine_PaddingInt32_1
696 | PREV_Engine_Owner_TimeSinceRendered
700 | PREV_Engine_Owner_LODDistance
704 | PREV_Engine_Owner_LODDistanceFraction
708 | PREV_Engine_System_Age
712 | PREV_Engine_Owner_ExecutionState
716 | PREV_Engine_System_TickCount
720 | PREV_Engine_System_NumEmitters
724 | PREV_Engine_System_NumEmittersAlive
728 | PREV_Engine_System_SignificanceIndex
732 | PREV_Engine_System_RandomSeed
736 | PREV_Engine_System_CurrentTimeStep
740 | PREV_Engine_System_NumTimeSteps
744 | PREV_Engine_System_TimeStepFraction
748 | PREV_Engine_System_NumParticles
752 | PREV_Engine_System_PaddingInt32_0
756 | PREV_Engine_System_PaddingInt32_1
760 | PREV_Engine_Owner_SystemLocalToWorldRow0x
764 | PREV_Engine_Owner_SystemLocalToWorldRow0y
768 | PREV_Engine_Owner_SystemLocalToWorldRow0z
772 | PREV_Engine_Owner_SystemLocalToWorldRow0w
776 | PREV_Engine_Owner_SystemLocalToWorldRow1x
780 | PREV_Engine_Owner_SystemLocalToWorldRow1y
784 | PREV_Engine_Owner_SystemLocalToWorldRow1z
788 | PREV_Engine_Owner_SystemLocalToWorldRow1w
792 | PREV_Engine_Owner_SystemLocalToWorldRow2x
796 | PREV_Engine_Owner_SystemLocalToWorldRow2y
800 | PREV_Engine_Owner_SystemLocalToWorldRow2z
804 | PREV_Engine_Owner_SystemLocalToWorldRow2w
808 | PREV_Engine_Owner_SystemLocalToWorldRow3x
812 | PREV_Engine_Owner_SystemLocalToWorldRow3y
816 | PREV_Engine_Owner_SystemLocalToWorldRow3z
820 | PREV_Engine_Owner_SystemLocalToWorldRow3w
824 | PREV_Engine_Owner_SystemWorldToLocalRow0x
828 | PREV_Engine_Owner_SystemWorldToLocalRow0y
832 | PREV_Engine_Owner_SystemWorldToLocalRow0z
836 | PREV_Engine_Owner_SystemWorldToLocalRow0w
840 | PREV_Engine_Owner_SystemWorldToLocalRow1x
844 | PREV_Engine_Owner_SystemWorldToLocalRow1y
848 | PREV_Engine_Owner_SystemWorldToLocalRow1z
852 | PREV_Engine_Owner_SystemWorldToLocalRow1w
856 | PREV_Engine_Owner_SystemWorldToLocalRow2x
860 | PREV_Engine_Owner_SystemWorldToLocalRow2y
864 | PREV_Engine_Owner_SystemWorldToLocalRow2z
868 | PREV_Engine_Owner_SystemWorldToLocalRow2w
872 | PREV_Engine_Owner_SystemWorldToLocalRow3x
876 | PREV_Engine_Owner_SystemWorldToLocalRow3y
880 | PREV_Engine_Owner_SystemWorldToLocalRow3z
884 | PREV_Engine_Owner_SystemWorldToLocalRow3w
888 | PREV_Engine_Owner_SystemLocalToWorldTransposedRow0x
892 | PREV_Engine_Owner_SystemLocalToWorldTransposedRow0y
896 | PREV_Engine_Owner_SystemLocalToWorldTransposedRow0z
900 | PREV_Engine_Owner_SystemLocalToWorldTransposedRow0w
904 | PREV_Engine_Owner_SystemLocalToWorldTransposedRow1x
908 | PREV_Engine_Owner_SystemLocalToWorldTransposedRow1y
912 | PREV_Engine_Owner_SystemLocalToWorldTransposedRow1z
916 | PREV_Engine_Owner_SystemLocalToWorldTransposedRow1w
920 | PREV_Engine_Owner_SystemLocalToWorldTransposedRow2x
924 | PREV_Engine_Owner_SystemLocalToWorldTransposedRow2y
928 | PREV_Engine_Owner_SystemLocalToWorldTransposedRow2z
932 | PREV_Engine_Owner_SystemLocalToWorldTransposedRow2w
936 | PREV_Engine_Owner_SystemLocalToWorldTransposedRow3x
940 | PREV_Engine_Owner_SystemLocalToWorldTransposedRow3y
944 | PREV_Engine_Owner_SystemLocalToWorldTransposedRow3z
948 | PREV_Engine_Owner_SystemLocalToWorldTransposedRow3w
952 | PREV_Engine_Owner_SystemWorldToLocalTransposedRow0x
956 | PREV_Engine_Owner_SystemWorldToLocalTransposedRow0y
960 | PREV_Engine_Owner_SystemWorldToLocalTransposedRow0z
964 | PREV_Engine_Owner_SystemWorldToLocalTransposedRow0w
968 | PREV_Engine_Owner_SystemWorldToLocalTransposedRow1x
972 | PREV_Engine_Owner_SystemWorldToLocalTransposedRow1y
976 | PREV_Engine_Owner_SystemWorldToLocalTransposedRow1z
980 | PREV_Engine_Owner_SystemWorldToLocalTransposedRow1w
984 | PREV_Engine_Owner_SystemWorldToLocalTransposedRow2x
988 | PREV_Engine_Owner_SystemWorldToLocalTransposedRow2y
992 | PREV_Engine_Owner_SystemWorldToLocalTransposedRow2z
996 | PREV_Engine_Owner_SystemWorldToLocalTransposedRow2w
1000 | PREV_Engine_Owner_SystemWorldToLocalTransposedRow3x
1004 | PREV_Engine_Owner_SystemWorldToLocalTransposedRow3y
1008 | PREV_Engine_Owner_SystemWorldToLocalTransposedRow3z
1012 | PREV_Engine_Owner_SystemWorldToLocalTransposedRow3w
1016 | PREV_Engine_Owner_SystemLocalToWorldNoScaleRow0x
1020 | PREV_Engine_Owner_SystemLocalToWorldNoScaleRow0y
1024 | PREV_Engine_Owner_SystemLocalToWorldNoScaleRow0z
1028 | PREV_Engine_Owner_SystemLocalToWorldNoScaleRow0w
1032 | PREV_Engine_Owner_SystemLocalToWorldNoScaleRow1x
1036 | PREV_Engine_Owner_SystemLocalToWorldNoScaleRow1y
1040 | PREV_Engine_Owner_SystemLocalToWorldNoScaleRow1z
1044 | PREV_Engine_Owner_SystemLocalToWorldNoScaleRow1w
1048 | PREV_Engine_Owner_SystemLocalToWorldNoScaleRow2x
1052 | PREV_Engine_Owner_SystemLocalToWorldNoScaleRow2y
1056 | PREV_Engine_Owner_SystemLocalToWorldNoScaleRow2z
1060 | PREV_Engine_Owner_SystemLocalToWorldNoScaleRow2w
1064 | PREV_Engine_Owner_SystemLocalToWorldNoScaleRow3x
1068 | PREV_Engine_Owner_SystemLocalToWorldNoScaleRow3y
1072 | PREV_Engine_Owner_SystemLocalToWorldNoScaleRow3z
1076 | PREV_Engine_Owner_SystemLocalToWorldNoScaleRow3w
1080 | PREV_Engine_Owner_SystemWorldToLocalNoScaleRow0x
1084 | PREV_Engine_Owner_SystemWorldToLocalNoScaleRow0y
1088 | PREV_Engine_Owner_SystemWorldToLocalNoScaleRow0z
1092 | PREV_Engine_Owner_SystemWorldToLocalNoScaleRow0w
1096 | PREV_Engine_Owner_SystemWorldToLocalNoScaleRow1x
1100 | PREV_Engine_Owner_SystemWorldToLocalNoScaleRow1y
1104 | PREV_Engine_Owner_SystemWorldToLocalNoScaleRow1z
1108 | PREV_Engine_Owner_SystemWorldToLocalNoScaleRow1w
1112 | PREV_Engine_Owner_SystemWorldToLocalNoScaleRow2x
1116 | PREV_Engine_Owner_SystemWorldToLocalNoScaleRow2y
1120 | PREV_Engine_Owner_SystemWorldToLocalNoScaleRow2z
1124 | PREV_Engine_Owner_SystemWorldToLocalNoScaleRow2w
1128 | PREV_Engine_Owner_SystemWorldToLocalNoScaleRow3x
1132 | PREV_Engine_Owner_SystemWorldToLocalNoScaleRow3y
1136 | PREV_Engine_Owner_SystemWorldToLocalNoScaleRow3z
1140 | PREV_Engine_Owner_SystemWorldToLocalNoScaleRow3w
1144 | PREV_Engine_Owner_Rotationx
1148 | PREV_Engine_Owner_Rotationy
1152 | PREV_Engine_Owner_Rotationz
1156 | PREV_Engine_Owner_Rotationw
1160 | PREV_Engine_Owner_Positionx
1164 | PREV_Engine_Owner_Positiony
1168 | PREV_Engine_Owner_Positionz
1172 | PREV_Engine_Owner_PaddingInt32_0
1176 | PREV_Engine_Owner_Velocityx
1180 | PREV_Engine_Owner_Velocityy
1184 | PREV_Engine_Owner_Velocityz
1188 | PREV_Engine_Owner_PaddingInt32_1
1192 | PREV_Engine_Owner_SystemXAxisx
1196 | PREV_Engine_Owner_SystemXAxisy
1200 | PREV_Engine_Owner_SystemXAxisz
1204 | PREV_Engine_Owner_PaddingInt32_2
1208 | PREV_Engine_Owner_SystemYAxisx
1212 | PREV_Engine_Owner_SystemYAxisy
1216 | PREV_Engine_Owner_SystemYAxisz
1220 | PREV_Engine_Owner_PaddingInt32_3
1224 | PREV_Engine_Owner_SystemZAxisx
1228 | PREV_Engine_Owner_SystemZAxisy
1232 | PREV_Engine_Owner_SystemZAxisz
1236 | PREV_Engine_Owner_PaddingInt32_4
1240 | PREV_Engine_Owner_Scalex
1244 | PREV_Engine_Owner_Scaley
1248 | PREV_Engine_Owner_Scalez
1252 | PREV_Engine_Owner_PaddingInt32_5
1256 | PREV_Engine_Owner_LWCTilex
1260 | PREV_Engine_Owner_LWCTiley
1264 | PREV_Engine_Owner_LWCTilez
1268 | PREV_Engine_Owner_LWCTilew
1272 | PREV_Engine_Emitter_NumParticles
1276 | PREV_Engine_Emitter_TotalSpawnedParticles
1280 | PREV_Engine_Emitter_SpawnCountScale
1284 | PREV_Emitter_Age
1288 | PREV_Emitter_RandomSeed
1292 | PREV_Engine_Emitter_InstanceSeed
1296 | PREV_Engine_Emitter_PaddingInt32_0
1300 | PREV_Engine_Emitter_PaddingInt32_1
1304 | PREV_Emitter_DistanceTraveled
1308 | PREV_Engine_ExecutionCount
1312 | PREV_Emitter_SpawnRate
1316 | PREV_Emitter_SpawnInterval
1320 | PREV_Emitter_InterpSpawnStartDt
1324 | PREV_Emitter_SpawnGroup
1328 | 12
1332 | 13
1336 | 1
1340 | 2
1344 | 0.5
1348 | 3
1352 | 9.99999944e-11
1356 | 0
1360 | 0
1364 | 9.99999997e-07
1368 | -1
1372 | 4
1376 | 6.28318548
1380 | 0.414213568
1384 | 2
1388 | 300
1392 | 20
1396 | -10
1400 | 5
1404 | 14
1408 | 6
1412 | 4.99989986
1416 | True
1420 | False
1424 | 5
1428 | 9
1432 | -10000000
1436 | -980
1440 | 2.59807611
1444 | 500
1448 | 1
1452 | -1.00000003e+16
1456 | 0.100000001
1460 | 0.600000024
1464 | -0.00999999978
1468 | 0.00999999978
1472 | 0.25
1476 | 100
1480 | -0.5
1484 | 16.324194
1488 | 10
-------------------------------
Byte Code (993 Ops)
-------------------------------
0 | enter_stat_scope(C[1328]);
1 | R[0] = exec_index;
2 | R[1] = addi(C[612], R[0]);
3 | R[0] = exec_index;
4 | R[2] = i2f(R[0]);
5 | R[0] = mad(C[652], R[2], C[656]);
6 | R[2] = sub(C[4], R[0]);
7 | R[3] = mul(R[0], C[8]);
8 | R[0] = lerp(C[1160], C[496], R[3]);
9 | R[4] = lerp(C[1164], C[500], R[3]);
10 | R[5] = lerp(C[1168], C[504], R[3]);
11 | R[6] = lerp(C[1176], C[512], R[3]);
12 | R[7] = lerp(C[1180], C[516], R[3]);
13 | R[8] = lerp(C[1184], C[520], R[3]);
14 | enter_stat_scope(C[1332]);
15 | R[3] = random(C[1336]);
16 | enter_stat_scope(C[1340]);
17 | R[9] = mul(C[1344], R[6]);
18 | R[6] = mul(C[1344], R[7]);
19 | R[7] = mul(C[1344], R[8]);
20 | exit_stat_scope();
21 | enter_stat_scope(C[1348]);
22 | R[8] = mul(C[356], C[356]);
23 | R[10] = mad(C[352], C[352], R[8]);
24 | R[8] = mad(C[360], C[360], R[10]);
25 | R[10] = cmplt(R[8], C[1352]);
26 | R[11] = rsq(R[8]);
27 | R[8] = mul(C[352], R[11]);
28 | R[12] = mul(C[356], R[11]);
29 | R[13] = mul(C[360], R[11]);
30 | R[11] = b2i(R[10]);
31 | R[10] = cmpeqi(R[11], C[1356]);
32 | R[11] = select(R[10], R[8], C[1336]);
33 | R[8] = select(R[10], R[12], C[1360]);
34 | R[12] = select(R[10], R[13], C[1360]);
35 | R[10] = mul(R[8], R[8]);
36 | R[13] = mad(R[11], R[11], R[10]);
37 | R[10] = mad(R[12], R[12], R[13]);
38 | R[13] = sqrt(R[10]);
39 | R[10] = add(R[12], R[13]);
40 | R[12] = neg(R[8]);
41 | R[8] = mul(C[1364], R[13]);
42 | R[14] = cmpge(R[10], R[8]);
43 | R[8] = select(R[14], R[12], C[1360]);
44 | R[12] = select(R[14], R[11], C[1368]);
45 | R[11] = select(R[14], C[1360], C[1360]);
46 | R[15] = select(R[14], R[10], C[1360]);
47 | R[10] = cmplt(R[13], C[1364]);
48 | R[13] = mul(R[12], R[12]);
49 | R[14] = mad(R[8], R[8], R[13]);
50 | R[13] = mad(R[11], R[11], R[14]);
51 | R[14] = mad(R[15], R[15], R[13]);
52 | R[13] = rsq(R[14]);
53 | R[14] = mul(R[8], R[13]);
54 | R[8] = mul(R[12], R[13]);
55 | R[12] = mul(R[11], R[13]);
56 | R[11] = mul(R[15], R[13]);
57 | R[13] = select(R[10], C[1360], R[14]);
58 | R[14] = select(R[10], C[1360], R[8]);
59 | R[8] = select(R[10], C[1360], R[12]);
60 | R[12] = select(R[10], C[1336], R[11]);
61 | R[10] = add(R[13], C[1360]);
62 | R[11] = mad(C[1360], C[1368], C[1360]);
63 | R[13] = add(C[1360], C[1360]);
64 | R[15] = mad(C[1360], C[1368], R[12]);
65 | R[12] = add(C[1360], R[10]);
66 | R[10] = add(R[14], R[11]);
67 | R[11] = mad(C[1360], C[1368], R[13]);
68 | R[13] = mad(C[1360], C[1368], R[15]);
69 | R[14] = mad(C[1360], C[1368], R[12]);
70 | R[12] = add(C[1360], R[10]);
71 | R[10] = add(R[8], R[11]);
72 | R[8] = mad(C[1360], C[1368], R[13]);
73 | exit_stat_scope();
74 | enter_stat_scope(C[1372]);
75 | R[11] = random(C[1336]);
76 | R[13] = random(C[1336]);
77 | R[15] = max(C[1360], R[13]);
78 | R[13] = pow(R[15], C[1344]);
79 | R[15] = random(C[1336]);
80 | R[16] = mul(R[15], C[1376]);
81 | R[17] = cos(R[16]);
82 | R[16] = mul(R[11], R[17]);
83 | R[17] = mul(R[15], C[1376]);
84 | R[15] = sin(R[17]);
85 | R[17] = mul(R[11], R[15]);
86 | R[15] = mul(C[1380], R[16]);
87 | R[16] = mul(C[1380], R[17]);
88 | R[17] = mul(R[13], R[15]);
89 | R[15] = mul(R[13], R[16]);
90 | R[13] = mul(R[17], R[17]);
91 | R[16] = mad(R[11], R[11], R[13]);
92 | R[13] = mad(R[15], R[15], R[16]);
93 | R[16] = cmplt(R[13], C[1352]);
94 | R[18] = rsq(R[13]);
95 | R[13] = mul(R[11], R[18]);
96 | R[11] = mul(R[17], R[18]);
97 | R[17] = mul(R[15], R[18]);
98 | R[15] = b2i(R[16]);
99 | R[16] = cmpeqi(R[15], C[1356]);
100 | R[15] = select(R[16], R[13], C[1336]);
101 | R[13] = select(R[16], R[11], C[1360]);
102 | R[11] = select(R[16], R[17], C[1360]);
103 | R[16] = mul(C[372], C[372]);
104 | R[17] = mad(C[368], C[368], R[16]);
105 | R[16] = mad(C[376], C[376], R[17]);
106 | R[17] = cmplt(R[16], C[1352]);
107 | R[18] = rsq(R[16]);
108 | R[16] = mul(C[368], R[18]);
109 | R[19] = mul(C[372], R[18]);
110 | R[20] = mul(C[376], R[18]);
111 | R[18] = b2i(R[17]);
112 | R[17] = cmpeqi(R[18], C[1356]);
113 | R[18] = select(R[17], R[16], C[1336]);
114 | R[16] = select(R[17], R[19], C[1360]);
115 | R[19] = select(R[17], R[20], C[1360]);
116 | R[17] = mul(R[16], R[16]);
117 | R[20] = mad(R[18], R[18], R[17]);
118 | R[17] = mad(R[19], R[19], R[20]);
119 | R[20] = sqrt(R[17]);
120 | R[17] = add(R[18], R[20]);
121 | R[18] = neg(R[19]);
122 | R[19] = mul(C[1364], R[20]);
123 | R[21] = cmpge(R[17], R[19]);
124 | R[19] = select(R[21], C[1360], C[1360]);
125 | R[22] = select(R[21], R[18], C[1360]);
126 | R[18] = select(R[21], R[16], C[1336]);
127 | R[16] = select(R[21], R[17], C[1360]);
128 | R[17] = cmplt(R[20], C[1364]);
129 | R[20] = mul(R[22], R[22]);
130 | R[21] = mad(R[19], R[19], R[20]);
131 | R[20] = mad(R[18], R[18], R[21]);
132 | R[21] = mad(R[16], R[16], R[20]);
133 | R[20] = rsq(R[21]);
134 | R[21] = mul(R[19], R[20]);
135 | R[19] = mul(R[22], R[20]);
136 | R[22] = mul(R[18], R[20]);
137 | R[18] = mul(R[16], R[20]);
138 | R[16] = select(R[17], C[1360], R[21]);
139 | R[20] = select(R[17], C[1360], R[19]);
140 | R[19] = select(R[17], C[1360], R[22]);
141 | R[21] = select(R[17], C[1336], R[18]);
142 | R[17] = mul(R[20], R[11]);
143 | R[18] = mul(R[19], R[13]);
144 | R[22] = sub(R[17], R[18]);
145 | R[17] = mul(R[19], R[15]);
146 | R[18] = mul(R[16], R[11]);
147 | R[23] = sub(R[17], R[18]);
148 | R[17] = mul(R[16], R[13]);
149 | R[18] = mul(R[20], R[15]);
150 | R[24] = sub(R[17], R[18]);
151 | R[17] = mul(R[21], C[1384]);
152 | R[18] = mul(R[20], R[13]);
153 | R[25] = mad(R[16], R[15], R[18]);
154 | R[18] = mad(R[19], R[11], R[25]);
155 | R[25] = mul(R[18], C[1384]);
156 | R[18] = mul(R[21], R[21]);
157 | R[21] = mul(R[20], R[20]);
158 | R[26] = mad(R[16], R[16], R[21]);
159 | R[21] = mad(R[19], R[19], R[26]);
160 | R[26] = sub(R[18], R[21]);
161 | R[18] = mul(R[26], R[15]);
162 | R[15] = mul(R[26], R[13]);
163 | R[13] = mul(R[26], R[11]);
164 | R[11] = mad(R[16], R[25], R[18]);
165 | R[16] = mad(R[20], R[25], R[15]);
166 | R[15] = mad(R[19], R[25], R[13]);
167 | R[13] = mad(R[22], R[17], R[11]);
168 | R[11] = mad(R[23], R[17], R[16]);
169 | R[16] = mad(R[24], R[17], R[15]);
170 | R[15] = mad(R[13], C[1388], R[9]);
171 | R[9] = mad(R[11], C[1388], R[6]);
172 | R[6] = mad(R[16], C[1388], R[7]);
173 | exit_stat_scope();
174 | R[7] = random(C[1392]);
175 | R[11] = random(C[1392]);
176 | R[13] = random(C[1392]);
177 | R[16] = add(C[1396], R[7]);
178 | R[7] = add(C[1396], R[11]);
179 | R[11] = add(C[1396], R[13]);
180 | enter_stat_scope(C[1400]);
181 | R[13] = mul(R[16], C[1376]);
182 | R[16] = mul(R[7], C[1376]);
183 | R[7] = mul(R[11], C[1376]);
184 | exit_stat_scope();
185 | exit_stat_scope();
186 | enter_stat_scope(C[1404]);
187 | enter_stat_scope(C[1408]);
188 | R[11] = cmple(C[1360], R[2]);
189 | R[17] = cmplt(R[2], C[1412]);
190 | R[18] = select(R[17], C[1416], C[1420]);
191 | R[17] = div(R[2], C[1424]);
192 | exit_stat_scope();
193 | enter_stat_scope(C[1428]);
194 | R[19] = b2i(R[11]);
195 | R[11] = cmpeqi(R[19], C[1356]);
196 | R[19] = select(R[11], C[1360], C[1432]);
197 | R[11] = mul(C[1436], R[2]);
198 | R[20] = add(C[1360], R[15]);
199 | R[21] = add(C[1360], R[9]);
200 | R[22] = add(R[11], R[6]);
201 | R[23] = add(R[2], C[1336]);
202 | R[24] = div(R[20], R[23]);
203 | R[20] = div(R[21], R[23]);
204 | R[21] = div(R[22], R[23]);
205 | R[22] = mul(R[24], R[2]);
206 | R[23] = mul(R[20], R[2]);
207 | R[20] = mul(R[21], R[2]);
208 | R[21] = mul(C[1360], C[1360]);
209 | R[24] = mad(C[1360], C[1360], R[21]);
210 | R[21] = mad(R[11], R[11], R[24]);
211 | R[24] = cmplt(R[21], C[1352]);
212 | R[25] = rsq(R[21]);
213 | R[21] = mul(C[1360], R[25]);
214 | R[26] = mul(C[1360], R[25]);
215 | R[27] = mul(R[11], R[25]);
216 | R[25] = b2i(R[24]);
217 | R[24] = cmpeqi(R[25], C[1356]);
218 | R[25] = select(R[24], R[21], C[1360]);
219 | R[21] = select(R[24], R[26], C[1360]);
220 | R[26] = select(R[24], R[27], C[1368]);
221 | R[24] = mul(R[25], C[1440]);
222 | R[25] = mul(R[21], C[1440]);
223 | R[21] = mul(R[26], C[1440]);
224 | R[26] = sub(R[0], R[24]);
225 | R[27] = sub(R[4], R[25]);
226 | R[28] = sub(R[5], R[21]);
227 | R[29] = mad(C[1424], C[1360], R[24]);
228 | R[24] = mad(C[1424], C[1360], R[25]);
229 | R[25] = mad(C[1424], R[11], R[21]);
230 | R[11] = mul(R[24], R[24]);
231 | R[21] = mad(R[29], R[29], R[11]);
232 | R[11] = mad(R[25], R[25], R[21]);
233 | R[21] = cmplt(R[11], C[1352]);
234 | R[30] = rsq(R[11]);
235 | R[11] = mul(R[29], R[30]);
236 | R[29] = mul(R[24], R[30]);
237 | R[24] = mul(R[25], R[30]);
238 | R[25] = rcp(R[30]);
239 | R[30] = b2i(R[21]);
240 | R[21] = cmpeqi(R[30], C[1356]);
241 | R[30] = select(R[21], R[11], C[1360]);
242 | R[11] = select(R[21], R[29], C[1360]);
243 | R[29] = select(R[21], R[24], C[1368]);
244 | R[24] = select(R[21], R[25], C[1336]);
245 | R[21] = min(R[24], C[1444]);
246 | R[24] = mad(R[30], R[21], R[0]);
247 | R[25] = mad(R[11], R[21], R[4]);
248 | R[11] = mad(R[29], R[21], R[5]);
249 | PerformCollisionQueryAsyncCPU_Collision_CollisionQueryAndResponse_Query[func0](C[1356], C[1356], R[26], R[27], R[28], R[24], R[25], R[11], C[1448], C[1420], R[21], R[29], R[30], R[31], R[32], R[33], R[34], R[35], R[36], Unused, Unused, Unused);
250 | R[11] = logic_not(R[30]);
251 | R[24] = logic_and(R[29], R[11]);
252 | R[11] = select(R[24], R[34], C[1360]);
253 | R[25] = select(R[24], R[35], C[1360]);
254 | R[26] = select(R[24], R[36], C[1336]);
255 | R[27] = select(R[24], R[31], C[1360]);
256 | R[28] = select(R[24], R[32], C[1360]);
257 | R[29] = select(R[24], R[33], C[1452]);
258 | R[24] = neg(R[11]);
259 | R[30] = neg(R[25]);
260 | R[31] = neg(R[26]);
261 | R[32] = sub(R[27], R[0]);
262 | R[33] = sub(R[28], R[4]);
263 | R[34] = sub(R[29], R[5]);
264 | R[35] = mul(R[30], R[33]);
265 | R[33] = mad(R[24], R[32], R[35]);
266 | R[32] = mad(R[31], R[34], R[33]);
267 | R[33] = sub(R[32], C[1440]);
268 | R[32] = cmplt(R[33], C[1360]);
269 | R[34] = max(R[19], R[33]);
270 | R[35] = mad(R[34], R[24], R[0]);
271 | R[36] = mad(R[34], R[30], R[4]);
272 | R[37] = mad(R[34], R[31], R[5]);
273 | R[34] = add(R[0], R[22]);
274 | R[38] = add(R[4], R[23]);
275 | R[39] = add(R[5], R[20]);
276 | R[40] = sub(R[27], R[34]);
277 | R[27] = sub(R[28], R[38]);
278 | R[28] = sub(R[29], R[39]);
279 | R[29] = mul(R[30], R[27]);
280 | R[27] = mad(R[24], R[40], R[29]);
281 | R[24] = mad(R[31], R[28], R[27]);
282 | R[27] = sub(R[24], C[1440]);
283 | R[24] = abs(R[27]);
284 | R[28] = sub(R[33], R[27]);
285 | R[29] = abs(R[28]);
286 | R[28] = max(R[29], C[1364]);
287 | R[29] = div(R[24], R[28]);
288 | R[24] = cmpeq(R[29], C[1360]);
289 | R[28] = logic_or(R[32], R[24]);
290 | R[24] = select(R[28], C[1336], R[29]);
291 | R[28] = sub(C[1336], R[24]);
292 | R[29] = mad(R[28], R[22], R[0]);
293 | R[30] = mad(R[28], R[23], R[4]);
294 | R[31] = mad(R[28], R[20], R[5]);
295 | R[28] = mul(R[2], R[24]);
296 | R[24] = select(R[32], R[35], R[29]);
297 | R[29] = select(R[32], R[36], R[30]);
298 | R[30] = select(R[32], R[37], R[31]);
299 | R[31] = select(R[32], R[2], R[28]);
300 | R[28] = select(R[32], R[33], R[33]);
301 | R[33] = select(R[32], R[27], R[27]);
302 | R[27] = cmple(R[33], C[1360]);
303 | R[32] = neg(R[11]);
304 | R[33] = neg(R[25]);
305 | R[34] = neg(R[26]);
306 | R[35] = mul(R[2], R[2]);
307 | R[36] = mul(R[35], C[1436]);
308 | R[35] = mul(R[33], R[23]);
309 | R[37] = mad(R[32], R[22], R[35]);
310 | R[35] = mad(R[34], R[20], R[37]);
311 | R[37] = mul(R[33], C[1360]);
312 | R[33] = mad(R[32], C[1360], R[37]);
313 | R[32] = mad(R[34], R[36], R[33]);
314 | R[33] = sub(R[35], R[32]);
315 | R[32] = cmplt(R[33], C[1456]);
316 | R[33] = div(R[22], R[2]);
317 | R[22] = div(R[23], R[2]);
318 | R[23] = div(R[20], R[2]);
319 | R[20] = select(R[27], R[31], R[2]);
320 | R[31] = select(R[32], C[1360], C[1460]);
321 | R[34] = mul(R[22], R[25]);
322 | R[35] = mad(R[33], R[11], R[34]);
323 | R[34] = mad(R[23], R[26], R[35]);
324 | R[35] = add(R[34], R[34]);
325 | R[34] = mul(R[35], R[11]);
326 | R[36] = mul(R[35], R[25]);
327 | R[37] = mul(R[35], R[26]);
328 | R[35] = sub(R[33], R[34]);
329 | R[34] = sub(R[22], R[36]);
330 | R[36] = sub(R[23], R[37]);
331 | R[37] = mul(C[1464], R[33]);
332 | R[38] = mul(C[1464], R[22]);
333 | R[39] = mul(C[1464], R[23]);
334 | R[40] = mul(R[38], R[25]);
335 | R[38] = mad(R[37], R[11], R[40]);
336 | R[37] = mad(R[39], R[26], R[38]);
337 | R[38] = mul(R[34], R[25]);
338 | R[39] = mad(R[35], R[11], R[38]);
339 | R[38] = mad(R[36], R[26], R[39]);
340 | R[39] = mul(R[38], R[11]);
341 | R[40] = mul(R[38], R[25]);
342 | R[41] = mul(R[38], R[26]);
343 | R[38] = sub(R[35], R[39]);
344 | R[39] = sub(R[34], R[40]);
345 | R[40] = sub(R[36], R[41]);
346 | R[41] = mul(R[39], R[39]);
347 | R[42] = mad(R[38], R[38], R[41]);
348 | R[41] = mad(R[40], R[40], R[42]);
349 | R[42] = cmplt(R[41], C[1352]);
350 | R[43] = rsq(R[41]);
351 | R[41] = mul(R[38], R[43]);
352 | R[44] = mul(R[39], R[43]);
353 | R[45] = mul(R[40], R[43]);
354 | R[43] = b2i(R[42]);
355 | R[42] = cmpeqi(R[43], C[1356]);
356 | R[43] = select(R[42], R[41], C[1360]);
357 | R[41] = select(R[42], R[44], C[1360]);
358 | R[44] = select(R[42], R[45], C[1360]);
359 | R[42] = mul(R[38], C[1468]);
360 | R[38] = mul(R[39], C[1468]);
361 | R[39] = mul(R[40], C[1468]);
362 | R[40] = select(R[32], C[1472], C[1360]);
363 | R[32] = mul(R[43], R[40]);
364 | R[45] = mul(R[41], R[40]);
365 | R[46] = mul(R[44], R[40]);
366 | R[40] = mul(R[32], R[37]);
367 | R[32] = mul(R[45], R[37]);
368 | R[45] = mul(R[46], R[37]);
369 | R[37] = sub(R[42], R[40]);
370 | R[46] = sub(R[38], R[32]);
371 | R[47] = sub(R[39], R[45]);
372 | R[48] = mul(R[46], R[46]);
373 | R[49] = mad(R[37], R[37], R[48]);
374 | R[48] = mad(R[47], R[47], R[49]);
375 | R[49] = cmplt(R[48], C[1352]);
376 | R[50] = rsq(R[48]);
377 | R[48] = mul(R[37], R[50]);
378 | R[37] = mul(R[46], R[50]);
379 | R[46] = mul(R[47], R[50]);
380 | R[47] = b2i(R[49]);
381 | R[49] = cmpeqi(R[47], C[1356]);
382 | R[47] = select(R[49], R[48], C[1360]);
383 | R[48] = select(R[49], R[37], C[1360]);
384 | R[37] = select(R[49], R[46], C[1360]);
385 | R[46] = mul(R[41], R[48]);
386 | R[41] = mad(R[43], R[47], R[46]);
387 | R[43] = mad(R[44], R[37], R[41]);
388 | R[37] = cmple(R[43], C[1360]);
389 | R[41] = select(R[37], R[42], R[40]);
390 | R[40] = select(R[37], R[38], R[32]);
391 | R[32] = select(R[37], R[39], R[45]);
392 | R[37] = mul(R[41], C[1368]);
393 | R[38] = mul(R[40], C[1368]);
394 | R[39] = mul(R[32], C[1368]);
395 | R[32] = mul(R[37], C[1476]);
396 | R[37] = mul(R[38], C[1476]);
397 | R[38] = mul(R[39], C[1476]);
398 | R[39] = add(R[35], R[32]);
399 | R[32] = add(R[34], R[37]);
400 | R[37] = add(R[36], R[38]);
401 | R[38] = mul(R[25], R[34]);
402 | R[34] = mad(R[11], R[35], R[38]);
403 | R[35] = mad(R[26], R[36], R[34]);
404 | R[34] = mul(R[11], R[35]);
405 | R[36] = mul(R[25], R[35]);
406 | R[38] = mul(R[26], R[35]);
407 | R[35] = sub(C[1336], R[31]);
408 | R[31] = mul(R[34], R[35]);
409 | R[34] = mul(R[36], R[35]);
410 | R[36] = mul(R[38], R[35]);
411 | R[35] = sub(R[39], R[31]);
412 | R[31] = sub(R[32], R[34]);
413 | R[32] = sub(R[37], R[36]);
414 | R[34] = select(R[27], R[24], R[0]);
415 | R[24] = select(R[27], R[29], R[4]);
416 | R[29] = select(R[27], R[30], R[5]);
417 | R[30] = mul(R[22], R[22]);
418 | R[36] = mad(R[33], R[33], R[30]);
419 | R[30] = mad(R[23], R[23], R[36]);
420 | R[36] = cmplt(R[30], C[1352]);
421 | R[37] = rsq(R[30]);
422 | R[30] = mul(R[33], R[37]);
423 | R[33] = mul(R[22], R[37]);
424 | R[22] = mul(R[23], R[37]);
425 | R[23] = b2i(R[36]);
426 | R[36] = cmpeqi(R[23], C[1356]);
427 | R[23] = select(R[36], R[30], C[1360]);
428 | R[30] = select(R[36], R[33], C[1360]);
429 | R[33] = select(R[36], R[22], C[1336]);
430 | R[22] = mul(R[30], R[25]);
431 | R[30] = mad(R[23], R[11], R[22]);
432 | R[22] = mad(R[33], R[26], R[30]);
433 | R[23] = cmplt(R[22], C[1360]);
434 | R[22] = logic_and(R[23], R[27]);
435 | R[23] = select(R[22], C[1360], C[1360]);
436 | R[30] = select(R[22], C[1360], C[1360]);
437 | R[33] = select(R[22], C[1360], C[1436]);
438 | R[36] = select(R[22], R[35], R[15]);
439 | R[35] = select(R[22], R[31], R[9]);
440 | R[31] = select(R[22], R[32], R[6]);
441 | R[22] = mad(R[23], R[20], R[36]);
442 | R[32] = mad(R[30], R[20], R[35]);
443 | R[37] = mad(R[33], R[20], R[31]);
444 | R[38] = add(R[20], C[1336]);
445 | R[39] = div(R[22], R[38]);
446 | R[22] = div(R[32], R[38]);
447 | R[32] = div(R[37], R[38]);
448 | R[37] = mul(R[39], R[20]);
449 | R[38] = mul(R[22], R[20]);
450 | R[22] = mul(R[32], R[20]);
451 | R[32] = mul(R[38], R[38]);
452 | R[39] = mad(R[37], R[37], R[32]);
453 | R[32] = mad(R[22], R[22], R[39]);
454 | R[39] = cmplt(R[32], C[1352]);
455 | R[40] = rsq(R[32]);
456 | R[32] = mul(R[37], R[40]);
457 | R[41] = mul(R[38], R[40]);
458 | R[42] = mul(R[22], R[40]);
459 | R[40] = b2i(R[39]);
460 | R[39] = cmpeqi(R[40], C[1356]);
461 | R[40] = select(R[39], R[32], C[1360]);
462 | R[32] = select(R[39], R[41], C[1360]);
463 | R[41] = select(R[39], R[42], C[1368]);
464 | R[39] = mul(R[40], C[1440]);
465 | R[40] = mul(R[32], C[1440]);
466 | R[32] = mul(R[41], C[1440]);
467 | R[41] = sub(R[34], R[39]);
468 | R[42] = sub(R[24], R[40]);
469 | R[43] = sub(R[29], R[32]);
470 | R[44] = mad(C[1424], R[37], R[39]);
471 | R[39] = mad(C[1424], R[38], R[40]);
472 | R[40] = mad(C[1424], R[22], R[32]);
473 | R[32] = mul(R[39], R[39]);
474 | R[45] = mad(R[44], R[44], R[32]);
475 | R[32] = mad(R[40], R[40], R[45]);
476 | R[45] = cmplt(R[32], C[1352]);
477 | R[46] = rsq(R[32]);
478 | R[32] = mul(R[44], R[46]);
479 | R[44] = mul(R[39], R[46]);
480 | R[39] = mul(R[40], R[46]);
481 | R[40] = rcp(R[46]);
482 | R[46] = b2i(R[45]);
483 | R[45] = cmpeqi(R[46], C[1356]);
484 | R[46] = select(R[45], R[32], C[1360]);
485 | R[32] = select(R[45], R[44], C[1360]);
486 | R[44] = select(R[45], R[39], C[1368]);
487 | R[39] = select(R[45], R[40], C[1336]);
488 | R[40] = min(R[39], C[1444]);
489 | R[39] = mad(R[46], R[40], R[34]);
490 | R[45] = mad(R[32], R[40], R[24]);
491 | R[32] = mad(R[44], R[40], R[29]);
492 | PerformCollisionQueryAsyncCPU_Collision_CollisionQueryAndResponse001_Query[func1](C[1448], C[1356], R[41], R[42], R[43], R[39], R[45], R[32], C[1448], C[1420], R[40], R[44], R[46], R[47], R[48], R[49], R[50], R[51], R[52], Unused, Unused, Unused);
493 | R[32] = logic_not(R[46]);
494 | R[39] = logic_and(R[44], R[32]);
495 | R[32] = select(R[39], R[50], C[1360]);
496 | R[41] = select(R[39], R[51], C[1360]);
497 | R[42] = select(R[39], R[52], C[1336]);
498 | R[43] = select(R[39], R[47], C[1360]);
499 | R[44] = select(R[39], R[48], C[1360]);
500 | R[45] = select(R[39], R[49], C[1452]);
501 | R[39] = neg(R[32]);
502 | R[46] = neg(R[41]);
503 | R[47] = neg(R[42]);
504 | R[48] = sub(R[43], R[34]);
505 | R[49] = sub(R[44], R[24]);
506 | R[50] = sub(R[45], R[29]);
507 | R[51] = mul(R[46], R[49]);
508 | R[49] = mad(R[39], R[48], R[51]);
509 | R[48] = mad(R[47], R[50], R[49]);
510 | R[49] = sub(R[48], C[1440]);
511 | R[48] = cmplt(R[49], C[1360]);
512 | R[50] = max(R[19], R[49]);
513 | R[19] = mad(R[50], R[39], R[34]);
514 | R[51] = mad(R[50], R[46], R[24]);
515 | R[52] = mad(R[50], R[47], R[29]);
516 | R[50] = add(R[34], R[37]);
517 | R[53] = add(R[24], R[38]);
518 | R[54] = add(R[29], R[22]);
519 | R[55] = sub(R[43], R[50]);
520 | R[43] = sub(R[44], R[53]);
521 | R[44] = sub(R[45], R[54]);
522 | R[45] = mul(R[46], R[43]);
523 | R[43] = mad(R[39], R[55], R[45]);
524 | R[39] = mad(R[47], R[44], R[43]);
525 | R[43] = sub(R[39], C[1440]);
526 | R[39] = abs(R[43]);
527 | R[44] = sub(R[49], R[43]);
528 | R[45] = abs(R[44]);
529 | R[44] = max(R[45], C[1364]);
530 | R[45] = div(R[39], R[44]);
531 | R[39] = cmpeq(R[45], C[1360]);
532 | R[44] = logic_or(R[48], R[39]);
533 | R[39] = select(R[44], C[1336], R[45]);
534 | R[44] = sub(C[1336], R[39]);
535 | R[45] = mad(R[44], R[37], R[34]);
536 | R[46] = mad(R[44], R[38], R[24]);
537 | R[47] = mad(R[44], R[22], R[29]);
538 | R[44] = mul(R[20], R[39]);
539 | R[39] = select(R[48], R[19], R[45]);
540 | R[19] = select(R[48], R[51], R[46]);
541 | R[45] = select(R[48], R[52], R[47]);
542 | R[46] = select(R[48], R[20], R[44]);
543 | R[44] = select(R[48], R[49], R[49]);
544 | R[47] = select(R[48], R[43], R[43]);
545 | R[43] = cmple(R[47], C[1360]);
546 | R[47] = neg(R[32]);
547 | R[48] = neg(R[41]);
548 | R[49] = neg(R[42]);
549 | R[50] = mul(R[20], R[20]);
550 | R[51] = mul(R[50], R[23]);
551 | R[23] = mul(R[50], R[30]);
552 | R[30] = mul(R[50], R[33]);
553 | R[33] = mul(R[48], R[38]);
554 | R[50] = mad(R[47], R[37], R[33]);
555 | R[33] = mad(R[49], R[22], R[50]);
556 | R[50] = mul(R[48], R[23]);
557 | R[23] = mad(R[47], R[51], R[50]);
558 | R[47] = mad(R[49], R[30], R[23]);
559 | R[23] = sub(R[33], R[47]);
560 | R[30] = cmplt(R[23], C[1456]);
561 | R[23] = div(R[37], R[20]);
562 | R[33] = div(R[38], R[20]);
563 | R[37] = div(R[22], R[20]);
564 | R[22] = select(R[43], R[46], R[20]);
565 | R[20] = select(R[30], C[1360], C[1460]);
566 | R[38] = mul(R[33], R[41]);
567 | R[46] = mad(R[23], R[32], R[38]);
568 | R[38] = mad(R[37], R[42], R[46]);
569 | R[46] = add(R[38], R[38]);
570 | R[38] = mul(R[46], R[32]);
571 | R[47] = mul(R[46], R[41]);
572 | R[48] = mul(R[46], R[42]);
573 | R[46] = sub(R[23], R[38]);
574 | R[38] = sub(R[33], R[47]);
575 | R[47] = sub(R[37], R[48]);
576 | R[48] = mul(C[1464], R[23]);
577 | R[49] = mul(C[1464], R[33]);
578 | R[50] = mul(C[1464], R[37]);
579 | R[51] = mul(R[49], R[41]);
580 | R[49] = mad(R[48], R[32], R[51]);
581 | R[48] = mad(R[50], R[42], R[49]);
582 | R[49] = mul(R[38], R[41]);
583 | R[50] = mad(R[46], R[32], R[49]);
584 | R[49] = mad(R[47], R[42], R[50]);
585 | R[50] = mul(R[49], R[32]);
586 | R[51] = mul(R[49], R[41]);
587 | R[52] = mul(R[49], R[42]);
588 | R[49] = sub(R[46], R[50]);
589 | R[50] = sub(R[38], R[51]);
590 | R[51] = sub(R[47], R[52]);
591 | R[52] = mul(R[50], R[50]);
592 | R[53] = mad(R[49], R[49], R[52]);
593 | R[52] = mad(R[51], R[51], R[53]);
594 | R[53] = cmplt(R[52], C[1352]);
595 | R[54] = rsq(R[52]);
596 | R[52] = mul(R[49], R[54]);
597 | R[55] = mul(R[50], R[54]);
598 | R[56] = mul(R[51], R[54]);
599 | R[54] = b2i(R[53]);
600 | R[53] = cmpeqi(R[54], C[1356]);
601 | R[54] = select(R[53], R[52], C[1360]);
602 | R[52] = select(R[53], R[55], C[1360]);
603 | R[55] = select(R[53], R[56], C[1360]);
604 | R[53] = mul(R[49], C[1468]);
605 | R[49] = mul(R[50], C[1468]);
606 | R[50] = mul(R[51], C[1468]);
607 | R[51] = select(R[30], C[1472], C[1360]);
608 | R[30] = mul(R[54], R[51]);
609 | R[56] = mul(R[52], R[51]);
610 | R[57] = mul(R[55], R[51]);
611 | R[51] = mul(R[30], R[48]);
612 | R[30] = mul(R[56], R[48]);
613 | R[56] = mul(R[57], R[48]);
614 | R[48] = sub(R[53], R[51]);
615 | R[57] = sub(R[49], R[30]);
616 | R[58] = sub(R[50], R[56]);
617 | R[59] = mul(R[57], R[57]);
618 | R[60] = mad(R[48], R[48], R[59]);
619 | R[59] = mad(R[58], R[58], R[60]);
620 | R[60] = cmplt(R[59], C[1352]);
621 | R[61] = rsq(R[59]);
622 | R[59] = mul(R[48], R[61]);
623 | R[48] = mul(R[57], R[61]);
624 | R[57] = mul(R[58], R[61]);
625 | R[58] = b2i(R[60]);
626 | R[60] = cmpeqi(R[58], C[1356]);
627 | R[58] = select(R[60], R[59], C[1360]);
628 | R[59] = select(R[60], R[48], C[1360]);
629 | R[48] = select(R[60], R[57], C[1360]);
630 | R[57] = mul(R[52], R[59]);
631 | R[52] = mad(R[54], R[58], R[57]);
632 | R[54] = mad(R[55], R[48], R[52]);
633 | R[48] = cmple(R[54], C[1360]);
634 | R[52] = select(R[48], R[53], R[51]);
635 | R[51] = select(R[48], R[49], R[30]);
636 | R[30] = select(R[48], R[50], R[56]);
637 | R[48] = mul(R[52], C[1368]);
638 | R[49] = mul(R[51], C[1368]);
639 | R[50] = mul(R[30], C[1368]);
640 | R[30] = mul(R[48], C[1476]);
641 | R[48] = mul(R[49], C[1476]);
642 | R[49] = mul(R[50], C[1476]);
643 | R[50] = add(R[46], R[30]);
644 | R[30] = add(R[38], R[48]);
645 | R[48] = add(R[47], R[49]);
646 | R[49] = mul(R[41], R[38]);
647 | R[38] = mad(R[32], R[46], R[49]);
648 | R[46] = mad(R[42], R[47], R[38]);
649 | R[38] = mul(R[32], R[46]);
650 | R[47] = mul(R[41], R[46]);
651 | R[49] = mul(R[42], R[46]);
652 | R[46] = sub(C[1336], R[20]);
653 | R[20] = mul(R[38], R[46]);
654 | R[38] = mul(R[47], R[46]);
655 | R[47] = mul(R[49], R[46]);
656 | R[46] = sub(R[50], R[20]);
657 | R[20] = sub(R[30], R[38]);
658 | R[30] = sub(R[48], R[47]);
659 | R[38] = select(R[43], R[39], R[34]);
660 | R[34] = select(R[43], R[19], R[24]);
661 | R[19] = select(R[43], R[45], R[29]);
662 | R[24] = mul(R[33], R[33]);
663 | R[29] = mad(R[23], R[23], R[24]);
664 | R[24] = mad(R[37], R[37], R[29]);
665 | R[29] = cmplt(R[24], C[1352]);
666 | R[39] = rsq(R[24]);
667 | R[24] = mul(R[23], R[39]);
668 | R[23] = mul(R[33], R[39]);
669 | R[33] = mul(R[37], R[39]);
670 | R[37] = b2i(R[29]);
671 | R[29] = cmpeqi(R[37], C[1356]);
672 | R[37] = select(R[29], R[24], C[1360]);
673 | R[24] = select(R[29], R[23], C[1360]);
674 | R[23] = select(R[29], R[33], C[1336]);
675 | R[29] = mul(R[24], R[41]);
676 | R[24] = mad(R[37], R[32], R[29]);
677 | R[29] = mad(R[23], R[42], R[24]);
678 | R[23] = cmplt(R[29], C[1360]);
679 | R[24] = logic_and(R[23], R[43]);
680 | R[23] = select(R[24], R[46], R[36]);
681 | R[29] = select(R[24], R[20], R[35]);
682 | R[20] = select(R[24], R[30], R[31]);
683 | R[24] = logic_or(R[27], R[43]);
684 | R[30] = select(R[24], C[1448], C[1356]);
685 | R[31] = cmplt(R[28], C[1360]);
686 | R[33] = cmplt(R[44], C[1360]);
687 | R[35] = logic_and(R[31], R[33]);
688 | R[36] = b2i(R[31]);
689 | R[31] = cmpeqi(R[36], C[1356]);
690 | R[36] = select(R[31], C[1360], C[1344]);
691 | R[31] = b2i(R[33]);
692 | R[33] = cmpeqi(R[31], C[1356]);
693 | R[31] = select(R[33], C[1360], C[1344]);
694 | R[33] = add(R[36], R[31]);
695 | R[31] = mul(R[2], C[1344]);
696 | R[36] = mul(R[33], R[31]);
697 | R[31] = cmpgt(R[36], C[1336]);
698 | R[33] = logic_or(R[35], R[31]);
699 | R[31] = mul(R[28], C[1368]);
700 | R[28] = cmpgt(R[31], R[44]);
701 | R[31] = cmpgt(C[1480], R[44]);
702 | R[35] = logic_or(R[28], R[31]);
703 | R[28] = logic_or(R[33], R[35]);
704 | R[31] = select(R[24], R[38], R[0]);
705 | R[33] = select(R[24], R[34], R[4]);
706 | R[35] = select(R[24], R[19], R[5]);
707 | R[37] = select(R[24], R[23], R[15]);
708 | R[23] = select(R[24], R[29], R[9]);
709 | R[29] = select(R[24], R[20], R[6]);
710 | R[20] = select(R[24], C[1360], C[1360]);
711 | R[39] = select(R[24], C[1360], C[1360]);
712 | R[44] = select(R[24], C[1360], C[1436]);
713 | R[45] = select(R[24], R[22], R[2]);
714 | R[22] = select(R[24], C[1360], C[1360]);
715 | R[46] = select(R[24], C[1360], C[1360]);
716 | R[47] = select(R[24], C[1360], C[1360]);
717 | R[48] = select(R[28], R[38], R[31]);
718 | R[31] = select(R[28], R[34], R[33]);
719 | R[33] = select(R[28], R[19], R[35]);
720 | R[19] = select(R[28], C[1360], R[37]);
721 | R[34] = select(R[28], C[1360], R[23]);
722 | R[23] = select(R[28], C[1360], R[29]);
723 | R[29] = select(R[28], C[1360], R[20]);
724 | R[20] = select(R[28], C[1360], R[39]);
725 | R[35] = select(R[28], C[1360], R[44]);
726 | R[37] = select(R[28], R[45], R[45]);
727 | R[38] = select(R[28], C[1360], R[22]);
728 | R[22] = select(R[28], C[1360], R[46]);
729 | R[39] = select(R[28], C[1360], R[47]);
730 | R[28] = select(R[24], C[1360], R[13]);
731 | R[13] = select(R[24], C[1360], R[16]);
732 | R[16] = select(R[24], C[1360], R[7]);
733 | R[7] = select(R[24], C[1360], C[1360]);
734 | R[44] = select(R[24], C[1360], C[1360]);
735 | R[45] = select(R[24], C[1360], C[1360]);
736 | R[46] = mul(R[41], R[41]);
737 | R[47] = mad(R[32], R[32], R[46]);
738 | R[46] = mad(R[42], R[42], R[47]);
739 | R[47] = cmplt(R[46], C[1352]);
740 | R[49] = rsq(R[46]);
741 | R[46] = mul(R[32], R[49]);
742 | R[32] = mul(R[41], R[49]);
743 | R[41] = mul(R[42], R[49]);
744 | R[42] = b2i(R[47]);
745 | R[47] = cmpeqi(R[42], C[1356]);
746 | R[42] = select(R[47], R[46], C[1360]);
747 | R[46] = select(R[47], R[32], C[1360]);
748 | R[32] = select(R[47], R[41], C[1336]);
749 | R[41] = select(R[43], R[42], C[1360]);
750 | R[42] = select(R[43], R[46], C[1360]);
751 | R[46] = select(R[43], R[32], C[1336]);
752 | R[32] = select(R[27], R[11], R[41]);
753 | R[11] = select(R[27], R[25], R[42]);
754 | R[25] = select(R[27], R[26], R[46]);
755 | R[26] = mul(R[34], R[11]);
756 | R[27] = mad(R[19], R[32], R[26]);
757 | R[26] = mad(R[23], R[25], R[27]);
758 | R[27] = mul(R[26], R[32]);
759 | R[41] = mul(R[26], R[11]);
760 | R[42] = mul(R[26], R[25]);
761 | R[26] = sub(R[19], R[27]);
762 | R[27] = sub(R[34], R[41]);
763 | R[41] = sub(R[23], R[42]);
764 | R[42] = mul(R[11], R[41]);
765 | R[43] = mul(R[25], R[27]);
766 | R[46] = sub(R[42], R[43]);
767 | R[42] = mul(R[25], R[26]);
768 | R[25] = mul(R[32], R[41]);
769 | R[43] = sub(R[42], R[25]);
770 | R[25] = mul(R[32], R[27]);
771 | R[32] = mul(R[11], R[26]);
772 | R[11] = sub(R[25], R[32]);
773 | R[25] = mul(R[43], R[43]);
774 | R[32] = mad(R[46], R[46], R[25]);
775 | R[25] = mad(R[11], R[11], R[32]);
776 | R[32] = cmplt(R[25], C[1352]);
777 | R[42] = rsq(R[25]);
778 | R[25] = mul(R[46], R[42]);
779 | R[46] = mul(R[43], R[42]);
780 | R[43] = mul(R[11], R[42]);
781 | R[11] = b2i(R[32]);
782 | R[42] = cmpeqi(R[11], C[1356]);
783 | R[11] = select(R[42], R[25], C[1360]);
784 | R[25] = select(R[42], R[46], C[1360]);
785 | R[46] = select(R[42], R[43], C[1360]);
786 | R[42] = mul(R[27], R[27]);
787 | R[27] = mad(R[26], R[26], R[42]);
788 | R[26] = mad(R[41], R[41], R[27]);
789 | R[27] = cmplt(R[26], C[1352]);
790 | R[41] = rsq(R[26]);
791 | R[26] = rcp(R[41]);
792 | R[41] = b2i(R[27]);
793 | R[27] = cmpeqi(R[41], C[1356]);
794 | R[41] = select(R[27], R[26], C[1360]);
795 | R[26] = select(R[32], C[1360], R[11]);
796 | R[11] = select(R[32], C[1360], R[25]);
797 | R[25] = select(R[32], C[1336], R[46]);
798 | R[27] = select(R[32], C[1360], R[41]);
799 | R[32] = div(R[27], C[1484]);
800 | R[27] = mul(C[1376], R[32]);
801 | R[32] = select(R[24], R[26], C[1360]);
802 | R[26] = select(R[24], R[11], C[1360]);
803 | R[11] = select(R[24], R[25], C[1336]);
804 | R[25] = select(R[24], R[27], C[1360]);
805 | R[27] = mul(R[25], R[2]);
806 | R[41] = div(R[27], C[1384]);
807 | R[27] = mul(R[26], R[26]);
808 | R[42] = mad(R[32], R[32], R[27]);
809 | R[27] = mad(R[11], R[11], R[42]);
810 | R[42] = rsq(R[27]);
811 | R[27] = mul(R[32], R[42]);
812 | R[43] = mul(R[26], R[42]);
813 | R[46] = mul(R[11], R[42]);
814 | R[42] = sin(R[41]);
815 | R[47] = mul(R[27], R[42]);
816 | R[27] = mul(R[43], R[42]);
817 | R[43] = mul(R[46], R[42]);
818 | R[42] = cos(R[41]);
819 | R[41] = mul(R[43], R[12]);
820 | R[46] = mul(R[43], R[14]);
821 | R[49] = mul(R[43], R[8]);
822 | R[50] = mul(R[43], R[10]);
823 | R[43] = mul(R[27], R[10]);
824 | R[51] = mul(R[27], R[8]);
825 | R[52] = mul(R[27], R[14]);
826 | R[53] = mul(R[27], R[12]);
827 | R[27] = mul(R[47], R[8]);
828 | R[54] = mul(R[47], R[10]);
829 | R[55] = mul(R[47], R[12]);
830 | R[56] = mul(R[47], R[14]);
831 | R[47] = mul(R[42], R[14]);
832 | R[57] = mul(R[42], R[12]);
833 | R[58] = mul(R[42], R[10]);
834 | R[59] = mul(R[42], R[8]);
835 | R[42] = add(R[27], R[47]);
836 | R[27] = mad(R[54], C[1368], R[57]);
837 | R[47] = add(R[55], R[58]);
838 | R[54] = mad(R[56], C[1368], R[59]);
839 | R[55] = add(R[43], R[42]);
840 | R[42] = add(R[51], R[27]);
841 | R[27] = mad(R[52], C[1368], R[47]);
842 | R[43] = mad(R[53], C[1368], R[54]);
843 | R[47] = mad(R[41], C[1368], R[55]);
844 | R[41] = add(R[46], R[42]);
845 | R[42] = add(R[49], R[27]);
846 | R[27] = mad(R[50], C[1368], R[43]);
847 | R[43] = mul(R[41], R[41]);
848 | R[46] = mad(R[47], R[47], R[43]);
849 | R[43] = mad(R[42], R[42], R[46]);
850 | R[46] = mad(R[27], R[27], R[43]);
851 | R[43] = rsq(R[46]);
852 | R[46] = mul(R[47], R[43]);
853 | R[47] = mul(R[41], R[43]);
854 | R[41] = mul(R[42], R[43]);
855 | R[42] = mul(R[27], R[43]);
856 | R[27] = select(R[24], R[46], R[14]);
857 | R[43] = select(R[24], R[47], R[12]);
858 | R[46] = select(R[24], R[41], R[10]);
859 | R[41] = select(R[24], R[42], R[8]);
860 | exit_stat_scope();
861 | enter_stat_scope(C[1488]);
862 | R[42] = mad(R[29], R[37], R[19]);
863 | R[19] = mad(R[20], R[37], R[34]);
864 | R[20] = mad(R[35], R[37], R[23]);
865 | R[23] = sub(R[42], R[38]);
866 | R[29] = sub(R[19], R[22]);
867 | R[19] = sub(R[20], R[39]);
868 | R[20] = add(R[37], C[1336]);
869 | R[34] = div(R[23], R[20]);
870 | R[23] = div(R[29], R[20]);
871 | R[29] = div(R[19], R[20]);
872 | R[19] = add(R[34], R[38]);
873 | R[20] = add(R[23], R[22]);
874 | R[22] = add(R[29], R[39]);
875 | R[23] = mad(R[19], R[37], R[48]);
876 | R[29] = mad(R[20], R[37], R[31]);
877 | R[31] = mad(R[22], R[37], R[33]);
878 | R[33] = mad(R[7], R[37], R[28]);
879 | R[7] = mad(R[44], R[37], R[13]);
880 | R[34] = mad(R[45], R[37], R[16]);
881 | R[35] = mul(R[28], R[37]);
882 | R[28] = mul(R[13], R[37]);
883 | R[13] = mul(R[16], R[37]);
884 | R[16] = mul(R[28], R[28]);
885 | R[37] = mad(R[35], R[35], R[16]);
886 | R[16] = mad(R[13], R[13], R[37]);
887 | R[37] = cmplt(R[16], C[1352]);
888 | R[38] = rsq(R[16]);
889 | R[16] = mul(R[35], R[38]);
890 | R[35] = mul(R[28], R[38]);
891 | R[28] = mul(R[13], R[38]);
892 | R[13] = rcp(R[38]);
893 | R[38] = b2i(R[37]);
894 | R[39] = cmpeqi(R[38], C[1356]);
895 | R[38] = select(R[39], R[16], C[1360]);
896 | R[16] = select(R[39], R[35], C[1360]);
897 | R[35] = select(R[39], R[28], C[1360]);
898 | R[28] = select(R[39], R[13], C[1360]);
899 | R[13] = div(R[28], C[1384]);
900 | R[28] = mul(R[16], R[16]);
901 | R[39] = mad(R[38], R[38], R[28]);
902 | R[28] = mad(R[35], R[35], R[39]);
903 | R[39] = rsq(R[28]);
904 | R[28] = mul(R[38], R[39]);
905 | R[38] = mul(R[16], R[39]);
906 | R[16] = mul(R[35], R[39]);
907 | R[35] = sin(R[13]);
908 | R[39] = mul(R[28], R[35]);
909 | R[28] = mul(R[38], R[35]);
910 | R[38] = mul(R[16], R[35]);
911 | R[16] = cos(R[13]);
912 | R[13] = mul(R[38], R[43]);
913 | R[35] = mul(R[38], R[27]);
914 | R[42] = mul(R[38], R[41]);
915 | R[44] = mul(R[38], R[46]);
916 | R[38] = mul(R[28], R[46]);
917 | R[45] = mul(R[28], R[41]);
918 | R[47] = mul(R[28], R[27]);
919 | R[48] = mul(R[28], R[43]);
920 | R[28] = mul(R[39], R[41]);
921 | R[49] = mul(R[39], R[46]);
922 | R[50] = mul(R[39], R[43]);
923 | R[51] = mul(R[39], R[27]);
924 | R[39] = mul(R[16], R[27]);
925 | R[52] = mul(R[16], R[43]);
926 | R[53] = mul(R[16], R[46]);
927 | R[54] = mul(R[16], R[41]);
928 | R[16] = add(R[28], R[39]);
929 | R[28] = mad(R[49], C[1368], R[52]);
930 | R[39] = add(R[50], R[53]);
931 | R[49] = mad(R[51], C[1368], R[54]);
932 | R[50] = add(R[38], R[16]);
933 | R[16] = add(R[45], R[28]);
934 | R[28] = mad(R[47], C[1368], R[39]);
935 | R[38] = mad(R[48], C[1368], R[49]);
936 | R[39] = mad(R[13], C[1368], R[50]);
937 | R[13] = add(R[35], R[16]);
938 | R[16] = add(R[42], R[28]);
939 | R[28] = mad(R[44], C[1368], R[38]);
940 | R[35] = select(R[37], R[27], R[39]);
941 | R[27] = select(R[37], R[43], R[13]);
942 | R[13] = select(R[37], R[46], R[16]);
943 | R[16] = select(R[37], R[41], R[28]);
944 | exit_stat_scope();
945 | exit_stat_scope();
946 | [R][28] = AcquireIndex(0, [R][18]);
947 | OutputDataFloat(0, 0, [R][28], [R][2]);
948 | OutputDataFloat(0, 1, [R][28], [R][32]);
949 | OutputDataFloat(0, 2, [R][28], [R][26]);
950 | OutputDataFloat(0, 3, [R][28], [R][11]);
951 | OutputDataFloat(0, 4, [R][28], [R][25]);
952 | OutputDataInt(0, 0, [R][28], [R][21]);
953 | OutputDataInt(0, 1, [R][28], [R][40]);
954 | OutputDataInt(0, 2, [R][28], [R][24]);
955 | OutputDataFloat(0, 5, [R][28], [C][1424]);
956 | OutputDataFloat(0, 6, [R][28], [C][1336]);
957 | OutputDataFloat(0, 7, [R][28], [R][3]);
958 | OutputDataFloat(0, 8, [R][28], [R][35]);
959 | OutputDataFloat(0, 9, [R][28], [R][27]);
960 | OutputDataFloat(0, 10, [R][28], [R][13]);
961 | OutputDataFloat(0, 11, [R][28], [R][16]);
962 | OutputDataFloat(0, 12, [R][28], [R][17]);
963 | OutputDataInt(0, 3, [R][28], [R][30]);
964 | OutputDataFloat(0, 13, [R][28], [R][23]);
965 | OutputDataFloat(0, 14, [R][28], [R][29]);
966 | OutputDataFloat(0, 15, [R][28], [R][31]);
967 | OutputDataFloat(0, 16, [R][28], [R][14]);
968 | OutputDataFloat(0, 17, [R][28], [R][12]);
969 | OutputDataFloat(0, 18, [R][28], [R][10]);
970 | OutputDataFloat(0, 19, [R][28], [R][8]);
971 | OutputDataFloat(0, 20, [R][28], [R][0]);
972 | OutputDataFloat(0, 21, [R][28], [R][4]);
973 | OutputDataFloat(0, 22, [R][28], [R][5]);
974 | OutputDataFloat(0, 23, [R][28], [C][1336]);
975 | OutputDataFloat(0, 24, [R][28], [C][1336]);
976 | OutputDataFloat(0, 25, [R][28], [C][1336]);
977 | OutputDataFloat(0, 26, [R][28], [R][15]);
978 | OutputDataFloat(0, 27, [R][28], [R][9]);
979 | OutputDataFloat(0, 28, [R][28], [R][6]);
980 | OutputDataFloat(0, 29, [R][28], [R][36]);
981 | OutputDataFloat(0, 30, [R][28], [C][1336]);
982 | OutputDataFloat(0, 31, [R][28], [R][33]);
983 | OutputDataFloat(0, 32, [R][28], [R][7]);
984 | OutputDataFloat(0, 33, [R][28], [R][34]);
985 | OutputDataFloat(0, 34, [R][28], [C][1336]);
986 | OutputDataFloat(0, 35, [R][28], [C][1336]);
987 | OutputDataFloat(0, 36, [R][28], [C][1336]);
988 | OutputDataInt(0, 4, [R][28], [R][1]);
989 | OutputDataFloat(0, 37, [R][28], [R][19]);
990 | OutputDataFloat(0, 38, [R][28], [R][20]);
991 | OutputDataFloat(0, 39, [R][28], [R][22]);
992 | exit_stat_scope();
-------------------------------
x<00><00>u)<00>
<00><00><00>
<00> V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>1V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>$V<00>|<7C><><EFBFBD><EFBFBD><00>8G<00><00>6V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>!V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>/V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>"V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>V<00><><7F><EFBFBD><EFBFBD><00>8G<00><00>V<00><><7F><EFBFBD><EFBFBD><00>8G<00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>V<00><><7F><EFBFBD><EFBFBD><00>8G<00><00>V<00><><7F><EFBFBD><EFBFBD><00>8G<00><00>#V<00><><7F><EFBFBD><EFBFBD><00>8G<00><00>-V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>'V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>&V<00>|<7C><><EFBFBD><EFBFBD><00>8G<00><00>%V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00><00><00><00><00>r<00>0V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><01><00><><EFBFBD><EFBFBD>t1<00>t<00><00><00><00>)<=<00><00><00><00>Function call "SolveRotationalForcesAndVelocity" is deprecated. No recommendation was provided. - Node: Solve Rotational Forces and Velocity - <00><00><00><00>M<00>4:W<>lHF<48>%<25><>Qhy<68>;<00>M<00>5<00><00><00>M<00>)>?<00><00>K9<00>K<00><00><00><00><00><00>Zl<00>Z l<00><00>b<00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>W<00>ZX<00><00><00><00> Shell_Eject<00><00><00><00>
|<00><00>G <00><00><00><00>l<00>l#<00>M9<>}qRYO<59><4F><EFBFBD><EFBFBD><EFBFBD>ˤ
04<00><00> <00><00>l<00>R<00> <00>?4J<00>]5<00>]<00><00>!4<00><00> <00><00><00>B4<00>) K<00><00><00>%55<00><00><00><00>$42<00> <00><00><00> <00>z)<00>)
 <00><00> <00>n<00> <00>W<00> <00>\5<00>\<00><00>]5<00>]<00><00>4<00><00><00><00>d5<00>d<00><00>v<00><00><00>m<00>M<00><><19>5<EFBFBD>"׋^)<29>D<EFBFBD> <1C>)<00><00>ME<00>CPUSimEmitter.InterpolatedSpawnExperimentalVMDisabledFailIfNotSetMessageSeverity: 3)PreserveAttribute=Particles.CameraOffset"PreserveAttribute=Particles.Color5PreserveAttribute=Particles.DynamicMaterialParameter6PreserveAttribute=Particles.DynamicMaterialParameter16PreserveAttribute=Particles.DynamicMaterialParameter26PreserveAttribute=Particles.DynamicMaterialParameter3+PreserveAttribute=Particles.MaterialRandom&PreserveAttribute=Particles.MeshIndex,PreserveAttribute=Particles.MeshOrientation*PreserveAttribute=Particles.NormalizedAge%PreserveAttribute=Particles.Position2PreserveAttribute=Particles.Previous.CameraOffset5PreserveAttribute=Particles.Previous.MeshOrientation.PreserveAttribute=Particles.Previous.Position+PreserveAttribute=Particles.Previous.Scale.PreserveAttribute=Particles.Previous.Velocity"PreserveAttribute=Particles.Scale*PreserveAttribute=Particles.SubImageIndex%PreserveAttribute=Particles.Velocity*PreserveAttribute=Particles.VisibilityTagTrimAttributesG<00><00><00>(V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>)V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>*V<00>|<7C><><EFBFBD><EFBFBD><00>8G<00><00>+V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>,V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>D4#4(4<4<00>A<00><00>Gۙ<DB99><7F><EFBFBD><EFBFBD><07>e<EFBFBD>/<2F><>8AN+<2B>c<EFBFBD>T<00><00>:T<00><00><00><00>G<07>d<0F>,<2C><13>><3E><>}<7D><>:.<2E>U<EFBFBD><00>G<08>\h<><45><D588><00><>g><3E><07><>+<2B><00>G<18>V<EFBFBD><56>4><3E>C<EFBFBD><43>R<EFBFBD><52>5y<35>J<EFBFBD><4A><00>G<18>+(<28><>==<3D>r<EFBFBD> <13><>:1<>ع<EFBFBD><00>Gn<><6E><EFBFBD><EFBFBD><EFBFBD>^<5E><>,<2C>C<>̙E5<45><35><00>G<1B>e<EFBFBD><65>Z!CeO R<><52>ٟ(<28><00>G"<22>!<21>2H(<eɉr<C989><72><EFBFBD><EFBFBD><EFBFBD><16>Y<EFBFBD><00>G&<26><>dX<64>!P<><50>^<5E>2<EFBFBD>><3E><><EFBFBD><EFBFBD><EFBFBD><00>G(<28><><EFBFBD>e<02>)v`<60>Ar!<21><>,}p<><70><00>G-C` <0A><><EFBFBD>L<13>u<x<1D>W'<27><<3C><00>G-QJ/<2F>W/52ړ<32><DA93>-<2D><>k<EFBFBD><6B><EFBFBD><00>G2<>
<EFBFBD><EFBFBD>k<EFBFBD>(1W<31><>f<EFBFBD>1=<3D><00>G4<>"3 <0C><><EFBFBD><EFBFBD>բ<EFBFBD>wr<77>w#<06><><00>G607IZ$<24><>\a<>a<EFBFBD>jzm<7A><6D><EFBFBD><00>G;C<>7<EFBFBD><37>0FZ<1D>º<EFBFBD><C2BA>o*"<13><00>G@<40>nLV<4C><56>QF<51><46><EFBFBD>XTUM]<5D><><EFBFBD><EFBFBD><00>GA.<2E><>/<1A>y<EFBFBD><79><EFBFBD>ac<61>ـ<EFBFBD><D980><EFBFBD><00>GJ7h4ځ|عp㠾7y<>z<1E><><00>GPpg<70>N
<0C>'<27><>J <0C><>l<EFBFBD> <08><00>G_p_7 7sp!<21><>0my@<40><16><><EFBFBD><00>G_<><5F>1<EFBFBD> W<>2<EFBFBD><32>s<EFBFBD><73><00>Ge<>Y;<3B>,Al<41> q<><71><66>|<19><00>Gr<><72><EFBFBD>i<EFBFBD>1<EFBFBD><31><EFBFBD><EFBFBD>p<EFBFBD>n<EFBFBD>D<EFBFBD><44><EFBFBD><EFBFBD><EFBFBD><00>Gu<>hFe-y #<23>\-C!=<3D><>b5~<7E><00>Gy<>P|<7C>Q<EFBFBD><01> <12><><EFBFBD>ʪˁ<CAAA><CB81><EFBFBD><00>G T<><54><EFBFBD><1F><>WTνW<CEBD>7<EFBFBD><37><EFBFBD><EFBFBD><00>G><3E>/qwi؈YaL6<4C>J<EFBFBD><4A><EFBFBD><EFBFBD><00>G<00>7Q <20><><18><>ߴ<EFBFBD><DFB4><EFBFBD>&Уsj<73><00>G<00>
=]<5D><>z<EFBFBD>ݱ<EFBFBD><DDB1><EFBFBD><EFBFBD><EFBFBD> {D<>z<EFBFBD><00>G<00><><EFBFBD><EFBFBD>H^<<3C><><EFBFBD>adIN<49><4E><EFBFBD>̀<EFBFBD><CC80><00>G<00>*C<01><>pU<70>ٔ<><D994><EFBFBD>vUW<55><57><00>G<00>*<2A>|L~<7E>_$<24>/K<>̑n>#<05><00>G<00> <0A><><10><>?<3F><>v<EFBFBD><76><EFBFBD>\Ia<49><01><00>G<00>0<EFBFBD>V<EFBFBD>!P<>Bt)<29><>"<22><>t-<13><><00>G<00><>"{m~~<7E><><EFBFBD><EFBFBD><13><>k<EFBFBD>S<EFBFBD>6<EFBFBD><00>G<00><><EFBFBD><EFBFBD>C%<25><>U<EFBFBD><55>[<5B><><EFBFBD><EFBFBD><EFBFBD>^<5E><><00>G<00>S:6"<22><>S<EFBFBD><53><EFBFBD><EFBFBD>̤4R<34><52><EFBFBD><EFBFBD><00>G<00>\<5C>۝<EFBFBD>#,<2C><><EFBFBD><EFBFBD><><DEA0><EFBFBD>P~<7E><00>G<00><>J<EFBFBD><4A><EFBFBD><EFBFBD>@<40><><EFBFBD> <20>x<EFBFBD>b<EFBFBD><03><><EFBFBD><00>G<00>V˪Bl<42>NJ<EFBFBD><C78A>w<EFBFBD>$<24> <0C>Y<EFBFBD>!<21><00>G<00><><EFBFBD><EFBFBD><EFBFBD>}C<><43>T<EFBFBD>g<EFBFBD><67><EFBFBD><EFBFBD>|<7C><><EFBFBD><00>G<00><>p7<70>;<3B>5<EFBFBD>e<EFBFBD><65>ݠ<EFBFBD><DDA0><EFBFBD><EFBFBD>e<02><00>G<00><>G~<7E>54<14><><EFBFBD><EFBFBD>P<EFBFBD><50>T<12><><00>G<00>ZJ4S(T<>݌<11><>j<EFBFBD><6A><EFBFBD><EFBFBD><18><00>G<00><>-><07>6W"<22>b<EFBFBD><62>5<EFBFBD><35><EFBFBD><EFBFBD><EFBFBD><00>G<00>NJJg$,&<26><><EFBFBD>n<><6E>h7<68>M<EFBFBD><4D><00>G<00>'!<21><><EFBFBD>u<EFBFBD><75>۬<><04><><EFBFBD>\ <20><00>G<00>9<EFBFBD><39>^kK 2U<32><55><EFBFBD>`<18><><EFBFBD> <09><00>G<00><><EFBFBD>T<EFBFBD>6<EFBFBD><1A>o<>z3<7A><33>-D<><44><EFBFBD><00>G<00><><EFBFBD>n<EFBFBD>lPB<50>/<2F><>j<EFBFBD><6A>"QF<51><46><00>G<00>^<1E>d<17>qn<71><6E>C<EFBFBD><43><EFBFBD>ptͻ<74><CDBB><00>G<00>iqe<71><65>ab="<22>L<EFBFBD><4C><EFBFBD><EFBFBD><EFBFBD><16><><00>G<00><>Α<EFBFBD>H<EFBFBD>w˴'<27><>F<><46><EFBFBD>I<EFBFBD><00>G<00><><EFBFBD><EFBFBD><EFBFBD>v<EFBFBD><76> O+<2B><10><><EFBFBD>@S<><53><EFBFBD><00>G<00><>B<EFBFBD>Mc~<7E>=<3D><><EFBFBD>hE<68> bN<62><00>G<00><>$ <0C><>.<2E>۩;r@P<><50>D0<44><00>G<00><,z<>D<EFBFBD><44>B<EFBFBD>[ho<12>o<EFBFBD><6F><00>G<00><><EFBFBD>Y$<1B><><1D><14>ƓP<C693><50><EFBFBD>I<><00><00>M<00><00>)  L<00><00>%55<00><00>5<00><00><00><00>S<00>R<00><00><00><00> <00><00><00>v <00>xV<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>yV<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>zV<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>{V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00> |V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>}V<00><><7F><EFBFBD><EFBFBD><00>8G<00><00>~V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>(<00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>,<00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>0<00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>4<00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>8<00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><<00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>@<00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>
<00><00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>*<2A><><EFBFBD><19>J<EFBFBD><4A>:<10> ˍV<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00><> <0A>
z=D<><44>3<00>X;q<>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00><><EFBFBD>M<><4D>M<EFBFBD><4D>Um<55><6D><EFBFBD>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>8<05>C葾O<E891BE><4F>DWw ׃V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>.d^g<>MxE<78><45>z!<21>tKw<4B>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00><><EFBFBD><EFBFBD>{9GG<47><47>Q<EFBFBD>H`e
<EFBFBD>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>ԈgZ78H<38><48><EFBFBD>x~<M.zV<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><10><10>G<EFBFBD>?)GFw<46>x{V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>0<04>*ؚ~D<> <15><><EFBFBD>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>L<><4C><EFBFBD><EFBFBD><EFBFBD>K<EFBFBD>E<EFBFBD>'<27><13><>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>\<5C>>><3E><>L<>*p<1D>x<EFBFBD>kxV<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00><><EFBFBD><EFBFBD>ʚ<EFBFBD>O<EFBFBD>w<EFBFBD>%u<><75>L~V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00><>*hڲ<68>F<EFBFBD><15><>%<25><><EFBFBD><EFBFBD>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>’*9Y}<7D>J<EFBFBD><EFBFBD> ƣ<>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00><08>n<EFBFBD>)<29>O<EFBFBD><4F><EFBFBD>W<EFBFBD>Ȼs<C8BB>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>Xyv<1B><>M<EFBFBD><4D>e<EFBFBD><65><EFBFBD>4<EFBFBD><34>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>"<22>[<5B> 4,G<>1<EFBFBD><31><EFBFBD><EFBFBD>]<5D>yV<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>V`<60><>(<28><>C<EFBFBD><07><>tt<>|V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>b<EFBFBD><62>'QCI<43><49><EFBFBD><EFBFBD>O<1C><>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>LSa<53><61><EFBFBD>D<EFBFBD><44><EFBFBD>&ɍ|<7C><>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><15><><EFBFBD>]<5D>H<EFBFBD>O,<<3C><><EFBFBD>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00><><EFBFBD>D<EFBFBD><44><EFBFBD>L<EFBFBD><4C>M(b
<EFBFBD>M<00><00><00>m<00>M<00><><19>5<EFBFBD>"׋^)<29>D<EFBFBD> <1C>)E<00>CPUSimEmitter.InterpolatedSpawnExperimentalVMDisabledFailIfNotSetMessageSeverity: 3)PreserveAttribute=Particles.CameraOffset"PreserveAttribute=Particles.Color5PreserveAttribute=Particles.DynamicMaterialParameter6PreserveAttribute=Particles.DynamicMaterialParameter16PreserveAttribute=Particles.DynamicMaterialParameter26PreserveAttribute=Particles.DynamicMaterialParameter3+PreserveAttribute=Particles.MaterialRandom&PreserveAttribute=Particles.MeshIndex,PreserveAttribute=Particles.MeshOrientation*PreserveAttribute=Particles.NormalizedAge%PreserveAttribute=Particles.Position2PreserveAttribute=Particles.Previous.CameraOffset5PreserveAttribute=Particles.Previous.MeshOrientation.PreserveAttribute=Particles.Previous.Position+PreserveAttribute=Particles.Previous.Scale.PreserveAttribute=Particles.Previous.Velocity"PreserveAttribute=Particles.Scale*PreserveAttribute=Particles.SubImageIndex%PreserveAttribute=Particles.Velocity*PreserveAttribute=Particles.VisibilityTagTrimAttributesG<00><00><00>(V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>)V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>*V<00>|<7C><><EFBFBD><EFBFBD><00>8G<00><00>+V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>,V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>D4#4<00>A<00><00>Gۙ<DB99><7F><EFBFBD><EFBFBD><07>e<EFBFBD>/<2F><>8AN+<2B>c<EFBFBD>T<00><00>:T<00><00><00><00>G<07>d<0F>,<2C><13>><3E><>}<7D><>:.<2E>U<EFBFBD><00>G<08>\h<><45><D588><00><>g><3E><07><>+<2B><00>G<18>V<EFBFBD><56>4><3E>C<EFBFBD><43>R<EFBFBD><52>5y<35>J<EFBFBD><4A><00>G<18>+(<28><>==<3D>r<EFBFBD> <13><>:1<>ع<EFBFBD><00>Gn<><6E><EFBFBD><EFBFBD><EFBFBD>^<5E><>,<2C>C<>̙E5<45><35><00>G<1B>e<EFBFBD><65>Z!CeO R<><52>ٟ(<28><00>G"<22>!<21>2H(<eɉr<C989><72><EFBFBD><EFBFBD><EFBFBD><16>Y<EFBFBD><00>G&<26><>dX<64>!P<><50>^<5E>2<EFBFBD>><3E><><EFBFBD><EFBFBD><EFBFBD><00>G(<28><><EFBFBD>e<02>)v`<60>Ar!<21><>,}p<><70><00>G-C` <0A><><EFBFBD>L<13>u<x<1D>W'<27><<3C><00>G-QJ/<2F>W/52ړ<32><DA93>-<2D><>k<EFBFBD><6B><EFBFBD><00>G2<>
<EFBFBD><EFBFBD>k<EFBFBD>(1W<31><>f<EFBFBD>1=<3D><00>G4<>"3 <0C><><EFBFBD><EFBFBD>բ<EFBFBD>wr<77>w#<06><><00>G607IZ$<24><>\a<>a<EFBFBD>jzm<7A><6D><EFBFBD><00>G;C<>7<EFBFBD><37>0FZ<1D>º<EFBFBD><C2BA>o*"<13><00>G@<40>nLV<4C><56>QF<51><46><EFBFBD>XTUM]<5D><><EFBFBD><EFBFBD><00>GA.<2E><>/<1A>y<EFBFBD><79><EFBFBD>ac<61>ـ<EFBFBD><D980><EFBFBD><00>GJ7h4ځ|عp㠾7y<>z<1E><><00>GPpg<70>N
<0C>'<27><>J <0C><>l<EFBFBD> <08><00>G_p_7 7sp!<21><>0my@<40><16><><EFBFBD><00>G_<><5F>1<EFBFBD> W<>2<EFBFBD><32>s<EFBFBD><73><00>Ge<>Y;<3B>,Al<41> q<><71><66>|<19><00>Gr<><72><EFBFBD>i<EFBFBD>1<EFBFBD><31><EFBFBD><EFBFBD>p<EFBFBD>n<EFBFBD>D<EFBFBD><44><EFBFBD><EFBFBD><EFBFBD><00>Gu<>hFe-y #<23>\-C!=<3D><>b5~<7E><00>Gy<>P|<7C>Q<EFBFBD><01> <12><><EFBFBD>ʪˁ<CAAA><CB81><EFBFBD><00>G T<><54><EFBFBD><1F><>WTνW<CEBD>7<EFBFBD><37><EFBFBD><EFBFBD><00>G><3E>/qwi؈YaL6<4C>J<EFBFBD><4A><EFBFBD><EFBFBD><00>G<00>7Q <20><><18><>ߴ<EFBFBD><DFB4><EFBFBD>&Уsj<73><00>G<00>
=]<5D><>z<EFBFBD>ݱ<EFBFBD><DDB1><EFBFBD><EFBFBD><EFBFBD> {D<>z<EFBFBD><00>G<00><><EFBFBD><EFBFBD>H^<<3C><><EFBFBD>adIN<49><4E><EFBFBD>̀<EFBFBD><CC80><00>G<00>*C<01><>pU<70>ٔ<><D994><EFBFBD>vUW<55><57><00>G<00>*<2A>|L~<7E>_$<24>/K<>̑n>#<05><00>G<00> <0A><><10><>?<3F><>v<EFBFBD><76><EFBFBD>\Ia<49><01><00>G<00>0<EFBFBD>V<EFBFBD>!P<>Bt)<29><>"<22><>t-<13><><00>G<00><>"{m~~<7E><><EFBFBD><EFBFBD><13><>k<EFBFBD>S<EFBFBD>6<EFBFBD><00>G<00><><EFBFBD><EFBFBD>C%<25><>U<EFBFBD><55>[<5B><><EFBFBD><EFBFBD><EFBFBD>^<5E><><00>G<00>S:6"<22><>S<EFBFBD><53><EFBFBD><EFBFBD>̤4R<34><52><EFBFBD><EFBFBD><00>G<00>\<5C>۝<EFBFBD>#,<2C><><EFBFBD><EFBFBD><><DEA0><EFBFBD>P~<7E><00>G<00><>J<EFBFBD><4A><EFBFBD><EFBFBD>@<40><><EFBFBD> <20>x<EFBFBD>b<EFBFBD><03><><EFBFBD><00>G<00>V˪Bl<42>NJ<EFBFBD><C78A>w<EFBFBD>$<24> <0C>Y<EFBFBD>!<21><00>G<00><><EFBFBD><EFBFBD><EFBFBD>}C<><43>T<EFBFBD>g<EFBFBD><67><EFBFBD><EFBFBD>|<7C><><EFBFBD><00>G<00><>p7<70>;<3B>5<EFBFBD>e<EFBFBD><65>ݠ<EFBFBD><DDA0><EFBFBD><EFBFBD>e<02><00>G<00><>G~<7E>54<14><><EFBFBD><EFBFBD>P<EFBFBD><50>T<12><><00>G<00>ZJ4S(T<>݌<11><>j<EFBFBD><6A><EFBFBD><EFBFBD><18><00>G<00><>-><07>6W"<22>b<EFBFBD><62>5<EFBFBD><35><EFBFBD><EFBFBD><EFBFBD><00>G<00>NJJg$,&<26><><EFBFBD>n<><6E>h7<68>M<EFBFBD><4D><00>G<00>'!<21><><EFBFBD>u<EFBFBD><75>۬<><04><><EFBFBD>\ <20><00>G<00>9<EFBFBD><39>^kK 2U<32><55><EFBFBD>`<18><><EFBFBD> <09><00>G<00><><EFBFBD>T<EFBFBD>6<EFBFBD><1A>o<>z3<7A><33>-D<><44><EFBFBD><00>G<00><><EFBFBD>n<EFBFBD>lPB<50>/<2F><>j<EFBFBD><6A>"QF<51><46><00>G<00>^<1E>d<17>qn<71><6E>C<EFBFBD><43><EFBFBD>ptͻ<74><CDBB><00>G<00>iqe<71><65>ab="<22>L<EFBFBD><4C><EFBFBD><EFBFBD><EFBFBD><16><><00>G<00><>Α<EFBFBD>H<EFBFBD>w˴'<27><>F<><46><EFBFBD>I<EFBFBD><00>G<00><><EFBFBD><EFBFBD><EFBFBD>v<EFBFBD><76> O+<2B><10><><EFBFBD>@S<><53><EFBFBD><00>G<00><>B<EFBFBD>Mc~<7E>=<3D><><EFBFBD>hE<68> bN<62><00>G<00><>$ <0C><>.<2E>۩;r@P<><50>D0<44><00>G<00><,z<>D<EFBFBD><44>B<EFBFBD>[ho<12>o<EFBFBD><6F><00>G<00><><EFBFBD>Y$<1B><><1D><14>ƓP<C693><50><EFBFBD>I<><00>L<00><00><><00>F<00>7<00><00>G
[<5B>MMMMMNNNMM M
M M M
M NM MMMMMM M!M"M#M$NM%M&M'[<5B>[<5B>[<5B>& <00><00>!% !"+"<00><02>! "\[<5B><01> \[<5B> <00>#<00>$<00>%<00>&%%'$$'%&&%$ $%%<00>$$<00>%%<00>$L%;%<00>+<00><02>%#<01>&<01>'(&)'*(+),*-+.<00>/,/0-/,./-0.,/-,**-))-0++0-%-<00>0-1)1-*12+13L01;1<00>0+0-<00>1+02<00>-+03<00>21$0-$12$-0213-4<01>)05<01>*1)<01>+-*))+55+-**-+%+<00>-+050+)01*0)0*L-0;0<00>-+-+<00>0+-1<00>++-)<00>1+-*<00>))<00>*0*)+*-1*+W<00><05>2<EFBFBD>3<EFBFBD>4<EFBFBD>)<29>-<2D>+<2B><><02>*0156789:<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>F1C0)+)8<00>+)9<00>++):<00>-+)5<00>0+)6<00>1+)7<00>2
)
+3
-4051627368)58647655$6%6<00>5%677)873974:.7/;,<07=1;02<1302)=20410))$0 0)601 122<00>1)12)2<00>)D5)1+1<00>2)<01>)11.21/31,4)1+582)+5932+5:43+514+5661+5006&6<00>0
5
+6
-788&98'&8('6/(5.(87,8(6&8598&7'&5(5&%&<00>'.&/(,.+04,+'<00><02>/(+4&45.-54445545+65-7&45(64.76#<00>7#<00>8#<00>97&:8(79.87+9:978-794+75786-87787+:7-;5874:86;:88;77;<::<;%;<00><;=7=;8=>:=?L<=;=<00><+<;<00>=+<><00>;+<?<00>>7<00><8<00>7:<00>8<#:7#<8#7+'<00><02>8=8';8?>8@'98?9'@9?:89<'@7?A@@B99BCAACB%B<00>CBD9DB@D9AD@LCA;A<00>C+CB<00>A+C9<00>B+C@<00>9;B@=A@;>9;=&=<00>9+9:8;+9<'8+97?';<00>78<00>9'<00>87'9789'<00>7<00>'9<00>7584'67'+47574-64554+56-57<01>/545/6547568/54/'6+0)'+02)+032((3&&34..43%3<00>436&63(6&.6(L4.;.<00>4+43<00>.+4&<00>3+4(<00>&3+(.(3&-3(%(<00>&C&0(+(<00><02>&+(<00><02>.+(<00>3+(54+(/5+(/#&(.&3.(,43&,56.,/7,<00>83896837869,73,86,388677693396%6<00>96:7:68:;3:<L9:;:<00>9+96<00>:+9;<00>6+9<<00>;:$96$:;$6'9;):<26=<01>79><01>8:9<01>36:996>>6?::?6%6<00>?6@>@69@>:@9@:L?@;@<00>?+?6<00>@+?><00>6+?9<00>>+?:<00>99<00>:@:'96:)?>:26W<01><06>;<3B><<3C>=<3D>9<EFBFBD>?<3F>6<EFBFBD><36><02>:>@ABCDEF<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>F@C>6+6D<00>+6E<00>9+6F<00>;+6A<00><+6B<00>=+6C<00>>
6
9?
;@<'A=)B>2C?BD6ADB@CBAA$B%B<00>A%BCC6'%C?)DC@2E'7C)8F23G<CH=F<>G=?<>6H><@=<66$< <6B<= =>><00>=6=>)><00>6DA6=+=<00>>6<01>6==7'>=8)?=32@,6=+A%>6+AD?%+AE@>+A,=?+ABB=+A<<@&@<00><
@
9A
;B,,CC(DC&(C.&A8.@7.CB3C.A(C@DC(B&(@.@&%&<00>(7,&8,.3,7+<?,3+(<00><02>,.98&8?7;?888??8?9@?;A&8?.@87A@#<00>A#<00>B#<00>CA&DB.AC7BA9CDCAB;AC89A?AB@;BAABA9DA;E?BA8DB@EDBBEAAEFDDFE%E<00>FEGAGEBGHDGILFG;G<00>F+FE<00>G+FH<00>E+FI<00>HA<00>FB<00>AD<00>BF#DA#FB#A+(<00><02>#G#(E#BH#I(C#BC(ICBD#CF(IABJIIKCCKLJJLK%K<00>LKMCMKIMCJMILLJ;J<00>L+LK<00>J+LC<00>K+LI<00>CEKIGJIEHCEG&G<00>C+CD#E+CF(#+CAB(E<00>A#<00>B(<00>#A(BA#B(<00>A<00>#B<00>(?A8#@(#98(?(8;@8((89(?;(@<01>,(8(,?(8@(?A,(8,#?+<6'#+<%)'+<>2%..)&&)2772)%)<00>2)6&6).6&76.L26;6<00>2+2)<00>6+2&<00>)+2.<00>&)9.6.)&;).%.<00>&C&<)+)(4&+),5(+)/,D0<,<00>)+).%1<00>%=<00>)C)/L2;2<00>+<00><02>2L);<00>)+)<00><02>2)<00>)2'2<00>D/1<00>'=)'<01>=D)/D/+#+')+%/+&1+(&+,(+<00><02>,+<00><02>4+<00>5+3+<00><02>3+<00><02>6+<00><02>7+#8+')+%/#+<00>1%+<00>&'+<00>(&+<00>,(+<00>4)+<00>5,+/+<00>3+<00>61+<00>73+<00>+<00>+<00>+<00><02>+<00><02>4+<00><02>599667;;76%6<00>76==69=;=9L7;;;<00>7+76<00>;+7<00>6+79<00>+<;<00>7+<6<00>9+<<00>6+07+0+9+0-6+'-%-0&+0--0-6-+7%0-'60&7667+0979;+-76+7+90+-+99;;++%<00>+7;797;79L+;<00>7+7<00>+7;<00>+79<00>;007--70660-%-<00>0-66-L06;6<00>0+0-<00>6++<00>-++<00>++<00>;++<00>60<01>$+0+$<01>$++-$++++D<00>$$$+-+  +0 6 7 9 ;-- <- =- > - ? @A-<<00>?=@-><00>A<=79<00>-;<00><<00>=-+06<00>--++++-+-++ +- + ++\[ <00>--(-)(-,)/%,(/')/&%,&1'%3/<00>%&%('%&%'(&1'3%/8&/'%/#<00>##(4#5#)(/#/()//)//)),,%<00>,-)--)--L,-;-<00>/+/<00>-+/)<00>+/<00>)+/<00><00>--/))//-//-)/))/-))---)-0-+1+-345//+6/7/8/9+;</6<00>97;/8<00><6-734<00>/5<00>6-<00>7/)01<00>-+,/)+,+,++,\\\V!S S$SSST*T:TSS S
S)S S
S S" T.S& S'SS S S SSSSSSSSSSS2SS#S( S!S"S#S$TS%S&S%'\<00><00>lN<00>lk<00><00> <00><00>! <00><00><00>jV<00><><7F><EFBFBD><EFBFBD><00>8G<00><00>jV<00><><7F><EFBFBD><EFBFBD><00>8G<00><00>jV<00><><7F><EFBFBD><EFBFBD><00>8G<00><00>jV<00><><7F><EFBFBD><EFBFBD><00>8G<00><00>jV<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00><>'7jV<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><17><>8jV<00><><7F><EFBFBD><EFBFBD><00>8G<00><00><00><><EFBFBD><EFBFBD>jV<00><><7F><EFBFBD><EFBFBD><00>8G<00><00>jV<00><><7F><EFBFBD><EFBFBD><00>8G<00><00>j V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>u<>j
V<00><><7F><EFBFBD><EFBFBD><00>8G<00><00>j V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>o<12>:j V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>@@j V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>7<EFBFBD>5jV<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>?jV<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>jV<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00><><18>jV<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>?jV<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00><><EFBFBD>.jV<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00><>jV<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>@jV<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>CjV<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00><0E>jV<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00><><EFBFBD>=jV<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00><>?jV<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>
<EFBFBD>#<23>jV<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>
<EFBFBD>#<jV<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>>jV<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>BjV<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>jV<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00><0F>@jV<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>@j V<00><><7F><EFBFBD><EFBFBD><00>8G<00><00><00>S <00><00> <00>xV<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>yV<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>@zV<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>>{V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>|V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>C}V<00><><7F><EFBFBD><EFBFBD><00>8G<00><00>~V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>?V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00> @@@@@@<40>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>?<3F>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>?<3F>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>?<3F>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>?<3F>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>?<3F>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00><><EFBFBD>=<3D>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>?<3F>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00><>?<3F>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>?<3F>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>?<3F>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00> <00>?<3F>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>?<3F>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>?<3F>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00> V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><F<>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><01><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>?<3F>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00> <00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00> <00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8
<00> n<00>T
<00><00>r<00>,V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00><00><00><00>r<00> V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00><><EFBFBD><EFBFBD><EFBFBD><00><00><00>n<00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00><00> Trimmed<00><00>n<00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00><00> Trimmed<00><00>n<00>V<00><><7F><EFBFBD><EFBFBD><00>8G<00><00><00><00> Trimmed<00><00>n<00>V<00><><7F><EFBFBD><EFBFBD><00>8G<00><00><00><00> Trimmed<00><00>n<00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00><00> Trimmed<00><00>n<00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00><00> Trimmed<00><00>n<00>'V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00><00> Trimmed<00><00>n<00>&V<00>|<7C><><EFBFBD><EFBFBD><00>8G<00><00><00><00> Trimmed<00><00>n<00>%V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00><00> Trimmed<00><00>n<00>.V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00><00> Trimmed<00><00>n<00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00><00> Trimmed<00>Q <00><00> <00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>XV<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>YV<00><><7F><EFBFBD><EFBFBD><00>8G<00><00>[V<00><><7F><EFBFBD><EFBFBD><00>8G<00><00>]V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>|V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><><7F><EFBFBD><EFBFBD><00>8G<00><00>@V<00>|<7C><><EFBFBD><EFBFBD><00>8G<00><00>EV<00><00><><EFBFBD><EFBFBD><EFBFBD><00>
Note that this is the ASYNC version of the trace function, meaning it will not returns the result right away, but with one frame latency._<00><00><00><00>IV<00><><7F><EFBFBD><EFBFBD><00>8G<00><00>#NiagaraDataInterfaceCollisionQuery+TraceAsync_PreviousFrameQueryIDDescription<00>The query ID returned from the last frame's async trace call.
Regardless if it is a valid ID or not this function call with issue a new async line trace, but it will only return results with a valid ID.<00>V<00>|<7C><><EFBFBD><EFBFBD><00>8G<00><00>#NiagaraDataInterfaceCollisionQueryTraceStartWorldDescription"Ray starting point in world space<00>V<00>|<7C><><EFBFBD><EFBFBD><00>8G<00><00>#NiagaraDataInterfaceCollisionQueryTraceEndWorldDescriptionRay end point in world space<00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>#NiagaraDataInterfaceCollisionQueryTraceChannelDescription`The trace channel to collide against. Trace channels can be configured in the project settings.<00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>#NiagaraDataInterfaceCollisionQuerySkipTraceDescription<00>If true then the trace will be skipped completely.
This can be used as a performance optimization, as branch nodes in the graph still execute every path.<00><00> <00><00><00>V<00><><7F><EFBFBD><EFBFBD><00>8G<00><00>#NiagaraDataInterfaceCollisionQuery'TraceAsync_NextFrameQueryIDDescriptionJThe query ID to save and use as input to this function in the next frame.fV<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>#NiagaraDataInterfaceCollisionQueryCollisionValidDescription\Returns true if the trace was not skipped and the trace was blocked by some world geometry.mV<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>#NiagaraDataInterfaceCollisionQueryIsTraceInsideMeshDescriptionVIf true then the trace started in penetration, i.e. with an initial blocking overlap.dV<00>|<7C><><EFBFBD><EFBFBD><00>8G<00><00>#NiagaraDataInterfaceCollisionQueryCollisionPosWorldDescriptionJIf the collision is valid, this returns the location of the blocking hit.cV<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>#NiagaraDataInterfaceCollisionQueryCollisionNormalDescriptionXIf the collision is valid, this returns the normal at the position of the blocking hit.`V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>#NiagaraDataInterfaceCollisionQuery%CollisionMaterialFrictionDescription<00>Friction value of surface, controls how easily things can slide on this surface (0 is frictionless, higher values increase the amount of friction).bV<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>#NiagaraDataInterfaceCollisionQuery(CollisionMaterialRestitutionDescriptionqRestitution or 'bounciness' of this surface, between 0 (no bounce) and 1 (outgoing velocity is same as incoming)aV<00><><7F><EFBFBD><EFBFBD><00>8G<00><00>#NiagaraDataInterfaceCollisionQuery"CollisionMaterialIndexDescriptioncReturns the index of the surface as defined in the ProjectSettings/Physics/PhysicalSurface section<00>W<00>ZX<00><00>.4<00><00> Shell_Eject<00><00><00>\ l<00><00>b<00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>V<00><00>V<00><00><00><00><00>:c7<00>c<00><00>eV<00><><7F><EFBFBD><EFBFBD><00>8G<00><00>eV<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>IV<00><><7F><EFBFBD><EFBFBD><00>8G<00><00><00>V<00>|<7C><><EFBFBD><EFBFBD><00>8G<00><00><00>V<00>|<7C><><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00><00><00><00><00>p<00><00>V<00><><7F><EFBFBD><EFBFBD><00>8G<00><00>fV<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>m
Note that this is the ASYNC version of the trace function, meaning it will not returns the result right away, but with one frame latency._<00><00><00><00>IV<00><><7F><EFBFBD><EFBFBD><00>8G<00><00>#NiagaraDataInterfaceCollisionQuery+TraceAsync_PreviousFrameQueryIDDescription<00>The query ID returned from the last frame's async trace call.
Regardless if it is a valid ID or not this function call with issue a new async line trace, but it will only return results with a valid ID.<00>V<00>|<7C><><EFBFBD><EFBFBD><00>8G<00><00>#NiagaraDataInterfaceCollisionQueryTraceStartWorldDescription"Ray starting point in world space<00>V<00>|<7C><><EFBFBD><EFBFBD><00>8G<00><00>#NiagaraDataInterfaceCollisionQueryTraceEndWorldDescriptionRay end point in world space<00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>#NiagaraDataInterfaceCollisionQueryTraceChannelDescription`The trace channel to collide against. Trace channels can be configured in the project settings.<00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>#NiagaraDataInterfaceCollisionQuerySkipTraceDescription<00>If true then the trace will be skipped completely.
This can be used as a performance optimization, as branch nodes in the graph still execute every path.<00><00> <00><00><00>V<00><><7F><EFBFBD><EFBFBD><00>8G<00><00>#NiagaraDataInterfaceCollisionQuery'TraceAsync_NextFrameQueryIDDescriptionJThe query ID to save and use as input to this function in the next frame.fV<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>#NiagaraDataInterfaceCollisionQueryCollisionValidDescription\Returns true if the trace was not skipped and the trace was blocked by some world geometry.mV<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>#NiagaraDataInterfaceCollisionQueryIsTraceInsideMeshDescriptionVIf true then the trace started in penetration, i.e. with an initial blocking overlap.dV<00>|<7C><><EFBFBD><EFBFBD><00>8G<00><00>#NiagaraDataInterfaceCollisionQueryCollisionPosWorldDescriptionJIf the collision is valid, this returns the location of the blocking hit.cV<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>#NiagaraDataInterfaceCollisionQueryCollisionNormalDescriptionXIf the collision is valid, this returns the normal at the position of the blocking hit.`V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>#NiagaraDataInterfaceCollisionQuery%CollisionMaterialFrictionDescription<00>Friction value of surface, controls how easily things can slide on this surface (0 is frictionless, higher values increase the amount of friction).bV<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>#NiagaraDataInterfaceCollisionQuery(CollisionMaterialRestitutionDescriptionqRestitution or 'bounciness' of this surface, between 0 (no bounce) and 1 (outgoing velocity is same as incoming)aV<00><><7F><EFBFBD><EFBFBD><00>8G<00><00>#NiagaraDataInterfaceCollisionQuery"CollisionMaterialIndexDescriptioncReturns the index of the surface as defined in the ProjectSettings/Physics/PhysicalSurface section<00>W<00>\X<00><00>.4<00><00> Shell_Eject<00>Pe<00>P<00>0$<00><00>:<00>Za4
<01>l E5<00>E<00>%5<00><00><00>5<00><00><00><00><00><00>:<00>\a4
<01>l E5<00>E<00>%5<00><00><00>5<00><00><00><00><00><00><00> <00><00><00><00>B<00><00>A<00><00><00>B<00>8A<00>7<00>B<00>LA<00>K<00>B<00><00>A<00><00><00>B<00>_A<00>^<00>B<00><00>A<00><00><00>B<00><00>A<00><00><00>B<00><00>A<00><00><00>B<00><00>A<00><00><00>w<00>QjMj// Shader generated by Niagara HLSL Translator
// Compile Tags:
// Variable: "bIsInfinitelyLived(False)" StringValue: ""
// Variable: "bCanDieWhenEmitterDeactivates(True)" StringValue: ""
// Variable: "Particles.HasCollided((null))" StringValue: "Trimmed"
// Variable: "Particles.Collision.SafeCombinedCollisionNormal((null))" StringValue: "Trimmed"
// Variable: "Particles.Collision.CollisionQueryAndResponse.Collision1MaterialIndex((null))" StringValue: "Trimmed"
// Variable: "Particles.Collision.CollisionQueryAndResponse001.Collision2MaterialIndex((null))" StringValue: "Trimmed"
// Variable: "Particles.Collision.DoOnce_fn001.Execute((null))" StringValue: "Trimmed"
// Variable: "Particles.DistanceTraveled((null))" StringValue: "Trimmed"
// Variable: "Particles.Presolve.Velocity((null))" StringValue: "Trimmed"
// Variable: "Particles.Presolve.Position((null))" StringValue: "Trimmed"
// Variable: "Particles.Presolve.PhysicsForce((null))" StringValue: "Trimmed"
// Variable: "Particles.RibbonUVDistance((null))" StringValue: "Trimmed"
// Variable: "Particles.InitialRotation((null))" StringValue: "Trimmed"
// Compile Tags Editor Only:
// Compile Data> Static Variables Input:
// Variable: Constants.Emitter.SolveForcesAndVelocity.Manually Enable Rotational Solver(False)
// Variable: Particles.RotationalVelocityEnabled(True)
// Variable: SolveForcesAndVelocity.Manually Enable Rotational Solver(False)
// Compile Data> PinToConstantValues Input:
// Pin: /Add Rotational Velocity/Map Set/Map Set->Particles.RotationalVelocityEnabled Value: true
// Pin: /Solve Forces and Velocity/Map Get/Map Get->Particles.RotationalVelocityEnabled Value: True
// Pin: /Solve Forces and Velocity/Map Get/Map Get->Module.Manually Enable Rotational Solver Value: False
// Pin: /Solve Forces and Velocity/Logic OR (Static)/Logic OR (Static)->Result Value: 1
// Pin: /Solve Forces and Velocity/Reroute Node/Reroute Node->InputPin Value: 1
// Pin: /Solve Forces and Velocity/Reroute Node/Reroute Node->OutputPin Value: 1
// Pin: /Solve Forces and Velocity/Reroute Node/Reroute Node->InputPin Value: 1
// Pin: /Solve Forces and Velocity/Reroute Node/Reroute Node->OutputPin Value: 1
// Pin: /Solve Forces and Velocity/Map Get/Map Get->Particles.DragLocalOffsetEnabled Value: Particles.DragLocalOffsetEnabled
// Pin: /Solve Forces and Velocity/Reroute Node/Reroute Node->InputPin Value: Particles.DragLocalOffsetEnabled
// Pin: /Solve Forces and Velocity/Reroute Node/Reroute Node->OutputPin Value: Particles.DragLocalOffsetEnabled
struct NiagaraID
{
int Index;
int AcquireTag;
};
cbuffer FNiagaraGlobalParameters
{
float Engine_WorldDeltaTime;
float Engine_DeltaTime;
float Engine_InverseDeltaTime;
float Engine_Time;
float Engine_RealTime;
int Engine_QualityLevel;
int Engine_PaddingInt32_0;
int Engine_PaddingInt32_1;
}
cbuffer FNiagaraSystemParameters
{
float Engine_Owner_TimeSinceRendered;
float Engine_Owner_LODDistance;
float Engine_Owner_LODDistanceFraction;
float Engine_System_Age;
int Engine_Owner_ExecutionState;
int Engine_System_TickCount;
int Engine_System_NumEmitters;
int Engine_System_NumEmittersAlive;
int Engine_System_SignificanceIndex;
int Engine_System_RandomSeed;
int Engine_System_CurrentTimeStep;
int Engine_System_NumTimeSteps;
float Engine_System_TimeStepFraction;
int Engine_System_NumParticles;
int Engine_System_PaddingInt32_0;
int Engine_System_PaddingInt32_1;
}
cbuffer FNiagaraOwnerParameters
{
float4x4 Engine_Owner_SystemLocalToWorld;
float4x4 Engine_Owner_SystemWorldToLocal;
float4x4 Engine_Owner_SystemLocalToWorldTransposed;
float4x4 Engine_Owner_SystemWorldToLocalTransposed;
float4x4 Engine_Owner_SystemLocalToWorldNoScale;
float4x4 Engine_Owner_SystemWorldToLocalNoScale;
float4 Engine_Owner_Rotation;
float3 Engine_Owner_Position;
int Engine_Owner_PaddingInt32_0;
float3 Engine_Owner_Velocity;
int Engine_Owner_PaddingInt32_1;
float3 Engine_Owner_SystemXAxis;
int Engine_Owner_PaddingInt32_2;
float3 Engine_Owner_SystemYAxis;
int Engine_Owner_PaddingInt32_3;
float3 Engine_Owner_SystemZAxis;
int Engine_Owner_PaddingInt32_4;
float3 Engine_Owner_Scale;
int Engine_Owner_PaddingInt32_5;
float4 Engine_Owner_LWCTile;
}
cbuffer FNiagaraEmitterParameters
{
int Engine_Emitter_NumParticles;
int Engine_Emitter_TotalSpawnedParticles;
float Engine_Emitter_SpawnCountScale;
float Emitter_Age;
int Emitter_RandomSeed;
int Engine_Emitter_InstanceSeed;
int Engine_Emitter_PaddingInt32_0;
int Engine_Emitter_PaddingInt32_1;
}
cbuffer FNiagaraExternalParameters
{
}
struct FParamMap0_Transient
{
float3 AdvectionVelocity;
float Collision_ParticleInverseMassReplacement;
float Collision_ParticleMassReplacement;
float3 Collision_ParticlePhysicsForceReplacement;
float3 Collision_ParticlePositionReplacement;
float3 Collision_ParticleVelocityReplacement;
float3 Collision_PredictedParticlePositionForSimStages;
float CollisionDistanceToCollision;
float CollisionFriction;
bool CollisionIsResting;
float3 CollisionNormal;
float3 CollisionParticleRelativeCollisionLocation;
float3 CollisionParticleWorldPosition;
float CollisionRestitution;
float CollisionSize;
bool CollisionValid;
float3 CollisionVelocity;
float3 CollisionWorldPosition;
bool DragIgnoreMass;
bool FirstFrame;
bool HasAppliedRotationalSolver;
float PhysicsDeltaTime;
float PhysicsDrag;
float3 PhysicsForce;
float PhysicsRotationalDrag;
float3 PhysicsRotationalForce;
};
struct FParamMap0_SolveRotationalForcesAndVelocity
{
float DeltaTime;
float4 MeshOrientation;
float RotationalInertia;
float3 RotationalVelocity;
bool WritetoIntrinsicProperties;
};
struct FParamMap0_SolveForcesAndVelocity
{
float DeltaTime;
float3 Force;
float Mass;
float4 MeshOrientation;
float3 Position;
float3 PreviousVelocity;
float3 RotationalForce;
float RotationalInertia;
float3 RotationalVelocity;
float3 Velocity;
bool WritetoIntrinsicProperties;
};
struct FParamMap0_ParticleState
{
float DeltaTime;
float Lifetime;
};
struct FParamMap0_Particles_Previous
{
float4 MeshOrientation;
float3 Position;
float3 Scale;
float3 Velocity;
};
struct FParamMap0_Particles_Presolve
{
float3 PhysicsForce;
float3 Position;
float3 Velocity;
};
struct FParamMap0_Particles_Collision_DoOnce_fn001
{
bool Execute;
bool TriggeredOnce;
};
struct FParamMap0_Particles_Collision_CollisionQueryAndResponse001
{
int Collision2MaterialIndex;
int CollisionID;
};
struct FParamMap0_Particles_Collision_CollisionQueryAndResponse
{
int Collision1MaterialIndex;
int CollisionID;
};
struct FParamMap0_Particles_Collision
{
float4 AxisAngle;
FParamMap0_Particles_Collision_CollisionQueryAndResponse CollisionQueryAndResponse;
FParamMap0_Particles_Collision_CollisionQueryAndResponse001 CollisionQueryAndResponse001;
FParamMap0_Particles_Collision_DoOnce_fn001 DoOnce_fn001;
float3 SafeCombinedCollisionNormal;
};
struct FParamMap0_Particles
{
float Age;
FParamMap0_Particles_Collision Collision;
float DistanceTraveled;
bool HasCollided;
float4 InitialRotation;
float Lifetime;
float Mass;
float MaterialRandom;
float4 MeshOrientation;
float NormalizedAge;
int NumberOfCollisions;
float3 Position;
FParamMap0_Particles_Presolve Presolve;
FParamMap0_Particles_Previous Previous;
float RestCounter;
float RibbonUVDistance;
float RotationalInertia;
float3 RotationalVelocity;
float3 Scale;
int UniqueID;
float3 Velocity;
};
struct FParamMap0_OUTPUT_VAR_SolveRotationalForcesAndVelocity
{
float IncomingPhysicsRotationalDrag;
float3 IncomingPhysicsRotationalForce;
float4 MeshOrientation;
float3 RotationalVelocity;
};
struct FParamMap0_OUTPUT_VAR_SolveForcesAndVelocity
{
float IncomingPhysicsDrag;
float3 IncomingPhysicsForce;
float IncomingPhysicsRotationalDrag;
float3 IncomingPhysicsRotationalForce;
float4 MeshOrientation;
float3 Position;
float3 RotationalVelocity;
float3 Velocity;
};
struct FParamMap0_OUTPUT_VAR_ParticleState
{
bool FirstFrame;
};
struct FParamMap0_OUTPUT_VAR_Collision_CollisionQueryAndResponse001
{
float CollisionPenetrationDistance;
bool ModuleDepthBasedCollisionParticleOccluded;
bool ParticleOnScreen;
bool PhysicsCollidesThisFrame;
};
struct FParamMap0_OUTPUT_VAR_Collision_CollisionQueryAndResponse
{
float CollisionPenetrationDistance;
bool ModuleDepthBasedCollisionParticleOccluded;
bool ParticleOnScreen;
bool PhysicsCollidesThisFrame;
};
struct FParamMap0_OUTPUT_VAR_Collision
{
FParamMap0_OUTPUT_VAR_Collision_CollisionQueryAndResponse CollisionQueryAndResponse;
FParamMap0_OUTPUT_VAR_Collision_CollisionQueryAndResponse001 CollisionQueryAndResponse001;
bool CollisionValid;
float3 CombinedCollisionNormal;
float3 IncomingCollisionVelocity;
float3 ModuleCollision1Normal;
bool ModuleCollision1Valid;
float3 ModuleCollision2Normal;
bool ModuleCollision2Valid;
float3 ModuleCombinedCollisionNormal;
};
struct FParamMap0_OUTPUT_VAR
{
FParamMap0_OUTPUT_VAR_Collision Collision;
FParamMap0_OUTPUT_VAR_ParticleState ParticleState;
FParamMap0_OUTPUT_VAR_SolveForcesAndVelocity SolveForcesAndVelocity;
FParamMap0_OUTPUT_VAR_SolveRotationalForcesAndVelocity SolveRotationalForcesAndVelocity;
};
struct FParamMap0_Local_SolveRotationalForcesAndVelocity
{
float DeltaTime;
float3 ForceRotationsInRadians;
};
struct FParamMap0_Local_SolveForcesAndVelocity
{
float3 AdvectionVelocity;
float DeltaTime;
bool DragIgnoreMass;
float3 DragVelocity;
float3 ForceRotationsInRadians;
float InverseDeltaTime;
float InverseMass;
float Mass;
float PhysicsDrag;
float3 PhysicsForce;
float3 RotationalForce;
float RotationalInertia;
};
struct FParamMap0_Local_Collision_CollisionQueryAndResponse001
{
float3 ModuleAttemptedMovementThisUpdate;
float3 ModuleForceContribution;
float3 ModuleFrictionForceVectorInNewtons;
float3 ModuleFrictionForceVelocityVector;
bool ModuleInitialDataInstanceAlive;
float3 ModuleInitialForceDividedByMass;
float ModuleNormalForceInNewtons;
float ModulePercentageOfTickDedicatedToUpdatingPosition;
float ModulePhysicsDeltaTime;
float3 ModulePlaneNormal;
float3 ModulePlanePivotPoint;
float3 ModuleReflectedVelocity;
float3 ModuleReflectedVelocityWithFrictionApplied;
bool ModuleRemoveRestitution;
float3 ModuleReturnedCollisionNormal;
bool ModuleReturnedCollisionValidBool;
float3 ModuleReturnedCollisionWorldPosition;
float ModuleReturnedFriction;
float ModuleReturnedRestitution;
float ModuleTickDeltaForThisCollisionUpdate;
float3 ModuleTraceDirection;
float3 ModuleTraceOrigin;
float3 ModuleTraceVector;
float3 ModuleTraceWorldEnd;
float3 ModuleTraceWorldStart;
};
struct FParamMap0_Local_Collision_CollisionQueryAndResponse
{
float3 ModuleAttemptedMovementThisUpdate;
float3 ModuleForceContribution;
float3 ModuleFrictionForceVectorInNewtons;
float3 ModuleFrictionForceVelocityVector;
bool ModuleInitialDataInstanceAlive;
float3 ModuleInitialForceDividedByMass;
float ModuleNormalForceInNewtons;
float ModulePercentageOfTickDedicatedToUpdatingPosition;
float ModulePhysicsDeltaTime;
float3 ModulePlaneNormal;
float3 ModulePlanePivotPoint;
float3 ModuleReflectedVelocity;
float3 ModuleReflectedVelocityWithFrictionApplied;
bool ModuleRemoveRestitution;
float3 ModuleReturnedCollisionNormal;
bool ModuleReturnedCollisionValidBool;
float3 ModuleReturnedCollisionWorldPosition;
float ModuleReturnedFriction;
float ModuleReturnedRestitution;
float ModuleTickDeltaForThisCollisionUpdate;
float3 ModuleTraceDirection;
float3 ModuleTraceOrigin;
float3 ModuleTraceVector;
float3 ModuleTraceWorldEnd;
float3 ModuleTraceWorldStart;
};
struct FParamMap0_Local_Collision
{
FParamMap0_Local_Collision_CollisionQueryAndResponse CollisionQueryAndResponse;
FParamMap0_Local_Collision_CollisionQueryAndResponse001 CollisionQueryAndResponse001;
bool DebugCollided1;
bool DebugCollided2;
float3 DebugCollisionNormal1;
float3 DebugCollisionNormal2;
float3 DebugCollisionPosition1;
float3 DebugCollisionPosition2;
float3 InputForcePassthrough_NeededForSimStageExecution;
float3 InputPositionPassthrough_NeededForSimStageExecution;
float3 InputVelocityPassthrough_NeededForSimStageExecution;
bool ManuallyEnterRest;
float ModuleParticleRadius;
float3 ModuleTraceWorldEnd1;
float3 ModuleTraceWorldEnd2;
float3 ModuleTraceWorldStart1;
float3 ModuleTraceWorldStart2;
bool UpdateMeshRotation;
};
struct FParamMap0_Local
{
FParamMap0_Local_Collision Collision;
FParamMap0_Local_SolveForcesAndVelocity SolveForcesAndVelocity;
FParamMap0_Local_SolveRotationalForcesAndVelocity SolveRotationalForcesAndVelocity;
};
struct FParamMap0_Engine_System
{
float Age;
int CurrentTimeStep;
int NumEmitters;
int NumEmittersAlive;
int NumParticles;
int NumTimeSteps;
int PaddingInt32_0;
int PaddingInt32_1;
int RandomSeed;
int SignificanceIndex;
int TickCount;
float TimeStepFraction;
};
struct FParamMap0_Engine_Owner
{
int ExecutionState;
float LODDistance;
float LODDistanceFraction;
float4 LWCTile;
int PaddingInt32_0;
int PaddingInt32_1;
int PaddingInt32_2;
int PaddingInt32_3;
int PaddingInt32_4;
int PaddingInt32_5;
float3 Position;
float4 Rotation;
float3 Scale;
float4x4 SystemLocalToWorld;
float4x4 SystemLocalToWorldNoScale;
float4x4 SystemLocalToWorldTransposed;
float4x4 SystemWorldToLocal;
float4x4 SystemWorldToLocalNoScale;
float4x4 SystemWorldToLocalTransposed;
float3 SystemXAxis;
float3 SystemYAxis;
float3 SystemZAxis;
float TimeSinceRendered;
float3 Velocity;
};
struct FParamMap0_Engine_Emitter
{
int InstanceSeed;
int NumParticles;
int PaddingInt32_0;
int PaddingInt32_1;
float SpawnCountScale;
int TotalSpawnedParticles;
};
struct FParamMap0_Engine
{
float DeltaTime;
FParamMap0_Engine_Emitter Emitter;
float InverseDeltaTime;
FParamMap0_Engine_Owner Owner;
int PaddingInt32_0;
int PaddingInt32_1;
int QualityLevel;
float RealTime;
FParamMap0_Engine_System System;
float Time;
float WorldDeltaTime;
};
struct FParamMap0_Emitter
{
float Age;
int RandomSeed;
};
struct FParamMap0_DataInstance
{
bool Alive;
};
struct FParamMap0_Collision_CollisionQueryAndResponse001
{
float BounceCollisionFriction;
bool CollisionEnabled;
float CollisionNormalRandomizationPercentage;
int CPUCollisionTraceChannel;
int CPUFrictionMergeType;
float DeltaTime;
float DynamicFrictionCoefficient;
bool ManuallyEnterRest;
float MaxIntersectionCorrectionDistance;
float MaxTraceLength;
float ParticleRadius;
float ParticleRestitutionCoeffiecient;
bool RandomizeCollisionNormal;
float StaticFrictionCoefficient;
float StaticFrictionEngagementSpeed;
float TraceVectorLengthMultiplier;
bool UpdateRotationalVelocity;
};
struct FParamMap0_Collision_CollisionQueryAndResponse
{
float BounceCollisionFriction;
bool CollisionEnabled;
float CollisionNormalRandomizationPercentage;
int CPUCollisionTraceChannel;
int CPUFrictionMergeType;
float DeltaTime;
float DynamicFrictionCoefficient;
bool ManuallyEnterRest;
float MaxIntersectionCorrectionDistance;
float MaxTraceLength;
float ParticleRadius;
float ParticleRestitutionCoeffiecient;
bool RandomizeCollisionNormal;
float StaticFrictionCoefficient;
float StaticFrictionEngagementSpeed;
float TraceVectorLengthMultiplier;
bool UpdateRotationalVelocity;
};
struct FParamMap0_Collision
{
float AdvancedAgingRate;
bool CollisionEnabled;
FParamMap0_Collision_CollisionQueryAndResponse CollisionQueryAndResponse;
FParamMap0_Collision_CollisionQueryAndResponse001 CollisionQueryAndResponse001;
bool ControlRestStateViaSurfaceNormal;
bool CorrectInterpenetration;
int CPUCollisionTraceChannel;
bool EnableMaxCollisionCount;
bool EnableRestState;
bool ManuallyEnterRest;
float ParticleMass;
float3 PhysicsForce;
bool RandomizeCollisionNormalVector;
};
struct FParamMap0_Array_Previous
{
int MeshOrientation;
int Position;
int Scale;
int Velocity;
};
struct FParamMap0_Array_Presolve
{
int PhysicsForce;
int Position;
int Velocity;
};
struct FParamMap0_Array_Collision_DoOnce_fn001
{
int Execute;
int TriggeredOnce;
};
struct FParamMap0_Array_Collision_CollisionQueryAndResponse001
{
int Collision2MaterialIndex;
int CollisionID;
};
struct FParamMap0_Array_Collision_CollisionQueryAndResponse
{
int Collision1MaterialIndex;
int CollisionID;
};
struct FParamMap0_Array_Collision
{
int AxisAngle;
FParamMap0_Array_Collision_CollisionQueryAndResponse CollisionQueryAndResponse;
FParamMap0_Array_Collision_CollisionQueryAndResponse001 CollisionQueryAndResponse001;
FParamMap0_Array_Collision_DoOnce_fn001 DoOnce_fn001;
int SafeCombinedCollisionNormal;
};
struct FParamMap0_Array
{
int Age;
FParamMap0_Array_Collision Collision;
int DistanceTraveled;
int HasCollided;
int InitialRotation;
int Lifetime;
int Mass;
int MaterialRandom;
int MeshOrientation;
int NormalizedAge;
int NumberOfCollisions;
int Position;
FParamMap0_Array_Presolve Presolve;
FParamMap0_Array_Previous Previous;
int RestCounter;
int RibbonUVDistance;
int RotationalInertia;
int RotationalVelocity;
int Scale;
int UniqueID;
int Velocity;
};
struct FParamMap0
{
FParamMap0_Array Array;
FParamMap0_Collision Collision;
FParamMap0_DataInstance DataInstance;
FParamMap0_Emitter Emitter;
FParamMap0_Engine Engine;
FParamMap0_Local Local;
FParamMap0_OUTPUT_VAR OUTPUT_VAR;
FParamMap0_Particles Particles;
FParamMap0_ParticleState ParticleState;
FParamMap0_SolveForcesAndVelocity SolveForcesAndVelocity;
FParamMap0_SolveRotationalForcesAndVelocity SolveRotationalForcesAndVelocity;
FParamMap0_Transient Transient;
};
struct FSimulationContext
{
FParamMap0 Map;
};
static float HackSpawnInterp = 1.0;
void ParticleState_Emitter_Func_(inout FSimulationContext Context);
void GravityForce_Emitter_Func_(inout FSimulationContext Context);
void Drag_Emitter_Func_(inout FSimulationContext Context);
void NiagaraScript_1835_Func_(int In_SourceSpace, int In_DestinationSpace, float4x4 In_LocalToWorldTransform, float4x4 In_WorldToLocalTransform, bool In_bLocalSpace, out bool Out_bUseOriginal, out float4x4 Out_OutTransform, out bool Out_LocalToWorld, inout FSimulationContext Context);
void Collision_TransformPosition007_Emitter_Func_(float3 In_InPosition, int In_SourceSpace, int In_DestinationSpace, bool In_ApplyScale, out float3 Out_OutPosition, inout FSimulationContext Context);
void Collision_TransformVector009_Emitter_Func_(float3 In_InVector, int In_SourceSpace, int In_DestinationSpace, bool In_ApplyScale, out float3 Out_OutVector, inout FSimulationContext Context);
void Collision_TransformVector010_Emitter_Func_(float3 In_InVector, int In_SourceSpace, int In_DestinationSpace, bool In_ApplyScale, out float3 Out_OutVector, inout FSimulationContext Context);
void NiagaraScript_1890_Particle_Method_NewEnumerator0_Func_(float3 In_MeshScale, float3 In_MeshDimensions, out float Out_Radius, inout FSimulationContext Context);
void NiagaraScript_1872_Particle_Func_(float3 In_Velocity, float3 In_AdvectionVelocity, float In_InverseMass, float In_Drag, float In_DeltaTime, bool In_IgnoreMass, out float3 Out_Output, inout FSimulationContext Context);
void NiagaraScript_1845_Particle_Func_(float3 In_V, float3 In_Fallback, float In_Threshold, out float3 Out_Direction, out float Out_Length, out bool Out_BelowThreshold, inout FSimulationContext Context);
void PerformCollisionQueryAsyncCPU_Collision_CollisionQueryAndResponse_Query(int In_InstanceData, int In_PreviousFrameQueryID, float3 In_TraceStartWorld, float3 In_TraceEndWorld, int In_TraceChannel, bool In_SkipTrace, out int Out_NextFrameQueryID, out bool Out_CollisionValid, out bool Out_IsTraceInsideMesh, out float3 Out_CollisionPosWorld, out float3 Out_CollisionNormal, out float Out_CollisionMaterialFriction, out float Out_CollisionMaterialRestitution, out int Out_CollisionMaterialIndex);
void NiagaraScript_1879_Func_(float3 In_PlaneNormal, float3 In_PlanePivotPoint, float3 In_InitialSphereLocation, float3 In_SpherePositionDelta, float In_CollisionRadius, float In_PhysicsDeltaTime, float In_MaxCorrectiondistance, out bool Out_Collides, out float3 Out_IntersectionLocation, out float3 Out_PreASC45IntersectionSphereCenterLocation, out float3 Out_InitialPositionRelativeCollisionLocation, out float Out_TimeElapsedToCollision, out float Out_RemainingTimePostCollision, out float Out_PercentageofTimeUsedToPerformCollision, out float Out_InitialDistanceBetweenTheSphereASC39sSurfaceandtheCollision, out float Out_UninterruptedAnimatedSphereASC39sDistancetoCollisionPlane, inout FSimulationContext Context);
void NiagaraScript_1841_Emitter_Determinism_false_Particle_Func_(int In_Seed, int In_Engine_System_TickCount, bool In_OverrideSeed, int In_Particles_UniqueID, int In_Emitter_RandomSeed, bool In_FixedOverrideSeed, int In_RandomnessMode, out NiagaraRandInfo Out_RandomInfo, out bool Out_UseDeterministicRandoms, inout FSimulationContext Context);
void NiagaraScript_1882_Func_(float2 In_Min, float2 In_Max, int In_Seed, int In_RandomnessMode, bool In_OverrideSeed, out float2 Out_Result, inout FSimulationContext Context);
void CustomHlsl5A25A2A4455E3C692D3322A954DF887F_Func_(float3 In_From, float3 In_To, out float4 Out_Result);
void NiagaraScript_1847_Func_(float3 In_From, float3 In_To, out float4 Out_NewOutput, inout FSimulationContext Context);
void NiagaraScript_1836_Func_(float3 In_VECTOR_VAR, float4 In_Quaternion, out float3 Out_Vector, inout FSimulationContext Context);
void NiagaraScript_1881_Func_(float3 In_ConeAxis, float In_Scale, float In_Spread, out float3 Out_Ouput, inout FSimulationContext Context);
void NiagaraScript_1880_Func_(float3 In_InVector, float3 In_Normal, out float3 Out_Reflected, inout FSimulationContext Context);
void NiagaraScript_1883_Func_(float3 In_INPUT_VAR, out float3 Out_CentimeterstoMeters, out float3 Out_MeterstoCentimeters, inout FSimulationContext Context);
void NiagaraScript_1885_Particle_Func_(float3 In_VECTOR_VAR, float3 In_FallbackVector, float In_Threshold, out float3 Out_Direction, out float Out_Length, out bool Out_BelowThreshold, inout FSimulationContext Context);
void NiagaraScript_1884_Particle_Func_(float3 In_VECTOR_VAR, float3 In_Normal, bool In_NormalizeNormal, out float3 Out_Ouput, inout FSimulationContext Context);
void NiagaraScript_1886_Func_(float3 In_INPUT_VAR, out float3 Out_CentimeterstoMeters, out float3 Out_MeterstoCentimeters, inout FSimulationContext Context);
void NiagaraScript_1887_Func_(float3 In_INPUT_VAR, out float3 Out_CentimeterstoMeters, out float3 Out_MeterstoCentimeters, inout FSimulationContext Context);
void Collision_CollisionQueryAndResponse_Emitter_Func_(out float3 Out_ModuleTraceWorldStart, out float3 Out_ModuleTraceWorldEnd, out float3 Out_CollisionPosition, out float3 Out_CollisionNormal, out bool Out_Collided, inout FSimulationContext Context);
void PerformCollisionQueryAsyncCPU_Collision_CollisionQueryAndResponse001_Query(int In_InstanceData, int In_PreviousFrameQueryID, float3 In_TraceStartWorld, float3 In_TraceEndWorld, int In_TraceChannel, bool In_SkipTrace, out int Out_NextFrameQueryID, out bool Out_CollisionValid, out bool Out_IsTraceInsideMesh, out float3 Out_CollisionPosWorld, out float3 Out_CollisionNormal, out float Out_CollisionMaterialFriction, out float Out_CollisionMaterialRestitution, out int Out_CollisionMaterialIndex);
void Collision_CollisionQueryAndResponse001_Emitter_Func_(out float3 Out_ModuleTraceWorldStart, out float3 Out_ModuleTraceWorldEnd, out float3 Out_CollisionPosition, out float3 Out_CollisionNormal, out bool Out_Collided, inout FSimulationContext Context);
void Collision_TransformVector_Emitter_Func_(float3 In_InVector, int In_SourceSpace, int In_DestinationSpace, bool In_ApplyScale, out float3 Out_OutVector, inout FSimulationContext Context);
void Collision_TransformPosition001_Emitter_Func_(float3 In_InPosition, int In_SourceSpace, int In_DestinationSpace, bool In_ApplyScale, out float3 Out_OutPosition, inout FSimulationContext Context);
void Collision_TransformVector001_Emitter_Func_(float3 In_InVector, int In_SourceSpace, int In_DestinationSpace, bool In_ApplyScale, out float3 Out_OutVector, inout FSimulationContext Context);
void Collision_DoOnce_fn001_Emitter_Func_(bool In_TriggerCondition, bool In_Reset, out bool Out_Execute, out bool Out_Triggered, inout FSimulationContext Context);
void NiagaraScript_1851_Func_(float4 In_AxisAngle, bool In_NormalizeAxis, out float4 Out_Quaternion, inout FSimulationContext Context);
void CustomHlsl001624D816540ECD5F976902A85E139007C_Func_(float4 In_Quat1, float4 In_Quat2, out float4 Out_Result);
void NiagaraScript_1850_Func_(float4 In_QuaternionA, float4 In_QuaternionB, out float4 Out_Quaternion, inout FSimulationContext Context);
void Collision_Emitter_Func_(inout FSimulationContext Context);
void NiagaraScript_1849_Particle_NormalizeRotations_false_Func_(float3 In_RotationalVelocityVector, float In_DeltaTime, float4 In_ExistingOrientationQuat, out float4 Out_NewOrientationQuat, inout FSimulationContext Context);
void SolveForcesAndVelocity_Emitter_Func_(inout FSimulationContext Context);
void SolveRotationalForcesAndVelocity_Emitter_Func_(inout FSimulationContext Context);
float GetSpawnInterpolation();
void ParticleState_Emitter_Func_(inout FSimulationContext Context)
{
bool Result = NiagaraAll(Context.Map.Particles.Age <= Context.Map.Engine.DeltaTime);
Context.Map.OUTPUT_VAR.ParticleState.FirstFrame = Result;
Context.Map.Transient.FirstFrame = Result;
float Result1 = Context.Map.Particles.Age + Context.Map.ParticleState.DeltaTime;
float Constant2 = 1e-05;
float Result2 = max(Context.Map.ParticleState.Lifetime, Constant2);
float Constant3 = 0.0001;
float Result3 = Result2 - Constant3;
bool Result4 = NiagaraAll(Result1 < Result3);
bool Constant4 = false;
bool bool_IfResult;
if(Result4)
{
bool_IfResult = Context.Map.DataInstance.Alive;
}
else
{
bool_IfResult = Constant4;
}
float Result5 = Result1 / Result2;
Context.Map.DataInstance.Alive = bool_IfResult;
Context.Map.Particles.Age = Result1;
Context.Map.Particles.NormalizedAge = Result5;
bool Constant5 = false;
bool Constant6 = true;
}
void GravityForce_Emitter_Func_(inout FSimulationContext Context)
{
float3 Constant9 = float3(0,0,-980);
float3 Result6 = Constant9 * Context.Map.Particles.Mass;
float3 Result7 = Context.Map.Transient.PhysicsForce + Result6;
Context.Map.Transient.PhysicsForce = Result7;
}
void Drag_Emitter_Func_(inout FSimulationContext Context)
{
float Constant14 = 1;
float Result8 = Constant14 + Context.Map.Transient.PhysicsDrag;
Context.Map.Transient.PhysicsDrag = Result8;
float Constant15 = 1;
Context.Map.Transient.PhysicsRotationalDrag = Context.Map.Transient.PhysicsRotationalDrag;
}
void NiagaraScript_1835_Func_(int In_SourceSpace, int In_DestinationSpace, float4x4 In_LocalToWorldTransform, float4x4 In_WorldToLocalTransform, bool In_bLocalSpace, out bool Out_bUseOriginal, out float4x4 Out_OutTransform, out bool Out_LocalToWorld, inout FSimulationContext Context)
{
int Constant55 = 0;
bool Result14 = NiagaraAll(In_SourceSpace == Constant55);
int Constant56 = 0;
bool Result15 = NiagaraAll(In_DestinationSpace == Constant56);
bool Result16 = Result14 && Result15;
int Constant57 = 1;
bool Result17 = NiagaraAll(In_SourceSpace == Constant57);
int Constant58 = 1;
bool Result18 = NiagaraAll(In_DestinationSpace == Constant58);
bool Result19 = Result17 && Result18;
bool Result20 = Result16 || Result19;
int Constant59 = 2;
bool Result21 = NiagaraAll(In_SourceSpace == Constant59);
int Constant60 = 2;
bool Result22 = NiagaraAll(In_DestinationSpace == Constant60);
bool Result23 = Result21 && Result22;
bool Result24 = Result20 || Result23;
bool Result25 = Result14 && Result22;
bool Result26 = Result21 && Result15;
bool Result27 = Result25 || Result26;
bool Result28 = In_bLocalSpace && Result27;
bool Result29 = Result24 || Result28;
bool Result30 = !In_bLocalSpace;
bool Result31 = Result14 && Result18;
bool Result32 = Result17 && Result15;
bool Result33 = Result31 || Result32;
bool Result34 = Result30 && Result33;
bool Result35 = Result29 || Result34;
bool Result36 = In_bLocalSpace && Result31;
bool Result37 = Result21 && Result18;
bool Result38 = Result36 || Result37;
bool Result39 = Result30 && Result26;
bool Result40 = Result38 || Result39;
float4x4 Matrix_IfResult1;
if(Result40)
{
Matrix_IfResult1 = In_LocalToWorldTransform;
}
else
{
Matrix_IfResult1 = In_WorldToLocalTransform;
}
Out_bUseOriginal = Result35;
Out_OutTransform = Matrix_IfResult1;
Out_LocalToWorld = Result40;
}
void Collision_TransformPosition007_Emitter_Func_(float3 In_InPosition, int In_SourceSpace, int In_DestinationSpace, bool In_ApplyScale, out float3 Out_OutPosition, inout FSimulationContext Context)
{
bool Constant54 = false;
float4x4 Matrix_IfResult;
float4x4 Matrix001_IfResult;
if(In_ApplyScale)
{
Matrix_IfResult = Context.Map.Engine.Owner.SystemLocalToWorld;
Matrix001_IfResult = Context.Map.Engine.Owner.SystemWorldToLocal;
}
else
{
Matrix_IfResult = Context.Map.Engine.Owner.SystemLocalToWorldNoScale;
Matrix001_IfResult = Context.Map.Engine.Owner.SystemWorldToLocalNoScale;
}
bool NiagaraScript_1835_Func_Output_bUseOriginal;
float4x4 NiagaraScript_1835_Func_Output_OutTransform;
bool NiagaraScript_1835_Func_Output_LocalToWorld;
NiagaraScript_1835_Func_(In_SourceSpace, In_DestinationSpace, Matrix_IfResult, Matrix001_IfResult, Constant54, NiagaraScript_1835_Func_Output_bUseOriginal, NiagaraScript_1835_Func_Output_OutTransform, NiagaraScript_1835_Func_Output_LocalToWorld, Context);
float3 Result41 = mul(float4(In_InPosition,1.0),NiagaraScript_1835_Func_Output_OutTransform).xyz;
float3 Vector_IfResult;
if(NiagaraScript_1835_Func_Output_bUseOriginal)
{
Vector_IfResult = In_InPosition;
}
else
{
Vector_IfResult = Result41;
}
Out_OutPosition = Vector_IfResult;
}
void Collision_TransformVector009_Emitter_Func_(float3 In_InVector, int In_SourceSpace, int In_DestinationSpace, bool In_ApplyScale, out float3 Out_OutVector, inout FSimulationContext Context)
{
bool Constant64 = false;
float4x4 Matrix_IfResult2;
float4x4 Matrix001_IfResult1;
if(In_ApplyScale)
{
Matrix_IfResult2 = Context.Map.Engine.Owner.SystemLocalToWorld;
Matrix001_IfResult1 = Context.Map.Engine.Owner.SystemWorldToLocal;
}
else
{
Matrix_IfResult2 = Context.Map.Engine.Owner.SystemLocalToWorldNoScale;
Matrix001_IfResult1 = Context.Map.Engine.Owner.SystemWorldToLocalNoScale;
}
bool NiagaraScript_1835_Func_Output_bUseOriginal1;
float4x4 NiagaraScript_1835_Func_Output_OutTransform1;
bool NiagaraScript_1835_Func_Output_LocalToWorld1;
NiagaraScript_1835_Func_(In_SourceSpace, In_DestinationSpace, Matrix_IfResult2, Matrix001_IfResult1, Constant64, NiagaraScript_1835_Func_Output_bUseOriginal1, NiagaraScript_1835_Func_Output_OutTransform1, NiagaraScript_1835_Func_Output_LocalToWorld1, Context);
float3 Result42 = mul(float4(In_InVector,0.0),NiagaraScript_1835_Func_Output_OutTransform1).xyz;
float3 Vector_IfResult1;
if(NiagaraScript_1835_Func_Output_bUseOriginal1)
{
Vector_IfResult1 = In_InVector;
}
else
{
Vector_IfResult1 = Result42;
}
Out_OutVector = Vector_IfResult1;
}
void Collision_TransformVector010_Emitter_Func_(float3 In_InVector, int In_SourceSpace, int In_DestinationSpace, bool In_ApplyScale, out float3 Out_OutVector, inout FSimulationContext Context)
{
bool Constant68 = false;
float4x4 Matrix_IfResult3;
float4x4 Matrix001_IfResult2;
if(In_ApplyScale)
{
Matrix_IfResult3 = Context.Map.Engine.Owner.SystemLocalToWorld;
Matrix001_IfResult2 = Context.Map.Engine.Owner.SystemWorldToLocal;
}
else
{
Matrix_IfResult3 = Context.Map.Engine.Owner.SystemLocalToWorldNoScale;
Matrix001_IfResult2 = Context.Map.Engine.Owner.SystemWorldToLocalNoScale;
}
bool NiagaraScript_1835_Func_Output_bUseOriginal2;
float4x4 NiagaraScript_1835_Func_Output_OutTransform2;
bool NiagaraScript_1835_Func_Output_LocalToWorld2;
NiagaraScript_1835_Func_(In_SourceSpace, In_DestinationSpace, Matrix_IfResult3, Matrix001_IfResult2, Constant68, NiagaraScript_1835_Func_Output_bUseOriginal2, NiagaraScript_1835_Func_Output_OutTransform2, NiagaraScript_1835_Func_Output_LocalToWorld2, Context);
float3 Result43 = mul(float4(In_InVector,0.0),NiagaraScript_1835_Func_Output_OutTransform2).xyz;
float3 Vector_IfResult2;
if(NiagaraScript_1835_Func_Output_bUseOriginal2)
{
Vector_IfResult2 = In_InVector;
}
else
{
Vector_IfResult2 = Result43;
}
Out_OutVector = Vector_IfResult2;
}
void NiagaraScript_1890_Particle_Method_NewEnumerator0_Func_(float3 In_MeshScale, float3 In_MeshDimensions, out float Out_Radius, inout FSimulationContext Context)
{
float3 Result44 = In_MeshScale * In_MeshDimensions;
float Result45 = length(Result44);
float Constant71 = 1e-06;
float Result46 = max(Result45, Constant71);
float Constant72 = 0.5;
float Result47 = Result46 * Constant72;
Out_Radius = Result47;
}
void NiagaraScript_1872_Particle_Func_(float3 In_Velocity, float3 In_AdvectionVelocity, float In_InverseMass, float In_Drag, float In_DeltaTime, bool In_IgnoreMass, out float3 Out_Output, inout FSimulationContext Context)
{
float3 Result54 = In_Velocity - In_AdvectionVelocity;
float Result55 = In_Drag * In_InverseMass;
float Constant86 = (0.0);
float NiagaraFloat_SelectResult1 = Constant86;
NiagaraFloat_SelectResult1 = In_Drag;
if(In_IgnoreMass == 0)
{
NiagaraFloat_SelectResult1 = Result55;
}
float Constant87 = 0;
float Result56 = max(NiagaraFloat_SelectResult1, Constant87);
float Result57 = Result56 * In_DeltaTime;
float Constant88 = 1;
float Result58 = Result57 + Constant88;
float3 Result59 = Result54 / Result58;
float3 Result60 = Result59 + In_AdvectionVelocity;
Out_Output = Result60;
}
void NiagaraScript_1845_Particle_Func_(float3 In_V, float3 In_Fallback, float In_Threshold, out float3 Out_Direction, out float Out_Length, out bool Out_BelowThreshold, inout FSimulationContext Context)
{
float Result62 = dot(In_V,In_V);
float Result63 = In_Threshold * In_Threshold;
bool Result64 = NiagaraAll(Result62 < Result63);
float Result65 = length(In_Fallback);
float Result66 = rsqrt(Result62);
float3 Result67 = In_V * Result66;
float Result68 = Reciprocal(Result66);
float3 Constant91 = float3(0.0, 0.0, 0.0);
float3 Direction_SelectResult2 = Constant91;
float Constant92 = (0.0);
float Length_SelectResult2 = Constant92;
Direction_SelectResult2 = In_Fallback;
Length_SelectResult2 = Result65;
if(Result64 == 0)
{
Direction_SelectResult2 = Result67;
Length_SelectResult2 = Result68;
}
Out_Direction = Direction_SelectResult2;
Out_Length = Length_SelectResult2;
Out_BelowThreshold = Result64;
}
void NiagaraScript_1879_Func_(float3 In_PlaneNormal, float3 In_PlanePivotPoint, float3 In_InitialSphereLocation, float3 In_SpherePositionDelta, float In_CollisionRadius, float In_PhysicsDeltaTime, float In_MaxCorrectiondistance, out bool Out_Collides, out float3 Out_IntersectionLocation, out float3 Out_PreASC45IntersectionSphereCenterLocation, out float3 Out_InitialPositionRelativeCollisionLocation, out float Out_TimeElapsedToCollision, out float Out_RemainingTimePostCollision, out float Out_PercentageofTimeUsedToPerformCollision, out float Out_InitialDistanceBetweenTheSphereASC39sSurfaceandtheCollision, out float Out_UninterruptedAnimatedSphereASC39sDistancetoCollisionPlane, inout FSimulationContext Context)
{
float3 Result80 = -(In_PlaneNormal);
float3 Result81 = In_PlanePivotPoint - In_InitialSphereLocation;
float Result82 = dot(Result80,Result81);
float Result83 = Result82 - In_CollisionRadius;
float Constant99 = 0;
bool Result84 = NiagaraAll(Result83 < Constant99);
bool Constant100 = true;
float3 Result85 = Result80 * Result82;
float3 Result86 = Result85 + In_InitialSphereLocation;
float Result87 = max(In_MaxCorrectiondistance, Result83);
float3 Result88 = Result87 * Result80;
float3 Result89 = Result88 + In_InitialSphereLocation;
float Constant101 = 0;
float Constant102 = 0;
float3 Result90 = In_InitialSphereLocation + In_SpherePositionDelta;
float3 Result91 = In_PlanePivotPoint - Result90;
float Result92 = dot(Result80,Result91);
float Result93 = Result92 - In_CollisionRadius;
float Constant103 = 0;
bool Result94 = NiagaraAll(Result93 <= Constant103);
float Result95 = abs(Result93);
float Result96 = Result83 - Result93;
float Result97 = abs(Result96);
float Constant104 = 1e-06;
float Result98 = max(Result97, Constant104);
float Result99 = Result95 / Result98;
float Constant105 = 0;
bool Result100 = NiagaraAll(Result99 == Constant105);
bool Result101 = Result84 || Result100;
float Constant106 = 1;
float float_IfResult;
if(Result101)
{
float_IfResult = Constant106;
}
else
{
float_IfResult = Result99;
}
float Result102 = 1 - float_IfResult;
float3 Result103 = Result102 * In_SpherePositionDelta;
float3 Result104 = In_InitialSphereLocation + Result103;
float3 Result105 = Result80 * In_CollisionRadius;
float3 Result106 = Result104 + Result105;
float3 Result107 = Result106 - Result104;
float Result108 = In_PhysicsDeltaTime * Result102;
float Result109 = In_PhysicsDeltaTime * float_IfResult;
bool Collides_IfResult;
float3 IntersectionLocation_IfResult;
float3 PreASC45IntersectionSphereCenterLocation_IfResult;
float3 InitialPositionRelativeCollisionLocation_IfResult;
float TimeElapsedToCollision_IfResult;
float RemainingTimePostCollision_IfResult;
float PercentageofTimeUsedToPerformCollision_IfResult;
float InitialDistanceBetweenTheSphereASC39sSurfaceandtheCollision_IfResult;
float UninterruptedAnimatedSphereASC39sDistancetoCollisionPlane_IfResult;
if(Result84)
{
Collides_IfResult = Constant100;
IntersectionLocation_IfResult = Result86;
PreASC45IntersectionSphereCenterLocation_IfResult = Result89;
InitialPositionRelativeCollisionLocation_IfResult = Result85;
TimeElapsedToCollision_IfResult = Constant101;
RemainingTimePostCollision_IfResult = In_PhysicsDeltaTime;
PercentageofTimeUsedToPerformCollision_IfResult = Constant102;
InitialDistanceBetweenTheSphereASC39sSurfaceandtheCollision_IfResult = Result83;
UninterruptedAnimatedSphereASC39sDistancetoCollisionPlane_IfResult = Result93;
}
else
{
Collides_IfResult = Result94;
IntersectionLocation_IfResult = Result106;
PreASC45IntersectionSphereCenterLocation_IfResult = Result104;
InitialPositionRelativeCollisionLocation_IfResult = Result107;
TimeElapsedToCollision_IfResult = Result108;
RemainingTimePostCollision_IfResult = Result109;
PercentageofTimeUsedToPerformCollision_IfResult = Result102;
InitialDistanceBetweenTheSphereASC39sSurfaceandtheCollision_IfResult = Result83;
UninterruptedAnimatedSphereASC39sDistancetoCollisionPlane_IfResult = Result93;
}
Out_Collides = Collides_IfResult;
Out_IntersectionLocation = IntersectionLocation_IfResult;
Out_PreASC45IntersectionSphereCenterLocation = PreASC45IntersectionSphereCenterLocation_IfResult;
Out_InitialPositionRelativeCollisionLocation = InitialPositionRelativeCollisionLocation_IfResult;
Out_TimeElapsedToCollision = TimeElapsedToCollision_IfResult;
Out_RemainingTimePostCollision = RemainingTimePostCollision_IfResult;
Out_PercentageofTimeUsedToPerformCollision = PercentageofTimeUsedToPerformCollision_IfResult;
Out_InitialDistanceBetweenTheSphereASC39sSurfaceandtheCollision = InitialDistanceBetweenTheSphereASC39sSurfaceandtheCollision_IfResult;
Out_UninterruptedAnimatedSphereASC39sDistancetoCollisionPlane = UninterruptedAnimatedSphereASC39sDistancetoCollisionPlane_IfResult;
}
void NiagaraScript_1841_Emitter_Determinism_false_Particle_Func_(int In_Seed, int In_Engine_System_TickCount, bool In_OverrideSeed, int In_Particles_UniqueID, int In_Emitter_RandomSeed, bool In_FixedOverrideSeed, int In_RandomnessMode, out NiagaraRandInfo Out_RandomInfo, out bool Out_UseDeterministicRandoms, inout FSimulationContext Context)
{
bool Constant122 = false;
int Constant123 = 0;
bool Result125 = NiagaraAll(In_RandomnessMode == Constant123);
bool Result126 = Constant122 && Result125;
int Constant124 = 1;
bool Result127 = NiagaraAll(In_RandomnessMode == Constant124);
bool Result128 = Result126 || Result127;
int Seed_IfResult;
if(In_OverrideSeed)
{
Seed_IfResult = In_Seed;
}
else
{
Seed_IfResult = Context.Map.Emitter.RandomSeed;
}
int Constant125 = 0;
int Constant126 = 0;
int Seed1_IfResult;
int Seed2_IfResult;
int Seed3_IfResult;
if(In_FixedOverrideSeed)
{
Seed1_IfResult = Seed_IfResult;
Seed2_IfResult = Constant125;
Seed3_IfResult = Constant126;
}
else
{
Seed1_IfResult = Context.Map.Particles.UniqueID;
Seed2_IfResult = Context.Map.Engine.System.TickCount;
Seed3_IfResult = Seed_IfResult;
}
int Constant127 = -1;
int Constant128 = -1;
int Constant129 = -1;
int Seed1_IfResult1;
int Seed2_IfResult1;
int Seed3_IfResult1;
if(Result128)
{
Seed1_IfResult1 = Seed1_IfResult;
Seed2_IfResult1 = Seed2_IfResult;
Seed3_IfResult1 = Seed3_IfResult;
}
else
{
Seed1_IfResult1 = Constant127;
Seed2_IfResult1 = Constant128;
Seed3_IfResult1 = Constant129;
}
NiagaraRandInfo Output12;
Output12.Seed1 = Seed1_IfResult1;
Output12.Seed2 = Seed2_IfResult1;
Output12.Seed3 = Seed3_IfResult1;
Out_RandomInfo = Output12;
Out_UseDeterministicRandoms = Result128;
}
void NiagaraScript_1882_Func_(float2 In_Min, float2 In_Max, int In_Seed, int In_RandomnessMode, bool In_OverrideSeed, out float2 Out_Result, inout FSimulationContext Context)
{
int Constant117 = (0);
bool Constant118 = false;
int Constant119 = 0;
int Constant120 = (0);
bool Constant121 = false;
NiagaraRandInfo NiagaraScript_1841_Emitter_Determinism_false_Particle_Func_Output_RandomInfo;
bool NiagaraScript_1841_Emitter_Determinism_false_Particle_Func_Output_UseDeterministicRandoms;
NiagaraScript_1841_Emitter_Determinism_false_Particle_Func_(In_Seed, Constant117, In_OverrideSeed, Constant119, Constant120, Constant121, In_RandomnessMode, NiagaraScript_1841_Emitter_Determinism_false_Particle_Func_Output_RandomInfo, NiagaraScript_1841_Emitter_Determinism_false_Particle_Func_Output_UseDeterministicRandoms, Context);
float2 Result129 = In_Max - In_Min;
int Seed1;
int Seed2;
int Seed3;
Seed1 = NiagaraScript_1841_Emitter_Determinism_false_Particle_Func_Output_RandomInfo.Seed1;
Seed2 = NiagaraScript_1841_Emitter_Determinism_false_Particle_Func_Output_RandomInfo.Seed2;
Seed3 = NiagaraScript_1841_Emitter_Determinism_false_Particle_Func_Output_RandomInfo.Seed3;
float2 Result130 = rand_float(Result129, Seed1, Seed2, Seed3);
float2 Result131 = rand_float(Result129);
float2 Random_IfResult;
if(NiagaraScript_1841_Emitter_Determinism_false_Particle_Func_Output_UseDeterministicRandoms)
{
Random_IfResult = Result130;
}
else
{
Random_IfResult = Result131;
}
float2 Result132 = In_Min + Random_IfResult;
Out_Result = Result132;
}
void CustomHlsl5A25A2A4455E3C692D3322A954DF887F_Func_(float3 In_From, float3 In_To, out float4 Out_Result)
{
// From UE::Math::FindBetween_Helper()
const float NormAB = sqrt(dot(In_From, In_From) * dot(In_To, In_To));
float W = NormAB + dot(In_From, In_To);
float4 ValidResult = float4(cross(In_From, In_To), W);
float4 FallbackX = float4(-In_From.z, 0.0f, In_From.x, 0.0f);
float4 FallbackY = float4(0.0f, -In_From.z, In_From.y, 0.0f);
float4 Identity = float4(0.0f, 0.0f, 0.0f, 1.0f);
const float Epsilon = 1e-6f;
if (abs(In_From.x) > abs(In_From.y))
{
Out_Result = FallbackX;
}
else
{
Out_Result = FallbackY;
}
if (W >= 1e-6f * NormAB)
{
Out_Result = ValidResult;
}
if (NormAB < Epsilon)
{
Out_Result = Identity;
}
else
{
// normalize the quat before returning
Out_Result = normalize(Out_Result);
}
}
void NiagaraScript_1847_Func_(float3 In_From, float3 In_To, out float4 Out_NewOutput, inout FSimulationContext Context)
{
float3 Constant136 = float3(1,0,0);
float Constant137 = 1e-05;
float3 NiagaraScript_1845_Particle_Func_Output_Direction3;
float NiagaraScript_1845_Particle_Func_Output_Length3;
bool NiagaraScript_1845_Particle_Func_Output_BelowThreshold3;
NiagaraScript_1845_Particle_Func_(In_From, Constant136, Constant137, NiagaraScript_1845_Particle_Func_Output_Direction3, NiagaraScript_1845_Particle_Func_Output_Length3, NiagaraScript_1845_Particle_Func_Output_BelowThreshold3, Context);
float3 Constant138 = float3(1,0,0);
float Constant139 = 1e-05;
float3 NiagaraScript_1845_Particle_Func_Output_Direction4;
float NiagaraScript_1845_Particle_Func_Output_Length4;
bool NiagaraScript_1845_Particle_Func_Output_BelowThreshold4;
NiagaraScript_1845_Particle_Func_(In_To, Constant138, Constant139, NiagaraScript_1845_Particle_Func_Output_Direction4, NiagaraScript_1845_Particle_Func_Output_Length4, NiagaraScript_1845_Particle_Func_Output_BelowThreshold4, Context);
float4 CustomHlsl5A25A2A4455E3C692D3322A954DF887F_Func_Output_Result;
CustomHlsl5A25A2A4455E3C692D3322A954DF887F_Func_(NiagaraScript_1845_Particle_Func_Output_Direction3, NiagaraScript_1845_Particle_Func_Output_Direction4, CustomHlsl5A25A2A4455E3C692D3322A954DF887F_Func_Output_Result);
Out_NewOutput = CustomHlsl5A25A2A4455E3C692D3322A954DF887F_Func_Output_Result;
}
void NiagaraScript_1836_Func_(float3 In_VECTOR_VAR, float4 In_Quaternion, out float3 Out_Vector, inout FSimulationContext Context)
{
float3 Output0;
float Output13;
Output0.x = In_Quaternion.x;
Output0.y = In_Quaternion.y;
Output0.z = In_Quaternion.z;
Output13 = In_Quaternion.w;
float Result144 = dot(Output0,In_VECTOR_VAR);
float Constant140 = 2;
float Result145 = Result144 * Constant140;
float3 Result146 = Output0 * Result145;
float Result147 = Output13 * Output13;
float Result148 = dot(Output0,Output0);
float Result149 = Result147 - Result148;
float3 Result150 = Result149 * In_VECTOR_VAR;
float3 Result151 = Result146 + Result150;
float3 Result152 = cross(Output0,In_VECTOR_VAR);
float Constant141 = 2;
float Result153 = Output13 * Constant141;
float3 Result154 = Result152 * Result153;
float3 Result155 = Result151 + Result154;
Out_Vector = Result155;
}
void NiagaraScript_1881_Func_(float3 In_ConeAxis, float In_Scale, float In_Spread, out float3 Out_Ouput, inout FSimulationContext Context)
{
float Constant111 = 0;
float Constant112 = 1;
float Result123 = clamp(In_Spread,Constant111,Constant112);
float Constant113 = -1;
float Result124 = Result123 * Constant113;
float2 Output1;
Output1.x = Result124;
Output1.y = Result124;
float2 Output11;
Output11.x = Result123;
Output11.y = Result123;
int Constant114 = -1;
int Constant115 = 0;
bool Constant116 = false;
float2 NiagaraScript_1882_Func_Output_Result;
NiagaraScript_1882_Func_(Output1, Output11, Constant114, Constant115, Constant116, NiagaraScript_1882_Func_Output_Result, Context);
float X;
float Y;
X = NiagaraScript_1882_Func_Output_Result.x;
Y = NiagaraScript_1882_Func_Output_Result.y;
float3 Constant130 = float3(1,0,0);
float3 Result133 = X * Constant130;
float3 Constant131 = float3(0,1,0);
float3 Result134 = Y * Constant131;
float3 Result135 = Result133 + Result134;
float Result136 = abs(X);
float Result137 = abs(Y);
float Result138 = max(Result136, Result137);
float Result139 = 1 - Result138;
float3 Constant132 = float3(0,0,1);
float3 Result140 = Result139 * Constant132;
float3 Result141 = Result135 + Result140;
float3 Result142 = normalize(Result141);
float3 Result143 = Result142 * In_Scale;
float3 Constant133 = float3(0,0,1);
float3 Constant134 = float3(0,0,1);
float Constant135 = 1e-05;
float3 NiagaraScript_1845_Particle_Func_Output_Direction2;
float NiagaraScript_1845_Particle_Func_Output_Length2;
bool NiagaraScript_1845_Particle_Func_Output_BelowThreshold2;
NiagaraScript_1845_Particle_Func_(In_ConeAxis, Constant134, Constant135, NiagaraScript_1845_Particle_Func_Output_Direction2, NiagaraScript_1845_Particle_Func_Output_Length2, NiagaraScript_1845_Particle_Func_Output_BelowThreshold2, Context);
float4 NiagaraScript_1847_Func_Output_NewOutput;
NiagaraScript_1847_Func_(Constant133, NiagaraScript_1845_Particle_Func_Output_Direction2, NiagaraScript_1847_Func_Output_NewOutput, Context);
float3 NiagaraScript_1836_Func_Output_Vector;
NiagaraScript_1836_Func_(Result143, NiagaraScript_1847_Func_Output_NewOutput, NiagaraScript_1836_Func_Output_Vector, Context);
Out_Ouput = NiagaraScript_1836_Func_Output_Vector;
}
void NiagaraScript_1880_Func_(float3 In_InVector, float3 In_Normal, out float3 Out_Reflected, inout FSimulationContext Context)
{
float Result156 = dot(In_InVector,In_Normal);
float Result157 = Result156 + Result156;
float3 Result158 = Result157 * In_Normal;
float3 Result159 = In_InVector - Result158;
Out_Reflected = Result159;
}
void NiagaraScript_1883_Func_(float3 In_INPUT_VAR, out float3 Out_CentimeterstoMeters, out float3 Out_MeterstoCentimeters, inout FSimulationContext Context)
{
float Constant142 = 0.01;
float3 Result160 = In_INPUT_VAR * Constant142;
float Constant143 = 100;
float3 Result161 = In_INPUT_VAR * Constant143;
Out_CentimeterstoMeters = Result160;
Out_MeterstoCentimeters = Result161;
}
void NiagaraScript_1885_Particle_Func_(float3 In_VECTOR_VAR, float3 In_FallbackVector, float In_Threshold, out float3 Out_Direction, out float Out_Length, out bool Out_BelowThreshold, inout FSimulationContext Context)
{
float Result166 = dot(In_VECTOR_VAR,In_VECTOR_VAR);
float Result167 = In_Threshold * In_Threshold;
bool Result168 = NiagaraAll(Result166 < Result167);
float Result169 = length(In_FallbackVector);
float Result170 = rsqrt(Result166);
float3 Result171 = In_VECTOR_VAR * Result170;
float Result172 = Reciprocal(Result170);
float3 Constant148 = float3(0.0, 0.0, 0.0);
float3 Direction_SelectResult3 = Constant148;
float Constant149 = (0.0);
float Length_SelectResult3 = Constant149;
Direction_SelectResult3 = In_FallbackVector;
Length_SelectResult3 = Result169;
if(Result168 == 0)
{
Direction_SelectResult3 = Result171;
Length_SelectResult3 = Result172;
}
Out_Direction = Direction_SelectResult3;
Out_Length = Length_SelectResult3;
Out_BelowThreshold = Result168;
}
void NiagaraScript_1884_Particle_Func_(float3 In_VECTOR_VAR, float3 In_Normal, bool In_NormalizeNormal, out float3 Out_Ouput, inout FSimulationContext Context)
{
float Result165 = dot(In_VECTOR_VAR,In_Normal);
float3 Constant146 = float3(0,0,0);
float Constant147 = 1e-05;
float3 NiagaraScript_1885_Particle_Func_Output_Direction;
float NiagaraScript_1885_Particle_Func_Output_Length;
bool NiagaraScript_1885_Particle_Func_Output_BelowThreshold;
NiagaraScript_1885_Particle_Func_(In_Normal, Constant146, Constant147, NiagaraScript_1885_Particle_Func_Output_Direction, NiagaraScript_1885_Particle_Func_Output_Length, NiagaraScript_1885_Particle_Func_Output_BelowThreshold, Context);
float3 Constant150 = float3(0.0, 0.0, 0.0);
float3 Vector3f_SelectResult4 = Constant150;
Vector3f_SelectResult4 = NiagaraScript_1885_Particle_Func_Output_Direction;
if(In_NormalizeNormal == 0)
{
Vector3f_SelectResult4 = In_Normal;
}
float3 Result173 = Result165 * Vector3f_SelectResult4;
float3 Result174 = In_VECTOR_VAR - Result173;
Out_Ouput = Result174;
}
void NiagaraScript_1886_Func_(float3 In_INPUT_VAR, out float3 Out_CentimeterstoMeters, out float3 Out_MeterstoCentimeters, inout FSimulationContext Context)
{
float Constant153 = 0.01;
float3 Result175 = In_INPUT_VAR * Constant153;
float Constant154 = 100;
float3 Result176 = In_INPUT_VAR * Constant154;
Out_CentimeterstoMeters = Result175;
Out_MeterstoCentimeters = Result176;
}
void NiagaraScript_1887_Func_(float3 In_INPUT_VAR, out float3 Out_CentimeterstoMeters, out float3 Out_MeterstoCentimeters, inout FSimulationContext Context)
{
float Constant159 = 0.01;
float3 Result184 = In_INPUT_VAR * Constant159;
float Constant160 = 100;
float3 Result185 = In_INPUT_VAR * Constant160;
Out_CentimeterstoMeters = Result184;
Out_MeterstoCentimeters = Result185;
}
void Collision_CollisionQueryAndResponse_Emitter_Func_(out float3 Out_ModuleTraceWorldStart, out float3 Out_ModuleTraceWorldEnd, out float3 Out_CollisionPosition, out float3 Out_CollisionNormal, out bool Out_Collided, inout FSimulationContext Context)
{
Context.Map.Local.Collision.CollisionQueryAndResponse.ModuleInitialDataInstanceAlive = Context.Map.DataInstance.Alive;
Context.Map.Transient.Collision_ParticlePositionReplacement = Context.Map.Transient.Collision_ParticlePositionReplacement;
Context.Map.Transient.Collision_PredictedParticlePositionForSimStages = Context.Map.Transient.Collision_PredictedParticlePositionForSimStages;
Context.Map.Collision.CollisionQueryAndResponse.DeltaTime = Context.Map.Collision.CollisionQueryAndResponse.DeltaTime;
float Result50 = Reciprocal(Context.Map.Transient.Collision_ParticleMassReplacement);
Context.Map.Transient.Collision_ParticlePositionReplacement = Context.Map.Transient.Collision_ParticlePositionReplacement;
Context.Map.Transient.Collision_ParticleVelocityReplacement = Context.Map.Transient.Collision_ParticleVelocityReplacement;
Context.Map.Transient.Collision_ParticlePhysicsForceReplacement = Context.Map.Transient.Collision_ParticlePhysicsForceReplacement;
Context.Map.Transient.Collision_ParticleMassReplacement = Context.Map.Transient.Collision_ParticleMassReplacement;
Context.Map.Transient.Collision_ParticleInverseMassReplacement = Result50;
float3 Result51 = Context.Map.Transient.Collision_ParticlePhysicsForceReplacement * Context.Map.Transient.Collision_ParticleInverseMassReplacement;
float3 Result52 = Result51 * Context.Map.Collision.CollisionQueryAndResponse.DeltaTime;
float3 Result53 = Result52 + Context.Map.Transient.Collision_ParticleVelocityReplacement;
float3 NiagaraScript_1872_Particle_Func_Output_Output;
NiagaraScript_1872_Particle_Func_(Result53, Context.Map.Transient.AdvectionVelocity, Context.Map.Transient.Collision_ParticleInverseMassReplacement, Context.Map.Transient.PhysicsDrag, Context.Map.Collision.CollisionQueryAndResponse.DeltaTime, Context.Map.Transient.DragIgnoreMass, NiagaraScript_1872_Particle_Func_Output_Output, Context);
float3 Result61 = NiagaraScript_1872_Particle_Func_Output_Output * Context.Map.Collision.CollisionQueryAndResponse.DeltaTime;
Context.Map.Local.Collision.CollisionQueryAndResponse.ModuleTraceOrigin = Context.Map.Transient.Collision_ParticlePositionReplacement;
Context.Map.Local.Collision.CollisionQueryAndResponse.ModuleInitialForceDividedByMass = Result51;
Context.Map.Local.Collision.CollisionQueryAndResponse.ModuleForceContribution = Result52;
Context.Map.Local.Collision.CollisionQueryAndResponse.ModuleAttemptedMovementThisUpdate = Result61;
float3 Constant89 = float3(0,0,-1);
float Constant90 = 1e-05;
float3 NiagaraScript_1845_Particle_Func_Output_Direction;
float NiagaraScript_1845_Particle_Func_Output_Length;
bool NiagaraScript_1845_Particle_Func_Output_BelowThreshold;
NiagaraScript_1845_Particle_Func_(Context.Map.Local.Collision.CollisionQueryAndResponse.ModuleForceContribution, Constant89, Constant90, NiagaraScript_1845_Particle_Func_Output_Direction, NiagaraScript_1845_Particle_Func_Output_Length, NiagaraScript_1845_Particle_Func_Output_BelowThreshold, Context);
Context.Map.Local.Collision.CollisionQueryAndResponse.ModuleTraceVector = Context.Map.Local.Collision.CollisionQueryAndResponse.ModuleForceContribution;
Context.Map.Local.Collision.CollisionQueryAndResponse.ModuleTraceDirection = NiagaraScript_1845_Particle_Func_Output_Direction;
float3 Result69 = NiagaraScript_1845_Particle_Func_Output_Direction * Context.Map.Collision.CollisionQueryAndResponse.ParticleRadius;
float3 Result70 = Context.Map.Local.Collision.CollisionQueryAndResponse.ModuleTraceOrigin - Result69;
float3 Result71 = Context.Map.Collision.CollisionQueryAndResponse.TraceVectorLengthMultiplier * Context.Map.Local.Collision.CollisionQueryAndResponse.ModuleForceContribution;
float3 Result72 = Result69 + Result71;
float3 Constant93 = float3(0,0,-1);
float Constant94 = 1e-05;
float3 NiagaraScript_1845_Particle_Func_Output_Direction1;
float NiagaraScript_1845_Particle_Func_Output_Length1;
bool NiagaraScript_1845_Particle_Func_Output_BelowThreshold1;
NiagaraScript_1845_Particle_Func_(Result72, Constant93, Constant94, NiagaraScript_1845_Particle_Func_Output_Direction1, NiagaraScript_1845_Particle_Func_Output_Length1, NiagaraScript_1845_Particle_Func_Output_BelowThreshold1, Context);
float Result73 = min(NiagaraScript_1845_Particle_Func_Output_Length1, Context.Map.Collision.CollisionQueryAndResponse.MaxTraceLength);
float3 Result74 = NiagaraScript_1845_Particle_Func_Output_Direction1 * Result73;
float3 Result75 = Context.Map.Local.Collision.CollisionQueryAndResponse.ModuleTraceOrigin + Result74;
Context.Map.Local.Collision.CollisionQueryAndResponse.ModuleTraceWorldStart = Result70;
Context.Map.Local.Collision.CollisionQueryAndResponse.ModuleTraceWorldEnd = Result75;
bool Result76 = !Context.Map.Collision.CollisionQueryAndResponse.CollisionEnabled;
bool Result77 = Result76 || Context.Map.Collision.CollisionQueryAndResponse.ManuallyEnterRest;
int PerformCollisionQueryAsyncCPU_Collision_CollisionQueryAndResponse_QueryOutput_NextFrameQueryID;
bool PerformCollisionQueryAsyncCPU_Collision_CollisionQueryAndResponse_QueryOutput_CollisionValid;
bool PerformCollisionQueryAsyncCPU_Collision_CollisionQueryAndResponse_QueryOutput_IsTraceInsideMesh;
float3 PerformCollisionQueryAsyncCPU_Collision_CollisionQueryAndResponse_QueryOutput_CollisionPosWorld;
float3 PerformCollisionQueryAsyncCPU_Collision_CollisionQueryAndResponse_QueryOutput_CollisionNormal;
float PerformCollisionQueryAsyncCPU_Collision_CollisionQueryAndResponse_QueryOutput_CollisionMaterialFriction;
float PerformCollisionQueryAsyncCPU_Collision_CollisionQueryAndResponse_QueryOutput_CollisionMaterialRestitution;
int PerformCollisionQueryAsyncCPU_Collision_CollisionQueryAndResponse_QueryOutput_CollisionMaterialIndex;
PerformCollisionQueryAsyncCPU_Collision_CollisionQueryAndResponse_Query(0, Context.Map.Particles.Collision.CollisionQueryAndResponse.CollisionID, Context.Map.Local.Collision.CollisionQueryAndResponse.ModuleTraceWorldStart, Context.Map.Local.Collision.CollisionQueryAndResponse.ModuleTraceWorldEnd, Context.Map.Collision.CollisionQueryAndResponse.CPUCollisionTraceChannel, Result77, PerformCollisionQueryAsyncCPU_Collision_CollisionQueryAndResponse_QueryOutput_NextFrameQueryID, PerformCollisionQueryAsyncCPU_Collision_CollisionQueryAndResponse_QueryOutput_CollisionValid, PerformCollisionQueryAsyncCPU_Collision_CollisionQueryAndResponse_QueryOutput_IsTraceInsideMesh, PerformCollisionQueryAsyncCPU_Collision_CollisionQueryAndResponse_QueryOutput_CollisionPosWorld, PerformCollisionQueryAsyncCPU_Collision_CollisionQueryAndResponse_QueryOutput_CollisionNormal, PerformCollisionQueryAsyncCPU_Collision_CollisionQueryAndResponse_QueryOutput_CollisionMaterialFriction, PerformCollisionQueryAsyncCPU_Collision_CollisionQueryAndResponse_QueryOutput_CollisionMaterialRestitution, PerformCollisionQueryAsyncCPU_Collision_CollisionQueryAndResponse_QueryOutput_CollisionMaterialIndex);
bool Result78 = !PerformCollisionQueryAsyncCPU_Collision_CollisionQueryAndResponse_QueryOutput_IsTraceInsideMesh;
bool Result79 = PerformCollisionQueryAsyncCPU_Collision_CollisionQueryAndResponse_QueryOutput_CollisionValid && Result78;
bool Constant95 = false;
bool Constant96 = true;
Context.Map.Particles.Collision.CollisionQueryAndResponse.CollisionID = PerformCollisionQueryAsyncCPU_Collision_CollisionQueryAndResponse_QueryOutput_NextFrameQueryID;
Context.Map.Local.Collision.CollisionQueryAndResponse.ModuleReturnedCollisionValidBool = Result79;
Context.Map.Local.Collision.CollisionQueryAndResponse.ModuleReturnedCollisionWorldPosition = PerformCollisionQueryAsyncCPU_Collision_CollisionQueryAndResponse_QueryOutput_CollisionPosWorld;
Context.Map.Local.Collision.CollisionQueryAndResponse.ModuleReturnedCollisionNormal = PerformCollisionQueryAsyncCPU_Collision_CollisionQueryAndResponse_QueryOutput_CollisionNormal;
Context.Map.Local.Collision.CollisionQueryAndResponse.ModuleReturnedFriction = PerformCollisionQueryAsyncCPU_Collision_CollisionQueryAndResponse_QueryOutput_CollisionMaterialFriction;
Context.Map.Local.Collision.CollisionQueryAndResponse.ModuleReturnedRestitution = Context.Map.Collision.CollisionQueryAndResponse.ParticleRestitutionCoeffiecient;
Context.Map.OUTPUT_VAR.Collision.CollisionQueryAndResponse.ModuleDepthBasedCollisionParticleOccluded = Constant95;
Context.Map.DataInstance.Alive = Context.Map.DataInstance.Alive;
Context.Map.OUTPUT_VAR.Collision.CollisionQueryAndResponse.ParticleOnScreen = Constant96;
Context.Map.Particles.Collision.CollisionQueryAndResponse.Collision1MaterialIndex = PerformCollisionQueryAsyncCPU_Collision_CollisionQueryAndResponse_QueryOutput_CollisionMaterialIndex;
float3 Constant97 = float3(0,0,1);
float3 Constant98 = float3(0,0,-1e+16);
float3 PlaneNormal_IfResult;
float3 PlanePivotPoint_IfResult;
if(Context.Map.Local.Collision.CollisionQueryAndResponse.ModuleReturnedCollisionValidBool)
{
PlaneNormal_IfResult = Context.Map.Local.Collision.CollisionQueryAndResponse.ModuleReturnedCollisionNormal;
PlanePivotPoint_IfResult = Context.Map.Local.Collision.CollisionQueryAndResponse.ModuleReturnedCollisionWorldPosition;
}
else
{
PlaneNormal_IfResult = Constant97;
PlanePivotPoint_IfResult = Constant98;
}
Context.Map.Local.Collision.CollisionQueryAndResponse.ModulePlaneNormal = PlaneNormal_IfResult;
Context.Map.Local.Collision.CollisionQueryAndResponse.ModulePlanePivotPoint = PlanePivotPoint_IfResult;
bool NiagaraScript_1879_Func_Output_Collides;
float3 NiagaraScript_1879_Func_Output_IntersectionLocation;
float3 NiagaraScript_1879_Func_Output_PreASC45IntersectionSphereCenterLocation;
float3 NiagaraScript_1879_Func_Output_InitialPositionRelativeCollisionLocation;
float NiagaraScript_1879_Func_Output_TimeElapsedToCollision;
float NiagaraScript_1879_Func_Output_RemainingTimePostCollision;
float NiagaraScript_1879_Func_Output_PercentageofTimeUsedToPerformCollision;
float NiagaraScript_1879_Func_Output_InitialDistanceBetweenTheSphereASC39sSurfaceandtheCollision;
float NiagaraScript_1879_Func_Output_UninterruptedAnimatedSphereASC39sDistancetoCollisionPlane;
NiagaraScript_1879_Func_(Context.Map.Local.Collision.CollisionQueryAndResponse.ModulePlaneNormal, Context.Map.Local.Collision.CollisionQueryAndResponse.ModulePlanePivotPoint, Context.Map.Local.Collision.CollisionQueryAndResponse.ModuleTraceOrigin, Context.Map.Local.Collision.CollisionQueryAndResponse.ModuleAttemptedMovementThisUpdate, Context.Map.Collision.CollisionQueryAndResponse.ParticleRadius, Context.Map.Collision.CollisionQueryAndResponse.DeltaTime, Context.Map.Collision.CollisionQueryAndResponse.MaxIntersectionCorrectionDistance, NiagaraScript_1879_Func_Output_Collides, NiagaraScript_1879_Func_Output_IntersectionLocation, NiagaraScript_1879_Func_Output_PreASC45IntersectionSphereCenterLocation, NiagaraScript_1879_Func_Output_InitialPositionRelativeCollisionLocation, NiagaraScript_1879_Func_Output_TimeElapsedToCollision, NiagaraScript_1879_Func_Output_RemainingTimePostCollision, NiagaraScript_1879_Func_Output_PercentageofTimeUsedToPerformCollision, NiagaraScript_1879_Func_Output_InitialDistanceBetweenTheSphereASC39sSurfaceandtheCollision, NiagaraScript_1879_Func_Output_UninterruptedAnimatedSphereASC39sDistancetoCollisionPlane, Context);
Context.Map.Transient.CollisionWorldPosition = NiagaraScript_1879_Func_Output_IntersectionLocation;
Context.Map.Transient.CollisionParticleWorldPosition = NiagaraScript_1879_Func_Output_PreASC45IntersectionSphereCenterLocation;
Context.Map.Transient.CollisionParticleRelativeCollisionLocation = NiagaraScript_1879_Func_Output_InitialPositionRelativeCollisionLocation;
Context.Map.Local.Collision.CollisionQueryAndResponse.ModuleTickDeltaForThisCollisionUpdate = NiagaraScript_1879_Func_Output_TimeElapsedToCollision;
Context.Map.Local.Collision.CollisionQueryAndResponse.ModulePhysicsDeltaTime = NiagaraScript_1879_Func_Output_RemainingTimePostCollision;
Context.Map.Local.Collision.CollisionQueryAndResponse.ModulePercentageOfTickDedicatedToUpdatingPosition = NiagaraScript_1879_Func_Output_PercentageofTimeUsedToPerformCollision;
Context.Map.OUTPUT_VAR.Collision.CollisionQueryAndResponse.CollisionPenetrationDistance = NiagaraScript_1879_Func_Output_InitialDistanceBetweenTheSphereASC39sSurfaceandtheCollision;
Context.Map.Transient.CollisionDistanceToCollision = NiagaraScript_1879_Func_Output_UninterruptedAnimatedSphereASC39sDistancetoCollisionPlane;
float Constant107 = 0;
bool Result110 = NiagaraAll(Context.Map.Transient.CollisionDistanceToCollision <= Constant107);
bool Result111 = Context.Map.Collision.CollisionQueryAndResponse.CollisionEnabled && Result110;
bool Result112 = Result111 || Context.Map.Particles.HasCollided;
Context.Map.OUTPUT_VAR.Collision.CollisionQueryAndResponse.PhysicsCollidesThisFrame = Result111;
Context.Map.Particles.HasCollided = Result112;
float3 Result113 = -(Context.Map.Local.Collision.CollisionQueryAndResponse.ModulePlaneNormal);
float Result114 = dot(Result113,Context.Map.Local.Collision.CollisionQueryAndResponse.ModuleAttemptedMovementThisUpdate);
float Result115 = Context.Map.Collision.CollisionQueryAndResponse.DeltaTime * Context.Map.Collision.CollisionQueryAndResponse.DeltaTime;
float3 Result116 = Result115 * Context.Map.Local.Collision.CollisionQueryAndResponse.ModuleInitialForceDividedByMass;
float Result117 = dot(Result113,Result116);
float Result118 = Result114 - Result117;
float Constant108 = 0.1;
bool Result119 = NiagaraAll(Result118 < Constant108);
Context.Map.Local.Collision.CollisionQueryAndResponse.ModuleRemoveRestitution = Result119;
float3 Result120 = Context.Map.Local.Collision.CollisionQueryAndResponse.ModuleAttemptedMovementThisUpdate / Context.Map.Collision.CollisionQueryAndResponse.DeltaTime;
float float_IfResult1;
if(Context.Map.OUTPUT_VAR.Collision.CollisionQueryAndResponse.PhysicsCollidesThisFrame)
{
float_IfResult1 = Context.Map.Local.Collision.CollisionQueryAndResponse.ModulePhysicsDeltaTime;
}
else
{
float_IfResult1 = Context.Map.Collision.CollisionQueryAndResponse.DeltaTime;
}
float Constant109 = 0;
float float_IfResult2;
if(Context.Map.Local.Collision.CollisionQueryAndResponse.ModuleRemoveRestitution)
{
float_IfResult2 = Constant109;
}
else
{
float_IfResult2 = Context.Map.Local.Collision.CollisionQueryAndResponse.ModuleReturnedRestitution;
}
Context.Map.Transient.CollisionValid = Context.Map.OUTPUT_VAR.Collision.CollisionQueryAndResponse.PhysicsCollidesThisFrame;
Context.Map.Transient.CollisionSize = Context.Map.Collision.CollisionQueryAndResponse.ParticleRadius;
Context.Map.Transient.CollisionNormal = Context.Map.Local.Collision.CollisionQueryAndResponse.ModulePlaneNormal;
Context.Map.Transient.CollisionVelocity = Result120;
Context.Map.Transient.CollisionFriction = Context.Map.Local.Collision.CollisionQueryAndResponse.ModuleReturnedFriction;
Context.Map.Transient.PhysicsDeltaTime = float_IfResult1;
Context.Map.Transient.CollisionRestitution = float_IfResult2;
bool Result121 = !Context.Map.Local.Collision.CollisionQueryAndResponse.ModuleRemoveRestitution;
bool Result122 = Result121 && Context.Map.Collision.CollisionQueryAndResponse.RandomizeCollisionNormal;
float Constant110 = 1;
float3 NiagaraScript_1881_Func_Output_Ouput;
NiagaraScript_1881_Func_(Context.Map.Transient.CollisionNormal, Constant110, Context.Map.Collision.CollisionQueryAndResponse.CollisionNormalRandomizationPercentage, NiagaraScript_1881_Func_Output_Ouput, Context);
float3 Vector_IfResult3;
if(Result122)
{
Vector_IfResult3 = NiagaraScript_1881_Func_Output_Ouput;
}
else
{
Vector_IfResult3 = Context.Map.Transient.CollisionNormal;
}
float3 NiagaraScript_1880_Func_Output_Reflected;
NiagaraScript_1880_Func_(Context.Map.Transient.CollisionVelocity, Vector_IfResult3, NiagaraScript_1880_Func_Output_Reflected, Context);
Context.Map.Local.Collision.CollisionQueryAndResponse.ModuleReflectedVelocity = NiagaraScript_1880_Func_Output_Reflected;
float3 NiagaraScript_1883_Func_Output_CentimeterstoMeters;
float3 NiagaraScript_1883_Func_Output_MeterstoCentimeters;
NiagaraScript_1883_Func_(Context.Map.Transient.CollisionVelocity, NiagaraScript_1883_Func_Output_CentimeterstoMeters, NiagaraScript_1883_Func_Output_MeterstoCentimeters, Context);
float3 Result162 = Context.Map.Transient.Collision_ParticleMassReplacement * NiagaraScript_1883_Func_Output_CentimeterstoMeters;
float Constant144 = -1;
float3 Result163 = Result162 * Constant144;
float Result164 = dot(Result163,Context.Map.Transient.CollisionNormal);
Context.Map.Local.Collision.CollisionQueryAndResponse.ModuleNormalForceInNewtons = Result164;
bool Constant145 = false;
float3 NiagaraScript_1884_Particle_Func_Output_Ouput;
NiagaraScript_1884_Particle_Func_(Context.Map.Local.Collision.CollisionQueryAndResponse.ModuleReflectedVelocity, Context.Map.Transient.CollisionNormal, Constant145, NiagaraScript_1884_Particle_Func_Output_Ouput, Context);
float3 Constant151 = float3(0,0,0);
float Constant152 = 1e-05;
float3 NiagaraScript_1845_Particle_Func_Output_Direction5;
float NiagaraScript_1845_Particle_Func_Output_Length5;
bool NiagaraScript_1845_Particle_Func_Output_BelowThreshold5;
NiagaraScript_1845_Particle_Func_(NiagaraScript_1884_Particle_Func_Output_Ouput, Constant151, Constant152, NiagaraScript_1845_Particle_Func_Output_Direction5, NiagaraScript_1845_Particle_Func_Output_Length5, NiagaraScript_1845_Particle_Func_Output_BelowThreshold5, Context);
float3 NiagaraScript_1886_Func_Output_CentimeterstoMeters;
float3 NiagaraScript_1886_Func_Output_MeterstoCentimeters;
NiagaraScript_1886_Func_(NiagaraScript_1884_Particle_Func_Output_Ouput, NiagaraScript_1886_Func_Output_CentimeterstoMeters, NiagaraScript_1886_Func_Output_MeterstoCentimeters, Context);
float3 Result177 = NiagaraScript_1886_Func_Output_CentimeterstoMeters * Context.Map.Transient.Collision_ParticleMassReplacement;
float float_IfResult3;
if(Context.Map.Local.Collision.CollisionQueryAndResponse.ModuleRemoveRestitution)
{
float_IfResult3 = Context.Map.Collision.CollisionQueryAndResponse.DynamicFrictionCoefficient;
}
else
{
float_IfResult3 = Context.Map.Collision.CollisionQueryAndResponse.BounceCollisionFriction;
}
float3 Result178 = NiagaraScript_1845_Particle_Func_Output_Direction5 * float_IfResult3 * Context.Map.Local.Collision.CollisionQueryAndResponse.ModuleNormalForceInNewtons;
float3 Result179 = Result177 - Result178;
float3 Constant155 = float3(0,0,0);
float Constant156 = 1e-05;
float3 NiagaraScript_1845_Particle_Func_Output_Direction6;
float NiagaraScript_1845_Particle_Func_Output_Length6;
bool NiagaraScript_1845_Particle_Func_Output_BelowThreshold6;
NiagaraScript_1845_Particle_Func_(Result179, Constant155, Constant156, NiagaraScript_1845_Particle_Func_Output_Direction6, NiagaraScript_1845_Particle_Func_Output_Length6, NiagaraScript_1845_Particle_Func_Output_BelowThreshold6, Context);
float Result180 = dot(NiagaraScript_1845_Particle_Func_Output_Direction5,NiagaraScript_1845_Particle_Func_Output_Direction6);
float Constant157 = 0;
bool Result181 = NiagaraAll(Result180 <= Constant157);
float3 Vector_IfResult4;
if(Result181)
{
Vector_IfResult4 = Result177;
}
else
{
Vector_IfResult4 = Result178;
}
float Constant158 = -1;
float3 Result182 = Vector_IfResult4 * Constant158;
Context.Map.Local.Collision.CollisionQueryAndResponse.ModuleFrictionForceVectorInNewtons = Result182;
float3 Result183 = Context.Map.Local.Collision.CollisionQueryAndResponse.ModuleFrictionForceVectorInNewtons * Context.Map.Transient.Collision_ParticleInverseMassReplacement;
float3 NiagaraScript_1887_Func_Output_CentimeterstoMeters;
float3 NiagaraScript_1887_Func_Output_MeterstoCentimeters;
NiagaraScript_1887_Func_(Result183, NiagaraScript_1887_Func_Output_CentimeterstoMeters, NiagaraScript_1887_Func_Output_MeterstoCentimeters, Context);
Context.Map.Local.Collision.CollisionQueryAndResponse.ModuleFrictionForceVelocityVector = NiagaraScript_1887_Func_Output_MeterstoCentimeters;
float3 Result186 = Context.Map.Local.Collision.CollisionQueryAndResponse.ModuleReflectedVelocity + Context.Map.Local.Collision.CollisionQueryAndResponse.ModuleFrictionForceVelocityVector;
float Result187 = dot(Context.Map.Transient.CollisionNormal,Context.Map.Local.Collision.CollisionQueryAndResponse.ModuleReflectedVelocity);
float3 Result188 = Context.Map.Transient.CollisionNormal * Result187;
float Result189 = 1 - Context.Map.Transient.CollisionRestitution;
float3 Result190 = Result188 * Result189;
float3 Result191 = Result186 - Result190;
Context.Map.Local.Collision.CollisionQueryAndResponse.ModuleReflectedVelocityWithFrictionApplied = Result191;
float3 Particleposition_IfResult;
if(Context.Map.Transient.CollisionValid)
{
Particleposition_IfResult = Context.Map.Transient.CollisionParticleWorldPosition;
}
else
{
Particleposition_IfResult = Context.Map.Transient.Collision_ParticlePositionReplacement;
}
Context.Map.Transient.Collision_ParticlePositionReplacement = Particleposition_IfResult;
float3 Constant161 = float3(0,0,1);
float Constant162 = 1e-05;
float3 NiagaraScript_1845_Particle_Func_Output_Direction7;
float NiagaraScript_1845_Particle_Func_Output_Length7;
bool NiagaraScript_1845_Particle_Func_Output_BelowThreshold7;
NiagaraScript_1845_Particle_Func_(Context.Map.Transient.CollisionVelocity, Constant161, Constant162, NiagaraScript_1845_Particle_Func_Output_Direction7, NiagaraScript_1845_Particle_Func_Output_Length7, NiagaraScript_1845_Particle_Func_Output_BelowThreshold7, Context);
float Result192 = dot(NiagaraScript_1845_Particle_Func_Output_Direction7,Context.Map.Transient.CollisionNormal);
float Constant163 = 0;
bool Result193 = NiagaraAll(Result192 < Constant163);
bool Result194 = Result193 && Context.Map.Transient.CollisionValid;
float3 Constant164 = float3(0,0,0);
float3 physicsforce_IfResult;
float3 Velocity_IfResult;
if(Result194)
{
physicsforce_IfResult = Constant164;
Velocity_IfResult = Context.Map.Local.Collision.CollisionQueryAndResponse.ModuleReflectedVelocityWithFrictionApplied;
}
else
{
physicsforce_IfResult = Context.Map.Transient.PhysicsForce;
Velocity_IfResult = Context.Map.Transient.Collision_ParticleVelocityReplacement;
}
Context.Map.Transient.Collision_ParticleVelocityReplacement = Velocity_IfResult;
Context.Map.Transient.Collision_ParticlePhysicsForceReplacement = physicsforce_IfResult;
Out_ModuleTraceWorldStart = Context.Map.Local.Collision.CollisionQueryAndResponse.ModuleTraceWorldStart;
Out_ModuleTraceWorldEnd = Context.Map.Local.Collision.CollisionQueryAndResponse.ModuleTraceWorldEnd;
Out_CollisionPosition = Context.Map.Transient.CollisionWorldPosition;
Out_CollisionNormal = Context.Map.Transient.CollisionNormal;
Out_Collided = Context.Map.Transient.CollisionValid;
}
void Collision_CollisionQueryAndResponse001_Emitter_Func_(out float3 Out_ModuleTraceWorldStart, out float3 Out_ModuleTraceWorldEnd, out float3 Out_CollisionPosition, out float3 Out_CollisionNormal, out bool Out_Collided, inout FSimulationContext Context)
{
Context.Map.Local.Collision.CollisionQueryAndResponse001.ModuleInitialDataInstanceAlive = Context.Map.DataInstance.Alive;
Context.Map.Transient.Collision_ParticlePositionReplacement = Context.Map.Transient.Collision_ParticlePositionReplacement;
Context.Map.Transient.Collision_PredictedParticlePositionForSimStages = Context.Map.Transient.Collision_PredictedParticlePositionForSimStages;
Context.Map.Collision.CollisionQueryAndResponse001.DeltaTime = Context.Map.Collision.CollisionQueryAndResponse001.DeltaTime;
float Result195 = Reciprocal(Context.Map.Transient.Collision_ParticleMassReplacement);
Context.Map.Transient.Collision_ParticlePositionReplacement = Context.Map.Transient.Collision_ParticlePositionReplacement;
Context.Map.Transient.Collision_ParticleVelocityReplacement = Context.Map.Transient.Collision_ParticleVelocityReplacement;
Context.Map.Transient.Collision_ParticlePhysicsForceReplacement = Context.Map.Transient.Collision_ParticlePhysicsForceReplacement;
Context.Map.Transient.Collision_ParticleMassReplacement = Context.Map.Transient.Collision_ParticleMassReplacement;
Context.Map.Transient.Collision_ParticleInverseMassReplacement = Result195;
float3 Result196 = Context.Map.Transient.Collision_ParticlePhysicsForceReplacement * Context.Map.Transient.Collision_ParticleInverseMassReplacement;
float3 Result197 = Result196 * Context.Map.Collision.CollisionQueryAndResponse001.DeltaTime;
float3 Result198 = Result197 + Context.Map.Transient.Collision_ParticleVelocityReplacement;
float3 NiagaraScript_1872_Particle_Func_Output_Output1;
NiagaraScript_1872_Particle_Func_(Result198, Context.Map.Transient.AdvectionVelocity, Context.Map.Transient.Collision_ParticleInverseMassReplacement, Context.Map.Transient.PhysicsDrag, Context.Map.Collision.CollisionQueryAndResponse001.DeltaTime, Context.Map.Transient.DragIgnoreMass, NiagaraScript_1872_Particle_Func_Output_Output1, Context);
float3 Result199 = NiagaraScript_1872_Particle_Func_Output_Output1 * Context.Map.Collision.CollisionQueryAndResponse001.DeltaTime;
Context.Map.Local.Collision.CollisionQueryAndResponse001.ModuleTraceOrigin = Context.Map.Transient.Collision_ParticlePositionReplacement;
Context.Map.Local.Collision.CollisionQueryAndResponse001.ModuleInitialForceDividedByMass = Result196;
Context.Map.Local.Collision.CollisionQueryAndResponse001.ModuleForceContribution = Result197;
Context.Map.Local.Collision.CollisionQueryAndResponse001.ModuleAttemptedMovementThisUpdate = Result199;
float3 Constant166 = float3(0,0,-1);
float Constant167 = 1e-05;
float3 NiagaraScript_1845_Particle_Func_Output_Direction8;
float NiagaraScript_1845_Particle_Func_Output_Length8;
bool NiagaraScript_1845_Particle_Func_Output_BelowThreshold8;
NiagaraScript_1845_Particle_Func_(Context.Map.Local.Collision.CollisionQueryAndResponse001.ModuleAttemptedMovementThisUpdate, Constant166, Constant167, NiagaraScript_1845_Particle_Func_Output_Direction8, NiagaraScript_1845_Particle_Func_Output_Length8, NiagaraScript_1845_Particle_Func_Output_BelowThreshold8, Context);
Context.Map.Local.Collision.CollisionQueryAndResponse001.ModuleTraceVector = Context.Map.Local.Collision.CollisionQueryAndResponse001.ModuleAttemptedMovementThisUpdate;
Context.Map.Local.Collision.CollisionQueryAndResponse001.ModuleTraceDirection = NiagaraScript_1845_Particle_Func_Output_Direction8;
float3 Result200 = NiagaraScript_1845_Particle_Func_Output_Direction8 * Context.Map.Collision.CollisionQueryAndResponse001.ParticleRadius;
float3 Result201 = Context.Map.Local.Collision.CollisionQueryAndResponse001.ModuleTraceOrigin - Result200;
float3 Result202 = Context.Map.Collision.CollisionQueryAndResponse001.TraceVectorLengthMultiplier * Context.Map.Local.Collision.CollisionQueryAndResponse001.ModuleAttemptedMovementThisUpdate;
float3 Result203 = Result200 + Result202;
float3 Constant168 = float3(0,0,-1);
float Constant169 = 1e-05;
float3 NiagaraScript_1845_Particle_Func_Output_Direction9;
float NiagaraScript_1845_Particle_Func_Output_Length9;
bool NiagaraScript_1845_Particle_Func_Output_BelowThreshold9;
NiagaraScript_1845_Particle_Func_(Result203, Constant168, Constant169, NiagaraScript_1845_Particle_Func_Output_Direction9, NiagaraScript_1845_Particle_Func_Output_Length9, NiagaraScript_1845_Particle_Func_Output_BelowThreshold9, Context);
float Result204 = min(NiagaraScript_1845_Particle_Func_Output_Length9, Context.Map.Collision.CollisionQueryAndResponse001.MaxTraceLength);
float3 Result205 = NiagaraScript_1845_Particle_Func_Output_Direction9 * Result204;
float3 Result206 = Context.Map.Local.Collision.CollisionQueryAndResponse001.ModuleTraceOrigin + Result205;
Context.Map.Local.Collision.CollisionQueryAndResponse001.ModuleTraceWorldStart = Result201;
Context.Map.Local.Collision.CollisionQueryAndResponse001.ModuleTraceWorldEnd = Result206;
bool Result207 = !Context.Map.Collision.CollisionQueryAndResponse001.CollisionEnabled;
bool Result208 = Result207 || Context.Map.Collision.CollisionQueryAndResponse001.ManuallyEnterRest;
int PerformCollisionQueryAsyncCPU_Collision_CollisionQueryAndResponse001_QueryOutput_NextFrameQueryID;
bool PerformCollisionQueryAsyncCPU_Collision_CollisionQueryAndResponse001_QueryOutput_CollisionValid;
bool PerformCollisionQueryAsyncCPU_Collision_CollisionQueryAndResponse001_QueryOutput_IsTraceInsideMesh;
float3 PerformCollisionQueryAsyncCPU_Collision_CollisionQueryAndResponse001_QueryOutput_CollisionPosWorld;
float3 PerformCollisionQueryAsyncCPU_Collision_CollisionQueryAndResponse001_QueryOutput_CollisionNormal;
float PerformCollisionQueryAsyncCPU_Collision_CollisionQueryAndResponse001_QueryOutput_CollisionMaterialFriction;
float PerformCollisionQueryAsyncCPU_Collision_CollisionQueryAndResponse001_QueryOutput_CollisionMaterialRestitution;
int PerformCollisionQueryAsyncCPU_Collision_CollisionQueryAndResponse001_QueryOutput_CollisionMaterialIndex;
PerformCollisionQueryAsyncCPU_Collision_CollisionQueryAndResponse001_Query(1, Context.Map.Particles.Collision.CollisionQueryAndResponse001.CollisionID, Context.Map.Local.Collision.CollisionQueryAndResponse001.ModuleTraceWorldStart, Context.Map.Local.Collision.CollisionQueryAndResponse001.ModuleTraceWorldEnd, Context.Map.Collision.CollisionQueryAndResponse001.CPUCollisionTraceChannel, Result208, PerformCollisionQueryAsyncCPU_Collision_CollisionQueryAndResponse001_QueryOutput_NextFrameQueryID, PerformCollisionQueryAsyncCPU_Collision_CollisionQueryAndResponse001_QueryOutput_CollisionValid, PerformCollisionQueryAsyncCPU_Collision_CollisionQueryAndResponse001_QueryOutput_IsTraceInsideMesh, PerformCollisionQueryAsyncCPU_Collision_CollisionQueryAndResponse001_QueryOutput_CollisionPosWorld, PerformCollisionQueryAsyncCPU_Collision_CollisionQueryAndResponse001_QueryOutput_CollisionNormal, PerformCollisionQueryAsyncCPU_Collision_CollisionQueryAndResponse001_QueryOutput_CollisionMaterialFriction, PerformCollisionQueryAsyncCPU_Collision_CollisionQueryAndResponse001_QueryOutput_CollisionMaterialRestitution, PerformCollisionQueryAsyncCPU_Collision_CollisionQueryAndResponse001_QueryOutput_CollisionMaterialIndex);
bool Result209 = !PerformCollisionQueryAsyncCPU_Collision_CollisionQueryAndResponse001_QueryOutput_IsTraceInsideMesh;
bool Result210 = PerformCollisionQueryAsyncCPU_Collision_CollisionQueryAndResponse001_QueryOutput_CollisionValid && Result209;
bool Constant170 = false;
bool Constant171 = true;
Context.Map.Particles.Collision.CollisionQueryAndResponse001.CollisionID = PerformCollisionQueryAsyncCPU_Collision_CollisionQueryAndResponse001_QueryOutput_NextFrameQueryID;
Context.Map.Local.Collision.CollisionQueryAndResponse001.ModuleReturnedCollisionValidBool = Result210;
Context.Map.Local.Collision.CollisionQueryAndResponse001.ModuleReturnedCollisionWorldPosition = PerformCollisionQueryAsyncCPU_Collision_CollisionQueryAndResponse001_QueryOutput_CollisionPosWorld;
Context.Map.Local.Collision.CollisionQueryAndResponse001.ModuleReturnedCollisionNormal = PerformCollisionQueryAsyncCPU_Collision_CollisionQueryAndResponse001_QueryOutput_CollisionNormal;
Context.Map.Local.Collision.CollisionQueryAndResponse001.ModuleReturnedFriction = PerformCollisionQueryAsyncCPU_Collision_CollisionQueryAndResponse001_QueryOutput_CollisionMaterialFriction;
Context.Map.Local.Collision.CollisionQueryAndResponse001.ModuleReturnedRestitution = Context.Map.Collision.CollisionQueryAndResponse001.ParticleRestitutionCoeffiecient;
Context.Map.OUTPUT_VAR.Collision.CollisionQueryAndResponse001.ModuleDepthBasedCollisionParticleOccluded = Constant170;
Context.Map.DataInstance.Alive = Context.Map.DataInstance.Alive;
Context.Map.OUTPUT_VAR.Collision.CollisionQueryAndResponse001.ParticleOnScreen = Constant171;
Context.Map.Particles.Collision.CollisionQueryAndResponse001.Collision2MaterialIndex = PerformCollisionQueryAsyncCPU_Collision_CollisionQueryAndResponse001_QueryOutput_CollisionMaterialIndex;
float3 Constant172 = float3(0,0,1);
float3 Constant173 = float3(0,0,-1e+16);
float3 PlaneNormal_IfResult1;
float3 PlanePivotPoint_IfResult1;
if(Context.Map.Local.Collision.CollisionQueryAndResponse001.ModuleReturnedCollisionValidBool)
{
PlaneNormal_IfResult1 = Context.Map.Local.Collision.CollisionQueryAndResponse001.ModuleReturnedCollisionNormal;
PlanePivotPoint_IfResult1 = Context.Map.Local.Collision.CollisionQueryAndResponse001.ModuleReturnedCollisionWorldPosition;
}
else
{
PlaneNormal_IfResult1 = Constant172;
PlanePivotPoint_IfResult1 = Constant173;
}
Context.Map.Local.Collision.CollisionQueryAndResponse001.ModulePlaneNormal = PlaneNormal_IfResult1;
Context.Map.Local.Collision.CollisionQueryAndResponse001.ModulePlanePivotPoint = PlanePivotPoint_IfResult1;
bool NiagaraScript_1879_Func_Output_Collides1;
float3 NiagaraScript_1879_Func_Output_IntersectionLocation1;
float3 NiagaraScript_1879_Func_Output_PreASC45IntersectionSphereCenterLocation1;
float3 NiagaraScript_1879_Func_Output_InitialPositionRelativeCollisionLocation1;
float NiagaraScript_1879_Func_Output_TimeElapsedToCollision1;
float NiagaraScript_1879_Func_Output_RemainingTimePostCollision1;
float NiagaraScript_1879_Func_Output_PercentageofTimeUsedToPerformCollision1;
float NiagaraScript_1879_Func_Output_InitialDistanceBetweenTheSphereASC39sSurfaceandtheCollision1;
float NiagaraScript_1879_Func_Output_UninterruptedAnimatedSphereASC39sDistancetoCollisionPlane1;
NiagaraScript_1879_Func_(Context.Map.Local.Collision.CollisionQueryAndResponse001.ModulePlaneNormal, Context.Map.Local.Collision.CollisionQueryAndResponse001.ModulePlanePivotPoint, Context.Map.Local.Collision.CollisionQueryAndResponse001.ModuleTraceOrigin, Context.Map.Local.Collision.CollisionQueryAndResponse001.ModuleAttemptedMovementThisUpdate, Context.Map.Collision.CollisionQueryAndResponse001.ParticleRadius, Context.Map.Collision.CollisionQueryAndResponse001.DeltaTime, Context.Map.Collision.CollisionQueryAndResponse001.MaxIntersectionCorrectionDistance, NiagaraScript_1879_Func_Output_Collides1, NiagaraScript_1879_Func_Output_IntersectionLocation1, NiagaraScript_1879_Func_Output_PreASC45IntersectionSphereCenterLocation1, NiagaraScript_1879_Func_Output_InitialPositionRelativeCollisionLocation1, NiagaraScript_1879_Func_Output_TimeElapsedToCollision1, NiagaraScript_1879_Func_Output_RemainingTimePostCollision1, NiagaraScript_1879_Func_Output_PercentageofTimeUsedToPerformCollision1, NiagaraScript_1879_Func_Output_InitialDistanceBetweenTheSphereASC39sSurfaceandtheCollision1, NiagaraScript_1879_Func_Output_UninterruptedAnimatedSphereASC39sDistancetoCollisionPlane1, Context);
Context.Map.Transient.CollisionWorldPosition = NiagaraScript_1879_Func_Output_IntersectionLocation1;
Context.Map.Transient.CollisionParticleWorldPosition = NiagaraScript_1879_Func_Output_PreASC45IntersectionSphereCenterLocation1;
Context.Map.Transient.CollisionParticleRelativeCollisionLocation = NiagaraScript_1879_Func_Output_InitialPositionRelativeCollisionLocation1;
Context.Map.Local.Collision.CollisionQueryAndResponse001.ModuleTickDeltaForThisCollisionUpdate = NiagaraScript_1879_Func_Output_TimeElapsedToCollision1;
Context.Map.Local.Collision.CollisionQueryAndResponse001.ModulePhysicsDeltaTime = NiagaraScript_1879_Func_Output_RemainingTimePostCollision1;
Context.Map.Local.Collision.CollisionQueryAndResponse001.ModulePercentageOfTickDedicatedToUpdatingPosition = NiagaraScript_1879_Func_Output_PercentageofTimeUsedToPerformCollision1;
Context.Map.OUTPUT_VAR.Collision.CollisionQueryAndResponse001.CollisionPenetrationDistance = NiagaraScript_1879_Func_Output_InitialDistanceBetweenTheSphereASC39sSurfaceandtheCollision1;
Context.Map.Transient.CollisionDistanceToCollision = NiagaraScript_1879_Func_Output_UninterruptedAnimatedSphereASC39sDistancetoCollisionPlane1;
float Constant174 = 0;
bool Result211 = NiagaraAll(Context.Map.Transient.CollisionDistanceToCollision <= Constant174);
bool Result212 = Context.Map.Collision.CollisionQueryAndResponse001.CollisionEnabled && Result211;
bool Result213 = Result212 || Context.Map.Particles.HasCollided;
Context.Map.OUTPUT_VAR.Collision.CollisionQueryAndResponse001.PhysicsCollidesThisFrame = Result212;
Context.Map.Particles.HasCollided = Result213;
float3 Result214 = -(Context.Map.Local.Collision.CollisionQueryAndResponse001.ModulePlaneNormal);
float Result215 = dot(Result214,Context.Map.Local.Collision.CollisionQueryAndResponse001.ModuleAttemptedMovementThisUpdate);
float Result216 = Context.Map.Collision.CollisionQueryAndResponse001.DeltaTime * Context.Map.Collision.CollisionQueryAndResponse001.DeltaTime;
float3 Result217 = Result216 * Context.Map.Local.Collision.CollisionQueryAndResponse001.ModuleInitialForceDividedByMass;
float Result218 = dot(Result214,Result217);
float Result219 = Result215 - Result218;
float Constant175 = 0.1;
bool Result220 = NiagaraAll(Result219 < Constant175);
Context.Map.Local.Collision.CollisionQueryAndResponse001.ModuleRemoveRestitution = Result220;
float3 Result221 = Context.Map.Local.Collision.CollisionQueryAndResponse001.ModuleAttemptedMovementThisUpdate / Context.Map.Collision.CollisionQueryAndResponse001.DeltaTime;
float float_IfResult4;
if(Context.Map.OUTPUT_VAR.Collision.CollisionQueryAndResponse001.PhysicsCollidesThisFrame)
{
float_IfResult4 = Context.Map.Local.Collision.CollisionQueryAndResponse001.ModulePhysicsDeltaTime;
}
else
{
float_IfResult4 = Context.Map.Collision.CollisionQueryAndResponse001.DeltaTime;
}
float Constant176 = 0;
float float_IfResult5;
if(Context.Map.Local.Collision.CollisionQueryAndResponse001.ModuleRemoveRestitution)
{
float_IfResult5 = Constant176;
}
else
{
float_IfResult5 = Context.Map.Local.Collision.CollisionQueryAndResponse001.ModuleReturnedRestitution;
}
Context.Map.Transient.CollisionValid = Context.Map.OUTPUT_VAR.Collision.CollisionQueryAndResponse001.PhysicsCollidesThisFrame;
Context.Map.Transient.CollisionSize = Context.Map.Collision.CollisionQueryAndResponse001.ParticleRadius;
Context.Map.Transient.CollisionNormal = Context.Map.Local.Collision.CollisionQueryAndResponse001.ModulePlaneNormal;
Context.Map.Transient.CollisionVelocity = Result221;
Context.Map.Transient.CollisionFriction = Context.Map.Local.Collision.CollisionQueryAndResponse001.ModuleReturnedFriction;
Context.Map.Transient.PhysicsDeltaTime = float_IfResult4;
Context.Map.Transient.CollisionRestitution = float_IfResult5;
bool Result222 = !Context.Map.Local.Collision.CollisionQueryAndResponse001.ModuleRemoveRestitution;
bool Result223 = Result222 && Context.Map.Collision.CollisionQueryAndResponse001.RandomizeCollisionNormal;
float Constant177 = 1;
float3 NiagaraScript_1881_Func_Output_Ouput1;
NiagaraScript_1881_Func_(Context.Map.Transient.CollisionNormal, Constant177, Context.Map.Collision.CollisionQueryAndResponse001.CollisionNormalRandomizationPercentage, NiagaraScript_1881_Func_Output_Ouput1, Context);
float3 Vector_IfResult5;
if(Result223)
{
Vector_IfResult5 = NiagaraScript_1881_Func_Output_Ouput1;
}
else
{
Vector_IfResult5 = Context.Map.Transient.CollisionNormal;
}
float3 NiagaraScript_1880_Func_Output_Reflected1;
NiagaraScript_1880_Func_(Context.Map.Transient.CollisionVelocity, Vector_IfResult5, NiagaraScript_1880_Func_Output_Reflected1, Context);
Context.Map.Local.Collision.CollisionQueryAndResponse001.ModuleReflectedVelocity = NiagaraScript_1880_Func_Output_Reflected1;
float3 NiagaraScript_1883_Func_Output_CentimeterstoMeters1;
float3 NiagaraScript_1883_Func_Output_MeterstoCentimeters1;
NiagaraScript_1883_Func_(Context.Map.Transient.CollisionVelocity, NiagaraScript_1883_Func_Output_CentimeterstoMeters1, NiagaraScript_1883_Func_Output_MeterstoCentimeters1, Context);
float3 Result224 = Context.Map.Transient.Collision_ParticleMassReplacement * NiagaraScript_1883_Func_Output_CentimeterstoMeters1;
float Constant178 = -1;
float3 Result225 = Result224 * Constant178;
float Result226 = dot(Result225,Context.Map.Transient.CollisionNormal);
Context.Map.Local.Collision.CollisionQueryAndResponse001.ModuleNormalForceInNewtons = Result226;
bool Constant179 = false;
float3 NiagaraScript_1884_Particle_Func_Output_Ouput1;
NiagaraScript_1884_Particle_Func_(Context.Map.Local.Collision.CollisionQueryAndResponse001.ModuleReflectedVelocity, Context.Map.Transient.CollisionNormal, Constant179, NiagaraScript_1884_Particle_Func_Output_Ouput1, Context);
float3 Constant180 = float3(0,0,0);
float Constant181 = 1e-05;
float3 NiagaraScript_1845_Particle_Func_Output_Direction10;
float NiagaraScript_1845_Particle_Func_Output_Length10;
bool NiagaraScript_1845_Particle_Func_Output_BelowThreshold10;
NiagaraScript_1845_Particle_Func_(NiagaraScript_1884_Particle_Func_Output_Ouput1, Constant180, Constant181, NiagaraScript_1845_Particle_Func_Output_Direction10, NiagaraScript_1845_Particle_Func_Output_Length10, NiagaraScript_1845_Particle_Func_Output_BelowThreshold10, Context);
float3 NiagaraScript_1886_Func_Output_CentimeterstoMeters1;
float3 NiagaraScript_1886_Func_Output_MeterstoCentimeters1;
NiagaraScript_1886_Func_(NiagaraScript_1884_Particle_Func_Output_Ouput1, NiagaraScript_1886_Func_Output_CentimeterstoMeters1, NiagaraScript_1886_Func_Output_MeterstoCentimeters1, Context);
float3 Result227 = NiagaraScript_1886_Func_Output_CentimeterstoMeters1 * Context.Map.Transient.Collision_ParticleMassReplacement;
float float_IfResult6;
if(Context.Map.Local.Collision.CollisionQueryAndResponse001.ModuleRemoveRestitution)
{
float_IfResult6 = Context.Map.Collision.CollisionQueryAndResponse001.DynamicFrictionCoefficient;
}
else
{
float_IfResult6 = Context.Map.Collision.CollisionQueryAndResponse001.BounceCollisionFriction;
}
float3 Result228 = NiagaraScript_1845_Particle_Func_Output_Direction10 * float_IfResult6 * Context.Map.Local.Collision.CollisionQueryAndResponse001.ModuleNormalForceInNewtons;
float3 Result229 = Result227 - Result228;
float3 Constant182 = float3(0,0,0);
float Constant183 = 1e-05;
float3 NiagaraScript_1845_Particle_Func_Output_Direction11;
float NiagaraScript_1845_Particle_Func_Output_Length11;
bool NiagaraScript_1845_Particle_Func_Output_BelowThreshold11;
NiagaraScript_1845_Particle_Func_(Result229, Constant182, Constant183, NiagaraScript_1845_Particle_Func_Output_Direction11, NiagaraScript_1845_Particle_Func_Output_Length11, NiagaraScript_1845_Particle_Func_Output_BelowThreshold11, Context);
float Result230 = dot(NiagaraScript_1845_Particle_Func_Output_Direction10,NiagaraScript_1845_Particle_Func_Output_Direction11);
float Constant184 = 0;
bool Result231 = NiagaraAll(Result230 <= Constant184);
float3 Vector_IfResult6;
if(Result231)
{
Vector_IfResult6 = Result227;
}
else
{
Vector_IfResult6 = Result228;
}
float Constant185 = -1;
float3 Result232 = Vector_IfResult6 * Constant185;
Context.Map.Local.Collision.CollisionQueryAndResponse001.ModuleFrictionForceVectorInNewtons = Result232;
float3 Result233 = Context.Map.Local.Collision.CollisionQueryAndResponse001.ModuleFrictionForceVectorInNewtons * Context.Map.Transient.Collision_ParticleInverseMassReplacement;
float3 NiagaraScript_1887_Func_Output_CentimeterstoMeters1;
float3 NiagaraScript_1887_Func_Output_MeterstoCentimeters1;
NiagaraScript_1887_Func_(Result233, NiagaraScript_1887_Func_Output_CentimeterstoMeters1, NiagaraScript_1887_Func_Output_MeterstoCentimeters1, Context);
Context.Map.Local.Collision.CollisionQueryAndResponse001.ModuleFrictionForceVelocityVector = NiagaraScript_1887_Func_Output_MeterstoCentimeters1;
float3 Result234 = Context.Map.Local.Collision.CollisionQueryAndResponse001.ModuleReflectedVelocity + Context.Map.Local.Collision.CollisionQueryAndResponse001.ModuleFrictionForceVelocityVector;
float Result235 = dot(Context.Map.Transient.CollisionNormal,Context.Map.Local.Collision.CollisionQueryAndResponse001.ModuleReflectedVelocity);
float3 Result236 = Context.Map.Transient.CollisionNormal * Result235;
float Result237 = 1 - Context.Map.Transient.CollisionRestitution;
float3 Result238 = Result236 * Result237;
float3 Result239 = Result234 - Result238;
Context.Map.Local.Collision.CollisionQueryAndResponse001.ModuleReflectedVelocityWithFrictionApplied = Result239;
float3 Particleposition_IfResult1;
if(Context.Map.Transient.CollisionValid)
{
Particleposition_IfResult1 = Context.Map.Transient.CollisionParticleWorldPosition;
}
else
{
Particleposition_IfResult1 = Context.Map.Transient.Collision_ParticlePositionReplacement;
}
Context.Map.Transient.Collision_ParticlePositionReplacement = Particleposition_IfResult1;
float3 Constant186 = float3(0,0,1);
float Constant187 = 1e-05;
float3 NiagaraScript_1845_Particle_Func_Output_Direction12;
float NiagaraScript_1845_Particle_Func_Output_Length12;
bool NiagaraScript_1845_Particle_Func_Output_BelowThreshold12;
NiagaraScript_1845_Particle_Func_(Context.Map.Transient.CollisionVelocity, Constant186, Constant187, NiagaraScript_1845_Particle_Func_Output_Direction12, NiagaraScript_1845_Particle_Func_Output_Length12, NiagaraScript_1845_Particle_Func_Output_BelowThreshold12, Context);
float Result240 = dot(NiagaraScript_1845_Particle_Func_Output_Direction12,Context.Map.Transient.CollisionNormal);
float Constant188 = 0;
bool Result241 = NiagaraAll(Result240 < Constant188);
bool Result242 = Result241 && Context.Map.Transient.CollisionValid;
float3 Constant189 = float3(0,0,0);
float3 physicsforce_IfResult1;
float3 Velocity_IfResult1;
if(Result242)
{
physicsforce_IfResult1 = Constant189;
Velocity_IfResult1 = Context.Map.Local.Collision.CollisionQueryAndResponse001.ModuleReflectedVelocityWithFrictionApplied;
}
else
{
physicsforce_IfResult1 = Context.Map.Transient.PhysicsForce;
Velocity_IfResult1 = Context.Map.Transient.Collision_ParticleVelocityReplacement;
}
Context.Map.Transient.Collision_ParticleVelocityReplacement = Velocity_IfResult1;
Context.Map.Transient.Collision_ParticlePhysicsForceReplacement = physicsforce_IfResult1;
Out_ModuleTraceWorldStart = Context.Map.Local.Collision.CollisionQueryAndResponse001.ModuleTraceWorldStart;
Out_ModuleTraceWorldEnd = Context.Map.Local.Collision.CollisionQueryAndResponse001.ModuleTraceWorldEnd;
Out_CollisionPosition = Context.Map.Transient.CollisionWorldPosition;
Out_CollisionNormal = Context.Map.Transient.CollisionNormal;
Out_Collided = Context.Map.Transient.CollisionValid;
}
void Collision_TransformVector_Emitter_Func_(float3 In_InVector, int In_SourceSpace, int In_DestinationSpace, bool In_ApplyScale, out float3 Out_OutVector, inout FSimulationContext Context)
{
bool Constant221 = false;
float4x4 Matrix_IfResult4;
float4x4 Matrix001_IfResult3;
if(In_ApplyScale)
{
Matrix_IfResult4 = Context.Map.Engine.Owner.SystemLocalToWorld;
Matrix001_IfResult3 = Context.Map.Engine.Owner.SystemWorldToLocal;
}
else
{
Matrix_IfResult4 = Context.Map.Engine.Owner.SystemLocalToWorldNoScale;
Matrix001_IfResult3 = Context.Map.Engine.Owner.SystemWorldToLocalNoScale;
}
bool NiagaraScript_1835_Func_Output_bUseOriginal3;
float4x4 NiagaraScript_1835_Func_Output_OutTransform3;
bool NiagaraScript_1835_Func_Output_LocalToWorld3;
NiagaraScript_1835_Func_(In_SourceSpace, In_DestinationSpace, Matrix_IfResult4, Matrix001_IfResult3, Constant221, NiagaraScript_1835_Func_Output_bUseOriginal3, NiagaraScript_1835_Func_Output_OutTransform3, NiagaraScript_1835_Func_Output_LocalToWorld3, Context);
float3 Result270 = mul(float4(In_InVector,0.0),NiagaraScript_1835_Func_Output_OutTransform3).xyz;
float3 Vector_IfResult9;
if(NiagaraScript_1835_Func_Output_bUseOriginal3)
{
Vector_IfResult9 = In_InVector;
}
else
{
Vector_IfResult9 = Result270;
}
Out_OutVector = Vector_IfResult9;
}
void Collision_TransformPosition001_Emitter_Func_(float3 In_InPosition, int In_SourceSpace, int In_DestinationSpace, bool In_ApplyScale, out float3 Out_OutPosition, inout FSimulationContext Context)
{
bool Constant226 = false;
float4x4 Matrix_IfResult5;
float4x4 Matrix001_IfResult4;
if(In_ApplyScale)
{
Matrix_IfResult5 = Context.Map.Engine.Owner.SystemLocalToWorld;
Matrix001_IfResult4 = Context.Map.Engine.Owner.SystemWorldToLocal;
}
else
{
Matrix_IfResult5 = Context.Map.Engine.Owner.SystemLocalToWorldNoScale;
Matrix001_IfResult4 = Context.Map.Engine.Owner.SystemWorldToLocalNoScale;
}
bool NiagaraScript_1835_Func_Output_bUseOriginal4;
float4x4 NiagaraScript_1835_Func_Output_OutTransform4;
bool NiagaraScript_1835_Func_Output_LocalToWorld4;
NiagaraScript_1835_Func_(In_SourceSpace, In_DestinationSpace, Matrix_IfResult5, Matrix001_IfResult4, Constant226, NiagaraScript_1835_Func_Output_bUseOriginal4, NiagaraScript_1835_Func_Output_OutTransform4, NiagaraScript_1835_Func_Output_LocalToWorld4, Context);
float3 Result273 = mul(float4(In_InPosition,1.0),NiagaraScript_1835_Func_Output_OutTransform4).xyz;
float3 Vector_IfResult10;
if(NiagaraScript_1835_Func_Output_bUseOriginal4)
{
Vector_IfResult10 = In_InPosition;
}
else
{
Vector_IfResult10 = Result273;
}
Out_OutPosition = Vector_IfResult10;
}
void Collision_TransformVector001_Emitter_Func_(float3 In_InVector, int In_SourceSpace, int In_DestinationSpace, bool In_ApplyScale, out float3 Out_OutVector, inout FSimulationContext Context)
{
bool Constant230 = false;
float4x4 Matrix_IfResult6;
float4x4 Matrix001_IfResult5;
if(In_ApplyScale)
{
Matrix_IfResult6 = Context.Map.Engine.Owner.SystemLocalToWorld;
Matrix001_IfResult5 = Context.Map.Engine.Owner.SystemWorldToLocal;
}
else
{
Matrix_IfResult6 = Context.Map.Engine.Owner.SystemLocalToWorldNoScale;
Matrix001_IfResult5 = Context.Map.Engine.Owner.SystemWorldToLocalNoScale;
}
bool NiagaraScript_1835_Func_Output_bUseOriginal5;
float4x4 NiagaraScript_1835_Func_Output_OutTransform5;
bool NiagaraScript_1835_Func_Output_LocalToWorld5;
NiagaraScript_1835_Func_(In_SourceSpace, In_DestinationSpace, Matrix_IfResult6, Matrix001_IfResult5, Constant230, NiagaraScript_1835_Func_Output_bUseOriginal5, NiagaraScript_1835_Func_Output_OutTransform5, NiagaraScript_1835_Func_Output_LocalToWorld5, Context);
float3 Result274 = mul(float4(In_InVector,0.0),NiagaraScript_1835_Func_Output_OutTransform5).xyz;
float3 Vector_IfResult11;
if(NiagaraScript_1835_Func_Output_bUseOriginal5)
{
Vector_IfResult11 = In_InVector;
}
else
{
Vector_IfResult11 = Result274;
}
Out_OutVector = Vector_IfResult11;
}
void Collision_DoOnce_fn001_Emitter_Func_(bool In_TriggerCondition, bool In_Reset, out bool Out_Execute, out bool Out_Triggered, inout FSimulationContext Context)
{
bool Constant246 = false;
bool bool_IfResult2;
if(In_Reset)
{
bool_IfResult2 = Constant246;
}
else
{
bool_IfResult2 = Context.Map.Particles.Collision.DoOnce_fn001.TriggeredOnce;
}
Context.Map.Particles.Collision.DoOnce_fn001.TriggeredOnce = bool_IfResult2;
bool Result281 = !Context.Map.Particles.Collision.DoOnce_fn001.TriggeredOnce;
bool Result282 = Result281 && In_TriggerCondition;
Context.Map.Particles.Collision.DoOnce_fn001.Execute = Result282;
bool Result283 = Context.Map.Particles.Collision.DoOnce_fn001.TriggeredOnce || In_TriggerCondition;
Context.Map.Particles.Collision.DoOnce_fn001.TriggeredOnce = Result283;
Out_Execute = Context.Map.Particles.Collision.DoOnce_fn001.Execute;
Out_Triggered = Result283;
}
void NiagaraScript_1851_Func_(float4 In_AxisAngle, bool In_NormalizeAxis, out float4 Out_Quaternion, inout FSimulationContext Context)
{
float3 VECTOR_VAR;
float NiagaraFloat;
VECTOR_VAR.x = In_AxisAngle.x;
VECTOR_VAR.y = In_AxisAngle.y;
VECTOR_VAR.z = In_AxisAngle.z;
NiagaraFloat = In_AxisAngle.w;
float3 Result285 = normalize(VECTOR_VAR);
float3 Vector_IfResult16;
if(In_NormalizeAxis)
{
Vector_IfResult16 = Result285;
}
else
{
Vector_IfResult16 = VECTOR_VAR;
}
float Constant248 = 2;
float Result286 = NiagaraFloat / Constant248;
float Result287 = sin(Result286);
float3 Result288 = Vector_IfResult16 * Result287;
float Result289 = cos(Result286);
float4 Output3;
Output3.x = Result288.x;
Output3.y = Result288.y;
Output3.z = Result288.z;
Output3.w = Result289;
Out_Quaternion = Output3;
}
void CustomHlsl001624D816540ECD5F976902A85E139007C_Func_(float4 In_Quat1, float4 In_Quat2, out float4 Out_Result)
{
float4 SIGN_MASK0 = float4( 1.f, -1.f, 1.f, -1.f );
float4 SIGN_MASK1 = float4( 1.f, 1.f, -1.f, -1.f );
float4 SIGN_MASK2 = float4( -1.f, 1.f, 1.f, -1.f );
Out_Result = (In_Quat1.wwww * In_Quat2);
Out_Result = ((In_Quat1.xxxx * In_Quat2.wzyx) * SIGN_MASK0) + Out_Result;
Out_Result = ((In_Quat1.yyyy * In_Quat2.zwxy)* SIGN_MASK1) + Out_Result;
Out_Result = ((In_Quat1.zzzz * In_Quat2.yxwz)* SIGN_MASK2) + Out_Result;
}
void NiagaraScript_1850_Func_(float4 In_QuaternionA, float4 In_QuaternionB, out float4 Out_Quaternion, inout FSimulationContext Context)
{
float4 CustomHlsl001624D816540ECD5F976902A85E139007C_Func_Output_Result;
CustomHlsl001624D816540ECD5F976902A85E139007C_Func_(In_QuaternionA, In_QuaternionB, CustomHlsl001624D816540ECD5F976902A85E139007C_Func_Output_Result);
Out_Quaternion = CustomHlsl001624D816540ECD5F976902A85E139007C_Func_Output_Result;
}
void Collision_Emitter_Func_(inout FSimulationContext Context)
{
int Constant48 = 1;
int Constant49 = 1;
int Result9 = max(Constant48, Constant49);
bool Result10 = NiagaraAll(Context.Map.Particles.NumberOfCollisions >= Result9);
bool Result11 = Result10 && Context.Map.Collision.EnableRestState && Context.Map.Collision.EnableMaxCollisionCount;
bool Result12 = Result11 || Context.Map.Transient.CollisionIsResting || Context.Map.Collision.ManuallyEnterRest;
Context.Map.Local.Collision.ManuallyEnterRest = Result12;
float Constant50 = 0.001;
float Result13 = max(Context.Map.Collision.ParticleMass, Constant50);
Context.Map.Transient.Collision_ParticleMassReplacement = Result13;
Context.Map.OUTPUT_VAR.Collision.IncomingCollisionVelocity = Context.Map.Particles.Velocity;
int Constant51 = 0;
int Constant52 = 1;
bool Constant53 = false;
float3 Collision_TransformPosition007_Emitter_Func_Output_OutPosition;
Collision_TransformPosition007_Emitter_Func_(Context.Map.Particles.Position, Constant51, Constant52, Constant53, Collision_TransformPosition007_Emitter_Func_Output_OutPosition, Context);
int Constant61 = 0;
int Constant62 = 1;
bool Constant63 = false;
float3 Collision_TransformVector009_Emitter_Func_Output_OutVector;
Collision_TransformVector009_Emitter_Func_(Context.Map.Particles.Velocity, Constant61, Constant62, Constant63, Collision_TransformVector009_Emitter_Func_Output_OutVector, Context);
int Constant65 = 0;
int Constant66 = 1;
bool Constant67 = false;
float3 Collision_TransformVector010_Emitter_Func_Output_OutVector;
Collision_TransformVector010_Emitter_Func_(Context.Map.Collision.PhysicsForce, Constant65, Constant66, Constant67, Collision_TransformVector010_Emitter_Func_Output_OutVector, Context);
Context.Map.Transient.Collision_ParticlePositionReplacement = Collision_TransformPosition007_Emitter_Func_Output_OutPosition;
Context.Map.Local.Collision.InputPositionPassthrough_NeededForSimStageExecution = Collision_TransformPosition007_Emitter_Func_Output_OutPosition;
Context.Map.Transient.Collision_ParticleVelocityReplacement = Collision_TransformVector009_Emitter_Func_Output_OutVector;
Context.Map.Local.Collision.InputVelocityPassthrough_NeededForSimStageExecution = Collision_TransformVector009_Emitter_Func_Output_OutVector;
Context.Map.Transient.Collision_ParticlePhysicsForceReplacement = Collision_TransformVector010_Emitter_Func_Output_OutVector;
Context.Map.Local.Collision.InputForcePassthrough_NeededForSimStageExecution = Collision_TransformVector010_Emitter_Func_Output_OutVector;
float Constant69 = 1;
float3 Constant70 = float3(3,3,3);
float NiagaraScript_1890_Particle_Method_NewEnumerator0_Func_Output_Radius;
NiagaraScript_1890_Particle_Method_NewEnumerator0_Func_(Context.Map.Particles.Scale, Constant70, NiagaraScript_1890_Particle_Method_NewEnumerator0_Func_Output_Radius, Context);
float Result48 = Constant69 * NiagaraScript_1890_Particle_Method_NewEnumerator0_Func_Output_Radius;
float Constant73 = 1e-06;
float Result49 = max(Result48, Constant73);
Context.Map.Local.Collision.ModuleParticleRadius = Result49;
float Constant74 = 0.25;
float Constant75 = 0.5;
float Constant76 = 1;
float Constant77 = 0.6;
float Constant78 = 0.1;
float Constant79 = 0;
float Constant80 = -1e+07;
float Constant81 = 0;
float Constant82 = (0.0);
float NiagaraFloat_SelectResult = Constant82;
NiagaraFloat_SelectResult = Constant80;
if(Context.Map.Collision.CorrectInterpenetration == 0)
{
NiagaraFloat_SelectResult = Constant81;
}
Context.Map.Collision.CollisionQueryAndResponse.DynamicFrictionCoefficient = Constant74;
Context.Map.Collision.CollisionQueryAndResponse001.DynamicFrictionCoefficient = Constant74;
Context.Map.Collision.CollisionQueryAndResponse.StaticFrictionCoefficient = Constant75;
Context.Map.Collision.CollisionQueryAndResponse001.StaticFrictionCoefficient = Constant75;
Context.Map.Collision.CollisionQueryAndResponse.StaticFrictionEngagementSpeed = Constant76;
Context.Map.Collision.CollisionQueryAndResponse001.StaticFrictionEngagementSpeed = Constant76;
Context.Map.Collision.CollisionQueryAndResponse.ParticleRadius = Context.Map.Local.Collision.ModuleParticleRadius;
Context.Map.Collision.CollisionQueryAndResponse001.ParticleRadius = Context.Map.Local.Collision.ModuleParticleRadius;
Context.Map.Collision.CollisionQueryAndResponse.ParticleRestitutionCoeffiecient = Constant77;
Context.Map.Collision.CollisionQueryAndResponse001.ParticleRestitutionCoeffiecient = Constant77;
Context.Map.Collision.CollisionQueryAndResponse.CollisionNormalRandomizationPercentage = Constant78;
Context.Map.Collision.CollisionQueryAndResponse001.CollisionNormalRandomizationPercentage = Constant78;
Context.Map.Collision.CollisionQueryAndResponse.CollisionEnabled = Context.Map.Collision.CollisionEnabled;
Context.Map.Collision.CollisionQueryAndResponse001.CollisionEnabled = Context.Map.Collision.CollisionEnabled;
Context.Map.Collision.CollisionQueryAndResponse.RandomizeCollisionNormal = Context.Map.Collision.RandomizeCollisionNormalVector;
Context.Map.Collision.CollisionQueryAndResponse001.RandomizeCollisionNormal = Context.Map.Collision.RandomizeCollisionNormalVector;
Context.Map.Collision.CollisionQueryAndResponse.UpdateRotationalVelocity = Context.Map.Local.Collision.UpdateMeshRotation;
Context.Map.Collision.CollisionQueryAndResponse001.UpdateRotationalVelocity = Context.Map.Local.Collision.UpdateMeshRotation;
Context.Map.Collision.CollisionQueryAndResponse001.BounceCollisionFriction = Constant79;
Context.Map.Collision.CollisionQueryAndResponse.BounceCollisionFriction = Constant79;
Context.Map.Collision.CollisionQueryAndResponse.MaxIntersectionCorrectionDistance = NiagaraFloat_SelectResult;
Context.Map.Collision.CollisionQueryAndResponse001.MaxIntersectionCorrectionDistance = NiagaraFloat_SelectResult;
float Constant83 = 5;
float Constant84 = 500;
Context.Map.Collision.CollisionQueryAndResponse.TraceVectorLengthMultiplier = Constant83;
Context.Map.Collision.CollisionQueryAndResponse001.TraceVectorLengthMultiplier = Constant83;
Context.Map.Collision.CollisionQueryAndResponse.MaxTraceLength = Constant84;
Context.Map.Collision.CollisionQueryAndResponse001.MaxTraceLength = Constant84;
Context.Map.Collision.CollisionQueryAndResponse.CPUCollisionTraceChannel = Context.Map.Collision.CPUCollisionTraceChannel;
Context.Map.Collision.CollisionQueryAndResponse001.CPUCollisionTraceChannel = Context.Map.Collision.CPUCollisionTraceChannel;
Context.Map.Collision.CollisionQueryAndResponse.ManuallyEnterRest = Context.Map.Local.Collision.ManuallyEnterRest;
Context.Map.Collision.CollisionQueryAndResponse001.ManuallyEnterRest = Context.Map.Local.Collision.ManuallyEnterRest;
Context.Map.Collision.CollisionQueryAndResponse.DeltaTime = Context.Map.Transient.PhysicsDeltaTime;
int Constant85 = 0;
Context.Map.Collision.CollisionQueryAndResponse.CPUFrictionMergeType = Constant85;
float3 Collision_CollisionQueryAndResponse_Emitter_Func_Output_ModuleTraceWorldStart;
float3 Collision_CollisionQueryAndResponse_Emitter_Func_Output_ModuleTraceWorldEnd;
float3 Collision_CollisionQueryAndResponse_Emitter_Func_Output_CollisionPosition;
float3 Collision_CollisionQueryAndResponse_Emitter_Func_Output_CollisionNormal;
bool Collision_CollisionQueryAndResponse_Emitter_Func_Output_Collided;
Collision_CollisionQueryAndResponse_Emitter_Func_(Collision_CollisionQueryAndResponse_Emitter_Func_Output_ModuleTraceWorldStart, Collision_CollisionQueryAndResponse_Emitter_Func_Output_ModuleTraceWorldEnd, Collision_CollisionQueryAndResponse_Emitter_Func_Output_CollisionPosition, Collision_CollisionQueryAndResponse_Emitter_Func_Output_CollisionNormal, Collision_CollisionQueryAndResponse_Emitter_Func_Output_Collided, Context);
Context.Map.Local.Collision.ModuleTraceWorldStart1 = Collision_CollisionQueryAndResponse_Emitter_Func_Output_ModuleTraceWorldStart;
Context.Map.Local.Collision.ModuleTraceWorldEnd1 = Collision_CollisionQueryAndResponse_Emitter_Func_Output_ModuleTraceWorldEnd;
Context.Map.Local.Collision.DebugCollisionPosition1 = Collision_CollisionQueryAndResponse_Emitter_Func_Output_CollisionPosition;
Context.Map.Local.Collision.DebugCollisionNormal1 = Collision_CollisionQueryAndResponse_Emitter_Func_Output_CollisionNormal;
Context.Map.Local.Collision.DebugCollided1 = Collision_CollisionQueryAndResponse_Emitter_Func_Output_Collided;
Context.Map.OUTPUT_VAR.Collision.ModuleCollision1Valid = Context.Map.Transient.CollisionValid;
Context.Map.OUTPUT_VAR.Collision.ModuleCollision1Normal = Context.Map.Transient.CollisionNormal;
Context.Map.Collision.CollisionQueryAndResponse001.DeltaTime = Context.Map.Transient.PhysicsDeltaTime;
int Constant165 = 0;
Context.Map.Collision.CollisionQueryAndResponse001.CPUFrictionMergeType = Constant165;
float3 Collision_CollisionQueryAndResponse001_Emitter_Func_Output_ModuleTraceWorldStart;
float3 Collision_CollisionQueryAndResponse001_Emitter_Func_Output_ModuleTraceWorldEnd;
float3 Collision_CollisionQueryAndResponse001_Emitter_Func_Output_CollisionPosition;
float3 Collision_CollisionQueryAndResponse001_Emitter_Func_Output_CollisionNormal;
bool Collision_CollisionQueryAndResponse001_Emitter_Func_Output_Collided;
Collision_CollisionQueryAndResponse001_Emitter_Func_(Collision_CollisionQueryAndResponse001_Emitter_Func_Output_ModuleTraceWorldStart, Collision_CollisionQueryAndResponse001_Emitter_Func_Output_ModuleTraceWorldEnd, Collision_CollisionQueryAndResponse001_Emitter_Func_Output_CollisionPosition, Collision_CollisionQueryAndResponse001_Emitter_Func_Output_CollisionNormal, Collision_CollisionQueryAndResponse001_Emitter_Func_Output_Collided, Context);
Context.Map.Local.Collision.ModuleTraceWorldStart2 = Collision_CollisionQueryAndResponse001_Emitter_Func_Output_ModuleTraceWorldStart;
Context.Map.Local.Collision.ModuleTraceWorldEnd2 = Collision_CollisionQueryAndResponse001_Emitter_Func_Output_ModuleTraceWorldEnd;
Context.Map.Local.Collision.DebugCollisionPosition2 = Collision_CollisionQueryAndResponse001_Emitter_Func_Output_CollisionPosition;
Context.Map.Local.Collision.DebugCollisionNormal2 = Collision_CollisionQueryAndResponse001_Emitter_Func_Output_CollisionNormal;
Context.Map.Local.Collision.DebugCollided2 = Collision_CollisionQueryAndResponse001_Emitter_Func_Output_Collided;
Context.Map.OUTPUT_VAR.Collision.ModuleCollision2Valid = Context.Map.Transient.CollisionValid;
Context.Map.OUTPUT_VAR.Collision.ModuleCollision2Normal = Context.Map.Transient.CollisionNormal;
bool Result243 = Context.Map.OUTPUT_VAR.Collision.ModuleCollision1Valid || Context.Map.OUTPUT_VAR.Collision.ModuleCollision2Valid;
int Constant190 = 1;
int Result244 = Context.Map.Particles.NumberOfCollisions + Constant190;
int int32_IfResult;
if(Result243)
{
int32_IfResult = Result244;
}
else
{
int32_IfResult = Context.Map.Particles.NumberOfCollisions;
}
Context.Map.Transient.CollisionValid = Result243;
Context.Map.OUTPUT_VAR.Collision.CollisionValid = Result243;
Context.Map.Particles.NumberOfCollisions = int32_IfResult;
float Constant191 = 1;
float Constant192 = 0.5;
float Constant193 = 0.5;
float3 Constant194 = float3(0,0,1);
float Constant195 = 0.5;
float Constant196 = 0;
bool Result245 = NiagaraAll(Context.Map.OUTPUT_VAR.Collision.CollisionQueryAndResponse.CollisionPenetrationDistance < Constant196);
float Constant197 = 0;
bool Result246 = NiagaraAll(Context.Map.OUTPUT_VAR.Collision.CollisionQueryAndResponse001.CollisionPenetrationDistance < Constant197);
bool Result247 = Result245 && Result246;
float Constant198 = 0.5;
float Constant199 = 0;
float Constant200 = (0.0);
float NiagaraFloat_SelectResult5 = Constant200;
NiagaraFloat_SelectResult5 = Constant198;
if(Result245 == 0)
{
NiagaraFloat_SelectResult5 = Constant199;
}
float Constant201 = 0.5;
float Constant202 = 0;
float Constant203 = (0.0);
float NiagaraFloat_SelectResult6 = Constant203;
NiagaraFloat_SelectResult6 = Constant201;
if(Result246 == 0)
{
NiagaraFloat_SelectResult6 = Constant202;
}
float Result248 = NiagaraFloat_SelectResult5 + NiagaraFloat_SelectResult6;
float Result249 = Context.Map.Engine.DeltaTime * Constant192;
float Result250 = lerp(Context.Map.Particles.RestCounter,Result248,Result249);
bool Result251 = NiagaraAll(Result250 > Constant191);
float Constant204 = -1;
float Result252 = Context.Map.OUTPUT_VAR.Collision.CollisionQueryAndResponse.CollisionPenetrationDistance * Constant204;
bool Result253 = NiagaraAll(Result252 > Context.Map.OUTPUT_VAR.Collision.CollisionQueryAndResponse001.CollisionPenetrationDistance);
float Constant205 = -1;
float Result254 = Constant193 * Constant205;
bool Result255 = NiagaraAll(Result254 > Context.Map.OUTPUT_VAR.Collision.CollisionQueryAndResponse001.CollisionPenetrationDistance);
bool Result256 = Result253 || Result255;
bool Result257 = Result247 || Result251 || Result256;
float3 Constant206 = float3(0,0,0);
float3 Vector_IfResult7;
if(Context.Map.OUTPUT_VAR.Collision.ModuleCollision1Valid)
{
Vector_IfResult7 = Context.Map.OUTPUT_VAR.Collision.ModuleCollision1Normal;
}
else
{
Vector_IfResult7 = Constant206;
}
float3 Constant207 = float3(0,0,0);
float3 Vector_IfResult8;
if(Context.Map.OUTPUT_VAR.Collision.ModuleCollision2Valid)
{
Vector_IfResult8 = Context.Map.OUTPUT_VAR.Collision.ModuleCollision2Normal;
}
else
{
Vector_IfResult8 = Constant207;
}
float3 Result258 = Vector_IfResult7 + Vector_IfResult8;
float3 Constant208 = float3(0,0,1);
float Constant209 = 1e-05;
float3 NiagaraScript_1885_Particle_Func_Output_Direction1;
float NiagaraScript_1885_Particle_Func_Output_Length1;
bool NiagaraScript_1885_Particle_Func_Output_BelowThreshold1;
NiagaraScript_1885_Particle_Func_(Result258, Constant208, Constant209, NiagaraScript_1885_Particle_Func_Output_Direction1, NiagaraScript_1885_Particle_Func_Output_Length1, NiagaraScript_1885_Particle_Func_Output_BelowThreshold1, Context);
float Result259 = dot(NiagaraScript_1885_Particle_Func_Output_Direction1,Constant194);
float Constant210 = 0.5;
float Result260 = Constant195 - Constant210;
float Constant211 = 2;
float Result261 = Result260 * Constant211;
bool Result262 = NiagaraAll(Result259 > Result261);
bool Result263 = Result257 && Result262;
bool bool_IfResult1;
if(Context.Map.Collision.ControlRestStateViaSurfaceNormal)
{
bool_IfResult1 = Result263;
}
else
{
bool_IfResult1 = Result257;
}
bool Result264 = Context.Map.Collision.EnableRestState && bool_IfResult1 && Context.Map.Collision.CollisionEnabled;
bool Result265 = Result264 || Context.Map.Local.Collision.ManuallyEnterRest;
float3 Constant212 = float3(0,0,0);
float3 Constant213 = float3(0,0,0);
float3 Constant214 = float3(0,0,0);
float Result266 = dot(Context.Map.Transient.AdvectionVelocity,NiagaraScript_1885_Particle_Func_Output_Direction1);
float Constant215 = 0;
bool Result267 = NiagaraAll(Result266 > Constant215);
float3 Result268 = NiagaraScript_1885_Particle_Func_Output_Direction1 * Result266;
float3 Result269 = Context.Map.Transient.AdvectionVelocity - Result268;
float3 Constant216 = float3(0.0, 0.0, 0.0);
float3 Vector3f_SelectResult7 = Constant216;
Vector3f_SelectResult7 = Context.Map.Transient.AdvectionVelocity;
if(Result267 == 0)
{
Vector3f_SelectResult7 = Result269;
}
float3 Position_IfResult;
float3 Velocity_IfResult2;
float3 Force_IfResult;
float deltatime_IfResult;
float3 AdvectionVelocity_IfResult;
if(Context.Map.Transient.CollisionValid)
{
Position_IfResult = Context.Map.Transient.Collision_ParticlePositionReplacement;
Velocity_IfResult2 = Context.Map.Transient.Collision_ParticleVelocityReplacement;
Force_IfResult = Constant214;
deltatime_IfResult = Context.Map.Transient.PhysicsDeltaTime;
AdvectionVelocity_IfResult = Vector3f_SelectResult7;
}
else
{
Position_IfResult = Context.Map.Local.Collision.InputPositionPassthrough_NeededForSimStageExecution;
Velocity_IfResult2 = Context.Map.Local.Collision.InputVelocityPassthrough_NeededForSimStageExecution;
Force_IfResult = Context.Map.Local.Collision.InputForcePassthrough_NeededForSimStageExecution;
deltatime_IfResult = Context.Map.Engine.DeltaTime;
AdvectionVelocity_IfResult = Context.Map.Transient.AdvectionVelocity;
}
float3 Constant217 = float3(0,0,0);
float3 Position_IfResult1;
float3 Velocity_IfResult3;
float3 Force_IfResult1;
float deltatime_IfResult1;
float3 AdvectionVelocity_IfResult1;
if(Result265)
{
Position_IfResult1 = Context.Map.Transient.Collision_ParticlePositionReplacement;
Velocity_IfResult3 = Constant212;
Force_IfResult1 = Constant213;
deltatime_IfResult1 = deltatime_IfResult;
AdvectionVelocity_IfResult1 = Constant217;
}
else
{
Position_IfResult1 = Position_IfResult;
Velocity_IfResult3 = Velocity_IfResult2;
Force_IfResult1 = Force_IfResult;
deltatime_IfResult1 = deltatime_IfResult;
AdvectionVelocity_IfResult1 = AdvectionVelocity_IfResult;
}
int Constant218 = 1;
int Constant219 = 0;
bool Constant220 = false;
float3 Collision_TransformVector_Emitter_Func_Output_OutVector;
Collision_TransformVector_Emitter_Func_(Force_IfResult1, Constant218, Constant219, Constant220, Collision_TransformVector_Emitter_Func_Output_OutVector, Context);
bool Result271 = Result251 && Context.Map.Collision.CollisionEnabled;
bool Result272 = Context.Map.Local.Collision.ManuallyEnterRest || Result271;
float3 Constant222 = float3(0.0, 0.0, 0.0);
float3 Vector3f_SelectResult8 = Constant222;
Vector3f_SelectResult8 = NiagaraScript_1885_Particle_Func_Output_Direction1;
if(Context.Map.Transient.CollisionValid == 0)
{
Vector3f_SelectResult8 = Context.Map.Particles.Collision.SafeCombinedCollisionNormal;
}
int Constant223 = 1;
int Constant224 = 0;
bool Constant225 = false;
float3 Collision_TransformPosition001_Emitter_Func_Output_OutPosition;
Collision_TransformPosition001_Emitter_Func_(Position_IfResult1, Constant223, Constant224, Constant225, Collision_TransformPosition001_Emitter_Func_Output_OutPosition, Context);
int Constant227 = 1;
int Constant228 = 0;
bool Constant229 = false;
float3 Collision_TransformVector001_Emitter_Func_Output_OutVector;
Collision_TransformVector001_Emitter_Func_(Velocity_IfResult3, Constant227, Constant228, Constant229, Collision_TransformVector001_Emitter_Func_Output_OutVector, Context);
Context.Map.Transient.PhysicsForce = Collision_TransformVector_Emitter_Func_Output_OutVector;
Context.Map.Transient.PhysicsDeltaTime = deltatime_IfResult1;
Context.Map.Transient.CollisionIsResting = Result272;
Context.Map.Particles.RestCounter = Result250;
Context.Map.OUTPUT_VAR.Collision.ModuleCombinedCollisionNormal = Vector3f_SelectResult8;
Context.Map.Transient.Collision_ParticlePositionReplacement = Collision_TransformPosition001_Emitter_Func_Output_OutPosition;
Context.Map.Transient.Collision_ParticleVelocityReplacement = Collision_TransformVector001_Emitter_Func_Output_OutVector;
Context.Map.Particles.Velocity = Collision_TransformVector001_Emitter_Func_Output_OutVector;
Context.Map.Particles.Position = Collision_TransformPosition001_Emitter_Func_Output_OutPosition;
Context.Map.OUTPUT_VAR.Collision.CombinedCollisionNormal = Vector3f_SelectResult8;
Context.Map.Transient.AdvectionVelocity = AdvectionVelocity_IfResult1;
Context.Map.Particles.Collision.SafeCombinedCollisionNormal = Vector3f_SelectResult8;
float Constant231 = 0;
Context.Map.Collision.AdvancedAgingRate = Constant231;
float3 Constant232 = float3(0,0,0);
float3 Constant233 = float3(0,0,0);
float3 Vector_IfResult12;
float3 PhysicsRotationalForce_IfResult;
if(Context.Map.Transient.CollisionValid)
{
Vector_IfResult12 = Constant232;
PhysicsRotationalForce_IfResult = Constant233;
}
else
{
Vector_IfResult12 = Context.Map.Particles.RotationalVelocity;
PhysicsRotationalForce_IfResult = Context.Map.Transient.PhysicsRotationalForce;
}
Context.Map.Particles.RotationalVelocity = Vector_IfResult12;
Context.Map.Transient.PhysicsRotationalForce = PhysicsRotationalForce_IfResult;
float3 Constant234 = float3(0,0,1);
float Constant235 = 1e-05;
float3 NiagaraScript_1885_Particle_Func_Output_Direction2;
float NiagaraScript_1885_Particle_Func_Output_Length2;
bool NiagaraScript_1885_Particle_Func_Output_BelowThreshold2;
NiagaraScript_1885_Particle_Func_(Context.Map.OUTPUT_VAR.Collision.ModuleCollision2Normal, Constant234, Constant235, NiagaraScript_1885_Particle_Func_Output_Direction2, NiagaraScript_1885_Particle_Func_Output_Length2, NiagaraScript_1885_Particle_Func_Output_BelowThreshold2, Context);
float3 Constant236 = float3(0,0,1);
float3 Vector_IfResult13;
if(Context.Map.OUTPUT_VAR.Collision.ModuleCollision2Valid)
{
Vector_IfResult13 = NiagaraScript_1885_Particle_Func_Output_Direction2;
}
else
{
Vector_IfResult13 = Constant236;
}
float3 Vector_IfResult14;
if(Context.Map.OUTPUT_VAR.Collision.ModuleCollision1Valid)
{
Vector_IfResult14 = Context.Map.OUTPUT_VAR.Collision.ModuleCollision1Normal;
}
else
{
Vector_IfResult14 = Vector_IfResult13;
}
bool Constant237 = false;
float3 NiagaraScript_1884_Particle_Func_Output_Ouput2;
NiagaraScript_1884_Particle_Func_(Context.Map.Transient.Collision_ParticleVelocityReplacement, Vector_IfResult14, Constant237, NiagaraScript_1884_Particle_Func_Output_Ouput2, Context);
float3 Result275 = cross(Vector_IfResult14,NiagaraScript_1884_Particle_Func_Output_Ouput2);
float3 Constant238 = float3(0,0,0);
float Constant239 = 1e-05;
float3 NiagaraScript_1845_Particle_Func_Output_Direction13;
float NiagaraScript_1845_Particle_Func_Output_Length13;
bool NiagaraScript_1845_Particle_Func_Output_BelowThreshold13;
NiagaraScript_1845_Particle_Func_(Result275, Constant238, Constant239, NiagaraScript_1845_Particle_Func_Output_Direction13, NiagaraScript_1845_Particle_Func_Output_Length13, NiagaraScript_1845_Particle_Func_Output_BelowThreshold13, Context);
float3 Constant240 = float3(0,0,1);
float Constant241 = 0;
float3 Constant242 = float3(0,0,0);
float Constant243 = 1e-05;
float3 NiagaraScript_1845_Particle_Func_Output_Direction14;
float NiagaraScript_1845_Particle_Func_Output_Length14;
bool NiagaraScript_1845_Particle_Func_Output_BelowThreshold14;
NiagaraScript_1845_Particle_Func_(NiagaraScript_1884_Particle_Func_Output_Ouput2, Constant242, Constant243, NiagaraScript_1845_Particle_Func_Output_Direction14, NiagaraScript_1845_Particle_Func_Output_Length14, NiagaraScript_1845_Particle_Func_Output_BelowThreshold14, Context);
float3 Vector_IfResult15;
float float001_IfResult;
if(NiagaraScript_1845_Particle_Func_Output_BelowThreshold13)
{
Vector_IfResult15 = Constant240;
float001_IfResult = Constant241;
}
else
{
Vector_IfResult15 = NiagaraScript_1845_Particle_Func_Output_Direction13;
float001_IfResult = NiagaraScript_1845_Particle_Func_Output_Length14;
}
float Result276 = TWO_PI;
float Result277 = TWO_PI;
float Constant244 = 1;
float Result278 = Result277 * Context.Map.Local.Collision.ModuleParticleRadius;
float Result279 = float001_IfResult / Result278;
float Result280 = Result276 * Result279;
float4 Vector4;
Vector4.x = Vector_IfResult15.x;
Vector4.y = Vector_IfResult15.y;
Vector4.z = Vector_IfResult15.z;
Vector4.w = Result280;
float4 Vector4_IfResult;
if(Context.Map.Transient.CollisionValid)
{
Vector4_IfResult = Vector4;
}
else
{
Vector4_IfResult = Context.Map.Particles.Collision.AxisAngle;
}
Context.Map.Particles.Collision.AxisAngle = Vector4_IfResult;
bool Constant245 = false;
bool Collision_DoOnce_fn001_Emitter_Func_Output_Execute;
bool Collision_DoOnce_fn001_Emitter_Func_Output_Triggered;
Collision_DoOnce_fn001_Emitter_Func_(Context.Map.Transient.CollisionValid, Constant245, Collision_DoOnce_fn001_Emitter_Func_Output_Execute, Collision_DoOnce_fn001_Emitter_Func_Output_Triggered, Context);
float X1;
float Y1;
float Z;
float W;
X1 = Context.Map.Particles.Collision.AxisAngle.x;
Y1 = Context.Map.Particles.Collision.AxisAngle.y;
Z = Context.Map.Particles.Collision.AxisAngle.z;
W = Context.Map.Particles.Collision.AxisAngle.w;
float Result284 = W * Context.Map.Engine.DeltaTime;
float4 Output14;
Output14.x = X1;
Output14.y = Y1;
Output14.z = Z;
Output14.w = Result284;
bool Constant247 = true;
float4 NiagaraScript_1851_Func_Output_Quaternion;
NiagaraScript_1851_Func_(Output14, Constant247, NiagaraScript_1851_Func_Output_Quaternion, Context);
float4 NiagaraScript_1850_Func_Output_Quaternion;
NiagaraScript_1850_Func_(NiagaraScript_1851_Func_Output_Quaternion, Context.Map.Particles.MeshOrientation, NiagaraScript_1850_Func_Output_Quaternion, Context);
float4 Result290 = normalize(NiagaraScript_1850_Func_Output_Quaternion);
float4 Quat_IfResult;
if(Collision_DoOnce_fn001_Emitter_Func_Output_Triggered)
{
Quat_IfResult = Result290;
}
else
{
Quat_IfResult = Context.Map.Particles.MeshOrientation;
}
Context.Map.Particles.MeshOrientation = Quat_IfResult;
}
void NiagaraScript_1849_Particle_NormalizeRotations_false_Func_(float3 In_RotationalVelocityVector, float In_DeltaTime, float4 In_ExistingOrientationQuat, out float4 Out_NewOrientationQuat, inout FSimulationContext Context)
{
float3 Result313 = In_RotationalVelocityVector * In_DeltaTime;
float3 Constant267 = float3(0,0,0);
float Constant268 = 1e-05;
float3 NiagaraScript_1845_Particle_Func_Output_Direction15;
float NiagaraScript_1845_Particle_Func_Output_Length15;
bool NiagaraScript_1845_Particle_Func_Output_BelowThreshold15;
NiagaraScript_1845_Particle_Func_(Result313, Constant267, Constant268, NiagaraScript_1845_Particle_Func_Output_Direction15, NiagaraScript_1845_Particle_Func_Output_Length15, NiagaraScript_1845_Particle_Func_Output_BelowThreshold15, Context);
float4 Vector41;
Vector41.x = NiagaraScript_1845_Particle_Func_Output_Direction15.x;
Vector41.y = NiagaraScript_1845_Particle_Func_Output_Direction15.y;
Vector41.z = NiagaraScript_1845_Particle_Func_Output_Direction15.z;
Vector41.w = NiagaraScript_1845_Particle_Func_Output_Length15;
bool Constant269 = true;
float4 NiagaraScript_1851_Func_Output_Quaternion1;
NiagaraScript_1851_Func_(Vector41, Constant269, NiagaraScript_1851_Func_Output_Quaternion1, Context);
float4 NiagaraScript_1850_Func_Output_Quaternion1;
NiagaraScript_1850_Func_(NiagaraScript_1851_Func_Output_Quaternion1, In_ExistingOrientationQuat, NiagaraScript_1850_Func_Output_Quaternion1, Context);
float4 Quat_IfResult1;
if(NiagaraScript_1845_Particle_Func_Output_BelowThreshold15)
{
Quat_IfResult1 = In_ExistingOrientationQuat;
}
else
{
Quat_IfResult1 = NiagaraScript_1850_Func_Output_Quaternion1;
}
Out_NewOrientationQuat = Quat_IfResult1;
}
void SolveForcesAndVelocity_Emitter_Func_(inout FSimulationContext Context)
{
Context.Map.Local.SolveForcesAndVelocity.DeltaTime = Context.Map.SolveForcesAndVelocity.DeltaTime;
float Constant252 = 1e-05;
float Result291 = max(Context.Map.Local.SolveForcesAndVelocity.DeltaTime, Constant252);
float Result292 = Reciprocal(Result291);
Context.Map.Local.SolveForcesAndVelocity.InverseDeltaTime = Result292;
Context.Map.Local.SolveForcesAndVelocity.PhysicsForce = Context.Map.SolveForcesAndVelocity.Force;
Context.Map.OUTPUT_VAR.SolveForcesAndVelocity.IncomingPhysicsForce = Context.Map.SolveForcesAndVelocity.Force;
Context.Map.OUTPUT_VAR.SolveForcesAndVelocity.Velocity = Context.Map.SolveForcesAndVelocity.Velocity;
Context.Map.Local.SolveForcesAndVelocity.Mass = Context.Map.SolveForcesAndVelocity.Mass;
Context.Map.OUTPUT_VAR.SolveForcesAndVelocity.Position = Context.Map.SolveForcesAndVelocity.Position;
Context.Map.Particles.Presolve.Velocity = Context.Map.OUTPUT_VAR.SolveForcesAndVelocity.Velocity;
Context.Map.Particles.Presolve.Position = Context.Map.OUTPUT_VAR.SolveForcesAndVelocity.Position;
Context.Map.Particles.Presolve.PhysicsForce = Context.Map.OUTPUT_VAR.SolveForcesAndVelocity.IncomingPhysicsForce;
float Constant253 = 1e-06;
float Result293 = max(Context.Map.Local.SolveForcesAndVelocity.Mass, Constant253);
float Result294 = Reciprocal(Result293);
float3 Result295 = Result294 * Context.Map.Local.SolveForcesAndVelocity.PhysicsForce;
Context.Map.Local.SolveForcesAndVelocity.PhysicsForce = Result295;
Context.Map.Local.SolveForcesAndVelocity.InverseMass = Result294;
float3 Result296 = Context.Map.Local.SolveForcesAndVelocity.PhysicsForce * Context.Map.Local.SolveForcesAndVelocity.DeltaTime + Context.Map.OUTPUT_VAR.SolveForcesAndVelocity.Velocity;
Context.Map.OUTPUT_VAR.SolveForcesAndVelocity.Velocity = Result296;
Context.Map.Local.SolveForcesAndVelocity.AdvectionVelocity = Context.Map.Transient.AdvectionVelocity;
Context.Map.Local.SolveForcesAndVelocity.PhysicsDrag = Context.Map.Transient.PhysicsDrag;
Context.Map.Local.SolveForcesAndVelocity.DragIgnoreMass = Context.Map.Transient.DragIgnoreMass;
float3 NiagaraScript_1872_Particle_Func_Output_Output2;
NiagaraScript_1872_Particle_Func_(Context.Map.OUTPUT_VAR.SolveForcesAndVelocity.Velocity, Context.Map.Local.SolveForcesAndVelocity.AdvectionVelocity, Context.Map.Local.SolveForcesAndVelocity.InverseMass, Context.Map.Local.SolveForcesAndVelocity.PhysicsDrag, Context.Map.Local.SolveForcesAndVelocity.DeltaTime, Context.Map.Local.SolveForcesAndVelocity.DragIgnoreMass, NiagaraScript_1872_Particle_Func_Output_Output2, Context);
float3 Result297 = NiagaraScript_1872_Particle_Func_Output_Output2 - Context.Map.OUTPUT_VAR.SolveForcesAndVelocity.Velocity;
Context.Map.OUTPUT_VAR.SolveForcesAndVelocity.Velocity = NiagaraScript_1872_Particle_Func_Output_Output2;
Context.Map.Local.SolveForcesAndVelocity.DragVelocity = Result297;
Context.Map.OUTPUT_VAR.SolveForcesAndVelocity.IncomingPhysicsDrag = Context.Map.Local.SolveForcesAndVelocity.PhysicsDrag;
float Constant254 = 1000;
Context.Map.OUTPUT_VAR.SolveForcesAndVelocity.Velocity = Context.Map.OUTPUT_VAR.SolveForcesAndVelocity.Velocity;
float Constant255 = 9999;
Context.Map.OUTPUT_VAR.SolveForcesAndVelocity.Velocity = Context.Map.OUTPUT_VAR.SolveForcesAndVelocity.Velocity;
float3 Result298 = Context.Map.OUTPUT_VAR.SolveForcesAndVelocity.Velocity * Context.Map.Local.SolveForcesAndVelocity.DeltaTime;
float3 Result299 = Result298 + Context.Map.OUTPUT_VAR.SolveForcesAndVelocity.Position;
Context.Map.OUTPUT_VAR.SolveForcesAndVelocity.Position = Result299;
float3 Position_IfResult2;
float3 Velocity_IfResult4;
if(Context.Map.SolveForcesAndVelocity.WritetoIntrinsicProperties)
{
Position_IfResult2 = Context.Map.OUTPUT_VAR.SolveForcesAndVelocity.Position;
Velocity_IfResult4 = Context.Map.OUTPUT_VAR.SolveForcesAndVelocity.Velocity;
}
else
{
Position_IfResult2 = Context.Map.Particles.Position;
Velocity_IfResult4 = Context.Map.Particles.Velocity;
}
Context.Map.Particles.Position = Position_IfResult2;
Context.Map.Particles.Velocity = Velocity_IfResult4;
float3 Constant256 = float3(0,0,0);
float Constant257 = 0;
float3 ForceVector_IfResult;
float Drag_IfResult;
if(Context.Map.SolveForcesAndVelocity.WritetoIntrinsicProperties)
{
ForceVector_IfResult = Constant256;
Drag_IfResult = Constant257;
}
else
{
ForceVector_IfResult = Context.Map.Transient.PhysicsForce;
Drag_IfResult = Context.Map.Transient.PhysicsDrag;
}
Context.Map.Transient.PhysicsForce = ForceVector_IfResult;
Context.Map.Transient.PhysicsDrag = Drag_IfResult;
float3 Result300 = Context.Map.Particles.Position - Context.Map.Particles.Previous.Position;
float Result301 = length(Result300);
float Constant258 = 0.3333;
float Result302 = Result301 * Constant258;
float Constant259 = 1e+08;
float Result303 = Modulo(Context.Map.Particles.DistanceTraveled, Constant259);
float Result304 = Result302 + Result303;
Context.Map.Particles.DistanceTraveled = Result304;
//SetConstantByStaticVariable "/Solve Forces and Velocity/Map Get/Map Get->Particles.RotationalVelocityEnabled"
int Constant260 = 1;
//SetConstantByStaticVariable "/Solve Forces and Velocity/Map Get/Map Get->Module.Manually Enable Rotational Solver"
int Constant261 = 0;
//SetConstantByStaticVariable "/Solve Forces and Velocity/Logic OR (Static)/Logic OR (Static)->Result"
int Constant262 = 1;
Context.Map.Local.SolveForcesAndVelocity.RotationalForce = Context.Map.SolveForcesAndVelocity.RotationalForce;
Context.Map.Local.SolveForcesAndVelocity.RotationalInertia = Context.Map.SolveForcesAndVelocity.RotationalInertia;
//SetConstantByStaticVariable "/Solve Forces and Velocity/Map Get/Map Get->Particles.DragLocalOffsetEnabled"
int Constant263 = 0;
float Constant264 = 1e-05;
float Result305 = max(Context.Map.Local.SolveForcesAndVelocity.RotationalInertia, Constant264);
float3 Result306 = Context.Map.Local.SolveForcesAndVelocity.RotationalForce / Result305;
float3 Result307 = Result306 * Context.Map.Local.SolveForcesAndVelocity.DeltaTime;
Context.Map.Local.SolveForcesAndVelocity.ForceRotationsInRadians = Result307;
Context.Map.OUTPUT_VAR.SolveForcesAndVelocity.IncomingPhysicsRotationalForce = Context.Map.Local.SolveForcesAndVelocity.RotationalForce;
float3 Result308 = Context.Map.SolveForcesAndVelocity.RotationalVelocity + Context.Map.Local.SolveForcesAndVelocity.ForceRotationsInRadians;
Context.Map.OUTPUT_VAR.SolveForcesAndVelocity.RotationalVelocity = Result308;
float Constant265 = 0;
float Result309 = max(Context.Map.Transient.PhysicsRotationalDrag, Constant265);
float Result310 = Result309 * Context.Map.Local.SolveForcesAndVelocity.DeltaTime;
float Constant266 = 1;
float Result311 = Result310 + Constant266;
float3 Result312 = Context.Map.OUTPUT_VAR.SolveForcesAndVelocity.RotationalVelocity / Result311;
Context.Map.OUTPUT_VAR.SolveForcesAndVelocity.RotationalVelocity = Result312;
Context.Map.OUTPUT_VAR.SolveForcesAndVelocity.IncomingPhysicsRotationalDrag = Context.Map.Transient.PhysicsRotationalDrag;
float4 NiagaraScript_1849_Particle_NormalizeRotations_false_Func_Output_NewOrientationQuat;
NiagaraScript_1849_Particle_NormalizeRotations_false_Func_(Context.Map.SolveForcesAndVelocity.RotationalVelocity, Context.Map.Local.SolveForcesAndVelocity.DeltaTime, Context.Map.SolveForcesAndVelocity.MeshOrientation, NiagaraScript_1849_Particle_NormalizeRotations_false_Func_Output_NewOrientationQuat, Context);
Context.Map.OUTPUT_VAR.SolveForcesAndVelocity.MeshOrientation = NiagaraScript_1849_Particle_NormalizeRotations_false_Func_Output_NewOrientationQuat;
float4 MeshOrientation_IfResult;
float3 AngularVelocity_IfResult;
if(Context.Map.SolveForcesAndVelocity.WritetoIntrinsicProperties)
{
MeshOrientation_IfResult = Context.Map.OUTPUT_VAR.SolveForcesAndVelocity.MeshOrientation;
AngularVelocity_IfResult = Context.Map.OUTPUT_VAR.SolveForcesAndVelocity.RotationalVelocity;
}
else
{
MeshOrientation_IfResult = Context.Map.SolveForcesAndVelocity.MeshOrientation;
AngularVelocity_IfResult = Context.Map.SolveForcesAndVelocity.RotationalVelocity;
}
Context.Map.Transient.HasAppliedRotationalSolver = Context.Map.SolveForcesAndVelocity.WritetoIntrinsicProperties;
Context.Map.Particles.MeshOrientation = MeshOrientation_IfResult;
Context.Map.Particles.RotationalVelocity = AngularVelocity_IfResult;
float3 Constant270 = float3(0,0,0);
float Constant271 = 0;
float3 ForceVector_IfResult1;
float Drag_IfResult1;
if(Context.Map.SolveForcesAndVelocity.WritetoIntrinsicProperties)
{
ForceVector_IfResult1 = Constant270;
Drag_IfResult1 = Constant271;
}
else
{
ForceVector_IfResult1 = Context.Map.Transient.PhysicsRotationalForce;
Drag_IfResult1 = Context.Map.Transient.PhysicsRotationalDrag;
}
Context.Map.Transient.PhysicsRotationalForce = ForceVector_IfResult1;
Context.Map.Transient.PhysicsRotationalDrag = Drag_IfResult1;
}
void SolveRotationalForcesAndVelocity_Emitter_Func_(inout FSimulationContext Context)
{
Context.Map.Local.SolveRotationalForcesAndVelocity.DeltaTime = Context.Map.SolveRotationalForcesAndVelocity.DeltaTime;
float Constant273 = 1e-05;
float Result314 = max(Context.Map.SolveRotationalForcesAndVelocity.RotationalInertia, Constant273);
float3 Result315 = Context.Map.Transient.PhysicsRotationalForce / Result314;
float3 Result316 = Result315 * Context.Map.Local.SolveRotationalForcesAndVelocity.DeltaTime;
Context.Map.Local.SolveRotationalForcesAndVelocity.ForceRotationsInRadians = Result316;
Context.Map.OUTPUT_VAR.SolveRotationalForcesAndVelocity.IncomingPhysicsRotationalForce = Context.Map.Transient.PhysicsRotationalForce;
float3 Result317 = Context.Map.SolveRotationalForcesAndVelocity.RotationalVelocity + Context.Map.Local.SolveRotationalForcesAndVelocity.ForceRotationsInRadians;
Context.Map.OUTPUT_VAR.SolveRotationalForcesAndVelocity.RotationalVelocity = Result317;
float Constant274 = 0;
float Result318 = max(Context.Map.Transient.PhysicsRotationalDrag, Constant274);
float Result319 = Result318 * Context.Map.Local.SolveRotationalForcesAndVelocity.DeltaTime;
float Constant275 = 1;
float Result320 = Result319 + Constant275;
float3 Result321 = Context.Map.OUTPUT_VAR.SolveRotationalForcesAndVelocity.RotationalVelocity / Result320;
Context.Map.OUTPUT_VAR.SolveRotationalForcesAndVelocity.RotationalVelocity = Result321;
Context.Map.OUTPUT_VAR.SolveRotationalForcesAndVelocity.IncomingPhysicsRotationalDrag = Context.Map.Transient.PhysicsRotationalDrag;
float4 NiagaraScript_1849_Particle_NormalizeRotations_false_Func_Output_NewOrientationQuat1;
NiagaraScript_1849_Particle_NormalizeRotations_false_Func_(Context.Map.SolveRotationalForcesAndVelocity.RotationalVelocity, Context.Map.Local.SolveRotationalForcesAndVelocity.DeltaTime, Context.Map.SolveRotationalForcesAndVelocity.MeshOrientation, NiagaraScript_1849_Particle_NormalizeRotations_false_Func_Output_NewOrientationQuat1, Context);
Context.Map.OUTPUT_VAR.SolveRotationalForcesAndVelocity.MeshOrientation = NiagaraScript_1849_Particle_NormalizeRotations_false_Func_Output_NewOrientationQuat1;
bool Result322 = !Context.Map.Transient.HasAppliedRotationalSolver;
bool Result323 = Result322 && Context.Map.SolveRotationalForcesAndVelocity.WritetoIntrinsicProperties;
float4 Constant276 = float4(0.0, 0.0, 0.0, 1.0);
float4 MeshOrientation_SelectResult9 = Constant276;
float3 Constant277 = float3(0.0, 0.0, 0.0);
float3 AngularVel_SelectResult9 = Constant277;
MeshOrientation_SelectResult9 = Context.Map.OUTPUT_VAR.SolveRotationalForcesAndVelocity.MeshOrientation;
AngularVel_SelectResult9 = Context.Map.OUTPUT_VAR.SolveRotationalForcesAndVelocity.RotationalVelocity;
if(Result323 == 0)
{
MeshOrientation_SelectResult9 = Context.Map.SolveRotationalForcesAndVelocity.MeshOrientation;
AngularVel_SelectResult9 = Context.Map.SolveRotationalForcesAndVelocity.RotationalVelocity;
}
Context.Map.Particles.MeshOrientation = MeshOrientation_SelectResult9;
Context.Map.Particles.RotationalVelocity = AngularVel_SelectResult9;
float3 Constant278 = float3(0,0,0);
float Constant279 = 0;
float3 ForceVector_IfResult2;
float Drag_IfResult2;
if(Context.Map.SolveRotationalForcesAndVelocity.WritetoIntrinsicProperties)
{
ForceVector_IfResult2 = Constant278;
Drag_IfResult2 = Constant279;
}
else
{
ForceVector_IfResult2 = Context.Map.Transient.PhysicsRotationalForce;
Drag_IfResult2 = Context.Map.Transient.PhysicsRotationalDrag;
}
Context.Map.Transient.PhysicsRotationalForce = ForceVector_IfResult2;
Context.Map.Transient.PhysicsRotationalDrag = Drag_IfResult2;
}
float GetSpawnInterpolation()
{
return 1.0f;}
#if (SimulationStageIndex == 0) // MapSpawn
void HandlePreviousValuesForSpawn(inout FSimulationContext Context)
{
}
#endif
void ReadDataSets(inout FSimulationContext Context)
{
}
void WriteDataSets(inout FSimulationContext Context)
{
}
void Simulate(inout FSimulationContext Context)
{
EnterStatScope(0 /**UpdateScript*/);
//Begin Initialize Parameter Map Defaults
//End Initialize Parameter Map Defaults
bool Constant = (false);
Context.Map.Transient.FirstFrame = Constant;
bool Constant1 = true;
Context.Map.DataInstance.Alive = Constant1;
Context.Map.ParticleState.DeltaTime = Context.Map.Engine.DeltaTime;
Context.Map.ParticleState.Lifetime = Context.Map.Particles.Lifetime;
EnterStatScope(1 /**ParticleState_Emitter_Func_*/);
ParticleState_Emitter_Func_(Context);
ExitStatScope(/**ParticleState_Emitter_Func_*/);
float3 Constant7 = float3(0,0,0);
Context.Map.Transient.PhysicsForce = Constant7;
float3 Constant8 = float3(0,0,-980);
EnterStatScope(2 /**GravityForce_Emitter_Func_*/);
GravityForce_Emitter_Func_(Context);
ExitStatScope(/**GravityForce_Emitter_Func_*/);
float Constant10 = 1;
float Constant11 = 0;
Context.Map.Transient.PhysicsDrag = Constant11;
float Constant12 = 1;
float Constant13 = 0;
Context.Map.Transient.PhysicsRotationalDrag = Constant13;
EnterStatScope(3 /**Drag_Emitter_Func_*/);
Drag_Emitter_Func_(Context);
ExitStatScope(/**Drag_Emitter_Func_*/);
int Constant16 = 1;
bool Constant17 = true;
Context.Map.Collision.EnableRestState = Constant17;
bool Constant18 = false;
Context.Map.Transient.CollisionIsResting = Constant18;
bool Constant19 = false;
Context.Map.Collision.ManuallyEnterRest = Constant19;
bool Constant20 = false;
Context.Map.Collision.EnableMaxCollisionCount = Constant20;
Context.Map.Collision.ParticleMass = Context.Map.Particles.Mass;
Context.Map.Collision.PhysicsForce = Context.Map.Transient.PhysicsForce;
bool Constant21 = false;
float Constant22 = 1;
float3 Constant23 = float3(3,3,3);
float Constant24 = 0.25;
float Constant25 = 0.5;
float Constant26 = 1;
float Constant27 = 0.6;
float Constant28 = 0.1;
bool Constant29 = true;
Context.Map.Collision.CollisionEnabled = Constant29;
bool Constant30 = false;
Context.Map.Collision.RandomizeCollisionNormalVector = Constant30;
bool Constant31 = false;
Context.Map.Local.Collision.UpdateMeshRotation = Constant31;
float Constant32 = 0;
Context.Map.Collision.CorrectInterpenetration = Context.Map.Transient.FirstFrame;
float Constant33 = 5;
float Constant34 = 500;
int Constant35 = 1;
Context.Map.Collision.CPUCollisionTraceChannel = Constant35;
float3 Constant36 = float3(0,0,0);
Context.Map.Transient.Collision_PredictedParticlePositionForSimStages = Constant36;
Context.Map.Transient.PhysicsDeltaTime = Context.Map.Engine.DeltaTime;
float3 Constant37 = float3(0,0,0);
Context.Map.Transient.AdvectionVelocity = Constant37;
bool Constant38 = true;
Context.Map.Transient.DragIgnoreMass = Constant38;
float Constant39 = 1;
float Constant40 = 0.5;
float Constant41 = 0.5;
float3 Constant42 = float3(0,0,1);
bool Constant43 = false;
Context.Map.Collision.ControlRestStateViaSurfaceNormal = Constant43;
float Constant44 = 0.5;
float Constant45 = 0;
float3 Constant46 = float3(0,0,0);
Context.Map.Transient.PhysicsRotationalForce = Constant46;
float Constant47 = 1;
EnterStatScope(4 /**Collision_Emitter_Func_*/);
Collision_Emitter_Func_(Context);
ExitStatScope(/**Collision_Emitter_Func_*/);
Context.Map.SolveForcesAndVelocity.DeltaTime = Context.Map.Transient.PhysicsDeltaTime;
Context.Map.SolveForcesAndVelocity.Force = Context.Map.Transient.PhysicsForce;
Context.Map.SolveForcesAndVelocity.Velocity = Context.Map.Particles.Velocity;
Context.Map.SolveForcesAndVelocity.Mass = Context.Map.Particles.Mass;
Context.Map.SolveForcesAndVelocity.Position = Context.Map.Particles.Position;
float Constant249 = 1000;
Context.Map.SolveForcesAndVelocity.PreviousVelocity = Context.Map.Particles.Previous.Velocity;
float Constant250 = 9999;
bool Constant251 = true;
Context.Map.SolveForcesAndVelocity.WritetoIntrinsicProperties = Constant251;
Context.Map.SolveForcesAndVelocity.RotationalForce = Context.Map.Transient.PhysicsRotationalForce;
Context.Map.SolveForcesAndVelocity.RotationalInertia = Context.Map.Particles.RotationalInertia;
Context.Map.SolveForcesAndVelocity.RotationalVelocity = Context.Map.Particles.RotationalVelocity;
Context.Map.SolveForcesAndVelocity.MeshOrientation = Context.Map.Particles.MeshOrientation;
EnterStatScope(5 /**SolveForcesAndVelocity_Emitter_Func_*/);
SolveForcesAndVelocity_Emitter_Func_(Context);
ExitStatScope(/**SolveForcesAndVelocity_Emitter_Func_*/);
Context.Map.SolveRotationalForcesAndVelocity.DeltaTime = Context.Map.Transient.PhysicsDeltaTime;
Context.Map.SolveRotationalForcesAndVelocity.RotationalInertia = Context.Map.Particles.RotationalInertia;
Context.Map.SolveRotationalForcesAndVelocity.RotationalVelocity = Context.Map.Particles.RotationalVelocity;
Context.Map.SolveRotationalForcesAndVelocity.MeshOrientation = Context.Map.Particles.MeshOrientation;
bool Constant272 = true;
Context.Map.SolveRotationalForcesAndVelocity.WritetoIntrinsicProperties = Constant272;
EnterStatScope(6 /**SolveRotationalForcesAndVelocity_Emitter_Func_*/);
SolveRotationalForcesAndVelocity_Emitter_Func_(Context);
ExitStatScope(/**SolveRotationalForcesAndVelocity_Emitter_Func_*/);
ExitStatScope(/**UpdateScript*/);
}
void SimulateMain()
{
EnterStatScope(7 /**UpdateScript_Main*/);
FSimulationContext Context = (FSimulationContext)0;
Context.Map.Particles.Age = InputDataFloat(0, 0);
Context.Map.Array.Age = 0;
Context.Map.Particles.Collision.AxisAngle.x = InputDataFloat(0, 1);
Context.Map.Array.Collision.AxisAngle = 1;
Context.Map.Particles.Collision.AxisAngle.y = InputDataFloat(0, 2);
Context.Map.Array.Collision.AxisAngle = 2;
Context.Map.Particles.Collision.AxisAngle.z = InputDataFloat(0, 3);
Context.Map.Array.Collision.AxisAngle = 3;
Context.Map.Particles.Collision.AxisAngle.w = InputDataFloat(0, 4);
Context.Map.Array.Collision.AxisAngle = 4;
Context.Map.Particles.Collision.CollisionQueryAndResponse.CollisionID = InputDataInt(0, 0);
Context.Map.Array.Collision.CollisionQueryAndResponse.CollisionID = 0;
Context.Map.Particles.Collision.CollisionQueryAndResponse001.CollisionID = InputDataInt(0, 1);
Context.Map.Array.Collision.CollisionQueryAndResponse001.CollisionID = 1;
Context.Map.Particles.Collision.DoOnce_fn001.TriggeredOnce = InputDataBool(0, 2);
Context.Map.Array.Collision.DoOnce_fn001.TriggeredOnce = 2;
Context.Map.Particles.Lifetime = InputDataFloat(0, 5);
Context.Map.Array.Lifetime = 5;
Context.Map.Particles.Mass = InputDataFloat(0, 6);
Context.Map.Array.Mass = 6;
Context.Map.Particles.MaterialRandom = InputDataFloat(0, 7);
Context.Map.Array.MaterialRandom = 7;
Context.Map.Particles.MeshOrientation.x = InputDataFloat(0, 8);
Context.Map.Array.MeshOrientation = 8;
Context.Map.Particles.MeshOrientation.y = InputDataFloat(0, 9);
Context.Map.Array.MeshOrientation = 9;
Context.Map.Particles.MeshOrientation.z = InputDataFloat(0, 10);
Context.Map.Array.MeshOrientation = 10;
Context.Map.Particles.MeshOrientation.w = InputDataFloat(0, 11);
Context.Map.Array.MeshOrientation = 11;
Context.Map.Particles.NormalizedAge = InputDataFloat(0, 12);
Context.Map.Array.NormalizedAge = 12;
Context.Map.Particles.NumberOfCollisions = InputDataInt(0, 3);
Context.Map.Array.NumberOfCollisions = 3;
Context.Map.Particles.Position.x = InputDataFloat(0, 13);
Context.Map.Array.Position = 13;
Context.Map.Particles.Position.y = InputDataFloat(0, 14);
Context.Map.Array.Position = 14;
Context.Map.Particles.Position.z = InputDataFloat(0, 15);
Context.Map.Array.Position = 15;
Context.Map.Particles.RestCounter = InputDataFloat(0, 29);
Context.Map.Array.RestCounter = 29;
Context.Map.Particles.RotationalInertia = InputDataFloat(0, 30);
Context.Map.Array.RotationalInertia = 30;
Context.Map.Particles.RotationalVelocity.x = InputDataFloat(0, 31);
Context.Map.Array.RotationalVelocity = 31;
Context.Map.Particles.RotationalVelocity.y = InputDataFloat(0, 32);
Context.Map.Array.RotationalVelocity = 32;
Context.Map.Particles.RotationalVelocity.z = InputDataFloat(0, 33);
Context.Map.Array.RotationalVelocity = 33;
Context.Map.Particles.Scale.x = InputDataFloat(0, 34);
Context.Map.Array.Scale = 34;
Context.Map.Particles.Scale.y = InputDataFloat(0, 35);
Context.Map.Array.Scale = 35;
Context.Map.Particles.Scale.z = InputDataFloat(0, 36);
Context.Map.Array.Scale = 36;
Context.Map.Particles.UniqueID = InputDataInt(0, 4);
Context.Map.Array.UniqueID = 4;
Context.Map.Particles.Velocity.x = InputDataFloat(0, 37);
Context.Map.Array.Velocity = 37;
Context.Map.Particles.Velocity.y = InputDataFloat(0, 38);
Context.Map.Array.Velocity = 38;
Context.Map.Particles.Velocity.z = InputDataFloat(0, 39);
Context.Map.Array.Velocity = 39;
Context.Map.Particles.Previous.MeshOrientation = Context.Map.Particles.MeshOrientation;
Context.Map.Particles.Previous.Position = Context.Map.Particles.Position;
Context.Map.Particles.Previous.Scale = Context.Map.Particles.Scale;
Context.Map.Particles.Previous.Velocity = Context.Map.Particles.Velocity;
Context.Map.Engine.DeltaTime = Engine_DeltaTime;
Context.Map.Engine.Owner.SystemLocalToWorld = Engine_Owner_SystemLocalToWorld;
Context.Map.Engine.Owner.SystemWorldToLocal = Engine_Owner_SystemWorldToLocal;
Context.Map.Engine.Owner.SystemLocalToWorldNoScale = Engine_Owner_SystemLocalToWorldNoScale;
Context.Map.Engine.Owner.SystemWorldToLocalNoScale = Engine_Owner_SystemWorldToLocalNoScale;
Context.Map.Emitter.RandomSeed = Emitter_RandomSeed;
Context.Map.Engine.System.TickCount = Engine_System_TickCount;
Context.Map.Engine.Emitter.TotalSpawnedParticles = Engine_Emitter_TotalSpawnedParticles;
Context.Map.Engine.Emitter.InstanceSeed = Engine_Emitter_InstanceSeed;
Context.Map.Engine.System.RandomSeed = Engine_System_RandomSeed;
ReadDataSets(Context);
EnterStatScope(8 /**UpdateScript_MapMain*/);
Simulate(Context);
ExitStatScope(/**UpdateScript_MapMain*/);
WriteDataSets(Context);
{
bool bValid = Context.Map.DataInstance.Alive;
int TmpWriteIndex = OutputIndex(0, true, bValid);
OutputDataFloat(0, 0, TmpWriteIndex, Context.Map.Particles.Age);
OutputDataFloat(0, 1, TmpWriteIndex, Context.Map.Particles.Collision.AxisAngle.x);
OutputDataFloat(0, 2, TmpWriteIndex, Context.Map.Particles.Collision.AxisAngle.y);
OutputDataFloat(0, 3, TmpWriteIndex, Context.Map.Particles.Collision.AxisAngle.z);
OutputDataFloat(0, 4, TmpWriteIndex, Context.Map.Particles.Collision.AxisAngle.w);
OutputDataInt(0, 0, TmpWriteIndex, Context.Map.Particles.Collision.CollisionQueryAndResponse.CollisionID);
OutputDataInt(0, 1, TmpWriteIndex, Context.Map.Particles.Collision.CollisionQueryAndResponse001.CollisionID);
OutputDataBool(0, 2, TmpWriteIndex, Context.Map.Particles.Collision.DoOnce_fn001.TriggeredOnce);
OutputDataFloat(0, 5, TmpWriteIndex, Context.Map.Particles.Lifetime);
OutputDataFloat(0, 6, TmpWriteIndex, Context.Map.Particles.Mass);
OutputDataFloat(0, 7, TmpWriteIndex, Context.Map.Particles.MaterialRandom);
OutputDataFloat(0, 8, TmpWriteIndex, Context.Map.Particles.MeshOrientation.x);
OutputDataFloat(0, 9, TmpWriteIndex, Context.Map.Particles.MeshOrientation.y);
OutputDataFloat(0, 10, TmpWriteIndex, Context.Map.Particles.MeshOrientation.z);
OutputDataFloat(0, 11, TmpWriteIndex, Context.Map.Particles.MeshOrientation.w);
OutputDataFloat(0, 12, TmpWriteIndex, Context.Map.Particles.NormalizedAge);
OutputDataInt(0, 3, TmpWriteIndex, Context.Map.Particles.NumberOfCollisions);
OutputDataFloat(0, 13, TmpWriteIndex, Context.Map.Particles.Position.x);
OutputDataFloat(0, 14, TmpWriteIndex, Context.Map.Particles.Position.y);
OutputDataFloat(0, 15, TmpWriteIndex, Context.Map.Particles.Position.z);
OutputDataFloat(0, 16, TmpWriteIndex, Context.Map.Particles.Previous.MeshOrientation.x);
OutputDataFloat(0, 17, TmpWriteIndex, Context.Map.Particles.Previous.MeshOrientation.y);
OutputDataFloat(0, 18, TmpWriteIndex, Context.Map.Particles.Previous.MeshOrientation.z);
OutputDataFloat(0, 19, TmpWriteIndex, Context.Map.Particles.Previous.MeshOrientation.w);
OutputDataFloat(0, 20, TmpWriteIndex, Context.Map.Particles.Previous.Position.x);
OutputDataFloat(0, 21, TmpWriteIndex, Context.Map.Particles.Previous.Position.y);
OutputDataFloat(0, 22, TmpWriteIndex, Context.Map.Particles.Previous.Position.z);
OutputDataFloat(0, 23, TmpWriteIndex, Context.Map.Particles.Previous.Scale.x);
OutputDataFloat(0, 24, TmpWriteIndex, Context.Map.Particles.Previous.Scale.y);
OutputDataFloat(0, 25, TmpWriteIndex, Context.Map.Particles.Previous.Scale.z);
OutputDataFloat(0, 26, TmpWriteIndex, Context.Map.Particles.Previous.Velocity.x);
OutputDataFloat(0, 27, TmpWriteIndex, Context.Map.Particles.Previous.Velocity.y);
OutputDataFloat(0, 28, TmpWriteIndex, Context.Map.Particles.Previous.Velocity.z);
OutputDataFloat(0, 29, TmpWriteIndex, Context.Map.Particles.RestCounter);
OutputDataFloat(0, 30, TmpWriteIndex, Context.Map.Particles.RotationalInertia);
OutputDataFloat(0, 31, TmpWriteIndex, Context.Map.Particles.RotationalVelocity.x);
OutputDataFloat(0, 32, TmpWriteIndex, Context.Map.Particles.RotationalVelocity.y);
OutputDataFloat(0, 33, TmpWriteIndex, Context.Map.Particles.RotationalVelocity.z);
OutputDataFloat(0, 34, TmpWriteIndex, Context.Map.Particles.Scale.x);
OutputDataFloat(0, 35, TmpWriteIndex, Context.Map.Particles.Scale.y);
OutputDataFloat(0, 36, TmpWriteIndex, Context.Map.Particles.Scale.z);
OutputDataInt(0, 4, TmpWriteIndex, Context.Map.Particles.UniqueID);
OutputDataFloat(0, 37, TmpWriteIndex, Context.Map.Particles.Velocity.x);
OutputDataFloat(0, 38, TmpWriteIndex, Context.Map.Particles.Velocity.y);
OutputDataFloat(0, 39, TmpWriteIndex, Context.Map.Particles.Velocity.z);
}
ExitStatScope(/**UpdateScript_Main*/);
}
q<00>h<>d<>
-------------------------------
Summary
-------------------------------
Num Byte Code Ops: 900
Num Constants: 193
-------------------------------
Constant Table
-------------------------------
0 | Engine_WorldDeltaTime
4 | Engine_DeltaTime
8 | Engine_InverseDeltaTime
12 | Engine_Time
16 | Engine_RealTime
20 | Engine_QualityLevel
24 | Engine_PaddingInt32_0
28 | Engine_PaddingInt32_1
32 | Engine_Owner_TimeSinceRendered
36 | Engine_Owner_LODDistance
40 | Engine_Owner_LODDistanceFraction
44 | Engine_System_Age
48 | Engine_Owner_ExecutionState
52 | Engine_System_TickCount
56 | Engine_System_NumEmitters
60 | Engine_System_NumEmittersAlive
64 | Engine_System_SignificanceIndex
68 | Engine_System_RandomSeed
72 | Engine_System_CurrentTimeStep
76 | Engine_System_NumTimeSteps
80 | Engine_System_TimeStepFraction
84 | Engine_System_NumParticles
88 | Engine_System_PaddingInt32_0
92 | Engine_System_PaddingInt32_1
96 | Engine_Owner_SystemLocalToWorldRow0x
100 | Engine_Owner_SystemLocalToWorldRow0y
104 | Engine_Owner_SystemLocalToWorldRow0z
108 | Engine_Owner_SystemLocalToWorldRow0w
112 | Engine_Owner_SystemLocalToWorldRow1x
116 | Engine_Owner_SystemLocalToWorldRow1y
120 | Engine_Owner_SystemLocalToWorldRow1z
124 | Engine_Owner_SystemLocalToWorldRow1w
128 | Engine_Owner_SystemLocalToWorldRow2x
132 | Engine_Owner_SystemLocalToWorldRow2y
136 | Engine_Owner_SystemLocalToWorldRow2z
140 | Engine_Owner_SystemLocalToWorldRow2w
144 | Engine_Owner_SystemLocalToWorldRow3x
148 | Engine_Owner_SystemLocalToWorldRow3y
152 | Engine_Owner_SystemLocalToWorldRow3z
156 | Engine_Owner_SystemLocalToWorldRow3w
160 | Engine_Owner_SystemWorldToLocalRow0x
164 | Engine_Owner_SystemWorldToLocalRow0y
168 | Engine_Owner_SystemWorldToLocalRow0z
172 | Engine_Owner_SystemWorldToLocalRow0w
176 | Engine_Owner_SystemWorldToLocalRow1x
180 | Engine_Owner_SystemWorldToLocalRow1y
184 | Engine_Owner_SystemWorldToLocalRow1z
188 | Engine_Owner_SystemWorldToLocalRow1w
192 | Engine_Owner_SystemWorldToLocalRow2x
196 | Engine_Owner_SystemWorldToLocalRow2y
200 | Engine_Owner_SystemWorldToLocalRow2z
204 | Engine_Owner_SystemWorldToLocalRow2w
208 | Engine_Owner_SystemWorldToLocalRow3x
212 | Engine_Owner_SystemWorldToLocalRow3y
216 | Engine_Owner_SystemWorldToLocalRow3z
220 | Engine_Owner_SystemWorldToLocalRow3w
224 | Engine_Owner_SystemLocalToWorldTransposedRow0x
228 | Engine_Owner_SystemLocalToWorldTransposedRow0y
232 | Engine_Owner_SystemLocalToWorldTransposedRow0z
236 | Engine_Owner_SystemLocalToWorldTransposedRow0w
240 | Engine_Owner_SystemLocalToWorldTransposedRow1x
244 | Engine_Owner_SystemLocalToWorldTransposedRow1y
248 | Engine_Owner_SystemLocalToWorldTransposedRow1z
252 | Engine_Owner_SystemLocalToWorldTransposedRow1w
256 | Engine_Owner_SystemLocalToWorldTransposedRow2x
260 | Engine_Owner_SystemLocalToWorldTransposedRow2y
264 | Engine_Owner_SystemLocalToWorldTransposedRow2z
268 | Engine_Owner_SystemLocalToWorldTransposedRow2w
272 | Engine_Owner_SystemLocalToWorldTransposedRow3x
276 | Engine_Owner_SystemLocalToWorldTransposedRow3y
280 | Engine_Owner_SystemLocalToWorldTransposedRow3z
284 | Engine_Owner_SystemLocalToWorldTransposedRow3w
288 | Engine_Owner_SystemWorldToLocalTransposedRow0x
292 | Engine_Owner_SystemWorldToLocalTransposedRow0y
296 | Engine_Owner_SystemWorldToLocalTransposedRow0z
300 | Engine_Owner_SystemWorldToLocalTransposedRow0w
304 | Engine_Owner_SystemWorldToLocalTransposedRow1x
308 | Engine_Owner_SystemWorldToLocalTransposedRow1y
312 | Engine_Owner_SystemWorldToLocalTransposedRow1z
316 | Engine_Owner_SystemWorldToLocalTransposedRow1w
320 | Engine_Owner_SystemWorldToLocalTransposedRow2x
324 | Engine_Owner_SystemWorldToLocalTransposedRow2y
328 | Engine_Owner_SystemWorldToLocalTransposedRow2z
332 | Engine_Owner_SystemWorldToLocalTransposedRow2w
336 | Engine_Owner_SystemWorldToLocalTransposedRow3x
340 | Engine_Owner_SystemWorldToLocalTransposedRow3y
344 | Engine_Owner_SystemWorldToLocalTransposedRow3z
348 | Engine_Owner_SystemWorldToLocalTransposedRow3w
352 | Engine_Owner_SystemLocalToWorldNoScaleRow0x
356 | Engine_Owner_SystemLocalToWorldNoScaleRow0y
360 | Engine_Owner_SystemLocalToWorldNoScaleRow0z
364 | Engine_Owner_SystemLocalToWorldNoScaleRow0w
368 | Engine_Owner_SystemLocalToWorldNoScaleRow1x
372 | Engine_Owner_SystemLocalToWorldNoScaleRow1y
376 | Engine_Owner_SystemLocalToWorldNoScaleRow1z
380 | Engine_Owner_SystemLocalToWorldNoScaleRow1w
384 | Engine_Owner_SystemLocalToWorldNoScaleRow2x
388 | Engine_Owner_SystemLocalToWorldNoScaleRow2y
392 | Engine_Owner_SystemLocalToWorldNoScaleRow2z
396 | Engine_Owner_SystemLocalToWorldNoScaleRow2w
400 | Engine_Owner_SystemLocalToWorldNoScaleRow3x
404 | Engine_Owner_SystemLocalToWorldNoScaleRow3y
408 | Engine_Owner_SystemLocalToWorldNoScaleRow3z
412 | Engine_Owner_SystemLocalToWorldNoScaleRow3w
416 | Engine_Owner_SystemWorldToLocalNoScaleRow0x
420 | Engine_Owner_SystemWorldToLocalNoScaleRow0y
424 | Engine_Owner_SystemWorldToLocalNoScaleRow0z
428 | Engine_Owner_SystemWorldToLocalNoScaleRow0w
432 | Engine_Owner_SystemWorldToLocalNoScaleRow1x
436 | Engine_Owner_SystemWorldToLocalNoScaleRow1y
440 | Engine_Owner_SystemWorldToLocalNoScaleRow1z
444 | Engine_Owner_SystemWorldToLocalNoScaleRow1w
448 | Engine_Owner_SystemWorldToLocalNoScaleRow2x
452 | Engine_Owner_SystemWorldToLocalNoScaleRow2y
456 | Engine_Owner_SystemWorldToLocalNoScaleRow2z
460 | Engine_Owner_SystemWorldToLocalNoScaleRow2w
464 | Engine_Owner_SystemWorldToLocalNoScaleRow3x
468 | Engine_Owner_SystemWorldToLocalNoScaleRow3y
472 | Engine_Owner_SystemWorldToLocalNoScaleRow3z
476 | Engine_Owner_SystemWorldToLocalNoScaleRow3w
480 | Engine_Owner_Rotationx
484 | Engine_Owner_Rotationy
488 | Engine_Owner_Rotationz
492 | Engine_Owner_Rotationw
496 | Engine_Owner_Positionx
500 | Engine_Owner_Positiony
504 | Engine_Owner_Positionz
508 | Engine_Owner_PaddingInt32_0
512 | Engine_Owner_Velocityx
516 | Engine_Owner_Velocityy
520 | Engine_Owner_Velocityz
524 | Engine_Owner_PaddingInt32_1
528 | Engine_Owner_SystemXAxisx
532 | Engine_Owner_SystemXAxisy
536 | Engine_Owner_SystemXAxisz
540 | Engine_Owner_PaddingInt32_2
544 | Engine_Owner_SystemYAxisx
548 | Engine_Owner_SystemYAxisy
552 | Engine_Owner_SystemYAxisz
556 | Engine_Owner_PaddingInt32_3
560 | Engine_Owner_SystemZAxisx
564 | Engine_Owner_SystemZAxisy
568 | Engine_Owner_SystemZAxisz
572 | Engine_Owner_PaddingInt32_4
576 | Engine_Owner_Scalex
580 | Engine_Owner_Scaley
584 | Engine_Owner_Scalez
588 | Engine_Owner_PaddingInt32_5
592 | Engine_Owner_LWCTilex
596 | Engine_Owner_LWCTiley
600 | Engine_Owner_LWCTilez
604 | Engine_Owner_LWCTilew
608 | Engine_Emitter_NumParticles
612 | Engine_Emitter_TotalSpawnedParticles
616 | Engine_Emitter_SpawnCountScale
620 | Emitter_Age
624 | Emitter_RandomSeed
628 | Engine_Emitter_InstanceSeed
632 | Engine_Emitter_PaddingInt32_0
636 | Engine_Emitter_PaddingInt32_1
640 | 7
644 | 8
648 | 0
652 | 1
656 | 9.99999975e-06
660 | 9.99999975e-05
664 | True
668 | False
672 | 2
676 | -980
680 | 4
684 | 0.00100000005
688 | 3
692 | 9.99999997e-07
696 | 0.5
700 | 0
704 | -10000000
708 | 1
712 | 9.99999944e-11
716 | -1
720 | 5
724 | 500
728 | -1.00000003e+16
732 | 0.100000001
736 | 0.600000024
740 | -0.00999999978
744 | 0.00999999978
748 | 0.25
752 | 100
756 | -0.5
760 | 6.28318548
764 | 2
768 | 5
-------------------------------
Byte Code (900 Ops)
-------------------------------
0 | enter_stat_scope(C[640]);
1 | [R][0] = InputDataFloat(0, 0);
2 | [R][1] = InputDataFloat(0, 1);
3 | [R][2] = InputDataFloat(0, 2);
4 | [R][3] = InputDataFloat(0, 3);
5 | [R][4] = InputDataFloat(0, 4);
6 | [R][5] = InputDataInt(0, 0);
7 | [R][6] = InputDataInt(0, 1);
8 | [R][7] = InputDataInt(0, 2);
9 | [R][8] = InputDataFloat(0, 5);
10 | [R][9] = InputDataFloat(0, 6);
11 | [R][10] = InputDataFloat(0, 7);
12 | [R][11] = InputDataFloat(0, 8);
13 | [R][12] = InputDataFloat(0, 9);
14 | [R][13] = InputDataFloat(0, 10);
15 | [R][14] = InputDataFloat(0, 11);
16 | [R][15] = InputDataInt(0, 3);
17 | [R][16] = InputDataFloat(0, 13);
18 | [R][17] = InputDataFloat(0, 14);
19 | [R][18] = InputDataFloat(0, 15);
20 | [R][19] = InputDataFloat(0, 29);
21 | [R][20] = InputDataFloat(0, 30);
22 | [R][21] = InputDataFloat(0, 31);
23 | [R][22] = InputDataFloat(0, 32);
24 | [R][23] = InputDataFloat(0, 33);
25 | [R][24] = InputDataFloat(0, 34);
26 | [R][25] = InputDataFloat(0, 35);
27 | [R][26] = InputDataFloat(0, 36);
28 | [R][27] = InputDataInt(0, 4);
29 | [R][28] = InputDataFloat(0, 37);
30 | [R][29] = InputDataFloat(0, 38);
31 | [R][30] = InputDataFloat(0, 39);
32 | enter_stat_scope(C[644]);
33 | enter_stat_scope(C[648]);
34 | enter_stat_scope(C[652]);
35 | R[31] = cmple(R[0], C[4]);
36 | R[32] = add(R[0], C[4]);
37 | R[0] = max(R[8], C[656]);
38 | R[33] = sub(R[0], C[660]);
39 | R[34] = cmplt(R[32], R[33]);
40 | R[33] = select(R[34], C[664], C[668]);
41 | R[34] = div(R[32], R[0]);
42 | exit_stat_scope();
43 | enter_stat_scope(C[672]);
44 | R[0] = mul(C[676], R[9]);
45 | exit_stat_scope();
46 | enter_stat_scope(C[680]);
47 | R[35] = max(R[9], C[684]);
48 | R[36] = mul(R[24], C[688]);
49 | R[37] = mul(R[25], C[688]);
50 | R[38] = mul(R[26], C[688]);
51 | R[39] = mul(R[37], R[37]);
52 | R[37] = mad(R[36], R[36], R[39]);
53 | R[36] = mad(R[38], R[38], R[37]);
54 | R[37] = sqrt(R[36]);
55 | R[36] = max(R[37], C[692]);
56 | R[37] = mul(R[36], C[696]);
57 | R[36] = max(R[37], C[692]);
58 | R[37] = b2i(R[31]);
59 | R[31] = cmpeqi(R[37], C[648]);
60 | R[37] = select(R[31], C[700], C[704]);
61 | R[31] = rcp(R[35]);
62 | R[38] = mul(C[700], R[31]);
63 | R[39] = mul(C[700], R[31]);
64 | R[40] = mul(R[0], R[31]);
65 | R[41] = mul(R[38], C[4]);
66 | R[42] = mul(R[39], C[4]);
67 | R[43] = mul(R[40], C[4]);
68 | R[44] = add(R[41], R[28]);
69 | R[45] = add(R[42], R[29]);
70 | R[46] = add(R[43], R[30]);
71 | R[47] = add(C[4], C[708]);
72 | R[48] = div(R[44], R[47]);
73 | R[44] = div(R[45], R[47]);
74 | R[45] = div(R[46], R[47]);
75 | R[46] = mul(R[48], C[4]);
76 | R[47] = mul(R[44], C[4]);
77 | R[44] = mul(R[45], C[4]);
78 | R[45] = mul(R[42], R[42]);
79 | R[48] = mad(R[41], R[41], R[45]);
80 | R[45] = mad(R[43], R[43], R[48]);
81 | R[48] = cmplt(R[45], C[712]);
82 | R[49] = rsq(R[45]);
83 | R[45] = mul(R[41], R[49]);
84 | R[50] = mul(R[42], R[49]);
85 | R[51] = mul(R[43], R[49]);
86 | R[49] = b2i(R[48]);
87 | R[48] = cmpeqi(R[49], C[648]);
88 | R[49] = select(R[48], R[45], C[700]);
89 | R[45] = select(R[48], R[50], C[700]);
90 | R[50] = select(R[48], R[51], C[716]);
91 | R[48] = mul(R[49], R[36]);
92 | R[49] = mul(R[45], R[36]);
93 | R[45] = mul(R[50], R[36]);
94 | R[50] = sub(R[16], R[48]);
95 | R[51] = sub(R[17], R[49]);
96 | R[52] = sub(R[18], R[45]);
97 | R[53] = mad(C[720], R[41], R[48]);
98 | R[41] = mad(C[720], R[42], R[49]);
99 | R[42] = mad(C[720], R[43], R[45]);
100 | R[43] = mul(R[41], R[41]);
101 | R[45] = mad(R[53], R[53], R[43]);
102 | R[43] = mad(R[42], R[42], R[45]);
103 | R[45] = cmplt(R[43], C[712]);
104 | R[48] = rsq(R[43]);
105 | R[43] = mul(R[53], R[48]);
106 | R[49] = mul(R[41], R[48]);
107 | R[41] = mul(R[42], R[48]);
108 | R[42] = rcp(R[48]);
109 | R[48] = b2i(R[45]);
110 | R[45] = cmpeqi(R[48], C[648]);
111 | R[48] = select(R[45], R[43], C[700]);
112 | R[43] = select(R[45], R[49], C[700]);
113 | R[49] = select(R[45], R[41], C[716]);
114 | R[41] = select(R[45], R[42], C[708]);
115 | R[42] = min(R[41], C[724]);
116 | R[41] = mad(R[48], R[42], R[16]);
117 | R[45] = mad(R[43], R[42], R[17]);
118 | R[43] = mad(R[49], R[42], R[18]);
119 | PerformCollisionQueryAsyncCPU_Collision_CollisionQueryAndResponse_Query[func0](C[648], R[5], R[50], R[51], R[52], R[41], R[45], R[43], C[652], C[668], R[42], R[48], R[49], R[53], R[54], R[55], R[56], R[57], R[58], Unused, Unused, Unused);
120 | R[5] = logic_not(R[49]);
121 | R[41] = logic_and(R[48], R[5]);
122 | R[5] = select(R[41], R[56], C[700]);
123 | R[43] = select(R[41], R[57], C[700]);
124 | R[45] = select(R[41], R[58], C[708]);
125 | R[48] = select(R[41], R[53], C[700]);
126 | R[49] = select(R[41], R[54], C[700]);
127 | R[50] = select(R[41], R[55], C[728]);
128 | R[41] = neg(R[5]);
129 | R[51] = neg(R[43]);
130 | R[52] = neg(R[45]);
131 | R[53] = sub(R[48], R[16]);
132 | R[54] = sub(R[49], R[17]);
133 | R[55] = sub(R[50], R[18]);
134 | R[56] = mul(R[51], R[54]);
135 | R[54] = mad(R[41], R[53], R[56]);
136 | R[53] = mad(R[52], R[55], R[54]);
137 | R[54] = sub(R[53], R[36]);
138 | R[53] = cmplt(R[54], C[700]);
139 | R[55] = max(R[37], R[54]);
140 | R[56] = mad(R[55], R[41], R[16]);
141 | R[57] = mad(R[55], R[51], R[17]);
142 | R[58] = mad(R[55], R[52], R[18]);
143 | R[55] = add(R[16], R[46]);
144 | R[59] = add(R[17], R[47]);
145 | R[60] = add(R[18], R[44]);
146 | R[61] = sub(R[48], R[55]);
147 | R[48] = sub(R[49], R[59]);
148 | R[49] = sub(R[50], R[60]);
149 | R[50] = mul(R[51], R[48]);
150 | R[48] = mad(R[41], R[61], R[50]);
151 | R[41] = mad(R[52], R[49], R[48]);
152 | R[48] = sub(R[41], R[36]);
153 | R[41] = abs(R[48]);
154 | R[49] = sub(R[54], R[48]);
155 | R[50] = abs(R[49]);
156 | R[49] = max(R[50], C[692]);
157 | R[50] = div(R[41], R[49]);
158 | R[41] = cmpeq(R[50], C[700]);
159 | R[49] = logic_or(R[53], R[41]);
160 | R[41] = select(R[49], C[708], R[50]);
161 | R[49] = sub(C[708], R[41]);
162 | R[50] = mad(R[49], R[46], R[16]);
163 | R[51] = mad(R[49], R[47], R[17]);
164 | R[52] = mad(R[49], R[44], R[18]);
165 | R[49] = mul(C[4], R[41]);
166 | R[41] = select(R[53], R[56], R[50]);
167 | R[50] = select(R[53], R[57], R[51]);
168 | R[51] = select(R[53], R[58], R[52]);
169 | R[52] = select(R[53], C[4], R[49]);
170 | R[49] = select(R[53], R[54], R[54]);
171 | R[54] = select(R[53], R[48], R[48]);
172 | R[48] = cmple(R[54], C[700]);
173 | R[53] = neg(R[5]);
174 | R[54] = neg(R[43]);
175 | R[55] = neg(R[45]);
176 | R[56] = mul(C[4], C[4]);
177 | R[57] = mul(R[56], R[38]);
178 | R[38] = mul(R[56], R[39]);
179 | R[39] = mul(R[56], R[40]);
180 | R[40] = mul(R[54], R[47]);
181 | R[56] = mad(R[53], R[46], R[40]);
182 | R[40] = mad(R[55], R[44], R[56]);
183 | R[56] = mul(R[54], R[38]);
184 | R[38] = mad(R[53], R[57], R[56]);
185 | R[53] = mad(R[55], R[39], R[38]);
186 | R[38] = sub(R[40], R[53]);
187 | R[39] = cmplt(R[38], C[732]);
188 | R[38] = div(R[46], C[4]);
189 | R[40] = div(R[47], C[4]);
190 | R[46] = div(R[44], C[4]);
191 | R[44] = select(R[48], R[52], C[4]);
192 | R[47] = select(R[39], C[700], C[736]);
193 | R[52] = mul(R[40], R[43]);
194 | R[53] = mad(R[38], R[5], R[52]);
195 | R[52] = mad(R[46], R[45], R[53]);
196 | R[53] = add(R[52], R[52]);
197 | R[52] = mul(R[53], R[5]);
198 | R[54] = mul(R[53], R[43]);
199 | R[55] = mul(R[53], R[45]);
200 | R[53] = sub(R[38], R[52]);
201 | R[52] = sub(R[40], R[54]);
202 | R[54] = sub(R[46], R[55]);
203 | R[55] = mul(R[35], C[740]);
204 | R[56] = mul(R[35], C[740]);
205 | R[57] = mul(R[35], C[740]);
206 | R[58] = mul(R[55], R[38]);
207 | R[55] = mul(R[56], R[40]);
208 | R[56] = mul(R[57], R[46]);
209 | R[57] = mul(R[55], R[43]);
210 | R[55] = mad(R[58], R[5], R[57]);
211 | R[57] = mad(R[56], R[45], R[55]);
212 | R[55] = mul(R[52], R[43]);
213 | R[56] = mad(R[53], R[5], R[55]);
214 | R[55] = mad(R[54], R[45], R[56]);
215 | R[56] = mul(R[55], R[5]);
216 | R[58] = mul(R[55], R[43]);
217 | R[59] = mul(R[55], R[45]);
218 | R[55] = sub(R[53], R[56]);
219 | R[56] = sub(R[52], R[58]);
220 | R[58] = sub(R[54], R[59]);
221 | R[59] = mul(R[56], R[56]);
222 | R[60] = mad(R[55], R[55], R[59]);
223 | R[59] = mad(R[58], R[58], R[60]);
224 | R[60] = cmplt(R[59], C[712]);
225 | R[61] = rsq(R[59]);
226 | R[59] = mul(R[55], R[61]);
227 | R[62] = mul(R[56], R[61]);
228 | R[63] = mul(R[58], R[61]);
229 | R[61] = b2i(R[60]);
230 | R[60] = cmpeqi(R[61], C[648]);
231 | R[61] = select(R[60], R[59], C[700]);
232 | R[59] = select(R[60], R[62], C[700]);
233 | R[62] = select(R[60], R[63], C[700]);
234 | R[60] = mul(R[55], C[744]);
235 | R[55] = mul(R[56], C[744]);
236 | R[56] = mul(R[58], C[744]);
237 | R[58] = mul(R[60], R[35]);
238 | R[60] = mul(R[55], R[35]);
239 | R[55] = mul(R[56], R[35]);
240 | R[56] = select(R[39], C[748], C[700]);
241 | R[39] = mul(R[61], R[56]);
242 | R[63] = mul(R[59], R[56]);
243 | R[64] = mul(R[62], R[56]);
244 | R[56] = mul(R[39], R[57]);
245 | R[39] = mul(R[63], R[57]);
246 | R[63] = mul(R[64], R[57]);
247 | R[57] = sub(R[58], R[56]);
248 | R[64] = sub(R[60], R[39]);
249 | R[65] = sub(R[55], R[63]);
250 | R[66] = mul(R[64], R[64]);
251 | R[67] = mad(R[57], R[57], R[66]);
252 | R[66] = mad(R[65], R[65], R[67]);
253 | R[67] = cmplt(R[66], C[712]);
254 | R[68] = rsq(R[66]);
255 | R[66] = mul(R[57], R[68]);
256 | R[57] = mul(R[64], R[68]);
257 | R[64] = mul(R[65], R[68]);
258 | R[65] = b2i(R[67]);
259 | R[67] = cmpeqi(R[65], C[648]);
260 | R[65] = select(R[67], R[66], C[700]);
261 | R[66] = select(R[67], R[57], C[700]);
262 | R[57] = select(R[67], R[64], C[700]);
263 | R[64] = mul(R[59], R[66]);
264 | R[59] = mad(R[61], R[65], R[64]);
265 | R[61] = mad(R[62], R[57], R[59]);
266 | R[57] = cmple(R[61], C[700]);
267 | R[59] = select(R[57], R[58], R[56]);
268 | R[56] = select(R[57], R[60], R[39]);
269 | R[39] = select(R[57], R[55], R[63]);
270 | R[55] = mul(R[59], C[716]);
271 | R[57] = mul(R[56], C[716]);
272 | R[56] = mul(R[39], C[716]);
273 | R[39] = mul(R[55], R[31]);
274 | R[55] = mul(R[57], R[31]);
275 | R[57] = mul(R[56], R[31]);
276 | R[31] = mul(R[39], C[752]);
277 | R[39] = mul(R[55], C[752]);
278 | R[55] = mul(R[57], C[752]);
279 | R[56] = add(R[53], R[31]);
280 | R[31] = add(R[52], R[39]);
281 | R[39] = add(R[54], R[55]);
282 | R[55] = mul(R[43], R[52]);
283 | R[52] = mad(R[5], R[53], R[55]);
284 | R[53] = mad(R[45], R[54], R[52]);
285 | R[52] = mul(R[5], R[53]);
286 | R[54] = mul(R[43], R[53]);
287 | R[55] = mul(R[45], R[53]);
288 | R[53] = sub(C[708], R[47]);
289 | R[47] = mul(R[52], R[53]);
290 | R[52] = mul(R[54], R[53]);
291 | R[54] = mul(R[55], R[53]);
292 | R[53] = sub(R[56], R[47]);
293 | R[47] = sub(R[31], R[52]);
294 | R[31] = sub(R[39], R[54]);
295 | R[39] = select(R[48], R[41], R[16]);
296 | R[41] = select(R[48], R[50], R[17]);
297 | R[50] = select(R[48], R[51], R[18]);
298 | R[51] = mul(R[40], R[40]);
299 | R[52] = mad(R[38], R[38], R[51]);
300 | R[51] = mad(R[46], R[46], R[52]);
301 | R[52] = cmplt(R[51], C[712]);
302 | R[54] = rsq(R[51]);
303 | R[51] = mul(R[38], R[54]);
304 | R[38] = mul(R[40], R[54]);
305 | R[40] = mul(R[46], R[54]);
306 | R[46] = b2i(R[52]);
307 | R[52] = cmpeqi(R[46], C[648]);
308 | R[46] = select(R[52], R[51], C[700]);
309 | R[51] = select(R[52], R[38], C[700]);
310 | R[38] = select(R[52], R[40], C[708]);
311 | R[40] = mul(R[51], R[43]);
312 | R[51] = mad(R[46], R[5], R[40]);
313 | R[40] = mad(R[38], R[45], R[51]);
314 | R[38] = cmplt(R[40], C[700]);
315 | R[40] = logic_and(R[38], R[48]);
316 | R[38] = select(R[40], C[700], C[700]);
317 | R[46] = select(R[40], C[700], C[700]);
318 | R[51] = select(R[40], C[700], R[0]);
319 | R[52] = select(R[40], R[53], R[28]);
320 | R[53] = select(R[40], R[47], R[29]);
321 | R[47] = select(R[40], R[31], R[30]);
322 | R[31] = rcp(R[35]);
323 | R[40] = mul(R[38], R[31]);
324 | R[38] = mul(R[46], R[31]);
325 | R[46] = mul(R[51], R[31]);
326 | R[51] = mad(R[40], R[44], R[52]);
327 | R[54] = mad(R[38], R[44], R[53]);
328 | R[55] = mad(R[46], R[44], R[47]);
329 | R[56] = add(R[44], C[708]);
330 | R[57] = div(R[51], R[56]);
331 | R[51] = div(R[54], R[56]);
332 | R[54] = div(R[55], R[56]);
333 | R[55] = mul(R[57], R[44]);
334 | R[56] = mul(R[51], R[44]);
335 | R[51] = mul(R[54], R[44]);
336 | R[54] = mul(R[56], R[56]);
337 | R[57] = mad(R[55], R[55], R[54]);
338 | R[54] = mad(R[51], R[51], R[57]);
339 | R[57] = cmplt(R[54], C[712]);
340 | R[58] = rsq(R[54]);
341 | R[54] = mul(R[55], R[58]);
342 | R[59] = mul(R[56], R[58]);
343 | R[60] = mul(R[51], R[58]);
344 | R[58] = b2i(R[57]);
345 | R[57] = cmpeqi(R[58], C[648]);
346 | R[58] = select(R[57], R[54], C[700]);
347 | R[54] = select(R[57], R[59], C[700]);
348 | R[59] = select(R[57], R[60], C[716]);
349 | R[57] = mul(R[58], R[36]);
350 | R[58] = mul(R[54], R[36]);
351 | R[54] = mul(R[59], R[36]);
352 | R[59] = sub(R[39], R[57]);
353 | R[60] = sub(R[41], R[58]);
354 | R[61] = sub(R[50], R[54]);
355 | R[62] = mad(C[720], R[55], R[57]);
356 | R[57] = mad(C[720], R[56], R[58]);
357 | R[58] = mad(C[720], R[51], R[54]);
358 | R[54] = mul(R[57], R[57]);
359 | R[63] = mad(R[62], R[62], R[54]);
360 | R[54] = mad(R[58], R[58], R[63]);
361 | R[63] = cmplt(R[54], C[712]);
362 | R[64] = rsq(R[54]);
363 | R[54] = mul(R[62], R[64]);
364 | R[62] = mul(R[57], R[64]);
365 | R[57] = mul(R[58], R[64]);
366 | R[58] = rcp(R[64]);
367 | R[64] = b2i(R[63]);
368 | R[63] = cmpeqi(R[64], C[648]);
369 | R[64] = select(R[63], R[54], C[700]);
370 | R[54] = select(R[63], R[62], C[700]);
371 | R[62] = select(R[63], R[57], C[716]);
372 | R[57] = select(R[63], R[58], C[708]);
373 | R[58] = min(R[57], C[724]);
374 | R[57] = mad(R[64], R[58], R[39]);
375 | R[63] = mad(R[54], R[58], R[41]);
376 | R[54] = mad(R[62], R[58], R[50]);
377 | PerformCollisionQueryAsyncCPU_Collision_CollisionQueryAndResponse001_Query[func1](C[652], R[6], R[59], R[60], R[61], R[57], R[63], R[54], C[652], C[668], R[58], R[62], R[64], R[65], R[66], R[67], R[68], R[69], R[70], Unused, Unused, Unused);
378 | R[6] = logic_not(R[64]);
379 | R[54] = logic_and(R[62], R[6]);
380 | R[6] = select(R[54], R[68], C[700]);
381 | R[57] = select(R[54], R[69], C[700]);
382 | R[59] = select(R[54], R[70], C[708]);
383 | R[60] = select(R[54], R[65], C[700]);
384 | R[61] = select(R[54], R[66], C[700]);
385 | R[62] = select(R[54], R[67], C[728]);
386 | R[54] = neg(R[6]);
387 | R[63] = neg(R[57]);
388 | R[64] = neg(R[59]);
389 | R[65] = sub(R[60], R[39]);
390 | R[66] = sub(R[61], R[41]);
391 | R[67] = sub(R[62], R[50]);
392 | R[68] = mul(R[63], R[66]);
393 | R[66] = mad(R[54], R[65], R[68]);
394 | R[65] = mad(R[64], R[67], R[66]);
395 | R[66] = sub(R[65], R[36]);
396 | R[65] = cmplt(R[66], C[700]);
397 | R[67] = max(R[37], R[66]);
398 | R[37] = mad(R[67], R[54], R[39]);
399 | R[68] = mad(R[67], R[63], R[41]);
400 | R[69] = mad(R[67], R[64], R[50]);
401 | R[67] = add(R[39], R[55]);
402 | R[70] = add(R[41], R[56]);
403 | R[71] = add(R[50], R[51]);
404 | R[72] = sub(R[60], R[67]);
405 | R[60] = sub(R[61], R[70]);
406 | R[61] = sub(R[62], R[71]);
407 | R[62] = mul(R[63], R[60]);
408 | R[60] = mad(R[54], R[72], R[62]);
409 | R[54] = mad(R[64], R[61], R[60]);
410 | R[60] = sub(R[54], R[36]);
411 | R[54] = abs(R[60]);
412 | R[61] = sub(R[66], R[60]);
413 | R[62] = abs(R[61]);
414 | R[61] = max(R[62], C[692]);
415 | R[62] = div(R[54], R[61]);
416 | R[54] = cmpeq(R[62], C[700]);
417 | R[61] = logic_or(R[65], R[54]);
418 | R[54] = select(R[61], C[708], R[62]);
419 | R[61] = sub(C[708], R[54]);
420 | R[62] = mad(R[61], R[55], R[39]);
421 | R[63] = mad(R[61], R[56], R[41]);
422 | R[64] = mad(R[61], R[51], R[50]);
423 | R[61] = mul(R[44], R[54]);
424 | R[54] = select(R[65], R[37], R[62]);
425 | R[37] = select(R[65], R[68], R[63]);
426 | R[62] = select(R[65], R[69], R[64]);
427 | R[63] = select(R[65], R[44], R[61]);
428 | R[61] = select(R[65], R[66], R[66]);
429 | R[64] = select(R[65], R[60], R[60]);
430 | R[60] = cmple(R[64], C[700]);
431 | R[64] = neg(R[6]);
432 | R[65] = neg(R[57]);
433 | R[66] = neg(R[59]);
434 | R[67] = mul(R[44], R[44]);
435 | R[68] = mul(R[67], R[40]);
436 | R[40] = mul(R[67], R[38]);
437 | R[38] = mul(R[67], R[46]);
438 | R[46] = mul(R[65], R[56]);
439 | R[67] = mad(R[64], R[55], R[46]);
440 | R[46] = mad(R[66], R[51], R[67]);
441 | R[67] = mul(R[65], R[40]);
442 | R[40] = mad(R[64], R[68], R[67]);
443 | R[64] = mad(R[66], R[38], R[40]);
444 | R[38] = sub(R[46], R[64]);
445 | R[40] = cmplt(R[38], C[732]);
446 | R[38] = div(R[55], R[44]);
447 | R[46] = div(R[56], R[44]);
448 | R[55] = div(R[51], R[44]);
449 | R[51] = select(R[60], R[63], R[44]);
450 | R[44] = select(R[40], C[700], C[736]);
451 | R[56] = mul(R[46], R[57]);
452 | R[63] = mad(R[38], R[6], R[56]);
453 | R[56] = mad(R[55], R[59], R[63]);
454 | R[63] = add(R[56], R[56]);
455 | R[56] = mul(R[63], R[6]);
456 | R[64] = mul(R[63], R[57]);
457 | R[65] = mul(R[63], R[59]);
458 | R[63] = sub(R[38], R[56]);
459 | R[56] = sub(R[46], R[64]);
460 | R[64] = sub(R[55], R[65]);
461 | R[65] = mul(R[35], C[740]);
462 | R[66] = mul(R[35], C[740]);
463 | R[67] = mul(R[35], C[740]);
464 | R[68] = mul(R[65], R[38]);
465 | R[65] = mul(R[66], R[46]);
466 | R[66] = mul(R[67], R[55]);
467 | R[67] = mul(R[65], R[57]);
468 | R[65] = mad(R[68], R[6], R[67]);
469 | R[67] = mad(R[66], R[59], R[65]);
470 | R[65] = mul(R[56], R[57]);
471 | R[66] = mad(R[63], R[6], R[65]);
472 | R[65] = mad(R[64], R[59], R[66]);
473 | R[66] = mul(R[65], R[6]);
474 | R[68] = mul(R[65], R[57]);
475 | R[69] = mul(R[65], R[59]);
476 | R[65] = sub(R[63], R[66]);
477 | R[66] = sub(R[56], R[68]);
478 | R[68] = sub(R[64], R[69]);
479 | R[69] = mul(R[66], R[66]);
480 | R[70] = mad(R[65], R[65], R[69]);
481 | R[69] = mad(R[68], R[68], R[70]);
482 | R[70] = cmplt(R[69], C[712]);
483 | R[71] = rsq(R[69]);
484 | R[69] = mul(R[65], R[71]);
485 | R[72] = mul(R[66], R[71]);
486 | R[73] = mul(R[68], R[71]);
487 | R[71] = b2i(R[70]);
488 | R[70] = cmpeqi(R[71], C[648]);
489 | R[71] = select(R[70], R[69], C[700]);
490 | R[69] = select(R[70], R[72], C[700]);
491 | R[72] = select(R[70], R[73], C[700]);
492 | R[70] = mul(R[65], C[744]);
493 | R[65] = mul(R[66], C[744]);
494 | R[66] = mul(R[68], C[744]);
495 | R[68] = mul(R[70], R[35]);
496 | R[70] = mul(R[65], R[35]);
497 | R[65] = mul(R[66], R[35]);
498 | R[35] = select(R[40], C[748], C[700]);
499 | R[40] = mul(R[71], R[35]);
500 | R[66] = mul(R[69], R[35]);
501 | R[73] = mul(R[72], R[35]);
502 | R[35] = mul(R[40], R[67]);
503 | R[40] = mul(R[66], R[67]);
504 | R[66] = mul(R[73], R[67]);
505 | R[67] = sub(R[68], R[35]);
506 | R[73] = sub(R[70], R[40]);
507 | R[74] = sub(R[65], R[66]);
508 | R[75] = mul(R[73], R[73]);
509 | R[76] = mad(R[67], R[67], R[75]);
510 | R[75] = mad(R[74], R[74], R[76]);
511 | R[76] = cmplt(R[75], C[712]);
512 | R[77] = rsq(R[75]);
513 | R[75] = mul(R[67], R[77]);
514 | R[67] = mul(R[73], R[77]);
515 | R[73] = mul(R[74], R[77]);
516 | R[74] = b2i(R[76]);
517 | R[76] = cmpeqi(R[74], C[648]);
518 | R[74] = select(R[76], R[75], C[700]);
519 | R[75] = select(R[76], R[67], C[700]);
520 | R[67] = select(R[76], R[73], C[700]);
521 | R[73] = mul(R[69], R[75]);
522 | R[69] = mad(R[71], R[74], R[73]);
523 | R[71] = mad(R[72], R[67], R[69]);
524 | R[67] = cmple(R[71], C[700]);
525 | R[69] = select(R[67], R[68], R[35]);
526 | R[35] = select(R[67], R[70], R[40]);
527 | R[40] = select(R[67], R[65], R[66]);
528 | R[65] = mul(R[69], C[716]);
529 | R[66] = mul(R[35], C[716]);
530 | R[35] = mul(R[40], C[716]);
531 | R[40] = mul(R[65], R[31]);
532 | R[65] = mul(R[66], R[31]);
533 | R[66] = mul(R[35], R[31]);
534 | R[31] = mul(R[40], C[752]);
535 | R[35] = mul(R[65], C[752]);
536 | R[40] = mul(R[66], C[752]);
537 | R[65] = add(R[63], R[31]);
538 | R[31] = add(R[56], R[35]);
539 | R[35] = add(R[64], R[40]);
540 | R[40] = mul(R[57], R[56]);
541 | R[56] = mad(R[6], R[63], R[40]);
542 | R[40] = mad(R[59], R[64], R[56]);
543 | R[56] = mul(R[6], R[40]);
544 | R[63] = mul(R[57], R[40]);
545 | R[64] = mul(R[59], R[40]);
546 | R[40] = sub(C[708], R[44]);
547 | R[44] = mul(R[56], R[40]);
548 | R[56] = mul(R[63], R[40]);
549 | R[63] = mul(R[64], R[40]);
550 | R[40] = sub(R[65], R[44]);
551 | R[44] = sub(R[31], R[56]);
552 | R[31] = sub(R[35], R[63]);
553 | R[35] = select(R[60], R[54], R[39]);
554 | R[39] = select(R[60], R[37], R[41]);
555 | R[37] = select(R[60], R[62], R[50]);
556 | R[41] = mul(R[46], R[46]);
557 | R[50] = mad(R[38], R[38], R[41]);
558 | R[41] = mad(R[55], R[55], R[50]);
559 | R[50] = cmplt(R[41], C[712]);
560 | R[54] = rsq(R[41]);
561 | R[41] = mul(R[38], R[54]);
562 | R[38] = mul(R[46], R[54]);
563 | R[46] = mul(R[55], R[54]);
564 | R[54] = b2i(R[50]);
565 | R[50] = cmpeqi(R[54], C[648]);
566 | R[54] = select(R[50], R[41], C[700]);
567 | R[41] = select(R[50], R[38], C[700]);
568 | R[38] = select(R[50], R[46], C[708]);
569 | R[46] = mul(R[41], R[57]);
570 | R[41] = mad(R[54], R[6], R[46]);
571 | R[46] = mad(R[38], R[59], R[41]);
572 | R[38] = cmplt(R[46], C[700]);
573 | R[41] = logic_and(R[38], R[60]);
574 | R[38] = select(R[41], R[40], R[52]);
575 | R[40] = select(R[41], R[44], R[53]);
576 | R[44] = select(R[41], R[31], R[47]);
577 | R[31] = logic_or(R[48], R[60]);
578 | R[41] = addi(R[15], C[652]);
579 | R[46] = select(R[31], R[41], R[15]);
580 | R[15] = cmplt(R[49], C[700]);
581 | R[41] = cmplt(R[61], C[700]);
582 | R[47] = logic_and(R[15], R[41]);
583 | R[50] = b2i(R[15]);
584 | R[15] = cmpeqi(R[50], C[648]);
585 | R[50] = select(R[15], C[700], C[696]);
586 | R[15] = b2i(R[41]);
587 | R[41] = cmpeqi(R[15], C[648]);
588 | R[15] = select(R[41], C[700], C[696]);
589 | R[41] = add(R[50], R[15]);
590 | R[15] = mul(C[4], C[696]);
591 | R[50] = lerp(R[19], R[41], R[15]);
592 | R[15] = cmpgt(R[50], C[708]);
593 | R[19] = logic_or(R[47], R[15]);
594 | R[15] = mul(R[49], C[716]);
595 | R[41] = cmpgt(R[15], R[61]);
596 | R[15] = cmpgt(C[756], R[61]);
597 | R[47] = logic_or(R[41], R[15]);
598 | R[15] = logic_or(R[19], R[47]);
599 | R[19] = select(R[31], R[35], R[16]);
600 | R[41] = select(R[31], R[39], R[17]);
601 | R[47] = select(R[31], R[37], R[18]);
602 | R[49] = select(R[31], R[38], R[28]);
603 | R[38] = select(R[31], R[40], R[29]);
604 | R[40] = select(R[31], R[44], R[30]);
605 | R[44] = select(R[31], C[700], C[700]);
606 | R[52] = select(R[31], C[700], C[700]);
607 | R[53] = select(R[31], C[700], R[0]);
608 | R[0] = select(R[31], R[51], C[4]);
609 | R[51] = select(R[31], C[700], C[700]);
610 | R[54] = select(R[31], C[700], C[700]);
611 | R[55] = select(R[31], C[700], C[700]);
612 | R[56] = select(R[15], R[35], R[19]);
613 | R[19] = select(R[15], R[39], R[41]);
614 | R[35] = select(R[15], R[37], R[47]);
615 | R[37] = select(R[15], C[700], R[49]);
616 | R[39] = select(R[15], C[700], R[38]);
617 | R[38] = select(R[15], C[700], R[40]);
618 | R[40] = select(R[15], C[700], R[44]);
619 | R[41] = select(R[15], C[700], R[52]);
620 | R[44] = select(R[15], C[700], R[53]);
621 | R[47] = select(R[15], R[0], R[0]);
622 | R[0] = select(R[15], C[700], R[51]);
623 | R[49] = select(R[15], C[700], R[54]);
624 | R[51] = select(R[15], C[700], R[55]);
625 | R[15] = select(R[31], C[700], R[21]);
626 | R[21] = select(R[31], C[700], R[22]);
627 | R[22] = select(R[31], C[700], R[23]);
628 | R[23] = select(R[31], C[700], C[700]);
629 | R[52] = select(R[31], C[700], C[700]);
630 | R[53] = select(R[31], C[700], C[700]);
631 | R[54] = mul(R[57], R[57]);
632 | R[55] = mad(R[6], R[6], R[54]);
633 | R[54] = mad(R[59], R[59], R[55]);
634 | R[55] = cmplt(R[54], C[712]);
635 | R[61] = rsq(R[54]);
636 | R[54] = mul(R[6], R[61]);
637 | R[6] = mul(R[57], R[61]);
638 | R[57] = mul(R[59], R[61]);
639 | R[59] = b2i(R[55]);
640 | R[55] = cmpeqi(R[59], C[648]);
641 | R[59] = select(R[55], R[54], C[700]);
642 | R[54] = select(R[55], R[6], C[700]);
643 | R[6] = select(R[55], R[57], C[708]);
644 | R[55] = select(R[60], R[59], C[700]);
645 | R[57] = select(R[60], R[54], C[700]);
646 | R[54] = select(R[60], R[6], C[708]);
647 | R[6] = select(R[48], R[5], R[55]);
648 | R[5] = select(R[48], R[43], R[57]);
649 | R[43] = select(R[48], R[45], R[54]);
650 | R[45] = mul(R[39], R[5]);
651 | R[48] = mad(R[37], R[6], R[45]);
652 | R[45] = mad(R[38], R[43], R[48]);
653 | R[48] = mul(R[45], R[6]);
654 | R[54] = mul(R[45], R[5]);
655 | R[55] = mul(R[45], R[43]);
656 | R[45] = sub(R[37], R[48]);
657 | R[48] = sub(R[39], R[54]);
658 | R[54] = sub(R[38], R[55]);
659 | R[55] = mul(R[5], R[54]);
660 | R[57] = mul(R[43], R[48]);
661 | R[59] = sub(R[55], R[57]);
662 | R[55] = mul(R[43], R[45]);
663 | R[43] = mul(R[6], R[54]);
664 | R[57] = sub(R[55], R[43]);
665 | R[43] = mul(R[6], R[48]);
666 | R[6] = mul(R[5], R[45]);
667 | R[5] = sub(R[43], R[6]);
668 | R[6] = mul(R[57], R[57]);
669 | R[43] = mad(R[59], R[59], R[6]);
670 | R[6] = mad(R[5], R[5], R[43]);
671 | R[43] = cmplt(R[6], C[712]);
672 | R[55] = rsq(R[6]);
673 | R[6] = mul(R[59], R[55]);
674 | R[59] = mul(R[57], R[55]);
675 | R[57] = mul(R[5], R[55]);
676 | R[5] = b2i(R[43]);
677 | R[55] = cmpeqi(R[5], C[648]);
678 | R[5] = select(R[55], R[6], C[700]);
679 | R[6] = select(R[55], R[59], C[700]);
680 | R[59] = select(R[55], R[57], C[700]);
681 | R[55] = mul(R[48], R[48]);
682 | R[48] = mad(R[45], R[45], R[55]);
683 | R[45] = mad(R[54], R[54], R[48]);
684 | R[48] = cmplt(R[45], C[712]);
685 | R[54] = rsq(R[45]);
686 | R[45] = rcp(R[54]);
687 | R[54] = b2i(R[48]);
688 | R[48] = cmpeqi(R[54], C[648]);
689 | R[54] = select(R[48], R[45], C[700]);
690 | R[45] = select(R[43], C[700], R[5]);
691 | R[5] = select(R[43], C[700], R[6]);
692 | R[6] = select(R[43], C[708], R[59]);
693 | R[48] = select(R[43], C[700], R[54]);
694 | R[43] = mul(C[760], R[36]);
695 | R[36] = div(R[48], R[43]);
696 | R[43] = mul(C[760], R[36]);
697 | R[36] = select(R[31], R[45], R[1]);
698 | R[1] = select(R[31], R[5], R[2]);
699 | R[2] = select(R[31], R[6], R[3]);
700 | R[3] = select(R[31], R[43], R[4]);
701 | R[4] = logic_or(R[7], R[31]);
702 | R[5] = mul(R[3], C[4]);
703 | R[6] = div(R[5], C[764]);
704 | R[5] = mul(R[1], R[1]);
705 | R[7] = mad(R[36], R[36], R[5]);
706 | R[5] = mad(R[2], R[2], R[7]);
707 | R[7] = rsq(R[5]);
708 | R[5] = mul(R[36], R[7]);
709 | R[31] = mul(R[1], R[7]);
710 | R[43] = mul(R[2], R[7]);
711 | R[7] = sin(R[6]);
712 | R[45] = mul(R[5], R[7]);
713 | R[5] = mul(R[31], R[7]);
714 | R[31] = mul(R[43], R[7]);
715 | R[7] = cos(R[6]);
716 | R[6] = mul(R[31], R[12]);
717 | R[43] = mul(R[31], R[11]);
718 | R[48] = mul(R[31], R[14]);
719 | R[54] = mul(R[31], R[13]);
720 | R[31] = mul(R[5], R[13]);
721 | R[55] = mul(R[5], R[14]);
722 | R[57] = mul(R[5], R[11]);
723 | R[59] = mul(R[5], R[12]);
724 | R[5] = mul(R[45], R[14]);
725 | R[60] = mul(R[45], R[13]);
726 | R[61] = mul(R[45], R[12]);
727 | R[62] = mul(R[45], R[11]);
728 | R[45] = mul(R[7], R[11]);
729 | R[63] = mul(R[7], R[12]);
730 | R[64] = mul(R[7], R[13]);
731 | R[65] = mul(R[7], R[14]);
732 | R[7] = add(R[5], R[45]);
733 | R[5] = mad(R[60], C[716], R[63]);
734 | R[45] = add(R[61], R[64]);
735 | R[60] = mad(R[62], C[716], R[65]);
736 | R[61] = add(R[31], R[7]);
737 | R[7] = add(R[55], R[5]);
738 | R[5] = mad(R[57], C[716], R[45]);
739 | R[31] = mad(R[59], C[716], R[60]);
740 | R[45] = mad(R[6], C[716], R[61]);
741 | R[6] = add(R[43], R[7]);
742 | R[7] = add(R[48], R[5]);
743 | R[5] = mad(R[54], C[716], R[31]);
744 | R[31] = mul(R[6], R[6]);
745 | R[43] = mad(R[45], R[45], R[31]);
746 | R[31] = mad(R[7], R[7], R[43]);
747 | R[43] = mad(R[5], R[5], R[31]);
748 | R[31] = rsq(R[43]);
749 | R[43] = mul(R[45], R[31]);
750 | R[45] = mul(R[6], R[31]);
751 | R[6] = mul(R[7], R[31]);
752 | R[7] = mul(R[5], R[31]);
753 | R[5] = select(R[4], R[43], R[11]);
754 | R[31] = select(R[4], R[45], R[12]);
755 | R[43] = select(R[4], R[6], R[13]);
756 | R[6] = select(R[4], R[7], R[14]);
757 | exit_stat_scope();
758 | enter_stat_scope(C[768]);
759 | R[7] = max(R[9], C[692]);
760 | R[45] = rcp(R[7]);
761 | R[7] = mul(R[45], R[40]);
762 | R[40] = mul(R[45], R[41]);
763 | R[41] = mul(R[45], R[44]);
764 | R[44] = mad(R[7], R[47], R[37]);
765 | R[7] = mad(R[40], R[47], R[39]);
766 | R[37] = mad(R[41], R[47], R[38]);
767 | R[38] = sub(R[44], R[0]);
768 | R[39] = sub(R[7], R[49]);
769 | R[7] = sub(R[37], R[51]);
770 | R[37] = add(R[47], C[708]);
771 | R[40] = div(R[38], R[37]);
772 | R[38] = div(R[39], R[37]);
773 | R[39] = div(R[7], R[37]);
774 | R[7] = add(R[40], R[0]);
775 | R[0] = add(R[38], R[49]);
776 | R[37] = add(R[39], R[51]);
777 | R[38] = mad(R[7], R[47], R[56]);
778 | R[39] = mad(R[0], R[47], R[19]);
779 | R[19] = mad(R[37], R[47], R[35]);
780 | R[35] = max(R[20], C[656]);
781 | R[40] = div(R[23], R[35]);
782 | R[23] = div(R[52], R[35]);
783 | R[41] = div(R[53], R[35]);
784 | R[35] = mad(R[40], R[47], R[15]);
785 | R[40] = mad(R[23], R[47], R[21]);
786 | R[23] = mad(R[41], R[47], R[22]);
787 | R[41] = mul(R[15], R[47]);
788 | R[15] = mul(R[21], R[47]);
789 | R[21] = mul(R[22], R[47]);
790 | R[22] = mul(R[15], R[15]);
791 | R[44] = mad(R[41], R[41], R[22]);
792 | R[22] = mad(R[21], R[21], R[44]);
793 | R[44] = cmplt(R[22], C[712]);
794 | R[45] = rsq(R[22]);
795 | R[22] = mul(R[41], R[45]);
796 | R[41] = mul(R[15], R[45]);
797 | R[15] = mul(R[21], R[45]);
798 | R[21] = rcp(R[45]);
799 | R[45] = b2i(R[44]);
800 | R[47] = cmpeqi(R[45], C[648]);
801 | R[45] = select(R[47], R[22], C[700]);
802 | R[22] = select(R[47], R[41], C[700]);
803 | R[41] = select(R[47], R[15], C[700]);
804 | R[15] = select(R[47], R[21], C[700]);
805 | R[21] = div(R[15], C[764]);
806 | R[15] = mul(R[22], R[22]);
807 | R[47] = mad(R[45], R[45], R[15]);
808 | R[15] = mad(R[41], R[41], R[47]);
809 | R[47] = rsq(R[15]);
810 | R[15] = mul(R[45], R[47]);
811 | R[45] = mul(R[22], R[47]);
812 | R[22] = mul(R[41], R[47]);
813 | R[41] = sin(R[21]);
814 | R[47] = mul(R[15], R[41]);
815 | R[15] = mul(R[45], R[41]);
816 | R[45] = mul(R[22], R[41]);
817 | R[22] = cos(R[21]);
818 | R[21] = mul(R[45], R[31]);
819 | R[41] = mul(R[45], R[5]);
820 | R[48] = mul(R[45], R[6]);
821 | R[49] = mul(R[45], R[43]);
822 | R[45] = mul(R[15], R[43]);
823 | R[51] = mul(R[15], R[6]);
824 | R[52] = mul(R[15], R[5]);
825 | R[53] = mul(R[15], R[31]);
826 | R[15] = mul(R[47], R[6]);
827 | R[54] = mul(R[47], R[43]);
828 | R[55] = mul(R[47], R[31]);
829 | R[56] = mul(R[47], R[5]);
830 | R[47] = mul(R[22], R[5]);
831 | R[57] = mul(R[22], R[31]);
832 | R[59] = mul(R[22], R[43]);
833 | R[60] = mul(R[22], R[6]);
834 | R[22] = add(R[15], R[47]);
835 | R[15] = mad(R[54], C[716], R[57]);
836 | R[47] = add(R[55], R[59]);
837 | R[54] = mad(R[56], C[716], R[60]);
838 | R[55] = add(R[45], R[22]);
839 | R[22] = add(R[51], R[15]);
840 | R[15] = mad(R[52], C[716], R[47]);
841 | R[45] = mad(R[53], C[716], R[54]);
842 | R[47] = mad(R[21], C[716], R[55]);
843 | R[21] = add(R[41], R[22]);
844 | R[22] = add(R[48], R[15]);
845 | R[15] = mad(R[49], C[716], R[45]);
846 | R[41] = select(R[44], R[5], R[47]);
847 | R[5] = select(R[44], R[31], R[21]);
848 | R[21] = select(R[44], R[43], R[22]);
849 | R[22] = select(R[44], R[6], R[15]);
850 | exit_stat_scope();
851 | exit_stat_scope();
852 | exit_stat_scope();
853 | [R][6] = AcquireIndex(0, [R][33]);
854 | OutputDataFloat(0, 0, [R][6], [R][32]);
855 | OutputDataFloat(0, 1, [R][6], [R][36]);
856 | OutputDataFloat(0, 2, [R][6], [R][1]);
857 | OutputDataFloat(0, 3, [R][6], [R][2]);
858 | OutputDataFloat(0, 4, [R][6], [R][3]);
859 | OutputDataInt(0, 0, [R][6], [R][42]);
860 | OutputDataInt(0, 1, [R][6], [R][58]);
861 | OutputDataInt(0, 2, [R][6], [R][4]);
862 | OutputDataFloat(0, 5, [R][6], [R][8]);
863 | OutputDataFloat(0, 6, [R][6], [R][9]);
864 | OutputDataFloat(0, 7, [R][6], [R][10]);
865 | OutputDataFloat(0, 8, [R][6], [R][41]);
866 | OutputDataFloat(0, 9, [R][6], [R][5]);
867 | OutputDataFloat(0, 10, [R][6], [R][21]);
868 | OutputDataFloat(0, 11, [R][6], [R][22]);
869 | OutputDataFloat(0, 12, [R][6], [R][34]);
870 | OutputDataInt(0, 3, [R][6], [R][46]);
871 | OutputDataFloat(0, 13, [R][6], [R][38]);
872 | OutputDataFloat(0, 14, [R][6], [R][39]);
873 | OutputDataFloat(0, 15, [R][6], [R][19]);
874 | OutputDataFloat(0, 16, [R][6], [R][11]);
875 | OutputDataFloat(0, 17, [R][6], [R][12]);
876 | OutputDataFloat(0, 18, [R][6], [R][13]);
877 | OutputDataFloat(0, 19, [R][6], [R][14]);
878 | OutputDataFloat(0, 20, [R][6], [R][16]);
879 | OutputDataFloat(0, 21, [R][6], [R][17]);
880 | OutputDataFloat(0, 22, [R][6], [R][18]);
881 | OutputDataFloat(0, 23, [R][6], [R][24]);
882 | OutputDataFloat(0, 24, [R][6], [R][25]);
883 | OutputDataFloat(0, 25, [R][6], [R][26]);
884 | OutputDataFloat(0, 26, [R][6], [R][28]);
885 | OutputDataFloat(0, 27, [R][6], [R][29]);
886 | OutputDataFloat(0, 28, [R][6], [R][30]);
887 | OutputDataFloat(0, 29, [R][6], [R][50]);
888 | OutputDataFloat(0, 30, [R][6], [R][20]);
889 | OutputDataFloat(0, 31, [R][6], [R][35]);
890 | OutputDataFloat(0, 32, [R][6], [R][40]);
891 | OutputDataFloat(0, 33, [R][6], [R][23]);
892 | OutputDataFloat(0, 34, [R][6], [R][24]);
893 | OutputDataFloat(0, 35, [R][6], [R][25]);
894 | OutputDataFloat(0, 36, [R][6], [R][26]);
895 | OutputDataInt(0, 4, [R][6], [R][27]);
896 | OutputDataFloat(0, 37, [R][6], [R][7]);
897 | OutputDataFloat(0, 38, [R][6], [R][0]);
898 | OutputDataFloat(0, 39, [R][6], [R][37]);
899 | exit_stat_scope();
-------------------------------
x<00><00>u)<00><00><00><00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>"V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>V<00><><7F><EFBFBD><EFBFBD><00>8G<00><00>V<00><><7F><EFBFBD><EFBFBD><00>8G<00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>V<00><><7F><EFBFBD><EFBFBD><00>8G<00><00>V<00><><7F><EFBFBD><EFBFBD><00>8G<00><00>#V<00><><7F><EFBFBD><EFBFBD><00>8G<00><00>-V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>6V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>$V<00>|<7C><><EFBFBD><EFBFBD><00>8G<00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>/V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>!V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>'V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>&V<00>|<7C><><EFBFBD><EFBFBD><00>8G<00><00>%V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>t1<00>t<00><00><00><00>)<=<00><00><00><00>Function call "SolveRotationalForcesAndVelocity" is deprecated. No recommendation was provided. - Node: Solve Rotational Forces and Velocity - <00><00><00><00>M<00>4:W<>lHF<48>%<25><>Qhy<68>;<00>M<00>5<00><00><00>M<00>)>?<00><00>K9<00>K<00><00><00><00><00><00>Zl<00>Z l<00><00>b<00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>W<00>ZX<00><00><00><00> Shell_Eject<00><00><00><00><00>\l<00>\ l<00><00>b<00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>W<00>\X<00><00><00><00> Shell_Eject<00>a/<00>a<00><00><00><00><00>Zl<00>Zd<00> Shell_Ejecte<00>j<00>V
 <00><00> <00>n<00> <00>W<00> <00>\5<00>\<00><00>]5<00>]<00><00>4<00><00><00><00>d5<00>d<00><00>v<00><00><00>m<00>M<00><><19>5<EFBFBD>"׋^)<29>D<EFBFBD> <1C>)<00><00>Mo<00>CPUSimExperimentalVMDisabledFailIfNotSetMessageSeverity: 3Shell_Eject.InterpolatedSpawn5<00><00><00>D4#4(4<4<00>A<00><00>G<00>qQ<00>/<x<><78><EFBFBD><EFBFBD><EFBFBD>[<5B><><06>q<EFBFBD>T<00><00>T<00><00><00><00>G <0B><<3C><><EFBFBD>~<7E>\B<>@<40><10><>B<EFBFBD><42><EFBFBD><00>G<18>+(<28><>==<3D>r<EFBFBD> <13><>:1<>ع<EFBFBD><00>G ͍<><CD8D><01>E73k<33><6B>ͫ<EFBFBD><CDAB>v<12><00>G(<28><><EFBFBD>e<02>)v`<60>Ar!<21><>,}p<><70><00>G-C` <0A><><EFBFBD>L<13>u<x<1D>W'<27><<3C><00>G9} <>M<EFBFBD>%
<EFBFBD>ܡo><3E><><00>GA.<2E><>/<1A>y<EFBFBD><79><EFBFBD>ac<61>ـ<EFBFBD><D980><EFBFBD><00>GZb<5A>!G<><47>ʬ<><CAAC><EFBFBD><EFBFBD><EFBFBD>.<2E>b<EFBFBD><62><EFBFBD><00>Gy<>-m0$(<28>D.U<>Sd<53>AqN<71><4E><00>G<00><00>O7<4F><37><EFBFBD><EFBFBD>_i<><69><03>ވ<EFBFBD><DE88><00>G<00>!<21><><EFBFBD><EFBFBD>m<EFBFBD><6D>LNy
(t=$<24><><00>G<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>N<EFBFBD>S<03><02>$y<>Q<EFBFBD>7<EFBFBD><00>G<00>%Y<>F|<7C><><18> `<60><>><3E>S<EFBFBD><53><00>G<00><><EFBFBD><EFBFBD><EFBFBD>}C<><43>T<EFBFBD>g<EFBFBD><67><EFBFBD><EFBFBD>|<7C><><EFBFBD><00>Gî<><C3AE>87{<7B>=1<14><>s<EFBFBD>)<29>hi<68><00>G<00><>-><07>6W"<22>b<EFBFBD><62>5<EFBFBD><35><EFBFBD><EFBFBD><EFBFBD><00>Gزe<D8B2>Z2(`ge<67>`<60><><EFBFBD><EFBFBD>m<EFBFBD>C<EFBFBD><43><00>G<00>9<EFBFBD><39>^kK 2U<32><55><EFBFBD>`<18><><EFBFBD> <09><00><00>M<00><00>)  L<00><00>%55<00><00><00><00>J<00><00><00><><EFBFBD><EFBFBD>Jl4<>c<EFBFBD><63><00><00><00><><EFBFBD><EFBFBD>Jl<00>(<28><><00><00><00><><EFBFBD><EFBFBD>JlƐ<><C690><EFBFBD><00><00><00><><EFBFBD><EFBFBD>Jl<><E7A09A><00><00><00><><EFBFBD><EFBFBD>Jl)b<><01><00><00>T<00>R<00>4<00><00><00>hdNiagaraScript /Game/Effects/Particles/Footsteps/NewNiagaraSystem.NewNiagaraSystem:SystemSpawnScript<00><00><00><00><00>V<00>|<7C><><EFBFBD><EFBFBD><00>8G<00><00>܆<><DC86><EFBFBD>0jD<6A> <20>Q$<24><>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>4<05><>D<EFBFBD>C<EFBFBD><43>F<EFBFBD><46><EFBFBD><EFBFBD>CqV<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><02><>t<EFBFBD>b<EFBFBD>@<40><>E<EFBFBD><45>g4<67><34>M<00><00><00>m<00>M<00><><19>5<EFBFBD>"׋^)<29>D<EFBFBD> <1C>)o<00>CPUSimExperimentalVMDisabledFailIfNotSetMessageSeverity: 3Shell_Eject.InterpolatedSpawnD4#4<00>A<00><00>G<00>qQ<00>/<x<><78><EFBFBD><EFBFBD><EFBFBD>[<5B><><06>q<EFBFBD>T<00><00>T<00><00><00><00>G <0B><<3C><><EFBFBD>~<7E>\B<>@<40><10><>B<EFBFBD><42><EFBFBD><00>G<18>+(<28><>==<3D>r<EFBFBD> <13><>:1<>ع<EFBFBD><00>G ͍<><CD8D><01>E73k<33><6B>ͫ<EFBFBD><CDAB>v<12><00>G(<28><><EFBFBD>e<02>)v`<60>Ar!<21><>,}p<><70><00>G-C` <0A><><EFBFBD>L<13>u<x<1D>W'<27><<3C><00>G9} <>M<EFBFBD>%
<EFBFBD>ܡo><3E><><00>GA.<2E><>/<1A>y<EFBFBD><79><EFBFBD>ac<61>ـ<EFBFBD><D980><EFBFBD><00>GZb<5A>!G<><47>ʬ<><CAAC><EFBFBD><EFBFBD><EFBFBD>.<2E>b<EFBFBD><62><EFBFBD><00>Gy<>-m0$(<28>D.U<>Sd<53>AqN<71><4E><00>G<00><00>O7<4F><37><EFBFBD><EFBFBD>_i<><69><03>ވ<EFBFBD><DE88><00>G<00>!<21><><EFBFBD><EFBFBD>m<EFBFBD><6D>LNy
(t=$<24><><00>G<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>N<EFBFBD>S<03><02>$y<>Q<EFBFBD>7<EFBFBD><00>G<00>%Y<>F|<7C><><18> `<60><>><3E>S<EFBFBD><53><00>G<00><><EFBFBD><EFBFBD><EFBFBD>}C<><43>T<EFBFBD>g<EFBFBD><67><EFBFBD><EFBFBD>|<7C><><EFBFBD><00>Gî<><C3AE>87{<7B>=1<14><>s<EFBFBD>)<29>hi<68><00>G<00><>-><07>6W"<22>b<EFBFBD><62>5<EFBFBD><35><EFBFBD><EFBFBD><EFBFBD><00>Gزe<D8B2>Z2(`ge<67>`<60><><EFBFBD><EFBFBD>m<EFBFBD>C<EFBFBD><43><00>G<00>9<EFBFBD><39>^kK 2U<32><55><EFBFBD>`<18><><EFBFBD> <09><00>L<00><00>D<00>F<00>H<00><00>G[$V(T S,S,S,S,T0T0T0S,S,S,T0S,S,T0S, T4T4S,
S, T0T0 T0
S, S, S,T4 \<00><00>l <00><00><00> <00><00> <00>r<00><00>V<00><><7F><EFBFBD><EFBFBD><00>8G<00><00><00>k<00><00><00> o<00> <00>:<00>jV<00><><7F><EFBFBD><EFBFBD><00>8G<00><00>jV<00><><7F><EFBFBD><EFBFBD><00>8G<00><00><00><><EFBFBD><EFBFBD>jV<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>jV<00><><7F><EFBFBD><EFBFBD><00>8G<00><00>jV<00><><7F><EFBFBD><EFBFBD><00>8G<00><00><00>%
<00><00><00> <00><00>V<00><><7F><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><><7F><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>V<00>{<7B><><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><><7F><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00><00><00><00><00><00> <00> <00>J<00><00>V<00><><7F><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><><7F><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><><7F><EFBFBD><EFBFBD><00>8G<00><00><00><00>]<00><00><00>(<00>B<00><00>A<00><00><00>B<00><00>A<00><00><00>B<00><00>A<00><00><00>B<00><00>A<00><00><00>w<00>,*(*// Shader generated by Niagara HLSL Translator
// Compile Data> PinToConstantValues Input:
// Pin: /Emitter Shell_Eject Spawn/Add Rotational Velocity/Map Set/Map Set->Particles.RotationalVelocityEnabled Value: true
// Pin: /Emitter Shell_Eject Spawn/Solve Forces and Velocity/Map Get/Map Get->Particles.RotationalVelocityEnabled Value: Particles.RotationalVelocityEnabled
// Pin: /Emitter Shell_Eject Spawn/Solve Forces and Velocity/Map Get/Map Get->Module.Manually Enable Rotational Solver Value: false
// Pin: /Emitter Shell_Eject Spawn/Solve Forces and Velocity/Logic OR (Static)/Logic OR (Static)->Result Value: 0
// Pin: /Emitter Shell_Eject Spawn/Solve Forces and Velocity/Reroute Node/Reroute Node->InputPin Value: 0
// Pin: /Emitter Shell_Eject Spawn/Solve Forces and Velocity/Reroute Node/Reroute Node->OutputPin Value: 0
// Pin: /Emitter Shell_Eject Spawn/Solve Forces and Velocity/Reroute Node/Reroute Node->InputPin Value: 0
// Pin: /Emitter Shell_Eject Spawn/Solve Forces and Velocity/Reroute Node/Reroute Node->OutputPin Value: 0
// Pin: /Emitter Shell_Eject Update/Add Rotational Velocity/Map Set/Map Set->Particles.RotationalVelocityEnabled Value: true
// Pin: /Emitter Shell_Eject Update/Solve Forces and Velocity/Map Get/Map Get->Particles.RotationalVelocityEnabled Value: Particles.RotationalVelocityEnabled
// Pin: /Emitter Shell_Eject Update/Solve Forces and Velocity/Map Get/Map Get->Module.Manually Enable Rotational Solver Value: false
// Pin: /Emitter Shell_Eject Update/Solve Forces and Velocity/Logic OR (Static)/Logic OR (Static)->Result Value: 0
// Pin: /Emitter Shell_Eject Update/Solve Forces and Velocity/Reroute Node/Reroute Node->InputPin Value: 0
// Pin: /Emitter Shell_Eject Update/Solve Forces and Velocity/Reroute Node/Reroute Node->OutputPin Value: 0
// Pin: /Emitter Shell_Eject Update/Solve Forces and Velocity/Reroute Node/Reroute Node->InputPin Value: 0
// Pin: /Emitter Shell_Eject Update/Solve Forces and Velocity/Reroute Node/Reroute Node->OutputPin Value: 0
struct NiagaraSpawnInfo
{
int Count;
float InterpStartDt;
float IntervalDt;
int SpawnGroup;
};
struct NiagaraID
{
int Index;
int AcquireTag;
};
cbuffer FNiagaraGlobalParameters
{
float Engine_WorldDeltaTime;
float Engine_DeltaTime;
float Engine_InverseDeltaTime;
float Engine_Time;
float Engine_RealTime;
int Engine_QualityLevel;
int Engine_PaddingInt32_0;
int Engine_PaddingInt32_1;
}
cbuffer FNiagaraSystemParameters
{
}
cbuffer FNiagaraOwnerParameters
{
}
cbuffer FNiagaraEmitterParameters
{
}
cbuffer FNiagaraExternalParameters
{
int Emitter_RandomSeed;
}
struct FParamMap0_System
{
float Age;
bool bCompleteOnInactive;
bool CachedTrigger;
float CurrentLoopDelay;
float CurrentLoopDuration;
int ExecutionState;
int ExecutionStateSource;
int LoopCount;
float LoopedAge;
float NormalizedLoopAge;
float TimeSinceFire;
bool Trigger;
};
struct FParamMap0_Shell_Eject_SpawnPerFrame
{
NiagaraSpawnInfo SpawnBurst;
};
struct FParamMap0_Shell_Eject_Scalability
{
float DistanceFraction;
};
struct FParamMap0_Shell_Eject
{
float Age;
float CurrentLoopDelay;
float CurrentLoopDuration;
float DistanceTraveled;
int ExecutionState;
int ExecutionStateSource;
int LoopCount;
float LoopedAge;
float NormalizedLoopAge;
FParamMap0_Shell_Eject_Scalability Scalability;
FParamMap0_Shell_Eject_SpawnPerFrame SpawnPerFrame;
};
struct FParamMap0_Engine_System
{
int RandomSeed;
};
struct FParamMap0_Engine_Emitter
{
int InstanceSeed;
int TotalSpawnedParticles;
};
struct FParamMap0_Engine
{
float DeltaTime;
FParamMap0_Engine_Emitter Emitter;
float InverseDeltaTime;
int PaddingInt32_0;
int PaddingInt32_1;
int QualityLevel;
float RealTime;
FParamMap0_Engine_System System;
float Time;
float WorldDeltaTime;
};
struct FParamMap0_Emitter
{
int RandomSeed;
};
struct FParamMap0
{
FParamMap0_Emitter Emitter;
FParamMap0_Engine Engine;
FParamMap0_Shell_Eject Shell_Eject;
FParamMap0_System System;
};
struct FSimulationContext
{
FParamMap0 Map;
};
static float HackSpawnInterp = 1.0;
void Shell_Eject_DE2E06E64C522272FA3783B0019BBB69_Func_(inout FSimulationContext Context);
float GetSpawnInterpolation();
void Shell_Eject_DE2E06E64C522272FA3783B0019BBB69_Func_(inout FSimulationContext Context)
{
}
float GetSpawnInterpolation()
{
return 1.0f;}
#if (SimulationStageIndex == 0) // MapSpawn
void HandlePreviousValuesForSpawn(inout FSimulationContext Context)
{
}
#endif
void ReadDataSets(inout FSimulationContext Context)
{
}
void WriteDataSets(inout FSimulationContext Context)
{
}
void Simulate(inout FSimulationContext Context)
{
EnterStatScope(0 /**SystemSpawnScript*/);
//Begin Initialize Parameter Map Defaults
float Constant = 0;
Context.Map.Shell_Eject.Age = Constant;
int Constant1 = 0;
Context.Map.Shell_Eject.ExecutionState = Constant1;
float Constant2 = 0;
Context.Map.System.Age = Constant2;
float Constant3 = 0;
Context.Map.System.LoopedAge = Constant3;
float Constant4 = 0;
Context.Map.System.NormalizedLoopAge = Constant4;
int Constant5 = 0;
Context.Map.System.LoopCount = Constant5;
float Constant6 = 0;
Context.Map.System.CurrentLoopDelay = Constant6;
float Constant7 = 0;
Context.Map.System.CurrentLoopDuration = Constant7;
float Constant8 = (0.0);
Context.Map.Shell_Eject.LoopedAge = Constant8;
float Constant9 = (0.0);
Context.Map.Shell_Eject.NormalizedLoopAge = Constant9;
int Constant10 = (0);
Context.Map.Shell_Eject.LoopCount = Constant10;
float Constant11 = (0.0);
Context.Map.Shell_Eject.CurrentLoopDelay = Constant11;
float Constant12 = (0.0);
Context.Map.Shell_Eject.CurrentLoopDuration = Constant12;
float Constant13 = (0.0);
Context.Map.Shell_Eject.Scalability.DistanceFraction = Constant13;
int Constant14 = 0;
Context.Map.System.ExecutionState = Constant14;
int Constant15 = 0;
Context.Map.System.ExecutionStateSource = Constant15;
int Constant16 = 0;
Context.Map.Shell_Eject.ExecutionStateSource = Constant16;
bool Constant17 = false;
Context.Map.System.bCompleteOnInactive = Constant17;
float Constant18 = 0;
Context.Map.Shell_Eject.DistanceTraveled = Constant18;
bool Constant19 = false;
Context.Map.System.Trigger = Constant19;
NiagaraSpawnInfo Constant20 = (NiagaraSpawnInfo)0;
Context.Map.Shell_Eject.SpawnPerFrame.SpawnBurst = Constant20;
bool Constant21 = false;
Context.Map.System.CachedTrigger = Constant21;
float Constant22 = 0;
Context.Map.System.TimeSinceFire = Constant22;
//End Initialize Parameter Map Defaults
EnterStatScope(1 /**Shell_Eject*/);
Shell_Eject_DE2E06E64C522272FA3783B0019BBB69_Func_(Context);
ExitStatScope(/**Shell_Eject*/);
// Begin HandleMissingDefaultValues
// End HandleMissingDefaultValues
ExitStatScope(/**SystemSpawnScript*/);
}
void SimulateMain()
{
EnterStatScope(2 /**SystemSpawnScript_Main*/);
FSimulationContext Context = (FSimulationContext)0;
Context.Map.Emitter.RandomSeed = 0;
Context.Map.Shell_Eject.Age = 0.0f;
Context.Map.Shell_Eject.CurrentLoopDelay = 0.0f;
Context.Map.Shell_Eject.CurrentLoopDuration = 0.0f;
Context.Map.Shell_Eject.DistanceTraveled = 0.0f;
Context.Map.Shell_Eject.ExecutionState = 0;
Context.Map.Shell_Eject.ExecutionStateSource = 0;
Context.Map.Shell_Eject.LoopCount = 0;
Context.Map.Shell_Eject.LoopedAge = 0.0f;
Context.Map.Shell_Eject.NormalizedLoopAge = 0.0f;
Context.Map.Shell_Eject.Scalability.DistanceFraction = 0.0f;
Context.Map.Shell_Eject.SpawnPerFrame.SpawnBurst.Count = 0;
Context.Map.Shell_Eject.SpawnPerFrame.SpawnBurst.InterpStartDt = 0.0f;
Context.Map.Shell_Eject.SpawnPerFrame.SpawnBurst.IntervalDt = 0.0f;
Context.Map.Shell_Eject.SpawnPerFrame.SpawnBurst.SpawnGroup = 0;
Context.Map.System.Age = 0.0f;
Context.Map.System.bCompleteOnInactive = false;
Context.Map.System.CachedTrigger = false;
Context.Map.System.CurrentLoopDelay = 0.0f;
Context.Map.System.CurrentLoopDuration = 0.0f;
Context.Map.System.ExecutionState = 0;
Context.Map.System.ExecutionStateSource = 0;
Context.Map.System.LoopCount = 0;
Context.Map.System.LoopedAge = 0.0f;
Context.Map.System.NormalizedLoopAge = 0.0f;
Context.Map.System.TimeSinceFire = 0.0f;
Context.Map.System.Trigger = false;
Context.Map.Engine.Emitter.InstanceSeed = InputDataInt(1, 0);
Context.Map.Engine.Emitter.TotalSpawnedParticles = InputDataInt(1, 1);
Context.Map.Engine.System.RandomSeed = InputDataInt(1, 2);
Context.Map.Emitter.RandomSeed = Emitter_RandomSeed;
ReadDataSets(Context);
EnterStatScope(3 /**SystemSpawnScript_MapMain*/);
Simulate(Context);
ExitStatScope(/**SystemSpawnScript_MapMain*/);
WriteDataSets(Context);
{
int TmpWriteIndex = OutputIndex(0, false, true);
OutputDataInt(0, 0, TmpWriteIndex, Context.Map.Emitter.RandomSeed);
OutputDataFloat(0, 0, TmpWriteIndex, Context.Map.Shell_Eject.Age);
OutputDataFloat(0, 1, TmpWriteIndex, Context.Map.Shell_Eject.CurrentLoopDelay);
OutputDataFloat(0, 2, TmpWriteIndex, Context.Map.Shell_Eject.CurrentLoopDuration);
OutputDataFloat(0, 3, TmpWriteIndex, Context.Map.Shell_Eject.DistanceTraveled);
OutputDataInt(0, 1, TmpWriteIndex, Context.Map.Shell_Eject.ExecutionState);
OutputDataInt(0, 2, TmpWriteIndex, Context.Map.Shell_Eject.ExecutionStateSource);
OutputDataInt(0, 3, TmpWriteIndex, Context.Map.Shell_Eject.LoopCount);
OutputDataFloat(0, 4, TmpWriteIndex, Context.Map.Shell_Eject.LoopedAge);
OutputDataFloat(0, 5, TmpWriteIndex, Context.Map.Shell_Eject.NormalizedLoopAge);
OutputDataFloat(0, 6, TmpWriteIndex, Context.Map.Shell_Eject.Scalability.DistanceFraction);
OutputDataInt(0, 4, TmpWriteIndex, Context.Map.Shell_Eject.SpawnPerFrame.SpawnBurst.Count);
OutputDataFloat(0, 7, TmpWriteIndex, Context.Map.Shell_Eject.SpawnPerFrame.SpawnBurst.InterpStartDt);
OutputDataFloat(0, 8, TmpWriteIndex, Context.Map.Shell_Eject.SpawnPerFrame.SpawnBurst.IntervalDt);
OutputDataInt(0, 5, TmpWriteIndex, Context.Map.Shell_Eject.SpawnPerFrame.SpawnBurst.SpawnGroup);
OutputDataFloat(0, 9, TmpWriteIndex, Context.Map.System.Age);
OutputDataBool(0, 6, TmpWriteIndex, Context.Map.System.bCompleteOnInactive);
OutputDataBool(0, 7, TmpWriteIndex, Context.Map.System.CachedTrigger);
OutputDataFloat(0, 10, TmpWriteIndex, Context.Map.System.CurrentLoopDelay);
OutputDataFloat(0, 11, TmpWriteIndex, Context.Map.System.CurrentLoopDuration);
OutputDataInt(0, 8, TmpWriteIndex, Context.Map.System.ExecutionState);
OutputDataInt(0, 9, TmpWriteIndex, Context.Map.System.ExecutionStateSource);
OutputDataInt(0, 10, TmpWriteIndex, Context.Map.System.LoopCount);
OutputDataFloat(0, 12, TmpWriteIndex, Context.Map.System.LoopedAge);
OutputDataFloat(0, 13, TmpWriteIndex, Context.Map.System.NormalizedLoopAge);
OutputDataFloat(0, 14, TmpWriteIndex, Context.Map.System.TimeSinceFire);
OutputDataBool(0, 11, TmpWriteIndex, Context.Map.System.Trigger);
}
ExitStatScope(/**SystemSpawnScript_Main*/);
}
q<00>=9
-------------------------------
Summary
-------------------------------
Num Byte Code Ops: 30
Num Constants: 14
-------------------------------
Constant Table
-------------------------------
0 | Engine_WorldDeltaTime
4 | Engine_DeltaTime
8 | Engine_InverseDeltaTime
12 | Engine_Time
16 | Engine_RealTime
20 | Engine_QualityLevel
24 | Engine_PaddingInt32_0
28 | Engine_PaddingInt32_1
32 | Emitter_RandomSeed
36 | 2
40 | True
44 | 0
48 | 0
52 | False
-------------------------------
Byte Code (30 Ops)
-------------------------------
0 | enter_stat_scope(C[36]);
1 | [R][0] = AcquireIndex(0, [C][40]);
2 | OutputDataInt(0, 0, [R][0], [C][32]);
3 | OutputDataFloat(0, 0, [R][0], [C][44]);
4 | OutputDataFloat(0, 1, [R][0], [C][44]);
5 | OutputDataFloat(0, 2, [R][0], [C][44]);
6 | OutputDataFloat(0, 3, [R][0], [C][44]);
7 | OutputDataInt(0, 1, [R][0], [C][48]);
8 | OutputDataInt(0, 2, [R][0], [C][48]);
9 | OutputDataInt(0, 3, [R][0], [C][48]);
10 | OutputDataFloat(0, 4, [R][0], [C][44]);
11 | OutputDataFloat(0, 5, [R][0], [C][44]);
12 | OutputDataFloat(0, 6, [R][0], [C][44]);
13 | OutputDataInt(0, 4, [R][0], [C][48]);
14 | OutputDataFloat(0, 7, [R][0], [C][44]);
15 | OutputDataFloat(0, 8, [R][0], [C][44]);
16 | OutputDataInt(0, 5, [R][0], [C][48]);
17 | OutputDataFloat(0, 9, [R][0], [C][44]);
18 | OutputDataInt(0, 6, [R][0], [C][52]);
19 | OutputDataInt(0, 7, [R][0], [C][52]);
20 | OutputDataFloat(0, 10, [R][0], [C][44]);
21 | OutputDataFloat(0, 11, [R][0], [C][44]);
22 | OutputDataInt(0, 8, [R][0], [C][48]);
23 | OutputDataInt(0, 9, [R][0], [C][48]);
24 | OutputDataInt(0, 10, [R][0], [C][48]);
25 | OutputDataFloat(0, 12, [R][0], [C][44]);
26 | OutputDataFloat(0, 13, [R][0], [C][44]);
27 | OutputDataFloat(0, 14, [R][0], [C][44]);
28 | OutputDataInt(0, 11, [R][0], [C][52]);
29 | exit_stat_scope();
-------------------------------
x<00>u)<00><00><00>)4<00>My<><1B>䍵E<E48DB5> @V<><1F><><00><00><00><00> <00><00><00><00>l<00>l#<00>My<><1B>䍵E<E48DB5> @V<><1F><>04<00><00> <00><00>l<00>R<00> <00>?4J<00>]5<00>]<00><00>!4<00><00> <00><00><00>B4<00>) K<00><00><00>%55<00><00><00><00>$42<00> <00><00><00> <00>z)<00>)
 <00><00> <00>n<00> <00>W<00> <00>\5<00>\<00><00>]5<00>]<00><00>4<00><00><00><00>d5<00>d<00><00>v<00><00><00>m<00>M<00><><19>5<EFBFBD>"׋^)<29>D<EFBFBD> <1C>)<00><00>Mo<00>CPUSimExperimentalVMDisabledFailIfNotSetMessageSeverity: 3Shell_Eject.InterpolatedSpawn5<00><00><00>D4#4(4<4<00>A<00><00>G9} <>M<EFBFBD>%
<EFBFBD>ܡo><3E><>T<00>T<00><00><00><00>G <0B><<3C><><EFBFBD>~<7E>\B<>@<40><10><>B<EFBFBD><42><EFBFBD><00>G<18>+(<28><>==<3D>r<EFBFBD> <13><>:1<>ع<EFBFBD><00>G ͍<><CD8D><01>E73k<33><6B>ͫ<EFBFBD><CDAB>v<12><00>G(<28><><EFBFBD>e<02>)v`<60>Ar!<21><>,}p<><70><00>G-C` <0A><><EFBFBD>L<13>u<x<1D>W'<27><<3C><00>GA.<2E><>/<1A>y<EFBFBD><79><EFBFBD>ac<61>ـ<EFBFBD><D980><EFBFBD><00>GZb<5A>!G<><47>ʬ<><CAAC><EFBFBD><EFBFBD><EFBFBD>.<2E>b<EFBFBD><62><EFBFBD><00>GZ<><5A><EFBFBD>8<EFBFBD>4<EFBFBD><34>0<EFBFBD>B<EFBFBD>|<7C><><EFBFBD>g<EFBFBD>s<EFBFBD><00>Gy<>-m0$(<28>D.U<>Sd<53>AqN<71><4E><00>G<00><00>O7<4F><37><EFBFBD><EFBFBD>_i<><69><03>ވ<EFBFBD><DE88><00>G<00>!<21><><EFBFBD><EFBFBD>m<EFBFBD><6D>LNy
(t=$<24><><00>G<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>N<EFBFBD>S<03><02>$y<>Q<EFBFBD>7<EFBFBD><00>G<00>%Y<>F|<7C><><18> `<60><>><3E>S<EFBFBD><53><00>G<00><><EFBFBD><EFBFBD><EFBFBD>}C<><43>T<EFBFBD>g<EFBFBD><67><EFBFBD><EFBFBD>|<7C><><EFBFBD><00>Gî<><C3AE>87{<7B>=1<14><>s<EFBFBD>)<29>hi<68><00>G<00><>-><07>6W"<22>b<EFBFBD><62>5<EFBFBD><35><EFBFBD><EFBFBD><EFBFBD><00>Gزe<D8B2>Z2(`ge<67>`<60><><EFBFBD><EFBFBD>m<EFBFBD>C<EFBFBD><43><00>G<00>9<EFBFBD><39>^kK 2U<32><55><EFBFBD>`<18><><EFBFBD> <09><00>G<00>qQ<00>/<x<><78><EFBFBD><EFBFBD><EFBFBD>[<5B><><06>q<EFBFBD><00><00>M<00><00>)  L<00><00>%55<00><00>=<00><00><00><00><00><><EFBFBD><EFBFBD>Jl4<>c<EFBFBD><63><00><00><00><><EFBFBD><EFBFBD>Jl<><E7A09A><00><00><00><><EFBFBD><EFBFBD>Jl<00>(<28><><00><00><00><><EFBFBD><EFBFBD>JlƐ<><C690><EFBFBD><00><00>T<00>R<00><00> <00><00><00><00><00><00>r<00>pV<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>qV<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><><7F><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00> <00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><><7F><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><><7F><EFBFBD><EFBFBD><00>8G<00><00> <00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>$<00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>(<00>V<00><><7F><EFBFBD><EFBFBD><00>8G<00><00>,<00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>0<00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>4<00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>8@G<<00><>L><00>@<00>?@<40>E<00>?<00>?<00>?<00>@<40><00>ieNiagaraScript /Game/Effects/Particles/Footsteps/NewNiagaraSystem.NewNiagaraSystem:SystemUpdateScript<00><00><00><00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>&<26>
<EFBFBD>.<2E>H<EFBFBD><48> <0A>^H<>r<EFBFBD>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><02><><EFBFBD>X<EFBFBD>:E<><45>7(\<11><>pV<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00> '  <0A>O<EFBFBD><4F><EFBFBD><EFBFBD><EFBFBD>x1<78><31>V<00>|<7C><><EFBFBD><EFBFBD><00>8G<00><00>8<>t<EFBFBD><74>X<EFBFBD>I<EFBFBD><49>P1<50><10><><EFBFBD>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>c <09><>[I<>79<37><39>0TČV<00>|<7C><><EFBFBD><EFBFBD><00>8G<00><00>܆<><DC86><EFBFBD>0jD<6A> <20>Q$<24><>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>4<05><>D<EFBFBD>C<EFBFBD><43>F<EFBFBD><46><EFBFBD><EFBFBD>CqV<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><02><>t<EFBFBD>b<EFBFBD>@<40><>E<EFBFBD><45>g4<67><34>M<00><00><00>m<00>M<00><><19>5<EFBFBD>"׋^)<29>D<EFBFBD> <1C>)o<00>CPUSimExperimentalVMDisabledFailIfNotSetMessageSeverity: 3Shell_Eject.InterpolatedSpawnD4#4<00>A<00><00>G9} <>M<EFBFBD>%
<EFBFBD>ܡo><3E><>T<00>T<00><00><00><00>G <0B><<3C><><EFBFBD>~<7E>\B<>@<40><10><>B<EFBFBD><42><EFBFBD><00>G<18>+(<28><>==<3D>r<EFBFBD> <13><>:1<>ع<EFBFBD><00>G ͍<><CD8D><01>E73k<33><6B>ͫ<EFBFBD><CDAB>v<12><00>G(<28><><EFBFBD>e<02>)v`<60>Ar!<21><>,}p<><70><00>G-C` <0A><><EFBFBD>L<13>u<x<1D>W'<27><<3C><00>GA.<2E><>/<1A>y<EFBFBD><79><EFBFBD>ac<61>ـ<EFBFBD><D980><EFBFBD><00>GZb<5A>!G<><47>ʬ<><CAAC><EFBFBD><EFBFBD><EFBFBD>.<2E>b<EFBFBD><62><EFBFBD><00>GZ<><5A><EFBFBD>8<EFBFBD>4<EFBFBD><34>0<EFBFBD>B<EFBFBD>|<7C><><EFBFBD>g<EFBFBD>s<EFBFBD><00>Gy<>-m0$(<28>D.U<>Sd<53>AqN<71><4E><00>G<00><00>O7<4F><37><EFBFBD><EFBFBD>_i<><69><03>ވ<EFBFBD><DE88><00>G<00>!<21><><EFBFBD><EFBFBD>m<EFBFBD><6D>LNy
(t=$<24><><00>G<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>N<EFBFBD>S<03><02>$y<>Q<EFBFBD>7<EFBFBD><00>G<00>%Y<>F|<7C><><18> `<60><>><3E>S<EFBFBD><53><00>G<00><><EFBFBD><EFBFBD><EFBFBD>}C<><43>T<EFBFBD>g<EFBFBD><67><EFBFBD><EFBFBD>|<7C><><EFBFBD><00>Gî<><C3AE>87{<7B>=1<14><>s<EFBFBD>)<29>hi<68><00>G<00><>-><07>6W"<22>b<EFBFBD><62>5<EFBFBD><35><EFBFBD><EFBFBD><EFBFBD><00>Gزe<D8B2>Z2(`ge<67>`<60><><EFBFBD><EFBFBD>m<EFBFBD>C<EFBFBD><43><00>G<00>9<EFBFBD><39>^kK 2U<32><55><EFBFBD>`<18><><EFBFBD> <09><00>G<00>qQ<00>/<x<><78><EFBFBD><EFBFBD><EFBFBD>[<5B><><06>q<EFBFBD><00>L<00>W<><00>F<00>@<00><00>G[$MNNM NM
M NN N
M
M N M MMMN[([,[0)4+8

G
2,
H
,
 9
,+
+
8,+,+,<,<,C8<C+<+<< ,8@C+ +@\[@< L ;,+ 4'8 80C +< +0\[<[D 4H;, <<<DCC 8 C ; @ ;0;@DC L ; ,+ 0 + +< ,<, C <<<D C C80 C +0+0 < ,;@C<<<DCC8 0C+0+0 <, <<<DCC 8< C +< +< L\[P+ 0,+ 4+ 44+ ,,\\\\VTT S SS
ST TTSSSTSSTS TXTS
S
T T T
S S ST \<00><00>l <00><00><00> <00><00> <00>r<00><00>V<00><><7F><EFBFBD><EFBFBD><00>8G<00><00><00>k<00><00><00> q<00> <00><<00>jV<00><><7F><EFBFBD><EFBFBD><00>8G<00><00>jV<00><><7F><EFBFBD><EFBFBD><00>8G<00><00>jV<00><><7F><EFBFBD><EFBFBD><00>8G<00><00>jV<00><><7F><EFBFBD><EFBFBD><00>8G<00><00>jV<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>jV<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>@jV<00><><7F><EFBFBD><EFBFBD><00>8G<00><00>jV<00><><7F><EFBFBD><EFBFBD><00>8G<00><00>jV<00><><7F><EFBFBD><EFBFBD><00>8G<00><00>j V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>G<03>?j
V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00> <20><>Lj V<00><><7F><EFBFBD><EFBFBD><00>8G<00><00>j V<00><><7F><EFBFBD><EFBFBD><00>8G<00><00><00><><EFBFBD><EFBFBD>j V<00><><7F><EFBFBD><EFBFBD><00>8G<00><00><00><00><00><00><00><00>pV<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00><>L>qV<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>@<40>V<00><><7F><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>?<3F>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00>@<40>E<EFBFBD>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><><7F><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><><7F><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>?<3F>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>?<3F>V<00><><7F><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>?<3F>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>@%
<00><00><00> <00><00>V<00><><7F><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><><7F><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>V<00>{<7B><><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><><7F><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00><00>d<00><00><00> +<00> <00><00><00><00>V<00><><7F><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><><7F><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00> <00>V<00><><7F><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><><7F><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><><7F><EFBFBD><EFBFBD><00>8G<00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00><00><00><00><00><00>P<00>B<00><00>A<00><00><00>B<00><00>A<00><00><00>B<00><00>A<00><00><00>B<00>
// Compile Data> PinToConstantValues Input:
// Pin: /Emitter Shell_Eject Spawn/Add Rotational Velocity/Map Set/Map Set->Particles.RotationalVelocityEnabled Value: true
// Pin: /Emitter Shell_Eject Spawn/Solve Forces and Velocity/Map Get/Map Get->Particles.RotationalVelocityEnabled Value: Particles.RotationalVelocityEnabled
// Pin: /Emitter Shell_Eject Spawn/Solve Forces and Velocity/Map Get/Map Get->Module.Manually Enable Rotational Solver Value: false
// Pin: /Emitter Shell_Eject Spawn/Solve Forces and Velocity/Logic OR (Static)/Logic OR (Static)->Result Value: 0
// Pin: /Emitter Shell_Eject Spawn/Solve Forces and Velocity/Reroute Node/Reroute Node->InputPin Value: 0
// Pin: /Emitter Shell_Eject Spawn/Solve Forces and Velocity/Reroute Node/Reroute Node->OutputPin Value: 0
// Pin: /Emitter Shell_Eject Spawn/Solve Forces and Velocity/Reroute Node/Reroute Node->InputPin Value: 0
// Pin: /Emitter Shell_Eject Spawn/Solve Forces and Velocity/Reroute Node/Reroute Node->OutputPin Value: 0
// Pin: /Emitter Shell_Eject Update/Add Rotational Velocity/Map Set/Map Set->Particles.RotationalVelocityEnabled Value: true
// Pin: /Emitter Shell_Eject Update/Solve Forces and Velocity/Map Get/Map Get->Particles.RotationalVelocityEnabled Value: Particles.RotationalVelocityEnabled
// Pin: /Emitter Shell_Eject Update/Solve Forces and Velocity/Map Get/Map Get->Module.Manually Enable Rotational Solver Value: false
// Pin: /Emitter Shell_Eject Update/Solve Forces and Velocity/Logic OR (Static)/Logic OR (Static)->Result Value: 0
// Pin: /Emitter Shell_Eject Update/Solve Forces and Velocity/Reroute Node/Reroute Node->InputPin Value: 0
// Pin: /Emitter Shell_Eject Update/Solve Forces and Velocity/Reroute Node/Reroute Node->OutputPin Value: 0
// Pin: /Emitter Shell_Eject Update/Solve Forces and Velocity/Reroute Node/Reroute Node->InputPin Value: 0
// Pin: /Emitter Shell_Eject Update/Solve Forces and Velocity/Reroute Node/Reroute Node->OutputPin Value: 0
struct NiagaraSpawnInfo
{
int Count;
float InterpStartDt;
float IntervalDt;
int SpawnGroup;
};
struct NiagaraID
{
int Index;
int AcquireTag;
};
cbuffer FNiagaraGlobalParameters
{
float Engine_WorldDeltaTime;
float Engine_DeltaTime;
float Engine_InverseDeltaTime;
float Engine_Time;
float Engine_RealTime;
int Engine_QualityLevel;
int Engine_PaddingInt32_0;
int Engine_PaddingInt32_1;
}
cbuffer FNiagaraSystemParameters
{
}
cbuffer FNiagaraOwnerParameters
{
}
cbuffer FNiagaraEmitterParameters
{
}
cbuffer FNiagaraExternalParameters
{
int Emitter_RandomSeed;
}
struct FParamMap0_User
{
bool Trigger;
};
struct FParamMap0_Transient
{
bool FirstFrame;
int ScalabilityEmitterExecutionState;
float ScalabilityEmitterSpawnCountScale;
int ScalabilityExecutionState;
bool SpawningbCanEverSpawn;
};
struct FParamMap0_SystemState
{
float LoopDelay;
bool RecalculateDurationEachLoop;
};
struct FParamMap0_System
{
float Age;
bool bCompleteOnInactive;
bool CachedTrigger;
float CurrentLoopDelay;
float CurrentLoopDuration;
int ExecutionState;
int ExecutionStateSource;
int LoopCount;
float LoopedAge;
float NormalizedLoopAge;
float TimeSinceFire;
bool Trigger;
};
struct FParamMap0_SpawnPerFrame
{
bool Spawn;
};
struct FParamMap0_Shell_Eject_SpawnPerFrame
{
NiagaraSpawnInfo SpawnBurst;
};
struct FParamMap0_Shell_Eject_Scalability
{
float DistanceFraction;
};
struct FParamMap0_Shell_Eject
{
float Age;
float CurrentLoopDelay;
float CurrentLoopDuration;
float DistanceTraveled;
int ExecutionState;
int ExecutionStateSource;
int LoopCount;
float LoopedAge;
float NormalizedLoopAge;
FParamMap0_Shell_Eject_Scalability Scalability;
FParamMap0_Shell_Eject_SpawnPerFrame SpawnPerFrame;
};
struct FParamMap0_NM_WeaponTrigger
{
bool Trigger;
};
struct FParamMap0_Local_SystemState
{
bool LoopCountIncreased;
};
struct FParamMap0_Local_EmitterState
{
bool NoActiveEmitterParticles;
int PreviousEmitterState;
};
struct FParamMap0_Local
{
FParamMap0_Local_EmitterState EmitterState;
FParamMap0_Local_SystemState SystemState;
};
struct FParamMap0_Engine_System
{
int NumEmittersAlive;
int RandomSeed;
};
struct FParamMap0_Engine_Shell_Eject
{
int NumParticles;
};
struct FParamMap0_Engine_Owner
{
int ExecutionState;
float LODDistanceFraction;
float3 Velocity;
};
struct FParamMap0_Engine_Emitter
{
int InstanceSeed;
int TotalSpawnedParticles;
};
struct FParamMap0_Engine
{
float DeltaTime;
FParamMap0_Engine_Emitter Emitter;
float InverseDeltaTime;
FParamMap0_Engine_Owner Owner;
int PaddingInt32_0;
int PaddingInt32_1;
int QualityLevel;
float RealTime;
FParamMap0_Engine_Shell_Eject Shell_Eject;
FParamMap0_Engine_System System;
float Time;
float WorldDeltaTime;
};
struct FParamMap0_EmitterState
{
float LoopDelay;
float LoopDuration;
bool RecalculateDurationEachLoop;
};
struct FParamMap0_Emitter
{
int RandomSeed;
};
struct FParamMap0
{
FParamMap0_Emitter Emitter;
FParamMap0_EmitterState EmitterState;
FParamMap0_Engine Engine;
FParamMap0_Local Local;
FParamMap0_NM_WeaponTrigger NM_WeaponTrigger;
FParamMap0_Shell_Eject Shell_Eject;
FParamMap0_SpawnPerFrame SpawnPerFrame;
FParamMap0_System System;
FParamMap0_SystemState SystemState;
FParamMap0_Transient Transient;
FParamMap0_User User;
};
struct FSimulationContext
{
FParamMap0 Map;
};
static float HackSpawnInterp = 1.0;
void SystemState_SystemChangeState002_Func_(int In_NewState, bool In_Condition, int In_NewStateSource, inout FSimulationContext Context);
void SystemState_SystemChangeState_Func_(int In_NewState, bool In_Condition, int In_NewStateSource, inout FSimulationContext Context);
void SystemState_SystemChangeState001_Func_(int In_NewState, bool In_Condition, int In_NewStateSource, inout FSimulationContext Context);
void SystemState_Func_(inout FSimulationContext Context);
void NM_WeaponTrigger_SystemChangeState002_Func_(int In_NewState, bool In_Condition, int In_NewStateSource, inout FSimulationContext Context);
void NM_WeaponTrigger_Func_(inout FSimulationContext Context);
void EmitterState_EmitterChangeState002_Shell_Eject_Func_(int In_NewState, bool In_Condition, int In_NewStateSource, inout FSimulationContext Context);
void EmitterState_EmitterChangeState006_Shell_Eject_Func_(int In_NewState, bool In_Condition, int In_NewStateSource, inout FSimulationContext Context);
void EmitterState_EmitterChangeState005_Shell_Eject_Func_(int In_NewState, bool In_Condition, int In_NewStateSource, inout FSimulationContext Context);
void EmitterState_EmitterChangeState004_Shell_Eject_Func_(int In_NewState, bool In_Condition, int In_NewStateSource, inout FSimulationContext Context);
void EmitterState_Shell_Eject_Func_(inout FSimulationContext Context);
void SpawnPerFrame_Shell_Eject_Func_(inout FSimulationContext Context);
void Shell_Eject_DE2E06E64C522272FA3783B0019BBB69_Func_(inout FSimulationContext Context);
float GetSpawnInterpolation();
void SystemState_SystemChangeState002_Func_(int In_NewState, bool In_Condition, int In_NewStateSource, inout FSimulationContext Context)
{
bool Result12 = NiagaraAll(Context.Map.System.ExecutionStateSource <= In_NewStateSource);
bool Result13 = In_Condition && Result12;
int ENiagaraExecutionState_IfResult;
int ENiagaraExecutionStateSource_IfResult;
if(Result13)
{
ENiagaraExecutionState_IfResult = In_NewState;
ENiagaraExecutionStateSource_IfResult = In_NewStateSource;
}
else
{
ENiagaraExecutionState_IfResult = Context.Map.System.ExecutionState;
ENiagaraExecutionStateSource_IfResult = Context.Map.System.ExecutionStateSource;
}
Context.Map.System.ExecutionState = ENiagaraExecutionState_IfResult;
Context.Map.System.ExecutionStateSource = ENiagaraExecutionStateSource_IfResult;
}
void SystemState_SystemChangeState_Func_(int In_NewState, bool In_Condition, int In_NewStateSource, inout FSimulationContext Context)
{
bool Result17 = NiagaraAll(Context.Map.System.ExecutionStateSource <= In_NewStateSource);
bool Result18 = In_Condition && Result17;
int ENiagaraExecutionState_IfResult1;
int ENiagaraExecutionStateSource_IfResult1;
if(Result18)
{
ENiagaraExecutionState_IfResult1 = In_NewState;
ENiagaraExecutionStateSource_IfResult1 = In_NewStateSource;
}
else
{
ENiagaraExecutionState_IfResult1 = Context.Map.System.ExecutionState;
ENiagaraExecutionStateSource_IfResult1 = Context.Map.System.ExecutionStateSource;
}
Context.Map.System.ExecutionState = ENiagaraExecutionState_IfResult1;
Context.Map.System.ExecutionStateSource = ENiagaraExecutionStateSource_IfResult1;
}
void SystemState_SystemChangeState001_Func_(int In_NewState, bool In_Condition, int In_NewStateSource, inout FSimulationContext Context)
{
bool Result20 = NiagaraAll(Context.Map.System.ExecutionStateSource <= In_NewStateSource);
bool Result21 = In_Condition && Result20;
int ENiagaraExecutionState_IfResult2;
int ENiagaraExecutionStateSource_IfResult2;
if(Result21)
{
ENiagaraExecutionState_IfResult2 = In_NewState;
ENiagaraExecutionStateSource_IfResult2 = In_NewStateSource;
}
else
{
ENiagaraExecutionState_IfResult2 = Context.Map.System.ExecutionState;
ENiagaraExecutionStateSource_IfResult2 = Context.Map.System.ExecutionStateSource;
}
Context.Map.System.ExecutionState = ENiagaraExecutionState_IfResult2;
Context.Map.System.ExecutionStateSource = ENiagaraExecutionStateSource_IfResult2;
}
void SystemState_Func_(inout FSimulationContext Context)
{
bool Result = NiagaraAll(Context.Map.System.Age <= Context.Map.Engine.DeltaTime);
Context.Map.Transient.FirstFrame = Result;
float Constant4 = 0;
float Constant5 = 0;
bool Result1 = NiagaraAll(Context.Map.System.Age == Constant5);
float Constant6 = 5;
float Constant7 = 0.016667;
float Result2 = max(Constant6, Constant7);
float Duration_IfResult;
if(Result1)
{
Duration_IfResult = Result2;
}
else
{
Duration_IfResult = Context.Map.System.CurrentLoopDuration;
}
float Constant8 = 0;
Context.Map.System.CurrentLoopDuration = Duration_IfResult;
Context.Map.SystemState.LoopDelay = Constant8;
float Result3 = Context.Map.System.Age + Context.Map.Engine.DeltaTime;
float Result4 = Context.Map.Engine.DeltaTime + Context.Map.System.LoopedAge;
float Result5 = Result4 / Context.Map.System.CurrentLoopDuration;
int Count;
Count = Result5;
int Constant9 = 0;
int Result6 = max(Count, Constant9);
float Result7 = Result6 * Context.Map.System.CurrentLoopDuration;
float Result8 = Result4 - Result7;
int Constant10 = 0;
bool Result9 = NiagaraAll(Result6 > Constant10);
int Result10 = Result6 + Context.Map.System.LoopCount;
Context.Map.System.Age = Result3;
Context.Map.System.LoopedAge = Result8;
Context.Map.Local.SystemState.LoopCountIncreased = Result9;
Context.Map.System.LoopCount = Result10;
float Constant11 = 5;
float float_IfResult;
if(Context.Map.SystemState.RecalculateDurationEachLoop)
{
float_IfResult = Constant11;
}
else
{
float_IfResult = Context.Map.System.CurrentLoopDuration;
}
float CurrentLoopDuration_IfResult;
float LoopedAge_IfResult;
if(Context.Map.Local.SystemState.LoopCountIncreased)
{
CurrentLoopDuration_IfResult = float_IfResult;
LoopedAge_IfResult = Context.Map.System.LoopedAge;
}
else
{
CurrentLoopDuration_IfResult = Context.Map.System.CurrentLoopDuration;
LoopedAge_IfResult = Context.Map.System.LoopedAge;
}
Context.Map.System.CurrentLoopDuration = CurrentLoopDuration_IfResult;
Context.Map.System.LoopedAge = LoopedAge_IfResult;
float Result11 = Context.Map.System.LoopedAge / Context.Map.System.CurrentLoopDuration;
Context.Map.System.NormalizedLoopAge = Result11;
bool Constant12 = true;
int Constant13 = 0;
SystemState_SystemChangeState002_Func_(Context.Map.Transient.ScalabilityExecutionState, Constant12, Constant13, Context);
int Constant14 = 3;
int Constant15 = 0;
bool Result14 = NiagaraAll(Context.Map.System.ExecutionState != Constant15);
int Constant16 = 0;
bool Result15 = NiagaraAll(Context.Map.System.ExecutionStateSource != Constant16);
bool Result16 = Result14 && Result15;
int Constant17 = 3;
SystemState_SystemChangeState_Func_(Constant14, Result16, Constant17, Context);
bool Constant18 = false;
Context.Map.System.bCompleteOnInactive = Constant18;
int Constant19 = 0;
bool Result19 = NiagaraAll(Context.Map.Engine.Owner.ExecutionState != Constant19);
int Constant20 = 2;
SystemState_SystemChangeState001_Func_(Context.Map.Engine.Owner.ExecutionState, Result19, Constant20, Context);
}
void NM_WeaponTrigger_SystemChangeState002_Func_(int In_NewState, bool In_Condition, int In_NewStateSource, inout FSimulationContext Context)
{
bool Result24 = NiagaraAll(Context.Map.System.ExecutionStateSource <= In_NewStateSource);
bool Result25 = In_Condition && Result24;
int ENiagaraExecutionState_IfResult3;
int ENiagaraExecutionStateSource_IfResult3;
if(Result25)
{
ENiagaraExecutionState_IfResult3 = In_NewState;
ENiagaraExecutionStateSource_IfResult3 = In_NewStateSource;
}
else
{
ENiagaraExecutionState_IfResult3 = Context.Map.System.ExecutionState;
ENiagaraExecutionStateSource_IfResult3 = Context.Map.System.ExecutionStateSource;
}
Context.Map.System.ExecutionState = ENiagaraExecutionState_IfResult3;
Context.Map.System.ExecutionStateSource = ENiagaraExecutionStateSource_IfResult3;
}
void NM_WeaponTrigger_Func_(inout FSimulationContext Context)
{
bool Result22 = NiagaraAll(Context.Map.NM_WeaponTrigger.Trigger != Context.Map.System.CachedTrigger);
Context.Map.System.CachedTrigger = Context.Map.NM_WeaponTrigger.Trigger;
Context.Map.System.Trigger = Result22;
float Constant22 = 0;
float Constant23 = (0.0);
float NiagaraFloat_SelectResult = Constant23;
NiagaraFloat_SelectResult = Constant22;
if(Context.Map.System.Trigger == 0)
{
NiagaraFloat_SelectResult = Context.Map.System.TimeSinceFire;
}
Context.Map.System.TimeSinceFire = NiagaraFloat_SelectResult;
int Constant24 = 3;
float Constant25 = 5;
bool Result23 = NiagaraAll(Context.Map.System.TimeSinceFire > Constant25);
int Constant26 = 1;
NM_WeaponTrigger_SystemChangeState002_Func_(Constant24, Result23, Constant26, Context);
float Result26 = Context.Map.System.TimeSinceFire + Context.Map.Engine.DeltaTime;
Context.Map.System.TimeSinceFire = Result26;
}
void EmitterState_EmitterChangeState002_Shell_Eject_Func_(int In_NewState, bool In_Condition, int In_NewStateSource, inout FSimulationContext Context)
{
int Constant35 = 3;
bool Result31 = NiagaraAll(Context.Map.Shell_Eject.ExecutionState != Constant35);
int Constant36 = 4;
bool Result32 = NiagaraAll(Context.Map.Shell_Eject.ExecutionState != Constant36);
bool Result33 = Result31 && Result32;
bool Result34 = In_Condition && Result33;
bool Result35 = NiagaraAll(Context.Map.Shell_Eject.ExecutionStateSource <= In_NewStateSource);
bool Result36 = Result34 && Result35;
int Constant37 = 2;
bool Result37 = NiagaraAll(In_NewState == Constant37);
int Constant38 = 1;
bool Result38 = NiagaraAll(Context.Map.Shell_Eject.ExecutionState == Constant38);
int Constant39 = 2;
bool Result39 = NiagaraAll(Context.Map.Shell_Eject.ExecutionState == Constant39);
bool Result40 = Result38 || Result39;
bool Result41 = Result37 && Result40;
int Constant40 = 1;
int Constant41 = (int)0;
int ENiagaraExecutionState_SelectResult1 = Constant41;
ENiagaraExecutionState_SelectResult1 = Constant40;
if(Result41 == 0)
{
ENiagaraExecutionState_SelectResult1 = In_NewState;
}
int ENiagaraExecutionState_IfResult4;
int ENiagaraExecutionStateSource_IfResult4;
if(Result36)
{
ENiagaraExecutionState_IfResult4 = ENiagaraExecutionState_SelectResult1;
ENiagaraExecutionStateSource_IfResult4 = In_NewStateSource;
}
else
{
ENiagaraExecutionState_IfResult4 = Context.Map.Shell_Eject.ExecutionState;
ENiagaraExecutionStateSource_IfResult4 = Context.Map.Shell_Eject.ExecutionStateSource;
}
Context.Map.Shell_Eject.ExecutionState = ENiagaraExecutionState_IfResult4;
Context.Map.Shell_Eject.ExecutionStateSource = ENiagaraExecutionStateSource_IfResult4;
}
void EmitterState_EmitterChangeState006_Shell_Eject_Func_(int In_NewState, bool In_Condition, int In_NewStateSource, inout FSimulationContext Context)
{
int Constant46 = 3;
bool Result45 = NiagaraAll(Context.Map.Shell_Eject.ExecutionState != Constant46);
int Constant47 = 4;
bool Result46 = NiagaraAll(Context.Map.Shell_Eject.ExecutionState != Constant47);
bool Result47 = Result45 && Result46;
bool Result48 = In_Condition && Result47;
bool Result49 = NiagaraAll(Context.Map.Shell_Eject.ExecutionStateSource <= In_NewStateSource);
bool Result50 = Result48 && Result49;
int Constant48 = 2;
bool Result51 = NiagaraAll(In_NewState == Constant48);
int Constant49 = 1;
bool Result52 = NiagaraAll(Context.Map.Shell_Eject.ExecutionState == Constant49);
int Constant50 = 2;
bool Result53 = NiagaraAll(Context.Map.Shell_Eject.ExecutionState == Constant50);
bool Result54 = Result52 || Result53;
bool Result55 = Result51 && Result54;
int Constant51 = 1;
int Constant52 = (int)0;
int ENiagaraExecutionState_SelectResult2 = Constant52;
ENiagaraExecutionState_SelectResult2 = Constant51;
if(Result55 == 0)
{
ENiagaraExecutionState_SelectResult2 = In_NewState;
}
int ENiagaraExecutionState_IfResult5;
int ENiagaraExecutionStateSource_IfResult5;
if(Result50)
{
ENiagaraExecutionState_IfResult5 = ENiagaraExecutionState_SelectResult2;
ENiagaraExecutionStateSource_IfResult5 = In_NewStateSource;
}
else
{
ENiagaraExecutionState_IfResult5 = Context.Map.Shell_Eject.ExecutionState;
ENiagaraExecutionStateSource_IfResult5 = Context.Map.Shell_Eject.ExecutionStateSource;
}
Context.Map.Shell_Eject.ExecutionState = ENiagaraExecutionState_IfResult5;
Context.Map.Shell_Eject.ExecutionStateSource = ENiagaraExecutionStateSource_IfResult5;
}
void EmitterState_EmitterChangeState005_Shell_Eject_Func_(int In_NewState, bool In_Condition, int In_NewStateSource, inout FSimulationContext Context)
{
int Constant57 = 3;
bool Result59 = NiagaraAll(Context.Map.Shell_Eject.ExecutionState != Constant57);
int Constant58 = 4;
bool Result60 = NiagaraAll(Context.Map.Shell_Eject.ExecutionState != Constant58);
bool Result61 = Result59 && Result60;
bool Result62 = In_Condition && Result61;
bool Result63 = NiagaraAll(Context.Map.Shell_Eject.ExecutionStateSource <= In_NewStateSource);
bool Result64 = Result62 && Result63;
int Constant59 = 2;
bool Result65 = NiagaraAll(In_NewState == Constant59);
int Constant60 = 1;
bool Result66 = NiagaraAll(Context.Map.Shell_Eject.ExecutionState == Constant60);
int Constant61 = 2;
bool Result67 = NiagaraAll(Context.Map.Shell_Eject.ExecutionState == Constant61);
bool Result68 = Result66 || Result67;
bool Result69 = Result65 && Result68;
int Constant62 = 1;
int Constant63 = (int)0;
int ENiagaraExecutionState_SelectResult3 = Constant63;
ENiagaraExecutionState_SelectResult3 = Constant62;
if(Result69 == 0)
{
ENiagaraExecutionState_SelectResult3 = In_NewState;
}
int ENiagaraExecutionState_IfResult6;
int ENiagaraExecutionStateSource_IfResult6;
if(Result64)
{
ENiagaraExecutionState_IfResult6 = ENiagaraExecutionState_SelectResult3;
ENiagaraExecutionStateSource_IfResult6 = In_NewStateSource;
}
else
{
ENiagaraExecutionState_IfResult6 = Context.Map.Shell_Eject.ExecutionState;
ENiagaraExecutionStateSource_IfResult6 = Context.Map.Shell_Eject.ExecutionStateSource;
}
Context.Map.Shell_Eject.ExecutionState = ENiagaraExecutionState_IfResult6;
Context.Map.Shell_Eject.ExecutionStateSource = ENiagaraExecutionStateSource_IfResult6;
}
void EmitterState_EmitterChangeState004_Shell_Eject_Func_(int In_NewState, bool In_Condition, int In_NewStateSource, inout FSimulationContext Context)
{
int Constant68 = 3;
bool Result74 = NiagaraAll(Context.Map.Shell_Eject.ExecutionState != Constant68);
int Constant69 = 4;
bool Result75 = NiagaraAll(Context.Map.Shell_Eject.ExecutionState != Constant69);
bool Result76 = Result74 && Result75;
bool Result77 = In_Condition && Result76;
bool Result78 = NiagaraAll(Context.Map.Shell_Eject.ExecutionStateSource <= In_NewStateSource);
bool Result79 = Result77 && Result78;
int Constant70 = 2;
bool Result80 = NiagaraAll(In_NewState == Constant70);
int Constant71 = 1;
bool Result81 = NiagaraAll(Context.Map.Shell_Eject.ExecutionState == Constant71);
int Constant72 = 2;
bool Result82 = NiagaraAll(Context.Map.Shell_Eject.ExecutionState == Constant72);
bool Result83 = Result81 || Result82;
bool Result84 = Result80 && Result83;
int Constant73 = 1;
int Constant74 = (int)0;
int ENiagaraExecutionState_SelectResult4 = Constant74;
ENiagaraExecutionState_SelectResult4 = Constant73;
if(Result84 == 0)
{
ENiagaraExecutionState_SelectResult4 = In_NewState;
}
int ENiagaraExecutionState_IfResult7;
int ENiagaraExecutionStateSource_IfResult7;
if(Result79)
{
ENiagaraExecutionState_IfResult7 = ENiagaraExecutionState_SelectResult4;
ENiagaraExecutionStateSource_IfResult7 = In_NewStateSource;
}
else
{
ENiagaraExecutionState_IfResult7 = Context.Map.Shell_Eject.ExecutionState;
ENiagaraExecutionStateSource_IfResult7 = Context.Map.Shell_Eject.ExecutionStateSource;
}
Context.Map.Shell_Eject.ExecutionState = ENiagaraExecutionState_IfResult7;
Context.Map.Shell_Eject.ExecutionStateSource = ENiagaraExecutionStateSource_IfResult7;
}
void EmitterState_Shell_Eject_Func_(inout FSimulationContext Context)
{
bool Result27 = NiagaraAll(Context.Map.Shell_Eject.Age <= Context.Map.Engine.DeltaTime);
Context.Map.Transient.FirstFrame = Result27;
Context.Map.Local.EmitterState.PreviousEmitterState = Context.Map.Shell_Eject.ExecutionState;
float Constant27 = 1;
float Constant28 = 0;
bool Constant29 = false;
Context.Map.EmitterState.RecalculateDurationEachLoop = Constant29;
Context.Map.Shell_Eject.Age = Context.Map.System.Age;
Context.Map.Shell_Eject.LoopedAge = Context.Map.System.LoopedAge;
Context.Map.Shell_Eject.NormalizedLoopAge = Context.Map.System.NormalizedLoopAge;
Context.Map.Shell_Eject.LoopCount = Context.Map.System.LoopCount;
Context.Map.Shell_Eject.CurrentLoopDelay = Context.Map.System.CurrentLoopDelay;
Context.Map.Shell_Eject.CurrentLoopDuration = Context.Map.System.CurrentLoopDuration;
Context.Map.EmitterState.LoopDuration = Constant27;
Context.Map.EmitterState.LoopDelay = Constant28;
Context.Map.EmitterState.RecalculateDurationEachLoop = Context.Map.EmitterState.RecalculateDurationEachLoop;
float Constant30 = 0;
float Constant31 = 1.0001;
float Result28 = clamp(Context.Map.Engine.Owner.LODDistanceFraction,Constant30,Constant31);
Context.Map.Shell_Eject.Scalability.DistanceFraction = Result28;
int Constant32 = 0;
Context.Map.Transient.ScalabilityEmitterExecutionState = Constant32;
int Constant33 = 0;
bool Result29 = NiagaraAll(Context.Map.Engine.Shell_Eject.NumParticles == Constant33);
Context.Map.Local.EmitterState.NoActiveEmitterParticles = Result29;
int Constant34 = 0;
bool Result30 = NiagaraAll(Context.Map.System.ExecutionStateSource == Constant34);
EmitterState_EmitterChangeState002_Shell_Eject_Func_(Context.Map.System.ExecutionState, Result30, Context.Map.System.ExecutionStateSource, Context);
int Constant42 = 1;
int Constant43 = 0;
bool Result42 = NiagaraAll(Context.Map.System.ExecutionState != Constant43);
int Constant44 = 0;
bool Result43 = NiagaraAll(Context.Map.System.ExecutionStateSource != Constant44);
bool Result44 = Result42 && Result43;
int Constant45 = 1;
EmitterState_EmitterChangeState006_Shell_Eject_Func_(Constant42, Result44, Constant45, Context);
int Constant53 = 1;
int Constant54 = 0;
bool Result56 = NiagaraAll(Context.Map.System.ExecutionState != Constant54);
int Constant55 = 2;
bool Result57 = NiagaraAll(Context.Map.System.ExecutionStateSource == Constant55);
bool Result58 = Result56 && Result57;
int Constant56 = 1;
EmitterState_EmitterChangeState005_Shell_Eject_Func_(Constant53, Result58, Constant56, Context);
int Constant64 = 3;
int Constant65 = 0;
bool Result70 = NiagaraAll(Context.Map.Shell_Eject.ExecutionState != Constant65);
bool Result71 = Context.Map.Local.EmitterState.NoActiveEmitterParticles && Result70;
int Constant66 = 0;
bool Result72 = NiagaraAll(Context.Map.Shell_Eject.ExecutionStateSource != Constant66);
bool Result73 = Result71 && Result72;
bool bool_IfResult;
if(Context.Map.System.bCompleteOnInactive)
{
bool_IfResult = Result73;
}
else
{
bool_IfResult = Result70;
}
int Constant67 = 3;
EmitterState_EmitterChangeState004_Shell_Eject_Func_(Constant64, bool_IfResult, Constant67, Context);
float3 Result85 = Context.Map.Engine.Owner.Velocity * Context.Map.Engine.DeltaTime;
float Result86 = length(Result85);
float Constant75 = 1e+08;
float Result87 = Modulo(Context.Map.Shell_Eject.DistanceTraveled, Constant75);
float Result88 = Result86 + Result87;
Context.Map.Shell_Eject.DistanceTraveled = Result88;
}
void SpawnPerFrame_Shell_Eject_Func_(inout FSimulationContext Context)
{
int Constant76 = 1;
float Constant77 = 1;
Context.Map.Transient.ScalabilityEmitterSpawnCountScale = Constant77;
int Constant78 = 0;
bool Constant79 = false;
Context.Map.Transient.SpawningbCanEverSpawn = Constant79;
float Constant80 = 1;
float Result89 = Constant76 * Context.Map.Transient.ScalabilityEmitterSpawnCountScale;
float Constant81 = 0;
NiagaraSpawnInfo Output1;
Output1.Count = Result89;
Output1.InterpStartDt = Context.Map.Engine.DeltaTime;
Output1.IntervalDt = Constant81;
Output1.SpawnGroup = Constant78;
int Constant82 = 0;
float Constant83 = 0;
float Constant84 = 0;
NiagaraSpawnInfo Output11;
Output11.Count = Constant82;
Output11.InterpStartDt = Constant83;
Output11.IntervalDt = Constant84;
Output11.SpawnGroup = Constant78;
NiagaraSpawnInfo SpawnInfo_IfResult;
if(Context.Map.SpawnPerFrame.Spawn)
{
SpawnInfo_IfResult = Output1;
}
else
{
SpawnInfo_IfResult = Output11;
}
bool Result90 = Context.Map.Transient.SpawningbCanEverSpawn || Context.Map.SpawnPerFrame.Spawn;
Context.Map.Shell_Eject.SpawnPerFrame.SpawnBurst = SpawnInfo_IfResult;
Context.Map.Transient.SpawningbCanEverSpawn = Result90;
}
void Shell_Eject_DE2E06E64C522272FA3783B0019BBB69_Func_(inout FSimulationContext Context)
{
EnterStatScope(4 /**EmitterState_Shell_Eject_Func_*/);
EmitterState_Shell_Eject_Func_(Context);
ExitStatScope(/**EmitterState_Shell_Eject_Func_*/);
Context.Map.SpawnPerFrame.Spawn = Context.Map.System.Trigger;
EnterStatScope(5 /**SpawnPerFrame_Shell_Eject_Func_*/);
SpawnPerFrame_Shell_Eject_Func_(Context);
ExitStatScope(/**SpawnPerFrame_Shell_Eject_Func_*/);
}
float GetSpawnInterpolation()
{
return 1.0f;}
#if (SimulationStageIndex == 0) // MapSpawn
void HandlePreviousValuesForSpawn(inout FSimulationContext Context)
{
}
#endif
void ReadDataSets(inout FSimulationContext Context)
{
}
void WriteDataSets(inout FSimulationContext Context)
{
}
void Simulate(inout FSimulationContext Context)
{
EnterStatScope(0 /**SystemUpdateScript*/);
//Begin Initialize Parameter Map Defaults
//End Initialize Parameter Map Defaults
float Constant = 0;
float Constant1 = 5;
bool Constant2 = false;
Context.Map.SystemState.RecalculateDurationEachLoop = Constant2;
int Constant3 = 0;
Context.Map.Transient.ScalabilityExecutionState = Constant3;
EnterStatScope(1 /**SystemState_Func_*/);
SystemState_Func_(Context);
ExitStatScope(/**SystemState_Func_*/);
Context.Map.NM_WeaponTrigger.Trigger = Context.Map.User.Trigger;
float Constant21 = 5;
EnterStatScope(2 /**NM_WeaponTrigger_Func_*/);
NM_WeaponTrigger_Func_(Context);
ExitStatScope(/**NM_WeaponTrigger_Func_*/);
EnterStatScope(3 /**Shell_Eject*/);
Shell_Eject_DE2E06E64C522272FA3783B0019BBB69_Func_(Context);
ExitStatScope(/**Shell_Eject*/);
ExitStatScope(/**SystemUpdateScript*/);
}
void SimulateMain()
{
EnterStatScope(6 /**SystemUpdateScript_Main*/);
FSimulationContext Context = (FSimulationContext)0;
Context.Map.Emitter.RandomSeed = InputDataInt(0, 0);
Context.Map.Shell_Eject.Age = InputDataFloat(0, 0);
Context.Map.Shell_Eject.CurrentLoopDelay = InputDataFloat(0, 1);
Context.Map.Shell_Eject.CurrentLoopDuration = InputDataFloat(0, 2);
Context.Map.Shell_Eject.DistanceTraveled = InputDataFloat(0, 3);
Context.Map.Shell_Eject.ExecutionState = InputDataInt(0, 1);
Context.Map.Shell_Eject.ExecutionStateSource = InputDataInt(0, 2);
Context.Map.Shell_Eject.LoopCount = InputDataInt(0, 3);
Context.Map.Shell_Eject.LoopedAge = InputDataFloat(0, 4);
Context.Map.Shell_Eject.NormalizedLoopAge = InputDataFloat(0, 5);
Context.Map.Shell_Eject.Scalability.DistanceFraction = InputDataFloat(0, 6);
Context.Map.Shell_Eject.SpawnPerFrame.SpawnBurst.Count = 0;
Context.Map.Shell_Eject.SpawnPerFrame.SpawnBurst.InterpStartDt = 0.0f;
Context.Map.Shell_Eject.SpawnPerFrame.SpawnBurst.IntervalDt = 0.0f;
Context.Map.Shell_Eject.SpawnPerFrame.SpawnBurst.SpawnGroup = 0;
Context.Map.System.Age = InputDataFloat(0, 9);
Context.Map.System.bCompleteOnInactive = InputDataBool(0, 6);
Context.Map.System.CachedTrigger = InputDataBool(0, 7);
Context.Map.System.CurrentLoopDelay = InputDataFloat(0, 10);
Context.Map.System.CurrentLoopDuration = InputDataFloat(0, 11);
Context.Map.System.ExecutionState = InputDataInt(0, 8);
Context.Map.System.ExecutionStateSource = InputDataInt(0, 9);
Context.Map.System.LoopCount = InputDataInt(0, 10);
Context.Map.System.LoopedAge = InputDataFloat(0, 12);
Context.Map.System.NormalizedLoopAge = InputDataFloat(0, 13);
Context.Map.System.TimeSinceFire = InputDataFloat(0, 14);
Context.Map.System.Trigger = InputDataBool(0, 11);
Context.Map.Engine.Emitter.InstanceSeed = InputDataInt(1, 0);
Context.Map.Engine.Emitter.TotalSpawnedParticles = InputDataInt(1, 1);
Context.Map.Engine.Owner.ExecutionState = InputDataInt(1, 2);
Context.Map.Engine.Owner.LODDistanceFraction = InputDataFloat(1, 0);
Context.Map.Engine.Owner.Velocity.x = InputDataFloat(1, 1);
Context.Map.Engine.Owner.Velocity.y = InputDataFloat(1, 2);
Context.Map.Engine.Owner.Velocity.z = InputDataFloat(1, 3);
Context.Map.Engine.Shell_Eject.NumParticles = InputDataInt(1, 3);
Context.Map.Engine.System.NumEmittersAlive = InputDataInt(1, 4);
Context.Map.Engine.System.RandomSeed = InputDataInt(1, 5);
Context.Map.User.Trigger = InputDataBool(1, 6);
Context.Map.Engine.DeltaTime = Engine_DeltaTime;
Context.Map.Emitter.RandomSeed = Emitter_RandomSeed;
ReadDataSets(Context);
EnterStatScope(7 /**SystemUpdateScript_MapMain*/);
Simulate(Context);
ExitStatScope(/**SystemUpdateScript_MapMain*/);
WriteDataSets(Context);
{
int TmpWriteIndex = OutputIndex(0, false, true);
OutputDataInt(0, 0, TmpWriteIndex, Context.Map.Emitter.RandomSeed);
OutputDataFloat(0, 0, TmpWriteIndex, Context.Map.Shell_Eject.Age);
OutputDataFloat(0, 1, TmpWriteIndex, Context.Map.Shell_Eject.CurrentLoopDelay);
OutputDataFloat(0, 2, TmpWriteIndex, Context.Map.Shell_Eject.CurrentLoopDuration);
OutputDataFloat(0, 3, TmpWriteIndex, Context.Map.Shell_Eject.DistanceTraveled);
OutputDataInt(0, 1, TmpWriteIndex, Context.Map.Shell_Eject.ExecutionState);
OutputDataInt(0, 2, TmpWriteIndex, Context.Map.Shell_Eject.ExecutionStateSource);
OutputDataInt(0, 3, TmpWriteIndex, Context.Map.Shell_Eject.LoopCount);
OutputDataFloat(0, 4, TmpWriteIndex, Context.Map.Shell_Eject.LoopedAge);
OutputDataFloat(0, 5, TmpWriteIndex, Context.Map.Shell_Eject.NormalizedLoopAge);
OutputDataFloat(0, 6, TmpWriteIndex, Context.Map.Shell_Eject.Scalability.DistanceFraction);
OutputDataInt(0, 4, TmpWriteIndex, Context.Map.Shell_Eject.SpawnPerFrame.SpawnBurst.Count);
OutputDataFloat(0, 7, TmpWriteIndex, Context.Map.Shell_Eject.SpawnPerFrame.SpawnBurst.InterpStartDt);
OutputDataFloat(0, 8, TmpWriteIndex, Context.Map.Shell_Eject.SpawnPerFrame.SpawnBurst.IntervalDt);
OutputDataInt(0, 5, TmpWriteIndex, Context.Map.Shell_Eject.SpawnPerFrame.SpawnBurst.SpawnGroup);
OutputDataFloat(0, 9, TmpWriteIndex, Context.Map.System.Age);
OutputDataBool(0, 6, TmpWriteIndex, Context.Map.System.bCompleteOnInactive);
OutputDataBool(0, 7, TmpWriteIndex, Context.Map.System.CachedTrigger);
OutputDataFloat(0, 10, TmpWriteIndex, Context.Map.System.CurrentLoopDelay);
OutputDataFloat(0, 11, TmpWriteIndex, Context.Map.System.CurrentLoopDuration);
OutputDataInt(0, 8, TmpWriteIndex, Context.Map.System.ExecutionState);
OutputDataInt(0, 9, TmpWriteIndex, Context.Map.System.ExecutionStateSource);
OutputDataInt(0, 10, TmpWriteIndex, Context.Map.System.LoopCount);
OutputDataFloat(0, 12, TmpWriteIndex, Context.Map.System.LoopedAge);
OutputDataFloat(0, 13, TmpWriteIndex, Context.Map.System.NormalizedLoopAge);
OutputDataFloat(0, 14, TmpWriteIndex, Context.Map.System.TimeSinceFire);
OutputDataBool(0, 11, TmpWriteIndex, Context.Map.System.Trigger);
}
ExitStatScope(/**SystemUpdateScript_Main*/);
}
q<00>
-------------------------------
Summary
-------------------------------
Num Byte Code Ops: 164
Num Constants: 23
-------------------------------
Constant Table
-------------------------------
0 | Engine_WorldDeltaTime
4 | Engine_DeltaTime
8 | Engine_InverseDeltaTime
12 | Engine_Time
16 | Engine_RealTime
20 | Engine_QualityLevel
24 | Engine_PaddingInt32_0
28 | Engine_PaddingInt32_1
32 | Emitter_RandomSeed
36 | 6
40 | 7
44 | 0
48 | 1
52 | 0
56 | 5
60 | 3
64 | 2
68 | 4
72 | 1.00010002
76 | 100000000
80 | 5
84 | True
88 | False
-------------------------------
Byte Code (164 Ops)
-------------------------------
0 | enter_stat_scope(C[36]);
1 | [R][0] = InputDataFloat(0, 3);
2 | [R][1] = InputDataInt(0, 1);
3 | [R][2] = InputDataInt(0, 2);
4 | [R][3] = InputDataFloat(0, 9);
5 | [R][4] = InputDataInt(0, 7);
6 | [R][5] = InputDataFloat(0, 10);
7 | [R][6] = InputDataFloat(0, 11);
8 | [R][7] = InputDataInt(0, 8);
9 | [R][8] = InputDataInt(0, 9);
10 | [R][9] = InputDataInt(0, 10);
11 | [R][10] = InputDataFloat(0, 12);
12 | [R][11] = InputDataFloat(0, 14);
13 | [R][12] = InputDataInt(1, 2);
14 | [R][13] = InputDataFloat(1, 0);
15 | [R][14] = InputDataFloat(1, 1);
16 | [R][15] = InputDataFloat(1, 2);
17 | [R][16] = InputDataFloat(1, 3);
18 | [R][17] = InputDataInt(1, 6);
19 | enter_stat_scope(C[40]);
20 | enter_stat_scope(C[44]);
21 | enter_stat_scope(C[48]);
22 | R[18] = cmpeq(R[3], C[52]);
23 | R[19] = select(R[18], C[56], R[6]);
24 | R[6] = add(C[4], R[10]);
25 | R[10] = div(R[6], R[19]);
26 | R[18] = f2i(R[10]);
27 | R[10] = maxi(R[18], C[44]);
28 | R[18] = i2f(R[10]);
29 | R[20] = mul(R[18], R[19]);
30 | R[18] = sub(R[6], R[20]);
31 | R[6] = addi(R[10], R[9]);
32 | R[9] = add(R[3], C[4]);
33 | R[3] = cmpgti(R[10], C[44]);
34 | R[10] = select(R[3], R[19], R[19]);
35 | R[19] = select(R[3], R[18], R[18]);
36 | R[3] = div(R[19], R[10]);
37 | R[18] = cmplei(R[8], C[44]);
38 | R[20] = select(R[18], C[44], R[7]);
39 | R[7] = select(R[18], C[44], R[8]);
40 | R[8] = cmpneqi(R[20], C[44]);
41 | R[18] = cmpneqi(R[7], C[44]);
42 | R[21] = logic_and(R[8], R[18]);
43 | R[8] = cmplei(R[7], C[60]);
44 | R[18] = logic_and(R[21], R[8]);
45 | R[8] = select(R[18], C[60], R[20]);
46 | R[20] = select(R[18], C[60], R[7]);
47 | R[7] = cmpneqi(R[12], C[44]);
48 | R[18] = cmplei(R[20], C[64]);
49 | R[21] = logic_and(R[7], R[18]);
50 | R[7] = select(R[21], R[12], R[8]);
51 | R[8] = select(R[21], C[64], R[20]);
52 | exit_stat_scope();
53 | enter_stat_scope(C[64]);
54 | R[12] = cmpneqi(R[17], R[4]);
55 | R[4] = b2i(R[12]);
56 | R[18] = cmpeqi(R[4], C[44]);
57 | R[4] = select(R[18], R[11], C[52]);
58 | R[11] = cmpgt(R[4], C[56]);
59 | R[18] = cmplei(R[8], C[48]);
60 | R[20] = logic_and(R[11], R[18]);
61 | R[11] = select(R[20], C[60], R[7]);
62 | R[7] = select(R[20], C[48], R[8]);
63 | R[8] = add(R[4], C[4]);
64 | exit_stat_scope();
65 | enter_stat_scope(C[60]);
66 | enter_stat_scope(C[68]);
67 | R[4] = clamp(R[13], C[52], C[72]);
68 | R[13] = cmpeqi(R[7], C[44]);
69 | R[18] = cmpneqi(R[1], C[60]);
70 | R[20] = cmpneqi(R[1], C[68]);
71 | R[21] = logic_and(R[18], R[20]);
72 | R[18] = logic_and(R[13], R[21]);
73 | R[13] = cmplei(R[2], R[7]);
74 | R[20] = logic_and(R[18], R[13]);
75 | R[13] = cmpeqi(R[11], C[64]);
76 | R[18] = cmpeqi(R[1], C[48]);
77 | R[21] = cmpeqi(R[1], C[64]);
78 | R[22] = logic_or(R[18], R[21]);
79 | R[18] = logic_and(R[13], R[22]);
80 | R[13] = b2i(R[18]);
81 | R[18] = cmpeqi(R[13], C[44]);
82 | R[13] = select(R[18], R[11], C[48]);
83 | R[18] = select(R[20], R[13], R[1]);
84 | R[1] = select(R[20], R[7], R[2]);
85 | R[2] = cmpneqi(R[11], C[44]);
86 | R[13] = cmpneqi(R[7], C[44]);
87 | R[20] = logic_and(R[2], R[13]);
88 | R[2] = cmpneqi(R[18], C[60]);
89 | R[13] = cmpneqi(R[18], C[68]);
90 | R[21] = logic_and(R[2], R[13]);
91 | R[2] = logic_and(R[20], R[21]);
92 | R[13] = cmplei(R[1], C[48]);
93 | R[20] = logic_and(R[2], R[13]);
94 | R[2] = select(R[20], C[48], R[18]);
95 | R[13] = select(R[20], C[48], R[1]);
96 | R[1] = cmpneqi(R[11], C[44]);
97 | R[18] = cmpeqi(R[7], C[64]);
98 | R[20] = logic_and(R[1], R[18]);
99 | R[1] = cmpneqi(R[2], C[60]);
100 | R[18] = cmpneqi(R[2], C[68]);
101 | R[21] = logic_and(R[1], R[18]);
102 | R[1] = logic_and(R[20], R[21]);
103 | R[18] = cmplei(R[13], C[48]);
104 | R[20] = logic_and(R[1], R[18]);
105 | R[1] = select(R[20], C[48], R[2]);
106 | R[2] = select(R[20], C[48], R[13]);
107 | R[13] = cmpneqi(R[1], C[44]);
108 | R[18] = cmpneqi(R[1], C[60]);
109 | R[20] = cmpneqi(R[1], C[68]);
110 | R[21] = logic_and(R[18], R[20]);
111 | R[18] = logic_and(R[13], R[21]);
112 | R[13] = cmplei(R[2], C[60]);
113 | R[20] = logic_and(R[18], R[13]);
114 | R[13] = select(R[20], C[60], R[1]);
115 | R[1] = select(R[20], C[60], R[2]);
116 | R[2] = mul(R[14], C[4]);
117 | R[14] = mul(R[15], C[4]);
118 | R[15] = mul(R[16], C[4]);
119 | R[16] = mul(R[14], R[14]);
120 | R[14] = mad(R[2], R[2], R[16]);
121 | R[2] = mad(R[15], R[15], R[14]);
122 | R[14] = sqrt(R[2]);
123 | R[2] = fmod(R[0], C[76]);
124 | R[0] = add(R[14], R[2]);
125 | exit_stat_scope();
126 | enter_stat_scope(C[80]);
127 | R[2] = select(R[12], C[48], C[44]);
128 | R[14] = select(R[12], C[4], C[52]);
129 | R[15] = select(R[12], C[52], C[52]);
130 | R[16] = select(R[12], C[44], C[44]);
131 | exit_stat_scope();
132 | exit_stat_scope();
133 | exit_stat_scope();
134 | exit_stat_scope();
135 | [R][18] = AcquireIndex(0, [C][84]);
136 | OutputDataInt(0, 0, [R][18], [C][32]);
137 | OutputDataFloat(0, 0, [R][18], [R][9]);
138 | OutputDataFloat(0, 1, [R][18], [R][5]);
139 | OutputDataFloat(0, 2, [R][18], [R][10]);
140 | OutputDataFloat(0, 3, [R][18], [R][0]);
141 | OutputDataInt(0, 1, [R][18], [R][13]);
142 | OutputDataInt(0, 2, [R][18], [R][1]);
143 | OutputDataInt(0, 3, [R][18], [R][6]);
144 | OutputDataFloat(0, 4, [R][18], [R][19]);
145 | OutputDataFloat(0, 5, [R][18], [R][3]);
146 | OutputDataFloat(0, 6, [R][18], [R][4]);
147 | OutputDataInt(0, 4, [R][18], [R][2]);
148 | OutputDataFloat(0, 7, [R][18], [R][14]);
149 | OutputDataFloat(0, 8, [R][18], [R][15]);
150 | OutputDataInt(0, 5, [R][18], [R][16]);
151 | OutputDataFloat(0, 9, [R][18], [R][9]);
152 | OutputDataInt(0, 6, [R][18], [C][88]);
153 | OutputDataInt(0, 7, [R][18], [R][17]);
154 | OutputDataFloat(0, 10, [R][18], [R][5]);
155 | OutputDataFloat(0, 11, [R][18], [R][10]);
156 | OutputDataInt(0, 8, [R][18], [R][11]);
157 | OutputDataInt(0, 9, [R][18], [R][7]);
158 | OutputDataInt(0, 10, [R][18], [R][6]);
159 | OutputDataFloat(0, 12, [R][18], [R][19]);
160 | OutputDataFloat(0, 13, [R][18], [R][3]);
161 | OutputDataFloat(0, 14, [R][18], [R][8]);
162 | OutputDataInt(0, 11, [R][18], [R][12]);
163 | exit_stat_scope();
-------------------------------
x<00><00>u)Q <00><00> <00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><><7F><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><><7F><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>V<00>{<7B><><EFBFBD><EFBFBD><00>8G<00><00><00><00><00><00> <00><00><00><00><00><00><00><00>)<00>r<00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00><00>I<00><00>M1<><31>M)<29><>N<EFBFBD><4E> <0C><><00><00>Z<00>HG<00>)"#<00>S<00>M<00><><0F>E)H<>=<3D>j<EFBFBD>U(<28><00>)<00>r<00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00><00>I<00><00>M/q<><07>l<EFBFBD>@<40>Nj<EFBFBD>0<EFBFBD>%<25><><00><00>Z<00>HG<00>)"#<00>S<00>M<00>~E<>~VDC<44>6*Tm<54><0F><><00>r<00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00><00>I<00><00>M<18>o|2?B<>hi<>^<5E>`<60><00><00>Z<00>HG<00>
<00><00><00> <00><00>V<00><><7F><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><><7F><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>V<00>{<7B><><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><><7F><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00><00><00><00><00>9<00>h<00>O<00>y<00><00><00><00><00><00><00><00><00>o <00><00><00>9<00>h<00>O<00>y<00><00><00><00><00><00><00><00><00>o <00><00><00>9<00>h<00>O<00>y<00><00><00><00><00><00><00><00><00>o <00><00><00>9<00>h<00>O<00>y<00><00><00><00><00><00><00><00><00>o <00><00><00>9<00>h<00>O<00>y<00><00><00><00><00><00><00><00><00>o <00><00><00>9<00>h<00>
h<00>O<00>y<00><00><00><00><00><00><00><00><00>o <00><00><00>9<00>
h<00>O<00>y<00><00><00><00><00><00><00><00><00>o <00><00><00>9<00>
h<00>O<00>y<00><00><00><00><00><00><00><00><00>o <00><00><00>9<00> h<00>O<00>y<00><00><00><00><00><00><00><00><00>o <00><00><00>9<00> h<00>O<00>y<00><00><00><00><00><00><00><00><00>o <00><00><00>9<00> h<00> O<00>y<00><00><00><00><00><00><00><00><00>o <00><00><00>9<00> h<00>
O<00>y<00><00><00><00><00><00><00><00><00>o <00><00><00>9<00> h<00> O<00>y<00><00><00><00><00><00><00><00><00>o <00><00><00>9<00> h<00> O<00>y<00><00><00><00><00><00><00><00><00>o <00><00><00>9<00>h<00> O<00>y<00><00><00><00><00><00><00><00><00>o <00><00><00>9<00>h<00> O<00>y<00><00><00><00><00><00><00><00><00>o <00><00><00><00><00><00><00> <00><00><00>?<00>s<00><00>><00><00>V<00><><7F><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><><7F><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><><7F><EFBFBD><EFBFBD><00>8G<00><00>e<00><00>0<00>9<00>h<00>O<00>y<00><00><00><00><00><00><00><00><00>o <00><00><00>9<00>h<00>O<00>y<00><00><00><00><00><00><00><00><00>o <00><00><00>9<00>h<00>O<00>y<00><00><00><00><00><00><00><00><00>o <00><00><00><00><00><00><00><00>H<00><00><00> <00><00><00><00>V<00><><7F><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><><7F><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><><7F><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><><7F><EFBFBD><EFBFBD><00>8G<00><00><00>V<00><><7F><EFBFBD><EFBFBD><00>8G<00><00>V<00><00><><EFBFBD><EFBFBD><EFBFBD><00>8G<00><00><00> <00> <00><00> <00>9<00>h<00>O<00>y<00><00><00><00><00>
 <00>bc<00><00><00><>*<2A><><EFBFBD><EFBFBD><EFBFBD>.;<3B><>v<>8Qʿ)0<00><>*<2A>