Work on terminal tab completion/scrolling
This commit is contained in:
+165
-90
@@ -1,4 +1,5 @@
|
||||
{-# LANGUAGE LambdaCase #-}
|
||||
{-# LANGUAGE TupleSections #-}
|
||||
|
||||
module Dodge.Terminal (
|
||||
makeTermLine,
|
||||
@@ -10,10 +11,15 @@ module Dodge.Terminal (
|
||||
makeTermPara,
|
||||
terminalReturnEffect,
|
||||
getCommands,
|
||||
tabComplete,
|
||||
-- tabComplete,
|
||||
tlSetStatus,
|
||||
tlDoEffect,
|
||||
termTextColor,
|
||||
doTabComplete,
|
||||
-- recComFindSuccessor,
|
||||
-- recComFindPredecessor,
|
||||
recComFindMin,
|
||||
recComFindMax,
|
||||
) where
|
||||
|
||||
import Color
|
||||
@@ -30,6 +36,7 @@ import Dodge.Terminal.Type
|
||||
import Justify
|
||||
import LensHelp
|
||||
import Sound.Data
|
||||
import Control.Applicative
|
||||
|
||||
textTerminal :: Terminal
|
||||
textTerminal = defaultTerminal{_tmBootLines = textInputBlurb []}
|
||||
@@ -46,27 +53,26 @@ termSoundLine = TLine 0 [] . TmWdWdTermSound
|
||||
termTextColor :: Color
|
||||
termTextColor = greyN 0.9
|
||||
|
||||
getCommands :: World -> Terminal -> PTE.TrieMap Char (PTE.TrieMap Char [TerminalLine])
|
||||
--type TCommands = PTE.TrieMap Char (PTE.TrieMap Char [TerminalLine])
|
||||
type TCommands = RecCommands [TerminalLine]
|
||||
|
||||
getCommands :: World -> Terminal -> TCommands
|
||||
getCommands w tm = foldMap (getCommand w tm) $ tm ^. tmCommands
|
||||
|
||||
getCommand ::
|
||||
World ->
|
||||
Terminal ->
|
||||
TCom ->
|
||||
PTE.TrieMap Char (PTE.TrieMap Char [TerminalLine])
|
||||
getCommand :: World -> Terminal -> TCom -> TCommands
|
||||
getCommand w tm = \case
|
||||
TCInfo x z -> PTE.singleton x (PTE.singleton "" (makeTermPara z))
|
||||
TCInfo x z -> RCommands $ PTE.singleton x (Right (makeTermPara z))
|
||||
TCBase -> quitCommand <> toggleCommands tm
|
||||
TCDamageCommand -> damageCodeCommand w tm
|
||||
|
||||
damageCodeCommand :: World -> Terminal -> PTE.TrieMap Char (PTE.TrieMap Char [TerminalLine])
|
||||
damageCodeCommand w _ =
|
||||
PTE.singleton "DAMAGECODE" $ PTE.fromList $ mapMaybe f [minBound ..]
|
||||
damageCodeCommand :: World -> Terminal -> TCommands
|
||||
damageCodeCommand w _ = RCommands .
|
||||
PTE.singleton "DAMAGECODE" . Left . RCommands $ PTE.fromList $ mapMaybe f [minBound ..]
|
||||
where
|
||||
f :: SensorType -> Maybe (String, [TerminalLine])
|
||||
f :: SensorType -> Maybe (String, Either TCommands [TerminalLine])
|
||||
f st = do
|
||||
s <- g st
|
||||
return (s, decodeSensorType st w)
|
||||
return (s, Right $ decodeSensorType st w)
|
||||
g =
|
||||
fmap (map toUpper . reverse)
|
||||
. List.stripPrefix (reverse "Sensor")
|
||||
@@ -78,15 +84,16 @@ decodeSensorType st w = fromMaybe [] $ do
|
||||
x <- w ^? cWorld . cwGen . cwgParams . sensorCoding . ix st
|
||||
return [makeTermLine $ show x]
|
||||
|
||||
toggleCommands :: Terminal -> PTE.TrieMap Char (PTE.TrieMap Char [TerminalLine])
|
||||
toggleCommands :: Terminal -> TCommands
|
||||
toggleCommands tm
|
||||
| null ts = mempty
|
||||
| otherwise = PTE.singleton "TOGGLE" $ PTE.fromList $ f <$> M.toList ts
|
||||
| otherwise = RCommands . PTE.singleton "TOGGLE" . Left . RCommands . PTE.fromList
|
||||
$ f <$> M.toList ts
|
||||
where
|
||||
ts = tm ^. tmToggles
|
||||
f (s, x) =
|
||||
( s
|
||||
,
|
||||
, Right
|
||||
[ TLine
|
||||
1
|
||||
[TerminalLineConst (s ++ " TOGGLE DONE!") termTextColor]
|
||||
@@ -97,8 +104,8 @@ toggleCommands tm
|
||||
helpPara :: [TerminalLine]
|
||||
helpPara = makeTermPara "THIS TERMINAL PROCESSES KEYBOARD INPUT. USE [RETURN] OR [LMB] TO REGISTER YOUR INPUT. AVAILABLE COMMANDS CAN BE SCROLLED THROUGH, HOLD [RMB] TO SCROLL THROUGH ARGUMENTS. USE [TAB] FOR AUTOCOMPLETE."
|
||||
|
||||
quitCommand :: PTE.TrieMap Char (PTE.TrieMap Char [TerminalLine])
|
||||
quitCommand = PTE.singleton "QUIT" (PTE.singleton "" [TLine 0 [] TmWdWdPowerDownTerminal])
|
||||
quitCommand :: TCommands
|
||||
quitCommand = RCommands . PTE.singleton "QUIT" $ Right [TLine 0 [] TmWdWdPowerDownTerminal]
|
||||
|
||||
makeTermLine :: String -> TerminalLine
|
||||
makeTermLine = makeColorTermLine termTextColor
|
||||
@@ -121,51 +128,118 @@ makeColorTermLine col str = TLine 1 [TerminalLineConst str col] TmWdId
|
||||
commandColor :: Color
|
||||
commandColor = yellow
|
||||
|
||||
tabComplete :: World -> Terminal -> Terminal
|
||||
tabComplete w tm = fromMaybe tm $ do
|
||||
--tabComplete :: World -> Terminal -> Terminal
|
||||
--tabComplete w tm = fromMaybe tm $ do
|
||||
-- s <- tm ^? tmStatus . tiText
|
||||
-- return $ tabComplete' s w tm
|
||||
--
|
||||
---- ugly, can improve output to explain when showing available arguments
|
||||
--tabComplete' :: String -> World -> Terminal -> Terminal
|
||||
--tabComplete' s' w tm = case PTE.lookup s $ getCommands w tm of
|
||||
-- Just m -> f (s ++ " ") $ PTE.toList $ PTE.lookupPrefix a m
|
||||
-- Nothing -> f "" $ PTE.toList $ PTE.lookupPrefix s $ getCommands w tm
|
||||
-- where
|
||||
-- ss = words s'
|
||||
-- s = fromMaybe "" $ ss ^? ix 0
|
||||
-- a = fromMaybe "" $ ss ^? ix 1
|
||||
-- f y m' = case fmap fst m' of
|
||||
-- [] -> tm
|
||||
-- [x] -> tm & tmStatus . tiText .~ (y ++ x)
|
||||
-- xs ->
|
||||
-- tm
|
||||
-- & tmStatus
|
||||
-- .~ TerminalLineRead
|
||||
-- & tmFutureLines
|
||||
-- .~ ( makeColorTermPara
|
||||
-- commandColor
|
||||
-- (unwords xs)
|
||||
-- <> [TLine 1 [] . TmTmSetStatus $ TerminalTextInput s']
|
||||
-- )
|
||||
|
||||
data TabCompletion a
|
||||
= TabMatch a
|
||||
| TabComplete String
|
||||
| TabMultiComplete [String]
|
||||
| TabFail
|
||||
|
||||
data RecCommands a =
|
||||
RCommands {_rCommands :: (PTE.TrieMap Char (Either (RecCommands a) a))}
|
||||
|
||||
-- assumes that each command Trie has at least one successful command
|
||||
recComFindMin :: RecCommands a -> Maybe ([String], a)
|
||||
recComFindMin (RCommands m) = case PTE.findMin m of
|
||||
Just (s,Right a) -> Just ([s],a)
|
||||
Just (s,Left m') -> recComFindMin m' & _Just . _1 .:~ s
|
||||
Nothing -> Nothing
|
||||
|
||||
recComFindMax :: RecCommands a -> Maybe ([String], a)
|
||||
recComFindMax (RCommands m) = case PTE.findMax m of
|
||||
Just (s,Right a) -> Just ([s],a)
|
||||
Just (s,Left m') -> recComFindMax m' & _Just . _1 .:~ s
|
||||
Nothing -> Nothing
|
||||
|
||||
--recComFindSuccessor :: [String] -> RecCommands a -> Maybe ([String],a)
|
||||
--recComFindSuccessor (s:[]) (RCommands m) = case PTE.lookup s m of
|
||||
-- Just (Left rm) ->
|
||||
-- _ -> do
|
||||
-- (s',_) <- PTE.findSuccessor s m & _Just . _1 %~ return
|
||||
--recComFindSuccessor (s:ss) (RCommands m)
|
||||
-- = do
|
||||
-- Left rm <- PTE.lookup s m
|
||||
-- recComFindSuccessor ss rm -- & _Just . _1 .:~ s
|
||||
---- fromMaybe (recComFindSuccessor (s:[]) (RCommands m)) $
|
||||
--
|
||||
--recComFindPredecessor :: [String] -> RecCommands a -> Maybe ([String],a)
|
||||
--recComFindPredecessor (s:ss) (RCommands m) = Nothing
|
||||
|
||||
instance Semigroup (RecCommands a) where
|
||||
RCommands x <> RCommands y = RCommands $ x <> y
|
||||
|
||||
instance Monoid (RecCommands a) where
|
||||
mempty = RCommands mempty
|
||||
|
||||
|
||||
tbComplete :: String -> PTE.TrieMap Char a -> TabCompletion a
|
||||
tbComplete s t = case e of
|
||||
[] | Just x <- mx -> TabMatch x
|
||||
[] -> case fmap fst $ PTE.toList t' of
|
||||
[] -> TabFail
|
||||
ss -> TabMultiComplete ss
|
||||
_ -> TabComplete e
|
||||
where
|
||||
(e, mx, t') = PTE.splitPrefix $ PTE.deletePrefix s t
|
||||
|
||||
recTabComplete :: String -> TCommands -> TabCompletion [TerminalLine]
|
||||
recTabComplete s (RCommands t) = fromMaybe (TabMultiComplete $ allstrings $ t) $ do
|
||||
(s1,ss) <- stripHead $ words s
|
||||
case tbComplete s1 t of
|
||||
TabComplete e -> return $ TabComplete e
|
||||
TabMultiComplete es -> return $ TabMultiComplete (fmap (s1 <>) es)
|
||||
TabFail -> return $ TabFail
|
||||
TabMatch (Right x) -> return $ TabMatch x
|
||||
TabMatch (Left rm) -> return $ recTabComplete (unwords ss) rm
|
||||
where
|
||||
stripHead (x:xs) = Just (x,xs)
|
||||
stripHead _ = Nothing
|
||||
allstrings = fmap fst . PTE.toList
|
||||
|
||||
doTabComplete :: World -> Terminal -> Terminal
|
||||
doTabComplete w tm = fromMaybe tm $ do
|
||||
s <- tm ^? tmStatus . tiText
|
||||
return $ tabComplete' s w tm
|
||||
case recTabComplete s $ getCommands w tm of
|
||||
TabMatch _ -> return tm
|
||||
TabComplete e -> return $ tm & tmStatus . tiText <>~ e
|
||||
TabMultiComplete ss -> return $ tm
|
||||
& tmStatus .~ TerminalLineRead
|
||||
& tmFutureLines .~
|
||||
(makeColorTermPara commandColor (unwords ss) <> [TLine 1 [] . TmTmSetStatus $ TerminalTextInput s])
|
||||
|
||||
-- ugly, can improve output to explain when showing available arguments
|
||||
tabComplete' :: String -> World -> Terminal -> Terminal
|
||||
tabComplete' s' w tm = case PTE.lookup s $ getCommands w tm of
|
||||
Just m -> f (s ++ " ") $ PTE.toList $ PTE.lookupPrefix a m
|
||||
Nothing -> f "" $ PTE.toList $ PTE.lookupPrefix s $ getCommands w tm
|
||||
where
|
||||
ss = words s'
|
||||
s = fromMaybe "" $ ss ^? ix 0
|
||||
a = fromMaybe "" $ ss ^? ix 1
|
||||
f y m' = case fmap fst m' of
|
||||
[] -> tm
|
||||
[x] -> tm & tmStatus . tiText .~ (y ++ x)
|
||||
xs ->
|
||||
tm
|
||||
& tmStatus
|
||||
.~ TerminalLineRead
|
||||
& tmFutureLines
|
||||
.~ ( makeColorTermPara
|
||||
commandColor
|
||||
(unwords xs)
|
||||
<> [TLine 1 [] . TmTmSetStatus $ TerminalTextInput s']
|
||||
)
|
||||
|
||||
tComplete
|
||||
:: String
|
||||
-> PTE.TrieMap Char (PTE.TrieMap Char [TerminalLine])
|
||||
-> Either (String,[String]) (String,[String])
|
||||
tComplete s pt = fromMaybe (Left (mempty,allcommands pt)) $ do
|
||||
s1 <- words s ^? ix 0
|
||||
let (e1,mx,pt') = PTE.splitPrefix $ PTE.deletePrefix s1 pt
|
||||
case e1 of
|
||||
[] -> do
|
||||
pt'' <- mx
|
||||
return $ fromMaybe (Right (mempty, allcommands pt'')) $ do
|
||||
s2 <- words s ^? ix 1
|
||||
let (e2,_,pt3) = PTE.splitPrefix $ PTE.deletePrefix s2 pt''
|
||||
Just $ Right (e2, allcommands pt3)
|
||||
_ -> Just $ Left (e1, allcommands pt')
|
||||
where
|
||||
allcommands = fmap fst . PTE.toList
|
||||
TabFail -> return tm
|
||||
-- (e,Right x) -> return $ tm & tmStatus . tiText .~ e
|
||||
-- (e,Left ss) -> return $ tm
|
||||
-- & tmStatus .~ TerminalLineRead
|
||||
-- & tmFutureLines .~ (makeColorTermPara commandColor (unwords ss) <> [TLine 1 [] . TmTmSetStatus $ TerminalTextInput e])
|
||||
|
||||
-- damageCodeCommand :: TerminalCommand
|
||||
-- damageCodeCommand =
|
||||
@@ -193,33 +267,34 @@ simpleTermMessage strs = defaultTerminal & tmBootLines .~ map makeTermLine strs
|
||||
|
||||
-- list available arguments on function input?
|
||||
terminalReturnEffect :: Int -> World -> World
|
||||
terminalReturnEffect tmid w = fromMaybe w $ do
|
||||
tm' <- w ^? cWorld . lWorld . terminals . ix tmid
|
||||
let tm = tabComplete w tm'
|
||||
s <- tm ^? tmStatus . tiText
|
||||
let ss = fromMaybe [makeTermLine "ERROR: INPUT NOT RECOGNISED"] $ do
|
||||
let args = words s
|
||||
case args of
|
||||
[] -> return helpPara
|
||||
(x : _) -> do
|
||||
teff <- PTE.lookup x (getCommands w tm)
|
||||
let y = fromMaybe "" (args ^? ix 1)
|
||||
PTE.lookup y teff
|
||||
return $
|
||||
w
|
||||
& totm
|
||||
. tmDisplayedLines
|
||||
.:~ (getPromptTM ++ s, termTextColor)
|
||||
& totm
|
||||
. tmFutureLines
|
||||
.~ ss
|
||||
<> tlSetStatus (TerminalTextInput "")
|
||||
& totm
|
||||
. tmCommandHistory
|
||||
%~ take 10
|
||||
. (s :)
|
||||
& totm
|
||||
. tmStatus
|
||||
.~ TerminalLineRead
|
||||
where
|
||||
totm = cWorld . lWorld . terminals . ix tmid
|
||||
terminalReturnEffect tmid w = w
|
||||
-- fromMaybe w $ do
|
||||
-- tm' <- w ^? cWorld . lWorld . terminals . ix tmid
|
||||
-- let tm = tabComplete w tm'
|
||||
-- s <- tm ^? tmStatus . tiText
|
||||
-- let ss = fromMaybe [makeTermLine "ERROR: INPUT NOT RECOGNISED"] $ do
|
||||
-- let args = words s
|
||||
-- case args of
|
||||
-- [] -> return helpPara
|
||||
-- (x : _) -> do
|
||||
-- teff <- PTE.lookup x (getCommands w tm)
|
||||
-- let y = fromMaybe "" (args ^? ix 1)
|
||||
-- PTE.lookup y teff
|
||||
-- return $
|
||||
-- w
|
||||
-- & totm
|
||||
-- . tmDisplayedLines
|
||||
-- .:~ (getPromptTM ++ s, termTextColor)
|
||||
-- & totm
|
||||
-- . tmFutureLines
|
||||
-- .~ ss
|
||||
-- <> tlSetStatus (TerminalTextInput "")
|
||||
-- & totm
|
||||
-- . tmCommandHistory
|
||||
-- %~ take 10
|
||||
-- . (s :)
|
||||
-- & totm
|
||||
-- . tmStatus
|
||||
-- .~ TerminalLineRead
|
||||
-- where
|
||||
-- totm = cWorld . lWorld . terminals . ix tmid
|
||||
|
||||
@@ -422,7 +422,7 @@ updateKeysTextInputTerminal tmid u =
|
||||
| otherwise = id
|
||||
tryTabComplete
|
||||
| u ^. uvWorld . input . pressedKeys . at ScancodeTab == Just 0 =
|
||||
uvWorld . cWorld . lWorld . terminals . ix tmid %~ tabComplete (u ^. uvWorld)
|
||||
uvWorld . cWorld . lWorld . terminals . ix tmid %~ doTabComplete (u ^. uvWorld)
|
||||
| otherwise = id
|
||||
|
||||
updateKeyInGame :: Universe -> Scancode -> Int -> Universe
|
||||
|
||||
+67
-69
@@ -1,11 +1,9 @@
|
||||
--{-# LANGUAGE TupleSections #-}
|
||||
module Dodge.Update.Scroll (
|
||||
updateWheelEvent,
|
||||
) where
|
||||
module Dodge.Update.Scroll (updateWheelEvent) where
|
||||
|
||||
import Control.Applicative
|
||||
import Control.Monad
|
||||
import qualified Data.ListTrie.Patricia.Map.Enum as PTE
|
||||
--import qualified Data.ListTrie.Patricia.Map.Enum as PTE
|
||||
import qualified Data.Map.Strict as M
|
||||
import Data.Maybe
|
||||
import Dodge.Base
|
||||
@@ -130,74 +128,74 @@ moveCombineSel yi =
|
||||
|
||||
terminalWheelEvent :: Int -> Int -> World -> World
|
||||
terminalWheelEvent yi tmid w
|
||||
| w & has (input . mouseButtons . ix ButtonRight)
|
||||
, Just TerminalTextInput{} <- w ^? cWorld . lWorld . terminals . ix tmid . tmStatus =
|
||||
w & cWorld . lWorld . terminals . ix tmid %~ f
|
||||
| Just TerminalTextInput{} <- w ^? cWorld . lWorld . terminals . ix tmid . tmStatus =
|
||||
w & cWorld . lWorld . terminals . ix tmid %~ g
|
||||
-- | w & has (input . mouseButtons . ix ButtonRight)
|
||||
-- , Just TerminalTextInput{} <- w ^? cWorld . lWorld . terminals . ix tmid . tmStatus =
|
||||
-- w & cWorld . lWorld . terminals . ix tmid %~ f
|
||||
-- | Just TerminalTextInput{} <- w ^? cWorld . lWorld . terminals . ix tmid . tmStatus =
|
||||
-- w & cWorld . lWorld . terminals . ix tmid %~ f
|
||||
| otherwise = w
|
||||
where
|
||||
dowrap = if yi > 0 then wrapup else wrapdown
|
||||
wrapup s coms = PTE.findSuccessor s coms <|> PTE.findMin coms
|
||||
wrapdown s coms = PTE.findPredecessor s coms <|> PTE.findMax coms
|
||||
f tm = fromMaybe tm $ do
|
||||
let coms = getCommands w tm
|
||||
x <- tm ^? tmStatus . tiText
|
||||
let s = fromMaybe "" $ x ^? to words . ix 0
|
||||
(s', _) <- dowrap s coms
|
||||
return $ tm & tmStatus . tiText .~ s'
|
||||
g tm = fromMaybe tm $ do
|
||||
let coms = getCommands w tm
|
||||
x <- tm ^? tmStatus . tiText
|
||||
let s = fromMaybe "" $ x ^? to words . ix 0
|
||||
y = fromMaybe "" $ x ^? to words . ix 1
|
||||
(s', arg, _) <-
|
||||
if yi > 0
|
||||
then doubleFindSucc s y coms <|> doubleFindMin coms
|
||||
else doubleFindPred s y coms <|> doubleFindMax coms
|
||||
return $ tm & tmStatus . tiText .~ s' ++ " " ++ arg
|
||||
-- dowrap = if yi > 0 then wrapup else wrapdown
|
||||
-- wrapup s coms = recComFindSuccessor (words s) coms <|> recComFindMin coms
|
||||
-- wrapdown s coms = recComFindPredecessor (words s) coms <|> recComFindMax coms
|
||||
-- f tm = fromMaybe tm $ do
|
||||
-- let coms = getCommands w tm
|
||||
-- x <- tm ^? tmStatus . tiText
|
||||
-- let s = fromMaybe "" $ x ^? to words . ix 0
|
||||
-- (s', _) <- dowrap s coms
|
||||
-- return $ tm & tmStatus . tiText .~ unwords s'
|
||||
---- g tm = fromMaybe tm $ do
|
||||
---- let coms = getCommands w tm
|
||||
---- x <- tm ^? tmStatus . tiText
|
||||
---- let s = fromMaybe "" $ x ^? to words . ix 0
|
||||
---- y = fromMaybe "" $ x ^? to words . ix 1
|
||||
---- (s', arg, _) <-
|
||||
---- if yi > 0
|
||||
---- then doubleFindSucc s y coms <|> doubleFindMin coms
|
||||
---- else doubleFindPred s y coms <|> doubleFindMax coms
|
||||
---- return $ tm & tmStatus . tiText .~ s' ++ " " ++ arg
|
||||
|
||||
doubleFindMin :: (Enum a, Enum b) => PTE.TrieMap a (PTE.TrieMap b c) -> Maybe ([a], [b], c)
|
||||
doubleFindMin m = do
|
||||
(x, n) <- PTE.findMin m
|
||||
case PTE.findMin n of
|
||||
Just (y, z) -> Just (x, y, z)
|
||||
Nothing -> Nothing
|
||||
|
||||
doubleFindSucc :: (Enum a, Enum b) => [a] -> [b] -> PTE.TrieMap a (PTE.TrieMap b c) -> Maybe ([a], [b], c)
|
||||
doubleFindSucc xs ys m = case PTE.lookup xs m of
|
||||
Just m' -> case PTE.findSuccessor ys m' of
|
||||
Just (ys', z) -> Just (xs, ys', z)
|
||||
Nothing -> dfs xs m
|
||||
Nothing -> dfs xs m
|
||||
where
|
||||
dfs xs' m' = case PTE.findSuccessor xs' m' of
|
||||
Just (xs'', n) -> case PTE.findMin n of
|
||||
Just (ys', z) -> Just (xs'', ys', z)
|
||||
Nothing -> dfs xs'' m'
|
||||
Nothing -> Nothing
|
||||
|
||||
-- there are edge cases where this doesn't behave as might be expected
|
||||
doubleFindMax :: (Enum a, Enum b) => PTE.TrieMap a (PTE.TrieMap b c) -> Maybe ([a], [b], c)
|
||||
doubleFindMax m = do
|
||||
(x, n) <- PTE.findMax m
|
||||
case PTE.findMax n of
|
||||
Just (y, z) -> Just (x, y, z)
|
||||
Nothing -> Nothing
|
||||
|
||||
doubleFindPred ::
|
||||
(Enum a, Enum b) => [a] -> [b] -> PTE.TrieMap a (PTE.TrieMap b c) -> Maybe ([a], [b], c)
|
||||
doubleFindPred xs ys m = case PTE.lookup xs m of
|
||||
Just m' -> case PTE.findPredecessor ys m' of
|
||||
Just (ys', z) -> Just (xs, ys', z)
|
||||
Nothing -> dfs xs m
|
||||
Nothing -> dfs xs m
|
||||
where
|
||||
dfs xs' m' = case PTE.findPredecessor xs' m' of
|
||||
Just (xs'', n) -> case PTE.findMax n of
|
||||
Just (ys', z) -> Just (xs'', ys', z)
|
||||
Nothing -> dfs xs'' m'
|
||||
Nothing -> Nothing
|
||||
--doubleFindMin :: (Enum a, Enum b) => PTE.TrieMap a (PTE.TrieMap b c) -> Maybe ([a], [b], c)
|
||||
--doubleFindMin m = do
|
||||
-- (x, n) <- PTE.findMin m
|
||||
-- case PTE.findMin n of
|
||||
-- Just (y, z) -> Just (x, y, z)
|
||||
-- Nothing -> Nothing
|
||||
--
|
||||
--doubleFindSucc :: (Enum a, Enum b) => [a] -> [b] -> PTE.TrieMap a (PTE.TrieMap b c) -> Maybe ([a], [b], c)
|
||||
--doubleFindSucc xs ys m = case PTE.lookup xs m of
|
||||
-- Just m' -> case PTE.findSuccessor ys m' of
|
||||
-- Just (ys', z) -> Just (xs, ys', z)
|
||||
-- Nothing -> dfs xs m
|
||||
-- Nothing -> dfs xs m
|
||||
-- where
|
||||
-- dfs xs' m' = case PTE.findSuccessor xs' m' of
|
||||
-- Just (xs'', n) -> case PTE.findMin n of
|
||||
-- Just (ys', z) -> Just (xs'', ys', z)
|
||||
-- Nothing -> dfs xs'' m'
|
||||
-- Nothing -> Nothing
|
||||
--
|
||||
---- there are edge cases where this doesn't behave as might be expected
|
||||
--doubleFindMax :: (Enum a, Enum b) => PTE.TrieMap a (PTE.TrieMap b c) -> Maybe ([a], [b], c)
|
||||
--doubleFindMax m = do
|
||||
-- (x, n) <- PTE.findMax m
|
||||
-- case PTE.findMax n of
|
||||
-- Just (y, z) -> Just (x, y, z)
|
||||
-- Nothing -> Nothing
|
||||
--
|
||||
--doubleFindPred ::
|
||||
-- (Enum a, Enum b) => [a] -> [b] -> PTE.TrieMap a (PTE.TrieMap b c) -> Maybe ([a], [b], c)
|
||||
--doubleFindPred xs ys m = case PTE.lookup xs m of
|
||||
-- Just m' -> case PTE.findPredecessor ys m' of
|
||||
-- Just (ys', z) -> Just (xs, ys', z)
|
||||
-- Nothing -> dfs xs m
|
||||
-- Nothing -> dfs xs m
|
||||
-- where
|
||||
-- dfs xs' m' = case PTE.findPredecessor xs' m' of
|
||||
-- Just (xs'', n) -> case PTE.findMax n of
|
||||
-- Just (ys', z) -> Just (xs'', ys', z)
|
||||
-- Nothing -> dfs xs'' m'
|
||||
-- Nothing -> Nothing
|
||||
|
||||
scrollRBOption :: Int -> Int -> Int -> Int
|
||||
scrollRBOption dy ymax
|
||||
|
||||
@@ -1062,6 +1062,7 @@ QFloat src/Geometry/Data.hs 50;" t
|
||||
QuarterRes src/Dodge/Data/Config.hs 111;" C
|
||||
QuicksaveSlot src/Dodge/Data/SaveSlot.hs 8;" C
|
||||
RAM src/Dodge/Data/Item/Combine.hs 73;" C
|
||||
RCommands src/Dodge/Terminal.hs 166;" C
|
||||
RED src/Color/Data.hs 12;" C
|
||||
RELCURS src/Dodge/Data/Item/Combine.hs 40;" C
|
||||
RELITEM src/Dodge/Data/Item/Combine.hs 41;" C
|
||||
@@ -1085,6 +1086,7 @@ RandPS src/Dodge/Data/GenWorld.hs 55;" C
|
||||
RandomImpulse src/Dodge/Data/ActionPlan.hs 31;" C
|
||||
RandomTurn src/Dodge/Data/ActionPlan.hs 30;" C
|
||||
ReactorSS src/Dodge/Data/Scenario.hs 111;" C
|
||||
RecCommands src/Dodge/Terminal.hs 165;" t
|
||||
RecRoomSS src/Dodge/Data/Scenario.hs 103;" C
|
||||
RectRoomType src/Dodge/Data/Room.hs 33;" C
|
||||
ReducedRocketSmoke src/Dodge/Data/Projectile.hs 52;" C
|
||||
@@ -1279,6 +1281,7 @@ TCBase src/Dodge/Data/Terminal.hs 48;" C
|
||||
TCDamageCommand src/Dodge/Data/Terminal.hs 49;" C
|
||||
TCInfo src/Dodge/Data/Terminal.hs 47;" C
|
||||
TCom src/Dodge/Data/Terminal.hs 46;" t
|
||||
TCommands src/Dodge/Terminal.hs 57;" t
|
||||
TESLAGUN src/Dodge/Data/Item/Combine.hs 167;" C
|
||||
THERMOMETER src/Dodge/Data/Item/Combine.hs 83;" C
|
||||
THREELINES src/Dodge/Data/GenParams.hs 18;" C
|
||||
@@ -1301,6 +1304,11 @@ TSright src/Dodge/Data/Input.hs 58;" C
|
||||
TStab src/Dodge/Data/Input.hs 56;" C
|
||||
TSup src/Dodge/Data/Input.hs 59;" C
|
||||
TUBE src/Dodge/Data/Item/Combine.hs 51;" C
|
||||
TabComplete src/Dodge/Terminal.hs 161;" C
|
||||
TabCompletion src/Dodge/Terminal.hs 159;" t
|
||||
TabFail src/Dodge/Terminal.hs 163;" C
|
||||
TabMatch src/Dodge/Terminal.hs 160;" C
|
||||
TabMultiComplete src/Dodge/Terminal.hs 162;" C
|
||||
Tap src/Dodge/Data/SoundOrigin.hs 39;" C
|
||||
TargetCursor src/Dodge/Data/Item/Targeting.hs 12;" C
|
||||
TargetRBCreature src/Dodge/Data/Item/Targeting.hs 11;" C
|
||||
@@ -2160,6 +2168,7 @@ _pzDir src/Dodge/Data/PulseLaser.hs 14;" f
|
||||
_pzPhaseV src/Dodge/Data/PulseLaser.hs 12;" f
|
||||
_pzPos src/Dodge/Data/PulseLaser.hs 13;" f
|
||||
_pzTimer src/Dodge/Data/PulseLaser.hs 16;" f
|
||||
_rCommands src/Dodge/Terminal.hs 166;" f
|
||||
_radarBlips src/Dodge/Data/LWorld.hs 108;" f
|
||||
_radarSweeps src/Dodge/Data/LWorld.hs 104;" f
|
||||
_randGen src/Dodge/Data/World.hs 39;" f
|
||||
@@ -2892,7 +2901,7 @@ combineList src/Dodge/Combine.hs 21;" f
|
||||
combineRooms src/Dodge/Room/Procedural.hs 132;" f
|
||||
combineS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 704;" f
|
||||
combineTree src/Dodge/Tree/Compose.hs 67;" f
|
||||
commandColor src/Dodge/Terminal.hs 121;" f
|
||||
commandColor src/Dodge/Terminal.hs 128;" f
|
||||
commonPrefix src/Dodge/Debug/Terminal.hs 149;" f
|
||||
comp src/Quaternion.hs 61;" f
|
||||
compP2A src/Dodge/ShiftPoint.hs 11;" f
|
||||
@@ -3034,18 +3043,18 @@ damMatSideEffect src/Dodge/Material/Damage.hs 20;" f
|
||||
damThingHitWith src/Dodge/Damage.hs 72;" f
|
||||
damToExpBarrel src/Dodge/Barreloid.hs 53;" f
|
||||
damageBlock src/Dodge/Wall/Damage.hs 44;" f
|
||||
damageCodeCommand src/Dodge/Terminal.hs 62;" f
|
||||
damageCodeCommand src/Dodge/Terminal.hs 68;" f
|
||||
damageCrWl src/Dodge/Damage.hs 29;" f
|
||||
damageCrWlID src/Dodge/Damage.hs 23;" f
|
||||
damageCrystal src/Dodge/Material/Damage.hs 220;" f
|
||||
damageCrystal src/Dodge/Material/Damage.hs 222;" f
|
||||
damageDirection src/Dodge/Damage.hs 35;" f
|
||||
damageDirt src/Dodge/Material/Damage.hs 129;" f
|
||||
damageFlesh src/Dodge/Material/Damage.hs 96;" f
|
||||
damageGlass src/Dodge/Material/Damage.hs 154;" f
|
||||
damageDirt src/Dodge/Material/Damage.hs 130;" f
|
||||
damageFlesh src/Dodge/Material/Damage.hs 97;" f
|
||||
damageGlass src/Dodge/Material/Damage.hs 156;" f
|
||||
damageGlassBlock src/Dodge/Wall/Damage.hs 49;" f
|
||||
damageHP src/Dodge/Creature/Damage.hs 37;" f
|
||||
damageInCircle src/Dodge/Damage.hs 61;" f
|
||||
damageMetal src/Dodge/Material/Damage.hs 64;" f
|
||||
damageMetal src/Dodge/Material/Damage.hs 65;" f
|
||||
damageSensor src/Dodge/Placement/Instance/Sensor.hs 15;" f
|
||||
damageStone src/Dodge/Material/Damage.hs 33;" f
|
||||
damageThingHit src/Dodge/Bullet.hs 180;" f
|
||||
@@ -3080,7 +3089,7 @@ debugPutItems src/Dodge/Debug.hs 78;" f
|
||||
debugPutN src/Dodge/Debug.hs 84;" f
|
||||
debugShowPath src/Dodge/Debug.hs 105;" f
|
||||
debugWritableValues src/Dodge/Debug.hs 118;" f
|
||||
decodeSensorType src/Dodge/Terminal.hs 76;" f
|
||||
decodeSensorType src/Dodge/Terminal.hs 82;" f
|
||||
decomposeSelfTree src/Dodge/Tree/Compose.hs 61;" f
|
||||
decomposeTree src/Dodge/Tree/Compose.hs 58;" f
|
||||
decontamRoom src/Dodge/Room/Airlock.hs 38;" f
|
||||
@@ -3156,7 +3165,7 @@ destroyMatS src/Dodge/Material/Sound.hs 7;" f
|
||||
destroyMcType src/Dodge/Machine/Destroy.hs 22;" f
|
||||
destroyMount src/Dodge/Wall/Damage.hs 90;" f
|
||||
destroyMounts src/Dodge/Wall/Damage.hs 87;" f
|
||||
destroyProjectile src/Dodge/Projectile/Update.hs 109;" f
|
||||
destroyProjectile src/Dodge/Projectile/Update.hs 112;" f
|
||||
detV src/Geometry/Vector.hs 94;" f
|
||||
detector src/Dodge/Item/Held/Utility.hs 27;" f
|
||||
detectorColor src/Dodge/Item/Draw/SPic.hs 432;" f
|
||||
@@ -3193,7 +3202,7 @@ dmType src/Dodge/Damage.hs 38;" f
|
||||
doAimTwist src/Dodge/Creature/YourControl.hs 154;" f
|
||||
doAnyEquipmentEffect src/Dodge/Creature/State.hs 141;" f
|
||||
doBackspace src/Dodge/Update/Input/Text.hs 31;" f
|
||||
doBarrelSpin src/Dodge/Projectile/Update.hs 158;" f
|
||||
doBarrelSpin src/Dodge/Projectile/Update.hs 168;" f
|
||||
doBlBl src/Dodge/BlBl.hs 5;" f
|
||||
doBounce src/Dodge/Base/Collide.hs 67;" f
|
||||
doButtonEvent src/Dodge/Button/Event.hs 9;" f
|
||||
@@ -3240,14 +3249,15 @@ doRandImpulse src/Dodge/RandImpulse.hs 7;" f
|
||||
doRegexInput src/Dodge/Update/Input/InGame.hs 453;" f
|
||||
doRoomPlacements src/Dodge/Layout.hs 104;" f
|
||||
doRoomShift src/Dodge/Room/Link.hs 33;" f
|
||||
doScopeZoom src/Dodge/Update/Scroll.hs 91;" f
|
||||
doScopeZoom src/Dodge/Update/Scroll.hs 89;" f
|
||||
doSectionSize src/Dodge/DisplayInventory.hs 215;" f
|
||||
doSideEffects appDodge/Main.hs 117;" f
|
||||
doStrategyActions src/Dodge/Creature/ReaderUpdate.hs 172;" f
|
||||
doTabComplete src/Dodge/Terminal.hs 221;" f
|
||||
doTestDrawing src/Dodge/Render.hs 40;" 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 129;" f
|
||||
doThrust src/Dodge/Projectile/Update.hs 132;" f
|
||||
doTimeScroll src/Dodge/Update.hs 205;" f
|
||||
doTmWdWd src/Dodge/WorldEffect.hs 101;" f
|
||||
doWallRotate src/Dodge/Update/Camera.hs 227;" f
|
||||
@@ -3263,10 +3273,6 @@ doorLerp src/Dodge/Door.hs 40;" f
|
||||
dotV src/Geometry/Vector.hs 76;" f
|
||||
dotV3 src/Geometry/Vector3D.hs 119;" f
|
||||
doubleCorridorBarrels src/Dodge/Room/Room.hs 284;" f
|
||||
doubleFindMax src/Dodge/Update/Scroll.hs 181;" f
|
||||
doubleFindMin src/Dodge/Update/Scroll.hs 160;" f
|
||||
doubleFindPred src/Dodge/Update/Scroll.hs 188;" f
|
||||
doubleFindSucc src/Dodge/Update/Scroll.hs 167;" f
|
||||
doublePair src/Geometry.hs 162;" f
|
||||
doublePairSet src/Geometry.hs 166;" f
|
||||
doubleTreeToIndentList src/Dodge/DoubleTree.hs 129;" f
|
||||
@@ -3476,7 +3482,7 @@ expandPolyByFixed src/Dodge/LevelGen/StaticWalls.hs 97;" f
|
||||
expandPolyCorners src/Dodge/LevelGen/StaticWalls.hs 103;" f
|
||||
expandToSquare src/Dodge/LevelGen/StaticWalls/Deprecated.hs 83;" f
|
||||
expireAndDamage src/Dodge/Bullet.hs 188;" f
|
||||
explodeShell src/Dodge/Projectile/Update.hs 229;" f
|
||||
explodeShell src/Dodge/Projectile/Update.hs 274;" f
|
||||
explosionS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 656;" f
|
||||
explosiveBarrel src/Dodge/Creature/Inanimate.hs 25;" f
|
||||
extTrigLitPos src/Dodge/Placement/Instance/Button.hs 80;" f
|
||||
@@ -3597,8 +3603,8 @@ getAvailableListLines src/Dodge/SelectionList.hs 10;" f
|
||||
getBulHitDams src/Dodge/Bullet.hs 173;" f
|
||||
getBulletType src/Dodge/HeldUse.hs 906;" f
|
||||
getCloseObj src/Dodge/Update/Input/InGame.hs 539;" f
|
||||
getCommand src/Dodge/Terminal.hs 52;" f
|
||||
getCommands src/Dodge/Terminal.hs 49;" f
|
||||
getCommand src/Dodge/Terminal.hs 62;" f
|
||||
getCommands src/Dodge/Terminal.hs 59;" f
|
||||
getCrMoveSpeed src/Dodge/Creature/Statistics.hs 50;" f
|
||||
getCrsFromRooms src/Dodge/Room/Tutorial.hs 349;" f
|
||||
getCrsFromRooms' src/Dodge/Room/Tutorial.hs 336;" f
|
||||
@@ -3723,7 +3729,7 @@ heldItemWeight src/Dodge/Creature/Statistics.hs 80;" f
|
||||
heldPositionInfo src/Dodge/Item/Info.hs 240;" f
|
||||
heldTorqueAmount src/Dodge/HeldUse.hs 586;" f
|
||||
heldTriggerType src/Dodge/BaseTriggerType.hs 27;" f
|
||||
helpPara src/Dodge/Terminal.hs 97;" f
|
||||
helpPara src/Dodge/Terminal.hs 104;" f
|
||||
helpPoly3D src/Polyhedra.hs 125;" f
|
||||
heron src/Geometry.hs 218;" f
|
||||
hiToFloat src/Dodge/Room/Modify/Girder.hs 171;" f
|
||||
@@ -3896,7 +3902,7 @@ itemRooms src/Dodge/LockAndKey.hs 39;" f
|
||||
itemRotTreeSPic src/Dodge/Item/Draw/SPicTree.hs 16;" f
|
||||
itemSPic src/Dodge/Item/Draw/SPic.hs 17;" f
|
||||
itemScan src/Dodge/Item/Scope.hs 63;" f
|
||||
itemScroll src/Dodge/Update/Scroll.hs 57;" f
|
||||
itemScroll src/Dodge/Update/Scroll.hs 55;" f
|
||||
itemScrollDisplay src/Dodge/Inventory/SelectionList.hs 127;" f
|
||||
itemScrollValue src/Dodge/Inventory/SelectionList.hs 154;" f
|
||||
itemShapeMax src/Dodge/Item/Orientation.hs 56;" f
|
||||
@@ -4076,8 +4082,8 @@ makeBlockDebris src/Dodge/Block/Debris.hs 36;" f
|
||||
makeBullet src/Dodge/HeldUse.hs 971;" f
|
||||
makeButton src/Dodge/LevelGen/Switch.hs 16;" f
|
||||
makeCloudAt src/Dodge/WorldEvent/Cloud.hs 7;" f
|
||||
makeColorTermLine src/Dodge/Terminal.hs 118;" f
|
||||
makeColorTermPara src/Dodge/Terminal.hs 115;" f
|
||||
makeColorTermLine src/Dodge/Terminal.hs 125;" f
|
||||
makeColorTermPara src/Dodge/Terminal.hs 122;" f
|
||||
makeCorpse src/Dodge/Corpse/Make.hs 13;" f
|
||||
makeDebris src/Dodge/Block/Debris.hs 48;" f
|
||||
makeDebrisDirected src/Dodge/Block/Debris.hs 51;" f
|
||||
@@ -4107,8 +4113,8 @@ makeSourcedShader src/Shader/Compile.hs 54;" f
|
||||
makeSpark src/Dodge/Spark.hs 45;" f
|
||||
makeSubmenuOption src/Dodge/Menu/OptionType.hs 23;" f
|
||||
makeSwitch src/Dodge/LevelGen/Switch.hs 38;" f
|
||||
makeTermLine src/Dodge/Terminal.hs 103;" f
|
||||
makeTermPara src/Dodge/Terminal.hs 112;" f
|
||||
makeTermLine src/Dodge/Terminal.hs 110;" f
|
||||
makeTermPara src/Dodge/Terminal.hs 119;" f
|
||||
makeTeslaArc src/Dodge/Tesla.hs 29;" f
|
||||
makeTeslaExplosionAt src/Dodge/WorldEvent/Explosion.hs 39;" f
|
||||
makeTileFromPoly src/Tile.hs 34;" f
|
||||
@@ -4221,13 +4227,13 @@ mouseClickOptionsList src/Dodge/Update/Input/ScreenLayer.hs 70;" f
|
||||
mouseCursorType src/Dodge/Render/Picture.hs 90;" f
|
||||
mouseWorldPos src/Dodge/Base/Coordinate.hs 37;" f
|
||||
moveBullet src/Dodge/Bullet.hs 197;" f
|
||||
moveCombineSel src/Dodge/Update/Scroll.hs 121;" f
|
||||
moveCombineSel src/Dodge/Update/Scroll.hs 119;" f
|
||||
moveInverseShockwave src/Dodge/Shockwave/Update.hs 31;" f
|
||||
movePenBullet src/Dodge/Bullet.hs 203;" f
|
||||
moveProjectile src/Dodge/Projectile/Update.hs 210;" f
|
||||
moveProjectile src/Dodge/Projectile/Update.hs 249;" f
|
||||
moveRoomBy src/Dodge/Room/Link.hs 53;" f
|
||||
moveShockwave src/Dodge/Shockwave/Update.hs 13;" f
|
||||
moveStuckGrenade src/Dodge/Projectile/Update.hs 197;" f
|
||||
moveStuckGrenade src/Dodge/Projectile/Update.hs 228;" f
|
||||
moveToSideNthOutLink src/Dodge/Room/Warning.hs 96;" f
|
||||
moveWall src/Dodge/Wall/Move.hs 23;" f
|
||||
moveWallID src/Dodge/Wall/Move.hs 18;" f
|
||||
@@ -4388,7 +4394,7 @@ pingPongBetween src/Render.hs 210;" f
|
||||
pipe src/Dodge/Item/Craftable.hs 32;" f
|
||||
pistol src/Dodge/Item/Held/Stick.hs 40;" f
|
||||
pistolerRoom src/Dodge/Room/Room.hs 338;" f
|
||||
pjRemoteSetDirection src/Dodge/Projectile/Update.hs 173;" f
|
||||
pjRemoteSetDirection src/Dodge/Projectile/Update.hs 196;" f
|
||||
plBlock src/Dodge/Placement/PlaceSpot/Block.hs 24;" f
|
||||
plDoor src/Dodge/Placement/PlaceSpot/TriggerDoor.hs 12;" f
|
||||
plLineBlock src/Dodge/Placement/PlaceSpot/Block.hs 57;" f
|
||||
@@ -4565,7 +4571,7 @@ qToV2 src/Quaternion.hs 52;" f
|
||||
qToV3 src/Quaternion.hs 49;" f
|
||||
quarterRoomSquare src/Dodge/Room/Procedural.hs 193;" f
|
||||
quarterRoomTri src/Dodge/Room/Procedural.hs 157;" f
|
||||
quitCommand src/Dodge/Terminal.hs 100;" f
|
||||
quitCommand src/Dodge/Terminal.hs 107;" f
|
||||
qz src/Quaternion.hs 67;" f
|
||||
rLauncher src/Dodge/Item/Held/Launcher.hs 14;" f
|
||||
rLauncherX src/Dodge/Item/Held/Launcher.hs 30;" f
|
||||
@@ -4611,6 +4617,9 @@ randsSpread src/RandomHelp.hs 120;" f
|
||||
ratIntersectLineLine src/Geometry/Intersect.hs 216;" f
|
||||
rdToVec2s src/Dodge/Render.hs 424;" f
|
||||
readSaveSlot src/Dodge/Save.hs 45;" f
|
||||
recComFindMax src/Dodge/Terminal.hs 175;" f
|
||||
recComFindMin src/Dodge/Terminal.hs 169;" f
|
||||
recTabComplete src/Dodge/Terminal.hs 212;" f
|
||||
recoilAmount src/Dodge/HeldUse.hs 467;" f
|
||||
rectNSWE src/Geometry/Polygon.hs 15;" f
|
||||
rectVV src/Geometry/Polygon.hs 40;" f
|
||||
@@ -4791,7 +4800,7 @@ screenPosAbs src/Dodge/ScreenPos.hs 15;" f
|
||||
screenToWorldPos src/Dodge/Base/Coordinate.hs 40;" f
|
||||
scrollAugInvSel src/Dodge/Inventory.hs 191;" f
|
||||
scrollAugNextInSection src/Dodge/Inventory.hs 204;" f
|
||||
scrollRBOption src/Dodge/Update/Scroll.hs 202;" f
|
||||
scrollRBOption src/Dodge/Update/Scroll.hs 200;" f
|
||||
scrollSelectionSections src/Dodge/SelectionSections.hs 28;" f
|
||||
scrollTimeBack src/Dodge/Update.hs 215;" f
|
||||
scrollTimeForward src/Dodge/Update.hs 232;" f
|
||||
@@ -4817,7 +4826,7 @@ selSecDrawCursor src/Dodge/Render/List.hs 101;" f
|
||||
selSecSelCol src/Dodge/Render/HUD.hs 501;" f
|
||||
selSecSelSize src/Dodge/SelectionSections.hs 143;" f
|
||||
selSecYint src/Dodge/SelectionSections.hs 152;" f
|
||||
selectedItemScroll src/Dodge/Update/Scroll.hs 51;" f
|
||||
selectedItemScroll src/Dodge/Update/Scroll.hs 49;" f
|
||||
semitoneLoop1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 744;" f
|
||||
sensAboveDoor src/Dodge/Room/SensorDoor.hs 53;" f
|
||||
sensInsideDoor src/Dodge/Room/SensorDoor.hs 59;" f
|
||||
@@ -4887,8 +4896,8 @@ shapeVerxSize src/Shape/Parameters.hs 5;" f
|
||||
shatterGun src/Dodge/Item/Held/Weapons.hs 8;" f
|
||||
shatterGunSPic src/Dodge/Item/Draw/SPic.hs 313;" f
|
||||
shellExplosionCheck src/Dodge/Projectile/Update.hs 50;" f
|
||||
shellHitCreature src/Dodge/Projectile/Update.hs 81;" f
|
||||
shellHitFloor src/Dodge/Projectile/Update.hs 95;" f
|
||||
shellHitCreature src/Dodge/Projectile/Update.hs 84;" f
|
||||
shellHitFloor src/Dodge/Projectile/Update.hs 98;" f
|
||||
shellHitWall src/Dodge/Projectile/Update.hs 60;" f
|
||||
shellMag src/Dodge/Item/Ammo.hs 49;" f
|
||||
shellModule src/Dodge/Item/Scope.hs 123;" f
|
||||
@@ -4949,7 +4958,7 @@ shuffleRoomPos src/Dodge/Layout.hs 82;" f
|
||||
shuffleTail src/RandomHelp.hs 59;" f
|
||||
sigmoid src/Dodge/Base.hs 151;" f
|
||||
simpleCrSprings src/Dodge/Update.hs 876;" f
|
||||
simpleTermMessage src/Dodge/Terminal.hs 173;" f
|
||||
simpleTermMessage src/Dodge/Terminal.hs 260;" f
|
||||
sineRaisePitchOneSecS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 716;" f
|
||||
sineRaisePitchTwoSecS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 752;" f
|
||||
singleAmmo src/Dodge/Item/AmmoSlots.hs 64;" f
|
||||
@@ -5106,8 +5115,6 @@ t src/ShortShow.hs 48;" f
|
||||
tEast src/Dodge/Room/Corridor.hs 91;" f
|
||||
tToBTree src/Dodge/Tree/Compose.hs 92;" f
|
||||
tWest src/Dodge/Room/Corridor.hs 116;" f
|
||||
tabComplete src/Dodge/Terminal.hs 124;" f
|
||||
tabComplete' src/Dodge/Terminal.hs 130;" f
|
||||
takeN src/RandomHelp.hs 44;" f
|
||||
takeNMore src/RandomHelp.hs 41;" f
|
||||
takeOne src/RandomHelp.hs 22;" f
|
||||
@@ -5132,16 +5139,17 @@ targetYouLOS src/Dodge/Creature/ChooseTarget.hs 8;" f
|
||||
targetYouWhenCognizant src/Dodge/Creature/ReaderUpdate.hs 202;" f
|
||||
targetYouWhenCognizant src/Dodge/Creature/SetTarget.hs 9;" f
|
||||
targetingScope src/Dodge/Item/Scope.hs 38;" f
|
||||
tbComplete src/Dodge/Terminal.hs 202;" f
|
||||
teleS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 544;" f
|
||||
termScreenColor src/Dodge/Terminal/Color.hs 8;" f
|
||||
termSoundLine src/Dodge/Terminal.hs 43;" f
|
||||
termTextColor src/Dodge/Terminal.hs 46;" f
|
||||
termSoundLine src/Dodge/Terminal.hs 50;" f
|
||||
termTextColor src/Dodge/Terminal.hs 53;" f
|
||||
terminalLDP src/Dodge/ListDisplayParams.hs 44;" f
|
||||
terminalReturnEffect src/Dodge/Terminal.hs 177;" f
|
||||
terminalReturnEffect src/Dodge/Terminal.hs 264;" f
|
||||
terminalSPic src/Dodge/Machine/Draw.hs 47;" f
|
||||
terminalScreenGlow src/Dodge/Machine/Update.hs 44;" f
|
||||
terminalShape src/Dodge/Machine/Draw.hs 50;" f
|
||||
terminalWheelEvent src/Dodge/Update/Scroll.hs 131;" f
|
||||
terminalWheelEvent src/Dodge/Update/Scroll.hs 129;" f
|
||||
teslaGun src/Dodge/Item/Held/BatteryGuns.hs 19;" f
|
||||
teslaGunPic src/Dodge/Item/Draw/SPic.hs 410;" f
|
||||
teslaParams src/Dodge/Item/Held/BatteryGuns.hs 25;" f
|
||||
@@ -5150,13 +5158,13 @@ testInventory src/Dodge/Creature.hs 290;" f
|
||||
testStringInit src/Dodge/TestString.hs 34;" f
|
||||
text src/Picture/Base.hs 196;" f
|
||||
textGrad src/Picture/Text.hs 5;" f
|
||||
textInputBlurb src/Dodge/Terminal.hs 37;" f
|
||||
textInputBlurb src/Dodge/Terminal.hs 44;" f
|
||||
textInputFocus src/Dodge/InputFocus.hs 11;" f
|
||||
textJustifyCenter src/Picture/Base.hs 227;" f
|
||||
textJustifyLeft src/Picture/Base.hs 223;" f
|
||||
textJustifyRight src/Picture/Base.hs 213;" f
|
||||
textRight src/Picture/Base.hs 218;" f
|
||||
textTerminal src/Dodge/Terminal.hs 34;" f
|
||||
textTerminal src/Dodge/Terminal.hs 41;" f
|
||||
textVMirror src/Picture/Base.hs 231;" f
|
||||
tflat2 src/Picture/Data.hs 56;" f
|
||||
tflat3 src/Picture/Data.hs 60;" f
|
||||
@@ -5194,8 +5202,8 @@ tingS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 698;" f
|
||||
tinitusS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 802;" f
|
||||
titleOptionsMenu src/Dodge/Menu.hs 106;" f
|
||||
titleOptionsNoWrite src/Dodge/Menu.hs 109;" f
|
||||
tlDoEffect src/Dodge/Terminal.hs 109;" f
|
||||
tlSetStatus src/Dodge/Terminal.hs 106;" f
|
||||
tlDoEffect src/Dodge/Terminal.hs 116;" f
|
||||
tlSetStatus src/Dodge/Terminal.hs 113;" f
|
||||
tmDistributeAmmo src/Dodge/WorldEffect.hs 117;" f
|
||||
tmDistributeLines src/Dodge/Room/Room.hs 449;" f
|
||||
tmMachine src/Dodge/Placement/Instance/Terminal.hs 54;" f
|
||||
@@ -5213,7 +5221,7 @@ 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 315;" f
|
||||
toggleCommands src/Dodge/Terminal.hs 81;" f
|
||||
toggleCommands src/Dodge/Terminal.hs 87;" f
|
||||
toggleEquipmentAt src/Dodge/Creature/Impulse/UseItem.hs 67;" f
|
||||
toggleExamineInv src/Dodge/Creature/Impulse/UseItem.hs 105;" f
|
||||
toggleJust src/MaybeHelp.hs 39;" f
|
||||
@@ -5291,9 +5299,9 @@ tryPlay src/Sound.hs 84;" f
|
||||
tryPutItemInInv src/Dodge/Inventory/Add.hs 24;" f
|
||||
tryPutItemInInvAt src/Dodge/Inventory/Add.hs 54;" f
|
||||
trySeedFromClipboard src/Dodge/Menu.hs 96;" f
|
||||
trySpin src/Dodge/Projectile/Update.hs 117;" f
|
||||
trySpin src/Dodge/Projectile/Update.hs 120;" f
|
||||
trySynthBullet src/Dodge/Creature/State.hs 167;" f
|
||||
tryThrust src/Dodge/Projectile/Update.hs 123;" f
|
||||
tryThrust src/Dodge/Projectile/Update.hs 126;" f
|
||||
tryUseParent src/Dodge/Creature/State.hs 145;" f
|
||||
turnTo src/Dodge/Movement/Turn.hs 8;" f
|
||||
turretItemOffset src/Dodge/Item/HeldOffset.hs 22;" f
|
||||
@@ -5340,7 +5348,7 @@ updateArc src/Dodge/Tesla.hs 44;" f
|
||||
updateBackspaceRegex src/Dodge/Update/Input/InGame.hs 484;" f
|
||||
updateBarrel src/Dodge/Barreloid.hs 44;" f
|
||||
updateBarreloid src/Dodge/Barreloid.hs 16;" f
|
||||
updateBaseWheelEvent src/Dodge/Update/Scroll.hs 34;" f
|
||||
updateBaseWheelEvent src/Dodge/Update/Scroll.hs 32;" f
|
||||
updateBounds src/Dodge/Update/Camera.hs 265;" f
|
||||
updateBulVel src/Dodge/Bullet.hs 57;" f
|
||||
updateBullet src/Dodge/Bullet.hs 22;" f
|
||||
@@ -5428,7 +5436,7 @@ updateRandNode src/TreeHelp.hs 109;" f
|
||||
updateRenderSplit appDodge/Main.hs 104;" f
|
||||
updateRightParentSF src/Dodge/Item/Grammar.hs 181;" f
|
||||
updateRootItemID src/Dodge/Inventory/Location.hs 41;" f
|
||||
updateScopeZoom src/Dodge/Update/Scroll.hs 79;" f
|
||||
updateScopeZoom src/Dodge/Update/Scroll.hs 77;" f
|
||||
updateScrollTestValue src/Dodge/ScrollValue.hs 6;" f
|
||||
updateSection src/Dodge/DisplayInventory.hs 262;" f
|
||||
updateSectionsPositioning src/Dodge/DisplayInventory.hs 241;" f
|
||||
@@ -5452,7 +5460,7 @@ updateUseInputInGame src/Dodge/Update/Input/InGame.hs 46;" f
|
||||
updateUseInputOnScreen src/Dodge/Update/Input/ScreenLayer.hs 24;" f
|
||||
updateWalkCycle src/Dodge/Creature/State/WalkCycle.hs 11;" f
|
||||
updateWallDamages src/Dodge/Update/WallDamage.hs 15;" f
|
||||
updateWheelEvent src/Dodge/Update/Scroll.hs 25;" f
|
||||
updateWheelEvent src/Dodge/Update/Scroll.hs 23;" f
|
||||
updateWheelEvents src/Dodge/Update.hs 417;" f
|
||||
updateWorldEventFlag src/Dodge/Update.hs 121;" f
|
||||
updateWorldEventFlags src/Dodge/Update.hs 109;" f
|
||||
@@ -5655,7 +5663,7 @@ zoneWall src/Dodge/Zoning/Wall.hs 65;" f
|
||||
zonesAroundPoint src/Dodge/Zoning/Base.hs 98;" f
|
||||
zonesExtract src/Dodge/Zoning/Base.hs 62;" f
|
||||
zoomFloatingCamera src/Dodge/Update/Camera.hs 76;" f
|
||||
zoomInLongGun src/Dodge/Update/Scroll.hs 105;" f
|
||||
zoomOutLongGun src/Dodge/Update/Scroll.hs 113;" f
|
||||
zoomInLongGun src/Dodge/Update/Scroll.hs 103;" f
|
||||
zoomOutLongGun src/Dodge/Update/Scroll.hs 111;" f
|
||||
zoomScope src/Dodge/Item/Scope.hs 33;" f
|
||||
zoomSpeed src/Dodge/Update/Scroll.hs 102;" f
|
||||
zoomSpeed src/Dodge/Update/Scroll.hs 100;" f
|
||||
|
||||
Reference in New Issue
Block a user