Skip to content

Latest commit

 

History

History
32 lines (24 loc) · 2.6 KB

architecture.md

File metadata and controls

32 lines (24 loc) · 2.6 KB

NextClient architecture

Russian version | Documentation | Build setup

NextClient adds features to Counter-Strike 1.6: it changes the HUD and menus, extends model rendering, and provides development tools. The game uses Valve's stock engine. NextClient modules load alongside it and change selected parts of its behavior.

Components

Component Purpose
nextclient/launcher Game startup and restart, module loading, and client updates on Windows.
nextclient/nitro_api Access to stock engine and client functions and data for NextClient modules.
nextclient/engine_mini Engine changes: Studio model rendering, materials, file downloads, and performance monitoring.
nextclient/client_mini HUD, radar, camera, and weapon display.
nextclient/gameui Menus, game settings, and the material editor.
nextclient/filesystem_proxy Access to the game's filesystem.
nextclient/steam_api_proxy Steam integration.
nextclient/packages Shared libraries for math, image processing, materials, settings, and background tasks.
nextclient/goldsrc_abi Headers for compatibility with stock GoldSrc libraries.
assets Interface resources, localization, shaders, and materials installed with the client.
installer Install, update, recover, and remove standalone Windows game copies.
tools Utilities for preparing assets, packaging releases, running a test server, and checking results.
test_support Test server plugins and libraries needed to run tests.

client_mini and gameui use features provided by engine_mini. For example, GameUI displays the material editor, while engine_mini renders the model in its window. Modules access the stock engine through nitro_api. Code shared by several modules belongs in packages.

Subsystem guides

  • Studio renderer: what the engine and NextClient render, and how the material editor uses them.
  • Performance monitor: how it measures frame time, what data it collects, and where it displays the results.

The documentation index lists build instructions, tools, and checks. Rules for changing source code are in the repository instructions and module instructions.