Очень большое обновление, основное изменение - полностью портирована графика из ЗП с некоторыми исправлениями и нововведениями. Работают все рендеры, включая DX10 и DX11. Основные изменения по рендерам (не считая тех изменений, которые делались нами для старого рендера, т.к. их перенесли почти все) :
- Возвращена поддержка textures.ltx, включая настройки parallax в стиле OGSE. Отключаемо дефайном
USE_TEXTURES_LTX
через конфиг сборки движка. - Возвращена поддержка ТЧ-формата .thm файлов (мало кто знает, но их формат отличается от ЗП). Отключаемо дефайном
USE_SHOC_THM_FORMAT
через конфиг сборки движка. - Уменьшено кол-во капель для Raindrops эффекта, который уже показывали ранее. Теперь выглядит более реалистично. Добавили несколько консольных команд для его тонкой настройки:
r2_rain_drops -- глобальная команда для включения эффекта через меню.
r2_rain_drops_control -- команда для включения эффекта из скриптов (типа сняли шлем - выключили, одели - включили. При переключении этой командой эффект перезапускается сначала.)
r2_rain_drops_intensity -- Интенсивность эффекта. Чем больше - тем более "ярко выраженнее" будут капли.
r2_rain_drops_speed -- Скорость стекания капель.
- Добавлена команда
g_dof_zoom
для включения эффекта размытия при прицеливании, т.к. он на любителя, лично мне в ЗП он никогда не нравился. Заодно добавилиg_dof_zoom_far
иg_dof_zoom_near
для настройки дальней и ближней границы этого эффекта. - Добавил команду
r3_dynamic_wet_surfaces_enable_streaks
для отключения эффекта стекания воды по стенам и тп. при дожде. Т.к. на ТЧ-локациях оно выглядит ужасно, по умолчанию выключено. - Добавлено сглаживание FXAA
Прочие изменения:
- Теперь движок поддерживает ogf-модели, экспортированные через SDK 0.7
- Добавлена поддержка погоды из ЗП. Включается дефайном
USE_COP_WEATHER_CONFIGS
через конфиг сборки движка. - Для ЗП-погоды добавлен параметр для отключения автоматического расчета положения солнца, что бы положение бралось из погодных секций. Параметр берется из
config/environment/environment.ltx
:
[environment]
; Положение солнца брать из погодных секций. Можно например использовать для Atmosfear 3, чтобы луна работала.
dynamic_sun_movement = false ; по умолчанию - true, т.е. положение солнца расчитывается автоматически.
- Загрузочный экран вынесен из движка в
ui_mm_loading_screen.xml
и доступен для редактирования. Можно с легкостью менять его как угодно. - Добавлена пауза после загрузки сейва в стиле ЗП, но, в отличие от ЗП, сделана полностью в движке. Включается консольной командой
keypress_on_start
. - Новые режимы для прогрессбаров:
mode="from_center"
- от центра к краям,mode="horz"
- слева направо,mode="back"
- справа налево. Так же есть и вертикальные режимы:mode="vert"
,mode="down"
,mode="vert_from_center"
- Прогрессбары состояния предметов в инвентаре теперь анимированные. При открытии инвентаря они плавно увеличиваются до своих значений. Отключить анимации можно через аттрибут
animated="0"
. - Кастомные статики теперь можно просто скрывать и показывать обратно:
hud():GetCustomStatic( "xxx" ):wnd():Show( false ) --скрыть
-- ну и true, когда понадобится показать. Т.е. все необходимое можно AddCustomStatic() один раз, а потом, по мере необходимости, скрывать и показывать, вместо того, что бы удалять и добавлять обратно.
- Добавлено восстановление активного слота после загрузки сейва.
- Расширил возможности
Spawn_Inventory_Item_Section
. Теперь в этом параметре может быть список через запятую вида:
Spawn_Inventory_Item_Section = mutant_krovosos_red_jaw, 0.05, mutant_krovosos_jaw, 0.2
; т.е. если рандом меньше 0.05, то у мутанта будет mutant_krovosos_red_jaw. Если нет, то генерируется новое случайное число и проверяется следующая часть и так далее, пока не кончится список или не будет что-то заспаунено. Если в этом списке только один элемент, то все работает по старому и его вероятность берется из Spawn_Inventory_Item_Probability.
; Spawn_Inventory_Item_Probability теперь необязательный параметр и его значение по умолчанию - 0. Это что бы можно было его не указывать, если в Spawn_Inventory_Item_Section находится список с вероятностями.
- Добавлена примитивная поддержка многоприцельности для оружия. На оружие можно устанаваливать прицелы, которые указаны в
scope_name
и вscope_names
. В последнем можно указывать список через запятую. При установке прицела ищется параметрscope_respawn_СЕКЦИЯ_ПРИЦЕЛА
и если найдена, и в качестве значения указана секция отличная от текущей, то оружие переспаунивается с использованием этой секции. Если прицел снимается, то проверяется значение параметраscope_respawn
. Пример:
[wpn_hk416_acog]
scope_name = wpn_addon_elcan
scope_respawn_wpn_addon_elcan = wpn_m4a1_acog
[wpn_m4a1_acog]:wpn_m4a1
scope_respawn = wpn_hk416_acog
В этом примере на wpn_hk416_acog
ставится прицел wpn_addon_elcan
. При установке прицела оружие будет заменено на wpn_m4a1_acog
. При снятии с него прицела оружие будет заменено обратно на wpn_hk416_acog
.
- Добавил для аномалий опциональный параметр
ignore_any
для игнорирования вообще всего, что попало в радиус действия. Можно использовать, например, для костров. - Добавлен показ статистики нагрузки CPU/GPU консольной командой
rs_hw_stats
Исправления ошибок:
- Добавил консольную команду
r_viewport_near
для удобной настройкиVIEWPORT_NEAR
, т.к. было выяснено что слишком маленькое значение ( у нас целый год было0.05
) вызывает баги с мелькающими текстурами/тенями вдалеке, особенно это заметно при прицеливании. Чем меньше значение - тем заметнее баг. Крайне не рекомендую уменьшать значение меньше0.1
, а лучше вообще оставить оригинальный0.2
. - Исправлены проблемы, которые в редких случаях могли возникать при использовании в скриптах функции
teleport_object()
- Исправлен вылет в ситуации, когда сталкер пытается добить раненого не имея оружия.
- Исправлен очередной баг в обработке отношений между НПС.
- Исправлены возможные скачки времени из-за кривой обработки серверного времени.
- Исправлены окончательно возможные проблемы с неправильным обновлением погоды во многих ситуациях.