From ab2408b48044cdce98319d037ed995311fffabd4 Mon Sep 17 00:00:00 2001 From: justin Date: Mon, 11 Apr 2022 08:47:30 +0100 Subject: [PATCH] Prettify saved config --- package.yaml | 1 + src/Dodge/Config/Data.hs | 2 ++ src/Dodge/Config/Update.hs | 7 +++++-- src/Dodge/Creature/Picture.hs | 2 +- src/Dodge/Menu.hs | 1 + src/Dodge/Render/ShapePicture.hs | 7 ++++--- 6 files changed, 14 insertions(+), 6 deletions(-) diff --git a/package.yaml b/package.yaml index de5c38593..ccd5bf1eb 100644 --- a/package.yaml +++ b/package.yaml @@ -45,6 +45,7 @@ dependencies: - foldl - linear - aeson +- aeson-pretty - directory - extra - primitive diff --git a/src/Dodge/Config/Data.hs b/src/Dodge/Config/Data.hs index 6692f0fbe..0fb2924a3 100644 --- a/src/Dodge/Config/Data.hs +++ b/src/Dodge/Config/Data.hs @@ -21,6 +21,7 @@ data Configuration = Configuration , _debug_seconds_frame :: Bool , _debug_noclip :: Bool , _debug_cr_status :: Bool + , _debug_cr_awareness :: Bool , _debug_view_boundaries :: Bool , _debug_view_clip_bounds :: RoomClipping , _debug_pathing :: Bool @@ -66,6 +67,7 @@ defaultConfig = Configuration , _debug_seconds_frame = True , _debug_noclip = False , _debug_cr_status = False + , _debug_cr_awareness = False , _debug_view_boundaries = False , _debug_view_clip_bounds = NoRoomClipBoundaries , _debug_pathing = False diff --git a/src/Dodge/Config/Update.hs b/src/Dodge/Config/Update.hs index b08ea5a56..4b77f2757 100644 --- a/src/Dodge/Config/Update.hs +++ b/src/Dodge/Config/Update.hs @@ -12,7 +12,9 @@ import Sound import Data.Preload import Preload.Update -import Data.Aeson (encodeFile) +--import Data.Aeson (encodeFile) +import Data.Aeson.Encode.Pretty (encodePretty) +import qualified Data.ByteString.Lazy as BS --import Control.Monad (when) {- | Write the current world configuration to disk as a json file. @@ -20,7 +22,8 @@ Write the current world configuration to disk as a json file. saveConfig :: Configuration -> (a -> IO a) -> a -> IO a saveConfig cfig f x = do putStrLn "Saving config to data/dodge.config.json" - encodeFile "data/dodge.config.json" cfig + BS.writeFile "data/dodge.config.json" $ encodePretty cfig +-- encodeFile "data/dodge.config.json" cfig f x {- | Apply the volume settings from the world configuration to the running game. diff --git a/src/Dodge/Creature/Picture.hs b/src/Dodge/Creature/Picture.hs index b7d8c6589..b5a8db616 100644 --- a/src/Dodge/Creature/Picture.hs +++ b/src/Dodge/Creature/Picture.hs @@ -76,7 +76,7 @@ basicCrShape col cr = tr . scaleSH (V3 crsize crsize crsize) $ mconcat creatureDisplayText :: Configuration -> World -> Creature -> Picture creatureDisplayText cfig w cr - | not (_debug_cr_status cfig) = [] + | not (_debug_cr_awareness cfig) = [] | otherwise = setLayer DebugLayer . setDepth 20 diff --git a/src/Dodge/Menu.hs b/src/Dodge/Menu.hs index 44e4cfb32..f6ad8eba6 100644 --- a/src/Dodge/Menu.hs +++ b/src/Dodge/Menu.hs @@ -78,6 +78,7 @@ debugMenuOptions = [ doption ScancodeF debug_seconds_frame "SHOW SECONDS/FRAME" _debug_seconds_frame , doption ScancodeC debug_noclip "NOCLIP" _debug_noclip , doption ScancodeS debug_cr_status "SHOW CREATURE STATUS" _debug_cr_status + , doption ScancodeA debug_cr_awareness "SHOW CREATURE AWARENESS" _debug_cr_awareness , doption ScancodeV debug_view_boundaries "SHOW VIEW BOUNDARIES" _debug_view_boundaries , makeEnumOption ScancodeB debug_view_clip_bounds "SHOW ROOM CLIP" return , doption ScancodeP debug_pathing "SHOW PATHING" _debug_pathing diff --git a/src/Dodge/Render/ShapePicture.hs b/src/Dodge/Render/ShapePicture.hs index 3571b52ad..1e5ada3fe 100644 --- a/src/Dodge/Render/ShapePicture.hs +++ b/src/Dodge/Render/ShapePicture.hs @@ -122,9 +122,10 @@ crDisplayInfo cfig w cr drawCrInfo :: Configuration -> World -> Picture drawCrInfo cfig w - = setLayer FixedCoordLayer - $ renderInfoListsAt (2*hw - 200) 0 cfig w - $ mapMaybe (crDisplayInfo cfig w) $ IM.elems $ _creatures w +-- | _debug_cr_awareness cfig = setLayer FixedCoordLayer +-- $ renderInfoListsAt (2*hw - 200) 0 cfig w +-- $ mapMaybe (crDisplayInfo cfig w) $ IM.elems $ _creatures w + | otherwise = mempty where hw = halfWidth cfig