Add support for custom resource parameters

And allow users to skip a precise loader using them


Former-commit-id: 297af2e4a24ad67c343aae5d89352abf4ea05f63
This commit is contained in:
Lynix
2016-03-08 13:37:17 +01:00
parent b524d9395a
commit dce587bd63
22 changed files with 78 additions and 20 deletions

View File

@@ -17,7 +17,10 @@ namespace Nz
Ternary CheckStatic(Stream& stream, const ModelParameters& parameters)
{
NazaraUnused(stream);
NazaraUnused(parameters);
bool skip;
if (parameters.custom.GetBooleanParameter("NativeStaticMeshLoader_Skip", &skip) && skip)
return Ternary_False;
return Ternary_Unknown;
}
@@ -66,7 +69,10 @@ namespace Nz
Ternary CheckAnimated(Stream& stream, const SkeletalModelParameters& parameters)
{
NazaraUnused(stream);
NazaraUnused(parameters);
bool skip;
if (parameters.custom.GetBooleanParameter("NativeAnimatedMeshLoader_Skip", &skip) && skip)
return Ternary_False;
return Ternary_Unknown;
}

View File

@@ -33,7 +33,10 @@ namespace Nz
Ternary Check(Stream& stream, const ModelParameters& parameters)
{
NazaraUnused(stream);
NazaraUnused(parameters);
bool skip;
if (parameters.custom.GetBooleanParameter("NativeOBJLoader_Skip", &skip) && skip)
return Ternary_False;
return Ternary_Unknown;
}

View File

@@ -15,7 +15,10 @@ namespace Nz
Ternary Check(Stream& stream, const MaterialParams& parameters)
{
NazaraUnused(stream);
NazaraUnused(parameters);
bool skip;
if (parameters.custom.GetBooleanParameter("NativeTextureLoader_Skip", &skip) && skip)
return Ternary_False;
return Ternary_Unknown;
}

View File

@@ -22,7 +22,9 @@ namespace Nz
Ternary Check(Stream& stream, const ImageParams& parameters)
{
NazaraUnused(parameters);
bool skip;
if (parameters.custom.GetBooleanParameter("NativeDDSLoader_Skip", &skip) && skip)
return Ternary_False;
UInt32 magic;
if (stream.Read(&magic, sizeof(UInt32)) == sizeof(UInt32))

View File

@@ -348,7 +348,9 @@ namespace Nz
Ternary Check(Stream& stream, const FontParams& parameters)
{
NazaraUnused(parameters);
bool skip;
if (parameters.custom.GetBooleanParameter("NativeFreeTypeLoader_Skip", &skip) && skip)
return Ternary_False;
FreeTypeStream face;
face.SetStream(stream);

View File

@@ -28,7 +28,9 @@ namespace Nz
Ternary Check(Stream& stream, const MeshParams& parameters)
{
NazaraUnused(parameters);
bool skip;
if (parameters.custom.GetBooleanParameter("NativeMD2Loader_Skip", &skip) && skip)
return Ternary_False;
UInt32 magic[2];
if (stream.Read(&magic[0], 2*sizeof(UInt32)) == 2*sizeof(UInt32))

View File

@@ -17,7 +17,9 @@ namespace Nz
Ternary Check(Stream& stream, const AnimationParams& parameters)
{
NazaraUnused(parameters);
bool skip;
if (parameters.custom.GetBooleanParameter("NativeMD5AnimLoader_Skip", &skip) && skip)
return Ternary_False;
MD5AnimParser parser(stream);
return parser.Check();

View File

@@ -22,7 +22,9 @@ namespace Nz
Ternary Check(Stream& stream, const MeshParams& parameters)
{
NazaraUnused(parameters);
bool skip;
if (parameters.custom.GetBooleanParameter("NativeMD5MeshLoader_Skip", &skip) && skip)
return Ternary_False;
MD5MeshParser parser(stream);
return parser.Check();

View File

@@ -47,7 +47,9 @@ namespace Nz
Ternary Check(Stream& stream, const ImageParams& parameters)
{
NazaraUnused(parameters);
bool skip;
if (parameters.custom.GetBooleanParameter("NativePCXLoader_Skip", &skip) && skip)
return Ternary_False;
UInt8 manufacturer;
if (stream.Read(&manufacturer, 1) == 1)

View File

@@ -45,7 +45,9 @@ namespace Nz
Ternary Check(Stream& stream, const ImageParams& parameters)
{
NazaraUnused(parameters);
bool skip;
if (parameters.custom.GetBooleanParameter("NativeSTBLoader_Skip", &skip) && skip)
return Ternary_False;
int width, height, bpp;
if (stbi_info_from_callbacks(&callbacks, &stream, &width, &height, &bpp))