From f3f365bbe9006beb7c184a24a63e15591cafee6d Mon Sep 17 00:00:00 2001 From: justin Date: Mon, 6 Jan 2025 12:06:37 +0000 Subject: [PATCH] Refactor --- data/charMaps/cMap16x32.CodePage437.png | Bin 12227 -> 19104 bytes data/charMaps/cMap16x32.Custom.png | Bin 12377 -> 12370 bytes src/Dodge/DisplayInventory.hs | 2 +- src/Dodge/Update/Input/InGame.hs | 75 +++++++++++++----------- 4 files changed, 42 insertions(+), 35 deletions(-) diff --git a/data/charMaps/cMap16x32.CodePage437.png b/data/charMaps/cMap16x32.CodePage437.png index 8fcc818a97e483eb1f6a035466048bc038115a66..0801377b64a3abddace0c3f759e0dd4057d9d9fd 100644 GIT binary patch delta 15444 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�O(VkRS{il?gp|FF&=I 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 z znq%~sRtTww^3fzs_kF)@hr@byx7~T5DJieB%Txr3wd|lk+)T{p^96+6FHX~%;%De1 zWxjHnnV>*~*W$lhCKo@IO%Y#8wu{}%!uB33K1634nk>kI|BA*Bb|=x^V+9BJ^4OUt zo;Ljx9;*UjbBR}IP2gW|bgnl=&F{hoV)V!$- zM+`aRMN`WlqsKB?SGSt9Xw?_@MxMFW7yP?o|D|&Y&&stLsD5Xwfs0KJha2nlsv3FY z;7O5=H{U5d#q~yuDD>a?cFh9hEG?+c=2}^%T6{1Gu)pZ);0XsMF0A?v0-y-u(X_$c zkPIQIw=6OP-X?FH1si;Kca}W7a4d?sM)NGD8lNP~b!KLE9`J2U|GB^_gCu8_o?7X{ zyDc1a2$KD*^1gVv-gxNAp=WI-?GJ;Ct(ktt+%Vl|b-b7^n><<$&%zNioZp>w|00#8 z2%NTxjweEg62(}XwZm)Ow~bC6?+UUgcN^;i6Xk(hfqDMDKvs?l=U8(pp-%3UCJxju z5H=e~Pcyjo{ndX^s1ngHsseLSpNv=TY8&g-*VkuKL~J~UI`NxL3;PF^V z!RfpxHR^?%<{7}> zw6XYk&6Qhqb!&Gij7#>!Du-RUfKF=Z4OY=_!Y6kCI*&AtZ`n+#uvzY#c_iO>&mKQL z}NbLFNK-%_oVn}fKr7TSEkm%Smc(2Wh)7EvOWv6eGSRc!Lxm zF)GC~c%j_)cf2T+efv7sQxFi**A(&va_)AN{ew5TIgk=7GpE!2mTdl9)rPr+)Lp*> zpN~mu!&9UHGEaL?Gp)5`-8XlenM|*0bfA+3&UjQU7kp#9=4CN@dWeLiUv5@w8pbjY zDa+el-ASj55-sR}f;uh^kOkKr`9ThtGz`vC3%yhaFCgyy;LpliNVt8#-YIayWxfnu zPvC#Q#wGM9Bd($Ezl$U)b%gy(N}Fz!QAU|axbFNvujef7gk1{H6wfDTy*Ls8j&iiE z8^02A>g_jXK@GQlu!d$2$>)gp=zzbrb6~IiSUsy0h#Hyz-ktF^&q~cI@>f0aHo1A` z3`Y*>oD@Zj$<(y0@~Mu6u8>!*j=@SvhiF76OS;=wu2raYY;_bUGLRz8|ezp>6ZLhHknUDCra zdm*dKEjqhL#e!v^fl4pT()c+DtX~19j1`9`E>X@CRC+^3$7LYsXgY;O->$S-^Q~SW zvd`ydseG2srYu5*1|*s}1aCkOK^?Lbt={+SjMe?|uQXOm1f MZ``?_uYvaaKdm#Lb^rhX delta 8509 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 H+dck2skJdV diff --git a/data/charMaps/cMap16x32.Custom.png b/data/charMaps/cMap16x32.Custom.png index d2f1756fb9e6629517309942609e3e49a476753d..84de7b3f95d37340f017b8aed40d61e0204c76c0 100644 GIT binary patch delta 7182 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 e-?EPT#~GxMabyBMKVuwLdYP)#tN#Nbr;e-u delta 7166 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 R2H-RR+8X-mpVe%h{U6;`kX`@) diff --git a/src/Dodge/DisplayInventory.hs b/src/Dodge/DisplayInventory.hs index f7f2e565b..c8623032e 100644 --- a/src/Dodge/DisplayInventory.hs +++ b/src/Dodge/DisplayInventory.hs @@ -70,7 +70,7 @@ updateCombineSections w cfig = regexCombs :: IM.IntMap Item -> SelectionItem CombinableItem -> String -> Bool regexCombs inv ci = \case - '<' : str -> any (g str) (_ciInvIDs $ _siPayload ci) + '#' : str -> any (g str) (_ciInvIDs $ _siPayload ci) str -> (regexList str . _siPictures) ci where g str i = maybe False (regexList str . basicItemDisplay) (inv ^? ix i) diff --git a/src/Dodge/Update/Input/InGame.hs b/src/Dodge/Update/Input/InGame.hs index 5fad24b59..7d347877a 100644 --- a/src/Dodge/Update/Input/InGame.hs +++ b/src/Dodge/Update/Input/InGame.hs @@ -5,7 +5,6 @@ module Dodge.Update.Input.InGame ( updateMouseInGame, ) where -import Dodge.Item.Display import Control.Applicative import Control.Monad import Data.Foldable @@ -23,6 +22,7 @@ import Dodge.DisplayInventory import Dodge.Event.Test import Dodge.Inventory import Dodge.Inventory.Add +import Dodge.Item.Display import Dodge.Item.InvSize import Dodge.ListDisplayParams import Dodge.Menu @@ -41,7 +41,6 @@ import SDL updateUseInputInGame :: Universe -> Universe updateUseInputInGame u = updateFunctionKeys $ case u ^. uvWorld . hud . hudElement of - -- DisplayCarte -> over uvWorld updatePressedButtonsCarte u DisplayInventory{_subInventory = si, _diSelection = disel} -> case si of DisplayTerminal tmid -> updateKeysInTerminal tmid u CombineInventory{_ciSections = sss, _ciSelection = msel@(Just (-1, _, _))} -> @@ -197,11 +196,10 @@ updateMouseClickInGame :: Configuration -> World -> World updateMouseClickInGame cfig w = case w ^. input . mouseContext of MouseInGame -> fromMaybe w $ do sss <- w ^? hud . hudElement . diSections - ysel <- inverseSelSecYint (posSelSecYint cfig invDP (mpos ^. _y)) sss + ysel <- inverseSelSecYint + (posSelSecYint cfig invDP (w ^. input . mousePos . _y)) sss guard (isGroupSelectableSection $ fst ysel) - return $ - w & input . mouseContext - .~ OverInvDragSelect ysel Nothing + return $ w & input . mouseContext .~ OverInvDragSelect ysel Nothing OverInvSelect (-1, _) | selsec == Just (-1) -> w @@ -212,14 +210,13 @@ updateMouseClickInGame cfig w = case w ^. input . mouseContext of w & hud . hudElement . diSelection %~ endRegex 2 w & hud . hudElement . diCloseFilter .~ Nothing - OverInvSelect x | ScancodeLShift `M.member` (w ^. input . pressedKeys) -> - fromMaybe w $ do - guard (isGroupSelectableSection $ fst x) - return $ w & input . mouseContext .~ OverInvDragSelect x (Just $ snd x) + OverInvSelect x + | ScancodeLShift `M.member` (w ^. input . pressedKeys) + && (isGroupSelectableSection $ fst x) -> + w & input . mouseContext .~ OverInvDragSelect x (Just $ snd x) OverInvSelect x -> startDrag x cfig w OverTerminalReturn tmid -> terminalReturnEffect tmid w - OverTerminalEscape -> - w & hud . hudElement . subInventory .~ NoSubInventory + OverTerminalEscape -> w & hud . hudElement . subInventory .~ NoSubInventory OverCombSelect x -> w & hud . hudElement . subInventory . ciSelection ?~ f x & worldEventFlags . at CombineInventoryChange ?~ () @@ -237,23 +234,18 @@ updateMouseClickInGame cfig w = case w ^. input . mouseContext of w & worldEventFlags . at InventoryChange ?~ () & hud . hudElement . subInventory .~ NoSubInventory - OverCombFiltInv (i, j) -> fromMaybe w $ do - guard $ i == 0 + OverCombFiltInv (0, j) -> fromMaybe w $ do str <- fmap (take 5) $ w ^? cWorld . lWorld . creatures . ix 0 . crInv . ix j >>= (listToMaybe . basicItemDisplay) --- ^? hud . hudElement . diSections . ix i . ssItems . ix j . siPictures . ix 0 return . (worldEventFlags . at CombineInventoryChange ?~ ()) $ case w ^? hud . hudElement . subInventory . ciFilter . _Just of - Just (_ : xs) - | str == xs -> - w - & hud . hudElement . subInventory . ciFilter .~ Nothing - _ -> w & hud . hudElement . subInventory . ciFilter ?~ ("<" ++ str) + Just ('#' : xs) | str == xs -> + w & hud . hudElement . subInventory . ciFilter .~ Nothing + _ -> w & hud . hudElement . subInventory . ciFilter ?~ ("#" ++ str) _ -> w where - mpos = w ^. input . mousePos f (x, y) = (x, y, mempty) selsec = w ^? hud . hudElement . diSelection . _Just . _1 @@ -283,21 +275,37 @@ endCombineRegex w = fromMaybe id $ do return $ ssSetCursor (ssLookupDown 0 j) sss startDrag :: (Int, Int) -> Configuration -> World -> World -startDrag (a, b) cfig w = setcontext - . fromMaybe (augInvDirectSelect (a, b, IS.singleton b) w) - $ do - (i, _, xs) <- w ^? hud . hudElement . diSelection . _Just - guard $ i == a && b `IS.member` xs - return w +startDrag (a, b) cfig w = setcontext + $ case w ^? hud . hudElement . diSelection . _Just of + Just (i,_,xs) | i == a && b `IS.member` xs -> w + _ -> augInvDirectSelect (a, b, IS.singleton b) w where setcontext = input . mouseContext .~ OverInvDrag a (Just (a, b)) above bneath - above = do - sss <- w ^? hud . hudElement . diSections - inverseSelSecYint (yint - 1) sss - bneath = do - sss <- w ^? hud . hudElement . diSections - inverseSelSecYint (yint + 1) sss + above = inverseSelSecYint (yint - 1) =<< w ^? hud . hudElement . diSections + bneath = inverseSelSecYint (yint + 1) =<< w ^? hud . hudElement . diSections + --above = do + -- sss <- w ^? hud . hudElement . diSections + -- inverseSelSecYint (yint - 1) sss + --bneath = do + -- sss <- w ^? hud . hudElement . diSections + -- inverseSelSecYint (yint + 1) sss yint = posSelSecYint cfig invDP (w ^. input . mousePos . _y) +--startDrag :: (Int, Int) -> Configuration -> World -> World +--startDrag (a, b) cfig w = setcontext +-- . fromMaybe (augInvDirectSelect (a, b, IS.singleton b) w) +-- $ do +-- (i, _, xs) <- w ^? hud . hudElement . diSelection . _Just +-- guard $ i == a && b `IS.member` xs +-- return w +-- where +-- setcontext = input . mouseContext .~ OverInvDrag a (Just (a, b)) above bneath +-- above = do +-- sss <- w ^? hud . hudElement . diSections +-- inverseSelSecYint (yint - 1) sss +-- bneath = do +-- sss <- w ^? hud . hudElement . diSections +-- inverseSelSecYint (yint + 1) sss +-- yint = posSelSecYint cfig invDP (w ^. input . mousePos . _y) concurrentIS :: IS.IntSet -> Bool concurrentIS = go . IS.minView @@ -447,7 +455,6 @@ updateInitialPressInGame uv sc = case sc of ScancodeBackspace -> uv & uvWorld %~ updateBackspaceRegex _ -> uv - updateLongPressInGame :: Universe -> Scancode -> Universe updateLongPressInGame uv sc = case sc of ScancodeF -> over uvWorld youDropItem uv