<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://zdoom.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Lexus+Alyus</id>
	<title>ZDoom Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://zdoom.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Lexus+Alyus"/>
	<link rel="alternate" type="text/html" href="https://zdoom.org/wiki/Special:Contributions/Lexus_Alyus"/>
	<updated>2026-08-15T19:33:11Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.9</generator>
	<entry>
		<id>https://zdoom.org/w/index.php?title=Classes&amp;diff=856</id>
		<title>Classes</title>
		<link rel="alternate" type="text/html" href="https://zdoom.org/w/index.php?title=Classes&amp;diff=856"/>
		<updated>2004-01-23T11:47:41Z</updated>

		<summary type="html">&lt;p&gt;Lexus Alyus: Added all of the classes and quickley sorted them. This page needs an hell of a lot of work, but it&amp;#039;s not a bad start... I think a lot of things will be in the wrong place cus I don&amp;#039;t have a clue :-D.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page lists all of the classes in Doom (1 and 2), Heretic, Hexen and Strife. This is useful for creating mods that cross a few games (see hellspawn, wolfen, TNT3, etc...). The following is a list of all of the classes and what they are:&lt;br /&gt;
&lt;br /&gt;
==Classes==&lt;br /&gt;
&lt;br /&gt;
These are the classes as of .60 cab.&lt;br /&gt;
 &lt;br /&gt;
===Doom (1 and 2)===&lt;br /&gt;
 &lt;br /&gt;
 Arachnotron             // Arachnotron&lt;br /&gt;
 StealthArachnotron      // Stealth Arachnotron&lt;br /&gt;
 ArachnotronPlasma       // Arachnotron Projectile&lt;br /&gt;
 Archvile                // Archville&lt;br /&gt;
 StealthArchvile         // Stealth Archville&lt;br /&gt;
 ArchvileFire&lt;br /&gt;
 BossBrain&lt;br /&gt;
 BossEye&lt;br /&gt;
 BossTarget&lt;br /&gt;
 SpawnShot&lt;br /&gt;
 SpawnFire&lt;br /&gt;
 BrainState&lt;br /&gt;
 BaronOfHell&lt;br /&gt;
 StealthBaron&lt;br /&gt;
 BaronBall&lt;br /&gt;
 HellKnight&lt;br /&gt;
 StealthHellKnight&lt;br /&gt;
 Cacodemon&lt;br /&gt;
 StealthCacodemon&lt;br /&gt;
 CacodemonBall&lt;br /&gt;
 DeadCacodemon&lt;br /&gt;
 Cyberdemon&lt;br /&gt;
 Demon&lt;br /&gt;
 StealthDemon&lt;br /&gt;
 Spectre&lt;br /&gt;
 DeadDemon&lt;br /&gt;
 ArmorBonus&lt;br /&gt;
 GreenArmor&lt;br /&gt;
 BlueArmor&lt;br /&gt;
 InvulnerabilitySphere&lt;br /&gt;
 Soulsphere&lt;br /&gt;
 Megasphere&lt;br /&gt;
 Berserk&lt;br /&gt;
 BlurSphere&lt;br /&gt;
 RadSuit&lt;br /&gt;
 Infrared&lt;br /&gt;
 Allmap&lt;br /&gt;
 Backpack&lt;br /&gt;
 TechLamp&lt;br /&gt;
 TechLamp2&lt;br /&gt;
 Column&lt;br /&gt;
 TallGreenColumn&lt;br /&gt;
 ShortGreenColumn&lt;br /&gt;
 TallRedColumn&lt;br /&gt;
 ShortRedColumn&lt;br /&gt;
 SkullColumn&lt;br /&gt;
 HeartColumn&lt;br /&gt;
 EvilEye&lt;br /&gt;
 FloatingSkull&lt;br /&gt;
 TorchTree&lt;br /&gt;
 BlueTorch&lt;br /&gt;
 GreenTorch&lt;br /&gt;
 RedTorch&lt;br /&gt;
 ShortBlueTorch&lt;br /&gt;
 ShortGreenTorch&lt;br /&gt;
 ShortRedTorch&lt;br /&gt;
 Stalagtite&lt;br /&gt;
 TechPillar&lt;br /&gt;
 Candlestick&lt;br /&gt;
 Candelabra&lt;br /&gt;
 BloodyTwitch&lt;br /&gt;
 Meat2&lt;br /&gt;
 Meat3&lt;br /&gt;
 Meat4&lt;br /&gt;
 Meat5&lt;br /&gt;
 NonsolidMeat2&lt;br /&gt;
 NonsolidMeat3&lt;br /&gt;
 NonsolidMeat4&lt;br /&gt;
 NonsolidMeat5&lt;br /&gt;
 NonsolidTwitch&lt;br /&gt;
 HeadOnAStick&lt;br /&gt;
 HeadsOnAStick&lt;br /&gt;
 HeadCandles&lt;br /&gt;
 DeadStick&lt;br /&gt;
 LiveStick&lt;br /&gt;
 BigTree&lt;br /&gt;
 BurningBarrel&lt;br /&gt;
 HangNoGuts&lt;br /&gt;
 HangBNoBrain&lt;br /&gt;
 HangTLookingDown&lt;br /&gt;
 HangTLookingUp&lt;br /&gt;
 HangTSkull&lt;br /&gt;
 HangTNoBrain&lt;br /&gt;
 ColonGibs&lt;br /&gt;
 SmallBloodPool&lt;br /&gt;
 BrainStem&lt;br /&gt;
 HealthBonus&lt;br /&gt;
 Stimpack&lt;br /&gt;
 Medikit&lt;br /&gt;
 DoomImp&lt;br /&gt;
 StealthDoomImp&lt;br /&gt;
 DoomImpBall&lt;br /&gt;
 DeadDoomImp&lt;br /&gt;
 BlueCard&lt;br /&gt;
 YellowCard&lt;br /&gt;
 RedCard&lt;br /&gt;
 BlueSkull&lt;br /&gt;
 YellowSkull&lt;br /&gt;
 RedSkull&lt;br /&gt;
 ExplosiveBarrel&lt;br /&gt;
 BulletPuff&lt;br /&gt;
 DoomUnusedStates&lt;br /&gt;
 DoomPlayer&lt;br /&gt;
 DeadMarine&lt;br /&gt;
 GibbedMarine&lt;br /&gt;
 GibbedMarineExtra&lt;br /&gt;
 Clip&lt;br /&gt;
 ClipBox&lt;br /&gt;
 RocketAmmo&lt;br /&gt;
 RocketBox&lt;br /&gt;
 Cell&lt;br /&gt;
 CellPack&lt;br /&gt;
 Shell&lt;br /&gt;
 ShellBox&lt;br /&gt;
 Fist&lt;br /&gt;
 Pistol&lt;br /&gt;
 Chainsaw&lt;br /&gt;
 Shotgun&lt;br /&gt;
 SuperShotgun&lt;br /&gt;
 Chaingun&lt;br /&gt;
 RocketLauncher&lt;br /&gt;
 Rocket&lt;br /&gt;
 PlasmaRifle&lt;br /&gt;
 PlasmaBall&lt;br /&gt;
 BFG9000&lt;br /&gt;
 BFGBall&lt;br /&gt;
 BFGExtra&lt;br /&gt;
 Fatso&lt;br /&gt;
 StealthFatso&lt;br /&gt;
 FatShot&lt;br /&gt;
 CommanderKeen&lt;br /&gt;
 LostSoul&lt;br /&gt;
 DeadLostSoul&lt;br /&gt;
 PainElemental&lt;br /&gt;
 ZombieMan&lt;br /&gt;
 StealthZombieMan&lt;br /&gt;
 DeadZombieMan&lt;br /&gt;
 ShotgunGuy&lt;br /&gt;
 StealthShotgunGuy&lt;br /&gt;
 DeadShotgunGuy&lt;br /&gt;
 ChaingunGuy&lt;br /&gt;
 StealthChaingunGuy&lt;br /&gt;
 WolfensteinSS&lt;br /&gt;
 Revenant&lt;br /&gt;
 StealthRevenant&lt;br /&gt;
 RevenantTracer&lt;br /&gt;
 RevenantTracerSmoke&lt;br /&gt;
 ScriptedMarine&lt;br /&gt;
 MarineFist&lt;br /&gt;
 MarineBerserk&lt;br /&gt;
 MarineChainsaw&lt;br /&gt;
 MarinePistol&lt;br /&gt;
 MarineShotgun&lt;br /&gt;
 MarineSSG&lt;br /&gt;
 MarineChaingun&lt;br /&gt;
 MarineRocket&lt;br /&gt;
 MarinePlasma&lt;br /&gt;
 MarineRailgun&lt;br /&gt;
 MarineBFG&lt;br /&gt;
 SpiderMastermind&lt;br /&gt;
&lt;br /&gt;
===Heretic===&lt;br /&gt;
&lt;br /&gt;
 EggFX&lt;br /&gt;
 ArtiEgg&lt;br /&gt;
 SoundWind&lt;br /&gt;
 SoundWaterfall&lt;br /&gt;
 ArtiHealth&lt;br /&gt;
 ArtiSuperHealth&lt;br /&gt;
 ArtiFly&lt;br /&gt;
 ArtiInvulnerability&lt;br /&gt;
 ArtiTorch&lt;br /&gt;
 CrystalVial&lt;br /&gt;
 Beast&lt;br /&gt;
 BeastBall&lt;br /&gt;
 Puffy&lt;br /&gt;
 BeakPuff&lt;br /&gt;
 Beak&lt;br /&gt;
 ChickenPlayer&lt;br /&gt;
 Chicken&lt;br /&gt;
 Feather&lt;br /&gt;
 Clink&lt;br /&gt;
 BossSpot&lt;br /&gt;
 Sorcerer1&lt;br /&gt;
 SorcererFX1&lt;br /&gt;
 Sorcerer2&lt;br /&gt;
 Sorcerer2FX1&lt;br /&gt;
 Sorcerer2FXSpark&lt;br /&gt;
 Sorcerer2FX2&lt;br /&gt;
 Sorcerer2Telefade&lt;br /&gt;
 ScriptedAmbientMaster&lt;br /&gt;
 ScriptedAmbient&lt;br /&gt;
 ScriptedAmbient1&lt;br /&gt;
 ScriptedAmbient2&lt;br /&gt;
 ScriptedAmbient3&lt;br /&gt;
 ScriptedAmbient4&lt;br /&gt;
 ScriptedAmbient5&lt;br /&gt;
 ScriptedAmbient6&lt;br /&gt;
 ScriptedAmbient7&lt;br /&gt;
 ScriptedAmbient8&lt;br /&gt;
 ScriptedAmbient9&lt;br /&gt;
 ScriptedAmbient10&lt;br /&gt;
 SilverShield&lt;br /&gt;
 EnchantedShield&lt;br /&gt;
 ArtiInvisibility&lt;br /&gt;
 ArtiTomeOfPower&lt;br /&gt;
 ActivatedTimeBomb&lt;br /&gt;
 ArtiTimeBomb&lt;br /&gt;
 SkullHang70&lt;br /&gt;
 SkullHang60&lt;br /&gt;
 SkullHang45&lt;br /&gt;
 SkullHang35&lt;br /&gt;
 Chandelier&lt;br /&gt;
 SerpentTorch&lt;br /&gt;
 SmallPillar&lt;br /&gt;
 StalagmiteSmall&lt;br /&gt;
 StalagmiteLarge&lt;br /&gt;
 StalactiteSmall&lt;br /&gt;
 StalactiteLarge&lt;br /&gt;
 FireBrazier&lt;br /&gt;
 Barrel&lt;br /&gt;
 BrownPillar&lt;br /&gt;
 Moss1&lt;br /&gt;
 Moss2&lt;br /&gt;
 WallTorch&lt;br /&gt;
 HangingCorpse&lt;br /&gt;
 HereticImp&lt;br /&gt;
 HereticImpLeader&lt;br /&gt;
 HereticImpChunk1&lt;br /&gt;
 HereticImpChunk2&lt;br /&gt;
 HereticImpBall&lt;br /&gt;
 KeyGreen&lt;br /&gt;
 KeyBlue&lt;br /&gt;
 KeyYellow&lt;br /&gt;
 KeyGizmo&lt;br /&gt;
 KeyGizmoFloat&lt;br /&gt;
 KeyGizmoBlue&lt;br /&gt;
 KeyGizmoGreen&lt;br /&gt;
 KeyGizmoYellow&lt;br /&gt;
 Pod&lt;br /&gt;
 PodGoo&lt;br /&gt;
 PodGenerator&lt;br /&gt;
 TeleGlitterGenerator1&lt;br /&gt;
 TeleGlitterGenerator2&lt;br /&gt;
 TeleGlitter1&lt;br /&gt;
 TeleGlitter2&lt;br /&gt;
 SuperMap&lt;br /&gt;
 Volcano&lt;br /&gt;
 VolcanoBlast&lt;br /&gt;
 VolcanoTBlast&lt;br /&gt;
 HereticPlayer&lt;br /&gt;
 BloodySkull&lt;br /&gt;
 HereticWeapon&lt;br /&gt;
 Staff&lt;br /&gt;
 StaffPuff&lt;br /&gt;
 StaffPuff2&lt;br /&gt;
 GoldWandAmmo&lt;br /&gt;
 GoldWandHefty&lt;br /&gt;
 GoldWand&lt;br /&gt;
 GoldWandFX1&lt;br /&gt;
 GoldWandFX2&lt;br /&gt;
 GoldWandPuff1&lt;br /&gt;
 GoldWandPuff2&lt;br /&gt;
 CrossbowAmmo&lt;br /&gt;
 CrossbowHefty&lt;br /&gt;
 Crossbow&lt;br /&gt;
 CrossbowFX1&lt;br /&gt;
 CrossbowFX2&lt;br /&gt;
 CrossbowFX3&lt;br /&gt;
 CrossbowFX4&lt;br /&gt;
 MaceAmmo&lt;br /&gt;
 MaceHefty&lt;br /&gt;
 Mace&lt;br /&gt;
 MaceFX1&lt;br /&gt;
 MaceFX2&lt;br /&gt;
 MaceFX3&lt;br /&gt;
 MaceFX4&lt;br /&gt;
 MaceSpawner&lt;br /&gt;
 Gauntlets&lt;br /&gt;
 GauntletPuff1&lt;br /&gt;
 GauntletPuff2&lt;br /&gt;
 BlasterAmmo&lt;br /&gt;
 BlasterHefty&lt;br /&gt;
 Blaster&lt;br /&gt;
 BlasterFX1&lt;br /&gt;
 BlasterSmoke&lt;br /&gt;
 Ripper&lt;br /&gt;
 BlasterPuff1&lt;br /&gt;
 BlasterPuff2&lt;br /&gt;
 SkullRodAmmo&lt;br /&gt;
 SkullRodHefty&lt;br /&gt;
 SkullRod&lt;br /&gt;
 HornRodFX1&lt;br /&gt;
 HornRodFX2&lt;br /&gt;
 RainPillar&lt;br /&gt;
 PhoenixRodAmmo&lt;br /&gt;
 PhoenixRodHefty&lt;br /&gt;
 PhoenixRod&lt;br /&gt;
 PhoenixFX1&lt;br /&gt;
 PhoenixPuff&lt;br /&gt;
 PhoenixFX2&lt;br /&gt;
 BagOfHolding&lt;br /&gt;
 Ironlich&lt;br /&gt;
 HeadFX1&lt;br /&gt;
 HeadFX2&lt;br /&gt;
 HeadFX3&lt;br /&gt;
 Whirlwind&lt;br /&gt;
 Knight&lt;br /&gt;
 KnightGhost&lt;br /&gt;
 KnightAxe&lt;br /&gt;
 RedAxe&lt;br /&gt;
 Mummy&lt;br /&gt;
 MummyLeader&lt;br /&gt;
 MummyGhost&lt;br /&gt;
 MummyLeaderGhost&lt;br /&gt;
 MummySoul&lt;br /&gt;
 MummyFX1&lt;br /&gt;
 Snake&lt;br /&gt;
 SnakeProjA&lt;br /&gt;
 SnakeProjB&lt;br /&gt;
 Wizard&lt;br /&gt;
 WizardFX1&lt;br /&gt;
 BatSpawner&lt;br /&gt;
 Bat&lt;br /&gt;
 Bishop&lt;br /&gt;
 BishopPuff&lt;br /&gt;
 BishopBlur&lt;br /&gt;
 BishopPainBlur&lt;br /&gt;
 BishopFX&lt;br /&gt;
&lt;br /&gt;
===Hexen===&lt;br /&gt;
&lt;br /&gt;
 PorkFX&lt;br /&gt;
 ArtiPork&lt;br /&gt;
 ArtiTeleport&lt;br /&gt;
 Minotaur&lt;br /&gt;
 MinotaurFriend&lt;br /&gt;
 MinotaurFX1&lt;br /&gt;
 MinotaurFX2&lt;br /&gt;
 MinotaurFX3&lt;br /&gt;
 MinotaurSmokeExit&lt;br /&gt;
 ArtiBlastRadius&lt;br /&gt;
 BlastEffect&lt;br /&gt;
 ArtiBoostArmor&lt;br /&gt;
 ArtiBoostMana&lt;br /&gt;
 Centaur&lt;br /&gt;
 CentaurLeader&lt;br /&gt;
 CentaurMash&lt;br /&gt;
 CentaurFX&lt;br /&gt;
 CentaurShield&lt;br /&gt;
 CentaurSword&lt;br /&gt;
 ClericBoss&lt;br /&gt;
 CWeapFlame&lt;br /&gt;
 CFlameFloor&lt;br /&gt;
 FlamePuff&lt;br /&gt;
 FlamePuff2&lt;br /&gt;
 CircleFlame&lt;br /&gt;
 CFlameMissile&lt;br /&gt;
 ClericWeaponPiece&lt;br /&gt;
 CWeaponPiece1&lt;br /&gt;
 CWeaponPiece2&lt;br /&gt;
 CWeaponPiece3&lt;br /&gt;
 WraithvergeDrop&lt;br /&gt;
 CWeapWraithverge&lt;br /&gt;
 HolyMissile&lt;br /&gt;
 HolyMissilePuff&lt;br /&gt;
 HolyPuff&lt;br /&gt;
 HolySpirit&lt;br /&gt;
 HolyTail&lt;br /&gt;
 HolyTailTrail&lt;br /&gt;
 CWeapMace&lt;br /&gt;
 ClericPlayer&lt;br /&gt;
 ClericWeapon&lt;br /&gt;
 CWeapStaff&lt;br /&gt;
 CStaffMissile&lt;br /&gt;
 CStaffPuff&lt;br /&gt;
 Demon1&lt;br /&gt;
 Demon1Mash&lt;br /&gt;
 DemonChunk&lt;br /&gt;
 Demon1Chunk1&lt;br /&gt;
 Demon1Chunk2&lt;br /&gt;
 Demon1Chunk3&lt;br /&gt;
 Demon1Chunk4&lt;br /&gt;
 Demon1Chunk5&lt;br /&gt;
 Demon1FX1&lt;br /&gt;
 Demon2&lt;br /&gt;
 Demon2Mash&lt;br /&gt;
 Demon2Chunk1&lt;br /&gt;
 Demon2Chunk2&lt;br /&gt;
 Demon2Chunk3&lt;br /&gt;
 Demon2Chunk4&lt;br /&gt;
 Demon2Chunk5&lt;br /&gt;
 Demon2FX1&lt;br /&gt;
 Dragon&lt;br /&gt;
 DragonFireball&lt;br /&gt;
 DragonExplosion&lt;br /&gt;
 Ettin&lt;br /&gt;
 EttinMace&lt;br /&gt;
 EttinMash&lt;br /&gt;
 FWeapAxe&lt;br /&gt;
 AxePuff&lt;br /&gt;
 AxePuffGlow&lt;br /&gt;
 AxeBlood&lt;br /&gt;
 FighterBoss&lt;br /&gt;
 FWeapHammer&lt;br /&gt;
 HammerMissile&lt;br /&gt;
 HammerPuff&lt;br /&gt;
 FighterPlayer&lt;br /&gt;
 FWeapFist&lt;br /&gt;
 PunchPuff&lt;br /&gt;
 FighterWeapon&lt;br /&gt;
 FighterWeaponPiece&lt;br /&gt;
 FWeaponPiece1&lt;br /&gt;
 FWeaponPiece2&lt;br /&gt;
 FWeaponPiece3&lt;br /&gt;
 QuietusDrop&lt;br /&gt;
 FWeapQuietus&lt;br /&gt;
 FSwordMissile&lt;br /&gt;
 FSwordFlame&lt;br /&gt;
 FireDemon&lt;br /&gt;
 FireDemonSplotch1&lt;br /&gt;
 FireDemonSplotch2&lt;br /&gt;
 FireDemonRock1&lt;br /&gt;
 FireDemonRock2&lt;br /&gt;
 FireDemonRock3&lt;br /&gt;
 FireDemonRock4&lt;br /&gt;
 FireDemonRock5&lt;br /&gt;
 FireDemonMissile&lt;br /&gt;
 FlameSmallTemp&lt;br /&gt;
 FlameLargeTemp&lt;br /&gt;
 FlameSmall&lt;br /&gt;
 FlameLarge&lt;br /&gt;
 PoisonBag&lt;br /&gt;
 FireBomb&lt;br /&gt;
 ThrowingBomb&lt;br /&gt;
 ArtiPoisonBag&lt;br /&gt;
 PoisonCloud&lt;br /&gt;
 FogSpawner&lt;br /&gt;
 FogPatchSmall&lt;br /&gt;
 FogPatchMedium&lt;br /&gt;
 FogPatchLarge&lt;br /&gt;
 ArtiHealingRadius&lt;br /&gt;
 Heresiarch&lt;br /&gt;
 SorcBall&lt;br /&gt;
 SorcBall1&lt;br /&gt;
 SorcBall2&lt;br /&gt;
 SorcBall3&lt;br /&gt;
 SorcFX1&lt;br /&gt;
 SorcFX2&lt;br /&gt;
 SorcFX2T1&lt;br /&gt;
 SorcFX3&lt;br /&gt;
 SorcFX3Explosion&lt;br /&gt;
 SorcFX4&lt;br /&gt;
 SorcSpark1&lt;br /&gt;
 MeshArmor&lt;br /&gt;
 FalconShield&lt;br /&gt;
 PlatinumHelm&lt;br /&gt;
 AmuletOfWarding&lt;br /&gt;
 ZWingedStatue&lt;br /&gt;
 ZRock1&lt;br /&gt;
 ZRock2&lt;br /&gt;
 ZRock3&lt;br /&gt;
 ZRock4&lt;br /&gt;
 ZChandelier&lt;br /&gt;
 ZChandelierUnlit&lt;br /&gt;
 ZTreeDead&lt;br /&gt;
 ZTree&lt;br /&gt;
 ZTreeSwamp150&lt;br /&gt;
 ZTreeSwamp120&lt;br /&gt;
 ZStumpBurned&lt;br /&gt;
 ZStumpBare&lt;br /&gt;
 ZStumpSwamp1&lt;br /&gt;
 ZStumpSwamp2&lt;br /&gt;
 ZShroomLarge1&lt;br /&gt;
 ZShroomLarge2&lt;br /&gt;
 ZShroomLarge3&lt;br /&gt;
 ZShroomSmall1&lt;br /&gt;
 ZShroomSmall2&lt;br /&gt;
 ZShroomSmall3&lt;br /&gt;
 ZShroomSmall4&lt;br /&gt;
 ZShroomSmall5&lt;br /&gt;
 ZStalagmitePillar&lt;br /&gt;
 ZStalagmiteLarge&lt;br /&gt;
 ZStalagmiteMedium&lt;br /&gt;
 ZStalagmiteSmall&lt;br /&gt;
 ZStalactiteLarge&lt;br /&gt;
 ZStalactiteMedium&lt;br /&gt;
 ZStalactiteSmall&lt;br /&gt;
 ZMossCeiling1&lt;br /&gt;
 ZMossCeiling2&lt;br /&gt;
 ZSwampVine&lt;br /&gt;
 ZCorpseKabob&lt;br /&gt;
 ZCorpseSleeping&lt;br /&gt;
 ZTombstoneRIP&lt;br /&gt;
 ZTombstoneShane&lt;br /&gt;
 ZTombstoneBigCross&lt;br /&gt;
 ZTombstoneBrianR&lt;br /&gt;
 ZTombstoneCrossCircle&lt;br /&gt;
 ZTombstoneSmallCross&lt;br /&gt;
 ZTombstoneBrianP&lt;br /&gt;
 ZCorpseHanging&lt;br /&gt;
 ZStatueGargoyleGreenTall&lt;br /&gt;
 ZStatueGargoyleBlueTall&lt;br /&gt;
 ZStatueGargoyleGreenShort&lt;br /&gt;
 ZStatueGargoyleBlueShort&lt;br /&gt;
 ZStatueGargoyleStripeTall&lt;br /&gt;
 ZStatueGargoyleDarkRedTall&lt;br /&gt;
 ZStatueGargoyleRedTall&lt;br /&gt;
 ZStatueGargoyleTanTall&lt;br /&gt;
 ZStatueGargoyleRustTall&lt;br /&gt;
 ZStatueGargoyleDarkRedShort&lt;br /&gt;
 ZStatueGargoyleRedShort&lt;br /&gt;
 ZStatueGargoyleTanShort&lt;br /&gt;
 ZStatueGargoyleRustShort&lt;br /&gt;
 ZBannerTattered&lt;br /&gt;
 ZTreeLarge1&lt;br /&gt;
 ZTreeLarge2&lt;br /&gt;
 ZTreeGnarled1&lt;br /&gt;
 ZTreeGnarled2&lt;br /&gt;
 ZLog&lt;br /&gt;
 ZStalactiteIceLarge&lt;br /&gt;
 ZStalactiteIceMedium&lt;br /&gt;
 ZStalactiteIceSmall&lt;br /&gt;
 ZStalactiteIceTiny&lt;br /&gt;
 ZStalagmiteIceLarge&lt;br /&gt;
 ZStalagmiteIceMedium&lt;br /&gt;
 ZStalagmiteIceSmall&lt;br /&gt;
 ZStalagmiteIceTiny&lt;br /&gt;
 ZRockBrown1&lt;br /&gt;
 ZRockBrown2&lt;br /&gt;
 ZRockBlack&lt;br /&gt;
 ZRubble1&lt;br /&gt;
 ZRubble2&lt;br /&gt;
 ZRubble3&lt;br /&gt;
 ZVasePillar&lt;br /&gt;
 ZCorpseLynched&lt;br /&gt;
 ZCandle&lt;br /&gt;
 ZBarrel&lt;br /&gt;
 ZBucket&lt;br /&gt;
 FireThing&lt;br /&gt;
 BrassTorch&lt;br /&gt;
 ZBlueCandle&lt;br /&gt;
 ZIronMaiden&lt;br /&gt;
 ZChainBit32&lt;br /&gt;
 ZChainBit64&lt;br /&gt;
 ZChainEndHeart&lt;br /&gt;
 ZChainEndHook1&lt;br /&gt;
 ZChainEndHook2&lt;br /&gt;
 ZChainEndSpike&lt;br /&gt;
 ZChainEndSkull&lt;br /&gt;
 TableShit1&lt;br /&gt;
 TableShit2&lt;br /&gt;
 TableShit3&lt;br /&gt;
 TableShit4&lt;br /&gt;
 TableShit5&lt;br /&gt;
 TableShit6&lt;br /&gt;
 TableShit7&lt;br /&gt;
 TableShit8&lt;br /&gt;
 TableShit9&lt;br /&gt;
 TableShit10&lt;br /&gt;
 TeleSmoke&lt;br /&gt;
 HexenKey&lt;br /&gt;
 KeySteel&lt;br /&gt;
 KeyCave&lt;br /&gt;
 KeyAxe&lt;br /&gt;
 KeyFire&lt;br /&gt;
 KeyEmerald&lt;br /&gt;
 KeyDungeon&lt;br /&gt;
 KeySilver&lt;br /&gt;
 KeyRusted&lt;br /&gt;
 KeyHorn&lt;br /&gt;
 KeySwamp&lt;br /&gt;
 KeyCastle&lt;br /&gt;
 SwitchableDecoration&lt;br /&gt;
 SwitchingDecoration&lt;br /&gt;
 ZWingedStatueNoSkull&lt;br /&gt;
 ZGemPedestal&lt;br /&gt;
 TreeDestructible&lt;br /&gt;
 Pottery1&lt;br /&gt;
 Pottery2&lt;br /&gt;
 Pottery3&lt;br /&gt;
 PotteryBit&lt;br /&gt;
 BloodPool&lt;br /&gt;
 ZCorpseLynchedNoHeart&lt;br /&gt;
 CorpseBloodDrip&lt;br /&gt;
 CorpseBit&lt;br /&gt;
 ZCorpseSitting&lt;br /&gt;
 LeafSpawner&lt;br /&gt;
 Leaf1&lt;br /&gt;
 Leaf2&lt;br /&gt;
 ZTwinedTorch&lt;br /&gt;
 ZTwinedTorchUnlit&lt;br /&gt;
 ZWallTorch&lt;br /&gt;
 ZWallTorchUnlit&lt;br /&gt;
 ZShrub1&lt;br /&gt;
 ZShrub2&lt;br /&gt;
 ZPoisonShroom&lt;br /&gt;
 ZFireBull&lt;br /&gt;
 ZFireBullUnlit&lt;br /&gt;
 ZSuitOfArmor&lt;br /&gt;
 ZArmorChunk&lt;br /&gt;
 ZBell&lt;br /&gt;
 ZXmasTree&lt;br /&gt;
 ZCauldron&lt;br /&gt;
 ZCauldronUnlit&lt;br /&gt;
 IceGuy&lt;br /&gt;
 IceGuyFX&lt;br /&gt;
 IceFXPuff&lt;br /&gt;
 IceGuyFX2&lt;br /&gt;
 IceGuyBit&lt;br /&gt;
 IceGuyWisp1&lt;br /&gt;
 IceGuyWisp2&lt;br /&gt;
 Korax&lt;br /&gt;
 KoraxSpirit&lt;br /&gt;
 KoraxBolt&lt;br /&gt;
 MageBoss&lt;br /&gt;
 MWeapFrost&lt;br /&gt;
 FrostMissile&lt;br /&gt;
 IceShard&lt;br /&gt;
 MWeapLightning&lt;br /&gt;
 Lightning&lt;br /&gt;
 LightningCeiling&lt;br /&gt;
 LightningFloor&lt;br /&gt;
 LightningZap&lt;br /&gt;
 MagePlayer&lt;br /&gt;
 MageWeapon&lt;br /&gt;
 MageWeaponPiece&lt;br /&gt;
 MWeaponPiece1&lt;br /&gt;
 MWeaponPiece2&lt;br /&gt;
 MWeaponPiece3&lt;br /&gt;
 BloodscourgeDrop&lt;br /&gt;
 MWeapBloodscourge&lt;br /&gt;
 MageStaffFX2&lt;br /&gt;
 MWeapWand&lt;br /&gt;
 MageWandSmoke&lt;br /&gt;
 MageWandMissile&lt;br /&gt;
 Mana1&lt;br /&gt;
 Mana2&lt;br /&gt;
 Mana3&lt;br /&gt;
 SnoutPuff&lt;br /&gt;
 Snout&lt;br /&gt;
 PigPlayer&lt;br /&gt;
 Pig&lt;br /&gt;
 PuzzleItem&lt;br /&gt;
 PuzzSkull&lt;br /&gt;
 PuzzGemBig&lt;br /&gt;
 PuzzGemRed&lt;br /&gt;
 PuzzGemGreen1&lt;br /&gt;
 PuzzGemGreen2&lt;br /&gt;
 PuzzGemBlue1&lt;br /&gt;
 PuzzGemBlue2&lt;br /&gt;
 PuzzBook1&lt;br /&gt;
 PuzzBook2&lt;br /&gt;
 PuzzFlameMask&lt;br /&gt;
 PuzzFWeapon&lt;br /&gt;
 PuzzCWeapon&lt;br /&gt;
 PuzzMWeapon&lt;br /&gt;
 PuzzGear1&lt;br /&gt;
 PuzzGear2&lt;br /&gt;
 PuzzGear3&lt;br /&gt;
 PuzzGear4&lt;br /&gt;
 FireBall&lt;br /&gt;
 Arrow&lt;br /&gt;
 Dart&lt;br /&gt;
 PoisonDart&lt;br /&gt;
 RipperBall&lt;br /&gt;
 ProjectileBlade&lt;br /&gt;
 Serpent&lt;br /&gt;
 SerpentLeader&lt;br /&gt;
 SerpentFX&lt;br /&gt;
 SerpentHead&lt;br /&gt;
 SerpentGib1&lt;br /&gt;
 SerpentGib2&lt;br /&gt;
 SerpentGib3&lt;br /&gt;
 ArtiSpeedBoots&lt;br /&gt;
 DirtClump&lt;br /&gt;
 ThrustFloor&lt;br /&gt;
 ThrustFloorUp&lt;br /&gt;
 ThrustFloorDown&lt;br /&gt;
 ArtiDarkServant&lt;br /&gt;
 SummoningDoll&lt;br /&gt;
 MinotaurSmoke&lt;br /&gt;
 ArtiTeleportOther&lt;br /&gt;
 TelOtherFX1&lt;br /&gt;
 TelOtherFX2&lt;br /&gt;
 TelOtherFX3&lt;br /&gt;
 TelOtherFX4&lt;br /&gt;
 TelOtherFX5&lt;br /&gt;
 FourthWeaponPiece&lt;br /&gt;
 Wraith&lt;br /&gt;
 WraithBuried&lt;br /&gt;
 WraithFX1&lt;br /&gt;
 WraithFX2&lt;br /&gt;
 WraithFX3&lt;br /&gt;
 WraithFX4&lt;br /&gt;
 WraithFX5&lt;br /&gt;
&lt;br /&gt;
===Strife===&lt;br /&gt;
&lt;br /&gt;
 Acolyte&lt;br /&gt;
 AcolyteTan&lt;br /&gt;
 AcolyteRed&lt;br /&gt;
 AcolyteRust&lt;br /&gt;
 AcolyteGray&lt;br /&gt;
 AcolyteDGreen&lt;br /&gt;
 AcolyteGold&lt;br /&gt;
 AcolyteLGreen&lt;br /&gt;
 AcolyteBlue&lt;br /&gt;
 AcolyteShadow&lt;br /&gt;
 AcolyteToBe&lt;br /&gt;
 Beggar&lt;br /&gt;
 Beggar1&lt;br /&gt;
 Beggar2&lt;br /&gt;
 Beggar3&lt;br /&gt;
 Beggar4&lt;br /&gt;
 Beggar5&lt;br /&gt;
 Merchant&lt;br /&gt;
 WeaponSmith&lt;br /&gt;
 BarKeep&lt;br /&gt;
 Armorer&lt;br /&gt;
 Medic&lt;br /&gt;
 Peasant&lt;br /&gt;
 Peasant1&lt;br /&gt;
 Peasant2&lt;br /&gt;
 Peasant3&lt;br /&gt;
 Peasant4&lt;br /&gt;
 Peasant5&lt;br /&gt;
 Peasant6&lt;br /&gt;
 Peasant7&lt;br /&gt;
 Peasant8&lt;br /&gt;
 Peasant9&lt;br /&gt;
 Peasant10&lt;br /&gt;
 Peasant11&lt;br /&gt;
 Peasant12&lt;br /&gt;
 Peasant13&lt;br /&gt;
 Peasant14&lt;br /&gt;
 Peasant15&lt;br /&gt;
 Peasant16&lt;br /&gt;
 Peasant17&lt;br /&gt;
 Peasant18&lt;br /&gt;
 Peasant19&lt;br /&gt;
 Peasant20&lt;br /&gt;
 Peasant21&lt;br /&gt;
 Peasant22&lt;br /&gt;
 Rebel&lt;br /&gt;
 Rebel1&lt;br /&gt;
 Rebel2&lt;br /&gt;
 Rebel3&lt;br /&gt;
 Rebel4&lt;br /&gt;
 Rebel5&lt;br /&gt;
 Rebel6&lt;br /&gt;
 HEGrenadeRounds&lt;br /&gt;
 PhosphorusGrenadeRounds&lt;br /&gt;
 ClipOfBullets&lt;br /&gt;
 BoxOfBullets&lt;br /&gt;
 MiniMissiles&lt;br /&gt;
 CrateOfMissiles&lt;br /&gt;
 EnergyPod&lt;br /&gt;
 EnergyPack&lt;br /&gt;
 PoisonBolts&lt;br /&gt;
 ElectricBolts&lt;br /&gt;
 AmmoSatchel&lt;br /&gt;
 StrifePlayer&lt;br /&gt;
 Tank1&lt;br /&gt;
 Tank2&lt;br /&gt;
 Tank3&lt;br /&gt;
 Tank4&lt;br /&gt;
 Tank5&lt;br /&gt;
 Tank6&lt;br /&gt;
 KneelingGuy&lt;br /&gt;
 Reaver&lt;br /&gt;
 Crusader&lt;br /&gt;
 FastFlameMissile&lt;br /&gt;
 CrusaderMissile&lt;br /&gt;
 StrifeBishop&lt;br /&gt;
 BishopMissile&lt;br /&gt;
 Sentinel&lt;br /&gt;
 SentinelFX1&lt;br /&gt;
 SentinelFX2&lt;br /&gt;
 EntityNest&lt;br /&gt;
 EntityPod&lt;br /&gt;
 Zap6&lt;br /&gt;
 Zap5&lt;br /&gt;
 KlaxonWarningLight&lt;br /&gt;
 Computer&lt;br /&gt;
 Bang4Cloud&lt;br /&gt;
 WaterBottle&lt;br /&gt;
 Mug&lt;br /&gt;
 PowerCrystal&lt;br /&gt;
 WoodenBarrel&lt;br /&gt;
 ExplosiveBarrel2&lt;br /&gt;
 TargetPractice&lt;br /&gt;
 LightSilverFluorescent&lt;br /&gt;
 LightBrownFluorescent&lt;br /&gt;
 LightGoldFluorescent&lt;br /&gt;
 LightGlobe&lt;br /&gt;
 PillarTechno&lt;br /&gt;
 PillarAztec&lt;br /&gt;
 PillarAztecDamaged&lt;br /&gt;
 PillarAztecRuined&lt;br /&gt;
 PillarHugeTech&lt;br /&gt;
 PillarAlienPower&lt;br /&gt;
 SStalactiteBig&lt;br /&gt;
 SStalactiteSmall&lt;br /&gt;
 SStalagmiteBig&lt;br /&gt;
 CavePillarTop&lt;br /&gt;
 CavePillarBottom&lt;br /&gt;
 SStalagmiteSmall&lt;br /&gt;
 Candle&lt;br /&gt;
 StrifeCandelabra&lt;br /&gt;
 WaterDropOnFloor&lt;br /&gt;
 WaterfallSplash&lt;br /&gt;
 WaterDrip&lt;br /&gt;
 WaterFountain&lt;br /&gt;
 HeartsInTank&lt;br /&gt;
 TeleportSwirl&lt;br /&gt;
 DeadCrusader&lt;br /&gt;
 DeadStrifePlayer&lt;br /&gt;
 DeadPeasant&lt;br /&gt;
 DeadAcolyte&lt;br /&gt;
 DeadReaver&lt;br /&gt;
 DeadRebel&lt;br /&gt;
 SacrificedGuy&lt;br /&gt;
 PileOfGuts&lt;br /&gt;
 StrifeBurningBarrel&lt;br /&gt;
 BurningBowl&lt;br /&gt;
 BurningBrazier&lt;br /&gt;
 SmallTorchLit&lt;br /&gt;
 SmallTorchUnlit&lt;br /&gt;
 CeilingChain&lt;br /&gt;
 CageLight&lt;br /&gt;
 Statue&lt;br /&gt;
 StatueRuined&lt;br /&gt;
 MediumTorch&lt;br /&gt;
 OutsideLamp&lt;br /&gt;
 PoleLantern&lt;br /&gt;
 SRock1&lt;br /&gt;
 SRock2&lt;br /&gt;
 SRock3&lt;br /&gt;
 SRock4&lt;br /&gt;
 StickInWater&lt;br /&gt;
 Rubble1&lt;br /&gt;
 Rubble2&lt;br /&gt;
 Rubble3&lt;br /&gt;
 Rubble4&lt;br /&gt;
 Rubble5&lt;br /&gt;
 Rubble6&lt;br /&gt;
 Rubble7&lt;br /&gt;
 Rubble8&lt;br /&gt;
 SurgeryCrab&lt;br /&gt;
 LargeTorch&lt;br /&gt;
 HugeTorch&lt;br /&gt;
 PalmTree&lt;br /&gt;
 BigTree2&lt;br /&gt;
 PottedTree&lt;br /&gt;
 TreeStub&lt;br /&gt;
 ShortBush&lt;br /&gt;
 TallBush&lt;br /&gt;
 ChimneyStack&lt;br /&gt;
 BarricadeColumn&lt;br /&gt;
 Pot&lt;br /&gt;
 Pitcher&lt;br /&gt;
 Stool&lt;br /&gt;
 MetalPot&lt;br /&gt;
 Tub&lt;br /&gt;
 Anvil&lt;br /&gt;
 TechLampSilver&lt;br /&gt;
 TechLampBrass&lt;br /&gt;
 Tray&lt;br /&gt;
 AmmoFiller&lt;br /&gt;
 SigilBanner&lt;br /&gt;
 RebelBoots&lt;br /&gt;
 RebelHelmet&lt;br /&gt;
 RebelShirt&lt;br /&gt;
 PowerCoupling&lt;br /&gt;
 AlienBubbleColumn&lt;br /&gt;
 AlienFloorBubble&lt;br /&gt;
 AlienCeilingBubble&lt;br /&gt;
 AlienAspClimber&lt;br /&gt;
 AlienSpiderLight&lt;br /&gt;
 Meat&lt;br /&gt;
 Junk&lt;br /&gt;
 StrifeWeapon&lt;br /&gt;
 StrifeSpark&lt;br /&gt;
 StrifePuff&lt;br /&gt;
 PunchDagger&lt;br /&gt;
 StrifeZap1&lt;br /&gt;
 ElectricBolt&lt;br /&gt;
 PoisonBolt&lt;br /&gt;
 StrifeCrossbow&lt;br /&gt;
 StrifeCrossbow2&lt;br /&gt;
 AssaultGun&lt;br /&gt;
 AssaultGunStanding&lt;br /&gt;
 MiniMissileLauncher&lt;br /&gt;
 RocketTrail&lt;br /&gt;
 MiniMissile&lt;br /&gt;
 FlameThrower&lt;br /&gt;
 FlameMissile&lt;br /&gt;
 Mauler&lt;br /&gt;
 Mauler2&lt;br /&gt;
 MaulerPuff&lt;br /&gt;
 MaulerTorpedo&lt;br /&gt;
 MaulerTorpedoWave&lt;br /&gt;
 HEGrenade&lt;br /&gt;
 PhosphorousGrenade&lt;br /&gt;
 PhosphorousFire&lt;br /&gt;
 StrifeGrenadeLauncher&lt;br /&gt;
 StrifeGrenadeLauncher2&lt;br /&gt;
 Zombie&lt;br /&gt;
 ZombieSpawner&lt;br /&gt;
&lt;br /&gt;
===Zdoom spacific===&lt;br /&gt;
&lt;br /&gt;
 CajunMaster&lt;br /&gt;
 CajunBodyNode&lt;br /&gt;
 CajunTrace&lt;br /&gt;
 WaitingCommand&lt;br /&gt;
 StoredCommand&lt;br /&gt;
 DehackedPickup&lt;br /&gt;
 DecalThinker&lt;br /&gt;
 DecalFader&lt;br /&gt;
 DecalStretcher&lt;br /&gt;
 DecalSlider&lt;br /&gt;
 DecalColorer&lt;br /&gt;
 Decoration&lt;br /&gt;
 BreakableDecoration&lt;br /&gt;
 SimpleProjectile&lt;br /&gt;
 FakeInventory&lt;br /&gt;
 SectorEffect&lt;br /&gt;
 Mover&lt;br /&gt;
 MovingFloor&lt;br /&gt;
 MovingCeiling&lt;br /&gt;
 Thinker&lt;br /&gt;
 Autosaver&lt;br /&gt;
 Args&lt;br /&gt;
 BoundingBox&lt;br /&gt;
 PlaneWatcher&lt;br /&gt;
 ACSThinker&lt;br /&gt;
 LevelScript&lt;br /&gt;
 CustomSprite&lt;br /&gt;
 Ceiling&lt;br /&gt;
 Door&lt;br /&gt;
 Floor&lt;br /&gt;
 Elevator&lt;br /&gt;
 WaggleBase&lt;br /&gt;
 FloorWaggle&lt;br /&gt;
 CeilingWaggle&lt;br /&gt;
 Lighting&lt;br /&gt;
 FireFlicker&lt;br /&gt;
 Flicker&lt;br /&gt;
 LightFlash&lt;br /&gt;
 Strobe&lt;br /&gt;
 Glow&lt;br /&gt;
 Glow2&lt;br /&gt;
 Phased&lt;br /&gt;
 Actor&lt;br /&gt;
 BloodSplatter&lt;br /&gt;
 Pillar&lt;br /&gt;
 Plat&lt;br /&gt;
 Scroller&lt;br /&gt;
 Pusher&lt;br /&gt;
 LightTransfer&lt;br /&gt;
 PointPusher&lt;br /&gt;
 PointPuller&lt;br /&gt;
 ActiveButton&lt;br /&gt;
 TeleportFog&lt;br /&gt;
 TeleportDest&lt;br /&gt;
 TeleportDest2&lt;br /&gt;
 TeleportDest3&lt;br /&gt;
 PlayerPawn&lt;br /&gt;
 PlayerChunk&lt;br /&gt;
 PlayerSpeedTrail&lt;br /&gt;
 PolyAction&lt;br /&gt;
 RotatePoly&lt;br /&gt;
 MovePoly&lt;br /&gt;
 PolyDoor&lt;br /&gt;
 AmbientSound&lt;br /&gt;
 SeqNode&lt;br /&gt;
 SeqActorNode&lt;br /&gt;
 SeqPolyNode&lt;br /&gt;
 SeqSectorNode&lt;br /&gt;
 Canvas&lt;br /&gt;
 FrameBuffer&lt;br /&gt;
 SimpleCanvas&lt;br /&gt;
 IceChunk&lt;br /&gt;
 IceChunkHead&lt;br /&gt;
 CorpsePointer&lt;br /&gt;
 CorpseQueue&lt;br /&gt;
 Powerup&lt;br /&gt;
 BridgeBall&lt;br /&gt;
 Bridge&lt;br /&gt;
 InvisibleBridge&lt;br /&gt;
 InvisibleBridge32&lt;br /&gt;
 InvisibleBridge16&lt;br /&gt;
 InvisibleBridge8&lt;br /&gt;
 SecurityCamera&lt;br /&gt;
 AimingCamera&lt;br /&gt;
 Rock1&lt;br /&gt;
 Rock2&lt;br /&gt;
 Rock3&lt;br /&gt;
 Dirt1&lt;br /&gt;
 Dirt2&lt;br /&gt;
 Dirt3&lt;br /&gt;
 Dirt4&lt;br /&gt;
 Dirt5&lt;br /&gt;
 Dirt6&lt;br /&gt;
 GlassShard&lt;br /&gt;
 SGShard1&lt;br /&gt;
 SGShard2&lt;br /&gt;
 SGShard3&lt;br /&gt;
 SGShard4&lt;br /&gt;
 SGShard5&lt;br /&gt;
 SGShard6&lt;br /&gt;
 SGShard7&lt;br /&gt;
 SGShard8&lt;br /&gt;
 SGShard9&lt;br /&gt;
 SGShard0&lt;br /&gt;
 Decal&lt;br /&gt;
 ImpactDecal&lt;br /&gt;
 FlashFader&lt;br /&gt;
 ParticleFountain&lt;br /&gt;
 RedParticleFountain&lt;br /&gt;
 GreenParticleFountain&lt;br /&gt;
 BlueParticleFountain&lt;br /&gt;
 YellowParticleFountain&lt;br /&gt;
 PurpleParticleFountain&lt;br /&gt;
 BlackParticleFountain&lt;br /&gt;
 WhiteParticleFountain&lt;br /&gt;
 HateTarget&lt;br /&gt;
 LightningThinker&lt;br /&gt;
 InterpolationPoint&lt;br /&gt;
 InterpolationSpecial&lt;br /&gt;
 PathFollower&lt;br /&gt;
 ActorMover&lt;br /&gt;
 MovingCamera&lt;br /&gt;
 Health&lt;br /&gt;
 Armor&lt;br /&gt;
 Ammo&lt;br /&gt;
 ItemFog&lt;br /&gt;
 Inventory&lt;br /&gt;
 Artifact&lt;br /&gt;
 Key&lt;br /&gt;
 Earthquake&lt;br /&gt;
 SecretTrigger&lt;br /&gt;
 SectorAction&lt;br /&gt;
 SecActEnter&lt;br /&gt;
 SecActExit&lt;br /&gt;
 SecActHitFloor&lt;br /&gt;
 SecActHitCeil&lt;br /&gt;
 SecActUse&lt;br /&gt;
 SecActUseWall&lt;br /&gt;
 SecActEyesDive&lt;br /&gt;
 SecActEyesSurface&lt;br /&gt;
 SecActEyesBelowC&lt;br /&gt;
 SecActEyesAboveC&lt;br /&gt;
 SecActHitFakeFloor&lt;br /&gt;
 Unknown&lt;br /&gt;
 PatrolPoint&lt;br /&gt;
 PatrolSpecial&lt;br /&gt;
 Blood&lt;br /&gt;
 MapSpot&lt;br /&gt;
 MapSpotGravity&lt;br /&gt;
 RealGibs&lt;br /&gt;
 Gibs&lt;br /&gt;
 SkyViewpoint&lt;br /&gt;
 SkyPicker&lt;br /&gt;
 SectorSilencer&lt;br /&gt;
 SoundEnvironment&lt;br /&gt;
 Spark&lt;br /&gt;
 WaterSplash&lt;br /&gt;
 WaterSplashBase&lt;br /&gt;
 LavaSplash&lt;br /&gt;
 LavaSmoke&lt;br /&gt;
 SludgeChunk&lt;br /&gt;
 SludgeSplash&lt;br /&gt;
 BloodSplash&lt;br /&gt;
 BloodSplashBase&lt;br /&gt;
 SlimeChunk&lt;br /&gt;
 SlimeSplash&lt;br /&gt;
 WaterZone&lt;br /&gt;
 Weapon&lt;br /&gt;
 HUDMessage&lt;br /&gt;
 HUDMessageFadeOut&lt;br /&gt;
 HUDMessageTypeOnFadeOut&lt;/div&gt;</summary>
		<author><name>Lexus Alyus</name></author>
	</entry>
	<entry>
		<id>https://zdoom.org/w/index.php?title=Main_Page&amp;diff=896</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://zdoom.org/w/index.php?title=Main_Page&amp;diff=896"/>
		<updated>2004-01-23T11:31:43Z</updated>

		<summary type="html">&lt;p&gt;Lexus Alyus: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Welcome to the ZDoom Wiki ==&lt;br /&gt;
&lt;br /&gt;
The software currently running the [[ZDoom]] [[Wiki]] is [[MediaWiki]]. Its installation procedure assumes that it will be installed by a user with root access to the server, so I had to make some changes to the installation script to install it on [[zdoom.org]]. For this reason, it is currently considered experimental. I think everything is working, but please test it by writing some pages. If something should work but doesn&#039;t, write about it on the [[ZDoom:Bug reports|Bug reports]] page. &lt;br /&gt;
&lt;br /&gt;
Here&#039;s a list of topics: &lt;br /&gt;
&lt;br /&gt;
* [[ACS]]&lt;br /&gt;
* [[Classes]]&lt;br /&gt;
* [[Console Commands]]&lt;br /&gt;
* [[Level Editing]]&lt;br /&gt;
* [[Special Lumps]]&lt;br /&gt;
* [[WADs created for ZDoom]]&lt;br /&gt;
* [[ZDoom documentation project]]&lt;br /&gt;
* [[ZDoom WADs In Progress]]&lt;br /&gt;
&lt;br /&gt;
Note: This is here for the sole purpose of helping out fellow ZDoomers and has no benefit to [[Randy Heit|Randy]], therefore it is the community&#039;s responsibility to keep it relevant and accurate. The whole purpose of this is so that Randy doesn&#039;t have to think about the documentation and hence can spend more time perfecting ZDoom. This Wiki is for our benefit and it is our responsibility to prevent people from defacing it. We have been given this responsibility, we should respect this, and help protect this Wiki.&lt;br /&gt;
&lt;br /&gt;
Happy ZDooming.&lt;/div&gt;</summary>
		<author><name>Lexus Alyus</name></author>
	</entry>
	<entry>
		<id>https://zdoom.org/w/index.php?title=DeHackEd&amp;diff=529</id>
		<title>DeHackEd</title>
		<link rel="alternate" type="text/html" href="https://zdoom.org/w/index.php?title=DeHackEd&amp;diff=529"/>
		<updated>2004-01-06T11:49:06Z</updated>

		<summary type="html">&lt;p&gt;Lexus Alyus: We need to know all the special bits that Zdoom uses...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is referred to from [[Special Lumps]], however, it is its own topic as well. First, I will explain it as a special lump for those of you who are on this page for that purpose. ZDoom allows you to import a DeHacked patch into a WAD so that a whole mod can be packaged neatly into one file. (Name the lump DEHACKED, if you haven&#039;t caught on yet.) Simple DeHacked (text, not code patches -- DeHacked version 3.0 or later) or .BEX patches may be used. WinTex will require you to use a certain amount of trickery to insert a lump as DEHACKED, so use XWE or something.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;quot;DeHacked&amp;quot; is an editor originally created for vanilla Doom that allows you to change the executable file. Hit points, sounds, frame sequences, text strings and a few other miscellaneous values can be changed. The most common patches have been making super-fast monsters, super-fast weapons, player-seeking-self-detonating barrels, and so on, however more balanced and artistic modifications can and have been made. Even though many great effects can be achieved with DeHacked, the flexibility is not complete. Things like monster AI and [[armor class]] are still fixed or don&#039;t budge much.&lt;br /&gt;
&lt;br /&gt;
Older DeHacked patches contained only illegible code that was to be applied to an executable file by the DeHacked patching utility. Later versions of DeHacked saved their patches in a human-readable plain text format that could be used the same way, but you could edit them with any text editor, mostly only feasible for small edits. When [[BOOM]] came around, it was able to load these plain-text patches and affect changes to the game upon startup without any crude hacking such as what DeHacked did to executables -- no patching of the executable. Other source-ports followed suit, and now we have command-line loadable DeHacked support with most modern source-ports. BOOM also provided certain extensions for DeHacked support, so if you see a file ending in .BEX, for Boom Extended, that is a file that uses said extensions. BEX allows greater flexibility in string editing (such as being able to do it AT ALL outside of [[vanilla Doom]], because the prior format relied on replacing text based on offsets, which were useless unless used in conjunction with the original executable file the patch was created for.) BEX also allows application of codepointers to any frame.&lt;br /&gt;
&lt;br /&gt;
ZDoom did the same, and now has its own [[ZDoom codepointer extensions]] in addition to [[BOOM]]&#039;s, which allow using effects such as the ones in Hexen and more in Doom. These are ZDoom-specific and not backward-compatible with [[vanilla Doom]] or with any other source-ports.&lt;br /&gt;
&lt;br /&gt;
A great place to learn to use DeHacked from the ground up is at Enjay&#039;s reference: http://www.btinternet.com/~Enjay001/&lt;br /&gt;
&lt;br /&gt;
[[Zdooms Spacific Bits]]&lt;/div&gt;</summary>
		<author><name>Lexus Alyus</name></author>
	</entry>
	<entry>
		<id>https://zdoom.org/w/index.php?title=DeHackEd&amp;diff=518</id>
		<title>DeHackEd</title>
		<link rel="alternate" type="text/html" href="https://zdoom.org/w/index.php?title=DeHackEd&amp;diff=518"/>
		<updated>2004-01-06T11:46:56Z</updated>

		<summary type="html">&lt;p&gt;Lexus Alyus: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is referred to from [[Special Lumps]], however, it is its own topic as well. First, I will explain it as a special lump for those of you who are on this page for that purpose. ZDoom allows you to import a DeHacked patch into a WAD so that a whole mod can be packaged neatly into one file. (Name the lump DEHACKED, if you haven&#039;t caught on yet.) Simple DeHacked (text, not code patches -- DeHacked version 3.0 or later) or .BEX patches may be used. WinTex will require you to use a certain amount of trickery to insert a lump as DEHACKED, so use XWE or something.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;quot;DeHacked&amp;quot; is an editor originally created for vanilla Doom that allows you to change the executable file. Hit points, sounds, frame sequences, text strings and a few other miscellaneous values can be changed. The most common patches have been making super-fast monsters, super-fast weapons, player-seeking-self-detonating barrels, and so on, however more balanced and artistic modifications can and have been made. Even though many great effects can be achieved with DeHacked, the flexibility is not complete. Things like monster AI and [[armor class]] are still fixed or don&#039;t budge much.&lt;br /&gt;
&lt;br /&gt;
Older DeHacked patches contained only illegible code that was to be applied to an executable file by the DeHacked patching utility. Later versions of DeHacked saved their patches in a human-readable plain text format that could be used the same way, but you could edit them with any text editor, mostly only feasible for small edits. When [[BOOM]] came around, it was able to load these plain-text patches and affect changes to the game upon startup without any crude hacking such as what DeHacked did to executables -- no patching of the executable. Other source-ports followed suit, and now we have command-line loadable DeHacked support with most modern source-ports. BOOM also provided certain extensions for DeHacked support, so if you see a file ending in .BEX, for Boom Extended, that is a file that uses said extensions. BEX allows greater flexibility in string editing (such as being able to do it AT ALL outside of [[vanilla Doom]], because the prior format relied on replacing text based on offsets, which were useless unless used in conjunction with the original executable file the patch was created for.) BEX also allows application of codepointers to any frame.&lt;br /&gt;
&lt;br /&gt;
ZDoom did the same, and now has its own [[ZDoom codepointer extensions]] in addition to [[BOOM]]&#039;s, which allow using effects such as the ones in Hexen and more in Doom. These are ZDoom-specific and not backward-compatible with [[vanilla Doom]] or with any other source-ports.&lt;br /&gt;
&lt;br /&gt;
A great place to learn to use DeHacked from the ground up is at Enjay&#039;s reference: http://www.btinternet.com/~Enjay001/&lt;br /&gt;
&lt;br /&gt;
[[Zdooms additions to Dehacked]]&lt;/div&gt;</summary>
		<author><name>Lexus Alyus</name></author>
	</entry>
	<entry>
		<id>https://zdoom.org/w/index.php?title=Talk:Action_specials&amp;diff=629</id>
		<title>Talk:Action specials</title>
		<link rel="alternate" type="text/html" href="https://zdoom.org/w/index.php?title=Talk:Action_specials&amp;diff=629"/>
		<updated>2004-01-06T11:39:19Z</updated>

		<summary type="html">&lt;p&gt;Lexus Alyus: Someone needs to fill in gaps&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I&#039;ve attempted to add a lot of the line specials from the reference of 1999, plus I&#039;ve added a few things that I&#039;ve noted. Just as a note, anything that has a &#039;-&#039; means that I don&#039;t know what it is, but I&#039;m sure some kind person will beable to fill in the gaps. &lt;br /&gt;
&lt;br /&gt;
It looks like I&#039;m the first person to log in... so as my kind contribution to the comunity, I feel that it is my duty to get this thing started :-). Thanx randy for this cool idea, this will really help once it gets up and running. So, lets start helping each other out ;-).&lt;br /&gt;
&lt;br /&gt;
-Lexus Alyus 4/1/2004&lt;br /&gt;
&lt;br /&gt;
Somebody sereously needs to fill in the gaps. This would help out a lot.&lt;br /&gt;
&lt;br /&gt;
-Lexus Alyus 6/1/2004&lt;/div&gt;</summary>
		<author><name>Lexus Alyus</name></author>
	</entry>
	<entry>
		<id>https://zdoom.org/w/index.php?title=Talk:Console_commands&amp;diff=5089</id>
		<title>Talk:Console commands</title>
		<link rel="alternate" type="text/html" href="https://zdoom.org/w/index.php?title=Talk:Console_commands&amp;diff=5089"/>
		<updated>2004-01-06T11:33:27Z</updated>

		<summary type="html">&lt;p&gt;Lexus Alyus: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Okay, I&#039;ve attempted to clean up this page by having sections and subsections to make it a lot easier to navigate. I think this is a good idea, but that is just my opinion and you can disagree if you want. If you disagree then let me know.&lt;br /&gt;
&lt;br /&gt;
It&#039;s finished now.&lt;br /&gt;
&lt;br /&gt;
(edited)-Lexus Alyus 6/1/04&lt;/div&gt;</summary>
		<author><name>Lexus Alyus</name></author>
	</entry>
	<entry>
		<id>https://zdoom.org/w/index.php?title=Console_commands&amp;diff=521</id>
		<title>Console commands</title>
		<link rel="alternate" type="text/html" href="https://zdoom.org/w/index.php?title=Console_commands&amp;diff=521"/>
		<updated>2004-01-06T11:32:45Z</updated>

		<summary type="html">&lt;p&gt;Lexus Alyus: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Console Commands are used to alter the way ZDoom does something, such as changing the sound volume, changing DMflags, etc...&lt;br /&gt;
&lt;br /&gt;
You access the console by pressing &amp;quot;~&amp;quot; at any time. (This depends on your keyboard layout, for German keyboard, it is &amp;quot;^&amp;quot;, but to summarize it, it is the key above TAB.)&lt;br /&gt;
&lt;br /&gt;
==Console variable types==&lt;br /&gt;
&lt;br /&gt;
There are six types of cvars: Boolean, Integer, Float, String, Colour and Flag.&lt;br /&gt;
&lt;br /&gt;
=== boolean ===&lt;br /&gt;
&lt;br /&gt;
This type of variable represents a yes/no or on/off value. It can only be set to true or false. As shorthand, setting a boolean variable to 0 will set it to false, and setting it to anything non-zero will set it to true. &lt;br /&gt;
&lt;br /&gt;
=== integer ===&lt;br /&gt;
&lt;br /&gt;
This is an ordinary number without a decimal point. For example, 1 is an integer, but 1.2 is not. &lt;br /&gt;
&lt;br /&gt;
=== float ===&lt;br /&gt;
&lt;br /&gt;
This is an ordinary number that can have a decimal point. &lt;br /&gt;
&lt;br /&gt;
=== string ===&lt;br /&gt;
&lt;br /&gt;
This is a series of text characters enclosed in quotes: For example, &amp;quot;Felix loitered lecherously on the lot&amp;quot; is a string. If you removed the quotes around it, then it would not be a string. &lt;br /&gt;
If you need to use quotes inside a string, preface it with a backslash.&lt;br /&gt;
&lt;br /&gt;
 Are you &amp;quot;The One&amp;quot; of old?&lt;br /&gt;
&lt;br /&gt;
would be written like this as a string: &lt;br /&gt;
&lt;br /&gt;
 &amp;quot;Are you \&amp;quot;The One\&amp;quot; of old?&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== colour ===&lt;br /&gt;
&lt;br /&gt;
This type of variable is a series of three hexadecimal numbers representing the amounts of red, green, and blue (in that order) in a color. For example, pure red would be represented as &amp;quot;ff 00 00&amp;quot;. As a shorthand, you can set a color variable with one of several color names, and the RGB values will be set for you. (EDIT: That&#039;s just a string, i.e. testcolor &amp;quot;ff 00 00&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
=== flag ===&lt;br /&gt;
&lt;br /&gt;
This type of variable mirrors a setting in dmflags or dmflags2. Setting its value will set the corresponding value in one of those variables, and getting its value will get the corresponding value from one of the other two variables. This is designed to make using dmflags easier, because you don&#039;t have to memorize any numbers.&lt;br /&gt;
&lt;br /&gt;
==Button Commands==&lt;br /&gt;
&lt;br /&gt;
Button commands are commands that represent buttons and come in pairs. Each &amp;quot;button&amp;quot; has a command prefixed by a + and another corresponding command prefixed by a -. The + version of the command simulates pushing the button, and the - version of the command simulates releasing the button.&lt;br /&gt;
&lt;br /&gt;
When you bind a command that begins with + to a key, releasing the key will automatically execute the same command with the + replaced by a -. Note that this works for aliases as well as the commands listed here. This provides a useful way to bind multiple actions to a single key. Suppose you want the normal Doom behavior of moving forward and using when you double click the right mouse button. If you use the commands &lt;br /&gt;
&lt;br /&gt;
 bind mouse2 +forward&lt;br /&gt;
 doublebind mouse2 +use&lt;br /&gt;
&lt;br /&gt;
ZDoom will move you forward when you press the right mouse button. When you double click it, you will press use, but you will not move forward. To simulate the standard Doom behavior, you can replace the doublebind command with these three commands instead: &lt;br /&gt;
&lt;br /&gt;
 alias +useforward &amp;quot;+use; +forward&amp;quot;&lt;br /&gt;
 alias -useforward &amp;quot;-use; -forward&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 doublebind mouse2 +useforward&lt;br /&gt;
&lt;br /&gt;
Now when you double click the right mouse button, the +useforward alias will be executed. Because +useforward&#039;s name begins with a + releasing the right mouse button will execute the -useforward alias (whether or not -useforward is defined). &lt;br /&gt;
&lt;br /&gt;
This behavior of executing a - command when a key is released applies only to the first command or alias bound to the key. If you bind a key to &amp;quot;+forward; +right&amp;quot;, releasing the key will execute the command &amp;quot;-forward; +right&amp;quot; and not &amp;quot;-forward; -right&amp;quot;. As shown above, you can use aliases to get the correct behavior. &lt;br /&gt;
&lt;br /&gt;
Another trick you can do with aliases is to create a key that only executes the + command without executing the - command. If you wanted a key that will make you move forward when you press it, and will keep you moving forward even after releasing it, you can use an alias like this:&lt;br /&gt;
&lt;br /&gt;
 alias go &amp;quot;+forward&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Then instead of binding +forward to a key, you bind go to the key instead. This works because go does not begin with a + so nothing will happen when you release the key?ZDoom only looks at the command actually bound to the key to determine if it should execute a - command when the key is released; it does not look inside aliases. &lt;br /&gt;
&lt;br /&gt;
=== Standard buttons ===&lt;br /&gt;
&lt;br /&gt;
+attack Use your weapon.&amp;lt;br&amp;gt;&lt;br /&gt;
-attack Stop using your weapon.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+use Start trying to use anything in front of you.&amp;lt;br&amp;gt;&lt;br /&gt;
-use Stop trying to use anything in front of you.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+back Move backward.&amp;lt;br&amp;gt;&lt;br /&gt;
-back Stop moving backward.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+forward Move forward.&amp;lt;br&amp;gt;&lt;br /&gt;
-forward Stop moving forward.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+jump Start jumping.&amp;lt;br&amp;gt;&lt;br /&gt;
-jump Stop jumping.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+left Start turning left.&amp;lt;br&amp;gt;&lt;br /&gt;
-left Stop turning left.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+right Start turning right.&amp;lt;br&amp;gt;&lt;br /&gt;
-right Stop turning right.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+moveleft Start strafing left.&amp;lt;br&amp;gt;&lt;br /&gt;
-moveleft Stop strafing left.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+moveright Start strafing right.&amp;lt;br&amp;gt;&lt;br /&gt;
-moveright Stop strafing right.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+lookdown Start lowering your view.&amp;lt;br&amp;gt;&lt;br /&gt;
-lookdown Stop lowering your view.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+lookup Start raising your view.&amp;lt;br&amp;gt;&lt;br /&gt;
-lookup Stop raising your view.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+movedown Start moving down if swimming or flying.&amp;lt;br&amp;gt;&lt;br /&gt;
-movedown Stop moving down.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+moveup Start moving up if swimming or flying.&amp;lt;br&amp;gt;&lt;br /&gt;
-moveup Stop moving up if swimming or flying.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+strafe Causes +left and +right to behave like +moveleft and +moveright;&amp;lt;br&amp;gt;&lt;br /&gt;
-strafe Returns +left and +right to their normal behavior.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+klook Causes +forward and +back to act like +lookup and +lookdown instead.&amp;lt;br&amp;gt;&lt;br /&gt;
-klook Returns +forward and +back to their normal behavior.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+mlook Moving the mouse up and down will make you look up and down.&amp;lt;br&amp;gt;&lt;br /&gt;
-mlook Moving the mouse up and down will make you move forward and backward. However, if freelook is true, then moving the mouse up and down will still change your view instead of moving you.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
+showscores Display a scorelist for deathmatch games.&amp;lt;br&amp;gt;&lt;br /&gt;
-showscores Hide the deathmatch scorelist.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+speed Start running.&amp;lt;br&amp;gt;&lt;br /&gt;
-speed Start walking.&lt;br /&gt;
&lt;br /&gt;
==Customization==&lt;br /&gt;
&lt;br /&gt;
===addkeysection (menu-heading) (ini-section-name)&amp;lt;br&amp;gt;===&lt;br /&gt;
This command does two things. First, it adds a new heading called menu-heading to the controls menu. You can use the addmenukey command to add your own custom keys beneath this heading. Second, it loads all the bindings from the corresponding ini-section-name section in zdoom.ini. You can use this command multiple times to create different sections in the menu and ini for different sets of commands. If you use a menu-heading that was already added to the menu, new controls added with addmenukey will appear at the end of that section, but the bindings will not be reloaded from the ini. &lt;br /&gt;
&lt;br /&gt;
===addmenukey (description) (command)&amp;lt;br&amp;gt;===&lt;br /&gt;
Adds a new control to the controls menu. Description is the name of this control in the menu, and command is a console command or alias to be executed when the control is pressed. New controls are added to the last section specified with addkeysection.&lt;br /&gt;
&lt;br /&gt;
===addslot (slot) (weapon)===&lt;br /&gt;
Adds a single weapon to the list of weapons in a weapon slot.&lt;br /&gt;
&lt;br /&gt;
===alias (new-command) [command-string]===&lt;br /&gt;
If specified with no parameters, will display a list of all current aliases. If only new-command is specified, it will be removed from the list of aliases. If command-string is also specified, it will be added to the list of aliases as new-command. For example, to create a new command to kill the monsters on the level, you can use the command: &lt;br /&gt;
 alias massacre &amp;quot;kill monsters&amp;quot;&lt;br /&gt;
Then you can use the newly created massacre command to kill all the monsters on the level.&lt;br /&gt;
&lt;br /&gt;
===archivecvar (cvar)===&lt;br /&gt;
When you create a custom cvar with the set command, it will not normally be saved in the ini. You can use archivecvar after creating the cvar to indicate that the custom cvar&#039;s value should persist even after you quit.&lt;br /&gt;
&lt;br /&gt;
===atexit [command]===&lt;br /&gt;
If you specify a command, it will be added to a list of console commands to execute when the user quits the game. Commands are executed in the reverse order that they were added in. If you do not specify any arguments to atexit, then it will list the current set of commands that will execute when you quit.&lt;br /&gt;
&lt;br /&gt;
===bind (key [command string])===&lt;br /&gt;
If no parameters are specified, the entire list of bound keys will be printed to the console. If only [key] is specified, the binding for that specific key will be printed. If both [key] and [command string] are specified, [command string] will be bound to [key]. &lt;br /&gt;
&lt;br /&gt;
===binddefaults===&lt;br /&gt;
Binds all keys to their default commands. This will not unbind any keys that do not have any default bindings, so if you want to properly restore the default controls, you need to use unbindall first. &lt;br /&gt;
 defaultbind key command&lt;br /&gt;
Binds command to the key if and only if key is not already bound and there are no keys already bound to command.&lt;br /&gt;
&lt;br /&gt;
===doublebind (key [command string])===&lt;br /&gt;
This command works just like bind, except it controls the action that occurs when a key is double-clicked. If a key does not have a doublebinding, then double-clicking it has the same result as pressing it twice. Otherwise, the first press will execute the normal command set with bind, and the second press of the double-click will execute the command set with doublebind. &lt;br /&gt;
&lt;br /&gt;
===eval expression [variable]===&lt;br /&gt;
Evaluates a mathematical expression and either prints it to the console or stores it in variable. Expressions are written using prefix notation instead of the more common infix notation. Basically, you first specify what you want to do (the operator) and then what you want to do it to (the operands). You must separate operators and operands with spaces. &lt;br /&gt;
&lt;br /&gt;
Examples: &lt;br /&gt;
 To compute 2+2: &lt;br /&gt;
 eval + 2 2To compute 5-3: &lt;br /&gt;
 eval - 5 3To compute 2+(5*6): &lt;br /&gt;
 eval + 2 * 5 6To decrease the number of screenblocks: &lt;br /&gt;
 eval - $screenblocks 1 screenblocksThe supported operators are:&lt;br /&gt;
 + a b Adds a and b. &lt;br /&gt;
 - a b Subtracts b from a. &lt;br /&gt;
 * a b Multiplies a and b. &lt;br /&gt;
 / a b Divides a by b. &lt;br /&gt;
 % a b Calculates the remainder of a/b. &lt;br /&gt;
 ^ a b Raises a to the b-th power . &lt;br /&gt;
 &amp;lt; a b Produces 1 if a is less than b and 0 if not. &lt;br /&gt;
 &amp;lt;= a b Produces 1 if a is less than or equal to b and 0 if not. &lt;br /&gt;
 &amp;gt; a b Produces 1 if a is greater than b and 0 if not. &lt;br /&gt;
 &amp;gt;= a b Produces 1 if a is greater than or equal to b and 0 if not. &lt;br /&gt;
 = a b Produces 1 if a is equal to b and 0 if not.&lt;br /&gt;
&lt;br /&gt;
 == a b Produces 1 if a is equal to b and 0 if not. &lt;br /&gt;
 != a b Produces 1 if a is not equal to b and 0 if it is. &lt;br /&gt;
 &amp;lt;&amp;gt; a b Produces 1 if a is not equal to b and 0 if is. &lt;br /&gt;
 xor a b Calculates the bit-wise exclusive-or of a and b. &lt;br /&gt;
 &amp;amp; a b Calculates the bit-wise and of a and b. &lt;br /&gt;
 | a b Calculates the bit-wise or of a and b. &lt;br /&gt;
 &amp;amp;&amp;amp; a b Calculates the logical and of a and b. &lt;br /&gt;
 || a b Calculates the logical or of a and b. &lt;br /&gt;
&lt;br /&gt;
===exec (script-file)===&lt;br /&gt;
Executes a series of commands stored in the script-file as if they had been typed in at the console directly. &lt;br /&gt;
&lt;br /&gt;
===key value1 [value2]===&lt;br /&gt;
Translates all parameters to the command into their corresponding key values which are used internally for command and alias lookup. Probably not very useful for the average user. &lt;br /&gt;
&lt;br /&gt;
===puke (script [arguments])===&lt;br /&gt;
Executes an ACS script on the current map, optionally passing it up to three numerical arguments. &lt;br /&gt;
&lt;br /&gt;
===pullin (wadfile)===&lt;br /&gt;
Loads a wadfile at startup. This command is only valid inside .cfg files that have been execed at startup.&lt;br /&gt;
&lt;br /&gt;
===set (cvar) (value)===&lt;br /&gt;
Sets cvar to value. If cvar does not exist, it will be created. &lt;br /&gt;
&lt;br /&gt;
===rebind (binding)===&lt;br /&gt;
Changes the binding for the key that caused the rebind command to execute. For obvious reasons, this command cannot be used at the console.&lt;br /&gt;
&lt;br /&gt;
Example: &lt;br /&gt;
&lt;br /&gt;
 bind b &amp;quot;echo setting 1; rebind \&amp;quot;echo setting 2\&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
This will cause the first press of b to echo &amp;quot;setting 1&amp;quot; to the console. All future presses of b will echo &amp;quot;setting 2&amp;quot; instead. &lt;br /&gt;
&lt;br /&gt;
===unbind (key)===&lt;br /&gt;
Removes a binding from the specified key.&lt;br /&gt;
&lt;br /&gt;
===unbindall===&lt;br /&gt;
Removes all bindings and doublebindings from every key. To restore the default bindings, you can use the binddefaults command. There is no way to restore any custom bindings after issuing this command except by retyping each bind command or using the controls setup menu.&lt;br /&gt;
&lt;br /&gt;
===undoublebind (key)===&lt;br /&gt;
Removes a doublebinding from the specified key.&lt;br /&gt;
&lt;br /&gt;
===unset (cvar)===&lt;br /&gt;
Undefines a user-created cvar.&lt;br /&gt;
&lt;br /&gt;
==Screenshots==&lt;br /&gt;
&lt;br /&gt;
===png_gamma===&lt;br /&gt;
float: 0&amp;lt;br&amp;gt;&lt;br /&gt;
Controls the gamma level stored in PNG screenshots. If this is 0, then your current gamma setting will be used.&lt;br /&gt;
&lt;br /&gt;
===png_level===&lt;br /&gt;
integer: 5&amp;lt;br&amp;gt;&lt;br /&gt;
This is the level of compression to use for PNG screenshots. 0 is no compression at all, 1 is minimal compression (fastest), 9 is maximum compression (slowest), and intermediate values offer intermediate compression. 5 is offers a decent trade-of between file size and compression time. An uncompressed image will not neccessarily save faster than a compressed image, because the extra time needed to write out a complete uncompressed image may be longer than the time required to compress the image. If you need to create screenshots as quickly as possible, consider setting screenshot_type to &amp;quot;pcx&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
===screenshot [file]===&lt;br /&gt;
Dumps a copy of the screen to disk as a PNG or PCX file. If file is not specified, the screenshot will be saved to the directory the game was run from with a name of the form doom????.png. &lt;br /&gt;
&lt;br /&gt;
===screenshot_quiet===&lt;br /&gt;
boolean: false&amp;lt;br&amp;gt;&lt;br /&gt;
Setting this to true will suppress the messages informing you what file a screenshot was saved to.&lt;br /&gt;
&lt;br /&gt;
===screenshot_type===&lt;br /&gt;
string: &amp;quot;png&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Determines the type of screenshots that will be saved. This can be either &amp;quot;png&amp;quot; or &amp;quot;pcx&amp;quot;. In my empirical studies, PNG screenshots are about half the size of pcx screenshots. PCX screenshots have the advantage that they require less time to create so are most useful for rapid screenshot generation. The following sequence of console commands will take a screenshot every frame. You can use an external program to assemble these into a video, if desired. &lt;br /&gt;
&lt;br /&gt;
 screenshot_type &amp;quot;png&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
 screenshot_quiet true&amp;lt;br&amp;gt;&lt;br /&gt;
 alias autoshot &amp;quot;screenshot; wait 1; autoshot&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
 autoshot&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you use the autoshot alias, the command alias autoshot will stop automatic screenshot taking before you hit 10000 screenshots (approximately 4 minutes, 45 seconds).&lt;br /&gt;
&lt;br /&gt;
===storesavepic===&lt;br /&gt;
boolean: true&amp;lt;br&amp;gt;&lt;br /&gt;
Setting this to false will produce smaller savegames (by about 14k typically) by not storing a screenshot inside the savegame.&lt;br /&gt;
&lt;br /&gt;
==Chatting==&lt;br /&gt;
&lt;br /&gt;
===chat_substitution===&lt;br /&gt;
boolean: false&amp;lt;br&amp;gt;&lt;br /&gt;
Set this to true if you want to chat using special keywords that will be replaced with appropriate text when your messages are sent. The supported keywords are:&lt;br /&gt;
 &lt;br /&gt;
$health &amp;lt;br&amp;gt;&lt;br /&gt;
Replaced by your current health. &amp;lt;br&amp;gt;&lt;br /&gt;
$weapon &amp;lt;br&amp;gt;&lt;br /&gt;
Replaced by the name of your current weapon. &amp;lt;br&amp;gt;&lt;br /&gt;
$armor &amp;lt;br&amp;gt;&lt;br /&gt;
Replaced by your current armor count. &amp;lt;br&amp;gt;&lt;br /&gt;
$ammocount &amp;lt;br&amp;gt;&lt;br /&gt;
Replaced by your current ammo count. &amp;lt;br&amp;gt;&lt;br /&gt;
$ammo &amp;lt;br&amp;gt;&lt;br /&gt;
Replaced by the name of your current ammo.&lt;br /&gt;
&lt;br /&gt;
As an example, if you just started a new game of Doom and have chat substitution turned on, when you send the message &amp;quot;My health is $health, and I am using a $weapon&amp;quot;, the message that is actually sent will be &amp;quot;My health is 100, and I am using a Pistol&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
chatmacro0&amp;lt;br&amp;gt;&lt;br /&gt;
chatmacro1&amp;lt;br&amp;gt;&lt;br /&gt;
chatmacro2&amp;lt;br&amp;gt;&lt;br /&gt;
chatmacro3&amp;lt;br&amp;gt;&lt;br /&gt;
chatmacro4&amp;lt;br&amp;gt;&lt;br /&gt;
chatmacro5&amp;lt;br&amp;gt;&lt;br /&gt;
chatmacro6&amp;lt;br&amp;gt;&lt;br /&gt;
chatmacro7&amp;lt;br&amp;gt;&lt;br /&gt;
chatmacro8&amp;lt;br&amp;gt;&lt;br /&gt;
chatmacro9&amp;lt;br&amp;gt;&lt;br /&gt;
string&amp;lt;br&amp;gt;&lt;br /&gt;
These are all strings that can be assigned to hotkeys in chat mode. To use these, enter chat mode and then hold down Alt and press one of the number keys. The string stored in the corresponding chatmacro cvar will be sent as if you had typed it yourself. &lt;br /&gt;
&lt;br /&gt;
===messagemode===&lt;br /&gt;
Enters message entry mode. Anything typed while in this mode will be sent to everyone else as if you had used the say command once you press enter. &lt;br /&gt;
&lt;br /&gt;
===messagemode2===&lt;br /&gt;
This is just like messagemode except that the message is only sent to other members of your team. If teamplay is false or you don&#039;t have a team, then this command will work just like messagemode and send the message to everyone. &lt;br /&gt;
&lt;br /&gt;
===say (message)===&lt;br /&gt;
Sends a message to everyone playing. If your message begins with &amp;quot;/me&amp;quot; then &amp;quot;/me&amp;quot; will be replaced by your name ala IRC. &lt;br /&gt;
&lt;br /&gt;
===say_team (message)===&lt;br /&gt;
This is just like say except it only sends a message to your teammates. If teamplay is inactive, then this command will act exactly like say and send the message to everyone.&lt;br /&gt;
&lt;br /&gt;
==Cheating==&lt;br /&gt;
&lt;br /&gt;
===sv_cheats===&lt;br /&gt;
boolean: false&lt;br /&gt;
When true, cheats will be allowed in Nightmare difficulty and network games. For purposes of fairness, this cvar can only be set from the command line when you run ZDoom. This is to avoid situations where the key player in a multiplayer game (player 1) could go to the console and type something like this:&lt;br /&gt;
&lt;br /&gt;
 sv_cheats 1&lt;br /&gt;
 god&lt;br /&gt;
 sv_cheats 0&lt;br /&gt;
&lt;br /&gt;
whereby rendering himself immune to the attacks of others.&lt;br /&gt;
&lt;br /&gt;
===anubis===&lt;br /&gt;
Toggles monster fear on and off. Scared monsters will run away from you and attack less frequently.&lt;br /&gt;
&lt;br /&gt;
===fly===&lt;br /&gt;
Toggles fly mode on and off.&lt;br /&gt;
&lt;br /&gt;
===give (item)===&lt;br /&gt;
Gives an item to the player. Give understands the following special items: &lt;br /&gt;
 all - gives you everything &lt;br /&gt;
 health - gives you full health &lt;br /&gt;
 weapons - gives you every weapon &lt;br /&gt;
 ammo - gives you full ammo &lt;br /&gt;
 armor - gives you full armor &lt;br /&gt;
 keys - gives you every key &lt;br /&gt;
It also understands the names of individual inventory items. Use the command dumpclasses inventory for a complete list of these. &lt;br /&gt;
&lt;br /&gt;
===god===&lt;br /&gt;
Toggles God (Degreelessness) mode on/off. While active, you cannot be hurt by normal attacks (although telefragging will still kill you). Also known as iddqd. &lt;br /&gt;
&lt;br /&gt;
===iddqd===&lt;br /&gt;
The same as god, except it also gives you 100 health.&lt;br /&gt;
&lt;br /&gt;
===kill [monsters]===&lt;br /&gt;
If used as &amp;quot;kill monsters&amp;quot;, will kill all monsters on the level. Otherwise, it will kill you instead. This command is broken in netgames, so don&#039;t use it unless you are playing a single player game. &lt;br /&gt;
&lt;br /&gt;
===logfile [log-file]===&lt;br /&gt;
If log-file is not specified, console logging will be stopped (if active). Otherwise, a file named log-file will be created on disk, and all console output will be recorded in it as well as on the screen. &lt;br /&gt;
&lt;br /&gt;
===mdk===&lt;br /&gt;
This cheat will kill whatever you are looking at.&lt;br /&gt;
&lt;br /&gt;
===morphme===&lt;br /&gt;
Transforms you into a chicken in Heretic and a pig in Hexen and Doom (The latter only happens if you have the releven graphics present).&lt;br /&gt;
&lt;br /&gt;
===noclip===&lt;br /&gt;
Toggles noclipping mode on/off. &lt;br /&gt;
&lt;br /&gt;
===notarget===&lt;br /&gt;
Toggles notarget mode on/off. While active, monsters will not target you unless you hurt them first. In &amp;quot;modern FPS&amp;quot;, monsters &amp;quot;can&#039;t find you&amp;quot; when in notarget mode. This is not the case with ZDoom.&lt;br /&gt;
&lt;br /&gt;
===powerup===&lt;br /&gt;
Powers you up in Heretic as if you had used a Tome of Power.&lt;br /&gt;
&lt;br /&gt;
===sv_fastweapons (0-2)===&lt;br /&gt;
Increases speed of weapons in Doom, Heretic, and Hexen. Setting to 2 makes weapons even faster.&lt;br /&gt;
&lt;br /&gt;
===turbo===&lt;br /&gt;
float: 100&amp;lt;br&amp;gt;&lt;br /&gt;
This cvar affects how quickly the player moves. A value of 100 will cause the player to move at normal speed, 200 will cause the player to move at 200% of normal speed, 50 will cause the player to move at 50% of normal speed, etc. Valid values range from 10 to 256.&lt;br /&gt;
&lt;br /&gt;
==Display==&lt;br /&gt;
&lt;br /&gt;
===bumpgamma===&lt;br /&gt;
Increases the current gamma level by 0.1. If the new gamma level would be greater than 3.0, it wraps the gamma around to 1.0 &lt;br /&gt;
&lt;br /&gt;
===cl_bbannounce===&lt;br /&gt;
boolean: false&amp;lt;br&amp;gt;&lt;br /&gt;
When true, enables the Bloodbath announcer for deathmatch games. The Bloodbath announcer is &amp;quot;The Voice&amp;quot; from Monolith Software&#039;s Blood game. To hear the announcer, you need to load Blood&#039;s sounds.rff either at the command line or through one of zdoom.ini&#039;s [*.Autoload] sections. You can get this file either from the demo or full version of Blood. If you don&#039;t have sounds.rff, you can still see the announcer&#039;s messages even though you won&#039;t hear anything. &lt;br /&gt;
&lt;br /&gt;
===cl_showmultikills===&lt;br /&gt;
boolean: true&amp;lt;br&amp;gt;&lt;br /&gt;
Set this to false if you don&#039;t want to see Unreal Tournament-style messages when a player makes several kills in a short period of time.&lt;br /&gt;
&lt;br /&gt;
===cl_showsprees===&lt;br /&gt;
boolean: true&amp;lt;br&amp;gt;&lt;br /&gt;
Set this to false if you don&#039;t want to see Unreal Tournament-style messages when a player is on a killing spree.&lt;br /&gt;
&lt;br /&gt;
===cl_spreaddecals===&lt;br /&gt;
boolean: true&amp;lt;br&amp;gt;&lt;br /&gt;
ZDoom clips decals to sidedefs. In order to hide this, the game will create as many duplicate decals on adjoining sidedefs as needed to make it appear that there is only one unbroken decal on the wall. Set this cvar to false if you don&#039;t want this.&lt;br /&gt;
&lt;br /&gt;
===con_centernotify===&lt;br /&gt;
boolean: false for Doom, true for Heretic and Hexen&amp;lt;br&amp;gt;&lt;br /&gt;
When true, notify messages at the top of the screen are centered. Otherwise, they are justified against the left margin.&lt;br /&gt;
&lt;br /&gt;
===con_midtime===&lt;br /&gt;
float: 3&amp;lt;br&amp;gt;&lt;br /&gt;
This is the number of seconds that messages in the middle of the screen will be displayed before they dispapper. &lt;br /&gt;
&lt;br /&gt;
===con_notifytime===&lt;br /&gt;
float: 3&amp;lt;br&amp;gt;&lt;br /&gt;
This is the number of seconds that new messages will stay at the top of the screen before they start scrolling away. &lt;br /&gt;
&lt;br /&gt;
===con_scaletext===&lt;br /&gt;
boolean: false&amp;lt;br&amp;gt;&lt;br /&gt;
If this cvar is true, then message text will be scaled to larger sizes depending on the screen resolution so that it will stay approximately the same size it would be on a 320x200 screen. &lt;br /&gt;
&lt;br /&gt;
===crosshair===&lt;br /&gt;
integer: 0&amp;lt;br&amp;gt;&lt;br /&gt;
If this cvar is non-zero, it draws a crosshair. If this cvar is negative, the crosshair is translucent, otherwise it is opaque. The specific crosshair drawn depends on the value of this cvar. &lt;br /&gt;
&lt;br /&gt;
===crosshaircolor===&lt;br /&gt;
color: &amp;quot;ff 00 00&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
This is the crosshair&#039;s color if crosshairhealth is false.&lt;br /&gt;
&lt;br /&gt;
===crosshairgrow===&lt;br /&gt;
boolean: false&amp;lt;br&amp;gt;&lt;br /&gt;
Set this to true if you want the crosshair to temporarily enlarge each time you pick up an item.&lt;br /&gt;
&lt;br /&gt;
===crosshairhealth===&lt;br /&gt;
boolean: true&amp;lt;br&amp;gt;&lt;br /&gt;
When true, the crosshair&#039;s color reflects your current health. Green is healthy, red is near death, and intermediate colors are somewhere in between. Set this to false, if you want the crosshair to have a constant color (specified by the crosshaircolor cvar) instead.&lt;br /&gt;
&lt;br /&gt;
===crosshairscale===&lt;br /&gt;
boolean: false&amp;lt;br&amp;gt;&lt;br /&gt;
Set this to true if you want the crosshair to always appear the same size at all resolutions. Leaving it at false causes the crosshair to be drawn normally.&lt;br /&gt;
&lt;br /&gt;
===gamma===&lt;br /&gt;
float: 1.0&amp;lt;br&amp;gt;&lt;br /&gt;
Controls the amount of gamma correction applied to the display. 1.0 is equivalent to no correction, while larger numbers translate into a brighter display, and smaller numbers translate into a darker display. 0.0 is invalid and will be rejected. Negative numbers are technically invalid but will be accepted solely for the novelty value doing so provides. &lt;br /&gt;
&lt;br /&gt;
===hud_scale===&lt;br /&gt;
boolean: false&amp;lt;br&amp;gt;&lt;br /&gt;
Controls scaling of the fullscreen hud. At resolutions of 640x400 or above, setting this cvar to true will cause the icons to be scaled to approximately the same size they would be at 320x200. If this cvar is false, the icons will always be drawn without any scaling. &lt;br /&gt;
&lt;br /&gt;
===msg===&lt;br /&gt;
integer: 0&amp;lt;br&amp;gt;&lt;br /&gt;
This is the minimum message level that you will see. You will not see any messages with a lower priority than this. The different message levels are: &lt;br /&gt;
&lt;br /&gt;
#Item pickup &lt;br /&gt;
#Obituaries &lt;br /&gt;
#Critical messages &lt;br /&gt;
#Chat messages &lt;br /&gt;
#Chat messages from a teammate &lt;br /&gt;
&lt;br /&gt;
===msg0color===&lt;br /&gt;
integer: 6&amp;lt;br&amp;gt;&lt;br /&gt;
This cvar controls the color used to display level 0 (item pickup) messages. Available colors are: &lt;br /&gt;
&lt;br /&gt;
#Brick &lt;br /&gt;
#Tan &lt;br /&gt;
#Gray &lt;br /&gt;
#Green &lt;br /&gt;
#Brown &lt;br /&gt;
#Gold &lt;br /&gt;
#Red &lt;br /&gt;
#Blue &lt;br /&gt;
#Orange &lt;br /&gt;
#White &lt;br /&gt;
#Yellow &lt;br /&gt;
&lt;br /&gt;
===msg1color===&lt;br /&gt;
integer: 5&amp;lt;br&amp;gt;&lt;br /&gt;
This cvar selects the color used to display level 1 (obituary) messages. Available colors are the same as for&amp;quot; msg0color. &lt;br /&gt;
&lt;br /&gt;
===msg2color===&lt;br /&gt;
integer: 2&amp;lt;br&amp;gt;&lt;br /&gt;
This cvar selects the color used to display level 2 (critical) messages. Available colors are the same as for msg0color. &lt;br /&gt;
&lt;br /&gt;
===msg3color===&lt;br /&gt;
integer: 3&amp;lt;br&amp;gt;&lt;br /&gt;
This cvar selects the color used to display level 3 (chat) messages. Available colors are the same as for msg0color. &lt;br /&gt;
&lt;br /&gt;
===msg4color===&lt;br /&gt;
integer: 3&amp;lt;br&amp;gt;&lt;br /&gt;
This cvar selects the color used to display level 4 (team chat) messages. Available colors are the same as for msg0color. &lt;br /&gt;
&lt;br /&gt;
===msgmidcolor===&lt;br /&gt;
integer: 5&amp;lt;br&amp;gt;&lt;br /&gt;
This cvar selects the color used to display messages in the middle of the screen. Available colors are the same as for msg0color. &lt;br /&gt;
&lt;br /&gt;
===msgmidcolor2===&lt;br /&gt;
integer: 4&amp;lt;br&amp;gt;&lt;br /&gt;
This cvar selects the color used to display messages in the middle of the screen that are sent to everyone. Available colors are the same as for msg0color. &lt;br /&gt;
&lt;br /&gt;
===st_scale===&lt;br /&gt;
boolean: false&amp;lt;br&amp;gt;&lt;br /&gt;
When this cvar is true, the status bar will be scaled so that it covers the entire width of the screen in higher resolutions. At low resolutions this may look ugly, but at high resolutions it should look good enough.&lt;br /&gt;
&lt;br /&gt;
==Renderer==&lt;br /&gt;
&lt;br /&gt;
===r_columnmethod===&lt;br /&gt;
integer: 1&amp;lt;br&amp;gt;&lt;br /&gt;
Selects which of two algorithms to use to draw sprites and masked textures. Method 0 is the original algorithm used by DOOM. Method 1 is a new algorithm optimized for Pentium IIs and can perform significantly better with that or comparable processors. Ironically, method 0 is slightly faster than method 1 on Pentium III and Athlon processors (though not significantly so). &lt;br /&gt;
&lt;br /&gt;
===r_detail===&lt;br /&gt;
integer: 0&amp;lt;br&amp;gt;&lt;br /&gt;
This cvar selects the detail level of the view window. Valid values are: &lt;br /&gt;
&lt;br /&gt;
#Normal detail level. Equivalent to Doom&#039;s high detail mode. &lt;br /&gt;
#Double pixels horizontally. Equivalent to Doom&#039;s low detail mode. &lt;br /&gt;
#Double pixels vertically. &lt;br /&gt;
#Double pixels horizontally and vertically. &lt;br /&gt;
&lt;br /&gt;
Because of the way the renderer works, doubling pixels horizontally offers more of a speed-up than doubling them vertically does. Unless you have a very slow computer, there should be no reason to use any detail level other than 0. &lt;br /&gt;
&lt;br /&gt;
===r_drawflat===&lt;br /&gt;
boolean: false&amp;lt;br&amp;gt;&lt;br /&gt;
When set to 0, segs will be drawn as solid colors instead of textures. This is useful if you want to see how a node builder split a level&#039;s linedefs. Otherwise, it just looks ugly. &lt;br /&gt;
&lt;br /&gt;
===r_drawfuzzbr===&lt;br /&gt;
boolean: true&amp;lt;br&amp;gt;&lt;br /&gt;
When set to false, the &amp;quot;fuzz&amp;quot; effect on spectres and partially invisible players will be replaced with translucency. &lt;br /&gt;
&lt;br /&gt;
===r_drawmirrors===&lt;br /&gt;
boolean: true&amp;lt;br&amp;gt;&lt;br /&gt;
Setting this false will disable the display of mirrors.&lt;br /&gt;
&lt;br /&gt;
===r_drawplayersprites===&lt;br /&gt;
boolean: true&amp;lt;br&amp;gt;&lt;br /&gt;
When false, the game will not draw the player&#039;s weapon or muzzle flash, which can be nice for screenshots. &lt;br /&gt;
&lt;br /&gt;
===r_drawtrans===&lt;br /&gt;
boolean: true&amp;lt;br&amp;gt;&lt;br /&gt;
Setting this to false will disable all translucency effects in the game.&lt;br /&gt;
&lt;br /&gt;
===r_fogboundary===&lt;br /&gt;
boolean: true&amp;lt;br&amp;gt;&lt;br /&gt;
Setting this to false will disable the display of fog boundaries. Fog boundaries are sections where two areas with different fog colors meet. If the boundary is not drawn, then it will look like there is no fog at all in front of the boundary. Some old levels may look bad with fog boundary drawing enabled, which is why this cvar is available.&lt;br /&gt;
&lt;br /&gt;
===r_particles===&lt;br /&gt;
boolean: true&amp;lt;br&amp;gt;&lt;br /&gt;
If set to true, particles are drawn. Otherwise, they aren&#039;t. &lt;br /&gt;
&lt;br /&gt;
===r_stretchsky===&lt;br /&gt;
boolean: true&amp;lt;br&amp;gt;&lt;br /&gt;
Controls whether or not short sky textures are stretched so that you don&#039;t see them wrap when you look up. &lt;br /&gt;
&lt;br /&gt;
===r_viewsize===&lt;br /&gt;
string&amp;lt;br&amp;gt;&lt;br /&gt;
This cvar contains the width and height of the current view window. This cvar is read only. &lt;br /&gt;
&lt;br /&gt;
===r_visibility [visibility]===&lt;br /&gt;
Without any parameters, displays the current visibility. With a parameter, the visibility is set. Standard visibility for the Doom engine is 8. Visibility determines how quickly light drops off with distance from the viewer. At 0 visibility, there is no change in lighting with depth.&lt;br /&gt;
&lt;br /&gt;
==Video==&lt;br /&gt;
&lt;br /&gt;
===fullscreen===&lt;br /&gt;
boolean: true&amp;lt;br&amp;gt;&lt;br /&gt;
If this cvar is true, the game will be displayed fullscreen. Otherwise, it will be drawn in a window. Some video cards may require that you have fullscreen false in order to run ZDoom. &lt;br /&gt;
&lt;br /&gt;
===vid_attachedsurfaces (Win32 only)===&lt;br /&gt;
boolean: false&amp;lt;br&amp;gt;&lt;br /&gt;
Controls how the game allocates video memory. False is the standard setting and will always produce a useable display. If you find that there are patches of pure black and pure white on the screen (especially noticeable when a demon is right in your face), try setting this to true. Certain old Windows 95 video drivers are said to need this fix, and it is also necessary under NT 4. Unfortunately, many new video drivers (including those under NT 4) will produce a scrambled display if the screen width is not 512 or 1024 pixels and this is set to true.&lt;br /&gt;
&lt;br /&gt;
===vid_currentmode===&lt;br /&gt;
Displays the resolution of the current video mode.&lt;br /&gt;
&lt;br /&gt;
===vid_defbits===&lt;br /&gt;
integer: 8&amp;lt;br&amp;gt;&lt;br /&gt;
Ignored. This cvar is meant to specify the default screen depth, but the setting is currently ignored because only 256-color displays are supported.&lt;br /&gt;
&lt;br /&gt;
===vid_defheight===&lt;br /&gt;
integer: 200&amp;lt;br&amp;gt;&lt;br /&gt;
Specifies the default screen height to use if not overridden at the command line by the -height switch.&lt;br /&gt;
&lt;br /&gt;
===vid_defwidth===&lt;br /&gt;
integer: 320&amp;lt;br&amp;gt;&lt;br /&gt;
Specifies the default screen width to use if not overridden at the command line with the -width switch.&lt;br /&gt;
&lt;br /&gt;
===vid_listmodes===&lt;br /&gt;
Lists all resolutions supported by the current display driver.&lt;br /&gt;
&lt;br /&gt;
===vid_fps===&lt;br /&gt;
boolean: false&amp;lt;br&amp;gt;&lt;br /&gt;
When true, displays the average framerate over the past second in the lower-left corner of the screen. Because Doom&#039;s internal game rate and frame rate are linked, the framerate will never be (much) above 35 fps.&lt;br /&gt;
&lt;br /&gt;
===vid_noblitter (Win32 only)===&lt;br /&gt;
boolean: true&amp;lt;br&amp;gt;&lt;br /&gt;
Setting this to false will allow the use of the hardware to assist moving image data to video memory. When I initial wrote the code to use the blitter, it was faster than not using it. Now the blitter is slower, and I can&#039;t figure out why, so the default is true.&lt;br /&gt;
&lt;br /&gt;
===vid_palettehack (Win32 only)===&lt;br /&gt;
boolean: false&amp;lt;br&amp;gt;&lt;br /&gt;
When this cvar is true, the game will refresh the palette every time the screen is redrawn. This can be useful with some buggy video drivers. If the display is fine without it, leave it that way because this can slightly slow things down.&lt;br /&gt;
&lt;br /&gt;
===vid_setmode (width) (height) [depth]===&lt;br /&gt;
Sets the screen mode to width x height with an optional color depth (if your video hardware supports it). Only a depth of 8 is supported. See also vid_currentmode, vid_listmodes&lt;br /&gt;
&lt;br /&gt;
===vid_vsync (Win32 only)===&lt;br /&gt;
boolean: true&amp;lt;br&amp;gt;&lt;br /&gt;
Set this to false to disable vsync. Not all video cards support disabling vsync.&lt;br /&gt;
&lt;br /&gt;
==Bots==&lt;br /&gt;
&lt;br /&gt;
===addbot [name]===&lt;br /&gt;
Spawns a bot. If a name is given, the corresponding bot in bots.cfg will be spawned. Otherwise, a bot will be picked at random from bots.cfg. &lt;br /&gt;
&lt;br /&gt;
===bot_allowspy===&lt;br /&gt;
boolean: false&amp;lt;br&amp;gt;&lt;br /&gt;
Allows you to see through the eyes of bots during botmatch games. &lt;br /&gt;
&lt;br /&gt;
===bot_observer===&lt;br /&gt;
boolean: false&amp;lt;br&amp;gt;&lt;br /&gt;
When set to 1, the player will experience minimal interaction with the world, and bots will ignore him. &lt;br /&gt;
&lt;br /&gt;
===listbots===&lt;br /&gt;
Lists the bots available in bots.cfg, and indicates which are currently playing. &lt;br /&gt;
&lt;br /&gt;
===removebots===&lt;br /&gt;
Removes any bots from the game. Bots will also be automatically removed from network games when the arbitrator quits.&lt;br /&gt;
&lt;br /&gt;
==Automap==&lt;br /&gt;
&lt;br /&gt;
===togglemap===&lt;br /&gt;
Toggles the automap on/off.&lt;br /&gt;
&lt;br /&gt;
===am_backcolor===&lt;br /&gt;
color: &amp;quot;6c 54 40&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
The color of the automap background. Changes to this cvar take effect the next time the automap is activated. &lt;br /&gt;
&lt;br /&gt;
===am_cdwallcolor===&lt;br /&gt;
color: &amp;quot;4c 38 20&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
The color of two-sided lines that have a different ceiling height on each side. &lt;br /&gt;
&lt;br /&gt;
===am_fdwallcolor===&lt;br /&gt;
color: &amp;quot;88 70 58&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
The color of two-sided lines that have a different floor height on each side. &lt;br /&gt;
&lt;br /&gt;
===am_gridcolor===&lt;br /&gt;
color: &amp;quot;8b 5a 2b&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
The color of the automap grid. &lt;br /&gt;
&lt;br /&gt;
===am_interlevelcolor===&lt;br /&gt;
color: &amp;quot;ff 00 00&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
The color of inter-level teleporters. These are teleporters that teleport you to a different map. &lt;br /&gt;
&lt;br /&gt;
===am_intralevelcolor===&lt;br /&gt;
color: &amp;quot;00 00 ff&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
The color of intra-level teleporters. These are teleporters that teleport you to a different location on the same map. &lt;br /&gt;
&lt;br /&gt;
===am_lockedcolor===&lt;br /&gt;
color: &amp;quot;00 00 98&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
The color of lines that open locked doors. &lt;br /&gt;
&lt;br /&gt;
===am_notseencolor===&lt;br /&gt;
color: &amp;quot;6c 6c 6c&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
The color of lines on the automap that haven&#039;t yet been seen. Visible with a computer area map. &lt;br /&gt;
&lt;br /&gt;
===am_overlay===&lt;br /&gt;
boolean: false&amp;lt;br&amp;gt;&lt;br /&gt;
Normally, the togglemap command switches the automap between fully off and fully on. Setting this cvar to &amp;quot;1&amp;quot; will cause togglemap to draw the automap on top of the player&#039;s view before it draws the automap fullscreen. (Bad description, I know. Just try it) &lt;br /&gt;
&lt;br /&gt;
===am_ovotherwallscolor===&lt;br /&gt;
color: &amp;quot;00 88 44&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
The color of passable lines on the automap when the map is overlayed. &lt;br /&gt;
&lt;br /&gt;
===am_ovtelecolor===&lt;br /&gt;
color: &amp;quot;ff ff 00&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
The color of teleportersboth inter- and intra-levelon the overlayed automap.&lt;br /&gt;
&lt;br /&gt;
===am_ovthingcolor===&lt;br /&gt;
color: &amp;quot;e8 88 00&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
The color of things visible with the automap cheat when the map is overlayed. &lt;br /&gt;
&lt;br /&gt;
===am_ovunseencolor===&lt;br /&gt;
color: &amp;quot;00 22 6e&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
The color of unseen lines on the automap when the map is overlayed. &lt;br /&gt;
&lt;br /&gt;
===am_ovwallcolor===&lt;br /&gt;
color: &amp;quot;00 ff 00&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
The color of impassable walls when the automap is overlayed. &lt;br /&gt;
&lt;br /&gt;
===am_ovyourcolor===&lt;br /&gt;
color: &amp;quot;fc e8 d8&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
The color of the arrow representing the player in single player games when the map is overlayed. &lt;br /&gt;
&lt;br /&gt;
===am_rotate===&lt;br /&gt;
boolean: false&amp;lt;br&amp;gt;&lt;br /&gt;
Normally, the automap is always drawn such that north is at the top of the screen. Setting this cvar to &amp;quot;1&amp;quot; causes the automap to be drawn so that lines toward the top of the screen are always directly in front of the player&#039;s view. This can be particularly useful when the automap is overlayed. &lt;br /&gt;
&lt;br /&gt;
===am_showitems===&lt;br /&gt;
boolean: false&amp;lt;br&amp;gt;&lt;br /&gt;
When true, the fullscreen automap will display a count of all the &amp;quot;special&amp;quot; items you have found on the map. These are the same items that are used to determine the Items stat on the intermission screen.&lt;br /&gt;
&lt;br /&gt;
===am_showmonsters===&lt;br /&gt;
boolean: true&amp;lt;br&amp;gt;&lt;br /&gt;
When true, the fullscreen automap will display a count of the number of monsters that have been killed in the current level and the total number of monsters in the level. &lt;br /&gt;
&lt;br /&gt;
===am_showsecrets===&lt;br /&gt;
boolean: true&amp;lt;br&amp;gt;&lt;br /&gt;
When true, the fullscreen automap will display a count of the number of secrets that have been found in the current level and the total number of secrets in the level. &lt;br /&gt;
&lt;br /&gt;
===am_showtime===&lt;br /&gt;
boolean: true&amp;lt;br&amp;gt;&lt;br /&gt;
When true, the fullscreen automap will display the total amount of time you have been in a level (excluding time that has been paused). &lt;br /&gt;
&lt;br /&gt;
===am_thingcolor===&lt;br /&gt;
color: &amp;quot;fc fc fc&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
The color of things revealed with the map cheat. &lt;br /&gt;
&lt;br /&gt;
===am_tswallcolor===&lt;br /&gt;
color: &amp;quot;88 88 88&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
The color of two-sided lines that don&#039;t have any difference in floor or ceiling heights on either side. Only seen using map cheat. &lt;br /&gt;
&lt;br /&gt;
===am_usecustomcolors===&lt;br /&gt;
boolean: true&amp;lt;br&amp;gt;&lt;br /&gt;
When true, the automap uses the colors specified by the am_* cvars, otherwise it uses the standard DOOM automap colors. &lt;br /&gt;
&lt;br /&gt;
am_wallcolor&amp;lt;br&amp;gt;&lt;br /&gt;
color: &amp;quot;2c 18 08&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
The color of one-sided and secret walls in the automap. &lt;br /&gt;
&lt;br /&gt;
===am_xhaircolor===&lt;br /&gt;
color: &amp;quot;80 80 80&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
The color of the &amp;quot;crosshair&amp;quot; dot in the center of the automap. &lt;br /&gt;
&lt;br /&gt;
===am_yourcolor===&lt;br /&gt;
color: &amp;quot;fc e8 d8&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
The color of the arrow representing the player in single player games.&lt;br /&gt;
&lt;br /&gt;
==Player Settings==&lt;br /&gt;
&lt;br /&gt;
===autoaim===&lt;br /&gt;
float: 5000&amp;lt;br&amp;gt;&lt;br /&gt;
This represents the vertical distance from an object that the player&#039;s sight must be before that object is aimed at. Setting this cvar to &amp;quot;0&amp;quot; disables autoaiming, while large values such as &amp;quot;5000&amp;quot; will reproduce the original DOOM behavior of always autoaiming. &lt;br /&gt;
&lt;br /&gt;
===color===&lt;br /&gt;
color&amp;lt;br&amp;gt;&lt;br /&gt;
This is your player&#039;s color. The default varies depending on which game you are playing. &lt;br /&gt;
&lt;br /&gt;
===gender===&lt;br /&gt;
string: &amp;quot;male&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
This is the gender of your player. Valid values are &amp;quot;male&amp;quot;, &amp;quot;female&amp;quot;, and &amp;quot;neuter&amp;quot;. Anything else will be treated as male. When you die, certain messages will be altered to reflect the gender selected here. Unfortunately, I don&#039;t provide any non-male player sounds, so you&#039;ll still sound like a man no matter what this cvar is set to unless you provide your own sounds. &lt;br /&gt;
&lt;br /&gt;
===movebob===&lt;br /&gt;
float: 0.25&amp;lt;br&amp;gt;&lt;br /&gt;
Controls how much the view bobs up and down while you are moving. 0 would be no bob at all.&lt;br /&gt;
&lt;br /&gt;
===name===&lt;br /&gt;
string: &amp;quot;Player&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
This is your player&#039;s name. This is only really useful in a multiplayer game, but it can also be set for single player. &lt;br /&gt;
&lt;br /&gt;
===neverswitchonpickup===&lt;br /&gt;
boolean: false&amp;lt;br&amp;gt;&lt;br /&gt;
When this cvar is true, you won&#039;t automatically switch to a new weapon when you pick one up. &lt;br /&gt;
&lt;br /&gt;
===skin===&lt;br /&gt;
string: &amp;quot;base&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
This is your player&#039;s skin. &amp;quot;Base&amp;quot; is the name of the regular Doom marine and is always available. Additional skins are contained in wad files that you either load with -file at the command line or autoload using the .ini or skins directory. &lt;br /&gt;
&lt;br /&gt;
===stillbob===&lt;br /&gt;
float: 0&amp;lt;br&amp;gt;&lt;br /&gt;
Controls the amount of bobbing up and down that occurs when standing still. 0 is no bobbing at all.&lt;br /&gt;
&lt;br /&gt;
===team===&lt;br /&gt;
integer: 255&amp;lt;br&amp;gt;&lt;br /&gt;
This is the team that your player belongs to. It is only meaningful during deathmatch games. There are four teams available: &lt;br /&gt;
&lt;br /&gt;
#Red &lt;br /&gt;
#Blue &lt;br /&gt;
#Green &lt;br /&gt;
#Gold&lt;br /&gt;
&lt;br /&gt;
Using a team of 255 is special and will automatically assign you to whichever team has fewer players.&lt;br /&gt;
&lt;br /&gt;
==Debugging==&lt;br /&gt;
&lt;br /&gt;
===autosavenum===&lt;br /&gt;
integer: 0&amp;lt;br&amp;gt;&lt;br /&gt;
This cvar keeps track of the number used for the next automatic save and is updated each time an automatic save is made. You cannot change it from the console.&lt;br /&gt;
&lt;br /&gt;
===clearwallcycles===&lt;br /&gt;
Used for profiling the wall drawer.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===countdecals===&lt;br /&gt;
Returns the internal count of automatically generated decals.&lt;br /&gt;
&lt;br /&gt;
===countdecalsreal===&lt;br /&gt;
Iterates through every automatically generated decal in the level and returns how many are present. Compare this value with what countdecals returns to ensure that the internal count is accurate.&lt;br /&gt;
&lt;br /&gt;
===demo_compress===&lt;br /&gt;
boolean: true&amp;lt;br&amp;gt;&lt;br /&gt;
Keep this cvar true to compress demos so that they take up less space on disk.&lt;br /&gt;
&lt;br /&gt;
===developer===&lt;br /&gt;
boolean: false&amp;lt;br&amp;gt;&lt;br /&gt;
When true, prints various debugging messages to the console. &lt;br /&gt;
&lt;br /&gt;
===dir [[path/][pattern]]===&lt;br /&gt;
This command lists the contents of a directory. It supports wildcards (but will not recurse into multiple directories). If [path] is not specified, it will display the contents of the directory the game was run from. &lt;br /&gt;
&lt;br /&gt;
===disableautosave===&lt;br /&gt;
integer: 0&amp;lt;br&amp;gt;&lt;br /&gt;
Controls how frequently the game automatically saves for you. The possible settings are: &lt;br /&gt;
#Whenever you enter a new level and whenever the level requests it. &lt;br /&gt;
#Only when the level requests it. &lt;br /&gt;
#Never. &lt;br /&gt;
&lt;br /&gt;
===dumpclasses [base-class]===&lt;br /&gt;
Displays a list of all classes in the game. You can use base-class to limit the list to only those classes that derive from base-class. For example, dumpclasses actor will only show those classes that can be spawned in a level (including actors from all supported games). If you only want a list of weapons, you can use dumpclasses weapon. This list can be quite long and exceed the length of the console buffer, so it is a good idea to capture its output to a file using the logfile command.&lt;br /&gt;
&lt;br /&gt;
===dumpheap===&lt;br /&gt;
Prints detailed information about the zone heap. Probably not very useful to the average user. The zone heap&#039;s primary purpose is to hold graphics while you run around a level so that they don&#039;t need to be constantly reloaded from disk. &lt;br /&gt;
&lt;br /&gt;
===dumpmap (wadname) [mapname]===&lt;br /&gt;
Saves the current state of the level (minus actors) to a new wad called wadname. If you don&#039;t specify a mapname, it will be saved as MAP01. I used this while testing the internal node builder. Because ZDoom can now load Build maps, you can use this as a simple Build-&amp;gt;Doom converter (although limitations in the Doom map format will likely force you to make several edits to produce a useable map).&lt;br /&gt;
&lt;br /&gt;
===dumpmapthings===&lt;br /&gt;
Lists all the map editor numbers for actors in the current game.&lt;br /&gt;
dumpspawnables&lt;br /&gt;
Lists all the spawn numbers for actors in the current game.&lt;br /&gt;
&lt;br /&gt;
===echo (string)===&lt;br /&gt;
Prints string to the console. &lt;br /&gt;
&lt;br /&gt;
===error (error-message)===&lt;br /&gt;
Simulates an error by killing the current game and falling back to the fullscreen console with the specified message. &lt;br /&gt;
&lt;br /&gt;
===error_fatal (error-message)===&lt;br /&gt;
Simulates a fatal error by exiting the game completely and showing the error-message.&lt;br /&gt;
&lt;br /&gt;
===freeze===&lt;br /&gt;
Use this command once to freeze gameplay (while still allowing you to move around). Use it again to unfreeze gameplay. &lt;br /&gt;
&lt;br /&gt;
===gameversion===&lt;br /&gt;
Prints the version number and compile date of ZDoom. &lt;br /&gt;
&lt;br /&gt;
===genblockmap===&lt;br /&gt;
boolean: false&amp;lt;br&amp;gt;&lt;br /&gt;
Set this to true to force the game to ignore the blockmap saved with a map and always generate it from scratch, whether it needs to be generated or not.&lt;br /&gt;
&lt;br /&gt;
===gennodes===&lt;br /&gt;
boolean: false&amp;lt;br&amp;gt;&lt;br /&gt;
Set this to true if you want the game to ignore the BSP tree saved with a map and always build a new one. A value of true for gennodes also implies a true value for genblockmap.&lt;br /&gt;
&lt;br /&gt;
===get (cvar)===&lt;br /&gt;
Displays the value of cvar. This is redundant because typing the name of the cvar alone at the console will accomplish the same thing. &lt;br /&gt;
&lt;br /&gt;
===nofilecompression===&lt;br /&gt;
boolean: false&amp;lt;br&amp;gt;&lt;br /&gt;
This is a debugging cvar used to disable file compression. You should leave it set to false. &lt;br /&gt;
&lt;br /&gt;
===noise===&lt;br /&gt;
boolean: false&amp;lt;br&amp;gt;&lt;br /&gt;
When set to true, the current status of all sound channels is displayed on the screen. &lt;br /&gt;
&lt;br /&gt;
===pings===&lt;br /&gt;
This lists a very rough estimate of the speed of the connection between your machine and any others in the game. In reality, the values printed by this command aren&#039;t even pings; they&#039;re just the number of milliseconds that have passed since the last time you received a network packet from the other machines. &lt;br /&gt;
&lt;br /&gt;
===playerinfo [player-number]===&lt;br /&gt;
Without parameters, lists the numbers for each player in the game. If you specify a player-number, then details about that player&#039;s user info will be listed.&lt;br /&gt;
&lt;br /&gt;
===playersounds===&lt;br /&gt;
Lists the player sounds defined by each player class and skin.&lt;br /&gt;
&lt;br /&gt;
===skins===&lt;br /&gt;
Lists the names of the skins that were loaded when the game was started. &lt;br /&gt;
&lt;br /&gt;
===playmovie (filename)===&lt;br /&gt;
Plays a movie. Gameplay will be halted either until the movie finishes or the user presses the Escape key. Under Windows, DirectShow is used to play the movie, so you can watch anything that Windows Media Player can play. Movie playback is not implemented under other operating systems.&lt;br /&gt;
&lt;br /&gt;
===playsound (sound)===&lt;br /&gt;
Plays a sound on the local machine. Like all other sounds in the game, sound must be properly defined in a SNDINFO lump before you can use it.&lt;br /&gt;
&lt;br /&gt;
===print (string)===&lt;br /&gt;
Prints a named string to the console. These are the strings you can edit with a bex patch.&lt;br /&gt;
&lt;br /&gt;
===scriptstat===&lt;br /&gt;
Lists the scripts running on the current level.&lt;br /&gt;
&lt;br /&gt;
===soundlinks===&lt;br /&gt;
Lists the links between different sounds that use the same sound data. Links are generated dynamically while you play, so it is possible for this command to give different results in different games and even at different times during the same game. &lt;br /&gt;
&lt;br /&gt;
===soundlist===&lt;br /&gt;
Lists all the sounds defined and the lumps that they alias to. Unlike regular Doom, ZDoom refers to sounds using a long name and uses a SNDINFO lump to map those to the lumps in a WAD file that contain the actual sounds. Logical sounds that refer to the same sound data will have links generated as neccessary to avoid actually loading multiple copies of the same sound into memory. &lt;br /&gt;
&lt;br /&gt;
===summon (actor-class)===&lt;br /&gt;
Spawns a new actor in front of you. A complete list of actors can be obtained with the dumpclasses actor command. For a list of actors limited to those you can place in an editor, use the dumpmapthings command. It is possible to spawn actors from another game with this command, but they will not be visible unless you provide the missing graphics for them.&lt;br /&gt;
&lt;br /&gt;
===spray (decal)===&lt;br /&gt;
Sprays a decal on a nearby wall so you can see what it looks like.&lt;br /&gt;
&lt;br /&gt;
===stat [page]===&lt;br /&gt;
Displays profiling information. When used alone, displays a list of available displays. Use one of those as the page parameter to toggle the display on and off. &lt;br /&gt;
&lt;br /&gt;
===stat (blit)===&lt;br /&gt;
:Time spent copying the display to video memory. &lt;br /&gt;
&lt;br /&gt;
===stat (bots)===&lt;br /&gt;
:Time spent doing bot-related activities. &lt;br /&gt;
&lt;br /&gt;
===stat (destroys)=== &lt;br /&gt;
:Statistics on object deletion each frame. &lt;br /&gt;
&lt;br /&gt;
===stat (detail)=== &lt;br /&gt;
:Time spent replicating pixels for low detail modes. &lt;br /&gt;
&lt;br /&gt;
===stat (fps)=== &lt;br /&gt;
:Time spent rendering the scene (not the same as setting vid_fps to true). &lt;br /&gt;
&lt;br /&gt;
===stat (purge)===&lt;br /&gt;
:Statistics of memory purged from the zone heap each frame. &lt;br /&gt;
&lt;br /&gt;
===stat (sight)=== &lt;br /&gt;
:Time spent in sight calculations. &lt;br /&gt;
&lt;br /&gt;
===stat (sound)===&lt;br /&gt;
:Number of active channels and %CPU used for sound. &lt;br /&gt;
&lt;br /&gt;
===stat (think)=== &lt;br /&gt;
:Time spent running all thinkers. &lt;br /&gt;
&lt;br /&gt;
===stat (wallcycles)=== &lt;br /&gt;
:Used in conjunction with clearwallcycles to profile the wall drawer. &lt;br /&gt;
&lt;br /&gt;
===ticker===&lt;br /&gt;
boolean: false&amp;lt;br&amp;gt;&lt;br /&gt;
When true, draws a series of dots at the bottom of the screen representing the number of tics it took to display the current frame. (One tic is 1/35th of a second.) When -devparm is specified on the command line, this cvar is automatically set to true. You can get a rough idea of your fps by counting the number of lit dots and dividing that from 35. A better way would be to use vid_fps.&lt;br /&gt;
&lt;br /&gt;
===tilt===&lt;br /&gt;
boolean: false&amp;lt;br&amp;gt;&lt;br /&gt;
Setting this to true causes all planes to be drawn using the sloped drawer, even if they aren&#039;t sloped.&lt;br /&gt;
&lt;br /&gt;
===tx===&lt;br /&gt;
integer: 8&amp;lt;br&amp;gt;&lt;br /&gt;
The horizontal scale for textures that don&#039;t specify their own.&lt;br /&gt;
&lt;br /&gt;
===ty===&lt;br /&gt;
integer: 8&amp;lt;br&amp;gt;&lt;br /&gt;
The vertical scale for textures that don&#039;t specify their own.&lt;br /&gt;
&lt;br /&gt;
===warp (x-coordinate) (y-coordinate)===&lt;br /&gt;
Sends you to the specified coordinates immediately. This can be used with idmypos to debug problems in a specific area of a map.&lt;/div&gt;</summary>
		<author><name>Lexus Alyus</name></author>
	</entry>
	<entry>
		<id>https://zdoom.org/w/index.php?title=Console_commands&amp;diff=514</id>
		<title>Console commands</title>
		<link rel="alternate" type="text/html" href="https://zdoom.org/w/index.php?title=Console_commands&amp;diff=514"/>
		<updated>2004-01-06T11:26:45Z</updated>

		<summary type="html">&lt;p&gt;Lexus Alyus: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Console Commands are used to alter the way ZDoom does something, such as changing the sound volume, changing DMflags, etc...&lt;br /&gt;
&lt;br /&gt;
You access the console by pressing &amp;quot;~&amp;quot; at any time. (This depends on your keyboard layout, for German keyboard, it is &amp;quot;^&amp;quot;, but to summarize it, it is the key above TAB.)&lt;br /&gt;
&lt;br /&gt;
==Console variable types==&lt;br /&gt;
&lt;br /&gt;
There are six types of cvars: Boolean, Integer, Float, String, Colour and Flag.&lt;br /&gt;
&lt;br /&gt;
=== boolean ===&lt;br /&gt;
&lt;br /&gt;
This type of variable represents a yes/no or on/off value. It can only be set to true or false. As shorthand, setting a boolean variable to 0 will set it to false, and setting it to anything non-zero will set it to true. &lt;br /&gt;
&lt;br /&gt;
=== integer ===&lt;br /&gt;
&lt;br /&gt;
This is an ordinary number without a decimal point. For example, 1 is an integer, but 1.2 is not. &lt;br /&gt;
&lt;br /&gt;
=== float ===&lt;br /&gt;
&lt;br /&gt;
This is an ordinary number that can have a decimal point. &lt;br /&gt;
&lt;br /&gt;
=== string ===&lt;br /&gt;
&lt;br /&gt;
This is a series of text characters enclosed in quotes: For example, &amp;quot;Felix loitered lecherously on the lot&amp;quot; is a string. If you removed the quotes around it, then it would not be a string. &lt;br /&gt;
If you need to use quotes inside a string, preface it with a backslash.&lt;br /&gt;
&lt;br /&gt;
 Are you &amp;quot;The One&amp;quot; of old?&lt;br /&gt;
&lt;br /&gt;
would be written like this as a string: &lt;br /&gt;
&lt;br /&gt;
 &amp;quot;Are you \&amp;quot;The One\&amp;quot; of old?&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== colour ===&lt;br /&gt;
&lt;br /&gt;
This type of variable is a series of three hexadecimal numbers representing the amounts of red, green, and blue (in that order) in a color. For example, pure red would be represented as &amp;quot;ff 00 00&amp;quot;. As a shorthand, you can set a color variable with one of several color names, and the RGB values will be set for you. (EDIT: That&#039;s just a string, i.e. testcolor &amp;quot;ff 00 00&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
=== flag ===&lt;br /&gt;
&lt;br /&gt;
This type of variable mirrors a setting in dmflags or dmflags2. Setting its value will set the corresponding value in one of those variables, and getting its value will get the corresponding value from one of the other two variables. This is designed to make using dmflags easier, because you don&#039;t have to memorize any numbers.&lt;br /&gt;
&lt;br /&gt;
==Button Commands==&lt;br /&gt;
&lt;br /&gt;
Button commands are commands that represent buttons and come in pairs. Each &amp;quot;button&amp;quot; has a command prefixed by a + and another corresponding command prefixed by a -. The + version of the command simulates pushing the button, and the - version of the command simulates releasing the button.&lt;br /&gt;
&lt;br /&gt;
When you bind a command that begins with + to a key, releasing the key will automatically execute the same command with the + replaced by a -. Note that this works for aliases as well as the commands listed here. This provides a useful way to bind multiple actions to a single key. Suppose you want the normal Doom behavior of moving forward and using when you double click the right mouse button. If you use the commands &lt;br /&gt;
&lt;br /&gt;
 bind mouse2 +forward&lt;br /&gt;
 doublebind mouse2 +use&lt;br /&gt;
&lt;br /&gt;
ZDoom will move you forward when you press the right mouse button. When you double click it, you will press use, but you will not move forward. To simulate the standard Doom behavior, you can replace the doublebind command with these three commands instead: &lt;br /&gt;
&lt;br /&gt;
 alias +useforward &amp;quot;+use; +forward&amp;quot;&lt;br /&gt;
 alias -useforward &amp;quot;-use; -forward&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 doublebind mouse2 +useforward&lt;br /&gt;
&lt;br /&gt;
Now when you double click the right mouse button, the +useforward alias will be executed. Because +useforward&#039;s name begins with a + releasing the right mouse button will execute the -useforward alias (whether or not -useforward is defined). &lt;br /&gt;
&lt;br /&gt;
This behavior of executing a - command when a key is released applies only to the first command or alias bound to the key. If you bind a key to &amp;quot;+forward; +right&amp;quot;, releasing the key will execute the command &amp;quot;-forward; +right&amp;quot; and not &amp;quot;-forward; -right&amp;quot;. As shown above, you can use aliases to get the correct behavior. &lt;br /&gt;
&lt;br /&gt;
Another trick you can do with aliases is to create a key that only executes the + command without executing the - command. If you wanted a key that will make you move forward when you press it, and will keep you moving forward even after releasing it, you can use an alias like this:&lt;br /&gt;
&lt;br /&gt;
 alias go &amp;quot;+forward&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Then instead of binding +forward to a key, you bind go to the key instead. This works because go does not begin with a + so nothing will happen when you release the key?ZDoom only looks at the command actually bound to the key to determine if it should execute a - command when the key is released; it does not look inside aliases. &lt;br /&gt;
&lt;br /&gt;
=== Standard buttons ===&lt;br /&gt;
&lt;br /&gt;
+attack Use your weapon.&amp;lt;br&amp;gt;&lt;br /&gt;
-attack Stop using your weapon.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+use Start trying to use anything in front of you.&amp;lt;br&amp;gt;&lt;br /&gt;
-use Stop trying to use anything in front of you.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+back Move backward.&amp;lt;br&amp;gt;&lt;br /&gt;
-back Stop moving backward.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+forward Move forward.&amp;lt;br&amp;gt;&lt;br /&gt;
-forward Stop moving forward.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+jump Start jumping.&amp;lt;br&amp;gt;&lt;br /&gt;
-jump Stop jumping.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+left Start turning left.&amp;lt;br&amp;gt;&lt;br /&gt;
-left Stop turning left.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+right Start turning right.&amp;lt;br&amp;gt;&lt;br /&gt;
-right Stop turning right.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+moveleft Start strafing left.&amp;lt;br&amp;gt;&lt;br /&gt;
-moveleft Stop strafing left.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+moveright Start strafing right.&amp;lt;br&amp;gt;&lt;br /&gt;
-moveright Stop strafing right.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+lookdown Start lowering your view.&amp;lt;br&amp;gt;&lt;br /&gt;
-lookdown Stop lowering your view.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+lookup Start raising your view.&amp;lt;br&amp;gt;&lt;br /&gt;
-lookup Stop raising your view.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+movedown Start moving down if swimming or flying.&amp;lt;br&amp;gt;&lt;br /&gt;
-movedown Stop moving down.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+moveup Start moving up if swimming or flying.&amp;lt;br&amp;gt;&lt;br /&gt;
-moveup Stop moving up if swimming or flying.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+strafe Causes +left and +right to behave like +moveleft and +moveright;&amp;lt;br&amp;gt;&lt;br /&gt;
-strafe Returns +left and +right to their normal behavior.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+klook Causes +forward and +back to act like +lookup and +lookdown instead.&amp;lt;br&amp;gt;&lt;br /&gt;
-klook Returns +forward and +back to their normal behavior.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+mlook Moving the mouse up and down will make you look up and down.&amp;lt;br&amp;gt;&lt;br /&gt;
-mlook Moving the mouse up and down will make you move forward and backward. However, if freelook is true, then moving the mouse up and down will still change your view instead of moving you.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
+showscores Display a scorelist for deathmatch games.&amp;lt;br&amp;gt;&lt;br /&gt;
-showscores Hide the deathmatch scorelist.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+speed Start running.&amp;lt;br&amp;gt;&lt;br /&gt;
-speed Start walking.&lt;br /&gt;
&lt;br /&gt;
==Customization==&lt;br /&gt;
&lt;br /&gt;
===addkeysection (menu-heading) (ini-section-name)&amp;lt;br&amp;gt;===&lt;br /&gt;
This command does two things. First, it adds a new heading called menu-heading to the controls menu. You can use the addmenukey command to add your own custom keys beneath this heading. Second, it loads all the bindings from the corresponding ini-section-name section in zdoom.ini. You can use this command multiple times to create different sections in the menu and ini for different sets of commands. If you use a menu-heading that was already added to the menu, new controls added with addmenukey will appear at the end of that section, but the bindings will not be reloaded from the ini. &lt;br /&gt;
&lt;br /&gt;
===addmenukey (description) (command)&amp;lt;br&amp;gt;===&lt;br /&gt;
Adds a new control to the controls menu. Description is the name of this control in the menu, and command is a console command or alias to be executed when the control is pressed. New controls are added to the last section specified with addkeysection.&lt;br /&gt;
&lt;br /&gt;
===addslot (slot) (weapon)===&lt;br /&gt;
Adds a single weapon to the list of weapons in a weapon slot.&lt;br /&gt;
&lt;br /&gt;
===alias (new-command) [command-string]===&lt;br /&gt;
If specified with no parameters, will display a list of all current aliases. If only new-command is specified, it will be removed from the list of aliases. If command-string is also specified, it will be added to the list of aliases as new-command. For example, to create a new command to kill the monsters on the level, you can use the command: &lt;br /&gt;
 alias massacre &amp;quot;kill monsters&amp;quot;&lt;br /&gt;
Then you can use the newly created massacre command to kill all the monsters on the level.&lt;br /&gt;
&lt;br /&gt;
===archivecvar (cvar)===&lt;br /&gt;
When you create a custom cvar with the set command, it will not normally be saved in the ini. You can use archivecvar after creating the cvar to indicate that the custom cvar&#039;s value should persist even after you quit.&lt;br /&gt;
&lt;br /&gt;
===atexit [command]===&lt;br /&gt;
If you specify a command, it will be added to a list of console commands to execute when the user quits the game. Commands are executed in the reverse order that they were added in. If you do not specify any arguments to atexit, then it will list the current set of commands that will execute when you quit.&lt;br /&gt;
&lt;br /&gt;
===bind (key [command string])===&lt;br /&gt;
If no parameters are specified, the entire list of bound keys will be printed to the console. If only [key] is specified, the binding for that specific key will be printed. If both [key] and [command string] are specified, [command string] will be bound to [key]. &lt;br /&gt;
&lt;br /&gt;
===binddefaults===&lt;br /&gt;
Binds all keys to their default commands. This will not unbind any keys that do not have any default bindings, so if you want to properly restore the default controls, you need to use unbindall first. &lt;br /&gt;
 defaultbind key command&lt;br /&gt;
Binds command to the key if and only if key is not already bound and there are no keys already bound to command.&lt;br /&gt;
&lt;br /&gt;
===doublebind (key [command string])===&lt;br /&gt;
This command works just like bind, except it controls the action that occurs when a key is double-clicked. If a key does not have a doublebinding, then double-clicking it has the same result as pressing it twice. Otherwise, the first press will execute the normal command set with bind, and the second press of the double-click will execute the command set with doublebind. &lt;br /&gt;
&lt;br /&gt;
===eval expression [variable]===&lt;br /&gt;
Evaluates a mathematical expression and either prints it to the console or stores it in variable. Expressions are written using prefix notation instead of the more common infix notation. Basically, you first specify what you want to do (the operator) and then what you want to do it to (the operands). You must separate operators and operands with spaces. &lt;br /&gt;
&lt;br /&gt;
Examples: &lt;br /&gt;
 To compute 2+2: &lt;br /&gt;
 eval + 2 2To compute 5-3: &lt;br /&gt;
 eval - 5 3To compute 2+(5*6): &lt;br /&gt;
 eval + 2 * 5 6To decrease the number of screenblocks: &lt;br /&gt;
 eval - $screenblocks 1 screenblocksThe supported operators are:&lt;br /&gt;
 + a b Adds a and b. &lt;br /&gt;
 - a b Subtracts b from a. &lt;br /&gt;
 * a b Multiplies a and b. &lt;br /&gt;
 / a b Divides a by b. &lt;br /&gt;
 % a b Calculates the remainder of a/b. &lt;br /&gt;
 ^ a b Raises a to the b-th power . &lt;br /&gt;
 &amp;lt; a b Produces 1 if a is less than b and 0 if not. &lt;br /&gt;
 &amp;lt;= a b Produces 1 if a is less than or equal to b and 0 if not. &lt;br /&gt;
 &amp;gt; a b Produces 1 if a is greater than b and 0 if not. &lt;br /&gt;
 &amp;gt;= a b Produces 1 if a is greater than or equal to b and 0 if not. &lt;br /&gt;
 = a b Produces 1 if a is equal to b and 0 if not.&lt;br /&gt;
&lt;br /&gt;
 == a b Produces 1 if a is equal to b and 0 if not. &lt;br /&gt;
 != a b Produces 1 if a is not equal to b and 0 if it is. &lt;br /&gt;
 &amp;lt;&amp;gt; a b Produces 1 if a is not equal to b and 0 if is. &lt;br /&gt;
 xor a b Calculates the bit-wise exclusive-or of a and b. &lt;br /&gt;
 &amp;amp; a b Calculates the bit-wise and of a and b. &lt;br /&gt;
 | a b Calculates the bit-wise or of a and b. &lt;br /&gt;
 &amp;amp;&amp;amp; a b Calculates the logical and of a and b. &lt;br /&gt;
 || a b Calculates the logical or of a and b. &lt;br /&gt;
&lt;br /&gt;
===exec (script-file)===&lt;br /&gt;
Executes a series of commands stored in the script-file as if they had been typed in at the console directly. &lt;br /&gt;
&lt;br /&gt;
===key value1 [value2]===&lt;br /&gt;
Translates all parameters to the command into their corresponding key values which are used internally for command and alias lookup. Probably not very useful for the average user. &lt;br /&gt;
&lt;br /&gt;
===puke (script [arguments])===&lt;br /&gt;
Executes an ACS script on the current map, optionally passing it up to three numerical arguments. &lt;br /&gt;
&lt;br /&gt;
===pullin (wadfile)===&lt;br /&gt;
Loads a wadfile at startup. This command is only valid inside .cfg files that have been execed at startup.&lt;br /&gt;
&lt;br /&gt;
===set (cvar) (value)===&lt;br /&gt;
Sets cvar to value. If cvar does not exist, it will be created. &lt;br /&gt;
&lt;br /&gt;
===rebind (binding)===&lt;br /&gt;
Changes the binding for the key that caused the rebind command to execute. For obvious reasons, this command cannot be used at the console.&lt;br /&gt;
&lt;br /&gt;
Example: &lt;br /&gt;
&lt;br /&gt;
 bind b &amp;quot;echo setting 1; rebind \&amp;quot;echo setting 2\&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
This will cause the first press of b to echo &amp;quot;setting 1&amp;quot; to the console. All future presses of b will echo &amp;quot;setting 2&amp;quot; instead. &lt;br /&gt;
&lt;br /&gt;
===unbind (key)===&lt;br /&gt;
Removes a binding from the specified key.&lt;br /&gt;
&lt;br /&gt;
===unbindall===&lt;br /&gt;
Removes all bindings and doublebindings from every key. To restore the default bindings, you can use the binddefaults command. There is no way to restore any custom bindings after issuing this command except by retyping each bind command or using the controls setup menu.&lt;br /&gt;
&lt;br /&gt;
===undoublebind (key)===&lt;br /&gt;
Removes a doublebinding from the specified key.&lt;br /&gt;
&lt;br /&gt;
===unset (cvar)===&lt;br /&gt;
Undefines a user-created cvar.&lt;br /&gt;
&lt;br /&gt;
==Screenshots==&lt;br /&gt;
&lt;br /&gt;
===png_gamma===&lt;br /&gt;
float: 0&amp;lt;br&amp;gt;&lt;br /&gt;
Controls the gamma level stored in PNG screenshots. If this is 0, then your current gamma setting will be used.&lt;br /&gt;
&lt;br /&gt;
===png_level===&lt;br /&gt;
integer: 5&amp;lt;br&amp;gt;&lt;br /&gt;
This is the level of compression to use for PNG screenshots. 0 is no compression at all, 1 is minimal compression (fastest), 9 is maximum compression (slowest), and intermediate values offer intermediate compression. 5 is offers a decent trade-of between file size and compression time. An uncompressed image will not neccessarily save faster than a compressed image, because the extra time needed to write out a complete uncompressed image may be longer than the time required to compress the image. If you need to create screenshots as quickly as possible, consider setting screenshot_type to &amp;quot;pcx&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
===screenshot [file]===&lt;br /&gt;
Dumps a copy of the screen to disk as a PNG or PCX file. If file is not specified, the screenshot will be saved to the directory the game was run from with a name of the form doom????.png. &lt;br /&gt;
&lt;br /&gt;
===screenshot_quiet===&lt;br /&gt;
boolean: false&amp;lt;br&amp;gt;&lt;br /&gt;
Setting this to true will suppress the messages informing you what file a screenshot was saved to.&lt;br /&gt;
&lt;br /&gt;
===screenshot_type===&lt;br /&gt;
string: &amp;quot;png&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Determines the type of screenshots that will be saved. This can be either &amp;quot;png&amp;quot; or &amp;quot;pcx&amp;quot;. In my empirical studies, PNG screenshots are about half the size of pcx screenshots. PCX screenshots have the advantage that they require less time to create so are most useful for rapid screenshot generation. The following sequence of console commands will take a screenshot every frame. You can use an external program to assemble these into a video, if desired. &lt;br /&gt;
&lt;br /&gt;
 screenshot_type &amp;quot;png&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
 screenshot_quiet true&amp;lt;br&amp;gt;&lt;br /&gt;
 alias autoshot &amp;quot;screenshot; wait 1; autoshot&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
 autoshot&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you use the autoshot alias, the command alias autoshot will stop automatic screenshot taking before you hit 10000 screenshots (approximately 4 minutes, 45 seconds).&lt;br /&gt;
&lt;br /&gt;
===storesavepic===&lt;br /&gt;
boolean: true&amp;lt;br&amp;gt;&lt;br /&gt;
Setting this to false will produce smaller savegames (by about 14k typically) by not storing a screenshot inside the savegame.&lt;br /&gt;
&lt;br /&gt;
==Chatting==&lt;br /&gt;
&lt;br /&gt;
===chat_substitution===&lt;br /&gt;
boolean: false&amp;lt;br&amp;gt;&lt;br /&gt;
Set this to true if you want to chat using special keywords that will be replaced with appropriate text when your messages are sent. The supported keywords are:&lt;br /&gt;
 &lt;br /&gt;
$health &amp;lt;br&amp;gt;&lt;br /&gt;
Replaced by your current health. &amp;lt;br&amp;gt;&lt;br /&gt;
$weapon &amp;lt;br&amp;gt;&lt;br /&gt;
Replaced by the name of your current weapon. &amp;lt;br&amp;gt;&lt;br /&gt;
$armor &amp;lt;br&amp;gt;&lt;br /&gt;
Replaced by your current armor count. &amp;lt;br&amp;gt;&lt;br /&gt;
$ammocount &amp;lt;br&amp;gt;&lt;br /&gt;
Replaced by your current ammo count. &amp;lt;br&amp;gt;&lt;br /&gt;
$ammo &amp;lt;br&amp;gt;&lt;br /&gt;
Replaced by the name of your current ammo.&lt;br /&gt;
&lt;br /&gt;
As an example, if you just started a new game of Doom and have chat substitution turned on, when you send the message &amp;quot;My health is $health, and I am using a $weapon&amp;quot;, the message that is actually sent will be &amp;quot;My health is 100, and I am using a Pistol&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
chatmacro0&amp;lt;br&amp;gt;&lt;br /&gt;
chatmacro1&amp;lt;br&amp;gt;&lt;br /&gt;
chatmacro2&amp;lt;br&amp;gt;&lt;br /&gt;
chatmacro3&amp;lt;br&amp;gt;&lt;br /&gt;
chatmacro4&amp;lt;br&amp;gt;&lt;br /&gt;
chatmacro5&amp;lt;br&amp;gt;&lt;br /&gt;
chatmacro6&amp;lt;br&amp;gt;&lt;br /&gt;
chatmacro7&amp;lt;br&amp;gt;&lt;br /&gt;
chatmacro8&amp;lt;br&amp;gt;&lt;br /&gt;
chatmacro9&amp;lt;br&amp;gt;&lt;br /&gt;
string&amp;lt;br&amp;gt;&lt;br /&gt;
These are all strings that can be assigned to hotkeys in chat mode. To use these, enter chat mode and then hold down Alt and press one of the number keys. The string stored in the corresponding chatmacro cvar will be sent as if you had typed it yourself. &lt;br /&gt;
&lt;br /&gt;
===messagemode===&lt;br /&gt;
Enters message entry mode. Anything typed while in this mode will be sent to everyone else as if you had used the say command once you press enter. &lt;br /&gt;
&lt;br /&gt;
===messagemode2===&lt;br /&gt;
This is just like messagemode except that the message is only sent to other members of your team. If teamplay is false or you don&#039;t have a team, then this command will work just like messagemode and send the message to everyone. &lt;br /&gt;
&lt;br /&gt;
===say (message)===&lt;br /&gt;
Sends a message to everyone playing. If your message begins with &amp;quot;/me&amp;quot; then &amp;quot;/me&amp;quot; will be replaced by your name ala IRC. &lt;br /&gt;
&lt;br /&gt;
===say_team (message)===&lt;br /&gt;
This is just like say except it only sends a message to your teammates. If teamplay is inactive, then this command will act exactly like say and send the message to everyone.&lt;br /&gt;
&lt;br /&gt;
==Cheating==&lt;br /&gt;
&lt;br /&gt;
===sv_cheats===&lt;br /&gt;
boolean: false&lt;br /&gt;
When true, cheats will be allowed in Nightmare difficulty and network games. For purposes of fairness, this cvar can only be set from the command line when you run ZDoom. This is to avoid situations where the key player in a multiplayer game (player 1) could go to the console and type something like this:&lt;br /&gt;
&lt;br /&gt;
 sv_cheats 1&lt;br /&gt;
 god&lt;br /&gt;
 sv_cheats 0&lt;br /&gt;
&lt;br /&gt;
whereby rendering himself immune to the attacks of others.&lt;br /&gt;
&lt;br /&gt;
===anubis===&lt;br /&gt;
Toggles monster fear on and off. Scared monsters will run away from you and attack less frequently.&lt;br /&gt;
&lt;br /&gt;
===fly===&lt;br /&gt;
Toggles fly mode on and off.&lt;br /&gt;
&lt;br /&gt;
===give (item)===&lt;br /&gt;
Gives an item to the player. Give understands the following special items: &lt;br /&gt;
 all - gives you everything &lt;br /&gt;
 health - gives you full health &lt;br /&gt;
 weapons - gives you every weapon &lt;br /&gt;
 ammo - gives you full ammo &lt;br /&gt;
 armor - gives you full armor &lt;br /&gt;
 keys - gives you every key &lt;br /&gt;
It also understands the names of individual inventory items. Use the command dumpclasses inventory for a complete list of these. &lt;br /&gt;
&lt;br /&gt;
===god===&lt;br /&gt;
Toggles God (Degreelessness) mode on/off. While active, you cannot be hurt by normal attacks (although telefragging will still kill you). Also known as iddqd. &lt;br /&gt;
&lt;br /&gt;
===iddqd===&lt;br /&gt;
The same as god, except it also gives you 100 health.&lt;br /&gt;
&lt;br /&gt;
===kill [monsters]===&lt;br /&gt;
If used as &amp;quot;kill monsters&amp;quot;, will kill all monsters on the level. Otherwise, it will kill you instead. This command is broken in netgames, so don&#039;t use it unless you are playing a single player game. &lt;br /&gt;
&lt;br /&gt;
===logfile [log-file]===&lt;br /&gt;
If log-file is not specified, console logging will be stopped (if active). Otherwise, a file named log-file will be created on disk, and all console output will be recorded in it as well as on the screen. &lt;br /&gt;
&lt;br /&gt;
===mdk===&lt;br /&gt;
This cheat will kill whatever you are looking at.&lt;br /&gt;
&lt;br /&gt;
===morphme===&lt;br /&gt;
Transforms you into a chicken in Heretic and a pig in Hexen and Doom (The latter only happens if you have the releven graphics present).&lt;br /&gt;
&lt;br /&gt;
===noclip===&lt;br /&gt;
Toggles noclipping mode on/off. &lt;br /&gt;
&lt;br /&gt;
===notarget===&lt;br /&gt;
Toggles notarget mode on/off. While active, monsters will not target you unless you hurt them first. In &amp;quot;modern FPS&amp;quot;, monsters &amp;quot;can&#039;t find you&amp;quot; when in notarget mode. This is not the case with ZDoom.&lt;br /&gt;
&lt;br /&gt;
===powerup===&lt;br /&gt;
Powers you up in Heretic as if you had used a Tome of Power.&lt;br /&gt;
&lt;br /&gt;
===sv_fastweapons (0-2)===&lt;br /&gt;
Increases speed of weapons in Doom, Heretic, and Hexen. Setting to 2 makes weapons even faster.&lt;br /&gt;
&lt;br /&gt;
===turbo===&lt;br /&gt;
float: 100&amp;lt;br&amp;gt;&lt;br /&gt;
This cvar affects how quickly the player moves. A value of 100 will cause the player to move at normal speed, 200 will cause the player to move at 200% of normal speed, 50 will cause the player to move at 50% of normal speed, etc. Valid values range from 10 to 256.&lt;br /&gt;
&lt;br /&gt;
==Display==&lt;br /&gt;
&lt;br /&gt;
===bumpgamma===&lt;br /&gt;
Increases the current gamma level by 0.1. If the new gamma level would be greater than 3.0, it wraps the gamma around to 1.0 &lt;br /&gt;
&lt;br /&gt;
===cl_bbannounce===&lt;br /&gt;
boolean: false&amp;lt;br&amp;gt;&lt;br /&gt;
When true, enables the Bloodbath announcer for deathmatch games. The Bloodbath announcer is &amp;quot;The Voice&amp;quot; from Monolith Software&#039;s Blood game. To hear the announcer, you need to load Blood&#039;s sounds.rff either at the command line or through one of zdoom.ini&#039;s [*.Autoload] sections. You can get this file either from the demo or full version of Blood. If you don&#039;t have sounds.rff, you can still see the announcer&#039;s messages even though you won&#039;t hear anything. &lt;br /&gt;
&lt;br /&gt;
===cl_showmultikills===&lt;br /&gt;
boolean: true&amp;lt;br&amp;gt;&lt;br /&gt;
Set this to false if you don&#039;t want to see Unreal Tournament-style messages when a player makes several kills in a short period of time.&lt;br /&gt;
&lt;br /&gt;
===cl_showsprees===&lt;br /&gt;
boolean: true&amp;lt;br&amp;gt;&lt;br /&gt;
Set this to false if you don&#039;t want to see Unreal Tournament-style messages when a player is on a killing spree.&lt;br /&gt;
&lt;br /&gt;
===cl_spreaddecals===&lt;br /&gt;
boolean: true&amp;lt;br&amp;gt;&lt;br /&gt;
ZDoom clips decals to sidedefs. In order to hide this, the game will create as many duplicate decals on adjoining sidedefs as needed to make it appear that there is only one unbroken decal on the wall. Set this cvar to false if you don&#039;t want this.&lt;br /&gt;
&lt;br /&gt;
===con_centernotify===&lt;br /&gt;
boolean: false for Doom, true for Heretic and Hexen&amp;lt;br&amp;gt;&lt;br /&gt;
When true, notify messages at the top of the screen are centered. Otherwise, they are justified against the left margin.&lt;br /&gt;
&lt;br /&gt;
===con_midtime===&lt;br /&gt;
float: 3&amp;lt;br&amp;gt;&lt;br /&gt;
This is the number of seconds that messages in the middle of the screen will be displayed before they dispapper. &lt;br /&gt;
&lt;br /&gt;
===con_notifytime===&lt;br /&gt;
float: 3&amp;lt;br&amp;gt;&lt;br /&gt;
This is the number of seconds that new messages will stay at the top of the screen before they start scrolling away. &lt;br /&gt;
&lt;br /&gt;
===con_scaletext===&lt;br /&gt;
boolean: false&amp;lt;br&amp;gt;&lt;br /&gt;
If this cvar is true, then message text will be scaled to larger sizes depending on the screen resolution so that it will stay approximately the same size it would be on a 320x200 screen. &lt;br /&gt;
&lt;br /&gt;
===crosshair===&lt;br /&gt;
integer: 0&amp;lt;br&amp;gt;&lt;br /&gt;
If this cvar is non-zero, it draws a crosshair. If this cvar is negative, the crosshair is translucent, otherwise it is opaque. The specific crosshair drawn depends on the value of this cvar. &lt;br /&gt;
&lt;br /&gt;
===crosshaircolor===&lt;br /&gt;
color: &amp;quot;ff 00 00&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
This is the crosshair&#039;s color if crosshairhealth is false.&lt;br /&gt;
&lt;br /&gt;
===crosshairgrow===&lt;br /&gt;
boolean: false&amp;lt;br&amp;gt;&lt;br /&gt;
Set this to true if you want the crosshair to temporarily enlarge each time you pick up an item.&lt;br /&gt;
&lt;br /&gt;
===crosshairhealth===&lt;br /&gt;
boolean: true&amp;lt;br&amp;gt;&lt;br /&gt;
When true, the crosshair&#039;s color reflects your current health. Green is healthy, red is near death, and intermediate colors are somewhere in between. Set this to false, if you want the crosshair to have a constant color (specified by the crosshaircolor cvar) instead.&lt;br /&gt;
&lt;br /&gt;
===crosshairscale===&lt;br /&gt;
boolean: false&amp;lt;br&amp;gt;&lt;br /&gt;
Set this to true if you want the crosshair to always appear the same size at all resolutions. Leaving it at false causes the crosshair to be drawn normally.&lt;br /&gt;
&lt;br /&gt;
===gamma===&lt;br /&gt;
float: 1.0&amp;lt;br&amp;gt;&lt;br /&gt;
Controls the amount of gamma correction applied to the display. 1.0 is equivalent to no correction, while larger numbers translate into a brighter display, and smaller numbers translate into a darker display. 0.0 is invalid and will be rejected. Negative numbers are technically invalid but will be accepted solely for the novelty value doing so provides. &lt;br /&gt;
&lt;br /&gt;
===hud_scale===&lt;br /&gt;
boolean: false&amp;lt;br&amp;gt;&lt;br /&gt;
Controls scaling of the fullscreen hud. At resolutions of 640x400 or above, setting this cvar to true will cause the icons to be scaled to approximately the same size they would be at 320x200. If this cvar is false, the icons will always be drawn without any scaling. &lt;br /&gt;
&lt;br /&gt;
===msg===&lt;br /&gt;
integer: 0&amp;lt;br&amp;gt;&lt;br /&gt;
This is the minimum message level that you will see. You will not see any messages with a lower priority than this. The different message levels are: &lt;br /&gt;
&lt;br /&gt;
#Item pickup &lt;br /&gt;
#Obituaries &lt;br /&gt;
#Critical messages &lt;br /&gt;
#Chat messages &lt;br /&gt;
#Chat messages from a teammate &lt;br /&gt;
&lt;br /&gt;
===msg0color===&lt;br /&gt;
integer: 6&amp;lt;br&amp;gt;&lt;br /&gt;
This cvar controls the color used to display level 0 (item pickup) messages. Available colors are: &lt;br /&gt;
&lt;br /&gt;
#Brick &lt;br /&gt;
#Tan &lt;br /&gt;
#Gray &lt;br /&gt;
#Green &lt;br /&gt;
#Brown &lt;br /&gt;
#Gold &lt;br /&gt;
#Red &lt;br /&gt;
#Blue &lt;br /&gt;
#Orange &lt;br /&gt;
#White &lt;br /&gt;
#Yellow &lt;br /&gt;
&lt;br /&gt;
===msg1color===&lt;br /&gt;
integer: 5&amp;lt;br&amp;gt;&lt;br /&gt;
This cvar selects the color used to display level 1 (obituary) messages. Available colors are the same as for&amp;quot; msg0color. &lt;br /&gt;
&lt;br /&gt;
===msg2color===&lt;br /&gt;
integer: 2&amp;lt;br&amp;gt;&lt;br /&gt;
This cvar selects the color used to display level 2 (critical) messages. Available colors are the same as for msg0color. &lt;br /&gt;
&lt;br /&gt;
===msg3color===&lt;br /&gt;
integer: 3&amp;lt;br&amp;gt;&lt;br /&gt;
This cvar selects the color used to display level 3 (chat) messages. Available colors are the same as for msg0color. &lt;br /&gt;
&lt;br /&gt;
===msg4color===&lt;br /&gt;
integer: 3&amp;lt;br&amp;gt;&lt;br /&gt;
This cvar selects the color used to display level 4 (team chat) messages. Available colors are the same as for msg0color. &lt;br /&gt;
&lt;br /&gt;
===msgmidcolor===&lt;br /&gt;
integer: 5&amp;lt;br&amp;gt;&lt;br /&gt;
This cvar selects the color used to display messages in the middle of the screen. Available colors are the same as for msg0color. &lt;br /&gt;
&lt;br /&gt;
===msgmidcolor2===&lt;br /&gt;
integer: 4&amp;lt;br&amp;gt;&lt;br /&gt;
This cvar selects the color used to display messages in the middle of the screen that are sent to everyone. Available colors are the same as for msg0color. &lt;br /&gt;
&lt;br /&gt;
===st_scale===&lt;br /&gt;
boolean: false&amp;lt;br&amp;gt;&lt;br /&gt;
When this cvar is true, the status bar will be scaled so that it covers the entire width of the screen in higher resolutions. At low resolutions this may look ugly, but at high resolutions it should look good enough.&lt;br /&gt;
&lt;br /&gt;
==Renderer==&lt;br /&gt;
&lt;br /&gt;
===r_columnmethod===&lt;br /&gt;
integer: 1&amp;lt;br&amp;gt;&lt;br /&gt;
Selects which of two algorithms to use to draw sprites and masked textures. Method 0 is the original algorithm used by DOOM. Method 1 is a new algorithm optimized for Pentium IIs and can perform significantly better with that or comparable processors. Ironically, method 0 is slightly faster than method 1 on Pentium III and Athlon processors (though not significantly so). &lt;br /&gt;
&lt;br /&gt;
===r_detail===&lt;br /&gt;
integer: 0&amp;lt;br&amp;gt;&lt;br /&gt;
This cvar selects the detail level of the view window. Valid values are: &lt;br /&gt;
&lt;br /&gt;
#Normal detail level. Equivalent to Doom&#039;s high detail mode. &lt;br /&gt;
#Double pixels horizontally. Equivalent to Doom&#039;s low detail mode. &lt;br /&gt;
#Double pixels vertically. &lt;br /&gt;
#Double pixels horizontally and vertically. &lt;br /&gt;
&lt;br /&gt;
Because of the way the renderer works, doubling pixels horizontally offers more of a speed-up than doubling them vertically does. Unless you have a very slow computer, there should be no reason to use any detail level other than 0. &lt;br /&gt;
&lt;br /&gt;
===r_drawflat===&lt;br /&gt;
boolean: false&amp;lt;br&amp;gt;&lt;br /&gt;
When set to 0, segs will be drawn as solid colors instead of textures. This is useful if you want to see how a node builder split a level&#039;s linedefs. Otherwise, it just looks ugly. &lt;br /&gt;
&lt;br /&gt;
===r_drawfuzzbr===&lt;br /&gt;
boolean: true&amp;lt;br&amp;gt;&lt;br /&gt;
When set to false, the &amp;quot;fuzz&amp;quot; effect on spectres and partially invisible players will be replaced with translucency. &lt;br /&gt;
&lt;br /&gt;
===r_drawmirrors===&lt;br /&gt;
boolean: true&amp;lt;br&amp;gt;&lt;br /&gt;
Setting this false will disable the display of mirrors.&lt;br /&gt;
&lt;br /&gt;
===r_drawplayersprites===&lt;br /&gt;
boolean: true&amp;lt;br&amp;gt;&lt;br /&gt;
When false, the game will not draw the player&#039;s weapon or muzzle flash, which can be nice for screenshots. &lt;br /&gt;
&lt;br /&gt;
===r_drawtrans===&lt;br /&gt;
boolean: true&amp;lt;br&amp;gt;&lt;br /&gt;
Setting this to false will disable all translucency effects in the game.&lt;br /&gt;
&lt;br /&gt;
===r_fogboundary===&lt;br /&gt;
boolean: true&amp;lt;br&amp;gt;&lt;br /&gt;
Setting this to false will disable the display of fog boundaries. Fog boundaries are sections where two areas with different fog colors meet. If the boundary is not drawn, then it will look like there is no fog at all in front of the boundary. Some old levels may look bad with fog boundary drawing enabled, which is why this cvar is available.&lt;br /&gt;
&lt;br /&gt;
===r_particles===&lt;br /&gt;
boolean: true&amp;lt;br&amp;gt;&lt;br /&gt;
If set to true, particles are drawn. Otherwise, they aren&#039;t. &lt;br /&gt;
&lt;br /&gt;
===r_stretchsky===&lt;br /&gt;
boolean: true&amp;lt;br&amp;gt;&lt;br /&gt;
Controls whether or not short sky textures are stretched so that you don&#039;t see them wrap when you look up. &lt;br /&gt;
&lt;br /&gt;
===r_viewsize===&lt;br /&gt;
string&amp;lt;br&amp;gt;&lt;br /&gt;
This cvar contains the width and height of the current view window. This cvar is read only. &lt;br /&gt;
&lt;br /&gt;
===r_visibility [visibility]===&lt;br /&gt;
Without any parameters, displays the current visibility. With a parameter, the visibility is set. Standard visibility for the Doom engine is 8. Visibility determines how quickly light drops off with distance from the viewer. At 0 visibility, there is no change in lighting with depth.&lt;br /&gt;
&lt;br /&gt;
==Video==&lt;br /&gt;
&lt;br /&gt;
===fullscreen===&lt;br /&gt;
boolean: true&amp;lt;br&amp;gt;&lt;br /&gt;
If this cvar is true, the game will be displayed fullscreen. Otherwise, it will be drawn in a window. Some video cards may require that you have fullscreen false in order to run ZDoom. &lt;br /&gt;
&lt;br /&gt;
===vid_attachedsurfaces (Win32 only)===&lt;br /&gt;
boolean: false&amp;lt;br&amp;gt;&lt;br /&gt;
Controls how the game allocates video memory. False is the standard setting and will always produce a useable display. If you find that there are patches of pure black and pure white on the screen (especially noticeable when a demon is right in your face), try setting this to true. Certain old Windows 95 video drivers are said to need this fix, and it is also necessary under NT 4. Unfortunately, many new video drivers (including those under NT 4) will produce a scrambled display if the screen width is not 512 or 1024 pixels and this is set to true.&lt;br /&gt;
&lt;br /&gt;
===vid_currentmode===&lt;br /&gt;
Displays the resolution of the current video mode.&lt;br /&gt;
&lt;br /&gt;
===vid_defbits===&lt;br /&gt;
integer: 8&amp;lt;br&amp;gt;&lt;br /&gt;
Ignored. This cvar is meant to specify the default screen depth, but the setting is currently ignored because only 256-color displays are supported.&lt;br /&gt;
&lt;br /&gt;
===vid_defheight===&lt;br /&gt;
integer: 200&amp;lt;br&amp;gt;&lt;br /&gt;
Specifies the default screen height to use if not overridden at the command line by the -height switch.&lt;br /&gt;
&lt;br /&gt;
===vid_defwidth===&lt;br /&gt;
integer: 320&amp;lt;br&amp;gt;&lt;br /&gt;
Specifies the default screen width to use if not overridden at the command line with the -width switch.&lt;br /&gt;
&lt;br /&gt;
===vid_listmodes===&lt;br /&gt;
Lists all resolutions supported by the current display driver.&lt;br /&gt;
&lt;br /&gt;
===vid_fps===&lt;br /&gt;
boolean: false&amp;lt;br&amp;gt;&lt;br /&gt;
When true, displays the average framerate over the past second in the lower-left corner of the screen. Because Doom&#039;s internal game rate and frame rate are linked, the framerate will never be (much) above 35 fps.&lt;br /&gt;
&lt;br /&gt;
===vid_noblitter (Win32 only)===&lt;br /&gt;
boolean: true&amp;lt;br&amp;gt;&lt;br /&gt;
Setting this to false will allow the use of the hardware to assist moving image data to video memory. When I initial wrote the code to use the blitter, it was faster than not using it. Now the blitter is slower, and I can&#039;t figure out why, so the default is true.&lt;br /&gt;
&lt;br /&gt;
===vid_palettehack (Win32 only)===&lt;br /&gt;
boolean: false&amp;lt;br&amp;gt;&lt;br /&gt;
When this cvar is true, the game will refresh the palette every time the screen is redrawn. This can be useful with some buggy video drivers. If the display is fine without it, leave it that way because this can slightly slow things down.&lt;br /&gt;
&lt;br /&gt;
===vid_setmode (width) (height) [depth]===&lt;br /&gt;
Sets the screen mode to width x height with an optional color depth (if your video hardware supports it). Only a depth of 8 is supported. See also vid_currentmode, vid_listmodes&lt;br /&gt;
&lt;br /&gt;
===vid_vsync (Win32 only)===&lt;br /&gt;
boolean: true&amp;lt;br&amp;gt;&lt;br /&gt;
Set this to false to disable vsync. Not all video cards support disabling vsync.&lt;br /&gt;
&lt;br /&gt;
==Bots==&lt;br /&gt;
&lt;br /&gt;
===addbot [name]===&lt;br /&gt;
Spawns a bot. If a name is given, the corresponding bot in bots.cfg will be spawned. Otherwise, a bot will be picked at random from bots.cfg. &lt;br /&gt;
&lt;br /&gt;
===bot_allowspy===&lt;br /&gt;
boolean: false&amp;lt;br&amp;gt;&lt;br /&gt;
Allows you to see through the eyes of bots during botmatch games. &lt;br /&gt;
&lt;br /&gt;
===bot_observer===&lt;br /&gt;
boolean: false&amp;lt;br&amp;gt;&lt;br /&gt;
When set to 1, the player will experience minimal interaction with the world, and bots will ignore him. &lt;br /&gt;
&lt;br /&gt;
===listbots===&lt;br /&gt;
Lists the bots available in bots.cfg, and indicates which are currently playing. &lt;br /&gt;
&lt;br /&gt;
===removebots===&lt;br /&gt;
Removes any bots from the game. Bots will also be automatically removed from network games when the arbitrator quits.&lt;br /&gt;
&lt;br /&gt;
==Automap==&lt;br /&gt;
&lt;br /&gt;
===togglemap===&lt;br /&gt;
Toggles the automap on/off.&lt;br /&gt;
&lt;br /&gt;
===am_backcolor===&lt;br /&gt;
color: &amp;quot;6c 54 40&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
The color of the automap background. Changes to this cvar take effect the next time the automap is activated. &lt;br /&gt;
&lt;br /&gt;
===am_cdwallcolor===&lt;br /&gt;
color: &amp;quot;4c 38 20&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
The color of two-sided lines that have a different ceiling height on each side. &lt;br /&gt;
&lt;br /&gt;
===am_fdwallcolor===&lt;br /&gt;
color: &amp;quot;88 70 58&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
The color of two-sided lines that have a different floor height on each side. &lt;br /&gt;
&lt;br /&gt;
===am_gridcolor===&lt;br /&gt;
color: &amp;quot;8b 5a 2b&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
The color of the automap grid. &lt;br /&gt;
&lt;br /&gt;
===am_interlevelcolor===&lt;br /&gt;
color: &amp;quot;ff 00 00&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
The color of inter-level teleporters. These are teleporters that teleport you to a different map. &lt;br /&gt;
&lt;br /&gt;
===am_intralevelcolor===&lt;br /&gt;
color: &amp;quot;00 00 ff&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
The color of intra-level teleporters. These are teleporters that teleport you to a different location on the same map. &lt;br /&gt;
&lt;br /&gt;
===am_lockedcolor===&lt;br /&gt;
color: &amp;quot;00 00 98&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
The color of lines that open locked doors. &lt;br /&gt;
&lt;br /&gt;
===am_notseencolor===&lt;br /&gt;
color: &amp;quot;6c 6c 6c&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
The color of lines on the automap that haven&#039;t yet been seen. Visible with a computer area map. &lt;br /&gt;
&lt;br /&gt;
===am_overlay===&lt;br /&gt;
boolean: false&amp;lt;br&amp;gt;&lt;br /&gt;
Normally, the togglemap command switches the automap between fully off and fully on. Setting this cvar to &amp;quot;1&amp;quot; will cause togglemap to draw the automap on top of the player&#039;s view before it draws the automap fullscreen. (Bad description, I know. Just try it) &lt;br /&gt;
&lt;br /&gt;
===am_ovotherwallscolor===&lt;br /&gt;
color: &amp;quot;00 88 44&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
The color of passable lines on the automap when the map is overlayed. &lt;br /&gt;
&lt;br /&gt;
===am_ovtelecolor===&lt;br /&gt;
color: &amp;quot;ff ff 00&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
The color of teleportersboth inter- and intra-levelon the overlayed automap.&lt;br /&gt;
&lt;br /&gt;
===am_ovthingcolor===&lt;br /&gt;
color: &amp;quot;e8 88 00&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
The color of things visible with the automap cheat when the map is overlayed. &lt;br /&gt;
&lt;br /&gt;
===am_ovunseencolor===&lt;br /&gt;
color: &amp;quot;00 22 6e&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
The color of unseen lines on the automap when the map is overlayed. &lt;br /&gt;
&lt;br /&gt;
===am_ovwallcolor===&lt;br /&gt;
color: &amp;quot;00 ff 00&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
The color of impassable walls when the automap is overlayed. &lt;br /&gt;
&lt;br /&gt;
===am_ovyourcolor===&lt;br /&gt;
color: &amp;quot;fc e8 d8&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
The color of the arrow representing the player in single player games when the map is overlayed. &lt;br /&gt;
&lt;br /&gt;
===am_rotate===&lt;br /&gt;
boolean: false&amp;lt;br&amp;gt;&lt;br /&gt;
Normally, the automap is always drawn such that north is at the top of the screen. Setting this cvar to &amp;quot;1&amp;quot; causes the automap to be drawn so that lines toward the top of the screen are always directly in front of the player&#039;s view. This can be particularly useful when the automap is overlayed. &lt;br /&gt;
&lt;br /&gt;
===am_showitems===&lt;br /&gt;
boolean: false&amp;lt;br&amp;gt;&lt;br /&gt;
When true, the fullscreen automap will display a count of all the &amp;quot;special&amp;quot; items you have found on the map. These are the same items that are used to determine the Items stat on the intermission screen.&lt;br /&gt;
&lt;br /&gt;
===am_showmonsters===&lt;br /&gt;
boolean: true&amp;lt;br&amp;gt;&lt;br /&gt;
When true, the fullscreen automap will display a count of the number of monsters that have been killed in the current level and the total number of monsters in the level. &lt;br /&gt;
&lt;br /&gt;
===am_showsecrets===&lt;br /&gt;
boolean: true&amp;lt;br&amp;gt;&lt;br /&gt;
When true, the fullscreen automap will display a count of the number of secrets that have been found in the current level and the total number of secrets in the level. &lt;br /&gt;
&lt;br /&gt;
===am_showtime===&lt;br /&gt;
boolean: true&amp;lt;br&amp;gt;&lt;br /&gt;
When true, the fullscreen automap will display the total amount of time you have been in a level (excluding time that has been paused). &lt;br /&gt;
&lt;br /&gt;
===am_thingcolor===&lt;br /&gt;
color: &amp;quot;fc fc fc&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
The color of things revealed with the map cheat. &lt;br /&gt;
&lt;br /&gt;
===am_tswallcolor===&lt;br /&gt;
color: &amp;quot;88 88 88&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
The color of two-sided lines that don&#039;t have any difference in floor or ceiling heights on either side. Only seen using map cheat. &lt;br /&gt;
&lt;br /&gt;
===am_usecustomcolors===&lt;br /&gt;
boolean: true&amp;lt;br&amp;gt;&lt;br /&gt;
When true, the automap uses the colors specified by the am_* cvars, otherwise it uses the standard DOOM automap colors. &lt;br /&gt;
&lt;br /&gt;
am_wallcolor&amp;lt;br&amp;gt;&lt;br /&gt;
color: &amp;quot;2c 18 08&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
The color of one-sided and secret walls in the automap. &lt;br /&gt;
&lt;br /&gt;
===am_xhaircolor===&lt;br /&gt;
color: &amp;quot;80 80 80&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
The color of the &amp;quot;crosshair&amp;quot; dot in the center of the automap. &lt;br /&gt;
&lt;br /&gt;
===am_yourcolor===&lt;br /&gt;
color: &amp;quot;fc e8 d8&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
The color of the arrow representing the player in single player games.&lt;br /&gt;
&lt;br /&gt;
==Player Settings==&lt;br /&gt;
&lt;br /&gt;
===autoaim===&lt;br /&gt;
float: 5000&amp;lt;br&amp;gt;&lt;br /&gt;
This represents the vertical distance from an object that the player&#039;s sight must be before that object is aimed at. Setting this cvar to &amp;quot;0&amp;quot; disables autoaiming, while large values such as &amp;quot;5000&amp;quot; will reproduce the original DOOM behavior of always autoaiming. &lt;br /&gt;
&lt;br /&gt;
===color===&lt;br /&gt;
color&amp;lt;br&amp;gt;&lt;br /&gt;
This is your player&#039;s color. The default varies depending on which game you are playing. &lt;br /&gt;
&lt;br /&gt;
===gender===&lt;br /&gt;
string: &amp;quot;male&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
This is the gender of your player. Valid values are &amp;quot;male&amp;quot;, &amp;quot;female&amp;quot;, and &amp;quot;neuter&amp;quot;. Anything else will be treated as male. When you die, certain messages will be altered to reflect the gender selected here. Unfortunately, I don&#039;t provide any non-male player sounds, so you&#039;ll still sound like a man no matter what this cvar is set to unless you provide your own sounds. &lt;br /&gt;
&lt;br /&gt;
===movebob===&lt;br /&gt;
float: 0.25&amp;lt;br&amp;gt;&lt;br /&gt;
Controls how much the view bobs up and down while you are moving. 0 would be no bob at all.&lt;br /&gt;
&lt;br /&gt;
===name===&lt;br /&gt;
string: &amp;quot;Player&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
This is your player&#039;s name. This is only really useful in a multiplayer game, but it can also be set for single player. &lt;br /&gt;
&lt;br /&gt;
===neverswitchonpickup===&lt;br /&gt;
boolean: false&amp;lt;br&amp;gt;&lt;br /&gt;
When this cvar is true, you won&#039;t automatically switch to a new weapon when you pick one up. &lt;br /&gt;
&lt;br /&gt;
===skin===&lt;br /&gt;
string: &amp;quot;base&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
This is your player&#039;s skin. &amp;quot;Base&amp;quot; is the name of the regular Doom marine and is always available. Additional skins are contained in wad files that you either load with -file at the command line or autoload using the .ini or skins directory. &lt;br /&gt;
&lt;br /&gt;
===stillbob===&lt;br /&gt;
float: 0&amp;lt;br&amp;gt;&lt;br /&gt;
Controls the amount of bobbing up and down that occurs when standing still. 0 is no bobbing at all.&lt;br /&gt;
&lt;br /&gt;
===team===&lt;br /&gt;
integer: 255&amp;lt;br&amp;gt;&lt;br /&gt;
This is the team that your player belongs to. It is only meaningful during deathmatch games. There are four teams available: &lt;br /&gt;
&lt;br /&gt;
#Red &lt;br /&gt;
#Blue &lt;br /&gt;
#Green &lt;br /&gt;
#Gold&lt;br /&gt;
&lt;br /&gt;
Using a team of 255 is special and will automatically assign you to whichever team has fewer players.&lt;br /&gt;
&lt;br /&gt;
==Debugging==&lt;br /&gt;
* [[Debugging]]&lt;/div&gt;</summary>
		<author><name>Lexus Alyus</name></author>
	</entry>
	<entry>
		<id>https://zdoom.org/w/index.php?title=Console_commands&amp;diff=513</id>
		<title>Console commands</title>
		<link rel="alternate" type="text/html" href="https://zdoom.org/w/index.php?title=Console_commands&amp;diff=513"/>
		<updated>2004-01-06T11:25:37Z</updated>

		<summary type="html">&lt;p&gt;Lexus Alyus: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Console Commands are used to alter the way ZDoom does something, such as changing the sound volume, changing DMflags, etc...&lt;br /&gt;
&lt;br /&gt;
You access the console by pressing &amp;quot;~&amp;quot; at any time. (This depends on your keyboard layout, for German keyboard, it is &amp;quot;^&amp;quot;, but to summarize it, it is the key above TAB.)&lt;br /&gt;
&lt;br /&gt;
==Console variable types==&lt;br /&gt;
&lt;br /&gt;
There are six types of cvars: Boolean, Integer, Float, String, Colour and Flag.&lt;br /&gt;
&lt;br /&gt;
=== boolean ===&lt;br /&gt;
&lt;br /&gt;
This type of variable represents a yes/no or on/off value. It can only be set to true or false. As shorthand, setting a boolean variable to 0 will set it to false, and setting it to anything non-zero will set it to true. &lt;br /&gt;
&lt;br /&gt;
=== integer ===&lt;br /&gt;
&lt;br /&gt;
This is an ordinary number without a decimal point. For example, 1 is an integer, but 1.2 is not. &lt;br /&gt;
&lt;br /&gt;
=== float ===&lt;br /&gt;
&lt;br /&gt;
This is an ordinary number that can have a decimal point. &lt;br /&gt;
&lt;br /&gt;
=== string ===&lt;br /&gt;
&lt;br /&gt;
This is a series of text characters enclosed in quotes: For example, &amp;quot;Felix loitered lecherously on the lot&amp;quot; is a string. If you removed the quotes around it, then it would not be a string. &lt;br /&gt;
If you need to use quotes inside a string, preface it with a backslash.&lt;br /&gt;
&lt;br /&gt;
 Are you &amp;quot;The One&amp;quot; of old?&lt;br /&gt;
&lt;br /&gt;
would be written like this as a string: &lt;br /&gt;
&lt;br /&gt;
 &amp;quot;Are you \&amp;quot;The One\&amp;quot; of old?&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== colour ===&lt;br /&gt;
&lt;br /&gt;
This type of variable is a series of three hexadecimal numbers representing the amounts of red, green, and blue (in that order) in a color. For example, pure red would be represented as &amp;quot;ff 00 00&amp;quot;. As a shorthand, you can set a color variable with one of several color names, and the RGB values will be set for you. (EDIT: That&#039;s just a string, i.e. testcolor &amp;quot;ff 00 00&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
=== flag ===&lt;br /&gt;
&lt;br /&gt;
This type of variable mirrors a setting in dmflags or dmflags2. Setting its value will set the corresponding value in one of those variables, and getting its value will get the corresponding value from one of the other two variables. This is designed to make using dmflags easier, because you don&#039;t have to memorize any numbers.&lt;br /&gt;
&lt;br /&gt;
==Button Commands==&lt;br /&gt;
&lt;br /&gt;
Button commands are commands that represent buttons and come in pairs. Each &amp;quot;button&amp;quot; has a command prefixed by a + and another corresponding command prefixed by a -. The + version of the command simulates pushing the button, and the - version of the command simulates releasing the button.&lt;br /&gt;
&lt;br /&gt;
When you bind a command that begins with + to a key, releasing the key will automatically execute the same command with the + replaced by a -. Note that this works for aliases as well as the commands listed here. This provides a useful way to bind multiple actions to a single key. Suppose you want the normal Doom behavior of moving forward and using when you double click the right mouse button. If you use the commands &lt;br /&gt;
&lt;br /&gt;
 bind mouse2 +forward&lt;br /&gt;
 doublebind mouse2 +use&lt;br /&gt;
&lt;br /&gt;
ZDoom will move you forward when you press the right mouse button. When you double click it, you will press use, but you will not move forward. To simulate the standard Doom behavior, you can replace the doublebind command with these three commands instead: &lt;br /&gt;
&lt;br /&gt;
 alias +useforward &amp;quot;+use; +forward&amp;quot;&lt;br /&gt;
 alias -useforward &amp;quot;-use; -forward&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 doublebind mouse2 +useforward&lt;br /&gt;
&lt;br /&gt;
Now when you double click the right mouse button, the +useforward alias will be executed. Because +useforward&#039;s name begins with a + releasing the right mouse button will execute the -useforward alias (whether or not -useforward is defined). &lt;br /&gt;
&lt;br /&gt;
This behavior of executing a - command when a key is released applies only to the first command or alias bound to the key. If you bind a key to &amp;quot;+forward; +right&amp;quot;, releasing the key will execute the command &amp;quot;-forward; +right&amp;quot; and not &amp;quot;-forward; -right&amp;quot;. As shown above, you can use aliases to get the correct behavior. &lt;br /&gt;
&lt;br /&gt;
Another trick you can do with aliases is to create a key that only executes the + command without executing the - command. If you wanted a key that will make you move forward when you press it, and will keep you moving forward even after releasing it, you can use an alias like this:&lt;br /&gt;
&lt;br /&gt;
 alias go &amp;quot;+forward&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Then instead of binding +forward to a key, you bind go to the key instead. This works because go does not begin with a + so nothing will happen when you release the key?ZDoom only looks at the command actually bound to the key to determine if it should execute a - command when the key is released; it does not look inside aliases. &lt;br /&gt;
&lt;br /&gt;
=== Standard buttons ===&lt;br /&gt;
&lt;br /&gt;
+attack Use your weapon.&amp;lt;br&amp;gt;&lt;br /&gt;
-attack Stop using your weapon.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+use Start trying to use anything in front of you.&amp;lt;br&amp;gt;&lt;br /&gt;
-use Stop trying to use anything in front of you.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+back Move backward.&amp;lt;br&amp;gt;&lt;br /&gt;
-back Stop moving backward.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+forward Move forward.&amp;lt;br&amp;gt;&lt;br /&gt;
-forward Stop moving forward.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+jump Start jumping.&amp;lt;br&amp;gt;&lt;br /&gt;
-jump Stop jumping.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+left Start turning left.&amp;lt;br&amp;gt;&lt;br /&gt;
-left Stop turning left.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+right Start turning right.&amp;lt;br&amp;gt;&lt;br /&gt;
-right Stop turning right.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+moveleft Start strafing left.&amp;lt;br&amp;gt;&lt;br /&gt;
-moveleft Stop strafing left.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+moveright Start strafing right.&amp;lt;br&amp;gt;&lt;br /&gt;
-moveright Stop strafing right.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+lookdown Start lowering your view.&amp;lt;br&amp;gt;&lt;br /&gt;
-lookdown Stop lowering your view.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+lookup Start raising your view.&amp;lt;br&amp;gt;&lt;br /&gt;
-lookup Stop raising your view.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+movedown Start moving down if swimming or flying.&amp;lt;br&amp;gt;&lt;br /&gt;
-movedown Stop moving down.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+moveup Start moving up if swimming or flying.&amp;lt;br&amp;gt;&lt;br /&gt;
-moveup Stop moving up if swimming or flying.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+strafe Causes +left and +right to behave like +moveleft and +moveright;&amp;lt;br&amp;gt;&lt;br /&gt;
-strafe Returns +left and +right to their normal behavior.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+klook Causes +forward and +back to act like +lookup and +lookdown instead.&amp;lt;br&amp;gt;&lt;br /&gt;
-klook Returns +forward and +back to their normal behavior.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+mlook Moving the mouse up and down will make you look up and down.&amp;lt;br&amp;gt;&lt;br /&gt;
-mlook Moving the mouse up and down will make you move forward and backward. However, if freelook is true, then moving the mouse up and down will still change your view instead of moving you.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
+showscores Display a scorelist for deathmatch games.&amp;lt;br&amp;gt;&lt;br /&gt;
-showscores Hide the deathmatch scorelist.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+speed Start running.&amp;lt;br&amp;gt;&lt;br /&gt;
-speed Start walking.&lt;br /&gt;
&lt;br /&gt;
==Customization==&lt;br /&gt;
&lt;br /&gt;
===addkeysection (menu-heading) (ini-section-name)&amp;lt;br&amp;gt;===&lt;br /&gt;
This command does two things. First, it adds a new heading called menu-heading to the controls menu. You can use the addmenukey command to add your own custom keys beneath this heading. Second, it loads all the bindings from the corresponding ini-section-name section in zdoom.ini. You can use this command multiple times to create different sections in the menu and ini for different sets of commands. If you use a menu-heading that was already added to the menu, new controls added with addmenukey will appear at the end of that section, but the bindings will not be reloaded from the ini. &lt;br /&gt;
&lt;br /&gt;
===addmenukey (description) (command)&amp;lt;br&amp;gt;===&lt;br /&gt;
Adds a new control to the controls menu. Description is the name of this control in the menu, and command is a console command or alias to be executed when the control is pressed. New controls are added to the last section specified with addkeysection.&lt;br /&gt;
&lt;br /&gt;
===addslot (slot) (weapon)===&lt;br /&gt;
Adds a single weapon to the list of weapons in a weapon slot.&lt;br /&gt;
&lt;br /&gt;
===alias (new-command) [command-string]===&lt;br /&gt;
If specified with no parameters, will display a list of all current aliases. If only new-command is specified, it will be removed from the list of aliases. If command-string is also specified, it will be added to the list of aliases as new-command. For example, to create a new command to kill the monsters on the level, you can use the command: &lt;br /&gt;
 alias massacre &amp;quot;kill monsters&amp;quot;&lt;br /&gt;
Then you can use the newly created massacre command to kill all the monsters on the level.&lt;br /&gt;
&lt;br /&gt;
===archivecvar (cvar)===&lt;br /&gt;
When you create a custom cvar with the set command, it will not normally be saved in the ini. You can use archivecvar after creating the cvar to indicate that the custom cvar&#039;s value should persist even after you quit.&lt;br /&gt;
&lt;br /&gt;
===atexit [command]===&lt;br /&gt;
If you specify a command, it will be added to a list of console commands to execute when the user quits the game. Commands are executed in the reverse order that they were added in. If you do not specify any arguments to atexit, then it will list the current set of commands that will execute when you quit.&lt;br /&gt;
&lt;br /&gt;
===bind (key [command string])===&lt;br /&gt;
If no parameters are specified, the entire list of bound keys will be printed to the console. If only [key] is specified, the binding for that specific key will be printed. If both [key] and [command string] are specified, [command string] will be bound to [key]. &lt;br /&gt;
&lt;br /&gt;
===binddefaults===&lt;br /&gt;
Binds all keys to their default commands. This will not unbind any keys that do not have any default bindings, so if you want to properly restore the default controls, you need to use unbindall first. &lt;br /&gt;
 defaultbind key command&lt;br /&gt;
Binds command to the key if and only if key is not already bound and there are no keys already bound to command.&lt;br /&gt;
&lt;br /&gt;
===doublebind (key [command string])===&lt;br /&gt;
This command works just like bind, except it controls the action that occurs when a key is double-clicked. If a key does not have a doublebinding, then double-clicking it has the same result as pressing it twice. Otherwise, the first press will execute the normal command set with bind, and the second press of the double-click will execute the command set with doublebind. &lt;br /&gt;
&lt;br /&gt;
===eval expression [variable]===&lt;br /&gt;
Evaluates a mathematical expression and either prints it to the console or stores it in variable. Expressions are written using prefix notation instead of the more common infix notation. Basically, you first specify what you want to do (the operator) and then what you want to do it to (the operands). You must separate operators and operands with spaces. &lt;br /&gt;
&lt;br /&gt;
Examples: &lt;br /&gt;
 To compute 2+2: &lt;br /&gt;
 eval + 2 2To compute 5-3: &lt;br /&gt;
 eval - 5 3To compute 2+(5*6): &lt;br /&gt;
 eval + 2 * 5 6To decrease the number of screenblocks: &lt;br /&gt;
 eval - $screenblocks 1 screenblocksThe supported operators are:&lt;br /&gt;
 + a b Adds a and b. &lt;br /&gt;
 - a b Subtracts b from a. &lt;br /&gt;
 * a b Multiplies a and b. &lt;br /&gt;
 / a b Divides a by b. &lt;br /&gt;
 % a b Calculates the remainder of a/b. &lt;br /&gt;
 ^ a b Raises a to the b-th power . &lt;br /&gt;
 &amp;lt; a b Produces 1 if a is less than b and 0 if not. &lt;br /&gt;
 &amp;lt;= a b Produces 1 if a is less than or equal to b and 0 if not. &lt;br /&gt;
 &amp;gt; a b Produces 1 if a is greater than b and 0 if not. &lt;br /&gt;
 &amp;gt;= a b Produces 1 if a is greater than or equal to b and 0 if not. &lt;br /&gt;
 = a b Produces 1 if a is equal to b and 0 if not.&lt;br /&gt;
&lt;br /&gt;
 == a b Produces 1 if a is equal to b and 0 if not. &lt;br /&gt;
 != a b Produces 1 if a is not equal to b and 0 if it is. &lt;br /&gt;
 &amp;lt;&amp;gt; a b Produces 1 if a is not equal to b and 0 if is. &lt;br /&gt;
 xor a b Calculates the bit-wise exclusive-or of a and b. &lt;br /&gt;
 &amp;amp; a b Calculates the bit-wise and of a and b. &lt;br /&gt;
 | a b Calculates the bit-wise or of a and b. &lt;br /&gt;
 &amp;amp;&amp;amp; a b Calculates the logical and of a and b. &lt;br /&gt;
 || a b Calculates the logical or of a and b. &lt;br /&gt;
&lt;br /&gt;
===exec (script-file)===&lt;br /&gt;
Executes a series of commands stored in the script-file as if they had been typed in at the console directly. &lt;br /&gt;
&lt;br /&gt;
===key value1 [value2]===&lt;br /&gt;
Translates all parameters to the command into their corresponding key values which are used internally for command and alias lookup. Probably not very useful for the average user. &lt;br /&gt;
&lt;br /&gt;
===puke (script [arguments])===&lt;br /&gt;
Executes an ACS script on the current map, optionally passing it up to three numerical arguments. &lt;br /&gt;
&lt;br /&gt;
===pullin (wadfile)===&lt;br /&gt;
Loads a wadfile at startup. This command is only valid inside .cfg files that have been execed at startup.&lt;br /&gt;
&lt;br /&gt;
===set (cvar) (value)===&lt;br /&gt;
Sets cvar to value. If cvar does not exist, it will be created. &lt;br /&gt;
&lt;br /&gt;
===rebind (binding)===&lt;br /&gt;
Changes the binding for the key that caused the rebind command to execute. For obvious reasons, this command cannot be used at the console.&lt;br /&gt;
&lt;br /&gt;
Example: &lt;br /&gt;
&lt;br /&gt;
 bind b &amp;quot;echo setting 1; rebind \&amp;quot;echo setting 2\&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
This will cause the first press of b to echo &amp;quot;setting 1&amp;quot; to the console. All future presses of b will echo &amp;quot;setting 2&amp;quot; instead. &lt;br /&gt;
&lt;br /&gt;
===unbind (key)===&lt;br /&gt;
Removes a binding from the specified key.&lt;br /&gt;
&lt;br /&gt;
===unbindall===&lt;br /&gt;
Removes all bindings and doublebindings from every key. To restore the default bindings, you can use the binddefaults command. There is no way to restore any custom bindings after issuing this command except by retyping each bind command or using the controls setup menu.&lt;br /&gt;
&lt;br /&gt;
===undoublebind (key)===&lt;br /&gt;
Removes a doublebinding from the specified key.&lt;br /&gt;
&lt;br /&gt;
===unset (cvar)===&lt;br /&gt;
Undefines a user-created cvar.&lt;br /&gt;
&lt;br /&gt;
==Screenshots==&lt;br /&gt;
&lt;br /&gt;
===png_gamma===&lt;br /&gt;
float: 0&amp;lt;br&amp;gt;&lt;br /&gt;
Controls the gamma level stored in PNG screenshots. If this is 0, then your current gamma setting will be used.&lt;br /&gt;
&lt;br /&gt;
===png_level===&lt;br /&gt;
integer: 5&amp;lt;br&amp;gt;&lt;br /&gt;
This is the level of compression to use for PNG screenshots. 0 is no compression at all, 1 is minimal compression (fastest), 9 is maximum compression (slowest), and intermediate values offer intermediate compression. 5 is offers a decent trade-of between file size and compression time. An uncompressed image will not neccessarily save faster than a compressed image, because the extra time needed to write out a complete uncompressed image may be longer than the time required to compress the image. If you need to create screenshots as quickly as possible, consider setting screenshot_type to &amp;quot;pcx&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
===screenshot [file]===&lt;br /&gt;
Dumps a copy of the screen to disk as a PNG or PCX file. If file is not specified, the screenshot will be saved to the directory the game was run from with a name of the form doom????.png. &lt;br /&gt;
&lt;br /&gt;
===screenshot_quiet===&lt;br /&gt;
boolean: false&amp;lt;br&amp;gt;&lt;br /&gt;
Setting this to true will suppress the messages informing you what file a screenshot was saved to.&lt;br /&gt;
&lt;br /&gt;
===screenshot_type===&lt;br /&gt;
string: &amp;quot;png&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Determines the type of screenshots that will be saved. This can be either &amp;quot;png&amp;quot; or &amp;quot;pcx&amp;quot;. In my empirical studies, PNG screenshots are about half the size of pcx screenshots. PCX screenshots have the advantage that they require less time to create so are most useful for rapid screenshot generation. The following sequence of console commands will take a screenshot every frame. You can use an external program to assemble these into a video, if desired. &lt;br /&gt;
&lt;br /&gt;
 screenshot_type &amp;quot;png&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
 screenshot_quiet true&amp;lt;br&amp;gt;&lt;br /&gt;
 alias autoshot &amp;quot;screenshot; wait 1; autoshot&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
 autoshot&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you use the autoshot alias, the command alias autoshot will stop automatic screenshot taking before you hit 10000 screenshots (approximately 4 minutes, 45 seconds).&lt;br /&gt;
&lt;br /&gt;
===storesavepic===&lt;br /&gt;
boolean: true&amp;lt;br&amp;gt;&lt;br /&gt;
Setting this to false will produce smaller savegames (by about 14k typically) by not storing a screenshot inside the savegame.&lt;br /&gt;
&lt;br /&gt;
==Chatting==&lt;br /&gt;
&lt;br /&gt;
===chat_substitution===&lt;br /&gt;
boolean: false&amp;lt;br&amp;gt;&lt;br /&gt;
Set this to true if you want to chat using special keywords that will be replaced with appropriate text when your messages are sent. The supported keywords are:&lt;br /&gt;
 &lt;br /&gt;
$health &amp;lt;br&amp;gt;&lt;br /&gt;
Replaced by your current health. &amp;lt;br&amp;gt;&lt;br /&gt;
$weapon &amp;lt;br&amp;gt;&lt;br /&gt;
Replaced by the name of your current weapon. &amp;lt;br&amp;gt;&lt;br /&gt;
$armor &amp;lt;br&amp;gt;&lt;br /&gt;
Replaced by your current armor count. &amp;lt;br&amp;gt;&lt;br /&gt;
$ammocount &amp;lt;br&amp;gt;&lt;br /&gt;
Replaced by your current ammo count. &amp;lt;br&amp;gt;&lt;br /&gt;
$ammo &amp;lt;br&amp;gt;&lt;br /&gt;
Replaced by the name of your current ammo.&lt;br /&gt;
&lt;br /&gt;
As an example, if you just started a new game of Doom and have chat substitution turned on, when you send the message &amp;quot;My health is $health, and I am using a $weapon&amp;quot;, the message that is actually sent will be &amp;quot;My health is 100, and I am using a Pistol&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
chatmacro0&amp;lt;br&amp;gt;&lt;br /&gt;
chatmacro1&amp;lt;br&amp;gt;&lt;br /&gt;
chatmacro2&amp;lt;br&amp;gt;&lt;br /&gt;
chatmacro3&amp;lt;br&amp;gt;&lt;br /&gt;
chatmacro4&amp;lt;br&amp;gt;&lt;br /&gt;
chatmacro5&amp;lt;br&amp;gt;&lt;br /&gt;
chatmacro6&amp;lt;br&amp;gt;&lt;br /&gt;
chatmacro7&amp;lt;br&amp;gt;&lt;br /&gt;
chatmacro8&amp;lt;br&amp;gt;&lt;br /&gt;
chatmacro9&amp;lt;br&amp;gt;&lt;br /&gt;
string&amp;lt;br&amp;gt;&lt;br /&gt;
These are all strings that can be assigned to hotkeys in chat mode. To use these, enter chat mode and then hold down Alt and press one of the number keys. The string stored in the corresponding chatmacro cvar will be sent as if you had typed it yourself. &lt;br /&gt;
&lt;br /&gt;
===messagemode===&lt;br /&gt;
Enters message entry mode. Anything typed while in this mode will be sent to everyone else as if you had used the say command once you press enter. &lt;br /&gt;
&lt;br /&gt;
===messagemode2===&lt;br /&gt;
This is just like messagemode except that the message is only sent to other members of your team. If teamplay is false or you don&#039;t have a team, then this command will work just like messagemode and send the message to everyone. &lt;br /&gt;
&lt;br /&gt;
===say (message)===&lt;br /&gt;
Sends a message to everyone playing. If your message begins with &amp;quot;/me&amp;quot; then &amp;quot;/me&amp;quot; will be replaced by your name ala IRC. &lt;br /&gt;
&lt;br /&gt;
===say_team (message)===&lt;br /&gt;
This is just like say except it only sends a message to your teammates. If teamplay is inactive, then this command will act exactly like say and send the message to everyone.&lt;br /&gt;
&lt;br /&gt;
==Cheating==&lt;br /&gt;
&lt;br /&gt;
===sv_cheats===&lt;br /&gt;
boolean: false&lt;br /&gt;
When true, cheats will be allowed in Nightmare difficulty and network games. For purposes of fairness, this cvar can only be set from the command line when you run ZDoom. This is to avoid situations where the key player in a multiplayer game (player 1) could go to the console and type something like this:&lt;br /&gt;
&lt;br /&gt;
 sv_cheats 1&lt;br /&gt;
 god&lt;br /&gt;
 sv_cheats 0&lt;br /&gt;
&lt;br /&gt;
whereby rendering himself immune to the attacks of others.&lt;br /&gt;
&lt;br /&gt;
===anubis===&lt;br /&gt;
Toggles monster fear on and off. Scared monsters will run away from you and attack less frequently.&lt;br /&gt;
&lt;br /&gt;
===fly===&lt;br /&gt;
Toggles fly mode on and off.&lt;br /&gt;
&lt;br /&gt;
===give (item)===&lt;br /&gt;
Gives an item to the player. Give understands the following special items: &lt;br /&gt;
 all - gives you everything &lt;br /&gt;
 health - gives you full health &lt;br /&gt;
 weapons - gives you every weapon &lt;br /&gt;
 ammo - gives you full ammo &lt;br /&gt;
 armor - gives you full armor &lt;br /&gt;
 keys - gives you every key &lt;br /&gt;
It also understands the names of individual inventory items. Use the command dumpclasses inventory for a complete list of these. &lt;br /&gt;
&lt;br /&gt;
===god===&lt;br /&gt;
Toggles God (Degreelessness) mode on/off. While active, you cannot be hurt by normal attacks (although telefragging will still kill you). Also known as iddqd. &lt;br /&gt;
&lt;br /&gt;
===iddqd===&lt;br /&gt;
The same as god, except it also gives you 100 health.&lt;br /&gt;
&lt;br /&gt;
===kill [monsters]===&lt;br /&gt;
If used as &amp;quot;kill monsters&amp;quot;, will kill all monsters on the level. Otherwise, it will kill you instead. This command is broken in netgames, so don&#039;t use it unless you are playing a single player game. &lt;br /&gt;
&lt;br /&gt;
===logfile [log-file]===&lt;br /&gt;
If log-file is not specified, console logging will be stopped (if active). Otherwise, a file named log-file will be created on disk, and all console output will be recorded in it as well as on the screen. &lt;br /&gt;
&lt;br /&gt;
===mdk===&lt;br /&gt;
This cheat will kill whatever you are looking at.&lt;br /&gt;
&lt;br /&gt;
===morphme===&lt;br /&gt;
Transforms you into a chicken in Heretic and a pig in Hexen and Doom (The latter only happens if you have the releven graphics present).&lt;br /&gt;
&lt;br /&gt;
===noclip===&lt;br /&gt;
Toggles noclipping mode on/off. &lt;br /&gt;
&lt;br /&gt;
===notarget===&lt;br /&gt;
Toggles notarget mode on/off. While active, monsters will not target you unless you hurt them first. In &amp;quot;modern FPS&amp;quot;, monsters &amp;quot;can&#039;t find you&amp;quot; when in notarget mode. This is not the case with ZDoom.&lt;br /&gt;
&lt;br /&gt;
===powerup===&lt;br /&gt;
Powers you up in Heretic as if you had used a Tome of Power.&lt;br /&gt;
&lt;br /&gt;
===sv_fastweapons (0-2)===&lt;br /&gt;
Increases speed of weapons in Doom, Heretic, and Hexen. Setting to 2 makes weapons even faster.&lt;br /&gt;
&lt;br /&gt;
===turbo===&lt;br /&gt;
float: 100&amp;lt;br&amp;gt;&lt;br /&gt;
This cvar affects how quickly the player moves. A value of 100 will cause the player to move at normal speed, 200 will cause the player to move at 200% of normal speed, 50 will cause the player to move at 50% of normal speed, etc. Valid values range from 10 to 256.&lt;br /&gt;
&lt;br /&gt;
==Display==&lt;br /&gt;
&lt;br /&gt;
===bumpgamma===&lt;br /&gt;
Increases the current gamma level by 0.1. If the new gamma level would be greater than 3.0, it wraps the gamma around to 1.0 &lt;br /&gt;
&lt;br /&gt;
===cl_bbannounce===&lt;br /&gt;
boolean: false&amp;lt;br&amp;gt;&lt;br /&gt;
When true, enables the Bloodbath announcer for deathmatch games. The Bloodbath announcer is &amp;quot;The Voice&amp;quot; from Monolith Software&#039;s Blood game. To hear the announcer, you need to load Blood&#039;s sounds.rff either at the command line or through one of zdoom.ini&#039;s [*.Autoload] sections. You can get this file either from the demo or full version of Blood. If you don&#039;t have sounds.rff, you can still see the announcer&#039;s messages even though you won&#039;t hear anything. &lt;br /&gt;
&lt;br /&gt;
===cl_showmultikills===&lt;br /&gt;
boolean: true&amp;lt;br&amp;gt;&lt;br /&gt;
Set this to false if you don&#039;t want to see Unreal Tournament-style messages when a player makes several kills in a short period of time.&lt;br /&gt;
&lt;br /&gt;
===cl_showsprees===&lt;br /&gt;
boolean: true&amp;lt;br&amp;gt;&lt;br /&gt;
Set this to false if you don&#039;t want to see Unreal Tournament-style messages when a player is on a killing spree.&lt;br /&gt;
&lt;br /&gt;
===cl_spreaddecals===&lt;br /&gt;
boolean: true&amp;lt;br&amp;gt;&lt;br /&gt;
ZDoom clips decals to sidedefs. In order to hide this, the game will create as many duplicate decals on adjoining sidedefs as needed to make it appear that there is only one unbroken decal on the wall. Set this cvar to false if you don&#039;t want this.&lt;br /&gt;
&lt;br /&gt;
===con_centernotify===&lt;br /&gt;
boolean: false for Doom, true for Heretic and Hexen&amp;lt;br&amp;gt;&lt;br /&gt;
When true, notify messages at the top of the screen are centered. Otherwise, they are justified against the left margin.&lt;br /&gt;
&lt;br /&gt;
===con_midtime===&lt;br /&gt;
float: 3&amp;lt;br&amp;gt;&lt;br /&gt;
This is the number of seconds that messages in the middle of the screen will be displayed before they dispapper. &lt;br /&gt;
&lt;br /&gt;
===con_notifytime===&lt;br /&gt;
float: 3&amp;lt;br&amp;gt;&lt;br /&gt;
This is the number of seconds that new messages will stay at the top of the screen before they start scrolling away. &lt;br /&gt;
&lt;br /&gt;
===con_scaletext===&lt;br /&gt;
boolean: false&amp;lt;br&amp;gt;&lt;br /&gt;
If this cvar is true, then message text will be scaled to larger sizes depending on the screen resolution so that it will stay approximately the same size it would be on a 320x200 screen. &lt;br /&gt;
&lt;br /&gt;
===crosshair===&lt;br /&gt;
integer: 0&amp;lt;br&amp;gt;&lt;br /&gt;
If this cvar is non-zero, it draws a crosshair. If this cvar is negative, the crosshair is translucent, otherwise it is opaque. The specific crosshair drawn depends on the value of this cvar. &lt;br /&gt;
&lt;br /&gt;
===crosshaircolor===&lt;br /&gt;
color: &amp;quot;ff 00 00&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
This is the crosshair&#039;s color if crosshairhealth is false.&lt;br /&gt;
&lt;br /&gt;
===crosshairgrow===&lt;br /&gt;
boolean: false&amp;lt;br&amp;gt;&lt;br /&gt;
Set this to true if you want the crosshair to temporarily enlarge each time you pick up an item.&lt;br /&gt;
&lt;br /&gt;
===crosshairhealth===&lt;br /&gt;
boolean: true&amp;lt;br&amp;gt;&lt;br /&gt;
When true, the crosshair&#039;s color reflects your current health. Green is healthy, red is near death, and intermediate colors are somewhere in between. Set this to false, if you want the crosshair to have a constant color (specified by the crosshaircolor cvar) instead.&lt;br /&gt;
&lt;br /&gt;
===crosshairscale===&lt;br /&gt;
boolean: false&amp;lt;br&amp;gt;&lt;br /&gt;
Set this to true if you want the crosshair to always appear the same size at all resolutions. Leaving it at false causes the crosshair to be drawn normally.&lt;br /&gt;
&lt;br /&gt;
===gamma===&lt;br /&gt;
float: 1.0&amp;lt;br&amp;gt;&lt;br /&gt;
Controls the amount of gamma correction applied to the display. 1.0 is equivalent to no correction, while larger numbers translate into a brighter display, and smaller numbers translate into a darker display. 0.0 is invalid and will be rejected. Negative numbers are technically invalid but will be accepted solely for the novelty value doing so provides. &lt;br /&gt;
&lt;br /&gt;
===hud_scale===&lt;br /&gt;
boolean: false&amp;lt;br&amp;gt;&lt;br /&gt;
Controls scaling of the fullscreen hud. At resolutions of 640x400 or above, setting this cvar to true will cause the icons to be scaled to approximately the same size they would be at 320x200. If this cvar is false, the icons will always be drawn without any scaling. &lt;br /&gt;
&lt;br /&gt;
===msg===&lt;br /&gt;
integer: 0&amp;lt;br&amp;gt;&lt;br /&gt;
This is the minimum message level that you will see. You will not see any messages with a lower priority than this. The different message levels are: &lt;br /&gt;
&lt;br /&gt;
#Item pickup &lt;br /&gt;
#Obituaries &lt;br /&gt;
#Critical messages &lt;br /&gt;
#Chat messages &lt;br /&gt;
#Chat messages from a teammate &lt;br /&gt;
&lt;br /&gt;
===msg0color===&lt;br /&gt;
integer: 6&amp;lt;br&amp;gt;&lt;br /&gt;
This cvar controls the color used to display level 0 (item pickup) messages. Available colors are: &lt;br /&gt;
&lt;br /&gt;
#Brick &lt;br /&gt;
#Tan &lt;br /&gt;
#Gray &lt;br /&gt;
#Green &lt;br /&gt;
#Brown &lt;br /&gt;
#Gold &lt;br /&gt;
#Red &lt;br /&gt;
#Blue &lt;br /&gt;
#Orange &lt;br /&gt;
#White &lt;br /&gt;
#Yellow &lt;br /&gt;
&lt;br /&gt;
===msg1color===&lt;br /&gt;
integer: 5&amp;lt;br&amp;gt;&lt;br /&gt;
This cvar selects the color used to display level 1 (obituary) messages. Available colors are the same as for&amp;quot; msg0color. &lt;br /&gt;
&lt;br /&gt;
===msg2color===&lt;br /&gt;
integer: 2&amp;lt;br&amp;gt;&lt;br /&gt;
This cvar selects the color used to display level 2 (critical) messages. Available colors are the same as for msg0color. &lt;br /&gt;
&lt;br /&gt;
===msg3color===&lt;br /&gt;
integer: 3&amp;lt;br&amp;gt;&lt;br /&gt;
This cvar selects the color used to display level 3 (chat) messages. Available colors are the same as for msg0color. &lt;br /&gt;
&lt;br /&gt;
===msg4color===&lt;br /&gt;
integer: 3&amp;lt;br&amp;gt;&lt;br /&gt;
This cvar selects the color used to display level 4 (team chat) messages. Available colors are the same as for msg0color. &lt;br /&gt;
&lt;br /&gt;
===msgmidcolor===&lt;br /&gt;
integer: 5&amp;lt;br&amp;gt;&lt;br /&gt;
This cvar selects the color used to display messages in the middle of the screen. Available colors are the same as for msg0color. &lt;br /&gt;
&lt;br /&gt;
===msgmidcolor2===&lt;br /&gt;
integer: 4&amp;lt;br&amp;gt;&lt;br /&gt;
This cvar selects the color used to display messages in the middle of the screen that are sent to everyone. Available colors are the same as for msg0color. &lt;br /&gt;
&lt;br /&gt;
===st_scale===&lt;br /&gt;
boolean: false&amp;lt;br&amp;gt;&lt;br /&gt;
When this cvar is true, the status bar will be scaled so that it covers the entire width of the screen in higher resolutions. At low resolutions this may look ugly, but at high resolutions it should look good enough.&lt;br /&gt;
&lt;br /&gt;
==Renderer==&lt;br /&gt;
&lt;br /&gt;
===r_columnmethod===&lt;br /&gt;
integer: 1&amp;lt;br&amp;gt;&lt;br /&gt;
Selects which of two algorithms to use to draw sprites and masked textures. Method 0 is the original algorithm used by DOOM. Method 1 is a new algorithm optimized for Pentium IIs and can perform significantly better with that or comparable processors. Ironically, method 0 is slightly faster than method 1 on Pentium III and Athlon processors (though not significantly so). &lt;br /&gt;
&lt;br /&gt;
===r_detail===&lt;br /&gt;
integer: 0&amp;lt;br&amp;gt;&lt;br /&gt;
This cvar selects the detail level of the view window. Valid values are: &lt;br /&gt;
&lt;br /&gt;
#Normal detail level. Equivalent to Doom&#039;s high detail mode. &lt;br /&gt;
#Double pixels horizontally. Equivalent to Doom&#039;s low detail mode. &lt;br /&gt;
#Double pixels vertically. &lt;br /&gt;
#Double pixels horizontally and vertically. &lt;br /&gt;
&lt;br /&gt;
Because of the way the renderer works, doubling pixels horizontally offers more of a speed-up than doubling them vertically does. Unless you have a very slow computer, there should be no reason to use any detail level other than 0. &lt;br /&gt;
&lt;br /&gt;
===r_drawflat===&lt;br /&gt;
boolean: false&amp;lt;br&amp;gt;&lt;br /&gt;
When set to 0, segs will be drawn as solid colors instead of textures. This is useful if you want to see how a node builder split a level&#039;s linedefs. Otherwise, it just looks ugly. &lt;br /&gt;
&lt;br /&gt;
===r_drawfuzzbr===&lt;br /&gt;
boolean: true&amp;lt;br&amp;gt;&lt;br /&gt;
When set to false, the &amp;quot;fuzz&amp;quot; effect on spectres and partially invisible players will be replaced with translucency. &lt;br /&gt;
&lt;br /&gt;
===r_drawmirrors===&lt;br /&gt;
boolean: true&amp;lt;br&amp;gt;&lt;br /&gt;
Setting this false will disable the display of mirrors.&lt;br /&gt;
&lt;br /&gt;
===r_drawplayersprites===&lt;br /&gt;
boolean: true&amp;lt;br&amp;gt;&lt;br /&gt;
When false, the game will not draw the player&#039;s weapon or muzzle flash, which can be nice for screenshots. &lt;br /&gt;
&lt;br /&gt;
===r_drawtrans===&lt;br /&gt;
boolean: true&amp;lt;br&amp;gt;&lt;br /&gt;
Setting this to false will disable all translucency effects in the game.&lt;br /&gt;
&lt;br /&gt;
===r_fogboundary===&lt;br /&gt;
boolean: true&amp;lt;br&amp;gt;&lt;br /&gt;
Setting this to false will disable the display of fog boundaries. Fog boundaries are sections where two areas with different fog colors meet. If the boundary is not drawn, then it will look like there is no fog at all in front of the boundary. Some old levels may look bad with fog boundary drawing enabled, which is why this cvar is available.&lt;br /&gt;
&lt;br /&gt;
===r_particles===&lt;br /&gt;
boolean: true&amp;lt;br&amp;gt;&lt;br /&gt;
If set to true, particles are drawn. Otherwise, they aren&#039;t. &lt;br /&gt;
&lt;br /&gt;
===r_stretchsky===&lt;br /&gt;
boolean: true&amp;lt;br&amp;gt;&lt;br /&gt;
Controls whether or not short sky textures are stretched so that you don&#039;t see them wrap when you look up. &lt;br /&gt;
&lt;br /&gt;
===r_viewsize===&lt;br /&gt;
string&amp;lt;br&amp;gt;&lt;br /&gt;
This cvar contains the width and height of the current view window. This cvar is read only. &lt;br /&gt;
&lt;br /&gt;
===r_visibility [visibility]===&lt;br /&gt;
Without any parameters, displays the current visibility. With a parameter, the visibility is set. Standard visibility for the Doom engine is 8. Visibility determines how quickly light drops off with distance from the viewer. At 0 visibility, there is no change in lighting with depth.&lt;br /&gt;
&lt;br /&gt;
==Video==&lt;br /&gt;
&lt;br /&gt;
===fullscreen===&lt;br /&gt;
boolean: true&amp;lt;br&amp;gt;&lt;br /&gt;
If this cvar is true, the game will be displayed fullscreen. Otherwise, it will be drawn in a window. Some video cards may require that you have fullscreen false in order to run ZDoom. &lt;br /&gt;
&lt;br /&gt;
===vid_attachedsurfaces (Win32 only)===&lt;br /&gt;
boolean: false&amp;lt;br&amp;gt;&lt;br /&gt;
Controls how the game allocates video memory. False is the standard setting and will always produce a useable display. If you find that there are patches of pure black and pure white on the screen (especially noticeable when a demon is right in your face), try setting this to true. Certain old Windows 95 video drivers are said to need this fix, and it is also necessary under NT 4. Unfortunately, many new video drivers (including those under NT 4) will produce a scrambled display if the screen width is not 512 or 1024 pixels and this is set to true.&lt;br /&gt;
&lt;br /&gt;
===vid_currentmode===&lt;br /&gt;
Displays the resolution of the current video mode.&lt;br /&gt;
&lt;br /&gt;
===vid_defbits===&lt;br /&gt;
integer: 8&amp;lt;br&amp;gt;&lt;br /&gt;
Ignored. This cvar is meant to specify the default screen depth, but the setting is currently ignored because only 256-color displays are supported.&lt;br /&gt;
&lt;br /&gt;
===vid_defheight===&lt;br /&gt;
integer: 200&amp;lt;br&amp;gt;&lt;br /&gt;
Specifies the default screen height to use if not overridden at the command line by the -height switch.&lt;br /&gt;
&lt;br /&gt;
===vid_defwidth===&lt;br /&gt;
integer: 320&amp;lt;br&amp;gt;&lt;br /&gt;
Specifies the default screen width to use if not overridden at the command line with the -width switch.&lt;br /&gt;
&lt;br /&gt;
===vid_listmodes===&lt;br /&gt;
Lists all resolutions supported by the current display driver.&lt;br /&gt;
&lt;br /&gt;
===vid_fps===&lt;br /&gt;
boolean: false&amp;lt;br&amp;gt;&lt;br /&gt;
When true, displays the average framerate over the past second in the lower-left corner of the screen. Because Doom&#039;s internal game rate and frame rate are linked, the framerate will never be (much) above 35 fps.&lt;br /&gt;
&lt;br /&gt;
===vid_noblitter (Win32 only)===&lt;br /&gt;
boolean: true&amp;lt;br&amp;gt;&lt;br /&gt;
Setting this to false will allow the use of the hardware to assist moving image data to video memory. When I initial wrote the code to use the blitter, it was faster than not using it. Now the blitter is slower, and I can&#039;t figure out why, so the default is true.&lt;br /&gt;
&lt;br /&gt;
===vid_palettehack (Win32 only)===&lt;br /&gt;
boolean: false&amp;lt;br&amp;gt;&lt;br /&gt;
When this cvar is true, the game will refresh the palette every time the screen is redrawn. This can be useful with some buggy video drivers. If the display is fine without it, leave it that way because this can slightly slow things down.&lt;br /&gt;
&lt;br /&gt;
===vid_setmode (width) (height) [depth]===&lt;br /&gt;
Sets the screen mode to width x height with an optional color depth (if your video hardware supports it). Only a depth of 8 is supported. See also vid_currentmode, vid_listmodes&lt;br /&gt;
&lt;br /&gt;
===vid_vsync (Win32 only)===&lt;br /&gt;
boolean: true&amp;lt;br&amp;gt;&lt;br /&gt;
Set this to false to disable vsync. Not all video cards support disabling vsync.&lt;br /&gt;
&lt;br /&gt;
==Bots==&lt;br /&gt;
&lt;br /&gt;
===addbot [name]===&lt;br /&gt;
Spawns a bot. If a name is given, the corresponding bot in bots.cfg will be spawned. Otherwise, a bot will be picked at random from bots.cfg. &lt;br /&gt;
&lt;br /&gt;
===bot_allowspy===&lt;br /&gt;
boolean: false&amp;lt;br&amp;gt;&lt;br /&gt;
Allows you to see through the eyes of bots during botmatch games. &lt;br /&gt;
&lt;br /&gt;
===bot_observer===&lt;br /&gt;
boolean: false&amp;lt;br&amp;gt;&lt;br /&gt;
When set to 1, the player will experience minimal interaction with the world, and bots will ignore him. &lt;br /&gt;
&lt;br /&gt;
===listbots===&lt;br /&gt;
Lists the bots available in bots.cfg, and indicates which are currently playing. &lt;br /&gt;
&lt;br /&gt;
===removebots===&lt;br /&gt;
Removes any bots from the game. Bots will also be automatically removed from network games when the arbitrator quits.&lt;br /&gt;
&lt;br /&gt;
==Automap==&lt;br /&gt;
&lt;br /&gt;
===togglemap===&lt;br /&gt;
Toggles the automap on/off.&lt;br /&gt;
&lt;br /&gt;
===am_backcolor===&lt;br /&gt;
color: &amp;quot;6c 54 40&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
The color of the automap background. Changes to this cvar take effect the next time the automap is activated. &lt;br /&gt;
&lt;br /&gt;
===am_cdwallcolor===&lt;br /&gt;
color: &amp;quot;4c 38 20&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
The color of two-sided lines that have a different ceiling height on each side. &lt;br /&gt;
&lt;br /&gt;
===am_fdwallcolor===&lt;br /&gt;
color: &amp;quot;88 70 58&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
The color of two-sided lines that have a different floor height on each side. &lt;br /&gt;
&lt;br /&gt;
===am_gridcolor===&lt;br /&gt;
color: &amp;quot;8b 5a 2b&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
The color of the automap grid. &lt;br /&gt;
&lt;br /&gt;
===am_interlevelcolor===&lt;br /&gt;
color: &amp;quot;ff 00 00&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
The color of inter-level teleporters. These are teleporters that teleport you to a different map. &lt;br /&gt;
&lt;br /&gt;
===am_intralevelcolor===&lt;br /&gt;
color: &amp;quot;00 00 ff&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
The color of intra-level teleporters. These are teleporters that teleport you to a different location on the same map. &lt;br /&gt;
&lt;br /&gt;
===am_lockedcolor===&lt;br /&gt;
color: &amp;quot;00 00 98&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
The color of lines that open locked doors. &lt;br /&gt;
&lt;br /&gt;
===am_notseencolor===&lt;br /&gt;
color: &amp;quot;6c 6c 6c&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
The color of lines on the automap that haven&#039;t yet been seen. Visible with a computer area map. &lt;br /&gt;
&lt;br /&gt;
===am_overlay===&lt;br /&gt;
boolean: false&amp;lt;br&amp;gt;&lt;br /&gt;
Normally, the togglemap command switches the automap between fully off and fully on. Setting this cvar to &amp;quot;1&amp;quot; will cause togglemap to draw the automap on top of the player&#039;s view before it draws the automap fullscreen. (Bad description, I know. Just try it) &lt;br /&gt;
&lt;br /&gt;
===am_ovotherwallscolor===&lt;br /&gt;
color: &amp;quot;00 88 44&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
The color of passable lines on the automap when the map is overlayed. &lt;br /&gt;
&lt;br /&gt;
===am_ovtelecolor===&lt;br /&gt;
color: &amp;quot;ff ff 00&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
The color of teleportersboth inter- and intra-levelon the overlayed automap.&lt;br /&gt;
&lt;br /&gt;
===am_ovthingcolor===&lt;br /&gt;
color: &amp;quot;e8 88 00&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
The color of things visible with the automap cheat when the map is overlayed. &lt;br /&gt;
&lt;br /&gt;
===am_ovunseencolor===&lt;br /&gt;
color: &amp;quot;00 22 6e&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
The color of unseen lines on the automap when the map is overlayed. &lt;br /&gt;
&lt;br /&gt;
===am_ovwallcolor===&lt;br /&gt;
color: &amp;quot;00 ff 00&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
The color of impassable walls when the automap is overlayed. &lt;br /&gt;
&lt;br /&gt;
===am_ovyourcolor===&lt;br /&gt;
color: &amp;quot;fc e8 d8&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
The color of the arrow representing the player in single player games when the map is overlayed. &lt;br /&gt;
&lt;br /&gt;
===am_rotate===&lt;br /&gt;
boolean: false&amp;lt;br&amp;gt;&lt;br /&gt;
Normally, the automap is always drawn such that north is at the top of the screen. Setting this cvar to &amp;quot;1&amp;quot; causes the automap to be drawn so that lines toward the top of the screen are always directly in front of the player&#039;s view. This can be particularly useful when the automap is overlayed. &lt;br /&gt;
&lt;br /&gt;
===am_showitems===&lt;br /&gt;
boolean: false&amp;lt;br&amp;gt;&lt;br /&gt;
When true, the fullscreen automap will display a count of all the &amp;quot;special&amp;quot; items you have found on the map. These are the same items that are used to determine the Items stat on the intermission screen.&lt;br /&gt;
&lt;br /&gt;
===am_showmonsters===&lt;br /&gt;
boolean: true&amp;lt;br&amp;gt;&lt;br /&gt;
When true, the fullscreen automap will display a count of the number of monsters that have been killed in the current level and the total number of monsters in the level. &lt;br /&gt;
&lt;br /&gt;
===am_showsecrets===&lt;br /&gt;
boolean: true&amp;lt;br&amp;gt;&lt;br /&gt;
When true, the fullscreen automap will display a count of the number of secrets that have been found in the current level and the total number of secrets in the level. &lt;br /&gt;
&lt;br /&gt;
===am_showtime===&lt;br /&gt;
boolean: true&amp;lt;br&amp;gt;&lt;br /&gt;
When true, the fullscreen automap will display the total amount of time you have been in a level (excluding time that has been paused). &lt;br /&gt;
&lt;br /&gt;
===am_thingcolor===&lt;br /&gt;
color: &amp;quot;fc fc fc&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
The color of things revealed with the map cheat. &lt;br /&gt;
&lt;br /&gt;
===am_tswallcolor===&lt;br /&gt;
color: &amp;quot;88 88 88&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
The color of two-sided lines that don&#039;t have any difference in floor or ceiling heights on either side. Only seen using map cheat. &lt;br /&gt;
&lt;br /&gt;
===am_usecustomcolors===&lt;br /&gt;
boolean: true&amp;lt;br&amp;gt;&lt;br /&gt;
When true, the automap uses the colors specified by the am_* cvars, otherwise it uses the standard DOOM automap colors. &lt;br /&gt;
&lt;br /&gt;
am_wallcolor&amp;lt;br&amp;gt;&lt;br /&gt;
color: &amp;quot;2c 18 08&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
The color of one-sided and secret walls in the automap. &lt;br /&gt;
&lt;br /&gt;
===am_xhaircolor===&lt;br /&gt;
color: &amp;quot;80 80 80&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
The color of the &amp;quot;crosshair&amp;quot; dot in the center of the automap. &lt;br /&gt;
&lt;br /&gt;
===am_yourcolor===&lt;br /&gt;
color: &amp;quot;fc e8 d8&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
The color of the arrow representing the player in single player games.&lt;br /&gt;
&lt;br /&gt;
==Player Settings==&lt;br /&gt;
* [[Player Settings]]&lt;br /&gt;
&lt;br /&gt;
==Debugging==&lt;br /&gt;
* [[Debugging]]&lt;/div&gt;</summary>
		<author><name>Lexus Alyus</name></author>
	</entry>
	<entry>
		<id>https://zdoom.org/w/index.php?title=Console_commands&amp;diff=512</id>
		<title>Console commands</title>
		<link rel="alternate" type="text/html" href="https://zdoom.org/w/index.php?title=Console_commands&amp;diff=512"/>
		<updated>2004-01-06T11:23:15Z</updated>

		<summary type="html">&lt;p&gt;Lexus Alyus: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Console Commands are used to alter the way ZDoom does something, such as changing the sound volume, changing DMflags, etc...&lt;br /&gt;
&lt;br /&gt;
You access the console by pressing &amp;quot;~&amp;quot; at any time. (This depends on your keyboard layout, for German keyboard, it is &amp;quot;^&amp;quot;, but to summarize it, it is the key above TAB.)&lt;br /&gt;
&lt;br /&gt;
==Console variable types==&lt;br /&gt;
&lt;br /&gt;
There are six types of cvars: Boolean, Integer, Float, String, Colour and Flag.&lt;br /&gt;
&lt;br /&gt;
=== boolean ===&lt;br /&gt;
&lt;br /&gt;
This type of variable represents a yes/no or on/off value. It can only be set to true or false. As shorthand, setting a boolean variable to 0 will set it to false, and setting it to anything non-zero will set it to true. &lt;br /&gt;
&lt;br /&gt;
=== integer ===&lt;br /&gt;
&lt;br /&gt;
This is an ordinary number without a decimal point. For example, 1 is an integer, but 1.2 is not. &lt;br /&gt;
&lt;br /&gt;
=== float ===&lt;br /&gt;
&lt;br /&gt;
This is an ordinary number that can have a decimal point. &lt;br /&gt;
&lt;br /&gt;
=== string ===&lt;br /&gt;
&lt;br /&gt;
This is a series of text characters enclosed in quotes: For example, &amp;quot;Felix loitered lecherously on the lot&amp;quot; is a string. If you removed the quotes around it, then it would not be a string. &lt;br /&gt;
If you need to use quotes inside a string, preface it with a backslash.&lt;br /&gt;
&lt;br /&gt;
 Are you &amp;quot;The One&amp;quot; of old?&lt;br /&gt;
&lt;br /&gt;
would be written like this as a string: &lt;br /&gt;
&lt;br /&gt;
 &amp;quot;Are you \&amp;quot;The One\&amp;quot; of old?&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== colour ===&lt;br /&gt;
&lt;br /&gt;
This type of variable is a series of three hexadecimal numbers representing the amounts of red, green, and blue (in that order) in a color. For example, pure red would be represented as &amp;quot;ff 00 00&amp;quot;. As a shorthand, you can set a color variable with one of several color names, and the RGB values will be set for you. (EDIT: That&#039;s just a string, i.e. testcolor &amp;quot;ff 00 00&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
=== flag ===&lt;br /&gt;
&lt;br /&gt;
This type of variable mirrors a setting in dmflags or dmflags2. Setting its value will set the corresponding value in one of those variables, and getting its value will get the corresponding value from one of the other two variables. This is designed to make using dmflags easier, because you don&#039;t have to memorize any numbers.&lt;br /&gt;
&lt;br /&gt;
==Button Commands==&lt;br /&gt;
&lt;br /&gt;
Button commands are commands that represent buttons and come in pairs. Each &amp;quot;button&amp;quot; has a command prefixed by a + and another corresponding command prefixed by a -. The + version of the command simulates pushing the button, and the - version of the command simulates releasing the button.&lt;br /&gt;
&lt;br /&gt;
When you bind a command that begins with + to a key, releasing the key will automatically execute the same command with the + replaced by a -. Note that this works for aliases as well as the commands listed here. This provides a useful way to bind multiple actions to a single key. Suppose you want the normal Doom behavior of moving forward and using when you double click the right mouse button. If you use the commands &lt;br /&gt;
&lt;br /&gt;
 bind mouse2 +forward&lt;br /&gt;
 doublebind mouse2 +use&lt;br /&gt;
&lt;br /&gt;
ZDoom will move you forward when you press the right mouse button. When you double click it, you will press use, but you will not move forward. To simulate the standard Doom behavior, you can replace the doublebind command with these three commands instead: &lt;br /&gt;
&lt;br /&gt;
 alias +useforward &amp;quot;+use; +forward&amp;quot;&lt;br /&gt;
 alias -useforward &amp;quot;-use; -forward&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 doublebind mouse2 +useforward&lt;br /&gt;
&lt;br /&gt;
Now when you double click the right mouse button, the +useforward alias will be executed. Because +useforward&#039;s name begins with a + releasing the right mouse button will execute the -useforward alias (whether or not -useforward is defined). &lt;br /&gt;
&lt;br /&gt;
This behavior of executing a - command when a key is released applies only to the first command or alias bound to the key. If you bind a key to &amp;quot;+forward; +right&amp;quot;, releasing the key will execute the command &amp;quot;-forward; +right&amp;quot; and not &amp;quot;-forward; -right&amp;quot;. As shown above, you can use aliases to get the correct behavior. &lt;br /&gt;
&lt;br /&gt;
Another trick you can do with aliases is to create a key that only executes the + command without executing the - command. If you wanted a key that will make you move forward when you press it, and will keep you moving forward even after releasing it, you can use an alias like this:&lt;br /&gt;
&lt;br /&gt;
 alias go &amp;quot;+forward&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Then instead of binding +forward to a key, you bind go to the key instead. This works because go does not begin with a + so nothing will happen when you release the key?ZDoom only looks at the command actually bound to the key to determine if it should execute a - command when the key is released; it does not look inside aliases. &lt;br /&gt;
&lt;br /&gt;
=== Standard buttons ===&lt;br /&gt;
&lt;br /&gt;
+attack Use your weapon.&amp;lt;br&amp;gt;&lt;br /&gt;
-attack Stop using your weapon.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+use Start trying to use anything in front of you.&amp;lt;br&amp;gt;&lt;br /&gt;
-use Stop trying to use anything in front of you.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+back Move backward.&amp;lt;br&amp;gt;&lt;br /&gt;
-back Stop moving backward.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+forward Move forward.&amp;lt;br&amp;gt;&lt;br /&gt;
-forward Stop moving forward.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+jump Start jumping.&amp;lt;br&amp;gt;&lt;br /&gt;
-jump Stop jumping.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+left Start turning left.&amp;lt;br&amp;gt;&lt;br /&gt;
-left Stop turning left.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+right Start turning right.&amp;lt;br&amp;gt;&lt;br /&gt;
-right Stop turning right.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+moveleft Start strafing left.&amp;lt;br&amp;gt;&lt;br /&gt;
-moveleft Stop strafing left.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+moveright Start strafing right.&amp;lt;br&amp;gt;&lt;br /&gt;
-moveright Stop strafing right.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+lookdown Start lowering your view.&amp;lt;br&amp;gt;&lt;br /&gt;
-lookdown Stop lowering your view.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+lookup Start raising your view.&amp;lt;br&amp;gt;&lt;br /&gt;
-lookup Stop raising your view.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+movedown Start moving down if swimming or flying.&amp;lt;br&amp;gt;&lt;br /&gt;
-movedown Stop moving down.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+moveup Start moving up if swimming or flying.&amp;lt;br&amp;gt;&lt;br /&gt;
-moveup Stop moving up if swimming or flying.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+strafe Causes +left and +right to behave like +moveleft and +moveright;&amp;lt;br&amp;gt;&lt;br /&gt;
-strafe Returns +left and +right to their normal behavior.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+klook Causes +forward and +back to act like +lookup and +lookdown instead.&amp;lt;br&amp;gt;&lt;br /&gt;
-klook Returns +forward and +back to their normal behavior.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+mlook Moving the mouse up and down will make you look up and down.&amp;lt;br&amp;gt;&lt;br /&gt;
-mlook Moving the mouse up and down will make you move forward and backward. However, if freelook is true, then moving the mouse up and down will still change your view instead of moving you.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
+showscores Display a scorelist for deathmatch games.&amp;lt;br&amp;gt;&lt;br /&gt;
-showscores Hide the deathmatch scorelist.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+speed Start running.&amp;lt;br&amp;gt;&lt;br /&gt;
-speed Start walking.&lt;br /&gt;
&lt;br /&gt;
==Customization==&lt;br /&gt;
&lt;br /&gt;
===addkeysection (menu-heading) (ini-section-name)&amp;lt;br&amp;gt;===&lt;br /&gt;
This command does two things. First, it adds a new heading called menu-heading to the controls menu. You can use the addmenukey command to add your own custom keys beneath this heading. Second, it loads all the bindings from the corresponding ini-section-name section in zdoom.ini. You can use this command multiple times to create different sections in the menu and ini for different sets of commands. If you use a menu-heading that was already added to the menu, new controls added with addmenukey will appear at the end of that section, but the bindings will not be reloaded from the ini. &lt;br /&gt;
&lt;br /&gt;
===addmenukey (description) (command)&amp;lt;br&amp;gt;===&lt;br /&gt;
Adds a new control to the controls menu. Description is the name of this control in the menu, and command is a console command or alias to be executed when the control is pressed. New controls are added to the last section specified with addkeysection.&lt;br /&gt;
&lt;br /&gt;
===addslot (slot) (weapon)===&lt;br /&gt;
Adds a single weapon to the list of weapons in a weapon slot.&lt;br /&gt;
&lt;br /&gt;
===alias (new-command) [command-string]===&lt;br /&gt;
If specified with no parameters, will display a list of all current aliases. If only new-command is specified, it will be removed from the list of aliases. If command-string is also specified, it will be added to the list of aliases as new-command. For example, to create a new command to kill the monsters on the level, you can use the command: &lt;br /&gt;
 alias massacre &amp;quot;kill monsters&amp;quot;&lt;br /&gt;
Then you can use the newly created massacre command to kill all the monsters on the level.&lt;br /&gt;
&lt;br /&gt;
===archivecvar (cvar)===&lt;br /&gt;
When you create a custom cvar with the set command, it will not normally be saved in the ini. You can use archivecvar after creating the cvar to indicate that the custom cvar&#039;s value should persist even after you quit.&lt;br /&gt;
&lt;br /&gt;
===atexit [command]===&lt;br /&gt;
If you specify a command, it will be added to a list of console commands to execute when the user quits the game. Commands are executed in the reverse order that they were added in. If you do not specify any arguments to atexit, then it will list the current set of commands that will execute when you quit.&lt;br /&gt;
&lt;br /&gt;
===bind (key [command string])===&lt;br /&gt;
If no parameters are specified, the entire list of bound keys will be printed to the console. If only [key] is specified, the binding for that specific key will be printed. If both [key] and [command string] are specified, [command string] will be bound to [key]. &lt;br /&gt;
&lt;br /&gt;
===binddefaults===&lt;br /&gt;
Binds all keys to their default commands. This will not unbind any keys that do not have any default bindings, so if you want to properly restore the default controls, you need to use unbindall first. &lt;br /&gt;
 defaultbind key command&lt;br /&gt;
Binds command to the key if and only if key is not already bound and there are no keys already bound to command.&lt;br /&gt;
&lt;br /&gt;
===doublebind (key [command string])===&lt;br /&gt;
This command works just like bind, except it controls the action that occurs when a key is double-clicked. If a key does not have a doublebinding, then double-clicking it has the same result as pressing it twice. Otherwise, the first press will execute the normal command set with bind, and the second press of the double-click will execute the command set with doublebind. &lt;br /&gt;
&lt;br /&gt;
===eval expression [variable]===&lt;br /&gt;
Evaluates a mathematical expression and either prints it to the console or stores it in variable. Expressions are written using prefix notation instead of the more common infix notation. Basically, you first specify what you want to do (the operator) and then what you want to do it to (the operands). You must separate operators and operands with spaces. &lt;br /&gt;
&lt;br /&gt;
Examples: &lt;br /&gt;
 To compute 2+2: &lt;br /&gt;
 eval + 2 2To compute 5-3: &lt;br /&gt;
 eval - 5 3To compute 2+(5*6): &lt;br /&gt;
 eval + 2 * 5 6To decrease the number of screenblocks: &lt;br /&gt;
 eval - $screenblocks 1 screenblocksThe supported operators are:&lt;br /&gt;
 + a b Adds a and b. &lt;br /&gt;
 - a b Subtracts b from a. &lt;br /&gt;
 * a b Multiplies a and b. &lt;br /&gt;
 / a b Divides a by b. &lt;br /&gt;
 % a b Calculates the remainder of a/b. &lt;br /&gt;
 ^ a b Raises a to the b-th power . &lt;br /&gt;
 &amp;lt; a b Produces 1 if a is less than b and 0 if not. &lt;br /&gt;
 &amp;lt;= a b Produces 1 if a is less than or equal to b and 0 if not. &lt;br /&gt;
 &amp;gt; a b Produces 1 if a is greater than b and 0 if not. &lt;br /&gt;
 &amp;gt;= a b Produces 1 if a is greater than or equal to b and 0 if not. &lt;br /&gt;
 = a b Produces 1 if a is equal to b and 0 if not.&lt;br /&gt;
&lt;br /&gt;
 == a b Produces 1 if a is equal to b and 0 if not. &lt;br /&gt;
 != a b Produces 1 if a is not equal to b and 0 if it is. &lt;br /&gt;
 &amp;lt;&amp;gt; a b Produces 1 if a is not equal to b and 0 if is. &lt;br /&gt;
 xor a b Calculates the bit-wise exclusive-or of a and b. &lt;br /&gt;
 &amp;amp; a b Calculates the bit-wise and of a and b. &lt;br /&gt;
 | a b Calculates the bit-wise or of a and b. &lt;br /&gt;
 &amp;amp;&amp;amp; a b Calculates the logical and of a and b. &lt;br /&gt;
 || a b Calculates the logical or of a and b. &lt;br /&gt;
&lt;br /&gt;
===exec (script-file)===&lt;br /&gt;
Executes a series of commands stored in the script-file as if they had been typed in at the console directly. &lt;br /&gt;
&lt;br /&gt;
===key value1 [value2]===&lt;br /&gt;
Translates all parameters to the command into their corresponding key values which are used internally for command and alias lookup. Probably not very useful for the average user. &lt;br /&gt;
&lt;br /&gt;
===puke (script [arguments])===&lt;br /&gt;
Executes an ACS script on the current map, optionally passing it up to three numerical arguments. &lt;br /&gt;
&lt;br /&gt;
===pullin (wadfile)===&lt;br /&gt;
Loads a wadfile at startup. This command is only valid inside .cfg files that have been execed at startup.&lt;br /&gt;
&lt;br /&gt;
===set (cvar) (value)===&lt;br /&gt;
Sets cvar to value. If cvar does not exist, it will be created. &lt;br /&gt;
&lt;br /&gt;
===rebind (binding)===&lt;br /&gt;
Changes the binding for the key that caused the rebind command to execute. For obvious reasons, this command cannot be used at the console.&lt;br /&gt;
&lt;br /&gt;
Example: &lt;br /&gt;
&lt;br /&gt;
 bind b &amp;quot;echo setting 1; rebind \&amp;quot;echo setting 2\&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
This will cause the first press of b to echo &amp;quot;setting 1&amp;quot; to the console. All future presses of b will echo &amp;quot;setting 2&amp;quot; instead. &lt;br /&gt;
&lt;br /&gt;
===unbind (key)===&lt;br /&gt;
Removes a binding from the specified key.&lt;br /&gt;
&lt;br /&gt;
===unbindall===&lt;br /&gt;
Removes all bindings and doublebindings from every key. To restore the default bindings, you can use the binddefaults command. There is no way to restore any custom bindings after issuing this command except by retyping each bind command or using the controls setup menu.&lt;br /&gt;
&lt;br /&gt;
===undoublebind (key)===&lt;br /&gt;
Removes a doublebinding from the specified key.&lt;br /&gt;
&lt;br /&gt;
===unset (cvar)===&lt;br /&gt;
Undefines a user-created cvar.&lt;br /&gt;
&lt;br /&gt;
==Screenshots==&lt;br /&gt;
&lt;br /&gt;
===png_gamma===&lt;br /&gt;
float: 0&amp;lt;br&amp;gt;&lt;br /&gt;
Controls the gamma level stored in PNG screenshots. If this is 0, then your current gamma setting will be used.&lt;br /&gt;
&lt;br /&gt;
===png_level===&lt;br /&gt;
integer: 5&amp;lt;br&amp;gt;&lt;br /&gt;
This is the level of compression to use for PNG screenshots. 0 is no compression at all, 1 is minimal compression (fastest), 9 is maximum compression (slowest), and intermediate values offer intermediate compression. 5 is offers a decent trade-of between file size and compression time. An uncompressed image will not neccessarily save faster than a compressed image, because the extra time needed to write out a complete uncompressed image may be longer than the time required to compress the image. If you need to create screenshots as quickly as possible, consider setting screenshot_type to &amp;quot;pcx&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
===screenshot [file]===&lt;br /&gt;
Dumps a copy of the screen to disk as a PNG or PCX file. If file is not specified, the screenshot will be saved to the directory the game was run from with a name of the form doom????.png. &lt;br /&gt;
&lt;br /&gt;
===screenshot_quiet===&lt;br /&gt;
boolean: false&amp;lt;br&amp;gt;&lt;br /&gt;
Setting this to true will suppress the messages informing you what file a screenshot was saved to.&lt;br /&gt;
&lt;br /&gt;
===screenshot_type===&lt;br /&gt;
string: &amp;quot;png&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Determines the type of screenshots that will be saved. This can be either &amp;quot;png&amp;quot; or &amp;quot;pcx&amp;quot;. In my empirical studies, PNG screenshots are about half the size of pcx screenshots. PCX screenshots have the advantage that they require less time to create so are most useful for rapid screenshot generation. The following sequence of console commands will take a screenshot every frame. You can use an external program to assemble these into a video, if desired. &lt;br /&gt;
&lt;br /&gt;
 screenshot_type &amp;quot;png&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
 screenshot_quiet true&amp;lt;br&amp;gt;&lt;br /&gt;
 alias autoshot &amp;quot;screenshot; wait 1; autoshot&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
 autoshot&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you use the autoshot alias, the command alias autoshot will stop automatic screenshot taking before you hit 10000 screenshots (approximately 4 minutes, 45 seconds).&lt;br /&gt;
&lt;br /&gt;
===storesavepic===&lt;br /&gt;
boolean: true&amp;lt;br&amp;gt;&lt;br /&gt;
Setting this to false will produce smaller savegames (by about 14k typically) by not storing a screenshot inside the savegame.&lt;br /&gt;
&lt;br /&gt;
==Chatting==&lt;br /&gt;
&lt;br /&gt;
===chat_substitution===&lt;br /&gt;
boolean: false&amp;lt;br&amp;gt;&lt;br /&gt;
Set this to true if you want to chat using special keywords that will be replaced with appropriate text when your messages are sent. The supported keywords are:&lt;br /&gt;
 &lt;br /&gt;
$health &amp;lt;br&amp;gt;&lt;br /&gt;
Replaced by your current health. &amp;lt;br&amp;gt;&lt;br /&gt;
$weapon &amp;lt;br&amp;gt;&lt;br /&gt;
Replaced by the name of your current weapon. &amp;lt;br&amp;gt;&lt;br /&gt;
$armor &amp;lt;br&amp;gt;&lt;br /&gt;
Replaced by your current armor count. &amp;lt;br&amp;gt;&lt;br /&gt;
$ammocount &amp;lt;br&amp;gt;&lt;br /&gt;
Replaced by your current ammo count. &amp;lt;br&amp;gt;&lt;br /&gt;
$ammo &amp;lt;br&amp;gt;&lt;br /&gt;
Replaced by the name of your current ammo.&lt;br /&gt;
&lt;br /&gt;
As an example, if you just started a new game of Doom and have chat substitution turned on, when you send the message &amp;quot;My health is $health, and I am using a $weapon&amp;quot;, the message that is actually sent will be &amp;quot;My health is 100, and I am using a Pistol&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
chatmacro0&amp;lt;br&amp;gt;&lt;br /&gt;
chatmacro1&amp;lt;br&amp;gt;&lt;br /&gt;
chatmacro2&amp;lt;br&amp;gt;&lt;br /&gt;
chatmacro3&amp;lt;br&amp;gt;&lt;br /&gt;
chatmacro4&amp;lt;br&amp;gt;&lt;br /&gt;
chatmacro5&amp;lt;br&amp;gt;&lt;br /&gt;
chatmacro6&amp;lt;br&amp;gt;&lt;br /&gt;
chatmacro7&amp;lt;br&amp;gt;&lt;br /&gt;
chatmacro8&amp;lt;br&amp;gt;&lt;br /&gt;
chatmacro9&amp;lt;br&amp;gt;&lt;br /&gt;
string&amp;lt;br&amp;gt;&lt;br /&gt;
These are all strings that can be assigned to hotkeys in chat mode. To use these, enter chat mode and then hold down Alt and press one of the number keys. The string stored in the corresponding chatmacro cvar will be sent as if you had typed it yourself. &lt;br /&gt;
&lt;br /&gt;
===messagemode===&lt;br /&gt;
Enters message entry mode. Anything typed while in this mode will be sent to everyone else as if you had used the say command once you press enter. &lt;br /&gt;
&lt;br /&gt;
===messagemode2===&lt;br /&gt;
This is just like messagemode except that the message is only sent to other members of your team. If teamplay is false or you don&#039;t have a team, then this command will work just like messagemode and send the message to everyone. &lt;br /&gt;
&lt;br /&gt;
===say (message)===&lt;br /&gt;
Sends a message to everyone playing. If your message begins with &amp;quot;/me&amp;quot; then &amp;quot;/me&amp;quot; will be replaced by your name ala IRC. &lt;br /&gt;
&lt;br /&gt;
===say_team (message)===&lt;br /&gt;
This is just like say except it only sends a message to your teammates. If teamplay is inactive, then this command will act exactly like say and send the message to everyone.&lt;br /&gt;
&lt;br /&gt;
==Cheating==&lt;br /&gt;
&lt;br /&gt;
===sv_cheats===&lt;br /&gt;
boolean: false&lt;br /&gt;
When true, cheats will be allowed in Nightmare difficulty and network games. For purposes of fairness, this cvar can only be set from the command line when you run ZDoom. This is to avoid situations where the key player in a multiplayer game (player 1) could go to the console and type something like this:&lt;br /&gt;
&lt;br /&gt;
 sv_cheats 1&lt;br /&gt;
 god&lt;br /&gt;
 sv_cheats 0&lt;br /&gt;
&lt;br /&gt;
whereby rendering himself immune to the attacks of others.&lt;br /&gt;
&lt;br /&gt;
===anubis===&lt;br /&gt;
Toggles monster fear on and off. Scared monsters will run away from you and attack less frequently.&lt;br /&gt;
&lt;br /&gt;
===fly===&lt;br /&gt;
Toggles fly mode on and off.&lt;br /&gt;
&lt;br /&gt;
===give (item)===&lt;br /&gt;
Gives an item to the player. Give understands the following special items: &lt;br /&gt;
 all - gives you everything &lt;br /&gt;
 health - gives you full health &lt;br /&gt;
 weapons - gives you every weapon &lt;br /&gt;
 ammo - gives you full ammo &lt;br /&gt;
 armor - gives you full armor &lt;br /&gt;
 keys - gives you every key &lt;br /&gt;
It also understands the names of individual inventory items. Use the command dumpclasses inventory for a complete list of these. &lt;br /&gt;
&lt;br /&gt;
===god===&lt;br /&gt;
Toggles God (Degreelessness) mode on/off. While active, you cannot be hurt by normal attacks (although telefragging will still kill you). Also known as iddqd. &lt;br /&gt;
&lt;br /&gt;
===iddqd===&lt;br /&gt;
The same as god, except it also gives you 100 health.&lt;br /&gt;
&lt;br /&gt;
===kill [monsters]===&lt;br /&gt;
If used as &amp;quot;kill monsters&amp;quot;, will kill all monsters on the level. Otherwise, it will kill you instead. This command is broken in netgames, so don&#039;t use it unless you are playing a single player game. &lt;br /&gt;
&lt;br /&gt;
===logfile [log-file]===&lt;br /&gt;
If log-file is not specified, console logging will be stopped (if active). Otherwise, a file named log-file will be created on disk, and all console output will be recorded in it as well as on the screen. &lt;br /&gt;
&lt;br /&gt;
===mdk===&lt;br /&gt;
This cheat will kill whatever you are looking at.&lt;br /&gt;
&lt;br /&gt;
===morphme===&lt;br /&gt;
Transforms you into a chicken in Heretic and a pig in Hexen and Doom (The latter only happens if you have the releven graphics present).&lt;br /&gt;
&lt;br /&gt;
===noclip===&lt;br /&gt;
Toggles noclipping mode on/off. &lt;br /&gt;
&lt;br /&gt;
===notarget===&lt;br /&gt;
Toggles notarget mode on/off. While active, monsters will not target you unless you hurt them first. In &amp;quot;modern FPS&amp;quot;, monsters &amp;quot;can&#039;t find you&amp;quot; when in notarget mode. This is not the case with ZDoom.&lt;br /&gt;
&lt;br /&gt;
===powerup===&lt;br /&gt;
Powers you up in Heretic as if you had used a Tome of Power.&lt;br /&gt;
&lt;br /&gt;
===sv_fastweapons (0-2)===&lt;br /&gt;
Increases speed of weapons in Doom, Heretic, and Hexen. Setting to 2 makes weapons even faster.&lt;br /&gt;
&lt;br /&gt;
===turbo===&lt;br /&gt;
float: 100&amp;lt;br&amp;gt;&lt;br /&gt;
This cvar affects how quickly the player moves. A value of 100 will cause the player to move at normal speed, 200 will cause the player to move at 200% of normal speed, 50 will cause the player to move at 50% of normal speed, etc. Valid values range from 10 to 256.&lt;br /&gt;
&lt;br /&gt;
==Display==&lt;br /&gt;
&lt;br /&gt;
===bumpgamma===&lt;br /&gt;
Increases the current gamma level by 0.1. If the new gamma level would be greater than 3.0, it wraps the gamma around to 1.0 &lt;br /&gt;
&lt;br /&gt;
===cl_bbannounce===&lt;br /&gt;
boolean: false&amp;lt;br&amp;gt;&lt;br /&gt;
When true, enables the Bloodbath announcer for deathmatch games. The Bloodbath announcer is &amp;quot;The Voice&amp;quot; from Monolith Software&#039;s Blood game. To hear the announcer, you need to load Blood&#039;s sounds.rff either at the command line or through one of zdoom.ini&#039;s [*.Autoload] sections. You can get this file either from the demo or full version of Blood. If you don&#039;t have sounds.rff, you can still see the announcer&#039;s messages even though you won&#039;t hear anything. &lt;br /&gt;
&lt;br /&gt;
===cl_showmultikills===&lt;br /&gt;
boolean: true&amp;lt;br&amp;gt;&lt;br /&gt;
Set this to false if you don&#039;t want to see Unreal Tournament-style messages when a player makes several kills in a short period of time.&lt;br /&gt;
&lt;br /&gt;
===cl_showsprees===&lt;br /&gt;
boolean: true&amp;lt;br&amp;gt;&lt;br /&gt;
Set this to false if you don&#039;t want to see Unreal Tournament-style messages when a player is on a killing spree.&lt;br /&gt;
&lt;br /&gt;
===cl_spreaddecals===&lt;br /&gt;
boolean: true&amp;lt;br&amp;gt;&lt;br /&gt;
ZDoom clips decals to sidedefs. In order to hide this, the game will create as many duplicate decals on adjoining sidedefs as needed to make it appear that there is only one unbroken decal on the wall. Set this cvar to false if you don&#039;t want this.&lt;br /&gt;
&lt;br /&gt;
===con_centernotify===&lt;br /&gt;
boolean: false for Doom, true for Heretic and Hexen&amp;lt;br&amp;gt;&lt;br /&gt;
When true, notify messages at the top of the screen are centered. Otherwise, they are justified against the left margin.&lt;br /&gt;
&lt;br /&gt;
===con_midtime===&lt;br /&gt;
float: 3&amp;lt;br&amp;gt;&lt;br /&gt;
This is the number of seconds that messages in the middle of the screen will be displayed before they dispapper. &lt;br /&gt;
&lt;br /&gt;
===con_notifytime===&lt;br /&gt;
float: 3&amp;lt;br&amp;gt;&lt;br /&gt;
This is the number of seconds that new messages will stay at the top of the screen before they start scrolling away. &lt;br /&gt;
&lt;br /&gt;
===con_scaletext===&lt;br /&gt;
boolean: false&amp;lt;br&amp;gt;&lt;br /&gt;
If this cvar is true, then message text will be scaled to larger sizes depending on the screen resolution so that it will stay approximately the same size it would be on a 320x200 screen. &lt;br /&gt;
&lt;br /&gt;
===crosshair===&lt;br /&gt;
integer: 0&amp;lt;br&amp;gt;&lt;br /&gt;
If this cvar is non-zero, it draws a crosshair. If this cvar is negative, the crosshair is translucent, otherwise it is opaque. The specific crosshair drawn depends on the value of this cvar. &lt;br /&gt;
&lt;br /&gt;
===crosshaircolor===&lt;br /&gt;
color: &amp;quot;ff 00 00&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
This is the crosshair&#039;s color if crosshairhealth is false.&lt;br /&gt;
&lt;br /&gt;
===crosshairgrow===&lt;br /&gt;
boolean: false&amp;lt;br&amp;gt;&lt;br /&gt;
Set this to true if you want the crosshair to temporarily enlarge each time you pick up an item.&lt;br /&gt;
&lt;br /&gt;
===crosshairhealth===&lt;br /&gt;
boolean: true&amp;lt;br&amp;gt;&lt;br /&gt;
When true, the crosshair&#039;s color reflects your current health. Green is healthy, red is near death, and intermediate colors are somewhere in between. Set this to false, if you want the crosshair to have a constant color (specified by the crosshaircolor cvar) instead.&lt;br /&gt;
&lt;br /&gt;
===crosshairscale===&lt;br /&gt;
boolean: false&amp;lt;br&amp;gt;&lt;br /&gt;
Set this to true if you want the crosshair to always appear the same size at all resolutions. Leaving it at false causes the crosshair to be drawn normally.&lt;br /&gt;
&lt;br /&gt;
===gamma===&lt;br /&gt;
float: 1.0&amp;lt;br&amp;gt;&lt;br /&gt;
Controls the amount of gamma correction applied to the display. 1.0 is equivalent to no correction, while larger numbers translate into a brighter display, and smaller numbers translate into a darker display. 0.0 is invalid and will be rejected. Negative numbers are technically invalid but will be accepted solely for the novelty value doing so provides. &lt;br /&gt;
&lt;br /&gt;
===hud_scale===&lt;br /&gt;
boolean: false&amp;lt;br&amp;gt;&lt;br /&gt;
Controls scaling of the fullscreen hud. At resolutions of 640x400 or above, setting this cvar to true will cause the icons to be scaled to approximately the same size they would be at 320x200. If this cvar is false, the icons will always be drawn without any scaling. &lt;br /&gt;
&lt;br /&gt;
===msg===&lt;br /&gt;
integer: 0&amp;lt;br&amp;gt;&lt;br /&gt;
This is the minimum message level that you will see. You will not see any messages with a lower priority than this. The different message levels are: &lt;br /&gt;
&lt;br /&gt;
#Item pickup &lt;br /&gt;
#Obituaries &lt;br /&gt;
#Critical messages &lt;br /&gt;
#Chat messages &lt;br /&gt;
#Chat messages from a teammate &lt;br /&gt;
&lt;br /&gt;
===msg0color===&lt;br /&gt;
integer: 6&amp;lt;br&amp;gt;&lt;br /&gt;
This cvar controls the color used to display level 0 (item pickup) messages. Available colors are: &lt;br /&gt;
&lt;br /&gt;
#Brick &lt;br /&gt;
#Tan &lt;br /&gt;
#Gray &lt;br /&gt;
#Green &lt;br /&gt;
#Brown &lt;br /&gt;
#Gold &lt;br /&gt;
#Red &lt;br /&gt;
#Blue &lt;br /&gt;
#Orange &lt;br /&gt;
#White &lt;br /&gt;
#Yellow &lt;br /&gt;
&lt;br /&gt;
===msg1color===&lt;br /&gt;
integer: 5&amp;lt;br&amp;gt;&lt;br /&gt;
This cvar selects the color used to display level 1 (obituary) messages. Available colors are the same as for&amp;quot; msg0color. &lt;br /&gt;
&lt;br /&gt;
===msg2color===&lt;br /&gt;
integer: 2&amp;lt;br&amp;gt;&lt;br /&gt;
This cvar selects the color used to display level 2 (critical) messages. Available colors are the same as for msg0color. &lt;br /&gt;
&lt;br /&gt;
===msg3color===&lt;br /&gt;
integer: 3&amp;lt;br&amp;gt;&lt;br /&gt;
This cvar selects the color used to display level 3 (chat) messages. Available colors are the same as for msg0color. &lt;br /&gt;
&lt;br /&gt;
===msg4color===&lt;br /&gt;
integer: 3&amp;lt;br&amp;gt;&lt;br /&gt;
This cvar selects the color used to display level 4 (team chat) messages. Available colors are the same as for msg0color. &lt;br /&gt;
&lt;br /&gt;
===msgmidcolor===&lt;br /&gt;
integer: 5&amp;lt;br&amp;gt;&lt;br /&gt;
This cvar selects the color used to display messages in the middle of the screen. Available colors are the same as for msg0color. &lt;br /&gt;
&lt;br /&gt;
===msgmidcolor2===&lt;br /&gt;
integer: 4&amp;lt;br&amp;gt;&lt;br /&gt;
This cvar selects the color used to display messages in the middle of the screen that are sent to everyone. Available colors are the same as for msg0color. &lt;br /&gt;
&lt;br /&gt;
===st_scale===&lt;br /&gt;
boolean: false&amp;lt;br&amp;gt;&lt;br /&gt;
When this cvar is true, the status bar will be scaled so that it covers the entire width of the screen in higher resolutions. At low resolutions this may look ugly, but at high resolutions it should look good enough.&lt;br /&gt;
&lt;br /&gt;
==Renderer==&lt;br /&gt;
&lt;br /&gt;
===r_columnmethod===&lt;br /&gt;
integer: 1&amp;lt;br&amp;gt;&lt;br /&gt;
Selects which of two algorithms to use to draw sprites and masked textures. Method 0 is the original algorithm used by DOOM. Method 1 is a new algorithm optimized for Pentium IIs and can perform significantly better with that or comparable processors. Ironically, method 0 is slightly faster than method 1 on Pentium III and Athlon processors (though not significantly so). &lt;br /&gt;
&lt;br /&gt;
===r_detail===&lt;br /&gt;
integer: 0&amp;lt;br&amp;gt;&lt;br /&gt;
This cvar selects the detail level of the view window. Valid values are: &lt;br /&gt;
&lt;br /&gt;
#Normal detail level. Equivalent to Doom&#039;s high detail mode. &lt;br /&gt;
#Double pixels horizontally. Equivalent to Doom&#039;s low detail mode. &lt;br /&gt;
#Double pixels vertically. &lt;br /&gt;
#Double pixels horizontally and vertically. &lt;br /&gt;
&lt;br /&gt;
Because of the way the renderer works, doubling pixels horizontally offers more of a speed-up than doubling them vertically does. Unless you have a very slow computer, there should be no reason to use any detail level other than 0. &lt;br /&gt;
&lt;br /&gt;
===r_drawflat===&lt;br /&gt;
boolean: false&amp;lt;br&amp;gt;&lt;br /&gt;
When set to 0, segs will be drawn as solid colors instead of textures. This is useful if you want to see how a node builder split a level&#039;s linedefs. Otherwise, it just looks ugly. &lt;br /&gt;
&lt;br /&gt;
===r_drawfuzzbr===&lt;br /&gt;
boolean: true&amp;lt;br&amp;gt;&lt;br /&gt;
When set to false, the &amp;quot;fuzz&amp;quot; effect on spectres and partially invisible players will be replaced with translucency. &lt;br /&gt;
&lt;br /&gt;
===r_drawmirrors===&lt;br /&gt;
boolean: true&amp;lt;br&amp;gt;&lt;br /&gt;
Setting this false will disable the display of mirrors.&lt;br /&gt;
&lt;br /&gt;
===r_drawplayersprites===&lt;br /&gt;
boolean: true&amp;lt;br&amp;gt;&lt;br /&gt;
When false, the game will not draw the player&#039;s weapon or muzzle flash, which can be nice for screenshots. &lt;br /&gt;
&lt;br /&gt;
===r_drawtrans===&lt;br /&gt;
boolean: true&amp;lt;br&amp;gt;&lt;br /&gt;
Setting this to false will disable all translucency effects in the game.&lt;br /&gt;
&lt;br /&gt;
===r_fogboundary===&lt;br /&gt;
boolean: true&amp;lt;br&amp;gt;&lt;br /&gt;
Setting this to false will disable the display of fog boundaries. Fog boundaries are sections where two areas with different fog colors meet. If the boundary is not drawn, then it will look like there is no fog at all in front of the boundary. Some old levels may look bad with fog boundary drawing enabled, which is why this cvar is available.&lt;br /&gt;
&lt;br /&gt;
===r_particles===&lt;br /&gt;
boolean: true&amp;lt;br&amp;gt;&lt;br /&gt;
If set to true, particles are drawn. Otherwise, they aren&#039;t. &lt;br /&gt;
&lt;br /&gt;
===r_stretchsky===&lt;br /&gt;
boolean: true&amp;lt;br&amp;gt;&lt;br /&gt;
Controls whether or not short sky textures are stretched so that you don&#039;t see them wrap when you look up. &lt;br /&gt;
&lt;br /&gt;
===r_viewsize===&lt;br /&gt;
string&amp;lt;br&amp;gt;&lt;br /&gt;
This cvar contains the width and height of the current view window. This cvar is read only. &lt;br /&gt;
&lt;br /&gt;
===r_visibility [visibility]===&lt;br /&gt;
Without any parameters, displays the current visibility. With a parameter, the visibility is set. Standard visibility for the Doom engine is 8. Visibility determines how quickly light drops off with distance from the viewer. At 0 visibility, there is no change in lighting with depth.&lt;br /&gt;
&lt;br /&gt;
==Video==&lt;br /&gt;
&lt;br /&gt;
===fullscreen===&lt;br /&gt;
boolean: true&amp;lt;br&amp;gt;&lt;br /&gt;
If this cvar is true, the game will be displayed fullscreen. Otherwise, it will be drawn in a window. Some video cards may require that you have fullscreen false in order to run ZDoom. &lt;br /&gt;
&lt;br /&gt;
===vid_attachedsurfaces (Win32 only)===&lt;br /&gt;
boolean: false&amp;lt;br&amp;gt;&lt;br /&gt;
Controls how the game allocates video memory. False is the standard setting and will always produce a useable display. If you find that there are patches of pure black and pure white on the screen (especially noticeable when a demon is right in your face), try setting this to true. Certain old Windows 95 video drivers are said to need this fix, and it is also necessary under NT 4. Unfortunately, many new video drivers (including those under NT 4) will produce a scrambled display if the screen width is not 512 or 1024 pixels and this is set to true.&lt;br /&gt;
&lt;br /&gt;
===vid_currentmode===&lt;br /&gt;
Displays the resolution of the current video mode.&lt;br /&gt;
&lt;br /&gt;
===vid_defbits===&lt;br /&gt;
integer: 8&amp;lt;br&amp;gt;&lt;br /&gt;
Ignored. This cvar is meant to specify the default screen depth, but the setting is currently ignored because only 256-color displays are supported.&lt;br /&gt;
&lt;br /&gt;
===vid_defheight===&lt;br /&gt;
integer: 200&amp;lt;br&amp;gt;&lt;br /&gt;
Specifies the default screen height to use if not overridden at the command line by the -height switch.&lt;br /&gt;
&lt;br /&gt;
===vid_defwidth===&lt;br /&gt;
integer: 320&amp;lt;br&amp;gt;&lt;br /&gt;
Specifies the default screen width to use if not overridden at the command line with the -width switch.&lt;br /&gt;
&lt;br /&gt;
===vid_listmodes===&lt;br /&gt;
Lists all resolutions supported by the current display driver.&lt;br /&gt;
&lt;br /&gt;
===vid_fps===&lt;br /&gt;
boolean: false&amp;lt;br&amp;gt;&lt;br /&gt;
When true, displays the average framerate over the past second in the lower-left corner of the screen. Because Doom&#039;s internal game rate and frame rate are linked, the framerate will never be (much) above 35 fps.&lt;br /&gt;
&lt;br /&gt;
===vid_noblitter (Win32 only)===&lt;br /&gt;
boolean: true&amp;lt;br&amp;gt;&lt;br /&gt;
Setting this to false will allow the use of the hardware to assist moving image data to video memory. When I initial wrote the code to use the blitter, it was faster than not using it. Now the blitter is slower, and I can&#039;t figure out why, so the default is true.&lt;br /&gt;
&lt;br /&gt;
===vid_palettehack (Win32 only)===&lt;br /&gt;
boolean: false&amp;lt;br&amp;gt;&lt;br /&gt;
When this cvar is true, the game will refresh the palette every time the screen is redrawn. This can be useful with some buggy video drivers. If the display is fine without it, leave it that way because this can slightly slow things down.&lt;br /&gt;
&lt;br /&gt;
===vid_setmode (width) (height) [depth]===&lt;br /&gt;
Sets the screen mode to width x height with an optional color depth (if your video hardware supports it). Only a depth of 8 is supported. See also vid_currentmode, vid_listmodes&lt;br /&gt;
&lt;br /&gt;
===vid_vsync (Win32 only)===&lt;br /&gt;
boolean: true&amp;lt;br&amp;gt;&lt;br /&gt;
Set this to false to disable vsync. Not all video cards support disabling vsync.&lt;br /&gt;
&lt;br /&gt;
==Bots==&lt;br /&gt;
&lt;br /&gt;
===addbot [name]===&lt;br /&gt;
Spawns a bot. If a name is given, the corresponding bot in bots.cfg will be spawned. Otherwise, a bot will be picked at random from bots.cfg. &lt;br /&gt;
&lt;br /&gt;
===bot_allowspy===&lt;br /&gt;
boolean: false&amp;lt;br&amp;gt;&lt;br /&gt;
Allows you to see through the eyes of bots during botmatch games. &lt;br /&gt;
&lt;br /&gt;
===bot_observer===&lt;br /&gt;
boolean: false&amp;lt;br&amp;gt;&lt;br /&gt;
When set to 1, the player will experience minimal interaction with the world, and bots will ignore him. &lt;br /&gt;
&lt;br /&gt;
===listbots===&lt;br /&gt;
Lists the bots available in bots.cfg, and indicates which are currently playing. &lt;br /&gt;
&lt;br /&gt;
===removebots===&lt;br /&gt;
Removes any bots from the game. Bots will also be automatically removed from network games when the arbitrator quits.&lt;br /&gt;
&lt;br /&gt;
==Automap==&lt;br /&gt;
* [[AutoMap]]&lt;br /&gt;
&lt;br /&gt;
==Player Settings==&lt;br /&gt;
* [[Player Settings]]&lt;br /&gt;
&lt;br /&gt;
==Debugging==&lt;br /&gt;
* [[Debugging]]&lt;/div&gt;</summary>
		<author><name>Lexus Alyus</name></author>
	</entry>
	<entry>
		<id>https://zdoom.org/w/index.php?title=Console_commands&amp;diff=511</id>
		<title>Console commands</title>
		<link rel="alternate" type="text/html" href="https://zdoom.org/w/index.php?title=Console_commands&amp;diff=511"/>
		<updated>2004-01-06T11:22:31Z</updated>

		<summary type="html">&lt;p&gt;Lexus Alyus: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Console Commands are used to alter the way ZDoom does something, such as changing the sound volume, changing DMflags, etc...&lt;br /&gt;
&lt;br /&gt;
You access the console by pressing &amp;quot;~&amp;quot; at any time. (This depends on your keyboard layout, for German keyboard, it is &amp;quot;^&amp;quot;, but to summarize it, it is the key above TAB.)&lt;br /&gt;
&lt;br /&gt;
==Console variable types==&lt;br /&gt;
&lt;br /&gt;
There are six types of cvars: Boolean, Integer, Float, String, Colour and Flag.&lt;br /&gt;
&lt;br /&gt;
=== boolean ===&lt;br /&gt;
&lt;br /&gt;
This type of variable represents a yes/no or on/off value. It can only be set to true or false. As shorthand, setting a boolean variable to 0 will set it to false, and setting it to anything non-zero will set it to true. &lt;br /&gt;
&lt;br /&gt;
=== integer ===&lt;br /&gt;
&lt;br /&gt;
This is an ordinary number without a decimal point. For example, 1 is an integer, but 1.2 is not. &lt;br /&gt;
&lt;br /&gt;
=== float ===&lt;br /&gt;
&lt;br /&gt;
This is an ordinary number that can have a decimal point. &lt;br /&gt;
&lt;br /&gt;
=== string ===&lt;br /&gt;
&lt;br /&gt;
This is a series of text characters enclosed in quotes: For example, &amp;quot;Felix loitered lecherously on the lot&amp;quot; is a string. If you removed the quotes around it, then it would not be a string. &lt;br /&gt;
If you need to use quotes inside a string, preface it with a backslash.&lt;br /&gt;
&lt;br /&gt;
 Are you &amp;quot;The One&amp;quot; of old?&lt;br /&gt;
&lt;br /&gt;
would be written like this as a string: &lt;br /&gt;
&lt;br /&gt;
 &amp;quot;Are you \&amp;quot;The One\&amp;quot; of old?&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== colour ===&lt;br /&gt;
&lt;br /&gt;
This type of variable is a series of three hexadecimal numbers representing the amounts of red, green, and blue (in that order) in a color. For example, pure red would be represented as &amp;quot;ff 00 00&amp;quot;. As a shorthand, you can set a color variable with one of several color names, and the RGB values will be set for you. (EDIT: That&#039;s just a string, i.e. testcolor &amp;quot;ff 00 00&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
=== flag ===&lt;br /&gt;
&lt;br /&gt;
This type of variable mirrors a setting in dmflags or dmflags2. Setting its value will set the corresponding value in one of those variables, and getting its value will get the corresponding value from one of the other two variables. This is designed to make using dmflags easier, because you don&#039;t have to memorize any numbers.&lt;br /&gt;
&lt;br /&gt;
==Button Commands==&lt;br /&gt;
&lt;br /&gt;
Button commands are commands that represent buttons and come in pairs. Each &amp;quot;button&amp;quot; has a command prefixed by a + and another corresponding command prefixed by a -. The + version of the command simulates pushing the button, and the - version of the command simulates releasing the button.&lt;br /&gt;
&lt;br /&gt;
When you bind a command that begins with + to a key, releasing the key will automatically execute the same command with the + replaced by a -. Note that this works for aliases as well as the commands listed here. This provides a useful way to bind multiple actions to a single key. Suppose you want the normal Doom behavior of moving forward and using when you double click the right mouse button. If you use the commands &lt;br /&gt;
&lt;br /&gt;
 bind mouse2 +forward&lt;br /&gt;
 doublebind mouse2 +use&lt;br /&gt;
&lt;br /&gt;
ZDoom will move you forward when you press the right mouse button. When you double click it, you will press use, but you will not move forward. To simulate the standard Doom behavior, you can replace the doublebind command with these three commands instead: &lt;br /&gt;
&lt;br /&gt;
 alias +useforward &amp;quot;+use; +forward&amp;quot;&lt;br /&gt;
 alias -useforward &amp;quot;-use; -forward&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 doublebind mouse2 +useforward&lt;br /&gt;
&lt;br /&gt;
Now when you double click the right mouse button, the +useforward alias will be executed. Because +useforward&#039;s name begins with a + releasing the right mouse button will execute the -useforward alias (whether or not -useforward is defined). &lt;br /&gt;
&lt;br /&gt;
This behavior of executing a - command when a key is released applies only to the first command or alias bound to the key. If you bind a key to &amp;quot;+forward; +right&amp;quot;, releasing the key will execute the command &amp;quot;-forward; +right&amp;quot; and not &amp;quot;-forward; -right&amp;quot;. As shown above, you can use aliases to get the correct behavior. &lt;br /&gt;
&lt;br /&gt;
Another trick you can do with aliases is to create a key that only executes the + command without executing the - command. If you wanted a key that will make you move forward when you press it, and will keep you moving forward even after releasing it, you can use an alias like this:&lt;br /&gt;
&lt;br /&gt;
 alias go &amp;quot;+forward&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Then instead of binding +forward to a key, you bind go to the key instead. This works because go does not begin with a + so nothing will happen when you release the key?ZDoom only looks at the command actually bound to the key to determine if it should execute a - command when the key is released; it does not look inside aliases. &lt;br /&gt;
&lt;br /&gt;
=== Standard buttons ===&lt;br /&gt;
&lt;br /&gt;
+attack Use your weapon.&amp;lt;br&amp;gt;&lt;br /&gt;
-attack Stop using your weapon.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+use Start trying to use anything in front of you.&amp;lt;br&amp;gt;&lt;br /&gt;
-use Stop trying to use anything in front of you.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+back Move backward.&amp;lt;br&amp;gt;&lt;br /&gt;
-back Stop moving backward.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+forward Move forward.&amp;lt;br&amp;gt;&lt;br /&gt;
-forward Stop moving forward.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+jump Start jumping.&amp;lt;br&amp;gt;&lt;br /&gt;
-jump Stop jumping.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+left Start turning left.&amp;lt;br&amp;gt;&lt;br /&gt;
-left Stop turning left.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+right Start turning right.&amp;lt;br&amp;gt;&lt;br /&gt;
-right Stop turning right.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+moveleft Start strafing left.&amp;lt;br&amp;gt;&lt;br /&gt;
-moveleft Stop strafing left.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+moveright Start strafing right.&amp;lt;br&amp;gt;&lt;br /&gt;
-moveright Stop strafing right.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+lookdown Start lowering your view.&amp;lt;br&amp;gt;&lt;br /&gt;
-lookdown Stop lowering your view.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+lookup Start raising your view.&amp;lt;br&amp;gt;&lt;br /&gt;
-lookup Stop raising your view.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+movedown Start moving down if swimming or flying.&amp;lt;br&amp;gt;&lt;br /&gt;
-movedown Stop moving down.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+moveup Start moving up if swimming or flying.&amp;lt;br&amp;gt;&lt;br /&gt;
-moveup Stop moving up if swimming or flying.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+strafe Causes +left and +right to behave like +moveleft and +moveright;&amp;lt;br&amp;gt;&lt;br /&gt;
-strafe Returns +left and +right to their normal behavior.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+klook Causes +forward and +back to act like +lookup and +lookdown instead.&amp;lt;br&amp;gt;&lt;br /&gt;
-klook Returns +forward and +back to their normal behavior.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+mlook Moving the mouse up and down will make you look up and down.&amp;lt;br&amp;gt;&lt;br /&gt;
-mlook Moving the mouse up and down will make you move forward and backward. However, if freelook is true, then moving the mouse up and down will still change your view instead of moving you.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
+showscores Display a scorelist for deathmatch games.&amp;lt;br&amp;gt;&lt;br /&gt;
-showscores Hide the deathmatch scorelist.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+speed Start running.&amp;lt;br&amp;gt;&lt;br /&gt;
-speed Start walking.&lt;br /&gt;
&lt;br /&gt;
==Customization==&lt;br /&gt;
&lt;br /&gt;
===addkeysection (menu-heading) (ini-section-name)&amp;lt;br&amp;gt;===&lt;br /&gt;
This command does two things. First, it adds a new heading called menu-heading to the controls menu. You can use the addmenukey command to add your own custom keys beneath this heading. Second, it loads all the bindings from the corresponding ini-section-name section in zdoom.ini. You can use this command multiple times to create different sections in the menu and ini for different sets of commands. If you use a menu-heading that was already added to the menu, new controls added with addmenukey will appear at the end of that section, but the bindings will not be reloaded from the ini. &lt;br /&gt;
&lt;br /&gt;
===addmenukey (description) (command)&amp;lt;br&amp;gt;===&lt;br /&gt;
Adds a new control to the controls menu. Description is the name of this control in the menu, and command is a console command or alias to be executed when the control is pressed. New controls are added to the last section specified with addkeysection.&lt;br /&gt;
&lt;br /&gt;
===addslot (slot) (weapon)===&lt;br /&gt;
Adds a single weapon to the list of weapons in a weapon slot.&lt;br /&gt;
&lt;br /&gt;
===alias (new-command) [command-string]===&lt;br /&gt;
If specified with no parameters, will display a list of all current aliases. If only new-command is specified, it will be removed from the list of aliases. If command-string is also specified, it will be added to the list of aliases as new-command. For example, to create a new command to kill the monsters on the level, you can use the command: &lt;br /&gt;
 alias massacre &amp;quot;kill monsters&amp;quot;&lt;br /&gt;
Then you can use the newly created massacre command to kill all the monsters on the level.&lt;br /&gt;
&lt;br /&gt;
===archivecvar (cvar)===&lt;br /&gt;
When you create a custom cvar with the set command, it will not normally be saved in the ini. You can use archivecvar after creating the cvar to indicate that the custom cvar&#039;s value should persist even after you quit.&lt;br /&gt;
&lt;br /&gt;
===atexit [command]===&lt;br /&gt;
If you specify a command, it will be added to a list of console commands to execute when the user quits the game. Commands are executed in the reverse order that they were added in. If you do not specify any arguments to atexit, then it will list the current set of commands that will execute when you quit.&lt;br /&gt;
&lt;br /&gt;
===bind (key [command string])===&lt;br /&gt;
If no parameters are specified, the entire list of bound keys will be printed to the console. If only [key] is specified, the binding for that specific key will be printed. If both [key] and [command string] are specified, [command string] will be bound to [key]. &lt;br /&gt;
&lt;br /&gt;
===binddefaults===&lt;br /&gt;
Binds all keys to their default commands. This will not unbind any keys that do not have any default bindings, so if you want to properly restore the default controls, you need to use unbindall first. &lt;br /&gt;
 defaultbind key command&lt;br /&gt;
Binds command to the key if and only if key is not already bound and there are no keys already bound to command.&lt;br /&gt;
&lt;br /&gt;
===doublebind (key [command string])===&lt;br /&gt;
This command works just like bind, except it controls the action that occurs when a key is double-clicked. If a key does not have a doublebinding, then double-clicking it has the same result as pressing it twice. Otherwise, the first press will execute the normal command set with bind, and the second press of the double-click will execute the command set with doublebind. &lt;br /&gt;
&lt;br /&gt;
===eval expression [variable]===&lt;br /&gt;
Evaluates a mathematical expression and either prints it to the console or stores it in variable. Expressions are written using prefix notation instead of the more common infix notation. Basically, you first specify what you want to do (the operator) and then what you want to do it to (the operands). You must separate operators and operands with spaces. &lt;br /&gt;
&lt;br /&gt;
Examples: &lt;br /&gt;
 To compute 2+2: &lt;br /&gt;
 eval + 2 2To compute 5-3: &lt;br /&gt;
 eval - 5 3To compute 2+(5*6): &lt;br /&gt;
 eval + 2 * 5 6To decrease the number of screenblocks: &lt;br /&gt;
 eval - $screenblocks 1 screenblocksThe supported operators are:&lt;br /&gt;
 + a b Adds a and b. &lt;br /&gt;
 - a b Subtracts b from a. &lt;br /&gt;
 * a b Multiplies a and b. &lt;br /&gt;
 / a b Divides a by b. &lt;br /&gt;
 % a b Calculates the remainder of a/b. &lt;br /&gt;
 ^ a b Raises a to the b-th power . &lt;br /&gt;
 &amp;lt; a b Produces 1 if a is less than b and 0 if not. &lt;br /&gt;
 &amp;lt;= a b Produces 1 if a is less than or equal to b and 0 if not. &lt;br /&gt;
 &amp;gt; a b Produces 1 if a is greater than b and 0 if not. &lt;br /&gt;
 &amp;gt;= a b Produces 1 if a is greater than or equal to b and 0 if not. &lt;br /&gt;
 = a b Produces 1 if a is equal to b and 0 if not.&lt;br /&gt;
&lt;br /&gt;
 == a b Produces 1 if a is equal to b and 0 if not. &lt;br /&gt;
 != a b Produces 1 if a is not equal to b and 0 if it is. &lt;br /&gt;
 &amp;lt;&amp;gt; a b Produces 1 if a is not equal to b and 0 if is. &lt;br /&gt;
 xor a b Calculates the bit-wise exclusive-or of a and b. &lt;br /&gt;
 &amp;amp; a b Calculates the bit-wise and of a and b. &lt;br /&gt;
 | a b Calculates the bit-wise or of a and b. &lt;br /&gt;
 &amp;amp;&amp;amp; a b Calculates the logical and of a and b. &lt;br /&gt;
 || a b Calculates the logical or of a and b. &lt;br /&gt;
&lt;br /&gt;
===exec (script-file)===&lt;br /&gt;
Executes a series of commands stored in the script-file as if they had been typed in at the console directly. &lt;br /&gt;
&lt;br /&gt;
===key value1 [value2]===&lt;br /&gt;
Translates all parameters to the command into their corresponding key values which are used internally for command and alias lookup. Probably not very useful for the average user. &lt;br /&gt;
&lt;br /&gt;
===puke (script [arguments])===&lt;br /&gt;
Executes an ACS script on the current map, optionally passing it up to three numerical arguments. &lt;br /&gt;
&lt;br /&gt;
===pullin (wadfile)===&lt;br /&gt;
Loads a wadfile at startup. This command is only valid inside .cfg files that have been execed at startup.&lt;br /&gt;
&lt;br /&gt;
===set (cvar) (value)===&lt;br /&gt;
Sets cvar to value. If cvar does not exist, it will be created. &lt;br /&gt;
&lt;br /&gt;
===rebind (binding)===&lt;br /&gt;
Changes the binding for the key that caused the rebind command to execute. For obvious reasons, this command cannot be used at the console.&lt;br /&gt;
&lt;br /&gt;
Example: &lt;br /&gt;
&lt;br /&gt;
 bind b &amp;quot;echo setting 1; rebind \&amp;quot;echo setting 2\&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
This will cause the first press of b to echo &amp;quot;setting 1&amp;quot; to the console. All future presses of b will echo &amp;quot;setting 2&amp;quot; instead. &lt;br /&gt;
&lt;br /&gt;
===unbind (key)===&lt;br /&gt;
Removes a binding from the specified key.&lt;br /&gt;
&lt;br /&gt;
===unbindall===&lt;br /&gt;
Removes all bindings and doublebindings from every key. To restore the default bindings, you can use the binddefaults command. There is no way to restore any custom bindings after issuing this command except by retyping each bind command or using the controls setup menu.&lt;br /&gt;
&lt;br /&gt;
===undoublebind (key)===&lt;br /&gt;
Removes a doublebinding from the specified key.&lt;br /&gt;
&lt;br /&gt;
===unset (cvar)===&lt;br /&gt;
Undefines a user-created cvar.&lt;br /&gt;
&lt;br /&gt;
==Screenshots==&lt;br /&gt;
&lt;br /&gt;
===png_gamma===&lt;br /&gt;
float: 0&amp;lt;br&amp;gt;&lt;br /&gt;
Controls the gamma level stored in PNG screenshots. If this is 0, then your current gamma setting will be used.&lt;br /&gt;
&lt;br /&gt;
===png_level===&lt;br /&gt;
integer: 5&amp;lt;br&amp;gt;&lt;br /&gt;
This is the level of compression to use for PNG screenshots. 0 is no compression at all, 1 is minimal compression (fastest), 9 is maximum compression (slowest), and intermediate values offer intermediate compression. 5 is offers a decent trade-of between file size and compression time. An uncompressed image will not neccessarily save faster than a compressed image, because the extra time needed to write out a complete uncompressed image may be longer than the time required to compress the image. If you need to create screenshots as quickly as possible, consider setting screenshot_type to &amp;quot;pcx&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
===screenshot [file]===&lt;br /&gt;
Dumps a copy of the screen to disk as a PNG or PCX file. If file is not specified, the screenshot will be saved to the directory the game was run from with a name of the form doom????.png. &lt;br /&gt;
&lt;br /&gt;
===screenshot_quiet===&lt;br /&gt;
boolean: false&amp;lt;br&amp;gt;&lt;br /&gt;
Setting this to true will suppress the messages informing you what file a screenshot was saved to.&lt;br /&gt;
&lt;br /&gt;
===screenshot_type===&lt;br /&gt;
string: &amp;quot;png&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Determines the type of screenshots that will be saved. This can be either &amp;quot;png&amp;quot; or &amp;quot;pcx&amp;quot;. In my empirical studies, PNG screenshots are about half the size of pcx screenshots. PCX screenshots have the advantage that they require less time to create so are most useful for rapid screenshot generation. The following sequence of console commands will take a screenshot every frame. You can use an external program to assemble these into a video, if desired. &lt;br /&gt;
&lt;br /&gt;
 screenshot_type &amp;quot;png&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
 screenshot_quiet true&amp;lt;br&amp;gt;&lt;br /&gt;
 alias autoshot &amp;quot;screenshot; wait 1; autoshot&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
 autoshot&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you use the autoshot alias, the command alias autoshot will stop automatic screenshot taking before you hit 10000 screenshots (approximately 4 minutes, 45 seconds).&lt;br /&gt;
&lt;br /&gt;
===storesavepic===&lt;br /&gt;
boolean: true&amp;lt;br&amp;gt;&lt;br /&gt;
Setting this to false will produce smaller savegames (by about 14k typically) by not storing a screenshot inside the savegame.&lt;br /&gt;
&lt;br /&gt;
==Chatting==&lt;br /&gt;
&lt;br /&gt;
===chat_substitution===&lt;br /&gt;
boolean: false&amp;lt;br&amp;gt;&lt;br /&gt;
Set this to true if you want to chat using special keywords that will be replaced with appropriate text when your messages are sent. The supported keywords are:&lt;br /&gt;
 &lt;br /&gt;
$health &amp;lt;br&amp;gt;&lt;br /&gt;
Replaced by your current health. &amp;lt;br&amp;gt;&lt;br /&gt;
$weapon &amp;lt;br&amp;gt;&lt;br /&gt;
Replaced by the name of your current weapon. &amp;lt;br&amp;gt;&lt;br /&gt;
$armor &amp;lt;br&amp;gt;&lt;br /&gt;
Replaced by your current armor count. &amp;lt;br&amp;gt;&lt;br /&gt;
$ammocount &amp;lt;br&amp;gt;&lt;br /&gt;
Replaced by your current ammo count. &amp;lt;br&amp;gt;&lt;br /&gt;
$ammo &amp;lt;br&amp;gt;&lt;br /&gt;
Replaced by the name of your current ammo.&lt;br /&gt;
&lt;br /&gt;
As an example, if you just started a new game of Doom and have chat substitution turned on, when you send the message &amp;quot;My health is $health, and I am using a $weapon&amp;quot;, the message that is actually sent will be &amp;quot;My health is 100, and I am using a Pistol&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
chatmacro0&amp;lt;br&amp;gt;&lt;br /&gt;
chatmacro1&amp;lt;br&amp;gt;&lt;br /&gt;
chatmacro2&amp;lt;br&amp;gt;&lt;br /&gt;
chatmacro3&amp;lt;br&amp;gt;&lt;br /&gt;
chatmacro4&amp;lt;br&amp;gt;&lt;br /&gt;
chatmacro5&amp;lt;br&amp;gt;&lt;br /&gt;
chatmacro6&amp;lt;br&amp;gt;&lt;br /&gt;
chatmacro7&amp;lt;br&amp;gt;&lt;br /&gt;
chatmacro8&amp;lt;br&amp;gt;&lt;br /&gt;
chatmacro9&amp;lt;br&amp;gt;&lt;br /&gt;
string&amp;lt;br&amp;gt;&lt;br /&gt;
These are all strings that can be assigned to hotkeys in chat mode. To use these, enter chat mode and then hold down Alt and press one of the number keys. The string stored in the corresponding chatmacro cvar will be sent as if you had typed it yourself. &lt;br /&gt;
&lt;br /&gt;
===messagemode===&lt;br /&gt;
Enters message entry mode. Anything typed while in this mode will be sent to everyone else as if you had used the say command once you press enter. &lt;br /&gt;
&lt;br /&gt;
===messagemode2===&lt;br /&gt;
This is just like messagemode except that the message is only sent to other members of your team. If teamplay is false or you don&#039;t have a team, then this command will work just like messagemode and send the message to everyone. &lt;br /&gt;
&lt;br /&gt;
===say (message)===&lt;br /&gt;
Sends a message to everyone playing. If your message begins with &amp;quot;/me&amp;quot; then &amp;quot;/me&amp;quot; will be replaced by your name ala IRC. &lt;br /&gt;
&lt;br /&gt;
===say_team (message)===&lt;br /&gt;
This is just like say except it only sends a message to your teammates. If teamplay is inactive, then this command will act exactly like say and send the message to everyone.&lt;br /&gt;
&lt;br /&gt;
==Cheating==&lt;br /&gt;
&lt;br /&gt;
===sv_cheats===&lt;br /&gt;
boolean: false&lt;br /&gt;
When true, cheats will be allowed in Nightmare difficulty and network games. For purposes of fairness, this cvar can only be set from the command line when you run ZDoom. This is to avoid situations where the key player in a multiplayer game (player 1) could go to the console and type something like this:&lt;br /&gt;
&lt;br /&gt;
 sv_cheats 1&lt;br /&gt;
 god&lt;br /&gt;
 sv_cheats 0&lt;br /&gt;
&lt;br /&gt;
whereby rendering himself immune to the attacks of others.&lt;br /&gt;
&lt;br /&gt;
===anubis===&lt;br /&gt;
Toggles monster fear on and off. Scared monsters will run away from you and attack less frequently.&lt;br /&gt;
&lt;br /&gt;
===fly===&lt;br /&gt;
Toggles fly mode on and off.&lt;br /&gt;
&lt;br /&gt;
===give (item)===&lt;br /&gt;
Gives an item to the player. Give understands the following special items: &lt;br /&gt;
 all - gives you everything &lt;br /&gt;
 health - gives you full health &lt;br /&gt;
 weapons - gives you every weapon &lt;br /&gt;
 ammo - gives you full ammo &lt;br /&gt;
 armor - gives you full armor &lt;br /&gt;
 keys - gives you every key &lt;br /&gt;
It also understands the names of individual inventory items. Use the command dumpclasses inventory for a complete list of these. &lt;br /&gt;
&lt;br /&gt;
===god===&lt;br /&gt;
Toggles God (Degreelessness) mode on/off. While active, you cannot be hurt by normal attacks (although telefragging will still kill you). Also known as iddqd. &lt;br /&gt;
&lt;br /&gt;
===iddqd===&lt;br /&gt;
The same as god, except it also gives you 100 health.&lt;br /&gt;
&lt;br /&gt;
===kill [monsters]===&lt;br /&gt;
If used as &amp;quot;kill monsters&amp;quot;, will kill all monsters on the level. Otherwise, it will kill you instead. This command is broken in netgames, so don&#039;t use it unless you are playing a single player game. &lt;br /&gt;
&lt;br /&gt;
===logfile [log-file]===&lt;br /&gt;
If log-file is not specified, console logging will be stopped (if active). Otherwise, a file named log-file will be created on disk, and all console output will be recorded in it as well as on the screen. &lt;br /&gt;
&lt;br /&gt;
===mdk===&lt;br /&gt;
This cheat will kill whatever you are looking at.&lt;br /&gt;
&lt;br /&gt;
===morphme===&lt;br /&gt;
Transforms you into a chicken in Heretic and a pig in Hexen and Doom (The latter only happens if you have the releven graphics present).&lt;br /&gt;
&lt;br /&gt;
===noclip===&lt;br /&gt;
Toggles noclipping mode on/off. &lt;br /&gt;
&lt;br /&gt;
===notarget===&lt;br /&gt;
Toggles notarget mode on/off. While active, monsters will not target you unless you hurt them first. In &amp;quot;modern FPS&amp;quot;, monsters &amp;quot;can&#039;t find you&amp;quot; when in notarget mode. This is not the case with ZDoom.&lt;br /&gt;
&lt;br /&gt;
===powerup===&lt;br /&gt;
Powers you up in Heretic as if you had used a Tome of Power.&lt;br /&gt;
&lt;br /&gt;
===sv_fastweapons (0-2)===&lt;br /&gt;
Increases speed of weapons in Doom, Heretic, and Hexen. Setting to 2 makes weapons even faster.&lt;br /&gt;
&lt;br /&gt;
===turbo===&lt;br /&gt;
float: 100&amp;lt;br&amp;gt;&lt;br /&gt;
This cvar affects how quickly the player moves. A value of 100 will cause the player to move at normal speed, 200 will cause the player to move at 200% of normal speed, 50 will cause the player to move at 50% of normal speed, etc. Valid values range from 10 to 256.&lt;br /&gt;
&lt;br /&gt;
==Display==&lt;br /&gt;
&lt;br /&gt;
===bumpgamma===&lt;br /&gt;
Increases the current gamma level by 0.1. If the new gamma level would be greater than 3.0, it wraps the gamma around to 1.0 &lt;br /&gt;
&lt;br /&gt;
===cl_bbannounce===&lt;br /&gt;
boolean: false&amp;lt;br&amp;gt;&lt;br /&gt;
When true, enables the Bloodbath announcer for deathmatch games. The Bloodbath announcer is &amp;quot;The Voice&amp;quot; from Monolith Software&#039;s Blood game. To hear the announcer, you need to load Blood&#039;s sounds.rff either at the command line or through one of zdoom.ini&#039;s [*.Autoload] sections. You can get this file either from the demo or full version of Blood. If you don&#039;t have sounds.rff, you can still see the announcer&#039;s messages even though you won&#039;t hear anything. &lt;br /&gt;
&lt;br /&gt;
===cl_showmultikills===&lt;br /&gt;
boolean: true&amp;lt;br&amp;gt;&lt;br /&gt;
Set this to false if you don&#039;t want to see Unreal Tournament-style messages when a player makes several kills in a short period of time.&lt;br /&gt;
&lt;br /&gt;
===cl_showsprees===&lt;br /&gt;
boolean: true&amp;lt;br&amp;gt;&lt;br /&gt;
Set this to false if you don&#039;t want to see Unreal Tournament-style messages when a player is on a killing spree.&lt;br /&gt;
&lt;br /&gt;
===cl_spreaddecals===&lt;br /&gt;
boolean: true&amp;lt;br&amp;gt;&lt;br /&gt;
ZDoom clips decals to sidedefs. In order to hide this, the game will create as many duplicate decals on adjoining sidedefs as needed to make it appear that there is only one unbroken decal on the wall. Set this cvar to false if you don&#039;t want this.&lt;br /&gt;
&lt;br /&gt;
===con_centernotify===&lt;br /&gt;
boolean: false for Doom, true for Heretic and Hexen&amp;lt;br&amp;gt;&lt;br /&gt;
When true, notify messages at the top of the screen are centered. Otherwise, they are justified against the left margin.&lt;br /&gt;
&lt;br /&gt;
===con_midtime===&lt;br /&gt;
float: 3&amp;lt;br&amp;gt;&lt;br /&gt;
This is the number of seconds that messages in the middle of the screen will be displayed before they dispapper. &lt;br /&gt;
&lt;br /&gt;
===con_notifytime===&lt;br /&gt;
float: 3&amp;lt;br&amp;gt;&lt;br /&gt;
This is the number of seconds that new messages will stay at the top of the screen before they start scrolling away. &lt;br /&gt;
&lt;br /&gt;
===con_scaletext===&lt;br /&gt;
boolean: false&amp;lt;br&amp;gt;&lt;br /&gt;
If this cvar is true, then message text will be scaled to larger sizes depending on the screen resolution so that it will stay approximately the same size it would be on a 320x200 screen. &lt;br /&gt;
&lt;br /&gt;
===crosshair===&lt;br /&gt;
integer: 0&amp;lt;br&amp;gt;&lt;br /&gt;
If this cvar is non-zero, it draws a crosshair. If this cvar is negative, the crosshair is translucent, otherwise it is opaque. The specific crosshair drawn depends on the value of this cvar. &lt;br /&gt;
&lt;br /&gt;
===crosshaircolor===&lt;br /&gt;
color: &amp;quot;ff 00 00&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
This is the crosshair&#039;s color if crosshairhealth is false.&lt;br /&gt;
&lt;br /&gt;
===crosshairgrow===&lt;br /&gt;
boolean: false&amp;lt;br&amp;gt;&lt;br /&gt;
Set this to true if you want the crosshair to temporarily enlarge each time you pick up an item.&lt;br /&gt;
&lt;br /&gt;
===crosshairhealth===&lt;br /&gt;
boolean: true&amp;lt;br&amp;gt;&lt;br /&gt;
When true, the crosshair&#039;s color reflects your current health. Green is healthy, red is near death, and intermediate colors are somewhere in between. Set this to false, if you want the crosshair to have a constant color (specified by the crosshaircolor cvar) instead.&lt;br /&gt;
&lt;br /&gt;
===crosshairscale===&lt;br /&gt;
boolean: false&amp;lt;br&amp;gt;&lt;br /&gt;
Set this to true if you want the crosshair to always appear the same size at all resolutions. Leaving it at false causes the crosshair to be drawn normally.&lt;br /&gt;
&lt;br /&gt;
===gamma===&lt;br /&gt;
float: 1.0&amp;lt;br&amp;gt;&lt;br /&gt;
Controls the amount of gamma correction applied to the display. 1.0 is equivalent to no correction, while larger numbers translate into a brighter display, and smaller numbers translate into a darker display. 0.0 is invalid and will be rejected. Negative numbers are technically invalid but will be accepted solely for the novelty value doing so provides. &lt;br /&gt;
&lt;br /&gt;
===hud_scale===&lt;br /&gt;
boolean: false&amp;lt;br&amp;gt;&lt;br /&gt;
Controls scaling of the fullscreen hud. At resolutions of 640x400 or above, setting this cvar to true will cause the icons to be scaled to approximately the same size they would be at 320x200. If this cvar is false, the icons will always be drawn without any scaling. &lt;br /&gt;
&lt;br /&gt;
===msg===&lt;br /&gt;
integer: 0&amp;lt;br&amp;gt;&lt;br /&gt;
This is the minimum message level that you will see. You will not see any messages with a lower priority than this. The different message levels are: &lt;br /&gt;
&lt;br /&gt;
#Item pickup &lt;br /&gt;
#Obituaries &lt;br /&gt;
#Critical messages &lt;br /&gt;
#Chat messages &lt;br /&gt;
#Chat messages from a teammate &lt;br /&gt;
&lt;br /&gt;
===msg0color===&lt;br /&gt;
integer: 6&amp;lt;br&amp;gt;&lt;br /&gt;
This cvar controls the color used to display level 0 (item pickup) messages. Available colors are: &lt;br /&gt;
&lt;br /&gt;
#Brick &lt;br /&gt;
#Tan &lt;br /&gt;
#Gray &lt;br /&gt;
#Green &lt;br /&gt;
#Brown &lt;br /&gt;
#Gold &lt;br /&gt;
#Red &lt;br /&gt;
#Blue &lt;br /&gt;
#Orange &lt;br /&gt;
#White &lt;br /&gt;
#Yellow &lt;br /&gt;
&lt;br /&gt;
===msg1color===&lt;br /&gt;
integer: 5&amp;lt;br&amp;gt;&lt;br /&gt;
This cvar selects the color used to display level 1 (obituary) messages. Available colors are the same as for&amp;quot; msg0color. &lt;br /&gt;
&lt;br /&gt;
===msg2color===&lt;br /&gt;
integer: 2&amp;lt;br&amp;gt;&lt;br /&gt;
This cvar selects the color used to display level 2 (critical) messages. Available colors are the same as for msg0color. &lt;br /&gt;
&lt;br /&gt;
===msg3color===&lt;br /&gt;
integer: 3&amp;lt;br&amp;gt;&lt;br /&gt;
This cvar selects the color used to display level 3 (chat) messages. Available colors are the same as for msg0color. &lt;br /&gt;
&lt;br /&gt;
===msg4color===&lt;br /&gt;
integer: 3&amp;lt;br&amp;gt;&lt;br /&gt;
This cvar selects the color used to display level 4 (team chat) messages. Available colors are the same as for msg0color. &lt;br /&gt;
&lt;br /&gt;
===msgmidcolor===&lt;br /&gt;
integer: 5&amp;lt;br&amp;gt;&lt;br /&gt;
This cvar selects the color used to display messages in the middle of the screen. Available colors are the same as for msg0color. &lt;br /&gt;
&lt;br /&gt;
===msgmidcolor2===&lt;br /&gt;
integer: 4&amp;lt;br&amp;gt;&lt;br /&gt;
This cvar selects the color used to display messages in the middle of the screen that are sent to everyone. Available colors are the same as for msg0color. &lt;br /&gt;
&lt;br /&gt;
===st_scale===&lt;br /&gt;
boolean: false&amp;lt;br&amp;gt;&lt;br /&gt;
When this cvar is true, the status bar will be scaled so that it covers the entire width of the screen in higher resolutions. At low resolutions this may look ugly, but at high resolutions it should look good enough.&lt;br /&gt;
&lt;br /&gt;
==Renderer==&lt;br /&gt;
&lt;br /&gt;
===r_columnmethod===&lt;br /&gt;
integer: 1&amp;lt;br&amp;gt;&lt;br /&gt;
Selects which of two algorithms to use to draw sprites and masked textures. Method 0 is the original algorithm used by DOOM. Method 1 is a new algorithm optimized for Pentium IIs and can perform significantly better with that or comparable processors. Ironically, method 0 is slightly faster than method 1 on Pentium III and Athlon processors (though not significantly so). &lt;br /&gt;
&lt;br /&gt;
===r_detail===&lt;br /&gt;
integer: 0&amp;lt;br&amp;gt;&lt;br /&gt;
This cvar selects the detail level of the view window. Valid values are: &lt;br /&gt;
&lt;br /&gt;
#Normal detail level. Equivalent to Doom&#039;s high detail mode. &lt;br /&gt;
#Double pixels horizontally. Equivalent to Doom&#039;s low detail mode. &lt;br /&gt;
#Double pixels vertically. &lt;br /&gt;
#Double pixels horizontally and vertically. &lt;br /&gt;
&lt;br /&gt;
Because of the way the renderer works, doubling pixels horizontally offers more of a speed-up than doubling them vertically does. Unless you have a very slow computer, there should be no reason to use any detail level other than 0. &lt;br /&gt;
&lt;br /&gt;
===r_drawflat===&lt;br /&gt;
boolean: false&amp;lt;br&amp;gt;&lt;br /&gt;
When set to 0, segs will be drawn as solid colors instead of textures. This is useful if you want to see how a node builder split a level&#039;s linedefs. Otherwise, it just looks ugly. &lt;br /&gt;
&lt;br /&gt;
===r_drawfuzzbr===&lt;br /&gt;
boolean: true&amp;lt;br&amp;gt;&lt;br /&gt;
When set to false, the &amp;quot;fuzz&amp;quot; effect on spectres and partially invisible players will be replaced with translucency. &lt;br /&gt;
&lt;br /&gt;
===r_drawmirrors===&lt;br /&gt;
boolean: true&amp;lt;br&amp;gt;&lt;br /&gt;
Setting this false will disable the display of mirrors.&lt;br /&gt;
&lt;br /&gt;
===r_drawplayersprites===&lt;br /&gt;
boolean: true&amp;lt;br&amp;gt;&lt;br /&gt;
When false, the game will not draw the player&#039;s weapon or muzzle flash, which can be nice for screenshots. &lt;br /&gt;
&lt;br /&gt;
===r_drawtrans===&lt;br /&gt;
boolean: true&amp;lt;br&amp;gt;&lt;br /&gt;
Setting this to false will disable all translucency effects in the game.&lt;br /&gt;
&lt;br /&gt;
===r_fogboundary===&lt;br /&gt;
boolean: true&amp;lt;br&amp;gt;&lt;br /&gt;
Setting this to false will disable the display of fog boundaries. Fog boundaries are sections where two areas with different fog colors meet. If the boundary is not drawn, then it will look like there is no fog at all in front of the boundary. Some old levels may look bad with fog boundary drawing enabled, which is why this cvar is available.&lt;br /&gt;
&lt;br /&gt;
===r_particles===&lt;br /&gt;
boolean: true&amp;lt;br&amp;gt;&lt;br /&gt;
If set to true, particles are drawn. Otherwise, they aren&#039;t. &lt;br /&gt;
&lt;br /&gt;
===r_stretchsky===&lt;br /&gt;
boolean: true&amp;lt;br&amp;gt;&lt;br /&gt;
Controls whether or not short sky textures are stretched so that you don&#039;t see them wrap when you look up. &lt;br /&gt;
&lt;br /&gt;
===r_viewsize===&lt;br /&gt;
string&amp;lt;br&amp;gt;&lt;br /&gt;
This cvar contains the width and height of the current view window. This cvar is read only. &lt;br /&gt;
&lt;br /&gt;
===r_visibility [visibility]===&lt;br /&gt;
Without any parameters, displays the current visibility. With a parameter, the visibility is set. Standard visibility for the Doom engine is 8. Visibility determines how quickly light drops off with distance from the viewer. At 0 visibility, there is no change in lighting with depth.&lt;br /&gt;
&lt;br /&gt;
==Video==&lt;br /&gt;
&lt;br /&gt;
===fullscreen===&lt;br /&gt;
boolean: true&amp;lt;br&amp;gt;&lt;br /&gt;
If this cvar is true, the game will be displayed fullscreen. Otherwise, it will be drawn in a window. Some video cards may require that you have fullscreen false in order to run ZDoom. &lt;br /&gt;
&lt;br /&gt;
===vid_attachedsurfaces (Win32 only)===&lt;br /&gt;
boolean: false&amp;lt;br&amp;gt;&lt;br /&gt;
Controls how the game allocates video memory. False is the standard setting and will always produce a useable display. If you find that there are patches of pure black and pure white on the screen (especially noticeable when a demon is right in your face), try setting this to true. Certain old Windows 95 video drivers are said to need this fix, and it is also necessary under NT 4. Unfortunately, many new video drivers (including those under NT 4) will produce a scrambled display if the screen width is not 512 or 1024 pixels and this is set to true.&lt;br /&gt;
&lt;br /&gt;
===vid_currentmode===&lt;br /&gt;
Displays the resolution of the current video mode.&lt;br /&gt;
&lt;br /&gt;
===vid_defbits===&lt;br /&gt;
integer: 8&amp;lt;br&amp;gt;&lt;br /&gt;
Ignored. This cvar is meant to specify the default screen depth, but the setting is currently ignored because only 256-color displays are supported.&lt;br /&gt;
&lt;br /&gt;
===vid_defheight===&lt;br /&gt;
integer: 200&amp;lt;br&amp;gt;&lt;br /&gt;
Specifies the default screen height to use if not overridden at the command line by the -height switch.&lt;br /&gt;
&lt;br /&gt;
===vid_defwidth===&lt;br /&gt;
integer: 320&amp;lt;br&amp;gt;&lt;br /&gt;
Specifies the default screen width to use if not overridden at the command line with the -width switch.&lt;br /&gt;
&lt;br /&gt;
===vid_listmodes===&lt;br /&gt;
Lists all resolutions supported by the current display driver.&lt;br /&gt;
&lt;br /&gt;
===vid_fps===&lt;br /&gt;
boolean: false&amp;lt;br&amp;gt;&lt;br /&gt;
When true, displays the average framerate over the past second in the lower-left corner of the screen. Because Doom&#039;s internal game rate and frame rate are linked, the framerate will never be (much) above 35 fps.&lt;br /&gt;
&lt;br /&gt;
===vid_noblitter (Win32 only)===&lt;br /&gt;
boolean: true&amp;lt;br&amp;gt;&lt;br /&gt;
Setting this to false will allow the use of the hardware to assist moving image data to video memory. When I initial wrote the code to use the blitter, it was faster than not using it. Now the blitter is slower, and I can&#039;t figure out why, so the default is true.&lt;br /&gt;
&lt;br /&gt;
===vid_palettehack (Win32 only)===&lt;br /&gt;
boolean: false&amp;lt;br&amp;gt;&lt;br /&gt;
When this cvar is true, the game will refresh the palette every time the screen is redrawn. This can be useful with some buggy video drivers. If the display is fine without it, leave it that way because this can slightly slow things down.&lt;br /&gt;
&lt;br /&gt;
===vid_setmode (width) (height) [depth]===&lt;br /&gt;
Sets the screen mode to width x height with an optional color depth (if your video hardware supports it). Only a depth of 8 is supported. See also vid_currentmode, vid_listmodes&lt;br /&gt;
&lt;br /&gt;
===vid_vsync (Win32 only)===&lt;br /&gt;
boolean: true&amp;lt;br&amp;gt;&lt;br /&gt;
Set this to false to disable vsync. Not all video cards support disabling vsync.&lt;br /&gt;
&lt;br /&gt;
==Bots==&lt;br /&gt;
* [[Bots]]&lt;br /&gt;
&lt;br /&gt;
==Automap==&lt;br /&gt;
* [[AutoMap]]&lt;br /&gt;
&lt;br /&gt;
==Player Settings==&lt;br /&gt;
* [[Player Settings]]&lt;br /&gt;
&lt;br /&gt;
==Debugging==&lt;br /&gt;
* [[Debugging]]&lt;/div&gt;</summary>
		<author><name>Lexus Alyus</name></author>
	</entry>
	<entry>
		<id>https://zdoom.org/w/index.php?title=Console_commands&amp;diff=510</id>
		<title>Console commands</title>
		<link rel="alternate" type="text/html" href="https://zdoom.org/w/index.php?title=Console_commands&amp;diff=510"/>
		<updated>2004-01-06T11:21:03Z</updated>

		<summary type="html">&lt;p&gt;Lexus Alyus: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Console Commands are used to alter the way ZDoom does something, such as changing the sound volume, changing DMflags, etc...&lt;br /&gt;
&lt;br /&gt;
You access the console by pressing &amp;quot;~&amp;quot; at any time. (This depends on your keyboard layout, for German keyboard, it is &amp;quot;^&amp;quot;, but to summarize it, it is the key above TAB.)&lt;br /&gt;
&lt;br /&gt;
==Console variable types==&lt;br /&gt;
&lt;br /&gt;
There are six types of cvars: Boolean, Integer, Float, String, Colour and Flag.&lt;br /&gt;
&lt;br /&gt;
=== boolean ===&lt;br /&gt;
&lt;br /&gt;
This type of variable represents a yes/no or on/off value. It can only be set to true or false. As shorthand, setting a boolean variable to 0 will set it to false, and setting it to anything non-zero will set it to true. &lt;br /&gt;
&lt;br /&gt;
=== integer ===&lt;br /&gt;
&lt;br /&gt;
This is an ordinary number without a decimal point. For example, 1 is an integer, but 1.2 is not. &lt;br /&gt;
&lt;br /&gt;
=== float ===&lt;br /&gt;
&lt;br /&gt;
This is an ordinary number that can have a decimal point. &lt;br /&gt;
&lt;br /&gt;
=== string ===&lt;br /&gt;
&lt;br /&gt;
This is a series of text characters enclosed in quotes: For example, &amp;quot;Felix loitered lecherously on the lot&amp;quot; is a string. If you removed the quotes around it, then it would not be a string. &lt;br /&gt;
If you need to use quotes inside a string, preface it with a backslash.&lt;br /&gt;
&lt;br /&gt;
 Are you &amp;quot;The One&amp;quot; of old?&lt;br /&gt;
&lt;br /&gt;
would be written like this as a string: &lt;br /&gt;
&lt;br /&gt;
 &amp;quot;Are you \&amp;quot;The One\&amp;quot; of old?&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== colour ===&lt;br /&gt;
&lt;br /&gt;
This type of variable is a series of three hexadecimal numbers representing the amounts of red, green, and blue (in that order) in a color. For example, pure red would be represented as &amp;quot;ff 00 00&amp;quot;. As a shorthand, you can set a color variable with one of several color names, and the RGB values will be set for you. (EDIT: That&#039;s just a string, i.e. testcolor &amp;quot;ff 00 00&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
=== flag ===&lt;br /&gt;
&lt;br /&gt;
This type of variable mirrors a setting in dmflags or dmflags2. Setting its value will set the corresponding value in one of those variables, and getting its value will get the corresponding value from one of the other two variables. This is designed to make using dmflags easier, because you don&#039;t have to memorize any numbers.&lt;br /&gt;
&lt;br /&gt;
==Button Commands==&lt;br /&gt;
&lt;br /&gt;
Button commands are commands that represent buttons and come in pairs. Each &amp;quot;button&amp;quot; has a command prefixed by a + and another corresponding command prefixed by a -. The + version of the command simulates pushing the button, and the - version of the command simulates releasing the button.&lt;br /&gt;
&lt;br /&gt;
When you bind a command that begins with + to a key, releasing the key will automatically execute the same command with the + replaced by a -. Note that this works for aliases as well as the commands listed here. This provides a useful way to bind multiple actions to a single key. Suppose you want the normal Doom behavior of moving forward and using when you double click the right mouse button. If you use the commands &lt;br /&gt;
&lt;br /&gt;
 bind mouse2 +forward&lt;br /&gt;
 doublebind mouse2 +use&lt;br /&gt;
&lt;br /&gt;
ZDoom will move you forward when you press the right mouse button. When you double click it, you will press use, but you will not move forward. To simulate the standard Doom behavior, you can replace the doublebind command with these three commands instead: &lt;br /&gt;
&lt;br /&gt;
 alias +useforward &amp;quot;+use; +forward&amp;quot;&lt;br /&gt;
 alias -useforward &amp;quot;-use; -forward&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 doublebind mouse2 +useforward&lt;br /&gt;
&lt;br /&gt;
Now when you double click the right mouse button, the +useforward alias will be executed. Because +useforward&#039;s name begins with a + releasing the right mouse button will execute the -useforward alias (whether or not -useforward is defined). &lt;br /&gt;
&lt;br /&gt;
This behavior of executing a - command when a key is released applies only to the first command or alias bound to the key. If you bind a key to &amp;quot;+forward; +right&amp;quot;, releasing the key will execute the command &amp;quot;-forward; +right&amp;quot; and not &amp;quot;-forward; -right&amp;quot;. As shown above, you can use aliases to get the correct behavior. &lt;br /&gt;
&lt;br /&gt;
Another trick you can do with aliases is to create a key that only executes the + command without executing the - command. If you wanted a key that will make you move forward when you press it, and will keep you moving forward even after releasing it, you can use an alias like this:&lt;br /&gt;
&lt;br /&gt;
 alias go &amp;quot;+forward&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Then instead of binding +forward to a key, you bind go to the key instead. This works because go does not begin with a + so nothing will happen when you release the key?ZDoom only looks at the command actually bound to the key to determine if it should execute a - command when the key is released; it does not look inside aliases. &lt;br /&gt;
&lt;br /&gt;
=== Standard buttons ===&lt;br /&gt;
&lt;br /&gt;
+attack Use your weapon.&amp;lt;br&amp;gt;&lt;br /&gt;
-attack Stop using your weapon.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+use Start trying to use anything in front of you.&amp;lt;br&amp;gt;&lt;br /&gt;
-use Stop trying to use anything in front of you.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+back Move backward.&amp;lt;br&amp;gt;&lt;br /&gt;
-back Stop moving backward.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+forward Move forward.&amp;lt;br&amp;gt;&lt;br /&gt;
-forward Stop moving forward.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+jump Start jumping.&amp;lt;br&amp;gt;&lt;br /&gt;
-jump Stop jumping.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+left Start turning left.&amp;lt;br&amp;gt;&lt;br /&gt;
-left Stop turning left.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+right Start turning right.&amp;lt;br&amp;gt;&lt;br /&gt;
-right Stop turning right.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+moveleft Start strafing left.&amp;lt;br&amp;gt;&lt;br /&gt;
-moveleft Stop strafing left.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+moveright Start strafing right.&amp;lt;br&amp;gt;&lt;br /&gt;
-moveright Stop strafing right.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+lookdown Start lowering your view.&amp;lt;br&amp;gt;&lt;br /&gt;
-lookdown Stop lowering your view.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+lookup Start raising your view.&amp;lt;br&amp;gt;&lt;br /&gt;
-lookup Stop raising your view.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+movedown Start moving down if swimming or flying.&amp;lt;br&amp;gt;&lt;br /&gt;
-movedown Stop moving down.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+moveup Start moving up if swimming or flying.&amp;lt;br&amp;gt;&lt;br /&gt;
-moveup Stop moving up if swimming or flying.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+strafe Causes +left and +right to behave like +moveleft and +moveright;&amp;lt;br&amp;gt;&lt;br /&gt;
-strafe Returns +left and +right to their normal behavior.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+klook Causes +forward and +back to act like +lookup and +lookdown instead.&amp;lt;br&amp;gt;&lt;br /&gt;
-klook Returns +forward and +back to their normal behavior.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+mlook Moving the mouse up and down will make you look up and down.&amp;lt;br&amp;gt;&lt;br /&gt;
-mlook Moving the mouse up and down will make you move forward and backward. However, if freelook is true, then moving the mouse up and down will still change your view instead of moving you.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
+showscores Display a scorelist for deathmatch games.&amp;lt;br&amp;gt;&lt;br /&gt;
-showscores Hide the deathmatch scorelist.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+speed Start running.&amp;lt;br&amp;gt;&lt;br /&gt;
-speed Start walking.&lt;br /&gt;
&lt;br /&gt;
==Customization==&lt;br /&gt;
&lt;br /&gt;
===addkeysection (menu-heading) (ini-section-name)&amp;lt;br&amp;gt;===&lt;br /&gt;
This command does two things. First, it adds a new heading called menu-heading to the controls menu. You can use the addmenukey command to add your own custom keys beneath this heading. Second, it loads all the bindings from the corresponding ini-section-name section in zdoom.ini. You can use this command multiple times to create different sections in the menu and ini for different sets of commands. If you use a menu-heading that was already added to the menu, new controls added with addmenukey will appear at the end of that section, but the bindings will not be reloaded from the ini. &lt;br /&gt;
&lt;br /&gt;
===addmenukey (description) (command)&amp;lt;br&amp;gt;===&lt;br /&gt;
Adds a new control to the controls menu. Description is the name of this control in the menu, and command is a console command or alias to be executed when the control is pressed. New controls are added to the last section specified with addkeysection.&lt;br /&gt;
&lt;br /&gt;
===addslot (slot) (weapon)===&lt;br /&gt;
Adds a single weapon to the list of weapons in a weapon slot.&lt;br /&gt;
&lt;br /&gt;
===alias (new-command) [command-string]===&lt;br /&gt;
If specified with no parameters, will display a list of all current aliases. If only new-command is specified, it will be removed from the list of aliases. If command-string is also specified, it will be added to the list of aliases as new-command. For example, to create a new command to kill the monsters on the level, you can use the command: &lt;br /&gt;
 alias massacre &amp;quot;kill monsters&amp;quot;&lt;br /&gt;
Then you can use the newly created massacre command to kill all the monsters on the level.&lt;br /&gt;
&lt;br /&gt;
===archivecvar (cvar)===&lt;br /&gt;
When you create a custom cvar with the set command, it will not normally be saved in the ini. You can use archivecvar after creating the cvar to indicate that the custom cvar&#039;s value should persist even after you quit.&lt;br /&gt;
&lt;br /&gt;
===atexit [command]===&lt;br /&gt;
If you specify a command, it will be added to a list of console commands to execute when the user quits the game. Commands are executed in the reverse order that they were added in. If you do not specify any arguments to atexit, then it will list the current set of commands that will execute when you quit.&lt;br /&gt;
&lt;br /&gt;
===bind (key [command string])===&lt;br /&gt;
If no parameters are specified, the entire list of bound keys will be printed to the console. If only [key] is specified, the binding for that specific key will be printed. If both [key] and [command string] are specified, [command string] will be bound to [key]. &lt;br /&gt;
&lt;br /&gt;
===binddefaults===&lt;br /&gt;
Binds all keys to their default commands. This will not unbind any keys that do not have any default bindings, so if you want to properly restore the default controls, you need to use unbindall first. &lt;br /&gt;
 defaultbind key command&lt;br /&gt;
Binds command to the key if and only if key is not already bound and there are no keys already bound to command.&lt;br /&gt;
&lt;br /&gt;
===doublebind (key [command string])===&lt;br /&gt;
This command works just like bind, except it controls the action that occurs when a key is double-clicked. If a key does not have a doublebinding, then double-clicking it has the same result as pressing it twice. Otherwise, the first press will execute the normal command set with bind, and the second press of the double-click will execute the command set with doublebind. &lt;br /&gt;
&lt;br /&gt;
===eval expression [variable]===&lt;br /&gt;
Evaluates a mathematical expression and either prints it to the console or stores it in variable. Expressions are written using prefix notation instead of the more common infix notation. Basically, you first specify what you want to do (the operator) and then what you want to do it to (the operands). You must separate operators and operands with spaces. &lt;br /&gt;
&lt;br /&gt;
Examples: &lt;br /&gt;
 To compute 2+2: &lt;br /&gt;
 eval + 2 2To compute 5-3: &lt;br /&gt;
 eval - 5 3To compute 2+(5*6): &lt;br /&gt;
 eval + 2 * 5 6To decrease the number of screenblocks: &lt;br /&gt;
 eval - $screenblocks 1 screenblocksThe supported operators are:&lt;br /&gt;
 + a b Adds a and b. &lt;br /&gt;
 - a b Subtracts b from a. &lt;br /&gt;
 * a b Multiplies a and b. &lt;br /&gt;
 / a b Divides a by b. &lt;br /&gt;
 % a b Calculates the remainder of a/b. &lt;br /&gt;
 ^ a b Raises a to the b-th power . &lt;br /&gt;
 &amp;lt; a b Produces 1 if a is less than b and 0 if not. &lt;br /&gt;
 &amp;lt;= a b Produces 1 if a is less than or equal to b and 0 if not. &lt;br /&gt;
 &amp;gt; a b Produces 1 if a is greater than b and 0 if not. &lt;br /&gt;
 &amp;gt;= a b Produces 1 if a is greater than or equal to b and 0 if not. &lt;br /&gt;
 = a b Produces 1 if a is equal to b and 0 if not.&lt;br /&gt;
&lt;br /&gt;
 == a b Produces 1 if a is equal to b and 0 if not. &lt;br /&gt;
 != a b Produces 1 if a is not equal to b and 0 if it is. &lt;br /&gt;
 &amp;lt;&amp;gt; a b Produces 1 if a is not equal to b and 0 if is. &lt;br /&gt;
 xor a b Calculates the bit-wise exclusive-or of a and b. &lt;br /&gt;
 &amp;amp; a b Calculates the bit-wise and of a and b. &lt;br /&gt;
 | a b Calculates the bit-wise or of a and b. &lt;br /&gt;
 &amp;amp;&amp;amp; a b Calculates the logical and of a and b. &lt;br /&gt;
 || a b Calculates the logical or of a and b. &lt;br /&gt;
&lt;br /&gt;
===exec (script-file)===&lt;br /&gt;
Executes a series of commands stored in the script-file as if they had been typed in at the console directly. &lt;br /&gt;
&lt;br /&gt;
===key value1 [value2]===&lt;br /&gt;
Translates all parameters to the command into their corresponding key values which are used internally for command and alias lookup. Probably not very useful for the average user. &lt;br /&gt;
&lt;br /&gt;
===puke (script [arguments])===&lt;br /&gt;
Executes an ACS script on the current map, optionally passing it up to three numerical arguments. &lt;br /&gt;
&lt;br /&gt;
===pullin (wadfile)===&lt;br /&gt;
Loads a wadfile at startup. This command is only valid inside .cfg files that have been execed at startup.&lt;br /&gt;
&lt;br /&gt;
===set (cvar) (value)===&lt;br /&gt;
Sets cvar to value. If cvar does not exist, it will be created. &lt;br /&gt;
&lt;br /&gt;
===rebind (binding)===&lt;br /&gt;
Changes the binding for the key that caused the rebind command to execute. For obvious reasons, this command cannot be used at the console.&lt;br /&gt;
&lt;br /&gt;
Example: &lt;br /&gt;
&lt;br /&gt;
 bind b &amp;quot;echo setting 1; rebind \&amp;quot;echo setting 2\&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
This will cause the first press of b to echo &amp;quot;setting 1&amp;quot; to the console. All future presses of b will echo &amp;quot;setting 2&amp;quot; instead. &lt;br /&gt;
&lt;br /&gt;
===unbind (key)===&lt;br /&gt;
Removes a binding from the specified key.&lt;br /&gt;
&lt;br /&gt;
===unbindall===&lt;br /&gt;
Removes all bindings and doublebindings from every key. To restore the default bindings, you can use the binddefaults command. There is no way to restore any custom bindings after issuing this command except by retyping each bind command or using the controls setup menu.&lt;br /&gt;
&lt;br /&gt;
===undoublebind (key)===&lt;br /&gt;
Removes a doublebinding from the specified key.&lt;br /&gt;
&lt;br /&gt;
===unset (cvar)===&lt;br /&gt;
Undefines a user-created cvar.&lt;br /&gt;
&lt;br /&gt;
==Screenshots==&lt;br /&gt;
&lt;br /&gt;
===png_gamma===&lt;br /&gt;
float: 0&amp;lt;br&amp;gt;&lt;br /&gt;
Controls the gamma level stored in PNG screenshots. If this is 0, then your current gamma setting will be used.&lt;br /&gt;
&lt;br /&gt;
===png_level===&lt;br /&gt;
integer: 5&amp;lt;br&amp;gt;&lt;br /&gt;
This is the level of compression to use for PNG screenshots. 0 is no compression at all, 1 is minimal compression (fastest), 9 is maximum compression (slowest), and intermediate values offer intermediate compression. 5 is offers a decent trade-of between file size and compression time. An uncompressed image will not neccessarily save faster than a compressed image, because the extra time needed to write out a complete uncompressed image may be longer than the time required to compress the image. If you need to create screenshots as quickly as possible, consider setting screenshot_type to &amp;quot;pcx&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
===screenshot [file]===&lt;br /&gt;
Dumps a copy of the screen to disk as a PNG or PCX file. If file is not specified, the screenshot will be saved to the directory the game was run from with a name of the form doom????.png. &lt;br /&gt;
&lt;br /&gt;
===screenshot_quiet===&lt;br /&gt;
boolean: false&amp;lt;br&amp;gt;&lt;br /&gt;
Setting this to true will suppress the messages informing you what file a screenshot was saved to.&lt;br /&gt;
&lt;br /&gt;
===screenshot_type===&lt;br /&gt;
string: &amp;quot;png&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Determines the type of screenshots that will be saved. This can be either &amp;quot;png&amp;quot; or &amp;quot;pcx&amp;quot;. In my empirical studies, PNG screenshots are about half the size of pcx screenshots. PCX screenshots have the advantage that they require less time to create so are most useful for rapid screenshot generation. The following sequence of console commands will take a screenshot every frame. You can use an external program to assemble these into a video, if desired. &lt;br /&gt;
&lt;br /&gt;
 screenshot_type &amp;quot;png&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
 screenshot_quiet true&amp;lt;br&amp;gt;&lt;br /&gt;
 alias autoshot &amp;quot;screenshot; wait 1; autoshot&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
 autoshot&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you use the autoshot alias, the command alias autoshot will stop automatic screenshot taking before you hit 10000 screenshots (approximately 4 minutes, 45 seconds).&lt;br /&gt;
&lt;br /&gt;
===storesavepic===&lt;br /&gt;
boolean: true&amp;lt;br&amp;gt;&lt;br /&gt;
Setting this to false will produce smaller savegames (by about 14k typically) by not storing a screenshot inside the savegame.&lt;br /&gt;
&lt;br /&gt;
==Chatting==&lt;br /&gt;
&lt;br /&gt;
===chat_substitution===&lt;br /&gt;
boolean: false&amp;lt;br&amp;gt;&lt;br /&gt;
Set this to true if you want to chat using special keywords that will be replaced with appropriate text when your messages are sent. The supported keywords are:&lt;br /&gt;
 &lt;br /&gt;
$health &amp;lt;br&amp;gt;&lt;br /&gt;
Replaced by your current health. &amp;lt;br&amp;gt;&lt;br /&gt;
$weapon &amp;lt;br&amp;gt;&lt;br /&gt;
Replaced by the name of your current weapon. &amp;lt;br&amp;gt;&lt;br /&gt;
$armor &amp;lt;br&amp;gt;&lt;br /&gt;
Replaced by your current armor count. &amp;lt;br&amp;gt;&lt;br /&gt;
$ammocount &amp;lt;br&amp;gt;&lt;br /&gt;
Replaced by your current ammo count. &amp;lt;br&amp;gt;&lt;br /&gt;
$ammo &amp;lt;br&amp;gt;&lt;br /&gt;
Replaced by the name of your current ammo.&lt;br /&gt;
&lt;br /&gt;
As an example, if you just started a new game of Doom and have chat substitution turned on, when you send the message &amp;quot;My health is $health, and I am using a $weapon&amp;quot;, the message that is actually sent will be &amp;quot;My health is 100, and I am using a Pistol&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
chatmacro0&amp;lt;br&amp;gt;&lt;br /&gt;
chatmacro1&amp;lt;br&amp;gt;&lt;br /&gt;
chatmacro2&amp;lt;br&amp;gt;&lt;br /&gt;
chatmacro3&amp;lt;br&amp;gt;&lt;br /&gt;
chatmacro4&amp;lt;br&amp;gt;&lt;br /&gt;
chatmacro5&amp;lt;br&amp;gt;&lt;br /&gt;
chatmacro6&amp;lt;br&amp;gt;&lt;br /&gt;
chatmacro7&amp;lt;br&amp;gt;&lt;br /&gt;
chatmacro8&amp;lt;br&amp;gt;&lt;br /&gt;
chatmacro9&amp;lt;br&amp;gt;&lt;br /&gt;
string&amp;lt;br&amp;gt;&lt;br /&gt;
These are all strings that can be assigned to hotkeys in chat mode. To use these, enter chat mode and then hold down Alt and press one of the number keys. The string stored in the corresponding chatmacro cvar will be sent as if you had typed it yourself. &lt;br /&gt;
&lt;br /&gt;
===messagemode===&lt;br /&gt;
Enters message entry mode. Anything typed while in this mode will be sent to everyone else as if you had used the say command once you press enter. &lt;br /&gt;
&lt;br /&gt;
===messagemode2===&lt;br /&gt;
This is just like messagemode except that the message is only sent to other members of your team. If teamplay is false or you don&#039;t have a team, then this command will work just like messagemode and send the message to everyone. &lt;br /&gt;
&lt;br /&gt;
===say (message)===&lt;br /&gt;
Sends a message to everyone playing. If your message begins with &amp;quot;/me&amp;quot; then &amp;quot;/me&amp;quot; will be replaced by your name ala IRC. &lt;br /&gt;
&lt;br /&gt;
===say_team (message)===&lt;br /&gt;
This is just like say except it only sends a message to your teammates. If teamplay is inactive, then this command will act exactly like say and send the message to everyone.&lt;br /&gt;
&lt;br /&gt;
==Cheating==&lt;br /&gt;
&lt;br /&gt;
===sv_cheats===&lt;br /&gt;
boolean: false&lt;br /&gt;
When true, cheats will be allowed in Nightmare difficulty and network games. For purposes of fairness, this cvar can only be set from the command line when you run ZDoom. This is to avoid situations where the key player in a multiplayer game (player 1) could go to the console and type something like this:&lt;br /&gt;
&lt;br /&gt;
 sv_cheats 1&lt;br /&gt;
 god&lt;br /&gt;
 sv_cheats 0&lt;br /&gt;
&lt;br /&gt;
whereby rendering himself immune to the attacks of others.&lt;br /&gt;
&lt;br /&gt;
===anubis===&lt;br /&gt;
Toggles monster fear on and off. Scared monsters will run away from you and attack less frequently.&lt;br /&gt;
&lt;br /&gt;
===fly===&lt;br /&gt;
Toggles fly mode on and off.&lt;br /&gt;
&lt;br /&gt;
===give (item)===&lt;br /&gt;
Gives an item to the player. Give understands the following special items: &lt;br /&gt;
 all - gives you everything &lt;br /&gt;
 health - gives you full health &lt;br /&gt;
 weapons - gives you every weapon &lt;br /&gt;
 ammo - gives you full ammo &lt;br /&gt;
 armor - gives you full armor &lt;br /&gt;
 keys - gives you every key &lt;br /&gt;
It also understands the names of individual inventory items. Use the command dumpclasses inventory for a complete list of these. &lt;br /&gt;
&lt;br /&gt;
===god===&lt;br /&gt;
Toggles God (Degreelessness) mode on/off. While active, you cannot be hurt by normal attacks (although telefragging will still kill you). Also known as iddqd. &lt;br /&gt;
&lt;br /&gt;
===iddqd===&lt;br /&gt;
The same as god, except it also gives you 100 health.&lt;br /&gt;
&lt;br /&gt;
===kill [monsters]===&lt;br /&gt;
If used as &amp;quot;kill monsters&amp;quot;, will kill all monsters on the level. Otherwise, it will kill you instead. This command is broken in netgames, so don&#039;t use it unless you are playing a single player game. &lt;br /&gt;
&lt;br /&gt;
===logfile [log-file]===&lt;br /&gt;
If log-file is not specified, console logging will be stopped (if active). Otherwise, a file named log-file will be created on disk, and all console output will be recorded in it as well as on the screen. &lt;br /&gt;
&lt;br /&gt;
===mdk===&lt;br /&gt;
This cheat will kill whatever you are looking at.&lt;br /&gt;
&lt;br /&gt;
===morphme===&lt;br /&gt;
Transforms you into a chicken in Heretic and a pig in Hexen and Doom (The latter only happens if you have the releven graphics present).&lt;br /&gt;
&lt;br /&gt;
===noclip===&lt;br /&gt;
Toggles noclipping mode on/off. &lt;br /&gt;
&lt;br /&gt;
===notarget===&lt;br /&gt;
Toggles notarget mode on/off. While active, monsters will not target you unless you hurt them first. In &amp;quot;modern FPS&amp;quot;, monsters &amp;quot;can&#039;t find you&amp;quot; when in notarget mode. This is not the case with ZDoom.&lt;br /&gt;
&lt;br /&gt;
===powerup===&lt;br /&gt;
Powers you up in Heretic as if you had used a Tome of Power.&lt;br /&gt;
&lt;br /&gt;
===sv_fastweapons (0-2)===&lt;br /&gt;
Increases speed of weapons in Doom, Heretic, and Hexen. Setting to 2 makes weapons even faster.&lt;br /&gt;
&lt;br /&gt;
===turbo===&lt;br /&gt;
float: 100&amp;lt;br&amp;gt;&lt;br /&gt;
This cvar affects how quickly the player moves. A value of 100 will cause the player to move at normal speed, 200 will cause the player to move at 200% of normal speed, 50 will cause the player to move at 50% of normal speed, etc. Valid values range from 10 to 256.&lt;br /&gt;
&lt;br /&gt;
==Display==&lt;br /&gt;
&lt;br /&gt;
===bumpgamma===&lt;br /&gt;
Increases the current gamma level by 0.1. If the new gamma level would be greater than 3.0, it wraps the gamma around to 1.0 &lt;br /&gt;
&lt;br /&gt;
===cl_bbannounce===&lt;br /&gt;
boolean: false&amp;lt;br&amp;gt;&lt;br /&gt;
When true, enables the Bloodbath announcer for deathmatch games. The Bloodbath announcer is &amp;quot;The Voice&amp;quot; from Monolith Software&#039;s Blood game. To hear the announcer, you need to load Blood&#039;s sounds.rff either at the command line or through one of zdoom.ini&#039;s [*.Autoload] sections. You can get this file either from the demo or full version of Blood. If you don&#039;t have sounds.rff, you can still see the announcer&#039;s messages even though you won&#039;t hear anything. &lt;br /&gt;
&lt;br /&gt;
===cl_showmultikills===&lt;br /&gt;
boolean: true&amp;lt;br&amp;gt;&lt;br /&gt;
Set this to false if you don&#039;t want to see Unreal Tournament-style messages when a player makes several kills in a short period of time.&lt;br /&gt;
&lt;br /&gt;
===cl_showsprees===&lt;br /&gt;
boolean: true&amp;lt;br&amp;gt;&lt;br /&gt;
Set this to false if you don&#039;t want to see Unreal Tournament-style messages when a player is on a killing spree.&lt;br /&gt;
&lt;br /&gt;
===cl_spreaddecals===&lt;br /&gt;
boolean: true&amp;lt;br&amp;gt;&lt;br /&gt;
ZDoom clips decals to sidedefs. In order to hide this, the game will create as many duplicate decals on adjoining sidedefs as needed to make it appear that there is only one unbroken decal on the wall. Set this cvar to false if you don&#039;t want this.&lt;br /&gt;
&lt;br /&gt;
===con_centernotify===&lt;br /&gt;
boolean: false for Doom, true for Heretic and Hexen&amp;lt;br&amp;gt;&lt;br /&gt;
When true, notify messages at the top of the screen are centered. Otherwise, they are justified against the left margin.&lt;br /&gt;
&lt;br /&gt;
===con_midtime===&lt;br /&gt;
float: 3&amp;lt;br&amp;gt;&lt;br /&gt;
This is the number of seconds that messages in the middle of the screen will be displayed before they dispapper. &lt;br /&gt;
&lt;br /&gt;
===con_notifytime===&lt;br /&gt;
float: 3&amp;lt;br&amp;gt;&lt;br /&gt;
This is the number of seconds that new messages will stay at the top of the screen before they start scrolling away. &lt;br /&gt;
&lt;br /&gt;
===con_scaletext===&lt;br /&gt;
boolean: false&amp;lt;br&amp;gt;&lt;br /&gt;
If this cvar is true, then message text will be scaled to larger sizes depending on the screen resolution so that it will stay approximately the same size it would be on a 320x200 screen. &lt;br /&gt;
&lt;br /&gt;
===crosshair===&lt;br /&gt;
integer: 0&amp;lt;br&amp;gt;&lt;br /&gt;
If this cvar is non-zero, it draws a crosshair. If this cvar is negative, the crosshair is translucent, otherwise it is opaque. The specific crosshair drawn depends on the value of this cvar. &lt;br /&gt;
&lt;br /&gt;
===crosshaircolor===&lt;br /&gt;
color: &amp;quot;ff 00 00&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
This is the crosshair&#039;s color if crosshairhealth is false.&lt;br /&gt;
&lt;br /&gt;
===crosshairgrow===&lt;br /&gt;
boolean: false&amp;lt;br&amp;gt;&lt;br /&gt;
Set this to true if you want the crosshair to temporarily enlarge each time you pick up an item.&lt;br /&gt;
&lt;br /&gt;
===crosshairhealth===&lt;br /&gt;
boolean: true&amp;lt;br&amp;gt;&lt;br /&gt;
When true, the crosshair&#039;s color reflects your current health. Green is healthy, red is near death, and intermediate colors are somewhere in between. Set this to false, if you want the crosshair to have a constant color (specified by the crosshaircolor cvar) instead.&lt;br /&gt;
&lt;br /&gt;
===crosshairscale===&lt;br /&gt;
boolean: false&amp;lt;br&amp;gt;&lt;br /&gt;
Set this to true if you want the crosshair to always appear the same size at all resolutions. Leaving it at false causes the crosshair to be drawn normally.&lt;br /&gt;
&lt;br /&gt;
===gamma===&lt;br /&gt;
float: 1.0&amp;lt;br&amp;gt;&lt;br /&gt;
Controls the amount of gamma correction applied to the display. 1.0 is equivalent to no correction, while larger numbers translate into a brighter display, and smaller numbers translate into a darker display. 0.0 is invalid and will be rejected. Negative numbers are technically invalid but will be accepted solely for the novelty value doing so provides. &lt;br /&gt;
&lt;br /&gt;
===hud_scale===&lt;br /&gt;
boolean: false&amp;lt;br&amp;gt;&lt;br /&gt;
Controls scaling of the fullscreen hud. At resolutions of 640x400 or above, setting this cvar to true will cause the icons to be scaled to approximately the same size they would be at 320x200. If this cvar is false, the icons will always be drawn without any scaling. &lt;br /&gt;
&lt;br /&gt;
===msg===&lt;br /&gt;
integer: 0&amp;lt;br&amp;gt;&lt;br /&gt;
This is the minimum message level that you will see. You will not see any messages with a lower priority than this. The different message levels are: &lt;br /&gt;
&lt;br /&gt;
#Item pickup &lt;br /&gt;
#Obituaries &lt;br /&gt;
#Critical messages &lt;br /&gt;
#Chat messages &lt;br /&gt;
#Chat messages from a teammate &lt;br /&gt;
&lt;br /&gt;
===msg0color===&lt;br /&gt;
integer: 6&amp;lt;br&amp;gt;&lt;br /&gt;
This cvar controls the color used to display level 0 (item pickup) messages. Available colors are: &lt;br /&gt;
&lt;br /&gt;
#Brick &lt;br /&gt;
#Tan &lt;br /&gt;
#Gray &lt;br /&gt;
#Green &lt;br /&gt;
#Brown &lt;br /&gt;
#Gold &lt;br /&gt;
#Red &lt;br /&gt;
#Blue &lt;br /&gt;
#Orange &lt;br /&gt;
#White &lt;br /&gt;
#Yellow &lt;br /&gt;
&lt;br /&gt;
===msg1color===&lt;br /&gt;
integer: 5&amp;lt;br&amp;gt;&lt;br /&gt;
This cvar selects the color used to display level 1 (obituary) messages. Available colors are the same as for&amp;quot; msg0color. &lt;br /&gt;
&lt;br /&gt;
===msg2color===&lt;br /&gt;
integer: 2&amp;lt;br&amp;gt;&lt;br /&gt;
This cvar selects the color used to display level 2 (critical) messages. Available colors are the same as for msg0color. &lt;br /&gt;
&lt;br /&gt;
===msg3color===&lt;br /&gt;
integer: 3&amp;lt;br&amp;gt;&lt;br /&gt;
This cvar selects the color used to display level 3 (chat) messages. Available colors are the same as for msg0color. &lt;br /&gt;
&lt;br /&gt;
===msg4color===&lt;br /&gt;
integer: 3&amp;lt;br&amp;gt;&lt;br /&gt;
This cvar selects the color used to display level 4 (team chat) messages. Available colors are the same as for msg0color. &lt;br /&gt;
&lt;br /&gt;
===msgmidcolor===&lt;br /&gt;
integer: 5&amp;lt;br&amp;gt;&lt;br /&gt;
This cvar selects the color used to display messages in the middle of the screen. Available colors are the same as for msg0color. &lt;br /&gt;
&lt;br /&gt;
===msgmidcolor2===&lt;br /&gt;
integer: 4&amp;lt;br&amp;gt;&lt;br /&gt;
This cvar selects the color used to display messages in the middle of the screen that are sent to everyone. Available colors are the same as for msg0color. &lt;br /&gt;
&lt;br /&gt;
===st_scale===&lt;br /&gt;
boolean: false&amp;lt;br&amp;gt;&lt;br /&gt;
When this cvar is true, the status bar will be scaled so that it covers the entire width of the screen in higher resolutions. At low resolutions this may look ugly, but at high resolutions it should look good enough.&lt;br /&gt;
&lt;br /&gt;
==Renderer==&lt;br /&gt;
&lt;br /&gt;
===r_columnmethod===&lt;br /&gt;
integer: 1&amp;lt;br&amp;gt;&lt;br /&gt;
Selects which of two algorithms to use to draw sprites and masked textures. Method 0 is the original algorithm used by DOOM. Method 1 is a new algorithm optimized for Pentium IIs and can perform significantly better with that or comparable processors. Ironically, method 0 is slightly faster than method 1 on Pentium III and Athlon processors (though not significantly so). &lt;br /&gt;
&lt;br /&gt;
===r_detail===&lt;br /&gt;
integer: 0&amp;lt;br&amp;gt;&lt;br /&gt;
This cvar selects the detail level of the view window. Valid values are: &lt;br /&gt;
&lt;br /&gt;
#Normal detail level. Equivalent to Doom&#039;s high detail mode. &lt;br /&gt;
#Double pixels horizontally. Equivalent to Doom&#039;s low detail mode. &lt;br /&gt;
#Double pixels vertically. &lt;br /&gt;
#Double pixels horizontally and vertically. &lt;br /&gt;
&lt;br /&gt;
Because of the way the renderer works, doubling pixels horizontally offers more of a speed-up than doubling them vertically does. Unless you have a very slow computer, there should be no reason to use any detail level other than 0. &lt;br /&gt;
&lt;br /&gt;
===r_drawflat===&lt;br /&gt;
boolean: false&amp;lt;br&amp;gt;&lt;br /&gt;
When set to 0, segs will be drawn as solid colors instead of textures. This is useful if you want to see how a node builder split a level&#039;s linedefs. Otherwise, it just looks ugly. &lt;br /&gt;
&lt;br /&gt;
===r_drawfuzzbr===&lt;br /&gt;
boolean: true&amp;lt;br&amp;gt;&lt;br /&gt;
When set to false, the &amp;quot;fuzz&amp;quot; effect on spectres and partially invisible players will be replaced with translucency. &lt;br /&gt;
&lt;br /&gt;
===r_drawmirrors===&lt;br /&gt;
boolean: true&amp;lt;br&amp;gt;&lt;br /&gt;
Setting this false will disable the display of mirrors.&lt;br /&gt;
&lt;br /&gt;
===r_drawplayersprites===&lt;br /&gt;
boolean: true&amp;lt;br&amp;gt;&lt;br /&gt;
When false, the game will not draw the player&#039;s weapon or muzzle flash, which can be nice for screenshots. &lt;br /&gt;
&lt;br /&gt;
===r_drawtrans===&lt;br /&gt;
boolean: true&amp;lt;br&amp;gt;&lt;br /&gt;
Setting this to false will disable all translucency effects in the game.&lt;br /&gt;
&lt;br /&gt;
===r_fogboundary===&lt;br /&gt;
boolean: true&amp;lt;br&amp;gt;&lt;br /&gt;
Setting this to false will disable the display of fog boundaries. Fog boundaries are sections where two areas with different fog colors meet. If the boundary is not drawn, then it will look like there is no fog at all in front of the boundary. Some old levels may look bad with fog boundary drawing enabled, which is why this cvar is available.&lt;br /&gt;
&lt;br /&gt;
===r_particles===&lt;br /&gt;
boolean: true&amp;lt;br&amp;gt;&lt;br /&gt;
If set to true, particles are drawn. Otherwise, they aren&#039;t. &lt;br /&gt;
&lt;br /&gt;
===r_stretchsky===&lt;br /&gt;
boolean: true&amp;lt;br&amp;gt;&lt;br /&gt;
Controls whether or not short sky textures are stretched so that you don&#039;t see them wrap when you look up. &lt;br /&gt;
&lt;br /&gt;
===r_viewsize===&lt;br /&gt;
string&amp;lt;br&amp;gt;&lt;br /&gt;
This cvar contains the width and height of the current view window. This cvar is read only. &lt;br /&gt;
&lt;br /&gt;
===r_visibility [visibility]===&lt;br /&gt;
Without any parameters, displays the current visibility. With a parameter, the visibility is set. Standard visibility for the Doom engine is 8. Visibility determines how quickly light drops off with distance from the viewer. At 0 visibility, there is no change in lighting with depth.&lt;br /&gt;
&lt;br /&gt;
==Video==&lt;br /&gt;
* [[Video]]&lt;br /&gt;
&lt;br /&gt;
==Bots==&lt;br /&gt;
* [[Bots]]&lt;br /&gt;
&lt;br /&gt;
==Automap==&lt;br /&gt;
* [[AutoMap]]&lt;br /&gt;
&lt;br /&gt;
==Player Settings==&lt;br /&gt;
* [[Player Settings]]&lt;br /&gt;
&lt;br /&gt;
==Debugging==&lt;br /&gt;
* [[Debugging]]&lt;/div&gt;</summary>
		<author><name>Lexus Alyus</name></author>
	</entry>
	<entry>
		<id>https://zdoom.org/w/index.php?title=Talk:Console_commands&amp;diff=515</id>
		<title>Talk:Console commands</title>
		<link rel="alternate" type="text/html" href="https://zdoom.org/w/index.php?title=Talk:Console_commands&amp;diff=515"/>
		<updated>2004-01-05T11:44:15Z</updated>

		<summary type="html">&lt;p&gt;Lexus Alyus: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Okay, I&#039;ve attempted to clean up this page by having sections and subsections to make it a lot easier to navigate. I think this is a good idea, but that is just my opinion and you can disagree if you want. If you disagree then let me know.&lt;br /&gt;
&lt;br /&gt;
Anyway, I&#039;ve gotten so far, but i&#039;ve ran out of time, so if some kind soul could finish this off :-).&lt;br /&gt;
&lt;br /&gt;
-Lexus Alyus 5/1/04&lt;/div&gt;</summary>
		<author><name>Lexus Alyus</name></author>
	</entry>
	<entry>
		<id>https://zdoom.org/w/index.php?title=Talk:Console_commands&amp;diff=426</id>
		<title>Talk:Console commands</title>
		<link rel="alternate" type="text/html" href="https://zdoom.org/w/index.php?title=Talk:Console_commands&amp;diff=426"/>
		<updated>2004-01-05T11:44:01Z</updated>

		<summary type="html">&lt;p&gt;Lexus Alyus: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Okay&amp;lt; i&#039;ve attempoted to clean up this poage by having sections and subsections to make it a lot easier to navigate. I think this is a good idea, but that is just my opinion and you can disagree if you want. If you disagree then let me know.&lt;br /&gt;
&lt;br /&gt;
Anyway, I&#039;ve gotten so far, but i&#039;ve ran out of time, so if some kind soul could finish this off :-).&lt;br /&gt;
&lt;br /&gt;
-Lexus Alyus 5/1/04&lt;/div&gt;</summary>
		<author><name>Lexus Alyus</name></author>
	</entry>
	<entry>
		<id>https://zdoom.org/w/index.php?title=Console_commands&amp;diff=428</id>
		<title>Console commands</title>
		<link rel="alternate" type="text/html" href="https://zdoom.org/w/index.php?title=Console_commands&amp;diff=428"/>
		<updated>2004-01-05T11:42:15Z</updated>

		<summary type="html">&lt;p&gt;Lexus Alyus: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Console Commands are used to alter the way ZDoom does something, such as changing the sound volume, changing DMflags, ect...&lt;br /&gt;
&lt;br /&gt;
you access the console by pressing &amp;quot;~&amp;quot; at any time&lt;br /&gt;
&lt;br /&gt;
==Console variable types==&lt;br /&gt;
&lt;br /&gt;
There are six types of cvars: Boolean, Integer, Float, String, Colour and Flag.&lt;br /&gt;
&lt;br /&gt;
=== boolean ===&lt;br /&gt;
&lt;br /&gt;
This type of variable represents a yes/no or on/off value. It can only be set to true or false. As shorthand, setting a boolean variable to 0 will set it to false, and setting it to anything non-zero will set it to true. &lt;br /&gt;
&lt;br /&gt;
=== integer ===&lt;br /&gt;
&lt;br /&gt;
This is an ordinary number without a decimal point. For example, 1 is an integer, but 1.2 is not. &lt;br /&gt;
&lt;br /&gt;
=== float ===&lt;br /&gt;
&lt;br /&gt;
This is an ordinary number that can have a decimal point. &lt;br /&gt;
&lt;br /&gt;
=== string ===&lt;br /&gt;
&lt;br /&gt;
This is a series of text characters enclosed in quotes: For example, &amp;quot;Felix loitered lecherously on the lot&amp;quot; is a string. If you removed the quotes around it, then it would not be a string. &lt;br /&gt;
If you need to use quotes inside a string, preface it with a backslash.&lt;br /&gt;
&lt;br /&gt;
Are you &amp;quot;The One&amp;quot; of old?&lt;br /&gt;
&lt;br /&gt;
would be written like this as a string: &lt;br /&gt;
&lt;br /&gt;
&amp;quot;Are you \&amp;quot;The One\&amp;quot; of old?&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== colour ===&lt;br /&gt;
&lt;br /&gt;
This type of variable is a series of three hexadecimal numbers representing the amounts of red, green, and blue (in that order) in a color. For example, pure red would be represented as &amp;quot;ff 00 00&amp;quot;. As a shorthand, you can set a color variable with one of several color names, and the RGB values will be set for you. &lt;br /&gt;
&lt;br /&gt;
=== flag ===&lt;br /&gt;
&lt;br /&gt;
This type of variable mirrors a setting in dmflags or dmflags2. Setting its value will set the corresponding value in one of those variables, and getting its value will get the corresponding value from one of the other two variables. This is designed to make using dmflags easier, because you don&#039;t have to memorize any numbers.&lt;br /&gt;
&lt;br /&gt;
==Button Commands==&lt;br /&gt;
&lt;br /&gt;
Button commands are commands that represent buttons and come in pairs. Each &amp;quot;button&amp;quot; has a command prefixed by a + and another corresponding command prefixed by a -. The + version of the command simulates pushing the button, and the - version of the command simulates releasing the button.&lt;br /&gt;
&lt;br /&gt;
When you bind a command that begins with + to a key, releasing the key will automatically execute the same command with the + replaced by a -. Note that this works for aliases as well as the commands listed here. This provides a useful way to bind multiple actions to a single key. Suppose you want the normal Doom behavior of moving forward and using when you double click the right mouse button. If you use the commands &lt;br /&gt;
&lt;br /&gt;
bind mouse2 +forward&amp;lt;br&amp;gt;&lt;br /&gt;
doublebind mouse2 +use&lt;br /&gt;
&lt;br /&gt;
ZDoom will move you forward when you press the right mouse button. When you double click it, you will press use, but you will not move forward. To simulate the standard Doom behavior, you can replace the doublebind command with these three commands instead: &lt;br /&gt;
&lt;br /&gt;
alias +useforward &amp;quot;+use; +forward&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
alias -useforward &amp;quot;-use; -forward&amp;quot;&lt;br /&gt;
&lt;br /&gt;
doublebind mouse2 +useforward&lt;br /&gt;
&lt;br /&gt;
Now when you double click the right mouse button, the +useforward alias will be executed. Because +useforward&#039;s name begins with a + releasing the right mouse button will execute the -useforward alias (whether or not -useforward is defined). &lt;br /&gt;
&lt;br /&gt;
This behavior of executing a - command when a key is released applies only to the first command or alias bound to the key. If you bind a key to &amp;quot;+forward; +right&amp;quot;, releasing the key will execute the command &amp;quot;-forward; +right&amp;quot; and not &amp;quot;-forward; -right&amp;quot;. As shown above, you can use aliases to get the correct behavior. &lt;br /&gt;
&lt;br /&gt;
Another trick you can do with aliases is to create a key that only executes the + command without executing the - command. If you wanted a key that will make you move forward when you press it, and will keep you moving forward even after releasing it, you can use an alias like this:&lt;br /&gt;
&lt;br /&gt;
alias go &amp;quot;+forward&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Then instead of binding +forward to a key, you bind go to the key instead. This works because go does not begin with a + so nothing will happen when you release the keyZDoom only looks at the command actually bound to the key to determine if it should execute a - command when the key is released; it does not look inside aliases. &lt;br /&gt;
&lt;br /&gt;
=== Standard buttons ===&lt;br /&gt;
&lt;br /&gt;
+attack Use your weapon.&amp;lt;br&amp;gt;&lt;br /&gt;
-attack Stop using your weapon.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+use Start trying to use anything in front of you.&amp;lt;br&amp;gt;&lt;br /&gt;
-use Stop trying to use anything in front of you.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+back Move backward.&amp;lt;br&amp;gt;&lt;br /&gt;
-back Stop moving backward.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+forward Move forward.&amp;lt;br&amp;gt;&lt;br /&gt;
-forward Stop moving forward.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+jump Start jumping.&amp;lt;br&amp;gt;&lt;br /&gt;
-jump Stop jumping.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+left Start turning left.&amp;lt;br&amp;gt;&lt;br /&gt;
-left Stop turning left.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+right Start turning right.&amp;lt;br&amp;gt;&lt;br /&gt;
-right Stop turning right.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+moveleft Start strafing left.&amp;lt;br&amp;gt;&lt;br /&gt;
-moveleft Stop strafing left.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+moveright Start strafing right.&amp;lt;br&amp;gt;&lt;br /&gt;
-moveright Stop strafing right.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+lookdown Start lowering your view.&amp;lt;br&amp;gt;&lt;br /&gt;
-lookdown Stop lowering your view.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+lookup Start raising your view.&amp;lt;br&amp;gt;&lt;br /&gt;
-lookup Stop raising your view.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+movedown Start moving down if swimming or flying.&amp;lt;br&amp;gt;&lt;br /&gt;
-movedown Stop moving down.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+moveup Start moving up if swimming or flying.&amp;lt;br&amp;gt;&lt;br /&gt;
-moveup Stop moving up if swimming or flying.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+strafe Causes +left and +right to behave like +moveleft and +moveright;&amp;lt;br&amp;gt;&lt;br /&gt;
-strafe Returns +left and +right to their normal behavior.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+klook Causes +forward and +back to act like +lookup and +lookdown instead.&amp;lt;br&amp;gt;&lt;br /&gt;
-klook Returns +forward and +back to their normal behavior.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+mlook Moving the mouse up and down will make you look up and down.&amp;lt;br&amp;gt;&lt;br /&gt;
-mlook Moving the mouse up and down will make you move forward and backward. However, if freelook is true, then moving the mouse up and down will still change your view instead of moving you.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
+showscores Display a scorelist for deathmatch games.&amp;lt;br&amp;gt;&lt;br /&gt;
-showscores Hide the deathmatch scorelist.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+speed Start running.&amp;lt;br&amp;gt;&lt;br /&gt;
-speed Start walking.&lt;br /&gt;
&lt;br /&gt;
==Customization==&lt;br /&gt;
&lt;br /&gt;
===addkeysection (menu-heading) (ini-section-name)&amp;lt;br&amp;gt;===&lt;br /&gt;
This command does two things. First, it adds a new heading called menu-heading to the controls menu. You can use the addmenukey command to add your own custom keys beneath this heading. Second, it loads all the bindings from the corresponding ini-section-name section in zdoom.ini. You can use this command multiple times to create different sections in the menu and ini for different sets of commands. If you use a menu-heading that was already added to the menu, new controls added with addmenukey will appear at the end of that section, but the bindings will not be reloaded from the ini. &lt;br /&gt;
&lt;br /&gt;
===addmenukey (description) (command)&amp;lt;br&amp;gt;===&lt;br /&gt;
Adds a new control to the controls menu. Description is the name of this control in the menu, and command is a console command or alias to be executed when the control is pressed. New controls are added to the last section specified with addkeysection.&lt;br /&gt;
&lt;br /&gt;
===addslot (slot) (weapon)===&lt;br /&gt;
Adds a single weapon to the list of weapons in a weapon slot.&lt;br /&gt;
&lt;br /&gt;
===alias (new-command) [command-string]===&lt;br /&gt;
If specified with no parameters, will display a list of all current aliases. If only new-command is specified, it will be removed from the list of aliases. If command-string is also specified, it will be added to the list of aliases as new-command. For example, to create a new command to kill the monsters on the level, you can use the command: &lt;br /&gt;
alias massacre &amp;quot;kill monsters&amp;quot;Then you can use the newly created massacre command to kill all the monsters on the level.&lt;br /&gt;
&lt;br /&gt;
===archivecvar (cvar)===&lt;br /&gt;
When you create a custom cvar with the set command, it will not normally be saved in the ini. You can use archivecvar after creating the cvar to indicate that the custom cvar&#039;s value should persist even after you quit.&lt;br /&gt;
&lt;br /&gt;
===atexit [command]===&lt;br /&gt;
If you specify a command, it will be added to a list of console commands to execute when the user quits the game. Commands are executed in the reverse order that they were added in. If you do not specify any arguments to atexit, then it will list the current set of commands that will execute when you quit.&lt;br /&gt;
&lt;br /&gt;
===bind (key [command string])===&lt;br /&gt;
If no parameters are specified, the entire list of bound keys will be printed to the console. If only [key] is specified, the binding for that specific key will be printed. If both [key] and [command string] are specified, [command string] will be bound to [key]. &lt;br /&gt;
&lt;br /&gt;
===binddefaults===&lt;br /&gt;
Binds all keys to their default commands. This will not unbind any keys that do not have any default bindings, so if you want to properly restore the default controls, you need to use unbindall first. &lt;br /&gt;
defaultbind key command&lt;br /&gt;
Binds command to the key if and only if key is not already bound and there are no keys already bound to command.&lt;br /&gt;
&lt;br /&gt;
===doublebind (key [command string])===&lt;br /&gt;
This command works just like bind, except it controls the action that occurs when a key is double-clicked. If a key does not have a doublebinding, then double-clicking it has the same result as pressing it twice. Otherwise, the first press will execute the normal command set with bind, and the second press of the double-click will execute the command set with doublebind. &lt;br /&gt;
&lt;br /&gt;
===eval expression [variable]===&lt;br /&gt;
Evaluates a mathematical expression and either prints it to the console or stores it in variable. Expressions are written using prefix notation instead of the more common infix notation. Basically, you first specify what you want to do (the operator) and then what you want to do it to (the operands). You must separate operators and operands with spaces. &lt;br /&gt;
&lt;br /&gt;
Examples: &lt;br /&gt;
To compute 2+2: &lt;br /&gt;
eval + 2 2To compute 5-3: &lt;br /&gt;
eval - 5 3To compute 2+(5*6): &lt;br /&gt;
eval + 2 * 5 6To decrease the number of screenblocks: &lt;br /&gt;
eval - $screenblocks 1 screenblocksThe supported operators are:&lt;br /&gt;
+ a b Adds a and b. &lt;br /&gt;
- a b Subtracts b from a. &lt;br /&gt;
* a b Multiplies a and b. &lt;br /&gt;
/ a b Divides a by b. &lt;br /&gt;
% a b Calculates the remainder of a/b. &lt;br /&gt;
^ a b Raises a to the b-th power . &lt;br /&gt;
&amp;lt; a b Produces 1 if a is less than b and 0 if not. &lt;br /&gt;
&amp;lt;= a b Produces 1 if a is less than or equal to b and 0 if not. &lt;br /&gt;
&amp;gt; a b Produces 1 if a is greater than b and 0 if not. &lt;br /&gt;
&amp;gt;= a b Produces 1 if a is greater than or equal to b and 0 if not. &lt;br /&gt;
= a b Produces 1 if a is equal to b and 0 if not. &lt;br /&gt;
== a b Produces 1 if a is equal to b and 0 if not. &lt;br /&gt;
!= a b Produces 1 if a is not equal to b and 0 if it is. &lt;br /&gt;
&amp;lt;&amp;gt; a b Produces 1 if a is not equal to b and 0 if is. &lt;br /&gt;
xor a b Calculates the bit-wise exclusive-or of a and b. &lt;br /&gt;
&amp;amp; a b Calculates the bit-wise and of a and b. &lt;br /&gt;
| a b Calculates the bit-wise or of a and b. &lt;br /&gt;
&amp;amp;&amp;amp; a b Calculates the logical and of a and b. &lt;br /&gt;
|| a b Calculates the logical or of a and b. &lt;br /&gt;
&lt;br /&gt;
===exec (script-file)===&lt;br /&gt;
Executes a series of commands stored in the script-file as if they had been typed in at the console directly. &lt;br /&gt;
&lt;br /&gt;
===key value1 [value2]===&lt;br /&gt;
Translates all parameters to the command into their corresponding key values which are used internally for command and alias lookup. Probably not very useful for the average user. &lt;br /&gt;
&lt;br /&gt;
===puke (script [arguments])===&lt;br /&gt;
Executes an ACS script on the current map, optionally passing it up to three numerical arguments. &lt;br /&gt;
&lt;br /&gt;
===pullin (wadfile)===&lt;br /&gt;
Loads a wadfile at startup. This command is only valid inside .cfg files that have been execed at startup.&lt;br /&gt;
&lt;br /&gt;
===set (cvar) (value)===&lt;br /&gt;
Sets cvar to value. If cvar does not exist, it will be created. &lt;br /&gt;
&lt;br /&gt;
===rebind (binding)===&lt;br /&gt;
Changes the binding for the key that caused the rebind command to execute. For obvious reasons, this command cannot be used at the console.&lt;br /&gt;
&lt;br /&gt;
Example: &lt;br /&gt;
&lt;br /&gt;
bind b &amp;quot;echo setting 1; rebind \&amp;quot;echo setting 2\&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
This will cause the first press of b to echo &amp;quot;setting 1&amp;quot; to the console. All future presses of b will echo &amp;quot;setting 2&amp;quot; instead. &lt;br /&gt;
&lt;br /&gt;
===unbind (key)===&lt;br /&gt;
Removes a binding from the specified key.&lt;br /&gt;
&lt;br /&gt;
===unbindall===&lt;br /&gt;
Removes all bindings and doublebindings from every key. To restore the default bindings, you can use the binddefaults command. There is no way to restore any custom bindings after issuing this command except by retyping each bind command or using the controls setup menu.&lt;br /&gt;
&lt;br /&gt;
===undoublebind (key)===&lt;br /&gt;
Removes a doublebinding from the specified key.&lt;br /&gt;
&lt;br /&gt;
===unset (cvar)===&lt;br /&gt;
Undefines a user-created cvar.&lt;br /&gt;
&lt;br /&gt;
==Screenshots==&lt;br /&gt;
&lt;br /&gt;
===png_gamma===&lt;br /&gt;
float: 0&amp;lt;br&amp;gt;&lt;br /&gt;
Controls the gamma level stored in PNG screenshots. If this is 0, then your current gamma setting will be used.&lt;br /&gt;
&lt;br /&gt;
===png_level===&lt;br /&gt;
integer: 5&amp;lt;br&amp;gt;&lt;br /&gt;
This is the level of compression to use for PNG screenshots. 0 is no compression at all, 1 is minimal compression (fastest), 9 is maximum compression (slowest), and intermediate values offer intermediate compression. 5 is offers a decent trade-of between file size and compression time. An uncompressed image will not neccessarily save faster than a compressed image, because the extra time needed to write out a complete uncompressed image may be longer than the time required to compress the image. If you need to create screenshots as quickly as possible, consider setting screenshot_type to &amp;quot;pcx&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
===screenshot [file]===&lt;br /&gt;
Dumps a copy of the screen to disk as a PNG or PCX file. If file is not specified, the screenshot will be saved to the directory the game was run from with a name of the form doom????.png. &lt;br /&gt;
&lt;br /&gt;
===screenshot_quiet===&lt;br /&gt;
boolean: false&amp;lt;br&amp;gt;&lt;br /&gt;
Setting this to true will suppress the messages informing you what file a screenshot was saved to.&lt;br /&gt;
&lt;br /&gt;
===screenshot_type===&lt;br /&gt;
string: &amp;quot;png&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Determines the type of screenshots that will be saved. This can be either &amp;quot;png&amp;quot; or &amp;quot;pcx&amp;quot;. In my empirical studies, PNG screenshots are about half the size of pcx screenshots. PCX screenshots have the advantage that they require less time to create so are most useful for rapid screenshot generation. The following sequence of console commands will take a screenshot every frame. You can use an external program to assemble these into a video, if desired. &lt;br /&gt;
&lt;br /&gt;
screenshot_type &amp;quot;png&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
screenshot_quiet true&amp;lt;br&amp;gt;&lt;br /&gt;
alias autoshot &amp;quot;screenshot; wait 1; autoshot&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
autoshot&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you use the autoshot alias, the command alias autoshot will stop automatic screenshot taking before you hit 10000 screenshots (approximately 4 minutes, 45 seconds).&lt;br /&gt;
&lt;br /&gt;
===storesavepic===&lt;br /&gt;
boolean: true&amp;lt;br&amp;gt;&lt;br /&gt;
Setting this to false will produce smaller savegames (by about 14k typically) by not storing a screenshot inside the savegame.&lt;br /&gt;
&lt;br /&gt;
==Chatting==&lt;br /&gt;
&lt;br /&gt;
===chat_substitution===&lt;br /&gt;
boolean: false&amp;lt;br&amp;gt;&lt;br /&gt;
Set this to true if you want to chat using special keywords that will be replaced with appropriate text when your messages are sent. The supported keywords are:&lt;br /&gt;
 &lt;br /&gt;
$health &amp;lt;br&amp;gt;&lt;br /&gt;
Replaced by your current health. &amp;lt;br&amp;gt;&lt;br /&gt;
$weapon &amp;lt;br&amp;gt;&lt;br /&gt;
Replaced by the name of your current weapon. &amp;lt;br&amp;gt;&lt;br /&gt;
$armor &amp;lt;br&amp;gt;&lt;br /&gt;
Replaced by your current armor count. &amp;lt;br&amp;gt;&lt;br /&gt;
$ammocount &amp;lt;br&amp;gt;&lt;br /&gt;
Replaced by your current ammo count. &amp;lt;br&amp;gt;&lt;br /&gt;
$ammo &amp;lt;br&amp;gt;&lt;br /&gt;
Replaced by the name of your current ammo.&lt;br /&gt;
&lt;br /&gt;
As an example, if you just started a new game of Doom and have chat substitution turned on, when you send the message &amp;quot;My health is $health, and I am using a $weapon&amp;quot;, the message that is actually sent will be &amp;quot;My health is 100, and I am using a Pistol&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
chatmacro0&amp;lt;br&amp;gt;&lt;br /&gt;
chatmacro1&amp;lt;br&amp;gt;&lt;br /&gt;
chatmacro2&amp;lt;br&amp;gt;&lt;br /&gt;
chatmacro3&amp;lt;br&amp;gt;&lt;br /&gt;
chatmacro4&amp;lt;br&amp;gt;&lt;br /&gt;
chatmacro5&amp;lt;br&amp;gt;&lt;br /&gt;
chatmacro6&amp;lt;br&amp;gt;&lt;br /&gt;
chatmacro7&amp;lt;br&amp;gt;&lt;br /&gt;
chatmacro8&amp;lt;br&amp;gt;&lt;br /&gt;
chatmacro9&amp;lt;br&amp;gt;&lt;br /&gt;
string&amp;lt;br&amp;gt;&lt;br /&gt;
These are all strings that can be assigned to hotkeys in chat mode. To use these, enter chat mode and then hold down Alt and press one of the number keys. The string stored in the corresponding chatmacro cvar will be sent as if you had typed it yourself. &lt;br /&gt;
&lt;br /&gt;
===messagemode===&lt;br /&gt;
Enters message entry mode. Anything typed while in this mode will be sent to everyone else as if you had used the say command once you press enter. &lt;br /&gt;
&lt;br /&gt;
===messagemode2===&lt;br /&gt;
This is just like messagemode except that the message is only sent to other members of your team. If teamplay is false or you don&#039;t have a team, then this command will work just like messagemode and send the message to everyone. &lt;br /&gt;
&lt;br /&gt;
===say (message)===&lt;br /&gt;
Sends a message to everyone playing. If your message begins with &amp;quot;/me&amp;quot; then &amp;quot;/me&amp;quot; will be replaced by your name ala IRC. &lt;br /&gt;
&lt;br /&gt;
===say_team (message)===&lt;br /&gt;
This is just like say except it only sends a message to your teammates. If teamplay is inactive, then this command will act exactly like say and send the message to everyone.&lt;br /&gt;
&lt;br /&gt;
==Cheating==&lt;br /&gt;
&lt;br /&gt;
===sv_cheats===&lt;br /&gt;
boolean: false&lt;br /&gt;
When true, cheats will be allowed in Nightmare difficulty and network games. For purposes of fairness, this cvar can only be set from the command line when you run ZDoom. This is to avoid situations where the key player in a multiplayer game (player 1) could go to the console and type something like this:&lt;br /&gt;
&lt;br /&gt;
sv_cheats 1&amp;lt;br&amp;gt;&lt;br /&gt;
god&amp;lt;br&amp;gt;&lt;br /&gt;
sv_cheats 0&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
whereby rendering himself immune to the attacks of others.&lt;br /&gt;
&lt;br /&gt;
===anubis===&lt;br /&gt;
Toggles monster fear on and off. Scared monsters will run away from you and attack less frequently.&lt;br /&gt;
&lt;br /&gt;
===fly===&lt;br /&gt;
Toggles fly mode on and off.&lt;br /&gt;
&lt;br /&gt;
===give (item)===&lt;br /&gt;
Gives an item to the player. Give understands the following special items: &lt;br /&gt;
all - gives you everything &lt;br /&gt;
health - gives you full health &lt;br /&gt;
weapons - gives you every weapon &lt;br /&gt;
ammo - gives you full ammo &lt;br /&gt;
armor - gives you full armor &lt;br /&gt;
keys - gives you every key &lt;br /&gt;
It also understands the names of individual inventory items. Use the command dumpclasses inventory for a complete list of these. &lt;br /&gt;
&lt;br /&gt;
===god===&lt;br /&gt;
Toggles God (Degreelessness) mode on/off. While active, you cannot be hurt by normal attacks (although telefragging will still kill you). Also known as iddqd. &lt;br /&gt;
&lt;br /&gt;
===iddqd===&lt;br /&gt;
The same as god, except it also gives you 100 health.&lt;br /&gt;
&lt;br /&gt;
===kill [monsters]===&lt;br /&gt;
If used as &amp;quot;kill monsters&amp;quot;, will kill all monsters on the level. Otherwise, it will kill you instead. This command is broken in netgames, so don&#039;t use it unless you are playing a single player game. &lt;br /&gt;
&lt;br /&gt;
===logfile [log-file]===&lt;br /&gt;
If log-file is not specified, console logging will be stopped (if active). Otherwise, a file named log-file will be created on disk, and all console output will be recorded in it as well as on the screen. &lt;br /&gt;
&lt;br /&gt;
===mdk===&lt;br /&gt;
This cheat will kill whatever you are looking at.&lt;br /&gt;
&lt;br /&gt;
===morphme===&lt;br /&gt;
Transforms you into a chicken in Heretic and a pig in Hexen and Doom (The latter only happens if you have the releven graphics present).&lt;br /&gt;
&lt;br /&gt;
===noclip===&lt;br /&gt;
Toggles noclipping mode on/off. &lt;br /&gt;
&lt;br /&gt;
===notarget===&lt;br /&gt;
Toggles notarget mode on/off. While active, monsters will not target you unless you hurt them first. &lt;br /&gt;
&lt;br /&gt;
===powerup===&lt;br /&gt;
Powers you up in Heretic as if you had used a Tome of Power.&lt;br /&gt;
&lt;br /&gt;
===turbo===&lt;br /&gt;
float: 100&amp;lt;br&amp;gt;&lt;br /&gt;
This cvar affects how quickly the player moves. A value of 100 will cause the player to move at normal speed, 200 will cause the player to move at 200% of normal speed, 50 will cause the player to move at 50% of normal speed, etc. Valid values range from 10 to 256.&lt;br /&gt;
&lt;br /&gt;
==Display==&lt;br /&gt;
&lt;br /&gt;
===bumpgamma===&lt;br /&gt;
Increases the current gamma level by 0.1. If the new gamma level would be greater than 3.0, it wraps the gamma around to 1.0 &lt;br /&gt;
&lt;br /&gt;
===cl_bbannounce===&lt;br /&gt;
boolean: false&amp;lt;br&amp;gt;&lt;br /&gt;
When true, enables the Bloodbath announcer for deathmatch games. The Bloodbath announcer is &amp;quot;The Voice&amp;quot; from Monolith Software&#039;s Blood game. To hear the announcer, you need to load Blood&#039;s sounds.rff either at the command line or through one of zdoom.ini&#039;s [*.Autoload] sections. You can get this file either from the demo or full version of Blood. If you don&#039;t have sounds.rff, you can still see the announcer&#039;s messages even though you won&#039;t hear anything. &lt;br /&gt;
&lt;br /&gt;
===cl_showmultikills===&lt;br /&gt;
boolean: true&amp;lt;br&amp;gt;&lt;br /&gt;
Set this to false if you don&#039;t want to see Unreal Tournament-style messages when a player makes several kills in a short period of time.&lt;br /&gt;
&lt;br /&gt;
===cl_showsprees===&lt;br /&gt;
boolean: true&amp;lt;br&amp;gt;&lt;br /&gt;
Set this to false if you don&#039;t want to see Unreal Tournament-style messages when a player is on a killing spree.&lt;br /&gt;
&lt;br /&gt;
===cl_spreaddecals===&lt;br /&gt;
boolean: true&amp;lt;br&amp;gt;&lt;br /&gt;
ZDoom clips decals to sidedefs. In order to hide this, the game will create as many duplicate decals on adjoining sidedefs as needed to make it appear that there is only one unbroken decal on the wall. Set this cvar to false if you don&#039;t want this.&lt;br /&gt;
&lt;br /&gt;
===con_centernotify===&lt;br /&gt;
boolean: false for Doom, true for Heretic and Hexen&amp;lt;br&amp;gt;&lt;br /&gt;
When true, notify messages at the top of the screen are centered. Otherwise, they are justified against the left margin.&lt;br /&gt;
&lt;br /&gt;
===con_midtime===&lt;br /&gt;
float: 3&amp;lt;br&amp;gt;&lt;br /&gt;
This is the number of seconds that messages in the middle of the screen will be displayed before they dispapper. &lt;br /&gt;
&lt;br /&gt;
===con_notifytime===&lt;br /&gt;
float: 3&amp;lt;br&amp;gt;&lt;br /&gt;
This is the number of seconds that new messages will stay at the top of the screen before they start scrolling away. &lt;br /&gt;
&lt;br /&gt;
===con_scaletext===&lt;br /&gt;
boolean: false&amp;lt;br&amp;gt;&lt;br /&gt;
If this cvar is true, then message text will be scaled to larger sizes depending on the screen resolution so that it will stay approximately the same size it would be on a 320x200 screen. &lt;br /&gt;
&lt;br /&gt;
===crosshair===&lt;br /&gt;
integer: 0&amp;lt;br&amp;gt;&lt;br /&gt;
If this cvar is non-zero, it draws a crosshair. If this cvar is negative, the crosshair is translucent, otherwise it is opaque. The specific crosshair drawn depends on the value of this cvar. &lt;br /&gt;
&lt;br /&gt;
===crosshaircolor===&lt;br /&gt;
color: &amp;quot;ff 00 00&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
This is the crosshair&#039;s color if crosshairhealth is false.&lt;br /&gt;
&lt;br /&gt;
===crosshairgrow===&lt;br /&gt;
boolean: false&amp;lt;br&amp;gt;&lt;br /&gt;
Set this to true if you want the crosshair to temporarily enlarge each time you pick up an item.&lt;br /&gt;
&lt;br /&gt;
===crosshairhealth===&lt;br /&gt;
boolean: true&amp;lt;br&amp;gt;&lt;br /&gt;
When true, the crosshair&#039;s color reflects your current health. Green is healthy, red is near death, and intermediate colors are somewhere in between. Set this to false, if you want the crosshair to have a constant color (specified by the crosshaircolor cvar) instead.&lt;br /&gt;
&lt;br /&gt;
===crosshairscale===&lt;br /&gt;
boolean: false&amp;lt;br&amp;gt;&lt;br /&gt;
Set this to true if you want the crosshair to always appear the same size at all resolutions. Leaving it at false causes the crosshair to be drawn normally.&lt;br /&gt;
&lt;br /&gt;
===gamma===&lt;br /&gt;
float: 1.0&amp;lt;br&amp;gt;&lt;br /&gt;
Controls the amount of gamma correction applied to the display. 1.0 is equivalent to no correction, while larger numbers translate into a brighter display, and smaller numbers translate into a darker display. 0.0 is invalid and will be rejected. Negative numbers are technically invalid but will be accepted solely for the novelty value doing so provides. &lt;br /&gt;
&lt;br /&gt;
===hud_scale===&lt;br /&gt;
boolean: false&amp;lt;br&amp;gt;&lt;br /&gt;
Controls scaling of the fullscreen hud. At resolutions of 640x400 or above, setting this cvar to true will cause the icons to be scaled to approximately the same size they would be at 320x200. If this cvar is false, the icons will always be drawn without any scaling. &lt;br /&gt;
&lt;br /&gt;
===msg===&lt;br /&gt;
integer: 0&amp;lt;br&amp;gt;&lt;br /&gt;
This is the minimum message level that you will see. You will not see any messages with a lower priority than this. The different message levels are: &lt;br /&gt;
&lt;br /&gt;
#Item pickup &lt;br /&gt;
#Obituaries &lt;br /&gt;
#Critical messages &lt;br /&gt;
#Chat messages &lt;br /&gt;
#Chat messages from a teammate &lt;br /&gt;
&lt;br /&gt;
===msg0color====&lt;br /&gt;
integer: 6&amp;lt;br&amp;gt;&lt;br /&gt;
This cvar controls the color used to display level 0 (item pickup) messages. Available colors are: &lt;br /&gt;
&lt;br /&gt;
#Brick &lt;br /&gt;
#Tan &lt;br /&gt;
#Gray &lt;br /&gt;
#Green &lt;br /&gt;
#Brown &lt;br /&gt;
#Gold &lt;br /&gt;
#Red &lt;br /&gt;
#Blue &lt;br /&gt;
#Orange &lt;br /&gt;
#White &lt;br /&gt;
#Yellow &lt;br /&gt;
&lt;br /&gt;
===msg1color===&lt;br /&gt;
integer: 5&amp;lt;br&amp;gt;&lt;br /&gt;
This cvar selects the color used to display level 1 (obituary) messages. Available colors are the same as for&amp;quot; msg0color. &lt;br /&gt;
&lt;br /&gt;
===msg2color===&lt;br /&gt;
integer: 2&amp;lt;br&amp;gt;&lt;br /&gt;
This cvar selects the color used to display level 2 (critical) messages. Available colors are the same as for msg0color. &lt;br /&gt;
&lt;br /&gt;
===msg3color===&lt;br /&gt;
integer: 3&amp;lt;br&amp;gt;&lt;br /&gt;
This cvar selects the color used to display level 3 (chat) messages. Available colors are the same as for msg0color. &lt;br /&gt;
&lt;br /&gt;
===msg4color===&lt;br /&gt;
integer: 3&amp;lt;br&amp;gt;&lt;br /&gt;
This cvar selects the color used to display level 4 (team chat) messages. Available colors are the same as for msg0color. &lt;br /&gt;
&lt;br /&gt;
===msgmidcolor===&lt;br /&gt;
integer: 5&amp;lt;br&amp;gt;&lt;br /&gt;
This cvar selects the color used to display messages in the middle of the screen. Available colors are the same as for msg0color. &lt;br /&gt;
&lt;br /&gt;
===msgmidcolor2===&lt;br /&gt;
integer: 4&amp;lt;br&amp;gt;&lt;br /&gt;
This cvar selects the color used to display messages in the middle of the screen that are sent to everyone. Available colors are the same as for msg0color. &lt;br /&gt;
&lt;br /&gt;
===st_scale===&lt;br /&gt;
boolean: false&amp;lt;br&amp;gt;&lt;br /&gt;
When this cvar is true, the status bar will be scaled so that it covers the entire width of the screen in higher resolutions. At low resolutions this may look ugly, but at high resolutions it should look good enough.&lt;br /&gt;
&lt;br /&gt;
==Renderer==&lt;br /&gt;
* [[Renderer]]&lt;br /&gt;
&lt;br /&gt;
==Video==&lt;br /&gt;
* [[Video]]&lt;br /&gt;
&lt;br /&gt;
==Bots==&lt;br /&gt;
* [[Bots]]&lt;br /&gt;
&lt;br /&gt;
==Automap==&lt;br /&gt;
* [[AutoMap]]&lt;br /&gt;
&lt;br /&gt;
==Player Settings==&lt;br /&gt;
* [[Player Settings]]&lt;br /&gt;
&lt;br /&gt;
==Debugging==&lt;br /&gt;
* [[Debugging]]&lt;/div&gt;</summary>
		<author><name>Lexus Alyus</name></author>
	</entry>
	<entry>
		<id>https://zdoom.org/w/index.php?title=Console_commands&amp;diff=425</id>
		<title>Console commands</title>
		<link rel="alternate" type="text/html" href="https://zdoom.org/w/index.php?title=Console_commands&amp;diff=425"/>
		<updated>2004-01-05T11:40:07Z</updated>

		<summary type="html">&lt;p&gt;Lexus Alyus: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Console Commands are used to alter the way ZDoom does something, such as changing the sound volume, changing DMflags, ect...&lt;br /&gt;
&lt;br /&gt;
you access the console by pressing &amp;quot;~&amp;quot; at any time&lt;br /&gt;
&lt;br /&gt;
==Console variable types==&lt;br /&gt;
&lt;br /&gt;
There are six types of cvars: Boolean, Integer, Float, String, Colour and Flag.&lt;br /&gt;
&lt;br /&gt;
=== boolean ===&lt;br /&gt;
&lt;br /&gt;
This type of variable represents a yes/no or on/off value. It can only be set to true or false. As shorthand, setting a boolean variable to 0 will set it to false, and setting it to anything non-zero will set it to true. &lt;br /&gt;
&lt;br /&gt;
=== integer ===&lt;br /&gt;
&lt;br /&gt;
This is an ordinary number without a decimal point. For example, 1 is an integer, but 1.2 is not. &lt;br /&gt;
&lt;br /&gt;
=== float ===&lt;br /&gt;
&lt;br /&gt;
This is an ordinary number that can have a decimal point. &lt;br /&gt;
&lt;br /&gt;
=== string ===&lt;br /&gt;
&lt;br /&gt;
This is a series of text characters enclosed in quotes: For example, &amp;quot;Felix loitered lecherously on the lot&amp;quot; is a string. If you removed the quotes around it, then it would not be a string. &lt;br /&gt;
If you need to use quotes inside a string, preface it with a backslash.&lt;br /&gt;
&lt;br /&gt;
Are you &amp;quot;The One&amp;quot; of old?&lt;br /&gt;
&lt;br /&gt;
would be written like this as a string: &lt;br /&gt;
&lt;br /&gt;
&amp;quot;Are you \&amp;quot;The One\&amp;quot; of old?&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== colour ===&lt;br /&gt;
&lt;br /&gt;
This type of variable is a series of three hexadecimal numbers representing the amounts of red, green, and blue (in that order) in a color. For example, pure red would be represented as &amp;quot;ff 00 00&amp;quot;. As a shorthand, you can set a color variable with one of several color names, and the RGB values will be set for you. &lt;br /&gt;
&lt;br /&gt;
=== flag ===&lt;br /&gt;
&lt;br /&gt;
This type of variable mirrors a setting in dmflags or dmflags2. Setting its value will set the corresponding value in one of those variables, and getting its value will get the corresponding value from one of the other two variables. This is designed to make using dmflags easier, because you don&#039;t have to memorize any numbers.&lt;br /&gt;
&lt;br /&gt;
==Button Commands==&lt;br /&gt;
&lt;br /&gt;
Button commands are commands that represent buttons and come in pairs. Each &amp;quot;button&amp;quot; has a command prefixed by a + and another corresponding command prefixed by a -. The + version of the command simulates pushing the button, and the - version of the command simulates releasing the button.&lt;br /&gt;
&lt;br /&gt;
When you bind a command that begins with + to a key, releasing the key will automatically execute the same command with the + replaced by a -. Note that this works for aliases as well as the commands listed here. This provides a useful way to bind multiple actions to a single key. Suppose you want the normal Doom behavior of moving forward and using when you double click the right mouse button. If you use the commands &lt;br /&gt;
&lt;br /&gt;
bind mouse2 +forward&amp;lt;br&amp;gt;&lt;br /&gt;
doublebind mouse2 +use&lt;br /&gt;
&lt;br /&gt;
ZDoom will move you forward when you press the right mouse button. When you double click it, you will press use, but you will not move forward. To simulate the standard Doom behavior, you can replace the doublebind command with these three commands instead: &lt;br /&gt;
&lt;br /&gt;
alias +useforward &amp;quot;+use; +forward&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
alias -useforward &amp;quot;-use; -forward&amp;quot;&lt;br /&gt;
&lt;br /&gt;
doublebind mouse2 +useforward&lt;br /&gt;
&lt;br /&gt;
Now when you double click the right mouse button, the +useforward alias will be executed. Because +useforward&#039;s name begins with a + releasing the right mouse button will execute the -useforward alias (whether or not -useforward is defined). &lt;br /&gt;
&lt;br /&gt;
This behavior of executing a - command when a key is released applies only to the first command or alias bound to the key. If you bind a key to &amp;quot;+forward; +right&amp;quot;, releasing the key will execute the command &amp;quot;-forward; +right&amp;quot; and not &amp;quot;-forward; -right&amp;quot;. As shown above, you can use aliases to get the correct behavior. &lt;br /&gt;
&lt;br /&gt;
Another trick you can do with aliases is to create a key that only executes the + command without executing the - command. If you wanted a key that will make you move forward when you press it, and will keep you moving forward even after releasing it, you can use an alias like this:&lt;br /&gt;
&lt;br /&gt;
alias go &amp;quot;+forward&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Then instead of binding +forward to a key, you bind go to the key instead. This works because go does not begin with a + so nothing will happen when you release the keyZDoom only looks at the command actually bound to the key to determine if it should execute a - command when the key is released; it does not look inside aliases. &lt;br /&gt;
&lt;br /&gt;
=== Standard buttons ===&lt;br /&gt;
&lt;br /&gt;
+attack Use your weapon.&amp;lt;br&amp;gt;&lt;br /&gt;
-attack Stop using your weapon.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+use Start trying to use anything in front of you.&amp;lt;br&amp;gt;&lt;br /&gt;
-use Stop trying to use anything in front of you.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+back Move backward.&amp;lt;br&amp;gt;&lt;br /&gt;
-back Stop moving backward.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+forward Move forward.&amp;lt;br&amp;gt;&lt;br /&gt;
-forward Stop moving forward.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+jump Start jumping.&amp;lt;br&amp;gt;&lt;br /&gt;
-jump Stop jumping.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+left Start turning left.&amp;lt;br&amp;gt;&lt;br /&gt;
-left Stop turning left.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+right Start turning right.&amp;lt;br&amp;gt;&lt;br /&gt;
-right Stop turning right.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+moveleft Start strafing left.&amp;lt;br&amp;gt;&lt;br /&gt;
-moveleft Stop strafing left.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+moveright Start strafing right.&amp;lt;br&amp;gt;&lt;br /&gt;
-moveright Stop strafing right.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+lookdown Start lowering your view.&amp;lt;br&amp;gt;&lt;br /&gt;
-lookdown Stop lowering your view.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+lookup Start raising your view.&amp;lt;br&amp;gt;&lt;br /&gt;
-lookup Stop raising your view.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+movedown Start moving down if swimming or flying.&amp;lt;br&amp;gt;&lt;br /&gt;
-movedown Stop moving down.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+moveup Start moving up if swimming or flying.&amp;lt;br&amp;gt;&lt;br /&gt;
-moveup Stop moving up if swimming or flying.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+strafe Causes +left and +right to behave like +moveleft and +moveright;&amp;lt;br&amp;gt;&lt;br /&gt;
-strafe Returns +left and +right to their normal behavior.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+klook Causes +forward and +back to act like +lookup and +lookdown instead.&amp;lt;br&amp;gt;&lt;br /&gt;
-klook Returns +forward and +back to their normal behavior.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+mlook Moving the mouse up and down will make you look up and down.&amp;lt;br&amp;gt;&lt;br /&gt;
-mlook Moving the mouse up and down will make you move forward and backward. However, if freelook is true, then moving the mouse up and down will still change your view instead of moving you.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
+showscores Display a scorelist for deathmatch games.&amp;lt;br&amp;gt;&lt;br /&gt;
-showscores Hide the deathmatch scorelist.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+speed Start running.&amp;lt;br&amp;gt;&lt;br /&gt;
-speed Start walking.&lt;br /&gt;
&lt;br /&gt;
==Customization==&lt;br /&gt;
&lt;br /&gt;
===addkeysection (menu-heading) (ini-section-name)&amp;lt;br&amp;gt;===&lt;br /&gt;
This command does two things. First, it adds a new heading called menu-heading to the controls menu. You can use the addmenukey command to add your own custom keys beneath this heading. Second, it loads all the bindings from the corresponding ini-section-name section in zdoom.ini. You can use this command multiple times to create different sections in the menu and ini for different sets of commands. If you use a menu-heading that was already added to the menu, new controls added with addmenukey will appear at the end of that section, but the bindings will not be reloaded from the ini. &lt;br /&gt;
&lt;br /&gt;
===addmenukey (description) (command)&amp;lt;br&amp;gt;===&lt;br /&gt;
Adds a new control to the controls menu. Description is the name of this control in the menu, and command is a console command or alias to be executed when the control is pressed. New controls are added to the last section specified with addkeysection.&lt;br /&gt;
&lt;br /&gt;
===addslot (slot) (weapon)===&lt;br /&gt;
Adds a single weapon to the list of weapons in a weapon slot.&lt;br /&gt;
&lt;br /&gt;
===alias (new-command) [command-string]===&lt;br /&gt;
If specified with no parameters, will display a list of all current aliases. If only new-command is specified, it will be removed from the list of aliases. If command-string is also specified, it will be added to the list of aliases as new-command. For example, to create a new command to kill the monsters on the level, you can use the command: &lt;br /&gt;
alias massacre &amp;quot;kill monsters&amp;quot;Then you can use the newly created massacre command to kill all the monsters on the level.&lt;br /&gt;
&lt;br /&gt;
===archivecvar (cvar)===&lt;br /&gt;
When you create a custom cvar with the set command, it will not normally be saved in the ini. You can use archivecvar after creating the cvar to indicate that the custom cvar&#039;s value should persist even after you quit.&lt;br /&gt;
&lt;br /&gt;
===atexit [command]===&lt;br /&gt;
If you specify a command, it will be added to a list of console commands to execute when the user quits the game. Commands are executed in the reverse order that they were added in. If you do not specify any arguments to atexit, then it will list the current set of commands that will execute when you quit.&lt;br /&gt;
&lt;br /&gt;
===bind (key [command string])===&lt;br /&gt;
If no parameters are specified, the entire list of bound keys will be printed to the console. If only [key] is specified, the binding for that specific key will be printed. If both [key] and [command string] are specified, [command string] will be bound to [key]. &lt;br /&gt;
&lt;br /&gt;
===binddefaults===&lt;br /&gt;
Binds all keys to their default commands. This will not unbind any keys that do not have any default bindings, so if you want to properly restore the default controls, you need to use unbindall first. &lt;br /&gt;
defaultbind key command&lt;br /&gt;
Binds command to the key if and only if key is not already bound and there are no keys already bound to command.&lt;br /&gt;
&lt;br /&gt;
===doublebind (key [command string])===&lt;br /&gt;
This command works just like bind, except it controls the action that occurs when a key is double-clicked. If a key does not have a doublebinding, then double-clicking it has the same result as pressing it twice. Otherwise, the first press will execute the normal command set with bind, and the second press of the double-click will execute the command set with doublebind. &lt;br /&gt;
&lt;br /&gt;
===eval expression [variable]===&lt;br /&gt;
Evaluates a mathematical expression and either prints it to the console or stores it in variable. Expressions are written using prefix notation instead of the more common infix notation. Basically, you first specify what you want to do (the operator) and then what you want to do it to (the operands). You must separate operators and operands with spaces. &lt;br /&gt;
&lt;br /&gt;
Examples: &lt;br /&gt;
To compute 2+2: &lt;br /&gt;
eval + 2 2To compute 5-3: &lt;br /&gt;
eval - 5 3To compute 2+(5*6): &lt;br /&gt;
eval + 2 * 5 6To decrease the number of screenblocks: &lt;br /&gt;
eval - $screenblocks 1 screenblocksThe supported operators are:&lt;br /&gt;
+ a b Adds a and b. &lt;br /&gt;
- a b Subtracts b from a. &lt;br /&gt;
* a b Multiplies a and b. &lt;br /&gt;
/ a b Divides a by b. &lt;br /&gt;
% a b Calculates the remainder of a/b. &lt;br /&gt;
^ a b Raises a to the b-th power . &lt;br /&gt;
&amp;lt; a b Produces 1 if a is less than b and 0 if not. &lt;br /&gt;
&amp;lt;= a b Produces 1 if a is less than or equal to b and 0 if not. &lt;br /&gt;
&amp;gt; a b Produces 1 if a is greater than b and 0 if not. &lt;br /&gt;
&amp;gt;= a b Produces 1 if a is greater than or equal to b and 0 if not. &lt;br /&gt;
= a b Produces 1 if a is equal to b and 0 if not. &lt;br /&gt;
== a b Produces 1 if a is equal to b and 0 if not. &lt;br /&gt;
!= a b Produces 1 if a is not equal to b and 0 if it is. &lt;br /&gt;
&amp;lt;&amp;gt; a b Produces 1 if a is not equal to b and 0 if is. &lt;br /&gt;
xor a b Calculates the bit-wise exclusive-or of a and b. &lt;br /&gt;
&amp;amp; a b Calculates the bit-wise and of a and b. &lt;br /&gt;
| a b Calculates the bit-wise or of a and b. &lt;br /&gt;
&amp;amp;&amp;amp; a b Calculates the logical and of a and b. &lt;br /&gt;
|| a b Calculates the logical or of a and b. &lt;br /&gt;
&lt;br /&gt;
===exec (script-file)===&lt;br /&gt;
Executes a series of commands stored in the script-file as if they had been typed in at the console directly. &lt;br /&gt;
&lt;br /&gt;
===key value1 [value2]===&lt;br /&gt;
Translates all parameters to the command into their corresponding key values which are used internally for command and alias lookup. Probably not very useful for the average user. &lt;br /&gt;
&lt;br /&gt;
===puke (script [arguments])===&lt;br /&gt;
Executes an ACS script on the current map, optionally passing it up to three numerical arguments. &lt;br /&gt;
&lt;br /&gt;
===pullin (wadfile)===&lt;br /&gt;
Loads a wadfile at startup. This command is only valid inside .cfg files that have been execed at startup.&lt;br /&gt;
&lt;br /&gt;
===set (cvar) (value)===&lt;br /&gt;
Sets cvar to value. If cvar does not exist, it will be created. &lt;br /&gt;
&lt;br /&gt;
===rebind (binding)===&lt;br /&gt;
Changes the binding for the key that caused the rebind command to execute. For obvious reasons, this command cannot be used at the console.&lt;br /&gt;
&lt;br /&gt;
Example: &lt;br /&gt;
&lt;br /&gt;
bind b &amp;quot;echo setting 1; rebind \&amp;quot;echo setting 2\&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
This will cause the first press of b to echo &amp;quot;setting 1&amp;quot; to the console. All future presses of b will echo &amp;quot;setting 2&amp;quot; instead. &lt;br /&gt;
&lt;br /&gt;
===unbind (key)===&lt;br /&gt;
Removes a binding from the specified key.&lt;br /&gt;
&lt;br /&gt;
===unbindall===&lt;br /&gt;
Removes all bindings and doublebindings from every key. To restore the default bindings, you can use the binddefaults command. There is no way to restore any custom bindings after issuing this command except by retyping each bind command or using the controls setup menu.&lt;br /&gt;
&lt;br /&gt;
===undoublebind (key)===&lt;br /&gt;
Removes a doublebinding from the specified key.&lt;br /&gt;
&lt;br /&gt;
===unset (cvar)===&lt;br /&gt;
Undefines a user-created cvar.&lt;br /&gt;
&lt;br /&gt;
==Screenshots==&lt;br /&gt;
&lt;br /&gt;
===png_gamma===&lt;br /&gt;
float: 0&amp;lt;br&amp;gt;&lt;br /&gt;
Controls the gamma level stored in PNG screenshots. If this is 0, then your current gamma setting will be used.&lt;br /&gt;
&lt;br /&gt;
===png_level===&lt;br /&gt;
integer: 5&amp;lt;br&amp;gt;&lt;br /&gt;
This is the level of compression to use for PNG screenshots. 0 is no compression at all, 1 is minimal compression (fastest), 9 is maximum compression (slowest), and intermediate values offer intermediate compression. 5 is offers a decent trade-of between file size and compression time. An uncompressed image will not neccessarily save faster than a compressed image, because the extra time needed to write out a complete uncompressed image may be longer than the time required to compress the image. If you need to create screenshots as quickly as possible, consider setting screenshot_type to &amp;quot;pcx&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
===screenshot [file]===&lt;br /&gt;
Dumps a copy of the screen to disk as a PNG or PCX file. If file is not specified, the screenshot will be saved to the directory the game was run from with a name of the form doom????.png. &lt;br /&gt;
&lt;br /&gt;
===screenshot_quiet===&lt;br /&gt;
boolean: false&amp;lt;br&amp;gt;&lt;br /&gt;
Setting this to true will suppress the messages informing you what file a screenshot was saved to.&lt;br /&gt;
&lt;br /&gt;
===screenshot_type===&lt;br /&gt;
string: &amp;quot;png&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Determines the type of screenshots that will be saved. This can be either &amp;quot;png&amp;quot; or &amp;quot;pcx&amp;quot;. In my empirical studies, PNG screenshots are about half the size of pcx screenshots. PCX screenshots have the advantage that they require less time to create so are most useful for rapid screenshot generation. The following sequence of console commands will take a screenshot every frame. You can use an external program to assemble these into a video, if desired. &lt;br /&gt;
&lt;br /&gt;
screenshot_type &amp;quot;png&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
screenshot_quiet true&amp;lt;br&amp;gt;&lt;br /&gt;
alias autoshot &amp;quot;screenshot; wait 1; autoshot&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
autoshot&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you use the autoshot alias, the command alias autoshot will stop automatic screenshot taking before you hit 10000 screenshots (approximately 4 minutes, 45 seconds).&lt;br /&gt;
&lt;br /&gt;
===storesavepic===&lt;br /&gt;
boolean: true&amp;lt;br&amp;gt;&lt;br /&gt;
Setting this to false will produce smaller savegames (by about 14k typically) by not storing a screenshot inside the savegame.&lt;br /&gt;
&lt;br /&gt;
==Chatting==&lt;br /&gt;
&lt;br /&gt;
===chat_substitution===&lt;br /&gt;
boolean: false&amp;lt;br&amp;gt;&lt;br /&gt;
Set this to true if you want to chat using special keywords that will be replaced with appropriate text when your messages are sent. The supported keywords are:&lt;br /&gt;
 &lt;br /&gt;
$health &amp;lt;br&amp;gt;&lt;br /&gt;
Replaced by your current health. &amp;lt;br&amp;gt;&lt;br /&gt;
$weapon &amp;lt;br&amp;gt;&lt;br /&gt;
Replaced by the name of your current weapon. &amp;lt;br&amp;gt;&lt;br /&gt;
$armor &amp;lt;br&amp;gt;&lt;br /&gt;
Replaced by your current armor count. &amp;lt;br&amp;gt;&lt;br /&gt;
$ammocount &amp;lt;br&amp;gt;&lt;br /&gt;
Replaced by your current ammo count. &amp;lt;br&amp;gt;&lt;br /&gt;
$ammo &amp;lt;br&amp;gt;&lt;br /&gt;
Replaced by the name of your current ammo.&lt;br /&gt;
&lt;br /&gt;
As an example, if you just started a new game of Doom and have chat substitution turned on, when you send the message &amp;quot;My health is $health, and I am using a $weapon&amp;quot;, the message that is actually sent will be &amp;quot;My health is 100, and I am using a Pistol&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
chatmacro0&amp;lt;br&amp;gt;&lt;br /&gt;
chatmacro1&amp;lt;br&amp;gt;&lt;br /&gt;
chatmacro2&amp;lt;br&amp;gt;&lt;br /&gt;
chatmacro3&amp;lt;br&amp;gt;&lt;br /&gt;
chatmacro4&amp;lt;br&amp;gt;&lt;br /&gt;
chatmacro5&amp;lt;br&amp;gt;&lt;br /&gt;
chatmacro6&amp;lt;br&amp;gt;&lt;br /&gt;
chatmacro7&amp;lt;br&amp;gt;&lt;br /&gt;
chatmacro8&amp;lt;br&amp;gt;&lt;br /&gt;
chatmacro9&amp;lt;br&amp;gt;&lt;br /&gt;
string&amp;lt;br&amp;gt;&lt;br /&gt;
These are all strings that can be assigned to hotkeys in chat mode. To use these, enter chat mode and then hold down Alt and press one of the number keys. The string stored in the corresponding chatmacro cvar will be sent as if you had typed it yourself. &lt;br /&gt;
&lt;br /&gt;
===messagemode===&lt;br /&gt;
Enters message entry mode. Anything typed while in this mode will be sent to everyone else as if you had used the say command once you press enter. &lt;br /&gt;
&lt;br /&gt;
===messagemode2===&lt;br /&gt;
This is just like messagemode except that the message is only sent to other members of your team. If teamplay is false or you don&#039;t have a team, then this command will work just like messagemode and send the message to everyone. &lt;br /&gt;
&lt;br /&gt;
===say (message)===&lt;br /&gt;
Sends a message to everyone playing. If your message begins with &amp;quot;/me&amp;quot; then &amp;quot;/me&amp;quot; will be replaced by your name ala IRC. &lt;br /&gt;
&lt;br /&gt;
===say_team (message)===&lt;br /&gt;
This is just like say except it only sends a message to your teammates. If teamplay is inactive, then this command will act exactly like say and send the message to everyone.&lt;br /&gt;
&lt;br /&gt;
==Cheating==&lt;br /&gt;
&lt;br /&gt;
===sv_cheats===&lt;br /&gt;
boolean: false&lt;br /&gt;
When true, cheats will be allowed in Nightmare difficulty and network games. For purposes of fairness, this cvar can only be set from the command line when you run ZDoom. This is to avoid situations where the key player in a multiplayer game (player 1) could go to the console and type something like this:&lt;br /&gt;
&lt;br /&gt;
sv_cheats 1&amp;lt;br&amp;gt;&lt;br /&gt;
god&amp;lt;br&amp;gt;&lt;br /&gt;
sv_cheats 0&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
whereby rendering himself immune to the attacks of others.&lt;br /&gt;
&lt;br /&gt;
===anubis===&lt;br /&gt;
Toggles monster fear on and off. Scared monsters will run away from you and attack less frequently.&lt;br /&gt;
&lt;br /&gt;
===fly===&lt;br /&gt;
Toggles fly mode on and off.&lt;br /&gt;
&lt;br /&gt;
===give (item)===&lt;br /&gt;
Gives an item to the player. Give understands the following special items: &lt;br /&gt;
all - gives you everything &lt;br /&gt;
health - gives you full health &lt;br /&gt;
weapons - gives you every weapon &lt;br /&gt;
ammo - gives you full ammo &lt;br /&gt;
armor - gives you full armor &lt;br /&gt;
keys - gives you every key &lt;br /&gt;
It also understands the names of individual inventory items. Use the command dumpclasses inventory for a complete list of these. &lt;br /&gt;
&lt;br /&gt;
===god===&lt;br /&gt;
Toggles God (Degreelessness) mode on/off. While active, you cannot be hurt by normal attacks (although telefragging will still kill you). Also known as iddqd. &lt;br /&gt;
&lt;br /&gt;
===iddqd===&lt;br /&gt;
The same as god, except it also gives you 100 health.&lt;br /&gt;
&lt;br /&gt;
===kill [monsters]===&lt;br /&gt;
If used as &amp;quot;kill monsters&amp;quot;, will kill all monsters on the level. Otherwise, it will kill you instead. This command is broken in netgames, so don&#039;t use it unless you are playing a single player game. &lt;br /&gt;
&lt;br /&gt;
===logfile [log-file]===&lt;br /&gt;
If log-file is not specified, console logging will be stopped (if active). Otherwise, a file named log-file will be created on disk, and all console output will be recorded in it as well as on the screen. &lt;br /&gt;
&lt;br /&gt;
===mdk===&lt;br /&gt;
This cheat will kill whatever you are looking at.&lt;br /&gt;
&lt;br /&gt;
===morphme===&lt;br /&gt;
Transforms you into a chicken in Heretic and a pig in Hexen and Doom (The latter only happens if you have the releven graphics present).&lt;br /&gt;
&lt;br /&gt;
===noclip===&lt;br /&gt;
Toggles noclipping mode on/off. &lt;br /&gt;
&lt;br /&gt;
===notarget===&lt;br /&gt;
Toggles notarget mode on/off. While active, monsters will not target you unless you hurt them first. &lt;br /&gt;
&lt;br /&gt;
===powerup===&lt;br /&gt;
Powers you up in Heretic as if you had used a Tome of Power.&lt;br /&gt;
&lt;br /&gt;
===turbo===&lt;br /&gt;
float: 100&amp;lt;br&amp;gt;&lt;br /&gt;
This cvar affects how quickly the player moves. A value of 100 will cause the player to move at normal speed, 200 will cause the player to move at 200% of normal speed, 50 will cause the player to move at 50% of normal speed, etc. Valid values range from 10 to 256.&lt;br /&gt;
&lt;br /&gt;
==Display==&lt;br /&gt;
* [[Display]]&lt;br /&gt;
&lt;br /&gt;
==Renderer==&lt;br /&gt;
* [[Renderer]]&lt;br /&gt;
&lt;br /&gt;
==Video==&lt;br /&gt;
* [[Video]]&lt;br /&gt;
&lt;br /&gt;
==Bots==&lt;br /&gt;
* [[Bots]]&lt;br /&gt;
&lt;br /&gt;
==Automap==&lt;br /&gt;
* [[AutoMap]]&lt;br /&gt;
&lt;br /&gt;
==Player Settings==&lt;br /&gt;
* [[Player Settings]]&lt;br /&gt;
&lt;br /&gt;
==Debugging==&lt;br /&gt;
* [[Debugging]]&lt;/div&gt;</summary>
		<author><name>Lexus Alyus</name></author>
	</entry>
	<entry>
		<id>https://zdoom.org/w/index.php?title=Console_commands&amp;diff=424</id>
		<title>Console commands</title>
		<link rel="alternate" type="text/html" href="https://zdoom.org/w/index.php?title=Console_commands&amp;diff=424"/>
		<updated>2004-01-05T11:37:53Z</updated>

		<summary type="html">&lt;p&gt;Lexus Alyus: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Console Commands are used to alter the way ZDoom does something, such as changing the sound volume, changing DMflags, ect...&lt;br /&gt;
&lt;br /&gt;
you access the console by pressing &amp;quot;~&amp;quot; at any time&lt;br /&gt;
&lt;br /&gt;
==Console variable types==&lt;br /&gt;
&lt;br /&gt;
There are six types of cvars: Boolean, Integer, Float, String, Colour and Flag.&lt;br /&gt;
&lt;br /&gt;
=== boolean ===&lt;br /&gt;
&lt;br /&gt;
This type of variable represents a yes/no or on/off value. It can only be set to true or false. As shorthand, setting a boolean variable to 0 will set it to false, and setting it to anything non-zero will set it to true. &lt;br /&gt;
&lt;br /&gt;
=== integer ===&lt;br /&gt;
&lt;br /&gt;
This is an ordinary number without a decimal point. For example, 1 is an integer, but 1.2 is not. &lt;br /&gt;
&lt;br /&gt;
=== float ===&lt;br /&gt;
&lt;br /&gt;
This is an ordinary number that can have a decimal point. &lt;br /&gt;
&lt;br /&gt;
=== string ===&lt;br /&gt;
&lt;br /&gt;
This is a series of text characters enclosed in quotes: For example, &amp;quot;Felix loitered lecherously on the lot&amp;quot; is a string. If you removed the quotes around it, then it would not be a string. &lt;br /&gt;
If you need to use quotes inside a string, preface it with a backslash.&lt;br /&gt;
&lt;br /&gt;
Are you &amp;quot;The One&amp;quot; of old?&lt;br /&gt;
&lt;br /&gt;
would be written like this as a string: &lt;br /&gt;
&lt;br /&gt;
&amp;quot;Are you \&amp;quot;The One\&amp;quot; of old?&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== colour ===&lt;br /&gt;
&lt;br /&gt;
This type of variable is a series of three hexadecimal numbers representing the amounts of red, green, and blue (in that order) in a color. For example, pure red would be represented as &amp;quot;ff 00 00&amp;quot;. As a shorthand, you can set a color variable with one of several color names, and the RGB values will be set for you. &lt;br /&gt;
&lt;br /&gt;
=== flag ===&lt;br /&gt;
&lt;br /&gt;
This type of variable mirrors a setting in dmflags or dmflags2. Setting its value will set the corresponding value in one of those variables, and getting its value will get the corresponding value from one of the other two variables. This is designed to make using dmflags easier, because you don&#039;t have to memorize any numbers.&lt;br /&gt;
&lt;br /&gt;
==Button Commands==&lt;br /&gt;
&lt;br /&gt;
Button commands are commands that represent buttons and come in pairs. Each &amp;quot;button&amp;quot; has a command prefixed by a + and another corresponding command prefixed by a -. The + version of the command simulates pushing the button, and the - version of the command simulates releasing the button.&lt;br /&gt;
&lt;br /&gt;
When you bind a command that begins with + to a key, releasing the key will automatically execute the same command with the + replaced by a -. Note that this works for aliases as well as the commands listed here. This provides a useful way to bind multiple actions to a single key. Suppose you want the normal Doom behavior of moving forward and using when you double click the right mouse button. If you use the commands &lt;br /&gt;
&lt;br /&gt;
bind mouse2 +forward&amp;lt;br&amp;gt;&lt;br /&gt;
doublebind mouse2 +use&lt;br /&gt;
&lt;br /&gt;
ZDoom will move you forward when you press the right mouse button. When you double click it, you will press use, but you will not move forward. To simulate the standard Doom behavior, you can replace the doublebind command with these three commands instead: &lt;br /&gt;
&lt;br /&gt;
alias +useforward &amp;quot;+use; +forward&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
alias -useforward &amp;quot;-use; -forward&amp;quot;&lt;br /&gt;
&lt;br /&gt;
doublebind mouse2 +useforward&lt;br /&gt;
&lt;br /&gt;
Now when you double click the right mouse button, the +useforward alias will be executed. Because +useforward&#039;s name begins with a + releasing the right mouse button will execute the -useforward alias (whether or not -useforward is defined). &lt;br /&gt;
&lt;br /&gt;
This behavior of executing a - command when a key is released applies only to the first command or alias bound to the key. If you bind a key to &amp;quot;+forward; +right&amp;quot;, releasing the key will execute the command &amp;quot;-forward; +right&amp;quot; and not &amp;quot;-forward; -right&amp;quot;. As shown above, you can use aliases to get the correct behavior. &lt;br /&gt;
&lt;br /&gt;
Another trick you can do with aliases is to create a key that only executes the + command without executing the - command. If you wanted a key that will make you move forward when you press it, and will keep you moving forward even after releasing it, you can use an alias like this:&lt;br /&gt;
&lt;br /&gt;
alias go &amp;quot;+forward&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Then instead of binding +forward to a key, you bind go to the key instead. This works because go does not begin with a + so nothing will happen when you release the keyZDoom only looks at the command actually bound to the key to determine if it should execute a - command when the key is released; it does not look inside aliases. &lt;br /&gt;
&lt;br /&gt;
=== Standard buttons ===&lt;br /&gt;
&lt;br /&gt;
+attack Use your weapon.&amp;lt;br&amp;gt;&lt;br /&gt;
-attack Stop using your weapon.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+use Start trying to use anything in front of you.&amp;lt;br&amp;gt;&lt;br /&gt;
-use Stop trying to use anything in front of you.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+back Move backward.&amp;lt;br&amp;gt;&lt;br /&gt;
-back Stop moving backward.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+forward Move forward.&amp;lt;br&amp;gt;&lt;br /&gt;
-forward Stop moving forward.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+jump Start jumping.&amp;lt;br&amp;gt;&lt;br /&gt;
-jump Stop jumping.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+left Start turning left.&amp;lt;br&amp;gt;&lt;br /&gt;
-left Stop turning left.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+right Start turning right.&amp;lt;br&amp;gt;&lt;br /&gt;
-right Stop turning right.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+moveleft Start strafing left.&amp;lt;br&amp;gt;&lt;br /&gt;
-moveleft Stop strafing left.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+moveright Start strafing right.&amp;lt;br&amp;gt;&lt;br /&gt;
-moveright Stop strafing right.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+lookdown Start lowering your view.&amp;lt;br&amp;gt;&lt;br /&gt;
-lookdown Stop lowering your view.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+lookup Start raising your view.&amp;lt;br&amp;gt;&lt;br /&gt;
-lookup Stop raising your view.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+movedown Start moving down if swimming or flying.&amp;lt;br&amp;gt;&lt;br /&gt;
-movedown Stop moving down.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+moveup Start moving up if swimming or flying.&amp;lt;br&amp;gt;&lt;br /&gt;
-moveup Stop moving up if swimming or flying.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+strafe Causes +left and +right to behave like +moveleft and +moveright;&amp;lt;br&amp;gt;&lt;br /&gt;
-strafe Returns +left and +right to their normal behavior.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+klook Causes +forward and +back to act like +lookup and +lookdown instead.&amp;lt;br&amp;gt;&lt;br /&gt;
-klook Returns +forward and +back to their normal behavior.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+mlook Moving the mouse up and down will make you look up and down.&amp;lt;br&amp;gt;&lt;br /&gt;
-mlook Moving the mouse up and down will make you move forward and backward. However, if freelook is true, then moving the mouse up and down will still change your view instead of moving you.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
+showscores Display a scorelist for deathmatch games.&amp;lt;br&amp;gt;&lt;br /&gt;
-showscores Hide the deathmatch scorelist.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+speed Start running.&amp;lt;br&amp;gt;&lt;br /&gt;
-speed Start walking.&lt;br /&gt;
&lt;br /&gt;
==Customization==&lt;br /&gt;
&lt;br /&gt;
===addkeysection (menu-heading) (ini-section-name)&amp;lt;br&amp;gt;===&lt;br /&gt;
This command does two things. First, it adds a new heading called menu-heading to the controls menu. You can use the addmenukey command to add your own custom keys beneath this heading. Second, it loads all the bindings from the corresponding ini-section-name section in zdoom.ini. You can use this command multiple times to create different sections in the menu and ini for different sets of commands. If you use a menu-heading that was already added to the menu, new controls added with addmenukey will appear at the end of that section, but the bindings will not be reloaded from the ini. &lt;br /&gt;
&lt;br /&gt;
===addmenukey (description) (command)&amp;lt;br&amp;gt;===&lt;br /&gt;
Adds a new control to the controls menu. Description is the name of this control in the menu, and command is a console command or alias to be executed when the control is pressed. New controls are added to the last section specified with addkeysection.&lt;br /&gt;
&lt;br /&gt;
===addslot (slot) (weapon)===&lt;br /&gt;
Adds a single weapon to the list of weapons in a weapon slot.&lt;br /&gt;
&lt;br /&gt;
===alias (new-command) [command-string]===&lt;br /&gt;
If specified with no parameters, will display a list of all current aliases. If only new-command is specified, it will be removed from the list of aliases. If command-string is also specified, it will be added to the list of aliases as new-command. For example, to create a new command to kill the monsters on the level, you can use the command: &lt;br /&gt;
alias massacre &amp;quot;kill monsters&amp;quot;Then you can use the newly created massacre command to kill all the monsters on the level.&lt;br /&gt;
&lt;br /&gt;
===archivecvar (cvar)===&lt;br /&gt;
When you create a custom cvar with the set command, it will not normally be saved in the ini. You can use archivecvar after creating the cvar to indicate that the custom cvar&#039;s value should persist even after you quit.&lt;br /&gt;
&lt;br /&gt;
===atexit [command]===&lt;br /&gt;
If you specify a command, it will be added to a list of console commands to execute when the user quits the game. Commands are executed in the reverse order that they were added in. If you do not specify any arguments to atexit, then it will list the current set of commands that will execute when you quit.&lt;br /&gt;
&lt;br /&gt;
===bind (key [command string])===&lt;br /&gt;
If no parameters are specified, the entire list of bound keys will be printed to the console. If only [key] is specified, the binding for that specific key will be printed. If both [key] and [command string] are specified, [command string] will be bound to [key]. &lt;br /&gt;
&lt;br /&gt;
===binddefaults===&lt;br /&gt;
Binds all keys to their default commands. This will not unbind any keys that do not have any default bindings, so if you want to properly restore the default controls, you need to use unbindall first. &lt;br /&gt;
defaultbind key command&lt;br /&gt;
Binds command to the key if and only if key is not already bound and there are no keys already bound to command.&lt;br /&gt;
&lt;br /&gt;
===doublebind (key [command string])===&lt;br /&gt;
This command works just like bind, except it controls the action that occurs when a key is double-clicked. If a key does not have a doublebinding, then double-clicking it has the same result as pressing it twice. Otherwise, the first press will execute the normal command set with bind, and the second press of the double-click will execute the command set with doublebind. &lt;br /&gt;
&lt;br /&gt;
===eval expression [variable]===&lt;br /&gt;
Evaluates a mathematical expression and either prints it to the console or stores it in variable. Expressions are written using prefix notation instead of the more common infix notation. Basically, you first specify what you want to do (the operator) and then what you want to do it to (the operands). You must separate operators and operands with spaces. &lt;br /&gt;
&lt;br /&gt;
Examples: &lt;br /&gt;
To compute 2+2: &lt;br /&gt;
eval + 2 2To compute 5-3: &lt;br /&gt;
eval - 5 3To compute 2+(5*6): &lt;br /&gt;
eval + 2 * 5 6To decrease the number of screenblocks: &lt;br /&gt;
eval - $screenblocks 1 screenblocksThe supported operators are:&lt;br /&gt;
+ a b Adds a and b. &lt;br /&gt;
- a b Subtracts b from a. &lt;br /&gt;
* a b Multiplies a and b. &lt;br /&gt;
/ a b Divides a by b. &lt;br /&gt;
% a b Calculates the remainder of a/b. &lt;br /&gt;
^ a b Raises a to the b-th power . &lt;br /&gt;
&amp;lt; a b Produces 1 if a is less than b and 0 if not. &lt;br /&gt;
&amp;lt;= a b Produces 1 if a is less than or equal to b and 0 if not. &lt;br /&gt;
&amp;gt; a b Produces 1 if a is greater than b and 0 if not. &lt;br /&gt;
&amp;gt;= a b Produces 1 if a is greater than or equal to b and 0 if not. &lt;br /&gt;
= a b Produces 1 if a is equal to b and 0 if not. &lt;br /&gt;
== a b Produces 1 if a is equal to b and 0 if not. &lt;br /&gt;
!= a b Produces 1 if a is not equal to b and 0 if it is. &lt;br /&gt;
&amp;lt;&amp;gt; a b Produces 1 if a is not equal to b and 0 if is. &lt;br /&gt;
xor a b Calculates the bit-wise exclusive-or of a and b. &lt;br /&gt;
&amp;amp; a b Calculates the bit-wise and of a and b. &lt;br /&gt;
| a b Calculates the bit-wise or of a and b. &lt;br /&gt;
&amp;amp;&amp;amp; a b Calculates the logical and of a and b. &lt;br /&gt;
|| a b Calculates the logical or of a and b. &lt;br /&gt;
&lt;br /&gt;
===exec (script-file)===&lt;br /&gt;
Executes a series of commands stored in the script-file as if they had been typed in at the console directly. &lt;br /&gt;
&lt;br /&gt;
===key value1 [value2]===&lt;br /&gt;
Translates all parameters to the command into their corresponding key values which are used internally for command and alias lookup. Probably not very useful for the average user. &lt;br /&gt;
&lt;br /&gt;
===puke (script [arguments])===&lt;br /&gt;
Executes an ACS script on the current map, optionally passing it up to three numerical arguments. &lt;br /&gt;
&lt;br /&gt;
===pullin (wadfile)===&lt;br /&gt;
Loads a wadfile at startup. This command is only valid inside .cfg files that have been execed at startup.&lt;br /&gt;
&lt;br /&gt;
===set (cvar) (value)===&lt;br /&gt;
Sets cvar to value. If cvar does not exist, it will be created. &lt;br /&gt;
&lt;br /&gt;
===rebind (binding)===&lt;br /&gt;
Changes the binding for the key that caused the rebind command to execute. For obvious reasons, this command cannot be used at the console.&lt;br /&gt;
&lt;br /&gt;
Example: &lt;br /&gt;
&lt;br /&gt;
bind b &amp;quot;echo setting 1; rebind \&amp;quot;echo setting 2\&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
This will cause the first press of b to echo &amp;quot;setting 1&amp;quot; to the console. All future presses of b will echo &amp;quot;setting 2&amp;quot; instead. &lt;br /&gt;
&lt;br /&gt;
===unbind (key)===&lt;br /&gt;
Removes a binding from the specified key.&lt;br /&gt;
&lt;br /&gt;
===unbindall===&lt;br /&gt;
Removes all bindings and doublebindings from every key. To restore the default bindings, you can use the binddefaults command. There is no way to restore any custom bindings after issuing this command except by retyping each bind command or using the controls setup menu.&lt;br /&gt;
&lt;br /&gt;
===undoublebind (key)===&lt;br /&gt;
Removes a doublebinding from the specified key.&lt;br /&gt;
&lt;br /&gt;
===unset (cvar)===&lt;br /&gt;
Undefines a user-created cvar.&lt;br /&gt;
&lt;br /&gt;
==Screenshots==&lt;br /&gt;
&lt;br /&gt;
===png_gamma===&lt;br /&gt;
float: 0&amp;lt;br&amp;gt;&lt;br /&gt;
Controls the gamma level stored in PNG screenshots. If this is 0, then your current gamma setting will be used.&lt;br /&gt;
&lt;br /&gt;
===png_level===&lt;br /&gt;
integer: 5&amp;lt;br&amp;gt;&lt;br /&gt;
This is the level of compression to use for PNG screenshots. 0 is no compression at all, 1 is minimal compression (fastest), 9 is maximum compression (slowest), and intermediate values offer intermediate compression. 5 is offers a decent trade-of between file size and compression time. An uncompressed image will not neccessarily save faster than a compressed image, because the extra time needed to write out a complete uncompressed image may be longer than the time required to compress the image. If you need to create screenshots as quickly as possible, consider setting screenshot_type to &amp;quot;pcx&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
===screenshot [file]===&lt;br /&gt;
Dumps a copy of the screen to disk as a PNG or PCX file. If file is not specified, the screenshot will be saved to the directory the game was run from with a name of the form doom????.png. &lt;br /&gt;
&lt;br /&gt;
===screenshot_quiet===&lt;br /&gt;
boolean: false&amp;lt;br&amp;gt;&lt;br /&gt;
Setting this to true will suppress the messages informing you what file a screenshot was saved to.&lt;br /&gt;
&lt;br /&gt;
===screenshot_type===&lt;br /&gt;
string: &amp;quot;png&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Determines the type of screenshots that will be saved. This can be either &amp;quot;png&amp;quot; or &amp;quot;pcx&amp;quot;. In my empirical studies, PNG screenshots are about half the size of pcx screenshots. PCX screenshots have the advantage that they require less time to create so are most useful for rapid screenshot generation. The following sequence of console commands will take a screenshot every frame. You can use an external program to assemble these into a video, if desired. &lt;br /&gt;
&lt;br /&gt;
screenshot_type &amp;quot;png&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
screenshot_quiet true&amp;lt;br&amp;gt;&lt;br /&gt;
alias autoshot &amp;quot;screenshot; wait 1; autoshot&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
autoshot&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you use the autoshot alias, the command alias autoshot will stop automatic screenshot taking before you hit 10000 screenshots (approximately 4 minutes, 45 seconds).&lt;br /&gt;
&lt;br /&gt;
===storesavepic===&lt;br /&gt;
boolean: true&amp;lt;br&amp;gt;&lt;br /&gt;
Setting this to false will produce smaller savegames (by about 14k typically) by not storing a screenshot inside the savegame.&lt;br /&gt;
&lt;br /&gt;
==Chatting==&lt;br /&gt;
&lt;br /&gt;
===chat_substitution===&lt;br /&gt;
boolean: false&amp;lt;br&amp;gt;&lt;br /&gt;
Set this to true if you want to chat using special keywords that will be replaced with appropriate text when your messages are sent. The supported keywords are:&lt;br /&gt;
 &lt;br /&gt;
$health &amp;lt;br&amp;gt;&lt;br /&gt;
Replaced by your current health. &amp;lt;br&amp;gt;&lt;br /&gt;
$weapon &amp;lt;br&amp;gt;&lt;br /&gt;
Replaced by the name of your current weapon. &amp;lt;br&amp;gt;&lt;br /&gt;
$armor &amp;lt;br&amp;gt;&lt;br /&gt;
Replaced by your current armor count. &amp;lt;br&amp;gt;&lt;br /&gt;
$ammocount &amp;lt;br&amp;gt;&lt;br /&gt;
Replaced by your current ammo count. &amp;lt;br&amp;gt;&lt;br /&gt;
$ammo &amp;lt;br&amp;gt;&lt;br /&gt;
Replaced by the name of your current ammo.&lt;br /&gt;
&lt;br /&gt;
As an example, if you just started a new game of Doom and have chat substitution turned on, when you send the message &amp;quot;My health is $health, and I am using a $weapon&amp;quot;, the message that is actually sent will be &amp;quot;My health is 100, and I am using a Pistol&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
chatmacro0&amp;lt;br&amp;gt;&lt;br /&gt;
chatmacro1&amp;lt;br&amp;gt;&lt;br /&gt;
chatmacro2&amp;lt;br&amp;gt;&lt;br /&gt;
chatmacro3&amp;lt;br&amp;gt;&lt;br /&gt;
chatmacro4&amp;lt;br&amp;gt;&lt;br /&gt;
chatmacro5&amp;lt;br&amp;gt;&lt;br /&gt;
chatmacro6&amp;lt;br&amp;gt;&lt;br /&gt;
chatmacro7&amp;lt;br&amp;gt;&lt;br /&gt;
chatmacro8&amp;lt;br&amp;gt;&lt;br /&gt;
chatmacro9&amp;lt;br&amp;gt;&lt;br /&gt;
string&amp;lt;br&amp;gt;&lt;br /&gt;
These are all strings that can be assigned to hotkeys in chat mode. To use these, enter chat mode and then hold down Alt and press one of the number keys. The string stored in the corresponding chatmacro cvar will be sent as if you had typed it yourself. &lt;br /&gt;
&lt;br /&gt;
===messagemode===&lt;br /&gt;
Enters message entry mode. Anything typed while in this mode will be sent to everyone else as if you had used the say command once you press enter. &lt;br /&gt;
&lt;br /&gt;
===messagemode2===&lt;br /&gt;
This is just like messagemode except that the message is only sent to other members of your team. If teamplay is false or you don&#039;t have a team, then this command will work just like messagemode and send the message to everyone. &lt;br /&gt;
&lt;br /&gt;
===say (message)===&lt;br /&gt;
Sends a message to everyone playing. If your message begins with &amp;quot;/me&amp;quot; then &amp;quot;/me&amp;quot; will be replaced by your name ala IRC. &lt;br /&gt;
&lt;br /&gt;
===say_team (message)===&lt;br /&gt;
This is just like say except it only sends a message to your teammates. If teamplay is inactive, then this command will act exactly like say and send the message to everyone.&lt;br /&gt;
&lt;br /&gt;
==Cheating==&lt;br /&gt;
* [[Cheating]]&lt;br /&gt;
&lt;br /&gt;
==Display==&lt;br /&gt;
* [[Display]]&lt;br /&gt;
&lt;br /&gt;
==Renderer==&lt;br /&gt;
* [[Renderer]]&lt;br /&gt;
&lt;br /&gt;
==Video==&lt;br /&gt;
* [[Video]]&lt;br /&gt;
&lt;br /&gt;
==Bots==&lt;br /&gt;
* [[Bots]]&lt;br /&gt;
&lt;br /&gt;
==Automap==&lt;br /&gt;
* [[AutoMap]]&lt;br /&gt;
&lt;br /&gt;
==Player Settings==&lt;br /&gt;
* [[Player Settings]]&lt;br /&gt;
&lt;br /&gt;
==Debugging==&lt;br /&gt;
* [[Debugging]]&lt;/div&gt;</summary>
		<author><name>Lexus Alyus</name></author>
	</entry>
	<entry>
		<id>https://zdoom.org/w/index.php?title=Console_commands&amp;diff=423</id>
		<title>Console commands</title>
		<link rel="alternate" type="text/html" href="https://zdoom.org/w/index.php?title=Console_commands&amp;diff=423"/>
		<updated>2004-01-05T11:36:28Z</updated>

		<summary type="html">&lt;p&gt;Lexus Alyus: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Console Commands are used to alter the way ZDoom does something, such as changing the sound volume, changing DMflags, ect...&lt;br /&gt;
&lt;br /&gt;
you access the console by pressing &amp;quot;~&amp;quot; at any time&lt;br /&gt;
&lt;br /&gt;
==Console variable types==&lt;br /&gt;
&lt;br /&gt;
There are six types of cvars: Boolean, Integer, Float, String, Colour and Flag.&lt;br /&gt;
&lt;br /&gt;
=== boolean ===&lt;br /&gt;
&lt;br /&gt;
This type of variable represents a yes/no or on/off value. It can only be set to true or false. As shorthand, setting a boolean variable to 0 will set it to false, and setting it to anything non-zero will set it to true. &lt;br /&gt;
&lt;br /&gt;
=== integer ===&lt;br /&gt;
&lt;br /&gt;
This is an ordinary number without a decimal point. For example, 1 is an integer, but 1.2 is not. &lt;br /&gt;
&lt;br /&gt;
=== float ===&lt;br /&gt;
&lt;br /&gt;
This is an ordinary number that can have a decimal point. &lt;br /&gt;
&lt;br /&gt;
=== string ===&lt;br /&gt;
&lt;br /&gt;
This is a series of text characters enclosed in quotes: For example, &amp;quot;Felix loitered lecherously on the lot&amp;quot; is a string. If you removed the quotes around it, then it would not be a string. &lt;br /&gt;
If you need to use quotes inside a string, preface it with a backslash.&lt;br /&gt;
&lt;br /&gt;
Are you &amp;quot;The One&amp;quot; of old?&lt;br /&gt;
&lt;br /&gt;
would be written like this as a string: &lt;br /&gt;
&lt;br /&gt;
&amp;quot;Are you \&amp;quot;The One\&amp;quot; of old?&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== colour ===&lt;br /&gt;
&lt;br /&gt;
This type of variable is a series of three hexadecimal numbers representing the amounts of red, green, and blue (in that order) in a color. For example, pure red would be represented as &amp;quot;ff 00 00&amp;quot;. As a shorthand, you can set a color variable with one of several color names, and the RGB values will be set for you. &lt;br /&gt;
&lt;br /&gt;
=== flag ===&lt;br /&gt;
&lt;br /&gt;
This type of variable mirrors a setting in dmflags or dmflags2. Setting its value will set the corresponding value in one of those variables, and getting its value will get the corresponding value from one of the other two variables. This is designed to make using dmflags easier, because you don&#039;t have to memorize any numbers.&lt;br /&gt;
&lt;br /&gt;
==Button Commands==&lt;br /&gt;
&lt;br /&gt;
Button commands are commands that represent buttons and come in pairs. Each &amp;quot;button&amp;quot; has a command prefixed by a + and another corresponding command prefixed by a -. The + version of the command simulates pushing the button, and the - version of the command simulates releasing the button.&lt;br /&gt;
&lt;br /&gt;
When you bind a command that begins with + to a key, releasing the key will automatically execute the same command with the + replaced by a -. Note that this works for aliases as well as the commands listed here. This provides a useful way to bind multiple actions to a single key. Suppose you want the normal Doom behavior of moving forward and using when you double click the right mouse button. If you use the commands &lt;br /&gt;
&lt;br /&gt;
bind mouse2 +forward&amp;lt;br&amp;gt;&lt;br /&gt;
doublebind mouse2 +use&lt;br /&gt;
&lt;br /&gt;
ZDoom will move you forward when you press the right mouse button. When you double click it, you will press use, but you will not move forward. To simulate the standard Doom behavior, you can replace the doublebind command with these three commands instead: &lt;br /&gt;
&lt;br /&gt;
alias +useforward &amp;quot;+use; +forward&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
alias -useforward &amp;quot;-use; -forward&amp;quot;&lt;br /&gt;
&lt;br /&gt;
doublebind mouse2 +useforward&lt;br /&gt;
&lt;br /&gt;
Now when you double click the right mouse button, the +useforward alias will be executed. Because +useforward&#039;s name begins with a + releasing the right mouse button will execute the -useforward alias (whether or not -useforward is defined). &lt;br /&gt;
&lt;br /&gt;
This behavior of executing a - command when a key is released applies only to the first command or alias bound to the key. If you bind a key to &amp;quot;+forward; +right&amp;quot;, releasing the key will execute the command &amp;quot;-forward; +right&amp;quot; and not &amp;quot;-forward; -right&amp;quot;. As shown above, you can use aliases to get the correct behavior. &lt;br /&gt;
&lt;br /&gt;
Another trick you can do with aliases is to create a key that only executes the + command without executing the - command. If you wanted a key that will make you move forward when you press it, and will keep you moving forward even after releasing it, you can use an alias like this:&lt;br /&gt;
&lt;br /&gt;
alias go &amp;quot;+forward&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Then instead of binding +forward to a key, you bind go to the key instead. This works because go does not begin with a + so nothing will happen when you release the keyZDoom only looks at the command actually bound to the key to determine if it should execute a - command when the key is released; it does not look inside aliases. &lt;br /&gt;
&lt;br /&gt;
=== Standard buttons ===&lt;br /&gt;
&lt;br /&gt;
+attack Use your weapon.&amp;lt;br&amp;gt;&lt;br /&gt;
-attack Stop using your weapon.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+use Start trying to use anything in front of you.&amp;lt;br&amp;gt;&lt;br /&gt;
-use Stop trying to use anything in front of you.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+back Move backward.&amp;lt;br&amp;gt;&lt;br /&gt;
-back Stop moving backward.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+forward Move forward.&amp;lt;br&amp;gt;&lt;br /&gt;
-forward Stop moving forward.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+jump Start jumping.&amp;lt;br&amp;gt;&lt;br /&gt;
-jump Stop jumping.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+left Start turning left.&amp;lt;br&amp;gt;&lt;br /&gt;
-left Stop turning left.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+right Start turning right.&amp;lt;br&amp;gt;&lt;br /&gt;
-right Stop turning right.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+moveleft Start strafing left.&amp;lt;br&amp;gt;&lt;br /&gt;
-moveleft Stop strafing left.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+moveright Start strafing right.&amp;lt;br&amp;gt;&lt;br /&gt;
-moveright Stop strafing right.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+lookdown Start lowering your view.&amp;lt;br&amp;gt;&lt;br /&gt;
-lookdown Stop lowering your view.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+lookup Start raising your view.&amp;lt;br&amp;gt;&lt;br /&gt;
-lookup Stop raising your view.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+movedown Start moving down if swimming or flying.&amp;lt;br&amp;gt;&lt;br /&gt;
-movedown Stop moving down.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+moveup Start moving up if swimming or flying.&amp;lt;br&amp;gt;&lt;br /&gt;
-moveup Stop moving up if swimming or flying.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+strafe Causes +left and +right to behave like +moveleft and +moveright;&amp;lt;br&amp;gt;&lt;br /&gt;
-strafe Returns +left and +right to their normal behavior.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+klook Causes +forward and +back to act like +lookup and +lookdown instead.&amp;lt;br&amp;gt;&lt;br /&gt;
-klook Returns +forward and +back to their normal behavior.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+mlook Moving the mouse up and down will make you look up and down.&amp;lt;br&amp;gt;&lt;br /&gt;
-mlook Moving the mouse up and down will make you move forward and backward. However, if freelook is true, then moving the mouse up and down will still change your view instead of moving you.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
+showscores Display a scorelist for deathmatch games.&amp;lt;br&amp;gt;&lt;br /&gt;
-showscores Hide the deathmatch scorelist.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+speed Start running.&amp;lt;br&amp;gt;&lt;br /&gt;
-speed Start walking.&lt;br /&gt;
&lt;br /&gt;
==Customization==&lt;br /&gt;
&lt;br /&gt;
===addkeysection (menu-heading) (ini-section-name)&amp;lt;br&amp;gt;===&lt;br /&gt;
This command does two things. First, it adds a new heading called menu-heading to the controls menu. You can use the addmenukey command to add your own custom keys beneath this heading. Second, it loads all the bindings from the corresponding ini-section-name section in zdoom.ini. You can use this command multiple times to create different sections in the menu and ini for different sets of commands. If you use a menu-heading that was already added to the menu, new controls added with addmenukey will appear at the end of that section, but the bindings will not be reloaded from the ini. &lt;br /&gt;
&lt;br /&gt;
===addmenukey (description) (command)&amp;lt;br&amp;gt;===&lt;br /&gt;
Adds a new control to the controls menu. Description is the name of this control in the menu, and command is a console command or alias to be executed when the control is pressed. New controls are added to the last section specified with addkeysection.&lt;br /&gt;
&lt;br /&gt;
===addslot (slot) (weapon)===&lt;br /&gt;
Adds a single weapon to the list of weapons in a weapon slot.&lt;br /&gt;
&lt;br /&gt;
===alias (new-command) [command-string]===&lt;br /&gt;
If specified with no parameters, will display a list of all current aliases. If only new-command is specified, it will be removed from the list of aliases. If command-string is also specified, it will be added to the list of aliases as new-command. For example, to create a new command to kill the monsters on the level, you can use the command: &lt;br /&gt;
alias massacre &amp;quot;kill monsters&amp;quot;Then you can use the newly created massacre command to kill all the monsters on the level.&lt;br /&gt;
&lt;br /&gt;
===archivecvar (cvar)===&lt;br /&gt;
When you create a custom cvar with the set command, it will not normally be saved in the ini. You can use archivecvar after creating the cvar to indicate that the custom cvar&#039;s value should persist even after you quit.&lt;br /&gt;
&lt;br /&gt;
===atexit [command]===&lt;br /&gt;
If you specify a command, it will be added to a list of console commands to execute when the user quits the game. Commands are executed in the reverse order that they were added in. If you do not specify any arguments to atexit, then it will list the current set of commands that will execute when you quit.&lt;br /&gt;
&lt;br /&gt;
===bind (key [command string])===&lt;br /&gt;
If no parameters are specified, the entire list of bound keys will be printed to the console. If only [key] is specified, the binding for that specific key will be printed. If both [key] and [command string] are specified, [command string] will be bound to [key]. &lt;br /&gt;
&lt;br /&gt;
===binddefaults===&lt;br /&gt;
Binds all keys to their default commands. This will not unbind any keys that do not have any default bindings, so if you want to properly restore the default controls, you need to use unbindall first. &lt;br /&gt;
defaultbind key command&lt;br /&gt;
Binds command to the key if and only if key is not already bound and there are no keys already bound to command.&lt;br /&gt;
&lt;br /&gt;
===doublebind (key [command string])===&lt;br /&gt;
This command works just like bind, except it controls the action that occurs when a key is double-clicked. If a key does not have a doublebinding, then double-clicking it has the same result as pressing it twice. Otherwise, the first press will execute the normal command set with bind, and the second press of the double-click will execute the command set with doublebind. &lt;br /&gt;
&lt;br /&gt;
===eval expression [variable]===&lt;br /&gt;
Evaluates a mathematical expression and either prints it to the console or stores it in variable. Expressions are written using prefix notation instead of the more common infix notation. Basically, you first specify what you want to do (the operator) and then what you want to do it to (the operands). You must separate operators and operands with spaces. &lt;br /&gt;
&lt;br /&gt;
Examples: &lt;br /&gt;
To compute 2+2: &lt;br /&gt;
eval + 2 2To compute 5-3: &lt;br /&gt;
eval - 5 3To compute 2+(5*6): &lt;br /&gt;
eval + 2 * 5 6To decrease the number of screenblocks: &lt;br /&gt;
eval - $screenblocks 1 screenblocksThe supported operators are:&lt;br /&gt;
+ a b Adds a and b. &lt;br /&gt;
- a b Subtracts b from a. &lt;br /&gt;
* a b Multiplies a and b. &lt;br /&gt;
/ a b Divides a by b. &lt;br /&gt;
% a b Calculates the remainder of a/b. &lt;br /&gt;
^ a b Raises a to the b-th power . &lt;br /&gt;
&amp;lt; a b Produces 1 if a is less than b and 0 if not. &lt;br /&gt;
&amp;lt;= a b Produces 1 if a is less than or equal to b and 0 if not. &lt;br /&gt;
&amp;gt; a b Produces 1 if a is greater than b and 0 if not. &lt;br /&gt;
&amp;gt;= a b Produces 1 if a is greater than or equal to b and 0 if not. &lt;br /&gt;
= a b Produces 1 if a is equal to b and 0 if not. &lt;br /&gt;
== a b Produces 1 if a is equal to b and 0 if not. &lt;br /&gt;
!= a b Produces 1 if a is not equal to b and 0 if it is. &lt;br /&gt;
&amp;lt;&amp;gt; a b Produces 1 if a is not equal to b and 0 if is. &lt;br /&gt;
xor a b Calculates the bit-wise exclusive-or of a and b. &lt;br /&gt;
&amp;amp; a b Calculates the bit-wise and of a and b. &lt;br /&gt;
| a b Calculates the bit-wise or of a and b. &lt;br /&gt;
&amp;amp;&amp;amp; a b Calculates the logical and of a and b. &lt;br /&gt;
|| a b Calculates the logical or of a and b. &lt;br /&gt;
&lt;br /&gt;
===exec (script-file)===&lt;br /&gt;
Executes a series of commands stored in the script-file as if they had been typed in at the console directly. &lt;br /&gt;
&lt;br /&gt;
===key value1 [value2]===&lt;br /&gt;
Translates all parameters to the command into their corresponding key values which are used internally for command and alias lookup. Probably not very useful for the average user. &lt;br /&gt;
&lt;br /&gt;
===puke (script [arguments])===&lt;br /&gt;
Executes an ACS script on the current map, optionally passing it up to three numerical arguments. &lt;br /&gt;
&lt;br /&gt;
===pullin (wadfile)===&lt;br /&gt;
Loads a wadfile at startup. This command is only valid inside .cfg files that have been execed at startup.&lt;br /&gt;
&lt;br /&gt;
===set (cvar) (value)===&lt;br /&gt;
Sets cvar to value. If cvar does not exist, it will be created. &lt;br /&gt;
&lt;br /&gt;
===rebind (binding)===&lt;br /&gt;
Changes the binding for the key that caused the rebind command to execute. For obvious reasons, this command cannot be used at the console.&lt;br /&gt;
&lt;br /&gt;
Example: &lt;br /&gt;
&lt;br /&gt;
bind b &amp;quot;echo setting 1; rebind \&amp;quot;echo setting 2\&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
This will cause the first press of b to echo &amp;quot;setting 1&amp;quot; to the console. All future presses of b will echo &amp;quot;setting 2&amp;quot; instead. &lt;br /&gt;
&lt;br /&gt;
===unbind (key)===&lt;br /&gt;
Removes a binding from the specified key.&lt;br /&gt;
&lt;br /&gt;
===unbindall===&lt;br /&gt;
Removes all bindings and doublebindings from every key. To restore the default bindings, you can use the binddefaults command. There is no way to restore any custom bindings after issuing this command except by retyping each bind command or using the controls setup menu.&lt;br /&gt;
&lt;br /&gt;
===undoublebind (key)===&lt;br /&gt;
Removes a doublebinding from the specified key.&lt;br /&gt;
&lt;br /&gt;
===unset (cvar)===&lt;br /&gt;
Undefines a user-created cvar.&lt;br /&gt;
&lt;br /&gt;
==Screenshots==&lt;br /&gt;
&lt;br /&gt;
===png_gamma===&lt;br /&gt;
float: 0&amp;lt;br&amp;gt;&lt;br /&gt;
Controls the gamma level stored in PNG screenshots. If this is 0, then your current gamma setting will be used.&lt;br /&gt;
&lt;br /&gt;
===png_level===&lt;br /&gt;
integer: 5&amp;lt;br&amp;gt;&lt;br /&gt;
This is the level of compression to use for PNG screenshots. 0 is no compression at all, 1 is minimal compression (fastest), 9 is maximum compression (slowest), and intermediate values offer intermediate compression. 5 is offers a decent trade-of between file size and compression time. An uncompressed image will not neccessarily save faster than a compressed image, because the extra time needed to write out a complete uncompressed image may be longer than the time required to compress the image. If you need to create screenshots as quickly as possible, consider setting screenshot_type to &amp;quot;pcx&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
===screenshot [file]===&lt;br /&gt;
Dumps a copy of the screen to disk as a PNG or PCX file. If file is not specified, the screenshot will be saved to the directory the game was run from with a name of the form doom????.png. &lt;br /&gt;
&lt;br /&gt;
===screenshot_quiet===&lt;br /&gt;
boolean: false&amp;lt;br&amp;gt;&lt;br /&gt;
Setting this to true will suppress the messages informing you what file a screenshot was saved to.&lt;br /&gt;
&lt;br /&gt;
===screenshot_type===&lt;br /&gt;
string: &amp;quot;png&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Determines the type of screenshots that will be saved. This can be either &amp;quot;png&amp;quot; or &amp;quot;pcx&amp;quot;. In my empirical studies, PNG screenshots are about half the size of pcx screenshots. PCX screenshots have the advantage that they require less time to create so are most useful for rapid screenshot generation. The following sequence of console commands will take a screenshot every frame. You can use an external program to assemble these into a video, if desired. &lt;br /&gt;
&lt;br /&gt;
screenshot_type &amp;quot;png&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
screenshot_quiet true&amp;lt;br&amp;gt;&lt;br /&gt;
alias autoshot &amp;quot;screenshot; wait 1; autoshot&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
autoshot&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you use the autoshot alias, the command alias autoshot will stop automatic screenshot taking before you hit 10000 screenshots (approximately 4 minutes, 45 seconds).&lt;br /&gt;
&lt;br /&gt;
===storesavepic===&lt;br /&gt;
boolean: true&amp;lt;br&amp;gt;&lt;br /&gt;
Setting this to false will produce smaller savegames (by about 14k typically) by not storing a screenshot inside the savegame.&lt;br /&gt;
&lt;br /&gt;
==Chatting==&lt;br /&gt;
* [[Chatting]]&lt;br /&gt;
&lt;br /&gt;
==Cheating==&lt;br /&gt;
* [[Cheating]]&lt;br /&gt;
&lt;br /&gt;
==Display==&lt;br /&gt;
* [[Display]]&lt;br /&gt;
&lt;br /&gt;
==Renderer==&lt;br /&gt;
* [[Renderer]]&lt;br /&gt;
&lt;br /&gt;
==Video==&lt;br /&gt;
* [[Video]]&lt;br /&gt;
&lt;br /&gt;
==Bots==&lt;br /&gt;
* [[Bots]]&lt;br /&gt;
&lt;br /&gt;
==Automap==&lt;br /&gt;
* [[AutoMap]]&lt;br /&gt;
&lt;br /&gt;
==Player Settings==&lt;br /&gt;
* [[Player Settings]]&lt;br /&gt;
&lt;br /&gt;
==Debugging==&lt;br /&gt;
* [[Debugging]]&lt;/div&gt;</summary>
		<author><name>Lexus Alyus</name></author>
	</entry>
	<entry>
		<id>https://zdoom.org/w/index.php?title=Console_commands&amp;diff=422</id>
		<title>Console commands</title>
		<link rel="alternate" type="text/html" href="https://zdoom.org/w/index.php?title=Console_commands&amp;diff=422"/>
		<updated>2004-01-05T11:34:51Z</updated>

		<summary type="html">&lt;p&gt;Lexus Alyus: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Console Commands are used to alter the way ZDoom does something, such as changing the sound volume, changing DMflags, ect...&lt;br /&gt;
&lt;br /&gt;
you access the console by pressing &amp;quot;~&amp;quot; at any time&lt;br /&gt;
&lt;br /&gt;
==Console variable types==&lt;br /&gt;
&lt;br /&gt;
There are six types of cvars: Boolean, Integer, Float, String, Colour and Flag.&lt;br /&gt;
&lt;br /&gt;
=== boolean ===&lt;br /&gt;
&lt;br /&gt;
This type of variable represents a yes/no or on/off value. It can only be set to true or false. As shorthand, setting a boolean variable to 0 will set it to false, and setting it to anything non-zero will set it to true. &lt;br /&gt;
&lt;br /&gt;
=== integer ===&lt;br /&gt;
&lt;br /&gt;
This is an ordinary number without a decimal point. For example, 1 is an integer, but 1.2 is not. &lt;br /&gt;
&lt;br /&gt;
=== float ===&lt;br /&gt;
&lt;br /&gt;
This is an ordinary number that can have a decimal point. &lt;br /&gt;
&lt;br /&gt;
=== string ===&lt;br /&gt;
&lt;br /&gt;
This is a series of text characters enclosed in quotes: For example, &amp;quot;Felix loitered lecherously on the lot&amp;quot; is a string. If you removed the quotes around it, then it would not be a string. &lt;br /&gt;
If you need to use quotes inside a string, preface it with a backslash.&lt;br /&gt;
&lt;br /&gt;
Are you &amp;quot;The One&amp;quot; of old?&lt;br /&gt;
&lt;br /&gt;
would be written like this as a string: &lt;br /&gt;
&lt;br /&gt;
&amp;quot;Are you \&amp;quot;The One\&amp;quot; of old?&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== colour ===&lt;br /&gt;
&lt;br /&gt;
This type of variable is a series of three hexadecimal numbers representing the amounts of red, green, and blue (in that order) in a color. For example, pure red would be represented as &amp;quot;ff 00 00&amp;quot;. As a shorthand, you can set a color variable with one of several color names, and the RGB values will be set for you. &lt;br /&gt;
&lt;br /&gt;
=== flag ===&lt;br /&gt;
&lt;br /&gt;
This type of variable mirrors a setting in dmflags or dmflags2. Setting its value will set the corresponding value in one of those variables, and getting its value will get the corresponding value from one of the other two variables. This is designed to make using dmflags easier, because you don&#039;t have to memorize any numbers.&lt;br /&gt;
&lt;br /&gt;
==Button Commands==&lt;br /&gt;
&lt;br /&gt;
Button commands are commands that represent buttons and come in pairs. Each &amp;quot;button&amp;quot; has a command prefixed by a + and another corresponding command prefixed by a -. The + version of the command simulates pushing the button, and the - version of the command simulates releasing the button.&lt;br /&gt;
&lt;br /&gt;
When you bind a command that begins with + to a key, releasing the key will automatically execute the same command with the + replaced by a -. Note that this works for aliases as well as the commands listed here. This provides a useful way to bind multiple actions to a single key. Suppose you want the normal Doom behavior of moving forward and using when you double click the right mouse button. If you use the commands &lt;br /&gt;
&lt;br /&gt;
bind mouse2 +forward&amp;lt;br&amp;gt;&lt;br /&gt;
doublebind mouse2 +use&lt;br /&gt;
&lt;br /&gt;
ZDoom will move you forward when you press the right mouse button. When you double click it, you will press use, but you will not move forward. To simulate the standard Doom behavior, you can replace the doublebind command with these three commands instead: &lt;br /&gt;
&lt;br /&gt;
alias +useforward &amp;quot;+use; +forward&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
alias -useforward &amp;quot;-use; -forward&amp;quot;&lt;br /&gt;
&lt;br /&gt;
doublebind mouse2 +useforward&lt;br /&gt;
&lt;br /&gt;
Now when you double click the right mouse button, the +useforward alias will be executed. Because +useforward&#039;s name begins with a + releasing the right mouse button will execute the -useforward alias (whether or not -useforward is defined). &lt;br /&gt;
&lt;br /&gt;
This behavior of executing a - command when a key is released applies only to the first command or alias bound to the key. If you bind a key to &amp;quot;+forward; +right&amp;quot;, releasing the key will execute the command &amp;quot;-forward; +right&amp;quot; and not &amp;quot;-forward; -right&amp;quot;. As shown above, you can use aliases to get the correct behavior. &lt;br /&gt;
&lt;br /&gt;
Another trick you can do with aliases is to create a key that only executes the + command without executing the - command. If you wanted a key that will make you move forward when you press it, and will keep you moving forward even after releasing it, you can use an alias like this:&lt;br /&gt;
&lt;br /&gt;
alias go &amp;quot;+forward&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Then instead of binding +forward to a key, you bind go to the key instead. This works because go does not begin with a + so nothing will happen when you release the keyZDoom only looks at the command actually bound to the key to determine if it should execute a - command when the key is released; it does not look inside aliases. &lt;br /&gt;
&lt;br /&gt;
=== Standard buttons ===&lt;br /&gt;
&lt;br /&gt;
+attack Use your weapon.&amp;lt;br&amp;gt;&lt;br /&gt;
-attack Stop using your weapon.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+use Start trying to use anything in front of you.&amp;lt;br&amp;gt;&lt;br /&gt;
-use Stop trying to use anything in front of you.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+back Move backward.&amp;lt;br&amp;gt;&lt;br /&gt;
-back Stop moving backward.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+forward Move forward.&amp;lt;br&amp;gt;&lt;br /&gt;
-forward Stop moving forward.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+jump Start jumping.&amp;lt;br&amp;gt;&lt;br /&gt;
-jump Stop jumping.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+left Start turning left.&amp;lt;br&amp;gt;&lt;br /&gt;
-left Stop turning left.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+right Start turning right.&amp;lt;br&amp;gt;&lt;br /&gt;
-right Stop turning right.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+moveleft Start strafing left.&amp;lt;br&amp;gt;&lt;br /&gt;
-moveleft Stop strafing left.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+moveright Start strafing right.&amp;lt;br&amp;gt;&lt;br /&gt;
-moveright Stop strafing right.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+lookdown Start lowering your view.&amp;lt;br&amp;gt;&lt;br /&gt;
-lookdown Stop lowering your view.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+lookup Start raising your view.&amp;lt;br&amp;gt;&lt;br /&gt;
-lookup Stop raising your view.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+movedown Start moving down if swimming or flying.&amp;lt;br&amp;gt;&lt;br /&gt;
-movedown Stop moving down.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+moveup Start moving up if swimming or flying.&amp;lt;br&amp;gt;&lt;br /&gt;
-moveup Stop moving up if swimming or flying.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+strafe Causes +left and +right to behave like +moveleft and +moveright;&amp;lt;br&amp;gt;&lt;br /&gt;
-strafe Returns +left and +right to their normal behavior.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+klook Causes +forward and +back to act like +lookup and +lookdown instead.&amp;lt;br&amp;gt;&lt;br /&gt;
-klook Returns +forward and +back to their normal behavior.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+mlook Moving the mouse up and down will make you look up and down.&amp;lt;br&amp;gt;&lt;br /&gt;
-mlook Moving the mouse up and down will make you move forward and backward. However, if freelook is true, then moving the mouse up and down will still change your view instead of moving you.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
+showscores Display a scorelist for deathmatch games.&amp;lt;br&amp;gt;&lt;br /&gt;
-showscores Hide the deathmatch scorelist.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+speed Start running.&amp;lt;br&amp;gt;&lt;br /&gt;
-speed Start walking.&lt;br /&gt;
&lt;br /&gt;
==Customization==&lt;br /&gt;
&lt;br /&gt;
===addkeysection (menu-heading) (ini-section-name)&amp;lt;br&amp;gt;===&lt;br /&gt;
This command does two things. First, it adds a new heading called menu-heading to the controls menu. You can use the addmenukey command to add your own custom keys beneath this heading. Second, it loads all the bindings from the corresponding ini-section-name section in zdoom.ini. You can use this command multiple times to create different sections in the menu and ini for different sets of commands. If you use a menu-heading that was already added to the menu, new controls added with addmenukey will appear at the end of that section, but the bindings will not be reloaded from the ini. &lt;br /&gt;
&lt;br /&gt;
===addmenukey (description) (command)&amp;lt;br&amp;gt;===&lt;br /&gt;
Adds a new control to the controls menu. Description is the name of this control in the menu, and command is a console command or alias to be executed when the control is pressed. New controls are added to the last section specified with addkeysection.&lt;br /&gt;
&lt;br /&gt;
===addslot (slot) (weapon)===&lt;br /&gt;
Adds a single weapon to the list of weapons in a weapon slot.&lt;br /&gt;
&lt;br /&gt;
===alias (new-command) [command-string]===&lt;br /&gt;
If specified with no parameters, will display a list of all current aliases. If only new-command is specified, it will be removed from the list of aliases. If command-string is also specified, it will be added to the list of aliases as new-command. For example, to create a new command to kill the monsters on the level, you can use the command: &lt;br /&gt;
alias massacre &amp;quot;kill monsters&amp;quot;Then you can use the newly created massacre command to kill all the monsters on the level.&lt;br /&gt;
&lt;br /&gt;
===archivecvar (cvar)===&lt;br /&gt;
When you create a custom cvar with the set command, it will not normally be saved in the ini. You can use archivecvar after creating the cvar to indicate that the custom cvar&#039;s value should persist even after you quit.&lt;br /&gt;
&lt;br /&gt;
===atexit [command]===&lt;br /&gt;
If you specify a command, it will be added to a list of console commands to execute when the user quits the game. Commands are executed in the reverse order that they were added in. If you do not specify any arguments to atexit, then it will list the current set of commands that will execute when you quit.&lt;br /&gt;
&lt;br /&gt;
===bind (key [command string])===&lt;br /&gt;
If no parameters are specified, the entire list of bound keys will be printed to the console. If only [key] is specified, the binding for that specific key will be printed. If both [key] and [command string] are specified, [command string] will be bound to [key]. &lt;br /&gt;
&lt;br /&gt;
===binddefaults===&lt;br /&gt;
Binds all keys to their default commands. This will not unbind any keys that do not have any default bindings, so if you want to properly restore the default controls, you need to use unbindall first. &lt;br /&gt;
defaultbind key command&lt;br /&gt;
Binds command to the key if and only if key is not already bound and there are no keys already bound to command.&lt;br /&gt;
&lt;br /&gt;
===doublebind (key [command string])===&lt;br /&gt;
This command works just like bind, except it controls the action that occurs when a key is double-clicked. If a key does not have a doublebinding, then double-clicking it has the same result as pressing it twice. Otherwise, the first press will execute the normal command set with bind, and the second press of the double-click will execute the command set with doublebind. &lt;br /&gt;
&lt;br /&gt;
===eval expression [variable]===&lt;br /&gt;
Evaluates a mathematical expression and either prints it to the console or stores it in variable. Expressions are written using prefix notation instead of the more common infix notation. Basically, you first specify what you want to do (the operator) and then what you want to do it to (the operands). You must separate operators and operands with spaces. &lt;br /&gt;
&lt;br /&gt;
Examples: &lt;br /&gt;
To compute 2+2: &lt;br /&gt;
eval + 2 2To compute 5-3: &lt;br /&gt;
eval - 5 3To compute 2+(5*6): &lt;br /&gt;
eval + 2 * 5 6To decrease the number of screenblocks: &lt;br /&gt;
eval - $screenblocks 1 screenblocksThe supported operators are:&lt;br /&gt;
+ a b Adds a and b. &lt;br /&gt;
- a b Subtracts b from a. &lt;br /&gt;
* a b Multiplies a and b. &lt;br /&gt;
/ a b Divides a by b. &lt;br /&gt;
% a b Calculates the remainder of a/b. &lt;br /&gt;
^ a b Raises a to the b-th power . &lt;br /&gt;
&amp;lt; a b Produces 1 if a is less than b and 0 if not. &lt;br /&gt;
&amp;lt;= a b Produces 1 if a is less than or equal to b and 0 if not. &lt;br /&gt;
&amp;gt; a b Produces 1 if a is greater than b and 0 if not. &lt;br /&gt;
&amp;gt;= a b Produces 1 if a is greater than or equal to b and 0 if not. &lt;br /&gt;
= a b Produces 1 if a is equal to b and 0 if not. &lt;br /&gt;
== a b Produces 1 if a is equal to b and 0 if not. &lt;br /&gt;
!= a b Produces 1 if a is not equal to b and 0 if it is. &lt;br /&gt;
&amp;lt;&amp;gt; a b Produces 1 if a is not equal to b and 0 if is. &lt;br /&gt;
xor a b Calculates the bit-wise exclusive-or of a and b. &lt;br /&gt;
&amp;amp; a b Calculates the bit-wise and of a and b. &lt;br /&gt;
| a b Calculates the bit-wise or of a and b. &lt;br /&gt;
&amp;amp;&amp;amp; a b Calculates the logical and of a and b. &lt;br /&gt;
|| a b Calculates the logical or of a and b. &lt;br /&gt;
&lt;br /&gt;
===exec (script-file)===&lt;br /&gt;
Executes a series of commands stored in the script-file as if they had been typed in at the console directly. &lt;br /&gt;
&lt;br /&gt;
===key value1 [value2]===&lt;br /&gt;
Translates all parameters to the command into their corresponding key values which are used internally for command and alias lookup. Probably not very useful for the average user. &lt;br /&gt;
&lt;br /&gt;
===puke (script [arguments])===&lt;br /&gt;
Executes an ACS script on the current map, optionally passing it up to three numerical arguments. &lt;br /&gt;
&lt;br /&gt;
===pullin (wadfile)===&lt;br /&gt;
Loads a wadfile at startup. This command is only valid inside .cfg files that have been execed at startup.&lt;br /&gt;
&lt;br /&gt;
===set (cvar) (value)===&lt;br /&gt;
Sets cvar to value. If cvar does not exist, it will be created. &lt;br /&gt;
&lt;br /&gt;
===rebind (binding)===&lt;br /&gt;
Changes the binding for the key that caused the rebind command to execute. For obvious reasons, this command cannot be used at the console.&lt;br /&gt;
&lt;br /&gt;
Example: &lt;br /&gt;
&lt;br /&gt;
bind b &amp;quot;echo setting 1; rebind \&amp;quot;echo setting 2\&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
This will cause the first press of b to echo &amp;quot;setting 1&amp;quot; to the console. All future presses of b will echo &amp;quot;setting 2&amp;quot; instead. &lt;br /&gt;
&lt;br /&gt;
===unbind (key)===&lt;br /&gt;
Removes a binding from the specified key.&lt;br /&gt;
&lt;br /&gt;
===unbindall===&lt;br /&gt;
Removes all bindings and doublebindings from every key. To restore the default bindings, you can use the binddefaults command. There is no way to restore any custom bindings after issuing this command except by retyping each bind command or using the controls setup menu.&lt;br /&gt;
&lt;br /&gt;
===undoublebind (key)===&lt;br /&gt;
Removes a doublebinding from the specified key.&lt;br /&gt;
&lt;br /&gt;
===unset (cvar)===&lt;br /&gt;
Undefines a user-created cvar.&lt;br /&gt;
&lt;br /&gt;
==Screenshots==&lt;br /&gt;
* [[Screenshots]]&lt;br /&gt;
&lt;br /&gt;
==Chatting==&lt;br /&gt;
* [[Chatting]]&lt;br /&gt;
&lt;br /&gt;
==Cheating==&lt;br /&gt;
* [[Cheating]]&lt;br /&gt;
&lt;br /&gt;
==Display==&lt;br /&gt;
* [[Display]]&lt;br /&gt;
&lt;br /&gt;
==Renderer==&lt;br /&gt;
* [[Renderer]]&lt;br /&gt;
&lt;br /&gt;
==Video==&lt;br /&gt;
* [[Video]]&lt;br /&gt;
&lt;br /&gt;
==Bots==&lt;br /&gt;
* [[Bots]]&lt;br /&gt;
&lt;br /&gt;
==Automap==&lt;br /&gt;
* [[AutoMap]]&lt;br /&gt;
&lt;br /&gt;
==Player Settings==&lt;br /&gt;
* [[Player Settings]]&lt;br /&gt;
&lt;br /&gt;
==Debugging==&lt;br /&gt;
* [[Debugging]]&lt;/div&gt;</summary>
		<author><name>Lexus Alyus</name></author>
	</entry>
	<entry>
		<id>https://zdoom.org/w/index.php?title=Console_commands&amp;diff=421</id>
		<title>Console commands</title>
		<link rel="alternate" type="text/html" href="https://zdoom.org/w/index.php?title=Console_commands&amp;diff=421"/>
		<updated>2004-01-05T11:28:01Z</updated>

		<summary type="html">&lt;p&gt;Lexus Alyus: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Console Commands are used to alter the way ZDoom does something, such as changing the sound volume, changing DMflags, ect...&lt;br /&gt;
&lt;br /&gt;
you access the console by pressing &amp;quot;~&amp;quot; at any time&lt;br /&gt;
&lt;br /&gt;
==Console variable types==&lt;br /&gt;
&lt;br /&gt;
There are six types of cvars: Boolean, Integer, Float, String, Colour and Flag.&lt;br /&gt;
&lt;br /&gt;
=== boolean ===&lt;br /&gt;
&lt;br /&gt;
This type of variable represents a yes/no or on/off value. It can only be set to true or false. As shorthand, setting a boolean variable to 0 will set it to false, and setting it to anything non-zero will set it to true. &lt;br /&gt;
&lt;br /&gt;
=== integer ===&lt;br /&gt;
&lt;br /&gt;
This is an ordinary number without a decimal point. For example, 1 is an integer, but 1.2 is not. &lt;br /&gt;
&lt;br /&gt;
=== float ===&lt;br /&gt;
&lt;br /&gt;
This is an ordinary number that can have a decimal point. &lt;br /&gt;
&lt;br /&gt;
=== string ===&lt;br /&gt;
&lt;br /&gt;
This is a series of text characters enclosed in quotes: For example, &amp;quot;Felix loitered lecherously on the lot&amp;quot; is a string. If you removed the quotes around it, then it would not be a string. &lt;br /&gt;
If you need to use quotes inside a string, preface it with a backslash.&lt;br /&gt;
&lt;br /&gt;
Are you &amp;quot;The One&amp;quot; of old?&lt;br /&gt;
&lt;br /&gt;
would be written like this as a string: &lt;br /&gt;
&lt;br /&gt;
&amp;quot;Are you \&amp;quot;The One\&amp;quot; of old?&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== colour ===&lt;br /&gt;
&lt;br /&gt;
This type of variable is a series of three hexadecimal numbers representing the amounts of red, green, and blue (in that order) in a color. For example, pure red would be represented as &amp;quot;ff 00 00&amp;quot;. As a shorthand, you can set a color variable with one of several color names, and the RGB values will be set for you. &lt;br /&gt;
&lt;br /&gt;
=== flag ===&lt;br /&gt;
&lt;br /&gt;
This type of variable mirrors a setting in dmflags or dmflags2. Setting its value will set the corresponding value in one of those variables, and getting its value will get the corresponding value from one of the other two variables. This is designed to make using dmflags easier, because you don&#039;t have to memorize any numbers.&lt;br /&gt;
&lt;br /&gt;
==Button Commands==&lt;br /&gt;
&lt;br /&gt;
Button commands are commands that represent buttons and come in pairs. Each &amp;quot;button&amp;quot; has a command prefixed by a + and another corresponding command prefixed by a -. The + version of the command simulates pushing the button, and the - version of the command simulates releasing the button.&lt;br /&gt;
&lt;br /&gt;
When you bind a command that begins with + to a key, releasing the key will automatically execute the same command with the + replaced by a -. Note that this works for aliases as well as the commands listed here. This provides a useful way to bind multiple actions to a single key. Suppose you want the normal Doom behavior of moving forward and using when you double click the right mouse button. If you use the commands &lt;br /&gt;
&lt;br /&gt;
bind mouse2 +forward&amp;lt;br&amp;gt;&lt;br /&gt;
doublebind mouse2 +use&lt;br /&gt;
&lt;br /&gt;
ZDoom will move you forward when you press the right mouse button. When you double click it, you will press use, but you will not move forward. To simulate the standard Doom behavior, you can replace the doublebind command with these three commands instead: &lt;br /&gt;
&lt;br /&gt;
alias +useforward &amp;quot;+use; +forward&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
alias -useforward &amp;quot;-use; -forward&amp;quot;&lt;br /&gt;
&lt;br /&gt;
doublebind mouse2 +useforward&lt;br /&gt;
&lt;br /&gt;
Now when you double click the right mouse button, the +useforward alias will be executed. Because +useforward&#039;s name begins with a + releasing the right mouse button will execute the -useforward alias (whether or not -useforward is defined). &lt;br /&gt;
&lt;br /&gt;
This behavior of executing a - command when a key is released applies only to the first command or alias bound to the key. If you bind a key to &amp;quot;+forward; +right&amp;quot;, releasing the key will execute the command &amp;quot;-forward; +right&amp;quot; and not &amp;quot;-forward; -right&amp;quot;. As shown above, you can use aliases to get the correct behavior. &lt;br /&gt;
&lt;br /&gt;
Another trick you can do with aliases is to create a key that only executes the + command without executing the - command. If you wanted a key that will make you move forward when you press it, and will keep you moving forward even after releasing it, you can use an alias like this:&lt;br /&gt;
&lt;br /&gt;
alias go &amp;quot;+forward&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Then instead of binding +forward to a key, you bind go to the key instead. This works because go does not begin with a + so nothing will happen when you release the keyZDoom only looks at the command actually bound to the key to determine if it should execute a - command when the key is released; it does not look inside aliases. &lt;br /&gt;
&lt;br /&gt;
=== Standard buttons ===&lt;br /&gt;
&lt;br /&gt;
+attack Use your weapon.&amp;lt;br&amp;gt;&lt;br /&gt;
-attack Stop using your weapon.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+use Start trying to use anything in front of you.&amp;lt;br&amp;gt;&lt;br /&gt;
-use Stop trying to use anything in front of you.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+back Move backward.&amp;lt;br&amp;gt;&lt;br /&gt;
-back Stop moving backward.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+forward Move forward.&amp;lt;br&amp;gt;&lt;br /&gt;
-forward Stop moving forward.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+jump Start jumping.&amp;lt;br&amp;gt;&lt;br /&gt;
-jump Stop jumping.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+left Start turning left.&amp;lt;br&amp;gt;&lt;br /&gt;
-left Stop turning left.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+right Start turning right.&amp;lt;br&amp;gt;&lt;br /&gt;
-right Stop turning right.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+moveleft Start strafing left.&amp;lt;br&amp;gt;&lt;br /&gt;
-moveleft Stop strafing left.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+moveright Start strafing right.&amp;lt;br&amp;gt;&lt;br /&gt;
-moveright Stop strafing right.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+lookdown Start lowering your view.&amp;lt;br&amp;gt;&lt;br /&gt;
-lookdown Stop lowering your view.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+lookup Start raising your view.&amp;lt;br&amp;gt;&lt;br /&gt;
-lookup Stop raising your view.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+movedown Start moving down if swimming or flying.&amp;lt;br&amp;gt;&lt;br /&gt;
-movedown Stop moving down.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+moveup Start moving up if swimming or flying.&amp;lt;br&amp;gt;&lt;br /&gt;
-moveup Stop moving up if swimming or flying.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+strafe Causes +left and +right to behave like +moveleft and +moveright;&amp;lt;br&amp;gt;&lt;br /&gt;
-strafe Returns +left and +right to their normal behavior.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+klook Causes +forward and +back to act like +lookup and +lookdown instead.&amp;lt;br&amp;gt;&lt;br /&gt;
-klook Returns +forward and +back to their normal behavior.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+mlook Moving the mouse up and down will make you look up and down.&amp;lt;br&amp;gt;&lt;br /&gt;
-mlook Moving the mouse up and down will make you move forward and backward. However, if freelook is true, then moving the mouse up and down will still change your view instead of moving you.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
+showscores Display a scorelist for deathmatch games.&amp;lt;br&amp;gt;&lt;br /&gt;
-showscores Hide the deathmatch scorelist.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+speed Start running.&amp;lt;br&amp;gt;&lt;br /&gt;
-speed Start walking.&lt;br /&gt;
&lt;br /&gt;
==Customization==&lt;br /&gt;
* [[Customization]]&lt;br /&gt;
&lt;br /&gt;
==Screenshots==&lt;br /&gt;
* [[Screenshots]]&lt;br /&gt;
&lt;br /&gt;
==Chatting==&lt;br /&gt;
* [[Chatting]]&lt;br /&gt;
&lt;br /&gt;
==Cheating==&lt;br /&gt;
* [[Cheating]]&lt;br /&gt;
&lt;br /&gt;
==Display==&lt;br /&gt;
* [[Display]]&lt;br /&gt;
&lt;br /&gt;
==Renderer==&lt;br /&gt;
* [[Renderer]]&lt;br /&gt;
&lt;br /&gt;
==Video==&lt;br /&gt;
* [[Video]]&lt;br /&gt;
&lt;br /&gt;
==Bots==&lt;br /&gt;
* [[Bots]]&lt;br /&gt;
&lt;br /&gt;
==Automap==&lt;br /&gt;
* [[AutoMap]]&lt;br /&gt;
&lt;br /&gt;
==Player Settings==&lt;br /&gt;
* [[Player Settings]]&lt;br /&gt;
&lt;br /&gt;
==Debugging==&lt;br /&gt;
* [[Debugging]]&lt;/div&gt;</summary>
		<author><name>Lexus Alyus</name></author>
	</entry>
	<entry>
		<id>https://zdoom.org/w/index.php?title=Console_commands&amp;diff=420</id>
		<title>Console commands</title>
		<link rel="alternate" type="text/html" href="https://zdoom.org/w/index.php?title=Console_commands&amp;diff=420"/>
		<updated>2004-01-05T11:27:06Z</updated>

		<summary type="html">&lt;p&gt;Lexus Alyus: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Console Commands are used to alter the way ZDoom does something, such as changing the sound volume, changing DMflags, ect...&lt;br /&gt;
&lt;br /&gt;
you access the console by pressing &amp;quot;~&amp;quot; at any time&lt;br /&gt;
&lt;br /&gt;
==Console variable types==&lt;br /&gt;
&lt;br /&gt;
There are six types of cvars: Boolean, Integer, Float, String, Colour and Flag.&lt;br /&gt;
&lt;br /&gt;
=== boolean ===&lt;br /&gt;
&lt;br /&gt;
This type of variable represents a yes/no or on/off value. It can only be set to true or false. As shorthand, setting a boolean variable to 0 will set it to false, and setting it to anything non-zero will set it to true. &lt;br /&gt;
&lt;br /&gt;
=== integer ===&lt;br /&gt;
&lt;br /&gt;
This is an ordinary number without a decimal point. For example, 1 is an integer, but 1.2 is not. &lt;br /&gt;
&lt;br /&gt;
=== float ===&lt;br /&gt;
&lt;br /&gt;
This is an ordinary number that can have a decimal point. &lt;br /&gt;
&lt;br /&gt;
=== string ===&lt;br /&gt;
&lt;br /&gt;
This is a series of text characters enclosed in quotes: For example, &amp;quot;Felix loitered lecherously on the lot&amp;quot; is a string. If you removed the quotes around it, then it would not be a string. &lt;br /&gt;
If you need to use quotes inside a string, preface it with a backslash.&lt;br /&gt;
&lt;br /&gt;
Are you &amp;quot;The One&amp;quot; of old?&lt;br /&gt;
&lt;br /&gt;
would be written like this as a string: &lt;br /&gt;
&lt;br /&gt;
&amp;quot;Are you \&amp;quot;The One\&amp;quot; of old?&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== colour ===&lt;br /&gt;
&lt;br /&gt;
This type of variable is a series of three hexadecimal numbers representing the amounts of red, green, and blue (in that order) in a color. For example, pure red would be represented as &amp;quot;ff 00 00&amp;quot;. As a shorthand, you can set a color variable with one of several color names, and the RGB values will be set for you. &lt;br /&gt;
&lt;br /&gt;
=== flag ===&lt;br /&gt;
&lt;br /&gt;
This type of variable mirrors a setting in dmflags or dmflags2. Setting its value will set the corresponding value in one of those variables, and getting its value will get the corresponding value from one of the other two variables. This is designed to make using dmflags easier, because you don&#039;t have to memorize any numbers.&lt;br /&gt;
&lt;br /&gt;
==Button Commands==&lt;br /&gt;
&lt;br /&gt;
Button commands are commands that represent buttons and come in pairs. Each &amp;quot;button&amp;quot; has a command prefixed by a + and another corresponding command prefixed by a -. The + version of the command simulates pushing the button, and the - version of the command simulates releasing the button.&lt;br /&gt;
 &lt;br /&gt;
When you bind a command that begins with + to a key, releasing the key will automatically execute the same command with the + replaced by a -. Note that this works for aliases as well as the commands listed here. This provides a useful way to bind multiple actions to a single key. Suppose you want the normal Doom behavior of moving forward and using when you double click the right mouse button. If you use the commands &lt;br /&gt;
&lt;br /&gt;
bind mouse2 +forward&amp;lt;br&amp;gt;&lt;br /&gt;
doublebind mouse2 +use&lt;br /&gt;
&lt;br /&gt;
ZDoom will move you forward when you press the right mouse button. When you double click it, you will press use, but you will not move forward. To simulate the standard Doom behavior, you can replace the doublebind command with these three commands instead: &lt;br /&gt;
&lt;br /&gt;
alias +useforward &amp;quot;+use; +forward&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
alias -useforward &amp;quot;-use; -forward&amp;quot;&lt;br /&gt;
&lt;br /&gt;
doublebind mouse2 +useforward&lt;br /&gt;
&lt;br /&gt;
Now when you double click the right mouse button, the +useforward alias will be executed. Because +useforward&#039;s name begins with a + releasing the right mouse button will execute the -useforward alias (whether or not -useforward is defined). &lt;br /&gt;
&lt;br /&gt;
This behavior of executing a - command when a key is released applies only to the first command or alias bound to the key. If you bind a key to &amp;quot;+forward; +right&amp;quot;, releasing the key will execute the command &amp;quot;-forward; +right&amp;quot; and not &amp;quot;-forward; -right&amp;quot;. As shown above, you can use aliases to get the correct behavior. &lt;br /&gt;
&lt;br /&gt;
Another trick you can do with aliases is to create a key that only executes the + command without executing the - command. If you wanted a key that will make you move forward when you press it, and will keep you moving forward even after releasing it, you can use an alias like this:&lt;br /&gt;
&lt;br /&gt;
alias go &amp;quot;+forward&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Then instead of binding +forward to a key, you bind go to the key instead. This works because go does not begin with a + so nothing will happen when you release the keyZDoom only looks at the command actually bound to the key to determine if it should execute a - command when the key is released; it does not look inside aliases. &lt;br /&gt;
&lt;br /&gt;
=== Standard buttons ===&lt;br /&gt;
&lt;br /&gt;
+attack Use your weapon.&amp;lt;br&amp;gt;&lt;br /&gt;
-attack Stop using your weapon.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+use Start trying to use anything in front of you.&amp;lt;br&amp;gt;&lt;br /&gt;
-use Stop trying to use anything in front of you.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+back Move backward.&amp;lt;br&amp;gt;&lt;br /&gt;
-back Stop moving backward.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+forward Move forward.&amp;lt;br&amp;gt;&lt;br /&gt;
-forward Stop moving forward.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+jump Start jumping.&amp;lt;br&amp;gt;&lt;br /&gt;
-jump Stop jumping.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+left Start turning left.&amp;lt;br&amp;gt;&lt;br /&gt;
-left Stop turning left.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+right Start turning right.&amp;lt;br&amp;gt;&lt;br /&gt;
-right Stop turning right.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+moveleft Start strafing left.&amp;lt;br&amp;gt;&lt;br /&gt;
-moveleft Stop strafing left.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+moveright Start strafing right.&amp;lt;br&amp;gt;&lt;br /&gt;
-moveright Stop strafing right.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+lookdown Start lowering your view.&amp;lt;br&amp;gt;&lt;br /&gt;
-lookdown Stop lowering your view.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+lookup Start raising your view.&amp;lt;br&amp;gt;&lt;br /&gt;
-lookup Stop raising your view.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+movedown Start moving down if swimming or flying.&amp;lt;br&amp;gt;&lt;br /&gt;
-movedown Stop moving down.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+moveup Start moving up if swimming or flying.&amp;lt;br&amp;gt;&lt;br /&gt;
-moveup Stop moving up if swimming or flying.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+strafe Causes +left and +right to behave like +moveleft and +moveright;&amp;lt;br&amp;gt;&lt;br /&gt;
-strafe Returns +left and +right to their normal behavior.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+klook Causes +forward and +back to act like +lookup and +lookdown instead.&amp;lt;br&amp;gt;&lt;br /&gt;
-klook Returns +forward and +back to their normal behavior.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+mlook Moving the mouse up and down will make you look up and down.&amp;lt;br&amp;gt;&lt;br /&gt;
-mlook Moving the mouse up and down will make you move forward and backward. However, if freelook is true, then moving the mouse up and down will still change your view instead of moving you.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
+showscores Display a scorelist for deathmatch games.&amp;lt;br&amp;gt;&lt;br /&gt;
-showscores Hide the deathmatch scorelist.  &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;   &lt;br /&gt;
+speed Start running.&amp;lt;br&amp;gt;&lt;br /&gt;
-speed Start walking.&lt;br /&gt;
&lt;br /&gt;
==Customization==&lt;br /&gt;
* [[Customization]]&lt;br /&gt;
&lt;br /&gt;
==Screenshots==&lt;br /&gt;
* [[Screenshots]]&lt;br /&gt;
&lt;br /&gt;
==Chatting==&lt;br /&gt;
* [[Chatting]]&lt;br /&gt;
&lt;br /&gt;
==Cheating==&lt;br /&gt;
* [[Cheating]]&lt;br /&gt;
&lt;br /&gt;
==Display==&lt;br /&gt;
* [[Display]]&lt;br /&gt;
&lt;br /&gt;
==Renderer==&lt;br /&gt;
* [[Renderer]]&lt;br /&gt;
&lt;br /&gt;
==Video==&lt;br /&gt;
* [[Video]]&lt;br /&gt;
&lt;br /&gt;
==Bots==&lt;br /&gt;
* [[Bots]]&lt;br /&gt;
&lt;br /&gt;
==Automap==&lt;br /&gt;
* [[AutoMap]]&lt;br /&gt;
&lt;br /&gt;
==Player Settings==&lt;br /&gt;
* [[Player Settings]]&lt;br /&gt;
&lt;br /&gt;
==Debugging==&lt;br /&gt;
* [[Debugging]]&lt;/div&gt;</summary>
		<author><name>Lexus Alyus</name></author>
	</entry>
	<entry>
		<id>https://zdoom.org/w/index.php?title=Console_commands&amp;diff=419</id>
		<title>Console commands</title>
		<link rel="alternate" type="text/html" href="https://zdoom.org/w/index.php?title=Console_commands&amp;diff=419"/>
		<updated>2004-01-05T11:25:37Z</updated>

		<summary type="html">&lt;p&gt;Lexus Alyus: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Console Commands are used to alter the way ZDoom does something, such as changing the sound volume, changing DMflags, ect...&lt;br /&gt;
&lt;br /&gt;
you access the console by pressing &amp;quot;~&amp;quot; at any time&lt;br /&gt;
&lt;br /&gt;
==Console variable types==&lt;br /&gt;
&lt;br /&gt;
There are six types of cvars: Boolean, Integer, Float, String, Colour and Flag.&lt;br /&gt;
&lt;br /&gt;
=== boolean ===&lt;br /&gt;
&lt;br /&gt;
This type of variable represents a yes/no or on/off value. It can only be set to true or false. As shorthand, setting a boolean variable to 0 will set it to false, and setting it to anything non-zero will set it to true. &lt;br /&gt;
&lt;br /&gt;
=== integer ===&lt;br /&gt;
&lt;br /&gt;
This is an ordinary number without a decimal point. For example, 1 is an integer, but 1.2 is not. &lt;br /&gt;
&lt;br /&gt;
=== float ===&lt;br /&gt;
&lt;br /&gt;
This is an ordinary number that can have a decimal point. &lt;br /&gt;
&lt;br /&gt;
=== string ===&lt;br /&gt;
&lt;br /&gt;
This is a series of text characters enclosed in quotes: For example, &amp;quot;Felix loitered lecherously on the lot&amp;quot; is a string. If you removed the quotes around it, then it would not be a string. &lt;br /&gt;
If you need to use quotes inside a string, preface it with a backslash.&lt;br /&gt;
&lt;br /&gt;
Are you &amp;quot;The One&amp;quot; of old?&lt;br /&gt;
&lt;br /&gt;
would be written like this as a string: &lt;br /&gt;
&lt;br /&gt;
&amp;quot;Are you \&amp;quot;The One\&amp;quot; of old?&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== colour ===&lt;br /&gt;
&lt;br /&gt;
This type of variable is a series of three hexadecimal numbers representing the amounts of red, green, and blue (in that order) in a color. For example, pure red would be represented as &amp;quot;ff 00 00&amp;quot;. As a shorthand, you can set a color variable with one of several color names, and the RGB values will be set for you. &lt;br /&gt;
&lt;br /&gt;
=== flag ===&lt;br /&gt;
&lt;br /&gt;
This type of variable mirrors a setting in dmflags or dmflags2. Setting its value will set the corresponding value in one of those variables, and getting its value will get the corresponding value from one of the other two variables. This is designed to make using dmflags easier, because you don&#039;t have to memorize any numbers.&lt;br /&gt;
&lt;br /&gt;
==Button Commands==&lt;br /&gt;
* [[Button Commands]]&lt;br /&gt;
&lt;br /&gt;
==Customization==&lt;br /&gt;
* [[Customization]]&lt;br /&gt;
&lt;br /&gt;
==Screenshots==&lt;br /&gt;
* [[Screenshots]]&lt;br /&gt;
&lt;br /&gt;
==Chatting==&lt;br /&gt;
* [[Chatting]]&lt;br /&gt;
&lt;br /&gt;
==Cheating==&lt;br /&gt;
* [[Cheating]]&lt;br /&gt;
&lt;br /&gt;
==Display==&lt;br /&gt;
* [[Display]]&lt;br /&gt;
&lt;br /&gt;
==Renderer==&lt;br /&gt;
* [[Renderer]]&lt;br /&gt;
&lt;br /&gt;
==Video==&lt;br /&gt;
* [[Video]]&lt;br /&gt;
&lt;br /&gt;
==Bots==&lt;br /&gt;
* [[Bots]]&lt;br /&gt;
&lt;br /&gt;
==Automap==&lt;br /&gt;
* [[AutoMap]]&lt;br /&gt;
&lt;br /&gt;
==Player Settings==&lt;br /&gt;
* [[Player Settings]]&lt;br /&gt;
&lt;br /&gt;
==Debugging==&lt;br /&gt;
* [[Debugging]]&lt;/div&gt;</summary>
		<author><name>Lexus Alyus</name></author>
	</entry>
	<entry>
		<id>https://zdoom.org/w/index.php?title=Console_commands&amp;diff=418</id>
		<title>Console commands</title>
		<link rel="alternate" type="text/html" href="https://zdoom.org/w/index.php?title=Console_commands&amp;diff=418"/>
		<updated>2004-01-05T11:25:16Z</updated>

		<summary type="html">&lt;p&gt;Lexus Alyus: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Console Commands are used to alter the way ZDoom does something, such as changing the sound volume, changing DMflags, ect...&lt;br /&gt;
&lt;br /&gt;
you access the console by pressing &amp;quot;~&amp;quot; at any time&lt;br /&gt;
&lt;br /&gt;
==Console variable types==&lt;br /&gt;
&lt;br /&gt;
There are six types of cvars: Boolean, Integer, Float, String, Colour and Flag.&lt;br /&gt;
&lt;br /&gt;
=== boolean ===&lt;br /&gt;
&lt;br /&gt;
This type of variable represents a yes/no or on/off value. It can only be set to true or false. As shorthand, setting a boolean variable to 0 will set it to false, and setting it to anything non-zero will set it to true. &lt;br /&gt;
&lt;br /&gt;
=== integer ===&lt;br /&gt;
&lt;br /&gt;
This is an ordinary number without a decimal point. For example, 1 is an integer, but 1.2 is not. &lt;br /&gt;
&lt;br /&gt;
=== float ===&lt;br /&gt;
&lt;br /&gt;
This is an ordinary number that can have a decimal point. &lt;br /&gt;
&lt;br /&gt;
=== string ===&lt;br /&gt;
&lt;br /&gt;
This is a series of text characters enclosed in quotes: For example, &amp;quot;Felix loitered lecherously on the lot&amp;quot; is a string. If you removed the quotes around it, then it would not be a string. &lt;br /&gt;
If you need to use quotes inside a string, preface it with a backslash.&lt;br /&gt;
&lt;br /&gt;
Are you &amp;quot;The One&amp;quot; of old?&lt;br /&gt;
&lt;br /&gt;
would be written like this as a string: &lt;br /&gt;
&lt;br /&gt;
&amp;quot;Are you \&amp;quot;The One\&amp;quot; of old?&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== colour ===&lt;br /&gt;
&lt;br /&gt;
This type of variable is a series of three hexadecimal numbers representing the amounts of red, green, and blue (in that order) in a color. For example, pure red would be represented as &amp;quot;ff 00 00&amp;quot;. As a shorthand, you can set a color variable with one of several color names, and the RGB values will be set for you. &lt;br /&gt;
&lt;br /&gt;
=== flag ==&lt;br /&gt;
&lt;br /&gt;
This type of variable mirrors a setting in dmflags or dmflags2. Setting its value will set the corresponding value in one of those variables, and getting its value will get the corresponding value from one of the other two variables. This is designed to make using dmflags easier, because you don&#039;t have to memorize any numbers.&lt;br /&gt;
&lt;br /&gt;
==Button Commands==&lt;br /&gt;
* [[Button Commands]]&lt;br /&gt;
&lt;br /&gt;
==Customization==&lt;br /&gt;
* [[Customization]]&lt;br /&gt;
&lt;br /&gt;
==Screenshots==&lt;br /&gt;
* [[Screenshots]]&lt;br /&gt;
&lt;br /&gt;
==Chatting==&lt;br /&gt;
* [[Chatting]]&lt;br /&gt;
&lt;br /&gt;
==Cheating==&lt;br /&gt;
* [[Cheating]]&lt;br /&gt;
&lt;br /&gt;
==Display==&lt;br /&gt;
* [[Display]]&lt;br /&gt;
&lt;br /&gt;
==Renderer==&lt;br /&gt;
* [[Renderer]]&lt;br /&gt;
&lt;br /&gt;
==Video==&lt;br /&gt;
* [[Video]]&lt;br /&gt;
&lt;br /&gt;
==Bots==&lt;br /&gt;
* [[Bots]]&lt;br /&gt;
&lt;br /&gt;
==Automap==&lt;br /&gt;
* [[AutoMap]]&lt;br /&gt;
&lt;br /&gt;
==Player Settings==&lt;br /&gt;
* [[Player Settings]]&lt;br /&gt;
&lt;br /&gt;
==Debugging==&lt;br /&gt;
* [[Debugging]]&lt;/div&gt;</summary>
		<author><name>Lexus Alyus</name></author>
	</entry>
	<entry>
		<id>https://zdoom.org/w/index.php?title=Console_commands&amp;diff=417</id>
		<title>Console commands</title>
		<link rel="alternate" type="text/html" href="https://zdoom.org/w/index.php?title=Console_commands&amp;diff=417"/>
		<updated>2004-01-05T11:18:37Z</updated>

		<summary type="html">&lt;p&gt;Lexus Alyus: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Console Commands are used to alter the way ZDoom does something, such as changing the sound volume, changing DMflags, ect...&lt;br /&gt;
&lt;br /&gt;
you access the console by pressing &amp;quot;~&amp;quot; at any time&lt;br /&gt;
&lt;br /&gt;
==Console variable types==&lt;br /&gt;
&lt;br /&gt;
There are five types of cvars:&lt;br /&gt;
&lt;br /&gt;
=== boolean ===&lt;br /&gt;
&lt;br /&gt;
This type of variable represents a yes/no or on/off value. It can only be set to true or false. As shorthand, setting a boolean variable to 0 will set it to false, and setting it to anything non-zero will set it to true. &lt;br /&gt;
&lt;br /&gt;
== integer ==&lt;br /&gt;
&lt;br /&gt;
This is an ordinary number without a decimal point. For example, 1 is an integer, but 1.2 is not. &lt;br /&gt;
&lt;br /&gt;
== float ==&lt;br /&gt;
&lt;br /&gt;
This is an ordinary number that can have a decimal point. &lt;br /&gt;
&lt;br /&gt;
== string ==&lt;br /&gt;
&lt;br /&gt;
This is a series of text characters enclosed in quotes: For example, &amp;quot;Felix loitered lecherously on the lot&amp;quot; is a string. If you removed the quotes around it, then it would not be a string. &lt;br /&gt;
If you need to use quotes inside a string, preface it with a backslash.&lt;br /&gt;
&lt;br /&gt;
Are you &amp;quot;The One&amp;quot; of old?&lt;br /&gt;
&lt;br /&gt;
would be written like this as a string: &lt;br /&gt;
&lt;br /&gt;
&amp;quot;Are you \&amp;quot;The One\&amp;quot; of old?&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== color ==&lt;br /&gt;
&lt;br /&gt;
This type of variable is a series of three hexadecimal numbers representing the amounts of red, green, and blue (in that order) in a color. For example, pure red would be represented as &amp;quot;ff 00 00&amp;quot;. As a shorthand, you can set a color variable with one of several color names, and the RGB values will be set for you. &lt;br /&gt;
&lt;br /&gt;
== flag ==&lt;br /&gt;
&lt;br /&gt;
This type of variable mirrors a setting in dmflags or dmflags2. Setting its value will set the corresponding value in one of those variables, and getting its value will get the corresponding value from one of the other two variables. This is designed to make using dmflags easier, because you don&#039;t have to memorize any numbers.&lt;br /&gt;
&lt;br /&gt;
* [[Button Commands]]&lt;br /&gt;
&lt;br /&gt;
* [[Customization]]&lt;br /&gt;
&lt;br /&gt;
* [[Screenshots]]&lt;br /&gt;
&lt;br /&gt;
* [[Chatting]]&lt;br /&gt;
&lt;br /&gt;
* [[Cheating]]&lt;br /&gt;
&lt;br /&gt;
* [[Display]]&lt;br /&gt;
&lt;br /&gt;
* [[Renderer]]&lt;br /&gt;
&lt;br /&gt;
* [[Video]]&lt;br /&gt;
&lt;br /&gt;
* [[Bots]]&lt;br /&gt;
&lt;br /&gt;
* [[AutoMap]]&lt;br /&gt;
&lt;br /&gt;
* [[Player Settings]]&lt;br /&gt;
&lt;br /&gt;
* [[Debugging]]&lt;br /&gt;
&lt;br /&gt;
This really needs to be cleaned up... so somebody that is more anal than i should fiddle around with it...&lt;/div&gt;</summary>
		<author><name>Lexus Alyus</name></author>
	</entry>
	<entry>
		<id>https://zdoom.org/w/index.php?title=Main_Page&amp;diff=429</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://zdoom.org/w/index.php?title=Main_Page&amp;diff=429"/>
		<updated>2004-01-05T11:14:06Z</updated>

		<summary type="html">&lt;p&gt;Lexus Alyus: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Welcome to the ZDoom Wiki ==&lt;br /&gt;
&lt;br /&gt;
The software currently running the [[ZDoom]] [[Wiki]] is [[MediaWiki]]. Its installation procedure assumes that it will be installed by a user with root access to the server, so I had to make some changes to the installation script to install it on [[zdoom.org]]. For this reason, it is currently considered experimental. I think everything is working, but please test it by writing some pages. If something should work but doesn&#039;t, write about it on the [[ZDoom:Bug reports|Bug reports]] page. &lt;br /&gt;
&lt;br /&gt;
Here&#039;s a tentative list of topics for the Main Page, none of which have much content yet: &lt;br /&gt;
&lt;br /&gt;
* [[ACS]]&lt;br /&gt;
* [[Console Commands]]&lt;br /&gt;
* [[Level Editing]]&lt;br /&gt;
* [[Special Lumps]]&lt;br /&gt;
* [[WADs created for ZDoom]]&lt;br /&gt;
* [[ZDoom documentation project]]&lt;br /&gt;
* [[ZDoom wads in progress]]&lt;br /&gt;
&lt;br /&gt;
Note: This is here for the sheer purpose of helping out fellow Zdoomers and has no benifit to Randy, therefore it is our responsibility to keep it relevent and safe. The whole purpose of this is so that Randy doesn&#039;t have to think about the documentation so he can spend more time perfecting Zdoom. This wiki is for our benifit and it is our responsibility to prevent people from defacing it. We have been given this responsibility, we should respect this and help protect this wiki.&lt;br /&gt;
&lt;br /&gt;
Happy Zdooming.&lt;/div&gt;</summary>
		<author><name>Lexus Alyus</name></author>
	</entry>
	<entry>
		<id>https://zdoom.org/w/index.php?title=Main_Page&amp;diff=300</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://zdoom.org/w/index.php?title=Main_Page&amp;diff=300"/>
		<updated>2004-01-04T15:22:09Z</updated>

		<summary type="html">&lt;p&gt;Lexus Alyus: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Welcome to the ZDoom Wiki ==&lt;br /&gt;
&lt;br /&gt;
The software currently running the [[ZDoom]] [[Wiki]] is [[MediaWiki]]. Its installation procedure assumes that it will be installed by a user with root access to the server, so I had to make some changes to the installation script to install it on [[zdoom.org]]. For this reason, it is currently considered experimental. I think everything is working, but please test it by writing some pages. If something should work but doesn&#039;t, write about it on the [[ZDoom:Bug reports|Bug reports]] page.&lt;br /&gt;
&lt;br /&gt;
Here&#039;s a tentative list of topics for the Main Page, which are starting to get lots of content ;-):&lt;br /&gt;
* [[ACS]]&lt;br /&gt;
* [[Level Editing]]&lt;br /&gt;
* [[Special Lumps]]&lt;br /&gt;
* [[WADs created for ZDoom]]&lt;br /&gt;
* [[ZDoom wads in progress]]&lt;/div&gt;</summary>
		<author><name>Lexus Alyus</name></author>
	</entry>
	<entry>
		<id>https://zdoom.org/w/index.php?title=Talk:Special_lumps&amp;diff=5001</id>
		<title>Talk:Special lumps</title>
		<link rel="alternate" type="text/html" href="https://zdoom.org/w/index.php?title=Talk:Special_lumps&amp;diff=5001"/>
		<updated>2004-01-04T15:15:43Z</updated>

		<summary type="html">&lt;p&gt;Lexus Alyus: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Okay, the mapinfo is up. That should be everything. I would have added the rest (apart from decorate) but I feel like I&#039;ve exhausted myself today (Well, I have added almost all of the line types and specials...).&lt;br /&gt;
&lt;br /&gt;
Hope somebody else can do these... I just got all of my stuff from the refrence...&lt;br /&gt;
&lt;br /&gt;
-Lexus Alyus 4/1/2004&lt;/div&gt;</summary>
		<author><name>Lexus Alyus</name></author>
	</entry>
	<entry>
		<id>https://zdoom.org/w/index.php?title=MAPINFO&amp;diff=140</id>
		<title>MAPINFO</title>
		<link rel="alternate" type="text/html" href="https://zdoom.org/w/index.php?title=MAPINFO&amp;diff=140"/>
		<updated>2004-01-04T15:10:56Z</updated>

		<summary type="html">&lt;p&gt;Lexus Alyus: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;ZDoom supports a special MAPINFO lump that can be used to define special characteristics for the different maps in a wad. This lump contains two types of entries: map definitions and cluster definitions which are indicated by the keywords &amp;quot;map&amp;quot; and &amp;quot;clusterdef&amp;quot; respectively. Everything following one of these keywords up until the next &amp;quot;map&amp;quot; or &amp;quot;clusterdef&amp;quot; is considered to be part of the definition for a specific map or cluster. &lt;br /&gt;
&lt;br /&gt;
==Map definitions==&lt;br /&gt;
&lt;br /&gt;
A map definition begins with the word &amp;quot;map&amp;quot;. You can also specify standard characteristics for later map definitons by using the word &amp;quot;defaultmap&amp;quot; instead (and leaving &amp;lt;maplump&amp;gt; and &amp;lt;nice name&amp;gt; blank): &lt;br /&gt;
&lt;br /&gt;
===map &amp;lt;maplump&amp;gt; &amp;lt;nice name&amp;gt;===&lt;br /&gt;
====defaultmap====&lt;br /&gt;
Substitute the name of the map in the wad for &amp;lt;maplump&amp;gt;, and the map&#039;s nice name (shown in the automap) for &amp;lt;nice name&amp;gt;. If &amp;lt;nice name&amp;gt; contains spaces, it must be enclosed in quotation marks (&amp;quot;). &amp;lt;Maplump&amp;gt; can be *any* lump in the wad, but since most editing utilities will only recognize maps of the form MAP?? or E?M?, you should probably stick to those if you want to be able to edit the levels easily. &lt;br /&gt;
&lt;br /&gt;
After the map (or defaultmap) line, the following properties can be specified: &lt;br /&gt;
&lt;br /&gt;
====levelnum &amp;lt;levelnum&amp;gt;==== &lt;br /&gt;
This is the map&#039;s identification number that is used to identify it to the Teleport_NewMap special. If the map&#039;s name is of the form MAPxx, then it will automatically have a levelnum of xx unless you specify differently. (i.e. MAP23&#039;s levelnum will be 23 unless you set it to something else.) &lt;br /&gt;
&lt;br /&gt;
====next &amp;lt;maplump&amp;gt;==== &lt;br /&gt;
&amp;lt;maplump&amp;gt; is the name of the map to move to when the normal exit (Exit_Normal special) is used. This is also the map to travel to when the timelimit or fraglimit is hit in a deathmatch game. This should be the name of the map in the wad and not the map&#039;s nice name. &lt;br /&gt;
&lt;br /&gt;
====secretnext &amp;lt;maplump&amp;gt;==== &lt;br /&gt;
&amp;lt;maplump&amp;gt; is the name of the map to move to when the secret exit is used. This should be the name of the map in the wad and not the map&#039;s nice name. &lt;br /&gt;
Next and secretnext also accept the special EndGame? names that indicate that ZDoom should end the game instead of continuing to another level. These are: &lt;br /&gt;
 EndGameC = The cast finale for Doom II &lt;br /&gt;
 EndGame1 = Displays the picture used after episode 1 &lt;br /&gt;
 EndGame2 = Displays the picture used after episode 2 &lt;br /&gt;
 EndGame3 = The bunny scroller after episode 3 &lt;br /&gt;
 EndGame4 = Displays the picture used after episode 4 &lt;br /&gt;
Note that using these will not display any text. To do that, use an &amp;quot;exittext&amp;quot; for this level&#039;s cluster. (See clusterdef below.) &lt;br /&gt;
&lt;br /&gt;
====cluster &amp;lt;number&amp;gt;====&lt;br /&gt;
&amp;lt;number&amp;gt; is the cluster that this map belongs to. See cluster definitions below for more details. &lt;br /&gt;
&lt;br /&gt;
====doublesky==== &lt;br /&gt;
Specifies that both sky textures are drawn, with sky1 in front of sky2. Sky2 will show through wherever sky1 is color 0 (*not* cyan). &lt;br /&gt;
&lt;br /&gt;
====sky1 &amp;lt;texture&amp;gt; &amp;lt;scrollspeed&amp;gt;==== &lt;br /&gt;
&amp;lt;texture&amp;gt; is the name of the texture to use for the sky. &amp;lt;scrollspeed&amp;gt; is the rate at which the sky moves left or right (useful for clouds on windy maps). To keep the sky from moving, use a value of 0.0; to move it left, use a positive value; and to move it right, use a negative value. This is the number of steps that the sky moves each tic. &lt;br /&gt;
&lt;br /&gt;
====sky2 &amp;lt;texture&amp;gt; &amp;lt;scrollspeed&amp;gt;====&lt;br /&gt;
Used the same as sky1, except it selects the properties for the background sky layer (if doublesky is used) or an alternate sky image that can be shown in selected sectors. &lt;br /&gt;
&lt;br /&gt;
====fade &amp;lt;color&amp;gt;====&lt;br /&gt;
&amp;lt;color&amp;gt; is the color that things fade to the further away or &amp;quot;darker&amp;quot; they are. Normally, this is black, so that things seem darker as they get further away. To simulate fog (ala Hexen), set this to a gray instead. Other colors are also supported, but may not necessarily look very good. &amp;lt;color&amp;gt; can be either the name of a color (such as red or cyan) or a color descriptor of the form &amp;quot;RR GG BB&amp;quot;. For example, to set the fade to red, both of the following will work: &lt;br /&gt;
 fade red&lt;br /&gt;
 fade &amp;quot;ff 00 00&amp;quot;&lt;br /&gt;
To find a good fade within the game, you can use the testfade console command. &lt;br /&gt;
&lt;br /&gt;
====outsidefog &amp;lt;color&amp;gt;==== &lt;br /&gt;
This is like fade except that the &amp;lt;color&amp;gt; fade is only applied to sectors with a sky ceiling and not all sectors on the map. &lt;br /&gt;
&lt;br /&gt;
====titlepatch &amp;lt;patch&amp;gt;==== &lt;br /&gt;
This is the name of a graphic to display on the intermission screen for this level (such as CWILV00). It should contain the name of the level. If this is omitted, the intermission screen will create a graphic for. &lt;br /&gt;
&lt;br /&gt;
====par &amp;lt;partime&amp;gt;====&lt;br /&gt;
Partime is the number of seconds shown as the level&#039;s par in the intermission screen. &lt;br /&gt;
&lt;br /&gt;
====music &amp;lt;musiclump&amp;gt;==== &lt;br /&gt;
&amp;lt;musiclump&amp;gt; is the name of the song to play while the player is playing the level. &lt;br /&gt;
&lt;br /&gt;
====nointermission==== &lt;br /&gt;
This indicates that when the current level is finished, ZDoom should continue immediately to the next level without showing the intermission screen. &lt;br /&gt;
&lt;br /&gt;
====nosoundclipping==== &lt;br /&gt;
This indicates that sounds should not be clipped on the current level no matter how far away they are. I can&#039;t say that it&#039;s terribly useful, but it is the behavior Doom used on maps E1M8, E2M8, E3M8, and E4M8. &lt;br /&gt;
allowmonstertelefrags &lt;br /&gt;
This indicates that monsters can telefrag each other or the player on the level. Normally, monsters will never telefrag anything. &lt;br /&gt;
&lt;br /&gt;
====map07special==== &lt;br /&gt;
This level wants the special feature of Doom II MAP07. In this case, when every mancubus on the level dies, any sectors tagged 666 will have their floors lower to the next lowest floor, and when every arachnotron on the level is dead, any sectors tagged 667 will have their floors raised by the height of their lower textures. &lt;br /&gt;
&lt;br /&gt;
====baronspecial==== &lt;br /&gt;
After every Baron of Hell on this level has died, a special action will be triggered. &lt;br /&gt;
&lt;br /&gt;
====cyberdemonspecial==== &lt;br /&gt;
After every Cyber Demon on this level has died, a special action will be triggered. &lt;br /&gt;
&lt;br /&gt;
====spidermastermindspecial==== &lt;br /&gt;
After every Spider Mastermind on this level has died, a special action will be triggered. &lt;br /&gt;
&lt;br /&gt;
The above three specials should also be used with one of the following &lt;br /&gt;
three special actions: &lt;br /&gt;
&lt;br /&gt;
====specialaction_exitlevel==== &lt;br /&gt;
Exits the level after all of the specified monsters have died. &lt;br /&gt;
&lt;br /&gt;
====specialaction_opendoor==== &lt;br /&gt;
After all of the specified monsters have died, opens any doors tagged 666 with blazing speed. &lt;br /&gt;
&lt;br /&gt;
====specialaction_lowerfloor====&lt;br /&gt;
After all of the specified monsters have died, lowers the floors of all sectors tagged 666 to the next lowest floor. &lt;br /&gt;
&lt;br /&gt;
====lightning==== &lt;br /&gt;
Creates lightning in the map.&lt;br /&gt;
&lt;br /&gt;
====fadetable &amp;lt;colormap&amp;gt;==== &lt;br /&gt;
Included for Hexen compatibility. Please don&#039;t use it. Right now, it does what it&#039;s supposed to (specify a default colormap to use instead of the regular COLORMAP lump), but in the future it will probably just act like a fadeto line. &lt;br /&gt;
&lt;br /&gt;
====evenlighting==== (I don&#039;t know if this is still valid) &lt;br /&gt;
Specifies that lighting should be applied to walls evenly no matter what their orientation. DOOM would use different light levels for walls that were vertical, horizontal, or diagonal (when viewed from above). While this gives better definition to corners, it looks dumb if you have a rotating polyobject because the polyobject&#039;s lighting will vary as it rotates. You can disable that behavior by specifying this. &lt;br /&gt;
&lt;br /&gt;
====forcenoskystretch==== &lt;br /&gt;
If you have a sky graphic that looks fine whether it tiles or not, you can use this, and the sky will never be stretched on this level, regardless of the value of r_stretchsky. &lt;br /&gt;
&lt;br /&gt;
====noautosequences==== &lt;br /&gt;
By default, the sound sequence played in a sector when it moves is determined by the special used to activate it. If you specify this, whatever sound sequence has ID 0 will be used by default instead. In either case, placing a sound sequence thing (1400-1409) in a sector will cause the sound assigned to that thing to be played. &lt;br /&gt;
&lt;br /&gt;
==Cluster definitions==&lt;br /&gt;
&lt;br /&gt;
A cluster definition begins with the word &amp;quot;clusterdef&amp;quot;. For purposes of ZDoom, clusters are used to displays messages when moving between maps and to optionally group different levels into a hub. &lt;br /&gt;
&lt;br /&gt;
===clusterdef &amp;lt;cluster&amp;gt;===&lt;br /&gt;
&amp;lt;Cluster&amp;gt; is the cluster that this clusterdef defines. A cluster of 0 is used internally to mean &amp;quot;no cluster&amp;quot; and should be avoided. &lt;br /&gt;
&lt;br /&gt;
After clusterdef, the following properties are valid: &lt;br /&gt;
&lt;br /&gt;
====entertext &amp;lt;message&amp;gt;==== &lt;br /&gt;
&amp;lt;message&amp;gt; is a message to be displayed when the player has just finished a level in another cluster and is entering a level in this cluster. &lt;br /&gt;
&lt;br /&gt;
====exittext &amp;lt;message&amp;gt;====&lt;br /&gt;
&amp;lt;message&amp;gt; is a message to be displayed when the player has just finished a level in a different cluster from the next one. If the next level&#039;s cluster has an entertext defined, then it will be shown instead of this cluster&#039;s exittext. &lt;br /&gt;
&lt;br /&gt;
====music &amp;lt;musiclump&amp;gt;==== &lt;br /&gt;
This is the music to play while either the entertext or exittext of this cluster is displayed. For Doom I, this is normally D_VICTOR, and for Doom II, this is normally D_READ_M. &lt;br /&gt;
&lt;br /&gt;
====flat &amp;lt;flatlump&amp;gt;==== &lt;br /&gt;
This is the name of the flat to use as a background while this cluster&#039;s entertext or exittext is displayed. &lt;br /&gt;
&lt;br /&gt;
====hub====&lt;br /&gt;
Indicates that this cluster is a hub. When leaving a hub, the game will remember the contents of the level when the player left it and restore the level to that state when the player returns to it. Moving to a different cluster will cause the game to forget the state of the levels in this hub in order to save memory. Each level a player visits in a hub uses memory (about 20k for a typical level), so it&#039;s probably a good idea not to have too many levels in a single hub. Just how many is &amp;quot;too many&amp;quot; is arbitrary. Unless you use very large levels, you could probably use 50 levels in a hub, and only about 1 meg would be required to keep track of the state of each level. &lt;br /&gt;
&lt;br /&gt;
==New features for Zdoom&#039;s mapinfo since v1.22 are:==&lt;br /&gt;
(Note: the &#039;-&#039; means that i don&#039;t know what it does, but i&#039;#m sure some nice person can fill in the gaps ;-) ).&lt;br /&gt;
&lt;br /&gt;
====fallingdamage==== &lt;br /&gt;
Enables falling damage on the level. This is set permanently meaning that you can&#039;t disable it.&lt;br /&gt;
&lt;br /&gt;
====nofallingdamage====&lt;br /&gt;
Disables falling damage. This also can not be re-enabled if set in the mapinfo lump.&lt;br /&gt;
&lt;br /&gt;
====cdtrack====&lt;br /&gt;
You can now set tracks from a Cd as music for Zdoom. -&lt;br /&gt;
&lt;br /&gt;
====cdid====&lt;br /&gt;
-&lt;br /&gt;
&lt;br /&gt;
====vertwallshade====&lt;br /&gt;
This controls the Vertical wall shading. -&lt;br /&gt;
&lt;br /&gt;
====horizwallshade====&lt;br /&gt;
This controls the horizontal wall shading. -&lt;br /&gt;
&lt;br /&gt;
====gravity====&lt;br /&gt;
Gravity is now accessible through the mapinfo lump. Set this for the amount of gravity.&lt;br /&gt;
&lt;br /&gt;
====aircontrol====&lt;br /&gt;
-&lt;br /&gt;
&lt;br /&gt;
====filterstarts====&lt;br /&gt;
This filters out player starts based on skill and gametype settings.&lt;br /&gt;
&lt;br /&gt;
====NoInventoryBar====&lt;br /&gt;
This prevents the inventory bar from ever being drawn in a doom map.&lt;/div&gt;</summary>
		<author><name>Lexus Alyus</name></author>
	</entry>
	<entry>
		<id>https://zdoom.org/w/index.php?title=Generic_Stairs&amp;diff=108</id>
		<title>Generic Stairs</title>
		<link rel="alternate" type="text/html" href="https://zdoom.org/w/index.php?title=Generic_Stairs&amp;diff=108"/>
		<updated>2004-01-04T14:34:35Z</updated>

		<summary type="html">&lt;p&gt;Lexus Alyus: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;204:Generic_Stairs (tag, speed, height, flags, reset)&lt;br /&gt;
&lt;br /&gt;
 tag: Tag of first sector in staircase &lt;br /&gt;
 speed: How quickly the steps move &lt;br /&gt;
 height: Height of each step &lt;br /&gt;
 flags: controls direction and ignorance of floor textures &lt;br /&gt;
 reset: Tics until the stairs return to their original heights (0 if never) &lt;br /&gt;
&lt;br /&gt;
This special encapsulates BOOM&#039;s generalized stairs. The sectors of the staircase are determined as they are in BOOM. If bit 0 of flags is set (0x01), the stairs are built up, otherwise they build down. If bit 1 is set (0x02), then the determination of stair sectors ignores differences floor textures. If a line activates this special, and the line is marked as repeatable, then the direction the stairs build will alternate between up and down each time the special is activated.&lt;/div&gt;</summary>
		<author><name>Lexus Alyus</name></author>
	</entry>
	<entry>
		<id>https://zdoom.org/w/index.php?title=Generic_Lift&amp;diff=716</id>
		<title>Generic Lift</title>
		<link rel="alternate" type="text/html" href="https://zdoom.org/w/index.php?title=Generic_Lift&amp;diff=716"/>
		<updated>2004-01-04T14:34:08Z</updated>

		<summary type="html">&lt;p&gt;Lexus Alyus: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;203:Generic_Lift (tag, speed, delay, type, height)&lt;br /&gt;
&lt;br /&gt;
 tag: Tag of affected sector &lt;br /&gt;
 speed: Speed of move &lt;br /&gt;
 delay: Tics before reversing direction &lt;br /&gt;
 type: Specifies what type of plat this is &lt;br /&gt;
 height: Distance to move if target is 0. &lt;br /&gt;
&lt;br /&gt;
This special encapsulates BOOM&#039;s generalized lifts. Type can be one of the following values: &lt;br /&gt;
&lt;br /&gt;
Value Target &lt;br /&gt;
 0 Plat_UpByValue &lt;br /&gt;
 1 Plat_DownWaitUpStay &lt;br /&gt;
 2 Plat_DownToNearestFloor &lt;br /&gt;
 3 Plat_DownToLowestCeiling &lt;br /&gt;
 4 Plat_PerpetualRaise&lt;/div&gt;</summary>
		<author><name>Lexus Alyus</name></author>
	</entry>
	<entry>
		<id>https://zdoom.org/w/index.php?title=Generic_Door&amp;diff=272</id>
		<title>Generic Door</title>
		<link rel="alternate" type="text/html" href="https://zdoom.org/w/index.php?title=Generic_Door&amp;diff=272"/>
		<updated>2004-01-04T14:33:31Z</updated>

		<summary type="html">&lt;p&gt;Lexus Alyus: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;202:Generic_Door (tag, speed, kind, delay, lock)&lt;br /&gt;
&lt;br /&gt;
 tag: Tag of affected sector &lt;br /&gt;
 speed: How quickly the door moves &lt;br /&gt;
 kind: What type of door this is &lt;br /&gt;
 delay: Octics until door is automatically closed/opened &lt;br /&gt;
 lock: Required key, if any (see key types) &lt;br /&gt;
&lt;br /&gt;
This special encapsulates BOOM&#039;s generalized doors. Kind can be one of four values: &lt;br /&gt;
&lt;br /&gt;
Kind Meaning &lt;br /&gt;
 0 Raise door and close it after delay octics &lt;br /&gt;
 1 Open door and leave it open &lt;br /&gt;
 2 Close door and open it after delay octics &lt;br /&gt;
 3 Close door and leave it closed &lt;br /&gt;
&lt;br /&gt;
If tag is 0, then the sector on the line&#039;s back side is used.&lt;/div&gt;</summary>
		<author><name>Lexus Alyus</name></author>
	</entry>
	<entry>
		<id>https://zdoom.org/w/index.php?title=Generic_Crusher&amp;diff=270</id>
		<title>Generic Crusher</title>
		<link rel="alternate" type="text/html" href="https://zdoom.org/w/index.php?title=Generic_Crusher&amp;diff=270"/>
		<updated>2004-01-04T14:32:58Z</updated>

		<summary type="html">&lt;p&gt;Lexus Alyus: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;205:Generic_Crusher (tag, dspeed, uspeed, silent, crush)&lt;br /&gt;
&lt;br /&gt;
 tag: Tag of affected sector &lt;br /&gt;
 dspeed: How quickly the ceiling lowers &lt;br /&gt;
 uspeed: How quickly the ceiling raises &lt;br /&gt;
 silent: Set this to 1 to prevent the crusher from making noise &lt;br /&gt;
 crush: Amount of damage to apply &lt;br /&gt;
&lt;br /&gt;
This special encapsulates BOOM&#039;s generalized crushers. It is the same as Ceiling_CrushAndRaiseA except that it takes an argument to control the &amp;quot;noisiness&amp;quot; of the crusher.&lt;/div&gt;</summary>
		<author><name>Lexus Alyus</name></author>
	</entry>
	<entry>
		<id>https://zdoom.org/w/index.php?title=Generic_Ceiling&amp;diff=273</id>
		<title>Generic Ceiling</title>
		<link rel="alternate" type="text/html" href="https://zdoom.org/w/index.php?title=Generic_Ceiling&amp;diff=273"/>
		<updated>2004-01-04T14:32:32Z</updated>

		<summary type="html">&lt;p&gt;Lexus Alyus: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;201:Generic_Ceiling (tag, speed, height, target, flag)&lt;br /&gt;
&lt;br /&gt;
 tag: Tag of affected sector &lt;br /&gt;
 speed: How quickly the ceiling moves &lt;br /&gt;
 height: Height of the move (for types that use it) &lt;br /&gt;
 target: How to determine the ceiling&#039;s destination height &lt;br /&gt;
 flags: Flags for the move &lt;br /&gt;
&lt;br /&gt;
This special encapsulates BOOM&#039;s generalized ceilings. Flags are: &lt;br /&gt;
&lt;br /&gt;
Value Meaning &lt;br /&gt;
 0 (0x00) No change &lt;br /&gt;
 1 (0x01) Zero sector&#039;s special &lt;br /&gt;
 2 (0x02) Change sector&#039;s ceiling picture &lt;br /&gt;
 3 (0x03) Change sector&#039;s special &lt;br /&gt;
 4 (0x04) Use numeric model if set, trigger model if not &lt;br /&gt;
 8 (0x08) Raise ceiling if set, lower it if not &lt;br /&gt;
 16 (0x10) Cause crushing damage if set &lt;br /&gt;
&lt;br /&gt;
Target can be one of the following: &lt;br /&gt;
&lt;br /&gt;
Value Target &lt;br /&gt;
 0 Height units above/below current height &lt;br /&gt;
 1 Highest surrounding ceiling &lt;br /&gt;
 2 Lowest surrounding ceiling &lt;br /&gt;
 3 Nearest surrounding ceiling &lt;br /&gt;
 4 Highest surrounding floor &lt;br /&gt;
 5 This sector&#039;s floor &lt;br /&gt;
 6 Height units determined by shortest upper texture on sector &lt;br /&gt;
&lt;br /&gt;
If tag is 0, then the sector on the line&#039;s back side is used.&lt;/div&gt;</summary>
		<author><name>Lexus Alyus</name></author>
	</entry>
	<entry>
		<id>https://zdoom.org/w/index.php?title=Generic_Floor&amp;diff=274</id>
		<title>Generic Floor</title>
		<link rel="alternate" type="text/html" href="https://zdoom.org/w/index.php?title=Generic_Floor&amp;diff=274"/>
		<updated>2004-01-04T14:31:36Z</updated>

		<summary type="html">&lt;p&gt;Lexus Alyus: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;200:Generic_Floor (tag, speed, height, target, flags)&lt;br /&gt;
&lt;br /&gt;
 tag: Tag of affected sector &lt;br /&gt;
 speed: How quickly the floor moves &lt;br /&gt;
 height: Height of the move (for types that use it) &lt;br /&gt;
 target: How to determine the floor&#039;s destination height &lt;br /&gt;
 flags: Flags for the move &lt;br /&gt;
&lt;br /&gt;
This special encapsulates BOOM&#039;s generalized floors. Flags are: &lt;br /&gt;
&lt;br /&gt;
Value Meaning &lt;br /&gt;
 0 (0x00) No change &lt;br /&gt;
 1 (0x01) Zero sector&#039;s special &lt;br /&gt;
 2 (0x02) Change sector&#039;s floor picture &lt;br /&gt;
 3 (0x03) Change sector&#039;s special &lt;br /&gt;
 4 (0x04) Use numeric model if set, trigger model if not &lt;br /&gt;
 8 (0x08) Raise floor if set, lower it if not &lt;br /&gt;
 16 (0x10) Cause crushing damage if set &lt;br /&gt;
&lt;br /&gt;
Target can be one of the following: &lt;br /&gt;
&lt;br /&gt;
Value Target &lt;br /&gt;
 0 Height units above/below current height &lt;br /&gt;
 1 Highest surrounding floor &lt;br /&gt;
 2 Lowest surrounding floor &lt;br /&gt;
 3 Nearest surrounding floor &lt;br /&gt;
 4 Lowest surrounding ceiling &lt;br /&gt;
 5 This sector&#039;s ceiling &lt;br /&gt;
 6 Height units determined by shortest lower texture on sector &lt;br /&gt;
&lt;br /&gt;
If tag is 0, then the sector on the line&#039;s back side is used.&lt;/div&gt;</summary>
		<author><name>Lexus Alyus</name></author>
	</entry>
	<entry>
		<id>https://zdoom.org/w/index.php?title=SetPlayerProperty&amp;diff=288</id>
		<title>SetPlayerProperty</title>
		<link rel="alternate" type="text/html" href="https://zdoom.org/w/index.php?title=SetPlayerProperty&amp;diff=288"/>
		<updated>2004-01-04T14:27:54Z</updated>

		<summary type="html">&lt;p&gt;Lexus Alyus: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;191:SetPlayerProperty (who, set, which)&lt;br /&gt;
&lt;br /&gt;
 who: Set to 1 to effect all players, 0 for just the one who activated the special &lt;br /&gt;
 set: Set to 1 to turn on the property or 0 to turn it off &lt;br /&gt;
 which: Which property to change &lt;br /&gt;
&lt;br /&gt;
Sets a property for a player. There are more, but I don&#039;t know them...&lt;br /&gt;
&lt;br /&gt;
 0 PROP_FROZEN The player cannot move &lt;br /&gt;
 1 PROP_NOTARGET Monsters ignore the player (unless they have already seen him)&lt;/div&gt;</summary>
		<author><name>Lexus Alyus</name></author>
	</entry>
	<entry>
		<id>https://zdoom.org/w/index.php?title=SetPlayerProperty&amp;diff=101</id>
		<title>SetPlayerProperty</title>
		<link rel="alternate" type="text/html" href="https://zdoom.org/w/index.php?title=SetPlayerProperty&amp;diff=101"/>
		<updated>2004-01-04T14:27:14Z</updated>

		<summary type="html">&lt;p&gt;Lexus Alyus: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;191:SetPlayerProperty (who, set, which)&lt;br /&gt;
&lt;br /&gt;
 who: Set to 1 to effect all players, 0 for just the one who activated the special &lt;br /&gt;
 set: Set to 1 to turn on the property or 0 to turn it off &lt;br /&gt;
 which: Which property to change &lt;br /&gt;
&lt;br /&gt;
Sets a property for a player. Currently, there are two: &lt;br /&gt;
&lt;br /&gt;
 0 PROP_FROZEN The player cannot move &lt;br /&gt;
 1 PROP_NOTARGET Monsters ignore the player (unless they have already seen him)&lt;/div&gt;</summary>
		<author><name>Lexus Alyus</name></author>
	</entry>
	<entry>
		<id>https://zdoom.org/w/index.php?title=SetPlayerProperty&amp;diff=100</id>
		<title>SetPlayerProperty</title>
		<link rel="alternate" type="text/html" href="https://zdoom.org/w/index.php?title=SetPlayerProperty&amp;diff=100"/>
		<updated>2004-01-04T14:27:01Z</updated>

		<summary type="html">&lt;p&gt;Lexus Alyus: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;191:SetPlayerProperty (who, set, which)&lt;br /&gt;
&lt;br /&gt;
 who: Set to 1 to effect all players, 0 for just the one who activated the special &lt;br /&gt;
 set: Set to 1 to turn on the property or 0 to turn it off &lt;br /&gt;
 which: Which property to change &lt;br /&gt;
&lt;br /&gt;
Sets a property for a player. Currently, there are two: &lt;br /&gt;
&lt;br /&gt;
0 PROP_FROZEN The player cannot move &lt;br /&gt;
1 PROP_NOTARGET Monsters ignore the player (unless they have already seen him)&lt;/div&gt;</summary>
		<author><name>Lexus Alyus</name></author>
	</entry>
	<entry>
		<id>https://zdoom.org/w/index.php?title=ChangeCamera&amp;diff=286</id>
		<title>ChangeCamera</title>
		<link rel="alternate" type="text/html" href="https://zdoom.org/w/index.php?title=ChangeCamera&amp;diff=286"/>
		<updated>2004-01-04T14:26:30Z</updated>

		<summary type="html">&lt;p&gt;Lexus Alyus: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;237:ChangeCamera (tid, who, revert)&lt;br /&gt;
&lt;br /&gt;
 tid: Thing ID of the camera to use (0 for normal player&#039;s view) &lt;br /&gt;
 who: Set to 1 if the view change should effect all players &lt;br /&gt;
 revert: Set to 1 if movement should cancel the special &lt;br /&gt;
&lt;br /&gt;
Causes a player&#039;s view to move to a camera. If tid is 0, then the player&#039;s view is restored to a spot inside his head. If who is 0, only the player who activated the special has his view changed, otherwise, everyone&#039;s view changes. &lt;br /&gt;
&lt;br /&gt;
If revert is 1, then if a player moves, his view will be returned to his body automatically. This behavior makes this special more suitable for such things as security cameras.&lt;/div&gt;</summary>
		<author><name>Lexus Alyus</name></author>
	</entry>
	<entry>
		<id>https://zdoom.org/w/index.php?title=PointPush_SetForce&amp;diff=287</id>
		<title>PointPush SetForce</title>
		<link rel="alternate" type="text/html" href="https://zdoom.org/w/index.php?title=PointPush_SetForce&amp;diff=287"/>
		<updated>2004-01-04T14:26:06Z</updated>

		<summary type="html">&lt;p&gt;Lexus Alyus: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;227:PointPush_SetForce (tag, tid, amount, useline)&lt;br /&gt;
&lt;br /&gt;
 tag: Tag of sector containing the point pusher/puller &lt;br /&gt;
 tid: Thing ID of the point pusher/puller &lt;br /&gt;
 amount: Strength of the point pusher/puller &lt;br /&gt;
 useline: Set to 1 to use the line&#039;s length to determine strength &lt;br /&gt;
&lt;br /&gt;
Only valid during initialization. Sets the amount of force for a point pusher or puller. If tag is non-zero it looks for point pusher/pullers in the tagged sectors. Otherwise, it looks for them by their tids. If useline is 1, then the amount of force is determined by the length of the linedef. Otherwise, the amount parameter is used.&lt;/div&gt;</summary>
		<author><name>Lexus Alyus</name></author>
	</entry>
	<entry>
		<id>https://zdoom.org/w/index.php?title=Radius_Quake&amp;diff=282</id>
		<title>Radius Quake</title>
		<link rel="alternate" type="text/html" href="https://zdoom.org/w/index.php?title=Radius_Quake&amp;diff=282"/>
		<updated>2004-01-04T14:25:40Z</updated>

		<summary type="html">&lt;p&gt;Lexus Alyus: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;120:Radius_Quake (intensity, duration, damrad, tremrad, tid)&lt;br /&gt;
&lt;br /&gt;
 intensity: Strength of earthquake [1..9] &lt;br /&gt;
 duration: Duration in tics &lt;br /&gt;
 damrad: Radius of damage in 64x64 cells &lt;br /&gt;
 tremrad: Radius of tremor in 64x64 cells &lt;br /&gt;
 tid: Thing ID of map thing(s) for quake foci &lt;br /&gt;
&lt;br /&gt;
Creates an earthquake at the specified foci (map spots).&lt;/div&gt;</summary>
		<author><name>Lexus Alyus</name></author>
	</entry>
	<entry>
		<id>https://zdoom.org/w/index.php?title=Transfer_CeilingLight&amp;diff=275</id>
		<title>Transfer CeilingLight</title>
		<link rel="alternate" type="text/html" href="https://zdoom.org/w/index.php?title=Transfer_CeilingLight&amp;diff=275"/>
		<updated>2004-01-04T14:25:08Z</updated>

		<summary type="html">&lt;p&gt;Lexus Alyus: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;211:Transfer_CeilingLight (tag)&lt;br /&gt;
&lt;br /&gt;
 tag: Tag of affected sector &lt;br /&gt;
&lt;br /&gt;
The amount of lighting on the tagged sector&#039;s ceiling will be the same as the lighting in the sector that this line faces.&lt;/div&gt;</summary>
		<author><name>Lexus Alyus</name></author>
	</entry>
	<entry>
		<id>https://zdoom.org/w/index.php?title=Transfer_FloorLight&amp;diff=276</id>
		<title>Transfer FloorLight</title>
		<link rel="alternate" type="text/html" href="https://zdoom.org/w/index.php?title=Transfer_FloorLight&amp;diff=276"/>
		<updated>2004-01-04T14:24:49Z</updated>

		<summary type="html">&lt;p&gt;Lexus Alyus: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;210:Transfer_FloorLight (tag)&lt;br /&gt;
&lt;br /&gt;
 tag: Tag of affected sector &lt;br /&gt;
&lt;br /&gt;
The amount of lighting on the tagged sector&#039;s floor will be the same as the lighting in the sector that this line faces.&lt;/div&gt;</summary>
		<author><name>Lexus Alyus</name></author>
	</entry>
	<entry>
		<id>https://zdoom.org/w/index.php?title=Transfer_Heights&amp;diff=277</id>
		<title>Transfer Heights</title>
		<link rel="alternate" type="text/html" href="https://zdoom.org/w/index.php?title=Transfer_Heights&amp;diff=277"/>
		<updated>2004-01-04T14:24:26Z</updated>

		<summary type="html">&lt;p&gt;Lexus Alyus: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;209:Transfer_Heights (tag, when)&lt;br /&gt;
&lt;br /&gt;
 tag: Tag of affected sector &lt;br /&gt;
 when: When the effect should be visible &lt;br /&gt;
&lt;br /&gt;
This is BOOM&#039;s 242 linedef. It is used to divide a sector into upper, lower, and middle regions. The drawn heights of the tagged sector&#039;s floor and ceiling come from the heights of the sector on the line&#039;s front side. The line&#039;s texture names can be used to specify a specify a special color map or palette blend to be used in those ranges. Palette blends are of the form &amp;quot;AARRGGBB&amp;quot;. You can use the testblend command to find a good blend from inside the game. &lt;br /&gt;
&lt;br /&gt;
The when parameter determines when this special&#039;s effect is visible. If set to 0, there will be situations when the sector&#039;s real ceiling and floor heights will be used instead of the fake heights. (This is the way BOOM does it.) When set to 1, the fake ceiling and floor heights will always be used. &lt;br /&gt;
&lt;br /&gt;
The following description is excerpted from boomref.txt: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This allows the tagged sector to have two levels  an actual floor and ceiling, and another floor or ceiling where more flats are rendered. Things will stand on the actual floor or hang from the actual ceiling, while this function provides another rendered floor and ceiling at the heights of the sector on the first sidedef of the linedef. Typical use is &amp;quot;deep water&amp;quot; that can be over the player&#039;s head. [Note: See the waterzone thing (9045)] &lt;br /&gt;
&lt;br /&gt;
     ----------------------------------  &amp;lt; real sector&#039;s ceiling height&lt;br /&gt;
    |         real ceiling             | &amp;lt; control sector&#039;s ceiling texture&lt;br /&gt;
    |                                  |&lt;br /&gt;
    |                                  | &amp;lt; control sector&#039;s lightlevel&lt;br /&gt;
    |              A                   |&lt;br /&gt;
    |                                  | &amp;lt; upper texture as colormap&lt;br /&gt;
    |                                  |&lt;br /&gt;
    |                                  | &amp;lt; control sector&#039;s floor texture&lt;br /&gt;
     ----------------------------------  &amp;lt; control sector&#039;s ceiling height&lt;br /&gt;
    |         fake ceiling             | &amp;lt; real sector&#039;s ceiling texture&lt;br /&gt;
    |                                  |&lt;br /&gt;
    |                                  | &amp;lt; real sector&#039;s lightlevel&lt;br /&gt;
    |              B                   |&lt;br /&gt;
    |                                  | &amp;lt; normal texture as colormap&lt;br /&gt;
    |                                  |&lt;br /&gt;
    |          fake floor              | &amp;lt; real sector&#039;s floor texture&lt;br /&gt;
     ----------------------------------  &amp;lt; control sector&#039;s floor height&lt;br /&gt;
    |                                  | &amp;lt; control sector&#039;s ceiling texture&lt;br /&gt;
    |                                  |&lt;br /&gt;
    |                                  | &amp;lt; control sector&#039;s lightlevel&lt;br /&gt;
    |              C                   |&lt;br /&gt;
    |                                  | &amp;lt; lower texture as colormap&lt;br /&gt;
    |                                  |&lt;br /&gt;
    |          real floor              | &amp;lt; control sector&#039;s floor texture&lt;br /&gt;
     ----------------------------------  &amp;lt; real sector&#039;s floor height&lt;br /&gt;
&lt;br /&gt;
Boom sectors controlled by a 242 linedef are partitioned into 3 spaces. The viewer&#039;s xyz coordinates uniquely determine which space they are in. &lt;br /&gt;
&lt;br /&gt;
If they are in space B (normal space), then the floor and ceiling textures and lightlevel from the real sector are used, and the colormap from the 242 linedef&#039;s first sidedef&#039;s normal texture is used (COLORMAP is used if it&#039;s invalid or missing). The floor and ceiling are rendered at the control sector&#039;s heights. &lt;br /&gt;
&lt;br /&gt;
If they are in space C (&amp;quot;underwater&amp;quot;), then the floor and ceiling textures and lightlevel from the control sector are used, and the lower texture in the 242 linedef&#039;s first sidedef is used as the colormap. &lt;br /&gt;
&lt;br /&gt;
If they are in space A (&amp;quot;head over ceiling&amp;quot;), then the floor and ceiling textures and lightlevel from the control sector are used, and the upper texture in the 242 linedef&#039;s first sidedef is used as the colormap. &lt;br /&gt;
&lt;br /&gt;
If only two of these adjacent partitions in z-space are used, such as underwater and normal space, one has complete control over floor textures, ceiling textures, light level, and colormaps, in each of the two partitions. The control sector determines the textures and lighting in the more &amp;quot;unusual&amp;quot; case (e.g. underwater). &lt;br /&gt;
&lt;br /&gt;
It&#039;s also possible for the fake floor to extend below the real floor, in which case an invisible platform / stair effect is created. In that case, the picture looks like this (barring any ceiling effects too): &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
     ----------------------------------  &amp;lt; real sector&#039;s ceiling texture&lt;br /&gt;
    |   real ceiling = fake ceiling    |&lt;br /&gt;
    |                                  |&lt;br /&gt;
    |                                  |&lt;br /&gt;
    |              B                   | &amp;lt; real sector&#039;s lightlevel&lt;br /&gt;
    |                                  | &amp;lt; normal texture&#039;s colormap&lt;br /&gt;
    |                                  |&lt;br /&gt;
    |          real floor              |&lt;br /&gt;
     ----------------------------------  &amp;lt; invisible, no texture drawn&lt;br /&gt;
    |                                  |&lt;br /&gt;
    |                                  |&lt;br /&gt;
    |                                  | &amp;lt; real sector&#039;s lightlevel&lt;br /&gt;
    |              C                   | &amp;lt; normal texture&#039;s colormap&lt;br /&gt;
    |                                  |&lt;br /&gt;
    |                                  |&lt;br /&gt;
    |          fake floor              | &amp;lt; real sector&#039;s floor texture&lt;br /&gt;
     ----------------------------------  &amp;lt; fake sector&#039;s floor height&lt;br /&gt;
&lt;br /&gt;
In this case, since the viewer is always at or above the fake floor, no colormap/lighting/texture changes occur  the fake floor just gets drawn at the control sector&#039;s height, but at the real sector&#039;s lighting and texture, while objects stand on the higher height of the real floor. &lt;br /&gt;
&lt;br /&gt;
It&#039;s the viewer&#039;s position relative to the fake floor and/or fake ceiling which determines whether the control sector&#039;s lighting and textures should be used, and which colormap should be used. If the viewer is always between the fake floor and fake ceiling, then no colormap, lighting, or texture changes occur, and the view just sees the real sector&#039;s textures and light level drawn at possibly different heights. &lt;br /&gt;
&lt;br /&gt;
If the viewer is below the fake floor height set by the control sector, or is above the fake ceiling height set by the control sector, then the corresponding colormap is used (lower or upper texture name), and the textures and lighting are taken from the control sector rather than the real sector. They are still stacked vertically in standard order  the control sector&#039;s ceiling is always drawn above the viewer, and the control sector&#039;s floor is always drawn below the viewer. &lt;br /&gt;
&lt;br /&gt;
The kaleidescope effect only occurs when F_SKY1 is used as the control sector&#039;s floor or ceiling. If F_SKY1 is used as the control sector&#039;s ceiling texture, then under water, only the control sector&#039;s floor appears, but it &amp;quot;envelops&amp;quot; the viewer. Similarly, if F_SKY1 is used as the control sector&#039;s floor texture, then when the player&#039;s head is over a fake ceiling, the control sector&#039;s ceiling is used throughout. &lt;br /&gt;
&lt;br /&gt;
F_SKY1 causes HOM when used as a fake ceiling between the viewer and normal space. Since there is no other good use for it, this kaleidescope is an option turned on by F_SKY1. Note that this does not preclude the use of sky REAL ceilings over deep water  this is the control sector&#039;s ceiling, the one displayed when the viewer is underwater, not the real one. &lt;br /&gt;
&lt;br /&gt;
A colormap has the same size and format as Doom&#039;s COLORMAP. Extra colormaps may defined in Boom by adding them between C_START and C_END markers in wads. Colormaps between C_START and C_END are automatically merged by Boom with any previously defined colormaps. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Ceiling bleeding may occur if required upper textures are not used.&lt;/div&gt;</summary>
		<author><name>Lexus Alyus</name></author>
	</entry>
	<entry>
		<id>https://zdoom.org/w/index.php?title=Scroll_Texture_Both&amp;diff=249</id>
		<title>Scroll Texture Both</title>
		<link rel="alternate" type="text/html" href="https://zdoom.org/w/index.php?title=Scroll_Texture_Both&amp;diff=249"/>
		<updated>2004-01-04T14:22:09Z</updated>

		<summary type="html">&lt;p&gt;Lexus Alyus: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;221:Scroll_Texture_Both (lineid, left, right, down, up)&lt;br /&gt;
&lt;br /&gt;
 lineid: Line ID of line to scroll (must be 0 for now) &lt;br /&gt;
 left: Speed to scroll left &lt;br /&gt;
 right: Speed to scroll right &lt;br /&gt;
 down: Speed to scroll down &lt;br /&gt;
 up: Speed to scroll up &lt;br /&gt;
&lt;br /&gt;
Scrolls a texture both horizotally and vertically. If the lineid is 0, this special will affect the speed of the texture scrolling on the line it is placed on. The other four parameters determine how quickly the texture scrolls in each direction. &lt;br /&gt;
&lt;br /&gt;
If you use a non-zero lineid, you can change the scrolling of the specified lines when this special is activated (either directly or in a script). A positive lineid changes the scrolling on the front of the line, and a negative lineid changes the scrolling on the back of the line.&lt;/div&gt;</summary>
		<author><name>Lexus Alyus</name></author>
	</entry>
	<entry>
		<id>https://zdoom.org/w/index.php?title=Scroll_Texture_Down&amp;diff=248</id>
		<title>Scroll Texture Down</title>
		<link rel="alternate" type="text/html" href="https://zdoom.org/w/index.php?title=Scroll_Texture_Down&amp;diff=248"/>
		<updated>2004-01-04T14:21:43Z</updated>

		<summary type="html">&lt;p&gt;Lexus Alyus: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;103:Scroll_Texture_Down (speed)&lt;br /&gt;
&lt;br /&gt;
 speed: Speed to scroll&lt;br /&gt;
&lt;br /&gt;
Scrolls a texture in down.&lt;/div&gt;</summary>
		<author><name>Lexus Alyus</name></author>
	</entry>
	<entry>
		<id>https://zdoom.org/w/index.php?title=Scroll_Texture_Up&amp;diff=247</id>
		<title>Scroll Texture Up</title>
		<link rel="alternate" type="text/html" href="https://zdoom.org/w/index.php?title=Scroll_Texture_Up&amp;diff=247"/>
		<updated>2004-01-04T14:21:20Z</updated>

		<summary type="html">&lt;p&gt;Lexus Alyus: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;102:Scroll_Texture_Up (speed)&lt;br /&gt;
&lt;br /&gt;
 speed: Speed to scroll&lt;br /&gt;
&lt;br /&gt;
Scrolls a texture in up.&lt;/div&gt;</summary>
		<author><name>Lexus Alyus</name></author>
	</entry>
	<entry>
		<id>https://zdoom.org/w/index.php?title=Scroll_Texture_Right&amp;diff=246</id>
		<title>Scroll Texture Right</title>
		<link rel="alternate" type="text/html" href="https://zdoom.org/w/index.php?title=Scroll_Texture_Right&amp;diff=246"/>
		<updated>2004-01-04T14:20:57Z</updated>

		<summary type="html">&lt;p&gt;Lexus Alyus: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;101:Scroll_Texture_Right (speed)&lt;br /&gt;
&lt;br /&gt;
 speed: Speed to scroll&lt;br /&gt;
&lt;br /&gt;
Scrolls a texture in right.&lt;/div&gt;</summary>
		<author><name>Lexus Alyus</name></author>
	</entry>
	<entry>
		<id>https://zdoom.org/w/index.php?title=Scroll_Texture_Left&amp;diff=245</id>
		<title>Scroll Texture Left</title>
		<link rel="alternate" type="text/html" href="https://zdoom.org/w/index.php?title=Scroll_Texture_Left&amp;diff=245"/>
		<updated>2004-01-04T14:20:36Z</updated>

		<summary type="html">&lt;p&gt;Lexus Alyus: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;100:Scroll_Texture_Left (speed)&lt;br /&gt;
&lt;br /&gt;
 speed: Speed to scroll&lt;br /&gt;
&lt;br /&gt;
Scrolls a texture in left.&lt;/div&gt;</summary>
		<author><name>Lexus Alyus</name></author>
	</entry>
	<entry>
		<id>https://zdoom.org/w/index.php?title=Scroll_Texture_Left&amp;diff=99</id>
		<title>Scroll Texture Left</title>
		<link rel="alternate" type="text/html" href="https://zdoom.org/w/index.php?title=Scroll_Texture_Left&amp;diff=99"/>
		<updated>2004-01-04T14:20:10Z</updated>

		<summary type="html">&lt;p&gt;Lexus Alyus: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;100:Scroll_Texture_Left (speed)&lt;br /&gt;
&lt;br /&gt;
 speed: Spped to scroll&lt;br /&gt;
&lt;br /&gt;
Scrolls a texture in left.&lt;/div&gt;</summary>
		<author><name>Lexus Alyus</name></author>
	</entry>
	<entry>
		<id>https://zdoom.org/w/index.php?title=TranslucentLine&amp;diff=244</id>
		<title>TranslucentLine</title>
		<link rel="alternate" type="text/html" href="https://zdoom.org/w/index.php?title=TranslucentLine&amp;diff=244"/>
		<updated>2004-01-04T14:19:23Z</updated>

		<summary type="html">&lt;p&gt;Lexus Alyus: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;208:TranslucentLine (lineid, amount)&lt;br /&gt;
&lt;br /&gt;
 lineid: Line ID of lines to make translucent (0 for this line) &lt;br /&gt;
 amount: How translucent the line should be [0..255]. &lt;br /&gt;
&lt;br /&gt;
Sets the amount of translucency for all matching lines (including itself). If lineid is 0, it only sets the translucency of the line it is on. Like Line_SetIdentification, this special sets the line&#039;s id. Amount controls how opaque the line is. 0 is nearly invisible. 255 is opaque. Intermediate values are somewhere in between. &lt;br /&gt;
&lt;br /&gt;
You can also use this special in an ACS script to change the translucency for lines whose ids match lineid.&lt;/div&gt;</summary>
		<author><name>Lexus Alyus</name></author>
	</entry>
</feed>