diff --git a/ghcidOutput b/ghcidOutput index bea2fd497..d6334495d 100644 --- a/ghcidOutput +++ b/ghcidOutput @@ -1 +1 @@ -All good (594 modules, at 19:44:39) +All good (594 modules, at 20:36:32) diff --git a/src/Dodge/Creature/Impulse/UseItem.hs b/src/Dodge/Creature/Impulse/UseItem.hs index 70b003039..d7f7cfa90 100644 --- a/src/Dodge/Creature/Impulse/UseItem.hs +++ b/src/Dodge/Creature/Impulse/UseItem.hs @@ -5,63 +5,67 @@ module Dodge.Creature.Impulse.UseItem ( useItemHotkey, ) where -import Dodge.Luse -import Dodge.SelectUse -import Dodge.Item.Grammar -import Dodge.Data.ComposedItem -import Dodge.Data.DoubleTree import Control.Lens import Control.Monad import Data.Maybe import Dodge.Cuse +import Dodge.Data.ComposedItem +import Dodge.Data.DoubleTree import Dodge.Data.World import Dodge.Euse import Dodge.HeldUse import Dodge.Hotkey import Dodge.Inventory +import Dodge.Item.Grammar import Dodge.Item.Location +import Dodge.Luse +import Dodge.SelectUse import qualified IntMapHelp as IM useRootItem :: Int -> World -> World useRootItem crid w = fromMaybe w $ do - cr <- w ^? cWorld . lWorld . creatures . ix crid - itRef <- cr ^? crManipulation . manObject . imRootItem - it <- invRootTrees (_crInv cr) ^? ix itRef - return $ - itemUseEffect' cr it w - & worldEventFlags . at InventoryChange ?~ () + cr <- w ^? cWorld . lWorld . creatures . ix crid + itRef <- cr ^? crManipulation . manObject . imRootItem + it <- invRootTrees (_crInv cr) ^? ix itRef + return $ + itemUseEffect' cr it w + & worldEventFlags . at InventoryChange ?~ () itemUseEffect' :: Creature -> LabelDoubleTree ItemLink ComposedItem -> World -> World -itemUseEffect' cr itmtree w = case itmtree ^. ldtValue . cItemFunction of - WeaponPlatformSF -> heldEffect (bimap _iatType _cItem itmtree) cr w +itemUseEffect' cr itmtree w = case itmtree ^. ldtValue . cItemFunction of + WeaponPlatformSF -> + heldEffect (bimap _iatType _cItem itmtree) cr w & pointerToItem itm . itUse . heldHammer .~ HammerDown + EquipmentPlatformSF -> doequipmentchange _ -> w --- UseHotkey{} -> doequipmentchange --- UseEquip{} -> doequipmentchange --- (UseConsume eff) -> useC eff (_ldtValue itmtree) cr w --- UseCraft{} -> w --- UseAttach{} -> selectUse itmtree cr w --- UseAmmoMag{} -> w --- UseScope{} -> w --- UseBulletMod{} -> w where + -- UseHotkey{} -> doequipmentchange + -- UseEquip{} -> doequipmentchange + -- (UseConsume eff) -> useC eff (_ldtValue itmtree) cr w + -- UseCraft{} -> w + -- UseAttach{} -> selectUse itmtree cr w + -- UseAmmoMag{} -> w + -- UseScope{} -> w + -- UseBulletMod{} -> w + itm :: Item itm = itmtree ^. ldtValue . cItem --- doequipmentchange = fromMaybe w $ do --- guard (_crHammerPosition cr == HammerUp) --- invid <- itm ^? itLocation . ilInvID --- return $ toggleEquipmentAt invid cr w + doequipmentchange = fromMaybe w $ do + guard (_crHammerPosition cr == HammerUp) + invid <- itm ^? itLocation . ilInvID + return $ toggleEquipmentAt invid cr w itemUseEffect :: Creature -> LabelDoubleTree ComposeLinkType Item -> World -> World itemUseEffect cr itmtree w = case itmtree ^. ldtValue . itUse of - UseHeld{} -> heldEffect itmtree cr w + UseHeld{} -> + heldEffect itmtree cr w & pointerToItem itm . itUse . heldHammer .~ HammerDown UseHotkey{} -> doequipmentchange UseEquip{} -> doequipmentchange (UseConsume eff) -> useC eff (_ldtValue itmtree) cr w UseCraft{} -> w - UseAttach{} -> selectUse itmtree cr w + UseAttach{} -> selectUse itmtree cr w UseAmmoMag{} -> w UseScope{} -> w UseBulletMod{} -> w @@ -138,6 +142,7 @@ useItemLeftClick' cr' w = fromMaybe w $ do return $ itemUseEffect cr it w & worldEventFlags . at InventoryChange ?~ () + -- & f -- where -- f = cWorld . lWorld . creatures . ix (_crID cr') . crHammerPosition .~ HammerDown diff --git a/src/Dodge/Data/ComposedItem.hs b/src/Dodge/Data/ComposedItem.hs index a613ebcb7..6537cd5d9 100644 --- a/src/Dodge/Data/ComposedItem.hs +++ b/src/Dodge/Data/ComposedItem.hs @@ -28,6 +28,7 @@ data ComposeLinkType data ItemStructuralFunction = WeaponPlatformSF + | EquipmentPlatformSF | WeaponScopeSF | WeaponTargetingSF | AugmentedHUDSF diff --git a/src/Dodge/DoubleTree.hs b/src/Dodge/DoubleTree.hs index e1f127e21..458eaa188 100644 --- a/src/Dodge/DoubleTree.hs +++ b/src/Dodge/DoubleTree.hs @@ -200,10 +200,10 @@ locToTop loc = maybe loc locToTop $ locUp loc --locToTop = fix $ \x -> fromMaybe x $ locUp x locLeftmost :: LocationLDT b a -> LocationLDT b a -locLeftmost loc = maybe loc locLeftmost $ alaf Last foldMap Just $ locGoLeft loc +locLeftmost loc = maybe loc locLeftmost $ alaf First foldMap Just $ locGoLeft loc locRightmost :: LocationLDT b a -> LocationLDT b a -locRightmost loc = maybe loc locRightmost $ alaf First foldMap Just $ locGoRight loc +locRightmost loc = maybe loc locRightmost $ alaf Last foldMap Just $ locGoRight loc -- should probably do tests for these locGoLeft :: LocationLDT b a -> [LocationLDT b a] diff --git a/src/Dodge/Item/Grammar.hs b/src/Dodge/Item/Grammar.hs index 6f70f15b2..a56cbf55b 100644 --- a/src/Dodge/Item/Grammar.hs +++ b/src/Dodge/Item/Grammar.hs @@ -89,6 +89,8 @@ itemToFunction itm = case itm ^. itType of BULLETMOD BulletModPayload{} -> AmmoPayloadSF BulletAmmo BULLETMOD BulletModEffect{} -> AmmoEffectSF BulletAmmo TARGETING{} -> WeaponTargetingSF + LEFT {} -> EquipmentPlatformSF + EQUIP {} -> EquipmentPlatformSF _ -> UncomposableIsolateSF pciToCI :: PartiallyComposedItem -> ComposedItem diff --git a/src/Dodge/Item/InventoryColor.hs b/src/Dodge/Item/InventoryColor.hs index caea43581..85532c229 100644 --- a/src/Dodge/Item/InventoryColor.hs +++ b/src/Dodge/Item/InventoryColor.hs @@ -11,6 +11,7 @@ import Dodge.Data.ComposedItem itemInvColor :: ComposedItem -> Color itemInvColor ci = case ci ^. cItemFunction of WeaponPlatformSF -> white + EquipmentPlatformSF -> yellow WeaponScopeSF -> chartreuse WeaponTargetingSF -> green AugmentedHUDSF -> rose diff --git a/src/Dodge/Render/HUD.hs b/src/Dodge/Render/HUD.hs index 5303a6742..dc7dc6de9 100644 --- a/src/Dodge/Render/HUD.hs +++ b/src/Dodge/Render/HUD.hs @@ -91,7 +91,7 @@ drawRootCursor w sss msel ldp cfig = fromMaybe mempty $ do inv <- w ^? cWorld . lWorld . creatures . ix 0 . crInv (x,y) <- getRootItemBounds j inv return $ drawSSMultiCursor sss (Just (0,x)) (Just (y- x)) ldp - (BoundaryCursor [minBound .. maxBound]) cfig + (BoundaryCursor [minBound ..]) cfig getRootItemBounds :: Int -> IM.IntMap Item -> Maybe (Int,Int) getRootItemBounds i inv = do diff --git a/src/Dodge/Update/Input/InGame.hs b/src/Dodge/Update/Input/InGame.hs index 546cdf2dc..8268b405a 100644 --- a/src/Dodge/Update/Input/InGame.hs +++ b/src/Dodge/Update/Input/InGame.hs @@ -36,11 +36,12 @@ updateUseInputInGame u = case u ^. uvWorld . hud . hudElement of DisplayCarte -> over uvWorld updatePressedButtonsCarte u DisplayInventory{_subInventory = si} -> case si of DisplayTerminal tmid - | lbinitialpress && inTermFocus w -> - over uvWorld (doTerminalEffectLB (w ^?! cWorld . lWorld . terminals . ix tmid)) u + | lbinitialpress && inTermFocus w -> u & uvWorld + %~ doTerminalEffectLB (w ^?! cWorld . lWorld . terminals . ix tmid) | inTermFocus (_uvWorld u) -> updateKeysInTerminal tmid u | lbinitialpress -> - u & uvWorld . cWorld . lWorld . terminals . ix tmid . tmInput . tiFocus %~ const True + u & uvWorld . cWorld . lWorld . terminals . ix tmid . tmInput . tiFocus + %~ const True CombineInventory{_ciSections = sss, _ciSelection = msel} | lbinitialpress -> u & uvWorld %~ updateCombineInvClick msel sss | inSubInvRegex (u ^. uvWorld) -> @@ -48,15 +49,11 @@ updateUseInputInGame u = case u ^. uvWorld . hud . hudElement of & uvWorld . hud . hudElement . subInventory %~ docombineregexinput sss msel & uvWorld . worldEventFlags . at CombineInventoryChange ?~ () - _ - | inInvRegex (u ^. uvWorld) -> + _ | inInvRegex (u ^. uvWorld) -> u & uvWorld . hud . hudElement %~ dodisplayregexinput (-1) - -- . diSections %~ doRegexInput (u ^. uvWorld . input) (-1) & uvWorld . worldEventFlags . at InventoryChange ?~ () & uvWorld %~ setInvPosFromSS - _ - | inCloseRegex (u ^. uvWorld) -> - --u & uvWorld . hud . hudElement . diSections %~ doRegexInput (u ^. uvWorld . input) 2 + _ | inCloseRegex (u ^. uvWorld) -> u & uvWorld . hud . hudElement %~ dodisplayregexinput' 2 & uvWorld . worldEventFlags . at InventoryChange ?~ () & uvWorld %~ setInvPosFromSS diff --git a/tags b/tags index 9a6f5af7c..96fa2906c 100644 --- a/tags +++ b/tags @@ -3320,7 +3320,7 @@ addToTrunk src/TreeHelp.hs 156;" f addWarningTerminal src/Dodge/Room/Warning.hs 37;" f addZ src/Geometry/Vector3D.hs 89;" f adjustIMZone src/Dodge/Base.hs 77;" f -advanceScrollAmount src/Dodge/Update.hs 415;" f +advanceScrollAmount src/Dodge/Update.hs 412;" f advanceSmoothScroll src/Dodge/SmoothScroll.hs 29;" f advanceStepCounter src/Dodge/Creature/Impulse/Movement.hs 45;" f aimDelaySweep src/Dodge/Render/Picture.hs 121;" f @@ -3411,7 +3411,7 @@ attachOnward' src/Dodge/Tree/Compose.hs 98;" f attachTree src/Dodge/Tree/Compose.hs 38;" f attentionViewPoint src/Dodge/Creature/ReaderUpdate.hs 66;" f attribSize src/Shader/Compile.hs 306;" f -augInvDirectSelect src/Dodge/Inventory.hs 220;" f +augInvDirectSelect src/Dodge/Inventory.hs 222;" f augmentedHUD src/Dodge/Item/Scope.hs 47;" f autoAmr src/Dodge/Item/Held/Rod.hs 51;" f autoBS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 362;" f @@ -3526,7 +3526,7 @@ bulletModule src/Dodge/Item/Scope.hs 35;" f bulletPayloadModule src/Dodge/Item/Scope.hs 44;" f bulletSynthesizer src/Dodge/Item/Ammo.hs 124;" f bulletTargetingModule src/Dodge/Item/Scope.hs 41;" f -bulletWeapons src/Dodge/Combine/Combinations.hs 247;" f +bulletWeapons src/Dodge/Combine/Combinations.hs 246;" f burstRifle src/Dodge/Item/Held/Cane.hs 74;" f buzzS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 520;" f calcSmoothScroll src/Dodge/SmoothScroll.hs 7;" f @@ -3547,9 +3547,9 @@ centroidNum src/Geometry/Polygon.hs 133;" f chainCreatureUpdates src/Dodge/Creature/ChainUpdates.hs 6;" f chainLinkOrientation src/Dodge/Creature/State.hs 183;" f chainPairs src/Geometry.hs 363;" f -changeSwapClose src/Dodge/Inventory.hs 159;" f -changeSwapSel src/Dodge/Inventory.hs 151;" f -changeSwapWith src/Dodge/Inventory.hs 214;" f +changeSwapClose src/Dodge/Inventory.hs 161;" f +changeSwapSel src/Dodge/Inventory.hs 153;" f +changeSwapWith src/Dodge/Inventory.hs 216;" f charToTuple src/Picture/Base.hs 317;" f charToTupleGrad src/Picture/Text.hs 18;" f chargeIfEquipped src/Dodge/ItEffect.hs 54;" f @@ -3562,7 +3562,7 @@ chaseCritPerceptionUpdate src/Dodge/Creature/Perception.hs 30;" f chaseCritVocalization src/Dodge/Creature/ChaseCrit.hs 46;" f checkCombineSelectionExists src/Dodge/DisplayInventory.hs 98;" f checkDeath src/Dodge/Creature/State.hs 75;" f -checkEndGame src/Dodge/Update.hs 702;" f +checkEndGame src/Dodge/Update.hs 699;" f checkErrorGL src/Shader/Compile.hs 255;" f checkFBO src/Framebuffer/Check.hs 6;" f checkGLError src/GLHelp.hs 17;" f @@ -3589,7 +3589,7 @@ circle src/Picture/Base.hs 180;" f circleDecoration src/Dodge/Placement/TopDecoration.hs 56;" f circleSolid src/Picture/Base.hs 164;" f circleSolidCol src/Picture/Base.hs 168;" f -clClSpringVel src/Dodge/Update.hs 755;" f +clClSpringVel src/Dodge/Update.hs 752;" f clZoneSize src/Dodge/Zone/Size.hs 3;" f clZoneSize src/Dodge/Zoning/Cloud.hs 21;" f clampPath src/Dodge/Room/Procedural.hs 166;" f @@ -3609,14 +3609,14 @@ clipZoom src/Dodge/Update/Camera.hs 215;" f clockCycle src/Dodge/Clock.hs 9;" f closeObjEq src/Dodge/Inventory/CloseObject.hs 15;" f closeObjPos src/Dodge/Inventory/CloseObject.hs 10;" f -closeObjectInfo src/Dodge/Render/HUD.hs 196;" f +closeObjectInfo src/Dodge/Render/HUD.hs 197;" f closeObjectToSelectionItem src/Dodge/Inventory/SelectionList.hs 54;" f closeObjectToTextPictures src/Dodge/Inventory/SelectionList.hs 68;" f closestCreatureID src/Dodge/Debug.hs 92;" f closestPointOnLine src/Geometry/Intersect.hs 251;" f closestPointOnLineParam src/Geometry/Intersect.hs 267;" f closestPointOnSeg src/Geometry/Intersect.hs 282;" f -cloudEffect src/Dodge/Update.hs 725;" f +cloudEffect src/Dodge/Update.hs 722;" f cloudPoisonDamage src/Dodge/Update/Cloud.hs 9;" f clsNearCirc src/Dodge/Zoning/Cloud.hs 18;" f clsNearPoint src/Dodge/Zoning/Cloud.hs 9;" f @@ -3645,7 +3645,7 @@ combinationsOf src/Multiset.hs 46;" f combinationsTrie src/Dodge/Combine.hs 41;" f combineAwareness src/Dodge/Creature/Perception.hs 109;" f combineFloors src/Dodge/Room/Procedural.hs 172;" f -combineInventoryExtra src/Dodge/Render/HUD.hs 306;" f +combineInventoryExtra src/Dodge/Render/HUD.hs 307;" f combineItemListYouX src/Dodge/Combine.hs 33;" f combineList src/Dodge/Combine.hs 20;" f combineRooms src/Dodge/Room/Procedural.hs 152;" f @@ -3687,7 +3687,7 @@ crAdd src/Dodge/Room/RezBox.hs 104;" f crAwayFromPost src/Dodge/Creature/Test.hs 77;" f crBlips src/Dodge/RadarSweep.hs 69;" f crCanSeeCr src/Dodge/Creature/Test.hs 48;" f -crCrSpring src/Dodge/Update.hs 773;" f +crCrSpring src/Dodge/Update.hs 770;" f crCurrentEquipment src/Dodge/Creature/Statistics.hs 28;" f crDisplayAwareness src/Dodge/Creature/Picture/Awareness.hs 37;" f crDisplayVigilance src/Dodge/Creature/Picture/Awareness.hs 51;" f @@ -3707,7 +3707,7 @@ crNearPoint src/Dodge/Creature/Test.hs 135;" f crNumFreeSlots src/Dodge/Inventory/CheckSlots.hs 35;" f crOnWall src/Dodge/WallCreatureCollisions.hs 84;" f crSafeDistFromTarg src/Dodge/Creature/Test.hs 67;" f -crSpring src/Dodge/Update.hs 768;" f +crSpring src/Dodge/Update.hs 765;" f crStratConMatches src/Dodge/Creature/Test.hs 72;" f crUpdate src/Dodge/Creature/State.hs 62;" f crUpdateInvidLocations src/Dodge/Inventory/Location.hs 47;" f @@ -3721,7 +3721,7 @@ createFlIt src/Dodge/Placement/PlaceSpot.hs 180;" f createForceField src/Dodge/ForceField.hs 7;" f createGas src/Dodge/Gas.hs 8;" f createHeadLamp src/Dodge/Euse.hs 159;" f -createItemYou src/Dodge/Inventory/Add.hs 77;" f +createItemYou src/Dodge/Inventory/Add.hs 80;" f createLightMap src/Render.hs 26;" f createNewArc src/Dodge/Tesla/Arc.hs 76;" f createPathGrid src/Dodge/Room/Path.hs 21;" f @@ -3959,8 +3959,8 @@ displayConfig src/Dodge/Menu.hs 196;" f displayControls src/Dodge/Menu.hs 206;" f displayFrameTicks src/Dodge/Render/Picture.hs 39;" f displayFreeSlots src/Dodge/DisplayInventory.hs 196;" f -displayTerminal src/Dodge/Render/HUD.hs 343;" f -displayTerminalLineString src/Dodge/Update.hs 444;" f +displayTerminal src/Dodge/Render/HUD.hs 344;" f +displayTerminalLineString src/Dodge/Update.hs 441;" f dist src/Geometry/Vector.hs 179;" f dist3 src/Geometry/Vector3D.hs 101;" f divTo src/Geometry/Zone.hs 6;" f @@ -4043,7 +4043,7 @@ doWdCrCr src/Dodge/CreatureEffect.hs 12;" f doWdP2f src/Dodge/WdP2f.hs 12;" f doWdWd src/Dodge/WorldEffect.hs 26;" f doWeaponRepetitions src/Dodge/HeldUse.hs 56;" f -doWorldEvents src/Dodge/Update.hs 426;" f +doWorldEvents src/Dodge/Update.hs 423;" f doWorldPos src/Dodge/WorldPos.hs 7;" f door src/Dodge/Room/Door.hs 13;" f doorBetween src/Dodge/Placement/Instance/Door.hs 39;" f @@ -4071,7 +4071,7 @@ drawCPUShadows src/Dodge/Render/Shadow.hs 19;" f drawCarte src/Dodge/Render/HUD/Carte.hs 14;" f drawCircFlare src/Dodge/Flare.hs 25;" f drawCollisionTest src/Dodge/Debug/Picture.hs 103;" f -drawCombineInventory src/Dodge/Render/HUD.hs 148;" f +drawCombineInventory src/Dodge/Render/HUD.hs 149;" f drawConcurrentMessage src/Dodge/Render/Picture.hs 62;" f drawCorpse src/Dodge/Corpse/Draw.hs 6;" f drawCrInfo src/Dodge/Debug/Picture.hs 342;" f @@ -4087,7 +4087,7 @@ drawDoorPaths src/Dodge/Debug/Picture.hs 217;" f drawDoubleLampCover src/Dodge/Prop/Draw.hs 81;" f drawEnergyBall src/Dodge/EnergyBall/Draw.hs 8;" f drawEquipment src/Dodge/Creature/Picture.hs 140;" f -drawExamineInventory src/Dodge/Render/HUD.hs 166;" f +drawExamineInventory src/Dodge/Render/HUD.hs 167;" f drawFarWallDetect src/Dodge/Debug/Picture.hs 234;" f drawFlame src/Dodge/Flame/Draw.hs 7;" f drawFlamelet src/Dodge/EnergyBall/Draw.hs 23;" f @@ -4129,7 +4129,7 @@ drawPointLabel src/Dodge/Render/Label.hs 13;" f drawProjectile src/Dodge/Projectile/Draw.hs 13;" f drawProp src/Dodge/Prop/Draw.hs 15;" f drawProp' src/Dodge/Prop/Draw.hs 12;" f -drawRBOptions src/Dodge/Render/HUD.hs 214;" f +drawRBOptions src/Dodge/Render/HUD.hs 215;" f drawRadarSweep src/Dodge/RadarSweep/Draw.hs 7;" f drawRemoteShell src/Dodge/Projectile/Draw.hs 30;" f drawRootCursor src/Dodge/Render/HUD.hs 80;" f @@ -4145,7 +4145,7 @@ drawShell src/Dodge/Projectile/Draw.hs 20;" f 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 140;" f +drawSubInventory src/Dodge/Render/HUD.hs 141;" f drawSweep src/Dodge/Render/Picture.hs 128;" f drawSwitch src/Dodge/Button/Draw.hs 15;" f drawSwitchWire src/Dodge/LevelGen/Switch.hs 28;" f @@ -4194,10 +4194,10 @@ encircle src/Dodge/Creature/Boid.hs 115;" f encircleCloseP src/Dodge/Creature/Boid.hs 35;" f encircleDistP src/Dodge/Creature/Boid.hs 21;" f encircleP src/Dodge/Creature/Boid.hs 27;" f -enterCombineInv src/Dodge/DisplayInventory.hs 288;" f +enterCombineInv src/Dodge/DisplayInventory.hs 280;" f eqConstr src/SameConstr.hs 17;" f eqPosText src/Dodge/Equipment/Text.hs 6;" f -equipAllocString src/Dodge/Render/HUD.hs 272;" f +equipAllocString src/Dodge/Render/HUD.hs 273;" f equipInfo src/Dodge/Item/Info.hs 103;" f equipItemSPic src/Dodge/Item/Draw/SPic.hs 65;" f equipPosition src/Dodge/Item/Draw.hs 29;" f @@ -4290,7 +4290,7 @@ flockPointTarget src/Dodge/Creature/Boid.hs 199;" f flockPointTargetR src/Dodge/Creature/Boid.hs 266;" f flockToPointUsing src/Dodge/Creature/Boid.hs 214;" f flockToPointUsing' src/Dodge/Creature/Boid.hs 227;" f -floorItemPickupInfo src/Dodge/Render/HUD.hs 201;" f +floorItemPickupInfo src/Dodge/Render/HUD.hs 202;" f floorItemSPic src/Dodge/Render/ShapePicture.hs 119;" f floorWire src/Dodge/Wire.hs 13;" f foamSprayFadeOutS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 412;" f @@ -4558,7 +4558,7 @@ invAdj src/Dodge/Item/Grammar.hs 186;" f invCursorParams src/Dodge/ListDisplayParams.hs 38;" f invDimColor src/Dodge/DisplayInventory.hs 190;" f invDisplayParams src/Dodge/ListDisplayParams.hs 32;" f -invHead src/Dodge/Render/HUD.hs 379;" f +invHead src/Dodge/Render/HUD.hs 380;" f invLDT src/Dodge/Item/Grammar.hs 169;" f invRootMap src/Dodge/Item/Grammar.hs 178;" f invRootTrees src/Dodge/Item/Grammar.hs 208;" f @@ -4569,8 +4569,8 @@ invSideEff src/Dodge/Creature/State.hs 162;" f invSize src/Dodge/Inventory/CheckSlots.hs 41;" f invTrees src/Dodge/Item/Grammar.hs 196;" f invTrees' src/Dodge/Item/Grammar.hs 200;" f -inventoryExtra src/Dodge/Render/HUD.hs 281;" f -inventoryExtraH src/Dodge/Render/HUD.hs 292;" f +inventoryExtra src/Dodge/Render/HUD.hs 282;" f +inventoryExtraH src/Dodge/Render/HUD.hs 293;" f inventoryX src/Dodge/Creature.hs 115;" f inverseSelBoundaryDown src/Dodge/SelectionSections.hs 256;" f inverseSelBoundaryUp src/Dodge/SelectionSections.hs 243;" f @@ -4588,7 +4588,7 @@ isAmmoIntLink src/Dodge/HeldUse.hs 206;" f isAnimate src/Dodge/Creature/Test.hs 138;" f isCognizant src/Dodge/Creature/Perception.hs 105;" f isElectrical src/Dodge/Data/Damage.hs 42;" f -isFilteringInv src/Dodge/Inventory.hs 259;" f +isFilteringInv src/Dodge/Inventory.hs 261;" f isFrictionless src/Dodge/Creature/State.hs 341;" f isGas src/Dodge/Euse.hs 64;" f isInLnk src/Dodge/PlacementSpot.hs 160;" f @@ -4729,13 +4729,13 @@ listConfig src/Dodge/Menu.hs 199;" f listControls src/Dodge/Menu.hs 212;" f listCursorChooseBorderScale src/Dodge/Render/List.hs 118;" f listGuard src/Dodge/Creature/ReaderUpdate.hs 188;" f -listSelectionColorPicture src/Dodge/DisplayInventory.hs 280;" f +listSelectionColorPicture src/Dodge/DisplayInventory.hs 272;" f litCorridor90 src/Dodge/Room/RoadBlock.hs 26;" f llleft src/Dodge/Item/Grammar.hs 105;" f llright src/Dodge/Item/Grammar.hs 112;" f lmt src/MatrixHelper.hs 43;" f lnkBothAnd src/Dodge/Room/Procedural.hs 121;" f -lnkMidPosInvSelsCol src/Dodge/Render/HUD.hs 368;" f +lnkMidPosInvSelsCol src/Dodge/Render/HUD.hs 369;" f lnkPosDir src/Dodge/RoomLink.hs 97;" f loadDodgeConfig src/Dodge/Config/Load.hs 9;" f loadMusic src/Dodge/SoundLogic/LoadSound.hs 21;" f @@ -4853,7 +4853,7 @@ makeTlsTimeRadColPos src/Dodge/LightSource.hs 88;" f makeTypeCraft src/Dodge/Item/Craftable.hs 13;" f makeTypeCraftNum src/Dodge/Item/Craftable.hs 7;" f mapOverlay src/Dodge/Render/HUD/Carte.hs 24;" f -markWallSeen src/Dodge/Update.hs 687;" f +markWallSeen src/Dodge/Update.hs 684;" f maxDamageType src/Dodge/Damage.hs 37;" f maxShowX src/Dodge/Combine/Graph.hs 43;" f maxViewDistance src/Dodge/Viewpoints.hs 26;" f @@ -4984,7 +4984,7 @@ mvBullet src/Dodge/Bullet.hs 33;" f mvButton src/Dodge/Placement/PlaceSpot.hs 176;" f mvCr src/Dodge/Placement/PlaceSpot.hs 186;" f mvFS src/Dodge/Placement/PlaceSpot.hs 189;" f -mvGust src/Dodge/Update.hs 716;" f +mvGust src/Dodge/Update.hs 713;" f mvLS src/Dodge/Placement/PlaceSpot.hs 217;" f mvP src/Dodge/Wall/Move.hs 54;" f mvPP src/Dodge/Placement/PlaceSpot.hs 183;" f @@ -5117,7 +5117,7 @@ pesNearSeg src/Dodge/Zoning/Pathing.hs 37;" f picAtCrPos1 src/Dodge/Render/ShapePicture.hs 62;" f picFormat src/Polyhedra.hs 23;" f picMap src/Picture/Base.hs 67;" f -pickUpItem src/Dodge/Inventory/Add.hs 89;" f +pickUpItem src/Dodge/Inventory/Add.hs 92;" f pickUpS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 458;" f pincerP src/Dodge/Creature/Boid.hs 60;" f pincerP' src/Dodge/Creature/Boid.hs 93;" f @@ -5252,7 +5252,7 @@ powlistUpToN src/Multiset.hs 23;" f powlistUpToN' src/Multiset.hs 12;" f powlistUpToN'' src/Multiset.hs 31;" f ppDraw src/Dodge/Render/ShapePicture.hs 116;" f -ppEvents src/Dodge/Update.hs 679;" f +ppEvents src/Dodge/Update.hs 676;" f ppLevelReset src/Dodge/PressPlate.hs 13;" f preCritStart src/Dodge/Room/Start.hs 82;" f preloadRender src/Preload/Render.hs 30;" f @@ -5380,7 +5380,7 @@ refract src/Dodge/Item/Weapon/LaserPath.hs 40;" f refreshOptionsSelectionList src/Dodge/Menu/Option.hs 34;" f regexCombs src/Dodge/DisplayInventory.hs 66;" f regexIn src/Regex.hs 4;" f -regexList src/Dodge/DisplayInventory.hs 332;" f +regexList src/Dodge/DisplayInventory.hs 324;" f regexList src/Regex.hs 7;" f reload1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 442;" f reloadLevelStart src/Dodge/Save.hs 71;" f @@ -5530,8 +5530,8 @@ 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 228;" f -scrollAugNextInSection src/Dodge/Inventory.hs 241;" f +scrollAugInvSel src/Dodge/Inventory.hs 230;" f +scrollAugNextInSection src/Dodge/Inventory.hs 243;" f scrollCommandStrings src/Dodge/Update/Scroll.hs 137;" f scrollCommands src/Dodge/Update/Scroll.hs 134;" f scrollDebugInfoInt src/Dodge/Debug.hs 47;" f @@ -5554,16 +5554,16 @@ secondColumnParams src/Dodge/ListDisplayParams.hs 45;" f seedStartMenu src/Dodge/Menu.hs 79;" f seedStartOptions src/Dodge/Menu.hs 82;" f segOnCirc src/Geometry.hs 116;" f -selNumPos src/Dodge/Render/HUD.hs 439;" f -selNumPosCardinal src/Dodge/Render/HUD.hs 462;" f +selNumPos src/Dodge/Render/HUD.hs 440;" f +selNumPosCardinal src/Dodge/Render/HUD.hs 463;" f selSecDrawCursor src/Dodge/Render/List.hs 108;" f selSecDrawCursorAt src/Dodge/Render/List.hs 86;" f -selSecSelCol src/Dodge/Render/HUD.hs 485;" f +selSecSelCol src/Dodge/Render/HUD.hs 486;" f selSecSelSize src/Dodge/SelectionSections.hs 182;" f selSecYint src/Dodge/SelectionSections.hs 191;" f selectCreatureDebugItem src/Dodge/Debug.hs 39;" f selectUse src/Dodge/SelectUse.hs 11;" f -selectedCloseObject src/Dodge/Inventory.hs 252;" f +selectedCloseObject src/Dodge/Inventory.hs 254;" 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 @@ -5594,7 +5594,7 @@ setLinkTypePD src/Dodge/RoomLink.hs 67;" f setMinInvSize src/Dodge/Creature/Action.hs 150;" f setMusicVolume src/Sound.hs 161;" f setMvPos src/Dodge/Creature/ReaderUpdate.hs 51;" f -setOldPos src/Dodge/Update.hs 468;" f +setOldPos src/Dodge/Update.hs 465;" f setOutLinks src/Dodge/RoomLink.hs 48;" f setOutLinksByType src/Dodge/RoomLink.hs 57;" f setOutLinksPD src/Dodge/RoomLink.hs 77;" f @@ -5701,7 +5701,7 @@ shuffleLinks src/Dodge/Room/Link.hs 30;" f shuffleRoomPos src/Dodge/Layout.hs 78;" f shuffleTail src/RandomHelp.hs 59;" f sigmoid src/Dodge/Base.hs 129;" f -simpleCrSprings src/Dodge/Update.hs 764;" f +simpleCrSprings src/Dodge/Update.hs 761;" f simpleDamFL src/Dodge/Flame.hs 41;" f simpleTermMessage src/Dodge/Terminal.hs 250;" f sineRaisePitchOneSecS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 504;" f @@ -5839,7 +5839,7 @@ subMap src/TreeHelp.hs 118;" f subZipWith src/Dodge/Placement/Instance/Wall.hs 115;" f swapInOutLinks src/Dodge/RoomLink.hs 80;" f swapIndices src/ListHelp.hs 50;" f -swapInvItems src/Dodge/Inventory.hs 176;" f +swapInvItems src/Dodge/Inventory.hs 178;" f swarmCrit src/Dodge/Creature/SwarmCrit.hs 10;" f swarmUsingCenter src/Dodge/Creature/Boid.hs 171;" f switchDoor src/Dodge/Placement/Instance/Door.hs 96;" f @@ -5925,7 +5925,7 @@ titleOptionsMenu src/Dodge/Menu.hs 99;" f titleOptionsNoWrite src/Dodge/Menu.hs 102;" f tlsTimeRadColPos src/Dodge/LightSource.hs 69;" f tlsTimeRadFunPos src/Dodge/LightSource.hs 26;" f -tmUpdate src/Dodge/Update.hs 448;" f +tmUpdate src/Dodge/Update.hs 445;" f toBothLnk src/Dodge/RoomLink.hs 121;" f toClosestMultiple src/HelpNum.hs 3;" f toColor8 src/Color.hs 148;" f @@ -6067,40 +6067,40 @@ updateBarreloid src/Dodge/Barreloid.hs 13;" f updateBounds src/Dodge/Update/Camera.hs 245;" f updateBulVel src/Dodge/Bullet.hs 50;" f updateBullet src/Dodge/Bullet.hs 28;" f -updateBullets src/Dodge/Update.hs 545;" f +updateBullets src/Dodge/Update.hs 542;" f updateCamera src/Dodge/Update/Camera.hs 31;" f -updateCloseObjects src/Dodge/Inventory.hs 117;" f -updateCloud src/Dodge/Update.hs 730;" f -updateClouds src/Dodge/Update.hs 574;" f +updateCloseObjects src/Dodge/Inventory.hs 119;" f +updateCloud src/Dodge/Update.hs 727;" f +updateClouds src/Dodge/Update.hs 571;" f updateCombineInvClick src/Dodge/Update/Input/InGame.hs 94;" f updateCombinePositioning src/Dodge/DisplayInventory.hs 37;" f updateCombineSections src/Dodge/DisplayInventory.hs 43;" f updateCreature src/Dodge/Creature/Update.hs 10;" f -updateCreatureGroups src/Dodge/Update.hs 514;" f -updateCreatureSoundPositions src/Dodge/Update.hs 490;" f +updateCreatureGroups src/Dodge/Update.hs 511;" f +updateCreatureSoundPositions src/Dodge/Update.hs 487;" f updateDebugMessageOffset src/Dodge/Update.hs 89;" f -updateDelayedEvents src/Dodge/Update.hs 793;" f +updateDelayedEvents src/Dodge/Update.hs 790;" f updateDisplaySections src/Dodge/DisplayInventory.hs 111;" f updateDistortion src/Dodge/Distortion.hs 5;" f -updateDistortions src/Dodge/Update.hs 535;" f +updateDistortions src/Dodge/Update.hs 532;" f updateEnergyBall src/Dodge/EnergyBall.hs 46;" f -updateEnergyBalls src/Dodge/Update.hs 562;" f +updateEnergyBalls src/Dodge/Update.hs 559;" f updateEnterRegex src/Dodge/Update/Input/InGame.hs 267;" f updateExpBarrel src/Dodge/Barreloid.hs 19;" f updateFBOTO src/Framebuffer/Update.hs 97;" f updateFBOTO3 src/Framebuffer/Update.hs 131;" f updateFlame src/Dodge/Flame.hs 71;" f -updateFlames src/Dodge/Update.hs 559;" f +updateFlames src/Dodge/Update.hs 556;" f updateFlare src/Dodge/Flare.hs 7;" f updateFloatingCamera src/Dodge/Update/Camera.hs 36;" f -updateGusts src/Dodge/Update.hs 713;" f +updateGusts src/Dodge/Update.hs 710;" f updateHeldRootItem src/Dodge/Creature/State.hs 167;" f updateHumanoid src/Dodge/Humanoid.hs 12;" f -updateIMl src/Dodge/Update.hs 504;" f -updateIMl' src/Dodge/Update.hs 509;" f +updateIMl src/Dodge/Update.hs 501;" f +updateIMl' src/Dodge/Update.hs 506;" f updateInGameCamera src/Dodge/Update/Camera.hs 70;" f updateInitialPressInGame src/Dodge/Update/Input/InGame.hs 165;" f -updateInstantBullets src/Dodge/Update.hs 651;" f +updateInstantBullets src/Dodge/Update.hs 648;" f updateInv src/Dodge/Creature/State.hs 152;" f updateInventoryPositioning src/Dodge/DisplayInventory.hs 84;" f updateItemTargeting src/Dodge/Creature/State.hs 268;" f @@ -6109,22 +6109,22 @@ updateKeyInGame src/Dodge/Update/Input/InGame.hs 159;" f updateKeysInTerminal src/Dodge/Update/Input/InGame.hs 148;" f updateLampoid src/Dodge/Lampoid.hs 12;" f updateLaser src/Dodge/Laser/Update.hs 13;" f -updateLasers src/Dodge/Update.hs 433;" f -updateLightSources src/Dodge/Update.hs 538;" f +updateLasers src/Dodge/Update.hs 430;" f +updateLightSources src/Dodge/Update.hs 535;" f updateLinearShockwave src/Dodge/LinearShockwave/Update.hs 8;" f updateLongPressInGame src/Dodge/Update/Input/InGame.hs 185;" f -updateMIM src/Dodge/Update.hs 664;" f +updateMIM src/Dodge/Update.hs 661;" f updateMachine src/Dodge/Machine/Update.hs 16;" f updateMouseInventorySelection src/Dodge/Update.hs 304;" f updateMouseInventorySelection' src/Dodge/Update.hs 309;" f -updateMouseOverCombineInventory src/Dodge/Update.hs 399;" f +updateMouseOverCombineInventory src/Dodge/Update.hs 397;" f updateMouseOverInventory src/Dodge/Update.hs 386;" f updateMovement src/Dodge/Creature/State.hs 331;" f -updateObjCatMaybes src/Dodge/Update.hs 526;" f -updateObjMapMaybe src/Dodge/Update.hs 519;" f -updatePastWorlds src/Dodge/Update.hs 421;" f +updateObjCatMaybes src/Dodge/Update.hs 523;" f +updateObjMapMaybe src/Dodge/Update.hs 516;" f +updatePastWorlds src/Dodge/Update.hs 418;" f updatePosEvent src/Dodge/PosEvent.hs 11;" f -updatePosEvents src/Dodge/Update.hs 571;" f +updatePosEvents src/Dodge/Update.hs 568;" f updatePreload src/Preload/Update.hs 20;" f updatePressedButtonsCarte src/Dodge/Update/Input/InGame.hs 123;" f updatePressedButtonsCarte' src/Dodge/Update/Input/InGame.hs 126;" f @@ -6132,9 +6132,9 @@ updateProjectile src/Dodge/Projectile/Update.hs 23;" f 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 541;" f +updateRadarBlips src/Dodge/Update.hs 538;" f updateRadarSweep src/Dodge/RadarSweep.hs 25;" f -updateRadarSweeps src/Dodge/Update.hs 565;" f +updateRadarSweeps src/Dodge/Update.hs 562;" f updateRandNode src/TreeHelp.hs 108;" f updateRenderSplit appDodge/Main.hs 106;" f updateRootItemID src/Dodge/Inventory/Location.hs 34;" f @@ -6143,19 +6143,19 @@ updateScopeZoom' src/Dodge/Update/Camera.hs 132;" f updateScrollTestValue src/Dodge/ScrollValue.hs 6;" f updateSection src/Dodge/DisplayInventory.hs 223;" f updateSectionsPositioning src/Dodge/DisplayInventory.hs 202;" f -updateSeenWalls src/Dodge/Update.hs 682;" f +updateSeenWalls src/Dodge/Update.hs 679;" f updateShockwave src/Dodge/Shockwave/Update.hs 12;" f -updateShockwaves src/Dodge/Update.hs 556;" f +updateShockwaves src/Dodge/Update.hs 553;" f updateSingleNodes src/TreeHelp.hs 97;" f updateSound src/Sound.hs 71;" f updateSounds src/Sound.hs 66;" f updateSpark src/Dodge/Spark.hs 19;" f -updateSparks src/Dodge/Update.hs 568;" f +updateSparks src/Dodge/Update.hs 565;" f updateTempLightSource src/Dodge/LightSource/Update.hs 7;" f updateTeslaArc src/Dodge/Tesla/Arc.hs 29;" f -updateTeslaArcs src/Dodge/Update.hs 550;" f +updateTeslaArcs src/Dodge/Update.hs 547;" f updateTractorBeam src/Dodge/TractorBeam/Update.hs 9;" f -updateTractorBeams src/Dodge/Update.hs 553;" f +updateTractorBeams src/Dodge/Update.hs 550;" f updateTurret src/Dodge/Machine/Update.hs 31;" f updateUniverse src/Dodge/Update.hs 69;" f updateUniverseFirst src/Dodge/Update.hs 80;" f @@ -6166,7 +6166,7 @@ updateUseInputOnScreen src/Dodge/Update/Input/ScreenLayer.hs 20;" f updateWalkCycle src/Dodge/Creature/State/WalkCycle.hs 12;" f updateWallDamages src/Dodge/Update/WallDamage.hs 10;" f updateWheelEvent src/Dodge/Update/Scroll.hs 20;" f -updateWheelEvents src/Dodge/Update.hs 408;" f +updateWheelEvents src/Dodge/Update.hs 405;" f updateWorldEventFlag src/Dodge/Update.hs 114;" f updateWorldEventFlags src/Dodge/Update.hs 102;" f upperBody src/Dodge/Creature/Picture.hs 133;" f @@ -6320,7 +6320,7 @@ yV2 src/Geometry/Vector.hs 203;" f yellow src/Color.hs 17;" f you src/Dodge/Base/You.hs 18;" f youDropItem src/Dodge/Creature/Action.hs 184;" f -yourAugmentedItem src/Dodge/Render/HUD.hs 208;" f +yourAugmentedItem src/Dodge/Render/HUD.hs 209;" f yourControl src/Dodge/Creature/YourControl.hs 22;" f yourDefaultSpeed src/Dodge/Default/Creature.hs 134;" f yourDefaultStrideLength src/Dodge/Default/Creature.hs 137;" f @@ -6338,9 +6338,9 @@ zipCount src/Dodge/Tree/Shift.hs 129;" f zipCountDown src/Dodge/Room/Procedural.hs 118;" f zipWithDefaults src/Dodge/Item/Display.hs 21;" f zoneCloud src/Dodge/Zoning/Cloud.hs 27;" f -zoneClouds src/Dodge/Update.hs 441;" f +zoneClouds src/Dodge/Update.hs 438;" f zoneCreature src/Dodge/Zoning/Creature.hs 52;" f -zoneCreatures src/Dodge/Update.hs 485;" f +zoneCreatures src/Dodge/Update.hs 482;" f zoneExtract src/Dodge/Zoning/Base.hs 50;" f zoneMonoid src/Dodge/Zoning/Base.hs 80;" f zoneOfCirc src/Dodge/Zoning/Base.hs 22;" f