📄 vfs.h
字号:
// ==========================================================================================================
//
// BREW v2.0+ OPENGLES MICROENGINE
//
// ----------------------------------------
//
// Written by Vander Nunes
//
// ==========================================================================================================
#ifndef __VFS_H__
#define __VFS_H__
#include "vfs_defs.h"
#include "zip/unzip.h"
#pragma pack (push, 1)
#define ZIPHeaderSig 0x04034b50
typedef PACKED struct
{
LONG Signature; // (0x04034b50)
WORD Version;
WORD Flags;
WORD Method;
LONG LastMod;
LONG CRC32;
LONG CompressedSize;
LONG UnCompressedSize;
WORD FileNameLength;
WORD ExtraLength;
} ZIPHeader;
#define ZIPCtrlHeaderSig 0x02014b50
typedef PACKED struct
{
LONG Signature; // (0x02014b50)
WORD VersionMade;
WORD VersionNeeded;
WORD Flags;
WORD Method;
LONG LastMod;
LONG CRC32;
LONG CompressedSize;
LONG UnCompressedSize;
WORD FileNameLength;
WORD ExtraLength;
WORD CommentLength;
WORD StartDisk;
WORD IniternalAttribs;
LONG ExternalAttribs;
LONG Offset;
} ZIPCtrlHeader;
#define ZIPEndSig 0x06054b50
typedef PACKED struct
{
LONG Signature; // (0x06054b50)
WORD DiskNumber;
WORD StartDiskNumber;
WORD FilesOnDisk;
WORD Files;
LONG Size;
LONG Offset;
WORD CommentLength;
} ZIPEnd;
#pragma pack (pop)
//
// Virtual File System class
//
class CVfs
{
private:
char* m_pMemory;
char* m_pReadMemory;
DWORD m_dwMemorySize;
CUnzip m_Zip;
public:
CVfs();
~CVfs();
// Brew apps must pass pApplet as pApiExtra pointer, Win32 just ommit it
int Unpack(char* szPakFile, char *szFile, void* pApiExtra = NULL);
DWORD FileSize(void);
int Read(void* pBuf, DWORD dwBytes);
void SeekTo(DWORD dwBytes);
void Finish(void);
};
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -