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