Skip to content

Releases: OGSR/OGSR-Engine

3.529

Choose a tag to compare

@xrSimpAI xrSimpAI released this 14 Jun 15:54
  • Побеждена многолетняя проблема с солнцем на старых локациях!
    Эта проблема появилась более 10 лет назад, когда в X-Ray extensions (первом "кастомном" движке под ТЧ) появилась возможность включить правильные тени от солнца. OGSR - первый движок, в котором эта проблема наконец-то решена.
    Суть проблемы была в том, что солнце, когда находится низко по отношению к горизонту, светит сквозь землю в бункере Сидоровича, сквозь стены в Баре, сквозь холмы на Свалке и тд и тп.
    Нам удалось исправить это, поправив рендер теней. Теперь солнце светит правильно и правки локаций не требуются.
    Для управления добавлена консольная команда r_smap_2side (по умолчанию ВКЛ). Если вы используете современные локации, в которых нету проблем с солнцем - лучше выключить это.
    P.S. Если спустя время увидите это в других проектах без указания авторства - будете знать, откуда взяли!

  • ImGui обновлен до v1.92.9, вырезан старый код инпута

  • Доработки редактора погоды: добавлен редактор позиций солнца из sun_positions.ltx с сохранением и сбросом.

  • Настройка g_music_tracks больше не требует перезапуск игры

  • Клавиша Delete убирает биндинг в настройках клавиатуры

  • Вернули сет активного задания по приоритету (поведение как в ориг движке). Добавил отдельную опцию dont_switch_active_task_by_prio в секцию [features] для отключения.

  • Добавлен скриптовый метод ini:iterate_lines(section, function(id, value))

  • Full Changelog: 3.525...3.529

Свежие скриншоты из ShOC + свежий OGSR Engine + Atmospherics 2.69:
ss_admin_2026-06-07_14-19-53-(l05_bar)
ss_admin_2026-06-07_15-32-25-(l02_garbage)
ss_admin_2026-06-07_18-52-30-(l02_garbage)
ss_admin_2026-06-07_18-55-20-(l02_garbage)
ss_admin_2026-06-07_19-37-35-(l02_garbage)
ss_admin_2026-06-07_20-01-22-(l02_garbage)
ss_admin_2026-06-07_20-12-17-(l02_garbage)
ss_admin_2026-06-07_20-12-35-(l02_garbage)

3.526

Choose a tag to compare

@xrSimpAI xrSimpAI released this 26 May 17:46

ImGui обновлён до актуальной версии с Docking:

  • Переосмыслен UI редактора (Shift + F10) с использованием Docking:
ss_admin_2026-05-26_18-00-21-(l06_rostok) ss_admin_2026-05-26_18-02-38-(l06_rostok)
  • Убраны неиспользуемые настройки из редактора погоды; сделаны адекватные пределы регулирования far_plane, fog_distance - 1000 им более чем достаточно; убраны настройки солнца если используется sun_positions.ltx или включен dynamic_sun_movement.
  • Добавлен RT Debug
  • Реализован выбор тем в окне ImSettings
  • Заменен шрифт на тот что используется в OGSR:GA

Погода и рендер:

  • Собрал под актуальный двиг погодный пак Atmospherics 2.69 RC6.5 OGSR Edition. Крайне рекомендуем использовать именно его. Рандомный скрин с этой погодой из одного из модов в разработке:
ss_admin_2026-05-01_18-07-31-(l01_yantar)
  • Добавлен ключ запуска -prefetch_weather_textures, а то из-за того что текстуры неба в OGSR загружаются отложено, при замене погоды, чтоб увидеть в логе недостающую текстуру, надо было ждать когда соотв. погода применится. А так на первом запуске будет видно чего не хватает. Для -dev_reference_copy и -dev_gamedata_unused тоже активировал это.
  • Если есть sun_positions.ltx с позициями солнца, то будет использоваться он, независимо от того, включен ли где-либо dynamic_sun_movement.
  • Расширил границы регулирования консольки r_SunShafts_Radius, чтобы делать mrmnwar лучи поменьше (да да, тут чем больше значение - тем меньше радиус лучей)
  • Вернул шейдер volumetric лучей из SSS, он лучше работает с туманом.
  • Прочие мелкие фиксы шейдеров.
  • Подкорректировал дефолт настройки рендера

Обновление компонентов:

  • Библиотеки Xiph обновлены до актуальных версий
  • OpenAL Soft обновлён до v1.25.1
  • Mimalloc обновлён до v.3*
  • DiscordRPC заменён на кастомную версию с поддержкой кнопок со ссылками:
image

Остальные изменения:

  • Добавлена возможность менять музыку в меню из скрипта. Например в ui_main_menu.script как то так:
