mirror of
https://mirror.ghproxy.com/https://github.com/dexyfex/CodeWalker
synced 2025-01-09 23:03:27 +08:00
Animations XML conversion progress
This commit is contained in:
parent
542b0c3210
commit
cf1e5c7295
@ -251,15 +251,11 @@ namespace CodeWalker.GameFiles
|
|||||||
{
|
{
|
||||||
Animations.Animations = new ResourcePointerArray64<AnimationMapEntry>();
|
Animations.Animations = new ResourcePointerArray64<AnimationMapEntry>();
|
||||||
Animations.Animations.data_items = animmap;
|
Animations.Animations.data_items = animmap;
|
||||||
Animations.AnimationsMapCapacity = (ushort)(animmap?.Length ?? 0);
|
|
||||||
Animations.AnimationsMapEntries = (ushort)(animmap?.Length ?? 0);
|
|
||||||
}
|
}
|
||||||
if (clipmap != null)
|
if (clipmap != null)
|
||||||
{
|
{
|
||||||
Clips = new ResourcePointerArray64<ClipMapEntry>();
|
Clips = new ResourcePointerArray64<ClipMapEntry>();
|
||||||
Clips.data_items = clipmap;
|
Clips.data_items = clipmap;
|
||||||
ClipsMapCapacity = (ushort)(clipmap?.Length ?? 0);
|
|
||||||
ClipsMapEntries = (ushort)(clipmap?.Length ?? 0);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -2915,7 +2911,6 @@ namespace CodeWalker.GameFiles
|
|||||||
YcdXml.StringTag(sb, indent, "Name", MetaXml.XmlEscape(Name));
|
YcdXml.StringTag(sb, indent, "Name", MetaXml.XmlEscape(Name));
|
||||||
YcdXml.ValueTag(sb, indent, "Type", Type.ToString());
|
YcdXml.ValueTag(sb, indent, "Type", Type.ToString());
|
||||||
YcdXml.ValueTag(sb, indent, "Unknown30", Unknown_30h.ToString());
|
YcdXml.ValueTag(sb, indent, "Unknown30", Unknown_30h.ToString());
|
||||||
YcdXml.ValueTag(sb, indent, "TagsUnknown10", Tags?.Unknown_10h.ToString() ?? "0");
|
|
||||||
YcdXml.WriteItemArray(sb, Tags?.Tags?.data_items, indent, "Tags");
|
YcdXml.WriteItemArray(sb, Tags?.Tags?.data_items, indent, "Tags");
|
||||||
YcdXml.WriteItemArray(sb, Properties?.Properties?.data_items, indent, "Properties");
|
YcdXml.WriteItemArray(sb, Properties?.Properties?.data_items, indent, "Properties");
|
||||||
}
|
}
|
||||||
@ -2926,7 +2921,6 @@ namespace CodeWalker.GameFiles
|
|||||||
|
|
||||||
var tags = XmlMeta.ReadItemArrayNullable<ClipTag>(node, "Tags");
|
var tags = XmlMeta.ReadItemArrayNullable<ClipTag>(node, "Tags");
|
||||||
Tags = new ClipTagList();
|
Tags = new ClipTagList();
|
||||||
Tags.Unknown_10h = Xml.GetChildUIntAttribute(node, "TagsUnknown10", "value");
|
|
||||||
if (tags != null)
|
if (tags != null)
|
||||||
{
|
{
|
||||||
Tags.Tags = new ResourcePointerArray64<ClipTag>();
|
Tags.Tags = new ResourcePointerArray64<ClipTag>();
|
||||||
@ -4037,7 +4031,7 @@ namespace CodeWalker.GameFiles
|
|||||||
public ushort TagCount1 { get; set; }
|
public ushort TagCount1 { get; set; }
|
||||||
public ushort TagCount2 { get; set; }
|
public ushort TagCount2 { get; set; }
|
||||||
public uint Unknown_0Ch { get; set; } // 0x00000000
|
public uint Unknown_0Ch { get; set; } // 0x00000000
|
||||||
public uint Unknown_10h { get; set; } // 0, 1
|
public uint HasBlockTag { get; set; } // 0, 1
|
||||||
public uint Unknown_14h { get; set; } // 0x00000000
|
public uint Unknown_14h { get; set; } // 0x00000000
|
||||||
public uint Unknown_18h { get; set; } // 0x00000000
|
public uint Unknown_18h { get; set; } // 0x00000000
|
||||||
public uint Unknown_1Ch { get; set; } // 0x00000000
|
public uint Unknown_1Ch { get; set; } // 0x00000000
|
||||||
@ -4055,7 +4049,7 @@ namespace CodeWalker.GameFiles
|
|||||||
this.TagCount1 = reader.ReadUInt16();
|
this.TagCount1 = reader.ReadUInt16();
|
||||||
this.TagCount2 = reader.ReadUInt16();
|
this.TagCount2 = reader.ReadUInt16();
|
||||||
this.Unknown_0Ch = reader.ReadUInt32();
|
this.Unknown_0Ch = reader.ReadUInt32();
|
||||||
this.Unknown_10h = reader.ReadUInt32();
|
this.HasBlockTag = reader.ReadUInt32();
|
||||||
this.Unknown_14h = reader.ReadUInt32();
|
this.Unknown_14h = reader.ReadUInt32();
|
||||||
this.Unknown_18h = reader.ReadUInt32();
|
this.Unknown_18h = reader.ReadUInt32();
|
||||||
this.Unknown_1Ch = reader.ReadUInt32();
|
this.Unknown_1Ch = reader.ReadUInt32();
|
||||||
@ -4070,15 +4064,6 @@ namespace CodeWalker.GameFiles
|
|||||||
|
|
||||||
if (TagCount1 != TagCount2)
|
if (TagCount1 != TagCount2)
|
||||||
{ }
|
{ }
|
||||||
|
|
||||||
switch (Unknown_10h)
|
|
||||||
{
|
|
||||||
case 0:
|
|
||||||
case 1:
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void Write(ResourceDataWriter writer, params object[] parameters)
|
public override void Write(ResourceDataWriter writer, params object[] parameters)
|
||||||
@ -4088,12 +4073,14 @@ namespace CodeWalker.GameFiles
|
|||||||
this.TagCount1 = (ushort)(this.Tags != null ? this.Tags.Count : 0);
|
this.TagCount1 = (ushort)(this.Tags != null ? this.Tags.Count : 0);
|
||||||
this.TagCount2 = this.TagCount1;
|
this.TagCount2 = this.TagCount1;
|
||||||
|
|
||||||
|
BuildAllTags(); //just in case? updates HasBlockTag
|
||||||
|
|
||||||
// write structure data
|
// write structure data
|
||||||
writer.Write(this.TagsPointer);
|
writer.Write(this.TagsPointer);
|
||||||
writer.Write(this.TagCount1);
|
writer.Write(this.TagCount1);
|
||||||
writer.Write(this.TagCount2);
|
writer.Write(this.TagCount2);
|
||||||
writer.Write(this.Unknown_0Ch);
|
writer.Write(this.Unknown_0Ch);
|
||||||
writer.Write(this.Unknown_10h);
|
writer.Write(this.HasBlockTag);
|
||||||
writer.Write(this.Unknown_14h);
|
writer.Write(this.Unknown_14h);
|
||||||
writer.Write(this.Unknown_18h);
|
writer.Write(this.Unknown_18h);
|
||||||
writer.Write(this.Unknown_1Ch);
|
writer.Write(this.Unknown_1Ch);
|
||||||
@ -4129,6 +4116,20 @@ namespace CodeWalker.GameFiles
|
|||||||
AllTags = tl.ToArray();
|
AllTags = tl.ToArray();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
uint hasBlock = 0;
|
||||||
|
if (AllTags != null)
|
||||||
|
{
|
||||||
|
foreach (var tag in AllTags)
|
||||||
|
{
|
||||||
|
if (tag.NameHash == (uint)MetaName.block)
|
||||||
|
{ hasBlock = 1; break; }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (HasBlockTag != hasBlock)
|
||||||
|
{ }
|
||||||
|
HasBlockTag = hasBlock;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void AssignTagOwners()
|
public void AssignTagOwners()
|
||||||
|
Loading…
Reference in New Issue
Block a user