From 6b5090e697ae7a22eb77fa28d9d912abe8b17f89 Mon Sep 17 00:00:00 2001 From: justin Date: Mon, 13 Oct 2025 06:30:55 +0100 Subject: [PATCH] Start work on pathfinding --- src/Dodge/Creature/Boid.hs | 3 - src/Dodge/Creature/Update.hs | 8 +- src/Dodge/Debug/Picture.hs | 4 +- src/Dodge/Path.hs | 4 +- src/Dodge/Room/Room.hs | 6 +- src/Dodge/Room/Tutorial.hs | 2 +- tags | 525 +++++++++++++++++------------------ 7 files changed, 265 insertions(+), 287 deletions(-) diff --git a/src/Dodge/Creature/Boid.hs b/src/Dodge/Creature/Boid.hs index 4d25f583c..57197c609 100644 --- a/src/Dodge/Creature/Boid.hs +++ b/src/Dodge/Creature/Boid.hs @@ -142,7 +142,6 @@ holdForm ycr crs cr = p cpos = cr ^. crPos . _xy ps = map (^. crPos . _xy) $ IM.elems crs cen = centroid ps - --cen = (1 / fromIntegral (length ps)) *.* foldr1 (+.+) ps p | dist cen ypos < 20 = ypos | otherwise = ypos +.+ cpos -.- cen @@ -153,7 +152,6 @@ lineUp ycr crs cr = p ypos = ycr ^. crPos . _xy cpos = cr ^. crPos . _xy ps = map (^. crPos . _xy) $ IM.elems crs - --cen = (1 / fromIntegral (length ps)) *.* foldr1 (+.+) ps cen = centroid ps p = (0.05 *.* ypos) +.+ (0.95 *.* errorClosestPointOnLine 500 cen ypos cpos) @@ -165,7 +163,6 @@ spreadOut ycr crs cr = p cpos = cr ^. crPos . _xy ps = map (^. crPos . _xy) $ IM.elems crs cen = centroid ps - -- cen = (1 / fromIntegral (length ps)) *.* foldr1 (+.+) ps p | dist cen ypos < 30 = ypos | otherwise = ypos +.+ (spreadFactor *.* cpos -.- cen) diff --git a/src/Dodge/Creature/Update.hs b/src/Dodge/Creature/Update.hs index 3c7d29288..cc314772a 100644 --- a/src/Dodge/Creature/Update.hs +++ b/src/Dodge/Creature/Update.hs @@ -43,11 +43,11 @@ updateCreature' cr = chasmTest cr . case _crType cr of Avatar{} -> (cWorld . lWorld . creatures . ix 0 . crType . avatarPulse %~ updatePulse) - . crUpdate' yourControl cr + . crUpdate yourControl cr LampCrit{} -> updateLampoid cr BarrelCrit bt -> updateBarreloid bt cr AvatarDead -> id - _ -> crUpdate' updateHumanoid cr + _ -> crUpdate updateHumanoid cr {- | this seems to work, but I am not sure about the ordering: previously, the movement was updated before the ai in order to correctly set the oldpos. @@ -56,8 +56,8 @@ updateCreature' cr = at what point invSideEffects is applied wrt to when the creature moves may affect whether the shield moves correctly -} -crUpdate' :: (Creature -> World -> World) -> Creature -> World -> World -crUpdate' f cr = +crUpdate :: (Creature -> World -> World) -> Creature -> World -> World +crUpdate f cr = checkDeath cid . doDamage cid . invItemEffs cid diff --git a/src/Dodge/Debug/Picture.hs b/src/Dodge/Debug/Picture.hs index 098477d15..b938a8389 100644 --- a/src/Dodge/Debug/Picture.hs +++ b/src/Dodge/Debug/Picture.hs @@ -200,8 +200,8 @@ drawCreatureDisplayTexts w = foldMap (creatureDisplayText w) (w ^. cWorld . lWor drawPathBetween :: World -> Picture drawPathBetween w = concat $ do - sp <- w ^. input . clickPos . at ButtonLeft - ep <- w ^. input . clickPos . at ButtonRight + sp <- w ^. input . heldWorldPos . at ButtonLeft + ep <- w ^. input . heldWorldPos . at ButtonRight let nodepos = (`getNodePos` w) nodelist = makePathBetween sp ep w return . setLayer DebugLayer $ diff --git a/src/Dodge/Path.hs b/src/Dodge/Path.hs index b76882481..5aef47e6a 100644 --- a/src/Dodge/Path.hs +++ b/src/Dodge/Path.hs @@ -52,7 +52,6 @@ walkableNodeNear w p = fmap fst . find (flip (isWalkable p) w . snd) $ nodesNear nodesNear = zonesExtract (w ^. pnZoning) $ zonesAroundPoint pnZoneSize p makePathBetweenPs :: Point2 -> Point2 -> World -> Maybe [Point2] ---makePathBetweenPs a b w = mapMaybe (lab $ _pathGraph (_cWorld w)) <$> makePathBetween a b w makePathBetweenPs a b w = mapMaybe (lab $ w ^. cWorld . pathGraph) <$> makePathBetween a b w bfsNodePoints :: Int -> World -> [Point2] @@ -61,7 +60,8 @@ bfsNodePoints n w = mapMaybe (lab g) $ bfs n g g = w ^. cWorld . pathGraph pointTowardsImpulse :: Point2 -> Point2 -> World -> Maybe Point2 -pointTowardsImpulse a b w = (find (flip (isWalkable a) w) . reverse) =<< makePathBetweenPs a b w +pointTowardsImpulse a b w = (find (flip (isWalkable a) w) . reverse) =<< + (makePathBetweenPs a b w <&> (<>[b])) ------ continues a walk from a list of points, without repetitions ------ supposes that the list is non-empty diff --git a/src/Dodge/Room/Room.hs b/src/Dodge/Room/Room.hs index ebcd2b179..0dd270bda 100644 --- a/src/Dodge/Room/Room.hs +++ b/src/Dodge/Room/Room.hs @@ -399,9 +399,9 @@ critsRoom :: Int -> State LayoutVars (Tree Room) critsRoom i = join $ takeOne - [ return <$> roomCCrits i - , return <$> critsPillarRoom i - , return <$> glassSwitchBackCrits i +-- [ return <$> roomCCrits i +-- , return <$> critsPillarRoom i + [ return <$> glassSwitchBackCrits i ] -- cor <- shuffleLinks corridor diff --git a/src/Dodge/Room/Tutorial.hs b/src/Dodge/Room/Tutorial.hs index 1b45e1a40..1757b54cd 100644 --- a/src/Dodge/Room/Tutorial.hs +++ b/src/Dodge/Room/Tutorial.hs @@ -230,7 +230,7 @@ removeLights = rmPmnts %~ mapMaybe f tutHub :: State LayoutVars (MetaTree Room String) tutHub = do - (is, wbp) <- setTreeInts =<< critsRoom 2 + (is, wbp) <- setTreeInts =<< critsRoom 1 i <- nextLayoutInt j <- nextLayoutInt k <- nextLayoutInt diff --git a/tags b/tags index 95548ba1b..226ee263c 100644 --- a/tags +++ b/tags @@ -16,7 +16,7 @@ <$> src/Dodge/Data/CWorld.hs 47;" o <$> src/Dodge/Data/Camera.hs 39;" o <$> src/Dodge/Data/Creature.hs 89;" o -<$> src/Dodge/Data/LWorld.hs 180;" o +<$> src/Dodge/Data/LWorld.hs 177;" o <$> src/Dodge/Data/Terminal.hs 70;" o ABSOLUTE src/Dodge/Data/Item/Combine.hs 40;" C AIUNIT src/Dodge/Data/Item/Combine.hs 75;" C @@ -62,7 +62,7 @@ ArbitraryAction src/Dodge/Data/ActionPlan.hs 166;" C ArbitraryImpulse src/Dodge/Data/ActionPlan.hs 47;" C ArbitraryImpulseEffect src/Dodge/Data/ActionPlan.hs 48;" C ArbitraryImpulseFunction src/Dodge/Data/ActionPlan.hs 46;" C -ArcNodeType src/Dodge/Data/LWorld.hs 160;" t +ArcNodeType src/Dodge/Data/LWorld.hs 157;" t ArcShad src/Picture/Data.hs 38;" C ArcStep src/Dodge/Data/ArcStep.hs 14;" t Arcing src/Dodge/Data/Item/Params.hs 17;" C @@ -254,7 +254,7 @@ CookingDamage src/Dodge/Data/Damage/Type.hs 5;" C Corporation src/Dodge/Data/Scenario.hs 46;" C Cosmic src/Dodge/Data/Scenario.hs 74;" C CrAc src/Dodge/Data/CreatureEffect.hs 48;" t -CrArcNode src/Dodge/Data/LWorld.hs 165;" C +CrArcNode src/Dodge/Data/LWorld.hs 162;" C CrBl src/Dodge/Data/CreatureEffect.hs 39;" t CrCanShoot src/Dodge/Data/CreatureEffect.hs 40;" C CrChasm src/Dodge/Data/SoundOrigin.hs 19;" C @@ -657,7 +657,7 @@ LIGHTER src/Dodge/Data/Item/Combine.hs 67;" C LIGHTSENSOR src/Dodge/Data/Item/Combine.hs 80;" C LS src/Dodge/Data/LightSource.hs 23;" C LSParam src/Dodge/Data/LightSource.hs 16;" t -LWorld src/Dodge/Data/LWorld.hs 97;" t +LWorld src/Dodge/Data/LWorld.hs 95;" t LabLink src/Dodge/Data/Room.hs 46;" C LabSS src/Dodge/Data/Scenario.hs 97;" C LabelAction src/Dodge/Data/ActionPlan.hs 79;" C @@ -982,12 +982,11 @@ PLUS src/Dodge/Data/GenParams.hs 20;" C POISONSPRAYER src/Dodge/Data/Item/Combine.hs 173;" C PORTABLEFUSION src/Dodge/Data/Item/Combine.hs 88;" C POWERLEGS src/Dodge/Data/Item/Combine.hs 129;" C -PPLevelReset src/Dodge/Data/PressPlate.hs 16;" C PRISM src/Dodge/Data/Item/Combine.hs 66;" C -PS src/Dodge/Data/GenWorld.hs 97;" C -PSNoShiftCont src/Dodge/Data/GenWorld.hs 98;" C -PSPos src/Dodge/Data/GenWorld.hs 99;" C -PSRoomRand src/Dodge/Data/GenWorld.hs 104;" 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 PSType src/Dodge/Data/GenWorld.hs 32;" t PUMP src/Dodge/Data/Item/Combine.hs 63;" C PaletteColor src/Color/Data.hs 14;" t @@ -1006,8 +1005,8 @@ PhysicalSensor src/Dodge/Data/Machine/Sensor.hs 18;" C Picture src/Picture/Data.hs 46;" t Piercing src/Dodge/Data/Damage.hs 20;" C PistolAI src/Dodge/Data/Creature/Misc.hs 43;" C -Placement src/Dodge/Data/GenWorld.hs 110;" t -PlacementSpot src/Dodge/Data/GenWorld.hs 96;" t +Placement src/Dodge/Data/GenWorld.hs 108;" t +PlacementSpot src/Dodge/Data/GenWorld.hs 94;" t PlainBarrel src/Dodge/Data/Creature/Misc.hs 88;" C PlantNurserySS src/Dodge/Data/Scenario.hs 96;" C PlayStatus src/Sound/Data.hs 23;" t @@ -1032,9 +1031,6 @@ PrWdLsLs src/Dodge/Data/Prop.hs 82;" t PrWdLsSetColor src/Dodge/Data/Prop.hs 85;" C PrWdLsSetPosition src/Dodge/Data/Prop.hs 84;" C PreloadData src/Data/Preload.hs 10;" t -PressPlate src/Dodge/Data/PressPlate.hs 19;" t -PressPlateEvent src/Dodge/Data/PressPlate.hs 14;" t -PressPlateId src/Dodge/Data/PressPlate.hs 15;" C PrimitiveMode src/Shader/Data.hs 99;" t PrintMaterial src/Dodge/Data/AmmoType.hs 12;" C Prison src/Dodge/Data/Scenario.hs 65;" C @@ -1076,29 +1072,28 @@ PulseStatus src/Dodge/Data/Creature/Misc.hs 54;" C PushSource src/Dodge/Data/Door.hs 27;" t PushedBy src/Dodge/Data/Door.hs 29;" C PushesItself src/Dodge/Data/Door.hs 28;" C -PutBlock src/Dodge/Data/GenWorld.hs 46;" C +PutBlock src/Dodge/Data/GenWorld.hs 45;" C PutButton src/Dodge/Data/GenWorld.hs 41;" C -PutChasm src/Dodge/Data/GenWorld.hs 64;" C -PutCoord src/Dodge/Data/GenWorld.hs 47;" C +PutChasm src/Dodge/Data/GenWorld.hs 63;" C +PutCoord src/Dodge/Data/GenWorld.hs 46;" C PutCrit src/Dodge/Data/GenWorld.hs 33;" C -PutDoor src/Dodge/Data/GenWorld.hs 58;" C +PutDoor src/Dodge/Data/GenWorld.hs 57;" C PutFlIt src/Dodge/Data/GenWorld.hs 44;" C -PutForeground src/Dodge/Data/GenWorld.hs 60;" C -PutID src/Dodge/Data/GenWorld.hs 63;" C +PutForeground src/Dodge/Data/GenWorld.hs 59;" C +PutID src/Dodge/Data/GenWorld.hs 62;" C PutLS src/Dodge/Data/GenWorld.hs 40;" C -PutLabel src/Dodge/Data/GenWorld.hs 65;" C -PutLineBlock src/Dodge/Data/GenWorld.hs 50;" C +PutLabel src/Dodge/Data/GenWorld.hs 64;" C +PutLineBlock src/Dodge/Data/GenWorld.hs 49;" C PutMachine src/Dodge/Data/GenWorld.hs 34;" C -PutMod src/Dodge/Data/GenWorld.hs 48;" C -PutNothing src/Dodge/Data/GenWorld.hs 62;" C +PutMod src/Dodge/Data/GenWorld.hs 47;" C +PutNothing src/Dodge/Data/GenWorld.hs 61;" C PutOnEquipment src/Dodge/Data/RightButtonOptions.hs 21;" C -PutPPlate src/Dodge/Data/GenWorld.hs 45;" C PutProp src/Dodge/Data/GenWorld.hs 42;" C -PutSlideDr src/Dodge/Data/GenWorld.hs 57;" C +PutSlideDr src/Dodge/Data/GenWorld.hs 56;" C PutTerminal src/Dodge/Data/GenWorld.hs 43;" C -PutTrigger src/Dodge/Data/GenWorld.hs 49;" C -PutWall src/Dodge/Data/GenWorld.hs 56;" C -PutWorldUpdate src/Dodge/Data/GenWorld.hs 61;" C +PutTrigger src/Dodge/Data/GenWorld.hs 48;" C +PutWall src/Dodge/Data/GenWorld.hs 55;" C +PutWorldUpdate src/Dodge/Data/GenWorld.hs 60;" C QFloat src/Geometry/Data.hs 50;" t QuarterRes src/Dodge/Data/Config.hs 97;" C QuicksaveSlot src/Dodge/Data/SaveSlot.hs 10;" C @@ -1122,7 +1117,7 @@ RadialDistortion src/Dodge/Data/Distortion.hs 13;" C RandImpulse src/Dodge/Data/ActionPlan.hs 62;" t RandImpulseCircMove src/Dodge/Data/ActionPlan.hs 64;" C RandImpulseList src/Dodge/Data/ActionPlan.hs 63;" C -RandPS src/Dodge/Data/GenWorld.hs 59;" C +RandPS src/Dodge/Data/GenWorld.hs 58;" C RandomImpulse src/Dodge/Data/ActionPlan.hs 32;" C RandomTurn src/Dodge/Data/ActionPlan.hs 31;" C ReactorSS src/Dodge/Data/Scenario.hs 111;" C @@ -1158,7 +1153,7 @@ Rocket src/Dodge/Data/Projectile.hs 34;" C RocketHoming src/Dodge/Data/Projectile.hs 41;" t RocketSmoke src/Dodge/Data/Projectile.hs 54;" t RocketSmoke src/Dodge/Data/Cloud.hs 24;" C -Room src/Dodge/Data/GenWorld.hs 125;" t +Room src/Dodge/Data/GenWorld.hs 123;" t RoomClipping src/Dodge/Data/Config.hs 107;" t RoomInt src/Dodge/Tree/Shift.hs 26;" t RoomLink src/Dodge/Data/Room.hs 24;" t @@ -1480,7 +1475,7 @@ WRIST_ECG src/Dodge/Data/Item/Combine.hs 136;" C WaitThen src/Dodge/Data/ActionPlan.hs 103;" C Walking src/Dodge/Data/Creature/Stance.hs 25;" C Wall src/Dodge/Data/Wall.hs 20;" t -WallArcNode src/Dodge/Data/LWorld.hs 161;" C +WallArcNode src/Dodge/Data/LWorld.hs 158;" C WallDraw src/Dodge/Data/Wall.hs 47;" t WallObstacle src/Dodge/Data/PathGraph.hs 52;" C WallP src/Dodge/LevelGen/StaticWalls.hs 23;" t @@ -1560,7 +1555,7 @@ _apProjectiles src/Dodge/Data/Item/Use.hs 46;" f _apStrategy src/Dodge/Data/ActionPlan.hs 21;" f _aps src/Dodge/Data/Muzzle.hs 22;" f _arbitraryAction src/Dodge/Data/ActionPlan.hs 167;" f -_arcNode src/Dodge/Data/LWorld.hs 115;" f +_arcNode src/Dodge/Data/LWorld.hs 113;" f _asDir src/Dodge/Data/ArcStep.hs 16;" f _asObject src/Dodge/Data/ArcStep.hs 17;" f _asPos src/Dodge/Data/ArcStep.hs 15;" f @@ -1590,7 +1585,7 @@ _blObstructs src/Dodge/Data/Block.hs 34;" f _blPos src/Dodge/Data/Block.hs 29;" f _blShadows src/Dodge/Data/Block.hs 27;" f _blWallIDs src/Dodge/Data/Block.hs 25;" f -_blocks src/Dodge/Data/LWorld.hs 129;" f +_blocks src/Dodge/Data/LWorld.hs 127;" f _bloomBlurShader src/Data/Preload/Render.hs 21;" f _bmColor src/Dodge/Data/Beam.hs 23;" f _bmDamage src/Dodge/Data/Beam.hs 22;" f @@ -1626,10 +1621,10 @@ _buOldPos src/Dodge/Data/Bullet.hs 24;" f _buPayload src/Dodge/Data/Bullet.hs 20;" f _buPos src/Dodge/Data/Bullet.hs 23;" f _buVel src/Dodge/Data/Bullet.hs 21;" f -_bullets src/Dodge/Data/LWorld.hs 107;" f +_bullets src/Dodge/Data/LWorld.hs 105;" f _burstFrames src/Dodge/Data/TriggerType.hs 12;" f _burstRate src/Dodge/Data/TriggerType.hs 12;" f -_buttons src/Dodge/Data/LWorld.hs 136;" f +_buttons src/Dodge/Data/LWorld.hs 133;" f _cClock src/Dodge/Data/CWorld.hs 26;" f _cWorld src/Dodge/Data/World.hs 37;" f _camBoundBox src/Dodge/Data/Camera.hs 31;" f @@ -1642,7 +1637,7 @@ _camRot src/Dodge/Data/Camera.hs 25;" f _camViewDistance src/Dodge/Data/Camera.hs 30;" f _camViewFrom src/Dodge/Data/Camera.hs 29;" f _camZoom src/Dodge/Data/Camera.hs 26;" f -_canID src/Dodge/Data/LWorld.hs 166;" f +_canID src/Dodge/Data/LWorld.hs 163;" f _carriage src/Dodge/Data/Creature/Stance.hs 18;" f _cdtCloseLeft src/Dodge/Data/DoubleTree.hs 88;" f _cdtCloseLeft src/Dodge/Data/DoubleTree.hs 96;" f @@ -1689,7 +1684,7 @@ _closeItems src/Dodge/Data/HUD.hs 37;" f _cloudEBO src/Data/Preload/Render.hs 51;" f _cloudShader src/Data/Preload/Render.hs 50;" f _cloudVBO src/Data/Preload/Render.hs 49;" f -_clouds src/Dodge/Data/LWorld.hs 101;" f +_clouds src/Dodge/Data/LWorld.hs 99;" f _colorBlurShader src/Data/Preload/Render.hs 22;" f _coolEnd src/Dodge/Data/TriggerType.hs 17;" f _coolSound src/Dodge/Data/Item/Params.hs 24;" f @@ -1733,8 +1728,8 @@ _crType src/Dodge/Data/Creature.hs 47;" f _crVocalization src/Dodge/Data/Creature.hs 59;" f _crZVel src/Dodge/Data/Creature.hs 43;" f _crZoning src/Dodge/Data/World.hs 48;" f -_creatureGroups src/Dodge/Data/LWorld.hs 99;" f -_creatures src/Dodge/Data/LWorld.hs 98;" f +_creatureGroups src/Dodge/Data/LWorld.hs 97;" f +_creatures src/Dodge/Data/LWorld.hs 96;" f _csLinks src/Dodge/Data/RoomCluster.hs 10;" f _currentArc src/Dodge/Data/Item/Params.hs 17;" f _currentFoot src/Dodge/Data/Creature/Stance.hs 27;" f @@ -1751,7 +1746,7 @@ _dbRot src/Dodge/Data/Prop.hs 52;" f _dbSpin src/Dodge/Data/Prop.hs 53;" f _dbType src/Dodge/Data/Prop.hs 50;" f _dbVel src/Dodge/Data/Prop.hs 51;" f -_debris src/Dodge/Data/LWorld.hs 105;" f +_debris src/Dodge/Data/LWorld.hs 103;" f _debugInfo src/Dodge/Data/Universe.hs 54;" f _debugInt src/Dodge/Data/Universe.hs 62;" f _debugMInt src/Dodge/Data/Universe.hs 61;" f @@ -1761,7 +1756,7 @@ _debugV2 src/Dodge/Data/Universe.hs 60;" f _debugV3 src/Dodge/Data/Universe.hs 59;" f _debug_booleans src/Dodge/Data/Config.hs 57;" f _debug_view_clip_bounds src/Dodge/Data/Config.hs 56;" f -_delayedEvents src/Dodge/Data/LWorld.hs 134;" f +_delayedEvents src/Dodge/Data/LWorld.hs 132;" f _diCloseFilter src/Dodge/Data/HUD.hs 36;" f _diInvFilter src/Dodge/Data/HUD.hs 35;" f _diSections src/Dodge/Data/HUD.hs 33;" f @@ -1769,7 +1764,7 @@ _diSelection src/Dodge/Data/HUD.hs 34;" f _dimAttachPos src/Dodge/Data/Item/Misc.hs 16;" f _dimCenter src/Dodge/Data/Item/Misc.hs 15;" f _dimRad src/Dodge/Data/Item/Misc.hs 14;" f -_distortions src/Dodge/Data/LWorld.hs 142;" f +_distortions src/Dodge/Data/LWorld.hs 139;" f _dmAmount src/Dodge/Data/Damage.hs 20;" f _dmAmount src/Dodge/Data/Damage.hs 23;" f _dmAmount src/Dodge/Data/Damage.hs 26;" f @@ -1802,7 +1797,7 @@ _doReplicateAction src/Dodge/Data/ActionPlan.hs 142;" f _doReplicateAction src/Dodge/Data/ActionPlan.hs 147;" f _doReplicateTimes src/Dodge/Data/ActionPlan.hs 141;" f _doReplicateTimes src/Dodge/Data/ActionPlan.hs 146;" f -_doors src/Dodge/Data/LWorld.hs 124;" f +_doors src/Dodge/Data/LWorld.hs 122;" f _drClosePos src/Dodge/Data/Door.hs 42;" f _drDeath src/Dodge/Data/Door.hs 44;" f _drHP src/Dodge/Data/Door.hs 43;" f @@ -1827,7 +1822,7 @@ _dsZoning src/Dodge/Data/World.hs 50;" f _dtLeft src/Dodge/Data/DoubleTree.hs 31;" f _dtRight src/Dodge/Data/DoubleTree.hs 31;" f _dtValue src/Dodge/Data/DoubleTree.hs 31;" f -_dusts src/Dodge/Data/LWorld.hs 102;" f +_dusts src/Dodge/Data/LWorld.hs 100;" f _ebID src/Dodge/Data/EnergyBall/Type.hs 15;" f _ebPos src/Dodge/Data/EnergyBall.hs 19;" f _ebTimer src/Dodge/Data/EnergyBall.hs 20;" f @@ -1836,7 +1831,7 @@ _ebVel src/Dodge/Data/EnergyBall.hs 18;" f _eboName src/Shader/Data.hs 89;" f _eboPtr src/Shader/Data.hs 90;" f _emoMenuOption src/Dodge/Data/Universe.hs 77;" f -_energyBalls src/Dodge/Data/LWorld.hs 109;" f +_energyBalls src/Dodge/Data/LWorld.hs 107;" f _fbSize src/Dodge/Data/EnergyBall/Type.hs 14;" f _fbo2 src/Data/Preload/Render.hs 29;" f _fbo3 src/Data/Preload/Render.hs 30;" f @@ -1852,14 +1847,14 @@ _flItRot src/Dodge/Data/FloorItem.hs 15;" f _flPos src/Dodge/Data/Flame.hs 15;" f _flTimer src/Dodge/Data/Flame.hs 14;" f _flVel src/Dodge/Data/Flame.hs 16;" f -_flames src/Dodge/Data/LWorld.hs 110;" f +_flames src/Dodge/Data/LWorld.hs 108;" f _flankTarget src/Dodge/Data/ActionPlan.hs 177;" f -_flares src/Dodge/Data/LWorld.hs 113;" f +_flares src/Dodge/Data/LWorld.hs 111;" f _flatShieldWlMIX src/Dodge/Data/Item/Params.hs 16;" f -_floorItems src/Dodge/Data/LWorld.hs 131;" f +_floorItems src/Dodge/Data/LWorld.hs 129;" f _floorShader src/Data/Preload/Render.hs 44;" f _floorVBO src/Data/Preload/Render.hs 43;" f -_foreShapes src/Dodge/Data/LWorld.hs 137;" f +_foreShapes src/Dodge/Data/LWorld.hs 134;" f _fsDir src/Dodge/Data/ForegroundShape.hs 17;" f _fsID src/Dodge/Data/ForegroundShape.hs 15;" f _fsPos src/Dodge/Data/ForegroundShape.hs 16;" f @@ -1903,11 +1898,11 @@ _guID src/Dodge/Data/Gust.hs 14;" f _guPos src/Dodge/Data/Gust.hs 15;" f _guTime src/Dodge/Data/Gust.hs 17;" f _guVel src/Dodge/Data/Gust.hs 16;" f -_gusts src/Dodge/Data/LWorld.hs 103;" f +_gusts src/Dodge/Data/LWorld.hs 101;" f _gwWorld src/Dodge/Data/GenWorld.hs 25;" f _heldPos src/Dodge/Data/Input.hs 43;" f _heldWorldPos src/Dodge/Data/Input.hs 45;" f -_hotkeys src/Dodge/Data/LWorld.hs 146;" f +_hotkeys src/Dodge/Data/LWorld.hs 143;" f _hud src/Dodge/Data/World.hs 46;" f _humanoidAI src/Dodge/Data/Creature/Misc.hs 81;" f _ibtAmmoMag src/Dodge/Data/Item/Combine.hs 21;" f @@ -1928,7 +1923,7 @@ _ilIsRoot src/Dodge/Data/Item/Location.hs 30;" f _ilIsSelected src/Dodge/Data/Item/Location.hs 31;" f _ilTuID src/Dodge/Data/Item/Location.hs 35;" f _imAttachedItems src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 27;" f -_imHotkeys src/Dodge/Data/LWorld.hs 147;" f +_imHotkeys src/Dodge/Data/LWorld.hs 144;" f _imRootSelectedItem src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 26;" f _imSelectedItem src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 25;" f _immediateEffect src/Loop/Data.hs 9;" f @@ -1954,23 +1949,23 @@ _itTgPos src/Dodge/Data/Item.hs 46;" f _itTimeLastUsed src/Dodge/Data/Item.hs 35;" f _itType src/Dodge/Data/Item.hs 29;" f _itUse src/Dodge/Data/Item.hs 27;" f -_items src/Dodge/Data/LWorld.hs 100;" f +_items src/Dodge/Data/LWorld.hs 98;" f _itsInt src/Dodge/Data/Item.hs 40;" f _itsMax src/Dodge/Data/Item.hs 41;" f _itsRangeInt src/Dodge/Data/Item.hs 41;" f _killTarget src/Dodge/Data/ActionPlan.hs 198;" f -_lAimPos src/Dodge/Data/LWorld.hs 148;" f -_lClock src/Dodge/Data/LWorld.hs 143;" f -_lInvLock src/Dodge/Data/LWorld.hs 149;" f -_lTestInt src/Dodge/Data/LWorld.hs 145;" f -_lTestString src/Dodge/Data/LWorld.hs 144;" f +_lAimPos src/Dodge/Data/LWorld.hs 145;" f +_lClock src/Dodge/Data/LWorld.hs 140;" f +_lInvLock src/Dodge/Data/LWorld.hs 146;" f +_lTestInt src/Dodge/Data/LWorld.hs 142;" f +_lTestString src/Dodge/Data/LWorld.hs 141;" f _lWorld src/Dodge/Data/CWorld.hs 24;" f _lampColor src/Dodge/Data/Creature/Misc.hs 74;" f _lampHeight src/Dodge/Data/Creature/Misc.hs 74;" f _lampLSID src/Dodge/Data/Creature/Misc.hs 74;" f _laserEmmiter src/Dodge/Data/Laser.hs 18;" f _laserTypeDamage src/Dodge/Data/Laser.hs 17;" f -_lasers src/Dodge/Data/LWorld.hs 117;" f +_lasers src/Dodge/Data/LWorld.hs 115;" f _ldpPos src/Dodge/Data/SelectionList.hs 14;" f _ldpScale src/Dodge/Data/SelectionList.hs 15;" f _ldpVerticalGap src/Dodge/Data/SelectionList.hs 16;" f @@ -1978,14 +1973,14 @@ _ldtLeft src/Dodge/Data/DoubleTree.hs 36;" f _ldtRight src/Dodge/Data/DoubleTree.hs 37;" f _ldtValue src/Dodge/Data/DoubleTree.hs 35;" f _leadTargetBy src/Dodge/Data/ActionPlan.hs 150;" f -_lightSources src/Dodge/Data/LWorld.hs 138;" f +_lightSources src/Dodge/Data/LWorld.hs 135;" f _lightingCapShader src/Data/Preload/Render.hs 16;" f _lightingLineShadowShader src/Data/Preload/Render.hs 15;" f _lightingTextureShader src/Data/Preload/Render.hs 17;" f _lightingWallShadShader src/Data/Preload/Render.hs 14;" f -_lights src/Dodge/Data/LWorld.hs 139;" f +_lights src/Dodge/Data/LWorld.hs 136;" f _lightsUBO src/Data/Preload/Render.hs 40;" f -_linearShockwaves src/Dodge/Data/LWorld.hs 120;" f +_linearShockwaves src/Dodge/Data/LWorld.hs 118;" f _linkGapEW src/Dodge/Data/Room.hs 36;" f _linkGapNS src/Dodge/Data/Room.hs 37;" f _locDT src/Dodge/Data/DoubleTree.hs 103;" f @@ -2008,9 +2003,9 @@ _lwPos src/Dodge/Data/LinearShockwave.hs 14;" f _lwTimer src/Dodge/Data/LinearShockwave.hs 17;" f _lyCounter src/Dodge/Data/MetaTree.hs 31;" f _lyGen src/Dodge/Data/MetaTree.hs 30;" f -_machines src/Dodge/Data/LWorld.hs 125;" f +_machines src/Dodge/Data/LWorld.hs 123;" f _magBelowID src/Dodge/Data/Muzzle.hs 22;" f -_magnets src/Dodge/Data/LWorld.hs 128;" f +_magnets src/Dodge/Data/LWorld.hs 126;" f _mainAction src/Dodge/Data/ActionPlan.hs 171;" f _manObject src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 17;" f _mapInvItmID src/Dodge/Data/HUD.hs 22;" f @@ -2063,7 +2058,7 @@ _moString src/Dodge/Data/Universe.hs 102;" f _moString src/Dodge/Data/Universe.hs 107;" f _modOption src/Dodge/Data/Universe.hs 97;" f _modString src/Dodge/Data/Universe.hs 95;" f -_modifications src/Dodge/Data/LWorld.hs 132;" f +_modifications src/Dodge/Data/LWorld.hs 130;" f _mouseButtons src/Dodge/Data/Input.hs 38;" f _mouseButtonsReleased src/Dodge/Data/Input.hs 39;" f _mouseContext src/Dodge/Data/Input.hs 35;" f @@ -2098,7 +2093,7 @@ _nzMaxWalkAngle src/Dodge/Data/Muzzle.hs 49;" f _nzPressure src/Dodge/Data/Muzzle.hs 48;" f _nzWalkSpeed src/Dodge/Data/Muzzle.hs 50;" f _offGridFromEdges src/Dodge/Data/Room.hs 82;" f -_oldMagnets src/Dodge/Data/LWorld.hs 127;" f +_oldMagnets src/Dodge/Data/LWorld.hs 125;" f _onGridFromEdges src/Dodge/Data/Room.hs 81;" f _opDraw src/Dodge/Data/Wall.hs 43;" f _opSel src/Dodge/Data/RightButtonOptions.hs 17;" f @@ -2139,21 +2134,15 @@ _pjSpin src/Dodge/Data/Projectile.hs 21;" f _pjTimer src/Dodge/Data/Projectile.hs 24;" f _pjType src/Dodge/Data/Projectile.hs 26;" f _pjVel src/Dodge/Data/Projectile.hs 19;" f -_plExternalID src/Dodge/Data/GenWorld.hs 114;" f -_plIDCont src/Dodge/Data/GenWorld.hs 115;" f -_plMID src/Dodge/Data/GenWorld.hs 113;" f -_plSpot src/Dodge/Data/GenWorld.hs 111;" f -_plType src/Dodge/Data/GenWorld.hs 112;" 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 _playStatus src/Sound/Data.hs 17;" f _playingSounds src/Dodge/Data/World.hs 42;" f _pnZoning src/Dodge/Data/World.hs 52;" f _posture src/Dodge/Data/Creature/Stance.hs 19;" f -_ppEvent src/Dodge/Data/PressPlate.hs 23;" f -_ppID src/Dodge/Data/PressPlate.hs 24;" f -_ppPict src/Dodge/Data/PressPlate.hs 20;" f -_ppPos src/Dodge/Data/PressPlate.hs 21;" f -_ppRot src/Dodge/Data/PressPlate.hs 22;" f -_ppText src/Dodge/Data/PressPlate.hs 25;" f _prBounds src/Dodge/Tree/Shift.hs 29;" f _prColor src/Dodge/Data/Prop.hs 30;" f _prDraw src/Dodge/Data/Prop.hs 21;" f @@ -2174,52 +2163,51 @@ _prUpdate src/Dodge/Data/Prop.hs 35;" f _prVel src/Dodge/Data/Prop.hs 24;" f _prVelZ src/Dodge/Data/Prop.hs 27;" f _preloadData src/Dodge/Data/Universe.hs 33;" f -_pressPlates src/Dodge/Data/LWorld.hs 135;" f _pressedKeys src/Dodge/Data/Input.hs 37;" f -_projectiles src/Dodge/Data/LWorld.hs 106;" f -_props src/Dodge/Data/LWorld.hs 104;" f +_projectiles src/Dodge/Data/LWorld.hs 104;" f +_props src/Dodge/Data/LWorld.hs 102;" f _proxReqDead src/Dodge/Data/Machine/Sensor.hs 39;" f _proxReqEquipment src/Dodge/Data/Machine/Sensor.hs 38;" f _proxReqMinHealth src/Dodge/Data/Machine/Sensor.hs 37;" f _proxSensorType src/Dodge/Data/Machine/Sensor.hs 28;" f _proxToggle src/Dodge/Data/Machine/Sensor.hs 29;" f -_psFallback src/Dodge/Data/GenWorld.hs 102;" f -_psPos src/Dodge/Data/GenWorld.hs 97;" f -_psRandShift src/Dodge/Data/GenWorld.hs 106;" f -_psRoomEff src/Dodge/Data/GenWorld.hs 101;" f -_psRoomRandPointNum src/Dodge/Data/GenWorld.hs 105;" f -_psRot src/Dodge/Data/GenWorld.hs 97;" f -_psSelect src/Dodge/Data/GenWorld.hs 100;" f -_pulseBalls src/Dodge/Data/LWorld.hs 119;" f -_pulseLasers src/Dodge/Data/LWorld.hs 118;" 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 +_pulseBalls src/Dodge/Data/LWorld.hs 117;" f +_pulseLasers src/Dodge/Data/LWorld.hs 116;" f _pulseProgress src/Dodge/Data/Creature/Misc.hs 56;" f _pulseRate src/Dodge/Data/Creature/Misc.hs 55;" f -_putBlock src/Dodge/Data/GenWorld.hs 46;" f +_putBlock src/Dodge/Data/GenWorld.hs 45;" f _putButton src/Dodge/Data/GenWorld.hs 41;" f -_putChasmPoly src/Dodge/Data/GenWorld.hs 64;" f -_putEndPoint src/Dodge/Data/GenWorld.hs 54;" f -_putID src/Dodge/Data/GenWorld.hs 63;" f +_putChasmPoly src/Dodge/Data/GenWorld.hs 63;" f +_putEndPoint src/Dodge/Data/GenWorld.hs 53;" f +_putID src/Dodge/Data/GenWorld.hs 62;" f _putItem src/Dodge/Data/GenWorld.hs 44;" f -_putLabel src/Dodge/Data/GenWorld.hs 65;" f +_putLabel src/Dodge/Data/GenWorld.hs 64;" f _putMachineMachine src/Dodge/Data/GenWorld.hs 36;" f _putMachineMaybeItem src/Dodge/Data/GenWorld.hs 38;" f _putMachinePoly src/Dodge/Data/GenWorld.hs 35;" f _putMachineWall src/Dodge/Data/GenWorld.hs 37;" f -_putPoly src/Dodge/Data/GenWorld.hs 46;" f -_putStartPoint src/Dodge/Data/GenWorld.hs 53;" f -_putWall src/Dodge/Data/GenWorld.hs 46;" f -_putWall src/Dodge/Data/GenWorld.hs 51;" f -_putWidth src/Dodge/Data/GenWorld.hs 52;" f -_pwPoly src/Dodge/Data/GenWorld.hs 56;" f -_pwWall src/Dodge/Data/GenWorld.hs 56;" f +_putPoly src/Dodge/Data/GenWorld.hs 45;" f +_putStartPoint src/Dodge/Data/GenWorld.hs 52;" f +_putWall src/Dodge/Data/GenWorld.hs 45;" f +_putWall src/Dodge/Data/GenWorld.hs 50;" f +_putWidth src/Dodge/Data/GenWorld.hs 51;" f +_pwPoly src/Dodge/Data/GenWorld.hs 55;" f +_pwWall src/Dodge/Data/GenWorld.hs 55;" f _pyFaces src/Polyhedra/Data.hs 14;" f _pzDamage src/Dodge/Data/PulseLaser.hs 15;" f _pzDir src/Dodge/Data/PulseLaser.hs 14;" f _pzPhaseV src/Dodge/Data/PulseLaser.hs 12;" f _pzPos src/Dodge/Data/PulseLaser.hs 13;" f _pzTimer src/Dodge/Data/PulseLaser.hs 16;" f -_radarBlips src/Dodge/Data/LWorld.hs 112;" f -_radarSweeps src/Dodge/Data/LWorld.hs 108;" f +_radarBlips src/Dodge/Data/LWorld.hs 110;" f +_radarSweeps src/Dodge/Data/LWorld.hs 106;" f _randGen src/Dodge/Data/World.hs 40;" f _rbColor src/Dodge/Data/RadarBlip.hs 15;" f _rbMaxTime src/Dodge/Data/RadarBlip.hs 17;" f @@ -2230,7 +2218,7 @@ _rbTime src/Dodge/Data/RadarBlip.hs 16;" f _rboBaseBloom src/Data/Preload/Render.hs 38;" f _renderData src/Data/Preload.hs 11;" f _respawnDelay src/Dodge/Data/World.hs 62;" f -_respawnPos src/Dodge/Data/LWorld.hs 150;" f +_respawnPos src/Dodge/Data/LWorld.hs 147;" f _reverseAmount src/Dodge/Data/World.hs 66;" f _reverseAmount src/Dodge/Data/World.hs 72;" f _reverseAmount src/Dodge/Data/World.hs 76;" f @@ -2239,28 +2227,28 @@ _rkSmoke src/Dodge/Data/Projectile.hs 36;" 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 140;" f -_rmChildren src/Dodge/Data/GenWorld.hs 151;" f -_rmClusterStatus src/Dodge/Data/GenWorld.hs 153;" f -_rmConnectsTo src/Dodge/Data/GenWorld.hs 148;" f -_rmEndWires src/Dodge/Data/GenWorld.hs 147;" f -_rmFloor src/Dodge/Data/GenWorld.hs 141;" 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 _rmHeight src/Dodge/Data/Room.hs 39;" f -_rmInPmnt src/Dodge/Data/GenWorld.hs 139;" f -_rmLinkEff src/Dodge/Data/GenWorld.hs 129;" f -_rmLinks src/Dodge/Data/GenWorld.hs 127;" f -_rmMID src/Dodge/Data/GenWorld.hs 149;" f -_rmMParent src/Dodge/Data/GenWorld.hs 150;" f -_rmName src/Dodge/Data/GenWorld.hs 142;" f -_rmPath src/Dodge/Data/GenWorld.hs 137;" f -_rmPmnts src/Dodge/Data/GenWorld.hs 138;" f -_rmPolys src/Dodge/Data/GenWorld.hs 126;" f -_rmPos src/Dodge/Data/GenWorld.hs 136;" f -_rmRandPSs src/Dodge/Data/GenWorld.hs 145;" f -_rmShift src/Dodge/Data/GenWorld.hs 143;" f -_rmStartWires src/Dodge/Data/GenWorld.hs 146;" f -_rmType src/Dodge/Data/GenWorld.hs 152;" f -_rmViewpoints src/Dodge/Data/GenWorld.hs 144;" 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 _rmWidth src/Dodge/Data/Room.hs 38;" f _rpDir src/Dodge/Data/Room.hs 17;" f _rpFlags src/Dodge/Data/Room.hs 18;" f @@ -2302,8 +2290,8 @@ _scrollTestInt src/Dodge/Data/Input.hs 48;" f _scurColor src/Dodge/Data/SelectionList.hs 26;" f _scurPos src/Dodge/Data/SelectionList.hs 24;" f _scurSize src/Dodge/Data/SelectionList.hs 25;" f -_seenLocations src/Dodge/Data/LWorld.hs 140;" f -_selLocation src/Dodge/Data/LWorld.hs 141;" f +_seenLocations src/Dodge/Data/LWorld.hs 137;" f +_selLocation src/Dodge/Data/LWorld.hs 138;" f _sensAmount src/Dodge/Data/Machine/Sensor.hs 22;" f _sensThreshold src/Dodge/Data/Machine/Sensor.hs 24;" f _sensType src/Dodge/Data/Machine/Sensor.hs 23;" f @@ -2322,7 +2310,7 @@ _shapeEBO src/Data/Preload/Render.hs 26;" f _shapeHalfSize src/Shape/Data.hs 18;" f _shapeShader src/Data/Preload/Render.hs 25;" f _shellPayload src/Dodge/Data/Item/Combine.hs 102;" f -_shockwaves src/Dodge/Data/LWorld.hs 116;" f +_shockwaves src/Dodge/Data/LWorld.hs 114;" f _siColor src/Dodge/Data/SelectionList.hs 47;" f _siHeight src/Dodge/Data/SelectionList.hs 44;" f _siIsSelectable src/Dodge/Data/SelectionList.hs 46;" f @@ -2357,7 +2345,7 @@ _soundVolumeFraction src/Sound/Data.hs 52;" f _soundsToInvestigate src/Dodge/Data/Creature/Memory.hs 14;" f _spPixelOff src/Dodge/Data/ScreenPos.hs 14;" f _spScreenOff src/Dodge/Data/ScreenPos.hs 13;" f -_sparks src/Dodge/Data/LWorld.hs 111;" f +_sparks src/Dodge/Data/LWorld.hs 109;" f _spawnEBT src/Dodge/Data/Bullet.hs 35;" f _ssIndent src/Dodge/Data/SelectionList.hs 34;" f _ssItems src/Dodge/Data/SelectionList.hs 30;" f @@ -2392,8 +2380,8 @@ _tbStartPos src/Dodge/Data/TractorBeam.hs 15;" f _tbTime src/Dodge/Data/TractorBeam.hs 17;" f _tbVel src/Dodge/Data/TractorBeam.hs 16;" f _termID src/Dodge/Data/HUD.hs 29;" f -_terminals src/Dodge/Data/LWorld.hs 126;" f -_teslaArcs src/Dodge/Data/LWorld.hs 114;" f +_terminals src/Dodge/Data/LWorld.hs 124;" f +_teslaArcs src/Dodge/Data/LWorld.hs 112;" f _testFloat src/Dodge/Data/World.hs 44;" f _textInput src/Dodge/Data/Input.hs 46;" f _textureObject src/Shader/Data.hs 95;" f @@ -2429,10 +2417,10 @@ _toPlaySoundVolumeFraction src/Sound/Data.hs 40;" f _toPlaySounds src/Dodge/Data/World.hs 41;" f _topBoxSize src/Shape/Data.hs 17;" f _tptString src/Dodge/Data/Terminal/Status.hs 15;" f -_tractorBeams src/Dodge/Data/LWorld.hs 121;" f +_tractorBeams src/Dodge/Data/LWorld.hs 119;" f _trieChildren src/SimpleTrie.hs 12;" f _trieMVal src/SimpleTrie.hs 11;" f -_triggers src/Dodge/Data/LWorld.hs 130;" f +_triggers src/Dodge/Data/LWorld.hs 128;" f _ttDeathEffect src/Dodge/Data/Terminal.hs 46;" f _ttTriggerID src/Dodge/Data/Terminal.hs 45;" f _tuDir src/Dodge/Data/Machine.hs 55;" f @@ -2513,12 +2501,12 @@ _wCam src/Dodge/Data/World.hs 55;" f _wTime src/Dodge/Data/Item/Params.hs 22;" f _waitThenAction src/Dodge/Data/ActionPlan.hs 105;" f _waitThenTimer src/Dodge/Data/ActionPlan.hs 104;" f -_wallDamages src/Dodge/Data/LWorld.hs 123;" f +_wallDamages src/Dodge/Data/LWorld.hs 121;" f _wallShader src/Data/Preload/Render.hs 48;" f _wallVBO src/Data/Preload/Render.hs 47;" f -_walls src/Dodge/Data/LWorld.hs 122;" f -_wanID src/Dodge/Data/LWorld.hs 163;" f -_wanPos src/Dodge/Data/LWorld.hs 162;" f +_walls src/Dodge/Data/LWorld.hs 120;" f +_wanID src/Dodge/Data/LWorld.hs 160;" f +_wanPos src/Dodge/Data/LWorld.hs 159;" f _warmMax src/Dodge/Data/TriggerType.hs 19;" f _warmStart src/Dodge/Data/TriggerType.hs 15;" f _windowPosX src/Dodge/Data/Config.hs 53;" f @@ -2545,7 +2533,7 @@ _wlUnshadowed src/Dodge/Data/Wall.hs 32;" f _wlWalkable src/Dodge/Data/Wall.hs 28;" f _wlZoning src/Dodge/Data/World.hs 51;" f _worldEventFlags src/Dodge/Data/World.hs 47;" f -_worldEvents src/Dodge/Data/LWorld.hs 133;" f +_worldEvents src/Dodge/Data/LWorld.hs 131;" f _wsBlock src/Dodge/Data/Wall/Structure.hs 16;" f _wsDoor src/Dodge/Data/Wall/Structure.hs 14;" f _wsMachine src/Dodge/Data/Wall/Structure.hs 15;" f @@ -2585,9 +2573,9 @@ addHighGirder src/Dodge/Room/Modify/Girder.hs 132;" f addHighGirder' src/Dodge/Room/Modify/Girder.hs 142;" f addIndefiniteArticle src/StringHelp.hs 17;" f addNodes src/Dodge/Path.hs 115;" f -addPane src/Dodge/Placement/PlaceSpot.hs 177;" f +addPane src/Dodge/Placement/PlaceSpot.hs 178;" f addPlmnt src/Dodge/LevelGen/PlacementHelper.hs 87;" f -addPointPolygon src/Geometry/Polygon.hs 133;" f +addPointPolygon src/Geometry/Polygon.hs 134;" f addPolyWall src/Dodge/LevelGen/StaticWalls.hs 141;" f addPolyWalls src/Dodge/LevelGen/StaticWalls.hs 129;" f addRandomGirderEW src/Dodge/Room/Girder.hs 9;" f @@ -2599,7 +2587,7 @@ addToTrunk src/TreeHelp.hs 157;" f addWarningTerminal src/Dodge/Room/Warning.hs 61;" f addZ src/Geometry/Vector3D.hs 89;" f adjustIMZone src/Dodge/Base.hs 81;" f -advanceScrollAmount src/Dodge/Update.hs 403;" f +advanceScrollAmount src/Dodge/Update.hs 404;" f advanceSmoothScroll src/Dodge/SmoothScroll.hs 33;" f advanceStepCounter src/Dodge/Creature/Impulse/Movement.hs 46;" f aimDelaySweep src/Dodge/Render/Picture.hs 273;" f @@ -2782,7 +2770,7 @@ bossKeyItems src/Dodge/LockAndKey.hs 12;" f bossRoom src/Dodge/Room/Boss.hs 61;" f bounceDir src/Dodge/Bullet.hs 110;" f bouncePoint src/Dodge/Base/Collide.hs 88;" f -bounceSound src/Dodge/Projectile/Update.hs 72;" f +bounceSound src/Dodge/Projectile/Update.hs 73;" f boundPoints src/Bound.hs 10;" f boundedGrid src/Grid.hs 19;" f boxABC src/Polyhedra.hs 108;" f @@ -2796,7 +2784,7 @@ branchRectWith src/Dodge/Room/Branch.hs 15;" f branchWith src/Dodge/Room/Room.hs 69;" f bright src/Color.hs 120;" f brightX src/Color.hs 116;" f -btSPic src/Dodge/Render/ShapePicture.hs 130;" f +btSPic src/Dodge/Render/ShapePicture.hs 126;" f btText src/Dodge/Inventory/SelectionList.hs 237;" f bufferEBO src/Shader/Bind.hs 28;" f bufferPokedVBO src/Shader/Bind.hs 19;" f @@ -2829,8 +2817,8 @@ cenLasTur src/Dodge/Room/LasTurret.hs 25;" f centerText src/Picture/Base.hs 184;" f centerVaultExplosiveExit src/Dodge/Room/NoNeedWeapon.hs 20;" f centerVaultRoom src/Dodge/Room/Procedural.hs 291;" f -centroid src/Geometry/Polygon.hs 167;" f -centroidNum src/Geometry/Polygon.hs 170;" f +centroid src/Geometry/Polygon.hs 168;" f +centroidNum src/Geometry/Polygon.hs 171;" f chainCreatureUpdates src/Dodge/Creature/ChainUpdates.hs 6;" f chainPairs src/Geometry.hs 360;" f changeSwapOther src/Dodge/Inventory.hs 141;" f @@ -2851,13 +2839,13 @@ checkCombineSelectionExists src/Dodge/DisplayInventory.hs 100;" f checkConnection src/Dodge/Inventory/Swap.hs 66;" f checkDeath src/Dodge/Creature/Update.hs 70;" f checkDeath' src/Dodge/Creature/Update.hs 73;" f -checkEndGame src/Dodge/Update.hs 754;" f +checkEndGame src/Dodge/Update.hs 753;" f checkErrorGL src/Shader/Compile.hs 255;" f checkFBO src/Framebuffer/Check.hs 6;" f checkGLError src/GLHelp.hs 17;" f checkInvSlotsYou src/Dodge/Inventory/CheckSlots.hs 18;" f checkInventorySelectionExists src/Dodge/DisplayInventory.hs 93;" f -checkTermDist src/Dodge/Update.hs 315;" f +checkTermDist src/Dodge/Update.hs 316;" f checkWallLeft src/Dodge/LevelGen/StaticWalls/Deprecated.hs 29;" f checkWallRight src/Dodge/LevelGen/StaticWalls.hs 54;" f checkWallRight src/Dodge/LevelGen/StaticWalls/Deprecated.hs 59;" f @@ -2872,7 +2860,7 @@ chooseMovementPistol src/Dodge/Humanoid.hs 204;" f chooseMovementPistol' src/Dodge/Humanoid.hs 209;" f chooseMovementSpreadGun src/Dodge/CreatureEffect.hs 90;" f circHitWall src/Dodge/Base/Collide.hs 242;" f -circInPolygon src/Geometry/Polygon.hs 101;" f +circInPolygon src/Geometry/Polygon.hs 102;" f circOnAnyCr src/Dodge/Base/Collide.hs 297;" f circOnSeg src/Geometry.hs 101;" f circOnSegNoEndpoints src/Geometry.hs 91;" f @@ -2882,7 +2870,7 @@ circleDecoration src/Dodge/Placement/TopDecoration.hs 56;" f circleSolid src/Picture/Base.hs 164;" f circleSolidCol src/Picture/Base.hs 168;" f clAlt src/Dodge/Cloud.hs 5;" f -clClSpringVel src/Dodge/Update.hs 827;" f +clClSpringVel src/Dodge/Update.hs 826;" f clColor src/Shader/Poke/Cloud.hs 35;" f clZoneSize src/Dodge/Zoning/Cloud.hs 21;" f clampPath src/Dodge/Room/Procedural.hs 168;" f @@ -2911,7 +2899,7 @@ closestCreatureID src/Dodge/Debug.hs 118;" f closestPointOnLine src/Geometry/Intersect.hs 272;" f closestPointOnLineParam src/Geometry/Intersect.hs 288;" f closestPointOnSeg src/Geometry/Intersect.hs 303;" f -cloudEffect src/Dodge/Update.hs 779;" f +cloudEffect src/Dodge/Update.hs 778;" f cloudPoisonDamage src/Dodge/Update/Cloud.hs 11;" f clsNearCirc src/Dodge/Zoning/Cloud.hs 18;" f clsNearPoint src/Dodge/Zoning/Cloud.hs 9;" f @@ -2970,8 +2958,8 @@ constructEdges src/Polyhedra.hs 34;" f constructEdgesList src/Polyhedra.hs 43;" f contToIDCont src/Dodge/LevelGen/PlacementHelper.hs 57;" f continueTerminal src/Dodge/Update/Input/InGame.hs 402;" f -convexHull src/Geometry/Polygon.hs 141;" f -convexHullSafe src/Geometry/Polygon.hs 148;" f +convexHull src/Geometry/Polygon.hs 142;" f +convexHullSafe src/Geometry/Polygon.hs 149;" f convexPolysOverlap src/Geometry/ConvexPoly.hs 48;" f coolMachinePistol src/Dodge/Creature/State.hs 102;" f coolMinigun src/Dodge/Creature/State.hs 95;" f @@ -3022,7 +3010,7 @@ crShape src/Dodge/Creature/Shape.hs 8;" f crSpring src/Dodge/Update.hs 852;" f crStratConMatches src/Dodge/Creature/Test.hs 78;" f crStrength src/Dodge/Creature/Statistics.hs 29;" f -crUpdate' src/Dodge/Creature/Update.hs 59;" f +crUpdate src/Dodge/Creature/Update.hs 59;" f crUpdateInvidLocations src/Dodge/Inventory/Location.hs 66;" f crUpdateItemLocations src/Dodge/Inventory/Location.hs 48;" f crVocalizationSound src/Dodge/Creature/Vocalization.hs 13;" f @@ -3171,7 +3159,7 @@ defaultDrawButton src/Dodge/Button/Draw.hs 29;" f defaultEquipment src/Dodge/Default.hs 24;" f defaultFlIt src/Dodge/Default.hs 27;" f defaultForeground src/Dodge/Default/ForegroundShape.hs 5;" f -defaultHUD src/Dodge/Default/World.hs 159;" f +defaultHUD src/Dodge/Default/World.hs 158;" f defaultHeldItem src/Dodge/Default/Item.hs 9;" f defaultInanimate src/Dodge/Default/Creature.hs 62;" f defaultInput src/Dodge/Default/World.hs 11;" f @@ -3181,10 +3169,9 @@ defaultLWorld src/Dodge/Default/World.hs 95;" f defaultListDisplayParams src/Dodge/ListDisplayParams.hs 18;" f defaultMachine src/Dodge/Default.hs 30;" f defaultMachineWall src/Dodge/Default/Wall.hs 55;" f -defaultPP src/Dodge/Default.hs 54;" f defaultPerceptionState src/Dodge/Default/Creature.hs 75;" f defaultProp src/Dodge/Default/Prop.hs 6;" f -defaultProximitySensor src/Dodge/Default.hs 65;" f +defaultProximitySensor src/Dodge/Default.hs 54;" f defaultRoom src/Dodge/Default/Room.hs 9;" f defaultSensorWall src/Dodge/Default/Wall.hs 65;" f defaultSwitchWall src/Dodge/Default/Door.hs 22;" f @@ -3212,7 +3199,7 @@ destroyMatS src/Dodge/Material/Sound.hs 7;" f destroyMcType src/Dodge/Machine/Destroy.hs 22;" f destroyMount src/Dodge/Block.hs 100;" f destroyMounts src/Dodge/Block.hs 97;" f -destroyProjectile src/Dodge/Projectile/Update.hs 117;" f +destroyProjectile src/Dodge/Projectile/Update.hs 108;" f detV src/Geometry/Vector.hs 94;" f detector src/Dodge/Item/Held/Utility.hs 27;" f detectorColor src/Dodge/Item/Draw/SPic.hs 453;" f @@ -3234,7 +3221,7 @@ displayFrameTicks src/Dodge/Render/Picture.hs 46;" f displayFreeSlots src/Dodge/DisplayInventory.hs 192;" f displayIndents src/Dodge/DisplayInventory.hs 110;" f displayPulse src/Dodge/Inventory/SelectionList.hs 179;" f -displayTerminalLineString src/Dodge/Update.hs 467;" f +displayTerminalLineString src/Dodge/Update.hs 468;" f dist src/Geometry/Vector.hs 185;" f dist3 src/Geometry/Vector3D.hs 101;" f divTo src/Geometry/Zone.hs 6;" f @@ -3247,7 +3234,7 @@ dmType src/Dodge/Damage.hs 38;" f doAimTwist src/Dodge/Creature/YourControl.hs 154;" f doAnyEquipmentEffect src/Dodge/Creature/State.hs 141;" f doBackspace src/Dodge/Update/Input/Text.hs 31;" f -doBarrelSpin src/Dodge/Projectile/Update.hs 167;" f +doBarrelSpin src/Dodge/Projectile/Update.hs 157;" f doBlBl src/Dodge/BlBl.hs 5;" f doBlSh src/Dodge/Block/Draw.hs 14;" f doBounce src/Dodge/Base/Collide.hs 69;" f @@ -3294,7 +3281,6 @@ doP2Ac src/Dodge/CreatureEffect.hs 71;" f doP2Imp src/Dodge/CreatureEffect.hs 34;" f doPrWdLsLs src/Dodge/PrWdLsLs.hs 8;" f doPreload appDodge/Main.hs 136;" f -doPressPlateEvent src/Dodge/PressPlate.hs 10;" f doPropUpdates src/Dodge/Prop/Update.hs 34;" f doQuickload src/Dodge/Save.hs 82;" f doQuicksave src/Dodge/Save.hs 77;" f @@ -3309,7 +3295,7 @@ doStrategyActions src/Dodge/Creature/ReaderUpdate.hs 167;" f doTestDrawing src/Dodge/Render.hs 41;" f doTextInputOver src/Dodge/Update/Input/Text.hs 15;" f doTextInputOverUniverse src/Dodge/Update/Input/Text.hs 12;" f -doThrust src/Dodge/Projectile/Update.hs 138;" f +doThrust src/Dodge/Projectile/Update.hs 128;" f doTimeScroll src/Dodge/Update.hs 196;" f doTmWdWd src/Dodge/WorldEffect.hs 89;" f doWallRotate src/Dodge/Update/Camera.hs 220;" f @@ -3318,7 +3304,7 @@ doWdCrBl src/Dodge/CreatureEffect.hs 38;" f doWdCrCr src/Dodge/CreatureEffect.hs 13;" f doWdP2f src/Dodge/WdP2f.hs 12;" f doWdWd src/Dodge/WorldEffect.hs 28;" f -doWorldEvents src/Dodge/Update.hs 412;" f +doWorldEvents src/Dodge/Update.hs 413;" f doWorldPos src/Dodge/WorldPos.hs 10;" f door src/Dodge/Room/Door.hs 14;" f doorBetween src/Dodge/Placement/Instance/Door.hs 39;" f @@ -3345,7 +3331,7 @@ drawBeam src/Dodge/Beam/Draw.hs 6;" f drawBlip src/Dodge/RadarBlip.hs 16;" f drawBlock src/Dodge/Block/Draw.hs 7;" f drawBoundingBox src/Dodge/Debug/Picture.hs 348;" f -drawBullet src/Dodge/Render/ShapePicture.hs 140;" f +drawBullet src/Dodge/Render/ShapePicture.hs 136;" f drawButton src/Dodge/Button/Draw.hs 10;" f drawCPUShadows src/Dodge/Render/Shadow.hs 19;" f drawChasm src/Dodge/Render/ShapePicture.hs 48;" f @@ -3490,7 +3476,7 @@ dtToRootIntMap' src/Dodge/DoubleTree.hs 153;" f dtToUpDownAdj src/Dodge/DoubleTree.hs 158;" f dummyMenuOption src/Dodge/Menu/Option.hs 72;" f dustColor src/Shader/Poke/Cloud.hs 71;" f -dustSpringVel src/Dodge/Update.hs 838;" f +dustSpringVel src/Dodge/Update.hs 837;" f ebColor src/Dodge/EnergyBall.hs 77;" f ebDamage src/Dodge/EnergyBall.hs 85;" f ebEffect src/Dodge/EnergyBall.hs 45;" f @@ -3545,7 +3531,7 @@ expandPolyByFixed src/Dodge/LevelGen/StaticWalls.hs 97;" f expandPolyCorners src/Dodge/LevelGen/StaticWalls.hs 103;" f expandToSquare src/Dodge/LevelGen/StaticWalls/Deprecated.hs 83;" f expireAndDamage src/Dodge/Bullet.hs 187;" f -explodeShell src/Dodge/Projectile/Update.hs 240;" f +explodeShell src/Dodge/Projectile/Update.hs 228;" f explosionS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 556;" f explosiveBarrel src/Dodge/Creature/Inanimate.hs 25;" f extTrigLitPos src/Dodge/Placement/Instance/Button.hs 84;" f @@ -3601,15 +3587,15 @@ flickerUpdate src/Dodge/Placement/Instance/LightSource/Flicker.hs 24;" f floatSize src/Shader/Parameters.hs 17;" f flockACC src/Dodge/Creature/ReaderUpdate.hs 90;" f flockArmourChaseCrit src/Dodge/Creature/ArmourChase.hs 14;" f -flockCenterFunc src/Dodge/Creature/Boid.hs 258;" f -flockChaseTarget src/Dodge/Creature/Boid.hs 189;" f -flockFunc src/Dodge/Creature/Boid.hs 245;" f -flockPointTarget src/Dodge/Creature/Boid.hs 204;" f -flockPointTargetR src/Dodge/Creature/Boid.hs 271;" f -flockToPointUsing src/Dodge/Creature/Boid.hs 219;" f -flockToPointUsing' src/Dodge/Creature/Boid.hs 232;" f +flockCenterFunc src/Dodge/Creature/Boid.hs 255;" f +flockChaseTarget src/Dodge/Creature/Boid.hs 186;" f +flockFunc src/Dodge/Creature/Boid.hs 242;" f +flockPointTarget src/Dodge/Creature/Boid.hs 201;" f +flockPointTargetR src/Dodge/Creature/Boid.hs 268;" f +flockToPointUsing src/Dodge/Creature/Boid.hs 216;" f +flockToPointUsing' src/Dodge/Creature/Boid.hs 229;" f floorItemPickupInfo src/Dodge/Render/HUD.hs 231;" f -floorItemSPic src/Dodge/Render/ShapePicture.hs 123;" f +floorItemSPic src/Dodge/Render/ShapePicture.hs 119;" f floorWire src/Dodge/Wire.hs 13;" f foamSprayFadeOutS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 558;" f foamSprayLoopS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 554;" f @@ -3689,7 +3675,7 @@ getLaserDamage src/Dodge/HeldUse.hs 704;" f getLaserPhaseV src/Dodge/HeldUse.hs 701;" f getLinksOfType src/Dodge/RoomLink.hs 41;" f getMaxLinesTM src/Dodge/Terminal/Type.hs 6;" f -getMenuMouseContext src/Dodge/Update.hs 372;" f +getMenuMouseContext src/Dodge/Update.hs 373;" f getNodePos src/Dodge/Path.hs 31;" f getPJStabiliser src/Dodge/HeldUse.hs 1251;" f getPretty src/AesonHelp.hs 8;" f @@ -3723,8 +3709,8 @@ glauncherPic src/Dodge/Item/Draw/SPic.hs 400;" f glushortSize src/Shader/Parameters.hs 25;" f goToPostStrat src/Dodge/Creature/Strategy.hs 10;" f goToTarget src/Dodge/Creature/ReaderUpdate.hs 139;" f -grahamEliminate src/Geometry/Polygon.hs 162;" f -grahamScan src/Geometry/Polygon.hs 153;" f +grahamEliminate src/Geometry/Polygon.hs 163;" f +grahamScan src/Geometry/Polygon.hs 154;" f grapeCannon src/Dodge/Item/Held/Cone.hs 17;" f graphToEdges src/Dodge/Graph.hs 35;" f graphToIncidence src/Dodge/Graph.hs 40;" f @@ -3821,7 +3807,7 @@ ildtPropagate src/Dodge/DoubleTree.hs 111;" f impulsiveAIBefore src/Dodge/Creature/Impulse.hs 23;" f inLink src/Dodge/RoomLink.hs 128;" f inSegArea src/Geometry/Intersect.hs 319;" f -inSimplePoly src/Geometry/Polygon.hs 89;" f +inSimplePoly src/Geometry/Polygon.hs 90;" f inTextInputFocus src/Dodge/InputFocus.hs 8;" f incidenceToFunction src/Dodge/Graph.hs 26;" f indefiniteExceptions src/StringHelp.hs 29;" f @@ -3923,7 +3909,7 @@ isNHS src/Geometry/Intersect.hs 53;" f isNothing' src/MaybeHelp.hs 33;" f isOnSeg src/Geometry.hs 237;" f isOutLnk src/Dodge/PlacementSpot.hs 166;" f -isOverTerminalScreen src/Dodge/Update.hs 383;" f +isOverTerminalScreen src/Dodge/Update.hs 384;" f isPulseLaser src/Dodge/IsPulseLaser.hs 10;" f isPutID src/Dodge/Placement/Instance/Wall.hs 129;" f isRHS src/Geometry/LHS.hs 32;" f @@ -3934,7 +3920,7 @@ isValidCommand src/Dodge/Debug/Terminal.hs 134;" f isVowel src/StringHelp.hs 8;" f isWalkable src/Dodge/Base/Collide.hs 327;" f isoMatrix src/MatrixHelper.hs 30;" f -isotriBWH src/Geometry/Polygon.hs 21;" f +isotriBWH src/Geometry/Polygon.hs 22;" f itDim src/Dodge/Item/InvSize.hs 21;" f itEffectOnDrop src/Dodge/Item/BackgroundEffect.hs 68;" f itEffectOnPickup src/Dodge/Item/BackgroundEffect.hs 65;" f @@ -4066,7 +4052,7 @@ lineOrth src/Dodge/Creature/Boid.hs 127;" f lineOutputTerminal src/Dodge/Room/Warning.hs 66;" f lineSplit src/Justify.hs 26;" f lineThick src/Picture/Base.hs 234;" f -lineUp src/Dodge/Creature/Boid.hs 150;" f +lineUp src/Dodge/Creature/Boid.hs 149;" f linksGridToPath src/Dodge/Room/Path.hs 36;" f linksOnPath src/Dodge/Room/CheckConsistency.hs 6;" f listConfig src/Dodge/Menu.hs 235;" f @@ -4224,7 +4210,7 @@ mcProxSensorTriggerUpdate src/Dodge/Machine/Update.hs 104;" f mcProxSensorUpdate src/Dodge/Machine/Update.hs 139;" f mcProxTest src/Dodge/Machine/Update.hs 203;" f mcProximitySensorUpdate src/Dodge/Machine/Update.hs 171;" f -mcSPic src/Dodge/Render/ShapePicture.hs 135;" f +mcSPic src/Dodge/Render/ShapePicture.hs 131;" f mcShootAuto src/Dodge/HeldUse.hs 1169;" f mcShootLaser src/Dodge/HeldUse.hs 1162;" f mcTriggerVal src/Dodge/Machine/Update.hs 110;" f @@ -4234,7 +4220,7 @@ mcUseItem src/Dodge/Machine/Update.hs 89;" f megaBattery src/Dodge/Item/Ammo.hs 55;" f megaShellMag src/Dodge/Item/Ammo.hs 44;" f megaTinMag src/Dodge/Item/Ammo.hs 23;" f -meleeHeadingMove src/Dodge/Creature/Boid.hs 286;" f +meleeHeadingMove src/Dodge/Creature/Boid.hs 283;" f memoBoxEdgeIndices src/Shader/Poke.hs 352;" f memoBoxSurfaces src/Shader/Poke.hs 286;" f memoCylinderIndices src/Shader/Poke.hs 323;" f @@ -4275,7 +4261,7 @@ miniGunXPictItem src/Dodge/Item/Draw/SPic.hs 369;" f miniS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 716;" f miniTree2 src/Dodge/Room/Room.hs 113;" f minimumOn src/FoldlHelp.hs 14;" f -mirrorXAxis src/Geometry/Polygon.hs 67;" f +mirrorXAxis src/Geometry/Polygon.hs 68;" f mirrorxz src/Picture/Base.hs 335;" f mirroryz src/Picture/Base.hs 340;" f missileLaunchS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 674;" f @@ -4299,10 +4285,10 @@ moveCombineSel src/Dodge/Update/Scroll.hs 121;" f moveInverseShockwave src/Dodge/Shockwave/Update.hs 44;" f moveLSThen src/Dodge/Placement/Instance/LightSource.hs 43;" f movePenBullet src/Dodge/Bullet.hs 202;" f -moveProjectile src/Dodge/Projectile/Update.hs 221;" f +moveProjectile src/Dodge/Projectile/Update.hs 209;" f moveRoomBy src/Dodge/Room/Link.hs 53;" f moveShockwave src/Dodge/Shockwave/Update.hs 13;" f -moveStuckGrenade src/Dodge/Projectile/Update.hs 206;" f +moveStuckGrenade src/Dodge/Projectile/Update.hs 196;" f moveToSideNthOutLink src/Dodge/Room/Warning.hs 69;" f moveWall src/Dodge/Wall/Move.hs 29;" f moveWallID src/Dodge/Wall/Move.hs 24;" f @@ -4321,18 +4307,17 @@ 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 185;" f -mvCr src/Dodge/Placement/PlaceSpot.hs 191;" f -mvFS src/Dodge/Placement/PlaceSpot.hs 198;" f -mvGust src/Dodge/Update.hs 770;" f -mvLS src/Dodge/Placement/PlaceSpot.hs 263;" f +mvButton src/Dodge/Placement/PlaceSpot.hs 186;" f +mvCr src/Dodge/Placement/PlaceSpot.hs 189;" f +mvFS src/Dodge/Placement/PlaceSpot.hs 196;" f +mvGust src/Dodge/Update.hs 769;" f +mvLS src/Dodge/Placement/PlaceSpot.hs 268;" f mvP src/Dodge/Wall/Move.hs 54;" f -mvPP src/Dodge/Placement/PlaceSpot.hs 188;" f mvPointAlongAtSpeed src/Dodge/Base.hs 121;" f -mvPointMeleeTarg src/Dodge/Creature/Boid.hs 318;" f +mvPointMeleeTarg src/Dodge/Creature/Boid.hs 315;" f mvPointToward src/Dodge/Base.hs 136;" f mvPointTowardAtSpeed src/Dodge/Base.hs 105;" f -mvProp src/Dodge/Placement/PlaceSpot.hs 182;" f +mvProp src/Dodge/Placement/PlaceSpot.hs 183;" f mvPs src/Dodge/Wall/Move.hs 58;" f myIntersectLineLine src/Geometry/Intersect.hs 198;" f myIntersectSegSeg src/Geometry/Intersect.hs 176;" f @@ -4393,10 +4378,10 @@ optionsToSelections src/Dodge/Menu/Option.hs 47;" f orRegex src/Dodge/DisplayInventory.hs 81;" f orange src/Color.hs 25;" f orderAround3 src/Geometry/Vector3D.hs 105;" f -orderAroundFirst src/Geometry/Polygon.hs 119;" f -orderAroundFirstReverse src/Geometry/Polygon.hs 115;" f -orderPolygon src/Geometry/Polygon.hs 124;" f -orderPolygonAround src/Geometry/Polygon.hs 107;" f +orderAroundFirst src/Geometry/Polygon.hs 120;" f +orderAroundFirstReverse src/Geometry/Polygon.hs 116;" f +orderPolygon src/Geometry/Polygon.hs 125;" f +orderPolygonAround src/Geometry/Polygon.hs 108;" f orientAttachment src/Dodge/Item/Orientation.hs 68;" f orientByParentChSF src/Dodge/Item/Orientation.hs 34;" f orientChild src/Dodge/Item/Orientation.hs 18;" f @@ -4439,7 +4424,7 @@ pauseMenu src/Dodge/Menu.hs 59;" f pauseMenuOptions src/Dodge/Menu.hs 66;" f pauseSound src/Dodge/SoundLogic.hs 42;" f pauseTime src/Dodge/Update.hs 180;" f -pbFlicker src/Dodge/Update.hs 453;" f +pbFlicker src/Dodge/Update.hs 454;" f pbsHit src/Dodge/WorldEvent/ThingsHit.hs 89;" f peZoneSize src/Dodge/Zoning/Pathing.hs 46;" f pedestalRoom src/Dodge/Room/Containing.hs 50;" f @@ -4469,26 +4454,26 @@ pingPongBetween src/Render.hs 221;" f pipe src/Dodge/Item/Craftable.hs 32;" f pistol src/Dodge/Item/Held/Stick.hs 40;" f pistolerRoom src/Dodge/Room/Room.hs 330;" f -pjRemoteSetDirection src/Dodge/Projectile/Update.hs 182;" f +pjRemoteSetDirection src/Dodge/Projectile/Update.hs 172;" f plBlock src/Dodge/Placement/PlaceSpot/Block.hs 18;" f plDoor src/Dodge/Placement/PlaceSpot/TriggerDoor.hs 22;" f plLineBlock src/Dodge/Placement/PlaceSpot/Block.hs 50;" f -plMachine src/Dodge/Placement/PlaceSpot.hs 201;" f -plMachine' src/Dodge/Placement/PlaceSpot.hs 238;" f +plMachine src/Dodge/Placement/PlaceSpot.hs 199;" f +plMachine' src/Dodge/Placement/PlaceSpot.hs 243;" 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 78;" f -plTurret src/Dodge/Placement/PlaceSpot.hs 207;" f -placeMachineWalls src/Dodge/Placement/PlaceSpot.hs 252;" f +plTurret src/Dodge/Placement/PlaceSpot.hs 212;" f +placeMachineWalls src/Dodge/Placement/PlaceSpot.hs 257;" f placePlainPSSpot src/Dodge/Placement/PlaceSpot.hs 42;" f placeSpot src/Dodge/Placement/PlaceSpot.hs 33;" f -placeSpotID src/Dodge/Placement/PlaceSpot.hs 101;" f +placeSpotID src/Dodge/Placement/PlaceSpot.hs 104;" f placeSpotRoomRand src/Dodge/Placement/PlaceSpot.hs 89;" f placeSpotUsingLink src/Dodge/Placement/PlaceSpot.hs 67;" f -placeWallPoly src/Dodge/Placement/PlaceSpot.hs 171;" f +placeWallPoly src/Dodge/Placement/PlaceSpot.hs 172;" f plainRegex src/Dodge/DisplayInventory.hs 189;" f playIfFree src/Sound.hs 137;" f playPositionalSoundQueue src/Sound.hs 145;" f @@ -4513,8 +4498,8 @@ pnsNearRect src/Dodge/Zoning/Pathing.hs 18;" f pnsNearSeg src/Dodge/Zoning/Pathing.hs 15;" f pointIfNotClose src/Dodge/LevelGen/StaticWalls/Deprecated.hs 68;" f pointInCircle src/Geometry.hs 209;" f -pointInOrOnPolygon src/Geometry/Polygon.hs 77;" f -pointInPoly src/Geometry/Polygon.hs 85;" f +pointInOrOnPolygon src/Geometry/Polygon.hs 78;" f +pointInPoly src/Geometry/Polygon.hs 86;" f pointIsInCone src/Geometry.hs 375;" f pointIsOnScreen src/Dodge/Base/Window.hs 59;" f pointTowardsImpulse src/Dodge/Path.hs 63;" f @@ -4566,8 +4551,8 @@ polyChasm src/Dodge/Room/Tutorial.hs 159;" f polyChasmC src/Dodge/Room/Tutorial.hs 168;" f polyCirc src/Shape.hs 46;" f polyCircx src/Shape.hs 51;" f -polyCornerDist src/Geometry/Polygon.hs 60;" f -polyOrthDist src/Geometry/Polygon.hs 50;" f +polyCornerDist src/Geometry/Polygon.hs 61;" f +polyOrthDist src/Geometry/Polygon.hs 51;" f polyPointsIntersect src/Geometry/ConvexPoly.hs 62;" f polyPointsOverlap src/Geometry/ConvexPoly.hs 55;" f polyToEdges src/Polyhedra.hs 133;" f @@ -4594,9 +4579,6 @@ powlist src/Multiset.hs 61;" f powlistUpToN src/Multiset.hs 23;" f powlistUpToN' src/Multiset.hs 12;" f powlistUpToN'' src/Multiset.hs 31;" f -ppDraw src/Dodge/Render/ShapePicture.hs 120;" f -ppEvents src/Dodge/Update.hs 733;" f -ppLevelReset src/Dodge/PressPlate.hs 15;" f preCritStart src/Dodge/Room/Start.hs 83;" f prePos src/Quaternion.hs 68;" f preloadRender src/Preload/Render.hs 30;" f @@ -4704,7 +4686,7 @@ randPeakedParam src/RandomHelp.hs 130;" f randProb src/RandomHelp.hs 68;" f randSpark src/Dodge/Spark.hs 69;" f randSparkExtraVel src/Dodge/Spark.hs 92;" f -randWallReflect src/Dodge/Update.hs 626;" f +randWallReflect src/Dodge/Update.hs 628;" f randomChallenges src/Dodge/Room/Start.hs 63;" f randomCompass src/Dodge/Layout.hs 58;" f randomFourCornerRoom src/Dodge/Room/Procedural.hs 268;" f @@ -4722,11 +4704,11 @@ randsSpread src/RandomHelp.hs 120;" f ratIntersectLineLine src/Geometry/Intersect.hs 216;" f readSaveSlot src/Dodge/Save.hs 45;" f recoilAmount src/Dodge/HeldUse.hs 467;" f -rectNSWE src/Geometry/Polygon.hs 14;" f -rectVV src/Geometry/Polygon.hs 39;" f -rectWH src/Geometry/Polygon.hs 18;" f -rectXH src/Geometry/Polygon.hs 33;" f -rectXY src/Geometry/Polygon.hs 36;" f +rectNSWE src/Geometry/Polygon.hs 15;" f +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 7;" f red src/Color.hs 14;" f reduceLocDT src/Dodge/DoubleTree.hs 398;" f @@ -4958,7 +4940,7 @@ setLinkType src/Dodge/RoomLink.hs 78;" f setLinkTypePD src/Dodge/RoomLink.hs 85;" f setMusicVolume src/Sound.hs 162;" f setMvPos src/Dodge/Creature/ReaderUpdate.hs 54;" f -setOldPos src/Dodge/Update.hs 486;" f +setOldPos src/Dodge/Update.hs 487;" f setOutLinks src/Dodge/RoomLink.hs 50;" f setOutLinksByType src/Dodge/RoomLink.hs 75;" f setOutLinksPD src/Dodge/RoomLink.hs 95;" f @@ -5006,10 +4988,10 @@ shapeVerxSize src/Shape/Parameters.hs 10;" f shatterGun src/Dodge/Item/Held/Weapons.hs 8;" f shatterGunSPic src/Dodge/Item/Draw/SPic.hs 312;" f shatterWall src/Dodge/Item/Weapon/Shatter.hs 27;" f -shellExplosionCheck src/Dodge/Projectile/Update.hs 48;" f -shellHitCreature src/Dodge/Projectile/Update.hs 79;" f -shellHitFloor src/Dodge/Projectile/Update.hs 93;" f -shellHitWall src/Dodge/Projectile/Update.hs 58;" f +shellExplosionCheck src/Dodge/Projectile/Update.hs 49;" f +shellHitCreature src/Dodge/Projectile/Update.hs 80;" f +shellHitFloor src/Dodge/Projectile/Update.hs 94;" f +shellHitWall src/Dodge/Projectile/Update.hs 59;" f shellMag src/Dodge/Item/Ammo.hs 49;" f shellModule src/Dodge/Item/Scope.hs 123;" f shellShape src/Dodge/Projectile/Draw.hs 35;" f @@ -5063,14 +5045,14 @@ showInventoryPathing src/Dodge/Item/Display.hs 86;" f showManObj src/Dodge/TestString.hs 45;" f showTerminalError src/Dodge/Debug/Terminal.hs 80;" f showTimeFlow src/Dodge/TestString.hs 68;" f -shrinkPolyOnEdges src/Geometry/Polygon.hs 173;" f -shrinkVert src/Geometry/Polygon.hs 177;" f +shrinkPolyOnEdges src/Geometry/Polygon.hs 174;" f +shrinkVert src/Geometry/Polygon.hs 178;" f shuffle src/RandomHelp.hs 49;" f shuffleLinks src/Dodge/Room/Link.hs 30;" f shuffleRoomPos src/Dodge/Layout.hs 77;" f shuffleTail src/RandomHelp.hs 59;" f sigmoid src/Dodge/Base.hs 151;" f -simpleCrSprings src/Dodge/Update.hs 847;" f +simpleCrSprings src/Dodge/Update.hs 846;" f simpleTermMessage src/Dodge/Terminal.hs 164;" f sineRaisePitchOneSecS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 680;" f sineRaisePitchTwoSecS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 472;" f @@ -5147,10 +5129,10 @@ spreadAroundCenter src/Dodge/Base.hs 173;" f spreadCenter src/Dodge/Base.hs 187;" f spreadFromCenter src/Dodge/Base.hs 176;" f spreadGunCrit src/Dodge/Creature/SpreadGunCrit.hs 11;" f -spreadOut src/Dodge/Creature/Boid.hs 161;" f +spreadOut src/Dodge/Creature/Boid.hs 159;" f sps src/Dodge/LevelGen/PlacementHelper.hs 30;" f sps0 src/Dodge/LevelGen/PlacementHelper.hs 42;" f -square src/Geometry/Polygon.hs 47;" f +square src/Geometry/Polygon.hs 48;" f squareDecoration src/Dodge/Placement/TopDecoration.hs 41;" f squashIntersectCirclePoint src/Dodge/WallCreatureCollisions.hs 114;" f squashNormalizeV src/Geometry/Vector.hs 158;" f @@ -5184,7 +5166,7 @@ startRoom src/Dodge/Room/Start.hs 53;" f startSeedGame src/Dodge/StartNewGame.hs 20;" f startSeedGameConc src/Dodge/StartNewGame.hs 27;" f statsModifier src/Dodge/Creature/Info.hs 16;" f -stickHitSound src/Dodge/Projectile/Update.hs 75;" f +stickHitSound src/Dodge/Projectile/Update.hs 76;" f stickyMod src/Dodge/Item/Scope.hs 51;" f stone1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 540;" f stone2S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 662;" f @@ -5212,7 +5194,7 @@ swapIndices src/ListHelp.hs 50;" f 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 176;" f +swarmUsingCenter src/Dodge/Creature/Boid.hs 173;" f switchDoor src/Dodge/Placement/Instance/Door.hs 104;" f switchWallCol src/Dodge/Default/Door.hs 12;" f t src/ShortShow.hs 48;" f @@ -5245,7 +5227,6 @@ targetYouLOS src/Dodge/Creature/ChooseTarget.hs 8;" f targetYouWhenCognizant src/Dodge/Creature/ReaderUpdate.hs 197;" f targetYouWhenCognizant src/Dodge/Creature/SetTarget.hs 9;" f targetingScope src/Dodge/Item/Scope.hs 38;" f -telRoomLev src/Dodge/Room/Teleport.hs 14;" f teleS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 528;" f termScreenColor src/Dodge/Terminal/Color.hs 8;" f termSoundLine src/Dodge/Terminal.hs 43;" f @@ -5309,7 +5290,7 @@ titleOptionsMenu src/Dodge/Menu.hs 107;" f titleOptionsNoWrite src/Dodge/Menu.hs 110;" f tlDoEffect src/Dodge/Terminal.hs 102;" f tlSetStatus src/Dodge/Terminal.hs 99;" f -tmUpdate src/Dodge/Update.hs 470;" f +tmUpdate src/Dodge/Update.hs 471;" f toBinary src/Dodge/Inventory/SelectionList.hs 141;" f toBothLnk src/Dodge/RoomLink.hs 136;" f toClosestMultiple src/HelpNum.hs 3;" f @@ -5371,7 +5352,7 @@ translateToRightHand src/Dodge/Creature/HandPos.hs 54;" f translateToRightLeg src/Dodge/Creature/HandPos.hs 112;" f translateWallID src/Dodge/Wall/Move.hs 37;" f translateXY src/Polyhedra.hs 26;" f -trapezionBWHW src/Geometry/Polygon.hs 25;" f +trapezionBWHW src/Geometry/Polygon.hs 26;" f treeAttachDeep src/TreeHelp.hs 193;" f treeChildNums src/TreeHelp.hs 130;" f treeFromPost src/TreeHelp.hs 40;" f @@ -5402,9 +5383,9 @@ tryPlay src/Sound.hs 84;" f tryPutItemInInv src/Dodge/Inventory/Add.hs 24;" f tryPutItemInInvAt src/Dodge/Inventory/Add.hs 53;" f trySeedFromClipboard src/Dodge/Menu.hs 96;" f -trySpin src/Dodge/Projectile/Update.hs 126;" f +trySpin src/Dodge/Projectile/Update.hs 116;" f trySynthBullet src/Dodge/Creature/State.hs 167;" f -tryThrust src/Dodge/Projectile/Update.hs 132;" f +tryThrust src/Dodge/Projectile/Update.hs 122;" f tryUseParent src/Dodge/Creature/State.hs 145;" f turnTo src/Dodge/Movement/Turn.hs 8;" f turret src/Dodge/Placement/Instance/Turret.hs 37;" f @@ -5446,7 +5427,7 @@ unusedOffPathAwayFromLink src/Dodge/PlacementSpot.hs 131;" f unusedSpotAwayFromInLink src/Dodge/PlacementSpot.hs 137;" f unusedSpotAwayFromLink src/Dodge/PlacementSpot.hs 119;" f unusedSpotNearInLink src/Dodge/PlacementSpot.hs 196;" f -updateAimPos src/Dodge/Update.hs 302;" f +updateAimPos src/Dodge/Update.hs 303;" f updateAllNodes src/TreeHelp.hs 86;" f updateArc src/Dodge/Tesla.hs 44;" f updateBackspaceRegex src/Dodge/Update/Input/InGame.hs 478;" f @@ -5456,42 +5437,42 @@ updateBaseWheelEvent src/Dodge/Update/Scroll.hs 34;" f updateBounds src/Dodge/Update/Camera.hs 258;" f updateBulVel src/Dodge/Bullet.hs 57;" f updateBullet src/Dodge/Bullet.hs 22;" f -updateBullets src/Dodge/Update.hs 549;" f +updateBullets src/Dodge/Update.hs 550;" f updateCamera src/Dodge/Update/Camera.hs 30;" f updateCloseObjects src/Dodge/Inventory.hs 115;" f -updateCloud src/Dodge/Update.hs 784;" f -updateClouds src/Dodge/Update.hs 652;" f +updateCloud src/Dodge/Update.hs 783;" f +updateClouds src/Dodge/Update.hs 654;" f updateCombinePositioning src/Dodge/DisplayInventory.hs 40;" f updateCombineSections src/Dodge/DisplayInventory.hs 47;" f updateCreature src/Dodge/Creature/Update.hs 32;" f updateCreature' src/Dodge/Creature/Update.hs 41;" f -updateCreatureGroups src/Dodge/Update.hs 521;" f +updateCreatureGroups src/Dodge/Update.hs 522;" f updateCreatureSoundPositions src/Dodge/Update.hs 501;" f -updateDebris src/Dodge/Update.hs 556;" f +updateDebris src/Dodge/Update.hs 557;" f updateDebrisChunk src/Dodge/Prop/Moving.hs 16;" f updateDebugMessageOffset src/Dodge/Update.hs 93;" f updateDelayedEvents src/Dodge/Update.hs 875;" f updateDisplaySections src/Dodge/DisplayInventory.hs 116;" f updateDistortion src/Dodge/Distortion.hs 5;" f -updateDistortions src/Dodge/Update.hs 542;" f -updateDoor src/Dodge/Update.hs 307;" f -updateDust src/Dodge/Update.hs 808;" f -updateDusts src/Dodge/Update.hs 655;" f +updateDistortions src/Dodge/Update.hs 543;" f +updateDoor src/Dodge/Update.hs 308;" f +updateDust src/Dodge/Update.hs 807;" f +updateDusts src/Dodge/Update.hs 657;" f updateEnergyBall src/Dodge/EnergyBall.hs 31;" f -updateEnergyBalls src/Dodge/Update.hs 643;" f +updateEnergyBalls src/Dodge/Update.hs 645;" f updateEnterRegex src/Dodge/Update/Input/InGame.hs 505;" f updateExpBarrel src/Dodge/Barreloid.hs 21;" f updateFBOTO src/Framebuffer/Update.hs 97;" f updateFBOTO3 src/Framebuffer/Update.hs 131;" f updateFlame src/Dodge/Flame.hs 19;" f -updateFlames src/Dodge/Update.hs 640;" f +updateFlames src/Dodge/Update.hs 642;" f updateFloatingCamera src/Dodge/Update/Camera.hs 35;" f updateFunctionKey src/Dodge/Update/Input/InGame.hs 363;" f updateFunctionKeys src/Dodge/Update/Input/InGame.hs 359;" f -updateGusts src/Dodge/Update.hs 767;" f +updateGusts src/Dodge/Update.hs 766;" f updateHumanoid src/Dodge/Humanoid.hs 14;" f -updateIMl src/Dodge/Update.hs 515;" f -updateIMl' src/Dodge/Update.hs 518;" f +updateIMl src/Dodge/Update.hs 516;" f +updateIMl' src/Dodge/Update.hs 519;" f updateInGameCamera src/Dodge/Update/Camera.hs 79;" f updateInitialPressInGame src/Dodge/Update/Input/InGame.hs 428;" f updateInt2Map src/Dodge/Zoning/Base.hs 92;" f @@ -5504,33 +5485,33 @@ updateKeysInTerminal src/Dodge/Update/Input/InGame.hs 382;" f updateKeysTextInputTerminal src/Dodge/Update/Input/InGame.hs 405;" f updateLampoid src/Dodge/Lampoid.hs 13;" f updateLaser src/Dodge/Laser/Update.hs 11;" f -updateLasers src/Dodge/Update.hs 419;" f +updateLasers src/Dodge/Update.hs 420;" f updateLeftParentSF src/Dodge/Item/Grammar.hs 170;" f updateLinearShockwave src/Dodge/LinearShockwave/Update.hs 8;" f updateLongPressInGame src/Dodge/Update/Input/InGame.hs 441;" f updateMachine src/Dodge/Machine/Update.hs 24;" f -updateMagnets src/Dodge/Update.hs 310;" f +updateMagnets src/Dodge/Update.hs 311;" f updateMouseClickInGame src/Dodge/Update/Input/InGame.hs 203;" f -updateMouseContext src/Dodge/Update.hs 323;" f -updateMouseContextGame src/Dodge/Update.hs 328;" f +updateMouseContext src/Dodge/Update.hs 324;" f +updateMouseContextGame src/Dodge/Update.hs 329;" f updateMouseHeldInGame src/Dodge/Update/Input/InGame.hs 96;" f updateMouseInGame src/Dodge/Update/Input/InGame.hs 86;" f updateMouseReleaseInGame src/Dodge/Update/Input/InGame.hs 166;" f -updateObjCatMaybes src/Dodge/Update.hs 533;" f -updateObjMapMaybe src/Dodge/Update.hs 526;" f -updatePastWorlds src/Dodge/Update.hs 408;" f +updateObjCatMaybes src/Dodge/Update.hs 534;" f +updateObjMapMaybe src/Dodge/Update.hs 527;" f +updatePastWorlds src/Dodge/Update.hs 409;" f updatePreload src/Preload/Update.hs 20;" f updateProjectile src/Dodge/Projectile/Update.hs 25;" f updateProp src/Dodge/Prop/Update.hs 11;" f updatePulse src/Dodge/Creature/Update.hs 146;" f -updatePulseBall src/Dodge/Update.hs 433;" f -updatePulseLaser src/Dodge/Update.hs 596;" f -updatePulseLasers src/Dodge/Update.hs 428;" f +updatePulseBall src/Dodge/Update.hs 434;" f +updatePulseLaser src/Dodge/Update.hs 597;" f +updatePulseLasers src/Dodge/Update.hs 429;" f updateRBList src/Dodge/Inventory/RBList.hs 22;" f updateRadarBlip src/Dodge/RadarBlip.hs 11;" f -updateRadarBlips src/Dodge/Update.hs 545;" f +updateRadarBlips src/Dodge/Update.hs 546;" f updateRadarSweep src/Dodge/RadarSweep.hs 40;" f -updateRadarSweeps src/Dodge/Update.hs 646;" f +updateRadarSweeps src/Dodge/Update.hs 648;" f updateRandNode src/TreeHelp.hs 109;" f updateRenderSplit appDodge/Main.hs 109;" f updateRightParentSF src/Dodge/Item/Grammar.hs 181;" f @@ -5540,16 +5521,16 @@ updateScrollTestValue src/Dodge/ScrollValue.hs 6;" f updateSection src/Dodge/DisplayInventory.hs 258;" f updateSectionsPositioning src/Dodge/DisplayInventory.hs 237;" f updateShockwave src/Dodge/Shockwave/Update.hs 8;" f -updateShockwaves src/Dodge/Update.hs 637;" f +updateShockwaves src/Dodge/Update.hs 639;" f updateSingleNodes src/TreeHelp.hs 98;" f updateSound src/Sound.hs 72;" f updateSounds src/Sound.hs 67;" f updateSpark src/Dodge/Spark.hs 19;" f -updateSparks src/Dodge/Update.hs 649;" f -updateTeslaArc src/Dodge/Update.hs 566;" f -updateTeslaArcs src/Dodge/Update.hs 563;" f +updateSparks src/Dodge/Update.hs 651;" f +updateTeslaArc src/Dodge/Update.hs 567;" f +updateTeslaArcs src/Dodge/Update.hs 564;" f updateTractorBeam src/Dodge/TractorBeam/Update.hs 9;" f -updateTractorBeams src/Dodge/Update.hs 634;" f +updateTractorBeams src/Dodge/Update.hs 636;" f updateTurret src/Dodge/Machine/Update.hs 49;" f updateUniverse src/Dodge/Update.hs 72;" f updateUniverseFirst src/Dodge/Update.hs 83;" f @@ -5560,7 +5541,7 @@ updateUseInputOnScreen src/Dodge/Update/Input/ScreenLayer.hs 23;" f updateWalkCycle src/Dodge/Creature/State/WalkCycle.hs 11;" f updateWallDamages src/Dodge/Update/WallDamage.hs 10;" f updateWheelEvent src/Dodge/Update/Scroll.hs 25;" f -updateWheelEvents src/Dodge/Update.hs 398;" f +updateWheelEvents src/Dodge/Update.hs 399;" f updateWorldEventFlag src/Dodge/Update.hs 118;" f updateWorldEventFlags src/Dodge/Update.hs 106;" f upperBody src/Dodge/Creature/Picture.hs 120;" f @@ -5735,11 +5716,11 @@ zipArcs src/Dodge/Tesla.hs 52;" f zipCount src/Dodge/Tree/Shift.hs 136;" f zipCountDown src/Dodge/Room/Procedural.hs 121;" f zoneCloud src/Dodge/Zoning/Cloud.hs 27;" f -zoneClouds src/Dodge/Update.hs 460;" f +zoneClouds src/Dodge/Update.hs 461;" f zoneCreature src/Dodge/Zoning/Creature.hs 55;" f -zoneCreatures src/Dodge/Update.hs 496;" f +zoneCreatures src/Dodge/Update.hs 497;" f zoneDust src/Dodge/Zoning/Cloud.hs 48;" f -zoneDusts src/Dodge/Update.hs 464;" f +zoneDusts src/Dodge/Update.hs 465;" f zoneExtract src/Dodge/Zoning/Base.hs 52;" f zoneMonoid src/Dodge/Zoning/Base.hs 83;" f zoneOfCirc src/Dodge/Zoning/Base.hs 24;" f