mirror of https://github.com/bsnes-emu/bsnes.git
46 lines
770 B
C++
Executable File
46 lines
770 B
C++
Executable File
#ifndef _RAR_ARCHIVE_
|
|
#define _RAR_ARCHIVE_
|
|
|
|
typedef ComprDataIO File;
|
|
#include "rawread.hpp"
|
|
|
|
class Archive:public File
|
|
{
|
|
private:
|
|
bool IsSignature(byte *D);
|
|
void ConvertUnknownHeader();
|
|
int ReadOldHeader();
|
|
|
|
RawRead Raw;
|
|
|
|
MarkHeader MarkHead;
|
|
OldMainHeader OldMhd;
|
|
|
|
int CurHeaderType;
|
|
|
|
public:
|
|
Archive();
|
|
unrar_err_t IsArchive();
|
|
unrar_err_t ReadHeader();
|
|
void SeekToNext();
|
|
bool IsArcDir();
|
|
bool IsArcLabel();
|
|
int GetHeaderType() {return(CurHeaderType);};
|
|
|
|
BaseBlock ShortBlock;
|
|
MainHeader NewMhd;
|
|
FileHeader NewLhd;
|
|
SubBlockHeader SubBlockHead;
|
|
FileHeader SubHead;
|
|
ProtectHeader ProtectHead;
|
|
|
|
Int64 CurBlockPos;
|
|
Int64 NextBlockPos;
|
|
|
|
bool Solid;
|
|
enum { SFXSize = 0 }; // self-extracting not supported
|
|
ushort HeaderCRC;
|
|
};
|
|
|
|
#endif
|