Simplify buttons
This commit is contained in:
File diff suppressed because one or more lines are too long
@@ -10,13 +10,13 @@ import Control.Lens
|
|||||||
drawButton :: Button -> SPic
|
drawButton :: Button -> SPic
|
||||||
drawButton bt = case bt ^. btEvent of
|
drawButton bt = case bt ^. btEvent of
|
||||||
ButtonPress {_bpColor = col} -> defaultDrawButton col bt
|
ButtonPress {_bpColor = col} -> defaultDrawButton col bt
|
||||||
ButtonSimpleSwith {_bssColor1 = col1, _bssColor2 = col2} -> drawSwitch col1 col2 bt
|
ButtonSwitch {_bsColor1 = col1, _bsColor2 = col2} -> drawSwitch col1 col2 bt
|
||||||
ButtonAccessTerminal -> mempty
|
ButtonAccessTerminal -> mempty
|
||||||
ButtonDoNothing -> mempty
|
ButtonDoNothing -> mempty
|
||||||
|
|
||||||
drawSwitch :: Color -> Color -> Button -> SPic
|
drawSwitch :: Color -> Color -> Button -> SPic
|
||||||
drawSwitch col1 col2 bt
|
drawSwitch col1 col2 bt
|
||||||
| _btState bt == BtOff = flick $ pi / 4
|
| bt ^? btEvent . btOn == Just False = flick $ pi / 4
|
||||||
| otherwise = flick (negate (pi / 4))
|
| otherwise = flick (negate (pi / 4))
|
||||||
where
|
where
|
||||||
flick a = noPic
|
flick a = noPic
|
||||||
@@ -33,6 +33,6 @@ defaultDrawButton col bt = noPic
|
|||||||
)
|
)
|
||||||
where
|
where
|
||||||
buttonGeometry
|
buttonGeometry
|
||||||
| _btState bt == BtOff = rectNSWE 10 (-1) (- width) width
|
| bt ^? btEvent . btOn == Just False = rectNSWE 10 (-1) (- width) width
|
||||||
| otherwise = rectNSWE 2 (-1) (- width) width
|
| otherwise = rectNSWE 2 (-1) (- width) width
|
||||||
width = 8
|
width = 8
|
||||||
|
|||||||
+10
-13
@@ -9,26 +9,23 @@ import Dodge.WorldEffect
|
|||||||
doButtonEvent :: ButtonEvent -> Button -> World -> World
|
doButtonEvent :: ButtonEvent -> Button -> World -> World
|
||||||
doButtonEvent be = case be of
|
doButtonEvent be = case be of
|
||||||
ButtonDoNothing -> const id
|
ButtonDoNothing -> const id
|
||||||
ButtonPress newstate newevent thesound f c -> \b ->
|
ButtonPress True _ _ -> const id
|
||||||
|
ButtonPress False f _ -> \b ->
|
||||||
doWdWd f
|
doWdWd f
|
||||||
. set (cWorld . lWorld . buttons . ix (_btID b) . btState) newstate
|
. set (cWorld . lWorld . buttons . ix (_btID b) . btEvent . btOn) True
|
||||||
. set (cWorld . lWorld . buttons . ix (_btID b) . btEvent) newevent
|
. soundStart (LeverSound 0) (_btPos b) click1S Nothing
|
||||||
. soundStart (LeverSound 0) (_btPos b) thesound Nothing
|
ButtonSwitch oneff offeff _ _ _ -> flipSwitch oneff offeff
|
||||||
--ButtonSwitch onstate onevent onsound oneff offstate offevent offsound offeff -> undefined
|
|
||||||
ButtonSimpleSwith oneff offeff _ _ -> flipSwitch oneff offeff
|
|
||||||
ButtonAccessTerminal -> accessTerminal . _btTermMID
|
ButtonAccessTerminal -> accessTerminal . _btTermMID
|
||||||
|
|
||||||
flipSwitch :: WdWd -> WdWd -> Button -> World -> World
|
flipSwitch :: WdWd -> WdWd -> Button -> World -> World
|
||||||
flipSwitch oneff offeff bt
|
flipSwitch oneff offeff bt
|
||||||
| _btState bt == BtOff =
|
| _btOn (_btEvent bt) =
|
||||||
doWdWd oneff . dosound
|
|
||||||
. over (cWorld . lWorld . buttons . ix (_btID bt)) turnon
|
|
||||||
| otherwise =
|
|
||||||
doWdWd offeff . dosound
|
doWdWd offeff . dosound
|
||||||
. over (cWorld . lWorld . buttons . ix (_btID bt)) turnoff
|
. set (cWorld . lWorld . buttons . ix (_btID bt) . btEvent . btOn) False
|
||||||
|
| otherwise =
|
||||||
|
doWdWd oneff . dosound
|
||||||
|
. set (cWorld . lWorld . buttons . ix (_btID bt) . btEvent . btOn) True
|
||||||
where
|
where
|
||||||
turnon = (btState .~ BtOn)
|
|
||||||
turnoff = (btState .~ BtOff)
|
|
||||||
dosound = soundWithStatus ToStart (LeverSound 0) (_btPos bt) click1S Nothing
|
dosound = soundWithStatus ToStart (LeverSound 0) (_btPos bt) click1S Nothing
|
||||||
|
|
||||||
-- switchEffect b = case _btState b of
|
-- switchEffect b = case _btState b of
|
||||||
|
|||||||
@@ -11,28 +11,20 @@ import Data.Aeson
|
|||||||
import Data.Aeson.TH
|
import Data.Aeson.TH
|
||||||
import Dodge.Data.WorldEffect
|
import Dodge.Data.WorldEffect
|
||||||
import Geometry.Data
|
import Geometry.Data
|
||||||
import Sound.Data
|
|
||||||
|
|
||||||
--data ButtonDraw
|
|
||||||
-- = DefaultDrawButton Color
|
|
||||||
-- | DefaultDrawSwitch Color Color
|
|
||||||
-- | DrawNoButton
|
|
||||||
-- --deriving (Eq, Ord, Show, Read) --Generic, Flat)
|
|
||||||
|
|
||||||
data ButtonEvent
|
data ButtonEvent
|
||||||
= ButtonDoNothing
|
= ButtonDoNothing
|
||||||
| ButtonPress
|
| ButtonPress
|
||||||
{ _bpState :: ButtonState
|
{ _btOn :: Bool
|
||||||
, _bpEvent :: ButtonEvent
|
|
||||||
, _bpSound :: SoundID
|
|
||||||
, _bpEff :: WdWd
|
, _bpEff :: WdWd
|
||||||
, _bpColor :: Color
|
, _bpColor :: Color
|
||||||
}
|
}
|
||||||
| ButtonSimpleSwith
|
| ButtonSwitch
|
||||||
{ _bonEff :: WdWd
|
{ _bonEff :: WdWd
|
||||||
, _boffEff :: WdWd
|
, _boffEff :: WdWd
|
||||||
, _bssColor1 :: Color
|
, _bsColor1 :: Color
|
||||||
, _bssColor2 :: Color
|
, _bsColor2 :: Color
|
||||||
|
, _btOn :: Bool
|
||||||
}
|
}
|
||||||
| ButtonAccessTerminal
|
| ButtonAccessTerminal
|
||||||
--deriving (Eq, Show, Read) --, Generic)
|
--deriving (Eq, Show, Read) --, Generic)
|
||||||
@@ -46,7 +38,7 @@ data Button = Button
|
|||||||
, _btEvent :: ButtonEvent --Button -> World -> World
|
, _btEvent :: ButtonEvent --Button -> World -> World
|
||||||
, _btID :: Int
|
, _btID :: Int
|
||||||
-- , _btText :: String
|
-- , _btText :: String
|
||||||
, _btState :: ButtonState
|
-- , _btState :: ButtonState
|
||||||
, _btTermMID :: Maybe Int
|
, _btTermMID :: Maybe Int
|
||||||
, _btName :: String
|
, _btName :: String
|
||||||
, _btColor :: Color
|
, _btColor :: Color
|
||||||
@@ -54,12 +46,12 @@ data Button = Button
|
|||||||
--deriving (Eq, Show, Read) --, Generic)
|
--deriving (Eq, Show, Read) --, Generic)
|
||||||
--h--deriving (Eq, Show, Read) --Generic, Flat)
|
--h--deriving (Eq, Show, Read) --Generic, Flat)
|
||||||
|
|
||||||
data ButtonState = BtOn | BtOff | BtInactive
|
--data ButtonState = BtOn | BtOff | BtInactive
|
||||||
deriving Eq -- (Eq, Ord, Show, Read) --Generic, Flat)
|
-- deriving Eq -- (Eq, Ord, Show, Read) --Generic, Flat)
|
||||||
|
|
||||||
makeLenses ''Button
|
makeLenses ''Button
|
||||||
makeLenses ''ButtonEvent
|
makeLenses ''ButtonEvent
|
||||||
--deriveJSON defaultOptions ''ButtonDraw
|
--deriveJSON defaultOptions ''ButtonDraw
|
||||||
deriveJSON defaultOptions ''ButtonState
|
--deriveJSON defaultOptions ''ButtonState
|
||||||
deriveJSON defaultOptions ''ButtonEvent
|
deriveJSON defaultOptions ''ButtonEvent
|
||||||
deriveJSON defaultOptions ''Button
|
deriveJSON defaultOptions ''Button
|
||||||
|
|||||||
@@ -55,7 +55,7 @@ data WdBl
|
|||||||
| WdBlNegate WdBl
|
| WdBlNegate WdBl
|
||||||
| WdBlCrFilterNearPoint Float Point2 CrBl
|
| WdBlCrFilterNearPoint Float Point2 CrBl
|
||||||
| WdBlBtOn Int
|
| WdBlBtOn Int
|
||||||
| WdBlBtNotOff Int
|
-- | WdBlBtNotOff Int
|
||||||
--deriving (Eq, Ord, Show, Read) --Generic, Flat)
|
--deriving (Eq, Ord, Show, Read) --Generic, Flat)
|
||||||
|
|
||||||
data WdP2f
|
data WdP2f
|
||||||
|
|||||||
@@ -18,7 +18,6 @@ import Dodge.Default.Creature
|
|||||||
import Dodge.Default.Item
|
import Dodge.Default.Item
|
||||||
import Dodge.Default.Terminal
|
import Dodge.Default.Terminal
|
||||||
import Dodge.Default.Wall
|
import Dodge.Default.Wall
|
||||||
import Dodge.SoundLogic
|
|
||||||
import Geometry
|
import Geometry
|
||||||
import Picture
|
import Picture
|
||||||
|
|
||||||
@@ -51,10 +50,9 @@ defaultButton =
|
|||||||
Button
|
Button
|
||||||
{ _btPos = V2 0 0
|
{ _btPos = V2 0 0
|
||||||
, _btRot = 0
|
, _btRot = 0
|
||||||
, _btEvent = ButtonPress BtInactive ButtonDoNothing click1S NoWorldEffect
|
, _btEvent = ButtonPress False NoWorldEffect (dark red)
|
||||||
(dark red)
|
|
||||||
, _btID = 0
|
, _btID = 0
|
||||||
, _btState = BtOff
|
-- , _btState = BtOff
|
||||||
, _btTermMID = Nothing
|
, _btTermMID = Nothing
|
||||||
, _btName = ""
|
, _btName = ""
|
||||||
, _btColor = red
|
, _btColor = red
|
||||||
|
|||||||
@@ -130,7 +130,7 @@ updateCloseObjects w =
|
|||||||
isclose pos = dist ypos pos < 40 && hasButtonLOS ypos pos w
|
isclose pos = dist ypos pos < 40 && hasButtonLOS ypos pos w
|
||||||
ypos = _crPos $ you w
|
ypos = _crPos $ you w
|
||||||
activeButtons =
|
activeButtons =
|
||||||
filter ((/=) BtInactive . _btState)
|
filter ((/= Just True) . (^? btEvent . btOn))
|
||||||
. IM.elems
|
. IM.elems
|
||||||
$ w ^. cWorld . lWorld . buttons
|
$ w ^. cWorld . lWorld . buttons
|
||||||
|
|
||||||
|
|||||||
@@ -234,10 +234,9 @@ btText :: Button -> String
|
|||||||
btText bt = case _btEvent bt of
|
btText bt = case _btEvent bt of
|
||||||
ButtonDoNothing -> "UNPRESSABLE BUTTON"
|
ButtonDoNothing -> "UNPRESSABLE BUTTON"
|
||||||
ButtonPress {} -> "BUTTON"
|
ButtonPress {} -> "BUTTON"
|
||||||
ButtonSimpleSwith {} -> case _btState bt of
|
ButtonSwitch {_btOn = t} -> case t of
|
||||||
BtOn -> "SWITCH\\"
|
True -> "SWITCH\\"
|
||||||
BtOff -> "SWITCH/"
|
False -> "SWITCH/"
|
||||||
BtInactive -> "INACTIVE SWITCH"
|
|
||||||
ButtonAccessTerminal -> "TERMINAL"
|
ButtonAccessTerminal -> "TERMINAL"
|
||||||
|
|
||||||
closeItemToTextPictures :: FloorItem -> ([String], Color)
|
closeItemToTextPictures :: FloorItem -> ([String], Color)
|
||||||
|
|||||||
@@ -1,55 +1,63 @@
|
|||||||
module Dodge.LevelGen.Switch
|
module Dodge.LevelGen.Switch (
|
||||||
( makeSwitch
|
makeSwitch,
|
||||||
, makeButton
|
makeButton,
|
||||||
, makeSwitchSPic
|
makeSwitchSPic,
|
||||||
, drawSwitchWire
|
drawSwitchWire,
|
||||||
) where
|
) where
|
||||||
|
|
||||||
import Dodge.Data.Button
|
import Dodge.Data.Button
|
||||||
import Dodge.Data.WorldEffect
|
import Dodge.Data.WorldEffect
|
||||||
import Dodge.Default
|
import Dodge.Default
|
||||||
import Dodge.SoundLogic
|
|
||||||
import Picture
|
|
||||||
import ShapePicture
|
|
||||||
import Shape
|
|
||||||
import Geometry
|
import Geometry
|
||||||
|
import Picture
|
||||||
|
import Shape
|
||||||
|
import ShapePicture
|
||||||
|
import Control.Lens
|
||||||
|
|
||||||
makeButton
|
makeButton ::
|
||||||
:: Color
|
Color ->
|
||||||
-> WdWd -- ^ Effect when pressed
|
-- | Effect when pressed
|
||||||
-> Button
|
WdWd ->
|
||||||
makeButton col eff = defaultButton
|
Button
|
||||||
{ _btEvent = ButtonPress BtInactive ButtonDoNothing click1S eff col
|
makeButton col eff =
|
||||||
, _btState = BtOff
|
defaultButton
|
||||||
}
|
{ -- { _btEvent = ButtonPress BtInactive ButtonDoNothing click1S eff col
|
||||||
|
_btEvent = ButtonPress False eff col
|
||||||
|
-- , _btState = BtOff
|
||||||
|
}
|
||||||
|
|
||||||
-- TODO remove duplication
|
-- TODO remove duplication
|
||||||
drawSwitchWire :: Color -> Color -> Button -> SPic
|
drawSwitchWire :: Color -> Color -> Button -> SPic
|
||||||
drawSwitchWire col1 col2 bt
|
drawSwitchWire col1 col2 bt
|
||||||
| _btState bt == BtOff = flick $ pi/4
|
| bt ^? btEvent . btOn == Just False = flick $ pi / 4
|
||||||
| otherwise = flick (negate (pi/4))
|
| otherwise = flick (negate (pi / 4))
|
||||||
where
|
where
|
||||||
flick a = noPic ( mconcat
|
flick a =
|
||||||
[ colorSH col1 . translateSHz 10 . upperBox Small Typical 10 $ rectNSWE (-2) (-5) (-10) 10
|
noPic
|
||||||
, colorSH col2 . translateSH (V3 0 (-2) 15) . rotateSH a . upperBox Small Typical 2
|
( mconcat
|
||||||
$ rectNSWE 10 0 (-2) 2
|
[ colorSH col1 . translateSHz 10 . upperBox Small Typical 10 $ rectNSWE (-2) (-5) (-10) 10
|
||||||
]
|
, colorSH col2 . translateSH (V3 0 (-2) 15) . rotateSH a . upperBox Small Typical 2 $
|
||||||
)
|
rectNSWE 10 0 (-2) 2
|
||||||
|
]
|
||||||
|
)
|
||||||
|
|
||||||
makeSwitchSPic
|
makeSwitchSPic ::
|
||||||
:: Color
|
Color ->
|
||||||
-> Color
|
Color ->
|
||||||
-> WdWd -- ^ Switch on effect
|
-- | Switch on effect
|
||||||
-> WdWd -- ^ Switch off effect
|
WdWd ->
|
||||||
-> Button
|
-- | Switch off effect
|
||||||
makeSwitchSPic c1 c2 effOn effOff = defaultButton
|
WdWd ->
|
||||||
{ _btEvent = ButtonSimpleSwith effOn effOff c1 c2
|
Button
|
||||||
, _btState = BtOff
|
makeSwitchSPic c1 c2 effOn effOff =
|
||||||
}
|
defaultButton & btEvent .~ ButtonSwitch effOn effOff c1 c2 False
|
||||||
|
|
||||||
makeSwitch
|
makeSwitch ::
|
||||||
:: Color
|
Color ->
|
||||||
-> Color
|
Color ->
|
||||||
-> WdWd -- ^ Switch on effect
|
-- | Switch on effect
|
||||||
-> WdWd -- ^ Switch off effect
|
WdWd ->
|
||||||
-> Button
|
-- | Switch off effect
|
||||||
|
WdWd ->
|
||||||
|
Button
|
||||||
makeSwitch col1 col2 = makeSwitchSPic col1 col2
|
makeSwitch col1 col2 = makeSwitchSPic col1 col2
|
||||||
|
|||||||
@@ -55,7 +55,6 @@ termButton =
|
|||||||
, _btRot = 0
|
, _btRot = 0
|
||||||
, _btEvent = ButtonAccessTerminal
|
, _btEvent = ButtonAccessTerminal
|
||||||
, _btID = 0
|
, _btID = 0
|
||||||
, _btState = BtOff
|
|
||||||
, _btTermMID = Nothing
|
, _btTermMID = Nothing
|
||||||
, _btName = ""
|
, _btName = ""
|
||||||
, _btColor = dark magenta
|
, _btColor = dark magenta
|
||||||
|
|||||||
@@ -73,7 +73,8 @@ twinSlowDoorRoom w h x =
|
|||||||
thedoor btid =
|
thedoor btid =
|
||||||
defaultDoor
|
defaultDoor
|
||||||
& drSpeed .~ wlSpeed
|
& drSpeed .~ wlSpeed
|
||||||
& drTrigger .~ WdBlBtNotOff btid
|
-- & drTrigger .~ WdBlBtNotOff btid
|
||||||
|
& drTrigger .~ WdBlBtOn btid
|
||||||
col = dim $ dim $ bright red
|
col = dim $ dim $ bright red
|
||||||
|
|
||||||
twinSlowDoorChasers :: RandomGen g => State g Room
|
twinSlowDoorChasers :: RandomGen g => State g Room
|
||||||
@@ -134,7 +135,8 @@ addButtonSlowDoor x h rm = do
|
|||||||
putDoubleDoorThen
|
putDoubleDoorThen
|
||||||
DoorObstacle
|
DoorObstacle
|
||||||
thewall
|
thewall
|
||||||
(WdBlBtNotOff $ fromJust $ _plMID btplmnt)
|
-- (WdBlBtNotOff $ fromJust $ _plMID btplmnt)
|
||||||
|
(WdBlBtOn $ fromJust $ _plMID btplmnt)
|
||||||
30
|
30
|
||||||
(V2 0 h)
|
(V2 0 h)
|
||||||
(V2 x h)
|
(V2 x h)
|
||||||
|
|||||||
@@ -15,8 +15,6 @@ doWdBl wb w = case wb of
|
|||||||
dr <- w ^? cWorld . lWorld . doors . ix i
|
dr <- w ^? cWorld . lWorld . doors . ix i
|
||||||
return (DoorHalfway == _drStatus dr)
|
return (DoorHalfway == _drStatus dr)
|
||||||
WdBlCrFilterNearPoint r p t -> any (crNearPoint r p) (IM.filter (doCrBl t) (w ^. cWorld . lWorld . creatures))
|
WdBlCrFilterNearPoint r p t -> any (crNearPoint r p) (IM.filter (doCrBl t) (w ^. cWorld . lWorld . creatures))
|
||||||
--WdBlBtOn btid -> _btState (_buttons (_cWorld w) IM.! btid) == BtOn -- unsafe
|
WdBlBtOn btid -> (w ^?! cWorld . lWorld . buttons . ix btid . btEvent . btOn) -- unsafe
|
||||||
WdBlBtOn btid -> (w ^?! cWorld . lWorld . buttons . ix btid . btState) == BtOn -- unsafe
|
-- WdBlBtNotOff btid -> (w ^?! cWorld . lWorld . buttons . ix btid . btState) /= BtOff -- unsafe
|
||||||
--WdBlBtNotOff btid -> _btState (_buttons (_cWorld w) IM.! btid) /= BtOff -- unsafe
|
|
||||||
WdBlBtNotOff btid -> (w ^?! cWorld . lWorld . buttons . ix btid . btState) /= BtOff -- unsafe
|
|
||||||
WdBlNegate x -> not $ doWdBl x w
|
WdBlNegate x -> not $ doWdBl x w
|
||||||
|
|||||||
@@ -215,9 +215,9 @@ Branch src/Dodge/Room/Branch.hs 4;" m
|
|||||||
Breather src/Dodge/Room/Breather.hs 1;" m
|
Breather src/Dodge/Room/Breather.hs 1;" m
|
||||||
BrigSS src/Dodge/Data/Scenario.hs 102;" C
|
BrigSS src/Dodge/Data/Scenario.hs 102;" C
|
||||||
Brute src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 17;" C
|
Brute src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 17;" C
|
||||||
BtInactive src/Dodge/Data/Button.hs 63;" C
|
BtInactive src/Dodge/Data/Button.hs 51;" C
|
||||||
BtOff src/Dodge/Data/Button.hs 63;" C
|
BtOff src/Dodge/Data/Button.hs 51;" C
|
||||||
BtOn src/Dodge/Data/Button.hs 63;" C
|
BtOn src/Dodge/Data/Button.hs 51;" C
|
||||||
BulBall src/Dodge/Data/Bullet.hs 37;" C
|
BulBall src/Dodge/Data/Bullet.hs 37;" C
|
||||||
BulFlak src/Dodge/Data/Bullet.hs 39;" C
|
BulFlak src/Dodge/Data/Bullet.hs 39;" C
|
||||||
BulFrag src/Dodge/Data/Bullet.hs 40;" C
|
BulFrag src/Dodge/Data/Bullet.hs 40;" C
|
||||||
@@ -239,16 +239,15 @@ BulletPayload src/Dodge/Data/Bullet.hs 36;" t
|
|||||||
BulletTrajectory src/Dodge/Data/Bullet.hs 44;" t
|
BulletTrajectory src/Dodge/Data/Bullet.hs 44;" t
|
||||||
BulletTrajectoryType src/Dodge/Data/Bullet.hs 51;" t
|
BulletTrajectoryType src/Dodge/Data/Bullet.hs 51;" t
|
||||||
BurstTrigger src/Dodge/Data/TriggerType.hs 14;" C
|
BurstTrigger src/Dodge/Data/TriggerType.hs 14;" C
|
||||||
Button src/Dodge/Data/Button.hs 48;" t
|
Button src/Dodge/Data/Button.hs 35;" t
|
||||||
Button src/Dodge/Data/Button.hs 6;" m
|
Button src/Dodge/Data/Button.hs 6;" m
|
||||||
Button src/Dodge/Placement/Instance/Button.hs 1;" m
|
Button src/Dodge/Placement/Instance/Button.hs 1;" m
|
||||||
ButtonAccessTerminal src/Dodge/Data/Button.hs 44;" C
|
ButtonAccessTerminal src/Dodge/Data/Button.hs 31;" C
|
||||||
ButtonDoNothing src/Dodge/Data/Button.hs 23;" C
|
ButtonDoNothing src/Dodge/Data/Button.hs 17;" C
|
||||||
ButtonDraw src/Dodge/Data/Button.hs 16;" t
|
ButtonEvent src/Dodge/Data/Button.hs 16;" t
|
||||||
ButtonEvent src/Dodge/Data/Button.hs 22;" t
|
ButtonPress src/Dodge/Data/Button.hs 18;" C
|
||||||
ButtonPress src/Dodge/Data/Button.hs 24;" C
|
ButtonSimpleSwith src/Dodge/Data/Button.hs 25;" C
|
||||||
ButtonSimpleSwith src/Dodge/Data/Button.hs 40;" C
|
ButtonState src/Dodge/Data/Button.hs 51;" t
|
||||||
ButtonState src/Dodge/Data/Button.hs 63;" t
|
|
||||||
CAMERA src/Dodge/Data/Item/Combine.hs 75;" C
|
CAMERA src/Dodge/Data/Item/Combine.hs 75;" C
|
||||||
CAN src/Dodge/Data/Item/Combine.hs 56;" C
|
CAN src/Dodge/Data/Item/Combine.hs 56;" C
|
||||||
CDoNothing src/Dodge/Data/Item/HeldUse.hs 15;" C
|
CDoNothing src/Dodge/Data/Item/HeldUse.hs 15;" C
|
||||||
@@ -493,8 +492,6 @@ DecorationShape src/Dodge/Data/GenParams.hs 20;" t
|
|||||||
Default src/Dodge/Default.hs 7;" m
|
Default src/Dodge/Default.hs 7;" m
|
||||||
Default src/Dodge/Tesla/Arc/Default.hs 1;" m
|
Default src/Dodge/Tesla/Arc/Default.hs 1;" m
|
||||||
DefaultCrGroupUpdate src/Dodge/Data/CrGroupParams.hs 22;" C
|
DefaultCrGroupUpdate src/Dodge/Data/CrGroupParams.hs 22;" C
|
||||||
DefaultDrawButton src/Dodge/Data/Button.hs 17;" C
|
|
||||||
DefaultDrawSwitch src/Dodge/Data/Button.hs 18;" C
|
|
||||||
DefaultForceField src/Dodge/Data/Item/Use/Consumption/Ammo.hs 11;" C
|
DefaultForceField src/Dodge/Data/Item/Use/Consumption/Ammo.hs 11;" C
|
||||||
DefaultLightSourceDraw src/Dodge/Data/LightSource.hs 13;" C
|
DefaultLightSourceDraw src/Dodge/Data/LightSource.hs 13;" C
|
||||||
DefaultRoomType src/Dodge/Data/Room.hs 31;" C
|
DefaultRoomType src/Dodge/Data/Room.hs 31;" C
|
||||||
@@ -579,7 +576,6 @@ Draw src/Dodge/Tesla/Draw.hs 1;" m
|
|||||||
Draw src/Dodge/TractorBeam/Draw.hs 1;" m
|
Draw src/Dodge/TractorBeam/Draw.hs 1;" m
|
||||||
Draw src/Dodge/Wall/Draw.hs 1;" m
|
Draw src/Dodge/Wall/Draw.hs 1;" m
|
||||||
DrawForceField src/Dodge/Data/Wall.hs 47;" C
|
DrawForceField src/Dodge/Data/Wall.hs 47;" C
|
||||||
DrawNoButton src/Dodge/Data/Button.hs 19;" C
|
|
||||||
DrawnWall src/Dodge/Data/Wall.hs 43;" C
|
DrawnWall src/Dodge/Data/Wall.hs 43;" C
|
||||||
Drone src/Dodge/Item/Weapon/Drone.hs 1;" m
|
Drone src/Dodge/Item/Weapon/Drone.hs 1;" m
|
||||||
DroneAmmo src/Dodge/Data/AmmoType.hs 10;" C
|
DroneAmmo src/Dodge/Data/AmmoType.hs 10;" C
|
||||||
@@ -2313,23 +2309,23 @@ _bmPoints src/Dodge/Data/Beam.hs 24;" f
|
|||||||
_bmPos src/Dodge/Data/Beam.hs 20;" f
|
_bmPos src/Dodge/Data/Beam.hs 20;" f
|
||||||
_bmRange src/Dodge/Data/Beam.hs 26;" f
|
_bmRange src/Dodge/Data/Beam.hs 26;" f
|
||||||
_bmType src/Dodge/Data/Beam.hs 29;" f
|
_bmType src/Dodge/Data/Beam.hs 29;" f
|
||||||
_boffEff src/Dodge/Data/Button.hs 42;" f
|
_boffEff src/Dodge/Data/Button.hs 27;" f
|
||||||
_bonEff src/Dodge/Data/Button.hs 41;" f
|
_bonEff src/Dodge/Data/Button.hs 26;" f
|
||||||
_bounceTolerance src/Dodge/Data/Projectile.hs 57;" f
|
_bounceTolerance src/Dodge/Data/Projectile.hs 57;" f
|
||||||
_bpEff src/Dodge/Data/Button.hs 28;" f
|
_bpColor src/Dodge/Data/Button.hs 23;" f
|
||||||
_bpEvent src/Dodge/Data/Button.hs 26;" f
|
_bpEff src/Dodge/Data/Button.hs 22;" f
|
||||||
_bpSound src/Dodge/Data/Button.hs 27;" f
|
_bpSound src/Dodge/Data/Button.hs 21;" f
|
||||||
_bpState src/Dodge/Data/Button.hs 25;" f
|
_bpState src/Dodge/Data/Button.hs 19;" f
|
||||||
_btColor src/Dodge/Data/Button.hs 58;" f
|
_bssColor1 src/Dodge/Data/Button.hs 28;" f
|
||||||
_btEvent src/Dodge/Data/Button.hs 52;" f
|
_bssColor2 src/Dodge/Data/Button.hs 29;" f
|
||||||
_btID src/Dodge/Data/Button.hs 53;" f
|
_btColor src/Dodge/Data/Button.hs 46;" f
|
||||||
_btName src/Dodge/Data/Button.hs 57;" f
|
_btEvent src/Dodge/Data/Button.hs 40;" f
|
||||||
_btPict src/Dodge/Data/Button.hs 49;" f
|
_btID src/Dodge/Data/Button.hs 41;" f
|
||||||
_btPos src/Dodge/Data/Button.hs 50;" f
|
_btName src/Dodge/Data/Button.hs 45;" f
|
||||||
_btRot src/Dodge/Data/Button.hs 51;" f
|
_btPos src/Dodge/Data/Button.hs 38;" f
|
||||||
_btState src/Dodge/Data/Button.hs 55;" f
|
_btRot src/Dodge/Data/Button.hs 39;" f
|
||||||
_btTermMID src/Dodge/Data/Button.hs 56;" f
|
_btState src/Dodge/Data/Button.hs 43;" f
|
||||||
_btText src/Dodge/Data/Button.hs 54;" f
|
_btTermMID src/Dodge/Data/Button.hs 44;" f
|
||||||
_buDam src/Dodge/Data/Bullet.hs 38;" f
|
_buDam src/Dodge/Data/Bullet.hs 38;" f
|
||||||
_buDrag src/Dodge/Data/Bullet.hs 23;" f
|
_buDrag src/Dodge/Data/Bullet.hs 23;" f
|
||||||
_buEffect src/Dodge/Data/Bullet.hs 19;" f
|
_buEffect src/Dodge/Data/Bullet.hs 19;" f
|
||||||
@@ -3553,6 +3549,7 @@ branchWith src/Dodge/Room/Room.hs 67;" f
|
|||||||
bright src/Color.hs 120;" f
|
bright src/Color.hs 120;" f
|
||||||
brightX src/Color.hs 116;" f
|
brightX src/Color.hs 116;" f
|
||||||
btSPic src/Dodge/Render/ShapePicture.hs 106;" f
|
btSPic src/Dodge/Render/ShapePicture.hs 106;" f
|
||||||
|
btText src/Dodge/Inventory/SelectionList.hs 233;" f
|
||||||
bufferEBO src/Shader/Bind.hs 28;" f
|
bufferEBO src/Shader/Bind.hs 28;" f
|
||||||
bufferPokedVBO src/Shader/Bind.hs 19;" f
|
bufferPokedVBO src/Shader/Bind.hs 19;" f
|
||||||
bufferShaderLayers src/Shader/Bind.hs 36;" f
|
bufferShaderLayers src/Shader/Bind.hs 36;" f
|
||||||
@@ -3630,7 +3627,7 @@ circleDecoration src/Dodge/Placement/TopDecoration.hs 56;" f
|
|||||||
circleSolid src/Picture/Base.hs 164;" f
|
circleSolid src/Picture/Base.hs 164;" f
|
||||||
circleSolidCol src/Picture/Base.hs 168;" f
|
circleSolidCol src/Picture/Base.hs 168;" f
|
||||||
clAlt src/Dodge/Cloud.hs 5;" f
|
clAlt src/Dodge/Cloud.hs 5;" f
|
||||||
clClSpringVel src/Dodge/Update.hs 788;" f
|
clClSpringVel src/Dodge/Update.hs 786;" f
|
||||||
clColor src/Shader/Poke/Cloud.hs 35;" f
|
clColor src/Shader/Poke/Cloud.hs 35;" f
|
||||||
clZoneSize src/Dodge/Zone/Size.hs 3;" f
|
clZoneSize src/Dodge/Zone/Size.hs 3;" f
|
||||||
clZoneSize src/Dodge/Zoning/Cloud.hs 21;" f
|
clZoneSize src/Dodge/Zoning/Cloud.hs 21;" f
|
||||||
@@ -3654,7 +3651,7 @@ clipZoom src/Dodge/Update/Camera.hs 222;" f
|
|||||||
clockCycle src/Dodge/Clock.hs 9;" f
|
clockCycle src/Dodge/Clock.hs 9;" f
|
||||||
closeButtonToSelectionItem src/Dodge/Inventory/SelectionList.hs 219;" f
|
closeButtonToSelectionItem src/Dodge/Inventory/SelectionList.hs 219;" f
|
||||||
closeItemToSelectionItem src/Dodge/Inventory/SelectionList.hs 204;" f
|
closeItemToSelectionItem src/Dodge/Inventory/SelectionList.hs 204;" f
|
||||||
closeItemToTextPictures src/Dodge/Inventory/SelectionList.hs 233;" f
|
closeItemToTextPictures src/Dodge/Inventory/SelectionList.hs 243;" f
|
||||||
closeObjectInfo src/Dodge/Render/HUD.hs 224;" f
|
closeObjectInfo src/Dodge/Render/HUD.hs 224;" f
|
||||||
closestCreatureID src/Dodge/Debug.hs 116;" f
|
closestCreatureID src/Dodge/Debug.hs 116;" f
|
||||||
closestPointOnLine src/Geometry/Intersect.hs 251;" f
|
closestPointOnLine src/Geometry/Intersect.hs 251;" f
|
||||||
@@ -3732,7 +3729,7 @@ crAwayFromPost src/Dodge/Creature/Test.hs 81;" f
|
|||||||
crBlips src/Dodge/RadarSweep.hs 87;" f
|
crBlips src/Dodge/RadarSweep.hs 87;" f
|
||||||
crCamouflage src/Dodge/Creature/Picture.hs 31;" f
|
crCamouflage src/Dodge/Creature/Picture.hs 31;" f
|
||||||
crCanSeeCr src/Dodge/Creature/Test.hs 50;" f
|
crCanSeeCr src/Dodge/Creature/Test.hs 50;" f
|
||||||
crCrSpring src/Dodge/Update.hs 816;" f
|
crCrSpring src/Dodge/Update.hs 814;" f
|
||||||
crCurrentEquipment src/Dodge/Creature/Statistics.hs 57;" f
|
crCurrentEquipment src/Dodge/Creature/Statistics.hs 57;" f
|
||||||
crDexterity src/Dodge/Creature/Statistics.hs 14;" f
|
crDexterity src/Dodge/Creature/Statistics.hs 14;" f
|
||||||
crDisplayAwareness src/Dodge/Creature/Picture/Awareness.hs 38;" f
|
crDisplayAwareness src/Dodge/Creature/Picture/Awareness.hs 38;" f
|
||||||
@@ -3760,7 +3757,7 @@ crRad src/Dodge/Creature/Radius.hs 7;" f
|
|||||||
crSafeDistFromTarg src/Dodge/Creature/Test.hs 71;" f
|
crSafeDistFromTarg src/Dodge/Creature/Test.hs 71;" f
|
||||||
crSetRoots src/Dodge/Inventory/Location.hs 48;" f
|
crSetRoots src/Dodge/Inventory/Location.hs 48;" f
|
||||||
crShape src/Dodge/Creature/Shape.hs 8;" f
|
crShape src/Dodge/Creature/Shape.hs 8;" f
|
||||||
crSpring src/Dodge/Update.hs 811;" f
|
crSpring src/Dodge/Update.hs 809;" f
|
||||||
crStratConMatches src/Dodge/Creature/Test.hs 76;" f
|
crStratConMatches src/Dodge/Creature/Test.hs 76;" f
|
||||||
crStrength src/Dodge/Creature/Statistics.hs 24;" f
|
crStrength src/Dodge/Creature/Statistics.hs 24;" f
|
||||||
crUpdate src/Dodge/Creature/State.hs 62;" f
|
crUpdate src/Dodge/Creature/State.hs 62;" f
|
||||||
@@ -3921,7 +3918,7 @@ defaultDirtWall src/Dodge/Default/Wall.hs 61;" f
|
|||||||
defaultDisplayInventory src/Dodge/Default/World.hs 167;" f
|
defaultDisplayInventory src/Dodge/Default/World.hs 167;" f
|
||||||
defaultDoor src/Dodge/Default/Door.hs 29;" f
|
defaultDoor src/Dodge/Default/Door.hs 29;" f
|
||||||
defaultDoorWall src/Dodge/Default/Wall.hs 32;" f
|
defaultDoorWall src/Dodge/Default/Wall.hs 32;" f
|
||||||
defaultDrawButton src/Dodge/Button/Draw.hs 28;" f
|
defaultDrawButton src/Dodge/Button/Draw.hs 29;" f
|
||||||
defaultEquip src/Dodge/Default/Item/Use/Equipment.hs 6;" f
|
defaultEquip src/Dodge/Default/Item/Use/Equipment.hs 6;" f
|
||||||
defaultEquipUse src/Dodge/Default/Item/Use.hs 7;" f
|
defaultEquipUse src/Dodge/Default/Item/Use.hs 7;" f
|
||||||
defaultEquipment src/Dodge/Default.hs 25;" f
|
defaultEquipment src/Dodge/Default.hs 25;" f
|
||||||
@@ -3941,10 +3938,10 @@ defaultListDisplayParams src/Dodge/ListDisplayParams.hs 18;" f
|
|||||||
defaultMachine src/Dodge/Default.hs 31;" f
|
defaultMachine src/Dodge/Default.hs 31;" f
|
||||||
defaultMachineWall src/Dodge/Default/Wall.hs 48;" f
|
defaultMachineWall src/Dodge/Default/Wall.hs 48;" f
|
||||||
defaultMuzzles src/Dodge/Default/Item/Use/AimParams.hs 8;" f
|
defaultMuzzles src/Dodge/Default/Item/Use/AimParams.hs 8;" f
|
||||||
defaultPP src/Dodge/Default.hs 64;" f
|
defaultPP src/Dodge/Default.hs 63;" f
|
||||||
defaultPerceptionState src/Dodge/Default/Creature.hs 73;" f
|
defaultPerceptionState src/Dodge/Default/Creature.hs 73;" f
|
||||||
defaultProp src/Dodge/Default/Prop.hs 6;" f
|
defaultProp src/Dodge/Default/Prop.hs 6;" f
|
||||||
defaultProximitySensor src/Dodge/Default.hs 75;" f
|
defaultProximitySensor src/Dodge/Default.hs 74;" f
|
||||||
defaultRoom src/Dodge/Default/Room.hs 9;" f
|
defaultRoom src/Dodge/Default/Room.hs 9;" f
|
||||||
defaultSensorWall src/Dodge/Default/Wall.hs 58;" f
|
defaultSensorWall src/Dodge/Default/Wall.hs 58;" f
|
||||||
defaultSwitchWall src/Dodge/Default/Door.hs 22;" f
|
defaultSwitchWall src/Dodge/Default/Door.hs 22;" f
|
||||||
@@ -4116,7 +4113,7 @@ drawBlip src/Dodge/RadarBlip.hs 16;" f
|
|||||||
drawBlock src/Dodge/Block/Draw.hs 7;" f
|
drawBlock src/Dodge/Block/Draw.hs 7;" f
|
||||||
drawBoundingBox src/Dodge/Debug/Picture.hs 331;" f
|
drawBoundingBox src/Dodge/Debug/Picture.hs 331;" f
|
||||||
drawBul src/Dodge/Bullet/Draw.hs 9;" f
|
drawBul src/Dodge/Bullet/Draw.hs 9;" f
|
||||||
drawButton src/Dodge/Button/Draw.hs 9;" f
|
drawButton src/Dodge/Button/Draw.hs 10;" f
|
||||||
drawCPUShadows src/Dodge/Render/Shadow.hs 19;" f
|
drawCPUShadows src/Dodge/Render/Shadow.hs 19;" f
|
||||||
drawCircCollisionTest src/Dodge/Debug/Picture.hs 111;" f
|
drawCircCollisionTest src/Dodge/Debug/Picture.hs 111;" f
|
||||||
drawCollisionTest src/Dodge/Debug/Picture.hs 103;" f
|
drawCollisionTest src/Dodge/Debug/Picture.hs 103;" f
|
||||||
@@ -4210,8 +4207,8 @@ drawShockwave src/Dodge/Shockwave/Draw.hs 7;" f
|
|||||||
drawSpark src/Dodge/Spark/Draw.hs 7;" f
|
drawSpark src/Dodge/Spark/Draw.hs 7;" f
|
||||||
drawStaticBall src/Dodge/EnergyBall/Draw.hs 27;" f
|
drawStaticBall src/Dodge/EnergyBall/Draw.hs 27;" f
|
||||||
drawSubInventory src/Dodge/Render/HUD.hs 161;" f
|
drawSubInventory src/Dodge/Render/HUD.hs 161;" f
|
||||||
drawSwitch src/Dodge/Button/Draw.hs 15;" f
|
drawSwitch src/Dodge/Button/Draw.hs 16;" f
|
||||||
drawSwitchWire src/Dodge/LevelGen/Switch.hs 28;" f
|
drawSwitchWire src/Dodge/LevelGen/Switch.hs 27;" 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
|
||||||
drawTeslaArc src/Dodge/Tesla/Arc/Draw.hs 7;" f
|
drawTeslaArc src/Dodge/Tesla/Arc/Draw.hs 7;" f
|
||||||
@@ -4256,7 +4253,7 @@ dtToRootIntMap' src/Dodge/DoubleTree.hs 92;" f
|
|||||||
dtToUpDownAdj src/Dodge/DoubleTree.hs 96;" f
|
dtToUpDownAdj src/Dodge/DoubleTree.hs 96;" f
|
||||||
dummyMenuOption src/Dodge/Menu/Option.hs 74;" f
|
dummyMenuOption src/Dodge/Menu/Option.hs 74;" f
|
||||||
dustColor src/Shader/Poke/Cloud.hs 71;" f
|
dustColor src/Shader/Poke/Cloud.hs 71;" f
|
||||||
dustSpringVel src/Dodge/Update.hs 798;" f
|
dustSpringVel src/Dodge/Update.hs 796;" f
|
||||||
ebColor src/Dodge/EnergyBall.hs 94;" f
|
ebColor src/Dodge/EnergyBall.hs 94;" f
|
||||||
ebDamage src/Dodge/EnergyBall.hs 102;" f
|
ebDamage src/Dodge/EnergyBall.hs 102;" f
|
||||||
ebEffect src/Dodge/EnergyBall.hs 49;" f
|
ebEffect src/Dodge/EnergyBall.hs 49;" f
|
||||||
@@ -4947,8 +4944,8 @@ makeShrapnelAt src/Dodge/Payload.hs 24;" f
|
|||||||
makeSourcedShader src/Shader/Compile.hs 167;" f
|
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 52;" f
|
makeSwitch src/Dodge/LevelGen/Switch.hs 50;" f
|
||||||
makeSwitchSPic src/Dodge/LevelGen/Switch.hs 40;" f
|
makeSwitchSPic src/Dodge/LevelGen/Switch.hs 39;" f
|
||||||
makeTermLine src/Dodge/Terminal.hs 120;" f
|
makeTermLine src/Dodge/Terminal.hs 120;" f
|
||||||
makeTermPara src/Dodge/Terminal.hs 123;" f
|
makeTermPara src/Dodge/Terminal.hs 123;" f
|
||||||
makeTeslaArc src/Dodge/Tesla.hs 29;" f
|
makeTeslaArc src/Dodge/Tesla.hs 29;" f
|
||||||
@@ -5815,7 +5812,7 @@ shuffleLinks src/Dodge/Room/Link.hs 30;" f
|
|||||||
shuffleRoomPos src/Dodge/Layout.hs 78;" f
|
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 807;" f
|
simpleCrSprings src/Dodge/Update.hs 805;" f
|
||||||
simpleTermMessage src/Dodge/Terminal.hs 253;" f
|
simpleTermMessage src/Dodge/Terminal.hs 253;" f
|
||||||
sineRaisePitchOneSecS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 610;" f
|
sineRaisePitchOneSecS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 610;" f
|
||||||
sineRaisePitchTwoSecS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 420;" f
|
sineRaisePitchTwoSecS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 420;" f
|
||||||
@@ -6000,7 +5997,7 @@ termButton src/Dodge/Placement/Instance/Terminal.hs 51;" f
|
|||||||
termScreenColor src/Dodge/Terminal/Color.hs 9;" f
|
termScreenColor src/Dodge/Terminal/Color.hs 9;" f
|
||||||
termSoundLine src/Dodge/Terminal.hs 111;" f
|
termSoundLine src/Dodge/Terminal.hs 111;" f
|
||||||
termTextColor src/Dodge/Terminal.hs 114;" f
|
termTextColor src/Dodge/Terminal.hs 114;" f
|
||||||
terminalColor src/Dodge/Placement/Instance/Terminal.hs 66;" f
|
terminalColor src/Dodge/Placement/Instance/Terminal.hs 64;" f
|
||||||
terminalReturnEffect src/Dodge/Terminal.hs 276;" f
|
terminalReturnEffect src/Dodge/Terminal.hs 276;" 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
|
||||||
@@ -6224,7 +6221,7 @@ updateCreature src/Dodge/Creature/Update.hs 13;" f
|
|||||||
updateCreatureGroups src/Dodge/Update.hs 520;" f
|
updateCreatureGroups src/Dodge/Update.hs 520;" f
|
||||||
updateCreatureSoundPositions src/Dodge/Update.hs 496;" f
|
updateCreatureSoundPositions src/Dodge/Update.hs 496;" f
|
||||||
updateDebugMessageOffset src/Dodge/Update.hs 95;" f
|
updateDebugMessageOffset src/Dodge/Update.hs 95;" f
|
||||||
updateDelayedEvents src/Dodge/Update.hs 836;" f
|
updateDelayedEvents src/Dodge/Update.hs 834;" f
|
||||||
updateDisplaySections src/Dodge/DisplayInventory.hs 116;" f
|
updateDisplaySections src/Dodge/DisplayInventory.hs 116;" f
|
||||||
updateDistortion src/Dodge/Distortion.hs 5;" f
|
updateDistortion src/Dodge/Distortion.hs 5;" f
|
||||||
updateDistortions src/Dodge/Update.hs 541;" f
|
updateDistortions src/Dodge/Update.hs 541;" f
|
||||||
|
|||||||
Reference in New Issue
Block a user