drawAltString :: Int -> Int -> B.ByteString -> Quake ()
drawAltString x y s = do
    draw x 0 (B.length s)

  where draw :: Int -> Int -> Int -> Quake ()
        draw x' idx maxIdx
          | idx >= maxIdx = return ()
          | otherwise = do
              Just renderer <- use $ globals.gRenderer
              (renderer^.rRefExport.reDrawChar) x' y ((ord $ s `BC.index` idx) `xor` 0x80)
              draw (x' + 8) (idx + 1) maxIdx
drawAltString :: Int -> Int -> B.ByteString -> Quake ()
drawAltString x y s = do
    draw x 0 (B.length s)

  where draw :: Int -> Int -> Int -> Quake ()
        draw x' idx maxIdx
          | idx >= maxIdx = return ()
          | otherwise = do
              Just renderer <- use $ globals.gRenderer
              (renderer^.rRefExport.reDrawChar) x' y ((ord $ s `BC.index` idx) `xor` 0x80)
              draw (x' + 8) (idx + 1) maxIdx
drawAltString x y s = do
    draw x 0 (B.length s)

  where draw :: Int -> Int -> Int -> Quake ()
        draw x' idx maxIdx
          | idx >= maxIdx = return ()
          | otherwise = do
              Just renderer <- use $ globals.gRenderer
              (renderer^.rRefExport.reDrawChar) x' y ((ord $ s `BC.index` idx) `xor` 0x80)
              draw (x' + 8) (idx + 1) maxIdx