Skip to content

Releases: OGSR/OGSR-Engine

3.471

29 Nov 14:44

Choose a tag to compare

  • Добавлена поддержка множества форматов 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

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

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

  • Попытка исправить рандомные вылеты на загрузке, связанные с !!FAILED HW.get_context(0)->FinishCommandList!, но нужно больше тестирования.

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

  • Переделано хранение имён персонажей: вместо самих переведённых имён мы будем хранить 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

3.432

31 May 15:24

Choose a tag to compare

Системные требования:

  • GPU with support DXGI 1.5+
  • Windows 10 version 1803+

Основные изменения:

Note

Более подробно об упомянутых изменениях вы можете прочитать в обновлённом вики, ибо описывать здесь всё в подробностях смысла особого нет.

  • Реализованы асинхронные расчёты дождя r_mt_rain, солнца r_mt_sun, партиклов r_mt_particles и света r_mt_lights c использованием D3D11 Deferred Contexts.

  • Адаптированы Bloom, Grass improvements и Parallax из Screen Space Shaders 22.

  • PiP прицелы вырезаны и заменены на 3DSS (Касательно совместимости со старыми моделями, читайте в вики). >>Здесь<< примерный список изменений для перехода на новые прицелы.

  • Новый DoF при прицеливании для 3DSS:
    image

  • Добавлена поддержка шейдерных тепловизоров на базе аддона Heatvision со своими доработками.

  • Добавлена поддержка шейдерных ПНВ на базе аддона Beef's Shader Based NVGs со своими доработками.

  • Добавлены шейдерные флары на замену текстурным. Включаются командой r_lens_flare.

  • Вернули обратно поддержку луж из OGSE
    image

  • Добавлены новые настройки саншафтов ( комбинированные Volumetric + ScreenSpace )

  • Добавлена поддержка профилирования производительности движка и скриптов с помощью Tracy. Теперь для использования Tracy и Renderdoc создана отдельная версия движка - ReleaseTracyProfiler.

  • Добавлена поддержка ЗП-коллизии камеры ГГ. Для включения в консоли:

g_camera_collision on
g_camera_collision_cop_mode on
  • Добавлено чтение level.env_mod.ltx в текстовом виде

  • Добавлена поддержка кастомных шейдерных параметров без пересборки движка:

[shader_params_export]
grayscale

потом в самом шейдере всё как обычно:

uniform float4 grayscale;

и дальше как с обычной переменной в шейдере.
изменять значения можно и в скрипте:

local v = shader_get_custom_param_vector("grayscale")
v.x = 0.5
shader_set_custom_param_vector("grayscale", v)

или с консоли (для тестов например): grayscale 0.9, 0, 0, 0.

  • Экспортированы в скрипты функции для упрощённого спавна по координатам без lv, gv:
function get_lv_gv(level_name, pos)
    local lg, ct
    if level.name() == level_name then
        lg = level_graph()
        ct = cross_table()
    else
        lg = level_graph(level_name)
        ct = cross_table(level_name)
    end

    local lv = lg:vertex_id(pos)
    if not lg:valid_vertex_id(lv) then
        lv = lg:nearest_vertex_id(pos)
    end
    local gv = ct:vertex(lv):game_vertex_id()
    return lv, gv
end

function alife_create(section, level_name, pos)
    local lv, gv = get_lv_gv(level_name, pos)
    return alife():create(section, pos, lv, gv)
end

function spawn_fab_trup()
    local sobj = alife_create("fab_trup", "l13_deep", vector():set(-246.05, 10.54, 225.39))
    level_tasks.add_location_by_id(sobj.id, "crlc_big", game.translate_string("metka_fab"))
    alife():assign_story_id(sobj.id, story_ids.fab_trup)
    sobj:set_health(0)
end
  • Добавлена поддержка cam_effector в постпроцессе аномалий.
  • Исправлена гравитация у гравианомалий. Чаще всего из-за неё артефакты находились всё время в воздухе вплоть до момента, пока не активируешь аномалию.
  • Добавлена поддержка always_fast_mode = true в конфиге аномалии. Для аномалий, которым надо получать быстрые апдейты независимо от расстояния до актора.
  • Добавлены запреты некоторых действий, когда актор что-то делает с оружием в руках (перезарядка, доставание/убирание и тп). Включается в external.ltx: busy_actor_restrictions = true.
  • Экспорт функции на нажатие клавиши:
