-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | FUNctional Game ENgine -- -- Multi-platform functional game engine built on top of OpenGL & -- GLUT @package FunGEn @version 0.1 module Graphics.UI.FunGEn type WindowConfig = ((Int, Int), (Int, Int), String) type Point2D = (GLdouble, GLdouble) type ColorList3 = [(GLubyte, GLubyte, GLubyte)] type AwbfBitmap = (GLsizei, GLsizei, PixelData GLubyte) type InvList = Maybe [(Int, Int, Int)] texCoord2 :: GLdouble -> GLdouble -> IO () vertex3 :: GLdouble -> GLdouble -> GLdouble -> IO () texStuff :: [TextureObject] -> [AwbfBitmap] -> IO () toRad :: Float -> Float randInt :: (Int, Int) -> IO Int randFloat :: (Float, Float) -> IO Float randDouble :: (Double, Double) -> IO Double shiftLeft :: String -> Int -> String toDecimal :: String -> GLsizei pow2 :: GLsizei -> GLsizei toBinary :: Int -> String make0 :: Int -> String dropGLsizei :: GLsizei -> [a] -> [a] ord2 :: Char -> GLubyte addNoInvisibility :: [FilePath] -> [(FilePath, Maybe ColorList3)] racMod :: GLdouble -> GLdouble -> GLdouble matrixToList :: [[a]] -> [a] matrixSize :: [[a]] -> (Int, Int) inv2color3 :: InvList -> Maybe ColorList3 pathAndInv2color3List :: (FilePath, InvList) -> (FilePath, Maybe ColorList3) point2DtoVertex3 :: [Point2D] -> [Vertex3 GLdouble] isEmpty :: [a] -> Bool when :: (Monad m) => Bool -> m () -> m () unless :: (Monad m) => Bool -> m () -> m () bindTexture :: TextureTarget -> TextureObject -> IO () loadBitmap :: FilePath -> Maybe ColorList3 -> IO AwbfBitmap loadBitmapList :: [(FilePath, Maybe ColorList3)] -> IO [AwbfBitmap] type FilePictureList = [(FilePath, InvList)] data GameObject t getGameObjectId :: GameObject t -> Integer getGameObjectName :: GameObject t -> String getGameObjectManagerName :: GameObject t -> String getGameObjectAsleep :: GameObject t -> Bool getGameObjectPosition :: GameObject t -> (Double, Double) getGameObjectSize :: GameObject t -> (Double, Double) getGameObjectSpeed :: GameObject t -> (Double, Double) getGameObjectAttribute :: GameObject t -> t getObjectManagerName :: ObjectManager t -> String getObjectManagerCounter :: ObjectManager t -> Integer getObjectManagerObjects :: ObjectManager t -> [(GameObject t)] data ObjectPicture Tex :: (Double, Double) -> Int -> ObjectPicture Basic :: Primitive -> ObjectPicture data Primitive Polyg :: [Point2D] -> Float -> Float -> Float -> FillMode -> Primitive Circle :: Double -> Float -> Float -> Float -> FillMode -> Primitive data FillMode Filled :: FillMode Unfilled :: FillMode object :: String -> ObjectPicture -> Bool -> (Double, Double) -> (Double, Double) -> t -> GameObject t drawGameObjects :: [(ObjectManager t)] -> QuadricPrimitive -> [TextureObject] -> IO () drawGameObject :: GameObject t -> QuadricPrimitive -> [TextureObject] -> IO () objectGroup :: String -> [(GameObject t)] -> (ObjectManager t) data ObjectManager t findObjectFromId :: GameObject t -> [(ObjectManager t)] -> GameObject t searchObjectManager :: String -> [(ObjectManager t)] -> ObjectManager t searchGameObject :: String -> ObjectManager t -> GameObject t updateObject :: (GameObject t -> GameObject t) -> Integer -> String -> [(ObjectManager t)] -> [(ObjectManager t)] updateObjectAsleep :: Bool -> GameObject t -> GameObject t updateObjectSize :: (Double, Double) -> GameObject t -> GameObject t updateObjectPosition :: (Double, Double) -> GameObject t -> GameObject t updateObjectSpeed :: (Double, Double) -> GameObject t -> GameObject t updateObjectAttribute :: t -> GameObject t -> GameObject t updateObjectPicture :: Int -> Int -> GameObject t -> GameObject t addObjectsToManager :: [(GameObject t)] -> String -> [(ObjectManager t)] -> [(ObjectManager t)] moveGameObjects :: [(ObjectManager t)] -> [(ObjectManager t)] destroyGameObject :: String -> String -> [(ObjectManager t)] -> [(ObjectManager t)] data GameMap t type Tile t = (Int, Bool, Float, t) type TileMatrix t = [[(Tile t)]] getTilePictureIndex :: Tile t -> Int getTileBlocked :: Tile t -> Bool getTileMoveCost :: Tile t -> Float getTileSpecialAttribute :: Tile t -> t colorMap :: Float -> Float -> Float -> Double -> Double -> GameMap t textureMap :: Int -> Double -> Double -> Double -> Double -> GameMap t tileMap :: TileMatrix t -> Double -> Double -> GameMap t multiMap :: [(GameMap t)] -> Int -> GameMap t getMapSize :: GameMap t -> Point2D isTileMap :: GameMap t -> Bool getTileMapTileMatrix :: GameMap t -> TileMatrix t getTileMapScroll :: GameMap t -> Point2D getTileMapSize :: GameMap t -> Point2D getTileMapTileSize :: GameMap t -> Point2D getCurrentMap :: GameMap t -> GameMap t updateCurrentMap :: GameMap t -> GameMap t -> GameMap t updateCurrentIndex :: GameMap t -> Int -> GameMap t isMultiMap :: GameMap t -> Bool drawGameMap :: GameMap t -> Point2D -> [TextureObject] -> IO () clearGameScreen :: Float -> Float -> Float -> IO () data Game t s u v data IOGame t s u v a runIOGame :: IOGame t s u v a -> Game t s u v -> IO (Game t s u v, a) runIOGameM :: IOGame t s u v a -> Game t s u v -> IO () liftIOtoIOGame :: IO a -> IOGame t s u v a liftIOtoIOGame' :: (a -> IO ()) -> a -> IOGame t s u v () getGameState :: IOGame t s u v u setGameState :: u -> IOGame t s u v () getGameFlags :: IOGame t s u v GameFlags setGameFlags :: GameFlags -> IOGame t s u v () enableGameFlags :: IOGame t s u v () disableGameFlags :: IOGame t s u v () enableMapDrawing :: IOGame t s u v () disableMapDrawing :: IOGame t s u v () enableObjectsDrawing :: IOGame t s u v () disableObjectsDrawing :: IOGame t s u v () enableObjectsMoving :: IOGame t s u v () disableObjectsMoving :: IOGame t s u v () getObjectManagers :: IOGame t s u v [(ObjectManager s)] setObjectManagers :: [(ObjectManager s)] -> IOGame t s u v () getGameAttribute :: IOGame t s u v t setGameAttribute :: t -> IOGame t s u v () createGame :: GameMap v -> [(ObjectManager s)] -> WindowConfig -> u -> t -> FilePictureList -> IO (Game t s u v) funExit :: IOGame t s u v () drawMap :: IOGame t s u v () clearScreen :: Float -> Float -> Float -> IOGame t s u v () getTileFromIndex :: (Int, Int) -> IOGame t s u v (Tile v) getTileFromWindowPosition :: (Double, Double) -> IOGame t s u v (Tile v) setCurrentMapIndex :: Int -> IOGame t s u v () drawAllObjects :: IOGame t s u v () drawObject :: GameObject s -> IOGame t s u v () moveAllObjects :: IOGame t s u v () destroyObjects :: [(GameObject s)] -> IOGame t s u v () destroyObject :: GameObject s -> IOGame t s u v () getObjectsFromGroup :: String -> IOGame t s u v [(GameObject s)] addObjectsToGroup :: [(GameObject s)] -> String -> IOGame t s u v () addObjectsToNewGroup :: [(GameObject s)] -> String -> IOGame t s u v () findObjectManager :: String -> IOGame t s u v (ObjectManager s) findObject :: String -> String -> IOGame t s u v (GameObject s) getObjectName :: GameObject s -> IOGame t s u v String getObjectGroupName :: GameObject s -> IOGame t s u v String getObjectAsleep :: GameObject s -> IOGame t s u v Bool getObjectSize :: GameObject s -> IOGame t s u v (Double, Double) getObjectPosition :: GameObject s -> IOGame t s u v (Double, Double) getObjectSpeed :: GameObject s -> IOGame t s u v (Double, Double) getObjectAttribute :: GameObject s -> IOGame t s u v s setObjectPosition :: (Double, Double) -> GameObject s -> IOGame t s u v () setObjectAsleep :: Bool -> GameObject s -> IOGame t s u v () setObjectSpeed :: (Double, Double) -> GameObject s -> IOGame t s u v () setObjectCurrentPicture :: Int -> GameObject s -> IOGame t s u v () setObjectAttribute :: s -> GameObject s -> IOGame t s u v () replaceObject :: GameObject s -> (GameObject s -> GameObject s) -> IOGame t s u v () reverseXSpeed :: GameObject s -> IOGame t s u v () reverseYSpeed :: GameObject s -> IOGame t s u v () objectsCollision :: GameObject s -> GameObject s -> IOGame t s u v Bool objectsFutureCollision :: GameObject s -> GameObject s -> IOGame t s u v Bool objectListObjectCollision :: [(GameObject s)] -> GameObject s -> IOGame t s u v Bool objectListObjectFutureCollision :: [(GameObject s)] -> GameObject s -> IOGame t s u v Bool objectTopMapCollision :: GameObject s -> IOGame t s u v Bool objectBottomMapCollision :: GameObject s -> IOGame t s u v Bool objectRightMapCollision :: GameObject s -> IOGame t s u v Bool objectLeftMapCollision :: GameObject s -> IOGame t s u v Bool pointsObjectCollision :: Double -> Double -> Double -> Double -> GameObject s -> IOGame t s u v Bool pointsObjectListCollision :: Double -> Double -> Double -> Double -> [(GameObject s)] -> IOGame t s u v Bool objectTopMapFutureCollision :: GameObject s -> IOGame t s u v Bool objectBottomMapFutureCollision :: GameObject s -> IOGame t s u v Bool objectRightMapFutureCollision :: GameObject s -> IOGame t s u v Bool objectLeftMapFutureCollision :: GameObject s -> IOGame t s u v Bool printOnPrompt :: (Show a) => a -> IOGame t s u v () printOnScreen :: String -> BitmapFont -> (Double, Double) -> Float -> Float -> Float -> IOGame t s u v () printText :: IOGame t s u v () randomFloat :: (Float, Float) -> IOGame t s u v Float randomInt :: (Int, Int) -> IOGame t s u v Int randomDouble :: (Double, Double) -> IOGame t s u v Double showFPS :: BitmapFont -> (Double, Double) -> Float -> Float -> Float -> IOGame t s u v () wait :: Int -> IOGame t s u v () display :: Game t s u v -> IOGame t s u v () -> DisplayCallback type InputConfig t s u v = (Key, KeyEvent, IOGame t s u v ()) data KeyEvent Press :: KeyEvent StillDown :: KeyEvent Release :: KeyEvent funBinding :: [InputConfig t s u v] -> Game t s u v -> IO (KeyBinder, StillDownHandler) data RefreshType Idle :: RefreshType Timer :: Int -> RefreshType setRefresh :: RefreshType -> StillDownHandler -> IO () type Text = (String, BitmapFont, (GLdouble, GLdouble), GLfloat, GLfloat, GLfloat) putGameText :: [Text] -> IO () funInit :: WindowConfig -> GameMap v -> [(ObjectManager s)] -> u -> t -> [InputConfig t s u v] -> IOGame t s u v () -> RefreshType -> FilePictureList -> IO ()