diff --git a/src/dependency/minidef/src/CppGen.cpp b/src/dependency/minidef/src/CppGen.cpp index 7b2b9e4..559e5bc 100644 --- a/src/dependency/minidef/src/CppGen.cpp +++ b/src/dependency/minidef/src/CppGen.cpp @@ -198,7 +198,10 @@ namespace Gen constexpr char LoadFuncBodyTypeUpgradeMember3[] = R"END( if (bx::strCmp(memberName, "%s") == 0) { auto* fieldPtr = reinterpret_cast<%s*>(objBasePtr + WriteDestinations[j]); - isOk = Load(fieldPtr, %u, serializer) && isOk; + uint16_t wantedCount = %u; + uint16_t existingCount = matchedDef.ChildArraySizes[j]; + isOk = Load(fieldPtr, bx::min(wantedCount, existingCount), serializer) && isOk; + if (existingCount > wantedCount) serializer.Skip((existingCount - wantedCount) * childDef.Size); continue; } )END"; diff --git a/tools/minidef.exe b/tools/minidef.exe index 77a0bc1..edbbfc2 100644 --- a/tools/minidef.exe +++ b/tools/minidef.exe @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f91d7e94592728777e6fde5a595e9179b26d9e61985e9434dcad8a92b03b158d -size 154112 +oid sha256:b347513bb83f950d81926f2e8be0dd5d07d5fb0c230b2197903d99d6ea2c8f3f +size 168960