From a1294859c7512f3416612f0911946e7768d95bdd Mon Sep 17 00:00:00 2001 From: Matthias Schiffer Date: Wed, 17 Mar 2010 17:55:03 +0100 Subject: Some optimizations --- src/Collision.hs | 4 ++-- src/HTanks.hs | 4 ++-- src/Render.hs | 24 ++++++++++++------------ 3 files changed, 16 insertions(+), 16 deletions(-) diff --git a/src/Collision.hs b/src/Collision.hs index fad7cd6..9ad898b 100644 --- a/src/Collision.hs +++ b/src/Collision.hs @@ -15,7 +15,7 @@ tankLength :: Micro tankLength = 0.95 bulletDiameter :: Micro -bulletDiameter = 0.2 +bulletDiameter = 0.1 collisionTankBorder :: Micro -> Micro -> Tank -> Tank collisionTankBorder lw lh tank = tank {tankX = newx, tankY = newy} @@ -48,4 +48,4 @@ collisionTankBorder lw lh tank = tank {tankX = newx, tankY = newy} collisionBulletBullet :: (Bullet, Bullet) -> (Bullet, Bullet) -> Bool collisionBulletBullet (b1, b1') (b2, b2') = distancesq < (bulletDiameter^2) where - distancesq = (bulletX b1' - bulletX b2')^2 + (bulletY b1' - bulletY b2')^2 \ No newline at end of file + distancesq = (bulletX b1' - bulletX b2')^2 + (bulletY b1' - bulletY b2')^2 diff --git a/src/HTanks.hs b/src/HTanks.hs index c815992..15c3ed6 100644 --- a/src/HTanks.hs +++ b/src/HTanks.hs @@ -32,8 +32,8 @@ main = do [ SomePlayer $ DefaultPlayer S.empty 0 0 False , SomePlayer $ CPUPlayer 0 ]} - gameState = GameState {level = theLevel, tanks = [ Tank 5.0 5.0 0 0 2 270 False 3 2 5 - , Tank 5.0 3.5 0 0 2 270 False 3 2 5 + gameState = GameState {level = theLevel, tanks = [ Tank 5.0 5.0 0 0 2 270 False 3 1 5 + , Tank 5.0 3.5 0 0 2 270 False 3 1 5 ], bullets = [], textures = M.empty} runGame gameState $ do diff --git a/src/Render.hs b/src/Render.hs index e243580..a5f5ae9 100644 --- a/src/Render.hs +++ b/src/Render.hs @@ -19,8 +19,8 @@ import qualified Data.Map as M import Bindings.GLPng import Graphics.Rendering.OpenGL.GL (($=), GLfloat, GLdouble, Capability(..), Vector3(..)) -import Graphics.Rendering.OpenGL.GL.BeginEnd (renderPrimitive, PrimitiveMode(..)) -import Graphics.Rendering.OpenGL.GL.CoordTrans (matrixMode, MatrixMode(..), viewport, Position(..), Size(..), loadIdentity, preservingMatrix, ortho, translate, rotate) +import Graphics.Rendering.OpenGL.GL.BeginEnd (unsafeRenderPrimitive, PrimitiveMode(..)) +import Graphics.Rendering.OpenGL.GL.CoordTrans (matrixMode, MatrixMode(..), viewport, Position(..), Size(..), loadIdentity, unsafePreservingMatrix, ortho, translate, rotate) import Graphics.Rendering.OpenGL.GL.Framebuffer (clear, ClearBuffer(..)) import Graphics.Rendering.OpenGL.GL.PerFragment (blend, blendFunc, BlendingFactor(..)) import Graphics.Rendering.OpenGL.GL.Texturing.Application (texture) @@ -86,7 +86,7 @@ render = do texture Texture2D $= Enabled textureBinding Texture2D $= Just textureWood - renderPrimitive Quads $ do + unsafeRenderPrimitive Quads $ do texCoord $ TexCoord2 (0 :: GLfloat) (0 :: GLfloat) vertex $ Vertex2 0 lh @@ -99,7 +99,7 @@ render = do texCoord $ TexCoord2 0 (lh/2) vertex $ Vertex2 (0 :: GLfloat) (0 :: GLfloat) - forM_ tanklist $ \tank -> preservingMatrix $ do + forM_ tanklist $ \tank -> unsafePreservingMatrix $ do let x = fromReal . tankX $ tank y = fromReal . tankY $ tank rotDir = fromReal . tankDir $ tank @@ -110,7 +110,7 @@ render = do textureBinding Texture2D $= Just textureTank - renderPrimitive Quads $ do + unsafeRenderPrimitive Quads $ do texCoord $ TexCoord2 (0 :: GLfloat) (0 :: GLfloat) vertex $ Vertex2 (-0.5 :: GLfloat) (-0.5 :: GLfloat) @@ -127,7 +127,7 @@ render = do textureBinding Texture2D $= Just textureCannon - renderPrimitive Quads $ do + unsafeRenderPrimitive Quads $ do texCoord $ TexCoord2 (0 :: GLfloat) (0 :: GLfloat) vertex $ Vertex2 (-0.5 :: GLfloat) (-0.5 :: GLfloat) @@ -140,7 +140,7 @@ render = do texCoord $ TexCoord2 (1 :: GLfloat) (0 :: GLfloat) vertex $ Vertex2 (0.5 :: GLfloat) (-0.5 :: GLfloat) - forM_ bulletlist $ \bullet -> preservingMatrix $ do + forM_ bulletlist $ \bullet -> unsafePreservingMatrix $ do let x = fromReal . bulletX $ bullet y = fromReal . bulletY $ bullet rotDir = fromReal . bulletDir $ bullet @@ -150,18 +150,18 @@ render = do textureBinding Texture2D $= Just textureBullet - renderPrimitive Quads $ do + unsafeRenderPrimitive Quads $ do texCoord $ TexCoord2 (0 :: GLfloat) (0 :: GLfloat) - vertex $ Vertex2 (-0.2 :: GLfloat) (-0.2 :: GLfloat) + vertex $ Vertex2 (-0.1 :: GLfloat) (-0.1 :: GLfloat) texCoord $ TexCoord2 (0 :: GLfloat) (1 :: GLfloat) - vertex $ Vertex2 (-0.2 :: GLfloat) (0.2 :: GLfloat) + vertex $ Vertex2 (-0.1 :: GLfloat) (0.1 :: GLfloat) texCoord $ TexCoord2 (1 :: GLfloat) (1 :: GLfloat) - vertex $ Vertex2 (0.2 :: GLfloat) (0.2 :: GLfloat) + vertex $ Vertex2 (0.1 :: GLfloat) (0.1 :: GLfloat) texCoord $ TexCoord2 (1 :: GLfloat) (0 :: GLfloat) - vertex $ Vertex2 (0.2 :: GLfloat) (-0.2 :: GLfloat) + vertex $ Vertex2 (0.1 :: GLfloat) (-0.1 :: GLfloat) fromReal :: (Real a, Fractional b) => a -> b -- cgit v1.2.3