github OGSR/OGSR-Engine 2.1.389

latest releases: 1.oct.2024, 2.1.420, 2.1.417...
2 years ago

Фундаментальные изменения в движке:

  • Все модули движка линкуются статически, поэтому оставлен только DX11 рендер.
  • Двиг переведён на С++20. Используются самые новые features, такие как std::format, и тд.
  • Интегрирован mimalloc - is a general purpose allocator with excellent performance characteristics.

Наиболее значимые изменения:

  • Теперь двиг поддерживает погоду из Зова Припяти. Тип погоды определяется по наличию специфичных для этой погоды строк в fsgame.ltx. Если их нет - используется ТЧ-стайл погода.

  • Починен и возвращён оптимизированный MSAA. Крайне рекомендуется к использованию, потому что хорошо сглаживает провода и полупрозрачную геометрию. На настройках 2х/4х жрет не очень много fps.

  • В меню добавлена настройка размера шрифтов - особенно пригодится обладателям мониторов с сверхвысокими разрешениями. Регулируется ширина и высота шрифтов конс. командами g_font_scale_x, g_font_scale_y.

  • Возвращена многопоточная загрузка текстур. Теперь она даёт очень существенное ускорение загрузки игры. Управляется конс. командой r_mt_texload и соотв. опцией в меню.

  • Реализовано Anomaly-style разделение расчетов худа для предметов в левой и правой руках + новая система коллизии худа для OGSR GA.

  • Добавлена поддержка 90% анимаций для оружия из Gunslinger Mod

  • Добавлена поддержка 3D PDA. Важный нюанс: для его работы слот пда должен быть активируемым:

[inventory]
slot_visible_8 = true ;pda
  • Переписан настройщик худа, теперь в нём можно настраивать позиции лазера и фонаря.

  • Добавлен настройщик положения оружия от третьего лица. Можно настроить положение оружия как у актора от 3 лица, так и у НПС. Настройка для состояния за спиной у нпс тоже работает.
    Для включения режима настройки наводим курсор на НПС и набираем в консоли dbg_adjust_attachable_item имя_секции_оружия или (что более удобно) dbg_adjust_attachable_item_in_slot номер_слота.
    LSHIFT + Z/X/C + PageUP/PageDown - настройка position (x,y,z)
    LALT + Z/X/C + PageUP/PageDown - настройка rotation (x,y,z)
    LSHIFT + ENTER - сохранение результатов в папку logs/_world/
    Шаги для настройки регулируются командами adjust_delta_pos, adjust_delta_rot

  • Добавлена SFZ-стайл тряска рук при воздействии пси-ауры мутантов. Интенсивность тряски регулируется через controller_amplitude в секции [wpn_bobbing_effector]

  • Добавлено скриптовое управление demo_record:

level.demo_record_start()
level.demo_record_stop()

local HPB = level.demo_record_get_HPB()
level.demo_record_set_HPB(HPB)

-- направление
-- HPB.x Left\Right
-- HPB.y Up\Down
-- HPB.z Rotate Left\Rotate Right

local position = level.demo_record_get_position()
level.demo_record_set_position(position)

-- position x y z как обычно на уровне

level.demo_record_set_direct_input(true/false) -- управление прямым вводом

Так же поправлено управление игрой в режиме demo record. Включается на * (звездочку DIK_MULTIPLY)

  • Эффекты ppe теперь должны отображаться в режиме от 3 лица. Так же добавлена команда g_effects_on_demorecord что б эффекты были и в режиме demo_record.

  • Добавил метод game.stop_tutorial и ЗП-стайл экшены для туториалов типа такого:

<action id="use" finalize="1">xr_effects.pri_a18_use_idol</action>
  • Для статиков можно указывать прозрачность. ogm видео теперь тоже поддерживает регулировку прозрачности, как и обычные текстуры. Примеры:

XML:

