loading works!!

This commit is contained in:
Asuro
2025-03-11 01:19:13 +01:00
parent c7377c3452
commit ffad8f8460
11 changed files with 306 additions and 38 deletions

View File

@@ -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