mirror of
https://github.com/KillzXGaming/Switch-Toolbox
synced 2024-11-22 12:33:12 +00:00
Fix some erorrs
This commit is contained in:
parent
ab37acc60c
commit
815daaad45
2 changed files with 66 additions and 0 deletions
65
Switch_Toolbox_Library/Compression/Formats/LZ77.cs
Normal file
65
Switch_Toolbox_Library/Compression/Formats/LZ77.cs
Normal file
|
@ -0,0 +1,65 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.IO;
|
||||
using System.IO.Compression;
|
||||
using System.Threading.Tasks;
|
||||
using Toolbox.Library.IO;
|
||||
using Toolbox.Library.Forms;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
namespace Toolbox.Library
|
||||
{
|
||||
public class LZ77 : ICompressionFormat
|
||||
{
|
||||
public string[] Description { get; set; } = new string[] { "LZ77 Compressed" };
|
||||
public string[] Extension { get; set; } = new string[] { "*.lz", };
|
||||
|
||||
bool isType11;
|
||||
public bool Identify(Stream stream, string fileName)
|
||||
{
|
||||
if (stream.Length < 16)
|
||||
return false;
|
||||
|
||||
using (var reader = new FileReader(stream, true))
|
||||
{
|
||||
if(Utils.GetExtension(fileName) == ".lz")
|
||||
{
|
||||
reader.SeekBegin(12);
|
||||
isType11 = reader.ReadByte() == 0x11;
|
||||
return isType11;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public bool CanCompress { get; } = true;
|
||||
|
||||
private bool UseLZMAMagicHeader = true;
|
||||
|
||||
public Stream Decompress(Stream stream)
|
||||
{
|
||||
using (var reader = new FileReader(stream))
|
||||
{
|
||||
if (isType11)
|
||||
{
|
||||
uint decomp_size = reader.ReadUInt32();
|
||||
|
||||
var sub = new SubStream(stream, 16);
|
||||
return new MemoryStream(LZ77_WII.Decompress11(sub.ToArray(), (int)decomp_size));
|
||||
}
|
||||
else
|
||||
{
|
||||
return new MemoryStream();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public Stream Compress(Stream stream)
|
||||
{
|
||||
MemoryStream mem = new MemoryStream();
|
||||
|
||||
return mem;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -232,6 +232,7 @@
|
|||
<Compile Include="Compression\Formats\lz4.cs" />
|
||||
<Compile Include="Compression\Formats\LZ4F.cs" />
|
||||
<Compile Include="Compression\Formats\LZMA.cs" />
|
||||
<Compile Include="Compression\Formats\LZ77.cs" />
|
||||
<Compile Include="Compression\Formats\MtaCustomCmp.cs" />
|
||||
<Compile Include="Compression\Formats\ZlibGZ.cs" />
|
||||
<Compile Include="Compression\Formats\Zstb.cs" />
|
||||
|
|
Loading…
Reference in a new issue