Improve wall crushing

This commit is contained in:
2026-03-28 21:43:06 +00:00
parent 2db4e9bc6e
commit 08fcc4baab
12 changed files with 176 additions and 106 deletions
+65 -59
View File
@@ -131,7 +131,7 @@ BlNegate src/Dodge/Data/BlBl.hs 10;" C
Block src/Dodge/Data/Block.hs 20;" t
BlockDebris src/Dodge/Data/Prop.hs 23;" C
BlockDegradeSound src/Dodge/Data/SoundOrigin.hs 31;" C
BlockPart src/Dodge/Data/Wall/Structure.hs 14;" C
BlockPart src/Dodge/Data/Wall/Structure.hs 15;" C
BlockStatus src/Dodge/Data/Universe.hs 98;" t
BlockedLink src/Dodge/Data/Room.hs 54;" C
BloomLayer src/Picture/Data.hs 21;" C
@@ -279,7 +279,7 @@ CraftType src/Dodge/Data/Item/Combine.hs 49;" t
CreateFlame src/Dodge/Data/Item/Use/Consumption/Ammo.hs 17;" C
CreatePoisonGas src/Dodge/Data/Item/Use/Consumption/Ammo.hs 17;" C
Creature src/Dodge/Data/Creature.hs 36;" t
CreaturePart src/Dodge/Data/Wall/Structure.hs 15;" C
CreaturePart src/Dodge/Data/Wall/Structure.hs 16;" C
CreatureShape src/Dodge/Data/Creature/Misc.hs 74;" t
CreatureType src/Dodge/Data/Creature/Misc.hs 58;" t
Crushing src/Dodge/Data/Damage.hs 19;" C
@@ -346,11 +346,11 @@ DoReplicate src/Dodge/Data/ActionPlan.hs 106;" C
DoReplicatePartial src/Dodge/Data/ActionPlan.hs 110;" C
DockingBaySS src/Dodge/Data/Scenario.hs 92;" C
Door src/Dodge/Data/Door.hs 29;" t
DoorDoNothing src/Dodge/Data/Door.hs 44;" C
DoorLerp src/Dodge/Data/Door.hs 45;" C
DoorLerpWithTimer src/Dodge/Data/Door.hs 46;" C
DoorPart src/Dodge/Data/Wall/Structure.hs 12;" C
DoorUpdate src/Dodge/Data/Door.hs 43;" t
DoorDoNothing src/Dodge/Data/Door.hs 45;" C
DoorLerp src/Dodge/Data/Door.hs 46;" C
DoorLerpWithTimer src/Dodge/Data/Door.hs 47;" C
DoorPart src/Dodge/Data/Wall/Structure.hs 13;" C
DoorUpdate src/Dodge/Data/Door.hs 44;" t
DoubleRes src/Dodge/Data/Config.hs 113;" C
DoubleTreeNodeType src/Dodge/Data/DoubleTree.hs 9;" t
DrawForceField src/Dodge/Data/Wall.hs 37;" C
@@ -706,7 +706,7 @@ MTree src/Dodge/Data/MetaTree.hs 12;" C
Machine src/Dodge/Data/Machine.hs 30;" t
MachineAltSound src/Dodge/Data/SoundOrigin.hs 23;" C
MachineBackgroundSound src/Dodge/Data/SoundOrigin.hs 22;" C
MachinePart src/Dodge/Data/Wall/Structure.hs 13;" C
MachinePart src/Dodge/Data/Wall/Structure.hs 14;" C
MachinePrimarySound src/Dodge/Data/SoundOrigin.hs 21;" C
MachineType src/Dodge/Data/Machine.hs 42;" t
MagBelow src/Dodge/Data/Muzzle.hs 22;" C
@@ -1267,7 +1267,7 @@ SpreadGunAI src/Dodge/Data/Creature/Misc.hs 40;" C
StabOrthReduce src/Dodge/Projectile/Create.hs 17;" C
StabSpinIncrease src/Dodge/Projectile/Create.hs 18;" C
Stance src/Dodge/Data/Creature/Stance.hs 15;" t
StandaloneWall src/Dodge/Data/Wall/Structure.hs 11;" C
StandaloneWall src/Dodge/Data/Wall/Structure.hs 12;" C
StartSentinelPost src/Dodge/Data/ActionPlan.hs 117;" C
StayInArea src/Dodge/Data/Scenario.hs 13;" C
Stone src/Dodge/Data/Material.hs 13;" C
@@ -1463,16 +1463,16 @@ WaitThen src/Dodge/Data/ActionPlan.hs 74;" C
Walking src/Dodge/Data/Creature/Stance.hs 23;" C
Wall src/Dodge/Data/Wall.hs 17;" t
WallArcNode src/Dodge/Data/LWorld.hs 160;" C
WallBlockVisibility src/Dodge/Data/Wall/Structure.hs 19;" C
WallBlockVisibility src/Dodge/Data/Wall/Structure.hs 20;" C
WallDraw src/Dodge/Data/Wall.hs 37;" t
WallFlag src/Dodge/Data/Wall/Structure.hs 18;" t
WallNotAutoOpen src/Dodge/Data/Wall/Structure.hs 20;" C
WallNotDestrucable src/Dodge/Data/Wall/Structure.hs 21;" C
WallFlag src/Dodge/Data/Wall/Structure.hs 19;" t
WallNotAutoOpen src/Dodge/Data/Wall/Structure.hs 21;" C
WallNotDestrucable src/Dodge/Data/Wall/Structure.hs 22;" C
WallObstacle src/Dodge/Data/PathGraph.hs 50;" C
WallP src/Dodge/LevelGen/StaticWalls.hs 23;" t
WallP src/Dodge/LevelGen/StaticWalls/Deprecated.hs 11;" t
WallSound src/Dodge/Data/SoundOrigin.hs 25;" C
WallStructure src/Dodge/Data/Wall/Structure.hs 10;" t
WallStructure src/Dodge/Data/Wall/Structure.hs 11;" t
WallWire src/Dodge/Data/Room.hs 59;" C
Walls_info src/Dodge/Data/Config.hs 89;" C
War src/Dodge/Data/Scenario.hs 28;" C
@@ -1770,16 +1770,17 @@ _doReplicateAction src/Dodge/Data/ActionPlan.hs 113;" f
_doReplicateTimes src/Dodge/Data/ActionPlan.hs 107;" f
_doReplicateTimes src/Dodge/Data/ActionPlan.hs 112;" f
_doors src/Dodge/Data/LWorld.hs 124;" f
_drFootPrint src/Dodge/Data/Door.hs 36;" f
_drHP src/Dodge/Data/Door.hs 37;" f
_drFootPrint src/Dodge/Data/Door.hs 37;" f
_drHP src/Dodge/Data/Door.hs 38;" f
_drID src/Dodge/Data/Door.hs 30;" f
_drLerp src/Dodge/Data/Door.hs 35;" f
_drLerpSpeed src/Dodge/Data/Door.hs 45;" f
_drLerpTimer src/Dodge/Data/Door.hs 46;" f
_drMounts src/Dodge/Data/Door.hs 40;" f
_drLerpSpeed src/Dodge/Data/Door.hs 46;" f
_drLerpTimer src/Dodge/Data/Door.hs 47;" f
_drMounts src/Dodge/Data/Door.hs 41;" f
_drOldLerp src/Dodge/Data/Door.hs 36;" f
_drOnePos src/Dodge/Data/Door.hs 34;" f
_drPushedBy src/Dodge/Data/Door.hs 38;" f
_drPushes src/Dodge/Data/Door.hs 39;" f
_drPushedBy src/Dodge/Data/Door.hs 39;" f
_drPushes src/Dodge/Data/Door.hs 40;" f
_drTrigger src/Dodge/Data/Door.hs 31;" f
_drUpdate src/Dodge/Data/Door.hs 32;" f
_drZeroPos src/Dodge/Data/Door.hs 33;" f
@@ -2507,25 +2508,25 @@ _wlLine src/Dodge/Data/Wall.hs 18;" f
_wlMaterial src/Dodge/Data/Wall.hs 26;" f
_wlOpacity src/Dodge/Data/Wall.hs 20;" f
_wlRotateTo src/Dodge/Data/Wall.hs 23;" f
_wlStCreature src/Dodge/Data/Wall/Structure.hs 15;" f
_wlStCreature src/Dodge/Data/Wall/Structure.hs 16;" f
_wlStructure src/Dodge/Data/Wall.hs 24;" f
_wlTouchThrough src/Dodge/Data/Wall.hs 21;" f
_wlUnshadowed src/Dodge/Data/Wall.hs 22;" f
_wlZoning src/Dodge/Data/World.hs 52;" f
_worldEventFlags src/Dodge/Data/World.hs 47;" f
_worldEvents src/Dodge/Data/LWorld.hs 133;" f
_wsBlock src/Dodge/Data/Wall/Structure.hs 14;" f
_wsDoor src/Dodge/Data/Wall/Structure.hs 12;" f
_wsIsAutoDoor src/Dodge/Data/Wall/Structure.hs 12;" f
_wsMachine src/Dodge/Data/Wall/Structure.hs 13;" f
_wsBlock src/Dodge/Data/Wall/Structure.hs 15;" f
_wsDoor src/Dodge/Data/Wall/Structure.hs 13;" f
_wsIsAutoDoor src/Dodge/Data/Wall/Structure.hs 13;" f
_wsMachine src/Dodge/Data/Wall/Structure.hs 14;" f
_xNum src/Dodge/Data/Item/Combine.hs 141;" f
_xNum src/Dodge/Data/Item/Combine.hs 151;" f
_xNum src/Dodge/Data/Item/Combine.hs 171;" f
aBar src/Dodge/Placement/Instance/LightSource.hs 68;" f
aBar src/Dodge/Placement/Instance/LightSource.hs 69;" f
aFlame src/Dodge/Gas.hs 20;" f
aGasCloud src/Dodge/Gas.hs 15;" f
aRadarPulse src/Dodge/RadarSweep.hs 20;" f
aShape src/Dodge/Placement/Instance/LightSource.hs 93;" f
aShape src/Dodge/Placement/Instance/LightSource.hs 94;" f
aSound src/Dodge/SoundLogic.hs 74;" f
aTreeStrut src/Dodge/Tree/GenerateStructure.hs 42;" f
accessTerminal src/Dodge/WorldEffect.hs 63;" f
@@ -2882,8 +2883,8 @@ clsNearPoint src/Dodge/Zoning/Cloud.hs 9;" f
clsNearRect src/Dodge/Zoning/Cloud.hs 18;" f
clsNearSeg src/Dodge/Zoning/Cloud.hs 15;" f
cogRaised src/Dodge/Creature/Perception.hs 101;" f
colCrWall src/Dodge/WallCreatureCollisions.hs 25;" f
colCrsWalls src/Dodge/WallCreatureCollisions.hs 17;" f
colCrWall src/Dodge/WallCreatureCollisions.hs 30;" f
colCrsWalls src/Dodge/WallCreatureCollisions.hs 22;" f
collectDamageTypes src/Dodge/Damage.hs 53;" f
collectInvItems src/Dodge/Inventory.hs 205;" f
collide3 src/Dodge/Base/Collide.hs 129;" f
@@ -3294,8 +3295,8 @@ doWorldPos src/Dodge/WorldPos.hs 10;" f
door src/Dodge/Room/Door.hs 14;" f
doorBetween src/Dodge/Placement/Instance/Door.hs 34;" f
doorCor src/Dodge/Room/Room.hs 400;" f
doorLerp src/Dodge/Door.hs 41;" f
doorLerpWithTimer src/Dodge/Door.hs 72;" f
doorLerp src/Dodge/Door.hs 42;" f
doorLerpWithTimer src/Dodge/Door.hs 75;" f
dotV src/Geometry/Vector.hs 76;" f
dotV3 src/Geometry/Vector3D.hs 119;" f
doubleCorridorBarrels src/Dodge/Room/Room.hs 291;" f
@@ -3772,7 +3773,7 @@ horPipe src/Dodge/Placement/Instance/Pipe.hs 9;" f
hotkeyToChar src/Dodge/Inventory/SelectionList.hs 185;" f
hotkeyToScancode src/Dodge/Creature/YourControl.hs 82;" f
hotkeyToString src/Dodge/Inventory/SelectionList.hs 182;" f
iShape src/Dodge/Placement/Instance/LightSource.hs 56;" f
iShape src/Dodge/Placement/Instance/LightSource.hs 57;" f
icosahedronPoints src/Polyhedra/Geodesic.hs 12;" f
icosohedronFaces src/Polyhedra/Geodesic.hs 19;" f
inLink src/Dodge/RoomLink.hs 128;" f
@@ -3946,7 +3947,7 @@ itmBaseInfo src/Dodge/Item/Info.hs 30;" f
itmEquipSiteInfo src/Dodge/Item/Info.hs 250;" f
itmSpaceInfo src/Dodge/Item/Info.hs 25;" f
itmUsageInfo src/Dodge/Item/Info.hs 230;" f
jShape src/Dodge/Placement/Instance/LightSource.hs 71;" f
jShape src/Dodge/Placement/Instance/LightSource.hs 72;" f
joinItemsInList src/Dodge/Item/Grammar.hs 215;" f
joystick src/Dodge/Item/Scope.hs 158;" f
jps0' src/Dodge/LevelGen/PlacementHelper.hs 61;" f
@@ -3969,7 +3970,7 @@ lChasm src/Dodge/Room/Tutorial.hs 145;" f
lConnect src/Dodge/Render/Connectors.hs 43;" f
lConnectCol src/Dodge/Render/Connectors.hs 46;" f
lConnectMulti src/Dodge/Render/Connectors.hs 51;" f
lShape src/Dodge/Placement/Instance/LightSource.hs 59;" f
lShape src/Dodge/Placement/Instance/LightSource.hs 60;" f
lamp src/Dodge/Creature/Lamp.hs 18;" f
lampCrSPic src/Dodge/Render/ShapePicture.hs 125;" f
lasCenRunClose' src/Dodge/Room/LasTurret.hs 309;" f
@@ -4006,7 +4007,7 @@ leftRightCombine src/Dodge/Item/Grammar.hs 205;" f
leftWristPQ src/Dodge/Creature/HandPos.hs 86;" f
legsSPic src/Dodge/Item/Draw/SPic.hs 448;" f
lerpP2A src/Dodge/ShiftPoint.hs 14;" f
liShape src/Dodge/Placement/Instance/LightSource.hs 84;" f
liShape src/Dodge/Placement/Instance/LightSource.hs 85;" f
light src/Color.hs 131;" f
lightSensByDoor src/Dodge/Room/LasTurret.hs 77;" f
lightSensInsideDoor src/Dodge/Room/LasTurret.hs 64;" f
@@ -4233,12 +4234,12 @@ mkDustCloudLike src/Shader/Poke/Cloud.hs 27;" f
mkGraphFromEdges src/GraphHelp.hs 4;" f
mkNode src/Dodge/Graph.hs 29;" f
mkRectangle src/Dodge/LevelGen/DoorPane.hs 7;" f
mntLS src/Dodge/Placement/Instance/LightSource.hs 105;" f
mntLSCond src/Dodge/Placement/Instance/LightSource.hs 110;" f
mntLSOn src/Dodge/Placement/Instance/LightSource.hs 35;" f
mntLightLnkCond src/Dodge/Placement/Instance/LightSource.hs 127;" f
mntLightLnkCond' src/Dodge/Placement/Instance/LightSource.hs 135;" f
mntLightLnkShape src/Dodge/Placement/Instance/LightSource.hs 132;" f
mntLS src/Dodge/Placement/Instance/LightSource.hs 106;" f
mntLSCond src/Dodge/Placement/Instance/LightSource.hs 111;" f
mntLSOn src/Dodge/Placement/Instance/LightSource.hs 36;" f
mntLightLnkCond src/Dodge/Placement/Instance/LightSource.hs 128;" f
mntLightLnkCond' src/Dodge/Placement/Instance/LightSource.hs 136;" f
mntLightLnkShape src/Dodge/Placement/Instance/LightSource.hs 133;" f
modTo src/Geometry/Zone.hs 18;" f
mouseClickOptionsList src/Dodge/Update/Input/ScreenLayer.hs 70;" f
mouseCursorType src/Dodge/Render/Picture.hs 90;" f
@@ -4303,7 +4304,7 @@ nextInSectionSS src/Dodge/SelectionSections.hs 34;" f
nextLayoutInt src/Dodge/Data/MetaTree.hs 44;" f
noPic src/ShapePicture.hs 25;" f
noShape src/ShapePicture.hs 29;" f
noclipCheck src/Dodge/WallCreatureCollisions.hs 20;" f
noclipCheck src/Dodge/WallCreatureCollisions.hs 25;" f
nodesNear src/Dodge/Path.hs 75;" f
nonConvexChasm src/Dodge/Room/Tutorial.hs 260;" f
nonCornerLinks src/Dodge/Room/SensorDoor.hs 53;" f
@@ -4554,10 +4555,10 @@ psposAddLabel src/Dodge/PlacementSpot.hs 71;" f
pt0 src/Dodge/LevelGen/PlacementHelper.hs 55;" f
ptCont src/Dodge/LevelGen/PlacementHelper.hs 21;" f
pulseChecker src/Dodge/Item/Equipment.hs 84;" f
pushCr src/Dodge/WallCreatureCollisions.hs 40;" f
pushCr src/Dodge/WallCreatureCollisions.hs 45;" f
pushL src/DoubleStack.hs 20;" f
pushOutFromCorners src/Dodge/WallCreatureCollisions.hs 87;" f
pushOutFromWall src/Dodge/WallCreatureCollisions.hs 76;" f
pushOutFromCorners src/Dodge/WallCreatureCollisions.hs 116;" f
pushOutFromWall src/Dodge/WallCreatureCollisions.hs 105;" f
pushR src/DoubleStack.hs 24;" f
pushScreen src/Dodge/Menu/PushPop.hs 9;" f
pushYouOutFromWalls src/Dodge/Update.hs 342;" f
@@ -4570,7 +4571,7 @@ putDoor src/Dodge/Room/Airlock.hs 116;" f
putDoubleDoor src/Dodge/Placement/Instance/Door.hs 17;" f
putDoubleDoorThen src/Dodge/Placement/Instance/Door.hs 20;" f
putImmediateMessageTerminal src/Dodge/Placement/Instance/Terminal.hs 60;" f
putLamp src/Dodge/Placement/Instance/LightSource.hs 187;" f
putLamp src/Dodge/Placement/Instance/LightSource.hs 197;" f
putLasTurret src/Dodge/Placement/Instance/Turret.hs 23;" f
putLitButOnPos src/Dodge/Placement/Instance/Button.hs 64;" f
putLitButOnPosExtTrig src/Dodge/Placement/Instance/Button.hs 97;" f
@@ -5011,9 +5012,10 @@ slapClean7S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 747;" f
slapS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 667;" f
slideDoorS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 629;" f
slideWindow src/ListHelp.hs 81;" f
slowCrush90 src/Dodge/Room/LongDoor.hs 188;" f
slowCrushRoom src/Dodge/Room/LongDoor.hs 144;" f
slowDoorRoom src/Dodge/Room/LongDoor.hs 176;" f
slowDoorRoomRunPast src/Dodge/Room/LongDoor.hs 193;" f
slowDoorRoom src/Dodge/Room/LongDoor.hs 234;" f
slowDoorRoomRunPast src/Dodge/Room/LongDoor.hs 251;" f
smallBattery src/Dodge/Item/Ammo.hs 57;" f
smallBranch src/Dodge/Tree/GenerateStructure.hs 32;" f
smallChaseCrit src/Dodge/Creature/ChaseCrit.hs 14;" f
@@ -5050,11 +5052,12 @@ soundWithStatus src/Dodge/SoundLogic.hs 104;" f
soundWithStatusVolume src/Dodge/SoundLogic.hs 54;" f
southPillarsRoom src/Dodge/Room/LongDoor.hs 86;" f
spaceAction src/Dodge/Update/Input/InGame.hs 504;" f
spanColLightBlackI src/Dodge/Placement/Instance/LightSource.hs 160;" f
spanColLightI src/Dodge/Placement/Instance/LightSource.hs 153;" f
spanLS src/Dodge/Placement/Instance/LightSource.hs 145;" f
spanLightI src/Dodge/Placement/Instance/LightSource.hs 167;" f
spanLightY src/Dodge/Placement/Instance/LightSource.hs 171;" f
spanColLightBlackI src/Dodge/Placement/Instance/LightSource.hs 161;" f
spanColLightI src/Dodge/Placement/Instance/LightSource.hs 154;" f
spanLS src/Dodge/Placement/Instance/LightSource.hs 146;" f
spanLightI src/Dodge/Placement/Instance/LightSource.hs 168;" f
spanLightL src/Dodge/Placement/Instance/LightSource.hs 182;" f
spanLightY src/Dodge/Placement/Instance/LightSource.hs 172;" f
sparkDam src/Dodge/Spark.hs 37;" f
sparkRandDir src/Dodge/Spark.hs 117;" f
sparkToDamage src/Dodge/Spark.hs 40;" f
@@ -5081,7 +5084,7 @@ sqPlatformChasm src/Dodge/Room/Tutorial.hs 225;" f
sqSpitChasm src/Dodge/Room/Tutorial.hs 240;" f
square src/Geometry/Polygon.hs 56;" f
squareDecoration src/Dodge/Placement/TopDecoration.hs 48;" f
squashIntersectCirclePoint src/Dodge/WallCreatureCollisions.hs 90;" f
squashIntersectCirclePoint src/Dodge/WallCreatureCollisions.hs 119;" f
squashNormalizeV src/Geometry/Vector.hs 158;" f
ssLookupDown src/Dodge/SelectionSections.hs 96;" f
ssLookupGE' src/Dodge/SelectionSections.hs 150;" f
@@ -5550,7 +5553,7 @@ vCen3 src/Geometry/Vector3D.hs 115;" f
vInverse src/Geometry/Vector.hs 154;" f
vNormal src/Geometry/Vector.hs 149;" f
vNormaly src/Geometry/Vector3D.hs 72;" f
vShape src/Dodge/Placement/Instance/LightSource.hs 98;" f
vShape src/Dodge/Placement/Instance/LightSource.hs 99;" f
vToL src/MatrixHelper.hs 56;" f
vToQuat src/Quaternion.hs 42;" f
validTerminalCommands src/Dodge/Debug/Terminal.hs 137;" f
@@ -5578,8 +5581,9 @@ volleyGunShape src/Dodge/Item/Draw/SPic.hs 355;" f
walkNozzle src/Dodge/HeldUse.hs 826;" f
walkableNodeNear src/Dodge/Path.hs 69;" f
wallBlips src/Dodge/RadarSweep.hs 99;" f
wallBuffer src/Dodge/WallCreatureCollisions.hs 71;" f
wallBuffer src/Dodge/WallCreatureCollisions.hs 100;" f
wallIsZeroLength src/Dodge/LevelGen/StaticWalls.hs 179;" f
wallMovement src/Dodge/WallCreatureCollisions.hs 71;" f
wallToSurface src/Dodge/Base/Collide.hs 182;" f
wallsFromRooms src/Dodge/Layout.hs 141;" f
wallsToDraw src/Dodge/Render/Walls.hs 18;" f
@@ -5633,9 +5637,11 @@ wlIsOpaque src/Dodge/Base/Wall.hs 6;" f
wlIsSeeThrough src/Dodge/Base/Wall.hs 11;" f
wlOpaqueDraw src/Dodge/Render/Walls.hs 53;" f
wlSeeThroughDraw src/Dodge/Render/Walls.hs 56;" f
wlWlCrush src/Dodge/WallCreatureCollisions.hs 65;" f
wlWlCrush src/Dodge/WallCreatureCollisions.hs 87;" f
wlWlCrush' src/Dodge/WallCreatureCollisions.hs 92;" f
wlZoneSize src/Dodge/Zoning/Wall.hs 51;" f
wlsCrush src/Dodge/WallCreatureCollisions.hs 61;" f
wlsCrush src/Dodge/WallCreatureCollisions.hs 79;" f
wlsCrush' src/Dodge/WallCreatureCollisions.hs 83;" f
wlsFromIXs src/Dodge/Zoning/Wall.hs 34;" f
wlsHit src/Dodge/WorldEvent/ThingsHit.hs 156;" f
wlsHitRadial src/Dodge/WorldEvent/ThingsHit.hs 168;" f