Esta página describe brevemente los archivos del código fuente de Doom y sus roles en el sistema general.
Archivos principales[]
Archivo | Descripción |
---|---|
am_map.c, am_map.h | Automapa. |
d_englsh.h | Cadenas de texto utilizadas en el juego (versiones en inglés). |
d_event.h | Estructura de eventos. |
d_french.h | Cadenas de texto utilizadas en el juego (traducciones al francés). |
d_items.c, d_items.h | Tabla que controla las animaciones de las armas. |
d_main.c, d_main.h | Función principal independiente del sistema y código de configuración. |
d_net.c, d_net.h | Código de red independiente del sistema. |
doomdata.h | Estructuras de datos básicos utilizados para representar los niveles en el disco. |
doomdef.c, doomdef.h | Constantes utilizadas en todo el código fuente. |
doomstat.c, doomstat.h | Las variables en Modo de juego. |
doomtype.h | Definiciones de tipo de control más utilizados en todo el código fuente. |
d_player.h | Definición de la estructura player_t, que representa a los jugadores. |
dstrings.c, dstrings.h | Mensajes de salida. |
d_textur.h | Una estructura de datos no utilizada, compartida en común con Rise of the Triad. Posiblemente sobrante del motor ShadowCaster. |
d_think.h | Definiciones de estructuras thinker (pensador) utilizadas para la IA. |
d_ticcmd.h | Definición de comandos del movimiento del jugador (ticcmd_t). |
f_finale.c, f_finale.h | Código de pantalla final. |
f_wipe.c, f_wipe.h | Efecto de fusión de pantalla |
g_game.c, g_game.h | Material de juego de alto nivel: transiciones entre estados de juego, salidas de nivel, respondedor de eventos del juego principal, creación de nuevos juegos, grabaciones demo. |
hu_lib.c, hu_lib.h | Funciones de biblioteca para el panel de avisos. |
hu_stuff.c, hu_stuff.h | Código del panel de avisos. |
i_main.c | Función principal. |
i_net.c, i_net.h | Código de red dependiente del sistema (versión UDP Unix). |
i_sound.c, i_sound.h | Código de sonido dependiente del sistema. |
i_system.c, i_system.h | Código de misceláneas dependiente del sistema (manejo de errores, timer, etc.). |
i_video.c, i_video.h | Código de video dependiente del sistema (versión X11 Unix). |
info.c, info.h | Tablas de datos utilizados por el juego: tabla de nombres de sprites, tabla de datos de cosas, tabla de frames. |
m_argv.c, m_argv.h | Funciones para buscar la línea de la lista de argumentos de comandos. |
m_bbox.c, m_bbox.h | Cuadros delimitadores. |
m_cheat.c, m_cheat.h | Análisis de códigos de trucos. |
m_fixed.c, m_fixed.h | Funciones de número de punto fijo. |
m_menu.c, m_menu.h | Menú. |
m_misc.c, m_misc.h | Funciones varias: representación de texto, carga de archivo de configuración, escribir capturas de pantalla. |
m_random.c, m_random.h | Generador de números pseudoaleatorios. |
m_swap.c, m_swap.h | Rutinas de conversión endianness. |
p_ceilng.c | Movimiento de techos. |
p_doors.c | Movimiento de puertas. |
p_enemy.c | IA de los monstruos. |
p_floor.c | Movimiento de suelos. |
p_inter.c, p_inter.h | Interacción de objetos: funciones de recolección de objetos, funciones de daño de los objetos. |
p_lights.c | Luces animadas. |
p_local.h | Encabezado global para las funciones en la sección p_ *. |
p_map.c | Movimiento de objetos: colisiones, teletransporte, detección de lesiones. |
p_maputl.c | Funciones de biblioteca para el código p_map.c: del mapa de bloques BLOCKMAP. |
p_mobj.c, p_mobj.h | Funciones básicas de control de objetos: creación / destrucción de objetos, movimientos, etc. |
p_plats.c | Ascensores. |
p_pspr.c, p_pspr.h | Funciones PSprite (sprite de armas). |
p_saveg.c, p_saveg.h | Partidas guardadas. |
p_setup.c, p_setup.h | Carga de datos de mapas y configuración. |
p_sight.c | Comprobación de línea de visión / visibilidad de los monstruos. |
p_spec.c, p_spec.h | Efectos especiales: texturas animadas, líneas disparadoras, cambios de suelo / techo / iluminación. |
p_switch.c | Interruptores de pared. |
p_telept.c | Manejo de líneas de teletransportadores. |
p_tick.c, p_tick.h | Código base del thinker (pensador). |
p_user.c | Código de los puntos de vista del Jugador (balanceo del arma, jugador objeto pensador, etc.). |
r_bsp.c, r_bsp.h | Recorrido del árbol BSP. |
r_data.c, r_data.h | Inicialización de los datos (texturas, etc.) para su uso en el código de representación. |
r_defs.h | Definiciones de tipo utilizado en el motor de renderizado. |
r_draw.c, r_draw.h | Funciones de dibujo rápido. |
r_local.h | Incluye todos los archivos de cabecera r_*. |
r_main.c, r_main.h | Punto de entrada al código de renderizado. |
r_plane.c, r_plane.h | Renderizado de planos (piso / techo). |
r_segs.c, r_segs.h | Renderizado de paredes. |
r_sky.c, r_sky.h | Código de renderizado de cielo (en realidad esto es sólo algo de código muy básico de inicialización; el código de renderizado de cielo está realmente en r_plane.c). |
r_state.h | Definiciones de las variables globales utilizadas por el motor de renderizado. |
r_things.c, r_things.h | Renderizado de sprites. |
sounds.c, sounds.h | Tablas de sonido / música. |
s_sound.c, s_sound.h | Código de sonido independiente del sistema. |
st_lib.c, st_lib.h | Código de rutinas de biblioteca de la barra de estado. |
st_stuff.c, st_stuff.h | Código principal de la Barra de estado. |
tables.c, tables.h | Tablas de consulta para seno / coseno rápido. |
v_video.c, v_video.h | Parche genérico de renderizado de imagen (para el menú, etc.). |
wi_stuff.c, wi_stuff.h | Pantalla intermedia. |
w_wad.c, w_wad.h | Código de carga WAD. |
z_zone.c, z_zone.h | Asignador de zonas de memoria. |
Servidor de sonido[]
Estos archivos son parte del servidor de sonido:
Archivo | Descripción |
---|---|
linux.c | Códigos de salida de sonido específicos de Linux. |
sounds.c, sounds.h | Lista de efectos de sonido. |
soundsrv.c, soundsrv.h | Código del servidor de sonido principal. |
soundst.h | Estructuras de sonido y prototipos. |
wadread.c, wadread.h | Código de lectura de archivos WAD. |
Archivos perdidos[]
Algunos archivos fueron parte del código fuente original, pero luego fueron eliminados en la "limpieza" realizada antes del lanzamiento del código fuente por Bernd Kreimeier.
La evidencia de estos archivos aparece en el archivo de texto "FILES" distribuido con el código fuente de Doom, que parece contener una lista de archivos de Unix de los archivos de código fuente antes de los cambios introducidos por Kreimeier.
Las versiones de algunos de estos archivos, no obstante, se pueden encontrar en otros lugares.