Use strict-containers for IntMaps

This commit is contained in:
2022-07-21 15:27:00 +01:00
parent 22787abf8f
commit cf5ec4a261
92 changed files with 103 additions and 98 deletions
+1 -1
View File
@@ -26,7 +26,7 @@ import Control.Lens
import Control.Monad
--import Control.Monad.Parallel
import qualified Data.Text as T
import qualified Data.IntMap as IM
import qualified IntMapHelp as IM
import Graphics.Rendering.OpenGL hiding (color, rotate, scale, translate)
import qualified SDL
import qualified SDL.Mixer as Mix
+2
View File
@@ -22,6 +22,8 @@ description: Description text, TODO link to README.md
dependencies:
- base >= 4.7 && < 5
- containers
- strict-containers
- strict-containers-lens
- unordered-containers
- bitwise-enum
- graphviz
+1 -1
View File
@@ -44,7 +44,7 @@ import Dodge.Base.Wall
import Geometry
import Data.Maybe
import qualified Data.IntMap.Strict as IM
import qualified IntMapHelp as IM
import Control.Lens
import Control.Monad
import StreamingHelp
+1 -1
View File
@@ -5,7 +5,7 @@ module Dodge.Base.Item
--import Dodge.Base.You
--import LensHelp
--
--import qualified Data.IntMap.Strict as IM
--import qualified IntMapHelp as IM
--selectedObject :: World -> Maybe (Either FloorItem Button)
--selectedObject w = lookup (_crInvSel ycr) $ zip [n..] $ _closeObjects w
+1 -1
View File
@@ -17,7 +17,7 @@ import Picture
--import Data.List (sortOn)
--import MonadHelp
import Data.Maybe
import qualified Data.IntMap.Strict as IM
import qualified IntMapHelp as IM
doBeamCombine :: BeamCombineType
-> (Point2,(Point2,Point2,Beam),(Point2,Point2,Beam))
+1 -1
View File
@@ -17,7 +17,7 @@ import Data.Foldable
import Data.Function
import Data.Maybe
import qualified Data.IntSet as IS
import qualified Data.IntMap.Strict as IM
import qualified IntMapHelp as IM
import Control.Lens
import qualified Streaming.Prelude as S
import qualified Data.Graph.Inductive as FGL
+1 -1
View File
@@ -12,7 +12,7 @@ import Geometry
import LensHelp
import StreamingHelp
import qualified Data.IntMap.Strict as IM
import qualified IntMapHelp as IM
import qualified Streaming.Prelude as S
import Data.Maybe
import Dodge.Movement.Turn
+1 -1
View File
@@ -22,7 +22,7 @@ import Data.Map.Merge.Strict
import Control.Monad
import Control.Lens
import Data.Bifunctor
import qualified Data.IntMap.Strict as IM
import qualified IntMapHelp as IM
--import qualified Data.IntSet as IS
import qualified Data.Map.Strict as M
--import Data.Map.Merge.Strict
+1 -1
View File
@@ -32,7 +32,7 @@ import Control.Monad.State
import Control.Monad
import System.Random
import qualified Data.Set as S
import qualified Data.IntMap.Strict as IM
import qualified IntMapHelp as IM
import qualified Data.Map as M
import Foreign.ForeignPtr
import Control.Concurrent
+1 -1
View File
@@ -8,7 +8,7 @@ import Dodge.Creature.ChaseCrit
import Dodge.Item.Equipment
import Dodge.Item.Consumable
import qualified Data.IntMap.Strict as IM
import qualified IntMapHelp as IM
import Control.Lens
flockArmourChaseCrit :: Creature
+1 -1
View File
@@ -7,7 +7,7 @@ import Dodge.Item.Weapon.BulletGuns
import Dodge.Item.Consumable
import Picture
import qualified Data.IntMap.Strict as IM
import qualified IntMapHelp as IM
import Control.Lens
autoCrit :: Creature
+1 -1
View File
@@ -7,7 +7,7 @@ import Geometry
import Control.Monad.Reader
import Control.Lens
import qualified Data.IntMap.Strict as IM
import qualified IntMapHelp as IM
interpWith :: Float -> Point2 -> Point2 -> Point2
interpWith x a b = x *.* a +.+ (1 - x) *.* b
+1 -1
View File
@@ -11,7 +11,7 @@ import Dodge.Item.Equipment
import Dodge.SoundLogic
import Picture
import qualified Data.IntMap.Strict as IM
import qualified IntMapHelp as IM
import Control.Lens
--import System.Random
+1 -1
View File
@@ -4,7 +4,7 @@ import Dodge.Data
import Dodge.Base
import Control.Lens
--import qualified Data.IntMap.Strict as IM
--import qualified IntMapHelp as IM
targetYouLOS :: Creature -> World -> Maybe Creature
{-# INLINE targetYouLOS #-}
+1 -1
View File
@@ -11,7 +11,7 @@ import Dodge.SoundLogic
import Geometry
import LensHelp
import qualified Data.IntMap.Strict as IM
import qualified IntMapHelp as IM
import System.Random
import Control.Monad.State
import Data.Bifunctor
+1 -1
View File
@@ -4,7 +4,7 @@ import Dodge.Creature.Statistics
import Geometry
--import Data.Maybe
--import qualified Data.IntMap.Strict as IM
--import qualified IntMapHelp as IM
import Control.Lens
{- | Creature attempts to moves under its own steam.
The idea is that this may or may not work, depending on the status of the creature.
+1 -1
View File
@@ -11,7 +11,7 @@ import Dodge.Reloading
import Dodge.Item.Location
import Dodge.HeldUse
import qualified Data.IntMap.Strict as IM
import qualified IntMapHelp as IM
import qualified Data.Map.Strict as M
import qualified SDL
--import qualified Data.IntSet as IS
+1 -1
View File
@@ -7,7 +7,7 @@ import Dodge.Default
import Dodge.Item.Weapon.Launcher
import Picture
import qualified Data.IntMap.Strict as IM
import qualified IntMapHelp as IM
import Control.Lens
launcherCrit :: Creature
+1 -1
View File
@@ -7,7 +7,7 @@ import Dodge.Item.Weapon.BulletGuns
import Dodge.Item.Consumable
import Picture
import qualified Data.IntMap.Strict as IM
import qualified IntMapHelp as IM
import Control.Lens
ltAutoCrit :: Creature
+2 -2
View File
@@ -17,7 +17,7 @@ import Sound.Data
import Data.Maybe
import Control.Lens
import qualified Data.IntMap.Strict as IM
import qualified IntMapHelp as IM
import qualified Data.Map.Strict as M
perceptionUpdate
@@ -35,7 +35,7 @@ chaseCritPerceptionUpdate is w =
of attention -} -- TODO delete?
basicAwarenessUpdate :: Creature -> Creature
basicAwarenessUpdate cr = case _cpAttention $ _crPerception cr of
Fixated i -> cr & crPerception . cpAwareness
Fixated i -> cr & crPerception . cpAwareness
%~ (IM.insert i (Cognizant 10000) . IM.mapMaybe decreaseAwareness)
AttentiveTo is -> cr
& crPerception . cpAwareness
+1 -1
View File
@@ -21,7 +21,7 @@ module Dodge.Creature.Perception.Data
)
where
import Control.Lens
import qualified Data.IntMap as IM
import qualified IntMapHelp as IM
data Perception = Perception
{ _cpVigilance :: Vigilance
+1 -1
View File
@@ -7,7 +7,7 @@ import Dodge.Item.Weapon.BulletGuns
import Dodge.Item.Consumable
import Picture
import qualified Data.IntMap.Strict as IM
import qualified IntMapHelp as IM
import Control.Lens
pistolCrit :: Creature
+1 -1
View File
@@ -22,7 +22,7 @@ import Dodge.Zone
import Dodge.Path
import Geometry
import qualified Data.IntMap.Strict as IM
import qualified IntMapHelp as IM
import Control.Lens
import Control.Applicative
import Data.Maybe
+1 -1
View File
@@ -3,7 +3,7 @@ module Dodge.Creature.SetTarget where
import Dodge.Data
import Control.Lens
import qualified Data.IntMap.Strict as IM
import qualified IntMapHelp as IM
{- | Assumes that you are id 0: if creature is cognizant of you, sets you as target -}
targetYouWhenCognizant
:: World
+1 -1
View File
@@ -7,7 +7,7 @@ import Dodge.Item.Weapon.BulletGuns
import Dodge.Item.Consumable
import Picture
import qualified Data.IntMap.Strict as IM
import qualified IntMapHelp as IM
import Control.Lens
spreadGunCrit :: Creature
+2 -2
View File
@@ -8,7 +8,7 @@ import qualified IntMapHelp as IM
import LensHelp
import Data.Maybe
import Data.IntMap.Merge.Strict
import Data.Strict.IntMap.Autogen.Merge.Strict
getCrDexterity :: Creature -> Int
getCrDexterity cr = _dexterity (_crStatistics cr)
@@ -26,7 +26,7 @@ equipmentStrValue itm = case _iyBase $ _itType itm of
_ -> 0
crCurrentEquipment :: Creature -> IM.IntMap Item
crCurrentEquipment cr = merge dropMissing dropMissing (zipWithMatched (\_ _ itm -> itm))
crCurrentEquipment cr = merge dropMissing dropMissing (zipWithMatched (\_ _ itm -> itm))
(_crInvEquipped cr)
(_crInv cr)
+1 -1
View File
@@ -31,7 +31,7 @@ import SameConstr
import Data.List (find)
import Data.Maybe
--import qualified Data.IntMap.Strict as IM
--import qualified IntMapHelp as IM
import Control.Lens
crIsReloading :: Creature -> Bool
+1 -1
View File
@@ -147,7 +147,7 @@ import System.Random
import Data.Graph.Inductive
import qualified Data.Set as S
import qualified Data.IntSet as IS
import qualified Data.IntMap.Strict as IM
import qualified IntMapHelp as IM
import qualified Data.Map.Strict as M
import qualified Data.Text as T
import SDL (Scancode, MouseButton)
+1 -1
View File
@@ -16,7 +16,7 @@ import Control.Monad.State
import System.Random
import Data.Graph.Inductive
import qualified Data.Set as S
import qualified Data.IntMap.Strict as IM
import qualified IntMapHelp as IM
import qualified Data.Map as M
import qualified SDL.Mixer as Mix
import SDL (Scancode, MouseButton)
+1 -2
View File
@@ -4,7 +4,6 @@ module Dodge.Data.Item
( module Dodge.Data.Item
, module Dodge.Data.Item.Misc
) where
import Geometry.Data
import Control.Lens
import Dodge.Data.Item.Misc
import Dodge.Data.Item.Consumption
@@ -17,7 +16,7 @@ import Dodge.Combine.Data
import Dodge.Item.Attachment.Data
import Color
import qualified Data.IntMap.Strict as IM
import qualified IntMapHelp as IM
data Item = Item
{ _itConsumption :: ItemConsumption
, _itUse :: ItemUse
+1 -1
View File
@@ -3,7 +3,7 @@
module Dodge.Data.Zoning where
import Geometry.Data
import Control.Lens
import qualified Data.IntMap.Strict as IM
import qualified IntMapHelp as IM
import StreamingHelp
data Zoning t a = Zoning
+3 -3
View File
@@ -4,7 +4,7 @@ import Dodge.Creature.Picture
import Geometry.Data
import Picture
import qualified Data.IntMap.Strict as IM
import qualified IntMapHelp as IM
import qualified Data.Map.Strict as M
import Control.Lens
@@ -71,8 +71,8 @@ defaultInvSize = 20
defaultPerceptionState :: Perception
defaultPerceptionState = Perception
{ _cpVigilance = Lethargic
, _cpAttention = AttentiveTo IM.empty
, _cpAwareness = IM.empty
, _cpAttention = AttentiveTo mempty
, _cpAwareness = mempty
, _cpVision = defaultVision
, _cpAudition = defaultAudition
}
+1 -1
View File
@@ -3,7 +3,7 @@ import Data.Tile
import Geometry.Data
--import Dodge.LevelGen.Data
import Dodge.Data
import qualified Data.IntMap.Strict as IM
import qualified IntMapHelp as IM
import qualified Data.Set as S
defaultRoom :: Room
+1 -1
View File
@@ -12,7 +12,7 @@ import Geometry.Data
import Geometry.Polygon
import System.Random
import qualified Data.IntMap.Strict as IM
import qualified IntMapHelp as IM
import qualified Data.Map as M
import qualified Data.Set as S
import Data.Graph.Inductive.Graph hiding ((&))
+1 -1
View File
@@ -15,7 +15,7 @@ import Geometry.Polygon
import Control.Lens
import System.Random
import qualified Data.IntMap.Strict as IM
import qualified IntMapHelp as IM
import qualified Data.Map as M
import qualified Data.Set as S
import Data.Graph.Inductive.Graph hiding ((&))
+2 -2
View File
@@ -1,8 +1,8 @@
module Dodge.Equipment where
import Dodge.Data
import qualified Data.IntMap.Strict as IM
import Data.IntMap.Merge.Strict
import qualified IntMapHelp as IM
import Data.Strict.IntMap.Autogen.Merge.Strict
getCrEquipment :: Creature -> IM.IntMap Item
getCrEquipment cr = merge dropMissing dropMissing (zipWithMatched $ \_ _ -> id)
+1 -1
View File
@@ -20,7 +20,7 @@ import LensHelp
--import Color
--import Data.List
import qualified Data.IntMap.Strict as IM
import qualified IntMapHelp as IM
import Data.Maybe
import qualified Data.Set as S
import SDL
+1 -1
View File
@@ -8,7 +8,7 @@ import Dodge.Data
--import Picture
--import Geometry
--
--import qualified Data.IntMap.Strict as IM
--import qualified IntMapHelp as IM
--import Control.Lens
testEvent :: World -> World
testEvent w = w
+1 -1
View File
@@ -35,7 +35,7 @@ import RandomHelp
import Data.List (intersperse)
--import Data.Sequence hiding (zipWith)
--import Data.Maybe
--import qualified Data.IntMap.Strict as IM
--import qualified IntMapHelp as IM
initialAnoTree :: Annotation
initialAnoTree = OnwardList
+1 -1
View File
@@ -13,7 +13,7 @@ import Geometry.Data
import System.Random
import qualified Data.Set as S
import qualified Data.IntMap.Strict as IM
import qualified IntMapHelp as IM
import qualified Data.Map as M
initialWorld :: World
+1 -1
View File
@@ -7,7 +7,7 @@ import Dodge.Base.You
import Data.Maybe
import Control.Lens
import qualified Data.IntMap.Strict as IM
import qualified IntMapHelp as IM
putItemInInvID :: Int -> Int -> World -> (Maybe Int,World)
putItemInInvID cid flid w = fromMaybe (Nothing,w) $ do
+1 -1
View File
@@ -9,7 +9,7 @@ import Dodge.Default
import Control.Lens hiding ((|>),(<|))
import Data.Sequence
import Data.Maybe
import qualified Data.IntMap.Strict as IM
import qualified IntMapHelp as IM
charFiringStratI
+1 -1
View File
@@ -10,7 +10,7 @@ import Dodge.SoundLogic
--import Data.Maybe
import Control.Lens
import qualified Data.IntMap.Strict as IM
import qualified IntMapHelp as IM
medkit :: Int -> Item
medkit i = defaultConsumable
+1 -1
View File
@@ -12,7 +12,7 @@ import ShapePicture
import Dodge.Item.Equipment.Shape
import Dodge.Item.Draw.SPic
import qualified Data.IntMap.Strict as IM
import qualified IntMapHelp as IM
import Control.Lens
itemEquipPict :: Creature -> Item -> SPic
+1 -1
View File
@@ -38,7 +38,7 @@ import LensHelp
--import Data.List (sortOn)
--import System.Random
--import Data.Tuple
import qualified Data.IntMap.Strict as IM
import qualified IntMapHelp as IM
import qualified Data.Map.Strict as M
--import Control.Monad.State
+1 -1
View File
@@ -8,7 +8,7 @@ import Dodge.Default
import Geometry
import Dodge.Item.Location
import qualified Data.IntMap.Strict as IM
import qualified IntMapHelp as IM
import Control.Lens
setRemoteBombScope :: Int -> Prop -> World -> World
+1 -1
View File
@@ -16,7 +16,7 @@ import LensHelp
--import Data.Bifunctor
--import System.Random
--import Data.Tuple
--import qualified Data.IntMap.Strict as IM
--import qualified IntMapHelp as IM
sonicGun :: Item
sonicGun = defaultAutoGun
+1 -1
View File
@@ -6,7 +6,7 @@ import Dodge.Data
import Geometry.Data
import Control.Lens
--import qualified Data.IntMap.Strict as IM
--import qualified IntMapHelp as IM
useTargetPos
:: (Maybe Point2 -> Creature -> World -> World)
-> Creature
+1 -1
View File
@@ -83,7 +83,7 @@ import LensHelp
--import Control.Lens
import Data.Maybe
--import qualified Data.IntMap.Strict as IM
--import qualified IntMapHelp as IM
import Data.Foldable
type ChainEffect
+1 -1
View File
@@ -11,7 +11,7 @@ import qualified IntMapHelp as IM
updateLampoid :: Creature -> World -> World
updateLampoid cr w = case cr ^?! crType . lampLSID of
Nothing -> let i = IM.newKey (_lightSources w)
in w & lightSources . at i ?~ lsColPosID lcol (addZ h cpos) i
in w & lightSources %~ IM.insert i (lsColPosID lcol (addZ h cpos) i)
Just i
| _crHP cr < 0 -> w
& explosionFlashAt cpos
+1 -1
View File
@@ -18,7 +18,7 @@ import System.Directory
import System.Random
import Control.Lens
import Control.Monad.State
import qualified Data.IntMap.Strict as IM
import qualified IntMapHelp as IM
import qualified Data.Text.IO as TIO
generateWorldFromSeed :: Int -> IO World
+1 -1
View File
@@ -14,7 +14,7 @@ import Control.Lens
--import Control.Monad.State
--import System.Random
import Data.Maybe
--import qualified Data.IntMap.Strict as IM
--import qualified IntMapHelp as IM
--import Data.Bifunctor
+1 -1
View File
@@ -12,7 +12,7 @@ import Color
import LensHelp
--import Data.Tree
import qualified Data.IntMap.Strict as IM
import qualified IntMapHelp as IM
import qualified Data.Map.Strict as M
--import Control.Lens
+1 -1
View File
@@ -12,7 +12,7 @@ import ShapePicture
import Shape
import Geometry
import qualified Data.IntMap.Strict as IM
import qualified IntMapHelp as IM
import Control.Lens
makeButton
:: Color
+1 -1
View File
@@ -8,7 +8,7 @@ import Dodge.SoundLogic
import Geometry
import Dodge.Base
import qualified Data.IntMap.Strict as IM
import qualified IntMapHelp as IM
basicMachineUpdate :: (Machine -> World -> World) -> Machine -> World -> World
basicMachineUpdate f mc = basicMachineApplyDamage mc . f mc
+1 -1
View File
@@ -5,7 +5,7 @@ import Dodge.WorldEvent.Explosion
import LensHelp
import Data.Maybe
import qualified Data.IntMap.Strict as IM
import qualified IntMapHelp as IM
destroyMachine :: Machine -> World -> World
destroyMachine mc = (machines %~ IM.delete (_mcID mc))
+1 -1
View File
@@ -21,7 +21,7 @@ import Data.Foldable
import Control.Lens
import Data.Maybe
import Data.List
--import qualified Data.IntMap.Strict as IM
--import qualified IntMapHelp as IM
import Data.Graph.Inductive hiding ((&))
import qualified Data.Set as Set
import Data.Set (Set)
+1 -1
View File
@@ -26,7 +26,7 @@ import Geometry
import Control.Lens
import Data.Maybe
import Data.List
--import qualified Data.IntMap.Strict as IM
--import qualified IntMapHelp as IM
import Data.Graph.Inductive hiding ((&))
import Data.Set (Set)
import qualified Data.Set as Set
+1 -1
View File
@@ -13,7 +13,7 @@ import Dodge.Creature.Test
import Dodge.LevelGen.Switch
import Control.Lens
import qualified Data.IntMap.Strict as IM
import qualified IntMapHelp as IM
putDoubleDoor :: EdgeObstacle -> Wall -> (World -> Bool) -> Point2 -> Point2 -> Float -> Placement
putDoubleDoor eo wl cond a b speed
@@ -1,7 +1,7 @@
module Dodge.Placement.Instance.LightSource.Flicker where
import Dodge.LevelGen.Data
import Dodge.Data
import qualified Data.IntMap.Strict as IM
import qualified IntMapHelp as IM
import Data.Maybe
import Control.Lens
import System.Random
+1 -1
View File
@@ -5,7 +5,7 @@ import Color
import Geometry
import LensHelp
import qualified Data.IntMap.Strict as IM
import qualified IntMapHelp as IM
import qualified Streaming.Prelude as S
aRadarPulse :: Object -> Creature -> World -> World
+1 -1
View File
@@ -21,7 +21,7 @@ import ListHelp
import qualified Data.Vector as V
--import Data.Foldable
import Data.Maybe
import qualified Data.IntMap.Strict as IM
import qualified IntMapHelp as IM
import qualified Data.Map.Strict as M
--import qualified Data.Set as S
--import qualified Data.IntSet as IS
+1 -1
View File
@@ -6,7 +6,7 @@ import Dodge.Data
import Geometry
import Data.Maybe
import qualified Data.IntMap.Lazy as IM
import qualified IntMapHelp as IM
lightsToRender :: Configuration -> World -> [(Point3,Float,Point3)]
lightsToRender cfig w = mapMaybe getLS (IM.elems $ _lightSources w)
+1 -1
View File
@@ -39,7 +39,7 @@ import ShortShow
import Polyhedra
import StreamingHelp
import qualified Data.IntMap.Strict as IM -- Lazy?
import qualified IntMapHelp as IM -- Lazy?
import qualified Data.Map.Strict as M
import Control.Lens
import Data.Maybe
+1 -1
View File
@@ -28,7 +28,7 @@ import Geometry.ConvexPoly
--import Dodge.Base.Collide
--import Data.Foldable
import qualified Data.IntMap.Strict as IM -- Lazy?
import qualified IntMapHelp as IM -- Lazy?
import qualified Data.Map.Strict as M
--import qualified Data.Set as Set
import Control.Lens
+1 -1
View File
@@ -12,7 +12,7 @@ import Control.Lens
import qualified Control.Foldl as L
import qualified Streaming.Prelude as S
--import Data.List
--import qualified Data.IntMap.Strict as IM
--import qualified IntMapHelp as IM
wallsToDraw
:: World
-> ( [((Point2,Point2),Point4)] ,[((Point2,Point2),Point4)], SPic )
+1 -1
View File
@@ -14,7 +14,7 @@ import Geometry
import Picture
--import Control.Lens
import qualified Data.IntMap.Strict as IM
import qualified IntMapHelp as IM
{- | A passage with a switch that opens forward access while closing backwards access. -}
airlock :: RandomGen g => State g Room
airlock = takeOne [airlock0,airlock90,airlockCrystal,airlockZ]
+1 -1
View File
@@ -10,7 +10,7 @@ import Dodge.Placement.Instance
import Color
import Data.Maybe
import qualified Data.IntMap.Strict as IM
import qualified IntMapHelp as IM
--import Control.Lens
door :: Room
+1 -1
View File
@@ -30,7 +30,7 @@ import LensHelp
import qualified Data.Set as S
import Data.Maybe
--import Data.Tree
import qualified Data.IntMap as IM
import qualified IntMapHelp as IM
twinSlowDoorRoom
:: Float -- ^ Half width
+1 -1
View File
@@ -34,7 +34,7 @@ import Data.Tile
import LensHelp
import qualified Data.Set as S
import qualified Data.IntMap.Strict as IM
import qualified IntMapHelp as IM
--import Control.Lens
-- This will need a cleanup, but it might change a bit first
{- A simple rectangular room with a light in the center.
+1 -1
View File
@@ -31,7 +31,7 @@ import LensHelp
--import Data.Maybe
--import Data.Tree
--import qualified Data.IntMap.Strict as IM
--import qualified IntMapHelp as IM
powerFakeout' :: RandomGen g => State g (MetaTree Room String)
powerFakeout' = tToBTree "powerFakeout'" <$> powerFakeout
+1 -1
View File
@@ -5,7 +5,7 @@ module Dodge.SoundLogic.LoadSound
--import Sound.Data
import Dodge.SoundLogic.ExternallyGeneratedSounds
import qualified Data.IntMap.Strict as IM
import qualified IntMapHelp as IM
import qualified SDL.Mixer as Mix
loadSound :: (Int,String) -> IO (Int, Mix.Chunk)
+1 -1
View File
@@ -12,7 +12,7 @@ import Geometry
import LensHelp
import Color
import qualified Data.IntMap.Strict as IM
import qualified IntMapHelp as IM
import Control.Monad.State
import System.Random
+1 -1
View File
@@ -14,7 +14,7 @@ import Data.Char
import Data.Maybe
import Data.Foldable
import qualified Data.Map.Strict as M
import qualified Data.IntMap.Strict as IM
import qualified IntMapHelp as IM
import qualified Data.Text as T
--import Text.Read
+2 -2
View File
@@ -26,11 +26,11 @@ import Dodge.ArcStep
--import Dodge.Base.Collide
--import Shape
--import qualified Data.IntMap.Strict as IM
--import qualified IntMapHelp as IM
--import Data.List (sortOn)
import MonadHelp
import Data.Maybe
--import qualified Data.IntMap.Strict as IM
--import qualified IntMapHelp as IM
aTeslaArcAt :: Color -> [ArcStep] -> Particle
aTeslaArcAt col thearc = PtTeslaArc
+1 -1
View File
@@ -8,7 +8,7 @@ import Shape
import Data.Maybe
import Data.List (sortOn)
import qualified Data.IntMap.Strict as IM
import qualified IntMapHelp as IM
defaultArcStep :: RandomGen g => ItemParams -> World -> ArcStep
-> State g (Maybe ArcStep)
+1 -1
View File
@@ -36,7 +36,7 @@ import FoldableHelp
import Data.List
import Data.Maybe
import qualified Data.IntMap.Strict as IM
import qualified IntMapHelp as IM
import qualified Data.Map.Strict as M
import Control.Applicative
import qualified Streaming.Prelude as S
+1 -1
View File
@@ -25,7 +25,7 @@ import qualified Data.Map.Strict as M
import Data.Maybe
import Control.Monad
import qualified Data.Set as Set
import qualified Data.IntMap.Strict as IM
import qualified IntMapHelp as IM
import qualified SDL
--import Data.Monoid
--import Data.Semigroup
+1 -1
View File
@@ -2,7 +2,7 @@ module Dodge.Update.WallDamage where
import Dodge.Wall.Damage
import Dodge.Data
import qualified Data.IntMap.Strict as IM
import qualified IntMapHelp as IM
import Control.Lens
import Data.Maybe
+1 -1
View File
@@ -6,7 +6,7 @@ import Dodge.Data
import Dodge.Wall.Zone
import Control.Lens
import qualified Data.IntMap.Strict as IM
import qualified IntMapHelp as IM
import qualified Data.IntSet as IS
deleteWallID :: Int -> World -> World
+1 -1
View File
@@ -14,7 +14,7 @@ import Dodge.Wall.Zone
import Data.Maybe
import Control.Lens
import qualified Data.IntMap.Strict as IM
import qualified IntMapHelp as IM
moveWallIDUnsafe :: Int -> (Point2,Point2) -> World -> World
moveWallIDUnsafe wlid wlline w = case w ^? walls . ix wlid of
+1 -1
View File
@@ -3,7 +3,7 @@ module Dodge.Wall.Zone
import Dodge.Data
import Dodge.Zone
import qualified Data.IntMap.Strict as IM
import qualified IntMapHelp as IM
import Control.Lens
--import Data.Foldable
--import Streaming
+1 -1
View File
@@ -16,7 +16,7 @@ import Data.Monoid
import Data.Maybe
import Data.Function
import Control.Lens
--import qualified Data.IntMap.Strict as IM
--import qualified IntMapHelp as IM
import qualified Streaming.Prelude as S
+1 -1
View File
@@ -9,7 +9,7 @@ import Shape
import Color
import Dodge.Room.Foreground
import qualified Data.IntMap.Strict as IM
import qualified IntMapHelp as IM
floorWire :: Point2 -> Point2 -> ForegroundShape
floorWire a b = defaultForeground
+1 -1
View File
@@ -13,7 +13,7 @@ import Picture
import LensHelp
--import Data.Foldable
import qualified Data.IntMap.Strict as IM
import qualified IntMapHelp as IM
import qualified Streaming.Prelude as S
-- currently very effective against walls
makeShockwaveAt
+1 -1
View File
@@ -4,7 +4,7 @@ module Dodge.Zone.Update
import Dodge.Data.Zoning
import StreamingHelp
import qualified Streaming.Prelude as S
import qualified Data.IntMap.Strict as IM
import qualified IntMapHelp as IM
import Geometry
import LensHelp
+4 -2
View File
@@ -1,5 +1,6 @@
{-# OPTIONS_GHC -Wno-unused-imports #-}
module IntMapHelp
( module Data.IntMap.Strict
( module Data.Strict.IntMap
, newKey
, insertNewKey
, insertWithNewKeys
@@ -9,7 +10,8 @@ module IntMapHelp
) where
import LensHelp
--import Data.List hiding (foldr,insert)
import Data.IntMap.Strict
import Data.Strict.IntMap
import Data.Strict.Containers.Lens
{- | Find a key value one higher than any key in the map, or zero if the map is
- empty -}
newKey :: IntMap a -> Int
+1 -1
View File
@@ -1,7 +1,7 @@
{-# LANGUAGE TupleSections #-}
module Multiset where
import qualified Data.Map.Strict as M
import qualified Data.IntMap.Strict as IM
import qualified IntMapHelp as IM
import qualified Data.IntSet as IS
import Control.Monad
+1 -1
View File
@@ -2,7 +2,7 @@ module Music
( MusicData (..)
) where
import qualified SDL.Mixer as Mix
import qualified Data.IntMap.Strict as IM
import qualified IntMapHelp as IM
newtype MusicData = MusicData
{ _loadedMusic :: IM.IntMap Mix.Music
+1 -1
View File
@@ -24,7 +24,7 @@ import Sound.Data
import qualified SDL.Mixer as Mix
import Data.Maybe
import qualified Data.IntMap.Strict as IM
import qualified IntMapHelp as IM
import qualified Data.Map as M
import qualified Streaming.Prelude as S
import Control.Monad
+1 -1
View File
@@ -2,7 +2,7 @@
module Sound.Data
where
import qualified SDL.Mixer as Mix
import qualified Data.IntMap.Strict as IM
import qualified IntMapHelp as IM
--import qualified Data.Map.Strict as M
import Control.Lens
import Geometry.Data
+2
View File
@@ -40,6 +40,8 @@ extra-deps:
#- SDL-0.6.7.0@sha256:9d6ba75c0cab575ec38468c8277803983e985f9622437aeca6a53e6a7337a7d5,2045
- sdl2-mixer-1.2.0.0@sha256:6a6b5a46c035c9e77eaf9c244e45de9e4a9b9a110890cfeeb9fa72faa2419cef,4497
- repa-3.4.1.5@sha256:4d94845e66d668345130f75f5de8f7c69139b91495c8c4b5a825014e8985e2fd,3562
- strict-containers-0.1@sha256:d751696a8a74e368cf778cf98410b43fcd192d68febd4c691faaac1d6c3ab63f,10591
- strict-containers-lens-0.1@sha256:97c0e68e2e23578074d41fa45690a9ff7b1d47057ea6635d863af99f0daa2f9d,1103
#- repa-3.4.1.4@sha256:5a99bde69fe96a18d70aae23f47c8f719b1134558dca3ee5a7c15423b68a132e,3323
#- sdl2-mixer-1.1.0@sha256:c809aecd91ebf9c759af66eebaa4f45f766f2603c13a73412abfd0bd1e02071a,3067
# # for threadscope