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:786
void * GetItem(int Index, int *pType=nullptr, int *pId=nullptr, CUuid *pUuid=nullptr)
Definition datafile.cpp:849
void GetType(int Type, int *pStart, int *pNum)
Definition datafile.cpp:866
int FindItemIndex(int Type, int Id)
Definition datafile.cpp:886
const char * FullName() const
Definition datafile.cpp:920
int GetInternalItemType(int ExternalType)
Definition datafile.cpp:824
void UnloadData(int Index)
Definition datafile.cpp:763
const char * Path() const
Definition datafile.cpp:934
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:941
unsigned Crc() const
Definition datafile.cpp:948
void * FindItem(int Type, int Id)
Definition datafile.cpp:903
int NumData() const
Definition datafile.cpp:779
void * GetData(int Index)
Definition datafile.cpp:716
int GetExternalItemType(int InternalType, CUuid *pUuid)
Definition datafile.cpp:793
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:913
int Size() const
Definition datafile.cpp:955
~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:927
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:967
ECompressionLevel
Definition datafile.h:68
@ COMPRESSION_DEFAULT
Definition datafile.h:69
@ COMPRESSION_BEST
Definition datafile.h:70
CDataFileWriter()
Definition datafile.cpp:962
std::vector< CDataInfo > m_vDatas
Definition datafile.h:113
void Finish()
Definition datafile.cpp:1151
int AddDataSwapped(size_t Size, const void *pData)
Definition datafile.cpp:1108
int GetTypeFromIndex(int Index) const
Definition datafile.cpp:994
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:987
int AddDataString(const char *pStr)
Definition datafile.cpp:1127
int GetExtendedItemTypeIndex(int Type, const CUuid *pUuid)
Definition datafile.cpp:999
int AddData(size_t Size, const void *pData, ECompressionLevel CompressionLevel=COMPRESSION_DEFAULT)
Definition datafile.cpp:1090
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:1038
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