Cleanup
This commit is contained in:
@@ -1,5 +1,4 @@
|
||||
module Dodge.Base.Coordinate (
|
||||
cartePosToScreen,
|
||||
worldPosToScreen,
|
||||
screenToWorldPos,
|
||||
mouseWorldPos,
|
||||
@@ -7,18 +6,9 @@ module Dodge.Base.Coordinate (
|
||||
|
||||
import Control.Lens
|
||||
import Dodge.Data.Camera
|
||||
import Dodge.Data.HUD
|
||||
import Dodge.Data.Input
|
||||
import Geometry
|
||||
|
||||
---- | Transform coordinates from world position to screen coordinates.
|
||||
--worldPosToScreenNorm :: Config -> World -> Point2 -> Point2
|
||||
--worldPosToScreenNorm cfig w = doWindowScale cfig . doRotate . doZoom . doTranslate
|
||||
-- where
|
||||
-- doTranslate p = p -.- (w ^. cWorld . lWorld . wCam . cwcCenter)
|
||||
-- doZoom p = (w ^. cWorld . lWorld . wCam . cwcZoom) *.* p
|
||||
-- doRotate p = rotateV (negate (w ^. cWorld . lWorld . wCam . cwcRot)) p
|
||||
|
||||
{- | Transform world coordinates to scaled screen coordinates.
|
||||
- These have to be scaled according to the size of the window to get actual screen positions.
|
||||
- This allows for line thicknesses etc to correspond to pixel sizes.
|
||||
@@ -31,33 +21,10 @@ worldPosToScreen cam =
|
||||
. ((cam ^. camZoom) *.*)
|
||||
. (-.- (cam ^. camCenter))
|
||||
|
||||
{- | Transform coordinates from the map position to screen
|
||||
coordinates.
|
||||
-}
|
||||
cartePosToScreen :: HUD -> Point2 -> Point2
|
||||
cartePosToScreen thehud = doRotate . doZoom . doTranslate
|
||||
where
|
||||
doTranslate p = p - (thehud ^. carteCenter) -- _carteCenter (_hud (_cWorld w))
|
||||
doZoom p = (thehud ^. carteZoom) *.* p
|
||||
doRotate p = rotateV (negate $ thehud ^. carteRot) p
|
||||
|
||||
--crToMousePosOffset :: Creature -> World -> (Point2, Float)
|
||||
--crToMousePosOffset cr w = (mouseWorldPos w -.- _crPos cr, 0)
|
||||
|
||||
-- | The mouse position in world coordinates.
|
||||
mouseWorldPos :: Input -> Camera -> Point2
|
||||
mouseWorldPos inp cam = screenToWorldPos cam (inp ^. mousePos)
|
||||
|
||||
screenToWorldPos :: Camera -> Point2 -> Point2
|
||||
screenToWorldPos cam p =
|
||||
(cam ^. camCenter)
|
||||
+ (1 / (cam ^. camZoom)) *.* rotateV (cam ^. camRot) p
|
||||
|
||||
---- | The mouse position in map coordinates
|
||||
--mouseCartePos :: World -> Point2
|
||||
--mouseCartePos w = (thehud ^. carteCenter)
|
||||
-- +.+
|
||||
-- (1 / (thehud ^. carteZoom))
|
||||
-- *.* rotateV (thehud ^. carteRot) (_mousePos w)
|
||||
-- where
|
||||
-- thehud = w ^. cWorld . lWorld . hud
|
||||
screenToWorldPos cam p =
|
||||
(cam ^. camCenter) + (1 / (cam ^. camZoom)) *.* rotateV (cam ^. camRot) p
|
||||
|
||||
Reference in New Issue
Block a user