This commit is contained in:
2025-09-19 19:56:12 +01:00
parent 2d856ddf9e
commit d4f2cdd3fd
20 changed files with 282 additions and 351 deletions
+14 -16
View File
@@ -28,9 +28,9 @@ import System.Clipboard
import Text.Read
splashMenu :: Universe -> ScreenLayer
splashMenu u =
initializeOptionMenu "GAME TITLE" splashMenuOptions NoEscapeMenuOption u
& scOptionFlag .~ SplashOptions
splashMenu =
(scOptionFlag .~ SplashOptions)
. initializeOptionMenu NoExtraMenuOption "GAME TITLE" splashMenuOptions
splashMenuOptions :: [MenuOption]
splashMenuOptions =
@@ -55,8 +55,10 @@ splashMenuOptions =
pauseMenu :: Universe -> ScreenLayer
pauseMenu =
initializeOptionMenu "PAUSED" pauseMenuOptions $
TopEscapeMenuOption $ Toggle unpause (const (MODString "CONTINUE"))
initializeOptionMenu
(TopMenuOption $ Toggle unpause (const (MODString "CONTINUE")))
"PAUSED"
pauseMenuOptions
pauseMenuOptions :: [MenuOption]
pauseMenuOptions =
@@ -100,10 +102,10 @@ trySeedFromClipboard u = do
Just i -> return $ startSeedGame 0 i u
titleOptionsMenu :: String -> [MenuOption] -> Universe -> ScreenLayer
titleOptionsMenu title ops = initializeOptionMenuBO title ops "BACK" (popScreen . writeConfig)
titleOptionsMenu = initializeOptionMenuBO "BACK" (popScreen . writeConfig)
titleOptionsNoWrite :: String -> [MenuOption] -> Universe -> ScreenLayer
titleOptionsNoWrite title ops = initializeOptionMenuBO title ops "BACK" popScreen
titleOptionsNoWrite = initializeOptionMenuBO "BACK" popScreen
optionMenu :: Universe -> ScreenLayer
optionMenu = titleOptionsNoWrite "OPTIONS" optionsOptions
@@ -185,12 +187,9 @@ graphicsMenuOptions =
]
gameOverMenu :: Universe -> ScreenLayer
gameOverMenu u =
initializeOptionMenu "GAME OVER" pauseMenuOptions NoEscapeMenuOption u
& scOptionFlag .~ GameOverOptions
--charToScode :: Char -> Scancode
--charToScode = Scancode . fromIntegral . (\x -> x - 61) . fromEnum
gameOverMenu =
set scOptionFlag GameOverOptions
. initializeOptionMenu NoExtraMenuOption "GAME OVER" pauseMenuOptions
unpause :: Universe -> Universe
unpause u' =
@@ -211,7 +210,8 @@ unpause u' =
-- note that this won't update after it is first loaded
displayConfig :: Universe -> ScreenLayer
displayConfig u = titleOptionsNoWrite "CONFIG" (map (Toggle id . const . MODString) $ listConfig u) u
displayConfig u = titleOptionsNoWrite "CONFIG" (map (Toggle id . const . MODString)
$ listConfig u) u
listConfig :: Universe -> [String]
listConfig =
@@ -239,8 +239,6 @@ listControls =
, ("q|e|0-9", "USE HOTKEY")
, ("<caps>&q|e|0-9", "JUMP TO HOTKEY")
, ("c", "COMBINE ITEMS")
-- , ("x", "EXAMINE ITEMS")
-- , ("m", "DISPLAY MAP")
, ("p|<esc>", "PAUSE")
, ("<lmb>", "SELECT/MOVE ITEMS")
, ("<F1>", "NORMAL CAMERA")