Adding modding folder with a hacked build.

This commit is contained in:
ml
2026-09-26 08:53:08 +02:00
parent cdb960dc71
commit c91080aba7
755 changed files with 50424 additions and 0 deletions
@@ -0,0 +1,59 @@
package compression
// MaskstreamWriter writes mask integers to a byte array.
type MaskstreamWriter struct {
Buffer []byte
}
// Write adds the given amount of bytes from the mask to the buffer.
func (w *MaskstreamWriter) Write(byteCount uint, mask uint64) error {
if byteCount > 8 {
return errInvalidByteCount
}
if w.Buffer == nil {
w.Buffer = make([]byte, 0, 1024*32)
}
for b := uint(0); b < byteCount; b++ {
w.Buffer = append(w.Buffer, byte(mask>>(b*8)))
}
return nil
}
// MaskstreamReader reads mask integers from a byte array.
type MaskstreamReader struct {
source []byte
curPos int
}
// NewMaskstreamReader returns a new reader instance for given source.
func NewMaskstreamReader(source []byte) *MaskstreamReader {
return &MaskstreamReader{source: source}
}
// Read returns a mask integer of given byte length from the current position.
// If the current position is at or beyond the available size, 0x00 is assumed for the missing bytes.
//
// Reading more than 8, or less than 0, bytes panics.
func (reader *MaskstreamReader) Read(bytes int) (value uint64) {
if bytes > 8 {
panic("Limit of byte count: 8")
}
if bytes < 0 {
panic("Minimum byte count: 0")
}
for i := 0; i < bytes; i++ {
value |= reader.nextByte() << uint64(8*i)
}
return
}
func (reader *MaskstreamReader) nextByte() (value uint64) {
if reader.curPos < len(reader.source) {
value = uint64(reader.source[reader.curPos])
reader.curPos++
}
return
}