From a6eb5cf9826a01e8cc48dce413fffb0d9ffa9b98 Mon Sep 17 00:00:00 2001 From: justin Date: Tue, 24 Sep 2024 09:31:20 +0100 Subject: [PATCH] Commit before only putting item locations in single itemLocations intmap --- ghcidOutput | 2 +- src/Dodge/Debug/Terminal.hs | 2 +- src/Dodge/FloorItem.hs | 4 +- src/Dodge/Inventory.hs | 15 ++ src/Dodge/Inventory/Add.hs | 61 ++--- src/Dodge/Item/Grammar.hs | 2 +- src/Dodge/Update/Input/InGame.hs | 2 +- tags | 370 +++++++++++++++---------------- 8 files changed, 242 insertions(+), 216 deletions(-) diff --git a/ghcidOutput b/ghcidOutput index 37bb41050..d4a645330 100644 --- a/ghcidOutput +++ b/ghcidOutput @@ -1 +1 @@ -All good (620 modules, at 22:36:40) +All good (620 modules, at 09:25:41) diff --git a/src/Dodge/Debug/Terminal.hs b/src/Dodge/Debug/Terminal.hs index d5be9e6a2..40d43d3eb 100644 --- a/src/Dodge/Debug/Terminal.hs +++ b/src/Dodge/Debug/Terminal.hs @@ -40,7 +40,7 @@ applyTerminalCommandArguments :: String -> [String] -> Universe -> Universe applyTerminalCommandArguments command args u = case command of "IT" -> fromMaybe u $ do (ibt, n) <- parseItem args - return $ u & uvWorld %~ flip (foldr ($)) (replicate n (snd . createPutItem (itemFromBase ibt))) + return $ u & uvWorld %~ flip (foldr ($)) (replicate n (snd . createItemYou (itemFromBase ibt))) "DEX" -> fromMaybe u $ do x <- readMaybe =<< args ^? _head return $ u & ypoint . crStatistics . dexterity .~ x diff --git a/src/Dodge/FloorItem.hs b/src/Dodge/FloorItem.hs index b1f1d3a3a..471f0bf6f 100644 --- a/src/Dodge/FloorItem.hs +++ b/src/Dodge/FloorItem.hs @@ -23,14 +23,14 @@ copyItemToFloorID pos it w = (,) (NInt flid) $ w' & cWorld . lWorld . floorItems . unNIntMap %~ IM.insert flid theflit - & cWorld . lWorld . itemLocations . ix (_itID it) .~ OnFloor (NInt flid) + & cWorld . lWorld . itemLocations %~ IM.insert (_itID it) (OnFloor $ NInt flid) where (p', w') = findWallFreeDropPoint (_dimRad $ _itDimension it) pos w rot = fst . randomR (- pi, pi) $ _randGen w flid = IM.newKey . _unNIntMap . _floorItems . _lWorld $ _cWorld w theflit = FlIt - { _flIt = it + { _flIt = it & itLocation .~ OnFloor (NInt flid) , _flItPos = p' , _flItRot = rot , _flItID = NInt flid diff --git a/src/Dodge/Inventory.hs b/src/Dodge/Inventory.hs index 024e67aff..b2154dae4 100644 --- a/src/Dodge/Inventory.hs +++ b/src/Dodge/Inventory.hs @@ -3,6 +3,7 @@ module Dodge.Inventory ( checkInvSlotsYou, rmSelectedInvItem, rmInvItem, + destroyInvItem, updateCloseObjects, changeSwapSel, scrollAugInvSel, @@ -35,6 +36,20 @@ import ListHelp -- TODO check what happens to selection index when dropping non-selected items +-- should consider never fully destroying items, but assigning a flag saying how +-- they were moved from play +destroyInvItem :: + Int -> + -- | Inventory position + Int -> + World -> + World +destroyInvItem cid invid w = rmInvItem cid invid w & removeitloc + where + removeitloc = fromMaybe id $ do + itid <- w ^? cWorld . lWorld . creatures . ix cid . crInv . ix invid . itID + return $ cWorld . lWorld . itemLocations . at itid .~ Nothing + -- | after this the item at the inventory position will no longer exist rmInvItem :: -- | Creature id diff --git a/src/Dodge/Inventory/Add.hs b/src/Dodge/Inventory/Add.hs index 753f2ae92..ddb1348df 100644 --- a/src/Dodge/Inventory/Add.hs +++ b/src/Dodge/Inventory/Add.hs @@ -1,7 +1,8 @@ module Dodge.Inventory.Add ( tryPutItemInInv, - createPutItem, - createAndSelectItem, + --createPutItem, + --createAndSelectItem, + createItemYou, pickUpItem, ) where @@ -11,16 +12,16 @@ import Dodge.Inventory.Location --import Dodge.Item.Grammar import Control.Lens import Data.Maybe -import Dodge.Base.You -import Dodge.Combine.Module -import Dodge.Data.SelectionList +--import Dodge.Base.You +--import Dodge.Combine.Module +--import Dodge.Data.SelectionList import Dodge.Data.World import Dodge.FloorItem import Dodge.Inventory.CheckSlots import qualified IntMapHelp as IM -tryPutItemIDInInv :: Int -> NewInt FloorInt -> World -> Maybe (Int, World) -tryPutItemIDInInv cid flitid w = do +tryPutFloorItemIDInInv :: Int -> NewInt FloorInt -> World -> Maybe (Int, World) +tryPutFloorItemIDInInv cid flitid w = do flit <- w ^? cWorld . lWorld . floorItems . unNIntMap . ix (_unNInt flitid) tryPutItemInInv cid flit w @@ -34,8 +35,9 @@ tryPutItemInInv cid flit w = case maybeInvSlot of , w & updateItLocation i & cWorld . lWorld . floorItems . unNIntMap %~ IM.delete (_unNInt $ _flItID flit) - -- & cWorld . lWorld . creatures . ix cid . crInv %~ IM.insert i it - & cWorld . lWorld . creatures . ix cid . crInv . at i ?~ it + & cWorld . lWorld . creatures . ix cid . crInv %~ IM.insert i it + -- I forget whether using "at" rather than "IM.insert" here caused problems + -- & cWorld . lWorld . creatures . ix cid . crInv . at i ?~ it & setInvPosFromSS & cWorld . lWorld %~ crUpdateItemLocations cid ) @@ -45,24 +47,33 @@ tryPutItemInInv cid flit w = case maybeInvSlot of updateItLocation invid w' = w' & cWorld . lWorld . itemLocations . ix (_itID it) .~ InInv cid invid False False -createAndSelectItem :: Item -> World -> World -createAndSelectItem itm w = case createPutItem itm w of - (Just i, w') -> - w' - & hud . hudElement . diSections . sssExtra . sssSelPos ?~ (0, i) - & cWorld . lWorld . creatures . ix 0 . crManipulation . manObject - .~ InInventory (SelectedItem i - $ fromMaybe (error "no root item1!") $ tryGetRootItemInvID i (you w)) - (Nothing, w') -> w' +---- should select the item on the floor if no inventory space? +--createAndSelectItem :: Item -> World -> World +--createAndSelectItem itm w = case createPutItem itm w of +-- (Just i, w') -> +-- w' +-- & hud . hudElement . diSections . sssExtra . sssSelPos ?~ (0, i) +-- & cWorld . lWorld . creatures . ix 0 . crManipulation . manObject +-- .~ InInventory (SelectedItem i +-- $ fromMaybe (error "no root item1!") $ tryGetRootItemInvID i (you w)) +-- (Nothing, w') -> w' -createPutItem :: Item -> World -> (Maybe Int, World) -createPutItem it w = fromMaybe (Nothing,w) $ do - (i,w') <- uncurry (tryPutItemIDInInv 0) $ - copyItemToFloorID (_crPos $ you w) (applyModules it) w - return (Just i, w') +--createPutItem :: Item -> World -> (Maybe Int, World) +--createPutItem it w = fromMaybe (Nothing,w) $ do +-- (i,w') <- uncurry (tryPutItemIDInInv 0) $ +-- copyItemToFloorID (_crPos $ you w) (applyModules it) w +-- return (Just i, w') ---pickUpItemID :: Int -> Int -> World -> World ---pickUpItemID cid flid w = pickUpItem cid (w ^?! cWorld . lWorld . floorItems . ix flid) w +createItemYou :: Item -> World -> (ItemLocation, World) +createItemYou itm w = fromMaybe (OnFloor flid, w') $ do + (invid, w'') <- tryPutFloorItemIDInInv 0 flid w' + itloc <- w'' ^? cWorld . lWorld . creatures . ix 0 . crInv . ix invid . itLocation + return (itloc, w'') + where + itid = IM.newKey $ w ^. cWorld . lWorld . itemLocations + pos = w ^?! cWorld . lWorld . creatures . ix 0 . crPos + (flid,w') = copyItemToFloorID pos (itm & itID .~ itid) w + -- | Pick up a specific item. pickUpItem :: Int -> FloorItem -> World -> World diff --git a/src/Dodge/Item/Grammar.hs b/src/Dodge/Item/Grammar.hs index c00693863..e852c0496 100644 --- a/src/Dodge/Item/Grammar.hs +++ b/src/Dodge/Item/Grammar.hs @@ -108,7 +108,7 @@ invAdj' im = do where g = dtToLRAdjEither getid . ldtToDT getid (itm, _,_,_) = maybe - (Left ("invAdj' item " ++ show ( _itID itm) ++ " location:" ++ show (itm ^? itLocation . ilInvID)) ) + (Left ("invAdj' item " ++ show ( _itID itm) ++ " location: " ++ show (itm ^? itLocation)) ) Right $ itm ^? itLocation . ilInvID invIndentIM :: IM.IntMap Item -> IM.IntMap (Item,Int, LabelDoubleTreeNodeType ComposeLinkType ) diff --git a/src/Dodge/Update/Input/InGame.hs b/src/Dodge/Update/Input/InGame.hs index c82fc4b43..1f9485570 100644 --- a/src/Dodge/Update/Input/InGame.hs +++ b/src/Dodge/Update/Input/InGame.hs @@ -253,7 +253,7 @@ tryCombine :: SelectionSections CombinableItem -> World -> World tryCombine sss w = fromMaybe w $ do (i, j) <- sss ^? sssExtra . sssSelPos . _Just CombinableItem is it _ <- sss ^? sssSections . ix i . ssItems . ix j . siPayload - return $ createAndSelectItem it (foldr (rmInvItem 0) w (sort is)) + return $ snd (createItemYou it (foldr (destroyInvItem 0) w (sort is))) & cWorld . lWorld . creatures . ix 0 . crHammerPosition .~ HammerDown maybeExitCombine :: Universe -> Universe diff --git a/tags b/tags index f04ca13a5..b01d3cadc 100644 --- a/tags +++ b/tags @@ -18,7 +18,7 @@ <$> src/Dodge/Data/CamPos.hs 26;" o <$> src/Dodge/Data/Camera.hs 32;" o <$> src/Dodge/Data/Creature.hs 109;" o -<$> src/Dodge/Data/LWorld.hs 159;" o +<$> src/Dodge/Data/LWorld.hs 160;" o <$> src/Dodge/Data/Terminal.hs 129;" o AIUNIT src/Dodge/Combine/Data.hs 48;" C AIUNIT src/Dodge/Data/Item/Combine.hs 54;" C @@ -297,8 +297,8 @@ Bullet src/Dodge/Data/Bullet.hs 6;" m Bullet src/Dodge/Item/Weapon/Bullet.hs 1;" m BulletAmmo src/Dodge/Data/Ammo.hs 37;" C BulletAmmo src/Dodge/Data/Item/Use/Consumption/Ammo.hs 39;" C -BulletBeltAttachment src/Dodge/Data/Item.hs 55;" C -BulletClipAttachment src/Dodge/Data/Item.hs 54;" C +BulletBeltAttachment src/Dodge/Data/Item.hs 54;" C +BulletClipAttachment src/Dodge/Data/Item.hs 53;" C BulletEffect src/Dodge/Data/Bullet.hs 36;" t BulletGun src/Dodge/Item/Held/BulletGun.hs 1;" m BulletGuns src/Dodge/Item/Weapon/BulletGuns.hs 1;" m @@ -498,9 +498,9 @@ CrGroupParams src/Dodge/Data/CrGroupParams.hs 6;" m CrGroupUpdate src/Dodge/Data/CrGroupParams.hs 22;" t CrGroupUpdate src/Dodge/CrGroupUpdate.hs 1;" m CrHitSound src/Dodge/Data/SoundOrigin.hs 29;" C -CrID src/Dodge/Data/Item/Location.hs 22;" t CrID src/Dodge/Data/CrWlID.hs 12;" C CrImp src/Dodge/Data/CreatureEffect.hs 23;" t +CrInt src/Dodge/Data/Item/Location.hs 22;" t CrIsAiming src/Dodge/Data/CreatureEffect.hs 41;" C CrIsAnimate src/Dodge/Data/CreatureEffect.hs 42;" C CrLayer src/Dodge/Picture/Layer/Data.hs 6;" C @@ -977,7 +977,7 @@ FlockArmourChaseAI src/Dodge/Data/Creature/Misc.hs 58;" C Floor src/Data/Tile.hs 10;" t Floor src/Dodge/Floor.hs 2;" m Floor src/Shader/Poke/Floor.hs 1;" m -FloorID src/Dodge/Data/Item/Location.hs 15;" t +FloorInt src/Dodge/Data/Item/Location.hs 15;" t FloorItem src/Dodge/Data/FloorItem.hs 16;" t FloorItem src/Dodge/Data/FloorItem.hs 6;" m FloorItem src/Dodge/FloorItem.hs 1;" m @@ -1243,7 +1243,7 @@ Intention src/Dodge/Creature/Intention.hs 1;" m Intersect src/Geometry/Intersect.hs 5;" m IntersectingRoomClipBoundaries src/Dodge/Config/Data.hs 59;" C IntersectingRoomClipBoundaries src/Dodge/Data/Config.hs 105;" C -InvID src/Dodge/Data/Item/Location.hs 18;" t +InvInt src/Dodge/Data/Item/Location.hs 18;" t InvLayer src/Dodge/Picture/Layer/Data.hs 12;" C InvSel src/Dodge/Data/Creature/InvSel.hs 13;" t InvSel src/Dodge/Data/LoadAction.hs 19;" t @@ -1278,7 +1278,7 @@ ItEffect src/Dodge/Data/ItEffect.hs 5;" m ItEffect src/Dodge/ItEffect.hs 1;" m ItFloorEffect src/Dodge/Data/ItEffect.hs 46;" t ItFloorEffect src/Dodge/Data/Item/Effect.hs 31;" t -ItID src/Dodge/Data/Item.hs 34;" t +ItID src/Dodge/Data/Item.hs 33;" t ItInvEffect src/Dodge/Data/ItEffect.hs 36;" t ItInvEffect src/Dodge/Data/Item/Effect.hs 19;" t ItInvEffect src/Dodge/Data/ItEffect.hs 13;" C @@ -1286,14 +1286,14 @@ ItInvEffectDrop src/Dodge/Data/ItEffect.hs 29;" C ItInvEffectID src/Dodge/Data/ItEffect.hs 25;" C ItRewindEffect src/Dodge/Data/ItEffect.hs 17;" C ItZoom src/Dodge/Data/Item/Use.hs 190;" t -Item src/Dodge/Data/Item.hs 37;" t +Item src/Dodge/Data/Item.hs 36;" t Item src/Dodge/Base/Item.hs 1;" m Item src/Dodge/Data/Item.hs 6;" m Item src/Dodge/Default/Item.hs 1;" m Item src/Dodge/Item.hs 1;" m ItemAmount src/Dodge/Data/Item/Use/Amount.hs 4;" m ItemAmount src/Dodge/Data/ItemAmount.hs 4;" m -ItemAttachment src/Dodge/Data/Item.hs 53;" t +ItemAttachment src/Dodge/Data/Item.hs 52;" t ItemBaseType src/Dodge/Combine/Data.hs 81;" t ItemBaseType src/Dodge/Data/Item/Combine.hs 85;" t ItemClust src/Dodge/Combine/Graph.hs 18;" C @@ -1368,7 +1368,7 @@ LTimePause src/Dodge/Data/Item/HeldUse.hs 60;" C LTimeScroll src/Dodge/Data/Item/HeldUse.hs 61;" C LTree src/TreeExtra.hs 23;" t LUnsafeBlink src/Dodge/Data/Item/HeldUse.hs 64;" C -LWorld src/Dodge/Data/LWorld.hs 97;" t +LWorld src/Dodge/Data/LWorld.hs 98;" t LWorld src/Dodge/Data/LWorld.hs 6;" m LabLink src/Dodge/Data/Room.hs 45;" C LabPos src/Dodge/Room/Data.hs 46;" C @@ -1672,8 +1672,8 @@ MvTurnToward src/Dodge/Data/ActionPlan.hs 34;" C MvWalking src/Dodge/Data/Creature/Misc.hs 39;" C NAILBOX src/Dodge/Combine/Data.hs 52;" C NAILBOX src/Dodge/Data/Item/Combine.hs 58;" C -NInt src/NewInt.hs 13;" C -NIntMap src/NewInt.hs 16;" C +NInt src/NewInt.hs 15;" C +NIntMap src/NewInt.hs 18;" C NOTDEFINED src/Dodge/Combine/Data.hs 82;" C NS src/Dodge/Data/CardinalPoint.hs 14;" C NSE src/Dodge/Data/CardinalPoint.hs 12;" C @@ -1685,9 +1685,9 @@ NearGravityFlux src/Dodge/Data/Scenario.hs 83;" C NearSolar src/Dodge/Data/Scenario.hs 82;" C NearbyManipulation src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 26;" t NewID src/Dodge/Base/NewID.hs 1;" m -NewInt src/NewInt.hs 13;" t -NewInt src/NewInt.hs 5;" m -NewIntMap src/NewInt.hs 16;" t +NewInt src/NewInt.hs 15;" t +NewInt src/NewInt.hs 7;" m +NewIntMap src/NewInt.hs 18;" t NewSideEffect src/Dodge/Data/Universe.hs 61;" C NextArcStep src/Dodge/Data/ArcStep.hs 21;" t Ngon src/Dodge/Room/Ngon.hs 1;" m @@ -1992,7 +1992,7 @@ PosPl src/Dodge/Room/Data.hs 45;" C PosRooms src/Dodge/Tree/Shift.hs 28;" t Posture src/Dodge/Creature/Stance/Data.hs 42;" t Posture src/Dodge/Data/Creature/Stance.hs 38;" t -PowerSourceAttachment src/Dodge/Data/Item.hs 57;" C +PowerSourceAttachment src/Dodge/Data/Item.hs 56;" C PrWdLsId src/Dodge/Data/Prop.hs 70;" C PrWdLsLs src/Dodge/Data/Prop.hs 69;" t PrWdLsLs src/Dodge/PrWdLsLs.hs 1;" m @@ -2281,7 +2281,7 @@ Scope src/Dodge/Data/Item/Scope.hs 13;" t Scope src/Dodge/Item/Attachment/Data.hs 25;" t Scope src/Dodge/Data/Item/Scope.hs 6;" m Scope src/Dodge/Item/Scope.hs 1;" m -ScopeAttachment src/Dodge/Data/Item.hs 53;" C +ScopeAttachment src/Dodge/Data/Item.hs 52;" C ScreenLayer src/Dodge/Data/Universe.hs 77;" t ScreenLayer src/Dodge/Update/Input/ScreenLayer.hs 1;" m ScreenPos src/Dodge/Data/ScreenPos.hs 9;" t @@ -2457,7 +2457,7 @@ Stack src/Dodge/Data/Item/Combine.hs 24;" t Stance src/Dodge/Creature/Stance/Data.hs 11;" t Stance src/Dodge/Data/Creature/Stance.hs 13;" t Stance src/Dodge/Data/Creature/Stance.hs 6;" m -StandAttachment src/Dodge/Data/Item.hs 56;" C +StandAttachment src/Dodge/Data/Item.hs 55;" C StandaloneWall src/Dodge/Data/Wall.hs 49;" C Standing src/Dodge/Creature/Stance/Data.hs 25;" C Standing src/Dodge/Data/Creature/Stance.hs 25;" C @@ -2704,7 +2704,7 @@ TurnTowardCr src/Dodge/Data/CreatureEffect.hs 25;" C Turret src/Dodge/Data/Machine.hs 57;" t Turret src/Dodge/Placement/Instance/Turret.hs 1;" m Turret src/Dodge/Placements/Turret.hs 1;" m -TurretID src/Dodge/Data/Item/Location.hs 20;" t +TurretInt src/Dodge/Data/Item/Location.hs 20;" t Turretoid src/Dodge/Turretoid.hs 1;" m Tweak src/Dodge/Data/Item/Tweak.hs 6;" m Tweak src/Dodge/Tweak.hs 1;" m @@ -2906,7 +2906,7 @@ World src/Dodge/Data/World.hs 6;" m World src/Dodge/Default/World.hs 1;" m World src/Dodge/World.hs 5;" m World src/Dodge/Zoning/World.hs 1;" m -WorldBeams src/Dodge/Data/LWorld.hs 149;" t +WorldBeams src/Dodge/Data/LWorld.hs 150;" t WorldBool src/Dodge/WorldBool.hs 1;" m WorldEffect src/Dodge/Data/WorldEffect.hs 6;" m WorldEffect src/Dodge/WorldEffect.hs 1;" m @@ -3032,7 +3032,7 @@ _bdMinX src/Dodge/Data/Bounds.hs 13;" f _bdMinY src/Dodge/Bounds.hs 10;" f _bdMinY src/Dodge/Data/Bounds.hs 15;" f _beamCombine src/Dodge/Data/Beam.hs 48;" f -_beams src/Dodge/Data/LWorld.hs 115;" f +_beams src/Dodge/Data/LWorld.hs 116;" f _blDir src/Dodge/Data/Block.hs 30;" f _blDraw src/Dodge/Data/Block.hs 33;" f _blFootprint src/Dodge/Data/Block.hs 28;" f @@ -3044,8 +3044,8 @@ _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 -_blockingBeams src/Dodge/Data/LWorld.hs 150;" f -_blocks src/Dodge/Data/LWorld.hs 128;" f +_blockingBeams src/Dodge/Data/LWorld.hs 151;" f +_blocks src/Dodge/Data/LWorld.hs 129;" 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 @@ -3089,8 +3089,8 @@ _buWidth src/Dodge/Data/Bullet.hs 26;" f _bulGunSound src/Dodge/Data/Item/Use.hs 85;" f _bulGunSound src/Dodge/Data/Item/Use.hs 92;" f _bulGunSound src/Dodge/Data/Item/Use.hs 102;" f -_bullets src/Dodge/Data/LWorld.hs 106;" f -_buttons src/Dodge/Data/LWorld.hs 136;" f +_bullets src/Dodge/Data/LWorld.hs 107;" f +_buttons src/Dodge/Data/LWorld.hs 137;" f _cClock src/Dodge/Data/CWorld.hs 28;" f _cUse src/Dodge/Data/Item/Use.hs 53;" f _cWorld src/Dodge/Data/World.hs 37;" f @@ -3139,14 +3139,14 @@ _closeObjects src/Dodge/Data/HUD.hs 40;" f _cloudEBO src/Data/Preload/Render.hs 49;" f _cloudShader src/Data/Preload/Render.hs 48;" f _cloudVBO src/Data/Preload/Render.hs 47;" f -_clouds src/Dodge/Data/LWorld.hs 101;" f +_clouds src/Dodge/Data/LWorld.hs 102;" f _cmdEffect src/Dodge/Data/Terminal.hs 93;" f _cmeRecoil src/Dodge/Data/MuzzleEffect.hs 12;" f _cmeSound src/Dodge/Data/MuzzleEffect.hs 14;" f _cmeTorque src/Dodge/Data/MuzzleEffect.hs 13;" f _colorBlurShader src/Data/Preload/Render.hs 22;" f -_coordinates src/Dodge/Data/LWorld.hs 129;" f -_corpses src/Dodge/Data/LWorld.hs 139;" f +_coordinates src/Dodge/Data/LWorld.hs 130;" f +_corpses src/Dodge/Data/LWorld.hs 140;" f _cpAttention src/Dodge/Creature/Perception/Data.hs 31;" f _cpAttention src/Dodge/Data/Creature/Perception.hs 34;" f _cpAudition src/Dodge/Creature/Perception/Data.hs 34;" f @@ -3213,8 +3213,8 @@ _crType src/Dodge/Data/Creature.hs 47;" f _crVel src/Dodge/Data/Creature.hs 41;" f _crVocalization src/Dodge/Data/Creature.hs 71;" 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 100;" f +_creatures src/Dodge/Data/LWorld.hs 99;" f _csDamage src/Dodge/Data/Creature/State.hs 17;" f _csDropsOnDeath src/Dodge/Data/Creature/State.hs 19;" f _csLinks src/Dodge/Data/RoomCluster.hs 11;" f @@ -3260,15 +3260,15 @@ _debug_booleans src/Dodge/Config/Data.hs 27;" f _debug_booleans src/Dodge/Data/Config.hs 57;" f _debug_view_clip_bounds src/Dodge/Config/Data.hs 26;" f _debug_view_clip_bounds src/Dodge/Data/Config.hs 56;" f -_decorations src/Dodge/Data/LWorld.hs 137;" f -_delayedEvents src/Dodge/Data/LWorld.hs 134;" f +_decorations src/Dodge/Data/LWorld.hs 138;" f +_delayedEvents src/Dodge/Data/LWorld.hs 135;" f _dexterity src/Dodge/Data/Creature/Misc.hs 22;" f _diSections src/Dodge/Data/HUD.hs 19;" 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 _displaySecondsPerFrame src/Dodge/Debug/Flag/Data.hs 8;" f -_distortions src/Dodge/Data/LWorld.hs 144;" f +_distortions src/Dodge/Data/LWorld.hs 145;" f _dmAmount src/Dodge/Data/Damage.hs 34;" f _dmAmount src/Dodge/Data/DamageType.hs 40;" f _dmAt src/Dodge/Data/Damage.hs 36;" f @@ -3302,7 +3302,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 125;" 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 @@ -3339,9 +3339,9 @@ _eeParams src/Dodge/Data/Item/Use/Equipment.hs 22;" f _eeSite src/Dodge/Data/Item/Use/Equipment.hs 21;" f _eeUse src/Dodge/Data/Item/Use/Equipment.hs 18;" f _eeViewDist src/Dodge/Data/Item/Use/Equipment.hs 23;" f -_electronBeams src/Dodge/Data/LWorld.hs 153;" f +_electronBeams src/Dodge/Data/LWorld.hs 154;" f _emoMenuOption src/Dodge/Data/Universe.hs 73;" f -_energyBalls src/Dodge/Data/LWorld.hs 108;" f +_energyBalls src/Dodge/Data/LWorld.hs 109;" f _eparamID src/Dodge/Data/Item/Use/Equipment.hs 30;" f _eparamInt src/Dodge/Data/Item/Use/Equipment.hs 31;" f _eqOnEquip src/Dodge/Data/Equipment.hs 14;" f @@ -3382,7 +3382,7 @@ _flTimer src/Dodge/Data/Flame.hs 19;" f _flVel src/Dodge/Data/Flame.hs 15;" f _flWidth src/Dodge/Data/Flame.hs 18;" f _flZ src/Dodge/Data/Flame.hs 20;" f -_flames src/Dodge/Data/LWorld.hs 110;" f +_flames src/Dodge/Data/LWorld.hs 111;" f _flankTarget src/Dodge/Data/ActionPlan.hs 177;" f _flareAlpha src/Dodge/Data/Flare.hs 23;" f _flareColor src/Dodge/Data/Flare.hs 17;" f @@ -3392,12 +3392,12 @@ _flareTime src/Dodge/Data/Flare.hs 19;" f _flareTime src/Dodge/Data/Flare.hs 25;" f _flareTran3 src/Dodge/Data/Flare.hs 18;" f _flareTran3 src/Dodge/Data/Flare.hs 24;" f -_flares src/Dodge/Data/LWorld.hs 113;" f +_flares src/Dodge/Data/LWorld.hs 114;" f _flatShieldWlMIX src/Dodge/Data/Item/Params.hs 23;" f -_floorItems src/Dodge/Data/LWorld.hs 131;" f +_floorItems src/Dodge/Data/LWorld.hs 132;" f _floorShader src/Data/Preload/Render.hs 44;" f _floorVBO src/Data/Preload/Render.hs 43;" f -_foregroundShapes src/Dodge/Data/LWorld.hs 138;" f +_foregroundShapes src/Dodge/Data/LWorld.hs 139;" 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 @@ -3448,7 +3448,7 @@ _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 102;" f +_gusts src/Dodge/Data/LWorld.hs 103;" f _gwWorld src/Dodge/Data/GenWorld.hs 25;" f _hammerPosition src/Dodge/Data/Hammer.hs 14;" f _heldAim src/Dodge/Data/Item/Use.hs 38;" f @@ -3511,7 +3511,7 @@ _inInventory src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 21;" f _inNearby src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 23;" f _input src/Dodge/Data/World.hs 43;" f _insertMax src/Dodge/Data/LoadAction.hs 13;" f -_instantBullets src/Dodge/Data/LWorld.hs 105;" f +_instantBullets src/Dodge/Data/LWorld.hs 106;" f _intelligence src/Dodge/Data/Creature/Misc.hs 23;" f _ipPlacement src/Dodge/Data/GenWorld.hs 134;" f _ipPlacementID src/Dodge/Data/GenWorld.hs 135;" f @@ -3525,20 +3525,20 @@ _iselPos src/Dodge/Data/Creature/Capability.hs 22;" f _iselPos src/Dodge/Data/Creature/InvSel.hs 14;" f _iselPos src/Dodge/Data/LoadAction.hs 19;" f _ispCloseObject src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 28;" f -_itAttachments src/Dodge/Data/Item.hs 49;" f -_itCurseStatus src/Dodge/Data/Item.hs 45;" f -_itDimension src/Dodge/Data/Item.hs 44;" f -_itEffect src/Dodge/Data/Item.hs 42;" f -_itID src/Dodge/Data/Item.hs 40;" f -_itInvSize src/Dodge/Data/Item.hs 43;" f -_itLocation src/Dodge/Data/Item.hs 41;" f -_itParams src/Dodge/Data/Item.hs 48;" f -_itScope src/Dodge/Data/Item.hs 47;" f -_itTweaks src/Dodge/Data/Item.hs 46;" f -_itType src/Dodge/Data/Item.hs 39;" f -_itUse src/Dodge/Data/Item.hs 38;" f -_itUseAimStance src/Dodge/Data/Item.hs 60;" f -_itemLocations src/Dodge/Data/LWorld.hs 100;" f +_itAttachments src/Dodge/Data/Item.hs 48;" f +_itCurseStatus src/Dodge/Data/Item.hs 44;" f +_itDimension src/Dodge/Data/Item.hs 43;" f +_itEffect src/Dodge/Data/Item.hs 41;" f +_itID src/Dodge/Data/Item.hs 39;" f +_itInvSize src/Dodge/Data/Item.hs 42;" f +_itLocation src/Dodge/Data/Item.hs 40;" f +_itParams src/Dodge/Data/Item.hs 47;" f +_itScope src/Dodge/Data/Item.hs 46;" f +_itTweaks src/Dodge/Data/Item.hs 45;" f +_itType src/Dodge/Data/Item.hs 38;" f +_itUse src/Dodge/Data/Item.hs 37;" f +_itUseAimStance src/Dodge/Data/Item.hs 59;" f +_itemLocations src/Dodge/Data/LWorld.hs 101;" f _iyBase src/Dodge/Combine/Data.hs 13;" f _iyBase src/Dodge/Data/Item/Combine.hs 17;" f _iyModules src/Dodge/Combine/Data.hs 14;" f @@ -3548,9 +3548,9 @@ _izFac src/Dodge/Data/Item/Use.hs 193;" f _izMax src/Dodge/Data/Item/Use.hs 191;" f _izMin src/Dodge/Data/Item/Use.hs 192;" f _killTarget src/Dodge/Data/ActionPlan.hs 198;" f -_lClock src/Dodge/Data/LWorld.hs 145;" f -_lTestInt src/Dodge/Data/LWorld.hs 147;" f -_lTestString src/Dodge/Data/LWorld.hs 146;" f +_lClock src/Dodge/Data/LWorld.hs 146;" f +_lTestInt src/Dodge/Data/LWorld.hs 148;" f +_lTestString src/Dodge/Data/LWorld.hs 147;" f _lWorld src/Dodge/Data/CWorld.hs 26;" f _laAmmoType src/Dodge/Data/Item/Consumption.hs 16;" f _laCycle src/Dodge/Data/Item/Consumption.hs 20;" f @@ -3571,8 +3571,8 @@ _lasCycle src/Dodge/Data/Item/Params.hs 40;" f _lasDamage src/Dodge/Data/Item/Params.hs 34;" f _lasDamage src/Dodge/Data/Item/Params.hs 41;" f _laserTypeDamage src/Dodge/Data/Laser.hs 15;" f -_lasers src/Dodge/Data/LWorld.hs 118;" f -_lasersToDraw src/Dodge/Data/LWorld.hs 119;" f +_lasers src/Dodge/Data/LWorld.hs 119;" f +_lasersToDraw src/Dodge/Data/LWorld.hs 120;" f _ldpCursorSides src/Dodge/Data/SelectionList.hs 22;" f _ldpPos src/Dodge/Data/SelectionList.hs 19;" f _ldpScale src/Dodge/Data/SelectionList.hs 20;" f @@ -3586,14 +3586,14 @@ _leftConsumption src/Dodge/Data/Item/Use.hs 50;" f _leftDelay src/Dodge/Data/Item/Use.hs 47;" f _leftHammer src/Dodge/Data/Item/Use.hs 48;" f _leftUse src/Dodge/Data/Item/Use.hs 46;" f -_lightBeams src/Dodge/Data/LWorld.hs 151;" f -_lightSources src/Dodge/Data/LWorld.hs 140;" f +_lightBeams src/Dodge/Data/LWorld.hs 152;" f +_lightSources src/Dodge/Data/LWorld.hs 141;" 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 _lightsUBO src/Data/Preload/Render.hs 40;" f -_linearShockwaves src/Dodge/Data/LWorld.hs 120;" f +_linearShockwaves src/Dodge/Data/LWorld.hs 121;" f _linkGapEW src/Dodge/Data/Room.hs 35;" f _linkGapNS src/Dodge/Data/Room.hs 36;" f _lkUnlocker src/Dodge/Lock/Data.hs 9;" f @@ -3618,9 +3618,9 @@ _lwTimer src/Dodge/Data/LinearShockwave.hs 17;" f _lzColor src/Dodge/Data/Laser.hs 29;" f _lzPoints src/Dodge/Data/Laser.hs 30;" f _lzType src/Dodge/Data/Laser.hs 31;" f -_machines src/Dodge/Data/LWorld.hs 125;" f +_machines src/Dodge/Data/LWorld.hs 126;" f _magShieldMgMIX src/Dodge/Data/Item/Params.hs 19;" f -_magnets src/Dodge/Data/LWorld.hs 127;" f +_magnets src/Dodge/Data/LWorld.hs 128;" f _mainAction src/Dodge/Data/ActionPlan.hs 171;" f _manObject src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 15;" f _matUBO src/Data/Preload/Render.hs 39;" f @@ -3661,7 +3661,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 133;" f _mouseButtons src/Dodge/Data/Input.hs 23;" f _mouseMoving src/Dodge/Data/Input.hs 21;" f _mousePos src/Dodge/Data/Input.hs 20;" f @@ -3683,7 +3683,7 @@ _mzInaccuracy src/Dodge/Data/Item/Use.hs 165;" f _mzPos src/Dodge/Data/Item/Use.hs 163;" f _mzRot src/Dodge/Data/Item/Use.hs 164;" f _newArcStep src/Dodge/Data/Item/Params.hs 51;" f -_newBeams src/Dodge/Data/LWorld.hs 114;" f +_newBeams src/Dodge/Data/LWorld.hs 115;" f _noClip src/Dodge/Debug/Flag/Data.hs 7;" f _nodeMetaTree src/Dodge/Tree/Compose/Data.hs 9;" f _nodeTree src/Dodge/Tree/Compose/Data.hs 9;" f @@ -3766,8 +3766,8 @@ _playStatus src/Sound/Data.hs 18;" f _playingSounds src/Dodge/Data/World.hs 42;" f _pnZoning src/Dodge/Data/World.hs 51;" f _polyShader src/Hetris/Base.hs 13;" f -_posEvents src/Dodge/Data/LWorld.hs 109;" f -_positronBeams src/Dodge/Data/LWorld.hs 152;" f +_posEvents src/Dodge/Data/LWorld.hs 110;" f +_positronBeams src/Dodge/Data/LWorld.hs 153;" f _posture src/Dodge/Creature/Stance/Data.hs 13;" f _posture src/Dodge/Data/Creature/Stance.hs 15;" f _ppEvent src/Dodge/Data/PressPlate.hs 23;" f @@ -3797,7 +3797,7 @@ _prUpdate src/Dodge/Data/Prop.hs 36;" f _prVel src/Dodge/Data/Prop.hs 24;" f _prVelZ src/Dodge/Data/Prop.hs 27;" f _preloadData src/Dodge/Data/Universe.hs 32;" f -_pressPlates src/Dodge/Data/LWorld.hs 135;" f +_pressPlates src/Dodge/Data/LWorld.hs 136;" f _pressedKeys src/Dodge/Data/Input.hs 22;" f _previousArcEffect src/Dodge/Data/Item/Params.hs 52;" f _prjAcc src/Dodge/Data/Projectile.hs 19;" f @@ -3813,8 +3813,8 @@ _prjTimer src/Dodge/Data/Projectile.hs 25;" f _prjUpdates src/Dodge/Data/Projectile.hs 27;" f _prjVel src/Dodge/Data/Projectile.hs 18;" f _prjZ src/Dodge/Data/Projectile.hs 26;" f -_projectiles src/Dodge/Data/LWorld.hs 104;" f -_props src/Dodge/Data/LWorld.hs 103;" f +_projectiles src/Dodge/Data/LWorld.hs 105;" f +_props src/Dodge/Data/LWorld.hs 104;" f _proxDist src/Dodge/Data/Machine/Sensor.hs 26;" f _proxDist src/Dodge/Data/Sensor.hs 21;" f _proxReqEquipment src/Dodge/Data/Machine/Sensor.hs 34;" f @@ -3851,8 +3851,8 @@ _pvType src/Dodge/Data/PosEvent.hs 17;" f _pwPoly src/Dodge/Data/GenWorld.hs 50;" f _pwWall src/Dodge/Data/GenWorld.hs 50;" f _pyFaces src/Polyhedra/Data.hs 14;" f -_radarBlips src/Dodge/Data/LWorld.hs 112;" f -_radarSweeps src/Dodge/Data/LWorld.hs 107;" f +_radarBlips src/Dodge/Data/LWorld.hs 113;" f +_radarSweeps src/Dodge/Data/LWorld.hs 108;" f _randGen src/Dodge/Data/World.hs 40;" f _randomOffset src/Dodge/Data/Item/Use.hs 83;" f _randomOffset src/Dodge/Data/Item/Use.hs 100;" f @@ -3984,9 +3984,9 @@ _scrollTestInt src/Dodge/Data/Input.hs 32;" f _scurColor src/Dodge/Data/SelectionList.hs 52;" f _scurPos src/Dodge/Data/SelectionList.hs 50;" f _scurSize src/Dodge/Data/SelectionList.hs 51;" f -_seenLocations src/Dodge/Data/LWorld.hs 142;" f +_seenLocations src/Dodge/Data/LWorld.hs 143;" f _seenWalls src/Dodge/Data/CWorld.hs 29;" f -_selLocation src/Dodge/Data/LWorld.hs 143;" f +_selLocation src/Dodge/Data/LWorld.hs 144;" f _sensAmount src/Dodge/Data/Machine/Sensor.hs 19;" f _sensAmount src/Dodge/Data/Sensor.hs 16;" f _sensDraw src/Dodge/Data/Machine/Sensor.hs 21;" f @@ -4014,7 +4014,7 @@ _shapeShader src/Data/Preload/Render.hs 25;" f _shellSpinAmount src/Dodge/Data/Item/Params.hs 26;" f _shellSpinDrag src/Dodge/Data/Item/Params.hs 25;" f _shellThrustDelay src/Dodge/Data/Item/Params.hs 27;" f -_shockwaves src/Dodge/Data/LWorld.hs 117;" f +_shockwaves src/Dodge/Data/LWorld.hs 118;" f _shrinkGunStatus src/Dodge/Data/Item/Params.hs 21;" f _siColor src/Dodge/Data/SelectionList.hs 80;" f _siColor src/Dodge/Data/SelectionList.hs 88;" f @@ -4060,7 +4060,7 @@ _soundsToInvestigate src/Dodge/Creature/Memory/Data.hs 11;" f _soundsToInvestigate src/Dodge/Data/Creature/Memory.hs 14;" f _spPixelOff src/Dodge/Data/ScreenPos.hs 11;" f _spScreenOff src/Dodge/Data/ScreenPos.hs 10;" f -_sparks src/Dodge/Data/LWorld.hs 111;" f +_sparks src/Dodge/Data/LWorld.hs 112;" f _spawnEBT src/Dodge/Data/Bullet.hs 43;" f _ssCursor src/Dodge/Data/SelectionList.hs 57;" f _ssDescriptor src/Dodge/Data/SelectionList.hs 62;" f @@ -4111,10 +4111,10 @@ _tcAlias src/Dodge/Data/Terminal.hs 116;" f _tcEffect src/Dodge/Data/Terminal.hs 118;" f _tcHelp src/Dodge/Data/Terminal.hs 117;" f _tcString src/Dodge/Data/Terminal.hs 115;" f -_tempLightSources src/Dodge/Data/LWorld.hs 141;" f +_tempLightSources src/Dodge/Data/LWorld.hs 142;" f _termID src/Dodge/Data/HUD.hs 31;" f -_terminals src/Dodge/Data/LWorld.hs 126;" f -_teslaArcs src/Dodge/Data/LWorld.hs 116;" f +_terminals src/Dodge/Data/LWorld.hs 127;" f +_teslaArcs src/Dodge/Data/LWorld.hs 117;" f _testFloat src/Dodge/Data/World.hs 44;" f _textInput src/Dodge/Data/Input.hs 30;" f _textureObject src/Shader/Data.hs 95;" f @@ -4171,10 +4171,10 @@ _toPlaySounds src/Dodge/Data/World.hs 41;" f _topBoxSize src/Shape/Data.hs 17;" f _torqueAfter src/Dodge/Data/Item/Use.hs 82;" f _torqueAfter src/Dodge/Data/Item/Use.hs 99;" f -_tractorBeams src/Dodge/Data/LWorld.hs 121;" f +_tractorBeams src/Dodge/Data/LWorld.hs 122;" f _trieChildren src/SimpleTrie.hs 7;" f _trieMVal src/SimpleTrie.hs 6;" f -_triggers src/Dodge/Data/LWorld.hs 130;" f +_triggers src/Dodge/Data/LWorld.hs 131;" f _ttDeathEffect src/Dodge/Data/Terminal.hs 82;" f _ttTriggerID src/Dodge/Data/Terminal.hs 81;" f _tuDir src/Dodge/Data/Machine.hs 61;" f @@ -4189,8 +4189,8 @@ _tweakVal src/Dodge/Data/Item/Tweak.hs 30;" f _unCombEdge src/Dodge/Combine/Graph.hs 29;" f _unCombNode src/Dodge/Combine/Graph.hs 22;" f _unFBO src/Shader/Data.hs 57;" f -_unNInt src/NewInt.hs 13;" f -_unNIntMap src/NewInt.hs 16;" f +_unNInt src/NewInt.hs 15;" f +_unNIntMap src/NewInt.hs 18;" f _unPrimitiveMode src/Shader/Data.hs 99;" f _unPutCrit src/Dodge/Data/GenWorld.hs 32;" f _unRandomPlacement src/Dodge/Data/GenWorld.hs 86;" f @@ -4251,10 +4251,10 @@ _vxShadNum src/Picture/Data.hs 18;" f _wCam src/Dodge/Data/World.hs 54;" 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 124;" f _wallShader src/Data/Preload/Render.hs 46;" f _wallVBO src/Data/Preload/Render.hs 45;" f -_walls src/Dodge/Data/LWorld.hs 122;" f +_walls src/Dodge/Data/LWorld.hs 123;" f _warmMax src/Dodge/Data/Item/HeldDelay.hs 27;" f _warmMax src/Dodge/Data/Item/Use/Delay.hs 24;" f _warmMax src/Dodge/Data/Item/UseDelay.hs 24;" f @@ -4294,7 +4294,7 @@ _wlUnshadowed src/Dodge/Data/Wall.hs 30;" f _wlWalkable src/Dodge/Data/Wall.hs 26;" f _wlZoning src/Dodge/Data/World.hs 50;" f _worldEventFlags src/Dodge/Data/World.hs 47;" f -_worldEvents src/Dodge/Data/LWorld.hs 133;" f +_worldEvents src/Dodge/Data/LWorld.hs 134;" f _wpCharge src/Dodge/Data/Item/Consumption.hs 31;" f _wpCharge src/Dodge/Data/Item/Use/Consumption.hs 36;" f _wpMaxCharge src/Dodge/Data/Item/Consumption.hs 30;" f @@ -4325,7 +4325,7 @@ aFlameParticle src/Dodge/Flame.hs 22;" f aGasCloud src/Dodge/Gas.hs 13;" f aGib src/Dodge/Prop/Gib.hs 14;" f aLaser src/Dodge/Item/Weapon/Laser.hs 27;" f -aRadarPulse src/Dodge/RadarSweep.hs 14;" f +aRadarPulse src/Dodge/RadarSweep.hs 15;" f aShape src/Dodge/Placement/Instance/LightSource.hs 108;" f aShape src/Dodge/Placements/LightSource.hs 64;" f aSonarPulse src/Dodge/Item/Weapon/UseEffect.hs 18;" f @@ -4367,7 +4367,7 @@ addHighGirder' src/Dodge/Room/Modify/Girder.hs 142;" f addIndefiniteArticle src/StringHelp.hs 17;" f addLock src/Dodge/Layout/Tree/Annotate.hs 30;" f addNodes src/Dodge/Path.hs 115;" f -addPane src/Dodge/Placement/PlaceSpot.hs 160;" f +addPane src/Dodge/Placement/PlaceSpot.hs 162;" f addPlmnt src/Dodge/LevelGen/Data.hs 87;" f addPlmnt src/Dodge/LevelGen/PlacementHelper.hs 87;" f addPointPolygon src/Geometry/Polygon.hs 85;" f @@ -4393,7 +4393,7 @@ advanceSmoothScroll src/Dodge/SmoothScroll.hs 29;" f advanceStepCounter src/Dodge/Creature/Action/Movement.hs 56;" f advanceStepCounter src/Dodge/Creature/Impulse/Movement.hs 45;" f afterRecoil src/Dodge/Item/Weapon/TriggerType.hs 295;" f -aimDelaySweep src/Dodge/Render/ShapePicture.hs 44;" f +aimDelaySweep src/Dodge/Render/ShapePicture.hs 45;" f aimStanceInfo src/Dodge/Item/Info.hs 229;" f aimTurn src/Dodge/Creature/YourControl.hs 189;" f aimingMuzzleLength src/Dodge/Creature/HandPos.hs 46;" f @@ -4425,7 +4425,7 @@ angleVV src/Geometry/Vector.hs 57;" f angleVV3 src/Geometry/Vector3D.hs 122;" f annoToRoomTree src/Dodge/Annotation.hs 17;" f anoToRoomTree src/Dodge/Layout/Tree/Annotate.hs 52;" f -anyTargeting src/Dodge/Render/ShapePicture.hs 70;" f +anyTargeting src/Dodge/Render/ShapePicture.hs 71;" f anyUnusedSpot src/Dodge/PlacementSpot.hs 66;" f anythingHitCirc src/Dodge/Base/Collide.hs 242;" f appendEitherTree src/Dodge/Layout/Tree/Either.hs 29;" f @@ -4590,7 +4590,7 @@ blinkDistortions src/Dodge/Creature/Action/Blink.hs 40;" f blinkGun src/Dodge/Item/Weapon/Utility.hs 51;" f blinkShockwave src/Dodge/Creature/Action/Blink.hs 76;" f blipAt src/Dodge/Item/Weapon/UseEffect.hs 29;" f -blipAt src/Dodge/RadarSweep.hs 58;" f +blipAt src/Dodge/RadarSweep.hs 59;" f blockLine src/Dodge/Placement/Instance/Wall.hs 41;" f blockLine src/Dodge/Placements/Wall.hs 22;" f blockLine src/Dodge/Room/Placement.hs 34;" f @@ -4638,7 +4638,7 @@ bres src/Dodge/Base/Zone.hs 80;" f bresx src/Dodge/Base/Zone.hs 83;" f bright src/Color.hs 116;" f brightX src/Color.hs 112;" f -btSPic src/Dodge/Render/ShapePicture.hs 164;" f +btSPic src/Dodge/Render/ShapePicture.hs 165;" f btShape src/Dodge/Render/Shape.hs 25;" f bufferEBO src/Shader/Bind.hs 27;" f bufferPokedVBO src/Shader/Bind.hs 18;" f @@ -4669,7 +4669,7 @@ canSeeIndirect src/Dodge/Base/Collide.hs 235;" f caneStickSoundChoice src/Dodge/HeldUse.hs 440;" f cardList src/Dodge/Base/CardinalPoint.hs 6;" f cardVec src/Dodge/Base/CardinalPoint.hs 9;" f -cardinalVectors src/Dodge/FloorItem.hs 38;" f +cardinalVectors src/Dodge/FloorItem.hs 39;" f cartePosToScreen src/Dodge/Base/Coordinate.hs 37;" f cenLasTur src/Dodge/Room/LasTurret.hs 24;" f centerText src/Picture/Base.hs 184;" f @@ -4681,10 +4681,10 @@ chain src/Dodge/LightSources/Lamp.hs 119;" f chainCreatureUpdates src/Dodge/Creature/ChainUpdates.hs 6;" f chainPairs src/Geometry.hs 363;" f changeFuse src/Dodge/Item/Attachment.hs 25;" f -changeSwapClose src/Dodge/Inventory.hs 212;" f -changeSwapInv src/Dodge/Inventory.hs 228;" f -changeSwapSel src/Dodge/Inventory.hs 204;" f -changeSwapWith src/Dodge/Inventory.hs 263;" f +changeSwapClose src/Dodge/Inventory.hs 230;" f +changeSwapInv src/Dodge/Inventory.hs 246;" f +changeSwapSel src/Dodge/Inventory.hs 222;" f +changeSwapWith src/Dodge/Inventory.hs 281;" f changeTweakParam src/Dodge/Update/Scroll.hs 118;" f changeZonedWall src/Dodge/LevelGen/MoveDoor.hs 33;" f charFiringStratI src/Dodge/Item/Attachment.hs 15;" f @@ -4831,8 +4831,8 @@ contToIDCont src/Dodge/LevelGen/PlacementHelper.hs 57;" f convexHull src/Geometry/Polygon.hs 91;" f convexHullSafe src/Geometry/Polygon.hs 96;" f convexPolysOverlap src/Geometry/ConvexPoly.hs 50;" f -copyItemToFloor src/Dodge/FloorItem.hs 16;" f -copyItemToFloorID src/Dodge/FloorItem.hs 20;" f +copyItemToFloor src/Dodge/FloorItem.hs 17;" f +copyItemToFloorID src/Dodge/FloorItem.hs 21;" f corDoor src/Dodge/Room/Room.hs 378;" f cornerList src/Preload/Render.hs 194;" f corpseOrGib src/Dodge/Creature/State.hs 99;" f @@ -4843,7 +4843,7 @@ corridorWallN src/Dodge/Room/Corridor.hs 71;" f crAdd src/Dodge/Room/RezBox.hs 102;" f crAwayFromPost src/Dodge/Creature/Test.hs 77;" f crBlips src/Dodge/Item/Weapon/UseEffect.hs 50;" f -crBlips src/Dodge/RadarSweep.hs 68;" f +crBlips src/Dodge/RadarSweep.hs 69;" f crCanSeeCr src/Dodge/Creature/Test.hs 48;" f crCancelReloading src/Dodge/Reloading.hs 12;" f crCrSpring src/Dodge/Update.hs 648;" f @@ -4886,20 +4886,19 @@ crZoneOfPoint src/Dodge/Base/Zone.hs 54;" f crZoneSize src/Dodge/Zoning/Creature.hs 39;" f craftInfo src/Dodge/Item/Info.hs 154;" f crankSlowS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 420;" f -createAndSelectItem src/Dodge/Inventory/Add.hs 47;" f createArc src/Dodge/Tesla/Arc.hs 67;" f createBarrelSpark src/Dodge/Particle/Spark.hs 21;" f createBarrelSpark src/Dodge/Spark.hs 44;" f -createFlIt src/Dodge/Placement/PlaceSpot.hs 176;" f +createFlIt src/Dodge/Placement/PlaceSpot.hs 178;" f createForceField src/Dodge/ForceField.hs 7;" f createGas src/Dodge/Gas.hs 8;" f createHeadLamp src/Dodge/Euse.hs 159;" f createHeldLight src/Dodge/ItEffect.hs 70;" f +createItemYou src/Dodge/Inventory/Add.hs 67;" f createLightMap src/Render.hs 26;" f createNewArc src/Dodge/Tesla/Arc.hs 76;" f createPathGrid src/Dodge/Room/Path.hs 21;" f createProjectile src/Dodge/Projectile/Create.hs 14;" f -createPutItem src/Dodge/Inventory/Add.hs 57;" f createShieldWall src/Dodge/Euse.hs 134;" f createTorchLightOffset src/Dodge/LightSource/Torch.hs 9;" f createUnusedLinkPos src/Dodge/Tree/Shift.hs 117;" f @@ -4933,7 +4932,7 @@ crystalLine src/Dodge/Placements/Wall.hs 35;" f crystalLine src/Dodge/Room/Placement.hs 56;" f crystalWallDamage src/Dodge/Wall/DamageEffect.hs 79;" f cubeShape src/Dodge/Block/Debris.hs 196;" f -cullPoint src/Dodge/Render/ShapePicture.hs 115;" f +cullPoint src/Dodge/Render/ShapePicture.hs 116;" f cullPretty src/AesonHelp.hs 13;" f curveAroundField src/Dodge/Magnet.hs 18;" f curveLeftField src/Dodge/Magnet.hs 13;" f @@ -5046,10 +5045,10 @@ defaultBulletLoadable src/Dodge/Default/Item/Held/Consumption.hs 18;" f defaultBulletSelTweak src/Dodge/TweakBullet.hs 7;" f defaultBulletWeapon src/Dodge/Default/Item.hs 47;" f defaultButton src/Dodge/Default.hs 51;" f -defaultCOSection src/Dodge/Default/World.hs 203;" f -defaultCWCam src/Dodge/Default/World.hs 64;" f -defaultCWGen src/Dodge/Default/World.hs 54;" f -defaultCWorld src/Dodge/Default/World.hs 79;" f +defaultCOSection src/Dodge/Default/World.hs 204;" f +defaultCWCam src/Dodge/Default/World.hs 65;" f +defaultCWGen src/Dodge/Default/World.hs 55;" f +defaultCWorld src/Dodge/Default/World.hs 80;" f defaultChaseMvType src/Dodge/Default/Creature.hs 113;" f defaultClusterStatus src/Dodge/Default/Room.hs 38;" f defaultConfig src/Dodge/Config/Data.hs 83;" f @@ -5064,35 +5063,35 @@ defaultCreatureTargeting src/Dodge/Default/Creature.hs 63;" f defaultCrystalWall src/Dodge/Default/Wall.hs 40;" f defaultDirtBlock src/Dodge/Default/Block.hs 19;" f defaultDirtWall src/Dodge/Default/Wall.hs 61;" f -defaultDisplayInventory src/Dodge/Default/World.hs 160;" f +defaultDisplayInventory src/Dodge/Default/World.hs 161;" f defaultDoor src/Dodge/Default/Door.hs 29;" f defaultDoorWall src/Dodge/Default/Wall.hs 32;" f defaultDrawButton src/Dodge/Button/Draw.hs 30;" f defaultEquip src/Dodge/Default/Item/Use/Equipment.hs 6;" f defaultEquipUse src/Dodge/Default/Item/Use.hs 24;" f defaultEquipment src/Dodge/Default.hs 27;" f -defaultFiltSection src/Dodge/Default/World.hs 209;" f +defaultFiltSection src/Dodge/Default/World.hs 210;" f defaultFlIt src/Dodge/Default.hs 30;" f defaultForeground src/Dodge/Default/Foreground.hs 4;" f defaultForeground src/Dodge/Default/ForegroundShape.hs 5;" f -defaultHUD src/Dodge/Default/World.hs 150;" f +defaultHUD src/Dodge/Default/World.hs 151;" f defaultHeldItem src/Dodge/Default/Item.hs 22;" f defaultHeldUse src/Dodge/Default/Item/Held.hs 12;" f defaultHeldUse src/Dodge/Default/Item/Use.hs 30;" f defaultImpulsive src/Dodge/Humanoid.hs 190;" f defaultInanimate src/Dodge/Default/Creature.hs 69;" f defaultInput src/Dodge/Default/Input.hs 9;" f -defaultInput src/Dodge/Default/World.hs 13;" f +defaultInput src/Dodge/Default/World.hs 14;" f defaultIntention src/Dodge/Default/Creature.hs 105;" f -defaultInvSection src/Dodge/Default/World.hs 216;" f -defaultInvSections src/Dodge/Default/World.hs 174;" f +defaultInvSection src/Dodge/Default/World.hs 217;" f +defaultInvSections src/Dodge/Default/World.hs 175;" f defaultInvSize src/Dodge/Default/Creature.hs 79;" f defaultItEffect src/Dodge/Default/Item/Effect.hs 5;" f defaultItZoom src/Dodge/Default/Item/Use/AimParams.hs 32;" f defaultItemDimension src/Dodge/Default/Item.hs 15;" f defaultKeyConfigSDL src/Dodge/Config/KeyConfig.hs 38;" f defaultLS src/Dodge/Default/LightSource.hs 6;" f -defaultLWorld src/Dodge/Default/World.hs 91;" f +defaultLWorld src/Dodge/Default/World.hs 92;" f defaultLeftItem src/Dodge/Default/Item.hs 38;" f defaultLeftLoadable src/Dodge/Default/Item/Use/Consumption.hs 8;" f defaultLeftUse src/Dodge/Default/Item/Use.hs 14;" f @@ -5107,8 +5106,8 @@ defaultPreload src/Preload/Default.hs 6;" f defaultProp src/Dodge/Default/Prop.hs 6;" f defaultProximitySensor src/Dodge/Default.hs 80;" f defaultRoom src/Dodge/Default/Room.hs 9;" f -defaultSS src/Dodge/Default/World.hs 191;" f -defaultSSSExtra src/Dodge/Default/World.hs 167;" f +defaultSS src/Dodge/Default/World.hs 192;" f +defaultSSSExtra src/Dodge/Default/World.hs 168;" f defaultSelectionList src/Dodge/Default/SelectionList.hs 5;" f defaultSensorWall src/Dodge/Default/Wall.hs 58;" f defaultShell src/Dodge/Default/Shell.hs 7;" f @@ -5123,9 +5122,9 @@ defaultVision src/Dodge/Default/Creature.hs 92;" f defaultWall src/Dodge/Default/Wall.hs 10;" f defaultWeapon src/Dodge/Default/Item.hs 58;" f defaultWindow src/Dodge/Default/Wall.hs 74;" f -defaultWorld src/Dodge/Default/World.hs 31;" f +defaultWorld src/Dodge/Default/World.hs 32;" f defaultWorldHammers src/Dodge/Default/Input.hs 28;" f -defaultYouSection src/Dodge/Default/World.hs 221;" f +defaultYouSection src/Dodge/Default/World.hs 222;" f defaultlUse src/Dodge/Default/Item/Left.hs 5;" f defocusTerminalInput src/Dodge/Terminal/LeftButton.hs 20;" f degToRad src/Geometry/Vector.hs 117;" f @@ -5139,6 +5138,7 @@ destroyAt src/Dodge/Bullet.hs 201;" f destroyAt src/Dodge/WorldEvent/HitEffect.hs 24;" f destroyBlock src/Dodge/Block.hs 51;" f destroyDoor src/Dodge/Block.hs 79;" f +destroyInvItem src/Dodge/Inventory.hs 41;" f destroyLS src/Dodge/LightSource.hs 91;" f destroyLSFlashAt src/Dodge/LightSource.hs 101;" f destroyMachine src/Dodge/Machine/Destroy.hs 12;" f @@ -5301,7 +5301,7 @@ drawCombineInventory src/Dodge/Render/HUD.hs 78;" f drawConcurrentMessage src/Dodge/Render/Picture.hs 58;" f drawCorpse src/Dodge/Corpse/Draw.hs 6;" f drawCrInfo src/Dodge/Debug/Picture.hs 341;" f -drawCreature src/Dodge/Render/ShapePicture.hs 77;" f +drawCreature src/Dodge/Render/ShapePicture.hs 78;" f drawCreatureDisplayTexts src/Dodge/Debug/Picture.hs 163;" f drawCross src/Dodge/Render/Label.hs 24;" f drawCrossCol src/Dodge/Render/Label.hs 21;" f @@ -5368,7 +5368,7 @@ drawShockwave src/Dodge/Shockwave/Draw.hs 7;" f drawSpark src/Dodge/Spark/Draw.hs 6;" f drawStaticBall src/Dodge/EnergyBall/Draw.hs 14;" f drawSubInventory src/Dodge/Render/HUD.hs 70;" f -drawSweep src/Dodge/Render/ShapePicture.hs 51;" f +drawSweep src/Dodge/Render/ShapePicture.hs 52;" f drawSwitch src/Dodge/Button/Draw.hs 15;" f drawSwitchWire src/Dodge/LevelGen/Switch.hs 28;" f drawTargetLaser src/Dodge/Particle/Draw.hs 6;" f @@ -5448,7 +5448,7 @@ errorIsLHS src/Geometry.hs 68;" f errorNormalizeV src/Geometry.hs 57;" f errorPointInPolygon src/Geometry.hs 49;" f escapeKey src/Dodge/Config/KeyConfig.hs 23;" f -evaluateRandPS src/Dodge/Placement/PlaceSpot.hs 137;" f +evaluateRandPS src/Dodge/Placement/PlaceSpot.hs 139;" f evenOddSplit src/Dodge/Base.hs 138;" f examineInventoryExtra src/Dodge/Render/HUD.hs 181;" f exitTerminalSubInv src/Dodge/Terminal.hs 223;" f @@ -5471,7 +5471,7 @@ extendAway src/Dodge/LightSources/Fitting.hs 79;" f extendAway src/Dodge/Placement/Instance/LightSource.hs 196;" f extendAway src/Dodge/Placements/LightSource.hs 113;" f extendConeToScreenEdge src/Dodge/Debug/Picture.hs 82;" f -extraPics src/Dodge/Render/ShapePicture.hs 120;" f +extraPics src/Dodge/Render/ShapePicture.hs 121;" f extractFromZone src/Dodge/Zone.hs 35;" f extractRoomPos src/Dodge/RoomPos.hs 6;" f faceEdges src/Polyhedra.hs 64;" f @@ -5485,7 +5485,7 @@ farWallDistDirection src/Dodge/Update/Camera.hs 231;" f feet src/Dodge/Creature/Picture.hs 51;" f ffoldM src/Framebuffer/Update.hs 79;" f filter3 src/FoldableHelp.hs 76;" f -findBlips src/Dodge/RadarSweep.hs 43;" f +findBlips src/Dodge/RadarSweep.hs 44;" f findBoundDists src/Dodge/Update/Camera.hs 240;" f findClosePoint src/Dodge/LevelGen/StaticWalls.hs 155;" f findClosePoint src/Dodge/LevelGen/StaticWalls/Deprecated.hs 74;" f @@ -5493,7 +5493,7 @@ findIndex src/IntMapHelp.hs 84;" f findItemSlot src/Dodge/Inventory/CheckSlots.hs 25;" f findReverseEdge src/Polyhedra.hs 49;" f findReverseEdgeList src/Polyhedra.hs 56;" f -findWallFreeDropPoint src/Dodge/FloorItem.hs 46;" f +findWallFreeDropPoint src/Dodge/FloorItem.hs 47;" f findWallsInPolygon src/Dodge/LevelGen/StaticWalls/Deprecated.hs 78;" f findWithIx src/ListHelp.hs 123;" f fireLoudS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 504;" f @@ -5546,7 +5546,7 @@ flockToPointUsing src/Dodge/Creature/Boid.hs 214;" f flockToPointUsing' src/Dodge/Creature/Boid.hs 227;" f floorHun src/Dodge/Base/Zone.hs 40;" f floorItemPickupInfo src/Dodge/Render/HUD.hs 119;" f -floorItemSPic src/Dodge/Render/ShapePicture.hs 159;" f +floorItemSPic src/Dodge/Render/ShapePicture.hs 160;" f floorWire src/Dodge/Wire.hs 13;" f foamSpray src/Dodge/SoundLogic/Synonyms.hs 27;" f foamSprayFadeOutS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 398;" f @@ -5622,7 +5622,7 @@ getCrStrength src/Dodge/Creature/Statistics.hs 16;" f getDamageCoding src/Dodge/Terminal.hs 175;" f getDistortions src/Dodge/Render.hs 380;" f getEquipmentAllocation src/Dodge/Inventory/RBList.hs 47;" f -getItem src/Dodge/Item/Location.hs 13;" f +getItem src/Dodge/Item/Location.hs 14;" f getIthPos src/SelectionIntMap.hs 55;" f getIthYOffset src/SelectionIntMap.hs 58;" f getLDPWidth src/Dodge/Render/List.hs 70;" f @@ -5773,19 +5773,19 @@ incBallAt src/Dodge/EnergyBall.hs 54;" f incendiaryModule src/Dodge/Item/Craftable.hs 21;" f incidenceToFunction src/Dodge/Graph.hs 26;" f indefiniteExceptions src/StringHelp.hs 29;" f -initCrItemLocation src/Dodge/Item/Location/Initialize.hs 39;" f -initCrItemLocations src/Dodge/Item/Location/Initialize.hs 34;" f -initCrsItemLocations src/Dodge/Item/Location/Initialize.hs 14;" f -initFlItemLocation src/Dodge/Item/Location/Initialize.hs 48;" f -initFlItemsLocations src/Dodge/Item/Location/Initialize.hs 19;" f -initItemLocations src/Dodge/Item/Location/Initialize.hs 11;" f +initCrItemLocation src/Dodge/Item/Location/Initialize.hs 40;" f +initCrItemLocations src/Dodge/Item/Location/Initialize.hs 35;" f +initCrsItemLocations src/Dodge/Item/Location/Initialize.hs 15;" f +initFlItemLocation src/Dodge/Item/Location/Initialize.hs 49;" f +initFlItemsLocations src/Dodge/Item/Location/Initialize.hs 20;" f +initItemLocations src/Dodge/Item/Location/Initialize.hs 12;" f initOrNull src/ListHelp.hs 43;" f -initSpecificCrItemLocations src/Dodge/Item/Location/Initialize.hs 29;" f +initSpecificCrItemLocations src/Dodge/Item/Location/Initialize.hs 30;" f initTexture2DArray src/Shader/AuxAddition.hs 31;" f initTexture2DArrayData src/Shader/AuxAddition.hs 46;" f initTexture2DArraySquare src/Shader/AuxAddition.hs 16;" f -initTuItemLocation src/Dodge/Item/Location/Initialize.hs 57;" f -initTusItemLocations src/Dodge/Item/Location/Initialize.hs 24;" f +initTuItemLocation src/Dodge/Item/Location/Initialize.hs 58;" f +initTusItemLocations src/Dodge/Item/Location/Initialize.hs 25;" f initWallZoning src/Dodge/Wall/Zone.hs 12;" f initWorld src/Hetris/Base.hs 16;" f initialAnoTree src/Dodge/Floor.hs 29;" f @@ -5896,7 +5896,7 @@ itStackAmount src/Dodge/Item/Amount.hs 7;" f itUseCharge src/Dodge/Item/Weapon/TriggerType.hs 158;" f itemBaseName src/Dodge/Item/Display.hs 62;" f itemBlips src/Dodge/Item/Weapon/UseEffect.hs 38;" f -itemBlips src/Dodge/RadarSweep.hs 74;" f +itemBlips src/Dodge/RadarSweep.hs 75;" f itemCombinations src/Dodge/Combine/Combinations.hs 54;" f itemCombinationsEdges src/Dodge/Combine/Graph.hs 55;" f itemDetectorEffect src/Dodge/HeldUse.hs 200;" f @@ -5968,7 +5968,7 @@ lampCover src/Dodge/LightSources/Lamp.hs 70;" f lampCover src/Dodge/Placement/Instance/LightSource/Cover.hs 8;" f lampCoverWhen src/Dodge/LightSources/Lamp.hs 79;" f lampCoverWhen src/Dodge/Placement/Instance/LightSource/Cover.hs 19;" f -lampCrSPic src/Dodge/Render/ShapePicture.hs 93;" f +lampCrSPic src/Dodge/Render/ShapePicture.hs 94;" f lasBeamCombine src/Dodge/Beam.hs 31;" f lasCenSensEdge src/Dodge/Room/LasTurret.hs 112;" f lasDronesPic src/Dodge/Item/Weapon/Drone.hs 22;" f @@ -6100,7 +6100,7 @@ main bench/Bench.hs 15;" f main test/Spec.hs 12;" f mainListCursor src/Dodge/Render/HUD/Carte.hs 51;" f makeArc src/Picture/Base.hs 157;" f -makeBlip src/Dodge/RadarSweep.hs 50;" f +makeBlip src/Dodge/RadarSweep.hs 51;" f makeBlockDebris src/Dodge/Block/Debris.hs 28;" f makeBoolOption src/Dodge/Menu/OptionType.hs 8;" f makeBullet src/Dodge/HeldUse.hs 276;" f @@ -6193,7 +6193,7 @@ mcKillTerm src/Dodge/Machine/Destroy.hs 26;" f mcPlaySound src/Dodge/Machine/Update.hs 80;" f mcProxTest src/Dodge/Machine/Update.hs 126;" f mcProximitySensorUpdate src/Dodge/Machine/Update.hs 104;" f -mcSPic src/Dodge/Render/ShapePicture.hs 169;" f +mcSPic src/Dodge/Render/ShapePicture.hs 170;" f mcSensorTriggerUpdate src/Dodge/Machine/Update.hs 69;" f mcSensorUpdate src/Dodge/Machine/Update.hs 99;" f mcShootLaser src/Dodge/HeldUse.hs 460;" f @@ -6340,20 +6340,20 @@ muzFlareAt src/Dodge/WorldEvent/Flash.hs 26;" f mvBullet src/Dodge/Bullet.hs 33;" f mvBullet src/Dodge/Particle/Bullet/Update.hs 17;" f mvBulletSlow src/Dodge/Particle/Bullet/Update.hs 31;" f -mvButton src/Dodge/Placement/PlaceSpot.hs 172;" f -mvCr src/Dodge/Placement/PlaceSpot.hs 182;" f -mvFS src/Dodge/Placement/PlaceSpot.hs 185;" f +mvButton src/Dodge/Placement/PlaceSpot.hs 174;" f +mvCr src/Dodge/Placement/PlaceSpot.hs 184;" f +mvFS src/Dodge/Placement/PlaceSpot.hs 187;" f mvGust src/Dodge/Update.hs 591;" f -mvLS src/Dodge/Placement/PlaceSpot.hs 213;" f +mvLS src/Dodge/Placement/PlaceSpot.hs 215;" f mvP src/Dodge/LevelGen/MoveDoor.hs 14;" f mvP src/Dodge/Wall/Move.hs 54;" f -mvPP src/Dodge/Placement/PlaceSpot.hs 179;" f +mvPP src/Dodge/Placement/PlaceSpot.hs 181;" f mvPointAlongAtSpeed src/Dodge/Base.hs 106;" f mvPointMeleeTarg src/Dodge/Creature/Boid.hs 313;" f mvPointMeleeTarg src/Dodge/Creature/ImpulseRat.hs 36;" f mvPointToward src/Dodge/Base.hs 116;" f mvPointTowardAtSpeed src/Dodge/Base.hs 95;" f -mvProp src/Dodge/Placement/PlaceSpot.hs 169;" f +mvProp src/Dodge/Placement/PlaceSpot.hs 171;" f mvPs src/Dodge/LevelGen/MoveDoor.hs 18;" f mvPs src/Dodge/Wall/Move.hs 58;" f mvPt src/Dodge/MvPt.hs 5;" f @@ -6491,10 +6491,10 @@ pesNearCirc src/Dodge/Zoning/Pathing.hs 43;" f pesNearPoint src/Dodge/Zoning/Pathing.hs 33;" f pesNearRect src/Dodge/Zoning/Pathing.hs 40;" f pesNearSeg src/Dodge/Zoning/Pathing.hs 37;" f -picAtCrPos1 src/Dodge/Render/ShapePicture.hs 99;" f +picAtCrPos1 src/Dodge/Render/ShapePicture.hs 100;" f picFormat src/Polyhedra.hs 22;" f picMap src/Picture/Base.hs 67;" f -pickUpItem src/Dodge/Inventory/Add.hs 67;" f +pickUpItem src/Dodge/Inventory/Add.hs 79;" f pickUpS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 444;" f pickUpSound src/Dodge/SoundLogic/Synonyms.hs 4;" f picsToSelectable src/Dodge/Render/HUD.hs 349;" f @@ -6513,7 +6513,7 @@ pjTrack src/Dodge/Projectile/Update.hs 140;" 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 188;" f +plMachine src/Dodge/Placement/PlaceSpot.hs 190;" f plNew src/Dodge/Base/NewID.hs 26;" f plNewID src/Dodge/Base/NewID.hs 7;" f plNewUpID src/Dodge/Base/NewID.hs 16;" f @@ -6525,18 +6525,18 @@ placeAutoDoor src/Dodge/LevelGen/AutoDoor.hs 18;" f placeBlock src/Dodge/LevelGen/Block.hs 60;" f placeDoor src/Dodge/LevelGen/TriggerDoor.hs 21;" f placeLineBlock src/Dodge/LevelGen/Block.hs 67;" f -placeMachineWalls src/Dodge/Placement/PlaceSpot.hs 203;" f -placePickOne src/Dodge/Placement/PlaceSpot.hs 40;" f -placePlainPSSpot src/Dodge/Placement/PlaceSpot.hs 48;" f -placeRandomPlacement src/Dodge/Placement/PlaceSpot.hs 43;" f +placeMachineWalls src/Dodge/Placement/PlaceSpot.hs 205;" f +placePickOne src/Dodge/Placement/PlaceSpot.hs 41;" f +placePlainPSSpot src/Dodge/Placement/PlaceSpot.hs 49;" f +placeRandomPlacement src/Dodge/Placement/PlaceSpot.hs 44;" f placeSlideDoor src/Dodge/LevelGen/TriggerDoor.hs 91;" f -placeSpot src/Dodge/Placement/PlaceSpot.hs 29;" f -placeSpotID src/Dodge/Placement/PlaceSpot.hs 89;" f -placeSpotID' src/Dodge/Placement/PlaceSpot.hs 95;" f -placeSpotRoomRand src/Dodge/Placement/PlaceSpot.hs 78;" f -placeSpotUsingLink src/Dodge/Placement/PlaceSpot.hs 59;" f +placeSpot src/Dodge/Placement/PlaceSpot.hs 30;" f +placeSpotID src/Dodge/Placement/PlaceSpot.hs 90;" f +placeSpotID' src/Dodge/Placement/PlaceSpot.hs 96;" f +placeSpotRoomRand src/Dodge/Placement/PlaceSpot.hs 79;" f +placeSpotUsingLink src/Dodge/Placement/PlaceSpot.hs 60;" f placeString src/Dodge/Render/MenuScreen.hs 54;" f -placeWallPoly src/Dodge/Placement/PlaceSpot.hs 154;" f +placeWallPoly src/Dodge/Placement/PlaceSpot.hs 156;" f plainRegex src/Dodge/DisplayInventory.hs 156;" f plainShellCollisionCheck src/Dodge/Projectile/Update.hs 45;" f plateCraft src/Dodge/Item/Craftable.hs 47;" f @@ -6569,10 +6569,10 @@ pointInPolygon src/Geometry/Polygon.hs 59;" f pointIsInCone src/Geometry.hs 378;" f pointIsOnScreen src/Dodge/Base/Window.hs 59;" f pointTowardsImpulse src/Dodge/Path.hs 63;" f -pointerToItem src/Dodge/Item/Location.hs 44;" f -pointerToItemLocation src/Dodge/Item/Location.hs 23;" f -pointerYourRootItem src/Dodge/Item/Location.hs 39;" f -pointerYourSelectedItem src/Dodge/Item/Location.hs 34;" f +pointerToItem src/Dodge/Item/Location.hs 45;" f +pointerToItemLocation src/Dodge/Item/Location.hs 24;" f +pointerYourRootItem src/Dodge/Item/Location.hs 40;" f +pointerYourSelectedItem src/Dodge/Item/Location.hs 35;" f pointsToPoly src/Geometry/ConvexPoly.hs 39;" f poisonSPic src/Dodge/Creature/State.hs 124;" f poisonSprayer src/Dodge/Item/Held/SprayGuns.hs 17;" f @@ -6642,7 +6642,7 @@ powlist src/Multiset.hs 55;" f powlistUpToN src/Multiset.hs 20;" f powlistUpToN' src/Multiset.hs 9;" f powlistUpToN'' src/Multiset.hs 27;" f -ppDraw src/Dodge/Render/ShapePicture.hs 156;" f +ppDraw src/Dodge/Render/ShapePicture.hs 157;" f ppEvents src/Dodge/Update.hs 559;" f ppLevelReset src/Dodge/PressPlate.hs 13;" f preCritStart src/Dodge/Room/Start.hs 92;" f @@ -6900,10 +6900,10 @@ rightPad src/Padding.hs 22;" f rightPadNoSquash src/Padding.hs 26;" f rlPosDir src/Dodge/RoomLink.hs 94;" f rmInLinks src/Dodge/RoomLink.hs 138;" f -rmInvItem src/Dodge/Inventory.hs 38;" f +rmInvItem src/Dodge/Inventory.hs 54;" f rmLinksOfType src/Dodge/RoomLink.hs 135;" f rmOutLinks src/Dodge/RoomLink.hs 138;" f -rmSelectedInvItem src/Dodge/Inventory.hs 171;" f +rmSelectedInvItem src/Dodge/Inventory.hs 187;" f rocketHomer src/Dodge/Item/Ammo.hs 109;" f rocketRemoteScreen src/Dodge/Item/Scope.hs 24;" f roomC src/Dodge/Room/Room.hs 39;" f @@ -7003,7 +7003,7 @@ screenPolygon src/Dodge/Base/Window.hs 17;" f screenPolygonBord src/Dodge/Base/Window.hs 27;" f screenPosAbs src/Dodge/ScreenPos.hs 15;" f screenToWorldPos src/Dodge/Base/Coordinate.hs 53;" f -scrollAugInvSel src/Dodge/Inventory.hs 269;" f +scrollAugInvSel src/Dodge/Inventory.hs 287;" f scrollCommandStrings src/Dodge/Update/Scroll.hs 133;" f scrollCommands src/Dodge/Update/Scroll.hs 130;" f scrollDebugInfoInt src/Dodge/Debug.hs 46;" f @@ -7032,7 +7032,7 @@ selSecSelSize src/Dodge/SelectionSections.hs 124;" f selSecYint src/Dodge/SelectionSections.hs 127;" f selectCreatureDebugItem src/Dodge/Debug.hs 38;" f selectUse src/Dodge/SelectUse.hs 11;" f -selectedCloseObject src/Dodge/Inventory.hs 279;" f +selectedCloseObject src/Dodge/Inventory.hs 297;" f sensAboveDoor src/Dodge/Room/SensorDoor.hs 63;" f sensInsideDoor src/Dodge/Room/SensorDoor.hs 69;" f senseDamage src/Dodge/Machine/Update.hs 134;" f @@ -7129,9 +7129,9 @@ shellTrailCloud src/Dodge/WorldEvent/Cloud.hs 65;" f shieldWall src/Dodge/Euse.hs 114;" f shiftByV2 src/Dodge/PlacementSpot.hs 239;" f shiftChildren src/Dodge/Tree/Compose.hs 43;" f -shiftDec src/Dodge/Placement/PlaceSpot.hs 134;" f -shiftDraw src/Dodge/Render/ShapePicture.hs 103;" f -shiftDraw' src/Dodge/Render/ShapePicture.hs 109;" f +shiftDec src/Dodge/Placement/PlaceSpot.hs 136;" f +shiftDraw src/Dodge/Render/ShapePicture.hs 104;" f +shiftDraw' src/Dodge/Render/ShapePicture.hs 110;" f shiftInBy src/Dodge/PlacementSpot.hs 236;" f shiftLinkBy src/Dodge/Room/Link.hs 87;" f shiftPSBy src/Dodge/Placement/Shift.hs 12;" f @@ -7454,7 +7454,7 @@ testCrossWalls src/Dodge/Room/Path.hs 47;" f testEvent src/Dodge/Event/Test.hs 10;" f testEventKey src/Dodge/Config/KeyConfig.hs 27;" f testInventory src/Dodge/Creature.hs 245;" f -testPic src/Dodge/Render/ShapePicture.hs 153;" f +testPic src/Dodge/Render/ShapePicture.hs 154;" f testStringInit src/Dodge/TestString.hs 22;" f text src/Picture/Base.hs 193;" f textGrad src/Picture/Text.hs 5;" f @@ -7530,14 +7530,14 @@ torch src/Dodge/Item/Held/Utility.hs 26;" f torchShape src/Dodge/Item/Draw/SPic.hs 203;" f torqueCr src/Dodge/WorldEffect.hs 70;" f torso src/Dodge/Creature/Picture.hs 132;" f -tractCr src/Dodge/TractorBeam/Update.hs 27;" f -tractFlIt src/Dodge/TractorBeam/Update.hs 22;" f +tractCr src/Dodge/TractorBeam/Update.hs 28;" f +tractFlIt src/Dodge/TractorBeam/Update.hs 23;" f tractorBeamAt src/Dodge/Item/Weapon/BatteryGuns.hs 160;" f tractorBeamAt' src/Dodge/HeldUse.hs 231;" f tractorGun src/Dodge/Item/Held/BatteryGuns.hs 80;" f tractorGunPic src/Dodge/Item/Draw/SPic.hs 485;" f tractorGunTweak src/Dodge/Item/Held/BatteryGuns.hs 98;" f -tractorPullPos src/Dodge/TractorBeam/Update.hs 32;" f +tractorPullPos src/Dodge/TractorBeam/Update.hs 33;" f tractorSPic src/Dodge/TractorBeam/Draw.hs 10;" f tranRot src/Picture/Base.hs 124;" f transMat src/MatrixHelper.hs 73;" f @@ -7619,8 +7619,8 @@ tryGetRootItemInvID src/Dodge/Inventory/Location.hs 18;" f tryMeleeAttack src/Dodge/Creature/ReaderUpdate.hs 36;" f tryNextLoadAction src/Dodge/Reloading.hs 36;" f tryPlay src/Sound.hs 83;" f -tryPutItemIDInInv src/Dodge/Inventory/Add.hs 21;" f -tryPutItemInInv src/Dodge/Inventory/Add.hs 27;" f +tryPutFloorItemIDInInv src/Dodge/Inventory/Add.hs 23;" f +tryPutItemInInv src/Dodge/Inventory/Add.hs 29;" f trySeedFromClipboard src/Dodge/Menu.hs 88;" f trySiphonFuel src/Dodge/Euse.hs 46;" f trySpinByCID src/Dodge/Projectile/Update.hs 123;" f @@ -7679,7 +7679,7 @@ updateBulVel src/Dodge/Bullet.hs 50;" f updateBullet src/Dodge/Bullet.hs 28;" f updateBullets src/Dodge/Update.hs 425;" f updateCamera src/Dodge/Update/Camera.hs 32;" f -updateCloseObjects src/Dodge/Inventory.hs 177;" f +updateCloseObjects src/Dodge/Inventory.hs 193;" f updateCloud src/Dodge/Update.hs 605;" f updateClouds src/Dodge/Update.hs 454;" f updateCombinePositioning src/Dodge/DisplayInventory.hs 37;" f @@ -7742,7 +7742,7 @@ updateProp src/Dodge/Prop/Update.hs 11;" f updateRBList src/Dodge/Inventory/RBList.hs 16;" f updateRadarBlip src/Dodge/RadarBlip.hs 8;" f updateRadarBlips src/Dodge/Update.hs 418;" f -updateRadarSweep src/Dodge/RadarSweep.hs 24;" f +updateRadarSweep src/Dodge/RadarSweep.hs 25;" f updateRadarSweeps src/Dodge/Update.hs 445;" f updateRandNode src/TreeHelp.hs 108;" f updateRenderSplit appDodge/Main.hs 105;" f @@ -7766,7 +7766,7 @@ updateTargeting src/Dodge/Targeting.hs 19;" f updateTempLightSource src/Dodge/LightSource/Update.hs 7;" f updateTeslaArc src/Dodge/Tesla/Arc.hs 29;" f updateTeslaArcs src/Dodge/Update.hs 430;" f -updateTractorBeam src/Dodge/TractorBeam/Update.hs 8;" f +updateTractorBeam src/Dodge/TractorBeam/Update.hs 9;" f updateTractorBeams src/Dodge/Update.hs 433;" f updateTurret src/Dodge/Machine/Update.hs 31;" f updateTurret src/Dodge/Placements/Turret.hs 36;" f @@ -7874,7 +7874,7 @@ waistSP src/Dodge/Creature/HandPos.hs 199;" f walkNozzle src/Dodge/HeldUse.hs 205;" f walkableNodeNear src/Dodge/Path.hs 48;" f wallBlips src/Dodge/Item/Weapon/UseEffect.hs 43;" f -wallBlips src/Dodge/RadarSweep.hs 79;" f +wallBlips src/Dodge/RadarSweep.hs 80;" f wallBuffer src/Dodge/WallCreatureCollisions.hs 50;" f wallIsZeroLength src/Dodge/LevelGen/StaticWalls.hs 179;" f wallLine src/Dodge/Placement/Instance/Wall.hs 71;" f @@ -7978,7 +7978,7 @@ wlsNearRect src/Dodge/Zoning/Wall.hs 46;" f wlsNearSeg src/Dodge/Zoning/Wall.hs 42;" f wordsBy src/ListHelp.hs 116;" f worldPosToScreen src/Dodge/Base/Coordinate.hs 28;" f -worldSPic src/Dodge/Render/ShapePicture.hs 24;" f +worldSPic src/Dodge/Render/ShapePicture.hs 25;" f worldShape src/Dodge/Render/Shape.hs 14;" f worldToGenWorld src/Dodge/LevelGen/LevelStructure.hs 14;" f wpAdd src/Dodge/Room/RezBox.hs 134;" f