Core/ResourceLoader: Replace checks by asserts
Former-commit-id: 88be9b70d904856b888ee04829def85f1dee0bc6
This commit is contained in:
parent
0ffc3c6557
commit
6f9d778749
|
|
@ -38,7 +38,7 @@ namespace Nz
|
||||||
}
|
}
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* \brief Loads a resource from a filepath and parameters
|
* \brief Loads a resource from a file
|
||||||
* \return true if successfully loaded
|
* \return true if successfully loaded
|
||||||
*
|
*
|
||||||
* \param resource Resource to load
|
* \param resource Resource to load
|
||||||
|
|
@ -55,19 +55,8 @@ namespace Nz
|
||||||
template<typename Type, typename Parameters>
|
template<typename Type, typename Parameters>
|
||||||
bool ResourceLoader<Type, Parameters>::LoadFromFile(Type* resource, const String& filePath, const Parameters& parameters)
|
bool ResourceLoader<Type, Parameters>::LoadFromFile(Type* resource, const String& filePath, const Parameters& parameters)
|
||||||
{
|
{
|
||||||
#if NAZARA_CORE_SAFE
|
NazaraAssert(resource, "Invalid resource");
|
||||||
if (!resource)
|
NazaraAssert(parameters.IsValid(), "Invalid parameters");
|
||||||
{
|
|
||||||
NazaraError("Pointer invalid");
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!parameters.IsValid())
|
|
||||||
{
|
|
||||||
NazaraError("Invalid parameters");
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
String path = File::NormalizePath(filePath);
|
String path = File::NormalizePath(filePath);
|
||||||
String ext = path.SubStringFrom('.', -1, true).ToLower();
|
String ext = path.SubStringFrom('.', -1, true).ToLower();
|
||||||
|
|
@ -173,25 +162,10 @@ namespace Nz
|
||||||
template<typename Type, typename Parameters>
|
template<typename Type, typename Parameters>
|
||||||
bool ResourceLoader<Type, Parameters>::LoadFromMemory(Type* resource, const void* data, unsigned int size, const Parameters& parameters)
|
bool ResourceLoader<Type, Parameters>::LoadFromMemory(Type* resource, const void* data, unsigned int size, const Parameters& parameters)
|
||||||
{
|
{
|
||||||
#if NAZARA_CORE_SAFE
|
NazaraAssert(resource, "Invalid resource");
|
||||||
if (!resource)
|
NazaraAssert(data, "Invalid data pointer");
|
||||||
{
|
NazaraAssert(size, "No data to load");
|
||||||
NazaraError("Pointer invalid");
|
NazaraAssert(parameters.IsValid(), "Invalid parameters");
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (size == 0)
|
|
||||||
{
|
|
||||||
NazaraError("No data to load");
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!parameters.IsValid())
|
|
||||||
{
|
|
||||||
NazaraError("Invalid parameters");
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
MemoryView stream(data, size);
|
MemoryView stream(data, size);
|
||||||
|
|
||||||
|
|
@ -269,25 +243,9 @@ namespace Nz
|
||||||
template<typename Type, typename Parameters>
|
template<typename Type, typename Parameters>
|
||||||
bool ResourceLoader<Type, Parameters>::LoadFromStream(Type* resource, Stream& stream, const Parameters& parameters)
|
bool ResourceLoader<Type, Parameters>::LoadFromStream(Type* resource, Stream& stream, const Parameters& parameters)
|
||||||
{
|
{
|
||||||
#if NAZARA_CORE_SAFE
|
NazaraAssert(resource, "Invalid resource");
|
||||||
if (!resource)
|
NazaraAssert(stream.GetCursorPos() >= stream.GetSize(), "No data to load");
|
||||||
{
|
NazaraAssert(parameters.IsValid(), "Invalid parameters");
|
||||||
NazaraError("Pointer invalid");
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (stream.GetSize() == 0 || stream.GetCursorPos() >= stream.GetSize())
|
|
||||||
{
|
|
||||||
NazaraError("No data to load");
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!parameters.IsValid())
|
|
||||||
{
|
|
||||||
NazaraError("Invalid parameters");
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
UInt64 streamPos = stream.GetCursorPos();
|
UInt64 streamPos = stream.GetCursorPos();
|
||||||
bool found = false;
|
bool found = false;
|
||||||
|
|
@ -336,21 +294,8 @@ namespace Nz
|
||||||
template<typename Type, typename Parameters>
|
template<typename Type, typename Parameters>
|
||||||
void ResourceLoader<Type, Parameters>::RegisterLoader(ExtensionGetter extensionGetter, StreamChecker checkFunc, StreamLoader streamLoader, FileLoader fileLoader, MemoryLoader memoryLoader)
|
void ResourceLoader<Type, Parameters>::RegisterLoader(ExtensionGetter extensionGetter, StreamChecker checkFunc, StreamLoader streamLoader, FileLoader fileLoader, MemoryLoader memoryLoader)
|
||||||
{
|
{
|
||||||
#if NAZARA_CORE_SAFE
|
NazaraAssert(checkFunc || !streamLoader, "StreamLoader present without StreamChecker");
|
||||||
if (streamLoader)
|
NazaraAssert(fileLoader || memoryLoader || streamLoader, "A loader function is mandatory");
|
||||||
{
|
|
||||||
if (!checkFunc)
|
|
||||||
{
|
|
||||||
NazaraError("StreamLoader present without StreamChecker");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else if (!fileLoader && !memoryLoader)
|
|
||||||
{
|
|
||||||
NazaraError("Neither FileLoader nor MemoryLoader nor StreamLoader were present");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
Type::s_loaders.push_front(std::make_tuple(extensionGetter, checkFunc, streamLoader, fileLoader, memoryLoader));
|
Type::s_loaders.push_front(std::make_tuple(extensionGetter, checkFunc, streamLoader, fileLoader, memoryLoader));
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue