Compare commits

...

2 Commits

Author SHA1 Message Date
12a544b6df
去掉烦人的lzwManifest.json 2024-10-26 22:51:41 +08:00
a5e9d161d3
update 2024-10-26 22:50:52 +08:00
3 changed files with 53 additions and 50 deletions

View File

@ -170,7 +170,7 @@ namespace EscudeTools
if (!Directory.Exists(output))
Directory.CreateDirectory(output);
var lzwManifest = new List<LzwEntry>();
string jsonPath = Path.Combine(output, "lzwManifest.json");
//string jsonPath = Path.Combine(output, "lzwManifest.json");
using FileStream inputStream = new(pFile, FileMode.Open, FileAccess.Read);
using BinaryReader br = new(inputStream);
foreach (Entry entry in pItem)
@ -207,11 +207,11 @@ namespace EscudeTools
if (lzwManifest.Count > 0)
{
using (FileStream fs = File.Create(jsonPath))
{
byte[] jsonBytes = Encoding.UTF8.GetBytes(JsonSerializer.Serialize(lzwManifest));
fs.Write(jsonBytes, 0, jsonBytes.Length);
}
//using (FileStream fs = File.Create(jsonPath))
//{
// byte[] jsonBytes = Encoding.UTF8.GetBytes(JsonSerializer.Serialize(lzwManifest));
// fs.Write(jsonBytes, 0, jsonBytes.Length);
//}
LzwDecode(lzwManifest, output);
};
@ -317,8 +317,9 @@ namespace EscudeTools
if (useCustomKey)
LoadKey(customKeyProviderPath);
GeneratePItem(path);
if(File.Exists(Path.Combine(path, "lzwManifest.json")))
return false; //Q:为什么不支持 //A:因为我实在不想研究lzw算法欢迎PR
//if(File.Exists(Path.Combine(path, "lzwManifest.json")))
// return false;
//Q:为什么不支持LZW打包 //A:因为我实在不想研究lzw算法欢迎PR
m_seed = isLoaded ? LoadedKey : 2210579460;
string outputPath = Path.Combine(Path.GetDirectoryName(path), Path.GetFileName(path) + ".bin");
using (FileStream fs = new(outputPath, FileMode.Create))

View File

@ -328,22 +328,24 @@ namespace EscudeTools
// }
//}
//Batch Repack ESC-ARC Package
if (Directory.Exists(args[0]))// && Directory.Exists(args[1])
{
string[] directories = Directory.GetDirectories(args[0]);
foreach (string directory in directories)
{
PackManager pm = new();
//string providerFilePath = Path.Combine(args[1], Path.GetFileName(directory) + ".bin");
if (pm.Repack(directory, 2, true))
Console.WriteLine("Repack Package Success");
else
{
Console.WriteLine("Repack Package Failed");
}
}
}
////不支持script data打包因为这几个封包游戏强制lzw压缩读取
////而我没写出lzw压缩代码
////Batch Repack ESC-ARC Package
//if (Directory.Exists(args[0]))// && Directory.Exists(args[1])
//{
// string[] directories = Directory.GetDirectories(args[0]);
// foreach (string directory in directories)
// {
// PackManager pm = new();
// //string providerFilePath = Path.Combine(args[1], Path.GetFileName(directory) + ".bin");
// if (pm.Repack(directory, 2, true))
// Console.WriteLine("Repack Package Success");
// else
// {
// Console.WriteLine("Repack Package Failed");
// }
// }
//}
////Batch Unpack Script(Full, Text, Mess)
@ -438,34 +440,34 @@ namespace EscudeTools
//}
////导出db_*.bin
//if (Directory.Exists(args[0]))
//{
// string[] files = Directory.GetFiles(args[0], "db_*.bin");
// DatabaseManager dm = new();
// foreach (string file in files)
// {
// if (dm.LoadDatabase(file))
// {
// Console.WriteLine($"Load {file} Success");
// }
// else
// {
// Console.WriteLine($"Load {file} Failed");
// return;
// }
//导出db_*.bin
if (Directory.Exists(args[0]))
{
string[] files = Directory.GetFiles(args[0], "db_*.bin");
DatabaseManager dm = new();
foreach (string file in files)
{
if (dm.LoadDatabase(file))
{
Console.WriteLine($"Load {file} Success");
}
else
{
Console.WriteLine($"Load {file} Failed");
return;
}
// if (dm.ExportDatabase(Path.GetDirectoryName(args[0])))
// Console.WriteLine("Export Database Success");
// else
// {
// Console.WriteLine("Export Database Failed");
// return;
// }
if (dm.ExportDatabase(Path.GetDirectoryName(args[0])))
Console.WriteLine("Export Database Success");
else
{
Console.WriteLine("Export Database Failed");
return;
}
// }
}
//}
}
// if (args.Length == 0 || args.Length > 2)

View File

@ -2,7 +2,7 @@
"profiles": {
"EscudeTools": {
"commandName": "Project",
"commandLineArgs": "G:\\x221.local\\lab3\\Haison\\output\\output"
"commandLineArgs": "G:\\x221.local\\lab3\\Haison\\output\\data"
}
}
}