diff --git a/data/charMaps/cMap16x32.Custom.png b/data/charMaps/cMap16x32.Custom.png index 83c3ce8c5..d2f1756fb 100644 Binary files a/data/charMaps/cMap16x32.Custom.png and b/data/charMaps/cMap16x32.Custom.png differ diff --git a/ghcidOutput b/ghcidOutput index d30cade76..cea4b38be 100644 --- a/ghcidOutput +++ b/ghcidOutput @@ -1 +1,25 @@ -All good (594 modules, at 19:52:21) +/home/justin/Haskell/loop/src/Dodge/Render/Picture.hs:106:21-24: warning: [-Wunused-matches] + Defined but not used: ‘tmid’ + | +106 | determineTermCursor tmid u = fromMaybe (drawPlus 5) $ do + | ^^^^ +/home/justin/Haskell/loop/src/Dodge/Render/Picture.hs:106:26: warning: [-Wunused-matches] + Defined but not used: ‘u’ + | +106 | determineTermCursor tmid u = fromMaybe (drawPlus 5) $ do + | ^ +/home/justin/Haskell/loop/src/Dodge/Render/Picture.hs:113:1-18: warning: [-Wunused-top-binds] + Defined but not used: ‘drawWireRectCursor’ + | +113 | drawWireRectCursor = scale 0.1 0.1 $ text [cWireRect] + | ^^^^^^^^^^^^^^^^^^ +/home/justin/Haskell/loop/src/Dodge/Update.hs:306:1-27: warning: [-Wunused-top-binds] + Defined but not used: ‘updateMouseInventoryEffects’ + | +306 | updateMouseInventoryEffects cfig w = w + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +/home/justin/Haskell/loop/src/Dodge/Update.hs:306:29-32: warning: [-Wunused-matches] + Defined but not used: ‘cfig’ + | +306 | updateMouseInventoryEffects cfig w = w + | ^^^^ diff --git a/src/Dodge/Data/Input.hs b/src/Dodge/Data/Input.hs index 0bb58f282..c0b686ed5 100644 --- a/src/Dodge/Data/Input.hs +++ b/src/Dodge/Data/Input.hs @@ -16,8 +16,15 @@ data PressType | LongPress deriving (Eq, Show) +data MouseContext + = NoMouseContext + | OverInv (Int,Int) + | OverCombInv (Int,Int) + | OverTerminalScreen + data Input = Input { _mousePos :: Point2 -- in pixels, from the center of the screen + , _mouseContext :: MouseContext , _mouseMoving :: Bool , _pressedKeys :: M.Map Scancode PressType , _mouseButtons :: M.Map MouseButton Int -- counts number of frames held down diff --git a/src/Dodge/Default/World.hs b/src/Dodge/Default/World.hs index 4bbd9be22..20419ef0c 100644 --- a/src/Dodge/Default/World.hs +++ b/src/Dodge/Default/World.hs @@ -15,6 +15,7 @@ defaultInput :: Input defaultInput = Input { _clickPos = mempty + , _mouseContext = NoMouseContext , _clickWorldPos = mempty , _heldPos = mempty , _heldWorldPos = mempty diff --git a/src/Dodge/Render/Picture.hs b/src/Dodge/Render/Picture.hs index 494f16814..ab34434ee 100644 --- a/src/Dodge/Render/Picture.hs +++ b/src/Dodge/Render/Picture.hs @@ -2,6 +2,7 @@ module Dodge.Render.Picture ( fixedCoordPictures, ) where +import Dodge.CharacterEnums import Control.Lens import Control.Monad import Data.Maybe @@ -79,6 +80,7 @@ drawMouseCursor u = mouseCursorType :: Universe -> Picture mouseCursorType u | isselect = drawPlus 5 + | Just tmid <- u ^? uvWorld . hud . hudElement . subInventory . termID = determineTermCursor tmid u | Just csel <- u ^? uvWorld . hud . hudElement . subInventory . ciSelection = if ( csel == u ^? uvWorld . hud . hudElement . subInventory . ciMouseOver . _Just || null (u ^? uvWorld . hud . hudElement . subInventory . ciMouseOver . _Just) @@ -100,6 +102,17 @@ mouseCursorType u argV (mouseWorldPos (w ^. input) (w ^. wCam) -.- cpos) - w ^. wCam . camRot +determineTermCursor :: Int -> Universe -> Picture +determineTermCursor tmid u = fromMaybe (drawPlus 5) $ do + return drawReturn + +drawReturn :: Picture +drawReturn = scale 0.1 0.1 . translate (-50) (-100) $ text [toEnum 153] + +drawWireRectCursor :: Picture +drawWireRectCursor = scale 0.1 0.1 $ text [cWireRect] +--drawReturn = text "ASDF" + drawPlus :: Float -> Picture drawPlus x = fold [line [V2 (- x) 0, V2 x 0], line [V2 0 (- x), V2 0 x]] diff --git a/src/Dodge/SelectUse.hs b/src/Dodge/SelectUse.hs index 356d67077..9dd0d9c27 100644 --- a/src/Dodge/SelectUse.hs +++ b/src/Dodge/SelectUse.hs @@ -1,24 +1,24 @@ -module Dodge.SelectUse - where +module Dodge.SelectUse (selectUse) where -import Dodge.Payload +import Control.Lens +import Data.Maybe import Dodge.Data.ComposedItem import Dodge.Data.DoubleTree import Dodge.Data.World -import Data.Maybe -import Control.Lens +import Dodge.Payload selectUse :: LabelDoubleTree ComposeLinkType Item -> Creature -> World -> World selectUse ittree _ w = fromMaybe w $ do itid <- ittree ^? ldtValue . itID pjid <- ittree ^? ldtValue . itUse . uaParams . apLinkedProjectile . _Just thepj <- w ^? cWorld . lWorld . projectiles . ix pjid - return $ w - & cWorld . lWorld . projectiles . ix pjid . prjUpdates .~ [DestroyPU (Just itid) 30] -- 69 is placeholder, should be removed - & cWorld . lWorld . projectiles . ix pjid . prjDraw .~ DrawBlankProjectile --- & itPoint . itUse . heldUse .~ HeldDoNothing --- & itPoint . itUse . heldMods .~ DoNothingMod - & usePayload (_prjPayload thepj) (_prjPos thepj) + return $ + w + & cWorld . lWorld . projectiles . ix pjid . prjUpdates .~ [DestroyPU (Just itid) 30] -- 69 is placeholder, should be removed + & cWorld . lWorld . projectiles . ix pjid . prjDraw .~ DrawBlankProjectile + -- & itPoint . itUse . heldUse .~ HeldDoNothing + -- & itPoint . itUse . heldMods .~ DoNothingMod + & usePayload (_prjPayload thepj) (_prjPos thepj) + -- where -- itPoint = pointerToItemLocation $ w ^?! cWorld . lWorld . itemLocations . ix itid-- _itemLocations (_cWorld w) IM.! itid - diff --git a/src/Dodge/Update.hs b/src/Dodge/Update.hs index ec1a63e84..ef067151b 100644 --- a/src/Dodge/Update.hs +++ b/src/Dodge/Update.hs @@ -301,6 +301,10 @@ checkTermDist w = fromMaybe w $ do w & hud . hudElement . subInventory .~ NoSubInventory MouseInvNothing +-- for other mouse effects, see yourControl +updateMouseInventoryEffects :: Configuration -> World -> World +updateMouseInventoryEffects cfig w = w + updateMouseInventorySelection :: Configuration -> World -> World updateMouseInventorySelection cfig w = fromMaybe w $ do sss <- w ^? hud . hudElement . diSections diff --git a/tags b/tags index 78206f958..56ff9f5ac 100644 --- a/tags +++ b/tags @@ -3329,10 +3329,10 @@ addToTrunk src/TreeHelp.hs 156;" f addWarningTerminal src/Dodge/Room/Warning.hs 37;" f addZ src/Geometry/Vector3D.hs 89;" f adjustIMZone src/Dodge/Base.hs 77;" f -advanceScrollAmount src/Dodge/Update.hs 412;" f +advanceScrollAmount src/Dodge/Update.hs 416;" f advanceSmoothScroll src/Dodge/SmoothScroll.hs 29;" f advanceStepCounter src/Dodge/Creature/Impulse/Movement.hs 45;" f -aimDelaySweep src/Dodge/Render/Picture.hs 121;" f +aimDelaySweep src/Dodge/Render/Picture.hs 130;" f aimStanceInfo src/Dodge/Item/Info.hs 210;" f aimTurn src/Dodge/Creature/YourControl.hs 143;" f aimingMuzzleLength src/Dodge/Creature/HandPos.hs 46;" f @@ -3574,7 +3574,7 @@ chaseCritVocalization src/Dodge/Creature/ChaseCrit.hs 46;" f checkCombineSelectionExists src/Dodge/DisplayInventory.hs 99;" f checkConnection src/Dodge/Inventory.hs 233;" f checkDeath src/Dodge/Creature/State.hs 75;" f -checkEndGame src/Dodge/Update.hs 699;" f +checkEndGame src/Dodge/Update.hs 703;" f checkErrorGL src/Shader/Compile.hs 255;" f checkFBO src/Framebuffer/Check.hs 6;" f checkGLError src/GLHelp.hs 17;" f @@ -3601,7 +3601,7 @@ circle src/Picture/Base.hs 180;" f circleDecoration src/Dodge/Placement/TopDecoration.hs 56;" f circleSolid src/Picture/Base.hs 164;" f circleSolidCol src/Picture/Base.hs 168;" f -clClSpringVel src/Dodge/Update.hs 752;" f +clClSpringVel src/Dodge/Update.hs 756;" f clZoneSize src/Dodge/Zone/Size.hs 3;" f clZoneSize src/Dodge/Zoning/Cloud.hs 21;" f clampPath src/Dodge/Room/Procedural.hs 166;" f @@ -3628,7 +3628,7 @@ closestCreatureID src/Dodge/Debug.hs 92;" f closestPointOnLine src/Geometry/Intersect.hs 251;" f closestPointOnLineParam src/Geometry/Intersect.hs 267;" f closestPointOnSeg src/Geometry/Intersect.hs 282;" f -cloudEffect src/Dodge/Update.hs 722;" f +cloudEffect src/Dodge/Update.hs 726;" f cloudPoisonDamage src/Dodge/Update/Cloud.hs 9;" f clsNearCirc src/Dodge/Zoning/Cloud.hs 18;" f clsNearPoint src/Dodge/Zoning/Cloud.hs 9;" f @@ -3699,7 +3699,7 @@ crAdd src/Dodge/Room/RezBox.hs 104;" f crAwayFromPost src/Dodge/Creature/Test.hs 77;" f crBlips src/Dodge/RadarSweep.hs 69;" f crCanSeeCr src/Dodge/Creature/Test.hs 48;" f -crCrSpring src/Dodge/Update.hs 770;" f +crCrSpring src/Dodge/Update.hs 774;" f crCurrentEquipment src/Dodge/Creature/Statistics.hs 28;" f crDisplayAwareness src/Dodge/Creature/Picture/Awareness.hs 37;" f crDisplayVigilance src/Dodge/Creature/Picture/Awareness.hs 51;" f @@ -3720,7 +3720,7 @@ crNumFreeSlots src/Dodge/Inventory/CheckSlots.hs 35;" f crOnWall src/Dodge/WallCreatureCollisions.hs 84;" f crSafeDistFromTarg src/Dodge/Creature/Test.hs 67;" f crSetRoots src/Dodge/Inventory/Location.hs 48;" f -crSpring src/Dodge/Update.hs 765;" f +crSpring src/Dodge/Update.hs 769;" f crStratConMatches src/Dodge/Creature/Test.hs 72;" f crUpdate src/Dodge/Creature/State.hs 62;" f crUpdateInvidLocations src/Dodge/Inventory/Location.hs 61;" f @@ -3805,7 +3805,6 @@ damageSensor src/Dodge/Placement/Instance/Sensor.hs 15;" f damageStone src/Dodge/Material/Damage.hs 20;" f damageThingHit src/Dodge/Bullet.hs 176;" f damageTypeThreshold src/Dodge/Placement/Instance/Sensor.hs 45;" f -damageUsing src/Dodge/Machine/Update.hs 164;" f damageWall src/Dodge/Wall/Damage.hs 15;" f damageWallEffect src/Dodge/Wall/DamageEffect.hs 11;" f damageWlCircle src/Dodge/DamageCircle.hs 26;" f @@ -3971,9 +3970,9 @@ disconnectItemS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 482;" f disconnectTerminal src/Dodge/Terminal.hs 218;" f displayConfig src/Dodge/Menu.hs 196;" f displayControls src/Dodge/Menu.hs 206;" f -displayFrameTicks src/Dodge/Render/Picture.hs 39;" f +displayFrameTicks src/Dodge/Render/Picture.hs 40;" f displayFreeSlots src/Dodge/DisplayInventory.hs 197;" f -displayTerminalLineString src/Dodge/Update.hs 441;" f +displayTerminalLineString src/Dodge/Update.hs 445;" f dist src/Geometry/Vector.hs 179;" f dist3 src/Geometry/Vector3D.hs 101;" f divTo src/Geometry/Zone.hs 6;" f @@ -4030,7 +4029,7 @@ doPropUpdates src/Dodge/Prop/Update.hs 36;" f doQuickload src/Dodge/Save.hs 82;" f doQuicksave src/Dodge/Save.hs 77;" f doRandImpulse src/Dodge/RandImpulse.hs 7;" f -doRegexInput src/Dodge/Update/Input/InGame.hs 188;" f +doRegexInput src/Dodge/Update/Input/InGame.hs 197;" f doRoomInPlacements src/Dodge/Layout.hs 97;" f doRoomOutPlacements src/Dodge/Layout.hs 107;" f doRoomPlacements src/Dodge/Layout.hs 122;" f @@ -4057,7 +4056,7 @@ doWdCrCr src/Dodge/CreatureEffect.hs 12;" f doWdP2f src/Dodge/WdP2f.hs 12;" f doWdWd src/Dodge/WorldEffect.hs 26;" f doWeaponRepetitions src/Dodge/HeldUse.hs 56;" f -doWorldEvents src/Dodge/Update.hs 423;" f +doWorldEvents src/Dodge/Update.hs 427;" f doWorldPos src/Dodge/WorldPos.hs 7;" f door src/Dodge/Room/Door.hs 13;" f doorBetween src/Dodge/Placement/Instance/Door.hs 39;" f @@ -4086,7 +4085,7 @@ drawCarte src/Dodge/Render/HUD/Carte.hs 14;" f drawCircFlare src/Dodge/Flare.hs 25;" f drawCollisionTest src/Dodge/Debug/Picture.hs 103;" f drawCombineInventory src/Dodge/Render/HUD.hs 151;" f -drawConcurrentMessage src/Dodge/Render/Picture.hs 62;" f +drawConcurrentMessage src/Dodge/Render/Picture.hs 63;" f drawCorpse src/Dodge/Corpse/Draw.hs 6;" f drawCrInfo src/Dodge/Debug/Picture.hs 342;" f drawCreature src/Dodge/Render/ShapePicture.hs 41;" f @@ -4108,7 +4107,7 @@ drawFlamelet src/Dodge/EnergyBall/Draw.hs 23;" f drawFlare src/Dodge/Flare.hs 12;" f drawFooterText src/Dodge/Render/MenuScreen.hs 65;" f drawForceField src/Dodge/Wall/Draw.hs 11;" f -drawGapPlus src/Dodge/Render/Picture.hs 112;" f +drawGapPlus src/Dodge/Render/Picture.hs 121;" f drawGib src/Dodge/Prop/Draw.hs 28;" f drawHP src/Dodge/Render/HUD.hs 55;" f drawHUD src/Dodge/Render/HUD.hs 47;" f @@ -4127,9 +4126,9 @@ drawListYgapScaleYoff src/Dodge/Render/List.hs 94;" f drawListYoff src/Dodge/Render/List.hs 91;" f drawMachine src/Dodge/Machine/Draw.hs 16;" f drawMapWall src/Dodge/Render/HUD/Carte.hs 33;" f -drawMenuOrHUD src/Dodge/Render/Picture.hs 57;" f +drawMenuOrHUD src/Dodge/Render/Picture.hs 58;" f drawMenuScreen src/Dodge/Render/MenuScreen.hs 12;" f -drawMouseCursor src/Dodge/Render/Picture.hs 73;" f +drawMouseCursor src/Dodge/Render/Picture.hs 74;" f drawMousePosition src/Dodge/Debug/Picture.hs 319;" f drawMovingShape src/Dodge/Prop/Draw.hs 67;" f drawMovingShapeCol src/Dodge/Prop/Draw.hs 73;" f @@ -4138,7 +4137,7 @@ drawOptions src/Dodge/Render/MenuScreen.hs 32;" f drawPathBetween src/Dodge/Debug/Picture.hs 168;" f drawPathEdge src/Dodge/Debug/Picture.hs 222;" f drawPathing src/Dodge/Debug/Picture.hs 384;" f -drawPlus src/Dodge/Render/Picture.hs 103;" f +drawPlus src/Dodge/Render/Picture.hs 112;" f drawPointLabel src/Dodge/Render/Label.hs 13;" f drawProjectile src/Dodge/Projectile/Draw.hs 13;" f drawProp src/Dodge/Prop/Draw.hs 15;" f @@ -4146,6 +4145,7 @@ drawProp' src/Dodge/Prop/Draw.hs 12;" f drawRBOptions src/Dodge/Render/HUD.hs 217;" f drawRadarSweep src/Dodge/RadarSweep/Draw.hs 7;" f drawRemoteShell src/Dodge/Projectile/Draw.hs 30;" f +drawReturn src/Dodge/Render/Picture.hs 105;" f drawRootCursor src/Dodge/Render/HUD.hs 82;" f drawSSCursor src/Dodge/SelectionSections/Draw.hs 30;" f drawSSMultiCursor src/Dodge/SelectionSections/Draw.hs 41;" f @@ -4161,7 +4161,7 @@ drawShockwave src/Dodge/Shockwave/Draw.hs 7;" f drawSpark src/Dodge/Spark/Draw.hs 6;" f drawStaticBall src/Dodge/EnergyBall/Draw.hs 14;" f drawSubInventory src/Dodge/Render/HUD.hs 143;" f -drawSweep src/Dodge/Render/Picture.hs 128;" f +drawSweep src/Dodge/Render/Picture.hs 137;" f drawSwitch src/Dodge/Button/Draw.hs 15;" f drawSwitchWire src/Dodge/LevelGen/Switch.hs 28;" f drawTargetLaser src/Dodge/Particle/Draw.hs 6;" f @@ -4180,6 +4180,7 @@ drawWallSearchRays src/Dodge/Debug/Picture.hs 265;" f drawWallsNearCursor src/Dodge/Debug/Picture.hs 189;" f drawWallsNearYou src/Dodge/Debug/Picture.hs 180;" f drawWeapon src/Dodge/Creature/Volition.hs 14;" f +drawWireRectCursor src/Dodge/Render/Picture.hs 108;" f drawWlIDs src/Dodge/Debug/Picture.hs 329;" f drawZoneCol src/Dodge/Debug/Picture.hs 117;" f drawZoneNearPointCursor src/Dodge/Debug/Picture.hs 249;" f @@ -4276,7 +4277,7 @@ fireLoudS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 522;" f fireS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 344;" f firstBreather src/Dodge/Room/Breather.hs 9;" f firstWorldLoad appDodge/Main.hs 78;" f -fixedCoordPictures src/Dodge/Render/Picture.hs 18;" f +fixedCoordPictures src/Dodge/Render/Picture.hs 19;" f fixedSizePicClampArrow src/Dodge/Picture/SizeInvariant.hs 57;" f flDamageInArea src/Dodge/Flame.hs 110;" f flFlicker src/Dodge/Flame.hs 124;" f @@ -4327,7 +4328,7 @@ forceField src/Dodge/Wall/ForceField.hs 7;" f forceFoldable src/StrictHelp.hs 7;" f forceSpine src/StrictHelp.hs 4;" f fourEmbossDecoration src/Dodge/Placement/TopDecoration.hs 29;" f -fpsText src/Dodge/Render/Picture.hs 47;" f +fpsText src/Dodge/Render/Picture.hs 48;" f fractionLoadedAmmo src/Dodge/Item/Draw/SPic.hs 58;" f frag src/Shader/Data.hs 102;" f freeShaderPointers' src/Shader.hs 37;" f @@ -4877,7 +4878,7 @@ makeTlsTimeRadColPos src/Dodge/LightSource.hs 88;" f makeTypeCraft src/Dodge/Item/Craftable.hs 13;" f makeTypeCraftNum src/Dodge/Item/Craftable.hs 7;" f mapOverlay src/Dodge/Render/HUD/Carte.hs 24;" f -markWallSeen src/Dodge/Update.hs 684;" f +markWallSeen src/Dodge/Update.hs 688;" f maxDamageType src/Dodge/Damage.hs 37;" f maxShowX src/Dodge/Combine/Graph.hs 43;" f maxViewDistance src/Dodge/Viewpoints.hs 26;" f @@ -4888,25 +4889,25 @@ maybeClearPath src/Dodge/Block.hs 77;" f maybeClearPaths src/Dodge/Block.hs 74;" f maybeDestroyBlock src/Dodge/Wall/Damage.hs 26;" f maybeDestroyDoor src/Dodge/Wall/Damage.hs 31;" f -maybeExitCombine src/Dodge/Update/Input/InGame.hs 351;" f +maybeExitCombine src/Dodge/Update/Input/InGame.hs 360;" f maybeOpenTerminal src/Dodge/Update.hs 120;" f maybeReadFile src/Dodge/LoadSeed.hs 10;" f maybeTakeOne src/RandomHelp.hs 111;" f maybeWarmupStatus src/Dodge/Item/Display.hs 119;" f -mcApplyDamage src/Dodge/Machine/Update.hs 103;" f +mcApplyDamage src/Dodge/Machine/Update.hs 106;" f mcKillBut src/Dodge/Machine/Destroy.hs 34;" f mcKillTerm src/Dodge/Machine/Destroy.hs 26;" f -mcPlaySound src/Dodge/Machine/Update.hs 93;" f -mcProxTest src/Dodge/Machine/Update.hs 139;" f -mcProximitySensorUpdate src/Dodge/Machine/Update.hs 117;" f +mcPlaySound src/Dodge/Machine/Update.hs 96;" f +mcProxTest src/Dodge/Machine/Update.hs 144;" f +mcProximitySensorUpdate src/Dodge/Machine/Update.hs 122;" f mcSPic src/Dodge/Render/ShapePicture.hs 131;" f -mcSensorTriggerUpdate src/Dodge/Machine/Update.hs 82;" f -mcSensorUpdate src/Dodge/Machine/Update.hs 112;" f +mcSensorTriggerUpdate src/Dodge/Machine/Update.hs 85;" f +mcSensorUpdate src/Dodge/Machine/Update.hs 117;" f mcShootLaser src/Dodge/HeldUse.hs 465;" f -mcTriggerVal src/Dodge/Machine/Update.hs 88;" f -mcTypeUpdate src/Dodge/Machine/Update.hs 24;" f +mcTriggerVal src/Dodge/Machine/Update.hs 91;" f +mcTypeUpdate src/Dodge/Machine/Update.hs 26;" f mcUseHeld src/Dodge/HeldUse.hs 404;" f -mcUseItem src/Dodge/Machine/Update.hs 74;" f +mcUseItem src/Dodge/Machine/Update.hs 77;" f medkit src/Dodge/Item/Consumable.hs 8;" f megaBattery src/Dodge/Item/Ammo.hs 84;" f megaShellMag src/Dodge/Item/Ammo.hs 61;" f @@ -4975,7 +4976,7 @@ mntLightLnkCond src/Dodge/Placement/Instance/LightSource.hs 159;" f modTo src/Geometry/Zone.hs 10;" f mouseActionsCr src/Dodge/Creature/YourControl.hs 153;" f mouseClickOptionsList src/Dodge/Update/Input/ScreenLayer.hs 58;" f -mouseCursorType src/Dodge/Render/Picture.hs 79;" f +mouseCursorType src/Dodge/Render/Picture.hs 80;" f mouseOverSelectionList src/Dodge/Update/Input/ScreenLayer.hs 73;" f mouseWorldPos src/Dodge/Base/Coordinate.hs 48;" f moveBullet src/Dodge/Bullet.hs 193;" f @@ -5008,7 +5009,7 @@ mvBullet src/Dodge/Bullet.hs 33;" f mvButton src/Dodge/Placement/PlaceSpot.hs 176;" f mvCr src/Dodge/Placement/PlaceSpot.hs 186;" f mvFS src/Dodge/Placement/PlaceSpot.hs 189;" f -mvGust src/Dodge/Update.hs 713;" f +mvGust src/Dodge/Update.hs 717;" f mvLS src/Dodge/Placement/PlaceSpot.hs 217;" f mvP src/Dodge/Wall/Move.hs 54;" f mvPP src/Dodge/Placement/PlaceSpot.hs 183;" f @@ -5117,7 +5118,7 @@ parseNum src/Dodge/Debug/Terminal.hs 73;" f pathConnected src/Dodge/Room/CheckConsistency.hs 14;" f pathEdgeObstructed src/Dodge/Path.hs 43;" f pauseAndFloatCam src/Dodge/Camera.hs 10;" f -pauseGame src/Dodge/Update/Input/InGame.hs 285;" f +pauseGame src/Dodge/Update/Input/InGame.hs 294;" f pauseMenu src/Dodge/Menu.hs 53;" f pauseMenuOptions src/Dodge/Menu.hs 58;" f pauseSound src/Dodge/SoundLogic.hs 41;" f @@ -5276,7 +5277,7 @@ powlistUpToN src/Multiset.hs 23;" f powlistUpToN' src/Multiset.hs 12;" f powlistUpToN'' src/Multiset.hs 31;" f ppDraw src/Dodge/Render/ShapePicture.hs 116;" f -ppEvents src/Dodge/Update.hs 676;" f +ppEvents src/Dodge/Update.hs 680;" f ppLevelReset src/Dodge/PressPlate.hs 13;" f preCritStart src/Dodge/Room/Start.hs 82;" f preloadRender src/Preload/Render.hs 30;" f @@ -5590,7 +5591,7 @@ selectUse src/Dodge/SelectUse.hs 11;" f selectedCloseObject src/Dodge/Inventory.hs 287;" f sensAboveDoor src/Dodge/Room/SensorDoor.hs 63;" f sensInsideDoor src/Dodge/Room/SensorDoor.hs 69;" f -senseDamage src/Dodge/Machine/Update.hs 147;" f +senseDamage src/Dodge/Machine/Update.hs 152;" f sensorCommand src/Dodge/Terminal.hs 209;" f sensorInfoMap src/Dodge/Terminal.hs 181;" f sensorRoom src/Dodge/Room/SensorDoor.hs 27;" f @@ -5618,7 +5619,7 @@ setLinkTypePD src/Dodge/RoomLink.hs 67;" f setMinInvSize src/Dodge/Creature/Action.hs 150;" f setMusicVolume src/Sound.hs 161;" f setMvPos src/Dodge/Creature/ReaderUpdate.hs 51;" f -setOldPos src/Dodge/Update.hs 465;" f +setOldPos src/Dodge/Update.hs 469;" f setOutLinks src/Dodge/RoomLink.hs 48;" f setOutLinksByType src/Dodge/RoomLink.hs 57;" f setOutLinksPD src/Dodge/RoomLink.hs 77;" f @@ -5673,9 +5674,9 @@ shiftChildren src/Dodge/Tree/Compose.hs 43;" f shiftDraw src/Dodge/Render/ShapePicture.hs 66;" f shiftDraw' src/Dodge/Render/ShapePicture.hs 72;" f shiftInBy src/Dodge/PlacementSpot.hs 236;" f -shiftInvItems src/Dodge/Update.hs 356;" f -shiftInvItemsDown src/Dodge/Update.hs 377;" f -shiftInvItemsUp src/Dodge/Update.hs 371;" f +shiftInvItems src/Dodge/Update.hs 360;" f +shiftInvItemsDown src/Dodge/Update.hs 381;" f +shiftInvItemsUp src/Dodge/Update.hs 375;" f shiftLinkBy src/Dodge/Room/Link.hs 87;" f shiftPSBy src/Dodge/Placement/Shift.hs 12;" f shiftPathBy src/Dodge/Room/Link.hs 92;" f @@ -5725,7 +5726,7 @@ shuffleLinks src/Dodge/Room/Link.hs 30;" f shuffleRoomPos src/Dodge/Layout.hs 78;" f shuffleTail src/RandomHelp.hs 59;" f sigmoid src/Dodge/Base.hs 129;" f -simpleCrSprings src/Dodge/Update.hs 761;" f +simpleCrSprings src/Dodge/Update.hs 765;" f simpleDamFL src/Dodge/Flame.hs 41;" f simpleTermMessage src/Dodge/Terminal.hs 253;" f sineRaisePitchOneSecS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 504;" f @@ -5774,7 +5775,7 @@ soundToVol src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 4;" f soundWithStatus src/Dodge/SoundLogic.hs 98;" f soundWithStatusVolume src/Dodge/SoundLogic.hs 48;" f southPillarsRoom src/Dodge/Room/LongDoor.hs 85;" f -spaceAction src/Dodge/Update/Input/InGame.hs 288;" f +spaceAction src/Dodge/Update/Input/InGame.hs 297;" f spanColLightBlackI src/Dodge/Placement/Instance/LightSource.hs 186;" f spanColLightI src/Dodge/Placement/Instance/LightSource.hs 179;" f spanLS src/Dodge/Placement/Instance/LightSource.hs 171;" f @@ -5831,7 +5832,7 @@ stackText src/Picture/Base.hs 188;" f stackedInventory src/Dodge/Creature.hs 281;" f startCr src/Dodge/Creature.hs 91;" f startCrafts src/Dodge/Room/Start.hs 92;" f -startDrag src/Dodge/Update.hs 345;" f +startDrag src/Dodge/Update.hs 349;" f startInvList src/Dodge/Creature.hs 109;" f startInventory src/Dodge/Creature.hs 112;" f startNewGameInSlot src/Dodge/StartNewGame.hs 15;" f @@ -5907,7 +5908,7 @@ termTextColor src/Dodge/Terminal/Line.hs 22;" f terminalColor src/Dodge/Placement/Instance/Terminal.hs 66;" f terminalReturnEffect src/Dodge/Terminal.hs 276;" f terminalSPic src/Dodge/Machine/Draw.hs 28;" f -terminalScreenGlow src/Dodge/Machine/Update.hs 31;" f +terminalScreenGlow src/Dodge/Machine/Update.hs 33;" f terminalShape src/Dodge/Machine/Draw.hs 31;" f terminalWheelEvent src/Dodge/Update/Scroll.hs 79;" f teslaGun src/Dodge/Item/Held/BatteryGuns.hs 21;" f @@ -5952,7 +5953,7 @@ titleOptionsMenu src/Dodge/Menu.hs 99;" f titleOptionsNoWrite src/Dodge/Menu.hs 102;" f tlsTimeRadColPos src/Dodge/LightSource.hs 69;" f tlsTimeRadFunPos src/Dodge/LightSource.hs 26;" f -tmUpdate src/Dodge/Update.hs 445;" f +tmUpdate src/Dodge/Update.hs 449;" f toBothLnk src/Dodge/RoomLink.hs 121;" f toClosestMultiple src/HelpNum.hs 3;" f toColor8 src/Color.hs 148;" f @@ -5970,8 +5971,8 @@ toggleCombineInv src/Dodge/DisplayInventory.hs 31;" f toggleCommand src/Dodge/Terminal.hs 197;" f toggleEquipmentAt src/Dodge/Creature/Impulse/UseItem.hs 79;" f toggleJust src/MaybeHelp.hs 41;" f -toggleMap src/Dodge/Update/Input/InGame.hs 312;" f -toggleTweakInv src/Dodge/Update/Input/InGame.hs 328;" f +toggleMap src/Dodge/Update/Input/InGame.hs 321;" f +toggleTweakInv src/Dodge/Update/Input/InGame.hs 337;" f togglesToEffects src/Dodge/Terminal.hs 248;" f tone440S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 474;" f tone440sawtoothS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 444;" f @@ -6042,7 +6043,7 @@ trunkDepth src/TreeHelp.hs 161;" f tryAssignHotkey src/Dodge/Creature/YourControl.hs 85;" f tryAttachBulletBelt src/Dodge/Euse.hs 40;" f tryChargeBattery src/Dodge/Euse.hs 43;" f -tryCombine src/Dodge/Update/Input/InGame.hs 337;" f +tryCombine src/Dodge/Update/Input/InGame.hs 346;" f tryGetChannel src/Sound.hs 96;" f tryGetRootAttachedFromInvID src/Dodge/Inventory/Location.hs 20;" f tryGetRootItemInvID src/Dodge/Inventory/Location.hs 29;" f @@ -6088,80 +6089,83 @@ updateAllNodes src/TreeHelp.hs 85;" f updateArc src/Dodge/Tesla/Arc.hs 86;" f updateAttachedItems src/Dodge/Creature/State.hs 173;" f updateAutoRecharge src/Dodge/Creature/State.hs 324;" f -updateBackspaceRegex src/Dodge/Update/Input/InGame.hs 223;" f +updateBackspaceRegex src/Dodge/Update/Input/InGame.hs 232;" f updateBarrel src/Dodge/Barreloid.hs 45;" f updateBarreloid src/Dodge/Barreloid.hs 13;" f updateBounds src/Dodge/Update/Camera.hs 245;" f updateBulVel src/Dodge/Bullet.hs 50;" f updateBullet src/Dodge/Bullet.hs 28;" f -updateBullets src/Dodge/Update.hs 542;" f +updateBullets src/Dodge/Update.hs 546;" f updateCamera src/Dodge/Update/Camera.hs 31;" f updateCloseObjects src/Dodge/Inventory.hs 124;" f -updateCloud src/Dodge/Update.hs 727;" f -updateClouds src/Dodge/Update.hs 571;" f -updateCombineInvClick src/Dodge/Update/Input/InGame.hs 91;" f +updateCloud src/Dodge/Update.hs 731;" f +updateClouds src/Dodge/Update.hs 575;" f +updateCombineInvClick src/Dodge/Update/Input/InGame.hs 105;" f updateCombinePositioning src/Dodge/DisplayInventory.hs 38;" f updateCombineSections src/Dodge/DisplayInventory.hs 44;" f updateCreature src/Dodge/Creature/Update.hs 10;" f -updateCreatureGroups src/Dodge/Update.hs 511;" f -updateCreatureSoundPositions src/Dodge/Update.hs 487;" f +updateCreatureGroups src/Dodge/Update.hs 515;" f +updateCreatureSoundPositions src/Dodge/Update.hs 491;" f updateDebugMessageOffset src/Dodge/Update.hs 89;" f -updateDelayedEvents src/Dodge/Update.hs 790;" f +updateDelayedEvents src/Dodge/Update.hs 794;" f updateDisplaySections src/Dodge/DisplayInventory.hs 112;" f updateDistortion src/Dodge/Distortion.hs 5;" f -updateDistortions src/Dodge/Update.hs 532;" f +updateDistortions src/Dodge/Update.hs 536;" f updateEnergyBall src/Dodge/EnergyBall.hs 46;" f -updateEnergyBalls src/Dodge/Update.hs 559;" f -updateEnterRegex src/Dodge/Update/Input/InGame.hs 264;" f +updateEnergyBalls src/Dodge/Update.hs 563;" f +updateEnterRegex src/Dodge/Update/Input/InGame.hs 273;" f updateExpBarrel src/Dodge/Barreloid.hs 19;" f updateFBOTO src/Framebuffer/Update.hs 97;" f updateFBOTO3 src/Framebuffer/Update.hs 131;" f updateFlame src/Dodge/Flame.hs 71;" f -updateFlames src/Dodge/Update.hs 556;" f +updateFlames src/Dodge/Update.hs 560;" f updateFlare src/Dodge/Flare.hs 7;" f updateFloatingCamera src/Dodge/Update/Camera.hs 36;" f -updateGusts src/Dodge/Update.hs 710;" f +updateFunctionKey src/Dodge/Update/Input/InGame.hs 95;" f +updateFunctionKeys src/Dodge/Update/Input/InGame.hs 91;" f +updateGusts src/Dodge/Update.hs 714;" f updateHeldRootItem src/Dodge/Creature/State.hs 167;" f updateHumanoid src/Dodge/Humanoid.hs 12;" f -updateIMl src/Dodge/Update.hs 501;" f -updateIMl' src/Dodge/Update.hs 506;" f +updateIMl src/Dodge/Update.hs 505;" f +updateIMl' src/Dodge/Update.hs 510;" f updateInGameCamera src/Dodge/Update/Camera.hs 70;" f -updateInitialPressInGame src/Dodge/Update/Input/InGame.hs 162;" f -updateInstantBullets src/Dodge/Update.hs 648;" f +updateInitialPressInGame src/Dodge/Update/Input/InGame.hs 176;" f +updateInstantBullets src/Dodge/Update.hs 652;" f updateInv src/Dodge/Creature/State.hs 152;" f updateInventoryPositioning src/Dodge/DisplayInventory.hs 85;" f updateItemTargeting src/Dodge/Creature/State.hs 268;" f updateItemWithOrientation src/Dodge/Creature/State.hs 194;" f -updateKeyInGame src/Dodge/Update/Input/InGame.hs 156;" f -updateKeysInTerminal src/Dodge/Update/Input/InGame.hs 145;" f +updateKeyInGame src/Dodge/Update/Input/InGame.hs 170;" f +updateKeysInTerminal src/Dodge/Update/Input/InGame.hs 159;" f updateLampoid src/Dodge/Lampoid.hs 12;" f updateLaser src/Dodge/Laser/Update.hs 13;" f -updateLasers src/Dodge/Update.hs 430;" f -updateLightSources src/Dodge/Update.hs 535;" f +updateLasers src/Dodge/Update.hs 434;" f +updateLightSources src/Dodge/Update.hs 539;" f updateLinearShockwave src/Dodge/LinearShockwave/Update.hs 8;" f -updateLongPressInGame src/Dodge/Update/Input/InGame.hs 182;" f -updateMIM src/Dodge/Update.hs 661;" f -updateMachine src/Dodge/Machine/Update.hs 16;" f -updateMouseInventorySelection src/Dodge/Update.hs 304;" f -updateMouseInventorySelection' src/Dodge/Update.hs 309;" f -updateMouseOverCombineInventory src/Dodge/Update.hs 397;" f -updateMouseOverInventory src/Dodge/Update.hs 386;" f +updateLongPressInGame src/Dodge/Update/Input/InGame.hs 191;" f +updateMIM src/Dodge/Update.hs 665;" f +updateMachine src/Dodge/Machine/Update.hs 18;" f +updateMouseInventoryEffects src/Dodge/Update.hs 305;" f +updateMouseInventorySelection src/Dodge/Update.hs 308;" f +updateMouseInventorySelection' src/Dodge/Update.hs 313;" f +updateMouseOverCombineInventory src/Dodge/Update.hs 401;" f +updateMouseOverInventory src/Dodge/Update.hs 390;" f updateMovement src/Dodge/Creature/State.hs 331;" f -updateObjCatMaybes src/Dodge/Update.hs 523;" f -updateObjMapMaybe src/Dodge/Update.hs 516;" f -updatePastWorlds src/Dodge/Update.hs 418;" f +updateObjCatMaybes src/Dodge/Update.hs 527;" f +updateObjMapMaybe src/Dodge/Update.hs 520;" f +updatePastWorlds src/Dodge/Update.hs 422;" f updatePosEvent src/Dodge/PosEvent.hs 11;" f -updatePosEvents src/Dodge/Update.hs 568;" f +updatePosEvents src/Dodge/Update.hs 572;" f updatePreload src/Preload/Update.hs 20;" f -updatePressedButtonsCarte src/Dodge/Update/Input/InGame.hs 120;" f -updatePressedButtonsCarte' src/Dodge/Update/Input/InGame.hs 123;" f +updatePressedButtonsCarte src/Dodge/Update/Input/InGame.hs 134;" f +updatePressedButtonsCarte' src/Dodge/Update/Input/InGame.hs 137;" f updateProjectile src/Dodge/Projectile/Update.hs 23;" f updateProp src/Dodge/Prop/Update.hs 11;" f updateRBList src/Dodge/Inventory/RBList.hs 16;" f updateRadarBlip src/Dodge/RadarBlip.hs 8;" f -updateRadarBlips src/Dodge/Update.hs 538;" f +updateRadarBlips src/Dodge/Update.hs 542;" f updateRadarSweep src/Dodge/RadarSweep.hs 25;" f -updateRadarSweeps src/Dodge/Update.hs 562;" f +updateRadarSweeps src/Dodge/Update.hs 566;" f updateRandNode src/TreeHelp.hs 108;" f updateRenderSplit appDodge/Main.hs 106;" f updateRootItemID src/Dodge/Inventory/Location.hs 35;" f @@ -6170,20 +6174,20 @@ updateScopeZoom' src/Dodge/Update/Camera.hs 132;" f updateScrollTestValue src/Dodge/ScrollValue.hs 6;" f updateSection src/Dodge/DisplayInventory.hs 224;" f updateSectionsPositioning src/Dodge/DisplayInventory.hs 203;" f -updateSeenWalls src/Dodge/Update.hs 679;" f +updateSeenWalls src/Dodge/Update.hs 683;" f updateShockwave src/Dodge/Shockwave/Update.hs 12;" f -updateShockwaves src/Dodge/Update.hs 553;" f +updateShockwaves src/Dodge/Update.hs 557;" f updateSingleNodes src/TreeHelp.hs 97;" f updateSound src/Sound.hs 71;" f updateSounds src/Sound.hs 66;" f updateSpark src/Dodge/Spark.hs 19;" f -updateSparks src/Dodge/Update.hs 565;" f +updateSparks src/Dodge/Update.hs 569;" f updateTempLightSource src/Dodge/LightSource/Update.hs 7;" f updateTeslaArc src/Dodge/Tesla/Arc.hs 29;" f -updateTeslaArcs src/Dodge/Update.hs 547;" f +updateTeslaArcs src/Dodge/Update.hs 551;" f updateTractorBeam src/Dodge/TractorBeam/Update.hs 9;" f -updateTractorBeams src/Dodge/Update.hs 550;" f -updateTurret src/Dodge/Machine/Update.hs 44;" f +updateTractorBeams src/Dodge/Update.hs 554;" f +updateTurret src/Dodge/Machine/Update.hs 47;" f updateUniverse src/Dodge/Update.hs 69;" f updateUniverseFirst src/Dodge/Update.hs 80;" f updateUniverseLast src/Dodge/Update.hs 130;" f @@ -6193,7 +6197,7 @@ updateUseInputOnScreen src/Dodge/Update/Input/ScreenLayer.hs 20;" f updateWalkCycle src/Dodge/Creature/State/WalkCycle.hs 12;" f updateWallDamages src/Dodge/Update/WallDamage.hs 10;" f updateWheelEvent src/Dodge/Update/Scroll.hs 20;" f -updateWheelEvents src/Dodge/Update.hs 405;" f +updateWheelEvents src/Dodge/Update.hs 409;" f updateWorldEventFlag src/Dodge/Update.hs 114;" f updateWorldEventFlags src/Dodge/Update.hs 102;" f upperBody src/Dodge/Creature/Picture.hs 133;" f @@ -6365,9 +6369,9 @@ zipCount src/Dodge/Tree/Shift.hs 129;" f zipCountDown src/Dodge/Room/Procedural.hs 118;" f zipWithDefaults src/Dodge/Item/Display.hs 21;" f zoneCloud src/Dodge/Zoning/Cloud.hs 27;" f -zoneClouds src/Dodge/Update.hs 438;" f +zoneClouds src/Dodge/Update.hs 442;" f zoneCreature src/Dodge/Zoning/Creature.hs 52;" f -zoneCreatures src/Dodge/Update.hs 482;" f +zoneCreatures src/Dodge/Update.hs 486;" f zoneExtract src/Dodge/Zoning/Base.hs 50;" f zoneMonoid src/Dodge/Zoning/Base.hs 80;" f zoneOfCirc src/Dodge/Zoning/Base.hs 22;" f