Input file byte buffer.
File byte buffer.
Bit (not byte!) cursor, indicating where the "read head" is.
All next* methods increment this value when reading.
Reads the value of the bit at the given position.
Absolute bit address.
Bit value - 0 or 1.
Reads one unsigned byte (8 bits) starting from the given position.
Absoulute bit address.
Byte value - [0; 255].
Reads a byte buffer in the given bit range.
Start of range (bits, inclusive).
End of range (bits, not inclusive).
Byte array containing data from within the specified range.
Reads an ASCII string in the given bit range.
Absolute bit address.
Length in bits.
Parsed ASCII string.
Reads an ASCII string in the given bit range, keeping only the part before any null characters.
Absolute bit address.
Length in bits.
Parsed ASCII string.
Reads a null-terminated ASCII string.
Absolute bit address.
Parsed ASCII string.
Reads an unsigned integer of arbitrary bit width.
Absolute bit address.
Bit width (size in bits) of the integer.
Parsed integer value.
Reads a signed integer of arbitrary bit width.
Absolute bit address.
Bit width (size in bits) of the integer.
Parsed signed integer value.
Reads a 32-bit floating point value.
Absolute bit address.
Parsed float value.
Reads a 64-bit floating point value.
Absolute bit address.
Parsed float value.
Reads the bit at the cursor, and increments the cursor.
Bit value - 0 or 1.
Reads one unsigned byte (8 bits) at the cursor, and moves the cursor forward.
Byte value - [0; 255].
Reads a byte buffer starting from the cursor, and moves the cursor past it.
Size in bits.
Byte array containing data from within the specified range.
Reads an ASCII string of the specified length at the cursor, and moves the cursor past it.
Length in bits.
Parsed ASCII string.
Reads an ASCII string of the specified length at the cursor, keeping only the part before any null characters, and moves the cursor past it.
Length in bits.
Parsed ASCII string.
Reads a null-terminated ASCII string at the cursor, and moves the cursor past it.
Parsed ASCII string.
Reads an unsigned integer of arbitrary bit width at the cursor, and moves the cursor past it.
Bit width (size in bits) of the integer.
Parsed integer value.
Reads a signed integer of arbitrary bit width at the cursor, and moves the cursor past it.
Bit width (size in bits) of the integer.
Parsed signed integer value.
Reads a 32-bit floating point value at the cursor, and moves the cursor past it.
Parsed float value.
Reads a 64-bit floating point value at the cursor, and moves the cursor past it.
Parsed float value.
Reads a variable-length unsigned integer at the cursor, and moves the cursor past it.
Parsed integer value.
Reads the next index in a sequence of properties using a variable-length encoding, and moves the cursor past it.
Preceding index value, -1 to start an iteration.
Whether to use the "new" parsing scheme. Pretty much always true for Portal 2 demos.
The next index in the sequence.
StatichighestFinds the index of the most significant set bit in the input integer.
Integer value.
Index of the most significant set bit.
Modifies the buffer to set a bit at the given address.
Absolute bit address.
Value to write - 0 or 1.
Modifies the buffer to write an unsigned integer at the given address.
Absolute bit address.
Bit width (size in bits) of the integer.
Value to write.
Modifies the buffer to write a signed integer at the given address.
Absolute bit address.
Bit width (size in bits) of the integer.
Value to write.
Modifies the buffer to write a 32-bit floating point number at the given address.
Absolute bit address.
Value to write.
Internal demo buffer. Implements various bitstream read/write tools.