class
DatabasePackedFileA DatabasePackedFile is a type of file used in Spore to store and index multiple files inside a single container (usually in the .package extension).
This class contains all the necessary methods for accessing files and loading/saving DBPF files.
Base classes
- class Database
Public static variables
Constructors, destructors, conversion operators
-
DatabasePackedFile(const char16_
t* location, ICoreAllocator* allocator = nullptr) - ~DatabasePackedFile() virtual
Public functions
-
auto Cast(uint32_
t type) const -> void* override - auto Initialize() -> bool override
- auto Dispose() -> bool override
-
auto GetDatabaseType() const -> uint32_
t override - auto GetRefCount() const -> int override
- auto Lock(bool lock) -> void override
-
auto Open(IO::
AccessFlags desiredAccess = IO:: AccessFlags:: Read, IO:: CD createDisposition = IO:: CD:: Default, bool arg_8 = false) -> bool override - auto Close() -> bool override
-
auto GetAccessFlags() const -> IO::
AccessFlags override - auto Flush() -> bool override
-
auto GetLocation() const -> const char16_
t* override -
auto SetLocation(const char16_
t* path) -> bool override -
auto GetKeyList(eastl::vector<ResourceKey>& dstVector,
IKeyFilter* filter = nullptr) -> size_
t override -
auto OpenRecord(const ResourceKey& name,
IRecord** ppDst,
IO::
AccessFlags desiredAccess = IO:: AccessFlags:: Read, IO:: CD createDisposition = IO:: CD:: Default, bool arg_10 = true, RecordInfo* pDstInfo = nullptr) -> bool override - auto GetOpenCount(const ResourceKey& key) -> int override
- auto CloseRecord(IRecord* pRecord) -> bool override
- auto DeleteRecord(const ResourceKey& name) -> bool override
- auto Attach(bool, IResourceManager* pResourceMan, bool) -> bool override
- auto GetAllocator() const -> ICoreAllocator* override
-
auto GetStream() -> IO::
IStream* virtual -
auto SetStream(IO::
IStream* pStream) -> bool virtual -
auto CreateRecordRead(IO::
AccessFlags desiredAccess, RecordInfo* info, ResourceKey& key) -> PFRecordRead* virtual -
auto CreateRecordReadCopy(IO::
AccessFlags desiredAccess, PFRecordRead* pOther, ResourceKey& key) -> PFRecordRead* virtual -
auto CreateRecordWriteData(IO::
AccessFlags desiredAccess, void* pData, size_ t nSize, ResourceKey& key) -> PFRecordWrite* virtual -
auto CreateRecordWrite(IO::
AccessFlags desiredAccess, size_ t nChunkOffset, size_ t nSize, ResourceKey& key) -> PFRecordWrite* virtual - auto ReadHeaders() -> bool virtual
- auto ReadHeaderRecord() -> bool virtual
- auto WriteEmptyHeaderRecord() -> bool virtual
- auto WriteHeaderRecord() -> bool virtual
- auto VerifyHeaderRecordIntegrity(char* header) -> bool virtual
- auto ReadIndexRecord() -> bool virtual
- auto WriteIndexRecord() -> bool virtual
- auto VerifyIndexRecordIntegrity() -> bool virtual
-
auto CreateIndex(IO::
AccessFlags desiredAccess = IO:: AccessFlags:: ReadWrite) -> PFIndexModifiable* virtual -
auto DestroyIndex(IO::
EAIOZoneObject* pObject) -> void virtual - auto MakeIndexModifiable() -> void virtual
- auto InitializeHoleTable() -> bool virtual
-
auto ReadBytes(void* pDst,
size_
t nSize) -> int -
auto ReadData(void* pDst,
size_
t nChunkOffset, size_ t nSize) -> bool
Public variables
- EAIOZoneObject_AMBIGOUS_DECLARATION
- bool mIsInitialized
- ICoreAllocator* mpAllocator
-
IO::
AccessFlags mAccessFlags - int field_18
- bool field_1C
- bool field_1D
- eastl::string16 mFilePath
-
IO::
FileStream mFileStream -
size_
t mFileOffset -
eastl::intrusive_ptr<IO::
IStream> mpCurrentStream - char* mpDataBuffer
-
size_
t mpBufferSize -
size_
t mnBufferOffset - Mutex mIndexMutex
- Mutex mReadWriteMutex
- PFIndexModifiable* mpIndex
- bool field_2D4
- int field_2D8
- int field_2DC
- bool field_2E0
- float field_2E4
- eastl::map<ResourceKey, PFRecordBase*, eastl::less<ResourceKey>, ICoreAllocatorAdapter> field_2E8
- int field_308
- int field_30C
- int field_310
- int field_314
- int field_318
- int field_31C
- int field_320
-
size_
t mnIndexOffset -
size_
t mnIndexCount -
size_
t mnIndexSize - bool field_330
- int field_334
- float field_338
- PFHoleTable field_33C
- PFHoleTable field_35C
- bool field_37C
- bool field_37D
- cResourceManager* mpResourceMan
- int field_384