From 279384394cd365d42507f88c0b54c83850975991 Mon Sep 17 00:00:00 2001 From: Mieszko Zielinski Date: Sun, 15 Dec 2024 15:29:12 +0100 Subject: [PATCH] Fixed project's compilation for UE5.6 pre-release Tested against UE5 synced to https://github.com/EpicGames/UnrealEngine/commit/8ccf30a06c9c16bd1d8492ea382001a66029299b Project compiles and runs. --- .../Private/GetTelemetryFromServer.cpp | 7 +++++-- .../MaxQCppSamples/Private/Sample04Actor.cpp | 1 + .../MaxQCppSamples/Private/Sample05Actor.cpp | 1 + .../MaxQCppSamples/Private/Sample06Actor.cpp | 1 + .../MaxQCppSamples/Private/SampleUtilities.cpp | 15 +++++++++++++-- .../Source/MaxQCppSamples/Public/Sample04Actor.h | 2 +- .../Source/MaxQCppSamples/Public/Sample05Actor.h | 1 + .../Source/MaxQCppSamples/Public/Sample06Actor.h | 1 + Plugins/MaxQ/Source/Spice/Private/SpiceData.cpp | 4 +++- .../Source/Spice/Private/SpiceDiagnostics.cpp | 1 + Plugins/MaxQ/Source/Spice/Public/SpiceConstants.h | 4 ++++ Plugins/MaxQ/Source/Spice/Public/SpiceEnums.h | 1 + .../Private/K2Node_MathGenericInterface.cpp | 1 + .../Source/SpiceUncooked/Private/K2Node_hat.cpp | 5 +++-- .../Source/SpiceUncooked/Private/K2Node_minus.cpp | 5 +++-- .../Source/SpiceUncooked/Private/K2Node_pack.cpp | 5 +++-- .../Source/SpiceUncooked/Private/K2Node_upack.cpp | 5 +++-- .../Source/SpiceUncooked/Private/K2Node_vadd.cpp | 5 +++-- .../Source/SpiceUncooked/Private/K2Node_vsub.cpp | 13 +++++++------ Source/Spice.Target.cs | 4 ++-- Source/SpiceEditor.Target.cs | 4 ++-- 21 files changed, 60 insertions(+), 26 deletions(-) diff --git a/Plugins/MaxQ/Source/MaxQCppSamples/Private/GetTelemetryFromServer.cpp b/Plugins/MaxQ/Source/MaxQCppSamples/Private/GetTelemetryFromServer.cpp index 1a5d244..d2f94a1 100644 --- a/Plugins/MaxQ/Source/MaxQCppSamples/Private/GetTelemetryFromServer.cpp +++ b/Plugins/MaxQ/Source/MaxQCppSamples/Private/GetTelemetryFromServer.cpp @@ -96,8 +96,11 @@ void UGetTelemetryFromServer_AsyncExecution::Activate() FString Mistake; switch (pRequest->GetStatus()) { - case EHttpRequestStatus::Failed_ConnectionError: - Mistake = TEXT("Connection failed."); + case EHttpRequestStatus::Failed: + if (pRequest->GetFailureReason() == EHttpFailureReason::ConnectionError) + { + Mistake = TEXT("Connection failed."); + } default: Mistake = TEXT("Request failed."); } diff --git a/Plugins/MaxQ/Source/MaxQCppSamples/Private/Sample04Actor.cpp b/Plugins/MaxQ/Source/MaxQCppSamples/Private/Sample04Actor.cpp index 877730e..6f61ec2 100644 --- a/Plugins/MaxQ/Source/MaxQCppSamples/Private/Sample04Actor.cpp +++ b/Plugins/MaxQ/Source/MaxQCppSamples/Private/Sample04Actor.cpp @@ -6,6 +6,7 @@ // GitHub: https://github.com/Gamergenic1/MaxQ/ #include "Sample04Actor.h" +#include "Engine/Engine.h" #include "Spice.h" using MaxQSamples::Log; diff --git a/Plugins/MaxQ/Source/MaxQCppSamples/Private/Sample05Actor.cpp b/Plugins/MaxQ/Source/MaxQCppSamples/Private/Sample05Actor.cpp index 03035e2..fdf3c47 100644 --- a/Plugins/MaxQ/Source/MaxQCppSamples/Private/Sample05Actor.cpp +++ b/Plugins/MaxQ/Source/MaxQCppSamples/Private/Sample05Actor.cpp @@ -6,6 +6,7 @@ // GitHub: https://github.com/Gamergenic1/MaxQ/ #include "Sample05Actor.h" +#include "Engine/Engine.h" #include "SpiceTypes.h" #include "Spice.h" #include "SampleUtilities.h" diff --git a/Plugins/MaxQ/Source/MaxQCppSamples/Private/Sample06Actor.cpp b/Plugins/MaxQ/Source/MaxQCppSamples/Private/Sample06Actor.cpp index ae68443..218890e 100644 --- a/Plugins/MaxQ/Source/MaxQCppSamples/Private/Sample06Actor.cpp +++ b/Plugins/MaxQ/Source/MaxQCppSamples/Private/Sample06Actor.cpp @@ -9,6 +9,7 @@ #include "Misc/Paths.h" #include "HAL/FileManager.h" #include "GenericPlatform/GenericPlatformMisc.h" +#include "Engine/Engine.h" #include "Spice.h" using MaxQSamples::Log; diff --git a/Plugins/MaxQ/Source/MaxQCppSamples/Private/SampleUtilities.cpp b/Plugins/MaxQ/Source/MaxQCppSamples/Private/SampleUtilities.cpp index adcd5a6..0de7173 100644 --- a/Plugins/MaxQ/Source/MaxQCppSamples/Private/SampleUtilities.cpp +++ b/Plugins/MaxQ/Source/MaxQCppSamples/Private/SampleUtilities.cpp @@ -10,6 +10,14 @@ #include "Interfaces/IHttpRequest.h" #include "Interfaces/IHttpResponse.h" #include "Spice.h" +#include "Misc/Paths.h" +#include "HAL/PlatformFileManager.h" +#include "GenericPlatform/GenericPlatformFile.h" +#include "GameFramework/Actor.h" +#include "Engine/Engine.h" +#include "HAL/FileManager.h" +#include "Components/StaticMeshComponent.h" +#include "Engine/StaticMesh.h" #if WITH_EDITOR #include "Interfaces/IPluginManager.h" @@ -646,8 +654,11 @@ void USampleUtilities::GetTelemetryFromServer(FTelemetryCallback Callback, FStri FString Mistake; switch (pRequest->GetStatus()) { - case EHttpRequestStatus::Failed_ConnectionError: - Mistake = TEXT("Connection failed."); + case EHttpRequestStatus::Failed: + if (pRequest->GetFailureReason() == EHttpFailureReason::ConnectionError) + { + Mistake = TEXT("Connection failed."); + } default: Mistake = TEXT("Request failed."); } diff --git a/Plugins/MaxQ/Source/MaxQCppSamples/Public/Sample04Actor.h b/Plugins/MaxQ/Source/MaxQCppSamples/Public/Sample04Actor.h index 0b540c0..339ce77 100644 --- a/Plugins/MaxQ/Source/MaxQCppSamples/Public/Sample04Actor.h +++ b/Plugins/MaxQ/Source/MaxQCppSamples/Public/Sample04Actor.h @@ -8,13 +8,13 @@ #pragma once #include "CoreMinimal.h" +#include "GameFramework/Actor.h" #include "SpiceConstants.h" #include "SpiceTypes.h" #include "SampleUtilities.h" #include "UObject/WeakObjectPtrTemplates.h" #include "Sample04Actor.generated.h" -class AActor; //----------------------------------------------------------------------------- // Sample04 diff --git a/Plugins/MaxQ/Source/MaxQCppSamples/Public/Sample05Actor.h b/Plugins/MaxQ/Source/MaxQCppSamples/Public/Sample05Actor.h index aaa1900..4962bf5 100644 --- a/Plugins/MaxQ/Source/MaxQCppSamples/Public/Sample05Actor.h +++ b/Plugins/MaxQ/Source/MaxQCppSamples/Public/Sample05Actor.h @@ -9,6 +9,7 @@ #include "CoreMinimal.h" #include "SampleUtilities.h" +#include "GameFramework/Actor.h" #include "Sample05Actor.generated.h" diff --git a/Plugins/MaxQ/Source/MaxQCppSamples/Public/Sample06Actor.h b/Plugins/MaxQ/Source/MaxQCppSamples/Public/Sample06Actor.h index 9c0a6bf..dda0157 100644 --- a/Plugins/MaxQ/Source/MaxQCppSamples/Public/Sample06Actor.h +++ b/Plugins/MaxQ/Source/MaxQCppSamples/Public/Sample06Actor.h @@ -8,6 +8,7 @@ #pragma once #include "CoreMinimal.h" +#include "GameFramework/Actor.h" #include "SpiceConstants.h" #include "SpiceTypes.h" #include "SampleUtilities.h" diff --git a/Plugins/MaxQ/Source/Spice/Private/SpiceData.cpp b/Plugins/MaxQ/Source/Spice/Private/SpiceData.cpp index afe5676..890dedd 100644 --- a/Plugins/MaxQ/Source/Spice/Private/SpiceData.cpp +++ b/Plugins/MaxQ/Source/Spice/Private/SpiceData.cpp @@ -23,6 +23,8 @@ #include "SpiceData.h" #include "SpiceUtilities.h" +#include "Misc/Paths.h" +#include "HAL/FileManager.h" PRAGMA_PUSH_PLATFORM_DEFAULT_PACKING extern "C" @@ -378,7 +380,7 @@ namespace MaxQ::Data if (!ErrorCheck(ResultCode, ErrorMessage) && n_actual != N) { if (ResultCode) *ResultCode = ES_ResultCode::Error; - if (ErrorMessage) *ErrorMessage = FString::Printf(TEXT("Blueprint request for BODY%s_%s Expected double[%d] but proc returned double[%d]"), bodyid, *item, N, n_actual); + if (ErrorMessage) *ErrorMessage = FString::Printf(TEXT("Blueprint request for BODY%d_%s Expected double[%d] but proc returned double[%d]"), bodyid, *item, N, n_actual); } } diff --git a/Plugins/MaxQ/Source/Spice/Private/SpiceDiagnostics.cpp b/Plugins/MaxQ/Source/Spice/Private/SpiceDiagnostics.cpp index 0d53a7e..3f8710b 100644 --- a/Plugins/MaxQ/Source/Spice/Private/SpiceDiagnostics.cpp +++ b/Plugins/MaxQ/Source/Spice/Private/SpiceDiagnostics.cpp @@ -20,6 +20,7 @@ #include "Containers/StringFwd.h" #include "Spice.h" #include "SpiceUtilities.h" +#include "Misc/Paths.h" #include #include diff --git a/Plugins/MaxQ/Source/Spice/Public/SpiceConstants.h b/Plugins/MaxQ/Source/Spice/Public/SpiceConstants.h index 1dde7a6..63af0aa 100644 --- a/Plugins/MaxQ/Source/Spice/Public/SpiceConstants.h +++ b/Plugins/MaxQ/Source/Spice/Public/SpiceConstants.h @@ -17,6 +17,10 @@ #pragma once +#include "HAL/Platform.h" +#include "Containers/UnrealString.h" +#include "UObject/NameTypes.h" + #pragma region NaifFNames namespace MaxQ::Constants { diff --git a/Plugins/MaxQ/Source/Spice/Public/SpiceEnums.h b/Plugins/MaxQ/Source/Spice/Public/SpiceEnums.h index 5adf00e..662f4b0 100644 --- a/Plugins/MaxQ/Source/Spice/Public/SpiceEnums.h +++ b/Plugins/MaxQ/Source/Spice/Public/SpiceEnums.h @@ -20,6 +20,7 @@ #include "CoreMinimal.h" #include "SpicePlatformDefs.h" +#include "SpiceEnums.generated.h" UENUM(BlueprintType) enum class ES_ResultCode : uint8 diff --git a/Plugins/MaxQ/Source/SpiceUncooked/Private/K2Node_MathGenericInterface.cpp b/Plugins/MaxQ/Source/SpiceUncooked/Private/K2Node_MathGenericInterface.cpp index a2becec..d1c3e20 100644 --- a/Plugins/MaxQ/Source/SpiceUncooked/Private/K2Node_MathGenericInterface.cpp +++ b/Plugins/MaxQ/Source/SpiceUncooked/Private/K2Node_MathGenericInterface.cpp @@ -14,6 +14,7 @@ #include "K2Node_MathGenericInterface.h" #include "EdGraphSchema_K2.h" +#include "K2Node.h" void IK2Node_MathGenericInterface::NotifyConnectionChanged(UEdGraphPin* Pin, UEdGraphPin* Connection) diff --git a/Plugins/MaxQ/Source/SpiceUncooked/Private/K2Node_hat.cpp b/Plugins/MaxQ/Source/SpiceUncooked/Private/K2Node_hat.cpp index f935dab..c66deb9 100644 --- a/Plugins/MaxQ/Source/SpiceUncooked/Private/K2Node_hat.cpp +++ b/Plugins/MaxQ/Source/SpiceUncooked/Private/K2Node_hat.cpp @@ -288,11 +288,12 @@ FText UK2Node_hat::GetNodeTitle(ENodeTitleType::Type TitleType) const case ENodeTitleType::FullTitle: /** The full title, may be multiple lines. */ return LOCTEXT("ListViewTitle", "vhat"); - if (!bUseShortNameForTitle && !OperandType.TypeName.IsNone()) + // commented out to avoid compilation error C4702: unreachable code + /*if (!bUseShortNameForTitle && !OperandType.TypeName.IsNone()) { return FText::FromString(FString::Printf(TEXT("vhat %s"), *OperandType.TypeName.ToString())); } - break; + break;*/ case ENodeTitleType::MenuTitle: /** Menu Title for context menus to be displayed in context menus referencing the node. */ return LOCTEXT("MenuTitle", "vhat - Unit vector"); diff --git a/Plugins/MaxQ/Source/SpiceUncooked/Private/K2Node_minus.cpp b/Plugins/MaxQ/Source/SpiceUncooked/Private/K2Node_minus.cpp index 722bdd3..c77cbd0 100644 --- a/Plugins/MaxQ/Source/SpiceUncooked/Private/K2Node_minus.cpp +++ b/Plugins/MaxQ/Source/SpiceUncooked/Private/K2Node_minus.cpp @@ -296,11 +296,12 @@ FText UK2Node_minus::GetNodeTitle(ENodeTitleType::Type TitleType) const case ENodeTitleType::FullTitle: /** The full title, may be multiple lines. */ return LOCTEXT("ListViewTitle", "vminus"); - if (!bUseShortNameForTitle && !OperandType.TypeName.IsNone()) + // commented out to avoid compilation error C4702: unreachable code + /*if (!bUseShortNameForTitle && !OperandType.TypeName.IsNone()) { return FText::FromString(FString::Printf(TEXT("vminus %s"), *OperandType.TypeName.ToString())); } - break; + break;*/ case ENodeTitleType::MenuTitle: /** Menu Title for context menus to be displayed in context menus referencing the node. */ return LOCTEXT("MenuTitle", "vminus - Negate vector"); diff --git a/Plugins/MaxQ/Source/SpiceUncooked/Private/K2Node_pack.cpp b/Plugins/MaxQ/Source/SpiceUncooked/Private/K2Node_pack.cpp index f536522..67264b0 100644 --- a/Plugins/MaxQ/Source/SpiceUncooked/Private/K2Node_pack.cpp +++ b/Plugins/MaxQ/Source/SpiceUncooked/Private/K2Node_pack.cpp @@ -419,11 +419,12 @@ FText UK2Node_pack::GetNodeTitle(ENodeTitleType::Type TitleType) const case ENodeTitleType::FullTitle: /** The full title, may be multiple lines. */ return LOCTEXT("ListViewTitle", "vpack"); - if (!bUseShortNameForTitle && !OperandType.TypeName.IsNone()) + // commented out to avoid compilation error C4702: unreachable code + /*if (!bUseShortNameForTitle && !OperandType.TypeName.IsNone()) { return FText::FromString(FString::Printf(TEXT("vpack %s"), *OperandType.TypeName.ToString())); } - break; + break;*/ case ENodeTitleType::MenuTitle: /** Menu Title for context menus to be displayed in context menus referencing the node. */ return LOCTEXT("MenuTitle", "vpack - Pack/Init MaxQ vector"); diff --git a/Plugins/MaxQ/Source/SpiceUncooked/Private/K2Node_upack.cpp b/Plugins/MaxQ/Source/SpiceUncooked/Private/K2Node_upack.cpp index 69e92c7..8aefe48 100644 --- a/Plugins/MaxQ/Source/SpiceUncooked/Private/K2Node_upack.cpp +++ b/Plugins/MaxQ/Source/SpiceUncooked/Private/K2Node_upack.cpp @@ -402,11 +402,12 @@ FText UK2Node_upack::GetNodeTitle(ENodeTitleType::Type TitleType) const case ENodeTitleType::FullTitle: /** The full title, may be multiple lines. */ return LOCTEXT("ListViewTitle", "vupack"); - if (!bUseShortNameForTitle && !OperandType.TypeName.IsNone()) + // commented out to avoid compilation error C4702: unreachable code + /*if (!bUseShortNameForTitle && !OperandType.TypeName.IsNone()) { return FText::FromString(FString::Printf(TEXT("vupack %s"), *OperandType.TypeName.ToString())); } - break; + break;*/ case ENodeTitleType::MenuTitle: /** Menu Title for context menus to be displayed in context menus referencing the node. */ return LOCTEXT("MenuTitle", "vupack - Unpack MaxQ vector"); diff --git a/Plugins/MaxQ/Source/SpiceUncooked/Private/K2Node_vadd.cpp b/Plugins/MaxQ/Source/SpiceUncooked/Private/K2Node_vadd.cpp index 45ebe5c..32372f2 100644 --- a/Plugins/MaxQ/Source/SpiceUncooked/Private/K2Node_vadd.cpp +++ b/Plugins/MaxQ/Source/SpiceUncooked/Private/K2Node_vadd.cpp @@ -33,11 +33,12 @@ FText UK2Node_vadd::GetNodeTitle(ENodeTitleType::Type TitleType) const case ENodeTitleType::FullTitle: /** The full title, may be multiple lines. */ return LOCTEXT("ListViewTitle", "vadd"); - if (!bUseShortNameForTitle && !OperandType.TypeName.IsNone()) + // commented out to avoid compilation error C4702: unreachable code + /*if (!bUseShortNameForTitle && !OperandType.TypeName.IsNone()) { return FText::FromString(FString::Printf(TEXT("vadd %s"), *OperandType.TypeName.ToString())); } - break; + break;*/ case ENodeTitleType::MenuTitle: /** Menu Title for context menus to be displayed in context menus referencing the node. */ return LOCTEXT("MenuTitle", "vadd - Add MaxQ vectors"); diff --git a/Plugins/MaxQ/Source/SpiceUncooked/Private/K2Node_vsub.cpp b/Plugins/MaxQ/Source/SpiceUncooked/Private/K2Node_vsub.cpp index 40904ce..e7d47a4 100644 --- a/Plugins/MaxQ/Source/SpiceUncooked/Private/K2Node_vsub.cpp +++ b/Plugins/MaxQ/Source/SpiceUncooked/Private/K2Node_vsub.cpp @@ -32,12 +32,13 @@ FText UK2Node_vsub::GetNodeTitle(ENodeTitleType::Type TitleType) const { case ENodeTitleType::FullTitle: return LOCTEXT("ListViewTitle", "vsub"); - if (!bUseShortNameForTitle && !OperandType.TypeName.IsNone()) - { - /** The full title, may be multiple lines. */ - return FText::FromString(FString::Printf(TEXT("vsub %s"), *OperandType.TypeName.ToString())); - } - break; + // commented out to avoid compilation error C4702: unreachable code + //if (!bUseShortNameForTitle && !OperandType.TypeName.IsNone()) + //{ + // /** The full title, may be multiple lines. */ + // return FText::FromString(FString::Printf(TEXT("vsub %s"), *OperandType.TypeName.ToString())); + //} + //break; case ENodeTitleType::MenuTitle: /** Menu Title for context menus to be displayed in context menus referencing the node. */ return LOCTEXT("MenuTitle", "vsub - Subtract two MaxQ vectors"); diff --git a/Source/Spice.Target.cs b/Source/Spice.Target.cs index aa419db..6aaa951 100644 --- a/Source/Spice.Target.cs +++ b/Source/Spice.Target.cs @@ -13,13 +13,13 @@ public class SpiceTarget : TargetRules public SpiceTarget(TargetInfo Target) : base(Target) { Type = TargetType.Game; - DefaultBuildSettings = BuildSettingsVersion.V2; + DefaultBuildSettings = BuildSettingsVersion.V5; IncludeOrderVersion = EngineIncludeOrderVersion.Latest; // Assumes CSpice_Library has already been built. ExtraModuleNames.Add("Spice"); ExtraModuleNames.Add("MaxQMain"); - CppStandard = CppStandardVersion.Cpp17; + CppStandard = CppStandardVersion.Cpp20; } } diff --git a/Source/SpiceEditor.Target.cs b/Source/SpiceEditor.Target.cs index cb503fc..b36d3c6 100644 --- a/Source/SpiceEditor.Target.cs +++ b/Source/SpiceEditor.Target.cs @@ -22,7 +22,7 @@ public class SpiceEditorTarget : TargetRules public SpiceEditorTarget(TargetInfo Target) : base(Target) { Type = TargetType.Editor; - DefaultBuildSettings = BuildSettingsVersion.V2; + DefaultBuildSettings = BuildSettingsVersion.V5; IncludeOrderVersion = EngineIncludeOrderVersion.Latest; bUseFastPDBLinking = false; @@ -34,7 +34,7 @@ public SpiceEditorTarget(TargetInfo Target) : base(Target) UpdateDocs(Target); BuildCSpiceLib(this); - CppStandard = CppStandardVersion.Cpp17; + CppStandard = CppStandardVersion.Cpp20; } public void UpdateDocs(TargetInfo Target)