Doom source code files


This page describes the files in the Doom source code and their roles in the overall system.

Main files[edit]

Sound server[edit]

These files are part of the sound server:

Files Description
linux.c Linux-specific sound output code
sounds.c,sounds.h List of sound effects
soundsrv.c,soundsrv.h Core sound server code
soundst.h Sound structures and prototypes
wadread.c,wadread.h WAD file reading code

Missing files[edit]

The following files were part of the original source code, but were removed in the "cleanup" before the source release. Evidence of these files remains in the text file "FILES" distributed with the Doom source, which appears to contain a Unix file listing of the source code files before Bernd Kreimeier's changes.

Versions of some of these files can nonetheless be found elsewhere.

Files Description Can be found in...
am_data.h Vector graphics macros for the automap (merged into am_map.c) released by John Romero
am_oids.c, am_oids.h Automap asteroids - an Easter egg which was never completed released by John Romero Assembly header file for optimized rendering code Heretic source code
dither.c, dither.h Dithering code for NeXTSTEP version, unused in Linux port Quake 2 source code
drcoord.h Objective C header; possibly part of the intermission statistics driver that was powered by the -statcopy command. Heretic source code
dutils.c, dutils.h "Dave's utilities"; cheat parsing, and screen melt effect. This apparently contained singly and doubly linked lists, among other common data structures Portions are split into f_wipe.c and m_cheat.c
fpfunc.S Optimised fixed point assembler Trace i386 portions found in README.asm
i_cyber.c Logitech CyberMan 3D mouse code Heretic source code
i_dga.c X11 DGA graphics -
i_header.h Header for system-dependent sound code (became i_sound.h) Heretic source code
i_ibm.c PC graphics code Heretic source code
i_ibm_a.asm IBM PC joystick assembly code Heretic source code
i_pcnet.c PC networking code -
i_svgalib.c Linux SVGA graphics, replaced i_main.c -
i_unix.c Unix fixed-point, networking and display code -
i_x.c X11 with SHM code Likely renamed to i_video.c
irix.c Irix sound server backend code -
planar.asm Assembler; most likely optimized version of R_DrawSpan Replaced with linear.asm in the Heretic source code
sun.c Sun sound server backend code -
t.c Unknown. 75 bytes in size. -
tmap.S Optimized texture mapping assembler functions; self-modifying code version of R_DrawColumn and variants Portions included in README.asm
vgaview.h Objective C header; possibly part of id's original map editor. Contains information about palettes, graphics, and scaling. Heretic source code
wi_data.h Likely splotch position data for the DOOM intermission sequence Merged into wi_stuff.c