diff --git a/src/Dodge/Room/Tutorial.hs b/src/Dodge/Room/Tutorial.hs index 25b229e7c..64a3064f9 100644 --- a/src/Dodge/Room/Tutorial.hs +++ b/src/Dodge/Room/Tutorial.hs @@ -301,6 +301,7 @@ chasmSimpleMaze = , cChasm , pc1 , pc2 + , midChasmSpit ] where pc1 = do @@ -315,7 +316,7 @@ chasmSimpleMaze = tutLight :: State LayoutVars (MetaTree Room String) tutLight = do x <- shuffleRoomPos =<< chasmSimpleMaze - y <- midChasmSpit + y <- shuffleRoomPos =<< chasmSimpleMaze z <- chasmSimpleMaze return $ tToBTree "TutLight" $ @@ -325,7 +326,7 @@ tutLight = do ,sps g (PutFlIt battery) ] , corridor & rmPmnts .~ mempty - , y + , removeLights y , corridor & rmPmnts .~ mempty , removeLights z , door diff --git a/tags b/tags index 55fea41f9..4c0fb806e 100644 --- a/tags +++ b/tags @@ -2587,7 +2587,7 @@ andOrRegex src/Dodge/DisplayInventory.hs 78;" f angleBetween src/Geometry.hs 158;" f angleVV src/Geometry/Vector.hs 58;" f angleVV3 src/Geometry/Vector3D.hs 122;" f -anyUnusedSpot src/Dodge/PlacementSpot.hs 67;" f +anyUnusedSpot src/Dodge/PlacementSpot.hs 68;" f anythingHitCirc src/Dodge/Base/Collide.hs 342;" f applyCME src/Dodge/HeldUse.hs 372;" f applyClip src/Dodge/Debug.hs 138;" f @@ -2633,12 +2633,12 @@ arrow src/Picture/Composite.hs 19;" f arrowPath src/Picture/Composite.hs 8;" f assignHotkey src/Dodge/AssignHotkey.hs 9;" f assignPushDoors src/Dodge/LevelGen.hs 36;" f -atFstLnkOut src/Dodge/PlacementSpot.hs 218;" f -atFstLnkOutShiftBy src/Dodge/PlacementSpot.hs 238;" f -atFstLnkOutShiftInward src/Dodge/PlacementSpot.hs 241;" f -atNthLinkOut src/Dodge/PlacementSpot.hs 221;" f -atNthLnkOutShiftBy src/Dodge/PlacementSpot.hs 224;" f -atNthLnkOutShiftInward src/Dodge/PlacementSpot.hs 244;" f +atFstLnkOut src/Dodge/PlacementSpot.hs 224;" f +atFstLnkOutShiftBy src/Dodge/PlacementSpot.hs 244;" f +atFstLnkOutShiftInward src/Dodge/PlacementSpot.hs 247;" f +atNthLinkOut src/Dodge/PlacementSpot.hs 227;" f +atNthLnkOutShiftBy src/Dodge/PlacementSpot.hs 230;" f +atNthLnkOutShiftInward src/Dodge/PlacementSpot.hs 250;" f attachBranch src/Dodge/Tree/Compose.hs 84;" f attachInfo src/Dodge/Item/Info.hs 58;" f attachList src/Dodge/Tree/Compose.hs 81;" f @@ -2800,7 +2800,7 @@ chaseCritInternal src/Dodge/Humanoid.hs 8;" f chaseCritMv src/Dodge/Creature/ReaderUpdate.hs 121;" f chaseCritPerceptionUpdate src/Dodge/Creature/Perception.hs 32;" f chaseCritVocalization src/Dodge/Creature/ChaseCrit.hs 36;" f -chasmSimpleMaze src/Dodge/Room/Tutorial.hs 291;" f +chasmSimpleMaze src/Dodge/Room/Tutorial.hs 294;" f chasmSpitTerminal src/Dodge/Room/Tutorial.hs 265;" f chasmTest src/Dodge/Creature/Update.hs 123;" f chasmWallToSurface src/Dodge/Base/Collide.hs 118;" f @@ -2924,7 +2924,7 @@ coolMinigun src/Dodge/Creature/State.hs 95;" f copier src/Dodge/Item/Scope.hs 94;" f copierItemUpdate src/Dodge/Creature/State.hs 131;" f copyItemToFloor src/Dodge/FloorItem.hs 14;" f -corDoor src/Dodge/Room/Room.hs 394;" f +corDoor src/Dodge/Room/Room.hs 398;" f cornerList src/Preload/Render.hs 236;" f corpseOrGib src/Dodge/Creature/Update.hs 91;" f corridor src/Dodge/Room/Corridor.hs 17;" f @@ -2998,9 +2998,10 @@ creatureShootPulseLaser src/Dodge/HeldUse.hs 871;" f creatureTurnTo src/Dodge/Creature/Impulse/Movement.hs 60;" f creatureTurnToward src/Dodge/Creature/Impulse/Movement.hs 81;" f creatureTurnTowardDir src/Dodge/Creature/Impulse/Movement.hs 70;" f +critDeadEnd src/Dodge/Room/Room.hs 256;" f critInDeadEnd src/Dodge/Room/Room.hs 252;" f -critsPillarRoom src/Dodge/Room/Room.hs 399;" f -critsRoom src/Dodge/Room/Room.hs 407;" f +critsPillarRoom src/Dodge/Room/Room.hs 403;" f +critsRoom src/Dodge/Room/Room.hs 411;" f crixsNearSeg src/Dodge/Zoning/Creature.hs 30;" f crossPic src/Dodge/Render/Label.hs 28;" f crossProd src/Geometry/Vector3D.hs 41;" f @@ -3065,7 +3066,7 @@ dbArgChain src/Dodge/Base.hs 170;" f dbwMuzzles src/Dodge/HeldUse.hs 325;" f deZoneIX src/Dodge/Zoning/Base.hs 91;" f deZoneWall src/Dodge/Zoning/Wall.hs 70;" f -deadEndRoom src/Dodge/Room/Room.hs 255;" f +deadEndRoom src/Dodge/Room/Room.hs 259;" f deadFeet src/Dodge/Creature/Picture.hs 68;" f deadRot src/Dodge/Creature/Picture.hs 84;" f deadScalp src/Dodge/Creature/Picture.hs 81;" f @@ -3189,7 +3190,7 @@ dist src/Geometry/Vector.hs 185;" f dist3 src/Geometry/Vector3D.hs 101;" f distributeAmmoToItem src/Dodge/WorldEffect.hs 152;" f distributeAmmoToYou src/Dodge/WorldEffect.hs 140;" f -distributerRoom src/Dodge/Room/Room.hs 416;" f +distributerRoom src/Dodge/Room/Room.hs 420;" f divTo src/Geometry/Zone.hs 8;" f divideCircle src/Geometry.hs 321;" f divideDoorPane src/Dodge/Placement/Instance/Door.hs 65;" f @@ -3270,7 +3271,7 @@ doorBetween src/Dodge/Placement/Instance/Door.hs 38;" f doorLerp src/Dodge/Door.hs 40;" f dotV src/Geometry/Vector.hs 76;" f dotV3 src/Geometry/Vector3D.hs 119;" f -doubleCorridorBarrels src/Dodge/Room/Room.hs 285;" f +doubleCorridorBarrels src/Dodge/Room/Room.hs 289;" f doublePair src/Geometry.hs 162;" f doublePairSet src/Geometry.hs 166;" f doubleTreeToIndentList src/Dodge/DoubleTree.hs 129;" f @@ -3602,8 +3603,8 @@ getCloseObj src/Dodge/Update/Input/InGame.hs 539;" f getCommand src/Dodge/Terminal.hs 61;" f getCommands src/Dodge/Terminal.hs 58;" f getCrMoveSpeed src/Dodge/Creature/Statistics.hs 50;" f -getCrsFromRooms src/Dodge/Room/Tutorial.hs 442;" f -getCrsFromRooms' src/Dodge/Room/Tutorial.hs 429;" f +getCrsFromRooms src/Dodge/Room/Tutorial.hs 446;" f +getCrsFromRooms' src/Dodge/Room/Tutorial.hs 433;" f getDebugMouseOver src/Dodge/Update.hs 424;" f getDistortions src/Dodge/Render.hs 443;" f getEdgesCrossing src/Dodge/Path.hs 37;" f @@ -3620,7 +3621,7 @@ getNodePos src/Dodge/Path.hs 34;" f getPJStabiliser src/Dodge/HeldUse.hs 1246;" f getPretty src/AesonHelp.hs 8;" f getPromptTM src/Dodge/Terminal/Type.hs 3;" f -getRoomsFromInts src/Dodge/Room/Tutorial.hs 425;" f +getRoomsFromInts src/Dodge/Room/Tutorial.hs 429;" f getRootItemBounds src/Dodge/Render/HUD.hs 106;" f getRootItemInvID src/Dodge/Inventory/Location.hs 35;" f getSelectedCloseObj src/Dodge/SelectedClose.hs 14;" f @@ -3744,7 +3745,7 @@ iShape src/Dodge/Placement/Instance/LightSource.hs 51;" f icosahedronPoints src/Polyhedra/Geodesic.hs 12;" f icosohedronFaces src/Polyhedra/Geodesic.hs 19;" f ildtPropagate src/Dodge/DoubleTree.hs 111;" f -inLink src/Dodge/RoomLink.hs 128;" f +inLink src/Dodge/RoomLink.hs 130;" f inSegArea src/Geometry/Intersect.hs 319;" f inSimplePoly src/Geometry/Polygon.hs 98;" f inTextInputFocus src/Dodge/InputFocus.hs 8;" f @@ -3837,11 +3838,11 @@ isAmmoIntLink src/Dodge/HeldUse.hs 720;" f isAnimate src/Dodge/Creature/Test.hs 134;" f isCognizant src/Dodge/Creature/Perception.hs 105;" f isConnected src/Dodge/Inventory/Swap.hs 77;" f -isCornerLink src/Dodge/RoomLink.hs 65;" f +isCornerLink src/Dodge/RoomLink.hs 67;" f isElectrical src/Dodge/Machine/Update.hs 106;" f isFlyable src/Dodge/WorldEvent/ThingsHit.hs 176;" f isGroupSelectableSection src/Dodge/Update/Input/InGame.hs 198;" f -isInLnk src/Dodge/PlacementSpot.hs 162;" f +isInLnk src/Dodge/PlacementSpot.hs 163;" f isJust' src/MaybeHelp.hs 27;" f isLHS src/Geometry/LHS.hs 11;" f isLeftOf src/Geometry.hs 199;" f @@ -3850,14 +3851,15 @@ isMidEdgeLink src/Dodge/RoomLink.hs 56;" f isNHS src/Geometry/Intersect.hs 53;" f isNothing' src/MaybeHelp.hs 31;" f isOnSeg src/Geometry.hs 237;" f -isOutLnk src/Dodge/PlacementSpot.hs 167;" f +isOutLnk src/Dodge/PlacementSpot.hs 168;" f +isOutLnkNum src/Dodge/PlacementSpot.hs 173;" f isOverTerminalScreen src/Dodge/Update.hs 444;" f isPulseLaser src/Dodge/IsPulseLaser.hs 10;" f isPutID src/Dodge/Placement/Instance/Wall.hs 108;" f isRHS src/Geometry/LHS.hs 32;" f -isUnusedLnk src/Dodge/PlacementSpot.hs 62;" f -isUnusedLnkType src/Dodge/PlacementSpot.hs 191;" f -isUsedLnkUnplaced src/Dodge/PlacementSpot.hs 175;" f +isUnusedLnk src/Dodge/PlacementSpot.hs 63;" f +isUnusedLnkType src/Dodge/PlacementSpot.hs 197;" f +isUsedLnkUnplaced src/Dodge/PlacementSpot.hs 181;" f isValidCommand src/Dodge/Debug/Terminal.hs 134;" f isVowel src/StringHelp.hs 8;" f isWalkable src/Dodge/WorldEvent/ThingsHit.hs 183;" f @@ -4235,12 +4237,12 @@ moveZoomCamera src/Dodge/Update/Camera.hs 92;" f mtTopLabels src/Dodge/Tree/Compose.hs 51;" f mtUnderLabels src/Dodge/Tree/Compose.hs 54;" f muchWlDustAt src/Dodge/Wall/Dust.hs 10;" f -muin src/Dodge/RoomLink.hs 147;" f +muin src/Dodge/RoomLink.hs 149;" f multGunCrit src/Dodge/Creature.hs 75;" f multiArrow src/Picture/Composite.hs 11;" f multiLookupTrie src/SimpleTrie.hs 57;" f multiLookupTrieI src/SimpleTrie.hs 66;" f -muout src/Dodge/RoomLink.hs 144;" f +muout src/Dodge/RoomLink.hs 146;" f muzFlareAt src/Dodge/HeldUse.hs 681;" f muzzlePos src/Dodge/HeldUse.hs 767;" f muzzleRandPos src/Dodge/HeldUse.hs 776;" f @@ -4322,15 +4324,15 @@ orientAttachment src/Dodge/Item/Orientation.hs 80;" f orientByParentChSF src/Dodge/Item/Orientation.hs 35;" f orientChild src/Dodge/Item/Orientation.hs 19;" f orthogonalPointOnSeg src/Geometry/Intersect.hs 312;" f -outLink src/Dodge/RoomLink.hs 120;" f +outLink src/Dodge/RoomLink.hs 122;" f outsideScreenPolygon src/Dodge/Debug/Picture.hs 44;" f outwardIntegers src/Dodge/Base.hs 181;" f overCol src/Picture/Base.hs 303;" f overColObj src/Shape.hs 270;" f overColSH src/Shape.hs 238;" f overDebugEvent src/Dodge/Debug.hs 38;" f -overLnkPosDir src/Dodge/RoomLink.hs 115;" f -overLnkType src/Dodge/RoomLink.hs 105;" f +overLnkPosDir src/Dodge/RoomLink.hs 117;" f +overLnkType src/Dodge/RoomLink.hs 107;" f overPos src/Picture/Base.hs 298;" f overPosObj src/Shape.hs 274;" f overPosSH src/Shape.hs 258;" f @@ -4382,7 +4384,7 @@ pincerP'' src/Dodge/Creature/Boid.hs 106;" f pincerP''' src/Dodge/Creature/Boid.hs 77;" f pipe src/Dodge/Item/Craftable.hs 29;" f pistol src/Dodge/Item/Held/Stick.hs 18;" f -pistolerRoom src/Dodge/Room/Room.hs 339;" f +pistolerRoom src/Dodge/Room/Room.hs 343;" f pjRemoteSetDirection src/Dodge/Projectile/Update.hs 196;" f plBlock src/Dodge/Placement/PlaceSpot/Block.hs 24;" f plDoor src/Dodge/Placement/PlaceSpot/TriggerDoor.hs 12;" f @@ -4455,8 +4457,8 @@ pokeWall src/Shader/Poke.hs 80;" f pokeWallsWindows src/Shader/Poke.hs 52;" f poly3 src/Picture/Base.hs 76;" f poly3Col src/Picture/Base.hs 80;" f -polyChasm src/Dodge/Room/Tutorial.hs 275;" f -polyChasmC src/Dodge/Room/Tutorial.hs 284;" f +polyChasm src/Dodge/Room/Tutorial.hs 278;" f +polyChasmC src/Dodge/Room/Tutorial.hs 287;" f polyCirc src/Shape.hs 47;" f polyCircx src/Shape.hs 52;" f polyCornerDist src/Geometry/Polygon.hs 69;" f @@ -4518,9 +4520,9 @@ psPt src/Dodge/LevelGen/PlacementHelper.hs 24;" f psPtCont src/Dodge/LevelGen/PlacementHelper.hs 18;" f psPtJpl src/Dodge/LevelGen/PlacementHelper.hs 12;" f psPtPl src/Dodge/LevelGen/PlacementHelper.hs 9;" f -psRandRanges src/Dodge/PlacementSpot.hs 261;" f +psRandRanges src/Dodge/PlacementSpot.hs 267;" f psj src/Dodge/LevelGen/PlacementHelper.hs 71;" f -psposAddLabel src/Dodge/PlacementSpot.hs 70;" f +psposAddLabel src/Dodge/PlacementSpot.hs 71;" f pt0 src/Dodge/LevelGen/PlacementHelper.hs 55;" f ptCont src/Dodge/LevelGen/PlacementHelper.hs 21;" f pulseChecker src/Dodge/Item/Equipment.hs 84;" f @@ -4571,7 +4573,7 @@ radToDeg src/Geometry/Vector.hs 123;" f radiusSpring src/Dodge/Update.hs 903;" f randBlockBreakWeapon src/Dodge/Item/Random.hs 7;" f randC1 src/Dodge/Placement/Instance/Creature.hs 8;" f -randDirPS src/Dodge/PlacementSpot.hs 57;" f +randDirPS src/Dodge/PlacementSpot.hs 58;" f randDirSpark src/Dodge/Spark.hs 56;" f randEdgeTank src/Dodge/Room/Tanks.hs 34;" f randEdgeTanks src/Dodge/Room/Tanks.hs 52;" f @@ -4647,7 +4649,7 @@ removeAimPosture src/Dodge/Creature/YourControl.hs 159;" f removeAmmoFromMag src/Dodge/HeldUse.hs 905;" f removeDot src/ShortShow.hs 44;" f removeInverseWalls src/Dodge/LevelGen/StaticWalls.hs 25;" f -removeLights src/Dodge/Room/Tutorial.hs 340;" f +removeLights src/Dodge/Room/Tutorial.hs 344;" f removeShieldWall src/Dodge/Item/BackgroundEffect.hs 71;" f removeWallsInPolygon src/Dodge/LevelGen/StaticWalls.hs 182;" f renderDataResizeUpdate src/Preload/Update.hs 27;" f @@ -4661,7 +4663,7 @@ renderShadows src/Render.hs 116;" f replaceNullWith src/Dodge/Creature/ReaderUpdate.hs 168;" f replacePutID src/Dodge/Placement/Instance/Wall.hs 81;" f resetCrVocCoolDown src/Dodge/Creature/Vocalization.hs 66;" f -resetPLUse src/Dodge/PlacementSpot.hs 93;" f +resetPLUse src/Dodge/PlacementSpot.hs 94;" f resetStride src/Dodge/Creature/State/WalkCycle.hs 25;" f resetTerminal src/Dodge/WorldEffect.hs 160;" f resizeFBOTO src/Framebuffer/Update.hs 185;" f @@ -4700,14 +4702,14 @@ rightLegPQ src/Dodge/Creature/HandPos.hs 101;" f rightPad src/Padding.hs 19;" f rightPadNoSquash src/Padding.hs 23;" f rightWristPQ src/Dodge/Creature/HandPos.hs 58;" f -rlPosDir src/Dodge/RoomLink.hs 112;" f +rlPosDir src/Dodge/RoomLink.hs 114;" f rlauncherPic src/Dodge/Item/Draw/SPic.hs 399;" f -rmInLinks src/Dodge/RoomLink.hs 153;" f +rmInLinks src/Dodge/RoomLink.hs 155;" f rmInvItem src/Dodge/Inventory.hs 74;" f -rmLinksOfType src/Dodge/RoomLink.hs 150;" f -rmOutLinks src/Dodge/RoomLink.hs 153;" f +rmLinksOfType src/Dodge/RoomLink.hs 152;" f +rmOutLinks src/Dodge/RoomLink.hs 155;" f roomC src/Dodge/Room/Room.hs 49;" f -roomCCrits src/Dodge/Room/Room.hs 280;" f +roomCCrits src/Dodge/Room/Room.hs 284;" f roomCenterPillar src/Dodge/Room/Room.hs 135;" f roomCritLS src/Dodge/Room/RunPast.hs 24;" f roomCross src/Dodge/Room/Boss.hs 79;" f @@ -4720,7 +4722,7 @@ roomPillarsContaining src/Dodge/Room/Containing.hs 39;" f roomPillarsPassage src/Dodge/Room/Pillar.hs 93;" f roomPillarsSquare src/Dodge/Room/Pillar.hs 49;" f roomRect src/Dodge/Room/Procedural.hs 42;" f -roomRectAutoLinks src/Dodge/Room/Procedural.hs 119;" f +roomRectAutoLights src/Dodge/Room/Procedural.hs 119;" f roomShuriken src/Dodge/Room/Boss.hs 116;" f roomTwistCross src/Dodge/Room/Boss.hs 147;" f roomsContaining src/Dodge/Room/Containing.hs 20;" f @@ -4751,12 +4753,12 @@ rotateXY src/Polyhedra.hs 28;" f roundPoint2 src/Geometry/Intersect.hs 237;" f roundTank src/Dodge/Placement/Instance/Tank.hs 26;" f roundTankCross src/Dodge/Placement/Instance/Tank.hs 32;" f -rpIsOffGrid src/Dodge/PlacementSpot.hs 82;" f -rpIsOnGrid src/Dodge/PlacementSpot.hs 76;" f -rpOffPathFromEdge src/Dodge/PlacementSpot.hs 88;" f -rprBool src/Dodge/PlacementSpot.hs 73;" f -rprBoolShift src/Dodge/PlacementSpot.hs 108;" f -rprShift src/Dodge/PlacementSpot.hs 99;" f +rpIsOffGrid src/Dodge/PlacementSpot.hs 83;" f +rpIsOnGrid src/Dodge/PlacementSpot.hs 77;" f +rpOffPathFromEdge src/Dodge/PlacementSpot.hs 89;" f +rprBool src/Dodge/PlacementSpot.hs 74;" f +rprBoolShift src/Dodge/PlacementSpot.hs 109;" f +rprShift src/Dodge/PlacementSpot.hs 100;" f rsObjectColor src/Dodge/RadarSweep/Draw.hs 34;" f runPastStart src/Dodge/Room/Start.hs 72;" f runStateWorld src/Dodge/Randify.hs 18;" f @@ -4831,7 +4833,7 @@ sensorReqToString src/Dodge/Machine/Update.hs 252;" f sensorRoom src/Dodge/Room/SensorDoor.hs 26;" f sensorRoomRunPast src/Dodge/Room/SensorDoor.hs 46;" f sensorSPic src/Dodge/Machine/Draw.hs 99;" f -sensorTut src/Dodge/Room/Tutorial.hs 451;" f +sensorTut src/Dodge/Room/Tutorial.hs 455;" f sensorTypeDamages src/Dodge/Machine/Update.hs 298;" f sentinelAI src/Dodge/Creature/SentinelAI.hs 20;" f sentinelExtraWatchUpdate src/Dodge/Creature/SentinelAI.hs 82;" f @@ -4841,21 +4843,21 @@ setChannelPos src/Sound.hs 152;" f setClickWorldPos src/Dodge/Update.hs 109;" f setClip src/Dodge/Debug.hs 201;" f setDepth src/Picture/Base.hs 120;" f -setDirPS src/Dodge/PlacementSpot.hs 50;" f -setFallback src/Dodge/PlacementSpot.hs 126;" f +setDirPS src/Dodge/PlacementSpot.hs 51;" f +setFallback src/Dodge/PlacementSpot.hs 127;" f setInLinks src/Dodge/RoomLink.hs 53;" f -setInLinksByType src/Dodge/RoomLink.hs 72;" f -setInLinksPD src/Dodge/RoomLink.hs 92;" f +setInLinksByType src/Dodge/RoomLink.hs 74;" f +setInLinksPD src/Dodge/RoomLink.hs 94;" f setInvPosFromSS src/Dodge/Inventory/Location.hs 92;" f setLayer src/Picture/Base.hs 131;" f -setLinkType src/Dodge/RoomLink.hs 78;" f -setLinkTypePD src/Dodge/RoomLink.hs 85;" f +setLinkType src/Dodge/RoomLink.hs 80;" f +setLinkTypePD src/Dodge/RoomLink.hs 87;" f setMusicVolume src/Sound.hs 164;" f setMvPos src/Dodge/Creature/ReaderUpdate.hs 58;" f setOldPos src/Dodge/Update.hs 538;" f setOutLinks src/Dodge/RoomLink.hs 50;" f -setOutLinksByType src/Dodge/RoomLink.hs 75;" f -setOutLinksPD src/Dodge/RoomLink.hs 95;" f +setOutLinksByType src/Dodge/RoomLink.hs 77;" f +setOutLinksPD src/Dodge/RoomLink.hs 97;" f setRBCreatureTargeting src/Dodge/Creature/State.hs 290;" f setRoomInt src/Dodge/Room/Tutorial.hs 86;" f setSelWhileDragging src/Dodge/Update/Input/InGame.hs 342;" f @@ -4897,10 +4899,10 @@ shellMag src/Dodge/Item/Ammo.hs 46;" f shellModule src/Dodge/Item/Scope.hs 128;" f shellShape src/Dodge/Projectile/Draw.hs 35;" f shieldWall src/Dodge/Item/BackgroundEffect.hs 91;" f -shiftByV2 src/Dodge/PlacementSpot.hs 251;" f +shiftByV2 src/Dodge/PlacementSpot.hs 257;" f shiftChildren src/Dodge/Tree/Compose.hs 45;" f shiftDraw src/Dodge/Render/ShapePicture.hs 121;" f -shiftInBy src/Dodge/PlacementSpot.hs 248;" f +shiftInBy src/Dodge/PlacementSpot.hs 254;" f shiftInvItems src/Dodge/Update/Input/InGame.hs 310;" f shiftInvItemsDown src/Dodge/Update/Input/InGame.hs 355;" f shiftInvItemsUp src/Dodge/Update/Input/InGame.hs 349;" f @@ -4927,10 +4929,10 @@ shootShatter src/Dodge/Item/Weapon/Shatter.hs 12;" f shootTeslaArc src/Dodge/HeldUse.hs 1181;" f shootTillEmpty src/Dodge/Creature/Volition.hs 19;" f shootTractorBeam src/Dodge/HeldUse.hs 819;" f -shootersRoom src/Dodge/Room/Room.hs 333;" f -shootersRoom' src/Dodge/Room/Room.hs 300;" f -shootersRoom1 src/Dodge/Room/Room.hs 323;" f -shootingRange src/Dodge/Room/Room.hs 350;" f +shootersRoom src/Dodge/Room/Room.hs 337;" f +shootersRoom' src/Dodge/Room/Room.hs 304;" f +shootersRoom1 src/Dodge/Room/Room.hs 327;" f +shootingRange src/Dodge/Room/Room.hs 354;" f shortPoint2 src/Dodge/ShortShow.hs 4;" f shortShow src/ShortShow.hs 7;" f shotgunS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 527;" f @@ -5029,7 +5031,7 @@ sparkRandDir src/Dodge/Spark.hs 117;" f sparkToDamage src/Dodge/Spark.hs 40;" f spawnAt src/Dodge/SpawnAt.hs 14;" f spawnerCrit src/Dodge/Creature.hs 54;" f -spawnerRoom src/Dodge/Room/Room.hs 378;" f +spawnerRoom src/Dodge/Room/Room.hs 382;" f speedLegs src/Dodge/Item/Equipment.hs 74;" f splashMenu src/Dodge/Menu.hs 31;" f splashMenuOptions src/Dodge/Menu.hs 36;" f @@ -5108,7 +5110,7 @@ subMap src/TreeHelp.hs 119;" f subZipWith src/Dodge/Placement/Instance/Wall.hs 94;" f succB src/Dodge/Debug.hs 121;" f swapAnyExtraSelection src/Dodge/Inventory/Swap.hs 57;" f -swapInOutLinks src/Dodge/RoomLink.hs 98;" f +swapInOutLinks src/Dodge/RoomLink.hs 100;" f swapIndices src/ListHelp.hs 50;" f swapInvItems src/Dodge/Inventory/Swap.hs 22;" f swapItemWith src/Dodge/Inventory.hs 164;" f @@ -5211,10 +5213,10 @@ titleOptionsNoWrite src/Dodge/Menu.hs 107;" f tlDoEffect src/Dodge/Terminal.hs 115;" f tlSetStatus src/Dodge/Terminal.hs 112;" f tmDistributeAmmo src/Dodge/WorldEffect.hs 120;" f -tmDistributeLines src/Dodge/Room/Room.hs 452;" f +tmDistributeLines src/Dodge/Room/Room.hs 456;" f tmMachine src/Dodge/Placement/Instance/Terminal.hs 54;" f toBinary src/Dodge/Inventory/SelectionList.hs 138;" f -toBothLnk src/Dodge/RoomLink.hs 136;" f +toBothLnk src/Dodge/RoomLink.hs 138;" f toClosestMultiple src/HelpNum.hs 3;" f toColor8 src/Color.hs 158;" f toFloatVAs src/Shader/Compile.hs 66;" f @@ -5314,11 +5316,11 @@ turnTo src/Dodge/Movement/Turn.hs 8;" f turretItemOffset src/Dodge/Item/HeldOffset.hs 22;" f tutAnoTree src/Dodge/Room/Tutorial.hs 48;" f tutDrop src/Dodge/Room/Tutorial.hs 98;" f -tutHub src/Dodge/Room/Tutorial.hs 347;" f -tutLight src/Dodge/Room/Tutorial.hs 312;" f -tutRezBox src/Dodge/Room/Tutorial.hs 462;" f +tutHub src/Dodge/Room/Tutorial.hs 351;" f +tutLight src/Dodge/Room/Tutorial.hs 316;" f +tutRezBox src/Dodge/Room/Tutorial.hs 466;" f tutRoomTree src/Dodge/Floor.hs 21;" f -tutorialMessage1 src/Dodge/Room/Tutorial.hs 485;" f +tutorialMessage1 src/Dodge/Room/Tutorial.hs 489;" f tweenAngles src/Geometry/Vector.hs 190;" f twinSlowDoorChasers src/Dodge/Room/LongDoor.hs 79;" f twinSlowDoorRoom src/Dodge/Room/LongDoor.hs 34;" f @@ -5326,7 +5328,7 @@ twists src/Dodge/Creature/Test.hs 102;" f twoFlat src/Dodge/Creature/Test.hs 99;" f twoFlatHRot src/Dodge/Item/HeldOffset.hs 75;" f twoHandTwistAmount src/Dodge/Creature/YourControl.hs 166;" f -twoRoomPoss src/Dodge/PlacementSpot.hs 147;" f +twoRoomPoss src/Dodge/PlacementSpot.hs 148;" f twoStep1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 519;" f twoStepS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 567;" f twoStepSlowS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 649;" f @@ -5345,10 +5347,10 @@ unsafeSwapKeys src/IntMapHelp.hs 75;" f unshadowBlock src/Dodge/Block.hs 14;" f untilJust src/MonadHelp.hs 7;" f untilJustCount src/MonadHelp.hs 14;" f -unusedOffPathAwayFromLink src/Dodge/PlacementSpot.hs 132;" f -unusedSpotAwayFromInLink src/Dodge/PlacementSpot.hs 138;" f -unusedSpotAwayFromLink src/Dodge/PlacementSpot.hs 120;" f -unusedSpotNearInLink src/Dodge/PlacementSpot.hs 197;" f +unusedOffPathAwayFromLink src/Dodge/PlacementSpot.hs 133;" f +unusedSpotAwayFromInLink src/Dodge/PlacementSpot.hs 139;" f +unusedSpotAwayFromLink src/Dodge/PlacementSpot.hs 121;" f +unusedSpotNearInLink src/Dodge/PlacementSpot.hs 203;" f updateAimPos src/Dodge/Update.hs 353;" f updateAllNodes src/TreeHelp.hs 86;" f updateArc src/Dodge/Tesla.hs 43;" f @@ -5496,19 +5498,19 @@ useHotkey src/Dodge/Creature/YourControl.hs 77;" f useInventoryPath src/Dodge/HeldUse.hs 1377;" f useItem src/Dodge/Creature/Impulse/UseItem.hs 19;" f useItemLoc src/Dodge/Creature/Impulse/UseItem.hs 26;" f -useLnkRoomPos src/Dodge/PlacementSpot.hs 256;" f +useLnkRoomPos src/Dodge/PlacementSpot.hs 262;" f useLoadedAmmo src/Dodge/HeldUse.hs 723;" f useMagShield src/Dodge/Euse.hs 33;" f useNormalCamera src/Dodge/Camera.hs 6;" f usePayload src/Dodge/Payload.hs 18;" f useRewindGun src/Dodge/HeldUse.hs 1337;" f -useRoomPosCond src/Dodge/PlacementSpot.hs 181;" f -useRoomPosRoomCond src/Dodge/PlacementSpot.hs 184;" f +useRoomPosCond src/Dodge/PlacementSpot.hs 187;" f +useRoomPosRoomCond src/Dodge/PlacementSpot.hs 190;" f useStopWatch src/Dodge/HeldUse.hs 1318;" f useTimeScrollGun src/Dodge/HeldUse.hs 1326;" f -useUnusedLnk src/Dodge/PlacementSpot.hs 172;" f -usedRoomInLinkPoss src/Dodge/PlacementSpot.hs 203;" f -usedRoomLinkPoss src/Dodge/PlacementSpot.hs 210;" f +useUnusedLnk src/Dodge/PlacementSpot.hs 178;" f +usedRoomInLinkPoss src/Dodge/PlacementSpot.hs 209;" f +usedRoomLinkPoss src/Dodge/PlacementSpot.hs 216;" f v2z src/Geometry/Vector3D.hs 93;" f vCen3 src/Geometry/Vector3D.hs 115;" f vInverse src/Geometry/Vector.hs 154;" f @@ -5560,7 +5562,7 @@ weaponBehindPillar src/Dodge/Room/Room.hs 195;" f weaponBetweenPillars src/Dodge/Room/Room.hs 211;" f weaponEmptyRoom src/Dodge/Room/Room.hs 156;" f weaponLongCorridor src/Dodge/Room/Room.hs 236;" f -weaponRoom src/Dodge/Room/Room.hs 269;" f +weaponRoom src/Dodge/Room/Room.hs 273;" f weaponUnderCrits src/Dodge/Room/Room.hs 174;" f wedgeGeom src/Dodge/Base.hs 42;" f wedgeOfThickness src/Dodge/Picture.hs 9;" f