How nillerusr/source-engine works
Source is a 3D game engine: a player launches or joins a game, the engine coordinates game simulation and presentation, and the result is rendered and exchanged with other players. The tree also identifies a Legion game layer, client/server ragdoll synchronization, tracing, audio, UI, and content systems. The README documents broader platform, rendering, asset-format, and server-browser capabilities. Sampled source is partial, so the graph avoids asserting detailed wiring for unsampled engine subsystems.
Main entry points: legion.cpp Legion game · rendermanager.cpp Render manager · physicsmanager.cpp Physics manager · networkmanager.cpp Network manager
Components 20
Engine runtime
- Engine runtime
engine - Engine tracing
engine/enginetrace.cpp
Game simulation
- Legion game
app/legion/legion.cpp - World manager
app/legion/worldmanager.cpp - Physics manager
app/legion/physicsmanager.cpp - Network manager
app/legion/networkmanager.cpp - Network messages
app/legion/networkmessages.cpp - Server ragdolls
game/server/ragdoll_manager.cpp - Client ragdolls
game/client/c_ragdoll_manager.cpp
Player experience
- Input manager
app/legion/inputmanager.cpp - Game menus
app/legion/menumanager.cpp - UI manager
app/legion/uimanager.cpp - Render manager
app/legion/rendermanager.cpp - Post processing
materialsystem/stdshaders/Engine_Post_dx9.cpp - Voice audio
engine/audio/voice_sound_engine_interface.cpp
Content and services
- Image formats
bitmap - Data cache
datacache/datacache.cpp - Server browser
common/ServerBrowser - Achievements
common
Other components
- Player
Connections 18
- Player → Game menus: chooses game
- Game menus → Legion game: starts game
- Player → Input manager: provides input
- Input manager → Legion game: controls game
- Legion game → World manager: manages world
- Legion game → Physics manager: updates physics
- Physics manager → Engine tracing: queries collisions
- Legion game → Network manager: coordinates play
- Network manager → Network messages: encodes messages
- Legion game → Render manager: presents game
- Render manager → Post processing: uses shader
- Legion game → UI manager: updates interface
- Legion game → Voice audio: uses voice audio
- Server ragdolls → Client ragdolls: replicates limit
- Render manager → Image formats: uses image formats
- Engine runtime → Data cache: caches data
- Player → Server browser: browses servers
- Player → Achievements: earns achievements