From f35dfc66bd4c382664fdd8d08bcd30387e91a29a Mon Sep 17 00:00:00 2001 From: justin Date: Sun, 10 Nov 2024 17:56:50 +0000 Subject: [PATCH] Commit before using central mouse context type --- data/charMaps/cMap16x32.Custom.png | Bin 12339 -> 12377 bytes ghcidOutput | 26 +++- src/Dodge/Data/Input.hs | 7 ++ src/Dodge/Default/World.hs | 1 + src/Dodge/Render/Picture.hs | 13 ++ src/Dodge/SelectUse.hs | 24 ++-- src/Dodge/Update.hs | 4 + tags | 190 +++++++++++++++-------------- 8 files changed, 159 insertions(+), 106 deletions(-) diff --git a/data/charMaps/cMap16x32.Custom.png b/data/charMaps/cMap16x32.Custom.png index 83c3ce8c5820b0e05bc2b27d6daeca3ed0eeaec3..d2f1756fb9e6629517309942609e3e49a476753d 100644 GIT binary patch delta 6643 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 bxCIJWD;(+{5?HqV*VegVpjmRw?%DqXDrC3{ delta 6605 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 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