diff --git a/src/Core/Classes/Props/UProperty.cs b/src/Core/Classes/Props/UProperty.cs index 2984d18..7100566 100644 --- a/src/Core/Classes/Props/UProperty.cs +++ b/src/Core/Classes/Props/UProperty.cs @@ -122,11 +122,19 @@ protected override void Deserialize() : _Buffer.ReadUInt32(); Record(nameof(PropertyFlags), PropertyFlags); #if BATMAN - if (Package.Build == BuildGeneration.RSS && - _Buffer.LicenseeVersion >= 101) + if (Package.Build == BuildGeneration.RSS) { - PropertyFlags = (PropertyFlags & 0xFFFF0000) >> 24; - Record(nameof(PropertyFlags), (PropertyFlagsLO)PropertyFlags); + if (_Buffer.LicenseeVersion >= 101) + { + PropertyFlags = (PropertyFlags & 0xFFFF0000) >> 24; + Record(nameof(PropertyFlags), (PropertyFlagsLO)PropertyFlags); + } + + if (Package.Build == UnrealPackage.GameBuild.BuildName.Batman4) + { + PropertyFlags = (PropertyFlags & ~(PropertyFlags >> 2 & 1)) | + ((ulong)PropertyFlagsLO.Net * (PropertyFlags >> 2 & 1)); + } } #endif #if XCOM2 diff --git a/src/Core/Classes/UClass.cs b/src/Core/Classes/UClass.cs index 19bcc62..084c851 100644 --- a/src/Core/Classes/UClass.cs +++ b/src/Core/Classes/UClass.cs @@ -410,13 +410,11 @@ protected override void Deserialize() #if BATMAN if (Package.Build == BuildGeneration.RSS) { - _Buffer.Skip(sizeof(int)); - if (Package.Build == UnrealPackage.GameBuild.BuildName.Batman4) + if (_Buffer.LicenseeVersion >= 95) { - _Buffer.Skip(sizeof(int)); + int bm_v174 = _Buffer.ReadInt32(); + Record(nameof(bm_v174), bm_v174); } - - _Buffer.ConformRecordPosition(); } #endif #if ROCKETLEAGUE diff --git a/src/UnrealPackage.cs b/src/UnrealPackage.cs index ee5ea10..eb5250b 100644 --- a/src/UnrealPackage.cs +++ b/src/UnrealPackage.cs @@ -413,7 +413,7 @@ public enum BuildName /// 576/021 /// No Special support, but there's no harm in recognizing this build. /// - [Build(576, 21, BuildGeneration.RSS)] Batman1, + [Build(576, 21)] Batman1, /// /// 576/100