===th_dnh_archiver v2.0===
Execute <dnharc> or <dnharc.bat> for the command line interface.
Execute <th_dnh_archiver> or <th_dnh_archiver.bat> for the graphical interface.
[attach=1]
[attach=2]
Source code can be found in <src.zip>. Licenced under the GNU General Public Licence v3 or laterChangelog v0.5.0:
* First release.
Changelog v0.5.1:
* Fixed typo.
Changelog v0.5.2:
* Changed code to allow non-continuous file data. (e.g. file data being stored as [file 1][file 3][file 2] instead of [file 1][file 2][file 3])
* Made the code much more efficent.
* Implemented the -o flag.
Changelog v1.0:
* Implemented compression.
* Fixed fatal bug causing the corruption of almost all extracted files introduced in v0.5.2.
Changelog v1.0.1:
* Fixed a bug where you couldn't compress directories with subdirectories in them.
Changelog v2.0:
* Rewritten.
* Added graphical user interface.
Known Issues:
* Version v2.0 is currently slower than v1.0.1
* Due to a hack in place to deal with unacceptably slow compression speeds, you cannot compress files larger than 2GB.
==Danmakufu .dat archive format==
[magic number, 5041434B5F46494C4500]
[4 bytes, little endian, number of files]
[12 bytes*number of files+total length of names (with null terminator), file definitions]
[can be any size, file data]
The format for file definitions is the following:
[4 bytes, little endian, length of name][name, null terminated]
[4 bytes, little endian, offset]
[4 bytes, little endian, file length]
Also, files that begin with [434F4D50524553535F5A495000] are compressed. The format for compressed files follows:
[magic number, 434F4D50524553535F5A495000]
[4 bytes, little endian, uncompressed size of data]
[can be any size, compressed data, compressed using the deflate algorithm]