Use strict-containers for IntMaps
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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
@@ -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
@@ -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
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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 #-}
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
@@ -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
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 ((&))
|
||||
|
||||
@@ -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 ((&))
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 )
|
||||
|
||||
@@ -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]
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user