Commit Graph

25 Commits

Author SHA1 Message Date
barubary
99366a7a9a C#: made a start on the Huffman compression algorithm; the Huffman tree for 8-bit datablocks is now created. 2011-05-14 21:35:12 +00:00
barubary
a31e3b30a6 C#: the 'optimal' LZ-Overlay compression method will now stop with compressing when it's no longer useful to do so, allowing the start of the file to remain uncompressed. 2011-05-14 20:01:09 +00:00
barubary
48f189c991 C#: Added compression algorithms for the LZ-Overlay format. At the moment, the file will either be fully compressed or not compressed at all. The 'optimal' method also has a higher chance of being sub-optimal due to the nature of overlay files (usually double-compressed files). 2011-05-14 18:52:46 +00:00
barubary
b8d11b3e9d C#: implemented the LZ-11 compression algorithms (the 'original' and the 'optimal' algorithms). 2011-05-14 16:00:50 +00:00
barubary
8892f527f5 C#: added a variation to the original LZ-10 compression algorithm that increases the compression rate, while still ensuring compatibility with the built-in decompression. 2011-05-14 14:19:11 +00:00
barubary
2c507a5765 C#: Tested the LZ-10 compression algorithm, and adjusted it to work the same as the original implementation. Decompress->Compress of an original file should thus result in the same original file. 2011-05-14 12:24:44 +00:00
barubary
1c2722315a C#: added an initial compression algorithm for LZ-10. May not work yet, as it hasn't been tested. 2011-05-13 10:07:38 +00:00
barubary
69cd6ee199 C#: added built-in check for arm9.bin in LZ-Overlay decompression, as it has some extra bytes that should be ignored when decompressing. Only the file-based methods can handle that of course. Perhaps the extra bytes should also be copied to the output file however, which is currently not the case. 2011-04-21 14:16:59 +00:00
barubary
80efded10b C#: implemented the LZ-Overlay decompression in the new structure. (still untested again). 2011-04-21 11:52:09 +00:00
barubary
426f89f37c C#: added a check in LZOvl.Support to make sure the 'compressed size' is correct (fits within the given file). 2011-04-13 12:24:20 +00:00
barubary
8d1a6abd9d C#: started on the new implementation for the LZ-overlay format. Only the Supports-method is implemented at the moment. 2011-04-08 08:14:44 +00:00
barubary
468e2e645e C#: removed the BitConverter reference in the Huffman decompressor, and replaced the call with one to a local utility method (to be sure that the byte*->u32 conversion always uses the correct endianness. 2011-04-07 13:51:09 +00:00
barubary
8a5583c308 C#: fixed The new LZ-0x10 and LZ-0x11 decompressors. Only LZ-0x10 hasn't been tested yet. 2011-04-06 16:42:27 +00:00
barubary
5ecc296c1a C#: fixed the new Huffman decompressor. 2011-04-06 16:00:04 +00:00
barubary
fa10d8a515 C#: Extended the generic Supports(Stream) method with the length of the input stream, since Overlay-LZ compresses from end to start. 2011-04-05 16:50:17 +00:00
barubary
3a6221a0c6 C#: Fixed the writing of the header of the RLE compressed files; it should state the decompressed size, and not the compressed size. Also added an exception that indicates there is still some input data to read after the compressed stream.
The current RLE implementation passed the first test: compression->decompression resulted in the same file for a manually created test file. (and the compressed file also has the expected format)
2011-04-05 16:44:41 +00:00
barubary
2c6ef5570a C#: updated the generic compression/decompression functions to make sure the folder of the given output file exists before creating the file. 2011-04-05 16:41:43 +00:00
barubary
bd9c45a89b C#: improved the RLE compressor, even though it's still untested. (should no longer read beyond the end of the input stream) 2011-04-05 16:18:03 +00:00
barubary
edc3d2da24 C#: added an untested compressed algorithm for RLE. (all new decompression algorithms are also untested) 2011-04-04 13:07:07 +00:00
barubary
da75d115e0 C#: completed the implementation for the decompression of the Huffman format. 2011-04-01 14:12:23 +00:00
barubary
1c194134ac C#: started on re-implementing the huffman decompression in the mew format. 2011-03-23 12:04:59 +00:00
barubary
ba18c44249 C#: the project file is now for VS2010. Removed the unused using-statement for Linq to get .NET 2.0 compatibility again. 2011-03-23 09:53:25 +00:00
barubary
0e5fe616c3 C#: Re-implemented the RLE decompression in the new format. The new format file has not been added to the project file, as I can only work in VS2010 where I am at the moment (and manually editing the file seems to break the autorun every time I try it). 2011-03-22 14:24:22 +00:00
barubary
1bd750c76d C# (previous one as well): re-implemented the LZ-0x11 algorithm in the new structure. Also updated the GBATEK-like format description of the format, hopefully correct this time. 2011-03-22 11:31:48 +00:00
barubary
8c777e2c02 The start of an attempt to make this program structured better, as well as for easier addition of more formats AND compression for supported formats. 2011-03-21 19:18:07 +00:00