move 29/31.1/.2 to use tags (-2022,-2023) instead of minor versions

This commit is contained in:
LukeFZ
2024-08-18 22:40:14 +02:00
parent 43d7433e12
commit a7081ccfa9
6 changed files with 22 additions and 24 deletions

View File

@@ -69,23 +69,24 @@ public partial record struct Il2CppCodeRegistration
public Pointer<Il2CppGuid> Guids;
[NativeInteger]
[VersionCondition(GreaterThan = "22.0", LessThan = "29.0")]
[VersionCondition(GreaterThan = "22.0", LessThan = "27.2")]
[VersionCondition(EqualTo = "29.0", IncludingTag = "")]
public int UnresolvedVirtualCallCount;
[NativeInteger]
[VersionCondition(EqualTo = "29.1"), VersionCondition(EqualTo = "31.1")]
[VersionCondition(EqualTo = "29.2"), VersionCondition(EqualTo = "31.2")]
[VersionCondition(EqualTo = "29.0", IncludingTag = "2022"), VersionCondition(EqualTo = "31.0", IncludingTag = "2022")]
[VersionCondition(EqualTo = "29.0", IncludingTag = "2023"), VersionCondition(EqualTo = "31.0", IncludingTag = "2023")]
public uint UnresolvedIndirectCallCount; // UnresolvedVirtualCallCount pre 29.1
[VersionCondition(GreaterThan = "22.0")]
public Pointer<Il2CppMethodPointer> UnresolvedVirtualCallPointers;
[VersionCondition(EqualTo = "29.1"), VersionCondition(EqualTo = "31.1")]
[VersionCondition(EqualTo = "29.2"), VersionCondition(EqualTo = "31.2")]
[VersionCondition(EqualTo = "29.0", IncludingTag = "2022"), VersionCondition(EqualTo = "31.0", IncludingTag = "2022")]
[VersionCondition(EqualTo = "29.0", IncludingTag = "2023"), VersionCondition(EqualTo = "31.0", IncludingTag = "2023")]
public Pointer<Il2CppMethodPointer> UnresolvedInstanceCallWrappers;
[VersionCondition(EqualTo = "29.1"), VersionCondition(EqualTo = "31.1")]
[VersionCondition(EqualTo = "29.2"), VersionCondition(EqualTo = "31.2")]
[VersionCondition(EqualTo = "29.0", IncludingTag = "2022"), VersionCondition(EqualTo = "31.0", IncludingTag = "2022")]
[VersionCondition(EqualTo = "29.0", IncludingTag = "2023"), VersionCondition(EqualTo = "31.0", IncludingTag = "2023")]
public Pointer<Il2CppMethodPointer> UnresolvedStaticCallPointers;
[NativeInteger]

View File

@@ -19,8 +19,6 @@ public partial record struct Il2CppMethodDefinition
public TypeIndex ReturnType { get; private set; }
[VersionCondition(EqualTo = "31.0")]
[VersionCondition(EqualTo = "31.1")]
[VersionCondition(EqualTo = "31.2")]
public uint ReturnParameterToken { get; private set; }
public ParameterIndex ParameterStart { get; private set; }
@@ -51,8 +49,8 @@ public partial record struct Il2CppMethodDefinition
public ushort Slot { get; private set; }
public ushort ParameterCount { get; private set; }
[VersionCondition(EqualTo = "29.2")]
[VersionCondition(EqualTo = "31.2")]
[VersionCondition(EqualTo = "29.0", IncludingTag = "2023")]
[VersionCondition(EqualTo = "31.0", IncludingTag = "2023")]
public bool IsUnmanagedCallersOnly { get; private set; }
public readonly MethodAttributes Attributes => (MethodAttributes)Flags;

View File

@@ -22,12 +22,10 @@ public static class MetadataVersions
public static readonly StructVersion V271 = new(27, 1);
public static readonly StructVersion V272 = new(27, 2);
// These two versions have three variations:
public static readonly StructVersion V290 = new(29);
public static readonly StructVersion V310 = new(31);
public static readonly StructVersion V291 = new(29, 1);
public static readonly StructVersion V311 = new(31, 1);
public static readonly StructVersion V292 = new(29, 2);
public static readonly StructVersion V312 = new(31, 2);
// No tag - 29.0/31.0
public static readonly string Tag2022 = "2022"; // 29.1/31.1
public static readonly string Tag2023 = "2023"; // 29.2/31.2
}