3#ifndef ENGINE_SHARED_DATAFILE_H
4#define ENGINE_SHARED_DATAFILE_H
34 [[nodiscard]]
bool Open(
const char *pFullName,
IStorage *pStorage,
const char *pPath,
int StorageType);
35 [[nodiscard]]
bool Open(
IStorage *pStorage,
const char *pPath,
int StorageType);
49 void *
GetItem(
int Index,
int *pType =
nullptr,
int *pId =
nullptr,
CUuid *pUuid =
nullptr);
50 void GetType(
int Type,
int *pStart,
int *pNum);
57 const char *
Path()
const;
124 Other.m_File =
nullptr;
126 m_vItems = std::move(Other.m_vItems);
127 m_vDatas = std::move(Other.m_vDatas);
133 int AddItem(
int Type,
int Id,
size_t Size,
const void *pData,
const CUuid *pUuid =
nullptr);
int GetItemSize(int Index) const
Definition datafile.cpp:782
void * GetItem(int Index, int *pType=nullptr, int *pId=nullptr, CUuid *pUuid=nullptr)
Definition datafile.cpp:845
void GetType(int Type, int *pStart, int *pNum)
Definition datafile.cpp:862
int FindItemIndex(int Type, int Id)
Definition datafile.cpp:882
const char * FullName() const
Definition datafile.cpp:916
int GetInternalItemType(int ExternalType)
Definition datafile.cpp:820
void UnloadData(int Index)
Definition datafile.cpp:763
const char * Path() const
Definition datafile.cpp:930
IOHANDLE File() const
Definition datafile.cpp:702
int GetDataSize(int Index) const
Definition datafile.cpp:709
bool IsOpen() const
Definition datafile.cpp:697
void ReplaceData(int Index, char *pData, size_t Size)
Definition datafile.cpp:753
SHA256_DIGEST Sha256() const
Definition datafile.cpp:937
unsigned Crc() const
Definition datafile.cpp:944
void * FindItem(int Type, int Id)
Definition datafile.cpp:899
int NumData() const
Definition datafile.cpp:775
void * GetData(int Index)
Definition datafile.cpp:716
int GetExternalItemType(int InternalType, CUuid *pUuid)
Definition datafile.cpp:789
bool Open(const char *pFullName, IStorage *pStorage, const char *pPath, int StorageType)
Definition datafile.cpp:454
class CDatafile * m_pDataFile
Definition datafile.h:25
int NumItems() const
Definition datafile.cpp:909
int Size() const
Definition datafile.cpp:951
~CDataFileReader()
Definition datafile.cpp:442
void Close()
Definition datafile.cpp:680
void * GetDataSwapped(int Index)
Definition datafile.cpp:723
const char * GetDataString(int Index)
Definition datafile.cpp:730
CDataFileReader & operator=(CDataFileReader &&Other)
Definition datafile.cpp:447
const char * BaseName() const
Definition datafile.cpp:923
int m_CompressedSize
Definition datafile.h:80
int m_UncompressedSize
Definition datafile.h:78
void * m_pCompressedData
Definition datafile.h:79
void * m_pUncompressedData
Definition datafile.h:77
ECompressionLevel m_CompressionLevel
Definition datafile.h:81
Definition datafile.h:104
int m_Type
Definition datafile.h:106
CUuid m_Uuid
Definition datafile.h:107
int m_Prev
Definition datafile.h:91
int m_Next
Definition datafile.h:90
int m_Id
Definition datafile.h:88
int m_Size
Definition datafile.h:89
void * m_pData
Definition datafile.h:92
int m_Type
Definition datafile.h:87
int m_Last
Definition datafile.h:100
int m_Num
Definition datafile.h:98
int m_First
Definition datafile.h:99
~CDataFileWriter()
Definition datafile.cpp:963
ECompressionLevel
Definition datafile.h:68
@ COMPRESSION_DEFAULT
Definition datafile.h:69
@ COMPRESSION_BEST
Definition datafile.h:70
CDataFileWriter()
Definition datafile.cpp:958
std::vector< CDataInfo > m_vDatas
Definition datafile.h:113
void Finish()
Definition datafile.cpp:1147
int AddDataSwapped(size_t Size, const void *pData)
Definition datafile.cpp:1104
int GetTypeFromIndex(int Index) const
Definition datafile.cpp:990
std::map< uint16_t, CItemTypeInfo, std::less<> > m_ItemTypes
Definition datafile.h:111
CDataFileWriter(CDataFileWriter &&Other)
Definition datafile.h:121
bool Open(class IStorage *pStorage, const char *pFilename, int StorageType=IStorage::TYPE_SAVE)
Definition datafile.cpp:983
int AddDataString(const char *pStr)
Definition datafile.cpp:1123
int GetExtendedItemTypeIndex(int Type, const CUuid *pUuid)
Definition datafile.cpp:995
int AddData(size_t Size, const void *pData, ECompressionLevel CompressionLevel=COMPRESSION_DEFAULT)
Definition datafile.cpp:1086
std::vector< CItemInfo > m_vItems
Definition datafile.h:112
int AddItem(int Type, int Id, size_t Size, const void *pData, const CUuid *pUuid=nullptr)
Definition datafile.cpp:1034
IOHANDLE m_File
Definition datafile.h:110
std::vector< CExtendedItemType > m_vExtendedItemTypes
Definition datafile.h:114
Definition datafile.cpp:134
@ TYPE_SAVE
Definition storage.h:26
@ ITEMTYPE_EX
Definition datafile.h:19
void * IOHANDLE
Definition logger.h:12
Definition uuid_manager.h:17