2022-10-09 05:13:17 +00:00
|
|
|
#ifndef _CPAKFILE
|
|
|
|
#define _CPAKFILE
|
2022-04-10 00:17:06 +00:00
|
|
|
|
|
|
|
#include "types.h"
|
|
|
|
|
2022-04-11 22:42:08 +00:00
|
|
|
#include "rstl/auto_ptr.hpp"
|
|
|
|
#include "rstl/string.hpp"
|
|
|
|
|
2022-08-09 23:03:51 +00:00
|
|
|
#include "Kyoto/CDvdFile.hpp"
|
|
|
|
#include "Kyoto/CResLoader.hpp"
|
|
|
|
#include "Kyoto/IObjectStore.hpp"
|
2022-04-10 00:17:06 +00:00
|
|
|
|
2022-10-21 01:32:04 +00:00
|
|
|
class IDvdRequest;
|
|
|
|
|
2022-04-10 00:17:06 +00:00
|
|
|
class CPakFile : CDvdFile {
|
|
|
|
public:
|
|
|
|
bool IsWorldPak() const { return x28_26_worldPak; }
|
|
|
|
void EnsureWorldPakReady();
|
2022-04-11 22:42:08 +00:00
|
|
|
void sub_8036742c();
|
|
|
|
|
|
|
|
rstl::vector< rstl::pair< rstl::string, SObjectTag > >& NameList() { return x54_nameList; }
|
2022-04-10 00:17:06 +00:00
|
|
|
|
|
|
|
private:
|
|
|
|
bool x28_24_buildDepList : 1;
|
|
|
|
bool x28_25_aramFile : 1;
|
|
|
|
bool x28_26_worldPak : 1;
|
|
|
|
bool x28_27_stashedInARAM : 1;
|
2022-10-21 01:32:04 +00:00
|
|
|
int x2c_asyncLoadPhase; // EAsyncPhase
|
|
|
|
rstl::auto_ptr< IDvdRequest > x30_dvdReq;
|
2022-10-09 05:37:23 +00:00
|
|
|
rstl::vector< uchar > x38_headerData;
|
2022-09-05 04:01:13 +00:00
|
|
|
uint x48_resTableOffset;
|
|
|
|
uint x4c_resTableCount;
|
|
|
|
int x50_aramBase;
|
2022-04-11 22:42:08 +00:00
|
|
|
rstl::vector< rstl::pair< rstl::string, SObjectTag > > x54_nameList;
|
|
|
|
rstl::vector< CAssetId > x64_depList;
|
|
|
|
rstl::vector< SResInfo > x74_resList;
|
2022-09-05 04:01:13 +00:00
|
|
|
mutable int x84_currentSeek;
|
2022-04-10 00:17:06 +00:00
|
|
|
};
|
|
|
|
|
2022-10-09 05:13:17 +00:00
|
|
|
#endif // _CPAKFILE
|