From 3110f78e6d38f04e4f2e9fe3e3266ca325500b36 Mon Sep 17 00:00:00 2001 From: morkt Date: Sat, 21 Nov 2015 23:47:30 +0400 Subject: [PATCH] (ArcOpener.IsScriptFile): separate method to check script filenames. --- ArcFormats/Will/ArcWILL.cs | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/ArcFormats/Will/ArcWILL.cs b/ArcFormats/Will/ArcWILL.cs index 81a9ae0a..5ba6b750 100644 --- a/ArcFormats/Will/ArcWILL.cs +++ b/ArcFormats/Will/ArcWILL.cs @@ -111,11 +111,9 @@ namespace GameRes.Formats.Will public override Stream OpenEntry (ArcFile arc, Entry entry) { - if (!entry.Name.EndsWith (".scr", StringComparison.InvariantCultureIgnoreCase) - && !entry.Name.EndsWith (".wsc", StringComparison.InvariantCultureIgnoreCase)) + if (!IsScriptFile (entry.Name)) return arc.File.CreateStream (entry.Offset, entry.Size); - var data = new byte[entry.Size]; - arc.File.View.Read (entry.Offset, data, 0, entry.Size); + var data = arc.File.View.ReadBytes (entry.Offset, entry.Size); DecodeScript (data); return new MemoryStream (data); } @@ -249,7 +247,7 @@ namespace GameRes.Formats.Will private uint WriteEntry (string filename, Stream output) { - if (!filename.EndsWith (".scr", StringComparison.InvariantCultureIgnoreCase)) + if (!IsScriptFile (filename)) { using (var input = File.OpenRead (filename)) { @@ -268,5 +266,11 @@ namespace GameRes.Formats.Will return (uint)input.Length; } } + + private static bool IsScriptFile (string filename) + { + return filename.EndsWith (".scr", StringComparison.InvariantCultureIgnoreCase) + || filename.EndsWith (".wsc", StringComparison.InvariantCultureIgnoreCase); + } } }