This commit is contained in:
2025-05-31 08:17:26 +01:00
parent cdf300b824
commit ceb7a4f04c
6 changed files with 99 additions and 133 deletions
+11 -9
View File
@@ -190,18 +190,20 @@ dropItem cr invid =
youDropItem :: World -> World
youDropItem w = fromMaybe w $ do
curpos <-
you w ^? crManipulation . manObject . imSelectedItem
-- <|> fmap fst (IM.lookupMax =<< w ^? hud . hudElement . diSections . ix 0 . ssItems)
<|> fmap fst (IM.lookupMax (you w ^. crInv))
guard $ not $ _crInvLock (you w)
return $
w
& dropItem cr curpos
cr ^? crManipulation . manObject . imSelectedItem
<|> fmap fst (IM.lookupMax (cr ^. crInv))
guard $ not $ _crInvLock cr
return $ case cr ^. crStance . posture of
Aiming -> throwItem w
AtEase -> dropItem cr curpos w
where
-- & soundStart (CrSound (_crID cr)) (_crPos cr) whiteNoiseFadeOutS Nothing
cr = you w
-- placeholder, remember to deal with two handed weapon twist
-- should throw all attached items?
throwItem :: World -> World
throwItem = id
sizeSelf :: Float -> Creature -> World -> Maybe World
sizeSelf x cr w
| not (crOnWall cr1 w) =
+5 -8
View File
@@ -9,7 +9,7 @@ import qualified IntMapHelp as IM
import LensHelp
getCrDexterity :: Creature -> Int
getCrDexterity cr = _dexterity (_crStatistics cr)
getCrDexterity = _dexterity . _crStatistics
getCrMoveSpeed :: Creature -> Int
getCrMoveSpeed cr = strFromHeldItem cr + strFromEquipment cr + _strength (_crStatistics cr)
@@ -27,10 +27,7 @@ crCurrentEquipment :: Creature -> IM.IntMap Item
crCurrentEquipment = IM.filter (isJust . (^? itLocation . ilEquipSite . _Just)) . _crInv
strFromHeldItem :: Creature -> Int
strFromHeldItem cr
--x--- | _posture (_crStance cr) == Aiming || crIsReloading cr = negate $ fromMaybe 0 $ do
-- | _posture (_crStance cr) == Aiming = negate $ fromMaybe 0 $ do
| Aiming {} <- _posture (_crStance cr) = negate $ fromMaybe 0 $ do
i <- cr ^? crManipulation . manObject . imRootSelectedItem
cr ^? crInv . ix i . itUse . heldAim . aimWeight
| otherwise = 0
strFromHeldItem cr = fromMaybe 0 $ do
Aiming <- cr ^? crStance . posture
i <- cr ^? crManipulation . manObject . imRootSelectedItem
fmap negate $ cr ^? crInv . ix i . itUse . heldAim . aimWeight
+33 -63
View File
@@ -2,9 +2,7 @@ module Dodge.Creature.YourControl (
yourControl,
) where
import Dodge.SelectedClose
import Control.Monad
import Data.Foldable
import qualified Data.Map.Strict as M
import Data.Maybe
import Dodge.Base.Coordinate
@@ -14,6 +12,7 @@ import Dodge.Data.World
import Dodge.Hotkey
import Dodge.InputFocus
import Dodge.Inventory
import Dodge.SelectedClose
import Dodge.WASD
import Geometry
import LensHelp
@@ -27,9 +26,7 @@ yourControl _ w
| Just x <- w ^? hud . hudElement . subInventory
, f x =
w
& cWorld . lWorld . creatures . ix 0
-- %~ (wasdWithAiming w . setCrPosture pkeys)
%~ wasdWithAiming w
& cWorld . lWorld . creatures . ix 0 %~ wasdWithAiming w
& tryClickUse pkeys
& handleHotkeys
| otherwise =
@@ -42,17 +39,17 @@ yourControl _ w
handleHotkeys :: World -> World
handleHotkeys w
| SDL.ScancodeLShift `M.member` _pressedKeys (_input w)
|| SDL.ScancodeRShift `M.member` _pressedKeys (_input w)
, hks <- mapMaybe scancodeToHotkey $ M.keys $ w ^. input . pressedKeys
| ispressed SDL.ScancodeLShift || ispressed SDL.ScancodeRShift
, Just hk <- listToMaybe . mapMaybe scancodeToHotkey . M.keys $ w ^. input . pressedKeys
, Just invid <- lw ^? creatures . ix 0 . crManipulation . manObject . imSelectedItem
, Just itid <- lw ^? creatures . ix 0 . crInv . ix invid . itID =
w & cWorld . lWorld %~ \lw' -> foldl' (flip $ assignHotkey itid) lw' hks
| SDL.ScancodeLCtrl `M.member` _pressedKeys (_input w)
|| SDL.ScancodeRCtrl `M.member` _pressedKeys (_input w)
, Just hk <- listToMaybe . mapMaybe scancodeToHotkey . M.keys $ w ^. input . pressedKeys
, Just itid <- w ^? cWorld . lWorld . hotkeys . ix hk . unNInt
, Just invid <- w ^? cWorld . lWorld . itemLocations . ix itid . ilInvID =
w & cWorld . lWorld %~ assignHotkey itid hk
| ispressed SDL.ScancodeLCtrl || ispressed SDL.ScancodeRCtrl
, Just hk <-
listToMaybe . mapMaybe scancodeToHotkey . M.keys $
w ^. input . pressedKeys
, Just itid <- lw ^? hotkeys . ix hk . unNInt
, Just invid <- lw ^? itemLocations . ix itid . ilInvID =
w & augInvDirectSelect (0, invid, mempty)
| otherwise =
M.foldl'
@@ -60,6 +57,7 @@ handleHotkeys w
w
(M.intersectionWith (,) thehotkeys (w ^. input . pressedKeys))
where
ispressed k = k `M.member` _pressedKeys (_input w)
thehotkeys = M.mapKeys hotkeyToScancode $ w ^. cWorld . lWorld . hotkeys
lw = w ^. cWorld . lWorld
@@ -112,11 +110,7 @@ scancodeToHotkey x = case x of
{- | The order of these MAY be important, in particular the setting of crMvAim
within wasdMovement should probably be done first
-}
wasdWithAiming ::
World ->
Creature ->
Creature
--wasdWithAiming w cr = wasdAim inp cam . wasdTwist $ wasdMovement inp cam speed cr
wasdWithAiming :: World -> Creature -> Creature
wasdWithAiming w cr = wasdAim inp cam $ wasdMovement inp cam speed cr
where
speed = _mvSpeed $ _crMvType cr
@@ -125,57 +119,32 @@ wasdWithAiming w cr = wasdAim inp cam $ wasdMovement inp cam speed cr
wasdAim :: Input -> Camera -> Creature -> Creature
wasdAim inp cam cr
| Just 0 <- inp ^? mouseButtons . ix SDL.ButtonRight
= setAimPosture cr
| Just 0 <- inp ^? mouseButtonsReleased . ix SDL.ButtonRight
= removeAimPosture cr
| Just 0 <- inp ^? mouseButtons . ix SDL.ButtonRight =
setAimPosture cr
| Just 0 <- inp ^? mouseButtonsReleased . ix SDL.ButtonRight =
removeAimPosture cr
| SDL.ButtonRight `M.member` _mouseButtons inp = aimTurn mouseDir cr
| otherwise = creatureTurnTowardDir (_crMvAim cr) 0.2 cr
where
mouseDir = argV $ mouseWorldPos inp cam - (cr ^. crPos)
---- aim with the root item
---- when initiating aim with a two handed weapon, change the creature direction
---- to be closer to where the two handed weapon was pointing
--wasdTwist :: Creature -> Creature
--wasdTwist cr
---- | _posture (_crStance cr) == Aiming
-- | Aiming {} <- cr ^. crStance . posture = fromMaybe cr $ do
-- itRef <- cr ^? crManipulation . manObject . imRootSelectedItem
-- astance <- cr ^? crInv . ix itRef . itUse . heldAim . aimStance
-- case (astance, cr ^. crTwist) of
-- (TwoHandUnder, 0) ->
-- return $ cr & crTwist .~ twistamount * pi & crDir -~ twistamount * pi
-- (TwoHandOver, 0) ->
-- return $ cr & crTwist .~ twistamount * pi & crDir -~ twistamount * pi
-- _ -> Nothing
-- | otherwise =
-- cr
-- & crDir +~ _crTwist cr
-- & crTwist .~ 0 --remove twistk
-- where
-- twistamount = 1.6
setAimPosture :: Creature -> Creature
setAimPosture cr = fromMaybe cr $ do
setAimPosture = (crStance . posture .~ Aiming) . doAimTwist (- twoHandTwistAmount)
doAimTwist :: Float -> Creature -> Creature
doAimTwist x cr = fromMaybe cr $ do
itRef <- cr ^? crManipulation . manObject . imRootSelectedItem
astance <- cr ^? crInv . ix itRef . itUse . heldAim . aimStance
case astance of
TwoHandUnder ->
return $ cr & crStance . posture .~ Aiming
& crDir -~ twoHandTwistAmount
TwoHandOver ->
return $ cr & crStance . posture .~ Aiming
& crDir -~ twoHandTwistAmount
_ -> return $ cr & crStance . posture .~ Aiming
return $ case astance of
TwoHandUnder -> cr & crDir +~ x
TwoHandOver -> cr & crDir +~ x
_ -> cr
removeAimPosture :: Creature -> Creature
removeAimPosture = (crStance . posture .~ AtEase) . doAimTwist twoHandTwistAmount
twoHandTwistAmount :: Float
twoHandTwistAmount = 1.6 * pi
removeAimPosture :: Creature -> Creature
removeAimPosture cr = cr
& crDir +~ twoHandTwistAmount
& crStance . posture .~ AtEase
wasdMovement :: Input -> Camera -> Float -> Creature -> Creature
wasdMovement inp cam speed = theMovement . setMvAim
@@ -201,10 +170,11 @@ tryClickUse pkeys w = fromMaybe w $ do
ltime <- pkeys ^? ix SDL.ButtonLeft
rtime <- pkeys ^? ix SDL.ButtonRight
guard $ ltime <= rtime
case w ^? cWorld . lWorld . creatures . ix 0
. crManipulation
. manObject
. imSelectedItem of
case w
^? cWorld . lWorld . creatures . ix 0
. crManipulation
. manObject
. imSelectedItem of
Just invid -> useItem invid (f ltime) w
Nothing -> interactWithCloseObj <$> getSelectedCloseObj w ?? w
where
+1 -3
View File
@@ -9,10 +9,8 @@ import NewInt
-- it is not obvious to me whether hotkeys should belong to LWorld, CWorld or
-- World
assignHotkey :: NewInt ItmInt -> Hotkey -> LWorld -> LWorld
assignHotkey (NInt itid) hk lw =
lw
assignHotkey (NInt itid) hk lw = lw
& handleoldposition
& hotkeys . at hk ?~ NInt itid
& imHotkeys . unNIntMap . at itid ?~ hk
+6 -7
View File
@@ -28,23 +28,23 @@ heldItemOrient2D itm cr p a = (V2 x y, argV . Q.qToV2 $ q )
where
(V3 x y _,q) = heldItemRelativeOrient itm cr (p `v2z` 0, Q.axisAngle (V3 0 0 1) a)
heldItemRelativeOrient :: Item -> Creature -> (Point3, Q.Quaternion Float) -> (Point3, Q.Quaternion Float)
heldItemRelativeOrient
:: Item -> Creature -> (Point3, Q.Quaternion Float) -> (Point3, Q.Quaternion Float)
heldItemRelativeOrient itm cr (p,q)
| Aiming {} <- _posture (_crStance cr) =
(p + aimingWeaponZeroPos cr itm `v2z` shoulderHeight, Q.qID * q)
| isTwoHandFlat =
( V3 (_crRad cr) 0 handD
+ rotate3 (twoFlatHRot cr) (transToHandle itm p)
( V3 (_crRad cr) 0 handD + rotate3 (twoFlatHRot cr) (transToHandle itm p)
, Q.axisAngle (V3 0 0 1) (twoFlatHRot cr) * q
)
| isOneHand =
( V3 (_crRad cr * 0.7 + handPos) (_crRad cr * negate 0.7) handD
+ transToHandle itm p
+ transToHandle itm p
, Q.qID * q
)
| otherwise =
( V3 (_crRad cr) 0 handD
+ rotate3 (strideRot cr + 1.2) (V3 (-8) 0 0 + transToHandle itm p)
( V3 (_crRad cr) 0 handD
+ rotate3 (strideRot cr + 1.2) (V3 (-8) 0 0 + transToHandle itm p)
, Q.axisAngle (V3 0 0 1) (strideRot cr + 1.2) * q
)
where
@@ -74,7 +74,6 @@ aimingWeaponHandlePos _ it = case it ^? itUse . heldAim . aimStance of
Just TwoHandFlat -> V2 10 0
Nothing -> 0
heldItemOffset :: Item -> Creature -> Point3 -> Point3
heldItemOffset itm cr p = fst (heldItemRelativeOrient itm cr (p,Q.qID))
+43 -43
View File
@@ -2220,7 +2220,6 @@ _aimMuzzles src/Dodge/Data/Item/Use.hs 128;" f
_aimRange src/Dodge/Data/Item/Use.hs 124;" f
_aimStance src/Dodge/Data/Item/Use.hs 126;" f
_aimTurnSpeed src/Dodge/Data/Item/Use.hs 123;" f
_aimTwist src/Dodge/Data/Creature/Stance.hs 39;" f
_aimWeight src/Dodge/Data/Item/Use.hs 122;" f
_aimZoom src/Dodge/Data/Item/Use.hs 125;" f
_allocNewPos src/Dodge/Data/RightButtonOptions.hs 21;" f
@@ -3389,9 +3388,9 @@ adjustIMZone src/Dodge/Base.hs 81;" f
advanceScrollAmount src/Dodge/Update.hs 401;" f
advanceSmoothScroll src/Dodge/SmoothScroll.hs 33;" f
advanceStepCounter src/Dodge/Creature/Impulse/Movement.hs 45;" f
aimDelaySweep src/Dodge/Render/Picture.hs 239;" f
aimDelaySweep src/Dodge/Render/Picture.hs 238;" f
aimStanceInfo src/Dodge/Item/Info.hs 235;" f
aimTurn src/Dodge/Creature/YourControl.hs 187;" f
aimTurn src/Dodge/Creature/YourControl.hs 161;" f
aimingWeaponHandlePos src/Dodge/Item/HeldOffset.hs 69;" f
aimingWeaponZeroPos src/Dodge/Item/HeldOffset.hs 63;" f
airlock src/Dodge/Room/Airlock.hs 19;" f
@@ -3463,7 +3462,7 @@ armouredCorridor src/Dodge/Room/RoadBlock.hs 20;" f
arms src/Dodge/Creature/Picture.hs 75;" f
arrow src/Picture/Composite.hs 19;" f
arrowPath src/Picture/Composite.hs 8;" f
assignHotkey src/Dodge/Hotkey.hs 13;" f
assignHotkey src/Dodge/Hotkey.hs 12;" f
assignPushDoors src/Dodge/LevelGen.hs 42;" f
atFstLnkOut src/Dodge/PlacementSpot.hs 211;" f
atFstLnkOutShiftBy src/Dodge/PlacementSpot.hs 226;" f
@@ -4011,7 +4010,7 @@ disconnectItemS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 490;" f
disconnectTerminal src/Dodge/Terminal.hs 217;" f
displayConfig src/Dodge/Menu.hs 196;" f
displayControls src/Dodge/Menu.hs 206;" f
displayFrameTicks src/Dodge/Render/Picture.hs 39;" f
displayFrameTicks src/Dodge/Render/Picture.hs 38;" f
displayFreeSlots src/Dodge/DisplayInventory.hs 198;" f
displayIndents src/Dodge/DisplayInventory.hs 110;" f
displayPulse src/Dodge/Inventory/SelectionList.hs 173;" f
@@ -4026,6 +4025,7 @@ divideLineExact src/Geometry.hs 275;" f
divideLineOddNumPoints src/Geometry.hs 260;" f
doAfterPlacement src/Dodge/Layout.hs 86;" f
doAfterPlacements src/Dodge/Layout.hs 83;" f
doAimTwist src/Dodge/Creature/YourControl.hs 134;" f
doAnyEquipmentEffect src/Dodge/Creature/State.hs 189;" f
doArcStep src/Dodge/Tesla/Arc.hs 135;" f
doBackspace src/Dodge/Update/Input/Text.hs 31;" f
@@ -4128,7 +4128,7 @@ doublePairSet src/Geometry.hs 165;" f
doubleTreeToIndentList src/Dodge/DoubleTree.hs 72;" f
doubleV2 src/Geometry.hs 168;" f
drawARHUD src/Dodge/Creature/State.hs 302;" f
drawAimSweep src/Dodge/Render/Picture.hs 247;" f
drawAimSweep src/Dodge/Render/Picture.hs 246;" f
drawAllShadows src/Dodge/Shadows.hs 5;" f
drawBaseMachine src/Dodge/Machine/Draw.hs 57;" f
drawBeam src/Dodge/Beam/Draw.hs 6;" f
@@ -4140,9 +4140,9 @@ drawButton src/Dodge/Button/Draw.hs 9;" f
drawCPUShadows src/Dodge/Render/Shadow.hs 19;" f
drawCircCollisionTest src/Dodge/Debug/Picture.hs 111;" f
drawCollisionTest src/Dodge/Debug/Picture.hs 103;" f
drawCombFilter src/Dodge/Render/Picture.hs 220;" f
drawCombFilter src/Dodge/Render/Picture.hs 219;" f
drawCombineInventory src/Dodge/Render/HUD.hs 179;" f
drawConcurrentMessage src/Dodge/Render/Picture.hs 62;" f
drawConcurrentMessage src/Dodge/Render/Picture.hs 61;" f
drawCoord src/Dodge/Debug/Picture.hs 359;" f
drawCorpse src/Dodge/Corpse/Draw.hs 6;" f
drawCrInfo src/Dodge/Debug/Picture.hs 380;" f
@@ -4154,13 +4154,13 @@ drawCursorAt src/Dodge/Render/List.hs 71;" f
drawDDATest src/Dodge/Debug/Picture.hs 286;" f
drawDoorPaths src/Dodge/Debug/Picture.hs 247;" f
drawDoubleLampCover src/Dodge/Prop/Draw.hs 87;" f
drawDrag src/Dodge/Render/Picture.hs 170;" f
drawDragDrop src/Dodge/Render/Picture.hs 181;" f
drawDragPickup src/Dodge/Render/Picture.hs 190;" f
drawDragSelect src/Dodge/Render/Picture.hs 167;" f
drawDrag src/Dodge/Render/Picture.hs 169;" f
drawDragDrop src/Dodge/Render/Picture.hs 180;" f
drawDragPickup src/Dodge/Render/Picture.hs 189;" f
drawDragSelect src/Dodge/Render/Picture.hs 166;" f
drawDragSelected src/Dodge/Render/HUD.hs 132;" f
drawDragSelecting src/Dodge/Render/HUD.hs 149;" f
drawEmptySet src/Dodge/Render/Picture.hs 117;" f
drawEmptySet src/Dodge/Render/Picture.hs 116;" f
drawEnergyBall src/Dodge/EnergyBall/Draw.hs 10;" f
drawEquipment src/Dodge/Creature/Picture.hs 142;" f
drawExamineInventory src/Dodge/Render/HUD.hs 195;" f
@@ -4169,7 +4169,7 @@ drawFlame src/Dodge/Flame/Draw.hs 7;" f
drawFlamelet src/Dodge/EnergyBall/Draw.hs 26;" f
drawFooterText src/Dodge/Render/MenuScreen.hs 72;" f
drawForceField src/Dodge/Wall/Draw.hs 11;" f
drawGapPlus src/Dodge/Render/Picture.hs 230;" f
drawGapPlus src/Dodge/Render/Picture.hs 229;" f
drawGib src/Dodge/Prop/Draw.hs 31;" f
drawHUD src/Dodge/Render/HUD.hs 48;" f
drawInputMenu src/Dodge/Render/MenuScreen.hs 22;" f
@@ -4178,7 +4178,7 @@ drawInspectWalls src/Dodge/Debug/Picture.hs 227;" f
drawInventory src/Dodge/Render/HUD.hs 55;" f
drawItemChildrenConnect src/Dodge/Render/HUD.hs 326;" f
drawItemConnections src/Dodge/Render/HUD.hs 316;" f
drawJumpDown src/Dodge/Render/Picture.hs 163;" f
drawJumpDown src/Dodge/Render/Picture.hs 162;" f
drawLabCrossCol src/Dodge/Render/Label.hs 8;" f
drawLampCover src/Dodge/Prop/Draw.hs 47;" f
drawLaser src/Dodge/Laser/Draw.hs 6;" f
@@ -4192,11 +4192,11 @@ drawListYoff src/Dodge/Render/List.hs 92;" f
drawMachine src/Dodge/Machine/Draw.hs 17;" f
drawMapperAR src/Dodge/Targeting/Draw.hs 12;" f
drawMapperInventory src/Dodge/Render/HUD.hs 169;" f
drawMenuClick src/Dodge/Render/Picture.hs 137;" f
drawMenuCursor src/Dodge/Render/Picture.hs 150;" f
drawMenuOrHUD src/Dodge/Render/Picture.hs 57;" f
drawMenuClick src/Dodge/Render/Picture.hs 136;" f
drawMenuCursor src/Dodge/Render/Picture.hs 149;" f
drawMenuOrHUD src/Dodge/Render/Picture.hs 56;" f
drawMenuScreen src/Dodge/Render/MenuScreen.hs 16;" f
drawMouseCursor src/Dodge/Render/Picture.hs 73;" f
drawMouseCursor src/Dodge/Render/Picture.hs 72;" f
drawMouseOver src/Dodge/Render/HUD.hs 103;" f
drawMousePosition src/Dodge/Debug/Picture.hs 349;" f
drawMovingShape src/Dodge/Prop/Draw.hs 73;" f
@@ -4205,18 +4205,18 @@ drawOptions src/Dodge/Render/MenuScreen.hs 36;" f
drawPathBetween src/Dodge/Debug/Picture.hs 195;" f
drawPathEdge src/Dodge/Debug/Picture.hs 252;" f
drawPathing src/Dodge/Debug/Picture.hs 422;" f
drawPlus src/Dodge/Render/Picture.hs 134;" f
drawPlus src/Dodge/Render/Picture.hs 133;" f
drawPointLabel src/Dodge/Render/Label.hs 13;" f
drawProjectile src/Dodge/Projectile/Draw.hs 13;" f
drawProp src/Dodge/Prop/Draw.hs 18;" f
drawRBOptions src/Dodge/Render/HUD.hs 249;" f
drawRadarSweep src/Dodge/RadarSweep/Draw.hs 14;" f
drawRemoteShell src/Dodge/Projectile/Draw.hs 37;" f
drawReturn src/Dodge/Render/Picture.hs 123;" f
drawReturn src/Dodge/Render/Picture.hs 122;" f
drawRootCursor src/Dodge/Render/HUD.hs 71;" f
drawSSCursor src/Dodge/SelectionSections/Draw.hs 35;" f
drawSSMultiCursor src/Dodge/SelectionSections/Draw.hs 46;" f
drawSelect src/Dodge/Render/Picture.hs 209;" f
drawSelect src/Dodge/Render/Picture.hs 208;" f
drawSelectionList src/Dodge/Render/List.hs 35;" f
drawSelectionListBackground src/Dodge/Render/List.hs 51;" f
drawSelectionSections src/Dodge/SelectionSections/Draw.hs 16;" f
@@ -4349,7 +4349,7 @@ fireLoudS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 532;" f
fireS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 350;" f
firstBreather src/Dodge/Room/Breather.hs 9;" f
firstWorldLoad appDodge/Main.hs 78;" f
fixedCoordPictures src/Dodge/Render/Picture.hs 18;" f
fixedCoordPictures src/Dodge/Render/Picture.hs 17;" f
fixedSizePicClampArrow src/Dodge/Picture/SizeInvariant.hs 57;" f
flDamageInArea src/Dodge/Flame.hs 109;" f
flFlicker src/Dodge/Flame.hs 123;" f
@@ -4399,7 +4399,7 @@ forceField src/Dodge/Wall/ForceField.hs 7;" f
forceFoldable src/StrictHelp.hs 7;" f
forceSpine src/StrictHelp.hs 4;" f
fourEmbossDecoration src/Dodge/Placement/TopDecoration.hs 29;" f
fpsText src/Dodge/Render/Picture.hs 47;" f
fpsText src/Dodge/Render/Picture.hs 46;" f
fractionLoadedAmmo src/Dodge/Item/Draw/SPic.hs 137;" f
frag src/Shader/Data.hs 102;" f
freeShaderPointers' src/Shader.hs 37;" f
@@ -4526,7 +4526,7 @@ halfWidth src/Dodge/Base/Window.hs 48;" f
haltSound src/Dodge/SoundLogic.hs 37;" f
hammerCheck src/Dodge/HeldUse.hs 79;" f
handleEvent src/Dodge/Event.hs 27;" f
handleHotkeys src/Dodge/Creature/YourControl.hs 43;" f
handleHotkeys src/Dodge/Creature/YourControl.hs 40;" 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
@@ -4555,7 +4555,7 @@ heldEffect src/Dodge/HeldUse.hs 60;" f
heldEffectMuzzles src/Dodge/HeldUse.hs 117;" f
heldEffectNoHammerCheck src/Dodge/HeldUse.hs 68;" f
heldInfo src/Dodge/Item/Info.hs 84;" f
heldItemOffset src/Dodge/Item/HeldOffset.hs 78;" f
heldItemOffset src/Dodge/Item/HeldOffset.hs 77;" f
heldItemOrient2D src/Dodge/Item/HeldOffset.hs 26;" f
heldItemRelativeOrient src/Dodge/Item/HeldOffset.hs 31;" f
heldItemSPic src/Dodge/Item/Draw/SPic.hs 220;" f
@@ -4575,7 +4575,7 @@ holsterWeapon src/Dodge/Creature/Volition.hs 14;" f
homingModule src/Dodge/Item/Scope.hs 48;" f
horPipe src/Dodge/Placement/Instance/Pipe.hs 9;" f
hotkeyToChar src/Dodge/Inventory/SelectionList.hs 182;" f
hotkeyToScancode src/Dodge/Creature/YourControl.hs 71;" f
hotkeyToScancode src/Dodge/Creature/YourControl.hs 69;" f
hotkeyToString src/Dodge/Inventory/SelectionList.hs 179;" f
humanoidAIList src/Dodge/Humanoid.hs 181;" f
iShape src/Dodge/Placement/Instance/LightSource.hs 73;" f
@@ -5034,7 +5034,7 @@ mntLight src/Dodge/Placement/Instance/LightSource.hs 158;" f
mntLightLnkCond src/Dodge/Placement/Instance/LightSource.hs 163;" f
modTo src/Geometry/Zone.hs 10;" f
mouseClickOptionsList src/Dodge/Update/Input/ScreenLayer.hs 59;" f
mouseCursorType src/Dodge/Render/Picture.hs 80;" f
mouseCursorType src/Dodge/Render/Picture.hs 79;" f
mouseWorldPos src/Dodge/Base/Coordinate.hs 48;" f
moveBullet src/Dodge/Bullet.hs 187;" f
moveCombineSel src/Dodge/Update/Scroll.hs 112;" f
@@ -5474,7 +5474,7 @@ reloadS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 446;" f
rememberSounds src/Dodge/Creature/Perception.hs 177;" f
remoteDetonator src/Dodge/Item/Scope.hs 145;" f
remoteScreen src/Dodge/Item/Scope.hs 140;" f
removeAimPosture src/Dodge/Creature/YourControl.hs 173;" f
removeAimPosture src/Dodge/Creature/YourControl.hs 143;" f
removeAmmoFromMag src/Dodge/HeldUse.hs 459;" f
removeDot src/ShortShow.hs 29;" f
removeInverseWalls src/Dodge/LevelGen/StaticWalls.hs 25;" f
@@ -5608,7 +5608,7 @@ scaleMat src/MatrixHelper.hs 59;" f
scaleMatrix src/MatrixHelper.hs 56;" f
scaleSH src/Shape.hs 268;" f
scalp src/Dodge/Creature/Picture.hs 96;" f
scancodeToHotkey src/Dodge/Creature/YourControl.hs 91;" f
scancodeToHotkey src/Dodge/Creature/YourControl.hs 89;" f
scodeToChar src/Dodge/ScodeToChar.hs 6;" f
scorchSPic src/Dodge/Creature/State.hs 118;" f
screenBox src/Dodge/Base/Window.hs 53;" f
@@ -5662,11 +5662,10 @@ sensorSPic src/Dodge/Machine/Draw.hs 70;" f
sentinelAI src/Dodge/Creature/SentinelAI.hs 20;" f
sentinelExtraWatchUpdate src/Dodge/Creature/SentinelAI.hs 83;" f
sentinelFireType src/Dodge/Creature/SentinelAI.hs 50;" f
setAimPosture src/Dodge/Creature/YourControl.hs 159;" f
setAimPosture src/Dodge/Creature/YourControl.hs 131;" f
setChannelPos src/Sound.hs 149;" f
setClickWorldPos src/Dodge/Update.hs 100;" f
setClusterID src/Dodge/Combine/Graph.hs 115;" f
setCrPosture src/Dodge/Creature/YourControl.hs 197;" f
setDepth src/Picture/Base.hs 128;" f
setDirPS src/Dodge/PlacementSpot.hs 49;" f
setFallback src/Dodge/PlacementSpot.hs 127;" f
@@ -5769,7 +5768,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 536;" f
shoulderHeight src/Dodge/Item/HeldOffset.hs 81;" f
shoulderHeight src/Dodge/Item/HeldOffset.hs 80;" f
shoulderSH src/Dodge/Creature/Picture.hs 139;" f
shoulderSP src/Dodge/Creature/HandPos.hs 170;" f
showAttachItem src/Dodge/Item/Display.hs 88;" f
@@ -5799,7 +5798,7 @@ singleLDT src/Dodge/DoubleTree.hs 12;" f
singleton src/DoubleStack.hs 11;" f
singletonTrie src/SimpleTrie.hs 19;" f
sizeFBOs src/Framebuffer/Update.hs 22;" f
sizeSelf src/Dodge/Creature/Action.hs 205;" f
sizeSelf src/Dodge/Creature/Action.hs 207;" f
skwareFadeTwoSecS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 384;" f
slap1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 506;" f
slapS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 450;" f
@@ -5921,7 +5920,7 @@ strFromEquipment src/Dodge/Creature/Statistics.hs 17;" f
strFromHeldItem src/Dodge/Creature/Statistics.hs 29;" f
strengthFactor src/Dodge/Creature/Impulse/Movement.hs 32;" f
strictify src/MaybeHelp.hs 37;" f
strideRot src/Dodge/Item/HeldOffset.hs 84;" 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
@@ -6011,6 +6010,7 @@ thingHitFilt src/Dodge/WorldEvent/ThingsHit.hs 53;" f
thingsHit src/Dodge/WorldEvent/ThingsHit.hs 29;" f
thingsHitExceptCr src/Dodge/WorldEvent/ThingsHit.hs 73;" f
threeLineDecoration src/Dodge/Placement/TopDecoration.hs 61;" f
throwItem src/Dodge/Creature/Action.hs 204;" f
tileTexCoords src/Tile.hs 11;" f
tilesFromRooms src/Dodge/Layout.hs 205;" f
tilesToLine src/Shader/AuxAddition.hs 66;" f
@@ -6113,7 +6113,7 @@ truncFaces src/Polyhedra/Geodesic.hs 53;" f
truncate src/Polyhedra/Geodesic.hs 38;" f
trunkDepth src/TreeHelp.hs 161;" f
tryAttachItems src/Dodge/Item/Grammar.hs 22;" f
tryClickUse src/Dodge/Creature/YourControl.hs 202;" f
tryClickUse src/Dodge/Creature/YourControl.hs 168;" f
tryCombine src/Dodge/Update/Input/InGame.hs 523;" f
tryDropSelected src/Dodge/Update/Input/InGame.hs 123;" f
tryGetChannel src/Sound.hs 96;" f
@@ -6138,7 +6138,8 @@ twinSlowDoorChasers src/Dodge/Room/LongDoor.hs 79;" f
twinSlowDoorRoom src/Dodge/Room/LongDoor.hs 28;" f
twists src/Dodge/Creature/Test.hs 103;" f
twoFlat src/Dodge/Creature/Test.hs 100;" f
twoFlatHRot src/Dodge/Item/HeldOffset.hs 93;" f
twoFlatHRot src/Dodge/Item/HeldOffset.hs 92;" f
twoHandTwistAmount src/Dodge/Creature/YourControl.hs 146;" f
twoRoomPoss src/Dodge/PlacementSpot.hs 147;" f
twoStep1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 406;" f
twoStepS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 444;" f
@@ -6299,7 +6300,7 @@ useC src/Dodge/Cuse.hs 8;" f
useC' src/Dodge/Cuse.hs 13;" f
useE src/Dodge/Euse.hs 34;" f
useGasParams src/Dodge/HeldUse.hs 568;" f
useHotkey src/Dodge/Creature/YourControl.hs 66;" f
useHotkey src/Dodge/Creature/YourControl.hs 64;" f
useInventoryPath src/Dodge/HeldUse.hs 811;" f
useItem src/Dodge/Creature/Impulse/UseItem.hs 20;" f
useItemLoc src/Dodge/Creature/Impulse/UseItem.hs 27;" f
@@ -6361,12 +6362,11 @@ wallLine src/Dodge/Placement/Instance/Wall.hs 71;" f
wallsFromRooms src/Dodge/Layout.hs 146;" f
wallsToDraw src/Dodge/Render/Walls.hs 17;" f
warningRooms src/Dodge/Room/Warning.hs 27;" f
wasdAim src/Dodge/Creature/YourControl.hs 126;" f
wasdAim src/Dodge/Creature/YourControl.hs 120;" f
wasdDir src/Dodge/WASD.hs 17;" f
wasdM src/Dodge/WASD.hs 9;" f
wasdMovement src/Dodge/Creature/YourControl.hs 175;" f
wasdTwist src/Dodge/Creature/YourControl.hs 140;" f
wasdWithAiming src/Dodge/Creature/YourControl.hs 115;" f
wasdMovement src/Dodge/Creature/YourControl.hs 149;" f
wasdWithAiming src/Dodge/Creature/YourControl.hs 113;" f
watchCombinations src/Dodge/Combine/Combinations.hs 15;" f
watchUpdateStrat src/Dodge/Creature/ReaderUpdate.hs 177;" f
weakenMatS src/Dodge/Material/Sound.hs 18;" f
@@ -6428,7 +6428,7 @@ yellow src/Color.hs 17;" f
you src/Dodge/Base/You.hs 12;" f
youDropItem src/Dodge/Creature/Action.hs 190;" f
yourAugmentedItem src/Dodge/Render/HUD.hs 235;" f
yourControl src/Dodge/Creature/YourControl.hs 24;" f
yourControl src/Dodge/Creature/YourControl.hs 23;" f
yourDefaultSpeed src/Dodge/Default/Creature.hs 129;" f
yourDefaultStrideLength src/Dodge/Default/Creature.hs 132;" f
yourInfo src/Dodge/Creature/Info.hs 8;" f