diff --git a/src/Dodge/Item/MagAmmoType.hs b/src/Dodge/Item/MagAmmoType.hs index c4044c251..51022175b 100644 --- a/src/Dodge/Item/MagAmmoType.hs +++ b/src/Dodge/Item/MagAmmoType.hs @@ -1,9 +1,6 @@ {-# LANGUAGE LambdaCase #-} -module Dodge.Item.MagAmmoType ( - magAmmoType, - magMax, -) where +module Dodge.Item.MagAmmoType (magAmmoType) where import Control.Lens import Dodge.Data.AmmoType @@ -25,6 +22,3 @@ mAT = \case SHELLMAG -> LauncherAmmo BATTERY -> ElectricalAmmo CHEMFUELPOUCH -> GasAmmo - -magMax :: Item -> Maybe Int -magMax _ = Just 100 diff --git a/src/Dodge/Room/Tutorial.hs b/src/Dodge/Room/Tutorial.hs index 952243320..309ac8f66 100644 --- a/src/Dodge/Room/Tutorial.hs +++ b/src/Dodge/Room/Tutorial.hs @@ -436,13 +436,16 @@ loadAmmoTut = do . addDoorAtNthLinkToggleInterrupt 0 ["DOOR LOCKDOWN ACTIVE"] j =<< shuffleLinks =<< roomRectAutoLights 100 100 + droom <- distributerRoom BulletAmmo (10 ^ (8::Int)) return $ tToBTree "loadAmmoTest" $ - treeFromPost + treePost [amrm & rmPmnts .:~ sps (PS 50 0) (PutFlIt (drumMag & itConsumables ?~ 90)) , triggerDoorRoom i , wprm & rmPmnts .:~ sps (PS 50 0) (PutFlIt burstRifle) - ] (triggerDoorRoom j) + , triggerDoorRoom j + , droom + ] putSingleLight :: Room -> State LayoutVars Room putSingleLight rm = do diff --git a/src/Dodge/WorldEffect.hs b/src/Dodge/WorldEffect.hs index eee6b5efb..43cdc8927 100644 --- a/src/Dodge/WorldEffect.hs +++ b/src/Dodge/WorldEffect.hs @@ -6,6 +6,7 @@ module Dodge.WorldEffect ( doTmWdWd, ) where +import Dodge.Item.MaxAmmo import ShortShow import Data.Traversable (mapAccumR) import Dodge.Item.MagAmmoType @@ -148,7 +149,7 @@ distributeAmmoToYou atype x w = fromMaybe (0,w) $ do distributeAmmoToItem :: Int -> Item -> (Int,Int) distributeAmmoToItem x itm = fromMaybe (x,0) $ do - m <- magMax itm + m <- maxAmmo itm cur <- itm ^. itConsumables let d = m - cur t = max 0 $ min x d diff --git a/src/TreeHelp.hs b/src/TreeHelp.hs index 9ada5a35e..6bf9cbbb4 100644 --- a/src/TreeHelp.hs +++ b/src/TreeHelp.hs @@ -27,6 +27,7 @@ module TreeHelp ( safeUpdateSingleNode, numTraversable, treeAttachDeep, + subtree, ) where import Control.Lens @@ -49,12 +50,7 @@ treePost xs = treeFromPost (init xs) (last xs) {- | Creates a tree with one trunk branch, input as a list, that ends in another tree. -} -treeFromTrunk :: - -- | The trunk - [a] -> - -- | The end of the tree - Tree a -> - Tree a +treeFromTrunk :: [a] -> Tree a -> Tree a treeFromTrunk = flip $ foldr f where f x t = Node x [t] @@ -72,6 +68,12 @@ applyToSubtree :: [Int] -> (Tree a -> Tree a) -> Tree a -> Tree a applyToSubtree [] f t = f t applyToSubtree (i : is) f (Node x xs) = Node x (xs & ix i %~ applyToSubtree is f) +-- the following is probably better, but hasn't been checked +subtree :: (Applicative g,Foldable f) => f Int -> (Tree b -> g (Tree b)) -> Tree b -> g (Tree b) +subtree = foldr f id + where + f i g = (branches . ix i) . g + {- | Applies a function to a specific subforest determined by a list of indices. Partial. -} diff --git a/tags b/tags index fc67ed843..2d5b300f3 100644 --- a/tags +++ b/tags @@ -2530,7 +2530,7 @@ aRadarPulse src/Dodge/RadarSweep.hs 20;" f aShape src/Dodge/Placement/Instance/LightSource.hs 95;" f aSound src/Dodge/SoundLogic.hs 74;" f aTreeStrut src/Dodge/Tree/GenerateStructure.hs 42;" f -accessTerminal src/Dodge/WorldEffect.hs 63;" f +accessTerminal src/Dodge/WorldEffect.hs 64;" f activateDetonator src/Dodge/Creature/Impulse/UseItem.hs 63;" f activeTargetCursorPic src/Dodge/Targeting/Draw.hs 31;" f addArmour src/Dodge/Creature.hs 82;" f @@ -2568,7 +2568,7 @@ addRandomGirderFrom src/Dodge/Room/Girder.hs 16;" f addSideEffect src/Dodge/Concurrent.hs 29;" f addSouthPillars src/Dodge/Room/LongDoor.hs 92;" f addTermSignal src/Dodge/Event/Input.hs 31;" f -addToTrunk src/TreeHelp.hs 157;" f +addToTrunk src/TreeHelp.hs 159;" f addWarningTerminal src/Dodge/Room/Warning.hs 98;" f addZ src/Geometry/Vector3D.hs 89;" f adjustIMZone src/Dodge/Base.hs 81;" f @@ -2621,10 +2621,10 @@ applySoundCME src/Dodge/HeldUse.hs 476;" f applyTerminalCommand src/Dodge/Debug/Terminal.hs 28;" f applyTerminalCommandArguments src/Dodge/Debug/Terminal.hs 44;" f applyTerminalString src/Dodge/Debug/Terminal.hs 22;" f -applyToNode src/TreeHelp.hs 65;" f -applyToRandomNode src/TreeHelp.hs 151;" f -applyToSubforest src/TreeHelp.hs 78;" f -applyToSubtree src/TreeHelp.hs 71;" f +applyToNode src/TreeHelp.hs 61;" f +applyToRandomNode src/TreeHelp.hs 153;" f +applyToSubforest src/TreeHelp.hs 80;" f +applyToSubtree src/TreeHelp.hs 67;" f applyTorqueCME src/Dodge/HeldUse.hs 595;" f applyWorldConfig src/Dodge/Config.hs 55;" f aquamarine src/Color.hs 50;" f @@ -3220,8 +3220,8 @@ displayPulse src/Dodge/Inventory/SelectionList.hs 176;" f displayTerminalLineString src/Dodge/Update.hs 564;" f dist src/Geometry/Vector.hs 187;" f dist3 src/Geometry/Vector3D.hs 101;" f -distributeAmmoToItem src/Dodge/WorldEffect.hs 149;" f -distributeAmmoToYou src/Dodge/WorldEffect.hs 137;" f +distributeAmmoToItem src/Dodge/WorldEffect.hs 150;" f +distributeAmmoToYou src/Dodge/WorldEffect.hs 138;" f distributerRoom src/Dodge/Room/Room.hs 429;" f divTo src/Geometry/Zone.hs 8;" f divideCircle src/Geometry.hs 321;" f @@ -3245,8 +3245,8 @@ doCrGroupUpdate src/Dodge/CrGroupUpdate.hs 5;" f doCrImp src/Dodge/CreatureEffect.hs 13;" f doCrWdAc src/Dodge/CreatureEffect.hs 48;" f doDamage src/Dodge/Creature/State.hs 43;" f -doDeathToggle src/Dodge/WorldEffect.hs 98;" f -doDeathTriggers src/Dodge/WorldEffect.hs 91;" f +doDeathToggle src/Dodge/WorldEffect.hs 99;" f +doDeathTriggers src/Dodge/WorldEffect.hs 92;" f doDebugGet src/Dodge/Debug.hs 145;" f doDebugPut src/Dodge/Debug.hs 134;" f doDebugTest src/Dodge/Update/Input/DebugTest.hs 23;" f @@ -3291,12 +3291,12 @@ doTextInputOver src/Dodge/Update/Input/Text.hs 15;" f doTextInputOverUniverse src/Dodge/Update/Input/Text.hs 12;" f doThrust src/Dodge/Projectile/Update.hs 132;" f doTimeScroll src/Dodge/Update.hs 233;" f -doTmWdWd src/Dodge/WorldEffect.hs 101;" f +doTmWdWd src/Dodge/WorldEffect.hs 102;" f doWallRotate src/Dodge/Update/Camera.hs 231;" f doWdBl src/Dodge/WorldBool.hs 10;" f doWdCrBl src/Dodge/CreatureEffect.hs 18;" f doWdP2f src/Dodge/WdP2f.hs 10;" f -doWdWd src/Dodge/WorldEffect.hs 34;" f +doWdWd src/Dodge/WorldEffect.hs 35;" f doWorldEvents src/Dodge/Update.hs 488;" f doWorldPos src/Dodge/WorldPos.hs 10;" f door src/Dodge/Room/Door.hs 14;" f @@ -3510,7 +3510,7 @@ errorIsLHS src/Geometry.hs 65;" f errorNormalizeV src/Geometry.hs 54;" f errorPointInPolygon src/Geometry.hs 46;" f evenOddSplit src/Dodge/Base.hs 160;" f -exitTerminalSubInv src/Dodge/WorldEffect.hs 169;" f +exitTerminalSubInv src/Dodge/WorldEffect.hs 170;" f expandLine src/Dodge/Picture.hs 30;" f expandPolyBy src/Dodge/LevelGen/StaticWalls.hs 91;" f expandPolyByFixed src/Dodge/LevelGen/StaticWalls.hs 97;" f @@ -3641,8 +3641,8 @@ getCloseObj src/Dodge/Update/Input/InGame.hs 509;" f getCommand src/Dodge/Terminal.hs 61;" f getCommands src/Dodge/Terminal.hs 58;" f getCrMoveSpeed src/Dodge/Creature/Statistics.hs 47;" f -getCrsFromRooms src/Dodge/Room/Tutorial.hs 564;" f -getCrsFromRooms' src/Dodge/Room/Tutorial.hs 551;" f +getCrsFromRooms src/Dodge/Room/Tutorial.hs 567;" f +getCrsFromRooms' src/Dodge/Room/Tutorial.hs 554;" f getDebugMouseOver src/Dodge/Update.hs 449;" f getDistortions src/Dodge/Render.hs 443;" f getEdgesCrossing src/Dodge/Path.hs 37;" f @@ -3659,7 +3659,7 @@ getPJStabiliser src/Dodge/HeldUse.hs 1271;" f getPretty src/AesonHelp.hs 8;" f getPromptTM src/Dodge/Terminal/Type.hs 3;" f getRoomFromID src/Dodge/Room/Modify.hs 31;" f -getRoomsFromInts src/Dodge/Room/Tutorial.hs 547;" f +getRoomsFromInts src/Dodge/Room/Tutorial.hs 550;" f getRootItemBounds src/Dodge/Render/HUD.hs 106;" f getRootItemInvID src/Dodge/Inventory/Location.hs 36;" f getSelectedCloseObj src/Dodge/SelectedClose.hs 14;" f @@ -3802,7 +3802,7 @@ initializeGLState src/Preload/Render.hs 255;" f initializeOptionMenu src/Dodge/Menu/Option.hs 17;" f initializeOptionMenuBO src/Dodge/Menu/Option.hs 30;" f initializeTexture2D src/Framebuffer/Update.hs 215;" f -inorderNumberTree src/TreeHelp.hs 190;" f +inorderNumberTree src/TreeHelp.hs 192;" f insertAt src/Padding.hs 63;" f insertIMInZone src/Dodge/Base.hs 54;" f insertInTrie src/SimpleTrie.hs 24;" f @@ -4003,7 +4003,7 @@ launcherCrit src/Dodge/Creature/LauncherCrit.hs 12;" f layoutLevelFromSeed src/Dodge/LevelGen.hs 42;" f ldpRect src/Dodge/Render/List.hs 48;" f ldpSelection src/Dodge/Update/Input/ScreenLayer.hs 84;" f -leaveResetQuitTerminal src/Dodge/WorldEffect.hs 163;" f +leaveResetQuitTerminal src/Dodge/WorldEffect.hs 164;" f led src/Dodge/Item/Held/Utility.hs 23;" f left src/DoubleStack.hs 16;" f leftChildList src/Dodge/Item/Grammar.hs 193;" f @@ -4088,11 +4088,10 @@ lsPosRad src/Dodge/LightSource.hs 18;" f ltAutoCrit src/Dodge/Creature/LtAutoCrit.hs 12;" f ltToCol src/Dodge/Laser/Update.hs 37;" f m src/ShortShow.hs 48;" f -mAT src/Dodge/Item/MagAmmoType.hs 20;" f +mAT src/Dodge/Item/MagAmmoType.hs 17;" f machinePistol src/Dodge/Item/Held/Stick.hs 24;" f magAmmoParams src/Dodge/HeldUse.hs 957;" f -magAmmoType src/Dodge/Item/MagAmmoType.hs 12;" f -magMax src/Dodge/Item/MagAmmoType.hs 29;" f +magAmmoType src/Dodge/Item/MagAmmoType.hs 9;" f magShield src/Dodge/Item/Equipment.hs 26;" f magV src/Geometry/Vector.hs 174;" f magV3 src/Geometry/Vector3D.hs 78;" f @@ -4341,7 +4340,7 @@ numSelfTree src/Dodge/Tree/Compose.hs 108;" f numSelfTree' src/Dodge/Tree/Compose.hs 111;" f numShads src/Picture/Data.hs 37;" f numSubElements src/Shader/Parameters.hs 39;" f -numTraversable src/TreeHelp.hs 184;" f +numTraversable src/TreeHelp.hs 186;" f obstacleColor src/Dodge/Debug/Picture.hs 264;" f obstructPathsCrossing src/Dodge/Path.hs 120;" f oldMachineBootS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 635;" f @@ -4396,7 +4395,7 @@ pairsToSCC src/Dodge/Graph.hs 32;" f paletteToColor src/Color.hs 85;" f parseItem src/Dodge/Debug/Terminal.hs 62;" f parseNum src/Dodge/Debug/Terminal.hs 77;" f -passthroughLockKeyLists src/Dodge/Room/Tutorial.hs 629;" f +passthroughLockKeyLists src/Dodge/Room/Tutorial.hs 632;" f pathConnected src/Dodge/Room/CheckConsistency.hs 13;" f pathEdgeObstructed src/Dodge/Path.hs 66;" f pauseAndFloatCam src/Dodge/Camera.hs 10;" f @@ -4593,7 +4592,7 @@ putLitButOnPosExtTrig src/Dodge/Placement/Instance/Button.hs 97;" f putLitButOnPosExtTrig' src/Dodge/Placement/Instance/Button.hs 100;" f putMessageTerminal src/Dodge/Placement/Instance/Terminal.hs 58;" f putShape src/Dodge/Room/Foreground.hs 134;" f -putSingleLight src/Dodge/Room/Tutorial.hs 447;" f +putSingleLight src/Dodge/Room/Tutorial.hs 450;" f putSlideDr src/Dodge/Door/PutSlideDoor.hs 12;" f putStrLnAppend src/Dodge/LevelGen.hs 84;" f putTerminal src/Dodge/Placement/Instance/Terminal.hs 52;" f @@ -4645,7 +4644,7 @@ randomFourCornerRoom src/Dodge/Room/Procedural.hs 247;" f randomFourCornerRoomCrsIts src/Dodge/Room/Procedural.hs 259;" f randomLightPositions src/Dodge/Room/Modify/Girder.hs 152;" f randomMediumRoom src/Dodge/Room/Boss.hs 70;" f -randomPath src/TreeHelp.hs 145;" f +randomPath src/TreeHelp.hs 147;" f randomPoints bench/Bench.hs 37;" f randomRanges src/RandomHelp.hs 18;" f randomSelectionFromList src/RandomHelp.hs 84;" f @@ -4710,7 +4709,7 @@ replacePutID src/Dodge/Placement/Instance/Wall.hs 81;" f resetCrVocCoolDown src/Dodge/Creature/Vocalization.hs 64;" f resetPLUse src/Dodge/PlacementSpot.hs 94;" f resetStride src/Dodge/Creature/State/WalkCycle.hs 25;" f -resetTerminal src/Dodge/WorldEffect.hs 157;" f +resetTerminal src/Dodge/WorldEffect.hs 158;" f resizeFBOTO src/Framebuffer/Update.hs 185;" f resizeFBOTO' src/Framebuffer/Update.hs 197;" f resizeFBOTO2 src/Framebuffer/Update.hs 104;" f @@ -4818,7 +4817,7 @@ safeMinimumOnMaybeL src/FoldableHelp.hs 57;" f safeNormalizeV src/Geometry/Vector.hs 167;" f safeSwapKeys src/IntMapHelp.hs 78;" f safeUncons src/ListHelp.hs 73;" f -safeUpdateSingleNode src/TreeHelp.hs 116;" f +safeUpdateSingleNode src/TreeHelp.hs 118;" f saveConfig src/Dodge/Config.hs 23;" f saveQuit src/Dodge/Menu.hs 77;" f saveQuitConc src/Dodge/Menu.hs 80;" f @@ -4878,7 +4877,7 @@ sensorReqToString src/Dodge/Machine/Update.hs 240;" f sensorRoom src/Dodge/Room/SensorDoor.hs 27;" f sensorRoomRunPast src/Dodge/Room/SensorDoor.hs 59;" f sensorSPic src/Dodge/Machine/Draw.hs 97;" f -sensorTut src/Dodge/Room/Tutorial.hs 573;" f +sensorTut src/Dodge/Room/Tutorial.hs 576;" f sensorTypeDamages src/Dodge/Machine/Update.hs 286;" f sensorTypeDamages src/Dodge/Wall/Damage.hs 92;" f sentinelAI src/Dodge/Creature/SentinelAI.hs 20;" f @@ -5089,8 +5088,8 @@ splashScreen src/Dodge/Initialisation.hs 10;" f splitBezierquad src/Geometry/Bezier.hs 15;" f splitExtra src/Justify.hs 21;" f splitLookupTrie src/SimpleTrie.hs 39;" f -splitTrunk src/TreeHelp.hs 179;" f -splitTrunkAt src/TreeHelp.hs 167;" f +splitTrunk src/TreeHelp.hs 181;" f +splitTrunkAt src/TreeHelp.hs 169;" f spreadAroundCenter src/Dodge/Base.hs 173;" f spreadCenter src/Dodge/Base.hs 187;" f spreadFromCenter src/Dodge/Base.hs 176;" f @@ -5158,8 +5157,9 @@ stringToList src/Picture/Base.hs 308;" f stringToListGrad src/Picture/Text.hs 12;" f stripZ src/Geometry/Vector3D.hs 97;" f subInvX src/Dodge/ListDisplayParams.hs 51;" f -subMap src/TreeHelp.hs 119;" f +subMap src/TreeHelp.hs 121;" f subZipWith src/Dodge/Placement/Instance/Wall.hs 94;" f +subtree src/TreeHelp.hs 72;" f succB src/Dodge/Debug.hs 159;" f swapAnyExtraSelection src/Dodge/Inventory/Swap.hs 57;" f swapInOutLinks src/Dodge/RoomLink.hs 99;" f @@ -5267,7 +5267,7 @@ titleOptionsMenu src/Dodge/Menu.hs 104;" f titleOptionsNoWrite src/Dodge/Menu.hs 107;" f tlDoEffect src/Dodge/Terminal.hs 115;" f tlSetStatus src/Dodge/Terminal.hs 112;" f -tmDistributeAmmo src/Dodge/WorldEffect.hs 117;" f +tmDistributeAmmo src/Dodge/WorldEffect.hs 118;" f tmDistributeLines src/Dodge/Room/Room.hs 469;" f tmMachine src/Dodge/Placement/Instance/Terminal.hs 55;" f toBinary src/Dodge/Inventory/SelectionList.hs 138;" f @@ -5299,7 +5299,7 @@ topPrismIndices src/Shader/Poke.hs 410;" f topTestPart src/Dodge/TestString.hs 71;" f torchShape src/Dodge/Item/Draw/SPic.hs 277;" f torqueAmount src/Dodge/HeldUse.hs 606;" f -torqueCr src/Dodge/WorldEffect.hs 84;" f +torqueCr src/Dodge/WorldEffect.hs 85;" f torso src/Dodge/Creature/Picture.hs 97;" f tractCr src/Dodge/TractorBeam/Update.hs 28;" f tractFlIt src/Dodge/TractorBeam/Update.hs 23;" f @@ -5333,21 +5333,21 @@ translateToRightLeg src/Dodge/Creature/HandPos.hs 181;" f translateXY src/Polyhedra.hs 23;" f trapTBH src/Geometry/Polygon.hs 22;" f trapezionBWHW src/Geometry/Polygon.hs 34;" f -treeAttachDeep src/TreeHelp.hs 193;" f -treeChildNums src/TreeHelp.hs 130;" f -treeFromPost src/TreeHelp.hs 40;" f -treeFromTrunk src/TreeHelp.hs 52;" f +treeAttachDeep src/TreeHelp.hs 195;" f +treeChildNums src/TreeHelp.hs 132;" f +treeFromPost src/TreeHelp.hs 41;" f +treeFromTrunk src/TreeHelp.hs 53;" f treeMaxDepthFromTrunk src/Dodge/Layout/Generate.hs 22;" f treePath src/Dodge/Tree/GenerateStructure.hs 13;" f -treePaths src/TreeHelp.hs 139;" f -treePost src/TreeHelp.hs 46;" f +treePaths src/TreeHelp.hs 141;" f +treePost src/TreeHelp.hs 47;" f treeToPotentialFunction src/Dodge/Item/Grammar.hs 148;" f triLootRoom src/Dodge/Room/Treasure.hs 23;" f triangulateEarClip src/Geometry/Polygon.hs 162;" f triggerDoorRoom src/Dodge/Room/Door.hs 32;" f truncFaces src/Polyhedra/Geodesic.hs 54;" f truncate src/Polyhedra/Geodesic.hs 39;" f -trunkDepth src/TreeHelp.hs 162;" f +trunkDepth src/TreeHelp.hs 164;" f tryAttachItems src/Dodge/Item/Grammar.hs 34;" f tryClickUse src/Dodge/Creature/YourControl.hs 216;" f tryCombine src/Dodge/Update/Input/InGame.hs 521;" f @@ -5369,11 +5369,11 @@ turnTo src/Dodge/Movement/Turn.hs 8;" f turretItemOffset src/Dodge/Item/HeldOffset.hs 23;" f tutAnoTree src/Dodge/Room/Tutorial.hs 53;" f tutDrop src/Dodge/Room/Tutorial.hs 101;" f -tutHub src/Dodge/Room/Tutorial.hs 471;" f +tutHub src/Dodge/Room/Tutorial.hs 474;" f tutLight src/Dodge/Room/Tutorial.hs 393;" f -tutRezBox src/Dodge/Room/Tutorial.hs 584;" f +tutRezBox src/Dodge/Room/Tutorial.hs 587;" f tutRoomTree src/Dodge/Floor.hs 20;" f -tutorialMessage1 src/Dodge/Room/Tutorial.hs 609;" f +tutorialMessage1 src/Dodge/Room/Tutorial.hs 612;" f tweenAngles src/Geometry/Vector.hs 192;" f twinSlowDoorChasers src/Dodge/Room/LongDoor.hs 83;" f twinSlowDoorRoom src/Dodge/Room/LongDoor.hs 39;" f @@ -5406,7 +5406,7 @@ unusedSpotAwayFromInLink src/Dodge/PlacementSpot.hs 139;" f unusedSpotAwayFromLink src/Dodge/PlacementSpot.hs 121;" f unusedSpotNearInLink src/Dodge/PlacementSpot.hs 203;" f updateAimPos src/Dodge/Update.hs 381;" f -updateAllNodes src/TreeHelp.hs 86;" f +updateAllNodes src/TreeHelp.hs 88;" f updateArc src/Dodge/Tesla.hs 43;" f updateBackspaceRegex src/Dodge/Update/Input/InGame.hs 454;" f updateBarrel src/Dodge/Barreloid.hs 44;" f @@ -5497,7 +5497,7 @@ updateRadarBlip src/Dodge/RadarBlip.hs 11;" f updateRadarBlips src/Dodge/Update.hs 639;" f updateRadarSweep src/Dodge/RadarSweep.hs 40;" f updateRadarSweeps src/Dodge/Update.hs 748;" f -updateRandNode src/TreeHelp.hs 109;" f +updateRandNode src/TreeHelp.hs 111;" f updateRenderSplit appDodge/Main.hs 104;" f updateRightParentSF src/Dodge/Item/Grammar.hs 188;" f updateRootItemID src/Dodge/Inventory/Location.hs 42;" f @@ -5507,7 +5507,7 @@ updateSection src/Dodge/DisplayInventory.hs 262;" f updateSectionsPositioning src/Dodge/DisplayInventory.hs 241;" f updateShockwave src/Dodge/Shockwave/Update.hs 8;" f updateShockwaves src/Dodge/Update.hs 739;" f -updateSingleNodes src/TreeHelp.hs 98;" f +updateSingleNodes src/TreeHelp.hs 100;" f updateSound src/Sound.hs 73;" f updateSounds src/Sound.hs 68;" f updateSpark src/Dodge/Spark.hs 20;" f