diff --git a/src/Dodge/Data/HUD.hs b/src/Dodge/Data/HUD.hs index d351c7f0a..39c534366 100644 --- a/src/Dodge/Data/HUD.hs +++ b/src/Dodge/Data/HUD.hs @@ -22,8 +22,6 @@ data HUDElement , _diSelection :: Maybe (Int, Int, IntSet) , _diInvFilter :: Maybe String , _diCloseFilter :: Maybe String --- , _diSelectionExtra :: IntSet -- this should probably be placed within _diSelection - -- would lead to inconsistency with _ciSelection } | DisplayCarte @@ -35,9 +33,7 @@ data HUDElement data SubInventory = NoSubInventory - | -- { _nsSelected :: MouseInventorySelection - -- } - ExamineInventory + | ExamineInventory | CombineInventory { _ciSections :: IntMap (SelectionSection CombinableItem) , _ciSelection :: Maybe (Int, Int, IS.IntSet) diff --git a/src/Dodge/Render/HUD.hs b/src/Dodge/Render/HUD.hs index b829e4a22..61495e86c 100644 --- a/src/Dodge/Render/HUD.hs +++ b/src/Dodge/Render/HUD.hs @@ -131,7 +131,11 @@ drawMouseOver cfig w = drawDragSelected :: Configuration -> World -> Maybe Picture drawDragSelected cfig w = do ys <- w ^? hud . hudElement . diSelection . _Just . _3 - guard $ not (IS.null ys) + guard $ not (IS.null ys) && + ( case w ^? hud . hudElement . subInventory of + Just NoSubInventory -> True + _ -> False + ) (i, _, _) <- w ^? hud . hudElement . diSelection . _Just sss <- w ^? hud . hudElement . diSections let idp = invDisplayParams w diff --git a/src/Dodge/Update/Input/InGame.hs b/src/Dodge/Update/Input/InGame.hs index 48cdc1453..6d5d4e321 100644 --- a/src/Dodge/Update/Input/InGame.hs +++ b/src/Dodge/Update/Input/InGame.hs @@ -268,9 +268,6 @@ shiftInvItems k x ab bn xs ss w = setSelWhileDragging . fromMaybe w $ do guard $ Just (k,maxi+1) /= bn return $ shiftInvItemsDown k xs w _ -> Nothing --- if x < (k,mini) --- then --- else setSelWhileDragging :: World -> World setSelWhileDragging w = fromMaybe w $ do @@ -539,7 +536,6 @@ toggleTweakInv w = case w ^? hud . hudElement . subInventory of thepointer = hud . hudElement . subInventory tryCombine :: - -- IM.IntMap (SelectionSection CombinableItem) -> (Int, Int) -> World -> World @@ -551,6 +547,7 @@ tryCombine (i, j) w = fromMaybe w $ do snd (createItemYou it (foldr (destroyInvItem 0) w (sort is))) & cWorld . lWorld . creatures . ix 0 . crHammerPosition .~ HammerDown & soundStart InventorySound p wrench1S Nothing + & hud . hudElement . diSelection . _Just . _3 .~ mempty maybeExitCombine :: World -> World maybeExitCombine w