Skip to content

Releases: OGSR/OGSR-Engine

3.500

03 Feb 19:36

Choose a tag to compare

  • Теперь terrain parallax из SSS доступен в публичной версии OGSR Engine. Включение в меню или консольной командой r_terrain_parallax_enable.
    Для правильной его работы, особенно чтобы правильно работали лужи, нужна перенастройка террейна: прописать террейнам в shaders.ltx/xr текстуры из Anomaly+SSS, которые содержат правильные бампы под это. Пример:
[levels\aver_grass]
...
detail_name                      = detail\ground_grass_01
r2_r                             = detail\ground_grass_01
r2_g                             = detail\ground_asphalt_01
r2_b                             = detail\ground_earth_01
r2_a                             = detail\ground_mud_01

Пример shaders.ltx из Secret Trails: https://github.com/I-AmDead/Secret-Trails/blob/80bb606/gamedata/shaders.ltx#L897
Кроме этого, для каждой текстуры террейна нужно подобрать свой offset. На offset влияет bump текстуры. Offset'ы задаются консольной командой ssfx_terrain_offset (их может быть 4). Для каждой локации подбирается набор из 4 текстур террейна, а offset'ы переключаются скриптом при переходе на новую локацию. Пример: https://github.com/I-AmDead/Secret-Trails/blob/80bb606/gamedata/scripts/ogsr/ogsr_shaders_control.script#L17

--Примерно так это настроено в Secret Trails
local ssfx_parallax_setup = {
    ["l01_escape"]			= { -0.25, -0.15, -0.1,  0.0   },
    ["l02_garbage"]			= { -0.15, -0.05, -0.1,  0.1   },
    ["l03_agroprom"]			= { -0.2,  -0.05, -0.13, 0.1   },
    ["l04_darkvalley"]			= { -0.1,  -0.05, -0.15, 0.1   },
    ["l05_bar"]				= { -0.15, -0.1,  -0.13, 0.0   },
    ["l06_rostok"]			= { -0.07, -0.05, -0.07, 0.0   },
    ["l07_military"]			= { -0.1,  -0.1,  -0.1,  0.05  },
    ["l08_yantar"]			= { 0.1,   -0.1,  -0.45, 0.0   },
    ["l09_deadcity"]			= { -0.13, -0.15, -0.25, 0.15  },
    ["l10_radar"]			= { -0.2,  -0.05, -0.1,  0.0   },
    ["l10_red_forest"]			= { -0.15, -0.05, -0.15, 0.0   },
    ["l11_pripyat"]			= { 0.1,   -0.05, -0.1,  -0.05 },
    ["l12_stancia"]			= { -0.1,  -0.05, -0.05, 0.1   }, 
    ["l12_stancia_2"]			= { -0.05, 0.0,   0.0,   0.0   },
    ["l13_deep"]			= { -0.2,  -0.25, -0.2,  0.15  },
    ["swamp"]			        = { -0.15, -0.1,  -0.2,  0.0   },
}

local function terrain_offset()
    if (ssfx_parallax_setup[level.name()]) then
        local setup = ssfx_parallax_setup[level.name()]
        cmd("ssfx_terrain_offset " .. string.format("%f, %f, %f, %f", setup[1], setup[2], setup[3], setup[4]))
    else
        cmd("ssfx_terrain_offset 0, 0, 0, 0")
    end
end

Если задать offset неправильно, глубина намокания будет или недостаточной или слишком сильной.
Конечно наверное можно взять какие нибудь текстуры из паков под ТЧ/ЗП с нормальными бампами и под них всё это настроить, но мне кажется с этим ещё больше возьни будет, чем с готовыми из Anomaly+SSS.
В целом возьни с этими настройками много, но результат стоит того:
image
image
image

  • Добавлен новый объёмный свет - Peak Volumetric shader by @LVutner
    Оптимальные настройки для любых источников света: volumetric_intensity 0.2, volumetric_distance 1.
    Можно аномалиям, у которых включен idle_light, прописать в конфиги:
idle_light_volumetric_enable             = true
idle_light_volumetric_intensity          = 0.25
idle_light_volumetric_distance           = 1

По умолчанию выключил r2_exp_far_no_shadows, чтоб волюметрики не исчезали с расстоянием.

  • Добавлена консольная команда r2_volumetric_lights_blur для включения блюра от SSS для волюметриков

  • Управление шейдерными макросами USE_ACES, SSFX_SHADOWS, SSFX_SSS перенесено в движок, теперь их можно переключать из консоли: ssfx_use_aces, ssfx_shadows_enable, ssfx_sss_enable.

  • Поправлено мельтяшение намокания под деревьями во время дождя в некоторых случаях

  • Добавлены недостающие в публичной версии движка скриптовые экспорты для работы модного скриптового компаса https://github.com/I-AmDead/Secret-Trails/blob/main/gamedata/scripts/jr_compass.script

  • Добавлен инвентарный звук разрядки оружия snd_unload_wpn.

  • Добавлены новые звуки для болта и гранат: snd_draw, snd_holster, snd_throw_start, snd_throw, snd_throw_end

  • Добавлена более точная настройка позиции броска гранаты/болта из позиции худовой кости руки. Пример настройки:

