First implementation of ammo distribution via machine

This commit is contained in:
2025-12-09 23:35:02 +00:00
parent 851b26262a
commit f6e0514408
4 changed files with 117 additions and 84 deletions
+1
View File
@@ -41,6 +41,7 @@ tryPutItemInInv cid itid w = do
& cWorld . lWorld . items . ix itid . itLocation .~ itloc
& cWorld . lWorld . floorItems . at itid .~ Nothing
& updateselectionextra invid
& cWorld . highlightItems . at itid ?~ 20
where
updateselectionextra i
| cid == 0 = (hud . diSelection . _Just . slSet %~ IS.map (f i))
+4
View File
@@ -2,6 +2,7 @@
module Dodge.Item.MagAmmoType (
magAmmoType,
magMax,
) where
import Control.Lens
@@ -24,3 +25,6 @@ mAT = \case
SHELLMAG -> LauncherAmmo
BATTERY -> ElectricalAmmo
CHEMFUELPOUCH -> GasAmmo
magMax :: Item -> Maybe Int
magMax _ = Just 100
+29 -3
View File
@@ -6,6 +6,10 @@ module Dodge.WorldEffect (
doTmWdWd,
) where
import Data.Traversable (mapAccumR)
import Dodge.Item.MagAmmoType
import qualified Data.IntSet as IS
import Dodge.Data.AmmoType
import Color
import Dodge.Terminal
import NewInt
@@ -115,13 +119,35 @@ tmDistributeAmmo tm w = fromMaybe w $ do
sid <- w ^? cWorld . lWorld . machines . ix mid
. mcType . mcdStorageMachine . _Just
McStorage atype aamount <- w ^? cWorld . lWorld . machines . ix sid . mcType
return $ w & cWorld . lWorld . terminals . ix (tm ^. tmID) . tmStatus
.~ TerminalPressTo ""
let (x',w') = distributeAmmoToYou atype aamount w
return $ w'
& cWorld . lWorld . machines . ix sid . mcType . mcsAmount .~ x'
& cWorld . lWorld . terminals . ix (tm ^. tmID) . tmFutureLines .~
[TLine 1 [TerminalLineConst "" yellow] (TmTmSetStatus (TerminalPressTo "RETRY"))
[TLine 1 [TerminalLineConst (show x' <>" "<>show atype<>" REMAINING IN STORAGE") white] TmWdId
,TLine 1 [TerminalLineConst "" yellow] (TmTmSetStatus (TerminalPressTo "RETRY"))
,TLine 1 [TerminalLineConst "" white] TmWdWdPowerDownTerminal
]
distributeAmmoToYou :: AmmoType -> Int -> World -> (Int,World)
distributeAmmoToYou atype x w = fromMaybe (0,w) $ do
is <- fmap IM.elems $ w ^? cWorld . lWorld . creatures . ix 0 . crInv . unNIntMap
let itms = IM.filter (\itm -> magAmmoType itm == Just atype) $
IM.restrictKeys (w ^. cWorld . lWorld . items) (IS.fromList is)
(x',itmams) = mapAccumR distributeAmmoToItem x itms
return (x', IM.foldlWithKey' f w itmams)
where
f w' i y = w' & cWorld . highlightItems . at i ?~ 20
& cWorld . lWorld . items . ix i . itConsumables . _Just .~ y
distributeAmmoToItem :: Int -> Item -> (Int,Int)
distributeAmmoToItem x itm = fromMaybe (x,0) $ do
m <- magMax itm
cur <- itm ^. itConsumables
let d = m - cur
t = min x d
return (x-t,cur+t)
resetTerminal :: TerminalStatus -> Terminal -> World -> World
resetTerminal x tm =
(cWorld . lWorld . terminals . ix (_tmID tm) . tmStatus .~ x)
+83 -81
View File
@@ -520,6 +520,7 @@ HeavySmokeFlare src/Dodge/Data/Muzzle.hs 33;" C
HeldItemType src/Dodge/Data/Item/Combine.hs 138;" t
HeldPlatformSF src/Dodge/Data/ComposedItem.hs 14;" C
HiddenGoal src/Dodge/Data/Scenario.hs 14;" C
HighlightSI src/Dodge/Data/SelectionList.hs 54;" C
HomeUsingRemoteScreen src/Dodge/Data/Projectile.hs 41;" C
HomeUsingTargeting src/Dodge/Data/Projectile.hs 42;" C
Hospital src/Dodge/Data/Scenario.hs 69;" C
@@ -1127,7 +1128,7 @@ SCRAPMETAL src/Dodge/Data/Item/Combine.hs 61;" C
SHATTERGUN src/Dodge/Data/Item/Combine.hs 173;" C
SHELLMAG src/Dodge/Data/Item/Combine.hs 109;" C
SHELLPAYLOAD src/Dodge/Data/Item/Combine.hs 101;" C
SIDisplayMod src/Dodge/Data/SelectionList.hs 53;" t
SIDisplayMod src/Dodge/Data/SelectionList.hs 52;" t
SMG src/Dodge/Data/Item/Combine.hs 146;" C
SMOKEREDUCER src/Dodge/Data/Item/Combine.hs 99;" C
SNIPERRIFLE src/Dodge/Data/Item/Combine.hs 160;" C
@@ -1155,7 +1156,7 @@ SeeThrough src/Dodge/Data/Wall.hs 31;" C
Sel src/Dodge/Data/HUD.hs 39;" C
SelCloseButton src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 30;" C
SelCloseItem src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 28;" C
SelItem src/Dodge/Data/SelectionList.hs 42;" C
SelItem src/Dodge/Data/SelectionList.hs 41;" C
SelNothing src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 26;" C
SelSection src/Dodge/Data/SelectionList.hs 29;" t
SelectedItem src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 21;" C
@@ -2266,14 +2267,14 @@ _shapeHalfSize src/Shape/Data.hs 13;" f
_shapeShader src/Data/Preload/Render.hs 28;" f
_shellPayload src/Dodge/Data/Item/Combine.hs 101;" f
_shockwaves src/Dodge/Data/LWorld.hs 113;" f
_siColor src/Dodge/Data/SelectionList.hs 47;" f
_siDisplayMod src/Dodge/Data/SelectionList.hs 50;" f
_siHeight src/Dodge/Data/SelectionList.hs 44;" f
_siIsSelectable src/Dodge/Data/SelectionList.hs 46;" f
_siOffX src/Dodge/Data/SelectionList.hs 48;" f
_siPayload src/Dodge/Data/SelectionList.hs 49;" f
_siPictures src/Dodge/Data/SelectionList.hs 43;" f
_siWidth src/Dodge/Data/SelectionList.hs 45;" f
_siColor src/Dodge/Data/SelectionList.hs 46;" f
_siDisplayMod src/Dodge/Data/SelectionList.hs 49;" f
_siHeight src/Dodge/Data/SelectionList.hs 43;" f
_siIsSelectable src/Dodge/Data/SelectionList.hs 45;" f
_siOffX src/Dodge/Data/SelectionList.hs 47;" f
_siPayload src/Dodge/Data/SelectionList.hs 48;" f
_siPictures src/Dodge/Data/SelectionList.hs 42;" f
_siWidth src/Dodge/Data/SelectionList.hs 44;" f
_sideEffect src/Loop/Data.hs 13;" f
_sideImpulses src/Dodge/Data/ActionPlan.hs 122;" f
_silhouetteEBO src/Data/Preload/Render.hs 30;" f
@@ -2510,7 +2511,7 @@ addArmour src/Dodge/Creature.hs 82;" f
addBranchAt src/Dodge/Tree/GenerateStructure.hs 18;" f
addButtonSlowDoor src/Dodge/Room/LongDoor.hs 96;" f
addCrGibs src/Dodge/Prop/Gib.hs 17;" f
addDepth src/Picture/Base.hs 133;" f
addDepth src/Picture/Base.hs 134;" f
addDoorAtNthLinkToggleTerminal src/Dodge/Room/Warning.hs 40;" f
addDoorToggleTerminal src/Dodge/Room/Warning.hs 37;" f
addGib4 src/Dodge/Prop/Gib.hs 52;" f
@@ -2597,10 +2598,10 @@ applyTorqueCME src/Dodge/HeldUse.hs 570;" f
applyWorldConfig src/Dodge/Config.hs 55;" f
aquamarine src/Color.hs 23;" f
arHUD src/Dodge/Item/Scope.hs 134;" f
arc src/Picture/Base.hs 287;" f
arc src/Picture/Base.hs 291;" f
arcFull src/Picture/Arc.hs 11;" f
arcPart src/Picture/Arc.hs 24;" f
arcSolid src/Picture/Base.hs 276;" f
arcSolid src/Picture/Base.hs 280;" f
arcStepwise src/Geometry.hs 326;" f
arcStepwisePositive src/Geometry.hs 340;" f
arcTest src/Picture/Test.hs 9;" f
@@ -2679,12 +2680,12 @@ batteryPack src/Dodge/Item/Equipment.hs 46;" f
belowNumX src/Dodge/Combine/Graph.hs 84;" f
beltMag src/Dodge/Item/Ammo.hs 39;" f
bfsThenReturn src/Dodge/Creature/ReaderUpdate.hs 226;" f
bgateCalc src/Dodge/Inventory/SelectionList.hs 119;" f
bgateCalc src/Dodge/Inventory/SelectionList.hs 121;" f
bgunSound src/Dodge/HeldUse.hs 514;" f
bindFBO src/Render.hs 235;" f
bingate src/Dodge/Item/Scope.hs 109;" f
black src/Color.hs 27;" f
blank src/Picture/Base.hs 59;" f
blank src/Picture/Base.hs 60;" f
blinkAcrossChallenge src/Dodge/Room/BlinkAcross.hs 14;" f
blinkActionFail src/Dodge/Creature/Action/Blink.hs 87;" f
blinkActionMousePos src/Dodge/Creature/Action/Blink.hs 24;" f
@@ -2736,7 +2737,7 @@ branchWith src/Dodge/Room/Room.hs 77;" f
bright src/Color.hs 120;" f
brightX src/Color.hs 116;" f
btSPic src/Dodge/Render/ShapePicture.hs 131;" f
btText src/Dodge/Inventory/SelectionList.hs 240;" f
btText src/Dodge/Inventory/SelectionList.hs 242;" f
bufferEBO src/Shader/Bind.hs 28;" f
bufferPerspectiveMatrixUBO src/Dodge/Render.hs 429;" f
bufferPokedVBO src/Shader/Bind.hs 19;" f
@@ -2767,7 +2768,7 @@ cardinalVectors src/Dodge/FloorItem.hs 24;" f
cdtPropagateFold src/Dodge/DoubleTree.hs 407;" f
ceilingTo src/Geometry/Zone.hs 15;" f
cenLasTur src/Dodge/Room/LasTurret.hs 34;" f
centerText src/Picture/Base.hs 184;" f
centerText src/Picture/Base.hs 185;" f
centerVaultExplosiveExit src/Dodge/Room/NoNeedWeapon.hs 20;" f
centerVaultRoom src/Dodge/Room/Procedural.hs 269;" f
centroid src/Geometry/Polygon.hs 169;" f
@@ -2776,7 +2777,7 @@ chainPairs src/Geometry.hs 360;" f
changeSwapOther src/Dodge/Inventory.hs 141;" f
changeSwapSel src/Dodge/Inventory.hs 134;" f
changeSwapWith src/Dodge/Inventory.hs 175;" f
charToTuple src/Picture/Base.hs 317;" f
charToTuple src/Picture/Base.hs 321;" f
charToTupleGrad src/Picture/Text.hs 18;" f
chartreuse src/Color.hs 24;" f
chaseCrit src/Dodge/Creature/ChaseCrit.hs 27;" f
@@ -2816,10 +2817,10 @@ circOnAnyCr src/Dodge/Base/Collide.hs 292;" f
circOnSeg src/Geometry.hs 101;" f
circOnSegNoEndpoints src/Geometry.hs 91;" f
circOnSomeWall src/Dodge/Base/Collide.hs 286;" f
circle src/Picture/Base.hs 180;" f
circle src/Picture/Base.hs 181;" f
circleDecoration src/Dodge/Placement/TopDecoration.hs 62;" f
circleSolid src/Picture/Base.hs 164;" f
circleSolidCol src/Picture/Base.hs 168;" f
circleSolid src/Picture/Base.hs 165;" f
circleSolidCol src/Picture/Base.hs 169;" f
clAlt src/Dodge/Cloud.hs 5;" f
clColor src/Shader/Poke/Cloud.hs 39;" f
clZoneSize src/Dodge/Zoning/Cloud.hs 24;" f
@@ -2839,9 +2840,9 @@ clicker src/Dodge/Item/Scope.hs 82;" f
clipV src/Geometry/Vector.hs 48;" f
clipZoom src/Dodge/Update/Camera.hs 237;" f
clockCycle src/Dodge/Clock.hs 7;" f
closeButtonToSelectionItem src/Dodge/Inventory/SelectionList.hs 225;" f
closeItemToSelectionItem src/Dodge/Inventory/SelectionList.hs 209;" f
closeItemToTextPictures src/Dodge/Inventory/SelectionList.hs 246;" f
closeButtonToSelectionItem src/Dodge/Inventory/SelectionList.hs 227;" f
closeItemToSelectionItem src/Dodge/Inventory/SelectionList.hs 211;" f
closeItemToTextPictures src/Dodge/Inventory/SelectionList.hs 248;" f
closeObjectInfo src/Dodge/Render/HUD.hs 228;" f
closestPointOnLine src/Geometry/Intersect.hs 272;" f
closestPointOnLineParam src/Geometry/Intersect.hs 288;" f
@@ -2870,7 +2871,7 @@ collideCircWalls src/Dodge/Base/Collide.hs 253;" f
collidePoint src/Dodge/Base/Collide.hs 52;" f
collidePointTestFilter src/Dodge/Base/Collide.hs 188;" f
collidePointWallsFilter src/Dodge/Base/Collide.hs 202;" f
color src/Picture/Base.hs 108;" f
color src/Picture/Base.hs 109;" f
colorLamp src/Dodge/Creature/Lamp.hs 10;" f
colorSH src/Shape.hs 233;" f
combinationsDotGraph src/Dodge/Combine/Graph.hs 93;" f
@@ -2971,7 +2972,7 @@ crankSlowS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 622;" f
createForceField src/Dodge/ForceField.hs 7;" f
createGas src/Dodge/Gas.hs 10;" f
createHeadLamp src/Dodge/Euse.hs 58;" f
createItemYou src/Dodge/Inventory/Add.hs 61;" f
createItemYou src/Dodge/Inventory/Add.hs 62;" f
createLightMap src/Render.hs 28;" f
createProjectile src/Dodge/HeldUse.hs 1276;" f
createProjectileR src/Dodge/HeldUse.hs 1225;" f
@@ -3169,7 +3170,7 @@ displayControls src/Dodge/Menu.hs 241;" f
displayFrameTicks src/Dodge/Render/Picture.hs 50;" f
displayFreeSlots src/Dodge/DisplayInventory.hs 193;" f
displayIndents src/Dodge/DisplayInventory.hs 110;" f
displayPulse src/Dodge/Inventory/SelectionList.hs 180;" f
displayPulse src/Dodge/Inventory/SelectionList.hs 182;" f
displayTerminalLineString src/Dodge/Update.hs 486;" f
dist src/Geometry/Vector.hs 185;" f
dist3 src/Geometry/Vector3D.hs 101;" f
@@ -3371,7 +3372,7 @@ drawSwitchWire src/Dodge/LevelGen/Switch.hs 24;" f
drawTargetingAR src/Dodge/Targeting/Draw.hs 20;" f
drawTerminalDisplay src/Dodge/Render/HUD.hs 362;" f
drawTeslaArc src/Dodge/Tesla/Draw.hs 9;" f
drawText src/Picture/Base.hs 220;" f
drawText src/Picture/Base.hs 224;" f
drawTitle src/Dodge/Render/MenuScreen.hs 49;" f
drawTitleBackground src/Dodge/Render/List.hs 45;" f
drawTractorBeam src/Dodge/TractorBeam/Draw.hs 7;" f
@@ -3435,9 +3436,9 @@ endArcPos src/Dodge/Tesla.hs 87;" f
endCombineRegex src/Dodge/Update/Input/InGame.hs 271;" f
endRegex src/Dodge/Update/Input/InGame.hs 265;" f
energyReleaseS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 624;" f
enterCombineInv src/Dodge/DisplayInventory.hs 318;" f
enterCombineInv src/Dodge/DisplayInventory.hs 320;" f
enumOption src/Dodge/Menu/OptionType.hs 17;" f
epText src/Dodge/Inventory/SelectionList.hs 77;" f
epText src/Dodge/Inventory/SelectionList.hs 79;" f
eqConstr src/SameConstr.hs 17;" f
eqPosText src/Dodge/Equipment/Text.hs 5;" f
eqTypeToSites src/Dodge/Inventory/RBList.hs 77;" f
@@ -3598,7 +3599,7 @@ getDistortions src/Dodge/Render.hs 441;" f
getEdgesCrossing src/Dodge/Path.hs 37;" f
getGrenadeHitEffect src/Dodge/HeldUse.hs 1264;" f
getInventoryPath src/Dodge/Inventory/Path.hs 9;" f
getItemValue src/Dodge/Inventory/SelectionList.hs 148;" f
getItemValue src/Dodge/Inventory/SelectionList.hs 150;" f
getLaserColor src/Dodge/HeldUse.hs 707;" f
getLaserDamage src/Dodge/HeldUse.hs 704;" f
getLaserPhaseV src/Dodge/HeldUse.hs 701;" f
@@ -3661,6 +3662,7 @@ gut4S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 492;" f
gut5S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 726;" f
gut6S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 682;" f
gyroscope src/Dodge/Item/Scope.hs 156;" f
hackBoldText src/Picture/Base.hs 198;" f
hackOutline src/Dodge/Render/Outline.hs 5;" f
halfHeight src/Dodge/Base/Window.hs 49;" f
halfWidth src/Dodge/Base/Window.hs 49;" f
@@ -3725,9 +3727,9 @@ holdForm src/Dodge/Creature/Boid.hs 139;" f
holsterWeapon src/Dodge/Creature/Volition.hs 15;" f
homingModule src/Dodge/Item/Scope.hs 48;" f
horPipe src/Dodge/Placement/Instance/Pipe.hs 9;" f
hotkeyToChar src/Dodge/Inventory/SelectionList.hs 189;" f
hotkeyToChar src/Dodge/Inventory/SelectionList.hs 191;" f
hotkeyToScancode src/Dodge/Creature/YourControl.hs 82;" f
hotkeyToString src/Dodge/Inventory/SelectionList.hs 186;" f
hotkeyToString src/Dodge/Inventory/SelectionList.hs 188;" f
iShape src/Dodge/Placement/Instance/LightSource.hs 51;" f
icosahedronPoints src/Polyhedra/Geodesic.hs 12;" f
icosohedronFaces src/Polyhedra/Geodesic.hs 19;" f
@@ -3790,7 +3792,7 @@ intersectSegsSeg src/Geometry/Intersect.hs 253;" f
intervalList src/Geometry.hs 312;" f
interweave src/Justify.hs 17;" f
introScan src/Dodge/Item/Scope.hs 57;" f
introScanValue src/Dodge/Inventory/SelectionList.hs 81;" f
introScanValue src/Dodge/Inventory/SelectionList.hs 83;" f
intsToPos src/Dodge/Room/Modify/Girder.hs 160;" f
invAdj src/Dodge/Item/Grammar.hs 235;" f
invCursorParams src/Dodge/ListDisplayParams.hs 37;" f
@@ -3867,9 +3869,9 @@ itemBulkiness src/Dodge/Creature/YourControl.hs 188;" f
itemCombinations src/Dodge/Combine/Combinations.hs 56;" f
itemCombinationsEdges src/Dodge/Combine/Graph.hs 59;" f
itemDetectorEffect src/Dodge/HeldUse.hs 794;" f
itemDisplay src/Dodge/Inventory/SelectionList.hs 51;" f
itemDisplay src/Dodge/Inventory/SelectionList.hs 53;" f
itemEquipPict src/Dodge/Item/Draw.hs 18;" f
itemExternalValue src/Dodge/Inventory/SelectionList.hs 86;" f
itemExternalValue src/Dodge/Inventory/SelectionList.hs 88;" f
itemFromAmmoMag src/Dodge/Item.hs 42;" f
itemFromAttachType src/Dodge/Item.hs 51;" f
itemFromBase src/Dodge/Item.hs 18;" f
@@ -3885,8 +3887,8 @@ itemRotTreeSPic src/Dodge/Item/Draw/SPicTree.hs 16;" f
itemSPic src/Dodge/Item/Draw/SPic.hs 17;" f
itemScan src/Dodge/Item/Scope.hs 63;" f
itemScroll src/Dodge/Update/Scroll.hs 57;" f
itemScrollDisplay src/Dodge/Inventory/SelectionList.hs 125;" f
itemScrollValue src/Dodge/Inventory/SelectionList.hs 152;" f
itemScrollDisplay src/Dodge/Inventory/SelectionList.hs 127;" f
itemScrollValue src/Dodge/Inventory/SelectionList.hs 154;" f
itemShapeMax src/Dodge/Item/Orientation.hs 56;" f
itemShapeMaxX src/Dodge/Item/Orientation.hs 47;" f
itemShapeMaxY src/Dodge/Item/Orientation.hs 50;" f
@@ -3974,14 +3976,14 @@ lightSensor src/Dodge/Placement/Instance/Sensor.hs 40;" f
lightsToRender src/Dodge/Render/Lights.hs 14;" f
lightx4 src/Color.hs 145;" f
linGrad src/Geometry/Intersect.hs 241;" f
line src/Picture/Base.hs 226;" f
lineCol src/Picture/Base.hs 230;" f
line src/Picture/Base.hs 230;" f
lineCol src/Picture/Base.hs 234;" f
lineGeom src/Dodge/Base.hs 32;" f
lineOnScreenCone src/Dodge/Debug/Picture.hs 60;" f
lineOrth src/Dodge/Creature/Boid.hs 128;" f
lineOutputTerminal src/Dodge/Room/Warning.hs 66;" f
lineSplit src/Justify.hs 26;" f
lineThick src/Picture/Base.hs 234;" f
lineThick src/Picture/Base.hs 238;" f
lineUp src/Dodge/Creature/Boid.hs 150;" f
linksDAGToPath src/Dodge/Room/Path.hs 13;" f
linksOnPath src/Dodge/Room/CheckConsistency.hs 6;" f
@@ -3989,7 +3991,7 @@ listConfig src/Dodge/Menu.hs 234;" f
listControls src/Dodge/Menu.hs 246;" f
listCursorChooseBorderScale src/Dodge/Render/List.hs 135;" f
listGuard src/Dodge/Creature/ReaderUpdate.hs 196;" f
listSelectionColorPicture src/Dodge/DisplayInventory.hs 303;" f
listSelectionColorPicture src/Dodge/DisplayInventory.hs 302;" f
litCorridor90 src/Dodge/Room/RoadBlock.hs 26;" f
lmt src/MatrixHelper.hs 53;" f
lnkMidPosInvSelsCol src/Dodge/Render/HUD.hs 389;" f
@@ -4057,7 +4059,7 @@ magenta src/Color.hs 19;" f
main appDodge/Main.hs 28;" f
main bench/Bench.hs 15;" f
main test/Spec.hs 12;" f
makeArc src/Picture/Base.hs 157;" f
makeArc src/Picture/Base.hs 158;" f
makeAttach src/Dodge/Item/Attach.hs 10;" f
makeBlip src/Dodge/RadarSweep.hs 70;" f
makeBlockDebris src/Dodge/Block/Debris.hs 36;" f
@@ -4187,8 +4189,8 @@ miniS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 756;" f
miniTree2 src/Dodge/Room/Room.hs 121;" f
minimumOn src/FoldlHelp.hs 14;" f
mirrorXAxis src/Geometry/Polygon.hs 68;" f
mirrorxz src/Picture/Base.hs 335;" f
mirroryz src/Picture/Base.hs 340;" f
mirrorxz src/Picture/Base.hs 339;" f
mirroryz src/Picture/Base.hs 344;" f
missileLaunchS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 714;" f
mixColors src/Color.hs 86;" f
mixColorsFrac src/Color.hs 82;" f
@@ -4316,13 +4318,13 @@ orthogonalPointOnSeg src/Geometry/Intersect.hs 312;" f
outLink src/Dodge/RoomLink.hs 120;" f
outsideScreenPolygon src/Dodge/Debug/Picture.hs 44;" f
outwardIntegers src/Dodge/Base.hs 181;" f
overCol src/Picture/Base.hs 308;" f
overCol src/Picture/Base.hs 312;" f
overColObj src/Shape.hs 269;" f
overColSH src/Shape.hs 237;" f
overDebugEvent src/Dodge/Debug.hs 31;" f
overLnkPosDir src/Dodge/RoomLink.hs 115;" f
overLnkType src/Dodge/RoomLink.hs 105;" f
overPos src/Picture/Base.hs 303;" f
overPos src/Picture/Base.hs 307;" f
overPosObj src/Shape.hs 273;" f
overPosSH src/Shape.hs 257;" f
overPosSP src/ShapePicture.hs 41;" f
@@ -4365,9 +4367,9 @@ performPathTo src/Dodge/Creature/Action.hs 116;" f
performTurnToA src/Dodge/Creature/Action.hs 128;" f
perspectiveMatrixb src/MatrixHelper.hs 11;" f
picFormat src/Polyhedra.hs 23;" f
picMap src/Picture/Base.hs 67;" f
pickUpItem src/Dodge/Inventory/Add.hs 69;" f
pickUpItemAt src/Dodge/Inventory/Add.hs 74;" f
picMap src/Picture/Base.hs 68;" f
pickUpItem src/Dodge/Inventory/Add.hs 70;" f
pickUpItemAt src/Dodge/Inventory/Add.hs 75;" f
pickUpS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 660;" f
pincerP src/Dodge/Creature/Boid.hs 63;" f
pincerP' src/Dodge/Creature/Boid.hs 96;" f
@@ -4447,8 +4449,8 @@ pokeVerxs src/Shader/Poke.hs 32;" f
pokeW src/Shader/Poke.hs 91;" f
pokeWall src/Shader/Poke.hs 80;" f
pokeWallsWindows src/Shader/Poke.hs 52;" f
poly3 src/Picture/Base.hs 84;" f
poly3Col src/Picture/Base.hs 88;" f
poly3 src/Picture/Base.hs 85;" f
poly3Col src/Picture/Base.hs 89;" f
polyChasm src/Dodge/Room/Tutorial.hs 182;" f
polyChasmC src/Dodge/Room/Tutorial.hs 191;" f
polyCirc src/Shape.hs 47;" f
@@ -4463,9 +4465,9 @@ polyToPics src/Polyhedra.hs 122;" f
polyToTris src/Geometry/Triangulate.hs 7;" f
polyToTris' src/Geometry.hs 172;" f
polyToTris'' src/Geometry/Triangulate.hs 15;" f
polygon src/Picture/Base.hs 72;" f
polygonCol src/Picture/Base.hs 78;" f
polygonWire src/Picture/Base.hs 63;" f
polygon src/Picture/Base.hs 73;" f
polygonCol src/Picture/Base.hs 79;" f
polygonWire src/Picture/Base.hs 64;" f
polysToPic src/Polyhedra.hs 130;" f
popScreen src/Dodge/Menu/PushPop.hs 6;" f
posRms src/Dodge/Tree/Shift.hs 44;" f
@@ -4621,7 +4623,7 @@ reflectPulseLaserAlong src/Dodge/Item/Weapon/LaserPath.hs 65;" f
refract src/Dodge/Item/Weapon/LaserPath.hs 39;" f
refreshOptionsSelectionList src/Dodge/Menu/Option.hs 35;" f
regexCombs src/Dodge/DisplayInventory.hs 71;" f
regexList src/Dodge/DisplayInventory.hs 309;" f
regexList src/Dodge/DisplayInventory.hs 311;" f
reload1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 634;" f
reloadLevelStart src/Dodge/Save.hs 71;" f
reloadS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 632;" f
@@ -4715,7 +4717,7 @@ rose src/Color.hs 20;" f
rotD src/Padding.hs 44;" f
rotMatr src/MatrixHelper.hs 79;" f
rotU src/Padding.hs 39;" f
rotate src/Picture/Base.hs 153;" f
rotate src/Picture/Base.hs 154;" f
rotate3 src/Geometry/Vector3D.hs 48;" f
rotate3x src/Geometry/Vector3D.hs 60;" f
rotate3y src/Geometry/Vector3D.hs 66;" f
@@ -4764,8 +4766,8 @@ saveSlotPath src/Dodge/Save.hs 63;" f
saveWorldInSlot src/Dodge/Save.hs 68;" f
sawtoothFailS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 754;" f
scToTS src/Dodge/Event/Input.hs 34;" f
scale src/Picture/Base.hs 149;" f
scale3 src/Picture/Base.hs 145;" f
scale src/Picture/Base.hs 150;" f
scale3 src/Picture/Base.hs 146;" f
scaleMat src/MatrixHelper.hs 71;" f
scaleMatrix src/MatrixHelper.hs 68;" f
scaleSH src/Shape.hs 265;" f
@@ -4825,14 +4827,14 @@ setChannelPos src/Sound.hs 151;" f
setClickWorldPos src/Dodge/Update.hs 101;" f
setClip src/Dodge/Debug.hs 193;" f
setClusterID src/Dodge/Combine/Graph.hs 114;" f
setDepth src/Picture/Base.hs 128;" f
setDepth src/Picture/Base.hs 129;" f
setDirPS src/Dodge/PlacementSpot.hs 49;" f
setFallback src/Dodge/PlacementSpot.hs 125;" f
setInLinks src/Dodge/RoomLink.hs 53;" f
setInLinksByType src/Dodge/RoomLink.hs 72;" f
setInLinksPD src/Dodge/RoomLink.hs 92;" f
setInvPosFromSS src/Dodge/Inventory/Location.hs 92;" f
setLayer src/Picture/Base.hs 139;" f
setLayer src/Picture/Base.hs 140;" f
setLinkType src/Dodge/RoomLink.hs 78;" f
setLinkTypePD src/Dodge/RoomLink.hs 85;" f
setMusicVolume src/Sound.hs 163;" f
@@ -5041,7 +5043,7 @@ ssSetCursor src/Dodge/SelectionSections.hs 59;" f
ssfold src/FoldableHelp.hs 105;" f
stackPicturesAt src/Dodge/Render/List.hs 99;" f
stackPicturesAtOff src/Dodge/Render/List.hs 102;" f
stackText src/Picture/Base.hs 188;" f
stackText src/Picture/Base.hs 189;" f
stackedInventory src/Dodge/Creature.hs 309;" f
startCr src/Dodge/Creature.hs 90;" f
startCrafts src/Dodge/Room/Start.hs 93;" f
@@ -5071,7 +5073,7 @@ strFromHeldItem src/Dodge/Creature/Statistics.hs 67;" f
strengthFactor src/Dodge/Creature/Impulse/Movement.hs 51;" f
strictify src/MaybeHelp.hs 35;" f
strideRot src/Dodge/Item/HeldOffset.hs 71;" f
stringToList src/Picture/Base.hs 313;" f
stringToList src/Picture/Base.hs 317;" f
stringToListGrad src/Picture/Text.hs 12;" f
stripZ src/Geometry/Vector3D.hs 97;" f
subInvX src/Dodge/ListDisplayParams.hs 48;" f
@@ -5130,26 +5132,26 @@ teslaParams src/Dodge/Item/Held/BatteryGuns.hs 25;" f
testEvent src/Dodge/Event/Test.hs 11;" f
testInventory src/Dodge/Creature.hs 290;" f
testStringInit src/Dodge/TestString.hs 34;" f
text src/Picture/Base.hs 193;" f
text src/Picture/Base.hs 194;" f
textGrad src/Picture/Text.hs 5;" f
textInputBlurb src/Dodge/Terminal.hs 37;" f
textInputFocus src/Dodge/InputFocus.hs 11;" f
textJustifyCenter src/Picture/Base.hs 212;" f
textJustifyLeft src/Picture/Base.hs 208;" f
textJustifyRight src/Picture/Base.hs 198;" f
textRight src/Picture/Base.hs 203;" f
textJustifyCenter src/Picture/Base.hs 216;" f
textJustifyLeft src/Picture/Base.hs 212;" f
textJustifyRight src/Picture/Base.hs 202;" f
textRight src/Picture/Base.hs 207;" f
textTerminal src/Dodge/Terminal.hs 34;" f
textVMirror src/Picture/Base.hs 216;" f
textVMirror src/Picture/Base.hs 220;" f
tflat2 src/Picture/Data.hs 56;" f
tflat3 src/Picture/Data.hs 60;" f
tflat4 src/Picture/Data.hs 64;" f
theCleanup appDodge/Main.hs 65;" f
theColumns src/Dodge/Tree/Shift.hs 146;" f
theUpdateStep appDodge/Main.hs 101;" f
thickArc src/Picture/Base.hs 298;" f
thickCircle src/Picture/Base.hs 272;" f
thickLine src/Picture/Base.hs 244;" f
thickLineCol src/Picture/Base.hs 255;" f
thickArc src/Picture/Base.hs 302;" f
thickCircle src/Picture/Base.hs 276;" f
thickLine src/Picture/Base.hs 248;" f
thickLineCol src/Picture/Base.hs 259;" f
thinHighBar src/Dodge/Room/Foreground.hs 77;" f
thingHit src/Dodge/WorldEvent/ThingsHit.hs 118;" f
thingHitFilt src/Dodge/WorldEvent/ThingsHit.hs 106;" f
@@ -5180,7 +5182,7 @@ tlSetStatus src/Dodge/Terminal.hs 99;" f
tmDistributeAmmo src/Dodge/WorldEffect.hs 112;" f
tmDistributeLines src/Dodge/Room/Room.hs 449;" f
tmUpdate src/Dodge/Update.hs 489;" f
toBinary src/Dodge/Inventory/SelectionList.hs 142;" f
toBinary src/Dodge/Inventory/SelectionList.hs 144;" f
toBothLnk src/Dodge/RoomLink.hs 136;" f
toClosestMultiple src/HelpNum.hs 3;" f
toColor8 src/Color.hs 148;" f
@@ -5192,7 +5194,7 @@ toTopLeft src/Dodge/Render/List.hs 226;" f
toV2 src/Geometry/Data.hs 54;" f
toV3 src/Geometry/Data.hs 57;" f
toV4 src/Geometry/Data.hs 60;" f
toggleCombineInv src/Dodge/DisplayInventory.hs 312;" f
toggleCombineInv src/Dodge/DisplayInventory.hs 314;" f
toggleCommands src/Dodge/Terminal.hs 77;" f
toggleEquipmentAt src/Dodge/Creature/Impulse/UseItem.hs 67;" f
toggleExamineInv src/Dodge/Creature/Impulse/UseItem.hs 105;" f
@@ -5217,14 +5219,14 @@ tractorGun src/Dodge/Item/Held/BatteryGuns.hs 53;" f
tractorGunPic src/Dodge/Item/Draw/SPic.hs 416;" f
tractorPullPos src/Dodge/TractorBeam/Update.hs 33;" f
tractorSPic src/Dodge/TractorBeam/Draw.hs 10;" f
tranRot src/Picture/Base.hs 124;" f
tranRot src/Picture/Base.hs 125;" f
transMat src/MatrixHelper.hs 87;" f
transToHandle src/Dodge/Item/HeldOffset.hs 26;" f
translate src/Picture/Base.hs 116;" f
translate3 src/Picture/Base.hs 120;" f
translate src/Picture/Base.hs 117;" f
translate3 src/Picture/Base.hs 121;" f
translateFloatingCamera src/Dodge/Update/Camera.hs 48;" f
translateFloatingCameraKeys src/Dodge/Update/Camera.hs 66;" f
translateH src/Picture/Base.hs 112;" f
translateH src/Picture/Base.hs 113;" f
translatePointToLeftHand src/Dodge/Creature/HandPos.hs 75;" f
translatePointToRightHand src/Dodge/Creature/HandPos.hs 36;" f
translateSH src/Shape.hs 241;" f
@@ -5269,7 +5271,7 @@ tryMeleeAttack src/Dodge/Creature/ReaderUpdate.hs 40;" f
tryPickupSelected src/Dodge/Update/Input/InGame.hs 145;" f
tryPlay src/Sound.hs 84;" f
tryPutItemInInv src/Dodge/Inventory/Add.hs 24;" f
tryPutItemInInvAt src/Dodge/Inventory/Add.hs 53;" f
tryPutItemInInvAt src/Dodge/Inventory/Add.hs 54;" f
trySeedFromClipboard src/Dodge/Menu.hs 96;" f
trySpin src/Dodge/Projectile/Update.hs 117;" f
trySynthBullet src/Dodge/Creature/State.hs 167;" f
@@ -5296,7 +5298,7 @@ twoStep1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 570;" f
twoStepS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 628;" f
twoStepSlowS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 618;" f
ubyteSize src/Shader/Parameters.hs 13;" f
ugateCalc src/Dodge/Inventory/SelectionList.hs 113;" f
ugateCalc src/Dodge/Inventory/SelectionList.hs 115;" f
uncurryV src/Geometry/Data.hs 66;" f
underBarrelSlot src/Dodge/Item/Scope.hs 159;" f
unfoldrMID src/MonadHelp.hs 33;" f