diff --git a/src/Dodge/DisplayInventory.hs b/src/Dodge/DisplayInventory.hs index 33ab36b87..da96a7c8b 100644 --- a/src/Dodge/DisplayInventory.hs +++ b/src/Dodge/DisplayInventory.hs @@ -92,11 +92,12 @@ updateInventoryPositioning u = -- this is possibly not completely correct checkInventorySelectionExists :: Universe -> Universe -checkInventorySelectionExists u = fromMaybe u $ do - (i, j,_) <- (u ^? uvWorld . hud . hudElement . diSelection . _Just) <|> Just (0, -1, mempty) - Just $ case u ^? uvWorld . hud . hudElement . diSections . ix i . ssItems . ix j of +checkInventorySelectionExists u = case u ^? uvWorld . hud . hudElement . diSections . ix i . ssItems . ix j of Nothing -> u & uvWorld %~ scrollAugNextInSection _ -> u + where + (i,j,_) = fromMaybe (0,-1,mempty) + $ u ^? uvWorld . hud . hudElement . diSelection . _Just checkCombineSelectionExists :: Universe -> Universe checkCombineSelectionExists u = fromMaybe u $ do diff --git a/tags b/tags index f183da82a..f65e5f0b4 100644 --- a/tags +++ b/tags @@ -17,7 +17,7 @@ <$> src/Dodge/Data/CWorld.hs 49;" o <$> src/Dodge/Data/Camera.hs 39;" o <$> src/Dodge/Data/Creature.hs 108;" o -<$> src/Dodge/Data/LWorld.hs 156;" o +<$> src/Dodge/Data/LWorld.hs 155;" o <$> src/Dodge/Data/Terminal.hs 131;" o AIUNIT src/Dodge/Data/Item/Combine.hs 52;" C AMMOMAG src/Dodge/Data/Item/Combine.hs 22;" C @@ -2414,7 +2414,7 @@ _diSelection src/Dodge/Data/HUD.hs 22;" f _dimAttachPos src/Dodge/Data/Item/Misc.hs 16;" f _dimCenter src/Dodge/Data/Item/Misc.hs 15;" f _dimRad src/Dodge/Data/Item/Misc.hs 14;" f -_distortions src/Dodge/Data/LWorld.hs 141;" f +_distortions src/Dodge/Data/LWorld.hs 140;" f _dmAmount src/Dodge/Data/Damage.hs 34;" f _dmAt src/Dodge/Data/Damage.hs 36;" f _dmEffect src/Dodge/Data/Damage.hs 38;" f @@ -2631,9 +2631,9 @@ _izFac src/Dodge/Data/Item/Use.hs 184;" f _izMax src/Dodge/Data/Item/Use.hs 182;" f _izMin src/Dodge/Data/Item/Use.hs 183;" f _killTarget src/Dodge/Data/ActionPlan.hs 198;" f -_lClock src/Dodge/Data/LWorld.hs 142;" f -_lTestInt src/Dodge/Data/LWorld.hs 144;" f -_lTestString src/Dodge/Data/LWorld.hs 143;" f +_lClock src/Dodge/Data/LWorld.hs 141;" f +_lTestInt src/Dodge/Data/LWorld.hs 143;" f +_lTestString src/Dodge/Data/LWorld.hs 142;" f _lWorld src/Dodge/Data/CWorld.hs 26;" f _lampColor src/Dodge/Data/Creature/Misc.hs 72;" f _lampHeight src/Dodge/Data/Creature/Misc.hs 72;" f @@ -2659,7 +2659,7 @@ _lightingCapShader src/Data/Preload/Render.hs 16;" f _lightingLineShadowShader src/Data/Preload/Render.hs 15;" f _lightingTextureShader src/Data/Preload/Render.hs 17;" f _lightingWallShadShader src/Data/Preload/Render.hs 14;" f -_lights src/Dodge/Data/LWorld.hs 138;" f +_lights src/Dodge/Data/LWorld.hs 137;" f _lightsUBO src/Data/Preload/Render.hs 40;" f _linearShockwaves src/Dodge/Data/LWorld.hs 117;" f _linkGapEW src/Dodge/Data/Room.hs 35;" f @@ -2985,9 +2985,9 @@ _scrollTestInt src/Dodge/Data/Input.hs 56;" f _scurColor src/Dodge/Data/SelectionList.hs 27;" f _scurPos src/Dodge/Data/SelectionList.hs 25;" f _scurSize src/Dodge/Data/SelectionList.hs 26;" f -_seenLocations src/Dodge/Data/LWorld.hs 139;" f +_seenLocations src/Dodge/Data/LWorld.hs 138;" f _seenWalls src/Dodge/Data/CWorld.hs 29;" f -_selLocation src/Dodge/Data/LWorld.hs 140;" f +_selLocation src/Dodge/Data/LWorld.hs 139;" f _sensAmount src/Dodge/Data/Machine/Sensor.hs 19;" f _sensDraw src/Dodge/Data/Machine/Sensor.hs 21;" f _sensThreshold src/Dodge/Data/Machine/Sensor.hs 22;" f @@ -3257,7 +3257,7 @@ aFlameParticle src/Dodge/Flame.hs 21;" f aGasCloud src/Dodge/Gas.hs 13;" f aGib src/Dodge/Prop/Gib.hs 17;" f aRadarPulse src/Dodge/RadarSweep.hs 15;" f -aShape src/Dodge/Placement/Instance/LightSource.hs 108;" f +aShape src/Dodge/Placement/Instance/LightSource.hs 107;" f aSound src/Dodge/SoundLogic.hs 68;" f aStaticBall src/Dodge/WorldEvent/SpawnParticle.hs 41;" f aTeslaArcAt src/Dodge/Tesla/Arc.hs 20;" f @@ -3320,7 +3320,7 @@ airlockDoubleDoor src/Dodge/Room/Airlock.hs 54;" f airlockSimple src/Dodge/Room/Airlock.hs 66;" f airlockZ src/Dodge/Room/Airlock.hs 91;" f allHotkeys src/Dodge/Creature/YourControl.hs 51;" f -allInvLocs src/Dodge/Item/Grammar.hs 217;" f +allInvLocs src/Dodge/Item/Grammar.hs 218;" f allVisibleWalls src/Dodge/Base/Collide.hs 131;" f alongSegBy src/Geometry.hs 43;" f ammoMagSPic src/Dodge/Item/Draw/SPic.hs 45;" f @@ -3831,7 +3831,7 @@ defaultBlock src/Dodge/Default/Block.hs 5;" f defaultBounds src/Dodge/Data/Bounds.hs 20;" f defaultBullet src/Dodge/Item/Weapon/Bullet.hs 10;" f defaultBulletWeapon src/Dodge/Default/Item.hs 47;" f -defaultButton src/Dodge/Default.hs 51;" f +defaultButton src/Dodge/Default.hs 49;" f defaultCWCam src/Dodge/Default/World.hs 67;" f defaultCWGen src/Dodge/Default/World.hs 57;" f defaultCWorld src/Dodge/Default/World.hs 82;" f @@ -3854,8 +3854,8 @@ defaultDoorWall src/Dodge/Default/Wall.hs 32;" f defaultDrawButton src/Dodge/Button/Draw.hs 28;" f defaultEquip src/Dodge/Default/Item/Use/Equipment.hs 6;" f defaultEquipUse src/Dodge/Default/Item/Use.hs 23;" f -defaultEquipment src/Dodge/Default.hs 27;" f -defaultFlIt src/Dodge/Default.hs 30;" f +defaultEquipment src/Dodge/Default.hs 25;" f +defaultFlIt src/Dodge/Default.hs 28;" f defaultForeground src/Dodge/Default/ForegroundShape.hs 5;" f defaultHUD src/Dodge/Default/World.hs 153;" f defaultHeldItem src/Dodge/Default/Item.hs 24;" f @@ -3874,12 +3874,12 @@ defaultLeftItem src/Dodge/Default/Item.hs 38;" f defaultLeftLoadable src/Dodge/Default/Item/Use/Consumption.hs 8;" f defaultLeftUse src/Dodge/Default/Item/Use.hs 14;" f defaultListDisplayParams src/Dodge/ListDisplayParams.hs 19;" f -defaultMachine src/Dodge/Default.hs 33;" f +defaultMachine src/Dodge/Default.hs 31;" f defaultMachineWall src/Dodge/Default/Wall.hs 48;" f -defaultPP src/Dodge/Default.hs 66;" f +defaultPP src/Dodge/Default.hs 64;" f defaultPerceptionState src/Dodge/Default/Creature.hs 82;" f defaultProp src/Dodge/Default/Prop.hs 6;" f -defaultProximitySensor src/Dodge/Default.hs 80;" f +defaultProximitySensor src/Dodge/Default.hs 78;" f defaultRoom src/Dodge/Default/Room.hs 9;" f defaultSensorWall src/Dodge/Default/Wall.hs 58;" f defaultState src/Dodge/Default/Creature.hs 140;" f @@ -3901,8 +3901,8 @@ destroyAt src/Dodge/Bullet.hs 201;" f destroyBlock src/Dodge/Block.hs 56;" f destroyDoor src/Dodge/Block.hs 85;" f destroyInvItem src/Dodge/Inventory.hs 42;" f -destroyLS src/Dodge/LightSource.hs 86;" f -destroyLSFlashAt src/Dodge/LightSource.hs 96;" f +destroyLS src/Dodge/LightSource.hs 32;" f +destroyLSFlashAt src/Dodge/LightSource.hs 42;" f destroyMachine src/Dodge/Machine/Destroy.hs 12;" f destroyMatS src/Dodge/Material/Sound.hs 7;" f destroyMcType src/Dodge/Machine/Destroy.hs 21;" f @@ -4211,7 +4211,7 @@ explodeShell src/Dodge/Projectile/Update.hs 154;" f explosionS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 410;" f explosiveBarrel src/Dodge/Creature/Inanimate.hs 29;" f extTrigLitPos src/Dodge/Placement/Instance/Button.hs 84;" f -extendAway src/Dodge/Placement/Instance/LightSource.hs 196;" f +extendAway src/Dodge/Placement/Instance/LightSource.hs 200;" f extendConeToScreenEdge src/Dodge/Debug/Picture.hs 82;" f extraPics src/Dodge/Render/ShapePicture.hs 83;" f extractRoomPos src/Dodge/RoomPos.hs 6;" f @@ -4464,7 +4464,7 @@ hotkeyToScancode src/Dodge/Creature/YourControl.hs 54;" f hotkeyToString src/Dodge/Inventory/SelectionList.hs 37;" f humanoidAIList src/Dodge/Humanoid.hs 181;" f hvBulletAmmo src/Dodge/Item/Weapon/Bullet.hs 31;" f -iShape src/Dodge/Placement/Instance/LightSource.hs 74;" f +iShape src/Dodge/Placement/Instance/LightSource.hs 73;" f icosahedronPoints src/Polyhedra/Geodesic.hs 12;" f icosohedronFaces src/Polyhedra/Geodesic.hs 19;" f ifConfigWallRotate src/Dodge/Update/Camera.hs 171;" f @@ -4531,20 +4531,20 @@ intersectSegsSeg src/Geometry/Intersect.hs 232;" f intervalList src/Geometry.hs 315;" f interweave src/Justify.hs 17;" f intsToPos src/Dodge/Room/Modify/Girder.hs 160;" f -invAdj src/Dodge/Item/Grammar.hs 188;" f +invAdj src/Dodge/Item/Grammar.hs 189;" f invCursorParams src/Dodge/ListDisplayParams.hs 38;" f invDimColor src/Dodge/DisplayInventory.hs 205;" f invDisplayParams src/Dodge/ListDisplayParams.hs 32;" f invHead src/Dodge/Render/HUD.hs 397;" f -invLDT src/Dodge/Item/Grammar.hs 171;" f -invRootMap src/Dodge/Item/Grammar.hs 180;" f -invRootTrees src/Dodge/Item/Grammar.hs 210;" f +invLDT src/Dodge/Item/Grammar.hs 172;" f +invRootMap src/Dodge/Item/Grammar.hs 181;" f +invRootTrees src/Dodge/Item/Grammar.hs 211;" f invSelectionItem src/Dodge/Inventory/SelectionList.hs 21;" f invShiftPointBy src/Dodge/ShiftPoint.hs 8;" f invSideEff src/Dodge/Creature/State.hs 161;" f invSize src/Dodge/Inventory/CheckSlots.hs 30;" f -invTrees src/Dodge/Item/Grammar.hs 198;" f -invTrees' src/Dodge/Item/Grammar.hs 202;" f +invTrees src/Dodge/Item/Grammar.hs 199;" f +invTrees' src/Dodge/Item/Grammar.hs 203;" f inventoryExtra src/Dodge/Render/HUD.hs 307;" f inventoryExtraH src/Dodge/Render/HUD.hs 318;" f inventoryX src/Dodge/Creature.hs 115;" f @@ -4620,7 +4620,7 @@ itmBaseInfo src/Dodge/Item/Info.hs 22;" f itmEquipSiteInfo src/Dodge/Item/Info.hs 217;" f itmSpaceInfo src/Dodge/Item/Info.hs 17;" f itmUsageInfo src/Dodge/Item/Info.hs 196;" f -jShape src/Dodge/Placement/Instance/LightSource.hs 86;" f +jShape src/Dodge/Placement/Instance/LightSource.hs 85;" f jaggedShape src/Dodge/Block/Debris.hs 191;" f joinItemsInList src/Dodge/Item/Grammar.hs 162;" f jps0' src/Dodge/LevelGen/PlacementHelper.hs 60;" f @@ -4641,7 +4641,7 @@ keyholeCorridor src/Dodge/Room/Corridor.hs 39;" f knifeS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 470;" f lConnect src/Dodge/Render/Connectors.hs 45;" f lConnectMulti src/Dodge/Render/Connectors.hs 54;" f -lShape src/Dodge/Placement/Instance/LightSource.hs 77;" f +lShape src/Dodge/Placement/Instance/LightSource.hs 76;" f lamp src/Dodge/Creature/Lamp.hs 22;" f lampCover src/Dodge/Placement/Instance/LightSource/Cover.hs 8;" f lampCoverWhen src/Dodge/Placement/Instance/LightSource/Cover.hs 19;" f @@ -4680,7 +4680,7 @@ leftItemSPic src/Dodge/Item/Draw/SPic.hs 97;" f leftPad src/Padding.hs 14;" f leftRightCombine src/Dodge/Item/Grammar.hs 146;" f legsSPic src/Dodge/Item/Draw/SPic.hs 415;" f -liShape src/Dodge/Placement/Instance/LightSource.hs 99;" f +liShape src/Dodge/Placement/Instance/LightSource.hs 98;" f light src/Color.hs 104;" f lightSensByDoor src/Dodge/Room/LasTurret.hs 44;" f lightSensInsideDoor src/Dodge/Room/LasTurret.hs 34;" f @@ -4744,12 +4744,11 @@ 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 27;" f -lsColPos src/Dodge/LightSource.hs 50;" f -lsColPosID src/Dodge/LightSource.hs 47;" f -lsColPosRad src/Dodge/LightSource.hs 56;" f -lsPosCol src/Dodge/LightSource.hs 53;" f -lsPosRad src/Dodge/LightSource.hs 23;" f -lsRadCol src/Dodge/LightSource.hs 59;" f +lsColPos src/Dodge/LightSource.hs 23;" f +lsColPosID src/Dodge/LightSource.hs 20;" f +lsColPosRad src/Dodge/LightSource.hs 29;" f +lsPosCol src/Dodge/LightSource.hs 26;" f +lsPosRad src/Dodge/LightSource.hs 17;" f ltAutoCrit src/Dodge/Creature/LtAutoCrit.hs 13;" f m src/ShortShow.hs 34;" f machineAddSound src/Dodge/Machine.hs 49;" f @@ -4911,13 +4910,13 @@ mixColorsLinear src/Color.hs 95;" f mkCustomLenses src/ThirdPartyLens.hs 7;" f mkGraphFromEdges src/GraphHelp.hs 4;" f mkNode src/Dodge/Graph.hs 29;" f -mntLS src/Dodge/Placement/Instance/LightSource.hs 124;" f -mntLSCol src/Dodge/Placement/Instance/LightSource.hs 127;" f -mntLSCond src/Dodge/Placement/Instance/LightSource.hs 142;" f -mntLSLampCol src/Dodge/Placement/Instance/LightSource.hs 130;" f -mntLSOn src/Dodge/Placement/Instance/LightSource.hs 55;" f -mntLight src/Dodge/Placement/Instance/LightSource.hs 154;" f -mntLightLnkCond src/Dodge/Placement/Instance/LightSource.hs 159;" f +mntLS src/Dodge/Placement/Instance/LightSource.hs 123;" f +mntLSCol src/Dodge/Placement/Instance/LightSource.hs 128;" f +mntLSCond src/Dodge/Placement/Instance/LightSource.hs 146;" f +mntLSLampCol src/Dodge/Placement/Instance/LightSource.hs 133;" f +mntLSOn src/Dodge/Placement/Instance/LightSource.hs 54;" f +mntLight src/Dodge/Placement/Instance/LightSource.hs 158;" f +mntLightLnkCond src/Dodge/Placement/Instance/LightSource.hs 163;" 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 @@ -4927,7 +4926,7 @@ moveBullet src/Dodge/Bullet.hs 193;" f moveCombineSel src/Dodge/Update/Scroll.hs 58;" f moveHammerUp src/Dodge/Hammer.hs 5;" f moveInverseShockwave src/Dodge/Shockwave/Update.hs 53;" f -moveLSThen src/Dodge/Placement/Instance/LightSource.hs 31;" f +moveLSThen src/Dodge/Placement/Instance/LightSource.hs 30;" f moveOldHotkey src/Dodge/Hotkey.hs 32;" f movePenBullet src/Dodge/Bullet.hs 211;" f moveRoomBy src/Dodge/Room/Link.hs 53;" f @@ -5242,7 +5241,7 @@ prismPoly src/Shape.hs 59;" f projV src/Geometry/Vector.hs 171;" f projV3 src/Geometry/Vector3D.hs 127;" f propDrawToggle src/Dodge/Prop/Draw.hs 39;" f -propLSThen src/Dodge/Placement/Instance/LightSource.hs 17;" f +propLSThen src/Dodge/Placement/Instance/LightSource.hs 16;" f propSetToggleAnd src/Dodge/Prop/Update.hs 41;" f propUpdateIf src/Dodge/Prop/Update.hs 25;" f propUpdatePosition src/Dodge/Prop/Update.hs 30;" f @@ -5274,10 +5273,10 @@ putBlockN src/Dodge/Placement/Instance/Wall.hs 166;" f putBlockRect src/Dodge/Placement/Instance/Wall.hs 145;" f putBlockRect' src/Dodge/Placement/Instance/Wall.hs 132;" f putBlockV src/Dodge/Placement/Instance/Wall.hs 153;" f -putColorLamp src/Dodge/Placement/Instance/LightSource.hs 199;" f +putColorLamp src/Dodge/Placement/Instance/LightSource.hs 203;" f putDoubleDoor src/Dodge/Placement/Instance/Door.hs 17;" f putDoubleDoorThen src/Dodge/Placement/Instance/Door.hs 21;" f -putLamp src/Dodge/Placement/Instance/LightSource.hs 202;" f +putLamp src/Dodge/Placement/Instance/LightSource.hs 206;" f putLasTurret src/Dodge/Placement/Instance/Turret.hs 11;" f putLitButOnPos src/Dodge/Placement/Instance/Button.hs 65;" f putLitButOnPosExtTrig src/Dodge/Placement/Instance/Button.hs 103;" f @@ -5658,9 +5657,9 @@ showEquipItem src/Dodge/Item/Display.hs 68;" f showEquipmentNumber src/Dodge/Item/Display.hs 110;" f showInt src/Dodge/Item/Info.hs 31;" f showIntsString src/Dodge/Tree/Compose.hs 129;" f -showManObj src/Dodge/TestString.hs 64;" f +showManObj src/Dodge/TestString.hs 71;" f showTerminalError src/Dodge/Debug/Terminal.hs 76;" f -showTimeFlow src/Dodge/TestString.hs 113;" f +showTimeFlow src/Dodge/TestString.hs 120;" f shrinkPolyOnEdges src/Geometry/Polygon.hs 136;" f shrinkVert src/Geometry/Polygon.hs 140;" f shuffle src/RandomHelp.hs 49;" f @@ -5718,11 +5717,11 @@ 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 510;" 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 -spanLSLightI src/Dodge/Placement/Instance/LightSource.hs 164;" f -spanLightI src/Dodge/Placement/Instance/LightSource.hs 193;" f +spanColLightBlackI src/Dodge/Placement/Instance/LightSource.hs 190;" f +spanColLightI src/Dodge/Placement/Instance/LightSource.hs 183;" f +spanLS src/Dodge/Placement/Instance/LightSource.hs 175;" f +spanLSLightI src/Dodge/Placement/Instance/LightSource.hs 168;" f +spanLightI src/Dodge/Placement/Instance/LightSource.hs 197;" f sparkDam src/Dodge/Spark.hs 32;" f sparkGun src/Dodge/Item/Held/BatteryGuns.hs 15;" f spawnCrNextTo src/Dodge/Item/Weapon/Spawn.hs 20;" f @@ -5920,7 +5919,7 @@ tone440sawtoothquietS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 332;" f topInvW src/Dodge/ListDisplayParams.hs 53;" f topPrismEdgeIndices src/Shader/Poke.hs 327;" f topPrismIndices src/Shader/Poke.hs 402;" f -topTestPart src/Dodge/TestString.hs 60;" f +topTestPart src/Dodge/TestString.hs 67;" f torch src/Dodge/Item/Held/Utility.hs 26;" f torchShape src/Dodge/Item/Draw/SPic.hs 213;" f torqueCr src/Dodge/WorldEffect.hs 72;" f @@ -6026,7 +6025,7 @@ unusedOffPathAwayFromLink src/Dodge/PlacementSpot.hs 133;" f unusedSpotAwayFromInLink src/Dodge/PlacementSpot.hs 139;" f unusedSpotAwayFromLink src/Dodge/PlacementSpot.hs 122;" f unusedSpotNearInLink src/Dodge/PlacementSpot.hs 191;" f -upHammer src/Dodge/Default.hs 77;" f +upHammer src/Dodge/Default.hs 75;" f upProjectile src/Dodge/Projectile/Update.hs 26;" f updateAllNodes src/TreeHelp.hs 85;" f updateArc src/Dodge/Tesla/Arc.hs 86;" f @@ -6193,7 +6192,7 @@ vCen3 src/Geometry/Vector3D.hs 115;" f vInverse src/Geometry/Vector.hs 142;" f vNormal src/Geometry/Vector.hs 137;" f vNormaly src/Geometry/Vector3D.hs 72;" f -vShape src/Dodge/Placement/Instance/LightSource.hs 114;" f +vShape src/Dodge/Placement/Instance/LightSource.hs 113;" f vToL src/MatrixHelper.hs 46;" f vToQuat src/Quaternion.hs 41;" f validTerminalCommands src/Dodge/Debug/Terminal.hs 131;" f