mirror of
https://github.com/crskycode/GARbro.git
synced 2024-12-24 03:44:13 +08:00
cosmetic changes.
This commit is contained in:
parent
f06396f1e3
commit
06e651d43b
@ -294,12 +294,13 @@ namespace GameRes.Formats
|
||||
return packed_size;
|
||||
}
|
||||
|
||||
static readonly GrpFormat s_grp_format = FormatCatalog.Instance.ImageFormats.OfType<GrpFormat>().FirstOrDefault();
|
||||
|
||||
uint WriteImageEntry (PackedEntry entry, Stream input, Stream output)
|
||||
{
|
||||
var grp = FormatCatalog.Instance.ImageFormats.OfType<GrpFormat>().FirstOrDefault();
|
||||
if (null == grp) // probably never happens
|
||||
if (null == s_grp_format) // probably never happens
|
||||
throw new FileFormatException ("GRP image encoder not available");
|
||||
bool is_grp = grp.Signature == FormatCatalog.ReadSignature (input);
|
||||
bool is_grp = s_grp_format.Signature == FormatCatalog.ReadSignature (input);
|
||||
input.Position = 0;
|
||||
using (var zstream = new ZLibStream (output, CompressionMode.Compress, CompressionLevel.Level9, true))
|
||||
{
|
||||
@ -312,7 +313,7 @@ namespace GameRes.Formats
|
||||
var image = ImageFormat.Read (input);
|
||||
if (null == image)
|
||||
throw new InvalidFormatException (string.Format (arcStrings.MsgInvalidImageFormat, entry.Name));
|
||||
grp.Write (zstream, image);
|
||||
s_grp_format.Write (zstream, image);
|
||||
entry.UnpackedSize = (uint)zstream.TotalIn;
|
||||
}
|
||||
zstream.Flush();
|
||||
|
@ -174,12 +174,15 @@ namespace GameRes.Formats.Kogado
|
||||
try
|
||||
{
|
||||
string name = Path.GetFileNameWithoutExtension (entry.Name);
|
||||
string ext = Path.GetExtension (entry.Name).TrimStart ('.').ToLowerInvariant();
|
||||
string ext = Path.GetExtension (entry.Name);
|
||||
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,
|
||||
|
@ -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; } }
|
||||
public override bool CanRead { get { return m_read_mode && m_stream.CanRead; } }
|
||||
public override bool CanSeek { get { return m_stream.CanSeek; } }
|
||||
public override bool CanWrite { get { return !m_read_mode; } }
|
||||
public override bool CanWrite { get { return !m_read_mode && m_stream.CanWrite; } }
|
||||
public override long Length { get { return m_stream.Length - m_base_pos; } }
|
||||
public override long Position
|
||||
{
|
||||
|
@ -104,7 +104,7 @@ namespace GameRes.Formats.KiriKiri
|
||||
return null;
|
||||
dir_offset = file.View.ReadInt64 (0x20);
|
||||
}
|
||||
if (dir_offset >= file.MaxOffset)
|
||||
if (dir_offset < 0x13 || 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 true; } }
|
||||
public override bool CanRead { get { return m_stream != null; } }
|
||||
public override bool CanSeek { get { return false; } }
|
||||
public override bool CanWrite { get { return false; } }
|
||||
public override long Length { get { return m_entry.UnpackedSize; } }
|
||||
@ -616,11 +616,9 @@ 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_file.CreateStream (segment.Offset, segment.PackedSize),
|
||||
CompressionMode.Decompress);
|
||||
else
|
||||
m_stream = m_file.CreateStream (segment.Offset, segment.Size);
|
||||
m_stream = new ZLibStream (m_stream, CompressionMode.Decompress);
|
||||
}
|
||||
|
||||
public override int Read (byte[] buffer, int offset, int count)
|
||||
|
@ -222,7 +222,7 @@ namespace GameRes.Formats.YuRis
|
||||
writer.Write (name_len);
|
||||
writer.Write (entry.IndexName);
|
||||
writer.Write (entry.FileType);
|
||||
writer.Write ((byte)(entry.IsPacked ? 1 : 0));
|
||||
writer.Write (entry.IsPacked);
|
||||
writer.Write (entry.UnpackedSize);
|
||||
writer.Write (entry.Size);
|
||||
writer.Write ((uint)entry.Offset);
|
||||
|
Loading…
x
Reference in New Issue
Block a user