Initial commit: server + serverfiles
This commit is contained in:
Executable
+43
@@ -0,0 +1,43 @@
|
||||
#ifndef __INC_METIN_II_ATTRIBUTE_H__
|
||||
#define __INC_METIN_II_ATTRIBUTE_H__
|
||||
|
||||
enum EDataType
|
||||
{
|
||||
D_DWORD,
|
||||
D_WORD,
|
||||
D_BYTE
|
||||
};
|
||||
|
||||
//
|
||||
// 맵 속성들을 처리할 때 사용
|
||||
//
|
||||
class CAttribute
|
||||
{
|
||||
public:
|
||||
CAttribute(DWORD width, DWORD height); // dword 타잎으로 모두 0을 채운다.
|
||||
CAttribute(DWORD * attr, DWORD width, DWORD height); // attr을 읽어서 smart하게 속성을 읽어온다.
|
||||
~CAttribute();
|
||||
void Alloc();
|
||||
int GetDataType();
|
||||
void * GetDataPtr();
|
||||
void Set(DWORD x, DWORD y, DWORD attr);
|
||||
void Remove(DWORD x, DWORD y, DWORD attr);
|
||||
DWORD Get(DWORD x, DWORD y);
|
||||
void CopyRow(DWORD y, DWORD * row);
|
||||
|
||||
private:
|
||||
void Initialize(DWORD width, DWORD height);
|
||||
|
||||
private:
|
||||
int dataType;
|
||||
DWORD defaultAttr;
|
||||
DWORD width, height;
|
||||
|
||||
void * data;
|
||||
|
||||
BYTE ** bytePtr;
|
||||
WORD ** wordPtr;
|
||||
DWORD ** dwordPtr;
|
||||
};
|
||||
|
||||
#endif
|
||||
Executable
+26
@@ -0,0 +1,26 @@
|
||||
#ifndef __INC_METIN_II_GRID_H__
|
||||
#define __INC_METIN_II_GRID_H__
|
||||
|
||||
class CGrid
|
||||
{
|
||||
public:
|
||||
CGrid(int w, int h);
|
||||
CGrid(CGrid * pkGrid, int w, int h);
|
||||
~CGrid();
|
||||
|
||||
void Clear();
|
||||
int FindBlank(int w, int h);
|
||||
bool IsEmpty(int iPos, int w, int h);
|
||||
bool Put(int iPos, int w, int h);
|
||||
void Get(int iPos, int w, int h);
|
||||
void Print();
|
||||
unsigned int GetSize();
|
||||
|
||||
protected:
|
||||
int m_iWidth;
|
||||
int m_iHeight;
|
||||
|
||||
char * m_pGrid;
|
||||
};
|
||||
|
||||
#endif
|
||||
Executable
+46
@@ -0,0 +1,46 @@
|
||||
#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; // 파레트있으면 1, 없음 0
|
||||
char imgType; // 파레트있으면 1, 없음 2
|
||||
WORD colorBegin; // 0
|
||||
WORD colorCount; // 파레트 있으면 256, 없음 0
|
||||
char palEntrySize; // 파레트 있으면 24, 없음 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
|
||||
Reference in New Issue
Block a user