Refactor map, add location arrows
This commit is contained in:
@@ -728,6 +728,26 @@ levLayer LabelLayer = 80
|
||||
levLayer InvLayer = 85
|
||||
levLayer MenuLayer = 90
|
||||
|
||||
worldPosToScreen :: World -> Point2 -> Point2
|
||||
worldPosToScreen w = doWindowScale . doRotate . doZoom . doTranslate
|
||||
where
|
||||
doTranslate p = p -.- _cameraPos w
|
||||
doZoom p = _cameraZoom w *.* p
|
||||
doRotate p = rotateV (0 - _cameraRot w) p
|
||||
doWindowScale (x,y) = ( x * 2 / _windowX w
|
||||
, y * 2 / _windowY w
|
||||
)
|
||||
|
||||
cartePosToScreen :: World -> Point2 -> Point2
|
||||
cartePosToScreen w = doWindowScale . doRotate . doZoom . doTranslate
|
||||
where
|
||||
doTranslate p = p -.- _carteCenter w
|
||||
doZoom p = _carteZoom w *.* p
|
||||
doRotate p = rotateV (0 - _cameraRot w) p
|
||||
doWindowScale (x,y) = ( x * 2 / _windowX w
|
||||
, y * 2 / _windowY w
|
||||
)
|
||||
|
||||
mouseWorldPos :: World -> Point2
|
||||
mouseWorldPos w = _cameraPos w +.+ (1/_cameraZoom w) *.* rotateV (_cameraRot w) (_mousePos w)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user