Partial rethink of terminal text input

This commit is contained in:
2025-08-14 21:48:02 +01:00
parent 5b720cb82c
commit 91d19e7c42
12 changed files with 142 additions and 167 deletions
+1 -1
View File
File diff suppressed because one or more lines are too long
+5 -12
View File
@@ -13,32 +13,25 @@ import qualified Data.Map.Strict as M
import Dodge.Data.WorldEffect
import Dodge.Data.BlBl
data TerminalStatus = TerminalOff | TerminalBusy | TerminalReady
data TerminalStatus = TerminalOff | TerminalBusy | TerminalTextInput {_tiText :: String}
-- | TerminalArgumentInput TerminalCommand
deriving Eq
--deriving (Eq, Ord, Show, Read) --Generic, Flat)
data TerminalInput = TerminalInput
{ _tiText :: String
, _tiSel :: (Int, Int)
{ --_tiText :: String
_tiSel :: (Int, Int)
}
--deriving (Eq, Ord, Show, Read) --Generic, Flat)
data TerminalBootProgram
= TerminalBootMempty
| TerminalBootLines [TerminalLine]
--deriving (Eq, Show, Read) --, Generic)
--h--deriving (Eq, Show, Read) --Generic, Flat)
data Terminal = Terminal
{ _tmID :: Int
, _tmBootLines :: [TerminalLine]
, _tmButtonID :: Int
, _tmMachineID :: Int
, _tmName :: String
, _tmExternalColor :: Color
, _tmDisplayedLines :: [(String, Color)]
, _tmFutureLines :: [TerminalLine]
, _tmTitle :: String
, _tmInput :: TerminalInput
, _tmScrollCommands :: [TerminalCommand]
, _tmWriteCommands :: [TerminalCommand]
@@ -124,13 +117,13 @@ makeLenses ''TerminalLine
makeLenses ''TerminalToggle
makeLenses ''EffectArguments
makeLenses ''TerminalCommand
makeLenses ''TerminalStatus
concat <$> mapM (deriveJSON defaultOptions)
[ ''TerminalStatus
, ''TerminalInput
, ''TerminalLineString
, ''TmTm
, ''TerminalLine
, ''TerminalBootProgram
, ''TerminalToggle
, ''EffectArguments
, ''TerminalCommandEffect
+2 -4
View File
@@ -13,10 +13,8 @@ defaultTerminal =
, _tmBootLines = []
, _tmButtonID = 0
, _tmMachineID = 0
, _tmName = "TESTTERMINAL"
, _tmDisplayedLines = []
, _tmFutureLines = []
, _tmTitle = "TERMINAL IN LOCATION"
, _tmInput = defaultTerminalInput
, _tmScrollCommands = []
, _tmWriteCommands = []
@@ -31,6 +29,6 @@ defaultTerminal =
defaultTerminalInput :: TerminalInput
defaultTerminalInput =
TerminalInput
{ _tiText = ""
, _tiSel = (0, 0)
{ -- _tiText = ""
_tiSel = (0, 0)
}
+2 -2
View File
@@ -27,8 +27,8 @@ textInputFocus w = case w ^? hud . hudElement . subInventory of
_ -> Nothing
Just DisplayTerminal{_termID = tmid} -> do
connectionstatus <- w ^? cWorld . lWorld . terminals . ix tmid . tmStatus
guard $ connectionstatus == TerminalReady
return $ cWorld . lWorld . terminals . ix tmid . tmInput . tiText
-- guard $ connectionstatus == TerminalTextInput
return $ cWorld . lWorld . terminals . ix tmid . tmStatus . tiText
_ -> Nothing
where
he = w ^. hud . hudElement
+10 -7
View File
@@ -365,7 +365,7 @@ drawTerminalDisplay tid cfig w = fromMaybe mempty $ do
tm <- w ^? terminals . ix tid
let tsize = getMaxLinesTM + 1
return $
invHead cfig (_tmTitle tm ++ ":T" ++ show tid)
invHead cfig ("T-" ++ show tid)
<> drawSelectionList secondColumnParams cfig (thesellist tm)
<> color
(withAlpha 0.5 green) -- consider integrating termScreenColor somehow
@@ -380,13 +380,16 @@ drawTerminalDisplay tid cfig w = fromMaybe mempty $ do
. reverse
. take getMaxLinesTM
$ _tmDisplayedLines tm
displayTermInput tm = case _tmInput tm of
TerminalInput{_tiText = s} ->
(++ [(displayInputText tm s ++ [cFilledRect], white)])
displayTermInput tm = case _tmStatus tm of
TerminalOff -> id
TerminalBusy -> (++ [([cFilledRect], white)])
TerminalTextInput s ->
(++ [(getPromptTM ++ s ++ [cFilledRect], white)])
partcommand tm = maybe "" (++ " ") $ tm ^? tmPartialCommand . _Just . tcString
displayInputText tm s
| _tmStatus tm == TerminalReady = partcommand tm ++ getPromptTM ++ s
| otherwise = ""
-- displayInputText tm s
-- | TerminalTextInput <- _tmStatus tm = getPromptTM ++ s
---- | _tmStatus tm == TerminalReady = partcommand tm ++ getPromptTM ++ s
-- | otherwise = ""
-- | hasfoc = clockCycle 10 (V.fromList [[cFilledRect] , "."]) w
+9 -16
View File
@@ -18,7 +18,7 @@ module Dodge.Terminal (
) where
import Color
import Control.Monad
--import Control.Monad
import Data.Char
import Data.Foldable
import qualified Data.Map.Strict as M
@@ -37,7 +37,7 @@ basicTerminal =
defaultTerminal
{ _tmDisplayedLines = []
, _tmFutureLines = []
, _tmTitle = "TERMINAL"
-- , _tmTitle = "TERMINAL"
, _tmScrollCommands = [quitCommand]
, _tmWriteCommands = [helpCommand, commandsCommand]
, _tmBootLines = connectionBlurb
@@ -47,12 +47,11 @@ basicTerminal =
connectionBlurbLines :: [TerminalLine] -> [TerminalLine]
connectionBlurbLines tls =
[ termSoundLine computerBeepingS
, TerminalLineDisplay 0 (TerminalLineConst "Connecting" termTextColor)
, TerminalLineDisplay 10 (TerminalLineConst "..." termTextColor)
, TerminalLineDisplay 10 (TerminalLineConst "Connected" termTextColor)
, TerminalLineDisplay 0 (TerminalLineConst "LOADING TEXT INTERFACE..." termTextColor)
]
++ tls
++ [TerminalLineTerminalEffect 0 (TmTmSetStatus TerminalReady)]
++ [ TerminalLineDisplay 10 (TerminalLineConst "READY FOR INPUT" termTextColor)]
++ [TerminalLineTerminalEffect 0 (TmTmSetStatus (TerminalTextInput ""))]
quitCommand :: TerminalCommand
quitCommand =
@@ -100,13 +99,7 @@ commandsCommand =
}
connectionBlurb :: [TerminalLine]
connectionBlurb =
[ termSoundLine computerBeepingS
, TerminalLineDisplay 0 (TerminalLineConst "Connecting" termTextColor)
, TerminalLineDisplay 10 (TerminalLineConst "..." termTextColor)
, TerminalLineDisplay 10 (TerminalLineConst "Connected" termTextColor)
, TerminalLineTerminalEffect 0 (TmTmSetStatus TerminalReady)
]
connectionBlurb = connectionBlurbLines []
termSoundLine :: SoundID -> TerminalLine
termSoundLine sid = TerminalLineEffect 0 (TmWdWdTermSound sid)
@@ -276,8 +269,8 @@ commandFutureLines s tm w = fromMaybe [errline "^ Invalid command"] $ do
terminalReturnEffect :: Int -> World -> World
terminalReturnEffect tmid w = fromMaybe w $ do
tm <- w ^? cWorld . lWorld . terminals. ix tmid
guard $ _tmStatus tm == TerminalReady
s <- tm ^? tmInput . tiText
-- guard $ _tmStatus tm == TerminalTextInput
s <- tm ^? tmStatus . tiText
let pc = maybe "" (++ " ") $ tm ^? tmPartialCommand . _Just . tcString
return $
runTerminalString (pc ++ s) tm $
@@ -289,7 +282,7 @@ terminalReturnEffect tmid w = fromMaybe w $ do
runTerminalString :: String -> Terminal -> World -> World
runTerminalString s tm w =
w & cWorld . lWorld . terminals . ix (_tmID tm)
%~ ( (tmInput .~ TerminalInput{_tiText = mempty, _tiSel = (0, 0)})
%~ ( (tmInput .~ TerminalInput{ _tiSel = (0, 0)})
. (tmFutureLines ++.~ commandFutureLines s tm w)
. (tmCommandHistory %~ take 10 . (s :))
)
+1 -1
View File
@@ -9,5 +9,5 @@ import Control.Lens
termScreenColor :: Terminal -> Maybe Color
termScreenColor tm = case tm ^. tmStatus of
TerminalOff -> Nothing
TerminalReady -> Just green
TerminalTextInput _ -> Just green
TerminalBusy -> Just white
+2 -2
View File
@@ -399,8 +399,8 @@ updateMouseContextGame cfig u = case u ^. uvWorld . input . mouseContext of
return $
if isOverTerminalScreen cfig mpos
then fromMaybe NoMouseContext $ do
let s = tm ^. tmInput . tiText
guard $ not (null s) && _tmStatus tm == TerminalReady
let s = tm ^. tmStatus . tiText
guard $ not (null s) -- && _tmStatus tm == TerminalTextInput
return $ OverTerminalReturn tmid
else OverTerminalEscape
+1 -1
View File
@@ -383,7 +383,7 @@ updateKeysInTerminal :: Int -> Universe -> Universe
updateKeysInTerminal tmid u =
u
& doTextInputOverUniverse
(uvWorld . cWorld . lWorld . terminals . ix tmid . tmInput . tiText)
(uvWorld . cWorld . lWorld . terminals . ix tmid . tmStatus . tiText)
& checkEndStatus
where
checkEndStatus
+3 -3
View File
@@ -124,9 +124,9 @@ moveCombineSel yi =
terminalWheelEvent :: Int -> Int -> World -> World
terminalWheelEvent yi tmid w
| w & has (input . mouseButtons . ix ButtonRight)
, Just TerminalReady <- w ^? cWorld . lWorld . terminals . ix tmid . tmStatus =
, Just TerminalTextInput{} <- w ^? cWorld . lWorld . terminals . ix tmid . tmStatus =
w & cWorld . lWorld . terminals . ix tmid %~ updatetermsubsel
| Just TerminalReady <- w ^? cWorld . lWorld . terminals . ix tmid . tmStatus =
| Just TerminalTextInput{} <- w ^? cWorld . lWorld . terminals . ix tmid . tmStatus =
w & cWorld . lWorld . terminals . ix tmid %~ updatetermsel
| otherwise = w
where
@@ -143,7 +143,7 @@ terminalWheelEvent yi tmid w
setInput i j tm =
tm
& tmInput . tiSel .~ (i, j)
& tmInput . tiText .~ comstr ++ arg
& tmStatus . tiText .~ comstr ++ arg
where
comstr = scrollCommandStrings w tm !! i
tc = scrollCommands tm !! i
+2 -7
View File
@@ -57,7 +57,7 @@ accessTerminal mtmid w = fromMaybe w $ do
& cWorld . lWorld . terminals . ix tmid %~ tryToBoot
where
tryToBoot tm = case _tmStatus tm of
TerminalReady -> tm
TerminalTextInput {} -> tm
TerminalBusy -> tm
TerminalOff ->
tm
@@ -76,7 +76,7 @@ lineOutputTerminal tls =
defaultTerminal
{ _tmDisplayedLines = []
, _tmFutureLines = []
, _tmTitle = "TERMINAL"
-- , _tmTitle = "TERMINAL"
, _tmScrollCommands = [quitCommand]
, _tmWriteCommands = [helpCommand, commandsCommand]
, _tmBootLines = connectionBlurbLines tls
@@ -91,11 +91,6 @@ doDeathTriggers tm = cWorld . lWorld . triggers %~ flip (foldl' $ flip doDeathTo
doDeathToggle :: TerminalToggle -> IM.IntMap Bool -> IM.IntMap Bool
doDeathToggle (TerminalToggle trid f) = ix trid %~ doBlBl f
--doTerminalBootProgram :: TerminalBootProgram -> Terminal -> World -> [TerminalLine]
--doTerminalBootProgram tbp = case tbp of
-- TerminalBootMempty -> \_ _ -> []
-- TerminalBootLines ls -> \_ _ -> ls
doTmWdWd :: TmWdWd -> Terminal -> World -> World
doTmWdWd tmwdwd = case tmwdwd of
TmWdId -> const id
+104 -111
View File
@@ -17,7 +17,7 @@
<$> src/Dodge/Data/Camera.hs 39;" o
<$> src/Dodge/Data/Creature.hs 80;" o
<$> src/Dodge/Data/LWorld.hs 184;" o
<$> src/Dodge/Data/Terminal.hs 127;" o
<$> src/Dodge/Data/Terminal.hs 121;" o
ABSOLUTE src/Dodge/Data/Item/Combine.hs 40;" C
AIUNIT src/Dodge/Data/Item/Combine.hs 75;" C
ALTERIFLE src/Dodge/Data/Item/Combine.hs 155;" C
@@ -337,7 +337,7 @@ DefaultCrGroupUpdate src/Dodge/Data/CrGroupParams.hs 22;" C
DefaultForceField src/Dodge/Data/Item/Use/Consumption/Ammo.hs 11;" C
DefaultLightSourceDraw src/Dodge/Data/LightSource.hs 13;" C
DefaultRoomType src/Dodge/Data/Room.hs 31;" C
DefaultTerminal src/Dodge/Data/Terminal.hs 55;" C
DefaultTerminal src/Dodge/Data/Terminal.hs 48;" C
DestroyBeing src/Dodge/Data/Scenario.hs 8;" C
DestroyBullet src/Dodge/Data/Bullet.hs 29;" C
DestroyItem src/Dodge/Data/Scenario.hs 7;" C
@@ -393,7 +393,7 @@ Ears src/Dodge/Data/Creature/Perception.hs 47;" C
East src/Dodge/Data/CardinalPoint.hs 5;" C
East8 src/Dodge/Data/CardinalPoint.hs 13;" C
EdgeObstacle src/Dodge/Data/PathGraph.hs 48;" t
EffectArguments src/Dodge/Data/Terminal.hs 90;" t
EffectArguments src/Dodge/Data/Terminal.hs 83;" t
EighthRes src/Dodge/Data/Config.hs 97;" C
Eldritch src/Dodge/Data/Scenario.hs 34;" C
ElectricSensor src/Dodge/Data/Machine/Sensor/Type.hs 12;" C
@@ -847,7 +847,7 @@ NewIntMap src/NewInt.hs 18;" t
NewSideEffect src/Dodge/Data/Universe.hs 65;" C
NoAction src/Dodge/Data/ActionPlan.hs 152;" C
NoAmmoRequired src/Dodge/Data/Muzzle.hs 25;" C
NoArguments src/Dodge/Data/Terminal.hs 91;" C
NoArguments src/Dodge/Data/Terminal.hs 84;" C
NoBeamCombine src/Dodge/Data/Beam.hs 43;" C
NoConcurrentEffect src/Loop/Data.hs 7;" C
NoCrImp src/Dodge/Data/CreatureEffect.hs 24;" C
@@ -947,7 +947,7 @@ OnRightWrist src/Dodge/Data/Equipment/Misc.hs 26;" C
OnSpecial src/Dodge/Data/Equipment/Misc.hs 28;" C
OnTurret src/Dodge/Data/Item/Location.hs 37;" C
OnceSound src/Dodge/Data/SoundOrigin.hs 16;" C
OneArgument src/Dodge/Data/Terminal.hs 92;" C
OneArgument src/Dodge/Data/Terminal.hs 85;" C
OneHand src/Dodge/Data/AimStance.hs 9;" C
OnwardCluster src/Dodge/Data/RoomCluster.hs 14;" C
OnwardList src/Dodge/Annotation/Data.hs 16;" C
@@ -1340,35 +1340,32 @@ TargetingLaser src/Dodge/Data/Laser.hs 18;" C
TargetingType src/Dodge/Data/Item/Targeting.hs 11;" t
TeleSound src/Dodge/Data/SoundOrigin.hs 36;" C
TermSignal src/Dodge/Data/Input.hs 54;" t
Terminal src/Dodge/Data/Terminal.hs 32;" t
TerminalBootLines src/Dodge/Data/Terminal.hs 28;" C
TerminalBootMempty src/Dodge/Data/Terminal.hs 27;" C
TerminalBootProgram src/Dodge/Data/Terminal.hs 26;" t
Terminal src/Dodge/Data/Terminal.hs 27;" t
TerminalBusy src/Dodge/Data/Terminal.hs 16;" C
TerminalCommand src/Dodge/Data/Terminal.hs 112;" t
TerminalCommandArguments src/Dodge/Data/Terminal.hs 100;" C
TerminalCommandEffect src/Dodge/Data/Terminal.hs 99;" t
TerminalCommandEffectCommands src/Dodge/Data/Terminal.hs 106;" C
TerminalCommandEffectDamageCoding src/Dodge/Data/Terminal.hs 101;" C
TerminalCommandEffectHelp src/Dodge/Data/Terminal.hs 104;" C
TerminalCommandEffectLinkedObject src/Dodge/Data/Terminal.hs 103;" C
TerminalCommandEffectNoArgumentsStr src/Dodge/Data/Terminal.hs 105;" C
TerminalCommandEffectNone src/Dodge/Data/Terminal.hs 108;" C
TerminalCommandEffectSensorParameter src/Dodge/Data/Terminal.hs 102;" C
TerminalCommandEffectSingleCommand src/Dodge/Data/Terminal.hs 107;" C
TerminalInput src/Dodge/Data/Terminal.hs 20;" t
TerminalLine src/Dodge/Data/Terminal.hs 67;" t
TerminalLineConst src/Dodge/Data/Terminal.hs 57;" C
TerminalLineDisplay src/Dodge/Data/Terminal.hs 68;" C
TerminalLineEffect src/Dodge/Data/Terminal.hs 76;" C
TerminalLineString src/Dodge/Data/Terminal.hs 57;" t
TerminalLineTerminalEffect src/Dodge/Data/Terminal.hs 72;" C
TerminalCommand src/Dodge/Data/Terminal.hs 105;" t
TerminalCommandArguments src/Dodge/Data/Terminal.hs 93;" C
TerminalCommandEffect src/Dodge/Data/Terminal.hs 92;" t
TerminalCommandEffectCommands src/Dodge/Data/Terminal.hs 99;" C
TerminalCommandEffectDamageCoding src/Dodge/Data/Terminal.hs 94;" C
TerminalCommandEffectHelp src/Dodge/Data/Terminal.hs 97;" C
TerminalCommandEffectLinkedObject src/Dodge/Data/Terminal.hs 96;" C
TerminalCommandEffectNoArgumentsStr src/Dodge/Data/Terminal.hs 98;" C
TerminalCommandEffectNone src/Dodge/Data/Terminal.hs 101;" C
TerminalCommandEffectSensorParameter src/Dodge/Data/Terminal.hs 95;" C
TerminalCommandEffectSingleCommand src/Dodge/Data/Terminal.hs 100;" C
TerminalInput src/Dodge/Data/Terminal.hs 21;" t
TerminalLine src/Dodge/Data/Terminal.hs 60;" t
TerminalLineConst src/Dodge/Data/Terminal.hs 50;" C
TerminalLineDisplay src/Dodge/Data/Terminal.hs 61;" C
TerminalLineEffect src/Dodge/Data/Terminal.hs 69;" C
TerminalLineString src/Dodge/Data/Terminal.hs 50;" t
TerminalLineTerminalEffect src/Dodge/Data/Terminal.hs 65;" C
TerminalOff src/Dodge/Data/Terminal.hs 16;" C
TerminalReady src/Dodge/Data/Terminal.hs 16;" C
TerminalSound src/Dodge/Data/SoundOrigin.hs 24;" C
TerminalStatus src/Dodge/Data/Terminal.hs 16;" t
TerminalToggle src/Dodge/Data/Terminal.hs 83;" t
TerminalType src/Dodge/Data/Terminal.hs 55;" t
TerminalTextInput src/Dodge/Data/Terminal.hs 16;" C
TerminalToggle src/Dodge/Data/Terminal.hs 76;" t
TerminalType src/Dodge/Data/Terminal.hs 48;" t
Terrestrial src/Dodge/Data/Scenario.hs 72;" C
TerrestrialBiome src/Dodge/Data/Scenario.hs 76;" t
TeslaArc src/Dodge/Data/TeslaArc.hs 17;" t
@@ -1380,11 +1377,11 @@ Tile src/Data/Tile.hs 16;" t
Tiled src/Data/Tile.hs 14;" C
TimeFlowStatus src/Dodge/Data/World.hs 58;" t
Tiny src/Shape/Data.hs 32;" C
TmId src/Dodge/Data/Terminal.hs 61;" C
TmTm src/Dodge/Data/Terminal.hs 60;" t
TmTmClearDisplayedLines src/Dodge/Data/Terminal.hs 62;" C
TmTmSetPartialCommand src/Dodge/Data/Terminal.hs 64;" C
TmTmSetStatus src/Dodge/Data/Terminal.hs 63;" C
TmId src/Dodge/Data/Terminal.hs 54;" C
TmTm src/Dodge/Data/Terminal.hs 53;" t
TmTmClearDisplayedLines src/Dodge/Data/Terminal.hs 55;" C
TmTmSetPartialCommand src/Dodge/Data/Terminal.hs 57;" C
TmTmSetStatus src/Dodge/Data/Terminal.hs 56;" C
TmWdId src/Dodge/Data/WorldEffect.hs 73;" C
TmWdWd src/Dodge/Data/WorldEffect.hs 72;" t
TmWdWdDisconnectTerminal src/Dodge/Data/WorldEffect.hs 74;" C
@@ -1569,8 +1566,8 @@ _apStrategy src/Dodge/Data/ActionPlan.hs 21;" f
_aps src/Dodge/Data/Muzzle.hs 22;" f
_arbitraryAction src/Dodge/Data/ActionPlan.hs 167;" f
_arcNode src/Dodge/Data/LWorld.hs 117;" f
_argList src/Dodge/Data/Terminal.hs 94;" f
_argType src/Dodge/Data/Terminal.hs 93;" f
_argList src/Dodge/Data/Terminal.hs 87;" f
_argType src/Dodge/Data/Terminal.hs 86;" f
_asDir src/Dodge/Data/ArcStep.hs 16;" f
_asObject src/Dodge/Data/ArcStep.hs 17;" f
_asPos src/Dodge/Data/ArcStep.hs 15;" f
@@ -1703,7 +1700,7 @@ _cloudEBO src/Data/Preload/Render.hs 51;" f
_cloudShader src/Data/Preload/Render.hs 50;" f
_cloudVBO src/Data/Preload/Render.hs 49;" f
_clouds src/Dodge/Data/LWorld.hs 103;" f
_cmdEffect src/Dodge/Data/Terminal.hs 91;" f
_cmdEffect src/Dodge/Data/Terminal.hs 84;" f
_colorBlurShader src/Data/Preload/Render.hs 22;" f
_coolEnd src/Dodge/Data/TriggerType.hs 17;" f
_coolSound src/Dodge/Data/Item/Params.hs 24;" f
@@ -2426,18 +2423,18 @@ _tbPos src/Dodge/Data/TractorBeam.hs 14;" f
_tbStartPos src/Dodge/Data/TractorBeam.hs 15;" f
_tbTime src/Dodge/Data/TractorBeam.hs 17;" f
_tbVel src/Dodge/Data/TractorBeam.hs 16;" f
_tcAlias src/Dodge/Data/Terminal.hs 114;" f
_tcEffect src/Dodge/Data/Terminal.hs 116;" f
_tcHelp src/Dodge/Data/Terminal.hs 115;" f
_tcString src/Dodge/Data/Terminal.hs 113;" f
_tcAlias src/Dodge/Data/Terminal.hs 107;" f
_tcEffect src/Dodge/Data/Terminal.hs 109;" f
_tcHelp src/Dodge/Data/Terminal.hs 108;" f
_tcString src/Dodge/Data/Terminal.hs 106;" f
_termID src/Dodge/Data/HUD.hs 42;" f
_terminals src/Dodge/Data/LWorld.hs 128;" f
_teslaArcs src/Dodge/Data/LWorld.hs 116;" f
_testFloat src/Dodge/Data/World.hs 43;" f
_textInput src/Dodge/Data/Input.hs 49;" f
_textureObject src/Shader/Data.hs 95;" f
_tiSel src/Dodge/Data/Terminal.hs 22;" f
_tiText src/Dodge/Data/Terminal.hs 21;" f
_tiSel src/Dodge/Data/Terminal.hs 23;" f
_tiText src/Dodge/Data/Terminal.hs 16;" f
_tileArrayZ src/Data/Tile.hs 24;" f
_tilePoly src/Data/Tile.hs 17;" f
_tileTangentPos src/Data/Tile.hs 23;" f
@@ -2445,30 +2442,27 @@ _tileZero src/Data/Tile.hs 19;" f
_tiles src/Data/Tile.hs 14;" f
_timeFlow src/Dodge/Data/World.hs 38;" f
_timeFlowCharge src/Dodge/Data/World.hs 78;" f
_tlEffect src/Dodge/Data/Terminal.hs 78;" f
_tlPause src/Dodge/Data/Terminal.hs 69;" f
_tlPause src/Dodge/Data/Terminal.hs 73;" f
_tlPause src/Dodge/Data/Terminal.hs 77;" f
_tlString src/Dodge/Data/Terminal.hs 70;" f
_tlTermEffect src/Dodge/Data/Terminal.hs 74;" f
_tmBootProgram src/Dodge/Data/Terminal.hs 34;" f
_tmButtonID src/Dodge/Data/Terminal.hs 35;" f
_tmCommandHistory src/Dodge/Data/Terminal.hs 47;" f
_tmDeathEffect src/Dodge/Data/Terminal.hs 45;" f
_tmDisplayedLines src/Dodge/Data/Terminal.hs 39;" f
_tmExternalColor src/Dodge/Data/Terminal.hs 38;" f
_tmFutureLines src/Dodge/Data/Terminal.hs 40;" f
_tmID src/Dodge/Data/Terminal.hs 33;" f
_tmInput src/Dodge/Data/Terminal.hs 42;" f
_tmMachineID src/Dodge/Data/Terminal.hs 36;" f
_tmName src/Dodge/Data/Terminal.hs 37;" f
_tmPartialCommand src/Dodge/Data/Terminal.hs 49;" f
_tmScrollCommands src/Dodge/Data/Terminal.hs 43;" f
_tmStatus src/Dodge/Data/Terminal.hs 46;" f
_tmTitle src/Dodge/Data/Terminal.hs 41;" f
_tmToggles src/Dodge/Data/Terminal.hs 48;" f
_tmType src/Dodge/Data/Terminal.hs 50;" f
_tmWriteCommands src/Dodge/Data/Terminal.hs 44;" f
_tlEffect src/Dodge/Data/Terminal.hs 71;" f
_tlPause src/Dodge/Data/Terminal.hs 62;" f
_tlPause src/Dodge/Data/Terminal.hs 66;" f
_tlPause src/Dodge/Data/Terminal.hs 70;" f
_tlString src/Dodge/Data/Terminal.hs 63;" f
_tlTermEffect src/Dodge/Data/Terminal.hs 67;" f
_tmBootLines src/Dodge/Data/Terminal.hs 29;" f
_tmButtonID src/Dodge/Data/Terminal.hs 30;" f
_tmCommandHistory src/Dodge/Data/Terminal.hs 40;" f
_tmDeathEffect src/Dodge/Data/Terminal.hs 38;" f
_tmDisplayedLines src/Dodge/Data/Terminal.hs 33;" f
_tmExternalColor src/Dodge/Data/Terminal.hs 32;" f
_tmFutureLines src/Dodge/Data/Terminal.hs 34;" f
_tmID src/Dodge/Data/Terminal.hs 28;" f
_tmInput src/Dodge/Data/Terminal.hs 35;" f
_tmMachineID src/Dodge/Data/Terminal.hs 31;" f
_tmPartialCommand src/Dodge/Data/Terminal.hs 42;" f
_tmScrollCommands src/Dodge/Data/Terminal.hs 36;" f
_tmStatus src/Dodge/Data/Terminal.hs 39;" f
_tmToggles src/Dodge/Data/Terminal.hs 41;" f
_tmWriteCommands src/Dodge/Data/Terminal.hs 37;" f
_toPlaySoundChunkID src/Sound/Data.hs 41;" f
_toPlaySoundPos src/Sound/Data.hs 38;" f
_toPlaySoundStatus src/Sound/Data.hs 37;" f
@@ -2481,8 +2475,8 @@ _tractorBeams src/Dodge/Data/LWorld.hs 123;" f
_trieChildren src/SimpleTrie.hs 11;" f
_trieMVal src/SimpleTrie.hs 10;" f
_triggers src/Dodge/Data/LWorld.hs 133;" f
_ttDeathEffect src/Dodge/Data/Terminal.hs 85;" f
_ttTriggerID src/Dodge/Data/Terminal.hs 84;" f
_ttDeathEffect src/Dodge/Data/Terminal.hs 78;" f
_ttTriggerID src/Dodge/Data/Terminal.hs 77;" f
_tuDir src/Dodge/Data/Machine.hs 61;" f
_tuFireTime src/Dodge/Data/Machine.hs 60;" f
_tuTurnSpeed src/Dodge/Data/Machine.hs 59;" f
@@ -2710,7 +2704,7 @@ arcStepwisePositive src/Geometry.hs 343;" f
arcTest src/Picture/Test.hs 9;" f
arcTest' src/Picture/Test.hs 21;" f
argV src/Geometry/Vector.hs 80;" f
argumentHelp src/Dodge/Terminal.hs 151;" f
argumentHelp src/Dodge/Terminal.hs 144;" f
armourChaseCrit src/Dodge/Creature/ArmourChase.hs 35;" f
armouredChasers src/Dodge/Room/Boss.hs 63;" f
armouredCorridor src/Dodge/Room/RoadBlock.hs 20;" f
@@ -2994,9 +2988,9 @@ combineList src/Dodge/Combine.hs 20;" f
combineRooms src/Dodge/Room/Procedural.hs 152;" f
combineS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 480;" f
combineTree src/Dodge/Tree/Compose.hs 66;" f
commandColor src/Dodge/Terminal.hs 132;" f
commandFutureLines src/Dodge/Terminal.hs 256;" f
commandsCommand src/Dodge/Terminal.hs 93;" f
commandColor src/Dodge/Terminal.hs 125;" f
commandFutureLines src/Dodge/Terminal.hs 249;" f
commandsCommand src/Dodge/Terminal.hs 92;" f
commonPrefix src/Dodge/Debug/Terminal.hs 146;" f
comp src/Quaternion.hs 65;" f
compactDraw src/Dodge/LevelGen.hs 91;" f
@@ -3010,7 +3004,7 @@ conEffects src/Dodge/Concurrent.hs 12;" f
conLDTToConDT src/Dodge/DoubleTree.hs 22;" f
concurrentIS src/Dodge/Update/Input/InGame.hs 290;" f
connectItemS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 722;" f
connectionBlurb src/Dodge/Terminal.hs 102;" f
connectionBlurb src/Dodge/Terminal.hs 101;" f
connectionBlurbLines src/Dodge/Terminal.hs 47;" f
constructEdges src/Polyhedra.hs 34;" f
constructEdgesList src/Polyhedra.hs 43;" f
@@ -3136,7 +3130,7 @@ dShadCol src/Dodge/Render/List.hs 215;" f
damMatSideEffect src/Dodge/Material/Damage.hs 13;" f
damThingHitWith src/Dodge/Damage.hs 72;" f
damToExpBarrel src/Dodge/Barreloid.hs 49;" f
damageCodeCommand src/Dodge/Terminal.hs 232;" f
damageCodeCommand src/Dodge/Terminal.hs 225;" f
damageCrWl src/Dodge/Damage.hs 29;" f
damageCrWlID src/Dodge/Damage.hs 23;" f
damageDirection src/Dodge/Damage.hs 35;" f
@@ -3177,7 +3171,7 @@ debugMenuOptions src/Dodge/Menu.hs 122;" f
debugOn src/Dodge/Data/Config.hs 151;" f
debugSelectCreatureList src/Dodge/Debug.hs 86;" f
debugSelectCreatureMessage src/Dodge/Debug.hs 77;" f
decodedtmap src/Dodge/Terminal.hs 205;" f
decodedtmap src/Dodge/Terminal.hs 198;" f
decomposeSelfTree src/Dodge/Tree/Compose.hs 60;" f
decomposeTree src/Dodge/Tree/Compose.hs 57;" f
decoratedBlock src/Dodge/Placement/Instance/Block.hs 10;" f
@@ -3237,7 +3231,7 @@ defaultRoom src/Dodge/Default/Room.hs 9;" f
defaultSensorWall src/Dodge/Default/Wall.hs 65;" f
defaultSwitchWall src/Dodge/Default/Door.hs 22;" f
defaultTerminal src/Dodge/Default/Terminal.hs 9;" f
defaultTerminalInput src/Dodge/Default/Terminal.hs 32;" f
defaultTerminalInput src/Dodge/Default/Terminal.hs 29;" f
defaultVision src/Dodge/Default/Creature.hs 85;" f
defaultWall src/Dodge/Default/Wall.hs 17;" f
defaultWindow src/Dodge/Default/Wall.hs 84;" f
@@ -3278,7 +3272,7 @@ dim src/Color.hs 112;" f
dirtColor src/Dodge/Default/Wall.hs 81;" f
dirtPoly src/Dodge/Room/RoadBlock.hs 74;" f
disconnectItemS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 650;" f
disconnectTerminal src/Dodge/Terminal.hs 217;" f
disconnectTerminal src/Dodge/Terminal.hs 210;" f
displayConfig src/Dodge/Menu.hs 213;" f
displayControls src/Dodge/Menu.hs 223;" f
displayFrameTicks src/Dodge/Render/Picture.hs 45;" f
@@ -3362,15 +3356,14 @@ doScopeZoom src/Dodge/Update/Scroll.hs 84;" f
doSectionSize src/Dodge/DisplayInventory.hs 217;" f
doSideEffects appDodge/Main.hs 120;" f
doStrategyActions src/Dodge/Creature/ReaderUpdate.hs 166;" f
doTerminalBootProgram src/Dodge/WorldEffect.hs 94;" f
doTerminalCommandEffect src/Dodge/Terminal.hs 135;" f
doTerminalCommandEffect src/Dodge/Terminal.hs 128;" f
doTestDrawing src/Dodge/Render.hs 41;" f
doTextInputOver src/Dodge/Update/Input/Text.hs 15;" f
doTextInputOverUniverse src/Dodge/Update/Input/Text.hs 12;" f
doThrust src/Dodge/Projectile/Update.hs 183;" f
doTimeScroll src/Dodge/Update.hs 209;" f
doTmTm src/Dodge/TmTm.hs 6;" f
doTmWdWd src/Dodge/WorldEffect.hs 99;" f
doTmWdWd src/Dodge/WorldEffect.hs 94;" f
doWallRotate src/Dodge/Update/Camera.hs 213;" f
doWdBl src/Dodge/WorldBool.hs 10;" f
doWdCrBl src/Dodge/CreatureEffect.hs 37;" f
@@ -3589,7 +3582,7 @@ errorNormalizeV src/Geometry.hs 55;" f
errorPointInPolygon src/Geometry.hs 47;" f
evaluateRandPS src/Dodge/Placement/PlaceSpot.hs 150;" f
evenOddSplit src/Dodge/Base.hs 160;" f
exitTerminalSubInv src/Dodge/Terminal.hs 225;" f
exitTerminalSubInv src/Dodge/Terminal.hs 218;" f
expandLine src/Dodge/Picture.hs 30;" f
expandPolyBy src/Dodge/LevelGen/StaticWalls.hs 91;" f
expandPolyByFixed src/Dodge/LevelGen/StaticWalls.hs 97;" f
@@ -3727,10 +3720,10 @@ getAvailableListLines src/Dodge/SelectionList.hs 10;" f
getBulHitDams src/Dodge/Bullet.hs 169;" f
getBulletType src/Dodge/HeldUse.hs 943;" f
getCloseObj src/Dodge/Update/Input/InGame.hs 515;" f
getCommands src/Dodge/Terminal.hs 117;" f
getCommandsHelp src/Dodge/Terminal.hs 75;" f
getCommands src/Dodge/Terminal.hs 110;" f
getCommandsHelp src/Dodge/Terminal.hs 74;" f
getCrMoveSpeed src/Dodge/Creature/Statistics.hs 45;" f
getDamageCoding src/Dodge/Terminal.hs 177;" f
getDamageCoding src/Dodge/Terminal.hs 170;" f
getDistortions src/Dodge/Render.hs 435;" f
getEquipmentAllocation src/Dodge/Inventory/RBList.hs 47;" f
getGrenadeHitEffect src/Dodge/HeldUse.hs 1310;" f
@@ -3740,15 +3733,15 @@ getLaserColor src/Dodge/HeldUse.hs 706;" f
getLaserDamage src/Dodge/HeldUse.hs 703;" f
getLaserPhaseV src/Dodge/HeldUse.hs 700;" f
getLinksOfType src/Dodge/RoomLink.hs 39;" f
getMaxLinesTM src/Dodge/Terminal/Type.hs 11;" f
getMaxLinesTM src/Dodge/Terminal/Type.hs 9;" f
getMenuMouseContext src/Dodge/Update.hs 407;" f
getNodePos src/Dodge/Path.hs 31;" f
getPJStabiliser src/Dodge/HeldUse.hs 1297;" f
getPretty src/AesonHelp.hs 8;" f
getPromptTM src/Dodge/Terminal/Type.hs 8;" f
getPromptTM src/Dodge/Terminal/Type.hs 6;" f
getRootItemBounds src/Dodge/Render/HUD.hs 95;" f
getSelectedCloseObj src/Dodge/SelectedClose.hs 14;" f
getSensor src/Dodge/Terminal.hs 189;" f
getSensor src/Dodge/Terminal.hs 182;" f
getSmoothScrollValue src/Dodge/SmoothScroll.hs 21;" f
getSplitString src/Dodge/Debug/Terminal.hs 126;" f
getTiles src/Dodge/Layout.hs 208;" f
@@ -3848,7 +3841,7 @@ heldItemWeight src/Dodge/Creature/Statistics.hs 72;" f
heldPositionInfo src/Dodge/Item/Info.hs 241;" f
heldTorqueAmount src/Dodge/HeldUse.hs 584;" f
heldTriggerType src/Dodge/BaseTriggerType.hs 27;" f
helpCommand src/Dodge/Terminal.hs 66;" f
helpCommand src/Dodge/Terminal.hs 65;" f
helpPoly3D src/Polyhedra.hs 125;" f
heron src/Geometry.hs 221;" f
hiToFloat src/Dodge/Room/Modify/Girder.hs 171;" f
@@ -3943,7 +3936,7 @@ invDP src/Dodge/ListDisplayParams.hs 30;" f
invDT src/Dodge/Item/Grammar.hs 215;" f
invDT' src/Dodge/Item/Grammar.hs 220;" f
invDimColor src/Dodge/DisplayInventory.hs 192;" f
invHead src/Dodge/Render/HUD.hs 404;" f
invHead src/Dodge/Render/HUD.hs 405;" f
invIMDT src/Dodge/Item/Grammar.hs 248;" f
invIndents src/Dodge/Item/Grammar.hs 255;" f
invItemEffs src/Dodge/Creature/State.hs 61;" f
@@ -4125,7 +4118,7 @@ listSelectionColorPicture src/Dodge/DisplayInventory.hs 308;" f
litCorridor90 src/Dodge/Room/RoadBlock.hs 26;" f
lmt src/MatrixHelper.hs 43;" f
lnkBothAnd src/Dodge/Room/Procedural.hs 121;" f
lnkMidPosInvSelsCol src/Dodge/Render/HUD.hs 393;" f
lnkMidPosInvSelsCol src/Dodge/Render/HUD.hs 394;" f
lnkPosDir src/Dodge/RoomLink.hs 97;" f
loadDodgeConfig src/Dodge/Config/Load.hs 9;" f
loadMusic src/Dodge/SoundLogic/LoadSound.hs 30;" f
@@ -4198,8 +4191,8 @@ makeBullet src/Dodge/HeldUse.hs 1021;" f
makeButton src/Dodge/LevelGen/Switch.hs 16;" f
makeByteStringShaderUsingVAO src/Shader/Compile.hs 128;" f
makeCloudAt src/Dodge/WorldEvent/Cloud.hs 7;" f
makeColorTermLine src/Dodge/Terminal.hs 129;" f
makeColorTermPara src/Dodge/Terminal.hs 126;" f
makeColorTermLine src/Dodge/Terminal.hs 122;" f
makeColorTermPara src/Dodge/Terminal.hs 119;" f
makeCorpse src/Dodge/Corpse/Make.hs 13;" f
makeDebris src/Dodge/Block/Debris.hs 45;" f
makeDebrisDirected src/Dodge/Block/Debris.hs 48;" f
@@ -4235,8 +4228,8 @@ makeSourcedShader src/Shader/Compile.hs 167;" f
makeSpark src/Dodge/Spark.hs 45;" f
makeSubmenuOption src/Dodge/Menu/OptionType.hs 19;" f
makeSwitch src/Dodge/LevelGen/Switch.hs 38;" f
makeTermLine src/Dodge/Terminal.hs 120;" f
makeTermPara src/Dodge/Terminal.hs 123;" f
makeTermLine src/Dodge/Terminal.hs 113;" f
makeTermPara src/Dodge/Terminal.hs 116;" f
makeTeslaArc src/Dodge/Tesla.hs 29;" f
makeTeslaExplosionAt src/Dodge/WorldEvent/Explosion.hs 40;" f
makeTileFromPoly src/Tile.hs 34;" f
@@ -4717,7 +4710,7 @@ qToV2 src/Quaternion.hs 56;" f
qToV3 src/Quaternion.hs 53;" f
quarterRoomSquare src/Dodge/Room/Procedural.hs 213;" f
quarterRoomTri src/Dodge/Room/Procedural.hs 177;" f
quitCommand src/Dodge/Terminal.hs 57;" f
quitCommand src/Dodge/Terminal.hs 56;" f
qz src/Quaternion.hs 71;" f
rLauncher src/Dodge/Item/Held/Launcher.hs 14;" f
rLauncherX src/Dodge/Item/Held/Launcher.hs 30;" f
@@ -4825,8 +4818,8 @@ retreatFireLauncher src/Dodge/Humanoid.hs 270;" f
retreatPointForFrom src/Dodge/Creature/Impulse/Flee.hs 7;" f
reversePair src/Dodge/LevelGen.hs 82;" f
rewinder src/Dodge/Item/Held/Utility.hs 36;" f
rezBox src/Dodge/Room/RezBox.hs 23;" f
rezBox' src/Dodge/Room/RezBox.hs 31;" f
rezBox src/Dodge/Room/RezBox.hs 24;" f
rezBox' src/Dodge/Room/RezBox.hs 35;" f
rezBoxStart src/Dodge/Room/Start.hs 77;" f
rezBoxes src/Dodge/Room/RezBox.hs 107;" f
rezBoxesWp src/Dodge/Room/RezBox.hs 45;" f
@@ -4905,7 +4898,7 @@ rprShift src/Dodge/PlacementSpot.hs 102;" f
rsObjectColor src/Dodge/RadarSweep/Draw.hs 34;" f
runPastStart src/Dodge/Room/Start.hs 71;" f
runStateWorld src/Dodge/Randify.hs 17;" f
runTerminalString src/Dodge/Terminal.hs 289;" f
runTerminalString src/Dodge/Terminal.hs 282;" f
sPS src/Dodge/LevelGen/PlacementHelper.hs 27;" f
safeAngleVV src/Geometry/Vector.hs 68;" f
safeArgV src/Geometry/Vector.hs 87;" f
@@ -4965,11 +4958,11 @@ sectionsSizes src/Dodge/DisplayInventory.hs 207;" f
seedStartMenu src/Dodge/Menu.hs 82;" f
seedStartOptions src/Dodge/Menu.hs 85;" f
segOnCirc src/Geometry.hs 114;" f
selNumPos src/Dodge/Render/HUD.hs 453;" f
selNumPosCardinal src/Dodge/Render/HUD.hs 476;" f
selNumPos src/Dodge/Render/HUD.hs 454;" f
selNumPosCardinal src/Dodge/Render/HUD.hs 477;" f
selSecDrawCursor src/Dodge/Render/List.hs 126;" f
selSecDrawCursorAt src/Dodge/Render/List.hs 104;" f
selSecSelCol src/Dodge/Render/HUD.hs 507;" f
selSecSelCol src/Dodge/Render/HUD.hs 508;" f
selSecSelSize src/Dodge/SelectionSections.hs 180;" f
selSecYint src/Dodge/SelectionSections.hs 189;" f
selectCreatureDebugItem src/Dodge/Debug.hs 55;" f
@@ -4977,8 +4970,8 @@ selectedItemScroll src/Dodge/Update/Scroll.hs 46;" f
sensAboveDoor src/Dodge/Room/SensorDoor.hs 63;" f
sensInsideDoor src/Dodge/Room/SensorDoor.hs 69;" f
senseDamage src/Dodge/Machine/Update.hs 160;" f
sensorCommand src/Dodge/Terminal.hs 208;" f
sensorInfoMap src/Dodge/Terminal.hs 180;" f
sensorCommand src/Dodge/Terminal.hs 201;" f
sensorInfoMap src/Dodge/Terminal.hs 173;" f
sensorRoom src/Dodge/Room/SensorDoor.hs 27;" f
sensorRoomRunPast src/Dodge/Room/SensorDoor.hs 48;" f
sensorSPic src/Dodge/Machine/Draw.hs 70;" f
@@ -5114,7 +5107,7 @@ shuffleRoomPos src/Dodge/Layout.hs 78;" f
shuffleTail src/RandomHelp.hs 59;" f
sigmoid src/Dodge/Base.hs 151;" f
simpleCrSprings src/Dodge/Update.hs 892;" f
simpleTermMessage src/Dodge/Terminal.hs 253;" f
simpleTermMessage src/Dodge/Terminal.hs 246;" f
sineRaisePitchOneSecS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 680;" f
sineRaisePitchTwoSecS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 472;" f
singleAmmo src/Dodge/Item/AmmoSlots.hs 62;" f
@@ -5289,10 +5282,10 @@ telRoomLev src/Dodge/Room/Teleport.hs 14;" f
teleS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 528;" f
termButton src/Dodge/Placement/Instance/Terminal.hs 51;" f
termScreenColor src/Dodge/Terminal/Color.hs 9;" f
termSoundLine src/Dodge/Terminal.hs 111;" f
termTextColor src/Dodge/Terminal.hs 114;" f
termSoundLine src/Dodge/Terminal.hs 104;" f
termTextColor src/Dodge/Terminal.hs 107;" f
terminalColor src/Dodge/Placement/Instance/Terminal.hs 61;" f
terminalReturnEffect src/Dodge/Terminal.hs 276;" f
terminalReturnEffect src/Dodge/Terminal.hs 269;" f
terminalSPic src/Dodge/Machine/Draw.hs 29;" f
terminalScreenGlow src/Dodge/Machine/Update.hs 35;" f
terminalShape src/Dodge/Machine/Draw.hs 32;" f
@@ -5359,12 +5352,12 @@ toV2 src/Geometry/Data.hs 54;" f
toV3 src/Geometry/Data.hs 57;" f
toV4 src/Geometry/Data.hs 60;" f
toggleCombineInv src/Dodge/DisplayInventory.hs 317;" f
toggleCommand src/Dodge/Terminal.hs 196;" f
toggleCommand src/Dodge/Terminal.hs 189;" f
toggleEquipmentAt src/Dodge/Creature/Impulse/UseItem.hs 65;" f
toggleExamineInv src/Dodge/Creature/Impulse/UseItem.hs 103;" f
toggleJust src/MaybeHelp.hs 41;" f
toggleMapperInv src/Dodge/Creature/Impulse/UseItem.hs 108;" f
togglesToEffects src/Dodge/Terminal.hs 248;" f
togglesToEffects src/Dodge/Terminal.hs 241;" f
tone440S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 642;" f
tone440raiseS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 664;" f
tone440sawtoothS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 606;" f