Start refactoring hand/item handle orientation

This commit is contained in:
2025-07-05 11:50:25 +01:00
parent d8e811c050
commit 5ddfc83f09
4 changed files with 108 additions and 79 deletions
+28 -23
View File
@@ -128,7 +128,7 @@ heldEffectMuzzles :: LocationLDT ItemLink OItem -> Creature -> World -> World
heldEffectMuzzles loc cr w =
setusetime . doHeldUseEffect t cr
. uncurry (applyCME (_ldtValue t ^. _1) cr)
. foldl' (useLoadedAmmo t cr) (False, w)
. foldl' (useLoadedAmmo loc cr) (False, w)
$ loadedmuzzles
where
t = loc ^. locLDT
@@ -680,8 +680,8 @@ loadMuzzle t@(LDT _ l _) mz = fromMaybe (t, Nothing) $ do
, Just (mz, usedammo, mag)
)
makeMuzzleFlare :: Muzzle -> LDTree ItemLink OItem -> Creature -> World -> World
makeMuzzleFlare mz itmtree cr = case mz ^. mzFlareType of
makeMuzzleFlare :: Muzzle -> LocationLDT ItemLink OItem -> Creature -> World -> World
makeMuzzleFlare mz loc cr = case mz ^. mzFlareType of
NoFlare -> id
BasicFlare -> basicMuzFlare pos dir
NoLightFlare -> muzFlareAt (V4 10 10 1 3) (pos `v2z` 20) dir
@@ -690,12 +690,13 @@ makeMuzzleFlare mz itmtree cr = case mz ^. mzFlareType of
. muzFlareAt (V4 10 10 1 3) (pos `v2z` 20) dir
HeavySmokeFlare -> basicMuzFlare pos dir
LasGunFlare ->
flareCircleAt (getLaserColor $ fmap (^. _1) itmtree) 0.8 (pos `v2z` 20)
flareCircleAt (getLaserColor loc) 0.8 (pos `v2z` 20)
. ( cWorld . lWorld . lights
.:~ LSParam (pos `v2z` 10) 100 (xyzV4 $ getLaserColor $ fmap (^. _1) itmtree)
.:~ LSParam (pos `v2z` 10) 100 (xyzV4 $ getLaserColor loc)
)
TeslaGunFlare -> cWorld . lWorld . lights .:~ LSParam (pos `v2z` 10) 100 (V3 0 0 1)
where
itmtree = loc ^. locLDT
itm = itmtree ^. ldtValue
(moff, mrot) = heldItemOrient2D' itm cr (_mzPos mz) (_mzRot mz)
pos = _crPos cr + rotateV (_crDir cr) moff
@@ -735,7 +736,7 @@ getLaserPhaseV = const 1
getLaserDamage :: LDTree ItemLink Item -> LaserType
getLaserDamage = const (DamageLaser 11)
getLaserColor :: LDTree ItemLink Item -> Color
getLaserColor :: LocationLDT ItemLink OItem -> Color
getLaserColor = const yellow
basicMuzFlare :: Point2 -> Float -> World -> World
@@ -750,19 +751,19 @@ isAmmoIntLink i (AmmoInLink j _) = i == j
isAmmoIntLink _ _ = False
useLoadedAmmo ::
LDTree ItemLink OItem ->
LocationLDT ItemLink OItem ->
Creature ->
(Bool, World) ->
Maybe (Muzzle, Int, LDTree ItemLink OItem) ->
(Bool, World)
useLoadedAmmo _ _ (cme, w) Nothing = (cme, w)
useLoadedAmmo itmtree cr (_, w) (Just (mz, x, magtree)) = (,) True $
removeAmmoFromMag x mid cr . makeMuzzleFlare mz itmtree cr $ case _mzEffect mz of
MuzzleShootBullet -> shootBullets itmtree cr (mz, x, magtree) w
MuzzleLaser -> creatureShootLaser itmtree cr mz w
useLoadedAmmo loc cr (_, w) (Just (mz, x, magtree)) = (,) True $
removeAmmoFromMag x mid cr . makeMuzzleFlare mz loc cr $ case _mzEffect mz of
MuzzleShootBullet -> shootBullets loc cr (mz, x, magtree) w
MuzzleLaser -> creatureShootLaser loc cr mz w
MuzzleTesla -> shootTeslaArc itm cr mz w
MuzzleTractor -> shootTractorBeam cr w
MuzzleRLauncher -> createProjectileR itmtree magtree mz cr w
MuzzleRLauncher -> createProjectileR loc magtree mz cr w
MuzzleGLauncher ->
createProjectile
(itmtree ^. ldtValue . _3)
@@ -787,6 +788,7 @@ useLoadedAmmo itmtree cr (_, w) (Just (mz, x, magtree)) = (,) True $
MuzzleStopper -> useStopWatch (itm ^. _1) cr w
MuzzleScroller -> useTimeScrollGun (itm ^. _1) cr w
where
itmtree = loc ^. locLDT
mid = magtree ^? ldtValue . _1 . itLocation . ilInvID
itm = itmtree ^. ldtValue
@@ -853,12 +855,12 @@ tractorBeamAt pos outpos dir power =
d = unitVectorAtAngle dir * power
creatureShootLaser ::
LDTree ItemLink OItem ->
LocationLDT ItemLink OItem ->
Creature ->
Muzzle ->
World ->
World
creatureShootLaser itmtree cr mz w =
creatureShootLaser loc cr mz w =
w
& randGen .~ g
& shootLaser
@@ -867,8 +869,9 @@ creatureShootLaser itmtree cr mz w =
(getLaserPhaseV istree)
pos
dir
(getLaserColor istree)
(getLaserColor loc)
where
itmtree = loc ^. locLDT
istree = fmap (\(x, _, _) -> x) itmtree
itm = itmtree ^. ldtValue
(moff, mrot) = heldItemOrient2D' itm cr (_mzPos mz) (_mzRot mz)
@@ -964,18 +967,19 @@ magAmmoParams itm = case itm ^. itType of
-- _ -> 0
shootBullets ::
LDTree ItemLink OItem ->
LocationLDT ItemLink OItem ->
Creature ->
(Muzzle, Int, LDTree ItemLink OItem) ->
World ->
World
shootBullets itmtree cr (mz, x, magtree) w = fromMaybe w $ do
shootBullets loc cr (mz, x, magtree) w = fromMaybe w $ do
thebullet <- getBulletType $ fmap (^. _1) magtree
return $ foldl' (&) w (replicate x (shootBullet thebullet (itmtree ^. ldtValue . _1) cr mz))
return $ foldl' (&) w (replicate x (shootBullet thebullet loc cr mz))
shootBullet :: Bullet -> Item -> Creature -> Muzzle -> World -> World
shootBullet bu itm cr mz w = makeBullet bu itm bulpos dir . (randGen .~ g) $ w
shootBullet :: Bullet -> LocationLDT ItemLink OItem -> Creature -> Muzzle -> World -> World
shootBullet bu loc cr mz w = makeBullet bu itm bulpos dir . (randGen .~ g) $ w
where
itm = loc ^. locLDT . ldtValue . _1
bulpos = _crPos cr + rotateV (_crDir cr) moff
(moff, mrot) = heldItemOrient2D itm cr (_mzPos mz + V2 0 offset) (_mzRot mz)
(a, g) = randomR (- inacc, inacc) $ _randGen w
@@ -1263,15 +1267,15 @@ determineProjectileTracking magtree itmtree =
return $ HomeUsingTargeting (targetingtree ^. ldtValue . itID)
createProjectileR ::
LDTree ItemLink OItem ->
LocationLDT ItemLink OItem ->
LDTree ItemLink OItem ->
Muzzle ->
Creature ->
World ->
World
createProjectileR itmtree magtree =
createProjectileR loc magtree =
createProjectile
(itmtree ^. ldtValue . _3)
(loc ^. locLDT . ldtValue . _3)
( Rocket
(determineProjectileTracking (fmap (^. _1) magtree) $ fmap (^. _1) itmtree)
smoke
@@ -1279,6 +1283,7 @@ createProjectileR itmtree magtree =
magtree
(getPJStabiliser $ fmap (^. _1) itmtree)
where
itmtree = loc ^. locLDT
smoke
| isJust $ lookup SmokeReducerLink (magtree ^. ldtLeft) = Just ReducedRocketSmoke
| otherwise = Nothing
+23
View File
@@ -71,6 +71,29 @@ heldItemRelativeOrient itm cr (p, q)
f i = 0.1 * fromIntegral (sLen - i) / fromIntegral sLen
sLen = _strideLength $ _crStance cr
handleOrient :: LocationLDT ItemLink OItem -> Point3Q
handleOrient _ = (V3 3 0 0, Q.qID)
-- note this is relative to the creature
handOrient :: Creature -> AimStance -> Point3Q
handOrient cr = case cr ^. crStance . posture of
Aiming -> \case
TwoHandUnder -> (V3 1 0 shoulderHeight, Q.qID)
TwoHandOver -> (V3 0 0 shoulderHeight, Q.qID)
OneHand -> (V3 13 (-2) shoulderHeight, Q.qID)
TwoHandFlat -> (V3 13 0 shoulderHeight, Q.qID)
AtEase -> \case
OneHand -> (V3 (10 + walkhandp) (-7) 15, Q.qID)
TwoHandFlat -> (V3 10 0 15, Q.axisAngle (V3 0 0 1) $ twoFlatHRot cr)
TwoHandUnder -> (V3 10 0 15, Q.axisAngle (V3 0 0 1) (strideRot cr + 1.2))
TwoHandOver -> (V3 10 0 15, Q.axisAngle (V3 0 0 1) (strideRot cr + 1.2))
where
walkhandp = case cr ^? crStance . carriage of
Just (Walking x LeftForward) -> f x * 50 -2
_ -> - 2
f i = 0.1 * fromIntegral (sLen - i) / fromIntegral sLen
sLen = _strideLength $ _crStance cr
locOrientation :: LocationLDT ItemLink OItem -> Creature -> Point3Q
locOrientation loc cr =
heldItemRelativeOrient
+3 -3
View File
@@ -242,9 +242,9 @@ heldPositionInfo = aimStanceInfo . itemBaseStance
aimStanceInfo :: AimStance -> String
aimStanceInfo as = case as of
TwoHandUnder -> "It is held in two hands and tucked under the shoulder."
TwoHandOver -> "It is held in two hands and over the shoulder."
TwoHandFlat -> "It is held in two hands at its sides."
TwoHandUnder -> "It is held using two hands, tucked under the shoulder."
TwoHandOver -> "It is held using two hands, resting over the shoulder."
TwoHandFlat -> "It is held using two hands in front of the body."
OneHand -> "It is held in one hand."
itmEquipSiteInfo :: Item -> String
+54 -53
View File
@@ -3354,10 +3354,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 85;" f
aimStanceHandlePos src/Dodge/Item/HeldOffset.hs 105;" f
aimStanceInfo src/Dodge/Item/Info.hs 243;" f
aimTurn src/Dodge/Creature/YourControl.hs 165;" f
aimingWeaponZeroPos src/Dodge/Item/HeldOffset.hs 81;" f
aimingWeaponZeroPos src/Dodge/Item/HeldOffset.hs 101;" 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
@@ -3489,7 +3489,7 @@ basicDrawBeam src/Dodge/Beam/Draw.hs 11;" f
basicItemDisplay src/Dodge/Item/Display.hs 23;" f
basicMachineApplyDamage src/Dodge/Machine/Damage.hs 6;" f
basicMachineUpdate src/Dodge/Machine.hs 13;" f
basicMuzFlare src/Dodge/HeldUse.hs 741;" f
basicMuzFlare src/Dodge/HeldUse.hs 742;" f
basicTerminal src/Dodge/Terminal.hs 35;" f
battery src/Dodge/Item/Ammo.hs 62;" f
batteryPack src/Dodge/Item/Equipment.hs 46;" f
@@ -3785,14 +3785,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 1301;" f
createProjectileR src/Dodge/HeldUse.hs 1265;" f
createProjectile src/Dodge/HeldUse.hs 1306;" f
createProjectileR src/Dodge/HeldUse.hs 1269;" f
createShell src/Dodge/Projectile/Create.hs 22;" 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 855;" f
creatureShootLaser src/Dodge/HeldUse.hs 857;" 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
@@ -3981,7 +3981,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 1251;" f
determineProjectileTracking src/Dodge/HeldUse.hs 1255;" f
diagonalLinesRect src/Dodge/Room/Foreground.hs 52;" f
did src/Dodge/Item/InvSize.hs 54;" f
diffAngles src/Geometry.hs 204;" f
@@ -4046,7 +4046,7 @@ 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 1209;" f
doGenFloat src/Dodge/HeldUse.hs 1213;" f
doGravityPU src/Dodge/Projectile/Update.hs 50;" f
doHeldUseEffect src/Dodge/HeldUse.hs 322;" f
doInPlacements src/Dodge/Layout.hs 92;" f
@@ -4096,7 +4096,7 @@ doWdBl src/Dodge/WorldBool.hs 10;" f
doWdCrBl src/Dodge/CreatureEffect.hs 37;" f
doWdCrCr src/Dodge/CreatureEffect.hs 12;" f
doWdP2f src/Dodge/WdP2f.hs 12;" f
doWdWd src/Dodge/WorldEffect.hs 27;" f
doWdWd src/Dodge/WorldEffect.hs 26;" f
doWorldEvents src/Dodge/Update.hs 432;" f
doWorldPos src/Dodge/WorldPos.hs 7;" f
door src/Dodge/Room/Door.hs 13;" f
@@ -4240,7 +4240,7 @@ drawZoneNearPointCursor src/Dodge/Debug/Picture.hs 279;" f
droneLauncher src/Dodge/Item/Weapon/Drone.hs 11;" f
dropAll src/Dodge/Creature/State.hs 127;" f
dropExcept src/Dodge/Creature/Action.hs 166;" f
dropInventoryPath src/Dodge/HeldUse.hs 1381;" f
dropInventoryPath src/Dodge/HeldUse.hs 1386;" 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
@@ -4363,7 +4363,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 722;" f
flareCircleAt src/Dodge/HeldUse.hs 723;" 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
@@ -4430,7 +4430,7 @@ 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 1165;" f
gasType src/Dodge/HeldUse.hs 1169;" f
generateGenParams src/Dodge/LevelGen/LevelStructure.hs 22;" f
generateGraphs src/Dodge/LevelGen.hs 39;" f
generateLayout src/Dodge/Layout/Generate.hs 10;" f
@@ -4445,11 +4445,11 @@ getAimZoom src/Dodge/Update/Camera.hs 135;" f
getAmmoLinks src/Dodge/Item/Grammar.hs 114;" f
getArguments src/Dodge/Update/Scroll.hs 178;" f
getArguments' src/Dodge/Update/Scroll.hs 166;" f
getAttachedSFLink src/Dodge/HeldUse.hs 793;" f
getAttachedSFLink src/Dodge/HeldUse.hs 795;" f
getAutoSpringLinks src/Dodge/Item/Grammar.hs 93;" f
getAvailableListLines src/Dodge/SelectionList.hs 10;" f
getBulHitDams src/Dodge/Bullet.hs 171;" f
getBulletType src/Dodge/HeldUse.hs 913;" f
getBulletType src/Dodge/HeldUse.hs 916;" f
getCloseObj src/Dodge/Update/Input/InGame.hs 515;" f
getCommands src/Dodge/Terminal.hs 117;" f
getCommandsHelp src/Dodge/Terminal.hs 75;" f
@@ -4457,17 +4457,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 1294;" f
getGrenadeHitEffect src/Dodge/HeldUse.hs 1299;" f
getInventoryPath src/Dodge/Inventory/Path.hs 8;" f
getItemValue src/Dodge/Inventory/SelectionList.hs 143;" f
getLaserColor src/Dodge/HeldUse.hs 738;" f
getLaserDamage src/Dodge/HeldUse.hs 735;" f
getLaserPhaseV src/Dodge/HeldUse.hs 732;" f
getLaserColor src/Dodge/HeldUse.hs 739;" f
getLaserDamage src/Dodge/HeldUse.hs 736;" f
getLaserPhaseV src/Dodge/HeldUse.hs 733;" 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 1286;" f
getPJStabiliser src/Dodge/HeldUse.hs 1291;" f
getPretty src/AesonHelp.hs 8;" f
getPromptTM src/Dodge/Terminal/Type.hs 8;" f
getRootItemBounds src/Dodge/Render/HUD.hs 95;" f
@@ -4528,13 +4528,14 @@ 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 63;" f
handOrient src/Dodge/Item/HeldOffset.hs 75;" 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 110;" f
handlePos src/Dodge/Item/HeldOffset.hs 130;" f
handleResizeEvent src/Dodge/Event.hs 53;" f
handleTextInput src/Dodge/Event/Input.hs 18;" f
handleWindowMoveEvent src/Dodge/Event.hs 44;" f
@@ -4559,18 +4560,18 @@ heldAimStance src/Dodge/Item/AimStance.hs 22;" f
heldAimZoom src/Dodge/Update/Camera.hs 140;" f
heldEffect src/Dodge/HeldUse.hs 60;" f
heldEffectMuzzles src/Dodge/HeldUse.hs 127;" f
heldHandlePos src/Dodge/Item/HeldOffset.hs 115;" f
heldHandlePos src/Dodge/Item/HeldOffset.hs 135;" 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 474;" f
heldItemMuzVel src/Dodge/HeldUse.hs 1051;" f
heldItemMuzVel src/Dodge/HeldUse.hs 1055;" f
heldItemMuzzles src/Dodge/HeldUse.hs 156;" f
heldItemOffset src/Dodge/Item/HeldOffset.hs 92;" f
heldItemOffset src/Dodge/Item/HeldOffset.hs 112;" f
heldItemOrient2D src/Dodge/Item/HeldOffset.hs 37;" f
heldItemOrient2D' src/Dodge/Item/HeldOffset.hs 42;" f
heldItemRelativeOrient src/Dodge/Item/HeldOffset.hs 47;" f
heldItemRifling src/Dodge/HeldUse.hs 1095;" f
heldItemRifling src/Dodge/HeldUse.hs 1099;" 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
@@ -4690,7 +4691,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 748;" f
isAmmoIntLink src/Dodge/HeldUse.hs 749;" 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
@@ -4727,7 +4728,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 799;" f
itemDetectorEffect src/Dodge/HeldUse.hs 801;" 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
@@ -4741,8 +4742,8 @@ itemInternalValue src/Dodge/Item/Display.hs 34;" f
itemInvColor src/Dodge/Item/InventoryColor.hs 9;" f
itemInvLock src/Dodge/HeldUse.hs 469;" f
itemMuzzles src/Dodge/HeldUse.hs 141;" f
itemRandomOffset src/Dodge/HeldUse.hs 988;" f
itemRelativeOrient src/Dodge/Item/HeldOffset.hs 159;" f
itemRandomOffset src/Dodge/HeldUse.hs 992;" f
itemRelativeOrient src/Dodge/Item/HeldOffset.hs 179;" 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
@@ -4864,7 +4865,7 @@ 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
locOrientation src/Dodge/Item/HeldOffset.hs 74;" f
locOrientation src/Dodge/Item/HeldOffset.hs 94;" f
locRightmost src/Dodge/DoubleTree.hs 258;" f
locToTop src/Dodge/DoubleTree.hs 250;" f
locUp src/Dodge/DoubleTree.hs 237;" f
@@ -4896,7 +4897,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 934;" f
magAmmoParams src/Dodge/HeldUse.hs 937;" f
magAmmoType src/Dodge/Item/MagAmmoType.hs 11;" f
magShield src/Dodge/Item/Equipment.hs 27;" f
magV src/Geometry/Vector.hs 171;" f
@@ -4911,7 +4912,7 @@ 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 1032;" f
makeBullet src/Dodge/HeldUse.hs 1036;" f
makeButton src/Dodge/LevelGen/Switch.hs 16;" f
makeByteStringShaderUsingVAO src/Shader/Compile.hs 128;" f
makeCloudAt src/Dodge/WorldEvent/Cloud.hs 7;" f
@@ -4992,11 +4993,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 1220;" f
mcShootLaser src/Dodge/HeldUse.hs 1213;" f
mcShootAuto src/Dodge/HeldUse.hs 1224;" f
mcShootLaser src/Dodge/HeldUse.hs 1217;" f
mcTriggerVal src/Dodge/Machine/Update.hs 99;" f
mcTypeUpdate src/Dodge/Machine/Update.hs 28;" f
mcUseHeld src/Dodge/HeldUse.hs 1139;" f
mcUseHeld src/Dodge/HeldUse.hs 1143;" 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
@@ -5089,7 +5090,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 708;" f
muzFlareAt src/Dodge/HeldUse.hs 709;" 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
@@ -5511,7 +5512,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 901;" f
removeAmmoFromMag src/Dodge/HeldUse.hs 904;" f
removeDot src/ShortShow.hs 29;" f
removeInverseWalls src/Dodge/LevelGen/StaticWalls.hs 25;" f
removeShieldWall src/Dodge/Item/BackgroundEffect.hs 57;" f
@@ -5792,15 +5793,15 @@ shiftRoomShiftToLink src/Dodge/Room/Link.hs 70;" f
shiftedGrid src/Grid.hs 25;" f
shineTargetLaser src/Dodge/Creature/State.hs 329;" f
shineTorch src/Dodge/Creature/State.hs 409;" f
shootBullet src/Dodge/HeldUse.hs 976;" f
shootBullets src/Dodge/HeldUse.hs 966;" f
shootBullet src/Dodge/HeldUse.hs 979;" f
shootBullets src/Dodge/HeldUse.hs 969;" f
shootFirstMiss src/Dodge/Creature/Volition.hs 33;" f
shootLaser src/Dodge/HeldUse.hs 880;" f
shootLaser src/Dodge/HeldUse.hs 883;" f
shootOutPassage src/Dodge/Room/RezBox.hs 74;" f
shootShatter src/Dodge/Item/Weapon/Shatter.hs 11;" f
shootTeslaArc src/Dodge/HeldUse.hs 1239;" f
shootTeslaArc src/Dodge/HeldUse.hs 1243;" f
shootTillEmpty src/Dodge/Creature/Volition.hs 18;" f
shootTractorBeam src/Dodge/HeldUse.hs 832;" f
shootTractorBeam src/Dodge/HeldUse.hs 834;" 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
@@ -5808,7 +5809,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 95;" f
shoulderHeight src/Dodge/Item/HeldOffset.hs 115;" f
shoulderSH src/Dodge/Creature/Picture.hs 133;" f
shoulderSP src/Dodge/Creature/HandPos.hs 170;" f
showAttachItem src/Dodge/Item/Display.hs 91;" f
@@ -5958,7 +5959,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 98;" f
strideRot src/Dodge/Item/HeldOffset.hs 118;" f
stringToList src/Picture/Base.hs 313;" f
stringToListGrad src/Picture/Text.hs 12;" f
stripZ src/Geometry/Vector3D.hs 97;" f
@@ -6103,7 +6104,7 @@ torqueCr src/Dodge/WorldEffect.hs 66;" 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 844;" f
tractorBeamAt src/Dodge/HeldUse.hs 846;" 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
@@ -6182,7 +6183,7 @@ 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 107;" f
twoFlatHRot src/Dodge/Item/HeldOffset.hs 127;" f
twoHandTwistAmount src/Dodge/Creature/YourControl.hs 150;" f
twoRoomPoss src/Dodge/PlacementSpot.hs 147;" f
twoStep1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 533;" f
@@ -6343,24 +6344,24 @@ upperRounded src/Shape.hs 185;" f
useBulletPayload src/Dodge/Bullet.hs 113;" f
useC src/Dodge/Cuse.hs 8;" f
useC' src/Dodge/Cuse.hs 13;" f
useGasParams src/Dodge/HeldUse.hs 1144;" f
useGasParams src/Dodge/HeldUse.hs 1148;" f
useHotkey src/Dodge/Creature/YourControl.hs 70;" f
useInventoryPath src/Dodge/HeldUse.hs 1412;" f
useInventoryPath src/Dodge/HeldUse.hs 1417;" f
useItem src/Dodge/Creature/Impulse/UseItem.hs 18;" f
useItemLoc src/Dodge/Creature/Impulse/UseItem.hs 26;" f
useLnkRoomPos src/Dodge/PlacementSpot.hs 244;" f
useLoadedAmmo src/Dodge/HeldUse.hs 752;" f
useLoadedAmmo src/Dodge/HeldUse.hs 753;" 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 1372;" f
useRewindGun src/Dodge/HeldUse.hs 1377;" 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 1353;" f
useStopWatch src/Dodge/HeldUse.hs 1358;" f
useStopWatch src/Dodge/Luse.hs 21;" f
useTimeCheck src/Dodge/Item/Weapon/TriggerType.hs 127;" f
useTimeScrollGun src/Dodge/HeldUse.hs 1361;" f
useTimeScrollGun src/Dodge/HeldUse.hs 1366;" f
useTimeScrollGun src/Dodge/Luse.hs 29;" f
useUnusedLnk src/Dodge/PlacementSpot.hs 169;" f
usedRoomInLinkPoss src/Dodge/PlacementSpot.hs 196;" f
@@ -6396,7 +6397,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 814;" f
walkNozzle src/Dodge/HeldUse.hs 816;" f
walkableNodeNear src/Dodge/Path.hs 48;" f
wallBlips src/Dodge/RadarSweep.hs 98;" f
wallBuffer src/Dodge/WallCreatureCollisions.hs 52;" f
@@ -6404,7 +6405,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 1406;" f
warmupSound src/Dodge/HeldUse.hs 1411;" f
warningRooms src/Dodge/Room/Warning.hs 28;" f
wasdAim src/Dodge/Creature/YourControl.hs 126;" f
wasdDir src/Dodge/WASD.hs 17;" f