How 3dsage/opengl-doom_tutorial_part_2 works
This tree contains two small, separate C/OpenGL programs: a first-person 3D rendering demo and a 2D sector editor. Their user workflow is keyboard/mouse input into movement or level-editing state, followed by rendered output; the editor also has a save operation. The texture headers are embedded pixel data, and level.h is a level-data file. The README is empty and the source excerpts are partial, so uncertain file loading and connections between the programs are omitted.
Main entry points: Grid2D.c Edit Controls · Doom_Part_1.c Doom Runtime · T_01.h Texture Pixels · T_NUMBERS.h Number Pixels
Components 16
3D Demo
- Doom Runtime
Doom_Part_1.c - Movement Input
Doom_Part_1.c - Player Motion
Doom_Part_1.c - Sector Renderer
Doom_Part_1.c - Pixel Output
Doom_Part_1.c
2D Editor
- Editor Runtime
Grid2D.c - Edit Controls
Grid2D.c - Sector Editing
Grid2D.c - Grid Renderer
Grid2D.c - Level Save
Grid2D.c
Level Assets
- Level Data
level.h - Texture Pixels
textures/T_01.h - Number Pixels
textures/T_NUMBERS.h - View Pixels
textures/T_VIEW2D.h
Other components
- Player
- Editor User
Connections 12
- Player → Movement Input: presses keys
- Movement Input → Player Motion: sets controls
- Doom Runtime → Player Motion: updates player
- Doom Runtime → Sector Renderer: draws sectors
- Sector Renderer → Pixel Output: draws pixels
- Editor User → Edit Controls: uses controls
- Editor Runtime → Edit Controls: registers callbacks
- Edit Controls → Sector Editing: updates sectors
- Editor Runtime → Grid Renderer: draws editor
- Edit Controls → Level Save: saves level
- Grid Renderer → Texture Pixels: reads pixels
- Grid Renderer → Number Pixels: reads digits