diff --git a/src/Bound.hs b/src/Bound.hs index 05ff9ebe6..65b6eff70 100644 --- a/src/Bound.hs +++ b/src/Bound.hs @@ -1,6 +1,5 @@ -module Bound ( - boundPoints, -) where +module Bound (boundPoints + ,boundPointsRect) where import qualified Control.Foldl as L import Control.Lens @@ -20,3 +19,8 @@ boundPoints = ) where f (mn, ms, me, mw) = (,,,) <$> mn <*> ms <*> me <*> mw + +boundPointsRect :: [Point2] -> Maybe (Point2,Point2) +boundPointsRect ps = do + (n,s,e,w) <- boundPoints ps + return (V2 w s, V2 e n) diff --git a/src/Dodge/HeldUse.hs b/src/Dodge/HeldUse.hs index 15111519a..675c2aa9e 100644 --- a/src/Dodge/HeldUse.hs +++ b/src/Dodge/HeldUse.hs @@ -6,6 +6,8 @@ module Dodge.HeldUse ( gadgetEffect, mcUseHeld, heldEffectMuzzles, + muzzlePos, + itemMuzzles, ) where import Color diff --git a/src/Dodge/Render/ShapePicture.hs b/src/Dodge/Render/ShapePicture.hs index d50d85de2..82e4fe779 100644 --- a/src/Dodge/Render/ShapePicture.hs +++ b/src/Dodge/Render/ShapePicture.hs @@ -1,6 +1,12 @@ --{-# LANGUAGE LambdaCase #-} module Dodge.Render.ShapePicture (worldSPic) where +import Dodge.DoubleTree +import Dodge.Data.DoubleTree +import Dodge.HeldUse +import NewInt +import Dodge.Item.Grammar +import Dodge.Render.Label import Dodge.Debug import Control.Lens import Data.Foldable @@ -40,6 +46,7 @@ worldSPic cfig u = <> foldup (mcSPic (w ^. cWorld)) (filtOn _mcPos _machines) <> foldMap' drawChasm (w ^. cWorld . chasms) <> w ^. cWorld . lWorld . tempSPic + <> testSPic cfig u where w = u ^. uvWorld lw = w ^. cWorld . lWorld @@ -48,6 +55,24 @@ worldSPic cfig u = filtOn' f g = filter (pointIsClose . f) (g lw) pointIsClose = cullPoint cfig w +testSPic :: Config -> Universe -> SPic +testSPic cfig u = noShape $ testPic cfig u + +testPic :: Config -> Universe -> Picture +testPic _ u = fold $ do + cr <- u ^? uvWorld . cWorld . lWorld . creatures . ix 0 +-- return mempty + invid <- cr ^? crManipulation . manObject . imRootSelectedItem . unNInt + loc <- invIndents ((\k -> u ^?! uvWorld . cWorld . lWorld . items . ix k) <$> _crInv cr) + ^? ix invid . _2 + return . color red $ setLayer DebugLayer $ reduceLocDT (f cr) loc + where + f cr loc = foldMap g $ map (muzzlePos loc cr) (itemMuzzles $ loc ^. locDT . dtValue . _1) + where + g :: Point3Q -> Picture + g pq = translate3 (pq ^. _1) $ crossPic 5 + + drawBlock :: Block -> SPic drawBlock = noPic . _blDraw diff --git a/src/Dodge/Room/Room.hs b/src/Dodge/Room/Room.hs index e1a75d03c..87d4d321b 100644 --- a/src/Dodge/Room/Room.hs +++ b/src/Dodge/Room/Room.hs @@ -450,6 +450,3 @@ distributerRoom atype aamount = do tmDistributeLines :: [TerminalLine] tmDistributeLines = [TLine 1 [TerminalLineConst "ATTEMPTING TO DISTRIBUTE MATERIAL..." white] TmDistributeAmmo] - --- cor <- shuffleLinks corridor --- return $ tToBTree "corDoor" $ treePost [door,cor,cleatOnward door] diff --git a/src/Dodge/Update.hs b/src/Dodge/Update.hs index 6d8749448..742bcb120 100644 --- a/src/Dodge/Update.hs +++ b/src/Dodge/Update.hs @@ -3,6 +3,13 @@ module Dodge.Update (updateUniverse) where +import Data.Function (on) +import Dodge.Zoning.Wall +import Bound +import Dodge.Data.DoubleTree +import Dodge.HeldUse +import Dodge.DoubleTree +import Dodge.Item.Grammar import Dodge.Creature.MoveType import Dodge.Render.List import Data.Foldable @@ -251,6 +258,7 @@ functionalUpdate = . over (uvWorld . cWorld . lWorld) updateMagnets . over uvWorld (cWorld . lWorld . lClock +~ 1) . over uvWorld updateDistortions + . over uvWorld pushYouOutFromWalls . over uvWorld updateCreatureSoundPositions . over uvWorld updateCreatureStrides . colCrsWalls @@ -309,6 +317,29 @@ functionalUpdate = . updateAimPos . over uvWorld updatePastWorlds -- it might be possible to do this without storing stuff such as the temporary lights/flares etc +pushYouOutFromWalls :: World -> World +pushYouOutFromWalls w = w & cWorld . lWorld . creatures . ix 0 %~ muzzleWallCheck w + +muzzleWallCheck :: World -> Creature -> Creature +muzzleWallCheck w cr = fromMaybe cr $ do + invid <- cr ^? crManipulation . manObject . imRootSelectedItem . unNInt + loc <- invIndents ((\k -> w ^?! cWorld . lWorld . items . ix k) <$> _crInv cr) + ^? ix invid . _2 + let ps = reduceLocDT f loc ^.. each . _1 . _xy + cp = cr ^. crPos . _xy + r <- boundPointsRect (cp : ps) + let wls = uncurry wlsNearRect r w + vs = mapMaybe (g cp wls) ps + return $ if null vs + then cr + else let v = minimumBy (compare `on` norm) vs + in cr & crPos . _xy +~ normalize v + where + f loc = map (muzzlePos loc cr) (itemMuzzles $ loc ^. locDT . dtValue . _1) + g cp wls p = case collidePoint cp p wls of + (ep,Just _) -> Just (ep - p) + _ -> Nothing + updateCreatureStrides :: World -> World updateCreatureStrides w = foldl' updateCreatureStride w $ w ^. cWorld . lWorld . creatures diff --git a/src/Dodge/WorldEffect.hs b/src/Dodge/WorldEffect.hs index d1db6674a..8bf86cb5e 100644 --- a/src/Dodge/WorldEffect.hs +++ b/src/Dodge/WorldEffect.hs @@ -130,8 +130,6 @@ tmDistributeAmmo tm w = fromMaybe w $ do [TLine 1 [TerminalLineConst (g (aamount - newaamount)) white] TmWdId ,TLine 1 [TerminalLineConst (shortShow newaamount <>" "<>show atype<>" AVAILABLE") white] TmWdId ,TLine 1 [] (TmWdWdTermSound (getsid (aamount - newaamount))) --- ,TLine 1 [TerminalLineConst "" yellow] (TmTmSetStatus (TerminalPressTo "")) --- ,TLine 1 [TerminalLineConst "" white] (TmWdWdLeaveTerminal "") ] where getsid x | x > 0 = reloadS diff --git a/tags b/tags index d0623a6c2..d0228ac12 100644 --- a/tags +++ b/tags @@ -2560,7 +2560,7 @@ addToTrunk src/TreeHelp.hs 157;" f addWarningTerminal src/Dodge/Room/Warning.hs 81;" f addZ src/Geometry/Vector3D.hs 89;" f adjustIMZone src/Dodge/Base.hs 81;" f -advanceScrollAmount src/Dodge/Update.hs 422;" f +advanceScrollAmount src/Dodge/Update.hs 443;" f advanceSmoothScroll src/Dodge/SmoothScroll.hs 33;" f aimDelaySweep src/Dodge/Render/Picture.hs 285;" f aimStanceInfo src/Dodge/Item/Info.hs 243;" f @@ -2588,22 +2588,22 @@ angleVV src/Geometry/Vector.hs 58;" f angleVV3 src/Geometry/Vector3D.hs 122;" f anyUnusedSpot src/Dodge/PlacementSpot.hs 66;" f anythingHitCirc src/Dodge/Base/Collide.hs 342;" f -applyCME src/Dodge/HeldUse.hs 369;" f +applyCME src/Dodge/HeldUse.hs 371;" f applyClip src/Dodge/Debug.hs 130;" f applyCreatureDamage src/Dodge/Creature/Damage.hs 14;" f applyEventIO src/Loop.hs 90;" f applyGravityPU src/Dodge/Projectile/Update.hs 41;" f applyIndividualDamage src/Dodge/Creature/Damage.hs 17;" f -applyInvLock src/Dodge/HeldUse.hs 428;" f +applyInvLock src/Dodge/HeldUse.hs 430;" f applyMagnetsToBul src/Dodge/Bullet.hs 32;" f applyPastDamages src/Dodge/Creature/State.hs 49;" f applyPosition src/Sound.hs 112;" f -applyRecoil src/Dodge/HeldUse.hs 459;" f +applyRecoil src/Dodge/HeldUse.hs 461;" f applyResFactor src/Dodge/Data/Config.hs 124;" f applyResFactorF src/Dodge/Data/Config.hs 133;" f applySetTerminalString src/Dodge/Debug/Terminal.hs 83;" f -applySidePush src/Dodge/HeldUse.hs 559;" f -applySoundCME src/Dodge/HeldUse.hs 449;" f +applySidePush src/Dodge/HeldUse.hs 561;" f +applySoundCME src/Dodge/HeldUse.hs 451;" 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 @@ -2611,7 +2611,7 @@ applyToNode src/TreeHelp.hs 65;" f applyToRandomNode src/TreeHelp.hs 151;" f applyToSubforest src/TreeHelp.hs 78;" f applyToSubtree src/TreeHelp.hs 71;" f -applyTorqueCME src/Dodge/HeldUse.hs 570;" f +applyTorqueCME src/Dodge/HeldUse.hs 572;" f applyWorldConfig src/Dodge/Config.hs 55;" f aquamarine src/Color.hs 50;" f arHUD src/Dodge/Item/Scope.hs 134;" f @@ -2647,9 +2647,9 @@ attachTree src/Dodge/Tree/Compose.hs 38;" f attentionViewPoint src/Dodge/Creature/ReaderUpdate.hs 75;" f attribSize src/Shader/Compile.hs 139;" f autoAmr src/Dodge/Item/Held/Rod.hs 39;" f -autoBS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 731;" f +autoBS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 734;" f autoCrit src/Dodge/Creature/AutoCrit.hs 10;" f -autoGunS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 545;" f +autoGunS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 548;" f autoPistol src/Dodge/Item/Held/Stick.hs 49;" f autoRifle src/Dodge/Item/Held/Cane.hs 27;" f awakeLevelPerception src/Dodge/Creature/Perception.hs 161;" f @@ -2658,19 +2658,19 @@ azure src/Color.hs 49;" f bQuadToF src/Geometry/Bezier.hs 37;" f bQuadToLine src/Geometry/Bezier.hs 30;" f backPQ src/Dodge/Creature/HandPos.hs 128;" f -backgroundSpaceS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 721;" f +backgroundSpaceS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 724;" f backpackCombinations src/Dodge/Combine/Combinations.hs 27;" f backpackShape src/Dodge/Item/Draw/SPic.hs 187;" f backspaceInputted src/Dodge/Update/Input/Text.hs 25;" f bangCone src/Dodge/Item/Held/Cone.hs 11;" f bangConeShape src/Dodge/Item/Draw/SPic.hs 304;" f -bangEchoS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 639;" f +bangEchoS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 642;" f bangRod src/Dodge/Item/Held/Rod.hs 18;" f -bangS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 817;" f +bangS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 822;" f bangStick src/Dodge/Item/Held/Stick.hs 15;" f barPP src/Dodge/Room/Foreground.hs 231;" f barrel src/Dodge/Creature/Inanimate.hs 17;" f -barrelShape src/Dodge/Render/ShapePicture.hs 82;" f +barrelShape src/Dodge/Render/ShapePicture.hs 107;" f baseAMRShape src/Dodge/Item/Draw/SPic.hs 407;" f baseBlockPane src/Dodge/Placement/Instance/Wall.hs 76;" f baseCI src/Dodge/Item/Grammar.hs 158;" f @@ -2683,21 +2683,21 @@ baseSMGShape src/Dodge/Item/Draw/SPic.hs 392;" f baseShoulder src/Dodge/Creature/Picture.hs 117;" f baseStickShape src/Dodge/Item/Draw/SPic.hs 301;" f baseStickShapeX src/Dodge/Item/Draw/SPic.hs 293;" f -baseStickSpread src/Dodge/HeldUse.hs 319;" f +baseStickSpread src/Dodge/HeldUse.hs 321;" f basicAttentionUpdate src/Dodge/Creature/Perception.hs 127;" f basicAwarenessUpdate src/Dodge/Creature/Perception.hs 39;" f basicCrPict src/Dodge/Creature/Picture.hs 30;" f basicCrShape src/Dodge/Creature/Picture.hs 36;" f basicItemDisplay src/Dodge/Item/Display.hs 23;" f basicMachineApplyDamage src/Dodge/Machine/Damage.hs 6;" f -basicMuzFlare src/Dodge/HeldUse.hs 710;" f +basicMuzFlare src/Dodge/HeldUse.hs 712;" f battery src/Dodge/Item/Ammo.hs 63;" f batteryPack src/Dodge/Item/Equipment.hs 46;" f belowNumX src/Dodge/Combine/Graph.hs 84;" f beltMag src/Dodge/Item/Ammo.hs 39;" f bfsThenReturn src/Dodge/Creature/ReaderUpdate.hs 226;" f bgateCalc src/Dodge/Inventory/SelectionList.hs 121;" f -bgunSound src/Dodge/HeldUse.hs 514;" f +bgunSound src/Dodge/HeldUse.hs 516;" f bindFBO src/Render.hs 235;" f bingate src/Dodge/Item/Scope.hs 109;" f black src/Color.hs 54;" f @@ -2714,22 +2714,22 @@ blockPillar src/Dodge/Room/Pillar.hs 22;" f blockedCorridor src/Dodge/Room/RoadBlock.hs 71;" f blockedCorridorCloseBlocks src/Dodge/Room/RoadBlock.hs 78;" f blockingLoad src/Dodge/Concurrent.hs 35;" f -blood1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 707;" f -blood2S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 799;" f -blood3S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 635;" f -blood4S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 825;" f -blood5S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 553;" f -blood6S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 761;" f -blood7S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 557;" f -blood8S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 543;" f -bloodShort1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 585;" f -bloodShort2S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 767;" f -bloodShort3S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 823;" f -bloodShort4S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 829;" f -bloodShort5S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 661;" f -bloodShort6S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 743;" f -bloodShort7S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 589;" f -bloodShort8S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 533;" f +blood1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 710;" f +blood2S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 804;" f +blood3S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 638;" f +blood4S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 830;" f +blood5S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 556;" f +blood6S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 764;" f +blood7S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 560;" f +blood8S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 546;" f +bloodShort1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 588;" f +bloodShort2S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 770;" f +bloodShort3S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 828;" f +bloodShort4S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 834;" f +bloodShort5S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 664;" f +bloodShort6S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 746;" f +bloodShort7S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 592;" f +bloodShort8S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 536;" f blowTorch src/Dodge/Item/Held/SprayGuns.hs 43;" f blue src/Color.hs 43;" f blunderbuss src/Dodge/Item/Held/Cone.hs 14;" f @@ -2739,7 +2739,8 @@ bossRoom src/Dodge/Room/Boss.hs 55;" f bounceDir src/Dodge/Bullet.hs 111;" f bouncePoint src/Dodge/Base/Collide.hs 86;" f bounceSound src/Dodge/Projectile/Update.hs 74;" f -boundPoints src/Bound.hs 10;" f +boundPoints src/Bound.hs 9;" f +boundPointsRect src/Bound.hs 23;" f boundedGrid src/Grid.hs 17;" f boxABC src/Polyhedra.hs 108;" f boxEdgeIndices src/Shader/Poke.hs 358;" f @@ -2752,7 +2753,7 @@ branchRectWith src/Dodge/Room/Branch.hs 15;" f branchWith src/Dodge/Room/Room.hs 77;" f bright src/Color.hs 147;" f brightX src/Color.hs 143;" f -btSPic src/Dodge/Render/ShapePicture.hs 131;" f +btSPic src/Dodge/Render/ShapePicture.hs 156;" f btText src/Dodge/Inventory/SelectionList.hs 242;" f bufferEBO src/Shader/Bind.hs 28;" f bufferPerspectiveMatrixUBO src/Dodge/Render.hs 429;" f @@ -2766,7 +2767,7 @@ bulletSynthesizer src/Dodge/Item/Ammo.hs 82;" f bulletWeapons src/Dodge/Combine/Combinations.hs 248;" f burstRifle src/Dodge/Item/Held/Cane.hs 30;" f buttonFlip src/Dodge/Button/Event.hs 17;" f -buzzS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 587;" f +buzzS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 590;" f cChasm src/Dodge/Room/Tutorial.hs 131;" f cFilledRect src/Dodge/CharacterEnums.hs 6;" f cWireRect src/Dodge/CharacterEnums.hs 10;" f @@ -2809,13 +2810,13 @@ checkCombineSelectionExists src/Dodge/DisplayInventory.hs 100;" f checkConnection src/Dodge/Inventory/Swap.hs 66;" f checkDeath src/Dodge/Creature/Update.hs 70;" f checkDeath' src/Dodge/Creature/Update.hs 73;" f -checkEndGame src/Dodge/Update.hs 775;" f +checkEndGame src/Dodge/Update.hs 796;" f checkErrorGL src/Shader/Compile.hs 86;" f checkFBO src/Framebuffer/Check.hs 6;" f checkGLError src/GLHelp.hs 17;" f checkInvSlotsYou src/Dodge/Inventory/CheckSlots.hs 18;" f checkInventorySelectionExists src/Dodge/DisplayInventory.hs 93;" f -checkTermDist src/Dodge/Update.hs 334;" f +checkTermDist src/Dodge/Update.hs 355;" f checkWallLeft src/Dodge/LevelGen/StaticWalls/Deprecated.hs 29;" f checkWallRight src/Dodge/LevelGen/StaticWalls.hs 54;" f checkWallRight src/Dodge/LevelGen/StaticWalls/Deprecated.hs 59;" f @@ -2841,9 +2842,9 @@ clAlt src/Dodge/Cloud.hs 5;" f clColor src/Shader/Poke/Cloud.hs 39;" f clZoneSize src/Dodge/Zoning/Cloud.hs 24;" f clampPath src/Dodge/Room/Procedural.hs 146;" f -clang1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 807;" f -clang2S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 725;" f -clangS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 571;" f +clang1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 812;" f +clang2S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 728;" f +clangS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 574;" f cldtPropagateFold src/Dodge/DoubleTree.hs 358;" f cleanUpPreload src/Preload.hs 10;" f cleanUpSoundPreload src/Preload.hs 15;" f @@ -2851,7 +2852,7 @@ cleanupHalted src/Sound.hs 118;" f cleatLabel src/Dodge/Cleat.hs 30;" f cleatOnward src/Dodge/Cleat.hs 24;" f cleatSide src/Dodge/Cleat.hs 27;" f -click1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 775;" f +click1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 778;" f clicker src/Dodge/Item/Scope.hs 82;" f clipV src/Geometry/Vector.hs 48;" f clipZoom src/Dodge/Update/Camera.hs 237;" f @@ -2900,7 +2901,7 @@ combineInventoryExtra src/Dodge/Render/HUD.hs 334;" f combineItemListYouX src/Dodge/Combine.hs 36;" f combineList src/Dodge/Combine.hs 21;" f combineRooms src/Dodge/Room/Procedural.hs 132;" f -combineS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 735;" f +combineS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 738;" f combineTree src/Dodge/Tree/Compose.hs 67;" f commandColor src/Dodge/Terminal.hs 127;" f commonPrefix src/Dodge/Debug/Terminal.hs 149;" f @@ -2912,11 +2913,11 @@ compactDrawTree src/Dodge/LevelGen.hs 88;" f compileAndCheckShader src/Shader/Compile.hs 108;" f composeNode src/Dodge/Tree/Compose.hs 76;" f composeTree src/Dodge/Tree/Compose.hs 47;" f -computerBeepingS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 657;" f +computerBeepingS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 660;" f conEffects src/Dodge/Concurrent.hs 12;" f conLDTToConDT src/Dodge/DoubleTree.hs 22;" f concurrentIS src/Dodge/Update/Input/InGame.hs 292;" f -connectItemS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 737;" f +connectItemS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 740;" f constructEdges src/Polyhedra.hs 34;" f constructEdgesList src/Polyhedra.hs 43;" f contToIDCont src/Dodge/LevelGen/PlacementHelper.hs 58;" f @@ -2941,7 +2942,7 @@ crAwayFromPost src/Dodge/Creature/Test.hs 85;" f crBlips src/Dodge/RadarSweep.hs 88;" f crCamouflage src/Dodge/Creature/Picture.hs 33;" f crCanSeeCr src/Dodge/Creature/Test.hs 52;" f -crCrSpring src/Dodge/Update.hs 885;" f +crCrSpring src/Dodge/Update.hs 906;" f crCurrentEquipment src/Dodge/Creature/Statistics.hs 62;" f crDexterity src/Dodge/Creature/Statistics.hs 19;" f crDisplayAwareness src/Dodge/Creature/Picture/Awareness.hs 39;" f @@ -2972,7 +2973,7 @@ crRad src/Dodge/Creature/Radius.hs 7;" f crSafeDistFromTarg src/Dodge/Creature/Test.hs 74;" f crSetRoots src/Dodge/Inventory/Location.hs 55;" f crShape src/Dodge/Creature/Shape.hs 8;" f -crSpring src/Dodge/Update.hs 882;" f +crSpring src/Dodge/Update.hs 903;" f crStratConMatches src/Dodge/Creature/Test.hs 80;" f crStrength src/Dodge/Creature/Statistics.hs 29;" f crUpdate src/Dodge/Creature/Update.hs 63;" f @@ -2984,21 +2985,21 @@ crWlPbHit src/Dodge/WorldEvent/ThingsHit.hs 59;" f crZoneSize src/Dodge/Zoning/Creature.hs 43;" f craftInfo src/Dodge/Item/Info.hs 169;" f craftItemSPic src/Dodge/Item/Draw/SPic.hs 40;" f -crankSlowS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 591;" f +crankSlowS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 594;" f createForceField src/Dodge/ForceField.hs 7;" f createGas src/Dodge/Gas.hs 10;" f createHeadLamp src/Dodge/Euse.hs 58;" f createItemYou src/Dodge/Inventory/Add.hs 62;" f createLightMap src/Render.hs 28;" f -createProjectile src/Dodge/HeldUse.hs 1268;" f -createProjectileR src/Dodge/HeldUse.hs 1217;" f +createProjectile src/Dodge/HeldUse.hs 1270;" f +createProjectileR src/Dodge/HeldUse.hs 1219;" f createShell src/Dodge/Projectile/Create.hs 21;" f createShieldWall src/Dodge/Item/BackgroundEffect.hs 39;" f createUnusedLinkPos src/Dodge/Tree/Shift.hs 124;" f createWall src/Dodge/Wall/Create.hs 8;" f creatureDisplayText src/Dodge/Creature/Picture/Awareness.hs 12;" f -creatureShootLaser src/Dodge/HeldUse.hs 837;" f -creatureShootPulseLaser src/Dodge/HeldUse.hs 868;" f +creatureShootLaser src/Dodge/HeldUse.hs 839;" f +creatureShootPulseLaser src/Dodge/HeldUse.hs 870;" f creatureTurnTo src/Dodge/Creature/Impulse/Movement.hs 60;" f creatureTurnToward src/Dodge/Creature/Impulse/Movement.hs 81;" f creatureTurnTowardDir src/Dodge/Creature/Impulse/Movement.hs 70;" f @@ -3018,7 +3019,7 @@ crsNearRect src/Dodge/Zoning/Creature.hs 40;" f crsNearSeg src/Dodge/Zoning/Creature.hs 24;" f crystalLine src/Dodge/Placement/Instance/Wall.hs 58;" f cubeShape src/Dodge/Block/Debris.hs 110;" f -cullPoint src/Dodge/Render/ShapePicture.hs 98;" f +cullPoint src/Dodge/Render/ShapePicture.hs 123;" f cullPretty src/AesonHelp.hs 14;" f cutPoly src/Dodge/LevelGen/StaticWalls.hs 77;" f cutWall src/Dodge/LevelGen/StaticWalls.hs 124;" f @@ -3066,7 +3067,7 @@ dark src/Color.hs 135;" f darkenBackground src/Dodge/Render/MenuScreen.hs 46;" f dbArg src/Dodge/Base.hs 165;" f dbArgChain src/Dodge/Base.hs 170;" f -dbwMuzzles src/Dodge/HeldUse.hs 322;" f +dbwMuzzles src/Dodge/HeldUse.hs 324;" f deZoneIX src/Dodge/Zoning/Base.hs 91;" f deZoneWall src/Dodge/Zoning/Wall.hs 70;" f deadEndRoom src/Dodge/Room/Room.hs 254;" f @@ -3074,7 +3075,7 @@ deadFeet src/Dodge/Creature/Picture.hs 68;" f deadRot src/Dodge/Creature/Picture.hs 84;" f deadScalp src/Dodge/Creature/Picture.hs 81;" f deadUpperBody src/Dodge/Creature/Picture.hs 114;" f -debrisS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 717;" f +debrisS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 720;" f debrisSPic src/Dodge/Prop/Draw.hs 16;" f debrisSize src/Dodge/Block/Debris.hs 83;" f debugEvent src/Dodge/Debug.hs 37;" f @@ -3098,10 +3099,10 @@ decoratedBlock src/Dodge/Placement/Instance/Block.hs 14;" f decorationToShape src/Dodge/Placement/TopDecoration.hs 16;" f decreaseAwareness src/Dodge/Creature/Perception.hs 118;" f decrementTimer src/Sound.hs 103;" f -dedaS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 551;" f -dededaS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 669;" f -dededumS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 751;" f -dedumS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 781;" f +dedaS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 554;" f +dededaS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 672;" f +dededumS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 754;" f +dedumS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 784;" f defDamageMaterial src/Dodge/Material/Damage.hs 30;" f defLSPic src/Dodge/LightSource/Draw.hs 10;" f defSPic src/Dodge/Item/Draw/SPic.hs 310;" f @@ -3171,7 +3172,7 @@ detV src/Geometry/Vector.hs 94;" f detector src/Dodge/Item/Held/Utility.hs 27;" f detectorColor src/Dodge/Item/Draw/SPic.hs 432;" f detectorInfo src/Dodge/Item/Info.hs 224;" f -determineProjectileTracking src/Dodge/HeldUse.hs 1188;" f +determineProjectileTracking src/Dodge/HeldUse.hs 1190;" f diagonalLinesRect src/Dodge/Room/Foreground.hs 52;" f did src/Dodge/Item/InvSize.hs 54;" f diffAngles src/Geometry.hs 205;" f @@ -3180,18 +3181,18 @@ digitalLine src/Geometry.hs 285;" f digitalRect src/Geometry.hs 302;" f dim src/Color.hs 139;" f dirtPoly src/Dodge/Room/RoadBlock.hs 74;" f -disconnectItemS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 779;" f +disconnectItemS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 782;" f displayConfig src/Dodge/Menu.hs 225;" f displayControls src/Dodge/Menu.hs 241;" f displayFrameTicks src/Dodge/Render/Picture.hs 50;" f displayFreeSlots src/Dodge/DisplayInventory.hs 196;" f displayIndents src/Dodge/DisplayInventory.hs 110;" f displayPulse src/Dodge/Inventory/SelectionList.hs 182;" f -displayTerminalLineString src/Dodge/Update.hs 487;" f +displayTerminalLineString src/Dodge/Update.hs 508;" f dist src/Geometry/Vector.hs 185;" f dist3 src/Geometry/Vector3D.hs 101;" f -distributeAmmoToItem src/Dodge/WorldEffect.hs 154;" f -distributeAmmoToYou src/Dodge/WorldEffect.hs 142;" f +distributeAmmoToItem src/Dodge/WorldEffect.hs 152;" f +distributeAmmoToYou src/Dodge/WorldEffect.hs 140;" f distributerRoom src/Dodge/Room/Room.hs 415;" f divTo src/Geometry/Zone.hs 8;" f divideCircle src/Geometry.hs 321;" f @@ -3233,13 +3234,13 @@ doDrag src/Dodge/Update/Input/InGame.hs 128;" f doDrawing src/Dodge/Render.hs 33;" f doDrawing' src/Dodge/Render.hs 44;" f doFloatFloat src/Dodge/FloatFunction.hs 5;" f -doGenFloat src/Dodge/HeldUse.hs 1150;" f +doGenFloat src/Dodge/HeldUse.hs 1152;" f doGravityPU src/Dodge/Projectile/Update.hs 35;" f -doHeldUseEffect src/Dodge/HeldUse.hs 351;" f +doHeldUseEffect src/Dodge/HeldUse.hs 353;" f doInPlacements src/Dodge/Layout.hs 87;" f doIndividualPlacements src/Dodge/Layout.hs 101;" f doInputScreenInput src/Dodge/Update/Input/ScreenLayer.hs 38;" f -doItemTimeScroll src/Dodge/Update.hs 200;" f +doItemTimeScroll src/Dodge/Update.hs 204;" f doLoop src/Loop.hs 60;" f doMagnetBuBu src/Dodge/Bullet.hs 35;" f doModificationEffect src/Dodge/ModificationEffect.hs 7;" f @@ -3259,14 +3260,14 @@ doTestDrawing src/Dodge/Render.hs 40;" f 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 205;" f +doTimeScroll src/Dodge/Update.hs 209;" f doTmWdWd src/Dodge/WorldEffect.hs 104;" f doWallRotate src/Dodge/Update/Camera.hs 227;" 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 -doWorldEvents src/Dodge/Update.hs 431;" f +doWorldEvents src/Dodge/Update.hs 452;" f doWorldPos src/Dodge/WorldPos.hs 10;" f door src/Dodge/Room/Door.hs 13;" f doorBetween src/Dodge/Placement/Instance/Door.hs 38;" f @@ -3285,14 +3286,14 @@ drawAnySelectionBox src/Dodge/Render/Picture.hs 130;" f drawArrowDown src/Dodge/Render/Picture.hs 219;" f drawBaseMachine src/Dodge/Machine/Draw.hs 75;" f drawBlip src/Dodge/RadarBlip.hs 16;" f -drawBlock src/Dodge/Render/ShapePicture.hs 51;" f +drawBlock src/Dodge/Render/ShapePicture.hs 76;" f drawBoundingBox src/Dodge/Debug/Picture.hs 358;" f -drawBullet src/Dodge/Render/ShapePicture.hs 137;" f +drawBullet src/Dodge/Render/ShapePicture.hs 162;" f drawButton src/Dodge/Button/Draw.hs 10;" f drawCPUShadows src/Dodge/Render/Shadow.hs 19;" f -drawChasm src/Dodge/Render/ShapePicture.hs 54;" f +drawChasm src/Dodge/Render/ShapePicture.hs 79;" f drawCircCollisionTest src/Dodge/Debug/Picture.hs 118;" f -drawCliff src/Dodge/Render/ShapePicture.hs 57;" f +drawCliff src/Dodge/Render/ShapePicture.hs 82;" f drawCollisionTest src/Dodge/Debug/Picture.hs 103;" f drawCombFilter src/Dodge/Render/Picture.hs 267;" f drawCombineInventory src/Dodge/Render/HUD.hs 186;" f @@ -3301,7 +3302,7 @@ drawCoord src/Dodge/Debug/Picture.hs 386;" f drawCountMod src/Shader.hs 20;" f drawCrInfo src/Dodge/Debug.hs 169;" f drawCrInfo' src/Dodge/Debug.hs 164;" f -drawCreature src/Dodge/Render/ShapePicture.hs 73;" f +drawCreature src/Dodge/Render/ShapePicture.hs 98;" f drawCreatureDisplayTexts src/Dodge/Debug/Picture.hs 199;" f drawCross src/Dodge/Render/Label.hs 24;" f drawCrossCol src/Dodge/Render/Label.hs 21;" f @@ -3362,7 +3363,7 @@ drawPathing src/Dodge/Debug/Picture.hs 407;" f drawPlus src/Dodge/Render/Picture.hs 163;" f drawPointLabel src/Dodge/Render/Label.hs 13;" f drawProjectile src/Dodge/Projectile/Draw.hs 13;" f -drawPulseBall src/Dodge/Render/ShapePicture.hs 65;" f +drawPulseBall src/Dodge/Render/ShapePicture.hs 90;" f drawQuitTerminal src/Dodge/Render/Picture.hs 145;" f drawRBOptions src/Dodge/Render/HUD.hs 249;" f drawRadarSweep src/Dodge/RadarSweep/Draw.hs 14;" f @@ -3406,7 +3407,7 @@ drawZoneCirc src/Dodge/Debug/Picture.hs 292;" f drawZoneCol src/Dodge/Debug/Picture.hs 149;" f drawZoneNearPointCursor src/Dodge/Debug/Picture.hs 285;" f dropAll src/Dodge/Creature/Update.hs 106;" f -dropInventoryPath src/Dodge/HeldUse.hs 1343;" f +dropInventoryPath src/Dodge/HeldUse.hs 1345;" f dropItem src/Dodge/Creature/Action.hs 155;" f dropper src/Dodge/Item/Scope.hs 76;" f drumMag src/Dodge/Item/Ammo.hs 34;" f @@ -3438,8 +3439,8 @@ edgeToPic src/Dodge/Debug/Picture.hs 416;" f effectOnEquip src/Dodge/Equipment.hs 32;" f effectOnRemove src/Dodge/Equipment.hs 19;" f eitType src/Dodge/Data/EquipType.hs 15;" f -ejectS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 827;" f -elecCrackleS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 811;" f +ejectS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 832;" f +elecCrackleS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 816;" f elephantGun src/Dodge/Item/Held/Rod.hs 27;" f emptyCorridor src/Dodge/Room/BlinkAcross.hs 22;" f emptyTrie src/SimpleTrie.hs 17;" f @@ -3450,7 +3451,7 @@ encircleP src/Dodge/Creature/Boid.hs 30;" f endArcPos src/Dodge/Tesla.hs 87;" f endCombineRegex src/Dodge/Update/Input/InGame.hs 276;" f endRegex src/Dodge/Update/Input/InGame.hs 270;" f -energyReleaseS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 681;" f +energyReleaseS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 684;" f enterCombineInv src/Dodge/DisplayInventory.hs 321;" f enumOption src/Dodge/Menu/OptionType.hs 17;" f epText src/Dodge/Inventory/SelectionList.hs 79;" f @@ -3476,7 +3477,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 174;" f +exitTerminalSubInv src/Dodge/WorldEffect.hs 172;" f expandLine src/Dodge/Picture.hs 30;" f expandPolyBy src/Dodge/LevelGen/StaticWalls.hs 91;" f expandPolyByFixed src/Dodge/LevelGen/StaticWalls.hs 97;" f @@ -3484,11 +3485,11 @@ expandPolyCorners src/Dodge/LevelGen/StaticWalls.hs 103;" f expandToSquare src/Dodge/LevelGen/StaticWalls/Deprecated.hs 83;" f expireAndDamage src/Dodge/Bullet.hs 188;" f explodeShell src/Dodge/Projectile/Update.hs 274;" f -explosionS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 685;" f +explosionS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 688;" f explosiveBarrel src/Dodge/Creature/Inanimate.hs 25;" f extTrigLitPos src/Dodge/Placement/Instance/Button.hs 80;" f extendConeToScreenEdge src/Dodge/Debug/Picture.hs 82;" f -extraPics src/Dodge/Render/ShapePicture.hs 103;" f +extraPics src/Dodge/Render/ShapePicture.hs 128;" f extraWeaponLinks src/Dodge/Item/Grammar.hs 90;" f extraWeaponLinksBelow src/Dodge/Item/Grammar.hs 99;" f extractRoomPos src/Dodge/RoomPos.hs 6;" f @@ -3509,16 +3510,16 @@ findReverseEdgeList src/Polyhedra.hs 57;" f findWallFreeDropPoint src/Dodge/FloorItem.hs 27;" f findWallsInPolygon src/Dodge/LevelGen/StaticWalls/Deprecated.hs 78;" f findWithIx src/ListHelp.hs 124;" f -fireFadeS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 841;" f -fireLoudS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 653;" f -fireS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 701;" f +fireFadeS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 846;" f +fireLoudS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 656;" f +fireS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 704;" f firstBreather src/Dodge/Room/Breather.hs 9;" f firstTrie src/SimpleTrie.hs 51;" f firstWorldLoad appDodge/Main.hs 68;" f fixedCoordPictures src/Dodge/Render/Picture.hs 20;" f fixedSizePicClampArrow src/Dodge/Picture/SizeInvariant.hs 57;" f flFlicker src/Dodge/Flame.hs 39;" f -flameMuzzles src/Dodge/HeldUse.hs 325;" f +flameMuzzles src/Dodge/HeldUse.hs 327;" f flameShield src/Dodge/Item/Equipment.hs 33;" f flameSize src/Dodge/Flame/Size.hs 5;" f flameSpitter src/Dodge/Item/Held/SprayGuns.hs 23;" f @@ -3526,7 +3527,7 @@ flameThrower src/Dodge/Item/Held/SprayGuns.hs 64;" f flameTorrent src/Dodge/Item/Held/SprayGuns.hs 32;" f flameWall src/Dodge/Item/Held/SprayGuns.hs 48;" f flamerPic src/Dodge/Item/Draw/SPic.hs 395;" f -flareCircleAt src/Dodge/HeldUse.hs 691;" f +flareCircleAt src/Dodge/HeldUse.hs 693;" f flatItemCombinations src/Dodge/Combine/Combinations.hs 51;" f flatLookupItems src/Dodge/Combine.hs 39;" f flatShield src/Dodge/Item/Held/Utility.hs 17;" f @@ -3540,18 +3541,18 @@ flockArmourChaseCrit src/Dodge/Creature/ArmourChase.hs 14;" f flockChaseTarget src/Dodge/Creature/Boid.hs 188;" f flockPointTarget src/Dodge/Creature/Boid.hs 204;" f floorItemPickupInfo src/Dodge/Render/HUD.hs 229;" f -floorItemSPic src/Dodge/Render/ShapePicture.hs 124;" f +floorItemSPic src/Dodge/Render/ShapePicture.hs 149;" f floorTo src/Geometry/Zone.hs 12;" f floorWire src/Dodge/Wire.hs 13;" f -foamSprayFadeOutS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 769;" f -foamSprayLoopS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 813;" f +foamSprayFadeOutS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 772;" f +foamSprayLoopS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 818;" f foldMTRS src/Dodge/Room/Tutorial.hs 77;" f foldPairs src/ListHelp.hs 37;" f foldrWhileArb src/ListHelp.hs 111;" f followImpulse src/Dodge/Creature/Impulse.hs 24;" f -foot1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 809;" f -foot2S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 697;" f -foot3S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 821;" f +foot1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 814;" f +foot2S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 700;" f +foot3S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 826;" f forbidFlee src/Dodge/Creature/Boid.hs 45;" f forceElements src/StrictHelp.hs 10;" f forceField src/Dodge/Wall/ForceField.hs 6;" f @@ -3561,7 +3562,7 @@ fourEmbossDecoration src/Dodge/Placement/TopDecoration.hs 37;" f fpsText src/Dodge/Render/Picture.hs 57;" f fractionLoadedAmmo src/Dodge/Item/Draw/SPic.hs 146;" f frag src/Shader/Data.hs 110;" f -fridgeHumS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 539;" f +fridgeHumS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 542;" f fromJust' src/MaybeHelp.hs 22;" f fromListL src/DoubleStack.hs 7;" f fromTopLeft src/Dodge/ScreenPos.hs 9;" f @@ -3569,22 +3570,22 @@ fromV3 src/Geometry/Data.hs 63;" f frontArmour src/Dodge/Item/Equipment.hs 38;" f fstV2 src/Geometry/Data.hs 70;" f fuelPack src/Dodge/Item/Equipment.hs 53;" f -functionalUpdate src/Dodge/Update.hs 248;" f +functionalUpdate src/Dodge/Update.hs 252;" f fusePoint src/Dodge/LevelGen/StaticWalls.hs 158;" f fuseWall src/Dodge/LevelGen/StaticWalls.hs 165;" f fuseWallsWith src/Dodge/LevelGen/StaticWalls.hs 172;" f g src/ShortShow.hs 48;" f gLauncher src/Dodge/Item/Held/Launcher.hs 24;" f gRandify src/Dodge/Randify.hs 11;" f -gadgetEffect src/Dodge/HeldUse.hs 47;" f +gadgetEffect src/Dodge/HeldUse.hs 49;" f gameOverMenu src/Dodge/Menu.hs 202;" f gameRoomFromRoom src/Dodge/Layout.hs 152;" f gameRoomViewpoints src/Dodge/Viewpoints.hs 35;" f gameRoomsFromRooms src/Dodge/Layout.hs 149;" f gameplayMenu src/Dodge/Menu.hs 154;" f gameplayMenuOptions src/Dodge/Menu.hs 157;" f -gasEffect src/Dodge/Update.hs 800;" f -gasType src/Dodge/HeldUse.hs 1107;" f +gasEffect src/Dodge/Update.hs 821;" f +gasType src/Dodge/HeldUse.hs 1109;" f gassesNearPoint src/Dodge/Zoning/Cloud.hs 12;" f generateGenParams src/Dodge/LevelGen/LevelStructure.hs 23;" f generateGraphs src/Dodge/Menu.hs 149;" f @@ -3598,31 +3599,31 @@ geometryUnitTests test/Spec.hs 22;" f geqConstr src/SameConstr.hs 21;" f getAimZoom src/Dodge/Update/Camera.hs 150;" f getAmmoLinks src/Dodge/Item/Grammar.hs 104;" f -getAttachedSFLink src/Dodge/HeldUse.hs 783;" f +getAttachedSFLink src/Dodge/HeldUse.hs 785;" f getAutoSpringLinks src/Dodge/Item/Grammar.hs 85;" f getAvailableListLines src/Dodge/SelectionList.hs 10;" f getBulHitDams src/Dodge/Bullet.hs 173;" f -getBulletType src/Dodge/HeldUse.hs 906;" f +getBulletType src/Dodge/HeldUse.hs 908;" f getCloseObj src/Dodge/Update/Input/InGame.hs 539;" f getCommand src/Dodge/Terminal.hs 61;" f getCommands src/Dodge/Terminal.hs 58;" f getCrMoveSpeed src/Dodge/Creature/Statistics.hs 50;" f getCrsFromRooms src/Dodge/Room/Tutorial.hs 351;" f getCrsFromRooms' src/Dodge/Room/Tutorial.hs 338;" f -getDebugMouseOver src/Dodge/Update.hs 392;" f +getDebugMouseOver src/Dodge/Update.hs 413;" f getDistortions src/Dodge/Render.hs 441;" f getEdgesCrossing src/Dodge/Path.hs 37;" f -getGrenadeHitEffect src/Dodge/HeldUse.hs 1256;" f +getGrenadeHitEffect src/Dodge/HeldUse.hs 1258;" f getInventoryPath src/Dodge/Inventory/Path.hs 9;" f getItemValue src/Dodge/Inventory/SelectionList.hs 150;" f -getLaserColor src/Dodge/HeldUse.hs 707;" f -getLaserDamage src/Dodge/HeldUse.hs 704;" f -getLaserPhaseV src/Dodge/HeldUse.hs 701;" f +getLaserColor src/Dodge/HeldUse.hs 709;" f +getLaserDamage src/Dodge/HeldUse.hs 706;" f +getLaserPhaseV src/Dodge/HeldUse.hs 703;" f getLinksOfType src/Dodge/RoomLink.hs 41;" f getMaxLinesTM src/Dodge/Terminal/Type.hs 6;" f -getMenuMouseContext src/Dodge/Update.hs 404;" f +getMenuMouseContext src/Dodge/Update.hs 425;" f getNodePos src/Dodge/Path.hs 34;" f -getPJStabiliser src/Dodge/HeldUse.hs 1243;" f +getPJStabiliser src/Dodge/HeldUse.hs 1245;" f getPretty src/AesonHelp.hs 8;" f getPromptTM src/Dodge/Terminal/Type.hs 3;" f getRoomsFromInts src/Dodge/Room/Tutorial.hs 334;" f @@ -3633,7 +3634,7 @@ getSmoothScrollValue src/Dodge/SmoothScroll.hs 21;" f getSplitString src/Dodge/Debug/Terminal.hs 129;" f getTiles src/Dodge/Layout.hs 199;" f getViewpoints src/Dodge/Viewpoints.hs 29;" f -getVolleyBurst src/Dodge/HeldUse.hs 126;" f +getVolleyBurst src/Dodge/HeldUse.hs 128;" f getWallPathing src/Dodge/Wall/Pathing.hs 7;" f getWallSPic src/Dodge/Render/Walls.hs 61;" f getWindowSize src/Dodge/WindowSize.hs 6;" f @@ -3645,10 +3646,10 @@ girderZ src/Dodge/Room/Foreground.hs 108;" f glCreate src/GLHelp.hs 11;" f glassLesson src/Dodge/Room/GlassLesson.hs 23;" f glassLessonRunPast src/Dodge/Room/GlassLesson.hs 68;" f -glassShat1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 689;" f -glassShat2S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 699;" f -glassShat3S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 703;" f -glassShat4S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 679;" f +glassShat1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 692;" f +glassShat2S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 702;" f +glassShat3S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 706;" f +glassShat4S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 682;" f glassSwitchBack src/Dodge/Room/Room.hs 80;" f glassSwitchBackCrits src/Dodge/Room/Room.hs 114;" f glauncherPic src/Dodge/Item/Draw/SPic.hs 401;" f @@ -3669,13 +3670,13 @@ gridPoints' src/Grid.hs 37;" f gridPointsOff src/Grid.hs 32;" f gridRoomPos src/Dodge/Room/Procedural.hs 90;" f groupSplitItemAmounts src/Dodge/Combine.hs 52;" f -gruntS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 515;" f -gut1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 839;" f -gut2S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 581;" f -gut3S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 675;" f -gut4S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 687;" f -gut5S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 665;" f -gut6S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 713;" f +gruntS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 518;" f +gut1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 844;" f +gut2S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 584;" f +gut3S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 678;" f +gut4S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 690;" f +gut5S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 668;" f +gut6S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 716;" f gyroscope src/Dodge/Item/Scope.hs 156;" f hackBoldText src/Picture/Base.hs 204;" f hackDropShadow src/Picture/Base.hs 207;" f @@ -3684,7 +3685,7 @@ hackOutline src/Dodge/Render/Outline.hs 5;" f halfHeight src/Dodge/Base/Window.hs 49;" f halfWidth src/Dodge/Base/Window.hs 49;" f haltSound src/Dodge/SoundLogic.hs 38;" f -hammerCheck src/Dodge/HeldUse.hs 63;" f +hammerCheck src/Dodge/HeldUse.hs 65;" f handHandleOrient src/Dodge/Item/HeldOffset.hs 57;" f handOrient src/Dodge/Item/HeldOffset.hs 39;" f handleEvent src/Dodge/Event.hs 27;" f @@ -3709,26 +3710,26 @@ headLamp src/Dodge/Item/Equipment.hs 79;" f headLampShape src/Dodge/Item/Draw/SPic.hs 422;" f headMap src/Dodge/DoubleTree.hs 249;" f headPQ src/Dodge/Creature/HandPos.hs 116;" f -healS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 621;" f +healS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 624;" f healthAnalyserByDoor src/Dodge/Room/LasTurret.hs 90;" f healthTest src/Dodge/Room/LasTurret.hs 111;" f heightWallPS src/Dodge/Placement/Instance/Wall.hs 24;" f heldAimStance src/Dodge/Item/AimStance.hs 24;" f heldAimZoom src/Dodge/Update/Camera.hs 156;" f -heldEffect src/Dodge/HeldUse.hs 60;" f -heldEffectMuzzles src/Dodge/HeldUse.hs 131;" f +heldEffect src/Dodge/HeldUse.hs 62;" f +heldEffectMuzzles src/Dodge/HeldUse.hs 133;" f heldHandlePos src/Dodge/Item/HeldOffset.hs 84;" f heldInfo src/Dodge/Item/Info.hs 92;" f heldItemAmmoSlots src/Dodge/Item/AmmoSlots.hs 20;" f heldItemBulkiness src/Dodge/Creature/YourControl.hs 194;" f -heldItemInvLock src/Dodge/HeldUse.hs 442;" f -heldItemMuzVel src/Dodge/HeldUse.hs 992;" f -heldItemMuzzles src/Dodge/HeldUse.hs 176;" f -heldItemRifling src/Dodge/HeldUse.hs 1035;" f +heldItemInvLock src/Dodge/HeldUse.hs 444;" f +heldItemMuzVel src/Dodge/HeldUse.hs 994;" f +heldItemMuzzles src/Dodge/HeldUse.hs 178;" f +heldItemRifling src/Dodge/HeldUse.hs 1037;" f heldItemSPic src/Dodge/Item/Draw/SPic.hs 234;" f heldItemWeight src/Dodge/Creature/Statistics.hs 80;" f heldPositionInfo src/Dodge/Item/Info.hs 240;" f -heldTorqueAmount src/Dodge/HeldUse.hs 586;" f +heldTorqueAmount src/Dodge/HeldUse.hs 588;" f heldTriggerType src/Dodge/BaseTriggerType.hs 27;" f helpPoly3D src/Polyhedra.hs 125;" f heron src/Geometry.hs 218;" f @@ -3736,9 +3737,9 @@ hiToFloat src/Dodge/Room/Modify/Girder.hs 171;" f highBar src/Dodge/Room/Foreground.hs 89;" f highDiagonalMesh src/Dodge/Room/Foreground.hs 35;" f highMesh src/Dodge/Room/Foreground.hs 25;" f -hit1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 607;" f +hit1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 610;" f hitEffFromBul src/Dodge/Bullet.hs 156;" f -hitS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 745;" f +hitS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 748;" f holdForm src/Dodge/Creature/Boid.hs 139;" f holsterWeapon src/Dodge/Creature/Volition.hs 15;" f homingModule src/Dodge/Item/Scope.hs 48;" f @@ -3773,9 +3774,9 @@ insertAt src/Padding.hs 63;" f insertIMInZone src/Dodge/Base.hs 54;" f insertInTrie src/SimpleTrie.hs 24;" f insertNewKey src/IntMapHelp.hs 65;" f -insertOneS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 801;" f +insertOneS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 806;" f insertOver src/ListHelp.hs 47;" f -insertS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 705;" f +insertS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 708;" f insertStructureWalls src/Dodge/Placement/PlaceSpot/Block.hs 41;" f insertWall src/Dodge/Placement/PlaceSpot/Block.hs 134;" f insertWallInZones src/Dodge/Wall/Zone.hs 20;" f @@ -3839,7 +3840,7 @@ invertIntMapUnique src/IntMapHelp.hs 103;" f invertInventoryToMap src/Dodge/Combine.hs 57;" f invisibleChaseCrit src/Dodge/Creature/ChaseCrit.hs 21;" f invisibleWall src/Dodge/Placement/Instance/Wall.hs 27;" f -isAmmoIntLink src/Dodge/HeldUse.hs 717;" f +isAmmoIntLink src/Dodge/HeldUse.hs 719;" f isAnimate src/Dodge/Creature/Test.hs 134;" f isCognizant src/Dodge/Creature/Perception.hs 105;" f isConnected src/Dodge/Inventory/Swap.hs 77;" f @@ -3857,7 +3858,7 @@ isNHS src/Geometry/Intersect.hs 53;" f isNothing' src/MaybeHelp.hs 31;" f isOnSeg src/Geometry.hs 237;" f isOutLnk src/Dodge/PlacementSpot.hs 166;" f -isOverTerminalScreen src/Dodge/Update.hs 412;" f +isOverTerminalScreen src/Dodge/Update.hs 433;" f isPulseLaser src/Dodge/IsPulseLaser.hs 10;" f isPutID src/Dodge/Placement/Instance/Wall.hs 108;" f isRHS src/Geometry/LHS.hs 32;" f @@ -3884,7 +3885,7 @@ itemBlips src/Dodge/RadarSweep.hs 94;" f itemBulkiness src/Dodge/Creature/YourControl.hs 188;" f itemCombinations src/Dodge/Combine/Combinations.hs 56;" f itemCombinationsEdges src/Dodge/Combine/Graph.hs 59;" f -itemDetectorEffect src/Dodge/HeldUse.hs 789;" f +itemDetectorEffect src/Dodge/HeldUse.hs 791;" f itemDisplay src/Dodge/Inventory/SelectionList.hs 53;" f itemEquipPict src/Dodge/Item/Draw.hs 18;" f itemExternalValue src/Dodge/Inventory/SelectionList.hs 88;" f @@ -3896,8 +3897,8 @@ itemFromHeldType src/Dodge/Item/Held.hs 25;" f itemInfo src/Dodge/Item/Info.hs 20;" f itemInternalValue src/Dodge/Item/Display.hs 34;" f itemInvColor src/Dodge/Item/InventoryColor.hs 9;" f -itemInvLock src/Dodge/HeldUse.hs 437;" f -itemMuzzles src/Dodge/HeldUse.hs 162;" f +itemInvLock src/Dodge/HeldUse.hs 439;" f +itemMuzzles src/Dodge/HeldUse.hs 164;" f itemRooms src/Dodge/LockAndKey.hs 39;" f itemRotTreeSPic src/Dodge/Item/Draw/SPicTree.hs 16;" f itemSPic src/Dodge/Item/Draw/SPic.hs 17;" f @@ -3910,7 +3911,7 @@ itemShapeMaxX src/Dodge/Item/Orientation.hs 47;" f itemShapeMaxY src/Dodge/Item/Orientation.hs 50;" f itemShapeMaxZ src/Dodge/Item/Orientation.hs 53;" f itemShapeMin src/Dodge/Item/Orientation.hs 62;" f -itemSidePush src/Dodge/HeldUse.hs 385;" f +itemSidePush src/Dodge/HeldUse.hs 387;" f itemString src/Dodge/Item/Display.hs 56;" f itemToFunction src/Dodge/Item/Grammar.hs 107;" f itemTreeSPic src/Dodge/Item/Draw/SPicTree.hs 13;" f @@ -3941,17 +3942,17 @@ keyCardRoomRunPast src/Dodge/Room/LasTurret.hs 75;" f keyCardRunPastRand src/Dodge/LockAndKey.hs 36;" f keyPic src/Dodge/Item/Draw/SPic.hs 438;" f keyholeCorridor src/Dodge/Room/Corridor.hs 40;" f -knifeS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 733;" f +knifeS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 736;" f lChasm src/Dodge/Room/Tutorial.hs 140;" f lConnect src/Dodge/Render/Connectors.hs 43;" f lConnectCol src/Dodge/Render/Connectors.hs 46;" f lConnectMulti src/Dodge/Render/Connectors.hs 51;" f lShape src/Dodge/Placement/Instance/LightSource.hs 54;" f lamp src/Dodge/Creature/Lamp.hs 18;" f -lampCrSPic src/Dodge/Render/ShapePicture.hs 87;" f +lampCrSPic src/Dodge/Render/ShapePicture.hs 112;" f lasCenSensEdge src/Dodge/Room/LasTurret.hs 130;" f lasGunPic src/Dodge/Item/Draw/SPic.hs 413;" f -lasPulseS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 723;" f +lasPulseS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 726;" f lasSensorTurretTest src/Dodge/Room/LasTurret.hs 123;" f lasTunnel src/Dodge/Room/LasTurret.hs 142;" f lasTunnelRunPast src/Dodge/Room/LasTurret.hs 183;" f @@ -3974,7 +3975,7 @@ ldtToDT src/Dodge/DoubleTree.hs 16;" f ldtToIM src/Dodge/DoubleTree.hs 219;" f ldtToIndentList src/Dodge/DoubleTree.hs 222;" f ldtToLoc src/Dodge/DoubleTree.hs 268;" f -leaveResetQuitTerminal src/Dodge/WorldEffect.hs 168;" f +leaveResetQuitTerminal src/Dodge/WorldEffect.hs 166;" f led src/Dodge/Item/Held/Utility.hs 23;" f left src/DoubleStack.hs 16;" f leftChildList src/Dodge/Item/Grammar.hs 185;" f @@ -4015,7 +4016,7 @@ lmt src/MatrixHelper.hs 53;" f lnkMidPosInvSelsCol src/Dodge/Render/HUD.hs 404;" f loadDodgeConfig src/Dodge/Config.hs 30;" f loadMusic src/Dodge/SoundLogic/LoadSound.hs 30;" f -loadMuzzle src/Dodge/HeldUse.hs 630;" f +loadMuzzle src/Dodge/HeldUse.hs 632;" f loadSaveSlot src/Dodge/Save.hs 74;" f loadSeed src/Dodge/LoadSeed.hs 7;" f loadSound src/Dodge/SoundLogic/LoadSound.hs 11;" f @@ -4032,7 +4033,7 @@ locGoLeft src/Dodge/DoubleTree.hs 319;" f locGoRight src/Dodge/DoubleTree.hs 324;" f locLDTToLocDT src/Dodge/DoubleTree.hs 19;" f locLeftmost src/Dodge/DoubleTree.hs 306;" f -locMuzzles src/Dodge/HeldUse.hs 145;" f +locMuzzles src/Dodge/HeldUse.hs 147;" f locOrient src/Dodge/Item/HeldOffset.hs 52;" f locRightmost src/Dodge/DoubleTree.hs 309;" f locToTop src/Dodge/DoubleTree.hs 301;" f @@ -4055,7 +4056,7 @@ loopPairs src/ListHelp.hs 30;" f lootRoom src/Dodge/Room/Treasure.hs 58;" f lorem src/Lorem.hs 3;" f lowBlock src/Dodge/Placement/Instance/Block.hs 28;" f -lowWhirS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 535;" f +lowWhirS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 538;" f lsColPos src/Dodge/LightSource.hs 24;" f lsColPosID src/Dodge/LightSource.hs 21;" f lsColPosRad src/Dodge/LightSource.hs 30;" f @@ -4065,7 +4066,7 @@ ltAutoCrit src/Dodge/Creature/LtAutoCrit.hs 12;" f m src/ShortShow.hs 48;" f mAT src/Dodge/Item/MagAmmoType.hs 20;" f machinePistol src/Dodge/Item/Held/Stick.hs 52;" f -magAmmoParams src/Dodge/HeldUse.hs 927;" f +magAmmoParams src/Dodge/HeldUse.hs 929;" f magAmmoType src/Dodge/Item/MagAmmoType.hs 12;" f magMax src/Dodge/Item/MagAmmoType.hs 29;" f magShield src/Dodge/Item/Equipment.hs 27;" f @@ -4080,7 +4081,7 @@ makeArc src/Picture/Base.hs 160;" f makeAttach src/Dodge/Item/Attach.hs 10;" f makeBlip src/Dodge/RadarSweep.hs 70;" f makeBlockDebris src/Dodge/Block/Debris.hs 36;" f -makeBullet src/Dodge/HeldUse.hs 971;" f +makeBullet src/Dodge/HeldUse.hs 973;" f makeButton src/Dodge/LevelGen/Switch.hs 16;" f makeCloudAt src/Dodge/WorldEvent/Cloud.hs 7;" f makeColorTermLine src/Dodge/Terminal.hs 124;" f @@ -4099,7 +4100,7 @@ makeFragBullets src/Dodge/Bullet.hs 132;" f makeGasCloud src/Dodge/WorldEvent/SpawnParticle.hs 11;" f makeIntInterval src/Dodge/Zoning/Base.hs 37;" f makeMovingEB src/Dodge/EnergyBall.hs 60;" f -makeMuzzleFlare src/Dodge/HeldUse.hs 656;" f +makeMuzzleFlare src/Dodge/HeldUse.hs 658;" f makeParagraph src/Justify.hs 6;" f makePathBetween src/Dodge/Path.hs 63;" f makePathBetweenPs src/Dodge/Path.hs 87;" f @@ -4122,10 +4123,10 @@ makeTileFromPoly src/Tile.hs 34;" f makeTypeCraft src/Dodge/Item/Craftable.hs 18;" f makeTypeCraftNum src/Dodge/Item/Craftable.hs 12;" f mapper src/Dodge/Item/Scope.hs 70;" f -marimbaB6S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 609;" f -marimbaC5S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 579;" f -marimbaE5S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 617;" f -marimbaG5S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 605;" f +marimbaB6S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 612;" f +marimbaC5S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 582;" f +marimbaE5S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 620;" f +marimbaG5S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 608;" f materialColor src/Dodge/Material/Color.hs 8;" f materialPenetrable src/Dodge/Bullet.hs 211;" f maxAmmo src/Dodge/Item/MaxAmmo.hs 6;" f @@ -4138,7 +4139,7 @@ maybeClearLoadingScreen src/Dodge/StartNewGame.hs 58;" f maybeDestroyBlock src/Dodge/Wall/Damage.hs 59;" f maybeDestroyDoor src/Dodge/Wall/Damage.hs 64;" f maybeExitCombine src/Dodge/Update/Input/InGame.hs 568;" f -maybeOpenConsole src/Dodge/Update.hs 127;" f +maybeOpenConsole src/Dodge/Update.hs 131;" f maybeReadFile src/Dodge/LoadSeed.hs 10;" f maybeTakeOne src/RandomHelp.hs 116;" f maybeWarmupStatus src/Dodge/Item/Display.hs 45;" f @@ -4155,11 +4156,11 @@ mcProxSensorTriggerUpdate src/Dodge/Machine/Update.hs 126;" f mcProxSensorUpdate src/Dodge/Machine/Update.hs 177;" f mcProxTest src/Dodge/Machine/Update.hs 258;" f mcProximitySensorUpdate src/Dodge/Machine/Update.hs 219;" f -mcSPic src/Dodge/Render/ShapePicture.hs 134;" f -mcShootAuto src/Dodge/HeldUse.hs 1161;" f -mcShootLaser src/Dodge/HeldUse.hs 1154;" f +mcSPic src/Dodge/Render/ShapePicture.hs 159;" f +mcShootAuto src/Dodge/HeldUse.hs 1163;" f +mcShootLaser src/Dodge/HeldUse.hs 1156;" f mcTypeUpdate src/Dodge/Machine/Update.hs 33;" f -mcUseHeld src/Dodge/HeldUse.hs 1078;" f +mcUseHeld src/Dodge/HeldUse.hs 1080;" f mcUseItem src/Dodge/Machine/Update.hs 111;" f megaBattery src/Dodge/Item/Ammo.hs 55;" f megaShellMag src/Dodge/Item/Ammo.hs 44;" f @@ -4177,13 +4178,13 @@ merge src/ListHelp.hs 84;" f mergeBy src/ListHelp.hs 87;" f mergeOn src/ListHelp.hs 94;" f mergeSound src/Sound.hs 59;" f -metal1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 831;" f -metal2S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 727;" f -metal3S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 567;" f -metal4S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 517;" f -metal5S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 647;" f -metal6S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 771;" f -metal7S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 677;" f +metal1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 836;" f +metal2S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 730;" f +metal3S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 570;" f +metal4S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 520;" f +metal5S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 650;" f +metal6S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 774;" f +metal7S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 680;" f metalPlate src/Dodge/Item/Craftable.hs 35;" f mglCreate src/GLHelp.hs 8;" f mglDelete src/GLHelp.hs 14;" f @@ -4197,18 +4198,18 @@ midWall src/Dodge/Placement/Instance/Wall.hs 38;" f minAndMax src/FoldableHelp.hs 109;" f minCrIXOn src/Dodge/Zoning/Creature.hs 49;" f minOn src/FoldableHelp.hs 35;" f -mini1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 577;" f +mini1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 580;" f miniGunCrit src/Dodge/Creature.hs 61;" f miniGunX src/Dodge/Item/Held/Cane.hs 33;" f miniGunXPict src/Dodge/Item/Draw/SPic.hs 373;" f miniGunXPictItem src/Dodge/Item/Draw/SPic.hs 370;" f -miniS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 645;" f +miniS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 648;" f miniTree2 src/Dodge/Room/Room.hs 121;" f minimumOn src/FoldlHelp.hs 14;" f mirrorXAxis src/Geometry/Polygon.hs 68;" f mirrorxz src/Picture/Base.hs 350;" f mirroryz src/Picture/Base.hs 355;" f -missileLaunchS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 613;" f +missileLaunchS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 616;" f mixColors src/Color.hs 113;" f mixColorsFrac src/Color.hs 109;" f mixColorsLinear src/Color.hs 122;" f @@ -4249,13 +4250,14 @@ multiArrow src/Picture/Composite.hs 11;" f multiLookupTrie src/SimpleTrie.hs 57;" f multiLookupTrieI src/SimpleTrie.hs 66;" f muout src/Dodge/RoomLink.hs 144;" f -muzFlareAt src/Dodge/HeldUse.hs 678;" f -muzzlePos src/Dodge/HeldUse.hs 764;" f -muzzleRandPos src/Dodge/HeldUse.hs 773;" f +muzFlareAt src/Dodge/HeldUse.hs 680;" f +muzzlePos src/Dodge/HeldUse.hs 766;" f +muzzleRandPos src/Dodge/HeldUse.hs 775;" f +muzzleWallCheck src/Dodge/Update.hs 320;" f mvButton src/Dodge/Placement/PlaceSpot.hs 175;" f mvCr src/Dodge/Placement/PlaceSpot.hs 178;" f mvFS src/Dodge/Placement/PlaceSpot.hs 184;" f -mvGust src/Dodge/Update.hs 791;" f +mvGust src/Dodge/Update.hs 812;" f mvLS src/Dodge/Placement/PlaceSpot.hs 219;" f mvPointAlongAtSpeed src/Dodge/Base.hs 121;" f mvPointMeleeTarg src/Dodge/Creature/Boid.hs 327;" f @@ -4308,12 +4310,12 @@ numSubElements src/Shader/Parameters.hs 39;" f numTraversable src/TreeHelp.hs 184;" f obstacleColor src/Dodge/Debug/Picture.hs 263;" f obstructPathsCrossing src/Dodge/Path.hs 120;" f -oldMachineBootS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 627;" f +oldMachineBootS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 630;" f onEquipWristShield src/Dodge/Equipment.hs 37;" f onRemoveWristShield src/Dodge/Equipment.hs 24;" f onXY src/Geometry/Vector3D.hs 130;" f oneH src/Dodge/Creature/Test.hs 96;" f -openConsole src/Dodge/Update.hs 132;" f +openConsole src/Dodge/Update.hs 136;" f optionMenu src/Dodge/Menu.hs 112;" f optionScreenDefaultEffect src/Dodge/Update/Input/ScreenLayer.hs 62;" f optionScreenUpdate src/Dodge/Update/Input/ScreenLayer.hs 53;" f @@ -4368,8 +4370,8 @@ pauseGame src/Dodge/Update/Input/InGame.hs 531;" f pauseMenu src/Dodge/Menu.hs 59;" f pauseMenuOptions src/Dodge/Menu.hs 66;" f pauseSound src/Dodge/SoundLogic.hs 42;" f -pauseTime src/Dodge/Update.hs 189;" f -pbFlicker src/Dodge/Update.hs 472;" f +pauseTime src/Dodge/Update.hs 193;" f +pbFlicker src/Dodge/Update.hs 493;" f pbsHit src/Dodge/WorldEvent/ThingsHit.hs 97;" f peZoneSize src/Dodge/Zoning/Pathing.hs 49;" f pedestalRoom src/Dodge/Room/Containing.hs 50;" f @@ -4386,7 +4388,7 @@ picFormat src/Polyhedra.hs 23;" f picMap src/Picture/Base.hs 70;" f pickUpItem src/Dodge/Inventory/Add.hs 70;" f pickUpItemAt src/Dodge/Inventory/Add.hs 75;" f -pickUpS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 763;" f +pickUpS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 766;" f pincerP src/Dodge/Creature/Boid.hs 63;" f pincerP' src/Dodge/Creature/Boid.hs 96;" f pincerP'' src/Dodge/Creature/Boid.hs 106;" f @@ -4507,7 +4509,7 @@ prependTwo src/Geometry.hs 177;" f prettyDT src/Dodge/DoubleTree.hs 258;" f prettyLDT src/Dodge/DoubleTree.hs 263;" f prettyShort src/AesonHelp.hs 11;" f -primeS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 637;" f +primeS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 640;" f printColumnTitles src/Dodge/Tree/Shift.hs 149;" f printColumns src/Dodge/Tree/Shift.hs 139;" f printInfo src/Dodge/Tree/Shift.hs 152;" f @@ -4544,6 +4546,7 @@ pushOutFromWall src/Dodge/WallCreatureCollisions.hs 101;" f pushOutFromWalls src/Dodge/WallCreatureCollisions.hs 64;" f pushR src/DoubleStack.hs 24;" f pushScreen src/Dodge/Menu/PushPop.hs 9;" f +pushYouOutFromWalls src/Dodge/Update.hs 317;" f putAutoDoor src/Dodge/Placement/Instance/Door.hs 87;" f putBlockN src/Dodge/Placement/Instance/Wall.hs 120;" f putBlockRect src/Dodge/Placement/Instance/Wall.hs 111;" f @@ -4578,7 +4581,7 @@ rLauncher src/Dodge/Item/Held/Launcher.hs 14;" f rLauncherX src/Dodge/Item/Held/Launcher.hs 30;" f rToOnward src/Dodge/Cleat.hs 21;" f radToDeg src/Geometry/Vector.hs 123;" f -radiusSpring src/Dodge/Update.hs 871;" f +radiusSpring src/Dodge/Update.hs 892;" f randBlockBreakWeapon src/Dodge/Item/Random.hs 7;" f randC1 src/Dodge/Placement/Instance/Creature.hs 8;" f randDirPS src/Dodge/PlacementSpot.hs 56;" f @@ -4600,7 +4603,7 @@ randPeakedParam src/RandomHelp.hs 130;" f randProb src/RandomHelp.hs 68;" f randSpark src/Dodge/Spark.hs 69;" f randSparkExtraVel src/Dodge/Spark.hs 92;" f -randWallReflect src/Dodge/Update.hs 647;" f +randWallReflect src/Dodge/Update.hs 668;" f randomChallenges src/Dodge/Room/Start.hs 63;" f randomCompass src/Dodge/Layout.hs 60;" f randomFourCornerRoom src/Dodge/Room/Procedural.hs 246;" f @@ -4624,7 +4627,7 @@ recComFindPredecessor src/Dodge/Terminal.hs 200;" f recComFindSuccessor src/Dodge/Terminal.hs 190;" f recComLookup src/Dodge/Terminal.hs 180;" f recTabComplete src/Dodge/Terminal.hs 227;" f -recoilAmount src/Dodge/HeldUse.hs 467;" f +recoilAmount src/Dodge/HeldUse.hs 469;" f rectNSWE src/Geometry/Polygon.hs 15;" f rectVV src/Geometry/Polygon.hs 40;" f rectWH src/Geometry/Polygon.hs 19;" f @@ -4646,14 +4649,15 @@ refract src/Dodge/Item/Weapon/LaserPath.hs 39;" f refreshOptionsSelectionList src/Dodge/Menu/Option.hs 35;" f regexCombs src/Dodge/DisplayInventory.hs 71;" f regexList src/Dodge/DisplayInventory.hs 312;" f -reload1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 693;" f +reload1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 696;" f +reloadFailS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 794;" f reloadLevelStart src/Dodge/Save.hs 71;" f -reloadS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 525;" f +reloadS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 528;" f rememberSounds src/Dodge/Creature/Perception.hs 176;" f remoteDetonator src/Dodge/Item/Scope.hs 144;" f remoteScreen src/Dodge/Item/Scope.hs 139;" f removeAimPosture src/Dodge/Creature/YourControl.hs 159;" f -removeAmmoFromMag src/Dodge/HeldUse.hs 902;" f +removeAmmoFromMag src/Dodge/HeldUse.hs 904;" f removeDot src/ShortShow.hs 44;" f removeInverseWalls src/Dodge/LevelGen/StaticWalls.hs 25;" f removeLights src/Dodge/Room/Tutorial.hs 249;" f @@ -4672,7 +4676,7 @@ replacePutID src/Dodge/Placement/Instance/Wall.hs 81;" f resetCrVocCoolDown src/Dodge/Creature/Vocalization.hs 47;" f resetPLUse src/Dodge/PlacementSpot.hs 92;" f resetStride src/Dodge/Creature/State/WalkCycle.hs 25;" f -resetTerminal src/Dodge/WorldEffect.hs 162;" f +resetTerminal src/Dodge/WorldEffect.hs 160;" f resizeFBOTO src/Framebuffer/Update.hs 185;" f resizeFBOTO' src/Framebuffer/Update.hs 197;" f resizeFBOTO2 src/Framebuffer/Update.hs 104;" f @@ -4687,7 +4691,7 @@ restrictRMInLinksPD src/Dodge/Room/Link.hs 25;" f resumeSound src/Dodge/SoundLogic.hs 48;" f retreatPointForFrom src/Dodge/Creature/Impulse/Flee.hs 9;" f revCard src/Dodge/Data/CardinalPoint.hs 13;" f -reverseCymbal1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 797;" f +reverseCymbal1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 802;" f reversePair src/Dodge/LevelGen.hs 85;" f rewinder src/Dodge/Item/Held/Utility.hs 36;" f rezBox src/Dodge/Room/RezBox.hs 31;" f @@ -4786,7 +4790,7 @@ saveQuit src/Dodge/Menu.hs 79;" f saveQuitConc src/Dodge/Menu.hs 82;" f saveSlotPath src/Dodge/Save.hs 63;" f saveWorldInSlot src/Dodge/Save.hs 68;" f -sawtoothFailS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 783;" f +sawtoothFailS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 786;" f scToTS src/Dodge/Event/Input.hs 34;" f scale src/Picture/Base.hs 152;" f scale3 src/Picture/Base.hs 148;" f @@ -4806,17 +4810,17 @@ scrollAugInvSel src/Dodge/Inventory.hs 191;" f scrollAugNextInSection src/Dodge/Inventory.hs 204;" f scrollRBOption src/Dodge/Update/Scroll.hs 137;" f scrollSelectionSections src/Dodge/SelectionSections.hs 28;" f -scrollTimeBack src/Dodge/Update.hs 215;" f -scrollTimeForward src/Dodge/Update.hs 232;" f -seagullBarkS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 573;" f -seagullBarkTransformedS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 527;" f -seagullChatter1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 593;" f -seagullChatterS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 819;" f -seagullCry1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 625;" f -seagullCry2S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 663;" f -seagullCryS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 673;" f -seagullWhistle1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 741;" f -seagullWhistleS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 615;" f +scrollTimeBack src/Dodge/Update.hs 219;" f +scrollTimeForward src/Dodge/Update.hs 236;" f +seagullBarkS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 576;" f +seagullBarkTransformedS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 530;" f +seagullChatter1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 596;" f +seagullChatterS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 824;" f +seagullCry1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 628;" f +seagullCry2S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 666;" f +seagullCryS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 676;" f +seagullWhistle1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 744;" f +seagullWhistleS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 618;" f searchIfDamaged src/Dodge/Creature/ReaderUpdate.hs 213;" f secondColumnLDP src/Dodge/ListDisplayParams.hs 41;" f sectionsDesiredLines src/Dodge/DisplayInventory.hs 202;" f @@ -4831,7 +4835,7 @@ selSecSelCol src/Dodge/Render/HUD.hs 501;" f selSecSelSize src/Dodge/SelectionSections.hs 143;" f selSecYint src/Dodge/SelectionSections.hs 152;" f selectedItemScroll src/Dodge/Update/Scroll.hs 47;" f -semitoneLoop1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 777;" f +semitoneLoop1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 780;" f sensAboveDoor src/Dodge/Room/SensorDoor.hs 53;" f sensInsideDoor src/Dodge/Room/SensorDoor.hs 59;" f senseDamage src/Dodge/Machine/Update.hs 274;" f @@ -4846,7 +4850,7 @@ sentinelExtraWatchUpdate src/Dodge/Creature/SentinelAI.hs 82;" f sentinelFireType src/Dodge/Creature/SentinelAI.hs 49;" f setAimPosture src/Dodge/Creature/YourControl.hs 145;" f setChannelPos src/Sound.hs 151;" f -setClickWorldPos src/Dodge/Update.hs 102;" f +setClickWorldPos src/Dodge/Update.hs 106;" f setClip src/Dodge/Debug.hs 193;" f setClusterID src/Dodge/Combine/Graph.hs 114;" f setDepth src/Picture/Base.hs 131;" f @@ -4861,7 +4865,7 @@ setLinkType src/Dodge/RoomLink.hs 78;" f setLinkTypePD src/Dodge/RoomLink.hs 85;" f setMusicVolume src/Sound.hs 163;" f setMvPos src/Dodge/Creature/ReaderUpdate.hs 58;" f -setOldPos src/Dodge/Update.hs 506;" f +setOldPos src/Dodge/Update.hs 527;" f setOutLinks src/Dodge/RoomLink.hs 50;" f setOutLinksByType src/Dodge/RoomLink.hs 75;" f setOutLinksPD src/Dodge/RoomLink.hs 95;" f @@ -4909,7 +4913,7 @@ shellShape src/Dodge/Projectile/Draw.hs 35;" f shieldWall src/Dodge/Item/BackgroundEffect.hs 77;" f shiftByV2 src/Dodge/PlacementSpot.hs 250;" f shiftChildren src/Dodge/Tree/Compose.hs 44;" f -shiftDraw src/Dodge/Render/ShapePicture.hs 92;" f +shiftDraw src/Dodge/Render/ShapePicture.hs 117;" f shiftInBy src/Dodge/PlacementSpot.hs 247;" f shiftInvItems src/Dodge/Update/Input/InGame.hs 310;" f shiftInvItemsDown src/Dodge/Update/Input/InGame.hs 355;" f @@ -4927,23 +4931,23 @@ shiftRoomShiftBy src/Dodge/Room/Link.hs 81;" f shiftRoomShiftToLink src/Dodge/Room/Link.hs 70;" f shineTargetLaser src/Dodge/Creature/State.hs 201;" f shineTorch src/Dodge/Creature/State.hs 238;" f -shootBullet src/Dodge/HeldUse.hs 965;" f -shootBullets src/Dodge/HeldUse.hs 959;" f +shootBullet src/Dodge/HeldUse.hs 967;" f +shootBullets src/Dodge/HeldUse.hs 961;" f shootFirstMiss src/Dodge/Creature/Volition.hs 34;" f -shootLaser src/Dodge/HeldUse.hs 847;" f -shootPulseBall src/Dodge/HeldUse.hs 888;" f -shootPulseLaser src/Dodge/HeldUse.hs 875;" f +shootLaser src/Dodge/HeldUse.hs 849;" f +shootPulseBall src/Dodge/HeldUse.hs 890;" f +shootPulseLaser src/Dodge/HeldUse.hs 877;" f shootShatter src/Dodge/Item/Weapon/Shatter.hs 12;" f -shootTeslaArc src/Dodge/HeldUse.hs 1178;" f +shootTeslaArc src/Dodge/HeldUse.hs 1180;" f shootTillEmpty src/Dodge/Creature/Volition.hs 19;" f -shootTractorBeam src/Dodge/HeldUse.hs 816;" f +shootTractorBeam src/Dodge/HeldUse.hs 818;" f shootersRoom src/Dodge/Room/Room.hs 332;" f shootersRoom' src/Dodge/Room/Room.hs 299;" f shootersRoom1 src/Dodge/Room/Room.hs 322;" f shootingRange src/Dodge/Room/Room.hs 349;" f shortPoint2 src/Dodge/ShortShow.hs 4;" f shortShow src/ShortShow.hs 7;" f -shotgunS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 521;" f +shotgunS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 524;" f shoulderHeight src/Dodge/Item/HeldOffset.hs 63;" f shoulderSH src/Dodge/Creature/Picture.hs 125;" f showAttachItem src/Dodge/Item/Display.hs 92;" f @@ -4961,10 +4965,10 @@ shuffleLinks src/Dodge/Room/Link.hs 30;" f shuffleRoomPos src/Dodge/Layout.hs 82;" f shuffleTail src/RandomHelp.hs 59;" f sigmoid src/Dodge/Base.hs 151;" f -simpleCrSprings src/Dodge/Update.hs 876;" f +simpleCrSprings src/Dodge/Update.hs 897;" f simpleTermMessage src/Dodge/Terminal.hs 275;" f -sineRaisePitchOneSecS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 749;" f -sineRaisePitchTwoSecS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 785;" f +sineRaisePitchOneSecS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 752;" f +sineRaisePitchTwoSecS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 788;" f singleAmmo src/Dodge/Item/AmmoSlots.hs 64;" f singleDT src/Dodge/DoubleTree.hs 10;" f singleLDT src/Dodge/DoubleTree.hs 13;" f @@ -4972,22 +4976,22 @@ singleton src/DoubleStack.hs 11;" f singletonTrie src/SimpleTrie.hs 20;" f sizeFBOs src/Framebuffer/Update.hs 19;" f skColor src/Dodge/Spark/Draw.hs 14;" f -skwareFadeTwoSecS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 789;" f -slap1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 803;" f -slap2S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 765;" f -slap3S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 691;" f -slap4S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 787;" f -slap5S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 793;" f -slap6S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 565;" f -slap7S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 563;" f -slapClean2S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 619;" f -slapClean3S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 695;" f -slapClean4S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 549;" f -slapClean5S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 833;" f -slapClean6S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 575;" f -slapClean7S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 739;" f -slapS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 659;" f -slideDoorS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 623;" f +skwareFadeTwoSecS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 792;" f +slap1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 808;" f +slap2S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 768;" f +slap3S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 694;" f +slap4S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 790;" f +slap5S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 798;" f +slap6S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 568;" f +slap7S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 566;" f +slapClean2S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 622;" f +slapClean3S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 698;" f +slapClean4S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 552;" f +slapClean5S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 838;" f +slapClean6S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 578;" f +slapClean7S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 742;" f +slapS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 662;" f +slideDoorS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 626;" f slideWindow src/ListHelp.hs 81;" f slowDoorRoom src/Dodge/Room/LongDoor.hs 140;" f slowDoorRoomRunPast src/Dodge/Room/LongDoor.hs 157;" f @@ -4995,10 +4999,10 @@ smallBattery src/Dodge/Item/Ammo.hs 60;" f smallBranch src/Dodge/Tree/GenerateStructure.hs 32;" f smallChaseCrit src/Dodge/Creature/ChaseCrit.hs 14;" f smallDrawTree src/Dodge/LevelGen.hs 91;" f -smallGlass1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 815;" f -smallGlass2S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 529;" f -smallGlass3S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 795;" f -smallGlass4S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 601;" f +smallGlass1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 820;" f +smallGlass2S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 532;" f +smallGlass3S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 800;" f +smallGlass4S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 604;" f smallPillar src/Dodge/Room/Pillar.hs 37;" f smallRoom src/Dodge/Room/RunPast.hs 31;" f smallSnailInt2 src/Dodge/Path.hs 81;" f @@ -5018,10 +5022,10 @@ soundMenuOptions src/Dodge/Menu.hs 163;" f soundMultiFrom src/Dodge/SoundLogic.hs 187;" f soundOriginIDsAt src/Dodge/WorldEvent/Sound.hs 18;" f soundOriginsIDsAt src/Dodge/WorldEvent/Sound.hs 13;" f -soundPathList src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 342;" f +soundPathList src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 344;" f soundPic src/Dodge/Debug/Picture.hs 363;" f soundStart src/Dodge/SoundLogic.hs 118;" f -soundToOnomato src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 173;" f +soundToOnomato src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 174;" f soundToVol src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 4;" f soundWithStatus src/Dodge/SoundLogic.hs 104;" f soundWithStatusVolume src/Dodge/SoundLogic.hs 54;" f @@ -5092,11 +5096,11 @@ startSeedGameConc src/Dodge/StartNewGame.hs 46;" f statsModifier src/Dodge/Creature/Info.hs 16;" f stickHitSound src/Dodge/Projectile/Update.hs 77;" f stickyMod src/Dodge/Item/Scope.hs 51;" f -stone1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 583;" f -stone2S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 759;" f -stone3S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 531;" f -stone4S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 537;" f -stone5S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 649;" f +stone1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 586;" f +stone2S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 762;" f +stone3S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 534;" f +stone4S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 540;" f +stone5S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 652;" f stopAllSounds src/Sound.hs 126;" f stopBulletAt src/Dodge/Bullet.hs 200;" f stopPushing src/Dodge/Wall/Damage.hs 95;" f @@ -5137,11 +5141,11 @@ tankShape src/Dodge/Placement/Instance/Tank.hs 23;" f tankSquareDec src/Dodge/Placement/Instance/Tank.hs 15;" f tanksPipesRoom src/Dodge/Room/Tanks.hs 69;" f tanksRoom src/Dodge/Room/Tanks.hs 77;" f -tap1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 773;" f -tap2S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 511;" f -tap3S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 719;" f -tap4S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 805;" f -tapQuietS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 629;" f +tap1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 776;" f +tap2S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 514;" f +tap3S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 722;" f +tap4S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 810;" f +tapQuietS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 632;" f targCorner src/Dodge/Targeting/Draw.hs 35;" f targetCursorPic src/Dodge/Targeting/Draw.hs 41;" f targetYouCognizant src/Dodge/Creature/ChooseTarget.hs 14;" f @@ -5150,7 +5154,7 @@ targetYouWhenCognizant src/Dodge/Creature/ReaderUpdate.hs 202;" f targetYouWhenCognizant src/Dodge/Creature/SetTarget.hs 9;" f targetingScope src/Dodge/Item/Scope.hs 38;" f tbComplete src/Dodge/Terminal.hs 217;" f -teleS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 569;" f +teleS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 572;" f termScreenColor src/Dodge/Terminal/Color.hs 8;" f termSoundLine src/Dodge/Terminal.hs 49;" f termTextColor src/Dodge/Terminal.hs 52;" f @@ -5166,6 +5170,8 @@ teslaGunPic src/Dodge/Item/Draw/SPic.hs 410;" f teslaParams src/Dodge/Item/Held/BatteryGuns.hs 25;" f testEvent src/Dodge/Event/Test.hs 11;" f testInventory src/Dodge/Creature.hs 290;" f +testPic src/Dodge/Render/ShapePicture.hs 61;" f +testSPic src/Dodge/Render/ShapePicture.hs 58;" f testStringInit src/Dodge/TestString.hs 34;" f text src/Picture/Base.hs 196;" f textGrad src/Picture/Text.hs 5;" f @@ -5194,23 +5200,23 @@ thingsHit src/Dodge/WorldEvent/ThingsHit.hs 44;" f thingsHitExceptCr src/Dodge/WorldEvent/ThingsHit.hs 127;" f thingsHitZ src/Dodge/WorldEvent/ThingsHit.hs 52;" f threeLineDecoration src/Dodge/Placement/TopDecoration.hs 67;" f -throb1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 791;" f -throbC4S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 753;" f +throb1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 796;" f +throbC4S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 756;" f throwItem src/Dodge/Creature/Action.hs 191;" f tileTexCoords src/Tile.hs 11;" f tilesFromRooms src/Dodge/Layout.hs 196;" f tilesToLine src/Shader/AuxAddition.hs 66;" f -timeFlowUpdate src/Dodge/Update.hs 175;" f +timeFlowUpdate src/Dodge/Update.hs 179;" f timeScroller src/Dodge/Item/Held/Utility.hs 42;" f timeStopper src/Dodge/Item/Held/Utility.hs 39;" f tinMag src/Dodge/Item/Ammo.hs 28;" f -ting1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 603;" f -ting2S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 667;" f -ting3S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 709;" f -ting4S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 597;" f -ting5S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 757;" f -tingS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 729;" f -tinitusS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 837;" f +ting1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 606;" f +ting2S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 670;" f +ting3S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 712;" f +ting4S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 600;" f +ting5S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 760;" f +tingS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 732;" f +tinitusS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 842;" f titleOptionsMenu src/Dodge/Menu.hs 106;" f titleOptionsNoWrite src/Dodge/Menu.hs 109;" f tlDoEffect src/Dodge/Terminal.hs 115;" f @@ -5236,21 +5242,21 @@ toggleEquipmentAt src/Dodge/Creature/Impulse/UseItem.hs 67;" f toggleExamineInv src/Dodge/Creature/Impulse/UseItem.hs 105;" f toggleJust src/MaybeHelp.hs 39;" f toggleMapperInv src/Dodge/Creature/Impulse/UseItem.hs 110;" f -tone440S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 683;" f -tone440raiseS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 595;" f -tone440sawtoothS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 651;" f -tone440sawtoothquietS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 655;" f +tone440S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 686;" f +tone440raiseS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 598;" f +tone440sawtoothS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 654;" f +tone440sawtoothquietS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 658;" f topInvW src/Dodge/ListDisplayParams.hs 50;" f topPrismEdgeIndices src/Shader/Poke.hs 335;" f topPrismIndices src/Shader/Poke.hs 410;" f topTestPart src/Dodge/TestString.hs 50;" f torchShape src/Dodge/Item/Draw/SPic.hs 277;" f -torqueAmount src/Dodge/HeldUse.hs 581;" f +torqueAmount src/Dodge/HeldUse.hs 583;" f torqueCr src/Dodge/WorldEffect.hs 87;" f torso src/Dodge/Creature/Picture.hs 103;" f tractCr src/Dodge/TractorBeam/Update.hs 28;" f tractFlIt src/Dodge/TractorBeam/Update.hs 23;" f -tractorBeamAt src/Dodge/HeldUse.hs 828;" f +tractorBeamAt src/Dodge/HeldUse.hs 830;" f tractorGun src/Dodge/Item/Held/BatteryGuns.hs 53;" f tractorGunPic src/Dodge/Item/Draw/SPic.hs 416;" f tractorPullPos src/Dodge/TractorBeam/Update.hs 33;" f @@ -5330,9 +5336,9 @@ twoFlat src/Dodge/Creature/Test.hs 99;" f twoFlatHRot src/Dodge/Item/HeldOffset.hs 75;" f twoHandTwistAmount src/Dodge/Creature/YourControl.hs 166;" f twoRoomPoss src/Dodge/PlacementSpot.hs 146;" f -twoStep1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 513;" f -twoStepS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 561;" f -twoStepSlowS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 641;" f +twoStep1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 516;" f +twoStepS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 564;" f +twoStepSlowS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 644;" f ubyteSize src/Shader/Parameters.hs 13;" f ugateCalc src/Dodge/Inventory/SelectionList.hs 115;" f uncurryV src/Geometry/Data.hs 66;" f @@ -5352,7 +5358,7 @@ unusedOffPathAwayFromLink src/Dodge/PlacementSpot.hs 131;" f unusedSpotAwayFromInLink src/Dodge/PlacementSpot.hs 137;" f unusedSpotAwayFromLink src/Dodge/PlacementSpot.hs 119;" f unusedSpotNearInLink src/Dodge/PlacementSpot.hs 196;" f -updateAimPos src/Dodge/Update.hs 321;" f +updateAimPos src/Dodge/Update.hs 342;" f updateAllNodes src/TreeHelp.hs 86;" f updateArc src/Dodge/Tesla.hs 44;" f updateBackspaceRegex src/Dodge/Update/Input/InGame.hs 484;" f @@ -5362,48 +5368,48 @@ updateBaseWheelEvent src/Dodge/Update/Scroll.hs 30;" f updateBounds src/Dodge/Update/Camera.hs 265;" f updateBulVel src/Dodge/Bullet.hs 57;" f updateBullet src/Dodge/Bullet.hs 22;" f -updateBullets src/Dodge/Update.hs 569;" f +updateBullets src/Dodge/Update.hs 590;" f updateCamera src/Dodge/Update/Camera.hs 31;" f updateCloseObjects src/Dodge/Inventory.hs 115;" f -updateCloud src/Dodge/Update.hs 804;" f -updateClouds src/Dodge/Update.hs 673;" f +updateCloud src/Dodge/Update.hs 825;" f +updateClouds src/Dodge/Update.hs 694;" f updateCombinePositioning src/Dodge/DisplayInventory.hs 40;" f updateCombineSections src/Dodge/DisplayInventory.hs 47;" f updateCreature src/Dodge/Creature/Update.hs 32;" f updateCreature' src/Dodge/Creature/Update.hs 41;" f -updateCreatureGroups src/Dodge/Update.hs 541;" f -updateCreatureSoundPositions src/Dodge/Update.hs 520;" f -updateCreatureStride src/Dodge/Update.hs 315;" f -updateCreatureStrides src/Dodge/Update.hs 312;" f -updateDebris src/Dodge/Update.hs 576;" f +updateCreatureGroups src/Dodge/Update.hs 562;" f +updateCreatureSoundPositions src/Dodge/Update.hs 541;" f +updateCreatureStride src/Dodge/Update.hs 336;" f +updateCreatureStrides src/Dodge/Update.hs 333;" f +updateDebris src/Dodge/Update.hs 597;" f updateDebrisChunk src/Dodge/Prop/Moving.hs 16;" f -updateDebugMessageOffset src/Dodge/Update.hs 96;" f -updateDelayedEvents src/Dodge/Update.hs 905;" f +updateDebugMessageOffset src/Dodge/Update.hs 100;" f +updateDelayedEvents src/Dodge/Update.hs 926;" f updateDisplaySections src/Dodge/DisplayInventory.hs 116;" f updateDistortion src/Dodge/Distortion.hs 8;" f -updateDistortions src/Dodge/Update.hs 562;" f +updateDistortions src/Dodge/Update.hs 583;" f updateDoor src/Dodge/Door.hs 22;" f -updateDoors src/Dodge/Update.hs 326;" f -updateDust src/Dodge/Update.hs 851;" f -updateDusts src/Dodge/Update.hs 679;" f +updateDoors src/Dodge/Update.hs 347;" f +updateDust src/Dodge/Update.hs 872;" f +updateDusts src/Dodge/Update.hs 700;" f updateEdge src/Dodge/Path.hs 43;" f updateEdgeWallObs src/Dodge/Update/WallDamage.hs 39;" f updateEdgesWall src/Dodge/Update/WallDamage.hs 23;" f updateEdgesWall' src/Dodge/Update/WallDamage.hs 36;" f updateEnergyBall src/Dodge/EnergyBall.hs 31;" f -updateEnergyBalls src/Dodge/Update.hs 664;" f +updateEnergyBalls src/Dodge/Update.hs 685;" f updateEnterRegex src/Dodge/Update/Input/InGame.hs 511;" f updateExpBarrel src/Dodge/Barreloid.hs 21;" f updateFlame src/Dodge/Flame.hs 19;" f -updateFlames src/Dodge/Update.hs 661;" f +updateFlames src/Dodge/Update.hs 682;" f updateFloatingCamera src/Dodge/Update/Camera.hs 36;" f updateFunctionKey src/Dodge/Update/Input/InGame.hs 368;" f updateFunctionKeys src/Dodge/Update/Input/InGame.hs 364;" f -updateGas src/Dodge/Update.hs 826;" f -updateGasses src/Dodge/Update.hs 676;" f -updateGusts src/Dodge/Update.hs 788;" f -updateIMl src/Dodge/Update.hs 535;" f -updateIMl' src/Dodge/Update.hs 538;" f +updateGas src/Dodge/Update.hs 847;" f +updateGasses src/Dodge/Update.hs 697;" f +updateGusts src/Dodge/Update.hs 809;" f +updateIMl src/Dodge/Update.hs 556;" f +updateIMl' src/Dodge/Update.hs 559;" f updateInGameCamera src/Dodge/Update/Camera.hs 84;" f updateInitialPressInGame src/Dodge/Update/Input/InGame.hs 434;" f updateInt2Map src/Dodge/Zoning/Base.hs 94;" f @@ -5416,32 +5422,32 @@ updateKeysInTerminal src/Dodge/Update/Input/InGame.hs 387;" f updateKeysTextInputTerminal src/Dodge/Update/Input/InGame.hs 410;" f updateLampoid src/Dodge/Lampoid.hs 13;" f updateLaser src/Dodge/Laser/Update.hs 11;" f -updateLasers src/Dodge/Update.hs 438;" f +updateLasers src/Dodge/Update.hs 459;" f updateLeftParentSF src/Dodge/Item/Grammar.hs 170;" f updateLinearShockwave src/Dodge/LinearShockwave/Update.hs 8;" f updateLongPressInGame src/Dodge/Update/Input/InGame.hs 447;" f updateMachine src/Dodge/Machine/Update.hs 25;" f -updateMagnets src/Dodge/Update.hs 329;" f +updateMagnets src/Dodge/Update.hs 350;" f updateMouseClickInGame src/Dodge/Update/Input/InGame.hs 204;" f -updateMouseContext src/Dodge/Update.hs 342;" f -updateMouseContextGame src/Dodge/Update.hs 347;" f +updateMouseContext src/Dodge/Update.hs 363;" f +updateMouseContextGame src/Dodge/Update.hs 368;" f updateMouseHeldInGame src/Dodge/Update/Input/InGame.hs 97;" f updateMouseInGame src/Dodge/Update/Input/InGame.hs 87;" f updateMouseReleaseInGame src/Dodge/Update/Input/InGame.hs 167;" f -updateObjCatMaybes src/Dodge/Update.hs 553;" f -updateObjMapMaybe src/Dodge/Update.hs 546;" f -updatePastWorlds src/Dodge/Update.hs 427;" f +updateObjCatMaybes src/Dodge/Update.hs 574;" f +updateObjMapMaybe src/Dodge/Update.hs 567;" f +updatePastWorlds src/Dodge/Update.hs 448;" f updatePreload src/Preload/Update.hs 21;" f updateProjectile src/Dodge/Projectile/Update.hs 26;" f updatePulse src/Dodge/Creature/Update.hs 123;" f -updatePulseBall src/Dodge/Update.hs 452;" f -updatePulseLaser src/Dodge/Update.hs 616;" f -updatePulseLasers src/Dodge/Update.hs 447;" f +updatePulseBall src/Dodge/Update.hs 473;" f +updatePulseLaser src/Dodge/Update.hs 637;" f +updatePulseLasers src/Dodge/Update.hs 468;" f updateRBList src/Dodge/Inventory/RBList.hs 22;" f updateRadarBlip src/Dodge/RadarBlip.hs 11;" f -updateRadarBlips src/Dodge/Update.hs 565;" f +updateRadarBlips src/Dodge/Update.hs 586;" f updateRadarSweep src/Dodge/RadarSweep.hs 40;" f -updateRadarSweeps src/Dodge/Update.hs 667;" f +updateRadarSweeps src/Dodge/Update.hs 688;" f updateRandNode src/TreeHelp.hs 109;" f updateRenderSplit appDodge/Main.hs 104;" f updateRightParentSF src/Dodge/Item/Grammar.hs 181;" f @@ -5451,30 +5457,30 @@ updateScrollTestValue src/Dodge/ScrollValue.hs 6;" f 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 658;" f +updateShockwaves src/Dodge/Update.hs 679;" f updateSingleNodes src/TreeHelp.hs 98;" f updateSound src/Sound.hs 72;" f updateSounds src/Sound.hs 67;" f updateSpark src/Dodge/Spark.hs 19;" f -updateSparks src/Dodge/Update.hs 670;" f -updateTerminal src/Dodge/Update.hs 490;" f -updateTeslaArc src/Dodge/Update.hs 586;" f -updateTeslaArcs src/Dodge/Update.hs 583;" f +updateSparks src/Dodge/Update.hs 691;" f +updateTerminal src/Dodge/Update.hs 511;" f +updateTeslaArc src/Dodge/Update.hs 607;" f +updateTeslaArcs src/Dodge/Update.hs 604;" f updateTractorBeam src/Dodge/TractorBeam/Update.hs 9;" f -updateTractorBeams src/Dodge/Update.hs 655;" f +updateTractorBeams src/Dodge/Update.hs 676;" f updateTurret src/Dodge/Machine/Update.hs 56;" f -updateUniverse src/Dodge/Update.hs 75;" f -updateUniverseFirst src/Dodge/Update.hs 86;" f -updateUniverseLast src/Dodge/Update.hs 137;" f -updateUniverseMid src/Dodge/Update.hs 157;" f +updateUniverse src/Dodge/Update.hs 79;" f +updateUniverseFirst src/Dodge/Update.hs 90;" f +updateUniverseLast src/Dodge/Update.hs 141;" f +updateUniverseMid src/Dodge/Update.hs 161;" f updateUseInputInGame src/Dodge/Update/Input/InGame.hs 46;" f updateUseInputOnScreen src/Dodge/Update/Input/ScreenLayer.hs 24;" f updateWalkCycle src/Dodge/Creature/State/WalkCycle.hs 11;" f updateWallDamages src/Dodge/Update/WallDamage.hs 15;" f updateWheelEvent src/Dodge/Update/Scroll.hs 21;" f -updateWheelEvents src/Dodge/Update.hs 417;" f -updateWorldEventFlag src/Dodge/Update.hs 121;" f -updateWorldEventFlags src/Dodge/Update.hs 109;" f +updateWheelEvents src/Dodge/Update.hs 438;" f +updateWorldEventFlag src/Dodge/Update.hs 125;" f +updateWorldEventFlags src/Dodge/Update.hs 113;" f upperBody src/Dodge/Creature/Picture.hs 121;" f upperBox src/Shape.hs 152;" f upperBoxHalf src/Shape.hs 218;" f @@ -5494,21 +5500,21 @@ upperPrismPolySU src/Shape.hs 110;" f upperPrismPolyTS src/Shape.hs 116;" f upperRounded src/Shape.hs 181;" f useBulletPayload src/Dodge/Bullet.hs 117;" f -useGasParams src/Dodge/HeldUse.hs 1083;" f +useGasParams src/Dodge/HeldUse.hs 1085;" f useHotkey src/Dodge/Creature/YourControl.hs 77;" f -useInventoryPath src/Dodge/HeldUse.hs 1374;" f +useInventoryPath src/Dodge/HeldUse.hs 1376;" f useItem src/Dodge/Creature/Impulse/UseItem.hs 19;" f useItemLoc src/Dodge/Creature/Impulse/UseItem.hs 26;" f useLnkRoomPos src/Dodge/PlacementSpot.hs 255;" f -useLoadedAmmo src/Dodge/HeldUse.hs 720;" f +useLoadedAmmo src/Dodge/HeldUse.hs 722;" f useMagShield src/Dodge/Euse.hs 30;" f useNormalCamera src/Dodge/Camera.hs 6;" f usePayload src/Dodge/Payload.hs 18;" f -useRewindGun src/Dodge/HeldUse.hs 1334;" f +useRewindGun src/Dodge/HeldUse.hs 1336;" f useRoomPosCond src/Dodge/PlacementSpot.hs 180;" f useRoomPosRoomCond src/Dodge/PlacementSpot.hs 183;" f -useStopWatch src/Dodge/HeldUse.hs 1315;" f -useTimeScrollGun src/Dodge/HeldUse.hs 1323;" f +useStopWatch src/Dodge/HeldUse.hs 1317;" f +useTimeScrollGun src/Dodge/HeldUse.hs 1325;" f useUnusedLnk src/Dodge/PlacementSpot.hs 171;" f usedRoomInLinkPoss src/Dodge/PlacementSpot.hs 202;" f usedRoomLinkPoss src/Dodge/PlacementSpot.hs 209;" f @@ -5530,7 +5536,7 @@ vertTrans src/MatrixHelper.hs 103;" f verticalPipe src/Dodge/Picture.hs 19;" f verticalPipe src/Dodge/Placement/Instance/Pipe.hs 6;" f verticalWire src/Dodge/Wire.hs 23;" f -vgunMuzzles src/Dodge/HeldUse.hs 341;" f +vgunMuzzles src/Dodge/HeldUse.hs 343;" f viewBoundaries src/Dodge/Debug/Picture.hs 331;" f viewClipBounds src/Dodge/Debug/Picture.hs 340;" f viewDistanceFromItems src/Dodge/Update/Camera.hs 201;" f @@ -5541,7 +5547,7 @@ visionCheck src/Dodge/Creature/Perception.hs 152;" f vocalizationTest src/Dodge/Creature/Vocalization.hs 42;" f volleyGun src/Dodge/Item/Held/Cane.hs 15;" f volleyGunShape src/Dodge/Item/Draw/SPic.hs 358;" f -walkNozzle src/Dodge/HeldUse.hs 804;" f +walkNozzle src/Dodge/HeldUse.hs 806;" f walkableNodeNear src/Dodge/Path.hs 69;" f wallBlips src/Dodge/RadarSweep.hs 99;" f wallBuffer src/Dodge/WallCreatureCollisions.hs 54;" f @@ -5549,9 +5555,9 @@ wallIsZeroLength src/Dodge/LevelGen/StaticWalls.hs 179;" f wallToSurface src/Dodge/Base/Collide.hs 180;" f wallsFromRooms src/Dodge/Layout.hs 137;" f wallsToDraw src/Dodge/Render/Walls.hs 18;" f -warmupSound src/Dodge/HeldUse.hs 1368;" f +warmupSound src/Dodge/HeldUse.hs 1370;" f warningRooms src/Dodge/Room/Warning.hs 31;" f -warp1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 835;" f +warp1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 840;" f wasdAim src/Dodge/Creature/YourControl.hs 133;" f wasdDir src/Dodge/WASD.hs 17;" f wasdM src/Dodge/WASD.hs 9;" f @@ -5567,22 +5573,22 @@ weaponRoom src/Dodge/Room/Room.hs 268;" f weaponUnderCrits src/Dodge/Room/Room.hs 173;" f wedgeGeom src/Dodge/Base.hs 42;" f wedgeOfThickness src/Dodge/Picture.hs 9;" f -whirS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 631;" f -whirTapS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 755;" f -whirdown1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 643;" f -whirdown2S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 611;" f -whirdown3S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 559;" f -whirdownS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 711;" f -whirdownShort1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 555;" f -whirdownShort2S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 541;" f -whirdownShort3S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 715;" f -whirdownShort4S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 747;" f -whirdownSmall1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 523;" f -whirdownSmall2S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 671;" f -whirupS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 633;" f +whirS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 634;" f +whirTapS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 758;" f +whirdown1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 646;" f +whirdown2S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 614;" f +whirdown3S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 562;" f +whirdownS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 714;" f +whirdownShort1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 558;" f +whirdownShort2S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 544;" f +whirdownShort3S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 718;" f +whirdownShort4S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 750;" f +whirdownSmall1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 526;" f +whirdownSmall2S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 674;" f +whirupS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 636;" f white src/Color.hs 53;" f -whiteNoiseFadeInS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 599;" f -whiteNoiseFadeOutS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 547;" f +whiteNoiseFadeInS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 602;" f +whiteNoiseFadeOutS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 550;" f wiToFloat src/Dodge/Room/Modify/Girder.hs 168;" f winConfig appDodge/Main.hs 47;" f windowLine src/Dodge/Placement/Instance/Wall.hs 51;" f @@ -5611,10 +5617,10 @@ wlsNearSeg src/Dodge/Zoning/Wall.hs 42;" f wordsBy src/ListHelp.hs 117;" f worldPosToResOffset src/Dodge/Base/Coordinate.hs 29;" f worldPosToScreen src/Dodge/Base/Coordinate.hs 22;" f -worldSPic src/Dodge/Render/ShapePicture.hs 22;" f +worldSPic src/Dodge/Render/ShapePicture.hs 28;" f worldToGenWorld src/Dodge/LevelGen/LevelStructure.hs 14;" f wpAdd src/Dodge/Room/RezBox.hs 148;" f -wrench1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 519;" f +wrench1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 522;" f wristArmour src/Dodge/Item/Equipment.hs 43;" f wristInvisibility src/Dodge/Item/Equipment.hs 96;" f writeConfig src/Dodge/Menu.hs 182;" f @@ -5647,11 +5653,11 @@ zeroZ src/Geometry/Vector.hs 9;" f zipArcs src/Dodge/Tesla.hs 52;" f zipCount src/Dodge/Tree/Shift.hs 136;" f zoneCloud src/Dodge/Zoning/Cloud.hs 33;" f -zoneClouds src/Dodge/Update.hs 479;" f +zoneClouds src/Dodge/Update.hs 500;" f zoneCreature src/Dodge/Zoning/Creature.hs 56;" f -zoneCreatures src/Dodge/Update.hs 516;" f +zoneCreatures src/Dodge/Update.hs 537;" f zoneDust src/Dodge/Zoning/Cloud.hs 57;" f -zoneDusts src/Dodge/Update.hs 484;" f +zoneDusts src/Dodge/Update.hs 505;" f zoneExtract src/Dodge/Zoning/Base.hs 58;" f zoneGas src/Dodge/Zoning/Cloud.hs 36;" f zoneIncPe src/Dodge/Zoning/Pathing.hs 66;" f