-
Notifications
You must be signed in to change notification settings - Fork 84
Engine ru RU
- Полностью рабочий x64
- Обновлён LuaJIT до актуальной версии 2.1
- Обновлён Luabind
- Все модули движка линкуются статически, поэтому оставлен только DX11 рендер
- Интегрирован аллокатор памяти общего назначения mimalloc.
- Добавлен внутриигровой редактор погоды и звуковых зон на базе ImGui - включается в игре по двойному нажатию Shift + F10.
- Перенесена большая часть правок оригинального OGSE, X-Ray Extensions, а также из X-Ray Engine by Alpet & KD.
- Вырезано огромное кол-во устаревшего и ненужного API, в т.ч. сетевого и мультиплеерного.
- Движок поддерживает ogf-модели, экспортированные через SDK 0.7
- Сделано автоопределение RU и WW архивов игры.
- Работает режим игры от третьего лица, чтобы можно было стрелять по направлению камеры, курсор прицела не скрывается, фонарик светит куда надо и тп.
- Адаптирована консоль из Anomaly с подсказками при вводе команд, а также с подсказками по возможным значениям этих команд.
- Добавлены отладочные консольные команды для отключения отображения или обработки различных объектов:
r2_disable_hom -- отключить обработку HOM-ов. Можно использовать на кривых локациях, в которых часто наблюдаются баги из-за них.
r2_disable_particles -- отключить отображение партиклов.
r2_disable_dynamic -- отключить отображение динамических объектов.
r2_disable_light -- отключить отображение света от лампочек.
r2_disable_sectors -- отключить обработку секторов. Можно использовать на кривых локациях, в которых часто наблюдаются баги из-за них.
r2_disable_static_normal -- отключить отображение статических объектов
r2_disable_static_progressive
r2_disable_static_lod -- отключить отображение LODов
r2_disable_static_tree -- отключить отображение деревьев
r2_disable_static_tree_progressive
- Для удобной работы с потоками и асинхронными задачами была интегрирована библиотека TaskThreadPool.
- С помощью вышеупомянутой библиотеки были реализованы асинхронные расчёты дождя
r_mt_rain
, солнцаr_mt_sun
, партикловr_mt_particles
и светаr_mt_lights
. - Добавлена многопоточная загрузка текстур
r_mt_texload
. - D3D11 Deferred Contexts для каскадов теней
- Добавлены следующие виды сглаживания:
- SMAA
- TAA
- AMD NativeAA на базе AMD FSR
- Nvidia DLAA на базе Nvidia DLSS
- Добавлен Contrast Adaptive Sharpening (LVutner)
- Адаптирован Screen Space Shaders addon.
- Отражения на воде (SSR)
- Лужи на террейне
- Parallax Occlusion Mapping для стен
- Оптимизированные тени от травы
- DOF
- Интерактивная трава, реагирующая на различные действия (ходьба НПС, оружие, взрывы, монстры, аномалии и т.п.)
- Bloom
- Различные исправления
- Адаптирован ENHANCED SHADERS (PBR) + Enhanced Color Grading
- Добавлены следующие виды Ambient Occlusion: SSDO (Screen Space Shaders), GTAO (Doenitz).
- Добавлены новые типы солнечных лучей: Volumetric, Screen Space (OGSE) и Screen Space (mrmnwar), комбинированные виды (Volumetric + Screen Space).
- Реализованы шейдерные флары от солнца. Шейдерные флары учитывают цвет солнца из настроек погоды. Включаются командой
r_lens_flare
. - Ввиду наличия шейдерных флар, текстурные флары были отключены.
- Звуковой движок OpenAL 3D на базе библиотеки OpenAL Soft.
- Поддержка EFX (OpenAL).
- Поддержка стерео звуков.
- Поддержка звуков с частотой дискретизации выше 44100 Гц.
- Добавлен редактор для звуковых зон (запускается как и редактор погоды по
SHIFT
+F10
) После редактирования настройки зон сохранятся в текстовом форматеsenvironment.ltx
и после этого двиг будет читать только этот конфиг вместоsenvironment.xr
. Просто распаковатьsenvironment.xr
можно, активировав консольную командуsenvironment_xr_export
. - Добавлена консольная команда
dbg_lalib_dump
для дампа в лог текущегоELightAnimLibrary
. Редачить его в тексте смысла нету - проще в SDK, но каждый раз искать, что там - напряжно.
- Поддержка Discord Rich Presence.
- Добавлена поддержка отладки рендера с помощью RenderDoc.
- Добавлена поддержка профилирования производительности движка и скриптов с помощью Tracy.
- Из скриптов теперь можно вызвать
__debugbreak()
, чтобы можно было отладить скрипт с просмотром переменных и т. п. в Visual Studio, используя LuaDkmDebugger.
- Использование устаревших D3DX библиотек заменено на DirectXTex, DirectXMesh, DirectXMath. Благодаря этому движок теперь поддерживает современные форматы сжатия текстур типа
BC7
и не требует наличия в системеd3dx*.dll
. - Возвращена поддержка
textures.ltx
, включая настройки parallax в стиле OGSE. Отключаемо дефайномUSE_TEXTURES_LTX
через конфиг сборки движка. - Теперь можно использовать несколько
textures.ltx
. Например,textures1.ltx
,textures2.ltx
, ... . Они будут грузиться по возрастанию и дополнять друг друга. Можно для всяких текстурных паков это использовать. - Добавлена поддержка ЗП формата для файлов описания текстур
texture_desc
. Они удобнее, т.к. можно кучу текстур описать в одном файле. Также добавлена автозагрузка описаний по путиui\textures_descr\*.xml
- Добавлена поддержка кастомных шейдерных параметров без пересборки движка. Их можно использовать для написания простых шейдеров. Добавить их можно в секцию
[shader_params_export]
в файлеexternal.ltx
:
[shader_params_export]
shader_param_1
shader_param_2
shader_param_3
Параметр с названием, добавленным в эту секцию, будет экспортирован в шейдеры для чтения, а также будет добавлен в виде консольной команды с таким же названием для самостоятельного изменения значений.
- Шейдеркэш отключен. От него больше проблем, чем пользы.
- Добавлено кэширование
ui_shader
для ускорения работы UI. - Экспорт в шейдеры
fog_params.y
--> fog_near,fog_params.z
--> fog_far. Может когда-то пригодятся. - Добавлена поддержка шейдерных тепловизоров на базе аддона Heatvision со своими доработками.
- Добавлена поддержка шейдерных ПНВ на базе аддона Beef's Shader Based NVGs со своими доработками.
- Добавлена поддержка Anomaly-style распакованных партиклов.
Добавляем в
fsgame.ltx
:
$game_particles$ = true| false| $game_data$| particles\
Пишем в консоли particles_export
- двиг распакует все загруженные партиклы в текстовый формат. После этого двиг будет всегда читать распакованные партиклы из этой папки вместо файлов particles*.xr
, если эта папка не пуста. Можно после редактирования распакованных партиклов, используя конс. команду particles_import
, упаковать их обратно в один particles_cop.xr
файл в ЗП-формате (это важно, партиклы в ЗП-формате должны быть названы именно так, т.к. имеют отличия от ТЧ-формата партиклов и читаются немного по-другому). Стоит заметить, что запуск двига с распакованными партиклами происходит немного дольше.
- Добавлена поддержка распаковки
shaders.xr
. Чтобы распаковать, в консоли должна быть активирована командаshaders_xr_export
. После запуска двига, двиг распакует этот файл в текстовыйshaders.ltx
и после этого будет читать только этот конфиг вместо .xr файлов. Распакуется какshaders.xr
, так иshaders_cop.xr
(ЗП-вариант, если он есть). -
Добавлена поддержка спавн файлов со встроенным гейм графом, как в ЗП. Собрать спавн в таком виде можно через универсальные компиляторы с дополнительным ключом
-insert_graph
. Такие спавны не требуют глобальногоgame.graph
и локальныхlevel.gct
,level.graph
. При отсутствии данного чанка (с графами) в файле спавна, игра будет загружатьgame.graph
и спавн, как раньше. - Добавлена поддержка чтения patrol_path из ltx файлов напрямую, вместо all.spawn.
Формат файлов такой же, как выдает ACDC при распаковке. Для подключения, добавить куда-нибудь в
system.ltx
:
[engine_custom_spawn]
waypoints_file = <name_of_file.ltx> ; путь к файлу в $game_config$
При загрузке, пути из файла будут заменять пути из all.spawn с таким же именем. Можно вообще убрать пути из своего all.spawn и все перенести в ltx файлы, для удобства. Если переопределить путь пустой секцией, то этот путь будет удаляться.
- HQ-Geometry fix от Shoker. Модели теперь выглядят более качественно.
- Исправлена работа консольных команд
r__tf_mipbias
иr__tf_aniso
- теперь они работают правильно, их значения не сбрасываются. - Фикс переполнения
rsDVB_Size
- он увеличен. - Скрины будут в формате png по умолчанию. Для скринов в формате jpg оставлен ключ запуска
-ss_jpg
. - Прозрачные элементы на png скриншотах теперь отображаются корректно.
- Работают скриншоты в оконном режиме.
- Фикс отображения на худе прозрачных поверхностей.
- Добавлен ограничитель FPS от Shoker.
Режимы ограничения переключаются консольной командой
r_fps_lock
(nofpslock
,fpslock60
,fpslock120
,fpslock144
,fpslock240
). - Фикс растянутого неба.
- Изменен диапазон значений для
r__geometry_lod
: от0.5
до3
. - Расширенная регулировка дальности, плотности и высоты травы.
r__detail_scale ;регулирует высоту травы.
r__no_scale_on_fade ; вроде как включает и выключает регулировку высоты травы для нее, когда она ресуется в меньшем размере на расстоянии, прежде чем перестать рисоваться.
- Расширена регулировка плотности травы. Теперь диапазон
r__detail_density
: [0.06
,1.0
]. - Включен фикс виртуального радиуса ламп.
- Включен фикс "мигающих поинт-ламп".
- Убрана обработка секции
[reduce_lod_texture_list]
. - Починен R_occlusion - мерцание теней от источников света на худе, предупреждения по переполнению
RENDER [Warning]: Too many occlusion queries were issued(>1536)!!!
и прочие глюки этой системы. - Работает levelmap / cubemap screenshot ( #298 )
- Починен и теперь работает дебаг-рендер на DX11 (для
g_zones_dbg
,g_vertex_dbg
и тп.) - Добавлен шейдерный эффект для шлемов. Добавлены команды
r2_visor_refl
иr2_visor_refl_control
(шейдер включается при включении этих 2х команд). Также добавлены командыr2_visor_refl_intensity
- для настройки силы эффекта иr2_visor_refl_radius
- соответственно для изменения радиуса эффекта. По умолчанию шейдер выключен консольными командами поскольку для нормальной его работы нужен скрипт который будет отслеживать надетый костюм и уже в зависимости от этого включать\выключать шейдер. - Добавлен новый Raindrops эффект (подходит для шлемов). Настраивается консольными командами:
r2_rain_drops -- глобальная команда для включения эффекта через меню.
r2_rain_drops_control -- команда для включения эффекта из скриптов (типа сняли шлем - выключили, одели - включили. При переключении этой командой эффект перезапускается сначала.)
r2_rain_drops_intensity -- Интенсивность эффекта. Чем больше - тем более "ярко выраженнее" будут капли.
r2_rain_drops_speed -- Скорость стекания капель.
- Консольная команда
ai_use_torch_dynamic_lights
будет управлять объемным светом фонарей нпс, если он включен для них. Ранее эта команда не работала вообще. - Фикс тумана для шейдера
models\transparent
- Добавлен специальный шейдер для коллиматоров
models_lfo_light_dot_weapons
- Тесселяция теперь может работать на худовых моделях
- Скрины для сохранений делаются в более высоком качестве
- Добавлена поддержка полупрозрачного cплэша в формате png. Можно заменить сплэш, положив в папку с движком
splash.png
. Разрешение сплэша -804
х538
. - С ключом
-multi_instances
можно отключить ограничение на запуск нескольких движков одновременно - Добавлены новые консольные команды:
r__smap_size -- настройка разрешения карт теней.
r__actor_shadow -- включить тень от ГГ.
g_console_show_always -- для рендеринга лога консоли всегда
rs_always_active -- включить режим, в котором игра не будет вставать на паузу при переключении на другие окна.
g_zones_dbg -- Включить визуальную отладку рестрикторов, аномалий, переходов, лестниц и прочих зон игре.
g_vertex_dbg -- Включить визуальную отладку АИ-сетки в игре.
g_crosshair_dbg -- Принудительный показ перекрестья прицела, для настройки прицеливания, например.
g_music_tracks -- Включить музыкальный эмбиент.
g_ammunition_on_belt -- Включить использование патронов только с пояса
g_spawn <section_name> -- Спавн предмета по имени секции на землю
g_spawn_to_inventory <section_name> -- Спавн предмета по имени секции в инвентарь актора
hud_draw -- Показать/скрыть худ.
hud_adjust_mode -- Настройка прицеливания для оружия. Вот видео, как ей пользоваться: https://www.youtube.com/watch?v=kIcXzWVR2xI
show_wnd_rect -- Визуальная отладка UI в игре
show_wnd_rect_all -- Визуальная отладка UI в игре
show_wnd_rect_names -- Показывать имена UI статиков в отладке
jump_to_level <level_name> -- быстрый переход на нужный уровень
time_factor -- Команда для перемотки времени. Заоблачные цифры выставлять не рекомендую, движок может заклинить
hud_crosshair_build -- включить круглый курсор, как в билдах.
rs_hw_stats --показ статистики нагрузки CPU
set_weather --команда для изменения погоды
input_exclusive_mode --команда для настройки режима захвата клавиатуры/мыши. По умолчанию должно быть включено. Выключать только тем, кому надо чтобы после запуска движка не блокировались мультимедийные клавиши на клавиатуре. Но при отключении может возникнуть множество различных проблем на системах с несколькими мониторами и не только из-за недозахвата управления. Здесь, в отличие от ЗП, значение этой команды сохраняется в user.ltx.
g_camera_collision -- Вкл/выкл псевдо-коллизию камеры
g_font_scale_x -- Ширина шрифтов
g_font_scale_y -- Высота шрифтов
dbg_draw_skeleton -- Визуальная отладка скелетов объектов в игре
dbg_string_table_error_msg -- Отладочная команда для вывода непереведённых строк в лог
r_font_shadows -- Вкл/выкл тени от шрифтов
particle_update_mod -- Управление плавностью партиклов