Skip to content

Latest commit

 

History

History
32 lines (24 loc) · 4.05 KB

architecture.ru.md

File metadata and controls

32 lines (24 loc) · 4.05 KB

Архитектура NextClient

Английская версия | Документация | Настройка сборки

NextClient добавляет функции в Counter-Strike 1.6: изменяет HUD и меню, расширяет рендеринг моделей и предоставляет инструменты для разработки. Игра использует штатный движок Valve. Модули NextClient загружаются вместе с ним и изменяют отдельные части его работы.

Компоненты

Компонент Назначение
nextclient/launcher Запуск и перезапуск игры, загрузка модулей, обновление клиента в Windows.
nextclient/nitro_api Доступ модулей NextClient к функциям и данным штатного движка и клиента.
nextclient/engine_mini Изменения движка: рендеринг Studio-моделей, материалы, загрузка файлов, монитор производительности.
nextclient/client_mini HUD, радар, камера и отображение оружия.
nextclient/gameui Меню, настройки игры и редактор материалов.
nextclient/filesystem_proxy Работа с файловой системой игры.
nextclient/steam_api_proxy Взаимодействие со Steam.
nextclient/packages Общие библиотеки: математика, обработка изображений, материалы, настройки и фоновые задачи.
nextclient/goldsrc_abi Заголовочные файлы для совместимости со штатными библиотеками GoldSrc.
assets Ресурсы интерфейса, локализация, шейдеры и материалы, устанавливаемые вместе с клиентом.
installer Установка, обновление, восстановление и удаление отдельных копий игры в Windows.
tools Утилиты для подготовки ресурсов, упаковки выпусков, запуска тестового сервера и проверки результатов.
test_support Плагины тестового сервера и библиотеки для запуска тестов.

client_mini и gameui используют возможности engine_mini. Например, GameUI показывает редактор материалов, а engine_mini рисует модель в его окне. Обращение к штатному движку выполняется через nitro_api. Код, нужный нескольким модулям, находится в packages.

Подробнее о подсистемах

Команды сборки, инструменты и проверки перечислены в указателе документации. Правила изменения исходников находятся в инструкциях репозитория и отдельных модулей.