Difference between revisions of "Engine bug"

From DoomWiki.org

[checked revision][checked revision]
m (alphabetical order)
m (archive link)
(44 intermediate revisions by 10 users not shown)
Line 12: Line 12:
 
** Most bugs are due to ''algorithms'' which fail to account for all possible inputs, apply conditional statements in an illogical sequence, or have unforeseen consequences in particular game situations.
 
** Most bugs are due to ''algorithms'' which fail to account for all possible inputs, apply conditional statements in an illogical sequence, or have unforeseen consequences in particular game situations.
 
*** A few of these arise from simple ''typos'' in the source code.
 
*** A few of these arise from simple ''typos'' in the source code.
** Improperly constructed ''[[linedef]]s'', with orphaned [[tag]]s or incorrectly placed [[texture]]s, can also induce various strange behaviors.
+
** Improperly constructed ''[[linedef]]s'' (with orphaned [[tag]]s or incorrectly placed [[texture]]s) or ''[[sector]]s'', can also induce various strange behaviors.
 
** The Doom engine includes few safeguards against [[Wikipedia:Arithmetic overflow|''overflow'' conditions]].
 
** The Doom engine includes few safeguards against [[Wikipedia:Arithmetic overflow|''overflow'' conditions]].
 
** Line-of-sight calculations, [[Doom rendering engine|rendering]] algorithms, and the [[Doom rendering engine#Node building|BSP tree]] are also susceptible to [[Wikipedia:Floating point#Accuracy problems|''roundoff'' errors]].
 
** Line-of-sight calculations, [[Doom rendering engine|rendering]] algorithms, and the [[Doom rendering engine#Node building|BSP tree]] are also susceptible to [[Wikipedia:Floating point#Accuracy problems|''roundoff'' errors]].
** The engine imposes a number of ''static limits'' on [[Thing]] placement and map construction, which sometimes fix one problem by creating another.
+
** The engine imposes a number of ''[[static limits]]'' on [[Thing]] placement and map construction, which sometimes fix one problem by creating another.
  
 
* '''Fatal''' bugs are those where the engine crashes (often with the [[Venetian blind crash|Venetian blind]] effect) or else exits the game in a controlled fashion, usually with an [[error message]].  '''Y*''' means that termination is possible, but not inevitable.  '''N*''' means that the program keeps running, but that rendering or character behavior may be sufficiently compromised that meaningful gameplay becomes impossible.
 
* '''Fatal''' bugs are those where the engine crashes (often with the [[Venetian blind crash|Venetian blind]] effect) or else exits the game in a controlled fashion, usually with an [[error message]].  '''Y*''' means that termination is possible, but not inevitable.  '''N*''' means that the program keeps running, but that rendering or character behavior may be sufficiently compromised that meaningful gameplay becomes impossible.
Line 25: Line 25:
 
* A bug is a '''loophole''' if it can be abused to the player's advantage (especially during [[speedrun]]s or [[deathmatch]]es).
 
* A bug is a '''loophole''' if it can be abused to the player's advantage (especially during [[speedrun]]s or [[deathmatch]]es).
  
{| {{prettytable}} class="sortable"
+
{| {{prettySortable}}
 
!Phenomenon
 
!Phenomenon
 
!Canonicity
 
!Canonicity
Line 41: Line 41:
 
! N
 
! N
 
! Y
 
! Y
 +
|-
 +
| [[1% damage bug]]
 +
|
 +
| Algorithm
 +
! N
 +
! N
 +
! N
 +
! N
 +
|-
 +
| [[Absurd texture name in error message]]
 +
| Undisputed
 +
| Algorithm
 +
! Y*
 +
! N
 +
! N
 +
! N
 
|-
 
|-
 
| [[AASTINKY|AASTINKY and AASHITTY]]
 
| [[AASTINKY|AASTINKY and AASHITTY]]
Line 54: Line 70:
 
| Overflow
 
| Overflow
 
! N*
 
! N*
 +
! N
 +
! N
 +
! N
 +
|-
 +
| [[Anomalous angry face behavior]]
 +
|
 +
| Algorithm
 +
! N
 
! N
 
! N
 
! N
 
! N
Line 59: Line 83:
 
|-
 
|-
 
| [[Arch-Vile fire spawned at the wrong location]]
 
| [[Arch-Vile fire spawned at the wrong location]]
|  
+
| Undisputed
|  
+
| Typo
 
! N
 
! N
 
! N
 
! N
Line 72: Line 96:
 
! Y
 
! Y
 
! S
 
! S
 +
! N
 +
|-
 +
| [[Baron attacks a monster behind him]]
 +
|
 +
| Algorithm
 +
! N
 +
! N
 +
! N
 
! N
 
! N
 
|-
 
|-
Line 97: Line 129:
 
! N
 
! N
 
! Y
 
! Y
 +
|-
 +
| [[Blockmap overflow]]
 +
| Undisputed
 +
| Overflow
 +
! N
 +
! N
 +
! N
 +
! N
 
|-
 
|-
 
| [[Broadcast packet meltdown]]
 
| [[Broadcast packet meltdown]]
Line 127: Line 167:
 
! N
 
! N
 
! N
 
! N
 +
! N
 +
! N
 +
|-
 +
| [[Crash when accessing Read This!]] [http://www.doomworld.com/vb/doom-general/73271-solved-the-mystery-of-the-alternative-doom95-exe/]
 +
| Undisputed
 +
|
 +
! Y
 +
!
 
! N
 
! N
 
! N
 
! N
Line 179: Line 227:
 
|-
 
|-
 
| [[Elastic collisions with walls]]
 
| [[Elastic collisions with walls]]
|  
+
| Undisputed
|  
+
| Roundoff
 
! N
 
! N
 
! N
 
! N
Line 204: Line 252:
 
| [[Final Doom teleporters do not set Z coordinate]]
 
| [[Final Doom teleporters do not set Z coordinate]]
 
| Undisputed
 
| Undisputed
 +
| Algorithm
 +
! N
 +
! N
 +
! N
 +
! N
 +
|-
 +
| [[Firing frame position not updated when the player dies]]
 +
|
 
| Algorithm
 
| Algorithm
 
! N
 
! N
Line 250: Line 306:
 
! N
 
! N
 
|-
 
|-
| Hall of Mirrors effect (limit)
+
| [[Static_limits#Drawsegs|Hall of Mirrors effect (limit)]]
 
| Undisputed
 
| Undisputed
 
| Algorithm
 
| Algorithm
Line 258: Line 314:
 
! N
 
! N
 
|-
 
|-
| [[Hall of Mirrors effect]] (missing texture)
+
| [[Hall of Mirrors effect|Hall of Mirrors effect (missing texture)]]
 
| Undisputed
 
| Undisputed
 
| Linedef
 
| Linedef
Line 288: Line 344:
 
!  
 
!  
 
!  
 
!  
 +
!
 +
|-
 +
| [[Chainsaw#Notes|IDCHOPPERS cheat confers 1 tic of invulnerability]]
 +
|
 +
| Typo
 +
! N
 +
! N
 +
! N
 
!  
 
!  
 
|-
 
|-
Line 302: Line 366:
 
| Algorithm
 
| Algorithm
 
! Y
 
! Y
 +
! N
 +
! N
 +
! N
 +
|-
 +
| [[Inaccurate trigonometry table]]
 +
| Undisputed
 +
| Algorithm
 +
! N
 
! N
 
! N
 
! N
 
! N
Line 345: Line 417:
 
! N
 
! N
 
! Y
 
! Y
|-
 
| [[Lift heights not preserved in saved games]]
 
| Undisputed
 
| Algorithm
 
! N
 
! Y
 
! N
 
! N
 
 
|-
 
|-
 
| [[Linedef type 37]]
 
| [[Linedef type 37]]
Line 376: Line 440:
 
! N
 
! N
 
! S
 
! S
 +
! N
 +
|-
 +
| [[Lopsided final boss explosions]]
 +
| Undisputed
 +
| Typo
 +
! N
 +
! N
 +
! N
 
! N
 
! N
 
|-
 
|-
Line 432: Line 504:
 
! N
 
! N
 
! N
 
! N
 +
! N
 +
|-
 +
| [[Manual doors on 1S lines cause an illegal operation]]
 +
| Undisputed
 +
| Linedef
 +
! Y*
 +
! N
 +
! Y
 
! N
 
! N
 
|-
 
|-
Line 489: Line 569:
 
! N
 
! N
 
!  
 
!  
 +
|-
 +
| [[Monsters may target players without ever seeing or hearing them]]
 +
| Disputed
 +
| Algorithm
 +
! N
 +
! N
 +
! N
 +
! N
 
|-
 
|-
 
| [[Monsters open locked doors]]
 
| [[Monsters open locked doors]]
Line 512: Line 600:
 
! N
 
! N
 
! S
 
! S
 +
! N
 +
|-
 +
| [[Moving platform heights not preserved in saved games]]
 +
| Undisputed
 +
| Algorithm
 +
! N
 +
! N
 +
! N
 +
! N
 +
|-
 +
| [[Vertical offsets are ignored in texture patches]]
 +
| Undisputed
 +
| Algorithm
 +
! N
 +
! N
 +
! N
 
! N
 
! N
 
|-
 
|-
Line 555: Line 659:
 
|-
 
|-
 
| [[Ouch face]]
 
| [[Ouch face]]
| Verified [http://rome.ro/smf/index.php/topic,1514.msg31763.html#msg31763]
+
| Verified [https://web.archive.org/web/20100920220554/http://rome.ro/smf/index.php/topic,1514.msg31763.html#msg31763]
 
| Typo
 
| Typo
 
! N
 
! N
Line 565: Line 669:
 
|  
 
|  
 
|  
 
|  
 +
! N
 +
! N
 +
! N
 +
! N
 +
|-
 +
| [[Partial invisibility effect#Animation remains still|Partial invisibility's fuzz effect stays still]]
 +
|
 +
| Algorithm
 +
! N
 +
! N
 +
! N
 +
! N
 +
|-
 +
| [[Partial invisibility effect#Stippling effect|Partial invisibility stippling algorithm]]
 +
| Disputed
 +
| Algorithm
 +
! N
 +
! N
 +
! N
 +
! N
 +
|-
 +
| [[Pause bug in menus with scroll bars]]
 +
| Undisputed
 +
| Algorithm
 
! N
 
! N
 
! N
 
! N
Line 641: Line 769:
 
!  
 
!  
 
!  
 
!  
 +
|-
 +
| [[PWAD size limit]]
 +
| Undisputed
 +
| Algorithm
 +
!Y
 +
!N
 +
!Y
 +
!N
 
|-
 
|-
 
| [[Quantum lost soul]]
 
| [[Quantum lost soul]]
Line 652: Line 788:
 
| [[Raising sectors change to orphaned sector type]]
 
| [[Raising sectors change to orphaned sector type]]
 
| Disputed
 
| Disputed
|
+
| Sector
 +
!N
 +
!N
 +
!Y
 +
!N
 +
|-
 +
| [[Random sound pitch removed]]
 +
|
 +
|  
 
!N
 
!N
 
!N
 
!N
Line 664: Line 808:
 
! N
 
! N
 
! N
 
! N
 +
! Y
 +
|-
 +
| [[Blast damage#Non-reentrancy|Recurrent blast damage]]
 +
| Undisputed
 +
| Algorithm
 +
! N
 +
! N
 +
! S
 
! Y
 
! Y
 
|-
 
|-
Line 671: Line 823:
 
! Y
 
! Y
 
! Y
 
! Y
 +
! N
 +
! N
 +
|-
 +
| [[Revenant tracers desync internal demos]]
 +
| Undisputed
 +
| Algorithm
 +
! N*
 +
! N
 
! N
 
! N
 
! N
 
! N
Line 700: Line 860:
 
| [[Screen melt effect during Doom II cast sequence]]
 
| [[Screen melt effect during Doom II cast sequence]]
 
|  
 
|  
 +
| Algorithm
 +
! N
 +
! N
 +
! N
 +
! N
 +
|-
 +
| [[Secret level|Secret exit idiosyncrasies]]
 +
|
 +
| Algorithm
 +
! N
 +
! N
 +
! Y
 +
! N
 +
|-
 +
| [[Secret#Bugs|Secret sectors appear or disappear]]
 +
|
 +
| Algorithm
 +
! N
 +
! N
 +
! S
 +
! N
 +
|-
 +
|[[Sector type 17 is disabled after loading a saved game]]
 +
| Undisputed
 
| Algorithm
 
| Algorithm
 
! N
 
! N
Line 710: Line 894:
 
| Static limit
 
| Static limit
 
! N
 
! N
 +
! N
 +
! N
 +
! Y
 +
|-
 +
| [[Single-use line actions can fail]]
 +
| Undisputed
 +
| Algorithm
 +
! N*
 
! N
 
! N
 
! N
 
! N
Line 722: Line 914:
 
!  
 
!  
 
|-
 
|-
| [[Sky hack]]
+
| [[Sky hack absorbs attacks regardless of height]]
 
| Undisputed
 
| Undisputed
 
| Algorithm
 
| Algorithm
Line 828: Line 1,020:
 
| [[Sprites flickering across ledges or lifts]]
 
| [[Sprites flickering across ledges or lifts]]
 
| Disputed
 
| Disputed
 +
| Algorithm
 +
! N
 +
! N
 +
! N
 +
! N
 +
|-
 +
| [[Sprites improperly clipped]]
 +
|
 
| Algorithm
 
| Algorithm
 
! N
 
! N
Line 845: Line 1,045:
 
| Disputed
 
| Disputed
 
| Algorithm
 
| Algorithm
 +
! N
 +
! N
 +
! Y
 +
! N
 +
|-
 +
| [[Starting on a vertex between visplanes causes illegal memory access]]
 +
| Undisputed
 +
|
 
! N
 
! N
 
! N
 
! N
Line 897: Line 1,105:
 
! N
 
! N
 
! Y
 
! Y
|-
 
| [[Transparent pixels in RSKY2]]
 
|
 
|
 
! N
 
! N
 
! N
 
! N
 
 
|-
 
|-
 
| [[Turning resolution is lowered when recording demos]]
 
| [[Turning resolution is lowered when recording demos]]
Line 917: Line 1,117:
 
| Undisputed
 
| Undisputed
 
| Linedef
 
| Linedef
 +
! N
 +
! N
 +
! Y
 +
! N
 +
|-
 +
| [[Unused frames and obstacle sprite]] [http://www.doomworld.com/vb/post/225726]
 +
|
 +
|
 
! N
 
! N
 
! N
 
! N
Line 1,017: Line 1,225:
 
* [[Doom source code oddities]]
 
* [[Doom source code oddities]]
 
* [[Static limits]]
 
* [[Static limits]]
 +
* [[Engine bugs in Strife]]
  
 
[[Category:Errors and bugs|*]]
 
[[Category:Errors and bugs|*]]
 
[[Category:Doom engine]]
 
[[Category:Doom engine]]
 
[[Category:Lists]]
 
[[Category:Lists]]

Revision as of 11:01, 24 November 2015

A Doom engine bug is a limitation or an oddity present in the Doom engine. For errors in map design, even those related to a specific item below, see the article about that map.

Note that playing with a source port may, while removing some or even the majority of the bugs listed below, introduce other bugs which are not listed here (although details may be present in the article about the source port in question).

Key

This table classifies anomalies in a very broad way; see the individual articles for details.

  • Canonicity — A bug is verified only when a current or former id Software programmer has called it a bug in a public medium. An unverified bug may still be undisputed if it is generally accepted as an error or issue by the fan community under a consensus involving thorough playtesting and research on the corresponding phenomenon and any associated binaries or source code. A bug is disputed if it can be argued to be a harmless and possibly intentional feature.
  • Cause — The general category of underlying problem:
    • Most bugs are due to algorithms which fail to account for all possible inputs, apply conditional statements in an illogical sequence, or have unforeseen consequences in particular game situations.
      • A few of these arise from simple typos in the source code.
    • Improperly constructed linedefs (with orphaned tags or incorrectly placed textures) or sectors, can also induce various strange behaviors.
    • The Doom engine includes few safeguards against overflow conditions.
    • Line-of-sight calculations, rendering algorithms, and the BSP tree are also susceptible to roundoff errors.
    • The engine imposes a number of static limits on Thing placement and map construction, which sometimes fix one problem by creating another.
  • Fatal bugs are those where the engine crashes (often with the Venetian blind effect) or else exits the game in a controlled fashion, usually with an error message. Y* means that termination is possible, but not inevitable. N* means that the program keeps running, but that rendering or character behavior may be sufficiently compromised that meaningful gameplay becomes impossible.
  • Fixed in 1.9 — Some bugs appear only in versions of Doom prior to v1.9.
  • A bug has a workaround if it can be avoided by reasonable compromises in map design, such as when matching every linedef tag to at least one sector, but not when removing invulnerabilities from every level containing a sky texture, or also by convenient precautions and other measures taken by the program user, such as when increasing the mouse sensitivity through the configuration file directly, instead of using the menu. S means that the bug can be avoided only by making one's map smaller or less complex.
  • A bug is a loophole if it can be abused to the player's advantage (especially during speedruns or deathmatches).
Phenomenon Canonicity Cause Fatal? Fixed in
1.9?
Workaround? Loophole?
(0,0) respawning bug Undisputed Algorithm N N N Y
1% damage bug Algorithm N N N N
Absurd texture name in error message Undisputed Algorithm Y* N N N
AASTINKY and AASHITTY Undisputed Algorithm N N N N
All-ghosts effect Undisputed Overflow N* N N N
Anomalous angry face behavior Algorithm N N N N
Arch-Vile fire spawned at the wrong location Undisputed Typo N N N N
Armor percentage rollover Undisputed Static limit N* Y S N
Baron attacks a monster behind him Algorithm N N N N
Barrel explosions which do no damage Undisputed Algorithm N N N N
Barrel suicide Undisputed Algorithm N Y N Y
Blast damage has unlimited vertical range Undisputed Algorithm N N N Y
Blockmap overflow Undisputed Overflow N N N N
Broadcast packet meltdown Verified N* Y N
Bullet puffs do not appear in outdoor areas Algorithm N N N
Chaingun makes two sounds firing single bullet Undisputed Algorithm N N N N
Colormap blink ignores concurrent powerup [1] N N N N
Crash when accessing Read This! [2] Undisputed Y N N
Crushed barrels leave behind a pool of blood Undisputed Algorithm N N Y N
Crushed monsters block player movement Verified Algorithm N Y N N
Demo desyncing caused by bouncing lost souls Undisputed Algorithm N N N N
Demo desyncing caused by menu access Undisputed Algorithm N N N N
Demon speed bug Algorithm Y* N Y
Drawsegs overflow Undisputed Static limit N N S N
Elastic collisions with walls Undisputed Roundoff N N N Y
Fast doors make two closing sounds Undisputed Algorithm N N N N
Fast doors reopening with wrong sound Disputed Algorithm N N N N
Final Doom teleporters do not set Z coordinate Undisputed Algorithm N N N N
Firing frame position not updated when the player dies Algorithm N N N N
Flawed collision detection Undisputed Algorithm N N N
Floors and ceilings moving silently Undisputed N N N Y
Frag count rollover Overflow N N N N
Gamma correction resets palette Undisputed Algorithm N N N Y
Ghost monsters Undisputed Algorithm N N N N
Hall of Mirrors effect (limit) Undisputed Algorithm N N S N
Hall of Mirrors effect (missing texture) Undisputed Linedef N N Y N
Health limited to 199 Algorithm N Y N N
Health percentage hysteresis in sector type 11 Algorithm N N N N
Hitscan attacks hit invisible barriers in large open areas Algorithm N
IDCHOPPERS cheat confers 1 tic of invulnerability Typo N N N
IDCLEV idiosyncrasies N N N N
IDMUS requests invalid music Algorithm Y N N N
Inaccurate trigonometry table Undisputed Algorithm N N N N
Invulnerability colormap bug Disputed Algorithm N N N N
IRQ 2 does not work Verified Y
Items respawn with pickup flag off Verified Algorithm N Y
joyb_speed magic numbers Overflow N Y Y
Kill percentage flag used for -nomonsters and respawning Disputed Algorithm N* N N Y
Linedef type 37 Y N Y N
Linedefs can be activated regardless of player's Z position Undisputed Algorithm N N N Y
Long wall error Undisputed Roundoff N N S N
Lopsided final boss explosions Undisputed Typo N N N N
Lost soul charging backwards Disputed Algorithm N N N Y
Lost soul clipping problems Undisputed Algorithm N Y N N
Lost soul colliding with items Undisputed Algorithm N N N Y
Lost soul limit Undisputed Static limit N N N Y
Lost soul target amnesia Disputed Algorithm N N N N
Lump size limit Static limit N S N
Mancubus fireball clipping Undisputed Algorithm N N N N
Manual doors on 1S lines cause an illegal operation Undisputed Linedef Y* N Y N
Map size limit (blocks) Undisputed Static limit Y N S N
Map size limit (integer overflow) Static limit N N N N
Medusa effect Undisputed Algorithm N* N Y N
Menu error with high mouse sensitivity Undisputed Overflow Y N Y N
Moiré error Undisputed Overflow N* Y S N
Monsters attacking across tall ledges Disputed Algorithm N N N N
Monsters fleeing Disputed Algorithm N N N
Monsters may target players without ever seeing or hearing them Disputed Algorithm N N N N
Monsters open locked doors Undisputed Roundoff N N N Y
Monsters stuck in doortracks, walls or hanging off lifts Undisputed Algorithm N N N Y
Moving platforms limit Undisputed Linedef Y N S N
Moving platform heights not preserved in saved games Undisputed Algorithm N N N N
Vertical offsets are ignored in texture patches Undisputed Algorithm N N N N
Network game crashes with 3 or 4 players Verified Y Y N
Network play locks up when using a sound card Verified Y Y N
Noclip bug Undisputed Overflow N N N Y
Non-Newtonian motion of corpses Disputed Algorithm N N N Y
Numeric overflow crash in tall areas Undisputed Overflow Y* N S N
Ouch face Verified [3] Typo N N N N
Par times hidden in Final Doom after idclev or reload N N N N
Partial invisibility's fuzz effect stays still Algorithm N N N N
Partial invisibility stippling algorithm Disputed Algorithm N N N N
Pause bug in menus with scroll bars Undisputed Algorithm N N N N
Phantom fireball explosions Disputed Algorithm N N N
Picked up a medikit that you REALLY need! Undisputed Typo N N N N
Player corpses walking Undisputed Overflow N* N Y N
Player face grins after restoring savefile Disputed Algorithm N N N N
Player starts missing Undisputed Y N Y N
Player stuck on ledge after restoring savefile Undisputed Algorithm N* N N N
Projectiles explode on impact with "sky" Algorithm N N N N
Projectiles triggering linedefs Verified Algorithm N Y N Y
PS/2 mouse bug Verified Y
PWAD size limit Undisputed Algorithm Y N Y N
Quantum lost soul Disputed Algorithm N N N N
Raising sectors change to orphaned sector type Disputed Sector N N Y N
Random sound pitch removed N N N N
Ranged attacks blocked by decorations Disputed Algorithm N N N Y
Recurrent blast damage Undisputed Algorithm N N S Y
Retriggering an open door after loading a savegame causes crash Verified Algorithm Y Y N N
Revenant tracers desync internal demos Undisputed Algorithm N* N N N
Rocket passes through the player who fired it Disputed Algorithm N N N Y
Savegame buffer overflow Undisputed Static limit Y N S N
Savegame slots 5 and 6 corrupt other files Verified N Y N
Screen melt effect during Doom II cast sequence Algorithm N N N N
Secret exit idiosyncrasies Algorithm N N Y N
Secret sectors appear or disappear Algorithm N N S N
Sector type 17 is disabled after loading a saved game Undisputed Algorithm N N N N
Silent BFG trick Undisputed Static limit N N N Y
Single-use line actions can fail Undisputed Algorithm N* N N Y
Skill level cannot be selected in some network games Verified N Y
Sky hack absorbs attacks regardless of height Undisputed Algorithm N N N N
Sky never changes in Doom II Undisputed Algorithm N N N N
Sleeping Sergeant of Doom II MAP02 Undisputed Typo N N N
Slime trails Undisputed Roundoff N N N N
Some game options not preserved in saved games Undisputed Algorithm N N N N
Sound cutoffs Disputed Static limit N N N N
Sound effects behave differently on level 8 Disputed Algorithm N N N N
Sounds changing pitch on slow computers N N
Spawn fog in wrong location Undisputed Typo N N N N
Spawn cubes miss east & west targets Undisputed Algorithm N N Y N
Spawn spots not preserved in saved games Undisputed Algorithm Y* N N Y
Spechits overflow Undisputed Static limit Y N S N
Spider paralysis Undisputed Algorithm N N N Y
Sprites flickering across ledges or lifts Disputed Algorithm N N N N
Sprites improperly clipped Algorithm N N N N
Stairs create unknown sector types Undisputed Algorithm Y* N N N
Stairs that can be ascended, but not descended Disputed Algorithm N N Y N
Starting on a vertex between visplanes causes illegal memory access Undisputed N N Y N
Status bar face hysteresis Disputed Algorithm N N N N
Straferunning Undisputed Algorithm N N N Y
Switches and lifts deactivated when restoring a saved game Verified Algorithm N Y N N
Tag 666 idiosyncrasies Undisputed Algorithm N N Y N
Tag 667 idiosyncrasies Undisputed Algorithm N* N N N
Targets not preserved in saved games Undisputed Algorithm N N N Y
Turning resolution is lowered when recording demos Undisputed Static limit N N N N
Tutti-frutti effect Undisputed Linedef N N Y N
Unused frames and obstacle sprite [4] N N Y N
Venetian blind crash Undisputed Multiple Y N N N
Vertical cutoff of partially invisible sprites Undisputed Static limit N N N N
Visible sprites limit Undisputed Static limit N N S N
Visplane overflow Undisputed Static limit Y N S N
Voodoo doll Undisputed Algorithm N* N Y N
Wallrunning Undisputed Algorithm N N N Y
Weapon sighting is off center N N N N
Wrong sound for exit switches N N N N
Wrong sound origin for button "popouts" Undisputed Algorithm N N N N
Wrong sound origin for switch/button presses Undisputed Algorithm N N N N
Z_Malloc error Verified Y

See also