Simplify check if inventory selection exists

This commit is contained in:
2024-11-26 17:20:07 +00:00
parent e1f5049e0f
commit dc5c62e8ff
2 changed files with 59 additions and 59 deletions
+4 -3
View File
@@ -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
+55 -56
View File
@@ -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