server/libgame/include/targa.h

47 lines
885 B
C
Raw Normal View History

2022-03-05 12:44:06 +02:00
#ifndef __INC_METIN_II_SERVER_TARGA_H__
#define __INC_METIN_II_SERVER_TARGA_H__
#pragma pack(1)
struct TGA_HEADER
{
char idLen; // 0
char palType; // <20>ķ<EFBFBD>Ʈ<EFBFBD><C6AE><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 1, <20><><EFBFBD><EFBFBD> 0
char imgType; // <20>ķ<EFBFBD>Ʈ<EFBFBD><C6AE><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 1, <20><><EFBFBD><EFBFBD> 2
WORD colorBegin; // 0
WORD colorCount; // <20>ķ<EFBFBD>Ʈ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 256, <20><><EFBFBD><EFBFBD> 0
char palEntrySize; // <20>ķ<EFBFBD>Ʈ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 24, <20><><EFBFBD><EFBFBD> 0
WORD left;
WORD top;
WORD width;
WORD height;
char colorBits;
char desc;
};
#define IMAGEDESC_ORIGIN_MASK 0x30
#define IMAGEDESC_TOPLEFT 0x20
#define IMAGEDESC_BOTLEFT 0x00
#define IMAGEDESC_BOTRIGHT 0x10
#define IMAGEDESC_TOPRIGHT 0x30
#pragma pack()
class CTargaImage
{
public:
CTargaImage();
~CTargaImage();
void Create(int x, int y);
char * GetBasePointer(int line = 0);
bool Save(const char * filename);
protected:
TGA_HEADER m_header;
char * m_pbuf;
int m_x, m_y;
};
#endif