mirror of
https://mirror.ghproxy.com/https://github.com/dexyfex/CodeWalker
synced 2024-11-22 23:12:59 +08:00
YDR/YDD/YFT/YPT/XML conversion progress
This commit is contained in:
parent
f81958679a
commit
cd4c87cd71
@ -5,6 +5,7 @@ using System.IO;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Xml;
|
||||
|
||||
namespace CodeWalker.GameFiles
|
||||
{
|
||||
@ -93,4 +94,68 @@ namespace CodeWalker.GameFiles
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
public class YddXml : MetaXmlBase
|
||||
{
|
||||
|
||||
public static string GetXml(YddFile ydd, string outputFolder = "")
|
||||
{
|
||||
StringBuilder sb = new StringBuilder();
|
||||
sb.AppendLine(XmlHeader);
|
||||
|
||||
var ddsfolder = outputFolder;
|
||||
if (!string.IsNullOrEmpty(ddsfolder))
|
||||
{
|
||||
ddsfolder = Path.Combine(outputFolder, ydd.Name);
|
||||
|
||||
if (!Directory.Exists(ddsfolder))
|
||||
{
|
||||
Directory.CreateDirectory(ddsfolder);
|
||||
}
|
||||
}
|
||||
|
||||
if (ydd?.DrawableDict != null)
|
||||
{
|
||||
DrawableDictionary.WriteXmlNode(ydd.DrawableDict, sb, 0, ddsfolder);
|
||||
}
|
||||
|
||||
return sb.ToString();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public class XmlYdd
|
||||
{
|
||||
|
||||
public static YddFile GetYdd(string xml, string inputFolder = "")
|
||||
{
|
||||
XmlDocument doc = new XmlDocument();
|
||||
doc.LoadXml(xml);
|
||||
return GetYdd(doc, inputFolder);
|
||||
}
|
||||
|
||||
public static YddFile GetYdd(XmlDocument doc, string inputFolder = "")
|
||||
{
|
||||
YddFile r = new YddFile();
|
||||
|
||||
var ddsfolder = inputFolder;
|
||||
|
||||
var node = doc.DocumentElement;
|
||||
if (node != null)
|
||||
{
|
||||
r.DrawableDict = DrawableDictionary.ReadXmlNode(node, ddsfolder);
|
||||
}
|
||||
|
||||
r.Name = Path.GetFileName(inputFolder);
|
||||
|
||||
return r;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
@ -4,6 +4,7 @@ using System.IO;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Xml;
|
||||
|
||||
namespace CodeWalker.GameFiles
|
||||
{
|
||||
@ -62,5 +63,64 @@ namespace CodeWalker.GameFiles
|
||||
|
||||
|
||||
|
||||
public class YdrXml : MetaXmlBase
|
||||
{
|
||||
|
||||
public static string GetXml(YdrFile ydr, string outputFolder = "")
|
||||
{
|
||||
StringBuilder sb = new StringBuilder();
|
||||
sb.AppendLine(XmlHeader);
|
||||
|
||||
var ddsfolder = outputFolder;
|
||||
if (!string.IsNullOrEmpty(ddsfolder))
|
||||
{
|
||||
ddsfolder = Path.Combine(outputFolder, ydr.Name);
|
||||
|
||||
if (!Directory.Exists(ddsfolder))
|
||||
{
|
||||
Directory.CreateDirectory(ddsfolder);
|
||||
}
|
||||
}
|
||||
|
||||
if (ydr?.Drawable != null)
|
||||
{
|
||||
Drawable.WriteXmlNode(ydr.Drawable, sb, 0, ddsfolder);
|
||||
}
|
||||
|
||||
return sb.ToString();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public class XmlYdr
|
||||
{
|
||||
|
||||
public static YdrFile GetYdr(string xml, string inputFolder = "")
|
||||
{
|
||||
XmlDocument doc = new XmlDocument();
|
||||
doc.LoadXml(xml);
|
||||
return GetYdr(doc, inputFolder);
|
||||
}
|
||||
|
||||
public static YdrFile GetYdr(XmlDocument doc, string inputFolder = "")
|
||||
{
|
||||
YdrFile r = new YdrFile();
|
||||
|
||||
var ddsfolder = inputFolder;
|
||||
|
||||
var node = doc.DocumentElement;
|
||||
if (node != null)
|
||||
{
|
||||
r.Drawable = Drawable.ReadXmlNode(node, ddsfolder);
|
||||
}
|
||||
|
||||
r.Name = Path.GetFileName(inputFolder);
|
||||
|
||||
return r;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
@ -5,6 +5,7 @@ using System.IO;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Xml;
|
||||
|
||||
namespace CodeWalker.GameFiles
|
||||
{
|
||||
@ -61,4 +62,70 @@ namespace CodeWalker.GameFiles
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
public class YftXml : MetaXmlBase
|
||||
{
|
||||
|
||||
public static string GetXml(YftFile yft, string outputFolder = "")
|
||||
{
|
||||
StringBuilder sb = new StringBuilder();
|
||||
sb.AppendLine(XmlHeader);
|
||||
|
||||
var ddsfolder = outputFolder;
|
||||
if (!string.IsNullOrEmpty(ddsfolder))
|
||||
{
|
||||
ddsfolder = Path.Combine(outputFolder, yft.Name);
|
||||
|
||||
if (!Directory.Exists(ddsfolder))
|
||||
{
|
||||
Directory.CreateDirectory(ddsfolder);
|
||||
}
|
||||
}
|
||||
|
||||
if (yft?.Fragment != null)
|
||||
{
|
||||
FragType.WriteXmlNode(yft.Fragment, sb, 0, ddsfolder);
|
||||
}
|
||||
|
||||
return sb.ToString();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public class XmlYft
|
||||
{
|
||||
|
||||
public static YftFile GetYft(string xml, string inputFolder = "")
|
||||
{
|
||||
XmlDocument doc = new XmlDocument();
|
||||
doc.LoadXml(xml);
|
||||
return GetYft(doc, inputFolder);
|
||||
}
|
||||
|
||||
public static YftFile GetYft(XmlDocument doc, string inputFolder = "")
|
||||
{
|
||||
YftFile r = new YftFile();
|
||||
|
||||
var ddsfolder = inputFolder;
|
||||
|
||||
var node = doc.DocumentElement;
|
||||
if (node != null)
|
||||
{
|
||||
r.Fragment = FragType.ReadXmlNode(node, ddsfolder);
|
||||
}
|
||||
|
||||
r.Name = Path.GetFileName(inputFolder);
|
||||
|
||||
return r;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
@ -1,8 +1,10 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Xml;
|
||||
|
||||
namespace CodeWalker.GameFiles
|
||||
{
|
||||
@ -50,12 +52,29 @@ namespace CodeWalker.GameFiles
|
||||
}
|
||||
|
||||
|
||||
BuildDrawableDict();
|
||||
|
||||
|
||||
Loaded = true;
|
||||
|
||||
}
|
||||
|
||||
|
||||
public byte[] Save()
|
||||
{
|
||||
byte[] data = ResourceBuilder.Build(PtfxList, 68); //ypt is type/version 68...
|
||||
|
||||
return data;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
private void BuildDrawableDict()
|
||||
{
|
||||
var dDict = PtfxList?.DrawableDictionary;
|
||||
|
||||
if ((dDict != null) &&
|
||||
(dDict.Drawables != null) &&
|
||||
(dDict.Drawables.data_items != null) &&
|
||||
(dDict.Hashes != null))
|
||||
if ((dDict?.Drawables?.data_items != null) && (dDict?.Hashes != null))
|
||||
{
|
||||
DrawableDict = new Dictionary<uint, Drawable>();
|
||||
var drawables = dDict.Drawables.data_items;
|
||||
@ -85,29 +104,76 @@ namespace CodeWalker.GameFiles
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Loaded = true;
|
||||
|
||||
}
|
||||
|
||||
|
||||
public byte[] Save()
|
||||
{
|
||||
byte[] data = ResourceBuilder.Build(PtfxList, 68); //ypt is type/version 68...
|
||||
|
||||
return data;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
public class YptXml : MetaXmlBase
|
||||
{
|
||||
|
||||
public static string GetXml(YptFile ypt, string outputFolder = "")
|
||||
{
|
||||
StringBuilder sb = new StringBuilder();
|
||||
sb.AppendLine(XmlHeader);
|
||||
|
||||
var ddsfolder = outputFolder;
|
||||
if (!string.IsNullOrEmpty(ddsfolder))
|
||||
{
|
||||
ddsfolder = Path.Combine(outputFolder, ypt.Name);
|
||||
|
||||
if (!Directory.Exists(ddsfolder))
|
||||
{
|
||||
Directory.CreateDirectory(ddsfolder);
|
||||
}
|
||||
}
|
||||
|
||||
if (ypt?.PtfxList != null)
|
||||
{
|
||||
ParticleEffectsList.WriteXmlNode(ypt.PtfxList, sb, 0, ddsfolder);
|
||||
}
|
||||
|
||||
return sb.ToString();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public class XmlYpt
|
||||
{
|
||||
|
||||
public static YptFile GetYpt(string xml, string inputFolder = "")
|
||||
{
|
||||
XmlDocument doc = new XmlDocument();
|
||||
doc.LoadXml(xml);
|
||||
return GetYpt(doc, inputFolder);
|
||||
}
|
||||
|
||||
public static YptFile GetYpt(XmlDocument doc, string inputFolder = "")
|
||||
{
|
||||
YptFile r = new YptFile();
|
||||
|
||||
var ddsfolder = inputFolder;
|
||||
|
||||
var node = doc.DocumentElement;
|
||||
if (node != null)
|
||||
{
|
||||
r.PtfxList = ParticleEffectsList.ReadXmlNode(node, ddsfolder);
|
||||
}
|
||||
|
||||
r.Name = Path.GetFileName(inputFolder);
|
||||
|
||||
return r;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
@ -71,6 +71,26 @@ namespace CodeWalker.GameFiles
|
||||
YtdFile ytd = RpfFile.GetFile<YtdFile>(e, data);
|
||||
return GetXml(ytd, out filename, outputfolder);
|
||||
}
|
||||
else if (fnl.EndsWith(".ydr"))
|
||||
{
|
||||
YdrFile ydr = RpfFile.GetFile<YdrFile>(e, data);
|
||||
return GetXml(ydr, out filename, outputfolder);
|
||||
}
|
||||
else if (fnl.EndsWith(".ydd"))
|
||||
{
|
||||
YddFile ydd = RpfFile.GetFile<YddFile>(e, data);
|
||||
return GetXml(ydd, out filename, outputfolder);
|
||||
}
|
||||
else if (fnl.EndsWith(".yft"))
|
||||
{
|
||||
YftFile yft = RpfFile.GetFile<YftFile>(e, data);
|
||||
return GetXml(yft, out filename, outputfolder);
|
||||
}
|
||||
else if (fnl.EndsWith(".ypt"))
|
||||
{
|
||||
YptFile ypt = RpfFile.GetFile<YptFile>(e, data);
|
||||
return GetXml(ypt, out filename, outputfolder);
|
||||
}
|
||||
filename = fn;
|
||||
return string.Empty;
|
||||
}
|
||||
@ -154,6 +174,30 @@ namespace CodeWalker.GameFiles
|
||||
filename = fn + ".xml";
|
||||
return YtdXml.GetXml(ytd, outputfolder);
|
||||
}
|
||||
public static string GetXml(YdrFile ydr, out string filename, string outputfolder)
|
||||
{
|
||||
var fn = (ydr?.Name) ?? "";
|
||||
filename = fn + ".xml";
|
||||
return YdrXml.GetXml(ydr, outputfolder);
|
||||
}
|
||||
public static string GetXml(YddFile ydd, out string filename, string outputfolder)
|
||||
{
|
||||
var fn = (ydd?.Name) ?? "";
|
||||
filename = fn + ".xml";
|
||||
return YddXml.GetXml(ydd, outputfolder);
|
||||
}
|
||||
public static string GetXml(YftFile yft, out string filename, string outputfolder)
|
||||
{
|
||||
var fn = (yft?.Name) ?? "";
|
||||
filename = fn + ".xml";
|
||||
return YftXml.GetXml(yft, outputfolder);
|
||||
}
|
||||
public static string GetXml(YptFile ypt, out string filename, string outputfolder)
|
||||
{
|
||||
var fn = (ypt?.Name) ?? "";
|
||||
filename = fn + ".xml";
|
||||
return YptXml.GetXml(ypt, outputfolder);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -2041,6 +2085,10 @@ namespace CodeWalker.GameFiles
|
||||
Ycd = 7,
|
||||
Ybn = 8,
|
||||
Ytd = 9,
|
||||
Ydr = 10,
|
||||
Ydd = 11,
|
||||
Yft = 12,
|
||||
Ypt = 13,
|
||||
}
|
||||
|
||||
}
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -31,7 +31,7 @@ using System.IO;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
using System.Xml;
|
||||
|
||||
namespace CodeWalker.GameFiles
|
||||
{
|
||||
@ -123,9 +123,6 @@ namespace CodeWalker.GameFiles
|
||||
public YftFile Yft { get; set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Reads the data-block from a stream.
|
||||
/// </summary>
|
||||
public override void Read(ResourceDataReader reader, params object[] parameters)
|
||||
{
|
||||
base.Read(reader, parameters);
|
||||
@ -250,10 +247,6 @@ namespace CodeWalker.GameFiles
|
||||
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Writes the data-block to a stream.
|
||||
/// </summary>
|
||||
public override void Write(ResourceDataWriter writer, params object[] parameters)
|
||||
{
|
||||
base.Write(writer, parameters);
|
||||
@ -332,10 +325,29 @@ namespace CodeWalker.GameFiles
|
||||
writer.Write(this.Unknown_128h);
|
||||
writer.Write(this.Unknown_12Ch);
|
||||
}
|
||||
public void WriteXml(StringBuilder sb, int indent, string ddsfolder)
|
||||
{
|
||||
//TODO
|
||||
}
|
||||
public void ReadXml(XmlNode node, string ddsfolder)
|
||||
{
|
||||
//TODO
|
||||
}
|
||||
public static void WriteXmlNode(FragType f, StringBuilder sb, int indent, string ddsfolder, string name = "Fragment")
|
||||
{
|
||||
if (f == null) return;
|
||||
YftXml.OpenTag(sb, indent, name);
|
||||
f.WriteXml(sb, indent + 1, ddsfolder);
|
||||
YftXml.CloseTag(sb, indent, name);
|
||||
}
|
||||
public static FragType ReadXmlNode(XmlNode node, string ddsfolder)
|
||||
{
|
||||
if (node == null) return null;
|
||||
var f = new FragType();
|
||||
f.ReadXml(node, ddsfolder);
|
||||
return f;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Returns a list of data blocks which are referenced by this block.
|
||||
/// </summary>
|
||||
public override IResourceBlock[] GetReferences()
|
||||
{
|
||||
var list = new List<IResourceBlock>(base.GetReferences());
|
||||
@ -413,9 +425,6 @@ namespace CodeWalker.GameFiles
|
||||
private ResourceSystemStructBlock<Matrix> Unknown_108h_DataBlock = null;
|
||||
private string_r NameBlock = null;
|
||||
|
||||
/// <summary>
|
||||
/// Reads the data-block from a stream.
|
||||
/// </summary>
|
||||
public override void Read(ResourceDataReader reader, params object[] parameters)
|
||||
{
|
||||
base.Read(reader, parameters);
|
||||
@ -465,10 +474,6 @@ namespace CodeWalker.GameFiles
|
||||
if (FragMatrices != null)
|
||||
{ }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Writes the data-block to a stream.
|
||||
/// </summary>
|
||||
public override void Write(ResourceDataWriter writer, params object[] parameters)
|
||||
{
|
||||
base.Write(writer, parameters);
|
||||
@ -508,10 +513,31 @@ namespace CodeWalker.GameFiles
|
||||
writer.Write(this.Unknown_148h);
|
||||
writer.Write(this.Unknown_14Ch);
|
||||
}
|
||||
public override void WriteXml(StringBuilder sb, int indent, string ddsfolder)
|
||||
{
|
||||
base.WriteXml(sb, indent, ddsfolder);
|
||||
//TODO
|
||||
}
|
||||
public override void ReadXml(XmlNode node, string ddsfolder)
|
||||
{
|
||||
base.ReadXml(node, ddsfolder);
|
||||
//TODO
|
||||
}
|
||||
public static void WriteXmlNode(FragDrawable d, StringBuilder sb, int indent, string ddsfolder, string name = "FragDrawable")
|
||||
{
|
||||
if (d == null) return;
|
||||
YftXml.OpenTag(sb, indent, name);
|
||||
d.WriteXml(sb, indent + 1, ddsfolder);
|
||||
YftXml.CloseTag(sb, indent, name);
|
||||
}
|
||||
public static FragDrawable ReadXmlNode(XmlNode node, string ddsfolder)
|
||||
{
|
||||
if (node == null) return null;
|
||||
var d = new FragDrawable();
|
||||
d.ReadXml(node, ddsfolder);
|
||||
return d;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Returns a list of data blocks which are referenced by this block.
|
||||
/// </summary>
|
||||
public override IResourceBlock[] GetReferences()
|
||||
{
|
||||
var list = new List<IResourceBlock>(base.GetReferences());
|
||||
|
@ -3,6 +3,7 @@ using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Xml;
|
||||
using TC = System.ComponentModel.TypeConverterAttribute;
|
||||
using EXP = System.ComponentModel.ExpandableObjectConverter;
|
||||
|
||||
@ -110,7 +111,6 @@ namespace CodeWalker.GameFiles
|
||||
this.EffectRuleDictionaryPointer // offset
|
||||
);
|
||||
}
|
||||
|
||||
public override void Write(ResourceDataWriter writer, params object[] parameters)
|
||||
{
|
||||
base.Write(writer, parameters);
|
||||
@ -139,6 +139,28 @@ namespace CodeWalker.GameFiles
|
||||
writer.Write(this.Unknown_58h);
|
||||
writer.Write(this.Unknown_5Ch);
|
||||
}
|
||||
public void WriteXml(StringBuilder sb, int indent, string ddsfolder)
|
||||
{
|
||||
//TODO
|
||||
}
|
||||
public void ReadXml(XmlNode node, string ddsfolder)
|
||||
{
|
||||
//TODO
|
||||
}
|
||||
public static void WriteXmlNode(ParticleEffectsList p, StringBuilder sb, int indent, string ddsfolder, string name = "ParticleEffectsList")
|
||||
{
|
||||
if (p == null) return;
|
||||
YptXml.OpenTag(sb, indent, name);
|
||||
p.WriteXml(sb, indent + 1, ddsfolder);
|
||||
YptXml.CloseTag(sb, indent, name);
|
||||
}
|
||||
public static ParticleEffectsList ReadXmlNode(XmlNode node, string ddsfolder)
|
||||
{
|
||||
if (node == null) return null;
|
||||
var p = new ParticleEffectsList();
|
||||
p.ReadXml(node, ddsfolder);
|
||||
return p;
|
||||
}
|
||||
|
||||
public override IResourceBlock[] GetReferences()
|
||||
{
|
||||
|
@ -244,9 +244,9 @@ namespace CodeWalker
|
||||
InitFileType(".asi", "ASI Plugin", 9);
|
||||
InitFileType(".dll", "Dynamic Link Library", 9);
|
||||
InitFileType(".exe", "Executable", 10);
|
||||
InitFileType(".yft", "Fragment", 11, FileTypeAction.ViewModel);
|
||||
InitFileType(".ydr", "Drawable", 11, FileTypeAction.ViewModel);
|
||||
InitFileType(".ydd", "Drawable Dictionary", 12, FileTypeAction.ViewModel);
|
||||
InitFileType(".yft", "Fragment", 11, FileTypeAction.ViewModel, true);
|
||||
InitFileType(".ydr", "Drawable", 11, FileTypeAction.ViewModel, true);
|
||||
InitFileType(".ydd", "Drawable Dictionary", 12, FileTypeAction.ViewModel, true);
|
||||
InitFileType(".cut", "Cutscene", 12, FileTypeAction.ViewCut, true);
|
||||
InitFileType(".ysc", "Script", 13);
|
||||
InitFileType(".ymf", "Manifest", 14, FileTypeAction.ViewYmf, true);
|
||||
@ -259,7 +259,7 @@ namespace CodeWalker
|
||||
InitFileType(".ytd", "Texture Dictionary", 16, FileTypeAction.ViewYtd, true);
|
||||
InitFileType(".mrf", "MRF File", 18);
|
||||
InitFileType(".ycd", "Clip Dictionary", 18, FileTypeAction.ViewYcd, true);
|
||||
InitFileType(".ypt", "Particle Effect", 18, FileTypeAction.ViewModel);
|
||||
InitFileType(".ypt", "Particle Effect", 18, FileTypeAction.ViewModel, true);
|
||||
InitFileType(".ybn", "Static Collisions", 19, FileTypeAction.ViewModel, true);
|
||||
InitFileType(".ide", "Item Definitions", 20, FileTypeAction.ViewText);
|
||||
InitFileType(".ytyp", "Archetype Definitions", 20, FileTypeAction.ViewYtyp, true);
|
||||
@ -2470,6 +2470,22 @@ namespace CodeWalker
|
||||
{
|
||||
mformat = MetaFormat.Ytd;
|
||||
}
|
||||
if (fnamel.EndsWith(".ydr.xml"))
|
||||
{
|
||||
mformat = MetaFormat.Ydr;
|
||||
}
|
||||
if (fnamel.EndsWith(".ydd.xml"))
|
||||
{
|
||||
mformat = MetaFormat.Ydd;
|
||||
}
|
||||
if (fnamel.EndsWith(".yft.xml"))
|
||||
{
|
||||
mformat = MetaFormat.Yft;
|
||||
}
|
||||
if (fnamel.EndsWith(".ypt.xml"))
|
||||
{
|
||||
mformat = MetaFormat.Ypt;
|
||||
}
|
||||
|
||||
fname = fname.Substring(0, fname.Length - trimlength);
|
||||
fnamel = fnamel.Substring(0, fnamel.Length - trimlength);
|
||||
@ -2574,6 +2590,50 @@ namespace CodeWalker
|
||||
data = ytd.Save();
|
||||
break;
|
||||
}
|
||||
case MetaFormat.Ydr:
|
||||
{
|
||||
var ydr = XmlYdr.GetYdr(doc, fpathin);
|
||||
if (ydr.Drawable == null)
|
||||
{
|
||||
MessageBox.Show(fname + ": Schema not supported.", "Cannot import YDR XML");
|
||||
continue;
|
||||
}
|
||||
data = ydr.Save();
|
||||
break;
|
||||
}
|
||||
case MetaFormat.Ydd:
|
||||
{
|
||||
var ydd = XmlYdd.GetYdd(doc, fpathin);
|
||||
if (ydd.DrawableDict == null)
|
||||
{
|
||||
MessageBox.Show(fname + ": Schema not supported.", "Cannot import YDD XML");
|
||||
continue;
|
||||
}
|
||||
data = ydd.Save();
|
||||
break;
|
||||
}
|
||||
case MetaFormat.Yft:
|
||||
{
|
||||
var yft = XmlYft.GetYft(doc, fpathin);
|
||||
if (yft.Fragment == null)
|
||||
{
|
||||
MessageBox.Show(fname + ": Schema not supported.", "Cannot import YFT XML");
|
||||
continue;
|
||||
}
|
||||
data = yft.Save();
|
||||
break;
|
||||
}
|
||||
case MetaFormat.Ypt:
|
||||
{
|
||||
var ypt = XmlYpt.GetYpt(doc, fpathin);
|
||||
if (ypt.PtfxList == null)
|
||||
{
|
||||
MessageBox.Show(fname + ": Schema not supported.", "Cannot import YPT XML");
|
||||
continue;
|
||||
}
|
||||
data = ypt.Save();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user