mirror of
https://github.com/Laupetin/OpenAssetTools.git
synced 2025-04-19 15:52:53 +00:00
Move D3DFormat definition into separate namespace to make it compatible to existing definitions
This commit is contained in:
parent
c4150279d0
commit
cd53c3cbe4
@ -2,6 +2,9 @@
|
|||||||
|
|
||||||
#include "Utils/FileUtils.h"
|
#include "Utils/FileUtils.h"
|
||||||
|
|
||||||
|
// This is a redefinition to make this enum available on platforms without DirectX headers
|
||||||
|
namespace oat
|
||||||
|
{
|
||||||
enum D3DFORMAT
|
enum D3DFORMAT
|
||||||
{
|
{
|
||||||
D3DFMT_UNKNOWN = 0,
|
D3DFMT_UNKNOWN = 0,
|
||||||
@ -106,3 +109,4 @@ enum D3DFORMAT
|
|||||||
|
|
||||||
D3DFMT_FORCE_DWORD = 0x7fffffff
|
D3DFMT_FORCE_DWORD = 0x7fffffff
|
||||||
};
|
};
|
||||||
|
} // namespace oat
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
#include "ImageFormat.h"
|
#include "ImageFormat.h"
|
||||||
|
|
||||||
ImageFormat::ImageFormat(const ImageFormatId id, const D3DFORMAT d3dFormat, const DXGI_FORMAT dxgiFormat)
|
ImageFormat::ImageFormat(const ImageFormatId id, const oat::D3DFORMAT d3dFormat, const DXGI_FORMAT dxgiFormat)
|
||||||
: m_id(id),
|
: m_id(id),
|
||||||
m_d3d_format(d3dFormat),
|
m_d3d_format(d3dFormat),
|
||||||
m_dxgi_format(dxgiFormat)
|
m_dxgi_format(dxgiFormat)
|
||||||
@ -12,7 +12,7 @@ ImageFormatId ImageFormat::GetId() const
|
|||||||
return m_id;
|
return m_id;
|
||||||
}
|
}
|
||||||
|
|
||||||
D3DFORMAT ImageFormat::GetD3DFormat() const
|
oat::D3DFORMAT ImageFormat::GetD3DFormat() const
|
||||||
{
|
{
|
||||||
return m_d3d_format;
|
return m_d3d_format;
|
||||||
}
|
}
|
||||||
@ -23,7 +23,7 @@ DXGI_FORMAT ImageFormat::GetDxgiFormat() const
|
|||||||
}
|
}
|
||||||
|
|
||||||
ImageFormatUnsigned::ImageFormatUnsigned(const ImageFormatId id,
|
ImageFormatUnsigned::ImageFormatUnsigned(const ImageFormatId id,
|
||||||
const D3DFORMAT d3dFormat,
|
const oat::D3DFORMAT d3dFormat,
|
||||||
const DXGI_FORMAT dxgiFormat,
|
const DXGI_FORMAT dxgiFormat,
|
||||||
const unsigned bitsPerPixel,
|
const unsigned bitsPerPixel,
|
||||||
const unsigned rOffset,
|
const unsigned rOffset,
|
||||||
@ -78,7 +78,7 @@ size_t ImageFormatUnsigned::GetSizeOfMipLevel(const unsigned mipLevel, const uns
|
|||||||
}
|
}
|
||||||
|
|
||||||
ImageFormatBlockCompressed::ImageFormatBlockCompressed(
|
ImageFormatBlockCompressed::ImageFormatBlockCompressed(
|
||||||
const ImageFormatId id, const D3DFORMAT d3dFormat, const DXGI_FORMAT dxgiFormat, const unsigned blockSize, const unsigned bitsPerBlock)
|
const ImageFormatId id, const oat::D3DFORMAT d3dFormat, const DXGI_FORMAT dxgiFormat, const unsigned blockSize, const unsigned bitsPerBlock)
|
||||||
: ImageFormat(id, d3dFormat, dxgiFormat),
|
: ImageFormat(id, d3dFormat, dxgiFormat),
|
||||||
m_block_size(blockSize),
|
m_block_size(blockSize),
|
||||||
m_bits_per_block(bitsPerBlock)
|
m_bits_per_block(bitsPerBlock)
|
||||||
@ -140,22 +140,23 @@ bool ImageFormatUnsigned::HasA() const
|
|||||||
return m_a_size > 0;
|
return m_a_size > 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
const ImageFormatUnsigned ImageFormat::FORMAT_R8_G8_B8(ImageFormatId::R8_G8_B8, D3DFMT_R8G8B8, DXGI_FORMAT_UNKNOWN, 24, 0, 8, 8, 8, 16, 8, 0, 0);
|
const ImageFormatUnsigned ImageFormat::FORMAT_R8_G8_B8(ImageFormatId::R8_G8_B8, oat::D3DFMT_R8G8B8, DXGI_FORMAT_UNKNOWN, 24, 0, 8, 8, 8, 16, 8, 0, 0);
|
||||||
const ImageFormatUnsigned ImageFormat::FORMAT_B8_G8_R8_X8(ImageFormatId::B8_G8_R8_X8, D3DFMT_X8R8G8B8, DXGI_FORMAT_B8G8R8X8_UNORM, 32, 16, 8, 8, 8, 0, 8, 0, 0);
|
|
||||||
const ImageFormatUnsigned
|
const ImageFormatUnsigned
|
||||||
ImageFormat::FORMAT_R8_G8_B8_A8(ImageFormatId::R8_G8_B8_A8, D3DFMT_A8B8G8R8, DXGI_FORMAT_R8G8B8A8_UNORM, 32, 0, 8, 8, 8, 16, 8, 24, 8);
|
ImageFormat::FORMAT_B8_G8_R8_X8(ImageFormatId::B8_G8_R8_X8, oat::D3DFMT_X8R8G8B8, DXGI_FORMAT_B8G8R8X8_UNORM, 32, 16, 8, 8, 8, 0, 8, 0, 0);
|
||||||
const ImageFormatUnsigned
|
const ImageFormatUnsigned
|
||||||
ImageFormat::FORMAT_B8_G8_R8_A8(ImageFormatId::B8_G8_R8_A8, D3DFMT_A8R8G8B8, DXGI_FORMAT_B8G8R8A8_UNORM, 32, 16, 8, 8, 8, 0, 8, 24, 8);
|
ImageFormat::FORMAT_R8_G8_B8_A8(ImageFormatId::R8_G8_B8_A8, oat::D3DFMT_A8B8G8R8, DXGI_FORMAT_R8G8B8A8_UNORM, 32, 0, 8, 8, 8, 16, 8, 24, 8);
|
||||||
const ImageFormatUnsigned ImageFormat::FORMAT_A8(ImageFormatId::A8, D3DFMT_A8, DXGI_FORMAT_A8_UNORM, 8, 0, 0, 0, 0, 0, 0, 0, 8);
|
const ImageFormatUnsigned
|
||||||
|
ImageFormat::FORMAT_B8_G8_R8_A8(ImageFormatId::B8_G8_R8_A8, oat::D3DFMT_A8R8G8B8, DXGI_FORMAT_B8G8R8A8_UNORM, 32, 16, 8, 8, 8, 0, 8, 24, 8);
|
||||||
|
const ImageFormatUnsigned ImageFormat::FORMAT_A8(ImageFormatId::A8, oat::D3DFMT_A8, DXGI_FORMAT_A8_UNORM, 8, 0, 0, 0, 0, 0, 0, 0, 8);
|
||||||
const ImageFormatUnsigned ImageFormat::FORMAT_R16_G16_B16_A16_FLOAT(
|
const ImageFormatUnsigned ImageFormat::FORMAT_R16_G16_B16_A16_FLOAT(
|
||||||
ImageFormatId::R16_G16_B16_A16_FLOAT, D3DFMT_A16B16G16R16F, DXGI_FORMAT_R16G16B16A16_FLOAT, 128, 0, 0, 0, 0, 0, 0, 0, 8);
|
ImageFormatId::R16_G16_B16_A16_FLOAT, oat::D3DFMT_A16B16G16R16F, DXGI_FORMAT_R16G16B16A16_FLOAT, 128, 0, 0, 0, 0, 0, 0, 0, 8);
|
||||||
const ImageFormatUnsigned ImageFormat::FORMAT_R8(ImageFormatId::R8, D3DFMT_L8, DXGI_FORMAT_R8_UNORM, 8, 0, 8, 0, 0, 0, 0, 0, 0);
|
const ImageFormatUnsigned ImageFormat::FORMAT_R8(ImageFormatId::R8, oat::D3DFMT_L8, DXGI_FORMAT_R8_UNORM, 8, 0, 8, 0, 0, 0, 0, 0, 0);
|
||||||
const ImageFormatUnsigned ImageFormat::FORMAT_R8_A8(ImageFormatId::R8_A8, D3DFMT_A8L8, DXGI_FORMAT_UNKNOWN, 16, 0, 8, 0, 0, 0, 0, 8, 8);
|
const ImageFormatUnsigned ImageFormat::FORMAT_R8_A8(ImageFormatId::R8_A8, oat::D3DFMT_A8L8, DXGI_FORMAT_UNKNOWN, 16, 0, 8, 0, 0, 0, 0, 8, 8);
|
||||||
const ImageFormatBlockCompressed ImageFormat::FORMAT_BC1(ImageFormatId::BC1, D3DFMT_DXT1, DXGI_FORMAT_BC1_UNORM, 4, 64);
|
const ImageFormatBlockCompressed ImageFormat::FORMAT_BC1(ImageFormatId::BC1, oat::D3DFMT_DXT1, DXGI_FORMAT_BC1_UNORM, 4, 64);
|
||||||
const ImageFormatBlockCompressed ImageFormat::FORMAT_BC2(ImageFormatId::BC2, D3DFMT_DXT3, DXGI_FORMAT_BC2_UNORM, 4, 128);
|
const ImageFormatBlockCompressed ImageFormat::FORMAT_BC2(ImageFormatId::BC2, oat::D3DFMT_DXT3, DXGI_FORMAT_BC2_UNORM, 4, 128);
|
||||||
const ImageFormatBlockCompressed ImageFormat::FORMAT_BC3(ImageFormatId::BC3, D3DFMT_DXT5, DXGI_FORMAT_BC3_UNORM, 4, 128);
|
const ImageFormatBlockCompressed ImageFormat::FORMAT_BC3(ImageFormatId::BC3, oat::D3DFMT_DXT5, DXGI_FORMAT_BC3_UNORM, 4, 128);
|
||||||
const ImageFormatBlockCompressed ImageFormat::FORMAT_BC4(ImageFormatId::BC4, D3DFMT_UNKNOWN, DXGI_FORMAT_BC4_UNORM, 4, 64);
|
const ImageFormatBlockCompressed ImageFormat::FORMAT_BC4(ImageFormatId::BC4, oat::D3DFMT_UNKNOWN, DXGI_FORMAT_BC4_UNORM, 4, 64);
|
||||||
const ImageFormatBlockCompressed ImageFormat::FORMAT_BC5(ImageFormatId::BC5, D3DFMT_UNKNOWN, DXGI_FORMAT_BC5_UNORM, 4, 128);
|
const ImageFormatBlockCompressed ImageFormat::FORMAT_BC5(ImageFormatId::BC5, oat::D3DFMT_UNKNOWN, DXGI_FORMAT_BC5_UNORM, 4, 128);
|
||||||
|
|
||||||
const ImageFormat* const ImageFormat::ALL_FORMATS[static_cast<unsigned>(ImageFormatId::MAX)]{
|
const ImageFormat* const ImageFormat::ALL_FORMATS[static_cast<unsigned>(ImageFormatId::MAX)]{
|
||||||
&FORMAT_R8_G8_B8,
|
&FORMAT_R8_G8_B8,
|
||||||
|
@ -39,17 +39,17 @@ class ImageFormatBlockCompressed;
|
|||||||
class ImageFormat
|
class ImageFormat
|
||||||
{
|
{
|
||||||
ImageFormatId m_id;
|
ImageFormatId m_id;
|
||||||
D3DFORMAT m_d3d_format;
|
oat::D3DFORMAT m_d3d_format;
|
||||||
DXGI_FORMAT m_dxgi_format;
|
DXGI_FORMAT m_dxgi_format;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
ImageFormat(ImageFormatId id, D3DFORMAT d3dFormat, DXGI_FORMAT dxgiFormat);
|
ImageFormat(ImageFormatId id, oat::D3DFORMAT d3dFormat, DXGI_FORMAT dxgiFormat);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
virtual ~ImageFormat() = default;
|
virtual ~ImageFormat() = default;
|
||||||
|
|
||||||
ImageFormatId GetId() const;
|
ImageFormatId GetId() const;
|
||||||
D3DFORMAT GetD3DFormat() const;
|
oat::D3DFORMAT GetD3DFormat() const;
|
||||||
DXGI_FORMAT GetDxgiFormat() const;
|
DXGI_FORMAT GetDxgiFormat() const;
|
||||||
|
|
||||||
virtual ImageFormatType GetType() const = 0;
|
virtual ImageFormatType GetType() const = 0;
|
||||||
@ -86,7 +86,7 @@ public:
|
|||||||
unsigned m_a_size;
|
unsigned m_a_size;
|
||||||
|
|
||||||
ImageFormatUnsigned(ImageFormatId id,
|
ImageFormatUnsigned(ImageFormatId id,
|
||||||
D3DFORMAT d3dFormat,
|
oat::D3DFORMAT d3dFormat,
|
||||||
DXGI_FORMAT dxgiFormat,
|
DXGI_FORMAT dxgiFormat,
|
||||||
unsigned bitsPerPixel,
|
unsigned bitsPerPixel,
|
||||||
unsigned rOffset,
|
unsigned rOffset,
|
||||||
@ -114,7 +114,7 @@ public:
|
|||||||
unsigned m_block_size;
|
unsigned m_block_size;
|
||||||
unsigned m_bits_per_block;
|
unsigned m_bits_per_block;
|
||||||
|
|
||||||
ImageFormatBlockCompressed(ImageFormatId id, D3DFORMAT d3dFormat, DXGI_FORMAT dxgiFormat, unsigned blockSize, unsigned bitsPerBlock);
|
ImageFormatBlockCompressed(ImageFormatId id, oat::D3DFORMAT d3dFormat, DXGI_FORMAT dxgiFormat, unsigned blockSize, unsigned bitsPerBlock);
|
||||||
|
|
||||||
ImageFormatType GetType() const override;
|
ImageFormatType GetType() const override;
|
||||||
size_t GetPitch(unsigned mipLevel, unsigned width) const override;
|
size_t GetPitch(unsigned mipLevel, unsigned width) const override;
|
||||||
|
@ -88,7 +88,7 @@ void ObjLoader::LoadImageFromLoadDef(GfxImage* image, Zone* zone)
|
|||||||
else
|
else
|
||||||
textureLoader.Type(TextureType::T_2D);
|
textureLoader.Type(TextureType::T_2D);
|
||||||
|
|
||||||
textureLoader.Format(static_cast<D3DFORMAT>(loadDef->format));
|
textureLoader.Format(static_cast<oat::D3DFORMAT>(loadDef->format));
|
||||||
textureLoader.HasMipMaps(!(loadDef->flags & iwi6::IMG_FLAG_NOMIPMAPS));
|
textureLoader.HasMipMaps(!(loadDef->flags & iwi6::IMG_FLAG_NOMIPMAPS));
|
||||||
Texture* loadedTexture = textureLoader.LoadTexture(image->texture.loadDef->data);
|
Texture* loadedTexture = textureLoader.LoadTexture(image->texture.loadDef->data);
|
||||||
|
|
||||||
|
@ -130,7 +130,7 @@ void ObjLoader::LoadImageFromLoadDef(GfxImage* image, Zone* zone)
|
|||||||
else
|
else
|
||||||
textureLoader.Type(TextureType::T_2D);
|
textureLoader.Type(TextureType::T_2D);
|
||||||
|
|
||||||
textureLoader.Format(static_cast<D3DFORMAT>(loadDef->format));
|
textureLoader.Format(static_cast<oat::D3DFORMAT>(loadDef->format));
|
||||||
textureLoader.HasMipMaps(!(loadDef->flags & iwi8::IMG_FLAG_NOMIPMAPS));
|
textureLoader.HasMipMaps(!(loadDef->flags & iwi8::IMG_FLAG_NOMIPMAPS));
|
||||||
Texture* loadedTexture = textureLoader.LoadTexture(image->texture.loadDef->data);
|
Texture* loadedTexture = textureLoader.LoadTexture(image->texture.loadDef->data);
|
||||||
|
|
||||||
|
@ -106,7 +106,7 @@ void ObjLoader::LoadImageFromLoadDef(GfxImage* image, Zone* zone)
|
|||||||
else
|
else
|
||||||
textureLoader.Type(TextureType::T_2D);
|
textureLoader.Type(TextureType::T_2D);
|
||||||
|
|
||||||
textureLoader.Format(static_cast<D3DFORMAT>(loadDef->format));
|
textureLoader.Format(static_cast<oat::D3DFORMAT>(loadDef->format));
|
||||||
textureLoader.HasMipMaps(!(loadDef->flags & iwi8::IMG_FLAG_NOMIPMAPS));
|
textureLoader.HasMipMaps(!(loadDef->flags & iwi8::IMG_FLAG_NOMIPMAPS));
|
||||||
Texture* loadedTexture = textureLoader.LoadTexture(image->texture.loadDef->data);
|
Texture* loadedTexture = textureLoader.LoadTexture(image->texture.loadDef->data);
|
||||||
|
|
||||||
|
@ -95,7 +95,7 @@ void ObjLoader::LoadImageFromLoadDef(GfxImage* image, Zone* zone)
|
|||||||
else
|
else
|
||||||
textureLoader.Type(TextureType::T_2D);
|
textureLoader.Type(TextureType::T_2D);
|
||||||
|
|
||||||
textureLoader.Format(static_cast<D3DFORMAT>(loadDef->format));
|
textureLoader.Format(static_cast<oat::D3DFORMAT>(loadDef->format));
|
||||||
textureLoader.HasMipMaps(!(loadDef->flags & iwi13::IMG_FLAG_NOMIPMAPS));
|
textureLoader.HasMipMaps(!(loadDef->flags & iwi13::IMG_FLAG_NOMIPMAPS));
|
||||||
Texture* loadedTexture = textureLoader.LoadTexture(image->texture.loadDef->data);
|
Texture* loadedTexture = textureLoader.LoadTexture(image->texture.loadDef->data);
|
||||||
|
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
|
|
||||||
Dx9TextureLoader::Dx9TextureLoader(MemoryManager* memoryManager)
|
Dx9TextureLoader::Dx9TextureLoader(MemoryManager* memoryManager)
|
||||||
: m_memory_manager(memoryManager),
|
: m_memory_manager(memoryManager),
|
||||||
m_format(D3DFMT_UNKNOWN),
|
m_format(oat::D3DFMT_UNKNOWN),
|
||||||
m_type(TextureType::T_2D),
|
m_type(TextureType::T_2D),
|
||||||
m_has_mip_maps(false),
|
m_has_mip_maps(false),
|
||||||
m_width(1u),
|
m_width(1u),
|
||||||
@ -24,7 +24,7 @@ const ImageFormat* Dx9TextureLoader::GetFormatForDx9Format() const
|
|||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
Dx9TextureLoader& Dx9TextureLoader::Format(const D3DFORMAT format)
|
Dx9TextureLoader& Dx9TextureLoader::Format(const oat::D3DFORMAT format)
|
||||||
{
|
{
|
||||||
m_format = format;
|
m_format = format;
|
||||||
return *this;
|
return *this;
|
||||||
|
@ -10,7 +10,7 @@
|
|||||||
class Dx9TextureLoader
|
class Dx9TextureLoader
|
||||||
{
|
{
|
||||||
MemoryManager* m_memory_manager;
|
MemoryManager* m_memory_manager;
|
||||||
D3DFORMAT m_format;
|
oat::D3DFORMAT m_format;
|
||||||
TextureType m_type;
|
TextureType m_type;
|
||||||
bool m_has_mip_maps;
|
bool m_has_mip_maps;
|
||||||
size_t m_width;
|
size_t m_width;
|
||||||
@ -22,7 +22,7 @@ class Dx9TextureLoader
|
|||||||
public:
|
public:
|
||||||
explicit Dx9TextureLoader(MemoryManager* memoryManager);
|
explicit Dx9TextureLoader(MemoryManager* memoryManager);
|
||||||
|
|
||||||
Dx9TextureLoader& Format(D3DFORMAT format);
|
Dx9TextureLoader& Format(oat::D3DFORMAT format);
|
||||||
Dx9TextureLoader& Type(TextureType textureType);
|
Dx9TextureLoader& Type(TextureType textureType);
|
||||||
Dx9TextureLoader& HasMipMaps(bool hasMipMaps);
|
Dx9TextureLoader& HasMipMaps(bool hasMipMaps);
|
||||||
Dx9TextureLoader& Width(size_t width);
|
Dx9TextureLoader& Width(size_t width);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user