Add toggle for visual sounds

This commit is contained in:
2021-09-22 11:37:07 +01:00
parent a4fbe6126c
commit fa7d8e1b50
7 changed files with 14 additions and 34 deletions
+3 -1
View File
@@ -13,8 +13,8 @@ module Dodge.Config.Data (
, windowX
, windowY
, rotate_to_wall
, show_sound
) where
import Data.Aeson
import GHC.Generics
--import System.Directory
@@ -29,6 +29,7 @@ data Configuration = Configuration
, _windowX :: Float
, _windowY :: Float
, _rotate_to_wall :: Bool
, _show_sound :: Bool
}
deriving (Generic, Show)
makeLenses ''Configuration
@@ -49,4 +50,5 @@ defaultConfig = Configuration
, _windowX = 800
, _windowY = 600
, _rotate_to_wall = True
, _show_sound = False
}
-16
View File
@@ -1,16 +0,0 @@
module Dodge.Creature.ShadowBox
where
import Dodge.Data
import Polyhedra
import Geometry
import qualified Data.IntMap as IM
youBox' :: World -> [[Point3]]
youBox' w = crToBox' $ _creatures w IM.! 0
crToBox' :: Creature -> [[Point3]]
crToBox' cr = map (map f . polyToTris) $ boxXYZ 12 12 15
where
f = (+ V3 (x-6) (y-6) 0)
V2 x y = _crPos cr
youSil :: World -> [Point3]
youSil = constructEdgesList . youBox'
+4
View File
@@ -53,6 +53,10 @@ gameplayMenuOptions =
ScancodeR
(Just . (config . rotate_to_wall %~ not))
(\w -> "ROTATE TO WALL:" ++ show (_rotate_to_wall $ _config w))
, Toggle
ScancodeS
(Just . (config . show_sound %~ not))
(\w -> "SHOW VISUAL SOUNDS:" ++ show (_show_sound $ _config w))
]
soundMenu :: ScreenLayer
-12
View File
@@ -8,7 +8,6 @@ import Dodge.Data
import Dodge.Config.Data
import Dodge.Base.Window
import Dodge.Render.Picture
--import Dodge.Creature.ShadowBox
import Dodge.Render.Shape
import Geometry
import Render
@@ -18,23 +17,12 @@ import Shader.Poke
import Shader.Bind
import Shader.Data
import MatrixHelper
--import Polyhedra.Data
import Shader.ExtraPrimitive
import Shader.Parameters
import Foreign
--import Control.Applicative
--import Control.Monad.State
import Control.Lens
import Control.Monad
--import qualified Control.Foldl as F
--import Data.Tuple.Extra
--import Data.List
--import Data.Bifunctor
--import Data.Function
--import qualified Data.IntMap.Strict as IM
--import qualified Data.Map as M
--import qualified Data.Set as S
import Graphics.Rendering.OpenGL hiding (color,scale,translate,rotate)
import qualified SDL
import qualified Data.Vector.Unboxed.Mutable as UMV
+7 -3
View File
@@ -11,6 +11,7 @@ import Dodge.Picture.Layer
import Dodge.Render.HUD
import Dodge.Render.MenuScreen
import Dodge.SoundLogic.LoadSound
import Dodge.Config.Data
import Sound.Data
import Geometry
import Picture
@@ -35,6 +36,7 @@ worldPictures w = pictures
,concatMapPic ppDraw $ _pressPlates w
,concatMapPic btDraw $ _buttons w
,concatMapPic drawWallFloor $ wallFloorsToDraw w
,soundPics w
]
where
crIsClose cr = dist (_crPos cr) camCen < winSize
@@ -59,8 +61,8 @@ customMouseCursor w =
$ pictures [ line [V2 (-5) 0,V2 5 0] , line [V2 0 (-5),V2 0 5] ]
testPic :: World -> Picture
testPic w = pictures
[ soundPics w
testPic _ = pictures
[
-- , fixedSizePicClampArrow 10 50 thepic (mouseWorldPos w) w
]
-- where
@@ -69,7 +71,9 @@ testPic w = pictures
--testPic w = color green . pictures . map (flip thickLine 5 . tflat2) . graphToEdges $ _pathGraph w
soundPics :: World -> Picture
soundPics w = pictures $ M.map (soundPic w) $ _playingSounds w
soundPics w
| _show_sound (_config w) = pictures $ M.map (soundPic w) $ _playingSounds w
| otherwise = []
soundPic :: World -> Sound -> Picture
soundPic w s = fixedSizePicClampArrow 50 50 thePic p w
-1
View File
@@ -13,7 +13,6 @@ import qualified Data.Map as M
newtype Polyhedra = Polyhedron
{ _pyFaces :: [[(Point3,Point4)]]
}
-- | Describe a polygon as a map from vertex indices to a positioning and list of faces.
-- The list of faces is assumed to be ordered in clockwise direction around the vertex.
-- The vertices of the faces are assumed to start with a point adjacent to the
-1
View File
@@ -67,7 +67,6 @@ preloadRender = do
setupVertexAttribPointer 1 4 8 4
let winColVAO = VAO {_vao = winColVAOname, _vaoVBO = winVBO}
-- setup shape geometry/cap VBO and two VAOs
-- TODO when making shaders that use these VAOs, don't mallocate ptr space
shEBOname <- genObjectName
shEBOptr <- mallocArray numDrawableElements
bindBuffer ElementArrayBuffer $= Just shEBOname