diff --git a/src/Dodge/Render/HUD.hs b/src/Dodge/Render/HUD.hs index 2a26a1c50..64c38becb 100644 --- a/src/Dodge/Render/HUD.hs +++ b/src/Dodge/Render/HUD.hs @@ -55,7 +55,7 @@ drawHUD cfig w = case w ^. hud . hudElement of drawInventory :: IM.IntMap (SelectionSection ()) -> World -> Configuration -> Picture drawInventory sss w cfig = drawSelectionSections sss invDP cfig - <> drawSSCursor sss (f $ w ^? hud . hudElement . diSelection . _Just) invDP curs cfig + <> drawSSCursor sss invDP curs cfig (f $ w ^? hud . hudElement . diSelection . _Just) <> drawRootCursor w sss (f $ w ^? hud . hudElement . diSelection . _Just) invDP cfig <> itemconnections <> drawMouseOver cfig w @@ -184,7 +184,7 @@ drawCombineInventory :: drawCombineInventory cfig sss w = invHead cfig "COMBINE" <> drawSelectionSections sss secondColumnParams cfig - <> drawSSCursor sss msel secondColumnParams curs cfig + <> drawSSCursor sss secondColumnParams curs cfig msel <> combineInventoryExtra sss msel cfig w where curs = BoundaryCursor [North, South, West] diff --git a/src/Dodge/SelectionSections/Draw.hs b/src/Dodge/SelectionSections/Draw.hs index 0989482e0..a7b822c00 100644 --- a/src/Dodge/SelectionSections/Draw.hs +++ b/src/Dodge/SelectionSections/Draw.hs @@ -6,7 +6,6 @@ module Dodge.SelectionSections.Draw ( import Control.Lens import qualified Data.IntMap.Strict as IM -import Data.Maybe import Dodge.Data.Config import Dodge.Data.SelectionList import Dodge.Render.List @@ -35,14 +34,14 @@ drawSelectionSections sss ldp cfig = drawSSCursor :: IM.IntMap (SelectionSection a) -> - Maybe (Int, Int) -> ListDisplayParams -> CursorDisplay -> Configuration -> + Maybe (Int, Int) -> Picture -drawSSCursor sss msel ldp curs cfig = - translateScreenPos cfig (ldp ^. ldpPos) $ - selSecDrawCursor ldp curs sss msel +drawSSCursor sss ldp curs cfig = + translateScreenPos cfig (ldp ^. ldpPos) . + selSecDrawCursor ldp curs sss drawSSMultiCursor :: IM.IntMap (SelectionSection a) -> @@ -53,7 +52,7 @@ drawSSMultiCursor :: Configuration -> Picture drawSSMultiCursor sss msel mextra ldp curs cfig = translateScreenPos cfig (ldp ^. ldpPos) - . fromMaybe mempty + . fold $ do (i, j) <- msel yint <- selSecYint i j sss @@ -64,7 +63,6 @@ drawSSMultiCursor sss msel mextra ldp curs cfig = translateScreenPos cfig (ldp ^ ysize = sum . fmap _siHeight $ selitms maxxoff = maximum . fmap _siOffX $ selitms minxoff = minimum . fmap _siOffX $ selitms - let col = white return $ listCursorChooseBorderScale (ldp ^. ldpVerticalGap) @@ -72,6 +70,6 @@ drawSSMultiCursor sss msel mextra ldp curs cfig = translateScreenPos cfig (ldp ^ curs yint (minxoff + sindent) - col + white (15 + maxxoff - minxoff) ysize