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")
|
||||
|
||||
|
||||
[/Script/Engine.Engine]
|
||||
GameViewportClientClassName=/Script/CommonUI.CommonGameViewportClient
|
||||
|
||||
[/Script/EngineSettings.GameMapsSettings]
|
||||
GameDefaultMap=/Game/LpxLevel.LpxLevel
|
||||
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="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="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")
|
||||
-ProfileRedirects=(OldName="BlockingVolume",NewName="InvisibleWall")
|
||||
-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="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 "Blueprint/BlueprintExceptionInfo.h"
|
||||
#include "LuaCall.h"
|
||||
#include "Internationalization/TextFormatter.h"
|
||||
#include "Kismet/KismetSystemLibrary.h"
|
||||
|
||||
@@ -31,18 +31,12 @@ ALuprexGameModeBase::ALuprexGameModeBase()
|
||||
//PrimaryActorTick.bCanEverTick = true; // Probably wrong
|
||||
//PrimaryActorTick.bTickEvenWhenPaused = true; // Probably wrong
|
||||
//PrimaryActorTick.TickGroup = TG_PrePhysics; // Probably wrong
|
||||
SetActorTickEnabled(true);
|
||||
SetActorTickInterval(0.0f);
|
||||
ResetToInitialState();
|
||||
OnWorldPreActorTickHandle = FWorldDelegates::OnWorldPreActorTick.AddUObject(this, &ALuprexGameModeBase::OnWorldPreActorTick);
|
||||
OnWorldPostActorTickHandle = FWorldDelegates::OnWorldPostActorTick.AddUObject(this, &ALuprexGameModeBase::OnWorldPostActorTick);
|
||||
}
|
||||
|
||||
ALuprexGameModeBase::~ALuprexGameModeBase()
|
||||
{
|
||||
ResetToInitialState();
|
||||
FWorldDelegates::OnWorldPreActorTick.Remove(OnWorldPreActorTickHandle);
|
||||
FWorldDelegates::OnWorldPostActorTick.Remove(OnWorldPostActorTickHandle);
|
||||
}
|
||||
|
||||
// This method runs in the background thread,
|
||||
@@ -74,6 +68,7 @@ uint32 ALuprexGameModeBase::Run() {
|
||||
void ALuprexGameModeBase::ResetToInitialState()
|
||||
{
|
||||
Playing = false;
|
||||
TickEnabled = true;
|
||||
|
||||
if (TangibleManager != nullptr) {
|
||||
TangibleManager->ConditionalBeginDestroy();
|
||||
@@ -85,6 +80,12 @@ void ALuprexGameModeBase::ResetToInitialState()
|
||||
AssetLookup = nullptr;
|
||||
}
|
||||
|
||||
// Stop the tick functions.
|
||||
FWorldDelegates::OnWorldPreActorTick.Remove(OnWorldPreActorTickHandle);
|
||||
FWorldDelegates::OnWorldPostActorTick.Remove(OnWorldPostActorTickHandle);
|
||||
OnWorldPreActorTickHandle.Reset();
|
||||
OnWorldPostActorTickHandle.Reset();
|
||||
|
||||
// Shut down the thread
|
||||
LuprexUpdateTask.Shutdown();
|
||||
|
||||
@@ -256,7 +257,7 @@ void ALuprexGameModeBase::ConsoleSendInput(const FString& fs)
|
||||
|
||||
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();
|
||||
EngineSeconds += deltaseconds;
|
||||
@@ -269,18 +270,12 @@ void ALuprexGameModeBase::OnWorldPreActorTick(UWorld* InWorld, ELevelTick InLeve
|
||||
|
||||
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();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void ALuprexGameModeBase::Tick(float deltaseconds)
|
||||
{
|
||||
Super::Tick(deltaseconds);
|
||||
}
|
||||
|
||||
void ALuprexGameModeBase::BeginPlay()
|
||||
{
|
||||
ResetToInitialState();
|
||||
@@ -341,6 +336,11 @@ void ALuprexGameModeBase::InitializeGlobalState()
|
||||
LuprexUpdateTask.Startup(this);
|
||||
}
|
||||
|
||||
if (Playing) {
|
||||
OnWorldPreActorTickHandle = FWorldDelegates::OnWorldPreActorTick.AddUObject(this, &ALuprexGameModeBase::OnWorldPreActorTick);
|
||||
OnWorldPostActorTickHandle = FWorldDelegates::OnWorldPostActorTick.AddUObject(this, &ALuprexGameModeBase::OnWorldPostActorTick);
|
||||
}
|
||||
|
||||
// Initialize the asset lookup table.
|
||||
AssetLookup = NewObject<UlxAssetLookup>(this);
|
||||
AssetLookup->RebuildIndex();
|
||||
|
||||
@@ -48,7 +48,6 @@ public:
|
||||
ALuprexGameModeBase();
|
||||
~ALuprexGameModeBase();
|
||||
virtual void BeginPlay() override;
|
||||
virtual void Tick(float) override;
|
||||
virtual void EndPlay(const EEndPlayReason::Type EndPlayReason);
|
||||
|
||||
// Delete all the state created in BeginPlay. That
|
||||
@@ -181,6 +180,9 @@ public:
|
||||
// True if 'BeginPlay' has been successfully completed.
|
||||
bool Playing;
|
||||
|
||||
// This is always true unless you use the debugger to set it to false.
|
||||
bool TickEnabled;
|
||||
|
||||
// Current Player ID
|
||||
int64 PlayerId;
|
||||
|
||||
|
||||
@@ -26,8 +26,8 @@ void FTriggeredTask::Startup(FRunnable *client) {
|
||||
FScopeLock lock(&Mutex);
|
||||
if (Thread == nullptr) {
|
||||
Client = client;
|
||||
CallEvent = FPlatformProcess::GetSynchEventFromPool(true);
|
||||
ReturnEvent = FPlatformProcess::GetSynchEventFromPool(false);
|
||||
CallEvent = FPlatformProcess::GetSynchEventFromPool(false);
|
||||
ReturnEvent = FPlatformProcess::GetSynchEventFromPool(true);
|
||||
ReturnEvent->Trigger();
|
||||
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