tfausak / rattletrap

:car: Parse and generate Rocket League replays.
https://hackage.haskell.org/package/rattletrap
MIT License
150 stars 21 forks source link

Clean up getting and putting bytes and bits #200

Closed tfausak closed 3 years ago

tfausak commented 3 years ago

Related to #188, but doesn't fix it yet.

This introduces new modules that effectively wrap Data.Binary and Data.Binary.Bits. The idea is that I can change the implementation now without having to change any other files.

tfausak commented 3 years ago

I think this now gets me as close as possible to fixing #188 without dealing with #189. The binary and binary-bits packages are only used by the Rattletrap.BitGet and Rattletrap.BitPut modules. There's a lot of weirdness going on in there with bit order, so it might take me a while to unravel.