Slightly rethink display of inventories and terminals

This commit is contained in:
2025-09-18 19:56:12 +01:00
parent e017a92892
commit 2d856ddf9e
13 changed files with 154 additions and 137 deletions
+18 -22
View File
@@ -1,41 +1,37 @@
Seed: 7114951007332849727 Seed: 7114951007332849727
Room layout (compact): Room layout (compact):
0,1,2,3,4,5,6 0,1,2,3
| |
+- 7,8 +- 4,5
| |
+- 9,10 +- 6,7
| |
11,12,13,14 8,9,10,11,12
Layout with room names: Layout with room names:
Corridor-0 tutRezBox-0
| |
6gon-1 autoDoor-1
| |
defaultRoom-2 Corridor-2
| |
autoRect-3 doorToggle-6gon-3
| |
autoDoor-4 +- triggerDoorRoom-4
|
Corridor-5
|
doorToggle-6gon-6
|
+- triggerDoorRoom-7
| | | |
| autoRect-8 | autoRect-5
| |
+- triggerDoorRoom-9 +- triggerDoorRoom-6
| | | |
| autoRect-10 | autoRect-7
| |
Corridor-11 Corridor-8
| |
6gon-12 6gon-9
| |
defaultRoom-13 defaultRoom-10
| |
autoRect-14 autoRect-11
|
Corridor-12
+1 -1
View File
@@ -1,4 +1,4 @@
Generating level with seed 7114951007332849727 Generating level with seed 7114951007332849727
After 1 attempt(s), Successful generation of level with seed 7114951007332849727 After 1 attempt(s), Successful generation of level with seed 7114951007332849727
15 rooms in total 13 rooms in total
+26 -30
View File
@@ -1,49 +1,45 @@
Seed: 7114951007332849727 Seed: 7114951007332849727
0:teststart 0:TutStartRez
| |
1:TutDrop 1:corDoor
| |
2:corDoor 2:DoorTest
| |
3:DoorTest 3:TutDrop
| |
4:TutDrop 4:cor
0:0:teststart 0:0:TutStartRez
0:0:0:Corridor 0:0:0:tutRezBox
1:0:TutDrop 1:0:corDoor
1:0:0:6gon 1:0:0:autoDoor
| |
1:0:1:defaultRoom 1:0:1:Corridor
2:0:DoorTest
2:0:0:doorToggle-6gon
| |
1:0:2:autoRect +- 2:0:1:triggerDoorRoom
2:0:corDoor
2:0:0:autoDoor
|
2:0:1:Corridor
3:0:DoorTest
3:0:0:doorToggle-6gon
|
+- 3:0:1:triggerDoorRoom
| | | |
| 3:0:2:autoRect | 2:0:2:autoRect
| |
+- 3:0:3:triggerDoorRoom +- 2:0:3:triggerDoorRoom
| | | |
| 3:0:4:autoRect | 2:0:4:autoRect
| |
3:0:5:Corridor 2:0:5:Corridor
4:0:6gon 3:0:TutDrop
3:0:0:6gon
| |
4:1:defaultRoom 3:0:1:defaultRoom
| |
4:2:autoRect 3:0:2:autoRect
4:0:Corridor
+1 -1
View File
File diff suppressed because one or more lines are too long
+1 -1
View File
@@ -54,7 +54,7 @@ data TCom
data TmWdWd data TmWdWd
= TmWdId = TmWdId
| TmWdWdPowerDownTerminal | TmWdWdPowerDownTerminal
| TmWdWdLeaveTerminal | TmWdWdLeaveTerminal String
| TmWdWdDeactivateTerminal | TmWdWdDeactivateTerminal
| TmWdWdfromWdWd WdWd | TmWdWdfromWdWd WdWd
| TmWdWdTermSound SoundID | TmWdWdTermSound SoundID
+21 -11
View File
@@ -61,13 +61,13 @@ updateCombineSections w cfig =
filtcurs filtcurs
(flip . andOrRegex $ regexCombs invitms) (flip . andOrRegex $ regexCombs invitms)
(IM.fromDistinctAscList . zip [0 ..] $ combineList w) (IM.fromDistinctAscList . zip [0 ..] $ combineList w)
"COMBINATIONS" "POSSIBLE COMBINATIONS"
$ w ^? hud . subInventory . ciFilter . _Just $ w ^? hud . subInventory . ciFilter . _Just
invitms = _unNIntMap $ fmap (\k -> w ^?! cWorld . lWorld . items . ix k) $ fold $ w ^? cWorld . lWorld . creatures . ix 0 . crInv invitms = _unNIntMap $ fmap (\k -> w ^?! cWorld . lWorld . items . ix k) $ fold $ w ^? cWorld . lWorld . creatures . ix 0 . crInv
sclose' sclose'
| null sclose = | null sclose =
IM.singleton 0 $ IM.singleton 0 $
SelItem ["No possible combinations"] 1 25 False white 0 Nothing SelItem ["NONE"] 1 25 False white 0 Nothing
| otherwise = sclose | otherwise = sclose
regexCombs :: IM.IntMap Item -> SelectionItem CombinableItem -> String -> Bool regexCombs :: IM.IntMap Item -> SelectionItem CombinableItem -> String -> Bool
@@ -169,24 +169,34 @@ filterSectionsPair ::
String -> String ->
Maybe String -> Maybe String ->
(IM.IntMap (SelectionItem a), IM.IntMap (SelectionItem a)) (IM.IntMap (SelectionItem a), IM.IntMap (SelectionItem a))
filterSectionsPair infocus filtfn itms filtdescription mfilt = (filtsis, itms') filterSectionsPair infocus filtfn itms s mfilt = (x, itms')
where where
filtcurs = if infocus then cFilledRect else cWireRect filtcurs = if infocus then cFilledRect else cWireRect
filtsis = fold $ do x = IM.singleton 0 $ fromMaybe (SelItem [s] 1 (length s) False white 0 Nothing) $ do
str <- mfilt str <- mfilt
return $ return $ SelItem
IM.singleton [s ++ " FILTER/" ++ str ++ [filtcurs], numfiltitems]
0
$ SelItem
[filtdescription ++ " FILTER/" ++ str ++ [filtcurs], numfiltitems]
2 2
(length (filtdescription ++ " FILTER/" ++ str ++ [filtcurs])) (length (s ++ " FILTER/" ++ str ++ [filtcurs]))
True True
white white
0 0
Nothing Nothing
-- filtsis = fold $ do
-- str <- mfilt
-- return $
-- IM.singleton
-- 0
-- $ SelItem
-- [filtdescription ++ " FILTER/" ++ str ++ [filtcurs], numfiltitems]
-- 2
-- (length (filtdescription ++ " FILTER/" ++ str ++ [filtcurs]))
-- True
-- white
-- 0
-- Nothing
itms' = maybe id (IM.filter . filtfn) mfilt itms itms' = maybe id (IM.filter . filtfn) mfilt itms
numfiltitems = " " ++ show (length itms - length itms') ++ " FILTERED" numfiltitems = show (length itms - length itms') ++ " FILTERED"
invDimColor :: Color invDimColor :: Color
invDimColor = greyN 0.7 invDimColor = greyN 0.7
+1 -3
View File
@@ -41,9 +41,7 @@ invCursorParams w = BoundaryCursor $ case w ^? hud . subInventory of
_ -> [North, South, West] _ -> [North, South, West]
secondColumnLDP :: ListDisplayParams secondColumnLDP :: ListDisplayParams
secondColumnLDP = secondColumnLDP = defaultListDisplayParams & ldpPos . spPixelOff .~ V2 subInvX (-80)
defaultListDisplayParams
& ldpPos . spPixelOff .~ V2 subInvX (-81)
subInvX :: Float subInvX :: Float
subInvX = 10 * fromIntegral topInvW + 70 subInvX = 10 * fromIntegral topInvW + 70
+1 -1
View File
@@ -176,7 +176,7 @@ mcProximitySensorUpdate mc sens pr w
& mctermlens . tmFutureLines & mctermlens . tmFutureLines
<>~ [makeTermLine "SENSOR SUCCESS, DEACTIVATED"] <>~ [makeTermLine "SENSOR SUCCESS, DEACTIVATED"]
<> tlSetStatus (TerminalPressTo "QUIT") <> tlSetStatus (TerminalPressTo "QUIT")
<> tlDoEffect TmWdWdLeaveTerminal <> tlDoEffect (TmWdWdLeaveTerminal "QUIT")
| notog = | notog =
w & playsound dedumS w & playsound dedumS
& mcsenslens . proxToggle ?~ False & mcsenslens . proxToggle ?~ False
+18 -17
View File
@@ -52,12 +52,14 @@ drawHUD :: Config -> World -> Picture
drawHUD cfig w = case w ^. hud of drawHUD cfig w = case w ^. hud of
-- DisplayCarte -> drawCarte cfig w -- DisplayCarte -> drawCarte cfig w
HUD {_diSections = sections, _subInventory = subinv} -> HUD {_diSections = sections, _subInventory = subinv} ->
drawInventory sections w cfig drawInventory sections w cfig subinv
<> drawSubInventory subinv cfig w <> drawSubInventory subinv cfig w
drawInventory :: IM.IntMap (SelectionSection ()) -> World -> Config -> Picture drawInventory
drawInventory sss w cfig = :: IM.IntMap (SelectionSection ()) -> World -> Config -> SubInventory -> Picture
drawSelectionSections sss invDP cfig drawInventory sss w cfig = \case
DisplayTerminal {} -> mempty
_ -> drawSelectionSections sss invDP cfig
<> drawSSCursor sss invDP curs cfig (f $ w ^? hud . diSelection . _Just) <> drawSSCursor sss invDP curs cfig (f $ w ^? hud . diSelection . _Just)
<> drawRootCursor w sss (f $ w ^? hud . diSelection . _Just) invDP cfig <> drawRootCursor w sss (f $ w ^? hud . diSelection . _Just) invDP cfig
<> itemconnections <> itemconnections
@@ -184,8 +186,8 @@ drawCombineInventory ::
World -> World ->
Picture Picture
drawCombineInventory cfig sss w = drawCombineInventory cfig sss w =
invHead cfig "COMBINE" -- invHead cfig "COMBINE"
<> drawSelectionSections sss secondColumnLDP cfig drawSelectionSections sss secondColumnLDP cfig
<> drawSSCursor sss secondColumnLDP curs cfig msel <> drawSSCursor sss secondColumnLDP curs cfig msel
<> combineInventoryExtra sss msel cfig w <> combineInventoryExtra sss msel cfig w
where where
@@ -363,22 +365,21 @@ combineInventoryExtra sss msel cfig w = fold $ do
drawTerminalDisplay :: LWorld -> Config -> Terminal -> Picture drawTerminalDisplay :: LWorld -> Config -> Terminal -> Picture
drawTerminalDisplay lw cfig tm = drawTerminalDisplay lw cfig tm =
invHead cfig ("T-" ++ show tid) drawSelectionList invDP cfig f
<> drawSelectionList secondColumnLDP cfig f -- <> invHead cfig ("TERMINAL-" ++ show tid)
<> color -- <> color
(withAlpha 0.5 green) -- consider integrating termScreenColor somehow -- (withAlpha 0.5 green) -- consider integrating termScreenColor somehow
(drawSelectionListBackground secondColumnLDP cfig tsize) -- (drawSelectionListBackground secondColumnLDP cfig tsize)
<> color (dark $ _tmExternalColor tm) (drawTitleBackground cfig) -- <> color (dark $ _tmExternalColor tm) (drawTitleBackground cfig)
where where
tid = tm ^. tmID tid = tm ^. tmID
tsize = getMaxLinesTM + 1 -- tsize = getMaxLinesTM + 1
toselitm (str, col) = SelItem [str] 1 55 True col 0 Nothing toselitm (str, col) = SelItem [str] 1 55 True col 0 Nothing
-- not sure if the width (55) is correct here -- not sure if the width (55) is correct here
f = f = toselitm ("TERMINAL " ++ show tid,white) :
map toselitm . displayTermInput (map (toselitm . (_1 %~ (" "<>))) . displayTermInput
. reverse . reverse
-- . take getMaxLinesTM $ _tmDisplayedLines tm)
$ _tmDisplayedLines tm
displayTermInput = case _tmStatus tm of displayTermInput = case _tmStatus tm of
TerminalOff -> id TerminalOff -> id
TerminalDeactivated -> id TerminalDeactivated -> id
+26 -8
View File
@@ -43,12 +43,13 @@ import TreeHelp
tutAnoTree :: Annotation tutAnoTree :: Annotation
tutAnoTree = tutAnoTree =
OnwardList OnwardList
[ AnTree $ return $ tToBTree "teststart" $ return $ cleatOnward corridor -- [ AnTree $ return $ tToBTree "teststart" $ return $ cleatOnward corridor
, AnTree $ tutDrop -- , AnTree $ tutDrop
-- [ AnTree $ tToBTree "TutStartRez" . return . cleatOnward <$> tutRezBox [ AnTree $ tToBTree "TutStartRez" . return . cleatOnward <$> tutRezBox
, AnTree corDoor , AnTree corDoor
, AnTree $ tutRooms , AnTree $ tutRooms
, AnTree $ tutDrop , AnTree $ tutDrop
, AnTree $ return $ tToBTree "cor" $ return $ cleatOnward corridor
---- , AnTree $ pickupTut ---- , AnTree $ pickupTut
---- , AnTree $ weaponTut ---- , AnTree $ weaponTut
] ]
@@ -66,7 +67,7 @@ tutRooms = do
i <- nextLayoutInt i <- nextLayoutInt
j <- nextLayoutInt j <- nextLayoutInt
x <- shuffleLinks =<< analyserByDoor (RequireEquipment (AMMOMAG DRUMMAG)) i x <- shuffleLinks =<< analyserByDoor (RequireEquipment (AMMOMAG DRUMMAG)) i
<$> addDoorAtNthLinkToggleTerminal 1 (makeTermPara s) j <$> addDoorAtNthLinkToggleTerminal 1 ss j
<$> roomNgon 6 100 <$> roomNgon 6 100
bcor <- blockedCorridor bcor <- blockedCorridor
r1 <-(r burstRifle) r1 <-(r burstRifle)
@@ -77,7 +78,12 @@ tutRooms = do
,bcor ,bcor
] ]
where where
s = "INTERACTION TEST: USE KEYBOARD OR SCROLL TO ENTER COMMANDS." ss = [makeTermLine "BE READY TO PERFORM SOME BASIC TASKS"
, makeTermLine ""
, makeTermLine "INTERACTION TEST"
, makeTermLine "<TYPE OR SCROLL TO SELECT COMMANDS>"
, makeTermLine "<USE CLICK OR RETURN TO ENTER COMMANDS>"
]
r x = roomRectAutoLinks 100 100 <&> rmPmnts .:~ sps (PS 50 0) (PutFlIt x) r x = roomRectAutoLinks 100 100 <&> rmPmnts .:~ sps (PS 50 0) (PutFlIt x)
tutRezBox :: RandomGen g => State g Room tutRezBox :: RandomGen g => State g Room
@@ -87,7 +93,10 @@ tutRezBox = do
roomRect 40 60 1 1 roomRect 40 60 1 1
& rmPmnts & rmPmnts
.~ [ sPS (V2 20 1) 0 $ PutLS ls .~ [ sPS (V2 20 1) 0 $ PutLS ls
, putImmediateMessageTerminal terminalColor (defaultTerminal & tmBootLines .~ makeTermPara s <> tlSetStatus (TerminalPressTo "QUIT") <> tlDoEffect TmWdWdDeactivateTerminal) , putImmediateMessageTerminal terminalColor
(defaultTerminal & tmBootLines .~ s
<> tlSetStatus (TerminalPressTo "USE [WASD] TO MOVE") <> tlDoEffect
(TmWdWdLeaveTerminal "USE [WASD] TO MOVE"))
& plSpot .~ PS (V2 20 0) 0 & plSpot .~ PS (V2 20 0) 0
] ]
& restrictInLinks (\(V2 _ h, _) -> h < 1) & restrictInLinks (\(V2 _ h, _) -> h < 1)
@@ -96,5 +105,14 @@ tutRezBox = do
where where
s = tutorialMessage1 s = tutorialMessage1
tutorialMessage1 :: String tutorialMessage1 :: [TerminalLine]
tutorialMessage1 = "SYNTHESIS SUCCESSFUL. MOBILITY TEST INITIATED [WASD]. INTERACTION TEST IN QUEUE [SPACE]." tutorialMessage1 =
[makeTermLine "SYNTHESIS SUCCESSFUL..."
,makeTermLine "WELCOME TO THE STATION!"
,makeTermLine ""
,makeTermLine "INTERACTION TEST"
] <> tlSetStatus (TerminalPressTo "USE [SPACE] TO INTERACT")
<> [makeTermLine "<USE [SPACE] TO INTERACT>"
,makeTermLine ""
,makeTermLine "MOBILITY TEST"
]
+3 -5
View File
@@ -36,14 +36,12 @@ textTerminal = defaultTerminal{_tmBootLines = textInputBlurb []}
textInputBlurb :: [TerminalLine] -> [TerminalLine] textInputBlurb :: [TerminalLine] -> [TerminalLine]
textInputBlurb tls = textInputBlurb tls =
[ termSoundLine computerBeepingS [termSoundLine computerBeepingS]
, TLine 0 [TerminalLineConst "LOADING TEXT INTERFACE..." termTextColor] TmWdId
]
++ tls ++ tls
++ [TLine 10 [TerminalLineConst "READY FOR INPUT" termTextColor] (TmTmSetStatus (TerminalTextInput ""))] ++ tlSetStatus (TerminalTextInput "")
termSoundLine :: SoundID -> TerminalLine termSoundLine :: SoundID -> TerminalLine
termSoundLine sid = TLine 0 [] (TmWdWdTermSound sid) termSoundLine = TLine 0 [] . TmWdWdTermSound
termTextColor :: Color termTextColor :: Color
termTextColor = greyN 0.9 termTextColor = greyN 0.9
+4 -4
View File
@@ -94,7 +94,7 @@ doTmWdWd tmwdwd = case tmwdwd of
TmWdId -> const id TmWdId -> const id
TmWdWdPowerDownTerminal -> resetTerminal TerminalOff TmWdWdPowerDownTerminal -> resetTerminal TerminalOff
TmWdWdDeactivateTerminal -> resetTerminal TerminalDeactivated TmWdWdDeactivateTerminal -> resetTerminal TerminalDeactivated
TmWdWdLeaveTerminal -> leaveResetQuitTerminal TmWdWdLeaveTerminal s -> leaveResetQuitTerminal s
TmWdWdTermSound sid -> \tm w -> fromMaybe w $ do TmWdWdTermSound sid -> \tm w -> fromMaybe w $ do
tpos <- w ^? cWorld . lWorld . buttons . ix (_tmButtonID tm) . btPos tpos <- w ^? cWorld . lWorld . buttons . ix (_tmButtonID tm) . btPos
return $ soundStart TerminalSound tpos sid Nothing w return $ soundStart TerminalSound tpos sid Nothing w
@@ -107,10 +107,10 @@ resetTerminal x tm =
. (cWorld . lWorld . terminals . ix (_tmID tm) . tmDisplayedLines .~ []) . (cWorld . lWorld . terminals . ix (_tmID tm) . tmDisplayedLines .~ [])
. exitTerminalSubInv . exitTerminalSubInv
leaveResetQuitTerminal :: Terminal -> World -> World leaveResetQuitTerminal :: String -> Terminal -> World -> World
leaveResetQuitTerminal tm = leaveResetQuitTerminal s tm =
(cWorld . lWorld . terminals . ix (_tmID tm) . tmFutureLines (cWorld . lWorld . terminals . ix (_tmID tm) . tmFutureLines
.~ (tlSetStatus (TerminalPressTo "QUIT")) <> tlDoEffect TmWdWdLeaveTerminal) .~ (tlSetStatus (TerminalPressTo s)) <> tlDoEffect (TmWdWdLeaveTerminal s))
. exitTerminalSubInv . exitTerminalSubInv
exitTerminalSubInv :: World -> World exitTerminalSubInv :: World -> World
+33 -33
View File
@@ -2559,7 +2559,7 @@ aRadarPulse src/Dodge/RadarSweep.hs 19;" f
aShape src/Dodge/Placement/Instance/LightSource.hs 107;" f aShape src/Dodge/Placement/Instance/LightSource.hs 107;" f
aSound src/Dodge/SoundLogic.hs 74;" f aSound src/Dodge/SoundLogic.hs 74;" f
aTreeStrut src/Dodge/Tree/GenerateStructure.hs 42;" f aTreeStrut src/Dodge/Tree/GenerateStructure.hs 42;" f
accessTerminal src/Dodge/WorldEffect.hs 53;" f accessTerminal src/Dodge/WorldEffect.hs 54;" f
activateDetonator src/Dodge/Creature/Impulse/UseItem.hs 62;" f activateDetonator src/Dodge/Creature/Impulse/UseItem.hs 62;" f
activeTargetCursorPic src/Dodge/Targeting/Draw.hs 31;" f activeTargetCursorPic src/Dodge/Targeting/Draw.hs 31;" f
addArmour src/Dodge/Creature.hs 84;" f addArmour src/Dodge/Creature.hs 84;" f
@@ -2607,13 +2607,13 @@ aimDelaySweep src/Dodge/Render/Picture.hs 288;" f
aimStanceInfo src/Dodge/Item/Info.hs 244;" f aimStanceInfo src/Dodge/Item/Info.hs 244;" f
aimTurn src/Dodge/Creature/YourControl.hs 180;" f aimTurn src/Dodge/Creature/YourControl.hs 180;" f
airlock src/Dodge/Room/Airlock.hs 23;" f airlock src/Dodge/Room/Airlock.hs 23;" f
airlock0 src/Dodge/Room/Airlock.hs 59;" f airlock0 src/Dodge/Room/Airlock.hs 65;" f
airlock90 src/Dodge/Room/Airlock.hs 157;" f airlock90 src/Dodge/Room/Airlock.hs 163;" f
airlockCrystal src/Dodge/Room/Airlock.hs 196;" f airlockCrystal src/Dodge/Room/Airlock.hs 202;" f
airlockDoor src/Dodge/Room/Airlock.hs 85;" f airlockDoor src/Dodge/Room/Airlock.hs 91;" f
airlockDoubleDoor src/Dodge/Room/Airlock.hs 88;" f airlockDoubleDoor src/Dodge/Room/Airlock.hs 94;" f
airlockSimple src/Dodge/Room/Airlock.hs 100;" f airlockSimple src/Dodge/Room/Airlock.hs 106;" f
airlockZ src/Dodge/Room/Airlock.hs 125;" f airlockZ src/Dodge/Room/Airlock.hs 131;" f
allVisibleWalls src/Dodge/Base/Collide.hs 215;" f allVisibleWalls src/Dodge/Base/Collide.hs 215;" f
alongSegBy src/Geometry.hs 41;" f alongSegBy src/Geometry.hs 41;" f
alteRifle src/Dodge/Item/Held/Cane.hs 22;" f alteRifle src/Dodge/Item/Held/Cane.hs 22;" f
@@ -3127,7 +3127,7 @@ debugSelectCreatureMessage src/Dodge/Debug.hs 79;" f
decodeSensorType src/Dodge/Terminal.hs 74;" f decodeSensorType src/Dodge/Terminal.hs 74;" f
decomposeSelfTree src/Dodge/Tree/Compose.hs 60;" f decomposeSelfTree src/Dodge/Tree/Compose.hs 60;" f
decomposeTree src/Dodge/Tree/Compose.hs 57;" f decomposeTree src/Dodge/Tree/Compose.hs 57;" f
decontamRoom src/Dodge/Room/Airlock.hs 29;" f decontamRoom src/Dodge/Room/Airlock.hs 28;" f
decoratedBlock src/Dodge/Placement/Instance/Block.hs 10;" f decoratedBlock src/Dodge/Placement/Instance/Block.hs 10;" f
decorationToShape src/Dodge/Placement/TopDecoration.hs 9;" f decorationToShape src/Dodge/Placement/TopDecoration.hs 9;" f
decreaseAwareness src/Dodge/Creature/Perception.hs 119;" f decreaseAwareness src/Dodge/Creature/Perception.hs 119;" f
@@ -3258,8 +3258,8 @@ doCrWdAc src/Dodge/CreatureEffect.hs 77;" f
doCrWdImp src/Dodge/CreatureEffect.hs 16;" f doCrWdImp src/Dodge/CreatureEffect.hs 16;" f
doCrWdWd src/Dodge/CreatureEffect.hs 20;" f doCrWdWd src/Dodge/CreatureEffect.hs 20;" f
doDamage src/Dodge/Creature/State.hs 42;" f doDamage src/Dodge/Creature/State.hs 42;" f
doDeathToggle src/Dodge/WorldEffect.hs 85;" f doDeathToggle src/Dodge/WorldEffect.hs 86;" f
doDeathTriggers src/Dodge/WorldEffect.hs 78;" f doDeathTriggers src/Dodge/WorldEffect.hs 79;" f
doDebugTest src/Dodge/Update/Input/DebugTest.hs 22;" f doDebugTest src/Dodge/Update/Input/DebugTest.hs 22;" f
doDebugTest2 src/Dodge/Update/Input/DebugTest.hs 37;" f doDebugTest2 src/Dodge/Update/Input/DebugTest.hs 37;" f
doDebugTestF10 src/Dodge/Update/Input/DebugTest.hs 62;" f doDebugTestF10 src/Dodge/Update/Input/DebugTest.hs 62;" f
@@ -3310,13 +3310,13 @@ doTextInputOver src/Dodge/Update/Input/Text.hs 15;" f
doTextInputOverUniverse src/Dodge/Update/Input/Text.hs 12;" f doTextInputOverUniverse src/Dodge/Update/Input/Text.hs 12;" f
doThrust src/Dodge/Projectile/Update.hs 182;" f doThrust src/Dodge/Projectile/Update.hs 182;" f
doTimeScroll src/Dodge/Update.hs 208;" f doTimeScroll src/Dodge/Update.hs 208;" f
doTmWdWd src/Dodge/WorldEffect.hs 88;" f doTmWdWd src/Dodge/WorldEffect.hs 89;" f
doWallRotate src/Dodge/Update/Camera.hs 220;" f doWallRotate src/Dodge/Update/Camera.hs 220;" f
doWdBl src/Dodge/WorldBool.hs 10;" f doWdBl src/Dodge/WorldBool.hs 10;" f
doWdCrBl src/Dodge/CreatureEffect.hs 37;" f doWdCrBl src/Dodge/CreatureEffect.hs 37;" f
doWdCrCr src/Dodge/CreatureEffect.hs 12;" f doWdCrCr src/Dodge/CreatureEffect.hs 12;" f
doWdP2f src/Dodge/WdP2f.hs 12;" f doWdP2f src/Dodge/WdP2f.hs 12;" f
doWdWd src/Dodge/WorldEffect.hs 27;" f doWdWd src/Dodge/WorldEffect.hs 28;" f
doWorldEvents src/Dodge/Update.hs 430;" f doWorldEvents src/Dodge/Update.hs 430;" f
doWorldPos src/Dodge/WorldPos.hs 7;" f doWorldPos src/Dodge/WorldPos.hs 7;" f
door src/Dodge/Room/Door.hs 13;" f door src/Dodge/Room/Door.hs 13;" f
@@ -3540,7 +3540,7 @@ errorNormalizeV src/Geometry.hs 55;" f
errorPointInPolygon src/Geometry.hs 47;" f errorPointInPolygon src/Geometry.hs 47;" f
evaluateRandPS src/Dodge/Placement/PlaceSpot.hs 133;" f evaluateRandPS src/Dodge/Placement/PlaceSpot.hs 133;" f
evenOddSplit src/Dodge/Base.hs 160;" f evenOddSplit src/Dodge/Base.hs 160;" f
exitTerminalSubInv src/Dodge/WorldEffect.hs 109;" f exitTerminalSubInv src/Dodge/WorldEffect.hs 116;" f
expandLine src/Dodge/Picture.hs 30;" f expandLine src/Dodge/Picture.hs 30;" f
expandPolyBy src/Dodge/LevelGen/StaticWalls.hs 91;" f expandPolyBy src/Dodge/LevelGen/StaticWalls.hs 91;" f
expandPolyByFixed src/Dodge/LevelGen/StaticWalls.hs 97;" f expandPolyByFixed src/Dodge/LevelGen/StaticWalls.hs 97;" f
@@ -3907,7 +3907,7 @@ isAmmoIntLink src/Dodge/HeldUse.hs 713;" f
isAnimate src/Dodge/Creature/Test.hs 130;" f isAnimate src/Dodge/Creature/Test.hs 130;" f
isCognizant src/Dodge/Creature/Perception.hs 106;" f isCognizant src/Dodge/Creature/Perception.hs 106;" f
isConnected src/Dodge/Inventory/Swap.hs 76;" f isConnected src/Dodge/Inventory/Swap.hs 76;" f
isElectrical src/Dodge/Machine/Update.hs 83;" f isElectrical src/Dodge/Machine/Update.hs 81;" f
isGroupSelectableSection src/Dodge/Update/Input/InGame.hs 199;" f isGroupSelectableSection src/Dodge/Update/Input/InGame.hs 199;" f
isInLnk src/Dodge/PlacementSpot.hs 168;" f isInLnk src/Dodge/PlacementSpot.hs 168;" f
isJust' src/MaybeHelp.hs 29;" f isJust' src/MaybeHelp.hs 29;" f
@@ -4028,7 +4028,7 @@ ldtToDT src/Dodge/DoubleTree.hs 16;" f
ldtToIM src/Dodge/DoubleTree.hs 219;" f ldtToIM src/Dodge/DoubleTree.hs 219;" f
ldtToIndentList src/Dodge/DoubleTree.hs 222;" f ldtToIndentList src/Dodge/DoubleTree.hs 222;" f
ldtToLoc src/Dodge/DoubleTree.hs 268;" f ldtToLoc src/Dodge/DoubleTree.hs 268;" f
leaveTerminal src/Dodge/WorldEffect.hs 114;" f leaveResetQuitTerminal src/Dodge/WorldEffect.hs 110;" f
left src/DoubleStack.hs 16;" f left src/DoubleStack.hs 16;" f
leftChildList src/Dodge/Item/Grammar.hs 185;" f leftChildList src/Dodge/Item/Grammar.hs 185;" f
leftHandPQ src/Dodge/Creature/HandPos.hs 60;" f leftHandPQ src/Dodge/Creature/HandPos.hs 60;" f
@@ -4201,24 +4201,24 @@ maybeOpenConsole src/Dodge/Update.hs 131;" f
maybeReadFile src/Dodge/LoadSeed.hs 10;" f maybeReadFile src/Dodge/LoadSeed.hs 10;" f
maybeTakeOne src/RandomHelp.hs 116;" f maybeTakeOne src/RandomHelp.hs 116;" f
maybeWarmupStatus src/Dodge/Item/Display.hs 45;" f maybeWarmupStatus src/Dodge/Item/Display.hs 45;" f
mcApplyDamage src/Dodge/Machine/Update.hs 128;" f mcApplyDamage src/Dodge/Machine/Update.hs 126;" f
mcDamSensorTriggerUpdate src/Dodge/Machine/Update.hs 97;" f mcDamSensorTriggerUpdate src/Dodge/Machine/Update.hs 95;" f
mcDamSensorUpdate src/Dodge/Machine/Update.hs 135;" f mcDamSensorUpdate src/Dodge/Machine/Update.hs 133;" f
mcKillBut src/Dodge/Machine/Destroy.hs 37;" f mcKillBut src/Dodge/Machine/Destroy.hs 37;" f
mcKillTerm src/Dodge/Machine/Destroy.hs 29;" f mcKillTerm src/Dodge/Machine/Destroy.hs 29;" f
mcNoItemsTest src/Dodge/Machine/Update.hs 143;" f mcNoItemsTest src/Dodge/Machine/Update.hs 141;" f
mcPlaySound src/Dodge/Machine/Update.hs 112;" f mcPlaySound src/Dodge/Machine/Update.hs 110;" f
mcProxSensorTriggerUpdate src/Dodge/Machine/Update.hs 103;" f mcProxSensorTriggerUpdate src/Dodge/Machine/Update.hs 101;" f
mcProxSensorUpdate src/Dodge/Machine/Update.hs 138;" f mcProxSensorUpdate src/Dodge/Machine/Update.hs 136;" f
mcProxTest src/Dodge/Machine/Update.hs 199;" f mcProxTest src/Dodge/Machine/Update.hs 199;" f
mcProximitySensorUpdate src/Dodge/Machine/Update.hs 168;" f mcProximitySensorUpdate src/Dodge/Machine/Update.hs 168;" f
mcSPic src/Dodge/Render/ShapePicture.hs 134;" f mcSPic src/Dodge/Render/ShapePicture.hs 134;" f
mcShootAuto src/Dodge/HeldUse.hs 1195;" f mcShootAuto src/Dodge/HeldUse.hs 1195;" f
mcShootLaser src/Dodge/HeldUse.hs 1188;" f mcShootLaser src/Dodge/HeldUse.hs 1188;" f
mcTriggerVal src/Dodge/Machine/Update.hs 109;" f mcTriggerVal src/Dodge/Machine/Update.hs 107;" f
mcTypeUpdate src/Dodge/Machine/Update.hs 29;" f mcTypeUpdate src/Dodge/Machine/Update.hs 29;" f
mcUseHeld src/Dodge/HeldUse.hs 1107;" f mcUseHeld src/Dodge/HeldUse.hs 1107;" f
mcUseItem src/Dodge/Machine/Update.hs 88;" f mcUseItem src/Dodge/Machine/Update.hs 86;" f
megaBattery src/Dodge/Item/Ammo.hs 55;" f megaBattery src/Dodge/Item/Ammo.hs 55;" f
megaShellMag src/Dodge/Item/Ammo.hs 44;" f megaShellMag src/Dodge/Item/Ammo.hs 44;" f
megaTinMag src/Dodge/Item/Ammo.hs 23;" f megaTinMag src/Dodge/Item/Ammo.hs 23;" f
@@ -4753,7 +4753,7 @@ replacePutID src/Dodge/Placement/Instance/Wall.hs 102;" f
resetCrVocCoolDown src/Dodge/Creature/Vocalization.hs 47;" f resetCrVocCoolDown src/Dodge/Creature/Vocalization.hs 47;" f
resetPLUse src/Dodge/PlacementSpot.hs 99;" f resetPLUse src/Dodge/PlacementSpot.hs 99;" f
resetStride src/Dodge/Creature/State/WalkCycle.hs 24;" f resetStride src/Dodge/Creature/State/WalkCycle.hs 24;" f
resetTerminal src/Dodge/WorldEffect.hs 103;" f resetTerminal src/Dodge/WorldEffect.hs 104;" f
resizeFBOTO src/Framebuffer/Update.hs 203;" f resizeFBOTO src/Framebuffer/Update.hs 203;" f
resizeFBOTO3 src/Framebuffer/Update.hs 175;" f resizeFBOTO3 src/Framebuffer/Update.hs 175;" f
resizeRBO src/Framebuffer/Update.hs 87;" f resizeRBO src/Framebuffer/Update.hs 87;" f
@@ -4922,7 +4922,7 @@ sensorReqToString src/Dodge/Machine/Update.hs 194;" f
sensorRoom src/Dodge/Room/SensorDoor.hs 26;" f sensorRoom src/Dodge/Room/SensorDoor.hs 26;" f
sensorRoomRunPast src/Dodge/Room/SensorDoor.hs 46;" f sensorRoomRunPast src/Dodge/Room/SensorDoor.hs 46;" f
sensorSPic src/Dodge/Machine/Draw.hs 81;" f sensorSPic src/Dodge/Machine/Draw.hs 81;" f
sensorTypeDamages src/Dodge/Machine/Update.hs 227;" f sensorTypeDamages src/Dodge/Machine/Update.hs 228;" f
sentinelAI src/Dodge/Creature/SentinelAI.hs 20;" f sentinelAI src/Dodge/Creature/SentinelAI.hs 20;" f
sentinelExtraWatchUpdate src/Dodge/Creature/SentinelAI.hs 83;" f sentinelExtraWatchUpdate src/Dodge/Creature/SentinelAI.hs 83;" f
sentinelFireType src/Dodge/Creature/SentinelAI.hs 50;" f sentinelFireType src/Dodge/Creature/SentinelAI.hs 50;" f
@@ -5321,7 +5321,7 @@ topTestPart src/Dodge/TestString.hs 41;" f
torch src/Dodge/Item/Held/Utility.hs 23;" f torch src/Dodge/Item/Held/Utility.hs 23;" f
torchShape src/Dodge/Item/Draw/SPic.hs 290;" f torchShape src/Dodge/Item/Draw/SPic.hs 290;" f
torqueAmount src/Dodge/HeldUse.hs 573;" f torqueAmount src/Dodge/HeldUse.hs 573;" f
torqueCr src/Dodge/WorldEffect.hs 71;" f torqueCr src/Dodge/WorldEffect.hs 72;" f
torso src/Dodge/Creature/Picture.hs 102;" f torso src/Dodge/Creature/Picture.hs 102;" f
tractCr src/Dodge/TractorBeam/Update.hs 27;" f tractCr src/Dodge/TractorBeam/Update.hs 27;" f
tractFlIt src/Dodge/TractorBeam/Update.hs 22;" f tractFlIt src/Dodge/TractorBeam/Update.hs 22;" f
@@ -5392,11 +5392,11 @@ turnTo src/Dodge/Movement/Turn.hs 8;" f
turret src/Dodge/Placement/Instance/Turret.hs 37;" f turret src/Dodge/Placement/Instance/Turret.hs 37;" f
turretItemOffset src/Dodge/Item/HeldOffset.hs 21;" f turretItemOffset src/Dodge/Item/HeldOffset.hs 21;" f
tutAnoTree src/Dodge/Room/Tutorial.hs 43;" f tutAnoTree src/Dodge/Room/Tutorial.hs 43;" f
tutDrop src/Dodge/Room/Tutorial.hs 56;" f tutDrop src/Dodge/Room/Tutorial.hs 57;" f
tutRezBox src/Dodge/Room/Tutorial.hs 82;" f tutRezBox src/Dodge/Room/Tutorial.hs 84;" f
tutRoomTree src/Dodge/Floor.hs 26;" f tutRoomTree src/Dodge/Floor.hs 26;" f
tutRooms src/Dodge/Room/Tutorial.hs 63;" f tutRooms src/Dodge/Room/Tutorial.hs 65;" f
tutorialMessage1 src/Dodge/Room/Tutorial.hs 98;" f tutorialMessage1 src/Dodge/Room/Tutorial.hs 100;" f
tweenAngles src/Geometry/Vector.hs 195;" f tweenAngles src/Geometry/Vector.hs 195;" f
twinSlowDoorChasers src/Dodge/Room/LongDoor.hs 80;" f twinSlowDoorChasers src/Dodge/Room/LongDoor.hs 80;" f
twinSlowDoorRoom src/Dodge/Room/LongDoor.hs 28;" f twinSlowDoorRoom src/Dodge/Room/LongDoor.hs 28;" f
@@ -5531,7 +5531,7 @@ updateTeslaArc src/Dodge/Update.hs 587;" f
updateTeslaArcs src/Dodge/Update.hs 584;" f updateTeslaArcs src/Dodge/Update.hs 584;" f
updateTractorBeam src/Dodge/TractorBeam/Update.hs 8;" f updateTractorBeam src/Dodge/TractorBeam/Update.hs 8;" f
updateTractorBeams src/Dodge/Update.hs 655;" f updateTractorBeams src/Dodge/Update.hs 655;" f
updateTurret src/Dodge/Machine/Update.hs 53;" f updateTurret src/Dodge/Machine/Update.hs 46;" f
updateUniverse src/Dodge/Update.hs 79;" f updateUniverse src/Dodge/Update.hs 79;" f
updateUniverseFirst src/Dodge/Update.hs 90;" f updateUniverseFirst src/Dodge/Update.hs 90;" f
updateUniverseLast src/Dodge/Update.hs 141;" f updateUniverseLast src/Dodge/Update.hs 141;" f