From ee603ff147af87921dbf9e8354b36d0e26673759 Mon Sep 17 00:00:00 2001 From: sewer56lol Date: Thu, 10 Aug 2023 06:14:57 +0100 Subject: [PATCH] Enforce consistent code style --- p5rpc.modloader/Merging/Tbl/P3PTblMerger.cs | 34 +++++++++------- p5rpc.modloader/Merging/Tbl/P4GTblMerger.cs | 43 ++++++++++++--------- p5rpc.modloader/Merging/Tbl/P5RTblMerger.cs | 30 ++++++++------ 3 files changed, 63 insertions(+), 44 deletions(-) diff --git a/p5rpc.modloader/Merging/Tbl/P3PTblMerger.cs b/p5rpc.modloader/Merging/Tbl/P3PTblMerger.cs index 7c3dbc2..2903154 100644 --- a/p5rpc.modloader/Merging/Tbl/P3PTblMerger.cs +++ b/p5rpc.modloader/Merging/Tbl/P3PTblMerger.cs @@ -1,23 +1,24 @@ using CriFs.V2.Hook.Interfaces; using FileEmulationFramework.Lib.Utilities; -using Persona.Merger.Cache; -using Persona.Merger.Patching.Tbl.FieldResolvers.P3P; -using Persona.Merger.Patching.Tbl; using PAK.Stream.Emulator.Interfaces; using PAK.Stream.Emulator.Interfaces.Structures.IO; +using Persona.Merger.Cache; +using Persona.Merger.Patching.Tbl; +using Persona.Merger.Patching.Tbl.FieldResolvers.P3P; using static p5rpc.modloader.Merging.Tbl.TblMerger; namespace p5rpc.modloader.Merging.Tbl; internal class P3PTblMerger : IFileMerger { - private readonly MergeUtils _utils; + private readonly ICriFsRedirectorApi _criFsApi; private readonly Logger _logger; private readonly MergedFileCache _mergedFileCache; - private readonly ICriFsRedirectorApi _criFsApi; private readonly IPakEmulator _pakEmulator; + private readonly MergeUtils _utils; - internal P3PTblMerger(MergeUtils utils, Logger logger, MergedFileCache mergedFileCache, ICriFsRedirectorApi criFsApi, IPakEmulator pakEmulator) + internal P3PTblMerger(MergeUtils utils, Logger logger, MergedFileCache mergedFileCache, + ICriFsRedirectorApi criFsApi, IPakEmulator pakEmulator) { _utils = utils; _logger = logger; @@ -39,7 +40,7 @@ public void Merge(string[] cpks, ICriFsRedirectorApi.BindContext context) PatchTbl(pakFiles, @"init_free.bin\battle\PERSONA.TBL", TblType.Persona, cpks), PatchTbl(pakFiles, @"init_free.bin\battle\SKILL.TBL", TblType.Skill, cpks), PatchTbl(pakFiles, @"init_free.bin\battle\UNIT.TBL", TblType.Unit, cpks), - PatchTbl(pakFiles, @"init_free.bin\init\itemtbl.bin", TblType.Item, cpks), + PatchTbl(pakFiles, @"init_free.bin\init\itemtbl.bin", TblType.Item, cpks) }; Task.WhenAll(tasks.Select(x => x.AsTask())).Wait(); @@ -49,9 +50,11 @@ private async ValueTask PatchTbl(RouteGroupTuple[] pakFiles, string tblPath, Tbl { var route = tblPath.Substring(0, tblPath.LastIndexOf('\\')); var tblName = Path.GetFileName(tblPath); - List candidates = FindInPaks(pakFiles, route, tblName); + var candidates = FindInPaks(pakFiles, route, tblName); if (type is TblType.Message) + { candidates.AddRange(FindInPaks(pakFiles, @"init_free.bin\battle", "MSGTBL.bmd")); + } else if (type is TblType.AiCalc) { candidates.AddRange(FindInPaks(pakFiles, @"init_free.bin\battle", "enemy.bf")); @@ -65,7 +68,7 @@ private async ValueTask PatchTbl(RouteGroupTuple[] pakFiles, string tblPath, Tbl var pathInCpk = '\\' + tblPath.Substring(0, dirIndex); var pathInPak = tblPath.Substring(dirIndex + 1); - if (!_utils.TryFindFileInAnyCpk(pathInCpk, cpks, out var cpkPath, out var cpkEntry, out int fileIndex)) + if (!_utils.TryFindFileInAnyCpk(pathInCpk, cpks, out var cpkPath, out var cpkEntry, out var fileIndex)) { _logger.Warning("Unable to find TBL in any CPK {0}", tblPath); return; @@ -88,12 +91,13 @@ private async ValueTask PatchTbl(RouteGroupTuple[] pakFiles, string tblPath, Tbl await Task.Run(async () => { _logger.Info("Merging {0} with key {1}.", tblPath, cacheKey); - await using var cpkStream = new FileStream(cpkPath, FileMode.Open, FileAccess.ReadWrite, FileShare.ReadWrite); + await using var cpkStream = + new FileStream(cpkPath, FileMode.Open, FileAccess.ReadWrite, FileShare.ReadWrite); using var reader = _criFsApi.GetCriFsLib().CreateCpkReader(cpkStream, false); using var extractedPak = reader.ExtractFile(cpkEntry.Files[fileIndex].File); var extractedTbl = _pakEmulator.GetEntry(new MemoryStream(extractedPak.RawArray), pathInPak); - if(extractedTbl == null) + if (extractedTbl == null) { _logger.Error($"Unable to extract {pathInPak} from {pathInCpk}"); return; @@ -134,7 +138,7 @@ private static async Task PatchTable(TblType type, byte[] extractedTable private async Task PatchMsgTable(byte[] extractedTable, List candidates) { - byte[][] bmds = new byte[5][]; + var bmds = new byte[5][]; var bmdFile = candidates.FirstOrDefault(x => x.EndsWith("MSGTBL.bmd", StringComparison.OrdinalIgnoreCase)); if (bmdFile != null) { @@ -154,8 +158,10 @@ private async Task PatchMsgTable(byte[] extractedTable, List can private async Task PatchAiCalc(byte[] extractedTable, List candidates) { - byte[][] bfs = new byte[18][]; - var bfFiles = candidates.Where(x => x.EndsWith("enemy.bf", StringComparison.OrdinalIgnoreCase) || x.EndsWith("friend.bf", StringComparison.OrdinalIgnoreCase)); + var bfs = new byte[18][]; + var bfFiles = candidates.Where(x => + x.EndsWith("enemy.bf", StringComparison.OrdinalIgnoreCase) || + x.EndsWith("friend.bf", StringComparison.OrdinalIgnoreCase)); foreach (var bfFile in bfFiles) { _logger.Info($"Embedding {bfFile} into AICALC.TBL"); diff --git a/p5rpc.modloader/Merging/Tbl/P4GTblMerger.cs b/p5rpc.modloader/Merging/Tbl/P4GTblMerger.cs index 42c0fb8..a6b7eb9 100644 --- a/p5rpc.modloader/Merging/Tbl/P4GTblMerger.cs +++ b/p5rpc.modloader/Merging/Tbl/P4GTblMerger.cs @@ -1,23 +1,24 @@ using CriFs.V2.Hook.Interfaces; using FileEmulationFramework.Lib.Utilities; -using Persona.Merger.Cache; -using Persona.Merger.Patching.Tbl.FieldResolvers.P4G; -using Persona.Merger.Patching.Tbl; using PAK.Stream.Emulator.Interfaces; using PAK.Stream.Emulator.Interfaces.Structures.IO; +using Persona.Merger.Cache; +using Persona.Merger.Patching.Tbl; +using Persona.Merger.Patching.Tbl.FieldResolvers.P4G; using static p5rpc.modloader.Merging.Tbl.TblMerger; namespace p5rpc.modloader.Merging.Tbl; internal class P4GTblMerger : IFileMerger { - private readonly MergeUtils _utils; + private readonly ICriFsRedirectorApi _criFsApi; private readonly Logger _logger; private readonly MergedFileCache _mergedFileCache; - private readonly ICriFsRedirectorApi _criFsApi; private readonly IPakEmulator _pakEmulator; + private readonly MergeUtils _utils; - internal P4GTblMerger(MergeUtils utils, Logger logger, MergedFileCache mergedFileCache, ICriFsRedirectorApi criFsApi, IPakEmulator pakEmulator) + internal P4GTblMerger(MergeUtils utils, Logger logger, MergedFileCache mergedFileCache, + ICriFsRedirectorApi criFsApi, IPakEmulator pakEmulator) { _utils = utils; _logger = logger; @@ -39,7 +40,7 @@ public void Merge(string[] cpks, ICriFsRedirectorApi.BindContext context) PatchTbl(pakFiles, @"init_free.bin\battle\PERSONA.TBL", TblType.Persona, cpks), PatchTbl(pakFiles, @"init_free.bin\battle\SKILL.TBL", TblType.Skill, cpks), PatchTbl(pakFiles, @"init_free.bin\battle\UNIT.TBL", TblType.Unit, cpks), - PatchTbl(pakFiles, @"init_free.bin\init\itemtbl.bin", TblType.Item, cpks), + PatchTbl(pakFiles, @"init_free.bin\init\itemtbl.bin", TblType.Item, cpks) }; Task.WhenAll(tasks.Select(x => x.AsTask())).Wait(); @@ -49,14 +50,17 @@ private async ValueTask PatchTbl(RouteGroupTuple[] pakFiles, string tblPath, Tbl { var route = tblPath.Substring(0, tblPath.LastIndexOf('\\')); var tblName = Path.GetFileName(tblPath); - List candidates = FindInPaks(pakFiles, route, tblName); + var candidates = FindInPaks(pakFiles, route, tblName); if (type is TblType.Message) + { candidates.AddRange(FindInPaks(pakFiles, @"init_free.bin\battle", "MSGTBL.bmd")); - else if(type is TblType.AiCalc) + } + else if (type is TblType.AiCalc) { candidates.AddRange(FindInPaks(pakFiles, @"init_free.bin\battle", "enemy.bf")); candidates.AddRange(FindInPaks(pakFiles, @"init_free.bin\battle", "friend.bf")); } + if (candidates.Count == 0) return; var extIndex = tblPath.IndexOf('.'); @@ -64,7 +68,7 @@ private async ValueTask PatchTbl(RouteGroupTuple[] pakFiles, string tblPath, Tbl var pathInCpk = '\\' + tblPath.Substring(0, dirIndex); var pathInPak = tblPath.Substring(dirIndex + 1); - if (!_utils.TryFindFileInAnyCpk(pathInCpk, cpks, out var cpkPath, out var cpkEntry, out int fileIndex)) + if (!_utils.TryFindFileInAnyCpk(pathInCpk, cpks, out var cpkPath, out var cpkEntry, out var fileIndex)) { _logger.Warning("Unable to find TBL in any CPK {0}", tblPath); return; @@ -87,12 +91,13 @@ private async ValueTask PatchTbl(RouteGroupTuple[] pakFiles, string tblPath, Tbl await Task.Run(async () => { _logger.Info("Merging {0} with key {1}.", tblPath, cacheKey); - await using var cpkStream = new FileStream(cpkPath, FileMode.Open, FileAccess.ReadWrite, FileShare.ReadWrite); + await using var cpkStream = + new FileStream(cpkPath, FileMode.Open, FileAccess.ReadWrite, FileShare.ReadWrite); using var reader = _criFsApi.GetCriFsLib().CreateCpkReader(cpkStream, false); using var extractedPak = reader.ExtractFile(cpkEntry.Files[fileIndex].File); var extractedTbl = _pakEmulator.GetEntry(new MemoryStream(extractedPak.RawArray), pathInPak); - if(extractedTbl == null) + if (extractedTbl == null) { _logger.Error($"Unable to extract {pathInPak} from {pathInCpk}"); return; @@ -100,7 +105,7 @@ await Task.Run(async () => // Then we merge byte[] patched; - switch(type) + switch (type) { case TblType.Message: patched = await PatchMsgTable(extractedTbl.Value.ToArray(), candidates); @@ -133,9 +138,9 @@ private async Task PatchTable(TblType type, byte[] extractedTable, List< private async Task PatchMsgTable(byte[] extractedTable, List candidates) { - byte[][] bmds = new byte[5][]; + var bmds = new byte[5][]; var bmdFile = candidates.FirstOrDefault(x => x.EndsWith("MSGTBL.bmd", StringComparison.OrdinalIgnoreCase)); - if(bmdFile != null) + if (bmdFile != null) { _logger.Info($"Embedding {bmdFile} into MSG.TBL"); bmds[4] = await File.ReadAllBytesAsync(bmdFile); @@ -153,9 +158,11 @@ private async Task PatchMsgTable(byte[] extractedTable, List can private async Task PatchAiCalc(byte[] extractedTable, List candidates) { - byte[][] bfs = new byte[11][]; - var bfFiles = candidates.Where(x => x.EndsWith("enemy.bf", StringComparison.OrdinalIgnoreCase) || x.EndsWith("friend.bf", StringComparison.OrdinalIgnoreCase)); - foreach(var bfFile in bfFiles) + var bfs = new byte[11][]; + var bfFiles = candidates.Where(x => + x.EndsWith("enemy.bf", StringComparison.OrdinalIgnoreCase) || + x.EndsWith("friend.bf", StringComparison.OrdinalIgnoreCase)); + foreach (var bfFile in bfFiles) { _logger.Info($"Embedding {bfFile} into AICALC.TBL"); var index = bfFile.EndsWith("friend.bf", StringComparison.OrdinalIgnoreCase) ? 9 : 10; diff --git a/p5rpc.modloader/Merging/Tbl/P5RTblMerger.cs b/p5rpc.modloader/Merging/Tbl/P5RTblMerger.cs index 8cd30fd..e254bfa 100644 --- a/p5rpc.modloader/Merging/Tbl/P5RTblMerger.cs +++ b/p5rpc.modloader/Merging/Tbl/P5RTblMerger.cs @@ -2,21 +2,22 @@ using CriFsV2Lib.Definitions.Utilities; using FileEmulationFramework.Lib.Utilities; using Persona.Merger.Cache; -using Persona.Merger.Patching.Tbl.FieldResolvers.P5R.Name; -using Persona.Merger.Patching.Tbl.FieldResolvers.P5R; using Persona.Merger.Patching.Tbl; +using Persona.Merger.Patching.Tbl.FieldResolvers.P5R; +using Persona.Merger.Patching.Tbl.FieldResolvers.P5R.Name; using static p5rpc.modloader.Merging.MergeUtils; namespace p5rpc.modloader.Merging.Tbl; internal class P5RTblMerger : IFileMerger { - private readonly MergeUtils _utils; + private readonly ICriFsRedirectorApi _criFsApi; private readonly Logger _logger; private readonly MergedFileCache _mergedFileCache; - private readonly ICriFsRedirectorApi _criFsApi; + private readonly MergeUtils _utils; - internal P5RTblMerger(MergeUtils utils, Logger logger, MergedFileCache mergedFileCache, ICriFsRedirectorApi criFsApi) + internal P5RTblMerger(MergeUtils utils, Logger logger, MergedFileCache mergedFileCache, + ICriFsRedirectorApi criFsApi) { _utils = utils; _logger = logger; @@ -46,13 +47,14 @@ public void Merge(string[] cpks, ICriFsRedirectorApi.BindContext context) Task.WhenAll(tasks.Select(x => x.AsTask())).Wait(); } - private async ValueTask PatchTbl(Dictionary> pathToFileMap, string tblPath, TblType type, string[] cpks) + private async ValueTask PatchTbl(Dictionary> pathToFileMap, + string tblPath, TblType type, string[] cpks) { if (!pathToFileMap.TryGetValue(tblPath, out var candidates)) return; var pathInCpk = RemoveR2Prefix(tblPath); - if (!_utils.TryFindFileInAnyCpk(pathInCpk, cpks, out var cpkPath, out var cpkEntry, out int fileIndex)) + if (!_utils.TryFindFileInAnyCpk(pathInCpk, cpks, out var cpkPath, out var cpkEntry, out var fileIndex)) { _logger.Warning("Unable to find TBL in any CPK {0}", pathInCpk); return; @@ -72,7 +74,8 @@ private async ValueTask PatchTbl(Dictionary { _logger.Info("Merging {0} with key {1}.", tblPath, cacheKey); - await using var cpkStream = new FileStream(cpkPath, FileMode.Open, FileAccess.ReadWrite, FileShare.ReadWrite); + await using var cpkStream = + new FileStream(cpkPath, FileMode.Open, FileAccess.ReadWrite, FileShare.ReadWrite); using var reader = _criFsApi.GetCriFsLib().CreateCpkReader(cpkStream, false); using var extractedTable = reader.ExtractFile(cpkEntry.Files[fileIndex].File); @@ -85,23 +88,26 @@ await Task.Run(async () => // Then we store in cache. var item = await _mergedFileCache.AddAsync(cacheKey, sources, patched); - _utils.ReplaceFileInBinderInput(pathToFileMap, tblPath, Path.Combine(_mergedFileCache.CacheFolder, item.RelativePath)); + _utils.ReplaceFileInBinderInput(pathToFileMap, tblPath, + Path.Combine(_mergedFileCache.CacheFolder, item.RelativePath)); _logger.Info("Merge {0} Complete. Cached to {1}.", tblPath, item.RelativePath); }); } - private async Task PatchNameTable(ArrayRental extractedTable, List candidates) + private async Task PatchNameTable(ArrayRental extractedTable, + List candidates) { var table = ParsedNameTable.ParseTable(extractedTable.RawArray); var otherTables = new ParsedNameTable[candidates.Count]; - for (int x = 0; x < otherTables.Length; x++) + for (var x = 0; x < otherTables.Length; x++) otherTables[x] = ParsedNameTable.ParseTable(await File.ReadAllBytesAsync(candidates[x].FullPath)); var diff = NameTableMerger.CreateDiffs(table, otherTables); return NameTableMerger.Merge(table, diff).ToArray(); } - private static async Task PatchTable(TblType type, ArrayRental extractedTable, List candidates) + private static async Task PatchTable(TblType type, ArrayRental extractedTable, + List candidates) { var patcher = new P5RTblPatcher(extractedTable.Span.ToArray(), type); var patches = new List(candidates.Count);