Equivalent to the built-in GZIPOutputStream, except it produces output
that is bit-for-bit identical to Jagex's implementation.
Signed-off-by: Graham <gpe@openrs2.org>
This is closer to the client's implementation, which ignores the gzip
header/trailer entirely and just decompresses the inner DEFLATE stream.
While Jagex always produce valid gzip files, some cache editors in the
private server scene do not set the checksum/length correctly in the
trailer. I'm planning to add an option to use the lax gzip
implementation to support reading these caches.
Signed-off-by: Graham <gpe@openrs2.org>
This already caught some cases of public members that should have been
private and one case where the inferred type was too specific.
Signed-off-by: Graham <gpe@openrs2.dev>
As I'm splitting it up into smaller modules (e.g. compress and crypto) I
think util is a more appropriate name for the remainder.
Signed-off-by: Graham <gpe@openrs2.dev>