This commit is contained in:
2025-08-19 17:29:36 +01:00
parent 2f9cea1b69
commit b07280e50c
13 changed files with 107 additions and 280 deletions
+1 -1
View File
File diff suppressed because one or more lines are too long
+1 -2
View File
@@ -5,7 +5,6 @@ import Control.Lens
import Dodge.Data.World import Dodge.Data.World
import Dodge.SoundLogic import Dodge.SoundLogic
import Dodge.WorldEffect import Dodge.WorldEffect
import Sound.Data
doButtonEvent :: ButtonEvent -> Button -> World -> World doButtonEvent :: ButtonEvent -> Button -> World -> World
doButtonEvent = \case doButtonEvent = \case
@@ -18,5 +17,5 @@ doButtonEvent = \case
buttonFlip :: WdWd -> Button -> World -> World buttonFlip :: WdWd -> Button -> World -> World
buttonFlip f bt = buttonFlip f bt =
doWdWd f doWdWd f
. soundWithStatus ToStart (LeverSound 0) (bt ^. btPos) click1S Nothing . soundStart (ButtonSound (bt ^. btID)) (bt ^. btPos) click1S Nothing
. over (cWorld . lWorld . buttons . ix (bt ^. btID) . btEvent . btOn) not . over (cWorld . lWorld . buttons . ix (bt ^. btID) . btEvent . btOn) not
-1
View File
@@ -32,7 +32,6 @@ data Button = Button
, _btRot :: Float , _btRot :: Float
, _btEvent :: ButtonEvent , _btEvent :: ButtonEvent
, _btID :: Int , _btID :: Int
-- , _btTermMID :: Maybe Int
} }
makeLenses ''Button makeLenses ''Button
+1 -1
View File
@@ -34,7 +34,7 @@ data SoundOrigin
| GlassBreakSound Int | GlassBreakSound Int
| MaterialSound Material Int | MaterialSound Material Int
| TeleSound Int | TeleSound Int
| LeverSound Int | ButtonSound Int
| Explosion Int | Explosion Int
| Tap Int | Tap Int
| EBSound Int | EBSound Int
+2 -7
View File
@@ -46,16 +46,11 @@ defaultMachine =
} }
defaultButton :: Button defaultButton :: Button
defaultButton = defaultButton = Button
Button { _btPos = 0
{ _btPos = V2 0 0
, _btRot = 0 , _btRot = 0
, _btEvent = ButtonPress False NoWorldEffect (dark red) , _btEvent = ButtonPress False NoWorldEffect (dark red)
, _btID = 0 , _btID = 0
-- , _btState = BtOff
-- , _btTermMID = Nothing
-- , _btName = ""
-- , _btColor = red
} }
defaultPP :: PressPlate defaultPP :: PressPlate
-1
View File
@@ -116,7 +116,6 @@ rmInvItem cid invid w =
| x > invid || Just x == maxk = max 0 $ x - 1 | x > invid || Just x == maxk = max 0 $ x - 1
| otherwise = x | otherwise = x
-- this looks ugly... -- this looks ugly...
updateCloseObjects :: World -> World updateCloseObjects :: World -> World
updateCloseObjects w = updateCloseObjects w =
+1 -10
View File
@@ -17,7 +17,7 @@ putTerminal :: Color -> Machine -> Terminal -> Placement
putTerminal col mc tm = putTerminal col mc tm =
ps0PushPS (PutTerminal (tm & tmExternalColor .~ col)) $ ps0PushPS (PutTerminal (tm & tmExternalColor .~ col)) $
\tmpl -> Just $ \tmpl -> Just $
ps0PushPS (PutButton termButton) $ ps0PushPS (PutButton defaultButton) $
\btpl -> Just $ \btpl -> Just $
pt0 pt0
( PutMachine ( PutMachine
@@ -48,14 +48,5 @@ putMessageTerminal col =
& mcType .~ McTerminal & mcType .~ McTerminal
& mcHP .~ 100 & mcHP .~ 100
termButton :: Button
termButton =
Button
{ _btPos = 0
, _btRot = 0
, _btEvent = ButtonAccessTerminal 0
, _btID = 0
}
terminalColor :: Color terminalColor :: Color
terminalColor = dark magenta terminalColor = dark magenta
+5 -7
View File
@@ -343,13 +343,12 @@ combineInventoryExtra ::
Configuration -> Configuration ->
World -> World ->
Picture Picture
combineInventoryExtra sss msel cfig w = fromMaybe mempty $ do combineInventoryExtra sss msel cfig w = fold $ do
(i, j) <- msel (i, j) <- msel
si <- sss ^? ix i . ssItems . ix j si <- sss ^? ix i . ssItems . ix j
let col = _siColor si let col = _siColor si
lnks <- si ^? siPayload . ciInvIDs lnks <- si ^? siPayload . ciInvIDs
return (lnkMidPosInvSelsCol cfig w j col lnks) return (lnkMidPosInvSelsCol cfig w j col lnks) <> foldMap invcursor lnks
<> foldMap invcursor lnks
where where
invcursor i = do invcursor i = do
sss' <- w ^? hud . hudElement . diSections sss' <- w ^? hud . hudElement . diSections
@@ -362,12 +361,12 @@ combineInventoryExtra sss msel cfig w = fromMaybe mempty $ do
(Just (0, i)) (Just (0, i))
drawTerminalDisplay :: Int -> Configuration -> LWorld -> Picture drawTerminalDisplay :: Int -> Configuration -> LWorld -> Picture
drawTerminalDisplay tid cfig w = fromMaybe mempty $ do drawTerminalDisplay tid cfig w = fold $ do
tm <- w ^? terminals . ix tid tm <- w ^? terminals . ix tid
let tsize = getMaxLinesTM + 1 let tsize = getMaxLinesTM + 1
return $ return $
invHead cfig ("T-" ++ show tid) invHead cfig ("T-" ++ show tid)
<> drawSelectionList secondColumnParams cfig (thesellist tm) <> drawSelectionList secondColumnParams cfig (f tm)
<> color <> color
(withAlpha 0.5 green) -- consider integrating termScreenColor somehow (withAlpha 0.5 green) -- consider integrating termScreenColor somehow
(drawSelectionListBackground secondColumnParams cfig tsize) (drawSelectionListBackground secondColumnParams cfig tsize)
@@ -375,8 +374,7 @@ drawTerminalDisplay tid cfig w = fromMaybe mempty $ do
where where
toselitm (str, col) = SelectionItem [str] 1 55 True col 0 () toselitm (str, col) = SelectionItem [str] 1 55 True col 0 ()
-- not sure if the width (55) is correct here -- not sure if the width (55) is correct here
thesellist tm = thelist tm f tm =
thelist tm =
map toselitm . displayTermInput tm map toselitm . displayTermInput tm
. reverse . reverse
. take getMaxLinesTM . take getMaxLinesTM
+1 -1
View File
@@ -11,7 +11,7 @@ module Dodge.SoundLogic (
soundContinueVol, soundContinueVol,
soundMultiFrom, soundMultiFrom,
stopSoundFrom, stopSoundFrom,
soundWithStatus, -- soundWithStatus,
-- * helper to determine the angle of a sound given a world position -- * helper to determine the angle of a sound given a world position
soundAngle, soundAngle,
+13 -187
View File
@@ -3,8 +3,6 @@
module Dodge.Terminal ( module Dodge.Terminal (
makeTermLine, makeTermLine,
connectionBlurbLines, connectionBlurbLines,
powerDownTerminal,
deactivateTerminal,
textTerminal, textTerminal,
simpleTermMessage, simpleTermMessage,
damageCodeCommand, damageCodeCommand,
@@ -14,14 +12,10 @@ module Dodge.Terminal (
toggleCommand, toggleCommand,
terminalReturnEffect, terminalReturnEffect,
getCommands, getCommands,
makeColorTermPara,
commandColor,
tabComplete, tabComplete,
tlSetStatus, tlSetStatus,
) where ) where
--import Dodge.Data.WorldEffect
import Color import Color
import Data.Char import Data.Char
import qualified Data.List as List import qualified Data.List as List
@@ -42,10 +36,7 @@ import LensHelp
import Sound.Data import Sound.Data
textTerminal :: Terminal textTerminal :: Terminal
textTerminal = textTerminal = defaultTerminal{_tmBootLines = connectionBlurb}
defaultTerminal
{ _tmBootLines = connectionBlurb
}
connectionBlurbLines :: [TerminalLine] -> [TerminalLine] connectionBlurbLines :: [TerminalLine] -> [TerminalLine]
connectionBlurbLines tls = connectionBlurbLines tls =
@@ -55,53 +46,6 @@ connectionBlurbLines tls =
++ tls ++ tls
++ [TLine 10 [TerminalLineConst "READY FOR INPUT" termTextColor] (TmTmSetStatus (TerminalTextInput ""))] ++ [TLine 10 [TerminalLineConst "READY FOR INPUT" termTextColor] (TmTmSetStatus (TerminalTextInput ""))]
-- ++ [TerminalLineEffect 0 (TmTmSetStatus (TerminalTextInput "" 0))]
--quitCommand :: TerminalCommand
--quitCommand =
-- TerminalCommand
-- { _tcString = "QUIT"
-- , _tcAlias = ["Q", "EXIT", "X", "SHUTDOWN", ""]
-- , _tcHelp = "Disconnects the terminal."
-- , _tcEffect = TerminalCommandArguments $ NoArguments [TLine 0 [] TmWdWdDisconnectTerminal]
-- }
--helpCommand :: TerminalCommand
--helpCommand =
-- TerminalCommand
-- { _tcString = "HELP"
-- , _tcAlias = ["H", "MAN"]
-- , _tcHelp = "Displays help for a specific command."
-- , _tcEffect = TerminalCommandEffectHelp -- \tm -> OneArgument "AN AVAILABLE COMMAND" . getCommandsHelp tm
-- }
--getCommandsHelp :: Terminal -> World -> M.Map String [TerminalLine]
--getCommandsHelp tm w = foldr f mempty $ getCommands tm
-- where
-- f tc =
-- M.insert
-- (_tcString tc)
-- ( [ makeTermLine "Command:"
-- , makeColorTermLine commandColor (_tcString tc)
-- , makeTermLine "Aliases:"
-- , makeColorTermLine commandColor (unwords (_tcAlias tc))
-- ]
-- ++ case argumentHelp tc tm w of
-- (arghelp, Nothing) -> makeTermPara $ _tcHelp tc ++ " " ++ arghelp
-- (arghelp, Just args) ->
-- makeTermPara (_tcHelp tc ++ " " ++ arghelp)
-- ++ [makeColorTermLine commandColor $ unwords args]
-- )
--commandsCommand :: TerminalCommand
--commandsCommand =
-- TerminalCommand
-- { _tcString = "COMMANDS"
-- , _tcAlias = ["COMMAND", "COM"]
-- , _tcHelp = "Displays available commands."
-- , _tcEffect = TerminalCommandEffectCommands
-- }
connectionBlurb :: [TerminalLine] connectionBlurb :: [TerminalLine]
connectionBlurb = connectionBlurbLines [] connectionBlurb = connectionBlurbLines []
@@ -208,97 +152,6 @@ tabComplete s' tm = case PTE.lookup s $ getCommands tm of
<> [TLine 1 [] . TmTmSetStatus $ TerminalTextInput s] <> [TLine 1 [] . TmTmSetStatus $ TerminalTextInput s]
) )
--doTerminalCommandEffect :: TerminalCommandEffect -> Terminal -> World -> EffectArguments
--doTerminalCommandEffect tce = case tce of
-- TerminalCommandArguments eas -> \_ _ -> eas
-- TerminalCommandEffectDamageCoding -> \_ -> OneArgument "a damage type" . getDamageCoding
-- TerminalCommandEffectSensorParameter -> \tm -> OneArgument "a sensor parameter" . sensorInfoMap tm
-- TerminalCommandEffectLinkedObject -> \tm _ -> OneArgument "a linked object" (togglesToEffects tm)
-- TerminalCommandEffectHelp -> \tm -> OneArgument "an available command" . getCommandsHelp tm
-- TerminalCommandEffectNoArgumentsStr str -> \_ _ -> NoArguments (makeTermPara str)
-- TerminalCommandEffectCommands -> \tm _ ->
-- NoArguments
-- ( makeTermLine "Available commands:" :
-- makeColorTermPara commandColor (unwords (map _tcString $ getCommands tm))
-- )
-- TerminalCommandEffectSingleCommand eff followingLines -> \_ _ -> NoArguments $ TLine 0 [] (TmWdWdfromWdWd eff) : map makeTermLine followingLines
-- TerminalCommandEffectNone -> \_ _ -> NoArguments []
--argumentHelp :: TerminalCommand -> Terminal -> World -> (String, Maybe [String])
--argumentHelp tc tm w = case doTerminalCommandEffect (_tcEffect tc) tm w of
-- NoArguments{} -> ("Any arguments provided to this command are ignored.", Nothing)
-- OneArgument argtype argm ->
-- ( "Expects " ++ argtype ++ " as argument. Available arguments: "
-- , Just (M.keys argm)
-- )
--infoCommand :: String -> TerminalCommand
--infoCommand str =
-- TerminalCommand
-- { _tcString = "INFORMATION"
-- , _tcAlias = ["INFO", "I"]
-- , _tcHelp = "DISPLAYS INFORMATION CONCERNING THE TERMINAL."
-- , _tcEffect = TerminalCommandEffectNoArgumentsStr str -- \_ _ -> NoArguments (makeTermPara str)
-- }
--singleCommand :: [String] -> String -> [String] -> String -> WdWd -> TerminalCommand
--singleCommand followingLines command aliases htext eff =
-- TerminalCommand
-- { _tcString = command
-- , _tcAlias = aliases
-- , _tcHelp = htext
-- , _tcEffect = TerminalCommandEffectSingleCommand eff followingLines
-- }
--getDamageCoding :: World -> M.Map String [TerminalLine]
--getDamageCoding = decodedtmap . _sensorCoding . _cwgParams . _cwGen . _cWorld
--sensorInfoMap :: Terminal -> World -> M.Map String [TerminalLine]
--sensorInfoMap tm w =
-- M.fromList
-- [ ("Requirement", getSensor _proxRequirement tm w)
-- , ("Distance", getSensor _proxDist tm w)
-- , ("Currentstatus", getSensor _proxStatus tm w)
-- , ("Paststatus", getSensor _sensToggle tm w)
-- ]
--getSensor :: Show a => (Sensor -> a) -> Terminal -> World -> [TerminalLine]
--getSensor f tm w =
-- maybe
-- []
-- (makeTermPara . map toLower . show . f)
-- (w ^? cWorld . lWorld . machines . ix (_tmMachineID tm) . mcType . _McSensor)
--sensorCommand :: TerminalCommand
--sensorCommand =
-- TerminalCommand
-- { _tcString = "SENSOR"
-- , _tcAlias = ["SEN"]
-- , _tcHelp = "Access information concerning the connected sensor."
-- , _tcEffect = TerminalCommandEffectSensorParameter -- \tm -> OneArgument "A SENSOR PARAMETER" . sensorInfoMap tm
-- }
powerDownTerminal :: Terminal -> World -> World
powerDownTerminal tm =
(cWorld . lWorld . terminals . ix (_tmID tm) . tmStatus .~ TerminalOff)
. ( cWorld . lWorld . terminals . ix (_tmID tm) . tmDisplayedLines .~ []
)
. exitTerminalSubInv
deactivateTerminal :: Terminal -> World -> World
deactivateTerminal tm =
(cWorld . lWorld . terminals . ix (_tmID tm) . tmStatus .~ TerminalOff)
. ( cWorld . lWorld . terminals . ix (_tmID tm) . tmDisplayedLines .~ []
)
. exitTerminalSubInv
exitTerminalSubInv :: World -> World
exitTerminalSubInv w = case w ^? hud . hudElement . subInventory . termID of
Just _ ->
w & hud . hudElement . subInventory
.~ NoSubInventory --MouseInvNothing
_ -> w
--damageCodeCommand :: TerminalCommand --damageCodeCommand :: TerminalCommand
--damageCodeCommand = --damageCodeCommand =
-- TerminalCommand -- TerminalCommand
@@ -323,47 +176,20 @@ exitTerminalSubInv w = case w ^? hud . hudElement . subInventory . termID of
simpleTermMessage :: [String] -> Terminal simpleTermMessage :: [String] -> Terminal
simpleTermMessage strs = defaultTerminal & tmBootLines .~ map makeTermLine strs simpleTermMessage strs = defaultTerminal & tmBootLines .~ map makeTermLine strs
--commandFutureLines :: String -> Terminal -> World -> [TerminalLine]
--commandFutureLines s tm w = fromMaybe [errline "^ Invalid command"] $ do
-- (str, args) <- safeUncons $ words s
-- command <- find (\tc -> _tcString tc == str || str `elem` _tcAlias tc) (getCommands tm)
-- case doTerminalCommandEffect (_tcEffect command) tm w of
-- NoArguments tls -> Just tls
-- OneArgument argtype m ->
-- let setpartial
-- | null (_tmPartialCommand tm) =
-- TLine 0 [] (TmTmSetPartialCommand (Just command)) :
-- makeTermPara ("Expects " ++ argtype ++ " as an argument")
-- | otherwise =
-- TLine 0 [] (TmTmSetPartialCommand Nothing) :
-- makeTermPara "No argument input, cancelling"
-- in Just $
-- fromMaybe setpartial $
-- safeHead args >>= (m M.!?)
-- where
-- errline = makeColorTermLine red
terminalReturnEffect :: Int -> World -> World terminalReturnEffect :: Int -> World -> World
terminalReturnEffect tmid w = fromMaybe w $ do terminalReturnEffect tmid w = fromMaybe w $ do
tm <- w ^? cWorld . lWorld . terminals . ix tmid tm <- w ^? cWorld . lWorld . terminals . ix tmid
s <- tm ^? tmStatus . tiText s <- tm ^? tmStatus . tiText
return $ let ss = fromMaybe [makeTermLine "ERROR: INPUT NOT RECOGNISED"] $ do
runTerminalInput s tm $ let args = words s
w x <- args ^? ix 0
& cWorld . lWorld . terminals . ix tmid . tmDisplayedLines teff <- PTE.lookup x (getCommands tm)
.:~ (getPromptTM ++ s, termTextColor) let y = fromMaybe "" (args ^? ix 1)
PTE.lookup y teff
runTerminalInput :: String -> Terminal -> World -> World return $ w
runTerminalInput s tm w = & totm . tmDisplayedLines .:~ (getPromptTM ++ s, termTextColor)
w & cWorld . lWorld . terminals . ix (_tmID tm) & totm . tmFutureLines .~ ss <> tlSetStatus (TerminalTextInput "")
%~ ( (tmFutureLines ++.~ ss <> [TLine 1 [] (TmTmSetStatus $ TerminalTextInput "")]) & totm . tmCommandHistory %~ take 10 . (s :)
. (tmCommandHistory %~ take 10 . (s :)) & totm . tmStatus .~ TerminalLineRead
. (tmStatus .~ TerminalLineRead)
)
where where
ss = fromMaybe [makeTermLine "ERROR: INPUT NOT RECOGNISED"] $ do totm = cWorld . lWorld . terminals . ix tmid
let args = words s
x <- args ^? ix 0
teff <- PTE.lookup x (getCommands tm)
let y = fromMaybe "" (args ^? ix 1)
PTE.lookup y teff
+1 -2
View File
@@ -28,8 +28,7 @@ import qualified IntMapHelp as IM
import qualified Data.Map.Strict as M import qualified Data.Map.Strict as M
testStringInit :: Universe -> [String] testStringInit :: Universe -> [String]
testStringInit u = [show $ u ^? uvWorld . cWorld . lWorld . creatures . ix 0 . crHP testStringInit u = map show $ u ^.. uvWorld . cWorld . lWorld . terminals . each . tmStatus
, show $ u ^? uvWorld . timeFlow . respawnDelay]
-- map shortShow (u ^.. uvWorld . cWorld . lWorld . debris . each . to g) -- map shortShow (u ^.. uvWorld . cWorld . lWorld . debris . each . to g)
-- where -- where
-- g db = (pz,z,norm v) -- g db = (pz,z,norm v)
+30 -10
View File
@@ -1,4 +1,5 @@
{-# LANGUAGE LambdaCase #-} {-# LANGUAGE LambdaCase #-}
module Dodge.WorldEffect ( module Dodge.WorldEffect (
doWdWd, doWdWd,
accessTerminal, accessTerminal,
@@ -52,10 +53,9 @@ doWdWd we = case we of
return $ heldEffectMuzzles loc cr w return $ heldEffectMuzzles loc cr w
accessTerminal :: Int -> World -> World accessTerminal :: Int -> World -> World
accessTerminal tid w = fromMaybe w $ do -- should possibly check the terminal actually exists accessTerminal tid =
return $ (hud . hudElement . subInventory .~ DisplayTerminal tid)
w & hud . hudElement . subInventory .~ DisplayTerminal tid . (cWorld . lWorld . terminals . ix tid %~ tryToBoot)
& cWorld . lWorld . terminals . ix tid %~ tryToBoot
where where
tryToBoot tm = case _tmStatus tm of tryToBoot tm = case _tmStatus tm of
TerminalTextInput{} -> tm TerminalTextInput{} -> tm
@@ -98,17 +98,18 @@ doTmWdWd tmwdwd = case tmwdwd of
return $ cWorld . lWorld . terminals . ix tid . tmDisplayedLines .~ [] return $ cWorld . lWorld . terminals . ix tid . tmDisplayedLines .~ []
TmGetDamageCoding st -> \tm w -> fromMaybe w $ do TmGetDamageCoding st -> \tm w -> fromMaybe w $ do
tid <- tm ^? tmID tid <- tm ^? tmID
return $ w & cWorld . lWorld . terminals . ix tid . tmFutureLines return $
.~ decodeSensorType st w w & cWorld . lWorld . terminals . ix tid . tmFutureLines
.~ decodeSensorType st w
TmGetSensor s -> \tm w -> fromMaybe w $ do TmGetSensor s -> \tm w -> fromMaybe w $ do
tid <- tm ^? tmID tid <- tm ^? tmID
return $ w & cWorld . lWorld . terminals . ix tid . tmFutureLines .~ getSensorInfo w tm s return $ w & cWorld . lWorld . terminals . ix tid . tmFutureLines .~ getSensorInfo w tm s
TmTmSetStatus x -> \tm -> fromMaybe id $ do TmTmSetStatus x -> \tm -> fromMaybe id $ do
tid <- tm ^? tmID tid <- tm ^? tmID
return $ cWorld . lWorld . terminals . ix tid . tmStatus .~ x return $ cWorld . lWorld . terminals . ix tid . tmStatus .~ x
-- TmDisplayCommands -> \tm -> fromMaybe id $ do -- TmDisplayCommands -> \tm -> fromMaybe id $ do
-- tid <- tm ^? tmID -- tid <- tm ^? tmID
-- return $ cWorld . lWorld . terminals . ix tid %~ tabComplete "" -- return $ cWorld . lWorld . terminals . ix tid %~ tabComplete ""
--return $ cWorld . lWorld . terminals . ix tid . tmFutureLines .~ --return $ cWorld . lWorld . terminals . ix tid . tmFutureLines .~
-- makeColorTermPara commandColor -- makeColorTermPara commandColor
-- (unwords (map fst (PTE.toList $ getCommands tm))) -- (unwords (map fst (PTE.toList $ getCommands tm)))
@@ -124,11 +125,30 @@ doTmWdWd tmwdwd = case tmwdwd of
TmWdWdDoDeathTriggers -> doDeathTriggers TmWdWdDoDeathTriggers -> doDeathTriggers
TmWdWdfromWdWd f -> \_ -> doWdWd f TmWdWdfromWdWd f -> \_ -> doWdWd f
powerDownTerminal :: Terminal -> World -> World
powerDownTerminal tm =
(cWorld . lWorld . terminals . ix (_tmID tm) . tmStatus .~ TerminalOff)
. (cWorld . lWorld . terminals . ix (_tmID tm) . tmDisplayedLines .~ [])
. exitTerminalSubInv
deactivateTerminal :: Terminal -> World -> World
deactivateTerminal tm =
(cWorld . lWorld . terminals . ix (_tmID tm) . tmStatus .~ TerminalDeactivated)
. (cWorld . lWorld . terminals . ix (_tmID tm) . tmDisplayedLines .~ [])
. exitTerminalSubInv
exitTerminalSubInv :: World -> World
exitTerminalSubInv w = case w ^? hud . hudElement . subInventory . termID of
Just _ ->
w & hud . hudElement . subInventory
.~ NoSubInventory --MouseInvNothing
_ -> w
decodeSensorType :: SensorType -> World -> [TerminalLine] decodeSensorType :: SensorType -> World -> [TerminalLine]
decodeSensorType st w = fromMaybe [] $ do decodeSensorType st w = fromMaybe [] $ do
x <- w ^? cWorld . cwGen . cwgParams . sensorCoding . ix st x <- w ^? cWorld . cwGen . cwgParams . sensorCoding . ix st
return [makeTermLine $ show x] return [makeTermLine $ show x]
-- ugly, when changing check sensorCommand -- ugly, when changing check sensorCommand
getSensorInfo :: World -> Terminal -> String -> [TerminalLine] getSensorInfo :: World -> Terminal -> String -> [TerminalLine]
getSensorInfo w tm = \case getSensorInfo w tm = \case
+51 -50
View File
@@ -1385,8 +1385,9 @@ TmTmClearDisplayedLines src/Dodge/Data/Terminal.hs 97;" C
TmTmSetStatus src/Dodge/Data/Terminal.hs 98;" C TmTmSetStatus src/Dodge/Data/Terminal.hs 98;" C
TmWdId src/Dodge/Data/Terminal.hs 91;" C TmWdId src/Dodge/Data/Terminal.hs 91;" C
TmWdWd src/Dodge/Data/Terminal.hs 90;" t TmWdWd src/Dodge/Data/Terminal.hs 90;" t
TmWdWdDeactivateTerminal src/Dodge/Data/Terminal.hs 93;" C
TmWdWdDoDeathTriggers src/Dodge/Data/Terminal.hs 96;" C TmWdWdDoDeathTriggers src/Dodge/Data/Terminal.hs 96;" C
TmWdWdPowerDownTerminal src/Dodge/Data/Terminal.hs 93;" C TmWdWdPowerDownTerminal src/Dodge/Data/Terminal.hs 92;" C
TmWdWdTermSound src/Dodge/Data/Terminal.hs 95;" C TmWdWdTermSound src/Dodge/Data/Terminal.hs 95;" C
TmWdWdfromWdWd src/Dodge/Data/Terminal.hs 94;" C TmWdWdfromWdWd src/Dodge/Data/Terminal.hs 94;" C
ToContinueStart src/Sound/Data.hs 27;" C ToContinueStart src/Sound/Data.hs 27;" C
@@ -1626,7 +1627,7 @@ _btOn src/Dodge/Data/Button.hs 17;" f
_btOn src/Dodge/Data/Button.hs 26;" f _btOn src/Dodge/Data/Button.hs 26;" f
_btPos src/Dodge/Data/Button.hs 31;" f _btPos src/Dodge/Data/Button.hs 31;" f
_btRot src/Dodge/Data/Button.hs 32;" f _btRot src/Dodge/Data/Button.hs 32;" f
_btTermMID src/Dodge/Data/Button.hs 35;" f _btTermID src/Dodge/Data/Button.hs 28;" f
_buDam src/Dodge/Data/Bullet.hs 36;" f _buDam src/Dodge/Data/Bullet.hs 36;" f
_buDrag src/Dodge/Data/Bullet.hs 22;" f _buDrag src/Dodge/Data/Bullet.hs 22;" f
_buEffect src/Dodge/Data/Bullet.hs 19;" f _buEffect src/Dodge/Data/Bullet.hs 19;" f
@@ -2859,9 +2860,9 @@ centroid src/Geometry/Polygon.hs 136;" f
centroidNum src/Geometry/Polygon.hs 139;" f centroidNum src/Geometry/Polygon.hs 139;" f
chainCreatureUpdates src/Dodge/Creature/ChainUpdates.hs 6;" f chainCreatureUpdates src/Dodge/Creature/ChainUpdates.hs 6;" f
chainPairs src/Geometry.hs 363;" f chainPairs src/Geometry.hs 363;" f
changeSwapOther src/Dodge/Inventory.hs 149;" f changeSwapOther src/Dodge/Inventory.hs 151;" f
changeSwapSel src/Dodge/Inventory.hs 142;" f changeSwapSel src/Dodge/Inventory.hs 144;" f
changeSwapWith src/Dodge/Inventory.hs 183;" f changeSwapWith src/Dodge/Inventory.hs 185;" f
charToTuple src/Picture/Base.hs 317;" f charToTuple src/Picture/Base.hs 317;" f
charToTupleGrad src/Picture/Text.hs 18;" f charToTupleGrad src/Picture/Text.hs 18;" f
chartreuse src/Color.hs 24;" f chartreuse src/Color.hs 24;" f
@@ -2978,7 +2979,7 @@ combineList src/Dodge/Combine.hs 20;" f
combineRooms src/Dodge/Room/Procedural.hs 152;" f combineRooms src/Dodge/Room/Procedural.hs 152;" f
combineS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 480;" f combineS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 480;" f
combineTree src/Dodge/Tree/Compose.hs 66;" f combineTree src/Dodge/Tree/Compose.hs 66;" f
commandColor src/Dodge/Terminal.hs 187;" f commandColor src/Dodge/Terminal.hs 135;" f
commonPrefix src/Dodge/Debug/Terminal.hs 146;" f commonPrefix src/Dodge/Debug/Terminal.hs 146;" f
comp src/Quaternion.hs 65;" f comp src/Quaternion.hs 65;" f
compactDraw src/Dodge/LevelGen.hs 91;" f compactDraw src/Dodge/LevelGen.hs 91;" f
@@ -2992,8 +2993,8 @@ conEffects src/Dodge/Concurrent.hs 12;" f
conLDTToConDT src/Dodge/DoubleTree.hs 22;" f conLDTToConDT src/Dodge/DoubleTree.hs 22;" f
concurrentIS src/Dodge/Update/Input/InGame.hs 292;" f concurrentIS src/Dodge/Update/Input/InGame.hs 292;" f
connectItemS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 722;" f connectItemS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 722;" f
connectionBlurb src/Dodge/Terminal.hs 105;" f connectionBlurb src/Dodge/Terminal.hs 53;" f
connectionBlurbLines src/Dodge/Terminal.hs 50;" f connectionBlurbLines src/Dodge/Terminal.hs 45;" f
constructEdges src/Polyhedra.hs 34;" f constructEdges src/Polyhedra.hs 34;" f
constructEdgesList src/Polyhedra.hs 43;" f constructEdgesList src/Polyhedra.hs 43;" f
contToIDCont src/Dodge/LevelGen/PlacementHelper.hs 57;" f contToIDCont src/Dodge/LevelGen/PlacementHelper.hs 57;" f
@@ -3119,7 +3120,7 @@ dShadCol src/Dodge/Render/List.hs 215;" f
damMatSideEffect src/Dodge/Material/Damage.hs 13;" f damMatSideEffect src/Dodge/Material/Damage.hs 13;" f
damThingHitWith src/Dodge/Damage.hs 72;" f damThingHitWith src/Dodge/Damage.hs 72;" f
damToExpBarrel src/Dodge/Barreloid.hs 49;" f damToExpBarrel src/Dodge/Barreloid.hs 49;" f
damageCodeCommand src/Dodge/Terminal.hs 125;" f damageCodeCommand src/Dodge/Terminal.hs 73;" f
damageCrWl src/Dodge/Damage.hs 29;" f damageCrWl src/Dodge/Damage.hs 29;" f
damageCrWlID src/Dodge/Damage.hs 23;" f damageCrWlID src/Dodge/Damage.hs 23;" f
damageDirection src/Dodge/Damage.hs 35;" f damageDirection src/Dodge/Damage.hs 35;" f
@@ -3141,7 +3142,7 @@ dbArgChain src/Dodge/Base.hs 170;" f
dbwMuzzles src/Dodge/HeldUse.hs 314;" f dbwMuzzles src/Dodge/HeldUse.hs 314;" f
deZoneIX src/Dodge/Zoning/Base.hs 89;" f deZoneIX src/Dodge/Zoning/Base.hs 89;" f
deZoneWall src/Dodge/Zoning/Wall.hs 70;" f deZoneWall src/Dodge/Zoning/Wall.hs 70;" f
deactivateTerminal src/Dodge/Terminal.hs 288;" f deactivateTerminal src/Dodge/WorldEffect.hs 133;" f
deadEndRoom src/Dodge/Room/Room.hs 235;" f deadEndRoom src/Dodge/Room/Room.hs 235;" f
deadFeet src/Dodge/Creature/Picture.hs 66;" f deadFeet src/Dodge/Creature/Picture.hs 66;" f
deadRot src/Dodge/Creature/Picture.hs 82;" f deadRot src/Dodge/Creature/Picture.hs 82;" f
@@ -3161,7 +3162,7 @@ debugMenuOptions src/Dodge/Menu.hs 122;" f
debugOn src/Dodge/Data/Config.hs 151;" f debugOn src/Dodge/Data/Config.hs 151;" f
debugSelectCreatureList src/Dodge/Debug.hs 86;" f debugSelectCreatureList src/Dodge/Debug.hs 86;" f
debugSelectCreatureMessage src/Dodge/Debug.hs 77;" f debugSelectCreatureMessage src/Dodge/Debug.hs 77;" f
decodeSensorType src/Dodge/WorldEffect.hs 127;" f decodeSensorType src/Dodge/WorldEffect.hs 140;" 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
decoratedBlock src/Dodge/Placement/Instance/Block.hs 10;" f decoratedBlock src/Dodge/Placement/Instance/Block.hs 10;" f
@@ -3199,7 +3200,7 @@ defaultDirtWall src/Dodge/Default/Wall.hs 68;" f
defaultDisplayInventory src/Dodge/Default/World.hs 173;" f defaultDisplayInventory src/Dodge/Default/World.hs 173;" f
defaultDoor src/Dodge/Default/Door.hs 29;" f defaultDoor src/Dodge/Default/Door.hs 29;" f
defaultDoorWall src/Dodge/Default/Wall.hs 39;" f defaultDoorWall src/Dodge/Default/Wall.hs 39;" f
defaultDrawButton src/Dodge/Button/Draw.hs 30;" f defaultDrawButton src/Dodge/Button/Draw.hs 29;" f
defaultEquipment src/Dodge/Default.hs 24;" f defaultEquipment src/Dodge/Default.hs 24;" f
defaultFlIt src/Dodge/Default.hs 27;" f defaultFlIt src/Dodge/Default.hs 27;" f
defaultForeground src/Dodge/Default/ForegroundShape.hs 5;" f defaultForeground src/Dodge/Default/ForegroundShape.hs 5;" f
@@ -3297,8 +3298,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 41;" f doDamage src/Dodge/Creature/State.hs 41;" f
doDeathToggle src/Dodge/WorldEffect.hs 92;" f doDeathToggle src/Dodge/WorldEffect.hs 91;" f
doDeathTriggers src/Dodge/WorldEffect.hs 87;" f doDeathTriggers src/Dodge/WorldEffect.hs 86;" 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
@@ -3349,7 +3350,7 @@ 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 183;" f doThrust src/Dodge/Projectile/Update.hs 183;" f
doTimeScroll src/Dodge/Update.hs 208;" f doTimeScroll src/Dodge/Update.hs 208;" f
doTmWdWd src/Dodge/WorldEffect.hs 95;" f doTmWdWd src/Dodge/WorldEffect.hs 94;" f
doWallRotate src/Dodge/Update/Camera.hs 213;" f doWallRotate src/Dodge/Update/Camera.hs 213;" 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
@@ -3482,7 +3483,7 @@ drawShockwave src/Dodge/Shockwave/Draw.hs 6;" f
drawSpark src/Dodge/Spark/Draw.hs 7;" f drawSpark src/Dodge/Spark/Draw.hs 7;" f
drawStaticBall src/Dodge/EnergyBall/Draw.hs 28;" f drawStaticBall src/Dodge/EnergyBall/Draw.hs 28;" f
drawSubInventory src/Dodge/Render/HUD.hs 162;" f drawSubInventory src/Dodge/Render/HUD.hs 162;" f
drawSwitch src/Dodge/Button/Draw.hs 17;" f drawSwitch src/Dodge/Button/Draw.hs 16;" f
drawSwitchWire src/Dodge/LevelGen/Switch.hs 24;" f drawSwitchWire src/Dodge/LevelGen/Switch.hs 24;" f
drawTargetingAR src/Dodge/Targeting/Draw.hs 20;" f drawTargetingAR src/Dodge/Targeting/Draw.hs 20;" f
drawTerminalDisplay src/Dodge/Render/HUD.hs 364;" f drawTerminalDisplay src/Dodge/Render/HUD.hs 364;" f
@@ -3575,7 +3576,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 150;" f evaluateRandPS src/Dodge/Placement/PlaceSpot.hs 150;" f
evenOddSplit src/Dodge/Base.hs 160;" f evenOddSplit src/Dodge/Base.hs 160;" f
exitTerminalSubInv src/Dodge/Terminal.hs 295;" f exitTerminalSubInv src/Dodge/Terminal.hs 159;" 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
@@ -3712,8 +3713,8 @@ getAvailableListLines src/Dodge/SelectionList.hs 10;" f
getBulHitDams src/Dodge/Bullet.hs 169;" f getBulHitDams src/Dodge/Bullet.hs 169;" f
getBulletType src/Dodge/HeldUse.hs 943;" f getBulletType src/Dodge/HeldUse.hs 943;" f
getCloseObj src/Dodge/Update/Input/InGame.hs 540;" f getCloseObj src/Dodge/Update/Input/InGame.hs 540;" f
getCommand src/Dodge/Terminal.hs 117;" f getCommand src/Dodge/Terminal.hs 65;" f
getCommands src/Dodge/Terminal.hs 114;" f getCommands src/Dodge/Terminal.hs 62;" f
getCrMoveSpeed src/Dodge/Creature/Statistics.hs 45;" f getCrMoveSpeed src/Dodge/Creature/Statistics.hs 45;" f
getDistortions src/Dodge/Render.hs 435;" f getDistortions src/Dodge/Render.hs 435;" f
getEquipmentAllocation src/Dodge/Inventory/RBList.hs 47;" f getEquipmentAllocation src/Dodge/Inventory/RBList.hs 47;" f
@@ -3732,7 +3733,7 @@ getPretty src/AesonHelp.hs 8;" f
getPromptTM src/Dodge/Terminal/Type.hs 6;" f getPromptTM src/Dodge/Terminal/Type.hs 6;" f
getRootItemBounds src/Dodge/Render/HUD.hs 96;" f getRootItemBounds src/Dodge/Render/HUD.hs 96;" f
getSelectedCloseObj src/Dodge/SelectedClose.hs 14;" f getSelectedCloseObj src/Dodge/SelectedClose.hs 14;" f
getSensorInfo src/Dodge/WorldEffect.hs 133;" f getSensorInfo src/Dodge/WorldEffect.hs 146;" f
getSmoothScrollValue src/Dodge/SmoothScroll.hs 21;" f getSmoothScrollValue src/Dodge/SmoothScroll.hs 21;" f
getSplitString src/Dodge/Debug/Terminal.hs 126;" f getSplitString src/Dodge/Debug/Terminal.hs 126;" f
getTiles src/Dodge/Layout.hs 208;" f getTiles src/Dodge/Layout.hs 208;" f
@@ -3832,9 +3833,9 @@ heldItemWeight src/Dodge/Creature/Statistics.hs 72;" f
heldPositionInfo src/Dodge/Item/Info.hs 241;" f heldPositionInfo src/Dodge/Item/Info.hs 241;" f
heldTorqueAmount src/Dodge/HeldUse.hs 584;" f heldTorqueAmount src/Dodge/HeldUse.hs 584;" f
heldTriggerType src/Dodge/BaseTriggerType.hs 27;" f heldTriggerType src/Dodge/BaseTriggerType.hs 27;" f
helpCommand src/Dodge/Terminal.hs 160;" f helpCommand src/Dodge/Terminal.hs 108;" f
helpPoly3D src/Polyhedra.hs 125;" f helpPoly3D src/Polyhedra.hs 125;" f
helpStrings src/Dodge/Terminal.hs 163;" f helpStrings src/Dodge/Terminal.hs 111;" f
heron src/Geometry.hs 221;" f heron src/Geometry.hs 221;" f
hiToFloat src/Dodge/Room/Modify/Girder.hs 171;" f hiToFloat src/Dodge/Room/Modify/Girder.hs 171;" f
highBar src/Dodge/Room/Foreground.hs 89;" f highBar src/Dodge/Room/Foreground.hs 89;" f
@@ -3935,8 +3936,8 @@ invItemEffs src/Dodge/Creature/State.hs 61;" f
invItemLocUpdate src/Dodge/Creature/State.hs 69;" f invItemLocUpdate src/Dodge/Creature/State.hs 69;" f
invRootMap src/Dodge/Item/Grammar.hs 227;" f invRootMap src/Dodge/Item/Grammar.hs 227;" f
invSelectionItem src/Dodge/Inventory/SelectionList.hs 32;" f invSelectionItem src/Dodge/Inventory/SelectionList.hs 32;" f
invSetSelection src/Dodge/Inventory.hs 190;" f invSetSelection src/Dodge/Inventory.hs 192;" f
invSetSelectionPos src/Dodge/Inventory.hs 198;" f invSetSelectionPos src/Dodge/Inventory.hs 200;" f
invShiftPointBy src/Dodge/ShiftPoint.hs 8;" f invShiftPointBy src/Dodge/ShiftPoint.hs 8;" f
invSize src/Dodge/Inventory/CheckSlots.hs 30;" f invSize src/Dodge/Inventory/CheckSlots.hs 30;" f
inventoryX src/Dodge/Creature.hs 114;" f inventoryX src/Dodge/Creature.hs 114;" f
@@ -4095,7 +4096,7 @@ lineCol src/Picture/Base.hs 230;" f
lineGeom src/Dodge/Base.hs 32;" f lineGeom src/Dodge/Base.hs 32;" f
lineOnScreenCone src/Dodge/Debug/Picture.hs 60;" f lineOnScreenCone src/Dodge/Debug/Picture.hs 60;" f
lineOrth src/Dodge/Creature/Boid.hs 126;" f lineOrth src/Dodge/Creature/Boid.hs 126;" f
lineOutputTerminal src/Dodge/WorldEffect.hs 78;" f lineOutputTerminal src/Dodge/WorldEffect.hs 77;" f
lineSplit src/Justify.hs 26;" f lineSplit src/Justify.hs 26;" f
lineThick src/Picture/Base.hs 234;" f lineThick src/Picture/Base.hs 234;" f
lineUp src/Dodge/Creature/Boid.hs 148;" f lineUp src/Dodge/Creature/Boid.hs 148;" f
@@ -4183,8 +4184,8 @@ makeBullet src/Dodge/HeldUse.hs 1021;" f
makeButton src/Dodge/LevelGen/Switch.hs 16;" f makeButton src/Dodge/LevelGen/Switch.hs 16;" f
makeByteStringShaderUsingVAO src/Shader/Compile.hs 128;" f makeByteStringShaderUsingVAO src/Shader/Compile.hs 128;" f
makeCloudAt src/Dodge/WorldEvent/Cloud.hs 7;" f makeCloudAt src/Dodge/WorldEvent/Cloud.hs 7;" f
makeColorTermLine src/Dodge/Terminal.hs 184;" f makeColorTermLine src/Dodge/Terminal.hs 132;" f
makeColorTermPara src/Dodge/Terminal.hs 181;" f makeColorTermPara src/Dodge/Terminal.hs 129;" f
makeCorpse src/Dodge/Corpse/Make.hs 13;" f makeCorpse src/Dodge/Corpse/Make.hs 13;" f
makeDebris src/Dodge/Block/Debris.hs 45;" f makeDebris src/Dodge/Block/Debris.hs 45;" f
makeDebrisDirected src/Dodge/Block/Debris.hs 48;" f makeDebrisDirected src/Dodge/Block/Debris.hs 48;" f
@@ -4220,8 +4221,8 @@ makeSourcedShader src/Shader/Compile.hs 167;" f
makeSpark src/Dodge/Spark.hs 45;" f makeSpark src/Dodge/Spark.hs 45;" f
makeSubmenuOption src/Dodge/Menu/OptionType.hs 19;" f makeSubmenuOption src/Dodge/Menu/OptionType.hs 19;" f
makeSwitch src/Dodge/LevelGen/Switch.hs 38;" f makeSwitch src/Dodge/LevelGen/Switch.hs 38;" f
makeTermLine src/Dodge/Terminal.hs 172;" f makeTermLine src/Dodge/Terminal.hs 120;" f
makeTermPara src/Dodge/Terminal.hs 178;" f makeTermPara src/Dodge/Terminal.hs 126;" f
makeTeslaArc src/Dodge/Tesla.hs 29;" f makeTeslaArc src/Dodge/Tesla.hs 29;" f
makeTeslaExplosionAt src/Dodge/WorldEvent/Explosion.hs 40;" f makeTeslaExplosionAt src/Dodge/WorldEvent/Explosion.hs 40;" f
makeTileFromPoly src/Tile.hs 34;" f makeTileFromPoly src/Tile.hs 34;" f
@@ -4614,7 +4615,7 @@ positionRoomsFromTree src/Dodge/Tree/Shift.hs 35;" f
postGenerationProcessing src/Dodge/LevelGen.hs 33;" f postGenerationProcessing src/Dodge/LevelGen.hs 33;" f
postUniverseLoadSideEffect src/Dodge/WorldLoad.hs 11;" f postUniverseLoadSideEffect src/Dodge/WorldLoad.hs 11;" f
postWorldLoad src/Dodge/WorldLoad.hs 15;" f postWorldLoad src/Dodge/WorldLoad.hs 15;" f
powerDownTerminal src/Dodge/Terminal.hs 281;" f powerDownTerminal src/Dodge/WorldEffect.hs 127;" f
powerFakeout src/Dodge/Room/Start.hs 27;" f powerFakeout src/Dodge/Room/Start.hs 27;" f
powerFakeout' src/Dodge/Room/Start.hs 24;" f powerFakeout' src/Dodge/Room/Start.hs 24;" f
powerLegs src/Dodge/Item/Equipment.hs 85;" f powerLegs src/Dodge/Item/Equipment.hs 85;" f
@@ -4702,7 +4703,7 @@ qToV2 src/Quaternion.hs 56;" f
qToV3 src/Quaternion.hs 53;" f qToV3 src/Quaternion.hs 53;" f
quarterRoomSquare src/Dodge/Room/Procedural.hs 213;" f quarterRoomSquare src/Dodge/Room/Procedural.hs 213;" f
quarterRoomTri src/Dodge/Room/Procedural.hs 177;" f quarterRoomTri src/Dodge/Room/Procedural.hs 177;" f
quitCommand src/Dodge/Terminal.hs 169;" f quitCommand src/Dodge/Terminal.hs 117;" f
qz src/Quaternion.hs 71;" f qz src/Quaternion.hs 71;" f
rLauncher src/Dodge/Item/Held/Launcher.hs 14;" f rLauncher src/Dodge/Item/Held/Launcher.hs 14;" f
rLauncherX src/Dodge/Item/Held/Launcher.hs 30;" f rLauncherX src/Dodge/Item/Held/Launcher.hs 30;" f
@@ -4890,7 +4891,7 @@ rprShift src/Dodge/PlacementSpot.hs 102;" f
rsObjectColor src/Dodge/RadarSweep/Draw.hs 34;" f rsObjectColor src/Dodge/RadarSweep/Draw.hs 34;" f
runPastStart src/Dodge/Room/Start.hs 71;" f runPastStart src/Dodge/Room/Start.hs 71;" f
runStateWorld src/Dodge/Randify.hs 17;" f runStateWorld src/Dodge/Randify.hs 17;" f
runTerminalInput src/Dodge/Terminal.hs 356;" f runTerminalInput src/Dodge/Terminal.hs 220;" f
sPS src/Dodge/LevelGen/PlacementHelper.hs 27;" f sPS src/Dodge/LevelGen/PlacementHelper.hs 27;" f
safeAngleVV src/Geometry/Vector.hs 68;" f safeAngleVV src/Geometry/Vector.hs 68;" f
safeArgV src/Geometry/Vector.hs 87;" f safeArgV src/Geometry/Vector.hs 87;" f
@@ -4925,8 +4926,8 @@ screenPolygon src/Dodge/Base/Window.hs 17;" f
screenPolygonBord src/Dodge/Base/Window.hs 27;" f screenPolygonBord src/Dodge/Base/Window.hs 27;" f
screenPosAbs src/Dodge/ScreenPos.hs 15;" f screenPosAbs src/Dodge/ScreenPos.hs 15;" f
screenToWorldPos src/Dodge/Base/Coordinate.hs 51;" f screenToWorldPos src/Dodge/Base/Coordinate.hs 51;" f
scrollAugInvSel src/Dodge/Inventory.hs 209;" f scrollAugInvSel src/Dodge/Inventory.hs 211;" f
scrollAugNextInSection src/Dodge/Inventory.hs 222;" f scrollAugNextInSection src/Dodge/Inventory.hs 224;" f
scrollDebugInfoInt src/Dodge/Debug.hs 71;" f scrollDebugInfoInt src/Dodge/Debug.hs 71;" f
scrollRBOption src/Dodge/Update/Scroll.hs 216;" f scrollRBOption src/Dodge/Update/Scroll.hs 216;" f
scrollSelectionSections src/Dodge/SelectionSections.hs 26;" f scrollSelectionSections src/Dodge/SelectionSections.hs 26;" f
@@ -4960,7 +4961,7 @@ selectedItemScroll src/Dodge/Update/Scroll.hs 50;" f
sensAboveDoor src/Dodge/Room/SensorDoor.hs 63;" f sensAboveDoor src/Dodge/Room/SensorDoor.hs 63;" f
sensInsideDoor src/Dodge/Room/SensorDoor.hs 69;" f sensInsideDoor src/Dodge/Room/SensorDoor.hs 69;" f
senseDamage src/Dodge/Machine/Update.hs 160;" f senseDamage src/Dodge/Machine/Update.hs 160;" f
sensorCommand src/Dodge/Terminal.hs 138;" f sensorCommand src/Dodge/Terminal.hs 86;" f
sensorRoom src/Dodge/Room/SensorDoor.hs 27;" f sensorRoom src/Dodge/Room/SensorDoor.hs 27;" f
sensorRoomRunPast src/Dodge/Room/SensorDoor.hs 48;" f sensorRoomRunPast src/Dodge/Room/SensorDoor.hs 48;" f
sensorSPic src/Dodge/Machine/Draw.hs 70;" f sensorSPic src/Dodge/Machine/Draw.hs 70;" f
@@ -5085,9 +5086,9 @@ showEquipItem src/Dodge/Item/Display.hs 107;" f
showInt src/Dodge/Item/Info.hs 75;" f showInt src/Dodge/Item/Info.hs 75;" f
showIntsString src/Dodge/Tree/Compose.hs 129;" f showIntsString src/Dodge/Tree/Compose.hs 129;" f
showInventoryPathing src/Dodge/Item/Display.hs 86;" f showInventoryPathing src/Dodge/Item/Display.hs 86;" f
showManObj src/Dodge/TestString.hs 65;" f showManObj src/Dodge/TestString.hs 64;" f
showTerminalError src/Dodge/Debug/Terminal.hs 78;" f showTerminalError src/Dodge/Debug/Terminal.hs 78;" f
showTimeFlow src/Dodge/TestString.hs 88;" f showTimeFlow src/Dodge/TestString.hs 87;" f
shrinkPolyOnEdges src/Geometry/Polygon.hs 142;" f shrinkPolyOnEdges src/Geometry/Polygon.hs 142;" f
shrinkVert src/Geometry/Polygon.hs 146;" f shrinkVert src/Geometry/Polygon.hs 146;" f
shuffle src/RandomHelp.hs 49;" f shuffle src/RandomHelp.hs 49;" f
@@ -5096,7 +5097,7 @@ shuffleRoomPos src/Dodge/Layout.hs 78;" f
shuffleTail src/RandomHelp.hs 59;" f shuffleTail src/RandomHelp.hs 59;" f
sigmoid src/Dodge/Base.hs 151;" f sigmoid src/Dodge/Base.hs 151;" f
simpleCrSprings src/Dodge/Update.hs 892;" f simpleCrSprings src/Dodge/Update.hs 892;" f
simpleTermMessage src/Dodge/Terminal.hs 323;" f simpleTermMessage src/Dodge/Terminal.hs 187;" f
sineRaisePitchOneSecS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 680;" f sineRaisePitchOneSecS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 680;" f
sineRaisePitchTwoSecS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 472;" f sineRaisePitchTwoSecS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 472;" f
singleAmmo src/Dodge/Item/AmmoSlots.hs 62;" f singleAmmo src/Dodge/Item/AmmoSlots.hs 62;" f
@@ -5235,7 +5236,7 @@ swapAnyExtraSelection src/Dodge/Inventory/Swap.hs 55;" f
swapInOutLinks src/Dodge/RoomLink.hs 80;" f swapInOutLinks src/Dodge/RoomLink.hs 80;" f
swapIndices src/ListHelp.hs 50;" f swapIndices src/ListHelp.hs 50;" f
swapInvItems src/Dodge/Inventory/Swap.hs 20;" f swapInvItems src/Dodge/Inventory/Swap.hs 20;" f
swapItemWith src/Dodge/Inventory.hs 172;" f swapItemWith src/Dodge/Inventory.hs 174;" f
swarmCrit src/Dodge/Creature/SwarmCrit.hs 10;" f swarmCrit src/Dodge/Creature/SwarmCrit.hs 10;" f
swarmUsingCenter src/Dodge/Creature/Boid.hs 172;" f swarmUsingCenter src/Dodge/Creature/Boid.hs 172;" f
switchDoor src/Dodge/Placement/Instance/Door.hs 96;" f switchDoor src/Dodge/Placement/Instance/Door.hs 96;" f
@@ -5244,7 +5245,7 @@ t src/ShortShow.hs 33;" f
tEast src/Dodge/Room/Corridor.hs 90;" f tEast src/Dodge/Room/Corridor.hs 90;" f
tToBTree src/Dodge/Tree/Compose.hs 92;" f tToBTree src/Dodge/Tree/Compose.hs 92;" f
tWest src/Dodge/Room/Corridor.hs 115;" f tWest src/Dodge/Room/Corridor.hs 115;" f
tabComplete src/Dodge/Terminal.hs 191;" f tabComplete src/Dodge/Terminal.hs 139;" f
takeN src/RandomHelp.hs 44;" f takeN src/RandomHelp.hs 44;" f
takeNMore src/RandomHelp.hs 41;" f takeNMore src/RandomHelp.hs 41;" f
takeOne src/RandomHelp.hs 22;" f takeOne src/RandomHelp.hs 22;" f
@@ -5273,10 +5274,10 @@ telRoomLev src/Dodge/Room/Teleport.hs 14;" f
teleS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 528;" f teleS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 528;" f
termButton src/Dodge/Placement/Instance/Terminal.hs 51;" f termButton src/Dodge/Placement/Instance/Terminal.hs 51;" f
termScreenColor src/Dodge/Terminal/Color.hs 10;" f termScreenColor src/Dodge/Terminal/Color.hs 10;" f
termSoundLine src/Dodge/Terminal.hs 108;" f termSoundLine src/Dodge/Terminal.hs 56;" f
termTextColor src/Dodge/Terminal.hs 111;" f termTextColor src/Dodge/Terminal.hs 59;" f
terminalColor src/Dodge/Placement/Instance/Terminal.hs 61;" f terminalColor src/Dodge/Placement/Instance/Terminal.hs 60;" f
terminalReturnEffect src/Dodge/Terminal.hs 346;" f terminalReturnEffect src/Dodge/Terminal.hs 210;" f
terminalSPic src/Dodge/Machine/Draw.hs 29;" f terminalSPic src/Dodge/Machine/Draw.hs 29;" f
terminalScreenGlow src/Dodge/Machine/Update.hs 35;" f terminalScreenGlow src/Dodge/Machine/Update.hs 35;" f
terminalShape src/Dodge/Machine/Draw.hs 32;" f terminalShape src/Dodge/Machine/Draw.hs 32;" f
@@ -5295,7 +5296,7 @@ textJustifyCenter src/Picture/Base.hs 212;" f
textJustifyLeft src/Picture/Base.hs 208;" f textJustifyLeft src/Picture/Base.hs 208;" f
textJustifyRight src/Picture/Base.hs 198;" f textJustifyRight src/Picture/Base.hs 198;" f
textRight src/Picture/Base.hs 203;" f textRight src/Picture/Base.hs 203;" f
textTerminal src/Dodge/Terminal.hs 44;" f textTerminal src/Dodge/Terminal.hs 42;" f
textVMirror src/Picture/Base.hs 216;" f textVMirror src/Picture/Base.hs 216;" f
tflat2 src/Picture/Data.hs 60;" f tflat2 src/Picture/Data.hs 60;" f
tflat3 src/Picture/Data.hs 64;" f tflat3 src/Picture/Data.hs 64;" f
@@ -5330,7 +5331,7 @@ tingS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 574;" f
tinitusS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 566;" f tinitusS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 566;" f
titleOptionsMenu src/Dodge/Menu.hs 102;" f titleOptionsMenu src/Dodge/Menu.hs 102;" f
titleOptionsNoWrite src/Dodge/Menu.hs 105;" f titleOptionsNoWrite src/Dodge/Menu.hs 105;" f
tlSetStatus src/Dodge/Terminal.hs 175;" f tlSetStatus src/Dodge/Terminal.hs 123;" f
tmUpdate src/Dodge/Update.hs 500;" f tmUpdate src/Dodge/Update.hs 500;" f
toBinary src/Dodge/Inventory/SelectionList.hs 138;" f toBinary src/Dodge/Inventory/SelectionList.hs 138;" f
toBothLnk src/Dodge/RoomLink.hs 121;" f toBothLnk src/Dodge/RoomLink.hs 121;" f
@@ -5345,7 +5346,7 @@ toV2 src/Geometry/Data.hs 54;" f
toV3 src/Geometry/Data.hs 57;" f toV3 src/Geometry/Data.hs 57;" f
toV4 src/Geometry/Data.hs 60;" f toV4 src/Geometry/Data.hs 60;" f
toggleCombineInv src/Dodge/DisplayInventory.hs 317;" f toggleCombineInv src/Dodge/DisplayInventory.hs 317;" f
toggleCommand src/Dodge/Terminal.hs 147;" f toggleCommand src/Dodge/Terminal.hs 95;" f
toggleEquipmentAt src/Dodge/Creature/Impulse/UseItem.hs 65;" f toggleEquipmentAt src/Dodge/Creature/Impulse/UseItem.hs 65;" f
toggleExamineInv src/Dodge/Creature/Impulse/UseItem.hs 103;" f toggleExamineInv src/Dodge/Creature/Impulse/UseItem.hs 103;" f
toggleJust src/MaybeHelp.hs 41;" f toggleJust src/MaybeHelp.hs 41;" f
@@ -5357,11 +5358,11 @@ tone440sawtoothquietS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 448;" f
topInvW src/Dodge/ListDisplayParams.hs 51;" f topInvW src/Dodge/ListDisplayParams.hs 51;" f
topPrismEdgeIndices src/Shader/Poke.hs 335;" f topPrismEdgeIndices src/Shader/Poke.hs 335;" f
topPrismIndices src/Shader/Poke.hs 410;" f topPrismIndices src/Shader/Poke.hs 410;" f
topTestPart src/Dodge/TestString.hs 61;" f topTestPart src/Dodge/TestString.hs 60;" 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 579;" f torqueAmount src/Dodge/HeldUse.hs 579;" f
torqueCr src/Dodge/WorldEffect.hs 71;" f torqueCr src/Dodge/WorldEffect.hs 70;" f
torso src/Dodge/Creature/Picture.hs 100;" f torso src/Dodge/Creature/Picture.hs 100;" f
tractCr src/Dodge/TractorBeam/Update.hs 28;" f tractCr src/Dodge/TractorBeam/Update.hs 28;" f
tractFlIt src/Dodge/TractorBeam/Update.hs 23;" f tractFlIt src/Dodge/TractorBeam/Update.hs 23;" f
@@ -5480,7 +5481,7 @@ updateBulVel src/Dodge/Bullet.hs 55;" f
updateBullet src/Dodge/Bullet.hs 20;" f updateBullet src/Dodge/Bullet.hs 20;" f
updateBullets src/Dodge/Update.hs 591;" f updateBullets src/Dodge/Update.hs 591;" f
updateCamera src/Dodge/Update/Camera.hs 30;" f updateCamera src/Dodge/Update/Camera.hs 30;" f
updateCloseObjects src/Dodge/Inventory.hs 121;" f updateCloseObjects src/Dodge/Inventory.hs 120;" f
updateCloud src/Dodge/Update.hs 829;" f updateCloud src/Dodge/Update.hs 829;" f
updateClouds src/Dodge/Update.hs 697;" f updateClouds src/Dodge/Update.hs 697;" f
updateCombinePositioning src/Dodge/DisplayInventory.hs 37;" f updateCombinePositioning src/Dodge/DisplayInventory.hs 37;" f