<!-- color_alpha="192" указывает, что текстура будет иметь 25% прозрачности. Значение от 0 до 255, от полностью прозрачной (не видимой) до полностью оригинальной текстуры. При отсутствии этого параметра текстура показывается как есть, т.е. без доп. прозрачности. -->
<hud_gaz_blue x="0" y="0" width="1024" height="768" stretch="1" color_alpha="192"
  light_anim="ui_slow_blinking_alpha" la_cyclic="1" la_texture="0" la_text="1" la_alpha="1" priority="30">

LUA:

local cs = get_hud():GetCustomStatic( hud_static )
cs:wnd():SetColorA( 128 ) --Здесь SetColorA установить прозрачность статика в 50%.
cs:wnd():SetColorA( 255 ) -- Этот вызов вернет статик к его оригинальному виду, т.е. без доп. прозрачности.
  • Добавлен функционал работы с мешами из скриптов. Вкл/выкл их видимости, а так же анализ модели (дамп всех костей и мешей). Главная фича управления мешами (в отличие от костей) в том, что можно менять внешний вид модели ничего не делая с скелетом.
local item = db.actor:active_item()
if item then
  item:dump_visual_to_log() --Распечатать в лог информацию о мешах и костях модели - мировой и худовой, если худовая доступна.
  log3("--Mesh count of [%s]: [%s]", item:name(), item:get_mesh_count_hud()) --вывести кол-во мешей в худовой модели.
  item:set_show_model_mesh_hud(0, false) --Установить видимость меша для худовой модели, в данном случае скрыть нулевой.
  local shown = item:get_show_model_mesh_hud(0) --узнать показан ли меш

  --Тоже самое для мировых моделей, подойдет для любых объектов наверно, не только для оружия.
  item:set_show_model_mesh(4, true)
  item:get_show_model_mesh(4)
  item:get_mesh_count()
end

Прочие более мелкие изменения:

  • Добавлена опция volumetric_for_actor для управления объёмным светом фонаря актора, т.к. у актора объемный свет выглядит не очень красиво.
  • Добавлена конс. команда show_wnd_rect_names для показа имён статиков при отладке UI.
  • Добавлена конс. команда g_mouse_wheel_switch_slot и соотв. опция в меню.
  • Добавлено чтение hud_fov из конфига оружия
  • Редактирование меток в пда перенесено на левую кнопку мыши
  • Патрон в патроннике можно включить в конфиге оружия CartridgeInTheChamberEnabled = true
  • Xml парсер не будет игнорировать грубые ошибки в синтаксисе xml файлов. Однако оставлен режим совместимости в [features]:
;Игнорировать ошибки парсинга xml (в ТЧ они встречаются даже в оригинальной игре)
skip_shoc_xml_errors = true
  • Добавлены звуки snd_aim_start, snd_aim_end, snd_close_weapon_empty
  • Для оружия с трёхстадиевой перезарядкой при расклине будет проигрываться первая и третья стадия перезарядки.
  • Добавлена конс. команда r_terrain_parallax_enable и соотв. опция в меню.
  • Обновлён xrCompress. Добавлен ключ -WW для worldwide формата архивов, добавлен игнор пустых папок, добавлены настройки игнорируемых имен файлов, а не только расширений (см. xrCompress_Cfg.ltx)
  • Фикс ситуации когда вместо оружия в руках нпс мог оказаться артефакт
  • Команда ai_use_torch_dynamic_lights будет управлять объемным светом фонарей нпс, если он включен для них. Ранее эта команда не работала вообще.
  • Убран игнор ошибок в луа каллбеках. (на удивление в очень редких случаях ошибки там к сожалению могли игнорироваться)
  • Фикс тумана для шейдера models\transparent
  • Добавлен метод PlaySound("filename") в класс меню.
  • При использовании движка с оружием из Gunslinger Mod, надо добавить в system.ltx:
[mod_ver]
mod_ver = "OGSR: Gunslinger Addon"

так будут активированы необходимые для него фиксы. Затычка от крашей в ode.dll например.

Don't miss a new OGSR-Engine release

NewReleases is sending notifications on new releases.