Commit Graph

13 Commits

Author SHA1 Message Date
barubary
4302517e58 C#: Added xml comments to methods that did not have any (in the main DSDecmp project).
The SupportsDecompression-flag is now also used in the main program, and not just in composite formats.
2011-11-14 17:33:30 +00:00
barubary
aff22d28da C#: revised implementation of the tree-writing algorithm for the 8-bit huffman format. A test with a file containing all values from 0 to 0xFF evenly now does not result in a corrupt tree definition. 2011-11-13 22:21:18 +00:00
barubary
d64137221a C#: A step into a new system, where game-specific formats can be defined as plugins, preventing users from having to download DSDecmp itself again and again. Such plugins must be stores in a 'Plugins' folder in the same location as the DSDecmp.exe.
To keep the base program mobile, all native NDS formats do not require plugins.

The 8-bit Huffman format cannot be used to compress at the moment; thanks to CUE a bug has been found where the offset-field of a node overflows, corrupting the compressed file.
2011-11-13 16:14:45 +00:00
barubary
0f9b368b04 C#: added the Golden Sun: Dark Dawn format in the new structure. This version hasn't been tested yet, and thus hasn't been included in the main program. I also need to think of how to include these game-specific formats in the main program, as they may conflict with built-in formats regarding their header (with GSDD I just try to decompress the file when checking if a file is supported). 2011-05-18 12:24:16 +00:00
barubary
591c44b309 C#: implemented Huffman compression for both 4-bit and 8-bit block sizes. It will not result in compressed files identical to those found in games, as I'm currently not in the mood to figure out exactly what heuristic they use to build the Huffman tree. 2011-05-15 11:40:14 +00:00
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
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
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
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
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