Camera position refactor
This commit is contained in:
@@ -23,11 +23,11 @@ import Control.Lens
|
||||
-}
|
||||
worldPosToScreen :: World -> Point2 -> Point2
|
||||
worldPosToScreen w =
|
||||
rotateV (negate $ cam ^. cwcRot)
|
||||
. ((cam ^. cwcZoom) *.*)
|
||||
. (-.- (cam ^. cwcCenter))
|
||||
rotateV (negate $ cam ^. camRot)
|
||||
. ((cam ^. camZoom) *.*)
|
||||
. (-.- (cam ^. camCenter))
|
||||
where
|
||||
cam = w ^. cWorld . lWorld . cwCam
|
||||
cam = w ^. cWorld . lWorld . camPos
|
||||
|
||||
{- | Transform coordinates from the map position to screen
|
||||
coordinates.
|
||||
@@ -46,10 +46,10 @@ cartePosToScreen cfig w = doWindowScale cfig . doRotate . doZoom . doTranslate
|
||||
-- | The mouse position in world coordinates.
|
||||
mouseWorldPos :: World -> Point2
|
||||
mouseWorldPos w =
|
||||
(cam ^. cwcCenter)
|
||||
+.+ (1 / (cam ^. cwcZoom)) *.* rotateV (cam ^. cwcRot) (_mousePos w)
|
||||
(cam ^. camCenter)
|
||||
+.+ (1 / (cam ^. camZoom)) *.* rotateV (cam ^. camRot) (_mousePos w)
|
||||
where
|
||||
cam = w ^. cWorld . lWorld . cwCam
|
||||
cam = w ^. cWorld . lWorld . camPos
|
||||
|
||||
---- | The mouse position in map coordinates
|
||||
--mouseCartePos :: World -> Point2
|
||||
|
||||
Reference in New Issue
Block a user