diff --git a/ghcidOutput b/ghcidOutput index 1fdc4a579..799a15cd9 100644 --- a/ghcidOutput +++ b/ghcidOutput @@ -1,5 +1 @@ -/home/justin/Haskell/loop/src/Dodge/Update/Camera.hs:215:5-18: warning: [-Wunused-local-binds] - Defined but not used: ‘rotateanyscope’ - | -215 | rotateanyscope = fromMaybe id $ do - | ^^^^^^^^^^^^^^ +All good (617 modules, at 16:59:47) diff --git a/src/Dodge/Base/You.hs b/src/Dodge/Base/You.hs index 6690a93e8..9b76dfa95 100644 --- a/src/Dodge/Base/You.hs +++ b/src/Dodge/Base/You.hs @@ -2,16 +2,16 @@ module Dodge.Base.You (you -- , yourScopeInvID , yourInv - , yourScrollAttachment +-- , yourScrollAttachment , yourItem )where import Dodge.Data.World -import Dodge.HeldScroll +--import Dodge.HeldScroll import qualified IntMapHelp as IM --import qualified Data.Map.Strict as M import Control.Lens -import Control.Monad +--import Control.Monad --import Data.Maybe you :: World -> Creature @@ -22,13 +22,13 @@ yourItem w = do i <- you w ^? crManipulation . manObject . inInventory . ispItem _crInv (you w) IM.!? i -yourScrollAttachment :: World -> Maybe (Int,ScrollAttachParams) -yourScrollAttachment w = do - i <- you w ^? crManipulation . manObject . inInventory . ispItem - itm <- _crInv (you w) IM.!? i - atparams <- you w ^? crInv . ix (i - 1) . itUse . attachParams . scrollAttachParams - guard (canHeldScrollAttach itm atparams) - return (i - 1, atparams) +--yourScrollAttachment :: World -> Maybe (Int,ScrollAttachParams) +--yourScrollAttachment w = do +-- i <- you w ^? crManipulation . manObject . inInventory . ispItem +-- itm <- _crInv (you w) IM.!? i +-- atparams <- you w ^? crInv . ix (i - 1) . itUse . attachParams . scrollAttachParams +-- guard (canHeldScrollAttach itm atparams) +-- return (i - 1, atparams) --yourScopeInvID :: World -> Maybe Int --yourScopeInvID w = do diff --git a/src/Dodge/Data/Item/Use.hs b/src/Dodge/Data/Item/Use.hs index b3579915b..a2eca642f 100644 --- a/src/Dodge/Data/Item/Use.hs +++ b/src/Dodge/Data/Item/Use.hs @@ -121,15 +121,7 @@ data AmmoParams = BulletParams {_ampBullet :: Bullet} deriving (Eq, Show, Read) --Generic, Flat) data ScrollAttachParams - = -- ZoomScrollParams --- { -- | a camera offset --- _opticPos :: Point2 -- this should be relative to the camera rotation --- -- then when the camera rotates when firing etc, --- -- this doesn't need to be changed --- , _opticZoom :: Float --- , _opticDefaultZoom :: Float --- } - CharScrollParams + = CharScrollParams { _scrollChar :: Seq.Seq Char} deriving (Eq, Show, Read) --Generic, Flat) diff --git a/src/Dodge/HeldScroll.hs b/src/Dodge/HeldScroll.hs index 8d10fd2c6..00992d906 100644 --- a/src/Dodge/HeldScroll.hs +++ b/src/Dodge/HeldScroll.hs @@ -1,6 +1,6 @@ module Dodge.HeldScroll ( - doHeldScroll, - canHeldScrollAttach, +-- doHeldScroll, +-- canHeldScrollAttach, ) where --import LensHelp hiding ((<|), (|>)) @@ -9,13 +9,13 @@ module Dodge.HeldScroll ( --import Geometry --import Control.Lens hiding ((<|), (|>)) --import Data.Sequence -import Dodge.Data.World +--import Dodge.Data.World --import SDL (MouseButton (..)) --import qualified Data.Map.Strict as M -- note that scope zooming is controlled by updateScopeZoom -doHeldScroll :: Int -> ScrollAttachParams -> Float -> World -> World -doHeldScroll _ _ _ = id +--doHeldScroll :: Int -> ScrollAttachParams -> Float -> World -> World +--doHeldScroll _ _ _ = id --doHeldScroll invid hs x w = case hs of -- ZoomScrollParams{} -- | SDL.ButtonRight `M.member` _mouseButtons (_input w) -> w & @@ -72,5 +72,5 @@ doHeldScroll _ _ _ = id --cycleR (xs :|> x) = x <| xs --cycleR xs = xs -- -canHeldScrollAttach :: Item -> ScrollAttachParams -> Bool -canHeldScrollAttach _ _ = True +--canHeldScrollAttach :: Item -> ScrollAttachParams -> Bool +--canHeldScrollAttach _ _ = True diff --git a/src/Dodge/Update/Camera.hs b/src/Dodge/Update/Camera.hs index 3b0992a26..d8cffcc49 100644 --- a/src/Dodge/Update/Camera.hs +++ b/src/Dodge/Update/Camera.hs @@ -94,7 +94,6 @@ moveZoomCamera cfig theinput cr campos = mscopeoffset = do guard (SDL.ButtonRight `M.member` _mouseButtons theinput) i <- cr ^? crManipulation . manObject . inInventory . ispItem - --(cr ^? crInv . ix (i - 1) . itUse . attachParams . scrollAttachParams . opticPos) (fmap (rotateV camrot) (cr ^? crInv . ix i . itScope . opticPos)) <|> (cr ^? crInv . ix i . itScope . remotePos) camrot = campos ^. camRot @@ -145,7 +144,6 @@ updateScopeZoom' i w wppointer = cWorld . lWorld . creatures . ix 0 . crInv . ix i . itScope resetscope (OpticScope _ _ defz) = OpticScope (V2 0 0) defz defz resetscope otherAtt = otherAtt - --mp = rotateV (w ^. wCam . camRot) $ _mousePos (_input w) mp = _mousePos (_input w) doScopeZoom :: Int -> Point2 -> Scope -> Scope @@ -207,18 +205,7 @@ doWallRotate wl w = rotateUsing $ (argV . uncurry (-.-) $ _wlLine wl) - (w ^. wC b' = fromIntegral (round b :: Int) rotateCameraBy :: Float -> World -> World -rotateCameraBy x w = - w - & wCam . camRot +~ x --- & cWorld %~ rotateanyscope - where - rotateanyscope = fromMaybe id $ do - i <- w ^? cWorld . lWorld . creatures . ix 0 . crManipulation . manObject . inInventory . ispItem - return $ - lWorld . creatures . ix 0 . crInv . ix i - . itScope - . opticPos - %~ rotateV x +rotateCameraBy x = wCam . camRot +~ x rotateCamera :: Configuration -> World -> World rotateCamera cfig w diff --git a/src/Dodge/Update/Scroll.hs b/src/Dodge/Update/Scroll.hs index be35e9c03..6bf00a3ea 100644 --- a/src/Dodge/Update/Scroll.hs +++ b/src/Dodge/Update/Scroll.hs @@ -6,7 +6,7 @@ import qualified Data.Map.Strict as M import Data.Maybe import Dodge.Base import Dodge.Data.Universe -import Dodge.HeldScroll +--import Dodge.HeldScroll import Dodge.InputFocus import Dodge.Inventory import Dodge.SelectionSections @@ -26,10 +26,13 @@ updateWheelEvent yi w = case w ^. hud . hudElement of -- functions that modify the inventory should be centralised so that -- this lock can be sensibly applied, perhaps | w ^?! cWorld . lWorld . creatures . ix 0 . crInvLock -> w - | rbDown -> case (yourScrollAttachment w, _rbOptions w) of - (_,EquipOptions{}) -> w & rbOptions . opSel %~ scrollRBOption yi rbscrollmax - (Nothing, _) -> w - (Just (invid,hs), _) -> doHeldScroll invid hs y w +-- | rbDown -> case (yourScrollAttachment w, _rbOptions w) of +-- (_,EquipOptions{}) -> w & rbOptions . opSel %~ scrollRBOption yi rbscrollmax +-- (Nothing, _) -> w +-- (Just (invid,hs), _) -> doHeldScroll invid hs y w + | rbDown -> case _rbOptions w of + EquipOptions{} -> w & rbOptions . opSel %~ scrollRBOption yi rbscrollmax + NoRightButtonOptions -> w | lbDown -> w & wCam . camZoom +~ y | invKeyDown -> changeSwapSel yi w | otherwise -> scrollAugInvSel yi w