Start to create debug datatypes
This commit is contained in:
@@ -5,6 +5,7 @@ module Dodge.Base.Window (
|
||||
screenPolygon,
|
||||
screenPolygonBord,
|
||||
screenBox,
|
||||
pointIsOnScreen,
|
||||
) where
|
||||
|
||||
import Control.Lens
|
||||
@@ -54,3 +55,6 @@ screenBox w = rectNSWE hh (- hh) (- hw) hw
|
||||
where
|
||||
hw = halfWidth w
|
||||
hh = halfHeight w
|
||||
|
||||
pointIsOnScreen :: Configuration -> Camera -> Point2 -> Bool
|
||||
pointIsOnScreen cfig w p = pointInPolygon p $ screenPolygon cfig w
|
||||
|
||||
+12
-40
@@ -1,28 +1,20 @@
|
||||
module Dodge.Debug.Picture where
|
||||
|
||||
import Control.Lens
|
||||
import Control.Monad (guard)
|
||||
import Data.Foldable
|
||||
import qualified Data.Graph.Inductive as FGL
|
||||
import qualified Data.Map.Strict as M
|
||||
import Data.Maybe
|
||||
import qualified Data.Set as Set
|
||||
import Dodge.Base
|
||||
import Dodge.Creature.Picture
|
||||
import Dodge.Creature.Picture.Awareness
|
||||
import Dodge.Data.Universe
|
||||
|
||||
import Dodge.Base.Coordinate
|
||||
import Dodge.Draw
|
||||
import Dodge.Flare
|
||||
import Dodge.GameRoom
|
||||
import Dodge.Graph
|
||||
import Dodge.Path
|
||||
import Dodge.Picture.SizeInvariant
|
||||
import Dodge.RadarBlip
|
||||
import Dodge.Render.InfoBox
|
||||
import Dodge.Render.List
|
||||
import Dodge.Render.Picture
|
||||
import Dodge.ShortShow
|
||||
import Dodge.SoundLogic.LoadSound
|
||||
import Dodge.Viewpoints
|
||||
@@ -34,31 +26,11 @@ import qualified IntMapHelp as IM
|
||||
import Padding
|
||||
import Picture
|
||||
import SDL (MouseButton (..))
|
||||
import Shape
|
||||
import ShapePicture
|
||||
import ShortShow
|
||||
import Sound.Data
|
||||
import Dodge.Zoning.Wall
|
||||
import Dodge.Path
|
||||
import Dodge.Creature.Picture.Awareness
|
||||
import qualified Data.Graph.Inductive as FGL
|
||||
import Sound.Data
|
||||
import Control.Lens
|
||||
import qualified Data.IntMap.Strict as IM
|
||||
import qualified Data.Map.Strict as M
|
||||
import Data.Maybe
|
||||
import qualified Data.Set as S
|
||||
import Dodge.Base.Wall
|
||||
import Dodge.Base.Window
|
||||
import Dodge.Data.Universe
|
||||
import Dodge.Render.Label
|
||||
import Dodge.Render.List
|
||||
import Dodge.WorldEvent.ThingsHit
|
||||
import Dodge.Zoning.Base
|
||||
import Dodge.Zoning.Creature
|
||||
import Geometry
|
||||
import Picture
|
||||
import SDL (MouseButton (..))
|
||||
|
||||
printPoint :: Point2 -> Picture
|
||||
printPoint p = color white $ uncurryV translate p $ pictures [circle 3, scale 0.05 0.05 $ text (show p)]
|
||||
@@ -369,20 +341,20 @@ drawCrInfo :: Configuration -> World -> Picture
|
||||
drawCrInfo cfig w =
|
||||
setLayer FixedCoordLayer $
|
||||
renderInfoListsAt (2 * hw - 400) 0 cfig cam $
|
||||
mapMaybe (crDisplayInfo cfig cam) $ IM.elems $ w ^. cWorld . lWorld . creatures
|
||||
mapMaybe crDisplayInfo $ IM.elems $ w ^. cWorld . lWorld . creatures
|
||||
where
|
||||
cam = w ^. wCam
|
||||
drawPathing :: Configuration -> World -> Picture
|
||||
drawPathing cfig w =
|
||||
setLayer DebugLayer $
|
||||
foldMap (edgeToPic (screenPolygon cfig (w ^. wCam)) . (^?! _3)) (FGL.labEdges gr)
|
||||
<> foldMap dispInc (graphToIncidence gr)
|
||||
where
|
||||
dispInc (p, n) = setDepth 2 . uncurryV translate p . scale 0.1 0.1 $ text $ show n
|
||||
gr = w ^. cWorld . pathGraph
|
||||
-- drawPathing :: Configuration -> World -> Picture
|
||||
-- drawPathing cfig w =
|
||||
-- setLayer DebugLayer $
|
||||
-- foldMap (edgeToPic (screenPolygon cfig (w ^. wCam)) . (^?! _3)) (FGL.labEdges gr)
|
||||
-- <> foldMap dispInc (graphToIncidence gr)
|
||||
-- where
|
||||
-- dispInc (p, n) = setDepth 2 . uncurryV translate p . scale 0.1 0.1 $ text $ show n
|
||||
-- gr = w ^. cWorld . pathGraph
|
||||
|
||||
crDisplayInfo :: Configuration -> Camera -> Creature -> Maybe (Point2, [String])
|
||||
crDisplayInfo cfig cam cr
|
||||
crDisplayInfo :: Creature -> Maybe (Point2, [String])
|
||||
crDisplayInfo cr
|
||||
| _crID cr == 0 = Nothing
|
||||
| crOnScreen =
|
||||
Just
|
||||
@@ -401,7 +373,7 @@ drawCrInfo cfig w =
|
||||
| otherwise = Nothing
|
||||
where
|
||||
ap = _crActionPlan cr
|
||||
crOnScreen = pointOnScreen cfig cam $ _crPos cr
|
||||
crOnScreen = pointIsOnScreen cfig cam $ _crPos cr
|
||||
|
||||
fpreShow :: (Show a, Functor f) => String -> f a -> f String
|
||||
fpreShow str = fmap (((rightPad 7 '.' str ++ "...") ++) . show)
|
||||
|
||||
@@ -5,40 +5,20 @@ module Dodge.Render.ShapePicture (
|
||||
import Control.Lens
|
||||
import Control.Monad (guard)
|
||||
import Data.Foldable
|
||||
import qualified Data.Graph.Inductive as FGL
|
||||
import qualified Data.Map.Strict as M
|
||||
import Data.Maybe
|
||||
import qualified Data.Set as Set
|
||||
import Dodge.Base
|
||||
import Dodge.Creature.Picture
|
||||
import Dodge.Creature.Picture.Awareness
|
||||
import Dodge.Data.Universe
|
||||
import Dodge.Debug.Picture
|
||||
import Dodge.Draw
|
||||
import Dodge.Flare
|
||||
import Dodge.GameRoom
|
||||
import Dodge.Graph
|
||||
import Dodge.Path
|
||||
import Dodge.Picture.SizeInvariant
|
||||
import Dodge.RadarBlip
|
||||
import Dodge.Render.InfoBox
|
||||
import Dodge.Render.List
|
||||
import Dodge.Render.Picture
|
||||
import Dodge.ShortShow
|
||||
import Dodge.SoundLogic.LoadSound
|
||||
import Dodge.Viewpoints
|
||||
import Dodge.Zoning
|
||||
import Dodge.Zoning.Base
|
||||
import Geometry
|
||||
import Geometry.ConvexPoly
|
||||
import qualified IntMapHelp as IM
|
||||
import Padding
|
||||
import Picture
|
||||
import SDL (MouseButton (..))
|
||||
import Shape
|
||||
import ShapePicture
|
||||
import ShortShow
|
||||
import Sound.Data
|
||||
|
||||
worldSPic :: Configuration -> Universe -> SPic
|
||||
worldSPic cfig u =
|
||||
|
||||
+1
-1
@@ -201,7 +201,7 @@ stackText = mconcat . zipWith (\y s -> translate 0 y $ centerText s) [0, 100 ..]
|
||||
|
||||
text :: String -> Picture
|
||||
{-# INLINE text #-}
|
||||
text = translate (-50) (-100) . drawText (-10)
|
||||
text = translate (-50) (-100) . drawText (10)
|
||||
|
||||
drawText :: Float -> String -> [Verx]
|
||||
drawText gap = map f . stringToList gap
|
||||
|
||||
@@ -84,7 +84,9 @@ preloadRender = do
|
||||
eslist <- makeShaderVBO "dualTwoD/ellipse" [vert, geom, frag] [3, 4] pmTriangles
|
||||
cslist <-
|
||||
makeShaderVBO "picture/charArray" [vert, frag] [3, 4, 4] pmTriangles
|
||||
initTexture2DArray 50 "data/texture/charMapVertBig.png" 2 32 64 95 GL_NEAREST_MIPMAP_LINEAR GL_LINEAR
|
||||
-- initTexture2DArray 50 "data/texture/charMapVertBig.png" 2 32 64 95 GL_NEAREST_MIPMAP_LINEAR GL_LINEAR
|
||||
-- initTexture2DArray 50 "data/texture/charMapVert16Block.png" 2 16 32 95 GL_NEAREST GL_NEAREST
|
||||
initTexture2DArray 50 "data/texture/charMapVert8Block.png" 2 8 16 95 GL_NEAREST GL_NEAREST
|
||||
--initTexture2DArray 50 "data/texture/charMapVertBig.png" 2 32 64 95 GL_LINEAR_MIPMAP_LINEAR GL_LINEAR
|
||||
--initTexture2DArray 50 "data/texture/charMapVertBig.png" 2 32 64 95 GL_LINEAR_MIPMAP_NEAREST GL_LINEAR
|
||||
|
||||
|
||||
Reference in New Issue
Block a user