loading works!!
This commit is contained in:
@@ -2,17 +2,6 @@
|
||||
#include <bx/file.h>
|
||||
#include <cstdint>
|
||||
|
||||
#define SAVE_T(T) \
|
||||
inline bool Save(const T* obj, uint32_t count, Serializer& serializer) \
|
||||
{ \
|
||||
bool isOk = true; \
|
||||
for (uint32_t i = 0; i < count; ++i) \
|
||||
{ \
|
||||
isOk = serializer.Write(&obj[i], sizeof(obj[i])) && isOk; \
|
||||
} \
|
||||
return isOk; \
|
||||
}
|
||||
|
||||
namespace Generated
|
||||
{
|
||||
struct Serializer
|
||||
@@ -40,17 +29,31 @@ namespace Generated
|
||||
}
|
||||
};
|
||||
|
||||
SAVE_T(uint8_t)
|
||||
SAVE_T(uint16_t)
|
||||
SAVE_T(uint32_t)
|
||||
SAVE_T(uint64_t)
|
||||
SAVE_T(int8_t)
|
||||
SAVE_T(int16_t)
|
||||
SAVE_T(int32_t)
|
||||
SAVE_T(int64_t)
|
||||
SAVE_T(float)
|
||||
SAVE_T(double)
|
||||
SAVE_T(bool)
|
||||
SAVE_T(char)
|
||||
struct Deserializer
|
||||
{
|
||||
bx::Error Err;
|
||||
bx::FilePath Path;
|
||||
bx::FileReader Reader;
|
||||
|
||||
bool Init(const bx::FilePath& path)
|
||||
{
|
||||
Path = path;
|
||||
Reader.open(path, &Err);
|
||||
return Err.isOk();
|
||||
}
|
||||
|
||||
bool Read(void* data, uint32_t size)
|
||||
{
|
||||
Reader.read(data, size, &Err);
|
||||
return Err.isOk();
|
||||
}
|
||||
|
||||
void Finish()
|
||||
{
|
||||
Reader.close();
|
||||
}
|
||||
};
|
||||
|
||||
template <typename T> bool Save(const T* obj, uint32_t count, Serializer& serializer);
|
||||
template <typename T> bool Load(T* obj, uint32_t count, Deserializer& serializer);
|
||||
} // namespace Generated
|
||||
|
||||
Reference in New Issue
Block a user