Merge branch 'FlaxEngine:master' into fix/nullable
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user