Cleanup, remove jetpack

This commit is contained in:
2024-10-02 18:23:49 +01:00
parent bac57a702d
commit effd89dc78
11 changed files with 120 additions and 212 deletions
+1 -10
View File
@@ -1,10 +1 @@
/home/justin/Haskell/loop/src/Dodge/LightSource/Torch.hs:3:1-12: warning: [-Wunused-imports] All good (604 modules, at 18:23:45)
The import of Color is redundant
|
3 | import Color
| ^^^^^^^^^^^^
/home/justin/Haskell/loop/src/Dodge/LightSource/Torch.hs:4:1-29: warning: [-Wunused-imports]
The import of Dodge.WorldEvent.Flash is redundant
|
4 | import Dodge.WorldEvent.Flash
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-1
View File
@@ -280,7 +280,6 @@ testInventory =
stackedInventory :: [Item] stackedInventory :: [Item]
stackedInventory = stackedInventory =
[ torch [ torch
, torch
, remoteScreen , remoteScreen
, megaShellMag , megaShellMag
, targetingScope TARGETLASER , targetingScope TARGETLASER
+85 -149
View File
@@ -3,13 +3,6 @@ module Dodge.Creature.State (
doDamage, doDamage,
) where ) where
import Dodge.WorldEvent.Flash
import Dodge.Data.DoubleTree
import Dodge.Item.HeldOffset
import Dodge.DoubleTree
import Dodge.Data.ComposedItem
import qualified Quaternion as Q
import Dodge.Item.Grammar
import qualified Data.Map.Strict as M import qualified Data.Map.Strict as M
import Data.Maybe import Data.Maybe
import Data.Monoid import Data.Monoid
@@ -21,24 +14,31 @@ import Dodge.Creature.Impulse.Movement
import Dodge.Creature.State.WalkCycle import Dodge.Creature.State.WalkCycle
import Dodge.Creature.Test import Dodge.Creature.Test
import Dodge.Damage import Dodge.Damage
import Dodge.Data.ComposedItem
import Dodge.Data.DoubleTree
import Dodge.Data.World import Dodge.Data.World
import Dodge.EnergyBall import Dodge.DoubleTree
import Dodge.Euse import Dodge.Euse
import Dodge.Hammer import Dodge.Hammer
import Dodge.ItEffect import Dodge.ItEffect
import Dodge.Item.Grammar
import Dodge.Item.HeldOffset
import Dodge.Prop.Gib import Dodge.Prop.Gib
import Dodge.SoundLogic import Dodge.SoundLogic
import Dodge.WorldEvent.Flash
import Dodge.Zoning.Creature import Dodge.Zoning.Creature
import FoldableHelp import FoldableHelp
import Geometry import Geometry
import qualified IntMapHelp as IM import qualified IntMapHelp as IM
import LensHelp import LensHelp
import Picture import Picture
import qualified Quaternion as Q
import RandomHelp import RandomHelp
import qualified SDL import qualified SDL
import Shape import Shape
import ShapePicture import ShapePicture
-- this can almost certainly be made more efficient
foldCr :: foldCr ::
[Creature -> World -> World] -> [Creature -> World -> World] ->
Creature -> Creature ->
@@ -68,28 +68,13 @@ stateUpdate f =
, updateInv -- upInv must be called before invSideEff 22.05.23 , updateInv -- upInv must be called before invSideEff 22.05.23
, invSideEff , invSideEff
, equipmentEffects , equipmentEffects
-- , heldItemEffects
-- , heldAimEffects
] ]
--heldItemEffects :: Creature -> World -> World
--heldItemEffects _ = id
--heldAimEffects :: Creature -> World -> World
--heldAimEffects cr = fromMaybe id $ do
-- guard (crIsAiming cr)
-- ipos <- cr ^? crManipulation . manObject . inInventory . ispItem
-- itm <- cr ^? crInv . ix ipos
-- f <- itm ^? itEffect . ieWhileAiming
-- return $ doInvEffect f itm cr
checkDeath :: Creature -> World -> World checkDeath :: Creature -> World -> World
checkDeath cr w checkDeath cr w
| _crHP cr > 0 = | _crHP cr > 0 = w
w
& cWorld . lWorld . creatures . ix (_crID cr) . crState . csDamage .~ [] & cWorld . lWorld . creatures . ix (_crID cr) . crState . csDamage .~ []
| otherwise = | otherwise = w
w
-- & creatures . at (_crID cr) .~ Nothing -- & creatures . at (_crID cr) .~ Nothing
& dropByState cr & dropByState cr
& removecr & removecr
@@ -104,58 +89,25 @@ checkDeath cr w
| otherwise = cWorld . lWorld . creatures . at (_crID cr) .~ Nothing | otherwise = cWorld . lWorld . creatures . at (_crID cr) .~ Nothing
corpseOrGib :: Creature -> World -> World corpseOrGib :: Creature -> World -> World
corpseOrGib cr w = case maxDamageType (_csDamage (_crState cr)) of corpseOrGib cr = case maxDamageType (_csDamage (_crState cr)) of
Just (FLAMING, _) -> w & plNew (cWorld . lWorld . corpses) cpID (thecorpse & cpSPic %~ scorchSPic) Just (FLAMING, _) -> plNew (cWorld . lWorld . corpses) cpID (thecorpse & cpSPic %~ scorchSPic)
Just (ELECTRICAL, _) -> w & plNew (cWorld . lWorld . corpses) cpID thecorpse Just (ELECTRICAL, _) -> plNew (cWorld . lWorld . corpses) cpID thecorpse
Just (POISONDAM, _) -> w & plNew (cWorld . lWorld . corpses) cpID (thecorpse & cpSPic %~ poisonSPic) Just (POISONDAM, _) -> plNew (cWorld . lWorld . corpses) cpID (thecorpse & cpSPic %~ poisonSPic)
_ _ | _crPastDamage cr > 200 -> addCrGibs cr
| _crPastDamage cr > 200 -> _ -> plNew (cWorld . lWorld . corpses) cpID thecorpse
w & addCrGibs cr
& bloodPuddleAt cpos
& bloodPuddleAt cpos
& bloodPuddleAt cpos
_ ->
w
& bloodPuddleAt cpos
& bloodPuddleAt cpos
& plNew (cWorld . lWorld . corpses) cpID thecorpse
where where
cpos = _crPos cr
thecorpse = makeDefaultCorpse cr thecorpse = makeDefaultCorpse cr
scorchSPic :: SPic -> SPic scorchSPic :: SPic -> SPic
scorchSPic = scorchSPic = over _1 $ overColSH (mixColors 0.9 0.1 black . normalizeColor)
over _1 $
overColSH (mixColors 0.9 0.1 black . normalizeColor)
poisonSPic :: SPic -> SPic poisonSPic :: SPic -> SPic
poisonSPic = poisonSPic = over _1 $ overColSH (mixColors 0.5 0.5 green . normalizeColor)
over _1 $
overColSH (mixColors 0.5 0.5 green . normalizeColor)
--scorchSPic :: World -> SPic -> SPic
--scorchSPic w sp = evalState (scorchSPic' sp) (_randGen w)
--
--scorchSPic' :: SPic -> State StdGen SPic
--scorchSPic' = _1 $ overColSHM $ \col -> takeOne [col,black]
---- (return . mixColorsLinear 0.9 0.1 black)
bloodPuddleAt :: Point2 -> World -> World
bloodPuddleAt p w =
w
& snd
. plNewID
(cWorld . lWorld . decorations)
(color (dark $ dark red) . setDepth 01 . uncurryV translate (p +.+ q) $ circleSolid 10)
& randGen .~ g
where
(q, g) = randInCirc 10 & runState $ _randGen w
internalHammerUpdate :: Creature -> World -> World internalHammerUpdate :: Creature -> World -> World
internalHammerUpdate cr = internalHammerUpdate cr =
cWorld . lWorld . creatures . ix (_crID cr) cWorld . lWorld . creatures . ix (_crID cr)
%~ ( (crHammerPosition %~ moveHammerUp) %~ ( (crHammerPosition %~ moveHammerUp)
-- . stepReloading
. updateMovement . updateMovement
) )
@@ -169,10 +121,7 @@ dropByState cr w = foldr (dropItem cr) w $ case cr ^. crState . csDropsOnDeath o
DropAmount n -> take n $ evalState (shuffle $ IM.keys $ _crInv cr) (_randGen w) DropAmount n -> take n $ evalState (shuffle $ IM.keys $ _crInv cr) (_randGen w)
doDamage :: Creature -> World -> World doDamage :: Creature -> World -> World
doDamage cr w = doDamage cr = applyPastDamages cr . applyCreatureDamage dams cr
w
& applyPastDamages cr
& applyCreatureDamage dams cr
where where
dams = _csDamage $ _crState cr dams = _csDamage $ _crState cr
@@ -194,29 +143,7 @@ applyPastDamages cr w
| otherwise = w | otherwise = w
movementSideEff :: Creature -> World -> World movementSideEff :: Creature -> World -> World
movementSideEff cr w movementSideEff = footstepSideEffect
| hasJetPack = case cr ^? crStance . carriage of
Just (Boosting v) ->
w
& randGen .~ g
& makeFlamelet
(oldPos +.+ (_crRad cr + 3) *.* unitVectorAtAngle (_crDir cr + pi))
20
(momentum +.+ 1 *.* rotateV randDir (vInverse v))
1
20
_ -> w
| otherwise = footstepSideEffect cr w
where
hasJetPack = any (\it -> it ^? itType == Just (EQUIP JETPACK)) $ _crInv cr
oldPos = _crOldPos cr
momentum' = 0.97 *.* (_crPos cr -.- _crOldPos cr)
momentum''
| magV momentum' > 3 = 3 *.* normalizeV momentum'
| otherwise = momentum'
momentum = momentum'' +.+ 0.01 *.* unitVectorAtAngle randAng
(randDir, g) = randomR (-0.5, 0.5) $ _randGen w
(randAng, _) = randomR (0, 2 * pi) $ _randGen w
useUpdate :: ItemUse -> ItemUse useUpdate :: ItemUse -> ItemUse
useUpdate = useUpdate =
@@ -242,8 +169,9 @@ equipmentEffects cr = alaf Endo foldMap (useEquipment cr) (IM.keys $ _crInvEquip
-- a loop going over all inventory items -- a loop going over all inventory items
invSideEff :: Creature -> World -> World invSideEff :: Creature -> World -> World
invSideEff cr = alaf Endo foldMap f (_crInv cr) invSideEff cr =
. updateRootItem cr alaf Endo foldMap f (_crInv cr)
. updateRootItem cr
where where
-- be careful with side effects that affect creature targeting -- be careful with side effects that affect creature targeting
f it = f it =
@@ -257,22 +185,25 @@ updateRootItem cr = fromMaybe id $ do
return $ updateRootItem' itmtree cr return $ updateRootItem' itmtree cr
-- need to check rotation -- need to check rotation
chainLinkOrientation chainLinkOrientation ::
:: Maybe (Point3, Q.Quaternion Float) Maybe (Point3, Q.Quaternion Float) ->
-> Item Item ->
-> ItemLink ItemLink ->
-> Item Item ->
-> Maybe (Point3,Q.Quaternion Float) Maybe (Point3, Q.Quaternion Float)
chainLinkOrientation mo par (ILink lt f) child = do chainLinkOrientation mo par (ILink lt f) child = do
(p,q) <- mo (p, q) <- mo
(p1,q1) <- f par lt child (p1, q1) <- f par lt child
return (p + Q.rotate q1 p1, q * q1) return (p + Q.rotate q1 p1, q * q1)
updateRootItem' :: LabelDoubleTree ItemLink Item -> Creature -> World -> World updateRootItem' :: LabelDoubleTree ItemLink Item -> Creature -> World -> World
updateRootItem' itmtree cr = ldtPropagateFold chainLinkOrientation chainLinkOrientation updateRootItem' itmtree cr =
(updateItemWithOrientation cr) ldtPropagateFold
(Just (heldItemRelativeOrient (_ldtValue itmtree) cr (0,Q.qID))) chainLinkOrientation
itmtree chainLinkOrientation
(updateItemWithOrientation cr)
(Just (heldItemRelativeOrient (_ldtValue itmtree) cr (0, Q.qID)))
itmtree
updateItemWithOrientation :: Creature -> Maybe (Point3, Q.Quaternion Float) -> Item -> World -> World updateItemWithOrientation :: Creature -> Maybe (Point3, Q.Quaternion Float) -> Item -> World -> World
updateItemWithOrientation cr m itm = case _itType itm of updateItemWithOrientation cr m itm = case _itType itm of
@@ -281,7 +212,7 @@ updateItemWithOrientation cr m itm = case _itType itm of
testtorch :: Creature -> Maybe (Point3, Q.Quaternion Float) -> World -> World testtorch :: Creature -> Maybe (Point3, Q.Quaternion Float) -> World -> World
testtorch cr m = fromMaybe id $ do testtorch cr m = fromMaybe id $ do
(pos,q) <- m (pos, q) <- m
let d = _crDir cr + argV (Q.qToV2 q) let d = _crDir cr + argV (Q.qToV2 q)
return $ muzFlareAt yellow (_crPos cr `v2z` 0 + rotate3z d pos) d return $ muzFlareAt yellow (_crPos cr `v2z` 0 + rotate3z d pos) d
@@ -302,50 +233,55 @@ itemInvSideEffect cr itm = case _itType itm of
-- attachoff = it ^?! itDimension . dimAttachPos -- attachoff = it ^?! itDimension . dimAttachPos
updateItemTargeting :: TargetingType -> Creature -> Item -> World -> World updateItemTargeting :: TargetingType -> Creature -> Item -> World -> World
updateItemTargeting tt cr itm w = w & case tt of updateItemTargeting tt cr itm w =
_ | not isattached -> w & case tt of
_
| not isattached ->
cWorld . lWorld . creatures . ix (_crID cr) . crInv . ix (_ilInvID $ _itLocation itm) . itUse
%~ ( (tgPos .~ Nothing)
. (tgActive .~ False)
)
TARGETLASER
| crIsAiming cr ->
cWorld . lWorld . lasers
.:~ LaserStart
{ _lpPhaseV = 1
, _lpDir = _crDir cr
, _lpPos = sp
, _lpColor = col
, _lpType = TargetingLaser (_itID itm)
}
TARGETLASER ->
cWorld . lWorld . creatures . ix (_crID cr) . crInv . ix (_ilInvID $ _itLocation itm)
. itUse
. tgPos
.~ Nothing
TargetRBPress
| rbpressed ->
cWorld . lWorld . creatures . ix (_crID cr) . crInv . ix (_ilInvID $ _itLocation itm) . itUse
%~ ( (tgPos %~ maybe (Just $ mouseWorldPos (w ^. input) (w ^. wCam)) Just)
. (tgActive .~ True)
)
TargetRBPress ->
cWorld . lWorld . creatures . ix (_crID cr) . crInv . ix (_ilInvID $ _itLocation itm) . itUse cWorld . lWorld . creatures . ix (_crID cr) . crInv . ix (_ilInvID $ _itLocation itm) . itUse
%~ ( (tgPos .~ Nothing) %~ ( (tgPos .~ Nothing)
. (tgActive .~ False)) . (tgActive .~ False)
TARGETLASER | crIsAiming cr ->
cWorld . lWorld . lasers
.:~ LaserStart
{ _lpPhaseV = 1
, _lpDir = _crDir cr
, _lpPos = sp
, _lpColor = col
, _lpType = TargetingLaser (_itID itm)
}
TARGETLASER ->
cWorld . lWorld . creatures . ix (_crID cr) . crInv . ix (_ilInvID $ _itLocation itm)
. itUse
. tgPos
.~ Nothing
TargetRBPress | rbpressed ->
cWorld . lWorld . creatures . ix (_crID cr) . crInv . ix (_ilInvID $ _itLocation itm) . itUse
%~ ( (tgPos %~ maybe (Just $ mouseWorldPos (w ^. input) (w ^. wCam)) Just)
. (tgActive .~ True)
) )
TargetRBPress -> TargetRBCreature ->
cWorld . lWorld . creatures . ix (_crID cr) . crInv . ix (_ilInvID $ _itLocation itm) . itUse cWorld . lWorld . creatures . ix (_crID cr)
%~ ( (tgPos .~ Nothing) . crInv
. (tgActive .~ False) . ix (_ilInvID $ _itLocation itm)
) . itUse
TargetRBCreature -> %~ setRBCreatureTargeting cr w
cWorld . lWorld . creatures . ix (_crID cr) TargetCursor ->
. crInv cWorld . lWorld . creatures . ix (_crID cr)
. ix (_ilInvID $ _itLocation itm) . crInv
. itUse . ix (_ilInvID $ _itLocation itm)
%~ setRBCreatureTargeting cr w . itUse
TargetCursor -> .~ TargetingUse
cWorld . lWorld . creatures . ix (_crID cr) (Just (mouseWorldPos (w ^. input) (w ^. wCam)))
. crInv Nothing
. ix (_ilInvID $ _itLocation itm) True
. itUse
.~ TargetingUse
(Just (mouseWorldPos (w ^. input) (w ^. wCam)))
Nothing
True
where where
isattached = itm ^?! itLocation . ilIsAttached isattached = itm ^?! itLocation . ilIsAttached
rbpressed = SDL.ButtonRight `M.member` _mouseButtons (_input w) rbpressed = SDL.ButtonRight `M.member` _mouseButtons (_input w)
-1
View File
@@ -109,7 +109,6 @@ data EquipItemType
| POWERLEGS | POWERLEGS
| SPEEDLEGS | SPEEDLEGS
| JUMPLEGS | JUMPLEGS
| JETPACK
| FUELPACK | FUELPACK
| BULLETBELTPACK | BULLETBELTPACK
| BULLETBELTBRACER | BULLETBELTBRACER
-1
View File
@@ -67,7 +67,6 @@ itemFromEquipType et = case et of
POWERLEGS -> powerLegs POWERLEGS -> powerLegs
SPEEDLEGS -> speedLegs SPEEDLEGS -> speedLegs
JUMPLEGS -> jumpLegs JUMPLEGS -> jumpLegs
JETPACK -> jetPack
BATTERYPACK -> batteryPack BATTERYPACK -> batteryPack
FUELPACK -> fuelPack FUELPACK -> fuelPack
BULLETBELTPACK -> bulletBeltPack BULLETBELTPACK -> bulletBeltPack
-1
View File
@@ -83,7 +83,6 @@ equipItemSPic et _ = case et of
POWERLEGS -> legsSPic yellow POWERLEGS -> legsSPic yellow
SPEEDLEGS -> legsSPic green SPEEDLEGS -> legsSPic green
JUMPLEGS -> legsSPic red JUMPLEGS -> legsSPic red
JETPACK -> noPic $ colorSH yellow backpackShape
BATTERYPACK -> noPic $ colorSH blue backpackShape BATTERYPACK -> noPic $ colorSH blue backpackShape
FUELPACK -> FUELPACK ->
noPic $ colorSH yellow $ upperPrismPolyMT 10 $ polyCirc 3 5 noPic $ colorSH yellow $ upperPrismPolyMT 10 $ polyCirc 3 5
-8
View File
@@ -8,7 +8,6 @@ module Dodge.Item.Equipment (
brainHat, brainHat,
frontArmour, frontArmour,
headLamp, headLamp,
jetPack,
fuelPack, fuelPack,
batteryPack, batteryPack,
bulletBeltPack, bulletBeltPack,
@@ -88,13 +87,6 @@ bulletBeltBracer =
& itUse . equipEffect . eeUse .~ EAmmoSource 100 100 --BulletSource & itUse . equipEffect . eeUse .~ EAmmoSource 100 100 --BulletSource
Nothing Nothing
jetPack :: Item
jetPack =
defaultEquipment
& itUse . equipEffect . eeSite .~ GoesOnBack
& itType .~ EQUIP JETPACK
& itUse . equipEffect . eeAttachPos .~ V3 (-8) 0 10
brainHat :: Item brainHat :: Item
brainHat = brainHat =
defaultEquipment defaultEquipment
-1
View File
@@ -117,7 +117,6 @@ equipInfo eit = case eit of
POWERLEGS -> "Strength enhancing legs." POWERLEGS -> "Strength enhancing legs."
SPEEDLEGS -> "Speed enhancing legs." SPEEDLEGS -> "Speed enhancing legs."
JUMPLEGS -> "Jump enhancing legs." JUMPLEGS -> "Jump enhancing legs."
JETPACK -> "A device enabling flight."
FUELPACK -> "A liquid container with attached hose." FUELPACK -> "A liquid container with attached hose."
BULLETBELTPACK -> "A container holding a long belt of bullets." BULLETBELTPACK -> "A container holding a long belt of bullets."
BULLETBELTBRACER -> "A container holding a long belt of bullets." BULLETBELTBRACER -> "A container holding a long belt of bullets."
+2 -2
View File
@@ -21,8 +21,8 @@ orientByLink itm lt = case (_itType itm,lt) of
orientAttachment :: Item -> ComposeLinkType -> Item -> Maybe (Point3, Q.Quaternion Float) orientAttachment :: Item -> ComposeLinkType -> Item -> Maybe (Point3, Q.Quaternion Float)
orientAttachment par lnk ch = Just $ case (_itType par,lnk,_itType ch) of orientAttachment par lnk ch = Just $ case (_itType par,lnk,_itType ch) of
(HELD BURSTRIFLE,_,HELD TORCH) -> (V3 20 0 0, Q.qID) -- (HELD BURSTRIFLE,_,HELD TORCH) -> (V3 20 0 0, Q.qID)
(HELD LAUNCHER,_,HELD TORCH) -> (V3 0 20 0, Q.qID) -- (HELD LAUNCHER,_,HELD TORCH) -> (V3 0 20 0, Q.qID)
_ -> (t1 + Q.rotate q1 t2, q1 * q2) _ -> (t1 + Q.rotate q1 t2, q1 * q2)
where where
(t1,q1) = orientByLink par lnk (t1,q1) = orientByLink par lnk
+5 -11
View File
@@ -1,7 +1,7 @@
module Dodge.LightSource.Torch where module Dodge.LightSource.Torch
( createTorchLightOffset
) where
import Color
import Dodge.WorldEvent.Flash
import Dodge.Data.World import Dodge.Data.World
import Dodge.Item.Draw -- heldItemOffset needs to be moved somewhere more sensible import Dodge.Item.Draw -- heldItemOffset needs to be moved somewhere more sensible
import Dodge.LightSource -- this needs to be split! import Dodge.LightSource -- this needs to be split!
@@ -9,14 +9,8 @@ import Geometry
import LensHelp import LensHelp
createTorchLightOffset :: Creature -> Item -> Point3 -> World -> World createTorchLightOffset :: Creature -> Item -> Point3 -> World -> World
createTorchLightOffset cr it off = createTorchLightOffset cr it off = cWorld . lWorld . tempLightSources .:~
(cWorld . lWorld . tempLightSources tlsTimeRadColPos 1 250 0.7 pos
.:~ tlsTimeRadColPos
1
250
0.7
pos
)
where where
pos = (p +.+.+ rotate3 (_crDir cr) (heldItemOffset it cr (off +.+.+ V3 8 0 1.5))) pos = (p +.+.+ rotate3 (_crDir cr) (heldItemOffset it cr (off +.+.+ V3 8 0 1.5)))
p = addZ 0 $ _crPos cr p = addZ 0 $ _crPos cr
+27 -27
View File
@@ -3355,7 +3355,7 @@ applyIndividualDamage' src/Dodge/Creature/Damage.hs 52;" f
applyInvLock src/Dodge/HeldUse.hs 66;" f applyInvLock src/Dodge/HeldUse.hs 66;" f
applyMagnetsToBul src/Dodge/Bullet.hs 46;" f applyMagnetsToBul src/Dodge/Bullet.hs 46;" f
applyNoDamage src/Dodge/Creature/Damage.hs 11;" f applyNoDamage src/Dodge/Creature/Damage.hs 11;" f
applyPastDamages src/Dodge/Creature/State.hs 180;" f applyPastDamages src/Dodge/Creature/State.hs 162;" f
applyPiercingDamage src/Dodge/Creature/Damage.hs 57;" f applyPiercingDamage src/Dodge/Creature/Damage.hs 57;" f
applyPosition src/Sound.hs 110;" f applyPosition src/Sound.hs 110;" f
applyRecoil src/Dodge/HeldUse.hs 85;" f applyRecoil src/Dodge/HeldUse.hs 85;" f
@@ -3485,7 +3485,7 @@ blood5S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 380;" f
blood6S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 500;" f blood6S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 500;" f
blood7S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 342;" f blood7S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 342;" f
blood8S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 330;" f blood8S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 330;" f
bloodPuddleAt src/Dodge/Creature/State.hs 143;" f bloodPuddleAt src/Dodge/Creature/State.hs 125;" f
blowTorch src/Dodge/Item/Held/SprayGuns.hs 51;" f blowTorch src/Dodge/Item/Held/SprayGuns.hs 51;" f
blue src/Color.hs 16;" f blue src/Color.hs 16;" f
blunderbuss src/Dodge/Item/Held/Cone.hs 29;" f blunderbuss src/Dodge/Item/Held/Cone.hs 29;" f
@@ -3539,7 +3539,7 @@ centerVaultRoom src/Dodge/Room/Procedural.hs 288;" f
centroid src/Geometry/Polygon.hs 113;" f centroid src/Geometry/Polygon.hs 113;" f
centroidNum src/Geometry/Polygon.hs 116;" f centroidNum src/Geometry/Polygon.hs 116;" f
chainCreatureUpdates src/Dodge/Creature/ChainUpdates.hs 6;" f chainCreatureUpdates src/Dodge/Creature/ChainUpdates.hs 6;" f
chainLinkOrientation src/Dodge/Creature/State.hs 260;" f chainLinkOrientation src/Dodge/Creature/State.hs 243;" f
chainPairs src/Geometry.hs 363;" f chainPairs src/Geometry.hs 363;" f
changeSwapClose src/Dodge/Inventory.hs 230;" f changeSwapClose src/Dodge/Inventory.hs 230;" f
changeSwapInv src/Dodge/Inventory.hs 246;" f changeSwapInv src/Dodge/Inventory.hs 246;" f
@@ -3556,7 +3556,7 @@ chaseCritMv src/Dodge/Creature/ReaderUpdate.hs 112;" f
chaseCritPerceptionUpdate src/Dodge/Creature/Perception.hs 30;" f chaseCritPerceptionUpdate src/Dodge/Creature/Perception.hs 30;" f
chaseCritVocalization src/Dodge/Creature/ChaseCrit.hs 46;" f chaseCritVocalization src/Dodge/Creature/ChaseCrit.hs 46;" f
checkBlockHP src/Dodge/Block.hs 46;" f checkBlockHP src/Dodge/Block.hs 46;" f
checkDeath src/Dodge/Creature/State.hs 86;" f checkDeath src/Dodge/Creature/State.hs 73;" f
checkEndGame src/Dodge/Update.hs 584;" f checkEndGame src/Dodge/Update.hs 584;" f
checkErrorGL src/Shader/Compile.hs 255;" f checkErrorGL src/Shader/Compile.hs 255;" f
checkFBO src/Framebuffer/Check.hs 6;" f checkFBO src/Framebuffer/Check.hs 6;" f
@@ -3670,7 +3670,7 @@ copyItemToFloor src/Dodge/FloorItem.hs 17;" f
copyItemToFloorID src/Dodge/FloorItem.hs 21;" f copyItemToFloorID src/Dodge/FloorItem.hs 21;" f
corDoor src/Dodge/Room/Room.hs 378;" f corDoor src/Dodge/Room/Room.hs 378;" f
cornerList src/Preload/Render.hs 194;" f cornerList src/Preload/Render.hs 194;" f
corpseOrGib src/Dodge/Creature/State.hs 106;" f corpseOrGib src/Dodge/Creature/State.hs 91;" f
corridor src/Dodge/Room/Corridor.hs 17;" f corridor src/Dodge/Room/Corridor.hs 17;" f
corridorBoss src/Dodge/LockAndKey.hs 133;" f corridorBoss src/Dodge/LockAndKey.hs 133;" f
corridorN src/Dodge/Room/Corridor.hs 52;" f corridorN src/Dodge/Room/Corridor.hs 52;" f
@@ -3977,7 +3977,7 @@ doCrImp src/Dodge/CreatureEffect.hs 28;" f
doCrWdAc src/Dodge/CreatureEffect.hs 77;" f doCrWdAc src/Dodge/CreatureEffect.hs 77;" f
doCrWdImp src/Dodge/CreatureEffect.hs 16;" f doCrWdImp src/Dodge/CreatureEffect.hs 16;" f
doCrWdWd src/Dodge/CreatureEffect.hs 20;" f doCrWdWd src/Dodge/CreatureEffect.hs 20;" f
doDamage src/Dodge/Creature/State.hs 171;" f doDamage src/Dodge/Creature/State.hs 153;" f
doDamagesFL src/Dodge/Flame.hs 58;" f doDamagesFL src/Dodge/Flame.hs 58;" f
doDeathToggle src/Dodge/WorldEffect.hs 95;" f doDeathToggle src/Dodge/WorldEffect.hs 95;" f
doDeathTriggers src/Dodge/WorldEffect.hs 90;" f doDeathTriggers src/Dodge/WorldEffect.hs 90;" f
@@ -4152,7 +4152,7 @@ drawWlIDs src/Dodge/Debug/Picture.hs 327;" f
drawZoneCol src/Dodge/Debug/Picture.hs 115;" f drawZoneCol src/Dodge/Debug/Picture.hs 115;" f
drawZoneNearPointCursor src/Dodge/Debug/Picture.hs 247;" f drawZoneNearPointCursor src/Dodge/Debug/Picture.hs 247;" f
droneLauncher src/Dodge/Item/Weapon/Drone.hs 11;" f droneLauncher src/Dodge/Item/Weapon/Drone.hs 11;" f
dropByState src/Dodge/Creature/State.hs 165;" f dropByState src/Dodge/Creature/State.hs 147;" f
dropExcept src/Dodge/Creature/Action.hs 172;" f dropExcept src/Dodge/Creature/Action.hs 172;" f
dropItem src/Dodge/Creature/Action.hs 177;" f dropItem src/Dodge/Creature/Action.hs 177;" f
drumMag src/Dodge/Item/Ammo.hs 36;" f drumMag src/Dodge/Item/Ammo.hs 36;" f
@@ -4189,7 +4189,7 @@ equipPosition src/Dodge/Item/Draw.hs 31;" f
equipSiteInfo src/Dodge/Item/Info.hs 225;" f equipSiteInfo src/Dodge/Item/Info.hs 225;" f
equipSiteToPositions src/Dodge/Inventory/RBList.hs 77;" f equipSiteToPositions src/Dodge/Inventory/RBList.hs 77;" f
equipSpeed src/Dodge/Creature/Impulse/Movement.hs 99;" f equipSpeed src/Dodge/Creature/Impulse/Movement.hs 99;" f
equipmentEffects src/Dodge/Creature/State.hs 239;" f equipmentEffects src/Dodge/Creature/State.hs 221;" f
equipmentStrValue src/Dodge/Creature/Statistics.hs 22;" f equipmentStrValue src/Dodge/Creature/Statistics.hs 22;" f
errorAngleVV src/Geometry.hs 62;" f errorAngleVV src/Geometry.hs 62;" f
errorClosestPointOnLine src/Geometry.hs 74;" f errorClosestPointOnLine src/Geometry.hs 74;" f
@@ -4516,7 +4516,7 @@ insertWall src/Dodge/Placement/PlaceSpot/Block.hs 122;" f
insertWallInZones src/Dodge/Wall/Zone.hs 20;" f insertWallInZones src/Dodge/Wall/Zone.hs 20;" f
insertWalls src/Dodge/Placement/PlaceSpot/Block.hs 117;" f insertWalls src/Dodge/Placement/PlaceSpot/Block.hs 117;" f
insertWithNewKeys src/IntMapHelp.hs 72;" f insertWithNewKeys src/IntMapHelp.hs 72;" f
internalHammerUpdate src/Dodge/Creature/State.hs 154;" f internalHammerUpdate src/Dodge/Creature/State.hs 136;" f
interpWith src/Dodge/Creature/Boid.hs 10;" f interpWith src/Dodge/Creature/Boid.hs 10;" f
intersectCircSeg src/Geometry/Intersect.hs 303;" f intersectCircSeg src/Geometry/Intersect.hs 303;" f
intersectCircSegFirst src/Geometry/Intersect.hs 314;" f intersectCircSegFirst src/Geometry/Intersect.hs 314;" f
@@ -4546,7 +4546,7 @@ invRootMap src/Dodge/Item/Grammar.hs 138;" f
invSelectionItem src/Dodge/Inventory/SelectionList.hs 34;" f invSelectionItem src/Dodge/Inventory/SelectionList.hs 34;" f
invSelectionItem' src/Dodge/Inventory/SelectionList.hs 16;" f invSelectionItem' src/Dodge/Inventory/SelectionList.hs 16;" f
invShiftPointBy src/Dodge/ShiftPoint.hs 8;" f invShiftPointBy src/Dodge/ShiftPoint.hs 8;" f
invSideEff src/Dodge/Creature/State.hs 244;" f invSideEff src/Dodge/Creature/State.hs 226;" f
invSize src/Dodge/Inventory/CheckSlots.hs 41;" f invSize src/Dodge/Inventory/CheckSlots.hs 41;" f
invTrees src/Dodge/Item/Grammar.hs 165;" f invTrees src/Dodge/Item/Grammar.hs 165;" f
invTrees' src/Dodge/Item/Grammar.hs 174;" f invTrees' src/Dodge/Item/Grammar.hs 174;" f
@@ -4564,7 +4564,7 @@ isAmmoIntLink src/Dodge/HeldUse.hs 174;" f
isAnimate src/Dodge/Creature/Test.hs 138;" f isAnimate src/Dodge/Creature/Test.hs 138;" f
isCognizant src/Dodge/Creature/Perception.hs 105;" f isCognizant src/Dodge/Creature/Perception.hs 105;" f
isElectrical src/Dodge/Data/Damage.hs 42;" f isElectrical src/Dodge/Data/Damage.hs 42;" f
isFrictionless src/Dodge/Creature/State.hs 436;" f isFrictionless src/Dodge/Creature/State.hs 427;" f
isGas src/Dodge/Euse.hs 64;" f isGas src/Dodge/Euse.hs 64;" f
isInLnk src/Dodge/PlacementSpot.hs 160;" f isInLnk src/Dodge/PlacementSpot.hs 160;" f
isJust' src/MaybeHelp.hs 29;" f isJust' src/MaybeHelp.hs 29;" f
@@ -4602,7 +4602,7 @@ itemFromHeldType src/Dodge/Item/Held.hs 25;" f
itemFromLeftType src/Dodge/Item.hs 77;" f itemFromLeftType src/Dodge/Item.hs 77;" f
itemInfo src/Dodge/Item/Info.hs 12;" f itemInfo src/Dodge/Item/Info.hs 12;" f
itemInvColor src/Dodge/Item/InventoryColor.hs 9;" f itemInvColor src/Dodge/Item/InventoryColor.hs 9;" f
itemInvSideEffect src/Dodge/Creature/State.hs 288;" f itemInvSideEffect src/Dodge/Creature/State.hs 274;" f
itemNumberDisplay src/Dodge/Item/Display.hs 111;" f itemNumberDisplay src/Dodge/Item/Display.hs 111;" f
itemRooms src/Dodge/LockAndKey.hs 39;" f itemRooms src/Dodge/LockAndKey.hs 39;" f
itemRotTreeSPic src/Dodge/Item/Draw/SPic.hs 27;" f itemRotTreeSPic src/Dodge/Item/Draw/SPic.hs 27;" f
@@ -4611,7 +4611,7 @@ itemString src/Dodge/Item/Display.hs 57;" f
itemToBreakLists src/Dodge/Item/Grammar.hs 41;" f itemToBreakLists src/Dodge/Item/Grammar.hs 41;" f
itemToFunction src/Dodge/Item/Grammar.hs 66;" f itemToFunction src/Dodge/Item/Grammar.hs 66;" f
itemTreeSPic src/Dodge/Item/Draw/SPic.hs 22;" f itemTreeSPic src/Dodge/Item/Draw/SPic.hs 22;" f
itemUpdate src/Dodge/Creature/State.hs 376;" f itemUpdate src/Dodge/Creature/State.hs 367;" f
itemUseEffect src/Dodge/Creature/Impulse/UseItem.hs 35;" f itemUseEffect src/Dodge/Creature/Impulse/UseItem.hs 35;" f
iterateUntil src/MonadHelp.hs 23;" f iterateUntil src/MonadHelp.hs 23;" f
iterateWhile src/MonadHelp.hs 30;" f iterateWhile src/MonadHelp.hs 30;" f
@@ -4935,7 +4935,7 @@ moveWallID src/Dodge/Wall/Move.hs 24;" f
moveWallIDToward src/Dodge/Wall/Move.hs 47;" f moveWallIDToward src/Dodge/Wall/Move.hs 47;" f
moveWallIDUnsafe src/Dodge/Wall/Move.hs 19;" f moveWallIDUnsafe src/Dodge/Wall/Move.hs 19;" f
moveZoomCamera src/Dodge/Update/Camera.hs 80;" f moveZoomCamera src/Dodge/Update/Camera.hs 80;" f
movementSideEff src/Dodge/Creature/State.hs 196;" f movementSideEff src/Dodge/Creature/State.hs 178;" f
mtTopLabels src/Dodge/Tree/Compose.hs 49;" f mtTopLabels src/Dodge/Tree/Compose.hs 49;" f
mtUnderLabels src/Dodge/Tree/Compose.hs 52;" f mtUnderLabels src/Dodge/Tree/Compose.hs 52;" f
muchWlDustAt src/Dodge/Wall/Dust.hs 15;" f muchWlDustAt src/Dodge/Wall/Dust.hs 15;" f
@@ -5151,7 +5151,7 @@ pointerToItemLocation src/Dodge/Item/Location.hs 25;" f
pointerYourRootItem src/Dodge/Item/Location.hs 42;" f pointerYourRootItem src/Dodge/Item/Location.hs 42;" f
pointerYourSelectedItem src/Dodge/Item/Location.hs 36;" f pointerYourSelectedItem src/Dodge/Item/Location.hs 36;" f
pointsToPoly src/Geometry/ConvexPoly.hs 39;" f pointsToPoly src/Geometry/ConvexPoly.hs 39;" f
poisonSPic src/Dodge/Creature/State.hs 131;" f poisonSPic src/Dodge/Creature/State.hs 113;" f
poisonSprayer src/Dodge/Item/Held/SprayGuns.hs 17;" f poisonSprayer src/Dodge/Item/Held/SprayGuns.hs 17;" f
poke34 src/Shader/Poke.hs 516;" f poke34 src/Shader/Poke.hs 516;" f
pokeArrayOff src/Shader/Poke.hs 527;" f pokeArrayOff src/Shader/Poke.hs 527;" f
@@ -5490,7 +5490,7 @@ scaleSH src/Shape.hs 265;" f
scalp src/Dodge/Creature/Picture.hs 93;" f scalp src/Dodge/Creature/Picture.hs 93;" f
scancodeToHotkey src/Dodge/Creature/YourControl.hs 70;" f scancodeToHotkey src/Dodge/Creature/YourControl.hs 70;" f
scodeToChar src/Dodge/ScodeToChar.hs 6;" f scodeToChar src/Dodge/ScodeToChar.hs 6;" f
scorchSPic src/Dodge/Creature/State.hs 126;" f scorchSPic src/Dodge/Creature/State.hs 108;" f
screenBox src/Dodge/Base/Window.hs 53;" f screenBox src/Dodge/Base/Window.hs 53;" f
screenPolygon src/Dodge/Base/Window.hs 17;" f screenPolygon src/Dodge/Base/Window.hs 17;" f
screenPolygonBord src/Dodge/Base/Window.hs 27;" f screenPolygonBord src/Dodge/Base/Window.hs 27;" f
@@ -5561,7 +5561,7 @@ setOldPos src/Dodge/Update.hs 351;" f
setOutLinks src/Dodge/RoomLink.hs 48;" f setOutLinks src/Dodge/RoomLink.hs 48;" f
setOutLinksByType src/Dodge/RoomLink.hs 57;" f setOutLinksByType src/Dodge/RoomLink.hs 57;" f
setOutLinksPD src/Dodge/RoomLink.hs 77;" f setOutLinksPD src/Dodge/RoomLink.hs 77;" f
setRBCreatureTargeting src/Dodge/Creature/State.hs 355;" f setRBCreatureTargeting src/Dodge/Creature/State.hs 346;" f
setSelectionListRestriction src/Dodge/Update/Input/ScreenLayer.hs 121;" f setSelectionListRestriction src/Dodge/Update/Input/ScreenLayer.hs 121;" f
setShaderSource src/Shader/Compile.hs 290;" f setShaderSource src/Shader/Compile.hs 290;" f
setShadowLimits src/Dodge/Shadows.hs 11;" f setShadowLimits src/Dodge/Shadows.hs 11;" f
@@ -5847,7 +5847,7 @@ testEvent src/Dodge/Event/Test.hs 10;" f
testInventory src/Dodge/Creature.hs 256;" f testInventory src/Dodge/Creature.hs 256;" f
testPic src/Dodge/Render/ShapePicture.hs 163;" f testPic src/Dodge/Render/ShapePicture.hs 163;" f
testStringInit src/Dodge/TestString.hs 22;" f testStringInit src/Dodge/TestString.hs 22;" f
testtorch src/Dodge/Creature/State.hs 282;" f testtorch src/Dodge/Creature/State.hs 268;" f
text src/Picture/Base.hs 193;" f text src/Picture/Base.hs 193;" f
textGrad src/Picture/Text.hs 5;" f textGrad src/Picture/Text.hs 5;" f
textJustifyCenter src/Picture/Base.hs 212;" f textJustifyCenter src/Picture/Base.hs 212;" f
@@ -6017,7 +6017,7 @@ upHammer src/Dodge/Default.hs 77;" f
upProjectile src/Dodge/Projectile/Update.hs 25;" f upProjectile src/Dodge/Projectile/Update.hs 25;" f
updateAllNodes src/TreeHelp.hs 85;" f updateAllNodes src/TreeHelp.hs 85;" f
updateArc src/Dodge/Tesla/Arc.hs 86;" f updateArc src/Dodge/Tesla/Arc.hs 86;" f
updateAutoRecharge src/Dodge/Creature/State.hs 386;" f updateAutoRecharge src/Dodge/Creature/State.hs 377;" f
updateBackspaceRegex src/Dodge/Update/Input/InGame.hs 159;" f updateBackspaceRegex src/Dodge/Update/Input/InGame.hs 159;" f
updateBarrel src/Dodge/Barreloid.hs 45;" f updateBarrel src/Dodge/Barreloid.hs 45;" f
updateBarreloid src/Dodge/Barreloid.hs 13;" f updateBarreloid src/Dodge/Barreloid.hs 13;" f
@@ -6057,11 +6057,11 @@ updateIMl' src/Dodge/Update.hs 391;" f
updateInGameCamera src/Dodge/Update/Camera.hs 71;" f updateInGameCamera src/Dodge/Update/Camera.hs 71;" f
updateInitialPressInGame src/Dodge/Update/Input/InGame.hs 108;" f updateInitialPressInGame src/Dodge/Update/Input/InGame.hs 108;" f
updateInstantBullets src/Dodge/Update.hs 535;" f updateInstantBullets src/Dodge/Update.hs 535;" f
updateInv src/Dodge/Creature/State.hs 235;" f updateInv src/Dodge/Creature/State.hs 217;" f
updateInventoryPositioning src/Dodge/DisplayInventory.hs 87;" f updateInventoryPositioning src/Dodge/DisplayInventory.hs 87;" f
updateInventorySectionItems src/Dodge/DisplayInventory.hs 143;" f updateInventorySectionItems src/Dodge/DisplayInventory.hs 143;" f
updateItemTargeting src/Dodge/Creature/State.hs 304;" f updateItemTargeting src/Dodge/Creature/State.hs 290;" f
updateItemWithOrientation src/Dodge/Creature/State.hs 277;" f updateItemWithOrientation src/Dodge/Creature/State.hs 263;" f
updateKeyInGame src/Dodge/Update/Input/InGame.hs 102;" f updateKeyInGame src/Dodge/Update/Input/InGame.hs 102;" f
updateKeysInTerminal src/Dodge/Update/Input/InGame.hs 91;" f updateKeysInTerminal src/Dodge/Update/Input/InGame.hs 91;" f
updateLampoid src/Dodge/Lampoid.hs 13;" f updateLampoid src/Dodge/Lampoid.hs 13;" f
@@ -6072,7 +6072,7 @@ updateLinearShockwave src/Dodge/LinearShockwave/Update.hs 8;" f
updateLongPressInGame src/Dodge/Update/Input/InGame.hs 128;" f updateLongPressInGame src/Dodge/Update/Input/InGame.hs 128;" f
updateMIM src/Dodge/Update.hs 548;" f updateMIM src/Dodge/Update.hs 548;" f
updateMachine src/Dodge/Machine/Update.hs 16;" f updateMachine src/Dodge/Machine/Update.hs 16;" f
updateMovement src/Dodge/Creature/State.hs 425;" f updateMovement src/Dodge/Creature/State.hs 416;" f
updateObjCatMaybes src/Dodge/Update.hs 407;" f updateObjCatMaybes src/Dodge/Update.hs 407;" f
updateObjMapMaybe src/Dodge/Update.hs 400;" f updateObjMapMaybe src/Dodge/Update.hs 400;" f
updatePastWorlds src/Dodge/Update.hs 305;" f updatePastWorlds src/Dodge/Update.hs 305;" f
@@ -6090,8 +6090,8 @@ updateRadarSweep src/Dodge/RadarSweep.hs 25;" f
updateRadarSweeps src/Dodge/Update.hs 449;" f updateRadarSweeps src/Dodge/Update.hs 449;" f
updateRandNode src/TreeHelp.hs 108;" f updateRandNode src/TreeHelp.hs 108;" f
updateRenderSplit appDodge/Main.hs 105;" f updateRenderSplit appDodge/Main.hs 105;" f
updateRootItem src/Dodge/Creature/State.hs 253;" f updateRootItem src/Dodge/Creature/State.hs 236;" f
updateRootItem' src/Dodge/Creature/State.hs 271;" f updateRootItem' src/Dodge/Creature/State.hs 254;" f
updateRootItemID src/Dodge/Inventory/Location.hs 41;" f updateRootItemID src/Dodge/Inventory/Location.hs 41;" f
updateScopeZoom src/Dodge/Update/Camera.hs 128;" f updateScopeZoom src/Dodge/Update/Camera.hs 128;" f
updateScopeZoom' src/Dodge/Update/Camera.hs 133;" f updateScopeZoom' src/Dodge/Update/Camera.hs 133;" f
@@ -6148,7 +6148,7 @@ useBulletPayload src/Dodge/Bullet.hs 105;" f
useC src/Dodge/Cuse.hs 8;" f useC src/Dodge/Cuse.hs 8;" f
useC' src/Dodge/Cuse.hs 13;" f useC' src/Dodge/Cuse.hs 13;" f
useE src/Dodge/Euse.hs 24;" f useE src/Dodge/Euse.hs 24;" f
useEquipment src/Dodge/Creature/State.hs 229;" f useEquipment src/Dodge/Creature/State.hs 211;" f
useGasParams src/Dodge/HeldUse.hs 376;" f useGasParams src/Dodge/HeldUse.hs 376;" f
useHotKey src/Dodge/Creature/YourControl.hs 49;" f useHotKey src/Dodge/Creature/YourControl.hs 49;" f
useItemHotkey src/Dodge/Creature/Impulse/UseItem.hs 126;" f useItemHotkey src/Dodge/Creature/Impulse/UseItem.hs 126;" f
@@ -6169,7 +6169,7 @@ useStopWatch src/Dodge/Luse.hs 24;" f
useTimeCheck src/Dodge/Item/Weapon/TriggerType.hs 246;" f useTimeCheck src/Dodge/Item/Weapon/TriggerType.hs 246;" f
useTimeScrollGun src/Dodge/Luse.hs 32;" f useTimeScrollGun src/Dodge/Luse.hs 32;" f
useUnusedLnk src/Dodge/PlacementSpot.hs 169;" f useUnusedLnk src/Dodge/PlacementSpot.hs 169;" f
useUpdate src/Dodge/Creature/State.hs 221;" f useUpdate src/Dodge/Creature/State.hs 203;" f
usedRoomInLinkPoss src/Dodge/PlacementSpot.hs 196;" f usedRoomInLinkPoss src/Dodge/PlacementSpot.hs 196;" f
usedRoomLinkPoss src/Dodge/PlacementSpot.hs 203;" f usedRoomLinkPoss src/Dodge/PlacementSpot.hs 203;" f
v2z src/Geometry/Vector3D.hs 93;" f v2z src/Geometry/Vector3D.hs 93;" f