From f40102bef96fea72cc988f987a48a7dfe903b8f1 Mon Sep 17 00:00:00 2001 From: morkt Date: Wed, 25 Jan 2017 09:34:38 +0400 Subject: [PATCH] use Entry.ChangeType method. --- ArcFormats/ArcNEKO.cs | 11 ++--------- ArcFormats/DDSystem/ArcDDP.cs | 7 +------ ArcFormats/Dogenzaka/ArcBIN.cs | 7 +------ ArcFormats/Patisserie/ArcBIN.cs | 7 +------ ArcFormats/Qlie/ArcABMP.cs | 19 +++---------------- ArcFormats/SHSystem/ArcHXP.cs | 7 +------ ArcFormats/SuperNekoX/ArcGPC.cs | 7 +------ ArcFormats/Valkyria/ArcODN.cs | 7 +------ 8 files changed, 11 insertions(+), 61 deletions(-) diff --git a/ArcFormats/ArcNEKO.cs b/ArcFormats/ArcNEKO.cs index 34ce53f0..8ef21223 100644 --- a/ArcFormats/ArcNEKO.cs +++ b/ArcFormats/ArcNEKO.cs @@ -156,19 +156,12 @@ namespace GameRes.Formats.Neko } uint signature = get_signature (entry); var res = AutoEntry.DetectFileType (signature); - string ext = ""; if (res != null) - { - ext = res.Extensions.FirstOrDefault(); - entry.Type = res.Type; - } + entry.ChangeType (res); else if (0x474E4D8A == signature) - ext = "mng"; + entry.Name = Path.ChangeExtension (entry.Name, "mng"); else if (entry.Name.StartsWith ("script/")) entry.Type = "script"; - - if (!string.IsNullOrEmpty (ext)) - entry.Name = Path.ChangeExtension (entry.Name, ext); } } diff --git a/ArcFormats/DDSystem/ArcDDP.cs b/ArcFormats/DDSystem/ArcDDP.cs index 3922a8a8..2093f789 100644 --- a/ArcFormats/DDSystem/ArcDDP.cs +++ b/ArcFormats/DDSystem/ArcDDP.cs @@ -108,12 +108,7 @@ namespace GameRes.Formats.DDSystem else res = AutoEntry.DetectFileType (signature); if (res != null) - { - entry.Type = res.Type; - var ext = res.Extensions.FirstOrDefault(); - if (!string.IsNullOrEmpty (ext)) - entry.Name = Path.ChangeExtension (entry.Name, ext); - } + entry.ChangeType (res); } } } diff --git a/ArcFormats/Dogenzaka/ArcBIN.cs b/ArcFormats/Dogenzaka/ArcBIN.cs index d91375aa..8b1b3599 100644 --- a/ArcFormats/Dogenzaka/ArcBIN.cs +++ b/ArcFormats/Dogenzaka/ArcBIN.cs @@ -82,12 +82,7 @@ namespace GameRes.Formats.Dogenzaka return null; var res = AutoEntry.DetectFileType (file.View.ReadUInt32 (entry.Offset)); if (res != null) - { - entry.Type = res.Type; - var ext = res.Extensions.FirstOrDefault(); - if (!string.IsNullOrEmpty (ext)) - entry.Name = Path.ChangeExtension (entry.Name, ext); - } + entry.ChangeType (res); } return new ArcFile (file, this, dir); } diff --git a/ArcFormats/Patisserie/ArcBIN.cs b/ArcFormats/Patisserie/ArcBIN.cs index 93f77125..c2f36080 100644 --- a/ArcFormats/Patisserie/ArcBIN.cs +++ b/ArcFormats/Patisserie/ArcBIN.cs @@ -120,12 +120,7 @@ namespace GameRes.Formats.Patisserie { var res = AutoEntry.DetectFileType (signature); if (null != res) - { - entry.Type = res.Type; - var ext = res.Extensions.FirstOrDefault(); - if (!string.IsNullOrEmpty (ext)) - entry.Name = Path.ChangeExtension (entry.Name, ext); - } + entry.ChangeType (res); } } } diff --git a/ArcFormats/Qlie/ArcABMP.cs b/ArcFormats/Qlie/ArcABMP.cs index 0e9af691..33cb3a55 100644 --- a/ArcFormats/Qlie/ArcABMP.cs +++ b/ArcFormats/Qlie/ArcABMP.cs @@ -147,22 +147,9 @@ namespace GameRes.Formats.Qlie static protected void DetectFileType (ArcView file, Entry entry) { uint signature = file.View.ReadUInt32 (entry.Offset); - if (signature != 0) - { - string ext = null; - if (0x4D42 == (signature & 0xFFFF)) - { - ext = "bmp"; - } - else - { - var res = FormatCatalog.Instance.LookupSignature (signature).FirstOrDefault(); - if (null != res) - ext = res.Extensions.FirstOrDefault(); - } - if (!string.IsNullOrEmpty (ext)) - entry.Name = Path.ChangeExtension (entry.Name, ext); - } + var res = AutoEntry.DetectFileType (signature); + if (null != res) + entry.ChangeType (res); } static string GetTypeName (byte[] type_buf) diff --git a/ArcFormats/SHSystem/ArcHXP.cs b/ArcFormats/SHSystem/ArcHXP.cs index 9cbf4257..8e89e862 100644 --- a/ArcFormats/SHSystem/ArcHXP.cs +++ b/ArcFormats/SHSystem/ArcHXP.cs @@ -109,12 +109,7 @@ namespace GameRes.Formats.SHSystem else res = AutoEntry.DetectFileType (signature); if (res != null) - { - entry.Type = res.Type; - var ext = res.Extensions.FirstOrDefault(); - if (!string.IsNullOrEmpty (ext)) - entry.Name = Path.ChangeExtension (entry.Name, ext); - } + entry.ChangeType (res); } } } diff --git a/ArcFormats/SuperNekoX/ArcGPC.cs b/ArcFormats/SuperNekoX/ArcGPC.cs index 5aac4556..0ceced8c 100644 --- a/ArcFormats/SuperNekoX/ArcGPC.cs +++ b/ArcFormats/SuperNekoX/ArcGPC.cs @@ -141,12 +141,7 @@ namespace GameRes.Formats.SuperNekoX else res = AutoEntry.DetectFileType (signature); if (null != res) - { - entry.Type = res.Type; - var ext = res.Extensions.FirstOrDefault(); - if (!string.IsNullOrEmpty (ext)) - entry.Name = Path.ChangeExtension (entry.Name, ext); - } + entry.ChangeType (res); } } } diff --git a/ArcFormats/Valkyria/ArcODN.cs b/ArcFormats/Valkyria/ArcODN.cs index bf32f5bc..e332342e 100644 --- a/ArcFormats/Valkyria/ArcODN.cs +++ b/ArcFormats/Valkyria/ArcODN.cs @@ -330,12 +330,7 @@ namespace GameRes.Formats.Valkyria else res = AutoEntry.DetectFileType (signature); if (res != null) - { - entry.Type = res.Type; - var ext = res.Extensions.FirstOrDefault(); - if (!string.IsNullOrEmpty (ext)) - entry.Name = Path.ChangeExtension (entry.Name, ext); - } + entry.ChangeType (res); else if (OdnOpener.Image32NameRe.IsMatch (entry.Name)) entry.Type = "image"; }