Reworked ResourceLoader

Former-commit-id: 9809e7fcd3657dfe90a0795986d0918f4ae1823c
This commit is contained in:
Lynix
2013-03-23 22:49:06 +01:00
parent 0603590549
commit 8f21a75c43
8 changed files with 121 additions and 58 deletions

View File

@@ -38,11 +38,10 @@ namespace
void NzLoaders_Texture_Register()
{
///FIXME: Pas bon
NzMaterialLoader::RegisterLoader("bmp,gif,hdr,jpg,jpeg,pic,png,psd,tga", Check, Load);
NzMaterialLoader::RegisterLoader(NzImageLoader::IsExtensionSupported, Check, Load);
}
void NzLoaders_Texture_Unregister()
{
NzMaterialLoader::UnregisterLoader("bmp,gif,hdr,jpg,jpeg,pic,png,psd,tga", Check, Load);
NzMaterialLoader::UnregisterLoader(NzImageLoader::IsExtensionSupported, Check, Load);
}

View File

@@ -19,7 +19,11 @@
namespace
{
/// Loader de mesh
bool IsSupported(const NzString& extension)
{
return (extension == "md2");
}
bool Check(NzInputStream& stream, const NzMeshParams& parameters)
{
NazaraUnused(parameters);
@@ -221,10 +225,10 @@ namespace
void NzLoaders_MD2_Register()
{
NzMeshLoader::RegisterLoader("md2", Check, Load);
NzMeshLoader::RegisterLoader(IsSupported, Check, Load);
}
void NzLoaders_MD2_Unregister()
{
NzMeshLoader::UnregisterLoader("md2", Check, Load);
NzMeshLoader::UnregisterLoader(IsSupported, Check, Load);
}

View File

@@ -8,6 +8,11 @@
namespace
{
bool IsSupported(const NzString& extension)
{
return (extension == "md5anim");
}
bool Check(NzInputStream& stream, const NzAnimationParams& parameters)
{
NzMD5AnimParser parser(stream, parameters);
@@ -23,10 +28,10 @@ namespace
void NzLoaders_MD5Anim_Register()
{
NzAnimationLoader::RegisterLoader("md5anim", Check, Load);
NzAnimationLoader::RegisterLoader(IsSupported, Check, Load);
}
void NzLoaders_MD5Anim_Unregister()
{
NzAnimationLoader::UnregisterLoader("md5anim", Check, Load);
NzAnimationLoader::UnregisterLoader(IsSupported, Check, Load);
}

View File

@@ -8,6 +8,11 @@
namespace
{
bool IsSupported(const NzString& extension)
{
return (extension == "md5mesh");
}
bool Check(NzInputStream& stream, const NzMeshParams& parameters)
{
NzMD5MeshParser parser(stream, parameters);
@@ -23,10 +28,10 @@ namespace
void NzLoaders_MD5Mesh_Register()
{
NzMeshLoader::RegisterLoader("md5mesh", Check, Load);
NzMeshLoader::RegisterLoader(IsSupported, Check, Load);
}
void NzLoaders_MD5Mesh_Unregister()
{
NzMeshLoader::UnregisterLoader("md5mesh", Check, Load);
NzMeshLoader::UnregisterLoader(IsSupported, Check, Load);
}

View File

@@ -39,6 +39,11 @@ namespace
//static_assert(sizeof(pcx_header) == 1024, "PCX header must be 1024 bytes sized");
bool IsSupported(const NzString& extension)
{
return (extension == "pcx");
}
bool Check(NzInputStream& stream, const NzImageParams& parameters)
{
NazaraUnused(parameters);
@@ -339,10 +344,10 @@ namespace
void NzLoaders_PCX_Register()
{
NzImageLoader::RegisterLoader("pcx", Check, Load);
NzImageLoader::RegisterLoader(IsSupported, Check, Load);
}
void NzLoaders_PCX_Unregister()
{
NzImageLoader::UnregisterLoader("pcx", Check, Load);
NzImageLoader::UnregisterLoader(IsSupported, Check, Load);
}

View File

@@ -37,6 +37,12 @@ namespace
static stbi_io_callbacks callbacks = {Read, Skip, Eof};
bool IsSupported(const NzString& extension)
{
static std::set<NzString> supportedExtensions = {"bmp", "gif", "hdr", "jpg", "jpeg", "pic", "png", "psd", "tga"};
return supportedExtensions.find(extension) != supportedExtensions.end();
}
bool Check(NzInputStream& stream, const NzImageParams& parameters)
{
NazaraUnused(parameters);
@@ -117,10 +123,10 @@ namespace
void NzLoaders_STB_Register()
{
NzImageLoader::RegisterLoader("bmp,gif,hdr,jpg,jpeg,pic,png,psd,tga", Check, Load);
NzImageLoader::RegisterLoader(IsSupported, Check, Load);
}
void NzLoaders_STB_Unregister()
{
NzImageLoader::UnregisterLoader("bmp,gif,hdr,jpg,jpeg,pic,png,psd,tga", Check, Load);
NzImageLoader::UnregisterLoader(IsSupported, Check, Load);
}