Improve doors
This commit is contained in:
@@ -205,8 +205,8 @@ ChaseCrit src/Dodge/Data/Creature/Misc.hs 68;" C
|
||||
ChaseCritters src/Dodge/Data/Creature/State.hs 16;" C
|
||||
ChasmObstacle src/Dodge/Data/PathGraph.hs 51;" C
|
||||
ChemFuel src/Dodge/Data/Item/Use/Consumption/Ammo.hs 14;" C
|
||||
ChooseMovementLtAuto src/Dodge/Data/CreatureEffect.hs 29;" C
|
||||
ChooseMovementSpreadGun src/Dodge/Data/CreatureEffect.hs 28;" C
|
||||
ChooseMovementLtAuto src/Dodge/Data/CreatureEffect.hs 30;" C
|
||||
ChooseMovementSpreadGun src/Dodge/Data/CreatureEffect.hs 29;" C
|
||||
Circ_collision_test src/Dodge/Data/Config.hs 99;" C
|
||||
Climate src/Dodge/Data/Scenario.hs 32;" C
|
||||
CloseToMelee src/Dodge/Data/ActionPlan.hs 139;" C
|
||||
@@ -240,7 +240,7 @@ CookDeath src/Dodge/Data/Creature.hs 68;" C
|
||||
CookingDamage src/Dodge/Data/Damage/Type.hs 5;" C
|
||||
Corporation src/Dodge/Data/Scenario.hs 46;" C
|
||||
Cosmic src/Dodge/Data/Scenario.hs 74;" C
|
||||
CrAc src/Dodge/Data/CreatureEffect.hs 23;" t
|
||||
CrAc src/Dodge/Data/CreatureEffect.hs 24;" t
|
||||
CrArcNode src/Dodge/Data/LWorld.hs 164;" C
|
||||
CrBl src/Dodge/Data/CreatureEffect.hs 20;" t
|
||||
CrCanShoot src/Dodge/Data/CreatureEffect.hs 20;" C
|
||||
@@ -262,10 +262,11 @@ CrIsPitted src/Dodge/Data/Creature.hs 66;" C
|
||||
CrMouth src/Dodge/Data/SoundOrigin.hs 16;" C
|
||||
CrMvType src/Dodge/Data/Creature/Misc.hs 26;" t
|
||||
CrMvType src/Dodge/Data/Creature/Misc.hs 29;" C
|
||||
CrOpenAutoDoor src/Dodge/Data/CreatureEffect.hs 21;" C
|
||||
CrSound src/Dodge/Data/SoundOrigin.hs 15;" C
|
||||
CrTurnAround src/Dodge/Data/CreatureEffect.hs 23;" C
|
||||
CrWdAc src/Dodge/Data/CreatureEffect.hs 26;" t
|
||||
CrWdBFSThenReturn src/Dodge/Data/CreatureEffect.hs 27;" C
|
||||
CrTurnAround src/Dodge/Data/CreatureEffect.hs 24;" C
|
||||
CrWdAc src/Dodge/Data/CreatureEffect.hs 27;" t
|
||||
CrWdBFSThenReturn src/Dodge/Data/CreatureEffect.hs 28;" C
|
||||
CrWeaponFailSound src/Dodge/Data/SoundOrigin.hs 20;" C
|
||||
CrWeaponSound src/Dodge/Data/SoundOrigin.hs 18;" C
|
||||
CrWlID src/Dodge/Data/CrWlID.hs 10;" t
|
||||
@@ -342,8 +343,9 @@ 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 43;" C
|
||||
DoorLerp src/Dodge/Data/Door.hs 43;" C
|
||||
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
|
||||
DoubleRes src/Dodge/Data/Config.hs 113;" C
|
||||
@@ -1763,7 +1765,8 @@ _drFootPrint src/Dodge/Data/Door.hs 36;" f
|
||||
_drHP src/Dodge/Data/Door.hs 37;" f
|
||||
_drID src/Dodge/Data/Door.hs 30;" f
|
||||
_drLerp src/Dodge/Data/Door.hs 35;" f
|
||||
_drLerpSpeed src/Dodge/Data/Door.hs 43;" 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
|
||||
_drOnePos src/Dodge/Data/Door.hs 34;" f
|
||||
_drPushedBy src/Dodge/Data/Door.hs 38;" f
|
||||
@@ -2560,13 +2563,13 @@ aimDelaySweep src/Dodge/Render/Picture.hs 285;" f
|
||||
aimStanceInfo src/Dodge/Item/Info.hs 242;" f
|
||||
aimTurn src/Dodge/Creature/YourControl.hs 181;" f
|
||||
airlock src/Dodge/Room/Airlock.hs 28;" f
|
||||
airlock0 src/Dodge/Room/Airlock.hs 78;" f
|
||||
airlock90 src/Dodge/Room/Airlock.hs 199;" f
|
||||
airlockCrystal src/Dodge/Room/Airlock.hs 249;" f
|
||||
airlockDoubleDoor src/Dodge/Room/Airlock.hs 102;" f
|
||||
airlockSimple src/Dodge/Room/Airlock.hs 127;" f
|
||||
airlockZ src/Dodge/Room/Airlock.hs 164;" f
|
||||
allVisibleWalls src/Dodge/Base/Collide.hs 224;" f
|
||||
airlock0 src/Dodge/Room/Airlock.hs 79;" f
|
||||
airlock90 src/Dodge/Room/Airlock.hs 200;" f
|
||||
airlockCrystal src/Dodge/Room/Airlock.hs 250;" f
|
||||
airlockDoubleDoor src/Dodge/Room/Airlock.hs 103;" f
|
||||
airlockSimple src/Dodge/Room/Airlock.hs 128;" f
|
||||
airlockZ src/Dodge/Room/Airlock.hs 165;" f
|
||||
allVisibleWalls src/Dodge/Base/Collide.hs 225;" f
|
||||
alongSegBy src/Geometry.hs 40;" f
|
||||
alteRifle src/Dodge/Item/Held/Cane.hs 22;" f
|
||||
alteRifleAmmoOrient src/Dodge/Item/Orientation.hs 51;" f
|
||||
@@ -2582,7 +2585,7 @@ angleBetween src/Geometry.hs 158;" f
|
||||
angleVV src/Geometry/Vector.hs 58;" f
|
||||
angleVV3 src/Geometry/Vector3D.hs 122;" f
|
||||
anyUnusedSpot src/Dodge/PlacementSpot.hs 68;" f
|
||||
anythingHitCirc src/Dodge/Base/Collide.hs 342;" f
|
||||
anythingHitCirc src/Dodge/Base/Collide.hs 343;" f
|
||||
applyCME src/Dodge/HeldUse.hs 387;" f
|
||||
applyClip src/Dodge/Debug.hs 138;" f
|
||||
applyCreatureDamage src/Dodge/Creature/Damage.hs 14;" f
|
||||
@@ -2759,13 +2762,13 @@ bulletWeapons src/Dodge/Combine/Combinations.hs 247;" f
|
||||
burstRifle src/Dodge/Item/Held/Cane.hs 30;" f
|
||||
buttonFlip src/Dodge/Button/Event.hs 17;" f
|
||||
buzzS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 593;" f
|
||||
cChasm src/Dodge/Room/Tutorial.hs 131;" f
|
||||
cChasm src/Dodge/Room/Tutorial.hs 132;" f
|
||||
cFilledRect src/Dodge/CharacterEnums.hs 6;" f
|
||||
cWireRect src/Dodge/CharacterEnums.hs 10;" f
|
||||
calcSmoothScroll src/Dodge/SmoothScroll.hs 11;" f
|
||||
calcTexCoord src/Tile.hs 19;" f
|
||||
canSee src/Dodge/Base/Collide.hs 328;" f
|
||||
canSeeIndirect src/Dodge/Base/Collide.hs 335;" f
|
||||
canSee src/Dodge/Base/Collide.hs 329;" f
|
||||
canSeeIndirect src/Dodge/Base/Collide.hs 336;" f
|
||||
cancelExamineInventory src/Dodge/Item/BackgroundEffect.hs 23;" f
|
||||
capacitor src/Dodge/Item/Ammo.hs 67;" f
|
||||
card8Vec src/Dodge/Base/CardinalPoint.hs 17;" f
|
||||
@@ -2779,8 +2782,8 @@ cenLasTur src/Dodge/Room/LasTurret.hs 51;" f
|
||||
centerText src/Picture/Base.hs 176;" f
|
||||
centerVaultExplosiveExit src/Dodge/Room/NoNeedWeapon.hs 20;" f
|
||||
centerVaultRoom src/Dodge/Room/Procedural.hs 270;" f
|
||||
centroid src/Geometry/Polygon.hs 177;" f
|
||||
centroidNum src/Geometry/Polygon.hs 180;" f
|
||||
centroid src/Geometry/Polygon.hs 192;" f
|
||||
centroidNum src/Geometry/Polygon.hs 195;" f
|
||||
chainPairs src/Geometry.hs 360;" f
|
||||
changeSwapOther src/Dodge/Inventory.hs 141;" f
|
||||
changeSwapSel src/Dodge/Inventory.hs 134;" f
|
||||
@@ -2794,12 +2797,12 @@ chaseCritInternal src/Dodge/Humanoid.hs 8;" f
|
||||
chaseCritMv src/Dodge/Creature/ReaderUpdate.hs 121;" f
|
||||
chaseCritPerceptionUpdate src/Dodge/Creature/Perception.hs 32;" f
|
||||
chaseCritVocalization src/Dodge/Creature/ChaseCrit.hs 36;" f
|
||||
chasmRotate src/Dodge/Creature/Update.hs 173;" f
|
||||
chasmSimpleMaze src/Dodge/Room/Tutorial.hs 338;" f
|
||||
chasmSpitTerminal src/Dodge/Room/Tutorial.hs 288;" f
|
||||
chasmTestCorpse src/Dodge/Creature/Update.hs 155;" f
|
||||
chasmRotate src/Dodge/Creature/Update.hs 175;" f
|
||||
chasmSimpleMaze src/Dodge/Room/Tutorial.hs 356;" f
|
||||
chasmSpitTerminal src/Dodge/Room/Tutorial.hs 297;" f
|
||||
chasmTestCorpse src/Dodge/Creature/Update.hs 156;" f
|
||||
chasmTestLiving src/Dodge/Creature/Update.hs 137;" f
|
||||
chasmWallToSurface src/Dodge/Base/Collide.hs 118;" f
|
||||
chasmWallToSurface src/Dodge/Base/Collide.hs 119;" f
|
||||
checkCombineSelectionExists src/Dodge/DisplayInventory.hs 100;" f
|
||||
checkConnection src/Dodge/Inventory/Swap.hs 66;" f
|
||||
checkDeath src/Dodge/Creature/Update.hs 78;" f
|
||||
@@ -2820,14 +2823,14 @@ chooseCursorBorders src/Dodge/Render/List.hs 141;" f
|
||||
chooseEquipPosition src/Dodge/Inventory/RBList.hs 41;" f
|
||||
chooseFootSound src/Dodge/Creature/State/WalkCycle.hs 35;" f
|
||||
chooseFreeSite src/Dodge/Inventory/RBList.hs 47;" f
|
||||
chooseMovementLtAuto src/Dodge/CreatureEffect.hs 77;" f
|
||||
chooseMovementSpreadGun src/Dodge/CreatureEffect.hs 60;" f
|
||||
circHitWall src/Dodge/Base/Collide.hs 241;" f
|
||||
chooseMovementLtAuto src/Dodge/CreatureEffect.hs 78;" f
|
||||
chooseMovementSpreadGun src/Dodge/CreatureEffect.hs 61;" f
|
||||
circHitWall src/Dodge/Base/Collide.hs 242;" f
|
||||
circInPolygon src/Geometry/Polygon.hs 110;" f
|
||||
circOnAnyCr src/Dodge/Base/Collide.hs 292;" f
|
||||
circOnAnyCr src/Dodge/Base/Collide.hs 293;" f
|
||||
circOnSeg src/Geometry.hs 101;" f
|
||||
circOnSegNoEndpoints src/Geometry.hs 91;" f
|
||||
circOnSomeWall src/Dodge/Base/Collide.hs 286;" f
|
||||
circOnSomeWall src/Dodge/Base/Collide.hs 287;" f
|
||||
circle src/Picture/Base.hs 172;" f
|
||||
circleDecoration src/Dodge/Placement/TopDecoration.hs 62;" f
|
||||
circleSolid src/Picture/Base.hs 156;" f
|
||||
@@ -2867,18 +2870,18 @@ colCrWall src/Dodge/WallCreatureCollisions.hs 29;" f
|
||||
colCrsWalls src/Dodge/WallCreatureCollisions.hs 19;" f
|
||||
collectDamageTypes src/Dodge/Damage.hs 53;" f
|
||||
collectInvItems src/Dodge/Update/Input/InGame.hs 300;" f
|
||||
collide3 src/Dodge/Base/Collide.hs 127;" f
|
||||
collide3Chasm src/Dodge/Base/Collide.hs 111;" f
|
||||
collide3 src/Dodge/Base/Collide.hs 128;" f
|
||||
collide3Chasm src/Dodge/Base/Collide.hs 112;" f
|
||||
collide3Chasms src/Dodge/Base/Collide.hs 104;" f
|
||||
collide3Creature src/Dodge/Base/Collide.hs 160;" f
|
||||
collide3Floors src/Dodge/Base/Collide.hs 141;" f
|
||||
collide3Wall src/Dodge/Base/Collide.hs 155;" f
|
||||
collide3Walls src/Dodge/Base/Collide.hs 136;" f
|
||||
collide3Creature src/Dodge/Base/Collide.hs 161;" f
|
||||
collide3Floors src/Dodge/Base/Collide.hs 142;" f
|
||||
collide3Wall src/Dodge/Base/Collide.hs 156;" f
|
||||
collide3Walls src/Dodge/Base/Collide.hs 137;" f
|
||||
collide3WallsFloor src/Dodge/Base/Collide.hs 98;" f
|
||||
collideCircWalls src/Dodge/Base/Collide.hs 253;" f
|
||||
collideCircWalls src/Dodge/Base/Collide.hs 254;" 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
|
||||
collidePointTestFilter src/Dodge/Base/Collide.hs 189;" f
|
||||
collidePointWallsFilter src/Dodge/Base/Collide.hs 203;" f
|
||||
color src/Picture/Base.hs 100;" f
|
||||
colorLamp src/Dodge/Creature/Lamp.hs 10;" f
|
||||
colorSH src/Shape.hs 234;" f
|
||||
@@ -2913,7 +2916,7 @@ constructEdgesList src/Polyhedra.hs 40;" f
|
||||
contToIDCont src/Dodge/LevelGen/PlacementHelper.hs 58;" f
|
||||
continueTerminal src/Dodge/Update/Input/InGame.hs 407;" f
|
||||
convexHull src/Geometry/Polygon.hs 150;" f
|
||||
convexHullSafe src/Geometry/Polygon.hs 157;" f
|
||||
convexHullSafe src/Geometry/Polygon.hs 172;" f
|
||||
convexPolysOverlap src/Geometry/ConvexPoly.hs 48;" f
|
||||
convexPolysOverlapWitness src/Geometry/ConvexPoly.hs 55;" f
|
||||
coolMachinePistol src/Dodge/Creature/State.hs 102;" f
|
||||
@@ -2929,26 +2932,26 @@ corridorBoss src/Dodge/LockAndKey.hs 135;" f
|
||||
corridorN src/Dodge/Room/Corridor.hs 58;" f
|
||||
corridorWallN src/Dodge/Room/Corridor.hs 77;" f
|
||||
crAdd src/Dodge/Room/RezBox.hs 116;" f
|
||||
crAwayFromPost src/Dodge/Creature/Test.hs 85;" f
|
||||
crAwayFromPost src/Dodge/Creature/Test.hs 86;" f
|
||||
crBlips src/Dodge/RadarSweep.hs 88;" f
|
||||
crCamouflage src/Dodge/Creature/Picture.hs 33;" f
|
||||
crCanSeeCr src/Dodge/Creature/Test.hs 52;" f
|
||||
crCanSeeCr src/Dodge/Creature/Test.hs 53;" f
|
||||
crCrSpring src/Dodge/Update.hs 942;" f
|
||||
crCurrentEquipment src/Dodge/Creature/Statistics.hs 62;" f
|
||||
crDeathSounds src/Dodge/Creature/Vocalization.hs 45;" f
|
||||
crDexterity src/Dodge/Creature/Statistics.hs 19;" f
|
||||
crDisplayAwareness src/Dodge/Creature/Picture/Awareness.hs 39;" f
|
||||
crDisplayVigilance src/Dodge/Creature/Picture/Awareness.hs 53;" f
|
||||
crHasTarget src/Dodge/Creature/Test.hs 65;" f
|
||||
crHasTargetLOS src/Dodge/Creature/Test.hs 68;" f
|
||||
crHeight src/Dodge/Base/Collide.hs 173;" f
|
||||
crHasTarget src/Dodge/Creature/Test.hs 66;" f
|
||||
crHasTargetLOS src/Dodge/Creature/Test.hs 69;" f
|
||||
crHeight src/Dodge/Base/Collide.hs 174;" f
|
||||
crHit src/Dodge/WorldEvent/ThingsHit.hs 121;" f
|
||||
crIXsNearCirc src/Dodge/Zoning/Creature.hs 33;" f
|
||||
crIXsNearPoint src/Dodge/Zoning/Creature.hs 15;" f
|
||||
crInAimStance src/Dodge/Creature/Test.hs 93;" f
|
||||
crInAimStance src/Dodge/Creature/Test.hs 94;" f
|
||||
crIntelligence src/Dodge/Creature/Statistics.hs 39;" f
|
||||
crIsAiming src/Dodge/Creature/Test.hs 60;" f
|
||||
crIsArmouredFrom src/Dodge/Creature/Test.hs 108;" f
|
||||
crIsAiming src/Dodge/Creature/Test.hs 61;" f
|
||||
crIsArmouredFrom src/Dodge/Creature/Test.hs 109;" f
|
||||
crMass src/Dodge/Creature/Mass.hs 5;" f
|
||||
crMaterial src/Dodge/Creature/Material.hs 8;" f
|
||||
crMaxHP src/Dodge/Creature/MaxHP.hs 6;" f
|
||||
@@ -2958,15 +2961,15 @@ crMvBy src/Dodge/Creature/Impulse/Movement.hs 22;" f
|
||||
crMvByNoStride src/Dodge/Creature/Impulse/Movement.hs 30;" f
|
||||
crMvForward src/Dodge/Creature/Impulse/Movement.hs 57;" f
|
||||
crMvType src/Dodge/Creature/MoveType.hs 6;" f
|
||||
crNearPoint src/Dodge/Creature/Test.hs 131;" f
|
||||
crNearPoint src/Dodge/Creature/Test.hs 132;" f
|
||||
crNumFreeSlots src/Dodge/Inventory/CheckSlots.hs 25;" f
|
||||
crOnWall src/Dodge/WallCreatureCollisions.hs 89;" f
|
||||
crRad src/Dodge/Creature/Radius.hs 7;" f
|
||||
crSafeDistFromTarg src/Dodge/Creature/Test.hs 74;" f
|
||||
crSafeDistFromTarg src/Dodge/Creature/Test.hs 75;" f
|
||||
crSetRoots src/Dodge/Inventory/Location.hs 55;" f
|
||||
crShape src/Dodge/Creature/Shape.hs 8;" f
|
||||
crSpring src/Dodge/Update.hs 937;" f
|
||||
crStratConMatches src/Dodge/Creature/Test.hs 80;" f
|
||||
crStratConMatches src/Dodge/Creature/Test.hs 81;" f
|
||||
crStrength src/Dodge/Creature/Statistics.hs 29;" f
|
||||
crUpdate src/Dodge/Creature/Update.hs 71;" f
|
||||
crUpdateInvidLocations src/Dodge/Inventory/Location.hs 66;" f
|
||||
@@ -3197,7 +3200,7 @@ distributeAmmoToYou src/Dodge/WorldEffect.hs 139;" f
|
||||
distributerRoom src/Dodge/Room/Room.hs 428;" f
|
||||
divTo src/Geometry/Zone.hs 8;" f
|
||||
divideCircle src/Geometry.hs 321;" f
|
||||
divideDoorPane src/Dodge/Placement/Instance/Door.hs 65;" f
|
||||
divideDoorPane src/Dodge/Placement/Instance/Door.hs 48;" f
|
||||
divideLine src/Geometry.hs 248;" f
|
||||
divideLineExact src/Geometry.hs 276;" f
|
||||
divideLineOddNumPoints src/Geometry.hs 261;" f
|
||||
@@ -3211,11 +3214,11 @@ doBounce src/Dodge/Base/Collide.hs 67;" f
|
||||
doButtonEvent src/Dodge/Button/Event.hs 9;" f
|
||||
doConLoop src/Loop.hs 138;" f
|
||||
doConLoop' src/Loop.hs 230;" f
|
||||
doCrAc src/Dodge/CreatureEffect.hs 38;" f
|
||||
doCrAc src/Dodge/CreatureEffect.hs 39;" f
|
||||
doCrBl src/Dodge/CreatureEffect.hs 30;" f
|
||||
doCrGroupUpdate src/Dodge/CrGroupUpdate.hs 5;" f
|
||||
doCrImp src/Dodge/CreatureEffect.hs 13;" f
|
||||
doCrWdAc src/Dodge/CreatureEffect.hs 47;" f
|
||||
doCrWdAc src/Dodge/CreatureEffect.hs 48;" f
|
||||
doDamage src/Dodge/Creature/State.hs 43;" f
|
||||
doDeathToggle src/Dodge/WorldEffect.hs 100;" f
|
||||
doDeathTriggers src/Dodge/WorldEffect.hs 93;" f
|
||||
@@ -3230,7 +3233,7 @@ doDebugTestF6 src/Dodge/Update/Input/DebugTest.hs 41;" f
|
||||
doDebugTestF7 src/Dodge/Update/Input/DebugTest.hs 51;" f
|
||||
doDebugTestF8 src/Dodge/Update/Input/DebugTest.hs 59;" f
|
||||
doDoorLerp src/Dodge/Door/DoorLerp.hs 8;" f
|
||||
doDoorMount src/Dodge/Door.hs 30;" f
|
||||
doDoorMount src/Dodge/Door.hs 31;" f
|
||||
doDrag src/Dodge/Update/Input/InGame.hs 128;" f
|
||||
doDrawing src/Dodge/Render.hs 33;" f
|
||||
doDrawing' src/Dodge/Render.hs 44;" f
|
||||
@@ -3270,10 +3273,11 @@ doWdP2f src/Dodge/WdP2f.hs 10;" f
|
||||
doWdWd src/Dodge/WorldEffect.hs 34;" f
|
||||
doWorldEvents src/Dodge/Update.hs 463;" f
|
||||
doWorldPos src/Dodge/WorldPos.hs 10;" f
|
||||
door src/Dodge/Room/Door.hs 13;" f
|
||||
doorBetween src/Dodge/Placement/Instance/Door.hs 38;" f
|
||||
door src/Dodge/Room/Door.hs 14;" f
|
||||
doorBetween src/Dodge/Placement/Instance/Door.hs 35;" f
|
||||
doorCor src/Dodge/Room/Room.hs 400;" f
|
||||
doorLerp src/Dodge/Door.hs 40;" f
|
||||
doorLerp src/Dodge/Door.hs 41;" f
|
||||
doorLerpWithTimer src/Dodge/Door.hs 72;" f
|
||||
dotV src/Geometry/Vector.hs 76;" f
|
||||
dotV3 src/Geometry/Vector3D.hs 119;" f
|
||||
doubleCorridorBarrels src/Dodge/Room/Room.hs 291;" f
|
||||
@@ -3533,7 +3537,7 @@ flatItemCombinations src/Dodge/Combine/Combinations.hs 51;" f
|
||||
flatLookupItems src/Dodge/Combine.hs 39;" f
|
||||
flatShield src/Dodge/Item/Held/Utility.hs 17;" f
|
||||
flatShieldEquipSPic src/Dodge/Item/Draw/SPic.hs 419;" f
|
||||
fleeFrom src/Dodge/CreatureEffect.hs 92;" f
|
||||
fleeFrom src/Dodge/CreatureEffect.hs 93;" f
|
||||
flickerMod src/Dodge/Placement/Instance/LightSource/Flicker.hs 10;" f
|
||||
flickerUpdate src/Dodge/Placement/Instance/LightSource/Flicker.hs 24;" f
|
||||
floatSize src/Shader/Parameters.hs 17;" f
|
||||
@@ -3547,7 +3551,7 @@ floorTo src/Geometry/Zone.hs 12;" f
|
||||
floorWire src/Dodge/Wire.hs 13;" f
|
||||
foamSprayFadeOutS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 777;" f
|
||||
foamSprayLoopS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 823;" f
|
||||
foldMTRS src/Dodge/Room/Tutorial.hs 85;" f
|
||||
foldMTRS src/Dodge/Room/Tutorial.hs 86;" f
|
||||
foldPairs src/ListHelp.hs 37;" f
|
||||
foldrWhileArb src/ListHelp.hs 111;" f
|
||||
followImpulse src/Dodge/Creature/Impulse.hs 25;" f
|
||||
@@ -3609,8 +3613,8 @@ getCloseObj src/Dodge/Update/Input/InGame.hs 539;" f
|
||||
getCommand src/Dodge/Terminal.hs 61;" f
|
||||
getCommands src/Dodge/Terminal.hs 58;" f
|
||||
getCrMoveSpeed src/Dodge/Creature/Statistics.hs 50;" f
|
||||
getCrsFromRooms src/Dodge/Room/Tutorial.hs 485;" f
|
||||
getCrsFromRooms' src/Dodge/Room/Tutorial.hs 472;" f
|
||||
getCrsFromRooms src/Dodge/Room/Tutorial.hs 503;" f
|
||||
getCrsFromRooms' src/Dodge/Room/Tutorial.hs 490;" f
|
||||
getDebugMouseOver src/Dodge/Update.hs 424;" f
|
||||
getDistortions src/Dodge/Render.hs 443;" f
|
||||
getEdgesCrossing src/Dodge/Path.hs 37;" f
|
||||
@@ -3628,7 +3632,7 @@ getPJStabiliser src/Dodge/HeldUse.hs 1268;" f
|
||||
getPretty src/AesonHelp.hs 8;" f
|
||||
getPromptTM src/Dodge/Terminal/Type.hs 3;" f
|
||||
getRoomFromID src/Dodge/Room/Modify.hs 31;" f
|
||||
getRoomsFromInts src/Dodge/Room/Tutorial.hs 468;" f
|
||||
getRoomsFromInts src/Dodge/Room/Tutorial.hs 486;" f
|
||||
getRootItemBounds src/Dodge/Render/HUD.hs 106;" f
|
||||
getRootItemInvID src/Dodge/Inventory/Location.hs 35;" f
|
||||
getSelectedCloseObj src/Dodge/SelectedClose.hs 14;" f
|
||||
@@ -3658,8 +3662,8 @@ glauncherPic src/Dodge/Item/Draw/SPic.hs 401;" f
|
||||
gluintSize src/Shader/Parameters.hs 25;" f
|
||||
goToPostStrat src/Dodge/Creature/Strategy.hs 10;" f
|
||||
goToTarget src/Dodge/Creature/ReaderUpdate.hs 150;" f
|
||||
grahamEliminate src/Geometry/Polygon.hs 171;" f
|
||||
grahamScan src/Geometry/Polygon.hs 162;" f
|
||||
grahamEliminate src/Geometry/Polygon.hs 186;" f
|
||||
grahamScan src/Geometry/Polygon.hs 177;" f
|
||||
grapeCannon src/Dodge/Item/Held/Cone.hs 17;" f
|
||||
graphToEdges src/Dodge/Graph.hs 35;" f
|
||||
graphToIncidence src/Dodge/Graph.hs 40;" f
|
||||
@@ -3702,10 +3706,11 @@ handleResizeEvent src/Dodge/Event.hs 53;" f
|
||||
handleTextInput src/Dodge/Event/Input.hs 19;" f
|
||||
handleWindowMoveEvent src/Dodge/Event.hs 44;" f
|
||||
hardQuit src/Dodge/Concurrent.hs 32;" f
|
||||
hasButtonLOS src/Dodge/Base/Collide.hs 311;" f
|
||||
hasAutoDoorBody src/Dodge/Creature/Test.hs 141;" f
|
||||
hasButtonLOS src/Dodge/Base/Collide.hs 312;" f
|
||||
hasCaneGunDim src/Dodge/Item/InvSize.hs 48;" f
|
||||
hasLOS src/Dodge/Base/Collide.hs 304;" f
|
||||
hasLOSIndirect src/Dodge/Base/Collide.hs 320;" f
|
||||
hasLOS src/Dodge/Base/Collide.hs 305;" f
|
||||
hasLOSIndirect src/Dodge/Base/Collide.hs 321;" f
|
||||
hat src/Dodge/Item/Equipment.hs 65;" f
|
||||
head src/DoubleStack.hs 14;" f
|
||||
headLamp src/Dodge/Item/Equipment.hs 68;" f
|
||||
@@ -3841,7 +3846,7 @@ invertInventoryToMap src/Dodge/Combine.hs 57;" f
|
||||
invisibleChaseCrit src/Dodge/Creature/ChaseCrit.hs 21;" f
|
||||
invisibleWall src/Dodge/Placement/Instance/Wall.hs 27;" f
|
||||
isAmmoIntLink src/Dodge/HeldUse.hs 731;" f
|
||||
isAnimate src/Dodge/Creature/Test.hs 134;" f
|
||||
isAnimate src/Dodge/Creature/Test.hs 135;" f
|
||||
isCognizant src/Dodge/Creature/Perception.hs 105;" f
|
||||
isConnected src/Dodge/Inventory/Swap.hs 77;" f
|
||||
isCornerLink src/Dodge/RoomLink.hs 66;" f
|
||||
@@ -3942,7 +3947,7 @@ keyCardRunPastRand src/Dodge/LockAndKey.hs 37;" f
|
||||
keyPic src/Dodge/Item/Draw/SPic.hs 438;" f
|
||||
keyholeCorridor src/Dodge/Room/Corridor.hs 45;" f
|
||||
knifeS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 741;" f
|
||||
lChasm src/Dodge/Room/Tutorial.hs 143;" f
|
||||
lChasm src/Dodge/Room/Tutorial.hs 144;" 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
|
||||
@@ -4177,9 +4182,9 @@ mglCreate src/GLHelp.hs 8;" f
|
||||
mglDelete src/GLHelp.hs 14;" f
|
||||
midBarDecoration src/Dodge/Placement/TopDecoration.hs 23;" f
|
||||
midBounds src/Dodge/Room/Foreground.hs 150;" f
|
||||
midChasm src/Dodge/Room/Tutorial.hs 172;" f
|
||||
midChasmPlatform src/Dodge/Room/Tutorial.hs 194;" f
|
||||
midChasmSpit src/Dodge/Room/Tutorial.hs 253;" f
|
||||
midChasm src/Dodge/Room/Tutorial.hs 173;" f
|
||||
midChasmPlatform src/Dodge/Room/Tutorial.hs 195;" f
|
||||
midChasmSpit src/Dodge/Room/Tutorial.hs 262;" f
|
||||
midPad src/Padding.hs 27;" f
|
||||
midPadL src/Padding.hs 33;" f
|
||||
midPoint src/Geometry.hs 83;" f
|
||||
@@ -4277,6 +4282,7 @@ noPic src/ShapePicture.hs 25;" f
|
||||
noShape src/ShapePicture.hs 29;" f
|
||||
noclipCheck src/Dodge/WallCreatureCollisions.hs 23;" f
|
||||
nodesNear src/Dodge/Path.hs 75;" f
|
||||
nonConvexChasm src/Dodge/Room/Tutorial.hs 259;" f
|
||||
nonCornerLinks src/Dodge/Room/SensorDoor.hs 55;" f
|
||||
normalGait src/Dodge/Creature/State/WalkCycle.hs 30;" f
|
||||
normalTo8 src/Shader/Poke.hs 466;" f
|
||||
@@ -4303,7 +4309,7 @@ oldMachineBootS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 635;" f
|
||||
onEquipWristShield src/Dodge/Euse.hs 94;" f
|
||||
onRemoveWristShield src/Dodge/Euse.hs 84;" f
|
||||
onXY src/Geometry/Vector3D.hs 130;" f
|
||||
oneH src/Dodge/Creature/Test.hs 96;" f
|
||||
oneH src/Dodge/Creature/Test.hs 97;" f
|
||||
openConsole src/Dodge/Update.hs 138;" f
|
||||
optionMenu src/Dodge/Menu.hs 110;" f
|
||||
optionScreenDefaultEffect src/Dodge/Update/Input/ScreenLayer.hs 62;" f
|
||||
@@ -4335,10 +4341,10 @@ overPos src/Picture/Base.hs 298;" f
|
||||
overPosObj src/Shape.hs 274;" f
|
||||
overPosSH src/Shape.hs 258;" f
|
||||
overPosSP src/ShapePicture.hs 41;" f
|
||||
overlapCircWalls src/Dodge/Base/Collide.hs 230;" f
|
||||
overlapCircWallsClosest src/Dodge/Base/Collide.hs 272;" f
|
||||
overlapCircWalls src/Dodge/Base/Collide.hs 231;" f
|
||||
overlapCircWallsClosest src/Dodge/Base/Collide.hs 273;" f
|
||||
overlapSegCrs src/Dodge/Base/Collide.hs 59;" f
|
||||
overlapSegWalls src/Dodge/Base/Collide.hs 211;" f
|
||||
overlapSegWalls src/Dodge/Base/Collide.hs 212;" f
|
||||
overrideInternal src/Dodge/Creature/ReaderUpdate.hs 180;" f
|
||||
overrideMeleeCloseTarget src/Dodge/Creature/ReaderUpdate.hs 35;" f
|
||||
overwriteLabel src/Dodge/Tree/Compose.hs 32;" f
|
||||
@@ -4352,7 +4358,7 @@ pairsToSCC src/Dodge/Graph.hs 32;" f
|
||||
paletteToColor src/Color.hs 85;" f
|
||||
parseItem src/Dodge/Debug/Terminal.hs 62;" f
|
||||
parseNum src/Dodge/Debug/Terminal.hs 77;" f
|
||||
passthroughLockKeyLists src/Dodge/Room/Tutorial.hs 550;" f
|
||||
passthroughLockKeyLists src/Dodge/Room/Tutorial.hs 568;" f
|
||||
pathConnected src/Dodge/Room/CheckConsistency.hs 13;" f
|
||||
pathEdgeObstructed src/Dodge/Path.hs 66;" f
|
||||
pauseAndFloatCam src/Dodge/Camera.hs 10;" f
|
||||
@@ -4457,8 +4463,8 @@ pokeWall src/Shader/Poke.hs 80;" f
|
||||
pokeWallsWindows src/Shader/Poke.hs 52;" f
|
||||
poly3 src/Picture/Base.hs 76;" f
|
||||
poly3Col src/Picture/Base.hs 80;" f
|
||||
polyChasm src/Dodge/Room/Tutorial.hs 316;" f
|
||||
polyChasmC src/Dodge/Room/Tutorial.hs 328;" f
|
||||
polyChasm src/Dodge/Room/Tutorial.hs 334;" f
|
||||
polyChasmC src/Dodge/Room/Tutorial.hs 346;" f
|
||||
polyCirc src/Shape.hs 47;" f
|
||||
polyCircx src/Shape.hs 52;" f
|
||||
polyCornerDist src/Geometry/Polygon.hs 69;" f
|
||||
@@ -4536,12 +4542,12 @@ pushOutFromWalls src/Dodge/WallCreatureCollisions.hs 64;" f
|
||||
pushR src/DoubleStack.hs 24;" f
|
||||
pushScreen src/Dodge/Menu/PushPop.hs 9;" f
|
||||
pushYouOutFromWalls src/Dodge/Update.hs 320;" f
|
||||
putAutoDoor src/Dodge/Placement/Instance/Door.hs 87;" f
|
||||
putAutoDoor src/Dodge/Placement/Instance/Door.hs 65;" f
|
||||
putBlockN src/Dodge/Placement/Instance/Wall.hs 120;" f
|
||||
putBlockRect src/Dodge/Placement/Instance/Wall.hs 111;" f
|
||||
putBlockV src/Dodge/Placement/Instance/Wall.hs 114;" f
|
||||
putConvexChasm src/Dodge/Data/GenWorld.hs 70;" f
|
||||
putDoor src/Dodge/Room/Airlock.hs 114;" f
|
||||
putDoor src/Dodge/Room/Airlock.hs 115;" f
|
||||
putDoubleDoor src/Dodge/Placement/Instance/Door.hs 17;" f
|
||||
putDoubleDoorThen src/Dodge/Placement/Instance/Door.hs 21;" f
|
||||
putImmediateMessageTerminal src/Dodge/Placement/Instance/Terminal.hs 60;" f
|
||||
@@ -4835,7 +4841,7 @@ sensorReqToString src/Dodge/Machine/Update.hs 242;" f
|
||||
sensorRoom src/Dodge/Room/SensorDoor.hs 29;" f
|
||||
sensorRoomRunPast src/Dodge/Room/SensorDoor.hs 61;" f
|
||||
sensorSPic src/Dodge/Machine/Draw.hs 99;" f
|
||||
sensorTut src/Dodge/Room/Tutorial.hs 494;" f
|
||||
sensorTut src/Dodge/Room/Tutorial.hs 512;" f
|
||||
sensorTypeDamages src/Dodge/Machine/Update.hs 288;" f
|
||||
sensorTypeDamages src/Dodge/Wall/Damage.hs 92;" f
|
||||
sentinelAI src/Dodge/Creature/SentinelAI.hs 20;" f
|
||||
@@ -4870,7 +4876,7 @@ setSoundVolume src/Sound.hs 159;" f
|
||||
setTargetMv src/Dodge/Creature/ReaderUpdate.hs 83;" f
|
||||
setTile src/Dodge/Layout.hs 70;" f
|
||||
setTiles src/Dodge/Layout.hs 67;" f
|
||||
setTreeInts src/Dodge/Room/Tutorial.hs 92;" f
|
||||
setTreeInts src/Dodge/Room/Tutorial.hs 93;" f
|
||||
setViewDistance src/Dodge/Update/Camera.hs 245;" f
|
||||
setViewPos src/Dodge/Creature/ReaderUpdate.hs 69;" f
|
||||
setViewport src/Dodge/Render.hs 448;" f
|
||||
@@ -4950,8 +4956,8 @@ showManObj src/Dodge/TestString.hs 58;" f
|
||||
showMuzzlePositions src/Dodge/Debug.hs 254;" f
|
||||
showTerminalError src/Dodge/Debug/Terminal.hs 80;" f
|
||||
showTimeFlow src/Dodge/TestString.hs 67;" f
|
||||
shrinkPolyOnEdges src/Geometry/Polygon.hs 183;" f
|
||||
shrinkVert src/Geometry/Polygon.hs 187;" f
|
||||
shrinkPolyOnEdges src/Geometry/Polygon.hs 198;" f
|
||||
shrinkVert src/Geometry/Polygon.hs 202;" f
|
||||
shuffle src/RandomHelp.hs 68;" f
|
||||
shuffleLinks src/Dodge/Room/Link.hs 30;" f
|
||||
shufflePair src/RandomHelp.hs 166;" f
|
||||
@@ -4985,8 +4991,8 @@ 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
|
||||
slowDoorRoom src/Dodge/Room/LongDoor.hs 140;" f
|
||||
slowDoorRoomRunPast src/Dodge/Room/LongDoor.hs 157;" f
|
||||
slowDoorRoom src/Dodge/Room/LongDoor.hs 141;" f
|
||||
slowDoorRoomRunPast src/Dodge/Room/LongDoor.hs 158;" 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,8 +5056,8 @@ spreadGunCrit src/Dodge/Creature/SpreadGunCrit.hs 11;" f
|
||||
spreadOut src/Dodge/Creature/Boid.hs 160;" f
|
||||
sps src/Dodge/LevelGen/PlacementHelper.hs 30;" f
|
||||
sps0 src/Dodge/LevelGen/PlacementHelper.hs 42;" f
|
||||
sqPlatformChasm src/Dodge/Room/Tutorial.hs 223;" f
|
||||
sqSpitChasm src/Dodge/Room/Tutorial.hs 238;" f
|
||||
sqPlatformChasm src/Dodge/Room/Tutorial.hs 224;" f
|
||||
sqSpitChasm src/Dodge/Room/Tutorial.hs 239;" f
|
||||
square src/Geometry/Polygon.hs 56;" f
|
||||
squareDecoration src/Dodge/Placement/TopDecoration.hs 48;" f
|
||||
squashIntersectCirclePoint src/Dodge/WallCreatureCollisions.hs 116;" f
|
||||
@@ -5293,7 +5299,8 @@ treePaths src/TreeHelp.hs 139;" f
|
||||
treePost src/TreeHelp.hs 46;" f
|
||||
treeToPotentialFunction src/Dodge/Item/Grammar.hs 147;" f
|
||||
triLootRoom src/Dodge/Room/Treasure.hs 23;" f
|
||||
triggerDoorRoom src/Dodge/Room/Door.hs 31;" f
|
||||
triangulateEarClip src/Geometry/Polygon.hs 162;" f
|
||||
triggerDoorRoom src/Dodge/Room/Door.hs 32;" f
|
||||
triggerSwitch src/Dodge/Placement/Instance/Button.hs 47;" f
|
||||
triggerSwitchSPic src/Dodge/Placement/Instance/Button.hs 14;" f
|
||||
triggerSwitchSPicLight src/Dodge/Placement/Instance/Button.hs 31;" f
|
||||
@@ -5319,18 +5326,18 @@ tryThrust src/Dodge/Projectile/Update.hs 126;" f
|
||||
tryUseParent src/Dodge/Creature/State.hs 145;" f
|
||||
turnTo src/Dodge/Movement/Turn.hs 8;" f
|
||||
turretItemOffset src/Dodge/Item/HeldOffset.hs 22;" f
|
||||
tutAnoTree src/Dodge/Room/Tutorial.hs 53;" f
|
||||
tutDrop src/Dodge/Room/Tutorial.hs 97;" f
|
||||
tutHub src/Dodge/Room/Tutorial.hs 392;" f
|
||||
tutLight src/Dodge/Room/Tutorial.hs 360;" f
|
||||
tutRezBox src/Dodge/Room/Tutorial.hs 505;" f
|
||||
tutAnoTree src/Dodge/Room/Tutorial.hs 54;" f
|
||||
tutDrop src/Dodge/Room/Tutorial.hs 98;" f
|
||||
tutHub src/Dodge/Room/Tutorial.hs 410;" f
|
||||
tutLight src/Dodge/Room/Tutorial.hs 378;" f
|
||||
tutRezBox src/Dodge/Room/Tutorial.hs 523;" f
|
||||
tutRoomTree src/Dodge/Floor.hs 20;" f
|
||||
tutorialMessage1 src/Dodge/Room/Tutorial.hs 530;" f
|
||||
tutorialMessage1 src/Dodge/Room/Tutorial.hs 548;" f
|
||||
tweenAngles src/Geometry/Vector.hs 190;" f
|
||||
twinSlowDoorChasers src/Dodge/Room/LongDoor.hs 79;" f
|
||||
twinSlowDoorRoom src/Dodge/Room/LongDoor.hs 34;" f
|
||||
twists src/Dodge/Creature/Test.hs 102;" f
|
||||
twoFlat src/Dodge/Creature/Test.hs 99;" f
|
||||
twists src/Dodge/Creature/Test.hs 103;" f
|
||||
twoFlat src/Dodge/Creature/Test.hs 100;" f
|
||||
twoFlatHRot src/Dodge/Item/HeldOffset.hs 75;" f
|
||||
twoHandTwistAmount src/Dodge/Creature/YourControl.hs 166;" f
|
||||
twoRoomPoss src/Dodge/PlacementSpot.hs 148;" f
|
||||
@@ -5439,7 +5446,7 @@ updatePlasmaBall src/Dodge/Update.hs 484;" f
|
||||
updatePlasmaBalls src/Dodge/Update.hs 624;" f
|
||||
updatePreload src/Preload/Update.hs 21;" f
|
||||
updateProjectile src/Dodge/Projectile/Update.hs 26;" f
|
||||
updatePulse src/Dodge/Creature/Update.hs 180;" f
|
||||
updatePulse src/Dodge/Creature/Update.hs 182;" f
|
||||
updatePulseBall src/Dodge/Update.hs 500;" f
|
||||
updatePulseLaser src/Dodge/Update.hs 671;" f
|
||||
updatePulseLasers src/Dodge/Update.hs 479;" f
|
||||
@@ -5543,7 +5550,7 @@ viewGameRoomBoundaries src/Dodge/Debug/Picture.hs 332;" f
|
||||
viewRoomBoundaries src/Dodge/Debug/Picture.hs 341;" f
|
||||
viewTarget src/Dodge/Creature/ReaderUpdate.hs 155;" f
|
||||
violet src/Color.hs 48;" f
|
||||
visibleWalls src/Dodge/Base/Collide.hs 216;" f
|
||||
visibleWalls src/Dodge/Base/Collide.hs 217;" f
|
||||
visionCheck src/Dodge/Creature/Perception.hs 152;" f
|
||||
vocalizationTest src/Dodge/Creature/Vocalization.hs 62;" f
|
||||
volleyGun src/Dodge/Item/Held/Cane.hs 15;" f
|
||||
@@ -5553,7 +5560,7 @@ walkableNodeNear src/Dodge/Path.hs 69;" f
|
||||
wallBlips src/Dodge/RadarSweep.hs 99;" f
|
||||
wallBuffer src/Dodge/WallCreatureCollisions.hs 54;" f
|
||||
wallIsZeroLength src/Dodge/LevelGen/StaticWalls.hs 179;" f
|
||||
wallToSurface src/Dodge/Base/Collide.hs 180;" f
|
||||
wallToSurface src/Dodge/Base/Collide.hs 181;" f
|
||||
wallsFromRooms src/Dodge/Layout.hs 141;" f
|
||||
wallsToDraw src/Dodge/Render/Walls.hs 18;" f
|
||||
warmupSound src/Dodge/HeldUse.hs 1393;" f
|
||||
@@ -5646,7 +5653,7 @@ yourInv src/Dodge/Base/You.hs 28;" f
|
||||
yourRootItem src/Dodge/Base/You.hs 22;" f
|
||||
yourSelectedItem src/Dodge/Base/You.hs 16;" f
|
||||
yourStatsInfo src/Dodge/Creature/Info.hs 27;" f
|
||||
zChasm src/Dodge/Room/Tutorial.hs 156;" f
|
||||
zChasm src/Dodge/Room/Tutorial.hs 157;" f
|
||||
zConnect src/Dodge/Render/Connectors.hs 18;" f
|
||||
zConnectCol src/Dodge/Render/Connectors.hs 29;" f
|
||||
zConnectColMidX src/Dodge/Render/Connectors.hs 32;" f
|
||||
|
||||
Reference in New Issue
Block a user