From e566d89349014c78d6aa7963be408753bf3fbab8 Mon Sep 17 00:00:00 2001 From: justin Date: Wed, 22 Feb 2023 13:25:54 +0000 Subject: [PATCH] Tweak characters --- data/texture/charMap.png | Bin 3503 -> 3451 bytes src/Dodge/DisplayInventory.hs | 19 ++++++++++--------- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/data/texture/charMap.png b/data/texture/charMap.png index 464c28b76c1b3c4af7e2b0677038c552f2554d7e..1732c7543d71accd657a6f79866574edd469870f 100644 GIT binary patch delta 3368 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 SelectionItem CombinableItem -> String -> Bool -regexCombs' inv ci str = case str of +regexCombs :: IM.IntMap (SelectionItem ()) -> SelectionItem CombinableItem -> String -> Bool +regexCombs inv ci str = case str of '<':str' -> f str' ci _ -> (regexList str . _siPictures) ci where @@ -82,9 +80,9 @@ andOrRegex :: (a -> String -> Bool) -> a -> String -> Bool andOrRegex f x str = all (orRegex f x) (wordsBy '&' str) orRegex :: (a -> String -> Bool) -> a -> String -> Bool -orRegex _ _ [] = True -orRegex f x str = any (f x) (words str) - +orRegex f x str = case words str of + [] -> True + xs -> any (f x) xs updateDisplayInventory :: World -> Configuration -> SelectionSections () -> SelectionSections () updateDisplayInventory w cfig sss = @@ -128,9 +126,12 @@ updateDisplayInventory w cfig sss = (SelectionRegex [filtdescription ++ "FILTER: " ++ str, numfiltitems] 2 True white 0) itms' = fromMaybe itms $ do str <- mstr - return $ IM.filter (regexList str . _siPictures) itms + return $ IM.filter (plainRegex str) itms numfiltitems = " " ++ show (length itms - length itms') ++ " FILTERED" +plainRegex :: String -> SelectionItem a -> Bool +plainRegex = flip $ andOrRegex (\si str -> regexList str (_siPictures si)) + displayFreeSlots :: Int -> String displayFreeSlots x = case x of 0 -> "INVENTORY FULL"