private static bool TryExtractRESPACK(string pathBase, Span <byte> data, UnbundlerFlags flags) { try { var blobs = new RESPACK(data); if (blobs.Entries.Count == 0) { return(true); } TryExtractBlobs(pathBase, blobs.Entries, false, null, false, false, false, null, flags); } catch (Exception e) { Logger.Error("RESPACK", "Failed unpacking RTRPK", e); if (Directory.Exists(pathBase)) { Directory.Delete(pathBase, true); } return(false); } return(true); }
/// <summary> /// Initialize with buffer data /// </summary> /// <param name="buffer"></param> public PKGINFO(Span <byte> buffer) { Resource = new RESPACK(buffer); InfoTable = new BTIF(Resource.Entries[1].Span); }
/// <summary> /// Parse with buffer data /// </summary> /// <param name="buffer"></param> /// <param name="alternateNames"></param> public KoeiWaveBank(Span <byte> buffer, bool alternateNames) { Resource = new RESPACK(buffer); WBH = new WaveBankHeader(Resource.Entries[0].Span, alternateNames); WBD = new WaveBankData(Resource.Entries[1].Span); }