add hashes
This commit is contained in:
@@ -17,6 +17,17 @@ namespace Generated
|
||||
return Err.isOk();
|
||||
}
|
||||
|
||||
template <typename T> bool WriteT(const char* _4cc, const T& data)
|
||||
{
|
||||
Writer.write(_4cc, 4, &Err);
|
||||
if (!Err.isOk()) return false;
|
||||
uint32_t hash = data.Hash;
|
||||
Writer.write(&hash, sizeof(hash), &Err);
|
||||
uint32_t size = sizeof(T);
|
||||
Writer.write(&size, sizeof(size), &Err);
|
||||
return Err.isOk() && Save(&data, 1, *this);
|
||||
}
|
||||
|
||||
bool Write(const void* data, uint32_t size)
|
||||
{
|
||||
Writer.write(data, size, &Err);
|
||||
|
||||
@@ -123,6 +123,7 @@ namespace Generated
|
||||
bool isOk = true;
|
||||
for (uint32_t i = 0; i < count; ++i)
|
||||
{
|
||||
isOk = Save(&obj[i].CardCount, 1, serializer) && isOk;
|
||||
isOk = Save(obj[i].Cards, 64, serializer) && isOk;
|
||||
}
|
||||
return isOk;
|
||||
@@ -132,6 +133,7 @@ namespace Generated
|
||||
bool isOk = true;
|
||||
for (uint32_t i = 0; i < count; ++i)
|
||||
{
|
||||
isOk = Load(&obj[i].CardCount, 1, serializer) && isOk;
|
||||
isOk = Load(obj[i].Cards, 64, serializer) && isOk;
|
||||
}
|
||||
return isOk;
|
||||
|
||||
@@ -5,6 +5,7 @@ namespace Generated
|
||||
{
|
||||
struct PuzzleElementType
|
||||
{
|
||||
static constexpr uint32_t Hash = 2024002654;
|
||||
static constexpr int32_t EntryCount = 8;
|
||||
enum Enum : int32_t
|
||||
{
|
||||
@@ -39,42 +40,62 @@ namespace Generated
|
||||
"Blocked",
|
||||
"Bridge",
|
||||
};
|
||||
static constexpr char ShortName[EntryCount][64]
|
||||
{
|
||||
" ",
|
||||
"~+",
|
||||
"~-",
|
||||
"~",
|
||||
"e+",
|
||||
"e-",
|
||||
"█",
|
||||
"#",
|
||||
};
|
||||
};
|
||||
struct PuzPos
|
||||
{
|
||||
static constexpr uint32_t Hash = 1834398141;
|
||||
int8_t X = {};
|
||||
int8_t Y = {};
|
||||
};
|
||||
struct ElemPos
|
||||
{
|
||||
static constexpr uint32_t Hash = 3966109730;
|
||||
PuzPos Position = {};
|
||||
uint8_t ElemIdx = {};
|
||||
};
|
||||
struct PuzzleNode
|
||||
{
|
||||
static constexpr uint32_t Hash = 1417779061;
|
||||
PuzzleElementType::Enum PlacedTypes[4] = {};
|
||||
};
|
||||
struct StaticPuzzleCard
|
||||
{
|
||||
static constexpr uint32_t Hash = 110653106;
|
||||
PuzzleNode Nodes[4] = {};
|
||||
uint16_t ModelHandle = {};
|
||||
};
|
||||
struct StaticPuzzleCardHandle
|
||||
{
|
||||
static constexpr uint32_t Hash = 1742502768;
|
||||
uint16_t Idx = UINT16_MAX;
|
||||
};
|
||||
struct StaticPuzzleData
|
||||
{
|
||||
static constexpr uint32_t Hash = 2220151575;
|
||||
uint16_t CardCount = {};
|
||||
StaticPuzzleCard Cards[64] = {};
|
||||
};
|
||||
struct PuzzleCardStack
|
||||
{
|
||||
static constexpr uint32_t Hash = 53538532;
|
||||
StaticPuzzleCardHandle RefCard = {};
|
||||
uint8_t MaxAvailableCount = {};
|
||||
uint8_t UsedCount = {};
|
||||
};
|
||||
struct PlacedPuzzleCard
|
||||
{
|
||||
static constexpr uint32_t Hash = 3555575973;
|
||||
StaticPuzzleCardHandle RefCard = {};
|
||||
PuzPos Position = {};
|
||||
uint8_t Rotation = {};
|
||||
@@ -82,6 +103,7 @@ namespace Generated
|
||||
};
|
||||
struct PuzzleData
|
||||
{
|
||||
static constexpr uint32_t Hash = 2015691597;
|
||||
uint8_t WidthTiles = {};
|
||||
uint8_t HeightTiles = {};
|
||||
uint32_t AvailableCardCount = {};
|
||||
|
||||
Reference in New Issue
Block a user