This commit is contained in:
2025-10-25 10:17:59 +01:00
parent c2cc38a642
commit 0da3816664
5 changed files with 119 additions and 210 deletions
+8 -15
View File
@@ -1,17 +1,10 @@
module Dodge.LevelGen.DoorPane ( rectanglePairs) where
import Geometry.Vector
import Geometry.Data
module Dodge.LevelGen.DoorPane (mkRectangle) where
rectanglePairs :: Float -> Point2 -> Point2 -> [(Point2,Point2)]
rectanglePairs wdth a b =
[ (aup, ad)
, (ad, bd)
, (bd, bu)
, (bu, aup)
]
import Geometry.Data
import Geometry.Vector
import Linear
mkRectangle :: Float -> Point2 -> [ Point2]
mkRectangle wdth b = [ n , - n , b - n , b + n ]
where
aup = a +.+ norm
ad = a -.- norm
bu = b +.+ norm
bd = b -.- norm
norm = wdth *.* normalizeV ( vNormal (b -.- a))
n = wdth *^ normalizeV (vNormal b)
+1 -1
View File
@@ -134,7 +134,7 @@ 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 dr wl -> plDoor' (dr & drZeroPos %~ pashift & drOnePos %~ pashift) wl w
PutDoor dr wl -> plDoor (dr & drZeroPos %~ pashift & drOnePos %~ pashift) wl w
PutCoord cp -> plNewID (gwWorld . coordinates) (doShift cp) w
PutBlock bl wl ps' ->
plBlock
+2 -84
View File
@@ -1,27 +1,20 @@
module Dodge.Placement.PlaceSpot.TriggerDoor (
plDoor',
plDoor,
plSlideDoor,
) where
import Dodge.Door.DoorLerp
import Dodge.Data.GenWorld
import Dodge.Default.Door
import Dodge.Default.Wall
import Dodge.LevelGen.DoorPane
import Dodge.Placement.PlaceSpot.Block
import Dodge.ShiftPoint
import Geometry
import qualified IntMapHelp as IM
import LensHelp
import Linear
plDoor' ::
plDoor ::
Door ->
Wall ->
GenWorld ->
(Int, GenWorld)
plDoor' dr wl gw =
plDoor dr wl gw =
( drid
, over gwWorld addWalls $ gw & gwWorld . cWorld . lWorld . doors . at drid ?~ newdr
-- carefull with the ordering of addWalls
@@ -42,78 +35,3 @@ plDoor' dr wl gw =
(map fst pps & each %~ shiftPointBy lerposa)
drid
wlid
plDoor ::
WdBl ->
Float ->
Point2A ->
Point2A ->
GenWorld ->
(Int, GenWorld)
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
{ _drID = drid
, _drTrigger = cond
, _drUpdate = DoorLerp 0.01
, _drZeroPos = p1
, _drOnePos = p2
, _drLerp = 0
, _drFootPrint = IM.fromList . zip wlids $ wlps'
}
wlids = take 4 [wlid ..]
wlid = IM.newKey $ gw ^. gwWorld . cWorld . lWorld . walls
wlps' = rectanglePairs 9 0 (V2 l 0)
addWalls =
insertStructureWalls
(`DoorPart` isauto)
defaultDoorWall
(map fst wlps' & each %~ shiftPointBy p1)
drid
wlid
plSlideDoor ::
Door ->
Wall ->
Float ->
Point2 ->
Point2 ->
GenWorld ->
(Int, GenWorld)
plSlideDoor dr wl shiftOffset a b gw =
(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 $
dr
{ _drID = drid
, _drUpdate = DoorLerp $ 1 / distance a (shiftLeft a)
, _drZeroPos = (a, 0)
, _drOnePos = (shiftLeft a, 0)
, _drLerp = 0
, _drFootPrint = IM.fromList $ zip wlids $ rectanglePairs 9 0 (b - a)
}
pairs = rectanglePairs 9 a b
shiftLeft = (+.+ (a -.- b +.+ shiftOffset *.* normalizeV (b -.- a)))
wlids = take 4 [wlid ..]
wlid = IM.newKey $ gw ^. gwWorld . cWorld . lWorld . walls
addWalls =
insertStructureWalls
(`DoorPart` isauto)
wl
(map fst pairs)
drid
wlid
+1 -1
View File
@@ -121,7 +121,7 @@ putDoor cond l p1 p2 = PutDoor dr wl
& drZeroPos .~ p1
& drOnePos .~ p2
& drFootPrint .~ IM.fromList (zip [0 ..] wlps')
wlps' = rectanglePairs 9 0 (V2 l 0)
wlps' = loopPairs $ mkRectangle 9 (V2 l 0)
airlockSimple :: RandomGen g => State g Room
airlockSimple = do
+107 -109
View File
@@ -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 96;" C
PSNoShiftCont src/Dodge/Data/GenWorld.hs 97;" C
PSPos src/Dodge/Data/GenWorld.hs 98;" C
PSRoomRand src/Dodge/Data/GenWorld.hs 103;" C
PS src/Dodge/Data/GenWorld.hs 92;" C
PSNoShiftCont src/Dodge/Data/GenWorld.hs 93;" C
PSPos src/Dodge/Data/GenWorld.hs 94;" C
PSRoomRand src/Dodge/Data/GenWorld.hs 99;" 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 109;" t
PlacementSpot src/Dodge/Data/GenWorld.hs 95;" t
Placement src/Dodge/Data/GenWorld.hs 105;" t
PlacementSpot src/Dodge/Data/GenWorld.hs 91;" 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,25 +1029,25 @@ 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 61;" C
PutCoord src/Dodge/Data/GenWorld.hs 45;" C
PutCrit src/Dodge/Data/GenWorld.hs 32;" C
PutDoor' src/Dodge/Data/GenWorld.hs 56;" C
PutDoor src/Dodge/Data/GenWorld.hs 55;" 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 57;" C
PutID src/Dodge/Data/GenWorld.hs 60;" C
PutLS src/Dodge/Data/GenWorld.hs 39;" C
PutLabel src/Dodge/Data/GenWorld.hs 64;" C
PutLabel src/Dodge/Data/GenWorld.hs 62;" 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 59;" C
PutOnEquipment src/Dodge/Data/RightButtonOptions.hs 19;" C
PutProp src/Dodge/Data/GenWorld.hs 41;" 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 58;" C
QFloat src/Geometry/Data.hs 50;" t
QuarterRes src/Dodge/Data/Config.hs 98;" C
QuicksaveSlot src/Dodge/Data/SaveSlot.hs 8;" C
@@ -1071,7 +1071,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 56;" 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
@@ -1107,7 +1107,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 124;" t
Room src/Dodge/Data/GenWorld.hs 120;" 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
@@ -2073,11 +2073,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 113;" f
_plIDCont src/Dodge/Data/GenWorld.hs 114;" f
_plMID src/Dodge/Data/GenWorld.hs 112;" f
_plSpot src/Dodge/Data/GenWorld.hs 110;" f
_plType src/Dodge/Data/GenWorld.hs 111;" f
_plExternalID src/Dodge/Data/GenWorld.hs 109;" f
_plIDCont src/Dodge/Data/GenWorld.hs 110;" f
_plMID src/Dodge/Data/GenWorld.hs 108;" f
_plSpot src/Dodge/Data/GenWorld.hs 106;" f
_plType src/Dodge/Data/GenWorld.hs 107;" 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
@@ -2098,24 +2098,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 101;" f
_psPos src/Dodge/Data/GenWorld.hs 96;" f
_psRandShift src/Dodge/Data/GenWorld.hs 105;" f
_psRoomEff src/Dodge/Data/GenWorld.hs 100;" f
_psRoomRandPointNum src/Dodge/Data/GenWorld.hs 104;" f
_psRot src/Dodge/Data/GenWorld.hs 96;" f
_psSelect src/Dodge/Data/GenWorld.hs 99;" f
_psFallback src/Dodge/Data/GenWorld.hs 97;" f
_psPos src/Dodge/Data/GenWorld.hs 92;" f
_psRandShift src/Dodge/Data/GenWorld.hs 101;" f
_psRoomEff src/Dodge/Data/GenWorld.hs 96;" f
_psRoomRandPointNum src/Dodge/Data/GenWorld.hs 100;" f
_psRot src/Dodge/Data/GenWorld.hs 92;" f
_psSelect src/Dodge/Data/GenWorld.hs 95;" 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 61;" f
_putEndPoint src/Dodge/Data/GenWorld.hs 52;" f
_putID src/Dodge/Data/GenWorld.hs 62;" f
_putID src/Dodge/Data/GenWorld.hs 60;" f
_putItem src/Dodge/Data/GenWorld.hs 43;" f
_putLabel src/Dodge/Data/GenWorld.hs 64;" f
_putLabel src/Dodge/Data/GenWorld.hs 62;" 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
@@ -2153,28 +2153,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 139;" f
_rmChildren src/Dodge/Data/GenWorld.hs 150;" f
_rmClusterStatus src/Dodge/Data/GenWorld.hs 152;" f
_rmConnectsTo src/Dodge/Data/GenWorld.hs 147;" f
_rmEndWires src/Dodge/Data/GenWorld.hs 146;" f
_rmFloor src/Dodge/Data/GenWorld.hs 140;" f
_rmBound src/Dodge/Data/GenWorld.hs 135;" f
_rmChildren src/Dodge/Data/GenWorld.hs 146;" f
_rmClusterStatus src/Dodge/Data/GenWorld.hs 148;" f
_rmConnectsTo src/Dodge/Data/GenWorld.hs 143;" f
_rmEndWires src/Dodge/Data/GenWorld.hs 142;" f
_rmFloor src/Dodge/Data/GenWorld.hs 136;" f
_rmHeight src/Dodge/Data/Room.hs 39;" f
_rmInPmnt src/Dodge/Data/GenWorld.hs 138;" f
_rmLinkEff src/Dodge/Data/GenWorld.hs 128;" f
_rmLinks src/Dodge/Data/GenWorld.hs 126;" f
_rmMID src/Dodge/Data/GenWorld.hs 148;" f
_rmMParent src/Dodge/Data/GenWorld.hs 149;" f
_rmName src/Dodge/Data/GenWorld.hs 141;" f
_rmPath src/Dodge/Data/GenWorld.hs 136;" f
_rmPmnts src/Dodge/Data/GenWorld.hs 137;" f
_rmPolys src/Dodge/Data/GenWorld.hs 125;" f
_rmPos src/Dodge/Data/GenWorld.hs 135;" f
_rmRandPSs src/Dodge/Data/GenWorld.hs 144;" f
_rmShift src/Dodge/Data/GenWorld.hs 142;" f
_rmStartWires src/Dodge/Data/GenWorld.hs 145;" f
_rmType src/Dodge/Data/GenWorld.hs 151;" f
_rmViewpoints src/Dodge/Data/GenWorld.hs 143;" f
_rmInPmnt src/Dodge/Data/GenWorld.hs 134;" f
_rmLinkEff src/Dodge/Data/GenWorld.hs 124;" f
_rmLinks src/Dodge/Data/GenWorld.hs 122;" f
_rmMID src/Dodge/Data/GenWorld.hs 144;" f
_rmMParent src/Dodge/Data/GenWorld.hs 145;" f
_rmName src/Dodge/Data/GenWorld.hs 137;" f
_rmPath src/Dodge/Data/GenWorld.hs 132;" f
_rmPmnts src/Dodge/Data/GenWorld.hs 133;" f
_rmPolys src/Dodge/Data/GenWorld.hs 121;" f
_rmPos src/Dodge/Data/GenWorld.hs 131;" f
_rmRandPSs src/Dodge/Data/GenWorld.hs 140;" f
_rmShift src/Dodge/Data/GenWorld.hs 138;" f
_rmStartWires src/Dodge/Data/GenWorld.hs 141;" f
_rmType src/Dodge/Data/GenWorld.hs 147;" f
_rmViewpoints src/Dodge/Data/GenWorld.hs 139;" 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
@@ -2492,8 +2492,7 @@ addGirderNS' src/Dodge/Room/Modify/Girder.hs 55;" f
addHighGirder src/Dodge/Room/Modify/Girder.hs 132;" f
addHighGirder' src/Dodge/Room/Modify/Girder.hs 142;" f
addIndefiniteArticle src/StringHelp.hs 17;" f
addPane src/Dodge/Placement/PlaceSpot.hs 182;" f
addPlmnt src/Dodge/LevelGen/PlacementHelper.hs 87;" f
addPane src/Dodge/Placement/PlaceSpot.hs 180;" f
addPointPolygon src/Geometry/Polygon.hs 134;" f
addPolyWall src/Dodge/LevelGen/StaticWalls.hs 141;" f
addPolyWalls src/Dodge/LevelGen/StaticWalls.hs 129;" f
@@ -2513,12 +2512,12 @@ 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 27;" f
airlock0 src/Dodge/Room/Airlock.hs 75;" f
airlock90 src/Dodge/Room/Airlock.hs 211;" f
airlockCrystal src/Dodge/Room/Airlock.hs 256;" f
airlock0 src/Dodge/Room/Airlock.hs 77;" f
airlock90 src/Dodge/Room/Airlock.hs 189;" f
airlockCrystal src/Dodge/Room/Airlock.hs 229;" f
airlockDoubleDoor src/Dodge/Room/Airlock.hs 101;" f
airlockSimple src/Dodge/Room/Airlock.hs 128;" f
airlockZ src/Dodge/Room/Airlock.hs 166;" f
airlockSimple src/Dodge/Room/Airlock.hs 126;" 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
@@ -2715,7 +2714,7 @@ bulletWeapons src/Dodge/Combine/Combinations.hs 248;" f
burstRifle src/Dodge/Item/Held/Cane.hs 30;" f
buttonFlip src/Dodge/Button/Event.hs 17;" f
buzzS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 702;" f
cChasm src/Dodge/Room/Tutorial.hs 136;" f
cChasm src/Dodge/Room/Tutorial.hs 142;" f
cFilledRect src/Dodge/CharacterEnums.hs 6;" f
cWireRect src/Dodge/CharacterEnums.hs 10;" f
calcSmoothScroll src/Dodge/SmoothScroll.hs 11;" f
@@ -2750,7 +2749,7 @@ chaseCritInternal src/Dodge/Humanoid.hs 7;" f
chaseCritMv src/Dodge/Creature/ReaderUpdate.hs 120;" f
chaseCritPerceptionUpdate src/Dodge/Creature/Perception.hs 32;" f
chaseCritVocalization src/Dodge/Creature/ChaseCrit.hs 36;" f
chasmSimpleMaze src/Dodge/Room/Tutorial.hs 203;" f
chasmSimpleMaze src/Dodge/Room/Tutorial.hs 209;" f
chasmTest src/Dodge/Creature/Update.hs 132;" f
chasmWallToSurface src/Dodge/Base/Collide.hs 118;" f
checkCombineSelectionExists src/Dodge/DisplayInventory.hs 100;" f
@@ -2969,7 +2968,7 @@ crsNearPoint src/Dodge/Zoning/Creature.hs 18;" f
crsNearRect src/Dodge/Zoning/Creature.hs 39;" f
crsNearSeg src/Dodge/Zoning/Creature.hs 24;" f
crystalLine src/Dodge/Placement/Instance/Wall.hs 66;" f
cubeShape src/Dodge/Block/Debris.hs 113;" f
cubeShape src/Dodge/Block/Debris.hs 111;" f
cullPoint src/Dodge/Render/ShapePicture.hs 96;" f
cullPretty src/AesonHelp.hs 14;" f
cutPoly src/Dodge/LevelGen/StaticWalls.hs 77;" f
@@ -3024,7 +3023,7 @@ deadScalp src/Dodge/Creature/Picture.hs 81;" f
deadUpperBody src/Dodge/Creature/Picture.hs 113;" f
debrisS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 684;" f
debrisSPic src/Dodge/Prop/Draw.hs 20;" f
debrisSize src/Dodge/Block/Debris.hs 86;" f
debrisSize src/Dodge/Block/Debris.hs 84;" f
debugEvent src/Dodge/Debug.hs 36;" f
debugEvents src/Dodge/Debug.hs 21;" f
debugItem src/Dodge/Debug.hs 39;" f
@@ -3037,7 +3036,7 @@ debugWritableValues src/Dodge/Debug.hs 84;" f
decodeSensorType src/Dodge/Terminal.hs 72;" f
decomposeSelfTree src/Dodge/Tree/Compose.hs 61;" f
decomposeTree src/Dodge/Tree/Compose.hs 58;" f
decontamRoom src/Dodge/Room/Airlock.hs 32;" f
decontamRoom src/Dodge/Room/Airlock.hs 37;" f
decoratedBlock src/Dodge/Placement/Instance/Block.hs 11;" f
decorationToShape src/Dodge/Placement/TopDecoration.hs 9;" f
decreaseAwareness src/Dodge/Creature/Perception.hs 118;" f
@@ -3068,7 +3067,7 @@ defaultCreature src/Dodge/Default/Creature.hs 12;" f
defaultCreatureMemory src/Dodge/Default/Creature.hs 65;" f
defaultCrystalWall src/Dodge/Default/Wall.hs 35;" f
defaultDirtBlock src/Dodge/Default/Block.hs 17;" f
defaultDirtWall src/Dodge/Default/Wall.hs 48;" f
defaultDirtWall src/Dodge/Default/Wall.hs 47;" f
defaultDoor src/Dodge/Default/Door.hs 5;" f
defaultDoorWall src/Dodge/Default/Wall.hs 29;" f
defaultDrawButton src/Dodge/Button/Draw.hs 29;" f
@@ -3092,7 +3091,7 @@ defaultRoom src/Dodge/Default/Room.hs 9;" f
defaultTerminal src/Dodge/Default/Terminal.hs 10;" f
defaultVision src/Dodge/Default/Creature.hs 85;" f
defaultWall src/Dodge/Default/Wall.hs 15;" f
defaultWindow src/Dodge/Default/Wall.hs 56;" f
defaultWindow src/Dodge/Default/Wall.hs 54;" f
defaultWorld src/Dodge/Default/World.hs 31;" f
degToRad src/Geometry/Vector.hs 118;" f
deleteIMInZone src/Dodge/Base.hs 70;" f
@@ -3139,7 +3138,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 67;" f
divideDoorPane src/Dodge/Placement/Instance/Door.hs 64;" f
divideLine src/Geometry.hs 248;" f
divideLineExact src/Geometry.hs 276;" f
divideLineOddNumPoints src/Geometry.hs 261;" f
@@ -3211,7 +3210,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 46;" f
doorBetween src/Dodge/Placement/Instance/Door.hs 44;" f
doorLerp src/Dodge/DrWdWd.hs 27;" f
dotV src/Geometry/Vector.hs 76;" f
dotV3 src/Geometry/Vector3D.hs 119;" f
@@ -3495,7 +3494,7 @@ floorItemSPic src/Dodge/Render/ShapePicture.hs 122;" f
floorWire src/Dodge/Wire.hs 13;" f
foamSprayFadeOutS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 558;" f
foamSprayLoopS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 554;" f
foldMTRS src/Dodge/Room/Tutorial.hs 81;" f
foldMTRS src/Dodge/Room/Tutorial.hs 87;" f
foldPairs src/ListHelp.hs 37;" f
foldrWhileArb src/ListHelp.hs 110;" f
followImpulse src/Dodge/Creature/Impulse.hs 24;" f
@@ -3556,8 +3555,8 @@ getCloseObj src/Dodge/Update/Input/InGame.hs 533;" f
getCommand src/Dodge/Terminal.hs 52;" f
getCommands src/Dodge/Terminal.hs 49;" f
getCrMoveSpeed src/Dodge/Creature/Statistics.hs 50;" f
getCrsFromRooms src/Dodge/Room/Tutorial.hs 352;" f
getCrsFromRooms' src/Dodge/Room/Tutorial.hs 339;" f
getCrsFromRooms src/Dodge/Room/Tutorial.hs 358;" f
getCrsFromRooms' src/Dodge/Room/Tutorial.hs 345;" f
getDebugMouseOver src/Dodge/Update.hs 376;" f
getDistortions src/Dodge/Render.hs 435;" f
getEdgesCrossing src/Dodge/Path.hs 49;" f
@@ -3574,7 +3573,7 @@ getNodePos src/Dodge/Path.hs 38;" f
getPJStabiliser src/Dodge/HeldUse.hs 1251;" f
getPretty src/AesonHelp.hs 8;" f
getPromptTM src/Dodge/Terminal/Type.hs 3;" f
getRoomsFromInts src/Dodge/Room/Tutorial.hs 335;" f
getRoomsFromInts src/Dodge/Room/Tutorial.hs 341;" f
getRootItemBounds src/Dodge/Render/HUD.hs 100;" f
getRootItemInvID src/Dodge/Inventory/Location.hs 35;" f
getSelectedCloseObj src/Dodge/SelectedClose.hs 14;" f
@@ -3725,9 +3724,9 @@ 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 37;" f
insertWall src/Dodge/Placement/PlaceSpot/Block.hs 121;" f
insertWall src/Dodge/Placement/PlaceSpot/Block.hs 120;" f
insertWallInZones src/Dodge/Wall/Zone.hs 20;" f
insertWalls src/Dodge/Placement/PlaceSpot/Block.hs 118;" f
insertWalls src/Dodge/Placement/PlaceSpot/Block.hs 117;" f
insertWithNewKeys src/IntMapHelp.hs 71;" f
intAnno src/Dodge/Floor.hs 111;" f
interactWithCloseObj src/Dodge/SelectedClose.hs 9;" f
@@ -3890,7 +3889,7 @@ keyCardRunPastRand src/Dodge/LockAndKey.hs 36;" f
keyPic src/Dodge/Item/Draw/SPic.hs 459;" f
keyholeCorridor src/Dodge/Room/Corridor.hs 39;" f
knifeS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 638;" f
lChasm src/Dodge/Room/Tutorial.hs 145;" f
lChasm src/Dodge/Room/Tutorial.hs 151;" f
lConnect src/Dodge/Render/Connectors.hs 42;" f
lConnectMulti src/Dodge/Render/Connectors.hs 46;" f
lShape src/Dodge/Placement/Instance/LightSource.hs 89;" f
@@ -4038,8 +4037,8 @@ makeCloudAt src/Dodge/WorldEvent/Cloud.hs 7;" f
makeColorTermLine src/Dodge/Terminal.hs 111;" f
makeColorTermPara src/Dodge/Terminal.hs 108;" f
makeCorpse src/Dodge/Corpse/Make.hs 13;" f
makeDebris src/Dodge/Block/Debris.hs 51;" f
makeDebrisDirected src/Dodge/Block/Debris.hs 54;" f
makeDebris src/Dodge/Block/Debris.hs 49;" f
makeDebrisDirected src/Dodge/Block/Debris.hs 52;" f
makeDoorDebris src/Dodge/Block/Debris.hs 26;" f
makeDustAt src/Dodge/WorldEvent/Cloud.hs 17;" f
makeEnumOption src/Dodge/Menu/OptionType.hs 13;" f
@@ -4140,7 +4139,7 @@ mglCreate src/GLHelp.hs 8;" f
mglDelete src/GLHelp.hs 14;" f
midBarDecoration src/Dodge/Placement/TopDecoration.hs 16;" f
midBounds src/Dodge/Room/Foreground.hs 151;" f
midChasm src/Dodge/Room/Tutorial.hs 166;" f
midChasm src/Dodge/Room/Tutorial.hs 172;" f
midPad src/Padding.hs 27;" f
midPadL src/Padding.hs 33;" f
midPoint src/Geometry.hs 83;" f
@@ -4166,6 +4165,7 @@ mixColorsLinear src/Color.hs 95;" f
mkCustomLenses src/ThirdPartyLens.hs 7;" f
mkGraphFromEdges src/GraphHelp.hs 4;" f
mkNode src/Dodge/Graph.hs 29;" f
mkRectangle src/Dodge/LevelGen/DoorPane.hs 7;" f
mntLS src/Dodge/Placement/Instance/LightSource.hs 136;" f
mntLSCond src/Dodge/Placement/Instance/LightSource.hs 159;" f
mntLSOn src/Dodge/Placement/Instance/LightSource.hs 66;" f
@@ -4201,16 +4201,16 @@ muout src/Dodge/RoomLink.hs 144;" f
muzFlareAt src/Dodge/HeldUse.hs 678;" f
muzzlePos src/Dodge/HeldUse.hs 769;" f
muzzleRandPos src/Dodge/HeldUse.hs 778;" f
mvButton src/Dodge/Placement/PlaceSpot.hs 190;" f
mvCr src/Dodge/Placement/PlaceSpot.hs 193;" f
mvFS src/Dodge/Placement/PlaceSpot.hs 200;" f
mvButton src/Dodge/Placement/PlaceSpot.hs 188;" f
mvCr src/Dodge/Placement/PlaceSpot.hs 191;" f
mvFS src/Dodge/Placement/PlaceSpot.hs 198;" f
mvGust src/Dodge/Update.hs 784;" f
mvLS src/Dodge/Placement/PlaceSpot.hs 235;" f
mvLS src/Dodge/Placement/PlaceSpot.hs 233;" f
mvPointAlongAtSpeed src/Dodge/Base.hs 121;" f
mvPointMeleeTarg src/Dodge/Creature/Boid.hs 327;" f
mvPointToward src/Dodge/Base.hs 136;" f
mvPointTowardAtSpeed src/Dodge/Base.hs 105;" f
mvProp src/Dodge/Placement/PlaceSpot.hs 187;" f
mvProp src/Dodge/Placement/PlaceSpot.hs 185;" f
myIntersectLineLine src/Geometry/Intersect.hs 198;" f
myIntersectSegSeg src/Geometry/Intersect.hs 176;" f
myParams src/Dodge/Combine/Graph.hs 101;" f
@@ -4345,24 +4345,22 @@ 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 46;" f
plDoor' src/Dodge/Placement/PlaceSpot/TriggerDoor.hs 19;" f
plLineBlock src/Dodge/Placement/PlaceSpot/Block.hs 54;" f
plMachine src/Dodge/Placement/PlaceSpot.hs 203;" f
plDoor src/Dodge/Placement/PlaceSpot/TriggerDoor.hs 12;" f
plLineBlock src/Dodge/Placement/PlaceSpot/Block.hs 53;" f
plMachine src/Dodge/Placement/PlaceSpot.hs 201;" 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 84;" f
placeChasm src/Dodge/Placement/PlaceSpot.hs 161;" f
placeMachineWalls src/Dodge/Placement/PlaceSpot.hs 230;" f
placeChasm src/Dodge/Placement/PlaceSpot.hs 159;" f
placeMachineWalls src/Dodge/Placement/PlaceSpot.hs 228;" 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
placeSpotRoomRand src/Dodge/Placement/PlaceSpot.hs 90;" f
placeSpotUsingLink src/Dodge/Placement/PlaceSpot.hs 68;" f
placeWallPoly src/Dodge/Placement/PlaceSpot.hs 177;" f
placeWallPoly src/Dodge/Placement/PlaceSpot.hs 175;" f
plainRegex src/Dodge/DisplayInventory.hs 189;" f
playIfFree src/Sound.hs 137;" f
playPositionalSoundQueue src/Sound.hs 145;" f
@@ -4432,8 +4430,8 @@ pokeWall src/Shader/Poke.hs 78;" f
pokeWallsWindows src/Shader/Poke.hs 50;" f
poly3 src/Picture/Base.hs 84;" f
poly3Col src/Picture/Base.hs 88;" f
polyChasm src/Dodge/Room/Tutorial.hs 187;" f
polyChasmC src/Dodge/Room/Tutorial.hs 196;" f
polyChasm src/Dodge/Room/Tutorial.hs 193;" f
polyChasmC src/Dodge/Room/Tutorial.hs 202;" f
polyCirc src/Shape.hs 46;" f
polyCircx src/Shape.hs 51;" f
polyCornerDist src/Geometry/Polygon.hs 61;" f
@@ -4514,13 +4512,13 @@ 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 87;" f
putAutoDoor src/Dodge/Placement/Instance/Door.hs 83;" 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
putDoor src/Dodge/Room/Airlock.hs 116;" f
putDoor src/Dodge/Room/Airlock.hs 113;" f
putDoubleDoor src/Dodge/Placement/Instance/Door.hs 17;" f
putDoubleDoorThen src/Dodge/Placement/Instance/Door.hs 28;" 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
@@ -4529,7 +4527,7 @@ putLitButOnPosExtTrig src/Dodge/Placement/Instance/Button.hs 103;" f
putLitButOnPosExtTrig' src/Dodge/Placement/Instance/Button.hs 106;" f
putMessageTerminal src/Dodge/Placement/Instance/Terminal.hs 57;" f
putShape src/Dodge/Room/Foreground.hs 134;" f
putSlideDr src/Dodge/Door/PutSlideDoor.hs 11;" f
putSlideDr src/Dodge/Door/PutSlideDoor.hs 12;" f
putStrLnAppend src/Dodge/LevelGen.hs 82;" f
putTerminal src/Dodge/Placement/Instance/Terminal.hs 54;" f
putTerminalFull src/Dodge/Placement/Instance/Terminal.hs 22;" f
@@ -4594,7 +4592,6 @@ rectVV src/Geometry/Polygon.hs 40;" f
rectWH src/Geometry/Polygon.hs 19;" f
rectXH src/Geometry/Polygon.hs 34;" f
rectXY src/Geometry/Polygon.hs 37;" f
rectanglePairs src/Dodge/LevelGen/DoorPane.hs 5;" f
red src/Color.hs 14;" f
reduceLocDT src/Dodge/DoubleTree.hs 398;" f
reduceLocLDT src/Dodge/DoubleTree.hs 393;" f
@@ -4621,7 +4618,7 @@ removeAimPosture src/Dodge/Creature/YourControl.hs 159;" f
removeAmmoFromMag src/Dodge/HeldUse.hs 907;" f
removeDot src/ShortShow.hs 44;" f
removeInverseWalls src/Dodge/LevelGen/StaticWalls.hs 25;" f
removeLights src/Dodge/Room/Tutorial.hs 252;" f
removeLights src/Dodge/Room/Tutorial.hs 258;" f
removeShieldWall src/Dodge/Item/BackgroundEffect.hs 57;" f
removeWallsInPolygon src/Dodge/LevelGen/StaticWalls.hs 182;" f
renderDataResizeUpdate src/Preload/Update.hs 26;" f
@@ -4800,7 +4797,7 @@ sensorReqToString src/Dodge/Machine/Update.hs 197;" f
sensorRoom src/Dodge/Room/SensorDoor.hs 26;" f
sensorRoomRunPast src/Dodge/Room/SensorDoor.hs 46;" f
sensorSPic src/Dodge/Machine/Draw.hs 81;" f
sensorTut src/Dodge/Room/Tutorial.hs 361;" f
sensorTut src/Dodge/Room/Tutorial.hs 367;" f
sensorTypeDamages src/Dodge/Machine/Update.hs 234;" f
sentinelAI src/Dodge/Creature/SentinelAI.hs 20;" f
sentinelExtraWatchUpdate src/Dodge/Creature/SentinelAI.hs 81;" f
@@ -4827,7 +4824,7 @@ setOutLinks src/Dodge/RoomLink.hs 50;" f
setOutLinksByType src/Dodge/RoomLink.hs 75;" f
setOutLinksPD src/Dodge/RoomLink.hs 95;" f
setRBCreatureTargeting src/Dodge/Creature/State.hs 290;" f
setRoomInt src/Dodge/Room/Tutorial.hs 88;" f
setRoomInt src/Dodge/Room/Tutorial.hs 94;" f
setSelWhileDragging src/Dodge/Update/Input/InGame.hs 337;" f
setSelectionListRestriction src/Dodge/Update/Input/ScreenLayer.hs 87;" f
setShaderSource src/Shader/Compile.hs 290;" f
@@ -4837,7 +4834,7 @@ setTargetMv src/Dodge/Creature/ReaderUpdate.hs 82;" f
setTile src/Dodge/Layout.hs 70;" f
setTiles src/Dodge/Layout.hs 67;" f
setToggle src/Dodge/Prop/Update.hs 44;" f
setTreeInts src/Dodge/Room/Tutorial.hs 95;" f
setTreeInts src/Dodge/Room/Tutorial.hs 101;" f
setViewDistance src/Dodge/Update/Camera.hs 236;" f
setViewPos src/Dodge/Creature/ReaderUpdate.hs 69;" f
setViewport src/Dodge/Render.hs 440;" f
@@ -4948,8 +4945,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 156;" f
slowDoorRoomRunPast src/Dodge/Room/LongDoor.hs 173;" 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
@@ -5270,12 +5267,12 @@ turnTo src/Dodge/Movement/Turn.hs 8;" f
turret src/Dodge/Placement/Instance/Turret.hs 35;" f
turretItemOffset src/Dodge/Item/HeldOffset.hs 21;" f
tutAnoTree src/Dodge/Room/Tutorial.hs 43;" f
tutDrop src/Dodge/Room/Tutorial.hs 100;" f
tutHub src/Dodge/Room/Tutorial.hs 259;" f
tutLight src/Dodge/Room/Tutorial.hs 224;" f
tutRezBox src/Dodge/Room/Tutorial.hs 372;" f
tutDrop src/Dodge/Room/Tutorial.hs 106;" f
tutHub src/Dodge/Room/Tutorial.hs 265;" f
tutLight src/Dodge/Room/Tutorial.hs 230;" f
tutRezBox src/Dodge/Room/Tutorial.hs 378;" f
tutRoomTree src/Dodge/Floor.hs 21;" f
tutorialMessage1 src/Dodge/Room/Tutorial.hs 396;" f
tutorialMessage1 src/Dodge/Room/Tutorial.hs 402;" f
tweenAngles src/Geometry/Vector.hs 190;" f
twinSlowDoorChasers src/Dodge/Room/LongDoor.hs 84;" f
twinSlowDoorRoom src/Dodge/Room/LongDoor.hs 31;" f
@@ -5573,6 +5570,7 @@ writeSaveSlot src/Dodge/Save.hs 36;" f
xCylinder src/Shape.hs 137;" f
xCylinderST src/Shape.hs 134;" f
xIntercepts src/Dodge/Zoning/Base.hs 66;" f
xSwitch src/Dodge/Room/Airlock.hs 32;" f
xV2 src/Geometry/Vector.hs 201;" f
xyV3 src/Geometry/Vector.hs 213;" f
xyzV4 src/Geometry/Vector.hs 209;" f
@@ -5589,7 +5587,7 @@ yourInv src/Dodge/Base/You.hs 28;" f
yourRootItem src/Dodge/Base/You.hs 22;" f
yourSelectedItem src/Dodge/Base/You.hs 16;" f
yourStatsInfo src/Dodge/Creature/Info.hs 27;" f
zChasm src/Dodge/Room/Tutorial.hs 154;" f
zChasm src/Dodge/Room/Tutorial.hs 160;" f
zConnect src/Dodge/Render/Connectors.hs 17;" f
zConnectCol src/Dodge/Render/Connectors.hs 28;" f
zConnectColMidX src/Dodge/Render/Connectors.hs 31;" f