Start moving hotkeys out from creatures into world

This commit is contained in:
2024-12-19 15:16:47 +00:00
parent 11b5ef74c5
commit 4526119fcd
11 changed files with 131 additions and 108 deletions
+1 -1
View File
File diff suppressed because one or more lines are too long
+8 -4
View File
@@ -53,7 +53,8 @@ toggleEquipmentAt invid cr w = case getEquipmentAllocation w of
-- & crpoint . crInvEquipped . at invid ?~ newp
& crpoint . crInv . ix invid . itLocation . ilEquipPosition ?~ newp
& onequip itm cr
& crpoint %~ assignNewHotkey invid
-- & crpoint %~ assignNewHotkey invid
& cWorld . lWorld %~ assignNewHotkey invid
MoveEquipment{_allocNewPos = newp, _allocOldPos = oldp} ->
w
& crpoint . crEquipment . at newp ?~ invid
@@ -77,15 +78,18 @@ toggleEquipmentAt invid cr w = case getEquipmentAllocation w of
& crpoint . crInv . ix rid . itLocation . ilEquipPosition .~ Nothing
& onremove (itmat rid) cr
& onequip itm cr
& crpoint %~ removeHotkey rid
& crpoint %~ assignNewHotkey invid
-- & crpoint %~ removeHotkey rid
-- & crpoint %~ assignNewHotkey invid
& cWorld . lWorld %~ removeHotkey rid
& cWorld . lWorld %~ assignNewHotkey invid
RemoveEquipment{_allocOldPos = oldp} ->
w
& crpoint . crEquipment . at oldp .~ Nothing
-- & crpoint . crInvEquipped . at invid .~ Nothing
& crpoint . crInv . ix invid . itLocation . ilEquipPosition .~ Nothing
& onremove itm cr
& crpoint %~ removeHotkey invid
-- & crpoint %~ removeHotkey invid
& cWorld . lWorld %~ removeHotkey invid
where
crpoint = cWorld . lWorld . creatures . ix (_crID cr)
itmat i = _crInv cr IM.! i
+5 -3
View File
@@ -40,9 +40,10 @@ yourControl _ w
handleHotkeys :: World -> World
handleHotkeys w
| SDL.ButtonRight `M.member` _mouseButtons (_input w) = foldl' tryAssignHotkey w allHotkeys
| otherwise = foldl' useHotKey w (M.intersection hotkeys (w ^. input . pressedKeys))
| otherwise = foldl' useHotKey w (M.intersection thehotkeys (w ^. input . pressedKeys))
where
hotkeys = M.mapKeys hotkeyToScancode $ w ^?! cWorld . lWorld . creatures . ix 0 . crHotkeys
--thehotkeys = M.mapKeys hotkeyToScancode $ w ^?! cWorld . lWorld . creatures . ix 0 . crHotkeys
thehotkeys = M.mapKeys hotkeyToScancode $ w ^. cWorld . lWorld . hotkeys
useHotKey :: World -> Int -> World
useHotKey w invid = useItemHotkey 0 invid w
@@ -87,7 +88,8 @@ tryAssignHotkey w sc = fromMaybe w $ do
guard (pt == InitialPress)
cr <- w ^? cWorld . lWorld . creatures . ix 0
itid <- cr ^? crManipulation . manObject . imSelectedItem
return $ w & cWorld . lWorld . creatures . ix 0 %~ assignHotkey itid (scancodeToHotkey sc)
--return $ w & cWorld . lWorld . creatures . ix 0 %~ assignHotkey itid (scancodeToHotkey sc)
return $ w & cWorld . lWorld %~ assignHotkey itid (scancodeToHotkey sc)
{- | The order of these MAY be important, in particular the setting of crMvAim
within wasdMovement should probably be done first
+1 -1
View File
@@ -57,7 +57,7 @@ data Creature = Creature
-- , _crInvEquipped :: IM.IntMap EquipPosition
, _crEquipment :: M.Map EquipPosition Int
, _crInvHotkeys :: IM.IntMap Hotkey
, _crHotkeys :: M.Map Hotkey Int
-- , _crHotkeys :: M.Map Hotkey Int
, _crState :: CreatureState
, _crCorpse :: CreatureCorpse --Creature -> Corpse -> SPic
, _crMaterial :: Material
+2
View File
@@ -92,6 +92,7 @@ import Dodge.Data.WorldEffect
import Geometry.Data
import qualified IntMapHelp as IM
import Picture.Data
import qualified Data.Map.Strict as M
data LWorld = LWorld
{ _creatures :: IM.IntMap Creature
@@ -141,6 +142,7 @@ data LWorld = LWorld
, _lClock :: Int
, _lTestString :: [String]
, _lTestInt :: Int
, _hotkeys :: M.Map Hotkey Int
}
--data WorldBeams = WorldBeams
-- { _blockingBeams :: [Beam]
+1 -1
View File
@@ -37,7 +37,7 @@ defaultCreature =
-- , _crInvEquipped = mempty
, _crEquipment = M.empty
, _crInvHotkeys = mempty
, _crHotkeys = M.empty
-- , _crHotkeys = M.empty
, _crStance =
Stance
{ _carriage = Walking 0 WasLeftForward
+1
View File
@@ -148,6 +148,7 @@ defaultLWorld =
, _lClock = 0
, _lTestString = []
, _lTestInt = 0
, _hotkeys = mempty
}
defaultHUD :: HUD
+29 -19
View File
@@ -11,36 +11,46 @@ import Data.Maybe
import Dodge.Data.World
import Control.Monad
assignNewHotkey :: Int -> Creature -> Creature
assignNewHotkey invid cr = assignHotkey invid (newHotkey cr) cr
assignNewHotkey :: Int -> LWorld -> LWorld
assignNewHotkey invid w = assignHotkey invid (newHotkey w) w
newHotkey :: Creature -> Hotkey
newHotkey cr = fromMaybe maxBound $ find (not . (`M.member` usedhks)) [minBound .. maxBound]
--newHotkey :: Creature -> Hotkey
--newHotkey cr = fromMaybe maxBound $ find (not . (`M.member` usedhks)) [minBound .. maxBound]
-- where
-- usedhks = cr ^?! crHotkeys
newHotkey :: LWorld -> Hotkey
newHotkey lw = fromMaybe maxBound $ find (not . (`M.member` usedhks)) [minBound .. maxBound]
where
usedhks = cr ^?! crHotkeys
usedhks = lw ^. hotkeys
-- this will not remove the hotkey from its old slot, assumes there is a hotkey
-- to swap with instead
-- requires there actually is equipment in the slot, too
assignHotkey :: Int -> Hotkey -> Creature -> Creature
assignHotkey invid hk cr = fromMaybe cr $ do
assignHotkey :: Int -> Hotkey -> LWorld -> LWorld
assignHotkey invid hk lw = fromMaybe lw $ do
--guard (invid `IM.member` (cr ^. crInvEquipped))
guard $ isJust $ cr ^? crInv . ix invid . itLocation . ilEquipPosition . _Just
_ <- cr ^? crInv . ix invid . itUse . leftUse
return $ (setHotkey invid hk . moveOldHotkey invid hk) cr
guard $ isJust $ lw ^? creatures . ix 0 . crInv . ix invid . itLocation . ilEquipPosition . _Just
_ <- lw ^? creatures . ix 0 . crInv . ix invid . itUse . leftUse
return $ (setHotkey invid hk . moveOldHotkey invid hk) lw
moveOldHotkey :: Int -> Hotkey -> Creature -> Creature
--moveOldHotkey :: Int -> Hotkey -> Creature -> Creature
--moveOldHotkey invid hk w = fromMaybe w $ do
-- oldhk <- w ^? crInvHotkeys . ix invid
-- oldid <- w ^? crHotkeys . ix hk
-- return $ w & setHotkey oldid oldhk
moveOldHotkey :: Int -> Hotkey -> LWorld -> LWorld
moveOldHotkey invid hk w = fromMaybe w $ do
oldhk <- w ^? crInvHotkeys . ix invid
oldid <- w ^? crHotkeys . ix hk
oldhk <- w ^? creatures . ix 0 . crInvHotkeys . ix invid
oldid <- w ^? hotkeys . ix hk
return $ w & setHotkey oldid oldhk
setHotkey :: Int -> Hotkey -> Creature -> Creature
setHotkey i hk = (crInvHotkeys . at i ?~ hk) . (crHotkeys . at hk ?~ i)
setHotkey :: Int -> Hotkey -> LWorld -> LWorld
setHotkey i hk = (creatures . ix 0 . crInvHotkeys . at i ?~ hk) . (hotkeys . at hk ?~ i)
removeHotkey :: Int -> Creature -> Creature
removeHotkey invid cr = cr & crInvHotkeys . at invid .~ Nothing
removeHotkey :: Int -> LWorld -> LWorld
removeHotkey invid w = w & creatures . ix 0 . crInvHotkeys . at invid .~ Nothing
& fromMaybe id (do
hk <- cr ^? crInvHotkeys . ix invid
return (crHotkeys . at hk .~ Nothing)
hk <- w ^? creatures . ix 0 . crInvHotkeys . ix invid
return (hotkeys . at hk .~ Nothing)
)
+4 -2
View File
@@ -69,7 +69,8 @@ rmInvItem cid invid w =
-- & pointcid . crInvEquipped %~ IM.delete invid
-- & pointcid . crInvEquipped %~ IM.mapKeys g
& removeanyactivation
& pointcid . crHotkeys . each %~ g
-- & pointcid . crHotkeys . each %~ g
& cWorld . lWorld . hotkeys . each %~ g
& pointcid . crInvHotkeys %~ IM.delete invid
& pointcid . crInvHotkeys %~ IM.mapKeys g
& updateselection
@@ -101,7 +102,8 @@ rmInvItem cid invid w =
return $ pointcid . crEquipment . at epos .~ Nothing
removeanyactivation = fromMaybe id $ do
epos <- w ^? cWorld . lWorld . creatures . ix cid . crInvHotkeys . ix invid
return $ pointcid . crHotkeys . at epos .~ Nothing
--return $ pointcid . crHotkeys . at epos .~ Nothing
return $ cWorld . lWorld . hotkeys . at epos .~ Nothing
maxk = fmap fst $ IM.lookupMax $ cr ^. crInv
f inv =
let (xs, ys) = IM.split invid inv
+6 -3
View File
@@ -34,6 +34,7 @@ swapInvItems f i w = fromMaybe w $ do
& swapAnyExtraSelection i k
& checkConnection InventorySound disconnectItemS i k
& cWorld . lWorld . creatures . ix 0 %~ updatecreature k
& swaphotkeys k
& updateselection
& worldEventFlags . at InventoryChange ?~ ()
& cWorld . lWorld %~ crUpdateItemLocations 0
@@ -58,15 +59,17 @@ swapInvItems f i w = fromMaybe w $ do
. swapSite i k
. swapSite k i
. (crInvHotkeys %~ IM.safeSwapKeys i k)
. swapSite' i k
swaphotkeys k =
swapSite' i k
. swapSite' k i
cr = you w
--swapSite a b = case cr ^? crInvEquipped . ix a of
swapSite a b = case cr ^? crInv . ix a . itLocation . ilEquipPosition . _Just of
Just epos -> crEquipment . ix epos .~ b
Nothing -> id
swapSite' a b = case cr ^? crInvHotkeys . ix a of
Just epos -> crHotkeys . ix epos .~ b
--swapSite' a b = case cr ^? crInvHotkeys . ix a of
swapSite' a b = case w ^? cWorld . lWorld . creatures . ix 0 . crInvHotkeys . ix a of
Just epos -> cWorld . lWorld . hotkeys . ix epos .~ b
Nothing -> id
swapAnyExtraSelection :: Int -> Int -> World -> World
+73 -74
View File
@@ -17,7 +17,7 @@
<$> src/Dodge/Data/CWorld.hs 49;" o
<$> src/Dodge/Data/Camera.hs 39;" o
<$> src/Dodge/Data/Creature.hs 106;" o
<$> src/Dodge/Data/LWorld.hs 155;" o
<$> src/Dodge/Data/LWorld.hs 157;" o
<$> src/Dodge/Data/Terminal.hs 131;" o
AIUNIT src/Dodge/Data/Item/Combine.hs 52;" C
AMMOMAG src/Dodge/Data/Item/Combine.hs 22;" C
@@ -986,7 +986,7 @@ LTimePause src/Dodge/Data/Item/HeldUse.hs 35;" C
LTimeScroll src/Dodge/Data/Item/HeldUse.hs 36;" C
LUnsafeBlink src/Dodge/Data/Item/HeldUse.hs 38;" C
LUpdate src/Dodge/Data/ComposedItem.hs 59;" C
LWorld src/Dodge/Data/LWorld.hs 96;" t
LWorld src/Dodge/Data/LWorld.hs 97;" t
LWorld src/Dodge/Data/LWorld.hs 6;" m
LabLink src/Dodge/Data/Room.hs 45;" C
LabSS src/Dodge/Data/Scenario.hs 97;" C
@@ -2212,7 +2212,7 @@ _blObstructs src/Dodge/Data/Block.hs 34;" f
_blPos src/Dodge/Data/Block.hs 29;" f
_blShadows src/Dodge/Data/Block.hs 27;" f
_blWallIDs src/Dodge/Data/Block.hs 25;" f
_blocks src/Dodge/Data/LWorld.hs 125;" f
_blocks src/Dodge/Data/LWorld.hs 126;" f
_bloomBlurShader src/Data/Preload/Render.hs 21;" f
_bmColor src/Dodge/Data/Beam.hs 23;" f
_bmDamage src/Dodge/Data/Beam.hs 22;" f
@@ -2258,8 +2258,8 @@ _buWidth src/Dodge/Data/Bullet.hs 25;" f
_bulGunSound src/Dodge/Data/Item/Use.hs 79;" f
_bulGunSound src/Dodge/Data/Item/Use.hs 86;" f
_bulGunSound src/Dodge/Data/Item/Use.hs 96;" f
_bullets src/Dodge/Data/LWorld.hs 105;" f
_buttons src/Dodge/Data/LWorld.hs 133;" f
_bullets src/Dodge/Data/LWorld.hs 106;" f
_buttons src/Dodge/Data/LWorld.hs 134;" f
_cClock src/Dodge/Data/CWorld.hs 28;" f
_cUse src/Dodge/Data/Item/Use.hs 51;" f
_cWorld src/Dodge/Data/World.hs 38;" f
@@ -2312,14 +2312,14 @@ _closeItems src/Dodge/Data/HUD.hs 50;" f
_cloudEBO src/Data/Preload/Render.hs 49;" f
_cloudShader src/Data/Preload/Render.hs 48;" f
_cloudVBO src/Data/Preload/Render.hs 47;" f
_clouds src/Dodge/Data/LWorld.hs 100;" f
_clouds src/Dodge/Data/LWorld.hs 101;" f
_cmdEffect src/Dodge/Data/Terminal.hs 95;" f
_cmeRecoil src/Dodge/Data/MuzzleEffect.hs 12;" f
_cmeSound src/Dodge/Data/MuzzleEffect.hs 14;" f
_cmeTorque src/Dodge/Data/MuzzleEffect.hs 13;" f
_colorBlurShader src/Data/Preload/Render.hs 22;" f
_coordinates src/Dodge/Data/LWorld.hs 126;" f
_corpses src/Dodge/Data/LWorld.hs 135;" f
_coordinates src/Dodge/Data/LWorld.hs 127;" f
_corpses src/Dodge/Data/LWorld.hs 136;" f
_cpAttention src/Dodge/Data/Creature/Perception.hs 34;" f
_cpAudition src/Dodge/Data/Creature/Perception.hs 37;" f
_cpAwareness src/Dodge/Data/Creature/Perception.hs 35;" f
@@ -2351,8 +2351,6 @@ _crID src/Dodge/Data/Creature.hs 48;" f
_crIntention src/Dodge/Data/Creature.hs 73;" f
_crInv src/Dodge/Data/Creature.hs 53;" f
_crInvCapacity src/Dodge/Data/Creature.hs 55;" f
_crInvEquipped src/Dodge/Data/Creature.hs 57;" f
_crInvHotkeys src/Dodge/Data/Creature.hs 59;" f
_crInvLock src/Dodge/Data/Creature.hs 56;" f
_crManipulation src/Dodge/Data/Creature.hs 54;" f
_crMass src/Dodge/Data/Creature.hs 50;" f
@@ -2378,8 +2376,8 @@ _crType src/Dodge/Data/Creature.hs 47;" f
_crVel src/Dodge/Data/Creature.hs 41;" f
_crVocalization src/Dodge/Data/Creature.hs 70;" f
_crZoning src/Dodge/Data/World.hs 49;" f
_creatureGroups src/Dodge/Data/LWorld.hs 98;" f
_creatures src/Dodge/Data/LWorld.hs 97;" f
_creatureGroups src/Dodge/Data/LWorld.hs 99;" f
_creatures src/Dodge/Data/LWorld.hs 98;" f
_csDamage src/Dodge/Data/Creature/State.hs 17;" f
_csDropsOnDeath src/Dodge/Data/Creature/State.hs 19;" f
_csLinks src/Dodge/Data/RoomCluster.hs 11;" f
@@ -2415,7 +2413,7 @@ _debugV2 src/Dodge/Data/Universe.hs 56;" f
_debugV3 src/Dodge/Data/Universe.hs 55;" f
_debug_booleans src/Dodge/Data/Config.hs 57;" f
_debug_view_clip_bounds src/Dodge/Data/Config.hs 56;" f
_delayedEvents src/Dodge/Data/LWorld.hs 131;" f
_delayedEvents src/Dodge/Data/LWorld.hs 132;" f
_dexterity src/Dodge/Data/Creature/Misc.hs 22;" f
_diCloseFilter src/Dodge/Data/HUD.hs 24;" f
_diInvFilter src/Dodge/Data/HUD.hs 23;" f
@@ -2424,7 +2422,7 @@ _diSelection src/Dodge/Data/HUD.hs 22;" f
_dimAttachPos src/Dodge/Data/Item/Misc.hs 16;" f
_dimCenter src/Dodge/Data/Item/Misc.hs 15;" f
_dimRad src/Dodge/Data/Item/Misc.hs 14;" f
_distortions src/Dodge/Data/LWorld.hs 140;" f
_distortions src/Dodge/Data/LWorld.hs 141;" f
_dmAmount src/Dodge/Data/Damage.hs 34;" f
_dmAt src/Dodge/Data/Damage.hs 36;" f
_dmEffect src/Dodge/Data/Damage.hs 38;" f
@@ -2452,7 +2450,7 @@ _doReplicateAction src/Dodge/Data/ActionPlan.hs 142;" f
_doReplicateAction src/Dodge/Data/ActionPlan.hs 147;" f
_doReplicateTimes src/Dodge/Data/ActionPlan.hs 141;" f
_doReplicateTimes src/Dodge/Data/ActionPlan.hs 146;" f
_doors src/Dodge/Data/LWorld.hs 121;" f
_doors src/Dodge/Data/LWorld.hs 122;" f
_drClosePos src/Dodge/Data/Door.hs 42;" f
_drDeath src/Dodge/Data/Door.hs 44;" f
_drHP src/Dodge/Data/Door.hs 43;" f
@@ -2490,7 +2488,7 @@ _eeSite src/Dodge/Data/Item/Use/Equipment.hs 21;" f
_eeUse src/Dodge/Data/Item/Use/Equipment.hs 18;" f
_eeViewDist src/Dodge/Data/Item/Use/Equipment.hs 23;" f
_emoMenuOption src/Dodge/Data/Universe.hs 73;" f
_energyBalls src/Dodge/Data/LWorld.hs 107;" f
_energyBalls src/Dodge/Data/LWorld.hs 108;" f
_eparamID src/Dodge/Data/Item/Use/Equipment.hs 37;" f
_eparamInt src/Dodge/Data/Item/Use/Equipment.hs 38;" f
_fbo2 src/Data/Preload/Render.hs 29;" f
@@ -2513,14 +2511,14 @@ _flTimer src/Dodge/Data/Flame.hs 19;" f
_flVel src/Dodge/Data/Flame.hs 15;" f
_flWidth src/Dodge/Data/Flame.hs 18;" f
_flZ src/Dodge/Data/Flame.hs 20;" f
_flames src/Dodge/Data/LWorld.hs 109;" f
_flames src/Dodge/Data/LWorld.hs 110;" f
_flankTarget src/Dodge/Data/ActionPlan.hs 177;" f
_flares src/Dodge/Data/LWorld.hs 112;" f
_flares src/Dodge/Data/LWorld.hs 113;" f
_flatShieldWlMIX src/Dodge/Data/Item/Params.hs 20;" f
_floorItems src/Dodge/Data/LWorld.hs 128;" f
_floorItems src/Dodge/Data/LWorld.hs 129;" f
_floorShader src/Data/Preload/Render.hs 44;" f
_floorVBO src/Data/Preload/Render.hs 43;" f
_foregroundShapes src/Dodge/Data/LWorld.hs 134;" f
_foregroundShapes src/Dodge/Data/LWorld.hs 135;" f
_fsDir src/Dodge/Data/ForegroundShape.hs 17;" f
_fsID src/Dodge/Data/ForegroundShape.hs 15;" f
_fsPos src/Dodge/Data/ForegroundShape.hs 16;" f
@@ -2561,7 +2559,7 @@ _guID src/Dodge/Data/Gust.hs 14;" f
_guPos src/Dodge/Data/Gust.hs 15;" f
_guTime src/Dodge/Data/Gust.hs 17;" f
_guVel src/Dodge/Data/Gust.hs 16;" f
_gusts src/Dodge/Data/LWorld.hs 101;" f
_gusts src/Dodge/Data/LWorld.hs 102;" f
_gwWorld src/Dodge/Data/GenWorld.hs 24;" f
_hammerPosition src/Dodge/Data/Hammer.hs 14;" f
_heldAim src/Dodge/Data/Item/Use.hs 39;" f
@@ -2571,6 +2569,7 @@ _heldParams src/Dodge/Data/Item/Use.hs 41;" f
_heldPos src/Dodge/Data/Input.hs 51;" f
_heldTriggerType src/Dodge/Data/Item/Use.hs 42;" f
_heldWorldPos src/Dodge/Data/Input.hs 53;" f
_hotkeys src/Dodge/Data/LWorld.hs 145;" f
_hud src/Dodge/Data/World.hs 47;" f
_hudElement src/Dodge/Data/HUD.hs 46;" f
_humanoidAI src/Dodge/Data/Creature/Misc.hs 80;" f
@@ -2608,7 +2607,7 @@ _impulseUseTarget src/Dodge/Data/ActionPlan.hs 53;" f
_impulseUseTargetCID src/Dodge/Data/ActionPlan.hs 50;" f
_impulsesListList src/Dodge/Data/ActionPlan.hs 98;" f
_input src/Dodge/Data/World.hs 44;" f
_instantBullets src/Dodge/Data/LWorld.hs 104;" f
_instantBullets src/Dodge/Data/LWorld.hs 105;" f
_intelligence src/Dodge/Data/Creature/Misc.hs 23;" f
_ipPlacement src/Dodge/Data/GenWorld.hs 132;" f
_ipPlacementID src/Dodge/Data/GenWorld.hs 133;" f
@@ -2627,22 +2626,22 @@ _itTgID src/Dodge/Data/Item.hs 56;" f
_itTgPos src/Dodge/Data/Item.hs 55;" f
_itType src/Dodge/Data/Item.hs 44;" f
_itUse src/Dodge/Data/Item.hs 42;" f
_itemLocations src/Dodge/Data/LWorld.hs 99;" f
_itemLocations src/Dodge/Data/LWorld.hs 100;" f
_izFac src/Dodge/Data/Item/Use.hs 182;" f
_izMax src/Dodge/Data/Item/Use.hs 180;" f
_izMin src/Dodge/Data/Item/Use.hs 181;" f
_killTarget src/Dodge/Data/ActionPlan.hs 198;" f
_lClock src/Dodge/Data/LWorld.hs 141;" f
_lTestInt src/Dodge/Data/LWorld.hs 143;" f
_lTestString src/Dodge/Data/LWorld.hs 142;" f
_lClock src/Dodge/Data/LWorld.hs 142;" f
_lTestInt src/Dodge/Data/LWorld.hs 144;" f
_lTestString src/Dodge/Data/LWorld.hs 143;" f
_lWorld src/Dodge/Data/CWorld.hs 26;" f
_lampColor src/Dodge/Data/Creature/Misc.hs 83;" f
_lampHeight src/Dodge/Data/Creature/Misc.hs 83;" f
_lampLSID src/Dodge/Data/Creature/Misc.hs 83;" f
_laserEmmiter src/Dodge/Data/Laser.hs 18;" f
_laserTypeDamage src/Dodge/Data/Laser.hs 17;" f
_lasers src/Dodge/Data/LWorld.hs 115;" f
_lasersToDraw src/Dodge/Data/LWorld.hs 116;" f
_lasers src/Dodge/Data/LWorld.hs 116;" f
_lasersToDraw src/Dodge/Data/LWorld.hs 117;" f
_ldpPos src/Dodge/Data/SelectionList.hs 14;" f
_ldpScale src/Dodge/Data/SelectionList.hs 15;" f
_ldpVerticalGap src/Dodge/Data/SelectionList.hs 16;" f
@@ -2654,14 +2653,14 @@ _leftConsumption src/Dodge/Data/Item/Use.hs 49;" f
_leftDelay src/Dodge/Data/Item/Use.hs 46;" f
_leftHammer src/Dodge/Data/Item/Use.hs 47;" f
_leftUse src/Dodge/Data/Item/Use.hs 45;" f
_lightSources src/Dodge/Data/LWorld.hs 136;" f
_lightSources src/Dodge/Data/LWorld.hs 137;" f
_lightingCapShader src/Data/Preload/Render.hs 16;" f
_lightingLineShadowShader src/Data/Preload/Render.hs 15;" f
_lightingTextureShader src/Data/Preload/Render.hs 17;" f
_lightingWallShadShader src/Data/Preload/Render.hs 14;" f
_lights src/Dodge/Data/LWorld.hs 137;" f
_lights src/Dodge/Data/LWorld.hs 138;" f
_lightsUBO src/Data/Preload/Render.hs 40;" f
_linearShockwaves src/Dodge/Data/LWorld.hs 117;" f
_linearShockwaves src/Dodge/Data/LWorld.hs 118;" f
_linkGapEW src/Dodge/Data/Room.hs 35;" f
_linkGapNS src/Dodge/Data/Room.hs 36;" f
_loadedChunks src/Sound/Data.hs 36;" f
@@ -2688,12 +2687,12 @@ _lwTimer src/Dodge/Data/LinearShockwave.hs 17;" f
_lzColor src/Dodge/Data/Laser.hs 31;" f
_lzPoints src/Dodge/Data/Laser.hs 32;" f
_lzType src/Dodge/Data/Laser.hs 33;" f
_machines src/Dodge/Data/LWorld.hs 122;" f
_machines src/Dodge/Data/LWorld.hs 123;" f
_magLoadStatus src/Dodge/Data/Item.hs 35;" f
_magParams src/Dodge/Data/Item.hs 36;" f
_magShieldMgMIX src/Dodge/Data/Item/Params.hs 16;" f
_magType src/Dodge/Data/Item.hs 37;" f
_magnets src/Dodge/Data/LWorld.hs 124;" f
_magnets src/Dodge/Data/LWorld.hs 125;" f
_mainAction src/Dodge/Data/ActionPlan.hs 171;" f
_manObject src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 15;" f
_matUBO src/Data/Preload/Render.hs 39;" f
@@ -2748,7 +2747,7 @@ _moString src/Dodge/Data/Universe.hs 102;" f
_moString src/Dodge/Data/Universe.hs 107;" f
_modOption src/Dodge/Data/Universe.hs 97;" f
_modString src/Dodge/Data/Universe.hs 95;" f
_modifications src/Dodge/Data/LWorld.hs 129;" f
_modifications src/Dodge/Data/LWorld.hs 130;" f
_mouseButtons src/Dodge/Data/Input.hs 46;" f
_mouseButtonsReleased src/Dodge/Data/Input.hs 47;" f
_mouseContext src/Dodge/Data/Input.hs 43;" f
@@ -2833,7 +2832,7 @@ _plType src/Dodge/Data/GenWorld.hs 79;" f
_playStatus src/Sound/Data.hs 18;" f
_playingSounds src/Dodge/Data/World.hs 43;" f
_pnZoning src/Dodge/Data/World.hs 52;" f
_posEvents src/Dodge/Data/LWorld.hs 108;" f
_posEvents src/Dodge/Data/LWorld.hs 109;" f
_posture src/Dodge/Data/Creature/Stance.hs 15;" f
_ppEvent src/Dodge/Data/PressPlate.hs 23;" f
_ppID src/Dodge/Data/PressPlate.hs 24;" f
@@ -2862,7 +2861,7 @@ _prUpdate src/Dodge/Data/Prop.hs 36;" f
_prVel src/Dodge/Data/Prop.hs 24;" f
_prVelZ src/Dodge/Data/Prop.hs 27;" f
_preloadData src/Dodge/Data/Universe.hs 32;" f
_pressPlates src/Dodge/Data/LWorld.hs 132;" f
_pressPlates src/Dodge/Data/LWorld.hs 133;" f
_pressedKeys src/Dodge/Data/Input.hs 45;" f
_previousArcEffect src/Dodge/Data/Item/Params.hs 26;" f
_prjAcc src/Dodge/Data/Projectile.hs 19;" f
@@ -2877,8 +2876,8 @@ _prjTimer src/Dodge/Data/Projectile.hs 25;" f
_prjUpdates src/Dodge/Data/Projectile.hs 27;" f
_prjVel src/Dodge/Data/Projectile.hs 18;" f
_prjZ src/Dodge/Data/Projectile.hs 26;" f
_projectiles src/Dodge/Data/LWorld.hs 103;" f
_props src/Dodge/Data/LWorld.hs 102;" f
_projectiles src/Dodge/Data/LWorld.hs 104;" f
_props src/Dodge/Data/LWorld.hs 103;" f
_proxDist src/Dodge/Data/Machine/Sensor.hs 26;" f
_proxReqEquipment src/Dodge/Data/Machine/Sensor.hs 34;" f
_proxReqMinHealth src/Dodge/Data/Machine/Sensor.hs 33;" f
@@ -2912,8 +2911,8 @@ _pvType src/Dodge/Data/PosEvent.hs 17;" f
_pwPoly src/Dodge/Data/GenWorld.hs 49;" f
_pwWall src/Dodge/Data/GenWorld.hs 49;" f
_pyFaces src/Polyhedra/Data.hs 14;" f
_radarBlips src/Dodge/Data/LWorld.hs 111;" f
_radarSweeps src/Dodge/Data/LWorld.hs 106;" f
_radarBlips src/Dodge/Data/LWorld.hs 112;" f
_radarSweeps src/Dodge/Data/LWorld.hs 107;" f
_randGen src/Dodge/Data/World.hs 41;" f
_randomOffset src/Dodge/Data/Item/Use.hs 77;" f
_randomOffset src/Dodge/Data/Item/Use.hs 94;" f
@@ -2998,9 +2997,9 @@ _scrollTestInt src/Dodge/Data/Input.hs 56;" f
_scurColor src/Dodge/Data/SelectionList.hs 26;" f
_scurPos src/Dodge/Data/SelectionList.hs 24;" f
_scurSize src/Dodge/Data/SelectionList.hs 25;" f
_seenLocations src/Dodge/Data/LWorld.hs 138;" f
_seenLocations src/Dodge/Data/LWorld.hs 139;" f
_seenWalls src/Dodge/Data/CWorld.hs 29;" f
_selLocation src/Dodge/Data/LWorld.hs 139;" f
_selLocation src/Dodge/Data/LWorld.hs 140;" f
_sensAmount src/Dodge/Data/Machine/Sensor.hs 19;" f
_sensDraw src/Dodge/Data/Machine/Sensor.hs 21;" f
_sensThreshold src/Dodge/Data/Machine/Sensor.hs 22;" f
@@ -3021,7 +3020,7 @@ _shaderVAO src/Shader/Data.hs 54;" f
_shapeEBO src/Data/Preload/Render.hs 26;" f
_shapeHalfSize src/Shape/Data.hs 18;" f
_shapeShader src/Data/Preload/Render.hs 25;" f
_shockwaves src/Dodge/Data/LWorld.hs 114;" f
_shockwaves src/Dodge/Data/LWorld.hs 115;" f
_shrinkGunStatus src/Dodge/Data/Item/Params.hs 18;" f
_siColor src/Dodge/Data/SelectionList.hs 49;" f
_siColor src/Dodge/Data/SelectionList.hs 58;" f
@@ -3066,7 +3065,7 @@ _soundVolumeFraction src/Sound/Data.hs 56;" f
_soundsToInvestigate src/Dodge/Data/Creature/Memory.hs 14;" f
_spPixelOff src/Dodge/Data/ScreenPos.hs 14;" f
_spScreenOff src/Dodge/Data/ScreenPos.hs 13;" f
_sparks src/Dodge/Data/LWorld.hs 110;" f
_sparks src/Dodge/Data/LWorld.hs 111;" f
_spawnEBT src/Dodge/Data/Bullet.hs 42;" f
_ssIndent src/Dodge/Data/SelectionList.hs 33;" f
_ssItems src/Dodge/Data/SelectionList.hs 30;" f
@@ -3102,8 +3101,8 @@ _tcEffect src/Dodge/Data/Terminal.hs 120;" f
_tcHelp src/Dodge/Data/Terminal.hs 119;" f
_tcString src/Dodge/Data/Terminal.hs 117;" f
_termID src/Dodge/Data/HUD.hs 43;" f
_terminals src/Dodge/Data/LWorld.hs 123;" f
_teslaArcs src/Dodge/Data/LWorld.hs 113;" f
_terminals src/Dodge/Data/LWorld.hs 124;" f
_teslaArcs src/Dodge/Data/LWorld.hs 114;" f
_testFloat src/Dodge/Data/World.hs 45;" f
_textInput src/Dodge/Data/Input.hs 54;" f
_textureObject src/Shader/Data.hs 95;" f
@@ -3150,10 +3149,10 @@ _toPlaySounds src/Dodge/Data/World.hs 42;" f
_topBoxSize src/Shape/Data.hs 17;" f
_torqueAfter src/Dodge/Data/Item/Use.hs 76;" f
_torqueAfter src/Dodge/Data/Item/Use.hs 93;" f
_tractorBeams src/Dodge/Data/LWorld.hs 118;" f
_tractorBeams src/Dodge/Data/LWorld.hs 119;" f
_trieChildren src/SimpleTrie.hs 11;" f
_trieMVal src/SimpleTrie.hs 10;" f
_triggers src/Dodge/Data/LWorld.hs 127;" f
_triggers src/Dodge/Data/LWorld.hs 128;" f
_tryLeftLink src/Dodge/Data/ComposedItem.hs 55;" f
_tryRightLink src/Dodge/Data/ComposedItem.hs 56;" f
_ttDeathEffect src/Dodge/Data/Terminal.hs 84;" f
@@ -3228,10 +3227,10 @@ _vxShadNum src/Picture/Data.hs 18;" f
_wCam src/Dodge/Data/World.hs 55;" f
_waitThenAction src/Dodge/Data/ActionPlan.hs 105;" f
_waitThenTimer src/Dodge/Data/ActionPlan.hs 104;" f
_wallDamages src/Dodge/Data/LWorld.hs 120;" f
_wallDamages src/Dodge/Data/LWorld.hs 121;" f
_wallShader src/Data/Preload/Render.hs 46;" f
_wallVBO src/Data/Preload/Render.hs 45;" f
_walls src/Dodge/Data/LWorld.hs 119;" f
_walls src/Dodge/Data/LWorld.hs 120;" f
_warmMax src/Dodge/Data/Item/HeldDelay.hs 27;" f
_warmSound src/Dodge/Data/Item/HeldDelay.hs 28;" f
_warmTime src/Dodge/Data/Item/HeldDelay.hs 26;" f
@@ -3263,7 +3262,7 @@ _wlUnshadowed src/Dodge/Data/Wall.hs 30;" f
_wlWalkable src/Dodge/Data/Wall.hs 26;" f
_wlZoning src/Dodge/Data/World.hs 51;" f
_worldEventFlags src/Dodge/Data/World.hs 48;" f
_worldEvents src/Dodge/Data/LWorld.hs 130;" f
_worldEvents src/Dodge/Data/LWorld.hs 131;" f
_wpCharge src/Dodge/Data/Item/Use/Consumption.hs 35;" f
_wpMaxCharge src/Dodge/Data/Item/Use/Consumption.hs 34;" f
_wsBlock src/Dodge/Data/Wall.hs 52;" f
@@ -3396,8 +3395,8 @@ 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 26;" f
assignNewHotkey src/Dodge/Hotkey.hs 15;" f
assignHotkey src/Dodge/Hotkey.hs 25;" f
assignNewHotkey src/Dodge/Hotkey.hs 14;" f
assignPushDoors src/Dodge/LevelGen.hs 42;" f
atFstLnkOut src/Dodge/PlacementSpot.hs 211;" f
atFstLnkOutShiftBy src/Dodge/PlacementSpot.hs 226;" f
@@ -3411,7 +3410,7 @@ attachOnward' src/Dodge/Tree/Compose.hs 98;" f
attachTree src/Dodge/Tree/Compose.hs 38;" f
attentionViewPoint src/Dodge/Creature/ReaderUpdate.hs 66;" f
attribSize src/Shader/Compile.hs 306;" f
augInvDirectSelect src/Dodge/Inventory.hs 192;" f
augInvDirectSelect src/Dodge/Inventory.hs 194;" f
augmentedHUD src/Dodge/Item/Scope.hs 47;" f
autoAmr src/Dodge/Item/Held/Rod.hs 49;" f
autoBS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 362;" f
@@ -3546,21 +3545,21 @@ centroidNum src/Geometry/Polygon.hs 133;" f
chainCreatureUpdates src/Dodge/Creature/ChainUpdates.hs 6;" f
chainLinkOrientation src/Dodge/Creature/State.hs 266;" f
chainPairs src/Geometry.hs 363;" f
changeSwapOther src/Dodge/Inventory.hs 150;" f
changeSwapSel src/Dodge/Inventory.hs 142;" f
changeSwapWith src/Dodge/Inventory.hs 185;" f
changeSwapOther src/Dodge/Inventory.hs 152;" f
changeSwapSel src/Dodge/Inventory.hs 144;" f
changeSwapWith src/Dodge/Inventory.hs 187;" f
charToTuple src/Picture/Base.hs 317;" f
charToTupleGrad src/Picture/Text.hs 18;" f
chargeIfEquipped src/Dodge/ItEffect.hs 54;" f
chargeIfInInventory src/Dodge/ItEffect.hs 46;" f
chartreuse src/Color.hs 24;" f
chaseCrit src/Dodge/Creature/ChaseCrit.hs 33;" f
chaseCrit src/Dodge/Creature/ChaseCrit.hs 32;" f
chaseCritAwarenessUpdate src/Dodge/Creature/Perception.hs 69;" f
chaseCritMv src/Dodge/Creature/ReaderUpdate.hs 112;" f
chaseCritPerceptionUpdate src/Dodge/Creature/Perception.hs 30;" f
chaseCritVocalization src/Dodge/Creature/ChaseCrit.hs 46;" f
chaseCritVocalization src/Dodge/Creature/ChaseCrit.hs 45;" f
checkCombineSelectionExists src/Dodge/DisplayInventory.hs 105;" f
checkConnection src/Dodge/Inventory/Swap.hs 80;" f
checkConnection src/Dodge/Inventory/Swap.hs 84;" f
checkDeath src/Dodge/Creature/State.hs 78;" f
checkEndGame src/Dodge/Update.hs 693;" f
checkErrorGL src/Shader/Compile.hs 255;" f
@@ -3576,7 +3575,7 @@ chemFuelPouch src/Dodge/Item/Ammo.hs 112;" f
chooseCursorBorders src/Dodge/Render/List.hs 156;" f
chooseEquipmentPosition src/Dodge/Inventory/RBList.hs 36;" f
chooseFootSound src/Dodge/Creature/State/WalkCycle.hs 39;" f
chooseFreeSite src/Dodge/Inventory/RBList.hs 43;" f
chooseFreeSite src/Dodge/Inventory/RBList.hs 42;" f
chooseMovementLtAuto src/Dodge/CreatureEffect.hs 105;" f
chooseMovementPistol src/Dodge/Humanoid.hs 202;" f
chooseMovementPistol' src/Dodge/Humanoid.hs 207;" f
@@ -3866,7 +3865,7 @@ defaultCreatureTargeting src/Dodge/Default/Creature.hs 63;" f
defaultCrystalWall src/Dodge/Default/Wall.hs 40;" f
defaultDirtBlock src/Dodge/Default/Block.hs 19;" f
defaultDirtWall src/Dodge/Default/Wall.hs 61;" f
defaultDisplayInventory src/Dodge/Default/World.hs 164;" f
defaultDisplayInventory src/Dodge/Default/World.hs 165;" f
defaultDoor src/Dodge/Default/Door.hs 29;" f
defaultDoorWall src/Dodge/Default/Wall.hs 32;" f
defaultDrawButton src/Dodge/Button/Draw.hs 28;" f
@@ -3875,7 +3874,7 @@ defaultEquipUse src/Dodge/Default/Item/Use.hs 23;" f
defaultEquipment src/Dodge/Default.hs 25;" f
defaultFlIt src/Dodge/Default.hs 28;" f
defaultForeground src/Dodge/Default/ForegroundShape.hs 5;" f
defaultHUD src/Dodge/Default/World.hs 153;" f
defaultHUD src/Dodge/Default/World.hs 154;" f
defaultHeldItem src/Dodge/Default/Item.hs 17;" f
defaultHeldUse src/Dodge/Default/Item/Use.hs 28;" f
defaultImpulsive src/Dodge/Humanoid.hs 190;" f
@@ -4209,7 +4208,7 @@ equipInfo src/Dodge/Item/Info.hs 104;" f
equipItemSPic src/Dodge/Item/Draw/SPic.hs 66;" f
equipPosition src/Dodge/Item/Draw.hs 30;" f
equipSiteInfo src/Dodge/Item/Info.hs 221;" f
equipSiteToPositions src/Dodge/Inventory/RBList.hs 79;" f
equipSiteToPositions src/Dodge/Inventory/RBList.hs 77;" f
equipSpeed src/Dodge/Creature/Impulse/Movement.hs 99;" f
equipmentStrValue src/Dodge/Creature/Statistics.hs 20;" f
errorAngleVV src/Geometry.hs 62;" f
@@ -4364,7 +4363,7 @@ getCrEquipment src/Dodge/Equipment.hs 7;" f
getCrMoveSpeed src/Dodge/Creature/Statistics.hs 14;" f
getDamageCoding src/Dodge/Terminal.hs 177;" f
getDistortions src/Dodge/Render.hs 383;" f
getEquipmentAllocation src/Dodge/Inventory/RBList.hs 48;" f
getEquipmentAllocation src/Dodge/Inventory/RBList.hs 47;" f
getLaserColor src/Dodge/HeldUse.hs 216;" f
getLaserDamage src/Dodge/HeldUse.hs 213;" f
getLaserPhaseV src/Dodge/HeldUse.hs 210;" f
@@ -4582,7 +4581,7 @@ invisibleWall src/Dodge/Placement/Instance/Wall.hs 16;" f
isAmmoIntLink src/Dodge/HeldUse.hs 227;" f
isAnimate src/Dodge/Creature/Test.hs 136;" f
isCognizant src/Dodge/Creature/Perception.hs 105;" f
isConnected src/Dodge/Inventory/Swap.hs 90;" f
isConnected src/Dodge/Inventory/Swap.hs 94;" f
isElectrical src/Dodge/Data/Damage.hs 42;" f
isFrictionless src/Dodge/Creature/State.hs 447;" f
isGas src/Dodge/Euse.hs 65;" f
@@ -4993,7 +4992,7 @@ nearPoint src/Dodge/Zoning/Common.hs 8;" f
nearRect src/Dodge/Zoning/Common.hs 16;" f
nearSeg src/Dodge/Zoning/Common.hs 12;" f
newExtraAwareness src/Dodge/Creature/Perception.hs 137;" f
newHotkey src/Dodge/Hotkey.hs 18;" f
newHotkey src/Dodge/Hotkey.hs 17;" f
newKey src/IntMapHelp.hs 60;" f
newSounds src/Dodge/Creature/Perception.hs 170;" f
newTextureFramebuffer src/Framebuffer/Setup.hs 16;" f
@@ -5515,8 +5514,8 @@ screenPolygon src/Dodge/Base/Window.hs 17;" f
screenPolygonBord src/Dodge/Base/Window.hs 27;" f
screenPosAbs src/Dodge/ScreenPos.hs 15;" f
screenToWorldPos src/Dodge/Base/Coordinate.hs 53;" f
scrollAugInvSel src/Dodge/Inventory.hs 200;" f
scrollAugNextInSection src/Dodge/Inventory.hs 213;" f
scrollAugInvSel src/Dodge/Inventory.hs 202;" f
scrollAugNextInSection src/Dodge/Inventory.hs 215;" f
scrollCommandStrings src/Dodge/Update/Scroll.hs 135;" f
scrollCommands src/Dodge/Update/Scroll.hs 132;" f
scrollDebugInfoInt src/Dodge/Debug.hs 47;" f
@@ -5573,7 +5572,7 @@ setHotkey src/Dodge/Hotkey.hs 38;" f
setInLinks src/Dodge/RoomLink.hs 51;" f
setInLinksByType src/Dodge/RoomLink.hs 54;" f
setInLinksPD src/Dodge/RoomLink.hs 74;" f
setInvPosFromSS src/Dodge/Inventory/Location.hs 81;" f
setInvPosFromSS src/Dodge/Inventory/Location.hs 83;" f
setItemCharge src/Dodge/ItEffect.hs 39;" f
setLayer src/Picture/Base.hs 139;" f
setLinkType src/Dodge/RoomLink.hs 60;" f
@@ -5813,7 +5812,7 @@ stopPushing src/Dodge/Block.hs 109;" f
stopSoundFrom src/Dodge/SoundLogic.hs 206;" f
stopWatch src/Dodge/Item/Weapon/Utility.hs 13;" f
strFromEquipment src/Dodge/Creature/Statistics.hs 17;" f
strFromHeldItem src/Dodge/Creature/Statistics.hs 35;" 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
@@ -5823,11 +5822,11 @@ stripZ src/Geometry/Vector3D.hs 97;" f
subInvX src/Dodge/ListDisplayParams.hs 48;" f
subMap src/TreeHelp.hs 118;" f
subZipWith src/Dodge/Placement/Instance/Wall.hs 115;" f
swapAnyExtraSelection src/Dodge/Inventory/Swap.hs 71;" f
swapAnyExtraSelection src/Dodge/Inventory/Swap.hs 75;" f
swapInOutLinks src/Dodge/RoomLink.hs 80;" f
swapIndices src/ListHelp.hs 50;" f
swapInvItems src/Dodge/Inventory/Swap.hs 20;" f
swapItemWith src/Dodge/Inventory.hs 174;" f
swapItemWith src/Dodge/Inventory.hs 176;" f
swarmCrit src/Dodge/Creature/SwarmCrit.hs 10;" f
swarmUsingCenter src/Dodge/Creature/Boid.hs 171;" f
switchDoor src/Dodge/Placement/Instance/Door.hs 96;" f
@@ -6063,7 +6062,7 @@ updateBulVel src/Dodge/Bullet.hs 40;" f
updateBullet src/Dodge/Bullet.hs 23;" f
updateBullets src/Dodge/Update.hs 536;" f
updateCamera src/Dodge/Update/Camera.hs 31;" f
updateCloseObjects src/Dodge/Inventory.hs 113;" f
updateCloseObjects src/Dodge/Inventory.hs 115;" f
updateCloud src/Dodge/Update.hs 721;" f
updateClouds src/Dodge/Update.hs 565;" f
updateCombinePositioning src/Dodge/DisplayInventory.hs 41;" f