Allow chunk debris to fall down chasms

This commit is contained in:
2025-08-02 22:49:10 +01:00
parent 5722ca8204
commit ae24720762
4 changed files with 59 additions and 59 deletions
+19 -14
View File
@@ -11,7 +11,6 @@ import Color
import Data.Foldable import Data.Foldable
import qualified Data.IntSet as IS import qualified Data.IntSet as IS
import Data.Maybe import Data.Maybe
import Dodge.Base
import Dodge.Data.World import Dodge.Data.World
import Dodge.Material.Sound import Dodge.Material.Sound
import Dodge.WorldEvent.Sound import Dodge.WorldEvent.Sound
@@ -49,25 +48,31 @@ makeDebris = makeDebrisDirected (2 * pi) 0
makeDebrisDirected :: Float -> Float -> Material -> Color -> Point2 -> World -> World makeDebrisDirected :: Float -> Float -> Material -> Color -> Point2 -> World -> World
makeDebrisDirected arcrad dir bm col p w = makeDebrisDirected arcrad dir bm col p w =
w w
& flip (foldl' (flip $ plNew (cWorld . lWorld . props) prID)) thedebris -- & flip (foldl' (flip $ plNew (cWorld . lWorld . props) prID)) thedebris
& cWorld . lWorld . debris <>~ thedebris
& randGen .~ newg & randGen .~ newg
& soundOriginsIDsAt [MaterialSound bm i | i <- [0, 1, 2]] (destroyMatS bm) p & soundOriginsIDsAt [MaterialSound bm i | i <- [0, 1, 2]] (destroyMatS bm) p
where where
(thedebris, newg) = mapM f [35, 55 .. 95] & runState $ _randGen w (thedebris, newg) = mapM f [35, 55, 75, 95] & runState $ _randGen w
f h = do f h = do
v <- rotateV (dir - arcrad / 2) <$> randInArcStrip 1 2 arcrad v <- rotateV (dir - arcrad / 2) <$> randInArcStrip 1 2 arcrad
q <- Q.vToQuat (V3 0 0 1) <$> randOnUnitSphere
spinspeed <- randomR (-0.2, -0.1) & state spinspeed <- randomR (-0.2, -0.1) & state
basedebris <- baseDebris bm -- basedebris <- baseDebris bm
return $ return $ DebrisChunk
basedebris { _dbPos = p `v2z` h
& prColor .~ col , _dbType = BlockDebris col
& prPos .~ p , _dbVel = v `v2z` 0
& prVel .~ v , _dbRot = Q.qID
& prQuatSpin .~ Q.axisAngle (vNormal v `v2z` 0) spinspeed , _dbSpin = Q.axisAngle (vNormal v `v2z` 0) spinspeed
& prQuat .~ q }
& prVelZ .~ 0 -- basedebris
& prPosZ .~ h -- & prColor .~ col
-- & prPos .~ p
-- & prVel .~ v
-- & prQuatSpin .~ Q.axisAngle (vNormal v `v2z` 0) spinspeed
-- & prQuat .~ Q.qID
-- & prVelZ .~ 0
-- & prPosZ .~ h
debrisSize :: Material -> Float debrisSize :: Material -> Float
debrisSize mt = case mt of debrisSize mt = case mt of
+2 -2
View File
@@ -44,7 +44,7 @@ data DebrisType =
Gib {_gibSize :: Float Gib {_gibSize :: Float
,_gibColor :: Color ,_gibColor :: Color
} }
| BlockDebris {_bdMaterial :: Material} | BlockDebris {_bdColor :: Color}
data Debris = DebrisChunk data Debris = DebrisChunk
{ _dbPos :: Point3 { _dbPos :: Point3
@@ -54,7 +54,7 @@ data Debris = DebrisChunk
, _dbSpin :: Q.Quaternion Float , _dbSpin :: Q.Quaternion Float
} }
data PropType = FallingBlock Material --data PropType = FallingBlock Material
data PropDraw data PropDraw
= PropDrawSPic SPic = PropDrawSPic SPic
+1 -2
View File
@@ -4,7 +4,6 @@ module Dodge.Prop.Draw (
debrisSPic, debrisSPic,
) where ) where
import Dodge.Material.Color
import Dodge.Block.Debris import Dodge.Block.Debris
import Control.Lens import Control.Lens
import Dodge.Data.Prop import Dodge.Data.Prop
@@ -22,7 +21,7 @@ debrisSPic :: Debris -> SPic
debrisSPic db = translateSP (_dbPos db) . overPosSP (Q.rotate (_dbRot db)) $ debrisSPic db = translateSP (_dbPos db) . overPosSP (Q.rotate (_dbRot db)) $
case db ^. dbType of case db ^. dbType of
Gib x col -> noPic $ drawGib x col Gib x col -> noPic $ drawGib x col
BlockDebris m -> noPic . colorSH (materialColor m) $ cubeShape 4 BlockDebris m -> noPic . colorSH m $ cubeShape 4
drawProp :: PropDraw -> Prop -> SPic drawProp :: PropDraw -> Prop -> SPic
drawProp = \case drawProp = \case
+37 -41
View File
@@ -443,7 +443,6 @@ FacilityType src/Dodge/Data/Scenario.hs 55;" t
Faction src/Dodge/Data/Creature/State.hs 14;" t Faction src/Dodge/Data/Creature/State.hs 14;" t
Factory src/Dodge/Data/Scenario.hs 56;" C Factory src/Dodge/Data/Scenario.hs 56;" C
FailedResource src/Dodge/Data/Scenario.hs 37;" t FailedResource src/Dodge/Data/Scenario.hs 37;" t
FallingBlock src/Dodge/Data/Prop.hs 57;" C
FetchItem src/Dodge/Data/Scenario.hs 11;" C FetchItem src/Dodge/Data/Scenario.hs 11;" C
FireSpark src/Dodge/Data/Spark.hs 22;" C FireSpark src/Dodge/Data/Spark.hs 22;" C
Fixated src/Dodge/Data/Creature/Perception.hs 62;" C Fixated src/Dodge/Data/Creature/Perception.hs 62;" C
@@ -1059,7 +1058,6 @@ PropFallSmallBounceDamage src/Dodge/Data/Prop.hs 73;" C
PropLampCover src/Dodge/Data/Prop.hs 66;" C PropLampCover src/Dodge/Data/Prop.hs 66;" C
PropRotate src/Dodge/Data/Prop.hs 76;" C PropRotate src/Dodge/Data/Prop.hs 76;" C
PropSetToggleAnd src/Dodge/Data/Prop.hs 77;" C PropSetToggleAnd src/Dodge/Data/Prop.hs 77;" C
PropType src/Dodge/Data/Prop.hs 57;" t
PropUpdate src/Dodge/Data/Prop.hs 71;" t PropUpdate src/Dodge/Data/Prop.hs 71;" t
PropUpdateAnd src/Dodge/Data/Prop.hs 72;" C PropUpdateAnd src/Dodge/Data/Prop.hs 72;" C
PropUpdateId src/Dodge/Data/Prop.hs 75;" C PropUpdateId src/Dodge/Data/Prop.hs 75;" C
@@ -1588,7 +1586,7 @@ _avatarMaterial src/Dodge/Data/Creature/Misc.hs 63;" f
_avatarPulse src/Dodge/Data/Creature/Misc.hs 62;" f _avatarPulse src/Dodge/Data/Creature/Misc.hs 62;" f
_barrelShader src/Data/Preload/Render.hs 23;" f _barrelShader src/Data/Preload/Render.hs 23;" f
_barrelType src/Dodge/Data/Creature/Misc.hs 73;" f _barrelType src/Dodge/Data/Creature/Misc.hs 73;" f
_bdMaterial src/Dodge/Data/Prop.hs 47;" f _bdColor src/Dodge/Data/Prop.hs 47;" f
_bdMaxX src/Dodge/Data/Bounds.hs 14;" f _bdMaxX src/Dodge/Data/Bounds.hs 14;" f
_bdMaxY src/Dodge/Data/Bounds.hs 16;" f _bdMaxY src/Dodge/Data/Bounds.hs 16;" f
_bdMinX src/Dodge/Data/Bounds.hs 13;" f _bdMinX src/Dodge/Data/Bounds.hs 13;" f
@@ -2773,7 +2771,7 @@ baseAMRShape src/Dodge/Item/Draw/SPic.hs 418;" f
baseBlockPane src/Dodge/Placement/Instance/Wall.hs 86;" f baseBlockPane src/Dodge/Placement/Instance/Wall.hs 86;" f
baseCI src/Dodge/Item/Grammar.hs 157;" f baseCI src/Dodge/Item/Grammar.hs 157;" f
baseCaneShape src/Dodge/Item/Draw/SPic.hs 335;" f baseCaneShape src/Dodge/Item/Draw/SPic.hs 335;" f
baseDebris src/Dodge/Block/Debris.hs 122;" f baseDebris src/Dodge/Block/Debris.hs 88;" f
baseFloorTileSize src/Tile.hs 45;" f baseFloorTileSize src/Tile.hs 45;" f
baseItemTriggerType src/Dodge/BaseTriggerType.hs 21;" f baseItemTriggerType src/Dodge/BaseTriggerType.hs 21;" f
baseRifleShape src/Dodge/Item/Draw/SPic.hs 338;" f baseRifleShape src/Dodge/Item/Draw/SPic.hs 338;" f
@@ -2936,7 +2934,7 @@ circleSolid src/Picture/Base.hs 164;" f
circleSolidCol src/Picture/Base.hs 168;" f circleSolidCol src/Picture/Base.hs 168;" f
clAlt src/Dodge/Cloud.hs 5;" f clAlt src/Dodge/Cloud.hs 5;" f
clClSpringVel src/Dodge/Update.hs 871;" f clClSpringVel src/Dodge/Update.hs 871;" f
clColor src/Shader/Poke/Cloud.hs 36;" f clColor src/Shader/Poke/Cloud.hs 35;" f
clZoneSize src/Dodge/Zoning/Cloud.hs 21;" f clZoneSize src/Dodge/Zoning/Cloud.hs 21;" f
clampPath src/Dodge/Room/Procedural.hs 166;" f clampPath src/Dodge/Room/Procedural.hs 166;" f
clang1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 560;" f clang1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 560;" f
@@ -3116,9 +3114,9 @@ crsNearCirc src/Dodge/Zoning/Creature.hs 35;" f
crsNearPoint src/Dodge/Zoning/Creature.hs 17;" f crsNearPoint src/Dodge/Zoning/Creature.hs 17;" f
crsNearRect src/Dodge/Zoning/Creature.hs 38;" f crsNearRect src/Dodge/Zoning/Creature.hs 38;" f
crsNearSeg src/Dodge/Zoning/Creature.hs 23;" f crsNearSeg src/Dodge/Zoning/Creature.hs 23;" f
crystalDebris src/Dodge/Block/Debris.hs 175;" f crystalDebris src/Dodge/Block/Debris.hs 141;" f
crystalLine src/Dodge/Placement/Instance/Wall.hs 55;" f crystalLine src/Dodge/Placement/Instance/Wall.hs 55;" f
cubeShape src/Dodge/Block/Debris.hs 195;" f cubeShape src/Dodge/Block/Debris.hs 161;" f
cullPoint src/Dodge/Render/ShapePicture.hs 88;" f cullPoint src/Dodge/Render/ShapePicture.hs 88;" 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
@@ -3172,8 +3170,8 @@ deadRot src/Dodge/Creature/Picture.hs 81;" f
deadScalp src/Dodge/Creature/Picture.hs 78;" f deadScalp src/Dodge/Creature/Picture.hs 78;" f
deadUpperBody src/Dodge/Creature/Picture.hs 122;" f deadUpperBody src/Dodge/Creature/Picture.hs 122;" f
debrisS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 684;" f debrisS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 684;" f
debrisSPic src/Dodge/Prop/Draw.hs 21;" f debrisSPic src/Dodge/Prop/Draw.hs 20;" f
debrisSize src/Dodge/Block/Debris.hs 111;" f debrisSize src/Dodge/Block/Debris.hs 77;" f
debugDraw src/Dodge/Debug/Picture.hs 154;" f debugDraw src/Dodge/Debug/Picture.hs 154;" f
debugDraw' src/Dodge/Debug/Picture.hs 165;" f debugDraw' src/Dodge/Debug/Picture.hs 165;" f
debugEvent src/Dodge/Debug.hs 26;" f debugEvent src/Dodge/Debug.hs 26;" f
@@ -3281,8 +3279,8 @@ difference src/Geometry.hs 128;" f
digitalLine src/Geometry.hs 288;" f digitalLine src/Geometry.hs 288;" f
digitalRect src/Geometry.hs 305;" f digitalRect src/Geometry.hs 305;" f
dim src/Color.hs 112;" f dim src/Color.hs 112;" f
dirtColor src/Dodge/Block/Debris.hs 159;" f dirtColor src/Dodge/Block/Debris.hs 125;" f
dirtDebris src/Dodge/Block/Debris.hs 153;" f dirtDebris src/Dodge/Block/Debris.hs 119;" f
dirtPoly src/Dodge/Room/RoadBlock.hs 74;" f dirtPoly src/Dodge/Room/RoadBlock.hs 74;" f
disconnectItemS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 650;" f disconnectItemS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 650;" f
disconnectTerminal src/Dodge/Terminal.hs 217;" f disconnectTerminal src/Dodge/Terminal.hs 217;" f
@@ -3425,7 +3423,7 @@ drawCrossCol src/Dodge/Render/Label.hs 21;" f
drawCursorAt src/Dodge/Render/List.hs 71;" f drawCursorAt src/Dodge/Render/List.hs 71;" f
drawDDATest src/Dodge/Debug/Picture.hs 291;" f drawDDATest src/Dodge/Debug/Picture.hs 291;" f
drawDoorPaths src/Dodge/Debug/Picture.hs 252;" f drawDoorPaths src/Dodge/Debug/Picture.hs 252;" f
drawDoubleLampCover src/Dodge/Prop/Draw.hs 96;" f drawDoubleLampCover src/Dodge/Prop/Draw.hs 95;" f
drawDrag src/Dodge/Render/Picture.hs 183;" f drawDrag src/Dodge/Render/Picture.hs 183;" f
drawDragDrop src/Dodge/Render/Picture.hs 204;" f drawDragDrop src/Dodge/Render/Picture.hs 204;" f
drawDragPickup src/Dodge/Render/Picture.hs 213;" f drawDragPickup src/Dodge/Render/Picture.hs 213;" f
@@ -3443,7 +3441,7 @@ drawFlamelet src/Dodge/EnergyBall/Draw.hs 35;" f
drawFooterText src/Dodge/Render/MenuScreen.hs 72;" f drawFooterText src/Dodge/Render/MenuScreen.hs 72;" f
drawForceField src/Dodge/Wall/Draw.hs 11;" f drawForceField src/Dodge/Wall/Draw.hs 11;" f
drawGapPlus src/Dodge/Render/Picture.hs 255;" f drawGapPlus src/Dodge/Render/Picture.hs 255;" f
drawGib src/Dodge/Prop/Draw.hs 40;" f drawGib src/Dodge/Prop/Draw.hs 39;" f
drawHUD src/Dodge/Render/HUD.hs 49;" f drawHUD src/Dodge/Render/HUD.hs 49;" f
drawInputMenu src/Dodge/Render/MenuScreen.hs 22;" f drawInputMenu src/Dodge/Render/MenuScreen.hs 22;" f
drawInspectWall src/Dodge/Debug/Picture.hs 244;" f drawInspectWall src/Dodge/Debug/Picture.hs 244;" f
@@ -3453,7 +3451,7 @@ drawItemChildrenConnect src/Dodge/Render/HUD.hs 326;" f
drawItemConnections src/Dodge/Render/HUD.hs 316;" f drawItemConnections src/Dodge/Render/HUD.hs 316;" f
drawJumpDown src/Dodge/Render/Picture.hs 175;" f drawJumpDown src/Dodge/Render/Picture.hs 175;" f
drawLabCrossCol src/Dodge/Render/Label.hs 8;" f drawLabCrossCol src/Dodge/Render/Label.hs 8;" f
drawLampCover src/Dodge/Prop/Draw.hs 56;" f drawLampCover src/Dodge/Prop/Draw.hs 55;" f
drawLaser src/Dodge/Laser/Update.hs 29;" f drawLaser src/Dodge/Laser/Update.hs 29;" f
drawLightSource src/Dodge/LightSource/Draw.hs 7;" f drawLightSource src/Dodge/LightSource/Draw.hs 7;" f
drawLinearShockwave src/Dodge/LinearShockwave/Draw.hs 10;" f drawLinearShockwave src/Dodge/LinearShockwave/Draw.hs 10;" f
@@ -3471,8 +3469,8 @@ drawMenuScreen src/Dodge/Render/MenuScreen.hs 16;" f
drawMouseCursor src/Dodge/Render/Picture.hs 79;" f drawMouseCursor src/Dodge/Render/Picture.hs 79;" f
drawMouseOver src/Dodge/Render/HUD.hs 104;" f drawMouseOver src/Dodge/Render/HUD.hs 104;" f
drawMousePosition src/Dodge/Debug/Picture.hs 354;" f drawMousePosition src/Dodge/Debug/Picture.hs 354;" f
drawMovingShape src/Dodge/Prop/Draw.hs 82;" f drawMovingShape src/Dodge/Prop/Draw.hs 81;" f
drawMovingShapeCol src/Dodge/Prop/Draw.hs 88;" f drawMovingShapeCol src/Dodge/Prop/Draw.hs 87;" f
drawOptions src/Dodge/Render/MenuScreen.hs 36;" f drawOptions src/Dodge/Render/MenuScreen.hs 36;" f
drawPathBetween src/Dodge/Debug/Picture.hs 200;" f drawPathBetween src/Dodge/Debug/Picture.hs 200;" f
drawPathEdge src/Dodge/Debug/Picture.hs 257;" f drawPathEdge src/Dodge/Debug/Picture.hs 257;" f
@@ -3480,7 +3478,7 @@ drawPathing src/Dodge/Debug/Picture.hs 427;" f
drawPlus src/Dodge/Render/Picture.hs 144;" f drawPlus src/Dodge/Render/Picture.hs 144;" 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
drawProp src/Dodge/Prop/Draw.hs 27;" f drawProp src/Dodge/Prop/Draw.hs 26;" f
drawPulseBall src/Dodge/Render/ShapePicture.hs 51;" f drawPulseBall src/Dodge/Render/ShapePicture.hs 51;" 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
@@ -3513,7 +3511,7 @@ drawTitleBackground src/Dodge/Render/List.hs 44;" f
drawTractorBeam src/Dodge/TractorBeam/Draw.hs 7;" f drawTractorBeam src/Dodge/TractorBeam/Draw.hs 7;" f
drawTurret src/Dodge/Machine/Draw.hs 65;" f drawTurret src/Dodge/Machine/Draw.hs 65;" f
drawVerticalDoubleArrow src/Dodge/Render/Picture.hs 195;" f drawVerticalDoubleArrow src/Dodge/Render/Picture.hs 195;" f
drawVerticalLampCover src/Dodge/Prop/Draw.hs 72;" f drawVerticalLampCover src/Dodge/Prop/Draw.hs 71;" f
drawWall src/Dodge/Wall/Draw.hs 7;" f drawWall src/Dodge/Wall/Draw.hs 7;" f
drawWallFace src/Dodge/Debug/Picture.hs 73;" f drawWallFace src/Dodge/Debug/Picture.hs 73;" f
drawWallSearchRays src/Dodge/Debug/Picture.hs 300;" f drawWallSearchRays src/Dodge/Debug/Picture.hs 300;" f
@@ -3547,7 +3545,7 @@ dtToLRAdjEither src/Dodge/DoubleTree.hs 180;" f
dtToRootIntMap' src/Dodge/DoubleTree.hs 153;" f dtToRootIntMap' src/Dodge/DoubleTree.hs 153;" f
dtToUpDownAdj src/Dodge/DoubleTree.hs 158;" f dtToUpDownAdj src/Dodge/DoubleTree.hs 158;" f
dummyMenuOption src/Dodge/Menu/Option.hs 74;" f dummyMenuOption src/Dodge/Menu/Option.hs 74;" f
dustColor src/Shader/Poke/Cloud.hs 72;" f dustColor src/Shader/Poke/Cloud.hs 71;" f
dustSpringVel src/Dodge/Update.hs 882;" f dustSpringVel src/Dodge/Update.hs 882;" f
ebColor src/Dodge/EnergyBall.hs 94;" f ebColor src/Dodge/EnergyBall.hs 94;" f
ebDamage src/Dodge/EnergyBall.hs 102;" f ebDamage src/Dodge/EnergyBall.hs 102;" f
@@ -3773,7 +3771,7 @@ girderV src/Dodge/Room/Foreground.hs 182;" f
girderV' src/Dodge/Room/Foreground.hs 157;" f girderV' src/Dodge/Room/Foreground.hs 157;" f
girderZ src/Dodge/Room/Foreground.hs 108;" f girderZ src/Dodge/Room/Foreground.hs 108;" f
glNamedBufferSubDataH src/Shader/Bind.hs 53;" f glNamedBufferSubDataH src/Shader/Bind.hs 53;" f
glassDebris src/Dodge/Block/Debris.hs 168;" f glassDebris src/Dodge/Block/Debris.hs 134;" f
glassLesson src/Dodge/Room/GlassLesson.hs 23;" f glassLesson src/Dodge/Room/GlassLesson.hs 23;" f
glassLessonRunPast src/Dodge/Room/GlassLesson.hs 68;" f glassLessonRunPast src/Dodge/Room/GlassLesson.hs 68;" f
glassShat1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 648;" f glassShat1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 648;" f
@@ -4051,7 +4049,7 @@ itmEquipSiteInfo src/Dodge/Item/Info.hs 251;" f
itmSpaceInfo src/Dodge/Item/Info.hs 25;" f itmSpaceInfo src/Dodge/Item/Info.hs 25;" f
itmUsageInfo src/Dodge/Item/Info.hs 231;" f itmUsageInfo src/Dodge/Item/Info.hs 231;" f
jShape src/Dodge/Placement/Instance/LightSource.hs 85;" f jShape src/Dodge/Placement/Instance/LightSource.hs 85;" f
jaggedShape src/Dodge/Block/Debris.hs 190;" f jaggedShape src/Dodge/Block/Debris.hs 156;" f
joinItemsInList src/Dodge/Item/Grammar.hs 205;" f joinItemsInList src/Dodge/Item/Grammar.hs 205;" f
joystick src/Dodge/Item/Scope.hs 149;" f joystick src/Dodge/Item/Scope.hs 149;" f
jps0' src/Dodge/LevelGen/PlacementHelper.hs 60;" f jps0' src/Dodge/LevelGen/PlacementHelper.hs 60;" f
@@ -4202,7 +4200,7 @@ main test/Spec.hs 12;" f
makeArc src/Picture/Base.hs 157;" f makeArc src/Picture/Base.hs 157;" f
makeAttach src/Dodge/Item/Attach.hs 10;" f makeAttach src/Dodge/Item/Attach.hs 10;" f
makeBlip src/Dodge/RadarSweep.hs 69;" f makeBlip src/Dodge/RadarSweep.hs 69;" f
makeBlockDebris src/Dodge/Block/Debris.hs 28;" f makeBlockDebris src/Dodge/Block/Debris.hs 34;" f
makeBoolOption src/Dodge/Menu/OptionType.hs 8;" f makeBoolOption src/Dodge/Menu/OptionType.hs 8;" f
makeBullet src/Dodge/HeldUse.hs 1035;" f makeBullet src/Dodge/HeldUse.hs 1035;" f
makeButton src/Dodge/LevelGen/Switch.hs 16;" f makeButton src/Dodge/LevelGen/Switch.hs 16;" f
@@ -4211,12 +4209,10 @@ makeCloudAt src/Dodge/WorldEvent/Cloud.hs 7;" f
makeColorTermLine src/Dodge/Terminal.hs 129;" f makeColorTermLine src/Dodge/Terminal.hs 129;" f
makeColorTermPara src/Dodge/Terminal.hs 126;" f makeColorTermPara src/Dodge/Terminal.hs 126;" f
makeCorpse src/Dodge/Corpse/Make.hs 13;" f makeCorpse src/Dodge/Corpse/Make.hs 13;" f
makeDebris src/Dodge/Block/Debris.hs 42;" f makeDebris src/Dodge/Block/Debris.hs 45;" f
makeDebrisDirected src/Dodge/Block/Debris.hs 79;" f makeDebrisDirected src/Dodge/Block/Debris.hs 48;" f
makeDebrisDirectedHeight src/Dodge/Block/Debris.hs 45;" f
makeDebrisToHeight src/Dodge/Block/Debris.hs 39;" f
makeDefaultCorpse src/Dodge/Corpse/Make.hs 16;" f makeDefaultCorpse src/Dodge/Corpse/Make.hs 16;" f
makeDoorDebris src/Dodge/Block/Debris.hs 18;" f makeDoorDebris src/Dodge/Block/Debris.hs 24;" f
makeDustAt src/Dodge/WorldEvent/Cloud.hs 17;" f makeDustAt src/Dodge/WorldEvent/Cloud.hs 17;" f
makeEnumOption src/Dodge/Menu/OptionType.hs 13;" f makeEnumOption src/Dodge/Menu/OptionType.hs 13;" f
makeExplosionAt src/Dodge/WorldEvent/Explosion.hs 71;" f makeExplosionAt src/Dodge/WorldEvent/Explosion.hs 71;" f
@@ -4256,7 +4252,7 @@ makeTileFromPoly src/Tile.hs 34;" f
makeTypeCraft src/Dodge/Item/Craftable.hs 18;" f makeTypeCraft src/Dodge/Item/Craftable.hs 18;" f
makeTypeCraftNum src/Dodge/Item/Craftable.hs 12;" f makeTypeCraftNum src/Dodge/Item/Craftable.hs 12;" f
mapper src/Dodge/Item/Scope.hs 70;" f mapper src/Dodge/Item/Scope.hs 70;" f
materialColor src/Dodge/Material/Color.hs 7;" f materialColor src/Dodge/Material/Color.hs 8;" f
maxAmmo src/Dodge/Item/MaxAmmo.hs 6;" f maxAmmo src/Dodge/Item/MaxAmmo.hs 6;" f
maxDamageType src/Dodge/Damage.hs 58;" f maxDamageType src/Dodge/Damage.hs 58;" f
maxInvSlots src/Dodge/Inventory/CheckSlots.hs 27;" f maxInvSlots src/Dodge/Inventory/CheckSlots.hs 27;" f
@@ -4312,7 +4308,7 @@ metal4S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 636;" f
metal5S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 652;" f metal5S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 652;" f
metal6S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 692;" f metal6S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 692;" f
metal7S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 536;" f metal7S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 536;" f
metalDebris src/Dodge/Block/Debris.hs 162;" f metalDebris src/Dodge/Block/Debris.hs 128;" f
metalPlate src/Dodge/Item/Craftable.hs 35;" f metalPlate src/Dodge/Item/Craftable.hs 35;" f
mglCreate src/GLHelp.hs 8;" f mglCreate src/GLHelp.hs 8;" f
mglDelete src/GLHelp.hs 14;" f mglDelete src/GLHelp.hs 14;" f
@@ -4592,16 +4588,16 @@ pokeBox src/Shader/Poke.hs 227;" f
pokeBoxSurface src/Shader/Poke.hs 262;" f pokeBoxSurface src/Shader/Poke.hs 262;" f
pokeChasm src/Shader/Poke/Floor.hs 24;" f pokeChasm src/Shader/Poke/Floor.hs 24;" f
pokeChasmVerx src/Shader/Poke/Floor.hs 28;" f pokeChasmVerx src/Shader/Poke/Floor.hs 28;" f
pokeCloud src/Shader/Poke/Cloud.hs 15;" f pokeCloud src/Shader/Poke/Cloud.hs 14;" f
pokeCloudFloat src/Shader/Poke/Cloud.hs 43;" f pokeCloudFloat src/Shader/Poke/Cloud.hs 42;" f
pokeCloudIndex src/Shader/Poke/Cloud.hs 47;" f pokeCloudIndex src/Shader/Poke/Cloud.hs 46;" f
pokeCloudVerx src/Shader/Poke/Cloud.hs 21;" f pokeCloudVerx src/Shader/Poke/Cloud.hs 20;" f
pokeCylinder src/Shader/Poke.hs 172;" f pokeCylinder src/Shader/Poke.hs 172;" f
pokeCylinderCaps src/Shader/Poke.hs 215;" f pokeCylinderCaps src/Shader/Poke.hs 215;" f
pokeDust src/Shader/Poke/Cloud.hs 51;" f pokeDust src/Shader/Poke/Cloud.hs 50;" f
pokeDustFloat src/Shader/Poke/Cloud.hs 75;" f pokeDustFloat src/Shader/Poke/Cloud.hs 74;" f
pokeDustIndex src/Shader/Poke/Cloud.hs 79;" f pokeDustIndex src/Shader/Poke/Cloud.hs 78;" f
pokeDustVerx src/Shader/Poke/Cloud.hs 57;" f pokeDustVerx src/Shader/Poke/Cloud.hs 56;" f
pokeF src/Shader/Poke.hs 67;" f pokeF src/Shader/Poke.hs 67;" f
pokeFlatV src/Shader/Poke.hs 455;" f pokeFlatV src/Shader/Poke.hs 455;" f
pokeFloors src/Shader/Poke.hs 61;" f pokeFloors src/Shader/Poke.hs 61;" f
@@ -4674,9 +4670,9 @@ prismBox src/Shape.hs 73;" f
prismPoly src/Shape.hs 59;" f prismPoly src/Shape.hs 59;" f
projV src/Geometry/Vector.hs 182;" f projV src/Geometry/Vector.hs 182;" f
projV3 src/Geometry/Vector3D.hs 127;" f projV3 src/Geometry/Vector3D.hs 127;" f
propDrawToggle src/Dodge/Prop/Draw.hs 51;" f propDrawToggle src/Dodge/Prop/Draw.hs 50;" f
propLSThen src/Dodge/Placement/Instance/LightSource.hs 16;" f propLSThen src/Dodge/Placement/Instance/LightSource.hs 16;" f
propSPic src/Dodge/Prop/Draw.hs 18;" f propSPic src/Dodge/Prop/Draw.hs 17;" f
propSetToggleAnd src/Dodge/Prop/Update.hs 41;" f propSetToggleAnd src/Dodge/Prop/Update.hs 41;" f
propUpdateIf src/Dodge/Prop/Update.hs 25;" f propUpdateIf src/Dodge/Prop/Update.hs 25;" f
propUpdatePosition src/Dodge/Prop/Update.hs 30;" f propUpdatePosition src/Dodge/Prop/Update.hs 30;" f
@@ -5053,7 +5049,7 @@ shapeBounds src/Dodge/Room/Foreground.hs 148;" f
shapePoints src/Dodge/Room/Foreground.hs 145;" f shapePoints src/Dodge/Room/Foreground.hs 145;" f
shapeVerxAttributes src/Shape/Parameters.hs 13;" f shapeVerxAttributes src/Shape/Parameters.hs 13;" f
shapeVerxSize src/Shape/Parameters.hs 10;" f shapeVerxSize src/Shape/Parameters.hs 10;" f
shardShape src/Dodge/Block/Debris.hs 180;" f shardShape src/Dodge/Block/Debris.hs 146;" f
shatterGun src/Dodge/Item/Held/Weapons.hs 8;" f shatterGun src/Dodge/Item/Held/Weapons.hs 8;" f
shatterGunSPic src/Dodge/Item/Draw/SPic.hs 324;" f shatterGunSPic src/Dodge/Item/Draw/SPic.hs 324;" f
shatterWall src/Dodge/Item/Weapon/Shatter.hs 26;" f shatterWall src/Dodge/Item/Weapon/Shatter.hs 26;" f
@@ -5239,7 +5235,7 @@ stone2S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 662;" f
stone3S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 572;" f stone3S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 572;" f
stone4S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 484;" f stone4S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 484;" f
stone5S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 626;" f stone5S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 626;" f
stoneDebris src/Dodge/Block/Debris.hs 137;" f stoneDebris src/Dodge/Block/Debris.hs 103;" f
stopAllSounds src/Sound.hs 125;" f stopAllSounds src/Sound.hs 125;" f
stopBulletAt src/Dodge/Bullet.hs 198;" f stopBulletAt src/Dodge/Bullet.hs 198;" f
stopPushing src/Dodge/Block.hs 105;" f stopPushing src/Dodge/Block.hs 105;" f