Display basic tree of attachments in inventory

This commit is contained in:
2024-09-13 16:19:17 +01:00
parent bd681a577c
commit fb104a1719
3 changed files with 39 additions and 27 deletions
+1 -1
View File
@@ -1 +1 @@
All good (615 modules, at 12:01:46)
All good (615 modules, at 16:17:04)
+14 -4
View File
@@ -62,7 +62,7 @@ drawInventory sss w cfig = drawSelectionSections sss (invDisplayParams w) cfig
where
iextra = fromMaybe mempty $ do
inv <- w ^? cWorld . lWorld . creatures . ix 0 . crInv
return $ inventoryExtra cfig (invAdj inv) (fmap (^._2) $ invIndentIM inv)
return $ inventoryExtra sss cfig w (invAdj inv)
drawSubInventory :: SubInventory -> Configuration -> World -> Picture
drawSubInventory subinv cfig w = case subinv of
@@ -183,8 +183,16 @@ examineInventoryExtra mtweaki cfig = fromMaybe mempty $ do
translate subInvX (-71) $
listCursorChooseBorderScale 0 1 [North, South, West] tweaki 0 white 10 1
inventoryExtra :: Configuration -> IM.IntMap ([Int],[Int]) -> IM.IntMap Int -> Picture
inventoryExtra = undefined
inventoryExtra :: SelectionSections () -> Configuration -> World -> IM.IntMap ([Int],[Int]) -> Picture
inventoryExtra sss cfig w is = translate (negate 5) 0 $ IM.foldMapWithKey (inventoryExtraH sss cfig w) $ fmap (\(a,b) -> a<>b) is
inventoryExtraH :: SelectionSections () -> Configuration -> World -> Int -> [Int] -> Picture
inventoryExtraH sss cfig w i is = fromMaybe mempty $ do
p <- snum i
let ps = mapMaybe snum is
return $ color white $ lConnectMulti ps p
where
snum = selNumPos cfig (invDisplayParams w) sss 0
combineInventoryExtra :: SelectionSections CombinableItem -> Configuration -> World -> Picture
combineInventoryExtra sss cfig w = fromMaybe mempty $ do
@@ -355,9 +363,11 @@ selNumPos ::
selNumPos cfig ldp sss i j = do
ipos <- selSecYint i j sss
size <- selSecSelSize i j sss
indent <- sss ^? sssSections . ix i . ssItems . ix j . siOffX
return $
screenPosAbs cfig (ldp ^. ldpPos)
+ V2 0 (negate (20 * s + ygap) * (fromIntegral ipos + fromIntegral size * 0.5))
+ V2 (10 * s * fromIntegral indent)
(negate (20 * s + ygap) * (fromIntegral ipos + fromIntegral size * 0.5))
where
s = _ldpScale ldp
ygap = _ldpVerticalGap ldp
+24 -22
View File
@@ -4405,7 +4405,7 @@ allHotkeys src/Dodge/Creature/YourControl.hs 52;" f
allVisibleWalls src/Dodge/Base/Collide.hs 131;" f
alongSegBy src/Geometry.hs 43;" f
ammoCheckI src/Dodge/Item/Weapon/TriggerType.hs 143;" f
ammoTweakStrings src/Dodge/Render/HUD.hs 267;" f
ammoTweakStrings src/Dodge/Render/HUD.hs 284;" f
amr src/Dodge/Item/Held/Rod.hs 50;" f
amr src/Dodge/Item/Weapon/BulletGun/Rod.hs 56;" f
anItemFindPulse src/Dodge/Item/Weapon/UseEffect.hs 25;" f
@@ -4738,7 +4738,7 @@ clipZoom src/Dodge/Update/Camera.hs 236;" f
clockCycle src/Dodge/Clock.hs 9;" f
closeObjEq src/Dodge/Inventory/CloseObject.hs 12;" f
closeObjPos src/Dodge/Inventory/CloseObject.hs 7;" f
closeObjectInfo src/Dodge/Render/HUD.hs 105;" f
closeObjectInfo src/Dodge/Render/HUD.hs 111;" f
closeObjectToSelectionItem src/Dodge/Inventory/SelectionList.hs 66;" f
closeObjectToTextPictures src/Dodge/Inventory/SelectionList.hs 81;" f
closestCreatureID src/Dodge/Debug.hs 91;" f
@@ -4783,7 +4783,7 @@ combineAwareness src/Dodge/Creature/Perception.hs 109;" f
combineBeamBeams src/Dodge/Update.hs 475;" f
combineBeams src/Dodge/Update.hs 466;" f
combineFloors src/Dodge/Room/Procedural.hs 171;" f
combineInventoryExtra src/Dodge/Render/HUD.hs 180;" f
combineInventoryExtra src/Dodge/Render/HUD.hs 197;" f
combineItemListYouX src/Dodge/Combine.hs 41;" f
combineList src/Dodge/Combine.hs 44;" f
combineListInfo src/Dodge/Combine.hs 57;" f
@@ -5158,7 +5158,7 @@ displayControls src/Dodge/Menu.hs 206;" f
displayEnergyBallType src/Dodge/Module/Info.hs 19;" f
displayFrameTicks src/Dodge/Render/Picture.hs 27;" f
displayFreeSlots src/Dodge/DisplayInventory.hs 159;" f
displayTerminal src/Dodge/Render/HUD.hs 210;" f
displayTerminal src/Dodge/Render/HUD.hs 227;" f
displayTerminalLineString src/Dodge/Update.hs 325;" f
dist src/Geometry/Vector.hs 179;" f
dist3 src/Geometry/Vector3D.hs 101;" f
@@ -5284,7 +5284,7 @@ drawCircFlare src/Dodge/Flare.hs 25;" f
drawCloud src/Dodge/Cloud/Draw.hs 6;" f
drawCloudWith src/Dodge/Cloud/Draw.hs 12;" f
drawCollisionTest src/Dodge/Debug/Picture.hs 103;" f
drawCombineInventory src/Dodge/Render/HUD.hs 69;" f
drawCombineInventory src/Dodge/Render/HUD.hs 75;" f
drawConcurrentMessage src/Dodge/Render/Picture.hs 52;" f
drawCorpse src/Dodge/Corpse/Draw.hs 6;" f
drawCrInfo src/Dodge/Debug/Picture.hs 341;" f
@@ -5299,7 +5299,7 @@ drawDoubleLampCover src/Dodge/LightSources/Lamp.hs 139;" f
drawDoubleLampCover src/Dodge/Prop/Draw.hs 86;" f
drawEnergyBall src/Dodge/EnergyBall/Draw.hs 8;" f
drawEquipment src/Dodge/Creature/Picture.hs 173;" f
drawExamineInventory src/Dodge/Render/HUD.hs 75;" f
drawExamineInventory src/Dodge/Render/HUD.hs 81;" f
drawFarWallDetect src/Dodge/Debug/Picture.hs 232;" f
drawFlame src/Dodge/Flame/Draw.hs 7;" f
drawFlamelet src/Dodge/EnergyBall/Draw.hs 23;" f
@@ -5307,12 +5307,12 @@ drawFlare src/Dodge/Flare.hs 12;" f
drawFooterText src/Dodge/Render/MenuScreen.hs 65;" f
drawForceField src/Dodge/Wall/Draw.hs 11;" f
drawGib src/Dodge/Prop/Draw.hs 28;" f
drawHP src/Dodge/Render/HUD.hs 49;" f
drawHUD src/Dodge/Render/HUD.hs 41;" f
drawHP src/Dodge/Render/HUD.hs 50;" f
drawHUD src/Dodge/Render/HUD.hs 42;" f
drawInputMenu src/Dodge/Render/MenuScreen.hs 18;" f
drawInspectWall src/Dodge/Debug/Picture.hs 207;" f
drawInspectWalls src/Dodge/Debug/Picture.hs 195;" f
drawInventory src/Dodge/Render/HUD.hs 58;" f
drawInventory src/Dodge/Render/HUD.hs 59;" f
drawLabCrossCol src/Dodge/Render/Label.hs 8;" f
drawLampCover src/Dodge/LightSources/Lamp.hs 122;" f
drawLampCover src/Dodge/Prop/Draw.hs 44;" f
@@ -5340,7 +5340,7 @@ drawPointLabel src/Dodge/Render/Label.hs 13;" f
drawProjectile src/Dodge/Projectile/Draw.hs 10;" f
drawProp src/Dodge/Prop/Draw.hs 15;" f
drawProp' src/Dodge/Prop/Draw.hs 12;" f
drawRBOptions src/Dodge/Render/HUD.hs 123;" f
drawRBOptions src/Dodge/Render/HUD.hs 129;" f
drawRadarSweep src/Dodge/RadarSweep/Draw.hs 7;" f
drawRemoteShell src/Dodge/Projectile/Draw.hs 27;" f
drawSelectionCursor src/Dodge/Render/List.hs 40;" f
@@ -5354,7 +5354,7 @@ drawShell src/Dodge/Projectile/Draw.hs 17;" f
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 61;" f
drawSubInventory src/Dodge/Render/HUD.hs 67;" f
drawSweep src/Dodge/Render/ShapePicture.hs 51;" f
drawSwitch src/Dodge/Button/Draw.hs 15;" f
drawSwitchWire src/Dodge/LevelGen/Switch.hs 28;" f
@@ -5436,7 +5436,7 @@ errorPointInPolygon src/Geometry.hs 49;" f
escapeKey src/Dodge/Config/KeyConfig.hs 23;" f
evaluateRandPS src/Dodge/Placement/PlaceSpot.hs 137;" f
evenOddSplit src/Dodge/Base.hs 138;" f
examineInventoryExtra src/Dodge/Render/HUD.hs 172;" f
examineInventoryExtra src/Dodge/Render/HUD.hs 178;" f
exitTerminalSubInv src/Dodge/Terminal.hs 223;" f
expandLine src/Dodge/Base/Zone.hs 106;" f
expandLine src/Dodge/Picture.hs 30;" f
@@ -5530,7 +5530,7 @@ flockPointTargetR src/Dodge/Creature/Boid.hs 266;" f
flockToPointUsing src/Dodge/Creature/Boid.hs 214;" f
flockToPointUsing' src/Dodge/Creature/Boid.hs 227;" f
floorHun src/Dodge/Base/Zone.hs 40;" f
floorItemPickupInfo src/Dodge/Render/HUD.hs 110;" f
floorItemPickupInfo src/Dodge/Render/HUD.hs 116;" f
floorItemSPic src/Dodge/Render/ShapePicture.hs 159;" f
floorWire src/Dodge/Wire.hs 13;" f
foamSpray src/Dodge/SoundLogic/Synonyms.hs 27;" f
@@ -5827,7 +5827,7 @@ invAdj src/Dodge/Item/Grammar.hs 87;" f
invDimColor src/Dodge/DisplayInventory.hs 140;" f
invDimColor src/Dodge/Inventory/Color.hs 4;" f
invDisplayParams src/Dodge/ListDisplayParams.hs 29;" f
invHead src/Dodge/Render/HUD.hs 275;" f
invHead src/Dodge/Render/HUD.hs 292;" f
invIndentIM src/Dodge/Item/Grammar.hs 93;" f
invLDT src/Dodge/Item/Grammar.hs 83;" f
invSelectionItem src/Dodge/Inventory/SelectionList.hs 35;" f
@@ -5835,6 +5835,8 @@ invSelectionItem' src/Dodge/Inventory/SelectionList.hs 17;" f
invShiftPointBy src/Dodge/ShiftPoint.hs 8;" f
invSideEff src/Dodge/Creature/State.hs 232;" f
invSize src/Dodge/Inventory/CheckSlots.hs 40;" f
inventoryExtra src/Dodge/Render/HUD.hs 186;" f
inventoryExtraH src/Dodge/Render/HUD.hs 189;" f
inventoryX src/Dodge/Creature.hs 115;" f
inverseShockwaveAt src/Dodge/WorldEvent/Shockwave.hs 43;" f
invertEncircleDistP src/Dodge/Creature/Boid.hs 13;" f
@@ -6019,7 +6021,7 @@ litCorridor90 src/Dodge/Room/RoadBlock.hs 26;" f
lmt src/MatrixHelper.hs 43;" f
lnkBothAnd src/Dodge/Room/Procedural.hs 120;" f
lnkEff src/Dodge/Layout/Tree/Shift.hs 55;" f
lnkMidPosInvSelsCol src/Dodge/Render/HUD.hs 253;" f
lnkMidPosInvSelsCol src/Dodge/Render/HUD.hs 270;" f
lnkPosDir src/Dodge/RoomLink.hs 97;" f
loadConfig src/LoadConfig.hs 22;" f
loadDodgeConfig src/Dodge/Config/Load.hs 9;" f
@@ -6480,7 +6482,7 @@ pickUpItem src/Dodge/Creature/Action.hs 242;" f
pickUpItemID src/Dodge/Creature/Action.hs 238;" f
pickUpS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 444;" f
pickUpSound src/Dodge/SoundLogic/Synonyms.hs 4;" f
picsToSelectable src/Dodge/Render/HUD.hs 328;" f
picsToSelectable src/Dodge/Render/HUD.hs 345;" f
pictureOnEquip src/Dodge/Item/Equipment/Shape.hs 9;" f
pincerP src/Dodge/Creature/Boid.hs 60;" f
pincerP' src/Dodge/Creature/Boid.hs 93;" f
@@ -7008,9 +7010,9 @@ secondColumnParams src/Dodge/ListDisplayParams.hs 42;" f
seedStartMenu src/Dodge/Menu.hs 79;" f
seedStartOptions src/Dodge/Menu.hs 82;" f
segOnCirc src/Geometry.hs 116;" f
selNumPos src/Dodge/Render/HUD.hs 339;" f
selNumPos src/Dodge/Render/HUD.hs 356;" f
selSecDrawCursor src/Dodge/Render/List.hs 87;" f
selSecSelCol src/Dodge/Render/HUD.hs 356;" f
selSecSelCol src/Dodge/Render/HUD.hs 373;" f
selSecSelSize src/Dodge/SelectionSections.hs 124;" f
selSecYint src/Dodge/SelectionSections.hs 127;" f
selectCreatureDebugItem src/Dodge/Debug.hs 38;" f
@@ -7443,7 +7445,7 @@ textJustifyLeft src/Picture/Base.hs 208;" f
textJustifyRight src/Picture/Base.hs 198;" f
textNum src/Picture/Data.hs 53;" f
textRight src/Picture/Base.hs 203;" f
textSelItems src/Dodge/Render/HUD.hs 325;" f
textSelItems src/Dodge/Render/HUD.hs 342;" f
textVMirror src/Picture/Base.hs 216;" f
tflat2 src/Picture/Data.hs 80;" f
tflat3 src/Picture/Data.hs 83;" f
@@ -7609,9 +7611,9 @@ turnTo src/Dodge/Movement/Turn.hs 4;" f
turnTo src/Dodge/Placements/Turret.hs 71;" f
turnToAmount src/Dodge/Movement/Turn.hs 15;" f
turretItemOffset src/Dodge/Item/HeldOffset.hs 14;" f
tweakItems src/Dodge/Render/HUD.hs 264;" f
tweakItems src/Dodge/Render/HUD.hs 281;" f
tweakPhaseV src/Dodge/Tweak.hs 21;" f
tweakString src/Dodge/Render/HUD.hs 272;" f
tweakString src/Dodge/Render/HUD.hs 289;" f
tweakTractionPower src/Dodge/Tweak.hs 14;" f
tweenAngles src/Geometry/Vector.hs 184;" f
twinSlowDoorChasers src/Dodge/Room/LongDoor.hs 78;" f
@@ -7978,7 +7980,7 @@ you src/Dodge/Base/You.hs 17;" f
youBox' src/Dodge/Creature/ShadowBox.hs 8;" f
youDropItem src/Dodge/Creature/Action.hs 192;" f
youSil src/Dodge/Creature/ShadowBox.hs 15;" f
yourAugmentedItem src/Dodge/Render/HUD.hs 117;" f
yourAugmentedItem src/Dodge/Render/HUD.hs 123;" f
yourControl src/Dodge/Creature/YourControl.hs 22;" f
yourDefaultSpeed src/Dodge/Default/Creature.hs 134;" f
yourDefaultStrideLength src/Dodge/Default/Creature.hs 137;" f