diff --git a/src/Dodge/Inventory/SelectionList.hs b/src/Dodge/Inventory/SelectionList.hs index 5d7a44b2c..731aa1e5b 100644 --- a/src/Dodge/Inventory/SelectionList.hs +++ b/src/Dodge/Inventory/SelectionList.hs @@ -40,9 +40,9 @@ invSelectionItem w indent loc = -- note the convoluted display of the hotkey/equipment, this was done to avoid a -- space leak itemDisplay :: World -> Creature -> ComposedItem -> [String] -itemDisplay w cr ci = f +itemDisplay w cr ci = -- f (basicItemDisplay itm) - (itemNumberDisplay w cr ci) +-- (itemNumberDisplay w cr ci) `g` anyextra where itm = ci ^. _1 @@ -53,7 +53,7 @@ itemDisplay w cr ci = f --g (x:xs) (y:_) = (rightPad 15 ' ' x ++ y) : xs g (x:xs) (y:_) = (x ++ y) : xs g xs _ = xs - anyextra = maybeToList (anyscroll <> anyhotkey <> anyequippos) + anyextra = maybeToList (anyscroll <> anyexternal <> anyhotkey <> anyequippos) anyhotkey = fmap hotkeyToString (w ^? cWorld . lWorld . imHotkeys . unNIntMap . ix itid) anyequippos = do @@ -61,21 +61,14 @@ itemDisplay w cr ci = f epText <$> ci ^? _1 . itLocation . ilEquipSite anyscroll = fmap absurround $ itemScrollDisplay =<< (ci ^? _1) absurround str = " <" ++ str ++ ">" + anyexternal = fae <$> itemExternalValue itm w cr + -- will probably want to remote the ! + fae (Left i) = " !"++shortShow i + fae (Right s) = " !" ++ s epText :: Maybe EquipSite -> [Char] epText (Just ep) = ' ' : rightPad 8 ' ' ('@' : eqPosText ep) epText Nothing = " @NOT.EQP" ---epText Nothing = " ¬EQUIPED" - -itemIntegralValue :: Item -> Maybe (Either Int String) -itemIntegralValue itm - | Just x <- itm ^? itUse . uInt = Just (Left x) - | Just x <- itm ^? itUse . useToggle = Just (Right $ show x) - | isJust $ itm ^? itTargeting . itTgPos . _Just = Just $ Right "!TARGETING" - | Just x <- itm ^? itConsumables . magLoadStatus . iaLoaded = Just $ Left x - | UseAttach (APInt i) <- itm ^. itUse = Just $ Left i - | UseAttach (APProjectiles x) <- itm ^. itUse = Just . Right $ show x - | otherwise = mempty introScanValue :: Creature -> IntroScanType -> Either Int String introScanValue cr = \case diff --git a/src/Dodge/Item/Display.hs b/src/Dodge/Item/Display.hs index 8de13a531..6eab03a9d 100644 --- a/src/Dodge/Item/Display.hs +++ b/src/Dodge/Item/Display.hs @@ -6,6 +6,7 @@ module Dodge.Item.Display ( basicItemDisplay, ) where +import ShortShow import Data.Maybe import Dodge.Data.World import Dodge.Item.InvSize @@ -19,9 +20,24 @@ import LensHelp basicItemDisplay :: Item -> [String] basicItemDisplay itm = Prelude.take (itInvHeight itm) $ - itemBaseName (itm ^. itType) : + (itemBaseName (itm ^. itType) ++ anyinternalvalue) : catMaybes [maybeWarmupStatus itm] ++ repeat "*" + where + anyinternalvalue = maybe "" f $ itemInternalValue itm + f (Left i) = ' ':shortShow i + f (Right s) = ' ':s + +itemInternalValue :: Item -> Maybe (Either Int String) +itemInternalValue itm + | Just x <- itm ^? itUse . uInt = Just (Left x) + | Just x <- itm ^? itUse . useToggle = Just (Right $ show x) + | isJust $ itm ^? itTargeting . itTgPos . _Just = Just $ Right "!TARGETING" + | Just x <- itm ^? itConsumables . magLoadStatus . iaLoaded = Just $ Left x + | UseAttach (APInt i) <- itm ^. itUse = Just $ Left i + | UseAttach (APProjectiles x) <- itm ^. itUse = Just . Right $ show x + | otherwise = mempty + maybeWarmupStatus :: Item -> Maybe String maybeWarmupStatus it = case it ^? itUse . heldDelay . warmMax of diff --git a/tags b/tags index 53f802c78..48fde87da 100644 --- a/tags +++ b/tags @@ -3517,7 +3517,7 @@ basicBulDams src/Dodge/Item/Weapon/Bullet.hs 23;" f basicCrPict src/Dodge/Creature/Picture.hs 26;" f basicCrShape src/Dodge/Creature/Picture.hs 34;" f basicDrawBeam src/Dodge/Beam/Draw.hs 11;" f -basicItemDisplay src/Dodge/Item/Display.hs 19;" f +basicItemDisplay src/Dodge/Item/Display.hs 20;" f basicMachineApplyDamage src/Dodge/Machine/Damage.hs 6;" f basicMachineUpdate src/Dodge/Machine.hs 13;" f basicMuzFlare src/Dodge/HeldUse.hs 313;" f @@ -3668,9 +3668,9 @@ clicker src/Dodge/Item/Scope.hs 81;" f clipV src/Geometry/Vector.hs 47;" f clipZoom src/Dodge/Update/Camera.hs 185;" f clockCycle src/Dodge/Clock.hs 9;" f -closeButtonToSelectionItem src/Dodge/Inventory/SelectionList.hs 175;" f -closeItemToSelectionItem src/Dodge/Inventory/SelectionList.hs 160;" f -closeItemToTextPictures src/Dodge/Inventory/SelectionList.hs 189;" f +closeButtonToSelectionItem src/Dodge/Inventory/SelectionList.hs 167;" f +closeItemToSelectionItem src/Dodge/Inventory/SelectionList.hs 152;" f +closeItemToTextPictures src/Dodge/Inventory/SelectionList.hs 181;" f closeObjectInfo src/Dodge/Render/HUD.hs 223;" f closestCreatureID src/Dodge/Debug.hs 116;" f closestPointOnLine src/Geometry/Intersect.hs 251;" f @@ -4011,7 +4011,7 @@ displayControls src/Dodge/Menu.hs 206;" f displayFrameTicks src/Dodge/Render/Picture.hs 39;" f displayFreeSlots src/Dodge/DisplayInventory.hs 198;" f displayIndents src/Dodge/DisplayInventory.hs 110;" f -displayPulse src/Dodge/Inventory/SelectionList.hs 131;" f +displayPulse src/Dodge/Inventory/SelectionList.hs 123;" f displayTerminalLineString src/Dodge/Update.hs 426;" f dist src/Geometry/Vector.hs 179;" f dist3 src/Geometry/Vector3D.hs 101;" f @@ -4090,7 +4090,7 @@ doRoomInPlacements src/Dodge/Layout.hs 97;" f doRoomOutPlacements src/Dodge/Layout.hs 107;" f doRoomPlacements src/Dodge/Layout.hs 122;" f doRoomShift src/Dodge/Room/Link.hs 33;" f -doScopeZoom src/Dodge/Update/Scroll.hs 78;" f +doScopeZoom src/Dodge/Update/Scroll.hs 79;" f doSectionSize src/Dodge/DisplayInventory.hs 217;" f doSideEffects appDodge/Main.hs 120;" f doStep src/Dodge/ArcStep.hs 9;" f @@ -4283,7 +4283,7 @@ encircleP src/Dodge/Creature/Boid.hs 27;" f endCombineRegex src/Dodge/Update/Input/InGame.hs 265;" f endRegex src/Dodge/Update/Input/InGame.hs 252;" f enterCombineInv src/Dodge/DisplayInventory.hs 323;" f -epText src/Dodge/Inventory/SelectionList.hs 65;" f +epText src/Dodge/Inventory/SelectionList.hs 68;" f eqConstr src/SameConstr.hs 17;" f eqPosText src/Dodge/Equipment/Text.hs 5;" f eqSiteToPositions src/Dodge/Inventory/RBList.hs 75;" f @@ -4438,8 +4438,8 @@ geometryTests test/Spec.hs 17;" f geometryUnitTests test/Spec.hs 22;" f geqConstr src/SameConstr.hs 21;" f getAmmoLinks src/Dodge/Item/Grammar.hs 132;" f -getArguments src/Dodge/Update/Scroll.hs 172;" f -getArguments' src/Dodge/Update/Scroll.hs 160;" f +getArguments src/Dodge/Update/Scroll.hs 173;" f +getArguments' src/Dodge/Update/Scroll.hs 161;" f getAttachedSFLink src/Dodge/HeldUse.hs 364;" f getAutoSpringLinks src/Dodge/Item/Grammar.hs 112;" f getAvailableListLines src/Dodge/SelectionList.hs 10;" f @@ -4570,9 +4570,9 @@ holdForm src/Dodge/Creature/Boid.hs 136;" f holsterWeapon src/Dodge/Creature/Volition.hs 14;" f homingModule src/Dodge/Item/Scope.hs 47;" f horPipe src/Dodge/Placement/Instance/Pipe.hs 9;" f -hotkeyToChar src/Dodge/Inventory/SelectionList.hs 140;" f +hotkeyToChar src/Dodge/Inventory/SelectionList.hs 132;" f hotkeyToScancode src/Dodge/Creature/YourControl.hs 70;" f -hotkeyToString src/Dodge/Inventory/SelectionList.hs 137;" f +hotkeyToString src/Dodge/Inventory/SelectionList.hs 129;" f humanoidAIList src/Dodge/Humanoid.hs 181;" f iShape src/Dodge/Placement/Instance/LightSource.hs 73;" f icosahedronPoints src/Polyhedra/Geodesic.hs 12;" f @@ -4643,8 +4643,8 @@ intersectSegsSeg src/Geometry/Intersect.hs 232;" f intervalList src/Geometry.hs 329;" f interweave src/Justify.hs 17;" f introScan src/Dodge/Item/Scope.hs 56;" f -introScanDisplay src/Dodge/Inventory/SelectionList.hs 126;" f -introScanValue src/Dodge/Inventory/SelectionList.hs 80;" f +introScanDisplay src/Dodge/Inventory/SelectionList.hs 118;" f +introScanValue src/Dodge/Inventory/SelectionList.hs 72;" f intsToPos src/Dodge/Room/Modify/Girder.hs 160;" f invAdj src/Dodge/Item/Grammar.hs 289;" f invCursorParams src/Dodge/ListDisplayParams.hs 36;" f @@ -4700,31 +4700,31 @@ isotriBWH src/Geometry/Polygon.hs 20;" f itDim src/Dodge/Item/InvSize.hs 21;" f itInvHeight src/Dodge/Item/InvSize.hs 11;" f itemBaseConnections src/Dodge/Item/Grammar.hs 186;" f -itemBaseName src/Dodge/Item/Display.hs 40;" f +itemBaseName src/Dodge/Item/Display.hs 56;" f itemBlips src/Dodge/RadarSweep.hs 93;" f itemCombinations src/Dodge/Combine/Combinations.hs 55;" f itemCombinationsEdges src/Dodge/Combine/Graph.hs 60;" f itemDetectorEffect src/Dodge/HeldUse.hs 370;" f itemDisplay src/Dodge/Inventory/SelectionList.hs 42;" f -itemDisplayPad src/Dodge/Inventory/SelectionList.hs 106;" f +itemDisplayPad src/Dodge/Inventory/SelectionList.hs 98;" f itemEquipPict src/Dodge/Item/Draw.hs 16;" f -itemExternalValue src/Dodge/Inventory/SelectionList.hs 85;" f +itemExternalValue src/Dodge/Inventory/SelectionList.hs 77;" f itemFromAmmoMag src/Dodge/Item.hs 39;" f itemFromAttachType src/Dodge/Item.hs 48;" f itemFromBase src/Dodge/Item.hs 17;" f itemFromEquipType src/Dodge/Item.hs 63;" f itemFromHeldType src/Dodge/Item/Held.hs 25;" f itemInfo src/Dodge/Item/Info.hs 14;" f -itemIntegralValue src/Dodge/Inventory/SelectionList.hs 70;" f +itemInternalValue src/Dodge/Item/Display.hs 31;" f itemInvColor src/Dodge/Item/InventoryColor.hs 9;" f -itemNumberDisplay src/Dodge/Inventory/SelectionList.hs 111;" f +itemNumberDisplay src/Dodge/Inventory/SelectionList.hs 103;" f itemRooms src/Dodge/LockAndKey.hs 39;" f itemRotTreeSPic src/Dodge/Item/Draw/SPic.hs 27;" f itemSPic src/Dodge/Item/Draw/SPic.hs 34;" f itemScan src/Dodge/Item/Scope.hs 62;" f -itemScroll src/Dodge/Update/Scroll.hs 49;" f -itemScrollDisplay src/Dodge/Inventory/SelectionList.hs 95;" f -itemString src/Dodge/Item/Display.hs 36;" f +itemScroll src/Dodge/Update/Scroll.hs 50;" f +itemScrollDisplay src/Dodge/Inventory/SelectionList.hs 87;" f +itemString src/Dodge/Item/Display.hs 52;" f itemToBreakLists src/Dodge/Item/Grammar.hs 59;" f itemToFunction src/Dodge/Item/Grammar.hs 138;" f itemTreeSPic src/Dodge/Item/Draw/SPic.hs 22;" f @@ -4952,7 +4952,7 @@ maybeExitCombine src/Dodge/Update/Input/InGame.hs 533;" f maybeOpenConsole src/Dodge/Update.hs 123;" f maybeReadFile src/Dodge/LoadSeed.hs 10;" f maybeTakeOne src/RandomHelp.hs 116;" f -maybeWarmupStatus src/Dodge/Item/Display.hs 26;" f +maybeWarmupStatus src/Dodge/Item/Display.hs 42;" f mcApplyDamage src/Dodge/Machine/Update.hs 108;" f mcKillBut src/Dodge/Machine/Destroy.hs 34;" f mcKillTerm src/Dodge/Machine/Destroy.hs 26;" f @@ -5037,7 +5037,7 @@ mouseClickOptionsList src/Dodge/Update/Input/ScreenLayer.hs 59;" f mouseCursorType src/Dodge/Render/Picture.hs 80;" f mouseWorldPos src/Dodge/Base/Coordinate.hs 48;" f moveBullet src/Dodge/Bullet.hs 204;" f -moveCombineSel src/Dodge/Update/Scroll.hs 108;" f +moveCombineSel src/Dodge/Update/Scroll.hs 109;" f moveHammerUp src/Dodge/Hammer.hs 5;" f moveInverseShockwave src/Dodge/Shockwave/Update.hs 53;" f moveLSThen src/Dodge/Placement/Instance/LightSource.hs 30;" f @@ -5099,7 +5099,7 @@ normalizeAnglePi src/Dodge/Base.hs 154;" f normalizeColor src/Color.hs 76;" f normalizeV src/Geometry/Vector.hs 43;" f normalizeV3 src/Geometry/Vector3D.hs 84;" f -nullCommand src/Dodge/Update/Scroll.hs 163;" f +nullCommand src/Dodge/Update/Scroll.hs 164;" f numColor src/Color.hs 128;" f numDrawableVertices src/Shader/Parameters.hs 34;" f numGLushort src/Shader/Parameters.hs 29;" f @@ -5611,10 +5611,10 @@ screenPosAbs src/Dodge/ScreenPos.hs 15;" f screenToWorldPos src/Dodge/Base/Coordinate.hs 53;" f scrollAugInvSel src/Dodge/Inventory.hs 187;" f scrollAugNextInSection src/Dodge/Inventory.hs 200;" f -scrollCommandStrings src/Dodge/Update/Scroll.hs 155;" f -scrollCommands src/Dodge/Update/Scroll.hs 152;" f +scrollCommandStrings src/Dodge/Update/Scroll.hs 156;" f +scrollCommands src/Dodge/Update/Scroll.hs 153;" f scrollDebugInfoInt src/Dodge/Debug.hs 71;" f -scrollRBOption src/Dodge/Update/Scroll.hs 146;" f +scrollRBOption src/Dodge/Update/Scroll.hs 147;" f scrollSelectionSections src/Dodge/SelectionSections.hs 26;" f scrollTimeBack src/Dodge/Update.hs 207;" f scrollTimeForward src/Dodge/Update.hs 230;" f @@ -5643,7 +5643,7 @@ selSecSelSize src/Dodge/SelectionSections.hs 180;" f selSecYint src/Dodge/SelectionSections.hs 189;" f selectCreatureDebugItem src/Dodge/Debug.hs 55;" f selectUse src/Dodge/SelectUse.hs 11;" f -selectedItemScroll src/Dodge/Update/Scroll.hs 43;" f +selectedItemScroll src/Dodge/Update/Scroll.hs 44;" f sensAboveDoor src/Dodge/Room/SensorDoor.hs 63;" f sensInsideDoor src/Dodge/Room/SensorDoor.hs 69;" f senseDamage src/Dodge/Machine/Update.hs 154;" f @@ -5764,11 +5764,11 @@ shotgunS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 536;" f shoulderHeight src/Dodge/Item/HeldOffset.hs 81;" f shoulderSH src/Dodge/Creature/Picture.hs 139;" f shoulderSP src/Dodge/Creature/HandPos.hs 170;" f -showAttachItem src/Dodge/Item/Display.hs 70;" f -showEquipItem src/Dodge/Item/Display.hs 84;" f +showAttachItem src/Dodge/Item/Display.hs 86;" f +showEquipItem src/Dodge/Item/Display.hs 100;" f showInt src/Dodge/Item/Info.hs 67;" f showIntsString src/Dodge/Tree/Compose.hs 129;" f -showInventoryPathing src/Dodge/Item/Display.hs 64;" f +showInventoryPathing src/Dodge/Item/Display.hs 80;" f showManObj src/Dodge/TestString.hs 76;" f showTerminalError src/Dodge/Debug/Terminal.hs 78;" f showTimeFlow src/Dodge/TestString.hs 99;" f @@ -5969,7 +5969,7 @@ terminalReturnEffect src/Dodge/Terminal.hs 276;" f terminalSPic src/Dodge/Machine/Draw.hs 29;" f terminalScreenGlow src/Dodge/Machine/Update.hs 34;" f terminalShape src/Dodge/Machine/Draw.hs 32;" f -terminalWheelEvent src/Dodge/Update/Scroll.hs 118;" f +terminalWheelEvent src/Dodge/Update/Scroll.hs 119;" f teslaGun src/Dodge/Item/Held/BatteryGuns.hs 21;" f teslaGunPic src/Dodge/Item/Draw/SPic.hs 401;" f teslaParams src/Dodge/Item/Held/BatteryGuns.hs 37;" f @@ -6161,7 +6161,7 @@ updateAttachedItems src/Dodge/Creature/State.hs 265;" f updateBackspaceRegex src/Dodge/Update/Input/InGame.hs 451;" f updateBarrel src/Dodge/Barreloid.hs 45;" f updateBarreloid src/Dodge/Barreloid.hs 13;" f -updateBaseWheelEvent src/Dodge/Update/Scroll.hs 27;" f +updateBaseWheelEvent src/Dodge/Update/Scroll.hs 28;" f updateBounds src/Dodge/Update/Camera.hs 215;" f updateBulVel src/Dodge/Bullet.hs 61;" f updateBullet src/Dodge/Bullet.hs 22;" f @@ -6235,7 +6235,7 @@ updateRadarSweeps src/Dodge/Update.hs 545;" f updateRandNode src/TreeHelp.hs 108;" f updateRenderSplit appDodge/Main.hs 108;" f updateRootItemID src/Dodge/Inventory/Location.hs 35;" f -updateScopeZoom src/Dodge/Update/Scroll.hs 66;" f +updateScopeZoom src/Dodge/Update/Scroll.hs 67;" f updateScrollTestValue src/Dodge/ScrollValue.hs 6;" f updateSection src/Dodge/DisplayInventory.hs 264;" f updateSectionsPositioning src/Dodge/DisplayInventory.hs 243;" f @@ -6261,7 +6261,7 @@ updateUseInputInGame src/Dodge/Update/Input/InGame.hs 42;" f updateUseInputOnScreen src/Dodge/Update/Input/ScreenLayer.hs 22;" f updateWalkCycle src/Dodge/Creature/State/WalkCycle.hs 12;" f updateWallDamages src/Dodge/Update/WallDamage.hs 10;" f -updateWheelEvent src/Dodge/Update/Scroll.hs 18;" f +updateWheelEvent src/Dodge/Update/Scroll.hs 19;" f updateWheelEvents src/Dodge/Update.hs 394;" f updateWorldEventFlag src/Dodge/Update.hs 117;" f updateWorldEventFlags src/Dodge/Update.hs 105;" f @@ -6458,7 +6458,7 @@ zonesAroundPoint src/Dodge/Zoning/Base.hs 90;" f zonesExtract src/Dodge/Zoning/Base.hs 55;" f zoomFloatingCamera src/Dodge/Update/Camera.hs 68;" f zoomFromItem src/Dodge/Update/Camera.hs 181;" f -zoomInLongGun src/Dodge/Update/Scroll.hs 92;" f -zoomOutLongGun src/Dodge/Update/Scroll.hs 100;" f +zoomInLongGun src/Dodge/Update/Scroll.hs 93;" f +zoomOutLongGun src/Dodge/Update/Scroll.hs 101;" f zoomScope src/Dodge/Item/Scope.hs 32;" f -zoomSpeed src/Dodge/Update/Scroll.hs 89;" f +zoomSpeed src/Dodge/Update/Scroll.hs 90;" f