dsdecmp/CSharp/PluginDistro/DSDecmp.xml
barubary d64137221a C#: A step into a new system, where game-specific formats can be defined as plugins, preventing users from having to download DSDecmp itself again and again. Such plugins must be stores in a 'Plugins' folder in the same location as the DSDecmp.exe.
To keep the base program mobile, all native NDS formats do not require plugins.

The 8-bit Huffman format cannot be used to compress at the moment; thanks to CUE a bug has been found where the offset-field of a node overflows, corrupting the compressed file.
2011-11-13 16:14:45 +00:00

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>