Reorganise wall placements

This commit is contained in:
2021-11-17 12:35:05 +00:00
parent bcdf0e643c
commit 5949ad2b3d
13 changed files with 32 additions and 31 deletions
+1 -1
View File
@@ -16,7 +16,7 @@ import Dodge.Creature.State.Data
import Dodge.Picture.Layer import Dodge.Picture.Layer
import Dodge.Default import Dodge.Default
import Dodge.Creature.State import Dodge.Creature.State
import Dodge.LightSources.Lamp import Dodge.LightSource
import Dodge.WorldEvent.Flash import Dodge.WorldEvent.Flash
import Dodge.WorldEvent.Sound import Dodge.WorldEvent.Sound
import Dodge.Creature.Update import Dodge.Creature.Update
@@ -1,4 +1,4 @@
module Dodge.LightSources.Lamp module Dodge.LightSource
( tLightTimedIntensity ( tLightTimedIntensity
, tLight , tLight
, lightAt , lightAt
-2
View File
@@ -1,2 +0,0 @@
module Dodge.LightSources
where
+2
View File
@@ -3,6 +3,7 @@ module Dodge.Placement.Instance
, module Dodge.Placement.Instance.LightSource , module Dodge.Placement.Instance.LightSource
, module Dodge.Placement.Instance.LightSource.Cover , module Dodge.Placement.Instance.LightSource.Cover
, module Dodge.Placement.Instance.Wall , module Dodge.Placement.Instance.Wall
, module Dodge.Placement.Instance.Tank
, module Dodge.Placement.Instance.Button , module Dodge.Placement.Instance.Button
, module Dodge.Placement.Instance.Turret , module Dodge.Placement.Instance.Turret
, module Dodge.Placement.Instance.Sensor , module Dodge.Placement.Instance.Sensor
@@ -11,6 +12,7 @@ module Dodge.Placement.Instance
) )
where where
import Dodge.Placement.Instance.Door import Dodge.Placement.Instance.Door
import Dodge.Placement.Instance.Tank
import Dodge.Placement.Instance.LightSource.Cover import Dodge.Placement.Instance.LightSource.Cover
import Dodge.Placement.Instance.LightSource import Dodge.Placement.Instance.LightSource
import Dodge.Placement.Instance.LightSource.Flicker import Dodge.Placement.Instance.LightSource.Flicker
+1 -1
View File
@@ -1,6 +1,6 @@
module Dodge.Placement.Instance.LightSource where module Dodge.Placement.Instance.LightSource where
import Dodge.Data import Dodge.Data
import Dodge.LightSources.Lamp import Dodge.LightSource
import Dodge.LevelGen.Data import Dodge.LevelGen.Data
import Dodge.Room.Foreground import Dodge.Room.Foreground
import Geometry import Geometry
@@ -1,5 +1,4 @@
module Dodge.Room.Furniture module Dodge.Placement.Instance.Tank where
where
import Dodge.Data import Dodge.Data
import Dodge.Placement.PlaceSpot import Dodge.Placement.PlaceSpot
import Dodge.LevelGen.Data import Dodge.LevelGen.Data
@@ -46,15 +45,6 @@ tankRectCross w h col x y = shiftPlacement (V2 x y,0) $ ps0j
tankSquareCross :: Color -> Float -> Float -> Placement tankSquareCross :: Color -> Float -> Float -> Placement
tankSquareCross = tankRectCross 20 20 tankSquareCross = tankRectCross 20 20
lowWall :: [Point2] -> Placement
lowWall ps = ps0j (PutForeground . colorSH col $ upperPrismPoly 30 ps)
$ sps0 $ PutWall ps theWall
where
col = _wlColor defaultWall
theWall = defaultWall
{ _wlOpacity = SeeAbove
, _wlDraw = False
}
tankRect :: Float -> Float -> Color -> Float -> Float -> Placement tankRect :: Float -> Float -> Color -> Float -> Float -> Placement
tankRect w h col x y = shiftPlacement (V2 x y,0) $ ps0j tankRect w h col x y = shiftPlacement (V2 x y,0) $ ps0j
+14 -2
View File
@@ -1,13 +1,25 @@
module Dodge.Placement.Instance.Wall module Dodge.Placement.Instance.Wall
where where
import Dodge.Data import Dodge.Data
import Color
import Geometry
import Dodge.LevelGen.Data import Dodge.LevelGen.Data
import Dodge.Default.Wall import Dodge.Default.Wall
import Geometry
import Shape
import Color
import Data.List import Data.List
import Control.Lens import Control.Lens
lowWall :: [Point2] -> Placement
lowWall ps = ps0j (PutForeground . colorSH col $ upperPrismPoly 30 ps)
$ sps0 $ PutWall ps theWall
where
col = _wlColor defaultWall
theWall = defaultWall
{ _wlOpacity = SeeAbove
, _wlDraw = False
}
singleBlock :: Point2 -> [Placement] singleBlock :: Point2 -> [Placement]
singleBlock a = singleBlock a =
[sPS a 0 [sPS a 0
+1 -1
View File
@@ -15,7 +15,7 @@ import Dodge.LevelGen.Switch
import Dodge.RandomHelp import Dodge.RandomHelp
import Dodge.Creature.Inanimate import Dodge.Creature.Inanimate
import Dodge.Creature import Dodge.Creature
import Dodge.LightSources.Lamp import Dodge.LightSource
import Picture import Picture
import Geometry import Geometry
-1
View File
@@ -7,7 +7,6 @@ import Dodge.LevelGen.Data
import Dodge.Room.Link import Dodge.Room.Link
import Dodge.Placement.Instance import Dodge.Placement.Instance
import Dodge.Room.Corridor import Dodge.Room.Corridor
import Dodge.Room.Furniture
--import Dodge.LevelGen.Data --import Dodge.LevelGen.Data
--import Dodge.Default.Wall --import Dodge.Default.Wall
import Dodge.RandomHelp import Dodge.RandomHelp
+1
View File
@@ -0,0 +1 @@
module Dodge.Room.RunPast where
+8 -9
View File
@@ -9,7 +9,6 @@ import Dodge.Room.Room
import Dodge.Room.Link import Dodge.Room.Link
import Dodge.Room.Procedural import Dodge.Room.Procedural
import Dodge.Room.Foreground import Dodge.Room.Foreground
import Dodge.Room.Furniture
import Dodge.Room.RoadBlock import Dodge.Room.RoadBlock
import Dodge.Placement.Instance import Dodge.Placement.Instance
import Dodge.Layout.Tree.Polymorphic import Dodge.Layout.Tree.Polymorphic
@@ -26,6 +25,14 @@ import Control.Lens
import System.Random import System.Random
--import qualified Data.IntMap.Strict as IM --import qualified Data.IntMap.Strict as IM
startRoom :: RandomGen g => State g (Tree (Either Room Room))
startRoom = join $ takeOne
[ rezBoxesWp
, rezBoxesThenWeaponRoom
, rezBoxThenWeaponRoom
, rezBoxesWpCrit
]
rezBox :: LightSource -> Room rezBox :: LightSource -> Room
rezBox ls = roomRect 40 60 1 1 rezBox ls = roomRect 40 60 1 1
& rmPmnts .~ [ sPS (V2 20 1) 0 $ PutLS ls] & rmPmnts .~ [ sPS (V2 20 1) 0 $ PutLS ls]
@@ -65,14 +72,6 @@ rezBoxThenWeaponRoom = do
rcol <- rezColor rcol <- rezColor
treeFromTrunk [Left $ rezBox rcol,Left door] <$> weaponRoom treeFromTrunk [Left $ rezBox rcol,Left door] <$> weaponRoom
startRoom :: RandomGen g => State g (Tree (Either Room Room))
startRoom = join $ takeOne
[ rezBoxesWp
, rezBoxesThenWeaponRoom
, rezBoxThenWeaponRoom
, rezBoxesWpCrit
]
rezBoxesWpCrit :: RandomGen g => State g (Tree (Either Room Room)) rezBoxesWpCrit :: RandomGen g => State g (Tree (Either Room Room))
rezBoxesWpCrit = do rezBoxesWpCrit = do
w <- state $ randomR (200,400) w <- state $ randomR (200,400)
+1 -1
View File
@@ -16,7 +16,7 @@ import Dodge.WorldEvent.Cloud
import Dodge.WorldEvent.HitEffect import Dodge.WorldEvent.HitEffect
import Dodge.WorldEvent.Explosion import Dodge.WorldEvent.Explosion
import Dodge.WorldEvent.SpawnParticle import Dodge.WorldEvent.SpawnParticle
import Dodge.LightSources.Lamp import Dodge.LightSource
import Dodge.Creature.State.Data import Dodge.Creature.State.Data
import Dodge.Data import Dodge.Data
import Geometry import Geometry
+1 -1
View File
@@ -18,7 +18,7 @@ module Dodge.WorldEvent.Flash
) )
where where
import Dodge.Data import Dodge.Data
import Dodge.LightSources.Lamp import Dodge.LightSource
import Dodge.WorldEvent.HelperParticle import Dodge.WorldEvent.HelperParticle
import Dodge.Default import Dodge.Default
import Picture import Picture