Skip to content

Commit

Permalink
implemented #158
Browse files Browse the repository at this point in the history
  • Loading branch information
4sval committed Aug 28, 2024
1 parent bc422af commit 2249dee
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 21 deletions.
3 changes: 1 addition & 2 deletions CUE4Parse/UE4/Assets/Exports/UObject.cs
Original file line number Diff line number Diff line change
Expand Up @@ -341,10 +341,9 @@ protected internal virtual void WriteJson(JsonWriter writer, JsonSerializer seri
writer.WriteStartObject();
foreach (var property in Properties)
{
writer.WritePropertyName(property.Name.Text);
writer.WritePropertyName(property.ArrayIndex > 0 ? $"{property.Name.Text}[{property.ArrayIndex}]" : property.Name.Text);
serializer.Serialize(writer, property.Tag);
}

writer.WriteEndObject();
}

Expand Down
27 changes: 8 additions & 19 deletions CUE4Parse/UE4/Assets/Objects/FPropertyTag.cs
Original file line number Diff line number Diff line change
Expand Up @@ -101,6 +101,7 @@ public FPropertyTag(FAssetArchive Ar, PropertyInfo info, ReadType type)
TagData = new FPropertyTagData(info.MappingType);
HasPropertyGuid = false;
PropertyGuid = null;
PropertyTagFlags = info.ArraySize > 1 ? EPropertyTagFlags.HasArrayIndex : EPropertyTagFlags.None;

var pos = Ar.Position;
try
Expand Down Expand Up @@ -143,17 +144,6 @@ public FPropertyTag(FAssetArchive Ar, bool readData)
ArrayIndex = PropertyTagFlags.HasFlag(EPropertyTagFlags.HasArrayIndex) ? Ar.Read<int>() : 0;
HasPropertyGuid = PropertyTagFlags.HasFlag(EPropertyTagFlags.HasPropertyGuid);
PropertyGuid = HasPropertyGuid ? Ar.Read<FGuid>() : null;

if (PropertyTagFlags.HasFlag(EPropertyTagFlags.HasPropertyExtensions))
{
var tagExtensions = Ar.Read<EPropertyTagExtension>();

if (tagExtensions.HasFlag(EPropertyTagExtension.OverridableInformation))
{
var OverrideOperation = Ar.Read<byte>(); // EOverriddenPropertyOperation
var bExperimentalOverridableLogic = Ar.ReadBoolean();
}
}
}
else
{
Expand All @@ -170,16 +160,15 @@ public FPropertyTag(FAssetArchive Ar, bool readData)
PropertyGuid = Ar.Read<FGuid>();
}
}
}

if (Ar.Ver >= EUnrealEngineObjectUE5Version.PROPERTY_TAG_EXTENSION_AND_OVERRIDABLE_SERIALIZATION)
if (Ar.Ver >= EUnrealEngineObjectUE5Version.PROPERTY_TAG_EXTENSION_AND_OVERRIDABLE_SERIALIZATION)
{
var tagExtensions = Ar.Read<EPropertyTagExtension>();
if (tagExtensions.HasFlag(EPropertyTagExtension.OverridableInformation))
{
var tagExtensions = Ar.Read<EPropertyTagExtension>();

if (tagExtensions.HasFlag(EPropertyTagExtension.OverridableInformation))
{
var OverrideOperation = Ar.Read<byte>(); // EOverriddenPropertyOperation
var bExperimentalOverridableLogic = Ar.ReadBoolean();
}
var OverrideOperation = Ar.Read<byte>(); // EOverriddenPropertyOperation
var bExperimentalOverridableLogic = Ar.ReadBoolean();
}
}

Expand Down

0 comments on commit 2249dee

Please sign in to comment.