Reify debug booleans
This commit is contained in:
+23
-15
@@ -3,6 +3,7 @@ module Dodge.Menu
|
||||
, pauseMenu
|
||||
, gameOverMenu
|
||||
) where
|
||||
import Dodge.Config.Data
|
||||
import LensHelp
|
||||
import Dodge.Menu.OptionType
|
||||
import Dodge.StartNewGame
|
||||
@@ -79,21 +80,28 @@ debugMenu = slTitleOptions
|
||||
"OPTIONS:GAMEPLAY"
|
||||
debugMenuOptions
|
||||
debugMenuOptions :: [MenuOption]
|
||||
debugMenuOptions = zipWith ($)
|
||||
[ makeBoolOption debug_seconds_frame "SHOW SECONDS/FRAME"
|
||||
, makeBoolOption debug_noclip "NOCLIP"
|
||||
, makeBoolOption debug_cr_status "SHOW CREATURE STATUS"
|
||||
, makeBoolOption debug_cr_awareness "SHOW CREATURE AWARENESS"
|
||||
, makeBoolOption debug_view_boundaries "SHOW VIEW BOUNDARIES"
|
||||
, makeEnumOption debug_view_clip_bounds "SHOW ROOM CLIP" return
|
||||
, makeBoolOption debug_pathing "SHOW PATHING"
|
||||
, makeBoolOption debug_show_sound "SHOW VISUAL SOUNDS"
|
||||
, makeBoolOption debug_mouse_position "SHOW MOUSE POSITION"
|
||||
, makeBoolOption debug_walls "SHOW WALL INFO"
|
||||
, makeBoolOption debug_remove_LOS "REMOVE LOS"
|
||||
, makeBoolOption debug_cull_more_lights "CULL MORE LIGHTS"
|
||||
]
|
||||
$ map Scancode [4 ..]
|
||||
debugMenuOptions = zipWith f [minBound..] $ map Scancode [4..]
|
||||
where
|
||||
f :: DebugBool -> Scancode -> MenuOption
|
||||
f bd = Toggle (return . Just . (config . debug_booleans . at bd %~ toggleJust))
|
||||
(Right . g bd . (^? config . debug_booleans . ix bd))
|
||||
g bd Nothing = (show bd, "FALSE")
|
||||
g bd _ = (show bd, "TRUE")
|
||||
-- zipWith ($)
|
||||
-- [ makeBoolOption debug_seconds_frame "SHOW SECONDS/FRAME"
|
||||
-- , makeBoolOption debug_noclip "NOCLIP"
|
||||
-- , makeBoolOption debug_cr_status "SHOW CREATURE STATUS"
|
||||
-- , makeBoolOption debug_cr_awareness "SHOW CREATURE AWARENESS"
|
||||
-- , makeBoolOption debug_view_boundaries "SHOW VIEW BOUNDARIES"
|
||||
-- , makeEnumOption debug_view_clip_bounds "SHOW ROOM CLIP" return
|
||||
-- , makeBoolOption debug_pathing "SHOW PATHING"
|
||||
-- , makeBoolOption debug_show_sound "SHOW VISUAL SOUNDS"
|
||||
-- , makeBoolOption debug_mouse_position "SHOW MOUSE POSITION"
|
||||
-- , makeBoolOption debug_walls "SHOW WALL INFO"
|
||||
-- , makeBoolOption debug_remove_LOS "REMOVE LOS"
|
||||
-- , makeBoolOption debug_cull_more_lights "CULL MORE LIGHTS"
|
||||
-- ]
|
||||
-- $ map Scancode [4 ..]
|
||||
gameplayMenu :: ScreenLayer
|
||||
gameplayMenu = slTitleOptions
|
||||
"OPTIONS:GAMEPLAY"
|
||||
|
||||
Reference in New Issue
Block a user