From 996313bd8994d4536492ec8000f7a92fb015433e Mon Sep 17 00:00:00 2001 From: Matthias Schiffer Date: Mon, 8 Mar 2010 20:16:51 +0100 Subject: [PATCH] Re-corrected coordinates... and new tank texture --- GLX.hs | 5 ++++- HTanks.hs | 7 ++++--- tex/Tank.png | Bin 1076 -> 284 bytes 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/GLX.hs b/GLX.hs index ba2bfeb..f98d367 100644 --- a/GLX.hs +++ b/GLX.hs @@ -157,9 +157,12 @@ handleEvent glx xevent = do wa <- getWindowAttributes (glxDisplay glx) (glxWindow glx) let x = fromIntegral . ev_x $ event y = fromIntegral . ev_y $ event + w = fromIntegral . wa_width $ wa h = fromIntegral . wa_height $ wa s = fromRational . glxScale $ glx - return (glx, Just $ SomeEvent $ MouseMotionEvent (x/s) ((h-y)/s)) + lw = fromIntegral . glxLevelWidth $ glx + lh = fromIntegral . glxLevelHeight $ glx + return (glx, Just $ SomeEvent $ MouseMotionEvent ((w/2+x)/s - lw/2) ((h/2-y)/s + lh/2)) | otherwise -> return (glx, Nothing) diff --git a/HTanks.hs b/HTanks.hs index 9ff45fe..c75aba2 100644 --- a/HTanks.hs +++ b/HTanks.hs @@ -39,7 +39,8 @@ runMain st (MainT a) = runStateT a st main :: IO () main = do - gl <- initGL $ glxDriver 10 10 + let theLevel = testLevel + gl <- initGL $ glxDriver (levelWidth theLevel) (levelHeight theLevel) when (initialized gl) $ do currentTime <- getCurrentTime @@ -47,8 +48,8 @@ main = do [ SomePlayer $ DefaultPlayer S.empty 0 0 , SomePlayer $ CPUPlayer 0 ]} - gameState = GameState {level = testLevel, tanks = [ Tank 5.0 5.0 0 0 2 360 False - , Tank 5.0 3.5 0 0 2 360 False + gameState = GameState {level = theLevel, tanks = [ Tank 5.0 5.0 0 0 2 270 False + , Tank 5.0 3.5 0 0 2 270 False ], textures = M.empty} runGame gameState $ do diff --git a/tex/Tank.png b/tex/Tank.png index c87098d11fd5254b2b4c791b73261ae1dab825f8..b6dd9a355d9a45c02eb8ecd4e02366922785eb4c 100644 GIT binary patch delta 161 zcmdnOF^6eF0tbgMv&f}Sv5pfn)ax0_JzX3_DsH{KZOFx-z{Bhy`v3paT^74Jlk~jZ zUta9lCN^(h`qFpym-H3n66CT9t-l`Ht;IkAugdAj(o0<;K_UjI3{X}o~n^(Cw~KvNklo_3u|{}&YL$w&W9E5BMpEp zfZBe30q|;{Yh(oQ6Tol#`2=9F&li>YPD)b>cK|lZcm1*d`$hn=C>Yg(itjw7DSw4q zLg z-!qE$41HY+`|`v7&W{_t2S)3B$2a@_Nut?MEnxLlu#Obb|9bEL64*I90qogqsAecn zS)HS$6t&NRwQ##i7x?~<7!azN%72F}prPV9Vl7g@rPiVbp-NDmLOsR@&ohk?ia}8z z)CtNj5``mW1n|p(?60$Tf@E*kJPEtDDna=u3!l3OVl5*ei@i}0LQ(zJ^-BcbD(~#D_pU_ zD6F3Y^|h{W!vf>%29os$tDa4R&V3-2rM1TJi@|Tm~1~7#GmqLFj7+&IlVf?=Y`b%zb*$$21|0T;M z4w%CIKNts0;r<_t1BUsBQv5#@2Uq|;jXVK(0zk_P^wS(UNW&cXNC0lCCItwW@ZA7# zlP?z{Y{F-xM4@209QcfsC=?P08Y$s3Qld~u9N0<;pOF%ULgIi_@PB~`6by2AgHXNm zWQ0Va1UCrQI}O5hvt6bvkeWT0gwF)><(yd%YWAGmgHWi6kQ)m$t-iqpK+{Uajj4+mmMRCMG0bSXjvFz|4Wp=eT@Apz%=$3cWC)^*ag(ppYvwF+K?BE=_&+-u)Hf z%a$D2vq$%1OJ1Q13&8cwE;zx`1%x_3yx{@Y=AIWP@31v}nk=icP)2PCfN;Xa4QW?- hH~<_Nz>2TW{{ypQ7?#7Itp)%9002ovPDHLkV1iMgy~h9m