diff --git a/ArcFormats/Yuka/ImageYKG.cs b/ArcFormats/Yuka/ImageYKG.cs index 098c8d24..ea93b4aa 100644 --- a/ArcFormats/Yuka/ImageYKG.cs +++ b/ArcFormats/Yuka/ImageYKG.cs @@ -63,8 +63,12 @@ namespace GameRes.Formats.Yuka DataOffset = LittleEndian.ToUInt32 (header, 0x28), DataSize = LittleEndian.ToUInt32 (header, 0x2C) }; + if (0 == ykg.DataOffset) + ykg.DataOffset = LittleEndian.ToUInt32 (header, 8); if (ykg.DataOffset < 0x30) return null; + if (0 == ykg.DataSize) + ykg.DataSize = (uint)(stream.Length - ykg.DataOffset); ImageMetaData info = null; using (var img = new StreamRegion (stream, ykg.DataOffset, ykg.DataSize, true)) { @@ -89,10 +93,6 @@ namespace GameRes.Formats.Yuka info = Png.ReadMetaData (png); ykg.Format = YkgImage.Gnp; } - else - { - return null; - } } if (null == info) return null;