drawString :: Int -> Int -> B.ByteString -> Quake ()
drawString x y s =
    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)
              draw (x' + 8) (idx + 1) maxIdx

{-
- ================ Con_DrawConsole
- 
- Draws the console with the solid background ================
-}
drawString :: Int -> Int -> B.ByteString -> Quake ()
drawString x y s =
    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)
              draw (x' + 8) (idx + 1) maxIdx

{-
- ================ Con_DrawConsole
- 
- Draws the console with the solid background ================
-}
drawString x y s =
    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)
              draw (x' + 8) (idx + 1) maxIdx

{-
- ================ Con_DrawConsole
- 
- Draws the console with the solid background ================
-}