Skip to main content

Системы отладки

PrimeXT имеет различные системы отладки, которые призваны облегчить жизнь левел-дизайнеру. Как правило, тот или иной механизм включается через консольную переменную или команду, однако иногда отладка включается для конкретной энтити при помощи специального спаунфлага (см. описание энтить: новых или модифицированных стандартных).

Ниже будут приведены именно консольные переменные и команды, а также их назначение.

Примечание

Не пытайтесь использовать данные команды и переменные как часть геймплея — большинство из них перестанет работать в режиме пользователя.

Консольные переменные

НазваниеОписание
phys_debugВключает визуализацию коллизий для физического движка PhysX (требует параметр запуска -physxdebug)
phys_qdebugНа данный момент просто рисует центры у func_door_rotating.
p_speedsВыводит информацию о текущем состоянии физического движка PhysX и объектах на сцене.
r_speedsПринимает значения от 1 до 7. Выводит различную информацию о состоянии рендерера.
r_showtexturesПоказывает различные загруженные текстуры, группируя их по определённому признаку. При помощи стрелок можно перелистывать страницы, клавишей ESC можно выйти из режима просмотра.
sv_novisВыключает отсечение энтитей по PVS на сервере, дабы отличить его от клиентского отсечения видимости.
r_novisВыключает отсечение энтитей по PVS на клиенте. Обычно влияет только на мировые полигоны, поскольку энтити отсекаются на сервере.
r_nocullВыключает отсечение энтитей на клиенте, вне зависимости от того, какой тип куллинга используется.
r_lockpvsБлокирует обновление PVS, чтобы левел-дизайнер мог увидеть дальность прорисовки.
r_lightmapРежим для визуализации освещения без учёта влияния альбедо-текстур и нормалмаппинга.
r_show_luminanceРежим для визуализации яркости (luminance) отрендеренной сцены. В паре с r_lightmap позволяет также визуализировать освещённость (illuminance) сцены в фотометрических единицах.
r_scissor_glass_debugВизуализирует на экране области, используемые для записи скринкопий. Полезно для выяснения источника скринкопий, т.к. они довольно затратны по производительности.
gl_wireframeВключает визуализацию контуров полигонов
r_drawentitiesПо умолчанию значение равно 1. В режимах от 2 до 7 рисует кости, хитбоксы и т. д.
gl_rendererПо умолчанию равен 1. Переключение в ноль позволяет задействовать рендерер игрового движка и сравнить полученную картинку. Скорее всего, это не то что вам нужно.
showtriggersПоказывает триггеры на карте. Работает только после рестарта уровня.
s_showВыводит на экране информацию о воспроизводимых в данный момент звуках.

Консольные команды

НазваниеОписание
edict_usageВыводит краткую информацию по эдиктам.
entity_infoВыводит подробную информацию по энтитям.
entpatchСоздаёт дамп скриптового файла с описанием энтить, который может быть отредактирован вручную. В дальнейшем движок будет грузить именно его, вместо встроенных энтить.
fireПозволяет активировать любую энтить прямо по взгляду игрока, либо активировать энтить, явно указав её имя как аргумент команды.
impulse 103Выводит информацию о состоянии AI монстра.
impulse 104Выводит информацию о состоянии глобальных энтить (состояние которых можно модифицировать при помощи env_global).
impulse 106Выводит информацию о состоянии обычных энтить (имя, глобальное имя, модель, родитель).
impulse 107Выводит имя текстуры по взгляду игрока.
impulse 203Удаляет объект с карты (кроме мира и игроков, конечно).
showtriggers_toggleАльтернатива квару showtriggers. В отличие от него показывает триггеры, не требуя рестарта карты. Однако большинство современных компиляторов (ZHLT, VHLT) имеют в своём коде оптимизацию, благодаря которой все триггеры, покрытые текстурой AAATRIGGER, удаляются, оставаляя только физический хулл, но не оставляя видимый. Чтобы избежать такого поведения, вам следует компилить карту с параметром командной строки -nonullifytrigger для CSG. Либо использовать для триггеров текстуру с другим названием.
r_reloadshadersПроизводит полную перезагрузку и рекомпиляцию шейдеров в реальном времени.
r_postfx_showmenuОткрывает меню для настройки текущего пресета эффектов постпроцессинга (см. энтити env_postfx_controller)