Fix picture vertex buffering bug

This commit is contained in:
2026-01-02 10:58:28 +00:00
parent 2c978b4de1
commit 119234af89
6 changed files with 67 additions and 62 deletions
+5 -3
View File
@@ -54,12 +54,14 @@ testSPic :: Config -> Universe -> SPic
testSPic cfig u = noShape $ testPic cfig u testSPic cfig u = noShape $ testPic cfig u
testPic :: Config -> Universe -> Picture testPic :: Config -> Universe -> Picture
testPic _ _ = setLayer DebugLayer testPic _ _ = f
$ mempty $ mempty
-- <> color white (line [0,10]) <> color white (line [0,10])
-- <> text "A" <> text "A"
<> translate 20 20 (arc pi 0 10) <> translate 20 20 (arc pi 0 10)
<> translate 0 20 (circleSolidCol white red 10) <> translate 0 20 (circleSolidCol white red 10)
where
f x = translate 5 20 (setLayer DebugLayer x) <> setLayer BloomLayer x
-- fold $ do -- fold $ do
-- cr <- u ^? uvWorld . cWorld . lWorld . creatures . ix 0 -- cr <- u ^? uvWorld . cWorld . lWorld . creatures . ix 0
---- return mempty ---- return mempty
+1 -1
View File
@@ -20,7 +20,7 @@ data Verx = Verx
data Layer data Layer
= BloomLayer = BloomLayer
| DebugLayer | DebugLayer
| DebugLayer1 -- | DebugLayer1
| FixedCoordLayer | FixedCoordLayer
deriving (Eq, Ord, Enum, Bounded, Show, Read) --Generic, Flat) deriving (Eq, Ord, Enum, Bounded, Show, Read) --Generic, Flat)
+1
View File
@@ -228,6 +228,7 @@ renderLayer ::
IO () IO ()
renderLayer layer shads counts = do renderLayer layer shads counts = do
let layerCounts = UMV.slice (ln * numShads) numShads counts let layerCounts = UMV.slice (ln * numShads) numShads counts
putStrLn $ "layer: " <> show (ln * numShads)
MV.imapM_ (drawShaderLay ln layerCounts) shads MV.imapM_ (drawShaderLay ln layerCounts) shads
where where
ln = fromEnum layer ln = fromEnum layer
+2
View File
@@ -10,7 +10,9 @@ import Shader.Parameters
drawShaderLay :: Int -> UMV.MVector (PrimState IO) Int -> Int -> (GLuint, VBO) -> IO () drawShaderLay :: Int -> UMV.MVector (PrimState IO) Int -> Int -> (GLuint, VBO) -> IO ()
{-# INLINE drawShaderLay #-} {-# INLINE drawShaderLay #-}
drawShaderLay l countsVector shadIn fs = do drawShaderLay l countsVector shadIn fs = do
putStr $ " shader: " <> show shadIn
i <- UMV.read countsVector shadIn i <- UMV.read countsVector shadIn
putStrLn $ " count: " <> show i
glUseProgram (fst fs) glUseProgram (fst fs)
glUniform1i 0 . fromIntegral $ (l * numSubElements) glUniform1i 0 . fromIntegral $ (l * numSubElements)
-- if l == fromEnum DebugLayer && shadIn == 0 then print i else return () -- if l == fromEnum DebugLayer && shadIn == 0 then print i else return ()
+1 -1
View File
@@ -39,7 +39,7 @@ bufferShaderLayers counts = MV.imapM_ f
VFSM.mapM_ (g stride theVBO) $ VFSM.enumFromStepN 0 1 numLayers -- [0..5] VFSM.mapM_ (g stride theVBO) $ VFSM.enumFromStepN 0 1 numLayers -- [0..5]
where where
g stride theVBO lay = do g stride theVBO lay = do
numVs <- UMV.unsafeRead counts $ lay * numLayers + i numVs <- UMV.unsafeRead counts $ lay * numShads + i
glNamedBufferSubData glNamedBufferSubData
(_vboName theVBO) (_vboName theVBO)
(fromIntegral $ floatSize * stride * numSubElements * lay) (fromIntegral $ floatSize * stride * numSubElements * lay)
+57 -57
View File
@@ -60,7 +60,7 @@ AmmoTargetingSF src/Dodge/Data/ComposedItem.hs 31;" C
AmmoType src/Dodge/Data/AmmoType.hs 8;" t AmmoType src/Dodge/Data/AmmoType.hs 8;" t
ArbitraryAction src/Dodge/Data/ActionPlan.hs 119;" C ArbitraryAction src/Dodge/Data/ActionPlan.hs 119;" C
ArcNodeType src/Dodge/Data/LWorld.hs 156;" t ArcNodeType src/Dodge/Data/LWorld.hs 156;" t
ArcShad src/Picture/Data.hs 33;" C ArcShad src/Picture/Data.hs 34;" C
ArcStep src/Dodge/Data/ArcStep.hs 12;" t ArcStep src/Dodge/Data/ArcStep.hs 12;" t
Arcing src/Dodge/Data/Item/Params.hs 15;" C Arcing src/Dodge/Data/Item/Params.hs 15;" C
ArmourySS src/Dodge/Data/Scenario.hs 112;" C ArmourySS src/Dodge/Data/Scenario.hs 112;" C
@@ -373,7 +373,7 @@ Electrical src/Dodge/Data/Damage.hs 24;" C
ElectricalAmmo src/Dodge/Data/AmmoType.hs 12;" C ElectricalAmmo src/Dodge/Data/AmmoType.hs 12;" C
ElectricalBall src/Dodge/Data/EnergyBall/Type.hs 13;" C ElectricalBall src/Dodge/Data/EnergyBall/Type.hs 13;" C
Electronics src/Dodge/Data/Material.hs 18;" C Electronics src/Dodge/Data/Material.hs 18;" C
EllShad src/Picture/Data.hs 34;" C EllShad src/Picture/Data.hs 35;" C
EncircleFlock src/Dodge/Data/Creature/State.hs 15;" C EncircleFlock src/Dodge/Data/Creature/State.hs 15;" C
EnergyBall src/Dodge/Data/EnergyBall.hs 15;" t EnergyBall src/Dodge/Data/EnergyBall.hs 15;" t
EnergyBallType src/Dodge/Data/EnergyBall/Type.hs 10;" t EnergyBallType src/Dodge/Data/EnergyBall/Type.hs 10;" t
@@ -416,7 +416,7 @@ FetchItem src/Dodge/Data/Scenario.hs 11;" C
FilterBySoundOrigin src/Dodge/Data/WorldEffect.hs 22;" C FilterBySoundOrigin src/Dodge/Data/WorldEffect.hs 22;" C
FireSpark src/Dodge/Data/Spark.hs 19;" C FireSpark src/Dodge/Data/Spark.hs 19;" C
Fixated src/Dodge/Data/Creature/Perception.hs 60;" C Fixated src/Dodge/Data/Creature/Perception.hs 60;" C
FixedCoordLayer src/Picture/Data.hs 23;" C FixedCoordLayer src/Picture/Data.hs 24;" C
FixedSelectionWidth src/Dodge/Data/SelectionList.hs 42;" C FixedSelectionWidth src/Dodge/Data/SelectionList.hs 42;" C
FlIt src/Dodge/Data/FloorItem.hs 11;" C FlIt src/Dodge/Data/FloorItem.hs 11;" C
Flame src/Dodge/Data/Flame.hs 11;" t Flame src/Dodge/Data/Flame.hs 11;" t
@@ -991,7 +991,7 @@ PenetrateBullet src/Dodge/Data/Bullet.hs 29;" C
Perception src/Dodge/Data/Creature/Perception.hs 30;" t Perception src/Dodge/Data/Creature/Perception.hs 30;" t
PhysicalDamage src/Dodge/Data/Damage/Type.hs 4;" C PhysicalDamage src/Dodge/Data/Damage/Type.hs 4;" C
PhysicalSensor src/Dodge/Data/Machine/Sensor.hs 16;" C PhysicalSensor src/Dodge/Data/Machine/Sensor.hs 16;" C
Picture src/Picture/Data.hs 41;" t Picture src/Picture/Data.hs 42;" t
Piercing src/Dodge/Data/Damage.hs 16;" C Piercing src/Dodge/Data/Damage.hs 16;" C
PistolAI src/Dodge/Data/Creature/Misc.hs 41;" C PistolAI src/Dodge/Data/Creature/Misc.hs 41;" C
Placement src/Dodge/Data/GenWorld.hs 104;" t Placement src/Dodge/Data/GenWorld.hs 104;" t
@@ -1011,7 +1011,7 @@ Poison src/Dodge/Data/Damage.hs 26;" C
PoisonDamage src/Dodge/Data/Damage/Type.hs 6;" C PoisonDamage src/Dodge/Data/Damage/Type.hs 6;" C
PoisonGas src/Dodge/Data/Cloud.hs 42;" C PoisonGas src/Dodge/Data/Cloud.hs 42;" C
PolyEdge src/Dodge/Data/Room.hs 47;" C PolyEdge src/Dodge/Data/Room.hs 47;" C
PolyShad src/Picture/Data.hs 31;" C PolyShad src/Picture/Data.hs 32;" C
Polyhedra src/Polyhedra/Data.hs 13;" t Polyhedra src/Polyhedra/Data.hs 13;" t
Polyhedron src/Polyhedra/Data.hs 13;" C Polyhedron src/Polyhedra/Data.hs 13;" C
PosInf src/Dodge/Data/CardinalPoint.hs 44;" C PosInf src/Dodge/Data/CardinalPoint.hs 44;" C
@@ -1180,7 +1180,7 @@ SensorWithRequirement src/Dodge/Data/Machine/Sensor.hs 30;" C
SentinelAt src/Dodge/Data/ActionPlan.hs 152;" C SentinelAt src/Dodge/Data/ActionPlan.hs 152;" C
SetLSCol src/Dodge/Data/WorldEffect.hs 29;" C SetLSCol src/Dodge/Data/WorldEffect.hs 29;" C
SetTrigger src/Dodge/Data/WorldEffect.hs 27;" C SetTrigger src/Dodge/Data/WorldEffect.hs 27;" C
ShadNum src/Picture/Data.hs 30;" t ShadNum src/Picture/Data.hs 31;" t
Shader src/Shader/Data.hs 51;" t Shader src/Shader/Data.hs 51;" t
ShaderTexture src/Shader/Data.hs 102;" t ShaderTexture src/Shader/Data.hs 102;" t
ShadowFidelity src/Shape/Data.hs 19;" t ShadowFidelity src/Shape/Data.hs 19;" t
@@ -1206,8 +1206,8 @@ Show_path_between src/Dodge/Data/Config.hs 106;" C
Show_sound src/Dodge/Data/Config.hs 82;" C Show_sound src/Dodge/Data/Config.hs 82;" C
Show_wall_search_rays src/Dodge/Data/Config.hs 95;" C Show_wall_search_rays src/Dodge/Data/Config.hs 95;" C
Show_walls_near_point_cursor src/Dodge/Data/Config.hs 100;" C Show_walls_near_point_cursor src/Dodge/Data/Config.hs 100;" C
Show_walls_near_point_you src/Dodge/Data/Config.hs 101;" C
Show_walls_near_segment src/Dodge/Data/Config.hs 102;" C Show_walls_near_segment src/Dodge/Data/Config.hs 102;" C
Show_walls_near_you src/Dodge/Data/Config.hs 101;" C
Show_writable_values src/Dodge/Data/Config.hs 107;" C Show_writable_values src/Dodge/Data/Config.hs 107;" C
Show_zone_circ src/Dodge/Data/Config.hs 104;" C Show_zone_circ src/Dodge/Data/Config.hs 104;" C
Show_zone_near_point_cursor src/Dodge/Data/Config.hs 103;" C Show_zone_near_point_cursor src/Dodge/Data/Config.hs 103;" C
@@ -1335,7 +1335,7 @@ TerrestrialBiome src/Dodge/Data/Scenario.hs 76;" t
TeslaArc src/Dodge/Data/TeslaArc.hs 15;" t TeslaArc src/Dodge/Data/TeslaArc.hs 15;" t
TeslaBeamCombine src/Dodge/Data/Beam.hs 39;" C TeslaBeamCombine src/Dodge/Data/Beam.hs 39;" C
TeslaGunFlare src/Dodge/Data/Muzzle.hs 35;" C TeslaGunFlare src/Dodge/Data/Muzzle.hs 35;" C
TextShad src/Picture/Data.hs 32;" C TextShad src/Picture/Data.hs 33;" C
ThermalSensor src/Dodge/Data/Machine/Sensor.hs 15;" C ThermalSensor src/Dodge/Data/Machine/Sensor.hs 15;" C
Tile src/Data/Tile.hs 16;" t Tile src/Data/Tile.hs 16;" t
Tiled src/Data/Tile.hs 14;" C Tiled src/Data/Tile.hs 14;" C
@@ -2671,7 +2671,7 @@ bangS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 822;" f
bangStick src/Dodge/Item/Held/Stick.hs 15;" f bangStick src/Dodge/Item/Held/Stick.hs 15;" f
barPP src/Dodge/Room/Foreground.hs 231;" f barPP src/Dodge/Room/Foreground.hs 231;" f
barrel src/Dodge/Creature/Inanimate.hs 17;" f barrel src/Dodge/Creature/Inanimate.hs 17;" f
barrelShape src/Dodge/Render/ShapePicture.hs 102;" f barrelShape src/Dodge/Render/ShapePicture.hs 110;" f
baseAMRShape src/Dodge/Item/Draw/SPic.hs 407;" f baseAMRShape src/Dodge/Item/Draw/SPic.hs 407;" f
baseBlockPane src/Dodge/Placement/Instance/Wall.hs 76;" f baseBlockPane src/Dodge/Placement/Instance/Wall.hs 76;" f
baseCI src/Dodge/Item/Grammar.hs 158;" f baseCI src/Dodge/Item/Grammar.hs 158;" f
@@ -2699,7 +2699,7 @@ beltMag src/Dodge/Item/Ammo.hs 39;" f
bfsThenReturn src/Dodge/Creature/ReaderUpdate.hs 226;" f bfsThenReturn src/Dodge/Creature/ReaderUpdate.hs 226;" f
bgateCalc src/Dodge/Inventory/SelectionList.hs 121;" f bgateCalc src/Dodge/Inventory/SelectionList.hs 121;" f
bgunSound src/Dodge/HeldUse.hs 516;" f bgunSound src/Dodge/HeldUse.hs 516;" f
bindFBO src/Render.hs 235;" f bindFBO src/Render.hs 236;" f
bingate src/Dodge/Item/Scope.hs 109;" f bingate src/Dodge/Item/Scope.hs 109;" f
black src/Color.hs 54;" f black src/Color.hs 54;" f
blinkAcrossChallenge src/Dodge/Room/BlinkAcross.hs 14;" f blinkAcrossChallenge src/Dodge/Room/BlinkAcross.hs 14;" f
@@ -2753,10 +2753,10 @@ branchRectWith src/Dodge/Room/Branch.hs 15;" f
branchWith src/Dodge/Room/Room.hs 77;" f branchWith src/Dodge/Room/Room.hs 77;" f
bright src/Color.hs 147;" f bright src/Color.hs 147;" f
brightX src/Color.hs 143;" f brightX src/Color.hs 143;" f
btSPic src/Dodge/Render/ShapePicture.hs 151;" f btSPic src/Dodge/Render/ShapePicture.hs 159;" f
btText src/Dodge/Inventory/SelectionList.hs 242;" f btText src/Dodge/Inventory/SelectionList.hs 242;" f
bufferEBO src/Shader/Bind.hs 28;" f bufferEBO src/Shader/Bind.hs 28;" f
bufferPerspectiveMatrixUBO src/Dodge/Render.hs 429;" f bufferPerspectiveMatrixUBO src/Dodge/Render.hs 433;" f
bufferPokedVBO src/Shader/Bind.hs 19;" f bufferPokedVBO src/Shader/Bind.hs 19;" f
bufferShaderLayers src/Shader/Bind.hs 32;" f bufferShaderLayers src/Shader/Bind.hs 32;" f
bulletBeltBracer src/Dodge/Item/Equipment.hs 67;" f bulletBeltBracer src/Dodge/Item/Equipment.hs 67;" f
@@ -3007,7 +3007,7 @@ critInDeadEnd src/Dodge/Room/Room.hs 251;" f
critsPillarRoom src/Dodge/Room/Room.hs 398;" f critsPillarRoom src/Dodge/Room/Room.hs 398;" f
critsRoom src/Dodge/Room/Room.hs 406;" f critsRoom src/Dodge/Room/Room.hs 406;" f
crixsNearSeg src/Dodge/Zoning/Creature.hs 30;" f crixsNearSeg src/Dodge/Zoning/Creature.hs 30;" f
crossPic src/Dodge/Render/Label.hs 27;" f crossPic src/Dodge/Render/Label.hs 28;" f
crossProd src/Geometry/Vector3D.hs 41;" f crossProd src/Geometry/Vector3D.hs 41;" f
crsHit src/Dodge/WorldEvent/ThingsHit.hs 69;" f crsHit src/Dodge/WorldEvent/ThingsHit.hs 69;" f
crsHitRadial src/Dodge/WorldEvent/ThingsHit.hs 168;" f crsHitRadial src/Dodge/WorldEvent/ThingsHit.hs 168;" f
@@ -3019,7 +3019,7 @@ crsNearRect src/Dodge/Zoning/Creature.hs 40;" f
crsNearSeg src/Dodge/Zoning/Creature.hs 24;" f crsNearSeg src/Dodge/Zoning/Creature.hs 24;" f
crystalLine src/Dodge/Placement/Instance/Wall.hs 58;" f crystalLine src/Dodge/Placement/Instance/Wall.hs 58;" f
cubeShape src/Dodge/Block/Debris.hs 110;" f cubeShape src/Dodge/Block/Debris.hs 110;" f
cullPoint src/Dodge/Render/ShapePicture.hs 118;" f cullPoint src/Dodge/Render/ShapePicture.hs 126;" f
cullPretty src/AesonHelp.hs 14;" f cullPretty src/AesonHelp.hs 14;" f
cutPoly src/Dodge/LevelGen/StaticWalls.hs 77;" f cutPoly src/Dodge/LevelGen/StaticWalls.hs 77;" f
cutWall src/Dodge/LevelGen/StaticWalls.hs 124;" f cutWall src/Dodge/LevelGen/StaticWalls.hs 124;" f
@@ -3286,29 +3286,29 @@ drawAnySelectionBox src/Dodge/Render/Picture.hs 130;" f
drawArrowDown src/Dodge/Render/Picture.hs 219;" f drawArrowDown src/Dodge/Render/Picture.hs 219;" f
drawBaseMachine src/Dodge/Machine/Draw.hs 75;" f drawBaseMachine src/Dodge/Machine/Draw.hs 75;" f
drawBlip src/Dodge/RadarBlip.hs 16;" f drawBlip src/Dodge/RadarBlip.hs 16;" f
drawBlock src/Dodge/Render/ShapePicture.hs 71;" f drawBlock src/Dodge/Render/ShapePicture.hs 79;" f
drawBoundingBox src/Dodge/Debug/Picture.hs 358;" f drawBoundingBox src/Dodge/Debug/Picture.hs 359;" f
drawBullet src/Dodge/Render/ShapePicture.hs 157;" f drawBullet src/Dodge/Render/ShapePicture.hs 165;" f
drawButton src/Dodge/Button/Draw.hs 10;" f drawButton src/Dodge/Button/Draw.hs 10;" f
drawCPUShadows src/Dodge/Render/Shadow.hs 19;" f drawCPUShadows src/Dodge/Render/Shadow.hs 19;" f
drawChasm src/Dodge/Render/ShapePicture.hs 74;" f drawChasm src/Dodge/Render/ShapePicture.hs 82;" f
drawCircCollisionTest src/Dodge/Debug/Picture.hs 118;" f drawCircCollisionTest src/Dodge/Debug/Picture.hs 118;" f
drawCliff src/Dodge/Render/ShapePicture.hs 77;" f drawCliff src/Dodge/Render/ShapePicture.hs 85;" f
drawCollisionTest src/Dodge/Debug/Picture.hs 103;" f drawCollisionTest src/Dodge/Debug/Picture.hs 103;" f
drawCombFilter src/Dodge/Render/Picture.hs 267;" f drawCombFilter src/Dodge/Render/Picture.hs 267;" f
drawCombineInventory src/Dodge/Render/HUD.hs 186;" f drawCombineInventory src/Dodge/Render/HUD.hs 186;" f
drawConcurrentMessage src/Dodge/Render/Picture.hs 72;" f drawConcurrentMessage src/Dodge/Render/Picture.hs 72;" f
drawCoord src/Dodge/Debug/Picture.hs 386;" f drawCoord src/Dodge/Debug/Picture.hs 387;" f
drawCountMod src/Shader.hs 20;" f drawCountMod src/Shader.hs 24;" f
drawCrInfo src/Dodge/Debug.hs 177;" f drawCrInfo src/Dodge/Debug.hs 177;" f
drawCrInfo' src/Dodge/Debug.hs 172;" f drawCrInfo' src/Dodge/Debug.hs 172;" f
drawCreature src/Dodge/Render/ShapePicture.hs 93;" f drawCreature src/Dodge/Render/ShapePicture.hs 101;" f
drawCreatureDisplayTexts src/Dodge/Debug/Picture.hs 199;" f drawCreatureDisplayTexts src/Dodge/Debug/Picture.hs 199;" f
drawCross src/Dodge/Render/Label.hs 24;" f drawCross src/Dodge/Render/Label.hs 25;" f
drawCrossCol src/Dodge/Render/Label.hs 21;" f drawCrossCol src/Dodge/Render/Label.hs 21;" f
drawCursorAt src/Dodge/Render/List.hs 73;" f drawCursorAt src/Dodge/Render/List.hs 73;" f
drawCursorByTerminalStatus src/Dodge/Render/Picture.hs 137;" f drawCursorByTerminalStatus src/Dodge/Render/Picture.hs 137;" f
drawDDATest src/Dodge/Debug/Picture.hs 303;" f drawDDATest src/Dodge/Debug/Picture.hs 304;" f
drawDamSensor src/Dodge/Machine/Draw.hs 38;" f drawDamSensor src/Dodge/Machine/Draw.hs 38;" f
drawDebug src/Dodge/Debug.hs 215;" f drawDebug src/Dodge/Debug.hs 215;" f
drawDrag src/Dodge/Render/Picture.hs 198;" f drawDrag src/Dodge/Render/Picture.hs 198;" f
@@ -3322,7 +3322,7 @@ drawEnergyBall src/Dodge/EnergyBall/Draw.hs 7;" f
drawEquipment src/Dodge/Creature/Picture.hs 128;" f drawEquipment src/Dodge/Creature/Picture.hs 128;" f
drawExamineInventory src/Dodge/Render/HUD.hs 195;" f drawExamineInventory src/Dodge/Render/HUD.hs 195;" f
drawExplosiveBall src/Dodge/EnergyBall/Draw.hs 15;" f drawExplosiveBall src/Dodge/EnergyBall/Draw.hs 15;" f
drawFarWallDetect src/Dodge/Debug/Picture.hs 270;" f drawFarWallDetect src/Dodge/Debug/Picture.hs 271;" f
drawFlame src/Dodge/Flame/Draw.hs 8;" f drawFlame src/Dodge/Flame/Draw.hs 8;" f
drawFlamelet src/Dodge/EnergyBall/Draw.hs 34;" f drawFlamelet src/Dodge/EnergyBall/Draw.hs 34;" f
drawForceField src/Dodge/Wall/Draw.hs 15;" f drawForceField src/Dodge/Wall/Draw.hs 15;" f
@@ -3330,8 +3330,8 @@ drawGapPlus src/Dodge/Render/Picture.hs 278;" f
drawGib src/Dodge/Prop/Draw.hs 26;" f drawGib src/Dodge/Prop/Draw.hs 26;" f
drawHUD src/Dodge/Render/HUD.hs 53;" f drawHUD src/Dodge/Render/HUD.hs 53;" f
drawInputMenu src/Dodge/Render/MenuScreen.hs 33;" f drawInputMenu src/Dodge/Render/MenuScreen.hs 33;" f
drawInspectWall src/Dodge/Debug/Picture.hs 255;" f drawInspectWall src/Dodge/Debug/Picture.hs 256;" f
drawInspectWalls src/Dodge/Debug/Picture.hs 243;" f drawInspectWalls src/Dodge/Debug/Picture.hs 244;" f
drawInventory src/Dodge/Render/HUD.hs 61;" f drawInventory src/Dodge/Render/HUD.hs 61;" f
drawItemChildrenConnect src/Dodge/Render/HUD.hs 326;" f drawItemChildrenConnect src/Dodge/Render/HUD.hs 326;" f
drawItemConnections src/Dodge/Render/HUD.hs 319;" f drawItemConnections src/Dodge/Render/HUD.hs 319;" f
@@ -3355,15 +3355,15 @@ drawMenuOrHUD src/Dodge/Render/Picture.hs 67;" f
drawMenuScreen src/Dodge/Render/MenuScreen.hs 18;" f drawMenuScreen src/Dodge/Render/MenuScreen.hs 18;" f
drawMouseCursor src/Dodge/Render/Picture.hs 83;" f drawMouseCursor src/Dodge/Render/Picture.hs 83;" f
drawMouseOver src/Dodge/Render/HUD.hs 111;" f drawMouseOver src/Dodge/Render/HUD.hs 111;" f
drawMousePosition src/Dodge/Debug/Picture.hs 376;" f drawMousePosition src/Dodge/Debug/Picture.hs 377;" f
drawOptions src/Dodge/Render/MenuScreen.hs 36;" f drawOptions src/Dodge/Render/MenuScreen.hs 36;" f
drawPathBetween src/Dodge/Debug/Picture.hs 202;" f drawPathBetween src/Dodge/Debug/Picture.hs 202;" f
drawPathEdge src/Dodge/Debug/Picture.hs 260;" f drawPathEdge src/Dodge/Debug/Picture.hs 261;" f
drawPathing src/Dodge/Debug/Picture.hs 407;" f drawPathing src/Dodge/Debug/Picture.hs 408;" f
drawPlus src/Dodge/Render/Picture.hs 163;" f drawPlus src/Dodge/Render/Picture.hs 163;" f
drawPointLabel src/Dodge/Render/Label.hs 13;" f drawPointLabel src/Dodge/Render/Label.hs 13;" f
drawProjectile src/Dodge/Projectile/Draw.hs 13;" f drawProjectile src/Dodge/Projectile/Draw.hs 13;" f
drawPulseBall src/Dodge/Render/ShapePicture.hs 85;" f drawPulseBall src/Dodge/Render/ShapePicture.hs 93;" f
drawQuitTerminal src/Dodge/Render/Picture.hs 145;" f drawQuitTerminal src/Dodge/Render/Picture.hs 145;" f
drawRBOptions src/Dodge/Render/HUD.hs 249;" f drawRBOptions src/Dodge/Render/HUD.hs 249;" f
drawRadarSweep src/Dodge/RadarSweep/Draw.hs 14;" f drawRadarSweep src/Dodge/RadarSweep/Draw.hs 14;" f
@@ -3375,7 +3375,7 @@ drawSSMultiCursor src/Dodge/SelectionSections/Draw.hs 37;" f
drawSelect src/Dodge/Render/Picture.hs 255;" f drawSelect src/Dodge/Render/Picture.hs 255;" f
drawSelectionList src/Dodge/Render/List.hs 35;" f drawSelectionList src/Dodge/Render/List.hs 35;" f
drawSelectionSections src/Dodge/SelectionSections/Draw.hs 17;" f drawSelectionSections src/Dodge/SelectionSections/Draw.hs 17;" f
drawShaderLay src/Shader.hs 9;" f drawShaderLay src/Shader.hs 10;" f
drawShadowsByImportance src/Dodge/Shadows.hs 8;" f drawShadowsByImportance src/Dodge/Shadows.hs 8;" f
drawShell src/Dodge/Projectile/Draw.hs 22;" f drawShell src/Dodge/Projectile/Draw.hs 22;" f
drawShockwave src/Dodge/Shockwave/Draw.hs 6;" f drawShockwave src/Dodge/Shockwave/Draw.hs 6;" f
@@ -3396,16 +3396,16 @@ drawTurret src/Dodge/Machine/Draw.hs 94;" f
drawVerticalDoubleArrow src/Dodge/Render/Picture.hs 210;" f drawVerticalDoubleArrow src/Dodge/Render/Picture.hs 210;" f
drawWall src/Dodge/Wall/Draw.hs 11;" f drawWall src/Dodge/Wall/Draw.hs 11;" f
drawWallFace src/Dodge/Debug/Picture.hs 73;" f drawWallFace src/Dodge/Debug/Picture.hs 73;" f
drawWallSearchRays src/Dodge/Debug/Picture.hs 322;" f drawWallSearchRays src/Dodge/Debug/Picture.hs 323;" f
drawWallsNearCursor src/Dodge/Debug/Picture.hs 232;" f drawWallsNearCursor src/Dodge/Debug/Picture.hs 233;" f
drawWallsNearSegment src/Dodge/Debug/Picture.hs 130;" f drawWallsNearSegment src/Dodge/Debug/Picture.hs 130;" f
drawWallsNearYou src/Dodge/Debug/Picture.hs 223;" f drawWallsNearYou src/Dodge/Debug/Picture.hs 223;" f
drawWeapon src/Dodge/Creature/Volition.hs 15;" f drawWeapon src/Dodge/Creature/Volition.hs 15;" f
drawWlIDs src/Dodge/Debug/Picture.hs 394;" f drawWlIDs src/Dodge/Debug/Picture.hs 395;" f
drawZone src/Dodge/Debug/Picture.hs 152;" f drawZone src/Dodge/Debug/Picture.hs 152;" f
drawZoneCirc src/Dodge/Debug/Picture.hs 292;" f drawZoneCirc src/Dodge/Debug/Picture.hs 293;" f
drawZoneCol src/Dodge/Debug/Picture.hs 149;" f drawZoneCol src/Dodge/Debug/Picture.hs 149;" f
drawZoneNearPointCursor src/Dodge/Debug/Picture.hs 285;" f drawZoneNearPointCursor src/Dodge/Debug/Picture.hs 286;" f
dropAll src/Dodge/Creature/Update.hs 106;" f dropAll src/Dodge/Creature/Update.hs 106;" f
dropInventoryPath src/Dodge/HeldUse.hs 1345;" f dropInventoryPath src/Dodge/HeldUse.hs 1345;" f
dropItem src/Dodge/Creature/Action.hs 155;" f dropItem src/Dodge/Creature/Action.hs 155;" f
@@ -3435,7 +3435,7 @@ ebEffect src/Dodge/EnergyBall.hs 45;" f
ebFlicker src/Dodge/EnergyBall.hs 70;" f ebFlicker src/Dodge/EnergyBall.hs 70;" f
ebtToDamage src/Dodge/EnergyBall.hs 93;" f ebtToDamage src/Dodge/EnergyBall.hs 93;" f
edgeFormatting src/Dodge/Combine/Graph.hs 128;" f edgeFormatting src/Dodge/Combine/Graph.hs 128;" f
edgeToPic src/Dodge/Debug/Picture.hs 416;" f edgeToPic src/Dodge/Debug/Picture.hs 417;" f
effectOnEquip src/Dodge/Equipment.hs 32;" f effectOnEquip src/Dodge/Equipment.hs 32;" f
effectOnRemove src/Dodge/Equipment.hs 19;" f effectOnRemove src/Dodge/Equipment.hs 19;" f
eitType src/Dodge/Data/EquipType.hs 15;" f eitType src/Dodge/Data/EquipType.hs 15;" f
@@ -3489,7 +3489,7 @@ explosionS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 688;" f
explosiveBarrel src/Dodge/Creature/Inanimate.hs 25;" f explosiveBarrel src/Dodge/Creature/Inanimate.hs 25;" f
extTrigLitPos src/Dodge/Placement/Instance/Button.hs 80;" f extTrigLitPos src/Dodge/Placement/Instance/Button.hs 80;" f
extendConeToScreenEdge src/Dodge/Debug/Picture.hs 82;" f extendConeToScreenEdge src/Dodge/Debug/Picture.hs 82;" f
extraPics src/Dodge/Render/ShapePicture.hs 123;" f extraPics src/Dodge/Render/ShapePicture.hs 131;" f
extraWeaponLinks src/Dodge/Item/Grammar.hs 90;" f extraWeaponLinks src/Dodge/Item/Grammar.hs 90;" f
extraWeaponLinksBelow src/Dodge/Item/Grammar.hs 99;" f extraWeaponLinksBelow src/Dodge/Item/Grammar.hs 99;" f
extractRoomPos src/Dodge/RoomPos.hs 6;" f extractRoomPos src/Dodge/RoomPos.hs 6;" f
@@ -3541,7 +3541,7 @@ flockArmourChaseCrit src/Dodge/Creature/ArmourChase.hs 14;" f
flockChaseTarget src/Dodge/Creature/Boid.hs 188;" f flockChaseTarget src/Dodge/Creature/Boid.hs 188;" f
flockPointTarget src/Dodge/Creature/Boid.hs 204;" f flockPointTarget src/Dodge/Creature/Boid.hs 204;" f
floorItemPickupInfo src/Dodge/Render/HUD.hs 229;" f floorItemPickupInfo src/Dodge/Render/HUD.hs 229;" f
floorItemSPic src/Dodge/Render/ShapePicture.hs 144;" f floorItemSPic src/Dodge/Render/ShapePicture.hs 152;" f
floorTo src/Geometry/Zone.hs 12;" f floorTo src/Geometry/Zone.hs 12;" f
floorWire src/Dodge/Wire.hs 13;" f floorWire src/Dodge/Wire.hs 13;" f
foamSprayFadeOutS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 772;" f foamSprayFadeOutS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 772;" f
@@ -3611,7 +3611,7 @@ getCrMoveSpeed src/Dodge/Creature/Statistics.hs 50;" f
getCrsFromRooms src/Dodge/Room/Tutorial.hs 351;" f getCrsFromRooms src/Dodge/Room/Tutorial.hs 351;" f
getCrsFromRooms' src/Dodge/Room/Tutorial.hs 338;" f getCrsFromRooms' src/Dodge/Room/Tutorial.hs 338;" f
getDebugMouseOver src/Dodge/Update.hs 423;" f getDebugMouseOver src/Dodge/Update.hs 423;" f
getDistortions src/Dodge/Render.hs 441;" f getDistortions src/Dodge/Render.hs 445;" f
getEdgesCrossing src/Dodge/Path.hs 37;" f getEdgesCrossing src/Dodge/Path.hs 37;" f
getGrenadeHitEffect src/Dodge/HeldUse.hs 1258;" f getGrenadeHitEffect src/Dodge/HeldUse.hs 1258;" f
getInventoryPath src/Dodge/Inventory/Path.hs 9;" f getInventoryPath src/Dodge/Inventory/Path.hs 9;" f
@@ -3948,7 +3948,7 @@ lConnectCol src/Dodge/Render/Connectors.hs 46;" f
lConnectMulti src/Dodge/Render/Connectors.hs 51;" f lConnectMulti src/Dodge/Render/Connectors.hs 51;" f
lShape src/Dodge/Placement/Instance/LightSource.hs 54;" f lShape src/Dodge/Placement/Instance/LightSource.hs 54;" f
lamp src/Dodge/Creature/Lamp.hs 18;" f lamp src/Dodge/Creature/Lamp.hs 18;" f
lampCrSPic src/Dodge/Render/ShapePicture.hs 107;" f lampCrSPic src/Dodge/Render/ShapePicture.hs 115;" f
lasCenSensEdge src/Dodge/Room/LasTurret.hs 130;" f lasCenSensEdge src/Dodge/Room/LasTurret.hs 130;" f
lasGunPic src/Dodge/Item/Draw/SPic.hs 413;" f lasGunPic src/Dodge/Item/Draw/SPic.hs 413;" f
lasPulseS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 726;" f lasPulseS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 726;" f
@@ -4154,7 +4154,7 @@ mcProxSensorTriggerUpdate src/Dodge/Machine/Update.hs 126;" f
mcProxSensorUpdate src/Dodge/Machine/Update.hs 177;" f mcProxSensorUpdate src/Dodge/Machine/Update.hs 177;" f
mcProxTest src/Dodge/Machine/Update.hs 258;" f mcProxTest src/Dodge/Machine/Update.hs 258;" f
mcProximitySensorUpdate src/Dodge/Machine/Update.hs 219;" f mcProximitySensorUpdate src/Dodge/Machine/Update.hs 219;" f
mcSPic src/Dodge/Render/ShapePicture.hs 154;" f mcSPic src/Dodge/Render/ShapePicture.hs 162;" f
mcShootAuto src/Dodge/HeldUse.hs 1163;" f mcShootAuto src/Dodge/HeldUse.hs 1163;" f
mcShootLaser src/Dodge/HeldUse.hs 1156;" f mcShootLaser src/Dodge/HeldUse.hs 1156;" f
mcTypeUpdate src/Dodge/Machine/Update.hs 33;" f mcTypeUpdate src/Dodge/Machine/Update.hs 33;" f
@@ -4298,15 +4298,15 @@ notLink src/Dodge/Data/Room.hs 72;" f
nulgate src/Dodge/Item/Scope.hs 95;" f nulgate src/Dodge/Item/Scope.hs 95;" f
numDrawableVertices src/Shader/Parameters.hs 34;" f numDrawableVertices src/Shader/Parameters.hs 34;" f
numGLuint src/Shader/Parameters.hs 29;" f numGLuint src/Shader/Parameters.hs 29;" f
numLayers src/Picture/Data.hs 26;" f numLayers src/Picture/Data.hs 27;" f
numMetaTree src/Dodge/Tree/Compose.hs 119;" f numMetaTree src/Dodge/Tree/Compose.hs 119;" f
numMetaTree' src/Dodge/Tree/Compose.hs 122;" f numMetaTree' src/Dodge/Tree/Compose.hs 122;" f
numSelfTree src/Dodge/Tree/Compose.hs 107;" f numSelfTree src/Dodge/Tree/Compose.hs 107;" f
numSelfTree' src/Dodge/Tree/Compose.hs 110;" f numSelfTree' src/Dodge/Tree/Compose.hs 110;" f
numShads src/Picture/Data.hs 37;" f numShads src/Picture/Data.hs 38;" f
numSubElements src/Shader/Parameters.hs 39;" f numSubElements src/Shader/Parameters.hs 39;" f
numTraversable src/TreeHelp.hs 184;" f numTraversable src/TreeHelp.hs 184;" f
obstacleColor src/Dodge/Debug/Picture.hs 263;" f obstacleColor src/Dodge/Debug/Picture.hs 264;" f
obstructPathsCrossing src/Dodge/Path.hs 120;" f obstructPathsCrossing src/Dodge/Path.hs 120;" f
oldMachineBootS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 630;" f oldMachineBootS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 630;" f
onEquipWristShield src/Dodge/Equipment.hs 37;" f onEquipWristShield src/Dodge/Equipment.hs 37;" f
@@ -4615,7 +4615,7 @@ randomTreeStructure src/Dodge/Layout/Generate.hs 18;" f
randsOnCirc src/RandomHelp.hs 127;" f randsOnCirc src/RandomHelp.hs 127;" f
randsSpread src/RandomHelp.hs 120;" f randsSpread src/RandomHelp.hs 120;" f
ratIntersectLineLine src/Geometry/Intersect.hs 216;" f ratIntersectLineLine src/Geometry/Intersect.hs 216;" f
rdToVec2s src/Dodge/Render.hs 424;" f rdToVec2s src/Dodge/Render.hs 428;" f
readSaveSlot src/Dodge/Save.hs 45;" f readSaveSlot src/Dodge/Save.hs 45;" f
recComFindMax src/Dodge/Terminal.hs 174;" f recComFindMax src/Dodge/Terminal.hs 174;" f
recComFindMin src/Dodge/Terminal.hs 168;" f recComFindMin src/Dodge/Terminal.hs 168;" f
@@ -4878,7 +4878,7 @@ setTiles src/Dodge/Layout.hs 67;" f
setTreeInts src/Dodge/Room/Tutorial.hs 91;" f setTreeInts src/Dodge/Room/Tutorial.hs 91;" f
setViewDistance src/Dodge/Update/Camera.hs 243;" f setViewDistance src/Dodge/Update/Camera.hs 243;" f
setViewPos src/Dodge/Creature/ReaderUpdate.hs 69;" f setViewPos src/Dodge/Creature/ReaderUpdate.hs 69;" f
setViewport src/Dodge/Render.hs 446;" f setViewport src/Dodge/Render.hs 450;" f
setVol src/Dodge/Config.hs 47;" f setVol src/Dodge/Config.hs 47;" f
setWindowColor src/Dodge/Render/Walls.hs 32;" f setWindowColor src/Dodge/Render/Walls.hs 32;" f
setWristShieldPos src/Dodge/Equipment.hs 49;" f setWristShieldPos src/Dodge/Equipment.hs 49;" f
@@ -4909,7 +4909,7 @@ shellShape src/Dodge/Projectile/Draw.hs 35;" f
shieldWall src/Dodge/Item/BackgroundEffect.hs 77;" f shieldWall src/Dodge/Item/BackgroundEffect.hs 77;" f
shiftByV2 src/Dodge/PlacementSpot.hs 250;" f shiftByV2 src/Dodge/PlacementSpot.hs 250;" f
shiftChildren src/Dodge/Tree/Compose.hs 44;" f shiftChildren src/Dodge/Tree/Compose.hs 44;" f
shiftDraw src/Dodge/Render/ShapePicture.hs 112;" f shiftDraw src/Dodge/Render/ShapePicture.hs 120;" f
shiftInBy src/Dodge/PlacementSpot.hs 247;" f shiftInBy src/Dodge/PlacementSpot.hs 247;" f
shiftInvItems src/Dodge/Update/Input/InGame.hs 310;" f shiftInvItems src/Dodge/Update/Input/InGame.hs 310;" f
shiftInvItemsDown src/Dodge/Update/Input/InGame.hs 355;" f shiftInvItemsDown src/Dodge/Update/Input/InGame.hs 355;" f
@@ -5020,7 +5020,7 @@ soundMultiFrom src/Dodge/SoundLogic.hs 187;" f
soundOriginIDsAt src/Dodge/WorldEvent/Sound.hs 18;" f soundOriginIDsAt src/Dodge/WorldEvent/Sound.hs 18;" f
soundOriginsIDsAt src/Dodge/WorldEvent/Sound.hs 13;" f soundOriginsIDsAt src/Dodge/WorldEvent/Sound.hs 13;" f
soundPathList src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 344;" f soundPathList src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 344;" f
soundPic src/Dodge/Debug/Picture.hs 363;" f soundPic src/Dodge/Debug/Picture.hs 364;" f
soundStart src/Dodge/SoundLogic.hs 118;" f soundStart src/Dodge/SoundLogic.hs 118;" f
soundToOnomato src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 174;" f soundToOnomato src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 174;" f
soundToVol src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 4;" f soundToVol src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 4;" f
@@ -5167,8 +5167,8 @@ teslaGunPic src/Dodge/Item/Draw/SPic.hs 410;" f
teslaParams src/Dodge/Item/Held/BatteryGuns.hs 25;" f teslaParams src/Dodge/Item/Held/BatteryGuns.hs 25;" f
testEvent src/Dodge/Event/Test.hs 11;" f testEvent src/Dodge/Event/Test.hs 11;" f
testInventory src/Dodge/Creature.hs 290;" f testInventory src/Dodge/Creature.hs 290;" f
testPic src/Dodge/Render/ShapePicture.hs 55;" f testPic src/Dodge/Render/ShapePicture.hs 56;" f
testSPic src/Dodge/Render/ShapePicture.hs 52;" f testSPic src/Dodge/Render/ShapePicture.hs 53;" f
testStringInit src/Dodge/TestString.hs 34;" f testStringInit src/Dodge/TestString.hs 34;" f
text src/Picture/Base.hs 185;" f text src/Picture/Base.hs 185;" f
textGrad src/Picture/Text.hs 5;" f textGrad src/Picture/Text.hs 5;" f
@@ -5180,9 +5180,9 @@ textJustifyRight src/Picture/Base.hs 202;" f
textRight src/Picture/Base.hs 207;" f textRight src/Picture/Base.hs 207;" f
textTerminal src/Dodge/Terminal.hs 40;" f textTerminal src/Dodge/Terminal.hs 40;" f
textVMirror src/Picture/Base.hs 220;" f textVMirror src/Picture/Base.hs 220;" f
tflat2 src/Picture/Data.hs 55;" f tflat2 src/Picture/Data.hs 56;" f
tflat3 src/Picture/Data.hs 59;" f tflat3 src/Picture/Data.hs 60;" f
tflat4 src/Picture/Data.hs 63;" f tflat4 src/Picture/Data.hs 64;" f
theCleanup appDodge/Main.hs 65;" f theCleanup appDodge/Main.hs 65;" f
theColumns src/Dodge/Tree/Shift.hs 146;" f theColumns src/Dodge/Tree/Shift.hs 146;" f
theUpdateStep appDodge/Main.hs 101;" f theUpdateStep appDodge/Main.hs 101;" f
@@ -5534,8 +5534,8 @@ verticalPipe src/Dodge/Picture.hs 19;" f
verticalPipe src/Dodge/Placement/Instance/Pipe.hs 6;" f verticalPipe src/Dodge/Placement/Instance/Pipe.hs 6;" f
verticalWire src/Dodge/Wire.hs 23;" f verticalWire src/Dodge/Wire.hs 23;" f
vgunMuzzles src/Dodge/HeldUse.hs 343;" f vgunMuzzles src/Dodge/HeldUse.hs 343;" f
viewBoundaries src/Dodge/Debug/Picture.hs 331;" f viewBoundaries src/Dodge/Debug/Picture.hs 332;" f
viewClipBounds src/Dodge/Debug/Picture.hs 340;" f viewClipBounds src/Dodge/Debug/Picture.hs 341;" f
viewDistanceFromItems src/Dodge/Update/Camera.hs 201;" f viewDistanceFromItems src/Dodge/Update/Camera.hs 201;" f
viewTarget src/Dodge/Creature/ReaderUpdate.hs 155;" f viewTarget src/Dodge/Creature/ReaderUpdate.hs 155;" f
violet src/Color.hs 48;" f violet src/Color.hs 48;" f