Doom source code files

From DoomWiki.org

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) am_oids.zip released by John Romero
am_oids.c, am_oids.h Automap asteroids - an Easter egg which was never completed am_oids.zip released by John Romero
defs.inc Assembly header file for optimized rendering code Heretic source code
dither.c, dither.h Dithering code for NeXTSTEP version, unused in Linux port Quake II source code, 2023 Doom source code leak
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; entire file in 2023 Doom source code leak
fpfunc.S Optimised fixed point assembler Trace i386 portions found in README.asm; m68k portions in the 2023 Doom source code leak
i_cyber.c Logitech CyberMan 3D mouse code Heretic source code
i_dga.c X11 DGA graphics 2023 Doom source code leak
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 2023 Doom source code leak
i_svgalib.c Linux SVGA graphics, replaced i_main.c -
i_unix.c Unix fixed-point, networking and display code 2023 Doom source code leak
i_x.c X11 with SHM code Heavily modified and released as i_video.c; original file in the 2023 Doom source code leak
irix.c Irix sound server backend code 2023 Doom source code leak
planar.asm Assembler; optimized versions of R_DrawColumn and R_DrawSpan Replaced with linear.asm in the Heretic source code; original file in the 2023 Doom source code leak
sun.c Sun sound server backend code 2023 Doom source code leak
t.c Text snippet of Unix sound server init code 2023 Doom source code leak
tmap.S i386 and m68k Optimized texture mapping assembler functions; self-modifying code version of R_DrawColumn and variants i386 portions included in README.asm; m68k portions in the 2023 Doom source code leak
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 Splotch position data and animated graphics position data for the DOOM intermission sequence Merged into wi_stuff.c; original file in the 2023 Doom source code leak