Lz77 is a compression method, but it is super simple:
There is a 4 byte header. The first byte is always 10 to signal that it is Lz compressed. The next three are the total data's uncompressed size.
Then, there is the compressed data. The first byte is a bit field for the next 8 to 16 bytes to come. If the bit is 0, then that byte is raw and should be copied as is. If the bit is 1, that byte is a multiplier for how many times the next byte should be repeated.
I don't know if I explained that very well, so here is my code, lol:
http://pastie.org/8619316
I will look at your lists.:P I'm actually kind of familiar with all of these (never watched them, but I know them) so this should be good.
There is a 4 byte header. The first byte is always 10 to signal that it is Lz compressed. The next three are the total data's uncompressed size.
Then, there is the compressed data. The first byte is a bit field for the next 8 to 16 bytes to come. If the bit is 0, then that byte is raw and should be copied as is. If the bit is 1, that byte is a multiplier for how many times the next byte should be repeated.
I don't know if I explained that very well, so here is my code, lol:
http://pastie.org/8619316
I will look at your lists.:P I'm actually kind of familiar with all of these (never watched them, but I know them) so this should be good.