diff --git a/src/Dodge/Creature/YourControl.hs b/src/Dodge/Creature/YourControl.hs index 571c68749..a9ca87da8 100644 --- a/src/Dodge/Creature/YourControl.hs +++ b/src/Dodge/Creature/YourControl.hs @@ -2,6 +2,7 @@ module Dodge.Creature.YourControl ( yourControl ) where import Dodge.Data +import Dodge.Base.Coordinate import Dodge.Creature.Impulse.Movement import Dodge.Update.UsingInput --import Dodge.Config.KeyConfig @@ -52,8 +53,9 @@ wasdWithAiming w speed cr isAiming = _posture (_crStance cr) == Aiming isReloading = _posture (_crStance cr) == Reloading mouseDir = case cr ^? crInv . ix (_crInvSel cr) . itScope . scopePos of - Just p -> normalizeAngle $ argV - $ p +.+ 2 / _cameraZoom w *.* rotateV (_cameraRot w) (_mousePos w) + Just _ -> argV $ mouseWorldPos w -.- _crPos cr +-- Just p -> normalizeAngle $ argV +-- $ p +.+ 2 / _cameraZoom w *.* rotateV (_cameraRot w) (_mousePos w) _ -> normalizeAngle $ argV (_mousePos w) + _cameraRot w wasdM :: SDL.Scancode -> Point2 diff --git a/src/Dodge/Item/Weapon/ZoomScope.hs b/src/Dodge/Item/Weapon/ZoomScope.hs index c0a6f0cce..f134921f9 100644 --- a/src/Dodge/Item/Weapon/ZoomScope.hs +++ b/src/Dodge/Item/Weapon/ZoomScope.hs @@ -4,7 +4,7 @@ import LensHelp zoomLongGun :: Float -> Creature -> Item -> Item zoomLongGun x _ - | x > 0 = itScope . scopeZoomChange %~ (max 10 . (+3)) - | x < 0 = itScope . scopeZoomChange %~ (min (-10) . subtract 3) + | x > 0 = itScope . scopeZoomChange %~ (max 15 . (+4)) + | x < 0 = itScope . scopeZoomChange %~ (min (-15) . subtract 4) | otherwise = id --zoomLongGun x _ = itScope . scopeZoomChange .~ round (signum x) diff --git a/src/Dodge/Update/Camera.hs b/src/Dodge/Update/Camera.hs index 85aa3e874..e38753030 100644 --- a/src/Dodge/Update/Camera.hs +++ b/src/Dodge/Update/Camera.hs @@ -81,9 +81,11 @@ updateScopeZoom w = case w ^? creatures . ix 0 . crInv . ix (_crInvSel (_creatures w IM.! 0)) . itScope . scopeZoomChange of Just x - | x > 9 -> zoomInLongGun $ zoomInLongGun w + | x > 10 -> zoomInLongGun $ zoomInLongGun $ zoomInLongGun w + | x > 5 -> zoomInLongGun $ zoomInLongGun w | x > 0 -> zoomInLongGun w - | x < -9 -> zoomOutLongGun $ zoomOutLongGun w + | x < -10 -> zoomOutLongGun $ zoomOutLongGun $ zoomOutLongGun w + | x < -5 -> zoomOutLongGun $ zoomOutLongGun w | x < 0 -> zoomOutLongGun w | otherwise -> w _ -> w @@ -99,10 +101,10 @@ zoomSpeed = 39/40 zoomInLongGun :: World -> World zoomInLongGun w | currentZoom < 8 = w - & wpPointer . itScope . scopePos .+.+~ (1-(1*zoomSpeed)) / newzoom *.* mousep + & wpPointer . itScope . scopePos .+.+~ (1-zoomSpeed) / newzoom *.* mousep & wpPointer . itScope . scopeZoom %~ (/ zoomSpeed) & decreaseScopeZoomChange - | otherwise = decreaseScopeZoomChange w + | otherwise = w & wpPointer . itScope . scopeZoomChange .~ 0 where decreaseScopeZoomChange = wpPointer . itScope . scopeZoomChange -~ 1 wpPointer = creatures . ix 0 . crInv . ix (_crInvSel (_creatures w IM.! 0)) @@ -117,7 +119,8 @@ zoomOutLongGun w -- & wpPointer . itScope . scopePos .+.+~ ((1*zoomSpeed-1)) / currentZoom *.* mousep & wpPointer . itScope . scopeZoom *~ zoomSpeed & increaseScopeZoomChange - | otherwise = increaseScopeZoomChange w +-- | otherwise = increaseScopeZoomChange w + | otherwise = w & wpPointer . itScope . scopeZoomChange .~ 0 where --mousep = rotateV (_cameraRot w) $ _mousePos w increaseScopeZoomChange = wpPointer . itScope . scopeZoomChange +~ 1