frag 1.1 → 1.1.1
raw patch · 9 files changed
+94/−63 lines, 9 filesdep +randomdep −haskell98dep ~basesetup-changednew-uploader
Dependencies added: random
Dependencies removed: haskell98
Dependency ranges changed: base
Files
- Setup.hs +1/−1
- frag.cabal +80/−51
- src/AFRP.hs +2/−2
- src/BitSet.hs +1/−1
- src/Game.hs +1/−1
- src/Main.hs +2/−2
- src/ObjectBehavior.hs +4/−2
- src/Parser.hs +1/−1
- src/TextureFonts.hs +2/−2
Setup.hs view
@@ -1,3 +1,3 @@ #!/usr/bin/env runhaskell import Distribution.Simple-main = defaultMainWithHooks defaultUserHooks+main = defaultMain
frag.cabal view
@@ -1,65 +1,94 @@ Name: frag-Version: 1.1+Version: 1.1.1 License: GPL License-file: LICENSE-Synopsis: 3-D First Person Shooter (FPS)+Synopsis: A 3-D First Person Shooter Game Description: A fast and basic reimplementation of the Quake III Arena engine in Haskell; supports many Quake III Arena maps. Category: Game Author: Mun Hon Cheong Maintainer: dons@galois.com Homepage: http://haskell.org/haskellwiki/Frag--Build-Depends: base, haskell98, GLUT, OpenGL>=2.0, array Build-Type: Simple Cabal-Version: >= 1.2 Tested-with: GHC==6.8.2-data-files: README, README-leveleg- -- Graphics files- leveleg.bsp, leveleg.cfg, leveleg.med- tga/models/players/klesk/lower_default.skin, tga/models/players/klesk/lower.md3- tga/models/players/klesk/head_default.skin, tga/models/players/klesk/l_red.tga- tga/models/players/klesk/h_red.tga, tga/models/players/klesk/animation.cfg- tga/models/players/klesk/head.md3, tga/models/players/klesk/u_red.tga- tga/models/players/klesk/upper_default.skin, tga/models/players/klesk/upper.md3- tga/models/weapons/railgun.shader, tga/models/weapons/railgun.md3- tga/font.tga, tga/7.tga, tga/3.tga, tga/4.tga, tga/5.tga, tga/2.tga- tga/crosshaira.tga, tga/0.tga, tga/hyphen.tga, tga/9.tga, tga/1.tga, tga/6.tga- tga/tga/models/weapons/railgun4.tga, tga/tga/models/weapons/railgun2.tga- tga/tga/models/weapons/railgun.tga, tga/tga/models/weapons/railgun3.tga- tga/8.tga, tga/textures/gothic_floor/q1metal7_99.tga- tga/textures/gothic_floor/largerblock3b3.tga, tga/textures/gothic_floor/largerblock3b3dim.tga- tga/textures/e7/e7brickfloor01.tga, tga/textures/e7/e7bmtrim.tga- tga/textures/e7/e7bricks01.tga, tga/textures/e7/e7sbrickfloor.tga- tga/textures/e7/e7panelwood.tga, tga/textures/e7/e7swindow.tga- tga/textures/e7/e7panelwood2.tga, tga/textures/organics/dirt2.tga- tga/textures/common/trigger.tga, tga/textures/common/clip.tga- tga/textures/skies/nitesky.tga, tga/textures/gothic_trim/border7.tga- tga/textures/gothic_trim/pitted_rust3.tga, tga/textures/gothic_trim/km_arena1tower4.tga- tga/textures/gothic_trim/wood2.tga, tga/textures/gothic_trim/metalsupport4i_bit.tga- tga/textures/gothic_light/ironcrosslt2_10000.tga, tga/textures/stone/pjrock6.tga- tga/textures/base_support/flat1_1.tga, tga/textures/skin/pjwal2k.tga- tga/textures/gothic_wall/slateroofc.tga, tga/textures/gothic_wall/proto_brik.tga- tga/textures/gothic_wall/oct20c.tga, tga/textures/evil8_floor/e8cretefloor01b.tga- tga/textures/gothic_block/killblock.tga, tga/textures/gothic_block/killblock_j2.tga- tga/textures/gothic_block/blocks15_blue.tga, tga/textures/gothic_block/blocks11b.tga- tga/textures/gothic_block/blocks18d.tga, tga/textures/gothic_block/blocks18b.tga--Library- Hs-source-dirs: src- Build-Depends: base, haskell98, GLUT, OpenGL>=2.0, array- exposed-modules: AFRPAffineSpace, AFRPDiagnostics, AFRPEvent, AFRPForceable, AFRPGeometry,- AFRP, AFRPInternals, AFRPMiscellany, AFRPPoint2, AFRPPoint3, AFRPTask,- AFRPUtilities, AFRPVector2, AFRPVector3, AFRPVectorSpace, BitSet, BSP,- Camera, Collision, Command, Curves, Diagnostics, Frustum, Game, HGL,- IdentityList, MapCfg, Matrix, MD3, ObjectBehavior, Object, Parser,- PhysicalDimensions, Quaternion, Raybox, ReadImage, Render, RenderObject,- TextureFonts, Textures, TGA, Visibility+data-files: README,+ README-leveleg+ -- Graphics files+ leveleg.bsp,+ leveleg.cfg,+ leveleg.med+ tga/models/players/klesk/lower_default.skin,+ tga/models/players/klesk/lower.md3+ tga/models/players/klesk/head_default.skin,+ tga/models/players/klesk/l_red.tga+ tga/models/players/klesk/h_red.tga,+ tga/models/players/klesk/animation.cfg+ tga/models/players/klesk/head.md3,+ tga/models/players/klesk/u_red.tga+ tga/models/players/klesk/upper_default.skin,+ tga/models/players/klesk/upper.md3+ tga/models/weapons/railgun.shader,+ tga/models/weapons/railgun.md3+ tga/font.tga,+ tga/7.tga,+ tga/3.tga,+ tga/4.tga,+ tga/5.tga,+ tga/2.tga+ tga/crosshaira.tga,+ tga/0.tga,+ tga/hyphen.tga,+ tga/9.tga,+ tga/1.tga,+ tga/6.tga+ tga/tga/models/weapons/railgun4.tga,+ tga/tga/models/weapons/railgun2.tga+ tga/tga/models/weapons/railgun.tga,+ tga/tga/models/weapons/railgun3.tga+ tga/8.tga,+ tga/textures/gothic_floor/q1metal7_99.tga+ tga/textures/gothic_floor/largerblock3b3.tga,+ tga/textures/gothic_floor/largerblock3b3dim.tga+ tga/textures/e7/e7brickfloor01.tga, + tga/textures/e7/e7bmtrim.tga+ tga/textures/e7/e7bricks01.tga,+ tga/textures/e7/e7sbrickfloor.tga+ tga/textures/e7/e7panelwood.tga,+ tga/textures/e7/e7swindow.tga+ tga/textures/e7/e7panelwood2.tga,+ tga/textures/organics/dirt2.tga+ tga/textures/common/trigger.tga,+ tga/textures/common/clip.tga+ tga/textures/skies/nitesky.tga,+ tga/textures/gothic_trim/border7.tga+ tga/textures/gothic_trim/pitted_rust3.tga,+ tga/textures/gothic_trim/km_arena1tower4.tga+ tga/textures/gothic_trim/wood2.tga,+ tga/textures/gothic_trim/metalsupport4i_bit.tga+ tga/textures/gothic_light/ironcrosslt2_10000.tga,+ tga/textures/stone/pjrock6.tga+ tga/textures/base_support/flat1_1.tga,+ tga/textures/skin/pjwal2k.tga+ tga/textures/gothic_wall/slateroofc.tga,+ tga/textures/gothic_wall/proto_brik.tga+ tga/textures/gothic_wall/oct20c.tga,+ tga/textures/evil8_floor/e8cretefloor01b.tga+ tga/textures/gothic_block/killblock.tga,+ tga/textures/gothic_block/killblock_j2.tga+ tga/textures/gothic_block/blocks15_blue.tga,+ tga/textures/gothic_block/blocks11b.tga+ tga/textures/gothic_block/blocks18d.tga,+ tga/textures/gothic_block/blocks18b.tga Executable frag- Main-is: Main.hs- Hs-source-dirs: src-- Ghc-options: -O2 -funbox-strict-fields -optl-Wl,-s -fno-glasgow-exts- Extensions: BangPatterns, FunctionalDependencies, FlexibleInstances,- MultiParamTypeClasses, TypeOperators, Rank2Types+ Main-is: Main.hs+ Build-Depends: base>=3, GLUT, OpenGL>=2.0, array, random+ Hs-source-dirs: src+ Ghc-options: -O2 -funbox-strict-fields -fvia-C -optc-O2+ Extensions: BangPatterns,+ FunctionalDependencies,+ FlexibleInstances,+ MultiParamTypeClasses,+ TypeOperators,+ Rank2Types
src/AFRP.hs view
@@ -254,8 +254,8 @@ -- -> (a, [(DTime, Maybe a)]) ) where -import Monad (unless)-import Random (RandomGen(..), Random(), randoms, randomRs)+import Control.Monad (unless)+import System.Random (RandomGen(..), Random(), randoms, randomRs) import Data.IORef import Control.Arrow import AFRPDiagnostics
src/BitSet.hs view
@@ -5,7 +5,7 @@ module BitSet where -import Monad (liftM)+import Control.Monad (liftM) import Data.Array.IO (IOUArray, newArray, writeArray, readArray, getBounds, rangeSize) newtype BitSet = BitSet (IOUArray Int Bool)
src/Game.hs view
@@ -5,7 +5,7 @@ import Collision import Raybox import BSP -import List +import Data.List import IdentityList import Object import Parser
src/Main.hs view
@@ -12,7 +12,7 @@ import Graphics.Rendering.OpenGL import Data.IORef import Data.Maybe-import Monad+import Control.Monad import qualified HGL as HGL import AFRP import AFRPInternals@@ -22,7 +22,7 @@ import Object import BSP import Camera-import System(ExitCode(..), exitWith)+import System.Exit (ExitCode(..), exitWith) import Matrix import MD3 import Data.HashTable
src/ObjectBehavior.hs view
@@ -1,6 +1,8 @@+{-# LANGUAGE BangPatterns #-}+ module ObjectBehavior (aicube, camera) where -import Maybe (fromJust)+import Data.Maybe (fromJust) import AFRP import Camera@@ -13,7 +15,7 @@ ray :: (Double, Double, Double) -> (Double, Double, Double) -> ILKey -> ILKey -> Object-ray (x, y, z) (vx, vy, vz) firedfrom iD+ray (!x, !y, !z) (!vx, !vy, !vz) firedfrom iD = (arr (\ oi -> let clippedPos = oiCollisionPos oi in
src/Parser.hs view
@@ -39,7 +39,7 @@ ) where -import Maybe (isJust)+import Data.Maybe (isJust) import qualified HGL as HGL (Event(..)) import qualified HGL as HGL (Point(..)) import AFRP
src/TextureFonts.hs view
@@ -10,8 +10,8 @@ import Graphics.UI.GLUT import Textures -import Maybe -import Char +import Data.Maybe +import Data.Char import Data.HashTable