Separate selected item from extra selected items

This commit is contained in:
2024-11-22 15:34:14 +00:00
parent bc2c9c9369
commit 13f5dd09c8
6 changed files with 154 additions and 103 deletions
+21 -6
View File
@@ -1,15 +1,30 @@
/home/justin/Haskell/loop/src/Dodge/Update/Input/InGame.hs:123:1-15: warning: [-Wunused-top-binds]
/home/justin/Haskell/loop/src/Dodge/Update/Input/InGame.hs:124:1-15: warning: [-Wunused-top-binds]
Defined but not used: tryDropSelected
|
123 | tryDropSelected w = do
124 | tryDropSelected w = do
| ^^^^^^^^^^^^^^^
/home/justin/Haskell/loop/src/Dodge/Update/Input/InGame.hs:130:1-17: warning: [-Wunused-top-binds]
/home/justin/Haskell/loop/src/Dodge/Update/Input/InGame.hs:131:1-17: warning: [-Wunused-top-binds]
Defined but not used: tryPickupSelected
|
130 | tryPickupSelected w = do
131 | tryPickupSelected w = do
| ^^^^^^^^^^^^^^^^^
/home/justin/Haskell/loop/src/Dodge/Update/Input/InGame.hs:134:19: warning: [-Wunused-matches]
/home/justin/Haskell/loop/src/Dodge/Update/Input/InGame.hs:135:19: warning: [-Wunused-matches]
Defined but not used: x
|
134 | OverInvDrag 3 x <- w ^? input . mouseContext
135 | OverInvDrag 3 x <- w ^? input . mouseContext
| ^
/home/justin/Haskell/loop/src/Dodge/Update/Input/InGame.hs:209:9: warning: [-Wunused-matches]
Defined but not used: j
|
209 | (i, j) <- w ^? hud . hudElement . diSelection . _Just
| ^
/home/justin/Haskell/loop/src/Dodge/Update/Input/InGame.hs:227:1-12: warning: [-Wunused-top-binds]
Defined but not used: dragInvItems
|
227 | dragInvItems j is cfig mpos ldp sss w
| ^^^^^^^^^^^^
/home/justin/Haskell/loop/src/Dodge/Update/Input/InGame.hs:297:1-13: warning: [-Wunused-top-binds]
Defined but not used: shiftInvItems
|
297 | shiftInvItems j xs cfig mpos ldp sss w = case inverseSelBoundaryUp cfig ldp sss mpos of
| ^^^^^^^^^^^^^
+8 -6
View File
@@ -5,9 +5,9 @@
module Dodge.Data.HUD where
import Data.IntSet (IntSet)
import Data.IntMap
import Control.Lens
import Data.IntMap
import Data.IntSet (IntSet)
import Dodge.Data.Button
import Dodge.Data.Combine
import Dodge.Data.FloorItem
@@ -21,7 +21,8 @@ data HUDElement
, _diSelection :: Maybe (Int, Int)
, _diInvFilter :: Maybe String
, _diCloseFilter :: Maybe String
, _diSelectionExtra :: IntSet
, _diSelectionExtra :: IntSet -- this should probably be placed within _diSelection
-- would lead to inconsistency with _ciSelection
}
| DisplayCarte
@@ -33,9 +34,9 @@ data HUDElement
data SubInventory
= NoSubInventory
-- { _nsSelected :: MouseInventorySelection
-- }
| ExamineInventory
| -- { _nsSelected :: MouseInventorySelection
-- }
ExamineInventory
| CombineInventory
{ _ciSections :: IntMap (SelectionSection CombinableItem)
, _ciSelection :: Maybe (Int, Int)
@@ -55,4 +56,5 @@ data HUD = HUD
makeLenses ''HUD
makeLenses ''HUDElement
makeLenses ''SubInventory
--makeLenses ''MouseInventorySelection
+1 -12
View File
@@ -16,22 +16,11 @@ import qualified IntMapHelp as IM
checkInvSlotsYou :: Item -> World -> Maybe Int
checkInvSlotsYou it w
| crNumFreeSlots ycr >= _itInvSize it =
Just $ findItemSlot (_crInv ycr)
Just . IM.newKey $ _crInv ycr
| otherwise = Nothing
where
ycr = you w
-- Assumes that the item is singular.
-- Do not want to stack floor items for now
findItemSlot :: IM.IntMap Item -> Int
findItemSlot = maybe 0 ((+ 1) . fst) . IM.lookupMax
--findItemSlot it inv = case it ^? itUse . useAmount of
-- Just _ ->
-- fromMaybe newslot $ IM.findIndex (\it' -> _itType it == _itType it') inv
-- _ -> newslot
-- where
-- newslot = maybe 0 ((+ 1) . fst) $ IM.lookupMax inv
crNumFreeSlots :: Creature -> Int
crNumFreeSlots cr = _crInvCapacity cr - invSize (_crInv cr)
+2 -2
View File
@@ -135,12 +135,12 @@ drawDragSelected :: Configuration -> World -> Maybe Picture
drawDragSelected cfig w = do
ys <- w ^? hud . hudElement . diSelectionExtra
guard $ not (IS.null ys)
(i,j) <- w ^? hud . hudElement . diSelection . _Just
(i,_) <- w ^? hud . hudElement . diSelection . _Just
sss <- w ^? hud . hudElement . diSections
let idp = invDisplayParams w
let f x = (selSecDrawCursorAt 15 idp BackdropCursor sss (i, x) <>)
return . translateScreenPos cfig (invDisplayParams w ^. ldpPos)
. color (withAlpha 0.2 white) . IS.foldr f mempty $ IS.insert j ys
. color (withAlpha 0.2 white) . IS.foldr f mempty $ ys
drawDragSelect :: Configuration -> World -> Maybe Picture
drawDragSelect cfig w = do
+61 -18
View File
@@ -101,13 +101,14 @@ updateMouseHeldInGame cfig w = case w ^. input . mouseContext of
guard $ Just (fst sstart) == fmap fst msel || isNothing msel
return $ w & input . mouseContext . mcoSelEnd .~ msel
OverInvDrag k mmouseover -> fromMaybe w $ do
sss <- w ^? hud . hudElement . diSections
_ <- mmouseover
let mpos = w ^. input . mousePos
(j, i) <- w ^? hud . hudElement . diSelection . _Just
guard $ j == k -- this should always be the case?
x <- w ^? hud . hudElement . diSelectionExtra
return $ w & dragInvItems k (IS.insert i x) cfig mpos ldp sss
ss <- w ^? hud . hudElement . diSections . ix k . ssItems
x <- mmouseover
is <- w ^? hud . hudElement . diSelectionExtra
return $ if concurrentIS is
then shiftInvItems' k x is ss w
else collectInvItems is w
-- let mpos = w ^. input . mousePos
-- return $ w & dragInvItems k xs cfig mpos ldp sss
_ -> w
where
ldp = invDisplayParams w
@@ -115,24 +116,24 @@ updateMouseHeldInGame cfig w = case w ^. input . mouseContext of
dropSelected :: World -> World
dropSelected w = fromMaybe w $ do
cr <- w ^? cWorld . lWorld . creatures . ix 0
(0, j) <- w ^? hud . hudElement . diSelection . _Just
(0, _) <- w ^? hud . hudElement . diSelection . _Just
xs <- w ^? hud . hudElement . diSelectionExtra
return $ IS.foldr (dropItem cr) w (IS.insert j xs)
return $ IS.foldr (dropItem cr) w xs
tryDropSelected :: World -> Maybe World
tryDropSelected w = do
cr <- w ^? cWorld . lWorld . creatures . ix 0
(0, j) <- w ^? hud . hudElement . diSelection . _Just
(0, _) <- w ^? hud . hudElement . diSelection . _Just
xs <- w ^? hud . hudElement . diSelectionExtra
return $ IS.foldr (dropItem cr) w (IS.insert j xs)
return $ IS.foldr (dropItem cr) w xs
tryPickupSelected :: World -> Maybe World
tryPickupSelected w = do
cr <- w ^? cWorld . lWorld . creatures . ix 0
(3, j) <- w ^? hud . hudElement . diSelection . _Just
(3, _) <- w ^? hud . hudElement . diSelection . _Just
xs <- w ^? hud . hudElement . diSelectionExtra
OverInvDrag 3 x <- w ^? input . mouseContext
return $ IS.foldr (dropItem cr) w (IS.insert j xs)
return $ IS.foldr (dropItem cr) w xs
updateMouseReleaseInGame :: World -> World
updateMouseReleaseInGame w = case w ^. input . mouseContext of
@@ -207,7 +208,7 @@ startDrag :: (Int, Int) -> World -> World
startDrag (a, b) w = fromMaybe (augInvDirectSelect (a, b) $ setmichosen mempty w) $ do
(i, j) <- w ^? hud . hudElement . diSelection . _Just
xs <- w ^? hud . hudElement . diSelectionExtra
guard $ i == a && b `IS.member` IS.insert j xs
guard $ i == a && b `IS.member` xs
return $ setmichosen xs w
where
setmichosen x =
@@ -246,6 +247,44 @@ collectInvItems is w = fromMaybe w $ do
(k, ks) <- IS.minView js
return . h (j + 1) ks $ swapInvItems (\_ _ -> Just (j + 1)) k w'
shiftInvItems' ::
Int ->
(Int,Int) ->
IS.IntSet ->
IM.IntMap (SelectionItem a) ->
World ->
World
shiftInvItems' k x xs ss w = fromMaybe w $ do
(maxi,_) <- IS.maxView xs
(mini,_) <- IS.minView xs
if x < (k,mini)
then do
minss <- IM.lookupMin ss
guard (mini > fst minss)
return $ shiftInvItemsUp k xs w
else do
guard $ x > (k,maxi)
maxss <- IM.lookupMax ss
guard (maxi < fst maxss)
return $ shiftInvItemsDown k xs w
-- if
-- Just p -> fromMaybe w $ do
-- (k,_) <- IS.minView xs
-- guard $ p < (j,k)
-- ss <- sss ^? ix j . ssItems
-- minsss <- IM.lookupMin ss
-- guard (k > fst minsss)
-- return $ shiftInvItemsUp j xs w
-- _ -> case inverseSelBoundaryDown cfig ldp sss mpos of
-- Just p -> fromMaybe w $ do
-- (k,_) <- IS.maxView xs
-- guard $ p > (j,k)
-- ss <- sss ^? ix j . ssItems
-- maxsss <- IM.lookupMax ss
-- guard (k < fst maxsss)
-- return $ shiftInvItemsDown j xs w
-- _ -> w
shiftInvItems ::
Int ->
IS.IntSet ->
@@ -256,16 +295,20 @@ shiftInvItems ::
World ->
World
shiftInvItems j xs cfig mpos ldp sss w = case inverseSelBoundaryUp cfig ldp sss mpos of
Just p | p < (j, IS.findMin xs) -> fromMaybe w $ do
Just p -> fromMaybe w $ do
(k,_) <- IS.minView xs
guard $ p < (j,k)
ss <- sss ^? ix j . ssItems
minsss <- IM.lookupMin ss
guard (IS.findMin xs > fst minsss)
guard (k > fst minsss)
return $ shiftInvItemsUp j xs w
_ -> case inverseSelBoundaryDown cfig ldp sss mpos of
Just p | p > (j, IS.findMax xs) -> fromMaybe w $ do
Just p -> fromMaybe w $ do
(k,_) <- IS.maxView xs
guard $ p > (j,k)
ss <- sss ^? ix j . ssItems
maxsss <- IM.lookupMax ss
guard (IS.findMax xs < fst maxsss)
guard (k < fst maxsss)
return $ shiftInvItemsDown j xs w
_ -> w
+61 -59
View File
@@ -336,7 +336,7 @@ Combinations src/Dodge/Combine/Combinations.hs 3;" m
Combine src/Dodge/Combine.hs 2;" m
Combine src/Dodge/Data/Combine.hs 2;" m
Combine src/Dodge/Data/Item/Combine.hs 6;" m
CombineInventory src/Dodge/Data/HUD.hs 39;" C
CombineInventory src/Dodge/Data/HUD.hs 40;" C
CombineInventoryChange src/Dodge/Data/World.hs 34;" C
Common src/Dodge/Zoning/Common.hs 1;" m
Compile src/Shader/Compile.hs 1;" m
@@ -514,10 +514,10 @@ Detector src/Dodge/Data/Item/Combine.hs 168;" t
Dirt src/Dodge/Data/Material.hs 11;" C
DisasterType src/Dodge/Data/Scenario.hs 24;" t
Display src/Dodge/Item/Display.hs 1;" m
DisplayCarte src/Dodge/Data/HUD.hs 26;" C
DisplayCarte src/Dodge/Data/HUD.hs 27;" C
DisplayInventory src/Dodge/Data/HUD.hs 18;" C
DisplayInventory src/Dodge/DisplayInventory.hs 2;" m
DisplayTerminal src/Dodge/Data/HUD.hs 45;" C
DisplayTerminal src/Dodge/Data/HUD.hs 46;" C
Distortion src/Dodge/Data/Distortion.hs 12;" t
Distortion src/Dodge/Data/Distortion.hs 6;" m
Distortion src/Dodge/Distortion.hs 1;" m
@@ -663,7 +663,7 @@ Euse src/Dodge/Data/Item/HeldUse.hs 20;" t
Euse src/Dodge/Euse.hs 1;" m
Event src/Dodge/Button/Event.hs 1;" m
Event src/Dodge/Event.hs 14;" m
ExamineInventory src/Dodge/Data/HUD.hs 38;" C
ExamineInventory src/Dodge/Data/HUD.hs 39;" C
Explore src/Dodge/Data/Scenario.hs 4;" C
Explosion src/Dodge/Data/SoundOrigin.hs 37;" C
Explosion src/Dodge/WorldEvent/Explosion.hs 4;" m
@@ -821,7 +821,7 @@ HELD src/Dodge/Data/Item/Combine.hs 16;" C
HELDDETECTOR src/Dodge/Data/Item/Combine.hs 162;" C
HOMINGMODULE src/Dodge/Data/Item/Combine.hs 82;" C
HOSE src/Dodge/Data/Item/Combine.hs 32;" C
HUD src/Dodge/Data/HUD.hs 47;" t
HUD src/Dodge/Data/HUD.hs 48;" t
HUD src/Dodge/Data/HUD.hs 6;" m
HUD src/Dodge/Render/HUD.hs 3;" m
HUDElement src/Dodge/Data/HUD.hs 17;" t
@@ -1080,7 +1080,7 @@ Location src/Dodge/Item/Location.hs 1;" m
LocationLDT src/Dodge/Data/DoubleTree.hs 62;" t
Lock src/Dodge/Inventory/Lock.hs 1;" m
LockAndKey src/Dodge/LockAndKey.hs 1;" m
LockedInventory src/Dodge/Data/HUD.hs 44;" C
LockedInventory src/Dodge/Data/HUD.hs 45;" C
LoneWolf src/Dodge/Data/Creature/State.hs 46;" C
LongAI src/Dodge/Data/Creature/Misc.hs 60;" C
LongDoor src/Dodge/Room/LongDoor.hs 2;" m
@@ -1273,7 +1273,7 @@ NoRightButtonOptions src/Dodge/Data/RightButtonOptions.hs 14;" C
NoRoomClipBoundaries src/Dodge/Data/Config.hs 105;" C
NoShadowFidelity src/Shape/Data.hs 25;" C
NoShadows src/Dodge/Data/Config.hs 101;" C
NoSubInventory src/Dodge/Data/HUD.hs 35;" C
NoSubInventory src/Dodge/Data/HUD.hs 36;" C
NoWorldEffect src/Dodge/Data/WorldEffect.hs 24;" C
Noclip src/Dodge/Data/Config.hs 70;" C
NodeMTree src/Dodge/Tree/Compose/Data.hs 9;" C
@@ -1824,7 +1824,7 @@ Strategy src/Dodge/Creature/Strategy.hs 1;" m
StrategyActions src/Dodge/Data/ActionPlan.hs 188;" C
StrictHelp src/StrictHelp.hs 1;" m
StringHelp src/StringHelp.hs 1;" m
SubInventory src/Dodge/Data/HUD.hs 34;" t
SubInventory src/Dodge/Data/HUD.hs 35;" t
Superfluous src/Shape/Data.hs 38;" C
Surface src/Shape/Data.hs 41;" t
Survive src/Dodge/Data/Scenario.hs 5;" C
@@ -2291,16 +2291,16 @@ _camViewDistance src/Dodge/Data/Camera.hs 30;" f
_camViewFrom src/Dodge/Data/Camera.hs 29;" f
_camZoom src/Dodge/Data/Camera.hs 26;" f
_carriage src/Dodge/Data/Creature/Stance.hs 14;" f
_carteCenter src/Dodge/Data/HUD.hs 49;" f
_carteRot src/Dodge/Data/HUD.hs 51;" f
_carteZoom src/Dodge/Data/HUD.hs 50;" f
_carteCenter src/Dodge/Data/HUD.hs 50;" f
_carteRot src/Dodge/Data/HUD.hs 52;" f
_carteZoom src/Dodge/Data/HUD.hs 51;" f
_ceSideEffect src/Dodge/Data/Universe.hs 62;" f
_ceString src/Dodge/Data/Universe.hs 63;" f
_ciFilter src/Dodge/Data/HUD.hs 42;" f
_ciFilter src/Dodge/Data/HUD.hs 43;" f
_ciInvIDs src/Dodge/Data/Combine.hs 6;" f
_ciItem src/Dodge/Data/Combine.hs 7;" f
_ciSections src/Dodge/Data/HUD.hs 40;" f
_ciSelection src/Dodge/Data/HUD.hs 41;" f
_ciSections src/Dodge/Data/HUD.hs 41;" f
_ciSelection src/Dodge/Data/HUD.hs 42;" f
_cigType src/Dodge/Data/Camera.hs 19;" f
_clAlt src/Dodge/Data/Cloud.hs 23;" f
_clPict src/Dodge/Data/Cloud.hs 21;" f
@@ -2324,7 +2324,7 @@ _cldtUp src/Dodge/Data/DoubleTree.hs 46;" f
_cldtUp src/Dodge/Data/DoubleTree.hs 54;" f
_clickPos src/Dodge/Data/Input.hs 46;" f
_clickWorldPos src/Dodge/Data/Input.hs 48;" f
_closeObjects src/Dodge/Data/HUD.hs 52;" f
_closeObjects src/Dodge/Data/HUD.hs 53;" 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
@@ -2607,7 +2607,7 @@ _heldPos src/Dodge/Data/Input.hs 47;" f
_heldTriggerType src/Dodge/Data/Item/Use.hs 42;" f
_heldWorldPos src/Dodge/Data/Input.hs 49;" f
_hud src/Dodge/Data/World.hs 47;" f
_hudElement src/Dodge/Data/HUD.hs 48;" f
_hudElement src/Dodge/Data/HUD.hs 49;" f
_humanoidAI src/Dodge/Data/Creature/Misc.hs 69;" f
_iaLoaded src/Dodge/Data/Item/Use/Consumption.hs 22;" f
_iaMax src/Dodge/Data/Item/Use/Consumption.hs 21;" f
@@ -3120,7 +3120,7 @@ _tcEffect src/Dodge/Data/Terminal.hs 120;" f
_tcHelp src/Dodge/Data/Terminal.hs 119;" f
_tcString src/Dodge/Data/Terminal.hs 117;" f
_tempLightSources src/Dodge/Data/LWorld.hs 137;" f
_termID src/Dodge/Data/HUD.hs 45;" f
_termID src/Dodge/Data/HUD.hs 46;" f
_terminals src/Dodge/Data/LWorld.hs 123;" f
_teslaArcs src/Dodge/Data/LWorld.hs 113;" f
_testFloat src/Dodge/Data/World.hs 45;" f
@@ -3434,7 +3434,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 275;" f
augInvDirectSelect src/Dodge/Inventory.hs 276;" 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
@@ -3573,7 +3573,7 @@ chainLinkOrientation src/Dodge/Creature/State.hs 183;" f
chainPairs src/Geometry.hs 363;" f
changeSwapClose src/Dodge/Inventory.hs 168;" f
changeSwapSel src/Dodge/Inventory.hs 160;" f
changeSwapWith src/Dodge/Inventory.hs 269;" f
changeSwapWith src/Dodge/Inventory.hs 270;" f
charToTuple src/Picture/Base.hs 317;" f
charToTupleGrad src/Picture/Text.hs 18;" f
chargeIfEquipped src/Dodge/ItEffect.hs 54;" f
@@ -3585,7 +3585,7 @@ chaseCritMv src/Dodge/Creature/ReaderUpdate.hs 112;" f
chaseCritPerceptionUpdate src/Dodge/Creature/Perception.hs 30;" f
chaseCritVocalization src/Dodge/Creature/ChaseCrit.hs 46;" f
checkCombineSelectionExists src/Dodge/DisplayInventory.hs 99;" f
checkConnection src/Dodge/Inventory.hs 243;" f
checkConnection src/Dodge/Inventory.hs 244;" f
checkDeath src/Dodge/Creature/State.hs 75;" f
checkEndGame src/Dodge/Update.hs 680;" f
checkErrorGL src/Shader/Compile.hs 255;" f
@@ -3655,7 +3655,7 @@ colCrsWalls src/Dodge/WallCreatureCollisions.hs 17;" f
colSpark src/Dodge/Spark.hs 47;" f
colSparkRandDir src/Dodge/Spark.hs 101;" f
collectDamageTypes src/Dodge/Damage.hs 32;" f
collectInvItems src/Dodge/Update/Input/InGame.hs 225;" f
collectInvItems src/Dodge/Update/Input/InGame.hs 241;" f
collideCircWalls src/Dodge/Base/Collide.hs 149;" f
collidePoint src/Dodge/Base/Collide.hs 48;" f
collidePointTestFilter src/Dodge/Base/Collide.hs 93;" f
@@ -3689,7 +3689,7 @@ composeTree src/Dodge/Tree/Compose.hs 46;" f
computerBeepingS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 472;" f
conEffects src/Dodge/Concurrent.hs 13;" f
concBall src/Dodge/WorldEvent/SpawnParticle.hs 27;" f
concurrentIS src/Dodge/Update/Input/InGame.hs 217;" f
concurrentIS src/Dodge/Update/Input/InGame.hs 233;" f
connectItemS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 532;" f
connectionBlurb src/Dodge/Terminal.hs 102;" f
connectionBlurbLines src/Dodge/Terminal.hs 47;" f
@@ -3723,14 +3723,14 @@ crHit src/Dodge/WorldEvent/ThingsHit.hs 68;" f
crIXsNearCirc src/Dodge/Zoning/Creature.hs 30;" f
crIXsNearPoint src/Dodge/Zoning/Creature.hs 13;" f
crInAimStance src/Dodge/Creature/Test.hs 88;" f
crInvSize src/Dodge/Inventory/CheckSlots.hs 38;" f
crInvSize src/Dodge/Inventory/CheckSlots.hs 27;" f
crIsAiming src/Dodge/Creature/Test.hs 56;" f
crIsArmouredFrom src/Dodge/Creature/Test.hs 107;" f
crMvAbsolute src/Dodge/Creature/Impulse/Movement.hs 20;" f
crMvBy src/Dodge/Creature/Impulse/Movement.hs 13;" f
crMvForward src/Dodge/Creature/Impulse/Movement.hs 38;" f
crNearPoint src/Dodge/Creature/Test.hs 133;" f
crNumFreeSlots src/Dodge/Inventory/CheckSlots.hs 35;" f
crNumFreeSlots src/Dodge/Inventory/CheckSlots.hs 24;" f
crOnWall src/Dodge/WallCreatureCollisions.hs 84;" f
crSafeDistFromTarg src/Dodge/Creature/Test.hs 67;" f
crSetRoots src/Dodge/Inventory/Location.hs 48;" f
@@ -4042,7 +4042,7 @@ doPropUpdates src/Dodge/Prop/Update.hs 36;" f
doQuickload src/Dodge/Save.hs 82;" f
doQuicksave src/Dodge/Save.hs 77;" f
doRandImpulse src/Dodge/RandImpulse.hs 7;" f
doRegexInput src/Dodge/Update/Input/InGame.hs 354;" f
doRegexInput src/Dodge/Update/Input/InGame.hs 403;" f
doRoomInPlacements src/Dodge/Layout.hs 97;" f
doRoomOutPlacements src/Dodge/Layout.hs 107;" f
doRoomPlacements src/Dodge/Layout.hs 122;" f
@@ -4082,7 +4082,7 @@ doublePair src/Geometry.hs 149;" f
doublePairSet src/Geometry.hs 153;" f
doubleTreeToIndentList src/Dodge/DoubleTree.hs 72;" f
doubleV2 src/Geometry.hs 156;" f
dragInvItems src/Dodge/Update/Input/InGame.hs 202;" f
dragInvItems src/Dodge/Update/Input/InGame.hs 218;" f
drawAllShadows src/Dodge/Shadows.hs 5;" f
drawAugmentedHUD src/Dodge/Creature/State.hs 210;" f
drawBaseMachine src/Dodge/Machine/Draw.hs 57;" f
@@ -4210,7 +4210,7 @@ droneLauncher src/Dodge/Item/Weapon/Drone.hs 11;" f
dropByState src/Dodge/Creature/State.hs 118;" f
dropExcept src/Dodge/Creature/Action.hs 172;" f
dropItem src/Dodge/Creature/Action.hs 178;" f
dropSelected src/Dodge/Update/Input/InGame.hs 115;" f
dropSelected src/Dodge/Update/Input/InGame.hs 116;" f
drumMag src/Dodge/Item/Ammo.hs 48;" f
dtIL src/Dodge/DoubleTree.hs 75;" f
dtToAdjRootParent src/Dodge/DoubleTree.hs 126;" f
@@ -4290,7 +4290,6 @@ findBoundDists src/Dodge/Update/Camera.hs 235;" f
findClosePoint src/Dodge/LevelGen/StaticWalls.hs 155;" f
findClosePoint src/Dodge/LevelGen/StaticWalls/Deprecated.hs 74;" f
findIndex src/IntMapHelp.hs 85;" f
findItemSlot src/Dodge/Inventory/CheckSlots.hs 26;" f
findReverseEdge src/Polyhedra.hs 50;" f
findReverseEdgeList src/Polyhedra.hs 57;" f
findWallFreeDropPoint src/Dodge/FloorItem.hs 47;" f
@@ -4607,7 +4606,7 @@ invSelectionItem src/Dodge/Inventory/SelectionList.hs 23;" f
invSelectionItem' src/Dodge/Inventory/SelectionList.hs 20;" f
invShiftPointBy src/Dodge/ShiftPoint.hs 8;" f
invSideEff src/Dodge/Creature/State.hs 162;" f
invSize src/Dodge/Inventory/CheckSlots.hs 41;" f
invSize src/Dodge/Inventory/CheckSlots.hs 30;" f
invTrees src/Dodge/Item/Grammar.hs 198;" f
invTrees' src/Dodge/Item/Grammar.hs 202;" f
inventoryExtra src/Dodge/Render/HUD.hs 289;" f
@@ -4628,9 +4627,9 @@ invisibleWall src/Dodge/Placement/Instance/Wall.hs 16;" f
isAmmoIntLink src/Dodge/HeldUse.hs 206;" f
isAnimate src/Dodge/Creature/Test.hs 136;" f
isCognizant src/Dodge/Creature/Perception.hs 105;" f
isConnected src/Dodge/Inventory.hs 253;" f
isConnected src/Dodge/Inventory.hs 254;" f
isElectrical src/Dodge/Data/Damage.hs 42;" f
isFilteringInv src/Dodge/Inventory.hs 314;" f
isFilteringInv src/Dodge/Inventory.hs 315;" f
isFrictionless src/Dodge/Creature/State.hs 341;" f
isGas src/Dodge/Euse.hs 64;" f
isInLnk src/Dodge/PlacementSpot.hs 160;" f
@@ -4909,7 +4908,7 @@ maybeClearPath src/Dodge/Block.hs 77;" f
maybeClearPaths src/Dodge/Block.hs 74;" f
maybeDestroyBlock src/Dodge/Wall/Damage.hs 26;" f
maybeDestroyDoor src/Dodge/Wall/Damage.hs 31;" f
maybeExitCombine src/Dodge/Update/Input/InGame.hs 514;" f
maybeExitCombine src/Dodge/Update/Input/InGame.hs 563;" f
maybeOpenTerminal src/Dodge/Update.hs 123;" f
maybeReadFile src/Dodge/LoadSeed.hs 10;" f
maybeTakeOne src/RandomHelp.hs 111;" f
@@ -5134,7 +5133,7 @@ parseNum src/Dodge/Debug/Terminal.hs 73;" f
pathConnected src/Dodge/Room/CheckConsistency.hs 14;" f
pathEdgeObstructed src/Dodge/Path.hs 43;" f
pauseAndFloatCam src/Dodge/Camera.hs 10;" f
pauseGame src/Dodge/Update/Input/InGame.hs 450;" f
pauseGame src/Dodge/Update/Input/InGame.hs 499;" f
pauseMenu src/Dodge/Menu.hs 53;" f
pauseMenuOptions src/Dodge/Menu.hs 58;" f
pauseSound src/Dodge/SoundLogic.hs 41;" f
@@ -5571,8 +5570,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 283;" f
scrollAugNextInSection src/Dodge/Inventory.hs 296;" f
scrollAugInvSel src/Dodge/Inventory.hs 284;" f
scrollAugNextInSection src/Dodge/Inventory.hs 297;" f
scrollCommandStrings src/Dodge/Update/Scroll.hs 135;" f
scrollCommands src/Dodge/Update/Scroll.hs 132;" f
scrollDebugInfoInt src/Dodge/Debug.hs 47;" f
@@ -5604,7 +5603,7 @@ 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 10;" f
selectedCloseObject src/Dodge/Inventory.hs 307;" f
selectedCloseObject src/Dodge/Inventory.hs 308;" f
sensAboveDoor src/Dodge/Room/SensorDoor.hs 63;" f
sensInsideDoor src/Dodge/Room/SensorDoor.hs 69;" f
senseDamage src/Dodge/Machine/Update.hs 152;" f
@@ -5690,9 +5689,10 @@ shiftChildren src/Dodge/Tree/Compose.hs 43;" f
shiftDraw src/Dodge/Render/ShapePicture.hs 66;" f
shiftDraw' src/Dodge/Render/ShapePicture.hs 72;" f
shiftInBy src/Dodge/PlacementSpot.hs 236;" f
shiftInvItems src/Dodge/Update/Input/InGame.hs 234;" f
shiftInvItemsDown src/Dodge/Update/Input/InGame.hs 263;" f
shiftInvItemsUp src/Dodge/Update/Input/InGame.hs 257;" f
shiftInvItems src/Dodge/Update/Input/InGame.hs 279;" f
shiftInvItems' src/Dodge/Update/Input/InGame.hs 250;" f
shiftInvItemsDown src/Dodge/Update/Input/InGame.hs 312;" f
shiftInvItemsUp src/Dodge/Update/Input/InGame.hs 306;" f
shiftLinkBy src/Dodge/Room/Link.hs 87;" f
shiftPSBy src/Dodge/Placement/Shift.hs 12;" f
shiftPathBy src/Dodge/Room/Link.hs 92;" f
@@ -5791,7 +5791,7 @@ soundToVol src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 4;" f
soundWithStatus src/Dodge/SoundLogic.hs 98;" f
soundWithStatusVolume src/Dodge/SoundLogic.hs 48;" f
southPillarsRoom src/Dodge/Room/LongDoor.hs 85;" f
spaceAction src/Dodge/Update/Input/InGame.hs 453;" f
spaceAction src/Dodge/Update/Input/InGame.hs 502;" f
spanColLightBlackI src/Dodge/Placement/Instance/LightSource.hs 186;" f
spanColLightI src/Dodge/Placement/Instance/LightSource.hs 179;" f
spanLS src/Dodge/Placement/Instance/LightSource.hs 171;" f
@@ -5848,7 +5848,7 @@ stackText src/Picture/Base.hs 188;" f
stackedInventory src/Dodge/Creature.hs 281;" f
startCr src/Dodge/Creature.hs 91;" f
startCrafts src/Dodge/Room/Start.hs 92;" f
startDrag src/Dodge/Update/Input/InGame.hs 191;" f
startDrag src/Dodge/Update/Input/InGame.hs 207;" f
startInvList src/Dodge/Creature.hs 109;" f
startInventory src/Dodge/Creature.hs 112;" f
startNewGameInSlot src/Dodge/StartNewGame.hs 15;" f
@@ -5878,11 +5878,11 @@ stripZ src/Geometry/Vector3D.hs 97;" f
subInvX src/Dodge/ListDisplayParams.hs 50;" f
subMap src/TreeHelp.hs 118;" f
subZipWith src/Dodge/Placement/Instance/Wall.hs 115;" f
swapAnyExtraSelection src/Dodge/Inventory.hs 235;" f
swapAnyExtraSelection src/Dodge/Inventory.hs 236;" f
swapInOutLinks src/Dodge/RoomLink.hs 80;" f
swapIndices src/ListHelp.hs 50;" f
swapInvItems src/Dodge/Inventory.hs 185;" f
swapItemWith src/Dodge/Inventory.hs 259;" f
swapInvItems src/Dodge/Inventory.hs 186;" f
swapItemWith src/Dodge/Inventory.hs 260;" 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
@@ -5989,8 +5989,8 @@ toggleCombineInv src/Dodge/DisplayInventory.hs 31;" f
toggleCommand src/Dodge/Terminal.hs 196;" f
toggleEquipmentAt src/Dodge/Creature/Impulse/UseItem.hs 79;" f
toggleJust src/MaybeHelp.hs 41;" f
toggleMap src/Dodge/Update/Input/InGame.hs 477;" f
toggleTweakInv src/Dodge/Update/Input/InGame.hs 491;" f
toggleMap src/Dodge/Update/Input/InGame.hs 526;" f
toggleTweakInv src/Dodge/Update/Input/InGame.hs 540;" f
togglesToEffects src/Dodge/Terminal.hs 248;" f
tone440S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 474;" f
tone440sawtoothS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 444;" f
@@ -6061,11 +6061,13 @@ trunkDepth src/TreeHelp.hs 161;" f
tryAssignHotkey src/Dodge/Creature/YourControl.hs 85;" f
tryAttachBulletBelt src/Dodge/Euse.hs 40;" f
tryChargeBattery src/Dodge/Euse.hs 43;" f
tryCombine src/Dodge/Update/Input/InGame.hs 500;" f
tryCombine src/Dodge/Update/Input/InGame.hs 549;" f
tryDropSelected src/Dodge/Update/Input/InGame.hs 123;" f
tryGetChannel src/Sound.hs 96;" f
tryGetRootAttachedFromInvID src/Dodge/Inventory/Location.hs 20;" f
tryGetRootItemInvID src/Dodge/Inventory/Location.hs 29;" f
tryMeleeAttack src/Dodge/Creature/ReaderUpdate.hs 36;" f
tryPickupSelected src/Dodge/Update/Input/InGame.hs 130;" f
tryPlay src/Sound.hs 83;" f
tryPutFloorItemIDInInv src/Dodge/Inventory/Add.hs 23;" f
tryPutItemInInv src/Dodge/Inventory/Add.hs 29;" f
@@ -6107,7 +6109,7 @@ updateAllNodes src/TreeHelp.hs 85;" f
updateArc src/Dodge/Tesla/Arc.hs 86;" f
updateAttachedItems src/Dodge/Creature/State.hs 173;" f
updateAutoRecharge src/Dodge/Creature/State.hs 324;" f
updateBackspaceRegex src/Dodge/Update/Input/InGame.hs 388;" f
updateBackspaceRegex src/Dodge/Update/Input/InGame.hs 437;" f
updateBarrel src/Dodge/Barreloid.hs 45;" f
updateBarreloid src/Dodge/Barreloid.hs 13;" f
updateBounds src/Dodge/Update/Camera.hs 245;" f
@@ -6130,7 +6132,7 @@ updateDistortion src/Dodge/Distortion.hs 5;" f
updateDistortions src/Dodge/Update.hs 513;" f
updateEnergyBall src/Dodge/EnergyBall.hs 46;" f
updateEnergyBalls src/Dodge/Update.hs 540;" f
updateEnterRegex src/Dodge/Update/Input/InGame.hs 429;" f
updateEnterRegex src/Dodge/Update/Input/InGame.hs 478;" f
updateExpBarrel src/Dodge/Barreloid.hs 19;" f
updateFBOTO src/Framebuffer/Update.hs 97;" f
updateFBOTO3 src/Framebuffer/Update.hs 131;" f
@@ -6138,35 +6140,35 @@ updateFlame src/Dodge/Flame.hs 71;" f
updateFlames src/Dodge/Update.hs 537;" f
updateFlare src/Dodge/Flare.hs 7;" f
updateFloatingCamera src/Dodge/Update/Camera.hs 36;" f
updateFunctionKey src/Dodge/Update/Input/InGame.hs 280;" f
updateFunctionKeys src/Dodge/Update/Input/InGame.hs 273;" f
updateFunctionKey src/Dodge/Update/Input/InGame.hs 329;" f
updateFunctionKeys src/Dodge/Update/Input/InGame.hs 322;" f
updateGusts src/Dodge/Update.hs 691;" f
updateHeldRootItem src/Dodge/Creature/State.hs 167;" f
updateHumanoid src/Dodge/Humanoid.hs 12;" f
updateIMl src/Dodge/Update.hs 482;" f
updateIMl' src/Dodge/Update.hs 487;" f
updateInGameCamera src/Dodge/Update/Camera.hs 70;" f
updateInitialPressInGame src/Dodge/Update/Input/InGame.hs 333;" f
updateInitialPressInGame src/Dodge/Update/Input/InGame.hs 382;" f
updateInstantBullets src/Dodge/Update.hs 629;" f
updateInv src/Dodge/Creature/State.hs 152;" f
updateInventoryPositioning src/Dodge/DisplayInventory.hs 85;" f
updateItemTargeting src/Dodge/Creature/State.hs 268;" f
updateItemWithOrientation src/Dodge/Creature/State.hs 194;" f
updateKeyInGame src/Dodge/Update/Input/InGame.hs 327;" f
updateKeysInTerminal src/Dodge/Update/Input/InGame.hs 315;" f
updateKeyInGame src/Dodge/Update/Input/InGame.hs 376;" f
updateKeysInTerminal src/Dodge/Update/Input/InGame.hs 364;" f
updateLampoid src/Dodge/Lampoid.hs 12;" f
updateLaser src/Dodge/Laser/Update.hs 13;" f
updateLasers src/Dodge/Update.hs 411;" f
updateLightSources src/Dodge/Update.hs 516;" f
updateLinearShockwave src/Dodge/LinearShockwave/Update.hs 8;" f
updateLongPressInGame src/Dodge/Update/Input/InGame.hs 348;" f
updateLongPressInGame src/Dodge/Update/Input/InGame.hs 397;" f
updateMIM src/Dodge/Update.hs 642;" f
updateMachine src/Dodge/Machine/Update.hs 19;" f
updateMouseClickInGame src/Dodge/Update/Input/InGame.hs 144;" f
updateMouseClickInGame src/Dodge/Update/Input/InGame.hs 160;" f
updateMouseContext src/Dodge/Update.hs 307;" f
updateMouseHeldInGame src/Dodge/Update/Input/InGame.hs 96;" f
updateMouseInGame src/Dodge/Update/Input/InGame.hs 88;" f
updateMouseReleaseInGame src/Dodge/Update/Input/InGame.hs 122;" f
updateMouseReleaseInGame src/Dodge/Update/Input/InGame.hs 138;" f
updateMovement src/Dodge/Creature/State.hs 331;" f
updateObjCatMaybes src/Dodge/Update.hs 504;" f
updateObjMapMaybe src/Dodge/Update.hs 497;" f
@@ -6174,8 +6176,8 @@ updatePastWorlds src/Dodge/Update.hs 399;" f
updatePosEvent src/Dodge/PosEvent.hs 11;" f
updatePosEvents src/Dodge/Update.hs 549;" f
updatePreload src/Preload/Update.hs 20;" f
updatePressedButtonsCarte src/Dodge/Update/Input/InGame.hs 290;" f
updatePressedButtonsCarte' src/Dodge/Update/Input/InGame.hs 293;" f
updatePressedButtonsCarte src/Dodge/Update/Input/InGame.hs 339;" f
updatePressedButtonsCarte' src/Dodge/Update/Input/InGame.hs 342;" f
updateProjectile src/Dodge/Projectile/Update.hs 23;" f
updateProp src/Dodge/Prop/Update.hs 11;" f
updateRBList src/Dodge/Inventory/RBList.hs 16;" f