Files
PuzGame/src/gen/Generated.h
2025-05-16 01:50:19 +02:00

353 lines
15 KiB
C++

#pragma once
#include <cstdint>
namespace Gen
{
struct Serializer;
struct Deserializer;
struct PuzzleElementType
{
static constexpr uint16_t TypeIdx = 31;
static constexpr int32_t EntryCount = 8;
enum Enum : uint8_t
{
None,
WaterIn,
WaterGoal,
WaterChannel,
ElectricIn,
ElectricGoal,
Blocked,
Bridge,
};
static constexpr char EntryNames[EntryCount][64]
{
"None",
"WaterIn",
"WaterGoal",
"WaterChannel",
"ElectricIn",
"ElectricGoal",
"Blocked",
"Bridge",
};
static constexpr char GameName[EntryCount][64]
{
"Empty",
"Water Source",
"Water Goal",
"Water Channel",
"Electricity Source",
"Electricity Goal",
"Blocked",
"Bridge",
};
static constexpr char ShortName[EntryCount][64]
{
" ",
"~+",
"~!",
"~",
"e+",
"e!",
"B",
"#",
};
};
struct EMaterial
{
static constexpr uint16_t TypeIdx = 32;
static constexpr int32_t EntryCount = 2;
enum Enum : int32_t
{
Default,
UI,
};
static constexpr char EntryNames[EntryCount][64]
{
"Default",
"UI",
};
};
struct Vec2
{
static constexpr uint16_t TypeIdx = 12;
float x = {};
float y = {};
};
struct Vec3
{
static constexpr uint16_t TypeIdx = 13;
float x = {};
float y = {};
float z = {};
};
struct Vec4
{
static constexpr uint16_t TypeIdx = 14;
float x = {};
float y = {};
float z = {};
float w = {};
};
struct Mat3
{
static constexpr uint16_t TypeIdx = 15;
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 uint16_t TypeIdx = 16;
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 uint16_t TypeIdx = 17;
Mat4 M = {};
Mat4 MI = {};
Vec3 Position = {};
Mat4 Rotation = {};
Vec3 Scale = {1.0f, 1.0f, 1.0f};
};
struct AssetHandle
{
static constexpr uint16_t TypeIdx = 18;
uint32_t Idx = UINT32_MAX;
};
struct ModelHandle
{
static constexpr uint16_t TypeIdx = 19;
uint16_t ModelIdx = UINT16_MAX;
AssetHandle Asset = {};
};
struct TextureHandle
{
static constexpr uint16_t TypeIdx = 20;
uint16_t TextureIdx = UINT16_MAX;
AssetHandle Asset = {};
};
struct PuzPos
{
static constexpr uint16_t TypeIdx = 21;
int8_t X = {};
int8_t Y = {};
};
struct CardSocket
{
static constexpr uint16_t TypeIdx = 22;
ModelHandle Model = {};
uint8_t ConnectionDirection = {};
};
struct StaticPuzzleCard
{
static constexpr uint16_t TypeIdx = 23;
PuzzleElementType::Enum Elements[4] = {};
ModelHandle BaseModelHandle = {};
ModelHandle NorthCoverHandle = {};
ModelHandle EastCoverHandle = {};
ModelHandle SouthCoverHandle = {};
ModelHandle WestCoverHandle = {};
CardSocket Sockets[16] = {};
TextureHandle ModelTextureHandle = {};
TextureHandle BoardTextureHandle = {};
};
struct StaticPuzzleCardHandle
{
static constexpr uint16_t TypeIdx = 24;
uint16_t Idx = UINT16_MAX;
};
struct PuzzleVisualSettings
{
static constexpr uint16_t TypeIdx = 25;
Vec4 TileBaseColor = {};
Vec4 TileDotColor = {};
Vec3 Test = {};
Vec4 DisabledCardTint = {};
};
struct StaticPuzzleData
{
static constexpr uint16_t TypeIdx = 26;
StaticPuzzleCard Cards[64] = {};
PuzzleVisualSettings Visuals = {};
};
struct PuzzleCardStack
{
static constexpr uint16_t TypeIdx = 27;
StaticPuzzleCardHandle RefCard = {};
uint8_t MaxAvailableCount = {};
uint8_t UsedCount = {};
};
struct PlacedPuzzleCard
{
static constexpr uint16_t TypeIdx = 28;
StaticPuzzleCardHandle RefCard = {};
PuzPos Position = {};
uint8_t Rotation = {};
bool IsLocked = {};
};
struct PuzzleData
{
static constexpr uint16_t TypeIdx = 29;
uint16_t ID = {};
char PuzzleName[64] = {};
uint8_t WidthTiles = {};
uint8_t HeightTiles = {};
uint32_t AvailableCardCount = {};
PuzzleCardStack AvailableCards[16] = {};
PlacedPuzzleCard PlacedCards[256] = {};
PuzzleElementType::Enum BackgroundTiles[1024] = {};
uint32_t GoalPositionCount = {};
PuzPos GoalPositions[16] = {};
};
struct SavedEntityRenderData
{
static constexpr uint16_t TypeIdx = 30;
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 int8_t* obj, uint32_t count, Serializer& serializer);
bool Load(int8_t* obj, uint32_t count, Deserializer& serializer);
bool Save(const int16_t* obj, uint32_t count, Serializer& serializer);
bool Load(int16_t* obj, uint32_t count, Deserializer& serializer);
bool Save(const int32_t* obj, uint32_t count, Serializer& serializer);
bool Load(int32_t* obj, uint32_t count, Deserializer& serializer);
bool Save(const int64_t* obj, uint32_t count, Serializer& serializer);
bool Load(int64_t* obj, uint32_t count, Deserializer& serializer);
bool Save(const uint8_t* obj, uint32_t count, Serializer& serializer);
bool Load(uint8_t* obj, uint32_t count, Deserializer& serializer);
bool Save(const uint16_t* obj, uint32_t count, Serializer& serializer);
bool Load(uint16_t* obj, uint32_t count, Deserializer& serializer);
bool Save(const uint32_t* obj, uint32_t count, Serializer& serializer);
bool Load(uint32_t* obj, uint32_t count, Deserializer& serializer);
bool Save(const uint64_t* obj, uint32_t count, Serializer& serializer);
bool Load(uint64_t* obj, uint32_t count, Deserializer& serializer);
bool Save(const bool* obj, uint32_t count, Serializer& serializer);
bool Load(bool* obj, uint32_t count, Deserializer& serializer);
bool Save(const float* obj, uint32_t count, Serializer& serializer);
bool Load(float* obj, uint32_t count, Deserializer& serializer);
bool Save(const double* obj, uint32_t count, Serializer& serializer);
bool Load(double* obj, uint32_t count, Deserializer& serializer);
bool Save(const char* obj, uint32_t count, Serializer& serializer);
bool Load(char* 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);
bool Load(Vec3* obj, uint32_t count, Deserializer& serializer);
bool Save(const Vec4* obj, uint32_t count, Serializer& serializer);
bool Load(Vec4* obj, uint32_t count, Deserializer& serializer);
bool Save(const Mat3* obj, uint32_t count, Serializer& serializer);
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);
bool Load(ModelHandle* obj, uint32_t count, Deserializer& serializer);
bool Save(const TextureHandle* obj, uint32_t count, Serializer& serializer);
bool Load(TextureHandle* obj, uint32_t count, Deserializer& serializer);
bool Save(const PuzPos* obj, uint32_t count, Serializer& serializer);
bool Load(PuzPos* obj, uint32_t count, Deserializer& serializer);
bool Save(const CardSocket* obj, uint32_t count, Serializer& serializer);
bool Load(CardSocket* obj, uint32_t count, Deserializer& serializer);
bool Save(const StaticPuzzleCard* obj, uint32_t count, Serializer& serializer);
bool Load(StaticPuzzleCard* obj, uint32_t count, Deserializer& serializer);
bool Save(const StaticPuzzleCardHandle* obj, uint32_t count, Serializer& serializer);
bool Load(StaticPuzzleCardHandle* obj, uint32_t count, Deserializer& serializer);
bool Save(const PuzzleVisualSettings* obj, uint32_t count, Serializer& serializer);
bool Load(PuzzleVisualSettings* obj, uint32_t count, Deserializer& serializer);
bool Save(const StaticPuzzleData* obj, uint32_t count, Serializer& serializer);
bool Load(StaticPuzzleData* obj, uint32_t count, Deserializer& serializer);
bool Save(const PuzzleCardStack* obj, uint32_t count, Serializer& serializer);
bool Load(PuzzleCardStack* obj, uint32_t count, Deserializer& serializer);
bool Save(const PlacedPuzzleCard* obj, uint32_t count, Serializer& serializer);
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);
bool Save(const SavedEntityRenderData* obj, uint32_t count, Serializer& serializer);
bool Load(SavedEntityRenderData* obj, uint32_t count, Deserializer& serializer);
namespace Meta {
constexpr uint16_t CurrentMetaVersion = 1;
struct StrRef
{
uint16_t Offset;
uint16_t Size;
};
struct TypeDef
{
uint32_t Size = 0;
uint32_t Hash = 0;
char Name[64]{"Dummy"};
uint16_t ChildCount = 0;
uint16_t ChildIndices[64]{0};
uint16_t ChildArraySizes[64]{0};
StrRef MemberNameIndices[64]{0};
};
struct MetadataTable
{
TypeDef TypeDefinitions[33]
{
TypeDef{sizeof(int8_t), 0, "i8", 0, {}, {}, {}},
TypeDef{sizeof(int16_t), 1, "i16", 0, {}, {}, {}},
TypeDef{sizeof(int32_t), 2, "i32", 0, {}, {}, {}},
TypeDef{sizeof(int64_t), 3, "i64", 0, {}, {}, {}},
TypeDef{sizeof(uint8_t), 4, "u8", 0, {}, {}, {}},
TypeDef{sizeof(uint16_t), 5, "u16", 0, {}, {}, {}},
TypeDef{sizeof(uint32_t), 6, "u32", 0, {}, {}, {}},
TypeDef{sizeof(uint64_t), 7, "u64", 0, {}, {}, {}},
TypeDef{sizeof(bool), 8, "b", 0, {}, {}, {}},
TypeDef{sizeof(float), 9, "f32", 0, {}, {}, {}},
TypeDef{sizeof(double), 10, "f64", 0, {}, {}, {}},
TypeDef{sizeof(char), 11, "str", 0, {}, {}, {}},
TypeDef{sizeof(Vec2), 2667033957, "Vec2", 2, {9, 9}, {0, 0}, {{0, 1}, {1, 1}}},
TypeDef{sizeof(Vec3), 473740858, "Vec3", 3, {9, 9, 9}, {0, 0, 0}, {{2, 1}, {3, 1}, {4, 1}}},
TypeDef{sizeof(Vec4), 2507696603, "Vec4", 4, {9, 9, 9, 9}, {0, 0, 0, 0}, {{5, 1}, {6, 1}, {7, 1}, {8, 1}}},
TypeDef{sizeof(Mat3), 3364737048, "Mat3", 1, {9}, {9}, {{9, 1}}},
TypeDef{sizeof(Mat4), 1650094019, "Mat4", 1, {9}, {16}, {{10, 1}}},
TypeDef{sizeof(Transform), 4103530190, "Transform", 5, {16, 16, 13, 16, 13}, {0, 0, 0, 0, 0}, {{11, 1}, {12, 2}, {14, 8}, {22, 8}, {30, 5}}},
TypeDef{sizeof(AssetHandle), 2609735487, "AssetHandle", 1, {6}, {0}, {{35, 3}}},
TypeDef{sizeof(ModelHandle), 298089627, "ModelHandle", 2, {5, 18}, {0, 0}, {{38, 8}, {46, 5}}},
TypeDef{sizeof(TextureHandle), 1633273761, "TextureHandle", 2, {5, 18}, {0, 0}, {{51, 10}, {61, 5}}},
TypeDef{sizeof(PuzPos), 1834398141, "PuzPos", 2, {0, 0}, {0, 0}, {{66, 1}, {67, 1}}},
TypeDef{sizeof(CardSocket), 2168907571, "CardSocket", 2, {19, 4}, {0, 0}, {{68, 5}, {73, 19}}},
TypeDef{sizeof(StaticPuzzleCard), 537913399, "StaticPuzzleCard", 9, {31, 19, 19, 19, 19, 19, 22, 20, 20}, {4, 0, 0, 0, 0, 0, 16, 0, 0}, {{92, 8}, {100, 15}, {115, 16}, {131, 15}, {146, 16}, {162, 15}, {177, 7}, {184, 18}, {202, 18}}},
TypeDef{sizeof(StaticPuzzleCardHandle), 1742502768, "StaticPuzzleCardHandle", 1, {5}, {0}, {{220, 3}}},
TypeDef{sizeof(PuzzleVisualSettings), 2302077481, "PuzzleVisualSettings", 4, {14, 14, 13, 14}, {0, 0, 0, 0}, {{223, 13}, {236, 12}, {248, 4}, {252, 16}}},
TypeDef{sizeof(StaticPuzzleData), 2637647137, "StaticPuzzleData", 2, {23, 25}, {64, 0}, {{268, 5}, {273, 7}}},
TypeDef{sizeof(PuzzleCardStack), 53538532, "PuzzleCardStack", 3, {24, 4, 4}, {0, 0, 0}, {{280, 7}, {287, 17}, {304, 9}}},
TypeDef{sizeof(PlacedPuzzleCard), 3555575973, "PlacedPuzzleCard", 4, {24, 21, 4, 8}, {0, 0, 0, 0}, {{313, 7}, {320, 8}, {328, 8}, {336, 8}}},
TypeDef{sizeof(PuzzleData), 3349686056, "PuzzleData", 10, {5, 11, 4, 4, 6, 27, 28, 31, 6, 21}, {0, 64, 0, 0, 0, 16, 256, 1024, 0, 16}, {{344, 2}, {346, 10}, {356, 10}, {366, 11}, {377, 18}, {395, 14}, {409, 11}, {420, 15}, {435, 17}, {452, 13}}},
TypeDef{sizeof(SavedEntityRenderData), 3172756855, "SavedEntityRenderData", 7, {14, 14, 17, 32, 20, 19, 8}, {0, 0, 0, 0, 0, 0, 0}, {{465, 9}, {474, 14}, {488, 2}, {490, 8}, {498, 7}, {505, 5}, {510, 7}}},
TypeDef{sizeof(PuzzleElementType::Enum), 2983807453, "PuzzleElementType", 0, {}, {}, {}},
TypeDef{sizeof(EMaterial::Enum), 2024002654, "EMaterial", 0, {}, {}, {}},
};
char MemberNameBuffer[64*64*64]{"xyxyzxyzwMMMMIPositionRotationScaleIdxModelIdxAssetTextureIdxAssetXYModelConnectionDirectionElementsBaseModelHandleNorthCoverHandleEastCoverHandleSouthCoverHandleWestCoverHandleSocketsModelTextureHandleBoardTextureHandleIdxTileBaseColorTileDotColorTestDisabledCardTintCardsVisualsRefCardMaxAvailableCountUsedCountRefCardPositionRotationIsLockedIDPuzzleNameWidthTilesHeightTilesAvailableCardCountAvailableCardsPlacedCardsBackgroundTilesGoalPositionCountGoalPositionsBaseColorHighlightColorTFMaterialTextureModelVisible"};
};
constexpr MetadataTable Metadata;
}
}