textureloaderblp.h
来自「骨骼动画....把魔兽模型解出的代码..」· C头文件 代码 · 共 99 行
H
99 行
//+-----------------------------------------------------------------------------
//| Inclusion guard
//+-----------------------------------------------------------------------------
#ifndef MAGOS_TEXTURE_LOADER_BLP_H
#define MAGOS_TEXTURE_LOADER_BLP_H
//+-----------------------------------------------------------------------------
//| Included files
//+-----------------------------------------------------------------------------
#include "TextureLoader.h"
//+-----------------------------------------------------------------------------
//| Constants
//+-----------------------------------------------------------------------------
CONST INT MAX_NR_OF_BLP_MIP_MAPS = 16;
//+-----------------------------------------------------------------------------
//| Blp header structure
//+-----------------------------------------------------------------------------
struct BLP_HEADER
{
BLP_HEADER()
{
MagicNumber = '1PLB';
Compression = 0;
Flags = 0;
Width = 0;
Height = 0;
PictureType = 0;
PictureSubType = 0;
ZeroMemory(Offset, MAX_NR_OF_BLP_MIP_MAPS * sizeof(DWORD));
ZeroMemory(Size, MAX_NR_OF_BLP_MIP_MAPS * sizeof(DWORD));
}
DWORD MagicNumber;
DWORD Compression;
DWORD Flags;
DWORD Width;
DWORD Height;
DWORD PictureType;
DWORD PictureSubType;
DWORD Offset[MAX_NR_OF_BLP_MIP_MAPS];
DWORD Size[MAX_NR_OF_BLP_MIP_MAPS];
};
//+-----------------------------------------------------------------------------
//| Blp RGBA structure
//+-----------------------------------------------------------------------------
struct BLP_RGBA
{
UCHAR Red;
UCHAR Green;
UCHAR Blue;
UCHAR Alpha;
};
//+-----------------------------------------------------------------------------
//| Blp pixel structure
//+-----------------------------------------------------------------------------
struct BLP_PIXEL
{
UCHAR Index;
};
//+-----------------------------------------------------------------------------
//| Texture loader blp class
//+-----------------------------------------------------------------------------
class TEXTURE_LOADER_BLP : public TEXTURE_LOADER
{
public:
CONSTRUCTOR TEXTURE_LOADER_BLP();
DESTRUCTOR ~TEXTURE_LOADER_BLP();
virtual BOOL Save(TEXTURE& Texture, CONST std::string& FileName, BUFFER& Buffer);
virtual BOOL Load(TEXTURE& Texture, CONST std::string& FileName, BUFFER& Buffer);
protected:
static BOOL LoadCompressed(TEXTURE& Texture, BLP_HEADER& Header, BUFFER& Buffer);
static BOOL LoadUncompressed(TEXTURE& Texture, BLP_HEADER& Header, BUFFER& Buffer);
};
//+-----------------------------------------------------------------------------
//| Global objects
//+-----------------------------------------------------------------------------
extern TEXTURE_LOADER_BLP TextureLoaderBlp;
//+-----------------------------------------------------------------------------
//| End of inclusion guard
//+-----------------------------------------------------------------------------
#endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?