acb_extract: parallelize
This commit is contained in:
parent
87e3398067
commit
e9d5464c7b
3 changed files with 8 additions and 5 deletions
2
acb_extract/.gitignore
vendored
Normal file
2
acb_extract/.gitignore
vendored
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
bin/
|
||||
obj/
|
||||
|
|
@ -467,7 +467,7 @@ namespace vgm_acb.extract
|
|||
|
||||
int tableSize = (int)this.UtfReader.ReadUint(fs, offsetToUtfTable, 4) + 8;
|
||||
|
||||
pathToUtf = Path.Combine(Path.GetTempPath(), TEMP_UTF_TABLE_FILE);
|
||||
pathToUtf = Path.Combine(Path.GetTempPath(), $"{Guid.NewGuid()}_{TEMP_UTF_TABLE_FILE}");
|
||||
|
||||
if (this.IsEncrypted)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -1,17 +1,18 @@
|
|||
using System;
|
||||
using System.IO;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace vgm_acb.extract
|
||||
{
|
||||
static class extract
|
||||
{
|
||||
static void Main(string[] args) {
|
||||
foreach (string s in args) {
|
||||
Parallel.ForEach(args, new ParallelOptions { MaxDegreeOfParallelism = Environment.ProcessorCount }, (s) => {
|
||||
using (FileStream fs = File.Open(s, FileMode.Open, FileAccess.Read, FileShare.Read)) {
|
||||
CriAcbFile acb = new CriAcbFile(fs, 0, false);
|
||||
acb.ExtractAll();
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue