4 ms·
I think the idea was the group of ids could be compressed. Rather than storing up to 64 ids as 8 bus plus the high bit elsewhere, store them as 9 bits, then com
by chrismcb 6y ago
I think the idea was the group of ids could be compressed. Rather than storing up to 64 ids as 8 bus plus the high bit elsewhere, store them as 9 bits, then compress the chunk. But honestly, that is probably more work than it is worth. Storing the high but elsewhere is simple.
- tvb12 6y agoSorry for the late reply -- this is my weekend this week! I remember reading that the packets were encrypted using blowfish and compressed using a custom Huffman table. There's a lot of bit-packing in the game's packets, so I initially thought it was strange that they didn't use 10 bits for each id and pack all 32 in a row. I'm not very knowledgeable, but my guess is that wasn't done because it would right-shift the rest of the chunk by 64 bits. They would then have to go through the code for unpacking and increase the offset for each field. I believe the ids were right at the start of the chunk, and there were almost 30 other fields. Also, there was always a belief that the game's code was a fine spaghetti. A part of me wonders if the chunk was actually unpacked in multiple places, which would make correcting the offsets that much more tedious.