e2d6a4e9b7Migrating wiki contents from Google Code
wiki
Google Code Exporter
2015-08-22 21:15:32 -04:00
4ddd87206bC#: the composite formats that were added in r48 should now be supported by the program. Not yet tested though. Added support for the 'NULL' compression format; a built-in Nitro format that only contains plaintext (but includes the nitro compression header with magic byte 0)
master
barubary
2011-12-22 22:59:37 +00:00
6dc34d20a6C#: Nitro-formats will now also try to decompress files with a plaintext size of more than 0x180000. However the Supports method will first try to partially decompress the file.
barubary
2011-11-23 10:35:29 +00:00
a30a7ac3e3C#: implemented a compression algorithm for the LZE/Le compression scheme. (although it appears to perform worse than the original compression algorithm, it should still work)
barubary
2011-11-21 23:46:48 +00:00
4302517e58C#: 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.
barubary
2011-11-14 17:33:30 +00:00
aff22d28daC#: 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.
barubary
2011-11-13 22:21:18 +00:00
d64137221aC#: 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.
barubary
2011-11-13 16:14:45 +00:00
c1994426f3C#: Fix for the LZ-Ovl format; the compressed size may also be the file length, instead of the file length minus the header size.
barubary
2011-07-27 22:13:56 +00:00
0f9b368b04C#: 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).
barubary
2011-05-18 12:24:16 +00:00
d23cbad089C#: deleted the bin/ folder with a build of the source, as I wasn't keeping it up to date anyway. Any major changes will get their own download on the project page anyway.
barubary
2011-05-16 12:34:48 +00:00
42a6085222C#: very minor tweak to the usage text to prevent an extra newline.
barubary
2011-05-15 15:53:00 +00:00
441848074dC#: some fixes in the 'UI' part of the program.
barubary
2011-05-15 15:49:21 +00:00
3c0e60d574C#: removed the old Program.cs from the project, and rebuilt the .exe to trim the filesize a bit.
barubary
2011-05-15 15:24:22 +00:00
3bf20290a3C#: Disabled LZ-Overlay from 'decompressing' files that have four 0-bytes at the end. Also implemented the command-line input, and added a new release build to the bin/ folder.
barubary
2011-05-15 15:16:04 +00:00
591c44b309C#: 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.
barubary
2011-05-15 11:40:14 +00:00
99366a7a9aC#: made a start on the Huffman compression algorithm; the Huffman tree for 8-bit datablocks is now created.
barubary
2011-05-14 21:35:12 +00:00
a31e3b30a6C#: 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.
barubary
2011-05-14 20:01:09 +00:00
48f189c991C#: 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).
barubary
2011-05-14 18:52:46 +00:00
b8d11b3e9dC#: implemented the LZ-11 compression algorithms (the 'original' and the 'optimal' algorithms).
barubary
2011-05-14 16:00:50 +00:00
8892f527f5C#: added a variation to the original LZ-10 compression algorithm that increases the compression rate, while still ensuring compatibility with the built-in decompression.
barubary
2011-05-14 14:19:11 +00:00
2c507a5765C#: 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.
barubary
2011-05-14 12:24:44 +00:00
1c2722315aC#: added an initial compression algorithm for LZ-10. May not work yet, as it hasn't been tested.
barubary
2011-05-13 10:07:38 +00:00
69cd6ee199C#: 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.
barubary
2011-04-21 14:16:59 +00:00
167300d5b8C#: added usage description for the still-to-be-built console interface to the new compressor/decompressor structure.
barubary
2011-04-21 13:58:07 +00:00
80efded10bC#: implemented the LZ-Overlay decompression in the new structure. (still untested again).
barubary
2011-04-21 11:52:09 +00:00
426f89f37cC#: added a check in LZOvl.Support to make sure the 'compressed size' is correct (fits within the given file).
barubary
2011-04-13 12:24:20 +00:00
8d1a6abd9dC#: started on the new implementation for the LZ-overlay format. Only the Supports-method is implemented at the moment.
barubary
2011-04-08 08:14:44 +00:00
5f77ee332eC#: updated the project file to include the IO-utils class.
barubary
2011-04-07 13:55:10 +00:00
468e2e645eC#: 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.
barubary
2011-04-07 13:51:09 +00:00
8a5583c308C#: fixed The new LZ-0x10 and LZ-0x11 decompressors. Only LZ-0x10 hasn't been tested yet.
barubary
2011-04-06 16:42:27 +00:00
5ecc296c1aC#: fixed the new Huffman decompressor.
barubary
2011-04-06 16:00:04 +00:00
fa10d8a515C#: Extended the generic Supports(Stream) method with the length of the input stream, since Overlay-LZ compresses from end to start.
barubary
2011-04-05 16:50:17 +00:00
3a6221a0c6C#: 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.
barubary
2011-04-05 16:44:41 +00:00
2c6ef5570aC#: updated the generic compression/decompression functions to make sure the folder of the given output file exists before creating the file.
barubary
2011-04-05 16:41:43 +00:00
bd9c45a89bC#: improved the RLE compressor, even though it's still untested. (should no longer read beyond the end of the input stream)
barubary
2011-04-05 16:18:03 +00:00
edc3d2da24C#: added an untested compressed algorithm for RLE. (all new decompression algorithms are also untested)
barubary
2011-04-04 13:07:07 +00:00
da75d115e0C#: completed the implementation for the decompression of the Huffman format.
barubary
2011-04-01 14:12:23 +00:00
1c194134acC#: started on re-implementing the huffman decompression in the mew format.
barubary
2011-03-23 12:04:59 +00:00
ba18c44249C#: the project file is now for VS2010. Removed the unused using-statement for Linq to get .NET 2.0 compatibility again.
barubary
2011-03-23 09:53:25 +00:00
0e5fe616c3C#: 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).
barubary
2011-03-22 14:24:22 +00:00
1bd750c76dC# (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.
barubary
2011-03-22 11:31:48 +00:00
8c777e2c02The start of an attempt to make this program structured better, as well as for easier addition of more formats AND compression for supported formats.
barubary
2011-03-21 19:18:07 +00:00
052b9c0677Augh. idiot-bug fixed. (the last 0xC bytes of arm9.bin should be ignored, no the first ones)
barubary
2011-01-16 00:38:02 +00:00
a19592264eLast adjustment to the LZ-Overlay decompression for now, until I can compare a properly decompressed file with one that doesn't come out right with this program.
barubary
2011-01-16 00:25:46 +00:00
e8b3913596Minor adjustment in LZ-Overlay decompressing, catching more Disp-values that are too large.
barubary
2011-01-16 00:11:04 +00:00
11564be73dFixed some bugs in the LZ-Overlay code.
barubary
2011-01-15 23:51:06 +00:00
2334261982Added support for compression used in overlay files of the DS, as well as the arm9.bin file. The format is mostly LZ-0x10 in reverse, but has a small difference in the calculation of the Disp value for compressed blocks. The complete file also need not be compressed.
barubary
2011-01-15 21:38:13 +00:00
2b231bcbb8Added a built version of the C# project, since I'm apparently not allowed to create new downloads at the moment. =/
barubary
2010-10-28 23:35:36 +00:00
0e13ad064eAdded a new compression format in the C# source: type 0x40 LZ77/LZSS. It differs not very much from type 0x11 in compression size, but has an odd way of storing which blocks are compressed.
barubary
2010-10-28 23:24:56 +00:00
1ab4aa0c69Java: Added some simple JavaDoc to the Pair class.
barubary
2010-09-22 21:17:39 +00:00
2bd45587cfAdded some more JavaDoc to the HexInputStream methods. Also made a small improvement to its skip(long)-method.
barubary
2010-09-22 18:09:32 +00:00
4500dfc1e1Upgraded sln to VS2008. Also updated the source to match my local copy. No changes in decompression, only usability,
barubary
2010-09-21 10:05:10 +00:00
a597cd23a9added source code for both C# and Java. Note that the Java algorithms are a port of the C# ones, and only the LZ10 and LZ11 have been tested of the Java implementation.
barubary
2009-06-07 13:40:49 +00:00