Simplify doors somewhat, unsure what to do about edge obstacles

This commit is contained in:
2025-10-22 23:09:09 +01:00
parent 0fd7ba46b5
commit 9e6534b8f4
7 changed files with 26 additions and 38 deletions
+2 -5
View File
@@ -7,7 +7,6 @@ module Dodge.Placement.PlaceSpot.TriggerDoor (
import Dodge.ShiftPoint
import Linear
import Dodge.Data.GenWorld
import qualified Data.IntSet as IS
import Data.List
import Dodge.Default.Door
import Dodge.LevelGen.DoorPane
@@ -36,14 +35,13 @@ plDoor col eo cond l p1 p2 gw = (drid, over gwWorld addWalls $ gw & gwWorld . cW
IM.insert drid $
defaultDoor
{ _drID = drid
, _drWallIDs = IS.fromList wlids
-- , _drWallIDs = IS.fromList wlids
, _drTrigger = cond
, _drMech = DoorLerp
, _drZeroPos = p1
, _drOnePos = p2
, _drLerp = 0
, _drFootPrint = IM.fromList . zip wlids $ wlps'
, _drObstacleType = eo
, _drSpeed = 0.01
}
-- nsteps = length pss - 1
@@ -96,13 +94,12 @@ plSlideDoor dr wl eo shiftOffset a b gw =
IM.insert drid $
dr
{ _drID = drid
, _drWallIDs = IS.fromList wlids
-- , _drWallIDs = IS.fromList wlids
, _drMech = DoorLerp
, _drZeroPos = (a, 0)
, _drOnePos = (shiftLeft a, 0)
, _drLerp = 0
, _drFootPrint = IM.fromList $ zip wlids $ rectanglePairs 9 0 (b-a)
, _drObstacleType = eo
, _drSpeed = 1 / distance a (shiftLeft a)
}
addDoorWalls w' = foldl' (addDoorWall eo drid wl) w' $ zip wlids pairs