new save format

This commit is contained in:
Asuro
2025-04-05 18:10:43 +02:00
parent ab5c8a489f
commit 158d59e09e
14 changed files with 509 additions and 191 deletions

View File

@@ -8,7 +8,7 @@ namespace Gen
bool isOk = true;
for (uint32_t i = 0; i < count; ++i)
{
auto val = (int32_t)obj[i];
auto val = (uint8_t)obj[i];
isOk = Save(&val, 1, serializer) && isOk;
}
return isOk;
@@ -18,7 +18,7 @@ namespace Gen
bool isOk = true;
for (uint32_t i = 0; i < count; ++i)
{
int32_t& val = (int32_t&)obj[i];
uint8_t& val = (uint8_t&)obj[i];
isOk = Load(&val, 1, serializer) && isOk;
}
return isOk;
@@ -43,13 +43,205 @@ namespace Gen
}
return isOk;
}
bool Save(const int8_t* obj, uint32_t count, Serializer& serializer)
{
bool isOk = true;
for (uint32_t i = 0; i < count; ++i)
{
}
return isOk;
}
bool Load(int8_t* obj, uint32_t count, Deserializer& serializer)
{
bool isOk = true;
for (uint32_t i = 0; i < count; ++i)
{
}
return isOk;
}
bool Save(const int16_t* obj, uint32_t count, Serializer& serializer)
{
bool isOk = true;
for (uint32_t i = 0; i < count; ++i)
{
}
return isOk;
}
bool Load(int16_t* obj, uint32_t count, Deserializer& serializer)
{
bool isOk = true;
for (uint32_t i = 0; i < count; ++i)
{
}
return isOk;
}
bool Save(const int32_t* obj, uint32_t count, Serializer& serializer)
{
bool isOk = true;
for (uint32_t i = 0; i < count; ++i)
{
}
return isOk;
}
bool Load(int32_t* obj, uint32_t count, Deserializer& serializer)
{
bool isOk = true;
for (uint32_t i = 0; i < count; ++i)
{
}
return isOk;
}
bool Save(const int64_t* obj, uint32_t count, Serializer& serializer)
{
bool isOk = true;
for (uint32_t i = 0; i < count; ++i)
{
}
return isOk;
}
bool Load(int64_t* obj, uint32_t count, Deserializer& serializer)
{
bool isOk = true;
for (uint32_t i = 0; i < count; ++i)
{
}
return isOk;
}
bool Save(const uint8_t* obj, uint32_t count, Serializer& serializer)
{
bool isOk = true;
for (uint32_t i = 0; i < count; ++i)
{
}
return isOk;
}
bool Load(uint8_t* obj, uint32_t count, Deserializer& serializer)
{
bool isOk = true;
for (uint32_t i = 0; i < count; ++i)
{
}
return isOk;
}
bool Save(const uint16_t* obj, uint32_t count, Serializer& serializer)
{
bool isOk = true;
for (uint32_t i = 0; i < count; ++i)
{
}
return isOk;
}
bool Load(uint16_t* obj, uint32_t count, Deserializer& serializer)
{
bool isOk = true;
for (uint32_t i = 0; i < count; ++i)
{
}
return isOk;
}
bool Save(const uint32_t* obj, uint32_t count, Serializer& serializer)
{
bool isOk = true;
for (uint32_t i = 0; i < count; ++i)
{
}
return isOk;
}
bool Load(uint32_t* obj, uint32_t count, Deserializer& serializer)
{
bool isOk = true;
for (uint32_t i = 0; i < count; ++i)
{
}
return isOk;
}
bool Save(const uint64_t* obj, uint32_t count, Serializer& serializer)
{
bool isOk = true;
for (uint32_t i = 0; i < count; ++i)
{
}
return isOk;
}
bool Load(uint64_t* obj, uint32_t count, Deserializer& serializer)
{
bool isOk = true;
for (uint32_t i = 0; i < count; ++i)
{
}
return isOk;
}
bool Save(const bool* obj, uint32_t count, Serializer& serializer)
{
bool isOk = true;
for (uint32_t i = 0; i < count; ++i)
{
}
return isOk;
}
bool Load(bool* obj, uint32_t count, Deserializer& serializer)
{
bool isOk = true;
for (uint32_t i = 0; i < count; ++i)
{
}
return isOk;
}
bool Save(const float* obj, uint32_t count, Serializer& serializer)
{
bool isOk = true;
for (uint32_t i = 0; i < count; ++i)
{
}
return isOk;
}
bool Load(float* obj, uint32_t count, Deserializer& serializer)
{
bool isOk = true;
for (uint32_t i = 0; i < count; ++i)
{
}
return isOk;
}
bool Save(const double* obj, uint32_t count, Serializer& serializer)
{
bool isOk = true;
for (uint32_t i = 0; i < count; ++i)
{
}
return isOk;
}
bool Load(double* obj, uint32_t count, Deserializer& serializer)
{
bool isOk = true;
for (uint32_t i = 0; i < count; ++i)
{
}
return isOk;
}
bool Save(const char* obj, uint32_t count, Serializer& serializer)
{
bool isOk = true;
for (uint32_t i = 0; i < count; ++i)
{
}
return isOk;
}
bool Load(char* obj, uint32_t count, Deserializer& serializer)
{
bool isOk = true;
for (uint32_t i = 0; i < count; ++i)
{
}
return isOk;
}
bool Save(const Vec2* obj, uint32_t count, Serializer& serializer)
{
bool isOk = true;
for (uint32_t i = 0; i < count; ++i)
{
isOk = Save(&obj[i].x, 1, serializer) && isOk;
isOk = Save(&obj[i].y, 1, serializer) && isOk;
isOk = serializer.Write(&obj[i], sizeof(obj[i])) && isOk;
isOk = serializer.Write(&obj[i], sizeof(obj[i])) && isOk;
}
return isOk;
}
@@ -58,8 +250,8 @@ namespace Gen
bool isOk = true;
for (uint32_t i = 0; i < count; ++i)
{
isOk = Load(&obj[i].x, 1, serializer) && isOk;
isOk = Load(&obj[i].y, 1, serializer) && isOk;
isOk = serializer.Read(&obj[i], sizeof(obj[i])) && isOk;
isOk = serializer.Read(&obj[i], sizeof(obj[i])) && isOk;
}
return isOk;
}
@@ -68,9 +260,9 @@ namespace Gen
bool isOk = true;
for (uint32_t i = 0; i < count; ++i)
{
isOk = Save(&obj[i].x, 1, serializer) && isOk;
isOk = Save(&obj[i].y, 1, serializer) && isOk;
isOk = Save(&obj[i].z, 1, serializer) && isOk;
isOk = serializer.Write(&obj[i], sizeof(obj[i])) && isOk;
isOk = serializer.Write(&obj[i], sizeof(obj[i])) && isOk;
isOk = serializer.Write(&obj[i], sizeof(obj[i])) && isOk;
}
return isOk;
}
@@ -79,9 +271,9 @@ namespace Gen
bool isOk = true;
for (uint32_t i = 0; i < count; ++i)
{
isOk = Load(&obj[i].x, 1, serializer) && isOk;
isOk = Load(&obj[i].y, 1, serializer) && isOk;
isOk = Load(&obj[i].z, 1, serializer) && isOk;
isOk = serializer.Read(&obj[i], sizeof(obj[i])) && isOk;
isOk = serializer.Read(&obj[i], sizeof(obj[i])) && isOk;
isOk = serializer.Read(&obj[i], sizeof(obj[i])) && isOk;
}
return isOk;
}
@@ -90,10 +282,10 @@ namespace Gen
bool isOk = true;
for (uint32_t i = 0; i < count; ++i)
{
isOk = Save(&obj[i].x, 1, serializer) && isOk;
isOk = Save(&obj[i].y, 1, serializer) && isOk;
isOk = Save(&obj[i].z, 1, serializer) && isOk;
isOk = Save(&obj[i].w, 1, serializer) && isOk;
isOk = serializer.Write(&obj[i], sizeof(obj[i])) && isOk;
isOk = serializer.Write(&obj[i], sizeof(obj[i])) && isOk;
isOk = serializer.Write(&obj[i], sizeof(obj[i])) && isOk;
isOk = serializer.Write(&obj[i], sizeof(obj[i])) && isOk;
}
return isOk;
}
@@ -102,10 +294,10 @@ namespace Gen
bool isOk = true;
for (uint32_t i = 0; i < count; ++i)
{
isOk = Load(&obj[i].x, 1, serializer) && isOk;
isOk = Load(&obj[i].y, 1, serializer) && isOk;
isOk = Load(&obj[i].z, 1, serializer) && isOk;
isOk = Load(&obj[i].w, 1, serializer) && isOk;
isOk = serializer.Read(&obj[i], sizeof(obj[i])) && isOk;
isOk = serializer.Read(&obj[i], sizeof(obj[i])) && isOk;
isOk = serializer.Read(&obj[i], sizeof(obj[i])) && isOk;
isOk = serializer.Read(&obj[i], sizeof(obj[i])) && isOk;
}
return isOk;
}
@@ -114,7 +306,7 @@ namespace Gen
bool isOk = true;
for (uint32_t i = 0; i < count; ++i)
{
isOk = Save(obj[i].M, 9, serializer) && isOk;
isOk = serializer.Write(&obj[i], sizeof(obj[i])) && isOk;
}
return isOk;
}
@@ -123,7 +315,7 @@ namespace Gen
bool isOk = true;
for (uint32_t i = 0; i < count; ++i)
{
isOk = Load(obj[i].M, 9, serializer) && isOk;
isOk = serializer.Read(&obj[i], sizeof(obj[i])) && isOk;
}
return isOk;
}
@@ -132,7 +324,7 @@ namespace Gen
bool isOk = true;
for (uint32_t i = 0; i < count; ++i)
{
isOk = Save(obj[i].M, 16, serializer) && isOk;
isOk = serializer.Write(&obj[i], sizeof(obj[i])) && isOk;
}
return isOk;
}
@@ -141,7 +333,7 @@ namespace Gen
bool isOk = true;
for (uint32_t i = 0; i < count; ++i)
{
isOk = Load(obj[i].M, 16, serializer) && isOk;
isOk = serializer.Read(&obj[i], sizeof(obj[i])) && isOk;
}
return isOk;
}
@@ -176,7 +368,7 @@ namespace Gen
bool isOk = true;
for (uint32_t i = 0; i < count; ++i)
{
isOk = Save(&obj[i].Idx, 1, serializer) && isOk;
isOk = serializer.Write(&obj[i], sizeof(obj[i])) && isOk;
}
return isOk;
}
@@ -185,7 +377,7 @@ namespace Gen
bool isOk = true;
for (uint32_t i = 0; i < count; ++i)
{
isOk = Load(&obj[i].Idx, 1, serializer) && isOk;
isOk = serializer.Read(&obj[i], sizeof(obj[i])) && isOk;
}
return isOk;
}
@@ -194,7 +386,7 @@ namespace Gen
bool isOk = true;
for (uint32_t i = 0; i < count; ++i)
{
isOk = Save(&obj[i].ModelIdx, 1, serializer) && isOk;
isOk = serializer.Write(&obj[i], sizeof(obj[i])) && isOk;
isOk = Save(&obj[i].Asset, 1, serializer) && isOk;
}
return isOk;
@@ -204,7 +396,7 @@ namespace Gen
bool isOk = true;
for (uint32_t i = 0; i < count; ++i)
{
isOk = Load(&obj[i].ModelIdx, 1, serializer) && isOk;
isOk = serializer.Read(&obj[i], sizeof(obj[i])) && isOk;
isOk = Load(&obj[i].Asset, 1, serializer) && isOk;
}
return isOk;
@@ -214,7 +406,7 @@ namespace Gen
bool isOk = true;
for (uint32_t i = 0; i < count; ++i)
{
isOk = Save(&obj[i].TextureIdx, 1, serializer) && isOk;
isOk = serializer.Write(&obj[i], sizeof(obj[i])) && isOk;
isOk = Save(&obj[i].Asset, 1, serializer) && isOk;
}
return isOk;
@@ -224,7 +416,7 @@ namespace Gen
bool isOk = true;
for (uint32_t i = 0; i < count; ++i)
{
isOk = Load(&obj[i].TextureIdx, 1, serializer) && isOk;
isOk = serializer.Read(&obj[i], sizeof(obj[i])) && isOk;
isOk = Load(&obj[i].Asset, 1, serializer) && isOk;
}
return isOk;
@@ -234,8 +426,8 @@ namespace Gen
bool isOk = true;
for (uint32_t i = 0; i < count; ++i)
{
isOk = Save(&obj[i].X, 1, serializer) && isOk;
isOk = Save(&obj[i].Y, 1, serializer) && isOk;
isOk = serializer.Write(&obj[i], sizeof(obj[i])) && isOk;
isOk = serializer.Write(&obj[i], sizeof(obj[i])) && isOk;
}
return isOk;
}
@@ -244,8 +436,8 @@ namespace Gen
bool isOk = true;
for (uint32_t i = 0; i < count; ++i)
{
isOk = Load(&obj[i].X, 1, serializer) && isOk;
isOk = Load(&obj[i].Y, 1, serializer) && isOk;
isOk = serializer.Read(&obj[i], sizeof(obj[i])) && isOk;
isOk = serializer.Read(&obj[i], sizeof(obj[i])) && isOk;
}
return isOk;
}
@@ -254,7 +446,7 @@ namespace Gen
bool isOk = true;
for (uint32_t i = 0; i < count; ++i)
{
isOk = Save(obj[i].Elements, 4, serializer) && isOk;
isOk = serializer.Write(&obj[i], sizeof(obj[i])) && isOk;
isOk = Save(&obj[i].ModelHandle, 1, serializer) && isOk;
isOk = Save(&obj[i].BoardTextureHandle, 1, serializer) && isOk;
}
@@ -265,7 +457,7 @@ namespace Gen
bool isOk = true;
for (uint32_t i = 0; i < count; ++i)
{
isOk = Load(obj[i].Elements, 4, serializer) && isOk;
isOk = serializer.Read(&obj[i], sizeof(obj[i])) && isOk;
isOk = Load(&obj[i].ModelHandle, 1, serializer) && isOk;
isOk = Load(&obj[i].BoardTextureHandle, 1, serializer) && isOk;
}
@@ -276,7 +468,7 @@ namespace Gen
bool isOk = true;
for (uint32_t i = 0; i < count; ++i)
{
isOk = Save(&obj[i].Idx, 1, serializer) && isOk;
isOk = serializer.Write(&obj[i], sizeof(obj[i])) && isOk;
}
return isOk;
}
@@ -285,7 +477,7 @@ namespace Gen
bool isOk = true;
for (uint32_t i = 0; i < count; ++i)
{
isOk = Load(&obj[i].Idx, 1, serializer) && isOk;
isOk = serializer.Read(&obj[i], sizeof(obj[i])) && isOk;
}
return isOk;
}
@@ -337,8 +529,8 @@ namespace Gen
for (uint32_t i = 0; i < count; ++i)
{
isOk = Save(&obj[i].RefCard, 1, serializer) && isOk;
isOk = Save(&obj[i].MaxAvailableCount, 1, serializer) && isOk;
isOk = Save(&obj[i].UsedCount, 1, serializer) && isOk;
isOk = serializer.Write(&obj[i], sizeof(obj[i])) && isOk;
isOk = serializer.Write(&obj[i], sizeof(obj[i])) && isOk;
}
return isOk;
}
@@ -348,8 +540,8 @@ namespace Gen
for (uint32_t i = 0; i < count; ++i)
{
isOk = Load(&obj[i].RefCard, 1, serializer) && isOk;
isOk = Load(&obj[i].MaxAvailableCount, 1, serializer) && isOk;
isOk = Load(&obj[i].UsedCount, 1, serializer) && isOk;
isOk = serializer.Read(&obj[i], sizeof(obj[i])) && isOk;
isOk = serializer.Read(&obj[i], sizeof(obj[i])) && isOk;
}
return isOk;
}
@@ -360,8 +552,8 @@ namespace Gen
{
isOk = Save(&obj[i].RefCard, 1, serializer) && isOk;
isOk = Save(&obj[i].Position, 1, serializer) && isOk;
isOk = Save(&obj[i].Rotation, 1, serializer) && isOk;
isOk = Save(&obj[i].IsLocked, 1, serializer) && isOk;
isOk = serializer.Write(&obj[i], sizeof(obj[i])) && isOk;
isOk = serializer.Write(&obj[i], sizeof(obj[i])) && isOk;
}
return isOk;
}
@@ -372,8 +564,8 @@ namespace Gen
{
isOk = Load(&obj[i].RefCard, 1, serializer) && isOk;
isOk = Load(&obj[i].Position, 1, serializer) && isOk;
isOk = Load(&obj[i].Rotation, 1, serializer) && isOk;
isOk = Load(&obj[i].IsLocked, 1, serializer) && isOk;
isOk = serializer.Read(&obj[i], sizeof(obj[i])) && isOk;
isOk = serializer.Read(&obj[i], sizeof(obj[i])) && isOk;
}
return isOk;
}
@@ -382,15 +574,15 @@ namespace Gen
bool isOk = true;
for (uint32_t i = 0; i < count; ++i)
{
isOk = Save(&obj[i].ID, 1, serializer) && isOk;
isOk = Save(obj[i].PuzzleName, 64, serializer) && isOk;
isOk = Save(&obj[i].WidthTiles, 1, serializer) && isOk;
isOk = Save(&obj[i].HeightTiles, 1, serializer) && isOk;
isOk = Save(&obj[i].AvailableCardCount, 1, serializer) && isOk;
isOk = serializer.Write(&obj[i], sizeof(obj[i])) && isOk;
isOk = serializer.Write(&obj[i], sizeof(obj[i])) && isOk;
isOk = serializer.Write(&obj[i], sizeof(obj[i])) && isOk;
isOk = serializer.Write(&obj[i], sizeof(obj[i])) && isOk;
isOk = serializer.Write(&obj[i], sizeof(obj[i])) && isOk;
isOk = Save(obj[i].AvailableCards, 16, serializer) && isOk;
isOk = Save(obj[i].PlacedCards, 256, serializer) && isOk;
isOk = Save(obj[i].BackgroundTiles, 1024, serializer) && isOk;
isOk = Save(&obj[i].GoalPositionCount, 1, serializer) && isOk;
isOk = serializer.Write(&obj[i], sizeof(obj[i])) && isOk;
isOk = serializer.Write(&obj[i], sizeof(obj[i])) && isOk;
isOk = Save(obj[i].GoalPositions, 16, serializer) && isOk;
}
return isOk;
@@ -400,15 +592,15 @@ namespace Gen
bool isOk = true;
for (uint32_t i = 0; i < count; ++i)
{
isOk = Load(&obj[i].ID, 1, serializer) && isOk;
isOk = Load(obj[i].PuzzleName, 64, serializer) && isOk;
isOk = Load(&obj[i].WidthTiles, 1, serializer) && isOk;
isOk = Load(&obj[i].HeightTiles, 1, serializer) && isOk;
isOk = Load(&obj[i].AvailableCardCount, 1, serializer) && isOk;
isOk = serializer.Read(&obj[i], sizeof(obj[i])) && isOk;
isOk = serializer.Read(&obj[i], sizeof(obj[i])) && isOk;
isOk = serializer.Read(&obj[i], sizeof(obj[i])) && isOk;
isOk = serializer.Read(&obj[i], sizeof(obj[i])) && isOk;
isOk = serializer.Read(&obj[i], sizeof(obj[i])) && isOk;
isOk = Load(obj[i].AvailableCards, 16, serializer) && isOk;
isOk = Load(obj[i].PlacedCards, 256, serializer) && isOk;
isOk = Load(obj[i].BackgroundTiles, 1024, serializer) && isOk;
isOk = Load(&obj[i].GoalPositionCount, 1, serializer) && isOk;
isOk = serializer.Read(&obj[i], sizeof(obj[i])) && isOk;
isOk = serializer.Read(&obj[i], sizeof(obj[i])) && isOk;
isOk = Load(obj[i].GoalPositions, 16, serializer) && isOk;
}
return isOk;
@@ -421,10 +613,10 @@ namespace Gen
isOk = Save(&obj[i].BaseColor, 1, serializer) && isOk;
isOk = Save(&obj[i].HighlightColor, 1, serializer) && isOk;
isOk = Save(&obj[i].TF, 1, serializer) && isOk;
isOk = Save(&obj[i].Material, 1, serializer) && isOk;
isOk = serializer.Write(&obj[i], sizeof(obj[i])) && isOk;
isOk = Save(&obj[i].Texture, 1, serializer) && isOk;
isOk = Save(&obj[i].Model, 1, serializer) && isOk;
isOk = Save(&obj[i].Visible, 1, serializer) && isOk;
isOk = serializer.Write(&obj[i], sizeof(obj[i])) && isOk;
}
return isOk;
}
@@ -436,10 +628,10 @@ namespace Gen
isOk = Load(&obj[i].BaseColor, 1, serializer) && isOk;
isOk = Load(&obj[i].HighlightColor, 1, serializer) && isOk;
isOk = Load(&obj[i].TF, 1, serializer) && isOk;
isOk = Load(&obj[i].Material, 1, serializer) && isOk;
isOk = serializer.Read(&obj[i], sizeof(obj[i])) && isOk;
isOk = Load(&obj[i].Texture, 1, serializer) && isOk;
isOk = Load(&obj[i].Model, 1, serializer) && isOk;
isOk = Load(&obj[i].Visible, 1, serializer) && isOk;
isOk = serializer.Read(&obj[i], sizeof(obj[i])) && isOk;
}
return isOk;
}