resourcefile.h
来自「游戏编程精粹6第1章 通用编程,对入门的游戏开发者很有帮助.」· C头文件 代码 · 共 65 行
H
65 行
#ifndef _RESOURCE_FILE_
#define _RESOURCE_FILE_
#include "core_defs.h"
#include "basefile.h"
#include <vector>
#include <string>
#include <map>
#define ResourceFileFilenameMaxLen 256
typedef std::vector<std::string> ResourceFileStringTable;
class FileInterface;
struct ResourceFileHeader
{
uint32 nVersion;
uint32 nNumFiles;
};
struct ResourceFileEntry
{
uint16 nStringTableIndex;
uint32 nFlags;
uint32 nFileSize;
uint32 nCompressedFileSize;
uint32 nFilepointer;
};
struct ResourceFileStats
{
uint32 nFlags;
uint32 nFileSize;
};
typedef std::vector<ResourceFileEntry> FileEntryTable;
typedef std::map<std::string, ResourceFileEntry> FileTable;
class ResourceFile
{
public:
ResourceFile();
~ResourceFile();
GEN_RESULT Open(const char* szFilename);
GEN_RESULT Close();
GEN_RESULT ClosePackedFile(BaseFile* pFile);
BaseFile* Find(const char* szFilename, ResourceFileStats *pEntry);
uint32 GetNumFiles();
BaseFile* GetFileFromIndex(uint32 nIndex, ResourceFileStats *pEntry);
BaseFile* GetFileHandle(){ return m_pFileHandle; }
protected:
BaseFile *m_pFileHandle;
FileInterface *m_pFileSystem;
//Current file system stats
ResourceFileHeader m_FileHeader;
ResourceFileStringTable m_FileStringTable;
FileEntryTable m_FileEntryHeaderTable;
FileTable m_FileTable;
};
#endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?