Move generating item combinations graph from load to menu log

This commit is contained in:
2025-10-04 11:22:15 +01:00
parent b519c835fa
commit 993f00ada1
3 changed files with 22 additions and 13 deletions
+21 -2
View File
@@ -4,6 +4,9 @@ module Dodge.Menu (
splashMenu,
) where
import Dodge.Combine.Graph
import System.Directory
import qualified Data.Text.IO as TIO
import Control.Monad
import qualified Data.Aeson.Encode.Pretty as AEP
import Data.ByteString.Lazy.Char8 (unpack)
@@ -115,11 +118,15 @@ optionsOptions =
[ makeSubmenuOption soundMenu $ MODString "VOLUME"
, makeSubmenuOption graphicsMenu $ MODString "GRAPHICS"
, makeSubmenuOption gameplayMenu $ MODString "GAMEPLAY"
, makeSubmenuOption debugMenu $ MODString "DEBUG OPTIONS"
, makeSubmenuOption debugMenu $ MODString "DEBUG"
, makeSubmenuOption logMenu $ MODString "LOG"
]
debugMenu :: Universe -> ScreenLayer
debugMenu = titleOptionsMenu "OPTIONS:GAMEPLAY" debugMenuOptions
debugMenu = titleOptionsMenu "OPTIONS:DEBUG" debugMenuOptions
logMenu :: Universe -> ScreenLayer
logMenu = titleOptionsMenu "OPTIONS:LOG" logOptions
debugMenuOptions :: [MenuOption]
debugMenuOptions =
@@ -133,6 +140,18 @@ debugMenuOptions =
g bd Nothing = (show bd, "False")
g bd _ = (show bd, "True")
logOptions :: [MenuOption]
logOptions =
[ Toggle (uvIOEffects %~ \f u -> generateGraphs >> f u)
(const $ MODString "Create item combination graph")
]
generateGraphs :: IO ()
generateGraphs = do
createDirectoryIfMissing True "generated/graph"
TIO.writeFile "generated/graph/itemCombinations.gv" combinationsDotGraph
gameplayMenu :: Universe -> ScreenLayer
gameplayMenu = titleOptionsMenu "OPTIONS:GAMEPLAY" gameplayMenuOptions