Further strictifying
This commit is contained in:
@@ -43,7 +43,7 @@ moveCamera w = w & cameraCenter .~ idealPos
|
||||
camCenter = ypos +.+ scope
|
||||
isCam :: Bool
|
||||
isCam = fromMaybe False $ yourItem w ^? itAttachment . _Just . scopeIsCamera
|
||||
scope = fromMaybe (0,0) $ yourItem w ^? itAttachment . _Just . scopePos
|
||||
scope = fromMaybe (V2 0 0) $ yourItem w ^? itAttachment . _Just . scopePos
|
||||
sightFrom
|
||||
| isCam = camCenter
|
||||
| otherwise = ypos
|
||||
@@ -70,7 +70,7 @@ updateScopeZoom w
|
||||
. itAttachment . _Just %~ updateScope
|
||||
where scppoint = creatures . ix 0 . crInv . ix (_crInvSel (_creatures w IM.! 0))
|
||||
. itAttachment . _Just . scopeZoomChange
|
||||
updateScope (ItScope _ _ _ bl) = ItScope (0,0) 0 1 bl
|
||||
updateScope (ItScope _ _ _ bl) = ItScope (V2 0 0) 0 1 bl
|
||||
updateScope otherAtt = otherAtt
|
||||
|
||||
zoomSpeed :: Float
|
||||
@@ -158,18 +158,18 @@ farWallDist :: Point2 -> World -> Float
|
||||
{-# INLINE farWallDist #-}
|
||||
farWallDist cpos w = min (halfWidth w / (horizontalMax+50) ) (halfHeight w / (verticalMax+50) )
|
||||
where
|
||||
horizontalMax = maximum $ map (h' (1,0)) rRays ++ map (h' (-1,0)) lRays
|
||||
verticalMax = maximum $ map (h' (0,1)) tRays ++ map (h' (0,-1)) bRays
|
||||
horizontalMax = maximum $ map (h' (V2 1 0)) rRays ++ map (h' (V2 (-1) (0))) lRays
|
||||
verticalMax = maximum $ map (h' (V2 0 1)) tRays ++ map (h' (V2 (0) (-1))) bRays
|
||||
--h p = fromMaybe p $ collidePointIndirect cpos p $ wallsAlongLine cpos p w
|
||||
--h p = fromMaybe p . collidePointIndirect cpos p $ _walls w
|
||||
wos = wallsOnScreen w
|
||||
h p = fromMaybe p $ collidePointIndirect cpos p wos
|
||||
h' x p = dotV (rotateV camRot x) (p -.- cpos)
|
||||
camRot = _cameraRot w
|
||||
rRays = rotF [( maxViewDistance,y) | y <- zs]
|
||||
lRays = rotF [(-maxViewDistance,y) | y <- zs]
|
||||
tRays = rotF [(y, maxViewDistance) | y <- zs]
|
||||
bRays = rotF [(y,-maxViewDistance) | y <- zs]
|
||||
rRays = rotF [(V2 ( maxViewDistance) (y)) | y <- zs]
|
||||
lRays = rotF [(V2 (-maxViewDistance) (y)) | y <- zs]
|
||||
tRays = rotF [(V2 (y) ( maxViewDistance)) | y <- zs]
|
||||
bRays = rotF [(V2 (y) (-maxViewDistance)) | y <- zs]
|
||||
rotF = map (h . (+.+) cpos . rotateV (_cameraRot w))
|
||||
zs = takeWhile (< maxViewDistance) [-maxViewDistance,negate $ 0.75*maxViewDistance..]
|
||||
maxViewDistance = 800
|
||||
|
||||
Reference in New Issue
Block a user