Start making projectile update function rather than folded list

This commit is contained in:
2024-12-28 21:31:33 +00:00
parent e028c54948
commit 2fdc6ae557
9 changed files with 95 additions and 87 deletions
-2
View File
@@ -254,10 +254,8 @@ anythingHitCirc rad sp ep w = hitCr || circHitWall sp ep rad w
f cid bl =
maybe
False
--(\cr -> null $ intersectCircSeg (_crPos cr) (rad + _crRad cr) sp ep)
(\cr -> intersectCircSegTest (_crPos cr) (rad + _crRad cr) sp ep)
(w ^? cWorld . lWorld . creatures . ix cid)
|| bl
-- hitWl = collideCircWalls sp ep rad $ wlsNearSeg xsp xep w
-- this should probably be wallsOnLine or something
+15 -19
View File
@@ -2,14 +2,13 @@ module Dodge.Creature.Impulse.UseItem (
useSelectedItem,
) where
import Data.Foldable (foldl')
import Dodge.DoubleTree
import Control.Lens
import Control.Monad
import Data.Maybe
import Dodge.Data.ComposedItem
import Dodge.Data.DoubleTree
import Dodge.Data.World
import Dodge.DoubleTree
import Dodge.Euse
import Dodge.HeldUse
import Dodge.Hotkey
@@ -38,33 +37,30 @@ useSelectedItem crid w = (worldEventFlags . at InventoryChange ?~ ()) . fromMayb
& pointerToItem itm . itUse . heldHammer .~ HammerDown
RemoteDetonatorSF -> do
guard (_crHammerPosition cr == HammerUp)
return $ activateDetonator usedloc cr w
return $ activateDetonator usedloc w
_ | isJust $ itm ^? itUse . uequipEffect -> do
guard (_crHammerPosition cr == HammerUp)
invid' <- itm ^? itLocation . ilInvID
return $ toggleEquipmentAt invid' cr w
_ -> Nothing
where
fst3 (x,_,_) = x
fst3 (x, _, _) = x
activateDetonator
:: LabelDoubleTree ItemLink ComposedItem -> Creature -> World
-> World
activateDetonator det _ w = foldl' remoteDetonate w
(det ^. ldtValue . _1 . itUse . uaParams . apProjectiles)
& pointerToItemID (det ^. ldtValue . _1 . itID) . itUse . uaParams . apProjectiles .~ []
remoteDetonate :: World -> Int -> World
remoteDetonate w pjid = w
& cWorld . lWorld . projectiles . ix pjid . pjTimer .~ 0
activateDetonator ::
LabelDoubleTree ItemLink ComposedItem ->
World ->
World
activateDetonator det = fromMaybe id $ do
pjid <- det ^? ldtValue . _1 . itUse . uaParams . apProjectiles . ix 0
return $ cWorld . lWorld . projectiles . ix pjid . pjTimer .~ 0
useLocation :: LocationLDT ItemLink ComposedItem -> UseFocus
useLocation loc
useLocation loc
| isJust $ loc ^? locLDT . ldtValue . _1 . itUse . uequipEffect = UseFromLocation
| isJust $ loc ^? locLDT . ldtValue . _1 . itUse . uaParams . apLinkedProjectile . _Just
= UseFromLocation
| isJust $ loc ^? locLDT . ldtValue . _1 . itUse . uaParams . apProjectiles . ix 0
= UseFromLocation
| isJust $ loc ^? locLDT . ldtValue . _1 . itUse . uaParams . apLinkedProjectile . _Just =
UseFromLocation
| isJust $ loc ^? locLDT . ldtValue . _1 . itUse . uaParams . apProjectiles . ix 0 =
UseFromLocation
| otherwise = UseFromRoot
toggleEquipmentAt :: Int -> Creature -> World -> World
+3 -3
View File
@@ -26,9 +26,9 @@ data ProjectileUpdate
,_pjuTimer :: Int}
| TimePU
| CollisionEffectPU
{_pjuDetonatorID :: Maybe (NewInt ItmInt)
,_pjuScreenID :: Maybe (NewInt ItmInt)
}
-- {_pjuDetonatorID :: Maybe (NewInt ItmInt)
-- ,_pjuScreenID :: Maybe (NewInt ItmInt)
-- }
| ApplyGravityPU
deriving (Show, Eq, Ord, Read) --Generic, Flat)
+12
View File
@@ -26,15 +26,20 @@ data Projectile
, _pjZVel :: Float
, _pjUpdates :: [ProjectileUpdate]
, _pjType :: ProjectileType
, _pjDetonatorID :: Maybe (NewInt ItmInt)
, _pjScreenID :: Maybe (NewInt ItmInt)
}
deriving (Eq, Ord, Show, Read) --Generic, Flat)
data ProjectileType
= Grenade
{ _gnHitEffect :: GrenadeHitEffect
}
| Rocket
{_rkHoming :: RocketHoming
,_rkSmoke :: Maybe RocketSmoke
}
| RetiredProjectile
deriving (Eq, Ord, Show, Read) --Generic, Flat)
data RocketHoming
@@ -43,6 +48,11 @@ data RocketHoming
| HomeUsingTargeting {_phTargetingID :: NewInt ItmInt}
deriving (Show, Eq, Ord, Read) --Generic, Flat)
data GrenadeHitEffect
= GBounce {_bounceTolerance :: Float}
| GStick
deriving (Show, Eq, Ord, Read) --Generic, Flat)
data RocketSmoke
= ReducedRocketSmoke
deriving (Show, Eq, Ord, Read) --Generic, Flat)
@@ -51,6 +61,8 @@ data RocketSmoke
makeLenses ''Projectile
makeLenses ''ProjectileType
makeLenses ''RocketHoming
makeLenses ''GrenadeHitEffect
deriveJSON defaultOptions ''GrenadeHitEffect
deriveJSON defaultOptions ''RocketHoming
deriveJSON defaultOptions ''RocketSmoke
deriveJSON defaultOptions ''ProjectileType
+7 -7
View File
@@ -46,10 +46,10 @@ drawFlamelet pt =
( mixColors
(fromIntegral (max 0 (time -2)))
(10 - fromIntegral time)
(V4 2 0 0 1)
(V4 2 0 0 1)
--(V4 2 0 0 1)
--(V4 2 0 0 0)
--(V4 2 0 0 1)
(V4 2 0 0 1)
(V4 2 0 0 0)
)
. rotate (negate (rot - 0.1 * fromIntegral time))
. scale s1 s1
@@ -62,10 +62,10 @@ drawFlamelet pt =
( mixColors
(fromIntegral (max 0 (time -2)))
(10 - fromIntegral time)
(V4 2 1 0 1)
(V4 0 0 0 1)
--(V4 2 1 0 0.5)
--(V4 0 0 0 0)
--(V4 2 1 0 1)
--(V4 0 0 0 1)
(V4 2 1 0 0.5)
(V4 0 0 0 0)
)
. rotate (negate (rot + 0.2 * fromIntegral time))
. scale s2 s2
+1 -1
View File
@@ -300,7 +300,7 @@ useLoadedAmmo itmtree cr (cme, w) (mzid, Just (mz, x, magtree)) = (,) (cme & cme
MuzzleTesla -> shootTeslaArc itm cr mz w
MuzzleTractor -> shootTractorBeam cr w
MuzzleRLauncher -> createProjectileR itmtree magtree mz cr w
MuzzleGLauncher -> createProjectile Grenade magtree mz cr w
MuzzleGLauncher -> createProjectile (Grenade (GBounce 2)) magtree mz cr w
MuzzleNozzle{} -> useGasParams mid mz itm cr $ walkNozzle mzid mz itm cr w
MuzzleShatter -> shootShatter itm cr w
MuzzleDetector -> itemDetectorEffect itm cr w
+8 -6
View File
@@ -32,24 +32,26 @@ createShell mdetonator mscreen pjtype payload muz cr w = w
, _pjPayload = payload
, _pjTimer = lifespan
, _pjUpdates =
[ CollisionEffectPU mdetonator mscreen
[ CollisionEffectPU
, TimePU
, StartSpinPU (lifespan - 15) (_crID cr) spinamount
, RemoteDirectionPU (lifespan - thrustdelay) 0
, ReduceSpinPU (1 - spindrag * 2 / 200)
] <> thrustorgrav
, _pjType = pjtype
, _pjDetonatorID = mdetonator
, _pjScreenID = mscreen
}
where
speed = case pjtype of
Grenade -> 4
Grenade {} -> 4
Rocket{} -> 1
lifespan = case pjtype of
Grenade -> 150
Rocket{} -> 350
RetiredProjectile -> 0
lifespan = 350
thrustorgrav = case pjtype of
Grenade -> [ApplyGravityPU]
Grenade {}-> [ApplyGravityPU]
Rocket{} -> [ThrustPU (lifespan - thrustdelay) 0]
RetiredProjectile -> []
spindrag = 1
spinamount = 2
thrustdelay = 20
+6 -9
View File
@@ -26,10 +26,10 @@ updateProjectile pj w = foldl' (flip $ upProjectile pj) w (_pjUpdates pj)
upProjectile :: Projectile -> ProjectileUpdate -> World -> World
upProjectile pj pu = case pu of
CollisionEffectPU mdetonatorid mscreenid ->
CollisionEffectPU ->
shellCollisionCheck
mdetonatorid
mscreenid
(pj ^. pjDetonatorID)
(pj ^. pjScreenID)
pj
TimePU -> decTimMvVel pj
ThrustPU st et
@@ -79,7 +79,7 @@ applyGravityPU pj w
| otherwise = x * 0.9
newz = pj ^. pjZ + pj ^. pjZVel
--shellCollisionCheck :: (Projectile -> World -> World) -> Projectile -> World -> World
-- consider using thingHit, pushing any hit creature back
shellCollisionCheck ::
Maybe (NewInt ItmInt) ->
Maybe (NewInt ItmInt) ->
@@ -174,12 +174,9 @@ decTimMvVel :: Projectile -> World -> World
decTimMvVel pj =
cWorld . lWorld . projectiles . ix (_pjID pj)
%~ ( (pjTimer -~ 1)
. (pjPos %~ (+.+ vel))
. (pjDir +~ rot)
. (pjPos +~ _pjVel pj)
. (pjDir +~ _pjSpin pj)
)
where
rot = _pjSpin pj
vel = _pjVel pj
explodeShell ::
Maybe (NewInt ItmInt) ->
+43 -40
View File
@@ -736,6 +736,9 @@ FullyVisible src/Dodge/Data/CamouflageStatus.hs 12;" C
FunctionChangeLink src/Dodge/Data/ComposedItem.hs 29;" C
FunctionChangeSF src/Dodge/Data/ComposedItem.hs 51;" C
GEqC src/SameConstr.hs 20;" c
GHitBounce src/Dodge/Data/Projectile.hs 50;" C
GHitDetonate src/Dodge/Data/Projectile.hs 49;" C
GHitStick src/Dodge/Data/Projectile.hs 51;" C
GLASSSHARD src/Dodge/Data/Item/Combine.hs 38;" C
GLAUNCHER src/Dodge/Data/Item/Combine.hs 154;" C
GLHelp src/GLHelp.hs 1;" m
@@ -787,6 +790,7 @@ Graph src/Dodge/Graph.hs 2;" m
GraphHelp src/GraphHelp.hs 1;" m
GraphVizHelp src/GraphVizHelp.hs 2;" m
Grenade src/Dodge/Data/Projectile.hs 33;" C
GrenadeHitEffect src/Dodge/Data/Projectile.hs 48;" t
Grid src/Grid.hs 1;" m
Gust src/Dodge/Data/Gust.hs 13;" t
Gust src/Dodge/Data/Gust.hs 6;" m
@@ -828,8 +832,8 @@ HeldUse src/Dodge/HeldUse.hs 4;" m
HeldUseEffect src/Dodge/Data/Item/Use.hs 51;" t
HelpNum src/HelpNum.hs 1;" m
HiddenGoal src/Dodge/Data/Scenario.hs 14;" C
HomeUsingRemoteScreen src/Dodge/Data/Projectile.hs 42;" C
HomeUsingTargeting src/Dodge/Data/Projectile.hs 43;" C
HomeUsingRemoteScreen src/Dodge/Data/Projectile.hs 44;" C
HomeUsingTargeting src/Dodge/Data/Projectile.hs 45;" C
Hospital src/Dodge/Data/Scenario.hs 69;" C
Hotkey src/Dodge/Data/Equipment/Misc.hs 32;" t
Hotkey src/Dodge/Hotkey.hs 1;" m
@@ -1248,7 +1252,7 @@ NoFaction src/Dodge/Data/Creature/State.hs 40;" C
NoFlare src/Dodge/Data/Item/Use.hs 131;" C
NoHammer src/Dodge/Data/Hammer.hs 13;" C
NoHeldUseEffect src/Dodge/Data/Item/Use.hs 52;" C
NoHoming src/Dodge/Data/Projectile.hs 41;" C
NoHoming src/Dodge/Data/Projectile.hs 43;" C
NoIntImp src/Dodge/Data/CreatureEffect.hs 20;" C
NoInvEffect src/Dodge/Data/Item/Effect.hs 20;" C
NoItTargeting src/Dodge/Data/Item.hs 55;" C
@@ -1574,7 +1578,7 @@ ReaderUpdate src/Dodge/Creature/ReaderUpdate.hs 1;" m
RecRoomSS src/Dodge/Data/Scenario.hs 103;" C
RectRoomType src/Dodge/Data/Room.hs 32;" C
ReduceSpinPU src/Dodge/Data/Item/Use/Consumption/Ammo.hs 24;" C
ReducedRocketSmoke src/Dodge/Data/Projectile.hs 47;" C
ReducedRocketSmoke src/Dodge/Data/Projectile.hs 55;" C
ReigonalGovernment src/Dodge/Data/Scenario.hs 50;" C
Religion src/Dodge/Data/Scenario.hs 47;" C
Reload src/Dodge/Data/ActionPlan.hs 190;" C
@@ -1609,9 +1613,9 @@ RightButtonOptions src/Dodge/Data/RightButtonOptions.hs 6;" m
RightForward src/Dodge/Data/Creature/Stance.hs 33;" C
RightwardLDT src/Dodge/Data/DoubleTree.hs 58;" C
RoadBlock src/Dodge/Room/RoadBlock.hs 2;" m
Rocket src/Dodge/Data/Projectile.hs 34;" C
RocketHoming src/Dodge/Data/Projectile.hs 40;" t
RocketSmoke src/Dodge/Data/Projectile.hs 46;" t
Rocket src/Dodge/Data/Projectile.hs 36;" C
RocketHoming src/Dodge/Data/Projectile.hs 42;" t
RocketSmoke src/Dodge/Data/Projectile.hs 54;" t
Rod src/Dodge/Item/Held/Rod.hs 1;" m
Room src/Dodge/Data/GenWorld.hs 94;" t
Room src/Dodge/Data/Room.hs 4;" m
@@ -2540,6 +2544,7 @@ _getSoundID src/Sound/Data.hs 32;" f
_gfConstant src/Dodge/Data/GenFloat.hs 11;" f
_gfMax src/Dodge/Data/GenFloat.hs 12;" f
_gfMin src/Dodge/Data/GenFloat.hs 12;" f
_gnHitEffect src/Dodge/Data/Projectile.hs 34;" f
_grBound src/Dodge/GameRoom.hs 18;" f
_grDir src/Dodge/GameRoom.hs 20;" f
_grLinkDirs src/Dodge/GameRoom.hs 21;" f
@@ -2809,14 +2814,24 @@ _peZoning src/Dodge/Data/World.hs 53;" f
_penEnd src/Dodge/Data/PathGraph.hs 35;" f
_penPathEdge src/Dodge/Data/PathGraph.hs 36;" f
_penStart src/Dodge/Data/PathGraph.hs 34;" f
_phRemoteID src/Dodge/Data/Projectile.hs 42;" f
_phTargetingID src/Dodge/Data/Projectile.hs 43;" f
_phRemoteID src/Dodge/Data/Projectile.hs 44;" f
_phTargetingID src/Dodge/Data/Projectile.hs 45;" f
_pickUpLevel src/Dodge/Layout/Generate.hs 14;" f
_pickUps src/Dodge/Layout/Generate.hs 15;" f
_pictureShaders src/Data/Preload/Render.hs 28;" f
_piercedPoints src/Dodge/Data/Creature/State.hs 30;" f
_pjDir src/Dodge/Data/Projectile.hs 20;" f
_pjID src/Dodge/Data/Projectile.hs 22;" f
_pjPayload src/Dodge/Data/Projectile.hs 23;" f
_pjPos src/Dodge/Data/Projectile.hs 18;" f
_pjSpin src/Dodge/Data/Projectile.hs 21;" f
_pjTimer src/Dodge/Data/Projectile.hs 24;" f
_pjType src/Dodge/Data/Projectile.hs 28;" f
_pjUpdates src/Dodge/Data/Projectile.hs 27;" f
_pjVel src/Dodge/Data/Projectile.hs 19;" f
_pjZ src/Dodge/Data/Projectile.hs 25;" f
_pjZVel src/Dodge/Data/Projectile.hs 26;" f
_pjuCID src/Dodge/Data/Item/Use/Consumption/Ammo.hs 22;" f
_pjuControlID src/Dodge/Data/Item/Use/Consumption/Ammo.hs 28;" f
_pjuDetonatorID src/Dodge/Data/Item/Use/Consumption/Ammo.hs 29;" f
_pjuEnd src/Dodge/Data/Item/Use/Consumption/Ammo.hs 21;" f
_pjuReduceSpin src/Dodge/Data/Item/Use/Consumption/Ammo.hs 24;" f
@@ -2866,17 +2881,6 @@ _preloadData src/Dodge/Data/Universe.hs 32;" f
_pressPlates src/Dodge/Data/LWorld.hs 134;" f
_pressedKeys src/Dodge/Data/Input.hs 45;" f
_previousArcEffect src/Dodge/Data/Item/Params.hs 26;" f
_prjDir src/Dodge/Data/Projectile.hs 20;" f
_prjID src/Dodge/Data/Projectile.hs 22;" f
_prjPayload src/Dodge/Data/Projectile.hs 23;" f
_prjPos src/Dodge/Data/Projectile.hs 18;" f
_prjSpin src/Dodge/Data/Projectile.hs 21;" f
_prjTimer src/Dodge/Data/Projectile.hs 24;" f
_prjType src/Dodge/Data/Projectile.hs 28;" f
_prjUpdates src/Dodge/Data/Projectile.hs 27;" f
_prjVel src/Dodge/Data/Projectile.hs 19;" f
_prjZ src/Dodge/Data/Projectile.hs 25;" f
_prjZVel src/Dodge/Data/Projectile.hs 26;" f
_projectiles src/Dodge/Data/LWorld.hs 104;" f
_props src/Dodge/Data/LWorld.hs 103;" f
_proxDist src/Dodge/Data/Machine/Sensor.hs 26;" f
@@ -2933,8 +2937,8 @@ _reverseAmount src/Dodge/Data/World.hs 64;" f
_reverseAmount src/Dodge/Data/World.hs 70;" f
_reverseAmount src/Dodge/Data/World.hs 74;" f
_rifling src/Dodge/Data/Item/Use.hs 99;" f
_rkHoming src/Dodge/Data/Projectile.hs 35;" f
_rkSmoke src/Dodge/Data/Projectile.hs 36;" f
_rkHoming src/Dodge/Data/Projectile.hs 37;" f
_rkSmoke src/Dodge/Data/Projectile.hs 38;" f
_rlDir src/Dodge/Data/Room.hs 26;" f
_rlPos src/Dodge/Data/Room.hs 25;" f
_rlType src/Dodge/Data/Room.hs 24;" f
@@ -3287,7 +3291,7 @@ aSound src/Dodge/SoundLogic.hs 68;" f
aStaticBall src/Dodge/WorldEvent/SpawnParticle.hs 41;" f
aTreeStrut src/Dodge/Tree/GenerateStructure.hs 42;" f
accessTerminal src/Dodge/WorldEffect.hs 48;" f
activateDetonator src/Dodge/Creature/Impulse/UseItem.hs 50;" f
activateDetonator src/Dodge/Creature/Impulse/UseItem.hs 49;" f
activeTargetCursorPic src/Dodge/Targeting/Draw.hs 24;" f
addArmour src/Dodge/Creature.hs 83;" f
addBranchAt src/Dodge/Tree/GenerateStructure.hs 18;" f
@@ -3362,7 +3366,7 @@ applyCME src/Dodge/HeldUse.hs 126;" f
applyCreatureDamage src/Dodge/Creature/Damage.hs 14;" f
applyDamageEffect src/Dodge/Creature/Damage.hs 31;" f
applyEventIO src/Loop.hs 89;" f
applyGravityPU src/Dodge/Projectile/Update.hs 55;" f
applyGravityPU src/Dodge/Projectile/Update.hs 54;" f
applyIndividualDamage src/Dodge/Creature/Damage.hs 49;" f
applyIndividualDamage' src/Dodge/Creature/Damage.hs 52;" f
applyInvLock src/Dodge/HeldUse.hs 141;" f
@@ -3826,7 +3830,7 @@ debugMenuOptions src/Dodge/Menu.hs 119;" f
debugOn src/Dodge/Data/Config.hs 151;" f
debugSelectCreatureList src/Dodge/Debug.hs 86;" f
debugSelectCreatureMessage src/Dodge/Debug.hs 77;" f
decTimMvVel src/Dodge/Projectile/Update.hs 178;" f
decTimMvVel src/Dodge/Projectile/Update.hs 173;" f
decodedtmap src/Dodge/Terminal.hs 205;" f
decomposeSelfTree src/Dodge/Tree/Compose.hs 60;" f
decomposeTree src/Dodge/Tree/Compose.hs 57;" f
@@ -3929,7 +3933,7 @@ destroyMatS src/Dodge/Material/Sound.hs 7;" f
destroyMcType src/Dodge/Machine/Destroy.hs 21;" f
destroyMount src/Dodge/Block.hs 104;" f
destroyMounts src/Dodge/Block.hs 101;" f
destroyProjectile src/Dodge/Projectile/Update.hs 103;" f
destroyProjectile src/Dodge/Projectile/Update.hs 98;" f
detV src/Geometry/Vector.hs 93;" f
detector src/Dodge/Item/Held/Utility.hs 41;" f
detectorColor src/Dodge/Item/Draw/SPic.hs 434;" f
@@ -4043,7 +4047,7 @@ doTerminalCommandEffect src/Dodge/Terminal.hs 135;" f
doTestDrawing src/Dodge/Render.hs 42;" f
doTextInputOver src/Dodge/Update/Input/Text.hs 15;" f
doTextInputOverUniverse src/Dodge/Update/Input/Text.hs 12;" f
doThrust src/Dodge/Projectile/Update.hs 115;" f
doThrust src/Dodge/Projectile/Update.hs 110;" f
doTimeScroll src/Dodge/Update.hs 205;" f
doTmTm src/Dodge/TmTm.hs 6;" f
doTmWdWd src/Dodge/WorldEffect.hs 101;" f
@@ -4250,7 +4254,7 @@ expandPolyCorners src/Dodge/LevelGen/StaticWalls.hs 103;" f
expandToSquare src/Dodge/LevelGen/StaticWalls/Deprecated.hs 83;" f
expireAndDamage src/Dodge/Bullet.hs 195;" f
expireAndDamageFL src/Dodge/Flame.hs 47;" f
explodeShell src/Dodge/Projectile/Update.hs 190;" f
explodeShell src/Dodge/Projectile/Update.hs 181;" f
explosionS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 410;" f
explosiveBarrel src/Dodge/Creature/Inanimate.hs 29;" f
extTrigLitPos src/Dodge/Placement/Instance/Button.hs 84;" f
@@ -5131,7 +5135,7 @@ pipe src/Dodge/Item/Craftable.hs 32;" f
pistol src/Dodge/Item/Held/Stick.hs 42;" f
pistolCrit src/Dodge/Creature/PistolCrit.hs 12;" f
pistolerRoom src/Dodge/Room/Room.hs 321;" f
pjRemoteSetDirection src/Dodge/Projectile/Update.hs 160;" f
pjRemoteSetDirection src/Dodge/Projectile/Update.hs 155;" f
plBlock src/Dodge/Placement/PlaceSpot/Block.hs 18;" f
plDoor src/Dodge/Placement/PlaceSpot/TriggerDoor.hs 22;" f
plLineBlock src/Dodge/Placement/PlaceSpot/Block.hs 50;" f
@@ -5380,7 +5384,7 @@ rectXY src/Geometry/Polygon.hs 35;" f
rectanglePairs src/Dodge/LevelGen/DoorPane.hs 7;" f
red src/Color.hs 14;" f
reduceLocLDT src/Dodge/DoubleTree.hs 256;" f
reduceSpinBy src/Dodge/Projectile/Update.hs 175;" f
reduceSpinBy src/Dodge/Projectile/Update.hs 170;" f
reflDirWall src/Dodge/Base/Wall.hs 16;" f
reflVelWall src/Dodge/Base/Wall.hs 24;" f
reflVelWallDamp src/Dodge/Base/Wall.hs 20;" f
@@ -5396,7 +5400,6 @@ reload1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 442;" f
reloadLevelStart src/Dodge/Save.hs 71;" f
reloadS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 440;" f
rememberSounds src/Dodge/Creature/Perception.hs 177;" f
remoteDetonate src/Dodge/Creature/Impulse/UseItem.hs 57;" f
remoteDetonator src/Dodge/Item/Scope.hs 63;" f
remoteScreen src/Dodge/Item/Scope.hs 59;" f
removeAmmoFromMag src/Dodge/HeldUse.hs 397;" f
@@ -5651,7 +5654,7 @@ shardShape src/Dodge/Block/Debris.hs 181;" f
shatterGun src/Dodge/Item/Held/Weapons.hs 8;" f
shatterGunSPic src/Dodge/Item/Draw/SPic.hs 284;" f
shatterWall src/Dodge/Item/Weapon/Shatter.hs 26;" f
shellCollisionCheck src/Dodge/Projectile/Update.hs 84;" f
shellCollisionCheck src/Dodge/Projectile/Update.hs 83;" f
shellMag src/Dodge/Item/Ammo.hs 61;" f
shellModule src/Dodge/Item/Scope.hs 45;" f
shellShape src/Dodge/Projectile/Draw.hs 35;" f
@@ -5955,7 +5958,7 @@ toV3 src/Geometry/Data.hs 38;" f
toV4 src/Geometry/Data.hs 40;" f
toggleCombineInv src/Dodge/DisplayInventory.hs 35;" f
toggleCommand src/Dodge/Terminal.hs 196;" f
toggleEquipmentAt src/Dodge/Creature/Impulse/UseItem.hs 70;" f
toggleEquipmentAt src/Dodge/Creature/Impulse/UseItem.hs 66;" f
toggleJust src/MaybeHelp.hs 41;" f
toggleMap src/Dodge/Update/Input/InGame.hs 556;" f
toggleTweakInv src/Dodge/Update/Input/InGame.hs 569;" f
@@ -6040,7 +6043,7 @@ tryPutFloorItemIDInInv src/Dodge/Inventory/Add.hs 26;" f
tryPutItemInInv src/Dodge/Inventory/Add.hs 42;" f
tryPutItemInInvAt src/Dodge/Inventory/Add.hs 32;" f
trySeedFromClipboard src/Dodge/Menu.hs 88;" f
trySpinByCID src/Dodge/Projectile/Update.hs 142;" f
trySpinByCID src/Dodge/Projectile/Update.hs 137;" f
trySynthBullet src/Dodge/Creature/State.hs 204;" f
tryUseParent src/Dodge/Creature/State.hs 197;" f
turnTo src/Dodge/Movement/Turn.hs 4;" f
@@ -6218,20 +6221,20 @@ useGasParams src/Dodge/HeldUse.hs 506;" f
useHotkey src/Dodge/Creature/YourControl.hs 54;" f
useLnkRoomPos src/Dodge/PlacementSpot.hs 244;" f
useLoadedAmmo src/Dodge/HeldUse.hs 289;" f
useLocation src/Dodge/Creature/Impulse/UseItem.hs 61;" f
useLocation src/Dodge/Creature/Impulse/UseItem.hs 57;" f
useMagShield src/Dodge/Euse.hs 46;" f
useNormalCamera src/Dodge/Camera.hs 6;" f
usePayload src/Dodge/Payload.hs 17;" f
useRewindGun src/Dodge/HeldUse.hs 696;" f
useRewindGun src/Dodge/HeldUse.hs 692;" f
useRewindGun src/Dodge/Luse.hs 40;" f
useRoomPosCond src/Dodge/PlacementSpot.hs 178;" f
useRoomPosRoomCond src/Dodge/PlacementSpot.hs 181;" f
useSelectedItem src/Dodge/Creature/Impulse/UseItem.hs 21;" f
useStopWatch src/Dodge/HeldUse.hs 677;" f
useSelectedItem src/Dodge/Creature/Impulse/UseItem.hs 20;" f
useStopWatch src/Dodge/HeldUse.hs 673;" f
useStopWatch src/Dodge/Luse.hs 21;" f
useTimeCheck src/Dodge/HeldUse.hs 63;" f
useTimeCheck src/Dodge/Item/Weapon/TriggerType.hs 127;" f
useTimeScrollGun src/Dodge/HeldUse.hs 685;" f
useTimeScrollGun src/Dodge/HeldUse.hs 681;" f
useTimeScrollGun src/Dodge/Luse.hs 29;" f
useUnusedLnk src/Dodge/PlacementSpot.hs 169;" f
useUpdate src/Dodge/Creature/State.hs 433;" f