Compare commits

...
7 Commits
Author SHA1 Message Date
korenkonder 35d7712d8f Release v0.4.10.8
A3DA, MotHead
2021-11-09 14:34:27 +03:00
korenkonder df92e13d2c Release v0.4.10.7
A3DA, AuthDB
2021-10-03 18:32:46 +03:00
korenkonder 803f64e333 Release v0.4.10.6
A3DA
2021-09-26 19:16:56 +03:00
korenkonder a7e14e22ad Release v0.4.10.5
A3DA
2021-09-17 21:00:31 +03:00
korenkonder d94f45870d Release v0.4.10.4
A3DA
2021-05-26 22:43:16 +03:00
korenkonder 2b46e0f4bd Release v0.4.10.3
A3DA
2021-05-24 04:02:18 +03:00
korenkonder f1547f78b2 Release v0.4.10.2.1
A3DA
2021-05-23 21:11:34 +03:00
20 changed files with 1453 additions and 1194 deletions
+59 -56
View File
@@ -2,6 +2,7 @@ namespace KKdBaseLib.Auth3D
{
public struct Data
{
public string[] Auth2D;
public string[] Motion;
public string[] ObjectList;
public string[] ObjectHRCList;
@@ -9,9 +10,11 @@ namespace KKdBaseLib.Auth3D
public _ _;
public DOF? DOF;
public Fog[] Fog;
public Chara[] Chara;
public Curve[] Curve;
public Event[] Event;
public Light[] Light;
public Point[] Point;
public Object[] Object;
public Ambient[] Ambient;
public ObjectHRC[] ObjectHRC;
@@ -20,8 +23,6 @@ namespace KKdBaseLib.Auth3D
public PlayControl PlayControl;
public PostProcess? PostProcess;
public MaterialList[] MaterialList;
public ModelTransform[] Chara;
public ModelTransform[] Point;
public CameraAuxiliary? CameraAuxiliary;
}
@@ -58,17 +59,23 @@ namespace KKdBaseLib.Auth3D
public struct ViewPoint
{
public bool FOVHorizontal;
public float? Aspect;
public float? CameraApertureH;
public float? CameraApertureW;
public Key FOV;
public Key Roll;
public Key FocalLength;
public bool FOVIsHorizontal;
public float Aspect;
public float CameraApertureH;
public float CameraApertureW;
public Key? FocalLength;
public Key? FOV;
public Key? Roll;
public ModelTransform MT;
}
}
public struct Chara
{
public ModelTransform MT;
public string Name;
}
public struct Curve
{
public string Name;
@@ -77,18 +84,17 @@ namespace KKdBaseLib.Auth3D
public struct DOF
{
public string Name;
public ModelTransform MT;
}
public struct Event
{
public int? Type;
public float? End;
public float? Begin;
public float? ClipEnd;
public float? ClipBegin;
public float? TimeRefScale;
public int Type;
public float End;
public float Begin;
public float ClipEnd;
public float ClipBegin;
public float TimeRefScale;
public string Name;
public string Param1;
public string Ref;
@@ -96,11 +102,11 @@ namespace KKdBaseLib.Auth3D
public struct Fog
{
public int? Id;
public int Id;
public Key? End;
public Key? Start;
public Key? Density;
public Vec4<Key?>? Diffuse;
public Vec4<Key?>? Color;
}
public enum CompressF16 : int
@@ -135,7 +141,7 @@ namespace KKdBaseLib.Auth3D
public EPType EPTypePost;
public float? Max;
public float Value;
public RawD RawData;
public bool RawData;
public KFT3[] Keys;
public Key(A3DAKey k)
@@ -160,20 +166,11 @@ namespace KKdBaseLib.Auth3D
Value = k.Keys[0].V;
}
}
public struct RawD
{
public int KeyType;
public int ValueListSize;
public string ValueType;
public string[] ValueList;
}
}
public struct Light
{
public int? Id;
public string Name;
public int Id;
public string Type;
public Key? ConeAngle;
public Key? Constant;
@@ -185,16 +182,15 @@ namespace KKdBaseLib.Auth3D
public Vec4<Key?>? Ambient;
public Vec4<Key?>? Diffuse;
public Vec4<Key?>? Specular;
public Vec4<Key?>? Incandescence;
public Vec4<Key?>? ToneCurve;
public ModelTransform Position;
public ModelTransform SpotDirection;
}
public struct MaterialList
{
public ulong HashName;
public string Name;
public Key GlowIntensity;
public Key? GlowIntensity;
public Vec4<Key?>? BlendColor;
public Vec4<Key?>? Incandescence;
}
@@ -202,14 +198,13 @@ namespace KKdBaseLib.Auth3D
public struct MObjectHRC
{
public string Name;
public Node[] Node;
public Vec3<float?> JointOrient;
public ObjectNode[] Node;
public Instance[] Instances;
public ModelTransform MT;
public struct Instance
{
public bool? Shadow;
public bool Shadow;
public string Name;
public string UIDName;
public ModelTransform MT;
@@ -218,7 +213,6 @@ namespace KKdBaseLib.Auth3D
public struct ModelTransform
{
public bool Writed;
public int? BinOffset;
public Key Visibility;
public Vec3<Key> Rot;
@@ -226,29 +220,23 @@ namespace KKdBaseLib.Auth3D
public Vec3<Key> Trans;
}
public struct Node
{
public int? Parent;
public string Name;
public ModelTransform MT;
}
public struct Object
{
public float? PatOffset;
public float? MorphOffset;
public float PatOffset;
public float MorphOffset;
public string Name;
public string Pat;
public string Morph;
public string UIDName;
public string ParentName;
public string ParentNode;
public ModelTransform MT;
public TexturePattern[] TexPat;
public TextureTransform[] TexTrans;
public struct TexturePattern
{
public int? PatOffset;
public float PatOffset;
public string Pat;
public string Name;
}
@@ -271,20 +259,35 @@ namespace KKdBaseLib.Auth3D
public struct ObjectHRC
{
public bool? Shadow;
public bool Shadow;
public string Name;
public string UIDName;
public Node[] Node;
public Vec3<float?> JointOrient;
public string ParentName;
public string ParentNode;
public ObjectNode[] Node;
}
public struct ObjectNode
{
public Vec3? JointOrient;
public int Parent;
public string Name;
public ModelTransform MT;
}
public struct PlayControl
{
public int Begin;
public float Begin;
public int? Div;
public int FPS;
public int? Offset;
public int Size;
public float FPS;
public float? Offset;
public float Size;
}
public struct Point
{
public ModelTransform MT;
public string Name;
}
public struct PostProcess
@@ -292,8 +295,8 @@ namespace KKdBaseLib.Auth3D
public Key? LensFlare;
public Key? LensGhost;
public Key? LensShaft;
public Vec4<Key?>? Ambient;
public Vec4<Key?>? Diffuse;
public Vec4<Key?>? Specular;
public Vec4<Key?>? Intensity;
public Vec4<Key?>? Radius;
public Vec4<Key?>? SceneFade;
}
}
+4 -5
View File
@@ -223,7 +223,7 @@ namespace KKdBaseLib.F2
public int Size;
public int Repeat;
public SubENRSEntry[] Sub;
public ENRSEntry(int offset, int count, int size, int repeat)
{ Offset = offset; Count = count; Size = size; Repeat = repeat; Sub = new SubENRSEntry[count]; }
@@ -255,13 +255,12 @@ namespace KKdBaseLib.F2
public int SizeSkip => Skip + Reverse * (2 << (byte)Type);
public int Size => Reverse * (2 << (byte)Type);
public override string ToString() => "Skip: " + Skip +
"; Reverse: " + Reverse + "; Type: " + Type;
public override string ToString() =>
$"Skip: {Skip}; Reverse: {Reverse}; Type: {Type}";
}
public override string ToString() =>
"Offset: " + Offset + "; Count: " + Count + "; " +
"Size: " + Size + "; Repeat: " + Repeat;
$"Offset: {Offset}; Count: {Count}; Size: {Size}; Repeat: {Repeat}";
}
public override string ToString() =>
+2 -2
View File
@@ -6,12 +6,12 @@
<Configuration></Configuration>
<Copyright>korenkonder (C) 2019-2021</Copyright>
<Description>A base library</Description>
<FileVersion>0.4.10.2</FileVersion>
<FileVersion>0.4.10.8</FileVersion>
<PackageId>KKdBaseLib</PackageId>
<Product>KKdBaseLib</Product>
<TargetFramework>net461</TargetFramework>
<Title>KKdBaseLib</Title>
<Version>0.4.10.2</Version>
<Version>0.4.10.8</Version>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
+2 -3
View File
@@ -256,9 +256,8 @@ namespace KKdBaseLib
{
m /= 10;
j /= 10;
sort[i++] = ++j;
if (j * 10 >= length)
j++;
while (j % 10 == 9) j /= 10;
j++;
}
else if (j % 10 != 9)
sort[i++] = j++;
+640 -452
View File
File diff suppressed because it is too large Load Diff
-146
View File
@@ -1,146 +0,0 @@
using KKdBaseLib;
using KKdMainLib.IO;
namespace KKdMainLib
{
public unsafe struct AddParam : System.IDisposable
{
private long i;
private Stream s;
public HeaderData Header;
public void AddParamReader(string file)
{
Header = new HeaderData();
s = File.OpenReader(file + ".adp");
Header.Count = s.RI64();
Header.DataLength = s.RI64();
Header.DataOffset = s.RI64();
if (Header.Count < 1 || Header.DataOffset > s.P || Header.DataLength > s.LI64
- Header.DataOffset || Header.Count * 0x20 > s.LI64 - Header.DataOffset) { s.C(); return; }
Header.Data = new HeaderData.Sub[Header.Count];
byte[] data = s.RBy(Header.DataLength, Header.DataOffset);
s.C();
fixed (byte* ptr = data)
{
HeaderData.Sub* hPtr = (HeaderData.Sub*)ptr;
for (i = 0; i < Header.Count; i++)
Header.Data[i] = hPtr[i];
}
data = null;
}
public void AddParamWriter(string file)
{
if (Header.Data == null || Header.Data.LongLength < 1) return;
Header.Count = Header.Data.LongLength;
Header.DataLength = Header.Count * 0x20;
Header.DataOffset = 0x18L;
byte[] data = new byte[Header.DataLength];
fixed (byte* ptr = data)
{
HeaderData.Sub* hPtr = (HeaderData.Sub*)ptr;
for (i = 0; i < Header.Count; i++)
hPtr[i] = Header.Data[i];
}
s = File.OpenWriter(file + ".adp", true);
s.W(Header.Count);
s.W(Header.DataLength);
s.W(Header.DataOffset);
s.W(data);
s.C();
data = null;
}
public void MsgPackReader(string file, bool json)
{
Header = new HeaderData();
MsgPack addParam;
MsgPack msgPack = file.ReadMPAllAtOnce(json);
if ((addParam = msgPack["AddParam", true]).IsNull) return;
Header.Count = addParam.Array.LongLength;
Header.Data = new HeaderData.Sub[Header.Count];
for (i = 0; i < Header.Count; i++)
{
ref HeaderData.Sub sub = ref Header.Data[i];
sub.Time = addParam[i].RF32("Time");
sub.Flags = addParam[i].RI32("Flags");
sub.Frame = addParam[i].RI32("Frame");
sub.ID = addParam[i].RI32("ID");
sub.Value = addParam[i].RF32("Value");
sub.PVBranch = addParam[i].RnI32("PVBranch") ?? 0;
float? f = addParam[i].RnF32("Value");
if (f.HasValue)
{
if (sub.ID == 0) { float v = 0; *(uint*)&v = addParam[i].RU32("Value"); sub.Value = v; }
else sub.Value = f.Value;
}
else { float v = 0; *(uint*)&v = 0xFFFFFFFF; sub.Value = v; }
}
msgPack.Dispose();
}
public void MsgPackWriter(string file, bool json)
{
if (Header.Data == null || Header.Data.LongLength < 1) return;
MsgPack addParam = new MsgPack(Header.Data.LongLength, "AddParam");
fixed (HeaderData.Sub* ptr = Header.Data)
for (i = 0; i < Header.Count; i++)
{
ref HeaderData.Sub sub = ref Header.Data[i];
addParam[i] = MsgPack.New.Add("Time", sub.Time).Add("Flags", sub.Flags).Add("Frame", sub.Frame);
if (sub.PVBranch > 0)
addParam[i] = addParam[i].Add("PVBranch", sub.PVBranch);
addParam[i] = addParam[i].Add("ID", sub.ID);
if (sub.ID == 0)
addParam[i] = addParam[i].Add("Value", *(uint*)&ptr[i].Value);
else if (*(uint*)&ptr[i].Value != 0xFFFFFFFF)
addParam[i] = addParam[i].Add("Value", sub.Value);
}
addParam.WriteAfterAll(false, true, file, json);
}
public void Dispose()
{ if (s != null) s.D(); s = null; Header = default; }
public struct HeaderData
{
public long Count;
public long DataLength;
public long DataOffset;
public Sub[] Data;
public struct Sub
{
public float Time;
public int Flags;
public int Frame;
public int Pad0C;
public int PVBranch;
public int ID;
public float Value;
public int Pad1C;
}
}
}
}
+10 -3
View File
@@ -61,8 +61,7 @@ namespace KKdMainLib.DB
s = File.OpenWriter(file + ".bin", true);
s.W("#A3DA__________\n");
s.W("#" + DateTime.UtcNow.ToString("ddd MMM dd HH:mm:ss yyyy",
System.Globalization.CultureInfo.InvariantCulture) + "\n");
s.W("# date time was eliminated.\n");
if (Category != null)
{
@@ -75,18 +74,26 @@ namespace KKdMainLib.DB
if (UIDs != null)
{
int[] so = UIDs.Length.SW();
int max = -1;
for (i = 0; i < UIDs.Length; i++)
{
if (UIDs[so[i]].Category != null && UIDs[so[i]].Category != "")
s.W($"uid.{so[i]}.category=" + UIDs[so[i]].Category + "\n");
if (UIDs[so[i]].OrgUid != null)
s.W($"uid.{so[i]}.org_uid=" + UIDs[so[i]].OrgUid + "\n");
{
int orgUid = UIDs[so[i]].OrgUid.Value;
s.W($"uid.{so[i]}.org_uid=" + orgUid + "\n");
if (max < orgUid)
max = orgUid;
}
if (UIDs[so[i]].Size != null)
s.W($"uid.{so[i]}.size=" + UIDs[so[i]].Size + "\n");
if (UIDs[so[i]].Value != null && UIDs[so[i]].Value != "")
s.W($"uid.{so[i]}.value=" + UIDs[so[i]].Value + "\n");
}
s.W($"uid.length={UIDs.Length}\n");
if (max != -1)
s.W($"uid.max={max}\n");
}
s.C();
+13 -6
View File
@@ -163,7 +163,7 @@ namespace KKdMainLib
if (@struct.HasSubStructs)
for (int i = 0; i < @struct.SubStructs.Length; i++)
stream.W(@struct.SubStructs[i], depth + 1, shiftX, useDepth);
if (@struct.HasPOF || @struct.HasENRS || @struct.HasSubStructs)
if (@struct.HasPOF || @struct.HasENRS || @struct.HasSubStructs)
stream.WEOFC(depth + 1);
}
}
@@ -248,7 +248,10 @@ namespace KKdMainLib
}
public static class HashExt
{
{
public static uint HashFNV1a64(this byte[] array) =>
array.HashMurmurHash(array.Length);
public static ulong HashFNV1a64(this byte[] array, int length) // 0x1403B04D0 in SBZV_7.10; FNV 1a 64-bit
{
int i = 0;
@@ -256,18 +259,22 @@ namespace KKdMainLib
while (i < length)
{ hash = 0x100000001B3 * (hash ^ (ulong)array[i]); i++; }
return (hash >> 32) ^ hash;
}
}
public static uint HashMurmurHash(this byte[] array, uint salt = 0,
bool alreadyUpper = false, bool bigEndian = false) =>
array.HashMurmurHash(array.Length, salt, alreadyUpper, bigEndian);
public static uint HashMurmurHash(this byte[] array, int length, uint seed = 0,
public static uint HashMurmurHash(this byte[] array, int length, uint salt = 0,
bool alreadyUpper = false, bool bigEndian = false) // 0x814D7A9C in PCSB00554; MurmurHash
{
uint a, b, hash;
int i;
const uint m = 0x7FD652AD;
const int r = 16;
hash = seed + 0xDEADBEEF;
hash = salt + 0xDEADBEEF;
if (alreadyUpper)
{
if (bigEndian)
+1 -1
View File
@@ -98,7 +98,7 @@ namespace KKdMainLib.F2
s.W(blt.Brightpass.Z);
s.W(blt.Range );
}
e.Array = new ENRS.ENRSEntry[2];
e.Array[0] = new ENRS.ENRSEntry(0x00, 0x01, 0x10, 0x01);
e.Array[0].Sub[0] = new ENRS.ENRSEntry.SubENRSEntry(0x00, 0x02, ENRS.ENRSEntry.Type.DWORD);
+1 -1
View File
@@ -99,7 +99,7 @@ namespace KKdMainLib.F2
s.W(cct.Gamma.Z );
s.W(cct.Contrast );
}
e.Array = new ENRS.ENRSEntry[2];
e.Array[0] = new ENRS.ENRSEntry(0x00, 0x01, 0x10, 0x01);
e.Array[0].Sub[0] = new ENRS.ENRSEntry.SubENRSEntry(0x00, 0x02, ENRS.ENRSEntry.Type.DWORD);
+1 -1
View File
@@ -91,7 +91,7 @@ namespace KKdMainLib.F2
s.W(dft.Ratio );
s.W(dft.Quality );
}
e.Array = new ENRS.ENRSEntry[2];
e.Array[0] = new ENRS.ENRSEntry(0x00, 0x01, 0x10, 0x01);
e.Array[0].Sub[0] = new ENRS.ENRSEntry.SubENRSEntry(0x00, 0x02, ENRS.ENRSEntry.Type.DWORD);
+1 -1
View File
@@ -895,7 +895,7 @@ namespace KKdMainLib.F2
ToneCurve = 0b00000001000000000,
}
}
public struct LITX
{
public int C;
+3 -3
View File
@@ -5,13 +5,13 @@
<Company></Company>
<Configuration></Configuration>
<Copyright>korenkonder (C) 2018-2021</Copyright>
<Description>A simple library for working with Project Diva AC/DT/F/AFT/F2/X/FT/M39 files</Description>
<FileVersion>0.4.10.2</FileVersion>
<Description>A simple library for working with Project Diva AC/DT/F/AFT/F2/X/XHD/FT/VRFL/M39 files</Description>
<FileVersion>0.4.10.8</FileVersion>
<PackageId>KKdMainLib</PackageId>
<Product>KKdMainLib</Product>
<TargetFramework>net461</TargetFramework>
<Title>KKdMainLib</Title>
<Version>0.4.10.2</Version>
<Version>0.4.10.8</Version>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
+674 -435
View File
File diff suppressed because it is too large Load Diff
Binary file not shown.
-1
View File
@@ -40,7 +40,6 @@
</PropertyGroup>
<ItemGroup>
<Compile Include="classes\A3D.cs" />
<Compile Include="classes\ADP.cs" />
<Compile Include="classes\AET.cs" />
<Compile Include="classes\BLT.cs" />
<Compile Include="classes\CCT.cs" />
+20 -24
View File
@@ -61,7 +61,7 @@ namespace PD_Tool
ConsoleDesign("5. DB_Tools");
ConsoleDesign("6. AC/DT/F/AFT Converting Tools");
ConsoleDesign("7. F/F2/FT Converting Tools");
ConsoleDesign("8. X/XHD Converting Tools");
ConsoleDesign("8. X/XHD/VRFL Converting Tools");
ConsoleDesign("9. FT/M39 Converting Tools");
ConsoleDesign(json ? "A. MsgPack to JSON" : "A. JSON to MsgPack");
ConsoleDesign(false);
@@ -179,7 +179,7 @@ namespace PD_Tool
if (choose.Length == 1)
{
Console.Clear();
Console.Title = "X/XHD Converting Tools";
Console.Title = "X/XHD/VRFL Converting Tools";
ConsoleDesign(true);
ConsoleDesign(" Choose converter:");
ConsoleDesign(false);
@@ -218,14 +218,13 @@ namespace PD_Tool
ConsoleDesign(" Choose converter:");
ConsoleDesign(false);
ConsoleDesign("1. A3DA" );
ConsoleDesign("2. AddParam");
ConsoleDesign("3. AET" );
ConsoleDesign("4. DEX" );
ConsoleDesign("5. DIVA" );
ConsoleDesign("6. MotHead" );
ConsoleDesign("7. MOT" );
ConsoleDesign("8. STR" );
ConsoleDesign("9. Table" );
ConsoleDesign("2. AET" );
ConsoleDesign("3. DEX" );
ConsoleDesign("4. DIVA" );
ConsoleDesign("5. MotHead" );
ConsoleDesign("6. MOT" );
ConsoleDesign("7. STR" );
ConsoleDesign("8. Table" );
ConsoleDesign(false);
ConsoleDesign("R. Return to Main Menu");
ConsoleDesign(false);
@@ -235,14 +234,13 @@ namespace PD_Tool
}
else localChoose = choose[1].ToString();
if (localChoose == "1") A3D.Processor(json);
else if (localChoose == "2") ADP.Processor(json);
else if (localChoose == "3") AET.Processor(json);
else if (localChoose == "4") DEX.Processor(json);
else if (localChoose == "5") DIV.Processor();
else if (localChoose == "6") MHD.Processor(json);
else if (localChoose == "7") MOT.Processor(json);
else if (localChoose == "8") STR.Processor(json);
else if (localChoose == "9") TBL.Processor(json);
else if (localChoose == "2") AET.Processor(json);
else if (localChoose == "3") DEX.Processor(json);
else if (localChoose == "4") DIV.Processor();
else if (localChoose == "5") MHD.Processor(json);
else if (localChoose == "6") MOT.Processor(json);
else if (localChoose == "7") STR.Processor(json);
else if (localChoose == "8") TBL.Processor(json);
else choose = localChoose;
}
else if (choose[0] == 'A')
@@ -312,8 +310,6 @@ namespace PD_Tool
string Filter = GetArgs("All", false, "*");
if (filetype == "a3da") Filter = GetArgs("A3DA", "a3da", "farc", "json", "mp") +
GetArgs("A3DA", true, "a3da") + GetArgs("FARC", true, "farc") + json + mp;
else if (filetype == "adp" ) Filter = GetArgs("ADP" , "adp", "json", "mp") +
GetArgs("ADP", true, "adp" ) + json + mp;
else if (filetype == "bin" ) Filter = GetArgs("BIN" , "bin", "json", "mp") +
bin + json + mp;
else if (filetype == "blt" ) Filter = GetArgs("BLT" , "blt", "json", "mp") +
@@ -350,15 +346,15 @@ namespace PD_Tool
else if (filetype == "vag" ) Filter = GetArgs("VAG" , "vag", "wav") +
GetArgs("VAG", true, "vag") + wav;
using OpenFileDialog ofd = new OpenFileDialog { InitialDirectory = Application.StartupPath,
Filter = Filter, Multiselect = true, Title = "Choose file(s) to open:" };
using OpenFileDialog ofd = new OpenFileDialog { Filter = Filter,
Multiselect = true, Title = "Choose file(s) to open:" };
if (ofd.ShowDialog() == DialogResult.OK) FileNames = ofd.FileNames;
}
else if (code == 2)
{
string Return = "";
using (OpenFileDialog ofd = new OpenFileDialog { InitialDirectory = Application.StartupPath,
ValidateNames = false, CheckFileExists = false, Filter = " | ", CheckPathExists = true,
using (OpenFileDialog ofd = new OpenFileDialog { ValidateNames = false,
CheckFileExists = false, Filter = " | ", CheckPathExists = true,
Title = "Choose any file in folder:", FileName = "Folder Selection." })
if (ofd.ShowDialog() == DialogResult.OK) Return = Path.GetDirectoryName(ofd.FileName);
return Return;
+3 -3
View File
@@ -2,7 +2,7 @@ using System.Reflection;
using System.Runtime.InteropServices;
[assembly: AssemblyTitle("PD_Tool")]
[assembly: AssemblyDescription("A simple tool for working with Project Diva AC/DT/F/AFT/F2/X/FT/M39 files")]
[assembly: AssemblyDescription("A simple tool for working with Project Diva AC/DT/F/AFT/F2/X/XHD/FT/VRFL/M39 files")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("PD_Tool")]
@@ -11,5 +11,5 @@ using System.Runtime.InteropServices;
[assembly: AssemblyCulture("")]
[assembly: ComVisible(false)]
[assembly: Guid("7B5D5A3A-A6F8-4813-C97D-ACFC98F7397E")]
[assembly: AssemblyVersion("0.4.10.2")]
[assembly: AssemblyFileVersion("0.4.10.2")]
[assembly: AssemblyVersion("0.4.10.8")]
[assembly: AssemblyFileVersion("0.4.10.8")]
+19 -14
View File
@@ -24,6 +24,9 @@ namespace PD_Tool
Program.ConsoleDesign(true);
Program.ConsoleDesign(" Choose type of format to export:");
Program.ConsoleDesign(false);
Program.ConsoleDesign(" Tip: A3DC Opt - A3DC Optimization");
Program.ConsoleDesign(" WARNING! CHECK RESULTS AFTER CONVERTING ");
Program.ConsoleDesign(false);
Program.ConsoleDesign("1. A3DA [DT/AC/F]");
Program.ConsoleDesign("2. A3DC [DT/AC/F]");
Program.ConsoleDesign("3. A3DA [AFT/FT/M39]");
@@ -31,21 +34,21 @@ namespace PD_Tool
Program.ConsoleDesign("5. A3DC [F2]");
Program.ConsoleDesign("6. A3DC [MGF]");
Program.ConsoleDesign("7. A3DC [X]");
Program.ConsoleDesign("8. A3DC [XHD]");
Program.ConsoleDesign("8. A3DC [XHD/VRFL]");
if (!mp) Program.ConsoleDesign($"9. {(json ? "JSON" : "MsgPack")}");
Program.ConsoleDesign(false);
Program.ConsoleDesign(true);
Console.WriteLine();
choose = Console.ReadLine().ToUpper();
if (choose == "1") format = Format.DT ;
else if (choose == "2") format = Format.F ;
else if (choose == "3") format = Format.AFT;
else if (choose == "4") format = Format.AFT;
else if (choose == "5") format = Format.F2;
else if (choose == "6") format = Format.MGF;
else if (choose == "7") format = Format.X ;
else if (choose == "8") format = Format.XHD;
else if (choose == "9") format = Format.NULL;
if (choose == "1") format = Format.DT ;
else if (choose == "2") format = Format.F ;
else if (choose == "3") format = Format.AFT;
else if (choose == "4") format = Format.AFT;
else if (choose == "5") format = Format.F2 ;
else if (choose == "6") format = Format.MGF;
else if (choose == "7") format = Format.X ;
else if (choose == "8") format = Format.XHD;
else if (choose == "9") format = Format.NULL;
else return;
int state;
@@ -71,7 +74,7 @@ namespace PD_Tool
{
a3da.Head.Format = format;
File.WriteAllBytes(filepath + ".a3da", (choose == "1" ||
choose == "3") ? a3da.A3DAWriter() : a3da.A3DCWriter());
choose == "4") ? a3da.A3DAWriter() : a3da.A3DCWriter());
}
}
else if (ext == ".mp" || ext == ".json")
@@ -81,7 +84,7 @@ namespace PD_Tool
a3da.Head.Format = format;
File.WriteAllBytes(filepath + ".a3da", (choose == "1" ||
choose == "3") ? a3da.A3DAWriter() : a3da.A3DCWriter());
choose == "4") ? a3da.A3DAWriter() : a3da.A3DCWriter());
}
}
}
@@ -115,7 +118,8 @@ namespace PD_Tool
{
KKdFARC.FARCFile file = farc.Files[i];
a3da.Head.Format = format;
file.Data = (choose == "1"|| choose == "3") ? a3da.A3DAWriter() : a3da.A3DCWriter();
file.Data = (choose == "1"|| choose == "4")
? a3da.A3DAWriter() : a3da.A3DCWriter();
farc.Files[i] = file;
}
}
@@ -164,7 +168,8 @@ namespace PD_Tool
KKdFARC.FARCFile file = default;
file.Name = list[i];
a3daArray[i].Head.Format = format;
file.Data = (choose == "1" || choose == "3") ? a3daArray[i].A3DAWriter() : a3daArray[i].A3DCWriter();
file.Data = (choose == "1" || choose == "4")
? a3daArray[i].A3DAWriter() : a3daArray[i].A3DCWriter();
farc.Files.Add(file);
}
farc.Save();
-37
View File
@@ -1,37 +0,0 @@
using System;
using KKdMainLib;
using KKdMainLib.IO;
namespace PD_Tool
{
public class ADP
{
public static void Processor(bool json)
{
Console.Title = "Add Param Converter";
Program.Choose(1, "adp", out string[] fileNames);
if (fileNames.Length < 1) return;
string filepath, ext;
AddParam adp;
foreach (string file in fileNames)
using (adp = new AddParam())
{
filepath = Path.RemoveExtension(file);
ext = Path.GetExtension(file).ToLower();
Console.Title = "Add Param Converter: " + Path.GetFileNameWithoutExtension(file);
if (ext == ".adp")
{
adp.AddParamReader(filepath);
adp. MsgPackWriter(filepath, json);
}
else if (ext == ".mp" || ext == ".json")
{
adp. MsgPackReader(filepath, ext == ".json");
adp.AddParamWriter(filepath);
}
}
}
}
}