From f61bc52ca6a9786bc116b82d436afedd2d6b6f27 Mon Sep 17 00:00:00 2001 From: nek0 Date: Sat, 2 Nov 2019 09:44:50 +0100 Subject: [PATCH] Get tiles in an unsafe manner --- src/MainGame/WorldMap.hs | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/MainGame/WorldMap.hs b/src/MainGame/WorldMap.hs index 5ff8282..0382ad2 100644 --- a/src/MainGame/WorldMap.hs +++ b/src/MainGame/WorldMap.hs @@ -763,6 +763,7 @@ updateMap dt = do xyv2 <- queryMaybe xyvel stat <- query anim let an = assetAnimations ud Map.! asId stat + mat = mapMat (stateData ud) ntime = asElapsedTime stat + dt npos = pos' + fmap (* (dt * fact')) (fromMaybe (V2 0 0) vel') dpos@(V2 dpr dpc) = npos - pos' @@ -782,12 +783,12 @@ updateMap dt = do in A.log A.Verbose (fromString $ show ret) ret) (V2 1 1) ( - concatMap + nub $ concatMap (\(dr, dc) -> let bs = (++) (fromMaybe [] $ collisionObstacle <$> M.unsafeGet - (fromIntegral $ floor pr + dr) - (fromIntegral $ floor pc + dc) + (min (nrows mat) $ max 1 $ fromIntegral $ floor pr + dr) + (min (ncols mat) $ max 1 $ fromIntegral $ floor pc + dc) (imgMat (stateData ud))) (Prelude.map snd $ Prelude.filter (\((V2 br bc), _) ->