[wpn_bolt]
throw_point_bone = r_hand
throw_point = 0, 0, 0  ;(offset from r_hand)

Старые параметры throw_point / dir - предварительно не забудьте удалить из конфигов!

  • Добавлен S2-стайл быстрый бросок болта по ЛКМ. Чтобы включить, надо прописать в конфиг болта quick_throw_use = true.
    Так же добавлены звуки и анимации для быстрого броска болта:
    snd_quick_throw_start, snd_quick_throw, snd_quick_throw_end
    anm_throw_quick_begin, anm_throw_quick, anm_throw_quick_end
    и поддержка отдельного quick_throw_point (по умолчанию равен throw_point) и quick_throw_point_bone (по умолчанию равен throw_point_bone, может пригодиться для бросков болта с разных рук или чего то подобного)

  • Удалено чтение из худовой секции болтов/гранат параметров throw_point / dir - они не юзаются и не юзались ранее. throw_dir в секции мировой модели тоже не использовался.

  • Добавлена консольная команда g_throw_dbg для визуальной отладки позиций броска болтов/гранат

  • Добавлен скриптовый каллбек on_actor_boltthrow на бросок болта

  • Поправлены проблемы с тенью от актора от 1 лица

  • Множество мелких улучшений и изменений. Full Changelog: 3.490...3.501

3.490

02 Jan 08:29

Choose a tag to compare

  • Библиотека OpCoDe обновлена до версии 1.3.2

  • Множество улучшений в работе файловой системы SquashFS

  • Улучшения в работе звука, качество должно стать получше. Звук теперь воспроизводится в 32-битном формате WAVE_FORMAT_IEEE_FLOAT. Вкл/выкл можно консольной командой snd_enable_float_pcm (по умолчанию вкл.)

  • Улучшения в работе R_occlusion - убраны ожидания результатов запросов от лампочек, теперь запрос выполняется асинхронно столько сколько ему надо. Явное ожидание осталось только для запросов от smapvis, но тесты показывают что сам smapvis не влияет на fps, его в общем то можно выключить. Добавлена консольная команда r2_disable_smapvis для отключения smapvis. Хотя судя по статистике он вроде бы работает и что то отсекает.

  • Улучшена работа некоторых мьютексов с использованием std::shared_lock. Они лучше подходят для некоторых задач.

  • Исправлена проблема с тряской камеры, обнаруженная в прошлой версии.

  • Исправлена проблема что монстры в некоторых случаях могли помирать при спавне из за физических коллизий.

  • Множество мелких улучшений и изменений. Full Changelog: 3.471...3.490

3.478

30 Dec 10:25

Choose a tag to compare

3.471

29 Nov 14:44

Choose a tag to compare

Caution

UPD: В этом релизе обнаружена серьёзная проблема, не рекомендуем использовать его. Новая исправленная версия будет выпущена в последних числах декабря!

  • Добавлена поддержка множества форматов AI-сеток и больших level.hom для больших локаций.

  • OpenAL Soft обновлён до v1.24.3

  • Добавлена кастомизация цвета индикаторов типа radiation_static в maingame:

[warning_icon_color]
min = 255, 255, 105, 180 ;ARGB
max = 255, 0, 180, 255 ;ARGB
  • Добавлен метод SetLightAnim для статика через скрипты:
--например удобно можно подсветить взятые предметы в инвентаре, если там много лута
local o = level.object_by_id(id)
if o then
    local st = o:get_cell_item()
    if st then
         st:SetColor(GetARGB(200,255,255,255))
         st:SetLightAnim("ui_slow_blinking", true, true, false, true)
     end
