Add code for determining item orientation

This commit is contained in:
2025-06-28 21:21:50 +01:00
parent 4f0dc64e72
commit 6af2a8cc36
7 changed files with 197 additions and 138 deletions
+4
View File
@@ -8,6 +8,8 @@ module Dodge.Data.ComposedItem where
import Dodge.Data.AmmoType
import Control.Lens
import Dodge.Data.Item
import Linear
import qualified Linear.Quaternion as Q
data ItemLink
= AmmoInLink Int AmmoType
@@ -64,4 +66,6 @@ data ItemStructuralFunction
type CItem = (Item, ItemStructuralFunction)
type OItem = (Item, ItemStructuralFunction, (V3 Float,Q.Quaternion Float))
makeLenses ''ItemLink
+15
View File
@@ -15,6 +15,21 @@ singleLDT x = LDT x [] []
ldtToDT :: LDTree b a -> DoubleTree a
ldtToDT (LDT x l r) = DT x (map (ldtToDT . snd) l) (map (ldtToDT . snd) r)
ldtStartPropagate :: (a -> c) -> (c -> b -> a -> c) -> LDTree b a -> LDTree b c
ldtStartPropagate g f (LDT x l r) = LDT z
(fmap (\(j,t) -> (j,ldtPropagate' z j f t)) l)
(fmap (\(j,t) -> (j,ldtPropagate' z j f t)) r)
where
z = g x
ldtPropagate' :: c -> b -> (c -> b -> a -> c) -> LDTree b a -> LDTree b c
ldtPropagate' x i f (LDT y l r) = LDT z
(fmap (\(j,t) -> (j,ldtPropagate' z j f t)) l)
(fmap (\(j,t) -> (j,ldtPropagate' z j f t)) r)
where
z = f x i y
-- propagate two functions down the links of an LDT tree
-- which function is chosen depends on whether it is a left or right branch
ldtPropagate ::
+6 -2
View File
@@ -10,6 +10,7 @@ module Dodge.HeldUse (
heldEffectMuzzles,
) where
import qualified Quaternion as Q
import Color
import Control.Applicative
import Control.Monad
@@ -782,6 +783,7 @@ useLoadedAmmo itmtree cr (_, w) (Just (mz, x, magtree)) = (,) True $
MuzzleRLauncher -> createProjectileR itmtree magtree mz cr w
MuzzleGLauncher ->
createProjectile
(0, Q.qID)
(Grenade (getGrenadeHitEffect itmtree))
magtree
(getPJStabiliser itmtree)
@@ -1288,6 +1290,7 @@ createProjectileR ::
World
createProjectileR itmtree magtree =
createProjectile
(0, Q.qID)
( Rocket
(determineProjectileTracking magtree itmtree)
smoke
@@ -1315,6 +1318,7 @@ getGrenadeHitEffect t = case lookup GrenadeHitEffectLink (t ^. ldtRight) of
_ -> GBounce 2
createProjectile ::
(Point3, Q.Quaternion Float) ->
ProjectileType ->
LDTree ItemLink Item ->
Maybe PJStabiliser ->
@@ -1322,7 +1326,7 @@ createProjectile ::
Creature ->
World ->
World
createProjectile pjtype magtree stab muz cr = fromMaybe failsound $ do
createProjectile x pjtype magtree stab muz cr = fromMaybe failsound $ do
magid <- magtree ^? ldtValue . itLocation . ilInvID
ammoitem <- cr ^? crInv . ix magid
let rdetonate =
@@ -1336,7 +1340,7 @@ createProjectile pjtype magtree stab muz cr = fromMaybe failsound $ do
-- <|> ammoitem ^? itConsumables . magParams . ampPayload
<|> magAmmoParams ammoitem ^? _Just . ampPayload
return $
createShell rdetonate rscreen stab pjtype aparams muz cr
createShell x rdetonate rscreen stab pjtype aparams muz cr
. startthesound
where
-- the sound should be moved to the projectile firing
+11
View File
@@ -5,8 +5,13 @@ module Dodge.Item.HeldOffset (
heldItemOffset,
heldItemRelativeOrient,
heldItemOrient2D,
itemRelativeOrient,
) where
import Dodge.Item.Orientation
import Dodge.DoubleTree
import Dodge.Data.ComposedItem
import Dodge.Data.DoubleTree
import Dodge.Creature.Radius
import Dodge.Data.AimStance
import Dodge.Item.AimStance
@@ -135,3 +140,9 @@ heldHandlePos = \case
KEYCARD {} -> V2 3 0
BLINKER -> V2 3 0
BLINKERUNSAFE -> V2 3 0
itemRelativeOrient :: LocationLDT ItemLink Item -> Creature
-> (Point3, Q.Quaternion Float) -> (Point3, Q.Quaternion Float)
itemRelativeOrient loc cr
= heldItemRelativeOrient (locToTop loc ^. locLDT . ldtValue) cr
. orientLocation (V3 0 0 0,Q.qID) loc
+26 -7
View File
@@ -3,6 +3,7 @@
module Dodge.Item.Orientation (
orientAttachment,
orientLocation,
propagateOrientation,
) where
import Dodge.Data.ComposedItem
@@ -37,9 +38,10 @@ orientAttachment par lnk ch = case (_itType par, lnk, _itType ch) of
(t1, q1) = orientByLink par lnk
(t2, q2) = orientChild ch
orientLocation' :: (Point3,Q.Quaternion Float)
-> LocationLDT ItemLink Item
-> (Point3, Q.Quaternion Float)
orientLocation' ::
(Point3, Q.Quaternion Float) ->
LocationLDT ItemLink Item ->
(Point3, Q.Quaternion Float)
orientLocation' x = \case
(LocLDT TopLDT _) -> x
(LocLDT c t) -> (p + Q.rotate q p1, q * q1)
@@ -47,10 +49,27 @@ orientLocation' x = \case
(p, q) = orientLocation' x (LocLDT (_cldtUp c) (singleLDT (_cldtParent c)))
(p1, q1) = orientAttachment (_cldtParent c) (_cldtLink c) (_ldtValue t)
orientLocation ::
(Point3, Q.Quaternion Float) ->
LocationLDT ItemLink Item
-> (Point3, Q.Quaternion Float) -> (Point3, Q.Quaternion Float)
orientLocation ::
(Point3, Q.Quaternion Float) ->
LocationLDT ItemLink Item ->
(Point3, Q.Quaternion Float) ->
(Point3, Q.Quaternion Float)
orientLocation x loc (p1, q1) = (p + Q.rotate q p1, q * q1)
where
(p, q) = orientLocation' x loc
propagateOrientation :: LDTree ItemLink CItem
-> LDTree ItemLink OItem
propagateOrientation = ldtStartPropagate g f
where
g (x,y) = (x,y,(V3 0 0 0,Q.qID))
f (x,_,(p,q)) i (y,y1) = let (p1,q1) = orientAttachment x i y
in (y,y1,(p + Q.rotate q p1, q * q1))
--propagateOrientation' :: LDTree ItemLink Item
-- -> LDTree ItemLink (Item, (Point3, Q.Quaternion Float))
--propagateOrientation' = ldtStartPropagate g f
-- where
-- g x = (x,(V3 0 0 0,Q.qID))
-- f (x,(p,q)) i y = let (p1,q1) = orientAttachment x i y
-- in (y,(p + Q.rotate q p1, q * q1))
+4 -2
View File
@@ -6,6 +6,7 @@ module Dodge.Projectile.Create (
--import Dodge.Data.ComposedItem
--import Dodge.Data.DoubleTree
import qualified Quaternion as Q
import Dodge.Data.Muzzle
import Data.Maybe
import Dodge.Data.World
@@ -21,6 +22,7 @@ data PJStabiliser
-- assumes the mscreen is in your inventory
createShell ::
(Point3, Q.Quaternion Float) ->
Maybe (NewInt ItmInt) ->
Maybe (NewInt ItmInt) ->
Maybe PJStabiliser ->
@@ -30,7 +32,7 @@ createShell ::
Creature ->
World ->
World
createShell mdetonator mscreen stab pjtype payload muz cr w =
createShell (p,q) mdetonator mscreen stab pjtype payload muz cr w =
w
& updatescreen
& updatedetonator
@@ -91,4 +93,4 @@ createShell mdetonator mscreen stab pjtype payload muz cr w =
.:~ i
i = IM.newKey $ w ^. cWorld . lWorld . projectiles
dir = _crDir cr + _mzRot muz
pos = _crPos cr +.+ rotateV dir (_mzPos muz)
pos = _crPos cr + xyV3 p + rotateV dir (_mzPos muz)
+131 -127
View File
@@ -281,7 +281,7 @@ CardinalPoint src/Dodge/Base/CardinalPoint.hs 1;" m
CardinalPoint src/Dodge/Data/CardinalPoint.hs 1;" m
Carriage src/Dodge/Data/Creature/Stance.hs 20;" t
Carte src/Dodge/Render/HUD/Carte.hs 1;" m
ChainEffect src/Dodge/HeldUse.hs 69;" t
ChainEffect src/Dodge/HeldUse.hs 70;" t
ChainEffect src/Dodge/Item/Weapon/TriggerType.hs 43;" t
ChainUpdates src/Dodge/Creature/ChainUpdates.hs 1;" m
ChangePosture src/Dodge/Data/ActionPlan.hs 42;" C
@@ -1395,7 +1395,7 @@ P2ImpNo src/Dodge/Data/CreatureEffect.hs 28;" C
P2NoAction src/Dodge/Data/CreatureEffect.hs 53;" C
PIPE src/Dodge/Data/Item/Combine.hs 50;" C
PISTOL src/Dodge/Data/Item/Combine.hs 143;" C
PJStabiliser src/Dodge/Projectile/Create.hs 18;" t
PJStabiliser src/Dodge/Projectile/Create.hs 19;" t
PLANK src/Dodge/Data/Item/Combine.hs 59;" C
PLATE src/Dodge/Data/Item/Combine.hs 69;" C
PLUS src/Dodge/Data/GenParams.hs 20;" C
@@ -1845,8 +1845,8 @@ SplitBeamCombine src/Dodge/Data/Beam.hs 42;" C
SprayGuns src/Dodge/Item/Held/SprayGuns.hs 1;" m
SpreadGunAI src/Dodge/Data/Creature/Misc.hs 42;" C
SpreadGunCrit src/Dodge/Creature/SpreadGunCrit.hs 1;" m
StabOrthReduce src/Dodge/Projectile/Create.hs 19;" C
StabSpinIncrease src/Dodge/Projectile/Create.hs 20;" C
StabOrthReduce src/Dodge/Projectile/Create.hs 20;" C
StabSpinIncrease src/Dodge/Projectile/Create.hs 21;" C
Stance src/Dodge/Data/Creature/Stance.hs 13;" t
Stance src/Dodge/Data/Creature/Stance.hs 6;" m
StandaloneWall src/Dodge/Data/Wall/Structure.hs 13;" C
@@ -3349,10 +3349,10 @@ advanceSmoothScroll src/Dodge/SmoothScroll.hs 33;" f
advanceStepCounter src/Dodge/Creature/Impulse/Movement.hs 44;" f
aimDelaySweep src/Dodge/Render/Picture.hs 264;" f
aimStance src/Dodge/Item/AimStance.hs 13;" f
aimStanceHandlePos src/Dodge/Item/HeldOffset.hs 65;" f
aimStanceHandlePos src/Dodge/Item/HeldOffset.hs 70;" f
aimStanceInfo src/Dodge/Item/Info.hs 243;" f
aimTurn src/Dodge/Creature/YourControl.hs 165;" f
aimingWeaponZeroPos src/Dodge/Item/HeldOffset.hs 61;" f
aimingWeaponZeroPos src/Dodge/Item/HeldOffset.hs 66;" f
airlock src/Dodge/Room/Airlock.hs 19;" f
airlock0 src/Dodge/Room/Airlock.hs 25;" f
airlock90 src/Dodge/Room/Airlock.hs 122;" f
@@ -3377,21 +3377,21 @@ angleVV3 src/Geometry/Vector3D.hs 122;" f
annoToRoomTree src/Dodge/Annotation.hs 17;" f
anyUnusedSpot src/Dodge/PlacementSpot.hs 66;" f
anythingHitCirc src/Dodge/Base/Collide.hs 247;" f
applyCME src/Dodge/HeldUse.hs 410;" f
applyCME src/Dodge/HeldUse.hs 411;" f
applyCreatureDamage src/Dodge/Creature/Damage.hs 13;" f
applyEventIO src/Loop.hs 89;" f
applyGravityPU src/Dodge/Projectile/Update.hs 56;" f
applyIndividualDamage src/Dodge/Creature/Damage.hs 16;" f
applyInvLock src/Dodge/HeldUse.hs 476;" f
applyInvLock src/Dodge/HeldUse.hs 477;" f
applyMagnetsToBul src/Dodge/Bullet.hs 30;" f
applyPastDamages src/Dodge/Creature/State.hs 135;" f
applyPiercingDamage src/Dodge/Creature/Damage.hs 22;" f
applyPosition src/Sound.hs 111;" f
applyRecoil src/Dodge/HeldUse.hs 508;" f
applyRecoil src/Dodge/HeldUse.hs 509;" f
applyResFactor src/Dodge/Data/Config.hs 110;" f
applySetTerminalString src/Dodge/Debug/Terminal.hs 81;" f
applySidePush src/Dodge/HeldUse.hs 607;" f
applySoundCME src/Dodge/HeldUse.hs 498;" f
applySidePush src/Dodge/HeldUse.hs 608;" f
applySoundCME src/Dodge/HeldUse.hs 499;" f
applyTerminalCommand src/Dodge/Debug/Terminal.hs 28;" f
applyTerminalCommandArguments src/Dodge/Debug/Terminal.hs 42;" f
applyTerminalString src/Dodge/Debug/Terminal.hs 22;" f
@@ -3399,7 +3399,7 @@ applyToNode src/TreeHelp.hs 64;" f
applyToRandomNode src/TreeHelp.hs 150;" f
applyToSubforest src/TreeHelp.hs 77;" f
applyToSubtree src/TreeHelp.hs 70;" f
applyTorqueCME src/Dodge/HeldUse.hs 618;" f
applyTorqueCME src/Dodge/HeldUse.hs 619;" f
applyWorldConfig src/Dodge/Config/Update.hs 38;" f
aquamarine src/Color.hs 23;" f
arHUD src/Dodge/Item/Scope.hs 134;" f
@@ -3472,7 +3472,7 @@ baseSMGShape src/Dodge/Item/Draw/SPic.hs 382;" f
baseShoulder src/Dodge/Creature/Picture.hs 125;" f
baseStickShape src/Dodge/Item/Draw/SPic.hs 288;" f
baseStickShapeX src/Dodge/Item/Draw/SPic.hs 281;" f
baseStickSpread src/Dodge/HeldUse.hs 306;" f
baseStickSpread src/Dodge/HeldUse.hs 307;" f
baseTriggerType src/Dodge/Item/TriggerType.hs 5;" f
basicAttentionUpdate src/Dodge/Creature/Perception.hs 128;" f
basicAwarenessUpdate src/Dodge/Creature/Perception.hs 38;" f
@@ -3482,7 +3482,7 @@ basicDrawBeam src/Dodge/Beam/Draw.hs 11;" f
basicItemDisplay src/Dodge/Item/Display.hs 22;" f
basicMachineApplyDamage src/Dodge/Machine/Damage.hs 6;" f
basicMachineUpdate src/Dodge/Machine.hs 13;" f
basicMuzFlare src/Dodge/HeldUse.hs 758;" f
basicMuzFlare src/Dodge/HeldUse.hs 759;" f
basicTerminal src/Dodge/Terminal.hs 35;" f
battery src/Dodge/Item/Ammo.hs 62;" f
batteryPack src/Dodge/Item/Equipment.hs 46;" f
@@ -3491,7 +3491,7 @@ beltMag src/Dodge/Item/Ammo.hs 38;" f
bfsNodePoints src/Dodge/Path.hs 58;" f
bfsThenReturn src/Dodge/Creature/ReaderUpdate.hs 218;" f
bgateCalc src/Dodge/Inventory/SelectionList.hs 114;" f
bgunSound src/Dodge/HeldUse.hs 561;" f
bgunSound src/Dodge/HeldUse.hs 562;" f
bindFBO src/Render.hs 244;" f
bingate src/Dodge/Item/Scope.hs 109;" f
black src/Color.hs 27;" f
@@ -3634,7 +3634,7 @@ clampPath src/Dodge/Room/Procedural.hs 166;" f
clang1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 549;" f
clang2S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 663;" f
clangS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 531;" f
cldtPropagateFold src/Dodge/DoubleTree.hs 268;" f
cldtPropagateFold src/Dodge/DoubleTree.hs 283;" f
cleanUpPreload src/Preload.hs 10;" f
cleanUpRenderPreload src/Preload/Render.hs 217;" f
cleanUpSoundPreload src/Preload.hs 15;" f
@@ -3777,14 +3777,14 @@ createItemYou src/Dodge/Inventory/Add.hs 95;" f
createLightMap src/Render.hs 26;" f
createNewArc src/Dodge/Tesla/Arc.hs 90;" f
createPathGrid src/Dodge/Room/Path.hs 21;" f
createProjectile src/Dodge/HeldUse.hs 1317;" f
createProjectileR src/Dodge/HeldUse.hs 1282;" f
createShell src/Dodge/Projectile/Create.hs 23;" f
createProjectile src/Dodge/HeldUse.hs 1320;" f
createProjectileR src/Dodge/HeldUse.hs 1284;" f
createShell src/Dodge/Projectile/Create.hs 24;" f
createShieldWall src/Dodge/Item/BackgroundEffect.hs 39;" f
createUnusedLinkPos src/Dodge/Tree/Shift.hs 117;" f
createWall src/Dodge/Wall/Create.hs 8;" f
creatureDisplayText src/Dodge/Creature/Picture/Awareness.hs 11;" f
creatureShootLaser src/Dodge/HeldUse.hs 871;" f
creatureShootLaser src/Dodge/HeldUse.hs 873;" f
creatureTurnTo src/Dodge/Creature/Impulse/Movement.hs 52;" f
creatureTurnToward src/Dodge/Creature/Impulse/Movement.hs 73;" f
creatureTurnTowardDir src/Dodge/Creature/Impulse/Movement.hs 62;" f
@@ -3855,7 +3855,7 @@ dark src/Color.hs 108;" f
darkenBackground src/Dodge/Render/MenuScreen.hs 52;" f
dbArg src/Dodge/Base.hs 165;" f
dbArgChain src/Dodge/Base.hs 170;" f
dbwMuzzles src/Dodge/HeldUse.hs 309;" f
dbwMuzzles src/Dodge/HeldUse.hs 310;" f
deZoneIX src/Dodge/Zoning/Base.hs 89;" f
deZoneWall src/Dodge/Zoning/Wall.hs 70;" f
deadEndRoom src/Dodge/Room/Room.hs 235;" f
@@ -3973,7 +3973,7 @@ detector src/Dodge/Item/Held/Utility.hs 27;" f
detectorColor src/Dodge/Item/Draw/SPic.hs 451;" f
detectorEffect src/Dodge/Item/Weapon/Radar.hs 20;" f
detectorInfo src/Dodge/Item/Info.hs 224;" f
determineProjectileTracking src/Dodge/HeldUse.hs 1268;" f
determineProjectileTracking src/Dodge/HeldUse.hs 1270;" f
diagonalLinesRect src/Dodge/Room/Foreground.hs 52;" f
did src/Dodge/Item/InvSize.hs 54;" f
diffAngles src/Geometry.hs 204;" f
@@ -4038,9 +4038,9 @@ doDrag src/Dodge/Update/Input/InGame.hs 107;" f
doDrawing src/Dodge/Render.hs 35;" f
doDrawing' src/Dodge/Render.hs 46;" f
doFloatFloat src/Dodge/FloatFunction.hs 5;" f
doGenFloat src/Dodge/HeldUse.hs 1226;" f
doGenFloat src/Dodge/HeldUse.hs 1228;" f
doGravityPU src/Dodge/Projectile/Update.hs 50;" f
doHeldUseEffect src/Dodge/HeldUse.hs 339;" f
doHeldUseEffect src/Dodge/HeldUse.hs 340;" f
doInPlacements src/Dodge/Layout.hs 92;" f
doIndividualPlacements src/Dodge/Layout.hs 117;" f
doInputScreenInput src/Dodge/Update/Input/ScreenLayer.hs 28;" f
@@ -4101,7 +4101,7 @@ doubleCorridorBarrels src/Dodge/Room/Room.hs 265;" f
doubleLampCover src/Dodge/Placement/Instance/LightSource/Cover.hs 28;" f
doublePair src/Geometry.hs 161;" f
doublePairSet src/Geometry.hs 165;" f
doubleTreeToIndentList src/Dodge/DoubleTree.hs 80;" f
doubleTreeToIndentList src/Dodge/DoubleTree.hs 95;" f
doubleV2 src/Geometry.hs 168;" f
drawARHUD src/Dodge/Creature/State.hs 322;" f
drawAimSweep src/Dodge/Render/Picture.hs 271;" f
@@ -4232,7 +4232,7 @@ drawZoneNearPointCursor src/Dodge/Debug/Picture.hs 279;" f
droneLauncher src/Dodge/Item/Weapon/Drone.hs 11;" f
dropAll src/Dodge/Creature/State.hs 128;" f
dropExcept src/Dodge/Creature/Action.hs 166;" f
dropInventoryPath src/Dodge/HeldUse.hs 1396;" f
dropInventoryPath src/Dodge/HeldUse.hs 1400;" f
dropItem src/Dodge/Creature/Action.hs 172;" f
dropper src/Dodge/Item/Scope.hs 76;" f
drumMag src/Dodge/Item/Ammo.hs 33;" f
@@ -4241,15 +4241,15 @@ dssNearCirc src/Dodge/Zoning/Cloud.hs 39;" f
dssNearPoint src/Dodge/Zoning/Cloud.hs 30;" f
dssNearRect src/Dodge/Zoning/Cloud.hs 36;" f
dssNearSeg src/Dodge/Zoning/Cloud.hs 33;" f
dtIL src/Dodge/DoubleTree.hs 83;" f
dtToAdjRootParent src/Dodge/DoubleTree.hs 146;" f
dtToAdjRootParentEither src/Dodge/DoubleTree.hs 154;" f
dtToAdjacency src/Dodge/DoubleTree.hs 91;" f
dtToIntMapWithRoot src/Dodge/DoubleTree.hs 99;" f
dtToLRAdj src/Dodge/DoubleTree.hs 119;" f
dtToLRAdjEither src/Dodge/DoubleTree.hs 131;" f
dtToRootIntMap' src/Dodge/DoubleTree.hs 104;" f
dtToUpDownAdj src/Dodge/DoubleTree.hs 109;" f
dtIL src/Dodge/DoubleTree.hs 98;" f
dtToAdjRootParent src/Dodge/DoubleTree.hs 161;" f
dtToAdjRootParentEither src/Dodge/DoubleTree.hs 169;" f
dtToAdjacency src/Dodge/DoubleTree.hs 106;" f
dtToIntMapWithRoot src/Dodge/DoubleTree.hs 114;" f
dtToLRAdj src/Dodge/DoubleTree.hs 134;" f
dtToLRAdjEither src/Dodge/DoubleTree.hs 146;" f
dtToRootIntMap' src/Dodge/DoubleTree.hs 119;" f
dtToUpDownAdj src/Dodge/DoubleTree.hs 124;" f
dummyMenuOption src/Dodge/Menu/Option.hs 74;" f
dustColor src/Shader/Poke/Cloud.hs 71;" f
dustSpringVel src/Dodge/Update.hs 796;" f
@@ -4347,7 +4347,7 @@ firstWorldLoad appDodge/Main.hs 77;" f
fixedCoordPictures src/Dodge/Render/Picture.hs 17;" f
fixedSizePicClampArrow src/Dodge/Picture/SizeInvariant.hs 57;" f
flFlicker src/Dodge/Flame.hs 38;" f
flameMuzzles src/Dodge/HeldUse.hs 312;" f
flameMuzzles src/Dodge/HeldUse.hs 313;" f
flameShield src/Dodge/Item/Equipment.hs 33;" f
flameSize src/Dodge/Flame/Size.hs 5;" f
flameSpitter src/Dodge/Item/Held/SprayGuns.hs 23;" f
@@ -4355,7 +4355,7 @@ flameThrower src/Dodge/Item/Held/SprayGuns.hs 64;" f
flameTorrent src/Dodge/Item/Held/SprayGuns.hs 32;" f
flameWall src/Dodge/Item/Held/SprayGuns.hs 48;" f
flamerPic src/Dodge/Item/Draw/SPic.hs 385;" f
flareCircleAt src/Dodge/HeldUse.hs 739;" f
flareCircleAt src/Dodge/HeldUse.hs 740;" f
flatItemCombinations src/Dodge/Combine/Combinations.hs 51;" f
flatLookupItems src/Dodge/Combine.hs 39;" f
flatShield src/Dodge/Item/Held/Utility.hs 17;" f
@@ -4415,14 +4415,14 @@ fuseWallsWith src/Dodge/LevelGen/StaticWalls.hs 172;" f
g src/ShortShow.hs 33;" f
gLauncher src/Dodge/Item/Held/Launcher.hs 24;" f
gRandify src/Dodge/Randify.hs 11;" f
gadgetEffect src/Dodge/HeldUse.hs 48;" f
gadgetEffect src/Dodge/HeldUse.hs 49;" f
gameOverMenu src/Dodge/Menu.hs 187;" f
gameRoomFromRoom src/Dodge/Layout.hs 161;" f
gameRoomViewpoints src/Dodge/Viewpoints.hs 35;" f
gameRoomsFromRooms src/Dodge/Layout.hs 158;" f
gameplayMenu src/Dodge/Menu.hs 134;" f
gameplayMenuOptions src/Dodge/Menu.hs 137;" f
gasType src/Dodge/HeldUse.hs 1182;" f
gasType src/Dodge/HeldUse.hs 1184;" f
generateGenParams src/Dodge/LevelGen/LevelStructure.hs 22;" f
generateGraphs src/Dodge/LevelGen.hs 39;" f
generateLayout src/Dodge/Layout/Generate.hs 10;" f
@@ -4437,11 +4437,11 @@ getAimZoom src/Dodge/Update/Camera.hs 135;" f
getAmmoLinks src/Dodge/Item/Grammar.hs 110;" f
getArguments src/Dodge/Update/Scroll.hs 178;" f
getArguments' src/Dodge/Update/Scroll.hs 166;" f
getAttachedSFLink src/Dodge/HeldUse.hs 809;" f
getAttachedSFLink src/Dodge/HeldUse.hs 811;" f
getAutoSpringLinks src/Dodge/Item/Grammar.hs 89;" f
getAvailableListLines src/Dodge/SelectionList.hs 10;" f
getBulHitDams src/Dodge/Bullet.hs 171;" f
getBulletType src/Dodge/HeldUse.hs 928;" f
getBulletType src/Dodge/HeldUse.hs 930;" f
getCloseObj src/Dodge/Update/Input/InGame.hs 515;" f
getCommands src/Dodge/Terminal.hs 117;" f
getCommandsHelp src/Dodge/Terminal.hs 75;" f
@@ -4449,17 +4449,17 @@ getCrMoveSpeed src/Dodge/Creature/Statistics.hs 45;" f
getDamageCoding src/Dodge/Terminal.hs 177;" f
getDistortions src/Dodge/Render.hs 411;" f
getEquipmentAllocation src/Dodge/Inventory/RBList.hs 47;" f
getGrenadeHitEffect src/Dodge/HeldUse.hs 1310;" f
getGrenadeHitEffect src/Dodge/HeldUse.hs 1313;" f
getInventoryPath src/Dodge/Inventory/Path.hs 8;" f
getItemValue src/Dodge/Inventory/SelectionList.hs 143;" f
getLaserColor src/Dodge/HeldUse.hs 755;" f
getLaserDamage src/Dodge/HeldUse.hs 752;" f
getLaserPhaseV src/Dodge/HeldUse.hs 749;" f
getLaserColor src/Dodge/HeldUse.hs 756;" f
getLaserDamage src/Dodge/HeldUse.hs 753;" f
getLaserPhaseV src/Dodge/HeldUse.hs 750;" f
getLinksOfType src/Dodge/RoomLink.hs 39;" f
getMaxLinesTM src/Dodge/Terminal/Type.hs 11;" f
getMenuMouseContext src/Dodge/Update.hs 392;" f
getNodePos src/Dodge/Path.hs 31;" f
getPJStabiliser src/Dodge/HeldUse.hs 1302;" f
getPJStabiliser src/Dodge/HeldUse.hs 1305;" f
getPretty src/AesonHelp.hs 8;" f
getPromptTM src/Dodge/Terminal/Type.hs 8;" f
getRootItemBounds src/Dodge/Render/HUD.hs 95;" f
@@ -4469,7 +4469,7 @@ getSmoothScrollValue src/Dodge/SmoothScroll.hs 21;" f
getSplitString src/Dodge/Debug/Terminal.hs 126;" f
getTiles src/Dodge/Layout.hs 208;" f
getViewpoints src/Dodge/Viewpoints.hs 29;" f
getVolleyBurst src/Dodge/HeldUse.hs 104;" f
getVolleyBurst src/Dodge/HeldUse.hs 105;" f
getWallSPic src/Dodge/Render/Walls.hs 51;" f
getWindowSize src/Dodge/WindowSize.hs 5;" f
gimbal src/Dodge/Item/Scope.hs 153;" f
@@ -4519,14 +4519,14 @@ hackOutline src/Dodge/Render/Outline.hs 5;" f
halfHeight src/Dodge/Base/Window.hs 48;" f
halfWidth src/Dodge/Base/Window.hs 48;" f
haltSound src/Dodge/SoundLogic.hs 38;" f
hammerCheck src/Dodge/HeldUse.hs 76;" f
hammerCheck src/Dodge/HeldUse.hs 77;" f
handleEvent src/Dodge/Event.hs 27;" f
handleHotkeys src/Dodge/Creature/YourControl.hs 45;" f
handleKeyboardEvent src/Dodge/Event/Input.hs 22;" f
handleMouseButtonEvent src/Dodge/Event/Input.hs 63;" f
handleMouseMotionEvent src/Dodge/Event/Input.hs 47;" f
handleMouseWheelEvent src/Dodge/Event/Input.hs 58;" f
handlePos src/Dodge/Item/HeldOffset.hs 90;" f
handlePos src/Dodge/Item/HeldOffset.hs 95;" f
handleResizeEvent src/Dodge/Event.hs 53;" f
handleTextInput src/Dodge/Event/Input.hs 18;" f
handleWindowMoveEvent src/Dodge/Event.hs 44;" f
@@ -4540,7 +4540,7 @@ hat src/Dodge/Item/Equipment.hs 76;" f
head src/DoubleStack.hs 14;" f
headLamp src/Dodge/Item/Equipment.hs 79;" f
headLampShape src/Dodge/Item/Draw/SPic.hs 441;" f
headMap src/Dodge/DoubleTree.hs 199;" f
headMap src/Dodge/DoubleTree.hs 214;" f
heal src/Dodge/Item/Consumable.hs 17;" f
heal25 src/Dodge/Item/Consumable.hs 14;" f
healS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 483;" f
@@ -4549,24 +4549,24 @@ healthTest src/Dodge/Room/LasTurret.hs 95;" f
heightWallPS src/Dodge/Placement/Instance/Wall.hs 13;" f
heldAimStance src/Dodge/Item/AimStance.hs 22;" f
heldAimZoom src/Dodge/Update/Camera.hs 140;" f
heldEffect src/Dodge/HeldUse.hs 63;" f
heldEffectMuzzles src/Dodge/HeldUse.hs 145;" f
heldEffectNoHammerCheck src/Dodge/HeldUse.hs 66;" f
heldHandlePos src/Dodge/Item/HeldOffset.hs 95;" f
heldEffect src/Dodge/HeldUse.hs 64;" f
heldEffectMuzzles src/Dodge/HeldUse.hs 146;" f
heldEffectNoHammerCheck src/Dodge/HeldUse.hs 67;" f
heldHandlePos src/Dodge/Item/HeldOffset.hs 100;" f
heldInfo src/Dodge/Item/Info.hs 90;" f
heldItemAmmoSlots src/Dodge/Item/AmmoSlots.hs 18;" f
heldItemBulkiness src/Dodge/Creature/YourControl.hs 177;" f
heldItemInvLock src/Dodge/HeldUse.hs 491;" f
heldItemMuzVel src/Dodge/HeldUse.hs 1068;" f
heldItemMuzzles src/Dodge/HeldUse.hs 173;" f
heldItemOffset src/Dodge/Item/HeldOffset.hs 72;" f
heldItemOrient2D src/Dodge/Item/HeldOffset.hs 29;" f
heldItemRelativeOrient src/Dodge/Item/HeldOffset.hs 34;" f
heldItemRifling src/Dodge/HeldUse.hs 1112;" f
heldItemInvLock src/Dodge/HeldUse.hs 492;" f
heldItemMuzVel src/Dodge/HeldUse.hs 1070;" f
heldItemMuzzles src/Dodge/HeldUse.hs 174;" f
heldItemOffset src/Dodge/Item/HeldOffset.hs 77;" f
heldItemOrient2D src/Dodge/Item/HeldOffset.hs 34;" f
heldItemRelativeOrient src/Dodge/Item/HeldOffset.hs 39;" f
heldItemRifling src/Dodge/HeldUse.hs 1114;" f
heldItemSPic src/Dodge/Item/Draw/SPic.hs 223;" f
heldItemWeight src/Dodge/Creature/Statistics.hs 71;" f
heldPositionInfo src/Dodge/Item/Info.hs 240;" f
heldTorqueAmount src/Dodge/HeldUse.hs 634;" f
heldTorqueAmount src/Dodge/HeldUse.hs 635;" f
heldTriggerType src/Dodge/BaseTriggerType.hs 17;" f
heldUseDelay src/Dodge/Item/UseDelay.hs 18;" f
helpCommand src/Dodge/Terminal.hs 66;" f
@@ -4590,7 +4590,7 @@ humanoidAIList src/Dodge/Humanoid.hs 182;" f
iShape src/Dodge/Placement/Instance/LightSource.hs 73;" f
icosahedronPoints src/Polyhedra/Geodesic.hs 12;" f
icosohedronFaces src/Polyhedra/Geodesic.hs 19;" f
ildtPropagate src/Dodge/DoubleTree.hs 62;" f
ildtPropagate src/Dodge/DoubleTree.hs 77;" f
impulsiveAIBefore src/Dodge/Creature/Impulse.hs 23;" f
inLink src/Dodge/RoomLink.hs 113;" f
inSegArea src/Geometry/Intersect.hs 298;" f
@@ -4681,7 +4681,7 @@ invertIntMap src/Multiset.hs 67;" f
invertInventoryToMap src/Dodge/Combine.hs 57;" f
invisibleChaseCrit src/Dodge/Creature/ChaseCrit.hs 21;" f
invisibleWall src/Dodge/Placement/Instance/Wall.hs 16;" f
isAmmoIntLink src/Dodge/HeldUse.hs 765;" f
isAmmoIntLink src/Dodge/HeldUse.hs 766;" f
isAnimate src/Dodge/Creature/Test.hs 143;" f
isCognizant src/Dodge/Creature/Perception.hs 106;" f
isConnected src/Dodge/Inventory/Swap.hs 74;" f
@@ -4718,7 +4718,7 @@ itemBlips src/Dodge/RadarSweep.hs 93;" f
itemBulkiness src/Dodge/Creature/YourControl.hs 172;" f
itemCombinations src/Dodge/Combine/Combinations.hs 56;" f
itemCombinationsEdges src/Dodge/Combine/Graph.hs 61;" f
itemDetectorEffect src/Dodge/HeldUse.hs 815;" f
itemDetectorEffect src/Dodge/HeldUse.hs 817;" f
itemDisplay src/Dodge/Inventory/SelectionList.hs 49;" f
itemEquipPict src/Dodge/Item/Draw.hs 18;" f
itemExternalValue src/Dodge/Inventory/SelectionList.hs 84;" f
@@ -4730,9 +4730,10 @@ itemFromHeldType src/Dodge/Item/Held.hs 25;" f
itemInfo src/Dodge/Item/Info.hs 20;" f
itemInternalValue src/Dodge/Item/Display.hs 33;" f
itemInvColor src/Dodge/Item/InventoryColor.hs 9;" f
itemInvLock src/Dodge/HeldUse.hs 486;" f
itemMuzzles src/Dodge/HeldUse.hs 158;" f
itemRandomOffset src/Dodge/HeldUse.hs 1005;" f
itemInvLock src/Dodge/HeldUse.hs 487;" f
itemMuzzles src/Dodge/HeldUse.hs 159;" f
itemRandomOffset src/Dodge/HeldUse.hs 1007;" f
itemRelativeOrient src/Dodge/Item/HeldOffset.hs 144;" f
itemRooms src/Dodge/LockAndKey.hs 39;" f
itemRotTreeSPic src/Dodge/Item/Draw/SPic.hs 27;" f
itemSPic src/Dodge/Item/Draw/SPic.hs 33;" f
@@ -4740,7 +4741,7 @@ itemScan src/Dodge/Item/Scope.hs 63;" f
itemScroll src/Dodge/Update/Scroll.hs 52;" f
itemScrollDisplay src/Dodge/Inventory/SelectionList.hs 120;" f
itemScrollValue src/Dodge/Inventory/SelectionList.hs 147;" f
itemSidePush src/Dodge/HeldUse.hs 432;" f
itemSidePush src/Dodge/HeldUse.hs 433;" f
itemString src/Dodge/Item/Display.hs 55;" f
itemToBreakLists src/Dodge/Item/Grammar.hs 34;" f
itemToFunction src/Dodge/Item/Grammar.hs 116;" f
@@ -4789,19 +4790,21 @@ lasTunnel src/Dodge/Room/LasTurret.hs 126;" f
lasTunnelRunPast src/Dodge/Room/LasTurret.hs 167;" f
lasTurret src/Dodge/Placement/Instance/Turret.hs 38;" f
laser src/Dodge/Item/Held/BatteryGuns.hs 41;" f
lastMap src/Dodge/DoubleTree.hs 203;" f
lastMap src/Dodge/DoubleTree.hs 218;" f
launcherCrit src/Dodge/Creature/LauncherCrit.hs 12;" f
layoutLevelFromSeed src/Dodge/LevelGen.hs 47;" f
ldpVerticalSelection src/Dodge/Update/Input/ScreenLayer.hs 74;" f
ldtIL src/Dodge/DoubleTree.hs 175;" f
ldtPropagate src/Dodge/DoubleTree.hs 20;" f
ldtPropagateFold src/Dodge/DoubleTree.hs 32;" f
ldtPropagateFoldTree src/Dodge/DoubleTree.hs 49;" f
ldtPropagateIndices src/Dodge/DoubleTree.hs 72;" f
ldtIL src/Dodge/DoubleTree.hs 190;" f
ldtPropagate src/Dodge/DoubleTree.hs 35;" f
ldtPropagate' src/Dodge/DoubleTree.hs 26;" f
ldtPropagateFold src/Dodge/DoubleTree.hs 47;" f
ldtPropagateFoldTree src/Dodge/DoubleTree.hs 64;" f
ldtPropagateIndices src/Dodge/DoubleTree.hs 87;" f
ldtStartPropagate src/Dodge/DoubleTree.hs 18;" f
ldtToDT src/Dodge/DoubleTree.hs 15;" f
ldtToIM src/Dodge/DoubleTree.hs 169;" f
ldtToIndentList src/Dodge/DoubleTree.hs 172;" f
ldtToLoc src/Dodge/DoubleTree.hs 218;" f
ldtToIM src/Dodge/DoubleTree.hs 184;" f
ldtToIndentList src/Dodge/DoubleTree.hs 187;" f
ldtToLoc src/Dodge/DoubleTree.hs 233;" f
left src/DoubleStack.hs 16;" f
leftChildList src/Dodge/Item/Grammar.hs 180;" f
leftIsParentCombine src/Dodge/Item/Grammar.hs 164;" f
@@ -4840,7 +4843,7 @@ lnkMidPosInvSelsCol src/Dodge/Render/HUD.hs 394;" f
lnkPosDir src/Dodge/RoomLink.hs 97;" f
loadDodgeConfig src/Dodge/Config/Load.hs 9;" f
loadMusic src/Dodge/SoundLogic/LoadSound.hs 30;" f
loadMuzzle src/Dodge/HeldUse.hs 679;" f
loadMuzzle src/Dodge/HeldUse.hs 680;" f
loadSaveSlot src/Dodge/Save.hs 74;" f
loadSeed src/Dodge/LoadSeed.hs 7;" f
loadSound src/Dodge/SoundLogic/LoadSound.hs 11;" f
@@ -4848,13 +4851,13 @@ loadSounds src/Dodge/SoundLogic/LoadSound.hs 18;" f
loadingScreen src/Dodge/Concurrent.hs 56;" f
loadingScreen src/Dodge/Menu/Loading.hs 8;" f
loadme src/Dodge/Debug/Terminal.hs 139;" f
locGoHelp src/Dodge/DoubleTree.hs 258;" f
locGoLeft src/Dodge/DoubleTree.hs 247;" f
locGoRight src/Dodge/DoubleTree.hs 252;" f
locLeftmost src/Dodge/DoubleTree.hs 240;" f
locRightmost src/Dodge/DoubleTree.hs 243;" f
locToTop src/Dodge/DoubleTree.hs 235;" f
locUp src/Dodge/DoubleTree.hs 222;" f
locGoHelp src/Dodge/DoubleTree.hs 273;" f
locGoLeft src/Dodge/DoubleTree.hs 262;" f
locGoRight src/Dodge/DoubleTree.hs 267;" f
locLeftmost src/Dodge/DoubleTree.hs 255;" f
locRightmost src/Dodge/DoubleTree.hs 258;" f
locToTop src/Dodge/DoubleTree.hs 250;" f
locUp src/Dodge/DoubleTree.hs 237;" f
lockInv src/Dodge/Inventory/Lock.hs 9;" f
lockInvFor src/Dodge/Item/Weapon/TriggerType.hs 50;" f
lockRoomKeyItems src/Dodge/LockAndKey.hs 25;" f
@@ -4883,7 +4886,7 @@ machineAddSound src/Dodge/Machine.hs 49;" f
machinePistol src/Dodge/Item/Held/Stick.hs 52;" f
machineUpdateDeathEff src/Dodge/Machine.hs 34;" f
machineUpdateLiveDieEff src/Dodge/Machine.hs 16;" f
magAmmoParams src/Dodge/HeldUse.hs 949;" f
magAmmoParams src/Dodge/HeldUse.hs 951;" f
magAmmoType src/Dodge/Item/MagAmmoType.hs 11;" f
magShield src/Dodge/Item/Equipment.hs 27;" f
magV src/Geometry/Vector.hs 171;" f
@@ -4898,8 +4901,8 @@ makeAttach src/Dodge/Item/Attach.hs 10;" f
makeBlip src/Dodge/RadarSweep.hs 69;" f
makeBlockDebris src/Dodge/Block/Debris.hs 28;" f
makeBoolOption src/Dodge/Menu/OptionType.hs 8;" f
makeBullet src/Dodge/HeldUse.hs 1049;" f
makeBullet' src/Dodge/HeldUse.hs 991;" f
makeBullet src/Dodge/HeldUse.hs 1051;" f
makeBullet' src/Dodge/HeldUse.hs 993;" f
makeButton src/Dodge/LevelGen/Switch.hs 16;" f
makeByteStringShaderUsingVAO src/Shader/Compile.hs 128;" f
makeCloudAt src/Dodge/WorldEvent/Cloud.hs 7;" f
@@ -4925,7 +4928,7 @@ makeGasCloud src/Dodge/WorldEvent/SpawnParticle.hs 11;" f
makeGrid src/Grid.hs 46;" f
makeIntInterval src/Dodge/Zoning/Base.hs 35;" f
makeMovingEB src/Dodge/EnergyBall.hs 74;" f
makeMuzzleFlare src/Dodge/HeldUse.hs 700;" f
makeMuzzleFlare src/Dodge/HeldUse.hs 701;" f
makeParagraph src/Justify.hs 6;" f
makePathBetween src/Dodge/Path.hs 35;" f
makePathBetweenPs src/Dodge/Path.hs 54;" f
@@ -4980,11 +4983,11 @@ mcProximitySensorUpdate src/Dodge/Machine/Update.hs 130;" f
mcSPic src/Dodge/Render/ShapePicture.hs 111;" f
mcSensorTriggerUpdate src/Dodge/Machine/Update.hs 93;" f
mcSensorUpdate src/Dodge/Machine/Update.hs 125;" f
mcShootAuto src/Dodge/HeldUse.hs 1237;" f
mcShootLaser src/Dodge/HeldUse.hs 1230;" f
mcShootAuto src/Dodge/HeldUse.hs 1239;" f
mcShootLaser src/Dodge/HeldUse.hs 1232;" f
mcTriggerVal src/Dodge/Machine/Update.hs 99;" f
mcTypeUpdate src/Dodge/Machine/Update.hs 28;" f
mcUseHeld src/Dodge/HeldUse.hs 1156;" f
mcUseHeld src/Dodge/HeldUse.hs 1158;" f
mcUseItem src/Dodge/Machine/Update.hs 85;" f
medkit src/Dodge/Item/Consumable.hs 8;" f
megaBattery src/Dodge/Item/Ammo.hs 54;" f
@@ -5077,7 +5080,7 @@ multiArrow src/Picture/Composite.hs 11;" f
multiLookupTrie src/SimpleTrie.hs 34;" f
multiLookupTrieI src/SimpleTrie.hs 43;" f
muout src/Dodge/RoomLink.hs 129;" f
muzFlareAt src/Dodge/HeldUse.hs 725;" f
muzFlareAt src/Dodge/HeldUse.hs 726;" f
mvButton src/Dodge/Placement/PlaceSpot.hs 176;" f
mvCr src/Dodge/Placement/PlaceSpot.hs 186;" f
mvFS src/Dodge/Placement/PlaceSpot.hs 189;" f
@@ -5153,11 +5156,11 @@ orderAroundFirst src/Geometry/Polygon.hs 82;" f
orderAroundFirstReverse src/Geometry/Polygon.hs 78;" f
orderPolygon src/Geometry/Polygon.hs 87;" f
orderPolygonAround src/Geometry/Polygon.hs 70;" f
orientAttachment src/Dodge/Item/Orientation.hs 35;" f
orientByLink src/Dodge/Item/Orientation.hs 28;" f
orientAttachment src/Dodge/Item/Orientation.hs 30;" f
orientByLink src/Dodge/Item/Orientation.hs 23;" f
orientChild src/Dodge/Item/Orientation.hs 15;" f
orientLocation src/Dodge/Item/Orientation.hs 53;" f
orientLocation' src/Dodge/Item/Orientation.hs 45;" f
orientLocation src/Dodge/Item/Orientation.hs 51;" f
orientLocation' src/Dodge/Item/Orientation.hs 40;" f
orthogonalPointOnSeg src/Geometry/Intersect.hs 291;" f
outLink src/Dodge/RoomLink.hs 105;" f
outsideScreenPolygon src/Dodge/Debug/Picture.hs 44;" f
@@ -5356,8 +5359,8 @@ preCritStart src/Dodge/Room/Start.hs 82;" f
preloadRender src/Preload/Render.hs 30;" f
premapMaybe src/FoldlHelp.hs 26;" f
prependTwo src/Geometry.hs 176;" f
prettyDT src/Dodge/DoubleTree.hs 208;" f
prettyLDT src/Dodge/DoubleTree.hs 213;" f
prettyDT src/Dodge/DoubleTree.hs 223;" f
prettyLDT src/Dodge/DoubleTree.hs 228;" f
prettyShort src/AesonHelp.hs 11;" f
primeS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 581;" f
printColumnTitles src/Dodge/Tree/Shift.hs 142;" f
@@ -5377,6 +5380,7 @@ propSPic src/Dodge/Prop/Draw.hs 15;" f
propSetToggleAnd src/Dodge/Prop/Update.hs 41;" f
propUpdateIf src/Dodge/Prop/Update.hs 25;" f
propUpdatePosition src/Dodge/Prop/Update.hs 30;" f
propagateOrientation src/Dodge/Item/Orientation.hs 60;" f
ps0 src/Dodge/LevelGen/PlacementHelper.hs 51;" f
ps0PushPS src/Dodge/LevelGen/PlacementHelper.hs 79;" f
ps0PushPSw src/Dodge/LevelGen/PlacementHelper.hs 83;" f
@@ -5471,7 +5475,7 @@ randsOnCirc src/RandomHelp.hs 127;" f
randsSpread src/RandomHelp.hs 120;" f
ratIntersectLineLine src/Geometry/Intersect.hs 195;" f
readSaveSlot src/Dodge/Save.hs 45;" f
recoilAmount src/Dodge/HeldUse.hs 513;" f
recoilAmount src/Dodge/HeldUse.hs 514;" f
rectNSWE src/Geometry/Polygon.hs 13;" f
rectVV src/Geometry/Polygon.hs 38;" f
rectWH src/Geometry/Polygon.hs 17;" f
@@ -5479,7 +5483,7 @@ rectXH src/Geometry/Polygon.hs 32;" f
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 303;" f
reduceLocLDT src/Dodge/DoubleTree.hs 318;" 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
@@ -5498,7 +5502,7 @@ rememberSounds src/Dodge/Creature/Perception.hs 178;" f
remoteDetonator src/Dodge/Item/Scope.hs 144;" f
remoteScreen src/Dodge/Item/Scope.hs 139;" f
removeAimPosture src/Dodge/Creature/YourControl.hs 147;" f
removeAmmoFromMag src/Dodge/HeldUse.hs 916;" f
removeAmmoFromMag src/Dodge/HeldUse.hs 918;" f
removeDot src/ShortShow.hs 29;" f
removeInverseWalls src/Dodge/LevelGen/StaticWalls.hs 25;" f
removeShieldWall src/Dodge/Item/BackgroundEffect.hs 57;" f
@@ -5710,7 +5714,7 @@ setOldPos src/Dodge/Update.hs 475;" f
setOutLinks src/Dodge/RoomLink.hs 48;" f
setOutLinksByType src/Dodge/RoomLink.hs 57;" f
setOutLinksPD src/Dodge/RoomLink.hs 77;" f
setRBCreatureTargeting src/Dodge/Creature/State.hs 470;" f
setRBCreatureTargeting src/Dodge/Creature/State.hs 467;" f
setSelWhileDragging src/Dodge/Update/Input/InGame.hs 334;" f
setSelectionListRestriction src/Dodge/Update/Input/ScreenLayer.hs 87;" f
setShaderSource src/Shader/Compile.hs 290;" f
@@ -5778,15 +5782,15 @@ shiftRoomShiftBy src/Dodge/Room/Link.hs 81;" f
shiftRoomShiftToLink src/Dodge/Room/Link.hs 70;" f
shiftedGrid src/Grid.hs 25;" f
shineTargetLaser src/Dodge/Creature/State.hs 330;" f
shineTorch src/Dodge/Creature/State.hs 413;" f
shootBullet src/Dodge/HeldUse.hs 981;" f
shineTorch src/Dodge/Creature/State.hs 410;" f
shootBullet src/Dodge/HeldUse.hs 983;" f
shootFirstMiss src/Dodge/Creature/Volition.hs 33;" f
shootLaser src/Dodge/HeldUse.hs 895;" f
shootLaser src/Dodge/HeldUse.hs 897;" f
shootOutPassage src/Dodge/Room/RezBox.hs 74;" f
shootShatter src/Dodge/Item/Weapon/Shatter.hs 11;" f
shootTeslaArc src/Dodge/HeldUse.hs 1256;" f
shootTeslaArc src/Dodge/HeldUse.hs 1258;" f
shootTillEmpty src/Dodge/Creature/Volition.hs 18;" f
shootTractorBeam src/Dodge/HeldUse.hs 848;" f
shootTractorBeam src/Dodge/HeldUse.hs 850;" f
shootersRoom src/Dodge/Room/Room.hs 315;" f
shootersRoom' src/Dodge/Room/Room.hs 280;" f
shootersRoom1 src/Dodge/Room/Room.hs 305;" f
@@ -5794,7 +5798,7 @@ shootingRange src/Dodge/Room/Room.hs 332;" f
shortPoint2 src/Dodge/ShortShow.hs 4;" f
shortShow src/ShortShow.hs 9;" f
shotgunS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 693;" f
shoulderHeight src/Dodge/Item/HeldOffset.hs 75;" f
shoulderHeight src/Dodge/Item/HeldOffset.hs 80;" f
shoulderSH src/Dodge/Creature/Picture.hs 133;" f
shoulderSP src/Dodge/Creature/HandPos.hs 170;" f
showAttachItem src/Dodge/Item/Display.hs 90;" f
@@ -5944,7 +5948,7 @@ strFromEquipment src/Dodge/Creature/Statistics.hs 48;" f
strFromHeldItem src/Dodge/Creature/Statistics.hs 60;" f
strengthFactor src/Dodge/Creature/Impulse/Movement.hs 35;" f
strictify src/MaybeHelp.hs 37;" f
strideRot src/Dodge/Item/HeldOffset.hs 78;" f
strideRot src/Dodge/Item/HeldOffset.hs 83;" f
stringToList src/Picture/Base.hs 313;" f
stringToListGrad src/Picture/Text.hs 12;" f
stripZ src/Geometry/Vector3D.hs 97;" f
@@ -6085,19 +6089,19 @@ topPrismIndices src/Shader/Poke.hs 410;" f
topTestPart src/Dodge/TestString.hs 58;" f
torch src/Dodge/Item/Held/Utility.hs 23;" f
torchShape src/Dodge/Item/Draw/SPic.hs 267;" f
torqueAmount src/Dodge/HeldUse.hs 629;" f
torqueAmount src/Dodge/HeldUse.hs 630;" f
torqueCr src/Dodge/WorldEffect.hs 67;" f
torso src/Dodge/Creature/Picture.hs 99;" f
tractCr src/Dodge/TractorBeam/Update.hs 28;" f
tractFlIt src/Dodge/TractorBeam/Update.hs 23;" f
tractorBeamAt src/Dodge/HeldUse.hs 860;" f
tractorBeamAt src/Dodge/HeldUse.hs 862;" f
tractorGun src/Dodge/Item/Held/BatteryGuns.hs 60;" f
tractorGunPic src/Dodge/Item/Draw/SPic.hs 435;" f
tractorPullPos src/Dodge/TractorBeam/Update.hs 33;" f
tractorSPic src/Dodge/TractorBeam/Draw.hs 10;" f
tranRot src/Picture/Base.hs 124;" f
transMat src/MatrixHelper.hs 73;" f
transToHandle src/Dodge/Item/HeldOffset.hs 24;" f
transToHandle src/Dodge/Item/HeldOffset.hs 29;" f
translate src/Picture/Base.hs 116;" f
translate3 src/Picture/Base.hs 120;" f
translateFloatingCamera src/Dodge/Update/Camera.hs 45;" f
@@ -6163,13 +6167,13 @@ trySynthBullet src/Dodge/Creature/State.hs 225;" f
tryUseParent src/Dodge/Creature/State.hs 218;" f
turnTo src/Dodge/Movement/Turn.hs 8;" f
turret src/Dodge/Placement/Instance/Turret.hs 35;" f
turretItemOffset src/Dodge/Item/HeldOffset.hs 19;" f
turretItemOffset src/Dodge/Item/HeldOffset.hs 24;" f
tweenAngles src/Geometry/Vector.hs 195;" f
twinSlowDoorChasers src/Dodge/Room/LongDoor.hs 80;" f
twinSlowDoorRoom src/Dodge/Room/LongDoor.hs 28;" f
twists src/Dodge/Creature/Test.hs 108;" f
twoFlat src/Dodge/Creature/Test.hs 105;" f
twoFlatHRot src/Dodge/Item/HeldOffset.hs 87;" f
twoFlatHRot src/Dodge/Item/HeldOffset.hs 92;" f
twoHandTwistAmount src/Dodge/Creature/YourControl.hs 150;" f
twoRoomPoss src/Dodge/PlacementSpot.hs 147;" f
twoStep1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 533;" f
@@ -6246,7 +6250,7 @@ updateInGameCamera src/Dodge/Update/Camera.hs 78;" f
updateInitialPressInGame src/Dodge/Update/Input/InGame.hs 400;" f
updateInt2Map src/Dodge/Zoning/Base.hs 92;" f
updateInventoryPositioning src/Dodge/DisplayInventory.hs 86;" f
updateItemTargeting src/Dodge/Creature/State.hs 439;" f
updateItemTargeting src/Dodge/Creature/State.hs 436;" f
updateItemWithOrientation src/Dodge/Creature/State.hs 304;" f
updateKeyInGame src/Dodge/Update/Input/InGame.hs 394;" f
updateKeysInTerminal src/Dodge/Update/Input/InGame.hs 382;" f
@@ -6331,26 +6335,26 @@ useBulletPayload src/Dodge/Bullet.hs 113;" f
useC src/Dodge/Cuse.hs 8;" f
useC' src/Dodge/Cuse.hs 13;" f
useDelay src/Dodge/Item/UseDelay.hs 12;" f
useGasParams src/Dodge/HeldUse.hs 1161;" f
useGasParams src/Dodge/HeldUse.hs 1163;" f
useHotkey src/Dodge/Creature/YourControl.hs 70;" f
useInventoryPath src/Dodge/HeldUse.hs 1427;" f
useInventoryPath src/Dodge/HeldUse.hs 1431;" f
useItem src/Dodge/Creature/Impulse/UseItem.hs 20;" f
useItemLoc src/Dodge/Creature/Impulse/UseItem.hs 27;" f
useLnkRoomPos src/Dodge/PlacementSpot.hs 244;" f
useLoadedAmmo src/Dodge/HeldUse.hs 769;" f
useLoadedAmmo src/Dodge/HeldUse.hs 770;" f
useLocation src/Dodge/Creature/Impulse/UseItem.hs 65;" f
useMagShield src/Dodge/Euse.hs 26;" f
useNormalCamera src/Dodge/Camera.hs 6;" f
usePayload src/Dodge/Payload.hs 18;" f
useRewindGun src/Dodge/HeldUse.hs 1387;" f
useRewindGun src/Dodge/HeldUse.hs 1391;" f
useRewindGun src/Dodge/Luse.hs 40;" f
useRoomPosCond src/Dodge/PlacementSpot.hs 178;" f
useRoomPosRoomCond src/Dodge/PlacementSpot.hs 181;" f
useStopWatch src/Dodge/HeldUse.hs 1368;" f
useStopWatch src/Dodge/HeldUse.hs 1372;" f
useStopWatch src/Dodge/Luse.hs 21;" f
useTimeCheck src/Dodge/HeldUse.hs 112;" f
useTimeCheck src/Dodge/HeldUse.hs 113;" f
useTimeCheck src/Dodge/Item/Weapon/TriggerType.hs 127;" f
useTimeScrollGun src/Dodge/HeldUse.hs 1376;" f
useTimeScrollGun src/Dodge/HeldUse.hs 1380;" f
useTimeScrollGun src/Dodge/Luse.hs 29;" f
useUnusedLnk src/Dodge/PlacementSpot.hs 169;" f
usedRoomInLinkPoss src/Dodge/PlacementSpot.hs 196;" f
@@ -6374,7 +6378,7 @@ verticalLampCover src/Dodge/Placement/Instance/LightSource/Cover.hs 38;" f
verticalPipe src/Dodge/Picture.hs 19;" f
verticalPipe src/Dodge/Placement/Instance/Pipe.hs 6;" f
verticalWire src/Dodge/Wire.hs 24;" f
vgunMuzzles src/Dodge/HeldUse.hs 328;" f
vgunMuzzles src/Dodge/HeldUse.hs 329;" f
viewBoundaries src/Dodge/Debug/Picture.hs 304;" f
viewClipBounds src/Dodge/Debug/Picture.hs 313;" f
viewDistanceFromItems src/Dodge/Update/Camera.hs 186;" f
@@ -6386,7 +6390,7 @@ vocalizationTest src/Dodge/Creature/Vocalization.hs 42;" f
volleyGun src/Dodge/Item/Held/Cane.hs 15;" f
volleyGunShape src/Dodge/Item/Draw/SPic.hs 345;" f
waistSP src/Dodge/Creature/HandPos.hs 173;" f
walkNozzle src/Dodge/HeldUse.hs 830;" f
walkNozzle src/Dodge/HeldUse.hs 832;" f
walkableNodeNear src/Dodge/Path.hs 48;" f
wallBlips src/Dodge/RadarSweep.hs 98;" f
wallBuffer src/Dodge/WallCreatureCollisions.hs 52;" f
@@ -6394,7 +6398,7 @@ wallIsZeroLength src/Dodge/LevelGen/StaticWalls.hs 179;" f
wallLine src/Dodge/Placement/Instance/Wall.hs 71;" f
wallsFromRooms src/Dodge/Layout.hs 146;" f
wallsToDraw src/Dodge/Render/Walls.hs 17;" f
warmupSound src/Dodge/HeldUse.hs 1421;" f
warmupSound src/Dodge/HeldUse.hs 1425;" f
warningRooms src/Dodge/Room/Warning.hs 28;" f
wasdAim src/Dodge/Creature/YourControl.hs 126;" f
wasdDir src/Dodge/WASD.hs 17;" f