diff --git a/src/Dodge/Data/GenWorld.hs b/src/Dodge/Data/GenWorld.hs index d8349a7ae..89d46ef21 100644 --- a/src/Dodge/Data/GenWorld.hs +++ b/src/Dodge/Data/GenWorld.hs @@ -52,8 +52,8 @@ data PSType , _putEndPoint :: Point2 } | PutWall {_pwPoly :: [Point2], _pwWall :: Wall} - | PutSlideDr Bool Door Wall Float Point2 Point2 - | PutDoor Bool WdBl Float Point2A Point2A + | PutSlideDr Door Wall Float Point2 Point2 + | PutDoor WdBl Float Point2A Point2A | RandPS (State StdGen PSType) | PutForeground ForegroundShape | PutWorldUpdate (Int -> PlacementSpot -> GenWorld -> GenWorld) diff --git a/src/Dodge/Placement/Instance/Door.hs b/src/Dodge/Placement/Instance/Door.hs index 3c071ce94..0fdbe27a9 100644 --- a/src/Dodge/Placement/Instance/Door.hs +++ b/src/Dodge/Placement/Instance/Door.hs @@ -4,6 +4,7 @@ module Dodge.Placement.Instance.Door ( putDoubleDoorThen, ) where +import Linear import Control.Lens import Dodge.Data.CreatureEffect import Dodge.Data.GenWorld @@ -52,7 +53,7 @@ doorBetween :: (Placement -> Maybe Placement) -> Placement doorBetween isauto wl cond soff pa pb speed g = case divideLine 40 pa pb of - [x, y] -> ptCont (PutSlideDr isauto adoor wl soff x y) g + [x, y] -> ptCont (PutSlideDr adoor wl soff x y) g (x : y : zs) -> divideDoorPane isauto Nothing wl cond (soff - dist y pb) speed (zip (x : y : zs) (y : zs)) g _ -> undefined where @@ -76,7 +77,7 @@ divideDoorPane isauto mid wl cond soff speed ppairs g = case ppairs of (p : ps) -> ptCont (adoor p) $ \pl -> Just $ divideDoorPane isauto (_plMID pl) wl cond soff speed ps g _ -> undefined where - adoor (x, y) = PutSlideDr isauto thedoor wl soff x y + adoor (x, y) = PutSlideDr thedoor wl soff x y thedoor = defaultDoor & drUpdate . drLerpSpeed .~ speed & drTrigger .~ cond & drPushedBy .~ maybe PushesItself PushedBy mid @@ -88,9 +89,10 @@ putAutoDoor a b = Placement (PS 0 0) (PutCoord a) Nothing Nothing $ \_ apl -> let x = w ^?! gwWorld . coordinates . ix (apl ^?! plMID . _Just) y = w ^?! gwWorld . coordinates . ix (bpl ^?! plMID . _Just) in Just $ - putDoubleDoor True + putDoubleDoor + True defaultAutoWall - (WdBlCrFilterNearPoint 40 (0.5 *.* (x + y)) CrIsAnimate) + (WdBlCrFilterNearPoint 40 (0.5 *^ (x + y)) CrIsAnimate) a b 3 diff --git a/src/Dodge/Placement/PlaceSpot.hs b/src/Dodge/Placement/PlaceSpot.hs index 9f6c283b8..f51fe5dfc 100644 --- a/src/Dodge/Placement/PlaceSpot.hs +++ b/src/Dodge/Placement/PlaceSpot.hs @@ -134,10 +134,10 @@ placeSpotID rid ps pt w = case pt of PutMachine pps mc mitm -> plMachine (map doShift pps) mc mitm p rot w PutLS ls -> plNewUpID (gwWorld . cWorld . lWorld . lightSources) lsID (mvLS p' rot ls) w RandPS _ -> error "RandPS should not be reachable here" --evaluateRandPS rid rgn ps w - PutDoor isauto f l p1 p2 -> plDoor isauto f l (pashift p1) (pashift p2) w + PutDoor f l p1 p2 -> plDoor f l (pashift p1) (pashift p2) w PutCoord cp -> plNewID (gwWorld . coordinates) (doShift cp) w - PutSlideDr isauto wl dr off a b -> - plSlideDoor isauto wl dr off (doShift a) (doShift b) w + PutSlideDr wl dr off a b -> + plSlideDoor wl dr off (doShift a) (doShift b) w PutBlock bl wl ps' -> plBlock (map doShift ps') diff --git a/src/Dodge/Placement/PlaceSpot/TriggerDoor.hs b/src/Dodge/Placement/PlaceSpot/TriggerDoor.hs index 6cf241d71..425fe96d6 100644 --- a/src/Dodge/Placement/PlaceSpot/TriggerDoor.hs +++ b/src/Dodge/Placement/PlaceSpot/TriggerDoor.hs @@ -3,12 +3,10 @@ module Dodge.Placement.PlaceSpot.TriggerDoor ( plSlideDoor, ) where ---import Data.List import Dodge.Data.GenWorld import Dodge.Default.Door import Dodge.Default.Wall import Dodge.LevelGen.DoorPane ---import Dodge.Path import Dodge.Placement.PlaceSpot.Block import Dodge.ShiftPoint import Geometry @@ -17,8 +15,6 @@ import LensHelp import Linear plDoor :: - -- | Is door automatic? - Bool -> -- | Opening condition WdBl -> -- | Door positions, closed to open. @@ -28,12 +24,15 @@ plDoor :: Point2A -> GenWorld -> (Int, GenWorld) -plDoor isauto cond l p1 p2 gw = +plDoor cond l p1 p2 gw = ( drid , over gwWorld addWalls $ gw & gwWorld . cWorld . lWorld . doors . at drid ?~ addDoor -- carefull with the ordering of addWalls ) where + isauto = case cond of + WdBlCrFilterNearPoint{} -> True + _ -> False drid = IM.newKey $ _doors (_lWorld (_cWorld $ _gwWorld gw)) addDoor = defaultDoor @@ -83,7 +82,6 @@ plDoor isauto cond l p1 p2 gw = -- w' = uncurry (obstructPathsCrossing eo) wlps w plSlideDoor :: - Bool -> Door -> Wall -> Float -> @@ -91,10 +89,13 @@ plSlideDoor :: Point2 -> GenWorld -> (Int, GenWorld) -plSlideDoor isauto dr wl shiftOffset a b gw = +plSlideDoor dr wl shiftOffset a b gw = --(drid, over gwWorld addDoorWalls $ gw & gwWorld . cWorld . lWorld . doors %~ addDoor) (drid, over gwWorld addWalls $ gw & gwWorld . cWorld . lWorld . doors %~ addDoor) where + isauto = case dr ^. drTrigger of + WdBlCrFilterNearPoint{} -> True + _ -> False drid = IM.newKey $ _doors (_lWorld (_cWorld $ _gwWorld gw)) addDoor = IM.insert drid $ diff --git a/src/Dodge/Room/Airlock.hs b/src/Dodge/Room/Airlock.hs index 5b83726b6..6e595d0c3 100644 --- a/src/Dodge/Room/Airlock.hs +++ b/src/Dodge/Room/Airlock.hs @@ -95,9 +95,6 @@ airlock0 = ] col = dim $ dim $ bright red -airlockDoor :: WdBl -> Float -> Point2A -> Point2A -> PSType -airlockDoor = PutDoor False - airlockDoubleDoor :: Point2 -> Point2 -> @@ -110,8 +107,8 @@ airlockDoubleDoor :: Point2A -> Maybe Placement airlockDoubleDoor p1 p2 cond l1 x1 y1 l2 x2 y2 = - jspsJ p1 0 (airlockDoor cond l1 x1 y1) $ - sPS p2 0 (airlockDoor cond l2 x2 y2) + jspsJ p1 0 (PutDoor cond l1 x1 y1) $ + sPS p2 0 (PutDoor cond l2 x2 y2) airlockSimple :: Room airlockSimple = @@ -217,7 +214,7 @@ airlock90 = [ pContID (PS (V2 120 120) (3 * pi / 4)) (PutButton $ makeSwitch col red NoWorldEffect NoWorldEffect) - $ \btid -> jsps (V2 5 5) 0 $ airlockDoor (WdBlBtOn btid) l1 x1 y1 + $ \btid -> jsps (V2 5 5) 0 $ PutDoor (WdBlBtOn btid) l1 x1 y1 , mntLS vShape (V2 35 35) (V3 70 70 50) ] , _rmBound = @@ -251,7 +248,7 @@ airlockCrystal = [ pContID (PS (V2 145 70) (pi / 2)) (PutButton $ makeSwitch col red NoWorldEffect NoWorldEffect) - $ \btid -> jsps (V2 40 70) 0 $ airlockDoor (WdBlBtOn btid) l1 x1 y1 + $ \btid -> jsps (V2 40 70) 0 $ PutDoor (WdBlBtOn btid) l1 x1 y1 , crystalLine (V2 0 70) (V2 40 70) , mntLS vShape (V2 150 70) (V3 110 70 70) ] diff --git a/src/Dodge/Room/LongDoor.hs b/src/Dodge/Room/LongDoor.hs index 0706a594c..65749b33c 100644 --- a/src/Dodge/Room/LongDoor.hs +++ b/src/Dodge/Room/LongDoor.hs @@ -48,8 +48,8 @@ twinSlowDoorRoom w h x = , _rmPath = mempty , _rmPmnts = [ pContID (PS (V2 0 (h -5)) pi) (PutButton $ makeButton col NoWorldEffect) $ - \btid -> jsps0J (PutSlideDr False (thedoor btid) thewall 1 (V2 x 1) (V2 x h)) $ - ps0 (PutSlideDr False (thedoor btid) thewall 1 (V2 (- x) 1) (V2 (- x) h)) $ + \btid -> jsps0J (PutSlideDr (thedoor btid) thewall 1 (V2 x 1) (V2 x h)) $ + ps0 (PutSlideDr (thedoor btid) thewall 1 (V2 (- x) 1) (V2 (- x) h)) $ \did -> jps0' (PutLS (lsColPos (V3 0.75 0 0) (V3 0 (h -1) lampheight))) $ \lspl -> jsps0 $ PutProp $ addColorChange (fromJust $ _plMID lspl) did $ lampCoverWhen (WdBlDoorMoving did) (V2 0 (h -1)) lampheight ] diff --git a/src/Dodge/Room/Procedural.hs b/src/Dodge/Room/Procedural.hs index 6e7d74492..f6fe83cb3 100644 --- a/src/Dodge/Room/Procedural.hs +++ b/src/Dodge/Room/Procedural.hs @@ -328,8 +328,8 @@ centerVaultRoom w h d = theDoor = [ pContID (PS (V2 35 (d + 4)) 0) (PutButton $ makeSwitch col red NoWorldEffect NoWorldEffect) $ \btid -> - jspsJ (V2 0 (d -10)) 0 (PutSlideDr False (thedoor btid) thewall 1 (V2 (-21) 0) (V2 0 0)) $ - sPS (V2 0 (d -10)) 0 (PutSlideDr False (thedoor btid) thewall 1 (V2 21 0) (V2 0 0)) + jspsJ (V2 0 (d -10)) 0 (PutSlideDr (thedoor btid) thewall 1 (V2 (-21) 0) (V2 0 0)) $ + sPS (V2 0 (d -10)) 0 (PutSlideDr (thedoor btid) thewall 1 (V2 21 0) (V2 0 0)) ] --thewall = switchWallCol col thewall = defaultDoorWall diff --git a/tags b/tags index 5c659e083..931faffaa 100644 --- a/tags +++ b/tags @@ -939,10 +939,10 @@ POISONSPRAYER src/Dodge/Data/Item/Combine.hs 172;" C PORTABLEFUSION src/Dodge/Data/Item/Combine.hs 87;" C POWERLEGS src/Dodge/Data/Item/Combine.hs 128;" C PRISM src/Dodge/Data/Item/Combine.hs 65;" C -PS src/Dodge/Data/GenWorld.hs 95;" C -PSNoShiftCont src/Dodge/Data/GenWorld.hs 96;" C -PSPos src/Dodge/Data/GenWorld.hs 97;" C -PSRoomRand src/Dodge/Data/GenWorld.hs 102;" C +PS src/Dodge/Data/GenWorld.hs 94;" C +PSNoShiftCont src/Dodge/Data/GenWorld.hs 95;" C +PSPos src/Dodge/Data/GenWorld.hs 96;" C +PSRoomRand src/Dodge/Data/GenWorld.hs 101;" C PSType src/Dodge/Data/GenWorld.hs 31;" t PUMP src/Dodge/Data/Item/Combine.hs 62;" C PaletteColor src/Color/Data.hs 11;" t @@ -962,8 +962,8 @@ PhysicalSensor src/Dodge/Data/Machine/Sensor.hs 16;" C Picture src/Picture/Data.hs 44;" t Piercing src/Dodge/Data/Damage.hs 16;" C PistolAI src/Dodge/Data/Creature/Misc.hs 41;" C -Placement src/Dodge/Data/GenWorld.hs 108;" t -PlacementSpot src/Dodge/Data/GenWorld.hs 94;" t +Placement src/Dodge/Data/GenWorld.hs 107;" t +PlacementSpot src/Dodge/Data/GenWorld.hs 93;" t PlainBarrel src/Dodge/Data/Creature/Misc.hs 86;" C PlantNurserySS src/Dodge/Data/Scenario.hs 96;" C PlayStatus src/Sound/Data.hs 21;" t @@ -1029,26 +1029,26 @@ PushedBy src/Dodge/Data/Door.hs 25;" C PushesItself src/Dodge/Data/Door.hs 24;" C PutBlock src/Dodge/Data/GenWorld.hs 44;" C PutButton src/Dodge/Data/GenWorld.hs 40;" C -PutChasm src/Dodge/Data/GenWorld.hs 63;" C +PutChasm src/Dodge/Data/GenWorld.hs 62;" C PutCoord src/Dodge/Data/GenWorld.hs 45;" C PutCrit src/Dodge/Data/GenWorld.hs 32;" C -PutDoor src/Dodge/Data/GenWorld.hs 57;" C +PutDoor src/Dodge/Data/GenWorld.hs 56;" C PutFlIt src/Dodge/Data/GenWorld.hs 43;" C -PutForeground src/Dodge/Data/GenWorld.hs 59;" C -PutID src/Dodge/Data/GenWorld.hs 62;" C +PutForeground src/Dodge/Data/GenWorld.hs 58;" C +PutID src/Dodge/Data/GenWorld.hs 61;" C PutLS src/Dodge/Data/GenWorld.hs 39;" C -PutLabel src/Dodge/Data/GenWorld.hs 64;" C +PutLabel src/Dodge/Data/GenWorld.hs 63;" C PutLineBlock src/Dodge/Data/GenWorld.hs 48;" C PutMachine src/Dodge/Data/GenWorld.hs 33;" C PutMod src/Dodge/Data/GenWorld.hs 46;" C -PutNothing src/Dodge/Data/GenWorld.hs 61;" C +PutNothing src/Dodge/Data/GenWorld.hs 60;" C PutOnEquipment src/Dodge/Data/RightButtonOptions.hs 19;" C PutProp src/Dodge/Data/GenWorld.hs 41;" C PutSlideDr src/Dodge/Data/GenWorld.hs 55;" C PutTerminal src/Dodge/Data/GenWorld.hs 42;" C PutTrigger src/Dodge/Data/GenWorld.hs 47;" C PutWall src/Dodge/Data/GenWorld.hs 54;" C -PutWorldUpdate src/Dodge/Data/GenWorld.hs 60;" C +PutWorldUpdate src/Dodge/Data/GenWorld.hs 59;" C QFloat src/Geometry/Data.hs 50;" t QuarterRes src/Dodge/Data/Config.hs 98;" C QuicksaveSlot src/Dodge/Data/SaveSlot.hs 8;" C @@ -1072,7 +1072,7 @@ RadialDistortion src/Dodge/Data/Distortion.hs 11;" C RandImpulse src/Dodge/Data/ActionPlan.hs 49;" t RandImpulseCircMove src/Dodge/Data/ActionPlan.hs 51;" C RandImpulseList src/Dodge/Data/ActionPlan.hs 50;" C -RandPS src/Dodge/Data/GenWorld.hs 58;" C +RandPS src/Dodge/Data/GenWorld.hs 57;" C RandomImpulse src/Dodge/Data/ActionPlan.hs 31;" C RandomTurn src/Dodge/Data/ActionPlan.hs 30;" C ReactorSS src/Dodge/Data/Scenario.hs 111;" C @@ -1108,7 +1108,7 @@ Rocket src/Dodge/Data/Projectile.hs 32;" C RocketHoming src/Dodge/Data/Projectile.hs 39;" t RocketSmoke src/Dodge/Data/Projectile.hs 52;" t RocketSmoke src/Dodge/Data/Cloud.hs 22;" C -Room src/Dodge/Data/GenWorld.hs 123;" t +Room src/Dodge/Data/GenWorld.hs 122;" t RoomClipping src/Dodge/Data/Config.hs 108;" t RoomInt src/Dodge/Tree/Shift.hs 26;" t RoomLink src/Dodge/Data/Room.hs 24;" t @@ -2074,11 +2074,11 @@ _pjSpin src/Dodge/Data/Projectile.hs 19;" f _pjTimer src/Dodge/Data/Projectile.hs 22;" f _pjType src/Dodge/Data/Projectile.hs 24;" f _pjVel src/Dodge/Data/Projectile.hs 17;" f -_plExternalID src/Dodge/Data/GenWorld.hs 112;" f -_plIDCont src/Dodge/Data/GenWorld.hs 113;" f -_plMID src/Dodge/Data/GenWorld.hs 111;" f -_plSpot src/Dodge/Data/GenWorld.hs 109;" f -_plType src/Dodge/Data/GenWorld.hs 110;" f +_plExternalID src/Dodge/Data/GenWorld.hs 111;" f +_plIDCont src/Dodge/Data/GenWorld.hs 112;" f +_plMID src/Dodge/Data/GenWorld.hs 110;" f +_plSpot src/Dodge/Data/GenWorld.hs 108;" f +_plType src/Dodge/Data/GenWorld.hs 109;" f _playStatus src/Sound/Data.hs 15;" f _playingSounds src/Dodge/Data/World.hs 40;" f _posture src/Dodge/Data/Creature/Stance.hs 17;" f @@ -2099,24 +2099,24 @@ _proxReqEquipment src/Dodge/Data/Machine/Sensor.hs 36;" f _proxReqMinHealth src/Dodge/Data/Machine/Sensor.hs 35;" f _proxSensorType src/Dodge/Data/Machine/Sensor.hs 26;" f _proxToggle src/Dodge/Data/Machine/Sensor.hs 27;" f -_psFallback src/Dodge/Data/GenWorld.hs 100;" f -_psPos src/Dodge/Data/GenWorld.hs 95;" f -_psRandShift src/Dodge/Data/GenWorld.hs 104;" f -_psRoomEff src/Dodge/Data/GenWorld.hs 99;" f -_psRoomRandPointNum src/Dodge/Data/GenWorld.hs 103;" f -_psRot src/Dodge/Data/GenWorld.hs 95;" f -_psSelect src/Dodge/Data/GenWorld.hs 98;" f +_psFallback src/Dodge/Data/GenWorld.hs 99;" f +_psPos src/Dodge/Data/GenWorld.hs 94;" f +_psRandShift src/Dodge/Data/GenWorld.hs 103;" f +_psRoomEff src/Dodge/Data/GenWorld.hs 98;" f +_psRoomRandPointNum src/Dodge/Data/GenWorld.hs 102;" f +_psRot src/Dodge/Data/GenWorld.hs 94;" f +_psSelect src/Dodge/Data/GenWorld.hs 97;" f _pulseBalls src/Dodge/Data/LWorld.hs 113;" f _pulseLasers src/Dodge/Data/LWorld.hs 112;" f _pulseProgress src/Dodge/Data/Creature/Misc.hs 54;" f _pulseRate src/Dodge/Data/Creature/Misc.hs 53;" f _putBlock src/Dodge/Data/GenWorld.hs 44;" f _putButton src/Dodge/Data/GenWorld.hs 40;" f -_putChasmPoly src/Dodge/Data/GenWorld.hs 63;" f +_putChasmPoly src/Dodge/Data/GenWorld.hs 62;" f _putEndPoint src/Dodge/Data/GenWorld.hs 52;" f -_putID src/Dodge/Data/GenWorld.hs 62;" f +_putID src/Dodge/Data/GenWorld.hs 61;" f _putItem src/Dodge/Data/GenWorld.hs 43;" f -_putLabel src/Dodge/Data/GenWorld.hs 64;" f +_putLabel src/Dodge/Data/GenWorld.hs 63;" f _putMachineMachine src/Dodge/Data/GenWorld.hs 35;" f _putMachineMaybeItem src/Dodge/Data/GenWorld.hs 37;" f _putMachinePoly src/Dodge/Data/GenWorld.hs 34;" f @@ -2154,28 +2154,28 @@ _rkSmoke src/Dodge/Data/Projectile.hs 34;" f _rlDir src/Dodge/Data/Room.hs 27;" f _rlPos src/Dodge/Data/Room.hs 26;" f _rlType src/Dodge/Data/Room.hs 25;" f -_rmBound src/Dodge/Data/GenWorld.hs 138;" f -_rmChildren src/Dodge/Data/GenWorld.hs 149;" f -_rmClusterStatus src/Dodge/Data/GenWorld.hs 151;" f -_rmConnectsTo src/Dodge/Data/GenWorld.hs 146;" f -_rmEndWires src/Dodge/Data/GenWorld.hs 145;" f -_rmFloor src/Dodge/Data/GenWorld.hs 139;" f +_rmBound src/Dodge/Data/GenWorld.hs 137;" f +_rmChildren src/Dodge/Data/GenWorld.hs 148;" f +_rmClusterStatus src/Dodge/Data/GenWorld.hs 150;" f +_rmConnectsTo src/Dodge/Data/GenWorld.hs 145;" f +_rmEndWires src/Dodge/Data/GenWorld.hs 144;" f +_rmFloor src/Dodge/Data/GenWorld.hs 138;" f _rmHeight src/Dodge/Data/Room.hs 39;" f -_rmInPmnt src/Dodge/Data/GenWorld.hs 137;" f -_rmLinkEff src/Dodge/Data/GenWorld.hs 127;" f -_rmLinks src/Dodge/Data/GenWorld.hs 125;" f -_rmMID src/Dodge/Data/GenWorld.hs 147;" f -_rmMParent src/Dodge/Data/GenWorld.hs 148;" f -_rmName src/Dodge/Data/GenWorld.hs 140;" f -_rmPath src/Dodge/Data/GenWorld.hs 135;" f -_rmPmnts src/Dodge/Data/GenWorld.hs 136;" f -_rmPolys src/Dodge/Data/GenWorld.hs 124;" f -_rmPos src/Dodge/Data/GenWorld.hs 134;" f -_rmRandPSs src/Dodge/Data/GenWorld.hs 143;" f -_rmShift src/Dodge/Data/GenWorld.hs 141;" f -_rmStartWires src/Dodge/Data/GenWorld.hs 144;" f -_rmType src/Dodge/Data/GenWorld.hs 150;" f -_rmViewpoints src/Dodge/Data/GenWorld.hs 142;" f +_rmInPmnt src/Dodge/Data/GenWorld.hs 136;" f +_rmLinkEff src/Dodge/Data/GenWorld.hs 126;" f +_rmLinks src/Dodge/Data/GenWorld.hs 124;" f +_rmMID src/Dodge/Data/GenWorld.hs 146;" f +_rmMParent src/Dodge/Data/GenWorld.hs 147;" f +_rmName src/Dodge/Data/GenWorld.hs 139;" f +_rmPath src/Dodge/Data/GenWorld.hs 134;" f +_rmPmnts src/Dodge/Data/GenWorld.hs 135;" f +_rmPolys src/Dodge/Data/GenWorld.hs 123;" f +_rmPos src/Dodge/Data/GenWorld.hs 133;" f +_rmRandPSs src/Dodge/Data/GenWorld.hs 142;" f +_rmShift src/Dodge/Data/GenWorld.hs 140;" f +_rmStartWires src/Dodge/Data/GenWorld.hs 143;" f +_rmType src/Dodge/Data/GenWorld.hs 149;" f +_rmViewpoints src/Dodge/Data/GenWorld.hs 141;" f _rmWidth src/Dodge/Data/Room.hs 38;" f _rpDir src/Dodge/Data/Room.hs 17;" f _rpFlags src/Dodge/Data/Room.hs 18;" f @@ -2479,7 +2479,6 @@ addCrGibs src/Dodge/Prop/Gib.hs 17;" f addDepth src/Picture/Base.hs 133;" f addDoorAtNthLinkToggleTerminal src/Dodge/Room/Warning.hs 40;" f addDoorToggleTerminal src/Dodge/Room/Warning.hs 37;" f -addDoorWall src/Dodge/Placement/PlaceSpot/TriggerDoor.hs 54;" f addGib4 src/Dodge/Prop/Gib.hs 52;" f addGibAt src/Dodge/Prop/Gib.hs 63;" f addGibAtDir src/Dodge/Prop/Gib.hs 69;" f @@ -2515,13 +2514,13 @@ aimDelaySweep src/Dodge/Render/Picture.hs 287;" f aimStanceInfo src/Dodge/Item/Info.hs 243;" f aimTurn src/Dodge/Creature/YourControl.hs 181;" f airlock src/Dodge/Room/Airlock.hs 24;" f -airlock0 src/Dodge/Room/Airlock.hs 73;" f -airlock90 src/Dodge/Room/Airlock.hs 201;" f -airlockCrystal src/Dodge/Room/Airlock.hs 246;" f -airlockDoor src/Dodge/Room/Airlock.hs 100;" f -airlockDoubleDoor src/Dodge/Room/Airlock.hs 103;" f -airlockSimple src/Dodge/Room/Airlock.hs 118;" f -airlockZ src/Dodge/Room/Airlock.hs 156;" f +airlock0 src/Dodge/Room/Airlock.hs 72;" f +airlock90 src/Dodge/Room/Airlock.hs 199;" f +airlockCrystal src/Dodge/Room/Airlock.hs 244;" f +airlockDoor src/Dodge/Room/Airlock.hs 98;" f +airlockDoubleDoor src/Dodge/Room/Airlock.hs 101;" f +airlockSimple src/Dodge/Room/Airlock.hs 116;" f +airlockZ src/Dodge/Room/Airlock.hs 154;" f allVisibleWalls src/Dodge/Base/Collide.hs 223;" f alongSegBy src/Geometry.hs 40;" f alteRifle src/Dodge/Item/Held/Cane.hs 22;" f @@ -3142,7 +3141,7 @@ dist src/Geometry/Vector.hs 185;" f dist3 src/Geometry/Vector3D.hs 101;" f divTo src/Geometry/Zone.hs 6;" f divideCircle src/Geometry.hs 321;" f -divideDoorPane src/Dodge/Placement/Instance/Door.hs 71;" f +divideDoorPane src/Dodge/Placement/Instance/Door.hs 65;" f divideLine src/Geometry.hs 248;" f divideLineExact src/Geometry.hs 276;" f divideLineOddNumPoints src/Geometry.hs 261;" f @@ -3214,7 +3213,7 @@ doWdWd src/Dodge/WorldEffect.hs 28;" f doWorldEvents src/Dodge/Update.hs 428;" f doWorldPos src/Dodge/WorldPos.hs 10;" f door src/Dodge/Room/Door.hs 13;" f -doorBetween src/Dodge/Placement/Instance/Door.hs 50;" f +doorBetween src/Dodge/Placement/Instance/Door.hs 45;" f doorLerp src/Dodge/DrWdWd.hs 26;" f dotV src/Geometry/Vector.hs 76;" f dotV3 src/Geometry/Vector3D.hs 119;" f @@ -3727,10 +3726,10 @@ insertNewKey src/IntMapHelp.hs 65;" f insertOneS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 514;" f insertOver src/ListHelp.hs 47;" f insertS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 446;" f -insertStructureWalls src/Dodge/Placement/PlaceSpot/Block.hs 43;" f -insertWall src/Dodge/Placement/PlaceSpot/Block.hs 127;" f +insertStructureWalls src/Dodge/Placement/PlaceSpot/Block.hs 37;" f +insertWall src/Dodge/Placement/PlaceSpot/Block.hs 121;" f insertWallInZones src/Dodge/Wall/Zone.hs 20;" f -insertWalls src/Dodge/Placement/PlaceSpot/Block.hs 124;" f +insertWalls src/Dodge/Placement/PlaceSpot/Block.hs 118;" f insertWithNewKeys src/IntMapHelp.hs 71;" f intAnno src/Dodge/Floor.hs 111;" f interactWithCloseObj src/Dodge/SelectedClose.hs 9;" f @@ -4208,7 +4207,7 @@ mvButton src/Dodge/Placement/PlaceSpot.hs 190;" f mvCr src/Dodge/Placement/PlaceSpot.hs 193;" f mvFS src/Dodge/Placement/PlaceSpot.hs 200;" f mvGust src/Dodge/Update.hs 784;" f -mvLS src/Dodge/Placement/PlaceSpot.hs 239;" f +mvLS src/Dodge/Placement/PlaceSpot.hs 235;" f mvPointAlongAtSpeed src/Dodge/Base.hs 121;" f mvPointMeleeTarg src/Dodge/Creature/Boid.hs 327;" f mvPointToward src/Dodge/Base.hs 136;" f @@ -4348,17 +4347,17 @@ pistol src/Dodge/Item/Held/Stick.hs 40;" f pistolerRoom src/Dodge/Room/Room.hs 330;" f pjRemoteSetDirection src/Dodge/Projectile/Update.hs 172;" f plBlock src/Dodge/Placement/PlaceSpot/Block.hs 20;" f -plDoor src/Dodge/Placement/PlaceSpot/TriggerDoor.hs 20;" f -plLineBlock src/Dodge/Placement/PlaceSpot/Block.hs 60;" f +plDoor src/Dodge/Placement/PlaceSpot/TriggerDoor.hs 17;" f +plLineBlock src/Dodge/Placement/PlaceSpot/Block.hs 54;" f plMachine src/Dodge/Placement/PlaceSpot.hs 203;" f plNew src/Dodge/Base/NewID.hs 19;" f plNewID src/Dodge/Base/NewID.hs 7;" f plNewUpID src/Dodge/Base/NewID.hs 13;" f plNewUsing src/Dodge/Base/NewID.hs 27;" f plRRpt src/Dodge/LevelGen/PlacementHelper.hs 33;" f -plSlideDoor src/Dodge/Placement/PlaceSpot/TriggerDoor.hs 87;" f +plSlideDoor src/Dodge/Placement/PlaceSpot/TriggerDoor.hs 83;" f placeChasm src/Dodge/Placement/PlaceSpot.hs 161;" f -placeMachineWalls src/Dodge/Placement/PlaceSpot.hs 231;" f +placeMachineWalls src/Dodge/Placement/PlaceSpot.hs 230;" f placePlainPSSpot src/Dodge/Placement/PlaceSpot.hs 43;" f placeSpot src/Dodge/Placement/PlaceSpot.hs 34;" f placeSpotID src/Dodge/Placement/PlaceSpot.hs 105;" f @@ -4516,12 +4515,12 @@ pushOutFromWall src/Dodge/WallCreatureCollisions.hs 101;" f pushOutFromWalls src/Dodge/WallCreatureCollisions.hs 64;" f pushR src/DoubleStack.hs 24;" f pushScreen src/Dodge/Menu/PushPop.hs 9;" f -putAutoDoor src/Dodge/Placement/Instance/Door.hs 91;" f +putAutoDoor src/Dodge/Placement/Instance/Door.hs 85;" f putBlockN src/Dodge/Placement/Instance/Wall.hs 169;" f putBlockRect src/Dodge/Placement/Instance/Wall.hs 148;" f putBlockV src/Dodge/Placement/Instance/Wall.hs 156;" f -putDoubleDoor src/Dodge/Placement/Instance/Door.hs 19;" f -putDoubleDoorThen src/Dodge/Placement/Instance/Door.hs 31;" f +putDoubleDoor src/Dodge/Placement/Instance/Door.hs 16;" f +putDoubleDoorThen src/Dodge/Placement/Instance/Door.hs 27;" f putImmediateMessageTerminal src/Dodge/Placement/Instance/Terminal.hs 65;" f putLamp src/Dodge/Placement/Instance/LightSource.hs 222;" f putLasTurret src/Dodge/Placement/Instance/Turret.hs 23;" f @@ -4948,8 +4947,8 @@ slap1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 670;" f slapS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 604;" f slideDoorS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 688;" f slideWindow src/ListHelp.hs 80;" f -slowDoorRoom src/Dodge/Room/LongDoor.hs 158;" f -slowDoorRoomRunPast src/Dodge/Room/LongDoor.hs 175;" f +slowDoorRoom src/Dodge/Room/LongDoor.hs 157;" f +slowDoorRoomRunPast src/Dodge/Room/LongDoor.hs 174;" f smallBattery src/Dodge/Item/Ammo.hs 60;" f smallBranch src/Dodge/Tree/GenerateStructure.hs 32;" f smallChaseCrit src/Dodge/Creature/ChaseCrit.hs 14;" f @@ -5077,8 +5076,6 @@ swapInvItems src/Dodge/Inventory/Swap.hs 22;" f swapItemWith src/Dodge/Inventory.hs 164;" f swarmCrit src/Dodge/Creature/SwarmCrit.hs 10;" f swarmUsingCenter src/Dodge/Creature/Boid.hs 174;" f -switchDoor src/Dodge/Placement/Instance/Door.hs 120;" f -switchWallObs src/Dodge/Data/PathGraph.hs 54;" f t src/ShortShow.hs 48;" f tEast src/Dodge/Room/Corridor.hs 90;" f tToBTree src/Dodge/Tree/Compose.hs 92;" f @@ -5337,8 +5334,6 @@ updateDisplaySections src/Dodge/DisplayInventory.hs 116;" f updateDistortion src/Dodge/Distortion.hs 5;" f updateDistortions src/Dodge/Update.hs 558;" f updateDoor src/Dodge/DrWdWd.hs 20;" f -updateDoorEdge src/Dodge/Placement/PlaceSpot/TriggerDoor.hs 78;" f -updateDoorEdges src/Dodge/Placement/PlaceSpot/TriggerDoor.hs 75;" f updateDoors src/Dodge/Update.hs 310;" f updateDust src/Dodge/Update.hs 822;" f updateDusts src/Dodge/Update.hs 672;" f