ResourceLoader SteamChecker now return a ternary
Former-commit-id: 2ee274ebb2b61f39e93f6ff2306b5a326b158594
This commit is contained in:
@@ -24,20 +24,23 @@ namespace
|
||||
return (extension == "md2");
|
||||
}
|
||||
|
||||
bool Check(NzInputStream& stream, const NzMeshParams& parameters)
|
||||
nzTernary Check(NzInputStream& stream, const NzMeshParams& parameters)
|
||||
{
|
||||
NazaraUnused(parameters);
|
||||
|
||||
nzUInt32 magic[2];
|
||||
if (stream.Read(&magic[0], 2*sizeof(nzUInt32)) != 2*sizeof(nzUInt32))
|
||||
return false;
|
||||
if (stream.Read(&magic[0], 2*sizeof(nzUInt32)) == 2*sizeof(nzUInt32))
|
||||
{
|
||||
#ifdef NAZARA_BIG_ENDIAN
|
||||
NzByteSwap(&magic[0], sizeof(nzUInt32));
|
||||
NzByteSwap(&magic[1], sizeof(nzUInt32));
|
||||
#endif
|
||||
|
||||
#ifdef NAZARA_BIG_ENDIAN
|
||||
NzByteSwap(&magic[0], sizeof(nzUInt32));
|
||||
NzByteSwap(&magic[1], sizeof(nzUInt32));
|
||||
#endif
|
||||
if (magic[0] == md2Ident && magic[1] == 8)
|
||||
return nzTernary_True;
|
||||
}
|
||||
|
||||
return magic[0] == md2Ident && magic[1] == 8;
|
||||
return nzTernary_False;
|
||||
}
|
||||
|
||||
bool Load(NzMesh* mesh, NzInputStream& stream, const NzMeshParams& parameters)
|
||||
|
||||
@@ -13,7 +13,7 @@ namespace
|
||||
return (extension == "md5anim");
|
||||
}
|
||||
|
||||
bool Check(NzInputStream& stream, const NzAnimationParams& parameters)
|
||||
nzTernary Check(NzInputStream& stream, const NzAnimationParams& parameters)
|
||||
{
|
||||
NzMD5AnimParser parser(stream, parameters);
|
||||
return parser.Check();
|
||||
|
||||
@@ -32,16 +32,19 @@ NzMD5AnimParser::~NzMD5AnimParser()
|
||||
m_stream.SetStreamOptions(m_streamFlags);
|
||||
}
|
||||
|
||||
bool NzMD5AnimParser::Check()
|
||||
nzTernary NzMD5AnimParser::Check()
|
||||
{
|
||||
if (!Advance(false))
|
||||
return false;
|
||||
if (Advance(false))
|
||||
{
|
||||
unsigned int version;
|
||||
if (std::sscanf(&m_currentLine[0], " MD5Version %u", &version) == 1)
|
||||
{
|
||||
if (version == 10)
|
||||
return nzTernary_True;
|
||||
}
|
||||
}
|
||||
|
||||
unsigned int version;
|
||||
if (std::sscanf(&m_currentLine[0], " MD5Version %u", &version) != 1)
|
||||
return false;
|
||||
|
||||
return version == 10;
|
||||
return nzTernary_False;
|
||||
}
|
||||
|
||||
bool NzMD5AnimParser::Parse(NzAnimation* animation)
|
||||
|
||||
@@ -21,7 +21,7 @@ class NzMD5AnimParser
|
||||
NzMD5AnimParser(NzInputStream& stream, const NzAnimationParams& parameters);
|
||||
~NzMD5AnimParser();
|
||||
|
||||
bool Check();
|
||||
nzTernary Check();
|
||||
bool Parse(NzAnimation* animation);
|
||||
|
||||
private:
|
||||
|
||||
@@ -13,7 +13,7 @@ namespace
|
||||
return (extension == "md5mesh");
|
||||
}
|
||||
|
||||
bool Check(NzInputStream& stream, const NzMeshParams& parameters)
|
||||
nzTernary Check(NzInputStream& stream, const NzMeshParams& parameters)
|
||||
{
|
||||
NzMD5MeshParser parser(stream, parameters);
|
||||
return parser.Check();
|
||||
|
||||
@@ -36,16 +36,19 @@ NzMD5MeshParser::~NzMD5MeshParser()
|
||||
m_stream.SetStreamOptions(m_streamFlags);
|
||||
}
|
||||
|
||||
bool NzMD5MeshParser::Check()
|
||||
nzTernary NzMD5MeshParser::Check()
|
||||
{
|
||||
if (!Advance(false))
|
||||
return false;
|
||||
if (Advance(false))
|
||||
{
|
||||
unsigned int version;
|
||||
if (std::sscanf(&m_currentLine[0], " MD5Version %u", &version) == 1)
|
||||
{
|
||||
if (version == 10)
|
||||
return nzTernary_True;
|
||||
}
|
||||
}
|
||||
|
||||
unsigned int version;
|
||||
if (std::sscanf(&m_currentLine[0], "MD5Version %u", &version) != 1)
|
||||
return false;
|
||||
|
||||
return version == 10;
|
||||
return nzTernary_False;
|
||||
}
|
||||
|
||||
bool NzMD5MeshParser::Parse(NzMesh* mesh)
|
||||
|
||||
@@ -21,7 +21,7 @@ class NzMD5MeshParser
|
||||
NzMD5MeshParser(NzInputStream& stream, const NzMeshParams& parameters);
|
||||
~NzMD5MeshParser();
|
||||
|
||||
bool Check();
|
||||
nzTernary Check();
|
||||
bool Parse(NzMesh* mesh);
|
||||
|
||||
private:
|
||||
|
||||
@@ -44,15 +44,18 @@ namespace
|
||||
return (extension == "pcx");
|
||||
}
|
||||
|
||||
bool Check(NzInputStream& stream, const NzImageParams& parameters)
|
||||
nzTernary Check(NzInputStream& stream, const NzImageParams& parameters)
|
||||
{
|
||||
NazaraUnused(parameters);
|
||||
|
||||
nzUInt8 manufacturer;
|
||||
if (stream.Read(&manufacturer, 1) != 1)
|
||||
return false;
|
||||
if (stream.Read(&manufacturer, 1) == 1)
|
||||
{
|
||||
if (manufacturer == 0x0a)
|
||||
return nzTernary_True;
|
||||
}
|
||||
|
||||
return manufacturer == 0x0a;
|
||||
return nzTernary_False;
|
||||
}
|
||||
|
||||
bool Load(NzImage* image, NzInputStream& stream, const NzImageParams& parameters)
|
||||
|
||||
@@ -40,12 +40,15 @@ namespace
|
||||
return supportedExtensions.find(extension) != supportedExtensions.end();
|
||||
}
|
||||
|
||||
bool Check(NzInputStream& stream, const NzImageParams& parameters)
|
||||
nzTernary Check(NzInputStream& stream, const NzImageParams& parameters)
|
||||
{
|
||||
NazaraUnused(parameters);
|
||||
|
||||
int width, height, bpp;
|
||||
return stbi_info_from_callbacks(&callbacks, &stream, &width, &height, &bpp);
|
||||
if (stbi_info_from_callbacks(&callbacks, &stream, &width, &height, &bpp))
|
||||
return nzTernary_True;
|
||||
else
|
||||
return nzTernary_False;
|
||||
}
|
||||
|
||||
bool Load(NzImage* image, NzInputStream& stream, const NzImageParams& parameters)
|
||||
|
||||
Reference in New Issue
Block a user