summaryrefslogtreecommitdiffstats
path: root/src/Render.hs
diff options
context:
space:
mode:
authorMatthias Schiffer <mschiffer@universe-factory.net>2011-06-24 21:50:32 +0200
committerMatthias Schiffer <mschiffer@universe-factory.net>2011-06-24 21:50:32 +0200
commit83f0606ea9dfd6b493097dc97330055dff4a2867 (patch)
tree464d7f3ed2c02f48b6463d1528e3e0b5f50e79c6 /src/Render.hs
parentd7971385e844e24d9d851d3d142895b5cb89c91b (diff)
downloadhtanks-83f0606ea9dfd6b493097dc97330055dff4a2867.tar
htanks-83f0606ea9dfd6b493097dc97330055dff4a2867.zip
Added Transformable class to simplify collision calculation
Diffstat (limited to 'src/Render.hs')
-rw-r--r--src/Render.hs13
1 files changed, 7 insertions, 6 deletions
diff --git a/src/Render.hs b/src/Render.hs
index de61593..abe652e 100644
--- a/src/Render.hs
+++ b/src/Render.hs
@@ -10,6 +10,7 @@ import Player
import Tank
import Texture
import Model
+import qualified Vector as V
import Control.Monad.State
@@ -148,11 +149,11 @@ render = do
forM_ tanklist $ \tank -> unsafePreservingMatrix $ do
let x = realToFrac . tankX $ tank
y = realToFrac . tankY $ tank
- rotDir = realToFrac . tankDir $ tank
- rotAim = realToFrac . tankAim $ tank
+ rotDir = realToFrac . V.toAngle . tankDir $ tank
+ rotAim = realToFrac . V.toAngle . tankAim $ tank
translate $ Vector3 x y (0 :: GLfloat)
- rotate rotDir $ Vector3 0 0 (1 :: GLfloat)
+ rotate (rotDir*180/pi) $ Vector3 0 0 (1 :: GLfloat)
textureBinding Texture2D $= Just textureTank
@@ -160,7 +161,7 @@ render = do
rotate 90 $ Vector3 1 0 (0 :: GLfloat)
drawObject modelTank 1
- rotate (rotAim-rotDir) $ Vector3 0 0 (1 :: GLfloat)
+ rotate ((rotAim-rotDir)*180/pi) $ Vector3 0 0 (1 :: GLfloat)
textureBinding Texture2D $= Just textureCannon
@@ -174,10 +175,10 @@ render = do
forM_ bulletlist $ \bullet -> unsafePreservingMatrix $ do
let x = realToFrac . bulletX $ bullet
y = realToFrac . bulletY $ bullet
- rotDir = realToFrac . bulletDir $ bullet
+ rotDir = realToFrac . V.toAngle . bulletDir $ bullet
translate $ Vector3 x y (0.25 :: GLfloat)
- rotate (rotDir-90) $ Vector3 0 0 (1 :: GLfloat)
+ rotate ((rotDir*180/pi)-90) $ Vector3 0 0 (1 :: GLfloat)
unsafePreservingMatrix $ do
drawObject modelBullet 0