⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 md_file.h

📁 我用MDEngine写的游戏
💻 H
字号:
//********************************************************************
//						MD 引擎 数据文件 管理部件的定义
//		Powered by @J--S Studio			Johnhans		2002.8.23
//********************************************************************

#ifndef MD_FILE_H
#define MD_FILE_H

#ifdef MDENGINE_EXPORTS
#define MDENGINE_API __declspec(dllexport)
#else
#define MDENGINE_API __declspec(dllimport)
#endif

// FilePackage Structure

typedef struct FilePackHeader
{
	unsigned	mark : 8;
	unsigned	ENC  : 8;
	DWORD		FileNum;
}FPHeader;

typedef struct FilePackage
{
	char	name[20];
	__int32	offset;
	__int32	length;
	__int32 lengthcomed;
}FPack;

class MDENGINE_API CMD_File
{
public:
	CMD_File(void);
	CMD_File(TCHAR* FileName, bool bReadOnly, bool bPacked=false);
	virtual ~CMD_File(void);

public:
	bool	Open(TCHAR* FileName, bool bReadOnly, bool bPacked=false);
	void	Close();
	bool	Save(TCHAR* FileName);
	bool	Seek(long move, BYTE method=FILE_CURRENT);
	bool	Read(LPVOID lpbuffer,DWORD size);
	bool	Write(LPCVOID buffer,DWORD size);
	DWORD	GetLength() { return GetFileSize(m_hFile,NULL);}
	bool	ReadFromPackage(LPVOID lpbuffer,int index);
	bool	ReadFromPackage(LPVOID lpbuffer,TCHAR *FileName) { return ReadFromPackage(lpbuffer,GetPFileIndex(FileName));}
	const	FPHeader *GetPackInfo() { return &m_FPHeader;}
	const	FPack *GetPackFileInfo(int index);
	const	FPack *GetPackFileInfo(TCHAR *FileName) { return GetPackFileInfo(GetPFileIndex(FileName));}

private:
	HANDLE	m_hFile;				// 文件句柄
	TCHAR	m_FileName[MAX_PATH];	// 文件名
	FPHeader m_FPHeader;			// 文件头信息
	FPack	*m_lpTable;				// 文件索引表
	bool	b_Packed;				// 文件是否是压缩包

private:
	int		GetPFileIndex(TCHAR* FileName);
};

#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -