Switch from Nz prefix to namespace Nz

What a huge commit


Former-commit-id: 38ac5eebf70adc1180f571f6006192d28fb99897
This commit is contained in:
Lynix
2015-09-25 19:20:05 +02:00
parent c214251ecf
commit df8da275c4
609 changed files with 68265 additions and 66534 deletions

View File

@@ -11,113 +11,119 @@
#include <memory>
#include <Nazara/Utility/Debug.hpp>
namespace
namespace Nz
{
bool IsSupported(const NzString& extension)
namespace
{
return (extension == "dds");
}
nzTernary Check(NzInputStream& stream, const NzImageParams& parameters)
{
NazaraUnused(parameters);
nzUInt32 magic;
if (stream.Read(&magic, sizeof(nzUInt32)) == sizeof(nzUInt32))
bool IsSupported(const String& extension)
{
#ifdef NAZARA_BIG_ENDIAN
NzByteSwap(&magic, sizeof(nzUInt32));
#endif
if (magic == DDS_MAGIC)
return nzTernary_True;
return (extension == "dds");
}
return nzTernary_False;
}
bool Load(NzImage* image, NzInputStream& stream, const NzImageParams& parameters)
{
NazaraUnused(parameters);
DDSHeader header;
if (stream.Read(&header, sizeof(DDSHeader)) != sizeof(DDSHeader))
Ternary Check(InputStream& stream, const ImageParams& parameters)
{
NazaraError("Failed to read DDS header");
return false;
}
NazaraUnused(parameters);
DDSHeaderDX10Ext headerDX10;
if (header.format.flags & DDPF_FOURCC && header.format.fourCC == D3DFMT_DX10)
{
if (stream.Read(&headerDX10, sizeof(DDSHeaderDX10Ext)) != sizeof(DDSHeaderDX10Ext))
UInt32 magic;
if (stream.Read(&magic, sizeof(UInt32)) == sizeof(UInt32))
{
NazaraError("Failed to read DDS DX10 extension header");
#ifdef NAZARA_BIG_ENDIAN
NzByteSwap(&magic, sizeof(UInt32));
#endif
if (magic == DDS_MAGIC)
return Ternary_True;
}
return Ternary_False;
}
bool Load(Image* image, InputStream& stream, const ImageParams& parameters)
{
NazaraUnused(parameters);
DDSHeader header;
if (stream.Read(&header, sizeof(DDSHeader)) != sizeof(DDSHeader))
{
NazaraError("Failed to read DDS header");
return false;
}
DDSHeaderDX10Ext headerDX10;
if (header.format.flags & DDPF_FOURCC && header.format.fourCC == D3DFMT_DX10)
{
if (stream.Read(&headerDX10, sizeof(DDSHeaderDX10Ext)) != sizeof(DDSHeaderDX10Ext))
{
NazaraError("Failed to read DDS DX10 extension header");
return false;
}
}
else
{
headerDX10.arraySize = 1;
headerDX10.dxgiFormat = DXGI_FORMAT_UNKNOWN;
headerDX10.miscFlag = 0;
headerDX10.resourceDimension = D3D10_RESOURCE_DIMENSION_UNKNOWN;
}
#ifdef NAZARA_BIG_ENDIAN
// Les fichiers DDS sont en little endian
NzByteSwap(&header.size, sizeof(UInt32));
NzByteSwap(&header.flags, sizeof(UInt32));
NzByteSwap(&header.height, sizeof(UInt32));
NzByteSwap(&header.width, sizeof(UInt32));
NzByteSwap(&header.pitch, sizeof(UInt32));
NzByteSwap(&header.depth, sizeof(UInt32));
NzByteSwap(&header.levelCount, sizeof(UInt32));
// DDS_PixelFormat
NzByteSwap(&header.format.size, sizeof(UInt32));
NzByteSwap(&header.format.flags, sizeof(UInt32));
NzByteSwap(&header.format.fourCC, sizeof(UInt32));
NzByteSwap(&header.format.bpp, sizeof(UInt32));
NzByteSwap(&header.format.redMask, sizeof(UInt32));
NzByteSwap(&header.format.greenMask, sizeof(UInt32));
NzByteSwap(&header.format.blueMask, sizeof(UInt32));
NzByteSwap(&header.format.alphaMask, sizeof(UInt32));
NzByteSwap(&header.ddsCaps1, sizeof(UInt32));
NzByteSwap(&header.ddsCaps2, sizeof(UInt32));
NzByteSwap(&header.ddsCaps3, sizeof(UInt32));
NzByteSwap(&header.ddsCaps4, sizeof(UInt32));
#endif
unsigned int width = header.width;
unsigned int height = header.height;
unsigned int depth = std::max(header.depth, 1U);
unsigned int levelCount = (parameters.levelCount > 0) ? std::min(parameters.levelCount, static_cast<UInt8>(header.levelCount)) : header.levelCount;
// Détermination du type
ImageType type;
if (header.ddsCaps2 & DDSCAPS2_CUBEMAP)
type = ImageType_Cubemap;
else if (header.ddsCaps2 & DDSCAPS2_VOLUME)
type = ImageType_3D;
// Détermination du format
PixelFormatType format;
if (parameters.loadFormat != PixelFormatType_Undefined)
image->Convert(parameters.loadFormat);
return true;
}
else
}
namespace Loaders
{
void RegisterDDS()
{
headerDX10.arraySize = 1;
headerDX10.dxgiFormat = DXGI_FORMAT_UNKNOWN;
headerDX10.miscFlag = 0;
headerDX10.resourceDimension = D3D10_RESOURCE_DIMENSION_UNKNOWN;
ImageLoader::RegisterLoader(IsSupported, Check, Load);
}
#ifdef NAZARA_BIG_ENDIAN
// Les fichiers DDS sont en little endian
NzByteSwap(&header.size, sizeof(nzUInt32));
NzByteSwap(&header.flags, sizeof(nzUInt32));
NzByteSwap(&header.height, sizeof(nzUInt32));
NzByteSwap(&header.width, sizeof(nzUInt32));
NzByteSwap(&header.pitch, sizeof(nzUInt32));
NzByteSwap(&header.depth, sizeof(nzUInt32));
NzByteSwap(&header.levelCount, sizeof(nzUInt32));
// DDS_PixelFormat
NzByteSwap(&header.format.size, sizeof(nzUInt32));
NzByteSwap(&header.format.flags, sizeof(nzUInt32));
NzByteSwap(&header.format.fourCC, sizeof(nzUInt32));
NzByteSwap(&header.format.bpp, sizeof(nzUInt32));
NzByteSwap(&header.format.redMask, sizeof(nzUInt32));
NzByteSwap(&header.format.greenMask, sizeof(nzUInt32));
NzByteSwap(&header.format.blueMask, sizeof(nzUInt32));
NzByteSwap(&header.format.alphaMask, sizeof(nzUInt32));
NzByteSwap(&header.ddsCaps1, sizeof(nzUInt32));
NzByteSwap(&header.ddsCaps2, sizeof(nzUInt32));
NzByteSwap(&header.ddsCaps3, sizeof(nzUInt32));
NzByteSwap(&header.ddsCaps4, sizeof(nzUInt32));
#endif
unsigned int width = header.width;
unsigned int height = header.height;
unsigned int depth = std::max(header.depth, 1U);
unsigned int levelCount = (parameters.levelCount > 0) ? std::min(parameters.levelCount, static_cast<nzUInt8>(header.levelCount)) : header.levelCount;
// Détermination du type
nzImageType type;
if (header.ddsCaps2 & DDSCAPS2_CUBEMAP)
type = nzImageType_Cubemap;
else if (header.ddsCaps2 & DDSCAPS2_VOLUME)
type = nzImageType_3D;
// Détermination du format
nzPixelFormat format;
if (parameters.loadFormat != nzPixelFormat_Undefined)
image->Convert(parameters.loadFormat);
return true;
void UnregisterDDS()
{
ImageLoader::UnregisterLoader(IsSupported, Check, Load);
}
}
}
void NzLoaders_DDS_Register()
{
NzImageLoader::RegisterLoader(IsSupported, Check, Load);
}
void NzLoaders_DDS_Unregister()
{
NzImageLoader::UnregisterLoader(IsSupported, Check, Load);
}