mirror of
https://github.com/Barubary/dsdecmp.git
synced 2024-09-30 10:18:43 +02:00
d64137221a
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.
648 lines
36 KiB
XML
648 lines
36 KiB
XML
<?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>
|
|
<member name="M:DSDecmp.LZUtil.GetOccurrenceLength(System.Byte*,System.Int32,System.Byte*,System.Int32,System.Int32@)">
|
|
<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>
|
|
<param name="newLength">The number of bytes that still need to be compressed.</param>
|
|
<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>
|
|
<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>
|
|
<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>
|
|
<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>
|
|
<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>
|
|
<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>
|
|
<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>
|
|
<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>
|
|
<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>
|
|
<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>
|
|
<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>
|
|
<member name="T:DSDecmp.NewProgram.Formats">
|
|
<summary>
|
|
The formats allowed when compressing a file.
|
|
</summary>
|
|
</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>
|
|
<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>
|
|
<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>
|
|
<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>
|
|
<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>
|
|
<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>
|
|
<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>
|
|
<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>
|
|
<member name="P:DSDecmp.Formats.Nitro.Huffman.HuffTreeNode.PreOrderTraversal">
|
|
<summary>
|
|
Returns a seuqnce over the nodes of the sub-tree with this node as root in a pre-order fashion. (Root-Left-Right)
|
|
</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>
|
|
<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>
|
|
</members>
|
|
</doc>
|