self.shniaga:SetMusic("music\\ogsm_music")
  • Показ инфы в demo_record теперь по клавише F1.
  • Внесено много исправлений в код для сборки на актуальном тулчейне VS2026 c включенным C++23
  • Возможно исправлены редкие вылеты в CUICarBodyWnd::MoveItems() и CUIAmmoCellItem::UpdateItemText()
  • Исправлена проблема с контактными гранатами ( #551 )
  • Full Changelog: 3.519...3.525

3.518

Choose a tag to compare

@xrSimpAI xrSimpAI released this 09 Apr 09:38

В этой версии очередные фиксы багов, которые нашли во время тестирования двига с прошлого релиза на новом патче для OGSR:GA. Вероятно патч будет выпущен до конца апреля.

Нашли баги с необновлением скелетов, партиклами, тенями.

Full Changelog: 3.516...3.519

3.515

3.515 Pre-release
Pre-release

Choose a tag to compare

@xrSimpAI xrSimpAI released this 01 Apr 10:37
efb3b8d

В этой версии исправлены мелкие баги которые обнаружили в прошлой версии 3.509.

  • Надо сказать игрокам чтоб удалили user.ltx, т.к. там r__tf_mipbias_smap надо поменять на ноль. В прошлой версии значение по умолчанию было сильно задрано, тени могли испортиться.
  • Так же исправлены всякие проблемы со светом заметные в редких случаях
  • Удалён файл shaders\models_sniperlenses.s, добавленный по ошибке. Из-за него могли возникнуть проблемы с прицелами на оружиях.

Full Changelog: 3.509...3.516

3.509

3.509 Pre-release
Pre-release

Choose a tag to compare

@xrSimpAI xrSimpAI released this 19 Mar 18:38

Note

UPD: релиз обновлён 22.03.2026. Удалён файл shaders\models_sniperlenses.s, добавленный по ошибке. Из-за него могли возникнуть проблемы с 3D прицелами.

Самое значимое изменение в этом релизе - оптимизации шейдеров и рендера. FPS повысился на ~25-30%

  • Оптимизации для шейдеров террейна (как выяснилось они были самые тяжелые здесь): отключены расчеты луж при сухой погоде, при дожде лужи рендерятся не далее 100 метров от игрока.

  • Настройка r_sslr_enable off переименована, теперь отключает все лужи полностью, на отражения в обычной воде не влияет, они много не хавают по сравнению с лужами.

  • Пресеты графических настроек и вообще дефолт настройки рендера настроены более оптимально.

  • Разделены размеры солнечных каскадов. Для дальних можно понижать разрешение, типа так

r__smap_cascade0_size 2048x2048
r__smap_cascade1_size 1536x1536
r__smap_cascade2_size 1024x1024
  • В rs_stats добавлен вывод статистики по каждому каскаду отдельно

  • Добавлена консольная команда r2_smap_low_lod - если включено, прогрессивные деревья будут рендериться на тенях максимально упрощённо. На вид теней вроде бы не очень влияет.

  • Отдельный размер smap для LP_smap_pool

  • Добавлена консольная команда ssfx_inter_branches, чтобы отключать отдельно от травы взаимодействие актора / нпс с кустами / ветками. По умолчанию - выкл.

  • Фикс проблем с 3dss прицелами на последнем STSoC Weapon Pack

  • Оптимизирован код работы с шейдерами Beefs NVG

  • Вырезан старый шейдер пнв и shader_param_grayscale

  • Упрощен шейдер травы - убрана поддержка бампов. Если у кого-то трава с бампами и вы понимаете, для чего они вам нужны, заменяйте шейдеры с папки _bumped_grass. Там оставлена версия шейдеров с поддержкой бампов

  • Добавлена консольная команда r_alphatest_threshold: можно немного подрегулировать "пышность" растительности (но без фанатизма, используйте это только если вы понимаете что делаете.) В некоторых случаях может быть полезно.

  • Улучшения для Peak Volumetric by LVutner

  • volumetric_blur от SSS теперь не нужен и поэтому вырезан

  • Добавлены консольные команды r_mt_rain/sun_draw, для экспериментов, чтобы было отключать не весь mt_sun/rain а только draw часть. Половину, так скажем.

  • Добавлена консольная команда ssfx_hud_raindrops on/off для отключения эффекта капель дождя на оружии

  • Для разработчиков: Настроен ASAN для Debug конфигурации. Для включения раскомментировать EnableASAN в OgsrBuildProps.props и полностью пересобрать двиг. Запускать двиг примерно так (пути к папке компилятора свои вписать конечно же):

set ASAN_OPTIONS=halt_on_error=0:continue_on_error=1:abort_on_error=0
set COE_LOG_FILE=ogsr_asan.log

set PATH=C:\Program Files\Microsoft Visual Studio\18\Community\VC\Tools\MSVC\14.50.35717\bin\HostX64\x64;%PATH%
set ASAN_SYMBOLIZER_PATH=C:\Program Files\Microsoft Visual Studio\18\Community\VC\Tools\MSVC\14.50.35717\bin\HostX64\x64\llvm-symbolizer.exe

start bin_x64_DBG_ASAN\xrEngine.exe

Так репорт запишется в ogsr_asan.log в папке с игрой.

  • В конфиг ПДА добавились настройки времени когда экран будет вкл/выкл после старта анимаций убирания/доставания пда
screen_on_delay                         = 0.7
screen_off_delay                         = 0.5
  • Фикс скриптового метода wnd:SetWndSize(x, y)

Full Changelog: 3.501...3.509

3.500

Choose a tag to compare

@xrSimpAI xrSimpAI released this 03 Feb 19:36
  • Теперь 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.
В целом возьни с этими настройками много, но результат стоит того:

ss_admin_2025-12-18_19-17-14-swamp
ss_admin_2025-12-29_18-33-20-l10_radar
ss_admin_2025-12-18_16-24-30-l12_stancia

  • Добавлен новый объёмный свет - 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, чтоб волюметрики не исчезали с расстоянием.

  • Управление шейдерными макросами 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

Choose a tag to compare

@xrSimpAI xrSimpAI released this 02 Jan 08:29
  • Библиотека 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

3.478 Pre-release
Pre-release

Choose a tag to compare

@xrSimpAI xrSimpAI released this 30 Dec 10:25

3.471

3.471 Pre-release
Pre-release

Choose a tag to compare

@xrSimpAI xrSimpAI released this 29 Nov 14:44

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

Choose a tag to compare

@xrSimpAI xrSimpAI released this 22 Oct 18:47

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

Full Changelog: 3.461...3.464