fix upgrades one more time

This commit is contained in:
Asuro
2025-05-10 18:12:15 +02:00
parent 5d1db591b7
commit 1616704c50
19 changed files with 210 additions and 104 deletions

View File

@@ -334,7 +334,8 @@ namespace Gen
if (WriteDestinations[j] == UINT64_MAX)
{
// Unknown member name or type changed
serializer.Skip(childDef.Size);
uint16_t count = bx::max(1, matchedDef.ChildArraySizes[matchedDef.ChildIndices[j]]);
serializer.Skip(childDef.Size * count);
continue;
}
@@ -437,7 +438,8 @@ namespace Gen
if (WriteDestinations[j] == UINT64_MAX)
{
// Unknown member name or type changed
serializer.Skip(childDef.Size);
uint16_t count = bx::max(1, matchedDef.ChildArraySizes[matchedDef.ChildIndices[j]]);
serializer.Skip(childDef.Size * count);
continue;
}
@@ -552,7 +554,8 @@ namespace Gen
if (WriteDestinations[j] == UINT64_MAX)
{
// Unknown member name or type changed
serializer.Skip(childDef.Size);
uint16_t count = bx::max(1, matchedDef.ChildArraySizes[matchedDef.ChildIndices[j]]);
serializer.Skip(childDef.Size * count);
continue;
}
@@ -655,7 +658,8 @@ namespace Gen
if (WriteDestinations[j] == UINT64_MAX)
{
// Unknown member name or type changed
serializer.Skip(childDef.Size);
uint16_t count = bx::max(1, matchedDef.ChildArraySizes[matchedDef.ChildIndices[j]]);
serializer.Skip(childDef.Size * count);
continue;
}
@@ -740,7 +744,8 @@ namespace Gen
if (WriteDestinations[j] == UINT64_MAX)
{
// Unknown member name or type changed
serializer.Skip(childDef.Size);
uint16_t count = bx::max(1, matchedDef.ChildArraySizes[matchedDef.ChildIndices[j]]);
serializer.Skip(childDef.Size * count);
continue;
}
@@ -849,7 +854,8 @@ namespace Gen
if (WriteDestinations[j] == UINT64_MAX)
{
// Unknown member name or type changed
serializer.Skip(childDef.Size);
uint16_t count = bx::max(1, matchedDef.ChildArraySizes[matchedDef.ChildIndices[j]]);
serializer.Skip(childDef.Size * count);
continue;
}
@@ -958,7 +964,8 @@ namespace Gen
if (WriteDestinations[j] == UINT64_MAX)
{
// Unknown member name or type changed
serializer.Skip(childDef.Size);
uint16_t count = bx::max(1, matchedDef.ChildArraySizes[matchedDef.ChildIndices[j]]);
serializer.Skip(childDef.Size * count);
continue;
}
@@ -1049,7 +1056,8 @@ namespace Gen
if (WriteDestinations[j] == UINT64_MAX)
{
// Unknown member name or type changed
serializer.Skip(childDef.Size);
uint16_t count = bx::max(1, matchedDef.ChildArraySizes[matchedDef.ChildIndices[j]]);
serializer.Skip(childDef.Size * count);
continue;
}
@@ -1146,7 +1154,8 @@ namespace Gen
if (WriteDestinations[j] == UINT64_MAX)
{
// Unknown member name or type changed
serializer.Skip(childDef.Size);
uint16_t count = bx::max(1, matchedDef.ChildArraySizes[matchedDef.ChildIndices[j]]);
serializer.Skip(childDef.Size * count);
continue;
}
@@ -1243,7 +1252,8 @@ namespace Gen
if (WriteDestinations[j] == UINT64_MAX)
{
// Unknown member name or type changed
serializer.Skip(childDef.Size);
uint16_t count = bx::max(1, matchedDef.ChildArraySizes[matchedDef.ChildIndices[j]]);
serializer.Skip(childDef.Size * count);
continue;
}
@@ -1271,7 +1281,11 @@ namespace Gen
for (uint32_t i = 0; i < count; ++i)
{
isOk = Save(obj[i].Elements, 4, serializer) && isOk;
isOk = Save(&obj[i].ModelHandle, 1, serializer) && isOk;
isOk = Save(&obj[i].BaseModelHandle, 1, serializer) && isOk;
isOk = Save(&obj[i].NorthCoverHandle, 1, serializer) && isOk;
isOk = Save(&obj[i].EastCoverHandle, 1, serializer) && isOk;
isOk = Save(&obj[i].SouthCoverHandle, 1, serializer) && isOk;
isOk = Save(&obj[i].WestCoverHandle, 1, serializer) && isOk;
isOk = Save(&obj[i].ModelTextureHandle, 1, serializer) && isOk;
isOk = Save(&obj[i].BoardTextureHandle, 1, serializer) && isOk;
}
@@ -1291,7 +1305,11 @@ namespace Gen
for (uint32_t i = 0; i < count; ++i)
{
isOk = Load(obj[i].Elements, 4, serializer) && isOk;
isOk = Load(&obj[i].ModelHandle, 1, serializer) && isOk;
isOk = Load(&obj[i].BaseModelHandle, 1, serializer) && isOk;
isOk = Load(&obj[i].NorthCoverHandle, 1, serializer) && isOk;
isOk = Load(&obj[i].EastCoverHandle, 1, serializer) && isOk;
isOk = Load(&obj[i].SouthCoverHandle, 1, serializer) && isOk;
isOk = Load(&obj[i].WestCoverHandle, 1, serializer) && isOk;
isOk = Load(&obj[i].ModelTextureHandle, 1, serializer) && isOk;
isOk = Load(&obj[i].BoardTextureHandle, 1, serializer) && isOk;
}
@@ -1325,9 +1343,25 @@ namespace Gen
{
WriteDestinations[i] = offsetof(StaticPuzzleCard, Elements);
}
if (bx::strCmp(memberName, "ModelHandle") == 0 && bx::strCmp(memberTypeName, "ModelHandle") == 0)
if (bx::strCmp(memberName, "BaseModelHandle") == 0 && bx::strCmp(memberTypeName, "ModelHandle") == 0)
{
WriteDestinations[i] = offsetof(StaticPuzzleCard, ModelHandle);
WriteDestinations[i] = offsetof(StaticPuzzleCard, BaseModelHandle);
}
if (bx::strCmp(memberName, "NorthCoverHandle") == 0 && bx::strCmp(memberTypeName, "ModelHandle") == 0)
{
WriteDestinations[i] = offsetof(StaticPuzzleCard, NorthCoverHandle);
}
if (bx::strCmp(memberName, "EastCoverHandle") == 0 && bx::strCmp(memberTypeName, "ModelHandle") == 0)
{
WriteDestinations[i] = offsetof(StaticPuzzleCard, EastCoverHandle);
}
if (bx::strCmp(memberName, "SouthCoverHandle") == 0 && bx::strCmp(memberTypeName, "ModelHandle") == 0)
{
WriteDestinations[i] = offsetof(StaticPuzzleCard, SouthCoverHandle);
}
if (bx::strCmp(memberName, "WestCoverHandle") == 0 && bx::strCmp(memberTypeName, "ModelHandle") == 0)
{
WriteDestinations[i] = offsetof(StaticPuzzleCard, WestCoverHandle);
}
if (bx::strCmp(memberName, "ModelTextureHandle") == 0 && bx::strCmp(memberTypeName, "TextureHandle") == 0)
{
@@ -1352,7 +1386,8 @@ namespace Gen
if (WriteDestinations[j] == UINT64_MAX)
{
// Unknown member name or type changed
serializer.Skip(childDef.Size);
uint16_t count = bx::max(1, matchedDef.ChildArraySizes[matchedDef.ChildIndices[j]]);
serializer.Skip(childDef.Size * count);
continue;
}
@@ -1362,7 +1397,31 @@ namespace Gen
isOk = Load(fieldPtr, 4, serializer) && isOk;
continue;
}
if (bx::strCmp(memberName, "ModelHandle") == 0)
if (bx::strCmp(memberName, "BaseModelHandle") == 0)
{
auto* fieldPtr = reinterpret_cast<ModelHandle*>(objBasePtr + WriteDestinations[j]);
isOk = Load(fieldPtr, 1, serializer) && isOk;
continue;
}
if (bx::strCmp(memberName, "NorthCoverHandle") == 0)
{
auto* fieldPtr = reinterpret_cast<ModelHandle*>(objBasePtr + WriteDestinations[j]);
isOk = Load(fieldPtr, 1, serializer) && isOk;
continue;
}
if (bx::strCmp(memberName, "EastCoverHandle") == 0)
{
auto* fieldPtr = reinterpret_cast<ModelHandle*>(objBasePtr + WriteDestinations[j]);
isOk = Load(fieldPtr, 1, serializer) && isOk;
continue;
}
if (bx::strCmp(memberName, "SouthCoverHandle") == 0)
{
auto* fieldPtr = reinterpret_cast<ModelHandle*>(objBasePtr + WriteDestinations[j]);
isOk = Load(fieldPtr, 1, serializer) && isOk;
continue;
}
if (bx::strCmp(memberName, "WestCoverHandle") == 0)
{
auto* fieldPtr = reinterpret_cast<ModelHandle*>(objBasePtr + WriteDestinations[j]);
isOk = Load(fieldPtr, 1, serializer) && isOk;
@@ -1455,7 +1514,8 @@ namespace Gen
if (WriteDestinations[j] == UINT64_MAX)
{
// Unknown member name or type changed
serializer.Skip(childDef.Size);
uint16_t count = bx::max(1, matchedDef.ChildArraySizes[matchedDef.ChildIndices[j]]);
serializer.Skip(childDef.Size * count);
continue;
}
@@ -1558,7 +1618,8 @@ namespace Gen
if (WriteDestinations[j] == UINT64_MAX)
{
// Unknown member name or type changed
serializer.Skip(childDef.Size);
uint16_t count = bx::max(1, matchedDef.ChildArraySizes[matchedDef.ChildIndices[j]]);
serializer.Skip(childDef.Size * count);
continue;
}
@@ -1667,7 +1728,8 @@ namespace Gen
if (WriteDestinations[j] == UINT64_MAX)
{
// Unknown member name or type changed
serializer.Skip(childDef.Size);
uint16_t count = bx::max(1, matchedDef.ChildArraySizes[matchedDef.ChildIndices[j]]);
serializer.Skip(childDef.Size * count);
continue;
}
@@ -1770,7 +1832,8 @@ namespace Gen
if (WriteDestinations[j] == UINT64_MAX)
{
// Unknown member name or type changed
serializer.Skip(childDef.Size);
uint16_t count = bx::max(1, matchedDef.ChildArraySizes[matchedDef.ChildIndices[j]]);
serializer.Skip(childDef.Size * count);
continue;
}
@@ -1885,7 +1948,8 @@ namespace Gen
if (WriteDestinations[j] == UINT64_MAX)
{
// Unknown member name or type changed
serializer.Skip(childDef.Size);
uint16_t count = bx::max(1, matchedDef.ChildArraySizes[matchedDef.ChildIndices[j]]);
serializer.Skip(childDef.Size * count);
continue;
}
@@ -2042,7 +2106,8 @@ namespace Gen
if (WriteDestinations[j] == UINT64_MAX)
{
// Unknown member name or type changed
serializer.Skip(childDef.Size);
uint16_t count = bx::max(1, matchedDef.ChildArraySizes[matchedDef.ChildIndices[j]]);
serializer.Skip(childDef.Size * count);
continue;
}
@@ -2217,7 +2282,8 @@ namespace Gen
if (WriteDestinations[j] == UINT64_MAX)
{
// Unknown member name or type changed
serializer.Skip(childDef.Size);
uint16_t count = bx::max(1, matchedDef.ChildArraySizes[matchedDef.ChildIndices[j]]);
serializer.Skip(childDef.Size * count);
continue;
}