From f69d150e008bb332f175072865ab1b4169fbac04 Mon Sep 17 00:00:00 2001 From: justin Date: Tue, 1 Oct 2024 02:46:18 +0100 Subject: [PATCH] Cleanup --- ghcidOutput | 2 +- src/Dodge/Beam.hs | 125 ++++++++--------- src/Dodge/Data/Item/Params.hs | 24 ++-- src/Dodge/Data/LWorld.hs | 22 +-- src/Dodge/Default/World.hs | 4 +- src/Dodge/HeldUse.hs | 43 +++--- src/Dodge/Item/Held/BatteryGuns.hs | 1 - src/Dodge/Item/Weapon.hs | 4 +- src/Dodge/Item/Weapon/BatteryGuns.hs | 49 +++---- src/Dodge/Render/HUD.hs | 9 +- src/Dodge/Render/ShapePicture.hs | 4 +- src/Dodge/Update.hs | 108 +++++++-------- tags | 199 +++++++++++---------------- 13 files changed, 276 insertions(+), 318 deletions(-) diff --git a/ghcidOutput b/ghcidOutput index 431c5a4ca..fd38f4e64 100644 --- a/ghcidOutput +++ b/ghcidOutput @@ -1 +1 @@ -All good (605 modules, at 02:23:18) +All good (605 modules, at 02:45:29) diff --git a/src/Dodge/Beam.hs b/src/Dodge/Beam.hs index c231c664a..55ffc56bd 100644 --- a/src/Dodge/Beam.hs +++ b/src/Dodge/Beam.hs @@ -1,70 +1,63 @@ -module Dodge.Beam where +module Dodge.Beam + () where -import Data.Maybe -import Dodge.Data.World -import Dodge.Flame -import Dodge.Item.Location -import Dodge.Tesla.Arc -import Geometry -import LensHelp -import Picture +--import Data.Maybe +--import Dodge.Data.World +--import Dodge.Flame +--import Dodge.Item.Location +--import Dodge.Tesla.Arc +--import Geometry +--import LensHelp +--import Picture -doBeamCombine :: - BeamCombineType -> - (Point2, (Point2, Point2, Beam), (Point2, Point2, Beam)) -> - World -> - World -doBeamCombine bct = case bct of - FlameBeamCombine -> flameBeamCombine - LasBeamCombine -> lasBeamCombine - TeslaBeamCombine -> teslaBeamCombine - SplitBeamCombine -> splitBeamCombine - NoBeamCombine -> const id -flameBeamCombine :: - (Point2, (Point2, Point2, Beam), (Point2, Point2, Beam)) -> - World -> - World -flameBeamCombine (p, (a, b, _), (x, y, _)) = - makeFlame p (2 *.* normalizeV (normalizeV (b -.- a) +.+ normalizeV (y -.- x))) +--doBeamCombine :: +-- BeamCombineType -> +-- (Point2, (Point2, Point2, Beam), (Point2, Point2, Beam)) -> +-- World -> +-- World +--doBeamCombine bct = case bct of +-- FlameBeamCombine -> flameBeamCombine +-- LasBeamCombine -> lasBeamCombine +-- TeslaBeamCombine -> teslaBeamCombine +-- SplitBeamCombine -> splitBeamCombine +-- NoBeamCombine -> const id +-- +--flameBeamCombine :: +-- (Point2, (Point2, Point2, Beam), (Point2, Point2, Beam)) -> +-- World -> +-- World +--flameBeamCombine (p, (a, b, _), (x, y, _)) = +-- makeFlame p (2 *.* normalizeV (normalizeV (b -.- a) +.+ normalizeV (y -.- x))) +-- +--lasBeamCombine :: +-- (Point2, (Point2, Point2, Beam), (Point2, Point2, Beam)) -> +-- World -> +-- World +--lasBeamCombine (p, (a, b, _), (x, y, _)) = +-- cWorld . lWorld . lasers .:~ lasRayAt yellow 11 1 p (argV (normalizeV (b -.- a) +.+ normalizeV (y -.- x))) +-- +--splitBeamCombine :: +-- (Point2, (Point2, Point2, Beam), (Point2, Point2, Beam)) -> +-- World -> +-- World +--splitBeamCombine (p, (a, b, _), (x, y, _)) = +-- (cWorld . lWorld . lasers .:~ lasRayAt yellow 11 1 p (dir + 0.5 * pi)) +-- . (cWorld . lWorld . lasers .:~ lasRayAt yellow 11 1 p (dir -0.5 * pi)) +-- where +-- dir = argV (normalizeV (b -.- a) +.+ normalizeV (y -.- x)) +-- +--teslaBeamCombine :: +-- (Point2, (Point2, Point2, Beam), (Point2, Point2, Beam)) -> +-- World -> +-- World +--teslaBeamCombine (p, (a, b, bm), (x, y, _)) w = +-- w' & pointerToItemLocation (w ^?! cWorld . lWorld . itemLocations . ix itid) . itParams . subParams ?~ ip +-- where +-- itid = fromJust $ _bmOrigin bm +-- dir = argV (normalizeV (b -.- a) +.+ normalizeV (y -.- x)) +-- (w', ip) = makeTeslaArc (fromJust . _subParams $ _itParams it) p dir w +-- it = case getItem itid w of +-- Nothing -> error "tried to get item use teslaBeamCombine that doesn't exist" +-- Just itm -> itm -lasBeamCombine :: - (Point2, (Point2, Point2, Beam), (Point2, Point2, Beam)) -> - World -> - World -lasBeamCombine (p, (a, b, _), (x, y, _)) = - cWorld . lWorld . lasers .:~ lasRayAt yellow 11 1 p (argV (normalizeV (b -.- a) +.+ normalizeV (y -.- x))) - -splitBeamCombine :: - (Point2, (Point2, Point2, Beam), (Point2, Point2, Beam)) -> - World -> - World -splitBeamCombine (p, (a, b, _), (x, y, _)) = - (cWorld . lWorld . lasers .:~ lasRayAt yellow 11 1 p (dir + 0.5 * pi)) - . (cWorld . lWorld . lasers .:~ lasRayAt yellow 11 1 p (dir -0.5 * pi)) - where - dir = argV (normalizeV (b -.- a) +.+ normalizeV (y -.- x)) - -teslaBeamCombine :: - (Point2, (Point2, Point2, Beam), (Point2, Point2, Beam)) -> - World -> - World -teslaBeamCombine (p, (a, b, bm), (x, y, _)) w = - w' & pointerToItemLocation (w ^?! cWorld . lWorld . itemLocations . ix itid) . itParams . subParams ?~ ip - where - itid = fromJust $ _bmOrigin bm - dir = argV (normalizeV (b -.- a) +.+ normalizeV (y -.- x)) - (w', ip) = makeTeslaArc (fromJust . _subParams $ _itParams it) p dir w - it = case getItem itid w of - Nothing -> error "tried to get item use teslaBeamCombine that doesn't exist" - Just itm -> itm - -lasRayAt :: Color -> Int -> Float -> Point2 -> Float -> LaserStart -lasRayAt col dam phasev pos dir = - LaserStart - { _lpType = DamageLaser dam - , _lpPhaseV = phasev - , _lpPos = pos - , _lpDir = dir - , _lpColor = col - } diff --git a/src/Dodge/Data/Item/Params.hs b/src/Dodge/Data/Item/Params.hs index b9dd7bc2b..de4bdcd37 100644 --- a/src/Dodge/Data/Item/Params.hs +++ b/src/Dodge/Data/Item/Params.hs @@ -10,8 +10,7 @@ import Control.Lens import Data.Aeson import Data.Aeson.TH import Dodge.Data.ArcStep -import Dodge.Data.Beam -import Geometry.Data +--import Dodge.Data.Beam data ItemParams = NoParams @@ -28,17 +27,16 @@ data ItemParams , _lasCycle :: Int , _lasDamage :: Int } - | DualBeam - { _phaseV :: Float - , _lasColor :: Color - , _lasColor2 :: Color - , _lasCycle :: Int - , _lasDamage :: Int - , _lasBeam :: BeamType - , _subParams :: Maybe ItemParams - , _dbGap :: Float - } - | Attracting {_attractionPower :: Point2} +-- | DualBeam +-- { _phaseV :: Float +-- , _lasColor :: Color +-- , _lasColor2 :: Color +-- , _lasCycle :: Int +-- , _lasDamage :: Int +-- , _lasBeam :: BeamType +-- , _subParams :: Maybe ItemParams +-- , _dbGap :: Float +-- } | Arcing { _currentArc :: Maybe [ArcStep] , _arcSize :: Float diff --git a/src/Dodge/Data/LWorld.hs b/src/Dodge/Data/LWorld.hs index b30dd9f81..095ec794b 100644 --- a/src/Dodge/Data/LWorld.hs +++ b/src/Dodge/Data/LWorld.hs @@ -112,8 +112,8 @@ data LWorld = LWorld , _sparks :: [Spark] , _radarBlips :: [RadarBlip] , _flares :: [Flare] - , _newBeams :: WorldBeams - , _beams :: WorldBeams +-- , _newBeams :: WorldBeams +-- , _beams :: WorldBeams , _teslaArcs :: [TeslaArc] , _shockwaves :: [Shockwave] , _lasers :: [LaserStart] @@ -147,18 +147,18 @@ data LWorld = LWorld , _lTestString :: [String] , _lTestInt :: Int } -data WorldBeams = WorldBeams - { _blockingBeams :: [Beam] - , _lightBeams :: [Beam] - , _positronBeams :: [Beam] - , _electronBeams :: [Beam] - } +--data WorldBeams = WorldBeams +-- { _blockingBeams :: [Beam] +-- , _lightBeams :: [Beam] +-- , _positronBeams :: [Beam] +-- , _electronBeams :: [Beam] +-- } makeLenses ''LWorld -makeLenses ''WorldBeams +--makeLenses ''WorldBeams concat <$> mapM (deriveJSON defaultOptions) - [ ''WorldBeams - , ''LWorld + [-- ''WorldBeams + ''LWorld ] diff --git a/src/Dodge/Default/World.hs b/src/Dodge/Default/World.hs index 8b154342f..deb8cfd9a 100644 --- a/src/Dodge/Default/World.hs +++ b/src/Dodge/Default/World.hs @@ -110,8 +110,8 @@ defaultLWorld = , _energyBalls = [] , _radarBlips = [] , _flares = [] - , _newBeams = WorldBeams [] [] [] [] - , _beams = WorldBeams [] [] [] [] +-- , _newBeams = WorldBeams [] [] [] [] +-- , _beams = WorldBeams [] [] [] [] , _teslaArcs = [] , _shockwaves = [] , _lasers = [] diff --git a/src/Dodge/HeldUse.hs b/src/Dodge/HeldUse.hs index e1e7d0b80..0e50b51af 100644 --- a/src/Dodge/HeldUse.hs +++ b/src/Dodge/HeldUse.hs @@ -5,6 +5,7 @@ module Dodge.HeldUse ) where +import Color.Data import Dodge.Base.Coordinate import Dodge.Base.Collide import Dodge.Inventory.Lock @@ -24,7 +25,7 @@ import Data.Maybe import Dodge.Creature.HandPos import Dodge.Data.World import Dodge.Gas -import Dodge.Item.Weapon.BatteryGuns +--import Dodge.Item.Weapon.BatteryGuns --import Dodge.Item.Weapon.Launcher import Dodge.Item.Weapon.Radar import Dodge.Item.Weapon.Shatter @@ -187,9 +188,9 @@ useLoadedAmmo _ _ (cme,w) (_,Nothing) = (cme, w) useLoadedAmmo itmtree cr (cme,w) (mzid,Just (mz,x,magtree)) = (,) (cme & cmeSound .~ True) $ removeAmmoFromMag x mid cr . makeMuzzleFlare mz itm cr $ case _mzEffect mz of MuzzleShootBullet -> shootBullet itmtree cr (mz,x,magtree) w - MuzzleLaser -> shootLaser' itm cr mz w + MuzzleLaser -> shootLaser itm cr mz w MuzzleTesla -> shootTeslaArc itm cr mz w - MuzzleTractor -> shootTractorBeam itm cr w + MuzzleTractor -> shootTractorBeam cr w MuzzleLauncher -> createProjectile magtree mz itmtree cr w MuzzleNozzle {} -> useGasParams mid mz itm cr $ walkNozzle mzid mz itm cr w MuzzleShatter -> shootShatter itm cr w @@ -219,15 +220,15 @@ walkNozzle mzid mz itm cr w = fromMaybe w $ do wa = min maxa $ max (negate maxa) (_nzCurrentWalkAngle nz + walkamount) -shootTractorBeam :: Item -> Creature -> World -> World -shootTractorBeam itm cr w = w & cWorld . lWorld . tractorBeams .:~ tractorBeamAt spos outpos dir power +shootTractorBeam :: Creature -> World -> World +shootTractorBeam cr w = w & cWorld . lWorld . tractorBeams .:~ tractorBeamAt spos outpos dir power where cpos = _crPos cr spos = cpos +.+ (_crRad cr + 10) *.* unitVectorAtAngle dir xpos = cpos +.+ 400 *.* unitVectorAtAngle dir dir = _crDir cr outpos = fst $ collidePointWallsFilter (const True) cpos xpos w - power = _attractionPower . _itParams $ itm + power = 1 tractorBeamAt :: Point2 -> Point2 -> Float -> Point2 -> TractorBeam tractorBeamAt pos outpos dir power = @@ -240,23 +241,33 @@ tractorBeamAt pos outpos dir power = where d = unitVectorAtAngle dir * power -shootLaser' :: Item -> Creature -> Muzzle -> World -> World -shootLaser' itm cr mz w = w +shootLaser :: Item -> Creature -> Muzzle -> World -> World +shootLaser itm cr mz w = w & randGen .~ g - & - cWorld . lWorld . lasers - .:~ lasRayAt - (_lasColor $ _itParams itm) - (_lasDamage $ _itParams itm) - (_phaseV $ _itParams itm) - pos - dir + & cWorld . lWorld . lasers + .:~ LaserStart + { _lpType = DamageLaser . _lasDamage $ _itParams itm + , _lpPhaseV = _phaseV $ _itParams itm + , _lpPos = pos + , _lpDir = dir + , _lpColor = _lasColor $ _itParams itm + } where pos = _crPos cr + rotateV (_crDir cr) (_mzPos mz + aimingWeaponZeroPos cr itm) (a,g) = randomR (-inacc,inacc) $ _randGen w inacc = _mzInaccuracy mz dir = _crDir cr + _mzRot mz + a +lasRayAt :: Color -> Int -> Float -> Point2 -> Float -> LaserStart +lasRayAt col dam phasev pos dir = + LaserStart + { _lpType = DamageLaser dam + , _lpPhaseV = phasev + , _lpPos = pos + , _lpDir = dir + , _lpColor = col + } + removeAmmoFromMag :: Int -> Maybe Int -> Creature -> World -> World removeAmmoFromMag x mid cr = fromMaybe id $ do magid <- mid diff --git a/src/Dodge/Item/Held/BatteryGuns.hs b/src/Dodge/Item/Held/BatteryGuns.hs index 6e5119b0a..bafc301ba 100644 --- a/src/Dodge/Item/Held/BatteryGuns.hs +++ b/src/Dodge/Item/Held/BatteryGuns.hs @@ -73,7 +73,6 @@ lasGun = tractorGun :: Item tractorGun = lasGun - & itParams .~ Attracting{_attractionPower = 1} & itUse . heldDelay .~ NoDelay & itUse . heldAim . aimWeight .~ 6 & itUse . heldAim . aimRange .~ 1 diff --git a/src/Dodge/Item/Weapon.hs b/src/Dodge/Item/Weapon.hs index 6e935f3ef..fe4910eaa 100644 --- a/src/Dodge/Item/Weapon.hs +++ b/src/Dodge/Item/Weapon.hs @@ -5,11 +5,11 @@ module Dodge.Item.Weapon ( module Dodge.Item.Weapon.Spawn, module Dodge.Item.Weapon.Radar, module Dodge.Item.Weapon.Utility, - module Dodge.Item.Weapon.BatteryGuns, +-- module Dodge.Item.Weapon.BatteryGuns, module Dodge.Item.Weapon.Drone, ) where -import Dodge.Item.Weapon.BatteryGuns +--import Dodge.Item.Weapon.BatteryGuns import Dodge.Item.Weapon.Drone import Dodge.Item.Weapon.ExtraEffect import Dodge.Item.Weapon.Radar diff --git a/src/Dodge/Item/Weapon/BatteryGuns.hs b/src/Dodge/Item/Weapon/BatteryGuns.hs index ebe9976fc..f6ada3e93 100644 --- a/src/Dodge/Item/Weapon/BatteryGuns.hs +++ b/src/Dodge/Item/Weapon/BatteryGuns.hs @@ -1,26 +1,19 @@ module Dodge.Item.Weapon.BatteryGuns ( - lasRayAt, - flameBeamCombine, - teslaBeamCombine, - splitBeamCombine, - -- shootTeslaArc, - shootLaser, - --circleLaser, - --shootDualLaser, +-- lasRayAt, +-- flameBeamCombine, +-- teslaBeamCombine, +-- splitBeamCombine, +-- -- shootTeslaArc, +-- shootLaser, +-- --circleLaser, +-- --shootDualLaser, -- aTractorBeam, ) where ---import Dodge.Base -import Dodge.Beam ---import Dodge.Creature.HandPos -import Dodge.Data.World ---import Dodge.Item.Weapon.LaserPath ---import Geometry ---import qualified IntMapHelp as IM -import LensHelp ---import Picture - ---import Control.Monad.State +--import Geometry.Data +--import Color.Data +--import Dodge.Data.World +--import LensHelp --lasWidePulse :: Item @@ -74,15 +67,15 @@ import LensHelp -- x' = _lasCycle $ _itParams it -shootLaser :: Item -> Creature -> World -> World -shootLaser it cr = - cWorld . lWorld . lasers - .:~ lasRayAt - (_lasColor $ _itParams it) - (_lasDamage $ _itParams it) - (_phaseV $ _itParams it) - (_crPos cr) - (_crDir cr) +--shootLaser :: Item -> Creature -> World -> World +--shootLaser it cr = +-- cWorld . lWorld . lasers +-- .:~ lasRayAt +-- (_lasColor $ _itParams it) +-- (_lasDamage $ _itParams it) +-- (_phaseV $ _itParams it) +-- (_crPos cr) +-- (_crDir cr) ---- this has the feel of a left click item --circleLaser :: Item -> Creature -> World -> World diff --git a/src/Dodge/Render/HUD.hs b/src/Dodge/Render/HUD.hs index c3f4bddcb..1117c36e9 100644 --- a/src/Dodge/Render/HUD.hs +++ b/src/Dodge/Render/HUD.hs @@ -253,9 +253,9 @@ displayTerminal tid cfig w = fromMaybe mempty $ do | otherwise = [] lnkMidPosInvSelsCol :: Configuration -> World -> Int -> Color -> [Int] -> Picture -lnkMidPosInvSelsCol cfig w i col = foldMap f +lnkMidPosInvSelsCol cfig w i col = fromMaybe mempty . foldMap f where - f j = fromMaybe mempty $ do + f j = do sss <- w ^? hud . hudElement . diSections combinesss <- w ^? hud . hudElement . subInventory . ciSections lp <- selNumPos cfig (invDisplayParams w) sss 0 j @@ -281,11 +281,6 @@ invHead cfig = -- h :: String -> Point2 -> Point2 -- h s (V2 x y) = V2 (x + 9 * fromIntegral (length s)) y ---selectedCloseObjectLink :: Configuration -> World -> Picture ---selectedCloseObjectLink cfig w = mempty - --- | Pictures of popup text for items close to your position. - --closeObjectTexts :: Configuration -> World -> Picture --closeObjectTexts cfig w = pictures $ -- renderListAt pushout (negate 20 * fromIntegral invPos) cfig (map colAndText $ _closeObjects w) diff --git a/src/Dodge/Render/ShapePicture.hs b/src/Dodge/Render/ShapePicture.hs index 9aab6011e..06514b288 100644 --- a/src/Dodge/Render/ShapePicture.hs +++ b/src/Dodge/Render/ShapePicture.hs @@ -143,8 +143,8 @@ extraPics cfig u = <> foldMap drawBul (_bullets lw) <> foldMap drawBlip (_radarBlips lw) <> foldMap drawFlare (_flares lw) - <> foldMap (dbArg (drawBeam . _bmDraw)) (_positronBeams $ _beams lw) - <> foldMap (dbArg (drawBeam . _bmDraw)) (_electronBeams $ _beams lw) +-- <> foldMap (dbArg (drawBeam . _bmDraw)) (_positronBeams $ _beams lw) +-- <> foldMap (dbArg (drawBeam . _bmDraw)) (_electronBeams $ _beams lw) <> foldMap (dbArg (drawLightSource . _lsPict)) (_lightSources lw) <> testPic cfig w <> foldMap ppDraw (_pressPlates lw) diff --git a/src/Dodge/Update.hs b/src/Dodge/Update.hs index 26df70b27..b4f6fc0e6 100644 --- a/src/Dodge/Update.hs +++ b/src/Dodge/Update.hs @@ -14,12 +14,12 @@ import Dodge.Update.Input.ScreenLayer import Dodge.Debug import Dodge.SmoothScroll import Color -import Control.Applicative +--import Control.Applicative import Data.List import qualified Data.Map.Strict as M import Data.Maybe import Dodge.Base -import Dodge.Beam +--import Dodge.Beam import Dodge.Bullet import Dodge.CrGroupUpdate import Dodge.Creature.Update @@ -251,7 +251,7 @@ functionalUpdate w = . over uvWorld updateBullets . over uvWorld updateRadarBlips . over uvWorld updateFlares - . over uvWorld updateBeams +-- . over uvWorld updateBeams . over uvWorld updateLasers . over uvWorld updateTeslaArcs . over uvWorld updateTractorBeams @@ -458,61 +458,61 @@ updatePosEvents = updateObjCatMaybes posEvents updatePosEvent updateClouds :: World -> World updateClouds = updateObjCatMaybes clouds updateCloud -updateBeams :: World -> World -updateBeams w = - w - & cWorld . lWorld . newBeams .~ WorldBeams [] [] [] [] - & cWorld . lWorld . beams .~ thebeams - & combineBeams thebeams - where - thebeams = w ^. cWorld . lWorld . newBeams +--updateBeams :: World -> World +--updateBeams w = +-- w +-- & cWorld . lWorld . newBeams .~ WorldBeams [] [] [] [] +-- & cWorld . lWorld . beams .~ thebeams +-- & combineBeams thebeams +-- where +-- thebeams = w ^. cWorld . lWorld . newBeams -combineBeams :: WorldBeams -> World -> World -combineBeams wbeams w = - w'' - & cWorld . lWorld . beams . positronBeams .~ pbeams - & cWorld . lWorld . beams . electronBeams .~ ebeams - where - (w', pbeams) = mapAccumR (combineBeamBeams (_electronBeams wbeams)) w $ _positronBeams wbeams - (w'', ebeams) = mapAccumR (combineBeamBeams (_positronBeams wbeams)) w' $ _electronBeams wbeams +--combineBeams :: WorldBeams -> World -> World +--combineBeams wbeams w = +-- w'' +-- & cWorld . lWorld . beams . positronBeams .~ pbeams +-- & cWorld . lWorld . beams . electronBeams .~ ebeams +-- where +-- (w', pbeams) = mapAccumR (combineBeamBeams (_electronBeams wbeams)) w $ _positronBeams wbeams +-- (w'', ebeams) = mapAccumR (combineBeamBeams (_positronBeams wbeams)) w' $ _electronBeams wbeams -combineBeamBeams :: [Beam] -> World -> Beam -> (World, Beam) -combineBeamBeams bms w bm = case intersectBeamBeams bm bms of - (ps, Nothing) -> (w, bm & bmFirstPoints .~ ps) - (ps, Just a) -> (doBeamCombine (_beamCombine (_bmType bm)) a w, bm & bmFirstPoints .~ ps) +--combineBeamBeams :: [Beam] -> World -> Beam -> (World, Beam) +--combineBeamBeams bms w bm = case intersectBeamBeams bm bms of +-- (ps, Nothing) -> (w, bm & bmFirstPoints .~ ps) +-- (ps, Just a) -> (doBeamCombine (_beamCombine (_bmType bm)) a w, bm & bmFirstPoints .~ ps) --- intersect a beam with a list of beams. --- returns the (reversed) travel of the beam up to maybe an intersection point -intersectBeamBeams :: - Beam -> - [Beam] -> - ([Point2], Maybe (Point2, (Point2, Point2, Beam), (Point2, Point2, Beam))) -intersectBeamBeams bm bms = f [] $ _bmPoints bm - where - f ps (x : y : ys) = case intersectSegBeams x y bms of - Just (z, a) -> (z : x : ps, Just (z, (x, y, bm), a)) - Nothing -> f (x : ps) (y : ys) - f ps [x] = (x : ps, Nothing) - f _ _ = error "made an empty beam" +---- intersect a beam with a list of beams. +---- returns the (reversed) travel of the beam up to maybe an intersection point +--intersectBeamBeams :: +-- Beam -> +-- [Beam] -> +-- ([Point2], Maybe (Point2, (Point2, Point2, Beam), (Point2, Point2, Beam))) +--intersectBeamBeams bm bms = f [] $ _bmPoints bm +-- where +-- f ps (x : y : ys) = case intersectSegBeams x y bms of +-- Just (z, a) -> (z : x : ps, Just (z, (x, y, bm), a)) +-- Nothing -> f (x : ps) (y : ys) +-- f ps [x] = (x : ps, Nothing) +-- f _ _ = error "made an empty beam" +-- +--intersectSegBeams :: Point2 -> Point2 -> [Beam] -> Maybe (Point2, (Point2, Point2, Beam)) +--intersectSegBeams sp ep (bm : bms) = case intersectSegBeam sp ep bm of +-- Nothing -> intersectSegBeams sp ep bms +-- --Just a@(z,_) -> maybe (Just a) Just $ intersectSegBeams sp z bms +-- Just a@(z, _) -> intersectSegBeams sp z bms <|> Just a +--intersectSegBeams _ _ _ = Nothing +-- +--intersectSegBeam :: Point2 -> Point2 -> Beam -> Maybe (Point2, (Point2, Point2, Beam)) +--intersectSegBeam sp ep bm = case intersectSegSegs' sp ep (_bmPoints bm) of +-- Nothing -> Nothing +-- Just (z, x, y) -> Just (z, (x, y, bm)) -intersectSegBeams :: Point2 -> Point2 -> [Beam] -> Maybe (Point2, (Point2, Point2, Beam)) -intersectSegBeams sp ep (bm : bms) = case intersectSegBeam sp ep bm of - Nothing -> intersectSegBeams sp ep bms - --Just a@(z,_) -> maybe (Just a) Just $ intersectSegBeams sp z bms - Just a@(z, _) -> intersectSegBeams sp z bms <|> Just a -intersectSegBeams _ _ _ = Nothing - -intersectSegBeam :: Point2 -> Point2 -> Beam -> Maybe (Point2, (Point2, Point2, Beam)) -intersectSegBeam sp ep bm = case intersectSegSegs' sp ep (_bmPoints bm) of - Nothing -> Nothing - Just (z, x, y) -> Just (z, (x, y, bm)) - -intersectSegSegs' :: Point2 -> Point2 -> [Point2] -> Maybe (Point2, Point2, Point2) -intersectSegSegs' sp ep (x : y : ys) = case intersectSegSeg sp ep x y of - --Just z -> maybe (Just (z,x,y)) Just $ intersectSegSegs' sp z (y:ys) - Just z -> intersectSegSegs' sp z (y : ys) <|> Just (z, x, y) - Nothing -> intersectSegSegs' sp ep (y : ys) -intersectSegSegs' _ _ _ = Nothing +--intersectSegSegs' :: Point2 -> Point2 -> [Point2] -> Maybe (Point2, Point2, Point2) +--intersectSegSegs' sp ep (x : y : ys) = case intersectSegSeg sp ep x y of +-- --Just z -> maybe (Just (z,x,y)) Just $ intersectSegSegs' sp z (y:ys) +-- Just z -> intersectSegSegs' sp z (y : ys) <|> Just (z, x, y) +-- Nothing -> intersectSegSegs' sp ep (y : ys) +--intersectSegSegs' _ _ _ = Nothing --intersectSegSegs :: Point2 -> Point2 -> [Point2] -> Maybe Point2 --intersectSegSegs sp ep (x:y:ys) = case intersectSegSeg sp ep x y of diff --git a/tags b/tags index 079381abe..371501671 100644 --- a/tags +++ b/tags @@ -107,7 +107,7 @@ ArcShad src/Picture/Data.hs 37;" C ArcStep src/Dodge/Data/ArcStep.hs 14;" t ArcStep src/Dodge/ArcStep.hs 1;" m ArcStep src/Dodge/Data/ArcStep.hs 6;" m -Arcing src/Dodge/Data/Item/Params.hs 42;" C +Arcing src/Dodge/Data/Item/Params.hs 40;" C Arithmetic src/Dodge/Base/Arithmetic.hs 1;" m ArmourChase src/Dodge/Creature/ArmourChase.hs 1;" m ArmourySS src/Dodge/Data/Scenario.hs 112;" C @@ -142,7 +142,6 @@ AttentionDir src/Dodge/Creature/AlertLevel/Data.hs 21;" t AttentiveTo src/Dodge/Creature/AlertLevel/Data.hs 22;" C AttentiveTo src/Dodge/Creature/Perception/Data.hs 66;" C AttentiveTo src/Dodge/Data/Creature/Perception.hs 61;" C -Attracting src/Dodge/Data/Item/Params.hs 41;" C Audition src/Dodge/Creature/Perception/Data.hs 48;" t Audition src/Dodge/Data/Creature/Perception.hs 47;" t AugmentedHUDLink src/Dodge/Data/ComposedItem.hs 25;" C @@ -264,7 +263,7 @@ BlockedLink src/Dodge/Data/Room.hs 48;" C BloomLayer src/Picture/Data.hs 25;" C BloomNoZWrite src/Picture/Data.hs 26;" C Boid src/Dodge/Creature/Boid.hs 1;" m -BoostPropIX src/Dodge/Data/Item/Params.hs 50;" C +BoostPropIX src/Dodge/Data/Item/Params.hs 48;" C Booster src/Dodge/Item/Equipment/Booster.hs 1;" m Booster src/Dodge/Item/Weapon/Booster.hs 1;" m Boosting src/Dodge/Creature/Stance/Data.hs 28;" C @@ -793,7 +792,6 @@ DropAmount src/Dodge/Data/Creature/State.hs 25;" C DropItem src/Dodge/Data/ActionPlan.hs 39;" C DropSpecific src/Dodge/Creature/State/Data.hs 17;" C DropSpecific src/Dodge/Data/Creature/State.hs 26;" C -DualBeam src/Dodge/Data/Item/Params.hs 31;" C DudPayload src/Dodge/Data/Payload.hs 11;" C Dungeon src/Dodge/Data/Scenario.hs 66;" C Dust src/Dodge/Wall/Dust.hs 1;" m @@ -957,7 +955,7 @@ FlareType src/Dodge/Data/Item/Use.hs 129;" t Flash src/Dodge/WorldEvent/Flash.hs 11;" m FlashBall src/Dodge/Data/Bullet.hs 33;" C FlatFaces src/Shape/Data.hs 17;" C -FlatShieldParams src/Dodge/Data/Item/Params.hs 22;" C +FlatShieldParams src/Dodge/Data/Item/Params.hs 21;" C FlechetteTrajectory src/Dodge/Data/Bullet.hs 53;" C FlechetteTrajectoryType src/Dodge/Data/Bullet.hs 60;" C Flee src/Dodge/Data/ActionPlan.hs 191;" C @@ -1006,7 +1004,7 @@ FromEdge src/Dodge/Data/Room.hs 47;" C FullRes src/Dodge/Config/Data.hs 54;" C FullRes src/Dodge/Data/Config.hs 95;" C FullShadowFidelity src/Shape/Data.hs 24;" C -FullSize src/Dodge/Data/Item/Params.hs 52;" C +FullSize src/Dodge/Data/Item/Params.hs 50;" C FullyVisible src/Dodge/Data/CamouflageStatus.hs 12;" C Furniture src/Dodge/Room/Furniture.hs 1;" m GASINJECTOR src/Dodge/Data/Item/Combine.hs 69;" C @@ -1101,7 +1099,7 @@ HOSE src/Dodge/Data/Item/Combine.hs 32;" C HPtLayer src/Dodge/Picture/Layer/Data.hs 17;" C HUD src/Dodge/Data/HUD.hs 35;" t HUD src/Dodge/Data/HUD.hs 6;" m -HUD src/Dodge/Render/HUD.hs 2;" m +HUD src/Dodge/Render/HUD.hs 3;" m HUDElement src/Dodge/Data/HUD.hs 16;" t HalfRes src/Dodge/Config/Data.hs 54;" C HalfRes src/Dodge/Data/Config.hs 95;" C @@ -1292,7 +1290,7 @@ ItemFamily src/Dodge/Item/Family.hs 3;" t ItemLink src/Dodge/Data/ComposedItem.hs 45;" t ItemLocation src/Dodge/Data/Item/Location.hs 27;" t ItemModuleType src/Dodge/Combine/Data.hs 197;" t -ItemParams src/Dodge/Data/Item/Params.hs 16;" t +ItemParams src/Dodge/Data/Item/Params.hs 15;" t ItemParams src/Dodge/Tesla/ItemParams.hs 1;" m ItemScrollTimeFlow src/Dodge/Data/World.hs 62;" C ItemSpace src/Dodge/Inventory/ItemSpace.hs 1;" m @@ -1523,7 +1521,7 @@ MachineAltSound src/Dodge/Data/SoundOrigin.hs 20;" C MachinePart src/Dodge/Data/Wall.hs 51;" C MachineSound src/Dodge/Data/SoundOrigin.hs 19;" C MachineType src/Dodge/Data/Machine.hs 49;" t -MagShieldParams src/Dodge/Data/Item/Params.hs 18;" C +MagShieldParams src/Dodge/Data/Item/Params.hs 17;" C Magazine src/Dodge/Item/AmmoPosition.hs 9;" C Magnet src/Dodge/Data/Magnet.hs 21;" t Magnet src/Dodge/Data/Magnet.hs 6;" m @@ -1707,8 +1705,8 @@ NoLighting src/Dodge/Data/Config.hs 102;" C NoMvType src/Dodge/Data/Creature/Misc.hs 38;" C NoNeedWeapon src/Dodge/Room/NoNeedWeapon.hs 2;" m NoObjShads src/Dodge/Data/Config.hs 100;" C -NoParams src/Dodge/Data/Item/Params.hs 17;" C -NoPreviousArcEffect src/Dodge/Data/Item/Params.hs 55;" C +NoParams src/Dodge/Data/Item/Params.hs 16;" C +NoPreviousArcEffect src/Dodge/Data/Item/Params.hs 53;" C NoResurrection src/Dodge/Data/Corpse.hs 14;" C NoRightButtonOptions src/Dodge/Data/RightButtonOptions.hs 14;" C NoRoomClipBoundaries src/Dodge/Config/Data.hs 59;" C @@ -1880,7 +1878,7 @@ PackAnimal src/Dodge/Data/Creature/Capability.hs 20;" C Padding src/Padding.hs 2;" m Pair src/FoldlHelp.hs 10;" t PaletteColor src/Color/Data.hs 14;" t -ParamMID src/Dodge/Data/Item/Params.hs 49;" C +ParamMID src/Dodge/Data/Item/Params.hs 47;" C Parameters src/Shader/Parameters.hs 1;" m Parameters src/Shape/Parameters.hs 1;" m Params src/Dodge/Data/Item/Params.hs 6;" m @@ -1909,7 +1907,7 @@ Perception src/Dodge/Creature/Perception/Data.hs 29;" t Perception src/Dodge/Data/Creature/Perception.hs 32;" t Perception src/Dodge/Creature/Perception.hs 2;" m Perception src/Dodge/Data/Creature/Perception.hs 6;" m -PerturbTillBreakPreviousArc src/Dodge/Data/Item/Params.hs 55;" C +PerturbTillBreakPreviousArc src/Dodge/Data/Item/Params.hs 53;" C Pic2d src/PolyPic.hs 17;" t PickOnePlacement src/Dodge/Data/GenWorld.hs 87;" C PickUp src/Dodge/Inventory/PickUp.hs 1;" m @@ -1976,7 +1974,7 @@ PressPlateEvent src/Dodge/Data/PressPlate.hs 14;" t PressPlateId src/Dodge/Data/PressPlate.hs 15;" C PressPlateLayer src/Dodge/Picture/Layer/Data.hs 14;" C PressType src/Dodge/Data/Input.hs 13;" t -PreviousArcEffect src/Dodge/Data/Item/Params.hs 55;" t +PreviousArcEffect src/Dodge/Data/Item/Params.hs 53;" t PrimitiveMode src/Shader/Data.hs 99;" t Prison src/Dodge/Data/Scenario.hs 65;" C Procedural src/Dodge/Room/Procedural.hs 2;" m @@ -2109,7 +2107,7 @@ RecRoomSS src/Dodge/Data/Scenario.hs 103;" C RectRoomType src/Dodge/Data/Room.hs 32;" C ReduceSpinPU src/Dodge/Data/Item/Use/Consumption/Ammo.hs 33;" C Reflect src/Dodge/Wall/Reflect.hs 1;" m -Refracting src/Dodge/Data/Item/Params.hs 24;" C +Refracting src/Dodge/Data/Item/Params.hs 23;" C Regex src/Regex.hs 1;" m ReigonalGovernment src/Dodge/Data/Scenario.hs 50;" C Religion src/Dodge/Data/Scenario.hs 47;" C @@ -2351,9 +2349,9 @@ Show_wall_search_rays src/Dodge/Data/Config.hs 82;" C Show_walls_near_point_cursor src/Dodge/Data/Config.hs 86;" C Show_walls_near_point_you src/Dodge/Data/Config.hs 87;" C Show_zone_near_point_cursor src/Dodge/Data/Config.hs 88;" C -ShrinkGunParams src/Dodge/Data/Item/Params.hs 20;" C -ShrinkGunStatus src/Dodge/Data/Item/Params.hs 52;" t -Shrunk src/Dodge/Data/Item/Params.hs 52;" C +ShrinkGunParams src/Dodge/Data/Item/Params.hs 19;" C +ShrinkGunStatus src/Dodge/Data/Item/Params.hs 50;" t +Shrunk src/Dodge/Data/Item/Params.hs 50;" C SideCluster src/Dodge/Data/RoomCluster.hs 14;" C SideCluster src/Dodge/RoomCluster/Data.hs 12;" C SideEffect src/Dodge/Data/Universe.hs 60;" t @@ -2870,7 +2868,6 @@ World src/Dodge/Data/World.hs 6;" m World src/Dodge/Default/World.hs 1;" m World src/Dodge/World.hs 5;" m World src/Dodge/Zoning/World.hs 1;" m -WorldBeams src/Dodge/Data/LWorld.hs 150;" t WorldBool src/Dodge/WorldBool.hs 1;" m WorldEffect src/Dodge/Data/WorldEffect.hs 6;" m WorldEffect src/Dodge/WorldEffect.hs 1;" m @@ -2958,8 +2955,8 @@ _arProgress src/Dodge/Data/Item/Use/Consumption.hs 31;" f _arTime src/Dodge/Data/Item/Consumption.hs 26;" f _arTime src/Dodge/Data/Item/Use/Consumption.hs 30;" f _arbitraryAction src/Dodge/Data/ActionPlan.hs 167;" f -_arcNumber src/Dodge/Data/Item/Params.hs 45;" f -_arcSize src/Dodge/Data/Item/Params.hs 44;" f +_arcNumber src/Dodge/Data/Item/Params.hs 43;" f +_arcSize src/Dodge/Data/Item/Params.hs 42;" f _argList src/Dodge/Data/Terminal.hs 96;" f _argType src/Dodge/Data/Terminal.hs 95;" f _asDir src/Dodge/Data/ArcStep.hs 16;" f @@ -2980,7 +2977,6 @@ _atMInt src/Dodge/Item/Attachment/Data.hs 17;" f _atMode src/Dodge/Item/Attachment/Data.hs 13;" f _atTargetPos src/Dodge/Data/Item/Attachment.hs 13;" f _atTargetPos src/Dodge/Item/Attachment/Data.hs 15;" f -_attractionPower src/Dodge/Data/Item/Params.hs 41;" f _auDist src/Dodge/Creature/Perception/Data.hs 49;" f _auDist src/Dodge/Data/Creature/Perception.hs 48;" f _barrelShader src/Data/Preload/Render.hs 23;" f @@ -2994,7 +2990,6 @@ _bdMinX src/Dodge/Data/Bounds.hs 13;" f _bdMinY src/Dodge/Bounds.hs 10;" f _bdMinY src/Dodge/Data/Bounds.hs 15;" f _beamCombine src/Dodge/Data/Beam.hs 48;" f -_beams src/Dodge/Data/LWorld.hs 116;" f _blDir src/Dodge/Data/Block.hs 30;" f _blDraw src/Dodge/Data/Block.hs 33;" f _blFootprint src/Dodge/Data/Block.hs 28;" f @@ -3006,7 +3001,6 @@ _blObstructs src/Dodge/Data/Block.hs 34;" f _blPos src/Dodge/Data/Block.hs 29;" f _blShadows src/Dodge/Data/Block.hs 27;" f _blWallIDs src/Dodge/Data/Block.hs 25;" f -_blockingBeams src/Dodge/Data/LWorld.hs 151;" f _blocks src/Dodge/Data/LWorld.hs 129;" f _bloomBlurShader src/Data/Preload/Render.hs 21;" f _bmColor src/Dodge/Data/Beam.hs 23;" f @@ -3025,7 +3019,7 @@ _bmTrajectory src/Dodge/Data/Item/BulletMod.hs 11;" f _bmType src/Dodge/Data/Beam.hs 29;" f _boffEff src/Dodge/Data/Button.hs 42;" f _bonEff src/Dodge/Data/Button.hs 41;" f -_boostPropIX src/Dodge/Data/Item/Params.hs 50;" f +_boostPropIX src/Dodge/Data/Item/Params.hs 48;" f _bpEff src/Dodge/Data/Button.hs 28;" f _bpEvent src/Dodge/Data/Button.hs 26;" f _bpSound src/Dodge/Data/Button.hs 27;" f @@ -3192,7 +3186,7 @@ _ctActive src/Dodge/Data/Creature.hs 89;" f _ctID src/Dodge/Data/Creature.hs 88;" f _ctPos src/Dodge/Data/Creature.hs 86;" f _ctType src/Dodge/Data/Creature.hs 87;" f -_currentArc src/Dodge/Data/Item/Params.hs 43;" f +_currentArc src/Dodge/Data/Item/Params.hs 41;" f _currentFoot src/Dodge/Creature/Stance/Data.hs 23;" f _currentFoot src/Dodge/Data/Creature/Stance.hs 23;" f _cwGen src/Dodge/Data/CWorld.hs 27;" f @@ -3203,7 +3197,6 @@ _cwgRoomClipping src/Dodge/Data/CWorld.hs 39;" f _cwgSeed src/Dodge/Data/CWorld.hs 40;" f _cwgWorldBounds src/Dodge/Data/CWorld.hs 37;" f _cylinderSize src/Shape/Data.hs 19;" f -_dbGap src/Dodge/Data/Item/Params.hs 39;" f _dePush src/Dodge/Data/Damage.hs 23;" f _dePush src/Dodge/Data/DamageType.hs 29;" f _dePushBack src/Dodge/Data/Damage.hs 28;" f @@ -3305,7 +3298,6 @@ _eeParams src/Dodge/Data/Item/Use/Equipment.hs 22;" f _eeSite src/Dodge/Data/Item/Use/Equipment.hs 21;" f _eeUse src/Dodge/Data/Item/Use/Equipment.hs 18;" f _eeViewDist src/Dodge/Data/Item/Use/Equipment.hs 23;" f -_electronBeams src/Dodge/Data/LWorld.hs 154;" f _emoMenuOption src/Dodge/Data/Universe.hs 73;" f _energyBalls src/Dodge/Data/LWorld.hs 109;" f _eparamID src/Dodge/Data/Item/Use/Equipment.hs 30;" f @@ -3359,7 +3351,7 @@ _flareTime src/Dodge/Data/Flare.hs 25;" f _flareTran3 src/Dodge/Data/Flare.hs 18;" f _flareTran3 src/Dodge/Data/Flare.hs 24;" f _flares src/Dodge/Data/LWorld.hs 114;" f -_flatShieldWlMIX src/Dodge/Data/Item/Params.hs 23;" f +_flatShieldWlMIX src/Dodge/Data/Item/Params.hs 22;" f _floorItems src/Dodge/Data/LWorld.hs 132;" f _floorShader src/Data/Preload/Render.hs 44;" f _floorVBO src/Data/Preload/Render.hs 43;" f @@ -3521,15 +3513,10 @@ _laProgress src/Dodge/Data/Item/Consumption.hs 21;" f _lampColor src/Dodge/Data/Creature/Misc.hs 72;" f _lampHeight src/Dodge/Data/Creature/Misc.hs 72;" f _lampLSID src/Dodge/Data/Creature/Misc.hs 72;" f -_lasBeam src/Dodge/Data/Item/Params.hs 37;" f -_lasColor src/Dodge/Data/Item/Params.hs 26;" f -_lasColor src/Dodge/Data/Item/Params.hs 33;" f -_lasColor2 src/Dodge/Data/Item/Params.hs 27;" f -_lasColor2 src/Dodge/Data/Item/Params.hs 34;" f -_lasCycle src/Dodge/Data/Item/Params.hs 28;" f -_lasCycle src/Dodge/Data/Item/Params.hs 35;" f -_lasDamage src/Dodge/Data/Item/Params.hs 29;" f -_lasDamage src/Dodge/Data/Item/Params.hs 36;" f +_lasColor src/Dodge/Data/Item/Params.hs 25;" f +_lasColor2 src/Dodge/Data/Item/Params.hs 26;" f +_lasCycle src/Dodge/Data/Item/Params.hs 27;" f +_lasDamage src/Dodge/Data/Item/Params.hs 28;" f _laserEmmiter src/Dodge/Data/Laser.hs 18;" f _laserTypeDamage src/Dodge/Data/Laser.hs 17;" f _lasers src/Dodge/Data/LWorld.hs 119;" f @@ -3547,7 +3534,6 @@ _leftConsumption src/Dodge/Data/Item/Use.hs 50;" f _leftDelay src/Dodge/Data/Item/Use.hs 47;" f _leftHammer src/Dodge/Data/Item/Use.hs 48;" f _leftUse src/Dodge/Data/Item/Use.hs 46;" f -_lightBeams src/Dodge/Data/LWorld.hs 152;" f _lightSources src/Dodge/Data/LWorld.hs 141;" f _lightingCapShader src/Data/Preload/Render.hs 16;" f _lightingLineShadowShader src/Data/Preload/Render.hs 15;" f @@ -3583,7 +3569,7 @@ _lzColor src/Dodge/Data/Laser.hs 31;" f _lzPoints src/Dodge/Data/Laser.hs 32;" f _lzType src/Dodge/Data/Laser.hs 33;" f _machines src/Dodge/Data/LWorld.hs 126;" f -_magShieldMgMIX src/Dodge/Data/Item/Params.hs 19;" f +_magShieldMgMIX src/Dodge/Data/Item/Params.hs 18;" f _magnets src/Dodge/Data/LWorld.hs 128;" f _mainAction src/Dodge/Data/ActionPlan.hs 171;" f _manObject src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 16;" f @@ -3645,8 +3631,7 @@ _mzFlareType src/Dodge/Data/Item/Use.hs 160;" f _mzInaccuracy src/Dodge/Data/Item/Use.hs 158;" f _mzPos src/Dodge/Data/Item/Use.hs 156;" f _mzRot src/Dodge/Data/Item/Use.hs 157;" f -_newArcStep src/Dodge/Data/Item/Params.hs 46;" f -_newBeams src/Dodge/Data/LWorld.hs 115;" f +_newArcStep src/Dodge/Data/Item/Params.hs 44;" f _noClip src/Dodge/Debug/Flag/Data.hs 7;" f _nodeMetaTree src/Dodge/Tree/Compose/Data.hs 9;" f _nodeTree src/Dodge/Tree/Compose/Data.hs 9;" f @@ -3669,7 +3654,7 @@ _opTexture src/Dodge/Data/Wall.hs 42;" f _opticDefaultZoom src/Dodge/Data/Item/Scope.hs 21;" f _opticPos src/Dodge/Data/Item/Scope.hs 17;" f _opticZoom src/Dodge/Data/Item/Scope.hs 20;" f -_paramMID src/Dodge/Data/Item/Params.hs 49;" f +_paramMID src/Dodge/Data/Item/Params.hs 47;" f _partialAction src/Dodge/Data/ActionPlan.hs 145;" f _pastWorlds src/Dodge/Data/World.hs 39;" f _pathGraph src/Dodge/Data/CWorld.hs 31;" f @@ -3684,8 +3669,7 @@ _penPathEdge src/Dodge/Data/PathGraph.hs 36;" f _penStart src/Dodge/Data/PathGraph.hs 34;" f _phRemoteID src/Dodge/Data/Item/Use/Consumption/Ammo.hs 25;" f _phTargetingID src/Dodge/Data/Item/Use/Consumption/Ammo.hs 26;" f -_phaseV src/Dodge/Data/Item/Params.hs 25;" f -_phaseV src/Dodge/Data/Item/Params.hs 32;" f +_phaseV src/Dodge/Data/Item/Params.hs 24;" f _pickUpLevel src/Dodge/Layout/Generate.hs 14;" f _pickUps src/Dodge/Layout/Generate.hs 15;" f _pictureShaders src/Data/Preload/Render.hs 28;" f @@ -3724,7 +3708,6 @@ _playingSounds src/Dodge/Data/World.hs 43;" f _pnZoning src/Dodge/Data/World.hs 52;" f _polyShader src/Hetris/Base.hs 13;" f _posEvents src/Dodge/Data/LWorld.hs 110;" f -_positronBeams src/Dodge/Data/LWorld.hs 153;" f _posture src/Dodge/Creature/Stance/Data.hs 13;" f _posture src/Dodge/Data/Creature/Stance.hs 15;" f _ppEvent src/Dodge/Data/PressPlate.hs 23;" f @@ -3756,7 +3739,7 @@ _prVelZ src/Dodge/Data/Prop.hs 27;" f _preloadData src/Dodge/Data/Universe.hs 32;" f _pressPlates src/Dodge/Data/LWorld.hs 136;" f _pressedKeys src/Dodge/Data/Input.hs 22;" f -_previousArcEffect src/Dodge/Data/Item/Params.hs 47;" f +_previousArcEffect src/Dodge/Data/Item/Params.hs 45;" f _prjAcc src/Dodge/Data/Projectile.hs 19;" f _prjDir src/Dodge/Data/Projectile.hs 20;" f _prjDraw src/Dodge/Data/Projectile.hs 22;" f @@ -3967,7 +3950,7 @@ _shapeEBO src/Data/Preload/Render.hs 26;" f _shapeHalfSize src/Shape/Data.hs 18;" f _shapeShader src/Data/Preload/Render.hs 25;" f _shockwaves src/Dodge/Data/LWorld.hs 118;" f -_shrinkGunStatus src/Dodge/Data/Item/Params.hs 21;" f +_shrinkGunStatus src/Dodge/Data/Item/Params.hs 20;" f _siColor src/Dodge/Data/SelectionList.hs 80;" f _siColor src/Dodge/Data/SelectionList.hs 88;" f _siHeight src/Dodge/Data/SelectionList.hs 78;" f @@ -4031,7 +4014,6 @@ _strideAmount src/Dodge/Data/Creature/Stance.hs 22;" f _strideLength src/Dodge/Creature/Stance/Data.hs 14;" f _strideLength src/Dodge/Data/Creature/Stance.hs 16;" f _subInventory src/Dodge/Data/HUD.hs 18;" f -_subParams src/Dodge/Data/Item/Params.hs 38;" f _swColor src/Dodge/Data/Shockwave.hs 18;" f _swDam src/Dodge/Data/Shockwave.hs 23;" f _swDirection src/Dodge/Data/Shockwave.hs 19;" f @@ -4380,24 +4362,24 @@ anyTargeting src/Dodge/Render/ShapePicture.hs 78;" f anyUnusedSpot src/Dodge/PlacementSpot.hs 66;" f anythingHitCirc src/Dodge/Base/Collide.hs 242;" f appendEitherTree src/Dodge/Layout/Tree/Either.hs 29;" f -applyCME src/Dodge/HeldUse.hs 67;" f +applyCME src/Dodge/HeldUse.hs 68;" f applyCreatureDamage src/Dodge/Creature/Damage.hs 14;" f applyDamageEffect src/Dodge/Creature/Damage.hs 31;" f applyEventIO src/Loop.hs 89;" f applyIndividualDamage src/Dodge/Creature/Damage.hs 49;" f applyIndividualDamage' src/Dodge/Creature/Damage.hs 52;" f -applyInvLock src/Dodge/HeldUse.hs 77;" f +applyInvLock src/Dodge/HeldUse.hs 78;" f applyMagnetsToBul src/Dodge/Bullet.hs 46;" f applyModules src/Dodge/Combine/Module.hs 52;" f applyNoDamage src/Dodge/Creature/Damage.hs 11;" f applyPastDamages src/Dodge/Creature/State.hs 173;" f applyPiercingDamage src/Dodge/Creature/Damage.hs 57;" f applyPosition src/Sound.hs 110;" f -applyRecoil src/Dodge/HeldUse.hs 94;" f +applyRecoil src/Dodge/HeldUse.hs 95;" f applyResFactor src/Dodge/Data/Config.hs 108;" f applySetTerminalString src/Dodge/Debug/Terminal.hs 78;" f -applySidePush src/Dodge/HeldUse.hs 101;" f -applySoundCME src/Dodge/HeldUse.hs 85;" f +applySidePush src/Dodge/HeldUse.hs 102;" f +applySoundCME src/Dodge/HeldUse.hs 86;" f applyTerminalCommand src/Dodge/Debug/Terminal.hs 27;" f applyTerminalCommandArguments src/Dodge/Debug/Terminal.hs 39;" f applyTerminalString src/Dodge/Debug/Terminal.hs 21;" f @@ -4412,7 +4394,7 @@ applyToSubforest src/Dodge/Tree/Polymorphic.hs 66;" f applyToSubforest src/TreeHelp.hs 77;" f applyToSubtree src/Dodge/Tree/Polymorphic.hs 60;" f applyToSubtree src/TreeHelp.hs 70;" f -applyTorqueCME src/Dodge/HeldUse.hs 111;" f +applyTorqueCME src/Dodge/HeldUse.hs 112;" f applyWorldConfig src/Dodge/Config/Update.hs 38;" f aquamarine src/Color.hs 23;" f arc src/Picture/Base.hs 287;" f @@ -4516,7 +4498,7 @@ basicDrawBeam src/Dodge/Beam/Draw.hs 11;" f basicItemDisplay src/Dodge/Item/Display.hs 48;" f basicMachineApplyDamage src/Dodge/Machine/Damage.hs 6;" f basicMachineUpdate src/Dodge/Machine.hs 13;" f -basicMuzFlare src/Dodge/HeldUse.hs 156;" f +basicMuzFlare src/Dodge/HeldUse.hs 157;" f basicPerceptionUpdateR src/Dodge/Creature/AlertLevel.hs 17;" f basicTerminal src/Dodge/Terminal.hs 32;" f battery src/Dodge/Item/Ammo.hs 72;" f @@ -4691,7 +4673,7 @@ clipZoom src/Dodge/Update/Camera.hs 219;" f clockCycle src/Dodge/Clock.hs 9;" f closeObjEq src/Dodge/Inventory/CloseObject.hs 12;" f closeObjPos src/Dodge/Inventory/CloseObject.hs 7;" f -closeObjectInfo src/Dodge/Render/HUD.hs 113;" f +closeObjectInfo src/Dodge/Render/HUD.hs 114;" f closeObjectToSelectionItem src/Dodge/Inventory/SelectionList.hs 65;" f closeObjectToTextPictures src/Dodge/Inventory/SelectionList.hs 80;" f closestCreatureID src/Dodge/Debug.hs 91;" f @@ -4732,10 +4714,8 @@ combinationsOf src/Multiset.hs 40;" f combinationsTrie src/Dodge/Combine/Trie.hs 19;" f combineAwareness src/Dodge/Creature/AlertLevel.hs 33;" f combineAwareness src/Dodge/Creature/Perception.hs 109;" f -combineBeamBeams src/Dodge/Update.hs 479;" f -combineBeams src/Dodge/Update.hs 470;" f combineFloors src/Dodge/Room/Procedural.hs 171;" f -combineInventoryExtra src/Dodge/Render/HUD.hs 198;" f +combineInventoryExtra src/Dodge/Render/HUD.hs 203;" f combineItemListYouX src/Dodge/Combine.hs 34;" f combineList src/Dodge/Combine.hs 37;" f combineRooms src/Dodge/Room/Procedural.hs 151;" f @@ -4832,7 +4812,7 @@ createItemYou src/Dodge/Inventory/Add.hs 77;" f createLightMap src/Render.hs 26;" f createNewArc src/Dodge/Tesla/Arc.hs 76;" f createPathGrid src/Dodge/Room/Path.hs 21;" f -createProjectile src/Dodge/HeldUse.hs 451;" f +createProjectile src/Dodge/HeldUse.hs 462;" f createShell src/Dodge/Projectile/Create.hs 19;" f createShieldWall src/Dodge/Euse.hs 134;" f createTorchLightOffset src/Dodge/LightSource/Torch.hs 9;" f @@ -5084,7 +5064,7 @@ detectorColor src/Dodge/Item/Draw/SPic.hs 404;" f detectorEffect src/Dodge/Item/Weapon/Radar.hs 19;" f detectorInfo src/Dodge/Item/Info.hs 195;" f determineInvSelCursorWidth src/Dodge/ListDisplayParams.hs 54;" f -determineProjectileTracking src/Dodge/HeldUse.hs 441;" f +determineProjectileTracking src/Dodge/HeldUse.hs 452;" f diagonalLinesRect src/Dodge/Room/Foreground.hs 52;" f diffAngles src/Geometry.hs 196;" f difference src/Geometry.hs 130;" f @@ -5104,7 +5084,7 @@ displayControls src/Dodge/Menu.hs 206;" f displayEnergyBallType src/Dodge/Module/Info.hs 19;" f displayFrameTicks src/Dodge/Render/Picture.hs 33;" f displayFreeSlots src/Dodge/DisplayInventory.hs 158;" f -displayTerminal src/Dodge/Render/HUD.hs 228;" f +displayTerminal src/Dodge/Render/HUD.hs 230;" f displayTerminalLineString src/Dodge/Update.hs 327;" f dist src/Geometry/Vector.hs 179;" f dist3 src/Geometry/Vector3D.hs 101;" f @@ -5117,7 +5097,6 @@ divideLineOddNumPoints src/Geometry.hs 264;" f doAfterPlacement src/Dodge/Layout.hs 86;" f doAfterPlacements src/Dodge/Layout.hs 83;" f doBackspace src/Dodge/Update/Input/Text.hs 32;" f -doBeamCombine src/Dodge/Beam.hs 12;" f doBlBl src/Dodge/WorldEffect.hs 98;" f doBlSh src/Dodge/Block/Draw.hs 14;" f doBounce src/Dodge/Base/Collide.hs 68;" f @@ -5142,7 +5121,7 @@ doDrawing src/Dodge/Render.hs 35;" f doDrawing' src/Dodge/Render.hs 46;" f doFloatFloat src/Dodge/FloatFunction.hs 5;" f doFloorEffect src/Dodge/ItEffect.hs 21;" f -doGenFloat src/Dodge/HeldUse.hs 379;" f +doGenFloat src/Dodge/HeldUse.hs 390;" f doInPlacements src/Dodge/Layout.hs 92;" f doIndividualPlacements src/Dodge/Layout.hs 117;" f doInputScreenInput src/Dodge/Update/Input/ScreenLayer.hs 25;" f @@ -5193,7 +5172,7 @@ doWdCrBl src/Dodge/CreatureEffect.hs 37;" f doWdCrCr src/Dodge/CreatureEffect.hs 12;" f doWdP2f src/Dodge/WdP2f.hs 8;" f doWdWd src/Dodge/WorldEffect.hs 26;" f -doWeaponRepetitions src/Dodge/HeldUse.hs 59;" f +doWeaponRepetitions src/Dodge/HeldUse.hs 60;" f doWindowScale src/Dodge/Base/WinScale.hs 11;" f doWindowScale src/Dodge/WinScale.hs 10;" f doWorldEvents src/Dodge/Update.hs 309;" f @@ -5231,7 +5210,7 @@ drawCircFlare src/Dodge/Flare.hs 25;" f drawCloud src/Dodge/Cloud/Draw.hs 6;" f drawCloudWith src/Dodge/Cloud/Draw.hs 12;" f drawCollisionTest src/Dodge/Debug/Picture.hs 103;" f -drawCombineInventory src/Dodge/Render/HUD.hs 77;" f +drawCombineInventory src/Dodge/Render/HUD.hs 78;" f drawConcurrentMessage src/Dodge/Render/Picture.hs 58;" f drawCorpse src/Dodge/Corpse/Draw.hs 6;" f drawCrInfo src/Dodge/Debug/Picture.hs 341;" f @@ -5246,7 +5225,7 @@ drawDoubleLampCover src/Dodge/LightSources/Lamp.hs 139;" f drawDoubleLampCover src/Dodge/Prop/Draw.hs 83;" f drawEnergyBall src/Dodge/EnergyBall/Draw.hs 8;" f drawEquipment src/Dodge/Creature/Picture.hs 174;" f -drawExamineInventory src/Dodge/Render/HUD.hs 83;" f +drawExamineInventory src/Dodge/Render/HUD.hs 84;" f drawFarWallDetect src/Dodge/Debug/Picture.hs 232;" f drawFlame src/Dodge/Flame/Draw.hs 7;" f drawFlamelet src/Dodge/EnergyBall/Draw.hs 23;" f @@ -5287,7 +5266,7 @@ drawPointLabel src/Dodge/Render/Label.hs 13;" f drawProjectile src/Dodge/Projectile/Draw.hs 13;" f drawProp src/Dodge/Prop/Draw.hs 15;" f drawProp' src/Dodge/Prop/Draw.hs 12;" f -drawRBOptions src/Dodge/Render/HUD.hs 131;" f +drawRBOptions src/Dodge/Render/HUD.hs 132;" f drawRadarSweep src/Dodge/RadarSweep/Draw.hs 7;" f drawRemoteShell src/Dodge/Projectile/Draw.hs 30;" f drawSelectionCursor src/Dodge/Render/List.hs 40;" f @@ -5301,7 +5280,7 @@ drawShell src/Dodge/Projectile/Draw.hs 20;" f drawShockwave src/Dodge/Shockwave/Draw.hs 7;" f drawSpark src/Dodge/Spark/Draw.hs 6;" f drawStaticBall src/Dodge/EnergyBall/Draw.hs 14;" f -drawSubInventory src/Dodge/Render/HUD.hs 69;" f +drawSubInventory src/Dodge/Render/HUD.hs 70;" f drawSweep src/Dodge/Render/ShapePicture.hs 57;" f drawSwitch src/Dodge/Button/Draw.hs 15;" f drawSwitchWire src/Dodge/LevelGen/Switch.hs 28;" f @@ -5358,7 +5337,7 @@ enterCombineInv src/Dodge/DisplayInventory.hs 253;" f eqConstr src/SameConstr.hs 17;" f eqPosText src/Dodge/Equipment/Text.hs 6;" f equipAimSpeed src/Dodge/Creature/Action/Movement.hs 109;" f -equipAllocString src/Dodge/Render/HUD.hs 172;" f +equipAllocString src/Dodge/Render/HUD.hs 175;" f equipInfo src/Dodge/Item/Info.hs 107;" f equipItemSPic src/Dodge/Item/Draw/SPic.hs 66;" f equipPosition src/Dodge/Item/Draw.hs 32;" f @@ -5435,7 +5414,6 @@ fixedCoordPictures src/Dodge/Render/Picture.hs 17;" f fixedSizePicClampArrow src/Dodge/Picture/SizeInvariant.hs 57;" f flDamageInArea src/Dodge/Flame.hs 110;" f flFlicker src/Dodge/Flame.hs 124;" f -flameBeamCombine src/Dodge/Beam.hs 24;" f flameShield src/Dodge/Item/Equipment.hs 36;" f flameSpitter src/Dodge/Item/Held/SprayGuns.hs 29;" f flameSpitter src/Dodge/Item/Weapon/SprayGuns.hs 27;" f @@ -5469,7 +5447,7 @@ flockPointTargetR src/Dodge/Creature/Boid.hs 266;" f flockToPointUsing src/Dodge/Creature/Boid.hs 214;" f flockToPointUsing' src/Dodge/Creature/Boid.hs 227;" f floorHun src/Dodge/Base/Zone.hs 40;" f -floorItemPickupInfo src/Dodge/Render/HUD.hs 118;" f +floorItemPickupInfo src/Dodge/Render/HUD.hs 119;" f floorItemSPic src/Dodge/Render/ShapePicture.hs 169;" f floorWire src/Dodge/Wire.hs 13;" f foamSpray src/Dodge/SoundLogic/Synonyms.hs 27;" f @@ -5524,7 +5502,7 @@ gameRoomViewpoints src/Dodge/Viewpoints.hs 35;" f gameRoomsFromRooms src/Dodge/Layout.hs 158;" f gameplayMenu src/Dodge/Menu.hs 131;" f gameplayMenuOptions src/Dodge/Menu.hs 134;" f -gasCreate src/Dodge/HeldUse.hs 376;" f +gasCreate src/Dodge/HeldUse.hs 387;" f generateGenParams src/Dodge/LevelGen/LevelStructure.hs 22;" f generateGraphs src/Dodge/LevelGen.hs 39;" f generateLayout src/Dodge/Layout/Generate.hs 10;" f @@ -5538,8 +5516,8 @@ geqConstr src/SameConstr.hs 21;" f getArguments src/Dodge/Update/Scroll.hs 151;" f getArguments' src/Dodge/Update/Scroll.hs 139;" f getAvailableListLines src/Dodge/SelectionList.hs 11;" f -getBulletTrajectory src/Dodge/HeldUse.hs 290;" f -getBulletType src/Dodge/HeldUse.hs 265;" f +getBulletTrajectory src/Dodge/HeldUse.hs 301;" f +getBulletType src/Dodge/HeldUse.hs 276;" f getCommands src/Dodge/Terminal.hs 115;" f getCommandsHelp src/Dodge/Terminal.hs 73;" f getCrDexterity src/Dodge/Creature/Statistics.hs 13;" f @@ -5650,8 +5628,8 @@ healthTest src/Dodge/Room/LasTurret.hs 93;" f heavyBulDams src/Dodge/Item/Weapon/Bullet.hs 38;" f heightWallPS src/Dodge/Placement/Instance/Wall.hs 13;" f heldBounds src/Dodge/Item/Module.hs 27;" f -heldEffect src/Dodge/HeldUse.hs 45;" f -heldEffectMuzzles src/Dodge/HeldUse.hs 48;" f +heldEffect src/Dodge/HeldUse.hs 46;" f +heldEffectMuzzles src/Dodge/HeldUse.hs 49;" f heldInfo src/Dodge/Item/Info.hs 48;" f heldItemOffset src/Dodge/Item/HeldOffset.hs 24;" f heldItemSPic src/Dodge/Item/Draw/SPic.hs 175;" f @@ -5742,13 +5720,10 @@ insertWithNewKeys src/IntMapHelp.hs 69;" f intToBulAmmo src/Dodge/TweakBullet.hs 23;" f internalHammerUpdate src/Dodge/Creature/State.hs 147;" f interpWith src/Dodge/Creature/Boid.hs 10;" f -intersectBeamBeams src/Dodge/Update.hs 486;" f intersectCircSeg src/Geometry/Intersect.hs 303;" f intersectCircSegFirst src/Geometry/Intersect.hs 314;" f intersectLineLine' src/Geometry/Intersect.hs 15;" f intersectLinefromScreen src/Dodge/Debug/Picture.hs 96;" f -intersectSegBeam src/Dodge/Update.hs 505;" f -intersectSegBeams src/Dodge/Update.hs 498;" f intersectSegBezquad src/Geometry/Intersect.hs 236;" f intersectSegLine src/Geometry/Intersect.hs 87;" f intersectSegLineFrom src/Geometry/Intersect.hs 57;" f @@ -5759,7 +5734,6 @@ intersectSegSegErrorTest src/Geometry/Intersect.hs 24;" f intersectSegSegFullTest src/Geometry/Intersect.hs 103;" f intersectSegSegPreTest src/Geometry/Intersect.hs 136;" f intersectSegSegTest src/Geometry/Intersect.hs 122;" f -intersectSegSegs' src/Dodge/Update.hs 510;" f intersectSegsSeg src/Geometry/Intersect.hs 232;" f intervalList src/Geometry.hs 315;" f interweave src/Justify.hs 17;" f @@ -5768,7 +5742,7 @@ invAdj src/Dodge/Item/Grammar.hs 145;" f invDimColor src/Dodge/DisplayInventory.hs 139;" f invDimColor src/Dodge/Inventory/Color.hs 4;" f invDisplayParams src/Dodge/ListDisplayParams.hs 29;" f -invHead src/Dodge/Render/HUD.hs 282;" f +invHead src/Dodge/Render/HUD.hs 266;" f invIndentIM src/Dodge/Item/Grammar.hs 157;" f invLDT' src/Dodge/Item/Grammar.hs 127;" f invLDT'' src/Dodge/Item/Grammar.hs 122;" f @@ -5779,8 +5753,8 @@ invShiftPointBy src/Dodge/ShiftPoint.hs 8;" f invSideEff src/Dodge/Creature/State.hs 237;" f invSize src/Dodge/Inventory/CheckSlots.hs 41;" f invTrees src/Dodge/Item/Grammar.hs 162;" f -inventoryExtra src/Dodge/Render/HUD.hs 181;" f -inventoryExtraH src/Dodge/Render/HUD.hs 190;" f +inventoryExtra src/Dodge/Render/HUD.hs 184;" f +inventoryExtraH src/Dodge/Render/HUD.hs 195;" f inventoryX src/Dodge/Creature.hs 115;" f inverseShockwaveAt src/Dodge/WorldEvent/Shockwave.hs 43;" f invertEncircleDistP src/Dodge/Creature/Boid.hs 13;" f @@ -5788,7 +5762,7 @@ invertIntMap src/Multiset.hs 61;" f invertInventoryToMap src/Dodge/Combine.hs 18;" f invisibleChaseCrit src/Dodge/Creature/ChaseCrit.hs 25;" f invisibleWall src/Dodge/Placement/Instance/Wall.hs 16;" f -isAmmoIntLink src/Dodge/HeldUse.hs 177;" f +isAmmoIntLink src/Dodge/HeldUse.hs 178;" f isAnimate src/Dodge/Creature/Test.hs 138;" f isCognizant src/Dodge/Creature/Perception.hs 105;" f isElectrical src/Dodge/Data/Damage.hs 42;" f @@ -5826,7 +5800,7 @@ itemBlips src/Dodge/Item/Weapon/UseEffect.hs 38;" f itemBlips src/Dodge/RadarSweep.hs 75;" f itemCombinations src/Dodge/Combine/Combinations.hs 54;" f itemCombinationsEdges src/Dodge/Combine/Graph.hs 54;" f -itemDetectorEffect src/Dodge/HeldUse.hs 202;" f +itemDetectorEffect src/Dodge/HeldUse.hs 203;" f itemDisplay src/Dodge/Item/Display.hs 31;" f itemDisplayPad src/Dodge/Item/Display.hs 43;" f itemEffect src/Dodge/Creature/Action/UseItem.hs 28;" f @@ -5898,12 +5872,11 @@ lampCover src/Dodge/Placement/Instance/LightSource/Cover.hs 8;" f lampCoverWhen src/Dodge/LightSources/Lamp.hs 79;" f lampCoverWhen src/Dodge/Placement/Instance/LightSource/Cover.hs 19;" f lampCrSPic src/Dodge/Render/ShapePicture.hs 104;" f -lasBeamCombine src/Dodge/Beam.hs 31;" f lasCenSensEdge src/Dodge/Room/LasTurret.hs 112;" f lasDronesPic src/Dodge/Item/Weapon/Drone.hs 22;" f lasGun src/Dodge/Item/Held/BatteryGuns.hs 46;" f lasGunPic src/Dodge/Item/Draw/SPic.hs 361;" f -lasRayAt src/Dodge/Beam.hs 62;" f +lasRayAt src/Dodge/HeldUse.hs 261;" f lasSensorTurretTest src/Dodge/Room/LasTurret.hs 105;" f lasTunnel src/Dodge/Room/LasTurret.hs 124;" f lasTunnelRunPast src/Dodge/Room/LasTurret.hs 165;" f @@ -5965,7 +5938,7 @@ litCorridor90 src/Dodge/Room/RoadBlock.hs 26;" f lmt src/MatrixHelper.hs 43;" f lnkBothAnd src/Dodge/Room/Procedural.hs 120;" f lnkEff src/Dodge/Layout/Tree/Shift.hs 55;" f -lnkMidPosInvSelsCol src/Dodge/Render/HUD.hs 271;" f +lnkMidPosInvSelsCol src/Dodge/Render/HUD.hs 255;" f lnkPosDir src/Dodge/RoomLink.hs 97;" f loadConfig src/LoadConfig.hs 22;" f loadDodgeConfig src/Dodge/Config/Load.hs 9;" f @@ -5973,7 +5946,7 @@ loadEject src/Dodge/Reloading/Action.hs 12;" f loadInsert src/Dodge/Reloading/Action.hs 6;" f loadKeyConfig src/Dodge/Config/KeyConfig.hs 60;" f loadMusic src/Dodge/SoundLogic/LoadSound.hs 21;" f -loadMuzzle src/Dodge/HeldUse.hs 126;" f +loadMuzzle src/Dodge/HeldUse.hs 127;" f loadPartialInsert src/Dodge/Reloading/Action.hs 9;" f loadPrime src/Dodge/Reloading/Action.hs 15;" f loadSaveSlot src/Dodge/Save.hs 74;" f @@ -6031,7 +6004,7 @@ makeArc src/Picture/Base.hs 157;" f makeBlip src/Dodge/RadarSweep.hs 51;" f makeBlockDebris src/Dodge/Block/Debris.hs 28;" f makeBoolOption src/Dodge/Menu/OptionType.hs 8;" f -makeBullet src/Dodge/HeldUse.hs 319;" f +makeBullet src/Dodge/HeldUse.hs 330;" f makeButton src/Dodge/LevelGen/Switch.hs 16;" f makeByteStringShaderUsingVAO src/Shader/Compile.hs 137;" f makeCloudAt src/Dodge/WorldEvent/Cloud.hs 18;" f @@ -6060,7 +6033,7 @@ makeGrid src/Grid.hs 46;" f makeIntInterval src/Dodge/Zoning/Base.hs 33;" f makeLaserAt src/Dodge/Item/Weapon/Laser.hs 42;" f makeLaserScope src/Dodge/Item/Weapon/Decoration.hs 12;" f -makeMuzzleFlare src/Dodge/HeldUse.hs 140;" f +makeMuzzleFlare src/Dodge/HeldUse.hs 141;" f makeOptionsSelectionList src/Dodge/Menu/Option.hs 46;" f makeParagraph src/Justify.hs 6;" f makePathBetween src/Dodge/Path.hs 35;" f @@ -6122,10 +6095,10 @@ mcProximitySensorUpdate src/Dodge/Machine/Update.hs 104;" f mcSPic src/Dodge/Render/ShapePicture.hs 180;" f mcSensorTriggerUpdate src/Dodge/Machine/Update.hs 69;" f mcSensorUpdate src/Dodge/Machine/Update.hs 99;" f -mcShootLaser src/Dodge/HeldUse.hs 403;" f +mcShootLaser src/Dodge/HeldUse.hs 414;" f mcTriggerVal src/Dodge/Machine/Update.hs 75;" f mcTypeUpdate src/Dodge/Machine/Update.hs 24;" f -mcUseHeld src/Dodge/HeldUse.hs 344;" f +mcUseHeld src/Dodge/HeldUse.hs 355;" f mcUseItem src/Dodge/Machine/Update.hs 61;" f medkit src/Dodge/Item/Consumable.hs 8;" f megaBattery src/Dodge/Item/Ammo.hs 67;" f @@ -6758,7 +6731,7 @@ rememberSounds src/Dodge/Creature/Perception.hs 177;" f remoteBombUnarmedPic src/Dodge/Item/Weapon/Grenade.hs 268;" f remoteScreen src/Dodge/Item/Scope.hs 52;" f remoteShellShape src/Dodge/Projectile/Draw.hs 42;" f -removeAmmoFromMag src/Dodge/HeldUse.hs 260;" f +removeAmmoFromMag src/Dodge/HeldUse.hs 271;" f removeDot src/ShortShow.hs 30;" f removeEither src/Dodge/Layout/Tree/Either.hs 41;" f removeHotkey src/Dodge/Hotkey.hs 41;" f @@ -6943,9 +6916,9 @@ secondColumnParams src/Dodge/ListDisplayParams.hs 42;" f seedStartMenu src/Dodge/Menu.hs 79;" f seedStartOptions src/Dodge/Menu.hs 82;" f segOnCirc src/Geometry.hs 116;" f -selNumPos src/Dodge/Render/HUD.hs 347;" f +selNumPos src/Dodge/Render/HUD.hs 326;" f selSecDrawCursor src/Dodge/Render/List.hs 87;" f -selSecSelCol src/Dodge/Render/HUD.hs 366;" f +selSecSelCol src/Dodge/Render/HUD.hs 346;" f selSecSelSize src/Dodge/SelectionSections.hs 124;" f selSecYint src/Dodge/SelectionSections.hs 127;" f selectCreatureDebugItem src/Dodge/Debug.hs 38;" f @@ -7070,7 +7043,7 @@ shootBangCone src/Dodge/HeldUse/BulletWeapon.hs 98;" f shootBangRod src/Dodge/HeldUse/BulletWeapon.hs 185;" f shootBangstick src/Dodge/HeldUse/BulletWeapon.hs 9;" f shootBezier src/Dodge/Item/Weapon/Bezier.hs 51;" f -shootBullet src/Dodge/HeldUse.hs 304;" f +shootBullet src/Dodge/HeldUse.hs 315;" f shootBurstRifle src/Dodge/HeldUse/BulletWeapon.hs 164;" f shootBurstRifleRepeat src/Dodge/HeldUse/BulletWeapon.hs 176;" f shootElephantGun src/Dodge/HeldUse/BulletWeapon.hs 196;" f @@ -7079,8 +7052,7 @@ shootFlameSpitter src/Dodge/HeldUse/SprayWeapon.hs 9;" f shootFlameSpitterRepeat src/Dodge/HeldUse/SprayWeapon.hs 19;" f shootFlameThrower src/Dodge/HeldUse/SprayWeapon.hs 26;" f shootL src/Dodge/Item/Weapon/TriggerType.hs 298;" f -shootLaser src/Dodge/Item/Weapon/BatteryGuns.hs 77;" f -shootLaser' src/Dodge/HeldUse.hs 243;" f +shootLaser src/Dodge/HeldUse.hs 244;" f shootMachineGun src/Dodge/HeldUse/BulletWeapon.hs 218;" f shootMachinePistol src/Dodge/HeldUse/BulletWeapon.hs 62;" f shootMiniGun src/Dodge/HeldUse/BulletWeapon.hs 113;" f @@ -7091,9 +7063,9 @@ shootRevolverXRepeat src/Dodge/HeldUse/BulletWeapon.hs 49;" f shootRifle src/Dodge/HeldUse/BulletWeapon.hs 140;" f shootShatter src/Dodge/Item/Weapon/Shatter.hs 12;" f shootSmgMod src/Dodge/HeldUse/BulletWeapon.hs 86;" f -shootTeslaArc src/Dodge/HeldUse.hs 412;" f +shootTeslaArc src/Dodge/HeldUse.hs 423;" f shootTillEmpty src/Dodge/Creature/Volition.hs 18;" f -shootTractorBeam src/Dodge/HeldUse.hs 222;" f +shootTractorBeam src/Dodge/HeldUse.hs 223;" f shootVolleyGun src/Dodge/HeldUse/BulletWeapon.hs 128;" f shootersRoom src/Dodge/Room/Room.hs 317;" f shootersRoom' src/Dodge/Room/Room.hs 282;" f @@ -7112,10 +7084,10 @@ showEquipItem src/Dodge/Item/Display.hs 85;" f showEquipmentNumber src/Dodge/Item/Display.hs 127;" f showInt src/Dodge/Item/Info.hs 31;" f showIntsString src/Dodge/Tree/Compose.hs 129;" f -showManObj src/Dodge/TestString.hs 39;" f +showManObj src/Dodge/TestString.hs 40;" f showPhaseV src/Dodge/Tweak/Show.hs 16;" f showTerminalError src/Dodge/Debug/Terminal.hs 75;" f -showTimeFlow src/Dodge/TestString.hs 86;" f +showTimeFlow src/Dodge/TestString.hs 87;" f showTractionPower src/Dodge/Tweak/Show.hs 22;" f showTweak src/Dodge/Tweak/Show.hs 5;" f shrinkGun src/Dodge/Item/Weapon/Utility.hs 44;" f @@ -7213,7 +7185,6 @@ splashMenu src/Dodge/Menu.hs 27;" f splashMenuOptions src/Dodge/Menu.hs 32;" f splashScreen src/Dodge/Initialisation.hs 11;" f splinterBlock src/Dodge/Block.hs 25;" f -splitBeamCombine src/Dodge/Beam.hs 38;" f splitBezierquad src/Geometry/Bezier.hs 15;" f splitExtra src/Justify.hs 21;" f splitTrunk src/Dodge/Layout/Tree/Polymorphic.hs 142;" f @@ -7348,7 +7319,6 @@ terminalReturnEffect src/Dodge/Terminal/ReturnEffect.hs 10;" f terminalSPic src/Dodge/Machine/Draw.hs 26;" f terminalShape src/Dodge/Machine/Draw.hs 29;" f terminalWheelEvent src/Dodge/Update/Scroll.hs 76;" f -teslaBeamCombine src/Dodge/Beam.hs 48;" f teslaGun src/Dodge/Item/Held/BatteryGuns.hs 27;" f teslaGunPic src/Dodge/Item/Draw/SPic.hs 351;" f teslaParams src/Dodge/Tesla/ItemParams.hs 6;" f @@ -7423,14 +7393,14 @@ tone440sawtoothquietS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 320;" f topInvW src/Dodge/ListDisplayParams.hs 51;" f topPrismEdgeIndices src/Shader/Poke.hs 327;" f topPrismIndices src/Shader/Poke.hs 402;" f -topTestPart src/Dodge/TestString.hs 34;" f +topTestPart src/Dodge/TestString.hs 35;" f torch src/Dodge/Item/Held/Utility.hs 26;" f torchShape src/Dodge/Item/Draw/SPic.hs 216;" f torqueCr src/Dodge/WorldEffect.hs 70;" f torso src/Dodge/Creature/Picture.hs 133;" f tractCr src/Dodge/TractorBeam/Update.hs 28;" f tractFlIt src/Dodge/TractorBeam/Update.hs 23;" f -tractorBeamAt src/Dodge/HeldUse.hs 232;" f +tractorBeamAt src/Dodge/HeldUse.hs 233;" f tractorGun src/Dodge/Item/Held/BatteryGuns.hs 73;" f tractorGunPic src/Dodge/Item/Draw/SPic.hs 388;" f tractorPullPos src/Dodge/TractorBeam/Update.hs 33;" f @@ -7566,7 +7536,6 @@ updateAutoRecharge src/Dodge/Creature/State.hs 348;" f updateBackspaceRegex src/Dodge/Update/Input/InGame.hs 159;" f updateBarrel src/Dodge/Barreloid.hs 45;" f updateBarreloid src/Dodge/Barreloid.hs 13;" f -updateBeams src/Dodge/Update.hs 461;" f updateBounds src/Dodge/Update/Camera.hs 249;" f updateBulVel src/Dodge/Bullet.hs 50;" f updateBullet src/Dodge/Bullet.hs 28;" f @@ -7703,8 +7672,8 @@ useC src/Dodge/Cuse.hs 8;" f useC' src/Dodge/Cuse.hs 13;" f useE src/Dodge/Euse.hs 24;" f useEquipment src/Dodge/Creature/State.hs 222;" f -useForceFieldGun src/Dodge/HeldUse.hs 426;" f -useGasParams src/Dodge/HeldUse.hs 355;" f +useForceFieldGun src/Dodge/HeldUse.hs 437;" f +useGasParams src/Dodge/HeldUse.hs 366;" f useHotKey src/Dodge/Creature/YourControl.hs 49;" f useItem src/Dodge/Creature/Action/UseItem.hs 14;" f useItemHotkey src/Dodge/Creature/Impulse/UseItem.hs 126;" f @@ -7713,7 +7682,7 @@ useItemLeftClick' src/Dodge/Creature/Impulse/UseItem.hs 113;" f useL src/Dodge/Luse.hs 13;" f useLeftItem src/Dodge/Creature/Action/UseItem.hs 38;" f useLnkRoomPos src/Dodge/PlacementSpot.hs 244;" f -useLoadedAmmo src/Dodge/HeldUse.hs 181;" f +useLoadedAmmo src/Dodge/HeldUse.hs 182;" f useMagShield src/Dodge/Euse.hs 69;" f useNormalCamera src/Dodge/Camera.hs 6;" f usePayload src/Dodge/Payload.hs 7;" f @@ -7761,7 +7730,7 @@ volleyGun src/Dodge/Item/Held/Cane.hs 32;" f volleyGun src/Dodge/Item/Weapon/BulletGun/Cane.hs 43;" f volleyGunShape src/Dodge/Item/Draw/SPic.hs 292;" f waistSP src/Dodge/Creature/HandPos.hs 199;" f -walkNozzle src/Dodge/HeldUse.hs 207;" f +walkNozzle src/Dodge/HeldUse.hs 208;" f walkableNodeNear src/Dodge/Path.hs 48;" f wallBlips src/Dodge/Item/Weapon/UseEffect.hs 43;" f wallBlips src/Dodge/RadarSweep.hs 80;" f @@ -7880,7 +7849,7 @@ you src/Dodge/Base/You.hs 18;" f youBox' src/Dodge/Creature/ShadowBox.hs 8;" f youDropItem src/Dodge/Creature/Action.hs 188;" f youSil src/Dodge/Creature/ShadowBox.hs 15;" f -yourAugmentedItem src/Dodge/Render/HUD.hs 125;" f +yourAugmentedItem src/Dodge/Render/HUD.hs 126;" f yourControl src/Dodge/Creature/YourControl.hs 22;" f yourDefaultSpeed src/Dodge/Default/Creature.hs 134;" f yourDefaultStrideLength src/Dodge/Default/Creature.hs 137;" f