Remove external corpses, handle them as creatures

This commit is contained in:
2025-09-25 09:31:58 +01:00
parent fcb02850d0
commit 23f61081cf
33 changed files with 184 additions and 159 deletions
+56 -53
View File
@@ -15,7 +15,7 @@
<$> src/Dodge/Data/ActionPlan.hs 203;" o
<$> src/Dodge/Data/CWorld.hs 47;" o
<$> src/Dodge/Data/Camera.hs 39;" o
<$> src/Dodge/Data/Creature.hs 81;" o
<$> src/Dodge/Data/Creature.hs 89;" o
<$> src/Dodge/Data/LWorld.hs 183;" o
<$> src/Dodge/Data/Terminal.hs 70;" o
ABSOLUTE src/Dodge/Data/Item/Combine.hs 40;" C
@@ -264,12 +264,16 @@ CrGroup src/Dodge/Data/Creature/State.hs 25;" t
CrGroupID src/Dodge/Data/Creature/State.hs 31;" C
CrGroupParams src/Dodge/Data/CrGroupParams.hs 14;" t
CrGroupUpdate src/Dodge/Data/CrGroupParams.hs 22;" t
CrHP src/Dodge/Data/Creature.hs 70;" t
CrHitSound src/Dodge/Data/SoundOrigin.hs 32;" C
CrID src/Dodge/Data/CrWlID.hs 12;" C
CrImp src/Dodge/Data/CreatureEffect.hs 23;" t
CrInt src/Dodge/Data/Item/Location.hs 21;" t
CrIsAiming src/Dodge/Data/CreatureEffect.hs 41;" C
CrIsAnimate src/Dodge/Data/CreatureEffect.hs 42;" C
CrIsCorpse src/Dodge/Data/Creature.hs 72;" C
CrIsGibs src/Dodge/Data/Creature.hs 73;" C
CrIsPitted src/Dodge/Data/Creature.hs 74;" C
CrMouth src/Dodge/Data/SoundOrigin.hs 18;" C
CrMvType src/Dodge/Data/Creature/Misc.hs 28;" t
CrMvType src/Dodge/Data/Creature/Misc.hs 31;" C
@@ -289,7 +293,7 @@ CraftClust src/Dodge/Combine/Graph.hs 20;" C
CraftType src/Dodge/Data/Item/Combine.hs 50;" 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 38;" t
Creature src/Dodge/Data/Creature.hs 39;" t
CreaturePart src/Dodge/Data/Wall/Structure.hs 17;" C
CreatureShape src/Dodge/Data/Creature/Misc.hs 76;" t
CreatureType src/Dodge/Data/Creature/Misc.hs 60;" t
@@ -533,6 +537,7 @@ HEATSENSOR src/Dodge/Data/Item/Combine.hs 83;" C
HELD src/Dodge/Data/Item/Combine.hs 17;" C
HOMINGMODULE src/Dodge/Data/Item/Combine.hs 102;" C
HOSE src/Dodge/Data/Item/Combine.hs 55;" C
HP src/Dodge/Data/Creature.hs 71;" C
HUD src/Dodge/Data/HUD.hs 31;" t
HalfRes src/Dodge/Data/Config.hs 97;" C
HammerTrigger src/Dodge/Data/TriggerType.hs 10;" C
@@ -599,7 +604,7 @@ Institution src/Dodge/Data/Scenario.hs 42;" t
Int2 src/Geometry/Data.hs 21;" t
IntID src/Dodge/Data/Universe.hs 110;" t
IntImp src/Dodge/Data/CreatureEffect.hs 20;" t
Intention src/Dodge/Data/Creature.hs 69;" t
Intention src/Dodge/Data/Creature.hs 76;" t
IntersectingRoomClipBoundaries src/Dodge/Data/Config.hs 107;" C
IntroScanSF src/Dodge/Data/ComposedItem.hs 21;" C
IntroScanType src/Dodge/Data/Item/Combine.hs 45;" t
@@ -1697,36 +1702,36 @@ _cpRes src/Dodge/Data/Corpse.hs 22;" f
_cpSPic src/Dodge/Data/Corpse.hs 21;" f
_cpVigilance src/Dodge/Data/Creature/Perception.hs 33;" f
_cpVision src/Dodge/Data/Creature/Perception.hs 36;" f
_crActionPlan src/Dodge/Data/Creature.hs 55;" f
_crDamage src/Dodge/Data/Creature.hs 52;" f
_crDeathTimer src/Dodge/Data/Creature.hs 64;" f
_crDir src/Dodge/Data/Creature.hs 43;" f
_crEquipment src/Dodge/Data/Creature.hs 51;" f
_crFaction src/Dodge/Data/Creature.hs 59;" f
_crGroup src/Dodge/Data/Creature.hs 60;" f
_crActionPlan src/Dodge/Data/Creature.hs 56;" f
_crDamage src/Dodge/Data/Creature.hs 53;" f
_crDeathTimer src/Dodge/Data/Creature.hs 65;" f
_crDir src/Dodge/Data/Creature.hs 44;" f
_crEquipment src/Dodge/Data/Creature.hs 52;" f
_crFaction src/Dodge/Data/Creature.hs 60;" f
_crGroup src/Dodge/Data/Creature.hs 61;" f
_crGroupCenter src/Dodge/Data/CrGroupParams.hs 17;" f
_crGroupID src/Dodge/Data/Creature/State.hs 29;" f
_crGroupIDs src/Dodge/Data/CrGroupParams.hs 16;" f
_crGroupParamID src/Dodge/Data/CrGroupParams.hs 15;" f
_crGroupUpdate src/Dodge/Data/CrGroupParams.hs 18;" f
_crHP src/Dodge/Data/Creature.hs 48;" f
_crID src/Dodge/Data/Creature.hs 47;" f
_crIntention src/Dodge/Data/Creature.hs 61;" f
_crInv src/Dodge/Data/Creature.hs 49;" f
_crManipulation src/Dodge/Data/Creature.hs 50;" f
_crMemory src/Dodge/Data/Creature.hs 57;" f
_crMvAim src/Dodge/Data/Creature.hs 45;" f
_crMvDir src/Dodge/Data/Creature.hs 44;" f
_crName src/Dodge/Data/Creature.hs 63;" f
_crOldPos src/Dodge/Data/Creature.hs 40;" f
_crPain src/Dodge/Data/Creature.hs 53;" f
_crPerception src/Dodge/Data/Creature.hs 56;" f
_crPos src/Dodge/Data/Creature.hs 39;" f
_crStance src/Dodge/Data/Creature.hs 54;" f
_crType src/Dodge/Data/Creature.hs 46;" f
_crVocalization src/Dodge/Data/Creature.hs 58;" f
_crZ src/Dodge/Data/Creature.hs 41;" f
_crZVel src/Dodge/Data/Creature.hs 42;" f
_crHP src/Dodge/Data/Creature.hs 49;" f
_crID src/Dodge/Data/Creature.hs 48;" f
_crIntention src/Dodge/Data/Creature.hs 62;" f
_crInv src/Dodge/Data/Creature.hs 50;" f
_crManipulation src/Dodge/Data/Creature.hs 51;" f
_crMemory src/Dodge/Data/Creature.hs 58;" f
_crMvAim src/Dodge/Data/Creature.hs 46;" f
_crMvDir src/Dodge/Data/Creature.hs 45;" f
_crName src/Dodge/Data/Creature.hs 64;" f
_crOldPos src/Dodge/Data/Creature.hs 41;" f
_crPain src/Dodge/Data/Creature.hs 54;" f
_crPerception src/Dodge/Data/Creature.hs 57;" f
_crPos src/Dodge/Data/Creature.hs 40;" f
_crStance src/Dodge/Data/Creature.hs 55;" f
_crType src/Dodge/Data/Creature.hs 47;" f
_crVocalization src/Dodge/Data/Creature.hs 59;" f
_crZ src/Dodge/Data/Creature.hs 42;" f
_crZVel src/Dodge/Data/Creature.hs 43;" f
_crZoning src/Dodge/Data/World.hs 48;" f
_creatureGroups src/Dodge/Data/LWorld.hs 101;" f
_creatures src/Dodge/Data/LWorld.hs 100;" f
@@ -2070,7 +2075,7 @@ _mtTree src/Dodge/Data/MetaTree.hs 12;" f
_musicData src/Data/Preload.hs 13;" f
_mvAimSpeed src/Dodge/Data/Creature/Misc.hs 35;" f
_mvSpeed src/Dodge/Data/Creature/Misc.hs 30;" f
_mvToPoint src/Dodge/Data/Creature.hs 71;" f
_mvToPoint src/Dodge/Data/Creature.hs 78;" f
_mvTurnJit src/Dodge/Data/Creature/Misc.hs 34;" f
_mvTurnRad src/Dodge/Data/Creature/Misc.hs 33;" f
_mzAmmoSlot src/Dodge/Data/Muzzle.hs 13;" f
@@ -2377,7 +2382,7 @@ _swarm src/Dodge/Data/Creature/State.hs 28;" f
_taArcSteps src/Dodge/Data/TeslaArc.hs 19;" f
_taColor src/Dodge/Data/TeslaArc.hs 20;" f
_taTimer src/Dodge/Data/TeslaArc.hs 18;" f
_targetCr src/Dodge/Data/Creature.hs 70;" f
_targetCr src/Dodge/Data/Creature.hs 77;" f
_targetID src/Dodge/Data/ActionPlan.hs 85;" f
_targetSeenAt src/Dodge/Data/ActionPlan.hs 86;" f
_tbPos src/Dodge/Data/TractorBeam.hs 14;" f
@@ -2491,7 +2496,7 @@ _vcMaxCoolDown src/Dodge/Data/Creature/Misc.hs 23;" f
_vertices src/Polyhedra/Data.hs 22;" f
_viDist src/Dodge/Data/Creature/Perception.hs 43;" f
_viFOV src/Dodge/Data/Creature/Perception.hs 42;" f
_viewPoint src/Dodge/Data/Creature.hs 72;" f
_viewPoint src/Dodge/Data/Creature.hs 79;" f
_volleyNumBarrels src/Dodge/Data/TriggerType.hs 13;" f
_volleyRate src/Dodge/Data/TriggerType.hs 13;" f
_volume_master src/Dodge/Data/Config.hs 39;" f
@@ -2834,12 +2839,12 @@ chaseCritAwarenessUpdate src/Dodge/Creature/Perception.hs 70;" f
chaseCritMv src/Dodge/Creature/ReaderUpdate.hs 114;" f
chaseCritPerceptionUpdate src/Dodge/Creature/Perception.hs 31;" f
chaseCritVocalization src/Dodge/Creature/ChaseCrit.hs 37;" f
chasmTest src/Dodge/Creature/Update.hs 122;" f
chasmTest src/Dodge/Creature/Update.hs 135;" f
chasmWallToSurface src/Dodge/Base/Collide.hs 110;" f
checkCombineSelectionExists src/Dodge/DisplayInventory.hs 100;" f
checkConnection src/Dodge/Inventory/Swap.hs 65;" f
checkDeath src/Dodge/Creature/Update.hs 68;" f
checkDeath' src/Dodge/Creature/Update.hs 71;" f
checkDeath src/Dodge/Creature/Update.hs 69;" f
checkDeath' src/Dodge/Creature/Update.hs 72;" f
checkEndGame src/Dodge/Update.hs 754;" f
checkErrorGL src/Shader/Compile.hs 255;" f
checkFBO src/Framebuffer/Check.hs 6;" f
@@ -2941,7 +2946,7 @@ combineRooms src/Dodge/Room/Procedural.hs 151;" f
combineS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 480;" f
combineTree src/Dodge/Tree/Compose.hs 67;" f
commandColor src/Dodge/Terminal.hs 114;" f
commonPrefix src/Dodge/Debug/Terminal.hs 148;" f
commonPrefix src/Dodge/Debug/Terminal.hs 149;" f
comp src/Quaternion.hs 65;" f
compactDraw src/Dodge/LevelGen.hs 95;" f
compactDraw' src/Dodge/LevelGen.hs 106;" f
@@ -2969,7 +2974,7 @@ copierItemUpdate src/Dodge/Creature/State.hs 130;" f
copyItemToFloor src/Dodge/FloorItem.hs 14;" f
corDoor src/Dodge/Room/Room.hs 375;" f
cornerList src/Preload/Render.hs 198;" f
corpseOrGib src/Dodge/Creature/Update.hs 102;" f
corpseOrGib src/Dodge/Creature/Update.hs 110;" f
corridor src/Dodge/Room/Corridor.hs 17;" f
corridorBoss src/Dodge/LockAndKey.hs 133;" f
corridorN src/Dodge/Room/Corridor.hs 52;" f
@@ -3010,7 +3015,7 @@ crShape src/Dodge/Creature/Shape.hs 8;" f
crSpring src/Dodge/Update.hs 852;" f
crStratConMatches src/Dodge/Creature/Test.hs 77;" f
crStrength src/Dodge/Creature/Statistics.hs 29;" f
crUpdate' src/Dodge/Creature/Update.hs 57;" f
crUpdate' src/Dodge/Creature/Update.hs 58;" f
crUpdateInvidLocations src/Dodge/Inventory/Location.hs 66;" f
crUpdateItemLocations src/Dodge/Inventory/Location.hs 48;" f
crVocalizationSound src/Dodge/Creature/Vocalization.hs 13;" f
@@ -3077,7 +3082,7 @@ cylinderRoundIndices src/Shader/Poke.hs 389;" f
dShadCol src/Dodge/Render/List.hs 214;" f
damMatSideEffect src/Dodge/Material/Damage.hs 13;" f
damThingHitWith src/Dodge/Damage.hs 72;" f
damToExpBarrel src/Dodge/Barreloid.hs 49;" f
damToExpBarrel src/Dodge/Barreloid.hs 51;" f
damageCodeCommand src/Dodge/Terminal.hs 59;" f
damageCrWl src/Dodge/Damage.hs 29;" f
damageCrWlID src/Dodge/Damage.hs 23;" f
@@ -3092,7 +3097,7 @@ damageStone src/Dodge/Material/Damage.hs 25;" f
damageThingHit src/Dodge/Bullet.hs 177;" f
damageTypeThreshold src/Dodge/Placement/Instance/Sensor.hs 35;" f
damageWall src/Dodge/Wall/Damage.hs 15;" f
damsToExpBarrel src/Dodge/Barreloid.hs 46;" f
damsToExpBarrel src/Dodge/Barreloid.hs 48;" f
dark src/Color.hs 108;" f
darkenBackground src/Dodge/Render/MenuScreen.hs 32;" f
dbArg src/Dodge/Base.hs 165;" f
@@ -3146,7 +3151,6 @@ defaultCWorld src/Dodge/Default/World.hs 82;" f
defaultChaseMvType src/Dodge/Creature/MoveType.hs 25;" f
defaultClusterStatus src/Dodge/Default/Room.hs 37;" f
defaultConfig src/Dodge/Data/Config.hs 127;" f
defaultCorpse src/Dodge/Corpse/Make.hs 32;" f
defaultCraftItem src/Dodge/Default/Item.hs 25;" f
defaultCreature src/Dodge/Default/Creature.hs 12;" f
defaultCreatureMemory src/Dodge/Default/Creature.hs 65;" f
@@ -3190,7 +3194,6 @@ deleteWallIDs src/Dodge/Wall/Delete.hs 28;" f
denormalEdges src/Polyhedra.hs 136;" f
destroyAllInvItems src/Dodge/Inventory.hs 52;" f
destroyBlock src/Dodge/Block.hs 52;" f
destroyCreature src/Dodge/Creature/Update.hs 94;" f
destroyDoor src/Dodge/Block.hs 80;" f
destroyInvItem src/Dodge/Inventory.hs 39;" f
destroyItem src/Dodge/Inventory.hs 61;" f
@@ -3456,7 +3459,7 @@ drawWlIDs src/Dodge/Debug/Picture.hs 383;" f
drawZoneCirc src/Dodge/Debug/Picture.hs 291;" f
drawZoneCol src/Dodge/Debug/Picture.hs 148;" f
drawZoneNearPointCursor src/Dodge/Debug/Picture.hs 284;" f
dropAll src/Dodge/Creature/Update.hs 119;" f
dropAll src/Dodge/Creature/Update.hs 132;" f
dropExcept src/Dodge/Creature/Action.hs 167;" f
dropInventoryPath src/Dodge/HeldUse.hs 1396;" f
dropItem src/Dodge/Creature/Action.hs 174;" f
@@ -3688,7 +3691,7 @@ getRootItemBounds src/Dodge/Render/HUD.hs 100;" f
getRootItemInvID src/Dodge/Inventory/Location.hs 35;" f
getSelectedCloseObj src/Dodge/SelectedClose.hs 14;" f
getSmoothScrollValue src/Dodge/SmoothScroll.hs 21;" f
getSplitString src/Dodge/Debug/Terminal.hs 128;" f
getSplitString src/Dodge/Debug/Terminal.hs 129;" f
getTiles src/Dodge/Layout.hs 193;" f
getViewpoints src/Dodge/Viewpoints.hs 29;" f
getVolleyBurst src/Dodge/HeldUse.hs 125;" f
@@ -3914,7 +3917,7 @@ isRHS src/Geometry/LHS.hs 24;" f
isUnusedLnk src/Dodge/PlacementSpot.hs 62;" f
isUnusedLnkType src/Dodge/PlacementSpot.hs 195;" f
isUsedLnkUnplaced src/Dodge/PlacementSpot.hs 181;" f
isValidCommand src/Dodge/Debug/Terminal.hs 133;" f
isValidCommand src/Dodge/Debug/Terminal.hs 134;" f
isVowel src/StringHelp.hs 8;" f
isWalkable src/Dodge/Base/Collide.hs 317;" f
isoMatrix src/MatrixHelper.hs 30;" f
@@ -4065,7 +4068,7 @@ loadSeed src/Dodge/LoadSeed.hs 7;" f
loadSound src/Dodge/SoundLogic/LoadSound.hs 11;" f
loadSounds src/Dodge/SoundLogic/LoadSound.hs 18;" f
loadingScreen src/Dodge/Concurrent.hs 56;" f
loadme src/Dodge/Debug/Terminal.hs 141;" f
loadme src/Dodge/Debug/Terminal.hs 142;" f
locDTGoHelp src/Dodge/DoubleTree.hs 348;" f
locDTGoLeft src/Dodge/DoubleTree.hs 329;" f
locDTGoRight src/Dodge/DoubleTree.hs 334;" f
@@ -4091,7 +4094,7 @@ longBlockedCorridor src/Dodge/Room/RoadBlock.hs 58;" f
longCrit src/Dodge/Creature.hs 70;" f
longRoom src/Dodge/Room/LongRoom.hs 22;" f
longRoomRunPast src/Dodge/Room/LongRoom.hs 48;" f
longestCommonPrefix src/Dodge/Debug/Terminal.hs 144;" f
longestCommonPrefix src/Dodge/Debug/Terminal.hs 145;" f
lookupTrie src/SimpleTrie.hs 30;" f
loopPairs src/ListHelp.hs 30;" f
lootRoom src/Dodge/Room/Treasure.hs 58;" f
@@ -4130,7 +4133,7 @@ makeByteStringShaderUsingVAO src/Shader/Compile.hs 128;" f
makeCloudAt src/Dodge/WorldEvent/Cloud.hs 7;" f
makeColorTermLine src/Dodge/Terminal.hs 111;" f
makeColorTermPara src/Dodge/Terminal.hs 108;" f
makeCorpse src/Dodge/Corpse/Make.hs 13;" f
makeCorpse src/Dodge/Corpse/Make.hs 14;" f
makeDebris src/Dodge/Block/Debris.hs 45;" f
makeDebrisDirected src/Dodge/Block/Debris.hs 48;" f
makeDoorDebris src/Dodge/Block/Debris.hs 24;" f
@@ -4499,7 +4502,7 @@ pointerToItemID src/Dodge/Item/Location.hs 42;" f
pointerYourRootItem src/Dodge/Item/Location.hs 33;" f
pointerYourSelectedItem src/Dodge/Item/Location.hs 26;" f
pointsToPoly src/Geometry/ConvexPoly.hs 37;" f
poisonSPic src/Dodge/Creature/Update.hs 115;" f
poisonSPic src/Dodge/Creature/Update.hs 128;" f
poisonSprayer src/Dodge/Item/Held/SprayGuns.hs 17;" f
poke34 src/Shader/Poke.hs 506;" f
pokeArrayOff src/Shader/Poke.hs 517;" f
@@ -4866,7 +4869,7 @@ scaleSH src/Shape.hs 269;" f
scalp src/Dodge/Creature/Picture.hs 93;" f
scancodeToHotkey src/Dodge/Creature/YourControl.hs 101;" f
scodeToChar src/Dodge/ScodeToChar.hs 6;" f
scorchSPic src/Dodge/Creature/Update.hs 112;" f
scorchSPic src/Dodge/Creature/Update.hs 125;" f
screenBox src/Dodge/Base/Window.hs 53;" f
screenPolygon src/Dodge/Base/Window.hs 17;" f
screenPolygonBord src/Dodge/Base/Window.hs 27;" f
@@ -5423,7 +5426,7 @@ updateAimPos src/Dodge/Update.hs 302;" f
updateAllNodes src/TreeHelp.hs 85;" f
updateArc src/Dodge/Tesla.hs 44;" f
updateBackspaceRegex src/Dodge/Update/Input/InGame.hs 478;" f
updateBarrel src/Dodge/Barreloid.hs 41;" f
updateBarrel src/Dodge/Barreloid.hs 42;" f
updateBarreloid src/Dodge/Barreloid.hs 15;" f
updateBaseWheelEvent src/Dodge/Update/Scroll.hs 34;" f
updateBounds src/Dodge/Update/Camera.hs 258;" f
@@ -5437,7 +5440,7 @@ updateClouds src/Dodge/Update.hs 652;" f
updateCombinePositioning src/Dodge/DisplayInventory.hs 40;" f
updateCombineSections src/Dodge/DisplayInventory.hs 47;" f
updateCreature src/Dodge/Creature/Update.hs 31;" f
updateCreature' src/Dodge/Creature/Update.hs 39;" f
updateCreature' src/Dodge/Creature/Update.hs 40;" f
updateCreatureGroups src/Dodge/Update.hs 521;" f
updateCreatureSoundPositions src/Dodge/Update.hs 501;" f
updateDebris src/Dodge/Update.hs 556;" f
@@ -5495,7 +5498,7 @@ updatePastWorlds src/Dodge/Update.hs 408;" f
updatePreload src/Preload/Update.hs 20;" f
updateProjectile src/Dodge/Projectile/Update.hs 27;" f
updateProp src/Dodge/Prop/Update.hs 11;" f
updatePulse src/Dodge/Creature/Update.hs 136;" f
updatePulse src/Dodge/Creature/Update.hs 149;" f
updatePulseBall src/Dodge/Update.hs 433;" f
updatePulseLaser src/Dodge/Update.hs 596;" f
updatePulseLasers src/Dodge/Update.hs 428;" f
@@ -5581,7 +5584,7 @@ vNormaly src/Geometry/Vector3D.hs 72;" f
vShape src/Dodge/Placement/Instance/LightSource.hs 113;" f
vToL src/MatrixHelper.hs 46;" f
vToQuat src/Quaternion.hs 46;" f
validTerminalCommands src/Dodge/Debug/Terminal.hs 136;" f
validTerminalCommands src/Dodge/Debug/Terminal.hs 137;" f
vasTightStride src/Shader/Compile.hs 297;" f
vecBetweenSpeed src/Dodge/Base.hs 146;" f
vecTurnTo src/Dodge/Movement/Turn.hs 19;" f