From c5982da27800379b8d4718ad3403bb3459677714 Mon Sep 17 00:00:00 2001 From: morkt Date: Sun, 7 Sep 2014 21:30:47 +0400 Subject: [PATCH] Revert "cosmetic changes." This reverts commit 06e651d43b8c8008171ca377628d2d96dc84857f. --- ArcFormats/ArcAMI.cs | 9 ++++----- ArcFormats/ArcKogado.cs | 5 +---- ArcFormats/ArcNPA.cs | 4 ++-- ArcFormats/ArcXP3.cs | 10 ++++++---- ArcFormats/ArcYPF.cs | 2 +- 5 files changed, 14 insertions(+), 16 deletions(-) diff --git a/ArcFormats/ArcAMI.cs b/ArcFormats/ArcAMI.cs index d9b77917..6fe9b5f3 100644 --- a/ArcFormats/ArcAMI.cs +++ b/ArcFormats/ArcAMI.cs @@ -294,13 +294,12 @@ namespace GameRes.Formats return packed_size; } - static readonly GrpFormat s_grp_format = FormatCatalog.Instance.ImageFormats.OfType().FirstOrDefault(); - uint WriteImageEntry (PackedEntry entry, Stream input, Stream output) { - if (null == s_grp_format) // probably never happens + var grp = FormatCatalog.Instance.ImageFormats.OfType().FirstOrDefault(); + if (null == grp) // probably never happens throw new FileFormatException ("GRP image encoder not available"); - bool is_grp = s_grp_format.Signature == FormatCatalog.ReadSignature (input); + bool is_grp = grp.Signature == FormatCatalog.ReadSignature (input); input.Position = 0; using (var zstream = new ZLibStream (output, CompressionMode.Compress, CompressionLevel.Level9, true)) { @@ -313,7 +312,7 @@ namespace GameRes.Formats var image = ImageFormat.Read (input); if (null == image) throw new InvalidFormatException (string.Format (arcStrings.MsgInvalidImageFormat, entry.Name)); - s_grp_format.Write (zstream, image); + grp.Write (zstream, image); entry.UnpackedSize = (uint)zstream.TotalIn; } zstream.Flush(); diff --git a/ArcFormats/ArcKogado.cs b/ArcFormats/ArcKogado.cs index 63ef044a..b73ede91 100644 --- a/ArcFormats/ArcKogado.cs +++ b/ArcFormats/ArcKogado.cs @@ -174,15 +174,12 @@ namespace GameRes.Formats.Kogado try { string name = Path.GetFileNameWithoutExtension (entry.Name); - string ext = Path.GetExtension (entry.Name); + string ext = Path.GetExtension (entry.Name).TrimStart ('.').ToLowerInvariant(); byte[] name_buf = new byte[0x15]; byte[] ext_buf = new byte[3]; encoding.GetBytes (name, 0, name.Length, name_buf, 0); if (!string.IsNullOrEmpty (ext)) - { - ext = ext.TrimStart ('.').ToLowerInvariant(); encoding.GetBytes (ext, 0, ext.Length, ext_buf, 0); - } var out_entry = new OutputEntry { Name = entry.Name, diff --git a/ArcFormats/ArcNPA.cs b/ArcFormats/ArcNPA.cs index 2e396fa8..00a07a37 100644 --- a/ArcFormats/ArcNPA.cs +++ b/ArcFormats/ArcNPA.cs @@ -594,9 +594,9 @@ namespace GameRes.Formats.NitroPlus private bool m_read_mode; private long m_base_pos; - public override bool CanRead { get { return m_read_mode && m_stream.CanRead; } } + public override bool CanRead { get { return m_read_mode; } } public override bool CanSeek { get { return m_stream.CanSeek; } } - public override bool CanWrite { get { return !m_read_mode && m_stream.CanWrite; } } + public override bool CanWrite { get { return !m_read_mode; } } public override long Length { get { return m_stream.Length - m_base_pos; } } public override long Position { diff --git a/ArcFormats/ArcXP3.cs b/ArcFormats/ArcXP3.cs index ecdbf6d8..aa1e6670 100644 --- a/ArcFormats/ArcXP3.cs +++ b/ArcFormats/ArcXP3.cs @@ -104,7 +104,7 @@ namespace GameRes.Formats.KiriKiri return null; dir_offset = file.View.ReadInt64 (0x20); } - if (dir_offset < 0x13 || dir_offset >= file.MaxOffset) + if (dir_offset >= file.MaxOffset) return null; int header_type = file.View.ReadByte (dir_offset); @@ -588,7 +588,7 @@ NextEntry: long m_offset = 0; bool m_eof = false; - public override bool CanRead { get { return m_stream != null; } } + public override bool CanRead { get { return true; } } public override bool CanSeek { get { return false; } } public override bool CanWrite { get { return false; } } public override long Length { get { return m_entry.UnpackedSize; } } @@ -616,9 +616,11 @@ NextEntry: if (null != m_stream) m_stream.Dispose(); var segment = m_segment.Current; - m_stream = m_file.CreateStream (segment.Offset, segment.Size); if (segment.IsCompressed) - m_stream = new ZLibStream (m_stream, CompressionMode.Decompress); + m_stream = new ZLibStream (m_file.CreateStream (segment.Offset, segment.PackedSize), + CompressionMode.Decompress); + else + m_stream = m_file.CreateStream (segment.Offset, segment.Size); } public override int Read (byte[] buffer, int offset, int count) diff --git a/ArcFormats/ArcYPF.cs b/ArcFormats/ArcYPF.cs index efcfd011..376d97f7 100644 --- a/ArcFormats/ArcYPF.cs +++ b/ArcFormats/ArcYPF.cs @@ -222,7 +222,7 @@ namespace GameRes.Formats.YuRis writer.Write (name_len); writer.Write (entry.IndexName); writer.Write (entry.FileType); - writer.Write (entry.IsPacked); + writer.Write ((byte)(entry.IsPacked ? 1 : 0)); writer.Write (entry.UnpackedSize); writer.Write (entry.Size); writer.Write ((uint)entry.Offset);