implemented ScenePlayer PMA archives.

This commit is contained in:
morkt
2017-12-26 20:06:07 +04:00
parent a4731f05d5
commit 8a79aa4b17
2 changed files with 95 additions and 4 deletions

View File

@@ -45,10 +45,7 @@ namespace GameRes.Formats.ScenePlayer
|| file.View.ReadByte (0) != (0x78^0x21))
return null;
Stream input = file.CreateStream();
input = new XoredStream (input, 0x21);
input = new ZLibStream (input, CompressionMode.Decompress);
input = new SeekableStream (input);
var input = CreatePmxStream (file);
bool index_complete = false;
try
{
@@ -91,6 +88,14 @@ namespace GameRes.Formats.ScenePlayer
var parc = (PmxArchive)arc;
return new StreamRegion (parc.BaseStream, entry.Offset, entry.Size, true);
}
internal Stream CreatePmxStream (ArcView file)
{
Stream input = file.CreateStream();
input = new XoredStream (input, 0x21);
input = new ZLibStream (input, CompressionMode.Decompress);
return new SeekableStream (input);
}
}
internal class PmxArchive : ArcFile