Merge branch 'FlaxEngine:master' into fix/nullable

This commit is contained in:
Mateusz Karbowiak
2024-10-07 01:11:51 +02:00
committed by GitHub
4 changed files with 42 additions and 9 deletions

View File

@@ -13,6 +13,37 @@ using namespace pugi;
Array<ProjectInfo*> ProjectInfo::ProjectsCache;
struct XmlCharAsChar
{
#if PLATFORM_TEXT_IS_CHAR16
Char* Str = nullptr;
XmlCharAsChar(const pugi::char_t* str)
{
if (!str)
return;
int32 length = 0;
while (str[length])
length++;
Str = (Char*)Platform::Allocate(length * sizeof(Char), sizeof(Char));
for (int32 i = 0; i <= length; i++)
Str[i] = (Char)str[i];
}
~XmlCharAsChar()
{
Platform::Free(Str);
}
#else
const Char* Str;
XmlCharAsChar(const pugi::char_t* str)
: Str(str)
{
}
#endif
};
void ShowProjectLoadError(const Char* errorMsg, const String& projectRootFolder)
{
Platform::Error(String::Format(TEXT("Failed to load project. {0}\nPath: '{1}'"), errorMsg, projectRootFolder));
@@ -28,8 +59,9 @@ Vector3 GetVector3FromXml(const xml_node& parent, const PUGIXML_CHAR* name, cons
const auto z = node.child_value(PUGIXML_TEXT("Z"));
if (x && y && z)
{
XmlCharAsChar xs(x), ys(y), zs(z);
Vector3 v;
if (!StringUtils::Parse(x, &v.X) && !StringUtils::Parse(y, &v.Y) && !StringUtils::Parse(z, &v.Z))
if (!StringUtils::Parse(xs.Str, &v.X) && !StringUtils::Parse(ys.Str, &v.Y) && !StringUtils::Parse(zs.Str, &v.Z))
{
return v;
}
@@ -44,8 +76,9 @@ int32 GetIntFromXml(const xml_node& parent, const PUGIXML_CHAR* name, const int3
const auto node = parent.child_value(name);
if (node)
{
XmlCharAsChar s(node);
int32 v;
if (!StringUtils::Parse(node, &v))
if (!StringUtils::Parse(s.Str, &v))
{
return v;
}

View File

@@ -186,8 +186,8 @@ API_ENUM() enum class ArchitectureType
#ifndef PLATFORM_ARCH_ARM64
#define PLATFORM_ARCH_ARM64 0
#endif
#ifndef PLATFORM_WCHAR_IS_CHAR16
#define PLATFORM_WCHAR_IS_CHAR16 0
#ifndef PLATFORM_TEXT_IS_CHAR16
#define PLATFORM_TEXT_IS_CHAR16 0
#endif
#ifndef PLATFORM_DEBUG_BREAK
#define PLATFORM_DEBUG_BREAK

View File

@@ -224,7 +224,7 @@ public:
template<typename T>
static bool ParseHex(const T* str, uint32* result)
{
return StringUtils::ParseHex(str, StringUtils::Length((const T*)str), result);
return StringUtils::ParseHex(str, StringUtils::Length(str), result);
}
// Parses text to the unsigned integer value. Returns true if failed to convert the value.
@@ -321,7 +321,7 @@ public:
template<typename T, typename U>
static bool Parse(const T* str, U* result)
{
return StringUtils::Parse((const T*)str, StringUtils::Length((const T*)str), (U*)result);
return StringUtils::Parse(str, StringUtils::Length(str), result);
}
// Parses text to the scalar value. Returns true if failed to convert the value.

View File

@@ -539,17 +539,17 @@ bool TextureTool::ImportTextureStb(ImageType type, const StringView& path, Textu
if (options.FlipX)
{
// TODO: impl this
LOG(Warning "Option 'Flip X' is not supported");
LOG(Warning, "Option 'Flip X' is not supported");
}
if (options.InvertGreenChannel)
{
// TODO: impl this
LOG(Warning "Option 'Invert Green Channel' is not supported");
LOG(Warning, "Option 'Invert Green Channel' is not supported");
}
if (options.ReconstructZChannel)
{
// TODO: impl this
LOG(Warning "Option 'Reconstruct Z Channel' is not supported");
LOG(Warning, "Option 'Reconstruct Z Channel' is not supported");
}
// Generate mip maps chain