How tmm64/quake2-full-momen works
Quake II is a networked first-person game: a player sends input through the client, the server advances the level and game rules, and updated state returns to the client for presentation. Its product includes single-player and multiplayer play, game modes including CTF, menus and console, audio, and both OpenGL and software rendering. The tree shows platform-specific system and device implementations. The excerpts are partial, so the graph reflects documented structure and source-supported interfaces; some subsystem wiring is intentionally omitted where it could not be verified.
Main entry points: g_main.c Game Rules · cl_main.c Client Runtime · net_chan.c Network Channels · cl_scrn.c Screen and HUD
Components 24
Client
- Client Runtime
client/cl_main.c - Input
client/cl_input.c - Server State Parsing
client/cl_parse.c - Screen and HUD
client/cl_scrn.c - Menus and Console
client/menu.c
Server and Game
- Server Runtime
server/sv_main.c - Client Commands
server/sv_user.c - Entity Updates
server/sv_ents.c - Game Interface
server/sv_game.c - Game Rules
game/g_main.c - Player Lifecycle
game/p_client.c - World and Physics
game/g_phys.c - Combat and Items
game/g_combat.c - Monsters and AI
game/g_monster.c - CTF Mode
ctf/g_ctf.c
Shared Runtime
- Network Channels
qcommon/net_chan.c - Commands and Config
qcommon/cmd.c - Map Collision
qcommon/cmodel.c
Presentation and Platform
- OpenGL Renderer
ref_gl/gl_rmain.c - Software Renderer
ref_soft/r_main.c - Client Audio
client/snd_mix.c - Platform I/O
linux/sys_linux.c
Other components
- Player
- Remote Peer
Connections 24
- Player → Input: provides input
- Player → Menus and Console: uses menus
- Input → Client Runtime: submits commands
- Client Runtime → Network Channels: sends packets
- Remote Peer → Network Channels: exchanges packets
- Network Channels → Server Runtime: delivers packets
- Server Runtime → Client Commands: dispatches commands
- Client Commands → Game Interface: forwards input
- Game Interface → Game Rules: calls game API
- Game Rules → Player Lifecycle: handles players
- Game Rules → World and Physics: advances world
- Game Rules → Combat and Items: applies game rules
- Game Rules → Monsters and AI: updates monsters
- Game Rules → CTF Mode: uses CTF rules
- World and Physics → Map Collision: queries map
- Server Runtime → Entity Updates: builds updates
- Entity Updates → Network Channels: encodes state
- Network Channels → Server State Parsing: delivers updates
- Server State Parsing → Client Runtime: updates client state
- Client Runtime → Screen and HUD: prepares presentation
- Screen and HUD → OpenGL Renderer: submits scene
- Screen and HUD → Software Renderer: submits scene
- Client Runtime → Client Audio: updates audio
- Platform I/O → Client Runtime: provides system services