This commit is contained in:
2024-09-13 09:43:56 +01:00
parent d2e1b054d0
commit c81fd5490d
6 changed files with 80 additions and 124 deletions
+1 -1
View File
@@ -1 +1 @@
All good (615 modules, at 18:28:18)
All good (615 modules, at 09:43:40)
+1 -38
View File
@@ -1,12 +1,8 @@
--{-# LANGUAGE TupleSections #-}
module Dodge.Combine (
combineList,
combineList',
) where
import Color
--import Dodge.Data.SelectionList
import Control.Lens
import Control.Monad
import Data.Bifunctor
@@ -28,60 +24,27 @@ import Dodge.Module
import qualified IntMapHelp as IM
import SimpleTrie
--invertInventory :: IM.IntMap Item -> [(ItemBaseType, ItAmount, Int)]
--invertInventory =
-- IM.foldrWithKey
-- (\k it -> ((_iyBase $ _itType it, itStackAmount it, k) :))
-- []
invertInventoryToMap :: IM.IntMap Item -> M.Map ItemBaseType [Int]
invertInventoryToMap =
IM.foldrWithKey
(\k it -> (M.insertWith (++) (_iyBase $ _itType it) [k]))
mempty
--splitItAmounts :: [(ItemBaseType, ItAmount, Int)] -> [((ItAmount, ItemBaseType), (ItAmount, Int))]
--splitItAmounts = concatMap f
-- where
-- f (x, n, y) = [((i, x), (i, y)) | i <- [1 .. n]]
groupSplitItemAmounts :: M.Map ItemBaseType [Int] -> [((ItAmount, ItemBaseType), [Int])]
groupSplitItemAmounts = M.foldrWithKey f []
where
f ibt is = (++) [((fromIntegral i, ibt), take i is) | i <- [1 .. length is]]
--flatSplitItAmounts :: [(ItemBaseType, ItAmount, Int)] -> [((ItAmount, ItemBaseType), [Int])]
--flatSplitItAmounts = concatMap f
-- where
-- f (x, n, y) = [((i, x), replicate (fromIntegral i) y) | i <- [1 .. n]]
--lookupItems :: IM.IntMap Item -> [([(ItAmount, Int)], Item)]
--lookupItems = flip multiLookupTrieI combinationsTrie . sortOn fst . splitItAmounts . invertInventory
flatLookupItems :: IM.IntMap Item -> [([[Int]], Item)]
flatLookupItems =
flip multiLookupTrieI combinationsTrie . sortOn fst . groupSplitItemAmounts
. invertInventoryToMap
--flatLookupItems :: IM.IntMap Item -> [([[Int]],Item)]
--flatLookupItems = flip multiLookupTrieI combinationsTrie . sortOn fst . flatSplitItAmounts
-- . invertInventory
combineItemListYouX :: World -> [([Int], Item)]
combineItemListYouX = map (first $ concat) . flatLookupItems . yourInv
--combineItemListYouX' :: World -> [([Int], Item)]
--combineItemListYouX' = map (first $ concatMap g) . lookupItems . yourInv
-- where
-- g (amount, i) = replicate (_getItAmount amount) i
combineList :: World -> [SelectionItem CombinableItem]
combineList w = case combineList' w of
[] -> [SelectionInfo ["No possible combinations"] 1 False white 0]
xs -> xs
combineList' :: World -> [SelectionItem CombinableItem]
combineList' = map f . combineListInfo
combineList = map f . combineListInfo
where
f (is, (strs, itm)) =
SelectionItem
+8 -13
View File
@@ -49,7 +49,7 @@ updateCombineSections w cfig sss =
where
mselpos = sss ^. sssExtra . sssSelPos
availablelines = getAvailableListLines secondColumnParams cfig
allcombs = IM.fromAscList $ zip [0 ..] $ combineList' w
allcombs = IM.fromAscList $ zip [0 ..] $ combineList w
filtcombs = fromMaybe allcombs $ do
str <- mstr
invitms <- w ^? hud . hudElement . diSections . sssSections . ix 0 . ssItems
@@ -140,7 +140,7 @@ updateDisplaySections w cfig sss =
invDimColor :: Color
invDimColor = greyN 0.7
-- it is annoying that this is necessary
-- this appears to be only for filtering
updateInventorySectionItems :: World -> World
updateInventorySectionItems w =
w
@@ -214,20 +214,15 @@ updateSection sis mcsel availablelines ss =
si <- sis ^? ix csel
let xselsize = length $ _siPictures si
return $ case sum $ fmap (length . _siPictures) . fst . IM.split csel $ sis of
pos
| pos == 0 || length allstrings <= availablelines ->
pos | pos == 0 || length allstrings <= availablelines ->
0
pos
| pos - 1 < oldoffset ->
pos | pos - 1 < oldoffset ->
pos - 1
pos
| maxcsel == csel ->
pos | maxcsel == csel ->
pos - availablelines + xselsize
pos
| pos + 1 + xselsize - availablelines > oldoffset ->
pos | pos + 1 + xselsize - availablelines > oldoffset ->
pos - availablelines + 1 + xselsize
_
| length allstrings - oldoffset < availablelines ->
_ | length allstrings - oldoffset < availablelines ->
length allstrings - availablelines
_ -> oldoffset
tweakfirst (x : xs)
@@ -263,7 +258,7 @@ enterCombineInv cfig w =
cm'
sss
where
cm' = IM.fromAscList $ zip [0 ..] $ combineList' w
cm' = IM.fromAscList $ zip [0 ..] $ combineList w
cm
| null cm' = IM.singleton 0 $ SelectionInfo ["No possible combinations"] 1 False white 0
| otherwise = cm'
+1 -3
View File
@@ -46,9 +46,7 @@ invSelectionItem cr i (it,indent,_) =
anyhotkey = maybe [] ((' ':) .hotkeyToString) (cr ^? crInvHotkeys . ix i)
anyequippos = maybe [] (rightPad 8 ' ' . (' ':) . eqPosText) (cr ^? crInvEquipped . ix i)
col = itemInvColor it
pics = case _itCurseStatus it of
UndroppableIdentified -> itemDisplay cr it
_ -> itemDisplay cr it
pics = itemDisplay cr it
hotkeyToString :: Hotkey -> String
hotkeyToString x = case x of
-1
View File
@@ -28,7 +28,6 @@ import Geometry
import LensHelp
import SDL
-- might not need the full universe here
updateUseInputInGame :: Universe -> Universe
updateUseInputInGame u = case u ^. uvWorld . hud . hudElement of
DisplayCarte -> over uvWorld updatePressedButtonsCarte u
+69 -68
View File
@@ -1352,7 +1352,7 @@ LAUNCHHOME src/Dodge/Data/Item/Combine.hs 218;" C
LBlink src/Dodge/Data/Item/HeldUse.hs 63;" C
LBoost src/Dodge/Data/Item/HeldUse.hs 65;" C
LBranches src/TreeExtra.hs 24;" C
LDT src/Dodge/Data/DoubleTree.hs 31;" C
LDT src/Dodge/Data/DoubleTree.hs 38;" C
LDTBottomNode src/Dodge/Data/DoubleTree.hs 26;" C
LDTComb src/Dodge/Item/Grammar.hs 46;" t
LDTCombine src/Dodge/Item/Grammar.hs 44;" t
@@ -1389,7 +1389,7 @@ Label src/Dodge/Render/Label.hs 1;" m
LabelAction src/Dodge/Data/ActionPlan.hs 79;" C
LabelCluster src/Dodge/Data/RoomCluster.hs 14;" C
LabelCluster src/Dodge/RoomCluster/Data.hs 12;" C
LabelDoubleTree src/Dodge/Data/DoubleTree.hs 31;" t
LabelDoubleTree src/Dodge/Data/DoubleTree.hs 38;" t
LabelDoubleTreeNodeType src/Dodge/Data/DoubleTree.hs 21;" t
LabelLayer src/Dodge/Picture/Layer/Data.hs 11;" C
Laboratory src/Dodge/Data/Scenario.hs 61;" C
@@ -3574,9 +3574,9 @@ _ldpPos src/Dodge/Data/SelectionList.hs 19;" f
_ldpScale src/Dodge/Data/SelectionList.hs 20;" f
_ldpVerticalGap src/Dodge/Data/SelectionList.hs 21;" f
_ldpWidth src/Dodge/Data/SelectionList.hs 23;" f
_ldtLeft src/Dodge/Data/DoubleTree.hs 31;" f
_ldtRight src/Dodge/Data/DoubleTree.hs 32;" f
_ldtValue src/Dodge/Data/DoubleTree.hs 31;" f
_ldtLeft src/Dodge/Data/DoubleTree.hs 38;" f
_ldtRight src/Dodge/Data/DoubleTree.hs 39;" f
_ldtValue src/Dodge/Data/DoubleTree.hs 38;" f
_leadTargetBy src/Dodge/Data/ActionPlan.hs 150;" f
_leftConsumption src/Dodge/Data/Item/Use.hs 44;" f
_leftDelay src/Dodge/Data/Item/Use.hs 41;" f
@@ -4411,7 +4411,7 @@ amr src/Dodge/Item/Weapon/BulletGun/Rod.hs 56;" f
anItemFindPulse src/Dodge/Item/Weapon/UseEffect.hs 25;" f
analyser src/Dodge/Placement/Instance/Analyser.hs 12;" f
analyserByDoor src/Dodge/Room/LasTurret.hs 75;" f
andOrRegex src/Dodge/DisplayInventory.hs 80;" f
andOrRegex src/Dodge/DisplayInventory.hs 79;" f
angleBetween src/Geometry.hs 145;" f
angleVV src/Geometry/Vector.hs 57;" f
angleVV3 src/Geometry/Vector3D.hs 122;" f
@@ -4526,9 +4526,9 @@ baseAMRShape src/Dodge/Item/Draw/SPic.hs 445;" f
baseBlockPane src/Dodge/Placement/Instance/Wall.hs 86;" f
baseBlockPane src/Dodge/Placements/Wall.hs 63;" f
baseBlockPane src/Dodge/Room/Placement.hs 93;" f
baseCIS src/Dodge/Item/Grammar.hs 36;" f
baseCIS src/Dodge/Item/Grammar.hs 39;" f
baseCaneShape src/Dodge/Item/Draw/SPic.hs 251;" f
baseComposedItem' src/Dodge/Item/Grammar.hs 28;" f
baseComposedItem' src/Dodge/Item/Grammar.hs 31;" f
baseDebris src/Dodge/Block/Debris.hs 122;" f
baseFloorTileSize src/Tile.hs 38;" f
baseRifleShape src/Dodge/Item/Draw/SPic.hs 254;" f
@@ -4696,7 +4696,7 @@ checkTermDist src/Dodge/Update.hs 281;" f
checkWallLeft src/Dodge/LevelGen/StaticWalls/Deprecated.hs 29;" f
checkWallRight src/Dodge/LevelGen/StaticWalls.hs 54;" f
checkWallRight src/Dodge/LevelGen/StaticWalls/Deprecated.hs 59;" f
chooseCursorBorders src/Dodge/Render/List.hs 130;" f
chooseCursorBorders src/Dodge/Render/List.hs 126;" f
chooseEquipmentPosition src/Dodge/Inventory/RBList.hs 36;" f
chooseFootSound src/Dodge/Creature/State/WalkCycle.hs 39;" f
chooseFreeSite src/Dodge/Inventory/RBList.hs 42;" f
@@ -4713,6 +4713,7 @@ circleDecoration src/Dodge/Placement/TopDecoration.hs 56;" f
circleLaser src/Dodge/Item/Weapon/BatteryGuns.hs 88;" f
circleSolid src/Picture/Base.hs 164;" f
circleSolidCol src/Picture/Base.hs 168;" f
cisToItem src/Dodge/Item/Grammar.hs 22;" f
clClSpringVel src/Dodge/Update.hs 630;" f
clZoneSize src/Dodge/Zone/Size.hs 3;" f
clZoneSize src/Dodge/Zoning/Cloud.hs 21;" f
@@ -4738,8 +4739,8 @@ 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 105;" f
closeObjectToSelectionItem src/Dodge/Inventory/SelectionList.hs 49;" f
closeObjectToTextPictures src/Dodge/Inventory/SelectionList.hs 64;" f
closeObjectToSelectionItem src/Dodge/Inventory/SelectionList.hs 68;" f
closeObjectToTextPictures src/Dodge/Inventory/SelectionList.hs 83;" f
closestCreatureID src/Dodge/Debug.hs 91;" f
closestPointOnLine src/Geometry/Intersect.hs 251;" f
closestPointOnLineParam src/Geometry/Intersect.hs 267;" f
@@ -4787,7 +4788,6 @@ combineItemListYouX src/Dodge/Combine.hs 70;" f
combineList src/Dodge/Combine.hs 78;" f
combineList' src/Dodge/Combine.hs 83;" f
combineListInfo src/Dodge/Combine.hs 96;" f
combineMaybe src/Dodge/Item/Grammar.hs 40;" f
combineModuleMaps src/Dodge/Combine.hs 107;" f
combineRooms src/Dodge/Room/Procedural.hs 151;" f
combineS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 344;" f
@@ -4946,7 +4946,7 @@ cylinderIndices src/Shader/Poke.hs 374;" f
cylinderOnSeg src/Geometry.hs 125;" f
cylinderPoly src/Shape.hs 85;" f
cylinderRoundIndices src/Shader/Poke.hs 381;" f
dShadCol src/Dodge/Render/List.hs 185;" f
dShadCol src/Dodge/Render/List.hs 181;" f
damThingHitWith src/Dodge/WorldEvent/Damage.hs 10;" f
damToExpBarrel src/Dodge/Barreloid.hs 57;" f
damageBlockWith src/Dodge/WorldEvent/DamageBlock.hs 16;" f
@@ -5158,8 +5158,7 @@ displayConfig src/Dodge/Menu.hs 196;" f
displayControls src/Dodge/Menu.hs 206;" f
displayEnergyBallType src/Dodge/Module/Info.hs 19;" f
displayFrameTicks src/Dodge/Render/Picture.hs 27;" f
displayFreeSlots src/Dodge/DisplayInventory.hs 161;" f
displaySelectionSection src/Dodge/DisplayInventory.hs 253;" f
displayFreeSlots src/Dodge/DisplayInventory.hs 159;" f
displayTerminal src/Dodge/Render/HUD.hs 210;" f
displayTerminalLineString src/Dodge/Update.hs 325;" f
dist src/Geometry/Vector.hs 179;" f
@@ -5223,7 +5222,7 @@ doPropUpdates src/Dodge/Prop/Update.hs 36;" f
doQuickload src/Dodge/Save.hs 82;" f
doQuicksave src/Dodge/Save.hs 77;" f
doRandImpulse src/Dodge/RandImpulse.hs 7;" f
doRegexInput src/Dodge/Update/Input/InGame.hs 133;" f
doRegexInput src/Dodge/Update/Input/InGame.hs 134;" f
doRoomInPlacements src/Dodge/Layout.hs 97;" f
doRoomOutPlacements src/Dodge/Layout.hs 107;" f
doRoomPlacements src/Dodge/Layout.hs 122;" f
@@ -5236,8 +5235,8 @@ doTerminalBootProgram src/Dodge/WorldEffect.hs 98;" f
doTerminalCommandEffect src/Dodge/Terminal.hs 133;" f
doTerminalEffectLB src/Dodge/Terminal/LeftButton.hs 12;" f
doTestDrawing src/Dodge/Render.hs 42;" f
doTextInputOver src/Dodge/Update/Input/Text.hs 12;" f
doTextInputOver' src/Dodge/Update/Input/Text.hs 15;" f
doTextInputOver src/Dodge/Update/Input/Text.hs 15;" f
doTextInputOverUniverse src/Dodge/Update/Input/Text.hs 12;" f
doThrust src/Dodge/Projectile/Update.hs 101;" f
doTimeScroll src/Dodge/Update.hs 185;" f
doTmTm src/Dodge/TmTm.hs 6;" f
@@ -5294,7 +5293,7 @@ drawCreature src/Dodge/Render/ShapePicture.hs 77;" f
drawCreatureDisplayTexts src/Dodge/Debug/Picture.hs 163;" f
drawCross src/Dodge/Render/Label.hs 24;" f
drawCrossCol src/Dodge/Render/Label.hs 21;" f
drawCursorAt src/Dodge/Render/List.hs 56;" f
drawCursorAt src/Dodge/Render/List.hs 55;" f
drawDDATest src/Dodge/Debug/Picture.hs 254;" f
drawDoorPaths src/Dodge/Debug/Picture.hs 215;" f
drawDoubleLampCover src/Dodge/LightSources/Lamp.hs 139;" f
@@ -5321,10 +5320,10 @@ drawLampCover src/Dodge/Prop/Draw.hs 44;" f
drawLaser src/Dodge/Laser/Draw.hs 6;" f
drawLightSource src/Dodge/LightSource/Draw.hs 7;" f
drawLinearShockwave src/Dodge/LinearShockwave/Draw.hs 10;" f
drawList src/Dodge/Render/List.hs 179;" f
drawListElement src/Dodge/Render/List.hs 159;" f
drawListYgapScaleYoff src/Dodge/Render/List.hs 82;" f
drawListYoff src/Dodge/Render/List.hs 76;" f
drawList src/Dodge/Render/List.hs 175;" f
drawListElement src/Dodge/Render/List.hs 155;" f
drawListYgapScaleYoff src/Dodge/Render/List.hs 78;" f
drawListYoff src/Dodge/Render/List.hs 75;" f
drawMachine src/Dodge/Machine/Draw.hs 12;" f
drawMapWall src/Dodge/Render/HUD/Carte.hs 33;" f
drawMenuOrHUD src/Dodge/Render/Picture.hs 47;" f
@@ -5345,8 +5344,8 @@ drawProp' src/Dodge/Prop/Draw.hs 12;" f
drawRBOptions src/Dodge/Render/HUD.hs 123;" f
drawRadarSweep src/Dodge/RadarSweep/Draw.hs 7;" f
drawRemoteShell src/Dodge/Projectile/Draw.hs 27;" f
drawSelectionCursor src/Dodge/Render/List.hs 41;" f
drawSelectionList src/Dodge/Render/List.hs 29;" f
drawSelectionCursor src/Dodge/Render/List.hs 40;" f
drawSelectionList src/Dodge/Render/List.hs 28;" f
drawSelectionSections src/Dodge/SelectionSections/Draw.hs 10;" f
drawSensor src/Dodge/Machine/Draw.hs 19;" f
drawShader src/Shader.hs 27;" f
@@ -5366,7 +5365,6 @@ drawTeslaArc src/Dodge/Tesla/Arc/Draw.hs 7;" f
drawText src/Picture/Base.hs 220;" f
drawTitle src/Dodge/Render/MenuScreen.hs 48;" f
drawTractorBeam src/Dodge/TractorBeam/Draw.hs 7;" f
drawTreeYgapScaleYoff src/Dodge/Render/List.hs 79;" f
drawTurret src/Dodge/Machine/Draw.hs 58;" f
drawTurret src/Dodge/Placements/Turret.hs 82;" f
drawVerticalLampCover src/Dodge/LightSources/Lamp.hs 154;" f
@@ -5413,7 +5411,7 @@ encircleCloseP src/Dodge/Creature/Boid.hs 35;" f
encircleDistP src/Dodge/Creature/Boid.hs 21;" f
encircleP src/Dodge/Creature/Boid.hs 27;" f
energyBallCraft src/Dodge/Item/Craftable.hs 18;" f
enterCombineInv src/Dodge/DisplayInventory.hs 264;" f
enterCombineInv src/Dodge/DisplayInventory.hs 259;" f
eqConstr src/SameConstr.hs 17;" f
eqPosText src/Dodge/Equipment/Text.hs 6;" f
equipAimSpeed src/Dodge/Creature/Action/Movement.hs 109;" f
@@ -5612,7 +5610,7 @@ getEquipmentAllocation src/Dodge/Inventory/RBList.hs 47;" f
getItem src/Dodge/Item/Location.hs 12;" f
getIthPos src/SelectionIntMap.hs 55;" f
getIthYOffset src/SelectionIntMap.hs 58;" f
getLDPWidth src/Dodge/Render/List.hs 71;" f
getLDPWidth src/Dodge/Render/List.hs 70;" f
getLinksOfType src/Dodge/RoomLink.hs 39;" f
getNodePos src/Dodge/Path.hs 31;" f
getPretty src/AesonHelp.hs 7;" f
@@ -5733,7 +5731,7 @@ holsterWeaponSound src/Dodge/SoundLogic/Synonyms.hs 4;" f
homingLaunchers src/Dodge/Combine/Combinations.hs 224;" f
horPipe src/Dodge/Placement/Instance/Pipe.hs 9;" f
hotkeyToScancode src/Dodge/Creature/YourControl.hs 55;" f
hotkeyToString src/Dodge/Inventory/SelectionList.hs 34;" f
hotkeyToString src/Dodge/Inventory/SelectionList.hs 53;" f
humanoidAIList src/Dodge/Humanoid.hs 181;" f
hvBulDams src/Dodge/Particle/Damage.hs 13;" f
hvBulHitCr src/Dodge/Particle/Bullet/HitEffect.hs 17;" f
@@ -5824,12 +5822,15 @@ intersectSegsSeg src/Geometry/Intersect.hs 232;" f
intervalList src/Geometry.hs 315;" f
interweave src/Justify.hs 17;" f
intsToPos src/Dodge/Room/Modify/Girder.hs 160;" f
invDimColor src/Dodge/DisplayInventory.hs 142;" f
invDimColor src/Dodge/DisplayInventory.hs 140;" f
invDimColor src/Dodge/Inventory/Color.hs 4;" f
invDisplayParams src/Dodge/ListDisplayParams.hs 29;" f
invHead src/Dodge/Render/HUD.hs 275;" f
invIndentIM src/Dodge/Item/Grammar.hs 90;" f
invIndentIM' src/Dodge/Item/Grammar.hs 87;" f
invLDT src/Dodge/Item/Grammar.hs 83;" f
invSelectionItem src/Dodge/Inventory/SelectionList.hs 16;" f
invSelectionItem src/Dodge/Inventory/SelectionList.hs 35;" f
invSelectionItem' src/Dodge/Inventory/SelectionList.hs 17;" f
invShiftPointBy src/Dodge/ShiftPoint.hs 8;" f
invSideEff src/Dodge/Creature/State.hs 232;" f
invSize src/Dodge/Inventory/CheckSlots.hs 40;" f
@@ -6009,9 +6010,9 @@ linksAndPath' src/Dodge/Room/Path.hs 44;" f
linksOnPath src/Dodge/Room/CheckConsistency.hs 7;" f
listConfig src/Dodge/Menu.hs 199;" f
listControls src/Dodge/Menu.hs 212;" f
listCursorChooseBorderScale src/Dodge/Render/List.hs 109;" f
listCursorChooseBorderScale src/Dodge/Render/List.hs 105;" f
listGuard src/Dodge/Creature/ReaderUpdate.hs 188;" f
listSelectionColorPicture src/Dodge/DisplayInventory.hs 256;" f
listSelectionColorPicture src/Dodge/DisplayInventory.hs 251;" f
litCorridor90 src/Dodge/Room/RoadBlock.hs 26;" f
lmt src/MatrixHelper.hs 43;" f
lnkBothAnd src/Dodge/Room/Procedural.hs 120;" f
@@ -6116,7 +6117,7 @@ makePathBetween src/Dodge/Path.hs 35;" f
makePathBetweenPs src/Dodge/Path.hs 54;" f
makePoisonExplosionAt src/Dodge/WorldEvent/Explosion.hs 31;" f
makeRect src/Grid.hs 82;" f
makeSelectionListPictures src/Dodge/Render/List.hs 50;" f
makeSelectionListPictures src/Dodge/Render/List.hs 49;" f
makeShaderEBO src/Shader/Compile.hs 59;" f
makeShaderProgram src/Shader/Compile.hs 287;" f
makeShaderUsingVAO src/Shader/Compile.hs 155;" f
@@ -6157,7 +6158,7 @@ maybeClearPath src/Dodge/Block.hs 72;" f
maybeClearPaths src/Dodge/Block.hs 69;" f
maybeDestroyBlock src/Dodge/Wall/Damage.hs 26;" f
maybeDestroyDoor src/Dodge/Wall/Damage.hs 31;" f
maybeExitCombine src/Dodge/Update/Input/InGame.hs 258;" f
maybeExitCombine src/Dodge/Update/Input/InGame.hs 259;" f
maybeOpenTerminal src/Dodge/Update.hs 113;" f
maybeRateStatus src/Dodge/Item/Display.hs 185;" f
maybeReadFile src/Dodge/LoadSeed.hs 10;" f
@@ -6393,7 +6394,7 @@ optionScreenUpdate src/Dodge/Update/Input/ScreenLayer.hs 39;" f
optionValueOffset src/Dodge/Menu/Option.hs 106;" f
optionsOptions src/Dodge/Menu.hs 108;" f
optionsToSelections src/Dodge/Menu/Option.hs 59;" f
orRegex src/Dodge/DisplayInventory.hs 83;" f
orRegex src/Dodge/DisplayInventory.hs 82;" f
orange src/Color.hs 25;" f
orderAround3 src/Geometry/Vector3D.hs 105;" f
orderAroundFirst src/Geometry/Polygon.hs 74;" f
@@ -6442,7 +6443,7 @@ parseNum src/Dodge/Debug/Terminal.hs 72;" f
pathConnected src/Dodge/Room/CheckConsistency.hs 14;" f
pathEdgeObstructed src/Dodge/Path.hs 43;" f
pauseAndFloatCam src/Dodge/Camera.hs 10;" f
pauseGame src/Dodge/Update/Input/InGame.hs 212;" f
pauseGame src/Dodge/Update/Input/InGame.hs 213;" f
pauseKey src/Dodge/Config/KeyConfig.hs 22;" f
pauseMenu src/Dodge/Menu.hs 53;" f
pauseMenuOptions src/Dodge/Menu.hs 58;" f
@@ -6516,7 +6517,7 @@ placeSpotRoomRand src/Dodge/Placement/PlaceSpot.hs 78;" f
placeSpotUsingLink src/Dodge/Placement/PlaceSpot.hs 59;" f
placeString src/Dodge/Render/MenuScreen.hs 54;" f
placeWallPoly src/Dodge/Placement/PlaceSpot.hs 154;" f
plainRegex src/Dodge/DisplayInventory.hs 158;" f
plainRegex src/Dodge/DisplayInventory.hs 156;" f
plainShellCollisionCheck src/Dodge/Projectile/Update.hs 45;" f
plateCraft src/Dodge/Item/Craftable.hs 47;" f
playIfFree src/Sound.hs 136;" f
@@ -6630,8 +6631,8 @@ prependTwo src/Geometry.hs 165;" f
pressedMBEffects src/Dodge/Update/UsingInput.hs 27;" f
pressedMBEffectsNoInventory src/Dodge/Update/UsingInput.hs 40;" f
pressedMBEffectsTopInventory src/Dodge/Creature/YourControl.hs 206;" f
prettyDT src/Dodge/Data/DoubleTree.hs 44;" f
prettyLDT src/Dodge/Data/DoubleTree.hs 48;" f
prettyDT src/Dodge/DoubleTree.hs 54;" f
prettyLDT src/Dodge/DoubleTree.hs 58;" f
primeS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 422;" f
printColumnTitles src/Dodge/Tree/Shift.hs 142;" f
printColumns src/Dodge/Tree/Shift.hs 132;" f
@@ -6803,7 +6804,7 @@ reflectInParam src/Geometry.hs 233;" f
reflectLaserAlong src/Dodge/Item/Weapon/LaserPath.hs 13;" f
refract src/Dodge/Item/Weapon/LaserPath.hs 40;" f
refreshOptionsSelectionList src/Dodge/Menu/Option.hs 34;" f
regexCombs src/Dodge/DisplayInventory.hs 70;" f
regexCombs src/Dodge/DisplayInventory.hs 69;" f
regexFocus src/Dodge/InputFocus.hs 46;" f
regexIn src/Regex.hs 4;" f
regexList src/Regex.hs 7;" f
@@ -6830,7 +6831,7 @@ renderInfoListAt src/Dodge/Render/InfoBox.hs 15;" f
renderInfoListsAt src/Dodge/Render/InfoBox.hs 24;" f
renderLayer src/Render.hs 233;" f
renderLightingNoShadows src/Render.hs 48;" f
renderListAt src/Dodge/Render/List.hs 164;" f
renderListAt src/Dodge/Render/List.hs 160;" f
renderShadows src/Render.hs 117;" f
repeatOnFrames src/Dodge/Item/Weapon/TriggerType.hs 650;" f
repeatTransformed src/Dodge/Item/Weapon/TriggerType.hs 94;" f
@@ -7005,7 +7006,7 @@ 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 339;" f
selSecDrawCursor src/Dodge/Render/List.hs 91;" f
selSecDrawCursor src/Dodge/Render/List.hs 87;" f
selSecSelCol src/Dodge/Render/HUD.hs 356;" f
selSecSelSize src/Dodge/SelectionSections.hs 124;" f
selSecYint src/Dodge/SelectionSections.hs 127;" f
@@ -7203,8 +7204,8 @@ singleBarrel src/Dodge/Item/Held/SingleBarrel.hs 6;" f
singleBlock src/Dodge/Placement/Instance/Wall.hs 30;" f
singleBlock src/Dodge/Placements/Wall.hs 11;" f
singleBlock src/Dodge/Room/Placement.hs 23;" f
singleDT src/Dodge/Item/Grammar.hs 22;" f
singleLDT src/Dodge/Item/Grammar.hs 25;" f
singleDT src/Dodge/Item/Grammar.hs 25;" f
singleLDT src/Dodge/Item/Grammar.hs 28;" f
singleton src/DoubleStack.hs 11;" f
singletonTrie src/SimpleTrie.hs 14;" f
sizeFBOs src/Framebuffer/Update.hs 22;" f
@@ -7252,7 +7253,7 @@ soundVolID src/Dodge/SoundLogic/Synonyms.hs 41;" f
soundWithStatus src/Dodge/SoundLogic.hs 98;" f
soundWithStatusVolume src/Dodge/SoundLogic.hs 48;" f
southPillarsRoom src/Dodge/Room/LongDoor.hs 84;" f
spaceAction src/Dodge/Update/Input/InGame.hs 215;" f
spaceAction src/Dodge/Update/Input/InGame.hs 216;" f
spaceActionKey src/Dodge/Config/KeyConfig.hs 28;" f
spanColLightBlackI src/Dodge/Placement/Instance/LightSource.hs 186;" f
spanColLightI src/Dodge/Placement/Instance/LightSource.hs 179;" f
@@ -7312,8 +7313,8 @@ ssScrollUsing src/Dodge/SelectionSections.hs 28;" f
ssScrollUsing' src/Dodge/SelectionSections.hs 38;" f
ssSetCursor src/Dodge/SelectionSections.hs 52;" f
ssfold src/FoldableHelp.hs 104;" f
stackPicturesAt src/Dodge/Render/List.hs 85;" f
stackPicturesAtOff src/Dodge/Render/List.hs 88;" f
stackPicturesAt src/Dodge/Render/List.hs 81;" f
stackPicturesAtOff src/Dodge/Render/List.hs 84;" f
stackText src/Picture/Base.hs 188;" f
stackedInventory src/Dodge/Creature.hs 269;" f
startCr src/Dodge/Creature.hs 91;" f
@@ -7483,17 +7484,17 @@ toLabel src/Dodge/UseAll.hs 16;" f
toMultiset src/Multiset.hs 58;" f
toOnward src/Dodge/Tree/Compose.hs 101;" f
toShadNum src/Picture/Data.hs 50;" f
toTopLeft src/Dodge/Render/List.hs 189;" f
toTopLeft src/Dodge/Render/List.hs 185;" f
toV2 src/Geometry/Data.hs 36;" f
toV3 src/Geometry/Data.hs 38;" f
toV4 src/Geometry/Data.hs 40;" f
toggleCombineInv src/Dodge/DisplayInventory.hs 33;" f
toggleCombineInv src/Dodge/DisplayInventory.hs 32;" f
toggleCommand src/Dodge/Terminal.hs 194;" f
toggleEquipmentAt src/Dodge/Creature/Impulse/UseItem.hs 59;" f
toggleJust src/MaybeHelp.hs 41;" f
toggleMap src/Dodge/Update/Input/InGame.hs 236;" f
toggleMap src/Dodge/Update/Input/InGame.hs 237;" f
toggleMapKey src/Dodge/Config/KeyConfig.hs 25;" f
toggleTweakInv src/Dodge/Update/Input/InGame.hs 243;" f
toggleTweakInv src/Dodge/Update/Input/InGame.hs 244;" f
togglesToEffects src/Dodge/Terminal.hs 244;" f
tone440S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 460;" f
tone440sawtoothS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 430;" f
@@ -7589,7 +7590,7 @@ trunkDepth src/TreeHelp.hs 161;" f
tryAssignHotkey src/Dodge/Creature/YourControl.hs 86;" f
tryAttachBulletBelt src/Dodge/Euse.hs 40;" f
tryChargeBattery src/Dodge/Euse.hs 43;" f
tryCombine src/Dodge/Update/Input/InGame.hs 251;" f
tryCombine src/Dodge/Update/Input/InGame.hs 252;" f
tryGetChannel src/Sound.hs 96;" f
tryMeleeAttack src/Dodge/Creature/ReaderUpdate.hs 36;" f
tryNextLoadAction src/Dodge/Reloading.hs 36;" f
@@ -7644,7 +7645,7 @@ upProjectile src/Dodge/Projectile/Update.hs 54;" f
updateAllNodes src/TreeHelp.hs 85;" f
updateArc src/Dodge/Tesla/Arc.hs 86;" f
updateAutoRecharge src/Dodge/Creature/State.hs 266;" f
updateBackspaceRegex src/Dodge/Update/Input/InGame.hs 158;" 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 457;" f
@@ -7656,19 +7657,19 @@ updateCamera src/Dodge/Update/Camera.hs 32;" f
updateCloseObjects src/Dodge/Inventory.hs 166;" f
updateCloud src/Dodge/Update.hs 605;" f
updateClouds src/Dodge/Update.hs 454;" f
updateCombinePositioning src/Dodge/DisplayInventory.hs 38;" f
updateCombineSections src/Dodge/DisplayInventory.hs 43;" f
updateCombinePositioning src/Dodge/DisplayInventory.hs 37;" f
updateCombineSections src/Dodge/DisplayInventory.hs 42;" f
updateCreature src/Dodge/Creature/Update.hs 10;" f
updateCreatureGroups src/Dodge/Update.hs 391;" f
updateCreatureSoundPositions src/Dodge/Update.hs 371;" f
updateDebugMessageOffset src/Dodge/Update.hs 91;" f
updateDelayedEvents src/Dodge/Update.hs 668;" f
updateDisplaySections src/Dodge/DisplayInventory.hs 93;" f
updateDisplaySections src/Dodge/DisplayInventory.hs 92;" f
updateDistortion src/Dodge/Distortion.hs 5;" f
updateDistortions src/Dodge/Update.hs 412;" f
updateEnergyBall src/Dodge/EnergyBall.hs 46;" f
updateEnergyBalls src/Dodge/Update.hs 442;" f
updateEnterRegex src/Dodge/Update/Input/InGame.hs 187;" f
updateEnterRegex src/Dodge/Update/Input/InGame.hs 188;" f
updateExpBarrel src/Dodge/Barreloid.hs 19;" f
updateFBOTO src/Framebuffer/Update.hs 97;" f
updateFBOTO3 src/Framebuffer/Update.hs 131;" f
@@ -7683,20 +7684,20 @@ updateHumanoid src/Dodge/Humanoid.hs 12;" f
updateIMl src/Dodge/Update.hs 385;" f
updateIMl' src/Dodge/Update.hs 388;" f
updateInGameCamera src/Dodge/Update/Camera.hs 71;" f
updateInitialPressInGame src/Dodge/Update/Input/InGame.hs 107;" f
updateInitialPressInGame src/Dodge/Update/Input/InGame.hs 108;" f
updateInstantBullets src/Dodge/Update.hs 531;" f
updateInv src/Dodge/Creature/State.hs 224;" f
updateInventoryPositioning src/Dodge/DisplayInventory.hs 88;" f
updateInventorySectionItems src/Dodge/DisplayInventory.hs 146;" f
updateKeyInGame src/Dodge/Update/Input/InGame.hs 101;" f
updateKeysInTerminal src/Dodge/Update/Input/InGame.hs 90;" f
updateInventoryPositioning src/Dodge/DisplayInventory.hs 87;" f
updateInventorySectionItems src/Dodge/DisplayInventory.hs 144;" f
updateKeyInGame src/Dodge/Update/Input/InGame.hs 102;" f
updateKeysInTerminal src/Dodge/Update/Input/InGame.hs 91;" f
updateLampoid src/Dodge/Lampoid.hs 13;" f
updateLaser src/Dodge/Laser/Update.hs 10;" f
updateLasers src/Dodge/Update.hs 314;" f
updateLightSources src/Dodge/Update.hs 415;" f
updateLinearShockwave src/Dodge/Item/Weapon/Booster.hs 75;" f
updateLinearShockwave src/Dodge/LinearShockwave/Update.hs 8;" f
updateLongPressInGame src/Dodge/Update/Input/InGame.hs 127;" f
updateLongPressInGame src/Dodge/Update/Input/InGame.hs 128;" f
updateMIM src/Dodge/Update.hs 544;" f
updateMachine src/Dodge/Machine/Update.hs 16;" f
updateMovement src/Dodge/Creature/State.hs 303;" f
@@ -7709,8 +7710,8 @@ updatePosEvent src/Dodge/PosEvent.hs 11;" f
updatePosEvents src/Dodge/Update.hs 451;" f
updatePreload src/Dodge/PreloadData.hs 12;" f
updatePreload src/Preload/Update.hs 20;" f
updatePressedButtonsCarte src/Dodge/Update/Input/InGame.hs 65;" f
updatePressedButtonsCarte' src/Dodge/Update/Input/InGame.hs 68;" f
updatePressedButtonsCarte src/Dodge/Update/Input/InGame.hs 66;" f
updatePressedButtonsCarte' src/Dodge/Update/Input/InGame.hs 69;" f
updateProjectile src/Dodge/Projectile/Update.hs 26;" f
updateProp src/Dodge/Prop/Update.hs 11;" f
updateRBList src/Dodge/Inventory/RBList.hs 16;" f
@@ -7723,8 +7724,8 @@ updateRenderSplit appDodge/Main.hs 105;" f
updateScopeZoom src/Dodge/Update/Camera.hs 131;" f
updateScopeZoom' src/Dodge/Update/Camera.hs 136;" f
updateScrollTestValue src/Dodge/ScrollValue.hs 6;" f
updateSection src/Dodge/DisplayInventory.hs 188;" f
updateSectionsPositioning src/Dodge/DisplayInventory.hs 167;" f
updateSection src/Dodge/DisplayInventory.hs 186;" f
updateSectionsPositioning src/Dodge/DisplayInventory.hs 165;" f
updateSeenWalls src/Dodge/Update.hs 562;" f
updateShockwave src/Dodge/Shockwave/Update.hs 12;" f
updateShockwaves src/Dodge/Update.hs 436;" f