local is_key_press = key_state(DIK_keys.DIK_NUMPAD1) == 1
  • Добавлена консольная команда hud_info_overhead для отображения информации о НПС над ними.
  • Добавлена консольная команда r_back_buffer_count специально для тех, кто понимает, что это такое.
  • Добавлена консольная команда g_actor_shadow для включения тени от ГГ (переделано).
  • Добавлена поддержка отмены заданий, как в ЗП:
    • Для xml тасков добавились : infoportion_skipped, infoportion_set_skipped, function_skipped, function_call_skipped.
    • Для xml ui тасков добавились цвет task_sub_item:description:text_colors:skiped и текстура ui_icons_PDA_subtask_skiped.
    • Для скриптов добавились методы для класса SGameTaskObjective: add_skipped_info, add_on_skipped_info, add_skipped_func, add_on_skipped_func и новый ETaskState: skipped.
    • ПОСЛЕ ЭТОГО КОММИТА СЕЙВЫ СДЕЛАННЫЕ НА ЭТОЙ ВЕРСИИ ДВИЖКА И БОЛЕЕ НОВЫХ, НЕ БУДУТ ГРУЗИТЬСЯ НА СТАРЫХ ВЕРСИЯХ ДВИЖКА!
  • Добавлен метод sobj:set_name("name")
  • Для ini была добавлена возможность чтения и записи Hex-флагов: (r/w)_u(8/16/32)_hex.
  • Добавлена поддержка перезаписи userdata и анимаций моделей через конфиги.
  • Добавлена возможность указывать дополнительные имена для костей моделей через конфиги (для совместимости).
  • Починены и экспортированы в скрипты классы IReader и IWriter, которые используются для чтения и записи бинарных файлов.
  • Исправлено дублирование UI в 3D PDA.
  • Исправлено проигрывание ночного эмбиента.
  • Поправлена работа звуков шагов НПС

1.oct.2024

02 Oct 09:59
6ae9226

Choose a tag to compare

1.oct.2024 Pre-release
Pre-release

Caution

UPD: 06.11.2024 в этот релиз добавлена более свежая версия движка, исправлена проблема #490

Что сделано на данный момент:

  • Из движка полностью вырезано сглаживание MSAA.
  • Новые виды сглаживания:
    • TAA
    • AMD NativeAA на базе AMD FSR
    • Nvidia DLAA на базе Nvidia DLSS
  • Добавлен Contrast Adaptive Sharpening
  • Добавлен патченый скрипт погодного менеджера под оригинальную погоду из ТЧ, чтобы на ней работал ветер и саншафты без правок самой погоды. Скриншот с этой версии движка + Wooden Addon:
    ss_admin_10-02-24_12-38-21_(l01_escape)
  • Добавлена поддержка блокировки клавиш из скриптов:
level.block_action(key_bindings.kTORCH)
level.unblock_action(key_bindings.kTORCH)
  • Добавлены звуки включения / выключения для фонарика:
[device_torch]:identity_immunities
snd_turn_on   = weapons\device_torch\snd_switch_on
snd_turn_off  = weapons\device_torch\snd_switch_off
  • Добавлена возможность привязать свет фонарика к камере:
[device_torch]:identity_immunities
; светить из камеры, а не из фонарика на голове актора
bind_to_camera = true

; смещение источников света фонарика
; эти параметры используется только при включенном bind_to_camera и только для актора с видом от первого лица.
camera_torch_offset = 0, 0.1, 0.2
camera_omni_offset  = 0, 0.1, 0.4

; Минимальное расстояние до препятствия, когда свет фонарика начнёт смещаться назад, сохраняя это расстояние. Нужно что бы препятствие было равномерно освещено. Значение по умолчанию - 0.5
camera_min_target_dist = 0.5
  • Поддержка звуков для talk.xml:
  <action_sounds>
    <snd_open>interface\inv_open2</snd_open>
    <snd_close>interface\inv_open2</snd_close>
    <snd_say>interface\inv_page2</snd_say>
  </action_sounds>
  • Поддержка звуков для carbody_new.xml:
 <action_sounds>
  <snd_open>interface\inv_open</snd_open>
  <snd_close>interface\inv_close</snd_close>
  <snd_properties>interface\inv_properties</snd_properties>
  <snd_drop_item>interface\inv_drop</snd_drop_item>
  <snd_detach_addon>interface\inv_detach_addon</snd_detach_addon>
  <snd_item_use>interface\inv_slot</snd_item_use>
 </action_sounds>
  • Добавлена поддержка переключения языка консольной командой g_language. Можно добавить настройку в меню и переключать язык до загрузки уровня. Переключение действует только на тексты. Шрифты, звуки и тп - не меняются. Языки указываются тут:
[string_table]
language = rus, ukr, eng
  • Расширение экспорта в скрипты:
local dir = device().cam_dir
local up, right = vector(), vector()
dir:generate_orthonormal_basis(up, right)
dir:generate_orthonormal_basis_normalized(up, right)

-- методы типа db.actor:move_to_belt будут возвращать результат, удалось ли переместить предмет, пример:
if not db.actor:move_to_belt(obj) then
  for i = 0, db.actor:belt_count() - 1 do
    local item = db.actor:item_on_belt( i )
    db.actor:move_to_ruck(item)
    db.actor:move_to_belt(obj)
    return
  end
end
  • Запрет перезарядки во время бега теперь управляется консольной командой g_lock_reload
  • Добавлена плавная смена гранат
  • Добавлены запреты некоторых действий когда актор что то делает с оружием в руках (перезарядка, доставание/убирание и тп)
  • Запрещено выкидывать из рук квестовые предметы.

2.1.421

09 Jul 07:32

Choose a tag to compare