diff --git a/src/Dodge/Creature/Impulse/UseItem.hs b/src/Dodge/Creature/Impulse/UseItem.hs index 3d07112b3..3a7be3b9a 100644 --- a/src/Dodge/Creature/Impulse/UseItem.hs +++ b/src/Dodge/Creature/Impulse/UseItem.hs @@ -14,7 +14,9 @@ import Dodge.HeldUse import Dodge.Inventory import Dodge.Item.Grammar import Dodge.Item.Location ---import qualified IntMapHelp as IM + +--note :: a -> Maybe b -> Either a b +--note x = maybe (Left x) Right useItem :: Int -> Int -> World -> Maybe World useItem invid pt w = fmap (worldEventFlags . at InventoryChange ?~ ()) $ do diff --git a/src/Dodge/Data/HUD.hs b/src/Dodge/Data/HUD.hs index 348e1a09a..36bca4663 100644 --- a/src/Dodge/Data/HUD.hs +++ b/src/Dodge/Data/HUD.hs @@ -32,7 +32,7 @@ data HUD = HUD , _diSelection :: Maybe Selection , _diInvFilter :: Maybe String , _diCloseFilter :: Maybe String - , _closeItems :: [NewInt ItmInt] + , _closeItems :: [NewInt ItmInt] -- add bool showing whether in ssSet? , _closeButtons :: [Int] , _manObject :: ManipulatedObject } diff --git a/src/Dodge/Data/Item/Location.hs b/src/Dodge/Data/Item/Location.hs index 0920be54c..1910c2d12 100644 --- a/src/Dodge/Data/Item/Location.hs +++ b/src/Dodge/Data/Item/Location.hs @@ -35,7 +35,7 @@ data ItemLocation , _ilEquipSite :: Maybe EquipSite } | OnTurret {_ilTuID :: Int} - | OnFloor {_ilCloseSel :: Bool} -- {_ilFlID :: NewInt FloorInt} + | OnFloor | InVoid deriving (Eq, Show, Ord, Read) --Generic, Flat) diff --git a/src/Dodge/Data/World.hs b/src/Dodge/Data/World.hs index 9a88c5255..d965904df 100644 --- a/src/Dodge/Data/World.hs +++ b/src/Dodge/Data/World.hs @@ -43,6 +43,7 @@ data World = World , _wSoundFilter :: SoundFilter , _input :: Input , _testFloat :: Float + , _testString :: String , _rbState :: RightButtonState , _hud :: HUD , _worldEventFlags :: Set WorldEventFlag diff --git a/src/Dodge/Default/World.hs b/src/Dodge/Default/World.hs index 6f8a7bc3b..adebb8586 100644 --- a/src/Dodge/Default/World.hs +++ b/src/Dodge/Default/World.hs @@ -43,6 +43,7 @@ defaultWorld = , _playingSounds = M.empty , _randGen = mkStdGen 2 , _testFloat = 0 + , _testString = "" , _rbState = NoRightButtonState , _hud = defaultHUD , _worldEventFlags = mempty diff --git a/src/Dodge/FloorItem.hs b/src/Dodge/FloorItem.hs index 61edea9bc..64bdd9ab1 100644 --- a/src/Dodge/FloorItem.hs +++ b/src/Dodge/FloorItem.hs @@ -15,7 +15,7 @@ copyItemToFloor :: Point2 -> Item -> World -> World copyItemToFloor p it w = w' & cWorld . lWorld . floorItems . at (it ^. itID . unNInt) ?~ FlIt q r - & cWorld . lWorld . items . at (it ^. itID . unNInt) ?~ (it & itLocation .~ OnFloor False) + & cWorld . lWorld . items . at (it ^. itID . unNInt) ?~ (it & itLocation .~ OnFloor) & hud . closeItems .:~ _itID it -- puts item at top of close items & cWorld . highlightItems . at (it ^. itID . unNInt) ?~ 20 where diff --git a/src/Dodge/Inventory.hs b/src/Dodge/Inventory.hs index 7125d3117..9cc8c6ab8 100644 --- a/src/Dodge/Inventory.hs +++ b/src/Dodge/Inventory.hs @@ -273,7 +273,7 @@ invSetSelection sel w = & worldEventFlags . at InventoryChange ?~ () -- & crUpdateItemLocations & setInvPosFromSS -- is this necessary here? --- & crUpdateItemLocations + & crUpdateItemLocations invSetSelectionPos :: Int -> Int -> World -> World invSetSelectionPos i j = invSetSelection (Sel i j) diff --git a/src/Dodge/Placement/PlaceSpot.hs b/src/Dodge/Placement/PlaceSpot.hs index 67fc8e36a..9ba0607ba 100644 --- a/src/Dodge/Placement/PlaceSpot.hs +++ b/src/Dodge/Placement/PlaceSpot.hs @@ -111,7 +111,7 @@ placeSpotID rid ps pt w = case pt of in ( i , w & gwWorld . cWorld . lWorld . floorItems . at i ?~ FlIt p rot - & gwWorld . cWorld . lWorld . items . at i ?~ (itm & itID .~ NInt i & itLocation .~ OnFloor False) + & gwWorld . cWorld . lWorld . items . at i ?~ (itm & itID .~ NInt i & itLocation .~ OnFloor) ) PutCrit cr -> plNewUpID (gwWorld . cWorld . lWorld . creatures) crID (mvCr p rot cr) w PutForeground fs -> diff --git a/src/Dodge/TestString.hs b/src/Dodge/TestString.hs index 604c7ca37..187bda29b 100644 --- a/src/Dodge/TestString.hs +++ b/src/Dodge/TestString.hs @@ -58,10 +58,14 @@ crs :: Universe -> [Creature] crs u = u ^.. uvWorld . cWorld . lWorld . creatures . each testStringInit :: Universe -> [String] -testStringInit u = [u ^. uvWorld . input . mouseContext . to show +testStringInit u = + [ u ^. uvWorld . testString + , u ^. uvWorld . input . mouseContext . to show , u ^. uvWorld . hud . diSelection . to show - ] <> u ^.. uvWorld . hud . diSections . each . ssSet . to show --- u ^. uvWorld . hud . manObject . to prettyShort + , u ^. uvWorld . cWorld . lWorld . lInvLock . to show + ] + <> u ^. uvWorld . hud . manObject . to prettyShort + <> u ^.. uvWorld . hud . diSections . each . ssSet . to show --testStringInit u = u ^. uvWorld . cWorld . lWorld . creatures . ix 5 . crActionPlan . to prettyShort --[show . getSum $ foldMap (Sum . crslime) (crs u)] -- u ^.. tocrs . each . crType . slimeSplitTimer . to show diff --git a/tags b/tags index 864a4d8b3..6885544b3 100644 --- a/tags +++ b/tags @@ -195,7 +195,7 @@ CamOnPlayer src/Dodge/Data/Camera.hs 12;" C CamOpticScope src/Dodge/Data/Camera.hs 13;" C CamRemoteScope src/Dodge/Data/Camera.hs 14;" C Camera src/Dodge/Data/Camera.hs 22;" t -CameraScrollTimeFlow src/Dodge/Data/World.hs 75;" C +CameraScrollTimeFlow src/Dodge/Data/World.hs 76;" C CapacitorBelow src/Dodge/Data/Muzzle.hs 23;" C CapacitorSF src/Dodge/Data/ComposedItem.hs 44;" C CapacitorSelf src/Dodge/Data/Muzzle.hs 24;" C @@ -622,7 +622,7 @@ ItemSF src/Dodge/Data/ComposedItem.hs 13;" t ItemScroll src/Dodge/Data/Item.hs 38;" t ItemScrollInt src/Dodge/Data/Item.hs 40;" C ItemScrollIntRange src/Dodge/Data/Item.hs 41;" C -ItemScrollTimeFlow src/Dodge/Data/World.hs 69;" C +ItemScrollTimeFlow src/Dodge/Data/World.hs 70;" C ItemSound src/Dodge/Data/SoundOrigin.hs 20;" C ItemTargeting src/Dodge/Data/Item.hs 43;" t ItemType src/Dodge/Data/Item/Combine.hs 15;" t @@ -863,7 +863,7 @@ NodeTree src/Dodge/Data/MetaTree.hs 16;" C NonInf src/Dodge/Data/CardinalPoint.hs 44;" C NormalOptions src/Dodge/Data/Universe.hs 71;" C NormalSpark src/Dodge/Data/Spark.hs 19;" C -NormalTimeFlow src/Dodge/Data/World.hs 68;" C +NormalTimeFlow src/Dodge/Data/World.hs 69;" C North src/Dodge/Data/CardinalPoint.hs 7;" C North8 src/Dodge/Data/CardinalPoint.hs 28;" C NorthEast src/Dodge/Data/CardinalPoint.hs 21;" C @@ -989,8 +989,8 @@ PathShowType src/Dodge/Data/Universe.hs 52;" t PathTo src/Dodge/Data/ActionPlan.hs 76;" C Pathing src/Dodge/Data/Config.hs 90;" C Patrol src/Dodge/Data/ActionPlan.hs 140;" C -PauseTimeMessage src/Dodge/Data/World.hs 88;" C -PausedTimeFlow src/Dodge/Data/World.hs 84;" C +PauseTimeMessage src/Dodge/Data/World.hs 89;" C +PausedTimeFlow src/Dodge/Data/World.hs 85;" C Payload src/Dodge/Data/Payload.hs 9;" t PenetrateBullet src/Dodge/Data/Bullet.hs 30;" C Perception src/Dodge/Data/Creature/Perception.hs 30;" t @@ -1119,12 +1119,12 @@ RequireHealth src/Dodge/Data/Machine/Sensor.hs 34;" C ResFactor src/Dodge/Data/Config.hs 115;" t ResearchFacility src/Dodge/Data/Scenario.hs 62;" C ResourceFailure src/Dodge/Data/Scenario.hs 29;" C -RespawnDelay src/Dodge/Data/World.hs 66;" C +RespawnDelay src/Dodge/Data/World.hs 67;" C RetailFacility src/Dodge/Data/Scenario.hs 67;" C RetiredProjectile src/Dodge/Data/Projectile.hs 38;" C ReturnToHive src/Dodge/Data/ActionPlan.hs 152;" C Revenge src/Dodge/Data/Scenario.hs 6;" C -RewindLeftClick src/Dodge/Data/World.hs 80;" C +RewindLeftClick src/Dodge/Data/World.hs 81;" C RezBaySS src/Dodge/Data/Scenario.hs 105;" C RightButtonState src/Dodge/Data/RightButtonOptions.hs 13;" t RightForward src/Dodge/Data/Creature/Stance.hs 35;" C @@ -1353,7 +1353,7 @@ TextShad src/Picture/Data.hs 32;" C ThermalSensor src/Dodge/Data/Machine/Sensor.hs 15;" C Tile src/Data/Tile.hs 16;" t Tiled src/Data/Tile.hs 14;" C -TimeFlowStatus src/Dodge/Data/World.hs 65;" t +TimeFlowStatus src/Dodge/Data/World.hs 66;" t Tiny src/Shape/Data.hs 28;" C TmDistributeAmmo src/Dodge/Data/Terminal.hs 62;" C TmTmClearDisplayedLines src/Dodge/Data/Terminal.hs 60;" C @@ -1675,7 +1675,7 @@ _clPos src/Dodge/Data/Cloud.hs 14;" f _clTimer src/Dodge/Data/Cloud.hs 16;" f _clType src/Dodge/Data/Cloud.hs 17;" f _clVel src/Dodge/Data/Cloud.hs 15;" f -_clZoning src/Dodge/Data/World.hs 50;" f +_clZoning src/Dodge/Data/World.hs 51;" f _clickPos src/Dodge/Data/Input.hs 44;" f _clickWorldPos src/Dodge/Data/Input.hs 46;" f _cliffs src/Dodge/Data/CWorld.hs 34;" f @@ -1688,7 +1688,7 @@ _coneBaseNum src/Shape/Data.hs 15;" f _coolEnd src/Dodge/Data/TriggerType.hs 17;" f _coolSound src/Dodge/Data/Item/Params.hs 22;" f _coolStart src/Dodge/Data/TriggerType.hs 16;" f -_coordinates src/Dodge/Data/World.hs 61;" f +_coordinates src/Dodge/Data/World.hs 62;" f _cpAttention src/Dodge/Data/Creature/Perception.hs 32;" f _cpAudition src/Dodge/Data/Creature/Perception.hs 35;" f _cpAwareness src/Dodge/Data/Creature/Perception.hs 33;" f @@ -1725,7 +1725,7 @@ _crStance src/Dodge/Data/Creature.hs 49;" f _crType src/Dodge/Data/Creature.hs 41;" f _crVocalization src/Dodge/Data/Creature.hs 53;" f _crWallTouch src/Dodge/Data/Creature.hs 59;" f -_crZoning src/Dodge/Data/World.hs 49;" f +_crZoning src/Dodge/Data/World.hs 50;" f _creatureGroups src/Dodge/Data/LWorld.hs 96;" f _creatures src/Dodge/Data/LWorld.hs 95;" f _csLinks src/Dodge/Data/RoomCluster.hs 10;" f @@ -1816,7 +1816,7 @@ _dsPos src/Dodge/Data/Cloud.hs 28;" f _dsTimer src/Dodge/Data/Cloud.hs 30;" f _dsType src/Dodge/Data/Cloud.hs 31;" f _dsVel src/Dodge/Data/Cloud.hs 29;" f -_dsZoning src/Dodge/Data/World.hs 52;" f +_dsZoning src/Dodge/Data/World.hs 53;" f _dtLeft src/Dodge/Data/DoubleTree.hs 16;" f _dtRight src/Dodge/Data/DoubleTree.hs 16;" f _dtValue src/Dodge/Data/DoubleTree.hs 16;" f @@ -1863,10 +1863,10 @@ _fsDir src/Dodge/Data/ForegroundShape.hs 14;" f _fsPos src/Dodge/Data/ForegroundShape.hs 13;" f _fsSPic src/Dodge/Data/ForegroundShape.hs 15;" f _fullscreenShader src/Data/Preload/Render.hs 23;" f -_futureWorlds src/Dodge/Data/World.hs 72;" f -_futureWorlds src/Dodge/Data/World.hs 78;" f +_futureWorlds src/Dodge/Data/World.hs 73;" f +_futureWorlds src/Dodge/Data/World.hs 79;" f _gameplay_rotate_to_wall src/Dodge/Data/Config.hs 66;" f -_gasZoning src/Dodge/Data/World.hs 51;" f +_gasZoning src/Dodge/Data/World.hs 52;" f _gasses src/Dodge/Data/LWorld.hs 101;" f _genInts src/Dodge/Data/GenWorld.hs 28;" f _genPmnt src/Dodge/Data/GenWorld.hs 27;" f @@ -1902,7 +1902,7 @@ _gsPos src/Dodge/Data/Cloud.hs 36;" f _gsTimer src/Dodge/Data/Cloud.hs 38;" f _gsType src/Dodge/Data/Cloud.hs 39;" f _gsVel src/Dodge/Data/Cloud.hs 37;" f -_gsZoning src/Dodge/Data/World.hs 58;" f +_gsZoning src/Dodge/Data/World.hs 59;" f _guID src/Dodge/Data/Gust.hs 12;" f _guPos src/Dodge/Data/Gust.hs 13;" f _guTime src/Dodge/Data/Gust.hs 15;" f @@ -1920,7 +1920,7 @@ _hiveChildren src/Dodge/Data/Creature/Misc.hs 96;" f _hiveGestation src/Dodge/Data/Creature/Misc.hs 97;" f _hiveSlime src/Dodge/Data/Creature/Misc.hs 98;" f _hotkeys src/Dodge/Data/LWorld.hs 146;" f -_hud src/Dodge/Data/World.hs 47;" f +_hud src/Dodge/Data/World.hs 48;" f _ibtAmmoMag src/Dodge/Data/Item/Combine.hs 20;" f _ibtAttach src/Dodge/Data/Item/Combine.hs 19;" f _ibtBulletMod src/Dodge/Data/Item/Combine.hs 22;" f @@ -1943,11 +1943,11 @@ _immediateEffect src/Loop/Data.hs 9;" f _immediateUpdate src/Loop/Data.hs 12;" f _impulseUseTarget src/Dodge/Data/ActionPlan.hs 49;" f _impulsesListList src/Dodge/Data/ActionPlan.hs 80;" f -_incEdgeZoning src/Dodge/Data/World.hs 57;" f +_incEdgeZoning src/Dodge/Data/World.hs 58;" f _incEdges src/Dodge/Data/CWorld.hs 31;" f _incGraph src/Dodge/Data/CWorld.hs 29;" f _incNode src/Dodge/Data/CWorld.hs 30;" f -_incNodeZoning src/Dodge/Data/World.hs 56;" f +_incNodeZoning src/Dodge/Data/World.hs 57;" f _input src/Dodge/Data/World.hs 44;" f _inputMemory src/Dodge/Data/Input.hs 51;" f _isWarming src/Dodge/Data/Item/Params.hs 21;" f @@ -2136,8 +2136,8 @@ _partialAction src/Dodge/Data/ActionPlan.hs 119;" f _pastWorlds src/Dodge/Data/World.hs 38;" f _pathFailAction src/Dodge/Data/ActionPlan.hs 76;" f _pathToPoint src/Dodge/Data/ActionPlan.hs 76;" f -_pauseTimeMesage src/Dodge/Data/World.hs 89;" f -_pauseTimeMesageColor src/Dodge/Data/World.hs 90;" f +_pauseTimeMesage src/Dodge/Data/World.hs 90;" f +_pauseTimeMesageColor src/Dodge/Data/World.hs 91;" f _pbOrigin src/Dodge/Data/PlasmaBall.hs 16;" f _pbPos src/Dodge/Data/PlasmaBall.hs 15;" f _pbType src/Dodge/Data/PlasmaBall.hs 13;" f @@ -2237,7 +2237,7 @@ _rbColor src/Dodge/Data/RadarBlip.hs 13;" f _rbMaxTime src/Dodge/Data/RadarBlip.hs 15;" f _rbPos src/Dodge/Data/RadarBlip.hs 17;" f _rbRad src/Dodge/Data/RadarBlip.hs 16;" f -_rbState src/Dodge/Data/World.hs 46;" f +_rbState src/Dodge/Data/World.hs 47;" f _rbTime src/Dodge/Data/RadarBlip.hs 14;" f _rboBaseBloom src/Data/Preload/Render.hs 41;" f _rdDist1 src/Dodge/Data/Distortion.hs 13;" f @@ -2248,11 +2248,11 @@ _rdTG src/Dodge/Data/Distortion.hs 17;" f _rdTR src/Dodge/Data/Distortion.hs 15;" f _rdTime src/Dodge/Data/Distortion.hs 27;" f _renderData src/Data/Preload.hs 11;" f -_respawnDelay src/Dodge/Data/World.hs 67;" f +_respawnDelay src/Dodge/Data/World.hs 68;" f _respawnPos src/Dodge/Data/LWorld.hs 150;" f -_reverseAmount src/Dodge/Data/World.hs 71;" f -_reverseAmount src/Dodge/Data/World.hs 77;" f -_reverseAmount src/Dodge/Data/World.hs 81;" f +_reverseAmount src/Dodge/Data/World.hs 72;" f +_reverseAmount src/Dodge/Data/World.hs 78;" f +_reverseAmount src/Dodge/Data/World.hs 82;" f _rkHoming src/Dodge/Data/Projectile.hs 35;" f _rkSmoke src/Dodge/Data/Projectile.hs 36;" f _rlDir src/Dodge/Data/Room.hs 27;" f @@ -2314,11 +2314,11 @@ _scPositionedMenuOption src/Dodge/Data/Universe.hs 86;" f _scSelectionList src/Dodge/Data/Universe.hs 88;" f _scTitle src/Dodge/Data/Universe.hs 83;" f _scrollAmount src/Dodge/Data/Input.hs 42;" f -_scrollItemID src/Dodge/Data/World.hs 73;" f -_scrollItemID src/Dodge/Data/World.hs 82;" f -_scrollItemID src/Dodge/Data/World.hs 86;" f -_scrollSmoothing src/Dodge/Data/World.hs 70;" f -_scrollSmoothing src/Dodge/Data/World.hs 76;" f +_scrollItemID src/Dodge/Data/World.hs 74;" f +_scrollItemID src/Dodge/Data/World.hs 83;" f +_scrollItemID src/Dodge/Data/World.hs 87;" f +_scrollSmoothing src/Dodge/Data/World.hs 71;" f +_scrollSmoothing src/Dodge/Data/World.hs 77;" f _scrollTestFloat src/Dodge/Data/Input.hs 49;" f _scrollTestInt src/Dodge/Data/Input.hs 50;" f _scurColor src/Dodge/Data/SelectionList.hs 29;" f @@ -2436,6 +2436,7 @@ _termID src/Dodge/Data/HUD.hs 27;" f _terminals src/Dodge/Data/LWorld.hs 127;" f _teslaArcs src/Dodge/Data/LWorld.hs 115;" f _testFloat src/Dodge/Data/World.hs 45;" f +_testString src/Dodge/Data/World.hs 46;" f _textInput src/Dodge/Data/Input.hs 48;" f _textureAntiaShader src/Data/Preload/Render.hs 24;" f _textureObject src/Shader/Data.hs 103;" f @@ -2447,7 +2448,7 @@ _tileZero src/Data/Tile.hs 19;" f _tileZeroShift src/Data/Tile.hs 25;" f _tiles src/Data/Tile.hs 14;" f _timeFlow src/Dodge/Data/World.hs 39;" f -_timeFlowCharge src/Dodge/Data/World.hs 85;" f +_timeFlowCharge src/Dodge/Data/World.hs 86;" f _tlEffect src/Dodge/Data/Terminal.hs 39;" f _tlPause src/Dodge/Data/Terminal.hs 37;" f _tlString src/Dodge/Data/Terminal.hs 38;" f @@ -2459,7 +2460,7 @@ _tmDeathEffect src/Dodge/Data/Terminal.hs 27;" f _tmDisplayedLines src/Dodge/Data/Terminal.hs 24;" f _tmFutureLines src/Dodge/Data/Terminal.hs 25;" f _tmID src/Dodge/Data/Terminal.hs 20;" f -_tmLDP src/Dodge/Data/World.hs 62;" f +_tmLDP src/Dodge/Data/World.hs 63;" f _tmMachineID src/Dodge/Data/Terminal.hs 23;" f _tmRebootOnAccess src/Dodge/Data/Terminal.hs 31;" f _tmStatus src/Dodge/Data/Terminal.hs 28;" f @@ -2500,7 +2501,7 @@ _unST src/Dodge/Data/MetaTree.hs 21;" f _unTO src/Shader/Data.hs 59;" f _unVAO src/Shader/Data.hs 64;" f _unfiredBarrels src/Dodge/Data/Item/Params.hs 17;" f -_unpauseClock src/Dodge/Data/World.hs 60;" f +_unpauseClock src/Dodge/Data/World.hs 61;" f _unputTerminal src/Dodge/Data/GenWorld.hs 41;" f _upscaleCloudShader src/Data/Preload/Render.hs 25;" f _useExactly src/Dodge/Data/Muzzle.hs 63;" f @@ -2552,7 +2553,7 @@ _vxExt src/Picture/Data.hs 14;" f _vxLayer src/Picture/Data.hs 15;" f _vxPos src/Picture/Data.hs 12;" f _vxShadNum src/Picture/Data.hs 16;" f -_wCam src/Dodge/Data/World.hs 59;" f +_wCam src/Dodge/Data/World.hs 60;" f _wSoundFilter src/Dodge/Data/World.hs 43;" f _wTime src/Dodge/Data/Item/Params.hs 20;" f _waitThenAction src/Dodge/Data/ActionPlan.hs 84;" f @@ -2580,8 +2581,8 @@ _wlStCreature src/Dodge/Data/Wall/Structure.hs 16;" f _wlStructure src/Dodge/Data/Wall.hs 24;" f _wlTouchThrough src/Dodge/Data/Wall.hs 21;" f _wlUnshadowed src/Dodge/Data/Wall.hs 22;" f -_wlZoning src/Dodge/Data/World.hs 53;" f -_worldEventFlags src/Dodge/Data/World.hs 48;" f +_wlZoning src/Dodge/Data/World.hs 54;" f +_worldEventFlags src/Dodge/Data/World.hs 49;" f _worldEvents src/Dodge/Data/LWorld.hs 134;" f _wsBlock src/Dodge/Data/Wall/Structure.hs 15;" f _wsDoor src/Dodge/Data/Wall/Structure.hs 13;" f @@ -2599,7 +2600,7 @@ aShape src/Dodge/Placement/Instance/LightSource.hs 95;" f aSound src/Dodge/SoundLogic.hs 74;" f aTreeStrut src/Dodge/Tree/GenerateStructure.hs 42;" f accessTerminal src/Dodge/WorldEffect.hs 64;" f -activateDetonator src/Dodge/Creature/Impulse/UseItem.hs 63;" f +activateDetonator src/Dodge/Creature/Impulse/UseItem.hs 77;" f activeTargetCursorPic src/Dodge/Targeting/Draw.hs 31;" f addArmour src/Dodge/Creature.hs 75;" f addBranchAt src/Dodge/Tree/GenerateStructure.hs 18;" f @@ -2638,7 +2639,7 @@ addToTrunk src/TreeHelp.hs 159;" f addWarningTerminal src/Dodge/Room/Warning.hs 98;" f addZ src/Geometry/Vector3D.hs 90;" f adjustIMZone src/Dodge/Base.hs 81;" f -advanceScrollAmount src/Dodge/Update.hs 502;" f +advanceScrollAmount src/Dodge/Update.hs 503;" f advanceSmoothScroll src/Dodge/SmoothScroll.hs 33;" f aimDelaySweep src/Dodge/Render/Picture.hs 295;" f aimStanceInfo src/Dodge/Item/Info.hs 243;" f @@ -2836,7 +2837,7 @@ branchWith src/Dodge/Room/Room.hs 83;" f bright src/Color.hs 147;" f brightX src/Color.hs 143;" f btSPic src/Dodge/Render/ShapePicture.hs 150;" f -btText src/Dodge/Inventory/SelectionList.hs 252;" f +btText src/Dodge/Inventory/SelectionList.hs 256;" f bufferEBO src/Shader/Bind.hs 28;" f bufferPerspectiveMatrixUBO src/Dodge/Render.hs 436;" f bufferPokedVBO src/Shader/Bind.hs 19;" f @@ -2859,7 +2860,7 @@ calcSmoothScroll src/Dodge/SmoothScroll.hs 11;" f calcTexCoord src/Tile.hs 19;" f canSee src/Dodge/Base/Collide.hs 333;" f canSeeIndirect src/Dodge/Base/Collide.hs 340;" f -canSpring src/Dodge/Update.hs 1006;" f +canSpring src/Dodge/Update.hs 1007;" f cancelExamineInventory src/Dodge/Item/BackgroundEffect.hs 23;" f capacitor src/Dodge/Item/Ammo.hs 67;" f card8Vec src/Dodge/Base/CardinalPoint.hs 32;" f @@ -2867,7 +2868,7 @@ cardList src/Dodge/Base/CardinalPoint.hs 7;" f cardReverse src/Dodge/Base/CardinalPoint.hs 10;" f cardVec src/Dodge/Base/CardinalPoint.hs 17;" f cardinalBetweenAdj src/Dodge/Base/CardinalPoint.hs 43;" f -cardinalVectors src/Dodge/FloorItem.hs 24;" f +cardinalVectors src/Dodge/FloorItem.hs 25;" f carvePoly src/Dodge/LevelGen/StaticWalls.hs 77;" f cdtPropagateFold src/Dodge/DoubleTree.hs 189;" f ceilingTo src/Geometry/Zone.hs 15;" f @@ -2898,7 +2899,7 @@ checkCombineSelectionExists src/Dodge/DisplayInventory.hs 102;" f checkConnection src/Dodge/Inventory/Swap.hs 74;" f checkDeath src/Dodge/Creature/Update.hs 461;" f checkDeath' src/Dodge/Creature/Update.hs 464;" f -checkEndGame src/Dodge/Update.hs 892;" f +checkEndGame src/Dodge/Update.hs 893;" f checkErrorGL src/Shader/Compile.hs 86;" f checkFBO src/Framebuffer/Check.hs 6;" f checkGLError src/GLHelp.hs 17;" f @@ -2946,10 +2947,10 @@ clipV src/Geometry/Vector.hs 48;" f clipZoom src/Dodge/Update/Camera.hs 235;" f clipboardCr src/Dodge/Debug.hs 91;" f clockCycle src/Dodge/Clock.hs 7;" f -closeButtonToSelectionItem src/Dodge/Inventory/SelectionList.hs 237;" f +closeButtonToSelectionItem src/Dodge/Inventory/SelectionList.hs 241;" f closeItemDist src/Dodge/Inventory.hs 134;" f closeItemToSelectionItem src/Dodge/Inventory/SelectionList.hs 221;" f -closeItemToTextPictures src/Dodge/Inventory/SelectionList.hs 260;" f +closeItemToTextPictures src/Dodge/Inventory/SelectionList.hs 264;" f closeObjectInfo src/Dodge/Render/HUD.hs 221;" f closestCrToMouse src/Dodge/Debug.hs 308;" f closestPointOnLine src/Geometry/Intersect.hs 286;" f @@ -3012,7 +3013,7 @@ connectItemS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 802;" f constructEdges src/Polyhedra.hs 31;" f constructEdgesList src/Polyhedra.hs 40;" f contToIDCont src/Dodge/LevelGen/PlacementHelper.hs 58;" f -continueTerminal src/Dodge/Update/Input/InGame.hs 416;" f +continueTerminal src/Dodge/Update/Input/InGame.hs 425;" f convexHull src/Geometry/Polygon.hs 150;" f convexHullSafe src/Geometry/Polygon.hs 172;" f convexPolysOverlap src/Geometry/ConvexPoly.hs 48;" f @@ -3033,7 +3034,7 @@ crAdd src/Dodge/Room/RezBox.hs 116;" f crAwayFromPost src/Dodge/Creature/Test.hs 82;" f crBlips src/Dodge/RadarSweep.hs 88;" f crCanSeeCr src/Dodge/Creature/Test.hs 49;" f -crCrSpring src/Dodge/Update.hs 1013;" f +crCrSpring src/Dodge/Update.hs 1014;" f crCurrentEquipment src/Dodge/Creature/Statistics.hs 68;" f crDeathEffects src/Dodge/Creature/Update.hs 483;" f crDeathSounds src/Dodge/Creature/Vocalization.hs 40;" f @@ -3073,7 +3074,7 @@ crRightHandWall src/Dodge/Creature/HandPos.hs 76;" f crSafeDistFromTarg src/Dodge/Creature/Test.hs 71;" f crSetRoots src/Dodge/Inventory/Location.hs 39;" f crShape src/Dodge/Creature/Shape.hs 8;" f -crSpring src/Dodge/Update.hs 1001;" f +crSpring src/Dodge/Update.hs 1002;" f crStratConMatches src/Dodge/Creature/Test.hs 77;" f crStrength src/Dodge/Creature/Statistics.hs 30;" f crUpdate src/Dodge/Creature/Update.hs 454;" f @@ -3099,7 +3100,7 @@ crankSlowS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 642;" f createForceField src/Dodge/ForceField.hs 7;" f createGas src/Dodge/Gas.hs 10;" f createHeadLamp src/Dodge/Euse.hs 64;" f -createItemYou src/Dodge/Inventory/Add.hs 75;" f +createItemYou src/Dodge/Inventory/Add.hs 73;" f createLightMap src/Render.hs 26;" f createProjectile src/Dodge/HeldUse.hs 1305;" f createProjectileR src/Dodge/HeldUse.hs 1254;" f @@ -3240,9 +3241,9 @@ defaultBlock src/Dodge/Default/Block.hs 5;" f defaultBounds src/Dodge/Data/Bounds.hs 18;" f defaultBullet src/Dodge/Item/Weapon/Bullet.hs 10;" f defaultButton src/Dodge/Default.hs 45;" f -defaultCWCam src/Dodge/Default/World.hs 75;" f -defaultCWGen src/Dodge/Default/World.hs 65;" f -defaultCWorld src/Dodge/Default/World.hs 90;" f +defaultCWCam src/Dodge/Default/World.hs 76;" f +defaultCWGen src/Dodge/Default/World.hs 66;" f +defaultCWorld src/Dodge/Default/World.hs 91;" f defaultChaseMvType src/Dodge/Creature/MoveType.hs 33;" f defaultClusterStatus src/Dodge/Default/Room.hs 37;" f defaultConfig src/Dodge/Data/Config.hs 154;" f @@ -3257,13 +3258,13 @@ defaultDoorWall src/Dodge/Default/Wall.hs 29;" f defaultDrawButton src/Dodge/Button/Draw.hs 44;" f defaultFlIt src/Dodge/Default.hs 27;" f defaultForeground src/Dodge/Default/ForegroundShape.hs 5;" f -defaultHUD src/Dodge/Default/World.hs 175;" f +defaultHUD src/Dodge/Default/World.hs 176;" f defaultInanimate src/Dodge/Default/Creature.hs 60;" f defaultInput src/Dodge/Default/World.hs 13;" f defaultIntention src/Dodge/Default/Creature.hs 96;" f defaultInvSize src/Dodge/Default/Creature.hs 70;" f defaultLDP src/Dodge/ListDisplayParams.hs 19;" f -defaultLWorld src/Dodge/Default/World.hs 108;" f +defaultLWorld src/Dodge/Default/World.hs 109;" f defaultMachine src/Dodge/Default.hs 30;" f defaultMachineWall src/Dodge/Default/Wall.hs 38;" f defaultPerceptionState src/Dodge/Default/Creature.hs 73;" f @@ -3315,7 +3316,7 @@ displayFrameTicks src/Dodge/Render/Picture.hs 53;" f displayFreeSlots src/Dodge/DisplayInventory.hs 197;" f displayIndents src/Dodge/DisplayInventory.hs 111;" f displayPulse src/Dodge/Inventory/SelectionList.hs 192;" f -displayTerminalLineString src/Dodge/Update.hs 587;" f +displayTerminalLineString src/Dodge/Update.hs 588;" f dist src/Geometry/Vector.hs 193;" f dist3 src/Geometry/Vector3D.hs 102;" f distributeAmmoToItem src/Dodge/WorldEffect.hs 150;" f @@ -3375,7 +3376,7 @@ doPreload appDodge/Main.hs 133;" f doQuickload src/Dodge/Save.hs 83;" f doQuicksave src/Dodge/Save.hs 77;" f doRandImpulse src/Dodge/RandImpulse.hs 8;" f -doRegexInput src/Dodge/Update/Input/InGame.hs 469;" f +doRegexInput src/Dodge/Update/Input/InGame.hs 478;" f doRoomPlacements src/Dodge/Layout.hs 121;" f doRoomShift src/Dodge/Room/Link.hs 34;" f doScopeZoom src/Dodge/Update/Scroll.hs 90;" f @@ -3394,7 +3395,7 @@ doWdBl src/Dodge/WorldBool.hs 10;" f doWdCrBl src/Dodge/CreatureEffect.hs 18;" f doWdP2f src/Dodge/WdP2f.hs 10;" f doWdWd src/Dodge/WorldEffect.hs 35;" f -doWorldEvents src/Dodge/Update.hs 511;" f +doWorldEvents src/Dodge/Update.hs 512;" f doWorldPos src/Dodge/WorldPos.hs 10;" f door src/Dodge/Room/Door.hs 14;" f doorBetween src/Dodge/Placement/Instance/Door.hs 34;" f @@ -3635,7 +3636,7 @@ faceEdges src/Polyhedra.hs 62;" f facesToVF src/Polyhedra/Geodesic.hs 70;" f farWallDistDirection src/Dodge/Update/Camera.hs 246;" f fdiv src/ShortShow.hs 41;" f -feedSlime src/Dodge/Update.hs 1081;" f +feedSlime src/Dodge/Update.hs 1082;" f feet src/Dodge/Creature/Picture.hs 226;" f filter3 src/FoldableHelp.hs 76;" f filterSectionsPair src/Dodge/DisplayInventory.hs 161;" f @@ -3646,7 +3647,7 @@ findClosePoint src/Dodge/LevelGen/StaticWalls/Deprecated.hs 74;" f findIndex src/IntMapHelp.hs 86;" f findReverseEdge src/Polyhedra.hs 47;" f findReverseEdgeList src/Polyhedra.hs 54;" f -findWallFreeDropPoint src/Dodge/FloorItem.hs 27;" f +findWallFreeDropPoint src/Dodge/FloorItem.hs 28;" f findWallsInPolygon src/Dodge/LevelGen/StaticWalls/Deprecated.hs 78;" f findWithIx src/ListHelp.hs 124;" f fireFadeS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 916;" f @@ -3714,7 +3715,7 @@ fstV2 src/Geometry/Data.hs 70;" f fuelPack src/Dodge/Item/Equipment.hs 44;" f functionalUpdate src/Dodge/Update.hs 279;" f fusePoint src/Dodge/LevelGen/StaticWalls.hs 158;" f -fuseSlimes src/Dodge/Update.hs 1095;" f +fuseSlimes src/Dodge/Update.hs 1096;" f fuseWall src/Dodge/LevelGen/StaticWalls.hs 165;" f fuseWallsWith src/Dodge/LevelGen/StaticWalls.hs 172;" f g src/ShortShow.hs 48;" f @@ -3727,7 +3728,7 @@ gameRoomViewpoints src/Dodge/Viewpoints.hs 35;" f gameRoomsFromRooms src/Dodge/Layout.hs 170;" f gameplayMenu src/Dodge/Menu.hs 152;" f gameplayMenuOptions src/Dodge/Menu.hs 155;" f -gasEffect src/Dodge/Update.hs 917;" f +gasEffect src/Dodge/Update.hs 918;" f gasType src/Dodge/HeldUse.hs 1144;" f gassesNearPoint src/Dodge/Zoning/Cloud.hs 12;" f generateGenParams src/Dodge/LevelGen/LevelStructure.hs 23;" f @@ -3747,13 +3748,13 @@ getAutoSpringLinks src/Dodge/Item/Grammar.hs 90;" f getAvailableListLines src/Dodge/SelectionList.hs 10;" f getBulHitDams src/Dodge/Bullet.hs 175;" f getBulletType src/Dodge/HeldUse.hs 945;" f -getCloseObj src/Dodge/Update/Input/InGame.hs 579;" f +getCloseObj src/Dodge/Update/Input/InGame.hs 588;" f getCommand src/Dodge/Terminal.hs 61;" f getCommands src/Dodge/Terminal.hs 58;" f getCrMoveSpeed src/Dodge/Creature/Statistics.hs 56;" f getCrsFromRooms src/Dodge/Room/Tutorial.hs 628;" f getCrsFromRooms' src/Dodge/Room/Tutorial.hs 615;" f -getDebugMouseOver src/Dodge/Update.hs 477;" f +getDebugMouseOver src/Dodge/Update.hs 478;" f getDistortions src/Dodge/Render.hs 448;" f getEdgesCrossing src/Dodge/Path.hs 39;" f getGrenadeHitEffect src/Dodge/HeldUse.hs 1293;" f @@ -3763,7 +3764,7 @@ getLaserDamage src/Dodge/HeldUse.hs 728;" f getLaserPhaseV src/Dodge/HeldUse.hs 725;" f getLinksOfType src/Dodge/RoomLink.hs 40;" f getMaxLinesTM src/Dodge/Terminal/Type.hs 6;" f -getMenuMouseContext src/Dodge/Update.hs 489;" f +getMenuMouseContext src/Dodge/Update.hs 490;" f getNodePos src/Dodge/Path.hs 36;" f getPJStabiliser src/Dodge/HeldUse.hs 1280;" f getPretty src/AesonHelp.hs 8;" f @@ -4285,7 +4286,7 @@ maybeBlockedPassage src/Dodge/Room/RezBox.hs 80;" f maybeClearLoadingScreen src/Dodge/StartNewGame.hs 58;" f maybeDestroyBlock src/Dodge/Wall/Damage.hs 136;" f maybeDestroyDoor src/Dodge/Wall/Damage.hs 141;" f -maybeExitCombine src/Dodge/Update/Input/InGame.hs 615;" f +maybeExitCombine src/Dodge/Update/Input/InGame.hs 624;" f maybeOpenConsole src/Dodge/Update.hs 136;" f maybeReadFile src/Dodge/LoadSeed.hs 10;" f maybeTakeOne src/RandomHelp.hs 135;" f @@ -4414,7 +4415,7 @@ muzzleWallCheck src/Dodge/Update.hs 352;" f mvButton src/Dodge/Placement/PlaceSpot.hs 170;" f mvCr src/Dodge/Placement/PlaceSpot.hs 173;" f mvFS src/Dodge/Placement/PlaceSpot.hs 176;" f -mvGust src/Dodge/Update.hs 908;" f +mvGust src/Dodge/Update.hs 909;" f mvLS src/Dodge/Placement/PlaceSpot.hs 215;" f mvPointAlongAtSpeed src/Dodge/Base.hs 121;" f mvPointMeleeTarg src/Dodge/Creature/Boid.hs 327;" f @@ -4456,6 +4457,7 @@ normalizeColor src/Color.hs 103;" f normalizeV src/Geometry/Vector.hs 44;" f normalizeV3 src/Geometry/Vector3D.hs 85;" f notLink src/Dodge/Data/Room.hs 76;" f +note src/Dodge/Creature/Impulse/UseItem.hs 23;" f nulgate src/Dodge/Item/Scope.hs 101;" f numDrawableVertices src/Shader/Parameters.hs 34;" f numGLuint src/Shader/Parameters.hs 29;" f @@ -4527,12 +4529,12 @@ passthroughLockKeyLists src/Dodge/Room/Tutorial.hs 693;" f pathConnected src/Dodge/Room/CheckConsistency.hs 13;" f pathEdgeObstructed src/Dodge/Path.hs 87;" f pauseAndFloatCam src/Dodge/Camera.hs 10;" f -pauseGame src/Dodge/Update/Input/InGame.hs 571;" f +pauseGame src/Dodge/Update/Input/InGame.hs 580;" f pauseMenu src/Dodge/Menu.hs 57;" f pauseMenuOptions src/Dodge/Menu.hs 64;" f pauseSound src/Dodge/SoundLogic.hs 42;" f pauseTime src/Dodge/Update.hs 220;" f -pbFlicker src/Dodge/Update.hs 572;" f +pbFlicker src/Dodge/Update.hs 573;" f pbsHit src/Dodge/WorldEvent/ThingsHit.hs 144;" f peZoneSize src/Dodge/Zoning/Pathing.hs 49;" f pedestalRoom src/Dodge/Room/Containing.hs 50;" f @@ -4545,8 +4547,8 @@ performAimAt src/Dodge/Creature/Action.hs 111;" f performPathTo src/Dodge/Creature/Action.hs 132;" f performTurnToA src/Dodge/Creature/Action.hs 152;" f perspectiveMatrixb src/MatrixHelper.hs 11;" f -pickUpItem src/Dodge/Inventory/Add.hs 83;" f -pickUpItemAt src/Dodge/Inventory/Add.hs 88;" f +pickUpItem src/Dodge/Inventory/Add.hs 81;" f +pickUpItemAt src/Dodge/Inventory/Add.hs 86;" f pickUpS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 830;" f pincerP src/Dodge/Creature/Boid.hs 63;" f pincerP' src/Dodge/Creature/Boid.hs 96;" f @@ -4752,7 +4754,7 @@ rLauncherX src/Dodge/Item/Held/Launcher.hs 30;" f rToOnward src/Dodge/Cleat.hs 21;" f radToCompass src/Dodge/Inventory/SelectionList.hs 111;" f radToDeg src/Geometry/Vector.hs 131;" f -radiusSpring src/Dodge/Update.hs 990;" f +radiusSpring src/Dodge/Update.hs 991;" f randBlockBreakWeapon src/Dodge/Item/Random.hs 7;" f randC1 src/Dodge/Placement/Instance/Creature.hs 8;" f randDirPS src/Dodge/PlacementSpot.hs 58;" f @@ -4774,7 +4776,7 @@ randPeakedParam src/RandomHelp.hs 149;" f randProb src/RandomHelp.hs 87;" f randSpark src/Dodge/Spark.hs 70;" f randSparkExtraVel src/Dodge/Spark.hs 93;" f -randWallReflect src/Dodge/Update.hs 759;" f +randWallReflect src/Dodge/Update.hs 760;" f randomChallenges src/Dodge/Room/Start.hs 64;" f randomCompass src/Dodge/Layout.hs 61;" f randomFourCornerRoom src/Dodge/Room/Procedural.hs 248;" f @@ -5034,13 +5036,13 @@ setLinkType src/Dodge/RoomLink.hs 79;" f setLinkTypePD src/Dodge/RoomLink.hs 86;" f setMusicVolume src/Sound.hs 164;" f setMvPosToTargetCr src/Dodge/Creature/ReaderUpdate.hs 59;" f -setOldPos src/Dodge/Update.hs 603;" f +setOldPos src/Dodge/Update.hs 604;" f setOutLinks src/Dodge/RoomLink.hs 49;" f setOutLinksByType src/Dodge/RoomLink.hs 76;" f setOutLinksPD src/Dodge/RoomLink.hs 96;" f setPixelOffsetBounded src/Dodge/Update/Input/InGame.hs 124;" f setRBCreatureTargeting src/Dodge/Creature/State.hs 318;" f -setSelWhileDragging src/Dodge/Update/Input/InGame.hs 359;" f +setSelWhileDragging src/Dodge/Update/Input/InGame.hs 368;" f setSelectionListRestriction src/Dodge/Update/Input/ScreenLayer.hs 93;" f setShaderSource src/Shader/Compile.hs 121;" f setShadowLimits src/Dodge/Shadows.hs 11;" f @@ -5083,7 +5085,7 @@ shiftByV2 src/Dodge/PlacementSpot.hs 257;" f shiftChildren src/Dodge/Tree/Compose.hs 45;" f shiftDraw src/Dodge/Render/ShapePicture.hs 111;" f shiftInBy src/Dodge/PlacementSpot.hs 254;" f -shiftInvItems src/Dodge/Update/Input/InGame.hs 325;" f +shiftInvItems src/Dodge/Update/Input/InGame.hs 334;" f shiftInvItemsDown src/Dodge/Inventory.hs 168;" f shiftInvItemsUp src/Dodge/Inventory.hs 178;" f shiftLinkBy src/Dodge/Room/Link.hs 89;" f @@ -5125,10 +5127,10 @@ showEquipItem src/Dodge/Item/Display.hs 109;" f showInt src/Dodge/Item/Info.hs 75;" f showIntsString src/Dodge/Tree/Compose.hs 130;" f showInventoryPathing src/Dodge/Item/Display.hs 87;" f -showManObj src/Dodge/TestString.hs 131;" f +showManObj src/Dodge/TestString.hs 135;" f showMuzzlePositions src/Dodge/Debug.hs 320;" f showTerminalError src/Dodge/Debug/Terminal.hs 80;" f -showTimeFlow src/Dodge/TestString.hs 147;" f +showTimeFlow src/Dodge/TestString.hs 151;" f shrinkPolyOnEdges src/Geometry/Polygon.hs 198;" f shrinkVert src/Geometry/Polygon.hs 202;" f shuffle src/RandomHelp.hs 68;" f @@ -5137,7 +5139,7 @@ shufflePair src/RandomHelp.hs 166;" f shuffleRoomPos src/Dodge/Layout.hs 103;" f shuffleTail src/RandomHelp.hs 78;" f sigmoid src/Dodge/Base.hs 151;" f -simpleCrSprings src/Dodge/Update.hs 995;" f +simpleCrSprings src/Dodge/Update.hs 996;" f simpleTermMessage src/Dodge/Terminal.hs 275;" f sineRaisePitchOneSecS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 816;" f sineRaisePitchTwoSecS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 854;" f @@ -5165,10 +5167,10 @@ slapS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 718;" f slideDoorS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 676;" f slideWindow src/ListHelp.hs 81;" f slimeCrit src/Dodge/Creature/ChaseCrit.hs 70;" f -slimeEatSound src/Dodge/Update.hs 1111;" f -slimeFood src/Dodge/Update.hs 1073;" f +slimeEatSound src/Dodge/Update.hs 1112;" f +slimeFood src/Dodge/Update.hs 1074;" f slimeOutline src/Dodge/Creature/Slime.hs 9;" f -slimeSuck src/Dodge/Update.hs 1057;" f +slimeSuck src/Dodge/Update.hs 1058;" f slimeToRad src/Dodge/Data/Creature/Misc.hs 105;" f slinkCrit src/Dodge/Creature/ChaseCrit.hs 58;" f slinkCritUpdate src/Dodge/Creature/Update.hs 358;" f @@ -5217,7 +5219,7 @@ soundWithStatus src/Dodge/SoundLogic.hs 104;" f soundWithStatusVolume src/Dodge/SoundLogic.hs 54;" f southPillarsRoom src/Dodge/Room/LongDoor.hs 89;" f spPos src/ShapePicture/Data.hs 11;" f -spaceAction src/Dodge/Update/Input/InGame.hs 574;" f +spaceAction src/Dodge/Update/Input/InGame.hs 583;" f spanColLightBlackI src/Dodge/Placement/Instance/LightSource.hs 162;" f spanColLightI src/Dodge/Placement/Instance/LightSource.hs 155;" f spanLS src/Dodge/Placement/Instance/LightSource.hs 147;" f @@ -5428,7 +5430,7 @@ tlSetStatus src/Dodge/Terminal.hs 112;" f tmDistributeAmmo src/Dodge/WorldEffect.hs 118;" f tmDistributeLines src/Dodge/Room/Room.hs 474;" f tmMachine src/Dodge/Placement/Instance/Terminal.hs 55;" f -tmScreenMousePos src/Dodge/Update.hs 469;" f +tmScreenMousePos src/Dodge/Update.hs 470;" f toBinary src/Dodge/Inventory/SelectionList.hs 154;" f toBothLnk src/Dodge/RoomLink.hs 136;" f toClosestMultiple src/HelpNum.hs 3;" f @@ -5445,10 +5447,10 @@ toV4 src/Geometry/Data.hs 60;" f tocrs src/Dodge/TestString.hs 40;" f toggleCombineInv src/Dodge/DisplayInventory.hs 316;" f toggleCommands src/Dodge/Terminal.hs 86;" f -toggleEquipmentAt src/Dodge/Creature/Impulse/UseItem.hs 68;" f -toggleExamineInv src/Dodge/Creature/Impulse/UseItem.hs 106;" f +toggleEquipmentAt src/Dodge/Creature/Impulse/UseItem.hs 82;" f +toggleExamineInv src/Dodge/Creature/Impulse/UseItem.hs 120;" f toggleJust src/MaybeHelp.hs 39;" f -toggleMapperInv src/Dodge/Creature/Impulse/UseItem.hs 111;" f +toggleMapperInv src/Dodge/Creature/Impulse/UseItem.hs 125;" f tone440S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 744;" f tone440_30sS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 682;" f tone440raiseS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 646;" f @@ -5457,7 +5459,7 @@ tone440sawtoothquietS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 714;" f topInvW src/Dodge/ListDisplayParams.hs 56;" f topPrismEdgeIndices src/Shader/Poke.hs 344;" f topPrismIndices src/Shader/Poke.hs 419;" f -topTestPart src/Dodge/TestString.hs 126;" f +topTestPart src/Dodge/TestString.hs 130;" f torchShape src/Dodge/Item/Draw/SPic.hs 278;" f torqueAmount src/Dodge/HeldUse.hs 606;" f torqueCr src/Dodge/WorldEffect.hs 85;" f @@ -5511,7 +5513,7 @@ truncate src/Polyhedra/Geodesic.hs 39;" f trunkDepth src/TreeHelp.hs 164;" f tryAttachItems src/Dodge/Item/Grammar.hs 35;" f tryClickUse src/Dodge/Creature/YourControl.hs 205;" f -tryCombine src/Dodge/Update/Input/InGame.hs 591;" f +tryCombine src/Dodge/Update/Input/InGame.hs 600;" f tryDrawToCapacitor src/Dodge/Creature/State.hs 179;" f tryDropSelected src/Dodge/Update/Input/InGame.hs 154;" f tryEvadeSideways src/Dodge/Creature/Action.hs 104;" f @@ -5521,7 +5523,7 @@ tryMeleeAttack src/Dodge/Creature/ReaderUpdate.hs 42;" f tryPickupSelected src/Dodge/Update/Input/InGame.hs 181;" f tryPlay src/Sound.hs 85;" f tryPutItemInInv src/Dodge/Inventory/Add.hs 25;" f -tryPutItemInInvAt src/Dodge/Inventory/Add.hs 67;" f +tryPutItemInInvAt src/Dodge/Inventory/Add.hs 65;" f trySeedFromClipboard src/Dodge/Menu.hs 94;" f trySpin src/Dodge/Projectile/Update.hs 120;" f trySynthBullet src/Dodge/Creature/State.hs 195;" f @@ -5571,17 +5573,17 @@ updateAggroBee src/Dodge/Creature/Update.hs 129;" f updateAimPos src/Dodge/Update.hs 401;" f updateAllNodes src/TreeHelp.hs 88;" f updateArc src/Dodge/Tesla.hs 44;" f -updateBackspaceRegex src/Dodge/Update/Input/InGame.hs 500;" f +updateBackspaceRegex src/Dodge/Update/Input/InGame.hs 509;" f updateBarrel src/Dodge/Barreloid.hs 43;" f updateBarreloid src/Dodge/Barreloid.hs 16;" f updateBaseWheelEvent src/Dodge/Update/Scroll.hs 30;" f updateBeeCrit src/Dodge/Creature/Update.hs 115;" f updateBeeFromPheremones src/Dodge/Creature/Update.hs 107;" f -updateBeePheremone src/Dodge/Update.hs 788;" f +updateBeePheremone src/Dodge/Update.hs 789;" f updateBounds src/Dodge/Update/Camera.hs 263;" f updateBulVel src/Dodge/Bullet.hs 57;" f updateBullet src/Dodge/Bullet.hs 22;" f -updateBullets src/Dodge/Update.hs 674;" f +updateBullets src/Dodge/Update.hs 675;" f updateCalmBee src/Dodge/Creature/Update.hs 170;" f updateCalmChaseCrit src/Dodge/Creature/Update.hs 422;" f updateCamera src/Dodge/Update/Camera.hs 34;" f @@ -5589,63 +5591,63 @@ updateCarriage src/Dodge/Creature/State/WalkCycle.hs 22;" f updateCarriage' src/Dodge/Creature/State/WalkCycle.hs 27;" f updateChaseCrit src/Dodge/Creature/Update.hs 371;" f updateCloseObjects src/Dodge/Inventory.hs 111;" f -updateCloud src/Dodge/Update.hs 921;" f -updateClouds src/Dodge/Update.hs 785;" f +updateCloud src/Dodge/Update.hs 922;" f +updateClouds src/Dodge/Update.hs 786;" f updateCombinePositioning src/Dodge/DisplayInventory.hs 42;" f updateCombineSections src/Dodge/DisplayInventory.hs 49;" f updateCreature src/Dodge/Creature/Update.hs 50;" f -updateCreatureGroups src/Dodge/Update.hs 646;" f -updateCreatureSoundPositions src/Dodge/Update.hs 625;" f +updateCreatureGroups src/Dodge/Update.hs 647;" f +updateCreatureSoundPositions src/Dodge/Update.hs 626;" f updateCreatureStride src/Dodge/Update.hs 380;" f updateCreatureStrides src/Dodge/Update.hs 377;" f -updateDebris src/Dodge/Update.hs 688;" f +updateDebris src/Dodge/Update.hs 689;" f updateDebrisChunk src/Dodge/Prop/Moving.hs 16;" f updateDebugMessageOffset src/Dodge/Update.hs 104;" f -updateDelayedEvents src/Dodge/Update.hs 1118;" f +updateDelayedEvents src/Dodge/Update.hs 1119;" f updateDisplaySections src/Dodge/DisplayInventory.hs 117;" f updateDistortion src/Dodge/Distortion.hs 8;" f -updateDistortions src/Dodge/Update.hs 667;" f +updateDistortions src/Dodge/Update.hs 668;" f updateDoor src/Dodge/Door.hs 22;" f updateDoors src/Dodge/Update.hs 406;" f -updateDust src/Dodge/Update.hs 969;" f -updateDusts src/Dodge/Update.hs 796;" f +updateDust src/Dodge/Update.hs 970;" f +updateDusts src/Dodge/Update.hs 797;" f updateEdge src/Dodge/Path.hs 45;" f updateEdgeWallObs src/Dodge/Update/WallDamage.hs 39;" f updateEdgesWall src/Dodge/Update/WallDamage.hs 23;" f updateEdgesWall' src/Dodge/Update/WallDamage.hs 36;" f updateEnergyBall src/Dodge/EnergyBall.hs 32;" f -updateEnergyBalls src/Dodge/Update.hs 776;" f -updateEnterRegex src/Dodge/Update/Input/InGame.hs 535;" f +updateEnergyBalls src/Dodge/Update.hs 777;" f +updateEnterRegex src/Dodge/Update/Input/InGame.hs 544;" f updateExpBarrel src/Dodge/Barreloid.hs 21;" f updateFlame src/Dodge/Flame.hs 19;" f -updateFlames src/Dodge/Update.hs 773;" f +updateFlames src/Dodge/Update.hs 774;" f updateFloatingCamera src/Dodge/Update/Camera.hs 39;" f updateFoodSearchChaseCrit src/Dodge/Creature/Update.hs 381;" f -updateFunctionKey src/Dodge/Update/Input/InGame.hs 377;" f -updateFunctionKeys src/Dodge/Update/Input/InGame.hs 373;" f -updateGas src/Dodge/Update.hs 943;" f -updateGusts src/Dodge/Update.hs 905;" f +updateFunctionKey src/Dodge/Update/Input/InGame.hs 386;" f +updateFunctionKeys src/Dodge/Update/Input/InGame.hs 382;" f +updateGas src/Dodge/Update.hs 944;" f +updateGusts src/Dodge/Update.hs 906;" f updateHiveCrit src/Dodge/Creature/Update.hs 82;" f updateHoverCrit src/Dodge/Humanoid.hs 25;" f -updateIMl src/Dodge/Update.hs 640;" f -updateIMl' src/Dodge/Update.hs 643;" f +updateIMl src/Dodge/Update.hs 641;" f +updateIMl' src/Dodge/Update.hs 644;" f updateInGameCamera src/Dodge/Update/Camera.hs 87;" f -updateInitialPressInGame src/Dodge/Update/Input/InGame.hs 450;" f +updateInitialPressInGame src/Dodge/Update/Input/InGame.hs 459;" f updateInt2Map src/Dodge/Zoning/Base.hs 94;" f updateInventoryPositioning src/Dodge/DisplayInventory.hs 88;" f updateItemTargeting src/Dodge/Creature/State.hs 288;" f -updateKeyContinueTerminal src/Dodge/Update/Input/InGame.hs 410;" f -updateKeyInGame src/Dodge/Update/Input/InGame.hs 444;" f +updateKeyContinueTerminal src/Dodge/Update/Input/InGame.hs 419;" f +updateKeyInGame src/Dodge/Update/Input/InGame.hs 453;" f updateKeysInGame src/Dodge/Update/Input/InGame.hs 81;" f -updateKeysInTerminal src/Dodge/Update/Input/InGame.hs 396;" f -updateKeysTextInputTerminal src/Dodge/Update/Input/InGame.hs 419;" f +updateKeysInTerminal src/Dodge/Update/Input/InGame.hs 405;" f +updateKeysTextInputTerminal src/Dodge/Update/Input/InGame.hs 428;" f updateLampoid src/Dodge/Lampoid.hs 13;" f updateLaser src/Dodge/Laser/Update.hs 12;" f -updateLasers src/Dodge/Update.hs 518;" f +updateLasers src/Dodge/Update.hs 519;" f updateLeftParentSF src/Dodge/Item/Grammar.hs 179;" f updateLinearShockwave src/Dodge/LinearShockwave/Update.hs 8;" f updateLivingCreature src/Dodge/Creature/Update.hs 61;" f -updateLongPressInGame src/Dodge/Update/Input/InGame.hs 463;" f +updateLongPressInGame src/Dodge/Update/Input/InGame.hs 472;" f updateMachine src/Dodge/Machine/Update.hs 24;" f updateMagnets src/Dodge/Update.hs 409;" f updateMouseClickInGame src/Dodge/Update/Input/InGame.hs 242;" f @@ -5654,22 +5656,22 @@ updateMouseContextGame src/Dodge/Update.hs 427;" f updateMouseHeldInGame src/Dodge/Update/Input/InGame.hs 94;" f updateMouseInGame src/Dodge/Update/Input/InGame.hs 84;" f updateMouseReleaseInGame src/Dodge/Update/Input/InGame.hs 206;" f -updateObjCatMaybes src/Dodge/Update.hs 658;" f -updateObjMapMaybe src/Dodge/Update.hs 651;" f -updatePastWorlds src/Dodge/Update.hs 507;" f -updatePlasmaBall src/Dodge/Update.hs 532;" f -updatePlasmaBalls src/Dodge/Update.hs 681;" f +updateObjCatMaybes src/Dodge/Update.hs 659;" f +updateObjMapMaybe src/Dodge/Update.hs 652;" f +updatePastWorlds src/Dodge/Update.hs 508;" f +updatePlasmaBall src/Dodge/Update.hs 533;" f +updatePlasmaBalls src/Dodge/Update.hs 682;" f updatePreload src/Preload/Update.hs 21;" f updateProjectile src/Dodge/Projectile/Update.hs 26;" f updatePulse src/Dodge/Creature/Update.hs 549;" f -updatePulseBall src/Dodge/Update.hs 552;" f -updatePulseLaser src/Dodge/Update.hs 728;" f -updatePulseLasers src/Dodge/Update.hs 527;" f +updatePulseBall src/Dodge/Update.hs 553;" f +updatePulseLaser src/Dodge/Update.hs 729;" f +updatePulseLasers src/Dodge/Update.hs 528;" f updateRBList src/Dodge/Inventory/RBList.hs 22;" f updateRadarBlip src/Dodge/RadarBlip.hs 11;" f -updateRadarBlips src/Dodge/Update.hs 670;" f +updateRadarBlips src/Dodge/Update.hs 671;" f updateRadarSweep src/Dodge/RadarSweep.hs 40;" f -updateRadarSweeps src/Dodge/Update.hs 779;" f +updateRadarSweeps src/Dodge/Update.hs 780;" f updateRandNode src/TreeHelp.hs 111;" f updateRenderSplit appDodge/Main.hs 104;" f updateRightParentSF src/Dodge/Item/Grammar.hs 190;" f @@ -5678,18 +5680,18 @@ updateScrollTestValue src/Dodge/ScrollValue.hs 6;" f updateSection src/Dodge/DisplayInventory.hs 262;" f updateSectionsPositioning src/Dodge/DisplayInventory.hs 242;" f updateShockwave src/Dodge/Shockwave/Update.hs 8;" f -updateShockwaves src/Dodge/Update.hs 770;" f +updateShockwaves src/Dodge/Update.hs 771;" f updateSingleNodes src/TreeHelp.hs 100;" f updateSlimeCrit src/Dodge/Creature/Update.hs 252;" f updateSound src/Sound.hs 73;" f updateSounds src/Sound.hs 68;" f updateSpark src/Dodge/Spark.hs 20;" f -updateSparks src/Dodge/Update.hs 782;" f -updateTerminal src/Dodge/Update.hs 590;" f -updateTeslaArc src/Dodge/Update.hs 698;" f -updateTeslaArcs src/Dodge/Update.hs 695;" f +updateSparks src/Dodge/Update.hs 783;" f +updateTerminal src/Dodge/Update.hs 591;" f +updateTeslaArc src/Dodge/Update.hs 699;" f +updateTeslaArcs src/Dodge/Update.hs 696;" f updateTractorBeam src/Dodge/TractorBeam/Update.hs 9;" f -updateTractorBeams src/Dodge/Update.hs 767;" f +updateTractorBeams src/Dodge/Update.hs 768;" f updateTurret src/Dodge/Machine/Update.hs 55;" f updateUniverse src/Dodge/Update.hs 83;" f updateUniverseFirst src/Dodge/Update.hs 94;" f @@ -5700,7 +5702,7 @@ updateUseInputOnScreen src/Dodge/Update/Input/ScreenLayer.hs 24;" f updateVocTimer src/Dodge/Humanoid.hs 39;" f updateWallDamages src/Dodge/Update/WallDamage.hs 15;" f updateWheelEvent src/Dodge/Update/Scroll.hs 21;" f -updateWheelEvents src/Dodge/Update.hs 497;" f +updateWheelEvents src/Dodge/Update.hs 498;" f updateWorldEventFlag src/Dodge/Update.hs 129;" f updateWorldEventFlags src/Dodge/Update.hs 117;" f upperBody src/Dodge/Creature/Picture.hs 422;" f @@ -5726,8 +5728,9 @@ useBulletPayload src/Dodge/Bullet.hs 117;" f useGasParams src/Dodge/HeldUse.hs 1120;" f useHotkey src/Dodge/Creature/YourControl.hs 57;" f useInventoryPath src/Dodge/HeldUse.hs 1411;" f -useItem src/Dodge/Creature/Impulse/UseItem.hs 19;" f -useItemLoc src/Dodge/Creature/Impulse/UseItem.hs 26;" f +useItem src/Dodge/Creature/Impulse/UseItem.hs 18;" f +useItem' src/Dodge/Creature/Impulse/UseItem.hs 26;" f +useItemLoc src/Dodge/Creature/Impulse/UseItem.hs 40;" f useLnkRoomPos src/Dodge/PlacementSpot.hs 262;" f useLoadedAmmo src/Dodge/HeldUse.hs 741;" f useMagShield src/Dodge/Euse.hs 33;" f @@ -5884,11 +5887,11 @@ zeroZ src/Geometry/Vector.hs 9;" f zipArcs src/Dodge/Tesla.hs 52;" f zipCount src/Dodge/Tree/Shift.hs 142;" f zoneCloud src/Dodge/Zoning/Cloud.hs 33;" f -zoneClouds src/Dodge/Update.hs 579;" f +zoneClouds src/Dodge/Update.hs 580;" f zoneCreature src/Dodge/Zoning/Creature.hs 56;" f -zoneCreatures src/Dodge/Update.hs 614;" f +zoneCreatures src/Dodge/Update.hs 615;" f zoneDust src/Dodge/Zoning/Cloud.hs 57;" f -zoneDusts src/Dodge/Update.hs 584;" f +zoneDusts src/Dodge/Update.hs 585;" f zoneExtract src/Dodge/Zoning/Base.hs 58;" f zoneGas src/Dodge/Zoning/Cloud.hs 36;" f zoneIncPe src/Dodge/Zoning/Pathing.hs 66;" f