label2.Update();
MqoGenerator gen = new MqoGenerator();
- gen.Generate(tso_file, out_path, rbBoneRokDeBone.Checked ? MqoBoneMode.RokDeBone : MqoBoneMode.None);
+ gen.Generate(tso_file, out_path, rbBoneRokDeBone.Checked);
if (cbCopyTSO.Checked)
{
MessageBox.Show(exception.ToString());
}
}
-}
\ No newline at end of file
+}
return tso;\r
}\r
\r
- public void Generate(string tso_file, string out_path, MqoBoneMode bone_mode)\r
+ public void Generate(string tso_file, string out_path, bool mqx_enabled)\r
{\r
string tso_filename = Path.GetFileName(tso_file);\r
string mqo_file = Path.Combine(out_path, Path.ChangeExtension(tso_filename, ".mqo"));\r
TSOFile tso = LoadTSO(tso_file);\r
tso.SwitchBoneIndicesOnMesh();\r
\r
- mqo.BoneMode = bone_mode;\r
+ mqo.MqxEnabled = mqx_enabled;\r
\r
mqo.Write(tso);\r
mqo.Close();\r
namespace Tso2MqoGui
{
- public enum MqoBoneMode
- {
- None,
- RokDeBone,
- Mikoto,
- }
-
public class Pair<T, U>
{
public T First;
public TextWriter tw;
public string OutPath;
public string OutFile;
- public MqoBoneMode BoneMode = MqoBoneMode.None;
+ public bool MqxEnabled;
public MqoWriter(string file)
{
public void Write(TSOFile tso)
{
- // ボーンを出す
- bool mqx_enabled = BoneMode == MqoBoneMode.RokDeBone;
-
tw.WriteLine("Metasequoia Document");
tw.WriteLine("Format Text Ver 1.0");
tw.WriteLine("");
- if (mqx_enabled)
+ if (MqxEnabled)
{
tw.WriteLine("IncludeXml \"{0}\"", Path.GetFileName(Path.ChangeExtension(OutFile, ".mqx")));
tw.WriteLine("");
MqoBone[] bones = null;
- if (mqx_enabled)
+ if (MqxEnabled)
bones = CreateBones(tso);
- MqoObjectGen.uid_enabled = mqx_enabled;
+ MqoObjectGen.uid_enabled = MqxEnabled;
MqoObjectGen obj = new MqoObjectGen();
ushort object_id = 0;
obj.Update(mesh);
obj.Write(tw);
- if (mqx_enabled)
+ if (MqxEnabled)
obj.AddWeits(bones);
}
- if (mqx_enabled)
+ if (MqxEnabled)
{
MqxWriter writer = new MqxWriter();
writer.MqoFile = OutFile;
}
return bones;
}
-#if false
- void WriteRokDeBone(MqoBone[] bones)
- {
- tw.WriteLine("Object \"{0}\" {{", "Bone");
- tw.WriteLine("\tvisible {0}", 15);
- tw.WriteLine("\tlocking {0}", 0);
- tw.WriteLine("\tshading {0}", 1);
- tw.WriteLine("\tfacet {0}", 59.5);
- tw.WriteLine("\tcolor {0} {1} {2}", 1, 0, 0);
- tw.WriteLine("\tcolor_type {0}", 0);
-
- tw.WriteLine("\tvertex {0} {{", bones.Length);
-
- foreach (MqoBone bone in bones)
- tw.WriteLine("\t\t{0:F4} {1:F4} {2:F4}", bone.q.x, bone.q.y, bone.q.z);
-
- tw.WriteLine("\t}");
-
- //
- tw.WriteLine("\tface {0} {{", bones.Length);
-
- foreach (MqoBone bone in bones)
- {
- if (bone.pid == -1)
- continue;
-
- //根元と先端を接続するedge
- if (! bone.tail)
- tw.WriteLine(string.Format("\t\t2 V({0} {1})", bone.pid, bone.id));
- }
-
- tw.WriteLine("\t}");
- tw.WriteLine("}");
- }
-#endif
}
public class MqoObjectGen