2011-11-13 17:14:45 +01:00
|
|
|
<?xml version="1.0"?>
|
|
|
|
<doc>
|
|
|
|
<assembly>
|
|
|
|
<name>DSDecmp</name>
|
|
|
|
</assembly>
|
|
|
|
<members>
|
|
|
|
<member name="T:DSDecmp.TooMuchInputException">
|
|
|
|
<summary>
|
|
|
|
An exception indication that the input has more data than required in order
|
|
|
|
to decompress it. This may indicate that more sub-files are present in the file.
|
|
|
|
</summary>
|
|
|
|
</member>
|
|
|
|
<member name="M:DSDecmp.TooMuchInputException.#ctor(System.Int64,System.Int64)">
|
|
|
|
<summary>
|
|
|
|
Creates a new exception indicating that the input has more data than necessary for
|
|
|
|
decompressing th stream. It may indicate that other data is present after the compressed
|
|
|
|
stream.
|
|
|
|
</summary>
|
|
|
|
<param name="readBytes">The number of bytes read by the decompressor.</param>
|
|
|
|
<param name="totLength">The indicated length of the input stream.</param>
|
|
|
|
</member>
|
|
|
|
<member name="P:DSDecmp.TooMuchInputException.ReadBytes">
|
|
|
|
<summary>
|
|
|
|
Gets the number of bytes read by the decompressed to decompress the stream.
|
|
|
|
</summary>
|
|
|
|
</member>
|
|
|
|
<member name="T:DSDecmp.InputTooLargeException">
|
|
|
|
<summary>
|
|
|
|
An exception indicating that the file cannot be compressed, because the decompressed size
|
|
|
|
cannot be represented in the current compression format.
|
|
|
|
</summary>
|
|
|
|
</member>
|
|
|
|
<member name="M:DSDecmp.InputTooLargeException.#ctor">
|
|
|
|
<summary>
|
|
|
|
Creates a new exception that indicates that the input is too big to be compressed.
|
|
|
|
</summary>
|
|
|
|
</member>
|
|
|
|
<member name="T:DSDecmp.IOUtils">
|
|
|
|
<summary>
|
|
|
|
Class for I/O-related utility methods.
|
|
|
|
</summary>
|
|
|
|
</member>
|
|
|
|
<member name="M:DSDecmp.IOUtils.ToNDSu32(System.Byte[],System.Int32)">
|
|
|
|
<summary>
|
|
|
|
Returns a 4-byte unsigned integer as used on the NDS converted from four bytes
|
|
|
|
at a specified position in a byte array.
|
|
|
|
</summary>
|
|
|
|
<param name="buffer">The source of the data.</param>
|
|
|
|
<param name="offset">The location of the data in the source.</param>
|
|
|
|
<returns>The indicated 4 bytes converted to uint</returns>
|
|
|
|
</member>
|
|
|
|
<member name="M:DSDecmp.IOUtils.ToNDSs32(System.Byte[],System.Int32)">
|
|
|
|
<summary>
|
|
|
|
Returns a 4-byte signed integer as used on the NDS converted from four bytes
|
|
|
|
at a specified position in a byte array.
|
|
|
|
</summary>
|
|
|
|
<param name="buffer">The source of the data.</param>
|
|
|
|
<param name="offset">The location of the data in the source.</param>
|
|
|
|
<returns>The indicated 4 bytes converted to int</returns>
|
|
|
|
</member>
|
|
|
|
<member name="M:DSDecmp.IOUtils.FromNDSu32(System.UInt32)">
|
|
|
|
<summary>
|
|
|
|
Converts a u32 value into a sequence of bytes that would make ToNDSu32 return
|
|
|
|
the given input value.
|
|
|
|
</summary>
|
|
|
|
</member>
|
|
|
|
<member name="M:DSDecmp.IOUtils.ToNDSu24(System.Byte[],System.Int32)">
|
|
|
|
<summary>
|
|
|
|
Returns a 3-byte integer as used in the built-in compression
|
|
|
|
formats in the DS, convrted from three bytes at a specified position in a byte array,
|
|
|
|
</summary>
|
|
|
|
<param name="buffer">The source of the data.</param>
|
|
|
|
<param name="offset">The location of the data in the source.</param>
|
|
|
|
<returns>The indicated 3 bytes converted to an integer.</returns>
|
|
|
|
</member>
|
|
|
|
<member name="M:DSDecmp.IOUtils.LoadCompressionPlugin(System.String,System.Boolean)">
|
|
|
|
<summary>
|
|
|
|
(Attempts to) load compression formats from the given file.
|
|
|
|
</summary>
|
|
|
|
<param name="file">The dll file to load.</param>
|
|
|
|
<param name="printFailures">If formats without an empty contrsuctor should get a print.</param>
|
|
|
|
<returns>A list with an instance of all compression formats found in the given dll file.</returns>
|
|
|
|
<exception cref="T:System.IO.FileNotFoundException">If the given file does not exist.</exception>
|
|
|
|
<exception cref="T:System.IO.FileLoadException">If the file could not be loaded.</exception>
|
|
|
|
<exception cref="T:System.BadImageFormatException">If the file is not a valid assembly, or the loaded
|
|
|
|
assembly is compiled with a higher version of .NET.</exception>
|
|
|
|
</member>
|
|
|
|
<member name="M:DSDecmp.IOUtils.LoadCompressionPlugins(System.String)">
|
|
|
|
<summary>
|
|
|
|
Loads all compression formats found in the given folder.
|
|
|
|
</summary>
|
|
|
|
<param name="folder">The folder to load plugins from.</param>
|
|
|
|
<returns>A list with an instance of all compression formats found in the given folder.</returns>
|
|
|
|
</member>
|
|
|
|
<member name="M:DSDecmp.IOUtils.GetParent(System.String)">
|
|
|
|
<summary>
|
|
|
|
Gets the full path to the parent directory of the given path.
|
|
|
|
</summary>
|
|
|
|
<param name="path">The path to get the parent directory path of.</param>
|
|
|
|
<returns>The full path to the parent directory of teh given path.</returns>
|
|
|
|
</member>
|
|
|
|
<member name="T:DSDecmp.CompressionFormat">
|
|
|
|
<summary>
|
|
|
|
Base class for all compression formats.
|
|
|
|
</summary>
|
|
|
|
</member>
|
|
|
|
<member name="M:DSDecmp.CompressionFormat.Supports(System.String)">
|
|
|
|
<summary>
|
|
|
|
Checks if the decompressor for this format supports the given file. Assumes the
|
|
|
|
file exists. Returns false when it is certain that the given file is not supported.
|
|
|
|
False positives may occur, as this method should not do any decompression, and
|
|
|
|
may mis-interpret a similar file format as compressed.
|
|
|
|
</summary>
|
|
|
|
<param name="file">The name of the file to check.</param>
|
|
|
|
<returns>False if the file can certainly not be decompressed using this decompressor.
|
|
|
|
True if the file may potentially be decompressed using this decompressor.</returns>
|
|
|
|
</member>
|
|
|
|
<member name="M:DSDecmp.CompressionFormat.Supports(System.IO.Stream,System.Int64)">
|
|
|
|
<summary>
|
|
|
|
Checks if the decompressor for this format supports the data from the given stream.
|
|
|
|
Returns false when it is certain that the given data is not supported.
|
|
|
|
False positives may occur, as this method should not do any decompression, and may
|
|
|
|
mis-interpret a similar data format as compressed.
|
|
|
|
</summary>
|
|
|
|
<param name="stream">The stream that may or may not contain compressed data. The
|
|
|
|
position of this stream may change during this call, but will be returned to its
|
|
|
|
original position when the method returns.</param>
|
|
|
|
<param name="inLength">The length of the input stream.</param>
|
|
|
|
<returns>False if the data can certainly not be decompressed using this decompressor.
|
|
|
|
True if the data may potentially be decompressed using this decompressor.</returns>
|
|
|
|
</member>
|
|
|
|
<member name="M:DSDecmp.CompressionFormat.Decompress(System.String,System.String)">
|
|
|
|
<summary>
|
|
|
|
Decompresses the given file, writing the deocmpressed data to the given output file.
|
|
|
|
The output file will be overwritten if it already exists.
|
|
|
|
Assumes <code>Supports(infile)</code> returns <code>true</code>.
|
|
|
|
</summary>
|
|
|
|
<param name="infile">The file to decompress.</param>
|
|
|
|
<param name="outfile">The target location of the decompressed file.</param>
|
|
|
|
</member>
|
|
|
|
<member name="M:DSDecmp.CompressionFormat.Decompress(System.IO.Stream,System.Int64,System.IO.Stream)">
|
|
|
|
<summary>
|
|
|
|
Decompresses the given stream, writing the decompressed data to the given output stream.
|
|
|
|
Assumes <code>Supports(instream)</code> returns <code>true</code>.
|
|
|
|
After this call, the input stream will be positioned at the end of the compressed stream,
|
|
|
|
or at the initial position + <code>inLength</code>, whichever comes first.
|
|
|
|
</summary>
|
|
|
|
<param name="instream">The stream to decompress. At the end of this method, the position
|
|
|
|
of this stream is directly after the compressed data.</param>
|
|
|
|
<param name="inLength">The length of the input data. Not necessarily all of the
|
|
|
|
input data may be read (if there is padding, for example), however never more than
|
|
|
|
this number of bytes is read from the input stream.</param>
|
|
|
|
<param name="outstream">The stream to write the decompressed data to.</param>
|
|
|
|
<returns>The length of the output data.</returns>
|
|
|
|
<exception cref="T:DSDecmp.NotEnoughDataException">When the given length of the input data
|
|
|
|
is not enough to properly decompress the input.</exception>
|
|
|
|
</member>
|
|
|
|
<member name="M:DSDecmp.CompressionFormat.Compress(System.String,System.String)">
|
|
|
|
<summary>
|
|
|
|
Compresses the given input file, and writes the compressed data to the given
|
|
|
|
output file.
|
|
|
|
</summary>
|
|
|
|
<param name="infile">The file to compress.</param>
|
|
|
|
<param name="outfile">The file to write the compressed data to.</param>
|
|
|
|
<returns>The size of the compressed file. If -1, the file could not be compressed.</returns>
|
|
|
|
</member>
|
|
|
|
<member name="M:DSDecmp.CompressionFormat.Compress(System.IO.Stream,System.Int64,System.IO.Stream)">
|
|
|
|
<summary>
|
|
|
|
Compresses the next <code>inLength</code> bytes from the input stream,
|
|
|
|
and writes the compressed data to the given output stream.
|
|
|
|
</summary>
|
|
|
|
<param name="instream">The stream to read plaintext data from.</param>
|
|
|
|
<param name="inLength">The length of the plaintext data.</param>
|
|
|
|
<param name="outstream">The stream to write the compressed data to.</param>
|
|
|
|
<returns>The size of the compressed stream. If -1, the file could not be compressed.</returns>
|
|
|
|
</member>
|
|
|
|
<member name="M:DSDecmp.CompressionFormat.ParseCompressionOptions(System.String[])">
|
|
|
|
<summary>
|
|
|
|
Parses any input specific for this format. Does nothing by default.
|
|
|
|
</summary>
|
|
|
|
<param name="args">Any arguments that may be used by the format.</param>
|
|
|
|
<returns>The number of input arguments consumed by this format.</returns>
|
|
|
|
</member>
|
|
|
|
<member name="P:DSDecmp.CompressionFormat.ShortFormatString">
|
|
|
|
<summary>
|
|
|
|
Gets a short string identifying this compression format.
|
|
|
|
</summary>
|
|
|
|
</member>
|
|
|
|
<member name="P:DSDecmp.CompressionFormat.Description">
|
|
|
|
<summary>
|
|
|
|
Gets a short description of this compression format (used in the program usage).
|
|
|
|
</summary>
|
|
|
|
</member>
|
|
|
|
<member name="P:DSDecmp.CompressionFormat.SupportsCompression">
|
|
|
|
<summary>
|
|
|
|
Gets if this format supports compressing a file.
|
|
|
|
</summary>
|
|
|
|
</member>
|
|
|
|
<member name="P:DSDecmp.CompressionFormat.SupportsDecompression">
|
|
|
|
<summary>
|
|
|
|
Gets if this format supports decompressing a file.
|
|
|
|
</summary>
|
|
|
|
</member>
|
|
|
|
<member name="P:DSDecmp.CompressionFormat.CompressionFlag">
|
|
|
|
<summary>
|
|
|
|
Gets the value that must be given on the command line in order to compress using this format.
|
|
|
|
</summary>
|
|
|
|
</member>
|
|
|
|
<member name="T:DSDecmp.LZUtil">
|
|
|
|
<summary>
|
|
|
|
Utility class for compression using LZ-like compression schemes.
|
|
|
|
</summary>
|
|
|
|
</member>
|
2011-11-22 00:46:48 +01:00
|
|
|
<member name="M:DSDecmp.LZUtil.GetOccurrenceLength(System.Byte*,System.Int32,System.Byte*,System.Int32,System.Int32@,System.Int32)">
|
2011-11-13 17:14:45 +01:00
|
|
|
<summary>
|
|
|
|
Determine the maximum size of a LZ-compressed block starting at newPtr, using the already compressed data
|
|
|
|
starting at oldPtr. Takes O(inLength * oldLength) = O(n^2) time.
|
|
|
|
</summary>
|
|
|
|
<param name="newPtr">The start of the data that needs to be compressed.</param>
|
2011-11-22 00:46:48 +01:00
|
|
|
<param name="newLength">The number of bytes that still need to be compressed.
|
|
|
|
(or: the maximum number of bytes that _may_ be compressed into one block)</param>
|
2011-11-13 17:14:45 +01:00
|
|
|
<param name="oldPtr">The start of the raw file.</param>
|
|
|
|
<param name="oldLength">The number of bytes already compressed.</param>
|
|
|
|
<param name="disp">The offset of the start of the longest block to refer to.</param>
|
2011-11-22 00:46:48 +01:00
|
|
|
<param name="minDisp">The minimum allowed value for 'disp'.</param>
|
2011-11-13 17:14:45 +01:00
|
|
|
<returns>The length of the longest sequence of bytes that can be copied from the already decompressed data.</returns>
|
|
|
|
</member>
|
|
|
|
<member name="T:DSDecmp.Formats.Nitro.NitroCFormat">
|
|
|
|
<summary>
|
|
|
|
Base class for Nitro-based decompressors. Uses the 1-byte magic and 3-byte decompression
|
|
|
|
size format.
|
|
|
|
</summary>
|
|
|
|
</member>
|
|
|
|
<member name="F:DSDecmp.Formats.Nitro.NitroCFormat.SkipLargePlaintexts">
|
|
|
|
<summary>
|
|
|
|
If true, Nitro Decompressors will not decompress files that have a decompressed
|
|
|
|
size (plaintext size) larger than MaxPlaintextSize.
|
|
|
|
</summary>
|
|
|
|
</member>
|
|
|
|
<member name="F:DSDecmp.Formats.Nitro.NitroCFormat.MaxPlaintextSize">
|
|
|
|
<summary>
|
|
|
|
The maximum allowed size of the decompressed file (plaintext size) allowed for Nitro
|
|
|
|
Decompressors. Only used when SkipLargePlaintexts = true.
|
|
|
|
</summary>
|
|
|
|
</member>
|
|
|
|
<member name="F:DSDecmp.Formats.Nitro.NitroCFormat.magicByte">
|
|
|
|
<summary>
|
|
|
|
The first byte of every file compressed with the format for this particular
|
|
|
|
Nitro Dcompressor instance.
|
|
|
|
</summary>
|
|
|
|
</member>
|
2011-11-14 18:33:30 +01:00
|
|
|
<member name="M:DSDecmp.Formats.Nitro.NitroCFormat.#ctor(System.Byte)">
|
|
|
|
<summary>
|
|
|
|
Creates a new instance of the Nitro Compression Format base class.
|
|
|
|
</summary>
|
|
|
|
<param name="magicByte">The expected first byte of the file for this format.</param>
|
|
|
|
</member>
|
|
|
|
<member name="M:DSDecmp.Formats.Nitro.NitroCFormat.Supports(System.IO.Stream,System.Int64)">
|
|
|
|
<summary>
|
2011-12-22 23:59:37 +01:00
|
|
|
Checks if the first four (or eight) bytes match the format used in nitro compression formats.
|
2011-11-14 18:33:30 +01:00
|
|
|
</summary>
|
|
|
|
</member>
|
|
|
|
<member name="T:DSDecmp.Formats.CompositeFormat">
|
|
|
|
<summary>
|
|
|
|
A format that is composed of multiple formats.
|
|
|
|
When compressing, the input is compressed using the best contained format.
|
|
|
|
When decompressing, all contained formats will try to decompress the file, until one succeeds.
|
|
|
|
</summary>
|
|
|
|
</member>
|
|
|
|
<member name="F:DSDecmp.Formats.CompositeFormat.formats">
|
|
|
|
<summary>
|
|
|
|
The actual list of formats this format is somposed of.
|
|
|
|
</summary>
|
|
|
|
</member>
|
|
|
|
<member name="M:DSDecmp.Formats.CompositeFormat.#ctor(System.Collections.Generic.IEnumerable{DSDecmp.CompressionFormat})">
|
|
|
|
<summary>
|
|
|
|
Creates a new composite format based on the given sequence of formats.
|
|
|
|
</summary>
|
|
|
|
</member>
|
|
|
|
<member name="M:DSDecmp.Formats.CompositeFormat.#ctor(DSDecmp.CompressionFormat[])">
|
|
|
|
<summary>
|
|
|
|
Creates a new composite format based on the given formats.
|
|
|
|
</summary>
|
|
|
|
</member>
|
|
|
|
<member name="M:DSDecmp.Formats.CompositeFormat.Supports(System.IO.Stream,System.Int64)">
|
|
|
|
<summary>
|
|
|
|
Checks if any of the contained formats supports the given input.
|
|
|
|
</summary>
|
|
|
|
</member>
|
|
|
|
<member name="M:DSDecmp.Formats.CompositeFormat.Decompress(System.IO.Stream,System.Int64,System.IO.Stream)">
|
|
|
|
<summary>
|
|
|
|
Attempts to decompress the given input by letting all contained formats
|
|
|
|
try to decompress the input.
|
|
|
|
</summary>
|
|
|
|
</member>
|
|
|
|
<member name="M:DSDecmp.Formats.CompositeFormat.Compress(System.IO.Stream,System.Int64,System.IO.Stream)">
|
|
|
|
<summary>
|
|
|
|
Compresses the given input using the contained format that yields the best results in terms of
|
|
|
|
size reduction.
|
|
|
|
</summary>
|
|
|
|
</member>
|
|
|
|
<member name="M:DSDecmp.Formats.CompositeFormat.ParseCompressionOptions(System.String[])">
|
|
|
|
<summary>
|
|
|
|
Handles the compression options for each of the contained compression formats.
|
|
|
|
</summary>
|
|
|
|
</member>
|
|
|
|
<member name="P:DSDecmp.Formats.CompositeFormat.LastUsedCompressFormatString">
|
|
|
|
<summary>
|
|
|
|
Gets the ShortFormatString of the last CompressionFormat that was used to compress input.
|
|
|
|
</summary>
|
|
|
|
</member>
|
2011-11-13 17:14:45 +01:00
|
|
|
<member name="T:DSDecmp.StreamTooShortException">
|
|
|
|
<summary>
|
|
|
|
An exception thrown by the compression or decompression function, indicating that the
|
|
|
|
given input length was too large for the given input stream.
|
|
|
|
</summary>
|
|
|
|
</member>
|
|
|
|
<member name="M:DSDecmp.StreamTooShortException.#ctor">
|
|
|
|
<summary>
|
|
|
|
Creates a new exception that indicates that the stream was shorter than the given input length.
|
|
|
|
</summary>
|
|
|
|
</member>
|
|
|
|
<member name="T:DSDecmp.Formats.Nitro.LZ11">
|
|
|
|
<summary>
|
|
|
|
Compressor and decompressor for the LZ-0x11 format used in many of the games for the
|
|
|
|
newer Nintendo consoles and handhelds.
|
|
|
|
</summary>
|
|
|
|
</member>
|
2011-11-14 18:33:30 +01:00
|
|
|
<member name="M:DSDecmp.Formats.Nitro.LZ11.#ctor">
|
|
|
|
<summary>
|
|
|
|
Creates a new instance of the LZ-11 compression format.
|
|
|
|
</summary>
|
|
|
|
</member>
|
|
|
|
<member name="M:DSDecmp.Formats.Nitro.LZ11.ParseCompressionOptions(System.String[])">
|
|
|
|
<summary>
|
|
|
|
Checks if the given aguments have the '-opt' option, which makes this format
|
|
|
|
compress using (near-)optimal compression instead of the original compression algorithm.
|
|
|
|
</summary>
|
|
|
|
</member>
|
|
|
|
<member name="M:DSDecmp.Formats.Nitro.LZ11.Decompress(System.IO.Stream,System.Int64,System.IO.Stream)">
|
|
|
|
<summary>
|
|
|
|
Decompresses the input using the LZ-11 compression scheme.
|
|
|
|
</summary>
|
|
|
|
</member>
|
|
|
|
<member name="M:DSDecmp.Formats.Nitro.LZ11.Compress(System.IO.Stream,System.Int64,System.IO.Stream)">
|
|
|
|
<summary>
|
|
|
|
Compresses the input using the 'original', unoptimized compression algorithm.
|
|
|
|
This algorithm should yield files that are the same as those found in the games.
|
|
|
|
(delegates to the optimized method if LookAhead is set)
|
|
|
|
</summary>
|
|
|
|
</member>
|
2011-11-13 17:14:45 +01:00
|
|
|
<member name="M:DSDecmp.Formats.Nitro.LZ11.CompressWithLA(System.IO.Stream,System.Int64,System.IO.Stream)">
|
|
|
|
<summary>
|
|
|
|
Variation of the original compression method, making use of Dynamic Programming to 'look ahead'
|
|
|
|
and determine the optimal 'length' values for the compressed blocks. Is not 100% optimal,
|
|
|
|
as the flag-bytes are not taken into account.
|
|
|
|
</summary>
|
|
|
|
</member>
|
|
|
|
<member name="M:DSDecmp.Formats.Nitro.LZ11.GetOptimalCompressionLengths(System.Byte*,System.Int32,System.Int32[]@,System.Int32[]@)">
|
|
|
|
<summary>
|
|
|
|
Gets the optimal compression lengths for each start of a compressed block using Dynamic Programming.
|
|
|
|
This takes O(n^2) time, although in practice it will often be O(n^3) since one of the constants is 0x10110
|
|
|
|
(the maximum length of a compressed block)
|
|
|
|
</summary>
|
|
|
|
<param name="indata">The data to compress.</param>
|
|
|
|
<param name="inLength">The length of the data to compress.</param>
|
|
|
|
<param name="lengths">The optimal 'length' of the compressed blocks. For each byte in the input data,
|
|
|
|
this value is the optimal 'length' value. If it is 1, the block should not be compressed.</param>
|
|
|
|
<param name="disps">The 'disp' values of the compressed blocks. May be 0, in which case the
|
|
|
|
corresponding length will never be anything other than 1.</param>
|
|
|
|
</member>
|
2011-11-14 18:33:30 +01:00
|
|
|
<member name="P:DSDecmp.Formats.Nitro.LZ11.ShortFormatString">
|
|
|
|
<summary>
|
|
|
|
Gets a short string identifying this compression format.
|
|
|
|
</summary>
|
|
|
|
</member>
|
|
|
|
<member name="P:DSDecmp.Formats.Nitro.LZ11.Description">
|
|
|
|
<summary>
|
|
|
|
Gets a short description of this compression format (used in the program usage).
|
|
|
|
</summary>
|
|
|
|
</member>
|
|
|
|
<member name="P:DSDecmp.Formats.Nitro.LZ11.CompressionFlag">
|
|
|
|
<summary>
|
|
|
|
Gets the value that must be given on the command line in order to compress using this format.
|
|
|
|
</summary>
|
|
|
|
</member>
|
|
|
|
<member name="P:DSDecmp.Formats.Nitro.LZ11.SupportsCompression">
|
|
|
|
<summary>
|
|
|
|
Gets if this format supports compressing a file.
|
|
|
|
</summary>
|
|
|
|
</member>
|
2011-11-13 17:14:45 +01:00
|
|
|
<member name="P:DSDecmp.Formats.Nitro.LZ11.LookAhead">
|
|
|
|
<summary>
|
|
|
|
Sets the flag that determines if 'look-ahead'/DP should be used when compressing
|
|
|
|
with the LZ-11 format. The default is false, which is what is used in the original
|
|
|
|
implementation.
|
|
|
|
</summary>
|
|
|
|
</member>
|
|
|
|
<member name="T:DSDecmp.Formats.Nitro.LZ10">
|
|
|
|
<summary>
|
|
|
|
Compressor and decompressor for the LZ-0x10 format used in many of the games for the
|
|
|
|
newer Nintendo consoles and handhelds.
|
|
|
|
</summary>
|
|
|
|
</member>
|
2011-11-14 18:33:30 +01:00
|
|
|
<member name="M:DSDecmp.Formats.Nitro.LZ10.#ctor">
|
|
|
|
<summary>
|
|
|
|
Creates a new instance of the LZ-10 compression format.
|
|
|
|
</summary>
|
|
|
|
</member>
|
|
|
|
<member name="M:DSDecmp.Formats.Nitro.LZ10.ParseCompressionOptions(System.String[])">
|
|
|
|
<summary>
|
|
|
|
Checks if the given aguments have the '-opt' option, which makes this format
|
|
|
|
compress using (near-)optimal compression instead of the original compression algorithm.
|
|
|
|
</summary>
|
|
|
|
</member>
|
2011-11-13 17:14:45 +01:00
|
|
|
<member name="M:DSDecmp.Formats.Nitro.LZ10.Decompress(System.IO.Stream,System.Int64,System.IO.Stream)">
|
|
|
|
<summary>
|
|
|
|
Decompress a stream that is compressed in the LZ-10 format.
|
|
|
|
</summary>
|
|
|
|
<param name="instream">The compressed stream.</param>
|
|
|
|
<param name="inLength">The length of the input stream.</param>
|
|
|
|
<param name="outstream">The output stream, where the decompressed data is written to.</param>
|
|
|
|
</member>
|
2011-11-14 18:33:30 +01:00
|
|
|
<member name="M:DSDecmp.Formats.Nitro.LZ10.Compress(System.IO.Stream,System.Int64,System.IO.Stream)">
|
|
|
|
<summary>
|
|
|
|
Compresses the input using the 'original', unoptimized compression algorithm.
|
|
|
|
This algorithm should yield files that are the same as those found in the games.
|
|
|
|
(delegates to the optimized method if LookAhead is set)
|
|
|
|
</summary>
|
|
|
|
</member>
|
2011-11-13 17:14:45 +01:00
|
|
|
<member name="M:DSDecmp.Formats.Nitro.LZ10.CompressWithLA(System.IO.Stream,System.Int64,System.IO.Stream)">
|
|
|
|
<summary>
|
|
|
|
Variation of the original compression method, making use of Dynamic Programming to 'look ahead'
|
|
|
|
and determine the optimal 'length' values for the compressed blocks. Is not 100% optimal,
|
|
|
|
as the flag-bytes are not taken into account.
|
|
|
|
</summary>
|
|
|
|
</member>
|
|
|
|
<member name="M:DSDecmp.Formats.Nitro.LZ10.GetOptimalCompressionLengths(System.Byte*,System.Int32,System.Int32[]@,System.Int32[]@)">
|
|
|
|
<summary>
|
|
|
|
Gets the optimal compression lengths for each start of a compressed block using Dynamic Programming.
|
|
|
|
This takes O(n^2) time.
|
|
|
|
</summary>
|
|
|
|
<param name="indata">The data to compress.</param>
|
|
|
|
<param name="inLength">The length of the data to compress.</param>
|
|
|
|
<param name="lengths">The optimal 'length' of the compressed blocks. For each byte in the input data,
|
|
|
|
this value is the optimal 'length' value. If it is 1, the block should not be compressed.</param>
|
|
|
|
<param name="disps">The 'disp' values of the compressed blocks. May be 0, in which case the
|
|
|
|
corresponding length will never be anything other than 1.</param>
|
|
|
|
</member>
|
2011-11-14 18:33:30 +01:00
|
|
|
<member name="P:DSDecmp.Formats.Nitro.LZ10.ShortFormatString">
|
|
|
|
<summary>
|
|
|
|
Gets a short string identifying this compression format.
|
|
|
|
</summary>
|
|
|
|
</member>
|
|
|
|
<member name="P:DSDecmp.Formats.Nitro.LZ10.Description">
|
|
|
|
<summary>
|
|
|
|
Gets a short description of this compression format (used in the program usage).
|
|
|
|
</summary>
|
|
|
|
</member>
|
|
|
|
<member name="P:DSDecmp.Formats.Nitro.LZ10.CompressionFlag">
|
|
|
|
<summary>
|
|
|
|
Gets the value that must be given on the command line in order to compress using this format.
|
|
|
|
</summary>
|
|
|
|
</member>
|
|
|
|
<member name="P:DSDecmp.Formats.Nitro.LZ10.SupportsCompression">
|
|
|
|
<summary>
|
|
|
|
Gets if this format supports compressing a file.
|
|
|
|
</summary>
|
|
|
|
</member>
|
2011-11-13 17:14:45 +01:00
|
|
|
<member name="P:DSDecmp.Formats.Nitro.LZ10.LookAhead">
|
|
|
|
<summary>
|
|
|
|
Sets the flag that determines if 'look-ahead'/DP should be used when compressing
|
|
|
|
with the LZ-10 format. The default is false, which is what is used in the original
|
|
|
|
implementation.
|
|
|
|
</summary>
|
|
|
|
</member>
|
|
|
|
<member name="T:DSDecmp.Formats.Nitro.RLE">
|
|
|
|
<summary>
|
|
|
|
Compressor and decompressor for the RLE format used in several of the games for the
|
|
|
|
newer Nintendo consoles and handhelds.
|
|
|
|
</summary>
|
|
|
|
</member>
|
2011-11-14 18:33:30 +01:00
|
|
|
<member name="M:DSDecmp.Formats.Nitro.RLE.#ctor">
|
|
|
|
<summary>
|
|
|
|
Creates a new instance of the RLE compression format.
|
|
|
|
</summary>
|
|
|
|
</member>
|
|
|
|
<member name="M:DSDecmp.Formats.Nitro.RLE.Decompress(System.IO.Stream,System.Int64,System.IO.Stream)">
|
|
|
|
<summary>
|
|
|
|
Decompresses the input using the RLE compression scheme.
|
|
|
|
</summary>
|
|
|
|
</member>
|
|
|
|
<member name="M:DSDecmp.Formats.Nitro.RLE.Compress(System.IO.Stream,System.Int64,System.IO.Stream)">
|
|
|
|
<summary>
|
|
|
|
Compresses the input using the RLE compression scheme.
|
|
|
|
</summary>
|
|
|
|
</member>
|
|
|
|
<member name="P:DSDecmp.Formats.Nitro.RLE.ShortFormatString">
|
|
|
|
<summary>
|
|
|
|
Gets a short string identifying this compression format.
|
|
|
|
</summary>
|
|
|
|
</member>
|
|
|
|
<member name="P:DSDecmp.Formats.Nitro.RLE.Description">
|
|
|
|
<summary>
|
|
|
|
Gets a short description of this compression format (used in the program usage).
|
|
|
|
</summary>
|
|
|
|
</member>
|
|
|
|
<member name="P:DSDecmp.Formats.Nitro.RLE.CompressionFlag">
|
|
|
|
<summary>
|
|
|
|
Gets the value that must be given on the command line in order to compress using this format.
|
|
|
|
</summary>
|
|
|
|
</member>
|
|
|
|
<member name="P:DSDecmp.Formats.Nitro.RLE.SupportsCompression">
|
|
|
|
<summary>
|
|
|
|
Gets if this format supports compressing a file.
|
|
|
|
</summary>
|
|
|
|
</member>
|
2011-11-13 17:14:45 +01:00
|
|
|
<member name="T:DSDecmp.Formats.LZOvl">
|
|
|
|
<summary>
|
|
|
|
The LZ-Overlay compression format. Compresses part of the file from end to start.
|
|
|
|
Is used for the 'overlay' files in NDS games, as well as arm9.bin.
|
|
|
|
Note that the last 12 bytes should not be included in the 'inLength' argument when
|
|
|
|
decompressing arm9.bin. This is done automatically if a file is given instead of a stream.
|
|
|
|
</summary>
|
|
|
|
</member>
|
2011-11-14 18:33:30 +01:00
|
|
|
<member name="M:DSDecmp.Formats.LZOvl.ParseCompressionOptions(System.String[])">
|
|
|
|
<summary>
|
|
|
|
Checks if the given aguments have the '-opt' option, which makes this format
|
|
|
|
compress using (near-)optimal compression instead of the original compression algorithm.
|
|
|
|
</summary>
|
|
|
|
</member>
|
|
|
|
<member name="M:DSDecmp.Formats.LZOvl.Supports(System.String)">
|
|
|
|
<summary>
|
|
|
|
Checks if this format supports decompressing the given file.
|
|
|
|
</summary>
|
|
|
|
</member>
|
|
|
|
<member name="M:DSDecmp.Formats.LZOvl.Supports(System.IO.Stream,System.Int64)">
|
|
|
|
<summary>
|
|
|
|
Checks if this format supports decompressing the given input.
|
|
|
|
</summary>
|
|
|
|
</member>
|
|
|
|
<member name="M:DSDecmp.Formats.LZOvl.Decompress(System.String,System.String)">
|
|
|
|
<summary>
|
|
|
|
Decompresses the given input file to the given output file using the LZ-Overlay compression format.
|
|
|
|
</summary>
|
|
|
|
</member>
|
|
|
|
<member name="M:DSDecmp.Formats.LZOvl.Decompress(System.IO.Stream,System.Int64,System.IO.Stream)">
|
|
|
|
<summary>
|
|
|
|
Decompresses the given input using the LZ-Overlay compression scheme.
|
|
|
|
</summary>
|
|
|
|
</member>
|
|
|
|
<member name="M:DSDecmp.Formats.LZOvl.Compress(System.IO.Stream,System.Int64,System.IO.Stream)">
|
|
|
|
<summary>
|
|
|
|
Compresses the input using the LZ-Overlay compression scheme.
|
|
|
|
</summary>
|
|
|
|
</member>
|
2011-11-13 17:14:45 +01:00
|
|
|
<member name="M:DSDecmp.Formats.LZOvl.CompressNormal(System.IO.Stream,System.Int64,System.IO.Stream)">
|
|
|
|
<summary>
|
|
|
|
Compresses the given input stream with the LZ-Ovl compression, but compresses _forward_
|
|
|
|
instad of backwards.
|
|
|
|
</summary>
|
|
|
|
<param name="instream">The input stream to compress.</param>
|
|
|
|
<param name="inLength">The length of the input stream.</param>
|
|
|
|
<param name="outstream">The stream to write to.</param>
|
|
|
|
</member>
|
|
|
|
<member name="M:DSDecmp.Formats.LZOvl.CompressWithLA(System.IO.Stream,System.Int64,System.IO.Stream)">
|
|
|
|
<summary>
|
|
|
|
Variation of the original compression method, making use of Dynamic Programming to 'look ahead'
|
|
|
|
and determine the optimal 'length' values for the compressed blocks. Is not 100% optimal,
|
|
|
|
as the flag-bytes are not taken into account.
|
|
|
|
</summary>
|
|
|
|
</member>
|
|
|
|
<member name="M:DSDecmp.Formats.LZOvl.GetOptimalCompressionLengths(System.Byte*,System.Int32,System.Int32[]@,System.Int32[]@)">
|
|
|
|
<summary>
|
|
|
|
Gets the optimal compression lengths for each start of a compressed block using Dynamic Programming.
|
|
|
|
This takes O(n^2) time.
|
|
|
|
</summary>
|
|
|
|
<param name="indata">The data to compress.</param>
|
|
|
|
<param name="inLength">The length of the data to compress.</param>
|
|
|
|
<param name="lengths">The optimal 'length' of the compressed blocks. For each byte in the input data,
|
|
|
|
this value is the optimal 'length' value. If it is 1, the block should not be compressed.</param>
|
|
|
|
<param name="disps">The 'disp' values of the compressed blocks. May be less than 3, in which case the
|
|
|
|
corresponding length will never be anything other than 1.</param>
|
|
|
|
</member>
|
|
|
|
<member name="M:DSDecmp.Formats.LZOvl.GetOptimalCompressionPartLength(System.Int32[])">
|
|
|
|
<summary>
|
|
|
|
Gets the 'optimal' length of the compressed part of the file.
|
|
|
|
Or rather: the length in such a way that compressing any more will not
|
|
|
|
result in a shorter file.
|
|
|
|
</summary>
|
|
|
|
<param name="blocklengths">The lengths of the compressed blocks, as gotten from GetOptimalCompressionLengths.</param>
|
|
|
|
<returns>The 'optimal' length of the compressed part of the file.</returns>
|
|
|
|
</member>
|
2011-11-14 18:33:30 +01:00
|
|
|
<member name="P:DSDecmp.Formats.LZOvl.ShortFormatString">
|
|
|
|
<summary>
|
|
|
|
Gets a short string identifying this compression format.
|
|
|
|
</summary>
|
|
|
|
</member>
|
|
|
|
<member name="P:DSDecmp.Formats.LZOvl.Description">
|
|
|
|
<summary>
|
|
|
|
Gets a short description of this compression format (used in the program usage).
|
|
|
|
</summary>
|
|
|
|
</member>
|
|
|
|
<member name="P:DSDecmp.Formats.LZOvl.CompressionFlag">
|
|
|
|
<summary>
|
|
|
|
Gets the value that must be given on the command line in order to compress using this format.
|
|
|
|
</summary>
|
|
|
|
</member>
|
|
|
|
<member name="P:DSDecmp.Formats.LZOvl.SupportsCompression">
|
|
|
|
<summary>
|
|
|
|
Gets if this format supports compressing a file.
|
|
|
|
</summary>
|
|
|
|
</member>
|
2011-11-13 17:14:45 +01:00
|
|
|
<member name="P:DSDecmp.Formats.LZOvl.LookAhead">
|
|
|
|
<summary>
|
|
|
|
Sets the flag that determines if 'look-ahead'/DP should be used when compressing
|
|
|
|
with the LZ-Ovl format. The default is false, which is what is used in the original
|
|
|
|
implementation.
|
|
|
|
</summary>
|
|
|
|
</member>
|
2011-11-14 18:33:30 +01:00
|
|
|
<member name="M:DSDecmp.NewestProgram.Compress(System.String[],DSDecmp.CompressionFormat)">
|
2011-11-13 17:14:45 +01:00
|
|
|
<summary>
|
2011-11-14 18:33:30 +01:00
|
|
|
(Attempts to) Compress the given input to the given output, using the given format.
|
2011-11-13 17:14:45 +01:00
|
|
|
</summary>
|
2011-11-14 18:33:30 +01:00
|
|
|
<param name="ioArgs">The I/O arguments from the program input.</param>
|
|
|
|
<param name="format">The desired format to compress with.</param>
|
2011-11-13 17:14:45 +01:00
|
|
|
</member>
|
|
|
|
<member name="M:DSDecmp.NewestProgram.ParseIOArguments(System.String[],System.Boolean,System.String[]@,System.String@,System.Boolean@)">
|
|
|
|
<summary>
|
|
|
|
Parses the IO arguments of the input.
|
|
|
|
</summary>
|
|
|
|
<param name="ioArgs">The arguments to parse.</param>
|
2011-11-14 18:33:30 +01:00
|
|
|
<param name="compress">If the arguments are used for compression. If not, decompression is assumed. (used for default output folder name)</param>
|
2011-11-13 17:14:45 +01:00
|
|
|
<param name="inputFiles">The files to handle as input.</param>
|
|
|
|
<param name="outputDir">The directory to save the handled files in. If this is null,
|
|
|
|
the files should be overwritten. If this does not exist, it is the output file
|
|
|
|
(the input may only contain one file if that si the case).</param>
|
|
|
|
<param name="copyErrors">If files that cannot be handled (properly) should be copied to the output directory.</param>
|
|
|
|
<returns>True iff parsing of the arguments succeeded.</returns>
|
|
|
|
</member>
|
2011-11-14 18:33:30 +01:00
|
|
|
<member name="M:DSDecmp.NewestProgram.GuessExtension(System.Byte[],System.String)">
|
|
|
|
<summary>
|
|
|
|
Guess the extension of a file by looking at the given magic bytes of a file.
|
|
|
|
If they are alphanumeric (without accents), they could indicate the type of file.
|
|
|
|
If no sensible extension could be found from the magic bytes, the given default extension is returned.
|
|
|
|
</summary>
|
|
|
|
</member>
|
2011-11-13 17:14:45 +01:00
|
|
|
<member name="M:DSDecmp.NewestProgram.Copy(System.String,System.String)">
|
|
|
|
<summary>
|
|
|
|
Copies the source file to the destination path.
|
|
|
|
</summary>
|
|
|
|
</member>
|
|
|
|
<member name="M:DSDecmp.NewestProgram.GetFormat(System.String)">
|
|
|
|
<summary>
|
|
|
|
Gets the compression format corresponding to the given format string.
|
|
|
|
</summary>
|
|
|
|
</member>
|
|
|
|
<member name="M:DSDecmp.NewestProgram.GetAllFormats(System.Boolean)">
|
|
|
|
<summary>
|
|
|
|
Gets a sequence over all compression formats currently supported; both built-in and plugin-based.
|
|
|
|
</summary>
|
|
|
|
</member>
|
|
|
|
<member name="M:DSDecmp.NewestProgram.GetBuiltInFormats(System.Boolean)">
|
|
|
|
<summary>
|
|
|
|
Gets a sequence over all built-in compression formats.
|
|
|
|
</summary>
|
|
|
|
<param name="alsoCompositeFormats">If the built-in composite formats should also be part of the sequence.</param>
|
|
|
|
</member>
|
|
|
|
<member name="M:DSDecmp.NewestProgram.GetPluginFormats">
|
|
|
|
<summary>
|
|
|
|
Gets a sequence over all formats that can be used from plugins.
|
|
|
|
</summary>
|
|
|
|
</member>
|
|
|
|
<member name="M:DSDecmp.NewestProgram.FirstOrDefault``1(System.Collections.Generic.IEnumerable{``0})">
|
|
|
|
<summary>
|
|
|
|
Gets the first item from the given sequence, or the default value of the type in the sequence
|
|
|
|
if it is empty.
|
|
|
|
</summary>
|
|
|
|
</member>
|
|
|
|
<member name="T:DSDecmp.NotEnoughDataException">
|
|
|
|
<summary>
|
|
|
|
An exception that is thrown by the decompression functions when there
|
|
|
|
is not enough data available in order to properly decompress the input.
|
|
|
|
</summary>
|
|
|
|
</member>
|
|
|
|
<member name="M:DSDecmp.NotEnoughDataException.#ctor(System.Int64,System.Int64)">
|
|
|
|
<summary>
|
|
|
|
Creates a new NotEnoughDataException.
|
|
|
|
</summary>
|
|
|
|
<param name="currentOutSize">The actual number of written bytes.</param>
|
|
|
|
<param name="totalOutSize">The desired number of written bytes.</param>
|
|
|
|
</member>
|
|
|
|
<member name="P:DSDecmp.NotEnoughDataException.WrittenLength">
|
|
|
|
<summary>
|
|
|
|
Gets the actual number of written bytes.
|
|
|
|
</summary>
|
|
|
|
</member>
|
|
|
|
<member name="P:DSDecmp.NotEnoughDataException.DesiredLength">
|
|
|
|
<summary>
|
|
|
|
Gets the number of bytes that was supposed to be written.
|
|
|
|
</summary>
|
|
|
|
</member>
|
|
|
|
<member name="T:DSDecmp.SimpleReversedPrioQueue`2">
|
|
|
|
<summary>
|
|
|
|
Very simplistic implementation of a priority queue that returns items with lowest priority first.
|
|
|
|
This is not the most efficient implementation, but required the least work while using the classes
|
|
|
|
from the .NET collections, and without requiring importing another dll or several more class files
|
|
|
|
in order to make it work.
|
|
|
|
</summary>
|
|
|
|
<typeparam name="TPrio">The type of the priority values.</typeparam>
|
|
|
|
<typeparam name="TValue">The type of item to put into the queue.</typeparam>
|
|
|
|
</member>
|
|
|
|
<member name="M:DSDecmp.SimpleReversedPrioQueue`2.#ctor">
|
|
|
|
<summary>
|
|
|
|
Creates a new, empty reverse priority queue.
|
|
|
|
</summary>
|
|
|
|
</member>
|
|
|
|
<member name="M:DSDecmp.SimpleReversedPrioQueue`2.Enqueue(`0,`1)">
|
|
|
|
<summary>
|
|
|
|
Enqueues the given value, using the given priority.
|
|
|
|
</summary>
|
|
|
|
<param name="priority">The priority of the value.</param>
|
|
|
|
<param name="value">The value to enqueue.</param>
|
|
|
|
</member>
|
|
|
|
<member name="M:DSDecmp.SimpleReversedPrioQueue`2.Peek(`0@)">
|
|
|
|
<summary>
|
|
|
|
Gets the current value with the lowest priority from this queue, without dequeueing the value.
|
|
|
|
</summary>
|
|
|
|
<param name="priority">The priority of the returned value.</param>
|
|
|
|
<returns>The current value with the lowest priority.</returns>
|
|
|
|
<exception cref="T:System.IndexOutOfRangeException">If there are no items left in this queue.</exception>
|
|
|
|
</member>
|
|
|
|
<member name="M:DSDecmp.SimpleReversedPrioQueue`2.Dequeue(`0@)">
|
|
|
|
<summary>
|
|
|
|
Dequeues the current value at the head of thisreverse priority queue.
|
|
|
|
</summary>
|
|
|
|
<param name="priority">The priority of the dequeued value.</param>
|
|
|
|
<returns>The dequeued value, that used to be at the head of this queue.</returns>
|
|
|
|
<exception cref="T:System.IndexOutOfRangeException">If this queue does not contain any items.</exception>
|
|
|
|
</member>
|
|
|
|
<member name="P:DSDecmp.SimpleReversedPrioQueue`2.Count">
|
|
|
|
<summary>
|
|
|
|
Gets the number of items in this queue.
|
|
|
|
</summary>
|
|
|
|
</member>
|
2011-11-14 18:33:30 +01:00
|
|
|
<member name="T:DSDecmp.Formats.Nitro.CompositeGBAFormat">
|
|
|
|
<summary>
|
|
|
|
A composite format with all formats supported natively by the GBA.
|
|
|
|
</summary>
|
|
|
|
</member>
|
|
|
|
<member name="M:DSDecmp.Formats.Nitro.CompositeGBAFormat.#ctor">
|
|
|
|
<summary>
|
|
|
|
Creates a new instance of the format composed of all native GBA compression formats.
|
|
|
|
</summary>
|
|
|
|
</member>
|
|
|
|
<member name="P:DSDecmp.Formats.Nitro.CompositeGBAFormat.ShortFormatString">
|
|
|
|
<summary>
|
|
|
|
Gets a short string identifying this compression format.
|
|
|
|
</summary>
|
|
|
|
</member>
|
|
|
|
<member name="P:DSDecmp.Formats.Nitro.CompositeGBAFormat.Description">
|
|
|
|
<summary>
|
|
|
|
Gets a short description of this compression format (used in the program usage).
|
|
|
|
</summary>
|
|
|
|
</member>
|
|
|
|
<member name="P:DSDecmp.Formats.Nitro.CompositeGBAFormat.SupportsCompression">
|
|
|
|
<summary>
|
|
|
|
Gets if this format supports compressing a file.
|
|
|
|
</summary>
|
|
|
|
</member>
|
|
|
|
<member name="P:DSDecmp.Formats.Nitro.CompositeGBAFormat.CompressionFlag">
|
|
|
|
<summary>
|
|
|
|
Gets the value that must be given on the command line in order to compress using this format.
|
|
|
|
</summary>
|
|
|
|
</member>
|
|
|
|
<member name="T:DSDecmp.Formats.Nitro.CompositeNDSFormat">
|
|
|
|
<summary>
|
|
|
|
A composite format with all formats supported natively by the NDS (but not LZ-Overlay)
|
|
|
|
</summary>
|
|
|
|
</member>
|
|
|
|
<member name="M:DSDecmp.Formats.Nitro.CompositeNDSFormat.#ctor">
|
|
|
|
<summary>
|
|
|
|
Creates a new instance of the format composed of all native NDS compression formats.
|
|
|
|
</summary>
|
|
|
|
</member>
|
|
|
|
<member name="P:DSDecmp.Formats.Nitro.CompositeNDSFormat.ShortFormatString">
|
|
|
|
<summary>
|
|
|
|
Gets a short string identifying this compression format.
|
|
|
|
</summary>
|
|
|
|
</member>
|
|
|
|
<member name="P:DSDecmp.Formats.Nitro.CompositeNDSFormat.Description">
|
|
|
|
<summary>
|
|
|
|
Gets a short description of this compression format (used in the program usage).
|
|
|
|
</summary>
|
|
|
|
</member>
|
|
|
|
<member name="P:DSDecmp.Formats.Nitro.CompositeNDSFormat.SupportsCompression">
|
|
|
|
<summary>
|
|
|
|
Gets if this format supports compressing a file.
|
|
|
|
</summary>
|
|
|
|
</member>
|
|
|
|
<member name="P:DSDecmp.Formats.Nitro.CompositeNDSFormat.CompressionFlag">
|
|
|
|
<summary>
|
|
|
|
Gets the value that must be given on the command line in order to compress using this format.
|
|
|
|
</summary>
|
|
|
|
</member>
|
2011-11-13 17:14:45 +01:00
|
|
|
<member name="T:DSDecmp.Formats.Nitro.Huffman">
|
|
|
|
<summary>
|
|
|
|
Compressor and decompressor for the Huffman format used in many of the games for the
|
|
|
|
newer Nintendo consoles and handhelds.
|
|
|
|
</summary>
|
|
|
|
</member>
|
2011-11-14 18:33:30 +01:00
|
|
|
<member name="M:DSDecmp.Formats.Nitro.Huffman.#ctor(DSDecmp.Formats.Nitro.Huffman.BlockSize)">
|
|
|
|
<summary>
|
|
|
|
Creates a new generic instance of the Huffman compression format.
|
|
|
|
</summary>
|
|
|
|
<param name="blockSize">The block size used.</param>
|
|
|
|
</member>
|
|
|
|
<member name="M:DSDecmp.Formats.Nitro.Huffman.Decompress(System.IO.Stream,System.Int64,System.IO.Stream)">
|
|
|
|
<summary>
|
|
|
|
Decompresses the given stream, writing the decompressed data to the given output stream.
|
|
|
|
Assumes <code>Supports(instream)</code> returns <code>true</code>.
|
|
|
|
After this call, the input stream will be positioned at the end of the compressed stream,
|
|
|
|
or at the initial position + <code>inLength</code>, whichever comes first.
|
|
|
|
</summary>
|
|
|
|
<param name="instream">The stream to decompress. At the end of this method, the position
|
|
|
|
of this stream is directly after the compressed data.</param>
|
|
|
|
<param name="inLength">The length of the input data. Not necessarily all of the
|
|
|
|
input data may be read (if there is padding, for example), however never more than
|
|
|
|
this number of bytes is read from the input stream.</param>
|
|
|
|
<param name="outstream">The stream to write the decompressed data to.</param>
|
|
|
|
<returns>The length of the output data.</returns>
|
|
|
|
<exception cref="T:DSDecmp.NotEnoughDataException">When the given length of the input data
|
|
|
|
is not enough to properly decompress the input.</exception>
|
|
|
|
</member>
|
2011-11-13 17:14:45 +01:00
|
|
|
<member name="M:DSDecmp.Formats.Nitro.Huffman.GetLowest(DSDecmp.SimpleReversedPrioQueue{System.Int32,DSDecmp.Formats.Nitro.Huffman.HuffTreeNode},DSDecmp.SimpleReversedPrioQueue{System.Int32,DSDecmp.Formats.Nitro.Huffman.HuffTreeNode},System.Int32@)">
|
|
|
|
<summary>
|
|
|
|
Gets the tree node with the lowest priority (frequency) from the leaf and node queues.
|
|
|
|
If the priority is the same for both head items in the queues, the node from the leaf queue is picked.
|
|
|
|
</summary>
|
|
|
|
</member>
|
|
|
|
<member name="P:DSDecmp.Formats.Nitro.Huffman.CompressBlockSize">
|
|
|
|
<summary>
|
|
|
|
Sets the block size used when using the Huffman format to compress.
|
|
|
|
</summary>
|
|
|
|
</member>
|
2011-11-14 18:33:30 +01:00
|
|
|
<member name="P:DSDecmp.Formats.Nitro.Huffman.SupportsCompression">
|
|
|
|
<summary>
|
|
|
|
Gets if this format supports compression. Always returns true.
|
|
|
|
</summary>
|
|
|
|
</member>
|
|
|
|
<member name="T:DSDecmp.Formats.Nitro.Huffman.BlockSize">
|
|
|
|
<summary>
|
|
|
|
The possible data sizes used in Huffman compression formats on the GBA/NDS.
|
|
|
|
</summary>
|
|
|
|
</member>
|
|
|
|
<member name="F:DSDecmp.Formats.Nitro.Huffman.BlockSize.FOURBIT">
|
|
|
|
<summary>
|
|
|
|
Each data block is four bits long.
|
|
|
|
</summary>
|
|
|
|
</member>
|
|
|
|
<member name="F:DSDecmp.Formats.Nitro.Huffman.BlockSize.EIGHTBIT">
|
|
|
|
<summary>
|
|
|
|
Each data block is eight bits long.
|
|
|
|
</summary>
|
|
|
|
</member>
|
2011-11-13 17:14:45 +01:00
|
|
|
<member name="T:DSDecmp.Formats.Nitro.Huffman.HuffTreeNode">
|
|
|
|
<summary>
|
|
|
|
A single node in a Huffman tree.
|
|
|
|
</summary>
|
|
|
|
</member>
|
|
|
|
<member name="F:DSDecmp.Formats.Nitro.Huffman.HuffTreeNode.data">
|
|
|
|
<summary>
|
|
|
|
The data contained in this node. May not mean anything when <code>isData == false</code>
|
|
|
|
</summary>
|
|
|
|
</member>
|
|
|
|
<member name="F:DSDecmp.Formats.Nitro.Huffman.HuffTreeNode.isFilled">
|
|
|
|
<summary>
|
|
|
|
A flag indicating if this node has been filled.
|
|
|
|
</summary>
|
|
|
|
</member>
|
|
|
|
<member name="F:DSDecmp.Formats.Nitro.Huffman.HuffTreeNode.isData">
|
|
|
|
<summary>
|
|
|
|
A flag indicating if this node contains data. If not, this is not a leaf node.
|
|
|
|
</summary>
|
|
|
|
</member>
|
|
|
|
<member name="F:DSDecmp.Formats.Nitro.Huffman.HuffTreeNode.child0">
|
|
|
|
<summary>
|
|
|
|
The child of this node at side 0
|
|
|
|
</summary>
|
|
|
|
</member>
|
|
|
|
<member name="F:DSDecmp.Formats.Nitro.Huffman.HuffTreeNode.child1">
|
|
|
|
<summary>
|
|
|
|
The child of this node at side 1
|
|
|
|
</summary>
|
|
|
|
</member>
|
2011-11-14 18:33:30 +01:00
|
|
|
<member name="F:DSDecmp.Formats.Nitro.Huffman.HuffTreeNode.index">
|
|
|
|
<summary>
|
|
|
|
The index of this node in the array for building the proper ordering.
|
|
|
|
If -1, this node has not yet been placed in the array.
|
|
|
|
</summary>
|
|
|
|
</member>
|
2011-11-13 17:14:45 +01:00
|
|
|
<member name="M:DSDecmp.Formats.Nitro.Huffman.HuffTreeNode.#ctor(System.Byte,System.Boolean,DSDecmp.Formats.Nitro.Huffman.HuffTreeNode,DSDecmp.Formats.Nitro.Huffman.HuffTreeNode)">
|
|
|
|
<summary>
|
|
|
|
Manually creates a new node for a huffman tree.
|
|
|
|
</summary>
|
|
|
|
<param name="data">The data for this node.</param>
|
|
|
|
<param name="isData">If this node represents data.</param>
|
|
|
|
<param name="child0">The child of this node on the 0 side.</param>
|
|
|
|
<param name="child1">The child of this node on the 1 side.</param>
|
|
|
|
</member>
|
|
|
|
<member name="M:DSDecmp.Formats.Nitro.Huffman.HuffTreeNode.#ctor(System.IO.Stream,System.Boolean,System.Int64,System.Int64)">
|
|
|
|
<summary>
|
|
|
|
Creates a new node in the Huffman tree.
|
|
|
|
</summary>
|
|
|
|
<param name="stream">The stream to read from. It is assumed that there is (at least)
|
|
|
|
one more byte available to read.</param>
|
|
|
|
<param name="isData">If this node is a data-node.</param>
|
|
|
|
<param name="relOffset">The offset of this node in the source data, relative to the start
|
|
|
|
of the compressed file.</param>
|
|
|
|
<param name="maxStreamPos">The indicated end of the huffman tree. If the stream is past
|
|
|
|
this position, the tree is invalid.</param>
|
|
|
|
</member>
|
2011-11-14 18:33:30 +01:00
|
|
|
<member name="M:DSDecmp.Formats.Nitro.Huffman.HuffTreeNode.ToString">
|
|
|
|
<summary>
|
|
|
|
Generates and returns a string-representation of the huffman tree starting at this node.
|
|
|
|
</summary>
|
|
|
|
</member>
|
2011-11-13 17:14:45 +01:00
|
|
|
<member name="P:DSDecmp.Formats.Nitro.Huffman.HuffTreeNode.Data">
|
|
|
|
<summary>
|
|
|
|
The data contained in this node. May not mean anything when <code>isData == false</code>.
|
|
|
|
Throws a NullReferenceException when this node has not been defined (ie: reference was outside the
|
|
|
|
bounds of the tree definition)
|
|
|
|
</summary>
|
|
|
|
</member>
|
|
|
|
<member name="P:DSDecmp.Formats.Nitro.Huffman.HuffTreeNode.IsData">
|
|
|
|
<summary>
|
|
|
|
Returns true if this node represents data.
|
|
|
|
</summary>
|
|
|
|
</member>
|
|
|
|
<member name="P:DSDecmp.Formats.Nitro.Huffman.HuffTreeNode.Child0">
|
|
|
|
<summary>
|
|
|
|
The child of this node at side 0
|
|
|
|
</summary>
|
|
|
|
</member>
|
|
|
|
<member name="P:DSDecmp.Formats.Nitro.Huffman.HuffTreeNode.Child1">
|
|
|
|
<summary>
|
|
|
|
The child of this node at side 1
|
|
|
|
</summary>
|
|
|
|
</member>
|
|
|
|
<member name="P:DSDecmp.Formats.Nitro.Huffman.HuffTreeNode.Parent">
|
|
|
|
<summary>
|
|
|
|
The parent node of this node.
|
|
|
|
</summary>
|
|
|
|
</member>
|
|
|
|
<member name="P:DSDecmp.Formats.Nitro.Huffman.HuffTreeNode.IsChild0">
|
|
|
|
<summary>
|
|
|
|
Determines if this is the Child0 of the parent node. Assumes there is a parent.
|
|
|
|
</summary>
|
|
|
|
</member>
|
|
|
|
<member name="P:DSDecmp.Formats.Nitro.Huffman.HuffTreeNode.IsChild1">
|
|
|
|
<summary>
|
|
|
|
Determines if this is the Child1 of the parent node. Assumes there is a parent.
|
|
|
|
</summary>
|
|
|
|
</member>
|
|
|
|
<member name="P:DSDecmp.Formats.Nitro.Huffman.HuffTreeNode.Depth">
|
|
|
|
<summary>
|
|
|
|
Get or set the depth of this node. Will not be set automatically, but
|
|
|
|
will be set recursively (the depth of all child nodes will be updated when this is set).
|
|
|
|
</summary>
|
|
|
|
</member>
|
|
|
|
<member name="P:DSDecmp.Formats.Nitro.Huffman.HuffTreeNode.Size">
|
|
|
|
<summary>
|
|
|
|
Calculates the size of the sub-tree with this node as root.
|
|
|
|
</summary>
|
|
|
|
</member>
|
2011-11-14 18:33:30 +01:00
|
|
|
<member name="T:DSDecmp.Formats.Nitro.Huffman4">
|
2011-11-13 17:14:45 +01:00
|
|
|
<summary>
|
2011-11-14 18:33:30 +01:00
|
|
|
The Huffman compression scheme using 4-bit data blocks.
|
|
|
|
</summary>
|
|
|
|
</member>
|
|
|
|
<member name="M:DSDecmp.Formats.Nitro.Huffman4.#ctor">
|
|
|
|
<summary>
|
|
|
|
Creates a new instance of the 4-bit Huffman compression format.
|
2011-11-13 17:14:45 +01:00
|
|
|
</summary>
|
|
|
|
</member>
|
|
|
|
<member name="M:DSDecmp.Formats.Nitro.Huffman4.Compress(System.IO.Stream,System.Int64,System.IO.Stream)">
|
|
|
|
<summary>
|
|
|
|
Applies Huffman compression with a datablock size of 4 bits.
|
|
|
|
</summary>
|
|
|
|
<param name="instream">The stream to compress.</param>
|
|
|
|
<param name="inLength">The length of the input stream.</param>
|
|
|
|
<param name="outstream">The stream to write the decompressed data to.</param>
|
|
|
|
<returns>The size of the decompressed data.</returns>
|
|
|
|
</member>
|
2011-11-14 18:33:30 +01:00
|
|
|
<member name="P:DSDecmp.Formats.Nitro.Huffman4.ShortFormatString">
|
|
|
|
<summary>
|
|
|
|
Gets a short string identifying this compression format.
|
|
|
|
</summary>
|
|
|
|
</member>
|
|
|
|
<member name="P:DSDecmp.Formats.Nitro.Huffman4.Description">
|
|
|
|
<summary>
|
|
|
|
Gets a short description of this compression format.
|
|
|
|
</summary>
|
|
|
|
</member>
|
|
|
|
<member name="P:DSDecmp.Formats.Nitro.Huffman4.CompressionFlag">
|
|
|
|
<summary>
|
|
|
|
Gets the value that must be given on the command line in order to compress using this format.
|
|
|
|
</summary>
|
|
|
|
</member>
|
|
|
|
<member name="T:DSDecmp.Formats.Nitro.Huffman8">
|
|
|
|
<summary>
|
|
|
|
The Huffman compression scheme using 8-bit data blocks.
|
|
|
|
</summary>
|
|
|
|
</member>
|
|
|
|
<member name="M:DSDecmp.Formats.Nitro.Huffman8.#ctor">
|
|
|
|
<summary>
|
|
|
|
Creates a new instance of the 4-bit Huffman compression format.
|
|
|
|
</summary>
|
|
|
|
</member>
|
2011-11-13 17:14:45 +01:00
|
|
|
<member name="M:DSDecmp.Formats.Nitro.Huffman8.Compress(System.IO.Stream,System.Int64,System.IO.Stream)">
|
|
|
|
<summary>
|
|
|
|
Applies Huffman compression with a datablock size of 8 bits.
|
|
|
|
</summary>
|
|
|
|
<param name="instream">The stream to compress.</param>
|
|
|
|
<param name="inLength">The length of the input stream.</param>
|
|
|
|
<param name="outstream">The stream to write the decompressed data to.</param>
|
|
|
|
<returns>The size of the decompressed data.</returns>
|
|
|
|
</member>
|
2011-11-14 18:33:30 +01:00
|
|
|
<member name="M:DSDecmp.Formats.Nitro.Huffman8.Insert(DSDecmp.Formats.Nitro.Huffman.HuffTreeNode,DSDecmp.Formats.Nitro.Huffman.HuffTreeNode[],System.Int32)">
|
|
|
|
<summary>
|
|
|
|
Inserts the given node into the given array, in such a location that
|
|
|
|
the offset to both of its children is at most the given maximum, and as large as possible.
|
|
|
|
In order to do this, the contents of the array may be shifted to the right.
|
|
|
|
</summary>
|
|
|
|
<param name="node">The node to insert.</param>
|
|
|
|
<param name="array">The array to insert the node in.</param>
|
|
|
|
<param name="maxOffset">The maximum offset between parent and children.</param>
|
|
|
|
</member>
|
|
|
|
<member name="M:DSDecmp.Formats.Nitro.Huffman8.ShiftRight(DSDecmp.Formats.Nitro.Huffman.HuffTreeNode[],System.Int32,System.Int32)">
|
|
|
|
<summary>
|
|
|
|
Shifts the node at the given index one to the right.
|
|
|
|
If the distance between parent and child becomes too large due to this shift, the parent is shifted as well.
|
|
|
|
</summary>
|
|
|
|
<param name="array">The array to shift the node in.</param>
|
|
|
|
<param name="idx">The index of the node to shift.</param>
|
|
|
|
<param name="maxOffset">The maximum distance between parent and children.</param>
|
|
|
|
</member>
|
|
|
|
<member name="P:DSDecmp.Formats.Nitro.Huffman8.ShortFormatString">
|
|
|
|
<summary>
|
|
|
|
Gets a short string identifying this compression format.
|
|
|
|
</summary>
|
|
|
|
</member>
|
|
|
|
<member name="P:DSDecmp.Formats.Nitro.Huffman8.Description">
|
|
|
|
<summary>
|
|
|
|
Gets a short description of this compression format.
|
|
|
|
</summary>
|
|
|
|
</member>
|
|
|
|
<member name="P:DSDecmp.Formats.Nitro.Huffman8.CompressionFlag">
|
|
|
|
<summary>
|
|
|
|
Gets the value that must be given on the command line in order to compress using this format.
|
|
|
|
</summary>
|
|
|
|
</member>
|
|
|
|
<member name="T:DSDecmp.Formats.Nitro.HuffmanAny">
|
|
|
|
<summary>
|
|
|
|
Composite compression format representing both Huffman compression schemes.
|
|
|
|
</summary>
|
|
|
|
</member>
|
|
|
|
<member name="M:DSDecmp.Formats.Nitro.HuffmanAny.#ctor">
|
|
|
|
<summary>
|
|
|
|
Creates a new instance of the general Huffman compression format.
|
|
|
|
</summary>
|
|
|
|
</member>
|
|
|
|
<member name="P:DSDecmp.Formats.Nitro.HuffmanAny.ShortFormatString">
|
|
|
|
<summary>
|
|
|
|
Gets a short string identifying this compression format.
|
|
|
|
</summary>
|
|
|
|
</member>
|
|
|
|
<member name="P:DSDecmp.Formats.Nitro.HuffmanAny.Description">
|
|
|
|
<summary>
|
|
|
|
Gets a short description of this compression format.
|
|
|
|
</summary>
|
|
|
|
</member>
|
|
|
|
<member name="P:DSDecmp.Formats.Nitro.HuffmanAny.SupportsCompression">
|
|
|
|
<summary>
|
|
|
|
Gets if this format supports compression. Always returns true.
|
|
|
|
</summary>
|
|
|
|
</member>
|
|
|
|
<member name="P:DSDecmp.Formats.Nitro.HuffmanAny.CompressionFlag">
|
|
|
|
<summary>
|
|
|
|
Gets the value that must be given on the command line in order to compress using this format.
|
|
|
|
</summary>
|
|
|
|
</member>
|
2011-12-22 23:59:37 +01:00
|
|
|
<member name="T:DSDecmp.Formats.Nitro.NullCompression">
|
|
|
|
<summary>
|
|
|
|
'Compression' format without any compression whatsoever.
|
|
|
|
Compression using this format will only prepend 0x00 plus the original file size to the file.
|
|
|
|
</summary>
|
|
|
|
</member>
|
|
|
|
<member name="M:DSDecmp.Formats.Nitro.NullCompression.#ctor">
|
|
|
|
<summary>
|
|
|
|
Creates a new instance of the NULL-compression format.
|
|
|
|
</summary>
|
|
|
|
</member>
|
|
|
|
<member name="M:DSDecmp.Formats.Nitro.NullCompression.Supports(System.IO.Stream,System.Int64)">
|
|
|
|
<summary>
|
|
|
|
Checks if the given stream is (or could be) 'compressed' using the NULL compression format.
|
|
|
|
</summary>
|
|
|
|
</member>
|
|
|
|
<member name="M:DSDecmp.Formats.Nitro.NullCompression.Decompress(System.IO.Stream,System.Int64,System.IO.Stream)">
|
|
|
|
<summary>
|
|
|
|
'Decompresses' the given input stream using the NULL format.
|
|
|
|
</summary>
|
|
|
|
</member>
|
|
|
|
<member name="M:DSDecmp.Formats.Nitro.NullCompression.Compress(System.IO.Stream,System.Int64,System.IO.Stream)">
|
|
|
|
<summary>
|
|
|
|
'Compresses' the given input stream using the NULL format.
|
|
|
|
</summary>
|
|
|
|
</member>
|
|
|
|
<member name="P:DSDecmp.Formats.Nitro.NullCompression.ShortFormatString">
|
|
|
|
<summary>
|
|
|
|
Gets a short string identifying this compression format.
|
|
|
|
</summary>
|
|
|
|
</member>
|
|
|
|
<member name="P:DSDecmp.Formats.Nitro.NullCompression.Description">
|
|
|
|
<summary>
|
|
|
|
Gets a short description of this compression format (used in the program usage).
|
|
|
|
</summary>
|
|
|
|
</member>
|
|
|
|
<member name="P:DSDecmp.Formats.Nitro.NullCompression.SupportsCompression">
|
|
|
|
<summary>
|
|
|
|
Gets if this format supports compressing a file.
|
|
|
|
</summary>
|
|
|
|
</member>
|
|
|
|
<member name="P:DSDecmp.Formats.Nitro.NullCompression.CompressionFlag">
|
|
|
|
<summary>
|
|
|
|
Gets the value that must be given on the command line in order to compress using this format.
|
|
|
|
</summary>
|
|
|
|
</member>
|
2011-11-13 17:14:45 +01:00
|
|
|
</members>
|
|
|
|
</doc>
|