void Apply Directional Occlusion Modifiers (const FLinearColor & In , const FLinearColor & Out ) Script29 statements · 1,124 bytes of bytecode 0x0000 K2Node_MakeStruct_R_ImplicitCast = Cast<3>(State.Occlusion Multiplier);0x0033 K2Node_MakeStruct_LinearColor.R = K2Node_MakeStruct_R_ImplicitCast;0x0057 K2Node_MakeStruct_G_ImplicitCast = Cast<3>(State.Occlusion Multiplier);0x008A K2Node_MakeStruct_LinearColor.G = K2Node_MakeStruct_G_ImplicitCast;0x00AE K2Node_MakeStruct_B_ImplicitCast = Cast<3>(State.Occlusion Multiplier);0x00E1 K2Node_MakeStruct_LinearColor.B = K2Node_MakeStruct_B_ImplicitCast;0x0105 K2Node_MakeStruct_A_ImplicitCast = Cast<3>(State.Occlusion Multiplier);0x0138 K2Node_MakeStruct_LinearColor.A = K2Node_MakeStruct_A_ImplicitCast;0x015C CallFunc_Multiply_LinearColorLinearColor_ReturnValue = Multiply_LinearColorLinearColor(In, K2Node_MakeStruct_LinearColor);0x018A CallFunc_Add_LinearColorLinearColor_ReturnValue = Add_LinearColorLinearColor(CallFunc_Multiply_LinearColorLinearColor_ReturnValue, State.Directional Portal Contribution);0x01CE CallFunc_FClamp_Value_ImplicitCast = Cast<4>(CallFunc_Add_LinearColorLinearColor_ReturnValue.R);0x01F4 CallFunc_FClamp_ReturnValue = FClamp(CallFunc_FClamp_Value_ImplicitCast, 0, 1);0x022B CallFunc_FClamp_Value_ImplicitCast_3 = Cast<4>(CallFunc_Add_LinearColorLinearColor_ReturnValue.A);0x0251 CallFunc_FClamp_ReturnValue_1 = FClamp(CallFunc_FClamp_Value_ImplicitCast_3, 0, 1);0x0288 CallFunc_FClamp_Value_ImplicitCast_2 = Cast<4>(CallFunc_Add_LinearColorLinearColor_ReturnValue.B);0x02AE CallFunc_FClamp_ReturnValue_2 = FClamp(CallFunc_FClamp_Value_ImplicitCast_2, 0, 1);0x02E5 CallFunc_FClamp_Value_ImplicitCast_1 = Cast<4>(CallFunc_Add_LinearColorLinearColor_ReturnValue.G);0x030B CallFunc_FClamp_ReturnValue_3 = FClamp(CallFunc_FClamp_Value_ImplicitCast_1, 0, 1);0x0342 K2Node_MakeStruct_R_ImplicitCast_1 = Cast<3>(CallFunc_FClamp_ReturnValue);0x035F K2Node_MakeStruct_LinearColor_1.R = K2Node_MakeStruct_R_ImplicitCast_1;0x0383 K2Node_MakeStruct_G_ImplicitCast_1 = Cast<3>(CallFunc_FClamp_ReturnValue_3);0x03A0 K2Node_MakeStruct_LinearColor_1.G = K2Node_MakeStruct_G_ImplicitCast_1;0x03C4 K2Node_MakeStruct_B_ImplicitCast_1 = Cast<3>(CallFunc_FClamp_ReturnValue_2);0x03E1 K2Node_MakeStruct_LinearColor_1.B = K2Node_MakeStruct_B_ImplicitCast_1;0x0405 K2Node_MakeStruct_A_ImplicitCast_1 = Cast<3>(CallFunc_FClamp_ReturnValue_1);0x0422 K2Node_MakeStruct_LinearColor_1.A = K2Node_MakeStruct_A_ImplicitCast_1;0x0446 Out = K2Node_MakeStruct_LinearColor_1;0x0461 return;Protected 0x1495c50 0x20 void Start Up GPU Distance Field System () Script15 statements · 622 bytes of bytecode 0x0000 CallFunc_LoadAsset_Blocking_ReturnValue = LoadAsset_Blocking(DF Occlusion System Asset);0x001D CallFunc_GetOwner_ReturnValue = GetOwner();0x0031 CallFunc_AddComponentByClass_ReturnValue = CallFunc_GetOwner_ReturnValue.AddComponentByClass(/Script/Niagara.NiagaraComponent, false, FTransform(...), false);0x00B7 CallFunc_Conv_SoftObjectReferenceToObject_ReturnValue = Conv_SoftObjectReferenceToObject(DF Occlusion System Asset);0x00D4 K2Node_DynamicCast_AsNiagara_System = Cast<NiagaraSystem>(CallFunc_Conv_SoftObjectReferenceToObject_ReturnValue);0x00F8 K2Node_DynamicCast_bSuccess = Cast<1>(K2Node_DynamicCast_AsNiagara_System);0x0115 CallFunc_AddComponentByClass_ReturnValue.SetAsset(K2Node_DynamicCast_AsNiagara_System, true);0x013F DF Occlusion System = CallFunc_AddComponentByClass_ReturnValue;0x0152 DF Occlusion System.SetVariableObject(FName(Callback Object), this);0x0180 CallFunc_Divide_DoubleDouble_ReturnValue = Divide_DoubleDouble(Occlusion Settings.Max Trace Distance, 15);0x01C4 CallFunc_Round_ReturnValue = Round(CallFunc_Divide_DoubleDouble_ReturnValue);0x01E9 DF Occlusion System.SetVariableInt(FName(Iteration Count), CallFunc_Round_ReturnValue);0x021F DF Occlusion System.SetVariableInt(FName(Sample Count), Occlusion Settings.GPU Distance Field Sample Count);0x026B return;Protected 0x1495c50 0x00 void Test Point for Occlusion Volumes (const FVector & Location , const double & Final Multiplier ) Script37 statements · 1,076 bytes of bytecode 0x0000 PushFlow(Label_0431);0x0005 Multiplier = 1;0x0020 PushFlow(Label_03C7);0x0025 CallFunc_NotEqual_ByteByte_ReturnValue = NotEqual_ByteByte(Occlusion Settings.Occlusion Mode, 0);0x005A if (!(CallFunc_NotEqual_ByteByte_ReturnValue)) PopFlow();0x0064 CallFunc_Add_VectorVector_ReturnValue = Add_VectorVector(Sample Location, FVector(0, 0, 1));0x00A2 K2Node_MakeArray_Array = {3};0x00AF CallFunc_LineTraceMultiForObjects_OutHits = {};0x00BA CallFunc_LineTraceMultiForObjects_ReturnValue = LineTraceMultiForObjects(this, Sample Location, CallFunc_Add_VectorVector_ReturnValue, K2Node_MakeArray_Array, false, Ignored Actors, 0, CallFunc_LineTraceMultiForObjects_OutHits, true, LinearColor{1f, 0f, 0f, 1f}, LinearColor{0f, 1f, 0f, 1f}, 5f);0x0149 if (!(CallFunc_LineTraceMultiForObjects_ReturnValue)) PopFlow();0x0153 Temp_int_Loop_Counter_Variable = 0;0x016A Temp_int_Array_Index_Variable = 0;0x0181 Label_0181:0x0181 CallFunc_Array_Length_ReturnValue = /Script/Engine.Default__KismetArrayLibrary.Array_Length(CallFunc_LineTraceMultiForObjects_OutHits);0x01BC CallFunc_Less_IntInt_ReturnValue = Less_IntInt(Temp_int_Loop_Counter_Variable, CallFunc_Array_Length_ReturnValue);0x01E2 if (!(CallFunc_Less_IntInt_ReturnValue)) PopFlow();0x01EC Temp_int_Array_Index_Variable = Temp_int_Loop_Counter_Variable;0x0207 PushFlow(Label_03E7);0x020C /Script/Engine.Default__KismetArrayLibrary.Array_Get(CallFunc_LineTraceMultiForObjects_OutHits, Temp_int_Array_Index_Variable, CallFunc_Array_Get_Item);0x0247 BreakHitResult(CallFunc_Array_Get_Item, CallFunc_BreakHitResult_bBlockingHit, CallFunc_BreakHitResult_bInitialOverlap, CallFunc_BreakHitResult_Time, CallFunc_BreakHitResult_Distance, CallFunc_BreakHitResult_Location, CallFunc_BreakHitResult_ImpactPoint, CallFunc_BreakHitResult_Normal, CallFunc_BreakHitResult_ImpactNormal, CallFunc_BreakHitResult_PhysMat, CallFunc_BreakHitResult_HitActor, CallFunc_BreakHitResult_HitComponent, CallFunc_BreakHitResult_HitBoneName, CallFunc_BreakHitResult_BoneName, CallFunc_BreakHitResult_HitItem, CallFunc_BreakHitResult_ElementIndex, CallFunc_BreakHitResult_FaceIndex, CallFunc_BreakHitResult_TraceStart, CallFunc_BreakHitResult_TraceEnd);0x02FC K2Node_DynamicCast_AsUDS_Occlusion_Volume = Cast<UDS_Occlusion_Volume_C>(CallFunc_BreakHitResult_HitActor);0x0320 K2Node_DynamicCast_bSuccess = Cast<1>(K2Node_DynamicCast_AsUDS_Occlusion_Volume);0x033D if (!(K2Node_DynamicCast_bSuccess)) PopFlow();0x0347 K2Node_DynamicCast_AsUDS_Occlusion_Volume.Query Occlusion Multiplier(Sample Location, CallFunc_Query_Occlusion_Multiplier_Multiplier);0x037D CallFunc_Multiply_DoubleDouble_ReturnValue = Multiply_DoubleDouble(CallFunc_Query_Occlusion_Multiplier_Multiplier, Multiplier);0x03AB Multiplier = CallFunc_Multiply_DoubleDouble_ReturnValue;0x03C6 PopFlow();0x03C7 Label_03C7:0x03C7 Final Multiplier = Multiplier;0x03E2 goto Label_0431;0x03E7 Label_03E7:0x03E7 CallFunc_Add_IntInt_ReturnValue = Add_IntInt(Temp_int_Loop_Counter_Variable, 1);0x0411 Temp_int_Loop_Counter_Variable = CallFunc_Add_IntInt_ReturnValue;0x042C goto Label_0181;0x0431 Label_0431:0x0431 return;Protected 0x1495c50 0x20 void Custom Global Occlusion Sample (const FVector & Location , const double & Global Occlusion ) Script39 statements · 1,170 bytes of bytecode 0x0000 PushFlow(Label_048F);0x0005 Total Occlusion = 1;0x0020 Test Point for Occlusion Volumes(Location, CallFunc_Test_Point_for_Occlusion_Volumes_Final_Multiplier);0x0040 Total Occlusion = CallFunc_Test_Point_for_Occlusion_Volumes_Final_Multiplier;0x005B CallFunc_Greater_DoubleDouble_ReturnValue = Greater_DoubleDouble(Total Occlusion, 0);0x0081 if (!(CallFunc_Greater_DoubleDouble_ReturnValue)) goto Label_02D8;0x008F Temp_int_Variable = 0;0x00A6 Label_00A6:0x00A6 CallFunc_Divide_IntInt_ReturnValue_1 = Divide_IntInt(State.Traces Per Update, 3);0x00E6 CallFunc_Subtract_IntInt_ReturnValue = Subtract_IntInt(CallFunc_Divide_IntInt_ReturnValue_1, 1);0x0110 CallFunc_LessEqual_IntInt_ReturnValue = LessEqual_IntInt(Temp_int_Variable, CallFunc_Subtract_IntInt_ReturnValue);0x0136 if (!(CallFunc_LessEqual_IntInt_ReturnValue)) goto Label_02F8;0x0144 PushFlow(Label_0445);0x0149 /Script/Engine.Default__KismetArrayLibrary.Array_Get(State.Trace Offsets, Temp_int_Variable, CallFunc_Array_Get_Item);0x019A CallFunc_Add_VectorVector_ReturnValue = Add_VectorVector(Location, CallFunc_Array_Get_Item);0x01C8 CallFunc_LineTraceSingle_ReturnValue = LineTraceSingle(this, Location, CallFunc_Add_VectorVector_ReturnValue, Occlusion Settings.Trace Channel, false, Ignored Actors, 0, CallFunc_LineTraceSingle_OutHit, true, LinearColor{1f, 0f, 0f, 1f}, LinearColor{0f, 1f, 0f, 1f}, 5f);0x026D if (!(CallFunc_LineTraceSingle_ReturnValue)) PopFlow();0x0277 CallFunc_Add_IntInt_ReturnValue_1 = Add_IntInt(Ray Hits, 1);0x02A1 Temp_int_Variable_1 = CallFunc_Add_IntInt_ReturnValue_1;0x02BC Ray Hits = Temp_int_Variable_1;0x02D7 PopFlow();0x02D8 Label_02D8:0x02D8 Global Occlusion = 0;0x02F3 goto Label_048F;0x02F8 Label_02F8:0x02F8 CallFunc_Divide_IntInt_ReturnValue = Divide_IntInt(State.Traces Per Update, 3);0x0338 CallFunc_Conv_IntToDouble_ReturnValue = Conv_IntToDouble(CallFunc_Divide_IntInt_ReturnValue);0x035D CallFunc_Conv_IntToDouble_ReturnValue_1 = Conv_IntToDouble(Ray Hits);0x0382 CallFunc_Divide_DoubleDouble_ReturnValue = Divide_DoubleDouble(CallFunc_Conv_IntToDouble_ReturnValue_1, CallFunc_Conv_IntToDouble_ReturnValue);0x03B0 CallFunc_MapRangeClamped_ReturnValue = MapRangeClamped(CallFunc_Divide_DoubleDouble_ReturnValue, Occlusion Settings.Global Occlusion Min Fraction, Occlusion Settings.Global Occlusion Max Fraction, Total Occlusion, 0);0x0425 Global Occlusion = CallFunc_MapRangeClamped_ReturnValue;0x0440 goto Label_048F;0x0445 Label_0445:0x0445 CallFunc_Add_IntInt_ReturnValue = Add_IntInt(Temp_int_Variable, 1);0x046F Temp_int_Variable = CallFunc_Add_IntInt_ReturnValue;0x048A goto Label_00A6;0x048F Label_048F:0x048F return;Public 0x1495c50 0x20 void Runtime Tick () Script20 statements · 275 bytes of bytecode 0x0000 PushFlow(Label_0110);0x0005 PushFlow(Label_0052);0x000A Get Sample Location();0x0018 Incremental Occlusion Traces();0x0026 Update Current Occlusion();0x0034 if (!(Hard Update)) PopFlow();0x003E Hard Occlusion Change.Broadcast();0x0051 PopFlow();0x0052 Label_0052:0x0052 CallFunc_EqualEqual_DoubleDouble_ReturnValue = EqualEqual_DoubleDouble(Tick Period, 0);0x0078 if (!(CallFunc_EqualEqual_DoubleDouble_ReturnValue)) goto Label_00B2;0x0086 CallFunc_K2_SetTimerForNextTick_ReturnValue = K2_SetTimerForNextTick(this, "Runtime Tick");0x00B1 PopFlow();0x00B2 Label_00B2:0x00B2 CallFunc_K2_SetTimer_Time_ImplicitCast = Cast<3>(Tick Period);0x00CF CallFunc_K2_SetTimer_ReturnValue = K2_SetTimer(this, "Runtime Tick", CallFunc_K2_SetTimer_Time_ImplicitCast, false, false, 0f, 0f);0x010F PopFlow();0x0110 Label_0110:0x0110 return;Public 0x1495c50 0x00 EDrawDebugTrace Trace Debugs () Script6 statements · 163 bytes of bytecode 0x0000 Temp_byte_Variable = 2;0x0014 Temp_byte_Variable_1 = 0;0x0028 Temp_bool_Variable = Occlusion Settings.Show Trace Debugs;0x0051 ReturnValue = Switch(Temp_bool_Variable, false => Temp_byte_Variable_1, true => Temp_byte_Variable, default => K2Node_Select_Default);0x0098 return ReturnValue;Protected 0x1495c50 0x01 void Editor Tick (const FVector & Occlusion Location ) Script24 statements · 416 bytes of bytecode 0x0000 PushFlow(Label_019D);0x0005 Sample Location = Occlusion Location;0x0020 PushFlow(Label_0180);0x0025 PushFlow(Label_00E0);0x002A CallFunc_GetGameTimeInSeconds_ReturnValue_1 = GetGameTimeInSeconds(this);0x0047 CallFunc_Subtract_DoubleDouble_ReturnValue_1 = Subtract_DoubleDouble(CallFunc_GetGameTimeInSeconds_ReturnValue_1, State.Time of Last Periodic Context Check);0x008B CallFunc_Greater_DoubleDouble_ReturnValue_1 = Greater_DoubleDouble(CallFunc_Subtract_DoubleDouble_ReturnValue_1, Occlusion Settings.Update Period);0x00C7 if (!(CallFunc_Greater_DoubleDouble_ReturnValue_1)) PopFlow();0x00D1 Periodic Context Checks();0x00DF PopFlow();0x00E0 Label_00E0:0x00E0 CallFunc_GetGameTimeInSeconds_ReturnValue = GetGameTimeInSeconds(this);0x00FD CallFunc_Subtract_DoubleDouble_ReturnValue = Subtract_DoubleDouble(CallFunc_GetGameTimeInSeconds_ReturnValue, State.Time of Last Portal Component Check);0x0141 CallFunc_Greater_DoubleDouble_ReturnValue = Greater_DoubleDouble(CallFunc_Subtract_DoubleDouble_ReturnValue, 3);0x0167 if (!(CallFunc_Greater_DoubleDouble_ReturnValue)) PopFlow();0x0171 Check For Portal Components();0x017F PopFlow();0x0180 Label_0180:0x0180 Incremental Occlusion Traces();0x018E Update Current Occlusion();0x019C PopFlow();0x019D Label_019D:0x019D return;Public 0x1495c50 0x18 void Portal Direction Mask (const FVector & Direction , const FLinearColor & Mask ) Script18 statements · 648 bytes of bytecode 0x0000 BreakVector(Direction, CallFunc_BreakVector_X, CallFunc_BreakVector_Y, CallFunc_BreakVector_Z);0x002E CallFunc_FClamp_ReturnValue = FClamp(CallFunc_BreakVector_X, 0, 1);0x0065 CallFunc_Multiply_DoubleDouble_ReturnValue = Multiply_DoubleDouble(CallFunc_BreakVector_Y, -1);0x0093 CallFunc_FClamp_ReturnValue_1 = FClamp(CallFunc_BreakVector_Y, 0, 1);0x00CA CallFunc_FClamp_ReturnValue_2 = FClamp(CallFunc_Multiply_DoubleDouble_ReturnValue, 0, 1);0x0101 CallFunc_Multiply_DoubleDouble_ReturnValue_1 = Multiply_DoubleDouble(CallFunc_BreakVector_X, -1);0x012F CallFunc_FClamp_ReturnValue_3 = FClamp(CallFunc_Multiply_DoubleDouble_ReturnValue_1, 0, 1);0x0166 K2Node_MakeStruct_R_ImplicitCast = Cast<3>(CallFunc_FClamp_ReturnValue);0x0183 K2Node_MakeStruct_LinearColor.R = K2Node_MakeStruct_R_ImplicitCast;0x01A7 K2Node_MakeStruct_G_ImplicitCast = Cast<3>(CallFunc_FClamp_ReturnValue_1);0x01C4 K2Node_MakeStruct_LinearColor.G = K2Node_MakeStruct_G_ImplicitCast;0x01E8 K2Node_MakeStruct_B_ImplicitCast = Cast<3>(CallFunc_FClamp_ReturnValue_3);0x0205 K2Node_MakeStruct_LinearColor.B = K2Node_MakeStruct_B_ImplicitCast;0x0229 K2Node_MakeStruct_A_ImplicitCast = Cast<3>(CallFunc_FClamp_ReturnValue_2);0x0246 K2Node_MakeStruct_LinearColor.A = K2Node_MakeStruct_A_ImplicitCast;0x026A Mask = K2Node_MakeStruct_LinearColor;0x0285 return;Protected 0x1495c50 0x28 void Delayed Startup () Script27 statements · 692 bytes of bytecode 0x0000 Get Sample Location();0x000E CallFunc_EqualExactly_VectorVector_ReturnValue = EqualExactly_VectorVector(Sample Location, FVector(0, 0, 0));0x0044 if (!(CallFunc_EqualExactly_VectorVector_ReturnValue)) goto Label_0085;0x0052 CallFunc_K2_SetTimerForNextTick_ReturnValue = K2_SetTimerForNextTick(this, "Delayed Startup");0x0080 goto Label_02B1;0x0085 Label_0085:0x0085 Periodic Context Checks();0x0093 CallFunc_K2_SetTimer_Time_ImplicitCast = Cast<3>(Occlusion Settings.Update Period);0x00C6 CallFunc_K2_SetTimer_ReturnValue_2 = K2_SetTimer(this, "Periodic Context Checks", CallFunc_K2_SetTimer_Time_ImplicitCast, true, false, 0f, 0f);0x0111 Update Ignored Actors();0x011F CallFunc_K2_SetTimer_ReturnValue_1 = K2_SetTimer(this, "Update Ignored Actors", 3f, true, false, 0f, 0f);0x0164 if (!(Occlusion Settings.Query Occlusion Portals)) goto Label_01E1;0x0188 Check For Portal Components();0x0196 CallFunc_K2_SetTimer_ReturnValue = K2_SetTimer(this, "Check For Portal Components", 3f, true, false, 0f, 0f);0x01E1 Label_01E1:0x01E1 CallFunc_EqualEqual_ByteByte_ReturnValue = EqualEqual_ByteByte(Occlusion Settings.Occlusion Mode, 1);0x0216 CallFunc_Not_PreBool_ReturnValue = Not_PreBool(CallFunc_EqualEqual_ByteByte_ReturnValue);0x0233 Do Incremental Traces = CallFunc_Not_PreBool_ReturnValue;0x0246 CallFunc_BooleanAND_ReturnValue = BooleanAND(Occlusion Settings.Use GPU Distance Field Collision, Do Incremental Traces);0x0282 if (!(CallFunc_BooleanAND_ReturnValue)) goto Label_02A3;0x0290 Start Up GPU Distance Field System();0x029E goto Label_02B1;0x02A3 Label_02A3:0x02A3 Runtime Tick();0x02B1 Label_02B1:0x02B1 return;Protected 0x1495c50 0x00 void Check For Portal Components () Script31 statements · 1,009 bytes of bytecode 0x0000 PushFlow(Label_03EE);0x0005 CallFunc_GetGameTimeInSeconds_ReturnValue = GetGameTimeInSeconds(this);0x0022 State.Time of Last Portal Component Check = CallFunc_GetGameTimeInSeconds_ReturnValue;0x0053 /Script/Engine.Default__KismetArrayLibrary.Array_Clear(Portal Components);0x007C K2Node_MakeArray_Array = {3};0x0089 CallFunc_Subtract_VectorVector_ReturnValue = Subtract_VectorVector(Sample Location, FVector(0, 0, 1));0x00C7 CallFunc_LineTraceMultiForObjects_OutHits = {};0x00D2 CallFunc_LineTraceMultiForObjects_ReturnValue = LineTraceMultiForObjects(this, Sample Location, CallFunc_Subtract_VectorVector_ReturnValue, K2Node_MakeArray_Array, false, Ignored Actors, 0, CallFunc_LineTraceMultiForObjects_OutHits, true, LinearColor{1f, 0f, 0f, 1f}, LinearColor{0f, 1f, 0f, 1f}, 5f);0x0161 if (!(CallFunc_LineTraceMultiForObjects_ReturnValue)) PopFlow();0x016B Temp_int_Loop_Counter_Variable = 0;0x0182 Temp_int_Array_Index_Variable = 0;0x0199 Label_0199:0x0199 CallFunc_Array_Length_ReturnValue = /Script/Engine.Default__KismetArrayLibrary.Array_Length(CallFunc_LineTraceMultiForObjects_OutHits);0x01D4 CallFunc_Less_IntInt_ReturnValue = Less_IntInt(Temp_int_Loop_Counter_Variable, CallFunc_Array_Length_ReturnValue);0x01FA if (!(CallFunc_Less_IntInt_ReturnValue)) PopFlow();0x0204 Temp_int_Array_Index_Variable = Temp_int_Loop_Counter_Variable;0x021F PushFlow(Label_03A4);0x0224 /Script/Engine.Default__KismetArrayLibrary.Array_Get(CallFunc_LineTraceMultiForObjects_OutHits, Temp_int_Array_Index_Variable, CallFunc_Array_Get_Item);0x025F BreakHitResult(CallFunc_Array_Get_Item, CallFunc_BreakHitResult_bBlockingHit, CallFunc_BreakHitResult_bInitialOverlap, CallFunc_BreakHitResult_Time, CallFunc_BreakHitResult_Distance, CallFunc_BreakHitResult_Location, CallFunc_BreakHitResult_ImpactPoint, CallFunc_BreakHitResult_Normal, CallFunc_BreakHitResult_ImpactNormal, CallFunc_BreakHitResult_PhysMat, CallFunc_BreakHitResult_HitActor, CallFunc_BreakHitResult_HitComponent, CallFunc_BreakHitResult_HitBoneName, CallFunc_BreakHitResult_BoneName, CallFunc_BreakHitResult_HitItem, CallFunc_BreakHitResult_ElementIndex, CallFunc_BreakHitResult_FaceIndex, CallFunc_BreakHitResult_TraceStart, CallFunc_BreakHitResult_TraceEnd);0x0314 K2Node_DynamicCast_AsUDS_Occlusion_Portal = Cast<UDS_Occlusion_Portal_C>(CallFunc_BreakHitResult_HitComponent);0x0338 K2Node_DynamicCast_bSuccess = Cast<1>(K2Node_DynamicCast_AsUDS_Occlusion_Portal);0x0355 if (!(K2Node_DynamicCast_bSuccess)) PopFlow();0x035F CallFunc_Array_Add_ReturnValue = /Script/Engine.Default__KismetArrayLibrary.Array_Add(Portal Components, K2Node_DynamicCast_AsUDS_Occlusion_Portal);0x03A3 PopFlow();0x03A4 Label_03A4:0x03A4 CallFunc_Add_IntInt_ReturnValue = Add_IntInt(Temp_int_Loop_Counter_Variable, 1);0x03CE Temp_int_Loop_Counter_Variable = CallFunc_Add_IntInt_ReturnValue;0x03E9 goto Label_0199;0x03EE Label_03EE:0x03EE return;Protected 0x1495c50 0x00 void Get Sample Location () Script29 statements · 622 bytes of bytecode 0x0000 K2Node_SwitchEnum_CmpSuccess = NotEqual_ByteByte(Occlusion Settings.Occlusion Sampling Location, 0);0x0035 if (!(K2Node_SwitchEnum_CmpSuccess)) goto Label_00CE;0x0043 K2Node_SwitchEnum_CmpSuccess = NotEqual_ByteByte(Occlusion Settings.Occlusion Sampling Location, 1);0x0078 if (!(K2Node_SwitchEnum_CmpSuccess)) goto Label_0183;0x0086 K2Node_SwitchEnum_CmpSuccess = NotEqual_ByteByte(Occlusion Settings.Occlusion Sampling Location, 2);0x00BB if (!(K2Node_SwitchEnum_CmpSuccess)) goto Label_0234;0x00C9 goto Label_026B;0x00CE Label_00CE:0x00CE CallFunc_GetPlayerCameraManager_ReturnValue = GetPlayerCameraManager(this, 0);0x00E8 CallFunc_IsValid_ReturnValue_1 = IsValid(CallFunc_GetPlayerCameraManager_ReturnValue);0x0105 if (!(CallFunc_IsValid_ReturnValue_1)) goto Label_026B;0x0113 CallFunc_GetPlayerCameraManager_ReturnValue = GetPlayerCameraManager(this, 0);0x012D CallFunc_GetCameraLocation_ReturnValue = CallFunc_GetPlayerCameraManager_ReturnValue.GetCameraLocation();0x0163 Sample Location = CallFunc_GetCameraLocation_ReturnValue;0x017E goto Label_026B;0x0183 Label_0183:0x0183 CallFunc_GetPlayerPawn_ReturnValue = GetPlayerPawn(this, 0);0x019D CallFunc_IsValid_ReturnValue = IsValid(CallFunc_GetPlayerPawn_ReturnValue);0x01BA if (!(CallFunc_IsValid_ReturnValue)) goto Label_00CE;0x01C8 CallFunc_GetPlayerPawn_ReturnValue = GetPlayerPawn(this, 0);0x01E2 CallFunc_K2_GetActorLocation_ReturnValue = CallFunc_GetPlayerPawn_ReturnValue.K2_GetActorLocation();0x0214 Sample Location = CallFunc_K2_GetActorLocation_ReturnValue;0x022F goto Label_026B;0x0234 Label_0234:0x0234 CallFunc_K2_GetComponentLocation_ReturnValue = K2_GetComponentLocation();0x0250 Sample Location = CallFunc_K2_GetComponentLocation_ReturnValue;0x026B Label_026B:0x026B return;Protected 0x1495c50 0x00 void Update Ignored Actors () Script17 statements · 344 bytes of bytecode 0x0000 CallFunc_GetPlayerController_ReturnValue = GetPlayerController(this, 0);0x001A CallFunc_IsValid_ReturnValue = IsValid(CallFunc_GetPlayerController_ReturnValue);0x0037 if (!(CallFunc_IsValid_ReturnValue)) goto Label_0155;0x0045 CallFunc_GetPlayerController_ReturnValue_1 = GetPlayerController(this, 0);0x005F CallFunc_K2_GetPawn_ReturnValue = CallFunc_GetPlayerController_ReturnValue_1.K2_GetPawn();0x0089 CallFunc_IsValid_ReturnValue_1 = IsValid(CallFunc_K2_GetPawn_ReturnValue);0x00A6 if (!(CallFunc_IsValid_ReturnValue_1)) goto Label_012C;0x00B4 CallFunc_GetPlayerController_ReturnValue_2 = GetPlayerController(this, 0);0x00CE CallFunc_K2_GetPawn_ReturnValue_1 = CallFunc_GetPlayerController_ReturnValue_2.K2_GetPawn();0x00F8 K2Node_MakeArray_Array = {CallFunc_K2_GetPawn_ReturnValue_1};0x010C Ignored Actors = K2Node_MakeArray_Array;0x0127 goto Label_0155;0x012C Label_012C:0x012C /Script/Engine.Default__KismetArrayLibrary.Array_Clear(Ignored Actors);0x0155 Label_0155:0x0155 return;Protected 0x1495c50 0x00 void Periodic Context Checks () Script116 statements · 3,994 bytes of bytecode 0x0000 PushFlow(Label_0F97);0x0005 Portal Direction = FVector(0, 0, 0);0x0030 CallFunc_GetGameTimeInSeconds_ReturnValue = GetGameTimeInSeconds(this);0x004D State.Time of Last Periodic Context Check = CallFunc_GetGameTimeInSeconds_ReturnValue;0x007E CallFunc_SelectFloat_ReturnValue = SelectFloat(0, 1, Force Full Occlusion);0x00B5 State.Occlusion Multiplier = CallFunc_SelectFloat_ReturnValue;0x00E6 State.Global Contribution = 0;0x0117 State.Directional Portal Contribution = LinearColor{0f, 0f, 0f, 0f};0x0161 PushFlow(Label_022C);0x0166 Test Point for Occlusion Volumes(Sample Location, CallFunc_Test_Point_for_Occlusion_Volumes_Final_Multiplier);0x0186 CallFunc_Less_DoubleDouble_ReturnValue = Less_DoubleDouble(CallFunc_Test_Point_for_Occlusion_Volumes_Final_Multiplier, 1);0x01AC if (!(CallFunc_Less_DoubleDouble_ReturnValue)) PopFlow();0x01B6 CallFunc_Multiply_DoubleDouble_ReturnValue = Multiply_DoubleDouble(CallFunc_Test_Point_for_Occlusion_Volumes_Final_Multiplier, State.Occlusion Multiplier);0x01FA State.Occlusion Multiplier = CallFunc_Multiply_DoubleDouble_ReturnValue;0x022B PopFlow();0x022C Label_022C:0x022C PushFlow(Label_03E6);0x0231 CallFunc_GetScalarParameterValue_ReturnValue = GetScalarParameterValue(this, /Game/UltraDynamicSky/Materials/Weather/UltraDynamicWeather_Parameters.UltraDynamicWeather_Parameters, FName(Weather Uses Water Level));0x0264 CallFunc_Greater_DoubleDouble_A_ImplicitCast = Cast<4>(CallFunc_GetScalarParameterValue_ReturnValue);0x0281 CallFunc_Greater_DoubleDouble_ReturnValue = Greater_DoubleDouble(CallFunc_Greater_DoubleDouble_A_ImplicitCast, 0.5);0x02A7 if (!(CallFunc_Greater_DoubleDouble_ReturnValue)) PopFlow();0x02B1 CallFunc_GetScalarParameterValue_ReturnValue_1 = GetScalarParameterValue(this, /Game/UltraDynamicSky/Materials/Weather/UltraDynamicWeather_Parameters.UltraDynamicWeather_Parameters, FName(Water Level));0x02E4 BreakVector(Sample Location, CallFunc_BreakVector_X, CallFunc_BreakVector_Y, CallFunc_BreakVector_Z);0x0312 CallFunc_Greater_DoubleDouble_A_ImplicitCast_1 = Cast<4>(CallFunc_GetScalarParameterValue_ReturnValue_1);0x032F CallFunc_Greater_DoubleDouble_ReturnValue_4 = Greater_DoubleDouble(CallFunc_Greater_DoubleDouble_A_ImplicitCast_1, CallFunc_BreakVector_Z);0x0355 if (!(CallFunc_Greater_DoubleDouble_ReturnValue_4)) PopFlow();0x035F K2Node_SwitchEnum_CmpSuccess = NotEqual_ByteByte(Occlusion Settings.Occlusion Behavior Under Water, 0);0x0394 if (!(K2Node_SwitchEnum_CmpSuccess)) goto Label_0DE9;0x03A2 K2Node_SwitchEnum_CmpSuccess = NotEqual_ByteByte(Occlusion Settings.Occlusion Behavior Under Water, 1);0x03D7 if (!(K2Node_SwitchEnum_CmpSuccess)) goto Label_0E1B;0x03E5 PopFlow();0x03E6 Label_03E6:0x03E6 CallFunc_Array_IsNotEmpty_ReturnValue = /Script/Engine.Default__KismetArrayLibrary.Array_IsNotEmpty(Portal Components);0x0419 if (!(CallFunc_Array_IsNotEmpty_ReturnValue)) PopFlow();0x0423 Temp_int_Loop_Counter_Variable = 0;0x043A Temp_int_Array_Index_Variable = 0;0x0451 Label_0451:0x0451 CallFunc_Array_Length_ReturnValue = /Script/Engine.Default__KismetArrayLibrary.Array_Length(Portal Components);0x048C CallFunc_Less_IntInt_ReturnValue = Less_IntInt(Temp_int_Loop_Counter_Variable, CallFunc_Array_Length_ReturnValue);0x04B2 if (!(CallFunc_Less_IntInt_ReturnValue)) PopFlow();0x04BC Temp_int_Array_Index_Variable = Temp_int_Loop_Counter_Variable;0x04D7 PushFlow(Label_0D9F);0x04DC /Script/Engine.Default__KismetArrayLibrary.Array_Get(Portal Components, Temp_int_Array_Index_Variable, CallFunc_Array_Get_Item);0x0517 Current Portal = CallFunc_Array_Get_Item;0x052A CallFunc_IsValid_ReturnValue = IsValid(Current Portal);0x0547 if (!(CallFunc_IsValid_ReturnValue)) PopFlow();0x0551 CallFunc_K2_GetComponentLocation_ReturnValue = Current Portal.K2_GetComponentLocation();0x0583 CallFunc_IsActive_ReturnValue = Current Portal.IsActive();0x05AD CallFunc_Subtract_VectorVector_ReturnValue_1 = Subtract_VectorVector(CallFunc_K2_GetComponentLocation_ReturnValue, Sample Location);0x05DB CallFunc_VSize_ReturnValue = VSize(CallFunc_Subtract_VectorVector_ReturnValue_1);0x0600 CallFunc_Less_DoubleDouble_ReturnValue_1 = Less_DoubleDouble(CallFunc_VSize_ReturnValue, Current Portal.Sample Range);0x063C CallFunc_BooleanAND_ReturnValue = BooleanAND(CallFunc_Less_DoubleDouble_ReturnValue_1, CallFunc_IsActive_ReturnValue);0x0662 if (!(CallFunc_BooleanAND_ReturnValue)) PopFlow();0x066C CallFunc_Trace_Debugs_ReturnValue = Trace Debugs();0x068C CallFunc_K2_GetComponentLocation_ReturnValue_3 = Current Portal.K2_GetComponentLocation();0x06BE CallFunc_LineTraceSingle_DrawTime_ImplicitCast = Cast<3>(Occlusion Settings.Update Period);0x06F1 CallFunc_LineTraceSingle_ReturnValue = LineTraceSingle(this, CallFunc_K2_GetComponentLocation_ReturnValue_3, Sample Location, Occlusion Settings.Trace Channel, false, Ignored Actors, CallFunc_Trace_Debugs_ReturnValue, CallFunc_LineTraceSingle_OutHit, true, LinearColor{0.743149f, 0f, 1f, 1f}, LinearColor{0.062801f, 0f, 1f, 1f}, CallFunc_LineTraceSingle_DrawTime_ImplicitCast);0x07A1 CallFunc_Not_PreBool_ReturnValue = Not_PreBool(CallFunc_LineTraceSingle_ReturnValue);0x07BE if (!(CallFunc_Not_PreBool_ReturnValue)) PopFlow();0x07C8 CallFunc_GetForwardVector_ReturnValue = Current Portal.GetForwardVector();0x07FA CallFunc_GetForwardVector_ReturnValue_1 = Current Portal.GetForwardVector();0x082C CallFunc_Conv_DoubleToVector_ReturnValue = Conv_DoubleToVector(-1);0x0851 CallFunc_Multiply_VectorVector_ReturnValue_1 = Multiply_VectorVector(CallFunc_GetForwardVector_ReturnValue, CallFunc_Conv_DoubleToVector_ReturnValue);0x087F CallFunc_K2_GetComponentLocation_ReturnValue_2 = Current Portal.K2_GetComponentLocation();0x08B1 CallFunc_Subtract_VectorVector_ReturnValue = Subtract_VectorVector(CallFunc_K2_GetComponentLocation_ReturnValue_2, Sample Location);0x08DF CallFunc_Normal_ReturnValue_1 = Normal(CallFunc_Subtract_VectorVector_ReturnValue, 1e-04f);0x0909 CallFunc_Dot_VectorVector_ReturnValue = Dot_VectorVector(CallFunc_Normal_ReturnValue_1, CallFunc_GetForwardVector_ReturnValue_1);0x0937 CallFunc_Greater_DoubleDouble_ReturnValue_3 = Greater_DoubleDouble(CallFunc_Dot_VectorVector_ReturnValue, 0);0x095D CallFunc_SelectVector_ReturnValue = SelectVector(CallFunc_Multiply_VectorVector_ReturnValue_1, CallFunc_Normal_ReturnValue_1, CallFunc_Greater_DoubleDouble_ReturnValue_3);0x0994 Portal Direction = CallFunc_SelectVector_ReturnValue;0x09AF CallFunc_K2_GetComponentLocation_ReturnValue_1 = Current Portal.K2_GetComponentLocation();0x09E1 CallFunc_Vector_Distance_ReturnValue = Vector_Distance(CallFunc_K2_GetComponentLocation_ReturnValue_1, Sample Location);0x0A0F CallFunc_Divide_DoubleDouble_ReturnValue = Divide_DoubleDouble(CallFunc_Vector_Distance_ReturnValue, Current Portal.Sample Range);0x0A53 CallFunc_Subtract_DoubleDouble_ReturnValue = Subtract_DoubleDouble(1, CallFunc_Divide_DoubleDouble_ReturnValue);0x0A81 CallFunc_MultiplyMultiply_FloatFloat_ReturnValue = MultiplyMultiply_FloatFloat(CallFunc_Subtract_DoubleDouble_ReturnValue, Current Portal.Distance Falloff Exponent);0x0AC5 Portal Distance Mask = CallFunc_MultiplyMultiply_FloatFloat_ReturnValue;0x0AE0 PushFlow(Label_0E97);0x0AE5 CallFunc_Greater_DoubleDouble_ReturnValue_2 = Greater_DoubleDouble(Current Portal.Directional Occlusion, 0);0x0B21 if (!(CallFunc_Greater_DoubleDouble_ReturnValue_2)) PopFlow();0x0B2B CallFunc_Multiply_VectorVector_ReturnValue = Multiply_VectorVector(Portal Direction, FVector(1, 1, 0.5));0x0B69 CallFunc_Normal_ReturnValue = Normal(CallFunc_Multiply_VectorVector_ReturnValue, 1e-04f);0x0B93 Portal Direction Mask(CallFunc_Normal_ReturnValue, CallFunc_Portal_Direction_Mask_Mask);0x0BB3 CallFunc_Multiply_DoubleDouble_ReturnValue_2 = Multiply_DoubleDouble(Portal Distance Mask, Current Portal.Directional Occlusion);0x0BF7 K2Node_MakeStruct_R_ImplicitCast = Cast<3>(CallFunc_Multiply_DoubleDouble_ReturnValue_2);0x0C14 K2Node_MakeStruct_LinearColor.R = K2Node_MakeStruct_R_ImplicitCast;0x0C38 K2Node_MakeStruct_G_ImplicitCast = Cast<3>(CallFunc_Multiply_DoubleDouble_ReturnValue_2);0x0C55 K2Node_MakeStruct_LinearColor.G = K2Node_MakeStruct_G_ImplicitCast;0x0C79 K2Node_MakeStruct_B_ImplicitCast = Cast<3>(CallFunc_Multiply_DoubleDouble_ReturnValue_2);0x0C96 K2Node_MakeStruct_LinearColor.B = K2Node_MakeStruct_B_ImplicitCast;0x0CBA K2Node_MakeStruct_A_ImplicitCast = Cast<3>(CallFunc_Multiply_DoubleDouble_ReturnValue_2);0x0CD7 K2Node_MakeStruct_LinearColor.A = K2Node_MakeStruct_A_ImplicitCast;0x0CFB CallFunc_Multiply_LinearColorLinearColor_ReturnValue = Multiply_LinearColorLinearColor(CallFunc_Portal_Direction_Mask_Mask, K2Node_MakeStruct_LinearColor);0x0D29 CallFunc_Add_LinearColorLinearColor_ReturnValue = Add_LinearColorLinearColor(State.Directional Portal Contribution, CallFunc_Multiply_LinearColorLinearColor_ReturnValue);0x0D6D State.Directional Portal Contribution = CallFunc_Add_LinearColorLinearColor_ReturnValue;0x0D9E PopFlow();0x0D9F Label_0D9F:0x0D9F CallFunc_Add_IntInt_ReturnValue = Add_IntInt(Temp_int_Loop_Counter_Variable, 1);0x0DC9 Temp_int_Loop_Counter_Variable = CallFunc_Add_IntInt_ReturnValue;0x0DE4 goto Label_0451;0x0DE9 Label_0DE9:0x0DE9 State.Occlusion Multiplier = 0;0x0E1A PopFlow();0x0E1B Label_0E1B:0x0E1B State.Global Contribution = 1;0x0E4C State.Directional Portal Contribution = LinearColor{1f, 1f, 1f, 1f};0x0E96 PopFlow();0x0E97 Label_0E97:0x0E97 CallFunc_Greater_DoubleDouble_ReturnValue_1 = Greater_DoubleDouble(Current Portal.Global Occlusion, 0);0x0ED3 if (!(CallFunc_Greater_DoubleDouble_ReturnValue_1)) PopFlow();0x0EDD CallFunc_Multiply_DoubleDouble_ReturnValue_1 = Multiply_DoubleDouble(Portal Distance Mask, Current Portal.Global Occlusion);0x0F21 CallFunc_Add_DoubleDouble_ReturnValue = Add_DoubleDouble(State.Global Contribution, CallFunc_Multiply_DoubleDouble_ReturnValue_1);0x0F65 State.Global Contribution = CallFunc_Add_DoubleDouble_ReturnValue;0x0F96 PopFlow();0x0F97 Label_0F97:0x0F97 return;Protected 0x1495c50 0x00 void Update Current Occlusion () Script71 statements · 2,885 bytes of bytecode 0x0000 PushFlow(Label_0B42);0x0005 Time Delta = 0;0x0020 K2Node_SwitchEnum_CmpSuccess = NotEqual_ByteByte(Occlusion Settings.Occlusion Mode, 0);0x0055 if (!(K2Node_SwitchEnum_CmpSuccess)) goto Label_00EA;0x0063 K2Node_SwitchEnum_CmpSuccess = NotEqual_ByteByte(Occlusion Settings.Occlusion Mode, 1);0x0098 if (!(K2Node_SwitchEnum_CmpSuccess)) goto Label_047C;0x00A6 K2Node_SwitchEnum_CmpSuccess = NotEqual_ByteByte(Occlusion Settings.Occlusion Mode, 2);0x00DB if (!(K2Node_SwitchEnum_CmpSuccess)) goto Label_00EA;0x00E9 PopFlow();0x00EA Label_00EA:0x00EA if (!(Hard Update)) goto Label_0114;0x00F8 Periodic Context Checks();0x0106 Check For Portal Components();0x0114 Label_0114:0x0114 PushFlow(Label_06C1);0x0119 CallFunc_GetWorldDeltaSeconds_ReturnValue = GetWorldDeltaSeconds(this);0x0136 CallFunc_FMax_ReturnValue = FMax(CallFunc_GetWorldDeltaSeconds_ReturnValue, Tick Period);0x0164 Time Delta = CallFunc_FMax_ReturnValue;0x017F CallFunc_Conv_IntToDouble_ReturnValue_1 = Conv_IntToDouble(State.Traces Per Update);0x01BA CallFunc_Divide_DoubleDouble_ReturnValue_1 = Divide_DoubleDouble(State.Global Occlusion Total, CallFunc_Conv_IntToDouble_ReturnValue_1);0x01FE CallFunc_Multiply_DoubleDouble_ReturnValue_1 = Multiply_DoubleDouble(CallFunc_Divide_DoubleDouble_ReturnValue_1, State.Occlusion Multiplier);0x0242 CallFunc_Add_DoubleDouble_ReturnValue = Add_DoubleDouble(CallFunc_Multiply_DoubleDouble_ReturnValue_1, State.Global Contribution);0x0286 CallFunc_FClamp_ReturnValue = FClamp(CallFunc_Add_DoubleDouble_ReturnValue, 0, 1);0x02BD CallFunc_Subtract_DoubleDouble_ReturnValue = Subtract_DoubleDouble(1, CallFunc_FClamp_ReturnValue);0x02EB CallFunc_MapRangeClamped_ReturnValue = MapRangeClamped(CallFunc_Subtract_DoubleDouble_ReturnValue, Occlusion Settings.Global Occlusion Min Fraction, Occlusion Settings.Global Occlusion Max Fraction, 1, 0);0x0360 State.Target Global Occlusion = CallFunc_MapRangeClamped_ReturnValue;0x0391 CallFunc_FInterpTo_ReturnValue = FInterpTo(State.Current Global Occlusion, State.Target Global Occlusion, Time Delta, 7);0x03FD CallFunc_SelectFloat_ReturnValue = SelectFloat(State.Target Global Occlusion, CallFunc_FInterpTo_ReturnValue, Hard Update);0x044A State.Current Global Occlusion = CallFunc_SelectFloat_ReturnValue;0x047B PopFlow();0x047C Label_047C:0x047C CallFunc_Conv_IntToDouble_ReturnValue = Conv_IntToDouble(State.Traces Per Update);0x04B7 State.Global Occlusion Total = CallFunc_Conv_IntToDouble_ReturnValue;0x04E8 K2Node_MakeStruct_R_ImplicitCast_1 = Cast<3>(State.Directional Occlusion Max);0x051B K2Node_MakeStruct_LinearColor_1.R = K2Node_MakeStruct_R_ImplicitCast_1;0x053F K2Node_MakeStruct_G_ImplicitCast_1 = Cast<3>(State.Directional Occlusion Max);0x0572 K2Node_MakeStruct_LinearColor_1.G = K2Node_MakeStruct_G_ImplicitCast_1;0x0596 K2Node_MakeStruct_B_ImplicitCast_1 = Cast<3>(State.Directional Occlusion Max);0x05C9 K2Node_MakeStruct_LinearColor_1.B = K2Node_MakeStruct_B_ImplicitCast_1;0x05ED K2Node_MakeStruct_A_ImplicitCast_1 = Cast<3>(State.Directional Occlusion Max);0x0620 K2Node_MakeStruct_LinearColor_1.A = K2Node_MakeStruct_A_ImplicitCast_1;0x0644 State.Directional Occlusion Total = K2Node_MakeStruct_LinearColor_1;0x0675 State.Upward Occlusion Total = State.Upward Occlusion Max;0x06BC goto Label_00EA;0x06C1 Label_06C1:0x06C1 if (!(State.Handle Directional Occlusion)) PopFlow();0x06E1 K2Node_MakeStruct_R_ImplicitCast = Cast<3>(State.Directional Occlusion Max);0x0714 K2Node_MakeStruct_LinearColor.R = K2Node_MakeStruct_R_ImplicitCast;0x0738 K2Node_MakeStruct_G_ImplicitCast = Cast<3>(State.Directional Occlusion Max);0x076B K2Node_MakeStruct_LinearColor.G = K2Node_MakeStruct_G_ImplicitCast;0x078F K2Node_MakeStruct_B_ImplicitCast = Cast<3>(State.Directional Occlusion Max);0x07C2 K2Node_MakeStruct_LinearColor.B = K2Node_MakeStruct_B_ImplicitCast;0x07E6 K2Node_MakeStruct_A_ImplicitCast = Cast<3>(State.Directional Occlusion Max);0x0819 K2Node_MakeStruct_LinearColor.A = K2Node_MakeStruct_A_ImplicitCast;0x083D CallFunc_Divide_LinearColorLinearColor_ReturnValue = Divide_LinearColorLinearColor(State.Directional Occlusion Total, K2Node_MakeStruct_LinearColor);0x0881 Apply Directional Occlusion Modifiers(CallFunc_Divide_LinearColorLinearColor_ReturnValue, CallFunc_Apply_Directional_Occlusion_Modifiers_Out);0x08A1 State.Target Directional Occlusion = CallFunc_Apply_Directional_Occlusion_Modifiers_Out;0x08D2 CallFunc_CInterpTo_DeltaTime_ImplicitCast = Cast<3>(Time Delta);0x08EF CallFunc_CInterpTo_ReturnValue = CInterpTo(State.Current Directional Occlusion, State.Target Directional Occlusion, CallFunc_CInterpTo_DeltaTime_ImplicitCast, 8f);0x0957 CallFunc_SelectColor_ReturnValue = SelectColor(State.Target Directional Occlusion, CallFunc_CInterpTo_ReturnValue, Hard Update);0x09A4 State.Current Directional Occlusion = CallFunc_SelectColor_ReturnValue;0x09D5 CallFunc_Divide_DoubleDouble_ReturnValue = Divide_DoubleDouble(State.Upward Occlusion Total, State.Upward Occlusion Max);0x0A2F CallFunc_Multiply_DoubleDouble_ReturnValue = Multiply_DoubleDouble(CallFunc_Divide_DoubleDouble_ReturnValue, State.Occlusion Multiplier);0x0A73 State.Current Upward Occlusion = CallFunc_Multiply_DoubleDouble_ReturnValue;0x0AA4 SetVectorParameterValue(this, /Game/UltraDynamicSky/Materials/Weather/UltraDynamicWeather_Parameters.UltraDynamicWeather_Parameters, FName(Directional Occlusion), State.Current Directional Occlusion);0x0AE4 CallFunc_SetScalarParameterValue_ParameterValue_ImplicitCast = Cast<3>(State.Current Global Occlusion);0x0B17 SetScalarParameterValue(this, /Game/UltraDynamicSky/Materials/Weather/UltraDynamicWeather_Parameters.UltraDynamicWeather_Parameters, FName(Global Occlusion), CallFunc_SetScalarParameterValue_ParameterValue_ImplicitCast);0x0B41 PopFlow();0x0B42 Label_0B42:0x0B42 return;Protected 0x1495c50 0x00 void Incremental Occlusion Traces () Script83 statements · 3,420 bytes of bytecode 0x0000 PushFlow(Label_0D59);0x0005 Current Trace Occlusion = 0;0x0020 Traces This Frame = 0;0x0037 CallFunc_Vector_Distance_ReturnValue = Vector_Distance(State.Last Trace Location, Sample Location);0x007B CallFunc_Greater_DoubleDouble_ReturnValue = Greater_DoubleDouble(CallFunc_Vector_Distance_ReturnValue, 1000);0x00A1 Hard Update = CallFunc_Greater_DoubleDouble_ReturnValue;0x00B4 if (!(Do Incremental Traces)) PopFlow();0x00BE CallFunc_GetGameTimeInSeconds_ReturnValue_1 = GetGameTimeInSeconds(this);0x00DB CallFunc_Subtract_DoubleDouble_ReturnValue = Subtract_DoubleDouble(CallFunc_GetGameTimeInSeconds_ReturnValue_1, State.Time of Last Trace);0x011F CallFunc_Divide_DoubleDouble_ReturnValue = Divide_DoubleDouble(CallFunc_Subtract_DoubleDouble_ReturnValue, State.Increment Time);0x0163 CallFunc_Round_ReturnValue = Round(CallFunc_Divide_DoubleDouble_ReturnValue);0x0188 CallFunc_Max_ReturnValue = Max(CallFunc_Round_ReturnValue, 1);0x01B2 CallFunc_Min_ReturnValue = Min(CallFunc_Max_ReturnValue, State.Traces Per Update);0x01F6 CallFunc_SelectInt_ReturnValue = SelectInt(State.Traces Per Update, CallFunc_Min_ReturnValue, Hard Update);0x0243 Traces This Frame = CallFunc_SelectInt_ReturnValue;0x025E CallFunc_Greater_IntInt_ReturnValue = Greater_IntInt(Traces This Frame, 0);0x0280 if (!(CallFunc_Greater_IntInt_ReturnValue)) PopFlow();0x028A State.Last Trace Location = Sample Location;0x02BB CallFunc_GetGameTimeInSeconds_ReturnValue = GetGameTimeInSeconds(this);0x02D8 State.Time of Last Trace = CallFunc_GetGameTimeInSeconds_ReturnValue;0x0309 Temp_int_Variable = 1;0x0320 Label_0320:0x0320 CallFunc_LessEqual_IntInt_ReturnValue = LessEqual_IntInt(Temp_int_Variable, Traces This Frame);0x0346 if (!(CallFunc_LessEqual_IntInt_ReturnValue)) PopFlow();0x0350 PushFlow(Label_06EA);0x0355 PushFlow(Label_0734);0x035A /Script/Engine.Default__KismetArrayLibrary.Array_Get(State.Trace Offsets, State.Trace Index, CallFunc_Array_Get_Item);0x03C1 CallFunc_Trace_Debugs_ReturnValue = Trace Debugs();0x03E1 CallFunc_Multiply_DoubleDouble_ReturnValue = Multiply_DoubleDouble(State.Increment Time, 10);0x0425 CallFunc_Add_VectorVector_ReturnValue = Add_VectorVector(Sample Location, CallFunc_Array_Get_Item);0x0453 CallFunc_LineTraceSingle_DrawTime_ImplicitCast = Cast<3>(CallFunc_Multiply_DoubleDouble_ReturnValue);0x0470 CallFunc_LineTraceSingle_ReturnValue = LineTraceSingle(this, Sample Location, CallFunc_Add_VectorVector_ReturnValue, Occlusion Settings.Trace Channel, false, Ignored Actors, CallFunc_Trace_Debugs_ReturnValue, CallFunc_LineTraceSingle_OutHit, true, LinearColor{1f, 0f, 0f, 1f}, LinearColor{0f, 1f, 0f, 1f}, CallFunc_LineTraceSingle_DrawTime_ImplicitCast);0x0520 CallFunc_SelectFloat_ReturnValue = SelectFloat(0, 1, CallFunc_LineTraceSingle_ReturnValue);0x0557 Current Trace Occlusion = CallFunc_SelectFloat_ReturnValue;0x0572 PushFlow(Label_07EA);0x0577 /Script/Engine.Default__KismetArrayLibrary.Array_Get(State.Global Occlusion History, State.Trace Index, CallFunc_Array_Get_Item_5);0x05DE CallFunc_Add_DoubleDouble_ReturnValue = Add_DoubleDouble(Current Trace Occlusion, State.Global Occlusion Total);0x0622 CallFunc_Subtract_DoubleDouble_ReturnValue_1 = Subtract_DoubleDouble(CallFunc_Add_DoubleDouble_ReturnValue, CallFunc_Array_Get_Item_5);0x0650 State.Global Occlusion Total = CallFunc_Subtract_DoubleDouble_ReturnValue_1;0x0681 /Script/Engine.Default__KismetArrayLibrary.Array_Set(State.Global Occlusion History, State.Trace Index, Current Trace Occlusion, false);0x06E9 PopFlow();0x06EA Label_06EA:0x06EA CallFunc_Add_IntInt_ReturnValue_1 = Add_IntInt(Temp_int_Variable, 1);0x0714 Temp_int_Variable = CallFunc_Add_IntInt_ReturnValue_1;0x072F goto Label_0320;0x0734 Label_0734:0x0734 CallFunc_Add_IntInt_ReturnValue = Add_IntInt(State.Trace Index, 1);0x0774 CallFunc_Percent_IntInt_ReturnValue = Percent_IntInt(CallFunc_Add_IntInt_ReturnValue, State.Traces Per Update);0x07B8 State.Trace Index = CallFunc_Percent_IntInt_ReturnValue;0x07E9 PopFlow();0x07EA Label_07EA:0x07EA if (!(State.Handle Directional Occlusion)) PopFlow();0x080A PushFlow(Label_0B36);0x080F /Script/Engine.Default__KismetArrayLibrary.Array_Get(State.Directional Trace Max Values, State.Trace Index, CallFunc_Array_Get_Item_1);0x0876 K2Node_MakeStruct_R_ImplicitCast = Cast<3>(Current Trace Occlusion);0x0893 K2Node_MakeStruct_LinearColor.R = K2Node_MakeStruct_R_ImplicitCast;0x08B7 K2Node_MakeStruct_G_ImplicitCast = Cast<3>(Current Trace Occlusion);0x08D4 K2Node_MakeStruct_LinearColor.G = K2Node_MakeStruct_G_ImplicitCast;0x08F8 K2Node_MakeStruct_B_ImplicitCast = Cast<3>(Current Trace Occlusion);0x0915 K2Node_MakeStruct_LinearColor.B = K2Node_MakeStruct_B_ImplicitCast;0x0939 K2Node_MakeStruct_A_ImplicitCast = Cast<3>(Current Trace Occlusion);0x0956 K2Node_MakeStruct_LinearColor.A = K2Node_MakeStruct_A_ImplicitCast;0x097A CallFunc_Multiply_LinearColorLinearColor_ReturnValue = Multiply_LinearColorLinearColor(CallFunc_Array_Get_Item_1, K2Node_MakeStruct_LinearColor);0x09A8 Directional Total Contribution = CallFunc_Multiply_LinearColorLinearColor_ReturnValue;0x09C3 /Script/Engine.Default__KismetArrayLibrary.Array_Get(State.Directional Occlusion History, State.Trace Index, CallFunc_Array_Get_Item_3);0x0A2A CallFunc_Add_LinearColorLinearColor_ReturnValue = Add_LinearColorLinearColor(State.Directional Occlusion Total, Directional Total Contribution);0x0A6E CallFunc_Subtract_LinearColorLinearColor_ReturnValue = Subtract_LinearColorLinearColor(CallFunc_Add_LinearColorLinearColor_ReturnValue, CallFunc_Array_Get_Item_3);0x0A9C State.Directional Occlusion Total = CallFunc_Subtract_LinearColorLinearColor_ReturnValue;0x0ACD /Script/Engine.Default__KismetArrayLibrary.Array_Set(State.Directional Occlusion History, State.Trace Index, Directional Total Contribution, false);0x0B35 PopFlow();0x0B36 Label_0B36:0x0B36 /Script/Engine.Default__KismetArrayLibrary.Array_Get(State.Upward Trace Max Values, State.Trace Index, CallFunc_Array_Get_Item_2);0x0B9D CallFunc_Multiply_DoubleDouble_ReturnValue_1 = Multiply_DoubleDouble(CallFunc_Array_Get_Item_2, Current Trace Occlusion);0x0BCB Upward Total Contribution = CallFunc_Multiply_DoubleDouble_ReturnValue_1;0x0BE6 /Script/Engine.Default__KismetArrayLibrary.Array_Get(State.Upward Occlusion History, State.Trace Index, CallFunc_Array_Get_Item_4);0x0C4D CallFunc_Add_DoubleDouble_ReturnValue_1 = Add_DoubleDouble(State.Upward Occlusion Total, Upward Total Contribution);0x0C91 CallFunc_Subtract_DoubleDouble_ReturnValue_2 = Subtract_DoubleDouble(CallFunc_Add_DoubleDouble_ReturnValue_1, CallFunc_Array_Get_Item_4);0x0CBF State.Upward Occlusion Total = CallFunc_Subtract_DoubleDouble_ReturnValue_2;0x0CF0 /Script/Engine.Default__KismetArrayLibrary.Array_Set(State.Upward Occlusion History, State.Trace Index, Upward Total Contribution, false);0x0D58 PopFlow();0x0D59 Label_0D59:0x0D59 return;Protected 0x1495c50 0x00 void Initialize () Script12 statements · 125 bytes of bytecode 0x0000 CallFunc_IsValid_ReturnValue = IsValid(Occlusion Settings);0x001D if (!(CallFunc_IsValid_ReturnValue)) goto Label_0062;0x002B Label_002B:0x002B State.Save Unchanging Values();0x004F Delayed Startup();0x005D goto Label_007A;0x0062 Label_0062:0x0062 Occlusion Settings = /Game/UltraDynamicSky/Blueprints/Occlusion/Occlusion_Settings/UDS_Standard_Occlusion_Settings.UDS_Standard_Occlusion_Settings;0x0075 goto Label_002B;0x007A Label_007A:0x007A return;Public 0x1495c50 0x00 void ReceiveParticleData (TArray<FBasicParticleData > & Data , UNiagaraSystem * NiagaraSystem , const FVector & SimulationPositionOffset ) Script6 statements · 72 bytes of bytecode 0x0000 PersistentFrame.K2Node_Event_Data = Data;0x0012 PersistentFrame.K2Node_Event_NiagaraSystem = NiagaraSystem;0x0024 PersistentFrame.K2Node_Event_SimulationPositionOffset = SimulationPositionOffset;0x0036 ExecuteUbergraph_UDS_PlayerOcclusion(40);0x0045 return;Event Public 0x1495c50 0x30 void ReceiveEndPlay (const EEndPlayReason & EndPlayReason ) Script4 statements · 36 bytes of bytecode 0x0000 PersistentFrame.K2Node_Event_EndPlayReason = EndPlayReason;0x0012 ExecuteUbergraph_UDS_PlayerOcclusion(1729);0x0021 return;Event Public 0x1495c50 0x01 void ExecuteUbergraph_UDS_PlayerOcclusion (int32 EntryPoint ) Script45 statements · 1,847 bytes of bytecode 0x0000 goto [EntryPoint];0x000A Label_000A:0x000A K2_ClearTimer(this, "Runtime Tick");0x0023 goto Label_0734;0x0028 /Script/Engine.Default__KismetArrayLibrary.Array_Get(K2Node_Event_Data, 0, CallFunc_Array_Get_Item);0x005F BreakVector(CallFunc_Array_Get_Item.Velocity, CallFunc_BreakVector_X, CallFunc_BreakVector_Y, CallFunc_BreakVector_Z);0x0096 BreakVector(CallFunc_Array_Get_Item.Position, CallFunc_BreakVector_X_1, CallFunc_BreakVector_Y_1, CallFunc_BreakVector_Z_1);0x00CD K2Node_MakeStruct_R_ImplicitCast = Cast<3>(CallFunc_BreakVector_X_1);0x00EA K2Node_MakeStruct_LinearColor.R = K2Node_MakeStruct_R_ImplicitCast;0x010E K2Node_MakeStruct_G_ImplicitCast = Cast<3>(CallFunc_BreakVector_Y_1);0x012B K2Node_MakeStruct_LinearColor.G = K2Node_MakeStruct_G_ImplicitCast;0x014F K2Node_MakeStruct_B_ImplicitCast = Cast<3>(CallFunc_BreakVector_Z_1);0x016C K2Node_MakeStruct_LinearColor.B = K2Node_MakeStruct_B_ImplicitCast;0x0190 K2Node_MakeStruct_A_ImplicitCast = Cast<3>(CallFunc_BreakVector_X);0x01AD K2Node_MakeStruct_LinearColor.A = K2Node_MakeStruct_A_ImplicitCast;0x01D1 Apply Directional Occlusion Modifiers(K2Node_MakeStruct_LinearColor, CallFunc_Apply_Directional_Occlusion_Modifiers_Out);0x01F1 State.Target Directional Occlusion = CallFunc_Apply_Directional_Occlusion_Modifiers_Out;0x0222 State.Current Directional Occlusion = State.Target Directional Occlusion;0x0269 /Script/Engine.Default__KismetArrayLibrary.Array_Get(K2Node_Event_Data, 0, CallFunc_Array_Get_Item);0x02A0 BreakVector(CallFunc_Array_Get_Item.Velocity, CallFunc_BreakVector_X, CallFunc_BreakVector_Y, CallFunc_BreakVector_Z);0x02D7 CallFunc_Multiply_DoubleDouble_ReturnValue_1 = Multiply_DoubleDouble(CallFunc_BreakVector_Y, State.Occlusion Multiplier);0x031B State.Current Upward Occlusion = CallFunc_Multiply_DoubleDouble_ReturnValue_1;0x034C /Script/Engine.Default__KismetArrayLibrary.Array_Get(K2Node_Event_Data, 0, CallFunc_Array_Get_Item);0x0383 BreakVector(CallFunc_Array_Get_Item.Velocity, CallFunc_BreakVector_X, CallFunc_BreakVector_Y, CallFunc_BreakVector_Z);0x03BA CallFunc_Multiply_DoubleDouble_ReturnValue = Multiply_DoubleDouble(CallFunc_BreakVector_Z, State.Occlusion Multiplier);0x03FE CallFunc_Add_DoubleDouble_ReturnValue = Add_DoubleDouble(CallFunc_Multiply_DoubleDouble_ReturnValue, State.Global Contribution);0x0442 CallFunc_FClamp_ReturnValue = FClamp(CallFunc_Add_DoubleDouble_ReturnValue, 0, 1);0x0479 CallFunc_Subtract_DoubleDouble_ReturnValue = Subtract_DoubleDouble(1, CallFunc_FClamp_ReturnValue);0x04A7 CallFunc_MapRangeClamped_ReturnValue = MapRangeClamped(CallFunc_Subtract_DoubleDouble_ReturnValue, Occlusion Settings.Global Occlusion Min Fraction, Occlusion Settings.Global Occlusion Max Fraction, 1, 0);0x051C State.Target Global Occlusion = CallFunc_MapRangeClamped_ReturnValue;0x054D State.Current Global Occlusion = State.Target Global Occlusion;0x0594 State.Current Directional Occlusion = State.Target Directional Occlusion;0x05DB Get Sample Location();0x05E9 DF Occlusion System.SetVariablePosition(FName(Sample Position), Sample Location);0x061F SetVectorParameterValue(this, /Game/UltraDynamicSky/Materials/Weather/UltraDynamicWeather_Parameters.UltraDynamicWeather_Parameters, FName(Directional Occlusion), State.Current Directional Occlusion);0x065F CallFunc_SetScalarParameterValue_ParameterValue_ImplicitCast = Cast<3>(State.Current Global Occlusion);0x0692 SetScalarParameterValue(this, /Game/UltraDynamicSky/Materials/Weather/UltraDynamicWeather_Parameters.UltraDynamicWeather_Parameters, FName(Global Occlusion), CallFunc_SetScalarParameterValue_ParameterValue_ImplicitCast);0x06BC goto Label_0734;0x06C1 K2_ClearTimer(this, "Periodic Context Checks");0x06E5 K2_ClearTimer(this, "Update Ignored Actors");0x0707 K2_ClearTimer(this, "Check For Portal Components");0x072F goto Label_000A;0x0734 Label_0734:0x0734 return;Final 0x1495c50 0x04 void Hard Occlusion Change__DelegateSignature () Script2 statements · 3 bytes of bytecode Public 0x1495c50 0x00