Cleanup
This commit is contained in:
+26
-35
@@ -4,11 +4,9 @@ module Dodge.Menu (
|
||||
splashMenu,
|
||||
) where
|
||||
|
||||
import qualified Data.Aeson.Encode.Pretty as AEP
|
||||
import Control.Monad
|
||||
import qualified Data.Aeson.Encode.Pretty as AEP
|
||||
import Data.ByteString.Lazy.Char8 (unpack)
|
||||
--import SDL
|
||||
|
||||
import Data.Maybe
|
||||
import Dodge.Concurrent
|
||||
import Dodge.Config.Update
|
||||
@@ -16,19 +14,19 @@ import Dodge.Data.Universe
|
||||
import Dodge.Menu.Option
|
||||
import Dodge.Menu.OptionType
|
||||
import Dodge.Menu.PushPop
|
||||
import Preload.Update
|
||||
import Dodge.Save
|
||||
import Dodge.SoundLogic
|
||||
import Dodge.StartNewGame
|
||||
import LensHelp
|
||||
import MaybeHelp
|
||||
import Padding
|
||||
import Preload.Update
|
||||
import System.Clipboard
|
||||
import Text.Read
|
||||
|
||||
splashMenu :: Universe -> ScreenLayer
|
||||
splashMenu u =
|
||||
initializeOptionMenu "GAME TITLE" splashMenuOptions NoPositionedMenuOption u
|
||||
initializeOptionMenu "GAME TITLE" splashMenuOptions NoEscapeMenuOption u
|
||||
& scOptionFlag .~ SplashOptions
|
||||
|
||||
splashMenuOptions :: [MenuOption]
|
||||
@@ -53,9 +51,9 @@ splashMenuOptions =
|
||||
| otherwise = MODString str
|
||||
|
||||
pauseMenu :: Universe -> ScreenLayer
|
||||
pauseMenu = initializeOptionMenu "PAUSED" pauseMenuOptions pmo
|
||||
where
|
||||
pmo = TopMenuOption $ Toggle unpause (const (MODString "CONTINUE"))
|
||||
pauseMenu =
|
||||
initializeOptionMenu "PAUSED" pauseMenuOptions $
|
||||
TopEscapeMenuOption $ Toggle unpause (const (MODString "CONTINUE"))
|
||||
|
||||
pauseMenuOptions :: [MenuOption]
|
||||
pauseMenuOptions =
|
||||
@@ -130,27 +128,11 @@ debugMenuOptions =
|
||||
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"
|
||||
-- , 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 :: Universe -> ScreenLayer
|
||||
gameplayMenu = titleOptionsMenu "OPTIONS:GAMEPLAY" gameplayMenuOptions
|
||||
|
||||
gameplayMenuOptions :: [MenuOption]
|
||||
gameplayMenuOptions =
|
||||
[ makeBoolOption gameplay_rotate_to_wall "ROTATE TO WALL"
|
||||
]
|
||||
gameplayMenuOptions = [makeBoolOption gameplay_rotate_to_wall "ROTATE TO WALL"]
|
||||
|
||||
soundMenu :: Universe -> ScreenLayer
|
||||
soundMenu = titleOptionsMenu "OPTIONS:VOLUME" soundMenuOptions
|
||||
@@ -183,9 +165,13 @@ graphicsMenu = titleOptionsMenu "OPTIONS:GRAPHICS" graphicsMenuOptions
|
||||
graphicsMenuOptions :: [MenuOption]
|
||||
graphicsMenuOptions =
|
||||
[ makeEnumOption graphics_world_resolution "World resolution" (uvIOEffects .~ updatePreload)
|
||||
, makeEnumOption graphics_downsize_resolution "Downsize resolution"
|
||||
, makeEnumOption
|
||||
graphics_downsize_resolution
|
||||
"Downsize resolution"
|
||||
(uvIOEffects .~ updatePreload)
|
||||
, makeEnumOption graphics_distortion_resolution "Distortion resolution"
|
||||
, makeEnumOption
|
||||
graphics_distortion_resolution
|
||||
"Distortion resolution"
|
||||
(uvIOEffects .~ updatePreload)
|
||||
, makeEnumOption graphics_shadow_rendering "SHADOW RENDERING" id
|
||||
, makeEnumOption graphics_shadow_size "SHADOW DETAIL" id
|
||||
@@ -197,43 +183,48 @@ graphicsMenuOptions =
|
||||
|
||||
gameOverMenu :: Universe -> ScreenLayer
|
||||
gameOverMenu u =
|
||||
initializeOptionMenu "GAME OVER" pauseMenuOptions NoPositionedMenuOption u
|
||||
initializeOptionMenu "GAME OVER" pauseMenuOptions NoEscapeMenuOption u
|
||||
& scOptionFlag .~ GameOverOptions
|
||||
|
||||
--charToScode :: Char -> Scancode
|
||||
--charToScode = Scancode . fromIntegral . (\x -> x - 61) . fromEnum
|
||||
|
||||
unpause :: Universe -> Universe
|
||||
unpause w = over uvWorld resumeSound $ w & uvScreenLayers .~ []
|
||||
unpause = over uvWorld resumeSound . set uvScreenLayers []
|
||||
|
||||
-- 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
|
||||
|
||||
listConfig :: Universe -> [String]
|
||||
listConfig u = lines $ unpack $ AEP.encodePretty' (AEP.Config (AEP.Spaces 2) compare AEP.Generic False) $ u ^. uvConfig
|
||||
listConfig =
|
||||
lines
|
||||
. unpack
|
||||
. AEP.encodePretty' (AEP.Config (AEP.Spaces 2) compare AEP.Generic False)
|
||||
. _uvConfig
|
||||
|
||||
displayControls :: Universe -> ScreenLayer
|
||||
--displayControls = const $ ColumnsScreen "CONTROLS" listControls
|
||||
displayControls = titleOptionsNoWrite "CONTROLS" $ map (Toggle id . const . uncurry MODStringOption) listControls
|
||||
displayControls =
|
||||
titleOptionsNoWrite "CONTROLS" $
|
||||
map (Toggle id . const . uncurry MODStringOption) listControls
|
||||
|
||||
listControls :: [(String, String)]
|
||||
listControls =
|
||||
[ ("w|a|s|d", "MOVEMENT")
|
||||
, ("<rmb>", "AIM")
|
||||
, ("<rmb>&<lmb>", "SHOOT/USE/EQUIP SELECTED")
|
||||
, ("<lmb>", "USE EQUIPPED")
|
||||
-- , ("<lmb>", "USE EQUIPPED")
|
||||
, ("<wheelscroll>", "SELECT ITEM")
|
||||
, ("<space>", "PICKUP ITEM")
|
||||
, ("m", "DISPLAY MAP")
|
||||
, ("f", "DROP ITEM")
|
||||
, ("q|e|0-9", "USE EQUIPMENT")
|
||||
, ("c", "COMBINE ITEMS")
|
||||
, ("x", "EXAMINE ITEMS")
|
||||
, ("m", "DISPLAY MAP")
|
||||
, ("c|<esc>", "PAUSE AND DISPLAY MENU")
|
||||
, ("q|e", "ROTATE CAMERA")
|
||||
, ("<F1>", "USE NORMAL CAMERA")
|
||||
, ("<F2>", "PAUSE AND FLOAT CAMERA")
|
||||
-- , ("<F3>", "PAUSE AND PAN CAMERA")
|
||||
, ("<F5>", "QUICKSAVE")
|
||||
, ("<F9>", "QUICKLOAD")
|
||||
]
|
||||
|
||||
Reference in New Issue
Block a user