From 75e11b4323964a18b301dbc3ba35b71974d91253 Mon Sep 17 00:00:00 2001 From: Wojtek Figat Date: Wed, 15 Jul 2026 23:22:02 +0200 Subject: [PATCH] Fix binary modules platform name check issue --- Source/Engine/Platform/Base/PlatformBase.cpp | 33 ++++++++++++++++++++ Source/Engine/Platform/Base/PlatformBase.h | 1 + Source/Engine/Scripting/Scripting.cpp | 4 +-- 3 files changed, 36 insertions(+), 2 deletions(-) diff --git a/Source/Engine/Platform/Base/PlatformBase.cpp b/Source/Engine/Platform/Base/PlatformBase.cpp index d8d03f028..f745fa820 100644 --- a/Source/Engine/Platform/Base/PlatformBase.cpp +++ b/Source/Engine/Platform/Base/PlatformBase.cpp @@ -845,6 +845,39 @@ const Char* ToString(PlatformType type) } } +const Char* ToStringExact(PlatformType type) +{ + switch (type) + { + case PlatformType::Windows: + return TEXT("Windows"); + case PlatformType::XboxOne: + return TEXT("XboxOne"); + case PlatformType::UWP: + return TEXT("UWP"); + case PlatformType::Linux: + return TEXT("Linux"); + case PlatformType::PS4: + return TEXT("PS4"); + case PlatformType::XboxScarlett: + return TEXT("XboxScarlett"); + case PlatformType::Android: + return TEXT("Android"); + case PlatformType::Switch: + return TEXT("Switch"); + case PlatformType::PS5: + return TEXT("PS5"); + case PlatformType::Mac: + return TEXT("Mac"); + case PlatformType::iOS: + return TEXT("iOS"); + case PlatformType::Web: + return TEXT("Web"); + default: + return TEXT(""); + } +} + const Char* ToString(ArchitectureType type) { switch (type) diff --git a/Source/Engine/Platform/Base/PlatformBase.h b/Source/Engine/Platform/Base/PlatformBase.h index bc2caff44..1fd2e21c7 100644 --- a/Source/Engine/Platform/Base/PlatformBase.h +++ b/Source/Engine/Platform/Base/PlatformBase.h @@ -906,4 +906,5 @@ public: }; extern FLAXENGINE_API const Char* ToString(PlatformType type); +extern FLAXENGINE_API const Char* ToStringExact(PlatformType type); extern FLAXENGINE_API const Char* ToString(ArchitectureType type); diff --git a/Source/Engine/Scripting/Scripting.cpp b/Source/Engine/Scripting/Scripting.cpp index 9ae5e0f55..b5927439b 100644 --- a/Source/Engine/Scripting/Scripting.cpp +++ b/Source/Engine/Scripting/Scripting.cpp @@ -369,13 +369,13 @@ bool Scripting::LoadBinaryModules(const String& path, const String& projectFolde const String architecture = JsonTools::GetString(document, "Architecture"); const String configuration = JsonTools::GetString(document, "Configuration"); const Char* engineConfiguration = BUILD_DEBUG ? TEXT("Debug") : (BUILD_DEVELOPMENT ? TEXT("Development") : TEXT("Release")); - if (platform != ToString(PLATFORM_TYPE) || + if (platform != ToStringExact(PLATFORM_TYPE) || architecture != ToString(PLATFORM_ARCH) || configuration != engineConfiguration) { LOG(Error, "Incorrect binary modules configuration!"); LOG(Error, "Loaded: {}, {}, {}", platform, architecture, configuration); - LOG(Error, "Expected: {}, {}, {}", ToString(PLATFORM_TYPE), ToString(PLATFORM_ARCH), engineConfiguration); + LOG(Error, "Expected: {}, {}, {}", ToStringExact(PLATFORM_TYPE), ToString(PLATFORM_ARCH), engineConfiguration); } #endif auto versionControlInfoMember = document.FindMember("VersionControlInfo");