move transform to generated data
This commit is contained in:
@@ -1,3 +1,4 @@
|
||||
#include "Def.h"
|
||||
#include "Generated.h"
|
||||
|
||||
namespace Gen
|
||||
@@ -22,6 +23,26 @@ namespace Gen
|
||||
}
|
||||
return isOk;
|
||||
}
|
||||
bool Save(const EMaterial::Enum* obj, uint32_t count, Serializer& serializer)
|
||||
{
|
||||
bool isOk = true;
|
||||
for (uint32_t i = 0; i < count; ++i)
|
||||
{
|
||||
auto val = (int32_t)obj[i];
|
||||
isOk = Save(&val, 1, serializer) && isOk;
|
||||
}
|
||||
return isOk;
|
||||
}
|
||||
bool Load(EMaterial::Enum* obj, uint32_t count, Deserializer& serializer)
|
||||
{
|
||||
bool isOk = true;
|
||||
for (uint32_t i = 0; i < count; ++i)
|
||||
{
|
||||
int32_t& val = (int32_t&)obj[i];
|
||||
isOk = Load(&val, 1, serializer) && isOk;
|
||||
}
|
||||
return isOk;
|
||||
}
|
||||
bool Save(const Vec2* obj, uint32_t count, Serializer& serializer)
|
||||
{
|
||||
bool isOk = true;
|
||||
@@ -124,6 +145,32 @@ namespace Gen
|
||||
}
|
||||
return isOk;
|
||||
}
|
||||
bool Save(const Transform* obj, uint32_t count, Serializer& serializer)
|
||||
{
|
||||
bool isOk = true;
|
||||
for (uint32_t i = 0; i < count; ++i)
|
||||
{
|
||||
isOk = Save(&obj[i].M, 1, serializer) && isOk;
|
||||
isOk = Save(&obj[i].MI, 1, serializer) && isOk;
|
||||
isOk = Save(&obj[i].Position, 1, serializer) && isOk;
|
||||
isOk = Save(&obj[i].Rotation, 1, serializer) && isOk;
|
||||
isOk = Save(&obj[i].Scale, 1, serializer) && isOk;
|
||||
}
|
||||
return isOk;
|
||||
}
|
||||
bool Load(Transform* obj, uint32_t count, Deserializer& serializer)
|
||||
{
|
||||
bool isOk = true;
|
||||
for (uint32_t i = 0; i < count; ++i)
|
||||
{
|
||||
isOk = Load(&obj[i].M, 1, serializer) && isOk;
|
||||
isOk = Load(&obj[i].MI, 1, serializer) && isOk;
|
||||
isOk = Load(&obj[i].Position, 1, serializer) && isOk;
|
||||
isOk = Load(&obj[i].Rotation, 1, serializer) && isOk;
|
||||
isOk = Load(&obj[i].Scale, 1, serializer) && isOk;
|
||||
}
|
||||
return isOk;
|
||||
}
|
||||
bool Save(const AssetHandle* obj, uint32_t count, Serializer& serializer)
|
||||
{
|
||||
bool isOk = true;
|
||||
@@ -366,4 +413,34 @@ namespace Gen
|
||||
}
|
||||
return isOk;
|
||||
}
|
||||
} // namespace Gen
|
||||
bool Save(const SavedEntityRenderData* obj, uint32_t count, Serializer& serializer)
|
||||
{
|
||||
bool isOk = true;
|
||||
for (uint32_t i = 0; i < count; ++i)
|
||||
{
|
||||
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 = Save(&obj[i].Texture, 1, serializer) && isOk;
|
||||
isOk = Save(&obj[i].Model, 1, serializer) && isOk;
|
||||
isOk = Save(&obj[i].Visible, 1, serializer) && isOk;
|
||||
}
|
||||
return isOk;
|
||||
}
|
||||
bool Load(SavedEntityRenderData* obj, uint32_t count, Deserializer& serializer)
|
||||
{
|
||||
bool isOk = true;
|
||||
for (uint32_t i = 0; i < count; ++i)
|
||||
{
|
||||
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 = Load(&obj[i].Texture, 1, serializer) && isOk;
|
||||
isOk = Load(&obj[i].Model, 1, serializer) && isOk;
|
||||
isOk = Load(&obj[i].Visible, 1, serializer) && isOk;
|
||||
}
|
||||
return isOk;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,12 +1,14 @@
|
||||
#pragma once
|
||||
#include "Def.h"
|
||||
#include <cstdint>
|
||||
|
||||
namespace Gen
|
||||
{
|
||||
struct Serializer;
|
||||
struct Deserializer;
|
||||
struct PuzzleElementType
|
||||
{
|
||||
static constexpr uint32_t Hash = 2024002654;
|
||||
static constexpr int32_t EntryCount = 8;
|
||||
static constexpr uint32_t Hash = 2024002654;
|
||||
enum Enum : int32_t
|
||||
{
|
||||
None,
|
||||
@@ -18,7 +20,8 @@ namespace Gen
|
||||
Blocked,
|
||||
Bridge,
|
||||
};
|
||||
static constexpr char EntryNames[EntryCount][64]{
|
||||
static constexpr char EntryNames[EntryCount][64]
|
||||
{
|
||||
"None",
|
||||
"WaterIn",
|
||||
"WaterGoal",
|
||||
@@ -28,7 +31,8 @@ namespace Gen
|
||||
"Blocked",
|
||||
"Bridge",
|
||||
};
|
||||
static constexpr char GameName[EntryCount][64]{
|
||||
static constexpr char GameName[EntryCount][64]
|
||||
{
|
||||
"Empty",
|
||||
"Water Source",
|
||||
"Water Goal",
|
||||
@@ -38,7 +42,8 @@ namespace Gen
|
||||
"Blocked",
|
||||
"Bridge",
|
||||
};
|
||||
static constexpr char ShortName[EntryCount][64]{
|
||||
static constexpr char ShortName[EntryCount][64]
|
||||
{
|
||||
" ",
|
||||
"~+",
|
||||
"~!",
|
||||
@@ -49,6 +54,21 @@ namespace Gen
|
||||
"#",
|
||||
};
|
||||
};
|
||||
struct EMaterial
|
||||
{
|
||||
static constexpr int32_t EntryCount = 2;
|
||||
static constexpr uint32_t Hash = 2024002654;
|
||||
enum Enum : int32_t
|
||||
{
|
||||
Default,
|
||||
UI,
|
||||
};
|
||||
static constexpr char EntryNames[EntryCount][64]
|
||||
{
|
||||
"Default",
|
||||
"UI",
|
||||
};
|
||||
};
|
||||
struct Vec2
|
||||
{
|
||||
static constexpr uint32_t Hash = 2667033957;
|
||||
@@ -73,12 +93,30 @@ namespace Gen
|
||||
struct Mat3
|
||||
{
|
||||
static constexpr uint32_t Hash = 3364737048;
|
||||
float M[9] = {1.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 0.0f, 1.0f};
|
||||
float M[9] = {
|
||||
1.0f, 0.0f, 0.0f,
|
||||
0.0f, 1.0f, 0.0f,
|
||||
0.0f, 0.0f, 1.0f
|
||||
};
|
||||
};
|
||||
struct Mat4
|
||||
{
|
||||
static constexpr uint32_t Hash = 1650094019;
|
||||
float M[16] = {1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f};
|
||||
float M[16] = {
|
||||
1.0f, 0.0f, 0.0f, 0.0f,
|
||||
0.0f, 1.0f, 0.0f, 0.0f,
|
||||
0.0f, 0.0f, 1.0f, 0.0f,
|
||||
0.0f, 0.0f, 0.0f, 1.0f
|
||||
};
|
||||
};
|
||||
struct Transform
|
||||
{
|
||||
static constexpr uint32_t Hash = 4103530190;
|
||||
Mat4 M = {};
|
||||
Mat4 MI = {};
|
||||
Vec3 Position = {};
|
||||
Mat4 Rotation = {};
|
||||
Vec3 Scale = {1.0f, 1.0f, 1.0f};
|
||||
};
|
||||
struct AssetHandle
|
||||
{
|
||||
@@ -157,8 +195,21 @@ namespace Gen
|
||||
uint32_t GoalPositionCount = {};
|
||||
PuzPos GoalPositions[16] = {};
|
||||
};
|
||||
struct SavedEntityRenderData
|
||||
{
|
||||
static constexpr uint32_t Hash = 3172756855;
|
||||
Vec4 BaseColor = {};
|
||||
Vec4 HighlightColor = {};
|
||||
Transform TF = {};
|
||||
EMaterial::Enum Material = {};
|
||||
TextureHandle Texture = {};
|
||||
ModelHandle Model = {};
|
||||
bool Visible = {};
|
||||
};
|
||||
bool Save(const PuzzleElementType::Enum* obj, uint32_t count, Serializer& serializer);
|
||||
bool Load(PuzzleElementType::Enum* obj, uint32_t count, Deserializer& serializer);
|
||||
bool Save(const EMaterial::Enum* obj, uint32_t count, Serializer& serializer);
|
||||
bool Load(EMaterial::Enum* obj, uint32_t count, Deserializer& serializer);
|
||||
bool Save(const Vec2* obj, uint32_t count, Serializer& serializer);
|
||||
bool Load(Vec2* obj, uint32_t count, Deserializer& serializer);
|
||||
bool Save(const Vec3* obj, uint32_t count, Serializer& serializer);
|
||||
@@ -169,6 +220,8 @@ namespace Gen
|
||||
bool Load(Mat3* obj, uint32_t count, Deserializer& serializer);
|
||||
bool Save(const Mat4* obj, uint32_t count, Serializer& serializer);
|
||||
bool Load(Mat4* obj, uint32_t count, Deserializer& serializer);
|
||||
bool Save(const Transform* obj, uint32_t count, Serializer& serializer);
|
||||
bool Load(Transform* obj, uint32_t count, Deserializer& serializer);
|
||||
bool Save(const AssetHandle* obj, uint32_t count, Serializer& serializer);
|
||||
bool Load(AssetHandle* obj, uint32_t count, Deserializer& serializer);
|
||||
bool Save(const ModelHandle* obj, uint32_t count, Serializer& serializer);
|
||||
@@ -191,4 +244,6 @@ namespace Gen
|
||||
bool Load(PlacedPuzzleCard* obj, uint32_t count, Deserializer& serializer);
|
||||
bool Save(const PuzzleData* obj, uint32_t count, Serializer& serializer);
|
||||
bool Load(PuzzleData* obj, uint32_t count, Deserializer& serializer);
|
||||
} // namespace Gen
|
||||
bool Save(const SavedEntityRenderData* obj, uint32_t count, Serializer& serializer);
|
||||
bool Load(SavedEntityRenderData* obj, uint32_t count, Deserializer& serializer);
|
||||
}
|
||||
|
||||
BIN
src/gen/TypeData.bin
LFS
BIN
src/gen/TypeData.bin
LFS
Binary file not shown.
Reference in New Issue
Block a user