mirror of
https://github.com/LukeFZ/Il2CppInspectorRedux.git
synced 2026-03-22 00:18:18 +05:00
fix accidentally broken parsing for Il2CppGenericContainer
This commit is contained in:
@@ -414,17 +414,25 @@ namespace Il2CppInspector
|
||||
public ImmutableArray<T> ReadMetadataPrimitiveArray<T>(int oldOffset, int oldSize, Il2CppSectionMetadata newMetadata)
|
||||
where T : unmanaged
|
||||
{
|
||||
return Version >= MetadataVersions.V380
|
||||
? ReadPrimitiveArray<T>(newMetadata.Offset, newMetadata.Count)
|
||||
: ReadPrimitiveArray<T>(oldOffset, oldSize / Unsafe.SizeOf<T>());
|
||||
if (Version >= MetadataVersions.V380)
|
||||
{
|
||||
Debug.Assert(newMetadata.Count * Unsafe.SizeOf<T>() == newMetadata.SectionSize);
|
||||
return ReadPrimitiveArray<T>(newMetadata.Offset, newMetadata.Count);
|
||||
}
|
||||
|
||||
return ReadPrimitiveArray<T>(oldOffset, oldSize / Unsafe.SizeOf<T>());
|
||||
}
|
||||
|
||||
public ImmutableArray<T> ReadMetadataArray<T>(int oldOffset, int oldSize, Il2CppSectionMetadata newMetadata)
|
||||
where T : IReadable, new()
|
||||
{
|
||||
return Version >= MetadataVersions.V380
|
||||
? ReadVersionedObjectArray<T>(newMetadata.Offset, newMetadata.Count)
|
||||
: ReadVersionedObjectArray<T>(oldOffset, oldSize / Sizeof<T>());
|
||||
if (Version >= MetadataVersions.V380)
|
||||
{
|
||||
Debug.Assert(newMetadata.Count * Sizeof<T>() == newMetadata.SectionSize);
|
||||
return ReadVersionedObjectArray<T>(newMetadata.Offset, newMetadata.Count);
|
||||
}
|
||||
|
||||
return ReadVersionedObjectArray<T>(oldOffset, oldSize / Sizeof<T>());
|
||||
}
|
||||
|
||||
// Save metadata to file, overwriting if necessary
|
||||
|
||||
@@ -26,7 +26,7 @@ public partial record struct Il2CppGenericContainer
|
||||
[field: FieldOffset(4)]
|
||||
private ushort _newTypeArgc;
|
||||
|
||||
[VersionCondition(LessThan = "106.0")]
|
||||
[VersionCondition(GreaterThan = "106.0")]
|
||||
[field: FieldOffset(8)]
|
||||
public byte _newIsMethod;
|
||||
}
|
||||
Reference in New Issue
Block a user