Рендер:
- Адаптирован SCREEN SPACE SHADERS Addon v18.1
- Адаптирован ENHANCED SHADERS (PBR) + Enhanced Color Grading v1.10
- Добавлен шейдер GTAO by Doenitz
- Теперь мы не будем поддерживать два вида шейдеров, для тч и зп погоды. Шейдеры в OGSR GA и здесь будут общие. Соотв. корректная работа этих шейдеров на тч-погоде не гарантируется. Рекомендуем использовать зп-погоду, например эту или любую другую.
- Теперь двиг должен правильно выбирать самый мощный GPU из имеющихся (актуально на ноутах с несколькими GPU)
- Использование устаревших D3DX библиотек заменено на DirectXTex, DirectXMesh, DirectXMath. Благодаря этому двиг теперь поддерживает современные форматы сжатия текстур типа
BC7
и не требует наличия в системеd3dx*.dll
Оптимизация:
- Добавлено кэширование визуалов для уменьшения лагов при приближении к большим скоплениям объектов. Для этой же цели переделан механизм загрузки звуков для НПС
- Добавлено кэширование
ui_shader
для ускорения работы UI - Добавлена оптимизация для расчетов инверсной кинематики из Anomaly
- Фикс лагов из-за партиклов если застрять на машине в кустах
Многопоточность:
- Интегрирован TaskThreadPool для удобной работы с потоками и асинхронными задачами
std::packaged_task
- Добавлен асинхронный расчет дождя (конс. команда
r_mt_rain
) - Добавлен асинхронный расчет травы (конс. команда
r_mt_details
) - Добавлен асинхронный расчет солнца (конс. команда
r_mt_sun
) - Переделана асинхронная загрузка текстур (конс. команда
r_mt_texload
)
UI:
- Переделана система шрифтов и парсер текста для корректной поддержки
UTF-8
. Шрифты с поддержкойUTF-8
можно генерировать используя Fonts_generator (WIP, будет дорабатываться). Обратная совместимость сANSI
-символами, детектUTF-8 BOM
и прочие нюансы учтены. - Добавлена поддержка выравнивания текста по двум сторонам (
alJustified
для скриптов,align="j"
для xml) - Сделаны отключаемыми кринжовые статики кубиков в ПДА (
a_static
,anim_static
) - Поддержка рандомных загрузочных экранов (
intro_l01_escape_1.dds
,intro_l01_escape_2.dds
,3
,4
,...
) - Название валюты вынесено в xml:
ui_st_money_descr
Оружие:
- Добавлена поддержка управления костями пулемётной ленты
bullet_bones = bullet_1, bullet_2, bullet_3, bullet_4, bullet_5, bullet_6, bullet_7, bullet_8, bullet_9, bullet_10, bullet_11, bullet_12
- Добавлена опция в конфиг оружий
dont_interrupt_shot_anm
(по умолчанию вкл.) - давать ли доиграть анимацию выстрела после выстрела. Не на всех оружиях это хорошо выглядит, только для стволов из Gunslinger подходит отлично - Можно отключить шейдерное авторастягивание прицельной сетки добавив в конфиг предмета
scope_texture_autoresize = false
, например для широкой текстуры бинокля
Всё остальное:
- Добавлен внутриигровой редактор погоды на базе ImGui - включается в игре по
Shift
+F10
- Добавлена поддержка полупрозрачного cплэша в формате
png
- Клавиши скрытия/показа худа теперь можно настроить в опциях, т.к. стандартные
NUM+
/NUM-
есть не на каждой клавиатуре - При скрытии худа теперь будет скрываться весь UI, включая окно новостей и курсор, что бы было удобнее делать скриншоты
- Адаптация #432 : Добавлена поддержка спавн файлов со встроенным гейм графом, как в ЗП. Собрать спавн в таком виде можно через универсальные компиляторы с дополнительным ключом
-insert_graph
. Такие спавны не требуют глобальногоgame.graph
и локальныхlevel.gct
,level.graph
. При отсутствии данного чанка (с графами) в файле спавна, игра будет загружатьgame.graph
и спавн, как раньше. - Фикс багов физики - зафиксированные физ. объекты теперь не должны со временем менять своё положение в некоторых случаях
- Добавлен каллбек, который вызывается перед поднятием предмета ГГ (нужен для анимации подбора предметов)
[engine_callbacks]
; Если вернуть false - движок не будет поднимать предмет
actor_on_item_before_pickup = ogsr_actor_animation.on_item_before_pickup
- Добавлен метод
level.iterate_nearest
и каллбекиon_footstep
,on_actor_land
,on_actor_jump
из Anomaly - OpenAL Soft обновлён до версии
1.23.1
- Mimalloc обновлён до актуальной версии
- Генератор рандомных чисел (
CRandom
) теперь используетstd::mersenne_twister_engine
и работает намного лучше - ...Множество прочих мелких фиксов и изменений...