module Main where import Control.Monad (guard) import Data.List (isSuffixOf) import Debug.Trace (traceM) import Shower (printer) import System.Directory (listDirectory) import System.FilePath (()) import qualified Codec.Ktx as Ktx1 assetsPath :: FilePath assetsPath = ".." "assets" main :: IO () main = do assets <- listDirectory assetsPath mapM_ testKtx1 do fp <- assets guard $ ".ktx" `isSuffixOf` fp pure $ assetsPath fp testKtx1 :: FilePath -> IO () testKtx1 source = Ktx1.fromFile source >>= \case Left (offset, err) -> do traceM err fail $ unwords [ "KTX-1 load error in" , source , "at" , show offset ] Right ktx -> do printer ktx