module Rattletrap.Encode.Rotation
  ( putRotation
  )
where

import Rattletrap.Encode.CompressedWordVector
import Rattletrap.Encode.Quaternion
import Rattletrap.Type.Rotation

import qualified Data.Binary.Bits.Put as BinaryBits

putRotation :: Rotation -> BinaryBits.BitPut ()
putRotation :: Rotation -> BitPut ()
putRotation Rotation
r = case Rotation
r of
  RotationCompressedWordVector CompressedWordVector
cwv -> CompressedWordVector -> BitPut ()
putCompressedWordVector CompressedWordVector
cwv
  RotationQuaternion Quaternion
q -> Quaternion -> BitPut ()
putQuaternion Quaternion
q