Upgrade to Unreal 5.5 to fix bug and get access to Visual Chaos Debugger
This commit is contained in:
@@ -2,6 +2,9 @@
|
|||||||
+ActiveClassRedirects=(OldClassName="/Script/Integration.lxLookAtWidget",NewClassName="/Script/Integration.lxLuaWidget")
|
+ActiveClassRedirects=(OldClassName="/Script/Integration.lxLookAtWidget",NewClassName="/Script/Integration.lxLuaWidget")
|
||||||
|
|
||||||
|
|
||||||
|
[/Script/Engine.Engine]
|
||||||
|
GameViewportClientClassName=/Script/CommonUI.CommonGameViewportClient
|
||||||
|
|
||||||
[/Script/EngineSettings.GameMapsSettings]
|
[/Script/EngineSettings.GameMapsSettings]
|
||||||
GameDefaultMap=/Game/LpxLevel.LpxLevel
|
GameDefaultMap=/Game/LpxLevel.LpxLevel
|
||||||
GlobalDefaultGameMode=/Game/Luprex/lxGameMode.lxGameMode_C
|
GlobalDefaultGameMode=/Game/Luprex/lxGameMode.lxGameMode_C
|
||||||
@@ -63,6 +66,7 @@ UIScaleCurve=(EditorCurveData=(Keys=((Time=480.000000,Value=0.444000),(Time=720.
|
|||||||
+Profiles=(Name="Ragdoll",CollisionEnabled=QueryAndPhysics,bCanModify=False,ObjectTypeName="PhysicsBody",CustomResponses=((Channel="Pawn",Response=ECR_Ignore),(Channel="Visibility",Response=ECR_Ignore)),HelpMessage="Simulating Skeletal Mesh Component. All other channels will be set to default.")
|
+Profiles=(Name="Ragdoll",CollisionEnabled=QueryAndPhysics,bCanModify=False,ObjectTypeName="PhysicsBody",CustomResponses=((Channel="Pawn",Response=ECR_Ignore),(Channel="Visibility",Response=ECR_Ignore)),HelpMessage="Simulating Skeletal Mesh Component. All other channels will be set to default.")
|
||||||
+Profiles=(Name="Vehicle",CollisionEnabled=QueryAndPhysics,bCanModify=False,ObjectTypeName="Vehicle",CustomResponses=,HelpMessage="Vehicle object that blocks Vehicle, WorldStatic, and WorldDynamic. All other channels will be set to default.")
|
+Profiles=(Name="Vehicle",CollisionEnabled=QueryAndPhysics,bCanModify=False,ObjectTypeName="Vehicle",CustomResponses=,HelpMessage="Vehicle object that blocks Vehicle, WorldStatic, and WorldDynamic. All other channels will be set to default.")
|
||||||
+Profiles=(Name="UI",CollisionEnabled=QueryOnly,bCanModify=False,ObjectTypeName="WorldDynamic",CustomResponses=((Channel="WorldStatic",Response=ECR_Overlap),(Channel="WorldDynamic",Response=ECR_Overlap),(Channel="Pawn",Response=ECR_Overlap),(Channel="Camera",Response=ECR_Overlap),(Channel="PhysicsBody",Response=ECR_Overlap),(Channel="Vehicle",Response=ECR_Overlap),(Channel="Destructible",Response=ECR_Overlap)),HelpMessage="WorldStatic object that overlaps all actors by default. All new custom channels will use its own default response. ")
|
+Profiles=(Name="UI",CollisionEnabled=QueryOnly,bCanModify=False,ObjectTypeName="WorldDynamic",CustomResponses=((Channel="WorldStatic",Response=ECR_Overlap),(Channel="WorldDynamic",Response=ECR_Overlap),(Channel="Pawn",Response=ECR_Overlap),(Channel="Camera",Response=ECR_Overlap),(Channel="PhysicsBody",Response=ECR_Overlap),(Channel="Vehicle",Response=ECR_Overlap),(Channel="Destructible",Response=ECR_Overlap)),HelpMessage="WorldStatic object that overlaps all actors by default. All new custom channels will use its own default response. ")
|
||||||
|
+Profiles=(Name="CharacterCapsule",CollisionEnabled=QueryOnly,bCanModify=True,ObjectTypeName="Pawn",CustomResponses=((Channel="Pawn",Response=ECR_Ignore),(Channel="Visibility",Response=ECR_Ignore),(Channel="Vehicle",Response=ECR_Ignore),(Channel="LookAtDetection",Response=ECR_Ignore)),HelpMessage="For CapsuleComponents in Characters")
|
||||||
+DefaultChannelResponses=(Channel=ECC_GameTraceChannel1,DefaultResponse=ECR_Block,bTraceType=True,bStaticObject=False,Name="LookAtDetection")
|
+DefaultChannelResponses=(Channel=ECC_GameTraceChannel1,DefaultResponse=ECR_Block,bTraceType=True,bStaticObject=False,Name="LookAtDetection")
|
||||||
-ProfileRedirects=(OldName="BlockingVolume",NewName="InvisibleWall")
|
-ProfileRedirects=(OldName="BlockingVolume",NewName="InvisibleWall")
|
||||||
-ProfileRedirects=(OldName="InterpActor",NewName="IgnoreOnlyPawn")
|
-ProfileRedirects=(OldName="InterpActor",NewName="IgnoreOnlyPawn")
|
||||||
@@ -84,6 +88,3 @@ UIScaleCurve=(EditorCurveData=(Keys=((Time=480.000000,Value=0.444000),(Time=720.
|
|||||||
+CollisionChannelRedirects=(OldName="PawnMovement",NewName="Pawn")
|
+CollisionChannelRedirects=(OldName="PawnMovement",NewName="Pawn")
|
||||||
+CollisionChannelRedirects=(OldName="Clickable",NewName="LookAtDetection")
|
+CollisionChannelRedirects=(OldName="Clickable",NewName="LookAtDetection")
|
||||||
|
|
||||||
[/Script/Engine.Engine]
|
|
||||||
GameViewportClientClassName=/Script/CommonUI.CommonGameViewportClient
|
|
||||||
|
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
BIN
Content/Luprex/lxGameMode.uasset
LFS
BIN
Content/Luprex/lxGameMode.uasset
LFS
Binary file not shown.
Binary file not shown.
BIN
Content/Widgets/WB_Root.uasset
LFS
BIN
Content/Widgets/WB_Root.uasset
LFS
Binary file not shown.
@@ -1,5 +1,6 @@
|
|||||||
|
|
||||||
#include "BlueprintErrors.h"
|
#include "BlueprintErrors.h"
|
||||||
|
#include "Blueprint/BlueprintExceptionInfo.h"
|
||||||
#include "LuaCall.h"
|
#include "LuaCall.h"
|
||||||
#include "Internationalization/TextFormatter.h"
|
#include "Internationalization/TextFormatter.h"
|
||||||
#include "Kismet/KismetSystemLibrary.h"
|
#include "Kismet/KismetSystemLibrary.h"
|
||||||
|
|||||||
@@ -31,18 +31,12 @@ ALuprexGameModeBase::ALuprexGameModeBase()
|
|||||||
//PrimaryActorTick.bCanEverTick = true; // Probably wrong
|
//PrimaryActorTick.bCanEverTick = true; // Probably wrong
|
||||||
//PrimaryActorTick.bTickEvenWhenPaused = true; // Probably wrong
|
//PrimaryActorTick.bTickEvenWhenPaused = true; // Probably wrong
|
||||||
//PrimaryActorTick.TickGroup = TG_PrePhysics; // Probably wrong
|
//PrimaryActorTick.TickGroup = TG_PrePhysics; // Probably wrong
|
||||||
SetActorTickEnabled(true);
|
|
||||||
SetActorTickInterval(0.0f);
|
|
||||||
ResetToInitialState();
|
ResetToInitialState();
|
||||||
OnWorldPreActorTickHandle = FWorldDelegates::OnWorldPreActorTick.AddUObject(this, &ALuprexGameModeBase::OnWorldPreActorTick);
|
|
||||||
OnWorldPostActorTickHandle = FWorldDelegates::OnWorldPostActorTick.AddUObject(this, &ALuprexGameModeBase::OnWorldPostActorTick);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
ALuprexGameModeBase::~ALuprexGameModeBase()
|
ALuprexGameModeBase::~ALuprexGameModeBase()
|
||||||
{
|
{
|
||||||
ResetToInitialState();
|
ResetToInitialState();
|
||||||
FWorldDelegates::OnWorldPreActorTick.Remove(OnWorldPreActorTickHandle);
|
|
||||||
FWorldDelegates::OnWorldPostActorTick.Remove(OnWorldPostActorTickHandle);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// This method runs in the background thread,
|
// This method runs in the background thread,
|
||||||
@@ -74,6 +68,7 @@ uint32 ALuprexGameModeBase::Run() {
|
|||||||
void ALuprexGameModeBase::ResetToInitialState()
|
void ALuprexGameModeBase::ResetToInitialState()
|
||||||
{
|
{
|
||||||
Playing = false;
|
Playing = false;
|
||||||
|
TickEnabled = true;
|
||||||
|
|
||||||
if (TangibleManager != nullptr) {
|
if (TangibleManager != nullptr) {
|
||||||
TangibleManager->ConditionalBeginDestroy();
|
TangibleManager->ConditionalBeginDestroy();
|
||||||
@@ -85,6 +80,12 @@ void ALuprexGameModeBase::ResetToInitialState()
|
|||||||
AssetLookup = nullptr;
|
AssetLookup = nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Stop the tick functions.
|
||||||
|
FWorldDelegates::OnWorldPreActorTick.Remove(OnWorldPreActorTickHandle);
|
||||||
|
FWorldDelegates::OnWorldPostActorTick.Remove(OnWorldPostActorTickHandle);
|
||||||
|
OnWorldPreActorTickHandle.Reset();
|
||||||
|
OnWorldPostActorTickHandle.Reset();
|
||||||
|
|
||||||
// Shut down the thread
|
// Shut down the thread
|
||||||
LuprexUpdateTask.Shutdown();
|
LuprexUpdateTask.Shutdown();
|
||||||
|
|
||||||
@@ -256,7 +257,7 @@ void ALuprexGameModeBase::ConsoleSendInput(const FString& fs)
|
|||||||
|
|
||||||
void ALuprexGameModeBase::OnWorldPreActorTick(UWorld* InWorld, ELevelTick InLevelTick, float deltaseconds)
|
void ALuprexGameModeBase::OnWorldPreActorTick(UWorld* InWorld, ELevelTick InLevelTick, float deltaseconds)
|
||||||
{
|
{
|
||||||
if(Playing && (GetWorld() == InWorld) && (InLevelTick == LEVELTICK_All))
|
if(Playing && TickEnabled && (GetWorld() == InWorld) && (InLevelTick == LEVELTICK_All))
|
||||||
{
|
{
|
||||||
LuprexUpdateTask.Wait();
|
LuprexUpdateTask.Wait();
|
||||||
EngineSeconds += deltaseconds;
|
EngineSeconds += deltaseconds;
|
||||||
@@ -269,18 +270,12 @@ void ALuprexGameModeBase::OnWorldPreActorTick(UWorld* InWorld, ELevelTick InLeve
|
|||||||
|
|
||||||
void ALuprexGameModeBase::OnWorldPostActorTick(UWorld* InWorld, ELevelTick InLevelTick, float deltaseconds)
|
void ALuprexGameModeBase::OnWorldPostActorTick(UWorld* InWorld, ELevelTick InLevelTick, float deltaseconds)
|
||||||
{
|
{
|
||||||
if(Playing && (GetWorld() == InWorld) && (InLevelTick == LEVELTICK_All))
|
if(Playing && TickEnabled && (GetWorld() == InWorld) && (InLevelTick == LEVELTICK_All))
|
||||||
{
|
{
|
||||||
LuprexUpdateTask.Trigger();
|
LuprexUpdateTask.Trigger();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void ALuprexGameModeBase::Tick(float deltaseconds)
|
|
||||||
{
|
|
||||||
Super::Tick(deltaseconds);
|
|
||||||
}
|
|
||||||
|
|
||||||
void ALuprexGameModeBase::BeginPlay()
|
void ALuprexGameModeBase::BeginPlay()
|
||||||
{
|
{
|
||||||
ResetToInitialState();
|
ResetToInitialState();
|
||||||
@@ -341,6 +336,11 @@ void ALuprexGameModeBase::InitializeGlobalState()
|
|||||||
LuprexUpdateTask.Startup(this);
|
LuprexUpdateTask.Startup(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (Playing) {
|
||||||
|
OnWorldPreActorTickHandle = FWorldDelegates::OnWorldPreActorTick.AddUObject(this, &ALuprexGameModeBase::OnWorldPreActorTick);
|
||||||
|
OnWorldPostActorTickHandle = FWorldDelegates::OnWorldPostActorTick.AddUObject(this, &ALuprexGameModeBase::OnWorldPostActorTick);
|
||||||
|
}
|
||||||
|
|
||||||
// Initialize the asset lookup table.
|
// Initialize the asset lookup table.
|
||||||
AssetLookup = NewObject<UlxAssetLookup>(this);
|
AssetLookup = NewObject<UlxAssetLookup>(this);
|
||||||
AssetLookup->RebuildIndex();
|
AssetLookup->RebuildIndex();
|
||||||
|
|||||||
@@ -48,7 +48,6 @@ public:
|
|||||||
ALuprexGameModeBase();
|
ALuprexGameModeBase();
|
||||||
~ALuprexGameModeBase();
|
~ALuprexGameModeBase();
|
||||||
virtual void BeginPlay() override;
|
virtual void BeginPlay() override;
|
||||||
virtual void Tick(float) override;
|
|
||||||
virtual void EndPlay(const EEndPlayReason::Type EndPlayReason);
|
virtual void EndPlay(const EEndPlayReason::Type EndPlayReason);
|
||||||
|
|
||||||
// Delete all the state created in BeginPlay. That
|
// Delete all the state created in BeginPlay. That
|
||||||
@@ -181,6 +180,9 @@ public:
|
|||||||
// True if 'BeginPlay' has been successfully completed.
|
// True if 'BeginPlay' has been successfully completed.
|
||||||
bool Playing;
|
bool Playing;
|
||||||
|
|
||||||
|
// This is always true unless you use the debugger to set it to false.
|
||||||
|
bool TickEnabled;
|
||||||
|
|
||||||
// Current Player ID
|
// Current Player ID
|
||||||
int64 PlayerId;
|
int64 PlayerId;
|
||||||
|
|
||||||
|
|||||||
@@ -26,8 +26,8 @@ void FTriggeredTask::Startup(FRunnable *client) {
|
|||||||
FScopeLock lock(&Mutex);
|
FScopeLock lock(&Mutex);
|
||||||
if (Thread == nullptr) {
|
if (Thread == nullptr) {
|
||||||
Client = client;
|
Client = client;
|
||||||
CallEvent = FPlatformProcess::GetSynchEventFromPool(true);
|
CallEvent = FPlatformProcess::GetSynchEventFromPool(false);
|
||||||
ReturnEvent = FPlatformProcess::GetSynchEventFromPool(false);
|
ReturnEvent = FPlatformProcess::GetSynchEventFromPool(true);
|
||||||
ReturnEvent->Trigger();
|
ReturnEvent->Trigger();
|
||||||
Thread = FRunnableThread::Create(this, TEXT("Worker Thread"));
|
Thread = FRunnableThread::Create(this, TEXT("Worker Thread"));
|
||||||
}
|
}
|
||||||
|
|||||||
BIN
UnrealEngine.zip
LFS
BIN
UnrealEngine.zip
LFS
Binary file not shown.
BIN
integration/User/jyelon/Saved/Profiling/ChaosVD_0.utrace
Normal file
BIN
integration/User/jyelon/Saved/Profiling/ChaosVD_0.utrace
Normal file
Binary file not shown.
Reference in New Issue
Block a user