Use strict-containers for IntMaps
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user