Allow dragging of selected items in inventory

This commit is contained in:
2024-10-20 11:32:37 +01:00
parent 8b6f5529ff
commit f6e32ff6ef
7 changed files with 259 additions and 158 deletions
+20 -1
View File
@@ -1 +1,20 @@
All good (597 modules, at 12:38:41)
/home/justin/Haskell/loop/src/Dodge/Update.hs:319:30-33: warning: [-Wunused-matches]
Defined but not used: ssel
|
319 | Just (MouseInvChosen ssel esel) -> w
| ^^^^
/home/justin/Haskell/loop/src/Dodge/Update.hs:319:35-38: warning: [-Wunused-matches]
Defined but not used: esel
|
319 | Just (MouseInvChosen ssel esel) -> w
| ^^^^
/home/justin/Haskell/loop/src/Dodge/Update.hs:341:38: warning: [-Wunused-matches]
Defined but not used: k
|
341 | shiftInvItemsUp (_,i) (_,j) (Just (_,k)) w = w
| ^
/home/justin/Haskell/loop/src/Dodge/Update.hs:351:40: warning: [-Wunused-matches]
Defined but not used: k
|
351 | shiftInvItemsDown (_,i) (_,j) (Just (_,k)) w = w
| ^
+10 -7
View File
@@ -19,19 +19,22 @@ data HUDElement
}
| DisplayCarte
data MouseInventorySelection = NoMouseSel
| MouseInvSelect
{_misSelStart :: (Int,Int), _misMaybeEnd :: Maybe (Int,Int)}
| MouseInvChosen
{_misChosenStart :: (Int,Int), _misChosenEnd :: (Int,Int)}
data MouseInventorySelection
= NoMouseSel
| MouseInvSelect
{_misSelStart :: (Int, Int), _misMaybeEnd :: Maybe (Int, Int)}
| MouseInvChosen
{ _misChosenStart :: (Int, Int)
, _misChosenEnd :: (Int, Int)
}
data SubInventory
= NoSubInventory
{ _nsSelected :: MouseInventorySelection
, _nsMouseOver :: Maybe (Int,Int)
, _nsMouseOver :: Maybe (Int, Int)
}
| ExamineInventory
| CombineInventory { _ciSections :: SelectionSections CombinableItem }
| CombineInventory {_ciSections :: SelectionSections CombinableItem}
| LockedInventory
| DisplayTerminal {_termID :: Int}
+11 -6
View File
@@ -10,7 +10,8 @@ module Dodge.Inventory (
crInvSize,
selectedCloseObject,
setInvPosFromSS,
module Dodge.Inventory.RBList
module Dodge.Inventory.RBList,
swapInvItems,
) where
import NewInt
@@ -162,18 +163,22 @@ changeSwapClose f i w = fromMaybe w $ do
& hud . hudElement . diSections . sssExtra . sssSelPos . _Just . _2 .~ k
& worldEventFlags . at InventoryChange ?~ ()
changeSwapInv ::
-- can be specialised for when we know that item i is selected
swapInvItems ::
(Int -> IM.IntMap (SelectionItem ()) -> Maybe Int) ->
Int ->
World ->
World
changeSwapInv f i w = fromMaybe w $ do
swapInvItems f i w = fromMaybe w $ do
ss <- w ^? hud . hudElement . diSections . sssSections . ix 0 . ssItems
k <- f i ss
let updateselection = case w ^? hud . hudElement . diSections . sssExtra . sssSelPos . _Just of
Just (0,j) | j == k -> hud . hudElement . diSections . sssExtra . sssSelPos . _Just . _2 .~ i
Just (0,j) | j == i -> hud . hudElement . diSections . sssExtra . sssSelPos . _Just . _2 .~ k
_ -> id
return $
w & cWorld . lWorld . creatures . ix 0 %~ updatecreature k
-- & cWorld . lWorld . creatures . ix 0 %~ updateRootItemID
& hud . hudElement . diSections . sssExtra . sssSelPos . _Just . _2 .~ k
& updateselection
& worldEventFlags . at InventoryChange ?~ ()
& cWorld . lWorld %~ crUpdateItemLocations 0
& setInvPosFromSS
@@ -199,7 +204,7 @@ changeSwapInv f i w = fromMaybe w $ do
changeSwapWith :: (Int -> IM.IntMap (SelectionItem ()) -> Maybe Int) -> World -> World
changeSwapWith f w = case w ^? hud . hudElement . diSections . sssExtra . sssSelPos . _Just of
Just (0, i) -> w & changeSwapInv f i
Just (0, i) -> w & swapInvItems f i
Just (3, i) -> w & changeSwapClose f i
_ -> w
+29
View File
@@ -9,6 +9,8 @@ module Dodge.SelectionSections (
inverseSelSecYint,
posSelSecYint,
inverseSelNumPos,
inverseSelBoundaryUp,
inverseSelBoundaryDown,
) where
import Control.Monad
@@ -186,5 +188,32 @@ inverseSelNumPos ::
inverseSelNumPos cfig ldp sss (V2 x y) =
inverseSelSecYintXPosCheck cfig ldp x (posSelSecYint cfig ldp y) sss
inverseSelBoundaryUp ::
Configuration ->
ListDisplayParams ->
SelectionSections a ->
Point2 ->
Maybe (Int,Int)
inverseSelBoundaryUp cfig ldp sss (V2 _ y) = do
sel <- inverseSelSecYint (posSelSecYint cfig ldp y) sss
let mselup = inverseSelSecYint (posSelSecYint cfig ldp y - 1) sss
if Just sel == mselup
then return $ sel & _2 +~ 1
else return $ sel
inverseSelBoundaryDown ::
Configuration ->
ListDisplayParams ->
SelectionSections a ->
Point2 ->
Maybe (Int,Int)
inverseSelBoundaryDown cfig ldp sss (V2 _ y) = do
sel <- inverseSelSecYint (posSelSecYint cfig ldp y) sss
let mseldown = inverseSelSecYint (posSelSecYint cfig ldp y + 1) sss
if Just sel == mseldown
then return $ sel & _2 -~ 1
else return sel
--getIthPos :: Int -> IM.IntMap (SelectionItem a) -> Int
--getIthPos i sm = sum . fmap _siHeight . fst $ IM.split i sm
+4 -5
View File
@@ -21,11 +21,10 @@ import Dodge.Data.Universe
import qualified IntMapHelp as IM
testStringInit :: Universe -> [String]
testStringInit u = [
show $ u ^? uvWorld . hud . hudElement . subInventory . nsMouseOver . _Just]
<> map show (IM.elems (L.postscan (L.premap _siHeight L.sum)
$ fromMaybe mempty $ u ^? uvWorld . hud . hudElement . diSections . sssSections . ix 0 . ssItems)
)
testStringInit u = [show $ u ^? uvWorld . hud . hudElement . subInventory . nsMouseOver . _Just]
-- <> map show (IM.elems (L.postscan (L.premap _siHeight L.sum)
-- $ fromMaybe mempty $ u ^? uvWorld . hud . hudElement . diSections . sssSections . ix 0 . ssItems)
-- )
--testStringInit u = [maybe mempty show $ u ^? uvWorld . cWorld . lWorld . projectiles . ix 0 . prjUpdates . ix 3 . pjuControllerID]
--testStringInit u = (topTestPart u
-- <>) $ map showh $
+55 -15
View File
@@ -6,6 +6,7 @@ Description : Simulation update
-}
module Dodge.Update (updateUniverse) where
import Dodge.Inventory
import Dodge.ListDisplayParams
import Dodge.SelectionSections
import Data.Monoid
@@ -32,7 +33,6 @@ import Dodge.Distortion
import Dodge.DrWdWd
import Dodge.EnergyBall
import Dodge.Flame
import Dodge.Inventory
import Dodge.Item.Location
import Dodge.Laser.Update
import Dodge.LightSource.Update
@@ -295,27 +295,67 @@ checkTermDist w = fromMaybe w $ do
return (w & hud . hudElement . subInventory .~ NoSubInventory NoMouseSel Nothing)
updateMouseInventorySelection :: Configuration -> World -> World
updateMouseInventorySelection cfig w
updateMouseInventorySelection cfig w = fromMaybe w $ do
sss <- w ^? hud . hudElement . diSections
return $ updateMouseInventorySelection' sss cfig w
-- check whether leftclickstart evaluates to True on very short left clicks
updateMouseInventorySelection' :: SelectionSections a -> Configuration -> World -> World
updateMouseInventorySelection' sss cfig w
| leftclickstart = case msel of
Nothing -> fromMaybe w $ do
ysel <- mysel
return $ w & hud . hudElement . subInventory . nsSelected .~ MouseInvSelect ysel Nothing
Just (i,j) -> w & hud . hudElement . subInventory . nsSelected .~
MouseInvChosen (i,j) (i,j)
| leftclickheld = w
| otherwise = w
Just p -> w & hud . hudElement . subInventory . nsSelected %~ startdrag p
| leftclickheld = case w ^? hud . hudElement . subInventory . nsSelected of
Just MouseInvSelect{} -> w
& hud . hudElement . subInventory . nsSelected . misMaybeEnd .~ msel
Just (MouseInvChosen ssel esel)
| maybe False (<ssel) $ inverseSelBoundaryUp cfig ldp sss mpos -> w
& shiftInvItemsUp ssel esel (inverseSelBoundaryUp cfig ldp sss mpos)
Just (MouseInvChosen ssel esel)
| maybe False (>esel) $ inverseSelBoundaryDown cfig ldp sss mpos -> w
& shiftInvItemsDown ssel esel (inverseSelBoundaryDown cfig ldp sss mpos)
Just (MouseInvChosen ssel esel) -> w
_ -> w
& hud . hudElement . subInventory . nsSelected .~ NoMouseSel
| otherwise = case w ^? hud . hudElement . subInventory . nsSelected of
Just (MouseInvSelect ssel (Just esel)) -> w
& hud . hudElement . subInventory . nsSelected .~ MouseInvChosen (min ssel esel)
(max ssel esel)
Just (MouseInvSelect _ Nothing) -> w
& hud . hudElement . subInventory . nsSelected .~ NoMouseSel
_ -> w
where
leftclickstart = w ^? input . mouseButtons . ix ButtonLeft == Just 0
leftclickheld = ButtonLeft `M.member` (w ^. input . mouseButtons)
startdrag p (MouseInvChosen s e) | s <= p && p <= e = MouseInvChosen s e
startdrag p _ = MouseInvChosen p p
leftclickstart = w ^? input . mouseButtons . ix ButtonLeft == Just 0 && nobuttonright
leftclickheld = ButtonLeft `M.member` (w ^. input . mouseButtons) && nobuttonright
nobuttonright = not $ ButtonRight `M.member` (w ^. input . mouseButtons)
mpos = w ^. input . mousePos
ldp = invDisplayParams w
msel = do
sss <- msss
inverseSelNumPos cfig ldp sss (w ^. input . mousePos)
mysel = do
sss <- msss
inverseSelSecYint (posSelSecYint cfig ldp (mpos ^. _y)) sss
msss = w ^? hud . hudElement . diSections
msel = inverseSelNumPos cfig ldp sss (w ^. input . mousePos)
mysel = inverseSelSecYint (posSelSecYint cfig ldp (mpos ^. _y)) sss
shiftInvItemsUp :: (Int,Int) -> (Int,Int) -> Maybe (Int,Int) -> World -> World
shiftInvItemsUp (_,i) (_,j) (Just (_,k)) w = w
& flip (foldl' f) [i..j]
& hud . hudElement . subInventory . nsSelected . misChosenStart . _2 -~ 1
& hud . hudElement . subInventory . nsSelected . misChosenEnd . _2 -~ 1
where
f w' i' = swapInvItems g i' w'
g i' m = fmap fst $ IM.cycleLT i' m
shiftInvItemsUp _ _ Nothing w = w
shiftInvItemsDown :: (Int,Int) -> (Int,Int) -> Maybe (Int,Int) -> World -> World
shiftInvItemsDown (_,i) (_,j) (Just (_,k)) w = w
& flip (foldl' f) (reverse [i..j])
& hud . hudElement . subInventory . nsSelected . misChosenStart . _2 +~ 1
& hud . hudElement . subInventory . nsSelected . misChosenEnd . _2 +~ 1
where
f w' i' = swapInvItems g i' w'
g i' m = fmap fst $ IM.cycleGT i' m
shiftInvItemsDown _ _ Nothing w = w
updateMouseOverInventory :: Configuration -> World -> World
updateMouseOverInventory cfig w = fromMaybe w $ do
+130 -124
View File
@@ -333,7 +333,7 @@ Combinations src/Dodge/Combine/Combinations.hs 3;" m
Combine src/Dodge/Combine.hs 2;" m
Combine src/Dodge/Data/Combine.hs 2;" m
Combine src/Dodge/Data/Item/Combine.hs 6;" m
CombineInventory src/Dodge/Data/HUD.hs 34;" C
CombineInventory src/Dodge/Data/HUD.hs 37;" C
CombineInventoryChange src/Dodge/Data/World.hs 34;" C
Common src/Dodge/Zoning/Common.hs 1;" m
Compile src/Shader/Compile.hs 1;" m
@@ -513,7 +513,7 @@ Display src/Dodge/Item/Display.hs 1;" m
DisplayCarte src/Dodge/Data/HUD.hs 20;" C
DisplayInventory src/Dodge/Data/HUD.hs 16;" C
DisplayInventory src/Dodge/DisplayInventory.hs 5;" m
DisplayTerminal src/Dodge/Data/HUD.hs 36;" C
DisplayTerminal src/Dodge/Data/HUD.hs 39;" C
Distortion src/Dodge/Data/Distortion.hs 12;" t
Distortion src/Dodge/Data/Distortion.hs 6;" m
Distortion src/Dodge/Distortion.hs 1;" m
@@ -658,7 +658,7 @@ Euse src/Dodge/Data/Item/HeldUse.hs 20;" t
Euse src/Dodge/Euse.hs 1;" m
Event src/Dodge/Button/Event.hs 1;" m
Event src/Dodge/Event.hs 14;" m
ExamineInventory src/Dodge/Data/HUD.hs 33;" C
ExamineInventory src/Dodge/Data/HUD.hs 36;" C
Explore src/Dodge/Data/Scenario.hs 4;" C
Explosion src/Dodge/Data/SoundOrigin.hs 36;" C
Explosion src/Dodge/WorldEvent/Explosion.hs 4;" m
@@ -816,7 +816,7 @@ HELD src/Dodge/Data/Item/Combine.hs 16;" C
HELDDETECTOR src/Dodge/Data/Item/Combine.hs 162;" C
HOMINGMODULE src/Dodge/Data/Item/Combine.hs 82;" C
HOSE src/Dodge/Data/Item/Combine.hs 32;" C
HUD src/Dodge/Data/HUD.hs 40;" t
HUD src/Dodge/Data/HUD.hs 43;" t
HUD src/Dodge/Data/HUD.hs 6;" m
HUD src/Dodge/Render/HUD.hs 3;" m
HUDElement src/Dodge/Data/HUD.hs 15;" t
@@ -1072,7 +1072,7 @@ Location src/Dodge/Item/Location.hs 1;" m
LocationLDT src/Dodge/Data/DoubleTree.hs 62;" t
Lock src/Dodge/Inventory/Lock.hs 1;" m
LockAndKey src/Dodge/LockAndKey.hs 1;" m
LockedInventory src/Dodge/Data/HUD.hs 35;" C
LockedInventory src/Dodge/Data/HUD.hs 38;" C
LoneWolf src/Dodge/Data/Creature/State.hs 46;" C
LongAI src/Dodge/Data/Creature/Misc.hs 60;" C
LongDoor src/Dodge/Room/LongDoor.hs 2;" m
@@ -1184,8 +1184,8 @@ MountedLS src/Dodge/Data/MountedObject.hs 12;" C
MountedObject src/Dodge/Data/MountedObject.hs 11;" t
MountedObject src/Dodge/Data/MountedObject.hs 6;" m
MountedProp src/Dodge/Data/MountedObject.hs 13;" C
MouseInvChosen src/Dodge/Data/HUD.hs 25;" C
MouseInvSelect src/Dodge/Data/HUD.hs 23;" C
MouseInvChosen src/Dodge/Data/HUD.hs 26;" C
MouseInvSelect src/Dodge/Data/HUD.hs 24;" C
MouseInventorySelection src/Dodge/Data/HUD.hs 22;" t
Mouse_position src/Dodge/Data/Config.hs 73;" C
Move src/Dodge/Data/ActionPlan.hs 28;" C
@@ -1253,7 +1253,7 @@ NoIntImp src/Dodge/Data/CreatureEffect.hs 20;" C
NoInvEffect src/Dodge/Data/Item/Effect.hs 20;" C
NoItTargeting src/Dodge/Data/Item.hs 44;" C
NoLighting src/Dodge/Data/Config.hs 102;" C
NoMouseSel src/Dodge/Data/HUD.hs 22;" C
NoMouseSel src/Dodge/Data/HUD.hs 23;" C
NoMvType src/Dodge/Data/Creature/Misc.hs 38;" C
NoNeedWeapon src/Dodge/Room/NoNeedWeapon.hs 2;" m
NoObjShads src/Dodge/Data/Config.hs 100;" C
@@ -1264,7 +1264,7 @@ NoRightButtonOptions src/Dodge/Data/RightButtonOptions.hs 14;" C
NoRoomClipBoundaries src/Dodge/Data/Config.hs 105;" C
NoShadowFidelity src/Shape/Data.hs 25;" C
NoShadows src/Dodge/Data/Config.hs 101;" C
NoSubInventory src/Dodge/Data/HUD.hs 29;" C
NoSubInventory src/Dodge/Data/HUD.hs 32;" C
NoWorldEffect src/Dodge/Data/WorldEffect.hs 24;" C
Noclip src/Dodge/Data/Config.hs 70;" C
NodeMTree src/Dodge/Tree/Compose/Data.hs 9;" C
@@ -1809,7 +1809,7 @@ Strategy src/Dodge/Creature/Strategy.hs 1;" m
StrategyActions src/Dodge/Data/ActionPlan.hs 188;" C
StrictHelp src/StrictHelp.hs 1;" m
StringHelp src/StringHelp.hs 1;" m
SubInventory src/Dodge/Data/HUD.hs 28;" t
SubInventory src/Dodge/Data/HUD.hs 31;" t
Superfluous src/Shape/Data.hs 38;" C
Surface src/Shape/Data.hs 41;" t
Survive src/Dodge/Data/Scenario.hs 5;" C
@@ -2274,15 +2274,15 @@ _camViewDistance src/Dodge/Data/Camera.hs 30;" f
_camViewFrom src/Dodge/Data/Camera.hs 29;" f
_camZoom src/Dodge/Data/Camera.hs 26;" f
_carriage src/Dodge/Data/Creature/Stance.hs 14;" f
_carteCenter src/Dodge/Data/HUD.hs 42;" f
_carteRot src/Dodge/Data/HUD.hs 44;" f
_carteZoom src/Dodge/Data/HUD.hs 43;" f
_carteCenter src/Dodge/Data/HUD.hs 45;" f
_carteRot src/Dodge/Data/HUD.hs 47;" f
_carteZoom src/Dodge/Data/HUD.hs 46;" f
_ceSideEffect src/Dodge/Data/Universe.hs 62;" f
_ceString src/Dodge/Data/Universe.hs 63;" f
_ciInfo src/Dodge/Data/Combine.hs 8;" f
_ciInvIDs src/Dodge/Data/Combine.hs 6;" f
_ciItem src/Dodge/Data/Combine.hs 7;" f
_ciSections src/Dodge/Data/HUD.hs 34;" f
_ciSections src/Dodge/Data/HUD.hs 37;" f
_cigType src/Dodge/Data/Camera.hs 19;" f
_clAlt src/Dodge/Data/Cloud.hs 23;" f
_clPict src/Dodge/Data/Cloud.hs 21;" f
@@ -2306,7 +2306,7 @@ _cldtUp src/Dodge/Data/DoubleTree.hs 46;" f
_cldtUp src/Dodge/Data/DoubleTree.hs 54;" f
_clickPos src/Dodge/Data/Input.hs 26;" f
_clickWorldPos src/Dodge/Data/Input.hs 28;" f
_closeObjects src/Dodge/Data/HUD.hs 45;" f
_closeObjects src/Dodge/Data/HUD.hs 48;" 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
@@ -2585,7 +2585,7 @@ _heldPos src/Dodge/Data/Input.hs 27;" f
_heldTriggerType src/Dodge/Data/Item/Use.hs 42;" f
_heldWorldPos src/Dodge/Data/Input.hs 29;" f
_hud src/Dodge/Data/World.hs 47;" f
_hudElement src/Dodge/Data/HUD.hs 41;" f
_hudElement src/Dodge/Data/HUD.hs 44;" f
_humanoidAI src/Dodge/Data/Creature/Misc.hs 69;" f
_iaLoaded src/Dodge/Data/Item/Use/Consumption.hs 22;" f
_iaMax src/Dodge/Data/Item/Use/Consumption.hs 21;" f
@@ -2739,10 +2739,10 @@ _mgField src/Dodge/Data/Magnet.hs 25;" f
_mgID src/Dodge/Data/Magnet.hs 22;" f
_mgPos src/Dodge/Data/Magnet.hs 24;" f
_mgUpdate src/Dodge/Data/Magnet.hs 23;" f
_misChosenEnd src/Dodge/Data/HUD.hs 26;" f
_misChosenStart src/Dodge/Data/HUD.hs 26;" f
_misMaybeEnd src/Dodge/Data/HUD.hs 24;" f
_misSelStart src/Dodge/Data/HUD.hs 24;" f
_misChosenEnd src/Dodge/Data/HUD.hs 28;" f
_misChosenStart src/Dodge/Data/HUD.hs 27;" f
_misMaybeEnd src/Dodge/Data/HUD.hs 25;" f
_misSelStart src/Dodge/Data/HUD.hs 25;" f
_moEff src/Dodge/Data/Universe.hs 101;" f
_moEff1 src/Dodge/Data/Universe.hs 105;" f
_moEff2 src/Dodge/Data/Universe.hs 106;" f
@@ -2774,8 +2774,8 @@ _newArcStep src/Dodge/Data/Item/Params.hs 25;" f
_nodeMetaTree src/Dodge/Tree/Compose/Data.hs 9;" f
_nodeTree src/Dodge/Tree/Compose/Data.hs 9;" f
_nodesSearched src/Dodge/Data/Creature/Memory.hs 15;" f
_nsMouseOver src/Dodge/Data/HUD.hs 31;" f
_nsSelected src/Dodge/Data/HUD.hs 30;" f
_nsMouseOver src/Dodge/Data/HUD.hs 34;" f
_nsSelected src/Dodge/Data/HUD.hs 33;" f
_numLinkEW src/Dodge/Data/Room.hs 33;" f
_numLinkNS src/Dodge/Data/Room.hs 34;" f
_numberFloorVerxs src/Dodge/Data/CWorld.hs 32;" f
@@ -3103,7 +3103,7 @@ _tcEffect src/Dodge/Data/Terminal.hs 118;" f
_tcHelp src/Dodge/Data/Terminal.hs 117;" f
_tcString src/Dodge/Data/Terminal.hs 115;" f
_tempLightSources src/Dodge/Data/LWorld.hs 138;" f
_termID src/Dodge/Data/HUD.hs 36;" f
_termID src/Dodge/Data/HUD.hs 39;" f
_terminals src/Dodge/Data/LWorld.hs 123;" f
_teslaArcs src/Dodge/Data/LWorld.hs 113;" f
_testFloat src/Dodge/Data/World.hs 45;" f
@@ -3326,7 +3326,7 @@ addToTrunk src/TreeHelp.hs 156;" f
addWarningTerminal src/Dodge/Room/Warning.hs 37;" f
addZ src/Geometry/Vector3D.hs 89;" f
adjustIMZone src/Dodge/Base.hs 77;" f
advanceScrollAmount src/Dodge/Update.hs 335;" f
advanceScrollAmount src/Dodge/Update.hs 375;" f
advanceSmoothScroll src/Dodge/SmoothScroll.hs 29;" f
advanceStepCounter src/Dodge/Creature/Impulse/Movement.hs 45;" f
aimDelaySweep src/Dodge/Render/ShapePicture.hs 56;" f
@@ -3538,6 +3538,7 @@ calcSmoothScroll src/Dodge/SmoothScroll.hs 7;" f
calcTexCoord src/Tile.hs 17;" f
canSee src/Dodge/Base/Collide.hs 228;" f
canSeeIndirect src/Dodge/Base/Collide.hs 235;" f
cardEightVec src/Dodge/Base/CardinalPoint.hs 16;" f
cardList src/Dodge/Base/CardinalPoint.hs 6;" f
cardVec src/Dodge/Base/CardinalPoint.hs 9;" f
cardinalVectors src/Dodge/FloorItem.hs 39;" f
@@ -3551,10 +3552,9 @@ centroidNum src/Geometry/Polygon.hs 133;" f
chainCreatureUpdates src/Dodge/Creature/ChainUpdates.hs 6;" f
chainLinkOrientation src/Dodge/Creature/State.hs 182;" f
chainPairs src/Geometry.hs 363;" f
changeSwapClose src/Dodge/Inventory.hs 149;" f
changeSwapInv src/Dodge/Inventory.hs 165;" f
changeSwapSel src/Dodge/Inventory.hs 141;" f
changeSwapWith src/Dodge/Inventory.hs 200;" f
changeSwapClose src/Dodge/Inventory.hs 150;" f
changeSwapSel src/Dodge/Inventory.hs 142;" f
changeSwapWith src/Dodge/Inventory.hs 205;" f
charToTuple src/Picture/Base.hs 317;" f
charToTupleGrad src/Picture/Text.hs 18;" f
chargeIfEquipped src/Dodge/ItEffect.hs 54;" f
@@ -3567,7 +3567,7 @@ chaseCritPerceptionUpdate src/Dodge/Creature/Perception.hs 30;" f
chaseCritVocalization src/Dodge/Creature/ChaseCrit.hs 46;" f
checkBlockHP src/Dodge/Block.hs 46;" f
checkDeath src/Dodge/Creature/State.hs 74;" f
checkEndGame src/Dodge/Update.hs 617;" f
checkEndGame src/Dodge/Update.hs 657;" f
checkErrorGL src/Shader/Compile.hs 255;" f
checkFBO src/Framebuffer/Check.hs 6;" f
checkGLError src/GLHelp.hs 17;" f
@@ -3593,7 +3593,7 @@ circle src/Picture/Base.hs 180;" f
circleDecoration src/Dodge/Placement/TopDecoration.hs 56;" f
circleSolid src/Picture/Base.hs 164;" f
circleSolidCol src/Picture/Base.hs 168;" f
clClSpringVel src/Dodge/Update.hs 670;" f
clClSpringVel src/Dodge/Update.hs 710;" f
clZoneSize src/Dodge/Zone/Size.hs 3;" f
clZoneSize src/Dodge/Zoning/Cloud.hs 21;" f
clampPath src/Dodge/Room/Procedural.hs 165;" f
@@ -3613,14 +3613,14 @@ clipZoom src/Dodge/Update/Camera.hs 215;" f
clockCycle src/Dodge/Clock.hs 9;" f
closeObjEq src/Dodge/Inventory/CloseObject.hs 15;" f
closeObjPos src/Dodge/Inventory/CloseObject.hs 10;" f
closeObjectInfo src/Dodge/Render/HUD.hs 142;" f
closeObjectInfo src/Dodge/Render/HUD.hs 143;" f
closeObjectToSelectionItem src/Dodge/Inventory/SelectionList.hs 54;" f
closeObjectToTextPictures src/Dodge/Inventory/SelectionList.hs 69;" f
closestCreatureID src/Dodge/Debug.hs 91;" f
closestPointOnLine src/Geometry/Intersect.hs 251;" f
closestPointOnLineParam src/Geometry/Intersect.hs 267;" f
closestPointOnSeg src/Geometry/Intersect.hs 282;" f
cloudEffect src/Dodge/Update.hs 640;" f
cloudEffect src/Dodge/Update.hs 680;" f
cloudPoisonDamage src/Dodge/Update/Cloud.hs 9;" f
clsNearCirc src/Dodge/Zoning/Cloud.hs 18;" f
clsNearPoint src/Dodge/Zoning/Cloud.hs 9;" f
@@ -3649,7 +3649,7 @@ combinationsOf src/Multiset.hs 40;" f
combinationsTrie src/Dodge/Combine.hs 41;" f
combineAwareness src/Dodge/Creature/Perception.hs 109;" f
combineFloors src/Dodge/Room/Procedural.hs 171;" f
combineInventoryExtra src/Dodge/Render/HUD.hs 231;" f
combineInventoryExtra src/Dodge/Render/HUD.hs 232;" f
combineItemListYouX src/Dodge/Combine.hs 33;" f
combineList src/Dodge/Combine.hs 20;" f
combineRooms src/Dodge/Room/Procedural.hs 151;" f
@@ -3690,7 +3690,7 @@ crAdd src/Dodge/Room/RezBox.hs 102;" f
crAwayFromPost src/Dodge/Creature/Test.hs 77;" f
crBlips src/Dodge/RadarSweep.hs 69;" f
crCanSeeCr src/Dodge/Creature/Test.hs 48;" f
crCrSpring src/Dodge/Update.hs 688;" f
crCrSpring src/Dodge/Update.hs 728;" f
crCurrentEquipment src/Dodge/Creature/Statistics.hs 28;" f
crDisplayAwareness src/Dodge/Creature/Picture/Awareness.hs 37;" f
crDisplayVigilance src/Dodge/Creature/Picture/Awareness.hs 51;" f
@@ -3710,7 +3710,7 @@ crNearPoint src/Dodge/Creature/Test.hs 135;" f
crNumFreeSlots src/Dodge/Inventory/CheckSlots.hs 35;" f
crOnWall src/Dodge/WallCreatureCollisions.hs 84;" f
crSafeDistFromTarg src/Dodge/Creature/Test.hs 67;" f
crSpring src/Dodge/Update.hs 683;" f
crSpring src/Dodge/Update.hs 723;" f
crStratConMatches src/Dodge/Creature/Test.hs 72;" f
crUpdate src/Dodge/Creature/State.hs 61;" f
crUpdateInvidLocations src/Dodge/Inventory/Location.hs 50;" f
@@ -3933,7 +3933,7 @@ denormalEdges src/Polyhedra.hs 135;" f
destroyAt src/Dodge/Bullet.hs 201;" f
destroyBlock src/Dodge/Block.hs 51;" f
destroyDoor src/Dodge/Block.hs 79;" f
destroyInvItem src/Dodge/Inventory.hs 40;" f
destroyInvItem src/Dodge/Inventory.hs 41;" f
destroyLS src/Dodge/LightSource.hs 91;" f
destroyLSFlashAt src/Dodge/LightSource.hs 101;" f
destroyMachine src/Dodge/Machine/Destroy.hs 12;" f
@@ -3963,8 +3963,8 @@ displayConfig src/Dodge/Menu.hs 196;" f
displayControls src/Dodge/Menu.hs 206;" f
displayFrameTicks src/Dodge/Render/Picture.hs 33;" f
displayFreeSlots src/Dodge/DisplayInventory.hs 144;" f
displayTerminal src/Dodge/Render/HUD.hs 258;" f
displayTerminalLineString src/Dodge/Update.hs 363;" f
displayTerminal src/Dodge/Render/HUD.hs 259;" f
displayTerminalLineString src/Dodge/Update.hs 403;" f
dist src/Geometry/Vector.hs 179;" f
dist3 src/Geometry/Vector3D.hs 101;" f
divTo src/Geometry/Zone.hs 6;" f
@@ -4047,7 +4047,7 @@ doWdCrCr src/Dodge/CreatureEffect.hs 12;" f
doWdP2f src/Dodge/WdP2f.hs 8;" f
doWdWd src/Dodge/WorldEffect.hs 26;" f
doWeaponRepetitions src/Dodge/HeldUse.hs 54;" f
doWorldEvents src/Dodge/Update.hs 345;" f
doWorldEvents src/Dodge/Update.hs 385;" f
doWorldPos src/Dodge/WorldPos.hs 7;" f
door src/Dodge/Room/Door.hs 13;" f
doorBetween src/Dodge/Placement/Instance/Door.hs 39;" f
@@ -4074,7 +4074,7 @@ drawCPUShadows src/Dodge/Render/Shadow.hs 19;" f
drawCarte src/Dodge/Render/HUD/Carte.hs 14;" f
drawCircFlare src/Dodge/Flare.hs 25;" f
drawCollisionTest src/Dodge/Debug/Picture.hs 103;" f
drawCombineInventory src/Dodge/Render/HUD.hs 106;" f
drawCombineInventory src/Dodge/Render/HUD.hs 107;" f
drawConcurrentMessage src/Dodge/Render/Picture.hs 58;" f
drawCorpse src/Dodge/Corpse/Draw.hs 6;" f
drawCrInfo src/Dodge/Debug/Picture.hs 341;" f
@@ -4084,13 +4084,13 @@ drawCross src/Dodge/Render/Label.hs 24;" f
drawCrossCol src/Dodge/Render/Label.hs 21;" f
drawCursorAt src/Dodge/Render/List.hs 56;" f
drawDDATest src/Dodge/Debug/Picture.hs 254;" f
drawDIMouseOver src/Dodge/Render/HUD.hs 75;" f
drawDISelections src/Dodge/Render/HUD.hs 88;" f
drawDIMouseOver src/Dodge/Render/HUD.hs 76;" f
drawDISelections src/Dodge/Render/HUD.hs 89;" f
drawDoorPaths src/Dodge/Debug/Picture.hs 215;" f
drawDoubleLampCover src/Dodge/Prop/Draw.hs 81;" f
drawEnergyBall src/Dodge/EnergyBall/Draw.hs 8;" f
drawEquipment src/Dodge/Creature/Picture.hs 140;" f
drawExamineInventory src/Dodge/Render/HUD.hs 112;" f
drawExamineInventory src/Dodge/Render/HUD.hs 113;" f
drawFarWallDetect src/Dodge/Debug/Picture.hs 232;" f
drawFlame src/Dodge/Flame/Draw.hs 7;" f
drawFlamelet src/Dodge/EnergyBall/Draw.hs 23;" f
@@ -4098,12 +4098,12 @@ drawFlare src/Dodge/Flare.hs 12;" f
drawFooterText src/Dodge/Render/MenuScreen.hs 65;" f
drawForceField src/Dodge/Wall/Draw.hs 11;" f
drawGib src/Dodge/Prop/Draw.hs 28;" f
drawHP src/Dodge/Render/HUD.hs 50;" f
drawHUD src/Dodge/Render/HUD.hs 42;" f
drawHP src/Dodge/Render/HUD.hs 51;" f
drawHUD src/Dodge/Render/HUD.hs 43;" f
drawInputMenu src/Dodge/Render/MenuScreen.hs 18;" f
drawInspectWall src/Dodge/Debug/Picture.hs 207;" f
drawInspectWalls src/Dodge/Debug/Picture.hs 195;" f
drawInventory src/Dodge/Render/HUD.hs 59;" f
drawInventory src/Dodge/Render/HUD.hs 60;" f
drawLabCrossCol src/Dodge/Render/Label.hs 8;" f
drawLampCover src/Dodge/Prop/Draw.hs 44;" f
drawLaser src/Dodge/Laser/Draw.hs 6;" f
@@ -4131,7 +4131,7 @@ drawPointLabel src/Dodge/Render/Label.hs 13;" f
drawProjectile src/Dodge/Projectile/Draw.hs 13;" f
drawProp src/Dodge/Prop/Draw.hs 15;" f
drawProp' src/Dodge/Prop/Draw.hs 12;" f
drawRBOptions src/Dodge/Render/HUD.hs 160;" f
drawRBOptions src/Dodge/Render/HUD.hs 161;" f
drawRadarSweep src/Dodge/RadarSweep/Draw.hs 7;" f
drawRemoteShell src/Dodge/Projectile/Draw.hs 30;" f
drawSelectionCursor src/Dodge/Render/List.hs 41;" f
@@ -4145,7 +4145,7 @@ drawShell src/Dodge/Projectile/Draw.hs 20;" f
drawShockwave src/Dodge/Shockwave/Draw.hs 7;" f
drawSpark src/Dodge/Spark/Draw.hs 6;" f
drawStaticBall src/Dodge/EnergyBall/Draw.hs 14;" f
drawSubInventory src/Dodge/Render/HUD.hs 98;" f
drawSubInventory src/Dodge/Render/HUD.hs 99;" f
drawSweep src/Dodge/Render/ShapePicture.hs 63;" f
drawSwitch src/Dodge/Button/Draw.hs 15;" f
drawSwitchWire src/Dodge/LevelGen/Switch.hs 28;" f
@@ -4197,7 +4197,7 @@ encircleP src/Dodge/Creature/Boid.hs 27;" f
enterCombineInv src/Dodge/DisplayInventory.hs 239;" f
eqConstr src/SameConstr.hs 17;" f
eqPosText src/Dodge/Equipment/Text.hs 6;" f
equipAllocString src/Dodge/Render/HUD.hs 203;" f
equipAllocString src/Dodge/Render/HUD.hs 204;" f
equipInfo src/Dodge/Item/Info.hs 103;" f
equipItemSPic src/Dodge/Item/Draw/SPic.hs 65;" f
equipPosition src/Dodge/Item/Draw.hs 29;" f
@@ -4289,7 +4289,7 @@ flockPointTarget src/Dodge/Creature/Boid.hs 199;" f
flockPointTargetR src/Dodge/Creature/Boid.hs 266;" f
flockToPointUsing src/Dodge/Creature/Boid.hs 214;" f
flockToPointUsing' src/Dodge/Creature/Boid.hs 227;" f
floorItemPickupInfo src/Dodge/Render/HUD.hs 147;" f
floorItemPickupInfo src/Dodge/Render/HUD.hs 148;" f
floorItemSPic src/Dodge/Render/ShapePicture.hs 165;" f
floorWire src/Dodge/Wire.hs 13;" f
foamSprayFadeOutS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 398;" f
@@ -4367,7 +4367,7 @@ getLaserColor src/Dodge/HeldUse.hs 193;" f
getLaserDamage src/Dodge/HeldUse.hs 190;" f
getLaserPhaseV src/Dodge/HeldUse.hs 187;" f
getLinksOfType src/Dodge/RoomLink.hs 39;" f
getMouseInvSel src/Dodge/Render/HUD.hs 82;" f
getMouseInvSel src/Dodge/Render/HUD.hs 83;" f
getNodePos src/Dodge/Path.hs 31;" f
getPretty src/AesonHelp.hs 7;" f
getPrettyShort src/AesonHelp.hs 10;" f
@@ -4556,7 +4556,7 @@ intsToPos src/Dodge/Room/Modify/Girder.hs 160;" f
invAdj src/Dodge/Item/Grammar.hs 181;" f
invDimColor src/Dodge/DisplayInventory.hs 138;" f
invDisplayParams src/Dodge/ListDisplayParams.hs 29;" f
invHead src/Dodge/Render/HUD.hs 294;" f
invHead src/Dodge/Render/HUD.hs 295;" f
invLDT src/Dodge/Item/Grammar.hs 165;" f
invRootMap src/Dodge/Item/Grammar.hs 174;" f
invRootTrees src/Dodge/Item/Grammar.hs 206;" f
@@ -4567,12 +4567,14 @@ invSideEff src/Dodge/Creature/State.hs 161;" f
invSize src/Dodge/Inventory/CheckSlots.hs 41;" f
invTrees src/Dodge/Item/Grammar.hs 194;" f
invTrees' src/Dodge/Item/Grammar.hs 198;" f
inventoryExtra src/Dodge/Render/HUD.hs 212;" f
inventoryExtraH src/Dodge/Render/HUD.hs 223;" f
inventoryExtra src/Dodge/Render/HUD.hs 213;" f
inventoryExtraH src/Dodge/Render/HUD.hs 224;" f
inventoryX src/Dodge/Creature.hs 115;" f
inverseSelNumPos src/Dodge/SelectionSections.hs 180;" f
inverseSelSecYint src/Dodge/SelectionSections.hs 155;" f
inverseSelSecYintXPosCheck src/Dodge/SelectionSections.hs 166;" f
inverseSelBoundaryDown src/Dodge/SelectionSections.hs 204;" f
inverseSelBoundaryUp src/Dodge/SelectionSections.hs 191;" f
inverseSelNumPos src/Dodge/SelectionSections.hs 182;" f
inverseSelSecYint src/Dodge/SelectionSections.hs 157;" f
inverseSelSecYintXPosCheck src/Dodge/SelectionSections.hs 168;" f
inverseShockwaveAt src/Dodge/WorldEvent/Shockwave.hs 43;" f
invertEncircleDistP src/Dodge/Creature/Boid.hs 13;" f
invertIntMap src/IntMapHelp.hs 101;" f
@@ -4730,7 +4732,7 @@ llleft src/Dodge/Item/Grammar.hs 105;" f
llright src/Dodge/Item/Grammar.hs 108;" f
lmt src/MatrixHelper.hs 43;" f
lnkBothAnd src/Dodge/Room/Procedural.hs 120;" f
lnkMidPosInvSelsCol src/Dodge/Render/HUD.hs 283;" f
lnkMidPosInvSelsCol src/Dodge/Render/HUD.hs 284;" f
lnkPosDir src/Dodge/RoomLink.hs 97;" f
loadDodgeConfig src/Dodge/Config/Load.hs 9;" f
loadMusic src/Dodge/SoundLogic/LoadSound.hs 21;" f
@@ -4845,7 +4847,7 @@ makeTlsTimeRadColPos src/Dodge/LightSource.hs 88;" f
makeTypeCraft src/Dodge/Item/Craftable.hs 13;" f
makeTypeCraftNum src/Dodge/Item/Craftable.hs 7;" f
mapOverlay src/Dodge/Render/HUD/Carte.hs 24;" f
markWallSeen src/Dodge/Update.hs 603;" f
markWallSeen src/Dodge/Update.hs 643;" f
maxDamageType src/Dodge/Damage.hs 37;" f
maxShowX src/Dodge/Combine/Graph.hs 43;" f
maxViewDistance src/Dodge/Viewpoints.hs 26;" f
@@ -4977,7 +4979,7 @@ mvBullet src/Dodge/Bullet.hs 33;" f
mvButton src/Dodge/Placement/PlaceSpot.hs 174;" f
mvCr src/Dodge/Placement/PlaceSpot.hs 184;" f
mvFS src/Dodge/Placement/PlaceSpot.hs 187;" f
mvGust src/Dodge/Update.hs 631;" f
mvGust src/Dodge/Update.hs 671;" f
mvLS src/Dodge/Placement/PlaceSpot.hs 215;" f
mvP src/Dodge/Wall/Move.hs 54;" f
mvPP src/Dodge/Placement/PlaceSpot.hs 181;" f
@@ -5231,7 +5233,7 @@ polysToPic src/Polyhedra.hs 129;" f
popScreen src/Dodge/Menu/PushPop.hs 6;" f
posEventEffect src/Dodge/PosEvent.hs 16;" f
posRms src/Dodge/Tree/Shift.hs 44;" f
posSelSecYint src/Dodge/SelectionSections.hs 136;" f
posSelSecYint src/Dodge/SelectionSections.hs 138;" f
positionRoomsFromTree src/Dodge/Tree/Shift.hs 35;" f
postGenerationProcessing src/Dodge/LevelGen.hs 33;" f
postUniverseLoadSideEffect src/Dodge/WorldLoad.hs 11;" f
@@ -5244,7 +5246,7 @@ powlistUpToN src/Multiset.hs 20;" f
powlistUpToN' src/Multiset.hs 9;" f
powlistUpToN'' src/Multiset.hs 27;" f
ppDraw src/Dodge/Render/ShapePicture.hs 162;" f
ppEvents src/Dodge/Update.hs 596;" f
ppEvents src/Dodge/Update.hs 636;" f
ppLevelReset src/Dodge/PressPlate.hs 13;" f
preCritStart src/Dodge/Room/Start.hs 81;" f
preloadRender src/Preload/Render.hs 30;" f
@@ -5430,7 +5432,7 @@ rightPad src/Padding.hs 22;" f
rightPadNoSquash src/Padding.hs 26;" f
rlPosDir src/Dodge/RoomLink.hs 94;" f
rmInLinks src/Dodge/RoomLink.hs 138;" f
rmInvItem src/Dodge/Inventory.hs 53;" f
rmInvItem src/Dodge/Inventory.hs 54;" f
rmLinksOfType src/Dodge/RoomLink.hs 135;" f
rmOutLinks src/Dodge/RoomLink.hs 138;" f
roomC src/Dodge/Room/Room.hs 39;" f
@@ -5523,12 +5525,12 @@ 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 206;" f
scrollAugInvSel src/Dodge/Inventory.hs 211;" f
scrollCommandStrings src/Dodge/Update/Scroll.hs 134;" f
scrollCommands src/Dodge/Update/Scroll.hs 131;" f
scrollDebugInfoInt src/Dodge/Debug.hs 46;" f
scrollRBOption src/Dodge/Update/Scroll.hs 108;" f
scrollSelectionSections src/Dodge/SelectionSections.hs 25;" f
scrollSelectionSections src/Dodge/SelectionSections.hs 27;" f
scrollTimeBack src/Dodge/Update.hs 201;" f
scrollTimeForward src/Dodge/Update.hs 220;" f
scrollWatch src/Dodge/Item/Weapon/Utility.hs 30;" f
@@ -5545,16 +5547,16 @@ secondColumnParams src/Dodge/ListDisplayParams.hs 42;" f
seedStartMenu src/Dodge/Menu.hs 79;" f
seedStartOptions src/Dodge/Menu.hs 82;" f
segOnCirc src/Geometry.hs 116;" f
selNumPos src/Dodge/Render/HUD.hs 354;" f
selNumPosCardinal src/Dodge/Render/HUD.hs 374;" f
selNumPos src/Dodge/Render/HUD.hs 355;" f
selNumPosCardinal src/Dodge/Render/HUD.hs 377;" f
selSecDrawCursor src/Dodge/Render/List.hs 104;" f
selSecDrawCursorAt src/Dodge/Render/List.hs 88;" f
selSecSelCol src/Dodge/Render/HUD.hs 398;" f
selSecSelSize src/Dodge/SelectionSections.hs 132;" f
selSecYint src/Dodge/SelectionSections.hs 141;" f
selSecSelCol src/Dodge/Render/HUD.hs 403;" f
selSecSelSize src/Dodge/SelectionSections.hs 134;" f
selSecYint src/Dodge/SelectionSections.hs 143;" f
selectCreatureDebugItem src/Dodge/Debug.hs 38;" f
selectUse src/Dodge/SelectUse.hs 11;" f
selectedCloseObject src/Dodge/Inventory.hs 216;" f
selectedCloseObject src/Dodge/Inventory.hs 221;" f
sensAboveDoor src/Dodge/Room/SensorDoor.hs 63;" f
sensInsideDoor src/Dodge/Room/SensorDoor.hs 69;" f
senseDamage src/Dodge/Machine/Update.hs 134;" f
@@ -5572,7 +5574,7 @@ setClusterID src/Dodge/Combine/Graph.hs 103;" f
setDepth src/Picture/Base.hs 128;" f
setDirPS src/Dodge/PlacementSpot.hs 49;" f
setFallback src/Dodge/PlacementSpot.hs 127;" f
setFirstPosSelectionSections src/Dodge/SelectionSections.hs 31;" f
setFirstPosSelectionSections src/Dodge/SelectionSections.hs 33;" f
setFromToDams src/Dodge/Bullet.hs 171;" f
setHotkey src/Dodge/Hotkey.hs 38;" f
setInLinks src/Dodge/RoomLink.hs 51;" f
@@ -5586,7 +5588,7 @@ setLinkTypePD src/Dodge/RoomLink.hs 67;" f
setMinInvSize src/Dodge/Creature/Action.hs 150;" f
setMusicVolume src/Sound.hs 161;" f
setMvPos src/Dodge/Creature/ReaderUpdate.hs 51;" f
setOldPos src/Dodge/Update.hs 387;" f
setOldPos src/Dodge/Update.hs 427;" f
setOutLinks src/Dodge/RoomLink.hs 48;" f
setOutLinksByType src/Dodge/RoomLink.hs 57;" f
setOutLinksPD src/Dodge/RoomLink.hs 77;" f
@@ -5642,6 +5644,8 @@ shiftDec src/Dodge/Placement/PlaceSpot.hs 136;" f
shiftDraw src/Dodge/Render/ShapePicture.hs 107;" f
shiftDraw' src/Dodge/Render/ShapePicture.hs 113;" f
shiftInBy src/Dodge/PlacementSpot.hs 236;" f
shiftInvItemsDown src/Dodge/Update.hs 350;" f
shiftInvItemsUp src/Dodge/Update.hs 340;" f
shiftLinkBy src/Dodge/Room/Link.hs 87;" f
shiftPSBy src/Dodge/Placement/Shift.hs 12;" f
shiftPathBy src/Dodge/Room/Link.hs 92;" f
@@ -5681,9 +5685,9 @@ showEquipItem src/Dodge/Item/Display.hs 68;" f
showEquipmentNumber src/Dodge/Item/Display.hs 110;" f
showInt src/Dodge/Item/Info.hs 31;" f
showIntsString src/Dodge/Tree/Compose.hs 129;" f
showManObj src/Dodge/TestString.hs 45;" f
showManObj src/Dodge/TestString.hs 44;" f
showTerminalError src/Dodge/Debug/Terminal.hs 76;" f
showTimeFlow src/Dodge/TestString.hs 92;" f
showTimeFlow src/Dodge/TestString.hs 91;" f
shrinkPolyOnEdges src/Geometry/Polygon.hs 136;" f
shrinkVert src/Geometry/Polygon.hs 140;" f
shuffle src/RandomHelp.hs 46;" f
@@ -5691,7 +5695,7 @@ shuffleLinks src/Dodge/Room/Link.hs 30;" f
shuffleRoomPos src/Dodge/Layout.hs 78;" f
shuffleTail src/RandomHelp.hs 55;" f
sigmoid src/Dodge/Base.hs 129;" f
simpleCrSprings src/Dodge/Update.hs 679;" f
simpleCrSprings src/Dodge/Update.hs 719;" f
simpleDamFL src/Dodge/Flame.hs 41;" f
simpleTermMessage src/Dodge/Terminal.hs 249;" f
sineRaisePitchOneSecS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 486;" f
@@ -5774,19 +5778,19 @@ square src/Geometry/Polygon.hs 46;" f
squareDecoration src/Dodge/Placement/TopDecoration.hs 41;" f
squashIntersectCirclePoint src/Dodge/WallCreatureCollisions.hs 110;" f
squashNormalizeV src/Geometry/Vector.hs 146;" f
ssLookupDown src/Dodge/SelectionSections.hs 82;" f
ssLookupGE' src/Dodge/SelectionSections.hs 125;" f
ssLookupGT src/Dodge/SelectionSections.hs 112;" f
ssLookupGT' src/Dodge/SelectionSections.hs 118;" f
ssLookupLE' src/Dodge/SelectionSections.hs 100;" f
ssLookupLT src/Dodge/SelectionSections.hs 87;" f
ssLookupLT' src/Dodge/SelectionSections.hs 93;" f
ssLookupMax src/Dodge/SelectionSections.hs 72;" f
ssLookupMin src/Dodge/SelectionSections.hs 107;" f
ssLookupUp src/Dodge/SelectionSections.hs 77;" f
ssScrollUsing src/Dodge/SelectionSections.hs 36;" f
ssScrollUsing' src/Dodge/SelectionSections.hs 46;" f
ssSetCursor src/Dodge/SelectionSections.hs 60;" f
ssLookupDown src/Dodge/SelectionSections.hs 84;" f
ssLookupGE' src/Dodge/SelectionSections.hs 127;" f
ssLookupGT src/Dodge/SelectionSections.hs 114;" f
ssLookupGT' src/Dodge/SelectionSections.hs 120;" f
ssLookupLE' src/Dodge/SelectionSections.hs 102;" f
ssLookupLT src/Dodge/SelectionSections.hs 89;" f
ssLookupLT' src/Dodge/SelectionSections.hs 95;" f
ssLookupMax src/Dodge/SelectionSections.hs 74;" f
ssLookupMin src/Dodge/SelectionSections.hs 109;" f
ssLookupUp src/Dodge/SelectionSections.hs 79;" f
ssScrollUsing src/Dodge/SelectionSections.hs 38;" f
ssScrollUsing' src/Dodge/SelectionSections.hs 48;" f
ssSetCursor src/Dodge/SelectionSections.hs 62;" f
ssfold src/FoldableHelp.hs 105;" f
stackPicturesAt src/Dodge/Render/List.hs 82;" f
stackPicturesAtOff src/Dodge/Render/List.hs 85;" f
@@ -5825,6 +5829,7 @@ subMap src/TreeHelp.hs 118;" f
subZipWith src/Dodge/Placement/Instance/Wall.hs 115;" f
swapInOutLinks src/Dodge/RoomLink.hs 80;" f
swapIndices src/ListHelp.hs 50;" f
swapInvItems src/Dodge/Inventory.hs 167;" 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
@@ -5911,7 +5916,7 @@ titleOptionsMenu src/Dodge/Menu.hs 99;" f
titleOptionsNoWrite src/Dodge/Menu.hs 102;" f
tlsTimeRadColPos src/Dodge/LightSource.hs 69;" f
tlsTimeRadFunPos src/Dodge/LightSource.hs 26;" f
tmUpdate src/Dodge/Update.hs 367;" f
tmUpdate src/Dodge/Update.hs 407;" f
toBothLnk src/Dodge/RoomLink.hs 121;" f
toClosestMultiple src/HelpNum.hs 3;" f
toColor8 src/Color.hs 148;" f
@@ -5938,7 +5943,7 @@ tone440sawtoothquietS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 320;" f
topInvW src/Dodge/ListDisplayParams.hs 51;" f
topPrismEdgeIndices src/Shader/Poke.hs 327;" f
topPrismIndices src/Shader/Poke.hs 402;" f
topTestPart src/Dodge/TestString.hs 40;" f
topTestPart src/Dodge/TestString.hs 39;" f
torch src/Dodge/Item/Held/Utility.hs 26;" f
torchShape src/Dodge/Item/Draw/SPic.hs 213;" f
torqueCr src/Dodge/WorldEffect.hs 70;" f
@@ -6053,39 +6058,39 @@ updateBarreloid src/Dodge/Barreloid.hs 13;" f
updateBounds src/Dodge/Update/Camera.hs 245;" f
updateBulVel src/Dodge/Bullet.hs 50;" f
updateBullet src/Dodge/Bullet.hs 28;" f
updateBullets src/Dodge/Update.hs 462;" f
updateBullets src/Dodge/Update.hs 502;" f
updateCamera src/Dodge/Update/Camera.hs 31;" f
updateCloseObjects src/Dodge/Inventory.hs 112;" f
updateCloud src/Dodge/Update.hs 645;" f
updateClouds src/Dodge/Update.hs 491;" f
updateCloseObjects src/Dodge/Inventory.hs 113;" f
updateCloud src/Dodge/Update.hs 685;" f
updateClouds src/Dodge/Update.hs 531;" f
updateCombinePositioning src/Dodge/DisplayInventory.hs 37;" f
updateCombineSections src/Dodge/DisplayInventory.hs 42;" f
updateCreature src/Dodge/Creature/Update.hs 10;" f
updateCreatureGroups src/Dodge/Update.hs 431;" f
updateCreatureSoundPositions src/Dodge/Update.hs 409;" f
updateCreatureGroups src/Dodge/Update.hs 471;" f
updateCreatureSoundPositions src/Dodge/Update.hs 449;" f
updateDebugMessageOffset src/Dodge/Update.hs 93;" f
updateDelayedEvents src/Dodge/Update.hs 708;" f
updateDelayedEvents src/Dodge/Update.hs 748;" f
updateDisplaySections src/Dodge/DisplayInventory.hs 92;" f
updateDistortion src/Dodge/Distortion.hs 5;" f
updateDistortions src/Dodge/Update.hs 452;" f
updateDistortions src/Dodge/Update.hs 492;" f
updateEnergyBall src/Dodge/EnergyBall.hs 46;" f
updateEnergyBalls src/Dodge/Update.hs 479;" f
updateEnergyBalls src/Dodge/Update.hs 519;" f
updateEnterRegex src/Dodge/Update/Input/InGame.hs 189;" f
updateExpBarrel src/Dodge/Barreloid.hs 19;" f
updateFBOTO src/Framebuffer/Update.hs 97;" f
updateFBOTO3 src/Framebuffer/Update.hs 131;" f
updateFlame src/Dodge/Flame.hs 71;" f
updateFlames src/Dodge/Update.hs 476;" f
updateFlames src/Dodge/Update.hs 516;" f
updateFlare src/Dodge/Flare.hs 7;" f
updateFloatingCamera src/Dodge/Update/Camera.hs 36;" f
updateGusts src/Dodge/Update.hs 628;" f
updateGusts src/Dodge/Update.hs 668;" f
updateHeldRootItem src/Dodge/Creature/State.hs 166;" f
updateHumanoid src/Dodge/Humanoid.hs 12;" f
updateIMl src/Dodge/Update.hs 423;" f
updateIMl' src/Dodge/Update.hs 427;" f
updateIMl src/Dodge/Update.hs 463;" f
updateIMl' src/Dodge/Update.hs 467;" f
updateInGameCamera src/Dodge/Update/Camera.hs 70;" f
updateInitialPressInGame src/Dodge/Update/Input/InGame.hs 109;" f
updateInstantBullets src/Dodge/Update.hs 568;" f
updateInstantBullets src/Dodge/Update.hs 608;" f
updateInv src/Dodge/Creature/State.hs 151;" f
updateInventoryPositioning src/Dodge/DisplayInventory.hs 87;" f
updateItemTargeting src/Dodge/Creature/State.hs 267;" f
@@ -6094,20 +6099,21 @@ updateKeyInGame src/Dodge/Update/Input/InGame.hs 103;" f
updateKeysInTerminal src/Dodge/Update/Input/InGame.hs 92;" f
updateLampoid src/Dodge/Lampoid.hs 12;" f
updateLaser src/Dodge/Laser/Update.hs 13;" f
updateLasers src/Dodge/Update.hs 352;" f
updateLightSources src/Dodge/Update.hs 455;" f
updateLasers src/Dodge/Update.hs 392;" f
updateLightSources src/Dodge/Update.hs 495;" f
updateLinearShockwave src/Dodge/LinearShockwave/Update.hs 8;" f
updateLongPressInGame src/Dodge/Update/Input/InGame.hs 129;" f
updateMIM src/Dodge/Update.hs 581;" f
updateMIM src/Dodge/Update.hs 621;" f
updateMachine src/Dodge/Machine/Update.hs 16;" f
updateMouseInventorySelection src/Dodge/Update.hs 297;" f
updateMouseOverInventory src/Dodge/Update.hs 320;" f
updateMouseInventorySelection' src/Dodge/Update.hs 303;" f
updateMouseOverInventory src/Dodge/Update.hs 360;" f
updateMovement src/Dodge/Creature/State.hs 330;" f
updateObjCatMaybes src/Dodge/Update.hs 443;" f
updateObjMapMaybe src/Dodge/Update.hs 436;" f
updatePastWorlds src/Dodge/Update.hs 341;" f
updateObjCatMaybes src/Dodge/Update.hs 483;" f
updateObjMapMaybe src/Dodge/Update.hs 476;" f
updatePastWorlds src/Dodge/Update.hs 381;" f
updatePosEvent src/Dodge/PosEvent.hs 11;" f
updatePosEvents src/Dodge/Update.hs 488;" f
updatePosEvents src/Dodge/Update.hs 528;" f
updatePreload src/Preload/Update.hs 20;" f
updatePressedButtonsCarte src/Dodge/Update/Input/InGame.hs 67;" f
updatePressedButtonsCarte' src/Dodge/Update/Input/InGame.hs 70;" f
@@ -6115,9 +6121,9 @@ updateProjectile src/Dodge/Projectile/Update.hs 22;" f
updateProp src/Dodge/Prop/Update.hs 11;" f
updateRBList src/Dodge/Inventory/RBList.hs 16;" f
updateRadarBlip src/Dodge/RadarBlip.hs 8;" f
updateRadarBlips src/Dodge/Update.hs 458;" f
updateRadarBlips src/Dodge/Update.hs 498;" f
updateRadarSweep src/Dodge/RadarSweep.hs 25;" f
updateRadarSweeps src/Dodge/Update.hs 482;" f
updateRadarSweeps src/Dodge/Update.hs 522;" f
updateRandNode src/TreeHelp.hs 108;" f
updateRenderSplit appDodge/Main.hs 105;" f
updateRootItemID src/Dodge/Inventory/Location.hs 37;" f
@@ -6126,19 +6132,19 @@ updateScopeZoom' src/Dodge/Update/Camera.hs 132;" f
updateScrollTestValue src/Dodge/ScrollValue.hs 6;" f
updateSection src/Dodge/DisplayInventory.hs 171;" f
updateSectionsPositioning src/Dodge/DisplayInventory.hs 150;" f
updateSeenWalls src/Dodge/Update.hs 599;" f
updateSeenWalls src/Dodge/Update.hs 639;" f
updateShockwave src/Dodge/Shockwave/Update.hs 12;" f
updateShockwaves src/Dodge/Update.hs 473;" f
updateShockwaves src/Dodge/Update.hs 513;" f
updateSingleNodes src/TreeHelp.hs 97;" f
updateSound src/Sound.hs 71;" f
updateSounds src/Sound.hs 66;" f
updateSpark src/Dodge/Spark.hs 19;" f
updateSparks src/Dodge/Update.hs 485;" f
updateSparks src/Dodge/Update.hs 525;" f
updateTempLightSource src/Dodge/LightSource/Update.hs 7;" f
updateTeslaArc src/Dodge/Tesla/Arc.hs 29;" f
updateTeslaArcs src/Dodge/Update.hs 467;" f
updateTeslaArcs src/Dodge/Update.hs 507;" f
updateTractorBeam src/Dodge/TractorBeam/Update.hs 9;" f
updateTractorBeams src/Dodge/Update.hs 470;" f
updateTractorBeams src/Dodge/Update.hs 510;" f
updateTurret src/Dodge/Machine/Update.hs 31;" f
updateUniverse src/Dodge/Update.hs 73;" f
updateUniverseFirst src/Dodge/Update.hs 84;" f
@@ -6149,7 +6155,7 @@ updateUseInputOnScreen src/Dodge/Update/Input/ScreenLayer.hs 20;" f
updateWalkCycle src/Dodge/Creature/State/WalkCycle.hs 12;" f
updateWallDamages src/Dodge/Update/WallDamage.hs 10;" f
updateWheelEvent src/Dodge/Update/Scroll.hs 20;" f
updateWheelEvents src/Dodge/Update.hs 328;" f
updateWheelEvents src/Dodge/Update.hs 368;" f
updateWorldEventFlag src/Dodge/Update.hs 113;" f
updateWorldEventFlags src/Dodge/Update.hs 104;" f
upperBody src/Dodge/Creature/Picture.hs 133;" f
@@ -6302,7 +6308,7 @@ yV2 src/Geometry/Vector.hs 203;" f
yellow src/Color.hs 17;" f
you src/Dodge/Base/You.hs 18;" f
youDropItem src/Dodge/Creature/Action.hs 184;" f
yourAugmentedItem src/Dodge/Render/HUD.hs 154;" f
yourAugmentedItem src/Dodge/Render/HUD.hs 155;" f
yourControl src/Dodge/Creature/YourControl.hs 22;" f
yourDefaultSpeed src/Dodge/Default/Creature.hs 134;" f
yourDefaultStrideLength src/Dodge/Default/Creature.hs 137;" f
@@ -6319,9 +6325,9 @@ zipCount src/Dodge/Tree/Shift.hs 129;" f
zipCountDown src/Dodge/Room/Procedural.hs 117;" f
zipWithDefaults src/Dodge/Item/Display.hs 21;" f
zoneCloud src/Dodge/Zoning/Cloud.hs 27;" f
zoneClouds src/Dodge/Update.hs 360;" f
zoneClouds src/Dodge/Update.hs 400;" f
zoneCreature src/Dodge/Zoning/Creature.hs 52;" f
zoneCreatures src/Dodge/Update.hs 404;" f
zoneCreatures src/Dodge/Update.hs 444;" f
zoneExtract src/Dodge/Zoning/Base.hs 50;" f
zoneMonoid src/Dodge/Zoning/Base.hs 80;" f
zoneOfCirc src/Dodge/Zoning/Base.hs 22;" f