1.0.688
Краткий changelog (отличия только от версии 1.0.625):
Оружие:
- Переделана логика работы
scope_dynamic_zoom
для прицелов сscope_lense_fov_factor
- теперь динамический зум будет именно в 3D-прицеле. - Добавил поддержку текстурных прицелов для оружие с
scope_status = 2
когда снят прицел. Для включения нужно добавитьforce_scope_texture = true
в секцию оружия. - Добавлены новые параметры к настройкам
zoom offset
/zoom rotate
для оружия сscope_status = 2
что бы отдельно настраивать прицеливание с прицелом и без него. Параметры для худовой секции оружия:
; Прицел установлен
scope_zoom_offset
scope_zoom_rotate_x
scope_zoom_rotate_y
; Прицел установлен вместе с ПГ
scope_grenade_normal_zoom_offset
scope_grenade_normal_zoom_rotate_x
scope_grenade_normal_zoom_rotate_y
; Прицел установлен в режиме ПГ
scope_grenade_zoom_offset
scope_grenade_zoom_rotate_x
scope_grenade_zoom_rotate_y
Для активации №1 и №2 в не худовую секцию оружия нужно добавить параметр use_scope_zoom = true
.
Для активации №3 в не худовую секцию оружия нужно добавить параметр use_scope_grenade_zoom = true
- Добавлены параметры в секции оружия:
scope_zoom_hud_fov
- худ фов во время обычного прицеливания
scope_lense_hud_fov
- худ фов во время работы 3D-прицела.
Позволяют довольно гибко настроить приближение оружия во время прицеливания "к экрану". - Расширены возможности
scope_dynamic_zoom
:
Форматscope_dynamic_zoom = true, <steps>, <min_zoom_k
<steps>
- число "шагов" для регулировки зума. По умолчанию4
<min_zoom_k>
- коэффициент для вычисления минимального зума. По умолчанию0,3
- Изменение HUD FOV когда игрок стоит вплотную к стене (from Shoker). Новые параметры в секции оружия:
nearwall_on ; включение (умолчание false)
nearwall_target_hud_fov ; HUD FOV когда ГГ полностью уперся в стену
nearwall_dist_min ; мин. расстояние когда уже дошли до nearwall_target_hud_fov
nearwall_dist_max ; макс. расстояние с которого текущий HUD FOV начинает меняться к целевому nearwall_target_hud_fov
nearwall_speed_mod ; скорость изменения HUD FOV
- Теперь
scope_inertion_factor
будет учитывать текущее значение зума для оружия сscope_dynamic_zoom
- Добавил
fire_zoomout_time
в секцию оружия для принудительного отключения зума после выстрела. Указывается кол-во миллисекунд, через которое нужно отключить зум после выстрела. Имеет смысл использовать со сквозными прицелами у оружия, где после каждого выстрела вручную досылается патрон, типа каркуши. Что бы рука в экран не лезла.
Жажда:
Адаптирована жажда для ГГ из Oxygen.
По сути - это еще один параметр и ресурс для ГГ на ровне с голодом. Главный параметр:
[features]
actor_thirst = true
Для артефактов и костюмов добавлена обработка thirst_restore_speed
. Для съедобных предметов добавлена обработка eat_thirst
.
Включать/выключать можно в любой момент. Сохранения будут совместимые. При отключении просто не будет обрабатываться действие на ГГ и индикаторы на худе, но все скриптовые методы и параметры предметов будут доступны.
Примерный план адаптации для мода.
Всё остальное:
- Добавил экспорт для
psHUD_Flags
-level.get_hud_flags()
и дляHUD().GetUI()->GameIndicatorsShown()
-level.game_indicators_shown()
.
-- Константы для добавления в _g.script (пока не делал экспорт):
HUD_CROSSHAIR = 1 * 2 ^ 0
HUD_CROSSHAIR_DIST = 1 * 2 ^ 1
HUD_WEAPON = 1 * 2 ^ 2
HUD_INFO = 1 * 2 ^ 3
HUD_DRAW = 1 * 2 ^ 4
HUD_CROSSHAIR_RT = 1 * 2 ^ 5
HUD_WEAPON_RT = 1 * 2 ^ 6
HUD_CROSSHAIR_DYNAMIC = 1 * 2 ^ 7
HUD_CROSSHAIR_RT2 = 1 * 2 ^ 9
HUD_DRAW_RT = 1 * 2 ^ 10
HUD_CROSSHAIR_BUILD = 1 * 2 ^ 11
-- Нормальный (копия движкового) способ проверить что игра показывает худ:
function hud_present()
return level.game_indicators_shown() and level.get_hud_flags():is(bit_or(HUD_DRAW, HUD_DRAW_RT))
end
- Добавил параметр
jump_require_power
(по умолчанию false) в секциюactor_condition
актора. Если включен - перед прыжком будет проверяться, что ГГ имеет достаточно силы для прыжка с учетом веса рюкзака. - Поправил музыку в главном меню - теперь треки не будут прерываться.
- Добавил отображение шейпов
CLevelChanger
при включенномg_zones_dbg
- Добавил поддержку чтения patrol_path из ltx файлов напрямую
Формат файлов такой же, как выдает acdc при распаковке. Для подключения, добавить куда-нибудь вsystem.ltx
:
[engine_custom_spawn]
waypoints_file = <name_of_file.ltx> ; путь к файлу в $game_config$
При загрузке, пути из файла будут заменять пути из all.spawn с таким же именем. Можно вообще убрать пути из своего all.spawn и все перенести в ltx файлы, для удобства.
- Перенесён звуковой движок из ЗП с поддержкой стереозвука, выбора звукового устройства в меню и тд.
- OpenAL Soft обновлён до версии 1.19.1
- Для
UITrackBar
добавил возможность указывать в xml в атрибутахmin
,max
значения, что бы уточнять пределы регулировки настроек. Добавил вывод текущего значения настройки на слайдер. - Добавил чтение файлов уровня
level.env_mod.ltx
,level.ps_static.ltx
иlevel.snd_static.ltx
по аналогии с бинарными файламиlevel.env_mod
,level.ps_static
иlevel.snd_static
для более удобного редактирования. У ltx файлов более высокий приоритет над бинарными. Пример. - Добавил экспорт в скрипты для всех именных шрифтов, которые есть в движке.
- Добавил поддержку использования любых секций шрифтов для UI через xml & lua без необходимости править движок. Например, создаем где-нибудь в
font.ltx
шрифт[letterica18_small]
, и используем в xml:<text font="letterica18_small" r="127" g="127" b="127"/>
- Новые скриптовые методы:
-- Проверки могут пригодиться для того, что бы в destory\un_register можно было проверить объект вообще удаляется или это уровень выгружается.
alife():is_unloading() -- когда выгружаются серверные объекты
level.is_removing_objects() -- когда выгружаются клиенские объекты
npc:see_right_now( obj ) -- Аналогично npc:see( obj ), что проверяет, виден этот объект прямо сейчас или нет. see() проверяет наличие obj в визуальной памяти.