From 418cb00051554863b6b77599986e55f71789b766 Mon Sep 17 00:00:00 2001 From: morkt Date: Fri, 23 Nov 2018 06:16:26 +0400 Subject: [PATCH] (FPK): detect script archives. --- ArcFormats/Moonhir/ArcFPK.cs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/ArcFormats/Moonhir/ArcFPK.cs b/ArcFormats/Moonhir/ArcFPK.cs index 11cdae9e..37183d50 100644 --- a/ArcFormats/Moonhir/ArcFPK.cs +++ b/ArcFormats/Moonhir/ArcFPK.cs @@ -81,19 +81,21 @@ namespace GameRes.Formats.MoonhirGames return null; uint index_offset = file.View.ReadUInt32 (8); + var arc_name = Path.GetFileName (file.Name); + var fbx_type = arc_name.StartsWith ("scr", StringComparison.OrdinalIgnoreCase) ? "" : "image"; var dir = new List (count); bool has_encrypted = false; for (int i = 0; i < count; ++i) { var name = file.View.ReadString (index_offset+12, 12); - var entry = FormatCatalog.Instance.Create (name); + var entry = Create (name); entry.IsEncrypted = 0 != file.View.ReadUInt32 (index_offset); entry.Offset = file.View.ReadUInt32 (index_offset+4); entry.Size = file.View.ReadUInt32 (index_offset+8); if (!entry.CheckPlacement (file.MaxOffset)) return null; if (name.HasExtension (".fbx")) - entry.Type = "image"; + entry.Type = fbx_type; has_encrypted = has_encrypted || entry.IsEncrypted; dir.Add (entry); index_offset += 0x18;