From 307e8b4c8778c7afee3a222549c13de9727697cb Mon Sep 17 00:00:00 2001 From: Dedmen Miller Date: Mon, 23 Dec 2019 21:49:01 +0100 Subject: [PATCH] Debinarize rvmat --- DokanPbo.Core/PboFSTree.cs | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/DokanPbo.Core/PboFSTree.cs b/DokanPbo.Core/PboFSTree.cs index 43557df..17a6247 100644 --- a/DokanPbo.Core/PboFSTree.cs +++ b/DokanPbo.Core/PboFSTree.cs @@ -158,8 +158,23 @@ private void CreateFileTree() var fileName = splitPath[splitPath.Length - 1]; var fileNode = new PboFsFile(fileName, file, currentFolder); + + if (hasCfgConvert && fileName.EndsWith("rvmat")) + { + byte[] buffer = new byte[4]; + fileNode.ReadFile(buffer, out var length, 0); + if (buffer[0] == 0 && buffer[1] == 'r' && buffer[2] == 'a' && buffer[3] == 'P') + { + var derapNode = new PboFsDebinarizedFile(fileName, file, currentFolder); + currentFolder.Children[fileName] = derapNode; + this.fileTreeLookup.Add(derapNode); + continue; + } + } + currentFolder.Children[fileName] = fileNode; this.fileTreeLookup.Add(fileNode); + if (hasCfgConvert && fileName == "config.bin") { var derapNode = new PboFsDebinarizedFile("config.cpp", file, currentFolder);