29 lines
734 B
C
29 lines
734 B
C
|
#ifndef CBLOCKMGRIN_H
|
||
|
#define CBLOCKMGRIN_H
|
||
|
|
||
|
#include <FileIO/CInputStream.h>
|
||
|
#include <vector>
|
||
|
|
||
|
// The purpose of this class is to keep track of data block navigation - required to read CMDL and MREA files correctly
|
||
|
class CBlockMgrIn
|
||
|
{
|
||
|
CInputStream *mpInputStream;
|
||
|
unsigned long mBlockCount;
|
||
|
std::vector<unsigned long> mBlockSizes;
|
||
|
unsigned long mCurBlock;
|
||
|
unsigned long mCurBlockStart;
|
||
|
unsigned long mBlocksStart;
|
||
|
|
||
|
public:
|
||
|
CBlockMgrIn(unsigned long count, CInputStream* src);
|
||
|
void Init();
|
||
|
void ToBlock(unsigned long block);
|
||
|
void ToNextBlock();
|
||
|
long NextOffset();
|
||
|
long CurrentBlock();
|
||
|
long CurrentBlockSize();
|
||
|
void SetInputStream(CInputStream *in);
|
||
|
};
|
||
|
|
||
|
#endif // CBLOCKMGRIN_H
|