end
  • Поддержка ЗП (стерео) формата эмбиента/музыки. ТЧ формат плох тем, что если произойдёт какой-то микрофриз, то один звук будет отставать от другого. Стерео формат у нас давно полноценно поддерживается, поэтому, почему нет?

  • COP-Style Scope Texture Support:
    Поддержка текстурных прицелов в ЗП стиле, когда scope_texture указывает на структуру в scopes.xml. Поддержка расширена в виде wpn_crosshair_fallback, который будет использоваться для всех прицелов, который не нашли в scopes.xml. Для конкретных прицелов fallback можно отключить через wpn_crosshair_fallback = false в секции прицела или оружия.
    Глобально включается в external.ltx: cop_style_scope_texture = true

  • Добавлена поддержка отдельных ui xml для ultra-wide мониторов. Если ultra-wide монитор, будут искаться _21.xml. Если не нашли, будут использоваться _16.xml, как раньше.

  • Добавлены параметры коллизий под старое оружие, теперь коллизия с препятствиями на нем снова работает.

  • Фикс опции busy_actor_restrictions - раньше её отключение работало не для всех ситуаций

  • Добавлена консольная команда level_env_mod_export для автораспаковки файлов level.env_mod в ltx.

  • Экспортированы в скрипты методы ini_file:append_section(sect_name) для добавления новой секции в файл, и ini_file:save_ini() для сохранения файла на диск.

  • Фикс цвета перекрестья на монстрах

  • Убраны тени на тёмном тексте

  • Исправлен рандомный вылет [CUIWeaponCellItem::scalar deleting destructor'()] + [86 byte(s)]

  • Фикс зависания гранатомётов с tri_state_reload = off

  • Исправлено зависание оружия если выстрелить из ПГ когда оружие заклинило.

  • Добавлено множество фиксов в рендер: исправлено пропадание намокания и проблемы с тенями в некоторых случаях.

Доработки переключения языка:

  • Переделано хранение имён персонажей: вместо самих переведённых имён мы будем хранить id имени и фамилии. В таком случае имена у персонажей будут правильно отображаться при смене языка.
  • Добавлена перезагрузка многих строк в UI, но пока для полной смены языка всё ещё требуется перезапуск игры. Надо придумать универсальное решение для перезагрузки всех текстов в UI.
  • Добавлено определение языка игры при первом запуске в зависимости от языка системы. Т.е. если у игрока винда на английском, то игра запустится тоже на английском языке, если такой имеется. После первого запуска, когда есть user.ltx, язык уже будет читаться оттуда, как и обычно. Чтобы работало корректно, языки должны быть наименованы в формате ISO-639-2 (первые три буквы из имени языка, например rus, eng). Наименования можно посмотреть >>здесь<<.
[string_table]
language = rus, eng

Множество более мелких фиксов и изменений. Full Changelog: 3.464...3.471

3.465

22 Oct 18:47

Choose a tag to compare

Исправлены ошибки, обнаруженные в предыдущей версии

Full Changelog: 3.461...3.464

3.460

07 Oct 10:45

Choose a tag to compare

  • Добавлено множество оптимизаций в рендер, FPS должен стать повыше.
  • В меню добавлены настройки для Motion blur , теперь он работает после фикса шейдеров by VOX93.
  • Исправлена загрузка теневой геометрии by @SkyLoaderr
  • Исправлен вылет подствольной гранаты во время анимаций начала/окончания спринта by @Manool-bot
  • Фикс необновления погоды в некоторых случаях by @Sn1ck-y
  • Фиксы необновления артиклей в некоторых случаях
  • DLSS SDK обновлено до версии 310.4.0
  • Вернули обратно метод getFS():file_rename, но теперь он находится в _g.script, а не в движке.
  • Добавлены улучшения для ImGui Hud Editor из Advanced X-Ray by @DanceManiac
  • Множество более мелких фиксов и изменений. Full Changelog: 3.448...3.461

3.458

04 Oct 11:00

Choose a tag to compare

3.448

06 Aug 11:55

Choose a tag to compare

В этой версии в основном исправлены ошибки, обнаруженные в предыдущей версии:

  • Фикс ошибки !sqfs_file_open(&file, path.c_str(), SQFS_FILE_OPEN_READ_ONLY), если путь к папке с игрой или сама папка содержит кириллицу.
  • Фикс подвисания партиклов аномалий в некоторых случаях
  • SSS23 LUT Fix for Nvidia RTX 50 cards
  • DLSS SDK обновлено до версии 310.3.0

3.444

07 Jul 10:21

Choose a tag to compare

Основное изменение в этом релизе: новый формат игровых архивов с использованием SquashFS.

sqfs43-win32\mksquashfs.exe gamedata gamedata.sq_01 -comp lz4 -Xhc
pause
$app_arch_root$         = true|   false|  $fs_root$		  | game_archs\

Warning

Если не запускается игра с ошибкой !sqfs_file_open(&file, path.c_str(), SQFS_FILE_OPEN_READ_ONLY), значит путь к папке с игрой или сама папка содержит кириллицу. Надо, чтобы в пути были только английские буквы, нормальный фикс будет в следующей версии.

  • Множество более мелких фиксов и изменений. Full Changelog: 3.431...3.444

3.441

04 Jul 19:51

Choose a tag to compare