Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
35d7712d8f | ||
|
|
df92e13d2c | ||
|
|
803f64e333 | ||
|
|
a7e14e22ad | ||
|
|
d94f45870d | ||
|
|
2b46e0f4bd | ||
|
|
f1547f78b2 |
+59
-56
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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() =>
|
||||
|
||||
@@ -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
@@ -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
File diff suppressed because it is too large
Load Diff
@@ -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
@@ -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();
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -895,7 +895,7 @@ namespace KKdMainLib.F2
|
||||
ToneCurve = 0b00000001000000000,
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public struct LITX
|
||||
{
|
||||
public int C;
|
||||
|
||||
@@ -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
File diff suppressed because it is too large
Load Diff
Binary file not shown.
@@ -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
@@ -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;
|
||||
|
||||
@@ -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
@@ -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();
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user