Allow filtering of combinations with mouse click on inventory

This commit is contained in:
2024-11-04 00:07:37 +00:00
parent adca54c1ef
commit fafef1275b
11 changed files with 125 additions and 80 deletions
+1 -1
View File
@@ -1 +1 @@
All good (594 modules, at 20:51:58)
All good (594 modules, at 00:06:14)
+1 -1
View File
@@ -21,6 +21,7 @@ data HUDElement
, _diInvFilter :: Maybe String
, _diCloseFilter :: Maybe String
, _diSelectionExtra :: Int
, _diMouseOver :: Maybe (Int, Int)
}
| DisplayCarte
@@ -33,7 +34,6 @@ data MouseInventorySelection
data SubInventory
= NoSubInventory
{ _nsSelected :: MouseInventorySelection
, _nsMouseOver :: Maybe (Int, Int)
}
| ExamineInventory
| CombineInventory
+1 -1
View File
@@ -162,13 +162,13 @@ defaultDisplayInventory =
DisplayInventory
{ _subInventory = NoSubInventory
{_nsSelected = MouseInvNothing
, _nsMouseOver = Just (0,3)
}
, _diSections = defaultInvSections
, _diSelection = Just (1,0)
, _diSelectionExtra = 0
, _diInvFilter = mempty
, _diCloseFilter = mempty
, _diMouseOver = Nothing
}
defaultInvSections :: IM.IntMap (SelectionSection ())
+26 -7
View File
@@ -5,10 +5,10 @@ module Dodge.DisplayInventory (
updateCombinePositioning,
) where
import Data.Bifunctor
import Dodge.Inventory
import Control.Applicative
import Control.Lens
import Control.Monad
import Data.Bifunctor
import qualified Data.IntMap.Strict as IM
import Data.Maybe
import Dodge.Base.You
@@ -18,10 +18,12 @@ import Dodge.Data.Config
import Dodge.Data.DoubleTree
import Dodge.Data.SelectionList
import Dodge.Data.Universe
import Dodge.Inventory
import Dodge.Inventory.SelectionList
import Dodge.Item.Grammar
import Dodge.ListDisplayParams
import Dodge.SelectionList
import Dodge.SelectionSections
import ListHelp
import Picture.Base
@@ -29,13 +31,14 @@ toggleCombineInv :: Universe -> Universe
toggleCombineInv uv = case uv ^? uvWorld . hud . hudElement . subInventory of
Just CombineInventory{} ->
uv & uvWorld . hud . hudElement . subInventory
.~ NoSubInventory MouseInvNothing Nothing
.~ NoSubInventory MouseInvNothing
_ -> uv & uvWorld %~ enterCombineInv (uv ^. uvConfig)
updateCombinePositioning :: Universe -> Universe
updateCombinePositioning u =
u & uvWorld . hud . hudElement . subInventory . ciSections
%~ updateCombineSections (_uvWorld u) (_uvConfig u)
& checkCombineSelectionExists
updateCombineSections ::
World ->
@@ -87,11 +90,24 @@ updateInventoryPositioning u =
-- this is possibly not completely correct
checkInventorySelectionExists :: Universe -> Universe
checkInventorySelectionExists u = fromMaybe u $ do
(i,j) <- u ^? uvWorld . hud . hudElement . diSelection . _Just
(i, j) <- (u ^? uvWorld . hud . hudElement . diSelection . _Just) <|> Just (0, -1)
Just $ case u ^? uvWorld . hud . hudElement . diSections . ix i . ssItems . ix j of
Nothing -> u & uvWorld %~ scrollAugNextInSection
_ -> u
checkCombineSelectionExists :: Universe -> Universe
checkCombineSelectionExists u = fromMaybe u $ do
sss <- u ^? uvWorld . hud . hudElement . subInventory . ciSections
(i, j) <-
u ^? uvWorld . hud . hudElement . subInventory . ciSelection . _Just
<|> Just (0, 0)
Just $ case u ^? uvWorld . hud . hudElement . subInventory . ciSections . ix i . ssItems . ix j of
Nothing ->
u & uvWorld . hud . hudElement . subInventory . ciSelection ?~ (0,-1)
& uvWorld . hud . hudElement . subInventory . ciSelection
%~ scrollSelectionSections (-1) sss
_ -> u
updateDisplaySections ::
World ->
Configuration ->
@@ -137,9 +153,10 @@ updateDisplaySections w cfig =
(fmap (first removeindentiffiltering) . allInvLocs $ _crInv cr)
-- this clearly deserves refactoring, also check if drawInventory/iextra
-- needs it at the same time
removeindentiffiltering = if maybe False isFilteringInv (w ^? hud . hudElement . diSections)
then const 0
else id
removeindentiffiltering =
if maybe False isFilteringInv (w ^? hud . hudElement . diSections)
then const 0
else id
cr = you w
filterSectionsPair ::
@@ -275,6 +292,8 @@ enterCombineInv cfig w =
sss
selpos
Nothing
& hud . hudElement . diInvFilter
.~ Nothing
where
cm' = IM.fromDistinctAscList . zip [0 ..] $ combineList w
cm
+1 -1
View File
@@ -105,7 +105,7 @@ getRootItemBounds i inv = do
drawDIMouseOver :: World -> Picture
drawDIMouseOver w = fromMaybe mempty $ do
(j, i) <- w ^? hud . hudElement . subInventory . nsMouseOver . _Just
(j, i) <- w ^? hud . hudElement . diMouseOver . _Just
sss <- w ^? hud . hudElement . diSections
let idp = invDisplayParams w
return . color (withAlpha 0.2 white) $ selSecDrawCursorAt 15 idp curs sss (j, i)
+7 -3
View File
@@ -3,6 +3,7 @@ module Dodge.SelectionSections (
nextInSectionSS,
ssLookupDown,
ssLookupGT,
ssTryLookup,
ssSetCursor,
-- setFirstPosSelectionSections,
selSecYint,
@@ -77,6 +78,12 @@ ssSetCursor f sss msel = fromMaybe msel $ do
(i, j, _) <- f sss
return $ Just (i, j)
ssTryLookup :: Maybe (Int,Int) -> IM.IntMap (SelectionSection a) -> Maybe (Int, Int, SelectionItem a)
ssTryLookup msel sss = fromMaybe (ssLookupMin sss) $ do
(i,j) <- msel
itm <- sss ^? ix i . ssItems . ix j
return $ Just (i,j,itm)
ssLookupMax :: IM.IntMap (SelectionSection a) -> Maybe (Int, Int, SelectionItem a)
ssLookupMax sss = do
(i, _) <- IM.lookupMax sss
@@ -193,8 +200,6 @@ selSecYint i j sss = do
where
secpos = sum . fmap (length . _ssShownItems) . fst $ IM.split i sss
-- it is annoying that Control.Foldl doesn't seem to allow for scans to be done
-- at the same time as folds
inverseSelSecYint :: Int -> IM.IntMap (SelectionSection a) -> Maybe (Int, Int)
inverseSelSecYint yint sss = do
((i, ss), othersss) <- IM.minViewWithKey sss
@@ -203,7 +208,6 @@ inverseSelSecYint yint sss = do
then inverseSelSecYint (yint - l) othersss
else do
let ls = L.postscan (L.premap _siHeight L.sum) (_ssItems ss)
--j <- L.fold (L.findIndex (\x -> x - _ssOffset ss > yint)) ls
(j,_) <- L.fold (L.find (\(_,x) -> x - _ssOffset ss > yint)) $ IM.toList ls
return (i, j)
+1 -1
View File
@@ -223,7 +223,7 @@ disconnectTerminal tm =
exitTerminalSubInv :: World -> World
exitTerminalSubInv w = case w ^? hud . hudElement . subInventory . termID of
Just _ -> w & hud . hudElement . subInventory
.~ NoSubInventory MouseInvNothing Nothing
.~ NoSubInventory MouseInvNothing
_ -> w
damageCodeCommand :: TerminalCommand
+1 -1
View File
@@ -23,7 +23,7 @@ import qualified IntMapHelp as IM
testStringInit :: Universe -> [String]
testStringInit u = [show $ u ^? uvWorld . hud . hudElement . diSelection . _Just
, show $ u ^? uvWorld . cWorld . lWorld . creatures . ix 0 . crManipulation . manObject
, show $ u ^? uvWorld . hud . hudElement . subInventory . nsMouseOver . _Just
, show $ u ^? uvWorld . hud . hudElement . diMouseOver . _Just
, show $ fmap fst $ IM.lookupMin =<< (u ^? uvWorld . hud . hudElement . diSections . ix 0 . ssItems)
-- , show . fmap (fmap _siPictures) $ u ^? uvWorld . hud . hudElement . diSections . ix (-1) . ssItems
]
+2 -2
View File
@@ -294,7 +294,7 @@ checkTermDist w = fromMaybe w $ do
guard $ dist btpos (_crPos $ you w) > 40
return $
w & hud . hudElement . subInventory
.~ NoSubInventory MouseInvNothing Nothing
.~ NoSubInventory MouseInvNothing
updateMouseInventorySelection :: Configuration -> World -> World
updateMouseInventorySelection cfig w = fromMaybe w $ do
@@ -382,7 +382,7 @@ updateMouseOverInventory :: Configuration -> World -> World
updateMouseOverInventory cfig w = fromMaybe w $ do
sss <- w ^? hud . hudElement . diSections
return $
w & hud . hudElement . subInventory . nsMouseOver
w & hud . hudElement . diMouseOver
.~ inverseSelNumPos cfig ldp sss (w ^. input . mousePos)
where
ldp = invDisplayParams w
+48 -27
View File
@@ -2,7 +2,7 @@ module Dodge.Update.Input.InGame (
updateUseInputInGame,
) where
import Dodge.SoundLogic
import Control.Monad
import Control.Applicative
import qualified Data.IntMap.Strict as IM
import Data.List (sort)
@@ -23,6 +23,7 @@ import Dodge.Inventory.Add
import Dodge.Menu
import Dodge.Save
import Dodge.SelectionSections
import Dodge.SoundLogic
import Dodge.Terminal.LeftButton
import Dodge.Update.Input.Text
import Dodge.WorldPos
@@ -40,16 +41,13 @@ updateUseInputInGame u = case u ^. uvWorld . hud . hudElement of
| inTermFocus (_uvWorld u) -> updateKeysInTerminal tmid u
| lbinitialpress ->
u & uvWorld . cWorld . lWorld . terminals . ix tmid . tmInput . tiFocus %~ const True
CombineInventory{_ciSections = sss, _ciSelection = msel}
CombineInventory{_ciSections = sss, _ciSelection = msel}
| lbinitialpress -> u & uvWorld %~ updateCombineInvClick msel sss
| inSubInvRegex (u ^. uvWorld) ->
u
& uvWorld . hud . hudElement . subInventory
%~ docombineregexinput
%~ docombineregexinput sss msel
& uvWorld . worldEventFlags . at CombineInventoryChange ?~ ()
| lbinitialpress ->
(uvWorld . worldEventFlags . at InventoryChange ?~ ()) . maybeExitCombine $
over uvWorld (tryCombine sss msel) u
& uvWorld . worldEventFlags . at CombineInventoryChange ?~ ()
_
| inInvRegex (u ^. uvWorld) ->
u & uvWorld . hud . hudElement %~ dodisplayregexinput (-1)
@@ -67,15 +65,6 @@ updateUseInputInGame u = case u ^. uvWorld . hud . hudElement of
w = u ^. uvWorld
pkeys = u ^. uvWorld . input . pressedKeys
lbinitialpress = u ^? uvWorld . input . mouseButtons . ix ButtonLeft == Just 0
docombineregexinput ci = fromMaybe ci $ do
sss <- ci ^? ciSections
msel <- ci ^? ciSelection
filts <- ci ^? ciFilter
let (sss', msel', filts') = doRegexInput (u ^. uvWorld . input) (-1) sss msel filts
return $
ci & ciSections .~ sss'
& ciSelection .~ msel'
& ciFilter .~ filts'
dodisplayregexinput x di = fromMaybe di $ do
sss <- di ^? diSections
msel <- di ^? diSelection
@@ -94,6 +83,37 @@ updateUseInputInGame u = case u ^. uvWorld . hud . hudElement of
di & diSections .~ sss'
& diSelection .~ msel'
& diCloseFilter .~ filts'
docombineregexinput sss msel ci = fromMaybe ci $ do
filts <- ci ^? ciFilter
let (sss', msel', filts') = doRegexInput (u ^. uvWorld . input) (-1) sss msel filts
return $
ci & ciSections .~ sss'
& ciSelection .~ msel'
& ciFilter .~ filts'
updateCombineInvClick ::
Maybe (Int, Int) ->
IM.IntMap (SelectionSection CombinableItem) ->
World ->
World
updateCombineInvClick msel sss w = fromMaybe trydocombination $ do
(i,j) <- w ^? hud . hudElement . diMouseOver . _Just
guard $ i == 0
str <- fmap (take 5) $ w ^? hud . hudElement . diSections . ix i . ssItems . ix j . siPictures . ix 0
return . (worldEventFlags . at CombineInventoryChange ?~ ()) $ case w ^? hud . hudElement . subInventory . ciFilter . _Just of
Just (_:xs) | str == xs -> w
& hud . hudElement . subInventory . ciFilter .~ Nothing
_ -> w & hud . hudElement . subInventory . ciFilter ?~ ("<" ++ str)
where
trydocombination =
(worldEventFlags . at InventoryChange ?~ ()) . maybeExitCombine $
tryCombine sss msel w
& worldEventFlags . at CombineInventoryChange ?~ ()
--checkCombineSelectionExists :: SubInventory -> SubInventory
--checkCombineSelectionExists x@CombineInventory{_ciSections=sss,_ciSelection=msel}
-- = x & ciSelection %~ ssSetCursor (ssTryLookup msel) sss
--checkCombineSelectionExists x = x
updatePressedButtonsCarte :: World -> World
updatePressedButtonsCarte w = updatePressedButtonsCarte' (_mouseButtons (_input w)) w
@@ -276,11 +296,11 @@ spaceAction w = case w ^. hud . hudElement of
_ -> w
DisplayInventory{_subInventory = DisplayTerminal{}} ->
w & hud . hudElement . subInventory
.~ NoSubInventory MouseInvNothing Nothing
.~ NoSubInventory MouseInvNothing
& worldEventFlags . at InventoryChange ?~ ()
_ ->
w & hud . hudElement . subInventory
.~ NoSubInventory MouseInvNothing Nothing
.~ NoSubInventory MouseInvNothing
where
theLoc =
doWorldPos
@@ -292,13 +312,14 @@ toggleMap u = case u ^. uvWorld . hud . hudElement of
DisplayCarte ->
u & uvWorld . hud . hudElement
.~ DisplayInventory
{ _subInventory = NoSubInventory MouseInvNothing Nothing
{ _subInventory = NoSubInventory MouseInvNothing
, _diSections = defaultInvSections
, _diSelection = Nothing
, _diSelectionExtra = 0
-- , _diFilters = IM.fromList [(-1, mempty), (2, mempty)]
, _diInvFilter = mempty
, -- , _diFilters = IM.fromList [(-1, mempty), (2, mempty)]
_diInvFilter = mempty
, _diCloseFilter = mempty
, _diMouseOver = Nothing
}
_ -> u & uvWorld . hud . hudElement .~ DisplayCarte
@@ -306,7 +327,7 @@ toggleTweakInv :: World -> World
toggleTweakInv w = case w ^? hud . hudElement . subInventory of
Just ExamineInventory{} ->
w
& thepointer .~ NoSubInventory MouseInvNothing Nothing
& thepointer .~ NoSubInventory MouseInvNothing
_ -> w & thepointer .~ ExamineInventory -- mi
where
thepointer = hud . hudElement . subInventory
@@ -325,9 +346,9 @@ tryCombine sss msel w = fromMaybe w $ do
& cWorld . lWorld . creatures . ix 0 . crHammerPosition .~ HammerDown
& soundStart InventorySound p wrench1S Nothing
maybeExitCombine :: Universe -> Universe
maybeExitCombine u
| ButtonRight `M.member` (u ^. uvWorld . input . mouseButtons) = u
maybeExitCombine :: World -> World
maybeExitCombine w
| ButtonRight `M.member` (w ^. input . mouseButtons) = w
| otherwise =
u & uvWorld . hud . hudElement . subInventory
.~ NoSubInventory MouseInvNothing Nothing
w & hud . hudElement . subInventory
.~ NoSubInventory MouseInvNothing
+36 -35
View File
@@ -511,7 +511,7 @@ 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 25;" C
DisplayCarte src/Dodge/Data/HUD.hs 26;" C
DisplayInventory src/Dodge/Data/HUD.hs 17;" C
DisplayInventory src/Dodge/DisplayInventory.hs 2;" m
DisplayTerminal src/Dodge/Data/HUD.hs 45;" C
@@ -1186,10 +1186,10 @@ MountedLS src/Dodge/Data/MountedObject.hs 12;" C
MountedObject src/Dodge/Data/MountedObject.hs 11;" t
MountedObject src/Dodge/Data/MountedObject.hs 6;" m
MountedProp src/Dodge/Data/MountedObject.hs 13;" C
MouseInvDrag src/Dodge/Data/HUD.hs 30;" C
MouseInvNothing src/Dodge/Data/HUD.hs 31;" C
MouseInvSelect src/Dodge/Data/HUD.hs 28;" C
MouseInventorySelection src/Dodge/Data/HUD.hs 27;" t
MouseInvDrag src/Dodge/Data/HUD.hs 31;" C
MouseInvNothing src/Dodge/Data/HUD.hs 32;" C
MouseInvSelect src/Dodge/Data/HUD.hs 29;" C
MouseInventorySelection src/Dodge/Data/HUD.hs 28;" t
Mouse_position src/Dodge/Data/Config.hs 73;" C
Move src/Dodge/Data/ActionPlan.hs 28;" C
Move src/Dodge/Wall/Move.hs 3;" m
@@ -1265,7 +1265,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 34;" C
NoSubInventory src/Dodge/Data/HUD.hs 35;" 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
@@ -1807,7 +1807,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 33;" t
SubInventory src/Dodge/Data/HUD.hs 34;" t
Superfluous src/Shape/Data.hs 38;" C
Surface src/Shape/Data.hs 41;" t
Survive src/Dodge/Data/Scenario.hs 5;" C
@@ -2418,6 +2418,7 @@ _delayedEvents src/Dodge/Data/LWorld.hs 131;" f
_dexterity src/Dodge/Data/Creature/Misc.hs 22;" f
_diCloseFilter src/Dodge/Data/HUD.hs 22;" f
_diInvFilter src/Dodge/Data/HUD.hs 21;" f
_diMouseOver src/Dodge/Data/HUD.hs 24;" f
_diSections src/Dodge/Data/HUD.hs 19;" f
_diSelection src/Dodge/Data/HUD.hs 20;" f
_diSelectionExtra src/Dodge/Data/HUD.hs 23;" f
@@ -2742,8 +2743,8 @@ _mgField src/Dodge/Data/Magnet.hs 25;" f
_mgID src/Dodge/Data/Magnet.hs 22;" f
_mgPos src/Dodge/Data/Magnet.hs 24;" f
_mgUpdate src/Dodge/Data/Magnet.hs 23;" f
_misMaybeEnd src/Dodge/Data/HUD.hs 29;" f
_misSelStart src/Dodge/Data/HUD.hs 29;" f
_misMaybeEnd src/Dodge/Data/HUD.hs 30;" f
_misSelStart src/Dodge/Data/HUD.hs 30;" f
_moEff src/Dodge/Data/Universe.hs 101;" f
_moEff1 src/Dodge/Data/Universe.hs 105;" f
_moEff2 src/Dodge/Data/Universe.hs 106;" f
@@ -2775,8 +2776,7 @@ _newArcStep src/Dodge/Data/Item/Params.hs 25;" f
_nodeMetaTree src/Dodge/Tree/Compose/Data.hs 9;" f
_nodeTree src/Dodge/Tree/Compose/Data.hs 9;" f
_nodesSearched src/Dodge/Data/Creature/Memory.hs 15;" f
_nsMouseOver src/Dodge/Data/HUD.hs 36;" f
_nsSelected src/Dodge/Data/HUD.hs 35;" f
_nsSelected src/Dodge/Data/HUD.hs 36;" f
_numLinkEW src/Dodge/Data/Room.hs 33;" f
_numLinkNS src/Dodge/Data/Room.hs 34;" f
_numberFloorVerxs src/Dodge/Data/CWorld.hs 32;" f
@@ -4015,7 +4015,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 166;" f
doRegexInput src/Dodge/Update/Input/InGame.hs 179;" f
doRoomInPlacements src/Dodge/Layout.hs 97;" f
doRoomOutPlacements src/Dodge/Layout.hs 107;" f
doRoomPlacements src/Dodge/Layout.hs 122;" f
@@ -4568,11 +4568,11 @@ invTrees' src/Dodge/Item/Grammar.hs 200;" f
inventoryExtra src/Dodge/Render/HUD.hs 269;" f
inventoryExtraH src/Dodge/Render/HUD.hs 280;" f
inventoryX src/Dodge/Creature.hs 115;" f
inverseSelBoundaryDown src/Dodge/SelectionSections.hs 250;" f
inverseSelBoundaryUp src/Dodge/SelectionSections.hs 237;" f
inverseSelNumPos src/Dodge/SelectionSections.hs 228;" f
inverseSelSecYint src/Dodge/SelectionSections.hs 198;" f
inverseSelSecYintXPosCheck src/Dodge/SelectionSections.hs 209;" f
inverseSelBoundaryDown src/Dodge/SelectionSections.hs 248;" f
inverseSelBoundaryUp src/Dodge/SelectionSections.hs 235;" f
inverseSelNumPos src/Dodge/SelectionSections.hs 226;" f
inverseSelSecYint src/Dodge/SelectionSections.hs 196;" f
inverseSelSecYintXPosCheck src/Dodge/SelectionSections.hs 207;" f
inverseShockwaveAt src/Dodge/WorldEvent/Shockwave.hs 43;" f
invertEncircleDistP src/Dodge/Creature/Boid.hs 13;" f
invertIntMap src/IntMapHelp.hs 99;" f
@@ -4860,7 +4860,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 328;" f
maybeExitCombine src/Dodge/Update/Input/InGame.hs 342;" f
maybeOpenTerminal src/Dodge/Update.hs 116;" f
maybeReadFile src/Dodge/LoadSeed.hs 10;" f
maybeTakeOne src/RandomHelp.hs 111;" f
@@ -5089,7 +5089,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 263;" f
pauseGame src/Dodge/Update/Input/InGame.hs 276;" f
pauseMenu src/Dodge/Menu.hs 53;" f
pauseMenuOptions src/Dodge/Menu.hs 58;" f
pauseSound src/Dodge/SoundLogic.hs 41;" f
@@ -5687,9 +5687,9 @@ showEquipItem src/Dodge/Item/Display.hs 68;" f
showEquipmentNumber src/Dodge/Item/Display.hs 110;" f
showInt src/Dodge/Item/Info.hs 31;" f
showIntsString src/Dodge/Tree/Compose.hs 129;" f
showManObj src/Dodge/TestString.hs 48;" f
showManObj src/Dodge/TestString.hs 49;" f
showTerminalError src/Dodge/Debug/Terminal.hs 76;" f
showTimeFlow src/Dodge/TestString.hs 95;" f
showTimeFlow src/Dodge/TestString.hs 96;" f
shrinkPolyOnEdges src/Geometry/Polygon.hs 136;" f
shrinkVert src/Geometry/Polygon.hs 140;" f
shuffle src/RandomHelp.hs 49;" f
@@ -5746,7 +5746,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 266;" f
spaceAction src/Dodge/Update/Input/InGame.hs 279;" 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
@@ -5938,8 +5938,8 @@ toggleCombineInv src/Dodge/DisplayInventory.hs 28;" f
toggleCommand src/Dodge/Terminal.hs 194;" f
toggleEquipmentAt src/Dodge/Creature/Impulse/UseItem.hs 75;" f
toggleJust src/MaybeHelp.hs 41;" f
toggleMap src/Dodge/Update/Input/InGame.hs 290;" f
toggleTweakInv src/Dodge/Update/Input/InGame.hs 305;" f
toggleMap src/Dodge/Update/Input/InGame.hs 303;" f
toggleTweakInv src/Dodge/Update/Input/InGame.hs 319;" f
togglesToEffects src/Dodge/Terminal.hs 245;" f
tone440S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 474;" f
tone440sawtoothS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 444;" f
@@ -5947,7 +5947,7 @@ tone440sawtoothquietS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 332;" f
topInvW src/Dodge/ListDisplayParams.hs 53;" f
topPrismEdgeIndices src/Shader/Poke.hs 327;" f
topPrismIndices src/Shader/Poke.hs 402;" f
topTestPart src/Dodge/TestString.hs 44;" f
topTestPart src/Dodge/TestString.hs 45;" f
torch src/Dodge/Item/Held/Utility.hs 26;" f
torchShape src/Dodge/Item/Draw/SPic.hs 213;" f
torqueCr src/Dodge/WorldEffect.hs 70;" f
@@ -6010,7 +6010,7 @@ 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 314;" f
tryCombine src/Dodge/Update/Input/InGame.hs 328;" f
tryGetChannel src/Sound.hs 96;" f
tryGetRootAttachedFromInvID src/Dodge/Inventory/Location.hs 19;" f
tryGetRootItemInvID src/Dodge/Inventory/Location.hs 28;" f
@@ -6056,7 +6056,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 201;" f
updateBackspaceRegex src/Dodge/Update/Input/InGame.hs 214;" f
updateBarrel src/Dodge/Barreloid.hs 45;" f
updateBarreloid src/Dodge/Barreloid.hs 13;" f
updateBounds src/Dodge/Update/Camera.hs 245;" f
@@ -6067,6 +6067,7 @@ updateCamera src/Dodge/Update/Camera.hs 31;" f
updateCloseObjects src/Dodge/Inventory.hs 117;" f
updateCloud src/Dodge/Update.hs 712;" f
updateClouds src/Dodge/Update.hs 556;" f
updateCombineInvClick src/Dodge/Update/Input/InGame.hs 94;" f
updateCombinePositioning src/Dodge/DisplayInventory.hs 35;" f
updateCombineSections src/Dodge/DisplayInventory.hs 40;" f
updateCreature src/Dodge/Creature/Update.hs 10;" f
@@ -6079,7 +6080,7 @@ updateDistortion src/Dodge/Distortion.hs 5;" f
updateDistortions src/Dodge/Update.hs 517;" f
updateEnergyBall src/Dodge/EnergyBall.hs 46;" f
updateEnergyBalls src/Dodge/Update.hs 544;" f
updateEnterRegex src/Dodge/Update/Input/InGame.hs 242;" f
updateEnterRegex src/Dodge/Update/Input/InGame.hs 255;" f
updateExpBarrel src/Dodge/Barreloid.hs 19;" f
updateFBOTO src/Framebuffer/Update.hs 97;" f
updateFBOTO3 src/Framebuffer/Update.hs 131;" f
@@ -6093,20 +6094,20 @@ updateHumanoid src/Dodge/Humanoid.hs 12;" f
updateIMl src/Dodge/Update.hs 486;" f
updateIMl' src/Dodge/Update.hs 491;" f
updateInGameCamera src/Dodge/Update/Camera.hs 70;" f
updateInitialPressInGame src/Dodge/Update/Input/InGame.hs 140;" f
updateInitialPressInGame src/Dodge/Update/Input/InGame.hs 153;" f
updateInstantBullets src/Dodge/Update.hs 633;" f
updateInv src/Dodge/Creature/State.hs 152;" f
updateInventoryPositioning src/Dodge/DisplayInventory.hs 81;" f
updateItemTargeting src/Dodge/Creature/State.hs 268;" f
updateItemWithOrientation src/Dodge/Creature/State.hs 194;" f
updateKeyInGame src/Dodge/Update/Input/InGame.hs 134;" f
updateKeysInTerminal src/Dodge/Update/Input/InGame.hs 123;" f
updateKeyInGame src/Dodge/Update/Input/InGame.hs 147;" f
updateKeysInTerminal src/Dodge/Update/Input/InGame.hs 136;" f
updateLampoid src/Dodge/Lampoid.hs 12;" f
updateLaser src/Dodge/Laser/Update.hs 13;" f
updateLasers src/Dodge/Update.hs 415;" f
updateLightSources src/Dodge/Update.hs 520;" f
updateLinearShockwave src/Dodge/LinearShockwave/Update.hs 8;" f
updateLongPressInGame src/Dodge/Update/Input/InGame.hs 160;" f
updateLongPressInGame src/Dodge/Update/Input/InGame.hs 173;" f
updateMIM src/Dodge/Update.hs 646;" f
updateMachine src/Dodge/Machine/Update.hs 16;" f
updateMouseInventorySelection src/Dodge/Update.hs 299;" f
@@ -6119,8 +6120,8 @@ updatePastWorlds src/Dodge/Update.hs 403;" f
updatePosEvent src/Dodge/PosEvent.hs 11;" f
updatePosEvents src/Dodge/Update.hs 553;" f
updatePreload src/Preload/Update.hs 20;" f
updatePressedButtonsCarte src/Dodge/Update/Input/InGame.hs 98;" f
updatePressedButtonsCarte' src/Dodge/Update/Input/InGame.hs 101;" f
updatePressedButtonsCarte src/Dodge/Update/Input/InGame.hs 111;" f
updatePressedButtonsCarte' src/Dodge/Update/Input/InGame.hs 114;" 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
@@ -6154,7 +6155,7 @@ updateUniverse src/Dodge/Update.hs 69;" f
updateUniverseFirst src/Dodge/Update.hs 80;" f
updateUniverseLast src/Dodge/Update.hs 126;" f
updateUniverseMid src/Dodge/Update.hs 147;" f
updateUseInputInGame src/Dodge/Update/Input/InGame.hs 33;" f
updateUseInputInGame src/Dodge/Update/Input/InGame.hs 34;" f
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